Skip to content

MapList

Rena Kunisaki edited this page Nov 15, 2021 · 8 revisions

See also the map loading procedure.

Map List

Each map has:

  • an ID
  • a [mapname].romlist.zlb file (described here)
  • a directory containing the map's assets
  • an entry in MAPINFO.bin which contains:
    • the map's name (used by debug builds)
    • the map's type
    • an object ID which, in older versions, specified which object to use as the player
      • omitted from first list since it's always zero
    • an unknown parameter which is always 6 (omitted here)
ID Romlist Directory Name Name from MAPINFO.bin T Note
00 frontend shipbattle Ship Battle 0 Start of game, Krystal vs ship
01 frontend2 animtest ZNot Used - Front End2 3 only map where T = 3
02 dragrock dragrock Dragon Rock - Top 0
03 krazoapalace animtest ZNot Used - Krazoa Palace 0 Unused maps are prefixed with Z
04 temple volcano Volcano Force Point 0
05 hightop animtest Rolling Demo - Just In Case 0
06 discovery animtest ZNot Used - Discovery Falls 0
07 hollow swaphol ThornTail Hollow 0 Originally called SwapStone Hollow
08 hollow2 swapholbot ThornTail Hollow - Undergro 0
09 mazecave mazecave MazeTest 0
0a wastes nwastes SnowHorn Wastes 0
0b warlock warlock Krazoa Palace 0 Originally called Warlock Mountain
0c fortress crfort CloudRunner Fortress 0
0d wallcity wallcity Walled City 0
0e swapcircle lightfoot LightFoot Village 0
0f cloudtreasure cloudtreasure ZNot Used - CloudRunner - T 0 directory missing
10 clouddungeon clouddungeon CloudRunner - Dungeon 0
11 cloudtrap animtest ZNot Used - CloudRunner - T 0
12 moonpass mmpass Moon Mountain Pass 0
13 snowmines darkicemines DarkIce Mines - Top 0
14 krashrin2 animtest ZNot Used - Krazoa Shrine 0
15 kraztest desert Ocean Force Point - Bottom 0
16 krazchamber animtest krazchamber 0
17 newicemount icemountain Ice Mountain 0
18 newicemount2 animtest ZNot Used - Ice Mountain 2 0
19 newicemount3 animtest ZNot Used - Ice Mountain 3 0
1a animtest animtest Animtest 0
1b snowmines2 darkicemines2 DarkIce Mines - Bottom 0
1c snowmines3 bossgaldon BOSS DarkIce 0
1d capeclaw capeclaw Cape Claw 0
1e insidegal insidegal ZNot Used - Inside Galleon 0 directory missing
1f dfshrine dfshrine Test Of Combat 0
20 mmshrine mmshrine Test Of Fear 0
21 ecshrine ecshrine Test Of Skill 0
22 gpshrine gpshrine Test Of Knowledge 0
23 diamondbay dbay ZNot Used - Diamond Bay 0 directory missing
24 earthwalker animtest ZNot Used - EarthWalker Tem 0
25 willow animtest ZNot Used - Willow Grove 0
26 arwing arwing ArWing Level - Andross 4
27 dbshrine dbshrine Test Of Strength 0
28 nwshrine nwshrine BOSS Scales 0
29 ccshrine worldmap World Map 4 choosing where to fly to
2a wgshrine animtest ZNot Used - WGShrine 0
2b cloudrace cloudrace CloudRunner - Race 0
2c finalboss bossdrakor BOSS Drakor 0
2d wminsert animtest ZNot Used - WMinsert 0
2e snowmines4 animtest ZNot Used - DarkIce Mines - 0
2f snowmines5 animtest ZNot Used - DarkIce Mines - 0
30 trexboss bosstrex BOSS TRex 0
31 mikelava animtest ZNot Used - MikesLava 0
32 dfptop dfptop Ocean Force Point - Top 0
33 swapstore shop Shop 0 ThornTail store
34 dragbot dragrockbot Dragon Rock - Bottom 0
35 kamdrag animtest ZNot Used - BOSS Kamerian D 0
36 magicave magiccave Magic Cave - Small\Big 0 caves where staff upgrades are found - has backslash
37 duster cloudjoin ZNot Used - Duster Cave 0 directory missing
38 linkb linkb LinkB - Ice2Wastes 0
39 cloudjoin animtest ZNot Used - CloudRunner2Rac 0
3a arwingtoplanet arwingtoplanet Arwing to Planet 4 flying to Dino Planet
3b arwingdarkice arwingdarkice Arwing Darkice 4
3c arwingcloud arwingcloud Arwing Cloud 4
3d arwingcity arwingcity Arwing City 4
3e arwingdragon arwingdragon Arwing Dragon 4
3f gamefront gamefront Game Front 4 title screen
40 linklevel linklevel LinkK - Nik Test 0 directory missing
41 greatfox greatfox Great Fox 0 probably first scene where Fox receives mission
42 linka linka LinkA - Warpstone to Others 0
43 linkc linkc LinkC - Wastes to Hollow 0
44 linkd linkd LinkD - Darkmines top 2 bot 0
45 linke linke LinkE - hollow to moon pass 0
46 linkf linkf LinkF - moonpass to volcano 0
47 linkg linkg LinkG - hollow to lightfoot 0
48 linkh linkh LinkH - lightfoot to capecl 0
49 linkj linkj LinkJ - capeclaw 2 ocean fo 0
4a linki linki LinkI - CloudRunner2Race 0

From here on, there appears to be no corresponding directory. (The directory table only goes up to entry 0x4A.) The different naming convention also suggests they may be from later in development.

These are the only ones to use the ObjType field. Although this function was removed at some point during development, the object IDs still seem to match up with the final version. Also, all maps in this list have T (Map Type) 1.

ID Romlist Name from MAPINFO.bin ObjType Note
4b dfpodium dfpodium 0000
4c dfcradle dfcradle 0000
4d dfcavehatch1 dfcavehatch1 0000
4e dfcavehatch2 dfcavehatch2 0000
4f scstatue scstatue 0000
50 galleonship galleonship 008E SB_Galleon
51 cfgalleon cfgalleon 00CE CFScalesGal
52 cfgangplank cfgangplank 0000
53 nwtreebridge nwtreebridge 0000
54 cfdungeonblock cfdungeonblock 00B3 CFDungeonBl
55 cloudrunnermap cloudrunnermap 008C SB_Cloudrun
56 ccbridge ccBridge 0099 CCBridge
57 cfcolumn cfcolumn 0782 CF_BobbingC
58 nwboulder nwboulder 0000
59 cfprisondoor cfprisondoor 00C1 CFPrisonDoo
5a cfprisoncage cfprisoncage 0127 CFPrisonCag
5b nwtreebridge2 nwtreebridge2 01DB NW_treebrid
5c dim2iceblock1 dim2 ice block1 07C7 DIM2IcePlat
5d dimpushblock dimpushblock 01CB DIMWoodDoor
5e dim2iceblock2 dim2 ice block2 07C9 DIM2IcePlat
5f dimhornplinth dimhornplinth 0000
60 nwshcolpush nwshcolpush 0000
61 dim2lift dim2lift 0000
62 dim2icefloe dim2icefloe 0111 DIM2IceFloe
63 dim2icefloe1 dim2icefloe1 0109 DIM2IceFloe
64 dim2icefloe2 dim2icefloe2 010D DIM2IceFloe
65 cfliftplat cfliftplat 0000
66 imspacecraft imspacecraft 0168 IMAnimSpace
67 dimbossgut dimbossgut 0155 DIM_BossGut
68 wmcolrise wmcolrise 015D WM_colrise
69 vfpslide1 vfpslide1 03BA VFP_Platfor
6a vfpslide2 vfpslide2 03C0 VFPLavaBloc
6b drpushcart drpushcart 0418 DR_PushCart
6c drliftplat drliftplat 03B1 DR_Platform
6d dim2stonepillar dim2stonepillar 00F2 DIM2StonePi
6e bossdrakorflatr bossdrakorrock 07DF WCPushBlock
6f wcbouncycrate wcbouncycrate 04FE WCBouncyCra
70 wcpushblock wcpushblock 0515 WCPushBlock
71 wctemplelift wctemplelift 0528 WCMoonTempl
72 KamColumn kameriancolumn 0000
73 dbstepstone dbstepstone 0000
74 vfppushblock vfppushblock 0857 VFP_Bobbing

Although animtest is unused (and contains only one object, a setuppoint), the game does look at its files sometimes, notably at the title screen. This might have to do with frontend2?

T is the map type:

  • 00: Normal map
  • 01: Normal submap
  • 02: Special map - unloads all objects immediately upon loading (unused)
  • 03: Special submap (same as 02) - only used by map 1 which is itself unused
  • 04: Special map - hides PDA HUD. Used for title screen and Arwing maps. If applied to a normal map, the game will crash looking for an object that isn't there.

Changed Names

The names, as well as prerelease articles about the game, hint at some maps whose names have been changed:

Final Name Original Name Internal Note
ThornTail Hollow SwapStone Hollow swaphol WarpStone was once SwapStone
Krazoa Palace Warlock Mountain warlock
Ocean Force Point ? desert
Test Of Combat ? dfshrine presumably "dfalls"
Test Of Fear ? mmshrine presumably Moon Mountain
Test Of Skill ? ecshrine
Test Of Knowledge ? gpshrine
Test Of Strength ? dbshrine Diamond Bay?
BOSS Scales ? nwshrine Northern Wastes (SnowHorn Wastes)
World Map ? ccshrine Probably reused map ID
BOSS Drakor ? finalboss Probably final boss before Starfoxification

Directory List

The table at 0x802cbbac in RAM (v1.0) is a list of map directories with many repeats:

ID Directory ID Directory ID Directory ID Directory ID Dir
00 animtest 10 shop 20 animtest 30 dbay 40 linka
01 animtest 11 animtest 21 animtest 31 animtest 41 linkc
02 animtest 12 crfort 22 darkicemines2 32 cloudrace 42 linkd
03 arwing 13 swapholbot 23 bossgaldon 33 bossdrakor 43 linke
04 dragrock 14 wallcity 24 animtest 34 animtest 44 linkf
05 animtest 15 lightfoot 25 insidegal 35 bosstrex 45 linkg
06 dfptop 16 cloudtreasure 26 magiccave 36 linkb 46 linkh
07 volcano 17 animtest 27 dfshrine 37 cloudjoin 47 linkj
08 animtest 18 clouddungeon 28 mmshrine 38 arwingtoplanet 48 linki
09 mazecave 19 mmpass 29 ecshrine 39 arwingdarkice
0a dragrockbot 1a darkicemines 2a gpshrine 3a arwingcloud
0b dfalls 1b animtest 2b dbshrine 3b arwingcity
0c swaphol 1c desert 2c nwshrine 3c arwingdragon
0d shipbattle 1d animtest 2d worldmap 3d gamefront
0e nwastes 1e icemountain 2e animtest 3e linklevel
0f warlock 1f animtest 2f capeclaw 3f greatfox

At 0x802cbcd0 is a lookup table that translates map IDs to indices into the above table.

Idx Dir Map Directory Note
00 0D frontend shipbattle
01 05 frontend2 animtest frontend dir not used
02 04 dragrock dragrock
03 05 krazoapalace animtest used krazoa palace is idx 0B
04 07 temple volcano
05 05 hightop animtest
06 05 discovery animtest dfalls dir not used
07 0C hollow swaphol
08 13 hollow2 swapholbot
09 09 mazecave mazecave
0a 0E wastes nwastes
0b 0F warlock warlock
0c 12 fortress crfort
0d 14 wallcity wallcity
0e 15 swapcircle lightfoot swapcircle dir not used
0f 16 cloudtreasure cloudtreasure
10 18 clouddungeon clouddungeon
11 05 cloudtrap animtest
12 19 moonpass mmpass
13 1A snowmines darkicemines
14 05 krashrin2 animtest
15 1C kraztest desert
16 05 krazchamber animtest
17 1E newicemount icemountain
18 1F newicemount2 animtest different animtest entry
19 20 newicemount3 animtest different animtest entry
1a 05 animtest animtest
1b 22 snowmines2 darkicemines2
1c 23 snowmines3 bossgaldon
1d 2F capeclaw capeclaw
1e 25 insidegal insidegal
1f 27 dfshrine dfshrine
20 28 mmshrine mmshrine
21 29 ecshrine ecshrine
22 2A gpshrine gpshrine
23 30 diamondbay dbay
24 05 earthwalker animtest
25 05 willow animtest
26 03 arwing arwing
27 2B dbshrine dbshrine
28 2C nwshrine nwshrine
29 2D ccshrine worldmap
2a 05 wgshrine animtest
2b 32 cloudrace cloudrace
2c 33 finalboss bossdrakor
2d 05 wminsert animtest
2e 05 snowmines4 animtest
2f 05 snowmines5 animtest
30 35 trexboss bosstrex
31 05 mikelava animtest
32 06 dfptop dfptop
33 10 swapstore shop
34 0A dragbot dragrockbot
35 05 kamdrag animtest
36 26 magicave magiccave
37 37 duster cloudjoin
38 36 linkb linkb
39 05 cloudjoin animtest cloudjoin dir used for unused duster map
3a 38 arwingtoplanet arwingtoplanet
3b 39 arwingdarkice arwingdarkice
3c 3A arwingcloud arwingcloud
3d 3B arwingcity arwingcity
3e 3C arwingdragon arwingdragon
3f 3D gamefront gamefront
40 3E linklevel linklevel
41 3F greatfox greatfox
42 40 linka linka
43 41 linkc linkc
44 42 linkd linkd
45 43 linke linke
46 44 linkf linkf
47 45 linkg linkg
48 46 linkh linkh
49 47 linkj linkj
4a 48 linki linki

Unused/Mismatched Directories

A few directories aren't used, or don't match up with the actual map:

  • Directory frontend is unused; map frontend uses directory shipbattle
  • Directory dfalls is unused, probably belonged to map discovery or dbay
  • Directory swapcircle is unused; map swapcircle uses directory lightfoot
  • Maps newicemount2 and newicemount3 use entries 0x1F and 0x20 in the directory list
    • Both are animtest but most unused maps use entry 0x05 instead
  • Map duster uses directory cloudjoin
  • Map cloudjoin uses directory animtest
  • ID 0x05 (animtest) is also used as the default for any invalid map IDs

Parent Maps

At 0x802cbdfc is a table assigning some map directories a "parent". If a map has a parent listed here, the parent is loaded at the same time as the map. (Note that Idx here is a directory ID, not a map ID.)

Idx ID Directory Parent
09 0C mazecave swaphol
0d 0F shipbattle warlock
10 0C shop swaphol
13 0C swapholbot swaphol
18 12 clouddungeon crfort
1c 06 desert dfptop
23 22 bossgaldon darkicemines2
27 19 dfshrine mmpass
28 15 mmshrine lightfoot
29 0F ecshrine warlock
2a 14 gpshrine wallcity
2b 0E dbshrine nwastes
2c 0F nwshrine warlock
30 05 dbay animtest
35 14 bosstrex wallcity
36 1E linkb icemountain
3f 0F greatfox warlock
41 0E linkc nwastes
43 0C linke swaphol
44 07 linkf volcano
45 0C linkg swaphol
46 15 linkh lightfoot
47 2F linkj capeclaw
Clone this wiki locally