You've already forked pokecrystal-board
mirror of
https://gitlab.com/xCrystal/pokecrystal-board.git
synced 2025-09-08 08:13:02 -07:00
More constants, related to map objects
This commit is contained in:
@@ -3,6 +3,7 @@ MAP_N_A EQU -1
|
|||||||
GROUP_NONE EQU 0
|
GROUP_NONE EQU 0
|
||||||
MAP_NONE EQU 0
|
MAP_NONE EQU 0
|
||||||
|
|
||||||
|
|
||||||
; map header struct members (see data/maps/definitions.asm)
|
; map header struct members (see data/maps/definitions.asm)
|
||||||
const_def
|
const_def
|
||||||
const MAPDEF_MAPDATA_BANK ; 0
|
const MAPDEF_MAPDATA_BANK ; 0
|
||||||
@@ -67,6 +68,75 @@ const_value set 1
|
|||||||
shift_const NORTH
|
shift_const NORTH
|
||||||
|
|
||||||
|
|
||||||
|
; SpawnPoints indexes (see data/maps/spawn_points.asm)
|
||||||
|
const_value = -1
|
||||||
|
const SPAWN_N_A
|
||||||
|
const SPAWN_HOME
|
||||||
|
const SPAWN_DEBUG
|
||||||
|
; kanto
|
||||||
|
const SPAWN_PALLET
|
||||||
|
const SPAWN_VIRIDIAN
|
||||||
|
const SPAWN_PEWTER
|
||||||
|
const SPAWN_CERULEAN
|
||||||
|
const SPAWN_ROCK_TUNNEL
|
||||||
|
const SPAWN_VERMILION
|
||||||
|
const SPAWN_LAVENDER
|
||||||
|
const SPAWN_SAFFRON
|
||||||
|
const SPAWN_CELADON
|
||||||
|
const SPAWN_FUCHSIA
|
||||||
|
const SPAWN_CINNABAR
|
||||||
|
const SPAWN_INDIGO
|
||||||
|
; johto
|
||||||
|
const SPAWN_NEW_BARK
|
||||||
|
const SPAWN_CHERRYGROVE
|
||||||
|
const SPAWN_VIOLET
|
||||||
|
const SPAWN_UNION_CAVE
|
||||||
|
const SPAWN_AZALEA
|
||||||
|
const SPAWN_CIANWOOD
|
||||||
|
const SPAWN_GOLDENROD
|
||||||
|
const SPAWN_OLIVINE
|
||||||
|
const SPAWN_ECRUTEAK
|
||||||
|
const SPAWN_MAHOGANY
|
||||||
|
const SPAWN_LAKE
|
||||||
|
const SPAWN_BLACKTHORN
|
||||||
|
const SPAWN_MT_SILVER
|
||||||
|
const SPAWN_FAST_SHIP
|
||||||
|
NUM_SPAWNS EQU const_value
|
||||||
|
|
||||||
|
|
||||||
|
; outdoor sprite limits (see engine/overworld.asm)
|
||||||
|
MAX_OUTDOOR_SPRITES EQU 23
|
||||||
|
SPRITE_GFX_LIST_CAPACITY EQU $20
|
||||||
|
|
||||||
|
|
||||||
|
; map_object struct members (see macros/wram.asm)
|
||||||
|
const_def
|
||||||
|
const MAPOBJECT_OBJECT_STRUCT_ID ; 0
|
||||||
|
const MAPOBJECT_SPRITE ; 1
|
||||||
|
const MAPOBJECT_Y_COORD ; 2
|
||||||
|
const MAPOBJECT_X_COORD ; 3
|
||||||
|
const MAPOBJECT_MOVEMENT ; 4
|
||||||
|
const MAPOBJECT_RADIUS ; 5
|
||||||
|
const MAPOBJECT_HOUR ; 6
|
||||||
|
const MAPOBJECT_TIMEOFDAY ; 7
|
||||||
|
const MAPOBJECT_COLOR ; 8
|
||||||
|
const MAPOBJECT_RANGE ; 9
|
||||||
|
const MAPOBJECT_SCRIPT_POINTER ; a
|
||||||
|
const MAPOBJECT_POINTER_HI ; b
|
||||||
|
const MAPOBJECT_EVENT_FLAG ; c
|
||||||
|
const MAPOBJECT_FLAG_HI ; d
|
||||||
|
const MAPOBJECT_E ; unused
|
||||||
|
const MAPOBJECT_F ; unused
|
||||||
|
OBJECT_LENGTH EQU const_value
|
||||||
|
|
||||||
|
MAPOBJECT_SCREEN_HEIGHT EQU 11
|
||||||
|
MAPOBJECT_SCREEN_WIDTH EQU 12
|
||||||
|
|
||||||
|
; NPCs disappear if standing on tile $60-$7f or $e0-$ff,
|
||||||
|
; since those IDs are for text characters and textbox frames.
|
||||||
|
MAPOBJECT_VISIBLE_TILE_LIMIT EQU $60
|
||||||
|
|
||||||
|
|
||||||
; object_struct members (see macros/wram.asm)
|
; object_struct members (see macros/wram.asm)
|
||||||
const_def
|
const_def
|
||||||
const OBJECT_SPRITE ; 00
|
const OBJECT_SPRITE ; 00
|
||||||
@@ -106,29 +176,6 @@ const_value set 1
|
|||||||
OBJECT_STRUCT_LENGTH EQU 40
|
OBJECT_STRUCT_LENGTH EQU 40
|
||||||
NUM_OBJECT_STRUCTS EQU 13 ; see ObjectStructs
|
NUM_OBJECT_STRUCTS EQU 13 ; see ObjectStructs
|
||||||
|
|
||||||
; map_object struct members (see macros/wram.asm)
|
|
||||||
const_def
|
|
||||||
const MAPOBJECT_OBJECT_STRUCT_ID ; 0
|
|
||||||
const MAPOBJECT_SPRITE ; 1
|
|
||||||
const MAPOBJECT_Y_COORD ; 2
|
|
||||||
const MAPOBJECT_X_COORD ; 3
|
|
||||||
const MAPOBJECT_MOVEMENT ; 4
|
|
||||||
const MAPOBJECT_RADIUS ; 5
|
|
||||||
const MAPOBJECT_HOUR ; 6
|
|
||||||
const MAPOBJECT_TIMEOFDAY ; 7
|
|
||||||
const MAPOBJECT_COLOR ; 8
|
|
||||||
const MAPOBJECT_RANGE ; 9
|
|
||||||
const MAPOBJECT_SCRIPT_POINTER ; a
|
|
||||||
const MAPOBJECT_POINTER_HI ; b
|
|
||||||
const MAPOBJECT_EVENT_FLAG ; c
|
|
||||||
const MAPOBJECT_FLAG_HI ; d
|
|
||||||
const MAPOBJECT_E ; unused
|
|
||||||
const MAPOBJECT_F ; unused
|
|
||||||
OBJECT_LENGTH EQU const_value
|
|
||||||
|
|
||||||
MAPOBJECT_SCREEN_HEIGHT EQU 11
|
|
||||||
MAPOBJECT_SCREEN_WIDTH EQU 12
|
|
||||||
|
|
||||||
; object_struct OBJECT_FACING values
|
; object_struct OBJECT_FACING values
|
||||||
OW_DOWN EQU DOWN << 2
|
OW_DOWN EQU DOWN << 2
|
||||||
OW_UP EQU UP << 2
|
OW_UP EQU UP << 2
|
||||||
@@ -140,44 +187,3 @@ INVISIBLE EQU 0
|
|||||||
FIXED_FACING EQU 2
|
FIXED_FACING EQU 2
|
||||||
SLIDING EQU 3
|
SLIDING EQU 3
|
||||||
EMOTE_OBJECT EQU 7
|
EMOTE_OBJECT EQU 7
|
||||||
|
|
||||||
|
|
||||||
; see engine/overworld.asm
|
|
||||||
MAX_OUTDOOR_SPRITES EQU 23
|
|
||||||
SPRITE_GFX_LIST_CAPACITY EQU $20
|
|
||||||
|
|
||||||
|
|
||||||
; SpawnPoints indexes (see data/maps/spawn_points.asm)
|
|
||||||
const_value = -1
|
|
||||||
const SPAWN_N_A
|
|
||||||
const SPAWN_HOME
|
|
||||||
const SPAWN_DEBUG
|
|
||||||
; kanto
|
|
||||||
const SPAWN_PALLET
|
|
||||||
const SPAWN_VIRIDIAN
|
|
||||||
const SPAWN_PEWTER
|
|
||||||
const SPAWN_CERULEAN
|
|
||||||
const SPAWN_ROCK_TUNNEL
|
|
||||||
const SPAWN_VERMILION
|
|
||||||
const SPAWN_LAVENDER
|
|
||||||
const SPAWN_SAFFRON
|
|
||||||
const SPAWN_CELADON
|
|
||||||
const SPAWN_FUCHSIA
|
|
||||||
const SPAWN_CINNABAR
|
|
||||||
const SPAWN_INDIGO
|
|
||||||
; johto
|
|
||||||
const SPAWN_NEW_BARK
|
|
||||||
const SPAWN_CHERRYGROVE
|
|
||||||
const SPAWN_VIOLET
|
|
||||||
const SPAWN_UNION_CAVE
|
|
||||||
const SPAWN_AZALEA
|
|
||||||
const SPAWN_CIANWOOD
|
|
||||||
const SPAWN_GOLDENROD
|
|
||||||
const SPAWN_OLIVINE
|
|
||||||
const SPAWN_ECRUTEAK
|
|
||||||
const SPAWN_MAHOGANY
|
|
||||||
const SPAWN_LAKE
|
|
||||||
const SPAWN_BLACKTHORN
|
|
||||||
const SPAWN_MT_SILVER
|
|
||||||
const SPAWN_FAST_SHIP
|
|
||||||
NUM_SPAWNS EQU const_value
|
|
||||||
|
@@ -2089,6 +2089,7 @@ SpawnShadow: ; 5529
|
|||||||
; vtile, palette, movement
|
; vtile, palette, movement
|
||||||
db $00, PAL_OW_SILVER, SPRITEMOVEDATA_SHADOW
|
db $00, PAL_OW_SILVER, SPRITEMOVEDATA_SHADOW
|
||||||
; 5538
|
; 5538
|
||||||
|
|
||||||
SpawnStrengthBoulderDust: ; 5538
|
SpawnStrengthBoulderDust: ; 5538
|
||||||
push bc
|
push bc
|
||||||
ld de, .BoulderDustObject
|
ld de, .BoulderDustObject
|
||||||
@@ -2100,6 +2101,7 @@ SpawnStrengthBoulderDust: ; 5538
|
|||||||
.BoulderDustObject:
|
.BoulderDustObject:
|
||||||
db $00, PAL_OW_SILVER, SPRITEMOVEDATA_BOULDERDUST
|
db $00, PAL_OW_SILVER, SPRITEMOVEDATA_BOULDERDUST
|
||||||
; 5547
|
; 5547
|
||||||
|
|
||||||
SpawnEmote: ; 5547
|
SpawnEmote: ; 5547
|
||||||
push bc
|
push bc
|
||||||
ld de, .EmoteObject
|
ld de, .EmoteObject
|
||||||
@@ -2111,6 +2113,7 @@ SpawnEmote: ; 5547
|
|||||||
.EmoteObject:
|
.EmoteObject:
|
||||||
db $00, PAL_OW_SILVER, SPRITEMOVEDATA_EMOTE
|
db $00, PAL_OW_SILVER, SPRITEMOVEDATA_EMOTE
|
||||||
; 5556
|
; 5556
|
||||||
|
|
||||||
ShakeGrass: ; 5556
|
ShakeGrass: ; 5556
|
||||||
push bc
|
push bc
|
||||||
ld de, .data_5562
|
ld de, .data_5562
|
||||||
@@ -2122,6 +2125,7 @@ ShakeGrass: ; 5556
|
|||||||
.data_5562
|
.data_5562
|
||||||
db $00, PAL_OW_TREE, SPRITEMOVEDATA_GRASS
|
db $00, PAL_OW_TREE, SPRITEMOVEDATA_GRASS
|
||||||
; 5565
|
; 5565
|
||||||
|
|
||||||
ShakeScreen: ; 5565
|
ShakeScreen: ; 5565
|
||||||
push bc
|
push bc
|
||||||
push af
|
push af
|
||||||
@@ -2359,7 +2363,7 @@ Function56a3: ; 56a3
|
|||||||
cp d
|
cp d
|
||||||
jr z, .equal_x
|
jr z, .equal_x
|
||||||
jr nc, .nope
|
jr nc, .nope
|
||||||
add $b
|
add MAPOBJECT_SCREEN_WIDTH - 1
|
||||||
cp d
|
cp d
|
||||||
jr c, .nope
|
jr c, .nope
|
||||||
.equal_x
|
.equal_x
|
||||||
@@ -2367,7 +2371,7 @@ Function56a3: ; 56a3
|
|||||||
cp e
|
cp e
|
||||||
jr z, .equal_y
|
jr z, .equal_y
|
||||||
jr nc, .nope
|
jr nc, .nope
|
||||||
add $a
|
add MAPOBJECT_SCREEN_HEIGHT - 1
|
||||||
cp e
|
cp e
|
||||||
jr c, .nope
|
jr c, .nope
|
||||||
.equal_y
|
.equal_y
|
||||||
@@ -2406,7 +2410,7 @@ Function56cd: ; 56cd
|
|||||||
srl a
|
srl a
|
||||||
cp SCREEN_WIDTH
|
cp SCREEN_WIDTH
|
||||||
jr c, .ok3
|
jr c, .ok3
|
||||||
sub $20
|
sub BG_MAP_WIDTH
|
||||||
.ok3
|
.ok3
|
||||||
ld [hUsedSpriteIndex], a
|
ld [hUsedSpriteIndex], a
|
||||||
ld a, [wPlayerBGMapOffsetY]
|
ld a, [wPlayerBGMapOffsetY]
|
||||||
@@ -2433,9 +2437,9 @@ Function56cd: ; 56cd
|
|||||||
srl a
|
srl a
|
||||||
srl a
|
srl a
|
||||||
srl a
|
srl a
|
||||||
cp $12
|
cp SCREEN_HEIGHT
|
||||||
jr c, .ok6
|
jr c, .ok6
|
||||||
sub $20
|
sub BG_MAP_HEIGHT
|
||||||
.ok6
|
.ok6
|
||||||
ld [hUsedSpriteTile], a
|
ld [hUsedSpriteTile], a
|
||||||
ld hl, OBJECT_PALETTE
|
ld hl, OBJECT_PALETTE
|
||||||
@@ -2457,21 +2461,21 @@ Function56cd: ; 56cd
|
|||||||
ld a, [hUsedSpriteTile]
|
ld a, [hUsedSpriteTile]
|
||||||
add e
|
add e
|
||||||
dec a
|
dec a
|
||||||
cp $12
|
cp SCREEN_HEIGHT
|
||||||
jr nc, .ok9
|
jr nc, .ok9
|
||||||
ld b, a
|
ld b, a
|
||||||
.next
|
.next
|
||||||
ld a, [hUsedSpriteIndex]
|
ld a, [hUsedSpriteIndex]
|
||||||
add d
|
add d
|
||||||
dec a
|
dec a
|
||||||
cp $14
|
cp SCREEN_WIDTH
|
||||||
jr nc, .ok8
|
jr nc, .ok8
|
||||||
ld c, a
|
ld c, a
|
||||||
push bc
|
push bc
|
||||||
call Coord2Tile
|
call Coord2Tile
|
||||||
pop bc
|
pop bc
|
||||||
ld a, [hl]
|
ld a, [hl]
|
||||||
cp $60
|
cp MAPOBJECT_VISIBLE_TILE_LIMIT
|
||||||
jr nc, .nope
|
jr nc, .nope
|
||||||
.ok8
|
.ok8
|
||||||
dec d
|
dec d
|
||||||
@@ -2876,10 +2880,12 @@ ApplyBGMapAnchorToObjects: ; 5958
|
|||||||
ret
|
ret
|
||||||
; 5991
|
; 5991
|
||||||
|
|
||||||
InitSprites: ; 5991
|
|
||||||
PRIORITY_LOW EQU $10
|
PRIORITY_LOW EQU $10
|
||||||
PRIORITY_NORM EQU $20
|
PRIORITY_NORM EQU $20
|
||||||
PRIORITY_HIGH EQU $30
|
PRIORITY_HIGH EQU $30
|
||||||
|
|
||||||
|
InitSprites: ; 5991
|
||||||
call .DeterminePriorities
|
call .DeterminePriorities
|
||||||
ld c, PRIORITY_HIGH
|
ld c, PRIORITY_HIGH
|
||||||
call .InitSpritesByPriority
|
call .InitSpritesByPriority
|
||||||
@@ -3069,7 +3075,7 @@ PRIORITY_HIGH EQU $30
|
|||||||
ld a, [hFFC2]
|
ld a, [hFFC2]
|
||||||
or e
|
or e
|
||||||
.nope2
|
.nope2
|
||||||
and %11110000
|
and OBP_NUM | X_FLIP | Y_FLIP | PRIORITY
|
||||||
or d
|
or d
|
||||||
ld [bc], a ; attributes
|
ld [bc], a ; attributes
|
||||||
inc c
|
inc c
|
||||||
|
Reference in New Issue
Block a user