engine/dep/README.md

2.5 KiB

Dependencies

This folder stores any code for external dependencies because my environment has been a nightmare under MSYS2 for years.

Separate per-target copies of dependencies may exist here as well, such as:

  • Dreamcast

All code under this folder is not mine and are licensed under their respective licenses.

Forked Dependencies

Some dependencies of mine rely on some modifications of the original dependencies for extra features or to function on other platforms.

  • nlohmann/json: Dreamcast only; requires some hacks for m4-single-only due to sizeof(float) == sizeof(double) (for prior toolchains, this allegedly changed but I still get a crash with an unmodified nlohmann/json)
    • this is a header-only project so its changes live locally under ./dep/dreamcast/include/nlohmann/
  • DanielChappuis/reactphysics3d: adds in support for float16/bfloat16/quantized uint16_t triangle meshes
    • Dreamcast requires some edits due to sizeof(int) != sizeof(int32) / sizeof(uint) != sizeof(uint32), extra compile flags, and disabling exceptions
  • simulant/GLdc: Dreamcast only; adds in support for float16/bfloat16/quantized uint16_t vertex data
  • GPUOpen-Effects/FidelityFX-FSR2: modifications required for compiling under GCC (despite being a soft-dependency that I'm not making use of anyways)
  • KallistiOS/KallistiOS: Dreamcast only; specifically commit e4171afb .
    • this version requires commenting out this line at kernel/arch/dreamcast/hardware/cdrom.c#L839 to boot under emulators (I've yet to test )
    • later version require compiling with kos-c++ instead of $(KOS_CCPLUS) and removing the -T/opt/dreamcast/kos/utils/ldscripts/shlelf.xc line when compiling the .elf, but crashes later during some maple initialization.
  • tvspelsfreak/texconv: For converting images to .dtex for the Dreamcast.
    • this is actually included to allow scene processing to automatically output processed .dtex textures...
    • ...or allow files to be converted on the fly on the Dreamcast (although this is a bad idea for large image files)