Find a file
PeachyPeach 9e5a45ecdd
Added lua profiler; Added useful object functions; Bug fixes (#65)
Added a basic lua profiler
        If the game is compiled with LUA_PROFILER=1, displays on screen the average execution time per frame of each active lua mod, in microseconds.

    Added object functions
        For some reasons, accessing the object fields obj.o* via lua is rather slow, and can drastically increase execution time of custom behaviors. For basic stuff like setting an object's velocity or moving it, some functions, missing from the original code, have been added:
        s32 obj_is_valid_for_interaction(struct Object *o): returns 1 if an object is valid for interaction, i.e. active, tangible and not interacted.
        s32 obj_check_hitbox_overlap(struct Object *o1, struct Object *o2): returns 1 if two objects hitboxes overlap. Doesn't check tangibility, only hitbox values.
        void obj_set_vel(struct Object *o, f32 vx, f32 vy, f32 vz): sets an object's velocity.
        void obj_move_xyz(struct Object *o, f32 dx, f32 dy, f32 dz): moves an object position by (dx, dy, dz).

    Bug fixes:
        Disable collisions with walls and ceilings after Mario exits a warp pipe to prevent softlocks in narrow places.
        Make the koopa shell exclamation box respawn after some time.
        Quicksand no longer downwarps and instant-kills Mario if he's shocked while being above it.
2022-04-20 11:20:45 -07:00
.github/ISSUE_TEMPLATE Update issue templates 2020-05-07 20:46:35 +02:00
actors Fix Luigi metal color 2022-04-16 23:53:10 -07:00
assets Update to Refresh 13 (#19) 2022-03-13 00:17:10 -08:00
autogen Added lua profiler; Added useful object functions; Bug fixes (#65) 2022-04-20 11:20:45 -07:00
bin Added actor textures to dynos builtin list; added shadow_spike_ext 2022-04-13 19:13:25 -07:00
data Massive DynOS refactor for performance/organization 2022-04-19 21:06:18 -07:00
developer Add profiling compile option 2022-04-19 18:18:15 -07:00
docs/lua Added lua profiler; Added useful object functions; Bug fixes (#65) 2022-04-20 11:20:45 -07:00
doxygen yeet 2020-06-02 23:43:32 +03:00
include Some bug fixes. (#67) 2022-04-20 11:18:17 -07:00
levels Fix error in LOAD_MODEL_FROM_GEO_EXT (level gen) 2022-04-10 16:20:02 -07:00
lib Merge in small changes. (#63) 2022-04-16 19:12:12 -07:00
misc DJUI: Added controls menu 2021-06-27 15:54:10 -07:00
mods Fix romhack cannon camera in sm74 2022-04-16 15:39:14 -07:00
sound Update to Refresh 13 (#19) 2022-03-13 00:17:10 -08:00
src Added lua profiler; Added useful object functions; Bug fixes (#65) 2022-04-20 11:20:45 -07:00
text Allow course names/acts to be changed from Lua 2022-04-09 23:28:36 -07:00
textures Added actor textures to dynos builtin list; added shadow_spike_ext 2022-04-13 19:13:25 -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 A load of fixes and cleanup.. (#39) 2022-03-22 19:50:13 -07: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
CHANGES Update to Refresh 13 (#19) 2022-03-13 00:17:10 -08: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
Dockerfile Update to Refresh 13 (#19) 2022-03-13 00:17:10 -08:00
Doxyfile refresh 4 2019-12-01 21:52:53 -05: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
Jenkinsfile Update to Refresh 13 (#19) 2022-03-13 00:17:10 -08:00
Makefile Added lua profiler; Added useful object functions; Bug fixes (#65) 2022-04-20 11:20:45 -07:00
Makefile.split Fix up Makefile for coop-compiler 2022-03-21 16:46:31 -07: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
README.md Update to Refresh 13 (#19) 2022-03-13 00:17:10 -08:00
README_es_ES.md Update README_es_ES.md 2020-05-19 00:04:07 +01: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
rename_sym.sh Update to Refresh 13 (#19) 2022-03-13 00:17:10 -08: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
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

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 player to be interacting with the same world at the same time.

Discord

https://discord.gg/TJVKHS4