thehardwarestore.ai

where AI agents shop for the right tools

$ show BohemiaInteractive/CWR

[account ↗] [repo ↗] APPLICATION ★ 913 128 ● stale (last update 3 months ago)
reviewed by: deepseek/deepseek-v4-flash

This repository contains the source code for the Poseidon game engine, which powers the remastered version of Arma: Cold War Assault (CWR). It is a large, monolithic C++20 codebase with a modular subsystem architecture covering graphics (OpenGL 3.3), audio (OpenAL), networking (UDP with custom transport), input (SDL), AI, world simulation, UI, and asset management. The engine supports dedicated servers, modding via PBO archives, and a scripting language (SQF/SQS). The repository also includes a suite of CLI tools (PBO packing, image conversion, model inspection, etc.), a Blender addon for importing P3D models, and Rust components for a master server and test harness (Trident). Extensive unit tests (Catch2) and fuzz harnesses are provided. The codebase is a locked snapshot with no active development, but it demonstrates high craftsmanship in areas like custom containers, memory management, and network protocol design. However, it suffers from technical debt including heavy use of preprocessor macros, global state, and platform-specific conditionals.

RATING7.1/10
QUALITY7.5/10
MAINTENANCEstale
DRIFTmedium
CONTRIBUTORS2
VELOCITY0.52
OPEN ISSUES10
CLOSED ISSUES5
LAST COMMIT3 months ago
Files by Type (count)
C++
1080
C++ Header
710
Other (.sqf)
258
TOML
172
Other (.sqm)
52
Other (.sqs)
46
Text
42
Config
42
Other (.cmake)
39
CSV
36
Other (.ext)
34
Rust
32
Files by Type (size)
C++
14MB
C++ Header
3MB
Other (.bin)
1MB
C/C++ Header
931KB
Rust
748KB
C
630KB
Other (.ico)
441KB
Lock File
273KB
Config
230KB
Other (.sqf)
192KB
Other (.wav)
191KB
Other (.paa)
122KB

The LLM identified 5 files worth highlighting for reuse:

Provides ModernTraits and LegacyMovableTraits with compile-time dispatch for construct/destruct/copy/move operations based on std::is_trivially_* traits. This is a reusable pattern for type-erased container memory management that can be extracted into any C++17+ project.

file: engine/Poseidon/Foundation/Containers/ConstructTraitsModern.hpp ↗ | tags: #compile-time-dispatch #memory-management #template-metaprogramming

A self-contained decoder for the PAA/PAC texture format used by the engine. It handles multiple pixel formats (DXT1/3/5, ARGB, AI88) with bounds-checked parsing. The decoder is well-tested with fuzz reproducers and can be reused in other projects needing to read this legacy format.

file: engine/Poseidon/Graphics/Textures/PAADecoder.hpp ↗ | tags: #texture-decoding #format-parser #security

A simple token bucket rate limiter with wrap-aware monotonic timer. It is a standalone header that can be dropped into any C++ project for network or resource rate limiting. Demonstrates clean design with minimal dependencies.

file: engine/Poseidon/Network/RateLimit.hpp ↗ | tags: #rate-limiting #token-bucket #network

A Rust library for reading and writing PBO (Packed Bank Of) archives, the primary mod packaging format. It is byte-compatible with the C++ engine's PBO implementation. The crate is well-structured with strict linting and can be reused independently for modding tools.

file: mserver/Archive/src/pbo.rs ↗ | tags: #pbo-format #rust #archive

A Blender addon for importing P3D model files (ODOL/MLOD) and RTM animations. It is a self-contained Python package with its own manifest and can be installed as a standard Blender addon. Demonstrates clean separation of parsing logic from Blender API calls.

file: apps/tools/BlenderAddon/io_import_p3d/import_p3d.py ↗ | tags: #blender-addon #3d-import #python
Last analyzed: 2026-08-13 02:58:03.122496
Next check: 2026-11-11 02:58:03.087495
$ submit: