diff --git a/Lua/data/_exits_seen.lua b/Lua/data/_exits_seen.lua index bd760ba..174e9a3 100644 --- a/Lua/data/_exits_seen.lua +++ b/Lua/data/_exits_seen.lua @@ -1,6 +1,8 @@ return { ["0000"] = true, ["0400"] = true, + ["0600"] = true, + ["0610"] = true, ["0800"] = true, ["0E00"] = true, ["0E10"] = true, @@ -10,6 +12,7 @@ return { ["2010"] = true, ["2020"] = true, ["2030"] = true, + ["2040"] = true, ["2050"] = true, ["2060"] = true, ["20B0"] = true, @@ -44,8 +47,10 @@ return { ["3A00"] = true, ["3C00"] = true, ["3E00"] = true, + ["3E10"] = true, ["3E20"] = true, ["3E30"] = true, + ["3E40"] = true, ["4000"] = true, ["4010"] = true, ["4020"] = true, @@ -99,6 +104,10 @@ return { ["6060"] = true, ["6200"] = true, ["6400"] = true, + ["6420"] = true, + ["6430"] = true, + ["6440"] = true, + ["6450"] = true, ["6800"] = true, ["6810"] = true, ["6820"] = true, @@ -108,6 +117,7 @@ return { ["6860"] = true, ["6870"] = true, ["6880"] = true, + ["68B0"] = true, ["68C0"] = true, ["6A00"] = true, ["6A10"] = true, @@ -115,6 +125,7 @@ return { ["6A30"] = true, ["6A40"] = true, ["6A50"] = true, + ["6A60"] = true, ["6C00"] = true, ["7000"] = true, ["7010"] = true, @@ -130,6 +141,8 @@ return { ["7A00"] = true, ["7A10"] = true, ["7A20"] = true, + ["7C00"] = true, + ["7E00"] = true, ["8000"] = true, ["8400"] = true, ["8410"] = true, @@ -141,8 +154,10 @@ return { ["8470"] = true, ["8480"] = true, ["8490"] = true, + ["84A0"] = true, ["8600"] = true, ["8620"] = true, + ["8640"] = true, ["8E00"] = true, ["9000"] = true, ["9010"] = true, @@ -161,6 +176,7 @@ return { ["9A30"] = true, ["9A40"] = true, ["9A60"] = true, + ["9A80"] = true, ["9C00"] = true, ["9E00"] = true, A000 = true, @@ -174,6 +190,7 @@ return { AA00 = true, AA10 = true, AA20 = true, + AA30 = true, AC00 = true, AC10 = true, B000 = true, @@ -181,6 +198,7 @@ return { B200 = true, B210 = true, B220 = true, + B230 = true, B400 = true, B410 = true, B420 = true, @@ -223,10 +241,12 @@ return { D800 = true, D810 = true, D820 = true, + D830 = true, D840 = true, D850 = true, D860 = true, D870 = true, + D890 = true, DA00 = true, DA10 = true, } diff --git a/Lua/inject/beta.asm b/Lua/inject/beta.asm index 5871845..3f7c689 100644 --- a/Lua/inject/beta.asm +++ b/Lua/inject/beta.asm @@ -21,7 +21,6 @@ /* TODO: short term: - set first SoT cutscene as watched already shuffle owl loads shuffle owl warps go to poisoned or clean swamp depending on boss defeated status @@ -247,7 +246,7 @@ shuffle_hook_return: .org @default_save .ascii "\0\0\0\0\0\0" // ZELDA3 - .half 0 // SoT count + .half 1 // SoT count .ascii ">>>>>>>>" // player name .half 0x30 // hearts .half 0x30 // max hearts diff --git a/Lua/inject/entrances.asm b/Lua/inject/entrances.asm index 77d6373..d882d16 100644 --- a/Lua/inject/entrances.asm +++ b/Lua/inject/entrances.asm @@ -1,233 +1,142 @@ -[entries]: 228 +[entries]: 258 shuffles: -// format: from, to +// format: from, to[, paired_from, paired_to] // "to" gets filled in when the file is loaded -.half 0x0400, 0 -.half 0x0800, 0 -.half 0x0E00, 0 -.half 0x0E10, 0 -.half 0x1500, 0 -.half 0x1C00, 0 -.half 0x2000, 0 -.half 0x2010, 0 -.half 0x2020, 0 -.half 0x2030, 0 -.half 0x2050, 0 -.half 0x2060, 0 -.half 0x20B0, 0 -.half 0x20C0, 0 -.half 0x20D0, 0 -.half 0x20E0, 0 -.half 0x2200, 0 -.half 0x2210, 0 -.half 0x2220, 0 -.half 0x2230, 0 -.half 0x2240, 0 -.half 0x2260, 0 -.half 0x2270, 0 -.half 0x22A0, 0 -.half 0x22C0, 0 -.half 0x2400, 0 -.half 0x2600, 0 -.half 0x2800, 0 -.half 0x2A00, 0 -.half 0x2E10, 0 -.half 0x3200, 0 -.half 0x3210, 0 -.half 0x3400, 0 -.half 0x3410, 0 -.half 0x3420, 0 -.half 0x3430, 0 -.half 0x3440, 0 -.half 0x3450, 0 -.half 0x3460, 0 -.half 0x3600, 0 -.half 0x3A00, 0 -.half 0x3C00, 0 -.half 0x3E00, 0 -.half 0x3E20, 0 -.half 0x3E30, 0 -.half 0x4000, 0 -.half 0x4010, 0 -.half 0x4020, 0 -.half 0x4030, 0 -.half 0x4050, 0 -.half 0x4060, 0 -.half 0x4080, 0 -.half 0x4090, 0 -.half 0x40A0, 0 -.half 0x4200, 0 -.half 0x4400, 0 -.half 0x4410, 0 -.half 0x4600, 0 -.half 0x4610, 0 -.half 0x4620, 0 -.half 0x4630, 0 -.half 0x4640, 0 -.half 0x4800, 0 -.half 0x4A00, 0 -.half 0x4C00, 0 -.half 0x4C10, 0 -.half 0x4C20, 0 -.half 0x5000, 0 -.half 0x5010, 0 -.half 0x5020, 0 -.half 0x5030, 0 -.half 0x5040, 0 -.half 0x5050, 0 -.half 0x5200, 0 -.half 0x5400, 0 -.half 0x5410, 0 -.half 0x5420, 0 -.half 0x5430, 0 -.half 0x5440, 0 -.half 0x5450, 0 -.half 0x5460, 0 -.half 0x5470, 0 -.half 0x5480, 0 -.half 0x5490, 0 -.half 0x54A0, 0 -.half 0x5600, 0 -.half 0x5800, 0 -.half 0x5E00, 0 -.half 0x5E10, 0 -.half 0x6000, 0 -.half 0x6010, 0 -.half 0x6020, 0 -.half 0x6030, 0 -.half 0x6040, 0 -.half 0x6050, 0 -.half 0x6060, 0 -.half 0x6200, 0 -.half 0x6400, 0 -.half 0x6800, 0 -.half 0x6810, 0 -.half 0x6820, 0 -.half 0x6830, 0 -.half 0x6840, 0 -.half 0x6850, 0 -.half 0x6860, 0 -.half 0x6870, 0 -.half 0x6880, 0 -.half 0x68C0, 0 -.half 0x6A00, 0 -.half 0x6A10, 0 -.half 0x6A20, 0 -.half 0x6A30, 0 -.half 0x6A40, 0 -.half 0x6A50, 0 -.half 0x6C00, 0 -.half 0x7000, 0 -.half 0x7010, 0 -.half 0x7020, 0 -.half 0x7030, 0 -.half 0x7040, 0 -.half 0x7050, 0 -.half 0x7060, 0 -.half 0x7200, 0 -.half 0x7400, 0 -.half 0x7600, 0 -.half 0x7610, 0 -.half 0x7A00, 0 -.half 0x7A10, 0 -.half 0x7A20, 0 -.half 0x8000, 0 -.half 0x8400, 0 -.half 0x8410, 0 -.half 0x8420, 0 -.half 0x8430, 0 -.half 0x8440, 0 -.half 0x8450, 0 -.half 0x8460, 0 -.half 0x8470, 0 -.half 0x8480, 0 -.half 0x8490, 0 -.half 0x8600, 0 -.half 0x8620, 0 -.half 0x8E00, 0 -.half 0x9000, 0 -.half 0x9010, 0 -.half 0x9200, 0 -.half 0x9210, 0 -.half 0x9220, 0 -.half 0x9230, 0 -.half 0x9250, 0 -.half 0x9400, 0 -.half 0x9420, 0 -.half 0x9430, 0 -.half 0x9600, 0 -.half 0x9800, 0 -.half 0x9A10, 0 -.half 0x9A20, 0 -.half 0x9A30, 0 -.half 0x9A40, 0 -.half 0x9A60, 0 -.half 0x9C00, 0 -.half 0x9E00, 0 -.half 0xA000, 0 -.half 0xA010, 0 -.half 0xA020, 0 -.half 0xA200, 0 -.half 0xA400, 0 -.half 0xA600, 0 -.half 0xA800, 0 -.half 0xA810, 0 -.half 0xAA00, 0 -.half 0xAA10, 0 -.half 0xAA20, 0 -.half 0xAC00, 0 -.half 0xAC10, 0 -.half 0xB000, 0 -.half 0xB010, 0 -.half 0xB200, 0 -.half 0xB210, 0 -.half 0xB220, 0 -.half 0xB400, 0 -.half 0xB410, 0 -.half 0xB420, 0 -.half 0xBA00, 0 -.half 0xBC00, 0 -.half 0xBC10, 0 -.half 0xC000, 0 -.half 0xC010, 0 -.half 0xC200, 0 -.half 0xCA00, 0 -.half 0xCE00, 0 -.half 0xCE30, 0 -.half 0xD000, 0 -.half 0xD200, 0 -.half 0xD210, 0 -.half 0xD220, 0 -.half 0xD230, 0 -.half 0xD240, 0 -.half 0xD250, 0 -.half 0xD260, 0 -.half 0xD270, 0 -.half 0xD280, 0 -.half 0xD290, 0 -.half 0xD2A0, 0 -.half 0xD2B0, 0 -.half 0xD400, 0 -.half 0xD410, 0 -.half 0xD420, 0 -.half 0xD430, 0 -.half 0xD440, 0 -.half 0xD450, 0 -.half 0xD460, 0 -.half 0xD470, 0 -.half 0xD480, 0 -.half 0xD600, 0 -.half 0xD610, 0 -.half 0xD620, 0 -.half 0xD630, 0 -.half 0xD640, 0 -.half 0xD800, 0 -.half 0xD810, 0 -.half 0xD820, 0 -.half 0xD840, 0 -.half 0xD850, 0 -.half 0xD860, 0 -.half 0xD870, 0 -.half 0xDA00, 0 -.half 0xDA10, 0 + +.half 0x0000, 0, 0xD270, 0 +.half 0x0400, 0, 0x8450, 0 +.half 0x0600, 0, 0x6420, 0 +.half 0x0610, 0, 0x6430, 0 +.half 0x0800, 0, 0xD260, 0 +.half 0x0A00, 0, 0x8020, 0 +.half 0x0A10, 0, 0x8030, 0 +.half 0x0E00, 0, 0xD440, 0 +.half 0x0E10, 0, 0xDA10, 0 +.half 0x0E20, 0, 0x0E30, 0 +.half 0x14C0, 0, 0x5090, 0 +.half 0x1500, 0, 0x9430, 0 +.half 0x2000, 0, 0xA010, 0 +.half 0x2010, 0, 0x9C00, 0 +.half 0x2020, 0, 0xA400, 0 +.half 0x2030, 0, 0xAA00, 0 +.half 0x2050, 0, 0x9000, 0 +.half 0x2060, 0, 0x9800, 0 +.half 0x2080, 0, 0x3410, 0 +.half 0x20B0, 0, 0x4640, 0 +.half 0x20C0, 0, 0xBA00, 0 +.half 0x20D0, 0, 0x20E0, 0 +.half 0x2200, 0, 0x7010, 0 +.half 0x2210, 0, 0x4000, 0 +.half 0x2220, 0, 0x4010, 0 +.half 0x2230, 0, 0x4020, 0 +.half 0x2240, 0, 0x4030, 0 +.half 0x2250, 0, 0x4040, 0 +.half 0x2260, 0, 0x4050, 0 +.half 0x2270, 0, 0x4060, 0 +.half 0x2280, 0, 0x4070, 0 +.half 0x22A0, 0, 0x4080, 0 +.half 0x22C0, 0, 0x7050, 0 +.half 0x2400, 0, 0xD2B0, 0 +.half 0x2600, 0, 0xAA20, 0 +.half 0x2800, 0, 0xD240, 0 +.half 0x2A00, 0, 0xAC10, 0 +.half 0x2E10, 0, 0xC000, 0 +.half 0x3000, 0, 0x8610, 0 +.half 0x3020, 0, 0x8630, 0 +.half 0x3200, 0, 0x5430, 0 +.half 0x3210, 0, 0x9A60, 0 +.half 0x3400, 0, 0x9010, 0 +.half 0x3420, 0, 0x3430, 0 +.half 0x3460, 0, 0xA600, 0 +.half 0x3600, 0, 0xD640, 0 +.half 0x3A00, 0, 0xD280, 0 +.half 0x3C00, 0, 0xB210, 0 +.half 0x3E00, 0, 0x5450, 0 +.half 0x3E10, 0, 0x6400, 0 +.half 0x3E20, 0, 0xCE30, 0 +.half 0x3E30, 0, 0xCE00, 0 +.half 0x4090, 0, 0x7020, 0 +.half 0x40A0, 0, 0x7060, 0 +.half 0x4200, 0, 0x7A20, 0 +.half 0x4400, 0, 0x6830, 0 +.half 0x4600, 0, 0xD630, 0 +.half 0x4610, 0, 0x8620, 0 +.half 0x4620, 0, 0xB220, 0 +.half 0x4630, 0, 0x6A50, 0 +.half 0x4800, 0, 0x8480, 0 +.half 0x4A00, 0, 0x6880, 0 +.half 0x4C00, 0, 0xD220, 0 +.half 0x4C10, 0, 0x5490, 0 +.half 0x4C20, 0, 0x54A0, 0 +.half 0x5000, 0, 0x8430, 0 +.half 0x5020, 0, 0x7600, 0 +.half 0x5030, 0, 0x7610, 0 +.half 0x5040, 0, 0x9E00, 0 +.half 0x5050, 0, 0x8440, 0 +.half 0x5200, 0, 0x9A10, 0 +.half 0x5400, 0, 0xD400, 0 +.half 0x5410, 0, 0x7A00, 0 +.half 0x5420, 0, 0x6800, 0 +.half 0x5440, 0, 0xA000, 0 +.half 0x5460, 0, 0xD810, 0 +.half 0x5470, 0, 0xD200, 0 +.half 0x5480, 0, 0xD600, 0 +.half 0x5600, 0, 0xD470, 0 +.half 0x5800, 0, 0x6870, 0 +.half 0x5A00, 0, 0x8010, 0 +.half 0x5A10, 0, 0x8040, 0 +.half 0x5E00, 0, 0x9420, 0 +.half 0x5E10, 0, 0x7400, 0 +.half 0x6000, 0, 0x6A10, 0 +.half 0x6010, 0, 0x6A20, 0 +.half 0x6020, 0, 0x9250, 0 +.half 0x6030, 0, 0x9220, 0 +.half 0x6040, 0, 0x9230, 0 +.half 0x6050, 0, 0x9210, 0 +.half 0x6060, 0, 0x9200, 0 +.half 0x6200, 0, 0xD450, 0 +.half 0x6440, 0, 0x7E00, 0 +.half 0x6450, 0, 0x7C00, 0 +.half 0x6810, 0, 0x6A00, 0 +.half 0x6840, 0, 0x7200, 0 +.half 0x6850, 0, 0x7000, 0 +.half 0x6A40, 0, 0x8E00, 0 +.half 0x6A70, 0, 0x8C00, 0 +.half 0x6C00, 0, 0xD480, 0 +.half 0x7A10, 0, 0x8400, 0 +.half 0x8000, 0, 0xA020, 0 +.half 0x8410, 0, 0xA800, 0 +.half 0x8420, 0, 0x8600, 0 +.half 0x8470, 0, 0xC200, 0 +.half 0x9400, 0, 0xB410, 0 +.half 0x9600, 0, 0x9A30, 0 +.half 0x9A20, 0, 0xB400, 0 +.half 0x9A40, 0, 0xB000, 0 +.half 0xA200, 0, 0xD430, 0 +.half 0xAA10, 0, 0xAC00, 0 +.half 0xB010, 0, 0xB200, 0 +.half 0xB420, 0, 0xD000, 0 +.half 0xBC00, 0, 0xD290, 0 +.half 0xBC10, 0, 0xD2A0, 0 +.half 0xC010, 0, 0xD800, 0 +.half 0xCA00, 0, 0xD460, 0 +.half 0xD210, 0, 0xD870, 0 +.half 0xD230, 0, 0xD820, 0 +.half 0xD250, 0, 0xD610, 0 +.half 0xD410, 0, 0xD850, 0 +.half 0xD420, 0, 0xD830, 0 +.half 0xD620, 0, 0xD840, 0 +.half 0xD860, 0, 0xDA00, 0 + +.half 0x2040, 0 // owl save/warp: ikana canyon +.half 0x3E40, 0 // owl save/warp: milk road +.half 0x68B0, 0 // owl save/warp: great bay +.half 0x6A60, 0 // owl save/warp: zora cape +.half 0x84A0, 0 // owl save/warp: southern swamp +.half 0x8640, 0 // owl save/warp: woodfall +.half 0x9A80, 0 // owl save/warp: mountain village +.half 0xAA30, 0 // owl save/warp: stone tower +.half 0xB230, 0 // owl save/warp: snowhead +.half 0xD890, 0 // owl save/warp: clock town + .align