ootAI/build/oot/main.lua

2814 lines
104 KiB
Lua

do
local RedPotionBottle = {
__tag = "RedPotionBottle"
}
local DinsFire = { __tag = "DinsFire" }
local EyeballFrog = {
__tag = "EyeballFrog"
}
local SkullMask = {
__tag = "SkullMask"
}
local NoItem = { __tag = "NoItem" }
local HylianShield = {
__tag = "HylianShield"
}
local EmptyBottle = {
__tag = "EmptyBottle"
}
local FireArrow = {
__tag = "FireArrow"
}
local Prescription = {
__tag = "Prescription"
}
local KeatonMask = {
__tag = "KeatonMask"
}
local function UnknownItem(a)
return { __tag = "UnknownItem", a }
end
local function UnknownBoots(a)
return { __tag = "UnknownBoots", a }
end
local function P(a)
return function(b)
return { __tag = "P", a, b }
end
end
local DekuShield = {
__tag = "DekuShield"
}
local NayrusLove = {
__tag = "NayrusLove"
}
local FairyBow = { __tag = "FairyBow" }
local BrokenGoronsSword = {
__tag = "BrokenGoronsSword"
}
local ZeldasLetter = {
__tag = "ZeldasLetter"
}
local HoverBoots = {
__tag = "HoverBoots"
}
local function S(a)
return function(b)
return { __tag = "S", a, b }
end
end
local NoShield = { __tag = "NoShield" }
local function MkSome(a)
return function(b)
return { __tag = "MkSome", a, b }
end
end
local LightArrow = {
__tag = "LightArrow"
}
local Bomb = { __tag = "Bomb" }
local PoachersSaw = {
__tag = "PoachersSaw"
}
local Chicken = { __tag = "Chicken" }
local IronBoots = {
__tag = "IronBoots"
}
local Proxy = { __tag = "Proxy" }
local FishBottle = {
__tag = "FishBottle"
}
local Bombchu_10 = {
__tag = "Bombchu_10"
}
local FairyBowAndIceArrow = {
__tag = "FairyBowAndIceArrow"
}
local ZoraMask = { __tag = "ZoraMask" }
local function Some(a)
return { __tag = "Some", a }
end
local KokiriTunic = {
__tag = "KokiriTunic"
}
local FairyBottle = {
__tag = "FairyBottle"
}
local OcarinaOfTime = {
__tag = "OcarinaOfTime"
}
local FairyBowAndFireArrow = {
__tag = "FairyBowAndFireArrow"
}
local GoronMask = {
__tag = "GoronMask"
}
local BluePotionBottle = {
__tag = "BluePotionBottle"
}
local FairyOcarina = {
__tag = "FairyOcarina"
}
local ClaimCheck = {
__tag = "ClaimCheck"
}
local BunnyHood = {
__tag = "BunnyHood"
}
local GreenPotionBottle = {
__tag = "GreenPotionBottle"
}
local FairySlingshot = {
__tag = "FairySlingshot"
}
local EyeDrops = { __tag = "EyeDrops" }
local SpookyMask = {
__tag = "SpookyMask"
}
local MirrorShield = {
__tag = "MirrorShield"
}
local BugBottle = {
__tag = "BugBottle"
}
local FaroresWind = {
__tag = "FaroresWind"
}
local GoronsSword = {
__tag = "GoronsSword"
}
local Nil = { __tag = "Nil" }
local PocketEgg = {
__tag = "PocketEgg"
}
local NoSword = { __tag = "NoSword" }
local BlueFireBottle = {
__tag = "BlueFireBottle"
}
local IceArrow = { __tag = "IceArrow" }
local MasterSword0 = {
__tag = "MasterSword0"
}
local SoldOut = { __tag = "SoldOut" }
local function UnknownTunic(a)
return { __tag = "UnknownTunic", a }
end
local RutosLetterBottle = {
__tag = "RutosLetterBottle"
}
local Longshot = { __tag = "Longshot" }
local KokiriSword0 = {
__tag = "KokiriSword0"
}
local MaskOfTruth = {
__tag = "MaskOfTruth"
}
local ZoraTunic = {
__tag = "ZoraTunic"
}
local FullMilkBottle = {
__tag = "FullMilkBottle"
}
local Hookshot = { __tag = "Hookshot" }
local FairyBowAndLightArrow = {
__tag = "FairyBowAndLightArrow"
}
local GerudoMask = {
__tag = "GerudoMask"
}
local None = { __tag = "None" }
local GoronTunic = {
__tag = "GoronTunic"
}
local WeirdEgg = { __tag = "WeirdEgg" }
local MegatonHammer = {
__tag = "MegatonHammer"
}
local OddPotion = {
__tag = "OddPotion"
}
local DekuNut = { __tag = "DekuNut" }
local KokiriBoots = {
__tag = "KokiriBoots"
}
local PoeBottle = {
__tag = "PoeBottle"
}
local function _TypeRep(x)
return {
{
name = x.name .. "#" .. x.fingerprint
},
__tag = "TypeRep"
}
end
local MagicBean = {
__tag = "MagicBean"
}
local OddMushroom = {
__tag = "OddMushroom"
}
local DekuStick = {
__tag = "DekuStick"
}
local BiggoronsSword = {
__tag = "BiggoronsSword"
}
local HalfMilkBottle = {
__tag = "HalfMilkBottle"
}
local function __eq_type_rep(tr_a, tr_b, keq, kne)
if tr_a[1].name == tr_b[1].name then
return keq()()
else
return kne()
end
end
local LensOfTruth = {
__tag = "LensOfTruth"
}
local Cojiro = { __tag = "Cojiro" }
local function Array(a)
return { __tag = "Array", a }
end
local MasterSword = {
__tag = "MasterSword"
}
local BigPoeBottle = {
__tag = "BigPoeBottle"
}
local function _Typeable_app(pair)
local ta, tb = pair._1[1], pair._2[1]
return {
{
name = "(" .. ta.name .. ") :$ (" .. tb.name .. ")"
},
__tag = "TypeRep"
}
end
local Boomerang = {
__tag = "Boomerang"
}
local PocketCucco = {
__tag = "PocketCucco"
}
local KokiriSword = {
__tag = "KokiriSword"
}
local string_of_int = tostring
local function _dollarshow(htw)
local function loop(acc, x)
if x.__tag ~= "Cons" then
return acc .. "]"
end
local tmp = x[1]
local x0, xs = tmp._1, tmp._2
if acc == "" then
return loop(htw(x0), xs)
end
return loop(acc .. ", " .. htw(x0), xs)
end
return function(x)
return "[" .. loop("", x)
end
end
local function _colon_colon(x)
return function(xs)
return {
{ _1 = x, _2 = xs },
__tag = "Cons"
}
end
end
local function _dollardExceptionlxh(tmp)
return {
from_exception = function(x)
return Some(x)
end,
["Exception$lmq"] = _Typeable_app({
_1 = (function(tmp0)
return _TypeRep({
fingerprint = 271,
name = "some"
})
end)(),
_2 = (function(tmp0)
return _TypeRep({
fingerprint = 276,
name = "exception"
})
end)()
}),
describe_exception = function(tmp0)
return tmp0[1].describe_exception(tmp0[2])
end,
into_exception = function(x)
return x
end
}
end
local function from_exception(mqy, mtr)
local tmp = (function(tmp)
return _TypeRep({
fingerprint = 304,
name = "user_error"
})
end)()
local x = mtr[2]
return __eq_type_rep((function()
return mtr[1]["Exception$lmq"]
end)(Proxy), (function()
return tmp
end)(Proxy), function(tmp0)
return function(tmp1) return Some(x) end
end, function(tmp0) return None end)
end
local function from_exception0(mqy)
return function(mtr)
return from_exception(mqy, mtr)
end
end
local function _dollardExceptionmqb(tmp)
return {
describe_exception = function(tmp0)
return "User error: " .. tmp0
end,
["Exception$lmq"] = (function(tmp0)
return _TypeRep({
fingerprint = 304,
name = "user_error"
})
end)(),
into_exception = function(muh)
return MkSome(_dollardExceptionmqb(nil))(muh)
end,
from_exception = from_exception0(tmp)
}
end
local function from_exception1(npl, nse)
local x = nse[2]
local tmp = (function(tmp)
return _TypeRep({
fingerprint = 314,
name = "invalid_arg"
})
end)()
return __eq_type_rep((function()
return nse[1]["Exception$lmq"]
end)(Proxy), (function()
return tmp
end)(Proxy), function(tmp0)
return function(tmp1) return Some(x) end
end, function(tmp0) return None end)
end
local function from_exception2(npl)
return function(nse)
return from_exception1(npl, nse)
end
end
local function _dollardExceptionnoo(tmp)
return {
into_exception = function(nsu)
return MkSome(_dollardExceptionnoo(nil))(nsu)
end,
from_exception = from_exception2(tmp),
describe_exception = function(tmp0)
return "Invalid argument to function " .. tmp0
end,
["Exception$lmq"] = (function(tmp0)
return _TypeRep({
fingerprint = 314,
name = "invalid_arg"
})
end)()
}
end
local function _dollarfoldr(uxs)
return function(f)
return function(z)
local function loop(k, x)
if x.__tag ~= "Cons" then
return k(z)
end
local tmp = x[1]
local x0 = tmp._1
return loop(function(r)
return k(f(x0)(r))
end, tmp._2)
end
return function(x)
return loop(function(x0)
return x0
end, x)
end
end
end
end
local _dollardFoldableuws, foldl1, foldl10
_dollardFoldableuws = function(tmp)
return {
foldl1 = foldl1(tmp),
foldr = _dollarfoldr(tmp),
["Foldable$ueq"] = function(f)
return function(xs)
local function biu(xss)
if xss.__tag ~= "Cons" then
return Nil
end
local tmp0 = xss[1]
return {
{ _1 = f(tmp0._1), _2 = biu(tmp0._2) },
__tag = "Cons"
}
end
return biu(xs)
end
end,
foldl = function(f)
local function loop(z)
return function(x)
if x.__tag ~= "Cons" then return z end
local tmp0 = x[1]
return loop(f(z)(tmp0._1))(tmp0._2)
end
end
return loop
end
}
end
foldl1 = function(uxs)
return function(vji)
return function(vjj)
return foldl10(uxs, vji, vjj)
end
end
end
foldl10 = function(uxs, vji, vjj)
local tmp = _dollardFoldableuws(nil).foldl(function(m)
return function(y)
if m.__tag == "None" then
return Some(y)
end
return Some(vji(m[1])(y))
end
end)(None)(vjj)
if tmp.__tag == "None" then
return error(setmetatable(_dollardExceptionmqb(nil).into_exception("foldl1: empty structure"), {
__tostring = _dollardExceptionlxh(nil).describe_exception
}))
end
return tmp[1]
end
local io_stdout = io.stdout
local io_stderr = io.stderr
local io_stdin = io.stdin
local read_value_8 = ReadValue8
local read_value_16 = ReadValue16
local read_value_32 = ReadValue32
local set_screen_text = SetScreenText
local tabulate = function(index, cont)
local r = {}
for i = 1 , index , 1 do
r[i] = cont(i)
end
return r
end
local geti = rawget
local function init(len, gen)
if not (len < 0) then
return Array({
length = len,
backing = tabulate(len, function(i)
return gen(i - 1)
end)
})
end
error(setmetatable(_dollardExceptionnoo(nil).into_exception("init: can't initialise array of size " .. string_of_int(len)), {
__tostring = _dollardExceptionlxh(nil).describe_exception
}))
return Array({
length = len,
backing = tabulate(len, function(i)
return gen(i - 1)
end)
})
end
local function _dollarfoldl(aptq)
return function(func)
return function(acc)
return function(tmp)
local tmp0 = tmp[1]
local backing, length = tmp0.backing, tmp0.length
local function loop(acc0, i)
if i > length then return acc0 end
return loop(func(acc0)(geti(backing, i)), i + 1)
end
return loop(acc, 1)
end
end
end
end
local function _dollarfoldr0(aptq)
return function(func)
return function(acc)
return function(tmp)
local tmp0 = tmp[1]
local backing = tmp0.backing
local function loop(acc0, i)
if i < 1 then return acc0 end
return loop(func(geti(backing, i))(acc0), i - 1)
end
return loop(acc, tmp0.length)
end
end
end
end
local _dollardFoldableapsn, foldl11, foldl12
_dollardFoldableapsn = function(tmp)
return {
foldl1 = foldl11(tmp),
foldr = _dollarfoldr0(tmp),
foldl = _dollarfoldl(tmp),
["Foldable$ueq"] = function(f)
return function(tmp0)
local tmp1 = tmp0[1]
local backing, length = tmp1.backing, tmp1.length
return Array({
length = length,
backing = tabulate(length, function(i)
return f(geti(backing, i))
end)
})
end
end
}
end
foldl11 = function(aptq)
return function(aqhu)
return function(aqhv)
return foldl12(aptq, aqhu, aqhv)
end
end
end
foldl12 = function(aptq, aqhu, aqhv)
local tmp = _dollardFoldableapsn(nil).foldl(function(m)
return function(y)
if m.__tag == "None" then
return Some(y)
end
return Some(aqhu(m[1])(y))
end
end)(None)(aqhv)
if tmp.__tag == "None" then
return error(setmetatable(_dollardExceptionmqb(nil).into_exception("foldl1: empty structure"), {
__tostring = _dollardExceptionlxh(nil).describe_exception
}))
end
return tmp[1]
end
local function pretty_from_record(ahma, a, w)
local function smul(s, n)
if n <= 0 then return "" end
return s .. smul(s, n - 1)
end
local prep = smul(" ", w)
local rf = ahma.fields(a)
local x = w + 2
return ahma.name(a) .. " {\n" .. _dollardFoldableuws(nil).foldl(function(acc)
return function(f)
local name = f._1
local field = f._2
if field.__tag == "S" then
return acc .. prep .. " " .. (name .. " = " .. field[1](field[2])) .. ",\n"
end
return acc .. prep .. " " .. (name .. " = " .. field[1](field[2])(x)) .. ",\n"
end
end)("")(rf) .. prep .. "}"
end
local function pretty_from_record0(ahma)
return function(a)
return function(w)
return pretty_from_record(ahma, a, w)
end
end
end
local function _dollardecode(asjd, addr)
local tmp2 = init(24, function(i)
return read_value_8(addr + i)
end)
local tmp4 = init(16, function(i)
local u8 = read_value_8(addr + 24 + i)
if u8 > 255 then
return 0 - (256 - u8)
end
return u8
end)
local tmp3 = read_value_16(addr + 40)
local tmp = read_value_32(addr + 44)
local tmp5 = read_value_32(addr + 48)
local tmp0 = init(20, function(i)
return read_value_8(addr + 52 + i)
end)
local tmp1 = init(19, function(i)
local u8 = read_value_8(addr + 72 + i)
if u8 > 255 then
return 0 - (256 - u8)
end
return u8
end)
local u8 = read_value_8(addr + 91)
local function tmp6(tmp6)
local u16 = read_value_16(addr + 92)
if u16 > 65535 then
return {
items = tmp2,
ammo = tmp4,
equipment = tmp3,
upgrades = tmp,
quest_items = tmp5,
dungeon_items = tmp0,
dungeon_keys = tmp1,
defense_hearts = tmp6,
gs_tokens = 0 - (65536 - u16)
}
end
return {
items = tmp2,
ammo = tmp4,
equipment = tmp3,
upgrades = tmp,
quest_items = tmp5,
dungeon_items = tmp0,
dungeon_keys = tmp1,
defense_hearts = tmp6,
gs_tokens = u16
}
end
if u8 > 255 then
return tmp6(0 - (256 - u8))
end
return tmp6(u8)
end
local function _dollarfields(assv, tmp)
local function tmp0(tmp0)
return string_of_int(tmp0) .. "_u8"
end
local function tmp2(tmp2)
return string_of_int(tmp2) .. "_u8"
end
local function tmp3(tmp3)
return string_of_int(tmp3) .. "_s8"
end
local function tmp1(tmp1)
return string_of_int(tmp1) .. "_s8"
end
return {
{
_1 = {
_1 = "items",
_2 = S(function(arr)
return "to_list " .. _dollarshow(tmp0)(_dollardFoldableapsn(nil).foldr(_colon_colon)(Nil)(arr))
end)(tmp.items)
},
_2 = {
{
_2 = {
{
_1 = {
_1 = "equipment",
_2 = S(function(tmp2)
return string_of_int(tmp2) .. "_u16"
end)(tmp.equipment)
},
_2 = {
{
_2 = {
{
_2 = {
{
_1 = {
_1 = "dungeon_items",
_2 = S(function(arr)
return "to_list " .. _dollarshow(tmp2)(_dollardFoldableapsn(nil).foldr(_colon_colon)(Nil)(arr))
end)(tmp.dungeon_items)
},
_2 = {
{
_1 = {
_1 = "dungeon_keys",
_2 = S(function(arr)
return "to_list " .. _dollarshow(tmp3)(_dollardFoldableapsn(nil).foldr(_colon_colon)(Nil)(arr))
end)(tmp.dungeon_keys)
},
_2 = {
{
_2 = {
{
_1 = {
_1 = "gs_tokens",
_2 = S(function(tmp4)
return string_of_int(tmp4) .. "_s16"
end)(tmp.gs_tokens)
},
_2 = Nil
},
__tag = "Cons"
},
_1 = {
_1 = "defense_hearts",
_2 = S(function(tmp4)
return string_of_int(tmp4) .. "_s8"
end)(tmp.defense_hearts)
}
},
__tag = "Cons"
}
},
__tag = "Cons"
}
},
__tag = "Cons"
},
_1 = {
_1 = "quest_items",
_2 = S(function(tmp2)
return string_of_int(tmp2) .. "_u32"
end)(tmp.quest_items)
}
},
__tag = "Cons"
},
_1 = {
_1 = "upgrades",
_2 = S(function(tmp2)
return string_of_int(tmp2) .. "_u32"
end)(tmp.upgrades)
}
},
__tag = "Cons"
}
},
__tag = "Cons"
},
_1 = {
_1 = "ammo",
_2 = S(function(arr)
return "to_list " .. _dollarshow(tmp1)(_dollardFoldableapsn(nil).foldr(_colon_colon)(Nil)(arr))
end)(tmp.ammo)
}
},
__tag = "Cons"
}
},
__tag = "Cons"
}
end
local _dot_greater_greater_dot = function(a, b) return a >> b end
local _dot_amp_dot = function(a, b) return a & b end
local function _dollardecode0(allb, addr)
local code = read_value_16(addr)
local sword_index = _dot_amp_dot(_dot_greater_greater_dot(code, 0), 15)
local shield_index = _dot_amp_dot(_dot_greater_greater_dot(code, 4), 15)
local tunic_index = _dot_amp_dot(_dot_greater_greater_dot(code, 8), 15)
local boots_index = _dot_amp_dot(_dot_greater_greater_dot(code, 12), 15)
local function tmp(tmp)
local function tmp0(tmp0)
if tunic_index == 1 then
if boots_index == 1 then
return {
sword = tmp,
shield = tmp0,
tunic = KokiriTunic,
boots = KokiriBoots
}
elseif boots_index == 2 then
return {
sword = tmp,
shield = tmp0,
tunic = KokiriTunic,
boots = IronBoots
}
elseif boots_index == 3 then
return {
sword = tmp,
shield = tmp0,
tunic = KokiriTunic,
boots = HoverBoots
}
else
return {
sword = tmp,
shield = tmp0,
tunic = KokiriTunic,
boots = UnknownBoots(boots_index)
}
end
elseif tunic_index == 2 then
if boots_index == 1 then
return {
sword = tmp,
shield = tmp0,
tunic = GoronTunic,
boots = KokiriBoots
}
elseif boots_index == 2 then
return {
sword = tmp,
shield = tmp0,
tunic = GoronTunic,
boots = IronBoots
}
elseif boots_index == 3 then
return {
sword = tmp,
shield = tmp0,
tunic = GoronTunic,
boots = HoverBoots
}
else
return {
sword = tmp,
shield = tmp0,
tunic = GoronTunic,
boots = UnknownBoots(boots_index)
}
end
elseif tunic_index == 3 then
if boots_index == 1 then
return {
sword = tmp,
shield = tmp0,
tunic = ZoraTunic,
boots = KokiriBoots
}
elseif boots_index == 2 then
return {
sword = tmp,
shield = tmp0,
tunic = ZoraTunic,
boots = IronBoots
}
elseif boots_index == 3 then
return {
sword = tmp,
shield = tmp0,
tunic = ZoraTunic,
boots = HoverBoots
}
else
return {
sword = tmp,
shield = tmp0,
tunic = ZoraTunic,
boots = UnknownBoots(boots_index)
}
end
else
local tmp1 = UnknownTunic(tunic_index)
if boots_index == 1 then
return {
sword = tmp,
shield = tmp0,
tunic = tmp1,
boots = KokiriBoots
}
elseif boots_index == 2 then
return {
sword = tmp,
shield = tmp0,
tunic = tmp1,
boots = IronBoots
}
elseif boots_index == 3 then
return {
sword = tmp,
shield = tmp0,
tunic = tmp1,
boots = HoverBoots
}
else
return {
sword = tmp,
shield = tmp0,
tunic = tmp1,
boots = UnknownBoots(boots_index)
}
end
end
end
if shield_index == 0 then
return tmp0(NoShield)
elseif shield_index == 1 then
return tmp0(DekuShield)
elseif shield_index == 2 then
return tmp0(HylianShield)
elseif shield_index == 3 then
return tmp0(MirrorShield)
else
return error("Pattern matching failure in match expression at oot\\equipment.ml[41:25 ..45:19]")
end
end
if sword_index == 0 then
return tmp(NoSword)
elseif sword_index == 1 then
return tmp(KokiriSword)
elseif sword_index == 2 then
return tmp(MasterSword)
elseif sword_index == 3 then
return tmp(BiggoronsSword)
else
return error("Pattern matching failure in match expression at oot\\equipment.ml[21:24 ..25:21]")
end
end
local function _dollarfields0(alrp, tmp)
return {
{
_2 = {
{
_2 = {
{
_2 = {
{
_2 = Nil,
_1 = {
_1 = "boots",
_2 = S(function(x)
if x.__tag == "KokiriBoots" then
return "Kokiri Boots"
elseif x.__tag == "IronBoots" then
return "Iron Boots"
elseif x.__tag == "HoverBoots" then
return "Hover Boots"
elseif x.__tag == "UnknownBoots" then
return "Unknown Boots " .. string_of_int(x[1])
end
end)(tmp.boots)
}
},
__tag = "Cons"
},
_1 = {
_1 = "tunic",
_2 = S(function(x)
if x.__tag == "GoronTunic" then
return "Goron Tunic"
elseif x.__tag == "ZoraTunic" then
return "Zora Tunic"
elseif x.__tag == "UnknownTunic" then
return "Unknown Tunic " .. string_of_int(x[1])
elseif x.__tag == "KokiriTunic" then
return "Kokiri Tunic"
end
end)(tmp.tunic)
}
},
__tag = "Cons"
},
_1 = {
_1 = "shield",
_2 = S(function(x)
if x.__tag == "MirrorShield" then
return "Mirror Shield"
elseif x.__tag == "NoShield" then
return "No Shield"
elseif x.__tag == "DekuShield" then
return "Deku Shield"
elseif x.__tag == "HylianShield" then
return "Hylian Shield"
end
end)(tmp.shield)
}
},
__tag = "Cons"
},
_1 = {
_1 = "sword",
_2 = S(function(x)
if x.__tag == "KokiriSword" then
return "Kokiri Sword"
elseif x.__tag == "MasterSword" then
return "Master Sword"
elseif x.__tag == "BiggoronsSword" then
return "Biggoron's Sword"
elseif x.__tag == "NoSword" then
return "No Sword"
end
end)(tmp.sword)
}
},
__tag = "Cons"
}
end
local function _dollardShowakjw(tmp)
return function(x)
if x.__tag == "PocketCucco" then
return "Pocket Cucco"
elseif x.__tag == "Boomerang" then
return "Boomerang"
elseif x.__tag == "BigPoeBottle" then
return "Big Poe"
elseif x.__tag == "Cojiro" then
return "Cojiro"
elseif x.__tag == "LensOfTruth" then
return "Lens of Truth"
elseif x.__tag == "HalfMilkBottle" then
return "Half Lon Lon Milk"
elseif x.__tag == "DekuStick" then
return "Deku Stick"
elseif x.__tag == "OddMushroom" then
return "Odd Mushroom"
elseif x.__tag == "MagicBean" then
return "Magic Bean"
elseif x.__tag == "PoeBottle" then
return "Poe"
elseif x.__tag == "DekuNut" then
return "Deku Nut"
elseif x.__tag == "OddPotion" then
return "Odd Potion"
elseif x.__tag == "MegatonHammer" then
return "Megaton Hammer"
elseif x.__tag == "WeirdEgg" then
return "Weird Egg"
elseif x.__tag == "GerudoMask" then
return "Gerudo Mask"
elseif x.__tag == "FairyBowAndLightArrow" then
return "Fairy Bow & Light Arrow"
elseif x.__tag == "Hookshot" then
return "Hookshot"
elseif x.__tag == "FullMilkBottle" then
return "Lon Lon Milk"
elseif x.__tag == "MaskOfTruth" then
return "Mask of Truth"
elseif x.__tag == "KokiriSword0" then
return "Kokiri Sword"
elseif x.__tag == "Longshot" then
return "Longshot"
elseif x.__tag == "RutosLetterBottle" then
return "Ruto's Letter"
elseif x.__tag == "SoldOut" then
return "SOLD OUT"
elseif x.__tag == "MasterSword0" then
return "Master Sword"
elseif x.__tag == "IceArrow" then
return "Ice Arrow"
elseif x.__tag == "BlueFireBottle" then
return "Blue Fire"
elseif x.__tag == "PocketEgg" then
return "Pocket Egg"
elseif x.__tag == "GoronsSword" then
return "Giant's Knife & Biggoron's Sword"
elseif x.__tag == "FaroresWind" then
return "Farore's Wind"
elseif x.__tag == "BugBottle" then
return "Bug"
elseif x.__tag == "SpookyMask" then
return "Spooky Mask"
elseif x.__tag == "EyeDrops" then
return "Eye Drops"
elseif x.__tag == "FairySlingshot" then
return "Fairy Slingshot"
elseif x.__tag == "GreenPotionBottle" then
return "Green Potion"
elseif x.__tag == "BunnyHood" then
return "Bunny Hood"
elseif x.__tag == "ClaimCheck" then
return "Claim Check"
elseif x.__tag == "FairyOcarina" then
return "Fairy Ocarina"
elseif x.__tag == "BluePotionBottle" then
return "Blue Potion"
elseif x.__tag == "GoronMask" then
return "Goron Mask"
elseif x.__tag == "FairyBowAndFireArrow" then
return "Fairy Bow & Fire Arrow"
elseif x.__tag == "OcarinaOfTime" then
return "Ocarina of Time"
elseif x.__tag == "FairyBottle" then
return "Bottled Fairy"
elseif x.__tag == "ZoraMask" then
return "Zora Mask"
elseif x.__tag == "FairyBowAndIceArrow" then
return "Fairy Bow & Ice Arrow"
elseif x.__tag == "Bombchu_10" then
return "Bombchu (10)"
elseif x.__tag == "FishBottle" then
return "Fish"
elseif x.__tag == "Chicken" then
return "Chicken"
elseif x.__tag == "PoachersSaw" then
return "Poacher's Saw"
elseif x.__tag == "Bomb" then
return "Bomb"
elseif x.__tag == "LightArrow" then
return "Light Arrow"
elseif x.__tag == "ZeldasLetter" then
return "Zelda's Letter"
elseif x.__tag == "BrokenGoronsSword" then
return "Broken Giant's Knife"
elseif x.__tag == "FairyBow" then
return "Fairy Bow"
elseif x.__tag == "NayrusLove" then
return "Nayru's Love"
elseif x.__tag == "UnknownItem" then
return "Unknown Item " .. string_of_int(x[1])
elseif x.__tag == "KeatonMask" then
return "Keaton Mask"
elseif x.__tag == "Prescription" then
return "Prescription"
elseif x.__tag == "FireArrow" then
return "Fire Arrow"
elseif x.__tag == "EmptyBottle" then
return "Empty Bottle"
elseif x.__tag == "NoItem" then
return "No Item"
elseif x.__tag == "SkullMask" then
return "Skull Mask"
elseif x.__tag == "EyeballFrog" then
return "Eyeball Frog"
elseif x.__tag == "DinsFire" then
return "Din's Fire"
elseif x.__tag == "RedPotionBottle" then
return "Red Potion"
else
return error("Pattern matching failure in match expression at oot\\item.ml[232:14 ..296:53]")
end
end
end
local function _dollardecode1(alyz, addr)
local code = read_value_8(addr)
local function tmp(tmp)
local code = read_value_8(addr + 1)
local function tmp0(tmp0)
local code = read_value_8(addr + 2)
local function tmp1(tmp1)
local code = read_value_8(addr + 3)
if code == 0 then
return {
button_slot_c_left = read_value_8(addr + 4),
button_slot_c_down = read_value_8(addr + 5),
button_slot_c_right = read_value_8(addr + 6),
equipment = _dollardecode0(nil, addr + 8),
button_item_b = tmp,
button_item_c_left = tmp0,
button_item_c_down = tmp1,
button_item_c_right = DekuStick
}
elseif code == 1 then
return {
button_slot_c_left = read_value_8(addr + 4),
button_slot_c_down = read_value_8(addr + 5),
button_slot_c_right = read_value_8(addr + 6),
equipment = _dollardecode0(nil, addr + 8),
button_item_b = tmp,
button_item_c_left = tmp0,
button_item_c_down = tmp1,
button_item_c_right = DekuNut
}
elseif code == 2 then
return {
button_slot_c_left = read_value_8(addr + 4),
button_slot_c_down = read_value_8(addr + 5),
button_slot_c_right = read_value_8(addr + 6),
equipment = _dollardecode0(nil, addr + 8),
button_item_b = tmp,
button_item_c_left = tmp0,
button_item_c_down = tmp1,
button_item_c_right = Bomb
}
elseif code == 3 then
return {
button_slot_c_left = read_value_8(addr + 4),
button_slot_c_down = read_value_8(addr + 5),
button_slot_c_right = read_value_8(addr + 6),
equipment = _dollardecode0(nil, addr + 8),
button_item_b = tmp,
button_item_c_left = tmp0,
button_item_c_down = tmp1,
button_item_c_right = FairyBow
}
elseif code == 4 then
return {
button_slot_c_left = read_value_8(addr + 4),
button_slot_c_down = read_value_8(addr + 5),
button_slot_c_right = read_value_8(addr + 6),
equipment = _dollardecode0(nil, addr + 8),
button_item_b = tmp,
button_item_c_left = tmp0,
button_item_c_down = tmp1,
button_item_c_right = FireArrow
}
elseif code == 5 then
return {
button_slot_c_left = read_value_8(addr + 4),
button_slot_c_down = read_value_8(addr + 5),
button_slot_c_right = read_value_8(addr + 6),
equipment = _dollardecode0(nil, addr + 8),
button_item_b = tmp,
button_item_c_left = tmp0,
button_item_c_down = tmp1,
button_item_c_right = DinsFire
}
elseif code == 6 then
return {
button_slot_c_left = read_value_8(addr + 4),
button_slot_c_down = read_value_8(addr + 5),
button_slot_c_right = read_value_8(addr + 6),
equipment = _dollardecode0(nil, addr + 8),
button_item_b = tmp,
button_item_c_left = tmp0,
button_item_c_down = tmp1,
button_item_c_right = FairySlingshot
}
elseif code == 7 then
return {
button_slot_c_left = read_value_8(addr + 4),
button_slot_c_down = read_value_8(addr + 5),
button_slot_c_right = read_value_8(addr + 6),
equipment = _dollardecode0(nil, addr + 8),
button_item_b = tmp,
button_item_c_left = tmp0,
button_item_c_down = tmp1,
button_item_c_right = FairyOcarina
}
elseif code == 8 then
return {
button_slot_c_left = read_value_8(addr + 4),
button_slot_c_down = read_value_8(addr + 5),
button_slot_c_right = read_value_8(addr + 6),
equipment = _dollardecode0(nil, addr + 8),
button_item_b = tmp,
button_item_c_left = tmp0,
button_item_c_down = tmp1,
button_item_c_right = OcarinaOfTime
}
elseif code == 9 then
return {
button_slot_c_left = read_value_8(addr + 4),
button_slot_c_down = read_value_8(addr + 5),
button_slot_c_right = read_value_8(addr + 6),
equipment = _dollardecode0(nil, addr + 8),
button_item_b = tmp,
button_item_c_left = tmp0,
button_item_c_down = tmp1,
button_item_c_right = Bombchu_10
}
elseif code == 10 then
return {
button_slot_c_left = read_value_8(addr + 4),
button_slot_c_down = read_value_8(addr + 5),
button_slot_c_right = read_value_8(addr + 6),
equipment = _dollardecode0(nil, addr + 8),
button_item_b = tmp,
button_item_c_left = tmp0,
button_item_c_down = tmp1,
button_item_c_right = Hookshot
}
elseif code == 11 then
return {
button_slot_c_left = read_value_8(addr + 4),
button_slot_c_down = read_value_8(addr + 5),
button_slot_c_right = read_value_8(addr + 6),
equipment = _dollardecode0(nil, addr + 8),
button_item_b = tmp,
button_item_c_left = tmp0,
button_item_c_down = tmp1,
button_item_c_right = Longshot
}
elseif code == 12 then
return {
button_slot_c_left = read_value_8(addr + 4),
button_slot_c_down = read_value_8(addr + 5),
button_slot_c_right = read_value_8(addr + 6),
equipment = _dollardecode0(nil, addr + 8),
button_item_b = tmp,
button_item_c_left = tmp0,
button_item_c_down = tmp1,
button_item_c_right = IceArrow
}
elseif code == 13 then
return {
button_slot_c_left = read_value_8(addr + 4),
button_slot_c_down = read_value_8(addr + 5),
button_slot_c_right = read_value_8(addr + 6),
equipment = _dollardecode0(nil, addr + 8),
button_item_b = tmp,
button_item_c_left = tmp0,
button_item_c_down = tmp1,
button_item_c_right = FaroresWind
}
elseif code == 14 then
return {
button_slot_c_left = read_value_8(addr + 4),
button_slot_c_down = read_value_8(addr + 5),
button_slot_c_right = read_value_8(addr + 6),
equipment = _dollardecode0(nil, addr + 8),
button_item_b = tmp,
button_item_c_left = tmp0,
button_item_c_down = tmp1,
button_item_c_right = Boomerang
}
elseif code == 15 then
return {
button_slot_c_left = read_value_8(addr + 4),
button_slot_c_down = read_value_8(addr + 5),
button_slot_c_right = read_value_8(addr + 6),
equipment = _dollardecode0(nil, addr + 8),
button_item_b = tmp,
button_item_c_left = tmp0,
button_item_c_down = tmp1,
button_item_c_right = LensOfTruth
}
elseif code == 16 then
return {
button_slot_c_left = read_value_8(addr + 4),
button_slot_c_down = read_value_8(addr + 5),
button_slot_c_right = read_value_8(addr + 6),
equipment = _dollardecode0(nil, addr + 8),
button_item_b = tmp,
button_item_c_left = tmp0,
button_item_c_down = tmp1,
button_item_c_right = MagicBean
}
elseif code == 17 then
return {
button_slot_c_left = read_value_8(addr + 4),
button_slot_c_down = read_value_8(addr + 5),
button_slot_c_right = read_value_8(addr + 6),
equipment = _dollardecode0(nil, addr + 8),
button_item_b = tmp,
button_item_c_left = tmp0,
button_item_c_down = tmp1,
button_item_c_right = MegatonHammer
}
elseif code == 18 then
return {
button_slot_c_left = read_value_8(addr + 4),
button_slot_c_down = read_value_8(addr + 5),
button_slot_c_right = read_value_8(addr + 6),
equipment = _dollardecode0(nil, addr + 8),
button_item_b = tmp,
button_item_c_left = tmp0,
button_item_c_down = tmp1,
button_item_c_right = LightArrow
}
elseif code == 19 then
return {
button_slot_c_left = read_value_8(addr + 4),
button_slot_c_down = read_value_8(addr + 5),
button_slot_c_right = read_value_8(addr + 6),
equipment = _dollardecode0(nil, addr + 8),
button_item_b = tmp,
button_item_c_left = tmp0,
button_item_c_down = tmp1,
button_item_c_right = NayrusLove
}
elseif code == 20 then
return {
button_slot_c_left = read_value_8(addr + 4),
button_slot_c_down = read_value_8(addr + 5),
button_slot_c_right = read_value_8(addr + 6),
equipment = _dollardecode0(nil, addr + 8),
button_item_b = tmp,
button_item_c_left = tmp0,
button_item_c_down = tmp1,
button_item_c_right = EmptyBottle
}
elseif code == 21 then
return {
button_slot_c_left = read_value_8(addr + 4),
button_slot_c_down = read_value_8(addr + 5),
button_slot_c_right = read_value_8(addr + 6),
equipment = _dollardecode0(nil, addr + 8),
button_item_b = tmp,
button_item_c_left = tmp0,
button_item_c_down = tmp1,
button_item_c_right = RedPotionBottle
}
elseif code == 22 then
return {
button_slot_c_left = read_value_8(addr + 4),
button_slot_c_down = read_value_8(addr + 5),
button_slot_c_right = read_value_8(addr + 6),
equipment = _dollardecode0(nil, addr + 8),
button_item_b = tmp,
button_item_c_left = tmp0,
button_item_c_down = tmp1,
button_item_c_right = GreenPotionBottle
}
elseif code == 23 then
return {
button_slot_c_left = read_value_8(addr + 4),
button_slot_c_down = read_value_8(addr + 5),
button_slot_c_right = read_value_8(addr + 6),
equipment = _dollardecode0(nil, addr + 8),
button_item_b = tmp,
button_item_c_left = tmp0,
button_item_c_down = tmp1,
button_item_c_right = BluePotionBottle
}
elseif code == 24 then
return {
button_slot_c_left = read_value_8(addr + 4),
button_slot_c_down = read_value_8(addr + 5),
button_slot_c_right = read_value_8(addr + 6),
equipment = _dollardecode0(nil, addr + 8),
button_item_b = tmp,
button_item_c_left = tmp0,
button_item_c_down = tmp1,
button_item_c_right = FairyBottle
}
elseif code == 25 then
return {
button_slot_c_left = read_value_8(addr + 4),
button_slot_c_down = read_value_8(addr + 5),
button_slot_c_right = read_value_8(addr + 6),
equipment = _dollardecode0(nil, addr + 8),
button_item_b = tmp,
button_item_c_left = tmp0,
button_item_c_down = tmp1,
button_item_c_right = FishBottle
}
elseif code == 26 then
return {
button_slot_c_left = read_value_8(addr + 4),
button_slot_c_down = read_value_8(addr + 5),
button_slot_c_right = read_value_8(addr + 6),
equipment = _dollardecode0(nil, addr + 8),
button_item_b = tmp,
button_item_c_left = tmp0,
button_item_c_down = tmp1,
button_item_c_right = FullMilkBottle
}
elseif code == 27 then
return {
button_slot_c_left = read_value_8(addr + 4),
button_slot_c_down = read_value_8(addr + 5),
button_slot_c_right = read_value_8(addr + 6),
equipment = _dollardecode0(nil, addr + 8),
button_item_b = tmp,
button_item_c_left = tmp0,
button_item_c_down = tmp1,
button_item_c_right = RutosLetterBottle
}
elseif code == 28 then
return {
button_slot_c_left = read_value_8(addr + 4),
button_slot_c_down = read_value_8(addr + 5),
button_slot_c_right = read_value_8(addr + 6),
equipment = _dollardecode0(nil, addr + 8),
button_item_b = tmp,
button_item_c_left = tmp0,
button_item_c_down = tmp1,
button_item_c_right = BlueFireBottle
}
elseif code == 29 then
return {
button_slot_c_left = read_value_8(addr + 4),
button_slot_c_down = read_value_8(addr + 5),
button_slot_c_right = read_value_8(addr + 6),
equipment = _dollardecode0(nil, addr + 8),
button_item_b = tmp,
button_item_c_left = tmp0,
button_item_c_down = tmp1,
button_item_c_right = BugBottle
}
elseif code == 30 then
return {
button_slot_c_left = read_value_8(addr + 4),
button_slot_c_down = read_value_8(addr + 5),
button_slot_c_right = read_value_8(addr + 6),
equipment = _dollardecode0(nil, addr + 8),
button_item_b = tmp,
button_item_c_left = tmp0,
button_item_c_down = tmp1,
button_item_c_right = BigPoeBottle
}
elseif code == 31 then
return {
button_slot_c_left = read_value_8(addr + 4),
button_slot_c_down = read_value_8(addr + 5),
button_slot_c_right = read_value_8(addr + 6),
equipment = _dollardecode0(nil, addr + 8),
button_item_b = tmp,
button_item_c_left = tmp0,
button_item_c_down = tmp1,
button_item_c_right = HalfMilkBottle
}
elseif code == 32 then
return {
button_slot_c_left = read_value_8(addr + 4),
button_slot_c_down = read_value_8(addr + 5),
button_slot_c_right = read_value_8(addr + 6),
equipment = _dollardecode0(nil, addr + 8),
button_item_b = tmp,
button_item_c_left = tmp0,
button_item_c_down = tmp1,
button_item_c_right = PoeBottle
}
elseif code == 33 then
return {
button_slot_c_left = read_value_8(addr + 4),
button_slot_c_down = read_value_8(addr + 5),
button_slot_c_right = read_value_8(addr + 6),
equipment = _dollardecode0(nil, addr + 8),
button_item_b = tmp,
button_item_c_left = tmp0,
button_item_c_down = tmp1,
button_item_c_right = WeirdEgg
}
elseif code == 34 then
return {
button_slot_c_left = read_value_8(addr + 4),
button_slot_c_down = read_value_8(addr + 5),
button_slot_c_right = read_value_8(addr + 6),
equipment = _dollardecode0(nil, addr + 8),
button_item_b = tmp,
button_item_c_left = tmp0,
button_item_c_down = tmp1,
button_item_c_right = Chicken
}
elseif code == 35 then
return {
button_slot_c_left = read_value_8(addr + 4),
button_slot_c_down = read_value_8(addr + 5),
button_slot_c_right = read_value_8(addr + 6),
equipment = _dollardecode0(nil, addr + 8),
button_item_b = tmp,
button_item_c_left = tmp0,
button_item_c_down = tmp1,
button_item_c_right = ZeldasLetter
}
elseif code == 36 then
return {
button_slot_c_left = read_value_8(addr + 4),
button_slot_c_down = read_value_8(addr + 5),
button_slot_c_right = read_value_8(addr + 6),
equipment = _dollardecode0(nil, addr + 8),
button_item_b = tmp,
button_item_c_left = tmp0,
button_item_c_down = tmp1,
button_item_c_right = KeatonMask
}
elseif code == 37 then
return {
button_slot_c_left = read_value_8(addr + 4),
button_slot_c_down = read_value_8(addr + 5),
button_slot_c_right = read_value_8(addr + 6),
equipment = _dollardecode0(nil, addr + 8),
button_item_b = tmp,
button_item_c_left = tmp0,
button_item_c_down = tmp1,
button_item_c_right = SkullMask
}
elseif code == 38 then
return {
button_slot_c_left = read_value_8(addr + 4),
button_slot_c_down = read_value_8(addr + 5),
button_slot_c_right = read_value_8(addr + 6),
equipment = _dollardecode0(nil, addr + 8),
button_item_b = tmp,
button_item_c_left = tmp0,
button_item_c_down = tmp1,
button_item_c_right = SpookyMask
}
elseif code == 39 then
return {
button_slot_c_left = read_value_8(addr + 4),
button_slot_c_down = read_value_8(addr + 5),
button_slot_c_right = read_value_8(addr + 6),
equipment = _dollardecode0(nil, addr + 8),
button_item_b = tmp,
button_item_c_left = tmp0,
button_item_c_down = tmp1,
button_item_c_right = BunnyHood
}
elseif code == 40 then
return {
button_slot_c_left = read_value_8(addr + 4),
button_slot_c_down = read_value_8(addr + 5),
button_slot_c_right = read_value_8(addr + 6),
equipment = _dollardecode0(nil, addr + 8),
button_item_b = tmp,
button_item_c_left = tmp0,
button_item_c_down = tmp1,
button_item_c_right = GoronMask
}
elseif code == 41 then
return {
button_slot_c_left = read_value_8(addr + 4),
button_slot_c_down = read_value_8(addr + 5),
button_slot_c_right = read_value_8(addr + 6),
equipment = _dollardecode0(nil, addr + 8),
button_item_b = tmp,
button_item_c_left = tmp0,
button_item_c_down = tmp1,
button_item_c_right = ZoraMask
}
elseif code == 42 then
return {
button_slot_c_left = read_value_8(addr + 4),
button_slot_c_down = read_value_8(addr + 5),
button_slot_c_right = read_value_8(addr + 6),
equipment = _dollardecode0(nil, addr + 8),
button_item_b = tmp,
button_item_c_left = tmp0,
button_item_c_down = tmp1,
button_item_c_right = GerudoMask
}
elseif code == 43 then
return {
button_slot_c_left = read_value_8(addr + 4),
button_slot_c_down = read_value_8(addr + 5),
button_slot_c_right = read_value_8(addr + 6),
equipment = _dollardecode0(nil, addr + 8),
button_item_b = tmp,
button_item_c_left = tmp0,
button_item_c_down = tmp1,
button_item_c_right = MaskOfTruth
}
elseif code == 44 then
return {
button_slot_c_left = read_value_8(addr + 4),
button_slot_c_down = read_value_8(addr + 5),
button_slot_c_right = read_value_8(addr + 6),
equipment = _dollardecode0(nil, addr + 8),
button_item_b = tmp,
button_item_c_left = tmp0,
button_item_c_down = tmp1,
button_item_c_right = SoldOut
}
elseif code == 45 then
return {
button_slot_c_left = read_value_8(addr + 4),
button_slot_c_down = read_value_8(addr + 5),
button_slot_c_right = read_value_8(addr + 6),
equipment = _dollardecode0(nil, addr + 8),
button_item_b = tmp,
button_item_c_left = tmp0,
button_item_c_down = tmp1,
button_item_c_right = PocketEgg
}
elseif code == 46 then
return {
button_slot_c_left = read_value_8(addr + 4),
button_slot_c_down = read_value_8(addr + 5),
button_slot_c_right = read_value_8(addr + 6),
equipment = _dollardecode0(nil, addr + 8),
button_item_b = tmp,
button_item_c_left = tmp0,
button_item_c_down = tmp1,
button_item_c_right = PocketCucco
}
elseif code == 47 then
return {
button_slot_c_left = read_value_8(addr + 4),
button_slot_c_down = read_value_8(addr + 5),
button_slot_c_right = read_value_8(addr + 6),
equipment = _dollardecode0(nil, addr + 8),
button_item_b = tmp,
button_item_c_left = tmp0,
button_item_c_down = tmp1,
button_item_c_right = Cojiro
}
elseif code == 48 then
return {
button_slot_c_left = read_value_8(addr + 4),
button_slot_c_down = read_value_8(addr + 5),
button_slot_c_right = read_value_8(addr + 6),
equipment = _dollardecode0(nil, addr + 8),
button_item_b = tmp,
button_item_c_left = tmp0,
button_item_c_down = tmp1,
button_item_c_right = OddMushroom
}
elseif code == 49 then
return {
button_slot_c_left = read_value_8(addr + 4),
button_slot_c_down = read_value_8(addr + 5),
button_slot_c_right = read_value_8(addr + 6),
equipment = _dollardecode0(nil, addr + 8),
button_item_b = tmp,
button_item_c_left = tmp0,
button_item_c_down = tmp1,
button_item_c_right = OddPotion
}
elseif code == 50 then
return {
button_slot_c_left = read_value_8(addr + 4),
button_slot_c_down = read_value_8(addr + 5),
button_slot_c_right = read_value_8(addr + 6),
equipment = _dollardecode0(nil, addr + 8),
button_item_b = tmp,
button_item_c_left = tmp0,
button_item_c_down = tmp1,
button_item_c_right = PoachersSaw
}
elseif code == 51 then
return {
button_slot_c_left = read_value_8(addr + 4),
button_slot_c_down = read_value_8(addr + 5),
button_slot_c_right = read_value_8(addr + 6),
equipment = _dollardecode0(nil, addr + 8),
button_item_b = tmp,
button_item_c_left = tmp0,
button_item_c_down = tmp1,
button_item_c_right = BrokenGoronsSword
}
elseif code == 52 then
return {
button_slot_c_left = read_value_8(addr + 4),
button_slot_c_down = read_value_8(addr + 5),
button_slot_c_right = read_value_8(addr + 6),
equipment = _dollardecode0(nil, addr + 8),
button_item_b = tmp,
button_item_c_left = tmp0,
button_item_c_down = tmp1,
button_item_c_right = Prescription
}
elseif code == 53 then
return {
button_slot_c_left = read_value_8(addr + 4),
button_slot_c_down = read_value_8(addr + 5),
button_slot_c_right = read_value_8(addr + 6),
equipment = _dollardecode0(nil, addr + 8),
button_item_b = tmp,
button_item_c_left = tmp0,
button_item_c_down = tmp1,
button_item_c_right = EyeballFrog
}
elseif code == 54 then
return {
button_slot_c_left = read_value_8(addr + 4),
button_slot_c_down = read_value_8(addr + 5),
button_slot_c_right = read_value_8(addr + 6),
equipment = _dollardecode0(nil, addr + 8),
button_item_b = tmp,
button_item_c_left = tmp0,
button_item_c_down = tmp1,
button_item_c_right = EyeDrops
}
elseif code == 55 then
return {
button_slot_c_left = read_value_8(addr + 4),
button_slot_c_down = read_value_8(addr + 5),
button_slot_c_right = read_value_8(addr + 6),
equipment = _dollardecode0(nil, addr + 8),
button_item_b = tmp,
button_item_c_left = tmp0,
button_item_c_down = tmp1,
button_item_c_right = ClaimCheck
}
elseif code == 56 then
return {
button_slot_c_left = read_value_8(addr + 4),
button_slot_c_down = read_value_8(addr + 5),
button_slot_c_right = read_value_8(addr + 6),
equipment = _dollardecode0(nil, addr + 8),
button_item_b = tmp,
button_item_c_left = tmp0,
button_item_c_down = tmp1,
button_item_c_right = FairyBowAndFireArrow
}
elseif code == 57 then
return {
button_slot_c_left = read_value_8(addr + 4),
button_slot_c_down = read_value_8(addr + 5),
button_slot_c_right = read_value_8(addr + 6),
equipment = _dollardecode0(nil, addr + 8),
button_item_b = tmp,
button_item_c_left = tmp0,
button_item_c_down = tmp1,
button_item_c_right = FairyBowAndIceArrow
}
elseif code == 58 then
return {
button_slot_c_left = read_value_8(addr + 4),
button_slot_c_down = read_value_8(addr + 5),
button_slot_c_right = read_value_8(addr + 6),
equipment = _dollardecode0(nil, addr + 8),
button_item_b = tmp,
button_item_c_left = tmp0,
button_item_c_down = tmp1,
button_item_c_right = FairyBowAndLightArrow
}
elseif code == 59 then
return {
button_slot_c_left = read_value_8(addr + 4),
button_slot_c_down = read_value_8(addr + 5),
button_slot_c_right = read_value_8(addr + 6),
equipment = _dollardecode0(nil, addr + 8),
button_item_b = tmp,
button_item_c_left = tmp0,
button_item_c_down = tmp1,
button_item_c_right = KokiriSword0
}
elseif code == 60 then
return {
button_slot_c_left = read_value_8(addr + 4),
button_slot_c_down = read_value_8(addr + 5),
button_slot_c_right = read_value_8(addr + 6),
equipment = _dollardecode0(nil, addr + 8),
button_item_b = tmp,
button_item_c_left = tmp0,
button_item_c_down = tmp1,
button_item_c_right = MasterSword0
}
elseif code == 61 then
return {
button_slot_c_left = read_value_8(addr + 4),
button_slot_c_down = read_value_8(addr + 5),
button_slot_c_right = read_value_8(addr + 6),
equipment = _dollardecode0(nil, addr + 8),
button_item_b = tmp,
button_item_c_left = tmp0,
button_item_c_down = tmp1,
button_item_c_right = GoronsSword
}
elseif code == 255 then
return {
button_slot_c_left = read_value_8(addr + 4),
button_slot_c_down = read_value_8(addr + 5),
button_slot_c_right = read_value_8(addr + 6),
equipment = _dollardecode0(nil, addr + 8),
button_item_b = tmp,
button_item_c_left = tmp0,
button_item_c_down = tmp1,
button_item_c_right = NoItem
}
else
return {
button_slot_c_left = read_value_8(addr + 4),
button_slot_c_down = read_value_8(addr + 5),
button_slot_c_right = read_value_8(addr + 6),
equipment = _dollardecode0(nil, addr + 8),
button_item_c_right = UnknownItem(code),
button_item_b = tmp,
button_item_c_left = tmp0,
button_item_c_down = tmp1
}
end
end
if code == 0 then
return tmp1(DekuStick)
elseif code == 1 then
return tmp1(DekuNut)
elseif code == 2 then
return tmp1(Bomb)
elseif code == 3 then
return tmp1(FairyBow)
elseif code == 4 then
return tmp1(FireArrow)
elseif code == 5 then
return tmp1(DinsFire)
elseif code == 6 then
return tmp1(FairySlingshot)
elseif code == 7 then
return tmp1(FairyOcarina)
elseif code == 8 then
return tmp1(OcarinaOfTime)
elseif code == 9 then
return tmp1(Bombchu_10)
elseif code == 10 then
return tmp1(Hookshot)
elseif code == 11 then
return tmp1(Longshot)
elseif code == 12 then
return tmp1(IceArrow)
elseif code == 13 then
return tmp1(FaroresWind)
elseif code == 14 then
return tmp1(Boomerang)
elseif code == 15 then
return tmp1(LensOfTruth)
elseif code == 16 then
return tmp1(MagicBean)
elseif code == 17 then
return tmp1(MegatonHammer)
elseif code == 18 then
return tmp1(LightArrow)
elseif code == 19 then
return tmp1(NayrusLove)
elseif code == 20 then
return tmp1(EmptyBottle)
elseif code == 21 then
return tmp1(RedPotionBottle)
elseif code == 22 then
return tmp1(GreenPotionBottle)
elseif code == 23 then
return tmp1(BluePotionBottle)
elseif code == 24 then
return tmp1(FairyBottle)
elseif code == 25 then
return tmp1(FishBottle)
elseif code == 26 then
return tmp1(FullMilkBottle)
elseif code == 27 then
return tmp1(RutosLetterBottle)
elseif code == 28 then
return tmp1(BlueFireBottle)
elseif code == 29 then
return tmp1(BugBottle)
elseif code == 30 then
return tmp1(BigPoeBottle)
elseif code == 31 then
return tmp1(HalfMilkBottle)
elseif code == 32 then
return tmp1(PoeBottle)
elseif code == 33 then
return tmp1(WeirdEgg)
elseif code == 34 then
return tmp1(Chicken)
elseif code == 35 then
return tmp1(ZeldasLetter)
elseif code == 36 then
return tmp1(KeatonMask)
elseif code == 37 then
return tmp1(SkullMask)
elseif code == 38 then
return tmp1(SpookyMask)
elseif code == 39 then
return tmp1(BunnyHood)
elseif code == 40 then
return tmp1(GoronMask)
elseif code == 41 then
return tmp1(ZoraMask)
elseif code == 42 then
return tmp1(GerudoMask)
elseif code == 43 then
return tmp1(MaskOfTruth)
elseif code == 44 then
return tmp1(SoldOut)
elseif code == 45 then
return tmp1(PocketEgg)
elseif code == 46 then
return tmp1(PocketCucco)
elseif code == 47 then
return tmp1(Cojiro)
elseif code == 48 then
return tmp1(OddMushroom)
elseif code == 49 then
return tmp1(OddPotion)
elseif code == 50 then
return tmp1(PoachersSaw)
elseif code == 51 then
return tmp1(BrokenGoronsSword)
elseif code == 52 then
return tmp1(Prescription)
elseif code == 53 then
return tmp1(EyeballFrog)
elseif code == 54 then
return tmp1(EyeDrops)
elseif code == 55 then
return tmp1(ClaimCheck)
elseif code == 56 then
return tmp1(FairyBowAndFireArrow)
elseif code == 57 then
return tmp1(FairyBowAndIceArrow)
elseif code == 58 then
return tmp1(FairyBowAndLightArrow)
elseif code == 59 then
return tmp1(KokiriSword0)
elseif code == 60 then
return tmp1(MasterSword0)
elseif code == 61 then
return tmp1(GoronsSword)
elseif code == 255 then
return tmp1(NoItem)
else
return tmp1(UnknownItem(code))
end
end
if code == 0 then
return tmp0(DekuStick)
elseif code == 1 then
return tmp0(DekuNut)
elseif code == 2 then
return tmp0(Bomb)
elseif code == 3 then
return tmp0(FairyBow)
elseif code == 4 then
return tmp0(FireArrow)
elseif code == 5 then
return tmp0(DinsFire)
elseif code == 6 then
return tmp0(FairySlingshot)
elseif code == 7 then
return tmp0(FairyOcarina)
elseif code == 8 then
return tmp0(OcarinaOfTime)
elseif code == 9 then
return tmp0(Bombchu_10)
elseif code == 10 then
return tmp0(Hookshot)
elseif code == 11 then
return tmp0(Longshot)
elseif code == 12 then
return tmp0(IceArrow)
elseif code == 13 then
return tmp0(FaroresWind)
elseif code == 14 then
return tmp0(Boomerang)
elseif code == 15 then
return tmp0(LensOfTruth)
elseif code == 16 then
return tmp0(MagicBean)
elseif code == 17 then
return tmp0(MegatonHammer)
elseif code == 18 then
return tmp0(LightArrow)
elseif code == 19 then
return tmp0(NayrusLove)
elseif code == 20 then
return tmp0(EmptyBottle)
elseif code == 21 then
return tmp0(RedPotionBottle)
elseif code == 22 then
return tmp0(GreenPotionBottle)
elseif code == 23 then
return tmp0(BluePotionBottle)
elseif code == 24 then
return tmp0(FairyBottle)
elseif code == 25 then
return tmp0(FishBottle)
elseif code == 26 then
return tmp0(FullMilkBottle)
elseif code == 27 then
return tmp0(RutosLetterBottle)
elseif code == 28 then
return tmp0(BlueFireBottle)
elseif code == 29 then
return tmp0(BugBottle)
elseif code == 30 then
return tmp0(BigPoeBottle)
elseif code == 31 then
return tmp0(HalfMilkBottle)
elseif code == 32 then
return tmp0(PoeBottle)
elseif code == 33 then
return tmp0(WeirdEgg)
elseif code == 34 then
return tmp0(Chicken)
elseif code == 35 then
return tmp0(ZeldasLetter)
elseif code == 36 then
return tmp0(KeatonMask)
elseif code == 37 then
return tmp0(SkullMask)
elseif code == 38 then
return tmp0(SpookyMask)
elseif code == 39 then
return tmp0(BunnyHood)
elseif code == 40 then
return tmp0(GoronMask)
elseif code == 41 then
return tmp0(ZoraMask)
elseif code == 42 then
return tmp0(GerudoMask)
elseif code == 43 then
return tmp0(MaskOfTruth)
elseif code == 44 then
return tmp0(SoldOut)
elseif code == 45 then
return tmp0(PocketEgg)
elseif code == 46 then
return tmp0(PocketCucco)
elseif code == 47 then
return tmp0(Cojiro)
elseif code == 48 then
return tmp0(OddMushroom)
elseif code == 49 then
return tmp0(OddPotion)
elseif code == 50 then
return tmp0(PoachersSaw)
elseif code == 51 then
return tmp0(BrokenGoronsSword)
elseif code == 52 then
return tmp0(Prescription)
elseif code == 53 then
return tmp0(EyeballFrog)
elseif code == 54 then
return tmp0(EyeDrops)
elseif code == 55 then
return tmp0(ClaimCheck)
elseif code == 56 then
return tmp0(FairyBowAndFireArrow)
elseif code == 57 then
return tmp0(FairyBowAndIceArrow)
elseif code == 58 then
return tmp0(FairyBowAndLightArrow)
elseif code == 59 then
return tmp0(KokiriSword0)
elseif code == 60 then
return tmp0(MasterSword0)
elseif code == 61 then
return tmp0(GoronsSword)
elseif code == 255 then
return tmp0(NoItem)
else
return tmp0(UnknownItem(code))
end
end
if code == 0 then
return tmp(DekuStick)
elseif code == 1 then
return tmp(DekuNut)
elseif code == 2 then
return tmp(Bomb)
elseif code == 3 then
return tmp(FairyBow)
elseif code == 4 then
return tmp(FireArrow)
elseif code == 5 then
return tmp(DinsFire)
elseif code == 6 then
return tmp(FairySlingshot)
elseif code == 7 then
return tmp(FairyOcarina)
elseif code == 8 then
return tmp(OcarinaOfTime)
elseif code == 9 then
return tmp(Bombchu_10)
elseif code == 10 then
return tmp(Hookshot)
elseif code == 11 then
return tmp(Longshot)
elseif code == 12 then
return tmp(IceArrow)
elseif code == 13 then
return tmp(FaroresWind)
elseif code == 14 then
return tmp(Boomerang)
elseif code == 15 then
return tmp(LensOfTruth)
elseif code == 16 then
return tmp(MagicBean)
elseif code == 17 then
return tmp(MegatonHammer)
elseif code == 18 then
return tmp(LightArrow)
elseif code == 19 then
return tmp(NayrusLove)
elseif code == 20 then
return tmp(EmptyBottle)
elseif code == 21 then
return tmp(RedPotionBottle)
elseif code == 22 then
return tmp(GreenPotionBottle)
elseif code == 23 then
return tmp(BluePotionBottle)
elseif code == 24 then
return tmp(FairyBottle)
elseif code == 25 then
return tmp(FishBottle)
elseif code == 26 then
return tmp(FullMilkBottle)
elseif code == 27 then
return tmp(RutosLetterBottle)
elseif code == 28 then
return tmp(BlueFireBottle)
elseif code == 29 then
return tmp(BugBottle)
elseif code == 30 then
return tmp(BigPoeBottle)
elseif code == 31 then
return tmp(HalfMilkBottle)
elseif code == 32 then
return tmp(PoeBottle)
elseif code == 33 then
return tmp(WeirdEgg)
elseif code == 34 then
return tmp(Chicken)
elseif code == 35 then
return tmp(ZeldasLetter)
elseif code == 36 then
return tmp(KeatonMask)
elseif code == 37 then
return tmp(SkullMask)
elseif code == 38 then
return tmp(SpookyMask)
elseif code == 39 then
return tmp(BunnyHood)
elseif code == 40 then
return tmp(GoronMask)
elseif code == 41 then
return tmp(ZoraMask)
elseif code == 42 then
return tmp(GerudoMask)
elseif code == 43 then
return tmp(MaskOfTruth)
elseif code == 44 then
return tmp(SoldOut)
elseif code == 45 then
return tmp(PocketEgg)
elseif code == 46 then
return tmp(PocketCucco)
elseif code == 47 then
return tmp(Cojiro)
elseif code == 48 then
return tmp(OddMushroom)
elseif code == 49 then
return tmp(OddPotion)
elseif code == 50 then
return tmp(PoachersSaw)
elseif code == 51 then
return tmp(BrokenGoronsSword)
elseif code == 52 then
return tmp(Prescription)
elseif code == 53 then
return tmp(EyeballFrog)
elseif code == 54 then
return tmp(EyeDrops)
elseif code == 55 then
return tmp(ClaimCheck)
elseif code == 56 then
return tmp(FairyBowAndFireArrow)
elseif code == 57 then
return tmp(FairyBowAndIceArrow)
elseif code == 58 then
return tmp(FairyBowAndLightArrow)
elseif code == 59 then
return tmp(KokiriSword0)
elseif code == 60 then
return tmp(MasterSword0)
elseif code == 61 then
return tmp(GoronsSword)
elseif code == 255 then
return tmp(NoItem)
else
return tmp(UnknownItem(code))
end
end
local function _dollarfields1(amex, tmp)
local tmp0 = {
fields = function(tmp0)
return _dollarfields0(nil, tmp0)
end,
name = function(tmp0)
return "Equipment"
end
}
return {
{
_1 = {
_1 = "button_item_b",
_2 = S(_dollardShowakjw(nil))(tmp.button_item_b)
},
_2 = {
{
_1 = {
_1 = "button_item_c_left",
_2 = S(_dollardShowakjw(nil))(tmp.button_item_c_left)
},
_2 = {
{
_1 = {
_1 = "button_item_c_down",
_2 = S(_dollardShowakjw(nil))(tmp.button_item_c_down)
},
_2 = {
{
_1 = {
_1 = "button_item_c_right",
_2 = S(_dollardShowakjw(nil))(tmp.button_item_c_right)
},
_2 = {
{
_2 = {
{
_2 = {
{
_2 = {
{
_2 = Nil,
_1 = {
_1 = "equipment",
_2 = P(function(a)
return function(w)
return pretty_from_record(tmp0, a, w)
end
end)(tmp.equipment)
}
},
__tag = "Cons"
},
_1 = {
_1 = "button_slot_c_right",
_2 = S(function(tmp0)
return string_of_int(tmp0) .. "_u8"
end)(tmp.button_slot_c_right)
}
},
__tag = "Cons"
},
_1 = {
_1 = "button_slot_c_down",
_2 = S(function(tmp0)
return string_of_int(tmp0) .. "_u8"
end)(tmp.button_slot_c_down)
}
},
__tag = "Cons"
},
_1 = {
_1 = "button_slot_c_left",
_2 = S(function(tmp0)
return string_of_int(tmp0) .. "_u8"
end)(tmp.button_slot_c_left)
}
},
__tag = "Cons"
}
},
__tag = "Cons"
}
},
__tag = "Cons"
}
},
__tag = "Cons"
}
},
__tag = "Cons"
}
end
local function _dollardecode2(atfa, addr)
local function tmp(tmp)
local u320 = read_value_32(addr + 4)
local function tmp0(tmp0)
local u321 = read_value_32(addr + 8)
local function tmp1(tmp1)
local tmp2 = read_value_16(addr + 12)
local u322 = read_value_32(addr + 16)
local function tmp3(tmp3)
local u323 = read_value_32(addr + 20)
local function tmp4(tmp4)
local function tmp5(tmp5)
local u16 = read_value_16(addr + 34)
local function tmp6(tmp6)
local u160 = read_value_16(addr + 44)
local function tmp7(tmp7)
local u161 = read_value_16(addr + 46)
local function tmp8(tmp8)
local function tmp9(tmp9)
local function tmp10(tmp10)
local u80 = read_value_8(addr + 51)
local function tmp11(tmp11)
local u163 = read_value_16(addr + 52)
local function tmp12(tmp12)
local tmp16 = read_value_16(addr + 54)
local tmp20 = read_value_16(addr + 56)
local tmp19 = read_value_8(addr + 58)
local tmp13 = read_value_8(addr + 60)
local tmp21 = read_value_8(addr + 61)
local tmp15 = read_value_8(addr + 62)
local tmp14 = read_value_8(addr + 63)
local tmp18 = _dollardecode1(nil, addr + 64)
local tmp17 = _dollardecode1(nil, addr + 74)
local u164 = read_value_16(addr + 102)
local function tmp22(tmp22)
return {
equips = _dollardecode1(nil, addr + 104),
inventory = _dollardecode(nil, addr + 116),
entrance_index = tmp,
link_age = tmp0,
cutscene_index = tmp1,
day_time = tmp2,
night_flag = tmp3,
num_days = tmp4,
claim_days = tmp5,
deaths = tmp6,
n64dd_flag = tmp7,
health_capacity = tmp8,
health = tmp9,
magic_level = tmp10,
magic = tmp11,
rupees = tmp12,
sword_health = tmp16,
navi_timer = tmp20,
magic_acquired = tmp19,
double_magic = tmp13,
double_defense = tmp21,
bgs_flag = tmp15,
ocarina_game_reward = tmp14,
child_equips = tmp18,
adult_equips = tmp17,
saved_scene_num = tmp22
}
end
if u164 > 65535 then
return tmp22(0 - (65536 - u164))
end
return tmp22(u164)
end
if u163 > 65535 then
return tmp12(0 - (65536 - u163))
end
return tmp12(u163)
end
if u80 > 255 then
return tmp11(0 - (256 - u80))
end
return tmp11(u80)
end
local u8 = read_value_8(addr + 50)
if u8 > 255 then
return tmp10(0 - (256 - u8))
end
return tmp10(u8)
end
local u162 = read_value_16(addr + 48)
if u162 > 65535 then
return tmp9(0 - (65536 - u162))
end
return tmp9(u162)
end
if u161 > 65535 then
return tmp8(0 - (65536 - u161))
end
return tmp8(u161)
end
if u160 > 65535 then
return tmp7(0 - (65536 - u160))
end
return tmp7(u160)
end
if u16 > 65535 then
return tmp6(0 - (65536 - u16))
end
return tmp6(u16)
end
local u324 = read_value_32(addr + 24)
if u324 > 4294967295 then
return tmp5(0 - (4294967296 - u324))
end
return tmp5(u324)
end
if u323 > 4294967295 then
return tmp4(0 - (4294967296 - u323))
end
return tmp4(u323)
end
if u322 > 4294967295 then
return tmp3(0 - (4294967296 - u322))
end
return tmp3(u322)
end
if u321 > 4294967295 then
return tmp1(0 - (4294967296 - u321))
end
return tmp1(u321)
end
if u320 > 4294967295 then
return tmp0(0 - (4294967296 - u320))
end
return tmp0(u320)
end
local u32 = read_value_32(addr)
if u32 > 4294967295 then
return tmp(0 - (4294967296 - u32))
end
return tmp(u32)
end
local function _dollarfields2(atuq, tmp)
local function tmp0(tmp0)
return _dollarfields1(nil, tmp0)
end
local tmp1 = {
fields = function(tmp1)
return _dollarfields(nil, tmp1)
end,
name = function(tmp1)
return "Inventory"
end
}
return {
{
_2 = {
{
_2 = {
{
_2 = {
{
_1 = {
_1 = "day_time",
_2 = S(function(tmp0)
return string_of_int(tmp0) .. "_u16"
end)(tmp.day_time)
},
_2 = {
{
_1 = {
_1 = "night_flag",
_2 = S(function(tmp0)
return string_of_int(tmp0) .. "_s32"
end)(tmp.night_flag)
},
_2 = {
{
_1 = {
_1 = "num_days",
_2 = S(function(tmp0)
return string_of_int(tmp0) .. "_s32"
end)(tmp.num_days)
},
_2 = {
{
_1 = {
_1 = "claim_days",
_2 = S(function(tmp0)
return string_of_int(tmp0) .. "_s32"
end)(tmp.claim_days)
},
_2 = {
{
_2 = {
{
_1 = {
_1 = "n64dd_flag",
_2 = S(function(tmp0)
return string_of_int(tmp0) .. "_s16"
end)(tmp.n64dd_flag)
},
_2 = {
{
_2 = {
{
_2 = {
{
_1 = {
_1 = "magic_level",
_2 = S(function(tmp0)
return string_of_int(tmp0) .. "_s8"
end)(tmp.magic_level)
},
_2 = {
{
_1 = {
_1 = "magic",
_2 = S(function(tmp0)
return string_of_int(tmp0) .. "_s8"
end)(tmp.magic)
},
_2 = {
{
_2 = {
{
_2 = {
{
_2 = {
{
_2 = {
{
_2 = {
{
_2 = {
{
_1 = {
_1 = "bgs_flag",
_2 = S(function(tmp0)
return string_of_int(tmp0) .. "_u8"
end)(tmp.bgs_flag)
},
_2 = {
{
_1 = {
_1 = "ocarina_game_reward",
_2 = S(function(tmp0)
return string_of_int(tmp0) .. "_u8"
end)(tmp.ocarina_game_reward)
},
_2 = {
{
_1 = {
_1 = "child_equips",
_2 = P(pretty_from_record0({
fields = tmp0,
name = function(tmp0)
return "ItemEquips"
end
}))(tmp.child_equips)
},
_2 = {
{
_1 = {
_1 = "adult_equips",
_2 = P(pretty_from_record0({
fields = tmp0,
name = function(tmp1)
return "ItemEquips"
end
}))(tmp.adult_equips)
},
_2 = {
{
_2 = {
{
_1 = {
_1 = "equips",
_2 = P(pretty_from_record0({
fields = tmp0,
name = function(tmp1)
return "ItemEquips"
end
}))(tmp.equips)
},
_2 = {
{
_2 = Nil,
_1 = {
_1 = "inventory",
_2 = P(function(a)
return function(w)
return pretty_from_record(tmp1, a, w)
end
end)(tmp.inventory)
}
},
__tag = "Cons"
}
},
__tag = "Cons"
},
_1 = {
_1 = "saved_scene_num",
_2 = S(function(tmp1)
return string_of_int(tmp1) .. "_s16"
end)(tmp.saved_scene_num)
}
},
__tag = "Cons"
}
},
__tag = "Cons"
}
},
__tag = "Cons"
}
},
__tag = "Cons"
}
},
__tag = "Cons"
},
_1 = {
_1 = "double_defense",
_2 = S(function(tmp0)
return string_of_int(tmp0) .. "_u8"
end)(tmp.double_defense)
}
},
__tag = "Cons"
},
_1 = {
_1 = "double_magic",
_2 = S(function(tmp0)
return string_of_int(tmp0) .. "_u8"
end)(tmp.double_magic)
}
},
__tag = "Cons"
},
_1 = {
_1 = "magic_acquired",
_2 = S(function(tmp0)
return string_of_int(tmp0) .. "_u8"
end)(tmp.magic_acquired)
}
},
__tag = "Cons"
},
_1 = {
_1 = "navi_timer",
_2 = S(function(tmp0)
return string_of_int(tmp0) .. "_u16"
end)(tmp.navi_timer)
}
},
__tag = "Cons"
},
_1 = {
_1 = "sword_health",
_2 = S(function(tmp0)
return string_of_int(tmp0) .. "_u16"
end)(tmp.sword_health)
}
},
__tag = "Cons"
},
_1 = {
_1 = "rupees",
_2 = S(function(tmp0)
return string_of_int(tmp0) .. "_s16"
end)(tmp.rupees)
}
},
__tag = "Cons"
}
},
__tag = "Cons"
}
},
__tag = "Cons"
},
_1 = {
_1 = "health",
_2 = S(function(tmp0)
return string_of_int(tmp0) .. "_s16"
end)(tmp.health)
}
},
__tag = "Cons"
},
_1 = {
_1 = "health_capacity",
_2 = S(function(tmp0)
return string_of_int(tmp0) .. "_s16"
end)(tmp.health_capacity)
}
},
__tag = "Cons"
}
},
__tag = "Cons"
},
_1 = {
_1 = "deaths",
_2 = S(function(tmp0)
return string_of_int(tmp0) .. "_s16"
end)(tmp.deaths)
}
},
__tag = "Cons"
}
},
__tag = "Cons"
}
},
__tag = "Cons"
}
},
__tag = "Cons"
}
},
__tag = "Cons"
},
_1 = {
_1 = "cutscene_index",
_2 = S(function(tmp0)
return string_of_int(tmp0) .. "_s32"
end)(tmp.cutscene_index)
}
},
__tag = "Cons"
},
_1 = {
_1 = "link_age",
_2 = S(function(tmp0)
return string_of_int(tmp0) .. "_s32"
end)(tmp.link_age)
}
},
__tag = "Cons"
},
_1 = {
_1 = "entrance_index",
_2 = S(function(tmp0)
return string_of_int(tmp0) .. "_s32"
end)(tmp.entrance_index)
}
},
__tag = "Cons"
}
end
local function onScriptStart(tmp)
return nil
end
local function onScriptCancel(tmp)
return nil
end
local function onScriptUpdate(tmp)
return set_screen_text(pretty_from_record({
fields = function(tmp0)
return _dollarfields2(nil, tmp0)
end,
name = function(tmp0)
return "SaveContext"
end
}, _dollardecode2(nil, 17295088), 0))
end
local function onStateLoaded(tmp)
return nil
end
local function onStateSaved(tmp)
return nil
end
return {
base_address = 16138528,
g_save_ctx_address = 1156560,
onScriptCancel = onScriptCancel,
onScriptStart = onScriptStart,
onScriptUpdate = onScriptUpdate,
onStateLoaded = onStateLoaded,
onStateSaved = onStateSaved
}
end