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
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.
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
* 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
* 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>
* 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
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.
* 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
* 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
* 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
* 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
* 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.
* 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
* 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
* Initial support for compiling with EU.
* Fix EU text.
* JP now compiles, TODO: Fix Autogen to fix JP and fix text in djui.
* audio: Prevent crash in EU.
* audio: Sync EU audio to 60 Hz instead of 50 Hz
* Add logging and remove sanity check to hopefully track EU crash.
* Various improvements for EU
Improve some memory debugging
Improve sound debugging
Initalize some variables in load.c for the sound system
Synchronize the EU cutscenes with the US version.
* Fix credits music playing in EU, Document some EU audio code.
* Autogen now supports version excluded object fields and functions. Reran autogen in accordance.
* Fix some potentional shifting issues due to version differences.
* Decrease the sleep times in some spots, We do not need them to be so long. (#373)
* Add the region to the version string.
---------
Co-authored-by: djoslin0 <djoslin0@users.noreply.github.com>
* 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>
* Expose globally custom behaviors defined with hook_behavior; macros for mod strings max length
* fixes
* made customBehaviorIndex a mod field to be more relevant
* [WIP] fix warnings
Committing now as is for Isaac to take a look at this.
Having issues with VERSION_TEXT
* Fix VERSION_TEXT crash and stop demos on host
* 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