- Deleted `moonsharp-lua-integration.md` as it is no longer relevant.
- Removed `scripting-language-support.md` to streamline documentation.
- Eliminated `game_assembly_analysis.md` to avoid confusion with current architecture.
- Cleared `README.md` in `lib/references` to prevent outdated instructions.
- Removed `modding_core_architecture_summary.md` to simplify the documentation structure.
- Deleted `CHANGELOG.md` in `publish_full` to maintain a clean repository.
- Cleared `README.md` in `publish_full` to remove obsolete information.
Update project structure and versioning
- Updated `gregCore.csproj` to version `1.0.0.40-pre`.
- Modified `gregCore.sln` to include new project structure with multiple components.
- Disabled IMGUI drawing in Core.cs for Unity 6 stability.
- Consolidated GregCoreMod and DataCenterModLoaderMod into a single GregCoreMod class for better organization and clarity.
- Updated GregBootstrapper to use a boolean flag for hook integration.
- Simplified HookIntegration class by removing unnecessary fields and methods, focusing on essential functionality.
- Updated PlayerPatch and ShopPatch to emit hooks using string representation for better compatibility.
- Introduced ModMenu and GregHardwareID classes for centralized mod configuration and unique object identification.
- Enhanced GregDevConsole for improved logging and UI management.
- Added legacy shims for backward compatibility with older mods.
- Improved UI management with CanvasGroup for better input handling.
- Updated QoL settings to allow for a range in slider values.
feat(CommonShop): Add custom shop item registration and checkout handling
feat(CommonShop): Create CustomShopItem class for better item management
feat(CommonShop): Develop ShopAPI for injecting custom items into the shop
feat(FasterSFP): Introduce faster SFP modules with custom speeds and prices
feat(NoMoreEOL): Add patch to control visibility of error warning signs
feat(QoL): Implement various quality of life improvements including shop layout fixes and item deletion
refactor(Sdk): Create legacy event dispatcher for backward compatibility
- Added HardwareIdPersistencePatch to manage unique IDs for NetworkSwitch, PatchPanel, and Server.
- Introduced CleanId method to sanitize device IDs and prevent duplicates.
- Implemented legacy ID mapping in MapDataHealing to update old IDs to new formats.
- Created OverlayManager for centralized control of UI overlays and raycast blocking.
- Developed NoMoreEOL module to prevent servers and switches from reaching end-of-life, with auto-repair features.
- Integrated in-game configuration options for user customization.
- Implemented TechnicianHiring class to register and manage extra technician employees.
- Defined a struct TechDef to encapsulate technician properties such as ID, name, description, salary, and required reputation.
- Added methods for initializing technicians, handling hiring and firing events, and restoring technicians on load.
- Included logging for tracking registration, hiring, firing, and restoration processes.
- Implemented ShopPatch to emit a checkout event when the checkout button is pressed.
- Created TimePatch to track and emit events when a game day ends, including both canonical and legacy event emissions.
- Added GregEventDispatcher class for managing event subscriptions and emissions.
- Integrated event bus functionality for mod communication.
feat: Introduce GregCoreConfig for configuration management
- Created GregCoreConfig class to manage application-wide settings, including debug mode.
feat: Develop WallRack mod with initialization and logging
- Implemented Main class for WallRack mod with initialization and shutdown logging.
- Integrated logging functionality for various mod events.
feat: Enhance logging capabilities with GregLogger and GregModLogger
- Developed GregLogger for general logging and GregModLogger for mod-specific logging.
- Added structured logging methods for different log levels and actions.
feat: Create WallRack integration for wall management
- Implemented GregWallRegistry for managing wall grids and devices.
- Developed GregWallGrid and GregWallSlot for grid and slot management.
- Added GregWallDevice for device representation and mounting logic.
feat: Implement undo/redo functionality for wall actions
- Created GregWallUndoRedoService to manage undo and redo actions for wall modifications.
- Defined action records for mounting, unmounting, and swapping devices.
feat: Integrate wall placement controller for user interactions
- Developed GregWallPlacementController to handle wall build mode and user interactions.
- Implemented methods for mounting, unmounting, and swapping devices in the wall grid.
feat: Add save/load functionality for wall state
- Implemented WallSaveIntegration for saving and loading wall states using LiteDB.
- Created data models for wall and mounted device states.
feat: Enhance UI settings for WallRack mod
- Developed GregSettingsHubWallRackTab for managing mod settings and user preferences.
- Integrated feature guards to disable settings based on game state.
fix: Address various bugs and improve stability
- Fixed issues related to device mounting and grid management.
- Improved error handling and logging for better debugging.
- JavaScript example now subscribes to greg.PLAYER.CoinChanged hook
- Python example simplified and updated to use hook system
- Go example restructured with proper hook callback implementation
- Rust example extended with on_hook API usage and cleanup functions
- All examples now demonstrate bidirectional communication with the core system
Add comprehensive documentation for mod developers using the gregCore Hook API. The tutorials cover subscribing to and firing hooks for each supported language (Lua, Python, Go, and Rust), including code examples and troubleshooting guidance.
Initialize the DataCenter-RustBridge submodule to integrate the Rust bridge plugin for the DataCenter project. This enables using the external Rust-based components as a git submodule.
- Replaced 'P' keybind with 'F8' to avoid conflicts with the default pause menu functionality in the game.
💘 Generated with Crush
Assisted-by: Gemini 3.1 Pro (Optimized for Coding Agents) via Crush <crush@charm.land>
- Replaced `GUILayout.TextField` with `GUI.TextField` combined with `GUILayoutUtility.GetRect` to avoid stripped method overload exceptions in Unity 6 IL2CPP builds.
💘 Generated with Crush
Assisted-by: Gemini 3.1 Pro (Optimized for Coding Agents) via Crush <crush@charm.land>
- Created `economy` category in hooks library docs
- Added pages for `greg.economy.PlayerCoinUpdated`, `greg.economy.PlayerXpUpdated`, and `greg.economy.PlayerReputationUpdated`
💘 Generated with Crush
Assisted-by: Gemini 3.1 Pro (Optimized for Coding Agents) via Crush <crush@charm.land>
- Copied new greg_hooks.json from gregExtractor to assets
- Implemented `OnXpUpdated` and `OnReputationUpdated` patches in `PlayerPatch.cs`
- Registered new harmony patches in `HookIntegration.cs`
💘 Generated with Crush
Assisted-by: Gemini 3.1 Pro (Optimized for Coding Agents) via Crush <crush@charm.land>
- Update PlayerPatch.cs parameters to match Harmony naming conventions (`__instance`, `_coinChhangeAmount`)
- Update Deploy-Release-ToWorkshop.ps1 to copy `greg_hooks.json` to the framework's output folder
💘 Generated with Crush
Assisted-by: Gemini 3.1 Pro (Optimized for Coding Agents) via Crush <crush@charm.land>
- Added RepairEngine for device repair automation.
- Introduced GregFrameRateLimiter to manage frame rates based on performance profiles.
- Implemented GregMemoryPressureHandler to handle memory pressure events and optimize garbage collection.
- Created GregOperationQueue for managing and throttling operations with priority.
- Developed GregPerformanceGovernor to oversee performance management and resource monitoring.
- Added GregRequestThrottler to limit concurrent operations and requests.
- Implemented GregResourceMonitor to track system resource usage and publish metrics.
- Introduced IAssemblyScanner interface for plugin assembly scanning.
- Added various public API modules including GregAutomationModule, GregEconomyModule, GregFacilityModule, GregNetworkModule, GregNpcModule, GregPerformanceModule, GregPlayerModule, GregSaveModule, GregServerModule, GregTimeModule, and GregUIModule for enhanced game functionality.
- Created event handling and resource snapshot types for better event management and performance tracking.