ROM Hack WarioWare D.I.Y. Editor

bobmcjr

Well-Known Member
OP
Member
Joined
Apr 26, 2013
Messages
1,109
Trophies
0
XP
2,502
Country
United States
I have started to create a save tool and mio editor/viewer for WarioWare D.I.Y. in java. Currently, it can open wii and ds saves to extract mio files, edit game/record/comic/manga metadata, show the preview picture for games, play records, view comics/mangas and the next version will be able to unlock all games/records/comics/achievements for ds saves. I have written the back-end code for the music editor, but I really cannot come up with a good interface for it, plus my current interface would be extremely tedious to implement (tons of radio buttons). If anyone could write something in java that looks roughly like the D.I.Y. music editor I would appreciate it. Zip file has the runnable jar and the source. (Yes I know the source is probably horribly organized)
 

Attachments

  • DIY.zip
    322.8 KB · Views: 2,650

bobmcjr

Well-Known Member
OP
Member
Joined
Apr 26, 2013
Messages
1,109
Trophies
0
XP
2,502
Country
United States
Next version also might have soundfont support. Attached is this song:
using a fancy soundfont.
 

Attachments

  • Windmill.zip
    699.1 KB · Views: 483
  • Like
Reactions: Dartz150

Dann Woolf

Deadpan Snarker
Member
Joined
Oct 12, 2010
Messages
362
Trophies
0
Age
33
Location
Deventer
XP
274
Country
Netherlands
Quick question: you're putting in the ability to unlock all songs/games/comics/medals in the next version, right? Can you make it so we can choose which songs/games/comics/medals to lock/unlock instead of just unlocking all at once? Like with radio buttons? (I think that's what they're called)
 

bobmcjr

Well-Known Member
OP
Member
Joined
Apr 26, 2013
Messages
1,109
Trophies
0
XP
2,502
Country
United States
Maybe. For that a dropdown list might be better. All unlockables EXCEPT the forum use a nice single byte = one unlockable system.
 

absinth85

New Member
Newbie
Joined
Oct 12, 2013
Messages
2
Trophies
0
Age
37
XP
42
Country
Netherlands
I wanted to ask a question about hacking Warioware DIY. Is it possible to remove or silence the clicking/squeeky sounds you get whenever you touch a button in warioware DIY?
 

bobmcjr

Well-Known Member
OP
Member
Joined
Apr 26, 2013
Messages
1,109
Trophies
0
XP
2,502
Country
United States
I wanted to ask a question about hacking Warioware DIY. Is it possible to remove or silence the clicking/squeeky sounds you get whenever you touch a button in warioware DIY?

I only know how to deal with the actual game/record/comics and save files.
 

bobmcjr

Well-Known Member
OP
Member
Joined
Apr 26, 2013
Messages
1,109
Trophies
0
XP
2,502
Country
United States
With the whole push to get all the Nintendo WiFi DLC stuff gathered, I thought I may work on this a bit more. Mainly, I would like to get WarioWare D.I.Y. Showcase injection working (I figure its the easiest way to work with .mio files for those without a flash cartridge and DeSmuME's NAND save support is still a bit iffy). However, I need help interpreting the Wii saves. It appears that the Wii saves use a similar index system to the DS version, but there are five files rather than one to work with. SYS_1 and SYS_0 appear to have index/checksum information of some sort, where SYS_1 is a backup of SYS_0 (these may also have been used as a cache for Wii24 connect distribution of content but I'm not sure). Next, there's the GDATA, RDATA, and MDATA files for games, records, and manga (comics) respectively. These each have a mess of bytes in the beginning I can hardly interpret. The first four bytes look like some sort of checksum followed by the header "MIOR", followed by a lot of bytes I have no idea about (without PizzaBoy's work on CrygorTool, this would be nowhere near where it is currently. I still don't understand the indexes that DIY uses. I hate Nintendo's love of checksums, but its certainly nicer than their new love and obsession with encryption). Also on a side note, I wish that Yasu who made miotool and mioedit would release the sources to those tools, as he seems to have figured out the sprite index system for games. Annoying Japanese devs and their proprietary stuff :P

A GUI for the music editor would also be nice. Ultimately, it would be neat if the games could actually played using this, but Nintendo uses a lot of weird index/offset stuff to save space.
 

bobmcjr

Well-Known Member
OP
Member
Joined
Apr 26, 2013
Messages
1,109
Trophies
0
XP
2,502
Country
United States
Well, I got Showcase savegame injection working. Just extract your save with SaveGameManagerGX, point my utility at GDATA, MDATA, or RDATA (for games, comics/mangas, and records respectively), inject/extract/delete what you want, and install it back with SaveGameManagerGX. Note: Showcase will yell at you for "corrupted" files since I couldn't figure out checksums. Just select OK, it will only display it the first time the modified save is used. Nothing will be deleted, and your modifications should've stuck. Yes you have to have a softmodded Wii to use this.
 

Attachments

  • Untitled5.zip
    362.2 KB · Views: 524
  • Like
Reactions: Dartz150 and daicon

HNKii

Well-Known Member
Member
Joined
Jan 28, 2014
Messages
477
Trophies
0
Location
Mario Kart Wii-DS Link Play Stadium
XP
582
Country
Switzerland
Thanks so much for the software!:lol:
BTW, since you're still working on it, can you help me do a Chinese translation of your software?
Since I don't know how to translate PC software, can you PM me all the texts in your software, and I'll PM back with Chinese translation?
(Or you can simply tell me how to.:) )
 

HNKii

Well-Known Member
Member
Joined
Jan 28, 2014
Messages
477
Trophies
0
Location
Mario Kart Wii-DS Link Play Stadium
XP
582
Country
Switzerland
Well, I got Showcase savegame injection working. Just extract your save with SaveGameManagerGX, point my utility at GDATA, MDATA, or RDATA (for games, comics/mangas, and records respectively), inject/extract/delete what you want, and install it back with SaveGameManagerGX. Note: Showcase will yell at you for "corrupted" files since I couldn't figure out checksums. Just select OK, it will only display it the first time the modified save is used. Nothing will be deleted, and your modifications should've stuck. Yes you have to have a softmodded Wii to use this.
Actually, you do not need a Wii soft modded to do so.:)You just need a Dolphin emulator on your computer.
Steps:
1.Copy the save data of WWDIY showcase from Wii to SD card
2.Plug your SD card into your computer and use Dolphin's inject save data function.(Browse for sd:/private/wii/title/WA4E/data.bin)
*WA4E could also be WA4P or WA4J depending on the game's region*
*BE SURE TO MAKE A COPY OF YOUR CLEAN sd:/private/wii/title/WA4E/data.bin IN CASE SOMETHING GOES WRONG!!*
3.Browse for Dolphin Emulator/Wii/title/00010001/57413445/data for GDATA, MDATA, and RDATA, then edit them.
(The above works for US version, 57413445 could be 5741344a or 57413450 if game was JAP or PAL, not confirmed though)
THANKS FOR HELP FROM leseratte, it has been know that the 8-digit numbers are actually
4 Hex ASCII numbers
Check them out here: http://www.asciitable.com
4.Extract all of your save data with Dolphin.
5.Check the directory of your Dolphin.exe, and you should see a folder named'private.'
6.Browse for private/wii/title/WA4E/data.bin then copy it right over SD:/private/wii/title/WA4E/data.bin
*WA4E could also be WA4P or WA4J depending on the game's region*
7.Plug your SD card back into your Wii, delete the save data for WWDIY on your console(MAKE SURE YOU HAVE A BACKUP IN CASE SOMETHING SCREWS UP!)
Copy the WWDIY save from the SD card to your Wii
8. Enjoy!
Plus: You can get a WAD of WWDIY showcase to show off you games on a PC!:P
(The region of the WAD must match that of your save data!)
Edit: Some data do get corrupted. The Hi scores of DIY games were gone, and I somehow can't inject games into the 1st slot on Wii save(Record&Comic not tested)
 
  • Like
Reactions: bobmcjr

HNKii

Well-Known Member
Member
Joined
Jan 28, 2014
Messages
477
Trophies
0
Location
Mario Kart Wii-DS Link Play Stadium
XP
582
Country
Switzerland
BTW, if a wrong type of MIO file is injected(for example, a Record .mio is injected to the Comic library),the program shuts of immediately.
It would be great if it pops out a warning:"Not the right type!" then goes back to the library instead of shutting:)
 

bobmcjr

Well-Known Member
OP
Member
Joined
Apr 26, 2013
Messages
1,109
Trophies
0
XP
2,502
Country
United States
BTW, if a wrong type of MIO file is injected(for example, a Record .mio is injected to the Comic library),the program shuts of immediately.
It would be great if it pops out a warning:"Not the right type!" then goes back to the library instead of shutting:)
Good idea. And I looked into the slot 1 issue, had some bad sanity checks. Fixed now. Also, I never considered the Dolphin method. That's a lot better for the paranoid people who don't want to mod their Wii's :P
 

Fishaman P

Speedrunner
Member
Joined
Jan 2, 2010
Messages
3,291
Trophies
0
Location
Wisconsin
Website
twitch.tv
XP
1,814
Country
United States
Thanks so much for making this! I've wanted to mess around with DIY's saves for so long.

I've been poking around in the source for a few minutes, trying to see how the save is read/written. Specifically, the game's checksums interest me.
However, the code is kinda confusing from a first glance. Could you help a little here? A flow chart or inheritance tree would work fine.
 

bobmcjr

Well-Known Member
OP
Member
Joined
Apr 26, 2013
Messages
1,109
Trophies
0
XP
2,502
Country
United States
Yeah I should probably post an update soon. As far as I can tell with what I have now everything appears to work so I'll post an update and updated source tomorrow. A basic android version is also available for use with DraStic.

The source currently uploaded is an utter mess. The new one simplifies things a bit. (E.g. all save related stuff is in a package called saveutils)
 
  • Like
Reactions: Fishaman P

Fishaman P

Speedrunner
Member
Joined
Jan 2, 2010
Messages
3,291
Trophies
0
Location
Wisconsin
Website
twitch.tv
XP
1,814
Country
United States
All right, that helped a lot! I'm staring at a block of code which I'm 99% sure is the checksum. (There is one, right? :P)
Now to stare some more until my brain starts comprehending it.
 
General chit-chat
Help Users
  • No one is chatting at the moment.
    KenniesNewName @ KenniesNewName: https://youtu.be/bkR4rNlF14s