Register | Login
Views: 19364387
Main | Memberlist | Active users | ACS | Commons | Calendar | Online users
Ranks | FAQ | Color Chart | Photo album | IRC Chat
11-02-05 12:59 PM
1 user currently in Rom Hacking: hukka | 2 guests
Acmlm's Board - I2 Archive - Rom Hacking - Super Mario RPG. . .Hacking help | |
Add to favorites | "RSS" Feed | Next newer thread | Next older thread
User Post
Spralwers

Micro-Goomba
Level: 5

Posts: 1/13
EXP: 519
For next: 10

Since: 07-02-05
From: Bolton, MA

Since last post: 118 days
Last activity: 66 days
Posted on 07-02-05 07:41 PM Link | Quote
The only thing I really need help with is editting boss stats. I tried using PIPES, except that it doesn't seem to work. The name changes are there, but the stats don't change. Whether it be programs, or the offset in the actual ROM, could anyone help me out?
Thanks in advance.
Riku

Giant Goomba
Level: 42

Posts: 141/1239
EXP: 505941
For next: 15421

Since: 06-21-05
From: ....Is this like a custom title?

Since last post: 6 hours
Last activity: 6 hours
Posted on 07-02-05 11:00 PM Link | Quote
Where did get a Mario RPG editor anyway?
giangurgolo

Level: 10

Posts: 7/42
EXP: 3346
For next: 1068

Since: 06-04-05

Since last post: 31 days
Last activity: 22 days
Posted on 07-02-05 11:10 PM Link | Quote
monster stats start at 390226 and are 16 bytes each, but they are not in the same order as the monster list

you'll have to go by the pointers, which are 2 bytes each and start at 390026; multiply the monster # (in hex of course) by 2 and add it to 390026 to get the pointer

here's a byte list for the monsters and a stat guide

I don't know how PIPES gets the monster stats, if the stats are read from the ROM itself from the pointers or are already embedded in the program's code.

Which monsters aren't working when you change them, and what kind of stats are you trying to change?


(edited by giangurgolo on 07-02-05 02:10 PM)
(edited by giangurgolo on 07-02-05 02:13 PM)
(edited by giangurgolo on 07-02-05 02:25 PM)
Luigi-San

Melon Bug
Level: 42

Posts: 431/736
EXP: 485962
For next: 35400

Since: 03-20-04
From: Mushroom Kingdom

Since last post: 17 hours
Last activity: 10 hours
Posted on 07-03-05 05:08 AM Link | Quote
Originally posted by MarioMaster
Where did get a Mario RPG editor anyway?


zophar.net, duh.

You should know that!
Spralwers

Micro-Goomba
Level: 5

Posts: 2/13
EXP: 519
For next: 10

Since: 07-02-05
From: Bolton, MA

Since last post: 118 days
Last activity: 66 days
Posted on 07-03-05 05:30 PM Link | Quote
I'll be asking a bunch of questions since I'm pretty new to this stuff, so bear with me.

Which monsters aren't working when you change them

Any monster, actually.

and what kind of stats are you trying to change?

Attack, Defence, Mg. Attack, Mg. Defence, Weaknesses, Ineffective, exp and the like.

Anyway, the reason why I'm doing an SMRPG hack is just to improve, and learn new things that I didn't know before. Then I'll go on hacking more difficult games.

By the way, if you don't mind me asking, what do I do with the byte list? Also, how did you end up finding where the monster stats were?

but they are not in the same order as the monster list

Is there any specific order? Alpha, order of appearance?
giangurgolo

Level: 10

Posts: 9/42
EXP: 3346
For next: 1068

Since: 06-04-05

Since last post: 31 days
Last activity: 22 days
Posted on 07-03-05 10:25 PM Link | Quote
Originally posted by Spralwers
By the way, if you don't mind me asking, what do I do with the byte list? Also, how did you end up finding where the monster stats were?

but they are not in the same order as the monster list

Is there any specific order? Alpha, order of appearance?



I justed tested and PIPES doesn't work at all in this area. When you try to change the enemy's FP, it changes the speed instead (the program doesn't even have an option for changing speed or evade rate even though it's in the stats). Same goes for all the other stats.
I guess the only way you'll be able to change this is in a hex editor. Also, if you want to change the monster's EXP and coins, you need to look at the smrpg_stats.txt document I posted for the offsets for those.

I explained how to find the stats in my post: take the monster's hex number in the byte list I supplied, multiply by 2, and add to 390026 to get the pointer.

For instance, if you want to change The Big Boo's stats, take the byte number (#$12) double it (#$24) and add to 390026...to get 39004A. The pointer here is 02A6, which means The Big Boo's stats start at 3902A6.

SMRPG can be a pretty difficult game to hack depending on what data you're dealing with, but monster stats are pretty simple (except for the fact that I haven't figured out what those three unknown bytes are for).
Spralwers

Micro-Goomba
Level: 5

Posts: 3/13
EXP: 519
For next: 10

Since: 07-02-05
From: Bolton, MA

Since last post: 118 days
Last activity: 66 days
Posted on 07-04-05 02:30 AM Link | Quote
Ok, I change the HP (which is two bytes), but not only does their HP change, but it seems their attack and def change. So take 390226, where the HP for the Terrapin is. The value at 390226 is 26 obviously, so I change it to 00. But when I do, they get much higher damage, higher speed and all of my attacks miss. I mess around with it, and it's multiple stats that change. Then I change it to 28 and I do big damage on them, they do none on me, and they have loads of hp.

Then I try Hammer Bro. His byte is AC, multiplied by two is 158, so I add it to 390226 and I get 39037E. I change the first two bytes there (which should be HP) and I see no change.

What am I doing wrong?
giangurgolo

Level: 10

Posts: 11/42
EXP: 3346
For next: 1068

Since: 06-04-05

Since last post: 31 days
Last activity: 22 days
Posted on 07-04-05 03:36 AM Link | Quote
You need to add 158 to 390026, not 390226.

390226 is where the stats start at...you need to find the pointer first.
Pointers start at 390026. Each pointer is two bytes long.

When you add 158 (the Hammer Bro's byte you doubled) to 390026 you get 39017E, which is where Hammer Bro's pointer (A60B) is at. Flip those two byte to get 0BA6...which means Hammer Bro's stats start at 390BA6.

Unfortunately, that Hammer Bro you used is the wrong one (which is why there was no change) because according to the stats his speed is at a phenomonal 99.
The correct Hammer Bro byte is 1B (check the monster list).

Do the same procedure here...double it to get 36, then add to 390026 to get 39005C, his pointer (260C). Flip the bytes (0C26).

The real Hammer Bro's stats are at 390C26.


(edited by giangurgolo on 07-03-05 06:43 PM)
(edited by giangurgolo on 07-03-05 06:43 PM)
Spralwers

Micro-Goomba
Level: 5

Posts: 7/13
EXP: 519
For next: 10

Since: 07-02-05
From: Bolton, MA

Since last post: 118 days
Last activity: 66 days
Posted on 07-04-05 07:31 AM Link | Quote
Alright, so I go to the place where the Hammer Bros stats were, changed it all to FFs just to see what would happen and everything seems to be the same. Nothing changed, it all remained the same. So, what's going on?

Also, what about this:

Ok, I change the HP (which is two bytes), but not only does their HP change, but it seems their attack and def change. So take 390226, where the HP for the Terrapin is. The value at 390226 is 26 obviously, so I change it to 00. But when I do, they get much higher damage, higher speed and all of my attacks miss. I mess around with it, and it's multiple stats that change. Then I change it to 28 and I do big damage on them, they do none on me, and they have loads of hp.
What's going on there?
Mattrizzle

Paragoomba
Level: 14

Posts: 15/75
EXP: 12123
For next: 948

Since: 11-19-04
From: Louisville, Kentucky, USA

Since last post: 3 days
Last activity: 5 hours
Posted on 07-04-05 08:09 AM Link | Quote
That's weird. The value at 390226 should have been 0A. Are you sure you didn't alter 390026 instead of 390226? It would explain why everything is changing.

Edit: BTW, giangurgolo, I found some more on the monster stat data

Firstly, the upper four bits of byte 12 change the sound used when a monster hits a party member. Here are the values:

0* = Kiss
1* = Bite
2* = Claw Scrape
3* = Metallic Jab
4* = Slap
5* = Shell Knock
6* = Smash
7* = Deep Knock
8* = Punch
9* = Bonk
A* = Flopping
B* = Deep Jab
C*-F* = Same as 6*

Also, in byte 14, only the upper four bits affect weaknesses, these being:
1* = Ice
2* = Thunder
4* = Fire
8* = Jump
This is because the lower four bytes affect other basic attack sounds:
*0 = None, None, None
*1 = Starslap Messing, Spikey Roll, Enigma Swarm
*2 = Sparky Spin, Goomba Tumble, Flapping?
*3 = High Bounce, Amanita Shriveling, Terrapin Swing(Though it doesn't use this)
*4 = None, Guerrilla Cry, None
*5 = None, Weird, None
*6 = None, Bones Head Spin, None
*7-*F = All None?


(edited by BigMattrizzle on 07-03-05 11:47 PM)
(edited by BigMattrizzle on 07-03-05 11:51 PM)
giangurgolo

Level: 10

Posts: 12/42
EXP: 3346
For next: 1068

Since: 06-04-05

Since last post: 31 days
Last activity: 22 days
Posted on 07-04-05 09:50 AM Link | Quote
Hey thanks! That makes sense anyways because there's already a byte dedicated to ailment proneness so why would ailments be included in elemental weaknesses?
Appreciate the discovery w/byte 12, too, I'll be sure to document this one.
Spralwers

Micro-Goomba
Level: 5

Posts: 8/13
EXP: 519
For next: 10

Since: 07-02-05
From: Bolton, MA

Since last post: 118 days
Last activity: 66 days
Posted on 07-04-05 10:12 PM Link | Quote
Odd. The value at 390226 for me is 26, and it seems to be normal. I know I didn't modify 390026 because its nothing but 00s over there.
Mattrizzle

Paragoomba
Level: 14

Posts: 16/75
EXP: 12123
For next: 948

Since: 11-19-04
From: Louisville, Kentucky, USA

Since last post: 3 days
Last activity: 5 hours
Posted on 07-05-05 12:17 AM Link | Quote
Is the value at address $0 80 in your rom? If not, it looks as if your rom is the headered version, meaning it has an extra 0x200 bytes at the beginning. Delete the header (bytes $0-$1FF) and your problem should be solved!
Spralwers

Micro-Goomba
Level: 5

Posts: 9/13
EXP: 519
For next: 10

Since: 07-02-05
From: Bolton, MA

Since last post: 118 days
Last activity: 66 days
Posted on 07-05-05 07:18 AM Link | Quote
The value at adress $0 happens to be 40.
HyperLamer
<||bass> and this was the soloution i thought of that was guarinteed to piss off the greatest amount of people

Sesshomaru
Tamaranian

Level: 118

Posts: 5512/8210
EXP: 18171887
For next: 211027

Since: 03-15-04
From: Canada, w00t!
LOL FAD

Since last post: 2 hours
Last activity: 2 hours
Posted on 07-06-05 02:30 AM Link | Quote
Yep, a lot of the headers have 40 as the first byte for some reason. Just add $200 to each offset when you go to modify it (390426 instead of 390226).
Spralwers

Micro-Goomba
Level: 5

Posts: 11/13
EXP: 519
For next: 10

Since: 07-02-05
From: Bolton, MA

Since last post: 118 days
Last activity: 66 days
Posted on 07-06-05 07:28 AM Link | Quote
Excellent! It works!

One last question before I let this thread die.

How do I get the pointers? For example,

"Unfortunately, that Hammer Bro you used is the wrong one (which is why there was no change) because according to the stats his speed is at a phenomonal 99.
The correct Hammer Bro byte is 1B (check the monster list).

Do the same procedure here...double it to get 36, then add to 390026 to get 39005C, his pointer (260C). Flip the bytes (0C26)."

How do you get 260C here?

And by the way, I don't know how I can repay you guys, but for one thing, I really did make the right decision in coming here ;p
giangurgolo

Level: 10

Posts: 13/42
EXP: 3346
For next: 1068

Since: 06-04-05

Since last post: 31 days
Last activity: 22 days
Posted on 07-06-05 08:12 AM Link | Quote
260C is at offset 39005C.

We arrived at offset 39005C by doubling the monster byte and adding it to 390026 (390026 is where the first pointer, Terrapin's, is at).

Pointers are 2 bytes each and are at offsets 390026 - 390225 (they end right before where the monster's stats start at 390226).

Since there are 256 monsters, there would be 256 pointers...and since pointers are 2 bytes each, there are 512 ($200) bytes of pointers.

Finding the monster's pointers are fairly easy once you get the hang of it. The reason I stress that you follow the pointers and not the stats to find a monster's stats is because if you look at the pointers in subsequent order, they aren't in numerical order. One monster's stats could be far away from the next monster's stats.
Spralwers

Micro-Goomba
Level: 5

Posts: 12/13
EXP: 519
For next: 10

Since: 07-02-05
From: Bolton, MA

Since last post: 118 days
Last activity: 66 days
Posted on 07-06-05 09:37 AM Link | Quote
I get it now. Thanks. Finally, I can continue my hack of SMRPG
Add to favorites | "RSS" Feed | Next newer thread | Next older thread
Acmlm's Board - I2 Archive - Rom Hacking - Super Mario RPG. . .Hacking help | |


ABII


AcmlmBoard vl.ol (11-01-05)
© 2000-2005 Acmlm, Emuz, et al



Page rendered in 0.054 seconds.