mirror of
https://github.com/pret/pmd-red.git
synced 2026-04-24 23:17:03 -05:00
sub_805363C and sprite oam memes again urgh
This commit is contained in:
parent
e69cf646c8
commit
38af7bc8aa
|
|
@ -6,335 +6,6 @@
|
|||
.text
|
||||
|
||||
|
||||
thumb_func_start sub_80533A4
|
||||
sub_80533A4:
|
||||
push {r4-r7,lr}
|
||||
mov r7, r8
|
||||
push {r7}
|
||||
sub sp, 0x4
|
||||
ldr r5, _08053428
|
||||
ldr r0, [r5]
|
||||
movs r1, 0x16
|
||||
ldrsh r4, [r0, r1]
|
||||
movs r6, 0x10
|
||||
subs r4, 0x8
|
||||
cmp r4, 0
|
||||
bge _080533BE
|
||||
adds r4, 0x14
|
||||
_080533BE:
|
||||
movs r0, 0
|
||||
bl sub_80073B8
|
||||
mov r8, r5
|
||||
movs r7, 0x7
|
||||
_080533C8:
|
||||
lsls r0, r4, 6
|
||||
ldr r2, _0805342C
|
||||
adds r0, r2
|
||||
mov r2, r8
|
||||
ldr r1, [r2]
|
||||
adds r5, r1, r0
|
||||
ldrb r0, [r5]
|
||||
cmp r0, 0
|
||||
beq _08053402
|
||||
ldrb r0, [r5, 0x1]
|
||||
cmp r0, 0
|
||||
beq _080533F0
|
||||
movs r0, 0x7
|
||||
str r0, [sp]
|
||||
movs r0, 0
|
||||
movs r1, 0
|
||||
adds r2, r6, 0
|
||||
movs r3, 0xE0
|
||||
bl sub_80078A4
|
||||
_080533F0:
|
||||
adds r1, r6, 0x3
|
||||
adds r2, r5, 0x3
|
||||
movs r0, 0xD
|
||||
str r0, [sp]
|
||||
movs r0, 0x8
|
||||
movs r3, 0
|
||||
bl PrintStringOnWindow
|
||||
adds r6, 0xE
|
||||
_08053402:
|
||||
adds r4, 0x1
|
||||
cmp r4, 0x13
|
||||
ble _0805340A
|
||||
movs r4, 0
|
||||
_0805340A:
|
||||
subs r7, 0x1
|
||||
cmp r7, 0
|
||||
bge _080533C8
|
||||
movs r0, 0
|
||||
bl sub_80073E0
|
||||
movs r0, 0
|
||||
bl sub_8007334
|
||||
add sp, 0x4
|
||||
pop {r3}
|
||||
mov r8, r3
|
||||
pop {r4-r7}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_08053428: .4byte gDungeon
|
||||
_0805342C: .4byte 0x0001c070
|
||||
thumb_func_end sub_80533A4
|
||||
|
||||
thumb_func_start sub_8053430
|
||||
sub_8053430:
|
||||
push {r4-r6,lr}
|
||||
sub sp, 0x4
|
||||
adds r5, r0, 0
|
||||
ldr r3, _08053454
|
||||
ldr r0, [r3]
|
||||
movs r2, 0x16
|
||||
ldrsh r1, [r0, r2]
|
||||
ldr r2, _08053458
|
||||
ldr r0, [r2]
|
||||
adds r1, r0
|
||||
movs r6, 0x2
|
||||
subs r1, 0x9
|
||||
cmp r1, 0
|
||||
bge _0805345E
|
||||
_0805344C:
|
||||
adds r1, 0x14
|
||||
cmp r1, 0
|
||||
blt _0805344C
|
||||
b _0805345E
|
||||
.align 2, 0
|
||||
_08053454: .4byte gDungeon
|
||||
_08053458: .4byte gUnknown_202F1F8
|
||||
_0805345C:
|
||||
subs r1, 0x14
|
||||
_0805345E:
|
||||
cmp r1, 0x13
|
||||
bgt _0805345C
|
||||
ldr r0, [r3]
|
||||
lsls r1, 6
|
||||
adds r0, r1
|
||||
ldr r3, _0805349C
|
||||
adds r0, r3
|
||||
ldrb r0, [r0]
|
||||
adds r4, r1, 0
|
||||
cmp r0, 0
|
||||
beq _08053498
|
||||
ldr r1, [r2]
|
||||
movs r0, 0xC
|
||||
negs r0, r0
|
||||
cmp r1, r0
|
||||
ble _08053498
|
||||
ldr r2, _080534A0
|
||||
ldrb r0, [r2]
|
||||
movs r1, 0x1
|
||||
orrs r0, r1
|
||||
strb r0, [r2]
|
||||
ldr r0, _080534A4
|
||||
ldrh r1, [r0, 0x4]
|
||||
movs r0, 0x40
|
||||
ands r0, r1
|
||||
cmp r0, 0
|
||||
bne _080534A8
|
||||
cmp r5, 0x1
|
||||
beq _080534A8
|
||||
_08053498:
|
||||
movs r0, 0
|
||||
b _08053528
|
||||
.align 2, 0
|
||||
_0805349C: .4byte 0x0001c070
|
||||
_080534A0: .4byte gUnknown_202F1FC
|
||||
_080534A4: .4byte gRealInputs
|
||||
_080534A8:
|
||||
movs r0, 0
|
||||
bl sub_8083CE0
|
||||
movs r0, 0
|
||||
bl sub_80073B8
|
||||
ldr r0, _08053530
|
||||
ldr r2, _08053534
|
||||
adds r1, r4, r2
|
||||
ldr r0, [r0]
|
||||
adds r4, r0, r1
|
||||
ldrb r0, [r4]
|
||||
cmp r0, 0
|
||||
beq _080534FA
|
||||
movs r0, 0x10
|
||||
str r0, [sp]
|
||||
movs r0, 0
|
||||
movs r1, 0
|
||||
movs r2, 0
|
||||
movs r3, 0xD0
|
||||
bl sub_80087EC
|
||||
ldrb r0, [r4, 0x1]
|
||||
cmp r0, 0
|
||||
beq _080534EA
|
||||
movs r0, 0x7
|
||||
str r0, [sp]
|
||||
movs r0, 0
|
||||
movs r1, 0
|
||||
adds r2, r6, 0
|
||||
movs r3, 0xE0
|
||||
bl sub_80078A4
|
||||
_080534EA:
|
||||
adds r1, r6, 0x3
|
||||
adds r2, r4, 0x3
|
||||
movs r0, 0xD
|
||||
str r0, [sp]
|
||||
movs r0, 0x8
|
||||
movs r3, 0
|
||||
bl PrintStringOnWindow
|
||||
_080534FA:
|
||||
movs r0, 0
|
||||
bl sub_80073E0
|
||||
movs r0, 0xD
|
||||
bl sub_803E46C
|
||||
ldr r5, _08053538
|
||||
movs r4, 0x6
|
||||
_0805350A:
|
||||
ldr r1, [r5]
|
||||
movs r0, 0
|
||||
bl _call_via_r1
|
||||
movs r0, 0xD
|
||||
bl sub_803E46C
|
||||
subs r4, 0x1
|
||||
cmp r4, 0
|
||||
bge _0805350A
|
||||
ldr r1, _0805353C
|
||||
ldr r0, [r1]
|
||||
subs r0, 0x1
|
||||
str r0, [r1]
|
||||
movs r0, 0x1
|
||||
_08053528:
|
||||
add sp, 0x4
|
||||
pop {r4-r6}
|
||||
pop {r1}
|
||||
bx r1
|
||||
.align 2, 0
|
||||
_08053530: .4byte gDungeon
|
||||
_08053534: .4byte 0x0001c070
|
||||
_08053538: .4byte gUnknown_203B084
|
||||
_0805353C: .4byte gUnknown_202F1F8
|
||||
thumb_func_end sub_8053430
|
||||
|
||||
thumb_func_start sub_8053540
|
||||
sub_8053540:
|
||||
push {r4,r5,lr}
|
||||
sub sp, 0x4
|
||||
adds r3, r0, 0
|
||||
ldr r0, _08053564
|
||||
ldr r0, [r0]
|
||||
movs r1, 0x16
|
||||
ldrsh r2, [r0, r1]
|
||||
ldr r1, _08053568
|
||||
ldr r0, [r1]
|
||||
adds r4, r2, r0
|
||||
movs r5, 0x80
|
||||
cmp r4, 0
|
||||
bge _0805356E
|
||||
_0805355A:
|
||||
adds r4, 0x14
|
||||
cmp r4, 0
|
||||
blt _0805355A
|
||||
b _0805356E
|
||||
.align 2, 0
|
||||
_08053564: .4byte gDungeon
|
||||
_08053568: .4byte gUnknown_202F1F8
|
||||
_0805356C:
|
||||
subs r4, 0x14
|
||||
_0805356E:
|
||||
cmp r4, 0x13
|
||||
bgt _0805356C
|
||||
ldr r0, [r1]
|
||||
cmp r0, 0
|
||||
bge _08053592
|
||||
ldr r2, _08053598
|
||||
ldrb r0, [r2]
|
||||
movs r1, 0x2
|
||||
orrs r0, r1
|
||||
strb r0, [r2]
|
||||
ldr r0, _0805359C
|
||||
ldrh r1, [r0, 0x4]
|
||||
movs r0, 0x80
|
||||
ands r0, r1
|
||||
cmp r0, 0
|
||||
bne _080535A0
|
||||
cmp r3, 0x2
|
||||
beq _080535A0
|
||||
_08053592:
|
||||
movs r0, 0
|
||||
b _08053622
|
||||
.align 2, 0
|
||||
_08053598: .4byte gUnknown_202F1FC
|
||||
_0805359C: .4byte gRealInputs
|
||||
_080535A0:
|
||||
movs r0, 0
|
||||
bl sub_8083CE0
|
||||
movs r0, 0
|
||||
bl sub_80073B8
|
||||
ldr r1, _0805362C
|
||||
lsls r0, r4, 6
|
||||
ldr r2, _08053630
|
||||
adds r0, r2
|
||||
ldr r1, [r1]
|
||||
adds r4, r1, r0
|
||||
ldrb r0, [r4]
|
||||
cmp r0, 0
|
||||
beq _080535F4
|
||||
movs r0, 0x10
|
||||
str r0, [sp]
|
||||
movs r0, 0
|
||||
movs r1, 0
|
||||
adds r2, r5, 0
|
||||
movs r3, 0x68
|
||||
bl sub_80087EC
|
||||
ldrb r0, [r4, 0x1]
|
||||
cmp r0, 0
|
||||
beq _080535E4
|
||||
movs r0, 0x7
|
||||
str r0, [sp]
|
||||
movs r0, 0
|
||||
movs r1, 0
|
||||
adds r2, r5, 0
|
||||
movs r3, 0xE0
|
||||
bl sub_80078A4
|
||||
_080535E4:
|
||||
adds r1, r5, 0x3
|
||||
adds r2, r4, 0x3
|
||||
movs r0, 0xD
|
||||
str r0, [sp]
|
||||
movs r0, 0x8
|
||||
movs r3, 0
|
||||
bl PrintStringOnWindow
|
||||
_080535F4:
|
||||
movs r0, 0
|
||||
bl sub_80073E0
|
||||
movs r0, 0xD
|
||||
bl sub_803E46C
|
||||
ldr r5, _08053634
|
||||
movs r4, 0x6
|
||||
_08053604:
|
||||
ldr r1, [r5]
|
||||
movs r0, 0
|
||||
bl _call_via_r1
|
||||
movs r0, 0xD
|
||||
bl sub_803E46C
|
||||
subs r4, 0x1
|
||||
cmp r4, 0
|
||||
bge _08053604
|
||||
ldr r1, _08053638
|
||||
ldr r0, [r1]
|
||||
adds r0, 0x1
|
||||
str r0, [r1]
|
||||
movs r0, 0x1
|
||||
_08053622:
|
||||
add sp, 0x4
|
||||
pop {r4,r5}
|
||||
pop {r1}
|
||||
bx r1
|
||||
.align 2, 0
|
||||
_0805362C: .4byte gDungeon
|
||||
_08053630: .4byte 0x0001c070
|
||||
_08053634: .4byte gUnknown_203B080
|
||||
_08053638: .4byte gUnknown_202F1F8
|
||||
thumb_func_end sub_8053540
|
||||
|
||||
thumb_func_start sub_805363C
|
||||
sub_805363C:
|
||||
push {r4-r7,lr}
|
||||
|
|
|
|||
|
|
@ -707,6 +707,7 @@ extern SpriteOAM gUnknown_202F1F0;
|
|||
|
||||
extern u8 gFontPalette[];
|
||||
|
||||
// Used only for displaying Frosy Forest's text at floor 6
|
||||
void sub_8052FB8(const u8 *str)
|
||||
{
|
||||
s32 r8 = 0, r9, j;
|
||||
|
|
@ -851,6 +852,7 @@ extern bool8 sub_8008D8C(u32 strId);
|
|||
extern u32 sub_8014140(s32 a0, const void *a1);
|
||||
extern void sub_8083D30(void);
|
||||
extern void sub_8083D08(void);
|
||||
extern void sub_8007334(s32 a0);
|
||||
|
||||
extern s32 gUnknown_202F1F8;
|
||||
extern u8 gUnknown_202F1FC;
|
||||
|
|
@ -917,3 +919,175 @@ bool32 sub_80532B4(void)
|
|||
sub_803EAF0(0, 0);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
void sub_80533A4(void)
|
||||
{
|
||||
s32 i;
|
||||
s32 arrId = gDungeon->unk16;
|
||||
s32 y = 16;
|
||||
|
||||
arrId -= 8;
|
||||
if (arrId < 0)
|
||||
arrId += UNK_1C070_ARR_COUNT;
|
||||
|
||||
sub_80073B8(0);
|
||||
for (i = 0; i < 8; i++) {
|
||||
struct UnkDungeonStruct1C070 *strPtr = &gDungeon->unk1C070[arrId];
|
||||
|
||||
if (strPtr->unk0) {
|
||||
if (strPtr->unk1) {
|
||||
sub_80078A4(0, 0, y, 0xE0, 7);
|
||||
}
|
||||
PrintStringOnWindow(8, y + 3, strPtr->unk3, 0, 0xD);
|
||||
y += 14;
|
||||
}
|
||||
if (++arrId >= UNK_1C070_ARR_COUNT)
|
||||
arrId = 0;
|
||||
}
|
||||
|
||||
sub_80073E0(0);
|
||||
sub_8007334(0);
|
||||
}
|
||||
|
||||
extern void sub_80087EC(s32 a0, s32 a1, s32 a2, s32 a3, s32 a4);
|
||||
extern void (*gUnknown_203B084)(s32 a0);
|
||||
extern void (*gUnknown_203B080)(s32 a0);
|
||||
extern void sub_8083CE0(u8 param_1);
|
||||
|
||||
bool8 sub_8053430(s32 a0)
|
||||
{
|
||||
s32 i;
|
||||
struct UnkDungeonStruct1C070 *strPtr;
|
||||
s32 y;
|
||||
s32 arrId;
|
||||
|
||||
while (1)
|
||||
{
|
||||
arrId = gDungeon->unk16 + gUnknown_202F1F8;
|
||||
y = 2;
|
||||
arrId -= 9;
|
||||
while (arrId < 0) {
|
||||
arrId += UNK_1C070_ARR_COUNT;
|
||||
}
|
||||
while (arrId >= UNK_1C070_ARR_COUNT) {
|
||||
arrId -= UNK_1C070_ARR_COUNT;
|
||||
}
|
||||
|
||||
if (gDungeon->unk1C070[arrId].unk0 && gUnknown_202F1F8 > -12) {
|
||||
gUnknown_202F1FC |= 1;
|
||||
if (gRealInputs.repeated & DPAD_UP)
|
||||
break;
|
||||
if (a0 == 1)
|
||||
break;
|
||||
}
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
sub_8083CE0(0);
|
||||
sub_80073B8(0);
|
||||
strPtr = &gDungeon->unk1C070[arrId];
|
||||
if (strPtr->unk0) {
|
||||
sub_80087EC(0, 0, 0, 0xD0, 0x10);
|
||||
if (strPtr->unk1) {
|
||||
sub_80078A4(0, 0, y, 0xE0, 7);
|
||||
}
|
||||
PrintStringOnWindow(8, y + 3, strPtr->unk3, 0, 0xD);
|
||||
}
|
||||
sub_80073E0(0);
|
||||
sub_803E46C(0xD);
|
||||
|
||||
for (i = 0; i < 7; i++) {
|
||||
gUnknown_203B084(0);
|
||||
sub_803E46C(0xD);
|
||||
}
|
||||
|
||||
gUnknown_202F1F8--;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
bool8 sub_8053540(s32 a0)
|
||||
{
|
||||
s32 i;
|
||||
struct UnkDungeonStruct1C070 *strPtr;
|
||||
s32 y;
|
||||
s32 arrId;
|
||||
|
||||
while (1)
|
||||
{
|
||||
arrId = gDungeon->unk16 + gUnknown_202F1F8;
|
||||
y = 128;
|
||||
while (arrId < 0) {
|
||||
arrId += UNK_1C070_ARR_COUNT;
|
||||
}
|
||||
while (arrId >= UNK_1C070_ARR_COUNT) {
|
||||
arrId -= UNK_1C070_ARR_COUNT;
|
||||
}
|
||||
|
||||
if (gUnknown_202F1F8 < 0) {
|
||||
gUnknown_202F1FC |= 2;
|
||||
if (gRealInputs.repeated & DPAD_DOWN)
|
||||
break;
|
||||
if (a0 == 2)
|
||||
break;
|
||||
}
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
sub_8083CE0(0);
|
||||
sub_80073B8(0);
|
||||
strPtr = &gDungeon->unk1C070[arrId];
|
||||
if (strPtr->unk0) {
|
||||
sub_80087EC(0, 0, y, 0x68, 0x10);
|
||||
if (strPtr->unk1) {
|
||||
sub_80078A4(0, 0, y, 0xE0, 7);
|
||||
}
|
||||
PrintStringOnWindow(8, y + 3, strPtr->unk3, 0, 0xD);
|
||||
}
|
||||
sub_80073E0(0);
|
||||
sub_803E46C(0xD);
|
||||
|
||||
for (i = 0; i < 7; i++) {
|
||||
gUnknown_203B080(0);
|
||||
sub_803E46C(0xD);
|
||||
}
|
||||
|
||||
gUnknown_202F1F8++;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
extern s16 gUnknown_2027370[];
|
||||
|
||||
/*
|
||||
void sub_805363C(u8 a0, s32 a1)
|
||||
{
|
||||
s16 *unkArr = gUnknown_2027370;
|
||||
if (gUnknown_202EDCC & 8) {
|
||||
u32 shape, size, xSprite;
|
||||
|
||||
gUnknown_202F1F0.attrib1 &= ~SPRITEOAM_MASK_AFFINEMODE1;
|
||||
gUnknown_202F1F0.attrib1 &= ~SPRITEOAM_MASK_AFFINEMODE2;
|
||||
gUnknown_202F1F0.attrib1 &= ~SPRITEOAM_MASK_OBJMODE;
|
||||
gUnknown_202F1F0.attrib1 &= ~SPRITEOAM_MASK_MOSAIC;
|
||||
gUnknown_202F1F0.attrib1 &= ~SPRITEOAM_MASK_BPP;
|
||||
|
||||
gUnknown_202F1F0.attrib1 &= ~SPRITEOAM_MASK_SHAPE;
|
||||
shape = (a0 == 1) ? 2 : 0;
|
||||
shape <<= SPRITEOAM_SHIFT_SHAPE;
|
||||
gUnknown_202F1F0.attrib1 |= shape;
|
||||
|
||||
gUnknown_202F1F0.attrib2 &= ~SPRITEOAM_MASK_MATRIXNUM;
|
||||
|
||||
xSprite = (unkArr[0] * 8) + 92;
|
||||
gUnknown_202F1F0.attrib2 &= ~SPRITEOAM_MASK_X;
|
||||
gUnknown_202F1F0.attrib2 |= xSprite;
|
||||
|
||||
size = 2 << SPRITEOAM_SHIFT_SIZE;
|
||||
gUnknown_202F1F0.attrib2 &= ~SPRITEOAM_MASK_SIZE;
|
||||
gUnknown_202F1F0.attrib2 |= size;
|
||||
|
||||
gUnknown_202F1F0.attrib3 = 0xF3F0;
|
||||
|
||||
AddSprite(&gUnknown_202F1F0, 127, NULL, NULL);
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user