* Allow multiple returns in autogen functions
* condense function member names
* This shouldn't be here
* Relocate these functions
LVT_FIELD shouldn't be there yet
* multi-return part 2: most functions are usable now
---------
Co-authored-by: PeachyPeachSM64 <72323920+PeachyPeachSM64@users.noreply.github.com>
* Normalize paths in smlua_find_mod_file()
Without normalizing the relative path, the comparison
fails when a mod using require is hosted/joined cross-platform.
Without this fix, any mod using require is effectively not
cross platform. This is critical.
* Address peachy's comment
---------
Co-authored-by: MysterD <myster@d>
When typing ` into the coopnet password inputbox (the same as the console bind)
It would do all of the null checks, then open the console changing the focus,
then call a null function because the null checks are no longer valid.
So I moved the null checks to where they're needed.
Co-authored-by: MysterD <myster@d>
Sorry but me and dj came to an agreement that this just gives people an unfair competitive edge. Mods still have full capability to change camera collision options though.
- `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
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>
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>
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.
Prevent the boss camera from using the altered 'grab' version
unless the local player is actually grabbing something
Co-authored-by: MysterD <myster@d>
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>
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
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).
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.