Yu-Gi-Oh!+The+Duelists+of+the+Roses

http://aluigi.altervista.org/quickbms.htm Use the script below to convert the raw models obtained from the first script into .3ds files
 * Use the script below called "rosesmonsterextract.bms", with the free program called Quickbms**
 * to extract just the raw models for each card in the Monster.MRG file:**

Then you can use another script called yugimeshconvert.bms: to dump the vertexes from the files you obtained from the first script. This script must be run at the commandline: Go to commandprompt then type in the path to quickbms.exe followed by -w (must be a lowercase w), followed by the path to yugimeshconvert.bms followed by the path to a file from the first script, followed by the folder where you want to save the vertexes.

Press enter, and the script will ask you to open another file. What it really wants to do is to have the name of the output, so type in any name such as vertexes.dat, and it will create a file called vertexes.dat that contain the vertexes. This script is not complete, but if you want to view parts of the mesh you can use the free program called INTtoFloatConverter: to convert the vertexes into 4ByteFloat vertexes (use option 2, the 2byteIntegers) Then you can use cheat engine, to load the output (from the output folder), into offset 0x6e, in a clean copy of blank.3ds If everything goes well you will have imported all the pieces of a monster mesh, that are on top of one other, and connected to each other. Updated versions of this script, will convert better, with all of the pieces in the right spot, just like you see in the game.
 * Here is an example of the Panther Warrior (file 222):**

You can make out the sword on the left side of the image.


 * The models for the creatures are stored in the MONSTER.MRG file. Each model is stored in a subfile exactly 1 Megabyte in size. The first subfile begins at offset 0 and the next one begins right after the last one ends. Their are 683 subfiles composing the entirety of the 683 Megabyte MONSTER.MRG file.**


 * Each subfile begins with the following 4byte header:**
 * "RH0" (which in bytes is "52 48 30 00") which we will denote as "Base"**


 * Each "RH0" subfile is in turn composed of several different sections:**


 * The first section which contains the model itself along with information.**
 * Bones Start=Base + [Base+0X10]**
 * Bones End=Base + [Base+0X10] + [Base+0X14]**


 * Mesh Start=Base + [Base+0X20]**
 * Mesh Division Data Start=Base + [Base+0X18]**


 * Mesh Division End=Base + [Base+0X18] + [Base+0X1C]**
 * Mesh End=Base + [Base+0X20] + [Base+0X24]**


 * The second section contains the texture(s) and has the following 4byte header:**
 * "RH2" (which in bytes is "52 48 32 00")**
 * Texture Section Start=Base + [Base+0X08]**


 * The third section contains animations and each of the several animations for each model have the following 4byte header:**
 * "MOT" which in bytes and including the fourth bit is "4D 4F 54 1A"**
 * Animation Section Start=Base + [Base+0X0C]**

There are other sections past the third section that contain things such as additional textures different from the second section textures.

Each mesh is formed of submeshes. Each submesh is either Type 1 or Type 2
 * Format for the meshes:**
 * Format of the Submesh Headers:**

**Type 1 Vertex Group Header format**
 * [WW] 80 01 6C**
 * {XX} ($$) 00 00**
 * 00 40 1E 30**
 * 12 04 00 00**
 * TT 00 00 00**
 * SS 80 (HH) 69**


 * Where $$ is always either 00 or 80**
 * Where XX is the number of total number of MiniSections in the submesh**
 * HH is the size of the submesh divided by 6 counting from after .... SS 80 (HH) 69**


 * Format of the VERTEX section for each Type 1 Submesh:**


 * Each Submesh will have one or more MiniSections.**


 * Each MiniSection will have a MiniHeader followed by MiniData**


 * MiniHeader Format:**


 * {1ByteMultipleofFour, 1ByteUnknown, 1ByteMultipleofFour, 1ByteUnknown,1Byte"Number of Vertexes in MiniSection",1ByteUnknown}**
 * Followed by the MiniData for each vertex.**


 * MiniData Format per each vertex specified in a MiniSection (if more then one vertex they follow each right after each other):**

The entire submesh is then padded with zeros until it ends where the next byte is a multiple of 6. Then possibly padded with an occurrence of 00 00 00 15 Then finally might be padded with zero, one, or more occurrences of 00 00 00 00 **Type 2 Vertex Group Header format** 12 84 00 00
 * {2ByteSignedNormalMapping(X,Y,Z), 2ByteSignedVertex(X,Y,Z)}**
 * See the document below:**
 * [WW] 80 01 68**
 * {XX} ($$) 00 00**
 * 00 40 1E 30**
 * SS 80 (HH) 69**


 * Where $$ is always either 00 or 80**
 * Where XX is the number of total number of MiniSections in the submesh**
 * HH is the size of the submesh divided by 6 counting from after .... SS 80 (HH) 69**


 * Format of the VERTEX section for each Type 2 Submesh:**


 * Each Submesh will have one or more MiniSections.**


 * Each MiniSection will have a MiniHeader followed by MiniData**


 * MiniHeader format:**


 * {1ByteMultipleofFour, 1ByteUnknown, 1ByteMultipleofFour, 1ByteUnknown,1Byte"Number of Vertexes in MiniSection",1ByteUnknown}**
 * Followed by the MiniData for each vertex.**


 * MiniData Format per each vertex specified in a MiniSection (if more then one vertex they follow each right after each other):**

The entire submesh is then padded with zeros until it ends where the next byte is a multiple of 6. Then possibly padded with an occurrence of 00 00 00 15 Then finally might be padded with zero, one, or more occurrences of 00 00 00 00
 * {6ByteUnknown,2ByteSignedNormalMapping(X,Y,Z), 2ByteSignedVertex(X,Y,Z)}**
 * See the document below:**

The German version needs to be updated.
 * [DE- German]:**
 * Die Modelle für die Kreaturen in der MONSTER.MRG Datei gespeichert werden. Jedes Modell wird in einer Subdatei genau 1 Megabyte in der Größe gespeichert. Die erste Subdatei beginntbei Offset 0 und das nächste beginnt direkt nach der letzten endet. Deren 683 Unterdateienkomponieren die Gesamtheit der 683 Megabyte -Datei MONSTER.MRG . **


 * Jeder beginnt mit der folgenden , 4Byte Subdatei Header : **
 * " RH0" (das ist in Bytes " 52 48 30 00 "), die wir als "Basisprodukt <span style="background-color: #f5f5f5; color: #333333; font-family: arial,sans-serif; font-size: 16px;">" <span class="hps" style="background-color: #f5f5f5; color: #333333; font-family: arial,sans-serif; font-size: 16px;">bezeichnet wird **


 * <span class="hps" style="background-color: #f5f5f5; color: #333333; font-family: arial,sans-serif; font-size: 16px;">Jeder <span class="hps atn" style="background-color: #f5f5f5; color: #333333; font-family: arial,sans-serif; font-size: 16px;">" <span style="background-color: #f5f5f5; color: #333333; font-family: arial,sans-serif; font-size: 16px;">RH0" <span class="hps" style="background-color: #f5f5f5; color: #333333; font-family: arial,sans-serif; font-size: 16px;">Subdatei ist wiederum aus mehreren verschiedenen Abschnitten zusammen <span style="background-color: #f5f5f5; color: #333333; font-family: arial,sans-serif; font-size: 16px;">: **


 * <span class="hps" style="background-color: #f5f5f5; color: #333333; font-family: arial,sans-serif; font-size: 16px;">Der erste Abschnitt enthält das Modell, das <span style="background-color: #f5f5f5; color: #333333; font-family: arial,sans-serif; font-size: 16px;">, <span class="hps" style="background-color: #f5f5f5; color: #333333; font-family: arial,sans-serif; font-size: 16px;">zusammen mit den Informationen selber. **
 * <span class="hps" style="background-color: #f5f5f5; color: #333333; font-family: arial,sans-serif; font-size: 16px;">Bones Start = Base + [Basis +0 x10 <span style="background-color: #f5f5f5; color: #333333; font-family: arial,sans-serif; font-size: 16px;">] **
 * <span class="hps" style="background-color: #f5f5f5; color: #333333; font-family: arial,sans-serif; font-size: 16px;">Bones End = Basis + [Basis +0 x10 <span style="background-color: #f5f5f5; color: #333333; font-family: arial,sans-serif; font-size: 16px;">] + <span class="hps" style="background-color: #f5f5f5; color: #333333; font-family: arial,sans-serif; font-size: 16px;">[Basis X14 0 <span style="background-color: #f5f5f5; color: #333333; font-family: arial,sans-serif; font-size: 16px;">] **


 * <span class="hps atn" style="background-color: #f5f5f5; color: #333333; font-family: arial,sans-serif; font-size: 16px;">Mesh- <span style="background-color: #f5f5f5; color: #333333; font-family: arial,sans-serif; font-size: 16px;">Start = <span class="hps" style="background-color: #f5f5f5; color: #333333; font-family: arial,sans-serif; font-size: 16px;">Base + [Basis X20 0 <span style="background-color: #f5f5f5; color: #333333; font-family: arial,sans-serif; font-size: 16px;">] **
 * <span class="hps atn" style="background-color: #f5f5f5; color: #333333; font-family: arial,sans-serif; font-size: 16px;">Mesh- <span style="background-color: #f5f5f5; color: #333333; font-family: arial,sans-serif; font-size: 16px;">Abteilung <span class="hps atn" style="background-color: #f5f5f5; color: #333333; font-family: arial,sans-serif; font-size: 16px;">Daten- <span style="background-color: #f5f5f5; color: #333333; font-family: arial,sans-serif; font-size: 16px;">Start = <span class="hps" style="background-color: #f5f5f5; color: #333333; font-family: arial,sans-serif; font-size: 16px;">Base + [Basis X18 0 <span style="background-color: #f5f5f5; color: #333333; font-family: arial,sans-serif; font-size: 16px;">] **


 * <span class="hps" style="background-color: #f5f5f5; color: #333333; font-family: arial,sans-serif; font-size: 16px;">Ende der <span class="hps atn" style="background-color: #f5f5f5; color: #333333; font-family: arial,sans-serif; font-size: 16px;">Mesh- <span style="background-color: #f5f5f5; color: #333333; font-family: arial,sans-serif; font-size: 16px;">Abteilung <span class="hps" style="background-color: #f5f5f5; color: #333333; font-family: arial,sans-serif; font-size: 16px;">= Basis + [Basis X18 0 <span style="background-color: #f5f5f5; color: #333333; font-family: arial,sans-serif; font-size: 16px;">] + <span class="hps" style="background-color: #f5f5f5; color: #333333; font-family: arial,sans-serif; font-size: 16px;">[Basis X1C 0 <span style="background-color: #f5f5f5; color: #333333; font-family: arial,sans-serif; font-size: 16px;">] **
 * <span class="hps atn" style="background-color: #f5f5f5; color: #333333; font-family: arial,sans-serif; font-size: 16px;">Mesh- <span style="background-color: #f5f5f5; color: #333333; font-family: arial,sans-serif; font-size: 16px;">End <span class="hps" style="background-color: #f5f5f5; color: #333333; font-family: arial,sans-serif; font-size: 16px;">= Basis + [Basis X20 0 <span style="background-color: #f5f5f5; color: #333333; font-family: arial,sans-serif; font-size: 16px;">] + <span class="hps" style="background-color: #f5f5f5; color: #333333; font-family: arial,sans-serif; font-size: 16px;">[Basis 0 x24 <span style="background-color: #f5f5f5; color: #333333; font-family: arial,sans-serif; font-size: 16px;">] **


 * <span class="hps" style="background-color: #f5f5f5; color: #333333; font-family: arial,sans-serif; font-size: 16px;">Der zweite Abschnitt enthält die Textur (en) und hat die folgende <span style="background-color: #f5f5f5; color: #333333; font-family: arial,sans-serif; font-size: 16px;">, <span class="hps" style="background-color: #f5f5f5; color: #333333; font-family: arial,sans-serif; font-size: 16px;">4Byte Header <span style="background-color: #f5f5f5; color: #333333; font-family: arial,sans-serif; font-size: 16px;">: **
 * <span class="hps atn" style="background-color: #f5f5f5; color: #333333; font-family: arial,sans-serif; font-size: 16px;">" <span style="background-color: #f5f5f5; color: #333333; font-family: arial,sans-serif; font-size: 16px;">RH2" (das ist <span class="hps" style="background-color: #f5f5f5; color: #333333; font-family: arial,sans-serif; font-size: 16px;">in Bytes <span class="hps atn" style="background-color: #f5f5f5; color: #333333; font-family: arial,sans-serif; font-size: 16px;">" <span style="background-color: #f5f5f5; color: #333333; font-family: arial,sans-serif; font-size: 16px;">52 48 <span class="hps" style="background-color: #f5f5f5; color: #333333; font-family: arial,sans-serif; font-size: 16px;">32 00 <span style="background-color: #f5f5f5; color: #333333; font-family: arial,sans-serif; font-size: 16px;">") **
 * <span class="hps" style="background-color: #f5f5f5; color: #333333; font-family: arial,sans-serif; font-size: 16px;">Texture Abschnitt Start = Base + [Basis X08 0 <span style="background-color: #f5f5f5; color: #333333; font-family: arial,sans-serif; font-size: 16px;">] **


 * <span class="hps" style="background-color: #f5f5f5; color: #333333; font-family: arial,sans-serif; font-size: 16px;">Der dritte Abschnitt enthält mehrere Animationen Animationen für jedes Modell und jeden der folgenden <span style="background-color: #f5f5f5; color: #333333; font-family: arial,sans-serif; font-size: 16px;">, <span class="hps" style="background-color: #f5f5f5; color: #333333; font-family: arial,sans-serif; font-size: 16px;">4Byte haben den Header <span style="background-color: #f5f5f5; color: #333333; font-family: arial,sans-serif; font-size: 16px;">: **
 * <span class="hps" style="background-color: #f5f5f5; color: #333333; font-family: arial,sans-serif; font-size: 16px;">"MOT" in Bytes einschließlich der vierte Bit gleich "54 1A 4D 4F" **
 * <span class="hps" style="background-color: #f5f5f5; color: #333333; font-family: arial,sans-serif; font-size: 16px;">Zeichentrick Abschnitt Start = Base + [Basis x0c 0 <span style="background-color: #f5f5f5; color: #333333; font-family: arial,sans-serif; font-size: 16px;">] **


 * <span class="hps" style="background-color: #f5f5f5; color: #333333; font-family: arial,sans-serif; font-size: 16px;">Format für die Maschen <span style="background-color: #f5f5f5; color: #333333; font-family: arial,sans-serif; font-size: 16px;">: **


 * <span class="hps" style="background-color: #f5f5f5; color: #333333; font-family: arial,sans-serif; font-size: 16px;">Format der submesh Headers: **
 * <span class="hps" style="background-color: #f5f5f5; color: #333333; font-family: arial,sans-serif; font-size: 16px;">Vertex Group Header Format: Typ 1 **
 * <span class="hps" style="background-color: #f5f5f5; color: #333333; font-family: arial,sans-serif; font-size: 16px;">[WW] 80 01 6C **
 * <span class="hps" style="background-color: #f5f5f5; color: #333333; font-family: arial,sans-serif; font-size: 16px;">{XX} ($ $) 00 00 **
 * <span class="hps" style="background-color: #f5f5f5; color: #333333; font-family: arial,sans-serif; font-size: 16px;">00 40 1E 30 **
 * <span class="hps" style="background-color: #f5f5f5; color: #333333; font-family: arial,sans-serif; font-size: 16px;">12 04 00 00 **
 * <span class="hps" style="background-color: #f5f5f5; color: #333333; font-family: arial,sans-serif; font-size: 16px;">TT 00 00 00 **
 * <span class="hps" style="background-color: #f5f5f5; color: #333333; font-family: arial,sans-serif; font-size: 16px;">HH <span class="hps atn" style="background-color: #f5f5f5; color: #333333; font-family: arial,sans-serif; font-size: 16px;">80 ( <span style="background-color: #f5f5f5; color: #333333; font-family: arial,sans-serif; font-size: 16px;">HH) 69 **
 * <span class="hps" style="background-color: #f5f5f5; color: #333333; font-family: arial,sans-serif; font-size: 16px;">Type 1-Format für jeden Abschnitt des VERTEX submesh **
 * <span class="hps atn" style="background-color: #f5f5f5; color: #333333; font-family: arial,sans-serif; font-size: 16px;">{ <span style="background-color: #f5f5f5; color: #333333; font-family: arial,sans-serif; font-size: 16px;">1ByteMultipleofFour, <span class="hps" style="background-color: #f5f5f5; color: #333333; font-family: arial,sans-serif; font-size: 16px;">1ByteUnknown <span style="background-color: #f5f5f5; color: #333333; font-family: arial,sans-serif; font-size: 16px;">, <span class="hps" style="background-color: #f5f5f5; color: #333333; font-family: arial,sans-serif; font-size: 16px;">1ByteMultipleofFour <span style="background-color: #f5f5f5; color: #333333; font-family: arial,sans-serif; font-size: 16px;">, <span class="hps" style="background-color: #f5f5f5; color: #333333; font-family: arial,sans-serif; font-size: 16px;">1ByteUnknown <span style="background-color: #f5f5f5; color: #333333; font-family: arial,sans-serif; font-size: 16px;">, **
 * <span class="hps" style="background-color: #f5f5f5; color: #333333; font-family: arial,sans-serif; font-size: 16px;">01 00 <span style="background-color: #f5f5f5; color: #333333; font-family: arial,sans-serif; font-size: 16px;">, <span class="hps" style="background-color: #f5f5f5; color: #333333; font-family: arial,sans-serif; font-size: 16px;">verfügbar 2ByteSignedNormalMappings <span class="hps atn" style="background-color: #f5f5f5; color: #333333; font-family: arial,sans-serif; font-size: 16px;">( <span style="background-color: #f5f5f5; color: #333333; font-family: arial,sans-serif; font-size: 16px;">X, Y, Z), <span class="hps" style="background-color: #f5f5f5; color: #333333; font-family: arial,sans-serif; font-size: 16px;">2ByteSignedVertexes <span class="hps atn" style="background-color: #f5f5f5; color: #333333; font-family: arial,sans-serif; font-size: 16px;">( <span style="background-color: #f5f5f5; color: #333333; font-family: arial,sans-serif; font-size: 16px;">X, Y, Z)} **


 * <span class="hps" style="background-color: #f5f5f5; color: #333333; font-family: arial,sans-serif; font-size: 16px;">Wo $ $ ist immer entweder 00 oder 80 **
 * <span class="hps" style="background-color: #f5f5f5; color: #333333; font-family: arial,sans-serif; font-size: 16px;">XX durch die Anzahl von Vertices in der untergeordneten Maschennetz **
 * <span class="hps" style="background-color: #f5f5f5; color: #333333; font-family: arial,sans-serif; font-size: 16px;">Multipliziert mit 3 ist immer gleich XX HH **


 * <span class="hps" style="background-color: #f5f5f5; color: #333333; font-family: arial,sans-serif; font-size: 16px;">Beachten Sie das Dokument unter: **