mirror of
https://gitlab.com/xCrystal/pokecrystal-board.git
synced 2024-09-09 09:51:34 -07:00
Define constants for map event sizes
This commit is contained in:
parent
dc396822d7
commit
79dc22c769
@ -86,6 +86,14 @@ RETVAR_EXECUTE EQU (2 << 6)
|
||||
const PLAYEREVENT_JOYCHANGEFACING
|
||||
NUM_PLAYER_EVENTS EQU const_value
|
||||
|
||||
; script data sizes (see macros/scripts/maps.asm)
|
||||
SCENE_SCRIPT_SIZE EQU 4 ; scene_script
|
||||
CALLBACK_SIZE EQU 3 ; callback
|
||||
WARP_EVENT_SIZE EQU 5 ; warp_event
|
||||
COORD_EVENT_SIZE EQU 8 ; coord_event
|
||||
BG_EVENT_SIZE EQU 5 ; bg_event
|
||||
OBJECT_EVENT_SIZE EQU 13 ; object_event
|
||||
|
||||
; bg_event types
|
||||
; TryBGEvent arguments (see engine/overworld/events.asm)
|
||||
const_def
|
||||
|
@ -84,4 +84,4 @@ MapScenes::
|
||||
scene_var MOUNT_MOON_SQUARE, wMountMoonSquareSceneID
|
||||
scene_var MOBILE_TRADE_ROOM, wMobileTradeRoomSceneID
|
||||
scene_var MOBILE_BATTLE_ROOM, wMobileBattleRoomSceneID
|
||||
db -1
|
||||
db -1 ; end
|
||||
|
@ -60,7 +60,7 @@ CheckForHiddenItems:
|
||||
.next
|
||||
; Restore the bg_event pointer and increment it by the length of a bg_event.
|
||||
pop hl
|
||||
ld bc, 5
|
||||
ld bc, BG_EVENT_SIZE
|
||||
add hl, bc
|
||||
; Restore the BG event counter and decrement it. If it hits zero, there are no hidden items in range.
|
||||
ld a, [wBuffer2]
|
||||
|
@ -418,7 +418,7 @@ RunSceneScript:
|
||||
ld a, [hli]
|
||||
ld h, [hl]
|
||||
ld l, a
|
||||
rept 4
|
||||
rept SCENE_SCRIPT_SIZE
|
||||
add hl, de
|
||||
endr
|
||||
|
||||
|
46
home/map.asm
46
home/map.asm
@ -46,8 +46,8 @@ GetCurrentMapSceneID::
|
||||
ret
|
||||
|
||||
GetMapSceneID::
|
||||
; Searches the scene script table for the map group and number loaded in bc, and returns the wram pointer in de.
|
||||
; If the map is not in the scene script table, returns carry.
|
||||
; Searches the scene_var table for the map group and number loaded in bc, and returns the wram pointer in de.
|
||||
; If the map is not in the scene_var table, returns carry.
|
||||
push bc
|
||||
ldh a, [hROMBank]
|
||||
push af
|
||||
@ -59,7 +59,7 @@ GetMapSceneID::
|
||||
push hl
|
||||
ld a, [hli] ; map group, or terminator
|
||||
cp -1
|
||||
jr z, .end ; the current map is not in the scene script table
|
||||
jr z, .end ; the current map is not in the scene_var table
|
||||
cp b
|
||||
jr nz, .next ; map group did not match
|
||||
ld a, [hli] ; map number
|
||||
@ -69,7 +69,7 @@ GetMapSceneID::
|
||||
|
||||
.next
|
||||
pop hl
|
||||
ld de, 4 ; scene_script size
|
||||
ld de, 4 ; scene_var size
|
||||
add hl, de
|
||||
jr .loop
|
||||
|
||||
@ -275,7 +275,7 @@ GetDestinationWarpNumber::
|
||||
|
||||
.next
|
||||
pop hl
|
||||
ld a, 5
|
||||
ld a, WARP_EVENT_SIZE
|
||||
add l
|
||||
ld l, a
|
||||
jr nc, .okay
|
||||
@ -325,9 +325,9 @@ CopyWarpData::
|
||||
ld l, a
|
||||
ld a, c
|
||||
dec a
|
||||
ld bc, $5 ; warp size
|
||||
ld bc, WARP_EVENT_SIZE
|
||||
call AddNTimes
|
||||
ld bc, $2 ; warp number
|
||||
ld bc, 2 ; warp number
|
||||
add hl, bc
|
||||
ld a, [hli]
|
||||
cp $ff
|
||||
@ -487,7 +487,7 @@ GetMapConnection::
|
||||
ret
|
||||
|
||||
ReadMapSceneScripts::
|
||||
ld a, [hli] ; scene script count
|
||||
ld a, [hli] ; scene_script count
|
||||
ld c, a
|
||||
ld [wCurMapSceneScriptCount], a
|
||||
ld a, l
|
||||
@ -498,7 +498,7 @@ ReadMapSceneScripts::
|
||||
and a
|
||||
ret z
|
||||
|
||||
ld bc, 4 ; scene_script size
|
||||
ld bc, SCENE_SCRIPT_SIZE
|
||||
call AddNTimes
|
||||
ret
|
||||
|
||||
@ -514,7 +514,7 @@ ReadMapCallbacks::
|
||||
and a
|
||||
ret z
|
||||
|
||||
ld bc, 3
|
||||
ld bc, CALLBACK_SIZE
|
||||
call AddNTimes
|
||||
ret
|
||||
|
||||
@ -529,7 +529,7 @@ ReadWarps::
|
||||
ld a, c
|
||||
and a
|
||||
ret z
|
||||
ld bc, 5
|
||||
ld bc, WARP_EVENT_SIZE
|
||||
call AddNTimes
|
||||
ret
|
||||
|
||||
@ -546,7 +546,7 @@ ReadCoordEvents::
|
||||
and a
|
||||
ret z
|
||||
|
||||
ld bc, 8
|
||||
ld bc, COORD_EVENT_SIZE
|
||||
call AddNTimes
|
||||
ret
|
||||
|
||||
@ -563,7 +563,7 @@ ReadBGEvents::
|
||||
and a
|
||||
ret z
|
||||
|
||||
ld bc, 5
|
||||
ld bc, BG_EVENT_SIZE
|
||||
call AddNTimes
|
||||
ret
|
||||
|
||||
@ -622,7 +622,7 @@ CopyMapObjectEvents::
|
||||
push hl
|
||||
ld a, $ff
|
||||
ld [hli], a
|
||||
ld b, MAPOBJECT_E - MAPOBJECT_SPRITE
|
||||
ld b, OBJECT_EVENT_SIZE
|
||||
.loop2
|
||||
ld a, [de]
|
||||
inc de
|
||||
@ -664,14 +664,14 @@ RestoreFacingAfterWarp::
|
||||
ld a, [hli]
|
||||
ld h, [hl]
|
||||
ld l, a
|
||||
inc hl ; get to the warp coords
|
||||
inc hl ; get to the warp coords
|
||||
inc hl ; get to the warp coords
|
||||
rept 3 ; get to the warp coords
|
||||
inc hl
|
||||
endr
|
||||
ld a, [wWarpNumber]
|
||||
dec a
|
||||
ld c, a
|
||||
ld b, 0
|
||||
ld a, $5 ; warp size
|
||||
ld a, WARP_EVENT_SIZE
|
||||
call AddNTimes
|
||||
ld a, [hli]
|
||||
ld [wYCoord], a
|
||||
@ -981,7 +981,7 @@ RunMapCallback::
|
||||
ld l, a
|
||||
or h
|
||||
ret z
|
||||
ld de, 3
|
||||
ld de, CALLBACK_SIZE
|
||||
.loop
|
||||
ld a, [hl]
|
||||
cp b
|
||||
@ -1799,7 +1799,7 @@ CheckIfFacingTileCoordIsBGEvent::
|
||||
|
||||
.next
|
||||
pop hl
|
||||
ld a, 5 ; BG event event length
|
||||
ld a, BG_EVENT_SIZE
|
||||
add l
|
||||
ld l, a
|
||||
jr nc, .nocarry
|
||||
@ -1814,7 +1814,7 @@ CheckIfFacingTileCoordIsBGEvent::
|
||||
.copysign
|
||||
pop hl
|
||||
ld de, wCurBGEventYCoord
|
||||
ld bc, 5 ; BG event event length
|
||||
ld bc, BG_EVENT_SIZE
|
||||
call CopyBytes
|
||||
scf
|
||||
ret
|
||||
@ -1871,7 +1871,7 @@ CheckCurrentMapCoordEvents::
|
||||
|
||||
.next
|
||||
pop hl
|
||||
ld a, $8 ; coord event size
|
||||
ld a, COORD_EVENT_SIZE
|
||||
add l
|
||||
ld l, a
|
||||
jr nc, .nocarry
|
||||
@ -1886,7 +1886,7 @@ CheckCurrentMapCoordEvents::
|
||||
.copy_coord_event
|
||||
pop hl
|
||||
ld de, wCurCoordEventSceneID
|
||||
ld bc, 8 ; coord event size
|
||||
ld bc, COORD_EVENT_SIZE
|
||||
call CopyBytes
|
||||
scf
|
||||
ret
|
||||
|
@ -76,7 +76,7 @@ HandleStoneQueue::
|
||||
jr .found_warp
|
||||
|
||||
.not_on_warp
|
||||
ld a, 5
|
||||
ld a, WARP_EVENT_SIZE
|
||||
add l
|
||||
ld l, a
|
||||
jr nc, .no_carry
|
||||
|
@ -32,7 +32,7 @@ coord_event: MACRO
|
||||
db \3, \2, \1
|
||||
db 0 ; filler
|
||||
dw \4
|
||||
db 0, 0 ; filler
|
||||
dw 0 ; filler
|
||||
ENDM
|
||||
|
||||
bg_event: MACRO
|
||||
|
Loading…
Reference in New Issue
Block a user