Commit Graph

2705 Commits

Author SHA1 Message Date
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
Max Roncace 5cb3a39f43 Merge remote-tracking branch 'decomp/main' 2026-03-18 01:56:47 -04:00
TakaRikka f64015ea38 cc debug work (#3133) 2026-03-17 22:48:37 -07:00
Max Roncace 6694c1b281 Fix a bunch of compiler warnings and document several more bugs (#3130) 2026-03-17 22:38:05 -07:00
Max Roncace f6e22e40f8 Fix vertex data not being populated for non-textured models
This affects models loaded by d_a_bg such as Stage/bmde/model2.bmd.
2026-03-18 00:25:38 -04:00
Lurs 555bf395fb BE or un-BE, that is the question 2026-03-17 14:39:02 +01:00