Commit graph

1939 commits

Author SHA1 Message Date
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
Sunk
fd6745954b
Force the player to stop moving upon being popped (#289) 2023-02-22 15:13:11 -05:00
Prince Frizzy
463c92b774
Bump version number (#292)
* Fix empty .bhv in Star Road.

* Bump version number.
2023-02-22 01:32:52 -05:00
Isaac0-dev
baedae5412
rerun autogen (#291) 2023-02-22 00:56:30 -05:00
Prince Frizzy
48d1f28d81
Fix wiggler glitching when being jumped on when small. (#287) 2023-02-21 02:46:59 -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
9f1bf8cc6e
disable interpolation when frame limiter is at 30 (#286)
* fix player connected spam on joining a game

* make it possible to actually disable interpolation

by setting the frame limiter to 30
also move the "Disable Popups" option to misc settings.

* maybe someday ill learn to read.

* one day.
2023-02-20 21:29:23 -05:00
Agent X
761cd5b66b
Check if env region index is greater than 0 (#285) 2023-02-19 21:20:45 -05:00
Isaac0-dev
ea8e7b75d8
fix player connected spam on joining a game (#284) 2023-02-19 03:47:01 -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
Blockyyy
76038a20e4
This adds gLevelValues.wingCapLookUpReq to lua. (#271)
* added gLevelValues.wingCapLookUpReq

* Added gLevelValues.wingCapLookUpReq

* Added gLevelValues.wingCapLookUpReq

* Added gLevelValues.wingCapLookUpReq

* Added gLevelValues.wingCapLookUpReq

* Changed the look up warp star req

Hidden Palace can only be accessed at 120 stars.
2023-02-18 16:04:22 -05:00
Isaac0-dev
1fd2ab86c6
CAMERA_MODE_NONE crash fix (#278) 2023-02-16 18:55:05 -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
Isaac0-dev
98834d5670
improve --client flag, fix hud font character width for spaces (#277)
* improve --client flag and domain resolution

* stop using the debug flag for dev binds

* smaller character width with spaces for the hud font
2023-02-16 18:54:23 -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
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
Agent X
3283ec9950
Sanity check. (#259) 2023-01-31 05:55:55 -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
Agent X
85afeb6402
Expose title screen geo functions to DynOS (#246)
* Expose title screen level/geo stuff

* Move builtin defines
2022-12-17 19:28:19 +01:00
Agent X
cc3b314096
Small improvements to camera freeze (#244) 2022-12-17 19:26:32 +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
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
PeachyPeach
36d85af91b
Custom palette persistence fix (#233)
Bug:
    Clicking on Palette Preset to cycle through palettes overwrites and erases the custom palette

Fix:
    Added config values coop_custom_palette_* to save the custom palette colors
    Clicking on Edit Palette now sets the current palette to Custom and loads the custom values instead of using the previous preset selected
2022-11-18 18:43:44 -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
Agent X
a94565a604
Fix 50 coin 1up happening in non courses (#231) 2022-11-14 18:18:58 -05:00
Isaac0-dev
dddbe4bd16
Make fixCollisionBugs an integer again (#232)
This is for mod compatibility.
2022-11-14 18:16:17 -05:00
Agent X
d8c908c588
Prevent cap music from playing on disconnect (#227) 2022-11-12 21:38:37 -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
611c70a7d1 Bumped version 2022-11-11 19:03:43 -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
MysterD
06f801afe9 Fix desync caused by players not knowing each others sync status 2022-11-11 19:01:51 -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
PeachyPeach
55ed83ddb8
djui_hud_render_texture_tile[_interpolated]; increased GFX pool and main memory pool (#211)
djui_hud_render_texture_tile: allows user to draw a part of a texture instead of the whole texture (tilesets)
    increased GFX pool size from 512kB to 4MB
    increased main memory pool size from ~11MB to 32MB
2022-11-02 19:45:20 -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
Agent X
1e2a230d51
Give 1 up when you collect 50 coins and don't have "Leave level" on (#215)
If either Non-Stop or Stay in Level is on for On Star Collect, collecting a multiple of 50 coins should give everyone in the level a life.
    This would act as a solution for the lifes you would normally get after getting a star.

In SM64 when exiting a level, every 50 coins up until 150 you get a 1 up, except you can't exit the level in stay in level or non stop so there's the main problem which this PR addresses
2022-10-30 17:31:08 -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
Isaac0-dev
e387b6b24b
Fixes and quality of life changes (#213)
Add the Lua Profiler to the debug menu.
    Prevent Mario from sleeping on the main menu.
    Fix IP address string corruption when saving the config file.
    Bring back the Discord fatal message.
2022-10-30 17:29:59 -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
dbff766af0
Add - to allowed characters in mod storage (#218)
can't have anything in ex-coop
2022-10-25 13:28:19 -07:00
Agent X
90dd2e47c5
Why weren't star door models exposed to Lua? (#217) 2022-10-25 13:28:02 -07:00
Agent X
4325d62abd
Prevent Mario from trying to move in the main menu (#206)
* Fixing my mistakes

* Re-add stickX/Y resets
2022-10-18 15:35:00 -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
Isaac0-dev
778667822c
fix warnings (#203) 2022-09-30 20:02:55 -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
Agent X
a97e7466bf
God mode check for lava wall boost (#201)
* God mode check for lava wall boost

Thanks to Skeltan for finding it

* Prevent potential cutscene breaks
2022-09-26 19:10:39 -07:00
Agent X
1241c56ed9
Expose level_trigger_warp and related constants (#197) 2022-09-19 19:51:27 -07:00
Agent X
e308571a4f
Add vanish cap walls to no camera collision check (#196) 2022-09-19 19:34:09 -07:00
Emerald Lockdown
ade3e7b887
Remove save_file_erase function (#195) 2022-09-19 19:33:43 -07:00
MysterD
9c00f63ecf Fix crash in rippling paintings 2022-09-18 19:06:52 -07:00
MysterD
40a291eb08 Removed extra change_area/level packet that the ripples PR added. It breaks too many things 2022-09-18 18:41:32 -07:00
Emerald Lockdown
686d819993
Removed artifcat, fix cam (#193) 2022-09-18 18:16:58 -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
PeachyPeach
38bc85e329
Main menu: separate Rom Hacks from regular mods (#190) 2022-09-18 17:29:05 -07:00
Emerald Lockdown
7b3b174f11
Removed gChangeAreaIndex as it is unused (and does nothing), and fixed thi and crashes (#187)
* Removed gChangeAreaIndex as it is unused, and fixed thi and crashes

* Fixes

* undo formatting

* Undid stones
2022-09-18 17:28:09 -07:00
PeachyPeach
538383235f
Fixed gLevelValues initialization and missing limits (#188) 2022-09-13 14:44:08 -07:00
Agent X
f13f78b823
Revert "Fix power meter going black when in djui pause (#168)" (#186)
This reverts commit 4da8343253.
2022-09-13 14:43:06 -07:00
Emerald Lockdown
8661c65ab8
Remove heal on warp (#181)
* Patch heal on warp

* Remove entirely
2022-09-12 20:01:13 -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
Isaac0-dev
0bb66abe61
fix custom level corruption on network shutdown (#174) 2022-08-25 20:16:01 -07:00
MysterD
fa5414d386 Bump version 2022-08-25 17:59:43 -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
1777aa5c51
Fix star sparkles appearing for everyone (#172)
When collecting a star, originally the sparkles would appear on everyone even if they didn't collect the star, this has been fixed.
2022-08-25 17:42:45 -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
b5789a7c54
Improve the "Error: network shutdown" popup (#170)
It now only appears when someone stops hosting and you are disconnected from their lobby, I also changed the text to "Disconnected: server closed" in case it wasn't obvious
2022-08-25 17:42:15 -07:00
Agent X
4c429c17a7
Improve cheats (#169)
Cheats suck less now I guess.
2022-08-25 17:41:04 -07:00
Agent X
4da8343253
Fix power meter going black when in djui pause (#168) 2022-08-25 17:39:11 -07:00
Agent X
215a8402bf
Add character head glyphs to gTextures (#167) 2022-08-25 17:38:34 -07:00
Agent X
8182a9f93c
Fix hex codes being set inproperly (#165) 2022-08-25 17:38:03 -07:00
wRadion
0cbcdf508b
Only remove the offset when it\'s not a door warp (#164) 2022-08-25 17:37:30 -07:00
Agent X
101d6f6e8d
Prevent dialog from showing in main menu (#162)
* Prevent dialog from showing in main menu

* Scuttlebug fix
2022-08-25 17:34:27 -07:00
Agent X
01035c895a
Small bug fixes to Stop Hosting (#161)
Previously you could exit during the act select screen and even crash the game by entering a door and then pressing Stop Host.
2022-08-25 17:33:47 -07:00
Agent X
7e1110cde9
Remove TARGET_WEB (#159)
Just a simple code cleanup opportunity I saw
"I won't be porting this to the web" - djoslin

Compiled and tested everything to see if it works, feel free to check yourself or look over the code

Also, I noticed TARGET_N64 was there too, might do a clean up on that since we all know this isn't getting ported to the N64 anytime soon.
2022-08-25 17:32:20 -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-11
1dc9bc53ce Fix "join" being cut off on star select 2022-08-23 02:04:53 -04:00
Emerald Lockdown
4cc9ff853d
Made ctrl cmd on mac (#148) 2022-08-11 01:24:11 -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
466b0066a4
Fixed wall hugging issue (#149) 2022-08-11 01:22:04 -07:00
MysterD
77313ee8fd Prevent softlock when entering a cannon near water (Star Road) 2022-08-07 22:42:25 -07:00
MysterD
9217b799b4 Whoops 2022-08-07 22:38:57 -07:00
MysterD
cfcef655e6 Fix crash when hitting escape while a slider is focused 2022-08-07 22:36:35 -07:00