Merge pull request #282 from PikalaxALT/field_effect_helpers

port field_effect_helpers from emerald
This commit is contained in:
PikalaxALT
2020-03-02 14:11:32 -05:00
committed by GitHub
19 changed files with 1543 additions and 4467 deletions
+42 -42
View File
@@ -1084,7 +1084,7 @@ _0805E5CA:
ldrh r0, [r6, 0x2] ldrh r0, [r6, 0x2]
lsls r1, 28 lsls r1, 28
lsrs r1, 28 lsrs r1, 28
bl npc_load_two_palettes__no_record bl LoadPlayerObjectReflectionPalette
b _0805E606 b _0805E606
.align 2, 0 .align 2, 0
_0805E5F4: .4byte gObjectEvents _0805E5F4: .4byte gObjectEvents
@@ -1094,7 +1094,7 @@ _0805E5F8:
ldrh r0, [r6, 0x2] ldrh r0, [r6, 0x2]
lsls r1, 28 lsls r1, 28
lsrs r1, 28 lsrs r1, 28
bl npc_load_two_palettes__and_record bl LoadSpecialObjectReflectionPalette
_0805E606: _0805E606:
ldrb r0, [r5, 0x6] ldrb r0, [r5, 0x6]
cmp r0, 0x4C cmp r0, 0x4C
@@ -1728,7 +1728,7 @@ sprite_new: @ 805E9F8
ldrh r0, [r4, 0x2] ldrh r0, [r4, 0x2]
lsls r1, 28 lsls r1, 28
lsrs r1, 28 lsrs r1, 28
bl npc_load_two_palettes__and_record bl LoadSpecialObjectReflectionPalette
_0805EAE4: _0805EAE4:
ldr r1, [sp, 0x1C] ldr r1, [sp, 0x1C]
cmp r1, 0 cmp r1, 0
@@ -1852,7 +1852,7 @@ sub_805EB44: @ 805EB44
ldrh r0, [r7, 0x2] ldrh r0, [r7, 0x2]
lsls r1, 28 lsls r1, 28
lsrs r1, 28 lsrs r1, 28
bl npc_load_two_palettes__and_record bl LoadSpecialObjectReflectionPalette
_0805EBE6: _0805EBE6:
ldr r1, [sp, 0x18] ldr r1, [sp, 0x18]
cmp r1, 0 cmp r1, 0
@@ -2239,7 +2239,7 @@ _0805EE70:
ldrh r0, [r5, 0x2] ldrh r0, [r5, 0x2]
lsls r1, 28 lsls r1, 28
lsrs r1, 28 lsrs r1, 28
bl npc_load_two_palettes__no_record bl LoadPlayerObjectReflectionPalette
_0805EECA: _0805EECA:
ldrb r0, [r5, 0xC] ldrb r0, [r5, 0xC]
lsls r1, r0, 28 lsls r1, r0, 28
@@ -2248,7 +2248,7 @@ _0805EECA:
bls _0805EEDC bls _0805EEDC
ldrh r0, [r5, 0x2] ldrh r0, [r5, 0x2]
lsrs r1, 28 lsrs r1, 28
bl npc_load_two_palettes__and_record bl LoadSpecialObjectReflectionPalette
_0805EEDC: _0805EEDC:
mov r0, sp mov r0, sp
strh r4, [r0, 0x2] strh r4, [r0, 0x2]
@@ -2315,7 +2315,7 @@ _0805EEDC:
mov r0, r8 mov r0, r8
adds r1, r7, 0 adds r1, r7, 0
bl SetPlayerAvatarObjectEventIdAndObjectId bl SetPlayerAvatarObjectEventIdAndObjectId
bl sub_80DB0C4 bl CreateWarpArrowSprite
strb r0, [r6, 0x1B] strb r0, [r6, 0x1B]
_0805EF6A: _0805EF6A:
ldr r1, [sp, 0x20] ldr r1, [sp, 0x20]
@@ -2470,7 +2470,7 @@ ObjectEventSetGraphicsId: @ 805F060
ldrh r0, [r5, 0x2] ldrh r0, [r5, 0x2]
lsls r1, 28 lsls r1, 28
lsrs r1, 28 lsrs r1, 28
bl pal_patch_for_npc bl PatchObjectPalette
_0805F09E: _0805F09E:
ldrb r1, [r5, 0xC] ldrb r1, [r5, 0xC]
mov r0, r8 mov r0, r8
@@ -2480,7 +2480,7 @@ _0805F09E:
ldrh r0, [r5, 0x2] ldrh r0, [r5, 0x2]
lsls r1, 28 lsls r1, 28
lsrs r1, 28 lsrs r1, 28
bl npc_load_two_palettes__and_record bl LoadSpecialObjectReflectionPalette
_0805F0B2: _0805F0B2:
ldr r0, [r4, 0xC] ldr r0, [r4, 0xC]
ldrh r0, [r0, 0x4] ldrh r0, [r0, 0x4]
@@ -2583,7 +2583,7 @@ _0805F152:
adds r2, 0x20 adds r2, 0x20
adds r3, r4, 0 adds r3, r4, 0
adds r3, 0x22 adds r3, 0x22
bl sub_8063B1C bl SetSpritePosToMapCoords
ldrh r0, [r5, 0x8] ldrh r0, [r5, 0x8]
lsls r0, 16 lsls r0, 16
asrs r0, 17 asrs r0, 17
@@ -3107,8 +3107,8 @@ _0805F530:
bx r1 bx r1
thumb_func_end sub_805F510 thumb_func_end sub_805F510
thumb_func_start pal_patch_for_npc thumb_func_start PatchObjectPalette
pal_patch_for_npc: @ 805F538 PatchObjectPalette: @ 805F538
push {r4,lr} push {r4,lr}
adds r4, r1, 0 adds r4, r1, 0
lsls r0, 16 lsls r0, 16
@@ -3135,7 +3135,7 @@ pal_patch_for_npc: @ 805F538
bx r0 bx r0
.align 2, 0 .align 2, 0
_0805F570: .4byte gObjectEventSpritePalettes _0805F570: .4byte gObjectEventSpritePalettes
thumb_func_end pal_patch_for_npc thumb_func_end PatchObjectPalette
thumb_func_start pal_patch_for_npc_range thumb_func_start pal_patch_for_npc_range
pal_patch_for_npc_range: @ 805F574 pal_patch_for_npc_range: @ 805F574
@@ -3150,7 +3150,7 @@ pal_patch_for_npc_range: @ 805F574
_0805F584: _0805F584:
ldrh r0, [r5] ldrh r0, [r5]
adds r1, r4, 0 adds r1, r4, 0
bl pal_patch_for_npc bl PatchObjectPalette
adds r5, 0x2 adds r5, 0x2
adds r0, r4, 0x1 adds r0, r4, 0x1
lsls r0, 24 lsls r0, 24
@@ -3205,8 +3205,8 @@ _0805F5E2:
bx r1 bx r1
thumb_func_end FindObjectEventPaletteIndexByTag thumb_func_end FindObjectEventPaletteIndexByTag
thumb_func_start npc_load_two_palettes__no_record thumb_func_start LoadPlayerObjectReflectionPalette
npc_load_two_palettes__no_record: @ 805F5E8 LoadPlayerObjectReflectionPalette: @ 805F5E8
push {r4-r6,lr} push {r4-r6,lr}
lsls r0, 16 lsls r0, 16
lsrs r4, r0, 16 lsrs r4, r0, 16
@@ -3214,14 +3214,14 @@ npc_load_two_palettes__no_record: @ 805F5E8
lsrs r5, r1, 24 lsrs r5, r1, 24
adds r0, r4, 0 adds r0, r4, 0
adds r1, r5, 0 adds r1, r5, 0
bl pal_patch_for_npc bl PatchObjectPalette
movs r3, 0 movs r3, 0
ldr r1, _0805F630 @ =gUnknown_83A5208 ldr r1, _0805F630 @ =gUnknown_83A5208
ldrh r0, [r1] ldrh r0, [r1]
ldr r2, _0805F634 @ =0x000011ff ldr r2, _0805F634 @ =0x000011ff
cmp r0, r2 cmp r0, r2
beq _0805F650 beq _0805F650
ldr r0, _0805F638 @ =gUnknown_835B934 ldr r0, _0805F638 @ =gReflectionEffectPaletteMap
adds r5, r0 adds r5, r0
adds r6, r2, 0 adds r6, r2, 0
_0805F60C: _0805F60C:
@@ -3239,12 +3239,12 @@ _0805F60C:
adds r0, r1 adds r0, r1
ldrh r0, [r0] ldrh r0, [r0]
ldrb r1, [r5] ldrb r1, [r5]
bl pal_patch_for_npc bl PatchObjectPalette
b _0805F650 b _0805F650
.align 2, 0 .align 2, 0
_0805F630: .4byte gUnknown_83A5208 _0805F630: .4byte gUnknown_83A5208
_0805F634: .4byte 0x000011ff _0805F634: .4byte 0x000011ff
_0805F638: .4byte gUnknown_835B934 _0805F638: .4byte gReflectionEffectPaletteMap
_0805F63C: .4byte gUnknown_2037098 _0805F63C: .4byte gUnknown_2037098
_0805F640: _0805F640:
adds r0, r3, 0x1 adds r0, r3, 0x1
@@ -3259,10 +3259,10 @@ _0805F650:
pop {r4-r6} pop {r4-r6}
pop {r0} pop {r0}
bx r0 bx r0
thumb_func_end npc_load_two_palettes__no_record thumb_func_end LoadPlayerObjectReflectionPalette
thumb_func_start npc_load_two_palettes__and_record thumb_func_start LoadSpecialObjectReflectionPalette
npc_load_two_palettes__and_record: @ 805F658 LoadSpecialObjectReflectionPalette: @ 805F658
push {r4-r6,lr} push {r4-r6,lr}
lsls r0, 16 lsls r0, 16
lsrs r4, r0, 16 lsrs r4, r0, 16
@@ -3272,14 +3272,14 @@ npc_load_two_palettes__and_record: @ 805F658
strh r4, [r0] strh r4, [r0]
adds r0, r4, 0 adds r0, r4, 0
adds r1, r5, 0 adds r1, r5, 0
bl pal_patch_for_npc bl PatchObjectPalette
movs r3, 0 movs r3, 0
ldr r1, _0805F6A8 @ =gUnknown_83A5278 ldr r1, _0805F6A8 @ =gUnknown_83A5278
ldrh r0, [r1] ldrh r0, [r1]
ldr r2, _0805F6AC @ =0x000011ff ldr r2, _0805F6AC @ =0x000011ff
cmp r0, r2 cmp r0, r2
beq _0805F6C8 beq _0805F6C8
ldr r0, _0805F6B0 @ =gUnknown_835B934 ldr r0, _0805F6B0 @ =gReflectionEffectPaletteMap
adds r5, r0 adds r5, r0
adds r6, r2, 0 adds r6, r2, 0
_0805F680: _0805F680:
@@ -3297,13 +3297,13 @@ _0805F680:
adds r0, r1 adds r0, r1
ldrh r0, [r0] ldrh r0, [r0]
ldrb r1, [r5] ldrb r1, [r5]
bl pal_patch_for_npc bl PatchObjectPalette
b _0805F6C8 b _0805F6C8
.align 2, 0 .align 2, 0
_0805F6A4: .4byte gUnknown_203709A _0805F6A4: .4byte gUnknown_203709A
_0805F6A8: .4byte gUnknown_83A5278 _0805F6A8: .4byte gUnknown_83A5278
_0805F6AC: .4byte 0x000011ff _0805F6AC: .4byte 0x000011ff
_0805F6B0: .4byte gUnknown_835B934 _0805F6B0: .4byte gReflectionEffectPaletteMap
_0805F6B4: .4byte gUnknown_2037098 _0805F6B4: .4byte gUnknown_2037098
_0805F6B8: _0805F6B8:
adds r0, r3, 0x1 adds r0, r3, 0x1
@@ -3318,18 +3318,18 @@ _0805F6C8:
pop {r4-r6} pop {r4-r6}
pop {r0} pop {r0}
bx r0 bx r0
thumb_func_end npc_load_two_palettes__and_record thumb_func_end LoadSpecialObjectReflectionPalette
thumb_func_start sub_805F6D0 thumb_func_start sub_805F6D0
sub_805F6D0: @ 805F6D0 sub_805F6D0: @ 805F6D0
lsls r0, 24 lsls r0, 24
lsrs r0, 24 lsrs r0, 24
ldr r1, _0805F6DC @ =gUnknown_835B934 ldr r1, _0805F6DC @ =gReflectionEffectPaletteMap
adds r0, r1 adds r0, r1
ldrb r0, [r0] ldrb r0, [r0]
bx lr bx lr
.align 2, 0 .align 2, 0
_0805F6DC: .4byte gUnknown_835B934 _0805F6DC: .4byte gReflectionEffectPaletteMap
thumb_func_end sub_805F6D0 thumb_func_end sub_805F6D0
thumb_func_start unref_sub_808EAC4 thumb_func_start unref_sub_808EAC4
@@ -3413,7 +3413,7 @@ sub_805F724: @ 805F724
adds r2, 0x20 adds r2, 0x20
adds r3, r7, 0 adds r3, r7, 0
adds r3, 0x22 adds r3, 0x22
bl sub_8063B1C bl SetSpritePosToMapCoords
mov r1, r8 mov r1, r8
ldrh r0, [r1, 0x8] ldrh r0, [r1, 0x8]
lsls r0, 16 lsls r0, 16
@@ -3979,8 +3979,8 @@ _0805FB5E:
bx r1 bx r1
thumb_func_end CopySprite thumb_func_end CopySprite
thumb_func_start obj_unfreeze thumb_func_start CreateCopySpriteAt
obj_unfreeze: @ 805FB6C CreateCopySpriteAt: @ 805FB6C
push {r4-r7,lr} push {r4-r7,lr}
mov r7, r8 mov r7, r8
push {r7} push {r7}
@@ -4038,7 +4038,7 @@ _0805FBD2:
pop {r4-r7} pop {r4-r7}
pop {r1} pop {r1}
bx r1 bx r1
thumb_func_end obj_unfreeze thumb_func_end CreateCopySpriteAt
thumb_func_start ObjectEventSetDirection thumb_func_start ObjectEventSetDirection
ObjectEventSetDirection: @ 805FBDC ObjectEventSetDirection: @ 805FBDC
@@ -4524,8 +4524,8 @@ _0805FF2A:
_0805FF30: .4byte gUnknown_83A5330 _0805FF30: .4byte gUnknown_83A5330
thumb_func_end npc_paltag_set_load thumb_func_end npc_paltag_set_load
thumb_func_start npc_paltag_by_palslot thumb_func_start GetObjectPaletteTag
npc_paltag_by_palslot: @ 805FF34 GetObjectPaletteTag: @ 805FF34
push {r4-r6,lr} push {r4-r6,lr}
lsls r0, 24 lsls r0, 24
lsrs r2, r0, 24 lsrs r2, r0, 24
@@ -4591,7 +4591,7 @@ _0805FFA2:
_0805FFA8: .4byte gUnknown_83A5278 _0805FFA8: .4byte gUnknown_83A5278
_0805FFAC: .4byte 0x000011ff _0805FFAC: .4byte 0x000011ff
_0805FFB0: .4byte gUnknown_203709A _0805FFB0: .4byte gUnknown_203709A
thumb_func_end npc_paltag_by_palslot thumb_func_end GetObjectPaletteTag
thumb_func_start sub_805FFB4 thumb_func_start sub_805FFB4
sub_805FFB4: @ 805FFB4 sub_805FFB4: @ 805FFB4
@@ -12912,8 +12912,8 @@ _08063B14: .4byte gTotalCameraPixelOffsetX
_08063B18: .4byte gTotalCameraPixelOffsetY _08063B18: .4byte gTotalCameraPixelOffsetY
thumb_func_end sub_8063AD4 thumb_func_end sub_8063AD4
thumb_func_start sub_8063B1C thumb_func_start SetSpritePosToMapCoords
sub_8063B1C: @ 8063B1C SetSpritePosToMapCoords: @ 8063B1C
push {r4-r7,lr} push {r4-r7,lr}
adds r7, r2, 0 adds r7, r2, 0
mov r12, r3 mov r12, r3
@@ -12997,7 +12997,7 @@ _08063BB4: .4byte gUnknown_3005050
_08063BB8: .4byte gTotalCameraPixelOffsetY _08063BB8: .4byte gTotalCameraPixelOffsetY
_08063BBC: .4byte 0xfff00000 _08063BBC: .4byte 0xfff00000
_08063BC0: .4byte gSaveBlock1Ptr _08063BC0: .4byte gSaveBlock1Ptr
thumb_func_end sub_8063B1C thumb_func_end SetSpritePosToMapCoords
thumb_func_start sub_8063BC4 thumb_func_start sub_8063BC4
sub_8063BC4: @ 8063BC4 sub_8063BC4: @ 8063BC4
@@ -13019,7 +13019,7 @@ sub_8063BC4: @ 8063BC4
ldrsh r1, [r2, r3] ldrsh r1, [r2, r3]
adds r2, r6, 0 adds r2, r6, 0
mov r3, r8 mov r3, r8
bl sub_8063B1C bl SetSpritePosToMapCoords
lsls r4, 16 lsls r4, 16
asrs r4, 16 asrs r4, 16
ldrh r0, [r6] ldrh r0, [r6]
@@ -23568,7 +23568,7 @@ GroundEffect_JumpOnTallGrass: @ 80685FC
movs r7, 0x12 movs r7, 0x12
ldrsh r4, [r5, r7] ldrsh r4, [r5, r7]
str r4, [sp] str r4, [sp]
bl sub_80DB564 bl FindTallGrassFieldEffectSpriteId
lsls r0, 24 lsls r0, 24
lsrs r0, 24 lsrs r0, 24
cmp r0, 0x40 cmp r0, 0x40
File diff suppressed because it is too large Load Diff
+3 -3
View File
@@ -3158,7 +3158,7 @@ InitPlayerAvatar: @ 805CA3C
movs r1, 0x1 movs r1, 0x1
orrs r0, r1 orrs r0, r1
strb r0, [r4, 0x2] strb r0, [r4, 0x2]
bl sub_80DB0C4 bl CreateWarpArrowSprite
strb r0, [r4, 0x1B] strb r0, [r4, 0x1B]
adds r0, r4, 0 adds r0, r4, 0
mov r1, r9 mov r1, r9
@@ -3403,7 +3403,7 @@ _0805CC62:
movs r1, 0 movs r1, 0
ldrsh r3, [r7, r1] ldrsh r3, [r7, r1]
adds r1, r6, 0 adds r1, r6, 0
bl sub_80DB134 bl ShowWarpArrowSprite
b _0805CCC2 b _0805CCC2
.align 2, 0 .align 2, 0
_0805CCA4: .4byte gUnknown_835B890 _0805CCA4: .4byte gUnknown_835B890
@@ -3419,7 +3419,7 @@ _0805CCA8:
cmp r1, 0x3 cmp r1, 0x3
ble _0805CC62 ble _0805CC62
ldrb r0, [r5, 0x1B] ldrb r0, [r5, 0x1B]
bl objid_set_invisible bl SetSpriteInvisible
_0805CCC2: _0805CCC2:
add sp, 0x4 add sp, 0x4
pop {r3,r4} pop {r3,r4}
+4 -4
View File
@@ -1906,8 +1906,8 @@ _0807AA84: .4byte gUnknown_2037F34
_0807AA88: .4byte 0x000006c6 _0807AA88: .4byte 0x000006c6
thumb_func_end IsWeatherNotFadingIn thumb_func_end IsWeatherNotFadingIn
thumb_func_start sub_807AA8C thumb_func_start UpdateSpritePaletteWithWeather
sub_807AA8C: @ 807AA8C UpdateSpritePaletteWithWeather: @ 807AA8C
push {r4-r6,lr} push {r4-r6,lr}
lsls r0, 24 lsls r0, 24
lsrs r0, 8 lsrs r0, 8
@@ -2017,7 +2017,7 @@ _0807AB68:
bx r0 bx r0
.align 2, 0 .align 2, 0
_0807AB70: .4byte 0x000073fc _0807AB70: .4byte 0x000073fc
thumb_func_end sub_807AA8C thumb_func_end UpdateSpritePaletteWithWeather
thumb_func_start sub_807AB74 thumb_func_start sub_807AB74
sub_807AB74: @ 807AB74 sub_807AB74: @ 807AB74
@@ -2078,7 +2078,7 @@ sub_807ABC0: @ 807ABC0
movs r2, 0x20 movs r2, 0x20
bl LoadPalette bl LoadPalette
ldrb r0, [r4] ldrb r0, [r4]
bl sub_807AA8C bl UpdateSpritePaletteWithWeather
pop {r4} pop {r4}
pop {r0} pop {r0}
bx r0 bx r0
+1 -1
View File
@@ -252,7 +252,7 @@ _0807B456:
adds r2, 0x20 adds r2, 0x20
adds r3, r4, 0 adds r3, r4, 0
adds r3, 0x22 adds r3, 0x22
bl sub_8063B1C bl SetSpritePosToMapCoords
adds r4, 0x3E adds r4, 0x3E
ldrb r0, [r4] ldrb r0, [r4]
movs r1, 0x2 movs r1, 0x2
+1 -1
View File
@@ -7273,7 +7273,7 @@ InitLinkPlayerObjectEventPos: @ 8058448
adds r2, 0xC adds r2, 0xC
adds r3, r4, 0 adds r3, r4, 0
adds r3, 0xE adds r3, 0xE
bl sub_8063B1C bl SetSpritePosToMapCoords
ldrh r0, [r4, 0xC] ldrh r0, [r4, 0xC]
adds r0, 0x8 adds r0, 0x8
strh r0, [r4, 0xC] strh r0, [r4, 0xC]
+26 -26
View File
@@ -2,7 +2,7 @@
.include "constants/constants.inc" .include "constants/constants.inc"
.section .rodata .section .rodata
.align 2 .align 2
gUnknown_835B934:: @ 835B934 gReflectionEffectPaletteMap:: @ 835B934
.byte 0x01, 0x01, 0x06, 0x07, 0x08, 0x09, 0x06, 0x07, 0x08, 0x09, 0x0b, 0x0b, 0x00, 0x00, 0x00, 0x00 .byte 0x01, 0x01, 0x06, 0x07, 0x08, 0x09, 0x06, 0x07, 0x08, 0x09, 0x0b, 0x0b, 0x00, 0x00, 0x00, 0x00
gUnknown_835B944:: @ 835B944 gUnknown_835B944:: @ 835B944
@@ -6325,16 +6325,16 @@ gUnknown_83A5374:: @ 83A5374
obj_frame_tiles gUnknown_8398128, 0x400 obj_frame_tiles gUnknown_8398128, 0x400
gUnknown_83A537C:: @ 83A537C gUnknown_83A537C:: @ 83A537C
spr_template 65535, 65535, gObjectEventBaseOam_128x64, gUnknown_83A5358, gUnknown_83A535C, gDummySpriteAffineAnimTable, oamc_shadow spr_template 65535, 65535, gObjectEventBaseOam_128x64, gUnknown_83A5358, gUnknown_83A535C, gDummySpriteAffineAnimTable, UpdateShadowFieldEffect
gUnknown_83A5394:: @ 83A5394 gUnknown_83A5394:: @ 83A5394
spr_template 65535, 65535, gObjectEventBaseOam_Unknown1, gUnknown_83A5358, gUnknown_83A5364, gDummySpriteAffineAnimTable, oamc_shadow spr_template 65535, 65535, gObjectEventBaseOam_Unknown1, gUnknown_83A5358, gUnknown_83A5364, gDummySpriteAffineAnimTable, UpdateShadowFieldEffect
gUnknown_83A53AC:: @ 83A53AC gUnknown_83A53AC:: @ 83A53AC
spr_template 65535, 65535, gObjectEventBaseOam_Unknown2, gUnknown_83A5358, gUnknown_83A536C, gDummySpriteAffineAnimTable, oamc_shadow spr_template 65535, 65535, gObjectEventBaseOam_Unknown2, gUnknown_83A5358, gUnknown_83A536C, gDummySpriteAffineAnimTable, UpdateShadowFieldEffect
gUnknown_83A53C4:: @ 83A53C4 gUnknown_83A53C4:: @ 83A53C4
spr_template 65535, 65535, gObjectEventBaseOam_Unknown3, gUnknown_83A5358, gUnknown_83A5374, gDummySpriteAffineAnimTable, oamc_shadow spr_template 65535, 65535, gObjectEventBaseOam_Unknown3, gUnknown_83A5358, gUnknown_83A5374, gDummySpriteAffineAnimTable, UpdateShadowFieldEffect
gUnknown_83A53DC:: @ 83A53DC gUnknown_83A53DC:: @ 83A53DC
overworld_frame gUnknown_839A008, 2, 2, 0 overworld_frame gUnknown_839A008, 2, 2, 0
@@ -6355,7 +6355,7 @@ gUnknown_83A541C:: @ 83A541C
.4byte gUnknown_83A5404 .4byte gUnknown_83A5404
gUnknown_83A5420:: @ 83A5420 gUnknown_83A5420:: @ 83A5420
spr_template 0xFFFF, 0x1005, gObjectEventBaseOam_16x16, gUnknown_83A541C, gUnknown_83A53DC, gDummySpriteAffineAnimTable, unc_grass_normal spr_template 0xFFFF, 0x1005, gObjectEventBaseOam_16x16, gUnknown_83A541C, gUnknown_83A53DC, gDummySpriteAffineAnimTable, UpdateTallGrassFieldEffect
gUnknown_83A5438:: @ 83A5438 gUnknown_83A5438:: @ 83A5438
overworld_frame gUnknown_83986A8, 2, 2, 0 overworld_frame gUnknown_83986A8, 2, 2, 0
@@ -6379,7 +6379,7 @@ gUnknown_83A5484:: @ 83A5484
.4byte gUnknown_83A5460 .4byte gUnknown_83A5460
gUnknown_83A5488:: @ 83A5488 gUnknown_83A5488:: @ 83A5488
spr_template 0xFFFF, 0x1005, gObjectEventBaseOam_16x16, gUnknown_83A5484, gUnknown_83A5438, gDummySpriteAffineAnimTable, sub_80DCD1C spr_template 0xFFFF, 0x1005, gObjectEventBaseOam_16x16, gUnknown_83A5484, gUnknown_83A5438, gDummySpriteAffineAnimTable, WaitFieldEffectSpriteAnim
gUnknown_83A54A0:: @ 83A54A0 gUnknown_83A54A0:: @ 83A54A0
overworld_frame gUnknown_8398928, 2, 2, 0 overworld_frame gUnknown_8398928, 2, 2, 0
@@ -6400,7 +6400,7 @@ gUnknown_83A54E0:: @ 83A54E0
.4byte gUnknown_83A54C8 .4byte gUnknown_83A54C8
gUnknown_83A54E4:: @ 83A54E4 gUnknown_83A54E4:: @ 83A54E4
spr_template 0xFFFF, 0x1005, gObjectEventBaseOam_16x16, gUnknown_83A54E0, gUnknown_83A54A0, gDummySpriteAffineAnimTable, sub_80DC2FC spr_template 0xFFFF, 0x1005, gObjectEventBaseOam_16x16, gUnknown_83A54E0, gUnknown_83A54A0, gDummySpriteAffineAnimTable, UpdateAshFieldEffect
gUnknown_83A54FC:: @ 83A54FC gUnknown_83A54FC:: @ 83A54FC
overworld_frame gUnknown_8396B08, 2, 8, 0 overworld_frame gUnknown_8396B08, 2, 8, 0
@@ -6437,7 +6437,7 @@ gUnknown_83A555C:: @ 83A555C
.4byte gUnknown_83A5550 .4byte gUnknown_83A5550
gUnknown_83A556C:: @ 83A556C gUnknown_83A556C:: @ 83A556C
spr_template 0xFFFF, 0xFFFF, gObjectEventBaseOam_32x32, gUnknown_83A555C, gUnknown_83A54FC, gDummySpriteAffineAnimTable, sub_80DC4F8 spr_template 0xFFFF, 0xFFFF, gObjectEventBaseOam_32x32, gUnknown_83A555C, gUnknown_83A54FC, gDummySpriteAffineAnimTable, UpdateSurfBlobFieldEffect
gUnknown_83A5584:: @ 83A5584 gUnknown_83A5584:: @ 83A5584
overworld_frame gUnknown_8398BA8, 2, 2, 0 overworld_frame gUnknown_8398BA8, 2, 2, 0
@@ -6542,7 +6542,7 @@ gUnknown_83A56E0:: @ 83A56E0
.4byte gUnknown_83A56D8 .4byte gUnknown_83A56D8
gUnknown_83A56F4:: @ 83A56F4 gUnknown_83A56F4:: @ 83A56F4
spr_template 0xFFFF, 0x1004, gObjectEventBaseOam_16x16, gUnknown_83A56E0, gUnknown_83A56B0, gDummySpriteAffineAnimTable, sub_80DBAFC spr_template 0xFFFF, 0x1004, gObjectEventBaseOam_16x16, gUnknown_83A56E0, gUnknown_83A56B0, gDummySpriteAffineAnimTable, UpdateFootprintsTireTracksFieldEffect
gUnknown_83A570C:: @ 83A570C gUnknown_83A570C:: @ 83A570C
overworld_frame gUnknown_839A488, 2, 2, 0 overworld_frame gUnknown_839A488, 2, 2, 0
@@ -6572,7 +6572,7 @@ gUnknown_83A573C:: @ 83A573C
.4byte gUnknown_83A5734 .4byte gUnknown_83A5734
gUnknown_83A5750:: @ 83A5750 gUnknown_83A5750:: @ 83A5750
spr_template 0xFFFF, 0x1004, gObjectEventBaseOam_16x16, gUnknown_83A573C, gUnknown_83A570C, gDummySpriteAffineAnimTable, sub_80DBAFC spr_template 0xFFFF, 0x1004, gObjectEventBaseOam_16x16, gUnknown_83A573C, gUnknown_83A570C, gDummySpriteAffineAnimTable, UpdateFootprintsTireTracksFieldEffect
gUnknown_83A5768:: @ 83A5768 gUnknown_83A5768:: @ 83A5768
overworld_frame gUnknown_839A588, 2, 2, 0 overworld_frame gUnknown_839A588, 2, 2, 0
@@ -6624,7 +6624,7 @@ gUnknown_83A57C8:: @ 83A57C8
.4byte gUnknown_83A57C0 .4byte gUnknown_83A57C0
gUnknown_83A57EC:: @ 83A57EC gUnknown_83A57EC:: @ 83A57EC
spr_template 0xFFFF, 0x1004, gObjectEventBaseOam_16x16, gUnknown_83A57C8, gUnknown_83A5768, gDummySpriteAffineAnimTable, sub_80DBAFC spr_template 0xFFFF, 0x1004, gObjectEventBaseOam_16x16, gUnknown_83A57C8, gUnknown_83A5768, gDummySpriteAffineAnimTable, UpdateFootprintsTireTracksFieldEffect
gUnknown_83A5804:: @ 83A5804 gUnknown_83A5804:: @ 83A5804
overworld_frame gUnknown_839AA48, 2, 2, 0 overworld_frame gUnknown_839AA48, 2, 2, 0
@@ -6670,7 +6670,7 @@ gUnknown_83A5894:: @ 83A5894
.4byte gUnknown_83A5870 .4byte gUnknown_83A5870
gUnknown_83A589C:: @ 83A589C gUnknown_83A589C:: @ 83A589C
spr_template 0xFFFF, 0x1004, gObjectEventBaseOam_Unknown1, gUnknown_83A5894, gUnknown_83A5854, gDummySpriteAffineAnimTable, sub_80DBC2C spr_template 0xFFFF, 0x1004, gObjectEventBaseOam_Unknown1, gUnknown_83A5894, gUnknown_83A5854, gDummySpriteAffineAnimTable, UpdateSplashFieldEffect
gUnknown_83A58B4:: @ 83A58B4 gUnknown_83A58B4:: @ 83A58B4
overworld_frame gUnknown_839ACC8, 2, 1, 0 overworld_frame gUnknown_839ACC8, 2, 1, 0
@@ -6709,7 +6709,7 @@ gUnknown_83A5938:: @ 83A5938
.4byte gUnknown_83A5918 .4byte gUnknown_83A5918
gUnknown_83A593C:: @ 83A593C gUnknown_83A593C:: @ 83A593C
spr_template 0xFFFF, 0x1005, gObjectEventBaseOam_16x16, gUnknown_83A5938, gUnknown_83A58F8, gDummySpriteAffineAnimTable, unc_grass_tall spr_template 0xFFFF, 0x1005, gObjectEventBaseOam_16x16, gUnknown_83A5938, gUnknown_83A58F8, gDummySpriteAffineAnimTable, UpdateLongGrassFieldEffect
gUnknown_83A5954:: @ 83A5954 gUnknown_83A5954:: @ 83A5954
overworld_frame gUnknown_8399488, 2, 2, 0 overworld_frame gUnknown_8399488, 2, 2, 0
@@ -6761,7 +6761,7 @@ gUnknown_83A5A2C:: @ 83A5A2C
.4byte gUnknown_83A5A04 .4byte gUnknown_83A5A04
gUnknown_83A5A30:: @ 83A5A30 gUnknown_83A5A30:: @ 83A5A30
spr_template 0xFFFF, 0x1005, gObjectEventBaseOam_16x16, gUnknown_83A5A2C, gUnknown_83A59BC, gDummySpriteAffineAnimTable, sub_80DCD1C spr_template 0xFFFF, 0x1005, gObjectEventBaseOam_16x16, gUnknown_83A5A2C, gUnknown_83A59BC, gDummySpriteAffineAnimTable, WaitFieldEffectSpriteAnim
gUnknown_83A5A48:: @ 83A5A48 gUnknown_83A5A48:: @ 83A5A48
overworld_frame gUnknown_8399C08, 2, 2, 0 overworld_frame gUnknown_8399C08, 2, 2, 0
@@ -6782,7 +6782,7 @@ gUnknown_83A5A84:: @ 83A5A84
.4byte gUnknown_83A5A68 .4byte gUnknown_83A5A68
gUnknown_83A5A88:: @ 83A5A88 gUnknown_83A5A88:: @ 83A5A88
spr_template 0xFFFF, 0x1005, gObjectEventBaseOam_16x16, gUnknown_83A5A84, gUnknown_83A5A48, gDummySpriteAffineAnimTable, sub_80DCD1C spr_template 0xFFFF, 0x1005, gObjectEventBaseOam_16x16, gUnknown_83A5A84, gUnknown_83A5A48, gDummySpriteAffineAnimTable, WaitFieldEffectSpriteAnim
gUnknown_83A5AA0:: @ 83A5AA0 gUnknown_83A5AA0:: @ 83A5AA0
overworld_frame gUnknown_839A788, 2, 2, 0 overworld_frame gUnknown_839A788, 2, 2, 0
@@ -6801,7 +6801,7 @@ gUnknown_83A5AD4:: @ 83A5AD4
.4byte gUnknown_83A5AC0 .4byte gUnknown_83A5AC0
gUnknown_83A5AD8:: @ 83A5AD8 gUnknown_83A5AD8:: @ 83A5AD8
spr_template 0xFFFF, 0x1004, gObjectEventBaseOam_16x16, gUnknown_83A5AD4, gUnknown_83A5AA0, gDummySpriteAffineAnimTable, sub_80DCD1C spr_template 0xFFFF, 0x1004, gObjectEventBaseOam_16x16, gUnknown_83A5AD4, gUnknown_83A5AA0, gDummySpriteAffineAnimTable, WaitFieldEffectSpriteAnim
gUnknown_83A5AF0:: @ 83A5AF0 gUnknown_83A5AF0:: @ 83A5AF0
overworld_frame gUnknown_839A988, 2, 1, 0 overworld_frame gUnknown_839A988, 2, 1, 0
@@ -6818,7 +6818,7 @@ gUnknown_83A5B18:: @ 83A5B18
.4byte gUnknown_83A5B08 .4byte gUnknown_83A5B08
gUnknown_83A5B1C:: @ 83A5B1C gUnknown_83A5B1C:: @ 83A5B1C
spr_template 0xFFFF, 0x1004, gObjectEventBaseOam_Unknown1, gUnknown_83A5B18, gUnknown_83A5AF0, gDummySpriteAffineAnimTable, sub_80DC86C spr_template 0xFFFF, 0x1004, gObjectEventBaseOam_Unknown1, gUnknown_83A5B18, gUnknown_83A5AF0, gDummySpriteAffineAnimTable, UpdateSandPileFieldEffect
gUnknown_83A5B34:: @ 83A5B34 gUnknown_83A5B34:: @ 83A5B34
overworld_frame gUnknown_839AD88, 2, 2, 0 overworld_frame gUnknown_839AD88, 2, 2, 0
@@ -6839,7 +6839,7 @@ gUnknown_83A5B70:: @ 83A5B70
.4byte gUnknown_83A5B54 .4byte gUnknown_83A5B54
gUnknown_83A5B74:: @ 83A5B74 gUnknown_83A5B74:: @ 83A5B74
spr_template 0xFFFF, 0x1004, gObjectEventBaseOam_16x16, gUnknown_83A5B70, gUnknown_83A5B34, gDummySpriteAffineAnimTable, sub_80DCD1C spr_template 0xFFFF, 0x1004, gObjectEventBaseOam_16x16, gUnknown_83A5B70, gUnknown_83A5B34, gDummySpriteAffineAnimTable, WaitFieldEffectSpriteAnim
gUnknown_83A5B8C:: @ 83A5B8C gUnknown_83A5B8C:: @ 83A5B8C
obj_rot_scal_anim_frame -256, 256, 128, 0 obj_rot_scal_anim_frame -256, 256, 128, 0
@@ -6900,7 +6900,7 @@ gUnknown_83A5CAC:: @ 83A5CAC
.4byte gUnknown_83A5C8C .4byte gUnknown_83A5C8C
gUnknown_83A5CB4:: @ 83A5CB4 gUnknown_83A5CB4:: @ 83A5CB4
spr_template 0xFFFF, 0xFFFF, gObjectEventBaseOam_16x32, gUnknown_83A5CAC, gUnknown_83A5C4C, gDummySpriteAffineAnimTable, sub_80DCAC8 spr_template 0xFFFF, 0xFFFF, gObjectEventBaseOam_16x32, gUnknown_83A5CAC, gUnknown_83A5C4C, gDummySpriteAffineAnimTable, UpdateDisguiseFieldEffect
gUnknown_83A5CCC:: @ 83A5CCC gUnknown_83A5CCC:: @ 83A5CCC
overworld_frame gUnknown_839B708, 2, 4, 0 overworld_frame gUnknown_839B708, 2, 4, 0
@@ -6930,7 +6930,7 @@ gUnknown_83A5D2C:: @ 83A5D2C
.4byte gUnknown_83A5D0C .4byte gUnknown_83A5D0C
gUnknown_83A5D34:: @ 83A5D34 gUnknown_83A5D34:: @ 83A5D34
spr_template 0xFFFF, 0xFFFF, gObjectEventBaseOam_16x32, gUnknown_83A5D2C, gUnknown_83A5CCC, gDummySpriteAffineAnimTable, sub_80DCAC8 spr_template 0xFFFF, 0xFFFF, gObjectEventBaseOam_16x32, gUnknown_83A5D2C, gUnknown_83A5CCC, gDummySpriteAffineAnimTable, UpdateDisguiseFieldEffect
gUnknown_83A5D4C:: @ 83A5D4C gUnknown_83A5D4C:: @ 83A5D4C
overworld_frame gUnknown_839BE08, 2, 4, 0 overworld_frame gUnknown_839BE08, 2, 4, 0
@@ -6942,7 +6942,7 @@ gUnknown_83A5D4C:: @ 83A5D4C
overworld_frame gUnknown_839BE08, 2, 4, 6 overworld_frame gUnknown_839BE08, 2, 4, 6
gUnknown_83A5D84:: @ 83A5D84 gUnknown_83A5D84:: @ 83A5D84
spr_template 0xFFFF, 0xFFFF, gObjectEventBaseOam_16x32, gUnknown_83A5CAC, gUnknown_83A5D4C, gDummySpriteAffineAnimTable, sub_80DCAC8 spr_template 0xFFFF, 0xFFFF, gObjectEventBaseOam_16x32, gUnknown_83A5CAC, gUnknown_83A5D4C, gDummySpriteAffineAnimTable, UpdateDisguiseFieldEffect
gUnknown_83A5D9C:: @ 83A5D9C gUnknown_83A5D9C:: @ 83A5D9C
overworld_frame gUnknown_839D3C8, 8, 8, 0 overworld_frame gUnknown_839D3C8, 8, 8, 0
@@ -6994,7 +6994,7 @@ gUnknown_83A5E34:: @ 83A5E34
.4byte gUnknown_83A5E28 .4byte gUnknown_83A5E28
gUnknown_83A5E38:: @ 83A5E38 gUnknown_83A5E38:: @ 83A5E38
spr_template 0xFFFF, 0x1005, gObjectEventBaseOam_16x16, gUnknown_83A5E34, gUnknown_83A5E18, gDummySpriteAffineAnimTable, sub_80DB8AC spr_template 0xFFFF, 0x1005, gObjectEventBaseOam_16x16, gUnknown_83A5E34, gUnknown_83A5E18, gDummySpriteAffineAnimTable, UpdateShortGrassFieldEffect
gUnknown_83A5E50:: @ 83A5E50 gUnknown_83A5E50:: @ 83A5E50
overworld_frame gUnknown_839C508, 2, 2, 0 overworld_frame gUnknown_839C508, 2, 2, 0
@@ -7007,7 +7007,7 @@ gUnknown_83A5E60:: @ 83A5E60
.4byte gUnknown_83A5E58 .4byte gUnknown_83A5E58
gUnknown_83A5E64:: @ 83A5E64 gUnknown_83A5E64:: @ 83A5E64
spr_template 0xFFFF, 0x1005, gObjectEventBaseOam_16x16, gUnknown_83A5E60, gUnknown_83A5E50, gDummySpriteAffineAnimTable, sub_80DBFF4 spr_template 0xFFFF, 0x1005, gObjectEventBaseOam_16x16, gUnknown_83A5E60, gUnknown_83A5E50, gDummySpriteAffineAnimTable, UpdateHotSpringsWaterFieldEffect
gUnknown_83A5E7C:: @ 83A5E7C gUnknown_83A5E7C:: @ 83A5E7C
overworld_frame gUnknown_839C5A8, 2, 2, 0 overworld_frame gUnknown_839C5A8, 2, 2, 0
@@ -7079,7 +7079,7 @@ gUnknown_83A5FA0:: @ 83A5FA0
.4byte gUnknown_83A5F7C .4byte gUnknown_83A5F7C
gUnknown_83A5FA4:: @ 83A5FA4 gUnknown_83A5FA4:: @ 83A5FA4
spr_template 0xFFFF, 0x1004, gObjectEventBaseOam_16x32, gUnknown_83A5FA0, gUnknown_83A5F3C, gDummySpriteAffineAnimTable, sub_80DC99C spr_template 0xFFFF, 0x1004, gObjectEventBaseOam_16x32, gUnknown_83A5FA0, gUnknown_83A5F3C, gDummySpriteAffineAnimTable, UpdateBubblesFieldEffect
gUnknown_83A5FBC:: @ 83A5FBC gUnknown_83A5FBC:: @ 83A5FBC
overworld_frame gUnknown_839D2A8, 2, 2, 0 overworld_frame gUnknown_839D2A8, 2, 2, 0
@@ -7095,7 +7095,7 @@ gUnknown_83A5FDC:: @ 83A5FDC
.4byte gUnknown_83A5FCC .4byte gUnknown_83A5FCC
gUnknown_83A5FE0:: @ 83A5FE0 gUnknown_83A5FE0:: @ 83A5FE0
spr_template 0xFFFF, 0x100F, gObjectEventBaseOam_16x16, gUnknown_83A5FDC, gUnknown_83A5FBC, gDummySpriteAffineAnimTable, sub_80DCC90 spr_template 0xFFFF, 0x100F, gObjectEventBaseOam_16x16, gUnknown_83A5FDC, gUnknown_83A5FBC, gDummySpriteAffineAnimTable, UpdateSparkleFieldEffect
gUnknown_83A5FF8:: gUnknown_83A5FF8::
obj_pal gUnknown_839D3A8, 0x100F obj_pal gUnknown_839D3A8, 0x100F
-34
View File
@@ -1,34 +0,0 @@
#include "constants/region_map.h"
#include "constants/flags.h"
#include "constants/moves.h"
.include "asm/macros.inc"
.include "constants/constants.inc"
.section .rodata
.align 2
gUnknown_83FECCC:: @ 83FECCC
.2byte 0x0c, 0x1c, 0x2c
gUnknown_83FECD2:: @ 83FECD2
.byte 0, 1, 2, 3
gUnknown_83FECD6:: @ 83FECD6
.2byte 0x0004, 0x0004, 0x0004, 0x0010
.align 2
gUnknown_83FECE0:: @ 83FECE0
.4byte sub_80DBB18
.4byte sub_80DBB3C
.align 2
gUnknown_83FECE8:: @ 83FECE8
.4byte sub_80DC318
.4byte sub_80DC348
.4byte sub_80DC3A8
gUnknown_83FECF4:: @ 83FECF4
.byte 0, 0, 1, 2, 3
.align 1
gUnknown_83FECFA:: @ 83FECFA
.2byte 0x0007, 0x000f
+4 -4
View File
@@ -86,15 +86,15 @@ gFldEffScript_UseCutOnTree:: @ 81D97D0
end end
gFldEffScript_Shadow:: @ 81D97D6 gFldEffScript_Shadow:: @ 81D97D6
callnative oei_shadow callnative FldEff_Shadow
end end
gFldEffScript_TallGrass:: @ 81D97DC gFldEffScript_TallGrass:: @ 81D97DC
loadfadedpal_callnative gUnknown_83A5348, oei_grass_normal loadfadedpal_callnative gUnknown_83A5348, FldEff_TallGrass
end end
gFldEffScript_Ripple:: @ 81D97E6 gFldEffScript_Ripple:: @ 81D97E6
loadfadedpal_callnative gUnknown_83A5348, oei_ripples loadfadedpal_callnative gUnknown_83A5348, FldEff_Ripple
end end
gFldEffScript_FieldMoveShowMon:: @ 81D97F0 gFldEffScript_FieldMoveShowMon:: @ 81D97F0
@@ -129,7 +129,7 @@ gFldEffScript_SandFootprints:: @ 81D9821
end end
gFldEffScript_JumpBigSplash:: @ 81D982B gFldEffScript_JumpBigSplash:: @ 81D982B
loadfadedpal_callnative gUnknown_83A5340, oei_water_drop_tall loadfadedpal_callnative gUnknown_83A5340, FldEff_JumpBigSplash
end end
gFldEffScript_Splash:: @ 81D9835 gFldEffScript_Splash:: @ 81D9835
+11 -4
View File
@@ -33,10 +33,10 @@ u8 GetObjectEventIdByXY(s16, s16);
void ObjectEventSetDirection(struct ObjectEvent *, u8); void ObjectEventSetDirection(struct ObjectEvent *, u8);
u8 sub_808D4F4(void); u8 sub_808D4F4(void);
void RemoveObjectEventByLocalIdAndMap(u8, u8, u8); void RemoveObjectEventByLocalIdAndMap(u8, u8, u8);
void npc_load_two_palettes__no_record(u16, u8); void LoadPlayerObjectReflectionPalette(u16, u8);
void npc_load_two_palettes__and_record(u16, u8); void LoadSpecialObjectReflectionPalette(u16, u8);
void sub_805F7C4(u8, u8, u8, s16, s16); void sub_805F7C4(u8, u8, u8, s16, s16);
void pal_patch_for_npc(u16, u8); void PatchObjectPalette(u16, u8);
void sub_808E16C(s16, s16); void sub_808E16C(s16, s16);
void sub_808F28C(u8 localId, u8 mapNum, u8 mapGroup, u8 decorCat); void sub_808F28C(u8 localId, u8 mapNum, u8 mapGroup, u8 decorCat);
void sub_8092FF0(s16, s16, s16 *, s16 *); void sub_8092FF0(s16, s16, s16 *, s16 *);
@@ -121,6 +121,13 @@ u8 sub_8064194(u8 direction);
u8 sub_80641C0(u8 direction); u8 sub_80641C0(u8 direction);
void sub_805F378(s16 x, s16 y); void sub_805F378(s16 x, s16 y);
void sub_805F724(struct ObjectEvent *, s16 x, s16 y);
u8 CreateCopySpriteAt(struct Sprite * sprite, s16 x, s16 y, u8 subpriority);
u16 GetObjectPaletteTag(u8 paletteIndex);
void SetSpritePosToMapCoords(s16 x, s16 y, s16 *x2, s16 *y2);
void UpdateObjectEventSpriteVisibility(struct Sprite *sprite, bool8 invisible);
u8 ZCoordToPriority(u8 z);
void SetObjectSubpriorityByZCoord(u8 z, struct Sprite * sprite, u8 offset);
// Exported data declarations // Exported data declarations
@@ -131,6 +138,6 @@ extern const struct OamData gObjectEventBaseOam_32x32;
extern const struct UCoords16 gUnknown_83A64C8[]; extern const struct UCoords16 gUnknown_83A64C8[];
extern const u16 gUnknown_8398648[]; extern const u16 gUnknown_8398648[];
extern const u16 gUnknown_8398688[]; extern const u16 gUnknown_8398688[];
void sub_805F724(struct ObjectEvent *, s16 x, s16 y); extern const u8 gReflectionEffectPaletteMap[];
#endif // GUARD_EVENT_OBJECT_MOVEMENT_H #endif // GUARD_EVENT_OBJECT_MOVEMENT_H
+1 -1
View File
@@ -13,7 +13,7 @@
// Exported ROM declarations // Exported ROM declarations
u8 sub_8154228(void); u8 sub_8154228(void);
bool8 sub_8155DA0(struct ObjectEvent *); bool8 sub_80DCBE0(struct ObjectEvent *);
void sub_80DC44C(u8, u8); void sub_80DC44C(u8, u8);
void sub_80DC478(u8, u8); void sub_80DC478(u8, u8);
void StartAshFieldEffect(s16, s16, u16, s16); void StartAshFieldEffect(s16, s16, u16, s16);
+1 -1
View File
@@ -18,7 +18,7 @@ void SetWeatherScreenFadeOut(void);
void sub_807B070(void); void sub_807B070(void);
u8 GetCurrentWeather(void); u8 GetCurrentWeather(void);
void FieldWeather_StartFadingOutCreditsMap(u8, u8, u32); void FieldWeather_StartFadingOutCreditsMap(u8, u8, u32);
void sub_807AA8C(u8 palIdx); void UpdateSpritePaletteWithWeather(u8 palIdx);
void ResetPreservedPalettesInWeather(void); void ResetPreservedPalettesInWeather(void);
void PreservePaletteInWeather(u8 palIdx); void PreservePaletteInWeather(u8 palIdx);
+6 -6
View File
@@ -217,17 +217,17 @@ struct ObjectEvent
/*0x0C*/ struct Coords16 initialCoords; /*0x0C*/ struct Coords16 initialCoords;
/*0x10*/ struct Coords16 currentCoords; /*0x10*/ struct Coords16 currentCoords;
/*0x14*/ struct Coords16 previousCoords; /*0x14*/ struct Coords16 previousCoords;
/*0x18*/ u8 facingDirection:4; //current direction? /*0x18*/ u8 facingDirection:4;
/*0x18*/ u8 placeholder18:4; /*0x18*/ u8 movementDirection:4;
/*0x19*/ union ObjectEventRange range; /*0x19*/ union ObjectEventRange range;
/*0x1A*/ u8 mapobj_unk_1A; /*0x1A*/ u8 fieldEffectSpriteId;
/*0x1B*/ u8 mapobj_unk_1B; /*0x1B*/ u8 mapobj_unk_1B;
/*0x1C*/ u8 mapobj_unk_1C; /*0x1C*/ u8 mapobj_unk_1C;
/*0x1D*/ u8 trainerRange_berryTreeId; /*0x1D*/ u8 trainerRange_berryTreeId;
/*0x1E*/ u8 mapobj_unk_1E; /*0x1E*/ u8 currentMetatileBehavior;
/*0x1F*/ u8 mapobj_unk_1F; /*0x1F*/ u8 previousMetatileBehavior;
/*0x20*/ u8 mapobj_unk_20; /*0x20*/ u8 mapobj_unk_20;
/*0x21*/ u8 mapobj_unk_21; /*0x21*/ u8 directionSequenceIndex;
/*0x22*/ u8 animId; /*0x22*/ u8 animId;
/*size = 0x24*/ /*size = 0x24*/
}; };
+2 -2
View File
@@ -612,8 +612,8 @@ struct QuestLogObjectEvent
/*0x0a*/ s16 x; /*0x0a*/ s16 x;
/*0x0c*/ s16 y; /*0x0c*/ s16 y;
/*0x0e*/ u8 trainerRange_berryTreeId; /*0x0e*/ u8 trainerRange_berryTreeId;
/*0x0f*/ u8 mapobj_unk_1F; /*0x0f*/ u8 previousMetatileBehavior;
/*0x10*/ u8 mapobj_unk_21; /*0x10*/ u8 directionSequenceIndex;
/*0x11*/ u8 animId; /*0x11*/ u8 animId;
}; };
+2 -2
View File
@@ -200,7 +200,7 @@ SECTIONS {
src/cable_car_util.o(.text); src/cable_car_util.o(.text);
src/save.o(.text); src/save.o(.text);
src/mystery_event_script.o(.text); src/mystery_event_script.o(.text);
asm/field_effect_helpers.o(.text); src/field_effect_helpers.o(.text);
src/battle_anim_sound_tasks.o(.text); src/battle_anim_sound_tasks.o(.text);
src/battle_controller_safari.o(.text); src/battle_controller_safari.o(.text);
src/fldeff_sweetscent.o(.text); src/fldeff_sweetscent.o(.text);
@@ -496,7 +496,7 @@ SECTIONS {
src/battle_controller_link_partner.o(.rodata); src/battle_controller_link_partner.o(.rodata);
src/battle_message.o(.rodata); src/battle_message.o(.rodata);
src/save.o(.rodata); src/save.o(.rodata);
data/field_effect_helpers.o(.rodata); src/field_effect_helpers.o(.rodata);
src/battle_controller_safari.o(.rodata); src/battle_controller_safari.o(.rodata);
src/battle_anim_effects_3.o(.rodata); src/battle_anim_effects_3.o(.rodata);
src/learn_move.o(.rodata); src/learn_move.o(.rodata);
+12 -12
View File
@@ -446,7 +446,7 @@ static void FieldEffectScript_LoadFadedPal(const u8 **script)
LoadSpritePalette(spritePalette); LoadSpritePalette(spritePalette);
if (idx == 0xFF) if (idx == 0xFF)
sub_8083598(IndexOfSpritePaletteTag(spritePalette->tag)); sub_8083598(IndexOfSpritePaletteTag(spritePalette->tag));
sub_807AA8C(IndexOfSpritePaletteTag(spritePalette->tag)); UpdateSpritePaletteWithWeather(IndexOfSpritePaletteTag(spritePalette->tag));
*script += sizeof(u32); *script += sizeof(u32);
} }
@@ -1604,7 +1604,7 @@ static bool8 waterfall_4_wait_player_move_probably(struct Task * task, struct Ob
{ {
if (!ObjectEventClearHeldMovementIfFinished(playerObj)) if (!ObjectEventClearHeldMovementIfFinished(playerObj))
return FALSE; return FALSE;
if (MetatileBehavior_IsWaterfall(playerObj->mapobj_unk_1E)) if (MetatileBehavior_IsWaterfall(playerObj->currentMetatileBehavior))
{ {
task->data[0] = 3; task->data[0] = 3;
return TRUE; return TRUE;
@@ -1664,7 +1664,7 @@ static bool8 dive_3_unknown(struct Task * task)
PlayerGetDestCoords(&pos.x, &pos.y); PlayerGetDestCoords(&pos.x, &pos.y);
if (!FieldEffectActiveListContains(FLDEFF_FIELD_MOVE_SHOW_MON)) if (!FieldEffectActiveListContains(FLDEFF_FIELD_MOVE_SHOW_MON))
{ {
dive_warp(&pos, gObjectEvents[gPlayerAvatar.objectEventId].mapobj_unk_1E); dive_warp(&pos, gObjectEvents[gPlayerAvatar.objectEventId].currentMetatileBehavior);
DestroyTask(FindTaskIdByFunc(Task_Dive)); DestroyTask(FindTaskIdByFunc(Task_Dive));
FieldEffectActiveListRemove(FLDEFF_USE_DIVE); FieldEffectActiveListRemove(FLDEFF_USE_DIVE);
} }
@@ -2904,7 +2904,7 @@ static void UseSurfEffect_1(struct Task * task)
gPlayerAvatar.preventStep = TRUE; gPlayerAvatar.preventStep = TRUE;
SetPlayerAvatarStateMask(8); SetPlayerAvatarStateMask(8);
PlayerGetDestCoords(&task->data[1], &task->data[2]); PlayerGetDestCoords(&task->data[1], &task->data[2]);
MoveCoords(gObjectEvents[gPlayerAvatar.objectEventId].placeholder18, &task->data[1], &task->data[2]); MoveCoords(gObjectEvents[gPlayerAvatar.objectEventId].movementDirection, &task->data[1], &task->data[2]);
task->data[0]++; task->data[0]++;
} }
@@ -2940,11 +2940,11 @@ static void UseSurfEffect_4(struct Task * task)
objectEvent = &gObjectEvents[gPlayerAvatar.objectEventId]; objectEvent = &gObjectEvents[gPlayerAvatar.objectEventId];
ObjectEventSetGraphicsId(objectEvent, GetPlayerAvatarGraphicsIdByStateId(2)); ObjectEventSetGraphicsId(objectEvent, GetPlayerAvatarGraphicsIdByStateId(2));
ObjectEventClearHeldMovementIfFinished(objectEvent); ObjectEventClearHeldMovementIfFinished(objectEvent);
ObjectEventSetHeldMovement(objectEvent, sub_80641C0(objectEvent->placeholder18)); ObjectEventSetHeldMovement(objectEvent, sub_80641C0(objectEvent->movementDirection));
gFieldEffectArguments[0] = task->data[1]; gFieldEffectArguments[0] = task->data[1];
gFieldEffectArguments[1] = task->data[2]; gFieldEffectArguments[1] = task->data[2];
gFieldEffectArguments[2] = gPlayerAvatar.objectEventId; gFieldEffectArguments[2] = gPlayerAvatar.objectEventId;
objectEvent->mapobj_unk_1A = FieldEffectStart(FLDEFF_SURF_BLOB); objectEvent->fieldEffectSpriteId = FieldEffectStart(FLDEFF_SURF_BLOB);
task->data[0]++; task->data[0]++;
} }
} }
@@ -2957,8 +2957,8 @@ static void UseSurfEffect_5(struct Task * task)
{ {
gPlayerAvatar.preventStep = FALSE; gPlayerAvatar.preventStep = FALSE;
gPlayerAvatar.flags &= 0xdf; gPlayerAvatar.flags &= 0xdf;
ObjectEventSetHeldMovement(objectEvent, GetFaceDirectionMovementAction(objectEvent->placeholder18)); ObjectEventSetHeldMovement(objectEvent, GetFaceDirectionMovementAction(objectEvent->movementDirection));
sub_80DC44C(objectEvent->mapobj_unk_1A, 1); sub_80DC44C(objectEvent->fieldEffectSpriteId, 1);
UnfreezeObjectEvents(); UnfreezeObjectEvents();
ScriptContext2_Disable(); ScriptContext2_Disable();
FieldEffectActiveListRemove(FLDEFF_USE_SURF); FieldEffectActiveListRemove(FLDEFF_USE_SURF);
@@ -3151,8 +3151,8 @@ static void UseFlyEffect_3(struct Task * task)
struct ObjectEvent * objectEvent = &gObjectEvents[gPlayerAvatar.objectEventId]; struct ObjectEvent * objectEvent = &gObjectEvents[gPlayerAvatar.objectEventId];
if (task->data[15] & 0x08) if (task->data[15] & 0x08)
{ {
sub_80DC44C(objectEvent->mapobj_unk_1A, 2); sub_80DC44C(objectEvent->fieldEffectSpriteId, 2);
sub_80DC478(objectEvent->mapobj_unk_1A, 0); sub_80DC478(objectEvent->fieldEffectSpriteId, 0);
} }
task->data[1] = sub_8087168(); task->data[1] = sub_8087168();
task->data[0]++; task->data[0]++;
@@ -3435,7 +3435,7 @@ static void FlyInEffect_1(struct Task * task)
SetPlayerAvatarStateMask(0x01); SetPlayerAvatarStateMask(0x01);
if (task->data[15] & 0x08) if (task->data[15] & 0x08)
{ {
sub_80DC44C(objectEvent->mapobj_unk_1A, 0); sub_80DC44C(objectEvent->fieldEffectSpriteId, 0);
} }
ObjectEventSetGraphicsId(objectEvent, GetPlayerAvatarGraphicsIdByStateId(2)); ObjectEventSetGraphicsId(objectEvent, GetPlayerAvatarGraphicsIdByStateId(2));
CameraObjectReset2(); CameraObjectReset2();
@@ -3549,7 +3549,7 @@ static void FlyInEffect_7(struct Task * task)
if (task->data[15] & 0x08) if (task->data[15] & 0x08)
{ {
state = 2; state = 2;
sub_80DC44C(objectEvent->mapobj_unk_1A, 1); sub_80DC44C(objectEvent->fieldEffectSpriteId, 1);
} }
ObjectEventSetGraphicsId(objectEvent, GetPlayerAvatarGraphicsIdByStateId(state)); ObjectEventSetGraphicsId(objectEvent, GetPlayerAvatarGraphicsIdByStateId(state));
ObjectEventTurn(objectEvent, DIR_SOUTH); ObjectEventTurn(objectEvent, DIR_SOUTH);
File diff suppressed because it is too large Load Diff
+11 -11
View File
@@ -39,8 +39,8 @@ void SetQuestLogObjectEventsData(struct QuestLog * questLog)
questLog->unk_008[i].x = gObjectEvents[i].currentCoords.x; questLog->unk_008[i].x = gObjectEvents[i].currentCoords.x;
questLog->unk_008[i].y = gObjectEvents[i].currentCoords.y; questLog->unk_008[i].y = gObjectEvents[i].currentCoords.y;
questLog->unk_008[i].trainerRange_berryTreeId = gObjectEvents[i].trainerRange_berryTreeId; questLog->unk_008[i].trainerRange_berryTreeId = gObjectEvents[i].trainerRange_berryTreeId;
questLog->unk_008[i].mapobj_unk_1F = gObjectEvents[i].mapobj_unk_1F; questLog->unk_008[i].previousMetatileBehavior = gObjectEvents[i].previousMetatileBehavior;
questLog->unk_008[i].mapobj_unk_21 = gObjectEvents[i].mapobj_unk_21; questLog->unk_008[i].directionSequenceIndex = gObjectEvents[i].directionSequenceIndex;
questLog->unk_008[i].animId = gObjectEvents[i].animId; questLog->unk_008[i].animId = gObjectEvents[i].animId;
} }
} }
@@ -83,8 +83,8 @@ void sub_815A1F8(const struct QuestLog * questLog, const struct ObjectEventTempl
gObjectEvents[i].currentCoords.x = questLogObjectEvents[i].x; gObjectEvents[i].currentCoords.x = questLogObjectEvents[i].x;
gObjectEvents[i].currentCoords.y = questLogObjectEvents[i].y; gObjectEvents[i].currentCoords.y = questLogObjectEvents[i].y;
gObjectEvents[i].trainerRange_berryTreeId = questLogObjectEvents[i].trainerRange_berryTreeId; gObjectEvents[i].trainerRange_berryTreeId = questLogObjectEvents[i].trainerRange_berryTreeId;
gObjectEvents[i].mapobj_unk_1F = questLogObjectEvents[i].mapobj_unk_1F; gObjectEvents[i].previousMetatileBehavior = questLogObjectEvents[i].previousMetatileBehavior;
gObjectEvents[i].mapobj_unk_21 = questLogObjectEvents[i].mapobj_unk_21; gObjectEvents[i].directionSequenceIndex = questLogObjectEvents[i].directionSequenceIndex;
gObjectEvents[i].animId = questLogObjectEvents[i].animId; gObjectEvents[i].animId = questLogObjectEvents[i].animId;
for (j = 0; j < 0x40; j++) for (j = 0; j < 0x40; j++)
@@ -98,28 +98,28 @@ void sub_815A1F8(const struct QuestLog * questLog, const struct ObjectEventTempl
} }
} }
gObjectEvents[i].mapobj_unk_1E = MapGridGetMetatileBehaviorAt(gObjectEvents[i].currentCoords.x, gObjectEvents[i].currentCoords.y); gObjectEvents[i].currentMetatileBehavior = MapGridGetMetatileBehaviorAt(gObjectEvents[i].currentCoords.x, gObjectEvents[i].currentCoords.y);
if (gObjectEvents[i].mapobj_unk_1F == MapGridGetMetatileBehaviorAt((s16)(gObjectEvents[i].currentCoords.x), (s16)(gObjectEvents[i].currentCoords.y))) if (gObjectEvents[i].previousMetatileBehavior == MapGridGetMetatileBehaviorAt((s16)(gObjectEvents[i].currentCoords.x), (s16)(gObjectEvents[i].currentCoords.y)))
{ {
gObjectEvents[i].previousCoords.x = gObjectEvents[i].currentCoords.x; gObjectEvents[i].previousCoords.x = gObjectEvents[i].currentCoords.x;
gObjectEvents[i].previousCoords.y = gObjectEvents[i].currentCoords.y; gObjectEvents[i].previousCoords.y = gObjectEvents[i].currentCoords.y;
} }
else if (gObjectEvents[i].mapobj_unk_1F == MapGridGetMetatileBehaviorAt((s16)(gObjectEvents[i].currentCoords.x - 1), (s16)(gObjectEvents[i].currentCoords.y))) else if (gObjectEvents[i].previousMetatileBehavior == MapGridGetMetatileBehaviorAt((s16)(gObjectEvents[i].currentCoords.x - 1), (s16)(gObjectEvents[i].currentCoords.y)))
{ {
gObjectEvents[i].previousCoords.x = gObjectEvents[i].currentCoords.x - 1; gObjectEvents[i].previousCoords.x = gObjectEvents[i].currentCoords.x - 1;
gObjectEvents[i].previousCoords.y = gObjectEvents[i].currentCoords.y; gObjectEvents[i].previousCoords.y = gObjectEvents[i].currentCoords.y;
} }
else if (gObjectEvents[i].mapobj_unk_1F == MapGridGetMetatileBehaviorAt((s16)(gObjectEvents[i].currentCoords.x + 1), (s16)(gObjectEvents[i].currentCoords.y))) else if (gObjectEvents[i].previousMetatileBehavior == MapGridGetMetatileBehaviorAt((s16)(gObjectEvents[i].currentCoords.x + 1), (s16)(gObjectEvents[i].currentCoords.y)))
{ {
gObjectEvents[i].previousCoords.x = gObjectEvents[i].currentCoords.x + 1; gObjectEvents[i].previousCoords.x = gObjectEvents[i].currentCoords.x + 1;
gObjectEvents[i].previousCoords.y = gObjectEvents[i].currentCoords.y; gObjectEvents[i].previousCoords.y = gObjectEvents[i].currentCoords.y;
} }
else if (gObjectEvents[i].mapobj_unk_1F == MapGridGetMetatileBehaviorAt((s16)(gObjectEvents[i].currentCoords.x), (s16)(gObjectEvents[i].currentCoords.y - 1))) else if (gObjectEvents[i].previousMetatileBehavior == MapGridGetMetatileBehaviorAt((s16)(gObjectEvents[i].currentCoords.x), (s16)(gObjectEvents[i].currentCoords.y - 1)))
{ {
gObjectEvents[i].previousCoords.x = gObjectEvents[i].currentCoords.x; gObjectEvents[i].previousCoords.x = gObjectEvents[i].currentCoords.x;
gObjectEvents[i].previousCoords.y = gObjectEvents[i].currentCoords.y - 1; gObjectEvents[i].previousCoords.y = gObjectEvents[i].currentCoords.y - 1;
} }
else if (gObjectEvents[i].mapobj_unk_1F == MapGridGetMetatileBehaviorAt((s16)(gObjectEvents[i].currentCoords.x), (s16)(gObjectEvents[i].currentCoords.y + 1))) else if (gObjectEvents[i].previousMetatileBehavior == MapGridGetMetatileBehaviorAt((s16)(gObjectEvents[i].currentCoords.x), (s16)(gObjectEvents[i].currentCoords.y + 1)))
{ {
gObjectEvents[i].previousCoords.x = gObjectEvents[i].currentCoords.x; gObjectEvents[i].previousCoords.x = gObjectEvents[i].currentCoords.x;
gObjectEvents[i].previousCoords.y = gObjectEvents[i].currentCoords.y + 1; gObjectEvents[i].previousCoords.y = gObjectEvents[i].currentCoords.y + 1;
@@ -140,7 +140,7 @@ void sub_815A540(void)
{ {
struct ObjectEvent * objectEvent = &gObjectEvents[gPlayerAvatar.objectEventId]; struct ObjectEvent * objectEvent = &gObjectEvents[gPlayerAvatar.objectEventId];
SetPlayerAvatarTransitionFlags(0x01); SetPlayerAvatarTransitionFlags(0x01);
DestroySprite(&gSprites[objectEvent->mapobj_unk_1A]); DestroySprite(&gSprites[objectEvent->fieldEffectSpriteId]);
} }
} }
} }
+5 -5
View File
@@ -58,7 +58,7 @@ static void sub_81504A8(void)
{ {
struct ObjectEvent *objectEvent = &gObjectEvents[gPlayerAvatar.objectEventId]; struct ObjectEvent *objectEvent = &gObjectEvents[gPlayerAvatar.objectEventId];
sub_81507BC(objectEvent, GetPlayerAvatarGraphicsIdByStateId(0)); sub_81507BC(objectEvent, GetPlayerAvatarGraphicsIdByStateId(0));
ObjectEventTurn(objectEvent, objectEvent->placeholder18); ObjectEventTurn(objectEvent, objectEvent->movementDirection);
SetPlayerAvatarStateMask(PLAYER_AVATAR_FLAG_ON_FOOT); SetPlayerAvatarStateMask(PLAYER_AVATAR_FLAG_ON_FOOT);
} }
@@ -66,7 +66,7 @@ static void sub_81504E8(void)
{ {
struct ObjectEvent *objectEvent = &gObjectEvents[gPlayerAvatar.objectEventId]; struct ObjectEvent *objectEvent = &gObjectEvents[gPlayerAvatar.objectEventId];
sub_81507BC(objectEvent, GetPlayerAvatarGraphicsIdByStateId(1)); sub_81507BC(objectEvent, GetPlayerAvatarGraphicsIdByStateId(1));
ObjectEventTurn(objectEvent, objectEvent->placeholder18); ObjectEventTurn(objectEvent, objectEvent->movementDirection);
SetPlayerAvatarStateMask(PLAYER_AVATAR_FLAG_MACH_BIKE); SetPlayerAvatarStateMask(PLAYER_AVATAR_FLAG_MACH_BIKE);
sub_80BD620(0, 0); sub_80BD620(0, 0);
} }
@@ -125,7 +125,7 @@ static void sub_81505C4(u8 taskId)
sub_81507BC(objectEvent, GetPlayerAvatarGraphicsIdByStateId(0)); sub_81507BC(objectEvent, GetPlayerAvatarGraphicsIdByStateId(0));
else else
sub_81507BC(objectEvent, GetPlayerAvatarGraphicsIdByStateId(2)); sub_81507BC(objectEvent, GetPlayerAvatarGraphicsIdByStateId(2));
ObjectEventTurn(objectEvent, objectEvent->placeholder18); ObjectEventTurn(objectEvent, objectEvent->movementDirection);
sprite->pos2.x = 0; sprite->pos2.x = 0;
sprite->pos2.y = 0; sprite->pos2.y = 0;
ScriptContext2_Disable(); ScriptContext2_Disable();
@@ -143,13 +143,13 @@ static void sub_8150708(void)
if (!(gPlayerAvatar.flags & PLAYER_AVATAR_FLAG_SURFING)) if (!(gPlayerAvatar.flags & PLAYER_AVATAR_FLAG_SURFING))
{ {
sub_81507BC(objectEvent, GetPlayerAvatarGraphicsIdByStateId(2)); sub_81507BC(objectEvent, GetPlayerAvatarGraphicsIdByStateId(2));
ObjectEventTurn(objectEvent, objectEvent->placeholder18); ObjectEventTurn(objectEvent, objectEvent->movementDirection);
SetPlayerAvatarStateMask(PLAYER_AVATAR_FLAG_SURFING); SetPlayerAvatarStateMask(PLAYER_AVATAR_FLAG_SURFING);
gFieldEffectArguments[0] = objectEvent->currentCoords.x; gFieldEffectArguments[0] = objectEvent->currentCoords.x;
gFieldEffectArguments[1] = objectEvent->currentCoords.y; gFieldEffectArguments[1] = objectEvent->currentCoords.y;
gFieldEffectArguments[2] = gPlayerAvatar.objectEventId; gFieldEffectArguments[2] = gPlayerAvatar.objectEventId;
fieldEffectId = FieldEffectStart(FLDEFF_SURF_BLOB); fieldEffectId = FieldEffectStart(FLDEFF_SURF_BLOB);
objectEvent->mapobj_unk_1A = fieldEffectId; objectEvent->fieldEffectSpriteId = fieldEffectId;
sub_80DC44C(fieldEffectId, 1); sub_80DC44C(fieldEffectId, 1);
} }
} }