From c72aea079a995811de9f66e2308376bd33356444 Mon Sep 17 00:00:00 2001 From: mrikola Date: Tue, 31 Dec 2019 03:46:58 +0200 Subject: [PATCH] Bring readme files up to date --- .travis.yml | 1 - README.md | 54 +++++++++++++++++++++++------------ appveyor.yml | 7 ++--- osx-linux/readme_osx_linux.md | 2 +- readme/readme-linux.txt | 24 ---------------- readme/readme-osx.txt | 24 ---------------- readme/readme-windows.txt | 24 ---------------- windows/readme_windows.md | 11 ------- 8 files changed, 39 insertions(+), 108 deletions(-) delete mode 100644 readme/readme-linux.txt delete mode 100644 readme/readme-osx.txt delete mode 100644 readme/readme-windows.txt delete mode 100644 windows/readme_windows.md diff --git a/.travis.yml b/.travis.yml index ffd850853..2629835ce 100644 --- a/.travis.yml +++ b/.travis.yml @@ -66,7 +66,6 @@ before_deploy: - cp osx-linux/run_$TRAVIS_OS_NAME.sh shockolate/run.sh - cp -r shaders shockolate/ - cp -r res shockolate/ - - cp readme/readme-$TRAVIS_OS_NAME.txt shockolate/readme.txt - tar zcfv $PACKAGE_NAME shockolate - rm -r shockolate diff --git a/README.md b/README.md index e56928a44..963943d7e 100644 --- a/README.md +++ b/README.md @@ -21,37 +21,35 @@ Prerequisites - Floppy disk assets are an older version that we can't load currently -Downloads +Running ======= -We have CI systems in place building [distributable packages](https://github.com/Interrupt/systemshock/releases/) out of tagged commits for Linux, Mac and Windows. +## From a prebuilt package -Compiling / Running -============ +Find a list of [downloadable packages](https://github.com/Interrupt/systemshock/releases/) for Linux, Mac and Windows. 32 and 64 bit versions are available for Linux and Windows. + +## From source code -## Prerequisites - - SDL2, 32 bit - - SDL2_mixer, 32 bit +Step 1. Build the dependencies: +* Windows: `build_win32.sh` or `build_win64.sh` (Git Bash and MinGW recommended) +* Linux/Mac: `build_deps.sh` or the CI build scripts in `osx-linux` +* Other: `build_deps.sh` -## Building SDL -### Linux/Mac -You can use the included `build_deps.sh` shell script to build the required versions of SDL2 / SDL2_mixer or use system ones. -Here brief options list: +Step 2. Build and run the game itself +``` +cmake . +make systemshock +./systemshock +``` +The following CMake options are supported in the build process: * `ENABLE_SDL2` - use system or bundled SDL2 (ON/BUNDLED, default BUNDLED) * `ENABLE_SOUND` - enable sound support (requires SDL2_mixer, ON/BUNDLED/OFF, default is BUNDLED) * `ENABLE_FLUIDSYNTH` - enable FluidSynth MIDI support (ON/BUNDLED/OFF, default is BUNDLED) * `ENABLE_OPENGL` - enable OpenGL support (ON/OFF, default ON) -### Windows -See [the Windows readme](windows/readme_windows.md). +If you find yourself needing to modify the build script for Shockolate itself, `CMakeLists.txt` is the place to look into. -## Build and run -``` -cmake . -make systemshock -./systemshock -``` Command line parameters ============ @@ -71,3 +69,21 @@ Run a fan mission from specific files: ``` ./systemshock my-archive.dat my-strings.res ``` + +Control modifications +======= + +## Movement + +Shockolate replaces the original game's movement with WASD controls, and uses `F` as the mouselook toggle hotkey. This differs from the Enhanced Edition's usage of `E` as the mouselook hotkey, but allows us to keep `Q` and `E` available for leaning. + +## Additional hotkeys + +* `Ctrl+G` cycles between graphics rendering modes +* `Ctrl+F` to enable full screen mode +* `Ctrl+D` to disable full screen mode + +## Missing hotkeys + +* `F1..F10` for the side MFD's +* `0..9` for the Hacker's hardware diff --git a/appveyor.yml b/appveyor.yml index b030a1545..f80c0b1a6 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -17,8 +17,8 @@ platform: # Avoid rebuilding external dependencies (ie. SDL and SDL_mixer) # Uncache build_ext if external deps change cache: -# - res/music.sf2 -# - build_ext + - res/music.sf2 + - build_ext # Set up environment variable values for 32 and 64 bit builds @@ -67,8 +67,7 @@ after_build: - copy build_ext\built_sdl_mixer\bin\SDL*.dll . - copy build_ext\built_glew\lib\glew32.dll . - copy build_ext\fluidsynth-lite\src\libfluidsynth.dll . - - copy readme\readme-windows.txt readme.txt - - 7z a %ARTIFACT% systemshock.exe *.dll readme.txt shaders/ res/ + - 7z a %ARTIFACT% systemshock.exe *.dll shaders/ res/ artifacts: - path: systemshock-x86.zip diff --git a/osx-linux/readme_osx_linux.md b/osx-linux/readme_osx_linux.md index 83bbe6e00..03ec735ff 100644 --- a/osx-linux/readme_osx_linux.md +++ b/osx-linux/readme_osx_linux.md @@ -2,5 +2,5 @@ Shockolate - Portable System Shock ============ 1. Copy `res/` folder of original System Shock to this directory -2. Shockolate depends on SDL2. Install SDL2 and SDL2_mixer by running `./install_sdl.sh`. Linux needs sudo for this script. +2. Install SDL2, SDL2_mixer and Fluidsynth by running `./install_bit_sdl.sh` where `` is 32 or 64, depending on your system capabilities. Linux needs `sudo` for this script. 3. Run Shockolate `./run.sh` diff --git a/readme/readme-linux.txt b/readme/readme-linux.txt deleted file mode 100644 index 9920e128b..000000000 --- a/readme/readme-linux.txt +++ /dev/null @@ -1,24 +0,0 @@ -Shockolate - Same great System Shock, new great taste! -https://github.com/Interrupt/systemshock - -Based on the source code for PowerPC released by Night Dive Studios, Incorporated. - -Shockolate is a cross platform source port of System Shock, using SDL2. -This runs well on OSX, Linux, and Windows right now, with some missing features -that need reviving due to not being included in the source code that was released. - -The end goal for this project is something like what Chocolate Doom is for Doom: an -experience that closely mimics the original, but portable and with some quality of life -improvements - and mod support! - -Join our Discord to follow along with development: https://discord.gg/m45xPan - -# Setup! -This requires the game files in a "res/data" folder next to the exe. - -There is basic midi music support if there are exported .mid files in /res/music/ like 'thm0.mid'. -Try this example music pack made of Chicajo MIDIs: https://drive.google.com/open?id=18KhiHpmPHGuTedMCPifnox2DWLd2GnCW - -# Mod support! -You can point the game at Fan Mission folders or files via the command line: -./systemshock /Path/To/My/Mission \ No newline at end of file diff --git a/readme/readme-osx.txt b/readme/readme-osx.txt deleted file mode 100644 index 9920e128b..000000000 --- a/readme/readme-osx.txt +++ /dev/null @@ -1,24 +0,0 @@ -Shockolate - Same great System Shock, new great taste! -https://github.com/Interrupt/systemshock - -Based on the source code for PowerPC released by Night Dive Studios, Incorporated. - -Shockolate is a cross platform source port of System Shock, using SDL2. -This runs well on OSX, Linux, and Windows right now, with some missing features -that need reviving due to not being included in the source code that was released. - -The end goal for this project is something like what Chocolate Doom is for Doom: an -experience that closely mimics the original, but portable and with some quality of life -improvements - and mod support! - -Join our Discord to follow along with development: https://discord.gg/m45xPan - -# Setup! -This requires the game files in a "res/data" folder next to the exe. - -There is basic midi music support if there are exported .mid files in /res/music/ like 'thm0.mid'. -Try this example music pack made of Chicajo MIDIs: https://drive.google.com/open?id=18KhiHpmPHGuTedMCPifnox2DWLd2GnCW - -# Mod support! -You can point the game at Fan Mission folders or files via the command line: -./systemshock /Path/To/My/Mission \ No newline at end of file diff --git a/readme/readme-windows.txt b/readme/readme-windows.txt deleted file mode 100644 index ce35d679c..000000000 --- a/readme/readme-windows.txt +++ /dev/null @@ -1,24 +0,0 @@ -Shockolate - Same great System Shock, new great taste! -https://github.com/Interrupt/systemshock - -Based on the source code for PowerPC released by Night Dive Studios, Incorporated. - -Shockolate is a cross platform source port of System Shock, using SDL2. -This runs well on OSX, Linux, and Windows right now, with some missing features -that need reviving due to not being included in the source code that was released. - -The end goal for this project is something like what Chocolate Doom is for Doom: an -experience that closely mimics the original, but portable and with some quality of life -improvements - and mod support! - -Join our Discord to follow along with development: https://discord.gg/m45xPan - -# Setup! -This requires the game files in a "res/data" folder next to the exe. - -There is basic midi music support if there are exported .mid files in /res/music/ like 'thm0.mid'. -Try this example music pack made of Chicajo MIDIs: https://drive.google.com/open?id=18KhiHpmPHGuTedMCPifnox2DWLd2GnCW - -# Mod support! -You can point the game at Fan Mission folders or files via the command line: -systemshock.exe /Path/To/My/Mission diff --git a/windows/readme_windows.md b/windows/readme_windows.md deleted file mode 100644 index b33303ec6..000000000 --- a/windows/readme_windows.md +++ /dev/null @@ -1,11 +0,0 @@ -Compiling Shockolate on Windows -============ - -## Prerequisites - - Git Bash, 32 bit - **NOTE**: Must be installed in a path without spaces - - MinGW with G++ installed - -## Building -The regular `build_deps.sh` is replaced with a `build_windows.sh` file. When run from the **Git Bash shell**, it will install SDL2 and SDL2_mixer, followed by retrieving CMake if an installation is not found on `PATH`. - -Finally, a `build.bat` to be run in a **Windows shell** is composed for convenience.