diff options
author | YamaArashi <shadow962@live.com> | 2015-11-21 01:39:40 -0800 |
---|---|---|
committer | YamaArashi <shadow962@live.com> | 2015-11-21 01:39:40 -0800 |
commit | 08210ef39ea4b891ca7baacff23223b0301b2694 (patch) | |
tree | 5898027ec70afff99c17fe82d6df8064e52a3977 /asm | |
parent | a580d84634775b538c7f3dd5b9e47170b6351006 (diff) |
field object data
Diffstat (limited to 'asm')
-rw-r--r-- | asm/emerald.s | 60 | ||||
-rw-r--r-- | asm/macros.s | 61 |
2 files changed, 91 insertions, 30 deletions
diff --git a/asm/emerald.s b/asm/emerald.s index 9509c3ebc..f65d29a44 100644 --- a/asm/emerald.s +++ b/asm/emerald.s @@ -63415,7 +63415,7 @@ sub_8028408: ; 8028408 ldr r0, =gUnknown_082FB228 str r0, [sp, 0x20] str r3, [sp, 0x24] - ldr r0, =gUnknown_082EC6A8 + ldr r0, =gDummyObjectRotScalAnimTable str r0, [sp, 0x28] ldr r0, =sub_80284A8 str r0, [sp, 0x2C] @@ -260990,7 +260990,7 @@ sub_808E5F4: ; 808E5F4 bls @0808E648 movs r4, 0 @0808E648: - ldr r0, =gUnknown_0850C908 + ldr r0, =gBerryTreeFieldObjectGraphicsIdTablePointers lsls r4, 2 adds r0, r4, r0 ldr r0, [r0] @@ -260998,11 +260998,11 @@ sub_808E5F4: ; 808E5F4 ldrb r1, [r0] adds r0, r5, 0 bl sub_808E3F8 - ldr r0, =gUnknown_0850C7B0 + ldr r0, =gBerryTreePicTablePointers adds r0, r4, r0 ldr r0, [r0] str r0, [r7, 0xC] - ldr r0, =gUnknown_0850C85C + ldr r0, =gBerryTreePaletteSlotTablePointers adds r4, r0 ldr r0, [r4] adds r0, r6 @@ -261042,7 +261042,7 @@ npc_get_type: ; 808E694 bne @0808E6C4 bl sub_81201C8 lsls r0, 24 - ldr r1, =gUnknown_085059DC + ldr r1, =gMauvilleOldManGraphicsInfoPointers lsrs r0, 22 adds r0, r1 ldr r0, [r0] @@ -261054,7 +261054,7 @@ npc_get_type: ; 808E694 bls @0808E6CA movs r1, 0x5 @0808E6CA: - ldr r0, =gUnknown_08505620 + ldr r0, =gFieldObjectGraphicsInfoPointers lsls r1, 2 adds r1, r0 ldr r0, [r1] @@ -342848,10 +342848,10 @@ sub_80B5E6C: ; 80B5E6C strh r0, [r1, 0x2] ldr r0, =gUnknown_0855C210 str r0, [sp, 0x4] - ldr r0, =gUnknown_082EC69C + ldr r0, =gDummyObjectImageAnimTable str r0, [sp, 0x8] str r2, [sp, 0xC] - ldr r0, =gUnknown_082EC6A8 + ldr r0, =gDummyObjectRotScalAnimTable str r0, [sp, 0x10] ldr r0, =nullsub_12 str r0, [sp, 0x14] @@ -376962,10 +376962,10 @@ sub_80C7958: ; 80C7958 adds r0, 0x1E strh r2, [r0] str r4, [sp, 0x20] - ldr r0, =gUnknown_082EC69C + ldr r0, =gDummyObjectImageAnimTable str r0, [sp, 0x24] str r2, [sp, 0x28] - ldr r0, =gUnknown_082EC6A8 + ldr r0, =gDummyObjectRotScalAnimTable str r0, [sp, 0x2C] ldr r0, =nullsub_12 str r0, [sp, 0x30] @@ -472752,13 +472752,13 @@ sub_80F8B94: ; 80F8B94 cmp r0, 0 bne @080F8C2C lsrs r1, r4, 16 - ldr r0, =gUnknown_08499A18 + ldr r0, =gFieldObjectPalette33 b @080F8C42 .align 2, 0 .pool @080F8C2C: lsrs r1, r4, 16 - ldr r0, =gUnknown_084A54B8 + ldr r0, =gFieldObjectPalette34 b @080F8C42 .align 2, 0 .pool @@ -472767,7 +472767,7 @@ sub_80F8B94: ; 80F8B94 cmp r0, 0 bne @080F8C50 lsrs r1, r4, 16 - ldr r0, =gUnknown_084987F8 + ldr r0, =gFieldObjectPalette8 @080F8C42: movs r2, 0x20 bl gpu_pal_apply @@ -472776,7 +472776,7 @@ sub_80F8B94: ; 80F8B94 .pool @080F8C50: lsrs r1, r4, 16 - ldr r0, =gUnknown_084A4278 + ldr r0, =gFieldObjectPalette17 movs r2, 0x20 bl gpu_pal_apply @080F8C5A: @@ -551917,7 +551917,7 @@ sub_811FC80: ; 811FC80 ldr r0, =gUnknown_0859EF14 str r0, [r4, 0x8] str r7, [r4, 0xC] - ldr r0, =gUnknown_082EC6A8 + ldr r0, =gDummyObjectRotScalAnimTable str r0, [r4, 0x10] ldr r0, =nullsub_47 str r0, [r4, 0x14] @@ -552288,7 +552288,7 @@ sub_811FFD4: ; 811FFD4 ldr r0, =gUnknown_0859EFA4 str r0, [sp, 0x8] str r2, [sp, 0xC] - ldr r0, =gUnknown_082EC6A8 + ldr r0, =gDummyObjectRotScalAnimTable str r0, [sp, 0x10] ldr r0, =nullsub_47 str r0, [sp, 0x14] @@ -560914,7 +560914,7 @@ sub_8124288: ; 8124288 ldr r0, =gUnknown_085A1C30 str r0, [sp, 0x8] str r5, [sp, 0xC] - ldr r0, =gUnknown_082EC6A8 + ldr r0, =gDummyObjectRotScalAnimTable str r0, [sp, 0x10] ldr r0, =nullsub_12 str r0, [sp, 0x14] @@ -601223,17 +601223,17 @@ sub_813842C: ; 813842C beq @081384BC b @081384E6 @081384B2: - ldr r0, =gUnknown_08499A18 + ldr r0, =gFieldObjectPalette33 b @081384C6 .align 2, 0 .pool @081384BC: - ldr r0, =gUnknown_084A54B8 + ldr r0, =gFieldObjectPalette34 b @081384C6 .align 2, 0 .pool @081384C4: - ldr r0, =gUnknown_084987F8 + ldr r0, =gFieldObjectPalette8 @081384C6: movs r2, 0x80 lsls r2, 1 @@ -601244,7 +601244,7 @@ sub_813842C: ; 813842C .align 2, 0 .pool @081384D8: - ldr r0, =gUnknown_084A4278 + ldr r0, =gFieldObjectPalette17 movs r2, 0x80 lsls r2, 1 adds r1, r3, r2 @@ -612038,7 +612038,7 @@ evolution_cutscene: ; 813DA8C bl sub_806A068 ldr r0, =0x0202499c mov r8, r0 - ldr r1, =gUnknown_082EC6A8 + ldr r1, =gDummyObjectRotScalAnimTable str r1, [r0, 0x10] movs r1, 0x78 movs r2, 0x40 @@ -612092,7 +612092,7 @@ evolution_cutscene: ; 813DA8C mov r0, r10 movs r1, 0x3 bl sub_806A068 - ldr r0, =gUnknown_082EC6A8 + ldr r0, =gDummyObjectRotScalAnimTable mov r1, r8 str r0, [r1, 0x10] mov r0, r8 @@ -612295,7 +612295,7 @@ sub_813DD7C: ; 813DD7C movs r1, 0x3 bl sub_806A068 ldr r0, =0x0202499c - ldr r1, =gUnknown_082EC6A8 + ldr r1, =gDummyObjectRotScalAnimTable str r1, [r0, 0x10] movs r1, 0x78 movs r2, 0x40 @@ -612509,7 +612509,7 @@ sub_813DF70: ; 813DF70 movs r1, 0x1 bl sub_806A068 ldr r0, =0x0202499c - ldr r1, =gUnknown_082EC6A8 + ldr r1, =gDummyObjectRotScalAnimTable str r1, [r0, 0x10] movs r1, 0x78 movs r2, 0x40 @@ -612679,7 +612679,7 @@ sub_813E1D4: ; 813E1D4 movs r1, 0x1 bl sub_806A068 ldr r0, =0x0202499c - ldr r1, =gUnknown_082EC6A8 + ldr r1, =gDummyObjectRotScalAnimTable str r1, [r0, 0x10] movs r1, 0x78 movs r2, 0x40 @@ -654730,12 +654730,12 @@ dp03_step_water_reflection: ; 8153ED4 orrs r0, r1 mov r1, r8 strb r0, [r1] - ldr r0, =gUnknown_082EC69C + ldr r0, =gDummyObjectImageAnimTable str r0, [r7, 0x8] adds r0, r7, 0 movs r1, 0 bl obj_anim_image_start - ldr r0, =gUnknown_082EC6A8 + ldr r0, =gDummyObjectRotScalAnimTable str r0, [r7, 0x10] mov r1, r8 ldrb r0, [r1] @@ -766376,7 +766376,7 @@ oamt_spawn_poke_or_trainer_picture: ; 818D1EC bl uns_builder_assign_animtable1 mov r1, r8 str r1, [r5, 0xC] - ldr r0, =gUnknown_082EC6A8 + ldr r0, =gDummyObjectRotScalAnimTable str r0, [r5, 0x10] ldr r0, =nullsub_122 str r0, [r5, 0x14] @@ -766647,7 +766647,7 @@ sub_818D3E4: ; 818D3E4 @0818D510: ldr r0, =gUnknown_0860B064 str r0, [r4, 0x4] - ldr r0, =gUnknown_082EC6A8 + ldr r0, =gDummyObjectRotScalAnimTable str r0, [r4, 0x10] @0818D518: ldr r2, =nullsub_122 diff --git a/asm/macros.s b/asm/macros.s index 127296ffc..c79dc7af1 100644 --- a/asm/macros.s +++ b/asm/macros.s @@ -28,3 +28,64 @@ .macro zero_fill count .fill \count .endm + +; Berry trees have a table defining the palette slot used for each of their 5 +; stages. However, the first 2 stages always use the same slots regardless of +; the type of tree and the slots of the last 3 stages always equal each other. + .macro berry_tree_palette_slot_table slot + .byte 3, 4, \slot, \slot, \slot + .endm + + .macro sprite_oam x, y, priority, tile_num_offset, size + .byte \x + .byte \y + .2byte ((\priority) << 14) | ((\tile_num_offset) << 4) | SPRITE_SIZE_\size + .endm + + .macro obj_image_anim_frame pic_id, duration, flags = 0 + .2byte \pic_id + .byte (\flags) | (\duration) + .byte 0 ; padding + .endm + + .macro obj_image_anim_loop count + .2byte 0xfffd + .byte \count + .byte 0 ; padding + .endm + + .macro obj_image_anim_jump target_index + .2byte 0xfffe + .byte \target_index + .byte 0 ; padding + .endm + + .macro obj_image_anim_end + .2byte 0xffff + .2byte 0 ; padding + .endm + + .macro obj_rot_scal_anim_frame delta_x_scale, delta_y_scale, delta_angle, duration + .2byte \delta_x_scale + .2byte \delta_y_scale + .byte \delta_angle + .byte \duration + .2byte 0 ; padding + .endm + + .macro obj_rot_scal_anim_loop count + .2byte 0x7ffd + .2byte \count + .4byte 0 ; padding + .endm + + .macro obj_rot_scal_anim_jump target_index + .2byte 0x7ffe + .2byte \target_index + .4byte 0 ; padding + .endm + + .macro obj_rot_scal_anim_end + .2byte 0x7fff + .fill 6 ; padding + .endm |