Yu-Gi-Oh! 5D's Duel Transer making custom banlists and restoring original DLC

SuperrSonic

Well-Known Member
OP
Member
Joined
Dec 9, 2011
Messages
807
Trophies
1
XP
2,295
Country
Puerto Rico
Yu-Gi-Oh! 5D's Duel Transer (Master of the Cards in PAL regions) had a sort of mix between disc-locked DLC and truly downloadable content, the game has a list of all possible DLC titles, while the actual content of these titles would be downloaded, which is a number of card IDs for a banlist in order to balance the game.

Here's the gist of it, using the built-in list:
Code:
01 00 13 00 00 00 00 00 18 95
//this as a file means the list will have the title March, 2010 and only Bottomless Trap Hole will be limited to 2 copies per deck.

The first byte is the number of cards on the list. Followed by it is a 0, and then the title ID, 0x13 = March 2010 if you wanted it to say "No Forb/Ltd Card Lists" you change it to 0x43.
Then there are five '0' bytes which leads to the start of the card list. The order of the IDs on the list doesn't matter.

To mark a card limited to 1, byte swap and add 64 (0x40)
To mark a card limited to 2, byte swap and add 128 (0x80)
To mark a card forbidden just byte swap the ID.

Example:
Bottomless Trap Hole = 0x1518
Limited to 2 = 0x1895

Take a look at the full list:
Code:
0x01 = List - August, 1999
0x02 = List - April, 2000
0x03 = List - November, 2000
0x04 = List - May, 2001
0x05 = List - January, 2003
0x06 = List - September, 2003
0x07 = List - March, 2004
0x08 = List - September, 2004
0x09 = List - March, 2005
0x0A = List - September, 2005
0x0B = List - March, 2006
0x0C = List - September, 2006
0x0D = List - March, 2007
0x0E = List - September, 2007
0x0F = List - March, 2008
0x10 = List - September, 2008
0x11 = List - March, 2009
0x12 = List - September, 2009
0x13 = List - March, 2010
0x14 = List - September, 2010
0x15 = List - March, 2011
0x16 = List - September, 2011
0x17 = List - March, 2012
0x18 = List - September, 2012
0x19 = List - March, 2013
0x1A = List - September, 2013
0x1B = List for Spring 2006
0x1C = List for Summer 2006
0x1D = List for Fall 2006
0x1E = List for Winter 2006
0x1F = List for Spring 2007
0x20 = List for Summer 2007
0x21 = List for Fall 2007
0x22 = List for Winter 2007
0x23 = List for Spring 2008
0x24 = List for Summer 2008
0x25 = List for Fall 2008
0x26 = List for Winter 2008
0x27 = List for Spring 2009
0x28 = List for Summer 2009
0x29 = List for Fall 2009
0x2A = List for Winter 2009
0x2B = List for Spring 2010
0x2C = List for Summer 2010
0x2D = List for Fall 2010
0x2E = List for Winter 2010
0x2F = List for Spring 2011
0x30 = List for Summer 2011
0x31 = List for Fall 2011
0x32 = List for Winter 2011
0x33 = List for Spring 2012
0x34 = List for Summer 2012
0x35 = List for Fall 2012
0x36 = List for Winter 2012
0x37 = List for Spring 2013
0x38 = List for Summer 2013
0x39 = List for Fall 2013
0x3A = List for Winter 2013
0x3B = World Championship
0x3C = World Championship 1
0x3D = World Championship 2
0x3E = World Championship 3
0x3F = National Competition List
0x40 = World Championship Prlm
0x41 = World Championship Final
0x42 = World Championship Final
0x43 = No Forb/Ltd Card List
0x44 = Forb/Ltd Card Lists
0x45 = Forb/Ltd Card List 1
0x46 = Forb/Ltd Card List 2
0x47 = Forb/Ltd Card List 3
0x48 = Forb/Ltd Card List 4
0x49 = Password Lists
0x4A = Password List 1
0x4B = Password List 2
0x4C = Password List 3
0x4D = Password List 4
0x4E = Special Lists
0x4F = Special List 1
0x50 = Special List 2
0x51 = Special List 3
0x52 = Special List 4
0x53 = Treat Ltd as Forb
0x54 = Up to 1 Forb Card
Clearly a lot of these don't make much sense and it seems they serve a different purpose than to block certain cards.

A single DLC list file cannot exceed 0x1F8 bytes.
There is no simple way to get the card IDs without manually seeing them in memory when the game loads them.

I wrote a tool to easily add these DLCs from a file on SD or USB storage, thanks to a user on reddit; Mischievous-Shark I am able to include the official DLC lists for September 2010 through March 2013. This app is also able to export deck recipes for quick sharing, restoring deleted recipes by the game, and importing recipes from a file. It was done in a few days so it might not be extremely stable but it works fine when I tested it.

This game is pretty fun to mod, I haven't been able to undub it but if you use the Japanese version you can (with some minor hex editing) import the English/Spanish/French script almost flawlessly, and it has a small advantage, the card description box has a bigger font size, it's more readable without having to open the card info screen.
The game doesn't like it if you add cards that aren't in the game but if you insert custom cards to a recipe via hex editing you can play your hacked deck with a code. Custom cards can have any attributes but effects that read card names won't work with them.

YPMb7WZ.png

PGp96YE.png


There is a mem limit because all the card titles/desc/thumbs are loaded at start. Around 20 cards can be added.
And even more for alternate card artwork, alternate art affects the save file but because there's so much space in the recipe slots
these can be used to make every card have an alternate art, but the thumbnails still take up too much memory.

qtdRkWf.png

This alt artwork for DMG is in the NTSC-U game but there is code that subtracts the total number of artworks, if you add one to this value you can get the artwork back. That's some tcrf material right there.

About the YDC format: a character's deck in the game is found on the disc in a deck_XXXX.ydc file, for example AI Duelist's first deck (called Sacred Gate) is deck_3725.ydc, let's say you made idk Pagasus' deck and have it saved as a recipe, you can load up the tool, export the recipe in YDC format and name it something like "deck_0104.ydc", '0104' isn't on the disc it's a new file. You can add this file to the disc and rebuild with wit... or use Riivolution with an xml that lets you add files. The YDC format is like a recipe but doesn't store a name nor date and every card ID is swapped, importing is possible by having the user provide a name but for simplicity I've only made it an export format.

Then a code can be used to make the game look for this file:
Code:
Sacred Gate becomes Pegasus' deck
284d94d8 00000e8d
024d94d8 00000068
e0000000 80008000

Now you can duel against Pegasus' deck using the game's AI Duelist!

A big reason I wanted to share this is because the "No Forb/Ltd Card List" makes the game more fun. And people who want to play with balance can do so as well. This game is compatible with wiimmfi, which is great because even if no one is online, if you have 2 Wii consoles you can play "local" multiplayer.

DL

Here's a video of the first version, before DLC mode had a selector or recipes could be renamed:
 

RafaelQu

New Member
Newbie
Joined
Feb 4, 2024
Messages
1
Trophies
0
Age
28
XP
16
Country
Brazil
Hi my Friend, I'm from Brazil...
Sorry my English is too bad
One Question: how import my Recipe Deck for new Save? I can export in format "deck.ydc" but I can't import the same deck
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • No one is chatting at the moment.
    K3Nv2 @ K3Nv2: Sorry for accidentally bending over