mirror of
https://github.com/pret/pmd-red.git
synced 2026-04-25 15:46:18 -05:00
more decomping
This commit is contained in:
parent
fdc874029e
commit
93ed788787
|
|
@ -5,41 +5,6 @@
|
|||
|
||||
.text
|
||||
|
||||
thumb_func_start sub_8012A64
|
||||
sub_8012A64:
|
||||
push {r4,lr}
|
||||
adds r4, r0, 0
|
||||
cmp r4, 0
|
||||
beq _08012A94
|
||||
movs r0, 0x1
|
||||
negs r0, r0
|
||||
cmp r1, r0
|
||||
beq _08012A7A
|
||||
adds r0, r4, 0
|
||||
bl nullsub_34
|
||||
_08012A7A:
|
||||
ldrb r1, [r4, 0x1]
|
||||
cmp r1, 0
|
||||
beq _08012A88
|
||||
movs r0, 0
|
||||
strb r0, [r4, 0x1]
|
||||
movs r0, 0x1
|
||||
b _08012A98
|
||||
_08012A88:
|
||||
ldrb r0, [r4, 0x2]
|
||||
cmp r0, 0
|
||||
beq _08012A94
|
||||
strb r1, [r4, 0x2]
|
||||
movs r0, 0x2
|
||||
b _08012A98
|
||||
_08012A94:
|
||||
bl sub_8012AE8
|
||||
_08012A98:
|
||||
pop {r4}
|
||||
pop {r1}
|
||||
bx r1
|
||||
thumb_func_end sub_8012A64
|
||||
|
||||
thumb_func_start GetKeyPress
|
||||
GetKeyPress:
|
||||
push {lr}
|
||||
|
|
|
|||
|
|
@ -5,101 +5,6 @@
|
|||
|
||||
.text
|
||||
|
||||
@ thumb_func_start sub_8092334
|
||||
@sub_8092334:
|
||||
@ lsls r0, 24
|
||||
@ ldr r1, _08092340
|
||||
@ lsrs r0, 22
|
||||
@ adds r0, r1
|
||||
@ ldr r0, [r0]
|
||||
@ bx lr
|
||||
@ .align 2, 0
|
||||
@_08092340: .4byte gUnknown_810AD4C
|
||||
@ thumb_func_end sub_8092334
|
||||
|
||||
@ thumb_func_start sub_8092344
|
||||
@sub_8092344:
|
||||
@ lsls r0, 24
|
||||
@ ldr r1, _08092350
|
||||
@ lsrs r0, 22
|
||||
@ adds r0, r1
|
||||
@ ldr r0, [r0]
|
||||
@ bx lr
|
||||
@ .align 2, 0
|
||||
@_08092350: .4byte gUnknown_810AE24
|
||||
@ thumb_func_end sub_8092344
|
||||
|
||||
@ thumb_func_start sub_8092354
|
||||
@sub_8092354:
|
||||
@ lsls r0, 24
|
||||
@ lsrs r0, 24
|
||||
@ ldr r1, _08092360
|
||||
@ adds r0, r1
|
||||
@ ldrb r0, [r0]
|
||||
@ bx lr
|
||||
@ .align 2, 0
|
||||
@_08092360: .4byte gUnknown_810AC7C
|
||||
@ thumb_func_end sub_8092354
|
||||
|
||||
@ thumb_func_start sub_8092364
|
||||
@sub_8092364:
|
||||
@ lsls r0, 24
|
||||
@ lsrs r0, 24
|
||||
@ ldr r1, _08092370
|
||||
@ adds r0, r1
|
||||
@ ldrb r0, [r0]
|
||||
@ bx lr
|
||||
@ .align 2, 0
|
||||
@_08092370: .4byte gUnknown_810AC6A
|
||||
@ thumb_func_end sub_8092364
|
||||
|
||||
thumb_func_start sub_8092374
|
||||
sub_8092374:
|
||||
push {lr}
|
||||
lsls r1, 24
|
||||
ldr r2, _0809238C
|
||||
lsrs r1, 22
|
||||
adds r1, r2
|
||||
ldr r1, [r1]
|
||||
movs r2, 0x50
|
||||
bl strncpy
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_0809238C: .4byte gUnknown_810B4C8
|
||||
thumb_func_end sub_8092374
|
||||
|
||||
thumb_func_start sub_8092390
|
||||
sub_8092390:
|
||||
lsls r0, 24
|
||||
ldr r1, _0809239C
|
||||
lsrs r0, 22
|
||||
adds r0, r1
|
||||
ldr r0, [r0]
|
||||
bx lr
|
||||
.align 2, 0
|
||||
_0809239C: .4byte gUnknown_810B988
|
||||
thumb_func_end sub_8092390
|
||||
|
||||
thumb_func_start sub_80923A0
|
||||
sub_80923A0:
|
||||
ldr r1, _080923A8
|
||||
ldr r0, _080923AC
|
||||
str r0, [r1]
|
||||
bx lr
|
||||
.align 2, 0
|
||||
_080923A8: .4byte gUnknown_203B468
|
||||
_080923AC: .4byte gUnknown_2038C28
|
||||
thumb_func_end sub_80923A0
|
||||
|
||||
thumb_func_start sub_80923B0
|
||||
sub_80923B0:
|
||||
ldr r0, _080923B4
|
||||
bx lr
|
||||
.align 2, 0
|
||||
_080923B4: .4byte gUnknown_2038C28
|
||||
thumb_func_end sub_80923B0
|
||||
|
||||
thumb_func_start sub_80923B8
|
||||
sub_80923B8:
|
||||
push {lr}
|
||||
|
|
|
|||
|
|
@ -4,6 +4,10 @@ extern u32 gUnformattedTypeStrings[]; // unformatted type names
|
|||
extern u32 gFormattedTypeStrings[]; // formatted type names
|
||||
extern u8 gUnknown_810AC7C[];
|
||||
extern u8 gUnknown_810AC6A[];
|
||||
extern u8 *gUnknown_810B4C8[];
|
||||
extern u8 *gUnknown_810B988[];
|
||||
extern u32 gUnknown_2038C28;
|
||||
extern u32 *gUnknown_203B468;
|
||||
|
||||
u32 GetUnformattedTypeString(u8 type)
|
||||
{
|
||||
|
|
@ -24,3 +28,23 @@ u8 sub_8092364(u8 r0)
|
|||
{
|
||||
return gUnknown_810AC6A[r0];
|
||||
}
|
||||
|
||||
void sub_8092374(char *r0, u8 r1)
|
||||
{
|
||||
strncpy(r0, gUnknown_810B4C8[r1], 0x50);
|
||||
}
|
||||
|
||||
u8 *sub_8092390(u8 r0)
|
||||
{
|
||||
return gUnknown_810B988[r0];
|
||||
}
|
||||
|
||||
void sub_80923A0(void)
|
||||
{
|
||||
gUnknown_203B468 = &gUnknown_2038C28;
|
||||
}
|
||||
|
||||
u32 *sub_80923B0(void)
|
||||
{
|
||||
return &gUnknown_2038C28;
|
||||
}
|
||||
|
|
|
|||
75
src/save1.c
75
src/save1.c
|
|
@ -9,6 +9,28 @@ struct UnkSaveStruct1
|
|||
/* 0xA */ u8 unkA;
|
||||
};
|
||||
|
||||
struct UnkStruct
|
||||
{
|
||||
/* 0x0 */ u8 unk0;
|
||||
/* 0x1 */ u8 unk1;
|
||||
/* 0x2 */ u8 unk2;
|
||||
/* 0x3 */ u8 unk3;
|
||||
/* 0x4 */ u8 unk4;
|
||||
/* 0x5 */ u32 unk5;
|
||||
/* 0x9 */ u32 unk9;
|
||||
/* 0xD */ u32 unkD;
|
||||
/* 0x12 */ u32 unk11;
|
||||
/* 0x16 */ u32 unk15;
|
||||
/* 0x1A */ u32 unk19;
|
||||
/* 0x1E */ u32 unk1D;
|
||||
/* 0x24 */ u32 unk24;
|
||||
/* 0x28 */ u8 unk28;
|
||||
/* 0x29 */ u8 unk29;
|
||||
/* 0x2A */ u8 unk2A;
|
||||
/* 0x2B */ u8 unk2B;
|
||||
/* 0x2C */ u8 unk2C;
|
||||
};
|
||||
|
||||
extern void MemoryFree(void *);
|
||||
extern void sub_8011860();
|
||||
extern void xxx_draw_string_80144C4();
|
||||
|
|
@ -24,7 +46,8 @@ extern void xxx_call_update_bg_vram();
|
|||
extern void sub_8009908();
|
||||
extern void xxx_call_update_bg_sound_input();
|
||||
extern void ResetSprites(u8 r0);
|
||||
|
||||
extern u32 sub_8012AE8(void);
|
||||
extern void nullsub_34(struct UnkStruct *r0);
|
||||
|
||||
extern struct UnkSaveStruct1 *gUnknown_203B46C;
|
||||
|
||||
|
|
@ -55,3 +78,53 @@ void sub_8012A18()
|
|||
xxx_call_update_bg_sound_input();
|
||||
ResetSprites(0);
|
||||
}
|
||||
|
||||
u32 sub_8012A64(struct UnkStruct *r0, u32 r1)
|
||||
{
|
||||
if(r0 == NULL)
|
||||
{
|
||||
return sub_8012AE8();
|
||||
}
|
||||
if(r1 != -1)
|
||||
{
|
||||
nullsub_34(r0);
|
||||
}
|
||||
if(r0->unk1 != 0)
|
||||
{
|
||||
r0->unk1 = 0;
|
||||
return 1;
|
||||
}
|
||||
if(r0->unk2 == 0)
|
||||
{
|
||||
return sub_8012AE8();
|
||||
}
|
||||
r0->unk2 = r0->unk1;
|
||||
return 2;
|
||||
}
|
||||
|
||||
// TODO match that one line
|
||||
//u32 GetKeyPress(struct UnkStruct *r0)
|
||||
//{
|
||||
// if(r0 == NULL)
|
||||
// {
|
||||
// return sub_8012AE8();
|
||||
// }
|
||||
// // TODO it's not a struct access..
|
||||
// if(r0->unk29 != 0)
|
||||
// {
|
||||
// return 1;
|
||||
// }
|
||||
// if(r0->unk2A != 0)
|
||||
// {
|
||||
// return 2;
|
||||
// }
|
||||
// if(r0->unk2C != 0)
|
||||
// {
|
||||
// return 9;
|
||||
// }
|
||||
// if(r0->unk2B == 0)
|
||||
// {
|
||||
// return sub_8012AE8();
|
||||
// }
|
||||
// return 0xA;
|
||||
//}
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user