Commit Graph

14 Commits (38bc85e32912b3c1e1d79d70a2910a0b9333ad85)

Author SHA1 Message Date
MysterD 5e5ef35118 Revert custom palette changes to built in mods 2022-08-07 15:13:51 -07:00
TheGag96 dc3ca7c76d
Arbitrary shirt, pants, glove colors + settings menu (#145)
* Support for more granular player colors

You can now configure RGB values for shirt, pants, gloves, and shoes.
Due to some limitations, configuring shoes does nothing at the moment.

* Remove paletteIndex and friends

Restructured and filled in some remaining code to account for that.

* Add Edit Palette panel to Player panel

* Change PlayerPalette contents to an enum-indexed array, remove shoes

This gets rid of all the hokey code doing switch cases on the
different parts.

* Fix goof with player model selection box

Should actually have affect now even if a custom palette is being used.

* Fix gap in player color display list commands

The extra space was leftover from when I was trying to get shoes
working. Forgot to clean it up.

* Standardize PlayerParts enum, including for lua constants autogen

* djui_panel_player.c: Properly hook sending palette changes on unpause

Editing the palette and then unpausing should send out the packet to
everyone with the new palette changes (and update the palette preset
selection box), but since we weren't hooking that situation before, it
would stay changed only for you. You would have had to press the Back
button for it to work right.

* Allow Lua mods to continue using `paletteIndex`, `overridePaletteIndex`

This lets mod code like this still work unchanged:

if s.team == 2 then
    np.overridePaletteIndex = 7
elseif s.team == 1 then
    np.overridePaletteIndex = 15
else
    np.overridePaletteIndex = np.paletteIndex
end

It's essentially faked, and would work strangely if the value of either
variable was inspected more closely directly. This should at least
handle the typical use case, though.

Every frame, `overridePaletteIndex` is checked to see if it was modified
from its previous value. If so, `overridePalette` is set to the preset
corresponding to the index. `paletteIndex` contains a special value that
when used to assign to `overridePaletteIndex`, it copies `palette` into
`overridePalette` to restore the real colors, which of course may not
follow the presets at all.

* characters.h: Pack `PlayerPalette` to eliminate size differences between computers

* mario_misc.c: Remove remaining "TODO GAG"
2022-08-07 15:13:19 -07:00
Amy54Desu a1c73d13ef
Fix Player Limit Settings and Hide Server Only Chat Commands (#114) 2022-05-21 23:07:29 -07:00
MysterD 3ce66ac312 Added hook: HOOK_ALLOW_PVP_ATTACK, disabled friendly fire in football 2022-03-12 23:43:47 -08:00
MysterD 08d4818ba7 Added Lua definitions for autocomplete in visual studio code 2022-03-12 21:28:57 -08:00
mjcox244 aded0b6d25
Make Football a gamemode (#21)
Small change to football to mark it as a game mode so you can't play H&S and football at once
2022-03-12 16:05:19 -08:00
MysterD 859feb530d Added ability for Lua to show/hide SM64 HUD 2022-03-10 18:33:52 -08:00
MysterD 497a250476 Allowed Lua mods to override player models and palettes 2022-03-10 18:23:25 -08:00
MysterD 4638ff6f22 Added the ability to set surface collisions on custom behaviors 2022-03-09 23:02:20 -08:00
MysterD 3641d5404e Added getter for network area timer 2022-03-09 21:25:21 -08:00
MysterD 1b99e22848 Added the ability to spawn particles from Lua
Added particles to football
Increased the object cap for particles
2022-03-09 21:25:07 -08:00
MysterD e62ad54cd9 Football improvements
Rewrote all of the ball-to-player interactions
Player collisions are better now
Attacks affect the ball in different ways
Centered camera during the countdown period
Players lose their velocity during the countdown period
2022-03-09 21:24:39 -08:00
MysterD c8b441b3fe Remove debug bind from football.lua 2022-03-09 21:24:39 -08:00
MysterD 25cd318198 Added football gamemode 2022-03-07 22:23:05 -08:00