The game world is made up of maps grouped into areas. An area is a collection of related maps, like all the rooms in Boo's Mansion. Generally there are 1 or 2 areas per chapter.
Vanilla areas
| Folder | Japanese | English |
|---|---|---|
| kmr | クリむら | Goomba Village |
| mac | まち | Toad Town |
| tik | まちのちか | Toad Town Tunnels |
| kgr | くじらのなか | Inside the Whale |
| kkj | きのこ城 | Princess Peach's Castle |
| hos | 星ふる丘 | Shooting Star Summit |
| nok | ノコノコむら | Koopa Village |
| trd | とりで | Koopa Bros. Fortress |
| iwa | 岩山 | Mt. Rugged |
| dro | カラカラタウン | Dry Dry Outpost |
| sbk | カラカラ砂漠 | Dry Dry Desert |
| isk | カラカラいせき | Dry Dry Ruins |
| mim | 迷いの森 | Forever Forest |
| obk | テレサハウス | Boo's Mansion |
| arn | あれの | Gusty Gulch |
| dgb | ドガボンの城 | Tubba Blubba's Castle |
| omo | ヘイホーのおもちゃばこ | Shy Guy's Toy Box |
| jan | ジャングル | Jade Jungle |
| kzn | 火山 | Mt. Lavalava |
| flo | フラワーランド | Flower Fields |
| sam | さむいさむい村 | Shiver City |
| pra | パラレルきゅうでん | Crystal Palace |
| kpa | クッパ城 | Bowser's Castle |
| osr | きのこ城そと | Outside Peach's Castle |
| end | エンディング | Ending |
| mgm | ミニゲーム | Minigames |
| gv | ゲームオーバー | Game Over |
| tst | テストマップ | Test Map |
Vanilla uses three-letter area names and map names that correspond to them, e.g. kmr has the map kmr_20. You don't need to do this.
Every map has three parts:
- Shape - the 3D geometry the player sees
- Hit - the collision mesh the player walks and stands on
- Overlay - C code that controls what happens in the map
Overlay
Create a folder inside assets/mod/world/area
You can name the area folder whatever you want. If you would like to add to a vanilla area, just name it the same as the vanilla area (three letters).
For example: assets/mod/world/area/cool_city
Create a folder for the map inside the area folder
Create a folder named after the map. It needs to be unique across all areas. Make it short and memorable.
For example: assets/mod/world/area/cool_city/house_of_fun
Create a main.c file inside the map folder
Use this template for the file content:
EntryList Entrances = {
{ 0.0, 0.0, 0.0, 0.0 },
};
EvtScript EVS_BindExitTriggers = {
Return
End
};
EvtScript EVS_Main = {
Set(GB_WorldLocation, LOCATION_TOAD_TOWN)
Call(SetSpriteShading,preset SHADING_NONE)
EVT_SETUP_CAMERA_NO_LEAD(0, 0, 0)
Set(LVar0, Ref(EVS_BindExitTriggers))
Exec(EnterWalk)
EndSwitch
Return
End
};
export MapSettings settings = {
.main = &EVS_Main,
.entryList = &Entrances,
.entryCount = ENTRY_COUNT(Entrances),
.bgName = "kmr_bg",
.textureArchive = "kmr",
};Shape and hit
Open the Star Rod Map Editor and create a new map. Then, use the Generate Shape and Generate Hit buttons.
Add the shape and hit to the bottom of tools/splat_ext/mapfs.yaml:
- house_of_fun_shape
- house_of_fun_hitTesting the map
By this point, you should have touched the following files:
Directorytools
Directorysplat_ext
- mapfs.yaml Edited
Directoryassets
Directorymod
Directoryworld
Directoryarea
Directorycool_city
Directoryhouse_of_fun
- main.c
Directorystar_rod_build Generated by Star Rod
Directorymapfs
Directorygeom
- house_of_fun_shape.bin
- house_of_fun_hit.bin
Build your mod and use the debug menu to Load Map and warp to your new map.