diff --git a/asm/battle_transition.s b/asm/battle_transition.s index 9709fb54f..6406a3f24 100644 --- a/asm/battle_transition.s +++ b/asm/battle_transition.s @@ -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 diff --git a/asm/braille_puzzles.s b/asm/braille_puzzles.s index ceaddbdf0..095b1b793 100644 --- a/asm/braille_puzzles.s +++ b/asm/braille_puzzles.s @@ -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] diff --git a/asm/field_effect.s b/asm/field_effect.s index 6277c127b..08670f556 100644 --- a/asm/field_effect.s +++ b/asm/field_effect.s @@ -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] diff --git a/asm/field_effect_helpers.s b/asm/field_effect_helpers.s index 04307fde5..76ba35fd2 100644 --- a/asm/field_effect_helpers.s +++ b/asm/field_effect_helpers.s @@ -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] diff --git a/asm/field_ground_effect.s b/asm/field_ground_effect.s index e4c6631d4..7d05dbd98 100644 --- a/asm/field_ground_effect.s +++ b/asm/field_ground_effect.s @@ -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] diff --git a/asm/field_map_obj.s b/asm/field_map_obj.s index f67a70ef0..6d2de17b9 100755 --- a/asm/field_map_obj.s +++ b/asm/field_map_obj.s @@ -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 diff --git a/asm/field_player_avatar.s b/asm/field_player_avatar.s index f21fdacae..3cf5a70da 100644 --- a/asm/field_player_avatar.s +++ b/asm/field_player_avatar.s @@ -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] diff --git a/asm/fldeff_80F9BCC.s b/asm/fldeff_80F9BCC.s index e332a8841..784da5b1f 100644 --- a/asm/fldeff_80F9BCC.s +++ b/asm/fldeff_80F9BCC.s @@ -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 diff --git a/asm/fldeff_emotion.s b/asm/fldeff_emotion.s index dce540074..37096a438 100644 --- a/asm/fldeff_emotion.s +++ b/asm/fldeff_emotion.s @@ -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] diff --git a/asm/fldeff_strength.s b/asm/fldeff_strength.s index 3dc64467e..98764625e 100644 --- a/asm/fldeff_strength.s +++ b/asm/fldeff_strength.s @@ -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 diff --git a/asm/fldeff_sweetscent.s b/asm/fldeff_sweetscent.s index a297dd41d..5c83b455d 100644 --- a/asm/fldeff_sweetscent.s +++ b/asm/fldeff_sweetscent.s @@ -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. - \ No newline at end of file + diff --git a/asm/fldeff_teleport.s b/asm/fldeff_teleport.s index f3dc3ec9b..e4f4bce42 100644 --- a/asm/fldeff_teleport.s +++ b/asm/fldeff_teleport.s @@ -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] diff --git a/asm/map_obj_8097404.s b/asm/map_obj_8097404.s index 1bbf3eff2..4ed8e3bcd 100644 --- a/asm/map_obj_8097404.s +++ b/asm/map_obj_8097404.s @@ -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] diff --git a/asm/rom6.s b/asm/rom6.s index 18de40366..31d385fa9 100644 --- a/asm/rom6.s +++ b/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 diff --git a/asm/rom_80C6FA0.s b/asm/rom_80C6FA0.s index 4c3ada218..d6d3bb375 100644 --- a/asm/rom_80C6FA0.s +++ b/asm/rom_80C6FA0.s @@ -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] diff --git a/asm/rom_818E9AC.s b/asm/rom_818E9AC.s index 8363e1308..0ee8404a6 100644 --- a/asm/rom_818E9AC.s +++ b/asm/rom_818E9AC.s @@ -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] diff --git a/asm/scrcmd.s b/asm/scrcmd.s index ccfa0074a..6d531821c 100644 --- a/asm/scrcmd.s +++ b/asm/scrcmd.s @@ -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 diff --git a/asm/trainer_see.s b/asm/trainer_see.s index ac2528cd8..d57ad1815 100644 --- a/asm/trainer_see.s +++ b/asm/trainer_see.s @@ -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] diff --git a/include/field_effect.h b/include/field_effect.h new file mode 100644 index 000000000..8cf866725 --- /dev/null +++ b/include/field_effect.h @@ -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 diff --git a/src/field_map_obj.c b/src/field_map_obj.c index 04b207d96..16a9e5851 100755 --- a/src/field_map_obj.c +++ b/src/field_map_obj.c @@ -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; +} diff --git a/sym_ewram.txt b/sym_ewram.txt index b9d1f6650..582518bf3 100644 --- a/sym_ewram.txt +++ b/sym_ewram.txt @@ -902,7 +902,7 @@ gUnknown_02038C00: @ 2038C00 gUnknown_02038C04: @ 2038C04 .space 0x4 -gUnknown_02038C08: @ 2038C08 +gFieldEffectSpawnParams: @ 2038C08 .space 0x20 gUnknown_02038C28: @ 2038C28