summaryrefslogtreecommitdiff
path: root/constants
diff options
context:
space:
mode:
authorobskyr <powpowd@gmail.com>2018-07-03 04:50:33 +0200
committerobskyr <powpowd@gmail.com>2018-07-03 04:50:33 +0200
commit382fd4b50e27cea7e0f97839363235ea2eac14fa (patch)
treed9836c547ac68f14a4b1766453334812380d050b /constants
parentd26c5f6937518f891d7cb699e237e172588f4a26 (diff)
parent2dfc7fc635b13291588ba8aae65fd0ece7211799 (diff)
Merge branch 'collisions-movements' of https://github.com/Pokeglitch/pokegold-spaceworld into master
And that's the last of the manual merges for now! Hooray!
Diffstat (limited to 'constants')
-rw-r--r--constants/collision_constants.asm132
-rw-r--r--constants/map_object_constants.asm4
-rw-r--r--constants/metatile_constants.asm31
-rwxr-xr-xconstants/movement_constants.asm44
-rw-r--r--constants/sprite_constants.asm2
5 files changed, 213 insertions, 0 deletions
diff --git a/constants/collision_constants.asm b/constants/collision_constants.asm
new file mode 100644
index 0000000..ebe3856
--- /dev/null
+++ b/constants/collision_constants.asm
@@ -0,0 +1,132 @@
+; collision IDs are built like this:
+; 76543210
+; \__/|\_/
+; | | \-- SubType
+; | \---- Flag
+; \------ Type
+;
+; What exactly flag means or if it
+; means anything is up to Type.
+; Old Types:
+; ???
+; New Types:
+; 0 - Regular 8 - ???
+; 1 - Trees, Grass etc. 9 - Special Talk Action
+; 2 - Water A - Jump Action
+; 3 - Water 2 B - unused
+; 4 - Land C - unused
+; 5 - Land 2 D - unused
+; 6 - ??? E - unused
+; 7 - Warps F - unused
+
+COLLISION_TYPE_MASK EQU $f0
+COLLISION_SUBTYPE_MASK EQU $07
+COLLISION_WATER_SUBTYPE_MASK EQU $03
+
+COLLISION_FLAG EQU $08
+
+; old collision constants
+
+OLD_COLLISION_TYPE_REGULAR EQU $00
+OLD_COLLISION_TYPE_SCENERY EQU $10
+OLD_COLLISION_TYPE_WATER EQU $20
+OLD_COLLISION_TYPE_WATER2 EQU $40
+
+OLD_COLLISION_WALKABLE EQU $00
+OLD_COLLISION_SOLID EQU $01
+OLD_COLLISION_FLOOR EQU $03
+OLD_COLLISION_WALL EQU $04
+
+OLD_COLLISION_LEDGE EQU $11
+
+OLD_COLLISION_WATER2_S EQU $40
+
+OLD_COLLISION_ROCK EQU $51
+
+OLD_COLLISION_CARPED EQU $60
+OLD_COLLISION_DOOR EQU $61
+
+OLD_COLLISION_SIGNPOST EQU $70
+OLD_COLLISION_SHOP_SIGN EQU $71
+OLD_COLLISION_MART_ITEM EQU $72
+OLD_COLLISION_COUNTER EQU $73
+
+OLD_COLLISION_CUT_TREE EQU $80
+OLD_COLLISION_GRASS EQU $82
+
+; new collision constants
+
+COLLISION_TYPE_REGULAR EQU $00
+COLLISION_TYPE_SCENERY EQU $10
+COLLISION_TYPE_WATER EQU $20
+COLLISION_TYPE_WATER2 EQU $30
+COLLISION_TYPE_LAND EQU $40
+COLLISION_TYPE_LAND2 EQU $50
+COLLISION_TYPE_UNK EQU $60
+COLLISION_TYPE_WARPS EQU $70
+COLLISION_TYPE_UNKN2 EQU $80
+COLLISION_TYPE_SPECIAL EQU $90
+COLLISION_TYPE_JUMP EQU $A0
+
+COLLISION_WALKABLE EQU $00
+COLLISION_SOLID EQU $07
+COLLISION_CUT_TREE EQU $12
+COLLISION_GRASS EQU $18
+
+; water collisions
+
+COLLISION_WATER EQU $21
+COLLISION_WATERFALL EQU $22
+COLLISION_WATER_SOLID EQU $27
+
+; water collisions 2
+COLLISION_WATER2_E EQU $30
+COLLISION_WATER2_W EQU $31
+COLLISION_WATER2_N EQU $32
+COLLISION_WATER2_S EQU $33
+; $34..$37 will behave like COLLISION_WATER2_E..COLLISION_WATER2_S
+
+; land collisions
+COLLISION_LAND_SLOW EQU $40
+COLLISION_LAND_E EQU $41
+COLLISION_LAND_W EQU $42
+COLLISION_LAND_N EQU $43
+COLLISION_LAND_S EQU $44
+; $45..$47 will behave like COLLISION_LAND_E
+
+; land collisions 2
+COLLISION_LAND2_E EQU $50
+COLLISION_LAND2_W EQU $51
+COLLISION_LAND2_N EQU $52
+COLLISION_LAND2_S EQU $53
+; $54..$57 will behave like COLLISION_LAND2_E
+
+
+; warp collisions
+COLLISION_CARPET EQU $70
+COLLISION_DOOR EQU $71
+COLLISION_STEPS EQU $72
+
+; special collisions
+COLLISION_COUNTER EQU $90
+COLLISION_BOOKCASE EQU $91
+COLLISION_PC EQU $93
+COLLISION_RADIO EQU $94
+COLLISION_SIGNPOST EQU $95
+COLLISION_STRAIGHT_SIGNPOST EQU $97
+
+; jump collisions
+; perform jump in marked direction, else
+; regular walking
+COLLISION_JUMP_E EQU $a0
+COLLISION_JUMP_W EQU $a1
+COLLISION_JUMP_N EQU $a2
+COLLISION_JUMP_S EQU $a3
+COLLISION_JUMP_SE EQU $a4
+COLLISION_JUMP_SW EQU $a5
+COLLISION_JUMP_NE EQU $a6
+COLLISION_JUMP_NW EQU $a7
+
+NEVER_SOLID EQU 0
+SOMETIMES_SOLID EQU 1
+ALWAYS_SOLID EQU 15
diff --git a/constants/map_object_constants.asm b/constants/map_object_constants.asm
index c9bce93..81c52a3 100644
--- a/constants/map_object_constants.asm
+++ b/constants/map_object_constants.asm
@@ -70,3 +70,7 @@ MAPOBJECTTEMPLATE_SCRIPT_POINTER rb 1 ; 9
MAPOBJECTTEMPLATE_POINTER_HI rb 1 ; a
MAPOBJECTTEMPLATE_EVENT_FLAG rw 1 ; b
MAP_OBJECT_TEMPLATE_LENGTH SET _RS
+
+PLAYER_OBJECT_INDEX EQU 1
+COMPANION_OBJECT_INDEX EQU 2
+NUM_OBJECT_STRUCTS EQU 10
diff --git a/constants/metatile_constants.asm b/constants/metatile_constants.asm
new file mode 100644
index 0000000..88d54ab
--- /dev/null
+++ b/constants/metatile_constants.asm
@@ -0,0 +1,31 @@
+; all outside tileset share certain metatiles
+; this is used in overworld code when editing the map
+; D - dirt
+; L - lawn
+; T - small tree
+; C - cut tree
+; G - grass
+METATILE_GROUND EQU $01 ; DD
+ ; DD
+METATILE_LAWN EQU $04 ; LL
+ ; LL
+METATILE_SMALL_TREES_N EQU $25 ; TT
+ ; LL
+METATILE_SMALL_TREES_W EQU $28 ; TL
+ ; TL
+METATILE_SMALL_TREES_E EQU $2a ; LT
+ ; LT
+METATILE_CUT_SE_TREES_N EQU $30 ; TT
+ ; LC
+METATILE_CUT_NW_TREES_E EQU $31 ; CT
+ ; LT
+METATILE_CUT_NE_TREE_NW EQU $32 ; TC
+ ; LL
+METATILE_CUT_NE_TREE_SE EQU $33 ; LC
+ ; LT
+METATILE_SMALL_TREE_NW EQU $34 ; TL
+ ; LL
+METATILE_SMALL_TREE_SE EQU $35 ; TL
+ ; LL
+METATILE_GRASS EQU $3b ; GG
+ ; GG
diff --git a/constants/movement_constants.asm b/constants/movement_constants.asm
new file mode 100755
index 0000000..f0c1a88
--- /dev/null
+++ b/constants/movement_constants.asm
@@ -0,0 +1,44 @@
+ const_def
+ const FACE_DOWN ; $00
+ const FACE_UP ; $01
+ const FACE_LEFT ; $02
+ const FACE_RIGHT ; $03
+ const SLOW_STEP_DOWN ; $04
+ const SLOW_STEP_UP ; $05
+ const SLOW_STEP_LEFT ; $06
+ const SLOW_STEP_RIGHT ; $07
+ const STEP_DOWN ; $08
+ const STEP_UP ; $09
+ const STEP_LEFT ; $0a
+ const STEP_RIGHT ; $0b
+ const FAST_STEP_DOWN ; $0c
+ const FAST_STEP_UP ; $0d
+ const FAST_STEP_LEFT ; $0e
+ const FAST_STEP_RIGHT ; $0f
+ const FAST_STEP_DOWN2 ; $10
+ const FAST_STEP_UP2 ; $11
+ const FAST_STEP_LEFT2 ; $12
+ const FAST_STEP_RIGHT2 ; $13
+ const SLOW_JUMP_DOWN ; $14
+ const SLOW_JUMP_UP ; $15
+ const SLOW_JUMP_LEFT ; $16
+ const SLOW_JUMP_RIGHT ; $17
+ const JUMP_DOWN ; $18
+ const JUMP_UP ; $19
+ const JUMP_LEFT ; $1a
+ const JUMP_RIGHT ; $1b
+ const FAST_JUMP_DOWN ; $1c
+ const FAST_JUMP_UP ; $1d
+ const FAST_JUMP_LEFT ; $1e
+ const FAST_JUMP_RIGHT ; $1f
+ const FAST_JUMP_DOWN2 ; $20
+ const FAST_JUMP_UP2 ; $21
+ const FAST_JUMP_LEFT2 ; $22
+ const FAST_JUMP_RIGHT2 ; $23
+ const MOVEMENT_24 ; $24
+ const MOVEMENT_25 ; $25
+ const MOVEMENT_26 ; $26
+ const MOVEMENT_27 ; $27
+ const MOVEMENT_28 ; $28
+ const MOVEMENT_29 ; $29
+ const NO_MOVEMENT ; $2a
diff --git a/constants/sprite_constants.asm b/constants/sprite_constants.asm
index 50b5d84..c53866b 100644
--- a/constants/sprite_constants.asm
+++ b/constants/sprite_constants.asm
@@ -91,3 +91,5 @@
const SPRITE_59 ; 59 duplicate SPRITE_OLD_LINK_RECEPTIONIST
const SPRITE_EGG ; 5a
const SPRITE_BOULDER ; 5b
+
+SPRITE_TILE_SIZE EQU 64