# OpenClaw **Repository Path**: Amayer/OpenClaw ## Basic Information - **Project Name**: OpenClaw - **Description**: No description available - **Primary Language**: Unknown - **License**: GPL-3.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-03-07 - **Last Updated**: 2026-03-07 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # OpenClaw - Captain Claw (1997) reimplementation - This project is a multiplatform C++ reimplementation of original Captain Claw (1997) platformer game - Whole codebase was written from scratch - Game uses assets from original game archive (CLAW.REZ) **Level 1 youtube playthrough:** [![OpenClaw - Level 1](https://img.youtube.com/vi/ikXQNV_aw68/0.jpg)](https://www.youtube.com/watch?v=ikXQNV_aw68) # Build status ### Windows: [![Build Status](https://ci.appveyor.com/api/projects/status/github/pjasicek/OpenClaw?svg=true)](https://ci.appveyor.com/project/pjasicek/captainclaw) ### Linux (debian), macOS, Windows, Android, Emscripten: [![Build Status](https://travis-ci.org/pjasicek/OpenClaw.svg?branch=master)](https://travis-ci.org/pjasicek/OpenClaw) ### Static analysis / Code coverage: [![Static analysis](https://scan.coverity.com/projects/12422/badge.svg?flat=1)](https://scan.coverity.com/projects/pjasicek-captainclaw) # Tech - SDL2 Libraries (SDL2, SDL_Image, SDL_TTF, SDL_Mixer, SDL2_Gfx) for graphics, input, font and audio - Box2D Library for Physics - Tinyxml library for data-driven approach # Building and running For all platforms you will need original `CLAW.REZ` game archive in `Build_Release` directory from original game Zip all content inside `Build_Release/ASSETS` directory to `ASSETS.ZIP` file. ### Windows - Project contains VS2017 solution with all libraries and include directories preset - Project also contains CMake files if you want to use other IDEs. ```shell script mkdir build cd build cmake -G "Visual Studio 15 2017" .. msbuild OpenClaw.sln # Or cmake -G "NMake Makefiles" .. nmake ``` - Box2D is generated by CMake and it hardcodes the file paths. If you want to compile it on your own, you must run CMake on the CMakeLists.txt in the Box2D root directory - Do not try to use different versions of SDL libraries than the ones which are already included in the Build_Release folder ### Linux **Prerequisites for Ubuntu 16.04 (should be almost identical for Fedora/CentOS/*):** ```shell script sudo apt install libsdl2-dev libsdl2-image-dev libsdl2-mixer-dev libsdl2-ttf-dev libsdl2-gfx-dev ``` You could also install `libtinyxml-dev` but this library will be compiled and linked from `ThirdParty/Tinyxml` directory. Edit root `CMakeLists.txt` file to change this behaviour. **Compilation:** - `git clone https://github.com/pjasicek/OpenClaw.git` - CLAW.REZ iz required from original game in the OpenClaw/Build_Release folder - Use `cmake` to build fresh Makefile. There is no need specific arguments. - `make` (it's going to use all threads to compile, edit Makefile in Build_Release folder to whatever number of simultaneous threads you want it on your machine to run) **Remarks:** - For hearing background music play, you need to install **timidity (or timidity++)** and **freepats**. Some linux distributions come with it by default, some do not (fedora, archlinux) - Does not work with SDL 2.0.6 - if you have the latest one from repository, you should be fine ### Android - Compilation / Deployment steps will be updated in near future, game itself is successfully running on Android ### WebAssembly (Emscripten) The project can be compiled as wasm code. This code is executed by modern web browsers without any additional runtime dependencies. Compiled once this code can work on any devices with different operation systems. **Compilation:** - Install [Emscripten SDK](https://emscripten.org/docs/getting_started/downloads.html) from official website. I'm not sure that compilation will be successful on a Windows platform. If you use Windows then don't show off, enable Windows Subsystem for Linux (WSL), download Linux-like system (for example, Ubuntu) from Windows Store and install Emscripten SDK. It should be something like: ```shell script git clone https://github.com/emscripten-core/emsdk.git cd emsdk ./emsdk install latest ./emsdk activate latest source ./emsdk_env.sh # Try to use latest version. # If it doesn't work the project was successfully compiled on 1.39.11 version. ``` - Make sure you have *python* and *cmake* packages. Ubuntu: `sudo apt install python cmake`. - Make sure you have fresh `ASSETS.ZIP` and `CLAW.REZ` files in `Build_Release` directory. - Compile: ```shell script mkdir build cd build emcmake cmake -DEmscripten=1 .. # -DExtern_Config=0 parameter includes config.xml file in game resources make ``` **Run:** You will need web server to run compiled project. There are 2 options: - You can upload `openclaw.html`, `openclaw.js`, `openclaw.wasm` and `openclaw.data` (and `config.xml` if you build the project without `-DExtern_Config=0` parameter) files from `Build_Release` directory to any web server. - Or run Python server: ```shell script cd Build_Release python -m SimpleHTTPServer 8080 # Go to http://localhost:8080/openclaw.html ``` **Remarks:** There are some limitations: - Some old web browsers does not support WebAssembly code. *Hi Internet Explorer!* - Some web browsers does not support `.wav` file formats. *Microsoft? Again?* - All web browsers does not support `.xmi` (MIDI) file formats. This files should be converted to another compatible formats. **All MIDI audio are disabled for now**. - Some specific `SDL_Mixer` audio functions aren't implemented (*you can find it by `TODO: [EMSCRIPTEN]` search query*) but the game is playable. - Death and teleport fade in effects are broken. Emscripten erases graphic buffer after each draw call. Do not use buffer from previous calls. - There is a [FireFox bug](https://bugzilla.mozilla.org/show_bug.cgi?id=1292053) with a very long story which doesn't allow to prevent ALT default actions. ALT key presses will open window menu. Workarounds: - Contribute to Mozilla and finally close this bug. - Use fullscreen mode. - Disable default ALT actions in FireFox `about:config` properties. # In-game images - **TODO** - add screenshots # Claw Launcher - Precompiled for Windows natively and for Linux use through Mono runtime - Locates Claw binary and corresponding config.xml file - Provides GUI to modify configuration (Video/Audio/Assets) ### For Linux **Prerequisites for Ubuntu 16.04 (should be almost identical for Fedora/CentOS/*):** `sudo apt install mono-runtime libmono-system4.0-cil libmono-system-windows-forms4.0-cil` **Then run it like this:** `~/OpenClaw/Build_Release$ mono ClawLauncher.exe` - **TODO** - add screenshots