mirror of
https://github.com/kevinbentley/Descent3.git
synced 2026-04-18 08:00:04 -04:00
9d08314986fd73a44a044e9b951da3a9af0edefa
Descent 3 is case-insensitive. It doesn’t matter if a file is named “ppics.hog” or “PPPICS.HOG”. Descent 3 will load the file regardless. In order to accomplish this, Descent 3 has to have special code for case-sensitive filesystems. That code must take a fake case-insensitive path and turn it into a real case-sensitive path. Before this change, there was multiple chunks of code that helped turn fake case-insensitive paths into real case-sensitive paths. There was cf_FindRealFileNameCaseInsenstive(), mve_FindMovieFileRealName() and a chunk of code in open_file_in_directory() that only exists if __LINUX__ is defined. This removes each of those pieces of code and replaces them with a new cf_LocatePath() function. Using the new cf_LocatePath() function has two main advantages over the old way of doing things. First, having a single function is simpler than having three different pieces of code. Second, the new cf_LocatePath() function will make it easier to create a future commit. That future commit will make Descent 3 look for files in more than just the -setdir directory. Having a single function that’s responsible for determining the true path of a file will make it much easier to create that future commit.
This is the Descent 3 open source engine, licensed under GPL-3.0. It includes the '1.5' patch written by Kevin Bentley and Jeff Slutter several years ago and brought to a stable condition by the Descent community.
In order to use this, you must provide your own game files. See the USAGE.md file for details about installation.
To build the game, follow build instructions in the BUILD.md file.
Build or runtime issues should be reported on our GitHub tracker.
Contributing
Anyone can contribute! We have an active Discord presence at Descent Developer Network. Patches should be submitted on GitHub.
Languages
C++
91.7%
C
7%
omnetpp-msg
1%
CMake
0.2%