Commit graph

458 commits

Author SHA1 Message Date
Agent X
52b4d51508 Add collision_find_surface_on_ray_precision 2024-06-16 10:45:55 -04:00
Agent X
bcdb6be53a Improve mod storage & hopefully fix Cookie mod 2024-06-15 13:39:16 -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
b6ed10274b Update MarioState documentation 2024-06-14 09:42:18 -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
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
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
Isaac0-dev
eaa1a59996
fixed some mario cutscene action related bugs (#43)
- fixed a bug where remote players would show mario's head repeatedly twitching up and down while reading automatic dialog
- fixed a bug where remote mario's would sometimes not update while unlocking a star door, resulting in the previous animation playing during that action
- fixed a bug where players exiting a warp door could get stuck for a few extra frames due to other players opening that same door.

- added dialogId to MarioState, which is synced for remote players the dialog id that player has active. this can be used by Lua mods - don't access the local player's dialog id because that isn't updated as that is unnecessary
2024-05-14 09:45:33 +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
cb6f5f2b30 Revert "Add gServerSettings.enableChat"
This reverts commit c21c255241.
2024-05-12 08:15:57 -04:00
Agent X
ec3fb07e76 Add @Hex4dec HOOK_ON_ATTACK_OBJECT 2024-05-11 18:44:18 -04:00
Agent X
96018588cd Fix convert_constants.py on Python 3.12 2024-05-11 17:55:38 -04:00
Agent X
e6880a5fee Add new networked water level functions 2024-05-11 17:55:18 -04:00
Agent X
c21c255241 Add gServerSettings.enableChat 2024-05-11 16:48:59 -04:00
Isaac0-dev
1e4e1f8e75
fix bugs caused by interpolating the frame an object spawns (#36) 2024-05-11 08:28:20 +10: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
Blockyyy
a7b2741aa7
added HOOK_ON_SEQ_LOAD (#18) 2024-04-24 22:39:34 +10:00
Agent X
a6b938df75 Shorten include paths by removing unnecessary "src/" 2024-04-17 17:28:38 -04:00
Agent X
b8c42f308f Disallow function that shouldn't be in Lua 2024-04-09 17:40:52 -04:00
Isaac0-dev
974577f678
djui player menu custom camera cutscene (#2) 2024-03-28 18:53:46 -04:00
Emily♥
29b67a3ef0 Pass "interaction" to HOOK_ALLOW_PVP_ATTACK and HOOK_ON_PVP_ATTACK + Fix broken links (#566)
* Pass "interaction" to HOOK_ALLOW_PVP_ATTACK and HOOK_ON_PVP_ATTACK

This let's you test for the kind of attack in the hook; for example, you can do `interaction & INT_KICK ~= 0` to test if the attack is a kick.

* Fix broken links in wiki

Have to go up one directory
2024-03-25 18:47:27 -04:00
PeachyPeach
2a36b14dcd Remove OMM Rebirth temporary fixes (#542) 2024-03-25 18:35:25 -04:00
Isaac0-dev
4473bfffe9
removed bass, replaced with miniaudio (#8) 2024-03-23 16:14:53 -04:00
Isaac0-dev
663e4549d8
extract assets from rom at runtime (#4)
* Proof of concept for loading rom assets at runtime

* Added skybox textures

* Adjusted format

* Load all texture assets from rom

* Adjusted rom asset loading

* Load all Vtx lists from rom

* clean up toad, wario and his cap conflicts

* Load sound samples from rom

* fix toad sounds

* Loaded sequences from rom

* Load collisions from rom

* Object animations are now loaded from the rom

* Load player animations from rom

* Load goddard anims from rom

* whoops

* fix some compile errors

* drag and drop rom checker, everything works now.

* fix errors due to merge conflicts

* fix compile errors on windows, switch to md5

* fix vertex colors during load

Co-Authored-By: Agent X <44549182+agent-11@users.noreply.github.com>

* Load dialogs from rom

* Loaded course/act names from rom

* Loaded ingame text from rom

* rerun autogen & blacklist smlua_text_utils_init

* fix ttc_seg7_vertex_0700B238 colors

---------

Co-authored-by: MysterD <myster@d>
Co-authored-by: Agent X <44549182+agent-11@users.noreply.github.com>
2024-03-23 16:11:30 -04:00
Isaac0-dev
90331f8fe5 fix mod compatibility due to version constants 2024-03-19 20:47:18 +10: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
d2842becdb Restore old versioning system 2024-03-17 15:02:03 -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
74422d16a4 Fix Toadette palette 2024-03-09 14:18:30 -05: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
9870e18bf5 Add OBJ_LIST_EXT in place of OBJ_LIST_UNUSED_1 2024-03-04 20:09:53 -05:00
Agent X
55fe506b82 Add ENVFX_MODE_NO_OVERRIDE constant 2024-03-04 19:26:44 -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
87a83806a1 Restore vanilla pause camera zoom out as gLevelValues field 2024-03-03 17:30:20 -05:00