Organize debug-only structures for test maps and levels (#16)

This commit is contained in:
xCrystal
2023-09-03 00:22:23 +02:00
parent eb728d5151
commit 674e838460
19 changed files with 276 additions and 91 deletions

View File

@@ -72,6 +72,9 @@ EngineFlags:
; fly
engine_flag wVisitedSpawns, SPAWN_LEVEL_1
if DEF(_DEBUG)
engine_flag wVisitedSpawns, SPAWN_DEBUGLEVEL_1
endc
engine_flag wVisitedSpawns, NUM_SPAWNS ; unused
engine_flag wLuckyNumberShowFlag, LUCKYNUMBERSHOW_GAME_OVER_F

View File

@@ -18,18 +18,24 @@ ENDM
LevelSelectionMenu_Landmarks:
.landmark1
level_selection_menu_landmark 0, 16, 11, .Level1LandmarkName, SPAWN_LEVEL_1 ; LANDMARK_LEVEL_1
level_selection_menu_landmark 0, 16, 12, .Level1LandmarkName, SPAWN_LEVEL_1 ; LANDMARK_LEVEL_1
.landmark2
level_selection_menu_landmark 0, 11, 9, .Level2LandmarkName, SPAWN_LEVEL_1 ; LANDMARK_LEVEL_2
level_selection_menu_landmark 0, 9, 11, .Level3LandmarkName, SPAWN_LEVEL_1 ; LANDMARK_LEVEL_3
level_selection_menu_landmark 1, 16, 11, .Level4LandmarkName, SPAWN_LEVEL_1 ; LANDMARK_LEVEL_4
level_selection_menu_landmark 2, 9, 5, .Level5LandmarkName, SPAWN_LEVEL_1 ; LANDMARK_LEVEL_5
if DEF(_DEBUG)
level_selection_menu_landmark 0, 16, 11, .DebugLevel1LandmarkName, SPAWN_DEBUGLEVEL_1 ; LANDMARK_DEBUGLEVEL_1
level_selection_menu_landmark 0, 11, 9, .DebugLevel2LandmarkName, SPAWN_DEBUGLEVEL_1 ; LANDMARK_DEBUGLEVEL_2
level_selection_menu_landmark 0, 9, 11, .DebugLevel3LandmarkName, SPAWN_DEBUGLEVEL_1 ; LANDMARK_DEBUGLEVEL_3
level_selection_menu_landmark 1, 16, 11, .DebugLevel4LandmarkName, SPAWN_DEBUGLEVEL_1 ; LANDMARK_DEBUGLEVEL_4
level_selection_menu_landmark 2, 9, 5, .DebugLevel5LandmarkName, SPAWN_DEBUGLEVEL_1 ; LANDMARK_DEBUGLEVEL_5
endc
.Level1LandmarkName: db "LEVEL 1@"
.Level2LandmarkName: db "LEVEL 2@"
.Level3LandmarkName: db "LEVEL 3@"
.Level4LandmarkName: db "LEVEL 4@"
.Level5LandmarkName: db "LEVEL 5@"
if DEF(_DEBUG)
.DebugLevel1LandmarkName: db "DEBUG LEVEL 1@"
.DebugLevel2LandmarkName: db "DEBUG LEVEL 2@"
.DebugLevel3LandmarkName: db "DEBUG LEVEL 3@"
.DebugLevel4LandmarkName: db "DEBUG LEVEL 4@"
.DebugLevel5LandmarkName: db "DEBUG LEVEL 5@"
endc
MACRO level_selection_menu_landmark_transition
; any number of (direction, num_steps (in tiles)) pairs
@@ -52,33 +58,45 @@ LevelSelectionMenu_LandmarkTransitions:
; LANDMARK_LEVEL_1
level_selection_menu_landmark_transition DOWN, FALSE
if !DEF(_DEBUG)
level_selection_menu_landmark_transition UP, FALSE
level_selection_menu_landmark_transition LEFT, 5, UP, 2, LANDMARK_LEVEL_2
level_selection_menu_landmark_transition RIGHT, FALSE
; LANDMARK_LEVEL_2
level_selection_menu_landmark_transition DOWN, 2, RIGHT, 5, LANDMARK_LEVEL_1
level_selection_menu_landmark_transition UP, 3, LEFT, 2, DOWN, 5, LANDMARK_LEVEL_3
else
level_selection_menu_landmark_transition UP, 1, LANDMARK_DEBUGLEVEL_1
endc
level_selection_menu_landmark_transition LEFT, FALSE
level_selection_menu_landmark_transition RIGHT, FALSE
; LANDMARK_LEVEL_3
level_selection_menu_landmark_transition DOWN, 7, DOWN, 1, LANDMARK_LEVEL_5
level_selection_menu_landmark_transition UP, 5, RIGHT, 2, DOWN, 3, LANDMARK_LEVEL_2
level_selection_menu_landmark_transition LEFT, 7, LEFT, 4, LANDMARK_LEVEL_4
level_selection_menu_landmark_transition RIGHT, 7, LANDMARK_LEVEL_1
if DEF(_DEBUG)
; LANDMARK_DEBUGLEVEL_1
level_selection_menu_landmark_transition DOWN, 1, LANDMARK_LEVEL_1
level_selection_menu_landmark_transition UP, FALSE
level_selection_menu_landmark_transition LEFT, 5, UP, 2, LANDMARK_DEBUGLEVEL_2
level_selection_menu_landmark_transition RIGHT, FALSE
; LANDMARK_LEVEL_4
; LANDMARK_DEBUGLEVEL_2
level_selection_menu_landmark_transition DOWN, 2, RIGHT, 5, LANDMARK_DEBUGLEVEL_1
level_selection_menu_landmark_transition UP, 3, LEFT, 2, DOWN, 5, LANDMARK_DEBUGLEVEL_3
level_selection_menu_landmark_transition LEFT, FALSE
level_selection_menu_landmark_transition RIGHT, FALSE
; LANDMARK_DEBUGLEVEL_3
level_selection_menu_landmark_transition DOWN, 7, DOWN, 1, LANDMARK_DEBUGLEVEL_5
level_selection_menu_landmark_transition UP, 5, RIGHT, 2, DOWN, 3, LANDMARK_DEBUGLEVEL_2
level_selection_menu_landmark_transition LEFT, 7, LEFT, 4, LANDMARK_DEBUGLEVEL_4
level_selection_menu_landmark_transition RIGHT, 7, LANDMARK_DEBUGLEVEL_1
; LANDMARK_DEBUGLEVEL_4
level_selection_menu_landmark_transition DOWN, FALSE
level_selection_menu_landmark_transition UP, FALSE
level_selection_menu_landmark_transition LEFT, FALSE
level_selection_menu_landmark_transition RIGHT, 7, RIGHT, 4, LANDMARK_LEVEL_3
level_selection_menu_landmark_transition RIGHT, 7, RIGHT, 4, LANDMARK_DEBUGLEVEL_3
; LANDMARK_LEVEL_5
; LANDMARK_DEBUGLEVEL_5
level_selection_menu_landmark_transition DOWN, FALSE
level_selection_menu_landmark_transition UP, 7, UP, 1, LANDMARK_LEVEL_3
level_selection_menu_landmark_transition UP, 7, UP, 1, LANDMARK_DEBUGLEVEL_3
level_selection_menu_landmark_transition LEFT, FALSE
level_selection_menu_landmark_transition RIGHT, FALSE
endc
assert const_value == NUM_LANDMARKS * NUM_DIRECTIONS

View File

@@ -103,3 +103,9 @@ ENDM
; map_attributes NewBarkTown, NEW_BARK_TOWN, $05, WEST | EAST
; connection west, Route29, ROUTE_29, 0
; connection east, Route27, ROUTE_27, 0
if DEF(_DEBUG)
map_attributes DebugLevel1_Map1, DEBUGLEVEL_1_MAP_1, $00, SOUTH | NORTH
connection south, DebugLevel1_Map1, DEBUGLEVEL_1_MAP_1, 0
connection north, DebugLevel1_Map1, DEBUGLEVEL_1_MAP_1, 0
endc

View File

@@ -1,4 +1,9 @@
SECTION "Map Blocks 1", ROMX
Level1_Map1_Blocks:
INCBIN "maps/Level1_Map1.blk"
INCBIN "maps/Level1_Map1.blk"
if DEF(_DEBUG)
DebugLevel1_Map1_Blocks:
INCBIN "maps/DebugLevel1_Map1.blk"
endc

View File

@@ -1,6 +1,8 @@
Flypoints:
; entries correspond to FLY_* constants
; Johto
; landmark, spawn point
db LANDMARK_LEVEL_1, SPAWN_LEVEL_1
if DEF(_DEBUG)
db LANDMARK_DEBUGLEVEL_1, SPAWN_DEBUGLEVEL_1
endc
db -1 ; end

View File

@@ -17,8 +17,11 @@ ENDM
MapGroupPointers::
; pointers to the first map of each map group
table_width 2, MapGroupPointers
dw MapGroup_Level1 ; 1
; dw MapGroup_Level2 ; 2
dw MapGroup_Level1 ; 1
; dw MapGroup_Level2 ; 2
if DEF(_DEBUG)
dw MapGroup_DebugLevel1 ; 1
endc
assert_table_length NUM_MAP_GROUPS
MapGroup_Level1:
@@ -31,3 +34,10 @@ MapGroup_Level1:
; table_width MAP_LENGTH, MapGroup_Level2
; map Level2_Map1 ...
; assert_table_length NUM_LEVEL_2_MAPS
if DEF(_DEBUG)
MapGroup_DebugLevel1:
table_width MAP_LENGTH, MapGroup_DebugLevel1
map DebugLevel1_Map1, TILESET_PLAYERS_ROOM, INDOOR_BUILDING, LANDMARK_DEBUGLEVEL_1, MUSIC_NEW_BARK_TOWN, FALSE, PALETTE_DAY, FISHGROUP_SHORE
assert_table_length NUM_DEBUGLEVEL_1_MAPS
endc

View File

@@ -6,10 +6,12 @@ OutdoorSprites:
table_width 2, OutdoorSprites
dw Level1GroupSprites
; dw Level2GroupSprites
if DEF(_DEBUG)
dw DebugLevel1GroupSprites
endc
assert_table_length NUM_MAP_GROUPS
Level1GroupSprites:
; Level2GroupSprites:
db SPRITE_YOUNGSTER
db SPRITE_BUG_CATCHER
db SPRITE_FISHER
@@ -25,3 +27,25 @@ Level1GroupSprites:
db SPRITE_ROCK
; max 3 of 10 still sprites
db 0 ; end
; Level2GroupSprites:
; db 0 ; end
if DEF(_DEBUG)
DebugLevel1GroupSprites:
db SPRITE_YOUNGSTER
db SPRITE_BUG_CATCHER
db SPRITE_FISHER
db SPRITE_COOLTRAINER_M
db SPRITE_COOLTRAINER_F
db SPRITE_SUPER_NERD
db SPRITE_GRAMPS
db SPRITE_TEACHER
db SPRITE_LASS
; max 9 of 9 walking sprites
db SPRITE_POKE_BALL
db SPRITE_FRUIT_TREE
db SPRITE_ROCK
; max 3 of 10 still sprites
db 0 ; end
endc

View File

@@ -13,6 +13,9 @@ MapGroupRoofs:
table_width 1, MapGroupRoofs
db -1 ; 0
db ROOF_OLIVINE ; 1 (Level1)
if DEF(_DEBUG)
db ROOF_OLIVINE ; 1 (DebugLevel1)
endc
assert_table_length NUM_MAP_GROUPS + 1
Roofs:

View File

@@ -1,3 +1,7 @@
SECTION "Map Scripts 1", ROMX
INCLUDE "maps/Level1_Map1.asm"
if DEF(_DEBUG)
INCLUDE "maps/DebugLevel1_Map1.asm"
endc

View File

@@ -10,7 +10,9 @@ SpawnPoints:
spawn LEVEL_1_MAP_1, 3, 3 ; SPAWN_LEVEL_1
; spawn LEVEL_2_MAP_1, 5, 3 ; SPAWN_LEVEL_2
if DEF(_DEBUG)
spawn DEBUGLEVEL_1_MAP_1, 3, 3, ; SPAWN_DEBUGLEVEL_1
endc
spawn N_A, -1, -1
assert_table_length NUM_SPAWNS + 1