C++ version of "Second Reality by Future Crew"
- Ported Second Reality from mixed C / C++ / Pascal / ASM to modern, cross-platform C++ targeting Windows (x64/x86), Linux, and WebAssembly
- Big thanks to Gargaj / Conspiracy for releasing a 32-bit Windows (Win32) port
- After seeing this post on X, I forked and started this project (Second Reality++) and this one is based on the Win32 version
- More info about this Port
- Windows x64 / x86
- Linux (Ubuntu)
- Web browsers (e.g. Google Chrome)
- Windows: Win10/11 (x64 and x86 versions)
- Linux: Ubuntu
- Web: macOS(Safari), android, iOS, Windows(Chrome/Firefox/Edge), Ubuntu(Firefox/Chrome)
- For the web, Chrome is the best for the experience
-
Don't forget to tap or click on screen to enable the audio (Web browsers requirement)
-
iOS: Still no sound? Look at the button above the volume up (mute button)
- Open SecondReality++.sln with Visual Studio and build the solution
- Launch ./buildLinux.sh script
- Setup emscripten
- Call BuildWeb.bat script
- Don't forget to launch once WebServer.bat script if you run it locally
-
Original Windows 32bits Port: https://github.com/ConspiracyHu/SecondRealityW32
-
Original Source Code: https://github.com/mtuomi/SecondReality
The repositories above are included as Git submodules under the References/ folder
If you don't see the repos:
git submodule init git submodule update --init --recursive
- Huge thanks to Gargaj / Conspiracy, whose Win32 port inspired this C++ port
- Original code by
- Sami "PSI" Tammilehto
- Mika "Trug" Tuomi
- Arto "Wildfire" Vuori
- st3play v1.01 by Olav "8bitbubsy" Sørensen (https://16-bits.org)
- Switch to partial texture updates (DirectX/OpenGL) instead of full uploads
- Convert codebase to be more C++ (e.g. replace old C casting)
- Improve timing on Firefox for Web/WASM
- Split and create multiple files for graphics and audio (e.g. platforms)
- Unify primitive types like uint8_t versus unsigned char
- Reduce #ifdef



