Commit graph

332 commits

Author SHA1 Message Date
Agent X
49bca1cc01 sm64coopdx
Co-Authored-By: Yuyake <140215214+AngelicMiracles@users.noreply.github.com>
Co-Authored-By: FluffaMario <50761036+FluffaMario@users.noreply.github.com>
Co-Authored-By: Gregory Heskett <gheskett@gmail.com>
Co-Authored-By: iZePlayzYT <69536095+iZePlayzYT@users.noreply.github.com>
Co-Authored-By: Isaac0-dev <62234577+Isaac0-dev@users.noreply.github.com>
Co-Authored-By: eros71 <16540103+eros71-dev@users.noreply.github.com>
2023-10-30 01:03:36 -04:00
David Joslin
b199f203a4 Made the hang prevention message go to LOG_ERROR instead of stdout 2023-10-28 00:21:18 -07:00
EmeraldLockdown
9b502346a7
Console Overhaul (#490)
Completely redid the console ui to look more like the rest of coop
    Added log_to_console and djui_console_toggle to lua
    Made the keybind to activate it the tilda key (~) instead of ctrl+f1
2023-10-28 00:18:23 -07:00
MysterD
b002061609 Cleaned up character sound/anim lookup code 2023-10-27 18:59:00 -07:00
MysterD
27b799055c Fix compile errors from recent merges 2023-10-27 18:02:04 -07:00
Keeberghrh
e02a68e221
Character Animation System (#441)
Replaces references to set_mario_animation() with set_character_animation(), but the old function still exists as a way to play any character animation on any character. Waluigi has two animations, added as a test and may not be final. Exposed new functions to Lua for usage in mods.
Primary concern is that each character requires 209 lines indicating what animations they use, similar to Character Sounds.
2023-10-27 17:43:45 -07:00
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
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
Sunk
3242c4e7c8
Document manual.lua (#443)
* Properly set Mario's y vel to 0 on popping

* Change 0 to 0.0f, just in case

* Massively increase surface pool size

Also exposed the surface pool counts by creating a few functions to get them. They only existed for debugging but may as well keep them.

* Allow extended moveset to be toggled from a chat command

I got permission to edit extended moveset. Eventually I'll try to see if I can improve upon this moveset.

* Remove old surface code

Part 1

* Heavily document manual.lua

Hopefully nothing I added is wrong

* Small change in descriptions
2023-07-18 18:00:35 -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
MysterD
aeb8817f0d Reduced Lua GC pressure by a lot, reuse cobjects/pointers 2023-06-24 23:43:03 -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
929b10995c Allow other mods to add levels to arena 2023-05-31 16:56:57 -07:00
MysterD
1dd70283da Fixed bounds checks in save_file_is_cannon_unlocked() 2023-05-20 20:07:17 -07:00
Dominicentek
9a065ffced
Expose save_file_is_cannon_unlocked to smlua (#395)
* Update convert_functions.py

* Update save_file.c

* Update save_file.h

* Update cannon_door.inc.c
2023-05-20 20:06:15 -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
MysterD
5598ac95e7 Merge branch 'dev' of github.com:sm64ex-coop-dev/sm64ex-coop into dev 2023-05-14 12:12:30 -07:00
MysterD
8129ab7665 Prevent crashes and hangs 2023-05-13 03:07:20 -07:00
MysterD
cc1ec3e81f Prevented hundreds of additional crashes from the Mod API 2023-05-11 20:33:21 -07:00
Isaac0-dev
fad7984cd4
add djui_open_pause_menu() (#391) 2023-05-11 06:10:25 -04:00
MysterD
039be71266 Prevent even more possible crashes from the mod api 2023-05-11 01:46:27 -07:00