Commit graph

392 commits

Author SHA1 Message Date
Isaac0-dev
c9e4efdb31
custom level fixes and fixes from other pr (#483)
clean up custom level code
    fixed a bug where custom level course numbers weren't used by dynos warps
    removed a bunch of unused dynos code
    fix demos triggering incorrectly
    allowed the right Ctrl key to be used when opening the in game console
    fixed a softlock that was possible to experience when talking to the snowman in CCM
    fixed the bug where you can permanently lose your cap (bug created by my own PR from beta 32)
    fix the moderator feature I made a while back; I am amazed it even worked at all before
    fixed dynos warp initial actions being skipped (read ec8aabc for explanation)
    completely changed the way star names and course names work
2023-10-27 16:42:27 -07:00
David Joslin
2df5456793 Reran autogen 2023-10-27 03:18:01 -07:00
EmeraldLockdown
95d4d627ea
Fix Popup Setting (#485)
* Remove old setting

* Readded setting

* Make setting actually work

* Add override functions

* Reset overrides on network shutdown

* Use djui_is_popup_disabled instead of ternary expression

* Move all the other stuff out of .h file
2023-10-27 03:10:32 -07:00
David Joslin
cf20658079 Eyerok can now get attacked by remote players 2023-10-27 01:03:20 -07:00
David Joslin
8fe77eaf9f Ran autogen 2023-10-26 17:15:01 -07:00
flipflop bell
22761949f7
Fix gBehaviorValues.GrateStarRequirement and add gBehaviorValues.Chil… (#471)
* Fix gBehaviorValues.GrateStarRequirement and add gBehaviorValues.ChillyChiefDeathPosY

For some reason, the castle_cannon_grate.inc.c file was unaltered so gBehaviorValues.GrateStarRequirement would not do anything.
gBehaviorValues.ChillyChiefDeathPosY is self explanatory, it lets you change the Y position where the Chilly Chief bully dies.

* ChillyChiefDeathPosY -> ChillBullyDeathPosY

---------

Co-authored-by: <peachy.peach.sm64@gmail.com>
2023-10-20 19:15:38 +02:00
Sunk
302b9b71fa
Patch out toxic gas camera from romhacks (#462)
* Patch out toxic gas camera from romhacks

* Allow toxic gas camera in romhacks to be disabled with camera_allow_toxic_gas_camera()

In romhacks only. Toxic gas camera in vanilla levels will always remain active.
Passing in 0 means enable toxic gas camera.

* Reset gOverrideAllowToxicGasCamera to network_shutdown()

* Swap order

I too have a hard time reading my own code
2023-09-20 19:12:08 +02:00
Sunk
284e02dcb1
Add gLevelValues.wdwWaterLevelSpeed (#469)
Some romhacks do change the speed of the wdw water level.
I am aware that the water level is an object and should be under gBehaviorValues, but that feels wrong so it's under gLevelValues.
2023-09-11 18:42:15 +02:00
PeachyPeach
31c2e23c48
allocate_mario_action fix and improvement (#453) 2023-08-18 18:55:39 +02:00
PeachyPeach
610bdfcf04
fix C string typing (#459) 2023-08-18 18:31:59 +02:00
Sunk
c428612a9e
Add set_exclamation_box_contents() (#445)
* Properly set Mario's y vel to 0 on popping

* Change 0 to 0.0f, just in case

* 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.

* Allow mods to disable the camera centering from romhack camera

* Allow mods to disable romhack camera centering

Done again

* Update on network shutdown

* Remove a line which I have no idea why it returned

* Add set_exclamation_box_contents()

No way this is memory safe or even well made but I did what I could

* Added (most of) peachy's suggestions

Still need to figure out how to stop the game from reading further than the size of the array without using a hardcoded number

* Added more of peachy's suggestions

I figured a good way to cap how far the exclamation box reads is to pass in the length of the array as well
2023-07-18 18:18:02 -04:00
Sunk
d1aa4aee1e
Add gLevelValues.bubbleOnDeathBarrierInCapStages (#449)
Also add a few smaller fixes with bubbles
2023-07-18 18:01:05 -04:00
Agent X
ed60d53ab3
Mod Storage C++ (#448)
* Mod Storage C++

* Implement Peachy's suggestions.

Thank you Peachy.
2023-07-18 17:52:11 -04:00
Agent X
d63abe9c7e
Changes to light shade color (#444) 2023-07-10 15:40:45 -04:00
Sonicxryan
3258064a7f
Shading (#439) 2023-07-06 16:21:37 -04:00
Dominicentek
809cbc314b
Add lifeCap, coinCap and coinToLife to gLevelValues (#429)
* Add lifeCap, coinCap and coinToLife to gLevelValues

* autogen

* forgor

* renamed the properties
2023-07-04 14:16:07 -07:00
Sunk
f6a78e0c77
Allow mods to disable romhack camera centering (#423) 2023-06-23 16:58:47 -07:00
MysterD
2842803362 Added gLevelValues.fixCollisionBugsPickBestWall 2023-06-22 20:18:10 -07:00
MysterD
c7a557d870 Add gLevelValues.fixCollisionBugsGroundPoundBonks 2023-06-22 11:40:59 -07:00
Agent X
3f60869fcb
Add the ability to change lighting color (#420)
* Add the ability to change lighting color

Well it's actually multiplying the lighting color and not changing it completely but I think it's better that way.

* Consistency
2023-06-22 11:28:17 -07:00
MysterD
c92b62fe58 Enable romhack cam by default when in a non-vanilla level 2023-06-22 02:12:57 -07:00
Dominicentek
2629381971
Customizable dialogs (#411)
* add customizable dialogs

* remove testing mod

* add HOOK_ON_DIALOG

* Reset dialog overrides in `network_shutdown`

It may have compile errors idk editing code on phone sucks

* typo smh

* copy over the file from original repo so this fork can be synced

* run autogen again

* actually im stupid
2023-06-18 20:04:39 -07:00
Agent X
f1990c618e
Add tons of new save file / star related functions (#419)
These were needed to port interact_star_or_key to Lua but are also just good to have exposed IMO.
2023-06-18 20:04:02 -07:00
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