diff options
author | PikalaxALT <pikalaxalt@gmail.com> | 2021-09-08 12:36:55 -0400 |
---|---|---|
committer | PikalaxALT <pikalaxalt@gmail.com> | 2021-09-08 12:36:55 -0400 |
commit | 438c14c5686c45c661c4fd09137fb8f4fae559ca (patch) | |
tree | 0e84602671404580ef5e181c0a89ab5a6f895d38 | |
parent | 217fcecda5c9ed46ea274b57465d85b9b59eb86b (diff) |
unk_02029FB0, 1
-rw-r--r-- | arm9/arm9.lsf | 1 | ||||
-rw-r--r-- | arm9/asm/unk_02029FB0.s | 334 | ||||
-rw-r--r-- | arm9/asm/unk_02029FB0_s.s | 171 | ||||
-rw-r--r-- | arm9/src/unk_02029FB0.c | 269 | ||||
-rw-r--r-- | include/unk_02029FB0.h | 3 |
5 files changed, 443 insertions, 335 deletions
diff --git a/arm9/arm9.lsf b/arm9/arm9.lsf index 002ad8c9..5d18d462 100644 --- a/arm9/arm9.lsf +++ b/arm9/arm9.lsf @@ -114,6 +114,7 @@ Static arm9 Object igt.o Object sav_chatot.o Object unk_02029FB0.o + Object unk_02029FB0_s.o Object unk_0202A1E0.o Object unk_0202A8F4.o Object unk_0202A924.o diff --git a/arm9/asm/unk_02029FB0.s b/arm9/asm/unk_02029FB0.s deleted file mode 100644 index 2c66522a..00000000 --- a/arm9/asm/unk_02029FB0.s +++ /dev/null @@ -1,334 +0,0 @@ - .include "asm/macros.inc" - .include "global.inc" - - .section .rodata - - .global UNK_020EEA7C -UNK_020EEA7C: ; 0x020EEA7C - .short 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0002, 0x0002 - .short 0x0002, 0x0002, 0x0003, 0x0003, 0x0003, 0x0007, 0x0007, 0x0007 - .short 0x000A, 0x000A, 0x000B, 0x000B, 0x000B, 0x000B, 0x0014, 0x001E - .short 0x0023, 0x0028, 0x01F4, 0x2710, 0x001E, 0x001E, 0x0002, 0x0005 - .short 0x0001, 0x0001, 0x0005, 0x0003, 0x0001, 0x0001 - - .section .data - - .global UNK_02105CD8 -UNK_02105CD8: ; 0x02105CD8 - .byte 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01 - .byte 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01 - .byte 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x01 - .byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - - .text - - thumb_func_start FUN_02029FB0 -FUN_02029FB0: ; 0x02029FB0 - mov r0, #0x53 - lsl r0, r0, #0x2 - bx lr - .balign 4 - - thumb_func_start FUN_02029FB8 -FUN_02029FB8: ; 0x02029FB8 - ldr r3, _02029FC4 ; =MIi_CpuClear32 - mov r2, #0x53 - add r1, r0, #0x0 - mov r0, #0x0 - lsl r2, r2, #0x2 - bx r3 - .balign 4 -_02029FC4: .word MIi_CpuClear32 - - thumb_func_start FUN_02029FC8 -FUN_02029FC8: ; 0x02029FC8 - ldr r3, _02029FD0 ; =SavArray_get - mov r1, #0x14 - bx r3 - nop -_02029FD0: .word SavArray_get - - thumb_func_start FUN_02029FD4 -FUN_02029FD4: ; 0x02029FD4 - push {r3, lr} - cmp r1, #0x2c - bge _02029FE0 - lsl r1, r1, #0x2 - ldr r0, [r0, r1] - pop {r3, pc} -_02029FE0: - cmp r1, #0x79 - bge _02029FF0 - sub r1, #0x2c - lsl r1, r1, #0x1 - add r0, r0, r1 - add r0, #0xb0 - ldrh r0, [r0, #0x0] - pop {r3, pc} -_02029FF0: - bl GF_AssertFail - mov r0, #0x0 - pop {r3, pc} - - thumb_func_start FUN_02029FF8 -FUN_02029FF8: ; 0x02029FF8 - push {r3-r5, lr} - add r4, r1, #0x0 - add r5, r0, #0x0 - cmp r4, #0x2c - bge _0202A008 - lsl r0, r4, #0x2 - str r2, [r5, r0] - b _0202A01E -_0202A008: - cmp r4, #0x79 - bge _0202A01A - add r0, r4, #0x0 - sub r0, #0x2c - lsl r0, r0, #0x1 - add r0, r5, r0 - add r0, #0xb0 - strh r2, [r0, #0x0] - b _0202A01E -_0202A01A: - bl GF_AssertFail -_0202A01E: - add r0, r5, #0x0 - add r1, r4, #0x0 - bl FUN_02029FD4 - pop {r3-r5, pc} - - thumb_func_start FUN_0202A028 -FUN_0202A028: ; 0x0202A028 - push {r3, lr} - cmp r0, #0x2c - bge _0202A03E - ldr r1, _0202A05C ; =UNK_02105CD8 - ldrb r0, [r1, r0] - cmp r0, #0x0 - beq _0202A03A - ldr r0, _0202A060 ; =0x3B9AC9FF - pop {r3, pc} -_0202A03A: - ldr r0, _0202A064 ; =0x000F423F - pop {r3, pc} -_0202A03E: - cmp r0, #0x79 - bge _0202A052 - ldr r1, _0202A05C ; =UNK_02105CD8 - ldrb r0, [r1, r0] - cmp r0, #0x0 - beq _0202A04E - ldr r0, _0202A068 ; =0x0000FFFF - pop {r3, pc} -_0202A04E: - ldr r0, _0202A06C ; =0x0000270F - pop {r3, pc} -_0202A052: - bl GF_AssertFail - mov r0, #0x0 - pop {r3, pc} - nop -_0202A05C: .word UNK_02105CD8 -_0202A060: .word 0x3B9AC9FF -_0202A064: .word 0x000F423F -_0202A068: .word 0x0000FFFF -_0202A06C: .word 0x0000270F - - thumb_func_start FUN_0202A070 -FUN_0202A070: ; 0x0202A070 - lsl r1, r0, #0x1 - ldr r0, _0202A078 ; =UNK_020EEA7C - ldrh r0, [r0, r1] - bx lr - .balign 4 -_0202A078: .word UNK_020EEA7C - - thumb_func_start FUN_0202A07C -FUN_0202A07C: ; 0x0202A07C - push {r4-r6, lr} - add r5, r1, #0x0 - add r6, r0, #0x0 - add r0, r5, #0x0 - add r4, r2, #0x0 - bl FUN_0202A028 - add r2, r0, #0x0 - cmp r4, r2 - bhs _0202A09C - add r0, r6, #0x0 - add r1, r5, #0x0 - add r2, r4, #0x0 - bl FUN_02029FF8 - pop {r4-r6, pc} -_0202A09C: - add r0, r6, #0x0 - add r1, r5, #0x0 - bl FUN_02029FF8 - pop {r4-r6, pc} - .balign 4 - - thumb_func_start FUN_0202A0A8 -FUN_0202A0A8: ; 0x0202A0A8 - push {r3-r7, lr} - add r6, r1, #0x0 - add r7, r0, #0x0 - add r0, r6, #0x0 - add r5, r2, #0x0 - bl FUN_0202A028 - add r4, r0, #0x0 - add r0, r7, #0x0 - add r1, r6, #0x0 - bl FUN_02029FD4 - cmp r5, r4 - bls _0202A0C6 - add r5, r4, #0x0 -_0202A0C6: - cmp r0, r5 - bhs _0202A0D6 - add r0, r7, #0x0 - add r1, r6, #0x0 - add r2, r5, #0x0 - bl FUN_02029FF8 - pop {r3-r7, pc} -_0202A0D6: - cmp r0, r4 - bls _0202A0E4 - add r0, r7, #0x0 - add r1, r6, #0x0 - add r2, r4, #0x0 - bl FUN_02029FF8 -_0202A0E4: - pop {r3-r7, pc} - .balign 4 - - thumb_func_start FUN_0202A0E8 -FUN_0202A0E8: ; 0x0202A0E8 - push {r4-r6, lr} - add r6, r1, #0x0 - add r5, r0, #0x0 - add r0, r6, #0x0 - bl FUN_0202A028 - add r4, r0, #0x0 - add r0, r5, #0x0 - add r1, r6, #0x0 - bl FUN_02029FD4 - add r2, r0, #0x1 - cmp r2, r4 - bhs _0202A10E - add r0, r5, #0x0 - add r1, r6, #0x0 - bl FUN_02029FF8 - pop {r4-r6, pc} -_0202A10E: - add r0, r5, #0x0 - add r1, r6, #0x0 - add r2, r4, #0x0 - bl FUN_02029FF8 - pop {r4-r6, pc} - .balign 4 - - thumb_func_start FUN_0202A11C -FUN_0202A11C: ; 0x0202A11C - push {r3-r7, lr} - add r4, r1, #0x0 - add r5, r0, #0x0 - add r0, r4, #0x0 - add r7, r2, #0x0 - bl FUN_0202A028 - add r6, r0, #0x0 - add r0, r5, #0x0 - add r1, r4, #0x0 - bl FUN_02029FD4 - add r2, r0, r7 - cmp r2, r6 - bhs _0202A144 - add r0, r5, #0x0 - add r1, r4, #0x0 - bl FUN_02029FF8 - pop {r3-r7, pc} -_0202A144: - add r0, r5, #0x0 - add r1, r4, #0x0 - add r2, r6, #0x0 - bl FUN_02029FF8 - pop {r3-r7, pc} - - thumb_func_start FUN_0202A150 -FUN_0202A150: ; 0x0202A150 - push {r4-r6, lr} - add r6, r1, #0x0 - add r5, r0, #0x0 - add r0, r6, #0x0 - bl FUN_0202A028 - add r4, r0, #0x0 - add r0, r5, #0x0 - add r1, r6, #0x0 - bl FUN_02029FD4 - cmp r0, r4 - bhi _0202A16C - add r4, r0, #0x0 -_0202A16C: - add r0, r4, #0x0 - pop {r4-r6, pc} - - thumb_func_start FUN_0202A170 -FUN_0202A170: ; 0x0202A170 - push {r4-r6, lr} - add r4, r1, #0x0 - add r5, r0, #0x0 - cmp r4, #0x26 - blt _0202A17E - bl GF_AssertFail -_0202A17E: - add r0, r5, #0x0 - mov r1, #0x0 - bl FUN_0202A150 - add r6, r0, #0x0 - add r0, r4, #0x0 - bl FUN_0202A070 - ldr r2, _0202A1B4 ; =0x05F5E0FF - add r0, r6, r0 - cmp r0, r2 - bls _0202A1A0 - add r0, r5, #0x0 - mov r1, #0x0 - bl FUN_0202A07C - pop {r4-r6, pc} -_0202A1A0: - add r0, r4, #0x0 - bl FUN_0202A070 - add r2, r0, #0x0 - add r0, r5, #0x0 - mov r1, #0x0 - bl FUN_0202A11C - pop {r4-r6, pc} - nop -_0202A1B4: .word 0x05F5E0FF - - thumb_func_start FUN_0202A1B8 -FUN_0202A1B8: ; 0x0202A1B8 - ldr r3, _0202A1C0 ; =FUN_0202A150 - mov r1, #0x0 - bx r3 - nop -_0202A1C0: .word FUN_0202A150 - - thumb_func_start FUN_0202A1C4 -FUN_0202A1C4: ; 0x0202A1C4 - push {r4, lr} - add r4, r0, #0x0 - add r0, r1, #0x0 - add r1, r2, #0x0 - bl Pokedex_CheckMonCaughtFlag - cmp r0, #0x0 - bne _0202A1DC - add r0, r4, #0x0 - mov r1, #0x16 - bl FUN_0202A170 -_0202A1DC: - pop {r4, pc} - .balign 4 diff --git a/arm9/asm/unk_02029FB0_s.s b/arm9/asm/unk_02029FB0_s.s new file mode 100644 index 00000000..36bff703 --- /dev/null +++ b/arm9/asm/unk_02029FB0_s.s @@ -0,0 +1,171 @@ + .include "asm/macros.inc" + .include "global.inc" + + .extern FUN_02029FD4 + .extern FUN_02029FF8 + .extern FUN_0202A028 + .extern FUN_0202A070 + + .text + + thumb_func_start FUN_0202A0A8 +FUN_0202A0A8: ; 0x0202A0A8 + push {r3-r7, lr} + add r6, r1, #0x0 + add r7, r0, #0x0 + add r0, r6, #0x0 + add r5, r2, #0x0 + bl FUN_0202A028 + add r4, r0, #0x0 + add r0, r7, #0x0 + add r1, r6, #0x0 + bl FUN_02029FD4 + cmp r5, r4 + bls _0202A0C6 + add r5, r4, #0x0 +_0202A0C6: + cmp r0, r5 + bhs _0202A0D6 + add r0, r7, #0x0 + add r1, r6, #0x0 + add r2, r5, #0x0 + bl FUN_02029FF8 + pop {r3-r7, pc} +_0202A0D6: + cmp r0, r4 + bls _0202A0E4 + add r0, r7, #0x0 + add r1, r6, #0x0 + add r2, r4, #0x0 + bl FUN_02029FF8 +_0202A0E4: + pop {r3-r7, pc} + .balign 4 + + thumb_func_start FUN_0202A0E8 +FUN_0202A0E8: ; 0x0202A0E8 + push {r4-r6, lr} + add r6, r1, #0x0 + add r5, r0, #0x0 + add r0, r6, #0x0 + bl FUN_0202A028 + add r4, r0, #0x0 + add r0, r5, #0x0 + add r1, r6, #0x0 + bl FUN_02029FD4 + add r2, r0, #0x1 + cmp r2, r4 + bhs _0202A10E + add r0, r5, #0x0 + add r1, r6, #0x0 + bl FUN_02029FF8 + pop {r4-r6, pc} +_0202A10E: + add r0, r5, #0x0 + add r1, r6, #0x0 + add r2, r4, #0x0 + bl FUN_02029FF8 + pop {r4-r6, pc} + .balign 4 + + thumb_func_start FUN_0202A11C +FUN_0202A11C: ; 0x0202A11C + push {r3-r7, lr} + add r4, r1, #0x0 + add r5, r0, #0x0 + add r0, r4, #0x0 + add r7, r2, #0x0 + bl FUN_0202A028 + add r6, r0, #0x0 + add r0, r5, #0x0 + add r1, r4, #0x0 + bl FUN_02029FD4 + add r2, r0, r7 + cmp r2, r6 + bhs _0202A144 + add r0, r5, #0x0 + add r1, r4, #0x0 + bl FUN_02029FF8 + pop {r3-r7, pc} +_0202A144: + add r0, r5, #0x0 + add r1, r4, #0x0 + add r2, r6, #0x0 + bl FUN_02029FF8 + pop {r3-r7, pc} + + thumb_func_start FUN_0202A150 +FUN_0202A150: ; 0x0202A150 + push {r4-r6, lr} + add r6, r1, #0x0 + add r5, r0, #0x0 + add r0, r6, #0x0 + bl FUN_0202A028 + add r4, r0, #0x0 + add r0, r5, #0x0 + add r1, r6, #0x0 + bl FUN_02029FD4 + cmp r0, r4 + bhi _0202A16C + add r4, r0, #0x0 +_0202A16C: + add r0, r4, #0x0 + pop {r4-r6, pc} + + thumb_func_start FUN_0202A170 +FUN_0202A170: ; 0x0202A170 + push {r4-r6, lr} + add r4, r1, #0x0 + add r5, r0, #0x0 + cmp r4, #0x26 + blt _0202A17E + bl GF_AssertFail +_0202A17E: + add r0, r5, #0x0 + mov r1, #0x0 + bl FUN_0202A150 + add r6, r0, #0x0 + add r0, r4, #0x0 + bl FUN_0202A070 + ldr r2, _0202A1B4 ; =0x05F5E0FF + add r0, r6, r0 + cmp r0, r2 + bls _0202A1A0 + add r0, r5, #0x0 + mov r1, #0x0 + bl FUN_0202A07C + pop {r4-r6, pc} +_0202A1A0: + add r0, r4, #0x0 + bl FUN_0202A070 + add r2, r0, #0x0 + add r0, r5, #0x0 + mov r1, #0x0 + bl FUN_0202A11C + pop {r4-r6, pc} + nop +_0202A1B4: .word 0x05F5E0FF + + thumb_func_start FUN_0202A1B8 +FUN_0202A1B8: ; 0x0202A1B8 + ldr r3, _0202A1C0 ; =FUN_0202A150 + mov r1, #0x0 + bx r3 + nop +_0202A1C0: .word FUN_0202A150 + + thumb_func_start FUN_0202A1C4 +FUN_0202A1C4: ; 0x0202A1C4 + push {r4, lr} + add r4, r0, #0x0 + add r0, r1, #0x0 + add r1, r2, #0x0 + bl Pokedex_CheckMonCaughtFlag + cmp r0, #0x0 + bne _0202A1DC + add r0, r4, #0x0 + mov r1, #0x16 + bl FUN_0202A170 +_0202A1DC: + pop {r4, pc} + .balign 4 diff --git a/arm9/src/unk_02029FB0.c b/arm9/src/unk_02029FB0.c new file mode 100644 index 00000000..3ed3a8c4 --- /dev/null +++ b/arm9/src/unk_02029FB0.c @@ -0,0 +1,269 @@ +#include "global.h"
+#include "pokedex.h"
+#include "unk_02029FB0.h"
+
+const u16 UNK_020EEA7C[] = {
+ 0x0001, // 00
+ 0x0001, // 01
+ 0x0001, // 02
+ 0x0001, // 03
+ 0x0001, // 04
+ 0x0001, // 05
+ 0x0002, // 06
+ 0x0002, // 07
+ 0x0002, // 08
+ 0x0002, // 09
+ 0x0003, // 10
+ 0x0003, // 11
+ 0x0003, // 12
+ 0x0007, // 13
+ 0x0007, // 14
+ 0x0007, // 15
+ 0x000A, // 16
+ 0x000A, // 17
+ 0x000B, // 18
+ 0x000B, // 19
+ 0x000B, // 20
+ 0x000B, // 21
+ 0x0014, // 22
+ 0x001E, // 23
+ 0x0023, // 24
+ 0x0028, // 25
+ 0x01F4, // 26
+ 0x2710, // 27
+ 0x001E, // 28
+ 0x001E, // 29
+ 0x0002, // 30
+ 0x0005, // 31
+ 0x0001, // 32
+ 0x0001, // 33
+ 0x0005, // 34
+ 0x0003, // 35
+ 0x0001, // 36
+ 0x0001, // 37
+};
+
+u8 UNK_02105CD8[] = {
+ TRUE, // 000
+ TRUE, // 001
+ FALSE, // 002
+ TRUE, // 003
+ TRUE, // 004
+ TRUE, // 005
+ TRUE, // 006
+ TRUE, // 007
+ TRUE, // 008
+ FALSE, // 009
+ FALSE, // 010
+ FALSE, // 011
+ TRUE, // 012
+ TRUE, // 013
+ TRUE, // 014
+ TRUE, // 015
+ TRUE, // 016
+ TRUE, // 017
+ TRUE, // 018
+ TRUE, // 019
+ TRUE, // 020
+ TRUE, // 021
+ TRUE, // 022
+ TRUE, // 023
+ TRUE, // 024
+ TRUE, // 025
+ TRUE, // 026
+ TRUE, // 027
+ TRUE, // 028
+ TRUE, // 029
+ TRUE, // 030
+ TRUE, // 031
+ TRUE, // 032
+ TRUE, // 033
+ TRUE, // 034
+ TRUE, // 035
+ TRUE, // 036
+ TRUE, // 037
+ TRUE, // 038
+ TRUE, // 039
+ TRUE, // 040
+ FALSE, // 041
+ FALSE, // 042
+ FALSE, // 043
+ TRUE, // 044
+ TRUE, // 045
+ FALSE, // 046
+ TRUE, // 047
+ TRUE, // 048
+ FALSE, // 049
+ FALSE, // 050
+ FALSE, // 051
+ FALSE, // 052
+ FALSE, // 053
+ FALSE, // 054
+ FALSE, // 055
+ FALSE, // 056
+ FALSE, // 057
+ FALSE, // 058
+ FALSE, // 059
+ FALSE, // 060
+ FALSE, // 061
+ FALSE, // 062
+ FALSE, // 063
+ FALSE, // 064
+ FALSE, // 065
+ FALSE, // 066
+ TRUE, // 067
+ FALSE, // 068
+ FALSE, // 069
+ FALSE, // 070
+ FALSE, // 071
+ FALSE, // 072
+ FALSE, // 073
+ FALSE, // 074
+ FALSE, // 075
+ FALSE, // 076
+ FALSE, // 077
+ FALSE, // 078
+ FALSE, // 079
+ FALSE, // 080
+ FALSE, // 081
+ FALSE, // 082
+ FALSE, // 083
+ FALSE, // 084
+ TRUE, // 085
+ FALSE, // 086
+ FALSE, // 087
+ FALSE, // 088
+ FALSE, // 089
+ FALSE, // 090
+ FALSE, // 091
+ FALSE, // 092
+ FALSE, // 093
+ FALSE, // 094
+ FALSE, // 095
+ FALSE, // 096
+ FALSE, // 097
+ FALSE, // 098
+ FALSE, // 099
+ FALSE, // 100
+ FALSE, // 101
+ FALSE, // 102
+ FALSE, // 103
+ FALSE, // 104
+ FALSE, // 105
+ FALSE, // 106
+ FALSE, // 107
+ FALSE, // 108
+ FALSE, // 109
+ FALSE, // 110
+ FALSE, // 111
+ FALSE, // 112
+ FALSE, // 113
+ FALSE, // 114
+ FALSE, // 115
+ FALSE, // 116
+ FALSE, // 117
+ FALSE, // 118
+ FALSE, // 119
+ FALSE, // 120
+ FALSE, // 121
+};
+
+static inline s32 GetOffsetToUnk00(s32 a0)
+{
+ return a0;
+}
+
+static inline s32 GetOffsetToUnkB0(s32 a0)
+{
+ return a0 - 44;
+}
+
+THUMB_FUNC u32 FUN_02029FB0(void)
+{
+ return sizeof(struct UnkStruct_02029FB0);
+}
+
+THUMB_FUNC void FUN_02029FB8(struct UnkStruct_02029FB0 * ptr)
+{
+ MI_CpuClear32(ptr, sizeof(struct UnkStruct_02029FB0));
+}
+
+THUMB_FUNC struct UnkStruct_02029FB0 * FUN_02029FC8(struct SaveBlock2 * sav2)
+{
+ return SavArray_get(sav2, 20);
+}
+
+THUMB_FUNC u32 FUN_02029FD4(struct UnkStruct_02029FB0 * ptr, s32 a1)
+{
+ if (a1 < 44)
+ {
+ return ptr->unk_00[GetOffsetToUnk00(a1)];
+ }
+ else if (a1 < 121)
+ {
+ return ptr->unk_B0[GetOffsetToUnkB0(a1)];
+ }
+ else
+ {
+ GF_ASSERT(0);
+ return 0;
+ }
+}
+
+THUMB_FUNC u32 FUN_02029FF8(struct UnkStruct_02029FB0 * ptr, s32 a1, u32 a2)
+{
+ if (a1 < 44)
+ {
+ ptr->unk_00[GetOffsetToUnk00(a1)] = a2;
+ }
+ else if (a1 < 121)
+ {
+ ptr->unk_B0[GetOffsetToUnkB0(a1)] = a2;
+ }
+ else
+ {
+ GF_ASSERT(0);
+ }
+ return FUN_02029FD4(ptr, a1);
+}
+
+THUMB_FUNC u32 FUN_0202A028(s32 a0)
+{
+ if (a0 < 44)
+ {
+ if (UNK_02105CD8[a0])
+ return 999999999;
+ else
+ return 999999;
+ }
+ else if (a0 < 121)
+ {
+ if (UNK_02105CD8[a0])
+ return 0xFFFF;
+ else
+ return 9999;
+ }
+ else
+ {
+ GF_ASSERT(0);
+ return 0;
+ }
+}
+
+THUMB_FUNC u16 FUN_0202A070(s32 a0)
+{
+ return UNK_020EEA7C[a0];
+}
+
+THUMB_FUNC u32 FUN_0202A07C(struct UnkStruct_02029FB0 * ptr, s32 a1, u32 a2)
+{
+ u32 r2 = FUN_0202A028(a1);
+ if (a2 < r2)
+ {
+ return FUN_02029FF8(ptr, a1, a2);
+ }
+ else
+ {
+ return FUN_02029FF8(ptr, a1, r2);
+ }
+}
diff --git a/include/unk_02029FB0.h b/include/unk_02029FB0.h index 9ce6451d..a05abecc 100644 --- a/include/unk_02029FB0.h +++ b/include/unk_02029FB0.h @@ -5,7 +5,8 @@ struct Pokedex; struct UnkStruct_02029FB0 { - u8 unk[0x14C]; + u32 unk_00[0x2C]; + u16 unk_B0[0x4D]; }; struct UnkStruct_02029FB0 * FUN_02029FC8(struct SaveBlock2 * sav2); |