Commit graph

4892 commits

Author SHA1 Message Date
PeachyPeachSM64
454e567ca8 Fix a rare bug where Mario becomes indefinitely intangible when respawning 2025-11-24 22:16:51 +01:00
EmeraldLockdown
234b7686e2
Fix macOS (#1033) 2025-11-24 14:48:54 +10:00
Agent X
f6fc5c0aa7 Reset pause menu hidden on network shutdown (Oldest mistake in the book)
Also removed a couple unnecessary externs
2025-11-23 20:19:05 -05:00
Isaac0-dev
bd5cf36c61 fix a use after free in the edit player menu 2025-11-24 10:53:44 +10:00
PeachyPeachSM64
983932214a Fix artifacts with texture tiles 2025-11-23 13:49:35 +01:00
Isaac0-dev
14ac356fc2 i forgot to press save :( 2025-11-22 06:36:11 +10:00
Isaac0-dev
c89e52a554 missed these 2025-11-22 06:21:31 +10:00
Isaac0-dev
61b342710a this is gross what was i thinking 2025-11-22 06:15:01 +10:00
djoslin0
0538204fc3
Fix - Remove incorrect collision validation check (#1026)
A validation check in dynos_bin_col.cpp was wrong, which would block otherwise
well formed collision files. Since collisions are parsed as s16, if you reach
the bounds of s16 values will begin to overflow and the validation will catch
it.

To work around this overflow issue, you need to output groups of triangles and
vertices. However the existing check in ValidateColInit() would prevent this
workaround. Now there is essentially no hard-coded limit when it comes to vertex
and triangle counts of collision structs.

Co-authored-by: MysterD <myster@d>
2025-11-21 20:21:14 +01:00
PeachyPeach
7bc28a25d8
Fix HOOK_ON_HUD_RENDER rate at 30hz (#1022) 2025-11-20 11:44:43 +10:00
PeachyPeach
c3e5843c53
Fix djui hud texture unsupported formats (#995)
- `djui_hud_render_texture(_tile)` now accepts properly any `TextureInfo`
- Removed `bitSize`, added `format` and `size` to `TextureInfo`
- `texture_to_lua_table` can now convert any `Texture` into an RGBA table
2025-11-20 11:44:02 +10:00
djoslin0
a3bfd4a740
Make lightmapped graphics ignore lighting engine (#1025)
The dynamic lighting engine conflicted with lightmapped graphics. Now
lightmapped graphics will ignore the lighting engine. Making them work
together is something for the future.

Co-authored-by: MysterD <myster@d>
2025-11-20 11:40:46 +10:00
djoslin0
a164caa412
Fix negative zero network_send() edgecase (#1024)
Lua mods in very rare scenarios would send a value of -0 over the
network, and receive MIN_U64 due to an incorrect guess at the
variable type in an LNT.

---------

Co-authored-by: MysterD <myster@d>
2025-11-19 14:05:07 +10:00
PeachyPeach
6be70deecc
[build] Update macOS intel version (https://github.com/actions/runner-images/issues/13046) 2025-11-18 20:32:13 +01:00
Isaac0-dev
8b92817055
a proper fix to djui cursor dl corruption (#1018)
An alternative solution to https://github.com/coop-deluxe/sm64coopdx/pull/1014.
Which keeps smooth cursor rendering, while adding safe guards.
This makes djui interactions always update at 30hz instead of 60hz, to avoid more chances of display list corruption.

The cursor gfx is now placed in it's own static buffer to allow it to take up extra room if needed. If the 20 dl command buffer size is too small, we'll hear about it because it'll throw a system error.
I doubt it'll trigger though, in my testing it never needed more than 8.
2025-11-18 08:44:14 +10:00
djoslin0
48bfef7d87
Fix sequenced background music when set in ON_LEVEL_INIT (#1011)
---------

Co-authored-by: MysterD <myster@d>
2025-11-17 10:21:29 +10:00
djoslin0
708d67336d
Fix bowser camera oscillations (#1009)
Prevent the boss camera from using the altered 'grab' version
unless the local player is actually grabbing something

Co-authored-by: MysterD <myster@d>
2025-11-17 09:32:56 +10:00
djoslin0
2a95817d84
Fix djui menu flashing (#1008)
Move djui_reset_hud_params() to after the djui display list save point

Resetting scissor/viewport before the save point caused the djui menu to rapidly
flicker when interpolating (and an interpolated HUD texture was rendered)

Thanks to PeachyPeach for finding the better fix

Co-authored-by: MysterD <myster@d>
2025-11-17 09:27:59 +10:00
Agent X
c87ae6a263 Address peachy review 2025-11-15 17:45:51 -05:00
Agent X
25ba1f330c Restore DJUI pause menu escape key navigation
Sorry Isaac, keeping it in key down is better imo because that way you can navigate back in the pause menu using the escape key. I frequently use that and I noticed it completely closed the menu in 1.4
2025-11-15 13:49:08 -05:00
Agent X
d8b3edb561 Whoops 2025-11-15 13:26:58 -05:00
Agent X
6af4e39c25 Make custom pause menus easier to integrate 2025-11-15 10:33:49 -05:00
Agent X
89c8650091 Add djui_is_chatbox_open 2025-11-15 10:30:32 -05:00
Isaac0-dev
cdf3ad4e66 exposed handle_special_dialog_text 2025-11-15 14:13:20 +10:00
Isaac0-dev
c1af89aaf3 reset castle secret stars text on lobby reset, fix course name truncating 2025-11-14 09:15:51 +10:00
Emily♥
88c69c3f22
Fix issues with normal cap (#1003)
Fixes the following issues:
- Mario no longer regains his normal cap when doing the picking up cap action (this allowed you to reobtain it by picking up a Wing Cap, for example)
- Mario will now regain his cap from the ground, even without going into the cutscene. Previously, Mario had to enter the cutscene action to get the cap, so it wouldn't activate if Mario jumped into the cap (Klepto and Mr. Blizzard set the flags directly).
2025-11-14 07:24:14 +10:00
PeachyPeachSM64
520404a4c0 notes for future gbi extension 2025-11-13 19:55:45 +01:00
Isaac0-dev
15a67ed261 completely remove stretched skyboxes in extreme widescreen
bbh has 2 moons
2025-11-13 12:22:13 +10:00
djoslin0
7be78962ce
Update coopnet / libjuice (#1002)
Updates libjuice to 1.6.2 and applied some bugfixes to coopnet's peering code.
Confirmed to fix connection issues with DeadParrot's unusual networking topologies.
Only fully tested win64, I cross compiled the rest of the libraries.

Co-authored-by: MysterD <myster@d>
2025-11-13 08:06:29 +10:00
Baconator2558
458d683e41
Add gsDPSetEnvRGB() (#997)
This command sets the RGB values of a material's environment color without setting the alpha. This is important, as functions like `geo_update_layer_transparency()` use the environment color alpha to control a model's overall opacity. However, if one of the model's materials sets its own environment color alpha, then that will take priority. This command allows these models to still use environment colors in their materials.
2025-11-13 08:00:31 +10:00
Juan
26f9799621 fix Spanish.ini (#950)
* fix Spanish.ini

* fix Spanish.ini
2025-11-13 07:20:59 +10:00
sapbotgit
ba728fad8b Corrections of spelling by native speaker (#928) 2025-11-13 07:19:48 +10:00
Agent X
b5d5ba7687 Expose save_file_set_cannon_unlocked
For a project I'm working on.
2025-11-08 15:01:45 -05:00
PeachyPeachSM64
a45dbbbeb5 Fix gfx_set_command bug if symbol is a substring of another symbol 2025-11-08 16:46:59 +01:00
PeachyPeachSM64
70530b1bde Fix audio file not found on Windows 2025-11-05 23:44:34 +01:00
PeachyPeachSM64
c15748d995 Bring back ChainSegment and PlayerPalette 2025-11-05 23:12:14 +01:00
djoslin0
c2a6110223
Make version checking slightly better (#992)
Currently version checking throws false positives constantly.
This change will set uninitialized variables and require parsing
a version number that starts with v in order to display the
pop-up

Co-authored-by: MysterD <myster@d>
2025-11-05 10:25:44 +10:00
PeachyPeachSM64
9a3d3a7640 Remove unused/unusable structs from autogen 2025-11-04 22:19:12 +01:00
Cooliokid956
5fd55ffac1
djui_hud_is_mouse_locked() (#986)
Some checks failed
Build coop / build-linux (push) Has been cancelled
Build coop / build-steamos (push) Has been cancelled
Build coop / build-windows-opengl (push) Has been cancelled
Build coop / build-windows-directx (push) Has been cancelled
Build coop / build-macos-arm (push) Has been cancelled
Build coop / build-macos-intel (push) Has been cancelled
* djui_hud_get_mouse_locked()

Adds a total of 1 function:
# `bool djui_hud_get_mouse_locked()`
Returns the DJUI mouse lock status

Tip: This won't return the true state of mouse lock, so make sure to use `get_first_person_enabled()` and `camera_config_is_mouse_look_enabled()` as well

---
This also fills in some descriptions left out by Isaac in his viewport/scissor functions

* djui_hud_is_mouse_locked()

Same as before but is

* this is better imo
2025-10-29 18:41:27 +01:00
Emily♥
9f7ad0f93e
Some syncing fixes for Bowser and Heave Ho (#989)
* Fix Eyerok pounding in multiplayer

Eyerok now only enters the double pound state if ALL players stand on the pedestal rather than just one. Players standing on the pedestal will be ignored. I had to write a new function for this, I hope this is acceptable.

* Suggested changes

I didn't want to change the name of arg0 in eyerok_check_mario_relative_z because it was a vanilla function, but I suppose I can.

* Remove interaction limit for PVP

Fixes issues with certain mods

* Fixes for Bowser and Heave Ho

Hopefully this makes things a bit better.
2025-10-29 18:39:40 +01:00
PeachyPeachSM64
fcef8699f2 Fix other various buffer overflows and make string conversion 188% faster
Some checks failed
Build coop / build-linux (push) Has been cancelled
Build coop / build-steamos (push) Has been cancelled
Build coop / build-windows-opengl (push) Has been cancelled
Build coop / build-windows-directx (push) Has been cancelled
Build coop / build-macos-arm (push) Has been cancelled
Build coop / build-macos-intel (push) Has been cancelled
2025-10-26 16:01:47 +01:00
PeachyPeachSM64
c4c7f6c1b9 Fix buffer overflow in HOOK_ON_DIALOG
Some checks are pending
Build coop / build-linux (push) Waiting to run
Build coop / build-steamos (push) Waiting to run
Build coop / build-windows-opengl (push) Waiting to run
Build coop / build-windows-directx (push) Waiting to run
Build coop / build-macos-arm (push) Waiting to run
Build coop / build-macos-intel (push) Waiting to run
2025-10-26 13:57:20 +01:00
PeachyPeach
32f395fb0c
ModFs improvements (#907)
Some checks failed
Build coop / build-linux (push) Has been cancelled
Build coop / build-steamos (push) Has been cancelled
Build coop / build-windows-opengl (push) Has been cancelled
Build coop / build-windows-directx (push) Has been cancelled
Build coop / build-macos-arm (push) Has been cancelled
Build coop / build-macos-intel (push) Has been cancelled
* zip + json properties; check existing file in create file

* smlua_audio_utils_replace_sequence

* audio_stream_load, audio_sample_load, smlua_model_util_get_id

* get_texture_info + can also load PNG files

* smlua_collision_util_get

* add wildcard in properties files + set text mode

* filepath restrictions

* Some mod_storage improvements

- Cache mod storage files into a map to reduce file I/O
- Fix a bug in mod_storage_save
- Add mod_storage_load_all that returns all keys/values as a table

* shutdown; fix buffer overflow; fix warnings; lua table

* reject binary files starting with MZ or ELF

* function members

* better doc

* adding file rewind

* ModFS guide; replace yaml by ini; read string buffer changes
2025-10-21 19:42:06 +02:00
Beckowl
25838f13bc
fix require (#908)
* fix require

* Refactor smlua_find_mod_file

* formatting

* initialize arrays for consistency

* normalize relative path in mod_allocate_file instead (fix mod dev mode)

* do cleanup

* Remove useless branch + add comments

* fix mod_file_exists

* WIP: cache mod files at root (LIVE RELOAD IS BROKEN)

* Fix live reload

* remove useless declaration (??)

* fix incorrect top handling

* cleanup x2

* stupid

* loading sentinel + mark top level files as loading

* address dj's comment
2025-10-21 19:04:48 +02:00
Cooliokid956
9a934f8443
Static Object Collision / Check for freed CObject (#924)
* Static Object Collision

* no soc surface pool; bnot

* Isaac review

---------

Co-authored-by: PeachyPeachSM64 <72323920+PeachyPeachSM64@users.noreply.github.com>
2025-10-21 19:04:05 +02:00
Cooliokid956
98891b7334
Fix custom Palette Idle action (#946)
* Palette Idle fixes

- Return to Idle only from palette editor action
- disallow cap toggles if cap is missing

* The Peachy review
2025-10-21 19:02:53 +02:00
Baconator2558
3b5a1a3dcb
Fix X Axis Inversion on Free Cam + Fix PlayerCamState in Custom Camera Modes (#958)
* Update bettercamera.inc.h

Fixes X axis inversion on free cam

* Use PlayerCamState for Free Cam

* Use PlayerCamState for ROM Hack Cam

* Use sMarioCamState to access PlayerCameraState

Probably should've just done this initially.
2025-10-21 19:02:06 +02:00
PeachyPeach
4671f09f79
G_CULL_INVERT_EXT; Vec2 functions; bug fixes (#985) 2025-10-21 18:56:35 +02:00
Jaid
f58b82997f
Update custom_font.c (#956)
Some checks failed
Build coop / build-macos-arm (push) Has been cancelled
Build coop / build-macos-intel (push) Has been cancelled
Build coop / build-linux (push) Has been cancelled
Build coop / build-steamos (push) Has been cancelled
Build coop / build-windows-opengl (push) Has been cancelled
Build coop / build-windows-directx (push) Has been cancelled
2025-10-17 00:30:26 +02:00
Baconator2558
77a43c60a3
Add Ability to Rotate Held Objects (#953)
* Add files via upload

* Add files via upload

* Add files via upload

* Add files via upload

* Add files via upload

* Update rendering_graph_node.c

---------

Co-authored-by: PeachyPeach <72323920+PeachyPeachSM64@users.noreply.github.com>
2025-10-17 00:30:00 +02:00