mirror of
https://github.com/Ninjdai1/pokeemerald.git
synced 2024-12-26 03:34:15 +01:00
BerryTree
This commit is contained in:
parent
9a13b1f34e
commit
9f6a4be9f0
@ -2151,7 +2151,7 @@ sub_8147018: @ 8147018
|
||||
ands r5, r0
|
||||
movs r1, 0
|
||||
mov r8, r4
|
||||
ldr r6, =gUnknown_02038C08
|
||||
ldr r6, =gFieldEffectSpawnParams
|
||||
_08147046:
|
||||
lsls r5, 16
|
||||
asrs r5, 16
|
||||
@ -2221,7 +2221,7 @@ _081470C4:
|
||||
sub_81470D0: @ 81470D0
|
||||
push {r4,r5,lr}
|
||||
ldr r0, =gUnknown_085C8E68
|
||||
ldr r5, =gUnknown_02038C08
|
||||
ldr r5, =gFieldEffectSpawnParams
|
||||
movs r2, 0
|
||||
ldrsh r1, [r5, r2]
|
||||
movs r3, 0x4
|
||||
|
@ -271,7 +271,7 @@ _0817982E:
|
||||
sub_8179834: @ 8179834
|
||||
push {lr}
|
||||
bl brm_get_pokemon_selection
|
||||
ldr r1, =gUnknown_02038C08
|
||||
ldr r1, =gFieldEffectSpawnParams
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
str r0, [r1]
|
||||
@ -367,7 +367,7 @@ _08179912:
|
||||
sub_8179918: @ 8179918
|
||||
push {lr}
|
||||
bl brm_get_pokemon_selection
|
||||
ldr r1, =gUnknown_02038C08
|
||||
ldr r1, =gFieldEffectSpawnParams
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
str r0, [r1]
|
||||
|
@ -1989,7 +1989,7 @@ task00_8084310: @ 80B6A24
|
||||
cmp r0, 0
|
||||
beq _080B6A8A
|
||||
bl brm_get_pokemon_selection
|
||||
ldr r1, =gUnknown_02038C08
|
||||
ldr r1, =gFieldEffectSpawnParams
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
str r0, [r1]
|
||||
@ -3111,7 +3111,7 @@ oei_waterfall: @ 80B734C
|
||||
adds r1, r0
|
||||
lsls r1, 3
|
||||
adds r1, r2
|
||||
ldr r2, =gUnknown_02038C08
|
||||
ldr r2, =gFieldEffectSpawnParams
|
||||
ldr r2, [r2]
|
||||
strh r2, [r1, 0xA]
|
||||
bl _call_via_r4
|
||||
@ -3188,7 +3188,7 @@ waterfall_1_do_anim_probably: @ 80B73F0
|
||||
bne _080B7420
|
||||
adds r0, r5, 0
|
||||
bl FieldObjectClearAnimIfSpecialAnimFinished
|
||||
ldr r1, =gUnknown_02038C08
|
||||
ldr r1, =gFieldEffectSpawnParams
|
||||
movs r2, 0xA
|
||||
ldrsh r0, [r4, r2]
|
||||
str r0, [r1]
|
||||
@ -3304,7 +3304,7 @@ sub_80B74D0: @ 80B74D0
|
||||
adds r1, r0
|
||||
lsls r1, 3
|
||||
adds r1, r2
|
||||
ldr r3, =gUnknown_02038C08
|
||||
ldr r3, =gFieldEffectSpawnParams
|
||||
ldr r2, [r3]
|
||||
strh r2, [r1, 0x26]
|
||||
ldr r2, [r3, 0x4]
|
||||
@ -3363,7 +3363,7 @@ dive_2_unknown: @ 80B7558
|
||||
push {r4,lr}
|
||||
adds r4, r0, 0
|
||||
bl ScriptContext2_Enable
|
||||
ldr r1, =gUnknown_02038C08
|
||||
ldr r1, =gFieldEffectSpawnParams
|
||||
movs r2, 0x26
|
||||
ldrsh r0, [r4, r2]
|
||||
str r0, [r1]
|
||||
@ -3536,7 +3536,7 @@ sub_80B76B8: @ 80B76B8
|
||||
strh r0, [r2, 0x26]
|
||||
movs r0, 0x1
|
||||
strh r0, [r4, 0xE]
|
||||
ldr r3, =gUnknown_02038C08
|
||||
ldr r3, =gFieldEffectSpawnParams
|
||||
movs r5, 0x10
|
||||
ldrsh r0, [r1, r5]
|
||||
str r0, [r3]
|
||||
@ -3835,7 +3835,7 @@ sub_80B791C: @ 80B791C
|
||||
lsls r0, 24
|
||||
cmp r0, 0
|
||||
beq _080B795C
|
||||
ldr r1, =gUnknown_02038C08
|
||||
ldr r1, =gFieldEffectSpawnParams
|
||||
movs r2, 0x10
|
||||
ldrsh r0, [r5, r2]
|
||||
str r0, [r1]
|
||||
@ -3935,7 +3935,7 @@ _080B79E6:
|
||||
thumb_func_start sub_80B79F4
|
||||
sub_80B79F4: @ 80B79F4
|
||||
push {r4,lr}
|
||||
ldr r4, =gUnknown_02038C08
|
||||
ldr r4, =gFieldEffectSpawnParams
|
||||
adds r1, r4, 0x4
|
||||
adds r0, r4, 0
|
||||
movs r2, 0x8
|
||||
@ -4090,7 +4090,7 @@ sub_80B7B18: @ 80B7B18
|
||||
ldrsh r0, [r5, r2]
|
||||
cmp r0, 0x3
|
||||
ble _080B7B6C
|
||||
ldr r1, =gUnknown_02038C08
|
||||
ldr r1, =gFieldEffectSpawnParams
|
||||
movs r2, 0x10
|
||||
ldrsh r0, [r4, r2]
|
||||
str r0, [r1]
|
||||
@ -4222,7 +4222,7 @@ _080B7C2C:
|
||||
thumb_func_start sub_80B7C48
|
||||
sub_80B7C48: @ 80B7C48
|
||||
push {r4,lr}
|
||||
ldr r4, =gUnknown_02038C08
|
||||
ldr r4, =gFieldEffectSpawnParams
|
||||
adds r1, r4, 0x4
|
||||
adds r0, r4, 0
|
||||
movs r2, 0x8
|
||||
@ -5229,7 +5229,7 @@ _080B84BE:
|
||||
bl CreateTask
|
||||
lsls r0, 24
|
||||
lsrs r4, r0, 24
|
||||
ldr r2, =gUnknown_02038C08
|
||||
ldr r2, =gFieldEffectSpawnParams
|
||||
ldr r0, [r2]
|
||||
ldr r1, [r2, 0x4]
|
||||
ldr r2, [r2, 0x8]
|
||||
@ -5252,7 +5252,7 @@ _080B84BE:
|
||||
thumb_func_start sub_80B84F8
|
||||
sub_80B84F8: @ 80B84F8
|
||||
push {r4-r6,lr}
|
||||
ldr r5, =gUnknown_02038C08
|
||||
ldr r5, =gFieldEffectSpawnParams
|
||||
ldr r0, [r5]
|
||||
movs r6, 0x80
|
||||
lsls r6, 24
|
||||
@ -6292,7 +6292,7 @@ sub_80B8D44: @ 80B8D44
|
||||
adds r1, r0
|
||||
lsls r1, 3
|
||||
adds r1, r2
|
||||
ldr r0, =gUnknown_02038C08
|
||||
ldr r0, =gFieldEffectSpawnParams
|
||||
ldr r0, [r0]
|
||||
strh r0, [r1, 0x26]
|
||||
bl sav1_reset_battle_music_maybe
|
||||
@ -6421,7 +6421,7 @@ sub_80B8E60: @ 80B8E60
|
||||
lsls r0, 24
|
||||
cmp r0, 0
|
||||
beq _080B8E96
|
||||
ldr r2, =gUnknown_02038C08
|
||||
ldr r2, =gFieldEffectSpawnParams
|
||||
movs r1, 0x26
|
||||
ldrsh r0, [r4, r1]
|
||||
movs r1, 0x80
|
||||
@ -6473,7 +6473,7 @@ sub_80B8EA8: @ 80B8EA8
|
||||
lsrs r1, 24
|
||||
adds r0, r4, 0
|
||||
bl FieldObjectSetSpecialAnim
|
||||
ldr r1, =gUnknown_02038C08
|
||||
ldr r1, =gFieldEffectSpawnParams
|
||||
movs r2, 0xA
|
||||
ldrsh r0, [r6, r2]
|
||||
str r0, [r1]
|
||||
@ -6704,7 +6704,7 @@ sub_80B90CC: @ 80B90CC
|
||||
strb r0, [r2, 0x5]
|
||||
ldr r0, =sub_80B9128
|
||||
str r0, [r2, 0x1C]
|
||||
ldr r0, =gUnknown_02038C08
|
||||
ldr r0, =gFieldEffectSpawnParams
|
||||
ldr r0, [r0]
|
||||
strh r0, [r2, 0x30]
|
||||
movs r0, 0x9E
|
||||
@ -6793,7 +6793,7 @@ sub_80B91A4: @ 80B91A4
|
||||
adds r1, r0
|
||||
lsls r1, 3
|
||||
adds r1, r2
|
||||
ldr r0, =gUnknown_02038C08
|
||||
ldr r0, =gFieldEffectSpawnParams
|
||||
ldr r0, [r0]
|
||||
strh r0, [r1, 0xA]
|
||||
movs r0, 0
|
||||
@ -6884,7 +6884,7 @@ sub_80B925C: @ 80B925C
|
||||
ldrh r0, [r4, 0x8]
|
||||
adds r0, 0x1
|
||||
strh r0, [r4, 0x8]
|
||||
ldr r1, =gUnknown_02038C08
|
||||
ldr r1, =gFieldEffectSpawnParams
|
||||
movs r2, 0xA
|
||||
ldrsh r0, [r4, r2]
|
||||
str r0, [r1]
|
||||
@ -7922,7 +7922,7 @@ _080B9ACA:
|
||||
sub_80B9ADC: @ 80B9ADC
|
||||
push {r4,lr}
|
||||
sub sp, 0x4
|
||||
ldr r4, =gUnknown_02038C08
|
||||
ldr r4, =gFieldEffectSpawnParams
|
||||
ldrb r0, [r4]
|
||||
ldrb r1, [r4, 0x4]
|
||||
ldrb r2, [r4, 0x8]
|
||||
@ -8343,7 +8343,7 @@ _080B9E24:
|
||||
sub_80B9E28: @ 80B9E28
|
||||
push {r4-r7,lr}
|
||||
sub sp, 0x4
|
||||
ldr r7, =gUnknown_02038C08
|
||||
ldr r7, =gFieldEffectSpawnParams
|
||||
ldrb r0, [r7]
|
||||
ldrb r1, [r7, 0x4]
|
||||
ldrb r2, [r7, 0x8]
|
||||
|
@ -574,7 +574,7 @@ _0815432E:
|
||||
thumb_func_start oei_shadow
|
||||
oei_shadow: @ 8154340
|
||||
push {r4,r5,lr}
|
||||
ldr r5, =gUnknown_02038C08
|
||||
ldr r5, =gFieldEffectSpawnParams
|
||||
ldrb r0, [r5]
|
||||
ldrb r1, [r5, 0x4]
|
||||
ldrb r2, [r5, 0x8]
|
||||
@ -742,7 +742,7 @@ _08154498:
|
||||
oei_grass_normal: @ 81544AC
|
||||
push {r4,r5,lr}
|
||||
sub sp, 0x4
|
||||
ldr r5, =gUnknown_02038C08
|
||||
ldr r5, =gFieldEffectSpawnParams
|
||||
ldrh r1, [r5]
|
||||
mov r0, sp
|
||||
strh r1, [r0]
|
||||
@ -951,7 +951,7 @@ _08154648:
|
||||
thumb_func_start sub_8154658
|
||||
sub_8154658: @ 8154658
|
||||
push {r4,lr}
|
||||
ldr r4, =gUnknown_02038C08
|
||||
ldr r4, =gFieldEffectSpawnParams
|
||||
adds r1, r4, 0x4
|
||||
adds r0, r4, 0
|
||||
movs r2, 0x8
|
||||
@ -1080,7 +1080,7 @@ _0815474C:
|
||||
sub_8154758: @ 8154758
|
||||
push {r4,r5,lr}
|
||||
sub sp, 0x4
|
||||
ldr r5, =gUnknown_02038C08
|
||||
ldr r5, =gFieldEffectSpawnParams
|
||||
ldrh r1, [r5]
|
||||
mov r0, sp
|
||||
strh r1, [r0]
|
||||
@ -1282,7 +1282,7 @@ _081548EA:
|
||||
thumb_func_start sub_81548FC
|
||||
sub_81548FC: @ 81548FC
|
||||
push {r4,lr}
|
||||
ldr r4, =gUnknown_02038C08
|
||||
ldr r4, =gFieldEffectSpawnParams
|
||||
adds r1, r4, 0x4
|
||||
adds r0, r4, 0
|
||||
movs r2, 0x8
|
||||
@ -1336,7 +1336,7 @@ _08154958:
|
||||
thumb_func_start sub_815496C
|
||||
sub_815496C: @ 815496C
|
||||
push {r4-r6,lr}
|
||||
ldr r6, =gUnknown_02038C08
|
||||
ldr r6, =gFieldEffectSpawnParams
|
||||
ldrb r0, [r6]
|
||||
ldrb r1, [r6, 0x4]
|
||||
ldrb r2, [r6, 0x8]
|
||||
@ -1537,7 +1537,7 @@ _08154AF2:
|
||||
thumb_func_start sub_8154B04
|
||||
sub_8154B04: @ 8154B04
|
||||
push {r4,lr}
|
||||
ldr r4, =gUnknown_02038C08
|
||||
ldr r4, =gFieldEffectSpawnParams
|
||||
adds r1, r4, 0x4
|
||||
adds r0, r4, 0
|
||||
movs r2, 0x8
|
||||
@ -1591,7 +1591,7 @@ _08154B62:
|
||||
thumb_func_start sub_8154B78
|
||||
sub_8154B78: @ 8154B78
|
||||
push {r4,r5,lr}
|
||||
ldr r4, =gUnknown_02038C08
|
||||
ldr r4, =gFieldEffectSpawnParams
|
||||
adds r1, r4, 0x4
|
||||
adds r0, r4, 0
|
||||
movs r2, 0x8
|
||||
@ -1646,7 +1646,7 @@ _08154BD8:
|
||||
thumb_func_start sub_8154BEC
|
||||
sub_8154BEC: @ 8154BEC
|
||||
push {r4,r5,lr}
|
||||
ldr r4, =gUnknown_02038C08
|
||||
ldr r4, =gFieldEffectSpawnParams
|
||||
adds r1, r4, 0x4
|
||||
adds r0, r4, 0
|
||||
movs r2, 0x8
|
||||
@ -1777,7 +1777,7 @@ _08154CE4:
|
||||
thumb_func_start sub_8154CEC
|
||||
sub_8154CEC: @ 8154CEC
|
||||
push {r4-r6,lr}
|
||||
ldr r6, =gUnknown_02038C08
|
||||
ldr r6, =gFieldEffectSpawnParams
|
||||
ldrb r0, [r6]
|
||||
ldrb r1, [r6, 0x4]
|
||||
ldrb r2, [r6, 0x8]
|
||||
@ -1922,7 +1922,7 @@ _08154E0A:
|
||||
thumb_func_start sub_8154E1C
|
||||
sub_8154E1C: @ 8154E1C
|
||||
push {r4,lr}
|
||||
ldr r4, =gUnknown_02038C08
|
||||
ldr r4, =gFieldEffectSpawnParams
|
||||
adds r1, r4, 0x4
|
||||
adds r0, r4, 0
|
||||
movs r2, 0x8
|
||||
@ -1976,7 +1976,7 @@ _08154E78:
|
||||
thumb_func_start oei_water_drop_tall
|
||||
oei_water_drop_tall: @ 8154E8C
|
||||
push {r4,lr}
|
||||
ldr r4, =gUnknown_02038C08
|
||||
ldr r4, =gFieldEffectSpawnParams
|
||||
adds r1, r4, 0x4
|
||||
adds r0, r4, 0
|
||||
movs r2, 0x8
|
||||
@ -2030,7 +2030,7 @@ _08154EE8:
|
||||
thumb_func_start sub_8154EFC
|
||||
sub_8154EFC: @ 8154EFC
|
||||
push {r4-r7,lr}
|
||||
ldr r7, =gUnknown_02038C08
|
||||
ldr r7, =gFieldEffectSpawnParams
|
||||
ldrb r0, [r7]
|
||||
ldrb r1, [r7, 0x4]
|
||||
ldrb r2, [r7, 0x8]
|
||||
@ -2193,7 +2193,7 @@ oei_ripples: @ 8155054
|
||||
push {r4,lr}
|
||||
ldr r0, =gFieldEffectObjectTemplatePointers
|
||||
ldr r0, [r0, 0x14]
|
||||
ldr r4, =gUnknown_02038C08
|
||||
ldr r4, =gFieldEffectSpawnParams
|
||||
movs r2, 0
|
||||
ldrsh r1, [r4, r2]
|
||||
movs r3, 0x4
|
||||
@ -2238,7 +2238,7 @@ _081550A0:
|
||||
thumb_func_start sub_81550B4
|
||||
sub_81550B4: @ 81550B4
|
||||
push {r4-r6,lr}
|
||||
ldr r6, =gUnknown_02038C08
|
||||
ldr r6, =gFieldEffectSpawnParams
|
||||
ldrb r0, [r6]
|
||||
ldrb r1, [r6, 0x4]
|
||||
ldrb r2, [r6, 0x8]
|
||||
@ -2393,7 +2393,7 @@ _081551E4:
|
||||
thumb_func_start sub_81551F0
|
||||
sub_81551F0: @ 81551F0
|
||||
push {r4,lr}
|
||||
ldr r4, =gUnknown_02038C08
|
||||
ldr r4, =gFieldEffectSpawnParams
|
||||
adds r1, r4, 0x4
|
||||
adds r0, r4, 0
|
||||
movs r2, 0x8
|
||||
@ -2445,7 +2445,7 @@ _08155248:
|
||||
thumb_func_start sub_815525C
|
||||
sub_815525C: @ 815525C
|
||||
push {r4,lr}
|
||||
ldr r4, =gUnknown_02038C08
|
||||
ldr r4, =gFieldEffectSpawnParams
|
||||
adds r1, r4, 0x4
|
||||
adds r0, r4, 0
|
||||
movs r2, 0x8
|
||||
@ -2497,7 +2497,7 @@ _081552B4:
|
||||
thumb_func_start sub_81552C8
|
||||
sub_81552C8: @ 81552C8
|
||||
push {r4,lr}
|
||||
ldr r4, =gUnknown_02038C08
|
||||
ldr r4, =gFieldEffectSpawnParams
|
||||
adds r1, r4, 0x4
|
||||
adds r0, r4, 0
|
||||
movs r2, 0x8
|
||||
@ -2549,7 +2549,7 @@ _08155320:
|
||||
thumb_func_start sub_8155334
|
||||
sub_8155334: @ 8155334
|
||||
push {r4,lr}
|
||||
ldr r4, =gUnknown_02038C08
|
||||
ldr r4, =gFieldEffectSpawnParams
|
||||
adds r1, r4, 0x4
|
||||
adds r0, r4, 0
|
||||
movs r2, 0x8
|
||||
@ -2603,7 +2603,7 @@ ash: @ 81553A0
|
||||
push {r4,lr}
|
||||
lsls r2, 16
|
||||
lsrs r2, 16
|
||||
ldr r4, =gUnknown_02038C08
|
||||
ldr r4, =gFieldEffectSpawnParams
|
||||
lsls r0, 16
|
||||
asrs r0, 16
|
||||
str r0, [r4]
|
||||
@ -2630,7 +2630,7 @@ ash: @ 81553A0
|
||||
oei_ash: @ 81553D4
|
||||
push {r4,r5,lr}
|
||||
sub sp, 0x4
|
||||
ldr r5, =gUnknown_02038C08
|
||||
ldr r5, =gFieldEffectSpawnParams
|
||||
ldrh r1, [r5]
|
||||
mov r0, sp
|
||||
strh r1, [r0]
|
||||
@ -2809,7 +2809,7 @@ _0815552C:
|
||||
thumb_func_start sub_8155534
|
||||
sub_8155534: @ 8155534
|
||||
push {r4,r5,lr}
|
||||
ldr r4, =gUnknown_02038C08
|
||||
ldr r4, =gFieldEffectSpawnParams
|
||||
adds r1, r4, 0x4
|
||||
adds r0, r4, 0
|
||||
movs r2, 0x8
|
||||
@ -3261,7 +3261,7 @@ _08155888:
|
||||
thumb_func_start sub_8155890
|
||||
sub_8155890: @ 8155890
|
||||
push {r4,lr}
|
||||
ldr r4, =gUnknown_02038C08
|
||||
ldr r4, =gFieldEffectSpawnParams
|
||||
adds r1, r4, 0x4
|
||||
adds r0, r4, 0
|
||||
movs r2, 0x8
|
||||
@ -3315,7 +3315,7 @@ _081558EC:
|
||||
thumb_func_start sub_8155900
|
||||
sub_8155900: @ 8155900
|
||||
push {r4-r7,lr}
|
||||
ldr r7, =gUnknown_02038C08
|
||||
ldr r7, =gFieldEffectSpawnParams
|
||||
ldrb r0, [r7]
|
||||
ldrb r1, [r7, 0x4]
|
||||
ldrb r2, [r7, 0x8]
|
||||
@ -3505,7 +3505,7 @@ _08155A76:
|
||||
thumb_func_start sub_8155A88
|
||||
sub_8155A88: @ 8155A88
|
||||
push {r4,lr}
|
||||
ldr r4, =gUnknown_02038C08
|
||||
ldr r4, =gFieldEffectSpawnParams
|
||||
adds r1, r4, 0x4
|
||||
adds r0, r4, 0
|
||||
movs r2, 0x8
|
||||
@ -3586,7 +3586,7 @@ _08155B20:
|
||||
thumb_func_start sub_8155B2C
|
||||
sub_8155B2C: @ 8155B2C
|
||||
push {r4,lr}
|
||||
ldr r4, =gUnknown_02038C08
|
||||
ldr r4, =gFieldEffectSpawnParams
|
||||
adds r1, r4, 0x4
|
||||
adds r0, r4, 0
|
||||
movs r2, 0x8
|
||||
@ -3689,7 +3689,7 @@ ShowDisguiseFieldEffect: @ 8155BD0
|
||||
lsrs r6, r1, 24
|
||||
lsls r2, 24
|
||||
lsrs r7, r2, 24
|
||||
ldr r5, =gUnknown_02038C08
|
||||
ldr r5, =gFieldEffectSpawnParams
|
||||
ldrb r0, [r5]
|
||||
ldrb r1, [r5, 0x4]
|
||||
ldrb r2, [r5, 0x8]
|
||||
@ -3950,7 +3950,7 @@ _08155DD8:
|
||||
thumb_func_start sub_8155DDC
|
||||
sub_8155DDC: @ 8155DDC
|
||||
push {r4,lr}
|
||||
ldr r4, =gUnknown_02038C08
|
||||
ldr r4, =gFieldEffectSpawnParams
|
||||
ldr r0, [r4]
|
||||
adds r0, 0x7
|
||||
str r0, [r4]
|
||||
|
@ -1166,7 +1166,7 @@ _08096E8C:
|
||||
@ void GroundEffect_SpawnOnTallGrass(struct npc_state *fieldObject, struct obj *object)
|
||||
GroundEffect_SpawnOnTallGrass: @ 8096E90
|
||||
push {lr}
|
||||
ldr r3, =gUnknown_02038C08
|
||||
ldr r3, =gFieldEffectSpawnParams
|
||||
movs r2, 0x10
|
||||
ldrsh r1, [r0, r2]
|
||||
str r1, [r3]
|
||||
@ -1205,7 +1205,7 @@ GroundEffect_SpawnOnTallGrass: @ 8096E90
|
||||
@ void GroundEffect_StepOnTallGrass(struct npc_state *fieldObject, struct obj *object)
|
||||
GroundEffect_StepOnTallGrass: @ 8096EDC
|
||||
push {lr}
|
||||
ldr r3, =gUnknown_02038C08
|
||||
ldr r3, =gFieldEffectSpawnParams
|
||||
movs r2, 0x10
|
||||
ldrsh r1, [r0, r2]
|
||||
str r1, [r3]
|
||||
@ -1244,7 +1244,7 @@ GroundEffect_StepOnTallGrass: @ 8096EDC
|
||||
@ void GroundEffect_SpawnOnLongGrass(struct npc_state *fieldObject, struct obj *object)
|
||||
GroundEffect_SpawnOnLongGrass: @ 8096F28
|
||||
push {lr}
|
||||
ldr r3, =gUnknown_02038C08
|
||||
ldr r3, =gFieldEffectSpawnParams
|
||||
movs r2, 0x10
|
||||
ldrsh r1, [r0, r2]
|
||||
str r1, [r3]
|
||||
@ -1283,7 +1283,7 @@ GroundEffect_SpawnOnLongGrass: @ 8096F28
|
||||
@ void GroundEffect_StepOnLongGrass(struct npc_state *fieldObject, struct obj *object)
|
||||
GroundEffect_StepOnLongGrass: @ 8096F74
|
||||
push {lr}
|
||||
ldr r3, =gUnknown_02038C08
|
||||
ldr r3, =gFieldEffectSpawnParams
|
||||
movs r2, 0x10
|
||||
ldrsh r1, [r0, r2]
|
||||
str r1, [r3]
|
||||
@ -1413,7 +1413,7 @@ DoTracksGroundEffect_Footprints: @ 8097044
|
||||
mov r0, sp
|
||||
movs r2, 0x4
|
||||
bl memcpy
|
||||
ldr r1, =gUnknown_02038C08
|
||||
ldr r1, =gFieldEffectSpawnParams
|
||||
movs r2, 0x14
|
||||
ldrsh r0, [r5, r2]
|
||||
str r0, [r1]
|
||||
@ -1449,7 +1449,7 @@ DoTracksGroundEffect_BikeTireTracks: @ 8097094
|
||||
ldr r0, [r4, 0x14]
|
||||
cmp r1, r0
|
||||
beq _080970D6
|
||||
ldr r2, =gUnknown_02038C08
|
||||
ldr r2, =gFieldEffectSpawnParams
|
||||
movs r1, 0x14
|
||||
ldrsh r0, [r4, r1]
|
||||
str r0, [r2]
|
||||
@ -1520,7 +1520,7 @@ GroundEffect_JumpOnTallGrass: @ 8097110
|
||||
sub sp, 0x4
|
||||
adds r5, r0, 0
|
||||
adds r6, r1, 0
|
||||
ldr r1, =gUnknown_02038C08
|
||||
ldr r1, =gFieldEffectSpawnParams
|
||||
movs r2, 0x10
|
||||
ldrsh r0, [r5, r2]
|
||||
str r0, [r1]
|
||||
@ -1562,7 +1562,7 @@ _0809715A:
|
||||
@ void GroundEffect_JumpOnLongGrass(struct npc_state *fieldObject, struct obj *object)
|
||||
GroundEffect_JumpOnLongGrass: @ 8097168
|
||||
push {lr}
|
||||
ldr r2, =gUnknown_02038C08
|
||||
ldr r2, =gFieldEffectSpawnParams
|
||||
movs r3, 0x10
|
||||
ldrsh r1, [r0, r3]
|
||||
str r1, [r2]
|
||||
@ -1585,7 +1585,7 @@ GroundEffect_JumpOnLongGrass: @ 8097168
|
||||
@ void GroundEffect_JumpOnShallowWater(struct npc_state *fieldObject, struct obj *object)
|
||||
GroundEffect_JumpOnShallowWater: @ 8097190
|
||||
push {r4,lr}
|
||||
ldr r3, =gUnknown_02038C08
|
||||
ldr r3, =gFieldEffectSpawnParams
|
||||
movs r4, 0x10
|
||||
ldrsh r2, [r0, r4]
|
||||
str r2, [r3]
|
||||
@ -1611,7 +1611,7 @@ GroundEffect_JumpOnShallowWater: @ 8097190
|
||||
@ void GroundEffect_JumpOnWater(struct npc_state *fieldObject, struct obj *object)
|
||||
GroundEffect_JumpOnWater: @ 80971C0
|
||||
push {r4,lr}
|
||||
ldr r3, =gUnknown_02038C08
|
||||
ldr r3, =gFieldEffectSpawnParams
|
||||
movs r4, 0x10
|
||||
ldrsh r2, [r0, r4]
|
||||
str r2, [r3]
|
||||
@ -1637,7 +1637,7 @@ GroundEffect_JumpOnWater: @ 80971C0
|
||||
@ void GroundEffect_JumpLandingDust(struct npc_state *fieldObject, struct obj *object)
|
||||
GroundEffect_JumpLandingDust: @ 80971F0
|
||||
push {r4,lr}
|
||||
ldr r3, =gUnknown_02038C08
|
||||
ldr r3, =gFieldEffectSpawnParams
|
||||
movs r4, 0x10
|
||||
ldrsh r2, [r0, r4]
|
||||
str r2, [r3]
|
||||
@ -1685,7 +1685,7 @@ GroundEffect_HotSprings: @ 8097230
|
||||
@ void GroundEffect_Seaweed(struct npc_state *fieldObject, struct obj *object)
|
||||
GroundEffect_Seaweed: @ 8097240
|
||||
push {lr}
|
||||
ldr r2, =gUnknown_02038C08
|
||||
ldr r2, =gFieldEffectSpawnParams
|
||||
movs r3, 0x10
|
||||
ldrsh r1, [r0, r3]
|
||||
str r1, [r2]
|
||||
|
@ -5,304 +5,6 @@
|
||||
|
||||
.text
|
||||
|
||||
thumb_func_start FieldObjectCB_BerryTree
|
||||
FieldObjectCB_BerryTree: @ 808FE2C
|
||||
push {r4,r5,lr}
|
||||
adds r4, r0, 0
|
||||
movs r0, 0x2E
|
||||
ldrsh r1, [r4, r0]
|
||||
lsls r0, r1, 3
|
||||
adds r0, r1
|
||||
lsls r0, 2
|
||||
ldr r1, =gMapObjects
|
||||
adds r5, r0, r1
|
||||
ldrh r1, [r4, 0x3C]
|
||||
movs r0, 0x1
|
||||
ands r0, r1
|
||||
cmp r0, 0
|
||||
bne _0808FE58
|
||||
adds r0, r5, 0
|
||||
adds r1, r4, 0
|
||||
bl get_berry_tree_graphics
|
||||
ldrh r1, [r4, 0x3C]
|
||||
movs r0, 0x1
|
||||
orrs r0, r1
|
||||
strh r0, [r4, 0x3C]
|
||||
_0808FE58:
|
||||
ldr r2, =FieldObjectCB2_BerryTree
|
||||
adds r0, r5, 0
|
||||
adds r1, r4, 0
|
||||
bl FieldObjectStep
|
||||
pop {r4,r5}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.pool
|
||||
thumb_func_end FieldObjectCB_BerryTree
|
||||
|
||||
thumb_func_start FieldObjectCB2_BerryTree
|
||||
FieldObjectCB2_BerryTree: @ 808FE70
|
||||
push {r4,lr}
|
||||
ldr r3, =gUnknown_0850D7A0
|
||||
movs r4, 0x30
|
||||
ldrsh r2, [r1, r4]
|
||||
lsls r2, 2
|
||||
adds r2, r3
|
||||
ldr r2, [r2]
|
||||
bl _call_via_r2
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
pop {r4}
|
||||
pop {r1}
|
||||
bx r1
|
||||
.pool
|
||||
thumb_func_end FieldObjectCB2_BerryTree
|
||||
|
||||
thumb_func_start do_berry_tree_growth_sparkle_1
|
||||
@ bool8 do_berry_tree_growth_sparkle_1(struct npc_state *fieldObject, struct obj *object)
|
||||
do_berry_tree_growth_sparkle_1: @ 808FE90
|
||||
push {r4-r7,lr}
|
||||
adds r4, r0, 0
|
||||
adds r5, r1, 0
|
||||
bl npc_reset
|
||||
ldrb r0, [r4, 0x1]
|
||||
movs r1, 0x20
|
||||
orrs r0, r1
|
||||
strb r0, [r4, 0x1]
|
||||
adds r6, r5, 0
|
||||
adds r6, 0x3E
|
||||
ldrb r0, [r6]
|
||||
movs r1, 0x4
|
||||
orrs r0, r1
|
||||
strb r0, [r6]
|
||||
ldrb r0, [r4, 0x1D]
|
||||
bl GetStageByBerryTreeId
|
||||
lsls r0, 24
|
||||
lsrs r7, r0, 24
|
||||
cmp r7, 0
|
||||
bne _0808FF00
|
||||
ldrh r1, [r5, 0x3C]
|
||||
movs r0, 0x4
|
||||
ands r0, r1
|
||||
cmp r0, 0
|
||||
bne _0808FEF6
|
||||
subs r6, 0x14
|
||||
ldrb r0, [r6]
|
||||
cmp r0, 0x4
|
||||
bne _0808FEF6
|
||||
ldr r1, =gUnknown_02038C08
|
||||
movs r2, 0x10
|
||||
ldrsh r0, [r4, r2]
|
||||
str r0, [r1]
|
||||
movs r2, 0x12
|
||||
ldrsh r0, [r4, r2]
|
||||
str r0, [r1, 0x4]
|
||||
adds r0, r5, 0
|
||||
adds r0, 0x43
|
||||
ldrb r0, [r0]
|
||||
subs r0, 0x1
|
||||
str r0, [r1, 0x8]
|
||||
ldrb r0, [r5, 0x5]
|
||||
lsls r0, 28
|
||||
lsrs r0, 30
|
||||
str r0, [r1, 0xC]
|
||||
movs r0, 0x17
|
||||
bl FieldEffectStart
|
||||
strb r7, [r6]
|
||||
_0808FEF6:
|
||||
movs r0, 0
|
||||
b _0808FF42
|
||||
.pool
|
||||
_0808FF00:
|
||||
ldrb r1, [r4, 0x1]
|
||||
movs r0, 0x21
|
||||
negs r0, r0
|
||||
ands r0, r1
|
||||
strb r0, [r4, 0x1]
|
||||
ldrb r1, [r6]
|
||||
movs r0, 0x5
|
||||
negs r0, r0
|
||||
ands r0, r1
|
||||
strb r0, [r6]
|
||||
subs r0, r7, 0x1
|
||||
lsls r0, 24
|
||||
lsrs r7, r0, 24
|
||||
adds r0, r5, 0
|
||||
adds r0, 0x2A
|
||||
ldrb r0, [r0]
|
||||
cmp r0, r7
|
||||
bne _0808FF3C
|
||||
adds r0, r4, 0
|
||||
adds r1, r5, 0
|
||||
bl get_berry_tree_graphics
|
||||
adds r0, r4, 0
|
||||
adds r1, r5, 0
|
||||
movs r2, 0x39
|
||||
bl FieldObjectSetRegularAnim
|
||||
movs r0, 0x1
|
||||
strh r0, [r5, 0x30]
|
||||
b _0808FF42
|
||||
_0808FF3C:
|
||||
movs r0, 0x2
|
||||
strh r0, [r5, 0x30]
|
||||
movs r0, 0x1
|
||||
_0808FF42:
|
||||
pop {r4-r7}
|
||||
pop {r1}
|
||||
bx r1
|
||||
thumb_func_end do_berry_tree_growth_sparkle_1
|
||||
|
||||
thumb_func_start sub_808FF48
|
||||
@ bool8 sub_808FF48(struct npc_state *fieldObject, struct obj *object)
|
||||
sub_808FF48: @ 808FF48
|
||||
push {r4,lr}
|
||||
adds r4, r1, 0
|
||||
bl FieldObjectExecRegularAnim
|
||||
lsls r0, 24
|
||||
cmp r0, 0
|
||||
bne _0808FF5A
|
||||
movs r0, 0
|
||||
b _0808FF60
|
||||
_0808FF5A:
|
||||
movs r0, 0
|
||||
strh r0, [r4, 0x30]
|
||||
movs r0, 0x1
|
||||
_0808FF60:
|
||||
pop {r4}
|
||||
pop {r1}
|
||||
bx r1
|
||||
thumb_func_end sub_808FF48
|
||||
|
||||
thumb_func_start do_berry_tree_growth_sparkle_2
|
||||
@ bool8 do_berry_tree_growth_sparkle_2(struct npc_state *fieldObject, struct obj *object)
|
||||
do_berry_tree_growth_sparkle_2: @ 808FF68
|
||||
push {r4,lr}
|
||||
ldrb r2, [r0]
|
||||
movs r3, 0x2
|
||||
orrs r2, r3
|
||||
strb r2, [r0]
|
||||
movs r3, 0
|
||||
movs r2, 0x3
|
||||
strh r2, [r1, 0x30]
|
||||
strh r3, [r1, 0x32]
|
||||
ldrh r3, [r1, 0x3C]
|
||||
movs r2, 0x2
|
||||
orrs r2, r3
|
||||
strh r2, [r1, 0x3C]
|
||||
ldr r3, =gUnknown_02038C08
|
||||
movs r4, 0x10
|
||||
ldrsh r2, [r0, r4]
|
||||
str r2, [r3]
|
||||
movs r2, 0x12
|
||||
ldrsh r0, [r0, r2]
|
||||
str r0, [r3, 0x4]
|
||||
adds r0, r1, 0
|
||||
adds r0, 0x43
|
||||
ldrb r0, [r0]
|
||||
subs r0, 0x1
|
||||
str r0, [r3, 0x8]
|
||||
ldrb r0, [r1, 0x5]
|
||||
lsls r0, 28
|
||||
lsrs r0, 30
|
||||
str r0, [r3, 0xC]
|
||||
movs r0, 0x17
|
||||
bl FieldEffectStart
|
||||
movs r0, 0x1
|
||||
pop {r4}
|
||||
pop {r1}
|
||||
bx r1
|
||||
.pool
|
||||
thumb_func_end do_berry_tree_growth_sparkle_2
|
||||
|
||||
thumb_func_start sub_808FFB4
|
||||
@ bool8 sub_808FFB4(struct npc_state *fieldObject, struct obj *object)
|
||||
sub_808FFB4: @ 808FFB4
|
||||
push {r4,lr}
|
||||
adds r3, r0, 0
|
||||
adds r4, r1, 0
|
||||
ldrh r1, [r4, 0x32]
|
||||
adds r1, 0x1
|
||||
strh r1, [r4, 0x32]
|
||||
movs r0, 0x2
|
||||
ands r1, r0
|
||||
lsls r1, 16
|
||||
lsrs r1, 17
|
||||
lsls r1, 5
|
||||
ldrb r2, [r3, 0x1]
|
||||
subs r0, 0x23
|
||||
ands r0, r2
|
||||
orrs r0, r1
|
||||
strb r0, [r3, 0x1]
|
||||
adds r2, r4, 0
|
||||
adds r2, 0x2C
|
||||
ldrb r0, [r2]
|
||||
movs r1, 0x40
|
||||
orrs r0, r1
|
||||
strb r0, [r2]
|
||||
movs r1, 0x32
|
||||
ldrsh r0, [r4, r1]
|
||||
cmp r0, 0x40
|
||||
bgt _0808FFEC
|
||||
movs r0, 0
|
||||
b _0808FFFE
|
||||
_0808FFEC:
|
||||
adds r0, r3, 0
|
||||
adds r1, r4, 0
|
||||
bl get_berry_tree_graphics
|
||||
movs r0, 0x4
|
||||
strh r0, [r4, 0x30]
|
||||
movs r0, 0
|
||||
strh r0, [r4, 0x32]
|
||||
movs r0, 0x1
|
||||
_0808FFFE:
|
||||
pop {r4}
|
||||
pop {r1}
|
||||
bx r1
|
||||
thumb_func_end sub_808FFB4
|
||||
|
||||
thumb_func_start sub_8090004
|
||||
@ bool8 sub_8090004(struct npc_state *fieldObject, struct obj *object)
|
||||
sub_8090004: @ 8090004
|
||||
push {r4,lr}
|
||||
adds r4, r1, 0
|
||||
ldrh r2, [r4, 0x32]
|
||||
adds r2, 0x1
|
||||
strh r2, [r4, 0x32]
|
||||
movs r1, 0x2
|
||||
ands r2, r1
|
||||
lsls r2, 16
|
||||
lsrs r2, 17
|
||||
lsls r2, 5
|
||||
ldrb r3, [r0, 0x1]
|
||||
subs r1, 0x23
|
||||
ands r1, r3
|
||||
orrs r1, r2
|
||||
strb r1, [r0, 0x1]
|
||||
adds r2, r4, 0
|
||||
adds r2, 0x2C
|
||||
ldrb r0, [r2]
|
||||
movs r1, 0x40
|
||||
orrs r0, r1
|
||||
strb r0, [r2]
|
||||
movs r1, 0x32
|
||||
ldrsh r0, [r4, r1]
|
||||
cmp r0, 0x40
|
||||
bgt _0809003A
|
||||
movs r0, 0
|
||||
b _08090048
|
||||
_0809003A:
|
||||
movs r0, 0
|
||||
strh r0, [r4, 0x30]
|
||||
ldrh r1, [r4, 0x3C]
|
||||
subs r0, 0x3
|
||||
ands r0, r1
|
||||
strh r0, [r4, 0x3C]
|
||||
movs r0, 0x1
|
||||
_08090048:
|
||||
pop {r4}
|
||||
pop {r1}
|
||||
bx r1
|
||||
thumb_func_end sub_8090004
|
||||
|
||||
thumb_func_start FieldObjectCB_RandomlyLookNorthOrSouth
|
||||
FieldObjectCB_RandomlyLookNorthOrSouth: @ 8090050
|
||||
push {lr}
|
||||
@ -5217,7 +4919,7 @@ FieldObjectCB_TreeDisguise: @ 809253C
|
||||
cmp r0, 0
|
||||
bne _08092584
|
||||
_08092564:
|
||||
ldr r1, =gUnknown_02038C08
|
||||
ldr r1, =gFieldEffectSpawnParams
|
||||
adds r2, r1, 0x4
|
||||
adds r3, r1, 0
|
||||
adds r3, 0x8
|
||||
@ -5280,7 +4982,7 @@ FieldObjectCB_MountainDisguise: @ 80925B8
|
||||
cmp r0, 0
|
||||
bne _08092600
|
||||
_080925E0:
|
||||
ldr r1, =gUnknown_02038C08
|
||||
ldr r1, =gFieldEffectSpawnParams
|
||||
adds r2, r1, 0x4
|
||||
adds r3, r1, 0
|
||||
adds r3, 0x8
|
||||
@ -12012,7 +11714,7 @@ sub_80954CC: @ 80954CC
|
||||
do_exclamation_mark_bubble_1: @ 80954DC
|
||||
push {r4,lr}
|
||||
adds r4, r1, 0
|
||||
ldr r1, =gUnknown_02038C08
|
||||
ldr r1, =gFieldEffectSpawnParams
|
||||
adds r2, r1, 0x4
|
||||
adds r3, r1, 0
|
||||
adds r3, 0x8
|
||||
@ -12031,7 +11733,7 @@ do_exclamation_mark_bubble_1: @ 80954DC
|
||||
do_exclamation_mark_bubble_2: @ 8095500
|
||||
push {r4,lr}
|
||||
adds r4, r1, 0
|
||||
ldr r1, =gUnknown_02038C08
|
||||
ldr r1, =gFieldEffectSpawnParams
|
||||
adds r2, r1, 0x4
|
||||
adds r3, r1, 0
|
||||
adds r3, 0x8
|
||||
@ -12050,7 +11752,7 @@ do_exclamation_mark_bubble_2: @ 8095500
|
||||
do_heart_bubble: @ 8095524
|
||||
push {r4,lr}
|
||||
adds r4, r1, 0
|
||||
ldr r1, =gUnknown_02038C08
|
||||
ldr r1, =gFieldEffectSpawnParams
|
||||
adds r2, r1, 0x4
|
||||
adds r3, r1, 0
|
||||
adds r3, 0x8
|
||||
|
@ -1522,7 +1522,7 @@ PlayerAvatarTransition_Surfing: @ 808B4D8
|
||||
bl FieldObjectTurn
|
||||
movs r0, 0x8
|
||||
bl SetPlayerAvatarStateMask
|
||||
ldr r1, =gUnknown_02038C08
|
||||
ldr r1, =gFieldEffectSpawnParams
|
||||
movs r2, 0x10
|
||||
ldrsh r0, [r4, r2]
|
||||
str r0, [r1]
|
||||
@ -3517,7 +3517,7 @@ _0808C3F0:
|
||||
lsrs r1, 24
|
||||
adds r0, r4, 0
|
||||
bl FieldObjectSetSpecialAnim
|
||||
ldr r2, =gUnknown_02038C08
|
||||
ldr r2, =gFieldEffectSpawnParams
|
||||
movs r1, 0x10
|
||||
ldrsh r0, [r4, r1]
|
||||
str r0, [r2]
|
||||
|
@ -486,7 +486,7 @@ sub_80F9F78: @ 80F9F78
|
||||
ands r0, r1
|
||||
cmp r0, 0
|
||||
beq _080F9FC0
|
||||
ldr r1, =gUnknown_02038C08
|
||||
ldr r1, =gFieldEffectSpawnParams
|
||||
ldr r0, [r1, 0x4]
|
||||
cmp r0, 0x2
|
||||
beq _080F9FAE
|
||||
@ -517,7 +517,7 @@ _080F9FB6:
|
||||
movs r0, 0x18
|
||||
b _080F9FFC
|
||||
_080F9FC0:
|
||||
ldr r1, =gUnknown_02038C08
|
||||
ldr r1, =gFieldEffectSpawnParams
|
||||
ldr r0, [r1, 0x4]
|
||||
cmp r0, 0x2
|
||||
beq _080F9FEA
|
||||
@ -643,7 +643,7 @@ _080FA0C4:
|
||||
sub_80FA0DC: @ 80FA0DC
|
||||
push {lr}
|
||||
bl brm_get_pokemon_selection
|
||||
ldr r1, =gUnknown_02038C08
|
||||
ldr r1, =gFieldEffectSpawnParams
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
str r0, [r1]
|
||||
@ -701,7 +701,7 @@ sub_80FA13C: @ 80FA13C
|
||||
ldrh r1, [r2, 0x2]
|
||||
lsls r1, 23
|
||||
lsrs r1, 23
|
||||
ldr r4, =gUnknown_02038C08
|
||||
ldr r4, =gFieldEffectSpawnParams
|
||||
ldr r3, [r4, 0x14]
|
||||
adds r1, r3
|
||||
lsls r1, 16
|
||||
@ -778,7 +778,7 @@ sub_80FA1D8: @ 80FA1D8
|
||||
sub_80FA1E8: @ 80FA1E8
|
||||
push {lr}
|
||||
bl brm_get_pokemon_selection
|
||||
ldr r1, =gUnknown_02038C08
|
||||
ldr r1, =gFieldEffectSpawnParams
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
str r0, [r1]
|
||||
@ -836,13 +836,13 @@ sub_80FA248: @ 80FA248
|
||||
ands r2, r0
|
||||
cmp r2, 0x96
|
||||
bne _080FA26A
|
||||
ldr r1, =gUnknown_02038C08
|
||||
ldr r1, =gFieldEffectSpawnParams
|
||||
movs r0, 0
|
||||
str r0, [r1, 0x1C]
|
||||
_080FA26A:
|
||||
cmp r2, 0x9C
|
||||
bne _080FA274
|
||||
ldr r1, =gUnknown_02038C08
|
||||
ldr r1, =gFieldEffectSpawnParams
|
||||
movs r0, 0x2
|
||||
str r0, [r1, 0x1C]
|
||||
_080FA274:
|
||||
@ -858,7 +858,7 @@ _080FA274:
|
||||
ldrh r1, [r2, 0x2]
|
||||
lsls r1, 23
|
||||
lsrs r1, 23
|
||||
ldr r4, =gUnknown_02038C08
|
||||
ldr r4, =gFieldEffectSpawnParams
|
||||
ldr r3, [r4, 0x14]
|
||||
adds r1, r3
|
||||
lsls r1, 16
|
||||
@ -891,7 +891,7 @@ sub_80FA2D8: @ 80FA2D8
|
||||
adds r4, r0, 0
|
||||
movs r0, 0x9B
|
||||
bl PlaySE
|
||||
ldr r0, =gUnknown_02038C08
|
||||
ldr r0, =gFieldEffectSpawnParams
|
||||
ldr r1, [r0, 0x1C]
|
||||
adds r2, r4, 0
|
||||
adds r2, 0x2A
|
||||
@ -917,7 +917,7 @@ sub_80FA304: @ 80FA304
|
||||
asrs r0, 16
|
||||
cmp r0, 0x27
|
||||
ble _080FA32E
|
||||
ldr r0, =gUnknown_02038C08
|
||||
ldr r0, =gFieldEffectSpawnParams
|
||||
ldr r0, [r0, 0x1C]
|
||||
cmp r0, 0
|
||||
beq _080FA322
|
||||
@ -951,7 +951,7 @@ sub_80FA33C: @ 80FA33C
|
||||
sub_80FA34C: @ 80FA34C
|
||||
push {lr}
|
||||
bl brm_get_pokemon_selection
|
||||
ldr r1, =gUnknown_02038C08
|
||||
ldr r1, =gFieldEffectSpawnParams
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
str r0, [r1]
|
||||
@ -1009,7 +1009,7 @@ sub_80FA3AC: @ 80FA3AC
|
||||
ldrh r1, [r2, 0x2]
|
||||
lsls r1, 23
|
||||
lsrs r1, 23
|
||||
ldr r4, =gUnknown_02038C08
|
||||
ldr r4, =gFieldEffectSpawnParams
|
||||
ldr r3, [r4, 0x14]
|
||||
adds r1, r3
|
||||
lsls r1, 16
|
||||
@ -1807,7 +1807,7 @@ sub_80FAA7C: @ 80FAA7C
|
||||
mov r0, sp
|
||||
adds r1, r4, 0
|
||||
bl GetXYCoordsOneStepInFrontOfPlayer
|
||||
ldr r1, =gUnknown_02038C08
|
||||
ldr r1, =gFieldEffectSpawnParams
|
||||
mov r0, sp
|
||||
movs r2, 0
|
||||
ldrsh r0, [r0, r2]
|
||||
@ -1930,7 +1930,7 @@ door_restore_tilemap: @ 80FABA4
|
||||
adds r5, r0, 0
|
||||
movs r0, 0x83
|
||||
bl PlaySE
|
||||
ldr r4, =gUnknown_02038C08
|
||||
ldr r4, =gFieldEffectSpawnParams
|
||||
ldr r0, [r4, 0x14]
|
||||
ldr r1, [r4, 0x18]
|
||||
subs r1, 0x1
|
||||
@ -1953,7 +1953,7 @@ _080FABDC:
|
||||
lsls r2, 2
|
||||
bl MapGridSetMetatileIdAt
|
||||
_080FABEA:
|
||||
ldr r4, =gUnknown_02038C08
|
||||
ldr r4, =gFieldEffectSpawnParams
|
||||
ldr r0, [r4, 0x14]
|
||||
ldr r1, [r4, 0x18]
|
||||
ldr r2, =0x0000020a
|
||||
@ -1988,7 +1988,7 @@ sub_80FAC24: @ 80FAC24
|
||||
strh r0, [r5, 0x2E]
|
||||
b _080FAC54
|
||||
_080FAC38:
|
||||
ldr r4, =gUnknown_02038C08
|
||||
ldr r4, =gFieldEffectSpawnParams
|
||||
ldr r0, [r4, 0x14]
|
||||
ldr r1, [r4, 0x18]
|
||||
ldr r2, =0x00000e8c
|
||||
|
@ -115,7 +115,7 @@ sub_80B46D8: @ 80B46D8
|
||||
orrs r3, r4
|
||||
mov r4, r12
|
||||
strb r3, [r4]
|
||||
ldr r4, =gUnknown_02038C08
|
||||
ldr r4, =gFieldEffectSpawnParams
|
||||
ldr r3, [r4]
|
||||
strh r3, [r0, 0x2E]
|
||||
ldr r3, [r4, 0x4]
|
||||
|
@ -40,7 +40,7 @@ _08145DF2:
|
||||
sub_8145E0C: @ 8145E0C
|
||||
push {lr}
|
||||
bl brm_get_pokemon_selection
|
||||
ldr r1, =gUnknown_02038C08
|
||||
ldr r1, =gFieldEffectSpawnParams
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
str r0, [r1]
|
||||
@ -66,7 +66,7 @@ sub_8145E2C: @ 8145E2C
|
||||
lsrs r0, r2, 16
|
||||
strh r0, [r1, 0x18]
|
||||
strh r2, [r1, 0x1A]
|
||||
ldr r0, =gUnknown_02038C08
|
||||
ldr r0, =gFieldEffectSpawnParams
|
||||
ldr r1, [r0]
|
||||
movs r0, 0x64
|
||||
muls r0, r1
|
||||
|
@ -24,7 +24,7 @@ hm2_sweet_scent: @ 8159F10
|
||||
movs r0, 0x33
|
||||
bl FieldEffectStart
|
||||
bl brm_get_pokemon_selection
|
||||
ldr r1, =gUnknown_02038C08
|
||||
ldr r1, =gFieldEffectSpawnParams
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
str r0, [r1]
|
||||
@ -217,4 +217,4 @@ _0815A0BE:
|
||||
thumb_func_end sub_815A090
|
||||
|
||||
.align 2, 0 @ Don't pad with nop.
|
||||
|
||||
|
||||
|
@ -39,7 +39,7 @@ hm_teleport_run_dp02scr: @ 817C8FC
|
||||
movs r0, 0x3F
|
||||
bl FieldEffectStart
|
||||
bl brm_get_pokemon_selection
|
||||
ldr r1, =gUnknown_02038C08
|
||||
ldr r1, =gFieldEffectSpawnParams
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
str r0, [r1]
|
||||
|
@ -1396,7 +1396,7 @@ oe_exec_and_other_stuff: @ 8097DD0
|
||||
adds r0, r1, 0
|
||||
lsls r4, 24
|
||||
lsrs r4, 24
|
||||
ldr r1, =gUnknown_02038C08
|
||||
ldr r1, =gFieldEffectSpawnParams
|
||||
adds r2, r1, 0x4
|
||||
adds r3, r1, 0
|
||||
adds r3, 0x8
|
||||
@ -1434,7 +1434,7 @@ DoRippleFieldEffect: @ 8097E14
|
||||
adds r4, r1, 0
|
||||
ldrb r0, [r0, 0x5]
|
||||
bl GetFieldObjectGraphicsInfo
|
||||
ldr r2, =gUnknown_02038C08
|
||||
ldr r2, =gFieldEffectSpawnParams
|
||||
movs r3, 0x20
|
||||
ldrsh r1, [r4, r3]
|
||||
str r1, [r2]
|
||||
|
10
asm/rom6.s
10
asm/rom6.s
@ -167,7 +167,7 @@ sub_8135578: @ 8135578
|
||||
cmp r4, 0
|
||||
bne _081355FC
|
||||
bl player_get_direction_lower_nybble
|
||||
ldr r6, =gUnknown_02038C08
|
||||
ldr r6, =gFieldEffectSpawnParams
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
str r0, [r6, 0x4]
|
||||
@ -303,7 +303,7 @@ _081356AC:
|
||||
sub_81356C4: @ 81356C4
|
||||
push {lr}
|
||||
bl brm_get_pokemon_selection
|
||||
ldr r1, =gUnknown_02038C08
|
||||
ldr r1, =gFieldEffectSpawnParams
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
str r0, [r1]
|
||||
@ -380,7 +380,7 @@ hm2_dig: @ 8135760
|
||||
movs r0, 0x26
|
||||
bl FieldEffectStart
|
||||
bl brm_get_pokemon_selection
|
||||
ldr r1, =gUnknown_02038C08
|
||||
ldr r1, =gFieldEffectSpawnParams
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
str r0, [r1]
|
||||
@ -3381,7 +3381,7 @@ hm2_flash: @ 8137178
|
||||
lsls r4, 24
|
||||
lsrs r4, 24
|
||||
bl brm_get_pokemon_selection
|
||||
ldr r1, =gUnknown_02038C08
|
||||
ldr r1, =gFieldEffectSpawnParams
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
str r0, [r1]
|
||||
@ -11039,7 +11039,7 @@ _0813B0F8:
|
||||
ldr r0, =sub_813B160
|
||||
movs r1, 0x8
|
||||
bl CreateTask
|
||||
ldr r3, =gUnknown_02038C08
|
||||
ldr r3, =gFieldEffectSpawnParams
|
||||
movs r0, 0x1
|
||||
str r0, [r3]
|
||||
movs r0, 0x3A
|
||||
|
@ -24444,7 +24444,7 @@ hm2_ruin_valley: @ 80D3A50
|
||||
movs r0, 0x1
|
||||
bl FieldEffectStart
|
||||
bl brm_get_pokemon_selection
|
||||
ldr r1, =gUnknown_02038C08
|
||||
ldr r1, =gFieldEffectSpawnParams
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
str r0, [r1]
|
||||
@ -24480,7 +24480,7 @@ sub_80D3A6C: @ 80D3A6C
|
||||
sub_80D3A9C: @ 80D3A9C
|
||||
push {lr}
|
||||
bl brm_get_pokemon_selection
|
||||
ldr r1, =gUnknown_02038C08
|
||||
ldr r1, =gFieldEffectSpawnParams
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
str r0, [r1]
|
||||
|
@ -74313,7 +74313,7 @@ task_launch_hm_phase_2: @ 81B5750
|
||||
cmp r0, 0x1
|
||||
bne _081B577C
|
||||
bl brm_get_selected_species
|
||||
ldr r1, =gUnknown_02038C08
|
||||
ldr r1, =gFieldEffectSpawnParams
|
||||
lsls r0, 16
|
||||
lsrs r0, 16
|
||||
str r0, [r1]
|
||||
@ -74397,7 +74397,7 @@ _081B57FE:
|
||||
hm_surf_run_dp02scr: @ 81B5804
|
||||
push {lr}
|
||||
bl brm_get_pokemon_selection
|
||||
ldr r1, =gUnknown_02038C08
|
||||
ldr r1, =gFieldEffectSpawnParams
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
str r0, [r1]
|
||||
@ -74501,7 +74501,7 @@ sub_81B58A8: @ 81B58A8
|
||||
hm2_waterfall: @ 81B58D4
|
||||
push {lr}
|
||||
bl brm_get_pokemon_selection
|
||||
ldr r1, =gUnknown_02038C08
|
||||
ldr r1, =gFieldEffectSpawnParams
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
str r0, [r1]
|
||||
@ -74561,7 +74561,7 @@ _081B594E:
|
||||
sub_81B5958: @ 81B5958
|
||||
push {lr}
|
||||
bl brm_get_pokemon_selection
|
||||
ldr r1, =gUnknown_02038C08
|
||||
ldr r1, =gFieldEffectSpawnParams
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
str r0, [r1]
|
||||
@ -74576,7 +74576,7 @@ sub_81B5958: @ 81B5958
|
||||
sub_81B5974: @ 81B5974
|
||||
push {lr}
|
||||
bl sub_809D1E8
|
||||
ldr r1, =gUnknown_02038C08
|
||||
ldr r1, =gFieldEffectSpawnParams
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
str r0, [r1, 0x4]
|
||||
|
@ -4874,7 +4874,7 @@ s9D_set_HM_animation_data: @ 809B7F4
|
||||
lsls r0, 16
|
||||
lsrs r0, 16
|
||||
bl VarGet
|
||||
ldr r1, =gUnknown_02038C08
|
||||
ldr r1, =gFieldEffectSpawnParams
|
||||
lsls r4, 2
|
||||
adds r4, r1
|
||||
lsls r0, 16
|
||||
|
@ -734,7 +734,7 @@ sub_80B417C: @ 80B417C
|
||||
push {r4,r5,lr}
|
||||
adds r5, r1, 0
|
||||
adds r4, r2, 0
|
||||
ldr r1, =gUnknown_02038C08
|
||||
ldr r1, =gFieldEffectSpawnParams
|
||||
adds r2, r1, 0x4
|
||||
adds r3, r1, 0
|
||||
adds r3, 0x8
|
||||
@ -1050,7 +1050,7 @@ sub_80B43E0: @ 80B43E0
|
||||
lsls r0, 24
|
||||
cmp r0, 0
|
||||
beq _080B4426
|
||||
ldr r2, =gUnknown_02038C08
|
||||
ldr r2, =gFieldEffectSpawnParams
|
||||
movs r1, 0x10
|
||||
ldrsh r0, [r4, r1]
|
||||
str r0, [r2]
|
||||
|
80
include/field_effect.h
Normal file
80
include/field_effect.h
Normal file
@ -0,0 +1,80 @@
|
||||
//
|
||||
// Created by Scott Norton on 9/15/17.
|
||||
//
|
||||
|
||||
#ifndef POKEEMERALD_FIELD_EFFECTS_H
|
||||
#define POKEEMERALD_FIELD_EFFECTS_H
|
||||
|
||||
enum FieldEffectScriptIdx
|
||||
{
|
||||
FLDEFF_EXCLAMATION_MARK_ICON_1,
|
||||
FLDEFF_USE_CUT_ON_GRASS,
|
||||
FLDEFF_USE_CUT_ON_TREE,
|
||||
FLDEFF_SHADOW,
|
||||
FLDEFF_TALL_GRASS,
|
||||
FLDEFF_RIPPLE,
|
||||
FLDEFF_FIELD_MOVE_SHOW_MON,
|
||||
FLDEFF_ASH,
|
||||
FLDEFF_SURF_BLOB,
|
||||
FLDEFF_USE_SURF,
|
||||
FLDEFF_DUST,
|
||||
FLDEFF_USE_SECRET_POWER_CAVE,
|
||||
FLDEFF_JUMP_TALL_GRASS,
|
||||
FLDEFF_SAND_FOOTPRINTS,
|
||||
FLDEFF_JUMP_BIG_SPLASH,
|
||||
FLDEFF_SPLASH,
|
||||
FLDEFF_JUMP_SMALL_SPLASH,
|
||||
FLDEFF_LONG_GRASS,
|
||||
FLDEFF_JUMP_LONG_GRASS,
|
||||
FLDEFF_UNKNOWN_19,
|
||||
FLDEFF_UNKNOWN_20,
|
||||
FLDEFF_UNKNOWN_21,
|
||||
FLDEFF_UNKNOWN_22,
|
||||
FLDEFF_BERRY_TREE_GROWTH_SPARKLE,
|
||||
FLDEFF_DEEP_SAND_FOOTPRINTS,
|
||||
FLDEFF_POKECENTER_HEAL,
|
||||
FLDEFF_USE_SECRET_POWER_TREE,
|
||||
FLDEFF_USE_SECRET_POWER_SHRUB,
|
||||
FLDEFF_TREE_DISGUISE,
|
||||
FLDEFF_MOUNTAIN_DISGUISE,
|
||||
FLDEFF_NPCFLY_OUT,
|
||||
FLDEFF_USE_FLY,
|
||||
FLDEFF_FLY_IN,
|
||||
FLDEFF_EXCLAMATION_MARK_ICON_2,
|
||||
FLDEFF_FEET_IN_FLOWING_WATER,
|
||||
FLDEFF_BIKE_TIRE_TRACKS,
|
||||
FLDEFF_SAND_DISGUISE,
|
||||
FLDEFF_USE_ROCK_SMASH,
|
||||
FLDEFF_USE_DIG,
|
||||
FLDEFF_SAND_PILE,
|
||||
FLDEFF_USE_STRENGTH,
|
||||
FLDEFF_SHORT_GRASS,
|
||||
FLDEFF_HOT_SPRINGS_WATER,
|
||||
FLDEFF_USE_WATERFALL,
|
||||
FLDEFF_USE_DIVE,
|
||||
FLDEFF_POKEBALL,
|
||||
FLDEFF_HEART_ICON,
|
||||
FLDEFF_NOP_47,
|
||||
FLDEFF_NOP_48,
|
||||
FLDEFF_POP_OUT_OF_ASH,
|
||||
FLDEFF_LAVARIDGE_GYM_WARP,
|
||||
FLDEFF_SWEET_SCENT,
|
||||
FLDEFF_SAND_PILLAR,
|
||||
FLDEFF_BUBBLES,
|
||||
FLDEFF_SPARKLE,
|
||||
FLDEFF_SECRET_POWER_CAVE,
|
||||
FLDEFF_SECRET_POWER_TREE,
|
||||
FLDEFF_SECRET_POWER_SHRUB,
|
||||
FLDEFF_CUT_GRASS,
|
||||
FLDEFF_FIELD_MOVE_SHOW_MON_INIT,
|
||||
FLDEFF_USE_FLY_ANCIENT_TOMB,
|
||||
FLDEFF_PCTURN_ON,
|
||||
FLDEFF_HALL_OF_FAME_RECORD,
|
||||
FLDEFF_USE_TELEPORT
|
||||
};
|
||||
|
||||
extern u32 gFieldEffectSpawnParams[8];
|
||||
|
||||
u8 FieldEffectStart(u8);
|
||||
|
||||
#endif //POKEEMERALD_FIELD_EFFECTS_H
|
@ -16,6 +16,7 @@
|
||||
#include "field_ground_effect.h"
|
||||
#include "map_obj_8097404.h"
|
||||
#include "mauville_old_man.h"
|
||||
#include "field_effect.h"
|
||||
#include "field_effect_helpers.h"
|
||||
#include "field_map_obj.h"
|
||||
|
||||
@ -1884,7 +1885,7 @@ u8 GetEastWestRunningPastFacingDirection(s16 dx, s16 dy, s16 absdx, s16 absdy)
|
||||
u8 GetNorthEastRunningPastFacingDirection(s16 dx, s16 dy, s16 absdx, s16 absdy)
|
||||
{
|
||||
u8 direction;
|
||||
|
||||
|
||||
direction = GetRegularRunningPastFacingDirection(dx, dy, absdx, absdy);
|
||||
if (direction == DIR_SOUTH)
|
||||
{
|
||||
@ -2272,3 +2273,110 @@ bool8 sub_808FE1C(struct MapObject *mapObject, struct Sprite *sprite)
|
||||
mapObject->mapobj_bit_1 = FALSE;
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
static bool8 FieldObjectCB2_BerryTree(struct MapObject *mapObject, struct Sprite *sprite);
|
||||
extern bool8 (*const gUnknown_0850D7A0[])(struct MapObject *mapObject, struct Sprite *sprite);
|
||||
void FieldObjectCB_BerryTree(struct Sprite *sprite)
|
||||
{
|
||||
struct MapObject *mapObject;
|
||||
|
||||
mapObject = &gMapObjects[sprite->data0];
|
||||
if (!(sprite->data7 & 0x0001))
|
||||
{
|
||||
get_berry_tree_graphics(mapObject, sprite);
|
||||
sprite->data7 |= 0x0001;
|
||||
}
|
||||
FieldObjectStep(mapObject, sprite, FieldObjectCB2_BerryTree);
|
||||
}
|
||||
static bool8 FieldObjectCB2_BerryTree(struct MapObject *mapObject, struct Sprite *sprite)
|
||||
{
|
||||
return gUnknown_0850D7A0[sprite->data1](mapObject, sprite);
|
||||
}
|
||||
|
||||
bool8 do_berry_tree_growth_sparkle_1 (struct MapObject *mapObject, struct Sprite *sprite)
|
||||
{
|
||||
u8 berryStage;
|
||||
|
||||
npc_reset(mapObject, sprite);
|
||||
mapObject->mapobj_bit_13 = TRUE;
|
||||
sprite->invisible = TRUE;
|
||||
berryStage = GetStageByBerryTreeId(mapObject->trainerRange_berryTreeId);
|
||||
if (berryStage == 0)
|
||||
{
|
||||
if (!(sprite->data7 & 0x0004) && sprite->animNum == 4)
|
||||
{
|
||||
gFieldEffectSpawnParams[0] = mapObject->coords2.x;
|
||||
gFieldEffectSpawnParams[1] = mapObject->coords2.y;
|
||||
gFieldEffectSpawnParams[2] = sprite->subpriority - 1;
|
||||
gFieldEffectSpawnParams[3] = sprite->oam.priority;
|
||||
FieldEffectStart(FLDEFF_BERRY_TREE_GROWTH_SPARKLE);
|
||||
sprite->animNum = berryStage;
|
||||
}
|
||||
return FALSE;
|
||||
}
|
||||
mapObject->mapobj_bit_13 = FALSE;
|
||||
sprite->invisible = FALSE;
|
||||
berryStage --;
|
||||
if (sprite->animNum != berryStage)
|
||||
{
|
||||
sprite->data1 = 2;
|
||||
return TRUE;
|
||||
}
|
||||
get_berry_tree_graphics(mapObject, sprite);
|
||||
FieldObjectSetRegularAnim(mapObject, sprite, 0x39);
|
||||
sprite->data1 = 1;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
bool8 sub_808FF48 (struct MapObject *mapObject, struct Sprite *sprite)
|
||||
{
|
||||
if (FieldObjectExecRegularAnim(mapObject, sprite))
|
||||
{
|
||||
sprite->data1 = 0;
|
||||
return TRUE;
|
||||
}
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
bool8 do_berry_tree_growth_sparkle_2 (struct MapObject *mapObject, struct Sprite *sprite)
|
||||
{
|
||||
mapObject->mapobj_bit_1 = TRUE;
|
||||
sprite->data1 = 3;
|
||||
sprite->data2 = 0;
|
||||
sprite->data7 |= 0x0002;
|
||||
gFieldEffectSpawnParams[0] = mapObject->coords2.x;
|
||||
gFieldEffectSpawnParams[1] = mapObject->coords2.y;
|
||||
gFieldEffectSpawnParams[2] = sprite->subpriority - 1;
|
||||
gFieldEffectSpawnParams[3] = sprite->oam.priority;
|
||||
FieldEffectStart(FLDEFF_BERRY_TREE_GROWTH_SPARKLE);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
bool8 sub_808FFB4 (struct MapObject *mapObject, struct Sprite *sprite)
|
||||
{
|
||||
sprite->data2 ++;
|
||||
mapObject->mapobj_bit_13 = (sprite->data2 & 0x02) >> 1;
|
||||
sprite->animPaused = TRUE;
|
||||
if (sprite->data2 > 64)
|
||||
{
|
||||
get_berry_tree_graphics(mapObject, sprite);
|
||||
sprite->data1 = 4;
|
||||
sprite->data2 = 0;
|
||||
return TRUE;
|
||||
}
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
bool8 sub_8090004 (struct MapObject *mapObject, struct Sprite *sprite)
|
||||
{
|
||||
sprite->data2 ++;
|
||||
mapObject->mapobj_bit_13 = (sprite->data2 & 0x02) >> 1;
|
||||
sprite->animPaused = TRUE;
|
||||
if (sprite->data2 > 64)
|
||||
{
|
||||
sprite->data1 = 0;
|
||||
sprite->data7 &= ~0x0002;
|
||||
return TRUE;
|
||||
}
|
||||
return FALSE;
|
||||
}
|
||||
|
@ -902,7 +902,7 @@ gUnknown_02038C00: @ 2038C00
|
||||
gUnknown_02038C04: @ 2038C04
|
||||
.space 0x4
|
||||
|
||||
gUnknown_02038C08: @ 2038C08
|
||||
gFieldEffectSpawnParams: @ 2038C08
|
||||
.space 0x20
|
||||
|
||||
gUnknown_02038C28: @ 2038C28
|
||||
|
Loading…
Reference in New Issue
Block a user