Welcome to Data Crystal's new home! Data Crystal is now part of the TCRF family (sort of).
The wiki has recently moved; please report any issues in Discord. Pardon the dust.

Mario vs. Donkey Kong 2: March of the Minis/Notes: Difference between revisions

From Data Crystal
Jump to navigation Jump to search
(Created page with "{{Notes|game=Mario vs. Donkey Kong 2: March of the Minis}} {{Todo|Combine and check the different notes}} ==Hiccup's Notes== ===Level 1-1=== <pre> note for self: bit 0 is th...")
 
 
(14 intermediate revisions by one other user not shown)
Line 3: Line 3:
{{Todo|Combine and check the different notes}}
{{Todo|Combine and check the different notes}}


==Hiccup's Notes==
Unless otherwise noted, this info applies to the USA version and is a result of analysing file formats, rather than reverse engineering code.
===Level 1-1===
<pre>
note for self: bit 0 is the rightmost bit.


Notes by different people:
* Hiccup ([https://cdn.discordapp.com/attachments/804573885730914316/805542848120225792/mvsdk_1-1_docs.txt 1-1 level format notes])
* VGamer78 ([https://cdn.discordapp.com/attachments/804573885730914316/804832361308618762/level_documentation.zip 1-6 level format notes])
* TheMarioVariable ([https://cdn.discordapp.com/attachments/804573885730914316/811747582883659806/MvsDK2_HEX_Documentation_v2.pdf Level format notes for European version])


research was done with USA rev 0 ROM.
Sub-pages:
 
* [[Mario vs. Donkey Kong 2: March of the Minis:Level Format|Level Format]]
 
* [[Mario vs. Donkey Kong 2: March of the Minis:Actors|Actors]]
the order  object instances are in their respective array defines their location in the levels' "grid". object instances can be half-way between two "grid points" - they don't have to fit 1:1 with a "square".
 
background, titleset and music is per world, not per level.
the tile "patterns" used for each world are in the floorXX_patterns.bin files (where XX is the world id)
 
 
0x0-0x35 seems to be a header or array of dummy/control objects.
 
 
starting at 0x30, at the latest, is the array of interactive objects. the last instance in this array in 1-1 seems to be at 0x7B6.
instances are pairs of bytes. first byte is object type. second byte is parameter.
object types:
01 = nothing?
02 = nothing?
03 = mini mario
parameters:
00T0000D
D = is mini mario direction
0 = right
1 = left
T = mini mario type
0 = normal
1 = gold
04 = crash
05 = nothing?
2B = nothing? (used)
B1 = nothing?
B2 = glitchy
enemy that catches mini mario when touched? (glitchy graphics in setup i tried it)
B3 = nothing?
B4 = starman powerup
unused, but haven't checked if its offscreen in some level or anything
no obvious parameters
B4 = bouncing fireball
maybe the one spawned by fire mario. don't know if its placed in a level or not.
B5 = yellow spring
files:
data\anims\spring_anim.bin
6A = piranha plant
files: data\anims\pirahna_plant1_anim.bin
data\anims\pirahna_Plant1_Ball_anim.bin
parameters:
30 0110000 up ?
68 1101000 down ?
60 1100000 right ?
70 1110000 up ?
38 0111000 up fireball
18 0011000 up no fireball
08 0001000 down no fireball
73 = bouncing candle [world 4]
9F = blue spring
FF = nothing?
0x7b0-0x7ff in 1-1 is part of the array of tile objects. the first instance in this arrway in 1-1 seems to be at 0x7B8.
its not clear how many bytes makes up an instance, but the first byte of each instance seems to describe the object type.
object types:
see /tile_objs/
 
 
roughly 0x16b8-0x1a77 in 1-1 seems to be the array of collision tiles.
 
 
some kind of object array
2B = goal
 
</pre>
==VGamer78's Notes==
===Level 1-9===
<pre>
Alright so we will be look at 1-9 as a guide. As of right now, I barely know anything but I will tell
you what I have learned so far.
 
The first few lines of code I believe is the header data for the level. The only thing I understand from it
so far is the sprite data. In level 1-9 you should see some lines of code in a hex editor that look like this :
 
03 00 00 00 96 00 00 00 9C 00 00 00 A6 00 00 00 AE 00 00 00 B5 00 00 00
 
All of this is the sprite data in the level. If the sprite you are trying to put in a level isn't one
of these values, the sprite will be invisible in the level. It seems like the sprite values count in 8
bytes. Meaning the six 0's after each value has to be that way. In case if you are wondering what each value
is.
 
03 is for Mini Mario
96 is for the elevator platform itself (yes it's a sprite)
9C is for Shy Guy's
A6 is for Hammers
AE is for Toss/Circus Kong
B5 is for the Yellow Springboard
 
 
As of right now, I don't know how you can add more sprite data to a level since what I have tried has
crashed the game so far. But we will be looking at two things you can do if you want to edit the sprites.
After the header data, you will see a bunch of 00's. All of this is where the sprites are stored in levels.
This is usually very long and will go on until you see things such as 1B a few 00's and then 1B again and so on.
For how sprites work in the levels themselves all I know is that it goes by XX (sprite number itself) and the value
after that is it's facing position. 00 is facing right and 80 is facing left. When scrolling in the level data
for 1-9, the first sprite you should find is is A6 00, which is the hammer powerup. If we were to change
this to 9C 00, it will become a Shy Guy. We could also use this sprite as a guide if we wanted to add
another sprite next to it in a level. The 00 00's next to this can have sprites on them, they just are empty.
You will notice that all of the levels in the sprite section of the data has a lot of 00 00's since all levels
have more sprite positions without sprites instead of vice versa.
 
If we want to add a sprite from another level here, we are able to but there are things we need to consider.
The method we will have to do is replace a sprite slot with the one we want. If we want to replace the
Circus/Toss Kong with the Capture Kong in the level. What we would need to do is change the AE 00 00 00
to B2 00 00 00 in the sprite header data section. When we do this the Circus/Toss Kong's in the level will
now be invisible if we were to test the level. What we could do is either get rid of the Circus/Toss Kong's
in the level or replace them with Capture Kong's.
</pre>
 
===Sprite IDs===
<pre>
03 - Mini Mario
63 - Bob-omb (From the Shy Guy Minigame)
65 - Spark (no generator)
66 - Oil Drum (Jumps up and down) unused?
67 - Fireball
68 - Thwomp
69 - Crab
6A - Piranha Plant (Mouth Open)
6B - Piranha Plant's Fireball
6C - crashes game
6D - Blooper
6E - Bomb-fish (From Special Kit 3)
6F - Podoboo
73 - Candle
74 - Snapjaw
75 - Vertical Snapjaw
76 - Jumpstand?
96 - Elevator Platform
97 - Donut Block (Doesn't Fall?)
98 - Water/Lava Platform
9A - Bomb Block
9B - Bomb (From Gray Blocks)
9C - Shy Guy
9D - Small Brown Barrel??
9E - Brown Box
9F - Blue Springboard
A2 - Balance Board Platform
A4 - Vertical Facing Yellow Switch Door
A5 - Yellow Switch Button
A6 - Hammers
A7 - Vertical Facing Switch Door
A8 - Yellow Switch Button
A9 - Vertical Facing Yellow Switch Door (Again?)
AA - Yellow Switch Button (Again?)
AB - Yellow Switch Door
AC - Yellow Switch Door (Again..)
AD - Yellow Switch Door (Again?)
AE - Toss Kong
B2 - Capture Kong
B3 - Weird Brown Egg
B4 - Starman powerup (Gives you the blue shield ability) * unused
B5 - Yellow Springboard
B7 - Gray Shy Guy
B8 - Firebar
B9 - Crush Kong
BA - Cool Kong
BB - Lift Platform (From Floor 6 and 8)
BF - Kong Thwomp
C0 - Donut Block
C1 - Phantom Guy (Yellow)
C2 - Boo (unused)
C3 - Skeleton Guy
C4 - Blue Shy Guy (Shoots a Snifit Bullet sometimes)
C5 - Snifit
C9 - Starman (unused)
D0 - Blue Shield (From DK Basement Stage 2)
</pre>
 


{{Internal Data|game=Mario vs. Donkey Kong 2: March of the Minis}}
{{Internal Data|game=Mario vs. Donkey Kong 2: March of the Minis}}

Latest revision as of 02:42, 24 January 2024

Chip tiny.png The following article is a Notes Page for Mario vs. Donkey Kong 2: March of the Minis.

Hmmm...
To do:
Combine and check the different notes

Unless otherwise noted, this info applies to the USA version and is a result of analysing file formats, rather than reverse engineering code.

Notes by different people:

Sub-pages: