mirror of
https://github.com/pret/pokediamond.git
synced 2026-08-26 02:34:39 -05:00
two mod 21 funcs
This commit is contained in:
@@ -3,85 +3,8 @@
|
||||
.section .text
|
||||
.balign 4, 0
|
||||
|
||||
thumb_func_start MOD21_02254B4C
|
||||
MOD21_02254B4C: ; 0x02254B4C
|
||||
push {r4, lr}
|
||||
add r4, r0, #0
|
||||
bl MOD20_022538A0
|
||||
add r0, #8
|
||||
add r1, r4, #0
|
||||
bl MOD20_02253888
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
thumb_func_end MOD21_02254B4C
|
||||
|
||||
thumb_func_start MOD21_02254B60
|
||||
MOD21_02254B60: ; 0x02254B60
|
||||
push {r4, r5, lr}
|
||||
sub sp, #0x14
|
||||
add r4, r1, #0
|
||||
add r0, r4, #0
|
||||
bl MOD20_022538A0
|
||||
add r5, r0, #0
|
||||
ldr r0, [r5, #4]
|
||||
ldr r2, _02254BE8 ; =MOD21_02254D90
|
||||
mov r1, #6
|
||||
mov r3, #0
|
||||
bl FUN_02016C18
|
||||
mov r0, #0
|
||||
str r0, [sp]
|
||||
str r0, [sp, #4]
|
||||
mov r0, #1
|
||||
str r0, [sp, #8]
|
||||
mov r0, #8
|
||||
str r0, [sp, #0xc]
|
||||
ldr r2, [r5, #4]
|
||||
mov r0, #0xc
|
||||
mov r1, #0x17
|
||||
mov r3, #6
|
||||
bl FUN_0200687C
|
||||
mov r0, #0
|
||||
str r0, [sp]
|
||||
str r0, [sp, #4]
|
||||
mov r0, #1
|
||||
str r0, [sp, #8]
|
||||
mov r0, #8
|
||||
str r0, [sp, #0xc]
|
||||
ldr r2, [r5, #4]
|
||||
mov r0, #0xc
|
||||
mov r1, #0x18
|
||||
mov r3, #6
|
||||
bl FUN_020068C8
|
||||
mov r0, #0
|
||||
add r1, r0, #0
|
||||
bl MOD20_02252D7C
|
||||
add r0, r5, #0
|
||||
bl MOD21_02254C5C
|
||||
ldr r0, [r5, #4]
|
||||
mov r1, #6
|
||||
bl FUN_02017CD0
|
||||
ldr r1, _02254BEC ; =0x04001000
|
||||
ldr r0, _02254BF0 ; =0xFFFFE0FF
|
||||
ldr r3, [r1]
|
||||
ldr r2, [r1]
|
||||
str r3, [sp, #0x10]
|
||||
and r0, r2
|
||||
lsl r2, r3, #0x13
|
||||
lsr r3, r2, #0x1b
|
||||
mov r2, #4
|
||||
orr r2, r3
|
||||
lsl r2, r2, #8
|
||||
orr r0, r2
|
||||
str r0, [r1]
|
||||
add r0, r4, #0
|
||||
bl MOD21_02254B4C
|
||||
add sp, #0x14
|
||||
pop {r4, r5, pc}
|
||||
.align 2, 0
|
||||
_02254BE8: .word MOD21_02254D90
|
||||
_02254BEC: .word 0x04001000
|
||||
_02254BF0: .word 0xFFFFE0FF
|
||||
thumb_func_end MOD21_02254B60
|
||||
.extern MOD21_02254B4C
|
||||
.extern MOD21_02254B60
|
||||
|
||||
thumb_func_start MOD21_02254BF4
|
||||
MOD21_02254BF4: ; 0x02254BF4
|
||||
|
||||
@@ -12,11 +12,19 @@ typedef struct UnkStruct02254A6C
|
||||
u32 Unk30[1];
|
||||
} UnkStruct02254A6C;
|
||||
|
||||
typedef struct UnkStruct02254B60
|
||||
{
|
||||
u32 Unk00;
|
||||
u32 Unk04;
|
||||
} UnkStruct02254B60;
|
||||
|
||||
BOOL MOD21_02254A6C(UnkStruct02254A6C *param0, void *param1);
|
||||
void MOD21_02254AD4(void *param0, void *param1);
|
||||
void MOD21_02254B04(void *param0);
|
||||
void MOD21_02254B10(u32 *param0, u32 param1);
|
||||
BOOL MOD21_02254B34(void *param0, u32 param1);
|
||||
BOOL MOD21_02254B40(void *param0);
|
||||
BOOL MOD21_02254B4C(void *param0);
|
||||
BOOL MOD21_02254B60(u32 param0, void *param1);
|
||||
|
||||
#endif //POKEDIAMOND_MOD21_02254A6C_H
|
||||
|
||||
@@ -10,6 +10,17 @@ extern void MOD20_022537E0(void *param0, u32 param1, void *param2, u32 param3, v
|
||||
extern void MOD21_02254DAC(void);
|
||||
extern BOOL MOD20_02253794(void *param0, u32 param1);
|
||||
extern BOOL MOD20_022537B8(void *param0);
|
||||
extern UnkStruct02254B60 *MOD20_022538A0(void *param0);
|
||||
extern BOOL MOD20_02253888(void *param0, void *param1);
|
||||
|
||||
extern void MOD21_02254D90(void);
|
||||
|
||||
extern void FUN_02016C18(u32 param0, u32 param1, void *param2, u32 param3);
|
||||
extern void FUN_0200687C(u32 param0, u32 param1, u32 param2, u32 param3, u32 param4, u32 param5, u32 param6, u32 param7);
|
||||
extern void FUN_020068C8(u32 param0, u32 param1, u32 param2, u32 param3, u32 param4, u32 param5, u32 param6, u32 param7);
|
||||
extern void MOD20_02252D7C(u32 param0, u32 param1);
|
||||
extern void MOD21_02254C5C(UnkStruct02254B60 *param0);
|
||||
extern void FUN_02017CD0(u32 param0, u32 param1);
|
||||
|
||||
THUMB_FUNC BOOL MOD21_02254A6C(UnkStruct02254A6C *param0, void *param1)
|
||||
{
|
||||
@@ -69,3 +80,31 @@ THUMB_FUNC BOOL MOD21_02254B40(void *param0)
|
||||
{
|
||||
return MOD20_022537B8((void *)((u32)param0 + 8));
|
||||
}
|
||||
|
||||
THUMB_FUNC BOOL MOD21_02254B4C(void *param0)
|
||||
{
|
||||
return MOD20_02253888((void *)((u32)MOD20_022538A0(param0) + 8), param0);
|
||||
}
|
||||
|
||||
THUMB_FUNC BOOL MOD21_02254B60(u32 param0, void *param1)
|
||||
{
|
||||
#pragma unused (param0)
|
||||
UnkStruct02254B60 *strct = MOD20_022538A0(param1);
|
||||
FUN_02016C18(strct->Unk04, 6, MOD21_02254D90, 0);
|
||||
FUN_0200687C(12, 23, strct->Unk04, 6, 0, 0, 1, 8);
|
||||
FUN_020068C8(12, 24, strct->Unk04, 6, 0, 0, 1, 8);
|
||||
MOD20_02252D7C(0, 0);
|
||||
MOD21_02254C5C(strct);
|
||||
FUN_02017CD0(strct->Unk04, 6);
|
||||
u32 r3 = reg_GXS_DB_DISPCNT;
|
||||
u32 r2 = reg_GXS_DB_DISPCNT;
|
||||
vu32 tmp = r3; //unused? wtf
|
||||
u32 r0 = ~0x1F00 & r2;
|
||||
r2 = r3 << 0x13;
|
||||
r3 = r2 >> 0x1b;
|
||||
r2 = 4 | r3;
|
||||
r2 <<= 8;
|
||||
r0 |= r2;
|
||||
reg_GXS_DB_DISPCNT = r0;
|
||||
return MOD21_02254B4C(param1);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user