diff options
Diffstat (limited to 'asm/field_effect_helpers.s')
-rw-r--r-- | asm/field_effect_helpers.s | 2436 |
1 files changed, 26 insertions, 2410 deletions
diff --git a/asm/field_effect_helpers.s b/asm/field_effect_helpers.s index 9df9dfd8d..7431acb8a 100644 --- a/asm/field_effect_helpers.s +++ b/asm/field_effect_helpers.s @@ -6,2390 +6,6 @@ .text - thumb_func_start SetUpReflection -SetUpReflection: @ 812680C - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r6, r0, 0 - adds r4, r1, 0 - lsls r5, r2, 24 - lsrs r5, 24 - movs r0, 0x20 - ldrsh r1, [r4, r0] - movs r0, 0x22 - ldrsh r2, [r4, r0] - adds r0, r4, 0 - movs r3, 0x98 - bl obj_unfreeze - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - ldr r0, _081268BC @ =gSprites - adds r7, r1, r0 - ldr r0, _081268C0 @ =sub_81269E0 - str r0, [r7, 0x1C] - ldrb r1, [r7, 0x5] - movs r0, 0xC - orrs r1, r0 - strb r1, [r7, 0x5] - ldr r2, _081268C4 @ =gUnknown_0830FD14 - lsrs r0, r1, 4 - adds r0, r2 - ldrb r0, [r0] - lsls r0, 4 - movs r2, 0xF - ands r1, r2 - orrs r1, r0 - strb r1, [r7, 0x5] - movs r1, 0x3F - adds r1, r7 - mov r8, r1 - ldrb r0, [r1] - movs r1, 0x40 - orrs r0, r1 - mov r1, r8 - strb r0, [r1] - ldr r0, _081268C8 @ =gDummySpriteAnimTable - str r0, [r7, 0x8] - adds r0, r7, 0 - movs r1, 0 - bl StartSpriteAnim - ldr r0, _081268CC @ =gDummySpriteAffineAnimTable - str r0, [r7, 0x10] - mov r1, r8 - ldrb r0, [r1] - movs r1, 0x8 - orrs r0, r1 - mov r1, r8 - strb r0, [r1] - adds r2, r7, 0 - adds r2, 0x42 - ldrb r1, [r2] - movs r0, 0x3F - ands r0, r1 - strb r0, [r2] - ldrh r0, [r4, 0x2E] - strh r0, [r7, 0x2E] - ldrb r0, [r6, 0x8] - strh r0, [r7, 0x30] - strh r5, [r7, 0x3C] - adds r0, r6, 0 - adds r1, r7, 0 - bl npc_pal_op - cmp r5, 0 - bne _081268B2 - ldrb r0, [r7, 0x1] - movs r1, 0x4 - negs r1, r1 - ands r1, r0 - movs r0, 0x1 - orrs r1, r0 - strb r1, [r7, 0x1] -_081268B2: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_081268BC: .4byte gSprites -_081268C0: .4byte sub_81269E0 -_081268C4: .4byte gUnknown_0830FD14 -_081268C8: .4byte gDummySpriteAnimTable -_081268CC: .4byte gDummySpriteAffineAnimTable - thumb_func_end SetUpReflection - - thumb_func_start sub_81268D0 -sub_81268D0: @ 81268D0 - push {lr} - ldrb r0, [r0, 0x5] - bl GetFieldObjectGraphicsInfo - ldrh r0, [r0, 0xA] - subs r0, 0x2 - lsls r0, 16 - asrs r0, 16 - pop {r1} - bx r1 - thumb_func_end sub_81268D0 - - thumb_func_start npc_pal_op -npc_pal_op: @ 81268E4 - push {r4,r5,lr} - sub sp, 0x8 - adds r5, r0, 0 - adds r4, r1, 0 - ldr r1, _0812693C @ =gUnknown_08401E2C - mov r0, sp - movs r2, 0x6 - bl memcpy - movs r0, 0 - strh r0, [r4, 0x32] - ldrb r0, [r5, 0x5] - bl GetFieldObjectGraphicsInfo - ldrb r1, [r0, 0xC] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _08126940 - ldrb r0, [r5, 0x1F] - bl sub_8057450 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - bne _08126926 - ldrb r0, [r5, 0x1E] - bl sub_8057450 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - beq _08126940 -_08126926: - subs r0, 0x1 - lsls r0, 1 - add r0, sp - ldrh r0, [r0] - strh r0, [r4, 0x32] - ldrb r1, [r4, 0x5] - lsrs r1, 4 - adds r0, r5, 0 - bl npc_pal_op_A - b _0812694A - .align 2, 0 -_0812693C: .4byte gUnknown_08401E2C -_08126940: - ldrb r1, [r4, 0x5] - lsrs r1, 4 - adds r0, r5, 0 - bl npc_pal_op_B -_0812694A: - add sp, 0x8 - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end npc_pal_op - - thumb_func_start npc_pal_op_B -npc_pal_op_B: @ 8126954 - push {r4,lr} - lsls r1, 24 - lsrs r4, r1, 24 - ldrb r0, [r0, 0x5] - bl GetFieldObjectGraphicsInfo - adds r2, r0, 0 - ldrh r1, [r2, 0x4] - ldr r0, _08126980 @ =0x000011ff - cmp r1, r0 - beq _081269A8 - ldrb r0, [r2, 0xC] - movs r1, 0xF - ands r1, r0 - cmp r1, 0 - bne _08126984 - ldrh r0, [r2, 0x2] - adds r1, r4, 0 - bl npc_load_two_palettes__no_record - b _081269A2 - .align 2, 0 -_08126980: .4byte 0x000011ff -_08126984: - cmp r1, 0xA - bne _08126992 - ldrh r0, [r2, 0x2] - adds r1, r4, 0 - bl npc_load_two_palettes__and_record - b _081269A2 -_08126992: - adds r0, r4, 0 - bl npc_paltag_by_palslot - lsls r0, 16 - lsrs r0, 16 - adds r1, r4, 0 - bl pal_patch_for_npc -_081269A2: - adds r0, r4, 0 - bl sub_807D78C -_081269A8: - pop {r4} - pop {r0} - bx r0 - thumb_func_end npc_pal_op_B - - thumb_func_start npc_pal_op_A -npc_pal_op_A: @ 81269B0 - push {r4,lr} - lsls r1, 24 - lsrs r4, r1, 24 - ldrb r0, [r0, 0x5] - bl GetFieldObjectGraphicsInfo - adds r2, r0, 0 - ldrh r1, [r2, 0x4] - ldr r0, _081269DC @ =0x000011ff - cmp r1, r0 - beq _081269D4 - adds r0, r1, 0 - adds r1, r4, 0 - bl pal_patch_for_npc - adds r0, r4, 0 - bl sub_807D78C -_081269D4: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_081269DC: .4byte 0x000011ff - thumb_func_end npc_pal_op_A - - thumb_func_start sub_81269E0 -sub_81269E0: @ 81269E0 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - adds r4, r0, 0 - movs r0, 0x2E - ldrsh r1, [r4, r0] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, _08126A28 @ =gMapObjects - adds r7, r0, r1 - ldrb r1, [r7, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _08126A2C @ =gSprites - adds r5, r0, r1 - ldr r0, [r7] - ldr r1, _08126A30 @ =0x00020001 - ands r0, r1 - cmp r0, r1 - bne _08126A18 - ldrb r1, [r7, 0x8] - movs r2, 0x30 - ldrsh r0, [r4, r2] - cmp r1, r0 - beq _08126A34 -_08126A18: - adds r2, r4, 0 - adds r2, 0x3E - ldrb r1, [r2] - movs r0, 0x2 - negs r0, r0 - ands r0, r1 - strb r0, [r2] - b _08126B3E - .align 2, 0 -_08126A28: .4byte gMapObjects -_08126A2C: .4byte gSprites -_08126A30: .4byte 0x00020001 -_08126A34: - ldr r1, _08126B4C @ =gUnknown_0830FD14 - ldrb r0, [r5, 0x5] - lsrs r0, 4 - adds r0, r1 - ldrb r1, [r0] - lsls r1, 4 - ldrb r2, [r4, 0x5] - movs r0, 0xF - ands r0, r2 - orrs r0, r1 - strb r0, [r4, 0x5] - ldrb r1, [r5, 0x1] - lsrs r1, 6 - lsls r1, 6 - ldrb r2, [r4, 0x1] - movs r3, 0x3F - adds r0, r3, 0 - ands r0, r2 - orrs r0, r1 - strb r0, [r4, 0x1] - ldrb r0, [r5, 0x3] - lsrs r0, 6 - lsls r0, 6 - ldrb r2, [r4, 0x3] - adds r1, r3, 0 - ands r1, r2 - orrs r1, r0 - strb r1, [r4, 0x3] - ldrb r0, [r5, 0x3] - lsls r0, 26 - lsrs r0, 27 - movs r2, 0x10 - orrs r0, r2 - lsls r0, 1 - subs r2, 0x4F - mov r9, r2 - ands r1, r2 - orrs r1, r0 - strb r1, [r4, 0x3] - ldrh r1, [r5, 0x4] - lsls r1, 22 - lsrs r1, 22 - ldrh r2, [r4, 0x4] - ldr r0, _08126B50 @ =0xfffffc00 - ands r0, r2 - orrs r0, r1 - strh r0, [r4, 0x4] - ldr r0, [r5, 0x18] - str r0, [r4, 0x18] - adds r0, r5, 0 - adds r0, 0x42 - ldrb r0, [r0] - lsls r0, 26 - lsrs r0, 26 - adds r2, r4, 0 - adds r2, 0x42 - ands r3, r0 - ldrb r1, [r2] - movs r0, 0x40 - negs r0, r0 - ands r0, r1 - orrs r0, r3 - strb r0, [r2] - movs r0, 0x3E - adds r0, r5 - mov r8, r0 - ldrb r0, [r0] - adds r6, r4, 0 - adds r6, 0x3E - movs r1, 0x4 - ands r1, r0 - ldrb r2, [r6] - movs r0, 0x5 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r6] - ldrh r0, [r5, 0x20] - strh r0, [r4, 0x20] - adds r0, r7, 0 - bl sub_81268D0 - ldrh r1, [r5, 0x22] - adds r0, r1 - ldrh r1, [r4, 0x32] - adds r1, r0 - strh r1, [r4, 0x22] - adds r0, r5, 0 - adds r0, 0x28 - ldrb r1, [r0] - adds r0, r4, 0 - adds r0, 0x28 - strb r1, [r0] - adds r0, r5, 0 - adds r0, 0x29 - ldrb r0, [r0] - adds r1, r4, 0 - adds r1, 0x29 - strb r0, [r1] - ldrh r0, [r5, 0x24] - strh r0, [r4, 0x24] - ldrh r0, [r5, 0x26] - negs r0, r0 - strh r0, [r4, 0x26] - mov r2, r8 - ldrb r0, [r2] - movs r1, 0x2 - ands r1, r0 - ldrb r2, [r6] - movs r0, 0x3 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r6] - movs r1, 0x3C - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _08126B3E - ldrb r0, [r4, 0x3] - mov r2, r9 - ands r2, r0 - strb r2, [r4, 0x3] - ldrb r0, [r5, 0x3] - lsls r0, 26 - lsrs r0, 27 - movs r1, 0x8 - ands r0, r1 - cmp r0, 0 - beq _08126B3E - movs r1, 0x2 - adds r0, r2, 0 - orrs r0, r1 - strb r0, [r4, 0x3] -_08126B3E: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08126B4C: .4byte gUnknown_0830FD14 -_08126B50: .4byte 0xfffffc00 - thumb_func_end sub_81269E0 - - thumb_func_start sub_8126B54 -sub_8126B54: @ 8126B54 - push {r4,lr} - ldr r0, _08126B9C @ =gFieldEffectObjectTemplatePointers - ldr r0, [r0, 0x20] - movs r1, 0 - movs r2, 0 - movs r3, 0x52 - bl CreateSpriteAtEnd - lsls r0, 24 - lsrs r0, 24 - adds r4, r0, 0 - cmp r0, 0x40 - beq _08126B92 - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - ldr r0, _08126BA0 @ =gSprites - adds r1, r0 - ldrb r2, [r1, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r2 - movs r3, 0x4 - orrs r0, r3 - strb r0, [r1, 0x5] - adds r1, 0x3E - ldrb r0, [r1] - movs r2, 0x2 - orrs r0, r2 - orrs r0, r3 - strb r0, [r1] -_08126B92: - adds r0, r4, 0 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_08126B9C: .4byte gFieldEffectObjectTemplatePointers -_08126BA0: .4byte gSprites - thumb_func_end sub_8126B54 - - thumb_func_start objid_set_invisible -objid_set_invisible: @ 8126BA4 - lsls r0, 24 - lsrs r0, 24 - ldr r2, _08126BC0 @ =gSprites - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - adds r1, 0x3E - ldrb r0, [r1] - movs r2, 0x4 - orrs r0, r2 - strb r0, [r1] - bx lr - .align 2, 0 -_08126BC0: .4byte gSprites - thumb_func_end objid_set_invisible - - thumb_func_start sub_8126BC4 -sub_8126BC4: @ 8126BC4 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x4 - lsls r0, 24 - lsrs r5, r0, 24 - lsls r1, 24 - lsrs r1, 24 - mov r8, r1 - lsls r2, 16 - lsrs r7, r2, 16 - lsls r3, 16 - lsrs r6, r3, 16 - lsls r0, r5, 4 - adds r0, r5 - lsls r0, 2 - ldr r1, _08126C68 @ =gSprites - adds r2, r0, r1 - adds r0, r2, 0 - adds r0, 0x3E - ldrb r1, [r0] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - bne _08126C0E - movs r0, 0x2E - ldrsh r1, [r2, r0] - lsls r0, r7, 16 - asrs r0, 16 - cmp r1, r0 - bne _08126C0E - movs r0, 0x30 - ldrsh r1, [r2, r0] - lsls r0, r6, 16 - asrs r0, 16 - cmp r1, r0 - beq _08126C5A -_08126C0E: - lsls r0, r7, 16 - asrs r0, 16 - lsls r1, r6, 16 - asrs r1, 16 - mov r4, sp - adds r4, 0x2 - mov r2, sp - adds r3, r4, 0 - bl sub_80603CC - lsls r0, r5, 4 - adds r0, r5 - lsls r0, 2 - ldr r1, _08126C68 @ =gSprites - adds r2, r0, r1 - mov r0, sp - ldrh r0, [r0] - adds r0, 0x8 - strh r0, [r2, 0x20] - ldrh r0, [r4] - adds r0, 0x8 - strh r0, [r2, 0x22] - adds r3, r2, 0 - adds r3, 0x3E - ldrb r1, [r3] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r3] - strh r7, [r2, 0x2E] - strh r6, [r2, 0x30] - mov r1, r8 - subs r1, 0x1 - lsls r1, 24 - lsrs r1, 24 - adds r0, r2, 0 - bl StartSpriteAnim -_08126C5A: - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08126C68: .4byte gSprites - thumb_func_end sub_8126BC4 - - thumb_func_start FldEff_Shadow -FldEff_Shadow: @ 8126C6C - push {r4,r5,lr} - ldr r5, _08126CF8 @ =gUnknown_0202FF84 - ldrb r0, [r5] - ldrb r1, [r5, 0x4] - ldrb r2, [r5, 0x8] - bl GetFieldObjectIdByLocalIdAndMap - lsls r0, 24 - lsrs r0, 24 - ldr r2, _08126CFC @ =gMapObjects - lsls r1, r0, 3 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - ldrb r0, [r1, 0x5] - bl GetFieldObjectGraphicsInfo - adds r4, r0, 0 - ldr r2, _08126D00 @ =gFieldEffectObjectTemplatePointers - ldr r1, _08126D04 @ =gUnknown_08401E32 - ldrb r0, [r4, 0xC] - lsls r0, 26 - lsrs r0, 30 - adds r0, r1 - ldrb r0, [r0] - lsls r0, 2 - adds r0, r2 - ldr r0, [r0] - movs r1, 0 - movs r2, 0 - movs r3, 0x94 - bl CreateSpriteAtEnd - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x40 - beq _08126CF0 - ldr r0, _08126D08 @ =gSprites - lsls r2, r1, 4 - adds r2, r1 - lsls r2, 2 - adds r2, r0 - adds r3, r2, 0 - adds r3, 0x3E - ldrb r0, [r3] - movs r1, 0x2 - orrs r0, r1 - strb r0, [r3] - ldr r0, [r5] - strh r0, [r2, 0x2E] - ldr r0, [r5, 0x4] - strh r0, [r2, 0x30] - ldr r0, [r5, 0x8] - strh r0, [r2, 0x32] - ldrh r1, [r4, 0xA] - lsls r1, 16 - asrs r1, 17 - ldr r3, _08126D0C @ =gUnknown_08401E36 - ldrb r0, [r4, 0xC] - lsls r0, 26 - lsrs r0, 30 - lsls r0, 1 - adds r0, r3 - ldrh r0, [r0] - subs r1, r0 - strh r1, [r2, 0x34] -_08126CF0: - movs r0, 0 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_08126CF8: .4byte gUnknown_0202FF84 -_08126CFC: .4byte gMapObjects -_08126D00: .4byte gFieldEffectObjectTemplatePointers -_08126D04: .4byte gUnknown_08401E32 -_08126D08: .4byte gSprites -_08126D0C: .4byte gUnknown_08401E36 - thumb_func_end FldEff_Shadow - - thumb_func_start oamc_shadow -oamc_shadow: @ 8126D10 - push {r4,r5,lr} - sub sp, 0x4 - adds r5, r0, 0 - ldrh r0, [r5, 0x2E] - lsls r0, 24 - lsrs r0, 24 - ldrh r1, [r5, 0x30] - lsls r1, 24 - lsrs r1, 24 - ldrh r2, [r5, 0x32] - lsls r2, 24 - lsrs r2, 24 - mov r3, sp - bl TryGetFieldObjectIdByLocalIdAndMap - lsls r0, 24 - cmp r0, 0 - beq _08126D3E - adds r0, r5, 0 - movs r1, 0x3 - bl FieldEffectStop - b _08126DC4 -_08126D3E: - mov r0, sp - ldrb r1, [r0] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, _08126DCC @ =gMapObjects - adds r4, r0, r1 - ldrb r0, [r4, 0x4] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - ldr r0, _08126DD0 @ =gSprites - adds r1, r0 - ldrb r0, [r1, 0x5] - movs r2, 0xC - ands r2, r0 - ldrb r3, [r5, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r3 - orrs r0, r2 - strb r0, [r5, 0x5] - ldrh r0, [r1, 0x20] - strh r0, [r5, 0x20] - ldrh r0, [r5, 0x34] - ldrh r1, [r1, 0x22] - adds r0, r1 - strh r0, [r5, 0x22] - ldr r0, [r4] - ldr r1, _08126DD4 @ =0x00400001 - ands r0, r1 - cmp r0, r1 - bne _08126DBC - ldrb r0, [r4, 0x1E] - bl MetatileBehavior_IsPokeGrass - lsls r0, 24 - cmp r0, 0 - bne _08126DBC - ldrb r0, [r4, 0x1E] - bl MetatileBehavior_IsSurfableWaterOrUnderwater - lsls r0, 24 - cmp r0, 0 - bne _08126DBC - ldrb r0, [r4, 0x1F] - bl MetatileBehavior_IsSurfableWaterOrUnderwater - lsls r0, 24 - cmp r0, 0 - bne _08126DBC - ldrb r0, [r4, 0x1E] - bl MetatileBehavior_IsReflective - lsls r0, 24 - cmp r0, 0 - bne _08126DBC - ldrb r0, [r4, 0x1F] - bl MetatileBehavior_IsReflective - lsls r0, 24 - cmp r0, 0 - beq _08126DC4 -_08126DBC: - adds r0, r5, 0 - movs r1, 0x3 - bl FieldEffectStop -_08126DC4: - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08126DCC: .4byte gMapObjects -_08126DD0: .4byte gSprites -_08126DD4: .4byte 0x00400001 - thumb_func_end oamc_shadow - - thumb_func_start FldEff_TallGrass -FldEff_TallGrass: @ 8126DD8 - push {r4,r5,lr} - sub sp, 0x4 - ldr r5, _08126E70 @ =gUnknown_0202FF84 - ldrh r1, [r5] - mov r0, sp - strh r1, [r0] - ldrh r0, [r5, 0x4] - mov r4, sp - adds r4, 0x2 - strh r0, [r4] - mov r0, sp - adds r1, r4, 0 - movs r2, 0x8 - movs r3, 0x8 - bl sub_8060470 - ldr r0, _08126E74 @ =gFieldEffectObjectTemplatePointers - ldr r0, [r0, 0x10] - mov r1, sp - movs r2, 0 - ldrsh r1, [r1, r2] - movs r3, 0 - ldrsh r2, [r4, r3] - movs r3, 0 - bl CreateSpriteAtEnd - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x40 - beq _08126E64 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _08126E78 @ =gSprites - adds r3, r0, r1 - adds r2, r3, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x2 - orrs r0, r1 - strb r0, [r2] - movs r0, 0x3 - ldrb r1, [r5, 0xC] - ands r1, r0 - lsls r1, 2 - ldrb r2, [r3, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3, 0x5] - ldr r0, [r5, 0x8] - strh r0, [r3, 0x2E] - ldr r0, [r5] - strh r0, [r3, 0x30] - ldr r0, [r5, 0x4] - strh r0, [r3, 0x32] - ldr r0, [r5, 0x10] - strh r0, [r3, 0x34] - ldr r0, [r5, 0x14] - strh r0, [r3, 0x36] - ldr r0, [r5, 0x18] - strh r0, [r3, 0x38] - ldr r0, [r5, 0x1C] - cmp r0, 0 - beq _08126E64 - adds r0, r3, 0 - movs r1, 0x4 - bl SeekSpriteAnim -_08126E64: - movs r0, 0 - add sp, 0x4 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_08126E70: .4byte gUnknown_0202FF84 -_08126E74: .4byte gFieldEffectObjectTemplatePointers -_08126E78: .4byte gSprites - thumb_func_end FldEff_TallGrass - - thumb_func_start unc_grass_normal -unc_grass_normal: @ 8126E7C - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x4 - adds r5, r0, 0 - ldrh r0, [r5, 0x38] - lsrs r4, r0, 8 - lsls r0, 24 - lsrs r7, r0, 24 - ldr r3, _08126F24 @ =gUnknown_0202E844 - ldrb r1, [r3] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08126EC6 - ldr r2, _08126F28 @ =gSaveBlock1 - movs r0, 0x5 - ldrsb r0, [r2, r0] - cmp r0, r4 - bne _08126EAC - movs r0, 0x4 - ldrsb r0, [r2, r0] - cmp r0, r7 - beq _08126EC6 -_08126EAC: - ldr r1, [r3, 0x4] - ldrh r0, [r5, 0x30] - subs r0, r1 - strh r0, [r5, 0x30] - ldr r1, [r3, 0x8] - ldrh r0, [r5, 0x32] - subs r0, r1 - strh r0, [r5, 0x32] - ldrb r1, [r2, 0x5] - lsls r1, 8 - ldrb r0, [r2, 0x4] - orrs r0, r1 - strh r0, [r5, 0x38] -_08126EC6: - ldrh r0, [r5, 0x34] - lsrs r1, r0, 8 - mov r8, r1 - lsls r0, 24 - lsrs r4, r0, 24 - ldrh r0, [r5, 0x36] - lsls r0, 24 - lsrs r7, r0, 24 - movs r2, 0x30 - ldrsh r0, [r5, r2] - movs r2, 0x32 - ldrsh r1, [r5, r2] - bl MapGridGetMetatileBehaviorAt - lsls r0, 24 - lsrs r6, r0, 24 - mov r0, r8 - adds r1, r4, 0 - adds r2, r7, 0 - mov r3, sp - bl TryGetFieldObjectIdByLocalIdAndMap - lsls r0, 24 - cmp r0, 0 - bne _08126F1A - adds r0, r6, 0 - bl MetatileBehavior_IsTallGrass - lsls r0, 24 - cmp r0, 0 - beq _08126F1A - movs r1, 0x3C - ldrsh r0, [r5, r1] - cmp r0, 0 - beq _08126F2C - adds r0, r5, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _08126F2C -_08126F1A: - adds r0, r5, 0 - movs r1, 0x4 - bl FieldEffectStop - b _08126F70 - .align 2, 0 -_08126F24: .4byte gUnknown_0202E844 -_08126F28: .4byte gSaveBlock1 -_08126F2C: - mov r0, sp - ldrb r1, [r0] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, _08126F7C @ =gMapObjects - adds r2, r0, r1 - ldr r0, [r2, 0x10] - ldr r1, [r5, 0x30] - cmp r0, r1 - beq _08126F4C - ldr r0, [r2, 0x14] - cmp r0, r1 - beq _08126F4C - movs r0, 0x1 - strh r0, [r5, 0x3C] -_08126F4C: - movs r6, 0 - adds r0, r5, 0 - adds r0, 0x2B - ldrb r0, [r0] - cmp r0, 0 - bne _08126F5A - movs r6, 0x4 -_08126F5A: - adds r0, r5, 0 - movs r1, 0 - bl sub_806487C - ldrh r1, [r5, 0x2E] - lsls r1, 24 - lsrs r1, 24 - adds r0, r5, 0 - adds r2, r6, 0 - bl sub_812882C -_08126F70: - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08126F7C: .4byte gMapObjects - thumb_func_end unc_grass_normal - - thumb_func_start FldEff_JumpTallGrass -FldEff_JumpTallGrass: @ 8126F80 - push {r4,lr} - ldr r4, _08126FE4 @ =gUnknown_0202FF84 - adds r1, r4, 0x4 - adds r0, r4, 0 - movs r2, 0x8 - movs r3, 0xC - bl sub_8060470 - ldr r0, _08126FE8 @ =gFieldEffectObjectTemplatePointers - ldr r0, [r0, 0x28] - movs r2, 0 - ldrsh r1, [r4, r2] - movs r3, 0x4 - ldrsh r2, [r4, r3] - movs r3, 0 - bl CreateSpriteAtEnd - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x40 - beq _08126FDC - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - ldr r0, _08126FEC @ =gSprites - adds r2, r0 - adds r3, r2, 0 - adds r3, 0x3E - ldrb r0, [r3] - movs r1, 0x2 - orrs r0, r1 - strb r0, [r3] - movs r0, 0x3 - ldrb r1, [r4, 0xC] - ands r1, r0 - lsls r1, 2 - ldrb r3, [r2, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r3 - orrs r0, r1 - strb r0, [r2, 0x5] - ldr r0, [r4, 0x8] - strh r0, [r2, 0x2E] - movs r0, 0xC - strh r0, [r2, 0x30] -_08126FDC: - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_08126FE4: .4byte gUnknown_0202FF84 -_08126FE8: .4byte gFieldEffectObjectTemplatePointers -_08126FEC: .4byte gSprites - thumb_func_end FldEff_JumpTallGrass - - thumb_func_start sub_8126FF0 -sub_8126FF0: @ 8126FF0 - push {r4-r7,lr} - mov r7, r8 - push {r7} - ldr r4, [sp, 0x18] - lsls r0, 24 - lsrs r0, 24 - mov r12, r0 - lsls r1, 24 - lsrs r7, r1, 24 - lsls r2, 24 - lsrs r6, r2, 24 - movs r5, 0 - ldr r0, _08127060 @ =gSprites - mov r8, r0 - lsls r3, 16 - asrs r3, 16 - lsls r4, 16 - asrs r4, 16 -_08127014: - lsls r0, r5, 4 - adds r0, r5 - lsls r0, 2 - mov r1, r8 - adds r2, r0, r1 - adds r0, r2, 0 - adds r0, 0x3E - ldrb r0, [r0] - lsls r0, 31 - cmp r0, 0 - beq _08127068 - ldr r1, [r2, 0x1C] - ldr r0, _08127064 @ =unc_grass_normal - cmp r1, r0 - bne _08127068 - movs r1, 0x30 - ldrsh r0, [r2, r1] - cmp r3, r0 - bne _08127068 - movs r1, 0x32 - ldrsh r0, [r2, r1] - cmp r4, r0 - bne _08127068 - ldrh r1, [r2, 0x34] - lsrs r0, r1, 8 - cmp r12, r0 - bne _08127068 - movs r0, 0xFF - ands r0, r1 - cmp r7, r0 - bne _08127068 - movs r1, 0x36 - ldrsh r0, [r2, r1] - cmp r6, r0 - bne _08127068 - adds r0, r5, 0 - b _08127074 - .align 2, 0 -_08127060: .4byte gSprites -_08127064: .4byte unc_grass_normal -_08127068: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x3F - bls _08127014 - movs r0, 0x40 -_08127074: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_8126FF0 - - thumb_func_start FldEff_LongGrass -FldEff_LongGrass: @ 8127080 - push {r4,r5,lr} - sub sp, 0x4 - ldr r5, _0812711C @ =gUnknown_0202FF84 - ldrh r1, [r5] - mov r0, sp - strh r1, [r0] - ldrh r0, [r5, 0x4] - mov r4, sp - adds r4, 0x2 - strh r0, [r4] - mov r0, sp - adds r1, r4, 0 - movs r2, 0x8 - movs r3, 0x8 - bl sub_8060470 - ldr r0, _08127120 @ =gFieldEffectObjectTemplatePointers - ldr r0, [r0, 0x3C] - mov r1, sp - movs r2, 0 - ldrsh r1, [r1, r2] - movs r3, 0 - ldrsh r2, [r4, r3] - movs r3, 0 - bl CreateSpriteAtEnd - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x40 - beq _08127110 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _08127124 @ =gSprites - adds r4, r0, r1 - adds r2, r4, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x2 - orrs r0, r1 - strb r0, [r2] - ldrb r0, [r5, 0x8] - bl ZCoordToPriority - movs r1, 0x3 - ands r1, r0 - lsls r1, 2 - ldrb r2, [r4, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r4, 0x5] - ldr r0, [r5, 0x8] - strh r0, [r4, 0x2E] - ldr r0, [r5] - strh r0, [r4, 0x30] - ldr r0, [r5, 0x4] - strh r0, [r4, 0x32] - ldr r0, [r5, 0x10] - strh r0, [r4, 0x34] - ldr r0, [r5, 0x14] - strh r0, [r4, 0x36] - ldr r0, [r5, 0x18] - strh r0, [r4, 0x38] - ldr r0, [r5, 0x1C] - cmp r0, 0 - beq _08127110 - adds r0, r4, 0 - movs r1, 0x6 - bl SeekSpriteAnim -_08127110: - movs r0, 0 - add sp, 0x4 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_0812711C: .4byte gUnknown_0202FF84 -_08127120: .4byte gFieldEffectObjectTemplatePointers -_08127124: .4byte gSprites - thumb_func_end FldEff_LongGrass - - thumb_func_start unc_grass_tall -unc_grass_tall: @ 8127128 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x4 - adds r5, r0, 0 - ldrh r0, [r5, 0x38] - lsrs r7, r0, 8 - lsls r0, 24 - lsrs r6, r0, 24 - ldr r3, _081271D0 @ =gUnknown_0202E844 - ldrb r1, [r3] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08127172 - ldr r2, _081271D4 @ =gSaveBlock1 - movs r0, 0x5 - ldrsb r0, [r2, r0] - cmp r0, r7 - bne _08127158 - movs r0, 0x4 - ldrsb r0, [r2, r0] - cmp r0, r6 - beq _08127172 -_08127158: - ldr r1, [r3, 0x4] - ldrh r0, [r5, 0x30] - subs r0, r1 - strh r0, [r5, 0x30] - ldr r1, [r3, 0x8] - ldrh r0, [r5, 0x32] - subs r0, r1 - strh r0, [r5, 0x32] - ldrb r1, [r2, 0x5] - lsls r1, 8 - ldrb r0, [r2, 0x4] - orrs r0, r1 - strh r0, [r5, 0x38] -_08127172: - ldrh r0, [r5, 0x34] - lsrs r1, r0, 8 - mov r8, r1 - lsls r0, 24 - lsrs r7, r0, 24 - ldrh r0, [r5, 0x36] - lsls r0, 24 - lsrs r6, r0, 24 - movs r2, 0x30 - ldrsh r0, [r5, r2] - movs r2, 0x32 - ldrsh r1, [r5, r2] - bl MapGridGetMetatileBehaviorAt - lsls r0, 24 - lsrs r4, r0, 24 - mov r0, r8 - adds r1, r7, 0 - adds r2, r6, 0 - mov r3, sp - bl TryGetFieldObjectIdByLocalIdAndMap - lsls r0, 24 - cmp r0, 0 - bne _081271C6 - adds r0, r4, 0 - bl MetatileBehavior_IsLongGrass - lsls r0, 24 - cmp r0, 0 - beq _081271C6 - movs r1, 0x3C - ldrsh r0, [r5, r1] - cmp r0, 0 - beq _081271D8 - adds r0, r5, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _081271D8 -_081271C6: - adds r0, r5, 0 - movs r1, 0x11 - bl FieldEffectStop - b _0812720E - .align 2, 0 -_081271D0: .4byte gUnknown_0202E844 -_081271D4: .4byte gSaveBlock1 -_081271D8: - mov r0, sp - ldrb r1, [r0] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, _0812721C @ =gMapObjects - adds r2, r0, r1 - ldr r0, [r2, 0x10] - ldr r1, [r5, 0x30] - cmp r0, r1 - beq _081271F8 - ldr r0, [r2, 0x14] - cmp r0, r1 - beq _081271F8 - movs r0, 0x1 - strh r0, [r5, 0x3C] -_081271F8: - adds r0, r5, 0 - movs r1, 0 - bl sub_806487C - ldrh r1, [r5, 0x2E] - lsls r1, 24 - lsrs r1, 24 - adds r0, r5, 0 - movs r2, 0 - bl sub_812882C -_0812720E: - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0812721C: .4byte gMapObjects - thumb_func_end unc_grass_tall - - thumb_func_start FldEff_JumpLongGrass -FldEff_JumpLongGrass: @ 8127220 - push {r4,lr} - ldr r4, _08127284 @ =gUnknown_0202FF84 - adds r1, r4, 0x4 - adds r0, r4, 0 - movs r2, 0x8 - movs r3, 0x8 - bl sub_8060470 - ldr r0, _08127288 @ =gFieldEffectObjectTemplatePointers - ldr r0, [r0, 0x40] - movs r2, 0 - ldrsh r1, [r4, r2] - movs r3, 0x4 - ldrsh r2, [r4, r3] - movs r3, 0 - bl CreateSpriteAtEnd - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x40 - beq _0812727C - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - ldr r0, _0812728C @ =gSprites - adds r2, r0 - adds r3, r2, 0 - adds r3, 0x3E - ldrb r0, [r3] - movs r1, 0x2 - orrs r0, r1 - strb r0, [r3] - movs r0, 0x3 - ldrb r1, [r4, 0xC] - ands r1, r0 - lsls r1, 2 - ldrb r3, [r2, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r3 - orrs r0, r1 - strb r0, [r2, 0x5] - ldr r0, [r4, 0x8] - strh r0, [r2, 0x2E] - movs r0, 0x12 - strh r0, [r2, 0x30] -_0812727C: - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_08127284: .4byte gUnknown_0202FF84 -_08127288: .4byte gFieldEffectObjectTemplatePointers -_0812728C: .4byte gSprites - thumb_func_end FldEff_JumpLongGrass - - thumb_func_start FldEff_ShortGrass -FldEff_ShortGrass: @ 8127290 - push {r4-r6,lr} - ldr r6, _08127324 @ =gUnknown_0202FF84 - ldrb r0, [r6] - ldrb r1, [r6, 0x4] - ldrb r2, [r6, 0x8] - bl GetFieldObjectIdByLocalIdAndMap - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 3 - adds r1, r0 - lsls r1, 2 - ldr r0, _08127328 @ =gMapObjects - adds r5, r1, r0 - ldr r0, _0812732C @ =gFieldEffectObjectTemplatePointers - ldr r0, [r0, 0x78] - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl CreateSpriteAtEnd - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x40 - beq _0812731C - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - ldr r4, _08127330 @ =gSprites - adds r2, r4 - adds r3, r2, 0 - adds r3, 0x3E - ldrb r0, [r3] - movs r1, 0x2 - orrs r0, r1 - strb r0, [r3] - ldrb r1, [r5, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldrb r0, [r0, 0x5] - movs r1, 0xC - ands r1, r0 - ldrb r3, [r2, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r3 - orrs r0, r1 - strb r0, [r2, 0x5] - ldr r0, [r6] - strh r0, [r2, 0x2E] - ldr r0, [r6, 0x4] - strh r0, [r2, 0x30] - ldr r0, [r6, 0x8] - strh r0, [r2, 0x32] - ldrb r1, [r5, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldrh r0, [r0, 0x20] - strh r0, [r2, 0x34] - ldrb r1, [r5, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldrh r0, [r0, 0x22] - strh r0, [r2, 0x36] -_0812731C: - movs r0, 0 - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_08127324: .4byte gUnknown_0202FF84 -_08127328: .4byte gMapObjects -_0812732C: .4byte gFieldEffectObjectTemplatePointers -_08127330: .4byte gSprites - thumb_func_end FldEff_ShortGrass - - thumb_func_start sub_8127334 -sub_8127334: @ 8127334 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x4 - adds r4, r0, 0 - ldrh r0, [r4, 0x2E] - lsls r0, 24 - lsrs r0, 24 - ldrh r1, [r4, 0x30] - lsls r1, 24 - lsrs r1, 24 - ldrh r2, [r4, 0x32] - lsls r2, 24 - lsrs r2, 24 - mov r3, sp - bl TryGetFieldObjectIdByLocalIdAndMap - lsls r0, 24 - cmp r0, 0 - bne _08127372 - ldr r5, _0812737C @ =gMapObjects - mov r0, sp - ldrb r1, [r0] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - adds r1, r0, r5 - ldrb r0, [r1, 0x2] - lsls r0, 29 - cmp r0, 0 - blt _08127380 -_08127372: - adds r0, r4, 0 - movs r1, 0x29 - bl FieldEffectStop - b _08127416 - .align 2, 0 -_0812737C: .4byte gMapObjects -_08127380: - ldrb r0, [r1, 0x5] - bl GetFieldObjectGraphicsInfo - mov r8, r0 - mov r0, sp - ldrb r1, [r0] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - ldrb r1, [r0, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _08127424 @ =gSprites - adds r6, r0, r1 - ldrh r5, [r6, 0x22] - ldrh r7, [r6, 0x20] - movs r0, 0x20 - ldrsh r1, [r6, r0] - movs r2, 0x34 - ldrsh r0, [r4, r2] - cmp r1, r0 - bne _081273BC - lsls r0, r5, 16 - asrs r0, 16 - movs r2, 0x36 - ldrsh r1, [r4, r2] - cmp r0, r1 - beq _081273D6 -_081273BC: - strh r7, [r4, 0x34] - strh r5, [r4, 0x36] - adds r0, r4, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _081273D6 - adds r0, r4, 0 - movs r1, 0 - bl StartSpriteAnim -_081273D6: - strh r7, [r4, 0x20] - strh r5, [r4, 0x22] - mov r1, r8 - ldrh r0, [r1, 0xA] - lsls r0, 16 - asrs r0, 17 - subs r0, 0x8 - strh r0, [r4, 0x26] - adds r0, r6, 0 - adds r0, 0x43 - ldrb r0, [r0] - subs r0, 0x1 - adds r1, r4, 0 - adds r1, 0x43 - strb r0, [r1] - ldrb r0, [r6, 0x5] - movs r1, 0xC - ands r1, r0 - ldrb r2, [r4, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r4, 0x5] - adds r0, r6, 0 - adds r0, 0x3E - ldrb r1, [r0] - lsls r1, 29 - lsrs r1, 31 - adds r0, r4, 0 - bl sub_806487C -_08127416: - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08127424: .4byte gSprites - thumb_func_end sub_8127334 - - thumb_func_start FldEff_SandFootprints -FldEff_SandFootprints: @ 8127428 - push {r4,lr} - ldr r4, _08127490 @ =gUnknown_0202FF84 - adds r1, r4, 0x4 - adds r0, r4, 0 - movs r2, 0x8 - movs r3, 0x8 - bl sub_8060470 - ldr r0, _08127494 @ =gFieldEffectObjectTemplatePointers - ldr r0, [r0, 0x2C] - movs r2, 0 - ldrsh r1, [r4, r2] - movs r3, 0x4 - ldrsh r2, [r4, r3] - ldrb r3, [r4, 0x8] - bl CreateSpriteAtEnd - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x40 - beq _08127486 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _08127498 @ =gSprites - adds r0, r1 - adds r3, r0, 0 - adds r3, 0x3E - ldrb r1, [r3] - movs r2, 0x2 - orrs r1, r2 - strb r1, [r3] - movs r1, 0x3 - ldrb r2, [r4, 0xC] - ands r2, r1 - lsls r2, 2 - ldrb r3, [r0, 0x5] - movs r1, 0xD - negs r1, r1 - ands r1, r3 - orrs r1, r2 - strb r1, [r0, 0x5] - movs r1, 0xD - strh r1, [r0, 0x3C] - ldrb r1, [r4, 0x10] - bl StartSpriteAnim -_08127486: - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_08127490: .4byte gUnknown_0202FF84 -_08127494: .4byte gFieldEffectObjectTemplatePointers -_08127498: .4byte gSprites - thumb_func_end FldEff_SandFootprints - - thumb_func_start FldEff_DeepSandFootprints -FldEff_DeepSandFootprints: @ 812749C - push {r4,r5,lr} - ldr r4, _08127504 @ =gUnknown_0202FF84 - adds r1, r4, 0x4 - adds r0, r4, 0 - movs r2, 0x8 - movs r3, 0x8 - bl sub_8060470 - ldr r0, _08127508 @ =gFieldEffectObjectTemplatePointers - ldr r0, [r0, 0x5C] - movs r2, 0 - ldrsh r1, [r4, r2] - movs r3, 0x4 - ldrsh r2, [r4, r3] - ldrb r3, [r4, 0x8] - bl CreateSpriteAtEnd - lsls r0, 24 - lsrs r1, r0, 24 - adds r5, r1, 0 - cmp r1, 0x40 - beq _081274FC - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _0812750C @ =gSprites - adds r0, r1 - adds r3, r0, 0 - adds r3, 0x3E - ldrb r1, [r3] - movs r2, 0x2 - orrs r1, r2 - strb r1, [r3] - movs r1, 0x3 - ldrb r2, [r4, 0xC] - ands r2, r1 - lsls r2, 2 - ldrb r3, [r0, 0x5] - movs r1, 0xD - negs r1, r1 - ands r1, r3 - orrs r1, r2 - strb r1, [r0, 0x5] - movs r1, 0x18 - strh r1, [r0, 0x3C] - ldrb r1, [r4, 0x10] - bl StartSpriteAnim -_081274FC: - adds r0, r5, 0 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_08127504: .4byte gUnknown_0202FF84 -_08127508: .4byte gFieldEffectObjectTemplatePointers -_0812750C: .4byte gSprites - thumb_func_end FldEff_DeepSandFootprints - - thumb_func_start FldEff_BikeTireTracks -FldEff_BikeTireTracks: @ 8127510 - push {r4,r5,lr} - ldr r4, _08127578 @ =gUnknown_0202FF84 - adds r1, r4, 0x4 - adds r0, r4, 0 - movs r2, 0x8 - movs r3, 0x8 - bl sub_8060470 - ldr r0, _0812757C @ =gFieldEffectObjectTemplatePointers - ldr r0, [r0, 0x6C] - movs r2, 0 - ldrsh r1, [r4, r2] - movs r3, 0x4 - ldrsh r2, [r4, r3] - ldrb r3, [r4, 0x8] - bl CreateSpriteAtEnd - lsls r0, 24 - lsrs r1, r0, 24 - adds r5, r1, 0 - cmp r1, 0x40 - beq _08127570 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _08127580 @ =gSprites - adds r0, r1 - adds r3, r0, 0 - adds r3, 0x3E - ldrb r1, [r3] - movs r2, 0x2 - orrs r1, r2 - strb r1, [r3] - movs r1, 0x3 - ldrb r2, [r4, 0xC] - ands r2, r1 - lsls r2, 2 - ldrb r3, [r0, 0x5] - movs r1, 0xD - negs r1, r1 - ands r1, r3 - orrs r1, r2 - strb r1, [r0, 0x5] - movs r1, 0x23 - strh r1, [r0, 0x3C] - ldrb r1, [r4, 0x10] - bl StartSpriteAnim -_08127570: - adds r0, r5, 0 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_08127578: .4byte gUnknown_0202FF84 -_0812757C: .4byte gFieldEffectObjectTemplatePointers -_08127580: .4byte gSprites - thumb_func_end FldEff_BikeTireTracks - - thumb_func_start sub_8127584 -sub_8127584: @ 8127584 - push {lr} - ldr r2, _0812759C @ =gUnknown_08401E40 - movs r3, 0x2E - ldrsh r1, [r0, r3] - lsls r1, 2 - adds r1, r2 - ldr r1, [r1] - bl _call_via_r1 - pop {r0} - bx r0 - .align 2, 0 -_0812759C: .4byte gUnknown_08401E40 - thumb_func_end sub_8127584 - - thumb_func_start sub_81275A0 -sub_81275A0: @ 81275A0 - push {lr} - adds r1, r0, 0 - ldrh r0, [r1, 0x30] - adds r0, 0x1 - strh r0, [r1, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x28 - ble _081275B6 - movs r0, 0x1 - strh r0, [r1, 0x2E] -_081275B6: - adds r0, r1, 0 - movs r1, 0 - bl sub_806487C - pop {r0} - bx r0 - thumb_func_end sub_81275A0 - - thumb_func_start sub_81275C4 -sub_81275C4: @ 81275C4 - push {r4,lr} - adds r4, r0, 0 - adds r3, r4, 0 - adds r3, 0x3E - ldrb r2, [r3] - lsls r0, r2, 29 - lsrs r0, 31 - movs r1, 0x1 - eors r1, r0 - lsls r1, 2 - movs r0, 0x5 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3] - ldrh r0, [r4, 0x30] - adds r0, 0x1 - strh r0, [r4, 0x30] - ldrb r1, [r3] - lsls r1, 29 - lsrs r1, 31 - adds r0, r4, 0 - bl sub_806487C - movs r1, 0x30 - ldrsh r0, [r4, r1] - cmp r0, 0x38 - ble _08127608 - ldrh r1, [r4, 0x3C] - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl FieldEffectStop -_08127608: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_81275C4 - - thumb_func_start FldEff_Splash -FldEff_Splash: @ 8127610 - push {r4-r6,lr} - ldr r6, _081276A4 @ =gUnknown_0202FF84 - ldrb r0, [r6] - ldrb r1, [r6, 0x4] - ldrb r2, [r6, 0x8] - bl GetFieldObjectIdByLocalIdAndMap - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 3 - adds r1, r0 - lsls r1, 2 - ldr r0, _081276A8 @ =gMapObjects - adds r5, r1, r0 - ldr r0, _081276AC @ =gFieldEffectObjectTemplatePointers - ldr r0, [r0, 0x34] - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl CreateSpriteAtEnd - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x40 - beq _0812769A - ldrb r0, [r5, 0x5] - bl GetFieldObjectGraphicsInfo - lsls r3, r4, 4 - adds r3, r4 - lsls r3, 2 - ldr r4, _081276B0 @ =gSprites - adds r3, r4 - movs r1, 0x3E - adds r1, r3 - mov r12, r1 - ldrb r1, [r1] - movs r2, 0x2 - orrs r1, r2 - mov r2, r12 - strb r1, [r2] - ldrb r2, [r5, 0x4] - lsls r1, r2, 4 - adds r1, r2 - lsls r1, 2 - adds r1, r4 - ldrb r1, [r1, 0x5] - movs r2, 0xC - ands r2, r1 - ldrb r4, [r3, 0x5] - movs r1, 0xD - negs r1, r1 - ands r1, r4 - orrs r1, r2 - strb r1, [r3, 0x5] - ldr r1, [r6] - strh r1, [r3, 0x2E] - ldr r1, [r6, 0x4] - strh r1, [r3, 0x30] - ldr r1, [r6, 0x8] - strh r1, [r3, 0x32] - ldrh r0, [r0, 0xA] - lsls r0, 16 - asrs r0, 17 - subs r0, 0x4 - strh r0, [r3, 0x26] - movs r0, 0x46 - bl PlaySE -_0812769A: - movs r0, 0 - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_081276A4: .4byte gUnknown_0202FF84 -_081276A8: .4byte gMapObjects -_081276AC: .4byte gFieldEffectObjectTemplatePointers -_081276B0: .4byte gSprites - thumb_func_end FldEff_Splash - - thumb_func_start sub_81276B4 -sub_81276B4: @ 81276B4 - push {r4,lr} - sub sp, 0x4 - adds r4, r0, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - bne _081276E4 - ldrh r0, [r4, 0x2E] - lsls r0, 24 - lsrs r0, 24 - ldrh r1, [r4, 0x30] - lsls r1, 24 - lsrs r1, 24 - ldrh r2, [r4, 0x32] - lsls r2, 24 - lsrs r2, 24 - mov r3, sp - bl TryGetFieldObjectIdByLocalIdAndMap - lsls r0, 24 - cmp r0, 0 - beq _081276EE -_081276E4: - adds r0, r4, 0 - movs r1, 0xF - bl FieldEffectStop - b _0812772E -_081276EE: - ldr r3, _08127738 @ =gSprites - ldr r2, _0812773C @ =gMapObjects - mov r0, sp - ldrb r1, [r0] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r1, [r0, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - ldrh r0, [r0, 0x20] - strh r0, [r4, 0x20] - mov r0, sp - ldrb r1, [r0] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r1, [r0, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - ldrh r0, [r0, 0x22] - strh r0, [r4, 0x22] - adds r0, r4, 0 - movs r1, 0 - bl sub_806487C -_0812772E: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08127738: .4byte gSprites -_0812773C: .4byte gMapObjects - thumb_func_end sub_81276B4 - - thumb_func_start FldEff_JumpSmallSplash -FldEff_JumpSmallSplash: @ 8127740 - push {r4,lr} - ldr r4, _081277A4 @ =gUnknown_0202FF84 - adds r1, r4, 0x4 - adds r0, r4, 0 - movs r2, 0x8 - movs r3, 0xC - bl sub_8060470 - ldr r0, _081277A8 @ =gFieldEffectObjectTemplatePointers - ldr r0, [r0, 0x38] - movs r2, 0 - ldrsh r1, [r4, r2] - movs r3, 0x4 - ldrsh r2, [r4, r3] - movs r3, 0 - bl CreateSpriteAtEnd - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x40 - beq _0812779C - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - ldr r0, _081277AC @ =gSprites - adds r2, r0 - adds r3, r2, 0 - adds r3, 0x3E - ldrb r0, [r3] - movs r1, 0x2 - orrs r0, r1 - strb r0, [r3] - movs r0, 0x3 - ldrb r1, [r4, 0xC] - ands r1, r0 - lsls r1, 2 - ldrb r3, [r2, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r3 - orrs r0, r1 - strb r0, [r2, 0x5] - ldr r0, [r4, 0x8] - strh r0, [r2, 0x2E] - movs r0, 0x10 - strh r0, [r2, 0x30] -_0812779C: - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_081277A4: .4byte gUnknown_0202FF84 -_081277A8: .4byte gFieldEffectObjectTemplatePointers -_081277AC: .4byte gSprites - thumb_func_end FldEff_JumpSmallSplash - - thumb_func_start FldEff_JumpBigSplash -FldEff_JumpBigSplash: @ 81277B0 - push {r4,lr} - ldr r4, _08127814 @ =gUnknown_0202FF84 - adds r1, r4, 0x4 - adds r0, r4, 0 - movs r2, 0x8 - movs r3, 0x8 - bl sub_8060470 - ldr r0, _08127818 @ =gFieldEffectObjectTemplatePointers - ldr r0, [r0, 0x30] - movs r2, 0 - ldrsh r1, [r4, r2] - movs r3, 0x4 - ldrsh r2, [r4, r3] - movs r3, 0 - bl CreateSpriteAtEnd - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x40 - beq _0812780C - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - ldr r0, _0812781C @ =gSprites - adds r2, r0 - adds r3, r2, 0 - adds r3, 0x3E - ldrb r0, [r3] - movs r1, 0x2 - orrs r0, r1 - strb r0, [r3] - movs r0, 0x3 - ldrb r1, [r4, 0xC] - ands r1, r0 - lsls r1, 2 - ldrb r3, [r2, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r3 - orrs r0, r1 - strb r0, [r2, 0x5] - ldr r0, [r4, 0x8] - strh r0, [r2, 0x2E] - movs r0, 0xE - strh r0, [r2, 0x30] -_0812780C: - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_08127814: .4byte gUnknown_0202FF84 -_08127818: .4byte gFieldEffectObjectTemplatePointers -_0812781C: .4byte gSprites - thumb_func_end FldEff_JumpBigSplash - - thumb_func_start FldEff_FeetInFlowingWater -FldEff_FeetInFlowingWater: @ 8127820 - push {r4-r7,lr} - ldr r7, _081278C0 @ =gUnknown_0202FF84 - ldrb r0, [r7] - ldrb r1, [r7, 0x4] - ldrb r2, [r7, 0x8] - bl GetFieldObjectIdByLocalIdAndMap - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 3 - adds r1, r0 - lsls r1, 2 - ldr r0, _081278C4 @ =gMapObjects - adds r6, r1, r0 - ldr r0, _081278C8 @ =gFieldEffectObjectTemplatePointers - ldr r0, [r0, 0x34] - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl CreateSpriteAtEnd - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x40 - beq _081278B6 - ldrb r0, [r6, 0x5] - bl GetFieldObjectGraphicsInfo - adds r4, r0, 0 - lsls r0, r5, 4 - adds r0, r5 - lsls r0, 2 - ldr r3, _081278CC @ =gSprites - adds r0, r3 - ldr r1, _081278D0 @ =sub_81278D8 - str r1, [r0, 0x1C] - adds r5, r0, 0 - adds r5, 0x3E - ldrb r1, [r5] - movs r2, 0x2 - orrs r1, r2 - strb r1, [r5] - ldrb r2, [r6, 0x4] - lsls r1, r2, 4 - adds r1, r2 - lsls r1, 2 - adds r1, r3 - ldrb r1, [r1, 0x5] - movs r2, 0xC - ands r2, r1 - ldrb r3, [r0, 0x5] - movs r1, 0xD - negs r1, r1 - ands r1, r3 - orrs r1, r2 - strb r1, [r0, 0x5] - ldr r1, [r7] - strh r1, [r0, 0x2E] - ldr r1, [r7, 0x4] - strh r1, [r0, 0x30] - ldr r1, [r7, 0x8] - strh r1, [r0, 0x32] - ldr r1, _081278D4 @ =0x0000ffff - strh r1, [r0, 0x34] - movs r1, 0x1 - negs r1, r1 - strh r1, [r0, 0x36] - ldrh r1, [r4, 0xA] - lsls r1, 16 - asrs r1, 17 - subs r1, 0x4 - strh r1, [r0, 0x26] - movs r1, 0x1 - bl StartSpriteAnim -_081278B6: - movs r0, 0 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_081278C0: .4byte gUnknown_0202FF84 -_081278C4: .4byte gMapObjects -_081278C8: .4byte gFieldEffectObjectTemplatePointers -_081278CC: .4byte gSprites -_081278D0: .4byte sub_81278D8 -_081278D4: .4byte 0x0000ffff - thumb_func_end FldEff_FeetInFlowingWater - - thumb_func_start sub_81278D8 -sub_81278D8: @ 81278D8 - push {r4,r5,lr} - sub sp, 0x4 - adds r4, r0, 0 - ldrh r0, [r4, 0x2E] - lsls r0, 24 - lsrs r0, 24 - ldrh r1, [r4, 0x30] - lsls r1, 24 - lsrs r1, 24 - ldrh r2, [r4, 0x32] - lsls r2, 24 - lsrs r2, 24 - mov r3, sp - bl TryGetFieldObjectIdByLocalIdAndMap - lsls r0, 24 - cmp r0, 0 - bne _08127912 - ldr r2, _0812791C @ =gMapObjects - mov r0, sp - ldrb r1, [r0] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - adds r5, r0, r2 - ldrb r0, [r5, 0x2] - lsls r0, 28 - cmp r0, 0 - blt _08127920 -_08127912: - adds r0, r4, 0 - movs r1, 0x22 - bl FieldEffectStop - b _0812796A - .align 2, 0 -_0812791C: .4byte gMapObjects -_08127920: - ldrb r1, [r5, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _08127974 @ =gSprites - adds r0, r1 - ldrh r1, [r0, 0x20] - strh r1, [r4, 0x20] - ldrh r1, [r0, 0x22] - strh r1, [r4, 0x22] - adds r0, 0x43 - ldrb r0, [r0] - adds r1, r4, 0 - adds r1, 0x43 - strb r0, [r1] - adds r0, r4, 0 - movs r1, 0 - bl sub_806487C - ldr r1, [r5, 0x10] - ldr r0, [r4, 0x34] - cmp r1, r0 - beq _0812796A - ldrh r0, [r5, 0x10] - strh r0, [r4, 0x34] - ldrh r0, [r5, 0x12] - strh r0, [r4, 0x36] - adds r0, r4, 0 - adds r0, 0x3E - ldrb r1, [r0] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - bne _0812796A - movs r0, 0x46 - bl PlaySE -_0812796A: - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08127974: .4byte gSprites - thumb_func_end sub_81278D8 - - thumb_func_start FldEff_Ripple -FldEff_Ripple: @ 8127978 - push {r4,lr} - ldr r0, _081279CC @ =gFieldEffectObjectTemplatePointers - ldr r0, [r0, 0x14] - ldr r4, _081279D0 @ =gUnknown_0202FF84 - movs r2, 0 - ldrsh r1, [r4, r2] - movs r3, 0x4 - ldrsh r2, [r4, r3] - ldrb r3, [r4, 0x8] - bl CreateSpriteAtEnd - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x40 - beq _081279C4 - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - ldr r0, _081279D4 @ =gSprites - adds r2, r0 - adds r3, r2, 0 - adds r3, 0x3E - ldrb r0, [r3] - movs r1, 0x2 - orrs r0, r1 - strb r0, [r3] - movs r0, 0x3 - ldrb r1, [r4, 0xC] - ands r1, r0 - lsls r1, 2 - ldrb r3, [r2, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r3 - orrs r0, r1 - strb r0, [r2, 0x5] - movs r0, 0x5 - strh r0, [r2, 0x2E] -_081279C4: - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_081279CC: .4byte gFieldEffectObjectTemplatePointers -_081279D0: .4byte gUnknown_0202FF84 -_081279D4: .4byte gSprites - thumb_func_end FldEff_Ripple - - thumb_func_start FldEff_HotSpringsWater -FldEff_HotSpringsWater: @ 81279D8 - push {r4-r6,lr} - ldr r6, _08127A6C @ =gUnknown_0202FF84 - ldrb r0, [r6] - ldrb r1, [r6, 0x4] - ldrb r2, [r6, 0x8] - bl GetFieldObjectIdByLocalIdAndMap - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 3 - adds r1, r0 - lsls r1, 2 - ldr r0, _08127A70 @ =gMapObjects - adds r5, r1, r0 - ldr r0, _08127A74 @ =gFieldEffectObjectTemplatePointers - ldr r0, [r0, 0x7C] - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl CreateSpriteAtEnd - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x40 - beq _08127A64 - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - ldr r4, _08127A78 @ =gSprites - adds r2, r4 - adds r3, r2, 0 - adds r3, 0x3E - ldrb r0, [r3] - movs r1, 0x2 - orrs r0, r1 - strb r0, [r3] - ldrb r1, [r5, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldrb r0, [r0, 0x5] - movs r1, 0xC - ands r1, r0 - ldrb r3, [r2, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r3 - orrs r0, r1 - strb r0, [r2, 0x5] - ldr r0, [r6] - strh r0, [r2, 0x2E] - ldr r0, [r6, 0x4] - strh r0, [r2, 0x30] - ldr r0, [r6, 0x8] - strh r0, [r2, 0x32] - ldrb r1, [r5, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldrh r0, [r0, 0x20] - strh r0, [r2, 0x34] - ldrb r1, [r5, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldrh r0, [r0, 0x22] - strh r0, [r2, 0x36] -_08127A64: - movs r0, 0 - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_08127A6C: .4byte gUnknown_0202FF84 -_08127A70: .4byte gMapObjects -_08127A74: .4byte gFieldEffectObjectTemplatePointers -_08127A78: .4byte gSprites - thumb_func_end FldEff_HotSpringsWater - thumb_func_start sub_8127A7C sub_8127A7C: @ 8127A7C push {r4,r5,lr} @@ -2472,7 +88,7 @@ _08127B10: .4byte gSprites thumb_func_start FldEff_Unknown19 FldEff_Unknown19: @ 8127B14 push {r4,lr} - ldr r4, _08127B74 @ =gUnknown_0202FF84 + ldr r4, _08127B74 @ =gFieldEffectSpawnParams adds r1, r4, 0x4 adds r0, r4, 0 movs r2, 0x8 @@ -2519,7 +135,7 @@ _08127B6C: pop {r1} bx r1 .align 2, 0 -_08127B74: .4byte gUnknown_0202FF84 +_08127B74: .4byte gFieldEffectSpawnParams _08127B78: .4byte gFieldEffectObjectTemplatePointers _08127B7C: .4byte gSprites thumb_func_end FldEff_Unknown19 @@ -2527,7 +143,7 @@ _08127B7C: .4byte gSprites thumb_func_start FldEff_Unknown20 FldEff_Unknown20: @ 8127B80 push {r4,lr} - ldr r4, _08127BE0 @ =gUnknown_0202FF84 + ldr r4, _08127BE0 @ =gFieldEffectSpawnParams adds r1, r4, 0x4 adds r0, r4, 0 movs r2, 0x8 @@ -2574,7 +190,7 @@ _08127BD8: pop {r1} bx r1 .align 2, 0 -_08127BE0: .4byte gUnknown_0202FF84 +_08127BE0: .4byte gFieldEffectSpawnParams _08127BE4: .4byte gFieldEffectObjectTemplatePointers _08127BE8: .4byte gSprites thumb_func_end FldEff_Unknown20 @@ -2582,7 +198,7 @@ _08127BE8: .4byte gSprites thumb_func_start FldEff_Unknown21 FldEff_Unknown21: @ 8127BEC push {r4,lr} - ldr r4, _08127C4C @ =gUnknown_0202FF84 + ldr r4, _08127C4C @ =gFieldEffectSpawnParams adds r1, r4, 0x4 adds r0, r4, 0 movs r2, 0x8 @@ -2629,7 +245,7 @@ _08127C44: pop {r1} bx r1 .align 2, 0 -_08127C4C: .4byte gUnknown_0202FF84 +_08127C4C: .4byte gFieldEffectSpawnParams _08127C50: .4byte gFieldEffectObjectTemplatePointers _08127C54: .4byte gSprites thumb_func_end FldEff_Unknown21 @@ -2637,7 +253,7 @@ _08127C54: .4byte gSprites thumb_func_start FldEff_Unknown22 FldEff_Unknown22: @ 8127C58 push {r4,lr} - ldr r4, _08127CB8 @ =gUnknown_0202FF84 + ldr r4, _08127CB8 @ =gFieldEffectSpawnParams adds r1, r4, 0x4 adds r0, r4, 0 movs r2, 0x8 @@ -2684,7 +300,7 @@ _08127CB0: pop {r1} bx r1 .align 2, 0 -_08127CB8: .4byte gUnknown_0202FF84 +_08127CB8: .4byte gFieldEffectSpawnParams _08127CBC: .4byte gFieldEffectObjectTemplatePointers _08127CC0: .4byte gSprites thumb_func_end FldEff_Unknown22 @@ -2694,7 +310,7 @@ ash: @ 8127CC4 push {r4,lr} lsls r2, 16 lsrs r2, 16 - ldr r4, _08127CF4 @ =gUnknown_0202FF84 + ldr r4, _08127CF4 @ =gFieldEffectSpawnParams lsls r0, 16 asrs r0, 16 str r0, [r4] @@ -2715,14 +331,14 @@ ash: @ 8127CC4 pop {r0} bx r0 .align 2, 0 -_08127CF4: .4byte gUnknown_0202FF84 +_08127CF4: .4byte gFieldEffectSpawnParams thumb_func_end ash thumb_func_start FldEff_Ash FldEff_Ash: @ 8127CF8 push {r4,r5,lr} sub sp, 0x4 - ldr r5, _08127D78 @ =gUnknown_0202FF84 + ldr r5, _08127D78 @ =gFieldEffectSpawnParams ldrh r1, [r5] mov r0, sp strh r1, [r0] @@ -2784,7 +400,7 @@ _08127D6E: pop {r1} bx r1 .align 2, 0 -_08127D78: .4byte gUnknown_0202FF84 +_08127D78: .4byte gFieldEffectSpawnParams _08127D7C: .4byte gFieldEffectObjectTemplatePointers _08127D80: .4byte gSprites thumb_func_end FldEff_Ash @@ -2907,7 +523,7 @@ _08127E50: thumb_func_start FldEff_SurfBlob FldEff_SurfBlob: @ 8127E58 push {r4,r5,lr} - ldr r4, _08127EC0 @ =gUnknown_0202FF84 + ldr r4, _08127EC0 @ =gFieldEffectSpawnParams adds r1, r4, 0x4 adds r0, r4, 0 movs r2, 0x8 @@ -2957,7 +573,7 @@ _08127EB2: pop {r1} bx r1 .align 2, 0 -_08127EC0: .4byte gUnknown_0202FF84 +_08127EC0: .4byte gFieldEffectSpawnParams _08127EC4: .4byte gFieldEffectObjectTemplatePointers _08127EC8: .4byte gSprites _08127ECC: .4byte 0x0000ffff @@ -3375,7 +991,7 @@ _081281B0: .4byte gSprites thumb_func_start FldEff_Dust FldEff_Dust: @ 81281B4 push {r4,lr} - ldr r4, _08128218 @ =gUnknown_0202FF84 + ldr r4, _08128218 @ =gFieldEffectSpawnParams adds r1, r4, 0x4 adds r0, r4, 0 movs r2, 0x8 @@ -3424,7 +1040,7 @@ _08128210: pop {r1} bx r1 .align 2, 0 -_08128218: .4byte gUnknown_0202FF84 +_08128218: .4byte gFieldEffectSpawnParams _0812821C: .4byte gFieldEffectObjectTemplatePointers _08128220: .4byte gSprites thumb_func_end FldEff_Dust @@ -3432,7 +1048,7 @@ _08128220: .4byte gSprites thumb_func_start FldEff_SandPile FldEff_SandPile: @ 8128224 push {r4-r7,lr} - ldr r7, _081282D0 @ =gUnknown_0202FF84 + ldr r7, _081282D0 @ =gFieldEffectSpawnParams ldrb r0, [r7] ldrb r1, [r7, 0x4] ldrb r2, [r7, 0x8] @@ -3515,7 +1131,7 @@ _081282C8: pop {r1} bx r1 .align 2, 0 -_081282D0: .4byte gUnknown_0202FF84 +_081282D0: .4byte gFieldEffectSpawnParams _081282D4: .4byte gMapObjects _081282D8: .4byte gFieldEffectObjectTemplatePointers _081282DC: .4byte gSprites @@ -3629,7 +1245,7 @@ _081283A8: .4byte gMapObjects thumb_func_start FldEff_Bubbles FldEff_Bubbles: @ 81283AC push {r4,lr} - ldr r4, _08128404 @ =gUnknown_0202FF84 + ldr r4, _08128404 @ =gFieldEffectSpawnParams adds r1, r4, 0x4 adds r0, r4, 0 movs r2, 0x8 @@ -3672,7 +1288,7 @@ _081283FC: pop {r1} bx r1 .align 2, 0 -_08128404: .4byte gUnknown_0202FF84 +_08128404: .4byte gFieldEffectSpawnParams _08128408: .4byte gFieldEffectObjectTemplatePointers _0812840C: .4byte gSprites thumb_func_end FldEff_Bubbles @@ -3714,7 +1330,7 @@ _0812844C: .4byte 0x00001004 thumb_func_start FldEff_BerryTreeGrowthSparkle FldEff_BerryTreeGrowthSparkle: @ 8128450 push {r4,lr} - ldr r4, _081284B8 @ =gUnknown_0202FF84 + ldr r4, _081284B8 @ =gFieldEffectSpawnParams adds r1, r4, 0x4 adds r0, r4, 0 movs r2, 0x8 @@ -3765,7 +1381,7 @@ _081284B0: pop {r1} bx r1 .align 2, 0 -_081284B8: .4byte gUnknown_0202FF84 +_081284B8: .4byte gFieldEffectSpawnParams _081284BC: .4byte gFieldEffectObjectTemplatePointers _081284C0: .4byte gSprites thumb_func_end FldEff_BerryTreeGrowthSparkle @@ -3816,7 +1432,7 @@ ShowDisguiseFieldEffect: @ 81284F4 lsrs r6, r1, 24 lsls r2, 24 lsrs r7, r2, 24 - ldr r5, _08128528 @ =gUnknown_0202FF84 + ldr r5, _08128528 @ =gFieldEffectSpawnParams ldrb r0, [r5] ldrb r1, [r5, 0x4] ldrb r2, [r5, 0x8] @@ -3830,7 +1446,7 @@ ShowDisguiseFieldEffect: @ 81284F4 movs r0, 0x40 b _08128598 .align 2, 0 -_08128528: .4byte gUnknown_0202FF84 +_08128528: .4byte gFieldEffectSpawnParams _0812852C: ldr r1, _081285A4 @ =gFieldEffectObjectTemplatePointers lsls r0, r6, 2 @@ -4084,7 +1700,7 @@ _081286FC: thumb_func_start FldEff_Sparkle FldEff_Sparkle: @ 8128700 push {r4,lr} - ldr r4, _08128768 @ =gUnknown_0202FF84 + ldr r4, _08128768 @ =gFieldEffectSpawnParams ldr r0, [r4] adds r0, 0x7 str r0, [r4] @@ -4135,7 +1751,7 @@ _08128760: pop {r1} bx r1 .align 2, 0 -_08128768: .4byte gUnknown_0202FF84 +_08128768: .4byte gFieldEffectSpawnParams _0812876C: .4byte gFieldEffectObjectTemplatePointers _08128770: .4byte gSprites thumb_func_end FldEff_Sparkle |