This commit renames the `companyGenerals` variable to `companyShareholders` to better reflect its intended purpose and usage within the codebase. The change affects the following files:
- `addons/main/config.cpp`: Renames the `companyGenerals` config entry to `companyShareholders`.
- `addons/init/functions/fnc_handleServerState.sqf`: Updates the variable name used when saving company state.
- `addons/db/functions/fnc_loadGameState.sqf`: Updates the variable name used when loading company state.
- `addons/db/functions/fnc_saveGameState.sqf`: Updates the variable name used when saving company state.
- `addons/init/functions/fnc_handleServerStateLoad.sqf`: Updates the variable name used when loading company state from the server.
This change ensures consistency and clarity in the codebase, making it easier to understand and maintain. The `companyGarageUnlocks` variable was also removed from the save/load functions as it was not being used.
This commit refactors the database system to improve persistence, functionality, and code clarity. The key changes include:
- **Removed direct store access:** Removed `createStore`, `getFromStore`, and `getStore` PREP macros.
- **Centralized store management:** Introduced a central store registry (`FORGE_STORE_REG`) managed by the database interface.
- **Namespace-based persistence:** Stores are now persisted in mission and profile namespaces instead of a global store.
- **Simplified load/save functions:** `loadFromMission`, `loadFromProfile`, `saveToMission`, `saveToProfile`, and `saveToTemp` functions are updated to use the new namespace-based persistence. They now accept a `keyField` parameter for retrieving specific fields within a key's data.
- **Refactored `processDBRequest`:** Updated to handle new request types and parameters, aligning with the refactored load/save functions.
- **Improved error handling:** Added more robust error handling and logging, including checks for empty store names and missing keys.
- **Removed client registration:** Removed client registration and cleanup logic as it's no longer needed with the new persistence model.
- **Updated `verifyDB`:** Simplified to directly return the store registry.
- **Updated `initDB`:** Refactored to use a HashMap object for the store interface and added more database functions.
- **Added .gitignore entries:** Added entries for Visual Studio and other common build artifacts.
- **Updated `loadGameState` and `saveGameState`:** Updated to support loading and saving game state to either mission or profile namespace.
This commit includes the following changes:
- Updates the build environment in the GitHub Actions workflow to use `ubuntu-latest` instead of `ubuntu-22.04`.
- Adds `playerGroup2Server` to the XEH_PREP.hpp file.
- Updates the picture path in CfgMods.hpp to include the file extension.