Language…
4 users online:  Atari2.0, BabaYegha, sinseiga, Tsquare07 - Guests: 245 - Bots: 339
Users: 64,795 (2,375 active)
Latest user: mathew

DouBOL Dash & Yoshi Omelette -- The MK:DD And Yoshi's Island Editor Bundle

  • Pages:
  • 1
  • 2
Morning (or afternoon) my fellow SMWC'ers! As I do not have any information on the riddle that must be solved (or something I just skimmed over it), but I actually have a tee-bit of "evidence" (for this thing that I still didn't read over well). My two most recent projects.

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.

Yoshi Omelette



Yoshi Omelette was my (very) recently started project that is supposed to replace Golden Egg, which was the closed source editor. Sadly I have been very busy and haven't gotten much to work on, but I have gotten some progress.

How it will work


Yoshi Omelette uses a custom file format exported from a previously written script known as EGG. Below is the structure of the file.

OffsetSizeDescription
0x000x04"EGG1" in ASCII.
0x040x04Offset to beginning of the object section.
0x080x04Offset to beginning of the sprite section.
0x0C0x02Object / Exit Count (This will be changed so both are separate)
0x0E0x02Sprite Count
0x10-0x190x0AOriginal Level Header
0x19-0x1F0x06Padding.


Once that is parsed, then nothing much has changed. The only things that have changed (and are done) so far are that the sections begin with "OBJS" (objects) and "SPRT" (sprites). As I come up with ideas (or they're supplied), I will attempt to put them in to make parsing a lot easier.

Since coding something for a SNES ROM is complicated because changing sizes isn't just for a "file", it's the entire ROM, therefore making any changes difficult. Using this file format I can simply just make another program that injects the file data (without my changes, of course) back into free spots in the ROM, instead of using temporary space in the program.

If you wish to see the code for it, it is here:

Github



That's all from me this time, I hope you guys have a wonderful 2017 and things yet to come!

~shibboleet

That DD editor looks amazing. I know you've been doing quite a bit of work on it and hadn't realized how much was done. Excellent work. ;)

As for the Yoshi's Island editor, I'm sure there will be quiet a few cheers from the YI hacking community once its finished, Great job man. ^_^
Layout by LDA during C3.
yeah it's the best thing to be able to show off a successful project. Through many failures, this one succeeded.

edit: A big note, a bugfix has been committed to the repo to fix Wine issues.
There is a MK:DD Editor, THAT IS SO EPIC!!! I can't wait to see someone pull off a MK:DD hack!
My YouTube Channel
Best SMW Hacks Compilation
A Mario Kart: Double Dash editor?! Wow! I hope for a Super Circuit one, too! That one was my childhood, and I absolutely loved it. Great work on this editor, too!
Just so you know, I'm very active on the site anymore like I was before; I'm mainly on Discord now.
Thanks.

but there already is a SMK one iirc
Yo this is amazing
Is there any way to show which checkpoints are keycheckpoints? I'd like to know so I could maybe find some shortcuts and learn more about how the checkpoint system in mkdd works
they're all key checkpoints. If the player misses them on the track and they're not in 2 separate groups, it doesn't count the lap.

Glitches can be performed though.
I'm all for a new and improved editor of YI, I do remember that the source code of golden egg was distributed once upon a time ago. Also dear lord that dd editor makes me super happy. It'd be awesome if people were able to import tracks from the other Mario kart games to it

Great job and good luck in the future.
I wonder what a HFD opcode would do in ASM...
well it was the decompiled code. It's awful.
Originally posted by shibboleet
they're all key checkpoints. If the player misses them on the track and they're not in 2 separate groups, it doesn't count the lap.

Glitches can be performed though.


That doesn't make sense unless I don't understand it enough
Let's say in waluigi You pull off waluigi skip
That means you skip these checkpoints marked in red

Same goes for Bowser, where you can skip almost half of the track

Does lakitu maybe ignore the missed key checkpoints?

Edit: In fact there are many shortcuts where you miss the checkpoints like shown here in Bowser. So far Yoshi is the only track I've seen with multiple checkpoint groups, this probably because of the tunnel "shortcut"
That's true, glitches can be pulled off to skip those. I haven't actually fully looked into these "key checkpoints" but to be real, I think it involves this:

I think you have to touch a checkpoint that makes a new spawning point. If you die while touching a new checkpoint that involves a new spawning point, all checkpoints before it are nullified, and you are marked as at the new spot, rather than the old.
I'll be looking forward to progress on the DD editor. It already seems more organized than the old stuff for MKW.
meh. I don't think it's as advanced as Mario Kart Wii is, but it's more user-friendly, I must say.
Originally posted by shibboleet
That's true, glitches can be pulled off to skip those. I haven't actually fully looked into these "key checkpoints" but to be real, I think it involves this:

I think you have to touch a checkpoint that makes a new spawning point. If you die while touching a new checkpoint that involves a new spawning point, all checkpoints before it are nullified, and you are marked as at the new spot, rather than the old.


Actually I just edited it in my mainpost but it's not only when you die and lakitu helps you
I'll copy paste it here:

There are many shortcuts where you miss the checkpoints like shown here in Bowser. So far Yoshi is the only track I've seen with multiple checkpoint groups, this is probably because of the tunnel "shortcut"

Same thing in DKM by jumping over the chasm at the end
Wow!! This is super duper impressive!

I don't even know what i can say about this other then incredible job! I'm not caught up on the MKDD hacking scene, but if this is the first step towards simplifying the process then I'd say it's a hell of a step!
ask me if i give a f*ck...
Um how does it work? where i can find the bol file? why when i selected my MKDD rom nothing appear? Why i can't create something? plz help or make a tutorial plz.....
Originally posted by GoombaNL

Actually I just edited it in my mainpost but it's not only when you die and lakitu helps you
I'll copy paste it here:

There are many shortcuts where you miss the checkpoints like shown here in Bowser. So far Yoshi is the only track I've seen with multiple checkpoint groups, this is probably because of the tunnel "shortcut"

Same thing in DKM by jumping over the chasm at the end

Sounds like something to look into. Thanks.

Originally posted by Hobz
Wow!! This is super duper impressive!

I don't even know what i can say about this other then incredible job! I'm not caught up on the MKDD hacking scene, but if this is the first step towards simplifying the process then I'd say it's a hell of a step!

Thanks a bunch! Nobody has gotten as deep as I have into this game. It's other formats are surprisingly simple.

Originally posted by Miners
Um how does it work? where i can find the bol file? why when i selected my MKDD rom nothing appear? Why i can't create something? plz help or make a tutorial plz.....

The BOL files are found in /Course/CourseName.arc where CourseName is the name of the course in which you want to open. Could write an ARC library so things could be easier but eh. I will make a tutorial soon.
Where i can find /Course/CourseName.arc and yeah ill probably wait your tutorial lol
You have to extract the files from the ISO.
  • Pages:
  • 1
  • 2