Skip to content
Permalink
master
Switch branches/tags
Go to file
 
 
Cannot retrieve contributors at this time
DICTIONARY
//
// For use with decompressed 1.0 U OoT only!
// This version of the manifest requires zzplayas rev 4b or newer
//
VROM_CODE 0x00A87000 // start of code within rom
TABLE_OBJECT 0xE7F58 // object table within code
TABLE_ACTOR 0xD7490 // actor table within code
TABLE_PARTICLE 0xD6BA0 // particle table within code
VROM_SS_STICK E_16 // ovl_Effect_Ss_Stick effect 16
VROM_ARMS_HOOK A_102 // Arms_Hook actor 102
VROM_OBJ O_0x14 // object to overwrite
SEG 0x06000000 // ram segment
OBJ_BOY 0x0014 // object_link_boy object number
// Hierarchy
DL_WAIST 0x00EBE8 "riggedmesh.Waist"
DL_RTHIGH 0x00F260 "riggedmesh.Thigh.R"
DL_RSHIN 0x00F868 "riggedmesh.Shin.R"
DL_RFOOT 0x00FDE8 "riggedmesh.Foot.R"
DL_LTHIGH 0x010280 "riggedmesh.Thigh.L"
DL_LSHIN 0x010898 "riggedmesh.Shin.L"
DL_LFOOT 0x010E18 "riggedmesh.Foot.L"
DL_HEAD 0x011D20 "riggedmesh.Head"
DL_HAT 0x0126F8 "riggedmesh.Hat"
DL_COLLAR 0x012900 "riggedmesh.Collar"
DL_LSHOULDER 0x012D00 "riggedmesh.Shoulder.L"
DL_LFOREARM 0x013228 "riggedmesh.Forearm.L"
DL_RSHOULDER 0x014868 "riggedmesh.Shoulder.R"
DL_RFOREARM 0x014D88 "riggedmesh.Forearm.R"
DL_TORSO 0x016188 "riggedmesh.Torso"
// Hands
DL_LHAND 0x013890 "riggedmesh.Hand.L"
DL_LFIST 0x013DF0 "Fist.L"
DL_LHAND_BOTTLE 0x014310 "Bottle.Hand.L"
DL_RHAND 0x0153C0 "riggedmesh.Hand.R"
DL_RFIST 0x015928 "Fist.R"
// Items
DL_SWORD_SHEATH 0x015D58 "Sheath"
DL_SWORD_HILT 0x0168E8 "Hilt.2"
DL_SWORD_BLADE 0x016E48 "Blade.2"
DL_LONGSWORD_HILT 0x017148 "Hilt.3"
DL_LONGSWORD_BLADE 0x0174E0 "Blade.3"
DL_LONGSWORD_BROKEN 0x017700 "Broken.Blade.3"
DL_SHIELD_DEKU 0x01A210 "Shield.1" // DF command
DL_SHIELD_HYLIAN 0x018BC0 "Shield.2"
DL_SHIELD_MIRROR 0x0190E8 "Shield.3"
DL_HAMMER 0x0184A8 "Hammer"
DL_BOTTLE 0x0188E8 "Bottle"
DL_BOW 0x019810 "Bow"
DL_OCARINA_TIME 0x019AE0 "Ocarina.2"
DL_HOOKSHOT 0x019FC0 "Hookshot"
DL_BOOMERANG 0x01A210 "Boomerang" // DF command
// Flair
DL_UPGRADE_LFOREARM 0x01D688 "Gauntlet.Forearm.L"
DL_UPGRADE_LHAND 0x01D9A8 "Gauntlet.Hand.L"
DL_UPGRADE_LFIST 0x01DD68 "Gauntlet.Fist.L"
DL_UPGRADE_RFOREARM 0x01E048 "Gauntlet.Forearm.R"
DL_UPGRADE_RHAND 0x01E368 "Gauntlet.Hand.R"
DL_UPGRADE_RFIST 0x01E728 "Gauntlet.Fist.R"
DL_BOOT_LIRON 0x01EB38 "Foot.2.L"
DL_BOOT_RIRON 0x01EF50 "Foot.2.R"
DL_BOOT_LHOVER 0x01F588 "Foot.3.L"
DL_BOOT_RHOVER 0x01FC80 "Foot.3.R"
// First Person
DL_FPS_LFOREARM 0x01A9D8 "FPS.Forearm.L"
DL_FPS_LHAND 0x01BAA0 "FPS.Hand.L"
DL_FPS_RFOREARM 0x01C510 "FPS.Forearm.R"
DL_FPS_RHAND 0x01D1C8 "FPS.Hand.R"
DL_FPS_HOOKSHOT 0x020728 "FPS.Hookshot"
// Misc
DL_HOOKSHOT_CHAIN 0x020BA0 "Hookshot.Chain"
DL_HOOKSHOT_HOOK 0x020D78 "Hookshot.Spike"
DL_HOOKSHOT_AIM 0x020E58 "Hookshot.Aiming.Reticule"
DL_BOW_STRING 0x020F20 "Bow.String"
DL_BLADEBREAK 0x0212A0 "Blade.3.Break"
// Skeletons
SK_MAIN 0x0 "skeleton.riggedmesh"
END
// Matrix function parameters:
// Matrix( XR, YR, ZR, XT, YT, ZT, XS, YS, ZS );
OBJECT POOL=0x5000,0x800
LUT_ZZ_MODLOADER:
HexString(4D 4F 44 4C 4F 41 44 45 52 36 34 00 FF FF FF FF);
MATRIX_SWORD_BACK:
Matrix( 0, 0, 0, -715, -310, 78, 1, 1, 1 );
MATRIX_SHIELD_BACK:
Matrix( 0, 0, 180, 935, 94, 29, 1, 1, 1 );
LUT_DL_WAIST:
CallList( DL_WAIST );
LUT_DL_RTHIGH:
CallList( DL_RTHIGH );
LUT_DL_RSHIN:
CallList( DL_RSHIN );
LUT_DL_RFOOT:
CallList( DL_RFOOT );
LUT_DL_LTHIGH:
CallList( DL_LTHIGH );
LUT_DL_LSHIN:
CallList( DL_LSHIN );
LUT_DL_LFOOT:
CallList( DL_LFOOT );
LUT_DL_HEAD:
CallList( DL_HEAD );
LUT_DL_HAT:
CallList( DL_HAT );
LUT_DL_COLLAR:
CallList( DL_COLLAR );
LUT_DL_LSHOULDER:
CallList( DL_LSHOULDER );
LUT_DL_LFOREARM:
CallList( DL_LFOREARM );
LUT_DL_RSHOULDER:
CallList( DL_RSHOULDER );
LUT_DL_RFOREARM:
CallList( DL_RFOREARM );
LUT_DL_TORSO:
CallList( DL_TORSO );
LUT_DL_LHAND:
CallList( DL_LHAND );
LUT_DL_LFIST:
CallList( DL_LFIST );
LUT_DL_LHAND_BOTTLE:
CallList( DL_LHAND_BOTTLE );
LUT_DL_RHAND:
CallList( DL_RHAND );
LUT_DL_RFIST:
CallList( DL_RFIST );
LUT_DL_SWORD_SHEATH:
CallList( DL_SWORD_SHEATH );
LUT_DL_SWORD_HILT:
CallList( DL_SWORD_HILT );
LUT_DL_SWORD_BLADE:
CallList( DL_SWORD_BLADE );
LUT_DL_LONGSWORD_HILT:
CallList( DL_LONGSWORD_HILT );
LUT_DL_LONGSWORD_BLADE:
CallList( DL_LONGSWORD_BLADE );
LUT_DL_LONGSWORD_BROKEN:
CallList( DL_LONGSWORD_BROKEN );
LUT_DL_SHIELD_HYLIAN:
CallList( DL_SHIELD_HYLIAN );
LUT_DL_SHIELD_MIRROR:
CallList( DL_SHIELD_MIRROR );
LUT_DL_HAMMER:
CallList( DL_HAMMER );
LUT_DL_BOTTLE:
CallList( DL_BOTTLE );
LUT_DL_BOW:
CallList( DL_BOW );
LUT_DL_OCARINA_TIME:
CallList( DL_OCARINA_TIME );
LUT_DL_HOOKSHOT:
CallList( DL_HOOKSHOT );
LUT_DL_UPGRADE_LFOREARM:
CallList( DL_UPGRADE_LFOREARM );
LUT_DL_UPGRADE_LHAND:
CallList( DL_UPGRADE_LHAND );
LUT_DL_UPGRADE_LFIST:
CallList( DL_UPGRADE_LFIST );
LUT_DL_UPGRADE_RFOREARM:
CallList( DL_UPGRADE_RFOREARM );
LUT_DL_UPGRADE_RHAND:
CallList( DL_UPGRADE_RHAND );
LUT_DL_UPGRADE_RFIST:
CallList( DL_UPGRADE_RFIST );
LUT_DL_BOOT_LIRON:
CallList( DL_BOOT_LIRON );
LUT_DL_BOOT_RIRON:
CallList( DL_BOOT_RIRON );
LUT_DL_BOOT_LHOVER:
CallList( DL_BOOT_LHOVER );
LUT_DL_BOOT_RHOVER:
CallList( DL_BOOT_RHOVER );
LUT_DL_FPS_LFOREARM:
CallList( DL_FPS_LFOREARM );
LUT_DL_FPS_LHAND:
CallList( DL_FPS_LHAND );
LUT_DL_FPS_RFOREARM:
CallList( DL_FPS_RFOREARM );
LUT_DL_FPS_RHAND:
CallList( DL_FPS_RHAND );
LUT_DL_FPS_HOOKSHOT:
CallList( DL_FPS_HOOKSHOT );
LUT_DL_HOOKSHOT_CHAIN:
CallList( DL_HOOKSHOT_CHAIN );
LUT_DL_HOOKSHOT_HOOK:
CallList( DL_HOOKSHOT_HOOK );
LUT_DL_HOOKSHOT_AIM:
CallList( DL_HOOKSHOT_AIM );
LUT_DL_BOW_STRING:
CallList( DL_BOW_STRING );
LUT_DL_BLADEBREAK:
CallList( DL_BLADEBREAK );
LUT_DL_SWORD_SHEATHED:
CallMatrix( MATRIX_SWORD_BACK );
CallList( LUT_DL_SWORD_HILT );
PopMatrix( 1 );
CallList( LUT_DL_SWORD_SHEATH );
LUT_DL_SHIELD_HYLIAN_BACK:
CallMatrix( MATRIX_SHIELD_BACK );
CallList( LUT_DL_SHIELD_HYLIAN );
LUT_DL_SHIELD_MIRROR_BACK:
CallMatrix( MATRIX_SHIELD_BACK );
CallList( LUT_DL_SHIELD_MIRROR );
LUT_DL_SWORD_SHIELD_HYLIAN:
CallList( LUT_DL_SWORD_SHEATHED );
CallList( LUT_DL_SHIELD_HYLIAN_BACK );
LUT_DL_SWORD_SHIELD_MIRROR:
CallList( LUT_DL_SWORD_SHEATHED );
CallList( LUT_DL_SHIELD_MIRROR_BACK );
LUT_DL_SHEATH0_HYLIAN:
CallList( LUT_DL_SWORD_SHEATH );
CallList( LUT_DL_SHIELD_HYLIAN_BACK );
LUT_DL_SHEATH0_MIRROR:
CallList( LUT_DL_SWORD_SHEATH );
CallList( LUT_DL_SHIELD_MIRROR_BACK );
LUT_DL_LFIST_SWORD:
CallList( LUT_DL_SWORD_HILT );
CallList( LUT_DL_SWORD_BLADE );
CallList( LUT_DL_LFIST );
LUT_DL_LFIST_LONGSWORD:
CallList( LUT_DL_LONGSWORD_HILT );
CallList( LUT_DL_LONGSWORD_BLADE );
CallList( LUT_DL_LFIST );
LUT_DL_LFIST_LONGSWORD_BROKEN:
CallList( LUT_DL_LONGSWORD_HILT );
CallList( LUT_DL_LONGSWORD_BROKEN );
CallList( LUT_DL_LFIST );
LUT_DL_LFIST_HAMMER:
CallList( LUT_DL_HAMMER );
CallList( LUT_DL_LFIST );
LUT_DL_RFIST_SHIELD_HYLIAN:
CallList( LUT_DL_SHIELD_HYLIAN );
CallList( LUT_DL_RFIST );
LUT_DL_RFIST_SHIELD_MIRROR:
CallList( LUT_DL_SHIELD_MIRROR );
CallList( LUT_DL_RFIST );
LUT_DL_RFIST_BOW:
CallList( LUT_DL_BOW );
CallList( LUT_DL_RFIST );
LUT_DL_RFIST_HOOKSHOT:
CallList( LUT_DL_HOOKSHOT );
CallList( LUT_DL_RFIST );
LUT_DL_RHAND_OCARINA_TIME:
CallList( LUT_DL_OCARINA_TIME );
CallList( LUT_DL_RHAND );
LUT_DL_FPS_RHAND_BOW:
CallList( LUT_DL_BOW );
CallList( LUT_DL_FPS_RHAND );
LUT_DL_FPS_LHAND_HOOKSHOT:
CallList( LUT_DL_FPS_HOOKSHOT );
CallList( LUT_DL_FPS_RHAND );
// extras
LUT_DL_BOOMERANG:
CallList( DL_BOOMERANG );
LUT_DL_LFIST_BOOMERANG:
CallList( LUT_DL_BOOMERANG );
CallList( LUT_DL_LFIST );
LUT_DL_SHIELD_DEKU:
CallList( DL_SHIELD_DEKU );
LUT_DL_RFIST_SHIELD_DEKU:
CallList( LUT_DL_SHIELD_DEKU );
CallList( LUT_DL_RFIST );
LUT_DL_SHIELD_DEKU_BACK:
CallMatrix( MATRIX_SHIELD_BACK );
CallList( LUT_DL_SHIELD_DEKU );
LUT_DL_SWORD_SHIELD_DEKU:
CallList( LUT_DL_SWORD_SHEATHED );
CallList( LUT_DL_SHIELD_DEKU_BACK );
LUT_DL_SHEATH0_DEKU:
CallList( LUT_DL_SWORD_SHEATH );
CallList( LUT_DL_SHIELD_DEKU_BACK );
END
REPOINT
// code
GoTo( VROM_CODE+0xE6718 );
SetAdvance( 8 );
Write32( LUT_DL_RFIST ); // Right Fist (High Poly)
Write32( LUT_DL_RFIST ); // Right Fist (Low Poly)
Write32( LUT_DL_RFIST_SHIELD_DEKU ); // Right Fist + Deku Shield (High Poly)
Write32( LUT_DL_RFIST_SHIELD_DEKU ); // Right Fist + Deku Shield (Low Poly)
Write32( LUT_DL_RFIST_SHIELD_HYLIAN ); // Right Fist + Hylian Shield (High Poly)
Write32( LUT_DL_RFIST_SHIELD_HYLIAN ); // Right Fist + Hylian Shield (Low Poly)
Write32( LUT_DL_RFIST_SHIELD_MIRROR ); // Right Fist + Mirror Shield (High Poly)
Write32( LUT_DL_RFIST_SHIELD_MIRROR ); // Right Fist + Mirror Shield (Low Poly)
Write32( LUT_DL_SWORD_SHEATHED ); // Sheathed Sword (High Poly)
Write32( LUT_DL_SWORD_SHEATHED ); // Sheathed Sword (Low Poly)
Write32( LUT_DL_SWORD_SHIELD_DEKU ); // Deku Shield + Sheathed Sword (High Poly)
Write32( LUT_DL_SWORD_SHIELD_DEKU ); // Deku Shield + Sheathed Sword (Low Poly)
Write32( LUT_DL_SWORD_SHIELD_HYLIAN ); // Hylian Shield + Sheathed Sword (High Poly)
Write32( LUT_DL_SWORD_SHIELD_HYLIAN ); // Hylian Shield + Sheathed Sword (Low Poly)
Write32( LUT_DL_SWORD_SHIELD_MIRROR ); // Mirror Shield + Sheathed Sword (High Poly)
Write32( LUT_DL_SWORD_SHIELD_MIRROR ); // Mirror Shield + Sheathed Sword (Low Poly)
Write32( 0x00000000 ); // ? (High Poly)
Write32( 0x00000000 ); // ? (Low Poly)
Write32( LUT_DL_SHIELD_DEKU_BACK ); // Deku Shield without Sheath (High Poly)
Write32( LUT_DL_SHIELD_DEKU_BACK ); // Deku Shield without Sheath (Low Poly)
Write32( LUT_DL_SWORD_SHEATH ); // Sword Sheath (High Poly)
Write32( LUT_DL_SWORD_SHEATH ); // Sword Sheath (Low Poly)
Write32( LUT_DL_SHEATH0_DEKU ); // Deku Shield + Sheath (High Poly)
Write32( LUT_DL_SHEATH0_DEKU ); // Deku Shield + Sheath (Low Poly)
Write32( LUT_DL_SHEATH0_HYLIAN ); // Hylian Shield + Sheath (High Poly)
Write32( LUT_DL_SHEATH0_HYLIAN ); // Hylian Shield + Sheath (Low Poly)
Write32( LUT_DL_SHEATH0_MIRROR ); // Mirror Shield + Sheath (High Poly)
Write32( LUT_DL_SHEATH0_MIRROR ); // Mirror Shield + Sheath (Low Poly)
Write32( 0x00000000 ); // ? (High Poly)
Write32( 0x00000000 ); // ? (Low Poly)
Write32( 0x00000000 ); // ? (High Poly)
Write32( 0x00000000 ); // ? (Low Poly)
Write32( LUT_DL_LFIST_LONGSWORD ); // Left Fist + Biggoron Sword (High Poly)
Write32( LUT_DL_LFIST_LONGSWORD ); // Left Fist + Biggoron Sword (Low Poly)
Write32( LUT_DL_LFIST_LONGSWORD_BROKEN ); // Left Fist + Broken Giant's Knife (High Poly)
Write32( LUT_DL_LFIST_LONGSWORD_BROKEN ); // Left Fist + Broken Giant's Knife (Low Poly)
Write32( LUT_DL_LHAND ); // Left Hand (High Poly)
Write32( LUT_DL_LHAND ); // Left Hand (Low Poly)
Write32( LUT_DL_LFIST ); // Left Fist (High Poly)
Write32( LUT_DL_LFIST ); // Left Fist (Low Poly)
Write32( LUT_DL_LFIST_SWORD ); // Left Fist + Kokiri Sword (High Poly)
Write32( LUT_DL_LFIST_SWORD ); // Left Fist + Kokiri Sword (Low Poly)
Write32( LUT_DL_LFIST_SWORD ); // Left Fist + Master Sword (High Poly)
Write32( LUT_DL_LFIST_SWORD ); // Left Fist + Master Sword (Low Poly)
Write32( LUT_DL_RHAND ); // Right Hand (High Poly)
Write32( LUT_DL_RHAND ); // Right Hand (Low Poly)
Write32( LUT_DL_RFIST ); // Right Fist (High Poly)
Write32( LUT_DL_RFIST ); // Right Fist (Low Poly)
Write32( LUT_DL_RFIST_BOW ); // Right Fist + Fairy Bow (and/or Fairy Slinghot?) (High Poly)
Write32( LUT_DL_RFIST_BOW ); // Right Fist + Fairy Bow (and/or Fairy Slinghot?) (Low Poly)
Write32( LUT_DL_SWORD_SHEATHED ); // Sheathed Sword (High Poly)
Write32( LUT_DL_SWORD_SHEATHED ); // Sheathed Sword (Low Poly)
Write32( LUT_DL_SWORD_SHEATH ); // Sword Sheath (High Poly)
Write32( LUT_DL_SWORD_SHEATH ); // Sword Sheath (Low Poly)
Write32( LUT_DL_WAIST ); // Waist (High Poly)
Write32( LUT_DL_WAIST ); // Waist (Low Poly)
Write32( LUT_DL_RFIST_BOW ); // Right Fist + Fairy Bow (and/or Fairy Slinghot?) (High Poly)
Write32( LUT_DL_RFIST_BOW ); // Right Fist + Fairy Bow (and/or Fairy Slinghot?) (Low Poly)
Write32( LUT_DL_RHAND_OCARINA_TIME ); // Right Hand + Fairy Ocarina (High Poly)
Write32( LUT_DL_RHAND_OCARINA_TIME ); // Right Hand + Fairy Ocarina (Low Poly)
Write32( LUT_DL_RHAND_OCARINA_TIME ); // Right Hand + Ocarina of Time (High Poly)
Write32( LUT_DL_RHAND_OCARINA_TIME ); // Right Hand + Ocarina of Time (Low Poly)
Write32( LUT_DL_RFIST_HOOKSHOT ); // Right Fist + Hookshot / Longshot (High Poly)
Write32( LUT_DL_RFIST_HOOKSHOT ); // Right Fist + Hookshot / Longshot (Low Poly)
Write32( LUT_DL_LFIST_HAMMER ); // Left Fist + Megaton Hammer (High Poly)
Write32( LUT_DL_LFIST_HAMMER ); // Left Fist + Megaton Hammer (Low Poly)
Write32( LUT_DL_LFIST_BOOMERANG ); // Left Fist + Boomerang (High Poly)
Write32( LUT_DL_LFIST_BOOMERANG ); // Left Fist + Boomerang (Low Poly)
Write32( LUT_DL_LHAND_BOTTLE ); // Outstretched Left Hand for Holding Bottles (High Poly)
Write32( LUT_DL_LHAND_BOTTLE ); // Outstretched Left Hand for Holding Bottles (Low Poly)
Write32( LUT_DL_FPS_LFOREARM ); // FPS Left Forearm
Write32( LUT_DL_FPS_LHAND ); // FPS Left Hand
Write32( LUT_DL_RSHOULDER ); // Right Shoulder (High Poly)
Write32( LUT_DL_FPS_RFOREARM ); // FPS Right Forearm
Write32( LUT_DL_FPS_RHAND_BOW ); // FPS Right Hand + Fairy Bow
GoTo( VROM_CODE+0xE6A4C );
SetAdvance( 4 );
Write32( LUT_DL_BOOT_LIRON ); // Left Iron Boot
Write32( LUT_DL_BOOT_RIRON ); // Right Iron Boot
Write32( LUT_DL_BOOT_LHOVER ); // Left Hover Boot
Write32( LUT_DL_BOOT_RHOVER ); // Right Hover Boot
GoTo( VROM_CODE+0xE6B28 );
Write32( LUT_DL_BOTTLE ); // Empty Bottle
GoTo( VROM_CODE+0xE6B64 );
SetAdvance( 4 );
Write32( LUT_DL_BOW_STRING ); // Fairy Bow String
Float( 0.0 ); // Fairy Bow String Anchor (X Position Float)
Float( -360.4 ); // Fairy Bow String Anchor (Y Position Float) 0xC3B43333
GoTo(VROM_CODE+0xE65A0); // skeleton pointer
Write32(SK_MAIN);
// Hardcoded Assembly Pointers
GoTo( VROM_CODE+0x69112 ); // Left Silver/Golden Gauntlet Forearm
Hi32( LUT_DL_UPGRADE_LFOREARM );
GoTo( VROM_CODE+0x69116 );
Lo32( LUT_DL_UPGRADE_LFOREARM );
GoTo( VROM_CODE+0x6912E ); // Right Silver / Golden Gauntlet Forearm
Hi32( LUT_DL_UPGRADE_RFOREARM );
GoTo( VROM_CODE+0x69132 );
Lo32( LUT_DL_UPGRADE_RFOREARM );
GoTo( VROM_CODE+0x6914E ); // Left Silver / Golden Gauntlet Hand (Fist)
Hi32( LUT_DL_UPGRADE_LFIST );
GoTo( VROM_CODE+0x69162 );
Lo32( LUT_DL_UPGRADE_LFIST );
GoTo( VROM_CODE+0x69166 ); // Left Silver / Golden Gauntlet Hand (Open Hand)
Hi32( LUT_DL_UPGRADE_LHAND );
GoTo( VROM_CODE+0x69172 );
Lo32( LUT_DL_UPGRADE_LHAND );
GoTo( VROM_CODE+0x6919E ); // Right Silver / Golden Gauntlet Hand (Fist)
Hi32( LUT_DL_UPGRADE_RFIST );
GoTo( VROM_CODE+0x691A2 );
Lo32( LUT_DL_UPGRADE_RFIST );
GoTo( VROM_CODE+0x691AE ); // Right Silver / Golden Gauntlet Hand (Open Hand)
Hi32( LUT_DL_UPGRADE_RHAND );
GoTo( VROM_CODE+0x691B2 );
Lo32( LUT_DL_UPGRADE_RHAND );
GoTo( VROM_CODE+0x69DEA ); // FPS Right Hand + FPS Hookshot / Longshot
Hi32( LUT_DL_FPS_LHAND_HOOKSHOT );
GoTo( VROM_CODE+0x69DEE );
Lo32( LUT_DL_FPS_LHAND_HOOKSHOT );
GoTo( VROM_CODE+0x6A666 ); // Hookshot / Longshot Aiming Reticle
Hi32( LUT_DL_HOOKSHOT_AIM );
GoTo( VROM_CODE+0x6A66A );
Lo32( LUT_DL_HOOKSHOT_AIM );
// Arms_Hook
GoTo( VROM_ARMS_HOOK+0xA72 ); // Hookshot / Longshot Spike
Hi32( LUT_DL_HOOKSHOT_HOOK );
GoTo( VROM_ARMS_HOOK+0xA76 );
Lo32( LUT_DL_HOOKSHOT_HOOK );
GoTo( VROM_ARMS_HOOK+0xB66 ); // Hookshot / Longshot Chain
Hi32( LUT_DL_HOOKSHOT_CHAIN );
GoTo( VROM_ARMS_HOOK+0xB6A );
Lo32( LUT_DL_HOOKSHOT_CHAIN );
GoTo( VROM_ARMS_HOOK+0xBA8 ); // Hookshot / Longshot Object File
Write16( OBJ_BOY );
// ovl_Effect_Ss_Stick
GoTo( VROM_SS_STICK+0x32C ); // Broken Piece of Giant's Knife
Write32( LUT_DL_BLADEBREAK );
GoTo( VROM_SS_STICK+0x328 ); // Giant's Knife / Biggoron Sword Object File
Write16( OBJ_BOY );
// item usability table
GoTo ( VROM_CODE+0x140794+0x19); // kokiri sword
Write8(0x09);
GoTo ( VROM_CODE+0x140794+0x1D); // deku shield
Write8(0x09);
GoTo ( VROM_CODE+0x140794+0x0C); // boomerang
Write8(0x09);
// item highlight table
GoTo ( VROM_CODE+0x140794+0x63); // kokiri sword
Write8(0x09);
GoTo ( VROM_CODE+0x140794+0x66); // deku shield
Write8(0x09);
GoTo ( VROM_CODE+0x140794+0x36); // boomerang
Write8(0x09);
END