Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- local addr_roomchangestate
- local addr_roomchangeptr
- local val_roomchangeptr
- local addr_roomgroup
- local addr_roomvalue
- local addr_roomentrance
- romhash = gameinfo.getromhash()
- if romhash == "B9CCA3FF260B9FF427D981626B82F96DE73586D3" then --JAP
- addr_roomchangestate = 0x09E754
- addr_roomchangeptr = 0x156748
- val_roomchangeptr = 0x80035DFC
- addr_roomgroup = 0x07408A
- addr_roomvalue = 0x074090
- addr_roomentrance = 0x074092
- elseif romhash == "3837F44CDA784B466C9A2D99DF70D77C322B97A0" then --USA
- addr_roomchangestate = 0x0A0944
- addr_roomchangeptr = 0x151708
- val_roomchangeptr = 0x8003617C
- addr_roomgroup = 0x0740AA
- addr_roomvalue = 0x0740B0
- addr_roomentrance = 0x0740B2
- elseif romhash == "0" then --EUR
- addr_roomchangestate = 0
- addr_roomchangeptr = 0
- val_roomchangeptr = 0
- addr_roomgroup = 0x0713BA
- addr_roomvalue = 0x0713C0
- addr_roomentrance = 0x0713C2
- else
- print("Unknown Rom")
- print(romhash)
- end
- local rooms = {[0x01]={lastroom=0x07, name="Toad Town"},
- [0x02]={lastroom=0x15, name="Toad Town Tunnels"},
- [0x03]={lastroom=0x01, name="Whale"},
- [0x00]={lastroom=0x10, name="Goomba Road / Misc."},
- [0x08]={lastroom=0x06, name="Mt. Rugged"},
- [0x09]={lastroom=0x01, name="Dry Dry Outpost"},
- [0x0A]={lastroom=0x31, name="Dry Dry Desert"},
- [0x0B]={lastroom=0x10, name="Dry Dry Ruins"},
- [0x07]={lastroom=0x0A, name="Koopa Bros. Fortress"},
- [0x06]={lastroom=0x08, name="Koopa Road"},
- [0x05]={lastroom=0x08, name="Star Way"},
- [0x16]={lastroom=0x31, name="Bowser's Castle"},
- [0x17]={lastroom=0x04, name="Outside Peach's Castle"},
- [0x04]={lastroom=0x18, name="Inside Peach's Castle"},
- [0x11]={lastroom=0x15, name="Jade Jungle"},
- [0x0C]={lastroom=0x0B, name="Forever Forest"},
- [0x0D]={lastroom=0x08, name="Boo's Mansion"},
- [0x0E]={lastroom=0x0A, name="Gusty Gulch"},
- [0x0F]={lastroom=0x12, name="Tubba Blubba's Castle"},
- [0x12]={lastroom=0x10, name="Mt. Lavalava"},
- [0x13]={lastroom=0x13, name="Flower Fields"},
- [0x14]={lastroom=0x0B, name="Shiver Mountain"},
- [0x15]={lastroom=0x1F, name="Crystal Palace"},
- [0x10]={lastroom=0x10, name="Shy Guy's Toy Box"},
- [0x1B]={lastroom=0x08, name="Debug"},
- [0x18]={lastroom=0x01, name="Credits (Crash)"},
- [0x19]={lastroom=0x03, name="Playroom"},
- [0x1A]={lastroom=0x00, name="Game Over"}}
- function handleWarp(room_group, dropdown)
- return function()
- local room_value = tonumber(forms.gettext(dropdown), 16)
- mainmemory.write_u16_be(addr_roomchangestate, 0x0001)
- mainmemory.write_u32_be(addr_roomchangeptr, val_roomchangeptr)
- mainmemory.write_u16_be(addr_roomgroup, room_group)
- mainmemory.write_u16_be(addr_roomvalue, room_value)
- mainmemory.write_u16_be(addr_roomentrance, 0x0000)
- end
- end
- forms.destroyall()
- local warpform = forms.newform(299, 656, "Paper Mario Teleporter")
- local i,j
- for i=0,0x1B do
- local dropdown_values = {}
- for j=0,rooms[i].lastroom do
- dropdown_values[#dropdown_values+1] = string.format("%02X",j)
- end
- forms.label(warpform, rooms[i].name, 0, 5+22*i, 116, 22)
- dropdown = forms.dropdown(warpform, dropdown_values, 116, 1+22*i, 45, 22)
- forms.button(warpform, "Go", handleWarp(i, dropdown), 161, 22*i, 30, 23)
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement