Dethrace running multiplayer on MacOS and a #raspberrypi, neither of which were supported platforms of the original game.
The original code used IPX and assumed the same OS used by all clients (copying around raw `sockaddr_in` structs for example). #gamedev#reverseengineering
Testing out my #SDL2 hardware render driver with GLdc integration and SDL2 gamecontroller with @dethrace_labs Dethrace ported to the #dreamcast , need to improve the button mapping 😝
Link4Electronics in discord is testing dethrace on a PowerMac G5 (ppc64 architecture).
Little endian works fine, big endian not so much. Lots of instructions to pick apart to find where the code diverges, but I know we’ll make it work in the end 🙂 #reverseengineering#gamedev
another test @dethrace_labs port using my #dreamcast#SDL2 lib port,
had to use the flycast 32mb mod to get it to run, so need to do a lot more debugging :)
Dethrace v0.8.0 release is here! 23 fixes/features including a native MacOS bundle, CD music, software renderering, and limited support for network play. Includes work from 3 first-time contributors ❤️. Thank you all! github.com/dethrace-labs/det…#gamedev#reversengineering
Not intentional, but at some point I broke the pre-lit calculation in the software renderer and gave the Eagle a bit of a Sin City vibe. I wish I could remember what the bug was so I could recreate it. Looks cool! #reversengineering#gamedev
Checkpoint! The software renderer got "finished" enough to render all the triangle types needed for Carmageddon. We can now replace the homemade OpenGL renderer with full software mode and enable Carmageddon to run on an even wider set of devices! :)
#reverseengineering#gamedev
I was debugging _something_ here. Its all a bit of a haze of x86/x87 assembly now when I try and think back to where my mind was at...! Being able to switch on and off the different triangle rendering functions is pretty helpful #gamedev#reverseengineering
Pulling the updated BRender code back into dethrace and its now looking much closer to the original game. Road textures missing because they are 256x256 instead of 64x64 and, you guessed it, have a different code path that I haven't implemented yet #gamedev#reverseengineering
(1/4) Evolution of perspective-correct triangle rendering. Screwie's wheels are marked as perspective-correct, but #BRender cheats when it can depending on the viewing angle and renders with linear texture mapping when possible for performance. #gamedev#reverseengineering
(4/4) Perspective textured triangles! If you look really closely you can just about see when BRender switches between the linear cheat path and the proper perspective, but you'd never notice in game. #reversengineering#gamedev