Editor, Expert player (2313)
Joined: 5/15/2007
Posts: 3855
Location: Germany
I continued working on my TAS WIP using trial and error and the two base RNG values for now. But now I seem to have trouble manipulating Luigi to lucky hit jump once in the Tolstar battle. --- Edit: You can ignore what's below here. lol --- I found that apparently the game always resets the RNG to the same base values: They turn 106, 188 before the first turn starts regardless what those values were prior to entering the battle. This happens on
  • Bizhawk English ROM
  • Bizhawk Japanese ROM
  • VBA-24m Japanese ROM.
When I made the previous TAS on VBA-24m with the Japanese ROM, I was able to luck-manipulate enemy behavior (and apparently lucky hits too), by waiting on dialogue prior to entering the battle. Now I'm on Bizhawk, this technique doesn't seem to work anymore. I was always wondering if due to this technique there was maybe a third RNG source. Now it's looking like an emulation inaccuracy. Please compare: Bizhawk JP VBA-24m JP RNG base values before Luigi attacks are 105, 192 in both cases. (You can find the numbers somewhere in the gifs.) Yet, even though the RNGs are the same, I got the lucky hit only on VBA. @jdaster64, I'm interested in what you have to say about this. Is there a third RNG source? Am I understanding RNG wrong? Is one of the two emulators flawed? Edit: Actually, the "waiting on dialgoue" technique does work on Bizhawk. I'm confused now... Looks like I should be able to manipulate luck hits by waiting then. Edit2: I guess Stache and Level are not the same between the two gifs, that's why the lucky hit didn't occur on bizhawk.
Skilled player (1706)
Joined: 9/17/2009
Posts: 4952
Location: ̶C̶a̶n̶a̶d̶a̶ "Kanatah"
Regarding BizHawk, is it the same for both GBA cores there?
Editor, Expert player (2313)
Joined: 5/15/2007
Posts: 3855
Location: Germany
jlun2 wrote:
Regarding BizHawk, is it the same for both GBA cores there?
My previous post turned out pointless. There actually is no difference between any emulators or cores. The reason I got a lucky hit only on one scenario and not the other is because the game apparently decides on stuff when a battle starts based on timing. At that point, it basicly decides which RNGs cause which outcomes. This counts for enemy behavior, lucky hits, item drops after battle, and level up roulettes. I did kind of understand that it works like that, but I had assumed a given RNG always causes the same outcomes in battle. But it doesn't. And after the battle starts, it's basicly laid out what will happen. If one wants to manipulate the outcome during the battle, it can be done by using different attacks (some attacks advance the RNG 0 times, some once, and there may be attacks that advance it twice but I'm not sure). But your options are really limited since going for luck-manipulation during battle is guaranteed to be slower than just trying to start the battle on a different frame and trying again. It's only really viable during the final boss since it's a long battle where you inevitably run into bad enemy patterns - Luigi, since he's weak and his attacks don't matter, can be used to do some manipulation on final Cackletta. This technique was already used in the previous TAS. Another thing you can do to manipulate battles is to somehow change RNG prior to entering the battle (e.g. by walking through rooms differently, having enemies appear or disappear at different times, thus rolling the RNG differently; by waiting on the inventory item screen, which rolls the RNG constantly; etc.). But this only seems to work with normal battles - boss battles seem to reset your RNG to some pre-determined values (at least Tolstar did). I hope my write-up clears up this problem. Sorry about the confusion. Also, on the topic of cores, mGBA should always be used since VBA-Next has drawbacks: SRAM memory domain seems broken, and the Action Command glitch is inaccurately emulated. Bizhawk 1.11.8~1.11.9 have a broken mGBA implementation, but Bizhawk 1.11.9.1 is fine.
jdaster64
He/Him
Joined: 12/1/2012
Posts: 103
Location: New Donk City
The RNG is always completely reseeded on any battle start; prior RNG manipulation doesn't matter (although the results do differ, probably based on time). Like you said, not a ton that can be done to manip once inside the battle. What are the "RNG base values" you're talking about? As far as I know, the only RNG source is a Mersenne Twister, which has a lot more than 2 values' worth of state. Assuming those are still just pointers into the real RNG seed space, you should probably try replacing those values with RNG stuff from my scripts.
Editor, Expert player (2313)
Joined: 5/15/2007
Posts: 3855
Location: Germany
By RNG base values I mean whatever values are stored in $1e60 and $1e64 (EWRAM), no algorithms applied. By source I mean values used in the algorithm. The two values above are used, and as for Lucky Hits, apparently the brothers' Level and Stache are taken into account, though they aren't "sources" in my book. Sorry for the confusion. Since outcomes were different despite the two values being the same, I assumed there was a "3rd source" (and there is: Timing. Starting a battle on different frames changes outcomes but it's always consistent with what frame the battle was started, so I can work with it fine as things are now.) I have worked on my script and the next version will allow users to edit in-battle enemies and brothers (position, stats, ailments etc.). Now if only I could figure out NPCs and objects...
Assuming those are still just pointers into the real RNG seed space, you should probably try replacing those values with RNG stuff from my scripts.
I will try
Memory
She/Her
Site Admin, Skilled player (1523)
Joined: 3/20/2014
Posts: 1762
Location: Dumpster
A consistent method of calling Mario Bros. was found Link to video EDIT: nvm it stopped working after 2 days
[16:36:31] <Mothrayas> I have to say this argument about robot drug usage is a lot more fun than whatever else we have been doing in the past two+ hours
[16:08:10] <BenLubar> a TAS is just the limit of a segmented speedrun as the segment length approaches zero
Editor, Expert player (2313)
Joined: 5/15/2007
Posts: 3855
Location: Germany
About NPC slots and implementation into the script: EWRAM $734D seems to be 1st actor Xpos. (Memory before this seems to be occupied by the brothers) It looked like the offset between two slots was 0x34c, until I saw $7ced was Xpos for an actor and 0x7ced - 0x734D = 0x9A0 which is not a multiple of 0x34c. So looks like slots are dynamically assigned...? Or there's a starting address like there is in battle. Next best thing I can do is try to look for certain memory structure to make the script think it found a slot, but otherwise I'm lost on this. I'm secretly hoping jdaster comes to the rescue. ;) In the image above it looked promising but a few rooms later the offset is not 0x34c anymore... MLSS script v0.12-Test (which the image above was taken with) MLSS script v0.12.2 (NPC display removed)
Changes in v0.12.2:
- Run Event: Fixed game crash that could happen when using "Cam fix", on the US version.
- Warp to Room: Fixed game crash that could happen when using "set pos/cam", on the US version.

Changes in v0.12.1:
- Actors: Disabled the incomplete NPC display.
Renamed back to "Battle".
- Run Event & Warp to Room: Fixed various issues:
Fixed game crashes that could happen after running an event or after warping to a room on the European version.
Fixed game crash when running certain events on the Japanese version
- Run Event: Added option "Unlock cam" (it's not included in "bugfixes" anymore).
- Battle: Fixed script malfunctioning when entering a battle on the European version.

Changes in v0.12-Test:
- Minor bugfixes and changes.
- Battle: Renamed to "Actors". 
You can now edit in-battle actors (enemies and brothers).
You can now view and edit in-battle misc values (only camera for now).
You can now view and edit overworld actors (only x position for now).	<-- Unfinished
- Notifications: Battle value comparison has been removed.
- Flags, Savegames: Added flags (Teehee Valley visited, more items in shops).
- Misc: Added camera position and camera "locked" status.
- The camera fix used in "Free Movement" and "Warp to Room" will now unlock the camera if it was locked.
- Run Event: Unlock locked camera after running an event.

Notes:
- Battle display has been updated, but in-battle value comparison had to be removed. It will be added back in a later script version.
Editor, Expert player (2313)
Joined: 5/15/2007
Posts: 3855
Location: Germany
Someone commented on my video a new glitch. I have gotten it to work once right off the bat, but wasn't recording. Then didn't get it to work anymore for 30 minutes... I jumped on the 2nd set of pedals with Luigi leading. And Mario ended up falling off after two jumps or so.
That Margikarp is a Spy wrote:
so onto the glitch. the Bike Pads in Bowser's Castle is where i stumbled across this glitch, completely on accident. for some reason, while trying to do the parkour, one of my brothers fell off into the lava. The lava did no damage, and just got sunk into the fiery depths. mario fell off the pad as well as i was trying to escape the lava, but it just got me even more stuck, and i had to reset the game!
I got it to work in this place three times but I was never able to record it. When I actually did record it, the file desynced (wut?). I'm interested in the effects that falling off can have in other places. I think if you can successfully interrupt the pedal event, you can walk through walls freely in that room. Not that there are any places where that could be useful but who knows.
Memory
She/Her
Site Admin, Skilled player (1523)
Joined: 3/20/2014
Posts: 1762
Location: Dumpster
RTA runner Murmillio found a new skip at the beginning of the game that saves around 15 seconds: Link to video This could potentially work elsewhere.
[16:36:31] <Mothrayas> I have to say this argument about robot drug usage is a lot more fun than whatever else we have been doing in the past two+ hours
[16:08:10] <BenLubar> a TAS is just the limit of a segmented speedrun as the segment length approaches zero
Editor, Expert player (2313)
Joined: 5/15/2007
Posts: 3855
Location: Germany
Damn nice! I'm kinda glad I stopped working on this game last few months. I'd have to redo Stardust Fields completely and adjust the route. Edit: I tested this trick, it's english-only and I can't get it to work in the Chateau tutorial. And other places seem out of the question. This being an English version trick, I have to redo Stardust.
Editor, Expert player (2313)
Joined: 5/15/2007
Posts: 3855
Location: Germany
Badge tutorial skip Thanks to Murmilio's technique, you can skip past the dude who teaches you badges. But this means the "can equip badges" flag is never set and since the tutorial hasn't been done, you can't buy any badges in bean town. However, you can apparently still buy+equip from shops later on, such as buying+equipping mush badge in Fungitown. So it might still be a viable time saver depending how much time it loses in the Popple+Rookie fight and how much a problem it is to bypass the tutorial trigger later on. You can do the same trick as in the video in Bowletta's throne room to walk up to her but you can't interact with her; you have to touch the trigger to advance the game. Updated video: Link to video
Editor, Expert player (2313)
Joined: 5/15/2007
Posts: 3855
Location: Germany
Badge tutorial skip is useless So as for use of Badge Tutorial Skip in TAS, it looked promising because we aren't buying anything in Beantown in the anticipated route anyway. But since Mario doesn't have Bean Badge equipped, the Popple fight takes 1 round longer which means Rookie enters his fire-breathing cutscene which ended up burning pretty much all of the time save. -30 seconds estimated time save (Badge Tutorial skip) +26.5 seconds lost (longer Popple fight) ---------- 3.5 seconds save I don't think we can bypass the trigger upwards (to enter the castle after triggering the endgame) and then downwards once more (to go on our way towards Mountain Village) in less than 3.5 seconds. So it seems useless to me. You can bypass the trigger in 2.8 seconds and come out with a timesave of 0.7 seconds. But you miss out on bean badge worth 14 coins later and you cannot get those coins elsewhere in 0.7 seconds or less. So, useless trick. Jump course skip is useful As for the jump course skip, I was skeptical if it saves time since it misses out on 1 Syrup and 1 Mush. So I looked into it; with the current route, the Stardust "2x Fly, 2x Cannon" fights would stay the same except I do 1 fewer Splash Bros. I can't insert extra Splash Bros anywhere except in Hohooros. That would solve the "1 less Syrup" problem and I don't need to collect an extra Syrup, but Hohooros takes longer. -14.66 seconds saved (jump course skip) +11.6 seconds lost (longer Hohooros) ----------- 3 seconds save We lack 1 Mush but it should be possible to get one within 3 seconds. The current route gets +2 Mush in one "2 Fly, 2 Cannon" fight and it should be possible to get +3 within 3 seconds of RNG manipulation. There is 1 Mush in sewers I could get that takes 55 frames detour, so depending how RNG complies in Stardust, I decide between
  • two +3 drops, one +2 drop (Stardust) & 1 Mush from sewers
  • three +3 drops (Stardust)
Depending what route RTA does, it might not be a timesaver in RTA. Assuming it only saves 3 seconds there too and you spend 1 second to lign up the bros, you'd only save 2 seconds if you get it first try and waste time if you don't.
Memory
She/Her
Site Admin, Skilled player (1523)
Joined: 3/20/2014
Posts: 1762
Location: Dumpster
murmilio wanted me to ask if you do a fight before the bros. attack tutorial since that tutorial restores your BP. You wouldn't need a syrup for that usage.
[16:36:31] <Mothrayas> I have to say this argument about robot drug usage is a lot more fun than whatever else we have been doing in the past two+ hours
[16:08:10] <BenLubar> a TAS is just the limit of a segmented speedrun as the segment length approaches zero
Editor, Expert player (2313)
Joined: 5/15/2007
Posts: 3855
Location: Germany
Memory wrote:
murmilio wanted me to ask if you do a fight before the bros. attack tutorial since that tutorial restores your BP. You wouldn't need a syrup for that usage.
I already do a fight before the tutorial and use the BP refill in the current route. I don't see any other way than to take off one Splash Bros use in Stardust and adding one in Hohooros. Maybe I can do three Splash Bros in one Stardust fight. Badge trigger skip, you can actually do it in 2.8 seconds (by just doing the same technique instead of action command shenanigans) and come out with a timesave of 0.7 seconds. But you miss bean badge worth 14 coins later and you can't get those coins elsewhere in 0.7 seconds or less.
Editor, Expert player (2313)
Joined: 5/15/2007
Posts: 3855
Location: Germany
I'm redoing Stardust; the one battle before the tutorial will now have 3 splash uses instead of 2, and a later battle will have 1 splash use instead of 2. That fixes the syrup problem. I was unable to manipulate 3 mush drops out of the third battle, like in the outdated WIP, so I will go with the backup plan and collect 1 additional mush in sewers (55 f detour). Looks like jump course skip ends up saving the full 15 seconds or so, which really surprises me
Editor, Expert player (2313)
Joined: 5/15/2007
Posts: 3855
Location: Germany
I found a new trick, but seems useless for any% Link to video I'm disappointed especially that it doesn't work in the barrel maze room.
jdaster64
He/Him
Joined: 12/1/2012
Posts: 103
Location: New Donk City
I'm planning on making an improved RNG viewer script at some point this weekend, if I have the time. Random stuff I've been looking into over the past day... Found out what the RNG seeding function is (basically the same as the one here), and that it is in fact seeded by the global timer (or at least its last 16 bits) when starting a battle, so I should be able to write a script that predicts the initial RNG values for if you start the battle on the next frame. I also fully disassembled the level-up bonus stats routine; haven't cleaned up my notes much but I understand the gist of what everything's doing, and know what all the inputs mean. Ideally, I should be able to add that to the script as well. Also, I found an error in my Fire Bros. Advanced damage calculation from my script; turns out the success multiplier is 115.2/256 (yay, floating-point), not 115/256. The new version of that script is here (and should be updated if I make further changes).
Editor, Expert player (2313)
Joined: 5/15/2007
Posts: 3855
Location: Germany
@jdaster64: Sounds good. I think it's for the better if I don't bother trying to add RNG stuff to my luascript since I'm not motivated nor do I understand the technicalities much. Having this as a separate script (which you are writing) seems like a better idea, for now at least. I did manage to sorta finish NPC stuff though, finally. Luascript 0.12.4 It seems unused entries are loaded to WRAM, so this script could help find unused objects. Happy tcrf hunting? EDIT: Restored post after I accidentally edited over it.
jdaster64
He/Him
Joined: 12/1/2012
Posts: 103
Location: New Donk City
Forgot I never posted the RNG script here ("mlss_rng_util.lua", note that it needs the "lib" subfolder in the same root for dependencies): https://drive.google.com/open?id=0B6rwv4LXkEwMVG4wZ3hIckNwQkE Use the "M" button to change between modes: - "Predict and Tweak" - shows the next 20 RNG values (scaled from 0.0000 - 0.9999) and allows you to edit upcoming values. - "Predict Reseeded" - shows what the first 20 RNG values will be after the start of a battle given the number of frames it will start in (I think the RNG gets seeded in one of the first couple full-yellow screen frames). - "Bonus Wheel" - shows what the level-up wheel will be for a given stat / brother with the current RNG state. The bonus wheel mode in particular needs some more features (plus, it only works on U, and there's a particular branch in the assembly code that never came up in my testing but might be used in some cases).
Editor, Expert player (2313)
Joined: 5/15/2007
Posts: 3855
Location: Germany
I found that objects have flags that control things such as activity, collision, whether the sprite is shown, and whether anything happens if you interact with it. There might be much more to this, but those flags are enough to e.g. activate the unused saveblock in Koopa Cruiser. And I was able to activate the stuff in the room before Popple & Birdo, but it turns out those were just stuff used for a cutscene. There might be a luigi object somewhere in there too, not shown in the screenshot.. I will try to find unused stuff in other rooms now. But maybe people at yoshi's lighthouse already went over this, so maybe there's nothing left to be found. ( Luascript 0.12.5 which includes the npc flags ) EDIT:
*** Room 9 	(Test room 6)
Actor 5 (single pedal platform) is offscreen and disabled, but doesn't have any reaction when interacting with it.

*** Room 30	(End cinematics, when they're in the plane laughing)
Actor 7 might be an invisible hoo bean block, but I can't confirm.
There are 4 active FCHR (Actors 3~6) objects, but disabling them doesn't have any visual effect.

*** Room 62 and Room 61	(Bean castle interior)
In both those rooms, there are two knight actors that have dialogue, not sure if used or not.

*** Room 76 	(first room of mountain enemy area)
Actor 3 is an unused bean person NPC that says "I'm tired of living in the sticks. I want to live someplace cool, where there's lots to do!"
Actor 4 and 5 are badge sprites, also unused in that room.

*** Room 131	(Bean area, south east, beach)
Actor 7 is some invisible block (Hoo bean), unreachable in an out of bounds section of the room.

*** Room 169	(Oho oasis, south-west)
Actor 6 is a red Oho Jee, located on top of the radio, appears to be unused and possibly for testing the black fade-out effect when using the radio.
When talking to this Oho Jee, it works the same as if you interact with the radio.

*** Room 172	(Oho oasis, north-east)
Actor 6 is a snail. appears to be unused. 
It would be there in addition to actor 5 (snail), which looks like two snails kissing. lol

*** Room 173	(Oho oasis, south-east)
Actor 4 is a crab, it might be unused OR otherwise used for the cutscene when landing in this place.
Actor 7 is a blue Oho Jee, located on top of the radio, same deal as in room 169.
Actor 9, is inactive and when made active it's invisible still. Not sure what gives.

*** Room 206	(Seabed)
There are a few invisible Hoo Bean blocks in this room, not documented on vgmaps.
Used and accessible.

*** Room 219	(University, main hub room)
There is one invisible Hoo bean block in this room, not documented on vgmaps.
Used and accessible.

*** Room 221
One invisible hoo bean block, etc.

*** Room 263
One invisible hoo bean block, etc.

*** Room 274	(Mushroom kingdom, 1st room)
Actor 13 is a bowser sprite?
Actor 14 and 15 are  some unloaded invisible objects?
Not sure which one is supposed to be the known unused toad object in this room.

*** Room 344 and 345 and 353 and 354 and 363		(Joke's End)
have one invisible hoo bean block each, undocumented, etc.
Editor, Expert player (2313)
Joined: 5/15/2007
Posts: 3855
Location: Germany
Current TAS WIP: BK2 (Bizhawk 1.12.0 mgba core, US ROM) Finished up until Popple & Rookie, with the time currently being 42min 45sec (46 sec ahead of the old run, due to the skip in Stardust and I guess certain fights taking less long). I still think there's a good chance this will be below one hour. I'm weirded out by the fact my route sheet lists different syrup counts all over the place, but I think it should work out perfectly.
TheKDX7
He/Him
Player (115)
Joined: 7/9/2011
Posts: 392
Location: Switzerland
Delighted to hear this MUGG ! Good luck for the rest and we look forward to seeing this masterpiece.
Editor, Player (94)
Joined: 5/27/2006
Posts: 239
Hey MUGG (or anyone), do you have any RAM/ROM maps or similar resources? I'm considering making an editor and having this kind of info could save me some effort.
Editor, Expert player (2313)
Joined: 5/15/2007
Posts: 3855
Location: Germany
I incorporated a ton of addresses into my luascript, but I never made a list. Here are some very basic ones: http://tasvideos.org/GameResources/GBx/MarioAndLuigiSuperstarSaga.html#MemoryAddresses
EWRAM:

local Mario = {
	Health      	= memory.read_u16_le(0x4866),
	HealthMax   	= memory.read_u16_le(0x486A),
	BP          	= memory.read_u16_le(0x486c), 
	BPMax       	= memory.read_u16_le(0x4870),
	Pow        		= memory.read_u16_le(0x4874),
	Def         	= memory.read_u16_le(0x487c),
	Speed       	= memory.read_u16_le(0x4878),
	Hige        	= memory.read_u16_le(0x4880),
	Level       	= memory.read_s8(0x4888),
	Experience  	= memory.read_u24_le(0x485c),
	X           	= memory.read_u32_le(0x6c14),
	Y           	= memory.read_u32_le(0x6c18),
	Z           	= memory.read_u32_le(0x6c1C),
	Altitude	    = memory.read_u32_le(0x6c20),
	XBefore		    = memory.read_u32_le(0x6c3c),
	YBefore 	    = memory.read_u32_le(0x6c40),
	ZBefore		    = memory.read_u32_le(0x6c44),
	AltitudeBefore	= memory.read_u32_le(0x6c48),
	Mobility		= memory.read_u8(0x6f59)
}

local Luigi = {
	Health      	= memory.read_u16_le(0x48a2),
	HealthMax   	= memory.read_u16_le(0x48a6),
	BP          	= memory.read_u16_le(0x48a8), 
	BPMax       	= memory.read_u16_le(0x48ac),
	Pow         	= memory.read_u16_le(0x48b0),
	Def         	= memory.read_u16_le(0x48b8),
	Speed       	= memory.read_u16_le(0x48b4),
	Hige        	= memory.read_u16_le(0x48bc),
	Level       	= memory.read_s8(0x48c4),
	Experience  	= memory.read_u24_le(0x4898),
	X           	= memory.read_u32_le(0x6fb0),
	Y           	= memory.read_u32_le(0x6fb4),
	Z           	= memory.read_u32_le(0x6fb8),
	Altitude    	= memory.read_u32_le(0x6fbc),
	XBefore        	= memory.read_u32_le(0x6fd8),
	YBefore      	= memory.read_u32_le(0x6fdc),
	ZBefore 		= memory.read_u32_le(0x6fe0),
	AltitudeBefore	= memory.read_u32_le(0x6fe4),
	Mobility		= memory.read_u8(0x72f5)
}
Maybe you can study my script for more
local AddressTableStats = {
[1]=	{0,"Mario",0xFFB0B0B0},
[2]=	{1,"Experience",0xFFFF8080,"EWRAM",0x485C,3,true,0,946405,1},
[3]=	{1,"Level",0xFFFF8080,"EWRAM",0x4888,1,true,1,99,1},
[4]=	{1,"HP",0xFFFF8080,"EWRAM",0x4866,2,true,nil,nil,nil},
[5]=	{1,"HP-Max",0xFFFF8080,"EWRAM",0x486A,2,true,nil,nil,nil},
[6]=	{1,"BP",0xFFFF8080,"EWRAM",0x486C,2,true,nil,nil,nil},
[7]=	{1,"BP-Max",0xFFFF8080,"EWRAM",0x4870,2,true,nil,nil,nil},
[8]=	{1,"Pow",0xFFFF8080,"EWRAM",0x4874,2,true,nil,nil,nil},
[9]=	{1,"Def",0xFFFF8080,"EWRAM",0x487C,2,true,nil,nil,nil},
[10]=	{1,"Speed",0xFFFF8080,"EWRAM",0x4878,2,true,nil,nil,nil},
[11]=	{1,"Stache",0xFFFF8080,"EWRAM",0x4880,2,true,nil,nil,nil},
[12]=	{1,"Base Max-HP",0xFFFF8080,"EWRAM",0x4868,2,true,nil,nil,nil},
[13]=	{1,"Base Max-BP",0xFFFF8080,"EWRAM",0x486E,2,true,nil,nil,nil},
[14]=	{1,"Base Pow",0xFFFF8080,"EWRAM",0x4872,2,true,nil,nil,nil},
[15]=	{1,"Base Def",0xFFFF8080,"EWRAM",0x487C,2,true,nil,nil,nil},
[16]=	{1,"Base Speed",0xFFFF8080,"EWRAM",0x4876,2,true,nil,nil,nil},
[17]=	{1,"Base Stache",0xFFFF8080,"EWRAM",0x487E,2,true,nil,nil,nil},
[18]=	{0,"Luigi",0xFFB0B0B0},
[19]=	{1,"Experience",0xFF80FF80,"EWRAM",0x4898,3,true,0,946498,1},
[20]=	{1,"Level",0xFF80FF80,"EWRAM",0x48C4,1,true,1,99,1},
[21]=	{1,"HP",0xFF80FF80,"EWRAM",0x48A2,2,true,nil,nil,nil},
[22]=	{1,"HP-Max",0xFF80FF80,"EWRAM",0x48A6,2,true,nil,nil,nil},
[23]=	{1,"BP",0xFF80FF80,"EWRAM",0x48A8,2,true,nil,nil,nil},
[24]=	{1,"BP-Max",0xFF80FF80,"EWRAM",0x48AC,2,true,nil,nil,nil},
[25]=	{1,"Pow",0xFF80FF80,"EWRAM",0x48B0,2,true,nil,nil,nil},
[26]=	{1,"Def",0xFF80FF80,"EWRAM",0x48B8,2,true,nil,nil,nil},
[27]=	{1,"Speed",0xFF80FF80,"EWRAM",0x48B4,2,true,nil,nil,nil},
[28]=	{1,"Stache",0xFF80FF80,"EWRAM",0x48BC,2,true,nil,nil,nil},
[29]=	{1,"Base Max-HP",0xFF80FF80,"EWRAM",0x48A4,2,true,nil,nil,nil},
[30]=	{1,"Base Max-BP",0xFF80FF80,"EWRAM",0x48AA,2,true,nil,nil,nil},
[31]=	{1,"Base Pow",0xFF80FF80,"EWRAM",0x48AE,2,true,nil,nil,nil},
[32]=	{1,"Base Def",0xFF80FF80,"EWRAM",0x48B6,2,true,nil,nil,nil},
[33]=	{1,"Base Speed",0xFF80FF80,"EWRAM",0x48B2,2,true,nil,nil,nil},
[34]=	{1,"Base Stache",0xFF80FF80,"EWRAM",0x48BA,2,true,nil,nil,nil}
}
Are you interested in editing the ROM itself, or editing values on the go? Do you want to edit room layouts, graphics, text too? I'm not particularly interested in making a list. I think my script serves already as a good editor especially in some cases where you can't be straightforward (such as A) when editing savegames, which requires adjusting the checksum, or B) when editing pants/badges, which requires taking into account your equips and the menu order or C) when editing overworld NPCs, which update each time you enter a new room). Maybe you can find resources here: http://s3.zetaboards.com/Lighthouse_of_Yoshi/forum/56810/
Editor, Player (94)
Joined: 5/27/2006
Posts: 239
Thanks, I'll look through your script and the forum you linked.