From c8a222883a409ee50af56054bc8480512c95ecde Mon Sep 17 00:00:00 2001 From: Connor Olding Date: Wed, 18 Mar 2015 17:50:55 -0700 Subject: [PATCH] more work on OoT --- Lua/A O US10.lua | 54 ++++++++++++++++++++--------------------- Lua/A common.lua | 8 +++--- Lua/actor names oot.lua | 42 ++++++++++++++++---------------- Lua/oneshot oot.lua | 52 +++++++++++++++++++++++++++++++++++++++ 4 files changed, 103 insertions(+), 53 deletions(-) create mode 100644 Lua/oneshot oot.lua diff --git a/Lua/A O US10.lua b/Lua/A O US10.lua index fa8cdc8..dfd7dd0 100644 --- a/Lua/A O US10.lua +++ b/Lua/A O US10.lua @@ -71,7 +71,7 @@ end local common = { exit_value = AL(0x02, 2), age_modifier = AL(0x04, 4), - --cutscene_status = AL(0x0A, 2), + cutscene_status = AL(0x0A, 2), -- "cutscene number" 0xFFFx time = AL(0x0C, 2), day_night = AL(0x10, 4), --time_speed = AL(0x14, 4), @@ -80,27 +80,24 @@ local common = { name = AL(0x24, 8), max_hearts = AL(0x2E, 2), hearts = AL(0x30, 2), - --has_magic = AL(0x38, 1), -- ? + has_magic = AL(0x32, 1), -- ? magic = AL(0x33, 1), rupees = AL(0x34, 2), - --has_normal_magic = AL(0x40, 1), - --has_double_magic = AL(0x41, 1), + navi_timer = AL(0x38, 2), equip_tunic_boots = AL(0x70, 1), equip_sword_shield = AL(0x71, 1), inventory_items = AL(0x74, 24), - inventory_counts = AL(0x8C, 24), + inventory_quantities= AL(0x8C, 24), --magic_beans_avail = AL(0x9B, 1), - --tunic_boots = AL(0x9C, 1), -- FIXME - --sword_shield = AL(0x9C, 1), -- FIXME - deku_upgrades = AL(0xA1, 1), - wallet_size = AL(0xA2, 1), -- also bullet bag & dive meter in OoT - quiver_bag = AL(0xA3, 1), -- also strength in OoT - --quest_items = AL(0xBC, 4), + tunic_boots = AL(0x9C, 1), + sword_shield = AL(0x9D, 1), + upgrades = AL(0xA1, 3), + quest_items = AL(0xA4, 4), --items_wft = AL(0xC0, 1), --keys_wft = AL(0xCA, 1), - --doubled_hearts = AL(0xD3, 1), -- set to 20 by the game + doubled_hearts = AL(0xCF, 1), -- set to 20 by the game --strange_string = AL(0xDE, 6), - --scene_flags_save = AL(0x470, 0x960), + scene_flags_save = AL(0xD4, 0xB0C), -- 0x1C each --slulltula_count_wf = AL(0xEC0, 2), --archery = AL(0xF00, 1), --disable_c_buttons = AL(0xF4A, 1), -- 8 @@ -109,7 +106,7 @@ local common = { --map_visible = AL(0xF62, 2), inventory = { - b_button = AL(0x68, 1), + b_button_item = AL(0x68, 1), c_left_item = AL(0x69, 1), c_down_item = AL(0x6A, 1), c_right_item = AL(0x6B, 1), @@ -136,25 +133,26 @@ local common = { hammer = AL(0x83, 1), light_arrows = AL(0x84, 1), nayrus_love = AL(0x85, 1), - bottle_1 = AL(0x85, 1), - bottle_2 = AL(0x86, 1), - bottle_3 = AL(0x87, 1), - bottle_4 = AL(0x88, 1), - trade_1 = AL(0x89, 1), - trade_2 = AL(0x8A, 1), + bottle_1 = AL(0x86, 1), + bottle_2 = AL(0x87, 1), + bottle_3 = AL(0x88, 1), + bottle_4 = AL(0x89, 1), + trade_1 = AL(0x8A, 1), + trade_2 = AL(0x8B, 1), }, quantities = { - arrows = AL(0xA1, 1), -- FIXME - bombs = AL(0xA6, 1), - bombchu = AL(0xA7, 1), - sticks = AL(0xA8, 1), - nuts = AL(0xA9, 1), - beans = AL(0xAA, 1), - kegs = AL(0xAC, 1), + sticks = AL(0x8C, 1), + nuts = AL(0x8D, 1), + bombs = AL(0x8E, 1), + arrows = AL(0x8F, 1), + seeds = AL(0x92, 1), + bombchu = AL(0x94, 1), + beans = AL(0x9A, 1), }, camera_target = AG(0x270, 4), actor_count = AG(0x1C2C, 1), + -- TODO: use array here instead of individual keys actor_count_0 = AG(0x1C30, 4), actor_first_0 = AG(0x1C34, 4), actor_count_1 = AG(0x1C38, 4), @@ -184,5 +182,5 @@ local common = { } return merge(common, { - + target_style = AL(0x140C, 1), }) diff --git a/Lua/A common.lua b/Lua/A common.lua index c0b9c60..f2985ef 100755 --- a/Lua/A common.lua +++ b/Lua/A common.lua @@ -33,10 +33,10 @@ function Actor(addr) damage_table = AA(0xA0, 4), hp = AA(0xB7, 1), angle = AA(0xBA, 2), - foot_left_x = AA(0xD4, 'f'), + foot_left_x = AA(0xD4, 'f'), -- tested on Link, may be other things foot_left_y = AA(0xD8, 'f'), foot_left_z = AA(0xDC, 'f'), - foot_right_x = AA(0xE0, 'f'), + foot_right_x = AA(0xE0, 'f'), -- tested on Link, may be other things foot_right_y = AA(0xE4, 'f'), foot_right_z = AA(0xE8, 'f'), camera_rel_x = AA(0xEC, 'f'), @@ -78,7 +78,7 @@ return { sword_shield = AL(0x6D, 1), inventory_items = AL(0x70, 24), inventory_masks = AL(0x88, 24), - inventory_counts = AL(0xA0, 24), + inventory_quantities= AL(0xA0, 24), wallet_size = AL(0xBA, 1), -- 0, 16, 32, unused 48 quiver_bag = AL(0xBB, 1), quest_items = AL(0xBC, 4), @@ -128,7 +128,7 @@ return { bombers_code_5 = AL(0xFFF, 1), inventory = { - b_button = AL(0x4C, 1), + b_button_item = AL(0x4C, 1), c_left_item = AL(0x4D, 1), c_down_item = AL(0x4E, 1), c_right_item = AL(0x4F, 1), diff --git a/Lua/actor names oot.lua b/Lua/actor names oot.lua index a7abc1c..3a1d8e8 100644 --- a/Lua/actor names oot.lua +++ b/Lua/actor names oot.lua @@ -21,10 +21,10 @@ return { [0x012]="Dodongo", [0x013]="Keese", [0x014]="Epona", - [0x015]="Collectable Field & Dungeon Items", + [0x015]="Collectable / Dungeon Items", [0x016]="Small Orange Flame (Fades Away)", [0x017]=unset, - [0x018]="Navi & Healing Fairy", + [0x018]="Navi / Fairy", [0x019]="Cucco", [0x01A]=unset, [0x01B]="Tektite", @@ -37,7 +37,7 @@ return { [0x022]=unset, [0x023]="Room Transition Plane", [0x024]="???", - [0x025]="Lizalfos & Dinalfos", + [0x025]="Lizalfos / Dinalfos", [0x026]="Flagpole", [0x027]="King Dodongo", [0x028]="Gohma", @@ -57,7 +57,7 @@ return { [0x036]=unset, [0x037]="Skulltula", [0x038]="Torch Slug", - [0x039]="Directional Signposts", + [0x039]="Directional Sign", [0x03A]="Stinger (Land)", [0x03B]="Environmental Sound Effects", [0x03C]="Generic Horse", @@ -81,7 +81,7 @@ return { [0x04E]="???", [0x04F]="Kokiri Girl (Early)", [0x050]="Floating Square Platform (Deku Tree)", - [0x051]="Spiked Log & Dropdown Ladder", + [0x051]="Spiked Log / Dropdown Ladder", [0x052]="Phantom Ganon", [0x053]=unset, [0x054]="Armos", @@ -93,9 +93,9 @@ return { [0x05A]="Jabu-Jabu", [0x05B]="Zelda's Horse", [0x05C]="Bombable Stairs", - [0x05D]="Blue Warp & Rupee-Shaped Prism", + [0x05D]="Blue Warp / Rupee-Shaped Prism", [0x05E]="Torch", - [0x05F]="Heart Container & Heart Piece???", + [0x05F]="Heart Container / Heart Piece???", [0x060]="Mad Scrub", [0x061]="Rotating Ring", [0x062]="Statue Eye Targets", @@ -110,7 +110,7 @@ return { [0x06B]="Flying Floor Tile", [0x06C]="Master Sword", [0x06D]="Phantom Ganon's Lightning", - [0x06E]="Blank Warp Pad & Ocarina Pedestal", + [0x06E]="Blank Warp Pad / Ocarina Pedestal", [0x06F]="Goron Prison Bars", [0x070]="Door of Time Collision Model", [0x071]="???", @@ -119,7 +119,7 @@ return { [0x074]=unset, [0x075]=unset, [0x076]=unset, - [0x077]="Grass & Trees", + [0x077]="Grass / Trees", [0x078]=unset, [0x079]=unset, [0x07A]=unset, @@ -144,7 +144,7 @@ return { [0x08D]="???", [0x08E]="Floormaster", [0x08F]="Hylian Soldier (Castle Hedge Maze)", - [0x090]="Redead & Gibdo", + [0x090]="Redead / Gibdo", [0x091]="Poe Sisters", [0x092]="Golden Gauntlets Rock", [0x093]="???", @@ -204,7 +204,7 @@ return { [0x0C9]="Saria (Cutscenes)", [0x0CA]="Goron (Cutscenes)", [0x0CB]="Ingo", - [0x0CC]="Kotake & Koume", + [0x0CC]="Kotake / Koume", [0x0CD]="Boulder Blocking Dodongo's Cavern", [0x0CE]=unset, [0x0CF]="Bombable Wall (Fire Temple)", @@ -274,7 +274,7 @@ return { [0x10F]="Collectable Quest Items", [0x110]="Small Wooden Crate", [0x111]="Pot", - [0x112]="Invisible Collectable Items", + [0x112]="Invisible Collectable", [0x113]="Iron Knuckle", [0x114]="Iron Knuckle (Cutscenes)", [0x115]="Skullkid", @@ -293,7 +293,7 @@ return { [0x122]="Dampé's Ghost", [0x123]="Dampé's Relay Objects", [0x124]="Diving Game Zora", - [0x125]="Grass Clump", + [0x125]="Grass", [0x126]="Bean Planting Spot", [0x127]="Bombable Boulder", [0x128]=unset, @@ -321,7 +321,7 @@ return { [0x13E]="Bean Seller", [0x13F]="Carpenter Boss's Son (Lost Woods)", [0x140]="Gate to Ingo's Ranch", - [0x141]="Square Sign", + [0x141]="Sign", [0x142]="Hylian Soldier (Hyrule Castle)", [0x143]="???", [0x144]="Cucco (Attacking)", @@ -334,10 +334,10 @@ return { [0x14B]="Bombchu Bowling Alley Employee", [0x14C]="???", [0x14D]="Kaepora Gaebora", - [0x14E]="Silver Gauntlets Boulder", - [0x14F]="Graveyard Flower", + [0x14E]="Rock / Boulder", -- "Silver Gauntlets Boulder", + [0x14F]="? Graveyard Flower", [0x150]="Sun Switch", - [0x151]="Groups of Rocks & Bushes", + [0x151]="Groups of Rocks / Bushes", [0x152]="Goron (Early)", [0x153]="Windmill Man", [0x154]=unset, @@ -355,13 +355,13 @@ return { [0x160]="Big Water Spout", [0x161]=unset, [0x162]="Running Man (Hyrule Field & Ending)", - [0x163]="Kokiri Spawner", + [0x163]="Kokiri Child", [0x164]="King Zora", [0x165]="Weather-Changing Tag", [0x166]="Bongo Bongo's Drum Head", [0x167]="Kakariko Rooftop Man", [0x168]="Bombchu Bowling Prizes???", - [0x169]="Iron Knuckle Throne & Columns", + [0x169]="Iron Knuckle Throne / Columns", [0x16A]="Carpet Merchant", [0x16B]="Carpet Merchant's Magic Carpet", [0x16C]="Graveyard Boy", @@ -387,7 +387,7 @@ return { [0x180]=unset, [0x181]="Grotto Treasure Chest", [0x182]="Ending Cutscene NPCs", - [0x183]="???", + [0x183]="? Zelda Lullaby Fairy?", [0x184]="Great Fairy's Healing Beam", [0x185]="Checkable Spot", [0x186]="Patrolling Gerudo in Purple", @@ -430,7 +430,7 @@ return { [0x1AB]="Group of Rupees", [0x1AC]="Honey & Darling", [0x1AD]="Haggling Shoppers", - [0x1AE]="Goron & Biggoron", + [0x1AE]="Goron / Biggoron", [0x1AF]="Wolfos", [0x1B0]="Stalchild", [0x1B1]="???", diff --git a/Lua/oneshot oot.lua b/Lua/oneshot oot.lua new file mode 100644 index 0000000..c8c4396 --- /dev/null +++ b/Lua/oneshot oot.lua @@ -0,0 +1,52 @@ +local addrs = require "addrs" +require "item values" + +local inv = addrs.inventory +local quantities = addrs.quantities + +_=addrs.target_style and addrs.target_style(1) + +addrs.hearts (16*20) +addrs.max_hearts (16*20) +addrs.doubled_hearts(20) +addrs.has_magic (1) +addrs.magic (0x60) +addrs.rupees (500) + +addrs.tunic_boots (0xFF) -- normally 0x77 +addrs.sword_shield (0xF7) -- normally 0x77? +addrs.upgrades (0x36E458) -- normally ? +addrs.quest_items (0x00FFFFFF) + +inv.deku_stick (0x00) +inv.deku_nut (0x01) +inv.bombs (0x02) +inv.bow (0x03) +inv.fire_arrows (0x04) +inv.dins_fire (0x05) +inv.slingshot (0x06) +inv.ocarina (0x08) +inv.bombchu (0x09) +inv.hookshot (0x0B) +inv.ice_arrows (0x0C) +inv.farores_wind (0x0D) +inv.boomerang (0x0E) +inv.lens_of_truth (0x0F) +inv.magic_beans (0x10) +inv.hammer (0x11) +inv.light_arrows (0x12) +inv.nayrus_love (0x13) +inv.bottle_1 (0x14) +inv.bottle_2 (0x18) +inv.bottle_3 (0x19) +inv.bottle_4 (0x1C) +--trade_1 (0xFF) +--trade_2 (0xFF) + +quantities.sticks (69) +quantities.nuts (69) +quantities.bombs (69) +quantities.arrows (69) +quantities.seeds (69) +quantities.bombchu (69) +quantities.beans (69)