Commit Graph

100 Commits

Author SHA1 Message Date
Luke Street ad53af5c78 Touch controls (#2053)
* WIP touch controls

* Action icons

* Updates

* Don't mutate freeCamera config; allow switching between touch and controller cam

* Wow

* Fix build & add Skip button

* Fix build & add settings

* RCSS cleanup

* Dpad and fishing, might redo

* Add menu mouse controls

* More pointer & fix icons

* Optimizations & introduce layout system

* Update aurora

* Implement touch controls layout editor

* Cleanup & fixes

* Allow disabling mouse/touch in menus

* More fixes
2026-06-15 12:48:04 -06:00
Kyrio d0894853d7 Add setting to memorize window size (#2025)
* Add "Memorize Window Size" setting

* Code review #2025

* memorize -> remember, helpText revision

---------

Co-authored-by: Irastris <irastris15@gmail.com>
2026-06-13 22:47:18 -04:00
SuperDude88 0d05f9b75b More Magic Armor Options (#1691)
* 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
2026-06-07 21:18:23 -06:00
Kevin Lema 8705e75b9d Add HUD scale setting (#1387)
* 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>
2026-06-05 00:14:09 -06:00
MelonSpeedruns 2376e0102e TPHD Button Fishing (#1949)
Co-authored-by: MelonSpeedruns <melonspeedruns@stratobox.net>
2026-06-03 13:35:51 -04:00
Irastris bd9b81f700 Add mouse input option for the third-person camera (#1011)
* 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
2026-06-01 23:37:53 -06:00
Luke Street bc3cdcc955 Revert "Adds a new cheat that let you transform from the start of the game. (…" (#1927)
This reverts commit 62c19c0f64.
2026-05-29 21:20:15 -06:00
Giorgio Mendieta 21e0491d43 Preview texture replacements without the menu obstructing the view (#1599)
* feat: Change texture replacement from config_bool_select to graphics_tuner_control

* fix: add kTextureReplacementHelpText

* fix: remove unused header
2026-05-28 00:28:20 -06:00
Olivia!! 62c19c0f64 Adds a new cheat that let you transform from the start of the game. (#1241)
* 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
2026-05-28 00:25:45 -06:00
Jairinho 6592d95199 Allow independent X and Y sensitivity for free camera (#1431)
Co-authored-by: Luke Street <luke@street.dev>
2026-05-27 23:53:14 -06:00
Olivia!! 42d9dd23c0 Add option for inverting Direct Select (#1841)
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.
2026-05-27 23:35:29 -06:00
Luke Street a85f8c203d Better config saving handling (#1846) 2026-05-26 20:42:26 -06:00
SuperDude88 498868c17d Invert Air/Swim Axes (#1155)
* 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
2026-05-24 22:12:36 -06:00
Jasper St. Pierre af162bbd0a New Depth of Field implementation (#1773) 2026-05-24 10:41:59 -06:00
doop 6a52cdf80e UI/copy tweaks (#1756)
* "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
2026-05-23 00:23:22 -04:00
TakaRikka 0cb93a2a9f Merge branches 'poecount' and 'main' of ssh://github.com/TwilitRealm/dusklight into poecount 2026-05-20 13:24:57 -07:00
JaxonKEKW 716a2b4020 Improve Collection/File Select screens at Widescreen/Ultrawide (#1614)
* Improve Widescreen/Ultrawide Collection/File Select Menus

Re-scale (unstretch) and center elements of the Collection Screen/File Select details screen for Widescreen/Ultrawide

* Fix oversight

Fix default behavior

* Support ultrawide on Collection menu, target PC

support ultrawide instead of reverting to default behavior

wrap logic in target PC ifdefs (both changed functions themselves are still behind them as a whole as well) and use old function behavior otherwise

* Fix icon overshift at ultrawide

Icon shifted too much at ultrawide

Move redundant duplicate line

* Finished Collection/File Select screen changes

Added settings for the scaling mode (GameCube, Wii, Dusklight)

Depending on the setting in the Interface menu (Dusklight preset automatically sets scaling to Dusklight option, Classic preset sets to Gamecube, Wii/all old behavior available as well) Collection and File Select screens get scaled differently

Fixed backdrop behind slots on File Select with Dusklight setting (the Magic Armor background slot seeming too low on all aspects is vanilla behavior)

Fixed Fused Shadow/Mirror size and position with Dusklight setting

All logic is behind TARGET_PC gates (not the logic specifically, but the functions themselves have always been)

Changes  dSelect_cursor_c::refreshAspectScale to take a parameter so the scale of the selection cursor can be reset to default (only ever called in TARGET_PC functions or wrapped in gates)

* Ultrawide oversight

* Update d_file_select.cpp

copy paste oopsie

* Update d_file_select.cpp

im tired, never tested msvc

* Menu Scaling Mode

changed definitions to be more open ended

header additions now in TARGET_PC ifdefs

fixed/added scaling for Save/Option buttons in Collection menu with Dusklight setting, stopped scaling just the text

* Update settings.cpp
2026-05-20 15:55:38 -04:00
TakaRikka 5119135068 dmap poe counter 2026-05-20 04:03:32 -07:00
TakaRikka fa660ebd0f fmap poe counter 2026-05-20 03:19:25 -07:00
MelonSpeedruns cd97563d3f Merge branch 'main' into improvement/toggle_owl_statue_markers 2026-05-19 10:10:11 -04:00
Irastris c516b91476 Add "Output Resampling" option (#1541)
Adds an Output Resampling option to the Video tab to allow choosing between the old Bilinear sampler and a new Area sampler. Area sampling produces a much cleaner, softer image when downscaling, and a significantly sharper image when upscaling. This can also serve as a halfway decent anti-aliasing substitute until we have a more proper implementation.
2026-05-17 20:26:10 -06:00
Ash 2da6590657 feat: FPS Limiter (#1446)
* Add interpolation frame rate cap

* wip: reworked framelimiter

Based on my testing this is a bit more stable in frametimes.

* wip: efficiency improvement + windows build fix

Significantly improve efficiency by using a hybrid approach.

* wip: UI changes

* wip: end frame AFTER limiting

* wip: remove unused include

* wip: minor ui code change

Makes it easier to remove/add presets

* Simplify Limiter UI

- Change enableFrameInterpolation to an enum with off/capped/unlimited values
- Simplify the UI to use 2 settings (unlock framerate + a max value entry)

* wip: slight limiter simplification

* wip: implement review suggestions

* wip: fix syntax error

* wip: revert enum order + replace old checks

* Fix compile error

---------

Co-authored-by: SailorSnoW <sailorsnow@pm.me>
Co-authored-by: Loïs <49660929+SailorSnoW@users.noreply.github.com>
Co-authored-by: SuperDude88 <82904174+SuperDude88@users.noreply.github.com>
Co-authored-by: Luke Street <luke@street.dev>
2026-05-17 20:11:32 -06:00
Tom Lube 00964650b6 expose d3d11 to end users 2026-05-17 14:04:35 -04:00
SrBananaMan a499877c37 Add an enable texture replacements option in the video tab (#1517)
Co-authored-by: Luke Street <luke@street.dev>
2026-05-17 07:51:15 -06:00
doop c710ea5b38 Use 10% steps for bloom brightness setting (#1423) 2026-05-17 07:44:29 -06:00
Olivia!! cd4b29f8a1 Update controller bindings menu. (#1461)
* Add a button to reset to default controls, and hides the digital L and R binds except on advanced menu.

* Rename Controller mentions to Device + Extra menu sounds

* Shouldn't add a column here

* Changes mentions of controller to device in accordance with #1479

---------

Co-authored-by: MelonSpeedruns <melonspeedruns@stratobox.net>
2026-05-17 07:38:24 -06:00
SuperDude88 2541c3f293 Update Description (#1439)
Mention that it applies to other cases besides just boots
2026-05-16 10:28:21 +02:00
MelonSpeedruns 7967ee1f66 Fix Autosaves resetting memory card during minigames (#1318)
* Fix autosaves resetting memory card during minigames

* Update description

* remove unused include

---------

Co-authored-by: MelonSpeedruns <melonspeedruns@stratobox.net>
2026-05-14 22:42:39 +02:00
tomlube 232f73365c rebrand fix (#1290) 2026-05-14 16:31:37 +02:00
qwertyquerty 4ee0d8ed4b 1.1.1 fixes (#1168)
* fix keyboard npe

* fix autosave NPE

* hintTalkEvCamera UB

* fix UB in f_pc_base logging

* fix NPE in karg carry logic

* fix link model dangling pointers

* exponential audio slider and better audio default

* fix speedrun mode defaullt layer restore issue
2026-05-13 08:56:16 -06:00
Luke Street 9ce1ab7d5a Migrate only user files 2026-05-13 00:47:29 -06:00
SuperDude88 9abe89f47f Oops (#1156)
Forgot one
2026-05-12 22:57:42 -06:00
Loïs 3e62c1e96e Add Invincible Enemies cheat (#1123) 2026-05-12 22:52:35 -06:00
SuperDude88 2978ae145d Infinite Slingshot Seeds 2026-05-13 00:04:58 -04:00
SuperDude88 93c7d0d64d Only Flip Stick Axes (#1132)
Some people asked about this, I think I've come around to their position (follow-up to #870 ).

I checked what TPHD does and its invert setting only changes the sticks
2026-05-12 19:21:28 -06:00
qwertyquerty 1b76b2650c input viewer options in rmlui and reset key option (#1136)
* input viewer options in rmlui

* reset key
2026-05-12 19:18:00 -06:00
SuperDude88 5eddcb9653 Discord RPC Toggle (#1120)
* Discord RPC Toggle

* I learned my lesson (Formatting)

Took me long enough

* Fix Mobile Platforms

- ifdef the setting so it builds properly on platforms that don't have rpc
- More formatting I missed
2026-05-12 19:14:44 -06:00
Krutonium 42cded342e Merge branch 'main' into improvement/toggle_owl_statue_markers 2026-05-12 18:22:09 -04:00
Krutonium 696e8e6aa9 Add ability to toggle off Owl Statue Markers on Map 2026-05-12 17:36:34 -04:00
madeline ede6827369 Merge branch 'main' of https://github.com/TakaRikka/dusk into better-speedrun-mode 2026-05-12 14:15:05 -07:00
Luke Street f39195c5e0 Fix duplicate "Pause on Focus Lost" option 2026-05-12 14:00:38 -06:00
Joey Cato d1e9d5af2f Add Fast Roll cheat (#929)
* Add roll fast cheat

* Corrected case on cheat name

* Addressed PR feedback

* Fixed whitespace

* Renamed cheat to be more consistent with other options
2026-05-12 15:56:54 -04:00
madeline c896bb39ea improved speedrun mode 2026-05-11 22:20:53 -07:00
doop 3366613354 Pillarbox widezoom cutscenes instead of cropping (#1054)
Fixes #777.
2026-05-11 22:59:17 -06:00
Luke Street 79b1f4ab4d Customizable data directory & migration (#1059)
* Customizable data directory & migration

* Add file/dir rename fast-path

* Write data_location.json to base path on Windows; fix UTF-8 custom paths

* Build fix

* Another build fix

* Android data directory selection

* Fix CMake target ref
2026-05-11 22:57:59 -06:00
Irastris 157f4f9df2 Rebrand (#1064)
* Rebrand

* Revert Info.plist.in

* Think, Mark!
2026-05-11 22:06:58 -06:00
SuperDude88 9d5d8dd13a Fix Prelaunch Break-Out With Controller Config (#950)
* Fix Prelaunch Break-Out With Controller Config

Fixes #945

* Formatting
2026-05-11 21:49:24 -06:00
SuperDude88 1b4a842eec Invert First Person Aiming (#870)
- Inverts first person aiming on either axis, for both stick and gyro controls

Could be separated from gyro if desirable, but I think it makes the most sense to have it apply to both
2026-05-10 19:00:20 -06:00
SuperDude88 e7ab978a30 Crash Reporting Popup (#879)
* Initial Draft

- Add draft crash report window on startup

If you want to disable them before/during startup, there is a command line option to force it

* Fixes

- Update language to be more precise, consistent with settings menu
- Actually shut down reporting properly if you disable it
- Fix my silly syntax errors

* Update text & use Sentry consent

---------

Co-authored-by: Luke Street <luke@street.dev>
2026-05-10 18:37:22 -06:00
Luke Street 0c23bd4332 Add "Open Data Folder" to Interface menu 2026-05-09 20:57:34 -06:00