mirror of
https://github.com/coop-deluxe/sm64coopdx.git
synced 2024-11-25 05:25:14 +00:00
9e5a45ecdd
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. |
||
---|---|---|
.github/ISSUE_TEMPLATE | ||
actors | ||
assets | ||
autogen | ||
bin | ||
data | ||
developer | ||
docs/lua | ||
doxygen | ||
include | ||
levels | ||
lib | ||
misc | ||
mods | ||
sound | ||
src | ||
text | ||
textures | ||
tools | ||
.clang-format | ||
.clang-tidy | ||
.gitattributes | ||
.gitignore | ||
asmdiff.jp.sh | ||
assets.json | ||
c2obj.py | ||
CHANGES | ||
charmap.txt | ||
charmap_menu.txt | ||
credits.txt | ||
diff.py | ||
diff_settings.py | ||
Dockerfile | ||
Doxyfile | ||
dynos.mk | ||
extract_assets.py | ||
first-diff.py | ||
format.sh | ||
Jenkinsfile | ||
Makefile | ||
Makefile.split | ||
obj2c.py | ||
pisetup.sh | ||
README.md | ||
README_es_ES.md | ||
README_pt_BR.md | ||
README_zh_CN.md | ||
rename_sym.sh | ||
SAVE_FORMAT.MD | ||
sm64.eu.sha1 | ||
sm64.jp.sha1 | ||
sm64.ld | ||
sm64.sh.sha1 | ||
sm64.us.sha1 | ||
undefined_syms.txt | ||
util.mk |
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 player to be interacting with the same world at the same time.