Commit graph

194 commits

Author SHA1 Message Date
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
39e035239c
Add djui_attempting_to_open_playerlist (#195) 2024-09-06 17:08:22 -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
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
543511ff28 Undeprecate env region functions 2024-07-03 19:51:54 -04:00
Agent X
1bde63d3d8 Expose should_push_or_pull_door() 2024-06-30 20:15:12 -04:00
Agent X
20d2e3de6b Add djui_menu_get_font 2024-06-29 16:15:44 -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
Isaac0-dev
003136db4f
add get_surface_from_wcd_index (#75) 2024-06-21 12:14:59 -04: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
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
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
Agent X
6305c20410 Add 'script warnings' for using deprecated functions, add new Discord ID function 2024-06-05 18:58:38 -04:00
Agent X
2b2dceb333
Add a mod menu where mods can put DJUI elements (#56)
* Add a menu where mods can put their options at

* Document mod menu hook functions

* Add HOOK_ON_LANGUAGE_CHANGED

* Add new Cheats mod

* Make player menu disable singleplayer pause

* fix some git merge conflicts that weren't resolved (#55)

and added -latomic to build flags to fix compile warnings while compiling miniaudio

* Remove legacy 'deluxe' field from built-in mods

* Lots of improvements to memory safety

* Abbreviated hex color parsing

Co-Authored-By: Mechstreme <84944335+mechstreme@users.noreply.github.com>

---------

Co-authored-by: Isaac0-dev <62234577+Isaac0-dev@users.noreply.github.com>
Co-authored-by: Mechstreme <84944335+mechstreme@users.noreply.github.com>
2024-06-01 20:52:43 -04:00
Agent X
1f3af25805 Expose fade_into_special_warp 2024-05-21 17:10:00 -04:00
Agent X
ceb7aa4649 Palette system overhaul and preset rewrite 2024-05-21 17:09:59 -04:00
Isaac0-dev
0d71c6c12f
remove animation dma tables, and provide mods more access to mario animations (#47)
This removes the old animation system which would create 16 copies of the animation table, so this should use less memory. Made m->animation->targetAnim always be a pointer to the actual animation in gMarioAnims, so mods can grab the pointer and reuse it.
added get_mario_vanilla_animation to Lua, which lets a mod get any of mario's built in animations from its index.
2024-05-21 21:17:30 +10:00
PeachyPeach
14cbb673fc
Proper custom object fields (#39) 2024-05-14 08:52:56 +10:00
Agent X
3d2436c808 Rename is_playerlist_open to djui_is_playerlist_open 2024-05-12 09:18:40 -04:00
Agent X
3c86c0c83b Add is_playerlist_open() 2024-05-12 09:16:55 -04:00
Agent X
e6880a5fee Add new networked water level functions 2024-05-11 17:55:18 -04:00
Isaac0-dev
a5c4e29d2f
allowed add_scroll_target to use behavior parameters for offset and size (#20) 2024-05-08 22:12:55 +10:00
Isaac0-dev
76b66e9b7d
give Lua mods some more control over dialog boxes (#19)
exposed set_menu_mode, create_dialog_box, create_dialog_box_with_response, create_dialog_box_with_var, create_dialog_inverted_box, reset_dialog_render_state
added and exposed get_dialog_response
HOOK_ON_DIALOG can now take an extra return value as a string, which will be used instead of what ever was going to be in the textbox.
2024-05-06 17:51:28 +10:00
Isaac0-dev
90b071acc0
exposed a bunch of interaction functions to Lua (#22)
Renamed the function interact_unknown_08 to interact_spiny_walking
and added the constant INTERACT_SPINY_WALKING, which has the same value of INTERACT_UNKNOWN_08
INTERACT_UNKNOWN_08 is kept for compatibility with smlua, and behavior dynos bins
2024-05-03 18:38:21 +10:00
Agent X
b8c42f308f Disallow function that shouldn't be in Lua 2024-04-09 17:40:52 -04:00
Isaac0-dev
4473bfffe9
removed bass, replaced with miniaudio (#8) 2024-03-23 16:14:53 -04:00
Agent X
7dd02b5c4d Massively improve "Global Player Models" option 2024-03-17 20:58:38 -04:00
Agent X
de1e24b7b9 Remove sm64ex-coop compatibility 2024-03-17 16:32:49 -04:00
Agent X
58a3ed49f7 Revert "Add ability to set global note frequency scale"
This reverts commit de9c3c35b2.
2024-03-13 17:24:46 -04:00
Agent X
edd29c0719 Remove set gfx adjust for aspect ratio function
Too much power.
2024-03-08 19:47:46 -05:00
Agent X
89e9bcdcec Add "-- pausable" field for mods and function so mods can make themselves pausable in singleplayer 2024-03-04 19:25:09 -05:00
Agent X
5fc381d616 Add DynOS global player models option 2024-03-02 16:36:28 -05:00
Agent X
d4fe80d4a6 Expose level_control_timer_running 2024-02-22 14:51:33 -05:00
Agent X
815bbe0053 Add ability to get global timer and set HUD flash 2024-02-22 13:59:19 -05:00
Agent X
5c3ebadb8e Add ability to change window title 2024-02-22 13:36:22 -05:00
Agent X
de9c3c35b2 Add ability to set global note frequency scale 2024-02-21 20:46:27 -05:00
Agent X
18a3b333e8 Add ability to disable aspect ratio adjustment 2024-02-21 19:26:30 -05:00
Agent X
bf9c9d5e75 Remove FONT_TINY and introduce legacy compatibility for it 2024-01-07 20:23:24 -05:00
Agent X
0345a873b7 Add get_coop_compatibility_enabled and undefine SM64COOPDX_VERSION if it's on 2024-01-01 12:27:23 -05:00
Agent X
4e96b49182 Revert "Rework First Person FOV"
This reverts commit 2a0af8e216.
2023-12-18 14:27:48 -05:00