a1bcd19529
* 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" |
||
---|---|---|
.github/ISSUE_TEMPLATE | ||
actors | ||
assets | ||
autogen | ||
bin | ||
data | ||
developer | ||
docs/lua | ||
doxygen | ||
include | ||
levels | ||
lib | ||
misc | ||
mods | ||
res | ||
sound | ||
src | ||
text | ||
textures | ||
tools | ||
.clang-format | ||
.clang-tidy | ||
.gitattributes | ||
.gitignore | ||
CHANGES | ||
Dockerfile | ||
Doxyfile | ||
Jenkinsfile | ||
Makefile | ||
Makefile.split | ||
README.md | ||
README_es_ES.md | ||
README_pt_BR.md | ||
README_zh_CN.md | ||
SAVE_FORMAT.MD | ||
asmdiff.jp.sh | ||
assets.json | ||
c2obj.py | ||
charmap.txt | ||
charmap_menu.txt | ||
credits.txt | ||
diff.py | ||
diff_settings.py | ||
dynos.mk | ||
extract_assets.py | ||
first-diff.py | ||
format.sh | ||
obj2c.py | ||
pisetup.sh | ||
rename_sym.sh | ||
sm64.eu.sha1 | ||
sm64.jp.sha1 | ||
sm64.ld | ||
sm64.sh.sha1 | ||
sm64.us.sha1 | ||
undefined_syms.txt | ||
util.mk |
README.md
sm64ex-coop
Online multiplayer mod for SM64 that synchronizes all entities and every level for multiple players. Fork of sm64pc/sm64ex.
Feel free to report bugs and contribute, but remember, there must be no upload of any copyrighted asset.
Run ./extract_assets.py --clean && make clean
or make distclean
to remove ROM-originated content.
How to Play
Instructions on how to play are available on the wiki.
- The easiest way is to download coop-compiler
Goal (accomplished)
Create a mod for the PC port where multiple people can play online together.
Unlike previous online attempts, this one synchronized enemies and events. This allows players to be interacting with the same world at the same time.