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
..
2025-01-01 14:35:12 -06:00
2025-01-01 14:35:12 -06:00
2025-01-01 14:35:12 -06:00
2025-01-01 14:35:12 -06:00
2025-01-01 14:35:12 -06:00
2025-01-01 14:35:12 -06:00
2025-01-01 14:35:12 -06:00
2025-01-01 14:35:12 -06:00
2025-01-01 14:35:12 -06:00
2025-01-01 14:35:12 -06:00

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:
    // 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:

#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