{"id":32741580,"url":"https://github.com/interrupt/systemshock","last_synced_at":"2025-11-03T11:02:42.872Z","repository":{"id":31946676,"uuid":"128867049","full_name":"Interrupt/systemshock","owner":"Interrupt","description":"Shockolate - A minimalist and cross platform System Shock source port.","archived":false,"fork":false,"pushed_at":"2025-10-01T16:22:45.000Z","size":27449,"stargazers_count":872,"open_issues_count":67,"forks_count":72,"subscribers_count":37,"default_branch":"master","last_synced_at":"2025-11-03T11:02:32.670Z","etag":null,"topics":["c","cross-platform","fps","games","immersive-sim","opengl","retro","sdl","systemshock"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"winterheart/systemshock","license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Interrupt.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"COPYING.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2018-04-10T03:14:35.000Z","updated_at":"2025-10-28T20:52:02.000Z","dependencies_parsed_at":"2024-01-03T03:57:54.951Z","dependency_job_id":"ab11a451-1ef5-48f8-b1aa-6f822cc8d2d4","html_url":"https://github.com/Interrupt/systemshock","commit_stats":null,"previous_names":[],"tags_count":20,"template":false,"template_full_name":null,"purl":"pkg:github/Interrupt/systemshock","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Interrupt%2Fsystemshock","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Interrupt%2Fsystemshock/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Interrupt%2Fsystemshock/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Interrupt%2Fsystemshock/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Interrupt","download_url":"https://codeload.github.com/Interrupt/systemshock/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Interrupt%2Fsystemshock/sbom","scorecard":{"id":67147,"data":{"date":"2025-08-11","repo":{"name":"github.com/Interrupt/systemshock","commit":"805f5647b0a751797702ed9555949548ec0dfc15"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":3.7,"checks":[{"name":"Code-Review","score":10,"reason":"all changesets reviewed","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Token-Permissions","score":-1,"reason":"No tokens found","details":null,"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Dangerous-Workflow","score":-1,"reason":"no workflows found","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: GNU General Public License v3.0: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Binary-Artifacts","score":9,"reason":"binaries present in source code","details":["Warn: binary detected: windows/make.exe:1"],"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Signed-Releases","score":0,"reason":"Project has not signed or included provenance with any releases.","details":["Warn: release artifact v0.8.2 not signed: https://api.github.com/repos/Interrupt/systemshock/releases/22950856","Warn: release artifact v0.8.1 not signed: https://api.github.com/repos/Interrupt/systemshock/releases/22938053","Warn: release artifact v0.8.0 not signed: https://api.github.com/repos/Interrupt/systemshock/releases/22536372","Warn: release artifact v0.7.7 not signed: https://api.github.com/repos/Interrupt/systemshock/releases/16626215","Warn: release artifact v0.7.6 not signed: https://api.github.com/repos/Interrupt/systemshock/releases/16420378","Warn: release artifact v0.8.2 does not have provenance: https://api.github.com/repos/Interrupt/systemshock/releases/22950856","Warn: release artifact v0.8.1 does not have provenance: https://api.github.com/repos/Interrupt/systemshock/releases/22938053","Warn: release artifact v0.8.0 does not have provenance: https://api.github.com/repos/Interrupt/systemshock/releases/22536372","Warn: release artifact v0.7.7 does not have provenance: https://api.github.com/repos/Interrupt/systemshock/releases/16626215","Warn: release artifact v0.7.6 does not have provenance: https://api.github.com/repos/Interrupt/systemshock/releases/16420378"],"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Pinned-Dependencies","score":-1,"reason":"no dependencies found","details":null,"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 30 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-15T02:51:06.260Z","repository_id":31946676,"created_at":"2025-08-15T02:51:06.260Z","updated_at":"2025-08-15T02:51:06.260Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":282445596,"owners_count":26670239,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-11-03T02:00:05.676Z","response_time":108,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["c","cross-platform","fps","games","immersive-sim","opengl","retro","sdl","systemshock"],"created_at":"2025-11-03T11:01:28.974Z","updated_at":"2025-11-03T11:02:42.866Z","avatar_url":"https://github.com/Interrupt.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"Shockolate - System Shock, but cross platform!\n============================\nBased on the source code for PowerPC released by Night Dive Studios, Incorporated.\n\n[![Build Status TravisCI](https://travis-ci.org/Interrupt/systemshock.svg?branch=master)](https://travis-ci.org/Interrupt/systemshock) [![Build Status AppVeyor](https://ci.appveyor.com/api/projects/status/5fmcswq8n7ni0o9j/branch/master?svg=true)](https://ci.appveyor.com/project/Interrupt/systemshock)\n\nGENERAL NOTES\n=============\n\nShockolate 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.\n\nThe 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!\n\nJoin our Discord to follow along with development: https://discord.gg/m45xPan\n\n![work so far](https://i.imgur.com/kbVWQj4.gif)\n\nPrerequisites\n=======\n  - Original cd-rom or SS:EE assets in a `res/data` folder next to the executable\n    - Floppy disk assets are an older version that we can't load currently\n\n\nRunning\n=======\n\n## From a prebuilt package\n\nFind 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.\n\n## From source code\n\nPrerequisites: \n- [CMake](https://cmake.org/download/) installed\n\nStep 1. Build the dependencies:\n* Windows: `build_win32.sh` or `build_win64.sh` (Git Bash and MinGW recommended)\n* Linux/Mac: `build_deps.sh` or the CI build scripts in `osx-linux`\n* Other: `build_deps.sh` \n\nStep 2. Build and run the game itself\n```\ncmake .\nmake systemshock\n./systemshock\n```\n\nThe following CMake options are supported in the build process:\n* `ENABLE_SDL2` - use system or bundled SDL2 (ON/BUNDLED, default BUNDLED)\n* `ENABLE_SOUND` - enable sound support (requires SDL2_mixer, ON/BUNDLED/OFF, default is BUNDLED)\n* `ENABLE_FLUIDSYNTH` - enable FluidSynth MIDI support (ON/BUNDLED/OFF, default is BUNDLED)\n* `ENABLE_OPENGL` - enable OpenGL support (ON/OFF, default ON)\n\nIf you find yourself needing to modify the build script for Shockolate itself, `CMakeLists.txt` is the place to look into.\n\n\nCommand line parameters\n============\n\n`-nosplash` Disables the splash screens, causes the game to start straight to the main menu\n\nModding Support\n============\nShockolate 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.\n\nRun a fan mission from a folder:\n```\n./systemshock /Path/To/My/Mission\n```\n\nRun a fan mission from specific files:\n```\n./systemshock my-archive.dat my-strings.res\n```\n\nControl modifications\n=======\n\n## Movement\n\nShockolate 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.\n\n## Additional hotkeys\n\n* `Ctrl+G` cycles between graphics rendering modes\n* `Ctrl+F` to enable full screen mode\n* `Ctrl+D` to disable full screen mode \n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Finterrupt%2Fsystemshock","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Finterrupt%2Fsystemshock","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Finterrupt%2Fsystemshock/lists"}