diff options
Diffstat (limited to 'constants')
| -rw-r--r-- | constants/collision_constants.asm | 132 | ||||
| -rw-r--r-- | constants/map_object_constants.asm | 4 | ||||
| -rw-r--r-- | constants/metatile_constants.asm | 31 | ||||
| -rwxr-xr-x | constants/movement_constants.asm | 44 | ||||
| -rw-r--r-- | constants/sprite_constants.asm | 2 |
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 |
