more stuff

This commit is contained in:
red031000
2023-06-23 21:45:27 +01:00
parent 7321dc824b
commit 3e6bcda8b0
35 changed files with 649 additions and 1180 deletions

View File

@@ -862,10 +862,10 @@ ScrCmd_Unk0297: ; 0x020429B8
bl GetVarPointer
add r5, r0, #0x0
add r0, r4, #0x0
bl SaveStruct23_GetSubstruct2
bl Save_FrontierData_Get
mov r1, #0x0
add r2, r1, #0x0
bl SaveStruct23_Substruct2_SetField_0x0
bl FrontierData_SetField_0x0
strh r0, [r5, #0x0]
mov r0, #0x0
pop {r3-r5, pc}
@@ -885,10 +885,10 @@ ScrCmd_Unk0298: ; 0x020429E8
bl VarGet
add r5, r0, #0x0
add r0, r4, #0x0
bl SaveStruct23_GetSubstruct2
bl Save_FrontierData_Get
add r1, r5, #0x0
mov r2, #0x5
bl SaveStruct23_Substruct2_SetField_0x0
bl FrontierData_SetField_0x0
mov r0, #0x0
pop {r3-r5, pc}
.balign 4
@@ -908,10 +908,10 @@ ScrCmd_Unk0299: ; 0x02042A18
bl VarGet
add r5, r0, #0x0
add r0, r4, #0x0
bl SaveStruct23_GetSubstruct2
bl Save_FrontierData_Get
add r1, r5, #0x0
mov r2, #0x6
bl SaveStruct23_Substruct2_SetField_0x0
bl FrontierData_SetField_0x0
mov r0, #0x0
pop {r3-r5, pc}
.balign 4
@@ -939,10 +939,10 @@ ScrCmd_Unk029A: ; 0x02042A48
bl GetVarPointer
add r4, r0, #0x0
add r0, r5, #0x0
bl SaveStruct23_GetSubstruct2
bl Save_FrontierData_Get
mov r1, #0x0
add r2, r1, #0x0
bl SaveStruct23_Substruct2_SetField_0x0
bl FrontierData_SetField_0x0
cmp r0, r6
bhs _02042A8E
mov r0, #0x0

View File

@@ -1025,7 +1025,7 @@ _02043502:
_02043512:
ldr r0, [r5, #0xc]
bl Save_FashionData_Get
bl sub_0202708C
bl Save_FashionData_GetFashionCase
add r1, r4, #0x0
mov r2, #0x1
bl sub_020271A4
@@ -1033,7 +1033,7 @@ _02043512:
_02043526:
ldr r0, [r5, #0xc]
bl Save_FashionData_Get
bl sub_0202708C
bl Save_FashionData_GetFashionCase
add r1, r4, #0x0
bl sub_02027264
pop {r3-r5, pc}

View File

@@ -9,891 +9,6 @@
.text
thumb_func_start sub_0203DDC0
sub_0203DDC0: ; 0x0203DDC0
push {r3-r5, lr}
add r5, r0, #0x0
add r0, #0x80
ldr r0, [r0, #0x0]
mov r1, #0x14
bl FieldSysGetAttrAddr
add r4, r0, #0x0
add r0, r5, #0x0
ldr r1, [r5, #0x64]
add r0, #0x80
lsl r1, r1, #0x10
ldr r0, [r0, #0x0]
lsr r1, r1, #0x10
bl GetVarPointer
add r5, r0, #0x0
ldr r0, [r4, #0x0]
bl ov18_0224CA2C
strh r0, [r5, #0x0]
ldrh r1, [r5, #0x0]
ldr r0, _0203DDFC ; =0x0000FFFE
cmp r1, r0
beq _0203DDF6
mov r0, #0x1
pop {r3-r5, pc}
_0203DDF6:
mov r0, #0x0
pop {r3-r5, pc}
nop
_0203DDFC: .word 0x0000FFFE
thumb_func_start ScrCmd_Unk019F
ScrCmd_Unk019F: ; 0x0203DE00
push {r3-r5, lr}
add r5, r0, #0x0
add r0, #0x80
ldr r0, [r0, #0x0]
mov r1, #0x3
bl FieldSysGetAttrAddr
add r4, r0, #0x0
add r0, r5, #0x0
bl ScriptReadHalfword
add r1, r0, #0x0
add r0, r5, #0x0
add r0, #0x80
ldr r0, [r0, #0x0]
bl VarGet
bl ov18_0224CA58
strb r0, [r4, #0x0]
ldr r1, _0203DE34 ; =sub_0203DE38
add r0, r5, #0x0
bl SetupNativeScript
mov r0, #0x1
pop {r3-r5, pc}
.balign 4
_0203DE34: .word sub_0203DE38
thumb_func_start sub_0203DE38
sub_0203DE38: ; 0x0203DE38
push {r3, lr}
add r0, #0x80
ldr r0, [r0, #0x0]
mov r1, #0x3
bl FieldSysGetAttrAddr
ldrb r0, [r0, #0x0]
bl sub_020546C8
pop {r3, pc}
thumb_func_start ScrCmd_Unk01A0
ScrCmd_Unk01A0: ; 0x0203DE4C
push {r3, lr}
bl ov11_0224CA94
mov r0, #0x0
pop {r3, pc}
.balign 4
thumb_func_start ScrCmd_Unk01A1
ScrCmd_Unk01A1: ; 0x0203DE58
push {r3-r5, lr}
add r4, r0, #0x0
ldr r2, [r4, #0x8]
add r1, r2, #0x1
str r1, [r4, #0x8]
ldrb r5, [r2, #0x0]
bl ScriptReadHalfword
add r4, #0x80
add r1, r0, #0x0
ldr r0, [r4, #0x0]
bl VarGet
add r1, r0, #0x0
add r0, r5, #0x0
bl ov18_0224CAA0
mov r0, #0x0
pop {r3-r5, pc}
.balign 4
thumb_func_start ScrCmd_Unk01A2
ScrCmd_Unk01A2: ; 0x0203DE80
push {r3-r5, lr}
add r4, r0, #0x0
ldr r2, [r4, #0x8]
add r1, r2, #0x1
str r1, [r4, #0x8]
ldrb r5, [r2, #0x0]
bl ScriptReadHalfword
add r4, #0x80
add r1, r0, #0x0
ldr r0, [r4, #0x0]
bl VarGet
add r1, r0, #0x0
add r0, r5, #0x0
bl ov18_0224CAB4
mov r0, #0x0
pop {r3-r5, pc}
.balign 4
thumb_func_start ScrCmd_Unk003F
ScrCmd_Unk003F: ; 0x0203DEA8
push {r3, lr}
sub sp, #0x8
mov r3, #0x0
str r3, [sp, #0x0]
str r3, [sp, #0x4]
mov r1, #0x1
ldr r0, [r0, #0x74]
add r2, r1, #0x0
bl ov06_02242BE0
mov r0, #0x1
add sp, #0x8
pop {r3, pc}
.balign 4
thumb_func_start ScrCmd_Unk01B1
ScrCmd_Unk01B1: ; 0x0203DEC4
push {r3-r5, lr}
add r4, r0, #0x0
add r1, r4, #0x0
add r1, #0x80
ldr r5, [r1, #0x0]
bl ScriptReadHalfword
add r4, #0x80
add r1, r0, #0x0
ldr r0, [r4, #0x0]
bl VarGet
add r1, r0, #0x0
ldr r0, [r5, #0x34]
bl GetMapObjectByID
add r4, r0, #0x0
bne _0203DEEC
bl GF_AssertFail
_0203DEEC:
add r0, r4, #0x0
mov r1, #0x0
bl sub_0205889C
mov r0, #0x0
pop {r3-r5, pc}
thumb_func_start ScrCmd_Unk01B2
ScrCmd_Unk01B2: ; 0x0203DEF8
push {r3-r5, lr}
add r4, r0, #0x0
add r1, r4, #0x0
add r1, #0x80
ldr r5, [r1, #0x0]
bl ScriptReadHalfword
add r4, #0x80
add r1, r0, #0x0
ldr r0, [r4, #0x0]
bl VarGet
add r1, r0, #0x0
ldr r0, [r5, #0x34]
bl GetMapObjectByID
add r4, r0, #0x0
bne _0203DF20
bl GF_AssertFail
_0203DF20:
add r0, r4, #0x0
mov r1, #0x1
bl sub_0205889C
mov r0, #0x0
pop {r3-r5, pc}
thumb_func_start ScrCmd_Unk01B3
ScrCmd_Unk01B3: ; 0x0203DF2C
push {r3, lr}
ldr r0, [r0, #0x74]
bl sub_02066818
mov r0, #0x1
pop {r3, pc}
thumb_func_start ScrCmd_Unk01B4
ScrCmd_Unk01B4: ; 0x0203DF38
push {r3-r5, lr}
add r5, r0, #0x0
add r1, r5, #0x0
add r1, #0x80
ldr r4, [r1, #0x0]
bl ScriptReadHalfword
add r5, #0x80
add r1, r0, #0x0
ldr r0, [r5, #0x0]
bl GetVarPointer
add r5, r0, #0x0
ldr r0, [r4, #0xc]
bl Save_Mailbox_Get
mov r1, #0x0
bl Mailbox_CountMessages
strh r0, [r5, #0x0]
mov r0, #0x0
pop {r3-r5, pc}
thumb_func_start ScrCmd_Unk01B5
ScrCmd_Unk01B5: ; 0x0203DF64
push {r4, lr}
add r4, r0, #0x0
bl ScriptReadHalfword
add r1, r0, #0x0
add r0, r4, #0x0
add r0, #0x80
ldr r0, [r0, #0x0]
bl VarGet
add r1, r0, #0x0
ldr r0, [r4, #0x74]
bl sub_02063650
mov r0, #0x1
pop {r4, pc}
thumb_func_start ScrCmd_Unk01B6
ScrCmd_Unk01B6: ; 0x0203DF84
push {r3-r5, lr}
add r4, r0, #0x0
bl ScriptReadHalfword
add r1, r0, #0x0
add r0, r4, #0x0
add r0, #0x80
ldr r0, [r0, #0x0]
bl GetVarPointer
add r4, #0x80
add r5, r0, #0x0
ldr r0, [r4, #0x0]
bl Script_GetTimeOfDay
strh r0, [r5, #0x0]
mov r0, #0x0
pop {r3-r5, pc}
thumb_func_start ScrCmd_Unk01B7
ScrCmd_Unk01B7: ; 0x0203DFA8
push {r3-r5, lr}
add r5, r0, #0x0
bl ScriptReadHalfword
add r1, r0, #0x0
add r0, r5, #0x0
add r0, #0x80
ldr r0, [r0, #0x0]
bl GetVarPointer
add r4, r0, #0x0
add r0, r5, #0x0
bl ScriptReadHalfword
add r5, #0x80
add r1, r0, #0x0
ldr r0, [r5, #0x0]
bl VarGet
add r5, r0, #0x0
bl LCRandom
add r1, r5, #0x0
bl _s32_div_f
strh r1, [r4, #0x0]
mov r0, #0x1
pop {r3-r5, pc}
thumb_func_start ScrCmd_Unk01B8
ScrCmd_Unk01B8: ; 0x0203DFE0
push {r3-r5, lr}
add r5, r0, #0x0
bl ScriptReadHalfword
add r1, r0, #0x0
add r0, r5, #0x0
add r0, #0x80
ldr r0, [r0, #0x0]
bl GetVarPointer
add r4, r0, #0x0
add r0, r5, #0x0
bl ScriptReadHalfword
add r5, #0x80
add r1, r0, #0x0
ldr r0, [r5, #0x0]
bl VarGet
add r5, r0, #0x0
bl LCRandom
add r1, r5, #0x0
bl _s32_div_f
strh r1, [r4, #0x0]
mov r0, #0x1
pop {r3-r5, pc}
thumb_func_start ScrCmd_Unk01C1
ScrCmd_Unk01C1: ; 0x0203E018
push {r4-r6, lr}
add r5, r0, #0x0
add r1, r5, #0x0
add r1, #0x80
ldr r4, [r1, #0x0]
bl ScriptReadHalfword
add r1, r0, #0x0
add r0, r5, #0x0
add r0, #0x80
ldr r0, [r0, #0x0]
bl GetVarPointer
add r6, r0, #0x0
add r0, r5, #0x0
bl ScriptReadHalfword
add r5, #0x80
add r1, r0, #0x0
ldr r0, [r5, #0x0]
bl VarGet
add r1, r0, #0x0
add r0, r4, #0x0
bl ov05_021F3A18
strh r0, [r6, #0x0]
mov r0, #0x0
pop {r4-r6, pc}
.balign 4
thumb_func_start ScrCmd_Unk01C2
ScrCmd_Unk01C2: ; 0x0203E054
push {r3-r5, lr}
add r4, r0, #0x0
add r1, r4, #0x0
add r1, #0x80
ldr r5, [r1, #0x0]
bl ScriptReadHalfword
add r4, #0x80
add r1, r0, #0x0
ldr r0, [r4, #0x0]
bl VarGet
add r1, r0, #0x0
add r0, r5, #0x0
bl ov05_021F3AB4
mov r0, #0x0
pop {r3-r5, pc}
thumb_func_start ScrCmd_Unk01C3
ScrCmd_Unk01C3: ; 0x0203E078
push {r3-r7, lr}
add r5, r0, #0x0
add r1, r5, #0x0
add r1, #0x80
ldr r4, [r1, #0x0]
bl ScriptReadHalfword
add r1, r0, #0x0
add r0, r5, #0x0
add r0, #0x80
ldr r0, [r0, #0x0]
bl VarGet
add r6, r0, #0x0
add r0, r5, #0x0
bl ScriptReadHalfword
add r1, r0, #0x0
add r0, r5, #0x0
add r0, #0x80
ldr r0, [r0, #0x0]
bl VarGet
add r7, r0, #0x0
add r0, r5, #0x0
bl ScriptReadHalfword
add r5, #0x80
add r1, r0, #0x0
ldr r0, [r5, #0x0]
bl VarGet
lsl r1, r6, #0x18
lsl r2, r7, #0x18
add r3, r0, #0x0
add r0, r4, #0x0
lsr r1, r1, #0x18
lsr r2, r2, #0x18
bl ov05_021F3B7C
mov r0, #0x0
pop {r3-r7, pc}
thumb_func_start ScrCmd_Unk01C4
ScrCmd_Unk01C4: ; 0x0203E0CC
push {r3-r7, lr}
add r5, r0, #0x0
add r1, r5, #0x0
add r1, #0x80
ldr r4, [r1, #0x0]
bl ScriptReadHalfword
add r1, r0, #0x0
add r0, r5, #0x0
add r0, #0x80
ldr r0, [r0, #0x0]
bl VarGet
add r6, r0, #0x0
add r0, r5, #0x0
bl ScriptReadHalfword
add r1, r0, #0x0
add r0, r5, #0x0
add r0, #0x80
ldr r0, [r0, #0x0]
bl VarGet
add r7, r0, #0x0
add r0, r5, #0x0
bl ScriptReadHalfword
add r5, #0x80
add r1, r0, #0x0
ldr r0, [r5, #0x0]
bl VarGet
lsl r1, r6, #0x18
lsl r2, r7, #0x18
add r3, r0, #0x0
add r0, r4, #0x0
lsr r1, r1, #0x18
lsr r2, r2, #0x18
bl ov05_021F3B4C
mov r0, #0x0
pop {r3-r7, pc}
thumb_func_start ScrCmd_Unk01C5
ScrCmd_Unk01C5: ; 0x0203E120
push {r3, lr}
add r0, #0x80
ldr r0, [r0, #0x0]
ldr r0, [r0, #0xc]
bl SaveArray_Flags_Get
mov r1, #0x82
lsl r1, r1, #0x8
bl sub_0205F3F8
mov r0, #0x0
pop {r3, pc}
thumb_func_start ScrCmd_Unk01CC
ScrCmd_Unk01CC: ; 0x0203E138
push {r4, lr}
add r0, #0x80
ldr r4, [r0, #0x0]
ldr r0, [r4, #0xc]
bl SaveArray_Flags_Get
mov r1, #0x1
bl sub_0205F2D4
ldr r0, [r4, #0xc]
bl sub_020289A4
mov r1, #0x1
bl sub_020289B0
add r1, r4, #0x0
add r1, #0x98
str r0, [r1, #0x0]
add r0, r4, #0x0
bl sub_02048C58
mov r0, #0x0
pop {r4, pc}
.balign 4
thumb_func_start ScrCmd_Unk01CD
ScrCmd_Unk01CD: ; 0x0203E168
push {r3-r7, lr}
add r4, r0, #0x0
bl ScriptReadHalfword
add r1, r0, #0x0
add r0, r4, #0x0
add r0, #0x80
ldr r0, [r0, #0x0]
bl VarGet
add r7, r0, #0x0
add r0, r4, #0x0
bl ScriptReadHalfword
add r1, r0, #0x0
add r0, r4, #0x0
add r0, #0x80
ldr r0, [r0, #0x0]
bl VarGet
str r0, [sp, #0x0]
add r0, r4, #0x0
bl ScriptReadHalfword
add r1, r0, #0x0
add r0, r4, #0x0
add r0, #0x80
ldr r0, [r0, #0x0]
bl VarGet
add r0, r4, #0x0
bl ScriptReadHalfword
add r1, r0, #0x0
add r0, r4, #0x0
add r0, #0x80
ldr r0, [r0, #0x0]
bl VarGet
add r0, r4, #0x0
bl ScriptReadHalfword
add r1, r0, #0x0
add r0, r4, #0x0
add r0, #0x80
ldr r0, [r0, #0x0]
bl VarGet
add r0, r4, #0x0
add r0, #0x80
ldr r0, [r0, #0x0]
mov r1, #0x14
bl FieldSysGetAttrAddr
add r5, r0, #0x0
add r0, r7, #0x0
sub r0, #0x10
cmp r0, #0xa
bhi _0203E23A
add r0, r0, r0
add r0, pc
ldrh r0, [r0, #0x6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_0203E1EA: ; jump table (using 16-bit offset)
.short _0203E200 - _0203E1EA - 2; case 0
.short _0203E20C - _0203E1EA - 2; case 1
.short _0203E218 - _0203E1EA - 2; case 2
.short _0203E226 - _0203E1EA - 2; case 3
.short _0203E23A - _0203E1EA - 2; case 4
.short _0203E226 - _0203E1EA - 2; case 5
.short _0203E226 - _0203E1EA - 2; case 6
.short _0203E226 - _0203E1EA - 2; case 7
.short _0203E226 - _0203E1EA - 2; case 8
.short _0203E226 - _0203E1EA - 2; case 9
.short _0203E226 - _0203E1EA - 2; case 10
_0203E200:
mov r0, #0x4
mov r6, #0x1
bl sub_02029120
str r0, [r5, #0x0]
b _0203E23E
_0203E20C:
mov r0, #0x4
mov r6, #0x1
bl sub_0202912C
str r0, [r5, #0x0]
b _0203E23E
_0203E218:
ldr r0, [sp, #0x0]
mov r1, #0x4
mov r6, #0x1
bl sub_02029138
str r0, [r5, #0x0]
b _0203E23E
_0203E226:
sub r7, #0x13
lsl r0, r7, #0x18
ldr r1, [sp, #0x0]
lsr r0, r0, #0x18
mov r2, #0x4
mov r6, #0x1
bl sub_0202914C
str r0, [r5, #0x0]
b _0203E23E
_0203E23A:
mov r0, #0x1
pop {r3-r7, pc}
_0203E23E:
add r4, #0x80
ldr r0, [r4, #0x0]
ldr r1, [r5, #0x0]
add r0, #0x98
ldr r0, [r0, #0x0]
add r2, r6, #0x0
bl sub_02028AD4
mov r0, #0x1
pop {r3-r7, pc}
.balign 4
thumb_func_start ScrCmd_Unk01CE
ScrCmd_Unk01CE: ; 0x0203E254
mov r0, #0x0
bx lr
thumb_func_start ScrCmd_Unk01D2
ScrCmd_Unk01D2: ; 0x0203E258
push {r4-r6, lr}
add r5, r0, #0x0
bl ScriptReadHalfword
add r1, r0, #0x0
add r0, r5, #0x0
add r0, #0x80
ldr r0, [r0, #0x0]
bl VarGet
add r4, r0, #0x0
add r0, r5, #0x0
bl ScriptReadHalfword
add r1, r0, #0x0
add r0, r5, #0x0
add r0, #0x80
ldr r0, [r0, #0x0]
bl VarGet
add r5, #0x80
add r6, r0, #0x0
ldr r0, [r5, #0x0]
ldr r0, [r0, #0xc]
bl Save_FashionData_Get
bl sub_0202708C
add r1, r4, #0x0
add r2, r6, #0x0
bl sub_020271A4
mov r0, #0x0
pop {r4-r6, pc}
thumb_func_start ScrCmd_Unk01D3
ScrCmd_Unk01D3: ; 0x0203E29C
push {r3-r7, lr}
add r5, r0, #0x0
bl ScriptReadHalfword
add r1, r0, #0x0
add r0, r5, #0x0
add r0, #0x80
ldr r0, [r0, #0x0]
bl VarGet
add r6, r0, #0x0
add r0, r5, #0x0
bl ScriptReadHalfword
add r1, r0, #0x0
add r0, r5, #0x0
add r0, #0x80
ldr r0, [r0, #0x0]
bl VarGet
add r7, r0, #0x0
add r0, r5, #0x0
bl ScriptReadHalfword
add r1, r0, #0x0
add r0, r5, #0x0
add r0, #0x80
ldr r0, [r0, #0x0]
bl GetVarPointer
add r5, #0x80
add r4, r0, #0x0
ldr r0, [r5, #0x0]
ldr r0, [r0, #0xc]
bl Save_FashionData_Get
bl sub_0202708C
add r1, r6, #0x0
add r2, r7, #0x0
bl sub_020270D8
strh r0, [r4, #0x0]
mov r0, #0x0
pop {r3-r7, pc}
.balign 4
thumb_func_start ScrCmd_Unk01D4
ScrCmd_Unk01D4: ; 0x0203E2F8
push {r3-r7, lr}
add r5, r0, #0x0
bl ScriptReadHalfword
add r1, r0, #0x0
add r0, r5, #0x0
add r0, #0x80
ldr r0, [r0, #0x0]
bl VarGet
add r7, r0, #0x0
add r0, r5, #0x0
bl ScriptReadHalfword
add r1, r0, #0x0
add r0, r5, #0x0
add r0, #0x80
ldr r0, [r0, #0x0]
bl VarGet
add r6, r0, #0x0
add r0, r5, #0x0
bl ScriptReadHalfword
add r1, r0, #0x0
add r0, r5, #0x0
add r0, #0x80
ldr r0, [r0, #0x0]
bl GetVarPointer
add r5, #0x80
add r4, r0, #0x0
ldr r0, [r5, #0x0]
ldr r0, [r0, #0xc]
bl Save_FashionData_Get
bl sub_0202708C
add r1, r7, #0x0
bl sub_02027114
cmp r6, r0
bhi _0203E352
mov r0, #0x1
b _0203E354
_0203E352:
mov r0, #0x0
_0203E354:
strh r0, [r4, #0x0]
mov r0, #0x0
pop {r3-r7, pc}
.balign 4
thumb_func_start ScrCmd_Unk01D5
ScrCmd_Unk01D5: ; 0x0203E35C
push {r3-r5, lr}
add r5, r0, #0x0
bl ScriptReadHalfword
add r1, r0, #0x0
add r0, r5, #0x0
add r0, #0x80
ldr r0, [r0, #0x0]
bl VarGet
add r5, #0x80
add r4, r0, #0x0
ldr r0, [r5, #0x0]
ldr r0, [r0, #0xc]
bl Save_FashionData_Get
bl sub_0202708C
add r1, r4, #0x0
bl sub_02027264
mov r0, #0x0
pop {r3-r5, pc}
.balign 4
thumb_func_start ScrCmd_Unk01D6
ScrCmd_Unk01D6: ; 0x0203E38C
push {r4-r6, lr}
add r5, r0, #0x0
bl ScriptReadHalfword
add r1, r0, #0x0
add r0, r5, #0x0
add r0, #0x80
ldr r0, [r0, #0x0]
bl VarGet
add r6, r0, #0x0
add r0, r5, #0x0
bl ScriptReadHalfword
add r1, r0, #0x0
add r0, r5, #0x0
add r0, #0x80
ldr r0, [r0, #0x0]
bl GetVarPointer
add r5, #0x80
add r4, r0, #0x0
ldr r0, [r5, #0x0]
ldr r0, [r0, #0xc]
bl Save_FashionData_Get
bl sub_0202708C
add r1, r6, #0x0
bl sub_02027100
strh r0, [r4, #0x0]
mov r0, #0x0
pop {r4-r6, pc}
thumb_func_start ScrCmd_Unk01E8
ScrCmd_Unk01E8: ; 0x0203E3D0
push {r3-r5, lr}
add r4, r0, #0x0
add r0, #0x80
ldr r0, [r0, #0x0]
ldr r0, [r0, #0xc]
bl Save_Pokedex_Get
add r5, r0, #0x0
add r0, r4, #0x0
bl ScriptReadHalfword
add r4, #0x80
add r1, r0, #0x0
ldr r0, [r4, #0x0]
bl GetVarPointer
add r4, r0, #0x0
mov r0, #0x0
strh r0, [r4, #0x0]
add r0, r5, #0x0
bl Pokedex_HasCompletedSinnohDex
cmp r0, #0x1
bne _0203E404
mov r0, #0x1
strh r0, [r4, #0x0]
_0203E404:
mov r0, #0x0
pop {r3-r5, pc}
thumb_func_start ScrCmd_Unk01E9
ScrCmd_Unk01E9: ; 0x0203E408
push {r3-r5, lr}
add r4, r0, #0x0
add r0, #0x80
ldr r0, [r0, #0x0]
ldr r0, [r0, #0xc]
bl Save_Pokedex_Get
add r5, r0, #0x0
add r0, r4, #0x0
bl ScriptReadHalfword
add r4, #0x80
add r1, r0, #0x0
ldr r0, [r4, #0x0]
bl GetVarPointer
add r4, r0, #0x0
mov r0, #0x0
strh r0, [r4, #0x0]
add r0, r5, #0x0
bl Pokedex_HasCompletedNationalDex
cmp r0, #0x1
bne _0203E43C
mov r0, #0x1
strh r0, [r4, #0x0]
_0203E43C:
mov r0, #0x0
pop {r3-r5, pc}
thumb_func_start ScrCmd_Unk01EA
ScrCmd_Unk01EA: ; 0x0203E440
push {r3-r5, lr}
add r5, r0, #0x0
add r0, #0x80
ldr r0, [r0, #0x0]
mov r1, #0x13
bl FieldSysGetAttrAddr
add r4, r0, #0x0
add r0, r5, #0x0
add r0, #0x80
ldr r0, [r0, #0x0]
mov r1, #0x20
mov r2, #0x0
bl sub_02038AF4
str r0, [r4, #0x0]
ldr r1, _0203E46C ; =sub_0203BB90
add r0, r5, #0x0
bl SetupNativeScript
mov r0, #0x1
pop {r3-r5, pc}
.balign 4
_0203E46C: .word sub_0203BB90
thumb_func_start ScrCmd_Unk01EB
ScrCmd_Unk01EB: ; 0x0203E470
push {r3-r5, lr}
add r5, r0, #0x0
add r0, #0x80
ldr r0, [r0, #0x0]
mov r1, #0x13
bl FieldSysGetAttrAddr
add r4, r0, #0x0
add r0, r5, #0x0
add r0, #0x80
ldr r0, [r0, #0x0]
mov r1, #0x20
mov r2, #0x1
bl sub_02038AF4
str r0, [r4, #0x0]
ldr r1, _0203E49C ; =sub_0203BB90
add r0, r5, #0x0
bl SetupNativeScript
mov r0, #0x1
pop {r3-r5, pc}
.balign 4
_0203E49C: .word sub_0203BB90
thumb_func_start ScrCmd_Unk01EC
ScrCmd_Unk01EC: ; 0x0203E4A0
push {r3, lr}
add r0, #0x80
ldr r0, [r0, #0x0]
ldr r0, [r0, #0xc]
bl ov06_0224CBB0
mov r0, #0x0
pop {r3, pc}
thumb_func_start ScrCmd_Unk01ED
ScrCmd_Unk01ED: ; 0x0203E4B0
push {r3-r5, lr}
add r5, r0, #0x0
bl ScriptReadHalfword
add r1, r0, #0x0
add r0, r5, #0x0
add r0, #0x80
ldr r0, [r0, #0x0]
bl GetVarPointer
add r5, #0x80
add r4, r0, #0x0
ldr r0, [r5, #0x0]
ldr r0, [r0, #0xc]
bl ov06_0224CC24
strh r0, [r4, #0x0]
mov r0, #0x0
pop {r3-r5, pc}
.balign 4
thumb_func_start ScrCmd_Unk01EF
ScrCmd_Unk01EF: ; 0x0203E4D8
push {r4, lr}
add r4, r0, #0x0
bl ScriptReadHalfword
add r4, #0x80
add r1, r0, #0x0
ldr r0, [r4, #0x0]
bl GetVarPointer
mov r0, #0x0
pop {r4, pc}
.balign 4
thumb_func_start ScrCmd_Unk01E5
ScrCmd_Unk01E5: ; 0x0203E4F0
push {r3-r5, lr}
@@ -2490,7 +1605,7 @@ ScrCmd_Unk026C: ; 0x0203F19C
ldr r0, [r4, #0x0]
ldr r0, [r0, #0xc]
bl Save_FashionData_Get
bl sub_0202708C
bl Save_FashionData_GetFashionCase
mov r6, #0x0
add r7, r0, #0x0
add r4, r6, #0x0
@@ -2713,7 +1828,7 @@ ScrCmd_Unk0279: ; 0x0203F348
ldr r0, [r5, #0x0]
ldr r0, [r0, #0xc]
bl Save_FashionData_Get
bl sub_0202708C
bl Save_FashionData_GetFashionCase
add r1, r4, #0x0
add r2, r6, #0x0
bl sub_02027210

View File

@@ -527,8 +527,8 @@ _02027080: .word 0x000004FC
_02027084: .word 0x00001234
_02027088: .word 0x00002345
thumb_func_start sub_0202708C
sub_0202708C: ; 0x0202708C
thumb_func_start Save_FashionData_GetFashionCase
Save_FashionData_GetFashionCase: ; 0x0202708C
ldr r1, _02027094 ; =0x000007F4
add r0, r0, r1
bx lr
@@ -653,8 +653,8 @@ _0202715A:
bl sub_02026EF4
pop {r3-r5, pc}
thumb_func_start sub_02027168
sub_02027168: ; 0x02027168
thumb_func_start FashionCase_CountAccessories
FashionCase_CountAccessories: ; 0x02027168
push {r4-r6, lr}
mov r5, #0x0
add r6, r0, #0x0
@@ -670,8 +670,8 @@ _02027170:
add r0, r5, #0x0
pop {r4-r6, pc}
thumb_func_start sub_02027184
sub_02027184: ; 0x02027184
thumb_func_start FashionCase_CountWallpapers
FashionCase_CountWallpapers: ; 0x02027184
push {r4-r6, lr}
mov r5, #0x0
add r6, r0, #0x0

View File

@@ -1272,7 +1272,7 @@ sub_0203800C: ; 0x0203800C
bl sub_02027008
add r7, r0, #0x0
ldr r0, [sp, #0x0]
bl sub_0202708C
bl Save_FashionData_GetFashionCase
str r7, [r4, #0x4]
str r0, [r4, #0x8]
add r0, r5, #0x0
@@ -2193,7 +2193,7 @@ sub_02038790: ; 0x02038790
bl AllocFromHeapAtEnd
add r4, r0, #0x0
ldr r0, [r5, #0xc]
bl SaveStruct23_GetSubstruct2
bl Save_FrontierData_Get
str r0, [r4, #0x0]
ldr r0, [r5, #0xc]
bl SaveStruct23_GetSubstruct4

View File

@@ -582,14 +582,14 @@ gScriptCmdTable: ; 0x020F355C
.word ScrCmd_GetDaycareLevel
.word ScrCmd_Unk01AF
.word ScrCmd_Unk01B0
.word ScrCmd_Unk01B1
.word ScrCmd_Unk01B2
.word ScrCmd_Unk01B3
.word ScrCmd_Unk01B4
.word ScrCmd_HideEvent
.word ScrCmd_ShowEvent
.word ScrCmd_ShowMailbox
.word ScrCmd_CountMail
.word ScrCmd_Unk01B5
.word ScrCmd_Unk01B6
.word ScrCmd_Unk01B7
.word ScrCmd_Unk01B8
.word ScrCmd_GetTimeOfDay
.word ScrCmd_Random
.word ScrCmd_DummyRandom
.word ScrCmd_GetPartyMonFriendship
.word ScrCmd_AddPartyMonFriendship
.word ScrCmd_SubtractPartyMonFriendship
@@ -598,11 +598,11 @@ gScriptCmdTable: ; 0x020F355C
.word ScrCmd_Unk01BE
.word ScrCmd_Unk01BF
.word ScrCmd_CheckPartyForSpecies
.word ScrCmd_Unk01C1
.word ScrCmd_Unk01C2
.word ScrCmd_Unk01C3
.word ScrCmd_Unk01C4
.word ScrCmd_Unk01C5
.word ScrCmd_CheckPokemonSizeRecord
.word ScrCmd_SetPokemonSizeRecord
.word ScrCmd_BufferPartyPokemonSize
.word ScrCmd_BufferPokemonRecordSize
.word ScrCmd_InitPokemonRecordSize
.word ScrCmd_Unk01C6
.word ScrCmd_Unk01C7
.word ScrCmd_CountPartyMonMoves
@@ -637,10 +637,10 @@ gScriptCmdTable: ; 0x020F355C
.word ScrCmd_Unk01E5
.word ScrCmd_Unk01E6
.word ScrCmd_Unk01E7
.word ScrCmd_Unk01E8
.word ScrCmd_Unk01E9
.word ScrCmd_Unk01EA
.word ScrCmd_Unk01EB
.word ScrCmd_CheckSinnohDexComplete
.word ScrCmd_CheckNationalDexComplete
.word ScrCmd_RegisterSinnohPokedex
.word ScrCmd_RegisterNationalPokedex
.word ScrCmd_Unk01EC
.word ScrCmd_Unk01ED
.word ScrCmd_GetPartyMonHeldItem

View File

@@ -241,7 +241,7 @@ sub_02046214: ; 0x02046214
add r4, r1, #0x0
bl PlayerAvatar_GetMapObject
add r1, r4, #0x0
bl sub_0205889C
bl MapObject_SetVisible
pop {r4, pc}
thumb_func_start sub_02046224

View File

@@ -709,7 +709,7 @@ _0204C700:
beq _0204C736
add r0, r7, #0x0
mov r1, #0x1
bl sub_0205889C
bl MapObject_SetVisible
mov r0, #0x1
str r0, [r5, #0x4]
b _0204C798
@@ -750,7 +750,7 @@ _0204C770:
ldr r0, [r4, #0x38]
bl PlayerAvatar_GetMapObject
mov r1, #0x0
bl sub_0205889C
bl MapObject_SetVisible
mov r0, #0x1
pop {r3-r7, pc}
_0204C794:
@@ -795,7 +795,7 @@ _0204C7BE:
beq _0204C7FE
add r0, r7, #0x0
mov r1, #0x1
bl sub_0205889C
bl MapObject_SetVisible
mov r0, #0x1
str r0, [r4, #0x4]
ldr r1, _0204C81C ; =sub_0204C6D4

View File

@@ -534,7 +534,7 @@ _020532DA:
strb r0, [r4, #0x15]
add r0, r5, #0x0
mov r1, #0x1
bl sub_0205889C
bl MapObject_SetVisible
add r0, r5, #0x0
mov r1, #0x0
bl sub_020588B8
@@ -668,7 +668,7 @@ _020533CC:
bl sub_0205ADDC
add r0, r4, #0x0
mov r1, #0x0
bl sub_0205889C
bl MapObject_SetVisible
add r0, r4, #0x0
mov r1, #0x1
bl sub_020588B8
@@ -765,7 +765,7 @@ _020534AC:
_020534BC:
add r0, r4, #0x0
mov r1, #0x1
bl sub_0205889C
bl MapObject_SetVisible
add r0, r4, #0x0
mov r1, #0x0
bl sub_020588B8
@@ -824,7 +824,7 @@ _02053524:
bl sub_0205ADDC
add r0, r4, #0x0
mov r1, #0x0
bl sub_0205889C
bl MapObject_SetVisible
add r0, r4, #0x0
mov r1, #0x1
bl sub_020588B8

View File

@@ -542,7 +542,7 @@ sub_02054FE4: ; 0x02054FE4
add r4, r0, #0x0
ldrb r1, [r4, #0x9]
ldr r0, [r4, #0x0]
bl sub_0205889C
bl MapObject_SetVisible
ldrb r1, [r4, #0x8]
add r0, r1, #0x1
strb r0, [r4, #0x8]

View File

@@ -2908,8 +2908,8 @@ sub_02058890: ; 0x02058890
.balign 4
_02058898: .word sub_0205842C
thumb_func_start sub_0205889C
sub_0205889C: ; 0x0205889C
thumb_func_start MapObject_SetVisible
MapObject_SetVisible: ; 0x0205889C
push {r3, lr}
cmp r1, #0x1
bne _020588AC

View File

@@ -239,7 +239,7 @@ sub_02065078: ; 0x02065078
_020650A8:
add r0, r7, #0x0
bl Save_Pokedex_Get
bl Pokedex_HasCompletedNationalDex
bl Pokedex_NationalDexIsComplete
cmp r0, #0x0
beq _020650BC
add r0, r4, #0x1

View File

@@ -19,7 +19,7 @@ sub_02066840: ; 0x02066840
bl sub_02029AFC
add r5, r0, #0x0
add r0, r6, #0x0
bl SaveStruct23_GetSubstruct2
bl Save_FrontierData_Get
str r0, [sp, #0x4]
add r0, r7, #0x0
mov r1, #0x0
@@ -115,7 +115,7 @@ _020668FC:
ldr r0, [sp, #0x4]
mov r1, #0x7
mov r2, #0x0
bl SaveStruct23_Substruct2_SetFlag
bl FrontierData_SetFlag
add r1, r7, #0x0
add r1, #0xe2
strh r0, [r1, #0x0]
@@ -127,19 +127,19 @@ _020668FC:
ldr r0, [sp, #0x4]
ldr r1, [sp, #0x0]
add r2, r7, #0x0
bl SaveStruct23_Substruct2_GetArray
bl FrontierData_GetArray
add sp, #0xc
pop {r4-r7, pc}
_02066956:
ldr r0, [sp, #0x4]
bl SaveStruct23_Substruct2_GetField_0x16
bl FrontierData_GetField_0x16
add r1, r7, #0x0
add r1, #0xe2
strh r0, [r1, #0x0]
ldr r0, [sp, #0x4]
ldr r1, [sp, #0x0]
add r2, r7, #0x0
bl SaveStruct23_Substruct2_GetArray
bl FrontierData_GetArray
_0206696C:
add sp, #0xc
pop {r4-r7, pc}

View File

@@ -1326,7 +1326,7 @@ _02081624:
str r0, [r4, #0x14]
ldr r0, _02081660 ; =0x0000199C
ldr r0, [r5, r0]
bl sub_0202708C
bl Save_FashionData_GetFashionCase
ldr r1, _02081664 ; =0x000019A0
str r0, [r4, #0x18]
add r0, r5, r1
@@ -3234,7 +3234,7 @@ _0208241C:
ldr r0, _02082440 ; =0x0000198C
ldr r0, [r5, r0]
bl Save_FashionData_Get
bl sub_0202708C
bl Save_FashionData_GetFashionCase
add r1, r4, #0x0
mov r2, #0x1
bl sub_020270D8

View File

@@ -1542,8 +1542,8 @@
.extern Pokedex_CountSeenMons
.extern Pokedex_CountSinnohDexOwned
.extern Pokedex_CountSinnohDexSeen
.extern Pokedex_HasCompletedNationalDex
.extern Pokedex_HasCompletedSinnohDex
.extern Pokedex_NationalDexIsComplete
.extern Pokedex_SinnohDexIsComplete
.extern Pokedex_CountNationalDexOwned_OmitMythicals
.extern Pokedex_CountSinnohDexSeen_OmitMythicals
.extern Pokedex_CheckMonCaughtFlag
@@ -1781,15 +1781,15 @@
.extern sub_02026FE8
.extern sub_02027008
.extern sub_02027044
.extern sub_0202708C
.extern Save_FashionData_GetFashionCase
.extern CheckPortraitSlotFull
.extern CheckContestPortraitSlotFull
.extern sub_020270D8
.extern sub_02027100
.extern sub_02027114
.extern sub_0202714C
.extern sub_02027168
.extern sub_02027184
.extern FashionCase_CountAccessories
.extern FashionCase_CountWallpapers
.extern sub_020271A4
.extern sub_02027210
.extern sub_02027264
@@ -2000,7 +2000,7 @@
.extern GameStats_IncSpeciesCaught
.extern SaveStruct23_Substruct4_Substruct1_sizeof
.extern SaveStruct23_Substruct1_Init
.extern SaveStruct23_Substruct2_Init
.extern FrontierData_Init
.extern SaveStruct23_Messages_Init
.extern SaveStruct23_Substruct4_Init
.extern SaveStruct23_Substruct1_GetField
@@ -2008,18 +2008,18 @@
.extern sub_0202A36C
.extern SaveStruct23_Substruct1_GetFlag1
.extern SaveStruct23_Substruct1_SetFlag1
.extern SaveStruct23_Substruct2_SetField_0x0
.extern SaveStruct23_Substruct2_SetField_0x2
.extern SaveStruct23_Substruct2_SetField_0x3
.extern SaveStruct23_Substruct2_SetArray
.extern SaveStruct23_Substruct2_GetArray
.extern SaveStruct23_Substruct2_SetField_0x16
.extern SaveStruct23_Substruct2_GetField_0x16
.extern FrontierData_SetField_0x0
.extern FrontierData_SetField_0x2
.extern FrontierData_SetField_0x3
.extern FrontierData_SetArray
.extern FrontierData_GetArray
.extern FrontierData_SetField_0x16
.extern FrontierData_GetField_0x16
.extern sub_0202A524
.extern SaveStruct23_Substruct2_SetField_0xC
.extern SaveStruct23_Substruct2_SetFlag
.extern SaveStruct23_Substruct2_SetField_0x4
.extern SaveStruct23_Substruct2_GetField_0x4
.extern FrontierData_SetField_0xC
.extern FrontierData_SetFlag
.extern FrontierData_SetField_0x4
.extern FrontierData_GetField_0x4
.extern SaveStruct23_SetMessage
.extern SaveStruct23_GetMessage
.extern SaveStruct23_Substruct4_SetArrayFlag
@@ -2035,7 +2035,7 @@
.extern SaveStruct23_sizeof
.extern SaveStruct23_Init
.extern SaveStruct23_GetSubstruct1
.extern SaveStruct23_GetSubstruct2
.extern Save_FrontierData_Get
.extern SaveStruct23_GetSubstruct4
.extern sub_0202A8F4
.extern sub_0202A8F8
@@ -2987,19 +2987,19 @@
.extern ScrCmd_Unk01A1
.extern ScrCmd_Unk01A2
.extern ScrCmd_Unk003F
.extern ScrCmd_Unk01B1
.extern ScrCmd_Unk01B2
.extern ScrCmd_Unk01B3
.extern ScrCmd_Unk01B4
.extern ScrCmd_HideEvent
.extern ScrCmd_ShowEvent
.extern ScrCmd_ShowMailbox
.extern ScrCmd_CountMail
.extern ScrCmd_Unk01B5
.extern ScrCmd_Unk01B6
.extern ScrCmd_Unk01B7
.extern ScrCmd_Unk01B8
.extern ScrCmd_Unk01C1
.extern ScrCmd_Unk01C2
.extern ScrCmd_Unk01C3
.extern ScrCmd_Unk01C4
.extern ScrCmd_Unk01C5
.extern ScrCmd_GetTimeOfDay
.extern ScrCmd_Random
.extern ScrCmd_DummyRandom
.extern ScrCmd_CheckPokemonSizeRecord
.extern ScrCmd_SetPokemonSizeRecord
.extern ScrCmd_BufferPartyPokemonSize
.extern ScrCmd_BufferPokemonRecordSize
.extern ScrCmd_InitPokemonRecordSize
.extern ScrCmd_Unk01CC
.extern ScrCmd_Unk01CD
.extern ScrCmd_Unk01CE
@@ -3008,10 +3008,10 @@
.extern ScrCmd_Unk01D4
.extern ScrCmd_Unk01D5
.extern ScrCmd_Unk01D6
.extern ScrCmd_Unk01E8
.extern ScrCmd_Unk01E9
.extern ScrCmd_Unk01EA
.extern ScrCmd_Unk01EB
.extern ScrCmd_CheckSinnohDexComplete
.extern ScrCmd_CheckNationalDexComplete
.extern ScrCmd_RegisterSinnohPokedex
.extern ScrCmd_RegisterNationalPokedex
.extern ScrCmd_Unk01EC
.extern ScrCmd_Unk01ED
.extern ScrCmd_Unk01EF
@@ -4090,7 +4090,7 @@
.extern sub_0205886C
.extern sub_02058884
.extern sub_02058890
.extern sub_0205889C
.extern MapObject_SetVisible
.extern sub_020588B8
.extern sub_020588D4
.extern sub_020588EC
@@ -6868,10 +6868,10 @@
.extern ov05_021F379C
.extern ov05_021F3810
.extern ov05_021F38B8
.extern ov05_021F3A18
.extern ov05_021F3AB4
.extern ov05_021F3B4C
.extern ov05_021F3B7C
.extern Field_CheckPokemonSizeRecord
.extern Field_SetPokemonSizeRecord
.extern Field_BufferPokemonRecordSize
.extern Field_BufferPartyPokemonSize
.extern ov05_021F3BC0
.extern ov05_021F3C30
.extern ov05_021F3C60

View File

@@ -197,7 +197,7 @@ _021DA714:
bl sub_0205AE50
add r0, r6, #0
mov r1, #1
bl sub_0205889C
bl MapObject_SetVisible
ldr r0, [r5, #0x50]
mov r1, #1
bl ov05_021DA5AC
@@ -432,7 +432,7 @@ _021DA8F6:
ldr r0, [r5, #0x38]
bl PlayerAvatar_GetMapObject
mov r1, #0
bl sub_0205889C
bl MapObject_SetVisible
ldr r0, [r4]
add r0, r0, #1
str r0, [r4]
@@ -1377,13 +1377,13 @@ _021DB06E:
bne _021DB08C
add r0, r6, #0
mov r1, #1
bl sub_0205889C
bl MapObject_SetVisible
mov r0, #1
b _021DB096
_021DB08C:
add r0, r6, #0
mov r1, #0
bl sub_0205889C
bl MapObject_SetVisible
mov r0, #3
_021DB096:
str r0, [r4]
@@ -1414,7 +1414,7 @@ _021DB0CA:
bl PlayerAvatar_GetMapObject
add r6, r0, #0
mov r1, #0
bl sub_0205889C
bl MapObject_SetVisible
add r0, r6, #0
mov r1, #0xd
bl sub_0205ADDC
@@ -1484,7 +1484,7 @@ _021DB164:
ldr r0, [r4, #0x38]
bl PlayerAvatar_GetMapObject
mov r1, #1
bl sub_0205889C
bl MapObject_SetVisible
mov r0, #0
str r0, [r5, #8]
strb r0, [r5, #4]
@@ -1630,13 +1630,13 @@ _021DB27E:
bne _021DB2A0
ldr r0, [sp, #0x14]
mov r1, #1
bl sub_0205889C
bl MapObject_SetVisible
mov r0, #1
b _021DB2AA
_021DB2A0:
ldr r0, [sp, #0x14]
mov r1, #0
bl sub_0205889C
bl MapObject_SetVisible
mov r0, #3
_021DB2AA:
str r0, [r4]
@@ -1696,7 +1696,7 @@ _021DB30C:
bl PlayerAvatar_GetMapObject
add r6, r0, #0
mov r1, #0
bl sub_0205889C
bl MapObject_SetVisible
add r0, r6, #0
mov r1, #0xd
bl sub_0205ADDC
@@ -1781,13 +1781,13 @@ _021DB3AE:
bne _021DB3D0
add r0, r6, #0
mov r1, #1
bl sub_0205889C
bl MapObject_SetVisible
mov r0, #1
b _021DB3DA
_021DB3D0:
add r0, r6, #0
mov r1, #0
bl sub_0205889C
bl MapObject_SetVisible
mov r0, #3
_021DB3DA:
str r0, [r4]
@@ -1808,7 +1808,7 @@ _021DB3F6:
bl PlayerAvatar_GetMapObject
add r5, r0, #0
mov r1, #0
bl sub_0205889C
bl MapObject_SetVisible
add r0, r5, #0
mov r1, #0xd
bl sub_0205ADDC

View File

@@ -2073,10 +2073,10 @@ ov05_021E2AD4: ; 0x021E2AD4
bl NewString_ReadMsgData
str r0, [sp, #0x10]
ldr r0, [r6, #0xc]
bl SaveStruct23_GetSubstruct2
bl Save_FrontierData_Get
mov r1, #0
add r2, r1, #0
bl SaveStruct23_Substruct2_SetField_0x0
bl FrontierData_SetField_0x0
add r2, r0, #0
mov r0, #1
str r0, [sp]

View File

@@ -277,7 +277,7 @@ ov05_021F1EDC: ; 0x021F1EDC
push {r4, lr}
mov r1, #1
add r4, r0, #0
bl sub_0205889C
bl MapObject_SetVisible
mov r1, #1
add r0, r4, #0
lsl r1, r1, #0x14

View File

@@ -161,8 +161,8 @@ _021F3A0C: .word ov05_021FC5A8
_021F3A10: .word ov05_021FC5A6
_021F3A14: .word ov05_021FC5A4
thumb_func_start ov05_021F3A18
ov05_021F3A18: ; 0x021F3A18
thumb_func_start Field_CheckPokemonSizeRecord
Field_CheckPokemonSizeRecord: ; 0x021F3A18
push {r3, r4, r5, r6, r7, lr}
sub sp, #8
add r4, r0, #0
@@ -231,8 +231,8 @@ _021F3AAE:
add sp, #8
pop {r3, r4, r5, r6, r7, pc}
thumb_func_start ov05_021F3AB4
ov05_021F3AB4: ; 0x021F3AB4
thumb_func_start Field_SetPokemonSizeRecord
Field_SetPokemonSizeRecord: ; 0x021F3AB4
push {r3, r4, r5, lr}
add r4, r0, #0
ldr r0, [r4, #0xc]
@@ -300,8 +300,8 @@ ov05_021F3AE0: ; 0x021F3AE0
add sp, #8
pop {r3, r4, r5, r6, r7, pc}
thumb_func_start ov05_021F3B4C
ov05_021F3B4C: ; 0x021F3B4C
thumb_func_start Field_BufferPokemonRecordSize
Field_BufferPokemonRecordSize: ; 0x021F3B4C
push {r3, r4, r5, r6, r7, lr}
sub sp, #8
add r5, r0, #0
@@ -324,8 +324,8 @@ ov05_021F3B4C: ; 0x021F3B4C
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_start ov05_021F3B7C
ov05_021F3B7C: ; 0x021F3B7C
thumb_func_start Field_BufferPartyPokemonSize
Field_BufferPartyPokemonSize: ; 0x021F3B7C
push {r4, r5, r6, r7, lr}
sub sp, #0xc
add r5, r0, #0

View File

@@ -3138,7 +3138,7 @@ ov06_0223ADD4: ; 0x0223ADD4
str r0, [r5, #0x28]
ldr r0, [r5]
mov r1, #0
bl sub_0205889C
bl MapObject_SetVisible
add r0, r4, #0
mov r1, #0
bl ov06_0223AEF8
@@ -19965,26 +19965,26 @@ _02243414:
ov06_02243428: ; 0x02243428
push {r4, lr}
add r4, r1, #0
bl SaveStruct23_GetSubstruct2
bl Save_FrontierData_Get
cmp r4, #0
bne _0224343E
mov r1, #5
mov r2, #2
bl SaveStruct23_Substruct2_SetFlag
bl FrontierData_SetFlag
pop {r4, pc}
_0224343E:
mov r1, #5
mov r2, #1
bl SaveStruct23_Substruct2_SetFlag
bl FrontierData_SetFlag
pop {r4, pc}
thumb_func_start ov06_02243448
ov06_02243448: ; 0x02243448
push {r3, lr}
bl SaveStruct23_GetSubstruct2
bl Save_FrontierData_Get
mov r1, #5
mov r2, #0
bl SaveStruct23_Substruct2_SetFlag
bl FrontierData_SetFlag
lsl r0, r0, #0x10
lsr r0, r0, #0x10
pop {r3, pc}
@@ -19996,7 +19996,7 @@ ov06_0224345C: ; 0x0224345C
bl SaveStruct23_GetSubstruct1
add r4, r0, #0
add r0, r5, #0
bl SaveStruct23_GetSubstruct2
bl Save_FrontierData_Get
mov r1, #0
add r6, r0, #0
add r0, r4, #0
@@ -20015,11 +20015,11 @@ _02243484:
add r0, r6, #0
lsr r1, r1, #0x10
mov r2, #2
bl SaveStruct23_Substruct2_SetFlag
bl FrontierData_SetFlag
add r0, r6, #0
add r1, r4, #0
mov r2, #2
bl SaveStruct23_Substruct2_SetField_0xC
bl FrontierData_SetField_0xC
cmp r4, #4
beq _022434A8
add r0, r5, #0
@@ -20075,7 +20075,7 @@ ov06_022434D0: ; 0x022434D0
bl SaveStruct23_GetSubstruct1
str r0, [r4, #0x70]
add r0, r6, #0
bl SaveStruct23_GetSubstruct2
bl Save_FrontierData_Get
str r0, [r4, #0x74]
ldr r0, _02243688 ; =0x12345678
mov r1, #0
@@ -20226,7 +20226,7 @@ _0224362A:
lsl r1, r1, #0x10
lsr r1, r1, #0x10
mov r2, #0
bl SaveStruct23_Substruct2_SetFlag
bl FrontierData_SetFlag
lsl r0, r0, #0x10
lsr r0, r0, #0x10
beq _02243668
@@ -20244,7 +20244,7 @@ _02243668:
ldrb r1, [r4, #0xf]
ldr r0, [r4, #0x74]
mov r2, #0
bl SaveStruct23_Substruct2_SetField_0xC
bl FrontierData_SetField_0xC
strh r0, [r4, #0x1c]
_0224367E:
add r0, r4, #0
@@ -20717,7 +20717,7 @@ _022439B8:
bl SaveStruct23_Substruct1_SetField
ldr r0, [r5, #0x74]
ldr r1, [r5, #0x70]
bl SaveStruct23_Substruct2_SetField_0x16
bl FrontierData_SetField_0x16
_022439F6:
pop {r3, r4, r5, r6, r7, pc}
@@ -20771,7 +20771,7 @@ _02243A52:
add r1, #8
lsl r1, r1, #0x10
lsr r1, r1, #0x10
bl SaveStruct23_Substruct2_SetFlag
bl FrontierData_SetFlag
lsl r0, r0, #0x10
lsr r0, r0, #0x10
beq _02243A74
@@ -20793,7 +20793,7 @@ _02243A7E:
lsl r1, r1, #0x10
lsr r1, r1, #0x10
mov r2, #2
bl SaveStruct23_Substruct2_SetFlag
bl FrontierData_SetFlag
ldrb r2, [r5, #0xd]
ldr r0, [sp, #4]
mov r1, #0x1d
@@ -20801,7 +20801,7 @@ _02243A7E:
ldrb r1, [r5, #0xf]
ldr r0, [r5, #0x74]
mov r2, #2
bl SaveStruct23_Substruct2_SetField_0xC
bl FrontierData_SetField_0xC
ldr r0, [sp, #8]
bl Save_GameStats_Get
mov r1, #0xf
@@ -20849,7 +20849,7 @@ ov06_02243AD8: ; 0x02243AD8
lsr r1, r1, #0x10
mov r2, #0
add r4, #0x35
bl SaveStruct23_Substruct2_SetFlag
bl FrontierData_SetFlag
lsl r0, r0, #0x10
lsr r0, r0, #0x10
beq _02243B1A
@@ -20872,7 +20872,7 @@ _02243B26:
add r1, #8
lsl r1, r1, #0x10
lsr r1, r1, #0x10
bl SaveStruct23_Substruct2_SetFlag
bl FrontierData_SetFlag
add r0, r6, #0
add r1, r4, #0
bl GameStats_GetCapped
@@ -20887,7 +20887,7 @@ _02243B26:
ldrb r1, [r5, #0xf]
ldr r0, [r5, #0x74]
mov r2, #3
bl SaveStruct23_Substruct2_SetField_0xC
bl FrontierData_SetField_0xC
add r0, r6, #0
mov r1, #0xf
mov r2, #1
@@ -21234,13 +21234,13 @@ _02243DEE:
ldr r0, [r4, #0x74]
bne _02243E00
mov r1, #0
bl SaveStruct23_Substruct2_SetField_0x3
bl FrontierData_SetField_0x3
ldr r1, _02243E2C ; =0x02250C5C
ldrb r5, [r1, r0]
b _02243E1E
_02243E00:
mov r2, #0
bl SaveStruct23_Substruct2_SetField_0xC
bl FrontierData_SetField_0xC
ldrb r1, [r4, #0x10]
lsl r1, r1, #0x1d
lsr r1, r1, #0x1e
@@ -21259,7 +21259,7 @@ _02243E1E:
ldr r0, [r4, #0x74]
add r1, r5, #0
mov r2, #5
bl SaveStruct23_Substruct2_SetField_0x0
bl FrontierData_SetField_0x0
add r0, r5, #0
pop {r3, r4, r5, pc}
.align 2, 0
@@ -21283,7 +21283,7 @@ _02243E48:
blo _02243E5E
mov r1, #1
mov r2, #0
bl SaveStruct23_Substruct2_SetFlag
bl FrontierData_SetFlag
cmp r0, #0
beq _02243E6E
mov r0, #0
@@ -21291,7 +21291,7 @@ _02243E48:
_02243E5E:
mov r1, #0
add r2, r1, #0
bl SaveStruct23_Substruct2_SetFlag
bl FrontierData_SetFlag
cmp r0, #0
beq _02243E6E
mov r0, #0
@@ -21307,7 +21307,7 @@ ov06_02243E74: ; 0x02243E74
add r6, r0, #0
add r0, r1, #0
add r5, r2, #0
bl SaveStruct23_GetSubstruct2
bl Save_FrontierData_Get
add r4, r0, #0
cmp r5, #0
beq _02243E90
@@ -21318,15 +21318,15 @@ ov06_02243E74: ; 0x02243E74
b _02243F10
_02243E90:
mov r1, #0
bl SaveStruct23_Substruct2_SetField_0x3
bl FrontierData_SetField_0x3
pop {r4, r5, r6, pc}
_02243E98:
mov r1, #4
mov r2, #2
bl SaveStruct23_Substruct2_SetFlag
bl FrontierData_SetFlag
add r0, r4, #0
mov r1, #0
bl SaveStruct23_Substruct2_SetField_0x3
bl FrontierData_SetField_0x3
add r5, r0, #0
cmp r5, #0xa
bne _02243EB2
@@ -21335,7 +21335,7 @@ _02243E98:
_02243EB2:
add r0, r4, #0
mov r1, #3
bl SaveStruct23_Substruct2_SetField_0x3
bl FrontierData_SetField_0x3
add r0, r5, #1
cmp r0, #5
blt _02243EC8
@@ -21348,11 +21348,11 @@ _02243EC8:
pop {r4, r5, r6, pc}
_02243ECC:
mov r1, #3
bl SaveStruct23_Substruct2_SetField_0x2
bl FrontierData_SetField_0x2
add r5, r0, #0
add r0, r4, #0
mov r1, #0
bl SaveStruct23_Substruct2_SetField_0x3
bl FrontierData_SetField_0x3
cmp r0, #1
bne _02243EE4
mov r0, #0
@@ -21365,14 +21365,14 @@ _02243EE4:
blo _02243F0C
add r0, r4, #0
mov r1, #4
bl SaveStruct23_Substruct2_SetField_0x3
bl FrontierData_SetField_0x3
add r0, r4, #0
mov r1, #2
bl SaveStruct23_Substruct2_SetField_0x2
bl FrontierData_SetField_0x2
add r0, r4, #0
mov r1, #4
mov r2, #2
bl SaveStruct23_Substruct2_SetFlag
bl FrontierData_SetFlag
mov r0, #1
pop {r4, r5, r6, pc}
_02243F0C:
@@ -21476,7 +21476,7 @@ ov06_02243F9C: ; 0x02243F9C
add r1, #8
lsl r1, r1, #0x10
lsr r1, r1, #0x10
bl SaveStruct23_Substruct2_SetFlag
bl FrontierData_SetFlag
lsl r0, r0, #0x18
lsr r0, r0, #0x18
bne _02243FC0
@@ -21749,7 +21749,7 @@ _022441B8:
ldr r0, [r6, #0x74]
ldr r1, [sp]
ldr r2, [sp, #4]
bl SaveStruct23_Substruct2_SetArray
bl FrontierData_SetArray
ldr r0, [sp, #4]
mov r1, #0
mov r2, #0xa8
@@ -22424,7 +22424,7 @@ _0224471C:
ldr r0, [r6, #0x74]
mov r1, #3
mov r2, #0
bl SaveStruct23_Substruct2_SetField_0xC
bl FrontierData_SetField_0xC
ldr r1, _02244754 ; =0x00000844
strh r0, [r6, r1]
pop {r3, r4, r5, r6, r7, pc}
@@ -26512,7 +26512,7 @@ ov06_02246658: ; 0x02246658
add r4, r1, #0
bl PlayerAvatar_GetMapObject
add r1, r4, #0
bl sub_0205889C
bl MapObject_SetVisible
pop {r4, pc}
.align 2, 0
@@ -30718,7 +30718,7 @@ ov06_02248654: ; 0x02248654
bl sub_02058914
add r0, r5, #0
add r1, r4, #0
bl sub_0205889C
bl MapObject_SetVisible
pop {r3, r4, r5, pc}
thumb_func_start ov06_02248670
@@ -32179,7 +32179,7 @@ ov06_02249184: ; 0x02249184
push {r3, lr}
ldr r0, [r0, #0xc]
bl Save_Pokedex_Get
bl Pokedex_HasCompletedSinnohDex
bl Pokedex_SinnohDexIsComplete
pop {r3, pc}
.align 2, 0
@@ -41159,7 +41159,7 @@ ov06_0224D70C: ; 0x0224D70C
str r6, [r4, #8]
add r0, r6, #0
bl Save_FashionData_Get
bl sub_0202708C
bl Save_FashionData_GetFashionCase
str r0, [r4, #0xc]
add r0, r6, #0
bl Save_Bag_Get

View File

@@ -35,7 +35,7 @@ ov74_021D74E0: ; 0x021D74E0
bl Save_GameStats_Get
str r0, [r4, #0x1c]
ldr r0, [r5]
bl SaveStruct23_GetSubstruct2
bl Save_FrontierData_Get
str r0, [r4, #0x20]
ldr r0, [r5]
bl SaveStruct23_GetSubstruct4
@@ -967,7 +967,7 @@ ov74_021D7C10: ; 0x021D7C10
ldr r0, [r5, #0x20]
lsr r1, r1, #0x10
mov r2, #0
bl SaveStruct23_Substruct2_SetFlag
bl FrontierData_SetFlag
lsl r2, r0, #0x10
add r0, sp, #0x18
ldrb r6, [r0, #0x10]
@@ -1195,7 +1195,7 @@ _021D7E04:
bl AddTextPrinterParameterized2
ldr r0, [r4, #0x20]
mov r1, #0
bl SaveStruct23_Substruct2_SetField_0x3
bl FrontierData_SetField_0x3
mov r1, #0
add r2, r0, #0
str r1, [sp]

View File

@@ -1400,7 +1400,7 @@ ov82_0222E050: ; 0x0222E050
ldr r0, [r4]
mov r1, #0
ldr r0, [r0]
bl SaveStruct23_Substruct2_SetField_0x3
bl FrontierData_SetField_0x3
str r0, [r4, #0x38]
str r0, [r4, #0x3c]
mov r0, #1
@@ -2995,7 +2995,7 @@ _0222ED32:
mov r1, #5
ldr r0, [r0]
mov r2, #2
bl SaveStruct23_Substruct2_SetFlag
bl FrontierData_SetFlag
add r0, r4, #0
mov r1, #0x25
mov r2, #0x1a

View File

@@ -14,9 +14,9 @@
#include "seal.h"
#include "unk_0202A1E0.h"
extern u32 *sub_0202708C(SaveFashionData *);
extern u32 sub_02027168(u32 *);
extern u16 sub_02027184(u32 *);
extern FashionCase *Save_FashionData_GetFashionCase(SaveFashionData *);
extern u32 FashionCase_CountAccessories(FashionCase *fashionCase);
extern u16 FashionCase_CountWallpapers(FashionCase *fashionCase);
extern SaveFashionData *Save_FashionData_Get(struct SaveData *save);
extern u8 SealCase_CountSealOccurrenceAnywhere(struct SealCase *, u32);
@@ -118,19 +118,19 @@ static u32 GetSealCount(struct SaveData *save)
}
//todo: do these match up with HG?
u32 sub_0206E3C8(struct SaveData *save)
u32 GetNumFashionAccessories(struct SaveData *save)
{
return sub_02027168(sub_0202708C(Save_FashionData_Get(save)));
return FashionCase_CountAccessories(Save_FashionData_GetFashionCase(Save_FashionData_Get(save)));
}
u32 sub_0206E3D8(struct SaveData *save)
u32 GetNumFashionBackgrounds(struct SaveData *save)
{
return sub_02027184(sub_0202708C(Save_FashionData_Get(save)));
return FashionCase_CountWallpapers(Save_FashionData_GetFashionCase(Save_FashionData_Get(save)));
}
u32 sub_0206E3E8(struct SaveData *save)
u32 GetNumBattlePoints(struct SaveData *save)
{
return SaveStruct23_Substruct2_SetField_0x0(SaveStruct23_GetSubstruct2(save), 0, DATA_GET);
return FrontierData_SetField_0x0(Save_FrontierData_Get(save), 0, DATA_GET);
}
BOOL TryFormatRegisteredKeyItemUseMessage(struct SaveData *save, struct String *dest, u32 item_id, u32 heap_id)
@@ -147,7 +147,7 @@ BOOL TryFormatRegisteredKeyItemUseMessage(struct SaveData *save, struct String *
{
string = NewString_ReadMsgData(msgData, narc_0007_00097); // Saved Battle Points {STRVAR_1 53, 0}BP
BufferIntegerAsString(messageFormat, 0, sub_0206E3E8(save), 4, PRINTING_MODE_LEFT_ALIGN, TRUE);
BufferIntegerAsString(messageFormat, 0, GetNumBattlePoints(save), 4, PRINTING_MODE_LEFT_ALIGN, TRUE);
}
else if (item_id == ITEM_SEAL_CASE)
{
@@ -159,8 +159,8 @@ BOOL TryFormatRegisteredKeyItemUseMessage(struct SaveData *save, struct String *
{
string = NewString_ReadMsgData(msgData, narc_0007_00093); // Accessories: {STRVAR_1 52, 0} Backdrops: {STRVAR_1 51, 1}
BufferIntegerAsString(messageFormat, 0, sub_0206E3C8(save), 3, PRINTING_MODE_LEFT_ALIGN, TRUE);
BufferIntegerAsString(messageFormat, 1, sub_0206E3D8(save), 2, PRINTING_MODE_LEFT_ALIGN, TRUE);
BufferIntegerAsString(messageFormat, 0, GetNumFashionAccessories(save), 3, PRINTING_MODE_LEFT_ALIGN, TRUE);
BufferIntegerAsString(messageFormat, 1, GetNumFashionBackgrounds(save), 2, PRINTING_MODE_LEFT_ALIGN, TRUE);
}
else if (item_id == ITEM_COIN_CASE)
{

View File

@@ -427,12 +427,12 @@ u16 Pokedex_CountSinnohDexSeen(struct Pokedex * pokedex)
return (u16)count;
}
BOOL Pokedex_HasCompletedNationalDex(struct Pokedex * pokedex)
BOOL Pokedex_NationalDexIsComplete(struct Pokedex * pokedex)
{
return Pokedex_CountNationalDexOwned_OmitMythicals(pokedex) >= 482;
}
BOOL Pokedex_HasCompletedSinnohDex(struct Pokedex * pokedex)
BOOL Pokedex_SinnohDexIsComplete(struct Pokedex * pokedex)
{
return Pokedex_CountSinnohDexSeen_OmitMythicals(pokedex) >= 150;
}

View File

@@ -11,6 +11,7 @@
#include "fashion_case.h"
#include "hall_of_fame.h"
#include "main.h"
#include "math_util.h"
#include "message_format.h"
#include "options.h"
#include "party.h"
@@ -28,6 +29,7 @@
#include "unk_020337E8.h"
#include "unk_020377F0.h"
#include "unk_0204AF24.h"
#include "unk_0204B0A0.h"
#include "unk_0205EC84.h"
#include "unk_0208890C.h"
@@ -91,7 +93,7 @@ extern u32 sub_020575D4(MapObjectManager *mapObjectManager, u16 eventVar, u32 pa
extern void sub_02057688(LocalMapObject *event);
extern LocalMapObject *sub_0205753C(MapObjectManager *mapObjectManager, u16 x, u16 y, u16 z, u32 param4, u32 param5, u32 mapId);
extern u32 sub_02059D1C(LocalMapObject *target);
extern LocalMapObject *sub_0205889C(LocalMapObject *target, u32 param1);
extern LocalMapObject *MapObject_SetVisible(LocalMapObject *target, BOOL visible);
extern LocalMapObject *sub_020588B8(LocalMapObject *target, u32 param1);
extern VecFx32 *sub_02058B7C(LocalMapObject *target);
extern void ov05_021EF5E0(VecFx32 *target, u32 param1);
@@ -118,8 +120,8 @@ extern void *sub_02037BB0(u32 param0, FieldSystem *fieldSystem, u16 param2, u16
extern void *sub_02037C00(u32 param0, FieldSystem *fieldSystem, u16 param2);
extern u16 sub_02037A78(void *runningAppData);
extern u16 ov05_021E1858(FieldSystem *fieldSystem, LocalMapObject *event, u16 param2);
extern u32 sub_02029048(u32 param0);
extern void sub_02028AD4(u32 *param0, u32 param1, u32 param2);
extern void *sub_02029048(u32 param0);
extern void sub_02028AD4(u32 *param0, void *param1, BOOL param2);
extern void sub_0204AF3C(TaskManager *taskManager);
extern SaveFashionData *Save_FashionData_Get(SaveData *save);
extern BOOL CheckPortraitSlotFull(SaveFashionData *fashionData, u32 portraitSlot);
@@ -270,13 +272,40 @@ extern void InitSunyshoreGym(FieldSystem *fieldSystem, u8 room);
extern void RotateSunyshoreGymGear(FieldSystem *fieldSystem, u8 rotation);
extern void HatchEggInParty(FieldSystem *fieldSystem);
extern void *ov18_0224CA54(u16 param0, FieldSystem *fieldSystem, u32 mapObjectId);
extern u16 ov18_0224CA2C(void *param0);
extern u8 ov18_0224CA58(u16 param0);
extern void ov11_0224CA94(void);
extern void ov18_0224CAA0(u8 param0, u16 param1);
extern void ov18_0224CAB4(u8 param0, u16 param1);
extern void ov06_02242BE0(TaskManager *taskManager, u32 param1, u32 param2, u32 param3, u32 param4, u32 param5);
extern void sub_02066818(TaskManager *taskManager);
extern void sub_02063650(TaskManager *taskManager, u16 param1);
extern u16 Field_CheckPokemonSizeRecord(FieldSystem *fieldSystem, u16 partyPosition);
extern void Field_SetPokemonSizeRecord(FieldSystem *fieldSystem, u16 partyPosition);
extern void Field_BufferPartyPokemonSize(FieldSystem *fieldSystem, u8 intStrBuffer, u8 decimalStrBuffer, u16 partyPosition);
extern void Field_BufferPokemonRecordSize(FieldSystem *fieldSystem, u8 intStrBuffer, u8 decimalStrBuffer, u16 species);
extern u32 sub_020289A4(SaveData *saveData);
extern u32 *sub_020289B0(u32 param0, u32 param1);
extern void sub_02048C58(FieldSystem *fieldSystem);
extern void *sub_02029120(u32 param0);
extern void *sub_0202912C(u32 param0);
extern void *sub_02029138(u16 param0, u32 param1);
extern void *sub_0202914C(u8 param0, u16 param1, u32 param2);
extern void sub_0205F3F8(ScriptState *state, u32 param1);
extern FashionCase *Save_FashionData_GetFashionCase(SaveFashionData *saveFashionData);
extern void sub_020271A4(FashionCase *fashionCase, u16 param1, u16 param2);
extern u16 sub_020270D8(FashionCase *fashionCase, u16 param1, u16 param2);
extern u16 sub_02027114(FashionCase *fashionCase, u16 param1);
extern void sub_02027264(FashionCase *fashionCase, u16 param1);
extern u16 sub_02027100(FashionCase *fashionCase, u16 param1);
extern PokedexAppData *sub_02038AF4(FieldSystem *fieldSystem, u32 heapId, BOOL isNational);
extern void ov06_0224CBB0(SaveData *saveData);
extern u16 ov06_0224CC24(SaveData *saveData);
u8 UNK_021C5A0C[4];
extern u8 *UNK_020F34E0;
extern BOOL sub_0203DDC0(ScriptContext *ctx);
static BOOL RunPauseTimer(ScriptContext *ctx);
static u32 Compare(u16 a, u16 b);
static BOOL sub_02039CC8(ScriptContext *ctx);
@@ -313,6 +342,8 @@ static BOOL sub_0203D5CC(ScriptContext *ctx);
static BOOL sub_0203D688(ScriptContext *ctx);
static BOOL sub_0203D6E0(ScriptContext *ctx);
static BOOL sub_0203D904(ScriptContext *ctx);
static BOOL sub_0203DDC0(ScriptContext *ctx);
static BOOL sub_0203DE38(ScriptContext *ctx);
extern u8 sScriptConditionTable[6][3];
@@ -1719,7 +1750,7 @@ BOOL ScrCmd_LockCamera(ScriptContext *ctx) { //0066
LocalMapObject **targetPtr = FieldSysGetAttrAddr(ctx->fieldSystem, SCRIPTENV_CAMERA_TARGET);
*targetPtr = sub_0205753C(ctx->fieldSystem->mapObjectManager, x, y, 0, 0x2000, 0, ctx->fieldSystem->location->mapId);
sub_02059D1C(*targetPtr);
sub_0205889C(*targetPtr, 1);
MapObject_SetVisible(*targetPtr, TRUE);
sub_020588B8(*targetPtr, 0);
VecFx32 *position = sub_02058B7C(*targetPtr);
ov05_021EF5E0(position, ctx->fieldSystem->unk24);
@@ -2001,7 +2032,7 @@ static BOOL sub_0203BBBC(ScriptContext *ctx) {
return FALSE;
}
if (pcBoxData->unk08 == TRUE) {
sub_02028AD4(fieldSystem->unk98, sub_02029048(11), 1);
sub_02028AD4(fieldSystem->unk98, sub_02029048(11), TRUE);
}
FreeToHeap(*pcBoxDataPtr);
*pcBoxDataPtr = NULL;
@@ -3352,3 +3383,285 @@ BOOL ScrCmd_Unk019E(ScriptContext *ctx) { //019E
SetupNativeScript(ctx, sub_0203DDC0);
return TRUE;
}
static BOOL sub_0203DDC0(ScriptContext *ctx) {
void **miscDataPtr = FieldSysGetAttrAddr(ctx->fieldSystem, SCRIPTENV_MISC_DATA_PTR); //todo: identify what this is
u16 *var = GetVarPointer(ctx->fieldSystem, ctx->data[0]);
*var = ov18_0224CA2C(*miscDataPtr);
if (*var != 0xFFFE) {
return TRUE;
}
return FALSE;
}
BOOL ScrCmd_Unk019F(ScriptContext *ctx) { //019F
u8 *textPrinterNumber = FieldSysGetAttrAddr(ctx->fieldSystem, SCRIPTENV_TEXT_PRINTER_NUMBER);
u16 unk0 = ScriptGetVar(ctx);
*textPrinterNumber = ov18_0224CA58(unk0);
SetupNativeScript(ctx, sub_0203DE38);
return TRUE;
}
static BOOL sub_0203DE38(ScriptContext *ctx) {
u8 *textPrinterNumber = FieldSysGetAttrAddr(ctx->fieldSystem, SCRIPTENV_TEXT_PRINTER_NUMBER);
return sub_020546C8(*textPrinterNumber);
}
BOOL ScrCmd_Unk01A0(ScriptContext *ctx) { //01A0
ov11_0224CA94();
return FALSE;
}
BOOL ScrCmd_Unk01A1(ScriptContext *ctx) { //01A1
u8 unk0 = ScriptReadByte(ctx);
u16 unk1 = ScriptGetVar(ctx);
ov18_0224CAA0(unk0, unk1);
return FALSE;
}
BOOL ScrCmd_Unk01A2(ScriptContext *ctx) { //01A2
u8 unk0 = ScriptReadByte(ctx);
u16 unk1 = ScriptGetVar(ctx);
ov18_0224CAB4(unk0, unk1);
return FALSE;
}
BOOL ScrCmd_Unk003F(ScriptContext *ctx) { //003F
ov06_02242BE0(ctx->taskManager, 1, 1, 0, 0, 0);
return TRUE;
}
BOOL ScrCmd_HideEvent(ScriptContext *ctx) { //01B1
FieldSystem *fieldSystem = ctx->fieldSystem;
u16 eventId = ScriptGetVar(ctx);
LocalMapObject *localMapObject = GetMapObjectByID(fieldSystem->mapObjectManager, eventId);
GF_ASSERT(localMapObject);
MapObject_SetVisible(localMapObject, FALSE);
return FALSE;
}
BOOL ScrCmd_ShowEvent(ScriptContext *ctx) { //01B2
FieldSystem *fieldSystem = ctx->fieldSystem;
u16 eventId = ScriptGetVar(ctx);
LocalMapObject *localMapObject = GetMapObjectByID(fieldSystem->mapObjectManager, eventId);
GF_ASSERT(localMapObject);
MapObject_SetVisible(localMapObject, TRUE);
return FALSE;
}
BOOL ScrCmd_ShowMailbox(ScriptContext *ctx) { //01B3
sub_02066818(ctx->taskManager); //CallTask_ShowMailbox?
return TRUE;
}
BOOL ScrCmd_CountMail(ScriptContext *ctx) { //01B4
FieldSystem *fieldSystem = ctx->fieldSystem;
u16 *var = ScriptGetVarPointer(ctx);
Mail *mailbox = Save_Mailbox_Get(fieldSystem->saveData);
*var = Mailbox_CountMessages(mailbox, 0);
return FALSE;
}
BOOL ScrCmd_Unk01B5(ScriptContext *ctx) { //01B5
u16 unk0 = ScriptGetVar(ctx);
sub_02063650(ctx->taskManager, unk0);
return TRUE;
}
BOOL ScrCmd_GetTimeOfDay(ScriptContext *ctx) { //01B6
u16 *var = ScriptGetVarPointer(ctx);
*var = Script_GetTimeOfDay(ctx->fieldSystem);
return FALSE;
}
BOOL ScrCmd_Random(ScriptContext *ctx) { //01B7
u16 *var = ScriptGetVarPointer(ctx);
u16 range = ScriptGetVar(ctx);
*var = LCRandom() % range;
return TRUE;
}
BOOL ScrCmd_DummyRandom(ScriptContext *ctx) { //01B8
u16 *var = ScriptGetVarPointer(ctx);
u16 range = ScriptGetVar(ctx);
*var = LCRandom() % range;
return TRUE;
}
BOOL ScrCmd_CheckPokemonSizeRecord(ScriptContext *ctx) { //01C1
FieldSystem *fieldSystem = ctx->fieldSystem;
u16 *var = ScriptGetVarPointer(ctx);
u16 partyPosition = ScriptGetVar(ctx);
*var = Field_CheckPokemonSizeRecord(fieldSystem, partyPosition);
return FALSE;
}
BOOL ScrCmd_SetPokemonSizeRecord(ScriptContext *ctx) { //01C2
FieldSystem *fieldSystem = ctx->fieldSystem;
u16 partyPosition = ScriptGetVar(ctx);
Field_SetPokemonSizeRecord(fieldSystem, partyPosition);
return FALSE;
}
BOOL ScrCmd_BufferPartyPokemonSize(ScriptContext *ctx) { //01C3
FieldSystem *fieldSystem = ctx->fieldSystem;
u16 intStrBuffer = ScriptGetVar(ctx);
u16 decimalStrBuffer = ScriptGetVar(ctx);
u16 partyPosition = ScriptGetVar(ctx);
Field_BufferPartyPokemonSize(fieldSystem, intStrBuffer, decimalStrBuffer, partyPosition);
return FALSE;
}
BOOL ScrCmd_BufferPokemonRecordSize(ScriptContext *ctx) { //01C4
FieldSystem *fieldSystem = ctx->fieldSystem;
u16 intStrBuffer = ScriptGetVar(ctx);
u16 decimalStrBuffer = ScriptGetVar(ctx);
u16 species = ScriptGetVar(ctx);
Field_BufferPokemonRecordSize(fieldSystem, intStrBuffer, decimalStrBuffer, species);
return FALSE;
}
BOOL ScrCmd_InitPokemonRecordSize(ScriptContext *ctx) { //01C5
ScriptState *state = SaveArray_Flags_Get(ctx->fieldSystem->saveData);
sub_0205F3F8(state, 33280); //todo: what constant is this
return FALSE;
}
BOOL ScrCmd_Unk01CC(ScriptContext *ctx) { //01CC
FieldSystem *fieldSystem = ctx->fieldSystem;
ScriptState *state = SaveArray_Flags_Get(fieldSystem->saveData);
sub_0205F2D4(state, 1); //set flag
u32 unk0 = sub_020289A4(fieldSystem->saveData);
u32 *unk1 = sub_020289B0(unk0, 1);
fieldSystem->unk98 = unk1;
sub_02048C58(fieldSystem);
return FALSE;
}
BOOL ScrCmd_Unk01CD(ScriptContext *ctx) { //01CD
u16 unk0 = ScriptGetVar(ctx);
u16 unk1 = ScriptGetVar(ctx);
u16 unk2 = ScriptGetVar(ctx);
u16 unk3 = ScriptGetVar(ctx);
u16 unk4 = ScriptGetVar(ctx);
void **miscDataPtr = FieldSysGetAttrAddr(ctx->fieldSystem, SCRIPTENV_MISC_DATA_PTR); //todo: identify this
BOOL unk5; //this will literally always be true... GF why?
switch ((unk0 - 16)) {
case 0:
unk5 = TRUE;
*miscDataPtr = sub_02029120(4);
break;
case 1:
unk5 = TRUE;
*miscDataPtr = sub_0202912C(4);
break;
case 2:
unk5 = TRUE;
*miscDataPtr = sub_02029138(unk1, 4);
break;
case 3:
case 5:
case 6:
case 7:
case 8:
case 9:
case 10:
unk5 = TRUE;
*miscDataPtr = sub_0202914C(unk0 - 19, unk1, 4);
break;
default:
return TRUE;
}
sub_02028AD4(ctx->fieldSystem->unk98, *miscDataPtr, unk5);
return TRUE;
}
BOOL ScrCmd_Unk01CE(ScriptContext *ctx) { //01CE
return FALSE;
}
BOOL ScrCmd_Unk01D2(ScriptContext *ctx) { //01D2
u16 unk0 = ScriptGetVar(ctx);
u16 unk1 = ScriptGetVar(ctx);
sub_020271A4(Save_FashionData_GetFashionCase(Save_FashionData_Get(ctx->fieldSystem->saveData)), unk0, unk1);
return FALSE;
}
BOOL ScrCmd_Unk01D3(ScriptContext *ctx) { //01D3
u16 unk0 = ScriptGetVar(ctx);
u16 unk1 = ScriptGetVar(ctx);
u16 *var = ScriptGetVarPointer(ctx);
*var = sub_020270D8(Save_FashionData_GetFashionCase(Save_FashionData_Get(ctx->fieldSystem->saveData)), unk0, unk1);
return FALSE;
}
BOOL ScrCmd_Unk01D4(ScriptContext *ctx) { //01D4
u16 unk0 = ScriptGetVar(ctx);
u16 unk1 = ScriptGetVar(ctx);
u16 *var = ScriptGetVarPointer(ctx);
*var = unk1 <= sub_02027114(Save_FashionData_GetFashionCase(Save_FashionData_Get(ctx->fieldSystem->saveData)), unk0);
return FALSE;
}
BOOL ScrCmd_Unk01D5(ScriptContext *ctx) { //01D5
u16 unk0 = ScriptGetVar(ctx);
sub_02027264(Save_FashionData_GetFashionCase(Save_FashionData_Get(ctx->fieldSystem->saveData)), unk0);
return FALSE;
}
BOOL ScrCmd_Unk01D6(ScriptContext *ctx) { //01D6
u16 unk0 = ScriptGetVar(ctx);
u16 *var = ScriptGetVarPointer(ctx);
*var = sub_02027100(Save_FashionData_GetFashionCase(Save_FashionData_Get(ctx->fieldSystem->saveData)), unk0);
return FALSE;
}
BOOL ScrCmd_CheckSinnohDexComplete(ScriptContext *ctx) { //01E8
Pokedex *pokedex = Save_Pokedex_Get(ctx->fieldSystem->saveData);
u16 *var = ScriptGetVarPointer(ctx);
*var = FALSE;
if (Pokedex_SinnohDexIsComplete(pokedex) == TRUE) {
*var = TRUE;
}
return FALSE;
}
BOOL ScrCmd_CheckNationalDexComplete(ScriptContext *ctx) { //01E9
Pokedex *pokedex = Save_Pokedex_Get(ctx->fieldSystem->saveData);
u16 *var = ScriptGetVarPointer(ctx);
*var = FALSE;
if (Pokedex_NationalDexIsComplete(pokedex) == TRUE) {
*var = TRUE;
}
return FALSE;
}
BOOL ScrCmd_RegisterSinnohPokedex(ScriptContext *ctx) { //01EA
PokedexAppData **pokedexAppData = FieldSysGetAttrAddr(ctx->fieldSystem, SCRIPTENV_RUNNING_APP_DATA);
*pokedexAppData = sub_02038AF4(ctx->fieldSystem, 32, FALSE);
SetupNativeScript(ctx, sub_0203BB90);
return TRUE;
}
BOOL ScrCmd_RegisterNationalPokedex(ScriptContext *ctx) { //01EB
PokedexAppData **pokedexAppData = FieldSysGetAttrAddr(ctx->fieldSystem, SCRIPTENV_RUNNING_APP_DATA);
*pokedexAppData = sub_02038AF4(ctx->fieldSystem, 32, TRUE);
SetupNativeScript(ctx, sub_0203BB90);
return TRUE;
}
BOOL ScrCmd_Unk01EC(ScriptContext *ctx) { //01EC
ov06_0224CBB0(ctx->fieldSystem->saveData);
return FALSE;
}
BOOL ScrCmd_Unk01ED(ScriptContext *ctx) { //01ED
u16 *var = ScriptGetVarPointer(ctx);
*var = ov06_0224CC24(ctx->fieldSystem->saveData);
return FALSE;
}
BOOL ScrCmd_Unk01EF(ScriptContext *ctx) { //01EF
ScriptGetVarPointer(ctx);
return FALSE;
}

View File

@@ -14,10 +14,10 @@ void SaveStruct23_Substruct1_Init(struct SaveStruct23_Substruct1 *substruct1)
MI_CpuFill8(substruct1, 0, sizeof(struct SaveStruct23_Substruct1));
}
void SaveStruct23_Substruct2_Init(struct SaveStruct23_Substruct2 *substruct2)
void FrontierData_Init(struct FrontierData *frontierData)
{
MI_CpuFill8(substruct2, 0, sizeof(struct SaveStruct23_Substruct2));
substruct2->u_3 = 1;
MI_CpuFill8(frontierData, 0, sizeof(struct FrontierData));
frontierData->u_3 = 1;
}
void SaveStruct23_Messages_Init(struct SaveStruct23_Messages *messages)
@@ -135,118 +135,118 @@ void SaveStruct23_Substruct1_SetFlag1(struct SaveStruct23_Substruct1 *substruct1
substruct1->flag1 = flag;
}
u16 SaveStruct23_Substruct2_SetField_0x0(struct SaveStruct23_Substruct2 *substruct2, u16 value, DataSetMode mode)
u16 FrontierData_SetField_0x0(struct FrontierData *frontierData, u16 value, DataSetMode mode)
{
switch (mode)
{
case DATA_SET:
if (value > 9999)
{
substruct2->u_0 = 9999;
frontierData->u_0 = 9999;
}
else
{
substruct2->u_0 = value;
frontierData->u_0 = value;
}
break;
case DATA_ADD:
if (substruct2->u_0 + value > 9999)
if (frontierData->u_0 + value > 9999)
{
substruct2->u_0 = 9999;
frontierData->u_0 = 9999;
}
else
{
substruct2->u_0 += value;
frontierData->u_0 += value;
}
break;
case DATA_SUBSTRACT:
if (substruct2->u_0 < value)
if (frontierData->u_0 < value)
{
substruct2->u_0 = 0;
frontierData->u_0 = 0;
}
else
{
substruct2->u_0 -= value;
frontierData->u_0 -= value;
}
break;
case DATA_GET:
default:
break;
}
return substruct2->u_0;
return frontierData->u_0;
}
u8 SaveStruct23_Substruct2_SetField_0x2(struct SaveStruct23_Substruct2 *substruct2, DataSetMode mode)
u8 FrontierData_SetField_0x2(struct FrontierData *frontierData, DataSetMode mode)
{
switch (mode)
{
case DATA_RESET:
substruct2->u_2 = 0;
substruct2->flag4 = 0;
frontierData->u_2 = 0;
frontierData->flag4 = 0;
break;
case DATA_INCREMENT:
if (substruct2->flag4)
if (frontierData->flag4)
{
substruct2->u_2++;
frontierData->u_2++;
}
else
{
substruct2->u_2 = 1;
substruct2->flag4 = 1;
frontierData->u_2 = 1;
frontierData->flag4 = 1;
}
break;
}
return substruct2->u_2;
return frontierData->u_2;
}
u8 SaveStruct23_Substruct2_SetField_0x3(struct SaveStruct23_Substruct2 *substruct2, DataSetMode mode)
u8 FrontierData_SetField_0x3(struct FrontierData *frontierData, DataSetMode mode)
{
switch (mode)
{
case DATA_RESET:
substruct2->u_3 = 1;
frontierData->u_3 = 1;
break;
case DATA_INCREMENT:
if (substruct2->u_3 < 10)
if (frontierData->u_3 < 10)
{
substruct2->u_3++;
frontierData->u_3++;
}
break;
case DATA_DECREMENT:
if (substruct2->u_3 > 1)
if (frontierData->u_3 > 1)
{
substruct2->u_3--;
frontierData->u_3--;
}
break;
}
return substruct2->u_3;
return frontierData->u_3;
}
void SaveStruct23_Substruct2_SetArray(struct SaveStruct23_Substruct2 *substruct2, s32 mode, void *src)
void FrontierData_SetArray(struct FrontierData *frontierData, s32 mode, void *src)
{
if (mode == 0)
{
MI_CpuCopy8(src, substruct2->u_C0, 168);
MI_CpuCopy8(src, frontierData->u_C0, 168);
}
else
{
MI_CpuCopy8(src, substruct2->u_18, 168);
MI_CpuCopy8(src, frontierData->u_18, 168);
}
}
void SaveStruct23_Substruct2_GetArray(struct SaveStruct23_Substruct2 *substruct2, s32 mode, void *dst)
void FrontierData_GetArray(struct FrontierData *frontierData, s32 mode, void *dst)
{
if (mode == 0)
{
MI_CpuCopy8(substruct2->u_C0, dst, 168);
MI_CpuCopy8(frontierData->u_C0, dst, 168);
}
else
{
MI_CpuCopy8(substruct2->u_18, dst, 168);
MI_CpuCopy8(frontierData->u_18, dst, 168);
}
}
u16 SaveStruct23_Substruct2_SetField_0x16(struct SaveStruct23_Substruct2 *substruct2, struct Unk0202A4B8 *arg1)
u16 FrontierData_SetField_0x16(struct FrontierData *frontierData, struct Unk0202A4B8 *arg1)
{
u16 var1, var2, var3, var4, var5, total;
@@ -273,21 +273,21 @@ u16 SaveStruct23_Substruct2_SetField_0x16(struct SaveStruct23_Substruct2 *substr
}
total = (u16) (var1 + var4 + var5);
substruct2->u_16 = total;
frontierData->u_16 = total;
return total;
}
u16 SaveStruct23_Substruct2_GetField_0x16(struct SaveStruct23_Substruct2 *substruct2)
u16 FrontierData_GetField_0x16(struct FrontierData *frontierData)
{
return substruct2->u_16;
return frontierData->u_16;
}
u8 sub_0202A524(struct SaveStruct23_Substruct2 *substruct2)
u8 sub_0202A524(struct FrontierData *frontierData)
{
return (u8)(substruct2->u_16 / 1000);
return (u8)(frontierData->u_16 / 1000);
}
u16 SaveStruct23_Substruct2_SetField_0xC(struct SaveStruct23_Substruct2 *substruct2, u16 arg1, DataSetMode mode)
u16 FrontierData_SetField_0xC(struct FrontierData *frontierData, u16 arg1, DataSetMode mode)
{
if (arg1 == 5)
{
@@ -296,18 +296,18 @@ u16 SaveStruct23_Substruct2_SetField_0xC(struct SaveStruct23_Substruct2 *substru
switch(mode) {
case DATA_RESET:
substruct2->u_C[arg1] = 0;
frontierData->u_C[arg1] = 0;
break;
case DATA_INCREMENT:
if (substruct2->u_C[arg1] < 0xfffe) {
substruct2->u_C[arg1]++;
if (frontierData->u_C[arg1] < 0xfffe) {
frontierData->u_C[arg1]++;
}
break;
}
return substruct2->u_C[arg1];
return frontierData->u_C[arg1];
}
BOOL SaveStruct23_Substruct2_SetFlag(struct SaveStruct23_Substruct2 *substruct2, u16 flagNumber, DataSetMode mode)
BOOL FrontierData_SetFlag(struct FrontierData *frontierData, u16 flagNumber, DataSetMode mode)
{
u16 i;
u16 flag = 1;
@@ -321,27 +321,27 @@ BOOL SaveStruct23_Substruct2_SetFlag(struct SaveStruct23_Substruct2 *substruct2,
{
case DATA_RESET:
flag = (u16) (flag ^ 0xffff);
substruct2->flags &= flag;
frontierData->flags &= flag;
break;
case DATA_SET:
substruct2->flags |= flag;
frontierData->flags |= flag;
break;
case DATA_GET:
return (BOOL) ((substruct2->flags >> flagNumber) & 1);
return (BOOL) ((frontierData->flags >> flagNumber) & 1);
}
return FALSE;
}
void SaveStruct23_Substruct2_SetField_0x4(struct SaveStruct23_Substruct2 *substruct2, u32 value)
void FrontierData_SetField_0x4(struct FrontierData *frontierData, u32 value)
{
substruct2->u_4 = value;
frontierData->u_4 = value;
}
u32 SaveStruct23_Substruct2_GetField_0x4(struct SaveStruct23_Substruct2 *substruct2)
u32 FrontierData_GetField_0x4(struct FrontierData *frontierData)
{
return substruct2->u_4;
return frontierData->u_4;
}
@@ -515,7 +515,7 @@ s32 SaveStruct23_sizeof()
void SaveStruct23_Init(struct SaveStruct23 *saveStruct23)
{
SaveStruct23_Substruct1_Init(&saveStruct23->substruct1);
SaveStruct23_Substruct2_Init(&saveStruct23->substruct2);
FrontierData_Init(&saveStruct23->frontierData);
SaveStruct23_Messages_Init(&saveStruct23->messages);
SaveStruct23_Substruct4_Init(&saveStruct23->substruct4);
}
@@ -525,9 +525,9 @@ struct SaveStruct23_Substruct1 *SaveStruct23_GetSubstruct1(struct SaveData* save
return &((struct SaveStruct23 *)SaveArray_Get(save, 23))->substruct1;
}
struct SaveStruct23_Substruct2 *SaveStruct23_GetSubstruct2(struct SaveData* save)
struct FrontierData *Save_FrontierData_Get(struct SaveData* save)
{
return &((struct SaveStruct23 *)SaveArray_Get(save, 23))->substruct2;
return &((struct SaveStruct23 *)SaveArray_Get(save, 23))->frontierData;
}
struct SaveStruct23_Substruct4 *SaveStruct23_GetSubstruct4(struct SaveData* save)

View File

@@ -321,15 +321,15 @@ u32 sub_0205FE10(struct SaveData *save)
return 0;
}
struct SaveStruct23_Substruct2 *saveStruct23_substruct2 = SaveStruct23_GetSubstruct2(save);
struct FrontierData *frontierData = Save_FrontierData_Get(save);
BOOL flagD = (u8)SaveStruct23_Substruct2_SetFlag(saveStruct23_substruct2, 0xd, DATA_GET);
BOOL flag0 = (u8)SaveStruct23_Substruct2_SetFlag(saveStruct23_substruct2, 0, DATA_GET);
BOOL flag1 = (u8)SaveStruct23_Substruct2_SetFlag(saveStruct23_substruct2, 1, DATA_GET);
BOOL flagD = (u8)FrontierData_SetFlag(frontierData, 0xd, DATA_GET);
BOOL flag0 = (u8)FrontierData_SetFlag(frontierData, 0, DATA_GET);
BOOL flag1 = (u8)FrontierData_SetFlag(frontierData, 1, DATA_GET);
BOOL flagE = (u8)SaveStruct23_Substruct2_SetFlag(saveStruct23_substruct2, 0xe, DATA_GET);
BOOL flag2 = (u8)SaveStruct23_Substruct2_SetFlag(saveStruct23_substruct2, 2, DATA_GET);
BOOL flag3 = (u8)SaveStruct23_Substruct2_SetFlag(saveStruct23_substruct2, 3, DATA_GET);
BOOL flagE = (u8)FrontierData_SetFlag(frontierData, 0xe, DATA_GET);
BOOL flag2 = (u8)FrontierData_SetFlag(frontierData, 2, DATA_GET);
BOOL flag3 = (u8)FrontierData_SetFlag(frontierData, 3, DATA_GET);
if (flagD && flag0 && flag1)
{
@@ -341,13 +341,13 @@ u32 sub_0205FE10(struct SaveData *save)
{
if (sub_02025D94(res9, 0x55) != 0)
{
SaveStruct23_Substruct2_SetFlag(saveStruct23_substruct2, 0xd, DATA_SET);
FrontierData_SetFlag(frontierData, 0xd, DATA_SET);
return 1;
}
if (!flagE)
{
SaveStruct23_Substruct2_SetFlag(saveStruct23_substruct2, 0xe, DATA_SET);
FrontierData_SetFlag(frontierData, 0xe, DATA_SET);
}
return 4;
@@ -362,13 +362,13 @@ u32 sub_0205FE10(struct SaveData *save)
{
if (sub_02025D94(res9, 0x56) != 0)
{
SaveStruct23_Substruct2_SetFlag(saveStruct23_substruct2, 0, DATA_SET);
FrontierData_SetFlag(frontierData, 0, DATA_SET);
return 2;
}
if (!flag2)
{
SaveStruct23_Substruct2_SetFlag(saveStruct23_substruct2, 2, DATA_SET);
FrontierData_SetFlag(frontierData, 2, DATA_SET);
}
return 4;
@@ -381,13 +381,13 @@ u32 sub_0205FE10(struct SaveData *save)
if (sub_02025D94(res9, 0x57) != 0)
{
SaveStruct23_Substruct2_SetFlag(saveStruct23_substruct2, 1, DATA_SET);
FrontierData_SetFlag(frontierData, 1, DATA_SET);
return 3;
}
if (!flag3)
{
SaveStruct23_Substruct2_SetFlag(saveStruct23_substruct2, 3, DATA_SET);
FrontierData_SetFlag(frontierData, 3, DATA_SET);
}
return 4;
@@ -401,15 +401,15 @@ u32 sub_0205FF5C(struct SaveData *save)
return 0;
}
struct SaveStruct23_Substruct2 *saveStruct23_substruct2 = SaveStruct23_GetSubstruct2(save);
struct FrontierData *frontierData = Save_FrontierData_Get(save);
BOOL flagD = (u8)SaveStruct23_Substruct2_SetFlag(saveStruct23_substruct2, 0xd, DATA_GET);
BOOL flag0 = (u8)SaveStruct23_Substruct2_SetFlag(saveStruct23_substruct2, 0, DATA_GET);
BOOL flag1 = (u8)SaveStruct23_Substruct2_SetFlag(saveStruct23_substruct2, 1, DATA_GET);
BOOL flagD = (u8)FrontierData_SetFlag(frontierData, 0xd, DATA_GET);
BOOL flag0 = (u8)FrontierData_SetFlag(frontierData, 0, DATA_GET);
BOOL flag1 = (u8)FrontierData_SetFlag(frontierData, 1, DATA_GET);
BOOL flagE = (u8)SaveStruct23_Substruct2_SetFlag(saveStruct23_substruct2, 0xe, DATA_GET);
BOOL flag2 = (u8)SaveStruct23_Substruct2_SetFlag(saveStruct23_substruct2, 2, DATA_GET);
BOOL flag3 = (u8)SaveStruct23_Substruct2_SetFlag(saveStruct23_substruct2, 3, DATA_GET);
BOOL flagE = (u8)FrontierData_SetFlag(frontierData, 0xe, DATA_GET);
BOOL flag2 = (u8)FrontierData_SetFlag(frontierData, 2, DATA_GET);
BOOL flag3 = (u8)FrontierData_SetFlag(frontierData, 3, DATA_GET);
if (flagD && flag0 && flag1)
{
@@ -482,18 +482,18 @@ u32 sub_0206007C(struct SaveData *save)
{
u32 res = sub_02060070(sub_020287A4(sub_0202881C(save)));
SaveStruct23_Substruct2_SetField_0x4(SaveStruct23_GetSubstruct2(save), res);
FrontierData_SetField_0x4(Save_FrontierData_Get(save), res);
return res;
}
u32 sub_020600A0(struct SaveData *save)
{
struct SaveStruct23_Substruct2 *saveStruct23_substruct2 = SaveStruct23_GetSubstruct2(save);
struct FrontierData *frontierData = Save_FrontierData_Get(save);
u32 res2 = sub_02060070(SaveStruct23_Substruct2_GetField_0x4(saveStruct23_substruct2));
u32 res2 = sub_02060070(FrontierData_GetField_0x4(frontierData));
SaveStruct23_Substruct2_SetField_0x4(saveStruct23_substruct2, res2);
FrontierData_SetField_0x4(frontierData, res2);
u32 res3 = sub_02060064(res2);
SaveStruct23_Substruct1_SetField(SaveStruct23_GetSubstruct1(save), FIELD_0x28, &res3);
@@ -503,14 +503,14 @@ u32 sub_020600A0(struct SaveData *save)
u32 sub_020600DC(struct SaveData *save)
{
struct SaveStruct23_Substruct2 *saveStruct23_substruct2 = SaveStruct23_GetSubstruct2(save);
struct FrontierData *frontierData = Save_FrontierData_Get(save);
struct SaveStruct23_Substruct1 *saveStruct23_substruct1 = SaveStruct23_GetSubstruct1(save);
u32 res3 = sub_02060064(SaveStruct23_Substruct2_GetField_0x4(saveStruct23_substruct2));
u32 res3 = sub_02060064(FrontierData_GetField_0x4(frontierData));
int i = 0;
int res4 = SaveStruct23_Substruct2_SetField_0xC(saveStruct23_substruct2, (u16)SaveStruct23_Substruct1_GetField(saveStruct23_substruct1, FIELD_0x0_2, 0), DATA_GET) * 0x18;
int res4 = FrontierData_SetField_0xC(frontierData, (u16)SaveStruct23_Substruct1_GetField(saveStruct23_substruct1, FIELD_0x0_2, 0), DATA_GET) * 0x18;
for (i = 0; i < res4; i++)
{

View File

@@ -27,8 +27,8 @@ extern u32 ov06_022451F0(u32);
extern void sub_02049160(struct TaskManager *taskManager, u32);
extern void sub_0204C1B4(struct TaskManager *taskManager, u32,u32,u32,u32,u32,u32,u32);
extern struct Vecx32 *PlayerAvatar_GetMapObject(struct PlayerAvatar *playerAvatar);
extern void sub_0205889C(struct Vecx32 *param0, u32);
extern LocalMapObject *PlayerAvatar_GetMapObject(struct PlayerAvatar *playerAvatar);
extern LocalMapObject *MapObject_SetVisible(LocalMapObject *target, BOOL visible);
extern void sub_0205F1C4(struct ScriptState *);
extern void sub_0205F1D4(struct ScriptState *);
extern void sub_0206367C(struct FieldSystem *, u32);
@@ -85,12 +85,12 @@ BOOL sub_02060194(struct TaskManager *taskManager)
break;
case 4:
struct Vecx32 *unk0 = PlayerAvatar_GetMapObject(fieldSystem->playerAvatar);
LocalMapObject *playerObject = PlayerAvatar_GetMapObject(fieldSystem->playerAvatar);
unkStruct1->unkD += 1;
if (unkStruct1->unkD <= 5)
{
void *unkAddr = ov06_02245088(fieldSystem);
sub_0205889C(unk0, 1);
MapObject_SetVisible(playerObject, TRUE);
ov06_02244DC4(unkStruct1->unk0, unkAddr);
ov06_02244EF8(unkStruct1->unk0);
unkStruct1->unkE = 0;
@@ -100,7 +100,7 @@ BOOL sub_02060194(struct TaskManager *taskManager)
}
else
{
sub_0205889C(unk0, 0);
MapObject_SetVisible(playerObject, FALSE);
sub_0204B00C(taskManager);
unkStruct1->action = 8;
}

View File

@@ -45,9 +45,9 @@ u16 sub_0206E37C(struct BagView *bag_view);
u16 sub_0206E384(struct BagView *bag_view);
u8 sub_0206E38C(struct BagView *bag_view);
u8 sub_0206E394(struct BagView *bag_view);
u32 sub_0206E3C8(struct SaveData *save);
u32 sub_0206E3D8(struct SaveData *save);
u32 sub_0206E3E8(struct SaveData *save);
u32 GetNumFashionAccessories(struct SaveData *save);
u32 GetNumFashionBackgrounds(struct SaveData *save);
u32 GetNumBattlePoints(struct SaveData *save);
BOOL TryFormatRegisteredKeyItemUseMessage(struct SaveData *save, struct String *dest, u32 item_id, u32 heap_id);
void sub_0206E51C(PlayerProfile *playerData, struct String *dest, u32 r2, u32 r3, u32 heap_id);

View File

@@ -1,6 +1,10 @@
#ifndef POKEDIAMOND_FASHION_CASE_H
#define POKEDIAMOND_FASHION_CASE_H
typedef struct FashionCase {
} FashionCase; //todo: complete
typedef struct SaveFashionData {
} SaveFashionData; //todo: complete

View File

@@ -13,7 +13,7 @@ union MailPatternData
} bits;
};
struct Mail
typedef struct Mail
{
u32 author_otId; // author otid
u8 author_gender; // author gender
@@ -24,7 +24,7 @@ struct Mail
union MailPatternData unk_18[3];
u8 padding_1E[2];
struct MailMessage unk_20[3];
};
} Mail;
struct Mail * Mail_New(u32 heap_id);

View File

@@ -51,8 +51,8 @@ u16 Pokedex_CountNationalDexSeen(struct Pokedex * pokedex);
u16 Pokedex_CountSeenMons(struct Pokedex * pokedex);
u16 Pokedex_CountSinnohDexOwned(struct Pokedex * pokedex);
u16 Pokedex_CountSinnohDexSeen(struct Pokedex * pokedex);
BOOL Pokedex_HasCompletedNationalDex(struct Pokedex * pokedex);
BOOL Pokedex_HasCompletedSinnohDex(struct Pokedex * pokedex);
BOOL Pokedex_NationalDexIsComplete(struct Pokedex * pokedex);
BOOL Pokedex_SinnohDexIsComplete(struct Pokedex * pokedex);
u16 Pokedex_CountNationalDexOwned_OmitMythicals(struct Pokedex * pokedex);
u16 Pokedex_CountSinnohDexSeen_OmitMythicals(struct Pokedex * pokedex);
BOOL Pokedex_CheckMonCaughtFlag(struct Pokedex * pokedex, u16 species);

View File

@@ -318,6 +318,39 @@ BOOL ScrCmd_InitSunyshoreGym(ScriptContext *ctx);
BOOL ScrCmd_RotateSunyshoreGymGear(ScriptContext *ctx);
BOOL ScrCmd_HatchEgg(ScriptContext *ctx);
BOOL ScrCmd_Unk019E(ScriptContext *ctx);
BOOL ScrCmd_Unk019F(ScriptContext *ctx);
BOOL ScrCmd_Unk01A0(ScriptContext *ctx);
BOOL ScrCmd_Unk01A1(ScriptContext *ctx);
BOOL ScrCmd_Unk01A2(ScriptContext *ctx);
BOOL ScrCmd_Unk003F(ScriptContext *ctx);
BOOL ScrCmd_HideEvent(ScriptContext *ctx);
BOOL ScrCmd_ShowEvent(ScriptContext *ctx);
BOOL ScrCmd_ShowMailbox(ScriptContext *ctx);
BOOL ScrCmd_CountMail(ScriptContext *ctx);
BOOL ScrCmd_Unk01B5(ScriptContext *ctx);
BOOL ScrCmd_GetTimeOfDay(ScriptContext *ctx);
BOOL ScrCmd_Random(ScriptContext *ctx);
BOOL ScrCmd_DummyRandom(ScriptContext *ctx);
BOOL ScrCmd_CheckPokemonSizeRecord(ScriptContext *ctx);
BOOL ScrCmd_SetPokemonSizeRecord(ScriptContext *ctx);
BOOL ScrCmd_BufferPartyPokemonSize(ScriptContext *ctx);
BOOL ScrCmd_BufferPokemonRecordSize(ScriptContext *ctx);
BOOL ScrCmd_InitPokemonRecordSize(ScriptContext *ctx);
BOOL ScrCmd_Unk01CC(ScriptContext *ctx);
BOOL ScrCmd_Unk01CD(ScriptContext *ctx);
BOOL ScrCmd_Unk01CE(ScriptContext *ctx);
BOOL ScrCmd_Unk01D2(ScriptContext *ctx);
BOOL ScrCmd_Unk01D3(ScriptContext *ctx);
BOOL ScrCmd_Unk01D4(ScriptContext *ctx);
BOOL ScrCmd_Unk01D5(ScriptContext *ctx);
BOOL ScrCmd_Unk01D6(ScriptContext *ctx);
BOOL ScrCmd_CheckSinnohDexComplete(ScriptContext *ctx);
BOOL ScrCmd_CheckNationalDexComplete(ScriptContext *ctx);
BOOL ScrCmd_RegisterSinnohPokedex(ScriptContext *ctx);
BOOL ScrCmd_RegisterNationalPokedex(ScriptContext *ctx);
BOOL ScrCmd_Unk01EC(ScriptContext *ctx);
BOOL ScrCmd_Unk01ED(ScriptContext *ctx);
BOOL ScrCmd_Unk01EF(ScriptContext *ctx);
// scrcmd_mart.c
BOOL ScrCmd_NormalMart(ScriptContext *ctx);

View File

@@ -103,6 +103,10 @@ typedef struct MapObjectManager {
} MapObjectManager; //todo: fill out
typedef struct PokedexAppData {
} PokedexAppData; //todo: fill out and move to own file
typedef struct FieldSystem //todo move to field_system.c
{
u32 *unk00;

View File

@@ -49,7 +49,7 @@ struct SaveStruct23_Substruct1
/* 0x02C */ s32 u_2C[4];
}; // total size = 0x3C (60)
struct SaveStruct23_Substruct2
struct FrontierData
{
/* 0x000 */ u16 u_0;
/* 0x002 */ u8 u_2;
@@ -118,7 +118,7 @@ struct SaveStruct23_Substruct4
struct SaveStruct23 // Struct fetched with SaveArray_Get(save, 23)
{
/* 0x000 */ struct SaveStruct23_Substruct1 substruct1;
/* 0x03C */ struct SaveStruct23_Substruct2 substruct2;
/* 0x03C */ struct FrontierData frontierData;
/* 0x1A4 */ struct SaveStruct23_Messages messages;
/* 0x1C4 */ struct SaveStruct23_Substruct4 substruct4;
}; // total size = 0xD00 (3328)
@@ -166,7 +166,7 @@ struct Unk0202A798
s32 SaveStruct23_Substruct4_Substruct1_sizeof();
void SaveStruct23_Substruct1_Init(struct SaveStruct23_Substruct1 *substruct1);
void SaveStruct23_Substruct2_Init(struct SaveStruct23_Substruct2 *substruct2);
void FrontierData_Init(struct FrontierData *frontierData);
void SaveStruct23_Messages_Init(struct SaveStruct23_Messages *mailStruct);
void SaveStruct23_Substruct4_Init(struct SaveStruct23_Substruct4 *substruct4);
u32 SaveStruct23_Substruct1_GetField(struct SaveStruct23_Substruct1 *substruct1, SaveStruct23_Substruct1_Field field, void *dst);
@@ -174,18 +174,18 @@ void SaveStruct23_Substruct1_SetField(struct SaveStruct23_Substruct1 *substruct1
void sub_0202A36C(struct SaveStruct23_Substruct1 *substruct1, s32 arg1, s32 arg2, s32 arg3);
BOOL SaveStruct23_Substruct1_GetFlag1(struct SaveStruct23_Substruct1 *substruct1);
void SaveStruct23_Substruct1_SetFlag1(struct SaveStruct23_Substruct1 *substruct1, BOOL arg1);
u16 SaveStruct23_Substruct2_SetField_0x0(struct SaveStruct23_Substruct2 *substruct2, u16 value, DataSetMode mode);
u8 SaveStruct23_Substruct2_SetField_0x2(struct SaveStruct23_Substruct2 *substruct2, DataSetMode mode);
u8 SaveStruct23_Substruct2_SetField_0x3(struct SaveStruct23_Substruct2 *substruct2, DataSetMode mode);
void SaveStruct23_Substruct2_SetArray(struct SaveStruct23_Substruct2 *substruct2, s32 mode, void *src);
void SaveStruct23_Substruct2_GetArray(struct SaveStruct23_Substruct2 *substruct2, s32 mode, void *dst);
u16 SaveStruct23_Substruct2_SetField_0x16(struct SaveStruct23_Substruct2 *substruct2, struct Unk0202A4B8 *arg1);
u16 SaveStruct23_Substruct2_GetField_0x16(struct SaveStruct23_Substruct2 *substruct2);
u8 sub_0202A524(struct SaveStruct23_Substruct2 *substruct2);
u16 SaveStruct23_Substruct2_SetField_0xC(struct SaveStruct23_Substruct2 *substruct2, u16 arg1, DataSetMode mode);
BOOL SaveStruct23_Substruct2_SetFlag(struct SaveStruct23_Substruct2 *substruct2, u16 flagNumber, DataSetMode mode);
void SaveStruct23_Substruct2_SetField_0x4(struct SaveStruct23_Substruct2 *substruct2, u32 arg1);
u32 SaveStruct23_Substruct2_GetField_0x4(struct SaveStruct23_Substruct2 *substruct2);
u16 FrontierData_SetField_0x0(struct FrontierData *frontierData, u16 value, DataSetMode mode);
u8 FrontierData_SetField_0x2(struct FrontierData *frontierData, DataSetMode mode);
u8 FrontierData_SetField_0x3(struct FrontierData *frontierData, DataSetMode mode);
void FrontierData_SetArray(struct FrontierData *frontierData, s32 mode, void *src);
void FrontierData_GetArray(struct FrontierData *frontierData, s32 mode, void *dst);
u16 FrontierData_SetField_0x16(struct FrontierData *frontierData, struct Unk0202A4B8 *arg1);
u16 FrontierData_GetField_0x16(struct FrontierData *frontierData);
u8 sub_0202A524(struct FrontierData *frontierData);
u16 FrontierData_SetField_0xC(struct FrontierData *frontierData, u16 arg1, DataSetMode mode);
BOOL FrontierData_SetFlag(struct FrontierData *frontierData, u16 flagNumber, DataSetMode mode);
void FrontierData_SetField_0x4(struct FrontierData *frontierData, u32 arg1);
u32 FrontierData_GetField_0x4(struct FrontierData *frontierData);
void SaveStruct23_SetMessage(struct SaveData *save, u32 index, struct MailMessage *message);
struct MailMessage *SaveStruct23_GetMessage(struct SaveData *save, u32 index);
void SaveStruct23_Substruct4_SetArrayFlag(struct SaveStruct23_Substruct4 *substruct4, u8 arg1, u8 arg2, struct Unk0202A68C *arg3);
@@ -203,7 +203,7 @@ struct SaveStruct23_Substruct4_Substruct2 *sub_0202A878(struct SaveStruct23_Subs
s32 SaveStruct23_sizeof();
void SaveStruct23_Init(struct SaveStruct23 *saveStruct23);
struct SaveStruct23_Substruct1 *SaveStruct23_GetSubstruct1(struct SaveData* save);
struct SaveStruct23_Substruct2 *SaveStruct23_GetSubstruct2(struct SaveData* save);
struct FrontierData *Save_FrontierData_Get(struct SaveData* save);
struct SaveStruct23_Substruct4 *SaveStruct23_GetSubstruct4(struct SaveData* save);
#endif //POKEDIAMOND_UNK_0202A1E0_H