ROM Hack [WIP] The Fourth Dimension: A Super Mario 3D land level editor

mustafag32g

Well-Known Member
Member
Joined
Jul 30, 2014
Messages
806
Trophies
0
Age
34
XP
2,331
Country
Argentina
Just a note if you take a look at "whitehole" it is a level editor for super mario galaxy, maybe you can have inspiration from the code :-)?

Also did you figure out the kcl :-) collision
 

smileyhead

I like cute stuff.
Member
Joined
Aug 31, 2015
Messages
4,806
Trophies
3
Age
23
Location
Budakeszi, Hungary
Website
sites.google.com
XP
10,598
Country
Hungary
The Fourth Dimension

The first Super Mario 3D land level editor


z2S6CjH.png

Some screenshots:
qTDJ6ud.png

wedQs6w.png

h1PXfU5.png

5DCt7Gz.png

Features:
-Level loading and object editing
-Rails editing
-Loading levels from szs,byml or xml
-Converting game models to obj
-Byml <-> xml converter

Things still to be done:
-Undo function
-Dragging to move objects
-Rail viewing
-Better 3D viewer
-A way to get non-glitchy models in the editor
-other things (?)

What do you need ?
Windows Vista/7/8.1/10 and .Net Framework 4.5.2 (Sorry linux users, but this uses some WPF components for 3d rendering that mono can't run)
The unpacked romfs of the game
A way to run the custom levels (3ds with ntr cfw, hans or citra maybe)
Every file explorer

How to use the editor
To use the editor you need the "CreatorClassNameTable.byml" file in the same folder as this program,
you can find this file inside "SystemData\CreatorClassNameTable.szs" extract it with EFE (every file explorer).
On the first start up it will convert every model from super mario 3d land to obj, you will need to select the "ObjectData" folder inside the RomFS, after this the program is ready to go.
On start you will see an open file dialog, open a level and start editing (Levels are the Map.szs files in the "StageData" folder, like "AquariumSwimStageMap1.szs" or "AquariumSwimStageMap2.szs", "AquariumSwimStageDesign1.szs" is NOT the level, but contains info about lighting).
To play the custom levels you need to save them as Byml, then with EFE open the stage you want to replace and replace "StageData.byml" with yourv byml

Some tips
When you zoom in too much the camera may go crazy, zoom out to fix that.
Don't play with the "l_id" value of objects, if there is invalid data the game will crash.
Keep some backups of the level while editing, the editor may crash, or if you make mistakes there is no undo yet
If there are 3D objects that are annoying in the 3D view(skyboxes, TransparentWalls, etc), delete their 3d model in the models folder or rename it, the object will be replaced in the editor with a small blue cube
If a level crashes after you added an object that wasn't in that level yet you may need to manually edit the "PreLoadFileListX.byml" (byml converter + notepad++) inside the stage SZS.

Thanks to @Gericom for every file explorer and it's DLLs

Download: Here
Since there aren't auto updates yet, follow this thread to be notified of new versions.
Remember that this is still a beta and was tested only by me, so it may crash or get stuck, for every problem write in this thread.

I'm also working on model importing and custom objects, but that's not a priority for now

YES!!
 

exelix11

Developer
OP
Developer
Joined
Feb 25, 2015
Messages
915
Trophies
1
Location
C:\users\exelix11\
XP
3,062
Country
Italy
Just a note if you take a look at "whitehole" it is a level editor for super mario galaxy, maybe you can have inspiration from the code :-)?

Also did you figure out the kcl :-) collision
I didn't looked at the collisions format yet, their extension is the same of SMG collisions, so i'll definitely check how whitehole, or any other SMG tool handles them

Also, with the new model converter, we just switched from scary mario to cyclops mario
0V7e8Rw.png

The new version with lots of improvements coming soon(tm)
 

mustafag32g

Well-Known Member
Member
Joined
Jul 30, 2014
Messages
806
Trophies
0
Age
34
XP
2,331
Country
Argentina
Will support for editing camera parameters ever come :-)? The whole game relies on the cameras to work, i tried deleting all cameras and it would just fixate in one directiion
 

Choon555

Member
Newcomer
Joined
May 4, 2016
Messages
14
Trophies
0
Age
24
XP
93
Country
France
Does the exported .byaml file use the .obj model in the editor, or is it just for practical purposes? Say, if I were to replace that .obj file with another, would it be exported with the rest of the edits? (Sorry if I'm not very clear, english isn't my first language.) Also, great job on the editor!
 

mustafag32g

Well-Known Member
Member
Joined
Jul 30, 2014
Messages
806
Trophies
0
Age
34
XP
2,331
Country
Argentina
Yea of course, just open any level in the "level editor" go to the camera area section. Then delete all the cameras and add a new camera, make it large so it covers the whole map! You are good to go :D super mario 64 :D
 

exelix11

Developer
OP
Developer
Joined
Feb 25, 2015
Messages
915
Trophies
1
Location
C:\users\exelix11\
XP
3,062
Country
Italy
Does the exported .byaml file use the .obj model in the editor, or is it just for practical purposes? Say, if I were to replace that .obj file with another, would it be exported with the rest of the edits? (Sorry if I'm not very clear, english isn't my first language.) Also, great job on the editor!
No, obj files are only for previewing the levels.

Yea of course, just open any level in the "level editor" go to the camera area section. Then delete all the cameras and add a new camera, make it large so it covers the whole map! You are good to go :D super mario 64 :D
Can you tell me the level name ?
Inside every level szs there is also a "CameraParam.byml" you should look inside that too.
The isBigEndian node is from the converter, you shouldn't change it
 

mustafag32g

Well-Known Member
Member
Joined
Jul 30, 2014
Messages
806
Trophies
0
Age
34
XP
2,331
Country
Argentina
No, obj files are only for previewing the levels.


Can you tell me the level name ?
Inside every level szs there is also a "CameraParam.byml" you should look inside that too.
The isBigEndian node is from the converter, you shouldn't change it

Well the level is called something like dessertruin, but honestly i Just added a camera in any map and it started following mario automatically when playing :-)

--------------------- MERGED ---------------------------

I converted cameraparam.byml to xml and opened with HXD, alot of parameters can now be modified. Maybe you can add that to the level editor so we dont have to do it manually! That would be wonderful :D
 

exelix11

Developer
OP
Developer
Joined
Feb 25, 2015
Messages
915
Trophies
1
Location
C:\users\exelix11\
XP
3,062
Country
Italy
Well the level is called something like dessertruin, but honestly i Just added a camera in any map and it started following mario automatically when playing :-)

--------------------- MERGED ---------------------------

I converted cameraparam.byml to xml and opened with HXD, alot of parameters can now be modified. Maybe you can add that to the level editor so we dont have to do it manually! That would be wonderful :D
Now it's just an xml file, edit it with Notepad++ or a text editor it's easier, now i'm working on the collisions, when i'll got them working i'll see what i can do with the cameraparam file, but if anyone wants to help, it's not a problem XD
 

mustafag32g

Well-Known Member
Member
Joined
Jul 30, 2014
Messages
806
Trophies
0
Age
34
XP
2,331
Country
Argentina
Now it's just an xml file, edit it with Notepad++ or a text editor it's easier, now i'm working on the collisions, when i'll got them working i'll see what i can do with the cameraparam file, but if anyone wants to help, it's not a problem XD
Amazing bro, you are a skilled coder! Collisions :D yay!
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    Xdqwerty @ Xdqwerty: Sigh