Commit Graph

12 Commits (27b799055cd115ba8ff13de19128bce544a8a488)

Author SHA1 Message Date
MysterD 5fdc7b67e8 Fixed corruption of toad player's spots 2023-06-11 14:18:39 -07:00
PeachyPeach a8e397047a
CAP color; near/far warning fix (#214)
Added CAP color part; Player's cap no longer uses the SHIRT color
    Added METAL color as an alias of CAP color; Metal characters now uses the CAP color to tint the metal texture (was SHIRT color)
    Fixed the cap inside color (was HAIR color)
    Fixed the near/far warning
2022-10-30 17:30:40 -07:00
PeachyPeach 6449b7d578
Complete color palettes; gfx macros (#191) 2022-09-18 17:30:13 -07:00
Llennpie 7056d27484
Fix black outline bug on model textures (#152) 2022-08-25 17:26:22 -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
MysterD ad6642a4bd Add support for custom HUD textures and faster texture packs w/o EXTERNAL_DATA 2022-05-06 22:03:12 -07:00
MysterD 4cc80f65e2 Fixed metal toad corrupting held, or nearby, objects 2022-04-14 21:02:33 -07:00
Sonicxryan 2802d0e7a4
Color metal textures based on palette (#26) 2022-03-13 17:32:27 -07:00
MysterD eb22894ca7 Revert "Fixed rendering of metal Toad's held objects"
This reverts commit efcf78dee1.
2022-02-18 18:48:43 -08:00
MysterD efcf78dee1 Fixed rendering of metal Toad's held objects 2022-02-16 23:15:59 -08:00
MysterD 8fa8fc4799 Prevented Toad's face from getting corrupted in certain areas 2021-08-22 16:30:27 -07:00
MysterD 4688ffe1f0 Added toad player character 2021-08-18 22:55:31 -07:00