Commit graph

399 commits

Author SHA1 Message Date
John S
3dd9226bc9
Update math_util.c and math_util.h to support autodoc with trig functions (inline instead of macros) and add new functions to smlua_math_utils (#359)
* 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>
2024-10-18 12:20:36 +10:00
Sunk
9621424069
Fix early hits (#363)
Sometimes, the player can ground pound a pole before even landing or punch/kick an enemy at high speeds which will kill the enemy but not give bounce back to the player. This fixes those, although there are definitely mod incompatibilities.
2024-10-17 18:31:01 +10:00
Sunk
b2bf9abafa
Add some suggestions from issues (#354)
* 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
2024-10-07 13:43:04 +10:00
Isaac0-dev
4aa2a20f72
fixes, clean up and some new features (#259)
- 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`.
2024-09-12 19:09:01 +10:00
EmeraldLockdown
c3d3f8545a
HOOK_ON_NAMETAGS_RENDER (#213) 2024-09-12 19:01:16 +10:00
EmeraldLockdown
39e035239c
Add djui_attempting_to_open_playerlist (#195) 2024-09-06 17:08:22 -04:00
Agent X
a4ed5ddb53 v1.0.3 2024-09-01 19:00:38 -04:00
Agent X
e6edb61dfb Bump online version 2024-09-01 17:51:20 -04:00
Agent X
c94990f743 v1.0.2 2024-09-01 14:17:52 -04:00
Cooliokid956
c509dab0cf
Add rotation interpolation (#208)
* Interpolate rotation

* Autogen'd

* Resolution 1

* Resolution 2

* Resolution 3

* Resolution 4

* Fixed jitter at low angular velocities

More in the comment below
2024-07-21 18:58:38 -04:00
Blockyyy
1ac9ce8e4c
sequence_player_set_tempo, sequence_player_set_transposition (#224)
* Made Sequence function

* snake case
2024-07-21 18:56:18 -04:00
Agent X
594ff262bc a bunch of fixes (#216)
Nice job targeting the main branch Isaac

Co-Authored-By: Isaac0-dev <62234577+Isaac0-dev@users.noreply.github.com>
2024-07-17 08:37:42 -04:00
Agent X
2b6a173f8b Added gFirstPersonCamera.forceYaw 2024-07-17 08:25:23 -04:00
Agent X
60b9e43604 Fix first person a little and add pitch forcing 2024-07-11 23:10:51 -04:00
Agent X
8690c0e4ee Increment version 2024-07-10 12:06:11 -04:00
Agent X
ad2e84ed30 Expose get_mario_cap_flag() 2024-07-08 22:13:41 -04:00
Agent X
2601d4cc4f Undeprecate and restore network_discord_id_from_local_index 2024-07-07 20:06:33 -04:00
Agent X
b20753f0c0 Change METAL back to CAP 2024-07-05 22:46:16 -04:00
Agent X
543511ff28 Undeprecate env region functions 2024-07-03 19:51:54 -04:00
Agent X
81c4180a06 Remove Waluigi anims 2024-07-01 18:32:27 -04:00
Agent X
1bde63d3d8 Expose should_push_or_pull_door() 2024-06-30 20:15:12 -04:00
Agent X
c144ff6780 Remove unused Waluigi animation 2024-06-30 17:46:18 -04:00
Agent X
b1b8ceafcb Add back legacy palette fields so mods don't immediately break 2024-06-30 10:48:22 -04:00
Agent X
b228b3bb0e Re-enable update checker/changelog code, set version back to v1.0 2024-06-30 07:43:13 -04:00
Agent X
4967c911cc This is dangerous, apparently 2024-06-29 16:39:27 -04:00
Agent X
20d2e3de6b Add djui_menu_get_font 2024-06-29 16:15:44 -04:00
Agent X
8a5a23a8a6 Add HOOK_ON_MODS_LOADED 2024-06-29 16:00:42 -04:00
Agent X
3359ebba0b Add AWESOME new lighting color functions 2024-06-27 16:54:13 -04:00
Agent X
971ddc00cd Remove legacy struct fields, fix a function name 2024-06-26 18:51:11 -04:00
Agent X
ac805bf94d Expose some behavior_script.h functions to Lua 2024-06-23 19:30:38 -04:00
Agent X
3707ca9b2e Separate some smlua_misc_utils functions into their own files & add get/set_skybox_color 2024-06-21 23:26:13 -04:00
Agent X
e42f114b2d Add gLevelValues.jrbDarkenSkybox 2024-06-21 22:57:44 -04:00
Agent X
6eae0e28d1 Change METAL to EMBLEM 2024-06-21 13:51:06 -04:00
Isaac0-dev
003136db4f
add get_surface_from_wcd_index (#75) 2024-06-21 12:14:59 -04:00
Agent X
fa2ffcdcb9 Readd 'loaded' field to mod audio for CS compatibility 2024-06-19 17:50:24 -04:00
Isaac0-dev
eeebfecca4
more loading screen fixes for non supported builds (#74) 2024-06-19 11:43:01 +10:00
Agent X
56b96a97e2 Turn collision_find_surface_on_ray into an smlua function 2024-06-17 13:03:38 -04:00
Agent X
52b4d51508 Add collision_find_surface_on_ray_precision 2024-06-16 10:45:55 -04:00
Agent X
15c9602e11 Add gLevelValues.infiniteStairsRequirement and gBehaviorValues.CourtyardBoosRequirement
Ported this PR from the sm64ex-coop dev repo.

Co-Authored-By: Emily♥ <77174187+emilyemmi@users.noreply.github.com>
2024-06-14 10:37:14 -04:00
Agent X
e780b74d1b Properly sync BITS ferris wheel platforms 2024-06-13 20:33:47 -04:00
Agent X
7026a2862f Add save_file_erase because it's already possible at this point 2024-06-13 20:33:47 -04:00
Agent X
40fb681eda Expose sound_get_level_intensity 2024-06-12 15:01:11 -04:00
Agent X
41525c1fc3 Rename HOOK_OVERRIDE_PHYS_STEP_DEFACTO_SPEED to HOOK_MARIO_OVERRIDE_PHYS_STEP_DEFACTO_SPEED 2024-06-12 09:42:43 -04:00
Agent X
0e0b3c1862 Expose gCurrentArea and gCamera to Lua 2024-06-10 11:32:05 -04:00
Agent X
6471da0a07 Remove crash-prone mod menu force unpause feature 2024-06-09 10:32:43 -04:00
Agent X
cb729dc40a Make audio streams update volume 2024-06-09 10:26:51 -04:00
Agent X
7c01e405e0 Allow mods to do -- ignore-script-warnings: true 2024-06-09 09:31:48 -04:00
Agent X
9dcbef97eb Make smlua_model_util_get_id return ModelExtendedId 2024-06-07 20:33:48 -04:00
Agent X
ed1986e743 Add volume control functions to Lua 2024-06-07 17:34:24 -04:00
Isaac0-dev
eaeaeb0f7f
add a way for mods to get dynamic surfaces that belong to specific objects (#59)
Adding this for collision minimap, but I'm sure it'd be useful for many other mods that deal with collision in this kind of way

exposes a function, obj_get_surface_from_index. pass in an object, and the index of the surface you want. numSurfaces is also added to know when to stop iterating through surfaces

Thanks to peachy for coming up with the better method of doing this

Co-authored-by: PeachyPeach <72323920+PeachyPeachSM64@users.noreply.github.com>
2024-06-06 17:24:28 +10:00