- fix paginated panels when a page doesn't exist anymore
- fix colored mod names carrying over to other mod names in lobby mod lists
- even more dynos cleanup
- remove unused code
- more clean up for dynos levels code (mostly just better code layout)
* added HOOK_MIRROR_MARIO_RENDER to Lua
Previously there was no way to interact with mirror Mario using the Lua api, so this fixes that.
* remove premature optimisation
* revert that
* Fixed going OOB sometimes crashing the game
* Avoid nested if statements
* Update camera.c
---------
Co-authored-by: PeachyPeach <72323920+PeachyPeachSM64@users.noreply.github.com>
Adds "m.marioBodyState.allowPartRotation", which when set to 1, will make "m.marioBodyState.headAngle" and "m.marioBodyStates.torsoAngle" actually change where Mario's head and torso face outside of very specific cases (like running, or being underwater).
* Expose save_file_remove_star_flags
* new packet
added a new packet type and two new functions
* oops
* create packet_save_remove_flag.c
move the new network functions to a new file
* Switch u32 to u8
Switched courseStarsToRemove from u32
to u8 for consistency
* fixed the function
-Fixed empty save file marked as existing
-Fixed SAVE_FILE_EXISTS flag being deleted
-Fixed removing ALL flags from the remote saves
Added SentChatMessages-History (including navigation)
Added Tab-Completion for Main-Commands
Added Tab-Completion for Sub-Commands
Added Tab-Completion for Player-Names [Now finally fixed and working correctly]
Improved some english translations
Improved a lot of german translations
Fixed a few bugs and bad code regarding "default commands"
Development started on a new chat command handling system (Not in use yet)
Fixed some stuff previously noted/criticized by other developers in a previous the code review
Added new Start-Parameter "--playername PLAYERNAME"
Added new Start-Parameter "--randomplayername"
* Aglambi (Added romhack camera dpad functionality)
* Remove this random comment on request
* Make dpad camera disabled by default
* Force axis alignment when dpad camera is off
Remove the need to use rosetta 2, and now use arm instead.
Intel macs should still work, although have not been tested (I don't have a intel mac).
Coopnet and lua have both been tested, and both work.
I ended up removing the logfile stuff, as 1, it was only used once for mario action hang, and 2, it was causing pointer misalignment on macos arm.
Discord integration is disabled on arm.
Compilation now takes 25 seconds instead of a minute and 20
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>
* Fix crashes when pausing in certain invalid acts of levels (e.g. act 65400 of TTM)
* Cap the player's act number at ?-6 (unless the number is 99)
* Removed the original changes (because they're useless)
* Remove the old changes again
* Use PeachyPeach's suggestion
* Remove useless include
* Update ingame_menu.c
* Readded version checks, added some extra symbols and changed print.c and print.h a bit, also changed all characters head icons. And made ~ into multiply and ^ into key (no longer beta key) and remade all beta textures for all versions.
* Changed the Q to q in the custom hud font
* Added mathematical symbols
* Turns out there are ? in other versions and there was a jp check stopping us from using it and I am dumb
* No more funny comments
* No more print.c funny comments
* Fixed accidentally screwed up coin counter
---------
Co-authored-by: xLuigiGamerx <mohammmedsadawi666@gmail.com>
* xLuigiGamerxsDevFork
* xLuigiGamerxsDevFork
* Fixed Accidentally used older character.c file
* Modified the playerlist so that it can support more than 16 players if it is to be added and increased the username character limit from 20 to 60 so people with longer names can use hex codes
* Changed the Makefile back
* Just Fixing up the makefile which for some reason changed
* Fr this time I hopefully fixed the Makefile
* Bruh why did this even change it's fucking annoying
* Modified the playerlist so that it can support more than 16 players if it is to be added and increased the username character limit from 20 to 60 so people with longer names can use hex codes (Removed Whitespace lol)
* Modified the playerlist so that it can support more than 16 players if it is to be added and increased the username character limit from 20 to 60 so people with longer names can use hex codes (Removed Whitespace V2 lol)
* Used MAX_PLAYER_STRING instead of a number
* Apparently math.h wasn't needed
* Me when I use google translate only for it to fuck up french:
* Used MAX_PLAYER_STRING and removed ceils and removed multiplicaion by sPlayerListSize
* Added comment for p variable
* Removed 16
* Update djui_panel_playerlist.c
---------
Co-authored-by: xLuigiGamerx <mohammmedsadawi666@gmail.com>
Co-authored-by: PeachyPeach <72323920+PeachyPeachSM64@users.noreply.github.com>
* Force secret stars to respawn
Hacky fix for sure. I'll need to see how to deal with this in a better way.
* Improve star syncing
All stars now respawn (hopefully) and the red coin star no longer repeatedly respawns.
Also forced oSyncDeath for other objects.
* Remove leftover include
* (Probably) improve star syncing
It'll still spam packets but at least it'll only spam packets to people who are able to receive them
* Revert "(Probably) improve star syncing"
This reverts commit 86ff2c5451cff0a06e8c3410b2815e12b414f264.
* Weird sync
No idea why this works but it does. At least no fields have to be synced over, as far as I can tell.
* 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
We go with a very generous amount here to ensure that we basically never
reach the limit. A few fixes were also made in load.c to catch any
segfaults in case someone decides to increase the limit even further.
Updated Luigi and Wario's models to their latest revision.
Mario, Luigi and Wario's sideburns now match the color of the rest of their hair with the player's palette.
Mario and Luigi's Logos were made into IA16 textures and are now shaded to look a bit better with the rest of the cap.
Cap inside was made a darker variant of the regular cap color across both the held and item caps.
Fixed an oversight with the cap wings, though mostly so that they're more consistent.
Removed Mario's unused model data since none of it is ever getting used as far as I'm aware.
Remaking this pull request because I realized I cloned the wrong branch so commits were messed up
Thanks DYosh for reminding me about Fire Wario and Fire Waluigi
Updated those 2 palettes to match the recently changed Wario and Waluigi palettes
new-palettes
Also made Waluigi's Overalls a bit darker to correspond the N64 model and render
* 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
I remember it being more than 32 at some point but I could be wrong, I'm making this PR so color codes can be better utilized in names without hitting the max limit so quickly.
* 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
Due to sm64 weirdness, I can't reliably free memory at certain points
The hacky solution is to keep the previous dynamic pool in memory,
essentially requiring two frees to actually clear all memory from it