more mod 21

This commit is contained in:
red031000
2020-11-14 00:07:14 +00:00
parent 32fbb72519
commit bc3be40047
7 changed files with 72 additions and 100 deletions

View File

@@ -663,7 +663,6 @@ Overlay MODULE_21
{
##Pokétch Clock##
After MODULE_20
Object module_21_sinit.o
Object mod21_02254854_src.o
Object mod21_02254854_asm.o
Object mod21_02254A6C.o

View File

@@ -3,67 +3,6 @@
.section .text
.balign 4, 0
.extern MOD21_02254918
thumb_func_start MOD21_02254930
MOD21_02254930: ; 0x02254930
push {r3, r4, r5, lr}
add r4, r1, #0
add r5, r0, #0
ldrb r0, [r4]
cmp r0, #3
bhs _02254966
ldr r0, [r4, #0x28]
ldr r1, [r4, #0x10]
bl MOD20_02252C14
ldrb r1, [r4]
add r0, r4, #0
lsl r2, r1, #2
ldr r1, _02254968 ; =MOD21_02254D84
ldr r1, [r1, r2]
blx r1
cmp r0, #0
beq _02254966
add r0, r4, #0
bl MOD21_02254918
add r0, r5, #0
bl FUN_0200CAB4
ldr r0, [r4, #0x28]
bl MOD20_022529A0
_02254966:
pop {r3, r4, r5, pc}
.align 2, 0
_02254968: .word MOD21_02254D84
thumb_func_end MOD21_02254930
thumb_func_start MOD21_0225496C
MOD21_0225496C: ; 0x0225496C
mov r1, #1
strb r1, [r0, #2]
bx lr
.align 2, 0
thumb_func_end MOD21_0225496C
thumb_func_start MOD21_02254974
MOD21_02254974: ; 0x02254974
cmp r2, #0
beq _02254984
cmp r2, #1
bne _0225498C
mov r0, #1
str r0, [r3, #0x20]
strb r0, [r3, #6]
bx lr
_02254984:
mov r0, #0
str r0, [r3, #0x20]
mov r0, #1
strb r0, [r3, #6]
_0225498C:
bx lr
.align 2, 0
thumb_func_end MOD21_02254974
thumb_func_start MOD21_02254990
MOD21_02254990: ; 0x02254990
ldrb r2, [r0, #2]
@@ -189,13 +128,3 @@ _02254A66:
pop {r4, pc}
.align 2, 0
thumb_func_end MOD21_02254A38
.section .rodata
.global MOD21_02254D80
MOD21_02254D80: ; 0x02254D80
.byte 0x10, 0xAF, 0x10, 0xCF
.global MOD21_02254D84
MOD21_02254D84: ; 0x02254D84
.word MOD21_022549A4, MOD21_022549E4, MOD21_02254A38

View File

@@ -18,5 +18,8 @@ typedef struct UnkStruct02254854
BOOL MOD21_02254854(UnkStruct02254854 **param0, u32 param1, u32 param2, u32 param3);
BOOL MOD21_0225489C(UnkStruct02254854 *param0, u32 param1, u32 param2, u32 param3);
void MOD21_02254918(UnkStruct02254854 *param0);
void MOD21_02254930(u32 param0, UnkStruct02254854 *param1);
void MOD21_0225496C(UnkStruct02254854 *param0);
void MOD21_02254974(u32 param0, u32 param1, u32 param2, UnkStruct02254854 * param3);
#endif //POKEDIAMOND_MOD21_02254854_H

View File

@@ -3,24 +3,37 @@
#include "unk_0200CA44.h"
#include "mod21_02254854.h"
extern void MOD21_02254930(void *, void *);
extern void GF_RTC_CopyTime(u32 *param0);
extern void MOD21_02254D80();
extern void MOD21_02254974();
u8 const MOD21_02254D80[] = { 0x10, 0xAF, 0x10, 0xCF };
extern BOOL MOD21_02254A6C(u32 *param0, u32 *param1);
extern BOOL MOD20_02254130(void *param0, BOOL param1, void *param2, UnkStruct02254854 *param3, u32 param4);
extern void MOD20_02252C14(u32 param0, BOOL param1);
extern u32 MOD21_022549A4(UnkStruct02254854 *);
extern u32 MOD21_022549E4(UnkStruct02254854 *);
extern u32 MOD21_02254A38(UnkStruct02254854 *);
extern void MOD21_02254B04(u32 param0);
extern void MOD20_02254198(BOOL param0);
extern void MOD20_022529A0(u32 param0);
extern void Poketch_InitApp(void *func1, void *func2);
THUMB_FUNC static void MOD21_02254840(void)
{
Poketch_InitApp(MOD21_02254854, MOD21_0225496C);
}
#define NitroStaticInit MOD21_02254840
#include "sinit.h"
THUMB_FUNC BOOL MOD21_02254854(UnkStruct02254854 **param0, u32 param1, u32 param2, u32 param3)
{
UnkStruct02254854 *alloced = (UnkStruct02254854 *)AllocFromHeap(8, sizeof(UnkStruct02254854));
if (alloced != NULL)
{
if (MOD21_0225489C(alloced, param1, param2, param3) && FUN_0200CA44(MOD21_02254930, alloced, (void *)1))
if (MOD21_0225489C(alloced, param1, param2, param3) && FUN_0200CA44((void (*)(u32, void *))MOD21_02254930, alloced, (void *)1))
{
*param0 = alloced;
return TRUE;
@@ -51,7 +64,7 @@ THUMB_FUNC BOOL MOD21_0225489C(UnkStruct02254854 *param0, u32 param1, u32 param2
param0->Unk14[0] = param0->Unk14[0] % 0x3c;
}
param0->bytearray[5] = (u8)param0->Unk14[1];
param0->Unk10 = MOD20_02254130(MOD21_02254D80, TRUE, MOD21_02254974, param0, 8);
param0->Unk10 = MOD20_02254130((void *)MOD21_02254D80, TRUE, MOD21_02254974, param0, 8);
if (param0->Unk10 == FALSE)
{
return FALSE;
@@ -62,9 +75,50 @@ THUMB_FUNC BOOL MOD21_0225489C(UnkStruct02254854 *param0, u32 param1, u32 param2
return FALSE;
}
u32 (* const MOD21_02254D84[])(UnkStruct02254854 *) = { MOD21_022549A4, MOD21_022549E4, MOD21_02254A38 };
THUMB_FUNC void MOD21_02254918(UnkStruct02254854 *param0)
{
MOD21_02254B04(param0->Unk24);
MOD20_02254198(param0->Unk10);
FreeToHeap((void *)param0);
}
THUMB_FUNC void MOD21_02254930(u32 param0, UnkStruct02254854 *param1)
{
if (param1->bytearray[0] >= 3)
{
return;
}
MOD20_02252C14(param1->Unk28, param1->Unk10);
if (!MOD21_02254D84[param1->bytearray[0]](param1))
{
return;
}
MOD21_02254918(param1);
FUN_0200CAB4((s32)param0);
MOD20_022529A0(param1->Unk28);
}
THUMB_FUNC void MOD21_0225496C(UnkStruct02254854 *param0)
{
param0->bytearray[2] = 1;
}
THUMB_FUNC void MOD21_02254974(u32 param0, u32 param1, u32 param2, UnkStruct02254854 * param3)
{
#pragma unused (param0, param1)
switch (param2)
{
case 1:
param3->Unk20 = 1;
param3->bytearray[6] = 1;
return;
case 0:
param3->Unk20 = 0;
param3->bytearray[6] = 1;
return;
default:
return;
}
}

View File

@@ -1,13 +0,0 @@
#include "global.h"
#include "mod21_02254854.h"
extern void Poketch_InitApp(void *func1, void *func2);
extern void MOD21_0225496C();
THUMB_FUNC static void MOD21_02254840(void)
{
Poketch_InitApp(MOD21_02254854, MOD21_0225496C);
}
#define NitroStaticInit MOD21_02254840
#include "sinit.h"

View File

@@ -2,25 +2,25 @@
#include "main.h"
#include "unk_0200CA44.h"
extern BOOL FUN_0201B60C(void *, void (*)(void *, void *), void *, void *);
extern BOOL FUN_0201B60C(void *, void (*)(u32, void *), void *, void *);
extern void FUN_0201B6A0(s32);
THUMB_FUNC BOOL FUN_0200CA44(void (*r0)(void *, void *), void * r1, void * r2)
THUMB_FUNC BOOL FUN_0200CA44(void (*r0)(u32, void *), void * r1, void * r2)
{
return FUN_0201B60C(gMain.unk18, r0, r1, r2);
}
THUMB_FUNC BOOL FUN_0200CA60(void (*r0)(void *, void *), void * r1, void * r2)
THUMB_FUNC BOOL FUN_0200CA60(void (*r0)(u32, void *), void * r1, void * r2)
{
return FUN_0201B60C(gMain.unk1C, r0, r1, r2);
}
THUMB_FUNC BOOL FUN_0200CA7C(void (*r0)(void *, void *), void * r1, void * r2)
THUMB_FUNC BOOL FUN_0200CA7C(void (*r0)(u32, void *), void * r1, void * r2)
{
return FUN_0201B60C(gMain.unk24, r0, r1, r2);
}
THUMB_FUNC BOOL FUN_0200CA98(void (*r0)(void *, void *), void * r1, void * r2)
THUMB_FUNC BOOL FUN_0200CA98(void (*r0)(u32, void *), void * r1, void * r2)
{
return FUN_0201B60C(gMain.unk20, r0, r1, r2);
}

View File

@@ -1,10 +1,10 @@
#ifndef POKEDIAMOND_UNK_0200CA44_H
#define POKEDIAMOND_UNK_0200CA44_H
BOOL FUN_0200CA44(void (*r0)(void *, void *), void * r1, void * r2);
BOOL FUN_0200CA60(void (*r0)(void *, void *), void * r1, void * r2);
BOOL FUN_0200CA7C(void (*r0)(void *, void *), void * r1, void * r2);
BOOL FUN_0200CA98(void (*r0)(void *, void *), void * r1, void * r2);
BOOL FUN_0200CA44(void (*r0)(u32, void *), void * r1, void * r2);
BOOL FUN_0200CA60(void (*r0)(u32, void *), void * r1, void * r2);
BOOL FUN_0200CA7C(void (*r0)(u32, void *), void * r1, void * r2);
BOOL FUN_0200CA98(void (*r0)(u32, void *), void * r1, void * r2);
void FUN_0200CAB4(s32 unk1);
#endif //POKEDIAMOND_UNK_0200CA44_H