mirror of
https://github.com/pret/pokediamond.git
synced 2026-10-02 23:45:22 -04:00
Merge branch 'master' into unk_0202E29C
This commit is contained in:
@@ -12,7 +12,7 @@ env:
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ubuntu-18.04
|
||||
runs-on: ubuntu-20.04
|
||||
|
||||
steps:
|
||||
- name: Update and Install Software
|
||||
@@ -43,7 +43,7 @@ jobs:
|
||||
- name: Build Diamond
|
||||
run: make diamond
|
||||
- name: Build Pearl
|
||||
run: make pearl
|
||||
run: make pearl
|
||||
- name: Webhook
|
||||
run: |
|
||||
sudo chmod 755 $GITHUB_WORKSPACE/.github/calcrom/webhook.sh
|
||||
|
||||
+1
-1
@@ -173,7 +173,7 @@ Static arm9
|
||||
Object scrcmd_18.o
|
||||
Object scrcmd_19.o
|
||||
Object scrcmd_20.o
|
||||
Object scrcmd_21.o
|
||||
Object scrcmd_flags.o
|
||||
Object scrcmd_items.o
|
||||
Object scrcmd_23.o
|
||||
Object scrcmd_24.o
|
||||
|
||||
@@ -1,465 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
.include "global.inc"
|
||||
|
||||
.section .rodata
|
||||
|
||||
.global UNK_020F4574
|
||||
UNK_020F4574: ; 0x020F4574
|
||||
.byte 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07
|
||||
|
||||
.text
|
||||
|
||||
thumb_func_start FUN_020453F4
|
||||
FUN_020453F4: ; 0x020453F4
|
||||
push {r3-r5, lr}
|
||||
add r5, r0, #0x0
|
||||
add r0, #0x80
|
||||
ldr r0, [r0, #0x0]
|
||||
ldr r0, [r0, #0xc]
|
||||
bl Sav2_Pokedex_get
|
||||
add r4, r0, #0x0
|
||||
add r0, r5, #0x0
|
||||
bl ScriptReadHalfword
|
||||
add r5, #0x80
|
||||
add r1, r0, #0x0
|
||||
ldr r0, [r5, #0x0]
|
||||
bl GetVarPointer
|
||||
add r5, r0, #0x0
|
||||
add r0, r4, #0x0
|
||||
bl Pokedex_GetSinnohDexFlag
|
||||
strh r0, [r5, #0x0]
|
||||
mov r0, #0x0
|
||||
pop {r3-r5, pc}
|
||||
.balign 4
|
||||
|
||||
thumb_func_start FUN_02045424
|
||||
FUN_02045424: ; 0x02045424
|
||||
push {r3, lr}
|
||||
add r0, #0x80
|
||||
ldr r0, [r0, #0x0]
|
||||
ldr r0, [r0, #0xc]
|
||||
bl Sav2_Pokedex_get
|
||||
bl Pokedex_SetSinnohDexFlag
|
||||
mov r0, #0x0
|
||||
pop {r3, pc}
|
||||
|
||||
thumb_func_start FUN_02045438
|
||||
FUN_02045438: ; 0x02045438
|
||||
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 FUN_02034E30
|
||||
bl FUN_02034E20
|
||||
bl FUN_02055474
|
||||
strh r0, [r4, #0x0]
|
||||
mov r0, #0x0
|
||||
pop {r3-r5, pc}
|
||||
.balign 4
|
||||
|
||||
thumb_func_start FUN_02045468
|
||||
FUN_02045468: ; 0x02045468
|
||||
push {r3, lr}
|
||||
add r0, #0x80
|
||||
ldr r0, [r0, #0x0]
|
||||
ldr r0, [r0, #0xc]
|
||||
bl FUN_02034E30
|
||||
bl FUN_02034E20
|
||||
mov r1, #0x1
|
||||
bl FUN_02055488
|
||||
mov r0, #0x0
|
||||
pop {r3, pc}
|
||||
.balign 4
|
||||
|
||||
thumb_func_start FUN_02045484
|
||||
FUN_02045484: ; 0x02045484
|
||||
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 GetVarPointer
|
||||
add r6, r0, #0x0
|
||||
cmp r4, #0x8
|
||||
blo _020454B6
|
||||
bl ErrorHandling
|
||||
_020454B6:
|
||||
add r5, #0x80
|
||||
ldr r0, [r5, #0x0]
|
||||
ldr r0, [r0, #0xc]
|
||||
bl Sav2_PlayerData_GetProfileAddr
|
||||
add r1, r4, #0x0
|
||||
bl PlayerProfile_TestBadgeFlag
|
||||
strh r0, [r6, #0x0]
|
||||
mov r0, #0x0
|
||||
pop {r4-r6, pc}
|
||||
|
||||
thumb_func_start FUN_020454CC
|
||||
FUN_020454CC: ; 0x020454CC
|
||||
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 r4, r0, #0x0
|
||||
cmp r4, #0x8
|
||||
blo _020454EA
|
||||
bl ErrorHandling
|
||||
_020454EA:
|
||||
add r5, #0x80
|
||||
ldr r0, [r5, #0x0]
|
||||
ldr r0, [r0, #0xc]
|
||||
bl Sav2_PlayerData_GetProfileAddr
|
||||
add r1, r4, #0x0
|
||||
bl PlayerProfile_SetBadgeFlag
|
||||
mov r0, #0x0
|
||||
pop {r3-r5, pc}
|
||||
.balign 4
|
||||
|
||||
thumb_func_start FUN_02045500
|
||||
FUN_02045500: ; 0x02045500
|
||||
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 SavArray_Flags_get
|
||||
bl FUN_0205ECE0
|
||||
strh r0, [r4, #0x0]
|
||||
mov r0, #0x0
|
||||
pop {r3-r5, pc}
|
||||
.balign 4
|
||||
|
||||
thumb_func_start FUN_0204552C
|
||||
FUN_0204552C: ; 0x0204552C
|
||||
push {r3-r7, lr}
|
||||
add r6, r0, #0x0
|
||||
bl ScriptReadHalfword
|
||||
add r1, r0, #0x0
|
||||
add r0, r6, #0x0
|
||||
add r0, #0x80
|
||||
ldr r0, [r0, #0x0]
|
||||
bl GetVarPointer
|
||||
mov r4, #0x0
|
||||
ldr r7, _02045578 ; =UNK_020F4574
|
||||
str r0, [sp, #0x0]
|
||||
add r5, r4, #0x0
|
||||
_02045548:
|
||||
add r0, r6, #0x0
|
||||
add r0, #0x80
|
||||
ldr r0, [r0, #0x0]
|
||||
ldr r0, [r0, #0xc]
|
||||
bl Sav2_PlayerData_GetProfileAddr
|
||||
ldrb r1, [r7, r4]
|
||||
bl PlayerProfile_TestBadgeFlag
|
||||
cmp r0, #0x1
|
||||
bne _02045564
|
||||
add r0, r5, #0x1
|
||||
lsl r0, r0, #0x10
|
||||
lsr r5, r0, #0x10
|
||||
_02045564:
|
||||
add r0, r4, #0x1
|
||||
lsl r0, r0, #0x10
|
||||
lsr r4, r0, #0x10
|
||||
cmp r4, #0x8
|
||||
blo _02045548
|
||||
ldr r0, [sp, #0x0]
|
||||
strh r5, [r0, #0x0]
|
||||
mov r0, #0x0
|
||||
pop {r3-r7, pc}
|
||||
nop
|
||||
_02045578: .word UNK_020F4574
|
||||
|
||||
thumb_func_start FUN_0204557C
|
||||
FUN_0204557C: ; 0x0204557C
|
||||
push {r3, lr}
|
||||
add r0, #0x80
|
||||
ldr r0, [r0, #0x0]
|
||||
ldr r0, [r0, #0xc]
|
||||
bl SavArray_Flags_get
|
||||
bl FUN_0205ECD4
|
||||
mov r0, #0x0
|
||||
pop {r3, pc}
|
||||
|
||||
thumb_func_start FUN_02045590
|
||||
FUN_02045590: ; 0x02045590
|
||||
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 SavArray_Flags_get
|
||||
bl FUN_0205ED3C
|
||||
strh r0, [r4, #0x0]
|
||||
mov r0, #0x0
|
||||
pop {r3-r5, pc}
|
||||
.balign 4
|
||||
|
||||
thumb_func_start FUN_020455BC
|
||||
FUN_020455BC: ; 0x020455BC
|
||||
push {r3, lr}
|
||||
add r0, #0x80
|
||||
ldr r0, [r0, #0x0]
|
||||
ldr r0, [r0, #0xc]
|
||||
bl SavArray_Flags_get
|
||||
bl FUN_0205ED1C
|
||||
mov r0, #0x0
|
||||
pop {r3, pc}
|
||||
|
||||
thumb_func_start FUN_020455D0
|
||||
FUN_020455D0: ; 0x020455D0
|
||||
push {r3, lr}
|
||||
add r0, #0x80
|
||||
ldr r0, [r0, #0x0]
|
||||
ldr r0, [r0, #0xc]
|
||||
bl SavArray_Flags_get
|
||||
bl FUN_0205ED2C
|
||||
mov r0, #0x0
|
||||
pop {r3, pc}
|
||||
|
||||
thumb_func_start FUN_020455E4
|
||||
FUN_020455E4: ; 0x020455E4
|
||||
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 SavArray_Flags_get
|
||||
bl FUN_0205ED6C
|
||||
strh r0, [r4, #0x0]
|
||||
mov r0, #0x0
|
||||
pop {r3-r5, pc}
|
||||
.balign 4
|
||||
|
||||
thumb_func_start FUN_02045610
|
||||
FUN_02045610: ; 0x02045610
|
||||
push {r3, lr}
|
||||
add r0, #0x80
|
||||
ldr r0, [r0, #0x0]
|
||||
ldr r0, [r0, #0xc]
|
||||
bl SavArray_Flags_get
|
||||
bl FUN_0205ED4C
|
||||
mov r0, #0x0
|
||||
pop {r3, pc}
|
||||
|
||||
thumb_func_start FUN_02045624
|
||||
FUN_02045624: ; 0x02045624
|
||||
push {r3, lr}
|
||||
add r0, #0x80
|
||||
ldr r0, [r0, #0x0]
|
||||
ldr r0, [r0, #0xc]
|
||||
bl SavArray_Flags_get
|
||||
bl FUN_0205ED5C
|
||||
mov r0, #0x0
|
||||
pop {r3, pc}
|
||||
|
||||
thumb_func_start FUN_02045638
|
||||
FUN_02045638: ; 0x02045638
|
||||
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 SavArray_Flags_get
|
||||
bl FUN_0205ED0C
|
||||
strh r0, [r4, #0x0]
|
||||
mov r0, #0x0
|
||||
pop {r3-r5, pc}
|
||||
.balign 4
|
||||
|
||||
thumb_func_start FUN_02045664
|
||||
FUN_02045664: ; 0x02045664
|
||||
push {r3, lr}
|
||||
add r0, #0x80
|
||||
ldr r0, [r0, #0x0]
|
||||
ldr r0, [r0, #0xc]
|
||||
bl SavArray_Flags_get
|
||||
bl FUN_0205ECFC
|
||||
mov r0, #0x0
|
||||
pop {r3, pc}
|
||||
|
||||
thumb_func_start FUN_02045678
|
||||
FUN_02045678: ; 0x02045678
|
||||
push {r3-r5, lr}
|
||||
add r5, r0, #0x0
|
||||
add r0, #0x80
|
||||
ldr r0, [r0, #0x0]
|
||||
ldr r0, [r0, #0xc]
|
||||
bl SavArray_Flags_get
|
||||
ldr r2, [r5, #0x8]
|
||||
add r4, r0, #0x0
|
||||
add r1, r2, #0x1
|
||||
str r1, [r5, #0x8]
|
||||
ldrb r1, [r2, #0x0]
|
||||
cmp r1, #0x0
|
||||
beq _020456A6
|
||||
cmp r1, #0x1
|
||||
beq _0204569E
|
||||
cmp r1, #0x2
|
||||
beq _020456AE
|
||||
b _020456CC
|
||||
_0204569E:
|
||||
mov r1, #0x1
|
||||
bl FUN_0205F264
|
||||
b _020456D0
|
||||
_020456A6:
|
||||
mov r1, #0x0
|
||||
bl FUN_0205F264
|
||||
b _020456D0
|
||||
_020456AE:
|
||||
add r0, r5, #0x0
|
||||
bl ScriptReadHalfword
|
||||
add r5, #0x80
|
||||
add r1, r0, #0x0
|
||||
ldr r0, [r5, #0x0]
|
||||
bl GetVarPointer
|
||||
add r5, r0, #0x0
|
||||
add r0, r4, #0x0
|
||||
mov r1, #0x2
|
||||
bl FUN_0205F264
|
||||
strh r0, [r5, #0x0]
|
||||
b _020456D0
|
||||
_020456CC:
|
||||
bl ErrorHandling
|
||||
_020456D0:
|
||||
mov r0, #0x0
|
||||
pop {r3-r5, pc}
|
||||
|
||||
thumb_func_start FUN_020456D4
|
||||
FUN_020456D4: ; 0x020456D4
|
||||
push {r3-r5, lr}
|
||||
add r5, r0, #0x0
|
||||
add r0, #0x80
|
||||
ldr r0, [r0, #0x0]
|
||||
ldr r0, [r0, #0xc]
|
||||
bl SavArray_Flags_get
|
||||
ldr r2, [r5, #0x8]
|
||||
add r4, r0, #0x0
|
||||
add r1, r2, #0x1
|
||||
str r1, [r5, #0x8]
|
||||
ldrb r1, [r2, #0x0]
|
||||
cmp r1, #0x0
|
||||
beq _02045700
|
||||
cmp r1, #0x1
|
||||
beq _020456FA
|
||||
cmp r1, #0x2
|
||||
beq _02045706
|
||||
b _02045722
|
||||
_020456FA:
|
||||
bl FUN_0205F274
|
||||
b _02045726
|
||||
_02045700:
|
||||
bl FUN_0205F284
|
||||
b _02045726
|
||||
_02045706:
|
||||
add r0, r5, #0x0
|
||||
bl ScriptReadHalfword
|
||||
add r5, #0x80
|
||||
add r1, r0, #0x0
|
||||
ldr r0, [r5, #0x0]
|
||||
bl GetVarPointer
|
||||
add r5, r0, #0x0
|
||||
add r0, r4, #0x0
|
||||
bl FUN_0205F294
|
||||
strh r0, [r5, #0x0]
|
||||
b _02045726
|
||||
_02045722:
|
||||
bl ErrorHandling
|
||||
_02045726:
|
||||
mov r0, #0x0
|
||||
pop {r3-r5, pc}
|
||||
.balign 4
|
||||
|
||||
thumb_func_start FUN_0204572C
|
||||
FUN_0204572C: ; 0x0204572C
|
||||
push {r3-r5, lr}
|
||||
add r5, r0, #0x0
|
||||
add r0, #0x80
|
||||
ldr r0, [r0, #0x0]
|
||||
ldr r0, [r0, #0xc]
|
||||
bl SavArray_Flags_get
|
||||
ldr r2, [r5, #0x8]
|
||||
add r4, r0, #0x0
|
||||
add r1, r2, #0x1
|
||||
str r1, [r5, #0x8]
|
||||
ldrb r1, [r2, #0x0]
|
||||
cmp r1, #0x0
|
||||
beq _02045758
|
||||
cmp r1, #0x1
|
||||
beq _02045752
|
||||
cmp r1, #0x2
|
||||
beq _0204575E
|
||||
b _0204577A
|
||||
_02045752:
|
||||
bl FUN_0205F2A4
|
||||
b _0204577E
|
||||
_02045758:
|
||||
bl FUN_0205F2B4
|
||||
b _0204577E
|
||||
_0204575E:
|
||||
add r0, r5, #0x0
|
||||
bl ScriptReadHalfword
|
||||
add r5, #0x80
|
||||
add r1, r0, #0x0
|
||||
ldr r0, [r5, #0x0]
|
||||
bl GetVarPointer
|
||||
add r5, r0, #0x0
|
||||
add r0, r4, #0x0
|
||||
bl FUN_0205F2C4
|
||||
strh r0, [r5, #0x0]
|
||||
b _0204577E
|
||||
_0204577A:
|
||||
bl ErrorHandling
|
||||
_0204577E:
|
||||
mov r0, #0x0
|
||||
pop {r3-r5, pc}
|
||||
.balign 4
|
||||
@@ -1,234 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
.include "global.inc"
|
||||
|
||||
.text
|
||||
|
||||
thumb_func_start FUN_02041C38
|
||||
FUN_02041C38: ; 0x02041C38
|
||||
push {r4-r7, lr}
|
||||
sub sp, #0xc
|
||||
add r4, r0, #0x0
|
||||
add r0, #0x80
|
||||
ldr r0, [r0, #0x0]
|
||||
mov r1, #0xf
|
||||
bl FUN_02039438
|
||||
add r6, r0, #0x0
|
||||
add r0, r4, #0x0
|
||||
add r0, #0x80
|
||||
ldr r0, [r0, #0x0]
|
||||
ldr r0, [r0, #0xc]
|
||||
bl FUN_0202881C
|
||||
add r5, r0, #0x0
|
||||
add r0, r4, #0x0
|
||||
add r0, #0x80
|
||||
ldr r0, [r0, #0x0]
|
||||
ldr r7, [r0, #0xc]
|
||||
add r0, r4, #0x0
|
||||
bl ScriptReadHalfword
|
||||
cmp r0, #0x6
|
||||
bls _02041C6C
|
||||
b _02041E38
|
||||
_02041C6C:
|
||||
add r0, r0, r0
|
||||
add r0, pc
|
||||
ldrh r0, [r0, #0x6]
|
||||
lsl r0, r0, #0x10
|
||||
asr r0, r0, #0x10
|
||||
add pc, r0
|
||||
_02041C78: ; jump table (using 16-bit offset)
|
||||
.short _02041C86 - _02041C78 - 2; case 0
|
||||
.short _02041CBC - _02041C78 - 2; case 1
|
||||
.short _02041CF2 - _02041C78 - 2; case 2
|
||||
.short _02041D28 - _02041C78 - 2; case 3
|
||||
.short _02041D5E - _02041C78 - 2; case 4
|
||||
.short _02041D94 - _02041C78 - 2; case 5
|
||||
.short _02041DCE - _02041C78 - 2; case 6
|
||||
_02041C86:
|
||||
add r0, r4, #0x0
|
||||
bl ScriptReadHalfword
|
||||
add r1, r0, #0x0
|
||||
add r0, r4, #0x0
|
||||
add r0, #0x80
|
||||
ldr r0, [r0, #0x0]
|
||||
bl VarGet
|
||||
add r6, 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
|
||||
add r0, r5, #0x0
|
||||
add r1, r6, #0x0
|
||||
bl FUN_02028828
|
||||
strh r0, [r4, #0x0]
|
||||
add sp, #0xc
|
||||
mov r0, #0x0
|
||||
pop {r4-r7, pc}
|
||||
_02041CBC:
|
||||
add r0, r4, #0x0
|
||||
bl ScriptReadHalfword
|
||||
add r1, r0, #0x0
|
||||
add r0, r4, #0x0
|
||||
add r0, #0x80
|
||||
ldr r0, [r0, #0x0]
|
||||
bl VarGet
|
||||
add r6, 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
|
||||
add r0, r5, #0x0
|
||||
add r1, r6, #0x0
|
||||
bl FUN_02028840
|
||||
strh r0, [r4, #0x0]
|
||||
add sp, #0xc
|
||||
mov r0, #0x0
|
||||
pop {r4-r7, pc}
|
||||
_02041CF2:
|
||||
add r0, r4, #0x0
|
||||
bl ScriptReadHalfword
|
||||
add r1, r0, #0x0
|
||||
add r0, r4, #0x0
|
||||
add r0, #0x80
|
||||
ldr r0, [r0, #0x0]
|
||||
bl VarGet
|
||||
add r5, r0, #0x0
|
||||
add r0, r4, #0x0
|
||||
bl ScriptReadHalfword
|
||||
add r4, #0x80
|
||||
add r1, r0, #0x0
|
||||
ldr r0, [r4, #0x0]
|
||||
bl VarGet
|
||||
add r3, r0, #0x0
|
||||
mov r0, #0x0
|
||||
str r0, [sp, #0x0]
|
||||
ldr r0, [r6, #0x0]
|
||||
add r1, r7, #0x0
|
||||
add r2, r5, #0x0
|
||||
bl BufferEasyChatWord
|
||||
b _02041E38
|
||||
_02041D28:
|
||||
add r0, r4, #0x0
|
||||
bl ScriptReadHalfword
|
||||
add r1, r0, #0x0
|
||||
add r0, r4, #0x0
|
||||
add r0, #0x80
|
||||
ldr r0, [r0, #0x0]
|
||||
bl VarGet
|
||||
add r5, r0, #0x0
|
||||
add r0, r4, #0x0
|
||||
bl ScriptReadHalfword
|
||||
add r4, #0x80
|
||||
add r1, r0, #0x0
|
||||
ldr r0, [r4, #0x0]
|
||||
bl VarGet
|
||||
add r3, r0, #0x0
|
||||
mov r0, #0x1
|
||||
str r0, [sp, #0x0]
|
||||
ldr r0, [r6, #0x0]
|
||||
add r1, r7, #0x0
|
||||
add r2, r5, #0x0
|
||||
bl BufferEasyChatWord
|
||||
b _02041E38
|
||||
_02041D5E:
|
||||
mov r1, #0x0
|
||||
add r0, r5, #0x0
|
||||
add r2, r1, #0x0
|
||||
bl FUN_020287A8
|
||||
add r5, r0, #0x0
|
||||
add r0, r4, #0x0
|
||||
bl ScriptReadHalfword
|
||||
add r1, r0, #0x0
|
||||
add r0, r4, #0x0
|
||||
add r0, #0x80
|
||||
ldr r0, [r0, #0x0]
|
||||
bl GetVarPointer
|
||||
mov r2, #0x0
|
||||
str r2, [sp, #0x0]
|
||||
str r5, [sp, #0x4]
|
||||
str r0, [sp, #0x8]
|
||||
ldr r0, [r4, #0x74]
|
||||
mov r1, #0x5
|
||||
mov r3, #0x7
|
||||
bl FUN_020385CC
|
||||
add sp, #0xc
|
||||
mov r0, #0x1
|
||||
pop {r4-r7, pc}
|
||||
_02041D94:
|
||||
add r0, r4, #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, r5, #0x0
|
||||
mov r1, #0x1
|
||||
bl FUN_02028828
|
||||
add r6, r0, #0x0
|
||||
add r0, r5, #0x0
|
||||
add r1, r7, #0x0
|
||||
mov r2, #0x1
|
||||
bl FUN_02028700
|
||||
cmp r6, #0x0
|
||||
beq _02041DC8
|
||||
add r4, #0x80
|
||||
ldr r0, [r4, #0x0]
|
||||
bl FUN_020612F8
|
||||
_02041DC8:
|
||||
add sp, #0xc
|
||||
mov r0, #0x0
|
||||
pop {r4-r7, pc}
|
||||
_02041DCE:
|
||||
mov r0, #0x40
|
||||
mov r1, #0x20
|
||||
bl String_ctor
|
||||
add r6, r0, #0x0
|
||||
add r0, r4, #0x0
|
||||
add r0, #0x80
|
||||
ldr r0, [r0, #0x0]
|
||||
ldr r0, [r0, #0xc]
|
||||
bl Sav2_PlayerData_GetProfileAddr
|
||||
add r1, r6, #0x0
|
||||
add r7, r0, #0x0
|
||||
bl PlayerName_FlatToString
|
||||
add r0, r5, #0x0
|
||||
mov r1, #0x0
|
||||
mov r2, #0x1
|
||||
add r3, r6, #0x0
|
||||
bl FUN_020287C0
|
||||
add r0, r7, #0x0
|
||||
bl PlayerProfile_GetTrainerGender
|
||||
add r2, r0, #0x0
|
||||
add r0, r5, #0x0
|
||||
mov r1, #0x0
|
||||
bl FUN_020287EC
|
||||
add r0, r5, #0x0
|
||||
mov r1, #0x0
|
||||
mov r2, #0x2
|
||||
bl FUN_02028810
|
||||
bl MTRandom
|
||||
add r2, r0, #0x0
|
||||
add r0, r5, #0x0
|
||||
mov r1, #0x0
|
||||
bl FUN_02028788
|
||||
add r0, r6, #0x0
|
||||
bl String_dtor
|
||||
add r0, r5, #0x0
|
||||
mov r1, #0x0
|
||||
mov r2, #0x1
|
||||
bl FUN_02028700
|
||||
add r4, #0x80
|
||||
ldr r0, [r4, #0x0]
|
||||
bl FUN_020612EC
|
||||
_02041E38:
|
||||
mov r0, #0x0
|
||||
add sp, #0xc
|
||||
pop {r4-r7, pc}
|
||||
.balign 4
|
||||
+21
-21
@@ -492,23 +492,23 @@ gScriptCmdTable: ; 0x020F355C
|
||||
.word FUN_0203D738
|
||||
.word FUN_0203D774
|
||||
.word FUN_0203D834
|
||||
.word FUN_020453F4
|
||||
.word FUN_02045424
|
||||
.word FUN_02045438
|
||||
.word FUN_02045468
|
||||
.word FUN_02045484
|
||||
.word FUN_020454CC
|
||||
.word FUN_0204552C
|
||||
.word FUN_02045500
|
||||
.word FUN_0204557C
|
||||
.word FUN_02045590
|
||||
.word FUN_020455BC
|
||||
.word FUN_020455D0
|
||||
.word FUN_020455E4
|
||||
.word FUN_02045610
|
||||
.word FUN_02045624
|
||||
.word FUN_02045638
|
||||
.word FUN_02045664
|
||||
.word ScrCmd_HasSinnohDex
|
||||
.word ScrCmd_GiveSinnohDex
|
||||
.word ScrCmd_Unk0159
|
||||
.word ScrCmd_Unk015A
|
||||
.word ScrCmd_HasBadge
|
||||
.word ScrCmd_GiveBadge
|
||||
.word ScrCmd_GetTotalEarnedBadges
|
||||
.word ScrCmd_Unk015E
|
||||
.word ScrCmd_Unk015F
|
||||
.word ScrCmd_Unk0160
|
||||
.word ScrCmd_Unk0161
|
||||
.word ScrCmd_Unk0162
|
||||
.word ScrCmd_Unk0163
|
||||
.word ScrCmd_Unk0164
|
||||
.word ScrCmd_Unk0165
|
||||
.word ScrCmd_Unk0166
|
||||
.word ScrCmd_Unk0167
|
||||
.word FUN_0203DC00
|
||||
.word FUN_0203DC58
|
||||
.word FUN_0203DC70
|
||||
@@ -612,9 +612,9 @@ gScriptCmdTable: ; 0x020F355C
|
||||
.word FUN_0203E138
|
||||
.word FUN_0203E168
|
||||
.word FUN_0203E254
|
||||
.word FUN_02045678
|
||||
.word FUN_020456D4
|
||||
.word FUN_0204572C
|
||||
.word ScrCmd_Unk01CF
|
||||
.word ScrCmd_Unk01D0
|
||||
.word ScrCmd_Unk01D1
|
||||
.word FUN_0203E258
|
||||
.word FUN_0203E29C
|
||||
.word FUN_0203E2F8
|
||||
@@ -690,7 +690,7 @@ gScriptCmdTable: ; 0x020F355C
|
||||
.word FUN_0203E81C
|
||||
.word FUN_0203E848
|
||||
.word FUN_0203E858
|
||||
.word FUN_02041C38
|
||||
.word ScrCmd_Unk021D
|
||||
.word FUN_02045E1C
|
||||
.word FUN_02045E20
|
||||
.word FUN_02045EE0
|
||||
|
||||
@@ -1,73 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
.include "global.inc"
|
||||
|
||||
.section .rodata
|
||||
|
||||
.global UNK_020FD6E4
|
||||
UNK_020FD6E4: ; 0x020FD6E4
|
||||
.word FUN_020889B0, FUN_02088A00, FUN_02088A78, 0xFFFFFFFF
|
||||
|
||||
.text
|
||||
|
||||
thumb_func_start FUN_0208890C
|
||||
FUN_0208890C: ; 0x0208890C
|
||||
push {r3-r7, lr}
|
||||
add r6, r0, #0x0
|
||||
add r5, r1, #0x0
|
||||
add r0, r2, #0x0
|
||||
mov r1, #0x20
|
||||
add r7, r3, #0x0
|
||||
bl AllocFromHeap
|
||||
add r4, r0, #0x0
|
||||
mov r1, #0x0
|
||||
mov r2, #0x20
|
||||
bl MI_CpuFill8
|
||||
str r5, [r4, #0xc]
|
||||
add r0, r5, #0x0
|
||||
bl FUN_02028048
|
||||
str r0, [r4, #0x8]
|
||||
add r0, r5, #0x0
|
||||
bl Sav2_PlayerData_GetProfileAddr
|
||||
str r0, [r4, #0x10]
|
||||
add r0, r5, #0x0
|
||||
bl Sav2_Bag_get
|
||||
str r0, [r4, #0x14]
|
||||
add r0, r5, #0x0
|
||||
bl Sav2_PlayerData_GetOptionsAddr
|
||||
str r0, [r4, #0x18]
|
||||
str r7, [r4, #0x1c]
|
||||
str r6, [r4, #0x4]
|
||||
add r0, r4, #0x0
|
||||
pop {r3-r7, pc}
|
||||
|
||||
thumb_func_start FUN_02088950
|
||||
FUN_02088950: ; 0x02088950
|
||||
ldr r3, _02088958 ; =FUN_020373D4
|
||||
add r2, r1, #0x0
|
||||
ldr r1, _0208895C ; =UNK_020FD6E4
|
||||
bx r3
|
||||
.balign 4
|
||||
_02088958: .word FUN_020373D4
|
||||
_0208895C: .word UNK_020FD6E4
|
||||
|
||||
thumb_func_start FUN_02088960
|
||||
FUN_02088960: ; 0x02088960
|
||||
push {r4-r6, lr}
|
||||
add r5, r0, #0x0
|
||||
add r4, r1, #0x0
|
||||
add r6, r2, #0x0
|
||||
bl ScriptEnvironment_GetSav2Ptr
|
||||
add r3, r5, #0x0
|
||||
add r3, #0x98
|
||||
add r1, r0, #0x0
|
||||
ldr r3, [r3, #0x0]
|
||||
add r0, r4, #0x0
|
||||
add r2, r6, #0x0
|
||||
bl FUN_0208890C
|
||||
add r4, r0, #0x0
|
||||
add r0, r5, #0x0
|
||||
add r1, r4, #0x0
|
||||
bl FUN_02088950
|
||||
add r0, r4, #0x0
|
||||
pop {r4-r6, pc}
|
||||
.balign 4
|
||||
+21
-21
@@ -3238,7 +3238,7 @@
|
||||
.extern FUN_02041B9C
|
||||
.extern FUN_02041BC4
|
||||
.extern FUN_02041BF0
|
||||
.extern FUN_02041C38
|
||||
.extern ScrCmd_Unk021D
|
||||
.extern FUN_02041E40
|
||||
.extern FUN_02041FDC
|
||||
.extern FUN_02042000
|
||||
@@ -3358,26 +3358,26 @@
|
||||
.extern ScrCmd_Unk01F2
|
||||
.extern ScrCmd_Unk01F3
|
||||
.extern ScrCmd_Unk02A6
|
||||
.extern FUN_020453F4
|
||||
.extern FUN_02045424
|
||||
.extern FUN_02045438
|
||||
.extern FUN_02045468
|
||||
.extern FUN_02045484
|
||||
.extern FUN_020454CC
|
||||
.extern FUN_02045500
|
||||
.extern FUN_0204552C
|
||||
.extern FUN_0204557C
|
||||
.extern FUN_02045590
|
||||
.extern FUN_020455BC
|
||||
.extern FUN_020455D0
|
||||
.extern FUN_020455E4
|
||||
.extern FUN_02045610
|
||||
.extern FUN_02045624
|
||||
.extern FUN_02045638
|
||||
.extern FUN_02045664
|
||||
.extern FUN_02045678
|
||||
.extern FUN_020456D4
|
||||
.extern FUN_0204572C
|
||||
.extern ScrCmd_HasSinnohDex
|
||||
.extern ScrCmd_GiveSinnohDex
|
||||
.extern ScrCmd_Unk0159
|
||||
.extern ScrCmd_Unk015A
|
||||
.extern ScrCmd_HasBadge
|
||||
.extern ScrCmd_GiveBadge
|
||||
.extern ScrCmd_Unk015E
|
||||
.extern ScrCmd_GetTotalEarnedBadges
|
||||
.extern ScrCmd_Unk015F
|
||||
.extern ScrCmd_Unk0160
|
||||
.extern ScrCmd_Unk0161
|
||||
.extern ScrCmd_Unk0162
|
||||
.extern ScrCmd_Unk0163
|
||||
.extern ScrCmd_Unk0164
|
||||
.extern ScrCmd_Unk0165
|
||||
.extern ScrCmd_Unk0166
|
||||
.extern ScrCmd_Unk0167
|
||||
.extern ScrCmd_Unk01CF
|
||||
.extern ScrCmd_Unk01D0
|
||||
.extern ScrCmd_Unk01D1
|
||||
.extern ScrCmd_GiveItem
|
||||
.extern ScrCmd_TakeItem
|
||||
.extern ScrCmd_HasSpaceForItem
|
||||
|
||||
@@ -0,0 +1,87 @@
|
||||
#include "scrcmd.h"
|
||||
#include "math_util.h"
|
||||
#include "unk_020286F8.h"
|
||||
|
||||
extern void* FUN_02039438(struct UnkSavStruct80*, u8 idx);
|
||||
|
||||
extern void FUN_020385CC(struct UnkStruct_0204639C*, u32, u32, u32, u32, u16*, u16* ret_ptr);
|
||||
extern BOOL FUN_020612EC(struct UnkSavStruct80*);
|
||||
extern BOOL FUN_020612F8(struct UnkSavStruct80*);
|
||||
|
||||
THUMB_FUNC BOOL ScrCmd_Unk021D(struct ScriptContext* ctx)
|
||||
{
|
||||
struct ScrStrBufs** mgr = FUN_02039438(ctx->unk80, 15);
|
||||
struct UnkSaveStruct_020286F8* unk_sav_ptr = FUN_0202881C(ctx->unk80->saveBlock2);
|
||||
struct SaveBlock2* sav2 = ctx->unk80->saveBlock2;
|
||||
|
||||
u16 unk = ScriptReadHalfword(ctx);
|
||||
switch (unk)
|
||||
{
|
||||
case 0: {
|
||||
u16 unk_var = VarGet(ctx->unk80, ScriptReadHalfword(ctx));
|
||||
u16* ret_ptr = GetVarPointer(ctx->unk80, ScriptReadHalfword(ctx));
|
||||
|
||||
*ret_ptr = (u16)FUN_02028828(unk_sav_ptr, unk_var);
|
||||
return FALSE;
|
||||
}
|
||||
case 1: {
|
||||
u16 unk_var = VarGet(ctx->unk80, ScriptReadHalfword(ctx));
|
||||
u16* ret_ptr = GetVarPointer(ctx->unk80, ScriptReadHalfword(ctx));
|
||||
|
||||
*ret_ptr = (u16)FUN_02028840(unk_sav_ptr, unk_var);
|
||||
return FALSE;
|
||||
}
|
||||
case 2: {
|
||||
u16 unk_var = VarGet(ctx->unk80, ScriptReadHalfword(ctx));
|
||||
u16 idx = VarGet(ctx->unk80, ScriptReadHalfword(ctx));
|
||||
|
||||
BufferEasyChatWord(*mgr, sav2, unk_var, idx, 0);
|
||||
break;
|
||||
}
|
||||
case 3: {
|
||||
u16 unk_var = VarGet(ctx->unk80, ScriptReadHalfword(ctx));
|
||||
u16 idx = VarGet(ctx->unk80, ScriptReadHalfword(ctx));
|
||||
|
||||
BufferEasyChatWord(*mgr, sav2, unk_var, idx, 1);
|
||||
break;
|
||||
}
|
||||
case 4: {
|
||||
u16* unk_str_ptr = FUN_020287A8(unk_sav_ptr, 0, 0);
|
||||
u16* ret_ptr = GetVarPointer(ctx->unk80, ScriptReadHalfword(ctx));
|
||||
|
||||
FUN_020385CC(ctx->unk74, 5, 0, 7, 0, unk_str_ptr, ret_ptr);
|
||||
return TRUE;
|
||||
}
|
||||
case 5: {
|
||||
u16 src_idx = VarGet(ctx->unk80, ScriptReadHalfword(ctx));
|
||||
BOOL unk_bool = FUN_02028828(unk_sav_ptr, 1);
|
||||
|
||||
FUN_02028700(unk_sav_ptr, src_idx, 1);
|
||||
if (unk_bool != FALSE)
|
||||
{
|
||||
FUN_020612F8(ctx->unk80);
|
||||
}
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
case 6: {
|
||||
struct String* player_name = String_ctor(64, 32);
|
||||
struct PlayerData* player = Sav2_PlayerData_GetProfileAddr(ctx->unk80->saveBlock2);
|
||||
|
||||
PlayerName_FlatToString(player, player_name);
|
||||
FUN_020287C0(unk_sav_ptr, 0, 1, player_name);
|
||||
FUN_020287EC(unk_sav_ptr, 0, PlayerProfile_GetTrainerGender(player));
|
||||
FUN_02028810(unk_sav_ptr, 0, 2);
|
||||
FUN_02028788(unk_sav_ptr, 0, MTRandom());
|
||||
|
||||
String_dtor(player_name);
|
||||
|
||||
FUN_02028700(unk_sav_ptr, 0, 1);
|
||||
FUN_020612EC(ctx->unk80);
|
||||
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
@@ -0,0 +1,284 @@
|
||||
#include "scrcmd.h"
|
||||
#include "event_data.h"
|
||||
#include "pokedex.h"
|
||||
|
||||
extern void* FUN_02034E20(void*);
|
||||
extern void* FUN_02034E30(void*);
|
||||
extern BOOL FUN_02055474(void*);
|
||||
extern void FUN_02055488(void*, u32);
|
||||
extern void FUN_0205ECD4(struct ScriptState* state);
|
||||
extern BOOL FUN_0205ECE0(struct ScriptState* state);
|
||||
extern void FUN_0205ECFC(struct ScriptState* state);
|
||||
extern BOOL FUN_0205ED0C(struct ScriptState* state);
|
||||
extern void FUN_0205ED1C(struct ScriptState* state);
|
||||
extern void FUN_0205ED2C(struct ScriptState* state);
|
||||
extern BOOL FUN_0205ED3C(struct ScriptState* state);
|
||||
extern void FUN_0205ED4C(struct ScriptState* state);
|
||||
extern void FUN_0205ED5C(struct ScriptState* state);
|
||||
extern BOOL FUN_0205ED6C(struct ScriptState* state);
|
||||
extern BOOL FUN_0205F264(struct ScriptState* state, u32);
|
||||
extern void FUN_0205F274(struct ScriptState* state);
|
||||
extern void FUN_0205F284(struct ScriptState* state);
|
||||
extern BOOL FUN_0205F294(struct ScriptState* state);
|
||||
extern void FUN_0205F2A4(struct ScriptState* state);
|
||||
extern void FUN_0205F2B4(struct ScriptState* state);
|
||||
extern BOOL FUN_0205F2C4(struct ScriptState* state);
|
||||
|
||||
const u8 UNK_020F457F[8] = {
|
||||
0, 1, 2, 3, 4, 5, 6, 7,
|
||||
};
|
||||
|
||||
THUMB_FUNC BOOL ScrCmd_HasSinnohDex(struct ScriptContext* ctx)
|
||||
{
|
||||
struct Pokedex* pokedex = Sav2_Pokedex_get(ctx->unk80->saveBlock2);
|
||||
u16* ret_ptr = GetVarPointer(ctx->unk80, ScriptReadHalfword(ctx));
|
||||
|
||||
*ret_ptr = (u16)Pokedex_GetSinnohDexFlag(pokedex);
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
THUMB_FUNC BOOL ScrCmd_GiveSinnohDex(struct ScriptContext* ctx)
|
||||
{
|
||||
struct Pokedex* pokedex = Sav2_Pokedex_get(ctx->unk80->saveBlock2);
|
||||
|
||||
Pokedex_SetSinnohDexFlag(pokedex);
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
THUMB_FUNC BOOL ScrCmd_Unk0159(struct ScriptContext* ctx)
|
||||
{
|
||||
u16* ret_ptr = GetVarPointer(ctx->unk80, ScriptReadHalfword(ctx));
|
||||
void* unk_sav_ptr = FUN_02034E30(ctx->unk80->saveBlock2);
|
||||
void* unk = FUN_02034E20(unk_sav_ptr);
|
||||
|
||||
*ret_ptr = (u16)FUN_02055474(unk);
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
THUMB_FUNC BOOL ScrCmd_Unk015A(struct ScriptContext* ctx)
|
||||
{
|
||||
void* unk_sav_ptr = FUN_02034E30(ctx->unk80->saveBlock2);
|
||||
void* unk = FUN_02034E20(unk_sav_ptr);
|
||||
|
||||
FUN_02055488(unk, 1);
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
THUMB_FUNC BOOL ScrCmd_HasBadge(struct ScriptContext* ctx)
|
||||
{
|
||||
u16 badge_no = VarGet(ctx->unk80, ScriptReadHalfword(ctx));
|
||||
u16* ret_ptr = GetVarPointer(ctx->unk80, ScriptReadHalfword(ctx));
|
||||
GF_ASSERT(badge_no < 8);
|
||||
struct PlayerData* player = Sav2_PlayerData_GetProfileAddr(ctx->unk80->saveBlock2);
|
||||
|
||||
*ret_ptr = (u16)PlayerProfile_TestBadgeFlag(player, badge_no);
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
THUMB_FUNC BOOL ScrCmd_GiveBadge(struct ScriptContext* ctx)
|
||||
{
|
||||
u16 badge_no = VarGet(ctx->unk80, ScriptReadHalfword(ctx));
|
||||
GF_ASSERT(badge_no < 8);
|
||||
struct PlayerData* player = Sav2_PlayerData_GetProfileAddr(ctx->unk80->saveBlock2);
|
||||
|
||||
PlayerProfile_SetBadgeFlag(player, badge_no);
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
THUMB_FUNC BOOL ScrCmd_Unk015E(struct ScriptContext* ctx)
|
||||
{
|
||||
u16* ret_ptr = GetVarPointer(ctx->unk80, ScriptReadHalfword(ctx));
|
||||
struct ScriptState* state = SavArray_Flags_get(ctx->unk80->saveBlock2);
|
||||
|
||||
*ret_ptr = (u16)FUN_0205ECE0(state);
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
THUMB_FUNC BOOL ScrCmd_GetTotalEarnedBadges(struct ScriptContext* ctx)
|
||||
{
|
||||
u16* ret_ptr = GetVarPointer(ctx->unk80, ScriptReadHalfword(ctx));
|
||||
|
||||
u16 i;
|
||||
u16 badges;
|
||||
for (i = 0, badges = 0; i < 8; i++)
|
||||
{
|
||||
struct PlayerData* player = Sav2_PlayerData_GetProfileAddr(ctx->unk80->saveBlock2);
|
||||
BOOL has_badge = PlayerProfile_TestBadgeFlag(player, UNK_020F457F[i]);
|
||||
if (has_badge == TRUE)
|
||||
{
|
||||
badges++;
|
||||
}
|
||||
}
|
||||
|
||||
*ret_ptr = badges;
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
THUMB_FUNC BOOL ScrCmd_Unk015F(struct ScriptContext* ctx)
|
||||
{
|
||||
struct ScriptState* state = SavArray_Flags_get(ctx->unk80->saveBlock2);
|
||||
|
||||
FUN_0205ECD4(state);
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
THUMB_FUNC BOOL ScrCmd_Unk0160(struct ScriptContext* ctx)
|
||||
{
|
||||
u16* ret_ptr = GetVarPointer(ctx->unk80, ScriptReadHalfword(ctx));
|
||||
struct ScriptState* state = SavArray_Flags_get(ctx->unk80->saveBlock2);
|
||||
|
||||
*ret_ptr = (u16)FUN_0205ED3C(state);
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
THUMB_FUNC BOOL ScrCmd_Unk0161(struct ScriptContext* ctx)
|
||||
{
|
||||
struct ScriptState* state = SavArray_Flags_get(ctx->unk80->saveBlock2);
|
||||
|
||||
FUN_0205ED1C(state);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
THUMB_FUNC BOOL ScrCmd_Unk0162(struct ScriptContext* ctx)
|
||||
{
|
||||
struct ScriptState* state = SavArray_Flags_get(ctx->unk80->saveBlock2);
|
||||
|
||||
FUN_0205ED2C(state);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
THUMB_FUNC BOOL ScrCmd_Unk0163(struct ScriptContext* ctx)
|
||||
{
|
||||
u16* ret_ptr = GetVarPointer(ctx->unk80, ScriptReadHalfword(ctx));
|
||||
struct ScriptState* state = SavArray_Flags_get(ctx->unk80->saveBlock2);
|
||||
|
||||
*ret_ptr = (u16)FUN_0205ED6C(state);
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
THUMB_FUNC BOOL ScrCmd_Unk0164(struct ScriptContext* ctx)
|
||||
{
|
||||
struct ScriptState* state = SavArray_Flags_get(ctx->unk80->saveBlock2);
|
||||
|
||||
FUN_0205ED4C(state);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
THUMB_FUNC BOOL ScrCmd_Unk0165(struct ScriptContext* ctx)
|
||||
{
|
||||
struct ScriptState* state = SavArray_Flags_get(ctx->unk80->saveBlock2);
|
||||
|
||||
FUN_0205ED5C(state);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
THUMB_FUNC BOOL ScrCmd_Unk0166(struct ScriptContext* ctx)
|
||||
{
|
||||
u16* ret_ptr = GetVarPointer(ctx->unk80, ScriptReadHalfword(ctx));
|
||||
struct ScriptState* state = SavArray_Flags_get(ctx->unk80->saveBlock2);
|
||||
|
||||
*ret_ptr = (u16)FUN_0205ED0C(state);
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
THUMB_FUNC BOOL ScrCmd_Unk0167(struct ScriptContext* ctx)
|
||||
{
|
||||
struct ScriptState* state = SavArray_Flags_get(ctx->unk80->saveBlock2);
|
||||
|
||||
FUN_0205ECFC(state);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
THUMB_FUNC BOOL ScrCmd_Unk01CF(struct ScriptContext* ctx)
|
||||
{
|
||||
struct ScriptState* state = SavArray_Flags_get(ctx->unk80->saveBlock2);
|
||||
u8 unk = ScriptReadByte(ctx);
|
||||
u16* ret_ptr;
|
||||
|
||||
switch (unk)
|
||||
{
|
||||
case 1:
|
||||
FUN_0205F264(state, 1);
|
||||
break;
|
||||
case 0:
|
||||
FUN_0205F264(state, 0);
|
||||
break;
|
||||
case 2:
|
||||
ret_ptr = GetVarPointer(ctx->unk80, ScriptReadHalfword(ctx));
|
||||
*ret_ptr = (u16)FUN_0205F264(state, 2);
|
||||
break;
|
||||
default:
|
||||
GF_ASSERT(FALSE);
|
||||
break;
|
||||
}
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
THUMB_FUNC BOOL ScrCmd_Unk01D0(struct ScriptContext* ctx)
|
||||
{
|
||||
struct ScriptState* state = SavArray_Flags_get(ctx->unk80->saveBlock2);
|
||||
u8 unk = ScriptReadByte(ctx);
|
||||
u16* ret_ptr;
|
||||
|
||||
switch (unk)
|
||||
{
|
||||
case 1:
|
||||
FUN_0205F274(state);
|
||||
break;
|
||||
case 0:
|
||||
FUN_0205F284(state);
|
||||
break;
|
||||
case 2:
|
||||
ret_ptr = GetVarPointer(ctx->unk80, ScriptReadHalfword(ctx));
|
||||
*ret_ptr = (u16)FUN_0205F294(state);
|
||||
break;
|
||||
default:
|
||||
GF_ASSERT(FALSE);
|
||||
break;
|
||||
}
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
THUMB_FUNC BOOL ScrCmd_Unk01D1(struct ScriptContext* ctx)
|
||||
{
|
||||
struct ScriptState* state = SavArray_Flags_get(ctx->unk80->saveBlock2);
|
||||
u8 unk = ScriptReadByte(ctx);
|
||||
u16* ret_ptr;
|
||||
|
||||
switch (unk)
|
||||
{
|
||||
case 1:
|
||||
FUN_0205F2A4(state);
|
||||
break;
|
||||
case 0:
|
||||
FUN_0205F2B4(state);
|
||||
break;
|
||||
case 2:
|
||||
ret_ptr = GetVarPointer(ctx->unk80, ScriptReadHalfword(ctx));
|
||||
*ret_ptr = (u16)FUN_0205F2C4(state);
|
||||
break;
|
||||
default:
|
||||
GF_ASSERT(FALSE);
|
||||
break;
|
||||
}
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
@@ -75,9 +75,9 @@ void FUN_020287C0(struct UnkSaveStruct_020286F8 * ptr, u32 i, u32 j, struct Stri
|
||||
CopyStringToU16Array(k, ptr[i].unk_10, 8);
|
||||
}
|
||||
|
||||
void FUN_020287EC(struct UnkSaveStruct_020286F8 * ptr, u32 i, u8 j)
|
||||
void FUN_020287EC(struct UnkSaveStruct_020286F8 * ptr, u32 i, u32 j)
|
||||
{
|
||||
ptr[i].unk_20 = j;
|
||||
ptr[i].unk_20 = (u8)j;
|
||||
}
|
||||
|
||||
u8 FUN_020287F8(struct UnkSaveStruct_020286F8 * ptr, u32 i)
|
||||
@@ -90,10 +90,9 @@ u8 FUN_02028804(struct UnkSaveStruct_020286F8 * ptr, u32 i)
|
||||
return ptr[i].unk_21;
|
||||
}
|
||||
|
||||
|
||||
void FUN_02028810(struct UnkSaveStruct_020286F8 * ptr, u32 i, u8 j)
|
||||
void FUN_02028810(struct UnkSaveStruct_020286F8 * ptr, u32 i, u32 j)
|
||||
{
|
||||
ptr[i].unk_21 = j;
|
||||
ptr[i].unk_21 = (u8)j;
|
||||
}
|
||||
|
||||
struct UnkSaveStruct_020286F8 * FUN_0202881C(struct SaveBlock2 * sav2)
|
||||
|
||||
@@ -0,0 +1,53 @@
|
||||
#include "global.h"
|
||||
#include "bag.h"
|
||||
#include "heap.h"
|
||||
#include "main.h"
|
||||
#include "MI_memory.h"
|
||||
#include "player_data.h"
|
||||
#include "script.h"
|
||||
#include "unk_0208890C.h"
|
||||
|
||||
extern struct SaveBlock2* ScriptEnvironment_GetSav2Ptr(struct UnkSavStruct80*);
|
||||
extern void* FUN_02028048(struct SaveBlock2* sav2);
|
||||
extern void FUN_020373D4(struct UnkSavStruct80*, struct Unk21DBE18*, void*);
|
||||
extern BOOL FUN_020889B0(struct UnkStruct_02006234*, u32*);
|
||||
extern BOOL FUN_02088A00(struct UnkStruct_02006234*, u32*);
|
||||
extern BOOL FUN_02088A78(struct UnkStruct_02006234*, u32*);
|
||||
|
||||
const struct Unk21DBE18 UNK_020FD6E4 = {
|
||||
FUN_020889B0,
|
||||
FUN_02088A00,
|
||||
FUN_02088A78,
|
||||
0xFFFFFFFF,
|
||||
};
|
||||
|
||||
THUMB_FUNC struct UnkStruct_0208890C* FUN_0208890C(void* a0, struct SaveBlock2* sav2, u32 heap_id, void* a3)
|
||||
{
|
||||
struct UnkStruct_0208890C* ret = AllocFromHeap(heap_id, sizeof(struct UnkStruct_0208890C));
|
||||
MI_CpuFill8(ret, 0, sizeof(struct UnkStruct_0208890C));
|
||||
|
||||
ret->sav2 = sav2;
|
||||
ret->unk8 = FUN_02028048(sav2);
|
||||
ret->player = Sav2_PlayerData_GetProfileAddr(sav2);
|
||||
ret->bag = Sav2_Bag_get(sav2);
|
||||
ret->options = Sav2_PlayerData_GetOptionsAddr(sav2);
|
||||
ret->unk1C = a3;
|
||||
ret->unk4 = a0;
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
THUMB_FUNC void FUN_02088950(struct UnkSavStruct80* unk, struct UnkStruct_0208890C* unk2)
|
||||
{
|
||||
FUN_020373D4(unk, (struct Unk21DBE18*)&UNK_020FD6E4, unk2);
|
||||
}
|
||||
|
||||
THUMB_FUNC struct UnkStruct_0208890C* FUN_02088960(struct UnkSavStruct80* unk, void* a1, u32 heap_id)
|
||||
{
|
||||
struct SaveBlock2* sav2 = ScriptEnvironment_GetSav2Ptr(unk);
|
||||
struct UnkStruct_0208890C* ret = FUN_0208890C(a1, sav2, heap_id, unk->unk98);
|
||||
|
||||
FUN_02088950(unk, ret);
|
||||
|
||||
return ret;
|
||||
}
|
||||
@@ -150,6 +150,9 @@ BOOL ScrCmd_Unk02CC(struct ScriptContext* ctx);
|
||||
BOOL ScrCmd_GetSealNamePlural(struct ScriptContext* ctx);
|
||||
BOOL ScrCmd_CapitalizeFirstChar(struct ScriptContext* ctx);
|
||||
|
||||
//scrcmd_8.c
|
||||
BOOL ScrCmd_Unk021D(struct ScriptContext* ctx);
|
||||
|
||||
//scrcmd_11.c
|
||||
BOOL ScrCmd_Unk017D(struct ScriptContext* ctx);
|
||||
BOOL ScrCmd_Unk017E(struct ScriptContext* ctx);
|
||||
@@ -220,6 +223,28 @@ BOOL ScrCmd_Unk01F3(struct ScriptContext* ctx);
|
||||
//scrcmd_20.c
|
||||
BOOL ScrCmd_Unk02A6(struct ScriptContext* ctx);
|
||||
|
||||
//scrcmd_flags.c
|
||||
BOOL ScrCmd_HasSinnohDex(struct ScriptContext* ctx);
|
||||
BOOL ScrCmd_GiveSinnohDex(struct ScriptContext* ctx);
|
||||
BOOL ScrCmd_Unk0159(struct ScriptContext* ctx);
|
||||
BOOL ScrCmd_Unk015A(struct ScriptContext* ctx);
|
||||
BOOL ScrCmd_HasBadge(struct ScriptContext* ctx);
|
||||
BOOL ScrCmd_GiveBadge(struct ScriptContext* ctx);
|
||||
BOOL ScrCmd_Unk015E(struct ScriptContext* ctx);
|
||||
BOOL ScrCmd_GetTotalEarnedBadges(struct ScriptContext* ctx);
|
||||
BOOL ScrCmd_Unk015F(struct ScriptContext* ctx);
|
||||
BOOL ScrCmd_Unk0160(struct ScriptContext* ctx);
|
||||
BOOL ScrCmd_Unk0161(struct ScriptContext* ctx);
|
||||
BOOL ScrCmd_Unk0162(struct ScriptContext* ctx);
|
||||
BOOL ScrCmd_Unk0163(struct ScriptContext* ctx);
|
||||
BOOL ScrCmd_Unk0164(struct ScriptContext* ctx);
|
||||
BOOL ScrCmd_Unk0165(struct ScriptContext* ctx);
|
||||
BOOL ScrCmd_Unk0166(struct ScriptContext* ctx);
|
||||
BOOL ScrCmd_Unk0167(struct ScriptContext* ctx);
|
||||
BOOL ScrCmd_Unk01CF(struct ScriptContext* ctx);
|
||||
BOOL ScrCmd_Unk01D0(struct ScriptContext* ctx);
|
||||
BOOL ScrCmd_Unk01D1(struct ScriptContext* ctx);
|
||||
|
||||
//scrcmd_items.c
|
||||
BOOL ScrCmd_GiveItem(struct ScriptContext* ctx);
|
||||
BOOL ScrCmd_TakeItem(struct ScriptContext* ctx);
|
||||
|
||||
+3
-1
@@ -37,7 +37,9 @@ struct UnkSavStruct80
|
||||
u32 unk60;
|
||||
u8 padding5[0x14];
|
||||
u32 unk78;
|
||||
u8 padding6[0x2C];
|
||||
u8 padding6[0x1C];
|
||||
void *unk98;
|
||||
u8 padding7[0xC];
|
||||
struct UnkStruct_02046444 * unkA8;
|
||||
};
|
||||
|
||||
|
||||
@@ -21,10 +21,10 @@ void FUN_02028788(struct UnkSaveStruct_020286F8 * ptr, u32 i, u32 j);
|
||||
u32 FUN_020287A4(struct UnkSaveStruct_020286F8 * ptr);
|
||||
u16 * FUN_020287A8(struct UnkSaveStruct_020286F8 * ptr, u32 i, u32 j);
|
||||
void FUN_020287C0(struct UnkSaveStruct_020286F8 * ptr, u32 i, u32 j, struct String * k);
|
||||
void FUN_020287EC(struct UnkSaveStruct_020286F8 * ptr, u32 i, u8 j);
|
||||
void FUN_020287EC(struct UnkSaveStruct_020286F8 * ptr, u32 i, u32 j);
|
||||
u8 FUN_020287F8(struct UnkSaveStruct_020286F8 * ptr, u32 i);
|
||||
u8 FUN_02028804(struct UnkSaveStruct_020286F8 * ptr, u32 i);
|
||||
void FUN_02028810(struct UnkSaveStruct_020286F8 * ptr, u32 i, u8 j);
|
||||
void FUN_02028810(struct UnkSaveStruct_020286F8 * ptr, u32 i, u32 j);
|
||||
struct UnkSaveStruct_020286F8 * FUN_0202881C(struct SaveBlock2 * sav2);
|
||||
BOOL FUN_02028828(struct UnkSaveStruct_020286F8 * ptr, u32 i);
|
||||
BOOL FUN_02028840(struct UnkSaveStruct_020286F8 * ptr, int i);
|
||||
|
||||
@@ -0,0 +1,25 @@
|
||||
#ifndef POKEDIAMOND_UNK_0208890C_H
|
||||
#define POKEDIAMOND_UNK_0208890C_H
|
||||
|
||||
struct Bag;
|
||||
struct Options;
|
||||
struct PlayerData;
|
||||
struct SaveBlock2;
|
||||
|
||||
struct UnkStruct_0208890C
|
||||
{
|
||||
u8 padding[0x4];
|
||||
void* unk4;
|
||||
void* unk8;
|
||||
struct SaveBlock2* sav2;
|
||||
struct PlayerData* player;
|
||||
struct Bag* bag;
|
||||
struct Options* options;
|
||||
void* unk1C;
|
||||
};
|
||||
|
||||
struct UnkStruct_0208890C* FUN_0208890C(void*, struct SaveBlock2* sav2, u32 heap_id, void*);
|
||||
void FUN_02088950(struct UnkSavStruct80*, struct UnkStruct_0208890C*);
|
||||
struct UnkStruct_0208890C* FUN_02088960(struct UnkSavStruct80*, void*, u32 heap_id);
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user