PJB3005
c43ed69b6d
More JAudio naming, focused on instruments this time
2026-08-02 15:19:21 +02:00
PJB3005
67eea1599a
JAudio doc/naming pass
2026-07-31 02:20:21 +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
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
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
131a09f317
Implement JPA particle batching
2026-06-09 23:47:45 -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
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
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
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
PJB3005
629cd2f9d3
Missed these in JASHeapCtrl.h
2026-05-18 02:16:43 +02:00
PJB3005
05edbec827
Tag operator new overloads with noexcept
...
According to the C++ standard, regular operator new must always return a valid pointer, and allocation failure should throw an exception.
The original game did not use exceptions, and instead had its operator new return null on alloc failure.
Clang and GCC seem to be enforcing the standard here, and this is causing crashes on non-Windows platforms like https://sentry.twilitrealm.dev/organizations/twilitrealm/issues/952/ , where a JAISe allocation failure (custom pooled operator new overload) crashes the game when it should be handled gracefully. MSVC seems to not make use of this opportunity, meaning the code works as intended.
Tagging the operators with noexcept seems to satisfy GCC, but I admit cppreference is very light on details here.
2026-05-18 02:06:38 +02:00
qwertyquerty
39d43a8d8f
Keyboard mouse binding controls ( #682 )
...
* kbm controls
* submodule
* files.cmake
* a
* Fixes
* include <cstring> in J3DStruct.h
---------
Co-authored-by: Luke Street <luke@street.dev >
2026-05-06 22:07:28 -06:00
Jasper St. Pierre
1ee0f862e1
map highlight fix
2026-05-02 11:45:01 -07:00
TakaRikka
1c5686f71b
Merge pull request #616 from TwilitRealm/HRTF
...
Emulate Surround option
2026-05-01 22:51:25 -07:00
madeline
93c8bcc210
hrtf
2026-05-01 13:04:08 -07:00
Jasper St. Pierre
3d860ad454
jpa interp start
2026-05-01 00:12:26 -07:00
madeline
06e6b0d47e
fix safety bit on interp fixes #507
2026-04-23 03:58:35 -07:00
Jasper St. Pierre
53c005c4f1
jutfader doc
2026-04-19 12:48:50 -07:00
Jasper St. Pierre
bb9a88d7dc
frame interp camera cleanups
2026-04-19 02:25:00 -07:00
Jasper St. Pierre
8d3cb51157
frame interp simplify
2026-04-18 23:26:28 -07:00
Jasper St. Pierre
b3f8fecfe4
water interpolation fix
2026-04-18 22:17:35 -07:00
Luke Street
2ec6f65572
Merge remote-tracking branch 'refs/remotes/origin/main' into unhackify-widescreen
...
# Conflicts:
# src/m_Do/m_Do_main.cpp
2026-04-17 23:12:58 -06:00
Luke Street
5c20f527ac
Widescreen rework & IR scaling
2026-04-17 23:11:43 -06:00
Irastris
59d2014fb9
Frame Interp: UI Pacing Simplification
2026-04-17 23:24:47 -04:00
CraftyBoss
ec091ac3af
change ANDROID define to TARGET_ANDROID
2026-04-14 03:18:21 -07:00
CraftyBoss
35650784c3
Merge branch 'main' into android-building
2026-04-14 03:17:07 -07:00
CraftyBoss
86c1e21ac1
fix compilation error
...
GlyphTextures no longer exists
2026-04-14 03:07:47 -07:00
CraftyBoss
a2f8fffc8d
Merge branch 'main' into android-building
2026-04-14 02:48:24 -07:00
PJB3005
143aa51eb3
Make JUTResFont load all texture data into one texture
...
Together with the previous change, this enables entire blocks of text to be rendered in one draw call.
2026-04-13 19:09:16 +02:00
PJB3005
18995f3d7c
Enable some draw call merging in text rendering
...
Don't set state between characters if possible.
Next step is page merging so it can do full lines of text at once.
2026-04-13 13:27:21 +02:00
CraftyBoss
5e6d240d0f
Merge remote-tracking branch 'origin/main' into android-building
2026-04-13 01:05:16 -07:00
Jasper St. Pierre
9f22f27909
fixes and cleanups for j3d material
2026-04-12 20:14:24 -07:00
CraftyBoss
8cd8d1b90c
Merge remote-tracking branch 'origin/main' into android-building
2026-04-12 20:02:23 -07:00
Lurs
6b3728c5ab
Let's replace the hack through a hack? Should fix the double swapping of #208 (and maybe more)
2026-04-12 22:39:05 +02:00
Irastris
d481a23c49
Frame interp: Refactor JUTFader
...
Now works regardless of interpolation being on/off
2026-04-12 13:56:00 -04:00
CraftyBoss
75a4fe4429
Merge remote-tracking branch 'origin/main' into android-building
2026-04-12 02:53:05 -07:00