* C++ lighting engine Runs better using my new system for storing and iterating through lights. I removed the lighting ctx profiler because after I've realized its very inaccurate and was probably programmed incorrectly from the start. Although I remember it working fine before and not constantly showing 20 ms or higher when I'm in an extremely simple level with extremely simple lights and the FPS is way too high for it to be taking 20 ms. * Whoops * Make some optimizations * Fix small bug with LE inside graphics vertex function I also brought back the lighting profiler because it's better than nothing. * Some optimizations * Cache active lights and 4 lights per vertex limit Less branching and less iterating with the limit * Screen shader effects for Lua [OpenGL] Hue, saturation, brightness, contrast, exposure, dithering, posterization Global = usually an object in the world Non global = usually a screen element Also: * Changed skyboxes to use environment color instead of vertex color, visually identical * Changed hud head texture to be non global * changed power meter to be non global * changed sparkles to be global * changed some BBH vertex types to global OpenGL renderer supported only for now. * Add default values and better function names Also fixed sizes in reset function * Add scanlines effect * Add global enabled function * Fix some default values * Hopefully fix white sparkles * Whoops * Address review * Update function names * Fix shader crash * Address reviews |
||
|---|---|---|
| .github | ||
| actors | ||
| assets | ||
| autogen | ||
| bin | ||
| data | ||
| developer | ||
| docs | ||
| dynos/packs | ||
| include | ||
| lang | ||
| levels | ||
| lib | ||
| mods | ||
| palettes | ||
| res | ||
| sound | ||
| src | ||
| text | ||
| textures | ||
| tools | ||
| updater | ||
| .clang-format | ||
| .clang-tidy | ||
| .gitattributes | ||
| .gitignore | ||
| assets.json | ||
| CHANGES | ||
| charmap.txt | ||
| charmap_menu.txt | ||
| credits.txt | ||
| Dockerfile | ||
| dynos.mk | ||
| extract_assets.py | ||
| format.sh | ||
| Makefile | ||
| Makefile.split | ||
| README.md | ||
| sm64.eu.sha1 | ||
| sm64.jp.sha1 | ||
| sm64.sh.sha1 | ||
| sm64.us.sha1 | ||
| util.mk | ||
| windows.ld | ||
sm64coopdx is an online multiplayer project for the Super Mario 64 PC port that synchronizes all entities and every level for multiple players. The project was started by the Coop Deluxe Team. The purpose is to actively maintain and improve, but also continue sm64ex-coop, created by djoslin0. More features, customization, and power to the Lua API allow modders and players to enjoy Super Mario 64 more than ever!
Feel free to report bugs or contribute to the project.
Initial Goal (Accomplished)
Create a mod for the PC port where multiple people can play together online.
Unlike previous multiplayer projects, this one synchronizes enemies and events. This allows players to interact with the same world at the same time.
Interestingly enough though, the goal of the project has slowly evolved over time from simply just making a Super Mario 64 multiplayer mod to constantly maintaining and improving the project (notably the Lua API.)
Documentation
sm64coopdx is moddable via Lua, similar to Roblox and Garry's Mod's Lua APIs. To get started, click here to see the Lua documentation. If you want to contribute to the repo, you can view the C documentation here.
Wiki
The wiki is made using GitHub's wiki feature, you can go to the wiki tab or click here.
Community
We have an official Discord server open to the public here.
