| Welcome to Yoshi Lighthouse. We hope you enjoy your visit. You're currently viewing our forum as a guest. This means you are limited to certain areas of the board and there are some features you can't use. If you join our community, you'll be able to access member-only sections, and use many member-only features such as customizing your profile, sending personal messages, and voting in polls. Registration is simple, fast, and completely free. Join our community! If you're already a member please log in to your account to access all of our features: |
| Item/Equipment Research; To find item data! | |
|---|---|
| Tweet Topic Started: Feb 24 2012, 05:17:00 PM (766 Views) | |
Salanewt
|
Feb 24 2012, 05:17:00 PM Post #1 |
![]()
Star Yoshi
![]()
|
So yeah, now the plan is to try to find item data in Bowser's Inside Story. The way the data is arranged in RAM is very similar to how it is done in Partners in Time, but it seems to be compressed in the ROM (in the NA/U versions, at least). Found by Teawater, the item data in RAM can be located here: 020527F8. |
|
Have a nice day! Oh wow, it's been a while. Um. Hi. I guess I can get back into M&L stuff sooner or later, it really has been ages. To use a sword, /\ and / again. | |
![]() |
|
Teawater
|
Feb 25 2012, 02:59:04 PM Post #2 |
|
Who are you calling an old man?
![]()
|
The compressed data in the ROM starts approximately between 00036A80 and 00036A8A. (That's like 02036A80, in RAM.) I will need to check it further. Loaded right when you boot the game. (Notice some labels above this data in the ROM? ScriptSystem? GlobalEvent? I think those labels are compressed, too, which is why they look like that, so.. I believe that more stuff is in this huge block of compressed data. Your objective is to figure out where the compressed block starts and ends... as well as the same for the uncompressed block. (Unless you rather I do it. Which is okay by me.) It's nice to have this breakpoint debugger. I could start learning about this data if I wanted to. Big time! 020526C4 = Bowser Level 020526C6 = L Equipment amt 020526C8 = Bowser Equipment amt 020526CA = L ? 020526CC = M Equipment amt 020526CE = M ? 020526D0 = L/M Starting levels 020526D4 = Starting Equipment? 020526EC = Level Up data pointers (Per PC) 020526F8 = Badges (3000 = Mushroom Badge) 0000 = Name index. 0000 = 0000 = 0000 = 0029 = 0100 = 01F4 = 0000 = 02052778 = Badge Grouping (Good Badge + Mushroom Badge) 0001 = Description 0000 = Effect (0000 = Restore HP, Status Effects ; 0001 = Multiple damage given ; 0002 = Multiple Coins / EXP reward ; 0003 = Restore SP.) 0014 = The arguments of the effect. (2 bytes) Like percentages of restoration, and what not. 00F0 = Unknown 020527F8 = Item Data! (2000 = Mushroom) 0000 = Name index. (multiple of 3) 0000 = 0000 = Description index. 0001 = Byte on left affects the item's icon. (8x8 image) ; I suspect that Item Blocks use this? I might need to check it out, though. (Maybe the icon that comes out of the block? No idea.) 0026 = 0100 = 0005 = Price. 0064 = - Byte on left: If 80, can cure Mario AND Luigi. (Like Nuts.) ; The rest of the byte is what to heal. (00 = HP ; 01 = SP ; 02 = Revive? ; 03 = Cure status effects? ; 04 = Fully restore HP and SP. ; 05 = Max HP ; 06 = Max SP ; 07 = Max Power) - Byte on right: ? 001E = Amount. 0000 = 0113 = Bits - 0001 = Field Item - 0002 = Battle Item - 0004 = Bowser Only - 0008 = ? - 00F0 = 4-bits: What stats to display in battle. - - 0000 = Show current HP and SP stats in battle - - 0010 = Show HP stats in battle - - 0020 = Show SP stats in battle - - 0030 = (1-Up) Doesn't effect display? - - 0040 = (Refreshing Herb) " - - 0050 = (Star Candies) " - 0100 = Mario/Luigi Only ? (Unless Bowser Only is selected.) 0000 = 02052A68 = Special Items (1000 = Green Shell) 0008 = Name index 0008 = Description Index (Top Screen) 0008 = Description Index (Bottom Screen) 2600 = Byte on left affects the item's icon. (8x8 image) ; 0000 = 0000 = 000A = 0064 = 5000 = 0005 = Comic image. (How to use the item.) 0003 = SP cost. 0000 = Party Start Stats/Level Up data (5-bits each for Base HP/SP/Power, Defense/Speed/Stache, then 24-bits EXP) 02052D08 = PC 020531B8 = PC 02053668 = PC 02053B30 = Gear (4000 = No gear) 01A1 = Name index 0080 = Description index 0000 = 0B01 = Byte on left affects the item's icon. (8x8 image) ; 0000 = 0000 = 0004 = Price. 0064 =
0000 = HP increase 0000 = SP increase 0000 = Pow increase 0000 = Def increase 0000 = Speed increase 0000 = Stache increase 0000 = Gear effect 0000 = Edited by Teawater, Apr 11 2013, 06:40:22 PM.
|
If you ever find an error in any of my reference materials, PLEASE let me know.![]() ![]() ![]() ![]() ![]() ![]() Don't mind me, I'm nothing but a spoiler.
| |
![]() |
|
Salanewt
|
Feb 26 2012, 02:57:57 AM Post #3 |
![]()
Star Yoshi
![]()
|
So yeah, I decided to take a quick look at one of the unknown values for gear, and it turns out that their effects are specifically assigned to them! There is also some flexibility with these effects, allowing us to change them a bit further if we want. Example: DX SP Socks: 30% SP Booster. x1E02, or x02 x1E. In this case, the x02 is the effect itself, but the x1E is a modifier equal to 30. If we want to make these socks increase max SP by a different value, all we would have to do is change the x1E into something else. Effects are as follows: x00 - Nothing(?) x01 - Max HP% increase x02 - Max SP% increase x03 - Max POW% increase x04 - Max SPEED% increase x05 - Rate of lucky hits. (%) (Absolute/not added.) x06 - Auto-reviver, revives you after 1 turn if you are KO'ed, amount of HP restored is defined by a set percentage (%) x07 - Raises DEF while carrying a KO'ed bro, level of DEF boost is defined by a set percentage (%) x08 - Target booster, making it more likely for the wearer to be targeted (unsure of how the modifier adds in to this, but the example that I found has xA0 as the modifier) x09 - Blocks all status ailments x0A - HP Regeneration, restores a certain amount of HP per round x0B - SP Regeneration, restores a certain amount of SP per round x0C - HP/SP Regeneration, restores a certain amount of HP/SP per round (double modifier) x0D - Special Attack amplifier, boosting the power of special attacks by a defined percentage (%) x0E - Raises solo Hammer power by defined percentage (%) x0F - May KO a hammered opponent in one hit x10 - May lower DEF of a hammered foe x11 - May make hammered foes drop items x12 - Makes hammer attacks restore SP by a defined percentage of the total damage dealt (%) x13 - May KO foes with a hammer First Strike (if you hit an enemy with the hammer when starting battle) x14 - Raises solo Jump power by defined percentage (%) x15 - May daze a jumped-on foe, unknown exactly what the modifier does x16 - May lower POW of a jumped-on foe x17 - May make jumped-on foes drop coins x18 - Makes jump attacks restore HP by a defined percentage of the total damage dealt (%) x19 - Jump First Strikes will raise jump power by a defined percentage (%) x1A - Reduce a random attack's SP cost. (%) x1B - Reduce SP cost for all Special Attacks. (%) x1C - (Item 40) Special Advisor - Raises suggested attack power by %. x1D - Raises attack power. (%) ; Raises SP cost. (%) x1E - Blocker - Nullifies damage # times per battle. x1F - Blocker - Nullifies small damage. (The modifier of x14 (20) in one gear is probably the small damage number.) x20 - x21 - x22 - Makes foes drop only Mushrooms. x23 - Raises Pow if you eat a mushroom. (%), or for Bowser, Drumsticks. x24 - Raises Defense if you eat a mushroom. (%), or for Bowser, Drumsticks. x25 - Challenge Modifier - Foes power up and drop more coins. (% increase.) x26 - x27 - Raise punch power. (%) x28 - x29 - May randomly use a Mushroom before a move, unknown exactly what the modifier does (Mushroom Gloves have a modifier of x01) Drumstick Ring (77), allows you to use a Drumstick before an action. It also has a modifier of 1. x2A - Raises flame power by %. x2B - x2C - x2D - x2E - x2F - x30 - x31 - Multiples chance of Flame's burn effect. (%) (Doubles = C8) x32 - Raise attack power. (%) ; Raises SP cost. (%) x33 - Let's you eat two drumsticks at once. x34 - Restores SP with excellent strikes. (%) x35 - +% coins from foes KO'd in field. x36 - x37 - Lets you perform the same action twice. x38 - x39 - Special Dash, allows for fleeing battles more easily x3A - Coin reward increase, modifier is a decimal value that is factored in with the stuff that you normally earn (eg. x50 will be turned into 1.5x, etc.) x3B - EXP reward increase, modifier is a decimal value that is factored in with the stuff that you normally earn (eg. x30 will be turned into 1.3x, etc.) x3C - Item effect booster, modifies restoration-item power by defined percentage (%) x3D - Raises the Fire Flower special attack's power by defined percentage (%) x3E - Pow Booster (%) When HP is Full. x3F - KOs a bro if they get hit, but gives them a POW boost that has a defined percentage (%) x40 - Raises the Green Shell special attack's power by defined percentage (%) x41 - KO Blocker - Nullifies damage taken on a KO blow. x42 - Makes foes more likely to drop items. (%) (If % is above 100, you are more likely, if less, you are less likely.) x43 - Raise power when you take damage. (%) - Second modifier is the cap. (Max %) x44 - Makes you % easier to get furious. x45 - HP Punch Restorer - Restores HP (%) on punch attacks. x46 - DEF booster, raises DEF by defined percentage (%) x47 - Increase rate of lucky hits. (%) (Similar to 05, but added.) x48 - Muliplies defense as HP increases. (%) (An item has this at C8 for 200%, the discription says it "doubles" defense as HP increases.) x49 - Raises attack power when furious. (x2 %) (x28 converts to 20% if divided by 2.?) x4A - Power boost by % when you KO a foe. Second modifier is the cap. (Max %) ... More to come in the near future! Function information. 02018C00 = Effects 1-4, x46. On File Load. Raise Stats by percentages. 020190F4 = EFFECT x1E. Nullify damage for # turns. On Start Battle. It seems like this one has two arguments. The first is the number of turns, the second is unknown. - Also, effects x25 -more coming soon. Edits by Teawater in red. Edited by Teawater, Feb 26 2012, 06:02:25 PM.
|
|
Have a nice day! Oh wow, it's been a while. Um. Hi. I guess I can get back into M&L stuff sooner or later, it really has been ages. To use a sword, /\ and / again. | |
![]() |
|
jdaster64
|
Feb 27 2012, 02:51:59 AM Post #4 |
![]()
|
Interesting... I presume the value for Softener Gloves (0x10) is somehow misinterpreted as positive, as attacker enemies while wearing them actually increases their DEF. The POW-lowering one works, though. EDIT: Some notes: - I'm pretty sure 0x48 is while HP DECREASES, and it actually triples it, not doubles it, as you can see in a GameFAQs thread I made here. The game has a few errors like that in its descriptions. That thread has pretty much a complete analysis of the effects of gear and such from a gameplay perspective. - 0x49: the gear that uses that changes Fury Power from x2.00 to x2.40, meaning that 0x28 is interpreted as added to x2.00, more than likely. - 0x25: With an argument of 0x32, from my experience, the gear with that effect boosts enemy HP by 50%, POW by 150%, DEF by 50%, and coins earned by 50%. - 0x41 is plain wrong and a horrible description, check the thread above for what it actually does (fourth post from top). - 0x37 is also wrong, I believe. I think you can select any two actions, not just the same one twice. - 0x1F makes it block damage up to 0x14, or 20%, of your max HP, I believe. - 0x15's argument is probably success rate, unless you already tested that. - 0x18 actually increases your HP by a defined percentage of your MAX HP, and per hit. So a double-jump-hit would restore 10% of your HP with an argument of 0x05. - 0x3A, 0x3B only work if the wearer takes no damage during a battle. EDIT again: Thanks so much for finding this! That value is how much Bros. Meter power it takes for the meter to fill. These attacks fill this much power (given that the action command is the required amount or higher): Jump, Hammer attacks -Â 20 (0x14) Green Shell, Fire Flower -Â 25 (0x19) Yoo Hoo Cannon, Snack Basket, Magic Window -Â 35 (0x23) Koopa Spring, Super Bouncer, Mighty Meteor, Spin Pipe, Falling Star -Â 45 (0x2B) So, do we know where any of this is in the ROM data? Edited by jdaster64, Feb 28 2012, 02:21:19 AM.
|
| |
![]() |
|
Teawater
|
Feb 27 2012, 03:42:55 AM Post #5 |
|
Who are you calling an old man?
![]()
|
Yes. It is all compressed. Read my first sentence. Though, since Badge Data comes before Item data, I think it starts a bit earlier. |
If you ever find an error in any of my reference materials, PLEASE let me know.![]() ![]() ![]() ![]() ![]() ![]() Don't mind me, I'm nothing but a spoiler.
| |
![]() |
|
Salanewt
|
Feb 27 2012, 12:43:28 PM Post #6 |
![]()
Star Yoshi
![]()
|
Now now, he was just asking if we knew where it is, not if it is compressed or not. Either way, all we know from our research is that it seems to be compressed. If looking at PiT as an example, then we might be lucky enough to have it located at approximately 000527F8 in the ROM (since that game's item data addresses were nearly identical). I just wish that this debugging emulator were more like VBA SDL-H, haha. Edit: The Softener Gloves' effect has a modifier of x46, and the unknown value that comes after it seems to be x0014/x14, x00. I think that would mean that x46 could be the percentage, but I am going to try playing around with this stuff. The "lowers POW of jumped-on enemies" effect has a modifier of x32 for 50%, and the second unknown is x0032/x32, x00. Edit 2: Using the effect/modifier combo of the Softener Gloves with the unknown of the POW lowering ones seems to fix it, I'll test a bit more when the nurse leaves. Edit 3: However, using the normal Softener Gloves' effect on the Thin Wear seems to have the intended effect of lowering enemy DEF. Does anyone else feel like looking into this right now? And jdaster: Thanks for the info, I will try to work on updating the post in a bit. Edited by Salanewt, Feb 27 2012, 01:53:33 PM.
|
|
Have a nice day! Oh wow, it's been a while. Um. Hi. I guess I can get back into M&L stuff sooner or later, it really has been ages. To use a sword, /\ and / again. | |
![]() |
|
Teawater
|
Feb 27 2012, 06:17:00 PM Post #7 |
|
Who are you calling an old man?
![]()
|
That is what I was answering. But I was adding on. My first sentence gave the addresses, so that is why I referenced it. I've actually already confirmed that it is compressed. I guess I'm getting ahead of everyone. Oh and all if this item data is inside a huge compressed block. The compressed block goes from 00008000 to 0003993B. (The header being the last two words, which are at 00039934 and 00039938.) Oh, and this breakpoint debugger is perfectly fine. Just, I dislike how some things don't work properly. But SDL-H also had a small bug, as well. (When you get BKPT instruction for deleting breakpoints.) Also, there might be 3 words following this data. They don't seem to be loaded in RAM from what I've tested. (Due to the ARM9 binary size in the header of the ROM...) They are most likely garbage. Edited by Teawater, Feb 27 2012, 06:18:30 PM.
|
If you ever find an error in any of my reference materials, PLEASE let me know.![]() ![]() ![]() ![]() ![]() ![]() Don't mind me, I'm nothing but a spoiler.
| |
![]() |
|
Salanewt
|
Feb 27 2012, 10:01:43 PM Post #8 |
![]()
Star Yoshi
![]()
|
Oh, er, I didn't realize that you had located the stuff when I posted that, my apologies. Anyway, would it be possible for you to tell us a bit about how the game compresses this data, or are you still looking into that? |
|
Have a nice day! Oh wow, it's been a while. Um. Hi. I guess I can get back into M&L stuff sooner or later, it really has been ages. To use a sword, /\ and / again. | |
![]() |
|
Teawater
|
Feb 27 2012, 11:20:52 PM Post #9 |
|
Who are you calling an old man?
![]()
|
My apologies for being a little vague. But that's okay. Actually, I wasn't planning on posting how it works. Hehe. Well, it starts at the end. The header is 8 bytes long. It contains data which is the compression size, as well as data which is the decompression size. And yes, this data is added to the current RAM address as the start location of where to decompress to. Then it reads one of the bytes in the header for where the actual compression starts. (Starts like 9 to 12 bytes away or something.) Now the actual compressed data... There is a byte that has flags for whether it is a distance-length, or a constant. - I don't think it matters if I go into specifics as long as I know what is going on. Edited by Teawater, Feb 27 2012, 11:24:05 PM.
|
If you ever find an error in any of my reference materials, PLEASE let me know.![]() ![]() ![]() ![]() ![]() ![]() Don't mind me, I'm nothing but a spoiler.
| |
![]() |
|
| 1 user reading this topic (1 Guest and 0 Anonymous) | |
| « Previous Topic · Bowser's Inside Story · Next Topic » |








Teawater



8:58 PM Jul 10