mirror of
https://github.com/pret/pokegold-spaceworld.git
synced 2026-04-25 15:39:32 -05:00
Some checks failed
CI / build (push) Has been cancelled
* Started labelling dumped bank 1 functions, identified movement values * Changed all NPCs to use the new movement constants * Updated the rest of the movement constant instances, removed the old movement_constants.asm * Ready to deal the finishing blow to bank01.asm * Bank 01 is no more. Other scattered changes. * Labelled a few flags and matched a few variables with pokegold * Finished labelling bank02.asm too while I was at it
252 lines
8.6 KiB
NASM
252 lines
8.6 KiB
NASM
rsreset
|
|
DEF OBJECT_SPRITE rb ; 00
|
|
DEF OBJECT_MAP_OBJECT_INDEX rb ; 01
|
|
DEF OBJECT_SPRITE_TILE rb ; 02
|
|
DEF OBJECT_MOVEMENT_TYPE rb ; 03
|
|
DEF OBJECT_FLAGS1 rb ; 04
|
|
DEF OBJECT_FLAGS2 rb ; 05
|
|
DEF OBJECT_WALKING rb ; 06
|
|
DEF OBJECT_DIRECTION rb ; 07
|
|
DEF OBJECT_STEP_TYPE rb ; 08
|
|
DEF OBJECT_STEP_DURATION rb ; 09
|
|
DEF OBJECT_ACTION rb ; 0a
|
|
DEF OBJECT_STEP_FRAME rb ; 0b
|
|
DEF OBJECT_0C rb ; 0c
|
|
DEF OBJECT_FACING rb ; 0d
|
|
DEF OBJECT_TILE_COLLISION rb ; 0e
|
|
DEF OBJECT_LAST_TILE rb ; 0f
|
|
DEF OBJECT_MAP_X rb ; 10
|
|
DEF OBJECT_MAP_Y rb ; 11
|
|
DEF OBJECT_LAST_MAP_X rb ; 12
|
|
DEF OBJECT_LAST_MAP_Y rb ; 13
|
|
DEF OBJECT_INIT_X rb ; 14
|
|
DEF OBJECT_INIT_Y rb ; 15
|
|
DEF OBJECT_RADIUS_X rb ; 16
|
|
DEF OBJECT_RADIUS_Y rb ; 17
|
|
DEF OBJECT_SPRITE_X rb ; 18
|
|
DEF OBJECT_SPRITE_Y rb ; 19
|
|
DEF OBJECT_SPRITE_X_OFFSET rb ; 1a
|
|
DEF OBJECT_SPRITE_Y_OFFSET rb ; 1b
|
|
DEF OBJECT_MOVEMENT_INDEX rb ; 1c
|
|
DEF OBJECT_JUMPTABLE_INDEX rb ; 1d
|
|
DEF OBJECT_1E rb ; 1e
|
|
DEF OBJECT_JUMP_HEIGHT rb ; 1f
|
|
DEF OBJECT_RANGE rb ; 20
|
|
DEF OBJECT_21 rb ; 21
|
|
rb_skip 6
|
|
DEF OBJECT_LENGTH EQU _RS
|
|
DEF NUM_OBJECT_STRUCTS EQU 10
|
|
DEF UNKNOWN_STRUCT EQU 0
|
|
DEF PLAYER_STRUCT EQU 1
|
|
DEF FOLLOWER_STRUCT EQU 2
|
|
|
|
; object_struct OBJECT_DIRECTION values
|
|
DEF OW_DOWN EQU DOWN << 2
|
|
DEF OW_UP EQU UP << 2
|
|
DEF OW_LEFT EQU LEFT << 2
|
|
DEF OW_RIGHT EQU RIGHT << 2
|
|
|
|
; object_struct OBJECT_FLAGS1 bit flags
|
|
const_def
|
|
shift_const INVISIBLE ; 0
|
|
shift_const WONT_DELETE ; 1
|
|
shift_const FIXED_FACING ; 2
|
|
shift_const SLIDING ; 3
|
|
shift_const COLLISION_TILES ; 4
|
|
shift_const NOCLIP_NOT_SET ; 5
|
|
shift_const COLLISION_OBJS ; 6
|
|
shift_const CENTERED_OBJECT ; 7
|
|
|
|
; object_struct OBJECT_FLAGS2 bit flags
|
|
const_def
|
|
shift_const LOW_PRIORITY ; 0
|
|
shift_const HIGH_PRIORITY ; 1
|
|
shift_const BOULDER_MOVING ; 2
|
|
shift_const OVERHEAD ; 3
|
|
shift_const USE_OBP1 ; 4
|
|
shift_const FROZEN ; 5
|
|
shift_const OFF_SCREEN ; 6
|
|
shift_const OBJ_FLAGS2_7 ; 7
|
|
|
|
; facing attribute bit flags
|
|
const_def
|
|
shift_const FACING_DONE ; 0
|
|
shift_const RELATIVE_ATTRIBUTES ; 1
|
|
|
|
; Minor object struct
|
|
rsreset
|
|
DEF MINOR_OBJECT_PARENT_OBJECT rb ; 00
|
|
DEF MINOR_OBJECT_TYPE rb ; 01
|
|
DEF MINOR_OBJECT_ANIM rb ; 02
|
|
DEF MINOR_OBJECT_SPRITE_TILE rb ; 03
|
|
DEF MINOR_OBJECT_X_POS rb ; 04
|
|
DEF MINOR_OBJECT_Y_POS rb ; 05
|
|
DEF MINOR_OBJECT_X_OFFSET rb ; 06
|
|
DEF MINOR_OBJECT_Y_OFFSET rb ; 07
|
|
DEF MINOR_OBJECT_08 rb ; 08
|
|
DEF MINOR_OBJECT_ANIM_TIMER rb ; 09
|
|
DEF MINOR_OBJECT_JUMPTABLE_INDEX rb ; 0a
|
|
DEF MINOR_OBJECT_TIMER rb ; 0b
|
|
DEF MINOR_OBJECT_FRAME rb ; 0c
|
|
DEF MINOR_OBJECT_VAR1 rb ; 0d
|
|
DEF MINOR_OBJECT_VAR2 rb ; 0e
|
|
DEF MINOR_OBJECT_VAR3 rb ; 0f
|
|
DEF MINOR_OBJECT_LENGTH EQU _RS
|
|
DEF NUM_MINOR_OBJECTS EQU 4
|
|
|
|
; MinorObject types
|
|
const_def
|
|
const MINOR_OBJECT_TYPE_NULL ; 0
|
|
const MINOR_OBJECT_TYPE_SHADOW ; 1
|
|
const MINOR_OBJECT_TYPE_EMOTE ; 2
|
|
const MINOR_OBJECT_TYPE_03 ; 3
|
|
const MINOR_OBJECT_TYPE_04 ; 4
|
|
const MINOR_OBJECT_TYPE_BOULDER_DUST ; 5
|
|
DEF NUM_MINOR_OBJECT_TYPES EQU const_value
|
|
|
|
; MinorObject animations
|
|
const_def
|
|
const MINOR_OBJECT_ANIM_NULL ; 0
|
|
const MINOR_OBJECT_ANIM_SHADOW ; 1
|
|
const MINOR_OBJECT_ANIM_EMOTE ; 2
|
|
const MINOR_OBJECT_ANIM_03 ; 3
|
|
const MINOR_OBJECT_ANIM_BOULDER_DUST ; 4
|
|
DEF NUM_MINOR_OBJECT_ANIMATIONS EQU const_value
|
|
|
|
; MinorObjectSpriteTiles indexes
|
|
const_def
|
|
const MINOR_OBJECT_SPRITE_NULL ; 0
|
|
const MINOR_OBJECT_SPRITE_EMOTE ; 1
|
|
const MINOR_OBJECT_SPRITE_SHADOW ; 2
|
|
const MINOR_OBJECT_SPRITE_BOULDER_DUST_1 ; 3
|
|
const MINOR_OBJECT_SPRITE_BOULDER_DUST_2 ; 4
|
|
DEF NUM_MINOR_OBJECT_SPRITES EQU const_value
|
|
|
|
; MinorObjectGFX indexes (see _LoadMinorObjectGFX)
|
|
const_def
|
|
const MINOR_OBJECT_GFX_NULL ; 0
|
|
const MINOR_OBJECT_GFX_SHADOW ; 1
|
|
const MINOR_OBJECT_GFX_UNKNOWN_BOUNCING_ORB ; 2
|
|
const MINOR_OBJECT_GFX_SHOCK_EMOTE ; 3
|
|
const MINOR_OBJECT_GFX_QUESTION_EMOTE ; 4
|
|
const MINOR_OBJECT_GFX_HAPPY_EMOTE ; 5
|
|
const MINOR_OBJECT_GFX_BOULDER_DUST ; 6
|
|
const MINOR_OBJECT_GFX_GRAMPS_STAND_1 ; 7
|
|
const MINOR_OBJECT_GFX_GRAMPS_STAND_2 ; 8
|
|
const MINOR_OBJECT_GFX_GRAMPS_WALK_1 ; 9
|
|
const MINOR_OBJECT_GFX_GRAMPS_WALK_2 ; a
|
|
const MINOR_OBJECT_GFX_CLEFAIRY_STAND_1 ; b
|
|
const MINOR_OBJECT_GFX_CLEFAIRY_STAND_2 ; c
|
|
const MINOR_OBJECT_GFX_CLEFAIRY_WALK_1 ; d
|
|
const MINOR_OBJECT_GFX_CLEFAIRY_WALK_2 ; e
|
|
DEF NUM_MINOR_OBJECT_GFX_ENTRIES EQU const_value
|
|
|
|
|
|
rsreset
|
|
DEF MAPOBJECT_OBJECT_STRUCT_ID rb ; 0
|
|
DEF MAPOBJECT_SPRITE rb ; 1
|
|
DEF MAPOBJECT_Y_COORD rb ; 2
|
|
DEF MAPOBJECT_X_COORD rb ; 3
|
|
DEF MAPOBJECT_MOVEMENT rb ; 4
|
|
DEF MAPOBJECT_RADIUS rb ; 5
|
|
DEF MAPOBJECT_HOUR rb ; 6
|
|
DEF MAPOBJECT_TIMEOFDAY rb ; 7
|
|
DEF MAPOBJECT_PALETTE rb ; 8
|
|
DEF MAPOBJECT_SIGHT_RANGE rb ; 9
|
|
DEF MAPOBJECT_SCRIPT_POINTER rw ; a
|
|
DEF MAPOBJECT_EVENT_FLAG rw
|
|
rb_skip 2
|
|
DEF MAPOBJECT_LENGTH EQU _RS
|
|
DEF NUM_OBJECTS EQU 16
|
|
DEF PLAYER_OBJECT EQU 0
|
|
|
|
DEF MAPOBJECT_SCREEN_WIDTH EQU (SCREEN_WIDTH / 2) + 2
|
|
DEF MAPOBJECT_SCREEN_HEIGHT EQU (SCREEN_HEIGHT / 2) + 2
|
|
|
|
; StepFunction_FromMovement.Pointers indexes (see engine/overworld/map_objects.asm)
|
|
const_def
|
|
const SPRITEMOVEFN_00 ; 00
|
|
const SPRITEMOVEFN_RANDOM_WALK_XY ; 01
|
|
const SPRITEMOVEFN_RANDOM_SPIN ; 02
|
|
const SPRITEMOVEFN_RANDOM_WALK_Y ; 03
|
|
const SPRITEMOVEFN_RANDOM_WALK_X ; 04
|
|
const SPRITEMOVEFN_TURN_DOWN ; 05
|
|
const SPRITEMOVEFN_TURN_UP ; 06
|
|
const SPRITEMOVEFN_TURN_LEFT ; 07
|
|
const SPRITEMOVEFN_TURN_RIGHT ; 08
|
|
const_skip 7 ; 09-0f
|
|
const SPRITEMOVEFN_OBEY_DPAD ; 10
|
|
const SPRITEMOVEFN_INDEXED_1 ; 11
|
|
const SPRITEMOVEFN_INDEXED_2 ; 12
|
|
const SPRITEMOVEFN_FOLLOW_1 ; 13
|
|
const SPRITEMOVEFN_14 ; 14
|
|
const SPRITEMOVEFN_15 ; 15
|
|
const SPRITEMOVEFN_16 ; 16
|
|
const SPRITEMOVEFN_17 ; 17, used by debug cursor
|
|
const SPRITEMOVEFN_FOLLOW_2 ; 18
|
|
const SPRITEMOVEFN_SCRIPTED ; 19
|
|
const SPRITEMOVEFN_1A ; 1a
|
|
DEF NUM_SPRITEMOVEFN EQU const_value
|
|
|
|
; StepTypesJumptable indexes (see engine/overworld/map_objects.asm)
|
|
const_def
|
|
const STEP_TYPE_RESET ; 00
|
|
const STEP_TYPE_FROM_MOVEMENT ; 01
|
|
const STEP_TYPE_NPC_WALK ; 02
|
|
const STEP_TYPE_SLEEP ; 03
|
|
const STEP_TYPE_STANDING ; 04
|
|
const STEP_TYPE_PLAYER_WALK ; 05
|
|
const STEP_TYPE_CONTINUE_WALK ; 06
|
|
const STEP_TYPE_OBEY_DPAD ; 07
|
|
const STEP_TYPE_INDEXED_1 ; 08
|
|
const STEP_TYPE_INDEXED_2 ; 09
|
|
const STEP_TYPE_FOLLOW ; 0a
|
|
const_skip 4 ; 0b-0e
|
|
const STEP_TYPE_NPC_JUMP ; 0f
|
|
const STEP_TYPE_PLAYER_JUMP ; 10
|
|
const STEP_TYPE_TELEPORT_FROM ; 11
|
|
const STEP_TYPE_TELEPORT_TO ; 12
|
|
const STEP_TYPE_13 ; 13
|
|
DEF NUM_STEP_TYPES EQU const_value
|
|
|
|
rsreset
|
|
DEF MAPOBJECTTEMPLATE_SPRITE rb 1 ; 0
|
|
DEF MAPOBJECTTEMPLATE_Y_COORD rb 1 ; 1
|
|
DEF MAPOBJECTTEMPLATE_X_COORD rb 1 ; 2
|
|
DEF MAPOBJECTTEMPLATE_MOVEMENT rb 1 ; 3
|
|
DEF MAPOBJECTTEMPLATE_RADIUS rb 1 ; 4
|
|
DEF MAPOBJECTTEMPLATE_HOUR rb 1 ; 5
|
|
DEF MAPOBJECTTEMPLATE_TIMEOFDAY rb 1 ; 6
|
|
DEF MAPOBJECTTEMPLATE_COLOR rb 1 ; 7
|
|
DEF MAPOBJECTTEMPLATE_RANGE rb 1 ; 8
|
|
DEF MAPOBJECTTEMPLATE_SCRIPT_POINTER rb 1 ; 9
|
|
DEF MAPOBJECTTEMPLATE_POINTER_HI rb 1 ; a
|
|
DEF MAPOBJECTTEMPLATE_EVENT_FLAG rw 1 ; b
|
|
DEF MAP_OBJECT_TEMPLATE_LENGTH EQU _RS
|
|
|
|
DEF SPRITE_GFX_LIST_CAPACITY EQU 12 ; see wUsedSprites
|
|
|
|
DEF PLAYER_OBJECT_INDEX EQU 1
|
|
DEF FOLLOWER_OBJECT_INDEX EQU 2
|
|
|
|
; ObjectActionPairPointers indexes (see engine/overworld/map_object_action.asm)
|
|
const_def
|
|
const OBJECT_ACTION_00 ; 00
|
|
const OBJECT_ACTION_STEP ; 01
|
|
const OBJECT_ACTION_STAND ; 02
|
|
const OBJECT_ACTION_SPIN ; 03
|
|
DEF NUM_OBJECT_ACTIONS EQU const_value
|
|
|
|
|
|
; DoPlayerMovement.DoStep arguments (see engine/overworld/player_movement.asm)
|
|
const_def
|
|
const STEP_SLOW ; 0
|
|
const STEP_WALK ; 1
|
|
const STEP_BIKE ; 2
|
|
const STEP_FASTEST ; 3
|
|
const STEP_ICE ; 4
|
|
const STEP_TURN ; 5
|
|
const STEP_BACK_LEDGE ; 6
|
|
const STEP_WALK_IN_PLACE ; 7
|
|
DEF NUM_STEPS EQU const_value
|