dethrace/docs/CODE_LAYOUT.md

1.6 KiB

Code layout

DETHRACE

Game logic. According to the symbol dump, these files were originally stored in C:\DETHRACE\src.

  • DETHRACE/common - common game logic
  • DETHRACE/pc-dos - DOS-specific functions
  • DETHRACE/win95sys.c - Windows-specific functions
  • DETHRACE/pd - platform-dependent generic headers.

All code here is kept as similar to how we think the original code might have looked. Any changes required are implemented as hooks into harness.

BRSRC13

Graphics rendering library. BRender, originally stored in C:\BRSRC13.

  • Stainless Software used their own build of BRender with unknown modifications.

All code here is kept as similar to how we think the original code might have looked. Any changes required are implemented as hooks into harness.

S3

Audio library. Possibly short for "Stainless Sound System"?! Supports at least two audio backends - SOS (DOS) and DirectSound.

_All code here is kept as similar to how we think the original code might have looked, with the addition of a small amount of code integrating miniaudio

smackw32

Implements the RAD Smacker lib interface. The implementation is backed by libsmacker.

harness

  • Provides functions that the original game logic calls to implement modern cross-platform support.
  • SDL2, OpenGL, miniaudio