Find a file
PeachyPeach 6726a6280a
Changes in level_info; play_transition; dev-only warp command; bug fix for moving sounds played via lua (#69)
Improved level_info.c and added functions to LUA:
        const char *get_level_name_ascii(s16 courseNum, s16 levelNum, s16 areaIndex, s16 charCase):
            Return a level name as an ascii string. If charCase is 1, capitalize all letters.
            If charCase is -1, decapitalize all letters except the first one of each word.
        const u8 *get_level_name_sm64(s16 courseNum, s16 levelNum, s16 areaIndex, s16 charCase):
            Return a level name as an sm64 u8 string.
            If charCase is 1, capitalize all letters.
            If charCase is -1, decapitalize all letters except the first one of each word.
        const char *get_level_name(s16 courseNum, s16 levelNum, s16 areaIndex):
            Shortcut for get_level_name_ascii(courseNum, levelNum, areaIndex, -1).
        const char *get_star_name_ascii(s16 courseNum, s16 starNum, s16 charCase):
            Return a star name as an ascii string.
            If charCase is 1, capitalize all letters.
            If charCase is -1, decapitalize all letters except the first one of each word.
        const u8 *get_star_name_sm64(s16 courseNum, s16 starNum, s16 charCase):
            Return a star name as an sm64 u8 string.
            If charCase is 1, capitalize all letters.
            If charCase is -1, decapitalize all letters except the first one of each word.
        const char *get_star_name(s16 courseNum, s16 starNum):
            Shortcut for get_star_name_ascii(courseNum, starNum, -1).

    Added play_transition function to LUA.
        I chose to copy the function declaration to smlua_misc_utils.h instead of adding area.h
        to the autogen tool, as most structures, variables and functions in area.h aren't meant
        to be used by LUA scripts.

    Added a dev-only warp chat command.
        This command signature is /warp [LEVEL] [AREA] [ACT]. Level can be either a number
            or a shorthand name (bob, wf, ccm...). Area and Act are numbers.
        This command is available only when building the game with DEBUG and DEVELOPMENT.
        This command cannot be used if hosting through Discord.

    Fixed a bug with moving sounds when they are played via a lua script.
        Bug: Moving sounds (including terrain sounds, flying sound, quicksand sound)
            are not played correctly when a lua script play them via a call of
            play_sound or play_sound_with_freq_scale. This is due to how the moving
            sounds are handled internally. They use the f32 pointer provided to the
            play_sound functions to decide if the sound must be kept playing,
            stopped or restarted. Most of the time, the pointer provided is the
            cameraToObject field of Mario's object graph node. Since smlua uses a
            circular buffer for Vec3f conversion, this pointer is lost, and the
            sound engine can't decide what to do with the sound, resulting in a
            weird and incorrect sound effect.
        Fix: play_sound and play_sound_with_freq_scale now calls
            smlua_get_vec3f_for_play_sound before filling the sound request queue,
            to retrieve the correct pointer from the Vec3f provided by smlua.
2022-04-26 13:48:50 -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 Changes in level_info; play_transition; dev-only warp command; bug fix for moving sounds played via lua (#69) 2022-04-26 13:48:50 -07:00
bin Added actor textures to dynos builtin list; added shadow_spike_ext 2022-04-13 19:13:25 -07:00
data Possible mac compile fix 2022-04-23 15:54:39 -07:00
developer Fixed finding of renamed custom actors 2022-04-22 18:54:11 -07:00
docs/lua Changes in level_info; play_transition; dev-only warp command; bug fix for moving sounds played via lua (#69) 2022-04-26 13:48:50 -07:00
doxygen yeet 2020-06-02 23:43:32 +03:00
include Automatically disable billboards when a DynOS model uses more than 6 vertices 2022-04-23 03:05:16 -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 crash when toggling dynos packs 2022-04-23 02:22:12 -07:00
sound Update to Refresh 13 (#19) 2022-03-13 00:17:10 -08:00
src Changes in level_info; play_transition; dev-only warp command; bug fix for moving sounds played via lua (#69) 2022-04-26 13:48:50 -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
grind.log Fix crash in find_surface_on_ray_list() 2022-04-23 15:50:14 -07:00
Jenkinsfile Update to Refresh 13 (#19) 2022-03-13 00:17:10 -08:00
Makefile Make coop-compiler use O2 2022-04-23 20:01:52 -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