Kuribo64
Views: 20,012,891 Home | Forums | Uploader | Wiki | Object databases | IRC
Rules/FAQ | Memberlist | Calendar | Stats | Online users | Last posts | Search
04-23-24 04:47 PM
Guest:

0 users reading Adding New Zones in SMG2 | 1 bot

Main - Archived forums - SMG documentations and tutorials - Adding New Zones in SMG2 Hide post layouts | New reply


NWPlayer123
Posted on 06-24-13 11:22 PM (rev. 3 of 06-28-13 06:14 PM) Link | #26497
So, as I was creating Sky High for SMG2.5, I eventually created a brand new zone, and so I should document it here for whoever to use. So, there's several things you need to do. Credit to MN1 and MM for documenting the BCSV format, and MM for making me realize how to actually do it o,o
  • Create a new map file with whatever objects you want.
  • Add the new map file to the UseResource
  • Place the new zone in the map file
  • The worst part - Adding it to the Scenario


Downloads:




Create a Zone Map File


This is the easy part, you'd create a new map file conforming to what other zones in the game have for objects. One thing to note is:

DON'T CREATE A NEW MAP USING A GALAXY MAP, USE A ZONE ONE.


The galaxy files have the opening cameras inside them, and that can mess things up.


Link the Map in the UseResource


This is also easy, just use the other StageData files as an example.


Place the Zone using the Galaxy Map


Also super simple if you know the basics of how to create levels. Just add it to StageObjInfo, and give it coordinates.


Adding the Zone to the Scenario File


This is the worst part of adding new zones because you have to know exactly what you're doing - you have to hex edit the ScenarioData BCSV to add a new field containing the hashed Zone name. If you REALLY want to do this and you know the basics of hex editing, go find an editor if you don't already have one, and go over to here to find the BCSV format documented for use to add new fields.

Basically, you'd change the number of fields, to add one for the zone file, once you add new field data to the "header" then you'd change the offset to the data, and you'd add 4 to the size of each entry.

Go and download the old version of Whitehole above which conveniently has a name hasher that we can use, and open it up, and go to D > Field Name Hash Calculator. Type in the full name of the zone, in my case with Sky High it was RocketShipWindCloudZone.

You'd then go to the second to last "entry" for the field, which starts with the hash of D6C80400, and add the hash for the zone, I would leave the bitmask as FFFFFFFF, the offset would be what the offset of D6C80400 is now, and the offset of D6C80400 would have 4 added to it. In my case D6C80400 went from 24 > 28 and the zone became an offset of 24(in hex). I would leave the shift amount as 0, and the field type needs to be 0.

DON'T FORGET TO BUMP THE OFFSET OF THE FIELD AFTER IT BY 4


DON'T FORGET TO CHANGE THE OFFSET TO THE DATA


Once you've done all that, you now need to add in 00000000 between the fields like you did in the header. (Keep in mind, it's 00000000 because I personally would edit it later using a real editor, either the whitehole one, manually using anarchy and WiiNARC, or MN1's BCSV editor)

Once you've added the zeroes to each entry for a new field, go ahead and save the BCSV. You've successfully added a new field for the zone you want to load.

Here's an example of adding a zone for shibboleet for Bianco Hills. The red is what was needed to be edited. You're welcome :P

[image]

BUT, you need to make sure to link the layers in the zone map to each entry using a bitmap, in my case with flip swap, I changed the value for the zone in entry one, the main star, to 1 to link Layer A, though it depends for you.

Then you need to add the zone name to the ZoneInfo.bcsv using whatever editor.

Go ahead and pack up and save and test, if done correctly it should load.

____________________
"I hate playing musical chats" ~ Quote of the month

MK7tester
Posted on 06-24-13 11:23 PM (rev. 2 of 06-24-13 11:24 PM) Link | #26498
Nice tutorial! Detailed and descriptive. :up:

Arisotura
Posted on 06-25-13 05:33 PM Link | #26508
For the part where you add a field to the BCSV, it should just be easier to add it at the end. I don't think the order of the fields matters for the game.

____________________
NSMBHD - Kafuka - Jul
melonDS the most fruity DS emulator there is

zafkflzdasd

NWPlayer123
Posted on 06-25-13 05:37 PM Link | #26509
Eh, I guess so, I just wanted to keep it on par with every other scenario because I'm OCD like that xD

____________________
"I hate playing musical chats" ~ Quote of the month

Arisotura
Posted on 06-25-13 05:40 PM Link | #26510
Either way I need to upgrade Whitehole's BCSV editor. It should be easy since the internal BCSV code is very flexible.

____________________
NSMBHD - Kafuka - Jul
melonDS the most fruity DS emulator there is

zafkflzdasd

Tahcryon
Posted on 06-26-13 03:43 PM Link | #26525
Wow, nice find guys! Funny how long it took us to figure it out...

____________________


[04/15/2018]gridatttack: I still think the whole smg2.5 team are still in middle school lol
[04/15/2018]gridatttack: and they are 14yrs old
__________

cosmological: There's no one in Russia who doesn't agree with Putin, probably because his ideas are that great



shibboleet
Posted on 06-28-13 05:49 PM Link | #26566
This needs pictures. Lots of them. It's really confusing .-.

____________________
a


Main - Archived forums - SMG documentations and tutorials - Adding New Zones in SMG2 Hide post layouts | New reply

Page rendered in 0.046 seconds. (2048KB of memory used)
MySQL - queries: 28, rows: 209/209, time: 0.014 seconds.
[powered by Acmlm] Acmlmboard 2.064 (2018-07-20)
© 2005-2008 Acmlm, Xkeeper, blackhole89 et al.