mirror of
https://github.com/pret/pmd-red.git
synced 2026-09-12 11:06:09 -05:00
Moved Kermalis's decomped functions to C
This commit is contained in:
3528
asm/code_803D110.s
3528
asm/code_803D110.s
File diff suppressed because it is too large
Load Diff
199
asm/code_803E490.s
Normal file
199
asm/code_803E490.s
Normal file
@@ -0,0 +1,199 @@
|
||||
#include "asm/constants/gba_constants.inc"
|
||||
#include "asm/macros.inc"
|
||||
|
||||
.syntax unified
|
||||
|
||||
.text
|
||||
|
||||
thumb_func_start sub_803E490
|
||||
sub_803E490:
|
||||
push {r4,r5,lr}
|
||||
sub sp, 0x8
|
||||
ldr r1, _0803E4D8
|
||||
ldr r0, [r1]
|
||||
adds r0, 0x1
|
||||
str r0, [r1]
|
||||
bl xxx_draw_string_80524F0
|
||||
bl sub_8085F78
|
||||
movs r0, 0x1
|
||||
bl sub_803F580
|
||||
ldr r2, _0803E4DC
|
||||
ldr r1, [r2]
|
||||
ldr r3, _0803E4E0
|
||||
adds r0, r1, r3
|
||||
ldrb r0, [r0]
|
||||
cmp r0, 0
|
||||
beq _0803E4EC
|
||||
ldr r4, _0803E4E4
|
||||
adds r1, r4
|
||||
movs r0, 0x2
|
||||
strb r0, [r1]
|
||||
ldr r1, [r2]
|
||||
ldr r2, _0803E4E8
|
||||
adds r0, r1, r2
|
||||
movs r3, 0
|
||||
ldrsh r0, [r0, r3]
|
||||
subs r4, 0x16
|
||||
adds r1, r4
|
||||
movs r2, 0
|
||||
ldrsh r1, [r1, r2]
|
||||
bl SetBG2RegOffsets
|
||||
b _0803E4FC
|
||||
.align 2, 0
|
||||
_0803E4D8: .4byte gUnknown_202EDD4
|
||||
_0803E4DC: .4byte gDungeon
|
||||
_0803E4E0: .4byte 0x0001821a
|
||||
_0803E4E4: .4byte 0x00018208
|
||||
_0803E4E8: .4byte 0x000181f0
|
||||
_0803E4EC:
|
||||
ldr r3, _0803E628
|
||||
adds r1, r3
|
||||
movs r0, 0x3
|
||||
strb r0, [r1]
|
||||
movs r0, 0
|
||||
movs r1, 0
|
||||
bl SetBG2RegOffsets
|
||||
_0803E4FC:
|
||||
ldr r4, _0803E62C
|
||||
ldr r2, [r4]
|
||||
ldr r5, _0803E630
|
||||
adds r0, r2, r5
|
||||
movs r1, 0
|
||||
ldrsh r0, [r0, r1]
|
||||
ldr r3, _0803E634
|
||||
adds r1, r2, r3
|
||||
movs r3, 0
|
||||
ldrsh r1, [r1, r3]
|
||||
ldr r3, _0803E638
|
||||
adds r2, r3
|
||||
ldr r2, [r2]
|
||||
subs r1, r2
|
||||
bl SetBG3RegOffsets
|
||||
bl sub_806CC10
|
||||
bl sub_804522C
|
||||
bl sub_803F9CC
|
||||
ldr r0, [r4]
|
||||
adds r0, r5
|
||||
bl sub_800F7D0
|
||||
ldr r1, [r4]
|
||||
ldrh r2, [r1, 0x12]
|
||||
movs r3, 0x12
|
||||
ldrsh r0, [r1, r3]
|
||||
cmp r0, 0x63
|
||||
bgt _0803E540
|
||||
adds r0, r2, 0x1
|
||||
strh r0, [r1, 0x12]
|
||||
_0803E540:
|
||||
ldr r0, [r4]
|
||||
adds r0, r5
|
||||
bl sub_800E90C
|
||||
bl sub_8042E5C
|
||||
ldr r0, _0803E63C
|
||||
ldr r0, [r0]
|
||||
cmp r0, 0
|
||||
beq _0803E562
|
||||
cmp r0, 0x3
|
||||
beq _0803E562
|
||||
ldr r0, _0803E640
|
||||
ldr r0, [r0]
|
||||
ldrb r0, [r0, 0x4]
|
||||
cmp r0, 0x6
|
||||
bne _0803E566
|
||||
_0803E562:
|
||||
bl sub_8040894
|
||||
_0803E566:
|
||||
bl sub_803ECE0
|
||||
bl sub_803EDF0
|
||||
ldr r0, _0803E62C
|
||||
ldr r3, [r0]
|
||||
ldr r4, _0803E644
|
||||
adds r0, r3, r4
|
||||
ldrb r0, [r0]
|
||||
cmp r0, 0
|
||||
beq _0803E5A2
|
||||
ldr r1, _0803E648
|
||||
adds r0, r3, r1
|
||||
ldr r0, [r0]
|
||||
cmp r0, 0x3
|
||||
beq _0803E5A2
|
||||
ldr r0, _0803E64C
|
||||
ldrb r0, [r0]
|
||||
ldr r1, _0803E650
|
||||
ldr r2, _0803E654
|
||||
ldr r2, [r2]
|
||||
str r2, [sp]
|
||||
movs r4, 0xBE
|
||||
lsls r4, 1
|
||||
adds r2, r3, r4
|
||||
str r2, [sp, 0x4]
|
||||
movs r2, 0xA0
|
||||
movs r3, 0x20
|
||||
bl sub_8004AF0
|
||||
_0803E5A2:
|
||||
ldr r0, _0803E640
|
||||
ldr r0, [r0]
|
||||
ldrb r0, [r0, 0xA]
|
||||
bl nullsub_8
|
||||
bl sub_8005180
|
||||
bl nullsub_12
|
||||
bl sub_80060EC
|
||||
ldr r1, _0803E658
|
||||
ldr r0, [r1]
|
||||
adds r0, 0x1
|
||||
str r0, [r1]
|
||||
ldr r0, _0803E65C
|
||||
ldr r0, [r0]
|
||||
bl IncrementPlayTime
|
||||
bl sub_800CB20
|
||||
bl LoadBufferedInputs
|
||||
bl CopySpritesToOam
|
||||
bl nullsub_13
|
||||
bl sub_8005304
|
||||
bl nullsub_14
|
||||
bl TransferBGPaletteBuffer
|
||||
bl sub_8009908
|
||||
bl xxx_call_update_bg_vram
|
||||
bl sub_8040788
|
||||
bl xxx_call_update_bg_sound_input
|
||||
ldr r0, _0803E62C
|
||||
ldr r0, [r0]
|
||||
ldr r1, _0803E660
|
||||
adds r0, r1
|
||||
movs r1, 0
|
||||
strb r1, [r0]
|
||||
bl UpdateDungeonMusic
|
||||
bl sub_8011860
|
||||
bl sub_8040B60
|
||||
movs r0, 0
|
||||
bl ResetSprites
|
||||
movs r0, 0
|
||||
bl nullsub_10
|
||||
ldr r1, _0803E664
|
||||
ldr r0, [r1]
|
||||
subs r0, 0x1
|
||||
str r0, [r1]
|
||||
add sp, 0x8
|
||||
pop {r4,r5}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_0803E628: .4byte 0x00018208
|
||||
_0803E62C: .4byte gDungeon
|
||||
_0803E630: .4byte 0x000181f0
|
||||
_0803E634: .4byte 0x000181f2
|
||||
_0803E638: .4byte 0x000181fc
|
||||
_0803E63C: .4byte gUnknown_202EDD0
|
||||
_0803E640: .4byte gGameOptionsRef
|
||||
_0803E644: .4byte 0x00018215
|
||||
_0803E648: .4byte 0x0001c06c
|
||||
_0803E64C: .4byte gUnknown_203B40D
|
||||
_0803E650: .4byte gUnknown_202EE8C
|
||||
_0803E654: .4byte gUnknown_202EDC8
|
||||
_0803E658: .4byte gUnknown_202EDCC
|
||||
_0803E65C: .4byte gPlayTimeRef
|
||||
_0803E660: .4byte 0x00018213
|
||||
_0803E664: .4byte gUnknown_202EDD4
|
||||
thumb_func_end sub_803E490
|
||||
|
||||
@ https://decomp.me/scratch/biQXr (kermalis 100%) `void sub_803E668(u32)`
|
||||
.align 2, 0
|
||||
3241
asm/code_803E724.s
Normal file
3241
asm/code_803E724.s
Normal file
File diff suppressed because it is too large
Load Diff
@@ -692,117 +692,3 @@ _08084768:
|
||||
.align 2, 0
|
||||
_08084774: .4byte gUnknown_80FA3B8
|
||||
thumb_func_end sub_80845E0
|
||||
|
||||
@ https://decomp.me/scratch/vELLj (kermalis 100%) `void sub_8084778(void)`
|
||||
thumb_func_start sub_8084778
|
||||
sub_8084778:
|
||||
push {r4,lr}
|
||||
ldr r0, _080847B8
|
||||
ldr r1, _080847BC
|
||||
bl strcpy
|
||||
movs r4, 0
|
||||
_08084784:
|
||||
lsls r0, r4, 24
|
||||
lsrs r0, 24
|
||||
bl GetJobSlotInfo
|
||||
adds r1, r0, 0
|
||||
ldrb r0, [r1]
|
||||
cmp r0, 0x6
|
||||
bne _080847C8
|
||||
ldr r0, _080847C0
|
||||
ldr r0, [r0]
|
||||
ldr r2, _080847C4
|
||||
adds r0, r2
|
||||
ldrb r0, [r0]
|
||||
ldrb r2, [r1, 0x4]
|
||||
cmp r0, r2
|
||||
bne _080847C8
|
||||
ldrb r0, [r1, 0x1]
|
||||
cmp r0, 0x2
|
||||
bne _080847C8
|
||||
movs r0, 0xE
|
||||
ldrsh r1, [r1, r0]
|
||||
ldr r0, _080847B8
|
||||
bl CopyCyanMonsterNametoBuffer
|
||||
b _080847CE
|
||||
.align 2, 0
|
||||
_080847B8: .4byte gUnknown_202E088
|
||||
_080847BC: .4byte gUnknown_8107224
|
||||
_080847C0: .4byte gDungeon
|
||||
_080847C4: .4byte 0x00000644
|
||||
_080847C8:
|
||||
adds r4, 0x1
|
||||
cmp r4, 0x7
|
||||
ble _08084784
|
||||
_080847CE:
|
||||
pop {r4}
|
||||
pop {r0}
|
||||
bx r0
|
||||
thumb_func_end sub_8084778
|
||||
|
||||
thumb_func_start sub_80847D4
|
||||
sub_80847D4:
|
||||
push {r4,r5,lr}
|
||||
ldr r2, _08084820
|
||||
ldr r0, [r2]
|
||||
ldr r1, _08084824
|
||||
adds r0, r1
|
||||
movs r1, 0
|
||||
strb r1, [r0]
|
||||
ldr r0, [r2]
|
||||
ldr r2, _08084828
|
||||
adds r0, r2
|
||||
strb r1, [r0]
|
||||
bl sub_8040A84
|
||||
movs r4, 0
|
||||
ldr r0, _0808482C
|
||||
ldrb r0, [r0]
|
||||
cmp r0, 0
|
||||
beq _08084846
|
||||
movs r3, 0
|
||||
_080847FA:
|
||||
ldr r0, _08084820
|
||||
ldr r0, [r0]
|
||||
ldr r5, _08084830
|
||||
adds r0, r5
|
||||
movs r2, 0
|
||||
ldrsh r1, [r0, r2]
|
||||
adds r0, r1, 0
|
||||
subs r0, 0x1C
|
||||
cmp r0, 0x15
|
||||
bhi _08084810
|
||||
movs r1, 0x1B
|
||||
_08084810:
|
||||
ldr r2, _0808482C
|
||||
adds r0, r3, r2
|
||||
ldrb r5, [r0]
|
||||
cmp r1, r5
|
||||
bne _08084834
|
||||
bl sub_8084854
|
||||
b _08084846
|
||||
.align 2, 0
|
||||
_08084820: .4byte gDungeon
|
||||
_08084824: .4byte 0x00003a0d
|
||||
_08084828: .4byte 0x0001356c
|
||||
_0808482C: .4byte gUnknown_8107234
|
||||
_08084830: .4byte 0x00003a14
|
||||
_08084834:
|
||||
adds r3, 0x8
|
||||
adds r4, 0x1
|
||||
ldr r0, _08084850
|
||||
cmp r4, r0
|
||||
bgt _08084846
|
||||
adds r0, r3, r2
|
||||
ldrb r0, [r0]
|
||||
cmp r0, 0
|
||||
bne _080847FA
|
||||
_08084846:
|
||||
bl sub_8097FF8
|
||||
pop {r4,r5}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_08084850: .4byte 0x000003e6
|
||||
thumb_func_end sub_80847D4
|
||||
|
||||
.align 2,0
|
||||
|
||||
73
asm/code_80847D4.s
Normal file
73
asm/code_80847D4.s
Normal file
@@ -0,0 +1,73 @@
|
||||
#include "asm/constants/gba_constants.inc"
|
||||
#include "asm/macros.inc"
|
||||
|
||||
.syntax unified
|
||||
|
||||
.text
|
||||
|
||||
thumb_func_start sub_80847D4
|
||||
sub_80847D4:
|
||||
push {r4,r5,lr}
|
||||
ldr r2, _08084820
|
||||
ldr r0, [r2]
|
||||
ldr r1, _08084824
|
||||
adds r0, r1
|
||||
movs r1, 0
|
||||
strb r1, [r0]
|
||||
ldr r0, [r2]
|
||||
ldr r2, _08084828
|
||||
adds r0, r2
|
||||
strb r1, [r0]
|
||||
bl sub_8040A84
|
||||
movs r4, 0
|
||||
ldr r0, _0808482C
|
||||
ldrb r0, [r0]
|
||||
cmp r0, 0
|
||||
beq _08084846
|
||||
movs r3, 0
|
||||
_080847FA:
|
||||
ldr r0, _08084820
|
||||
ldr r0, [r0]
|
||||
ldr r5, _08084830
|
||||
adds r0, r5
|
||||
movs r2, 0
|
||||
ldrsh r1, [r0, r2]
|
||||
adds r0, r1, 0
|
||||
subs r0, 0x1C
|
||||
cmp r0, 0x15
|
||||
bhi _08084810
|
||||
movs r1, 0x1B
|
||||
_08084810:
|
||||
ldr r2, _0808482C
|
||||
adds r0, r3, r2
|
||||
ldrb r5, [r0]
|
||||
cmp r1, r5
|
||||
bne _08084834
|
||||
bl sub_8084854
|
||||
b _08084846
|
||||
.align 2, 0
|
||||
_08084820: .4byte gDungeon
|
||||
_08084824: .4byte 0x00003a0d
|
||||
_08084828: .4byte 0x0001356c
|
||||
_0808482C: .4byte gUnknown_8107234
|
||||
_08084830: .4byte 0x00003a14
|
||||
_08084834:
|
||||
adds r3, 0x8
|
||||
adds r4, 0x1
|
||||
ldr r0, _08084850
|
||||
cmp r4, r0
|
||||
bgt _08084846
|
||||
adds r0, r3, r2
|
||||
ldrb r0, [r0]
|
||||
cmp r0, 0
|
||||
bne _080847FA
|
||||
_08084846:
|
||||
bl sub_8097FF8
|
||||
pop {r4,r5}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_08084850: .4byte 0x000003e6
|
||||
thumb_func_end sub_80847D4
|
||||
|
||||
.align 2,0
|
||||
@@ -1,942 +0,0 @@
|
||||
#include "asm/constants/gba_constants.inc"
|
||||
#include "asm/macros.inc"
|
||||
|
||||
.syntax unified
|
||||
|
||||
.text
|
||||
|
||||
@ https://decomp.me/scratch/GE070 (kermalis 100%) `void sub_8085B4C(struct_8085B80 *, s16 **, Entity **, s32)` idk the structs
|
||||
thumb_func_start sub_8085B4C
|
||||
sub_8085B4C:
|
||||
push {r4-r6,lr}
|
||||
adds r5, r0, 0
|
||||
ldr r0, _08085B7C
|
||||
str r3, [r0]
|
||||
cmp r3, 0
|
||||
ble _08085B76
|
||||
movs r6, 0x1
|
||||
adds r4, r1, 0
|
||||
adds r1, r5, 0
|
||||
_08085B5E:
|
||||
strb r6, [r1]
|
||||
ldm r2!, {r0}
|
||||
str r0, [r1, 0x4]
|
||||
ldm r4!, {r0}
|
||||
str r0, [r1, 0xC]
|
||||
movs r5, 0x4
|
||||
ldrsh r0, [r0, r5]
|
||||
str r0, [r1, 0x8]
|
||||
adds r1, 0x10
|
||||
subs r3, 0x1
|
||||
cmp r3, 0
|
||||
bne _08085B5E
|
||||
_08085B76:
|
||||
pop {r4-r6}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_08085B7C: .4byte gUnknown_202F3D8
|
||||
thumb_func_end sub_8085B4C
|
||||
|
||||
@ https://decomp.me/scratch/lb4jF (kermalis 87.53%) `bool8 sub_8085B80(struct_8085B80 *)`
|
||||
thumb_func_start sub_8085B80
|
||||
sub_8085B80:
|
||||
push {r4-r7,lr}
|
||||
mov r7, r8
|
||||
push {r7}
|
||||
adds r1, r0, 0
|
||||
movs r0, 0
|
||||
mov r8, r0
|
||||
movs r7, 0
|
||||
ldr r0, _08085BE4
|
||||
ldr r0, [r0]
|
||||
cmp r8, r0
|
||||
bge _08085C3E
|
||||
adds r5, r1, 0
|
||||
_08085B98:
|
||||
ldr r6, [r5, 0x4]
|
||||
ldr r2, [r6, 0x70]
|
||||
adds r3, r2, 0
|
||||
ldr r4, [r5, 0xC]
|
||||
ldrb r0, [r5]
|
||||
cmp r0, 0
|
||||
beq _08085C32
|
||||
movs r1, 0x1
|
||||
mov r8, r1
|
||||
ldr r0, [r5, 0x8]
|
||||
cmp r0, 0
|
||||
bne _08085C08
|
||||
adds r4, 0x8
|
||||
movs r1, 0x4
|
||||
ldrsh r0, [r4, r1]
|
||||
cmp r0, 0
|
||||
bne _08085BE8
|
||||
strb r0, [r5]
|
||||
ldrb r1, [r4]
|
||||
movs r0, 0x7
|
||||
ands r0, r1
|
||||
adds r1, r2, 0
|
||||
adds r1, 0x46
|
||||
strb r0, [r1]
|
||||
movs r3, 0
|
||||
ldrsh r2, [r4, r3]
|
||||
adds r0, r6, 0
|
||||
movs r1, 0x7
|
||||
bl sub_806CDD4
|
||||
movs r0, 0xA
|
||||
ldrsh r1, [r4, r0]
|
||||
movs r3, 0xC
|
||||
ldrsh r2, [r4, r3]
|
||||
adds r0, r6, 0
|
||||
bl sub_80856C8
|
||||
b _08085C32
|
||||
.align 2, 0
|
||||
_08085BE4: .4byte gUnknown_202F3D8
|
||||
_08085BE8:
|
||||
movs r1, 0x4
|
||||
ldrsh r0, [r4, r1]
|
||||
str r0, [r5, 0x8]
|
||||
str r4, [r5, 0xC]
|
||||
ldrb r1, [r4]
|
||||
movs r0, 0x7
|
||||
ands r0, r1
|
||||
adds r1, r3, 0
|
||||
adds r1, 0x46
|
||||
strb r0, [r1]
|
||||
movs r3, 0
|
||||
ldrsh r2, [r4, r3]
|
||||
adds r0, r6, 0
|
||||
movs r1, 0
|
||||
bl sub_806CDD4
|
||||
_08085C08:
|
||||
ldr r0, [r5, 0x8]
|
||||
subs r0, 0x1
|
||||
str r0, [r5, 0x8]
|
||||
ldr r1, _08085C4C
|
||||
movs r2, 0
|
||||
ldrsh r0, [r4, r2]
|
||||
lsls r0, 2
|
||||
adds r0, r1
|
||||
movs r3, 0
|
||||
ldrsh r1, [r0, r3]
|
||||
movs r3, 0x2
|
||||
ldrsh r2, [r4, r3]
|
||||
muls r1, r2
|
||||
lsls r1, 8
|
||||
movs r3, 0x2
|
||||
ldrsh r0, [r0, r3]
|
||||
muls r2, r0
|
||||
lsls r2, 8
|
||||
adds r0, r6, 0
|
||||
bl IncreaseEntityPixelPos
|
||||
_08085C32:
|
||||
adds r5, 0x10
|
||||
adds r7, 0x1
|
||||
ldr r0, _08085C50
|
||||
ldr r0, [r0]
|
||||
cmp r7, r0
|
||||
blt _08085B98
|
||||
_08085C3E:
|
||||
mov r0, r8
|
||||
pop {r3}
|
||||
mov r8, r3
|
||||
pop {r4-r7}
|
||||
pop {r1}
|
||||
bx r1
|
||||
.align 2, 0
|
||||
_08085C4C: .4byte gAdjacentTileOffsets
|
||||
_08085C50: .4byte gUnknown_202F3D8
|
||||
thumb_func_end sub_8085B80
|
||||
|
||||
thumb_func_start SetDungeonBGColorRGB
|
||||
SetDungeonBGColorRGB:
|
||||
push {r4-r7,lr}
|
||||
mov r7, r10
|
||||
mov r6, r9
|
||||
mov r5, r8
|
||||
push {r5-r7}
|
||||
sub sp, 0x28
|
||||
str r0, [sp, 0x14]
|
||||
mov r10, r1
|
||||
mov r9, r2
|
||||
ldr r4, [sp, 0x48]
|
||||
lsls r3, 24
|
||||
lsrs r3, 24
|
||||
str r3, [sp, 0x18]
|
||||
lsls r4, 24
|
||||
lsrs r4, 24
|
||||
bl sub_8085E98
|
||||
movs r0, 0
|
||||
mov r8, r0
|
||||
ldr r0, _08085E70
|
||||
ldr r0, [r0]
|
||||
ldr r5, [r0, 0x4]
|
||||
cmp r4, 0
|
||||
beq _08085CAE
|
||||
ldr r1, [sp, 0x14]
|
||||
cmp r1, 0
|
||||
blt _08085C92
|
||||
lsrs r0, r1, 31
|
||||
adds r0, r1, r0
|
||||
asrs r0, 1
|
||||
str r0, [sp, 0x14]
|
||||
_08085C92:
|
||||
mov r2, r10
|
||||
cmp r2, 0
|
||||
blt _08085CA0
|
||||
lsrs r0, r2, 31
|
||||
add r0, r10
|
||||
asrs r0, 1
|
||||
mov r10, r0
|
||||
_08085CA0:
|
||||
mov r3, r9
|
||||
cmp r3, 0
|
||||
blt _08085CAE
|
||||
lsrs r0, r3, 31
|
||||
add r0, r9
|
||||
asrs r0, 1
|
||||
mov r9, r0
|
||||
_08085CAE:
|
||||
ldr r1, _08085E74
|
||||
ldr r0, [sp, 0x8]
|
||||
ands r0, r1
|
||||
ldr r1, _08085E78
|
||||
ands r0, r1
|
||||
ldr r1, _08085E7C
|
||||
ands r0, r1
|
||||
str r0, [sp, 0x8]
|
||||
ldr r0, _08085E80
|
||||
ldr r2, [r0]
|
||||
ldr r0, _08085E84
|
||||
ldr r3, [r0]
|
||||
movs r0, 0xBE
|
||||
lsls r0, 1
|
||||
adds r3, r0
|
||||
mov r0, r8
|
||||
add r1, sp, 0x8
|
||||
bl SetBGPaletteBufferColorRGB
|
||||
adds r5, 0x4
|
||||
movs r1, 0x1
|
||||
add r8, r1
|
||||
ldr r2, [sp, 0x14]
|
||||
lsls r2, 16
|
||||
str r2, [sp, 0x1C]
|
||||
mov r3, r10
|
||||
lsls r3, 16
|
||||
str r3, [sp, 0x20]
|
||||
mov r0, r9
|
||||
lsls r0, 16
|
||||
str r0, [sp, 0x24]
|
||||
add r7, sp, 0xC
|
||||
movs r1, 0xA0
|
||||
cmp r1, 0x1
|
||||
ble _08085D56
|
||||
add r6, sp, 0x8
|
||||
movs r4, 0xA0
|
||||
subs r4, 0x1
|
||||
_08085CFA:
|
||||
ldrb r0, [r5]
|
||||
ldr r3, [sp, 0x14]
|
||||
adds r2, r0, r3
|
||||
ldrb r0, [r5, 0x1]
|
||||
mov r3, r10
|
||||
adds r1, r0, r3
|
||||
ldrb r0, [r5, 0x2]
|
||||
add r0, r9
|
||||
cmp r2, 0xFF
|
||||
ble _08085D10
|
||||
movs r2, 0xFF
|
||||
_08085D10:
|
||||
cmp r1, 0xFF
|
||||
ble _08085D16
|
||||
movs r1, 0xFF
|
||||
_08085D16:
|
||||
cmp r0, 0xFF
|
||||
ble _08085D1C
|
||||
movs r0, 0xFF
|
||||
_08085D1C:
|
||||
cmp r2, 0
|
||||
bge _08085D22
|
||||
movs r2, 0
|
||||
_08085D22:
|
||||
cmp r1, 0
|
||||
bge _08085D28
|
||||
movs r1, 0
|
||||
_08085D28:
|
||||
cmp r0, 0
|
||||
bge _08085D2E
|
||||
movs r0, 0
|
||||
_08085D2E:
|
||||
strb r2, [r6]
|
||||
strb r1, [r6, 0x1]
|
||||
strb r0, [r6, 0x2]
|
||||
ldr r0, _08085E80
|
||||
ldr r2, [r0]
|
||||
ldr r0, _08085E84
|
||||
ldr r3, [r0]
|
||||
movs r0, 0xBE
|
||||
lsls r0, 1
|
||||
adds r3, r0
|
||||
mov r0, r8
|
||||
add r1, sp, 0x8
|
||||
bl SetBGPaletteBufferColorRGB
|
||||
adds r5, 0x4
|
||||
movs r1, 0x1
|
||||
add r8, r1
|
||||
subs r4, 0x1
|
||||
cmp r4, 0
|
||||
bne _08085CFA
|
||||
_08085D56:
|
||||
ldr r2, _08085E88
|
||||
ldr r3, [sp, 0x1C]
|
||||
lsrs r0, r3, 16
|
||||
ldr r1, [sp, 0x20]
|
||||
orrs r0, r1
|
||||
str r0, [sp, 0xC]
|
||||
ldr r3, [sp, 0x24]
|
||||
lsrs r1, r3, 16
|
||||
ldr r0, [r7, 0x4]
|
||||
ands r0, r2
|
||||
orrs r0, r1
|
||||
str r0, [r7, 0x4]
|
||||
ldr r0, _08085E8C
|
||||
ldr r1, _08085E80
|
||||
ldr r3, [r1]
|
||||
ldr r1, _08085E84
|
||||
ldr r1, [r1]
|
||||
movs r2, 0xBE
|
||||
lsls r2, 1
|
||||
adds r1, r2
|
||||
str r1, [sp]
|
||||
str r7, [sp, 0x4]
|
||||
movs r1, 0xA0
|
||||
movs r2, 0x20
|
||||
bl sub_8004C00
|
||||
movs r3, 0x20
|
||||
add r8, r3
|
||||
ldr r5, _08085E90
|
||||
add r6, sp, 0x8
|
||||
movs r4, 0x20
|
||||
_08085D94:
|
||||
ldrb r0, [r5]
|
||||
ldr r1, [sp, 0x14]
|
||||
adds r2, r0, r1
|
||||
ldrb r0, [r5, 0x1]
|
||||
mov r3, r10
|
||||
adds r1, r0, r3
|
||||
ldrb r0, [r5, 0x2]
|
||||
add r0, r9
|
||||
cmp r2, 0xFF
|
||||
ble _08085DAA
|
||||
movs r2, 0xFF
|
||||
_08085DAA:
|
||||
cmp r1, 0xFF
|
||||
ble _08085DB0
|
||||
movs r1, 0xFF
|
||||
_08085DB0:
|
||||
cmp r0, 0xFF
|
||||
ble _08085DB6
|
||||
movs r0, 0xFF
|
||||
_08085DB6:
|
||||
cmp r2, 0
|
||||
bge _08085DBC
|
||||
movs r2, 0
|
||||
_08085DBC:
|
||||
cmp r1, 0
|
||||
bge _08085DC2
|
||||
movs r1, 0
|
||||
_08085DC2:
|
||||
cmp r0, 0
|
||||
bge _08085DC8
|
||||
movs r0, 0
|
||||
_08085DC8:
|
||||
strb r2, [r6]
|
||||
strb r1, [r6, 0x1]
|
||||
strb r0, [r6, 0x2]
|
||||
ldr r0, _08085E80
|
||||
ldr r2, [r0]
|
||||
ldr r7, _08085E84
|
||||
ldr r3, [r7]
|
||||
movs r0, 0xBE
|
||||
lsls r0, 1
|
||||
adds r3, r0
|
||||
mov r0, r8
|
||||
add r1, sp, 0x8
|
||||
bl SetBGPaletteBufferColorRGB
|
||||
adds r5, 0x4
|
||||
movs r1, 0x1
|
||||
add r8, r1
|
||||
subs r4, 0x1
|
||||
cmp r4, 0
|
||||
bne _08085D94
|
||||
ldr r2, [sp, 0x18]
|
||||
cmp r2, 0
|
||||
beq _08085E5E
|
||||
ldr r0, [r7]
|
||||
ldr r3, _08085E94
|
||||
adds r0, r3
|
||||
ldr r0, [r0]
|
||||
ldr r5, [r0, 0x4]
|
||||
movs r0, 0x80
|
||||
lsls r0, 1
|
||||
mov r8, r0
|
||||
add r6, sp, 0x8
|
||||
movs r4, 0xD0
|
||||
_08085E0A:
|
||||
ldrb r0, [r5]
|
||||
ldr r1, [sp, 0x14]
|
||||
adds r2, r0, r1
|
||||
ldrb r0, [r5, 0x1]
|
||||
mov r3, r10
|
||||
adds r1, r0, r3
|
||||
ldrb r0, [r5, 0x2]
|
||||
add r0, r9
|
||||
cmp r2, 0xFF
|
||||
ble _08085E20
|
||||
movs r2, 0xFF
|
||||
_08085E20:
|
||||
cmp r1, 0xFF
|
||||
ble _08085E26
|
||||
movs r1, 0xFF
|
||||
_08085E26:
|
||||
cmp r0, 0xFF
|
||||
ble _08085E2C
|
||||
movs r0, 0xFF
|
||||
_08085E2C:
|
||||
cmp r2, 0
|
||||
bge _08085E32
|
||||
movs r2, 0
|
||||
_08085E32:
|
||||
cmp r1, 0
|
||||
bge _08085E38
|
||||
movs r1, 0
|
||||
_08085E38:
|
||||
cmp r0, 0
|
||||
bge _08085E3E
|
||||
movs r0, 0
|
||||
_08085E3E:
|
||||
strb r2, [r6]
|
||||
strb r1, [r6, 0x1]
|
||||
strb r0, [r6, 0x2]
|
||||
ldr r0, _08085E80
|
||||
ldr r2, [r0]
|
||||
mov r0, r8
|
||||
add r1, sp, 0x8
|
||||
movs r3, 0
|
||||
bl SetBGPaletteBufferColorRGB
|
||||
adds r5, 0x4
|
||||
movs r0, 0x1
|
||||
add r8, r0
|
||||
subs r4, 0x1
|
||||
cmp r4, 0
|
||||
bne _08085E0A
|
||||
_08085E5E:
|
||||
add sp, 0x28
|
||||
pop {r3-r5}
|
||||
mov r8, r3
|
||||
mov r9, r4
|
||||
mov r10, r5
|
||||
pop {r4-r7}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_08085E70: .4byte gDungeonPaletteFile
|
||||
_08085E74: .4byte 0xffffff00
|
||||
_08085E78: .4byte 0xffff00ff
|
||||
_08085E7C: .4byte 0xff00ffff
|
||||
_08085E80: .4byte gUnknown_202EDC8
|
||||
_08085E84: .4byte gDungeon
|
||||
_08085E88: .4byte 0xffff0000
|
||||
_08085E8C: .4byte gUnknown_202EE8C
|
||||
_08085E90: .4byte gUnknown_202ECA4
|
||||
_08085E94: .4byte 0x000181e4
|
||||
thumb_func_end SetDungeonBGColorRGB
|
||||
|
||||
@ gDungeon->field_0x18215 = 0;
|
||||
thumb_func_start sub_8085E98
|
||||
sub_8085E98:
|
||||
ldr r0, _08085EA8
|
||||
ldr r0, [r0]
|
||||
ldr r1, _08085EAC
|
||||
adds r0, r1
|
||||
movs r1, 0
|
||||
strb r1, [r0]
|
||||
bx lr
|
||||
.align 2, 0
|
||||
_08085EA8: .4byte gDungeon
|
||||
_08085EAC: .4byte 0x00018215
|
||||
thumb_func_end sub_8085E98
|
||||
|
||||
thumb_func_start sub_8085EB0
|
||||
sub_8085EB0:
|
||||
ldr r0, _08085EC0
|
||||
ldr r0, [r0]
|
||||
ldr r1, _08085EC4
|
||||
adds r0, r1
|
||||
movs r1, 0x1
|
||||
strb r1, [r0]
|
||||
bx lr
|
||||
.align 2, 0
|
||||
_08085EC0: .4byte gDungeon
|
||||
_08085EC4: .4byte 0x00018215
|
||||
thumb_func_end sub_8085EB0
|
||||
|
||||
thumb_func_start sub_8085EC8
|
||||
sub_8085EC8:
|
||||
push {r4-r6,lr}
|
||||
mov r6, r9
|
||||
mov r5, r8
|
||||
push {r5,r6}
|
||||
sub sp, 0x28
|
||||
adds r4, r0, 0
|
||||
mov r8, r1
|
||||
mov r9, r2
|
||||
adds r6, r3, 0
|
||||
ldr r5, [sp, 0x40]
|
||||
lsls r4, 16
|
||||
asrs r4, 16
|
||||
lsls r5, 24
|
||||
lsrs r5, 24
|
||||
adds r0, r4, 0
|
||||
bl sub_800EE5C
|
||||
bl sub_800EF64
|
||||
movs r0, 0x46
|
||||
bl sub_803E46C
|
||||
str r4, [sp]
|
||||
mov r0, r8
|
||||
str r0, [sp, 0x4]
|
||||
mov r2, r9
|
||||
str r2, [sp, 0x8]
|
||||
mov r1, sp
|
||||
ldrh r0, [r6]
|
||||
movs r2, 0
|
||||
strh r0, [r1, 0xC]
|
||||
ldrh r0, [r6, 0x2]
|
||||
strh r0, [r1, 0xE]
|
||||
mov r0, sp
|
||||
strh r2, [r0, 0x10]
|
||||
strh r2, [r0, 0x12]
|
||||
ldr r0, _08085F3C
|
||||
str r0, [sp, 0x18]
|
||||
add r1, sp, 0x1C
|
||||
ldr r0, _08085F40
|
||||
ldm r0!, {r2-r4}
|
||||
stm r1!, {r2-r4}
|
||||
mov r0, sp
|
||||
bl sub_800E890
|
||||
cmp r5, 0
|
||||
beq _08085F2E
|
||||
bl sub_8085F44
|
||||
movs r0, 0x1
|
||||
negs r0, r0
|
||||
_08085F2E:
|
||||
add sp, 0x28
|
||||
pop {r3,r4}
|
||||
mov r8, r3
|
||||
mov r9, r4
|
||||
pop {r4-r6}
|
||||
pop {r1}
|
||||
bx r1
|
||||
.align 2, 0
|
||||
_08085F3C: .4byte 0x0000ffff
|
||||
_08085F40: .4byte gUnknown_8107374
|
||||
thumb_func_end sub_8085EC8
|
||||
|
||||
thumb_func_start sub_8085F44
|
||||
sub_8085F44:
|
||||
push {r4,lr}
|
||||
adds r4, r0, 0
|
||||
b _08085F5C
|
||||
_08085F4A:
|
||||
ldr r0, _08085F70
|
||||
ldr r0, [r0]
|
||||
ldr r1, _08085F74
|
||||
adds r0, r1
|
||||
bl sub_800E90C
|
||||
movs r0, 0x46
|
||||
bl sub_803E46C
|
||||
_08085F5C:
|
||||
adds r0, r4, 0
|
||||
bl sub_800E9A8
|
||||
lsls r0, 24
|
||||
cmp r0, 0
|
||||
bne _08085F4A
|
||||
pop {r4}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_08085F70: .4byte gDungeon
|
||||
_08085F74: .4byte 0x000181f0
|
||||
thumb_func_end sub_8085F44
|
||||
|
||||
thumb_func_start sub_8085F78
|
||||
sub_8085F78:
|
||||
push {lr}
|
||||
ldr r0, _08085F94
|
||||
ldr r0, [r0]
|
||||
ldr r1, _08085F98
|
||||
adds r0, r1
|
||||
ldrb r0, [r0]
|
||||
cmp r0, 0x3C
|
||||
bls _08085F8A
|
||||
b _080860A4
|
||||
_08085F8A:
|
||||
lsls r0, 2
|
||||
ldr r1, _08085F9C
|
||||
adds r0, r1
|
||||
ldr r0, [r0]
|
||||
mov pc, r0
|
||||
.align 2, 0
|
||||
_08085F94: .4byte gDungeon
|
||||
_08085F98: .4byte 0x00003a0d
|
||||
_08085F9C: .4byte _08085FA0
|
||||
.align 2, 0
|
||||
_08085FA0:
|
||||
.4byte _080860A4
|
||||
.4byte _080860A4
|
||||
.4byte _080860A4
|
||||
.4byte _080860A4
|
||||
.4byte _080860A4
|
||||
.4byte _080860A4
|
||||
.4byte _080860A4
|
||||
.4byte _080860A4
|
||||
.4byte _080860A4
|
||||
.4byte _080860A4
|
||||
.4byte _080860A4
|
||||
.4byte _080860A4
|
||||
.4byte _080860A4
|
||||
.4byte _080860A4
|
||||
.4byte _080860A4
|
||||
.4byte _080860A4
|
||||
.4byte _080860A4
|
||||
.4byte _080860A4
|
||||
.4byte _08086094
|
||||
.4byte _08086094
|
||||
.4byte _08086094
|
||||
.4byte _0808609A
|
||||
.4byte _080860A4
|
||||
.4byte _080860A4
|
||||
.4byte _080860A4
|
||||
.4byte _080860A4
|
||||
.4byte _080860A4
|
||||
.4byte _080860A4
|
||||
.4byte _080860A4
|
||||
.4byte _080860A4
|
||||
.4byte _080860A4
|
||||
.4byte _080860A4
|
||||
.4byte _080860A4
|
||||
.4byte _080860A4
|
||||
.4byte _080860A4
|
||||
.4byte _080860A4
|
||||
.4byte _080860A4
|
||||
.4byte _080860A4
|
||||
.4byte _080860A4
|
||||
.4byte _080860A4
|
||||
.4byte _080860A4
|
||||
.4byte _080860A0
|
||||
.4byte _080860A0
|
||||
.4byte _080860A4
|
||||
.4byte _080860A4
|
||||
.4byte _080860A4
|
||||
.4byte _080860A4
|
||||
.4byte _080860A4
|
||||
.4byte _080860A4
|
||||
.4byte _080860A4
|
||||
.4byte _080860A4
|
||||
.4byte _080860A4
|
||||
.4byte _080860A4
|
||||
.4byte _080860A4
|
||||
.4byte _080860A4
|
||||
.4byte _080860A4
|
||||
.4byte _080860A4
|
||||
.4byte _080860A4
|
||||
.4byte _080860A4
|
||||
.4byte _080860A4
|
||||
.4byte _080860A4
|
||||
_08086094:
|
||||
bl sub_8088848
|
||||
b _080860A4
|
||||
_0808609A:
|
||||
bl sub_8088EE8
|
||||
b _080860A4
|
||||
_080860A0:
|
||||
bl sub_808A718
|
||||
_080860A4:
|
||||
pop {r0}
|
||||
bx r0
|
||||
thumb_func_end sub_8085F78
|
||||
|
||||
thumb_func_start sub_80860A8
|
||||
sub_80860A8:
|
||||
push {r4-r6,lr}
|
||||
lsls r0, 24
|
||||
lsrs r6, r0, 24
|
||||
movs r5, 0
|
||||
ldr r0, _08086108
|
||||
ldr r2, [r0]
|
||||
movs r3, 0x1
|
||||
_080860B6:
|
||||
ldrb r1, [r2]
|
||||
adds r0, r3, 0
|
||||
ands r0, r1
|
||||
cmp r0, 0
|
||||
beq _080860C6
|
||||
ldrb r0, [r2, 0x2]
|
||||
cmp r0, r6
|
||||
beq _08086104
|
||||
_080860C6:
|
||||
adds r2, 0x4
|
||||
adds r5, 0x1
|
||||
cmp r5, 0x13
|
||||
ble _080860B6
|
||||
movs r5, 0
|
||||
_080860D0:
|
||||
ldr r0, _0808610C
|
||||
ldr r0, [r0]
|
||||
lsls r1, r5, 2
|
||||
ldr r2, _08086110
|
||||
adds r0, r2
|
||||
adds r0, r1
|
||||
ldr r4, [r0]
|
||||
adds r0, r4, 0
|
||||
bl EntityExists
|
||||
lsls r0, 24
|
||||
cmp r0, 0
|
||||
beq _08086114
|
||||
ldr r2, [r4, 0x70]
|
||||
adds r0, r2, 0
|
||||
adds r0, 0x60
|
||||
ldrb r1, [r0]
|
||||
movs r0, 0x1
|
||||
ands r0, r1
|
||||
cmp r0, 0
|
||||
beq _08086114
|
||||
adds r0, r2, 0
|
||||
adds r0, 0x62
|
||||
ldrb r0, [r0]
|
||||
cmp r0, r6
|
||||
bne _08086114
|
||||
_08086104:
|
||||
movs r0, 0x1
|
||||
b _0808611C
|
||||
.align 2, 0
|
||||
_08086108: .4byte gTeamInventoryRef
|
||||
_0808610C: .4byte gDungeon
|
||||
_08086110: .4byte 0x0001357c
|
||||
_08086114:
|
||||
adds r5, 0x1
|
||||
cmp r5, 0x3
|
||||
ble _080860D0
|
||||
movs r0, 0
|
||||
_0808611C:
|
||||
pop {r4-r6}
|
||||
pop {r1}
|
||||
bx r1
|
||||
thumb_func_end sub_80860A8
|
||||
|
||||
thumb_func_start sub_8086124
|
||||
sub_8086124:
|
||||
ldr r0, [r0, 0x70]
|
||||
movs r2, 0xB0
|
||||
lsls r2, 1
|
||||
adds r0, r2
|
||||
strb r1, [r0]
|
||||
bx lr
|
||||
thumb_func_end sub_8086124
|
||||
|
||||
thumb_func_start sub_8086130
|
||||
sub_8086130:
|
||||
push {lr}
|
||||
movs r0, 0x3C
|
||||
bl DungeonFadeOutBGM
|
||||
movs r0, 0x3C
|
||||
movs r1, 0x46
|
||||
bl sub_803E708
|
||||
ldr r0, _08086194
|
||||
ldr r0, [r0]
|
||||
bl sub_8052FB8
|
||||
movs r0, 0x1E
|
||||
movs r1, 0x46
|
||||
bl sub_803E708
|
||||
ldr r0, _08086198
|
||||
ldr r0, [r0]
|
||||
bl sub_8052FB8
|
||||
movs r0, 0x1E
|
||||
movs r1, 0x46
|
||||
bl sub_803E708
|
||||
ldr r0, _0808619C
|
||||
ldr r0, [r0]
|
||||
bl sub_8052FB8
|
||||
movs r0, 0x1E
|
||||
movs r1, 0x46
|
||||
bl sub_803E708
|
||||
ldr r0, _080861A0
|
||||
ldr r0, [r0]
|
||||
bl sub_8052FB8
|
||||
movs r0, 0x1E
|
||||
movs r1, 0x46
|
||||
bl sub_803E708
|
||||
ldr r0, _080861A4
|
||||
ldr r0, [r0]
|
||||
bl sub_8052FB8
|
||||
movs r0, 0x1E
|
||||
movs r1, 0x46
|
||||
bl sub_803E708
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_08086194: .4byte gUnknown_810665C
|
||||
_08086198: .4byte gUnknown_810668C
|
||||
_0808619C: .4byte gUnknown_81066D4
|
||||
_080861A0: .4byte gUnknown_81066F0
|
||||
_080861A4: .4byte gUnknown_810671C
|
||||
thumb_func_end sub_8086130
|
||||
|
||||
@ `sub_806CDD4(a0, 0, 8);`
|
||||
thumb_func_start sub_80861A8
|
||||
sub_80861A8:
|
||||
push {lr}
|
||||
movs r1, 0
|
||||
movs r2, 0x8
|
||||
bl sub_806CDD4
|
||||
pop {r0}
|
||||
bx r0
|
||||
thumb_func_end sub_80861A8
|
||||
|
||||
thumb_func_start sub_80861B8
|
||||
sub_80861B8:
|
||||
push {r4,r5,lr}
|
||||
adds r4, r1, 0
|
||||
lsls r4, 24
|
||||
lsrs r4, 24
|
||||
ldr r5, [r0, 0x70]
|
||||
adds r1, r4, 0
|
||||
bl sub_806CDD4
|
||||
adds r5, 0xFE
|
||||
strb r4, [r5]
|
||||
pop {r4,r5}
|
||||
pop {r0}
|
||||
bx r0
|
||||
thumb_func_end sub_80861B8
|
||||
|
||||
thumb_func_start sub_80861D4
|
||||
sub_80861D4:
|
||||
push {r4,lr}
|
||||
adds r4, r0, 0
|
||||
lsls r1, 24
|
||||
lsrs r1, 24
|
||||
bl sub_806CDD4
|
||||
adds r0, r4, 0
|
||||
bl sub_80861EC
|
||||
pop {r4}
|
||||
pop {r0}
|
||||
bx r0
|
||||
thumb_func_end sub_80861D4
|
||||
|
||||
thumb_func_start sub_80861EC
|
||||
sub_80861EC:
|
||||
ldr r0, [r0, 0x70]
|
||||
adds r0, 0xFE
|
||||
movs r1, 0x63
|
||||
strb r1, [r0]
|
||||
bx lr
|
||||
thumb_func_end sub_80861EC
|
||||
|
||||
thumb_func_start sub_80861F8
|
||||
sub_80861F8:
|
||||
push {r4-r7,lr}
|
||||
mov r7, r10
|
||||
mov r6, r9
|
||||
mov r5, r8
|
||||
push {r5-r7}
|
||||
sub sp, 0x2C
|
||||
adds r6, r1, 0
|
||||
lsls r0, 16
|
||||
asrs r0, 16
|
||||
adds r5, r0, 0
|
||||
lsls r2, 24
|
||||
lsrs r2, 24
|
||||
mov r10, r2
|
||||
bl sub_800EE5C
|
||||
bl sub_800EF64
|
||||
movs r0, 0x46
|
||||
bl sub_803E46C
|
||||
ldr r0, [r6, 0x70]
|
||||
mov r8, r0
|
||||
movs r1, 0
|
||||
mov r9, r1
|
||||
str r1, [sp, 0x28]
|
||||
adds r0, r5, 0
|
||||
bl sub_800E700
|
||||
adds r7, r0, 0
|
||||
add r4, sp, 0x28
|
||||
movs r2, 0x1
|
||||
negs r2, r2
|
||||
cmp r7, r2
|
||||
beq _0808624A
|
||||
adds r1, r6, 0
|
||||
adds r1, 0x28
|
||||
lsls r2, r7, 24
|
||||
lsrs r2, 24
|
||||
adds r0, r4, 0
|
||||
bl sub_800569C
|
||||
_0808624A:
|
||||
str r5, [sp]
|
||||
mov r3, r9
|
||||
str r3, [sp, 0x4]
|
||||
mov r0, r8
|
||||
adds r0, 0x46
|
||||
ldrb r0, [r0]
|
||||
str r0, [sp, 0x8]
|
||||
mov r1, sp
|
||||
ldr r0, [r6, 0xC]
|
||||
cmp r0, 0
|
||||
bge _08086262
|
||||
adds r0, 0xFF
|
||||
_08086262:
|
||||
asrs r0, 8
|
||||
strh r0, [r1, 0xC]
|
||||
mov r1, sp
|
||||
ldr r0, [r6, 0x10]
|
||||
cmp r0, 0
|
||||
bge _08086270
|
||||
adds r0, 0xFF
|
||||
_08086270:
|
||||
asrs r0, 8
|
||||
strh r0, [r1, 0xE]
|
||||
mov r1, sp
|
||||
ldrh r0, [r4]
|
||||
strh r0, [r1, 0x10]
|
||||
add r0, sp, 0x28
|
||||
ldrh r0, [r0, 0x2]
|
||||
strh r0, [r1, 0x12]
|
||||
str r7, [sp, 0x14]
|
||||
ldr r0, _080862B4
|
||||
str r0, [sp, 0x18]
|
||||
add r1, sp, 0x1C
|
||||
ldr r0, _080862B8
|
||||
ldm r0!, {r2-r4}
|
||||
stm r1!, {r2-r4}
|
||||
mov r0, sp
|
||||
bl sub_800E890
|
||||
mov r4, r10
|
||||
cmp r4, 0
|
||||
beq _080862A2
|
||||
bl sub_8085F44
|
||||
movs r0, 0x1
|
||||
negs r0, r0
|
||||
_080862A2:
|
||||
add sp, 0x2C
|
||||
pop {r3-r5}
|
||||
mov r8, r3
|
||||
mov r9, r4
|
||||
mov r10, r5
|
||||
pop {r4-r7}
|
||||
pop {r1}
|
||||
bx r1
|
||||
.align 2, 0
|
||||
_080862B4: .4byte 0x0000ffff
|
||||
_080862B8: .4byte gUnknown_8107380
|
||||
thumb_func_end sub_80861F8
|
||||
|
||||
.align 2,0
|
||||
420
asm/code_8085B80.s
Normal file
420
asm/code_8085B80.s
Normal file
@@ -0,0 +1,420 @@
|
||||
#include "asm/constants/gba_constants.inc"
|
||||
#include "asm/macros.inc"
|
||||
|
||||
.syntax unified
|
||||
|
||||
.text
|
||||
|
||||
@ https://decomp.me/scratch/lb4jF (kermalis 87.53%) `bool8 sub_8085B80(struct_8085B80 *)`
|
||||
thumb_func_start sub_8085B80
|
||||
sub_8085B80:
|
||||
push {r4-r7,lr}
|
||||
mov r7, r8
|
||||
push {r7}
|
||||
adds r1, r0, 0
|
||||
movs r0, 0
|
||||
mov r8, r0
|
||||
movs r7, 0
|
||||
ldr r0, _08085BE4
|
||||
ldr r0, [r0]
|
||||
cmp r8, r0
|
||||
bge _08085C3E
|
||||
adds r5, r1, 0
|
||||
_08085B98:
|
||||
ldr r6, [r5, 0x4]
|
||||
ldr r2, [r6, 0x70]
|
||||
adds r3, r2, 0
|
||||
ldr r4, [r5, 0xC]
|
||||
ldrb r0, [r5]
|
||||
cmp r0, 0
|
||||
beq _08085C32
|
||||
movs r1, 0x1
|
||||
mov r8, r1
|
||||
ldr r0, [r5, 0x8]
|
||||
cmp r0, 0
|
||||
bne _08085C08
|
||||
adds r4, 0x8
|
||||
movs r1, 0x4
|
||||
ldrsh r0, [r4, r1]
|
||||
cmp r0, 0
|
||||
bne _08085BE8
|
||||
strb r0, [r5]
|
||||
ldrb r1, [r4]
|
||||
movs r0, 0x7
|
||||
ands r0, r1
|
||||
adds r1, r2, 0
|
||||
adds r1, 0x46
|
||||
strb r0, [r1]
|
||||
movs r3, 0
|
||||
ldrsh r2, [r4, r3]
|
||||
adds r0, r6, 0
|
||||
movs r1, 0x7
|
||||
bl sub_806CDD4
|
||||
movs r0, 0xA
|
||||
ldrsh r1, [r4, r0]
|
||||
movs r3, 0xC
|
||||
ldrsh r2, [r4, r3]
|
||||
adds r0, r6, 0
|
||||
bl sub_80856C8
|
||||
b _08085C32
|
||||
.align 2, 0
|
||||
_08085BE4: .4byte gUnknown_202F3D8
|
||||
_08085BE8:
|
||||
movs r1, 0x4
|
||||
ldrsh r0, [r4, r1]
|
||||
str r0, [r5, 0x8]
|
||||
str r4, [r5, 0xC]
|
||||
ldrb r1, [r4]
|
||||
movs r0, 0x7
|
||||
ands r0, r1
|
||||
adds r1, r3, 0
|
||||
adds r1, 0x46
|
||||
strb r0, [r1]
|
||||
movs r3, 0
|
||||
ldrsh r2, [r4, r3]
|
||||
adds r0, r6, 0
|
||||
movs r1, 0
|
||||
bl sub_806CDD4
|
||||
_08085C08:
|
||||
ldr r0, [r5, 0x8]
|
||||
subs r0, 0x1
|
||||
str r0, [r5, 0x8]
|
||||
ldr r1, _08085C4C
|
||||
movs r2, 0
|
||||
ldrsh r0, [r4, r2]
|
||||
lsls r0, 2
|
||||
adds r0, r1
|
||||
movs r3, 0
|
||||
ldrsh r1, [r0, r3]
|
||||
movs r3, 0x2
|
||||
ldrsh r2, [r4, r3]
|
||||
muls r1, r2
|
||||
lsls r1, 8
|
||||
movs r3, 0x2
|
||||
ldrsh r0, [r0, r3]
|
||||
muls r2, r0
|
||||
lsls r2, 8
|
||||
adds r0, r6, 0
|
||||
bl IncreaseEntityPixelPos
|
||||
_08085C32:
|
||||
adds r5, 0x10
|
||||
adds r7, 0x1
|
||||
ldr r0, _08085C50
|
||||
ldr r0, [r0]
|
||||
cmp r7, r0
|
||||
blt _08085B98
|
||||
_08085C3E:
|
||||
mov r0, r8
|
||||
pop {r3}
|
||||
mov r8, r3
|
||||
pop {r4-r7}
|
||||
pop {r1}
|
||||
bx r1
|
||||
.align 2, 0
|
||||
_08085C4C: .4byte gAdjacentTileOffsets
|
||||
_08085C50: .4byte gUnknown_202F3D8
|
||||
thumb_func_end sub_8085B80
|
||||
|
||||
thumb_func_start SetDungeonBGColorRGB
|
||||
SetDungeonBGColorRGB:
|
||||
push {r4-r7,lr}
|
||||
mov r7, r10
|
||||
mov r6, r9
|
||||
mov r5, r8
|
||||
push {r5-r7}
|
||||
sub sp, 0x28
|
||||
str r0, [sp, 0x14]
|
||||
mov r10, r1
|
||||
mov r9, r2
|
||||
ldr r4, [sp, 0x48]
|
||||
lsls r3, 24
|
||||
lsrs r3, 24
|
||||
str r3, [sp, 0x18]
|
||||
lsls r4, 24
|
||||
lsrs r4, 24
|
||||
bl sub_8085E98
|
||||
movs r0, 0
|
||||
mov r8, r0
|
||||
ldr r0, _08085E70
|
||||
ldr r0, [r0]
|
||||
ldr r5, [r0, 0x4]
|
||||
cmp r4, 0
|
||||
beq _08085CAE
|
||||
ldr r1, [sp, 0x14]
|
||||
cmp r1, 0
|
||||
blt _08085C92
|
||||
lsrs r0, r1, 31
|
||||
adds r0, r1, r0
|
||||
asrs r0, 1
|
||||
str r0, [sp, 0x14]
|
||||
_08085C92:
|
||||
mov r2, r10
|
||||
cmp r2, 0
|
||||
blt _08085CA0
|
||||
lsrs r0, r2, 31
|
||||
add r0, r10
|
||||
asrs r0, 1
|
||||
mov r10, r0
|
||||
_08085CA0:
|
||||
mov r3, r9
|
||||
cmp r3, 0
|
||||
blt _08085CAE
|
||||
lsrs r0, r3, 31
|
||||
add r0, r9
|
||||
asrs r0, 1
|
||||
mov r9, r0
|
||||
_08085CAE:
|
||||
ldr r1, _08085E74
|
||||
ldr r0, [sp, 0x8]
|
||||
ands r0, r1
|
||||
ldr r1, _08085E78
|
||||
ands r0, r1
|
||||
ldr r1, _08085E7C
|
||||
ands r0, r1
|
||||
str r0, [sp, 0x8]
|
||||
ldr r0, _08085E80
|
||||
ldr r2, [r0]
|
||||
ldr r0, _08085E84
|
||||
ldr r3, [r0]
|
||||
movs r0, 0xBE
|
||||
lsls r0, 1
|
||||
adds r3, r0
|
||||
mov r0, r8
|
||||
add r1, sp, 0x8
|
||||
bl SetBGPaletteBufferColorRGB
|
||||
adds r5, 0x4
|
||||
movs r1, 0x1
|
||||
add r8, r1
|
||||
ldr r2, [sp, 0x14]
|
||||
lsls r2, 16
|
||||
str r2, [sp, 0x1C]
|
||||
mov r3, r10
|
||||
lsls r3, 16
|
||||
str r3, [sp, 0x20]
|
||||
mov r0, r9
|
||||
lsls r0, 16
|
||||
str r0, [sp, 0x24]
|
||||
add r7, sp, 0xC
|
||||
movs r1, 0xA0
|
||||
cmp r1, 0x1
|
||||
ble _08085D56
|
||||
add r6, sp, 0x8
|
||||
movs r4, 0xA0
|
||||
subs r4, 0x1
|
||||
_08085CFA:
|
||||
ldrb r0, [r5]
|
||||
ldr r3, [sp, 0x14]
|
||||
adds r2, r0, r3
|
||||
ldrb r0, [r5, 0x1]
|
||||
mov r3, r10
|
||||
adds r1, r0, r3
|
||||
ldrb r0, [r5, 0x2]
|
||||
add r0, r9
|
||||
cmp r2, 0xFF
|
||||
ble _08085D10
|
||||
movs r2, 0xFF
|
||||
_08085D10:
|
||||
cmp r1, 0xFF
|
||||
ble _08085D16
|
||||
movs r1, 0xFF
|
||||
_08085D16:
|
||||
cmp r0, 0xFF
|
||||
ble _08085D1C
|
||||
movs r0, 0xFF
|
||||
_08085D1C:
|
||||
cmp r2, 0
|
||||
bge _08085D22
|
||||
movs r2, 0
|
||||
_08085D22:
|
||||
cmp r1, 0
|
||||
bge _08085D28
|
||||
movs r1, 0
|
||||
_08085D28:
|
||||
cmp r0, 0
|
||||
bge _08085D2E
|
||||
movs r0, 0
|
||||
_08085D2E:
|
||||
strb r2, [r6]
|
||||
strb r1, [r6, 0x1]
|
||||
strb r0, [r6, 0x2]
|
||||
ldr r0, _08085E80
|
||||
ldr r2, [r0]
|
||||
ldr r0, _08085E84
|
||||
ldr r3, [r0]
|
||||
movs r0, 0xBE
|
||||
lsls r0, 1
|
||||
adds r3, r0
|
||||
mov r0, r8
|
||||
add r1, sp, 0x8
|
||||
bl SetBGPaletteBufferColorRGB
|
||||
adds r5, 0x4
|
||||
movs r1, 0x1
|
||||
add r8, r1
|
||||
subs r4, 0x1
|
||||
cmp r4, 0
|
||||
bne _08085CFA
|
||||
_08085D56:
|
||||
ldr r2, _08085E88
|
||||
ldr r3, [sp, 0x1C]
|
||||
lsrs r0, r3, 16
|
||||
ldr r1, [sp, 0x20]
|
||||
orrs r0, r1
|
||||
str r0, [sp, 0xC]
|
||||
ldr r3, [sp, 0x24]
|
||||
lsrs r1, r3, 16
|
||||
ldr r0, [r7, 0x4]
|
||||
ands r0, r2
|
||||
orrs r0, r1
|
||||
str r0, [r7, 0x4]
|
||||
ldr r0, _08085E8C
|
||||
ldr r1, _08085E80
|
||||
ldr r3, [r1]
|
||||
ldr r1, _08085E84
|
||||
ldr r1, [r1]
|
||||
movs r2, 0xBE
|
||||
lsls r2, 1
|
||||
adds r1, r2
|
||||
str r1, [sp]
|
||||
str r7, [sp, 0x4]
|
||||
movs r1, 0xA0
|
||||
movs r2, 0x20
|
||||
bl sub_8004C00
|
||||
movs r3, 0x20
|
||||
add r8, r3
|
||||
ldr r5, _08085E90
|
||||
add r6, sp, 0x8
|
||||
movs r4, 0x20
|
||||
_08085D94:
|
||||
ldrb r0, [r5]
|
||||
ldr r1, [sp, 0x14]
|
||||
adds r2, r0, r1
|
||||
ldrb r0, [r5, 0x1]
|
||||
mov r3, r10
|
||||
adds r1, r0, r3
|
||||
ldrb r0, [r5, 0x2]
|
||||
add r0, r9
|
||||
cmp r2, 0xFF
|
||||
ble _08085DAA
|
||||
movs r2, 0xFF
|
||||
_08085DAA:
|
||||
cmp r1, 0xFF
|
||||
ble _08085DB0
|
||||
movs r1, 0xFF
|
||||
_08085DB0:
|
||||
cmp r0, 0xFF
|
||||
ble _08085DB6
|
||||
movs r0, 0xFF
|
||||
_08085DB6:
|
||||
cmp r2, 0
|
||||
bge _08085DBC
|
||||
movs r2, 0
|
||||
_08085DBC:
|
||||
cmp r1, 0
|
||||
bge _08085DC2
|
||||
movs r1, 0
|
||||
_08085DC2:
|
||||
cmp r0, 0
|
||||
bge _08085DC8
|
||||
movs r0, 0
|
||||
_08085DC8:
|
||||
strb r2, [r6]
|
||||
strb r1, [r6, 0x1]
|
||||
strb r0, [r6, 0x2]
|
||||
ldr r0, _08085E80
|
||||
ldr r2, [r0]
|
||||
ldr r7, _08085E84
|
||||
ldr r3, [r7]
|
||||
movs r0, 0xBE
|
||||
lsls r0, 1
|
||||
adds r3, r0
|
||||
mov r0, r8
|
||||
add r1, sp, 0x8
|
||||
bl SetBGPaletteBufferColorRGB
|
||||
adds r5, 0x4
|
||||
movs r1, 0x1
|
||||
add r8, r1
|
||||
subs r4, 0x1
|
||||
cmp r4, 0
|
||||
bne _08085D94
|
||||
ldr r2, [sp, 0x18]
|
||||
cmp r2, 0
|
||||
beq _08085E5E
|
||||
ldr r0, [r7]
|
||||
ldr r3, _08085E94
|
||||
adds r0, r3
|
||||
ldr r0, [r0]
|
||||
ldr r5, [r0, 0x4]
|
||||
movs r0, 0x80
|
||||
lsls r0, 1
|
||||
mov r8, r0
|
||||
add r6, sp, 0x8
|
||||
movs r4, 0xD0
|
||||
_08085E0A:
|
||||
ldrb r0, [r5]
|
||||
ldr r1, [sp, 0x14]
|
||||
adds r2, r0, r1
|
||||
ldrb r0, [r5, 0x1]
|
||||
mov r3, r10
|
||||
adds r1, r0, r3
|
||||
ldrb r0, [r5, 0x2]
|
||||
add r0, r9
|
||||
cmp r2, 0xFF
|
||||
ble _08085E20
|
||||
movs r2, 0xFF
|
||||
_08085E20:
|
||||
cmp r1, 0xFF
|
||||
ble _08085E26
|
||||
movs r1, 0xFF
|
||||
_08085E26:
|
||||
cmp r0, 0xFF
|
||||
ble _08085E2C
|
||||
movs r0, 0xFF
|
||||
_08085E2C:
|
||||
cmp r2, 0
|
||||
bge _08085E32
|
||||
movs r2, 0
|
||||
_08085E32:
|
||||
cmp r1, 0
|
||||
bge _08085E38
|
||||
movs r1, 0
|
||||
_08085E38:
|
||||
cmp r0, 0
|
||||
bge _08085E3E
|
||||
movs r0, 0
|
||||
_08085E3E:
|
||||
strb r2, [r6]
|
||||
strb r1, [r6, 0x1]
|
||||
strb r0, [r6, 0x2]
|
||||
ldr r0, _08085E80
|
||||
ldr r2, [r0]
|
||||
mov r0, r8
|
||||
add r1, sp, 0x8
|
||||
movs r3, 0
|
||||
bl SetBGPaletteBufferColorRGB
|
||||
adds r5, 0x4
|
||||
movs r0, 0x1
|
||||
add r8, r0
|
||||
subs r4, 0x1
|
||||
cmp r4, 0
|
||||
bne _08085E0A
|
||||
_08085E5E:
|
||||
add sp, 0x28
|
||||
pop {r3-r5}
|
||||
mov r8, r3
|
||||
mov r9, r4
|
||||
mov r10, r5
|
||||
pop {r4-r7}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_08085E70: .4byte gDungeonPaletteFile
|
||||
_08085E74: .4byte 0xffffff00
|
||||
_08085E78: .4byte 0xffff00ff
|
||||
_08085E7C: .4byte 0xff00ffff
|
||||
_08085E80: .4byte gUnknown_202EDC8
|
||||
_08085E84: .4byte gDungeon
|
||||
_08085E88: .4byte 0xffff0000
|
||||
_08085E8C: .4byte gUnknown_202EE8C
|
||||
_08085E90: .4byte gUnknown_202ECA4
|
||||
_08085E94: .4byte 0x000181e4
|
||||
thumb_func_end SetDungeonBGColorRGB
|
||||
331
asm/code_8085EB0.s
Normal file
331
asm/code_8085EB0.s
Normal file
@@ -0,0 +1,331 @@
|
||||
#include "asm/constants/gba_constants.inc"
|
||||
#include "asm/macros.inc"
|
||||
|
||||
.syntax unified
|
||||
|
||||
.text
|
||||
|
||||
thumb_func_start sub_8085EB0
|
||||
sub_8085EB0:
|
||||
ldr r0, _08085EC0
|
||||
ldr r0, [r0]
|
||||
ldr r1, _08085EC4
|
||||
adds r0, r1
|
||||
movs r1, 0x1
|
||||
strb r1, [r0]
|
||||
bx lr
|
||||
.align 2, 0
|
||||
_08085EC0: .4byte gDungeon
|
||||
_08085EC4: .4byte 0x00018215
|
||||
thumb_func_end sub_8085EB0
|
||||
|
||||
thumb_func_start sub_8085EC8
|
||||
sub_8085EC8:
|
||||
push {r4-r6,lr}
|
||||
mov r6, r9
|
||||
mov r5, r8
|
||||
push {r5,r6}
|
||||
sub sp, 0x28
|
||||
adds r4, r0, 0
|
||||
mov r8, r1
|
||||
mov r9, r2
|
||||
adds r6, r3, 0
|
||||
ldr r5, [sp, 0x40]
|
||||
lsls r4, 16
|
||||
asrs r4, 16
|
||||
lsls r5, 24
|
||||
lsrs r5, 24
|
||||
adds r0, r4, 0
|
||||
bl sub_800EE5C
|
||||
bl sub_800EF64
|
||||
movs r0, 0x46
|
||||
bl sub_803E46C
|
||||
str r4, [sp]
|
||||
mov r0, r8
|
||||
str r0, [sp, 0x4]
|
||||
mov r2, r9
|
||||
str r2, [sp, 0x8]
|
||||
mov r1, sp
|
||||
ldrh r0, [r6]
|
||||
movs r2, 0
|
||||
strh r0, [r1, 0xC]
|
||||
ldrh r0, [r6, 0x2]
|
||||
strh r0, [r1, 0xE]
|
||||
mov r0, sp
|
||||
strh r2, [r0, 0x10]
|
||||
strh r2, [r0, 0x12]
|
||||
ldr r0, _08085F3C
|
||||
str r0, [sp, 0x18]
|
||||
add r1, sp, 0x1C
|
||||
ldr r0, _08085F40
|
||||
ldm r0!, {r2-r4}
|
||||
stm r1!, {r2-r4}
|
||||
mov r0, sp
|
||||
bl sub_800E890
|
||||
cmp r5, 0
|
||||
beq _08085F2E
|
||||
bl sub_8085F44
|
||||
movs r0, 0x1
|
||||
negs r0, r0
|
||||
_08085F2E:
|
||||
add sp, 0x28
|
||||
pop {r3,r4}
|
||||
mov r8, r3
|
||||
mov r9, r4
|
||||
pop {r4-r6}
|
||||
pop {r1}
|
||||
bx r1
|
||||
.align 2, 0
|
||||
_08085F3C: .4byte 0x0000ffff
|
||||
_08085F40: .4byte gUnknown_8107374
|
||||
thumb_func_end sub_8085EC8
|
||||
|
||||
thumb_func_start sub_8085F44
|
||||
sub_8085F44:
|
||||
push {r4,lr}
|
||||
adds r4, r0, 0
|
||||
b _08085F5C
|
||||
_08085F4A:
|
||||
ldr r0, _08085F70
|
||||
ldr r0, [r0]
|
||||
ldr r1, _08085F74
|
||||
adds r0, r1
|
||||
bl sub_800E90C
|
||||
movs r0, 0x46
|
||||
bl sub_803E46C
|
||||
_08085F5C:
|
||||
adds r0, r4, 0
|
||||
bl sub_800E9A8
|
||||
lsls r0, 24
|
||||
cmp r0, 0
|
||||
bne _08085F4A
|
||||
pop {r4}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_08085F70: .4byte gDungeon
|
||||
_08085F74: .4byte 0x000181f0
|
||||
thumb_func_end sub_8085F44
|
||||
|
||||
thumb_func_start sub_8085F78
|
||||
sub_8085F78:
|
||||
push {lr}
|
||||
ldr r0, _08085F94
|
||||
ldr r0, [r0]
|
||||
ldr r1, _08085F98
|
||||
adds r0, r1
|
||||
ldrb r0, [r0]
|
||||
cmp r0, 0x3C
|
||||
bls _08085F8A
|
||||
b _080860A4
|
||||
_08085F8A:
|
||||
lsls r0, 2
|
||||
ldr r1, _08085F9C
|
||||
adds r0, r1
|
||||
ldr r0, [r0]
|
||||
mov pc, r0
|
||||
.align 2, 0
|
||||
_08085F94: .4byte gDungeon
|
||||
_08085F98: .4byte 0x00003a0d
|
||||
_08085F9C: .4byte _08085FA0
|
||||
.align 2, 0
|
||||
_08085FA0:
|
||||
.4byte _080860A4
|
||||
.4byte _080860A4
|
||||
.4byte _080860A4
|
||||
.4byte _080860A4
|
||||
.4byte _080860A4
|
||||
.4byte _080860A4
|
||||
.4byte _080860A4
|
||||
.4byte _080860A4
|
||||
.4byte _080860A4
|
||||
.4byte _080860A4
|
||||
.4byte _080860A4
|
||||
.4byte _080860A4
|
||||
.4byte _080860A4
|
||||
.4byte _080860A4
|
||||
.4byte _080860A4
|
||||
.4byte _080860A4
|
||||
.4byte _080860A4
|
||||
.4byte _080860A4
|
||||
.4byte _08086094
|
||||
.4byte _08086094
|
||||
.4byte _08086094
|
||||
.4byte _0808609A
|
||||
.4byte _080860A4
|
||||
.4byte _080860A4
|
||||
.4byte _080860A4
|
||||
.4byte _080860A4
|
||||
.4byte _080860A4
|
||||
.4byte _080860A4
|
||||
.4byte _080860A4
|
||||
.4byte _080860A4
|
||||
.4byte _080860A4
|
||||
.4byte _080860A4
|
||||
.4byte _080860A4
|
||||
.4byte _080860A4
|
||||
.4byte _080860A4
|
||||
.4byte _080860A4
|
||||
.4byte _080860A4
|
||||
.4byte _080860A4
|
||||
.4byte _080860A4
|
||||
.4byte _080860A4
|
||||
.4byte _080860A4
|
||||
.4byte _080860A0
|
||||
.4byte _080860A0
|
||||
.4byte _080860A4
|
||||
.4byte _080860A4
|
||||
.4byte _080860A4
|
||||
.4byte _080860A4
|
||||
.4byte _080860A4
|
||||
.4byte _080860A4
|
||||
.4byte _080860A4
|
||||
.4byte _080860A4
|
||||
.4byte _080860A4
|
||||
.4byte _080860A4
|
||||
.4byte _080860A4
|
||||
.4byte _080860A4
|
||||
.4byte _080860A4
|
||||
.4byte _080860A4
|
||||
.4byte _080860A4
|
||||
.4byte _080860A4
|
||||
.4byte _080860A4
|
||||
.4byte _080860A4
|
||||
_08086094:
|
||||
bl sub_8088848
|
||||
b _080860A4
|
||||
_0808609A:
|
||||
bl sub_8088EE8
|
||||
b _080860A4
|
||||
_080860A0:
|
||||
bl sub_808A718
|
||||
_080860A4:
|
||||
pop {r0}
|
||||
bx r0
|
||||
thumb_func_end sub_8085F78
|
||||
|
||||
thumb_func_start sub_80860A8
|
||||
sub_80860A8:
|
||||
push {r4-r6,lr}
|
||||
lsls r0, 24
|
||||
lsrs r6, r0, 24
|
||||
movs r5, 0
|
||||
ldr r0, _08086108
|
||||
ldr r2, [r0]
|
||||
movs r3, 0x1
|
||||
_080860B6:
|
||||
ldrb r1, [r2]
|
||||
adds r0, r3, 0
|
||||
ands r0, r1
|
||||
cmp r0, 0
|
||||
beq _080860C6
|
||||
ldrb r0, [r2, 0x2]
|
||||
cmp r0, r6
|
||||
beq _08086104
|
||||
_080860C6:
|
||||
adds r2, 0x4
|
||||
adds r5, 0x1
|
||||
cmp r5, 0x13
|
||||
ble _080860B6
|
||||
movs r5, 0
|
||||
_080860D0:
|
||||
ldr r0, _0808610C
|
||||
ldr r0, [r0]
|
||||
lsls r1, r5, 2
|
||||
ldr r2, _08086110
|
||||
adds r0, r2
|
||||
adds r0, r1
|
||||
ldr r4, [r0]
|
||||
adds r0, r4, 0
|
||||
bl EntityExists
|
||||
lsls r0, 24
|
||||
cmp r0, 0
|
||||
beq _08086114
|
||||
ldr r2, [r4, 0x70]
|
||||
adds r0, r2, 0
|
||||
adds r0, 0x60
|
||||
ldrb r1, [r0]
|
||||
movs r0, 0x1
|
||||
ands r0, r1
|
||||
cmp r0, 0
|
||||
beq _08086114
|
||||
adds r0, r2, 0
|
||||
adds r0, 0x62
|
||||
ldrb r0, [r0]
|
||||
cmp r0, r6
|
||||
bne _08086114
|
||||
_08086104:
|
||||
movs r0, 0x1
|
||||
b _0808611C
|
||||
.align 2, 0
|
||||
_08086108: .4byte gTeamInventoryRef
|
||||
_0808610C: .4byte gDungeon
|
||||
_08086110: .4byte 0x0001357c
|
||||
_08086114:
|
||||
adds r5, 0x1
|
||||
cmp r5, 0x3
|
||||
ble _080860D0
|
||||
movs r0, 0
|
||||
_0808611C:
|
||||
pop {r4-r6}
|
||||
pop {r1}
|
||||
bx r1
|
||||
thumb_func_end sub_80860A8
|
||||
|
||||
thumb_func_start sub_8086124
|
||||
sub_8086124:
|
||||
ldr r0, [r0, 0x70]
|
||||
movs r2, 0xB0
|
||||
lsls r2, 1
|
||||
adds r0, r2
|
||||
strb r1, [r0]
|
||||
bx lr
|
||||
thumb_func_end sub_8086124
|
||||
|
||||
thumb_func_start sub_8086130
|
||||
sub_8086130:
|
||||
push {lr}
|
||||
movs r0, 0x3C
|
||||
bl DungeonFadeOutBGM
|
||||
movs r0, 0x3C
|
||||
movs r1, 0x46
|
||||
bl sub_803E708
|
||||
ldr r0, _08086194
|
||||
ldr r0, [r0]
|
||||
bl sub_8052FB8
|
||||
movs r0, 0x1E
|
||||
movs r1, 0x46
|
||||
bl sub_803E708
|
||||
ldr r0, _08086198
|
||||
ldr r0, [r0]
|
||||
bl sub_8052FB8
|
||||
movs r0, 0x1E
|
||||
movs r1, 0x46
|
||||
bl sub_803E708
|
||||
ldr r0, _0808619C
|
||||
ldr r0, [r0]
|
||||
bl sub_8052FB8
|
||||
movs r0, 0x1E
|
||||
movs r1, 0x46
|
||||
bl sub_803E708
|
||||
ldr r0, _080861A0
|
||||
ldr r0, [r0]
|
||||
bl sub_8052FB8
|
||||
movs r0, 0x1E
|
||||
movs r1, 0x46
|
||||
bl sub_803E708
|
||||
ldr r0, _080861A4
|
||||
ldr r0, [r0]
|
||||
bl sub_8052FB8
|
||||
movs r0, 0x1E
|
||||
movs r1, 0x46
|
||||
bl sub_803E708
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_08086194: .4byte gUnknown_810665C
|
||||
_08086198: .4byte gUnknown_810668C
|
||||
_0808619C: .4byte gUnknown_81066D4
|
||||
_080861A0: .4byte gUnknown_81066F0
|
||||
_080861A4: .4byte gUnknown_810671C
|
||||
thumb_func_end sub_8086130
|
||||
144
asm/code_80861B8.s
Normal file
144
asm/code_80861B8.s
Normal file
@@ -0,0 +1,144 @@
|
||||
#include "asm/constants/gba_constants.inc"
|
||||
#include "asm/macros.inc"
|
||||
|
||||
.syntax unified
|
||||
|
||||
.text
|
||||
|
||||
thumb_func_start sub_80861B8
|
||||
sub_80861B8:
|
||||
push {r4,r5,lr}
|
||||
adds r4, r1, 0
|
||||
lsls r4, 24
|
||||
lsrs r4, 24
|
||||
ldr r5, [r0, 0x70]
|
||||
adds r1, r4, 0
|
||||
bl sub_806CDD4
|
||||
adds r5, 0xFE
|
||||
strb r4, [r5]
|
||||
pop {r4,r5}
|
||||
pop {r0}
|
||||
bx r0
|
||||
thumb_func_end sub_80861B8
|
||||
|
||||
thumb_func_start sub_80861D4
|
||||
sub_80861D4:
|
||||
push {r4,lr}
|
||||
adds r4, r0, 0
|
||||
lsls r1, 24
|
||||
lsrs r1, 24
|
||||
bl sub_806CDD4
|
||||
adds r0, r4, 0
|
||||
bl sub_80861EC
|
||||
pop {r4}
|
||||
pop {r0}
|
||||
bx r0
|
||||
thumb_func_end sub_80861D4
|
||||
|
||||
thumb_func_start sub_80861EC
|
||||
sub_80861EC:
|
||||
ldr r0, [r0, 0x70]
|
||||
adds r0, 0xFE
|
||||
movs r1, 0x63
|
||||
strb r1, [r0]
|
||||
bx lr
|
||||
thumb_func_end sub_80861EC
|
||||
|
||||
thumb_func_start sub_80861F8
|
||||
sub_80861F8:
|
||||
push {r4-r7,lr}
|
||||
mov r7, r10
|
||||
mov r6, r9
|
||||
mov r5, r8
|
||||
push {r5-r7}
|
||||
sub sp, 0x2C
|
||||
adds r6, r1, 0
|
||||
lsls r0, 16
|
||||
asrs r0, 16
|
||||
adds r5, r0, 0
|
||||
lsls r2, 24
|
||||
lsrs r2, 24
|
||||
mov r10, r2
|
||||
bl sub_800EE5C
|
||||
bl sub_800EF64
|
||||
movs r0, 0x46
|
||||
bl sub_803E46C
|
||||
ldr r0, [r6, 0x70]
|
||||
mov r8, r0
|
||||
movs r1, 0
|
||||
mov r9, r1
|
||||
str r1, [sp, 0x28]
|
||||
adds r0, r5, 0
|
||||
bl sub_800E700
|
||||
adds r7, r0, 0
|
||||
add r4, sp, 0x28
|
||||
movs r2, 0x1
|
||||
negs r2, r2
|
||||
cmp r7, r2
|
||||
beq _0808624A
|
||||
adds r1, r6, 0
|
||||
adds r1, 0x28
|
||||
lsls r2, r7, 24
|
||||
lsrs r2, 24
|
||||
adds r0, r4, 0
|
||||
bl sub_800569C
|
||||
_0808624A:
|
||||
str r5, [sp]
|
||||
mov r3, r9
|
||||
str r3, [sp, 0x4]
|
||||
mov r0, r8
|
||||
adds r0, 0x46
|
||||
ldrb r0, [r0]
|
||||
str r0, [sp, 0x8]
|
||||
mov r1, sp
|
||||
ldr r0, [r6, 0xC]
|
||||
cmp r0, 0
|
||||
bge _08086262
|
||||
adds r0, 0xFF
|
||||
_08086262:
|
||||
asrs r0, 8
|
||||
strh r0, [r1, 0xC]
|
||||
mov r1, sp
|
||||
ldr r0, [r6, 0x10]
|
||||
cmp r0, 0
|
||||
bge _08086270
|
||||
adds r0, 0xFF
|
||||
_08086270:
|
||||
asrs r0, 8
|
||||
strh r0, [r1, 0xE]
|
||||
mov r1, sp
|
||||
ldrh r0, [r4]
|
||||
strh r0, [r1, 0x10]
|
||||
add r0, sp, 0x28
|
||||
ldrh r0, [r0, 0x2]
|
||||
strh r0, [r1, 0x12]
|
||||
str r7, [sp, 0x14]
|
||||
ldr r0, _080862B4
|
||||
str r0, [sp, 0x18]
|
||||
add r1, sp, 0x1C
|
||||
ldr r0, _080862B8
|
||||
ldm r0!, {r2-r4}
|
||||
stm r1!, {r2-r4}
|
||||
mov r0, sp
|
||||
bl sub_800E890
|
||||
mov r4, r10
|
||||
cmp r4, 0
|
||||
beq _080862A2
|
||||
bl sub_8085F44
|
||||
movs r0, 0x1
|
||||
negs r0, r0
|
||||
_080862A2:
|
||||
add sp, 0x2C
|
||||
pop {r3-r5}
|
||||
mov r8, r3
|
||||
mov r9, r4
|
||||
mov r10, r5
|
||||
pop {r4-r7}
|
||||
pop {r1}
|
||||
bx r1
|
||||
.align 2, 0
|
||||
_080862B4: .4byte 0x0000ffff
|
||||
_080862B8: .4byte gUnknown_8107380
|
||||
thumb_func_end sub_80861F8
|
||||
|
||||
.align 2,0
|
||||
@@ -15,6 +15,7 @@ struct unkStructFor800561C
|
||||
extern s16 *gUnknown_203B078;
|
||||
|
||||
void nullsub_7(s16 *);
|
||||
void nullsub_8(u32);
|
||||
void nullsub_9(void);
|
||||
void nullsub_10(bool8);
|
||||
void nullsub_12(void);
|
||||
|
||||
6
include/code_803E46C.h
Normal file
6
include/code_803E46C.h
Normal file
@@ -0,0 +1,6 @@
|
||||
#ifndef GUARD_CODE_803E46C_H
|
||||
#define GUARD_CODE_803E46C_H
|
||||
|
||||
void sub_803E46C(u32);
|
||||
|
||||
#endif
|
||||
7
include/code_803E668.h
Normal file
7
include/code_803E668.h
Normal file
@@ -0,0 +1,7 @@
|
||||
#ifndef GUARD_CODE_803E668_H
|
||||
#define GUARD_CODE_803E668_H
|
||||
|
||||
void sub_803E668(u32);
|
||||
void sub_803E708(s32, u32);
|
||||
|
||||
#endif
|
||||
6
include/code_8084778.h
Normal file
6
include/code_8084778.h
Normal file
@@ -0,0 +1,6 @@
|
||||
#ifndef GUARD_CODE_8084778_H
|
||||
#define GUARD_CODE_8084778_H
|
||||
|
||||
void sub_8084778(void);
|
||||
|
||||
#endif
|
||||
6
include/code_8085E98.h
Normal file
6
include/code_8085E98.h
Normal file
@@ -0,0 +1,6 @@
|
||||
#ifndef GUARD_CODE_8085E98_H
|
||||
#define GUARD_CODE_8085E98_H
|
||||
|
||||
void sub_8085E98(void);
|
||||
|
||||
#endif
|
||||
8
include/code_80861A8.h
Normal file
8
include/code_80861A8.h
Normal file
@@ -0,0 +1,8 @@
|
||||
#ifndef GUARD_CODE_80861A8_H
|
||||
#define GUARD_CODE_80861A8_H
|
||||
|
||||
#include "structs/dungeon_entity.h"
|
||||
|
||||
void sub_80861A8(Entity *a0);
|
||||
|
||||
#endif
|
||||
@@ -4,6 +4,12 @@
|
||||
#include "structs/dungeon_entity.h"
|
||||
|
||||
typedef void (*DungeonCallback)(Entity *);
|
||||
typedef struct struct_8085B80 {
|
||||
u8 unk0;
|
||||
Entity *unk4;
|
||||
s32 unk8;
|
||||
s16 *unkC;
|
||||
} struct_8085B80;
|
||||
|
||||
Entity *xxx_call_GetLeader(void);
|
||||
Entity *GetPartnerEntity(void);
|
||||
|
||||
@@ -36,7 +36,6 @@ void InitializeRecruitedPokemon(void);
|
||||
|
||||
// These two need to be overridden in status_actions.c
|
||||
// Uncomment when fixed
|
||||
//void CopyCyanMonsterNametoBuffer(u8 *buffer, s16 index);
|
||||
//u8 GetBodySize(s16 index);
|
||||
|
||||
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
#include "pokemon.h"
|
||||
|
||||
bool8 ComparePokemonNames(s16, s16);
|
||||
void CopyCyanMonsterNametoBuffer(u8 *buffer, s16 index);
|
||||
void PrintPokeNameToBuffer(u8 *buffer, PokemonStruct1 *pokemon);
|
||||
void GetPokemonLevelData(LevelData* a1, s16 _id, s32 level);
|
||||
const u8* DecompressMoveID(const u8* a1, u16* moveID);
|
||||
|
||||
@@ -150,17 +150,17 @@ typedef struct Dungeon
|
||||
s32 unk690;
|
||||
s32 unk694;
|
||||
u8 fill698;
|
||||
u8 unk699;
|
||||
u8 unk699;
|
||||
u8 fill69A[0x69C - 0x69A];
|
||||
EntityInfo unk69C[4];
|
||||
EntityInfo unkEBC[1]; // Unsure about the size... See sub_8082A08()
|
||||
u8 fill10C4[0x363C - 0x10C4];
|
||||
u8 fill10C4[0x363C - 0x10C4];
|
||||
/* 0x363C */ u8 expYieldRankings[NUM_MONSTERS];
|
||||
u8 fill37D9[0x37F0 - 0x37D9];
|
||||
/* 0x37F0 */ u32 unk37F0;
|
||||
/* 0x37F4 */ s32 unk37F4;
|
||||
/* 0x37F8 */ bool8 plusIsActive[2]; // Index 0: Enemy , Index 1: Team
|
||||
/* 0x37FA */ bool8 minusIsActive[2]; // Index 0: Enemy , Index 1: Team
|
||||
/* 0x37FA */ bool8 minusIsActive[2]; // Index 0: Enemy , Index 1: Team
|
||||
/* 0x37FC */ bool8 decoyActive;
|
||||
u8 fill37FD;
|
||||
/* 0x37FE */ bool8 deoxysDefeat; // Flag set for deoxys in Meteor Cave
|
||||
@@ -247,7 +247,9 @@ typedef struct Dungeon
|
||||
u8 unk18211;
|
||||
u8 unk18212;
|
||||
u8 unk18213;
|
||||
u8 fill18214[3];
|
||||
u8 fill18214;
|
||||
u8 unk18215;
|
||||
u8 fill18216;
|
||||
u8 unk18217;
|
||||
u8 fill18218[0x1821A - 0x18218];
|
||||
u8 unk1821A;
|
||||
|
||||
@@ -202,6 +202,10 @@ SECTIONS {
|
||||
src/personality_test2.o(.text);
|
||||
src/code_803D0D8.o(.text);
|
||||
asm/code_803D110.o(.text);
|
||||
src/code_803E46C.o(.text);
|
||||
asm/code_803E490.o(.text);
|
||||
src/code_803E668.o(.text);
|
||||
asm/code_803E724.o(.text);
|
||||
src/code_8040094.o(.text);
|
||||
asm/code_8040094.o(.text);
|
||||
src/code_8041AD0.o(.text);
|
||||
@@ -290,10 +294,16 @@ SECTIONS {
|
||||
src/dungeon_random.o(.text);
|
||||
src/code_808417C.o(.text);
|
||||
asm/code_808417C.o(.text);
|
||||
src/code_8084778.o(.text);
|
||||
asm/code_80847D4.o(.text);
|
||||
src/code_80848F0.o(.text);
|
||||
asm/code_80848F0.o(.text);
|
||||
src/dungeon_util_1.o(.text);
|
||||
asm/code_8085B0C.o(.text);
|
||||
asm/code_8085B80.o(.text);
|
||||
src/code_8085E98.o(.text);
|
||||
asm/code_8085EB0.o(.text);
|
||||
src/code_80861A8.o(.text);
|
||||
asm/code_80861B8.o(.text);
|
||||
src/code_80869E4.o(.text);
|
||||
src/code_8086A3C.o(.text);
|
||||
asm/code_8086A3C.o(.text);
|
||||
|
||||
@@ -25,8 +25,8 @@
|
||||
#include "play_time.h"
|
||||
#include "pokemon.h"
|
||||
#include "rescue_team_info.h"
|
||||
#include "save.h"
|
||||
#include "save_read.h"
|
||||
#include "save.h"
|
||||
#include "sprite.h"
|
||||
#include "text1.h"
|
||||
#include "text2.h"
|
||||
@@ -41,8 +41,6 @@ extern void sub_80095CC(u32, u32);
|
||||
extern void nullsub_33(void);
|
||||
extern u32 sub_80009D0(u32);
|
||||
|
||||
extern void nullsub_8(u32);
|
||||
extern void sub_80060EC(void);
|
||||
extern void xxx_call_update_bg_vram(void);
|
||||
|
||||
extern u32 gUnknown_203B03C;
|
||||
|
||||
@@ -170,7 +170,7 @@ void sub_8005770(s32 param_1, u8 *colorArray, s32 a1, u8 *a2)
|
||||
void nullsub_7(s16 *a0)
|
||||
{}
|
||||
|
||||
void nullsub_8(void)
|
||||
void nullsub_8(u32 a0)
|
||||
{}
|
||||
|
||||
void nullsub_9(void)
|
||||
|
||||
@@ -38,7 +38,6 @@ EWRAM_DATA s16 gUnknown_202DE20 = {0};
|
||||
EWRAM_DATA s16 gUnknown_202DE22 = {0};
|
||||
EWRAM_DATA s16 gUnknown_202DE24 = {0};
|
||||
|
||||
void nullsub_8(u32);
|
||||
extern void xxx_call_update_bg_vram(void);
|
||||
extern bool8 sub_80111C4();
|
||||
extern void sub_8010F28();
|
||||
|
||||
@@ -8,7 +8,6 @@
|
||||
#include "game_options.h"
|
||||
#include "sprite.h"
|
||||
|
||||
extern void nullsub_8(u8);
|
||||
extern void xxx_call_update_bg_vram();
|
||||
|
||||
void sub_8012A18()
|
||||
|
||||
16
src/code_803E46C.c
Normal file
16
src/code_803E46C.c
Normal file
@@ -0,0 +1,16 @@
|
||||
#include "global.h"
|
||||
#include "code_803E46C.h"
|
||||
|
||||
#include "code_803E668.h"
|
||||
|
||||
extern u8 gUnknown_203B40C;
|
||||
|
||||
extern void sub_803E490(u32);
|
||||
|
||||
void sub_803E46C(u32 a0)
|
||||
{
|
||||
if (gUnknown_203B40C != 0)
|
||||
sub_803E490(a0);
|
||||
else
|
||||
sub_803E668(a0);
|
||||
}
|
||||
54
src/code_803E668.c
Normal file
54
src/code_803E668.c
Normal file
@@ -0,0 +1,54 @@
|
||||
#include "global.h"
|
||||
#include "code_803E668.h"
|
||||
|
||||
#include "bg_palette_buffer.h"
|
||||
#include "code_800558C.h"
|
||||
#include "code_8009804.h"
|
||||
#include "code_800C9CC.h"
|
||||
#include "code_80118A4.h"
|
||||
#include "code_803E46C.h"
|
||||
#include "game_options.h"
|
||||
#include "input.h"
|
||||
#include "play_time.h"
|
||||
#include "sprite.h"
|
||||
#include "structs/str_dungeon.h"
|
||||
|
||||
extern s32 gUnknown_202EDCC;
|
||||
extern s32 gUnknown_202EDD4;
|
||||
|
||||
extern void xxx_call_update_bg_vram(void);
|
||||
|
||||
void sub_803E668(u32 a0)
|
||||
{
|
||||
gUnknown_202EDD4++;
|
||||
nullsub_8(gGameOptionsRef->unkA);
|
||||
sub_8005180();
|
||||
nullsub_12();
|
||||
sub_8005838(NULL, 0);
|
||||
sub_80060EC();
|
||||
gUnknown_202EDCC++;
|
||||
IncrementPlayTime(gPlayTimeRef);
|
||||
sub_800CB20();
|
||||
LoadBufferedInputs();
|
||||
CopySpritesToOam();
|
||||
nullsub_13();
|
||||
sub_8005304();
|
||||
nullsub_14();
|
||||
TransferBGPaletteBuffer();
|
||||
sub_8009908();
|
||||
xxx_call_update_bg_vram();
|
||||
xxx_call_update_bg_sound_input();
|
||||
gDungeon->unk18213 = 0;
|
||||
sub_8011860();
|
||||
ResetSprites(FALSE);
|
||||
nullsub_10(FALSE);
|
||||
gUnknown_202EDD4--;
|
||||
}
|
||||
|
||||
void sub_803E708(s32 a0, u32 a1)
|
||||
{
|
||||
while (a0 != 0) {
|
||||
sub_803E46C(a1);
|
||||
a0--;
|
||||
}
|
||||
}
|
||||
@@ -1,14 +1,16 @@
|
||||
#include "global.h"
|
||||
#include "code_806CD90.h"
|
||||
#include "code_800E9A8.h"
|
||||
#include "code_803E46C.h"
|
||||
#include "code_804267C.h"
|
||||
#include "code_806CD90.h"
|
||||
#include "constants/direction.h"
|
||||
#include "constants/status.h"
|
||||
#include "constants/type.h"
|
||||
#include "structs/dungeon_entity.h"
|
||||
#include "structs/str_dungeon.h"
|
||||
#include "dungeon_pokemon_attributes.h"
|
||||
#include "dungeon_util.h"
|
||||
#include "items.h"
|
||||
#include "structs/dungeon_entity.h"
|
||||
#include "structs/str_dungeon.h"
|
||||
|
||||
// size: 0xC
|
||||
struct unkStruct_80420E8
|
||||
@@ -66,10 +68,8 @@ extern u8 sub_800E9FC(u8);
|
||||
extern void sub_800DBBC(void);
|
||||
extern void sub_803EA10(void);
|
||||
extern void sub_8042E98(void);
|
||||
extern void sub_803E46C(u32);
|
||||
extern void sub_800EE5C(u32);
|
||||
extern void sub_800EF64(void);
|
||||
extern bool8 sub_800E9A8(s32);
|
||||
extern u32 sub_800E890(unkStruct_80416E0 *);
|
||||
|
||||
u32 sub_8041764(unkStruct_80416E0 *param_1, bool8 param_2);
|
||||
|
||||
@@ -1,5 +1,8 @@
|
||||
#include "global.h"
|
||||
#include "code_804267C.h"
|
||||
|
||||
#include "code_803E46C.h"
|
||||
#include "code_803E668.h"
|
||||
#include "code_8045A00.h"
|
||||
#include "code_806CD90.h"
|
||||
#include "dungeon.h"
|
||||
@@ -18,8 +21,6 @@ extern const u32 gUnknown_80F680C[8];
|
||||
extern const u16 gUnknown_80F682C[8];
|
||||
extern const u8 *gPtrFeralFoundItemMessage[];
|
||||
|
||||
extern void sub_803E46C(u32);
|
||||
extern void sub_803E708(u32 r0, u32 r1);
|
||||
extern void sub_8040238(void);
|
||||
extern void sub_804151C(Entity *pokemon, u32 r1, u8 r2);
|
||||
extern void sub_804178C(u32);
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
#include "global.h"
|
||||
#include "code_803E668.h"
|
||||
#include "code_8045A00.h"
|
||||
#include "code_80521D0.h"
|
||||
#include "code_8077274_1.h"
|
||||
@@ -115,7 +116,6 @@ extern void sub_8078A58(Entity *, Entity *, s16, u32);
|
||||
extern s32 sub_8042520(Entity *);
|
||||
Entity *sub_80696FC(Entity *);
|
||||
extern void sub_80943A0(void*, s32);
|
||||
extern void sub_803E708(u32 r0, u32 r1);
|
||||
extern void sub_806A7E8(EntityInfo *, s32);
|
||||
extern u32 sub_8055640(struct Entity *, struct Entity *, struct Move *, u32, u32);
|
||||
|
||||
|
||||
@@ -1,5 +1,10 @@
|
||||
#include "global.h"
|
||||
#include "code_800E9A8.h"
|
||||
#include "code_803E46C.h"
|
||||
#include "code_803E668.h"
|
||||
#include "code_804267C.h"
|
||||
#include "code_8045A00.h"
|
||||
#include "code_80861A8.h"
|
||||
#include "code_806CD90.h"
|
||||
#include "code_80869E4.h"
|
||||
#include "constants/bg_music.h"
|
||||
@@ -314,16 +319,13 @@ extern const u8 gUnknown_81058A8[];
|
||||
|
||||
extern const u8 gUnknown_81074FC[];
|
||||
|
||||
extern bool8 sub_800E9A8(s32);
|
||||
extern void sub_800DC14(u32);
|
||||
|
||||
extern void sub_8086A3C(Entity *r0);
|
||||
extern void sub_8068FE0(Entity *, u32, u32);
|
||||
|
||||
extern void sub_803E708(u32, u32);
|
||||
extern void sub_8086448(void);
|
||||
extern void sub_8042B0C(Entity *);
|
||||
extern void sub_803E708(u32, u32);
|
||||
extern u8 sub_806FD18(Entity *);
|
||||
extern void sub_80861D4(Entity *, u32, s32 direction);
|
||||
extern void sub_806FDF4(Entity *, Entity *, Entity **);
|
||||
@@ -362,7 +364,6 @@ extern void sub_806BFC0(EntityInfo *, u32);
|
||||
extern void sub_808BBA8(Entity * );
|
||||
extern void sub_8041888(u32);
|
||||
extern void sub_80861B8(Entity *, u32, u32);
|
||||
extern void sub_803E708(u32, u32);
|
||||
extern void DisplayDungeonDialogue(const u8 *r0);
|
||||
|
||||
extern u32 sub_80861F8(u32, Entity *, u32);
|
||||
@@ -382,10 +383,8 @@ extern void sub_80421C0(Entity *, u32);
|
||||
extern void sub_808B1CC(u8);
|
||||
extern void sub_80464C8(Entity *, u32 *, Item *);
|
||||
extern void SetDungeonBGColorRGB(u32, u32, u32, u32, u32);
|
||||
extern void sub_803E46C(u32);
|
||||
|
||||
extern u32 sub_8085EC8(u32, u32, u32, Position *, u32);
|
||||
extern void sub_80426C8(u32, u32);
|
||||
extern void sub_807EAA0(u32, u32);
|
||||
|
||||
extern void CreateJirachiWishWarpTile(void);
|
||||
@@ -438,7 +437,6 @@ void ZapdosDropInEffect(Entity *param_1);
|
||||
void ZapdosScreenFlash(int param_1);
|
||||
|
||||
extern s32 sub_8052C68(u32, const u8 *, const u8 *, u32);
|
||||
extern void sub_80861A8(Entity *);
|
||||
extern void sub_8045C28(Item *, u8 , u8 *);
|
||||
extern void EnableJirachiWishWarpTile(void);
|
||||
extern void sub_808BB3C(Position *);
|
||||
|
||||
@@ -1,4 +1,6 @@
|
||||
#include "global.h"
|
||||
#include "code_803E46C.h"
|
||||
#include "code_803E668.h"
|
||||
#include "code_8045A00.h"
|
||||
#include "constants/ability.h"
|
||||
#include "constants/move_id.h"
|
||||
@@ -42,8 +44,6 @@ extern bool8 sub_8045888(Entity *);
|
||||
extern void sub_806A2BC(Entity *, u8);
|
||||
extern void sub_804178C(u32);
|
||||
extern void sub_803F508(Entity *);
|
||||
extern void sub_803E46C(u32);
|
||||
extern void sub_803E708(u32 r0, u32 r1);
|
||||
|
||||
void sub_8069E0C(Entity *pokemon)
|
||||
{
|
||||
|
||||
@@ -1,21 +1,20 @@
|
||||
#include "global.h"
|
||||
#include "code_805D8C8.h"
|
||||
#include "code_806CD90.h"
|
||||
|
||||
#include "code_803E46C.h"
|
||||
#include "code_805D8C8.h"
|
||||
#include "constants/direction.h"
|
||||
#include "constants/status.h"
|
||||
#include "structs/str_dungeon.h"
|
||||
#include "dungeon_util.h"
|
||||
#include "pokemon.h"
|
||||
#include "pokemon_mid.h"
|
||||
#include "pokemon.h"
|
||||
#include "random.h"
|
||||
#include "sprite.h"
|
||||
#include "structs/str_dungeon.h"
|
||||
#include "tile_types.h"
|
||||
|
||||
const u8 gUnknown_8106EEF[] = {0x03, 0x04, 0x05, 0x00, 0x00, 0x70, 0x6b, 0x73, 0x64, 0x69, 0x72, 0x30, 0x00 };
|
||||
|
||||
// code_803D110.s
|
||||
extern void sub_803E46C(u32);
|
||||
|
||||
void sub_806CC10(void)
|
||||
{
|
||||
EntityInfo *entityInfo;
|
||||
@@ -176,7 +175,7 @@ void sub_806CF18(Entity *entity)
|
||||
|
||||
if (!EntityExists(entity))
|
||||
return;
|
||||
|
||||
|
||||
entityInfo = entity->info;
|
||||
for (i = 0; i < 100; i++) {
|
||||
sub_803E46C(33);
|
||||
|
||||
@@ -1,15 +1,16 @@
|
||||
#include "global.h"
|
||||
#include "structs/dungeon_entity.h"
|
||||
#include "structs/map.h"
|
||||
#include "structs/str_pokemon.h"
|
||||
#include "code_805D8C8.h"
|
||||
#include "code_806CD90.h"
|
||||
#include "dungeon_map_access.h"
|
||||
#include "dungeon_movement.h"
|
||||
#include "dungeon_random.h"
|
||||
#include "code_805D8C8.h"
|
||||
#include "code_806CD90.h"
|
||||
#include "moves.h"
|
||||
#include "pokemon_mid.h"
|
||||
#include "pokemon_mid.h"
|
||||
#include "status_checks_1.h"
|
||||
#include "structs/dungeon_entity.h"
|
||||
#include "structs/map.h"
|
||||
#include "structs/str_pokemon.h"
|
||||
|
||||
extern u8 gAvailablePokemonNames[];
|
||||
extern u8 gUnknown_202DFE8[];
|
||||
@@ -35,8 +36,6 @@ void sub_8042A44(Entity *r0);
|
||||
void sub_8083D78(void);
|
||||
extern bool8 sub_803D930(u32);
|
||||
|
||||
void CopyCyanMonsterNametoBuffer(u8 *buffer, s16 index);
|
||||
|
||||
void sub_8072AC8(s16 *param_1, s16 species, s32 param_3)
|
||||
{
|
||||
const u8 *levelUpMoves;
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
#include "global.h"
|
||||
#include "code_803E46C.h"
|
||||
#include "code_8045A00.h"
|
||||
#include "code_80521D0.h"
|
||||
#include "code_805D8C8.h"
|
||||
@@ -17,6 +18,7 @@
|
||||
#include "move_effects_target.h"
|
||||
#include "moves.h"
|
||||
#include "pokemon.h"
|
||||
#include "pokemon_mid.h"
|
||||
#include "status_checks_1.h"
|
||||
#include "structs/dungeon_entity.h"
|
||||
#include "structs/str_dungeon.h"
|
||||
@@ -167,7 +169,6 @@ extern u8 *gUnknown_80FBF84[];
|
||||
|
||||
extern void sub_8049ED4();
|
||||
extern void sub_8040A84();
|
||||
extern void sub_803E46C(u32);
|
||||
extern void sub_80522F4(Entity *pokemon, Entity *r1, const char[]);
|
||||
extern void EntityUpdateStatusSprites(Entity *);
|
||||
extern void sub_8042A74(Entity *r0);
|
||||
@@ -211,7 +212,6 @@ extern void sub_8041DD8(Entity *r0, s32 r1); // NOTE: is s16 in another file
|
||||
extern s32 sub_803D870(void *, u32);
|
||||
extern bool8 sub_806AA0C(s32, u32);
|
||||
u32 ExtractSpeciesIndex(PokemonStruct1 **r0); // TODO: look more into this and fix it.
|
||||
void CopyCyanMonsterNametoBuffer(u8 *buffer, s16 index);
|
||||
|
||||
void MuzzleTarget(Entity *pokemon, Entity *target)
|
||||
{
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
#include "global.h"
|
||||
|
||||
#include "code_804267C.h"
|
||||
#include "code_8045A00.h"
|
||||
#include "code_80521D0.h"
|
||||
#include "constants/ability.h"
|
||||
@@ -17,7 +18,6 @@ extern u8 UseAttack(Entity *);
|
||||
extern void sub_805E804(void);
|
||||
void sub_806A2BC(Entity *pokemon, u8 param_2);
|
||||
extern u8 sub_8044B28(void);
|
||||
extern void sub_80426C8(u32, u32);
|
||||
extern void sub_8068FE0(Entity *, u32, Entity *r2);
|
||||
extern void nullsub_93(Position *);
|
||||
extern void sub_80522F4(Entity *, Entity *, u8 *);
|
||||
|
||||
27
src/code_8084778.c
Normal file
27
src/code_8084778.c
Normal file
@@ -0,0 +1,27 @@
|
||||
#include "global.h"
|
||||
#include "code_8084778.h"
|
||||
|
||||
#include "code_80958E8.h"
|
||||
#include "mailbox.h"
|
||||
#include "pokemon_mid.h"
|
||||
#include "structs/str_dungeon.h"
|
||||
|
||||
extern u8 gUnknown_202E088[];
|
||||
|
||||
extern const u8 gUnknown_8107224[];
|
||||
|
||||
void sub_8084778(void)
|
||||
{
|
||||
s32 i;
|
||||
WonderMail *wm;
|
||||
|
||||
strcpy(gUnknown_202E088, gUnknown_8107224);
|
||||
|
||||
for (i = 0; i < MAX_ACCEPTED_JOBS; i++) {
|
||||
wm = GetJobSlotInfo(i);
|
||||
if (wm->mailType == MAIL_TYPE_TAKEN_JOB && gDungeon->dungeonLocation.id == wm->unk4.dungeon.id && wm->missionType == WONDER_MAIL_MISSION_TYPE_ESCORT_CLIENT) {
|
||||
CopyCyanMonsterNametoBuffer(gUnknown_202E088, wm->targetSpecies);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
9
src/code_8085E98.c
Normal file
9
src/code_8085E98.c
Normal file
@@ -0,0 +1,9 @@
|
||||
#include "global.h"
|
||||
#include "code_8085E98.h"
|
||||
|
||||
#include "structs/str_dungeon.h"
|
||||
|
||||
void sub_8085E98(void)
|
||||
{
|
||||
gDungeon->unk18215 = 0;
|
||||
}
|
||||
9
src/code_80861A8.c
Normal file
9
src/code_80861A8.c
Normal file
@@ -0,0 +1,9 @@
|
||||
#include "global.h"
|
||||
#include "code_80861A8.h"
|
||||
|
||||
#include "code_806CD90.h"
|
||||
|
||||
void sub_80861A8(Entity *a0)
|
||||
{
|
||||
sub_806CDD4(a0, 0, 8);
|
||||
}
|
||||
@@ -1,11 +1,13 @@
|
||||
#include "global.h"
|
||||
#include "code_803E46C.h"
|
||||
#include "code_803E668.h"
|
||||
#include "code_806CD90.h"
|
||||
#include "code_80869E4.h"
|
||||
#include "constants/direction.h"
|
||||
#include "structs/str_dungeon.h"
|
||||
#include "dungeon_util.h"
|
||||
#include "dungeon_util_1.h"
|
||||
#include "random.h"
|
||||
#include "structs/str_dungeon.h"
|
||||
|
||||
// This file may originally be merged with code_8086A3C.c and code_8057824_1.c
|
||||
|
||||
@@ -18,8 +20,6 @@ EWRAM_DATA unkStruct_202F3D0 gUnknown_202F3D0 = {0};
|
||||
extern u32 gUnknown_8107314[];
|
||||
|
||||
s8 sub_8002984(s8, u8);
|
||||
void sub_803E708(u32, u32);
|
||||
extern void sub_803E46C(u32);
|
||||
extern void sub_803E9D0(void);
|
||||
extern void SetDungeonBGColorRGB(u32, u32, u32, u32, u32);
|
||||
extern void PlaySoundEffect(u32);
|
||||
|
||||
@@ -1,33 +1,34 @@
|
||||
#include "global.h"
|
||||
#include "code_803E46C.h"
|
||||
#include "code_803E668.h"
|
||||
#include "code_806CD90.h"
|
||||
#include "code_80869E4.h"
|
||||
#include "constants/bg_music.h"
|
||||
#include "constants/direction.h"
|
||||
#include "constants/monster.h"
|
||||
#include "structs/dungeon_entity.h"
|
||||
#include "structs/str_dungeon.h"
|
||||
#include "dungeon_music.h"
|
||||
#include "dungeon_pokemon_attributes.h"
|
||||
#include "dungeon_util.h"
|
||||
#include "dungeon_util_1.h"
|
||||
#include "dungeon_util.h"
|
||||
#include "exclusive_pokemon.h"
|
||||
#include "pokemon.h"
|
||||
#include "pokemon_3.h"
|
||||
#include "pokemon.h"
|
||||
#include "structs/dungeon_entity.h"
|
||||
#include "structs/str_dungeon.h"
|
||||
|
||||
extern u8 sub_8044B28(void);
|
||||
extern u8 gUnknown_202E038[];
|
||||
extern void sub_8085374();
|
||||
extern void sub_8068FE0(Entity *, u32, u32);
|
||||
extern void DisplayDungeonDialogue(const u8 *);
|
||||
extern void sub_803E708(u32, u32);
|
||||
extern void sub_8086448(void);
|
||||
extern void SkarmoryEntry(Entity *);
|
||||
extern void sub_8086A54(Entity *);
|
||||
extern void sub_8087144();
|
||||
extern void sub_8072008(Entity *pokemon, Entity *r1, u32 r2, u8 r3, u32);
|
||||
extern bool8 sub_8085B80(u8 *);
|
||||
// TODO The parameters don't match the function definition in dungeon_util_1.h (struct_8085B80*, s16**, Entity**, s32).
|
||||
extern void sub_8085B4C(u8 *, void *, Entity **, u32);
|
||||
extern void sub_803E46C(u32);
|
||||
|
||||
extern const u8 gUnknown_810739C[];
|
||||
extern const u8 gUnknown_81073D4[];
|
||||
@@ -298,14 +299,14 @@ void sub_8086F00(void)
|
||||
|
||||
// From @jiangzhengwenjz:
|
||||
// Matches this way for -O2 but can match w/o this hack on -O1
|
||||
// https://decomp.me/scratch/BTqWo
|
||||
// https://decomp.me/scratch/BTqWo
|
||||
void sub_8086F54(u8 param_1, u8 param_2)
|
||||
{
|
||||
Entity *entity;
|
||||
s32 index;
|
||||
u32 unk1 = 0;
|
||||
|
||||
|
||||
|
||||
if (param_2 == 4 || param_2 == 5) {
|
||||
void *labels[2];
|
||||
labels[0] = labels[1] = &&label;
|
||||
@@ -452,7 +453,7 @@ void sub_808729C(void)
|
||||
{
|
||||
Entity *LeaderEntity;
|
||||
Entity *ZapdosEntity;
|
||||
|
||||
|
||||
LeaderEntity = xxx_call_GetLeader();
|
||||
ZapdosEntity = GetEntityFromClientType(8);
|
||||
sub_80854D4();
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
#include "global.h"
|
||||
#include "dungeon_ai.h"
|
||||
|
||||
#include "code_803E668.h"
|
||||
#include "code_8045A00.h"
|
||||
#include "code_80521D0.h"
|
||||
#include "code_8077274_1.h"
|
||||
@@ -42,7 +43,6 @@ extern u8 sub_8044B28(void);
|
||||
extern void sub_807AB38(Entity *, u32);
|
||||
extern void sub_8041888(u32);
|
||||
extern u8 sub_803F428(s16 *);
|
||||
extern void sub_803E708(u32, u32);
|
||||
|
||||
void sub_8075900(Entity *pokemon, u8 r1)
|
||||
{
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
#include "dungeon_ai_leader.h"
|
||||
|
||||
#include "charge_move.h"
|
||||
#include "code_803E46C.h"
|
||||
#include "code_804267C.h"
|
||||
#include "code_8045A00.h"
|
||||
#include "code_80521D0.h"
|
||||
@@ -72,7 +73,6 @@ extern u8 sub_8044B28(void);
|
||||
extern u8 UseAttack(Entity *);
|
||||
void sub_8052740(u32);
|
||||
void sub_806A1E8(Entity *pokemon);
|
||||
extern void sub_803E46C(u32);
|
||||
extern void sub_80694C0(Entity *, s32, s32, u32);
|
||||
bool8 sub_804AE08(Position *pos);
|
||||
void HandlePickUpAIAction(Entity *pokemon);
|
||||
|
||||
@@ -1,13 +1,15 @@
|
||||
#include "global.h"
|
||||
#include "structs/dungeon_entity.h"
|
||||
#include "dungeon_engine.h"
|
||||
|
||||
#include "code_803E46C.h"
|
||||
#include "constants/dungeon.h"
|
||||
#include "structs/str_dungeon.h"
|
||||
#include "dungeon_ai.h"
|
||||
#include "dungeon_ai_leader.h"
|
||||
#include "dungeon_ai.h"
|
||||
#include "dungeon_leader.h"
|
||||
#include "dungeon_movement.h"
|
||||
#include "dungeon_util.h"
|
||||
#include "structs/dungeon_entity.h"
|
||||
#include "structs/str_dungeon.h"
|
||||
|
||||
extern s16 gSpeedTurns[2][25];
|
||||
|
||||
@@ -25,7 +27,6 @@ extern void sub_8071DA4(Entity *);
|
||||
extern void TriggerWeatherAbilities(void);
|
||||
extern void sub_805D8C8(void);
|
||||
extern void sub_805F02C(void);
|
||||
extern void sub_803E46C(u32);
|
||||
|
||||
static void sub_8044454(void);
|
||||
static bool8 xxx_dungeon_80442D0(bool8);
|
||||
@@ -60,7 +61,7 @@ bool8 IsMakuhitaTrainingMaze(void)
|
||||
void RunFractionalTurn(bool8 param_1)
|
||||
{
|
||||
bool8 cVar2;
|
||||
|
||||
|
||||
if (!sub_8044B28()) {
|
||||
TrySpawnMonsterAndActivatePlusMinus();
|
||||
if (!sub_8044B28()) {
|
||||
@@ -95,7 +96,7 @@ static bool8 xxx_dungeon_80442D0(bool8 param_1)
|
||||
EntityInfo *entityInfo;
|
||||
Entity *entity;
|
||||
s32 movSpeed;
|
||||
|
||||
|
||||
entity = GetLeader();
|
||||
if (entity == NULL) {
|
||||
return FALSE;
|
||||
@@ -175,10 +176,10 @@ static void sub_8044454(void)
|
||||
Entity *entity;
|
||||
EntityInfo *entityInfo;
|
||||
s32 index;
|
||||
|
||||
|
||||
if (gDungeon->unkE) {
|
||||
gDungeon->unkE = 0;
|
||||
|
||||
|
||||
for(index = 0; index < DUNGEON_MAX_POKEMON; index++)
|
||||
{
|
||||
entity = gDungeon->allPokemon[index];
|
||||
@@ -203,10 +204,10 @@ void sub_80444F4(Entity *pokemon)
|
||||
Entity *entity;
|
||||
EntityInfo *entityInfo;
|
||||
s32 index;
|
||||
|
||||
|
||||
if (pokemon == GetLeader() && gDungeon->unkE) {
|
||||
gDungeon->unkE = 0;
|
||||
|
||||
|
||||
for(index = 0; index < DUNGEON_MAX_POKEMON; index++)
|
||||
{
|
||||
entity = gDungeon->allPokemon[index];
|
||||
|
||||
@@ -1,7 +1,9 @@
|
||||
#include "global.h"
|
||||
#include "dungeon_items.h"
|
||||
|
||||
#include "code_803E668.h"
|
||||
#include "code_8045A00.h"
|
||||
#include "code_80861A8.h"
|
||||
#include "code_80869E4.h"
|
||||
#include "dungeon_capabilities.h"
|
||||
#include "dungeon_leader.h"
|
||||
@@ -19,9 +21,7 @@ extern u8 *gUnknown_81053A8[];
|
||||
extern u8 *gUnknown_8105434[];
|
||||
|
||||
extern s32 sub_8052B8C(u32, u8 *, u32);
|
||||
extern void sub_80861A8(void);
|
||||
extern void PrintFieldMessage(u32, u8 *, u32);
|
||||
extern void sub_803E708(u32, u32);
|
||||
extern void sub_80416E0(Position32 *r0, u32, bool8);
|
||||
extern void sub_80421C0(Entity *, u32);
|
||||
extern void sub_80855E4(void *);
|
||||
|
||||
@@ -1,22 +1,23 @@
|
||||
#include "global.h"
|
||||
#include "code_806CD90.h"
|
||||
#include "dungeon_util_1.h"
|
||||
|
||||
#include "code_803E46C.h"
|
||||
#include "code_803E668.h"
|
||||
#include "code_806CD90.h"
|
||||
#include "constants/direction.h"
|
||||
#include "constants/dungeon.h"
|
||||
#include "structs/str_dungeon.h"
|
||||
#include "dungeon_leader.h"
|
||||
#include "dungeon_util.h"
|
||||
#include "random.h"
|
||||
#include "structs/str_dungeon.h"
|
||||
|
||||
extern s32 gUnknown_202F3D8;
|
||||
extern const u8 gUnknown_8107358[25];
|
||||
|
||||
extern s32 GetCameraXPos(void);
|
||||
extern s32 GetCameraYPos(void);
|
||||
extern void sub_803F4A0(u32);
|
||||
extern void sub_803F878(s32, s32);
|
||||
extern void sub_803E46C(u32);
|
||||
extern void sub_803E708(u32, u32);
|
||||
|
||||
extern void sub_8068FE0(Entity *, u32, Entity*);
|
||||
extern void sub_80457DC(Entity *);
|
||||
@@ -55,7 +56,7 @@ void sub_80854D4(void)
|
||||
Entity *entity3;
|
||||
Entity *entity4;
|
||||
Entity *entity5;
|
||||
|
||||
|
||||
for(index = 0; index < MAX_TEAM_MEMBERS; index++)
|
||||
{
|
||||
entity = gDungeon->teamPokemon[index];
|
||||
@@ -402,3 +403,17 @@ void sub_8085B0C(Entity *pokemon)
|
||||
index++;
|
||||
}
|
||||
}
|
||||
|
||||
void sub_8085B4C(struct_8085B80 *a0, s16 **a1, Entity **a2, s32 a3)
|
||||
{
|
||||
s32 i;
|
||||
|
||||
gUnknown_202F3D8 = a3;
|
||||
|
||||
for (i = 0; i < a3; i++) {
|
||||
a0[i].unk0 = 1;
|
||||
a0[i].unk4 = a2[i];
|
||||
a0[i].unkC = a1[i];
|
||||
a0[i].unk8 = a1[i][2];
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
#include "global.h"
|
||||
#include "charge_move.h"
|
||||
#include "code_803E46C.h"
|
||||
#include "code_8045A00.h"
|
||||
#include "code_806CD90.h"
|
||||
#include "code_8077274_1.h"
|
||||
@@ -193,7 +194,6 @@ void sub_8075900(Entity *pokemon, u8 r1);
|
||||
extern void sub_80943A0(void*, s32);
|
||||
extern u8 sub_8044B28(void);
|
||||
extern u8 sub_803F428(Position *pos);
|
||||
extern void sub_803E46C(u32);
|
||||
extern void sub_807EC28(bool8);
|
||||
extern void sub_806F370(Entity *r0, Entity *r1, u32, u32, u8 *, u8, s32, u32, u32, u32);
|
||||
extern void sub_804652C(Entity *, Entity *, Item *, u32, Position *);
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
#include "global.h"
|
||||
#include "status.h"
|
||||
|
||||
#include "code_803E46C.h"
|
||||
#include "code_8045A00.h"
|
||||
#include "code_806CD90.h"
|
||||
#include "code_8077274_1.h"
|
||||
@@ -131,7 +132,6 @@ extern void RaiseAttackStageTarget(Entity *, Entity *, u32, u32);
|
||||
extern void RaiseDefenseStageTarget(Entity *, Entity *, u32, u32);
|
||||
extern void sub_8041D48(Entity *);
|
||||
extern void sub_8041D38(Entity * pokemon);
|
||||
extern void sub_803E46C(u32);
|
||||
extern u8 sub_8043D10(void);
|
||||
extern void sub_8041CDC(Entity *pokemon);
|
||||
extern void sub_8041CEC(Entity *pokemon);
|
||||
|
||||
@@ -88,6 +88,7 @@ extern void sub_807CD9C(Entity *, Entity *, u32 direction);
|
||||
// NOTE: Override pokemon.c types for these two funcs
|
||||
// GetSize is ok
|
||||
extern u8 GetBodySize(s32 index);
|
||||
// TODO The parameters don't match the function definition in pokemon_mid.h (u8*, s16).
|
||||
extern void CopyCyanMonsterNametoBuffer(u8 *buffer, s32 index);
|
||||
extern u32 GetSize(s16 index);
|
||||
|
||||
|
||||
@@ -1,20 +1,21 @@
|
||||
#include "global.h"
|
||||
#include "status_checks_1.h"
|
||||
|
||||
#include "code_800D090.h"
|
||||
#include "code_80521D0.h"
|
||||
#include "constants/ability.h"
|
||||
#include "constants/iq_skill.h"
|
||||
#include "constants/status.h"
|
||||
#include "constants/weather.h"
|
||||
#include "dungeon_engine.h"
|
||||
#include "structs/str_dungeon.h"
|
||||
#include "dungeon_items.h"
|
||||
#include "dungeon_map_access.h"
|
||||
#include "dungeon_movement.h"
|
||||
#include "dungeon_pokemon_attributes.h"
|
||||
#include "dungeon_map_access.h"
|
||||
#include "dungeon_util.h"
|
||||
#include "code_800D090.h"
|
||||
#include "code_80521D0.h"
|
||||
#include "pokemon_mid.h"
|
||||
#include "pokemon.h"
|
||||
#include "structs/str_dungeon.h"
|
||||
#include "weather.h"
|
||||
|
||||
extern void sub_80429B4(Entity *r0);
|
||||
@@ -25,7 +26,6 @@ extern u8 *gUnknown_80F8994[];
|
||||
extern u8 *gUnknown_80F8968[];
|
||||
extern u8 *gUnknown_80F8988[];
|
||||
extern u8 gUnknown_8106FA4[];
|
||||
void CopyCyanMonsterNametoBuffer(u8 *buffer, s16 index);
|
||||
|
||||
s32 sub_8070828(Entity *pokemon, bool8 displayMessage)
|
||||
{
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
#include "global.h"
|
||||
#include "trap.h"
|
||||
|
||||
#include "code_803E668.h"
|
||||
#include "code_8045A00.h"
|
||||
#include "code_80521D0.h"
|
||||
#include "code_8077274_1.h"
|
||||
@@ -70,7 +71,6 @@ bool8 sub_806AA0C(s32, s32);
|
||||
void sub_80421EC(Position *, u32);
|
||||
|
||||
bool8 sub_8045888(Entity *);
|
||||
void sub_803E708(u32, u32);
|
||||
u8 sub_8043D10(void);
|
||||
void sub_8068FE0(Entity *, u32, Entity *);
|
||||
void sub_805239C(Entity *, u8 *);
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
#include "structs/dungeon_entity.h"
|
||||
#include "structs/map.h"
|
||||
#include "trap.h"
|
||||
#include "code_803E668.h"
|
||||
#include "code_806CD90.h"
|
||||
#include "code_8092334.h"
|
||||
#include "items.h"
|
||||
@@ -68,7 +69,6 @@ void SaveProtectionStatus(unkStruct_8094924 *param_1, Protection *param_2);
|
||||
void SaveWaitingStatus(unkStruct_8094924 *param_1, Waiting *param_2);
|
||||
void SaveSpeedCounters(unkStruct_8094924 *param_1, u8 *speedCounters, u32 numCounters);
|
||||
void SaveClientType(unkStruct_8094924 *param_1, u8 param_2);
|
||||
void sub_803E708(u32, u32);
|
||||
void sub_80421C0(Entity *, u16);
|
||||
void sub_804687C(Entity *, Position *, Position *, Item *, u32);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user