Jacob Schmidt 9936d6ddc3
All checks were successful
Build / Build (push) Successful in 28s
feat: Enhance module documentation and features
This commit updates the documentation for several Forge modules, adding comprehensive details about their functionalities, user interfaces, and integration with other systems. Key enhancements include:

- Expanded descriptions for the Admin, Arsenal, Bank, Garage, Interaction, Locker, Medical, Organization, Service, Store, and other modules.
- Added new features such as financial operations, user interface improvements, and integration with organization systems.
- Improved clarity on usage instructions and configuration options across modules.

These changes aim to provide better guidance for users and developers interacting with the Forge client system.
2025-05-25 16:03:03 -05:00

114 lines
3.6 KiB
Markdown

# Forge Briefing Module
## Overview
The Briefing module provides a comprehensive presentation and lecture system for the Forge client. It includes features for creating interactive slideshows, managing presentations, and delivering lectures with synchronized audio and visual elements.
## Dependencies
- forge_client_main
## Authors
- J. Schmidt
- Creedcoder
- IDSolutions
## Features
### Presentation System
1. **Slide Show Management** (`fnc_initSlideShow.sqf`)
- Initializes interactive slide shows
- Configures display screens and controllers
- Sets up image sequences and timing
- Manages presentation flow and transitions
2. **Presentation Controls**
- **Start Slide Show** (`fnc_startSlideShow.sqf`)
- Initiates the presentation sequence
- Synchronizes audio and visual elements
- Manages presentation state
- **Next Image** (`fnc_nextImage.sqf`)
- Advances to the next slide
- Updates display screens
- Maintains presentation state
- **Previous Image** (`fnc_prevImage.sqf`)
- Returns to the previous slide
- Updates display screens
- Maintains presentation state
- **End Slide Show** (`fnc_endSlideShow.sqf`)
- Terminates the presentation
- Cleans up resources
- Resets presentation state
3. **Lecture System**
- **Spawn Lecture** (`fnc_spawnLecture.sqf`)
- Initiates AI-driven lectures
- Manages speaker animations
- Controls presentation timing
- **Spawn Presentation** (`fnc_spawnPresentation.sqf`)
- Creates automated presentations
- Manages slide timing
- Controls visual transitions
### Presentation Features
1. **Interactive Controls**
- Manual slide navigation
- Auto-scroll capability
- Presentation state management
- Speaker control integration
2. **Visual Elements**
- Multiple display screen support
- Synchronized image transitions
- Customizable timing
- Power-of-2 image optimization
3. **Audio Integration**
- Speaker synchronization
- Topic-based conversations
- Sentence-specific playback
- Multi-speaker support
## Event Handlers
The module uses several event handlers for initialization and execution:
- `XEH_preInit.sqf`: Pre-initialization setup
- `XEH_postInit.sqf`: Post-initialization tasks
- `XEH_preStart.sqf`: Pre-start configuration
- `XEH_postInit_client.sqf`: Client-specific post-initialization
- `XEH_preInit_server.sqf`: Server-specific pre-initialization
## Usage
To use the briefing module:
1. Ensure the module is properly loaded in your mission
2. Set up presentation screens and controllers
3. Configure slide shows or lectures:
```sqf
// Initialize a slide show
[Screen01, [Controller01], ["images/folder/image.paa"]] call forge_client_briefing_fnc_initSlideShow;
// Start a lecture
[player, "topic", "sentence"] call forge_client_briefing_fnc_spawnLecture;
// Create a presentation
[screen, [["texture.paa", 5]]] call forge_client_briefing_fnc_spawnPresentation;
```
4. Control the presentation using the provided functions
## Debugging
Debug mode can be enabled by uncommenting the following in `script_component.hpp`:
```cpp
#define DEBUG_MODE_FULL
```
## Version Information
Version information is managed through the main Forge client system configuration.
## Technical Details
- Support for multiple display screens
- Synchronized audio-visual presentations
- Interactive control system
- AI-driven lecture capabilities
- Power-of-2 image optimization
- State management for presentations
- Multi-speaker support
- Customizable timing controls
- Resource cleanup on completion
- Error handling and validation