DEX
Posted 4 days ago
At this point I’d been working on DEX for about a month and a half and was already super proud of the results. But I have this annoying habit where when something’s working really well, I give myself some masochistic goal to make an already cool project even cooler instead of just saying “I’m proud of this, this is good enough, let’s move on.”

So naturally I set my sights on something completely ridiculous that I wouldn’t be able to port in a million years: mupen64plus (specifically the LibRetro bindings). Not only does mupen64plus have an absolute shit-ton of code, but it’s also heavily reliant on weird shit like setjmp/longjmp, is notably broken in Emscripten, and makes use of OpenGL exclusively, no software rendering that I’m aware of.



And if that wasn’t hard enough, I wanted to do it without changing a single source file. I allowed myself to mod the makefiles and patch a few platform-specific things out to get coroutines working, but otherwise I made it my goal to get this working without changing a single line of the source.

(If you’re asking yourself “how the fuck…” at this point, hold all questions to the end.)