Go to file
Agent X 4b84a87c6f
Mod storage, network_discord_id_from_local_index and other small changes (#200)
* Mod storage & network_discord_id_from_local_index

Introducing mod storage, a key/value system for saving things like high scores or settings or anything like that to AppData\Roaming\sm64ex-coop\sav\mod-name.sav (Windows example)
You can currently save only strings meaning if you want to save a number you'd need to do
mod_storage_save("score", tostring(score))
and then
score = tonumber(mod_storage_load("score"))
To handle types like that.
network_discord_id_from_local_index() returns the discord ID of a player by local index.
Some misc changes I made were removing the unsed ini.h include in save_file.c and making the autogen converters output LF line endings instead of CRLF on windows.

* Prevent getting id if using direct connect

* Update djui_panel_player.c

Why does this bother me?

Co-authored-by: djoslin0 <djoslin0@users.noreply.github.com>
2022-09-26 19:28:26 -07:00
.github/ISSUE_TEMPLATE Update issue templates 2020-05-07 20:46:35 +02:00
actors Complete color palettes; gfx macros (#191) 2022-09-18 17:30:13 -07:00
assets Update to Refresh 13 (#19) 2022-03-13 00:17:10 -08:00
autogen Mod storage, network_discord_id_from_local_index and other small changes (#200) 2022-09-26 19:28:26 -07:00
bin 3-digits orange numbers; Fixed red coins and secrets bugs; Correct red coins display during pause (#82) 2022-05-07 19:09:37 -07:00
data Update dynos_bin_read.cpp (#198) 2022-09-19 19:36:10 -07:00
developer Cleanup ; recursive descent fixes ; fixed behavior override comparisons 2022-06-02 19:07:43 -07:00
docs/lua Mod storage, network_discord_id_from_local_index and other small changes (#200) 2022-09-26 19:28:26 -07:00
doxygen yeet 2020-06-02 23:43:32 +03:00
include Color type and palette/color functions (#199) 2022-09-26 19:11:51 -07:00
levels Fix up co-op ripples 2022-08-07 01:10:10 -07:00
lib multiple improvements (#176) 2022-09-12 20:00:51 -07:00
misc DJUI: Added controls menu 2021-06-27 15:54:10 -07:00
mods Lower water level on Football/Shell Rush (#194) 2022-09-18 19:00:39 -07:00
res Add Icon to windows build (#96) 2022-05-19 16:33:17 -07:00
sound Update to Refresh 13 (#19) 2022-03-13 00:17:10 -08:00
src Mod storage, network_discord_id_from_local_index and other small changes (#200) 2022-09-26 19:28:26 -07:00
text Allow course names/acts to be changed from Lua 2022-04-09 23:28:36 -07:00
textures 3-digits orange numbers; Fixed red coins and secrets bugs; Correct red coins display during pause (#82) 2022-05-07 19:09:37 -07:00
tools Fix warnings/compile errors on Linux 2022-03-13 18:45:42 -07:00
.clang-format Refresh 1 2019-09-01 15:50:50 -04:00
.clang-tidy Refresh 1 2019-09-01 15:50:50 -04:00
.gitattributes Refresh 1 2019-09-01 15:50:50 -04:00
.gitignore Add gamepad number, background options (#122) 2022-06-05 19:16:24 -07:00
CHANGES Update to Refresh 13 (#19) 2022-03-13 00:17:10 -08:00
Dockerfile Fix compiling on Docker (#125) 2022-06-05 19:12:23 -07:00
Doxyfile refresh 4 2019-12-01 21:52:53 -05:00
Jenkinsfile Update to Refresh 13 (#19) 2022-03-13 00:17:10 -08:00
Makefile multiple improvements (#176) 2022-09-12 20:00:51 -07:00
Makefile.split Fix up Makefile for coop-compiler 2022-03-21 16:46:31 -07:00
README.md Doc stuff (#182) 2022-09-12 20:01:45 -07:00
README_es_ES.md Remove TARGET_WEB (#159) 2022-08-25 17:32:20 -07:00
README_pt_BR.md Create README_pt_BR.md 2020-06-10 22:36:41 -03:00
README_zh_CN.md Typo in extract_assets.py 2020-05-16 15:44:55 -03:00
SAVE_FORMAT.MD Added appropriate flags for sound mode and cap level. Documentation has been updated. 2020-05-20 23:28:04 +09:00
asmdiff.jp.sh merge PC port onto the decompile 2020-05-07 20:21:22 +02:00
assets.json Update to Refresh 13 (#19) 2022-03-13 00:17:10 -08:00
c2obj.py correct line endings 2020-05-16 07:36:28 +03:00
charmap.txt refresh 5 2020-01-03 10:38:57 -05:00
charmap_menu.txt refresh 5 2020-01-03 10:38:57 -05:00
credits.txt Update credits 2022-04-06 01:31:58 -07:00
diff.py Update to Refresh 13 (#19) 2022-03-13 00:17:10 -08:00
diff_settings.py Update to Refresh 13 (#19) 2022-03-13 00:17:10 -08:00
dynos.mk Added DynOS v1.1 without the dynamic options 2022-03-09 18:01:03 -08:00
extract_assets.py Update to Refresh 13 (#19) 2022-03-13 00:17:10 -08:00
first-diff.py Update to Refresh 13 (#19) 2022-03-13 00:17:10 -08:00
format.sh init2 2019-08-25 00:46:40 -04:00
obj2c.py correct line endings 2020-05-16 07:36:28 +03:00
pisetup.sh Update repo_url. Rename /sm64pi/sm64pc -> /sm64pc/sm64ex 2020-07-06 19:29:52 +02:00
rename_sym.sh Update to Refresh 13 (#19) 2022-03-13 00:17:10 -08:00
sm64.eu.sha1 init2 2019-08-25 00:46:40 -04:00
sm64.jp.sha1 init2 2019-08-25 00:46:40 -04:00
sm64.ld Added extended bounds 2022-04-06 08:40:22 -07:00
sm64.sh.sha1 Refresh 7 2020-03-01 22:42:52 -05:00
sm64.us.sha1 init2 2019-08-25 00:46:40 -04:00
undefined_syms.txt Update to Refresh 13 (#19) 2022-03-13 00:17:10 -08:00
util.mk Update to Refresh 13 (#19) 2022-03-13 00:17:10 -08:00

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.

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.

Lua

sm64ex-coop is moddable via lua, similar to how Roblox and Gmod works. To get started, click here to see the lua documentation

Discord

https://discord.gg/TJVKHS4