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
Also did you figure out the kcl :-) collision
The Fourth Dimension
The first Super Mario 3D land level editor
Some screenshots:
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
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 themJust 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
With these upgrades, you never stood a chance.
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
you remember the name of the level what world :-)? maybe I can copy the camera data to another level :-)? i will try :-D
Can you share it? at least to the creator of this level editorI got it working bro! I just added a camera and it kept following mario! Fantastic!
No, obj files are only for previewing the levels.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!
Can you tell me the level name ?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 super mario 64
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
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 XDWell 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
Amazing bro, you are a skilled coder! Collisions yay!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