summaryrefslogtreecommitdiff
path: root/asm
diff options
context:
space:
mode:
authorYamaArashi <shadow962@live.com>2015-11-21 01:39:40 -0800
committerYamaArashi <shadow962@live.com>2015-11-21 01:39:40 -0800
commit08210ef39ea4b891ca7baacff23223b0301b2694 (patch)
tree5898027ec70afff99c17fe82d6df8064e52a3977 /asm
parenta580d84634775b538c7f3dd5b9e47170b6351006 (diff)
field object data
Diffstat (limited to 'asm')
-rw-r--r--asm/emerald.s60
-rw-r--r--asm/macros.s61
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