Decompile fldeff hooks

This commit is contained in:
PikalaxALT
2020-02-27 09:18:54 -05:00
parent 43f66fce55
commit 456c817338
10 changed files with 257 additions and 584 deletions
-576
View File
@@ -5,582 +5,6 @@
.text
thumb_func_start FieldEffectStart
FieldEffectStart: @ 8083444
push {r4,r5,lr}
sub sp, 0x8
adds r4, r0, 0
lsls r4, 24
lsrs r4, 24
adds r0, r4, 0
bl FieldEffectActiveListAdd
ldr r0, _08083484 @ =gUnknown_81D96AC
lsls r4, 2
adds r4, r0
ldr r0, [r4]
str r0, [sp]
add r4, sp, 0x4
ldr r5, _08083488 @ =gUnknown_83CBE30
_08083462:
ldr r0, [sp]
ldrb r0, [r0]
lsls r0, 2
adds r0, r5
ldr r2, [r0]
mov r0, sp
adds r1, r4, 0
bl _call_via_r2
lsls r0, 24
cmp r0, 0
bne _08083462
ldr r0, [sp, 0x4]
add sp, 0x8
pop {r4,r5}
pop {r1}
bx r1
.align 2, 0
_08083484: .4byte gUnknown_81D96AC
_08083488: .4byte gUnknown_83CBE30
thumb_func_end FieldEffectStart
thumb_func_start FieldEffectCmd_loadtiles
FieldEffectCmd_loadtiles: @ 808348C
push {lr}
ldr r1, [r0]
adds r1, 0x1
str r1, [r0]
bl FieldEffectScript_LoadTiles
movs r0, 0x1
pop {r1}
bx r1
thumb_func_end FieldEffectCmd_loadtiles
thumb_func_start FieldEffectCmd_loadfadedpal
FieldEffectCmd_loadfadedpal: @ 80834A0
push {lr}
ldr r1, [r0]
adds r1, 0x1
str r1, [r0]
bl sub_8083614
movs r0, 0x1
pop {r1}
bx r1
thumb_func_end FieldEffectCmd_loadfadedpal
thumb_func_start FieldEffectCmd_loadpal
FieldEffectCmd_loadpal: @ 80834B4
push {lr}
ldr r1, [r0]
adds r1, 0x1
str r1, [r0]
bl sub_808365C
movs r0, 0x1
pop {r1}
bx r1
thumb_func_end FieldEffectCmd_loadpal
thumb_func_start FieldEffectCmd_callnative
FieldEffectCmd_callnative: @ 80834C8
push {lr}
ldr r2, [r0]
adds r2, 0x1
str r2, [r0]
bl FieldEffectScript_CallNative
movs r0, 0x1
pop {r1}
bx r1
thumb_func_end FieldEffectCmd_callnative
thumb_func_start sub_80834DC
sub_80834DC: @ 80834DC
movs r0, 0
bx lr
thumb_func_end sub_80834DC
thumb_func_start FieldEffectCmd_loadgfx_callnative
FieldEffectCmd_loadgfx_callnative: @ 80834E0
push {r4,r5,lr}
adds r4, r0, 0
adds r5, r1, 0
ldr r0, [r4]
adds r0, 0x1
str r0, [r4]
adds r0, r4, 0
bl FieldEffectScript_LoadTiles
adds r0, r4, 0
bl sub_8083614
adds r0, r4, 0
adds r1, r5, 0
bl FieldEffectScript_CallNative
movs r0, 0x1
pop {r4,r5}
pop {r1}
bx r1
thumb_func_end FieldEffectCmd_loadgfx_callnative
thumb_func_start FieldEffectCmd_loadtiles_callnative
FieldEffectCmd_loadtiles_callnative: @ 8083508
push {r4,r5,lr}
adds r4, r0, 0
adds r5, r1, 0
ldr r0, [r4]
adds r0, 0x1
str r0, [r4]
adds r0, r4, 0
bl FieldEffectScript_LoadTiles
adds r0, r4, 0
adds r1, r5, 0
bl FieldEffectScript_CallNative
movs r0, 0x1
pop {r4,r5}
pop {r1}
bx r1
thumb_func_end FieldEffectCmd_loadtiles_callnative
thumb_func_start FieldEffectCmd_loadfadedpal_callnative
FieldEffectCmd_loadfadedpal_callnative: @ 808352C
push {r4,r5,lr}
adds r4, r0, 0
adds r5, r1, 0
ldr r0, [r4]
adds r0, 0x1
str r0, [r4]
adds r0, r4, 0
bl sub_8083614
adds r0, r4, 0
adds r1, r5, 0
bl FieldEffectScript_CallNative
movs r0, 0x1
pop {r4,r5}
pop {r1}
bx r1
thumb_func_end FieldEffectCmd_loadfadedpal_callnative
thumb_func_start FieldEffectScript_ReadWord
FieldEffectScript_ReadWord: @ 8083550
ldr r2, [r0]
ldrb r0, [r2]
ldrb r1, [r2, 0x1]
lsls r1, 8
adds r0, r1
ldrb r1, [r2, 0x2]
lsls r1, 16
adds r0, r1
ldrb r1, [r2, 0x3]
lsls r1, 24
adds r0, r1
bx lr
thumb_func_end FieldEffectScript_ReadWord
thumb_func_start FieldEffectScript_LoadTiles
FieldEffectScript_LoadTiles: @ 8083568
push {r4,r5,lr}
adds r4, r0, 0
bl FieldEffectScript_ReadWord
adds r5, r0, 0
ldrh r0, [r5, 0x6]
bl GetSpriteTileStartByTag
lsls r0, 16
ldr r1, _08083594 @ =0xffff0000
cmp r0, r1
bne _08083586
adds r0, r5, 0
bl LoadSpriteSheet
_08083586:
ldr r0, [r4]
adds r0, 0x4
str r0, [r4]
pop {r4,r5}
pop {r0}
bx r0
.align 2, 0
_08083594: .4byte 0xffff0000
thumb_func_end FieldEffectScript_LoadTiles
thumb_func_start sub_8083598
sub_8083598: @ 8083598
push {r4,lr}
lsls r0, 24
lsrs r4, r0, 24
ldr r0, _080835B4 @ =gUnknown_2036E28
ldrb r0, [r0]
cmp r0, 0x1
beq _080835B8
cmp r0, 0x1
ble _08083606
cmp r0, 0x2
beq _080835CC
cmp r0, 0x3
beq _080835E0
b _08083606
.align 2, 0
_080835B4: .4byte gUnknown_2036E28
_080835B8:
adds r4, 0x10
lsls r0, r4, 5
ldr r1, _080835C8 @ =gPlttBufferUnfaded
adds r0, r1
movs r1, 0x10
bl TintPalette_GrayScale
b _080835F6
.align 2, 0
_080835C8: .4byte gPlttBufferUnfaded
_080835CC:
adds r4, 0x10
lsls r0, r4, 5
ldr r1, _080835DC @ =gPlttBufferUnfaded
adds r0, r1
movs r1, 0x10
bl TintPalette_SepiaTone
b _080835F6
.align 2, 0
_080835DC: .4byte gPlttBufferUnfaded
_080835E0:
adds r4, 0x10
lsls r0, r4, 4
movs r1, 0x10
bl sub_8111F38
lsls r0, r4, 5
ldr r1, _0808360C @ =gPlttBufferUnfaded
adds r0, r1
movs r1, 0x10
bl TintPalette_GrayScale
_080835F6:
lsls r1, r4, 5
ldr r0, _0808360C @ =gPlttBufferUnfaded
adds r0, r1, r0
ldr r2, _08083610 @ =gPlttBufferFaded
adds r1, r2
movs r2, 0x8
bl CpuFastSet
_08083606:
pop {r4}
pop {r0}
bx r0
.align 2, 0
_0808360C: .4byte gPlttBufferUnfaded
_08083610: .4byte gPlttBufferFaded
thumb_func_end sub_8083598
thumb_func_start sub_8083614
sub_8083614: @ 8083614
push {r4-r6,lr}
adds r6, r0, 0
bl FieldEffectScript_ReadWord
adds r5, r0, 0
ldrh r0, [r5, 0x4]
bl IndexOfSpritePaletteTag
adds r4, r0, 0
lsls r4, 24
lsrs r4, 24
adds r0, r5, 0
bl LoadSpritePalette
cmp r4, 0xFF
bne _08083642
ldrh r0, [r5, 0x4]
bl IndexOfSpritePaletteTag
lsls r0, 24
lsrs r0, 24
bl sub_8083598
_08083642:
ldrh r0, [r5, 0x4]
bl IndexOfSpritePaletteTag
lsls r0, 24
lsrs r0, 24
bl sub_807AA8C
ldr r0, [r6]
adds r0, 0x4
str r0, [r6]
pop {r4-r6}
pop {r0}
bx r0
thumb_func_end sub_8083614
thumb_func_start sub_808365C
sub_808365C: @ 808365C
push {r4-r6,lr}
adds r6, r0, 0
bl FieldEffectScript_ReadWord
adds r5, r0, 0
ldrh r0, [r5, 0x4]
bl IndexOfSpritePaletteTag
adds r4, r0, 0
lsls r4, 24
lsrs r4, 24
adds r0, r5, 0
bl LoadSpritePalette
cmp r4, 0xFF
beq _0808368A
ldrh r0, [r5, 0x4]
bl IndexOfSpritePaletteTag
lsls r0, 24
lsrs r0, 24
bl sub_8083598
_0808368A:
ldr r0, [r6]
adds r0, 0x4
str r0, [r6]
pop {r4-r6}
pop {r0}
bx r0
thumb_func_end sub_808365C
thumb_func_start FieldEffectScript_CallNative
FieldEffectScript_CallNative: @ 8083698
push {r4,r5,lr}
adds r4, r0, 0
adds r5, r1, 0
bl FieldEffectScript_ReadWord
bl _call_via_r0
str r0, [r5]
ldr r0, [r4]
adds r0, 0x4
str r0, [r4]
pop {r4,r5}
pop {r0}
bx r0
thumb_func_end FieldEffectScript_CallNative
thumb_func_start FieldEffectFreeGraphicsResources
FieldEffectFreeGraphicsResources: @ 80836B4
push {r4,r5,lr}
adds r1, r0, 0
adds r1, 0x40
ldrh r5, [r1]
ldrb r4, [r0, 0x5]
lsrs r4, 4
bl DestroySprite
adds r0, r5, 0
bl FieldEffectFreeTilesIfUnused
adds r0, r4, 0
bl FieldEffectFreePaletteIfUnused
pop {r4,r5}
pop {r0}
bx r0
thumb_func_end FieldEffectFreeGraphicsResources
thumb_func_start FieldEffectStop
FieldEffectStop: @ 80836D8
push {r4,lr}
lsls r4, r1, 24
lsrs r4, 24
bl FieldEffectFreeGraphicsResources
adds r0, r4, 0
bl FieldEffectActiveListRemove
pop {r4}
pop {r0}
bx r0
thumb_func_end FieldEffectStop
thumb_func_start FieldEffectFreeTilesIfUnused
FieldEffectFreeTilesIfUnused: @ 80836F0
push {r4,r5,lr}
lsls r0, 16
lsrs r4, r0, 16
adds r0, r4, 0
bl GetSpriteTileTagByTileStart
lsls r0, 16
lsrs r3, r0, 16
ldr r0, _0808374C @ =0x0000ffff
cmp r3, r0
beq _08083744
movs r2, 0
ldr r5, _08083750 @ =gSprites
_0808370A:
lsls r0, r2, 4
adds r0, r2
lsls r0, 2
adds r1, r0, r5
adds r0, r1, 0
adds r0, 0x3E
ldrb r0, [r0]
lsls r0, 31
cmp r0, 0
beq _08083734
adds r0, r1, 0
adds r0, 0x3F
ldrb r0, [r0]
lsls r0, 25
cmp r0, 0
bge _08083734
adds r0, r1, 0
adds r0, 0x40
ldrh r0, [r0]
cmp r4, r0
beq _08083744
_08083734:
adds r0, r2, 0x1
lsls r0, 24
lsrs r2, r0, 24
cmp r2, 0x3F
bls _0808370A
adds r0, r3, 0
bl FreeSpriteTilesByTag
_08083744:
pop {r4,r5}
pop {r0}
bx r0
.align 2, 0
_0808374C: .4byte 0x0000ffff
_08083750: .4byte gSprites
thumb_func_end FieldEffectFreeTilesIfUnused
thumb_func_start FieldEffectFreePaletteIfUnused
FieldEffectFreePaletteIfUnused: @ 8083754
push {r4-r6,lr}
lsls r0, 24
lsrs r4, r0, 24
adds r0, r4, 0
bl GetSpritePaletteTagByPaletteNum
lsls r0, 16
lsrs r5, r0, 16
ldr r0, _080837A4 @ =0x0000ffff
cmp r5, r0
beq _0808379C
movs r2, 0
ldr r6, _080837A8 @ =gSprites
adds r3, r4, 0
_08083770:
lsls r0, r2, 4
adds r0, r2
lsls r0, 2
adds r1, r0, r6
adds r0, r1, 0
adds r0, 0x3E
ldrb r0, [r0]
lsls r0, 31
cmp r0, 0
beq _0808378C
ldrb r0, [r1, 0x5]
lsrs r0, 4
cmp r0, r3
beq _0808379C
_0808378C:
adds r0, r2, 0x1
lsls r0, 24
lsrs r2, r0, 24
cmp r2, 0x3F
bls _08083770
adds r0, r5, 0
bl FreeSpritePaletteByTag
_0808379C:
pop {r4-r6}
pop {r0}
bx r0
.align 2, 0
_080837A4: .4byte 0x0000ffff
_080837A8: .4byte gSprites
thumb_func_end FieldEffectFreePaletteIfUnused
thumb_func_start FieldEffectActiveListClear
FieldEffectActiveListClear: @ 80837AC
push {r4,lr}
movs r2, 0
ldr r4, _080837CC @ =gUnknown_3000FC8
movs r3, 0xFF
_080837B4:
adds r0, r2, r4
ldrb r1, [r0]
orrs r1, r3
strb r1, [r0]
adds r0, r2, 0x1
lsls r0, 24
lsrs r2, r0, 24
cmp r2, 0x1F
bls _080837B4
pop {r4}
pop {r0}
bx r0
.align 2, 0
_080837CC: .4byte gUnknown_3000FC8
thumb_func_end FieldEffectActiveListClear
thumb_func_start FieldEffectActiveListAdd
FieldEffectActiveListAdd: @ 80837D0
push {r4,lr}
lsls r0, 24
lsrs r3, r0, 24
movs r2, 0
ldr r4, _080837E8 @ =gUnknown_3000FC8
_080837DA:
adds r1, r2, r4
ldrb r0, [r1]
cmp r0, 0xFF
bne _080837EC
strb r3, [r1]
b _080837F6
.align 2, 0
_080837E8: .4byte gUnknown_3000FC8
_080837EC:
adds r0, r2, 0x1
lsls r0, 24
lsrs r2, r0, 24
cmp r2, 0x1F
bls _080837DA
_080837F6:
pop {r4}
pop {r0}
bx r0
thumb_func_end FieldEffectActiveListAdd
thumb_func_start FieldEffectActiveListRemove
FieldEffectActiveListRemove: @ 80837FC
push {r4,r5,lr}
lsls r0, 24
lsrs r3, r0, 24
movs r2, 0
ldr r4, _08083818 @ =gUnknown_3000FC8
movs r5, 0xFF
_08083808:
adds r1, r2, r4
ldrb r0, [r1]
cmp r0, r3
bne _0808381C
orrs r0, r5
strb r0, [r1]
b _08083826
.align 2, 0
_08083818: .4byte gUnknown_3000FC8
_0808381C:
adds r0, r2, 0x1
lsls r0, 24
lsrs r2, r0, 24
cmp r2, 0x1F
bls _08083808
_08083826:
pop {r4,r5}
pop {r0}
bx r0
thumb_func_end FieldEffectActiveListRemove
thumb_func_start FieldEffectActiveListContains
FieldEffectActiveListContains: @ 808382C
push {lr}
lsls r0, 24
lsrs r2, r0, 24
movs r1, 0
ldr r3, _08083844 @ =gUnknown_3000FC8
_08083836:
adds r0, r1, r3
ldrb r0, [r0]
cmp r0, r2
bne _08083848
movs r0, 0x1
b _08083854
.align 2, 0
_08083844: .4byte gUnknown_3000FC8
_08083848:
adds r0, r1, 0x1
lsls r0, 24
lsrs r1, r0, 24
cmp r1, 0x1F
bls _08083836
movs r0, 0
_08083854:
pop {r1}
bx r1
thumb_func_end FieldEffectActiveListContains
thumb_func_start CreateTrainerSprite
CreateTrainerSprite: @ 8083858
push {r4-r7,lr}