Jacob Schmidt 07d5422091 Refactor task management system with object prototypes and enhanced logging
- Updated fnc_extCall.sqf to suppress logging for specific functions.
- Added object model prototypes for task instances in prototypes/taskObjectPrototypes.sqf.
- Enhanced README.md to document the new object model and its purpose.
- Modified XEH_postInit.sqf to improve event handling for defuse tasks.
- Updated various task functions (fnc_attack, fnc_defend, fnc_defuse, fnc_delivery, fnc_destroy, fnc_heartBeat, fnc_hostage, fnc_hvt) to include task acceptance checks.
- Improved fnc_makeHostage and fnc_makeIED to ensure proper task registration and state management.
- Introduced new methods in task object prototypes for better state management and task flow control.
2026-04-28 23:04:22 -05:00
..

Forge Server Extension

Overview

The extension addon is the SQF bridge to the forge_server arma-rs extension. It normalizes callExtension responses, routes large payloads through the transport layer, and exposes helper functions used by extension-backed server addons.

Dependencies

  • forge_server_main

Main Components

  • fnc_extCall.sqf is the primary extension call wrapper.
  • fnc_transport.sqf stages large requests and assembles chunked responses.
  • fnc_setHandler.sqf registers local SQF handlers for extension callback integration.

Transport Behavior

Most commands use direct callExtension. Commands that can return large payloads, or requests whose encoded arguments exceed the chunk threshold, are routed through transport:invoke or staged transport requests.

The wrapper falls back to direct calls if the transport route is unsupported and the request was not chunked.

Notes

Domain addons should call EFUNC(extension,extCall) instead of calling the extension directly. This keeps response handling, chunking, and error logging consistent.