Commit Graph

2710 Commits

Author SHA1 Message Date
YunataSavior 37bccaa011 Add "Selected Layer" to Map Loader 2026-03-26 20:18:18 -07:00
Max Roncace 053392f440 Fix UB in search_ground_1 in d_a_e_yg
This could cause a crash and was previously fixed by 3aa39867, 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 3f90d11e95 Merge branch 'main' of https://github.com/TakaRikka/dusk 2026-03-26 04:52:52 -07:00
TakaRikka 59d689724c save editor inventory menu wip 2026-03-26 04:52:09 -07:00
YunataSavior 31e93a3e7c Fix "switch case passes initialization" in d_a_peru 2026-03-25 21:28:58 -07:00
Max Roncace 105e856d4f 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 3b6582f1a2 Add even more heap debug names 2026-03-25 20:53:18 -04:00
Max Roncace c5d1ceffff Map loader: Reset room/point values when region is changed 2026-03-25 20:53:18 -04:00
Max Roncace c92ebfe5f1 Improve exp heap alloc failure message 2026-03-25 20:53:18 -04:00
Max Roncace 3aa39867a0 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 c49b5ad857 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 bfcfb3622e fixes #107 2026-03-25 12:05:50 -07:00
madeline 99786174cb properly scale deku toad camera detection range 2026-03-24 18:34:12 -07:00
madeline 9b9ea69dbc Merge branch 'main' of https://github.com/TakaRikka/dusk 2026-03-24 18:25:05 -07:00
madeline d6f2b1c899 fix trimming viewport scissoring fixes #121 2026-03-24 18:25:01 -07:00
Lurs 96c5ac2b23 Merge branch 'main' of https://github.com/TakaRikka/dusk 2026-03-24 11:20:12 +01:00
Lurs 8b66a4e648 Add toggle for water projection offset. Potentially fixes #77 2026-03-24 11:19:58 +01:00
madeline ed27528728 turn on background input 2026-03-23 23:17:26 -07:00
madeline 913619a930 fuck interrupts 2026-03-23 22:16:57 -07:00
PJB3005 acf3844f1f Add note about DUSK_SELECTED_OPT to README 2026-03-23 13:53:23 +01:00
PJB3005 ff7a80c7b4 Add a bunch of missing imgui close buttons 2026-03-23 13:46:46 +01:00
PJB3005 d5786356e2 Threading cleanup: remove MallocAllocator stuff
Not necessary anymore now that JKRHeap is isolated
2026-03-23 13:34:20 +01:00
TakaRikka 4a2294c40b save editor wip 2026-03-23 05:01:42 -07:00
TakaRikka b0e3a4e0d2 enable cs fades again 2026-03-22 00:20:37 -07:00
TakaRikka 793e09b95c aeralfos UB fix 2026-03-21 22:56:44 -07:00
TakaRikka 6d4f41b50d fix fopAcM_createItemFromEnemyID fix 2026-03-21 20:30:41 -07:00
TakaRikka 82172e2ee5 fix fopAcM_createItemFromEnemyID 2026-03-21 19:06:51 -07:00
TakaRikka 7ce4c444ec fix d_a_peru animation data 2026-03-21 18:05:29 -07:00
TakaRikka 9bc74b0226 various crash fixes 2026-03-21 05:07:51 -07:00
TakaRikka 0122e42e1e fix potential crash with heap name display 2026-03-21 01:50:20 -07:00
TakaRikka 2075da3347 Merge https://github.com/zeldaret/tp 2026-03-21 01:14:00 -07:00
TakaRikka f8cf545848 cleanup d_a_obj_wflag (#3135) 2026-03-21 00:56:27 -07:00
CraftyBoss 328102ef2e Merge branch 'main' of https://github.com/TakaRikka/dusk 2026-03-21 00:56:15 -04:00
CraftyBoss 955a70db1e more BE stuff, fix scissors for dmap/fmap 2026-03-21 00:56:01 -04:00
Max Roncace 2c7ae22167 Add more heap names for debug 2026-03-20 20:59:50 -04:00
Lurs e22c9da163 remove double swapping 2026-03-20 15:50:57 +01:00
Max Roncace 4a4a5724e1 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 4c613244c1 oops forgot to include something 2026-03-19 23:59:37 -04:00
CraftyBoss fe60866ffd fix StaffWork being too big for work buffer, increase mpTalkHeap size 2026-03-19 23:54:00 -04:00
CraftyBoss e0bbf3e575 add more be swap in J3DDeform data, stub TObject_sound::do_paragraph 2026-03-19 13:36:10 -04:00
TakaRikka d1b9b74271 fix kcol wall correct 2026-03-18 22:58:43 -07:00
TakaRikka ad43dee0e7 fix horse grass 2026-03-18 18:27:22 -07:00
TakaRikka 2ce36679f7 player info display tool 2026-03-18 17:29:08 -07:00
TakaRikka 46ac385a4d Merge branch 'main' of https://github.com/TakaRikka/dusk 2026-03-18 16:18:23 -07:00
TakaRikka 0731b7ca1f 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 cfc3a5f483 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 fbbf27e73d 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 b202701757 Merge https://github.com/zeldaret/tp 2026-03-18 02:58:55 -07:00
TakaRikka bc7503cb70 fix push pull callback UB in other compilers (#3134) 2026-03-18 02:57:37 -07:00
TakaRikka cefd7e59a1 add cc collider view (broken color) 2026-03-18 01:25:42 -07:00