* Add offsets for Wii USA R0/R2, JPN, and PAL
Also fix an oopsie where l_pos and l_normal's offsets were swapped
* Allow loading Wii discs
* Change GameVersion::GcnJpn checks to isRegionJpn()
* Change GameVersion::GcnPal checks to isRegionPal()
* Add platformSelect and regionSelect templates, simplify a ton of code
* Add *_get() macros to simplify REL loads
* Actually accept Wii USA Rev. 2 discs
* Show the Wii USA revision in prelaunch's disc status
* l_normal isn't in Wii RELs, so I'll just hardcode it
* Account for various BLO differences
Fix crash when opening the map on Wii USA Rev 0 and Wii PAL
* Use the streamed version of the file select music
* Update language selection
* Fix the d-pad/cross button text for Wii PAL
Resizing panes that are already 120.0f wide is harmless, so I didn't bother with a GameVersion check
* Fix brightness check discrepancy, use IF_DUSK_BLOCK macros when ideal
* Update docs and the issue template
* Don't Use OSCalendarTime for Speedrun Timing
- Shouldn't rely on OSTicksToCalendarTime since it will be changed to handle time zone conversion, and that doesn't make sense on elapsed time
* Use OSGetSystemTime Extension
- Fixes desyncing issues with save file time and a couple other odd instances, particularly on mobile platforms that suspend apps
* Time revamp
* Update aurora
* Split IGT/RTA calculations
* Shift-Turbo to slow down
---------
Co-authored-by: SuperDude88 <82904174+SuperDude88@users.noreply.github.com>
* Change sight drawing flag to on in arrow logic
* Refactor setBowSight for PC targeting and reticle logic
* Add Aiming Reticle option to settings
Add option for Aiming Reticle in settings.
* Add aiming reticle setting to game preferences
* Add aiming reticle to user settings registration
* Add aimingReticle configuration variable
* Fix syntax error in settings.cpp
* Add aiming reticle check to bow charge condition
* Refactor bow charge sight position logic
Removed redundant sight position handling when aiming reticle is not displayed.
* Refactor setBowSight for Dusk targeting
* Clarify aiming reticle option description
* Refactor bow sight logic in setBowSight function
Removed dusk condition from bow sight check and adjusted sight drawing logic.
* Refactor sight drawing logic in d_a_alink_bow.inc
Remove redundant call to offDrawFlg() when aiming reticle is enabled.
* Deduplicate Speedrun Overrides
Avoids issues where only one is updated + makes sense organizationally
* Move restore_from_speedrun_mode
I think it makes more sense to have this in the same place the overrides are set
* Camelcase nit
---------
Co-authored-by: Irastris <irastris15@gmail.com>
* More Magic Armor Options
- Add a 3rd option to lose rupees only on damage
* More Choices
- Add cosmetic and double defense options
These both have been requested a couple times
* Shorten Description
The description was very, very long before
* Web Editor Got Me
Fix my syntax
* Add HUD scale setting
Adds a "HUD Scale" preference (50%–200%) that scales the gameplay HUD
(hearts, magic/lantern meter, light drops, rupees/keys, action buttons
and the mini-map) without affecting dialog boxes or menus.
Each HUD group is scaled around its own pane origin and nudged toward
its anchor corner (via dApplyHudCorner) so it stays put against the
screen edge instead of drifting toward the centre when shrunk. The
mini-map is scaled and shifted in d_meter_map so its bottom-left corner
stays anchored. The setting is clamped to a safe range and is a no-op on
non-PC targets. It is disabled in the menu while Minimal HUD is enabled.
Signed-off-by: kevin Lema <kevin.soesto@gmail.com>
* Scale remaining gameplay HUD elements with HUD scale
Extends the HUD Scale setting to the item ammo counters, the lantern oil
gauge and the small-key counter, and gives the oil/magic meter a reduced
horizontal anchor pull so it stays on-screen at small scales.
Signed-off-by: kevin Lema <kevin.soesto@gmail.com>
* Update settings.cpp
Signed-off-by: kevin Lema <kevin.soesto@gmail.com>
---------
Signed-off-by: kevin Lema <kevin.soesto@gmail.com>
* Untie existing mouse logic from gyro
* A bit more mouse cleanup before I start building off it
* Rebase and last bit of cleanup
* Fix rebase mistake, don't apply invertFirstPerson to gyro or mouse input
* Remove the deprecated ImGui toast system
* Add Mouse Camera option in preparation for its use
* WIP, add mouse controls for the third-person camera
* Various helpText revisions
* Enable free camera on horseback
* Untie mouse camera and free camera options
Either being enabled now allows the underlying freecam logic to run
* Allow simultaneous C-stick and mouse input
* Combine mouse sensitivities for both aim and camera
* Add option for inverting mouse Y
* Refactor cursor visibility handling
* Tighten aim capture condition and constrain cursor to window region
* Tidying my trash
* Last bit of housekeeping so I'm satisfied
* Don't write code while sleep deprived
* Fix my sloppy merge and a few helpText updates
* Disable control stick aim when mouse aim is active
* Use same conditions for cursor grabbing as for capture
* Adds a new cheat that let you transform from the start of the game.
* Preserves transformation when passing loadzones similar to having shadow crystal
* standards compliance
* code compliance with decomp
Adds a new subheading under Input for gameplay-related settings.
It's at the bottom because players probably will want to configure their camera
more than they care about ornery gameplay details.
The one and only toggle there right now is to invert the function of the L-trigger
on the Item Wheel. It renders the on-screen text properly if inverted too,
meaning with it on the game does tell you that holding L will rotate
and moving the stick without holding L will direct select.
* Invert Air/Swim Axes
Apparently this is a setting in TPHD, so for parity's sake I'll throw it in here
* Invert Air Controls
Thanks @Abzol for knowing exactly where this is
* Array size UB fixes
* Fix ShieldD
* Remove (almost) all unsafe strcpy calls
Bunch of macros. C arrays are easy enough and just need a different call. For various cases where a char* is passed around bare, I've made a TEXT_SPAN macro that can store a length too for bounds checking.
* Move crash handling in safe string operations to separate TU
* strcat safe version
* sprintf made safe too
* Fix compile
* "Mortal Edge" description nit
"Darkhammer" seems to be the more common rendering of the name.
* Add missing option descriptions
* Tighten spacing for version/disc info on mobile
* Graphics API init failure message nit