Commit Graph

2710 Commits

Author SHA1 Message Date
YunataSavior f398cf04ad Add "Selected Layer" to Map Loader 2026-03-26 20:18:18 -07:00
Max Roncace 6764a60364 Fix UB in search_ground_1 in d_a_e_yg
This could cause a crash and was previously fixed by 7d3795f7, but
it's a band-aid solution. This fix addresses the underlying bug that
actually causes the crash.

The workaround remains in place for now because similar bugs related
to NaNs have been encountered, and it's not currently known how many
places in the codebase are affected as well.
2026-03-26 20:11:39 -04:00
TakaRikka 803eb07341 Merge branch 'main' of https://github.com/TakaRikka/dusk 2026-03-26 04:52:52 -07:00
TakaRikka e212ccd417 save editor inventory menu wip 2026-03-26 04:52:09 -07:00
YunataSavior 488ceb8136 Fix "switch case passes initialization" in d_a_peru 2026-03-25 21:28:58 -07:00
Max Roncace 204f35f7ae Fix incorrect asserts in object-particle
This fixes a crash in the first King Bulblin sequence (in Ordon Spring)
as well as in the first cutscene in Renado's sanctuary, and probably
some other sequences too.

This is meant as a band-aid until the upstream fix here is merged:
https://github.com/zeldaret/tp/pull/3136
2026-03-25 20:57:31 -04:00
Max Roncace 0de67a8320 Add even more heap debug names 2026-03-25 20:53:18 -04:00
Max Roncace 9c0110d0fa Map loader: Reset room/point values when region is changed 2026-03-25 20:53:18 -04:00
Max Roncace c6c6a6be33 Improve exp heap alloc failure message 2026-03-25 20:53:18 -04:00
Max Roncace 7d3795f745 Detect and replace NaNs in cXyz default ctor
This fixes intermittent segfaults due to invalid atan table lookups.

For some reason zero-initializing all cXyz objects causes issues, as
does initializing them with INFINITY or -INFINITY. However, at least
one of the possible crashes (in d_a_e_yg's search_ground_1) is
guaranteed to happen whenever a specific uninitialized cXyz contains
a NaN for x or z.

A possible explanation for these crashes not occurring on hardware might
be that the problematic objects happen to be placed at memory locations
that happen to never contain a NaN upon allocation, so the buggy code
was never caught. Further investigation would be needed to determine if
this is what's actually happening, though.
2026-03-25 20:53:18 -04:00
Max Roncace 816d853002 Fix ctb::data::TBlockData endian issues
This fixes some buggy cutscene camera positions and potentially
related crashes.
2026-03-25 20:53:18 -04:00
madeline 85d3b982b2 fixes #107 2026-03-25 12:05:50 -07:00
madeline 2618da7453 properly scale deku toad camera detection range 2026-03-24 18:34:12 -07:00
madeline c31fde8221 Merge branch 'main' of https://github.com/TakaRikka/dusk 2026-03-24 18:25:05 -07:00
madeline 5fd5882881 fix trimming viewport scissoring fixes #121 2026-03-24 18:25:01 -07:00
Lurs 47402f56c8 Merge branch 'main' of https://github.com/TakaRikka/dusk 2026-03-24 11:20:12 +01:00
Lurs 42a0fbbf44 Add toggle for water projection offset. Potentially fixes #77 2026-03-24 11:19:58 +01:00
madeline a1f78609d8 turn on background input 2026-03-23 23:17:26 -07:00
madeline 2a02ab7f09 fuck interrupts 2026-03-23 22:16:57 -07:00
PJB3005 a7fbdd6ece Add note about DUSK_SELECTED_OPT to README 2026-03-23 13:53:23 +01:00
PJB3005 0148d913e1 Add a bunch of missing imgui close buttons 2026-03-23 13:46:46 +01:00
PJB3005 946d1ae9b7 Threading cleanup: remove MallocAllocator stuff
Not necessary anymore now that JKRHeap is isolated
2026-03-23 13:34:20 +01:00
TakaRikka 364400d56f save editor wip 2026-03-23 05:01:42 -07:00
TakaRikka 68df239197 enable cs fades again 2026-03-22 00:20:37 -07:00
TakaRikka 58c406173a aeralfos UB fix 2026-03-21 22:56:44 -07:00
TakaRikka aefdbd9ab1 fix fopAcM_createItemFromEnemyID fix 2026-03-21 20:30:41 -07:00
TakaRikka 07e7348b32 fix fopAcM_createItemFromEnemyID 2026-03-21 19:06:51 -07:00
TakaRikka 7c03087600 fix d_a_peru animation data 2026-03-21 18:05:29 -07:00
TakaRikka ef0f9ef7fd various crash fixes 2026-03-21 05:07:51 -07:00
TakaRikka 1e79756929 fix potential crash with heap name display 2026-03-21 01:50:20 -07:00
TakaRikka 775dad0633 Merge https://github.com/zeldaret/tp 2026-03-21 01:14:00 -07:00
TakaRikka ae6caa77a0 cleanup d_a_obj_wflag (#3135) 2026-03-21 00:56:27 -07:00
CraftyBoss da132863e9 Merge branch 'main' of https://github.com/TakaRikka/dusk 2026-03-21 00:56:15 -04:00
CraftyBoss 9510c94454 more BE stuff, fix scissors for dmap/fmap 2026-03-21 00:56:01 -04:00
Max Roncace 3fe39464f1 Add more heap names for debug 2026-03-20 20:59:50 -04:00
Lurs 0474db2fdf remove double swapping 2026-03-20 15:50:57 +01:00
Max Roncace 7ae18f3a9d Fix last argument in calls to dCamera_c::startEventCamera
The last argument is used as a char*, so we need to explicitly
pass nullptr instead of 0 to ensure it has the correct type.
This was causing crashes due to va_arg reading 8 bytes when only 4
were provided by the caller - if the out-of-bounds bytes are
non-zero, the null check fails and it continues pulling args from
beyond the argument buffer potentially triggering a segfault.
2026-03-20 02:51:29 -04:00
CraftyBoss 91d8e422ac oops forgot to include something 2026-03-19 23:59:37 -04:00
CraftyBoss 315f23b930 fix StaffWork being too big for work buffer, increase mpTalkHeap size 2026-03-19 23:54:00 -04:00
CraftyBoss 1aaa023e74 add more be swap in J3DDeform data, stub TObject_sound::do_paragraph 2026-03-19 13:36:10 -04:00
TakaRikka 6b74ee58d4 fix kcol wall correct 2026-03-18 22:58:43 -07:00
TakaRikka 86bad90a4f fix horse grass 2026-03-18 18:27:22 -07:00
TakaRikka cbc9f58452 player info display tool 2026-03-18 17:29:08 -07:00
TakaRikka 74f39689bc Merge branch 'main' of https://github.com/TakaRikka/dusk 2026-03-18 16:18:23 -07:00
TakaRikka e709ab39aa Merge pull request #99 from TakaRikka/fix/imgui-begin-frame
Move aurora_begin_frame/aurora_end_frame calls to main loop
2026-03-18 13:43:30 -07:00
Max Roncace 49080f6119 Move aurora_begin_frame/aurora_end_frame calls to main loop
This fixes an issue when using SDL's X11 backend due to Dusk
attempting to render ImGui menus without an active frame.
2026-03-18 16:33:03 -04:00
Max Roncace 2194b7ecf4 Update m_Do window viewport immediately on Aurora window resize
The framebuffer size flows into Aurora as follows:

Into JUTVideo:
  AURORA_WINDOW_RESIZED handler ->
  mDoGph_gInf_c::setWindowSize ->
  JUTVideo::setWindowSize
From JUTVideo -> dComIfG_play_c:
  fpcCt_Handler ->
  phase_4 ->
  dComIfGp_setWindow
From dComIfGp_play_c -> Aurora:
  mDoGph_Painter ->
  drawDepth2 ->
  GXSetTexCopySrc ->
  GXCopyTex ->
  aurora::gfx::resolve_pass (called by GXCopyTex)

The trouble is that 1) phase_4 is only called when creating a new scene/room,
and 2) even when it is called, mDoGph_Painter is executed before fpcCt_Handler
in the main loop so the new size isn't visible to aurora::gfx::resolve_pass
until one frame after it's set. This causes a crash due to the original size
being passed to CopyTextureToTexture despite the destination framebuffer now
being smaller.

As a workaround, we just cut out the whole middleman section and call
dComIfGp_setWindow immediately when we receive a resize event. This way the new
size is immediately visible to Aurora.
2026-03-18 12:46:56 -04:00
TakaRikka 674e5dcaa1 Merge https://github.com/zeldaret/tp 2026-03-18 02:58:55 -07:00
TakaRikka 81add0a2ab fix push pull callback UB in other compilers (#3134) 2026-03-18 02:57:37 -07:00
TakaRikka 929e71975c add cc collider view (broken color) 2026-03-18 01:25:42 -07:00