GithubHelp home page GithubHelp logo

arxo / systemshock Goto Github PK

View Code? Open in Web Editor NEW

This project forked from interrupt/systemshock

0.0 0.0 0.0 26.79 MB

Shockolate - Same great System Shock, new great taste.

License: GNU General Public License v3.0

CMake 0.28% C 80.86% C++ 18.64% Shell 0.16% Batchfile 0.01% GLSL 0.03% Assembly 0.02%

systemshock's Introduction

Shockolate - System Shock, but cross platform!

Based on the source code for PowerPC released by Night Dive Studios, Incorporated.

Build Status TravisCI Build Status AppVeyor

GENERAL NOTES

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 including an OpenGL renderer and mod support!

Join our Discord to follow along with development: https://discord.gg/m45xPan

work so far

Prerequisites

  • Original cd-rom or SS:EE assets in a res/data folder next to the executable
    • Floppy disk assets are an older version that we can't load currently

Running

From a prebuilt package

Find a list of downloadable packages for Linux, Mac and Windows. 32 and 64 bit versions are available for Linux and Windows.

From source code

Prerequisites:

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

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)

If you find yourself needing to modify the build script for Shockolate itself, CMakeLists.txt is the place to look into.

Command line parameters

-nosplash Disables the splash screens, causes the game to start straight to the main menu

Modding Support

Shockolate supports loading mods and full on fan missions. Just point the executable at a mod file or folder and the game will load it in. So far mod loading supports additional .res and .dat files for resources and missions respectively.

Run a fan mission from a folder:

./systemshock /Path/To/My/Mission

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

systemshock's People

Contributors

danielgibson avatar donnierussellii avatar hunterz avatar icosahedral-dragon avatar inguin avatar interrupt avatar janisozaur avatar jpcima avatar laanwj avatar laastine avatar manpat avatar manuel-k avatar markkurikola avatar monreal avatar mrikola avatar nightdivestudios avatar oreo639 avatar rfht avatar rohit-n avatar shamazmazum avatar solidgriever avatar speachy avatar svkaiser avatar winterheart avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.