summaryrefslogtreecommitdiff
path: root/README.txt
diff options
context:
space:
mode:
Diffstat (limited to 'README.txt')
-rw-r--r--README.txt64
1 files changed, 64 insertions, 0 deletions
diff --git a/README.txt b/README.txt
new file mode 100644
index 0000000..572b019
--- /dev/null
+++ b/README.txt
@@ -0,0 +1,64 @@
+BOWSHOCK
+
+# CHANGELOG
+
+Read: "CHANGELOG.txt"
+
+# COMPILATION
+
+Bowshock uses CMake as its build system. The standard option CMAKE_-
+BUILD_TYPE may be set to either "Release" or "Debug", depending on the
+build type.
+
+The program is written in C2x, and a conforming compiler is therefore
+required. It has been tested to work with GCC 12.2 and Clang 15.0, but
+the option BOW_C2X_COMPATIBILITY may have to be set to "true" when
+invoking CMake.
+
+Before compilation, an appropriate GLAD loader must be downloaded from
+a web instance. I use the one on dav1d.de, with the following settings:
+
+<https://glad.dav1d.de/#language=c&specification=gl&api=gl%3D4.0&api=gles1%3Dnone&api=gles2%3Dnone&api=glsc2%3Dnone&profile=core&loader=on>
+
+The script "extractGlad.sh" will extract "glad.zip" (or any other ar-
+chive - if specified) to "glad". It also copies a CMAKE lists file to
+the directory, and CMake will automatically include this and build
+GLAD.
+
+Before running - however - the data directory must be installed. This
+can be done via the installation script "install.sh":
+
+./install.sh data [data directory]
+
+## DEVELOPMENT
+
+The commands I use for development are:
+
+clear && \
+rm -fr build && \
+rm -fr bindir && \
+rm -fr datdir && \
+./validateShaders.py && \
+./extractGlad.sh && \
+cmake -Bbuild -DBOW_DATA_DIRECTORY="${PWD}/datdir" -DCMAKE_BUILD_TYPE=Debug . && \
+cmake --build build && \
+./install.sh data "${PWD}/datdir" && \
+build/bowshock/bowshock --skip
+
+## SHADER VALIDATION
+
+The shaders at bowshock/shader may be validated using the Python-
+script "validateShaders.py". If the shaders contain errors, and these
+are not fixed before installation, the program will fail to compile
+them during run-time, but the errors will not be diagnosed.
+
+## INSTALLATION
+
+The script "install.sh" will install the executable, the assets, the
+shaders... to the specified directories:
+
+./install.sh [build directory] [binary directory] [data directory]
+
+# CREDITS
+
+Read: "CREDITS.txt"