Jacob Schmidt 827f3303a2 feat: add initial Docus setup and sync tool for documentation generation
- Created package.json for Docus with necessary scripts and dependencies.
- Implemented sync-docus-docs.mjs to automate the generation of documentation files from source markdown.
- Defined mappings for generated pages and virtual routes to ensure proper linking in documentation.
- Added static content files for the documentation structure, including navigation and index pages.
2026-04-21 16:07:27 -05:00

2.0 KiB

Client Main Usage Guide

The client main addon provides the shared mod identity, version metadata, CBA settings, and macro foundation used by the Forge client addons.

Purpose

Use forge_client_main as the foundation dependency for client addons that need Forge macros, function naming, settings, or mod-level configuration.

Feature logic should stay in the owning addon. main should remain limited to shared client configuration and compile infrastructure.

Key Files

<th>
  Purpose
</th>
<td>
  Client mod identity.
</td>
<td>
  Client mod version values.
</td>
<td>
  Shared client macros.
</td>
<td>
  Client CBA settings.
</td>
<td>
  Addon config and mod wiring.
</td>
File
script_mod.hpp
script_version.hpp
script_macros.hpp
CfgSettings.hpp
config.cpp

Dependency Pattern

Feature addons normally depend on forge_client_main in their config.cpp.

class forge_client_example {
    requiredAddons[] = {
        "forge_client_main"
    };
};

Usage Notes

  • Put domain UI, repositories, and event handling in feature addons.
  • Put reusable browser bridge behavior in forge_client_common.
  • Put server-only behavior in arma/server/addons.
  • Keep settings in CfgSettings.hpp when they apply to the client mod as a whole or to a client feature toggle.