Contents
Required tools
Go to Resources for download links.
- Whitehole Despag
- Whitehole for SMG1
- WiiExplorer
- Wiimm's ISO Tools (to get your SMG1 dump)
About Layers, Zones and Scenarios
Layers serve as a way to group objects so they can only be shown on a Zone of a Galaxy in a certain Scenario. They can also be used to categorize objects in a planet so you can edit objects separately from other objects. They have a name that starts with Layer
and ends with a letter (examples are LayerA
, LayerB
, LayerC
, etc.).
Zones are a higher level of object grouping. They are sections of a galaxy and can be placed anywhere inside of it. They work for the purpose of easing object placement around a Galaxy using an offset respect to the Galaxy origin. They also work for optimization purposes (loading/unloading objects, at least that's what I believe).
A Scenario is a combination of Zones and Layers with a Star that can be collected normally (end of the level) or when meeting a specific condition. It is basically a level/mission on a Galaxy. Their names are by default written in japanese but you can use latin characters to name them as well.
Steps --- files used: GenericZone.zip
Before adding a new Zone to a Galaxy you need an ARC file of the Zone in question. I've made a little GenericZone.arc
file that can serve as a new Zone template for SMG1 for me, and for you, if you want to use it (download is in the Steps title). Grab it and place it in the StageData
folder (Fig. 1).
(Fig. 1 - Generic Zone Arc file placement)
NOTE 1: The GenericZone.arc
file shared has all layers available on it.
Now, add it to the Zone list of your target Galaxy. In my case I will add it to the Comet Observatory (AstroGalaxy
, Figs. 2 and 3). In the Zone name field put the filename of the Zone Arc file, that in my case is GenericZone
.
(Fig. 2 - Zone name field input)
(Fig. 3 - Adding Generic Zone zone to AstroGalaxy
)
NOTE 2: The name of the Zone is exactly the same as the name of the ARC file. If you want to change the GenericZone.arc
file zone name just change the name of the ARC file (ez). You can change the name of the ARC file to potato.arc
and the zone name will be potato
.
Remember to save your changes and you can now exit Whitehole for SMG1.
With that done, the Zone will be already added to your target Galaxy and you will be able to see it on Whitehole and add objects to it (Fig. 4).
(Fig. 4 - GenericZone
showing on target Galaxy in Whitehole)
To set the position and rotations of the added Zone in your target Galaxy go to Whitehole's BCSV editor and type the following in each field:
- In the Archive field type /StageData/[Galaxy Name].arc
- In the File field type /stage/jmp/placement/common/stageobjinfo
where [Galaxy Name]
is your target Galaxy name. Which in my case is AstroGalaxy
(Fig. 5).
(Fig. 5 - Openning AstroGalaxy
's stageobjinfo
file)
This file (a BCSV file) is the file that has the information of positions and rotations of all Zones in a Galaxy. If a Zone does not show in here it is because the Zone's default position is 0,0,0 (x,y,z) and it has no rotations (0,0,0).
To add your Zone click on Add Row
and then enter the Zone name, the l_id
, the X, Y and Z positions and the angles each axis of the zone is rotated respect to the Galaxy default axis (X, Y and Z directions in the XYZ Euler system AFAIK, Fig. 6).
(Fig. 6 - GenericZone
added to stageobjinfo
file)
NOTE 3: The l_id
value can be any positive integer but that isn't already associated to a Zone of the list.
NOTE 4: The pos
and dir
values can hold any number with pos
being for position units and dir
for angle units (degrees).
And now we can see the Zone in action on Whitehole (Fig. 7). I added a coin to the Zone in its origin to appreciate the translation and rotation effects added on Fig. 6.
(Fig. 7 - Coin added into the translated and rotated GenericZone
)
NOTE 6: Now that you know how to add Zones (to a Galaxy) you can apply the same principle to delete/edit them. Remember to use Whitehole for SMG1!
NOTE 7: To delete a Zone from a Galaxy, check the stage/jmp/placement/common/stageobjinfo
file inside the /StageData/[Galaxy Name].arc
and delete the Zone entry on that file (if there is one).