Sherbie's suggestions from #497 and #538, as well as suggestions from others on discord.
Add 2 new camera settings to free camera, being camera collision and dpad usage.
Add an entire new camera submenu for romhack camera, which are now no longer exclusive to romhacks.
* WIP mario.h - mario_actions_moving.c
* Fix improper list formatting
bulleted lists are broken due to whitespace stripping, i may fix this later.
* Fix some issues in formatting and missing descriptions
* Accidental struct syntax fix
* Fix repeating descriptions
* Fix repeating descriptions final
* Removed unintentionally exposed function and disallowed it in autogen
* Exposed djui_language_get to lua
* Added djui_menu_get_rainbow_string_color()
Special thanks to zam_boni on Discord as well
Co-Authored-By: PeachyPeach <72323920+PeachyPeachSM64@users.noreply.github.com>
Co-Authored-By: xLuigiGamerx <88401287+xLuigiGamerx@users.noreply.github.com>
* Unhardcode exclamation boxes
Part 1 of creating custom exclamation boxes
* Add `set_exclamation_box` and `get_exclamation_box`
Part 2 of creating custom exclamation boxes
* Exclamation box docs
Part 3 of creating exclamation boxes, although this was entirely optional
* Safety check
* Add a warning
* Remake component check
* Update warnings
* Check for subtables not being tables
* Reduce exclamation box size
This matches how many contents could exist in vanilla due to its hardcoded id 99 check. This check allows me to reasonably assume that no romhacks have more than 99 custom contents. Other mods that may use this function really shouldn't need more than 99 contents either.
* interpolate all fovs
* perfected the fov equation
just the facts
* create fov coefficient function
use it to scale units along with fov
* add get_current_fov
returns the current fov
* Update math_util.c and math_util.h to move toward inlining functions instead of macros for autodoc. Expose some misc functions useful to lua
* Fix formatting
* Fix math_util.c formatting
* Fix formatting for smlua_math_utils.c
* Fix formatting smlua_functions.c
* Fix type redundancy in _Generic macros
* Add checks for including the highly optimized builtin compiler functions for GCC/Clang
* Add compiler checking for absx() to add in the highly optimized GCC/Clang builtins
* Fix repeated use of float built-ins for non floating point numbers
* Fix grammar mistake
* Fix functions to use camelCase as requested.
* Fixed the use of a custom sqrt approximation as modern procs have a built in FSQRT instruction that is faster.
---------
Co-authored-by: js <js@cartbara.columbus.rr.com>
* Make dives knockback based on speed
Suggestion from issue #349
* Add `get_local_coopnet_id`
Suggestion from issue #264
* Readd breakdancing as an attack
Suggestion not only from me but also from a few players I talked with. However this was not a suggestion that came from issues.
* Change around pvp damage
Suggestion from issue #343 and some changes from talking with the creator of the suggestion
* Change `get_local_coopnet_id`
The function can now take in any local id and has been renamed to just `get_coopnet_id`
* Suggested fixes
- Only inited `smlua_audio_utils` if needed, since there will probably be plenty of people who play without ever using mods with custom audio.
- Fixed the pause anywhere setting - this ended up not being fully accurate to ex-coop, which it was originally intended to be.
- Stopped regenerating dynos collision bin on start up every time therefore giving a slight start up speed boost for some people.
- Added a config file setting that lets people choose to compress dynos bins on startup (disabled by default).
- Fixed a warning that shows on non macs during compiling.
- Properly fixed the chat box focus.
- Made the public lobby rules panel "temporary".
- Added a cleaner loading screen design.
- Added an ex-coop theme easter egg, can only be activated from the config file.
- Cleaned up the Lua traceback logging, now shows the folder and file the error occurred in, rather than the full path.
- Added a way to set `gCheckingSurfaceCollisionsForCamera`, so mods can specify to surface finding functions to ignore `SURFACE_FLAG_NO_CAM_COLLISION` internally.
- Rewrote the way smlua pushes CObjects/CPointers to Lua. Now using the C Lua API entirely to connect to Lua.
- Fixed a use-after-free bug that could easily crash the game through Lua (explained further in one of my comments below).
- Fixed a common crash in `audio_sanity_check`.