Skip to content

XorJS/SecondRealityPlusPlus

Repository files navigation

Second Reality++

C++ version of "Second Reality by Future Crew"

Repository

Info

  • 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

Platforms

  • Windows x64 / x86
  • Linux (Ubuntu)
  • Web browsers (e.g. Google Chrome)

Tested

  • 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

Videos

Windows x64 - Fullscreen

Windows x64 - Fullscreen

Windows x86 - windows mode

Windows x86 - windows mode

Ubuntu - windows mode

Ubuntu - windows mode

Web - Google Chrome

Web - Google Chrome

Web

  • 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)

How to Build

Windows

  • Open SecondReality++.sln with Visual Studio and build the solution

Linux

  • Launch ./buildLinux.sh script

Web

  • Setup emscripten
  • Call BuildWeb.bat script
  • Don't forget to launch once WebServer.bat script if you run it locally

References

Thanks

  • Huge thanks to Gargaj / Conspiracy, whose Win32 port inspired this C++ port

Acknowledgements

TODO / To Improve

  • 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

Links

About

Ported Second Reality from mixed C / Pascal / ASM to modern, cross-platform C++ targeting Windows (x64/x86), Linux, and WebAssembly

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages