mirror of
https://github.com/HarbourMasters/Shipwright.git
synced 2024-12-22 16:18:50 -05:00
aeb85c81aa
* Port initial framework up to latest dev-rando. Includes about 15 items using the SCL structure for tracking. * Most other item variables ported to SaveContext in UpdateHelpers. * Removed individual Context retrievals in favor of single local variable in Logic to reference. * start of some diagnostics. caught some reverse logic with ApplyItemEffect. * more diagnostics * Resolve major logic issue with SetInventory flow in ApplyItemEffect. Other small logic issues in ApplyItemEffect. * Added a bit of logging. Add Double Defense to item effects. * revert hint gen bypass * item_list *actually* divorced from logicVar pointers. Several missed options for ApplyItemEffect, HasItem, and UpdateHelpers added in. Changed HasItem to a switch block for more performance. Seeds generate within 10-20 seconds in release mode. Further optimization is assumed possible. * Some formatting * Bit more formatting. * Couple review changes. * Incorporate progressive upgrades and skeleton key into SCL. Bit of cleanup. * Change `inLogic` to static array. * Fix bug in `BottleCount()` preventing Jabu Jabu from ever being in logic. * Fix bomb bag HasItem check. * Fix Gerudo Fortress and Ganon's Castle SmallKeys checks. * Change all logic use of `bool remove` to be `bool state` and work on the affirmative assumption. * Forgot the `Set(x)` uses in `Logic::Reset()`. * Fix fishing pole effect application. * fishing pole tweak * Add `RG_BOMB_BAG`, `RG_NUTS` and `RG_STICKS` to `HasItem()`. Fix silver and gold gauntlet checks in `HasItem()`. Change Nuts and Sticks helpers to use non-progressive RGs in `UpdateHelpers()`. * Change mSaveContext to simple pointer. Set `mSaveContext` to `&gSaveContext` when loading a save file. Modify `Item::GetGIEntry()` to use rando context's SaveContext pointer instead of the gSaveContext macros. Utilize `Item::GetGIEntry()` to get real RG of infinite upgrades and set rando infs accordingly, skipping upgrade level incrementing (which was causing overflow of wallets for some reason). * Rename all remaining references of LogicVar to variants of LogicVal. * Change final references to song LogicVars to CanUse calls, and remove them. * Separate equip and rand inf flag maps. Add Zelda's Letter and Weird Egg rand infs to map. Consolidate `HasItem` rand inf lookups using rand inf map and equips using equip flag map. Maps are static, so can be referenced with `Context::` instead of ctx pointer. |
||
---|---|---|
.. | ||
boost_custom/container_hash | ||
libc | ||
tables | ||
align_asset_macro.h | ||
alignment.h | ||
alloca.h | ||
command_macros_base.h | ||
fp.h | ||
functions.h | ||
global.h | ||
ichain.h | ||
macro.inc | ||
macros.h | ||
message_data_fmt.h | ||
message_data_static.h | ||
message_data_textbox_types.h | ||
regs.h | ||
segment_symbols.h | ||
sequence.h | ||
sfx.h | ||
unk.h | ||
variables.h | ||
vt.h | ||
z64.h | ||
z64actor_enum.h | ||
z64actor.h | ||
z64animation.h | ||
z64audio.h | ||
z64bgcheck.h | ||
z64camera.h | ||
z64collision_check.h | ||
z64cutscene_commands.h | ||
z64cutscene.h | ||
z64dma.h | ||
z64effect.h | ||
z64elf_message.h | ||
z64environment.h | ||
z64interface.h | ||
z64item.h | ||
z64light.h | ||
z64map_mark.h | ||
z64math.h | ||
z64object.h | ||
z64player.h | ||
z64save.h | ||
z64scene_enum.h | ||
z64scene.h | ||
z64skin.h | ||
z64transition.h |