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,

Toyskyline

Well-Known Member
Newcomer
Joined
Aug 10, 2013
Messages
45
Trophies
0
Age
30
Location
Oakville, Ontario
XP
195
Country
Canada
I'm greatly pleased this project is still alive, please keep it moving- the end is in sight. If you have to release this without an in app server I'm sure the community would still be perfectly fine with a way to import/share levels.
 

Sono

cripple piss
OP
Developer
Joined
Oct 16, 2015
Messages
2,823
Trophies
2
Location
home
XP
9,333
Country
Hungary
@MarcusD I am currently implemeting the conversion 3DS <-> WiiU.
Do you know anything about the thumbnail format?

3DS<-->WiiU is already implemented but whatever

yes, on the WiiU version it's just an 8byte-big -header -prefixed JPEG, on the 3DS it's just a Morton-interleaved ("swizzled") 168x216 and a 32x240 RGB565 thumbnail rotated to the right


it means "can't open ExtData because it doesn't exist"... did you ever get to the coursebot before opening OCDM? you need to have a valid savefile before being able to open OCDM
 

Tarnadas

Well-Known Member
Newcomer
Joined
Dec 21, 2016
Messages
76
Trophies
0
Age
34
Website
smmdb.ddns.net
XP
158
Country
Germany
3DS<-->WiiU is already implemented but whatever

yes, on the WiiU version it's just an 8byte-big -header -prefixed JPEG, on the 3DS it's just a Morton-interleaved ("swizzled") 168x216 and a 32x240 RGB565 thumbnail rotated to the right

Thanks, and no. It's only implemented in C, but I have to use it either with a CLI or I have to port it to Node
 

Sono

cripple piss
OP
Developer
Joined
Oct 16, 2015
Messages
2,823
Trophies
2
Location
home
XP
9,333
Country
Hungary
wait what are you talking about?^^
Can I somehow use this on a Node server?

oh ._.

sorry then


uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuh... can you understand C# ? I guess you could try porting it to JS
 

Sono

cripple piss
OP
Developer
Joined
Oct 16, 2015
Messages
2,823
Trophies
2
Location
home
XP
9,333
Country
Hungary
That's actually what I'm doing. Node is just on top of JS

wat

are you porting C# code to JS?
also, I know Node.js is JS :P I'm using it

(I have a feeling there's a serious misunderstanding in this conversation, but it's prolly my fault for losing the context)
 

Tarnadas

Well-Known Member
Newcomer
Joined
Dec 21, 2016
Messages
76
Trophies
0
Age
34
Website
smmdb.ddns.net
XP
158
Country
Germany
wat

are you porting C# code to JS?
also, I know Node.js is JS :P I'm using it

(I have a feeling there's a serious misunderstanding in this conversation, but it's prolly my fault for losing the context)

I think so too :rofl:
I am porting your code to JS. I don't know C# a lot, but isn't your code C (which I don't know either a lot)? :D
 

Sono

cripple piss
OP
Developer
Joined
Oct 16, 2015
Messages
2,823
Trophies
2
Location
home
XP
9,333
Country
Hungary
I think so too :rofl:
I am porting your code to JS. I don't know C# a lot, but isn't your code C (which I don't know either a lot)? :D

yeeeees, but the thumbnail creator/importer I quickly made is C#, because I have previously worked with raw image files, so I just repurposed some old code for creating a png and importing a png into the course files
 

Tarnadas

Well-Known Member
Newcomer
Joined
Dec 21, 2016
Messages
76
Trophies
0
Age
34
Website
smmdb.ddns.net
XP
158
Country
Germany
Last edited by Tarnadas,

Sono

cripple piss
OP
Developer
Joined
Oct 16, 2015
Messages
2,823
Trophies
2
Location
home
XP
9,333
Country
Hungary

hmm... I could try making that Morton (un)swizzler in JS... umm, is the "jimp" Node module usable for you? because if I really do this then I'll base my code around that

edit: I have also noticed a flaw in your code... the WiiU version uses standard CRC32 outputted in Big Endian order, whereas the 3DS version uses ZIP(?) CRC (aka. CRC32 with 0xFFFFFFFF as the initial value instead of 0x00000000), and the result is NOT'd and written in the file in Little Endian order
 
Last edited by Sono,

THYPLEX

Well-Known Member
Member
Joined
May 20, 2017
Messages
632
Trophies
0
Age
28
Location
Rome
XP
747
Country
Italy
3DS<-->WiiU is already implemented but whatever

yes, on the WiiU version it's just an 8byte-big -header -prefixed JPEG, on the 3DS it's just a Morton-interleaved ("swizzled") 168x216 and a 32x240 RGB565 thumbnail rotated to the right



it means "can't open ExtData because it doesn't exist"... did you ever get to the coursebot before opening OCDM? you need to have a valid savefile before being able to open OCDM
So , what i need to do , in short ?

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

But strangely enough , the old homebrew version works pretty well
 

Sono

cripple piss
OP
Developer
Joined
Oct 16, 2015
Messages
2,823
Trophies
2
Location
home
XP
9,333
Country
Hungary
So , what i need to do , in short ?

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

But strangely enough , the old homebrew version works pretty well

have you tried the current homebrew version? the homebrew version has a slightly different filesystem implementation, so it may work

also, by that I meant that you need to open the game, wait for the main menu to load, and go to coursebot, and then press the HOME button and close Mario Maker. this is the least effort you need to make in order for OCDM to be usable, otherwise you'll get errors on startup similar to this
 

Tarnadas

Well-Known Member
Newcomer
Joined
Dec 21, 2016
Messages
76
Trophies
0
Age
34
Website
smmdb.ddns.net
XP
158
Country
Germany
hmm... I could try making that Morton (un)swizzler in JS... umm, is the "jimp" Node module usable for you? because if I really do this then I'll base my code around that

edit: I have also noticed a flaw in your code... the WiiU version uses standard CRC32 outputted in Big Endian order, whereas the 3DS version uses ZIP(?) CRC (aka. CRC32 with 0xFFFFFFFF as the initial value instead of 0x00000000), and the result is NOT'd and written in the file in Little Endian order

Yes I already use Jimp.

I also implemented the exact same algorithm as yours and got the same result as with the standard Crc32 algorithm. I checked both crcs before and after conversion and they were the same. I just had to use LE
 
Last edited by Tarnadas,

THYPLEX

Well-Known Member
Member
Joined
May 20, 2017
Messages
632
Trophies
0
Age
28
Location
Rome
XP
747
Country
Italy
have you tried the current homebrew version? the homebrew version has a slightly different filesystem implementation, so it may work

also, by that I meant that you need to open the game, wait for the main menu to load, and go to coursebot, and then press the HOME button and close Mario Maker. this is the least effort you need to make in order for OCDM to be usable, otherwise you'll get errors on startup similar to this
Can you post me the QRcode download of the latest 3dsx version ?
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • BakerMan
    The snack that smiles back, Ballsack!
    SylverReZ @ SylverReZ: @AncientBoi