Most files in this repo assume that tabs are 8 characters wide and use 2
spaces for indentation. Most people’s editors aren’t configured to do
that by default. This can lead to indentation mistakes [1].
The main motivation behind this change is to make indentation mistakes
less likely. Many editors [2] will automatically use whatever
indentation settings are in the EditorConfig file.
On an unrelated note, the EditorConfig that this commit adds includes a
tab_width property. This comment in cfile/cfile.h was the inspiration
for specifying the tab_width property:
// Opens a HOG file. Future calls to cfopen(), etc. will look in this HOG.
// Parameters: libname - the path & filename of the HOG file
// NOTE: libname must be valid for the entire execution of the program. Therefore, it should either
// be a fully-specified path name, or the current directory must not change.
// Returns: 0 if error, else library handle that can be used to close the library
int cf_OpenLibrary(const char *libname);
When tab_width is set to 8, the first “libname” lines up with the second
“libname”, and the m in “must” lines up with the b in “be”. When
tab_width is set to its default value (4 in this case [3]), the first
“libname” doesn’t line up with anything, and the second “libname” lines
up with the b in “be”. It just looks more correct when tab_width is set
to 8.
[1]: <https://github.com/DescentDevelopers/Descent3/pull/372#issuecomment-2122445826>
[2]: <https://editorconfig.org/#pre-installed>
[3]: <https://spec.editorconfig.org/#supported-pairs>
Join the license header with historical comments using a separator so IDEs can correctly parse the initial header.
Also use .gitattributes to ensure all files are LF.