diff --git a/.gitignore b/.gitignore index 900e6c7..9b5e51b 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,5 @@ -lua chest test -lua movement test * - Copy* cm oot save.lua cm mm save.lua __pycache__/* +*.State diff --git a/Lua/cheat menu.lua b/Lua/cheat menu.lua index e1f797f..90c2b31 100755 --- a/Lua/cheat menu.lua +++ b/Lua/cheat menu.lua @@ -1,4 +1,4 @@ -require = require "depend" +require "lib.setup" require "boilerplate" require "addrs.init" require "classes" @@ -37,7 +37,7 @@ local run_while_paused = true local alt_input = true local eat_input = true -local fn = oot and 'cm oot save.lua' or 'cm mm save.lua' +local fn = oot and 'data/cm oot save.lua' or 'data/cm mm save.lua' local saved = deserialize(fn) or {} local function save() serialize(fn, saved) @@ -258,7 +258,7 @@ local main_menu = Menu{ Toggle("Infinite Items", infinite_items), Toggle("Use Any Item", any_item), Text(""), - Oneshot("Have Everything", Setter{[dofile]="oneshot.lua"}), + Oneshot("Have Everything", Setter{[dofile]="setup hundred.lua"}), LinkTo("Set Progress...", progress_menu), Text(""), Oneshot("Escape Cutscene", Setter{[addrs.cutscene_status_2]=3}), diff --git a/Lua/inject.lua b/Lua/inject.lua index 401a577..dc21619 100644 --- a/Lua/inject.lua +++ b/Lua/inject.lua @@ -1,8 +1,8 @@ -require = require "depend" +require "lib.setup" require "boilerplate" require "addrs.init" require "messages" -local assemble = require "inject.lips" +local assemble = require "lips" local injection_points = { ['M US10'] = { diff --git a/Lua/actors.lua b/Lua/lib/actors.lua similarity index 100% rename from Lua/actors.lua rename to Lua/lib/actors.lua diff --git a/Lua/addrs/M/EU10.lua b/Lua/lib/addrs/M/EU10.lua similarity index 100% rename from Lua/addrs/M/EU10.lua rename to Lua/lib/addrs/M/EU10.lua diff --git a/Lua/addrs/M/EU11.lua b/Lua/lib/addrs/M/EU11.lua similarity index 100% rename from Lua/addrs/M/EU11.lua rename to Lua/lib/addrs/M/EU11.lua diff --git a/Lua/addrs/M/EUDB.lua b/Lua/lib/addrs/M/EUDB.lua similarity index 100% rename from Lua/addrs/M/EUDB.lua rename to Lua/lib/addrs/M/EUDB.lua diff --git a/Lua/addrs/M/EUGC.lua b/Lua/lib/addrs/M/EUGC.lua similarity index 100% rename from Lua/addrs/M/EUGC.lua rename to Lua/lib/addrs/M/EUGC.lua diff --git a/Lua/addrs/M/JP10.lua b/Lua/lib/addrs/M/JP10.lua similarity index 100% rename from Lua/addrs/M/JP10.lua rename to Lua/lib/addrs/M/JP10.lua diff --git a/Lua/addrs/M/JP11.lua b/Lua/lib/addrs/M/JP11.lua similarity index 100% rename from Lua/addrs/M/JP11.lua rename to Lua/lib/addrs/M/JP11.lua diff --git a/Lua/addrs/M/JPGC.lua b/Lua/lib/addrs/M/JPGC.lua similarity index 100% rename from Lua/addrs/M/JPGC.lua rename to Lua/lib/addrs/M/JPGC.lua diff --git a/Lua/addrs/M/US10.lua b/Lua/lib/addrs/M/US10.lua similarity index 100% rename from Lua/addrs/M/US10.lua rename to Lua/lib/addrs/M/US10.lua diff --git a/Lua/addrs/M/USDE.lua b/Lua/lib/addrs/M/USDE.lua similarity index 100% rename from Lua/addrs/M/USDE.lua rename to Lua/lib/addrs/M/USDE.lua diff --git a/Lua/addrs/M/USGC.lua b/Lua/lib/addrs/M/USGC.lua similarity index 100% rename from Lua/addrs/M/USGC.lua rename to Lua/lib/addrs/M/USGC.lua diff --git a/Lua/addrs/M/common.lua b/Lua/lib/addrs/M/common.lua similarity index 100% rename from Lua/addrs/M/common.lua rename to Lua/lib/addrs/M/common.lua diff --git a/Lua/addrs/O/EU10.lua b/Lua/lib/addrs/O/EU10.lua similarity index 100% rename from Lua/addrs/O/EU10.lua rename to Lua/lib/addrs/O/EU10.lua diff --git a/Lua/addrs/O/EU11.lua b/Lua/lib/addrs/O/EU11.lua similarity index 100% rename from Lua/addrs/O/EU11.lua rename to Lua/lib/addrs/O/EU11.lua diff --git a/Lua/addrs/O/EUDB MQ.lua b/Lua/lib/addrs/O/EUDB MQ.lua similarity index 100% rename from Lua/addrs/O/EUDB MQ.lua rename to Lua/lib/addrs/O/EUDB MQ.lua diff --git a/Lua/addrs/O/EUGC MQ.lua b/Lua/lib/addrs/O/EUGC MQ.lua similarity index 100% rename from Lua/addrs/O/EUGC MQ.lua rename to Lua/lib/addrs/O/EUGC MQ.lua diff --git a/Lua/addrs/O/EUGC.lua b/Lua/lib/addrs/O/EUGC.lua similarity index 100% rename from Lua/addrs/O/EUGC.lua rename to Lua/lib/addrs/O/EUGC.lua diff --git a/Lua/addrs/O/JP10.lua b/Lua/lib/addrs/O/JP10.lua similarity index 100% rename from Lua/addrs/O/JP10.lua rename to Lua/lib/addrs/O/JP10.lua diff --git a/Lua/addrs/O/JP11.lua b/Lua/lib/addrs/O/JP11.lua similarity index 100% rename from Lua/addrs/O/JP11.lua rename to Lua/lib/addrs/O/JP11.lua diff --git a/Lua/addrs/O/JP12.lua b/Lua/lib/addrs/O/JP12.lua similarity index 100% rename from Lua/addrs/O/JP12.lua rename to Lua/lib/addrs/O/JP12.lua diff --git a/Lua/addrs/O/JPGC MQ.lua b/Lua/lib/addrs/O/JPGC MQ.lua similarity index 100% rename from Lua/addrs/O/JPGC MQ.lua rename to Lua/lib/addrs/O/JPGC MQ.lua diff --git a/Lua/addrs/O/JPGC.lua b/Lua/lib/addrs/O/JPGC.lua similarity index 100% rename from Lua/addrs/O/JPGC.lua rename to Lua/lib/addrs/O/JPGC.lua diff --git a/Lua/addrs/O/US10.lua b/Lua/lib/addrs/O/US10.lua similarity index 100% rename from Lua/addrs/O/US10.lua rename to Lua/lib/addrs/O/US10.lua diff --git a/Lua/addrs/O/US11.lua b/Lua/lib/addrs/O/US11.lua similarity index 100% rename from Lua/addrs/O/US11.lua rename to Lua/lib/addrs/O/US11.lua diff --git a/Lua/addrs/O/US12.lua b/Lua/lib/addrs/O/US12.lua similarity index 100% rename from Lua/addrs/O/US12.lua rename to Lua/lib/addrs/O/US12.lua diff --git a/Lua/addrs/O/USGC MQ.lua b/Lua/lib/addrs/O/USGC MQ.lua similarity index 100% rename from Lua/addrs/O/USGC MQ.lua rename to Lua/lib/addrs/O/USGC MQ.lua diff --git a/Lua/addrs/O/USGC.lua b/Lua/lib/addrs/O/USGC.lua similarity index 100% rename from Lua/addrs/O/USGC.lua rename to Lua/lib/addrs/O/USGC.lua diff --git a/Lua/addrs/O/common.lua b/Lua/lib/addrs/O/common.lua similarity index 100% rename from Lua/addrs/O/common.lua rename to Lua/lib/addrs/O/common.lua diff --git a/Lua/addrs/addrs.lua b/Lua/lib/addrs/addrs.lua similarity index 100% rename from Lua/addrs/addrs.lua rename to Lua/lib/addrs/addrs.lua diff --git a/Lua/addrs/basics.lua b/Lua/lib/addrs/basics.lua similarity index 100% rename from Lua/addrs/basics.lua rename to Lua/lib/addrs/basics.lua diff --git a/Lua/addrs/init.lua b/Lua/lib/addrs/init.lua similarity index 100% rename from Lua/addrs/init.lua rename to Lua/lib/addrs/init.lua diff --git a/Lua/addrs/versions.lua b/Lua/lib/addrs/versions.lua similarity index 100% rename from Lua/addrs/versions.lua rename to Lua/lib/addrs/versions.lua diff --git a/Lua/boilerplate.lua b/Lua/lib/boilerplate.lua similarity index 100% rename from Lua/boilerplate.lua rename to Lua/lib/boilerplate.lua diff --git a/Lua/classes.lua b/Lua/lib/classes.lua similarity index 100% rename from Lua/classes.lua rename to Lua/lib/classes.lua diff --git a/Lua/classes/ActorLister.lua b/Lua/lib/classes/ActorLister.lua similarity index 100% rename from Lua/classes/ActorLister.lua rename to Lua/lib/classes/ActorLister.lua diff --git a/Lua/classes/ByteMonitor.lua b/Lua/lib/classes/ByteMonitor.lua similarity index 100% rename from Lua/classes/ByteMonitor.lua rename to Lua/lib/classes/ByteMonitor.lua diff --git a/Lua/classes/FlagMonitor.lua b/Lua/lib/classes/FlagMonitor.lua similarity index 100% rename from Lua/classes/FlagMonitor.lua rename to Lua/lib/classes/FlagMonitor.lua diff --git a/Lua/classes/InputHandler.lua b/Lua/lib/classes/InputHandler.lua similarity index 100% rename from Lua/classes/InputHandler.lua rename to Lua/lib/classes/InputHandler.lua diff --git a/Lua/classes/JoyWrapper.lua b/Lua/lib/classes/JoyWrapper.lua similarity index 100% rename from Lua/classes/JoyWrapper.lua rename to Lua/lib/classes/JoyWrapper.lua diff --git a/Lua/classes/Monitor.lua b/Lua/lib/classes/Monitor.lua similarity index 100% rename from Lua/classes/Monitor.lua rename to Lua/lib/classes/Monitor.lua diff --git a/Lua/classes/SceneFlagMonitor.lua b/Lua/lib/classes/SceneFlagMonitor.lua similarity index 100% rename from Lua/classes/SceneFlagMonitor.lua rename to Lua/lib/classes/SceneFlagMonitor.lua diff --git a/Lua/extra.lua b/Lua/lib/extra.lua similarity index 100% rename from Lua/extra.lua rename to Lua/lib/extra.lua diff --git a/Lua/flag manager.lua b/Lua/lib/flag manager.lua similarity index 100% rename from Lua/flag manager.lua rename to Lua/lib/flag manager.lua diff --git a/Lua/inject/lips.lua b/Lua/lib/lips.lua similarity index 100% rename from Lua/inject/lips.lua rename to Lua/lib/lips.lua diff --git a/Lua/menu classes.lua b/Lua/lib/menu classes.lua similarity index 100% rename from Lua/menu classes.lua rename to Lua/lib/menu classes.lua diff --git a/Lua/menu input handlers.lua b/Lua/lib/menu input handlers.lua similarity index 100% rename from Lua/menu input handlers.lua rename to Lua/lib/menu input handlers.lua diff --git a/Lua/messages.lua b/Lua/lib/messages.lua similarity index 100% rename from Lua/messages.lua rename to Lua/lib/messages.lua diff --git a/Lua/pt.lua b/Lua/lib/pt.lua similarity index 100% rename from Lua/pt.lua rename to Lua/lib/pt.lua diff --git a/Lua/serialize.lua b/Lua/lib/serialize.lua similarity index 100% rename from Lua/serialize.lua rename to Lua/lib/serialize.lua diff --git a/Lua/depend.lua b/Lua/lib/setup.lua similarity index 55% rename from Lua/depend.lua rename to Lua/lib/setup.lua index 3293a77..326de84 100644 --- a/Lua/depend.lua +++ b/Lua/lib/setup.lua @@ -1,11 +1,11 @@ -_require = _require or require +if _require then return end +_require = require -local function dumbdepend(path) +package.path = package.path..';./lib/?.lua' + +function depend(path) if package and package.loaded and package.loaded[path] then package.loaded[path] = nil end - -- TODO: pcall? return _require(path) end - -return dumbdepend diff --git a/Lua/actor lister.lua b/Lua/monitor actors.lua similarity index 99% rename from Lua/actor lister.lua rename to Lua/monitor actors.lua index 02d0bb0..dd15ffe 100755 --- a/Lua/actor lister.lua +++ b/Lua/monitor actors.lua @@ -1,4 +1,4 @@ -require = require "depend" +require "lib.setup" require "boilerplate" require "addrs.init" require "messages" diff --git a/Lua/watch animations.lua b/Lua/monitor animations.lua similarity index 100% rename from Lua/watch animations.lua rename to Lua/monitor animations.lua diff --git a/Lua/oot memory editor monitor.lua b/Lua/monitor debug memory editor.lua similarity index 97% rename from Lua/oot memory editor monitor.lua rename to Lua/monitor debug memory editor.lua index 3dd3edf..0059ab9 100644 --- a/Lua/oot memory editor monitor.lua +++ b/Lua/monitor debug memory editor.lua @@ -1,4 +1,5 @@ -require "boilerplate" +require "lib.setup" +require "boilerplate" require "addrs.init" require "classes" diff --git a/Lua/print.lua b/Lua/monitor debug text.lua similarity index 95% rename from Lua/print.lua rename to Lua/monitor debug text.lua index a642889..b7db1e2 100644 --- a/Lua/print.lua +++ b/Lua/monitor debug text.lua @@ -1,5 +1,5 @@ -- use with inject.lua on O EUDB MQ -require = require "depend" +require "lib.setup" require "boilerplate" local buffer = 0x700070 diff --git a/Lua/epona monitor.lua b/Lua/monitor epona.lua similarity index 98% rename from Lua/epona monitor.lua rename to Lua/monitor epona.lua index 8078bba..6a642bc 100644 --- a/Lua/epona monitor.lua +++ b/Lua/monitor epona.lua @@ -1,4 +1,4 @@ -require = require "depend" +require "lib.setup" require "boilerplate" require "addrs.init" require "messages" diff --git a/Lua/event flag monitor.lua b/Lua/monitor event flags.lua similarity index 98% rename from Lua/event flag monitor.lua rename to Lua/monitor event flags.lua index 43bd31b..ffecaa2 100644 --- a/Lua/event flag monitor.lua +++ b/Lua/monitor event flags.lua @@ -1,4 +1,4 @@ -require = require "depend" +require "lib.setup" require "boilerplate" require "addrs.init" require "messages" diff --git a/Lua/exit calculator.lua b/Lua/monitor exits.lua similarity index 99% rename from Lua/exit calculator.lua rename to Lua/monitor exits.lua index 60f2d97..a9c215c 100644 --- a/Lua/exit calculator.lua +++ b/Lua/monitor exits.lua @@ -1,4 +1,4 @@ -require = require "depend" +require "lib.setup" require "boilerplate" require "addrs.init" diff --git a/Lua/misc monitor.lua b/Lua/monitor misc.lua similarity index 98% rename from Lua/misc monitor.lua rename to Lua/monitor misc.lua index fdf0edd..1e31c46 100644 --- a/Lua/misc monitor.lua +++ b/Lua/monitor misc.lua @@ -1,4 +1,4 @@ -require = require "depend" +require "lib.setup" require "boilerplate" require "addrs.init" require "messages" diff --git a/Lua/room debug.lua b/Lua/monitor rooms.lua similarity index 97% rename from Lua/room debug.lua rename to Lua/monitor rooms.lua index 2f0bb80..48eb2d6 100755 --- a/Lua/room debug.lua +++ b/Lua/monitor rooms.lua @@ -1,3 +1,4 @@ +require "lib.setup" require "boilerplate" require "addrs.init" require "messages" @@ -43,7 +44,7 @@ function dump_room(start, addr) local dumpy = function() local bank = R1(addr+4) - local offset = R3(addr+5) + local offset = bit.band(R4(addr+4), 0xFFFFFF) if bank ~= 3 then printf(" in bank %i at %06X", bank, offset) return @@ -165,7 +166,7 @@ function dump_room(start, addr) local addr = alt_header_list while R1(addr) == 0x03 do printf("# setup: %02X", setups) - dump_room(start, start + R3(addr+1)) + dump_room(start, start + bit.band(R4(addr), 0xFFFFFF)) addr = addr + 4 setups = setups + 1 end diff --git a/Lua/scene flag monitor.lua b/Lua/monitor scene flags.lua similarity index 98% rename from Lua/scene flag monitor.lua rename to Lua/monitor scene flags.lua index ceda019..d6bb439 100644 --- a/Lua/scene flag monitor.lua +++ b/Lua/monitor scene flags.lua @@ -1,3 +1,4 @@ +require "lib.setup" require "boilerplate" require "addrs.init" require "classes" diff --git a/Lua/oneshot.lua b/Lua/setup hundred.lua similarity index 99% rename from Lua/oneshot.lua rename to Lua/setup hundred.lua index da98fa9..33cb0ae 100755 --- a/Lua/oneshot.lua +++ b/Lua/setup hundred.lua @@ -1,7 +1,9 @@ --- gimme gimme gimme +require "lib.setup" require "boilerplate" local a = require "addrs.init" +-- gimme gimme gimme + local iv if version == "M JP10" or version == "M JP11" then iv = require "data.item values early" diff --git a/Lua/race.lua b/Lua/setup race file.lua similarity index 89% rename from Lua/race.lua rename to Lua/setup race file.lua index 062cf0d..467b126 100644 --- a/Lua/race.lua +++ b/Lua/setup race file.lua @@ -1,3 +1,4 @@ +require "lib.setup" require "boilerplate" local a = require "addrs.init" local inv = a.inventory @@ -91,9 +92,15 @@ a.spider_mask_order[3](0) -- red a.spider_mask_order[4](1) -- blue a.spider_mask_order[5](0) -- red a.spider_mask_order[6](1) -- blue -a.lottery_numbers[1](0x010203) -a.lottery_numbers[2](0x040506) -a.lottery_numbers[3](0x070809) +a.lottery_numbers[1][1](1) +a.lottery_numbers[1][2](2) +a.lottery_numbers[1][3](3) +a.lottery_numbers[2][1](4) +a.lottery_numbers[2][2](5) +a.lottery_numbers[2][3](6) +a.lottery_numbers[3][1](7) +a.lottery_numbers[3][2](8) +a.lottery_numbers[3][3](9) a.epona_scene(53) a.epona_x(-1420) a.epona_y(257) diff --git a/Lua/test chests.lua b/Lua/test chests.lua index 0f20e96..63f3bf7 100755 --- a/Lua/test chests.lua +++ b/Lua/test chests.lua @@ -8,7 +8,7 @@ local versions = { local version = versions[hash] local index = 0 -local fn = 'lua chest test' +local fn = 'data/lua chest test.State' local start, ours, text if version == 'US10' then diff --git a/Lua/movement tests.lua b/Lua/test movement.lua similarity index 99% rename from Lua/movement tests.lua rename to Lua/test movement.lua index 6243c13..1067f74 100755 --- a/Lua/movement tests.lua +++ b/Lua/test movement.lua @@ -64,7 +64,7 @@ local link = addrs.link_actor local pos = mm and {2400, 20, 375} or {-200, -40, 2330} local angle = 180 -local fn = 'lua movement test' +local fn = 'data/lua movement test.State' function pythag(x, y) return math.sqrt(x*x + y*y)