- The "firstInput" stat is set on first input in game. Used for RTA
Timing.
- The "fileCreatedAt" stat is now set when then save file is created
(After the player is done entering the file name). Useful for seeding
non rando randomizers like Mirrorworld, Enemy Randomizer, extraTraps,
etc.
* Adds new Progressive Bombchu Bags option
Also changes existing code to account for Bombchu Bags becoming
a drop down with 3 values instead of a checkbox
* Handle the new lower capacities for ammo refills
* Handle what happens when receiving a bombchu bag
* Remove the trick name of Progressive Bombchu Bag
Since, you know, that's an actual thing now.
* Implements Bombchu Bag handling next to Progressive Bombchu Handling
* clang-formatting
* Add extra bag for plentiful items
* Address review comment
* Move bombchu upgrade level to gSaveContext and add save/load
* Use logic's saveContext for correct logic calculations
* Remove RG_PROGRESSIVE_BOMBCHU
* Fix Bombchu Refill obtainability
* Don't add normal chus to the pool if chu bags are on.
* cmake-format
* Properly reset bombchuUpgradeLevel on savefile init
* Fix error with va_arg on linux
* Fixes small error in the Bombchu Bag description
* Fix bug with bombchu obtainability
* clang-format
* Fix infinite bombchu text
* fix clang-format
* Modularize Hurt Container mode hook
* Hook condition was wrong - fixed it
* Change type of hurtEnabled for clarity
* Change type back to bool
* Add VB hook
* Don't duplicate health capacity modifier calculation
* Add constants, replace magic numbers
* Clang format
* Publicize more health unit macros
* Make mod file self-contained
* Modularize Pause Warp hook
* Make RegisterPauseMenuHooks static
* Merge pausewarp.c into hook module
* Use brackets with if statements
* Fix timer bug with spoiling items
* Bump LUS to include FileDropMgr's new registration system and initial cursor visibility changes.
* New LUS ref.
* Remove default on for cursor always visible.
Add option to camera controls next to enable mouse input for autocapture.
Set autocapture on startup.
* next LUS
* clang again
* Add "EnableMouse" CVar check to startup SetAutoCaptureMouse.
* Back to LUS main.
* lus version with fixes we need
* very wip
* get it building
* soh otr
* bump lus before fixing soh side stuff
* build
* still builds
* mac error
* bump otrexporter
* bump to lus main
* upstream otrexporter
---------
Co-authored-by: Malkierian <malkierian@gmail.com>
Co-authored-by: briaguya <70942617+briaguya-ai@users.noreply.github.com>
* Bring over changes from 2ship
# Conflicts:
# .github/workflows/apt-deps.txt
# soh/CMakeLists.txt
# soh/soh/resource/importer/AudioSampleFactory.h
# soh/soh/resource/importer/AudioSequenceFactory.cpp
# soh/soh/resource/importer/AudioSequenceFactory.h
# soh/soh/resource/importer/AudioSoundFontFactory.h
* Update xml format
* Format and fix mixer for Windows
* Fixes for new LUS
* Good ole clang-format
* Japanese translation for Better Debug Warp Screen
* Incorporate fixes by balloondude2 (except Shield/Treasure Chest Grave inconsistencies which I'm unsure how to handle that)
* Localize "Scene Selection" header for each language
* Added/Restored the ability to render Hiragana characters using GFXP_HIRAGANA macro
* add menu option
* VBify + add conditions
* oops wrong func
* clean up includes + casting
* move z_player externed functions
* better name
* correct menu text
* one last name final final
* maintain glitch-aiding selection
* copy n64 pal 10
doing this so i can check diffs i make
* transfer german->jp icon item
* overlays, message data, icon item jpn, audio, code
todo: title_static, gameplay keep
* add kanji and fix title cards
* title static
* spell folder correctly
* boss title cards, do action, icon item, item name, map name
* headers for jpn stuff
* gameplay_keep
* Scenes, audio, jp text extraction, rom support, overlay fixes, sheik & darunia
todo: test & disable darunia fix cvar for ntsc
* msgptr init fix
* icon item offsets
* comment out title cards until zapd can fix itself (we extract these in a different file anyway)
* compile and font implemented to get past title screen
* file select
* message, kaleido and everything else but rando
* uintptr_t
* rando and custom messages working!
* ntsc-j 1.0 support
* n64 logo?
* copy ntsc 10 to 11
* ntsc 11 extraction
* change title version names
* copy ntsc 11 to 12
* ntsc 12 extraction
* clean up some todos
* re checkout submodules post merge
* fix US filename
* support cross-version filenames
* add new versions to non-mq list
* use correct message table init
* Fix ntsc nes message table overriding pal nes message table
* actual fix, allows extraction
* fix file name using wrong font of file being hovered over
* Fix barinade crash
* re-add pal
* better jabu fix and revert LUS
* fix gerudo title cards
* better better owl select
* more owl fixes
* build
* fix some name decode issues
* Switch Language Mid Text
* Fix PAL displaying for JP filenames
* Fix AskToEquip Crash
* Disable Credits Timing Fix on NTSC
* Fix JP Text positioning
* basic language switching (BIG todo: file select, title screen)
* Title Screen Hopefully working
* add ntsc to linux appimage stuff, TODO: add .v64/.n64 support
* Update OTRExporter
* Fix pause to decide offset
* Fix bomb item name crash
* fix fire arrows and PoH
* builds
* update asset changes and fix menu language changing
* fix name decode
* Fix crashes and add rando/boss rush select stuff
* Revive debug feature by setting language cvar too
* Fix ocarina text speed softlock, and update jp text speed changes
* Merge remote-tracking branch 'upstream/develop' into NTSC
* Fix options menu and let pal use japanese fully
* Resolve some suggestions
* match up gTextSpeed changes to english (still broken!)
* Fix text speed crash
* Set default filename language on save init funcs
* bump otrexporter
* Display same correct info for n64 ntsc-j and ntsc-u
* quicktext more closely aligned with decomp
* linux appimage v64/n64 checksums
* bump zapd
* Credits Fix Tooltip Adjusted
* update supported hashes json
* update shasums to include JP n64
* pushing what i have so i can try to figure out HW_REG errors
* HW_REG (fix? workaround? either way it builds now)
* factory fixes and shaders
* bump again
* bump again
* copy shaders for `ExtractAssets` too (instead of just in `GenerateSohOtr`)
* Add menu files, hook menu up to window system.
Temporarily rename new menu's UIWidgets to UIWidgets2 to allow both menu systems to coexist temporarily.
* Finish implementing new menu.
Rename 2ship UIWidgets to UIWidgets2 to complete facilitation of both menus working for now.
* More preliminary setup
* More prepwork, begin on settings options
* Finish settings, add enhancements windows
* Fix search function not looking past first columns.
* Add dev tool windows
* Finish dev tools
* Add about window
* Fully replace about window
* Remove moved menu items from menubar, add more windows to new menu
* Implement WindowButtonOptions.
Add ability to not embed popout windows when not popped out.
Add ability to hide the button for WindowButtons.
Fix Entrance Tracker from showing when not enabled.
* Fix entrance tracker settings embedded display.
Fix entrance tracker settings window original size declaration.
* Initial implementation of themed radio button widget.
* Move "About" section to second column of general.
Fix sidebar sections starting in second column.
* Restore Entrance Tracker `Draw()` to allow for custom styling.
* Fix combobox positioning formatting.
Fix color picker end spacing.
Convert everything in check tracker settings to UIWidgets2 (except color pickers and section headers).
Make all tracker windows not embed.
* Minor cleanup
* Fix main volume defaults & mirror jitter fix removal on dev
* Improve color picker with RGB/RGBA options. Not finished.
* Finish creating CVarColorPicker and implement for Check Tracker background color.
Fix tracker and network prefixes.
* Finish check tracker settings and convert check tracker.
* Port all Cheats menu except for Beta Quest
* Port over Beta Quest to new menu
* Remove old cheats menu
* Port cutscene skips to modern menu
* Port Timesaver Enhancements to new menu
* Port the Items and Item Count Messages submenu
* Port Difficulty Options to new Menu
* Removes options that have been ported thus far.
* Port "Reduced Clutter" options to new menu
* Add forgotten callbacks to Hyper Enemies/Bosses
* Copy StateButton to UIWidgets2, and implement custom padding for them in the tracker.
* Ports some pause menu related settinga
* Change tracker window active title color.
Make state buttons smaller in tracker to get more info on screen.
* Convert window title active theming to all windows.
* Port the rest of Enhancements->Gameplay to new menu
* Port the "Graphics" Enhancements to new menu
* Ports Fixes over to the Modern Menu
* Ported Restorations to Modern Menu
* Ported Extra Modes to new menu
* Port Autosave and Boot Sequence to modern menu
* Cleans up some leftover data for ported buttons
* Ports Enhancement Presets to new menu
* Port Additional timers to new menu. Removes Enhancements from old menu
* Cleans up some unused stuff
* Ports Randomizer Enhancements to modern menu
* Convert Item Tracker Settings. Something's wrong with the comboboxes in a second column of a table.
* Fix combobox alignment and label position calculations.
* Convert Entrance Tracker window.
* Save Editor Info tab finished.
Added `PushStyleInput` and `PushStyleTabs` for Info tab.
Fixed some indentation in entrance tracker source.
Added font push to tracker windows.
* Increase size of all icons in save editor.
* Convert flag groups to child windows for automatic sizing and border drawing.
* Flags tab completed.
Finished inventory tab.
* Convert save editor help hover to UIWidgets2.
* Various fixes and corrections
* Start cosmetics editor, fix theme colors not updating
* Cosmetics editor conversion progress
* Remove Mac internal resolution restrictions.
* Copy over advanced resolution partial and enable most options as a custom widget.
* Add size to float sliders, more cosmetics editor progress
* Fix incorrect cvar for notifications
* Radio button & header color options, more cosmetics editor progress
* Finish cosmetics editor conversion
* Create and apply THEME_COLOR macro. Resides in SohGui for easy access to mSohMenu.
* Move ResolutionEditor to SohGui directory.
* Add labels to build info.
Fix slider width calculations.
* Fix some advanced resolution widget hiding.
* Fully implement Advanced Resolution options.
Fix graphics settings formatting.
Improve slider label position calculations.
Implement Clamp options on sliders.
* Finish save editor.
Convert save editor code to `using namespace UIWidgets2`.
Fix search crashing on time splits window.
Remove `SetLastItemHoverText` from `UIWidgets2`.
* Unify cvar sectioning in time splits.
* Add InputString and InputInt widgets, and corresponding CVar Widgets
* Adds Widget Type for Inputs, not currently used.
* Convert Sail to modern menu
* Add Combobox that takes a vector of std::strings
* Convert checkbox and combobx to new widgets
* Add Tristate checkbox
* Convert sliders and tristate checkboxes
* Convert top half of Rando window
* remove/replace remainder of UIWidgets usage in option.cpp
* Converts tricks, locations, and removes old UIWidgets refs
* Fix windows build errors
* Remove Tri-State checkboxes
* Use PushStyleInput instead of PushStyleSlider
lol oops didn't realize it was a thing in Ship.
* Rebase and address review comments
* Convert Crowd Control to modern menu.
* Fix build error
* Audio editor progress
* Re-add CVar SaveOnNextFrame calls to Resolution Editor.
Remove old Resolution Editor files.
* Convert TimeSplits to new menu.
Fix a few enum warnings.
* Decrease padding on Arrow Buttons
* Audio editor + gameplay stats done
* Give Randomizer Menu more screen real-estate
* Port plandomizer menu
* Fix slider width calculation and allow combobox LabelPosition::None
* Fix None labelPos and slider width for inline labels
* Fix all slider value label insertions.
Convert Collision Viewer.
* Minor Collision Viewer enum change.
Convert Actor Viewer.
* Theme/convert Message Viewer.
* Add font to Message Viewer.
Theme Value Viewer.
* DL Viewer and SohModals themed.
* Convert Input Viewer.
* Missed some color settings in Input Viewer.
Removed UIWidgets references from Controller Config, and restored SoH version.
* Remove UIWidgets.hpp include from multiple files.
* Completely remove old UIWidgets.
Rename UIWidgets2 to UIWidgets.
Move Accessibility and Language options to new menu.
* Fix Gfx Debugger not showing up.
Remove menubar registration.
* Fix clearCvars references.
* Fix passing std::string to const char* argument.
* enum name spacing
---------
Co-authored-by: aMannus <mannusmenting@gmail.com>
Co-authored-by: Christopher Leggett <chris@leggett.dev>
* Autosave interval based
* Move to save on soft reset, remove adjustable interval
* Use new BeforeExitGame hook to prevent non-existent data problems
* Fix check tracker crash, remove BeforeExitGame hook
* update comment
* skip z_title with button press
* use `RegisterShipInitFunc`
* rip out a bunch of custom ztitle code
* ok now it's almost fully back to vanilla
* titles are back for a limited time
enjoy #Skipping
* move old customizations into new custom draw
* finally getting the hang of this shipinit thing
* vb should let it snow
* boot sequence logic
* clean up logic to better handle changing boot sequence settings
* remove fast file select stuff
* remove authentic logo screen setting
* about window - not super pretty but not ugly imo
* maybe this fixes windows
* maybe alloca? idk why it's working in other files
* just pulling in every include hoping something works
* Revert
This reverts commit c1d02c9a40a7b8c617a131cc5b0d7fd6f81fe1b4.
* try some macro fixing magic
* fix another c vs cpp thing
* do it without an extra var
* make `GitCommitHashTruncated` a private member on `AboutWindow` instead of truncating on draw
* move logo asset defs to `soh_assets.h`
* Apply suggestions from code review
Co-authored-by: Archez <Archez@users.noreply.github.com>
* VB_SHOULDN'T
---------
Co-authored-by: Archez <Archez@users.noreply.github.com>
* Basic restructure
* Undo most randomizerInf changes for now
* Small fixes
* Fix linux & mac builds?
* Fix remnants of randomizerInf changes
* Post-merge fix
* Post-merge fix
* Initial mockup
* Rip out part of plando mode, implement rando settings menu
* MVP new randomizer flow
* Translation support and code cleanup
* Fixes and more cleanup
* Fix whoopsie
* Fix whoopsie 2
* Enable freestanding items other than heart pieces and keys
* Add option to disable freestanding rupee & heart shuffle
* Add items to pool
* Actually add shuffle setting
* Define overworld locations
* Add logic for overworld freestanding checks
* Add freestanding items for child dungeons.
* Add checks for Ice Cavern and Bottom of the Well
* Add checks for Forest Temple and Gerudo Training Grounds
* Add checks for Fire Temple and Water Temple
* Add Shadow Temple checks
This does not include the spinning pots rupees, even though
they're included with freestanding rupees in the N64 randomizer
as they would require dedicated overrides for the code for
the pots in question.
* Define Spirit Temple and Ganon's Castle hearts
* Add remaining checks to dungeon definitions
* Fix missing logic
* Add freestanding checks to Save Flags Editor
* Fix flags for Zora Fountain underwater rupees
* Add option to enable freestanding shuffle for either dungeons or overworld
* Add missing MQ checks and fix mac & windows compile error
* Improve description and add hint text
* Update logic for Bombchu fixes
* Add missing Spirit Temple MQ hearts
* Add missing settings entries
* Actually add Forest Temple trick to the tricks menu.
* Re-add Ice Cavern lobby rupee
* go over MQ logic
* review logic on non-MQ checks
* convert all freestandings to location based
* add option enum and fix jabu exit logic
* fix mislocated freestandings
* fix mislocted freestandings
* Fix some mislocationed checks
---------
Co-authored-by: Angel Bulfone <mbulfone@gmail.com>
* Potsanity proof of concept
* Hide pot item cutscenes for very frequent items
* Add 1 new pot to the item pool
* V1 custom pot model
* V2 pot model
* Pushing for help. lol
* Format clean up on added hint_list entries.
Removal of WriteIngameSpoilerLog call that was unneeded.
* THREE_ACTOR_PARAMS -> TWO_ACTOR_PARAMS and hints in a loop
* Lost woods pots logic
* Realign Pot Checklist in Location_list.cpp
* Correcting some values and adding Master Quest pots.
* Remove vanilla placements
* Re-order enums + start hints per region
* Fix build
* Break up shuffle pot options to dungeon/overworld/all
* Fixes
* Prepare default pot contents, fix/add dungeons
* Fix dungeon/overworld only settings
* Updates to Parameters and RHT information
* Remove unused hints
* Add proper check tracker entry exclusion
* Tweak items to skip cutscenes for
* Vanilla Drop List
* Update magic to blue rupees
* After merge fixes
* Fix Ganondorf's Lair pots
* Fix check tracker + minor stuff
* Unlock early GBK door
* Minor fixes
* More minor stuff and start of logic entries
* Fix TWO_ACTOR_PARAMS overlap between pots
* De-dupe defines
* Add missing water trial pot
* Update to develop-rando
* VBify pots progress
* Cleanup and fixes
* Overworld logic done
* Cleanup and fix item00 queues
* Implement skipping cutscenes for common items
* Revert "Implement skipping cutscenes for common items"
This reverts commit fe44916588dffbc6ccdc1899371c346e9d9eb1ef.
* Ganons tower pot not spawning item fix + cleanup
* Fix ganon's tower, barinade, water temple pots
* VBify ganons key door
* Lizalfos Pot addition (example)
* Separate MQ pots in randomizerTypes.h
* Fix build
* Fix linux build (?)
* DC/Jabu/Botw/ start of Forest Pots (NMQ)
* Remaining Dungeon Non MQ Pot Location Logic
* After merge fixes round 1
* Post merge fixes round 2
* Apply MQ pot logic
* Re-align some stuff
* Cleanup, more work on locationlist
* Start of handling dungeon pots in item pool
* Finish dungeon pots in item pool
* GTG MQ Pots
* Review comments round 1 & code cleanup
* Fix ganon's lair pots being behind GBK in logic
* Update soh/include/z64actor.h
Co-authored-by: Pepe20129 <72659707+Pepe20129@users.noreply.github.com>
* Update soh/src/overlays/actors/ovl_Obj_Tsubo/z_obj_tsubo.c
Co-authored-by: Pepe20129 <72659707+Pepe20129@users.noreply.github.com>
* Address review comment
* Fix logic for pots in Fire Temple
* Fix GtG MQ pots, fix water temple pot logic
* Review Comments
* Logic review part 1
* Logic comments part 2
---------
Co-authored-by: Caladius <Caladius@users.noreply.github.com>
Co-authored-by: Pepper0ni <93387759+Pepper0ni@users.noreply.github.com>
Co-authored-by: Pepe20129 <72659707+Pepe20129@users.noreply.github.com>
* Remove unused headers
* Move all "ResourceMgr_" functions to a new file
* Don't transitively include SaveManager
* Move cvar prefixes to a new header
* Add missing includes
* Update OTRGlobals.cpp
* Fix build
* Address review
* Fix some of the errors
* Update gameplaystats.h
* Update z_en_in.c
* Hopefully fix the linux issues
* Fix Linux issues for real this time, I checked
* Update ResourceManagerHelpers.cpp
* Update z_obj_mure2.c
* Post-merge fixes
* Fix build (hopefully)
* Post-merge fixes
* Update z_file_nameset_PAL.c
* cleanup some unnecessary headers (#7)
---------
Co-authored-by: Archez <Archez@users.noreply.github.com>