Skip to content
This repository has been archived by the owner on Aug 1, 2024. It is now read-only.
rankaisija edited this page Jul 29, 2023 · 1 revision

rom/scene/

Naming

rom/scene/0xXX-SceneName/

Content

  • *.zscene
  • *.zroom / *.zmap
  • config.cfg

config.cfg

Scene config for common usage does not need to be touched by the user. But it offers some convenient and creative stuff for the user.

By default it looks like this

scene_func_id   = 18
# [ BOTTLES / A_BUTTON / B_BUTTON / WARP_SONG / OCARINA / HOOKSHOT ]
# [ TRADE_ITEM / ALL / DINS_FIRE / NAYRUS_LOVE / FARORES_WIND / SUN_SONG ]
restriction_flags = [ BOTTLES, SUN_SONG ]
rooms           = [ "room_0.zroom", "room_1.zroom", "room_2.zroom", "room_3.zroom", "room_4.zroom" ]

If rooms array is missing, z64rom will generate new one, but it assumes that the room files are named formatted like so room_X.Y. X being the decimal number of the current room number ( room_4, room_21, etc) and Y being the file extension, which can be either .zroom or .zmap. The room numbers have tp be consecutive and start from 0. If these conditions are not met, z64rom can't generate rooms array properly.

The config can also be utilized for unique rooms:

scene_func_id   = 18
# [ BOTTLES / A_BUTTON / B_BUTTON / WARP_SONG / OCARINA / HOOKSHOT ]
# [ TRADE_ITEM / ALL / DINS_FIRE / NAYRUS_LOVE / FARORES_WIND / SUN_SONG ]
restriction_flags = [ BOTTLES, SUN_SONG ]
rooms           = [ "room_0.zroom", "room_1.zroom", "room_2.zroom", "room_3.zroom", "room_4.zroom" ]
[header2]
    rooms = [ *, *, "room_2_alt2.zroom", *, * ]

This will tell z64rom to write scene setup to use different room file. All the items in this array that have * will use the room provided in the rooms that isn't sectioned. Otherwise it writes that header to have vrom addr to this unique room file.

Do note that this only works if this header is actually unique and not just another dublicate of main scene setup.

src/scene/

// TODO: add Fast64 support