Commit graph

502 commits

Author SHA1 Message Date
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
Isaac0-dev
a04aa4c240
make Lua calls to interaction functions call interaction hooks (#52)
* make Lua calls to interaction functions call interaction hooks

* Revert "make Lua calls to interaction functions call interaction hooks"

This reverts commit 14c597cd340cb19acd72f7e4327f6f078bf09f1d.

* thanks peachy for a far better solution

* don't let mods lie about what interaction it is
2024-06-07 19:14:33 -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
Isaac0-dev
bab8be49af
fixed a crash & memory leak from smlua_text_utils (#40)
* fixed a crash & memory leak from smlua_text_utils

* prevent autogen from exposing smlua_text_utils_shutdown

* forgot to push this
2024-05-13 19:38:53 -04: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
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
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
Agent X
33d710c821 Set VERSION_TEXT to "v" 2024-03-20 19:54:18 -04:00
Isaac0-dev
90331f8fe5 fix mod compatibility due to version constants 2024-03-19 20:47:18 +10:00
Agent X
5fba777c1c Set version to 1.0 for now 2024-03-18 19:28:41 -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
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
9b67a74d93 Bump version to 0.2 2024-03-09 21:07:18 -05: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
91eb1966a0 [WIP] Update checker 2024-03-07 17:33:43 -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
65e913034f Coop compatible object pool capacity increase
Nvm it was fine with coop all along I'm just a dumbass.
2024-03-02 17:15:49 -05:00
Agent X
5fc381d616 Add DynOS global player models option 2024-03-02 16:36:28 -05:00
Agent X
23a217fd77 Revert object pool increase due to coop compatibility
This reverts commit e467f6ed68.
2024-02-29 17:57:46 -05:00
Agent X
e467f6ed68 Increase object list capacity from 960 to 1200 2024-02-29 16:33:15 -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
b6a396b0cd Document texture_override_set a little more 2024-02-21 14:59:31 -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
Agent X
bf9c9d5e75 Remove FONT_TINY and introduce legacy compatibility for it 2024-01-07 20:23:24 -05:00
Agent X
8939bdba3b Fix potential mod storage crashes and increase max key/value length to 256 2024-01-06 09:47:28 -05:00
Agent X
084f62bc42 Bump version number 2024-01-01 15:27:40 -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
6a433c2ee7 Increment version number and add changelog 2023-12-23 13:06:13 -05:00
Agent X
c6bda4917c v0.1.1 version change mirror 2023-12-18 17:29:05 -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
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
b603c1f858 Update manual.lua 2023-12-10 10:12:00 -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
87d4902f46 Revert "Use metatables to make gGlobalSoundSource readonly"
This reverts commit a905f317a7.
2023-12-04 17:23:53 -05:00
Agent X
a905f317a7 Use metatables to make gGlobalSoundSource readonly 2023-12-03 19:13:53 -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
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
fbd55651ad Lie about VERSION_TEXT for OMM backwards compatibility 2023-11-26 09:51:23 -05:00
MysterD
6113254650 Reran autogen 2023-11-24 19:50:56 -05:00
Agent X
b24c1731d0 Add gGlobalSoundSource to Lua 2023-11-24 11:24:26 -05:00
Agent X
cc9348c71c Fix compilation warnings 2023-11-21 17:44:36 -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
David Joslin
fbfbc15e44 manual.lua fixes 2023-11-21 17:17:21 -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