Commit Graph

2373 Commits

Author SHA1 Message Date
gymnast86 46a67c658c Merge branch 'main' of https://github.com/TwilitRealm/dusk into randomizer 2026-05-28 20:21:14 -07:00
Sirius902 e5c032f6e6 fix: item and talk rendering (#1896) 2026-05-29 03:15:56 +02: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
Ash 71961dae85 feat: Make gamepad status lighting optional (#1705)
* feat: Status Lighting option

* wip: rename to "Enable Controller LED"

* wip: setting for all four ports individually

* wip: fix detection + code cleanup

* wip: increase led speed for dusk preset

* wip: use aurora API

* bump aurora to 2b07d55

* wip: remove isSupported + fix namespace comment

* wip: add value override to BoolButton

* Style nit & remove unused

* Undo change

---------

Co-authored-by: Luke Street <luke@street.dev>
2026-05-28 00:04:23 -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
JaxonKEKW c10e41f02e Scale Memory Card at Widescreen, fix Name Select screen (#1828)
* 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

* Scale Memory Card screen, fix GC name screen

Scales the Memory Card screen (text only) on Wii and Dusklight scaling settings, GC already keeps default scaling

Fixes oversight on Name selection screen on GC settings (all textboxes/letters were getting scaled down)

* deleted line oopsie

* cleaning

* fix stupid

Moved cachedPanes to each 'wide' function because they're static and only being used there anyway
2026-05-27 23:52:31 -06:00
Pieter-Jan Briers e70fef0650 SafeStringCopy log fix (#1858)
* Fix logging on SafeStringCopy overflow failure

* Fix CRASH() macro to not take varargs

Didn't work, probably a remnant of a different iteration I made.

* Fix ValidateChannel CRASH call

---------

Co-authored-by: Luke Street <luke@street.dev>
2026-05-27 23:49:54 -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
Pieter-Jan Briers 5d68762590 Add a *ton* of const and constexpr around the codebase. (#1864)
* Add a *ton* of const and constexpr around the codebase.

This makes the codebase compile without strings being cast to non-const char*. I also went through and added constexpr where appropriate for tons of static data.

* Make process definitions const too

Might as well
2026-05-27 23:12:16 -06:00
PJB3005 5b9e9106ef Fix mSkipEventName again
They WAY undersized this in the original game it seems. The event used for the Zora overflows the original buffer size by *6* bytes.

Fixes https://github.com/TwilitRealm/dusklight/issues/1531
2026-05-27 14:00:36 +02:00
Luke Street 7543db2222 Merge branch 'main' into randomizer 2026-05-26 20:58:20 -06:00
Luke Street a85f8c203d Better config saving handling (#1846) 2026-05-26 20:42:26 -06:00
gymnast86 5a61b912bb Merge branch 'main' of https://github.com/TwilitRealm/dusk into randomizer 2026-05-24 22:00:10 -07: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
Loïs 2a3bc722d9 Add in-process crash handler with symbolizable backtrace (#1536) 2026-05-24 22:11:45 -06:00
Luke Street fa074a2311 Disable STUB_LOG in release 2026-05-24 17:44:05 -06:00
qwertyquerty 8668474a33 Achievements improvements v2 (#1553)
* make LJA achievement more attainable glitchlessly

* update loach achievement description

* 3 kill rollstab achievement

* update gone fishin description

* gorge skip achievement

* early city achievement

* make goats and snowboarding safety check stage

* fix indomitable requirement, add hero mode achievement

* properly check skybook completion when returned

* prototype ganondorf achievement

* Autospin Annihilation
2026-05-24 12:18:07 -06:00
gymnast86 143b548102 Merge branch 'main' of https://github.com/TwilitRealm/dusk into randomizer 2026-05-24 10:32:31 -07:00
Pieter-Jan Briers a6376368ee String safety (#1548)
* 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
2026-05-24 10:43:00 -06:00
Jasper St. Pierre af162bbd0a New Depth of Field implementation (#1773) 2026-05-24 10:41:59 -06:00
gymnast86 62e48984bf Merge branch 'main' of https://github.com/TwilitRealm/dusk into randomizer 2026-05-23 09:11:07 -07:00
Irastris c49f0e5c6e Use std::chrono for THP playback pacing (#1757)
* Use std::chrono for THP playback pacing

* Redundant include
2026-05-23 07:18:29 -06:00
CraftyBoss 9fd5678ae4 Merge remote-tracking branch 'origin/main' into randomizer 2026-05-21 00:32:38 -07:00
gymnast86 1f4370af85 Merge branch 'main' of https://github.com/TwilitRealm/dusk into randomizer 2026-05-20 17:42:10 -07:00
gymnast86 ed458dc2b3 backend tracker updates 2026-05-20 17:41:03 -07: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
CraftyBoss ba9dc8e9ba finish up rando config ui, remove randomizerEnabled CVar, fix seed strings not saving to config
i would like to have someone more aquainted with the UI system to look over the config menu at some point, as i do think it could be better.
2026-05-19 16:13:50 -07:00
MelonSpeedruns cd97563d3f Merge branch 'main' into improvement/toggle_owl_statue_markers 2026-05-19 10:10:11 -04:00
gymnast86 3eb4181b9c Merge branch 'main' of https://github.com/TwilitRealm/dusk into randomizer 2026-05-18 20:00:51 -07:00
PJB3005 aa8f905768 Fix truncating button name
Fixes https://github.com/TwilitRealm/dusklight/issues/1549
2026-05-18 21:23:03 +02:00
gymnast86 ea0c697afa fix key count inconsistency 2026-05-18 11:05:46 -07:00
gymnast86 6321bcf0d8 Merge branch 'main' of https://github.com/TwilitRealm/dusk into randomizer 2026-05-18 07:31:38 -07: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
Luke Street 7919c6110d time.h: Include immintrin.h on x86_64 macOS 2026-05-17 22:25:12 -04: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
doop 1745e110fb Fix typo 2026-05-18 00:56:14 +00:00
doop 2be2615e61 Endian-swap indirect texture matrix in J2D data
Fixes copy/delete effects on the file screen.
2026-05-18 00:46:45 +00:00
gymnast86 1e7e9b3513 Merge branch 'main' of https://github.com/TwilitRealm/dusk into randomizer 2026-05-17 17:40:24 -07:00
gymnast86 453accc674 draw d-pad icon for quest item slot 2026-05-17 17:39:53 -07:00
Irastris e8a29f65b5 Revert "Feature - remember window position (#1238)" (#1558)
This reverts commit e10e1f74d5.
2026-05-17 23:32:42 +02:00
gymnast86 b167124a70 Merge branch 'main' of https://github.com/TwilitRealm/dusk into randomizer 2026-05-17 07:07:09 -07: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
David Kanevskyy e10e1f74d5 Feature - remember window position (#1238)
* added .zed/ to gitignore (editor configs)

* remember window position upon closing

* Save window location on SDL_EVENT_WINDOW_MOVED or SDL_EVENT_WINDOW_RESIZED

* Fix code format mistakes

* Also persist window width/height

* Undo change to input::handle_event

* Undo aurora submodule change

---------

Co-authored-by: Luke Street <luke@street.dev>
2026-05-17 07:25:12 -06:00
gymnast86 33e2ffbb6e Merge branch 'main' of https://github.com/TwilitRealm/dusk into randomizer 2026-05-15 17:14:46 -07:00
Loïs 30b003c9d9 fix rein interpolation jitter by rolling snapshot once per sim tick (#1421) 2026-05-15 17:16:36 -04:00
gymnast86 0862408ee8 Merge branch 'main' of https://github.com/TwilitRealm/dusk into randomizer 2026-05-15 02:46:23 -07:00
Miguel 424d1d7b71 Fixed Debug target not compiling (#1157)
* Update f_op_actor_mng.h

* Update f_op_actor_mng.h
2026-05-14 23:10:09 -06:00