Commit graph

500 commits

Author SHA1 Message Date
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
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
96e21e13a1 Add HUD_DISPLAY_CAMERA_STATUS 2024-02-22 14:34:43 -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
015f5920d6 Fix texture override example
The tex files were corrupted it seems, probably a remnant from the chaos of the CRLF and LF file ending days.
2024-02-21 14:57:28 -05:00
Agent X
64ebb88906 Add ability to not show star collection dialogs 2024-02-21 10:50:08 -05:00
Agent X
5fffa9e9d9 Add the ability to have global star IDs
Set gLevelValues.useGlobalStarIds on init, this value not being the same for everyone will cause desyncs.
2024-02-20 22:06:40 -05:00
Agent X
d7bad7dcdd HOOK_ON_PLAY_SOUND 2024-02-18 14:54:01 -05:00
xLuigiGamerx
962ff5932f Added a custom hud font and a recolorable version and added dynos support to the aliased font 2024-01-22 00:06:18 +03:00
Jack
4c0546c686 updated the introductory lua doc to mention the --console launch parameter 2024-01-09 00:43:06 +00:00
Agent X
bf9c9d5e75 Remove FONT_TINY and introduce legacy compatibility for it 2024-01-07 20:23:24 -05:00
Agent X
6886f248f8 Add gControllers 2024-01-01 14:43:44 -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
Agent X
2a0af8e216 Rework First Person FOV 2023-12-17 23:29:31 -05:00
Agent X
bdb8f11eab Bring back base FONT_NORMAL as FONT_ALIASED
FONT_NORMAL is the same as FONT_TINY, except with a different scale to match mods that use FONT_NORMAL
2023-12-17 21:36:24 -05:00
Agent X
0a210993ae Re-add 64 Memories palette 2023-12-15 20:25:23 -05:00
Agent X
fff0c83866 Add option to disable first person centering with L 2023-12-15 17:21:06 -05:00
Agent X
b04dc23aa5 Fix texture override example 2023-12-14 21:21:49 -05:00
Agent X
741d742bab Add HOOK_ON_OBJECT_LOAD 2023-12-14 19:33:17 -05:00
Agent X
db2d2a20fa Allow floats to be constants 2023-12-14 15:27:01 -05:00
Agent X
b1c8caa3ee Add offset to gFirstPersonCamera 2023-12-13 17:50:11 -05:00
Agent X
c2e85a0bcf Add HOOK_OVERRIDE_PHYS_STEP_DEFACTO_SPEED 2023-12-13 16:57:38 -05:00
Agent X
2343cf04f3 Adjust palettes and add palette constants to Lua 2023-12-12 18:14:37 -05:00
Agent X
ba4ad874f4 Add first person mario head Y constants 2023-12-05 23:06:57 -05:00
Agent X
c32cf2054a Add mario_is_crouching(m) 2023-12-05 21:24:42 -05:00
Agent X
0481de1222 Add forceRoll field to first person camera 2023-12-02 19:54:40 -05:00
Agent X
471a6c8c05 Expose first_person_check_cancels() to Lua 2023-11-27 11:14:36 -05:00
MysterD
8d72c7eb76 Remove hook_exclamation_box() 2023-11-26 21:34:28 -05:00
Agent X
436532bfba Fix hooks.md 2023-11-26 21:33:26 -05:00
MysterD
ce9c6e1899 Add HOOK_ON_HUD_RENDER_BEHIND to the docs 2023-11-26 21:32:05 -05:00
MysterD
b61574d2c6 Disable Waluigi animations for now 2023-11-26 21:31:17 -05:00
Agent X
5cb9e25090 Overhaul console logging 2023-11-26 16:49:32 -05:00
MysterD
6113254650 Reran autogen 2023-11-24 19:50:56 -05:00
Sunk
a85c8dbbf8 Create hook_exclamation_box in place of set_exclamation_box_contents (#524)
* Revert set_exclamation_box_contents()

In favor of the hook

* Create `hook_exclamation_box`
2023-11-21 17:22:54 -05:00
Isaac0-dev
ea487fe342 actually fix extended pause menu + improve act/course replacement (#523) 2023-11-21 17:15:18 -05:00
Isaac0-dev
23193887db added HOOK_MIRROR_MARIO_RENDER to Lua (#514)
* added HOOK_MIRROR_MARIO_RENDER to Lua

Previously there was no way to interact with mirror Mario using the Lua api, so this fixes that.

* remove premature optimisation

* revert that
2023-11-21 17:00:35 -05:00
Agent X
d9a59aa0ed Merge branch 'main' of https://github.com/coop-deluxe/sm64coopdx-rebase 2023-11-17 18:32:14 -05:00
Blockyyy
c2c846f650 Expose lvl_set_current_level (#513)
* Expose Initiate_warp

exposed initiate_warp function
exposed WARP_NODE_ constants

* expose lvl_set_current_level

* remove initiate_warp
2023-11-17 18:29:37 -05:00
SharenTheCat
5b72836c15 Modify Mario's head and torso rotation outside of specific cases
Adds "m.marioBodyState.allowPartRotation", which when set to 1, will make "m.marioBodyState.headAngle" and "m.marioBodyStates.torsoAngle" actually change where Mario's head and torso face outside of very specific cases (like running, or being underwater).
2023-11-16 23:01:18 -03:00
Blockyyy
5d39741be1 Delete star flags (#501)
* Expose save_file_remove_star_flags

* new packet

added a new packet type and two new functions

* oops

* create packet_save_remove_flag.c

move the new network functions to a new file

* Switch u32 to u8

Switched courseStarsToRemove from u32
 to u8 for consistency

* fixed the function

-Fixed empty save file marked as existing
-Fixed SAVE_FILE_EXISTS flag being deleted
-Fixed removing ALL flags from the remote saves
2023-11-14 20:40:34 -05:00
Agent X
02607a686e Add texture overriding example 2023-11-13 09:30:20 -05:00
eros71-dev
ff17fa4a67 Add ON_COLLIDE_LEVEL_BOUNDS hook
Called whenever Mario hits the level boundaries "wall"
2023-11-12 19:28:38 +01:00
Agent X
ce987ef3dd Add first person functions to Lua 2023-11-12 09:53:08 -05:00
Agent X
e79775aea4 Improve first person and add gFirstPersonCamera 2023-11-11 16:49:46 -05:00
Agent X
ae22eaac98 Add "-- deluxe:" field to mods 2023-11-11 14:16:27 -05:00
Agent X
281efe57fe Fix autogen convert constants 2023-11-11 12:35:32 -05:00
Agent X
802affd839 ENHANCE_LEVEL_TEXTURES and make all DynOS textures overridable in Lua 2023-11-11 12:15:32 -05:00
David Joslin
c7edf85ad9 Fix crash in tox_box_move() 2023-11-08 19:55:28 -05:00
MysterD
081a7fd9dc Added HOOK_ON_RENDER_BEHIND, deprecated djui_hud_set_render_behind_hud() 2023-11-08 19:53:27 -05:00
David Joslin
cb66c36a72 Fix broken link to Moonjump.lua
thanks to nonperforming on github
2023-11-08 19:48:09 -05:00
David Joslin
8ab0e17876 Remove built-in cheats 2023-11-08 19:48:00 -05:00
Agent X
7343c019af Update info panel 2023-11-07 16:48:57 -05:00
Sunk
da5c4a68db Added romhack camera dpad functionality (#497)
* Aglambi (Added romhack camera dpad functionality)

* Remove this random comment on request

* Make dpad camera disabled by default

* Force axis alignment when dpad camera is off
2023-11-06 15:00:23 -05:00
Blockyyy
56e7470e7b Exposed warp_special (#493)
Exposes the warp_special function and adds some constants for it

Fixed the crash by making it so a script error happens instead.
2023-11-06 14:59:20 -05:00