Commit Graph

419 Commits (30a1b115daa70dab5004bf8f0c2edecfdcbb2450)

Author SHA1 Message Date
MysterD b3eff990ae Re-ran autogen 2023-06-18 12:28:26 -07:00
MysterD 488ef1c6d2 Added collision_get_temp_wall_collision_data() to Lua 2023-06-15 19:55:55 -07:00
Sunk a0ff975ec8
Re-introduce a few vanilla bugs under gBehaviorValues (#413)
* Properly set Mario's y vel to 0 on popping

* Re-introduce a few vanilla bugs under gBehaviorValues

The Shell Mario glitch was patched as a side effect to patching a different bug, but several romhacks use it so I need it back.
The ability to collect multiple normal caps at once is needed for hat-in-hand using the hat factory glitch.

* Fix Shell Mario fix

Found the actual reason why the glitch doesn't work and figured that this change shouldn't affect anything else, so I removed its entry from gBehaviorValues.

* Add InfiniteRenderDistance to gBehaviorValues

I'm well aware that disabling the infinite render distance will be very desync prone, however a few glitches, most notably cloning and chuckya double jump, need objects load and unload from render distance.
2023-06-11 14:24:13 -07:00
MysterD def1122159 Allow toggling the false ledge grab fix 2023-06-11 13:00:11 -07:00
Isaac0-dev 05f4c42f81
add cancels to HOOK_BEFORE_PHYS_STEP allowing for custom step systems (#400)
* add cancels to HOOK_BEFORE_PHYS_STEP allowing for custom step systems

* give lua mods access to stepArg and nextPos from hanging and air step; fix a crash when m.floor is null
2023-05-31 21:10:06 -07:00
Emerald Lockdown 3e52c4f5db
`djui_popup_create_global` (#402)
* Add djui_popup_create_global
2023-05-31 21:05:07 -07:00
MysterD 1dd70283da Fixed bounds checks in save_file_is_cannon_unlocked() 2023-05-20 20:07:17 -07:00
MysterD b0408a1379 Fix some bugs found in testing 2023-05-18 17:54:29 -07:00
MysterD 18bf5847a2 Prevent rending of corrupted graphnodes, only run lua GC once per frame 2023-05-16 21:49:13 -07:00
MysterD fa88a5aee0 Make certain GraphNodeObject fields mutable again 2023-05-16 00:05:26 -07:00
MysterD 60d70d0d38 Fix several more possible crashes from the Lua API 2023-05-15 15:55:16 -07:00
MysterD 2eb2b8c18f Make GraphNode flags mutable from lua again 2023-05-15 01:19:10 -07:00
MysterD 2083242b66 Fixed several crashes and errors found in static analysis 2023-05-15 01:15:20 -07:00
PeachyPeach fc60571b2e
Custom animation examples (#392) 2023-05-14 19:16:03 -07:00
Isaac0-dev fad7984cd4
add djui_open_pause_menu() (#391) 2023-05-11 06:10:25 -04:00
MysterD af01a214ee Fix autogen for AnimationTable 2023-05-10 22:29:39 -07:00
MysterD d30b1e61a6 Add a container to animation tables so that we can track their length and stay in bounds 2023-05-10 20:57:35 -07:00
MysterD b22230db5d Merge branch 'dev' of github.com:sm64ex-coop-dev/sm64ex-coop into dev 2023-05-10 15:21:00 -07:00
Prince Frizzy d368e4e844
Name more audio code and variables, Document some others. (#386) 2023-05-10 14:31:58 -07:00
MysterD b863cc80c8 Prevent several possible crashes and hangs, limit more struct fields to read-only 2023-05-10 13:25:41 -07:00
PeachyPeach 3ab4c944ac
better kick/punch/trip, gp and flying detection (#388) 2023-05-09 15:38:29 -04:00
MysterD 1ee3fd1d13 Fixed ~240 possible crashes 2023-05-05 23:59:58 -07:00
MysterD 0a4dfd17a4 Re-ran autogen 2023-05-03 01:01:36 -07:00
Agent X 52d70e33a5
Expose some painting functions to Lua (#357)
* Expose some painting functions to Lua

get_painting_warp_node
initiate_painting_warp

* Change initiate_painting_warp u8 to s16

In initiate_painting_warp, pass in -1 to not override the painting index.

* Add sanity checks to get_painting_warp_node

* Add requested changes
2023-05-03 00:54:57 -07:00
Marioiscool246 7b4b873d39
Add fov adjustment to djui_hud_world_pos_to_screen_pos (#374)
* Add fov adjustment to djui_hud_world_pos_to_screen_pos
sFOVState is now a global (gFOVState)
djui_hud_world_pos_to_screen_pos now returns false if the position is behind the camera

* Fix aspect ratio parentheses

* Rerun autogen

---------

Co-authored-by: Marioiscool246 <marioiscool101@gmail.com>
2023-04-30 22:54:55 -04:00
PeachyPeach 2aa6e1aa08
custom animations no dynos (#371)
Load animations with smlua_anim_util_register_animation and set them with smlua_anim_util_set_animation.
2023-04-28 21:00:17 -07:00
Isaac0-dev 08d31b8255
give mods more control over animations (#369)
* give mods more control over animations

- added HOOK_ON_OBJECT_ANIM_UPDATE
- make some animation values mutable

* add to docs
2023-04-29 01:56:18 +02:00
PeachyPeach adba0f6de8
Bug fix: level_script_parse (#366)
* Bug fix: level_script_parse

* level_is_vanilla_level
2023-04-29 01:55:29 +02:00
SMS Alfredo 57ceb6543f
Expose o->collidedObjs to Lua via obj_get_collided_object function (#362)
* The function

* Autogen

* Add index parameter
2023-04-25 21:43:07 -04:00
MysterD f2a8df7728 Made nametags mod interpolate names and health 2023-04-24 16:45:25 -07:00
PeachyPeach fe934ffe82
djui_hud_set_rotation (#356)
* djui_hud_set_rotation

* some goddard textures
2023-04-24 06:34:21 -04:00
PeachyPeach df248e5139
Adding hazardType to HOOK_ALLOW_HAZARD_SURFACE; more loading info (#355) 2023-04-23 12:11:56 -04:00
PeachyPeach 8311116cdf
obj_init_animation_with_accel_and_sound + fix collision_find_surface_on_ray parameter names (#352) 2023-04-20 19:43:37 -04:00
Agent X 92da90bf3f
Remove Share Lives (#351)
it's a leftover from the very early betas, it isn't needed and isn't even fully functional anyway.
Also potentially fixed mario_get_floor_class crash
2023-04-20 07:02:00 -04:00
MysterD c71d3c564f Re-ran autogen 2023-04-20 01:28:42 -07:00
Isaac0-dev bc7909c392
allow interact type to be 0 in hook_mario_action (#350)
* allow interact type to be 0 in hook_mario_action
2023-04-20 01:28:23 -07:00
MysterD 491a69549c Restore old version code 2023-04-20 00:51:34 -07:00
MysterD 98c78a9470 Merge branch 'coopnet' into coop 2023-04-19 00:23:37 -07:00
PeachyPeach 999ea1dd42
Expose globally custom behaviors defined with hook_behavior (#345)
* Expose globally custom behaviors defined with hook_behavior; macros for mod strings max length

* fixes

* made customBehaviorIndex a mod field to be more relevant
2023-04-17 21:54:55 -07:00
MysterD 4566b7ee14 Ripped out discord network system, started re-adding invites 2023-04-15 19:53:34 -07:00
Isaac0-dev f7a3e5f0a6
add a way for Lua mods to detect what OS coop is running on (#338)
* patch for beta 32

* bump version

* fix lakitu cam duplication hopefully

* add a way for Lua mods to see what OS its running on
2023-04-08 19:52:16 -04:00
MysterD e7ebce5207 Removed lag compensation functions that shouldn't be added to the Lua API 2023-04-03 21:56:52 -07:00
MysterD fce88728d2 Improve lag compensation 2023-04-03 13:55:03 -07:00
MysterD 192d47aea0 Added FONT_TINY 2023-04-02 23:02:14 -07:00
MysterD 9cfa078b5e Make gMarioStates->controller immutable in Lua 2023-04-01 17:16:18 -07:00
MysterD 6fc711e440 Added smlua_text_utils_get_language() 2023-04-01 00:04:45 -07:00
MysterD 7df87d583e Fix crash when removing a sync objects and iterating at the same time 2023-03-27 20:25:35 -07:00
MysterD b596cb2af2 Figure out a ping between every player, adjust resend rate based on it 2023-03-27 11:50:32 -07:00
Isaac0-dev 6cb1b2faec
Beta 32.0.1 (#325)
* patch for beta 32

* require the development flag for Lua profiler

* autogen
2023-03-26 01:15:28 -04:00
Agent X 4277230f20
Show players on star select toggle (#321)
* Show players on star select toggle

* Make only toggleable by mods

* Allow player list to also be disabled
2023-03-23 21:12:26 -04:00
Sunk 08f8502cab
Remove duplicate hook documentation (#318) 2023-03-23 17:13:08 -04:00
Agent X 1a86d46d95
Override envfx from Lua (#316)
* Override envfx from Lua

set_override_envfx(-1) to reset override

* Fix type mismatch
2023-03-23 14:46:15 -04:00
Agent X c79a001f5f
Make fixed collision rounded corners toggleable (#315) 2023-03-22 21:02:43 -04:00
Isaac0-dev 7e46ce4a21
fixes and other improvements (#309)
* HOOK_JOINED_GAME

* expose VERSION_TEXT, and two more adjusments

* show if a constant type is a string with autogen

* fix another blunder by that guy

* should use an or operator here

* fix frame limiter stuff
2023-03-21 19:43:29 -04:00
Agent X 751dfe61c7
Move everything over (#280) 2023-03-20 22:36:25 -04:00
Agent X 42b43a9b7e
get_ttc_speed_setting and set_ttc_speed_setting (#307) 2023-03-20 20:20:11 -04:00
Agent X 90bc1732f1
Merge pull request #303 from Sunketchupm/coop
Fix inaccuracies in hooks.md
2023-03-20 20:13:55 -04:00
Agent X d0318c23d5
Merge pull request #301 from Agent-11/hooks
Touch up new hooks
2023-03-20 20:07:14 -04:00
Agent X 3a45334a3d
Merge pull request #310 from Agent-11/time
get_time()
2023-03-20 19:59:31 -04:00
Agent X 22952dda05
Expose sound_banks_enable/disable to Lua (#311) 2023-03-18 17:12:33 -04:00
Sunk 2370f2e3d9 Merge remote-tracking branch 'upstream/coop' into coop 2023-03-18 00:13:54 -04:00
Agent X c67b09b77f get_time() 2023-03-14 20:53:23 -04:00
Agent X 35eb3f1695
Merge branch 'sm64ex-coop-dev:coop' into hooks 2023-03-13 09:15:04 -04:00
Isaac0-dev a939ddc07b
bring back the ability to lose your cap (#229)
* bring back the ability to lose your cap

* run autogen and add "cap" to the mario states guide

* fix some indentation
2023-03-03 01:46:46 -05:00
Sunk 6c362312f7 Fix inaccuracies in hooks.md 2023-03-01 20:24:12 -05:00
Agent X 5653b2bec4
Add new param to documentation 2023-02-28 22:43:47 -05:00
PeachyPeach 1e175b5ce7
Make most used and useful features built-ins (#242)
* made all bools u8 for consistency with fixCollisionBugs
* preview blue coins + visible secrets
* preserve indexing
* star number
* hud cap timer
* red coins radar + secrets radar
* extended pause display
* autogen
* only sDynosBuiltinFuncs is sensitive to indexing
* rebased
2023-02-26 03:15:54 +01:00
Sunk 9ec75abc60
Add HOOK_BEFORE_SET_MARIO_ACTION (#253)
* Small quality of life changes

Disabled fixed collision in sm74 by default.
Popping should now completely set the popped player's speed to 0.

* Add HOOK_BEFORE_SET_MARIO_ACTION

Param: incoming action
Return: changes incoming action
If the return value is 1, prevent the action from happening entirely.
0 can't be used here since it'll break the title screen.

* Update hooks.md

* Revert "Small quality of life changes"

This reverts commit 05dd235cd0.
2023-02-22 20:28:23 -05:00
Isaac0-dev baedae5412
rerun autogen (#291) 2023-02-22 00:56:30 -05:00
Agent X ea7f0a11c2
Small improvements to HUD and new functions (#268)
* Small improvements to HUD and new functions

- Split HUD_DISPLAY_FLAG_CAMERA_AND_POWER into HUD_DISPLAY_FLAG_CAMERA and HUD_DISPLAY_FLAG_POWER
- Added hud_is_hidden()
- Added camera_is_frozen()
- Added extra sanity check to hud.c

* Re-add old flags

* Fixes and improvements

* Mod compatibility
2023-02-21 00:23:15 -05:00
Agent X 4aada40a62
area_create_warp_node and area_get_warp_node* (#270)
* area_get_warp_node*

- Added area_get_warp_node to Lua
- Added area_get_warp_node_from_params to Lua

* area_create_warp_node and warp constants

Here you go Isaac!

* Add object param

* Commits work again, pushing everything else
2023-02-20 21:47:32 -05:00
Isaac0-dev 3bc0b13e20
ACTIVE_FLAG_DORMANT (#281) 2023-02-18 23:45:13 -05:00
Isaac0-dev 3f7f5da50e
expose course_is_main_course() to Lua (#282) 2023-02-18 16:23:51 -05:00
Isaac0-dev 053d4902ed
allow mods to hide and move shadows for small objects (#257) 2023-02-18 16:06:03 -05:00
Agent X 4e293712fd
Expose Paintings to Lua (#279)
* Expose paintings to Lua

* Make some "dangerous" fields immutable

I just thought being able to edit paintings IDs from Lua was a little bit too much.
2023-02-16 18:54:38 -05:00
Agent X 8046d19db1
Add ' and " to gTextures (#273) 2023-02-15 19:45:11 -05:00
Isaac0-dev 2d1cb4712c
add a way to create/modify whirlpools (#267) 2023-02-08 16:40:41 -05:00
Agent X 35f7caecc1
Improvements and optional tweaks (#263)
- Added visibleToEnemies to invisible fields
- Added cur_obj_set_billboard_if_vanilla_cam() which makes trees only billboard if free camera is off
- Added RespawnShellBoxes to gBehaviorValues
- Added pauseExitAnywhere to gLevelValues
- Disabled the power meter chime playing on the main menu whenever disconnecting from a server with low health
2023-02-08 10:51:07 -05:00
Agent X 3dcbd5908f
Expose version constants to lua (#264) 2023-02-08 10:42:16 -05:00
Agent X 8f1323a40f
Document every behavior's object list (#252) 2023-01-31 07:33:51 -05:00
Isaac0-dev 0b6f0dcf0e
Give Lua mods access to a form of level script preprocessing (#258)
* Give Lua mods access to a form of level script preprocessing

* Disable acts setting
2023-01-31 07:24:56 -05:00
Prince Frizzy 46b2e24052
Add support for custom cap sequences. (#250) 2023-01-31 05:55:18 -05:00
PeachyPeach d5a19a4d90
added new mods to default; removed visibleToEnemies from lua (#245) 2022-12-17 19:32:55 +01:00
Agent X acd65c7355
Add E_MODEL_SSL_TOX_BOX (#247) 2022-12-17 19:29:24 +01:00
SMS Alfredo 35bdaef094
Character Sound Hook (#223)
* Character Sound Hook

* The rest of autogen to be safe

* Indentation Fix

* Fix more indentation

* Get rid of unneeded auto gen junk

* Run autogen again

* Add HOOK_CHARACTER_SOUND to guide
2022-12-17 19:25:30 +01:00
Isaac0-dev 571d80aebf
make fixCollisionBugs an integer again (2) (#241) 2022-11-30 00:44:49 -08:00
eros71 3214fc1de2
Fix link to get back to the lua ref (#240) 2022-11-30 00:44:35 -08:00
Agent X cd8c6089f8
Fix dead link to vs code setup guide (#237)
You're a silly silly goober emerald.
2022-11-30 00:38:00 -08:00
Isaac0-dev 07ad5a55c5
add HOOK_OBJECT_SET_MODEL (#236)
* add HOOK_OBJECT_SET_MODEL
runs whenever a behaviour sets a model.
2022-11-30 00:37:43 -08:00
Prince Frizzy 523e7842d9
A bunch of LUA autogen additions. (#235)
* A bunch of LUA autogen additions.
- Add support for Vec4f, Vec4s and Mat4 in the autogen.
- Improve error messages for improper argument counts
- Added support for more pointer types in the autogen.

* Fix offsets in sMat4Fields.

* autogen: Rework this at the request of DJ.
2022-11-30 00:37:12 -08:00
Sunk 452c641758
Updated hooks.md to include new hooks (#228) 2022-11-18 18:39:49 -08:00
wRadion 34a0b12e6c
Fixed Vanish floors/ceilings (non-wall surfaces) (#225)
In the vanilla game, vanish does only work with walls specifically, and not floors and ceilings. This is because the check for vanish surfaces was only implemented with the walls. So I simply pasted the same code but with the floors and the ceilings.
2022-11-18 18:39:17 -08:00
Isaac0-dev dddbe4bd16
Make fixCollisionBugs an integer again (#232)
This is for mod compatibility.
2022-11-14 18:16:17 -05:00
Prince Frizzy f815a53080
Add some new LUA helper functions and fix some bugs. (#230)
- Add new functions for objects, Feel free to flesh some out if need be.
- Fix long-standing issue with our LUA garbage collection, It will now run after all our hooks do to prevent buildup which causes lag.
2022-11-12 05:01:50 -08:00
MysterD b6b5b4f4e3 Add ability for mods to signal that a player will not be seen by enemies 2022-11-11 19:02:11 -08:00
SMS Alfredo bb00d47cab
Sample Stop Functions (#224)
Adds in bassh_stop_sample for source and audio_sample_stop for Lua. These functions immediately stop whatever audio the specified sample is playing.

If used in tandem with #223, this allows you to create custom character voice clips without them ever overlapping with each other.
2022-11-02 19:51:34 -07:00
Isaac0-dev d806c2d8c2
add HOOK_ON_CHAT_MESSAGE (#220)
includes the message string and the mario state of the player
return false to prevent the message from showing (might be possible to make a chat flter with this?)
2022-10-30 17:34:50 -07:00
PeachyPeach a8e397047a
CAP color; near/far warning fix (#214)
Added CAP color part; Player's cap no longer uses the SHIRT color
    Added METAL color as an alias of CAP color; Metal characters now uses the CAP color to tint the metal texture (was SHIRT color)
    Fixed the cap inside color (was HAIR color)
    Fixed the near/far warning
2022-10-30 17:30:40 -07:00
Sunk 97090abf28
Added HOOK_ALLOW_HAZARD_SURFACE and various fixes (#209)
* Fixed naming from ceil to cell

* Added HOOK_ON_QUICKSAND

* Modified hook and removed weird newlines

* Renamed hook and increased usage

HOOK_ALLOW_QUICKSAND -> HOOK_ALLOW_HAZARD_SURFACE
Now also works on lavaboost.
Suggestion by Agent X. May add this hook to the death barrier check.

* Autogen

* Fixed downwarping to quicksand upon popping

As a side effect though, Mario will no longer snap to the floor upon being popped.
2022-10-30 17:25:56 -07:00
Agent X 90dd2e47c5
Why weren't star door models exposed to Lua? (#217) 2022-10-25 13:28:02 -07:00
Isaac0-dev 89afa8181e
just a few more improvements (#207)
Add get_dialog_box_state
    Prevent some attacks from registering as pvp attacks.
    Clean up all cases of camera.lua
    Put gLastCollectedStarOrKey in a better spot.
    Clean up my moderator code a bit, changing gIsModerator to boolean.
    Brang back kicked, banned and full party messages.
    Fixed a warning on older compilers like raspberry pi's and use configAmountofPlayers instead of MAX_PLAYERS
    Fixed compiling with the flag DISCORD_SDK off.
    Added "Fixed Collisions" to the debug menu.
    Added HMC, CCM, RR, BITDW, PSS and TTC to the main menu options.
    Fix my own oversight; Prevent the port from being duplicated in the join menu. (temporary fix)
    Hopefully bring back the crash handler on windows by not checking for termination signals on windows
2022-10-18 15:34:46 -07:00
wRadion e4e9c02d51
Added `warp_to_warpnode` function (#157)
* Added warp to warp node function

* Added generated docs

* Restored Makefile (will put in other branch)
2022-09-30 20:02:34 -07:00
MysterD 36270e4301 Reran autogen 2022-09-26 19:30:09 -07:00
Agent X 4b84a87c6f
Mod storage, network_discord_id_from_local_index and other small changes (#200)
* Mod storage & network_discord_id_from_local_index

Introducing mod storage, a key/value system for saving things like high scores or settings or anything like that to AppData\Roaming\sm64ex-coop\sav\mod-name.sav (Windows example)
You can currently save only strings meaning if you want to save a number you'd need to do
mod_storage_save("score", tostring(score))
and then
score = tonumber(mod_storage_load("score"))
To handle types like that.
network_discord_id_from_local_index() returns the discord ID of a player by local index.
Some misc changes I made were removing the unsed ini.h include in save_file.c and making the autogen converters output LF line endings instead of CRLF on windows.

* Prevent getting id if using direct connect

* Update djui_panel_player.c

Why does this bother me?

Co-authored-by: djoslin0 <djoslin0@users.noreply.github.com>
2022-09-26 19:28:26 -07:00
Emerald Lockdown 8e9b2c270c
`save_file_erase_current_backup_save` and more (#189) 2022-09-26 19:14:53 -07:00
Agent X 6c0757c908
Color type and palette/color functions (#199)
Added a Color type (typedef u8 Color[3])
Added network_player_color_to_palette and network_player_palette_to_color
Reran autogen
2022-09-26 19:11:51 -07:00
eros71-dev 3a9bd484ff
Improve guide readability (#202) 2022-09-26 19:10:17 -07:00
Agent X 1241c56ed9
Expose level_trigger_warp and related constants (#197) 2022-09-19 19:51:27 -07:00
Emerald Lockdown ade3e7b887
Remove save_file_erase function (#195) 2022-09-19 19:33:43 -07:00
Agent X f726fb5d74
HOOK_ON_SCREEN_TRANSITION (#192) 2022-09-18 17:30:29 -07:00
PeachyPeach 6449b7d578
Complete color palettes; gfx macros (#191) 2022-09-18 17:30:13 -07:00
Isaac0-dev 4942655ff8
document HOOK_ON_CHANGE_CAMERA_ANGLE (#185) 2022-09-13 14:42:53 -07:00
MysterD 7202353437 Reformat platform save file locations 2022-09-12 20:04:37 -07:00
WryOpussum 657c3a812f
Update lua.md (#183)
Showed where the Save File location is for each platform
2022-09-12 20:02:24 -07:00
Emerald Lockdown 89f3c4ac91
Doc stuff (#182) 2022-09-12 20:01:45 -07:00
Isaac0-dev c7bdeef8d5
multiple improvements (#176) 2022-09-12 20:00:51 -07:00
Emerald Lockdown a864e2d3ba
Add network_is_moderator (#180) 2022-09-12 19:58:58 -07:00
Sunk ffc06db874
Unhardcoded floor and ceiling limits (#179)
* Unhardcoded ceiling and floor limits

* Revert "Unhardcoded ceiling and floor limits"

* Revert "Revert "Unhardcoded ceiling and floor limits""

This reverts commit 71b2da4c4b898cda73f211620d138b346370d2ce.

* Let's try that again
2022-09-12 19:58:01 -07:00
wRadion 94d5dfcf10
Scrolling textures (continued) (#175)
* Handle scroll targets as dynamic array + some error handling

* Remove the need to call init (clean automatically scroll targets)

* Free iteratively instead of recursive

* Added comments + handled some potential errors

* Completed comments

* Remove debug print
2022-09-12 19:57:28 -07:00
Agent X a1953afd1c
SURFACE_RAYCAST (#177)
* SURFACE_RAYCAST

* Exclude from camera collision
2022-09-12 19:56:24 -07:00
wRadion 44bbd23f83
Handle RM_Scroll_Texture and editor_Scroll_Texture behaviors from RM2C hacks (#173) 2022-08-25 17:46:33 -07:00
Agent X cbc78025f3
is_transition_playing() (#171)
Can be useful for people making HUD mods or anything like that.
2022-08-25 17:42:30 -07:00
Agent X 215a8402bf
Add character head glyphs to gTextures (#167) 2022-08-25 17:38:34 -07:00
Emerald Lockdown 748b7e9134
Added `warp_to_start_level` function (#154)
* Added `warp_to_start_level` function

* Fix include things
2022-08-25 17:27:05 -07:00
Isaac0-dev d4417171e4
Improvements (#151)
More lives fixes, death loop fix, add a null check and add get_dialog_id()
add a way to disable rom hack cam collisions
expose more sound management functions
2022-08-25 17:25:54 -07:00
Agent X 9d0a61450b
gsDPSetTextureFilter, refactoring and o.header.gfx.skipInViewCheck (#147)
* Add gsDPSetTextureFilter to DynOS symbols

* Refactor code and fix 2 year oversight

Refactored the main menu background code, now uses vec3f_set instead of manually setting every vector

Also finally fixed the bug where you load in with only 3 lives, this has been in coop for 2 years now and was likely made as a test for syncing live count and was never reversed.

* add skipInViewCheck to GraphNodeObject

* Remove idle set

Co-authored-by: djoslin0 <djoslin0@users.noreply.github.com>
2022-08-11 01:23:54 -07:00
Emerald Lockdown 93bdbf81c3
Expose save star flag (#139)
* added save_file_set_star_flags and save_reload
2022-08-07 20:53:42 -07:00
Emerald Lockdown 670acc638e
Exposed save_file_erase and save_file_reload to lua (#137) 2022-08-07 20:52:51 -07:00
MysterD b3923f0b5f Re-ran autogen 2022-08-07 15:26:32 -07:00
TheGag96 d87dd73db1
Fix issues Extended Moveset mod (+ extras) (#146)
* Allow Lua action hooks to specify custom functions for more behavior

...like gravity, and update all current mods to match.

Spin jump and wall slide from the Extended Moveset mod now have gravity
code basically matching the original mod.

Currently, any place you'd want to use one of these new action hooks
still requires an O(n) check through all action hook per call. This
should probably be changed.

* Fix some remaining issues with Extended Moveset Lua port

- Remove divergent spin jump code
- Remove divergent roll code
- Remap roll button to Y
- Reimplement dive slide to make dive hop work like the original
- Allow spin from double jump, backflip, side flip

* Fix more issues with Extended Moveset Lua port

- Reimplement all users of update_walking_speed to incorporate the Tight
  Controls edits and modified speed caps
- Fix instances of angle arithmetic to wrap properly across the mod

* Don't chop off group bits of custom action flags; assign missing groups in mods

This fixes the Extended Moveset's underwater actions. Chopping off those
bits was making the game consider the underwater actions to be a part of
the Stationary group, which caused `check_common_stationary_cancels`,
which upwarps Mario to the surface.

* Tweak roll sliding angle tendency

Rolling will now gradually (but fairly quckly) try to tend Mario's
facing angle down the slope.

This is cleaner than my old method that tries to flip Mario's angle
(wrongly) when he begins moving downward, having that logic coexist with
the logic for normal sliding actions that can also tend Mario to face
backward down the slope. Just looks ugly now by comparison.

* Disallow spin jump on slides in Extended Moveset port

This matches the original mod

* Extended Moveset: Crazy Box Bounce check

* Extended Moveset: Fix hugging the wall when spin jumping after wall kick

* Extended Moveset: Fix ledge drop snapping up to ground

Just reimplement `act_air_hit_wall` ourselves.

* Extended Moveset: Add Kaze's walking speed fix

* smlua_hooks.c: Restore option to use old API for hook_mario_action

The intent is to allow mods outside of this repo to continue working.

Co-authored-by: djoslin0 <djoslin0@users.noreply.github.com>
2022-08-07 15:25:00 -07:00
TheGag96 dc3ca7c76d
Arbitrary shirt, pants, glove colors + settings menu (#145)
* Support for more granular player colors

You can now configure RGB values for shirt, pants, gloves, and shoes.
Due to some limitations, configuring shoes does nothing at the moment.

* Remove paletteIndex and friends

Restructured and filled in some remaining code to account for that.

* Add Edit Palette panel to Player panel

* Change PlayerPalette contents to an enum-indexed array, remove shoes

This gets rid of all the hokey code doing switch cases on the
different parts.

* Fix goof with player model selection box

Should actually have affect now even if a custom palette is being used.

* Fix gap in player color display list commands

The extra space was leftover from when I was trying to get shoes
working. Forgot to clean it up.

* Standardize PlayerParts enum, including for lua constants autogen

* djui_panel_player.c: Properly hook sending palette changes on unpause

Editing the palette and then unpausing should send out the packet to
everyone with the new palette changes (and update the palette preset
selection box), but since we weren't hooking that situation before, it
would stay changed only for you. You would have had to press the Back
button for it to work right.

* Allow Lua mods to continue using `paletteIndex`, `overridePaletteIndex`

This lets mod code like this still work unchanged:

if s.team == 2 then
    np.overridePaletteIndex = 7
elseif s.team == 1 then
    np.overridePaletteIndex = 15
else
    np.overridePaletteIndex = np.paletteIndex
end

It's essentially faked, and would work strangely if the value of either
variable was inspected more closely directly. This should at least
handle the typical use case, though.

Every frame, `overridePaletteIndex` is checked to see if it was modified
from its previous value. If so, `overridePalette` is set to the preset
corresponding to the index. `paletteIndex` contains a special value that
when used to assign to `overridePaletteIndex`, it copies `palette` into
`overridePalette` to restore the real colors, which of course may not
follow the presets at all.

* characters.h: Pack `PlayerPalette` to eliminate size differences between computers

* mario_misc.c: Remove remaining "TODO GAG"
2022-08-07 15:13:19 -07:00
Prince Frizzy 913f41f6ae
Add some more functions for use in LUA, And expose others. (#129)
* Add some functions, and restore one.
2022-08-05 22:17:05 -07:00
MysterD 618f468e06 Add HOOK_USE_ACT_SELECT ; increase MAX_AUDIO_OVERRIDE to 128 2022-08-04 01:12:16 -07:00
MysterD c214acb33f Change fixCollisionBugs from server setting to mod setting 2022-06-25 01:26:53 -07:00
MysterD 3b626845e1 Refactor sync objects, move syncIds to u32 2022-06-06 19:13:04 -07:00
MysterD 946f16329c Added ability to have completely custom levels that don't override anything 2022-06-05 21:55:31 -07:00
MysterD 5424b1bb69 Close modfile at the correct time when downloading 2022-06-04 17:58:36 -07:00
MysterD a8c11109ad Unhardcode castle cannon grate star requirement 2022-06-02 21:19:53 -07:00
MysterD 8c92885a7b Whoops, forgot to save 2022-06-02 19:50:41 -07:00
MysterD e40fe57860 Unhardcoded more bowling ball values 2022-06-02 19:45:01 -07:00
MysterD 091437c430 More custom bhv cleanup 2022-06-02 19:33:28 -07:00
MysterD 7e7833f676 Unhardcoded more values ; generated more tex files ; special set home function ; fixed lua bhv bugs
Unhardcoded KingBobomb values, Mips values, star dialog values
Generated tex files when they're of the form levels/XXX/NUMBER
Now lua behaviors can call cur_obj_set_home_once() to set home correctly
Lua behaviors are now overridden correctly when created through spawn infos
Behavior checks now translate to the overridden behavior before checking
2022-06-01 23:04:21 -07:00
MysterD 59a36149fe Update autogen 2022-06-01 01:00:21 -07:00
MysterD bd7974a544 Consider all walls when doing quarter steps (fixCollisionBugs) 2022-05-31 08:44:18 -07:00
MysterD 9fd309de56 Added server setting toggle for 'surface cucking' and 'exposed ceilings' vanilla bugs 2022-05-31 01:29:48 -07:00
PeachyPeach d1bb79f4a0
Camera config values for lua (#116)
* Added camera config getters and setters
2022-05-22 18:47:36 -07:00
MysterD f5258f2d41 audio_stream_load_url() cleanup 2022-05-21 21:20:02 -07:00
Lord-Giganticus 499518adde
Add function to load music via https URLs (#100) 2022-05-21 21:17:35 -07:00
MysterD de2300f837 Fix clang/mac compile 2022-05-19 19:42:07 -07:00
Agent X 68d46cdefe
Mouse lock & freeze cam fixes and warp constants (#103) 2022-05-19 17:06:51 -07:00