summaryrefslogtreecommitdiff
path: root/constants
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 /constants
parenta580d84634775b538c7f3dd5b9e47170b6351006 (diff)
field object data
Diffstat (limited to 'constants')
-rw-r--r--constants/constants.s1
-rw-r--r--constants/gba_constants.s43
-rw-r--r--constants/misc_constants.s18
3 files changed, 62 insertions, 0 deletions
diff --git a/constants/constants.s b/constants/constants.s
index e3f99c350..cdc8af9bd 100644
--- a/constants/constants.s
+++ b/constants/constants.s
@@ -14,3 +14,4 @@
.include "constants/battle_frontier_constants.s"
.include "constants/map_constants.s"
.include "constants/berry_constants.s"
+ .include "constants/field_object_constants.s"
diff --git a/constants/gba_constants.s b/constants/gba_constants.s
index ae2596e94..2a128faa6 100644
--- a/constants/gba_constants.s
+++ b/constants/gba_constants.s
@@ -367,3 +367,46 @@
.set REG_IF, REG_BASE + OFFSET_REG_IF
.set REG_WAITCNT, REG_BASE + OFFSET_REG_WAITCNT
+
+; OAM attribute constants
+
+ .set OAM_OBJ_NORMAL, 0x00000000
+ .set OAM_OBJ_BLEND, 0x00000400
+ .set OAM_OBJ_WINDOW, 0x00000800
+
+ .set OAM_AFFINE_NONE, 0x00000000
+ .set OAM_AFFINE_NORMAL_SIZE, 0x00000100
+ .set OAM_OBJ_DISABLED, 0x00000200
+ .set OAM_AFFINE_DOUBLE_SIZE, 0x00000300
+
+ .set OAM_MOSAIC_OFF, 0x00000000
+ .set OAM_MOSAIC_ON, 0x00001000
+
+ .set OAM_4BPP, 0x00000000
+ .set OAM_8BPP, 0x00002000
+
+ .set OAM_H_FLIP, 0x10000000
+ .set OAM_V_FLIP, 0x20000000
+
+ .set OAM_SQUARE, 0x00000000
+ .set OAM_H_RECTANGLE, 0x00004000
+ .set OAM_V_RECTANGLE, 0x00008000
+ .set OAM_SIZE_0, 0x00000000
+ .set OAM_SIZE_1, 0x40000000
+ .set OAM_SIZE_2, 0x80000000
+ .set OAM_SIZE_3, 0xc0000000
+
+ .set OAM_SIZE_8x8, OAM_SIZE_0 | OAM_SQUARE
+ .set OAM_SIZE_16x16, OAM_SIZE_1 | OAM_SQUARE
+ .set OAM_SIZE_32x32, OAM_SIZE_2 | OAM_SQUARE
+ .set OAM_SIZE_64x64, OAM_SIZE_3 | OAM_SQUARE
+
+ .set OAM_SIZE_16x8, OAM_SIZE_0 | OAM_H_RECTANGLE
+ .set OAM_SIZE_32x8, OAM_SIZE_1 | OAM_H_RECTANGLE
+ .set OAM_SIZE_32x16, OAM_SIZE_2 | OAM_H_RECTANGLE
+ .set OAM_SIZE_64x32, OAM_SIZE_3 | OAM_H_RECTANGLE
+
+ .set OAM_SIZE_8x16, OAM_SIZE_0 | OAM_V_RECTANGLE
+ .set OAM_SIZE_8x32, OAM_SIZE_1 | OAM_V_RECTANGLE
+ .set OAM_SIZE_16x32, OAM_SIZE_2 | OAM_V_RECTANGLE
+ .set OAM_SIZE_32x64, OAM_SIZE_3 | OAM_V_RECTANGLE
diff --git a/constants/misc_constants.s b/constants/misc_constants.s
index 81157fa89..5fa58cfe8 100644
--- a/constants/misc_constants.s
+++ b/constants/misc_constants.s
@@ -5,3 +5,21 @@
.set POKEMON_NAME_LENGTH, 11
.set MOVE_NAME_LENGTH, 13
+
+ .set SPRITE_SIZE_8x8, (OAM_SIZE_0 >> 28) | (OAM_SQUARE >> 14)
+ .set SPRITE_SIZE_16x16, (OAM_SIZE_1 >> 28) | (OAM_SQUARE >> 14)
+ .set SPRITE_SIZE_32x32, (OAM_SIZE_2 >> 28) | (OAM_SQUARE >> 14)
+ .set SPRITE_SIZE_64x64, (OAM_SIZE_3 >> 28) | (OAM_SQUARE >> 14)
+
+ .set SPRITE_SIZE_16x8, (OAM_SIZE_0 >> 28) | (OAM_H_RECTANGLE >> 14)
+ .set SPRITE_SIZE_32x8, (OAM_SIZE_1 >> 28) | (OAM_H_RECTANGLE >> 14)
+ .set SPRITE_SIZE_32x16, (OAM_SIZE_2 >> 28) | (OAM_H_RECTANGLE >> 14)
+ .set SPRITE_SIZE_64x32, (OAM_SIZE_3 >> 28) | (OAM_H_RECTANGLE >> 14)
+
+ .set SPRITE_SIZE_8x16, (OAM_SIZE_0 >> 28) | (OAM_V_RECTANGLE >> 14)
+ .set SPRITE_SIZE_8x32, (OAM_SIZE_1 >> 28) | (OAM_V_RECTANGLE >> 14)
+ .set SPRITE_SIZE_16x32, (OAM_SIZE_2 >> 28) | (OAM_V_RECTANGLE >> 14)
+ .set SPRITE_SIZE_32x64, (OAM_SIZE_3 >> 28) | (OAM_V_RECTANGLE >> 14)
+
+ .set OBJ_IMAGE_ANIM_H_FLIP, 1 << 6
+ .set OBJ_IMAGE_ANIM_V_FLIP, 1 << 7