OCDM - Mario Maker 3DS course manager

OCDM stands for Online Course Database Manager

Features*:
  • import and export courses, both** 3DS and WiiU
  • cryptofix saves (if the game marked your save as "corrupted")
    • Note: this will overwrite the LockoutID in your courses, not in the save file, so please be fair and don't reupload others' courses :)
  • make/apply save snapshots (exports all files which are used in the save)
    • Note: please format your save data before restoring your save otherwise the game could mark your save as "corrupted", and this one is not cryptofixable
  • browse SMMDB
    • download courses
    • discontinued

*: these features are in the latest build at the time of editing this post, so functionality in the public build could differ
**: due to differences in the 3DS and the WiiU version, importing a converted course file on a foreign platform could crash the game on loading the course


bf9dd7f81f.jpg

dfa53dcd86.jpg

82f4e899ed.jpg

2d84f7a0f6.jpg

9f7d574fee.png

fd529e16c1.png

3e10674a00.png

fd5ea7441e.png

d593f2b5ff.png

f4b4b4fcf4.jpg



[Download] (not supported anymore)​
 
Last edited by Sono,

Zhongtiao1

Well-Known Member
Member
Joined
Feb 24, 2015
Messages
818
Trophies
0
Age
26
XP
2,717
Country
United States
Now that you mention cartridges... I guess it's another leftover (*sigh*) code before they decided that you won't be able to use the cartridge on an other 3DS, because it's an exact mirror of a data block found in the Progress file

also, lol at placeholder text
1486a87af2.png

lol :P It's interesting that it has a part for the SD Card being write protected, seems like it would have just been simpler to remove that part and just say that there is a problem with the SD Card.
 

Tarnadas

Well-Known Member
Newcomer
Joined
Dec 21, 2016
Messages
76
Trophies
0
Age
34
Website
smmdb.ddns.net
XP
158
Country
Germany
sadly I don't know of Google Protobufs, but once I find the file format descriptor file I'll post it so you can make it more accurate

Don't worry, it's easily readable and not that difficult.
You basically have an API in any language that you can give an object to be serialized. If the object complies to the proto file specification, it will be serialized and can then be transferred or whatever you want to do with it.
However it involves creating such an object first and this is the tricky part.
Here is some partially complete and 90% correct documentation about Block structure in Wii U. As I can see 3DS uses the same structure with different offsets.
 

Sono

cripple piss
OP
Developer
Joined
Oct 16, 2015
Messages
2,800
Trophies
2
Location
home
XP
9,221
Country
Hungary
Don't worry, it's easily readable and not that difficult.
You basically have an API in any language that you can give an object to be serialized. If the object complies to the proto file specification, it will be serialized and can then be transferred or whatever you want to do with it.
However it involves creating such an object first and this is the tricky part.
Here is some partially complete and 90% correct documentation about Block structure in Wii U. As I can see 3DS uses the same structure with different offsets.

that's partially true

the 3DS uses the *exact same* level format as the WiiU uses, just the values are Little Endian, and the checksum is calculated differently :P

oh, and the files are mashed into one big "course%03i" file, with an added 0x1C big "security header"
 

Tarnadas

Well-Known Member
Newcomer
Joined
Dec 21, 2016
Messages
76
Trophies
0
Age
34
Website
smmdb.ddns.net
XP
158
Country
Germany
I just bumped the version of cemu-smm to a new major release. Wii U courses can now be serialized. A few data will be lost however, but in Cemu this data does not seem to be used. It is more online related stuff
 

Sono

cripple piss
OP
Developer
Joined
Oct 16, 2015
Messages
2,800
Trophies
2
Location
home
XP
9,221
Country
Hungary
Just wanted clarification is all :)

Have you figured out the checksum? or is that still up in the air?

wait, sorry, I forgot one checksum!

fa091cb0a4.png

and I just realized that I have 6 WiiU levels in my test folder, so I'm pretty sure I have stuff to test with xD so hold on, I'll now try this real "quick" :P
 

Tarnadas

Well-Known Member
Newcomer
Joined
Dec 21, 2016
Messages
76
Trophies
0
Age
34
Website
smmdb.ddns.net
XP
158
Country
Germany
No I only serialize them^^ (or deserialize)
There is no conversion to 3DS involved.

The serialization will reduce bandwidth when transferring course files to a custom server by a large amount.

I have not yet checked 3DS course files in depth, but I might add support for them as well
 

Sono

cripple piss
OP
Developer
Joined
Oct 16, 2015
Messages
2,800
Trophies
2
Location
home
XP
9,221
Country
Hungary
No I only serialize them^^ (or deserialize)
There is no conversion to 3DS involved.

The serialization will reduce bandwidth when transferring course files to a custom server by a large amount.

I have not yet checked 3DS course files in depth, but I might add support for them as well

oh it's endpoint-to-endpoint? oh ok
 

Sono

cripple piss
OP
Developer
Joined
Oct 16, 2015
Messages
2,800
Trophies
2
Location
home
XP
9,221
Country
Hungary
This means there will be no reason to convert courses anymore right?

no, iirc that's for transferring courses with the smallest amount of bytes transferred possible, and on the receiving side you could just reconstruct the original file as it was
 

Sono

cripple piss
OP
Developer
Joined
Oct 16, 2015
Messages
2,800
Trophies
2
Location
home
XP
9,221
Country
Hungary
I figured nothing...

if you read back like 1-2 pages:
  • I found the alrorhythm to the first four bytes that is present in every file
  • I'm able to cryptofix saves
  • I can tamper with the savefile and the course files
and the stuff I haven't mentioned yet
  • I have fixed many bugs in the GUI system
  • I finally made that fucking file browser (which looks insanely disgusting like the rest of the program does)
  • there's a header file in the source code which someone could include to be able to parse level files
and the stuff I'm working on right now
  • importing 3DS courses
  • importing WiiU courses on the fly into an unused slot
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • No one is chatting at the moment.
    LeoTCK @ LeoTCK: yes for nearly a month i was officially a wanted fugitive, until yesterday when it ended