Commit Graph

598 Commits

Author SHA1 Message Date
Pieter-Jan Briers ff60b3e6a3 Merge main 2026-09-06 02:38:25 +02:00
Irastris bb09df7948 Tidy includes, drop PC STATIC_ASSERTs, and more macro usage 2026-09-04 20:48:36 -04:00
Luke Street d94135f785 Avoid overlay files overflowing solid heaps (#2387) 2026-09-04 00:33:47 -06:00
Luke Street f83664074e Split randomizer mod into submodule
Co-authored-by: TakaRikka <takarikka@outlook.com>
Co-authored-by: gymnast86 <stock.joann@gmail.com>
2026-09-01 21:22:36 -06:00
Pieter-Jan Briers 51472856eb Merge main 2026-08-30 21:54:19 +02:00
PJB3005 bd7e5cb77d JAudio documentation updates 2026-08-30 02:00:21 +02:00
PJB3005 2bc53dddcc BST SE/STREAM replacement support
No SEQ yet since idk how I wanna handle it.
2026-08-24 21:04:16 +02:00
gymnast86 172d06f38d Add Built-In Cosmetics Mod (#2291)
* template setup

* get most colors working

* add lantern, midna, and heart colors

* fix PaneCache naming conflict

* add UI colors

* fix pane cache again

* override colors for items on other models

* recolor heart piece models

* cleanup

* add support for ordon sword recoloring

* recolor epona's eyelids

* move option descriptions

* fix mod.json

* constexpr descriptions

* gx.h instead of dolphin/gx/GXstruct.h

* fix default midna hair color

* use TextureService instead of overwriting model file data on load

* update descriptions

* manual cleanup

* fix includes

* remove unneeded include and const qualifier

* UI: Add Popover, ColorInput & more; mod cleanup

* Make it a bundled mod

---------

Co-authored-by: Luke Street <luke@street.dev>
2026-08-20 17:49:26 -06:00
jdflyer 5a4e6f3254 Mod SDK: Arc Overlays (#2280)
* Mod SDK: Arc Overlays

* Use DVD Functions for Arc overlays

* Re-add Fetchcontent for json.hpp

* Fix build for actions

* Make sure buffer usues aligned length

* Add include so msvc compiles

* Arc Overlays fixes: remove _arc suffix, handle getting overlayed file size from arcs, copy data correctly, etc.

* Reload overlayed data during loading screens

* Rename sync function

* Free overlayed files on load instead of re-loading them

* Rework arc overlays & load overlay files into host memory

---------

Co-authored-by: Luke Street <luke@street.dev>
2026-08-20 00:47:57 -06:00
Luke Street f6b7448de3 FlowService & MessageService (#2313) 2026-08-19 00:32:23 -06:00
Irastris 27d27e6d94 Add support for playing Dusklight using Wii disc images (#2296)
* 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
2026-08-15 11:58:09 -06:00
Luke Street 9d38af22ee GfxService v1.2 + fixes (#2305)
* GfxService v1.2 + fixes

* gfx::synchronize before mod_shutdown
2026-08-15 11:50:13 -06:00
Luke Street 0f5a248401 Time revamp (#2304)
* 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>
2026-08-14 00:07:54 -06:00
Luke Street cf8ab52f55 Fix ATTRIBUTE_ALIGN placement 2026-08-05 21:16:06 -06:00
PJB3005 756f8d5fb9 Move wsys replacements into their own .cpp file
This is gonna be a big PR
2026-08-06 01:21:13 +02:00
PJB3005 d4ca7b696b Fix include shenanigans 2026-08-06 01:05:19 +02:00
Pieter-Jan Briers 2c9f814ec6 Make JASCalc memory helpers just use memcpy/memset (#2258) 2026-08-03 21:37:36 -06:00
PJB3005 c43ed69b6d More JAudio naming, focused on instruments this time 2026-08-02 15:19:21 +02:00
PJB3005 6d7269b654 Fix missing sizeof in JASBasicBank.cpp
Likely doesn't matter but good to clean up ig
2026-08-02 15:03:46 +02:00
PJB3005 67eea1599a JAudio doc/naming pass 2026-07-31 02:20:21 +02:00
PJB3005 92906a3269 Audio replacement priority & lifecycle handling 2026-07-27 15:41:08 +02:00
PJB3005 4e46c04c91 Add field to JASChannel to keep sample data backing wave replacements alive
How to ensure stuff doesn't get freed when mod reloading gets involved? More shared_ptr
2026-07-26 15:00:53 +02:00
PJB3005 f6e05eb04f Unhardcode sound effects wave bank in replacements 2026-07-26 14:25:28 +02:00
PJB3005 63d4ce2e8f Merge remote-tracking branch 'origin/main' into 26-07-25-audio-replacements
# Conflicts:
#	CMakeLists.txt
2026-07-25 16:08:31 +02:00
PJB3005 98b203fd26 Mod api audio_res service for replacing audio samples (waves)
More things planned for the future, this is a basic prototype and far from finished. Still needs lots of work
2026-07-25 16:02:20 +02:00
PJB3005 0c0bc7c9e2 Compile out unused fields in DSP TChannel definition 2026-07-25 15:49:49 +02:00
PJB3005 ad80933ccf Allow audio samples to be played back from anywhere in memory rather than ARAM.
This is accomplished through a new mAramBaseAddress field on the DSP channels, which effectively relocates ARAM for that channel.
2026-07-25 15:49:13 +02:00
PJB3005 6ded3ac467 JAudio naming/docs pass 2026-07-25 15:32:02 +02:00
TakaRikka 9696c12563 couple more fixes, revert e_pm for now 2026-07-18 21:17:29 -07:00
TakaRikka 27c9719abc pr comments 2026-07-18 18:07:49 -07:00
TakaRikka 8051679c96 fix jp font rendering
Co-Authored-By: pengin <2162454+pengin@users.noreply.github.com>
2026-07-16 17:23:51 -07:00
Luke Street a6f059827b Game ABI / headers refactoring (#2215)
* Game ABI / headers refactoring

* Delete dusk/imgui.h
2026-07-14 19:24:08 -06:00
Luke Street eed14acdc6 Annotate all data with DUSK_GAME_DATA (#2214)
The hope of auto-importing data via lld MinGW
+ pseudo_reloc is now dead thanks to ARM64,
so I just wrote a script to go annotate every
exported data symbol in the game instead.
2026-07-14 13:49:21 -06:00
Luke Street 50565b37fc Fix mod demo CI linkage and signing 2026-07-10 01:45:05 -06:00
Luke Street 84e7394d5b Dynamic shadows demo mod 2026-07-10 01:10:23 -06:00
Luke Street e0ab36b7d9 Stable game ABI: Use PARTIAL_DEBUG
To make sure that mods can work across debug and release build, we can utilize PARTIAL_DEBUG to enable only DEBUG changes that affect struct and vtable layout
2026-07-07 01:14:29 -06:00
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
Luke Street 00707024bb Update aurora & flower/grass draw batching 2026-06-13 10:40:57 -06:00
Luke Street 131a09f317 Implement JPA particle batching 2026-06-09 23:47:45 -06:00
Luke Street 28a37f6b4f Check for sNoUseDrawMtxPtr in J3DModel::entry 2026-06-08 22:14:34 -06:00
doop eefa69b53d Re-enable JParticle interpolation and fix emitter direction issue (#1968)
* Re-enable JParticle interpolation

* Ensure emitter direction is valid for JPA interp

Fixes #618.

* Don't `calcWorkData` if we don't need to
2026-06-05 00:05:20 -06:00
Luke Street 0936115483 Optimize display lists in J3DShapeDraw
This is a stop-gap until DL optimization
is upstreamed to Aurora.
2026-06-04 23:27:30 -06:00
Luke Street 460b96c709 More Tracy zones 2026-06-03 00:01:34 -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
Luke Street 1f970eb2dc More ZoneScoped 2026-05-24 17:45:04 -06: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
Olivia!! edc4aa0be4 Fixes linux credits crash (#1780)
alpha comparison mID is u16, but indexes into a 256-item table.
this causes MAT3 materials with an alpha comparison index of 0xFF crashes on linux

closes #1073
closes #1531
2026-05-23 21:31:19 -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
TakaRikka ec281a475f Merge pull request #1573 from TwilitRealm/j2dindtexmtx-be
Endian-swap indirect texture matrix in J2D data
2026-05-17 18:23:15 -07: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