Commit Graph

19 Commits (08b5af536631ef61e22e88a75b429748a80f1395)

Author SHA1 Message Date
TheGag96 a1bcd19529 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
MysterD e1fd969cf3 Add support for custom HUD textures and faster texture packs w/o EXTERNAL_DATA 2022-05-06 22:03:12 -07:00
MysterD f774f34863 Prevent generating extra geos for player models, allow referencing mario textures 2022-04-14 21:49:41 -07:00
Sonicxryan f67c938f18 Color metal textures based on palette (#26) 2022-03-13 17:32:27 -07:00
Prince Frizzy 43ae67c337 Update to Refresh 13 (#19)
* Refresh 13

Co-authored-by: n64 <n64>
2022-03-13 00:17:10 -08:00
Llennpie c818dc7f71 Fix strange black outline that appears on custom cap textures 2021-08-09 00:45:14 -04:00
MysterD 67c6b34493 Colorize cap logo according to player's palette 2021-08-05 18:30:56 -07:00
fgsfds 3317154ec2 implement changeable model colors
in a very dumb way:

the custom colors are set for lights 3, 4, 5, 6 in a GEO_ASM callback, then copied to lights 1, 2 using gsSPCopyLightEXT
2021-04-06 00:22:42 +03:00
MysterD 62ecf2c58a Geo2 removal wip 2020-09-06 13:54:01 -07:00
MysterD a1522c9eaf L is real 2020
Added Luigi model.
Renamed all previous references to 'Luigi' to 'Mario2' since player 1
isn't always mario, and player 2 isn't always luigi.
Now server is always mario and client is always Luigi.

Luigi model credits:
Original model by Cjes, converted by AloXado320, textures added/fixed by
SunlitSpace542.
2020-08-08 21:36:49 -07:00
MysterD afc4331d9e Separated held objects, made Bobombs Luigi-aware 2020-07-31 18:03:57 -07:00
MysterD f55716c46a Began fixing up Luigi collisions 2020-07-30 18:44:09 -07:00
MysterD 70fa41fd65 Separated animations between players 2020-07-30 18:09:47 -07:00
n64 88e2433da5 Refresh 7 2020-03-01 22:42:52 -05:00
n64 88b91e7c75 refresh 6 2020-02-03 00:51:26 -05:00
n64 99e662fa5d refresh 4 2019-12-01 21:52:53 -05:00
n64 8bc51a5025 Refresh 3 2019-11-03 14:36:27 -05:00
n64 33b27a1ceb Refresh 1 2019-09-01 15:50:50 -04:00
n64 89e8690857 init2 2019-08-25 00:46:40 -04:00