# libsst / ZEngine **Version 0.6.0** | **762 Studios** | **WTFPL v2** A cross-platform C++ game engine library providing low-level system abstractions, math, networking, rendering, and an entity-component simulation framework. Originally developed circa 2011-2013. ## Modules ### Low-level C libraries (`libsst-*`) | Module | Description | |---|---| | **libsst-atomic** | Atomic operations for lock-free programming | | **libsst-concurrency** | Threads, mutexes, events, semaphores, read-write locks, TLS | | **libsst-crypto** | Hash functions and cryptographic utilities | | **libsst-glapi** | OpenGL 3.3 context management and function loading | | **libsst-math** | Vectors (2/3/4), matrices (2x2/3x3/4x4), geometry, transforms | | **libsst-net** | Cross-platform socket abstraction (TCP/UDP) | | **libsst-os** | File I/O, memory mapping, dynamic libraries, timing, CPU info | | **libsst-random** | Mersenne Twister, CMWC, small PRNG, simplex noise | | **libsst-wm** | Window creation, input events, OpenGL context, display modes | ### High-level C++ libraries | Module | Description | |---|---| | **ZUtil** | RAII wrappers around libsst, custom containers (ZArray, ZList, ZHashMap, ZRingBuffer, ZString), smart pointers, serialization (JSON, XML, INI, binary), logging, slab allocation, task streams | | **ZNet** | Client/server networking built on enet with packet channels, bandwidth metering, and peer management | | **ZRenderer** | OpenGL rendering abstraction: shaders, textures, data buffers, render targets, render state | | **ZRendererUtil** | Font rendering, particle systems, static mesh loading (assimp), tessellation, camera, transform hierarchies | | **ZSimulation** | Entity-component framework with fixed-timestep updates, entity messaging, property buffers, and network synchronization | ## Platform support - **OS:** Windows, Linux, macOS, Solaris, Android, Raspberry Pi - **Architectures:** x86, x86-64, ARM, IA64, MIPS, PPC, SPARC - **Compilers:** GCC, ICC, MSVC, Sun Pro ## Building (GNU Make, non-Windows) ```sh make release # release build for detected platform make debug # debug build make clean # clean artifacts ``` Output goes to `Bin//`. ## Third-party dependencies Bundled under `Lib/Include/`: - Box2D (physics) - CML (configurable math) - OpenAL / FMOD (audio) - assimp (model import) - enet (reliable UDP) - FreeType (font rasterization) - RapidXML (XML parsing) - ZSTL (custom STL containers) ## Tests ```sh make ztestsuite ``` Covers math types, containers, memory allocation, smart pointers, I/O, concurrency, random number generation, and noise. ## Authors James Russell, Patrick Baggett, Chris Ertel, and contributors at 762 Studios. ## License [WTFPL v2](http://www.wtfpl.net/) -- Do What The Fuck You Want To Public License.