Kuribo64
Views: 19,854,691 Home | Forums | Uploader | Wiki | Object databases | IRC
Rules/FAQ | Memberlist | Calendar | Stats | Online users | Last posts | Search
03-29-24 06:44 AM
Guest:

0 users reading DouBOL Dash -- A MK:DD Track Editor (v0.1 Beta) | 1 bot

Main - Misc. ROM hacking - DouBOL Dash -- A MK:DD Track Editor (v0.1 Beta) Hide post layouts | New reply


shibboleet
Posted on 12-24-16 06:43 AM Link | #80541

DouBOL Dash


Current Version: v0.1 Beta


Download



Introduction



DouBOL Dash is a program written in C# that I began in the summer of 2016, and let's just say I programmed it horribly. I spammed datagridviews and I called it "progress", when it was the complete opposite. A buggy mess. However, recently, I had decided to take another crack at it. And this time, I would honestly admit that it has been a success so far. And one of my goals of this program is to make it easier to use (and less buggy) than NiAlBlack's BOL editor, which only had a 2D view with small points to determine position (and not a very good visual on heights.)

While helping document the file format, named BOL, I had integrated more and more support into the editor for various types in the file.

Features



Track Preview and Interactive Settings


DouBOL Dash has a feature that renders the track for you, like what you would see if you tested the track in-game. This removes constant testing to get a certain variable in a track to work. Some object models are rendered, and many more will be rendered in the future.

In the editor, everything is color coded according to what object it is.

Enemy Route Points - Pink


Checkpoint Link - Brown


Route Point - Blue


Object - Green


Starting Point - Red


Area (Non-filled White Box)


Camera - Light Blue


Respawn Point - Yellow



Along with this, the first tab page of the editor is known as the "BOL Information" tab, which contains a lot of data about the track. There are 5 unknown floating points, and also has the ability to edit the lap count, as well as what music it uses. And as a bonus, the minimap used for the track!



Selection Indication


Even though DouBOL does not have the ability to "pick" objects from the scene with a click (yet!), it does have it's ways of detecting to see if an object is clicked on the scene. When an object is selected, or a group of entries (seen below), a red box is drawn around the selected entry to indicate that something has been selected. The label at the bottom of the screen shows you more information about what you have selected. There are many features that deal with selection, like enemy points in a group (seen in the 1st screenshot below), selecting the corresponding route that associates with the object (seen in the 2nd screenshot below), route points in a group, and more.




Object Adding UI


Adding objects can be a pain. However, with the UI that I created for adding them into a scene, the crash risk is greatly reduced and will be easier to use for those who are new to Double Dash hacking.




On the left side of the UI is an object list. These are every object in the game (be it unknown or known what it is), and double clicking on the entry itself will add the item if the files needed are present in the course's /objects folder. If they are not in the folder, this will show and will not let you add the object (and yes, I do see the typo in "dependencies":



You can also type in the object's ID (in hex) in the box on the bottom right and hit "Add" if you don't feel like browsing the object list.

BMD, BCO & BTI Viewers


There are 3 viewers that come with DouBOL Dash. One of them is the BMD viewer, that allows the user to load a BMD to view in the simple GL control.



The next viewer is the BTI viewer. This one allows you to open up the BTI file format, and give you the possibility to export an image to PNG.



And when exported....



The last one is my favorite sub-program for DouBOL that I have coded thus far. It's called the BCO viewer. BCO is the collision file format (Link to my docs). The BCO viewer is able to open up a BCO and convert it's Triangles and Vertexes into a viewable model in the GL view. Each different color (except for light blue) represents a different collision type, such as wood, water, lava, etc...

The program also has support for selecting all faces that share the same collision format.



You can also choose to disable triangle viewing and look at the vertexes themselves:



Settings and Keyboard Shortcuts


When I say "keyboard shortcuts", I don't mean stuff like CTRL+O to open, CTRL+S to save, and whatnot. I mean shortcuts that make using the track scene easy to use! Even though there's not many, but this will soon change. Seen below is the settings window, a window where you can enable/disable certain sections to render, wireframe mode, and also modes for the BCO renderer, to show vertexes/triangles.

Keyboard Shortcuts


KeyDescription
1Enable/Disable Wireframe Mode
2Enable/Disable Axis Rendering
3Enable/Disable Enemy Route Rendering
4Enable/Disable Route Point Rendering
5Enable/Disable Checkpoint Rendering
6Enable/Disable Object Rendering
7Enable/Disable Kart Point (Starting Point) Rendering
8Enable/Disable Area Rendering
9Enable/Disable Camera Rendering



Missing Route Check


Many entry types have something called a route, or a path that an object follows, assigned to it. Some objects actually require a value to be NOT -1. So upon saving, I made a function that goes through objects only (since other sections don't require routes) and prints an error and prevents saving if there is an object that needs a path (and it even shows you which one!)


Misc Stuff


There's an update checker that is available for viewing. It will look for the next version that will be released (which is v0.2). You will be notified that an update has come out if you check that in Help -> Check For Updates.

Screenshots







Special Thanks


I would like to thank StapleButter for the BMD rendering code, and miluaces for a few of his patches. Also MelonSpeedruns for his icons.

Thanks for looking, and happy hacking~
-shibboleet

____________________
a

Yami
Posted on 12-24-16 08:23 AM (rev. 2 of 12-24-16 08:23 AM) Link | #80542

Arisotura
Posted on 12-24-16 12:51 PM Link | #80543
aka MrRean is an idiot who assumed Windows and used a \

I believe there's a cross-platform constant for the directory separator, but using a / is safer and easier, Windows is able to understand it too

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

zafkflzdasd

shibboleet
Posted on 12-24-16 03:44 PM Link | #80545
should be fixed.

https://github.com/Reanyboi/DouBOL-Dash/tree/master/DouBOLDash/bin/Debug

____________________
a

Yami
Posted on 12-24-16 07:26 PM Link | #80548

Tf2_Master
Posted on 02-03-17 01:23 AM Link | #81214
I wish you could do this with Luigi's Mansion

TheHappyFaceKing
Posted on 02-03-17 09:29 PM Link | #81229
Posted by Tf2_Master
I wish you could do this with Luigi's Mansion

Me too ;_;


shibboleet
Posted on 02-03-17 09:30 PM Link | #81230
It's very possible I could look into the levels. I know that the field names are hashed, however.

____________________
a

pacmainia&luigi
Posted on 02-14-17 11:26 PM Link | #81380
Can you export the course models?

____________________
Waka waka waka waka waka waka waka waka waka waka waka waka waka waka waka waka waka waka waka waka waka waka waka waka waka waka waka waka waka waka waka waka waka waka waka waka waka waka waka waka waka waka waka waka waka waka waka.........

PhysicBerry
Posted on 07-27-17 11:58 PM Link | #85295
This is some really incredible work, and this tool has paved the way so that we simply need to be able to edit BCO, and we're ready to truly get started! I know that is no simple task, and it may be a number of months before we can edit BCOs, but we'll no doubt get there! We can export them as wavs, we just need to find how to import them!

Also, there's several song IDs in the tool, despite some songs being exactly the same. Does that indicate that we can have a unique song for each stage? And also, the unused music slots, can those be utilized?


Main - Misc. ROM hacking - DouBOL Dash -- A MK:DD Track Editor (v0.1 Beta) Hide post layouts | New reply

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