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,

duffmmann

Well-Known Member
Member
Joined
Mar 11, 2009
Messages
3,966
Trophies
2
XP
2,305
Country
United States
So is this ever going to truly have the online course database manager? Now more than ever this should be continued in development. With the recent banwaves, the bulk of Super Mario Maker 3DS outside of the designing levels aspect, has become unplayable (100 Mario Challenge). That right there sucks, but at least with a working OCDM, we'd be able to download all the levels we want into Mario Maker 3DS and play them regardless if we've been banned.
 

Sono

cripple piss
OP
Developer
Joined
Oct 16, 2015
Messages
2,821
Trophies
2
Location
home
XP
9,321
Country
Hungary
So is this ever going to truly have the online course database manager? Now more than ever this should be continued in development. With the recent banwaves, the bulk of Super Mario Maker 3DS outside of the designing levels aspect, has become unplayable (100 Mario Challenge). That right there sucks, but at least with a working OCDM, we'd be able to download all the levels we want into Mario Maker 3DS and play them regardless if we've been banned.

there are 3 reasons I stopped development:

1) I can't find where and how the first 4 bytes in the files are calculated
2) I lost motivation because
3) there's an alternative

so ye... I might even ask for a thread lock soon
 

Oschara

Well-Known Member
Member
Joined
Jan 4, 2017
Messages
285
Trophies
0
Age
38
XP
503
Country
United States
there are 3 reasons I stopped development:

1) I can't find where and how the first 4 bytes in the files are calculated
2) I lost motivation because
3) there's an alternative

so ye... I might even ask for a thread lock soon

No worries Marcus! Keep up the good work with all the other things you have on your plate!
 

Alpuy

Well-Known Member
Member
Joined
Aug 12, 2015
Messages
144
Trophies
0
Age
34
XP
262
Country
Uruguay
there are 3 reasons I stopped development:

1) I can't find where and how the first 4 bytes in the files are calculated
2) I lost motivation because
3) there's an alternative

so ye... I might even ask for a thread lock soon
Can the check of those bytes be bypassed by modifying the game code?
 

Pakhitew-Island

Well-Known Member
Member
Joined
Apr 16, 2017
Messages
177
Trophies
0
Age
30
XP
291
Country
Jamaica
I just hope someone figures it out one day, Eventually when the WiiU servers go down, any potential homebrew apps will be the only way to share levels online
 

Zhongtiao1

Well-Known Member
Member
Joined
Feb 24, 2015
Messages
831
Trophies
0
Age
26
XP
2,765
Country
United States
Just something interesting I've found: in all course220 files, offset 000 blocks 04 through 06 are always 04 1C 00. But in the course files, it is changed to 04 30 04. I think this is just an identifier saying that this file contains a level.
 

Zhongtiao1

Well-Known Member
Member
Joined
Feb 24, 2015
Messages
831
Trophies
0
Age
26
XP
2,765
Country
United States
in offset 010 block 09 through offset 020 block 00 in the course files (not course220) are always C0 10 00 00 00 00 00 0B.

Also, as long as the levels were created on your device, offset 020 blocks 0C through 0F are the same on your levels.

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

As long as it is not a Wii U course, offset 0D0 blocks 09 through 0B are always the same. 52 48 50 or RHP
 

Tarnadas

Well-Known Member
Newcomer
Joined
Dec 21, 2016
Messages
76
Trophies
0
Age
34
Website
smmdb.ddns.net
XP
158
Country
Germany
I created a GitHub repo with Protobuf files to import/export courses from/to WiiU/3DS: https://github.com/Tarnadas/smm-protobuf

If we follow the same serialization standard, we can easily convert from Wii U to 3DS and vice versa and Protobuf suits very well. I will soon update cemu-smm, so that it will be able to serialize Wii U SMM courses
 
  • Like
Reactions: Pakhitew-Island

Sono

cripple piss
OP
Developer
Joined
Oct 16, 2015
Messages
2,821
Trophies
2
Location
home
XP
9,321
Country
Hungary
@Zhongtiao1 thanks for bringing up the interest on course220! it seems like offset 0x2C in course220 is the mirriored copy of 0x2268 in Progress of which I know is the savefile -> slot# binding array. it's *really* weird why this is happening

I created a GitHub repo with Protobuf files to import/export courses from/to WiiU/3DS: https://github.com/Tarnadas/smm-protobuf

If we follow the same serialization standard, we can easily convert from Wii U to 3DS and vice versa and Protobuf suits very well. I will soon update cemu-smm, so that it will be able to serialize Wii U SMM courses

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
 

Zhongtiao1

Well-Known Member
Member
Joined
Feb 24, 2015
Messages
831
Trophies
0
Age
26
XP
2,765
Country
United States
@Zhongtiao1 thanks for bringing up the interest on course220! it seems like offset 0x2C in course220 is the mirriored copy of 0x2268 in Progress of which I know is the savefile -> slot# binding array. it's *really* weird why this is happening

No problem :) It could be that it is there as a backup in case the game fails, or it reads for digital copies from course220 since there is no cartridge.
 

Sono

cripple piss
OP
Developer
Joined
Oct 16, 2015
Messages
2,821
Trophies
2
Location
home
XP
9,321
Country
Hungary
No problem :) It could be that it is there as a backup in case the game fails, or it reads for digital copies from course220 since there is no cartridge.

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
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • No one is chatting at the moment.
    OctoAori20 @ OctoAori20: Nice nice-