Decompile fldeff hooks
This commit is contained in:
@@ -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}
|
||||
|
||||
Reference in New Issue
Block a user