Clover's tool 1 2 3 »
Users browsing this thread: 1 Guest(s)

So, I'm pretty new to the ROM hack community, and as an avid paper mario fan, consistently disappointed since 2004, I'm looking forward to the new fan-made adaptations that can come from a tool such as Clover's!

I have a few questions in regards to the project, the first of which is: what exactly will it accomplish? From what I understand, Clover's tool will allow users to essentially create their own maps (thereby creating an entirely new plot / game as we know it), change enemy stats, and change mario's stats.

I'm wondering how much the tool can potentially change in regards to the game.

1. Will we be able to add in our own cutscenes?
2. Can we somehow change star power to make the star spirits (or whatever) give mario a unique power up?
3. Can we import completely new sprites for enemies and give them their own attack / hp?
4. Can we create new partners? Can we give them their own attacks, or even hp and have enemies target them (more akin to TTYD)?

and lastly,
WHAT CAN I DO TO HELP???

Anything I can do to push this along, I'd happily do in my spare time. I've been waiting 12 years now for a "true" paper mario game, and nintendo has failed every step of the way.

Great work so far, Clover! I think I speak for all of us when I say we really appreciate you taking the time to finish this project! Smile

This might be offtopic but, you are probably making your life very hard by waiting for the one true paper mario game, because every paper mario game will disappoint you. Its better if you enjoy the game for what they are, and not judge them by what you think they should be according to sequel rules.

My tools dump all the assets into editable formats and allow you to patch them back into the game. You can add or remove assets as you see fit. For example, all game scripts are rendered into human-readable text files while the functions are rendered into assembly. You can edit these text files and recompile them when your mod is ready. The tools automatically rearrange things in memory to accommodate your changes and update all pointers accordingly. I aim to abstract as many of these details away from users as possible, so you won't need to worry about what is actually going on 'under the hood'.

So what can be edited? Besides map geometry and collision, you can change scripts for maps/battles/moves/items, item icons, textures, sprite sheets, animations, items, badges and strings. You can also request hooks at specific points in the code to jump out and call your own ASM routines. Really, the only thing that cannot be edited is the music/sounds, though I do know where they are on the ROM. Through editing map scripts, creating new cutscenes is easy. I've done it. Creating new partners would be a much greater challenge since they have hard-coded references all over the place. That is beyond the scope of this project.

Along with the tools, I will release a hard mode mod and the source files for that mod demonstrating how to use the tools. Template maps will also be available to show how particular features are used (how to do a blue switch for example). I'm still digging through the guts of the engine, so stay tuned.
(This post was last modified: 11-02-2016, 08:15 PM by clover.)

(11-02-2016, 08:12 PM)clover Wrote: My tools dump all the assets into editable formats and allow you to patch them back into the game. You can add or remove assets as you see fit. For example, all game scripts are rendered into human-readable text files while the functions are rendered into assembly. You can edit these text files and recompile them when your mod is ready. The tools automatically rearrange things in memory to accommodate your changes and update all pointers accordingly. I aim to abstract as many of these details away from users as possible, so you won't need to worry about what is actually going on 'under the hood'.

So what can be edited? Besides map geometry and collision, you can change scripts for maps/battles/moves/items, item icons, textures, sprite sheets, animations, items, badges and strings. You can also request hooks at specific points in the code to jump out and call your own ASM routines. Really, the only thing that cannot be edited is the music/sounds, though I do know where they are on the ROM. Through editing map scripts, creating new cutscenes is easy. I've done it. Creating new partners would be a much greater challenge since they have hard-coded references all over the place. That is beyond the scope of this project.

Along with the tools, I will release a hard mode mod and the source files for that mod demonstrating how to use the tools. Template maps will also be available to show how particular features are used (how to do a blue switch for example). I'm still digging through the guts of the engine, so stay tuned.

So are you almost done with this tool?
When do you think it will come out?
Gone for good.

(11-02-2016, 08:12 PM)clover Wrote: My tools dump all the assets into editable formats and allow you to patch them back into the game. You can add or remove assets as you see fit. For example, all game scripts are rendered into human-readable text files while the functions are rendered into assembly. You can edit these text files and recompile them when your mod is ready. The tools automatically rearrange things in memory to accommodate your changes and update all pointers accordingly. I aim to abstract as many of these details away from users as possible, so you won't need to worry about what is actually going on 'under the hood'.

So what can be edited? Besides map geometry and collision, you can change scripts for maps/battles/moves/items, item icons, textures, sprite sheets, animations, items, badges and strings. You can also request hooks at specific points in the code to jump out and call your own ASM routines. Really, the only thing that cannot be edited is the music/sounds, though I do know where they are on the ROM. Through editing map scripts, creating new cutscenes is easy. I've done it. Creating new partners would be a much greater challenge since they have hard-coded references all over the place. That is beyond the scope of this project.

Along with the tools, I will release a hard mode mod and the source files for that mod demonstrating how to use the tools. Template maps will also be available to show how particular features are used (how to do a blue switch for example). I'm still digging through the guts of the engine, so stay tuned.

Great - so what you're saying is basically everything is editable then? That's fantastic news! I sense a new paper Mario in the future Smile

As long as I can edit partner moves and sprites, that's essentially the same thing as a new partner, so I'm totally ok with that.

Does that mean I can give my partner hp and have enemies target them specifically (preferably by means of RNG)? Because if so, that'd be all I need.

As for music, there are some GREAT tracks out there that I'd like to incorporate into my fictional game, but it is, of course, not a make-or-break issue. Do you mean that they are editable and your tool doesn't cover it? Or that they just aren't editable?

Thanks for the response, Clover! Great job so far, and if there's anything I can do to help in the mean time, please feel free to let me know.

Adding partner HP would be tricky, it would be a major hack, but there is empty room in their data structure that you could use (they may have had HP at one time). The larger problem would be enemy attack scripts, since they tend to be pretty low-level. Each move would need to be modified individually, but you might be able to whip something up by modifying the GetPlayerPosition() function they call. Of course, that function is used by lots of things so you'd need to be careful...

I can add custom music, but don't have any way of producing the sequence files used by n64 games. If anyone has any relevant documentation I'd love to take a look at it.

You are a bit vague when you say "sequence files used by n64 games". Almost each developer got its own sequence format, sometimes even a tracker format, like ubisoft.

I've looked into this MSEQ format a bit. It looks like a sort of tracker format to me, since I can't really find a table with pointers to other data (other tracks). I have tried to decode the format a bit with all the experience I got so far. I haven't tested it though, I don't know what sequence this is, atleast not the intro scene music.

The status byte seems to be a regular command|channel byte.
like 0xC3 would be command 0xC0 at channel 0x03. MIDI and other sequence formats use this so I think its safe to assume (without looking in the code) that it works this way.

Suspected command set

0xC0, 2 parameters, Almost each MSEQ starts with some of these
0xB0, 2 parameters,
0xA0, 1 parameter,  first thought this could be note on, but its probably not. Most likely volume or something like that
0x90, 1 parameter,  I dont know what this is yet, same for 0x60

Code:
address 0x01937970

4D 53 45 51 // "MSEQ"
00 00 05 37 // length?

35 30 31 20 }
0D 00 00 00 } obvious header stuff
00 18 00 00 }
00 00 00 00 }

C1 10 D1 }
C3 10 D3 }
C4 10 D4 } Also header stuff? (looks like a sort of start note?, instrument set perhaps?)
C5 10 D5 }
C0 10 D2 }

A5 7F // note on at channel 5 ?
B5 68 19 // off ?

A4 7F
B4 68 19

A3 7F
B3 68 19

B1 68 19

A1 7F
A1 C0

A0 7F
B0 50 19
A0 C0
90 B0

6D 0A A0 // ???????

C0 0B A0
C1 0A A0
C2 0B A0
C3 0A A0
C4 0B A0
C5 0A A0
C6 0B A0
C7 0B A0
C8 0A A0
C9 0B A0
CA 0A A0
CB 0B A0
CC 0A A0
CD 0B A0  // This is basically a repeat from the start
CE 05 A3  // If I am right, it should handle 14 channels now

This is what I got for now. Once I find out which sequence is what music ingame, I might be able to figure this thing completely.

Re: developer-specific formats, I suspected as much. I'll be the first to admit that I don't have much experience with audio formats.
Somehow that INIT file organizes sequence files and banks into songs accessible to the engine.

The first 12 bytes of each audio file header are:
0 'BGM ', 'MSEQ', 'BK ', etc
4 length (including header)
8 name 'ENV1', '117 ', etc

Here's some title screen music for you to get started with:
FA08A0 fades in when 'Today...' appears, plays through intro
F98F90 main theme that plays after you press a
F98520 file select music

The current song (a BGM file) is loaded to 801DA070, so you can check the file header there and find any song you like. If you want to mess around with them in memory just after they are loaded, but before they are operated on, set a breakpoint at 80053DAC. I'm not sure yet how these are connected to MSEQ files.

What is "BG M"?
I thought "MSEQ" is suppose to be the sequence (which I am after) but I don't know what kind of data BGM is.
I feel like its wave data, because of its wavy patern maybe
(This post was last modified: 15-02-2016, 03:07 PM by Jesse.)

Can you talk about your hard mode mod? I'm curious as to what you're going to show off in it. I know you mentioned that you're adding areas and extra bosses, but are you going to do any item, enemy, script, or cutscene editing in the main portion of the game? I can't wait to see how much more this adds than a traditional stat-edit.

Clover's tool 1 2 3 »
Users browsing this thread: 1 Guest(s)