# Forge Admin Module

## Overview
The Admin module provides administrative functionality for the Forge client system. It includes features for user management, messaging, and administrative controls.

## Dependencies
- forge_client_main

## Authors
- J. Schmidt
- Creedcoder
- IDSolutions

## Features

### Administrative Functions
1. **Admin Initialization** (`fnc_initAdmin.sqf`)
   - Initializes the admin system
   - Sets up necessary permissions and configurations

2. **Admin Interface** (`fnc_openAdmin.sqf`)
   - Opens the administrative user interface
   - Provides access to administrative controls

3. **User Management**
   - **Promotion** (`fnc_adminPromote.sqf`)
     - Handles user promotion to administrative roles
   - **Transfer** (`fnc_adminTransfer.sqf`)
     - Manages administrative role transfers
   - **Refresh** (`fnc_adminRefresh.sqf`)
     - Updates administrative permissions and states

4. **Communication**
   - **Admin Messages** (`fnc_adminMessage.sqf`)
     - Handles administrative messaging system

### User Interface
The module includes two main UI components:
1. **RscCommon.hpp**
   - Common UI elements and definitions
2. **RscAdmin.hpp**
   - Administrative interface specific elements

## 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

## Usage
To use the admin module:
1. Ensure the module is properly loaded in your mission
2. Access administrative functions through the provided UI
3. Use appropriate administrative commands based on your role

## 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. 