Chorizite is an open-source plugin manager for the game Asheron's Call. It enables the integration and management of plugins that extend the game's functionality. This project includes core plugins for various features such as HTML/CSS-based UI design, DAT file reading, and Lua scripting support.
Chorizite serves as a plugin framework for Asheron's Call, allowing developers to create and manage plugins for the game. It provides essential tools for interfacing with the game files, rendering HTML/CSS-based interfaces, and scripting with Lua.
- Install Dependencies
git clone git@github.com:Chorizite/Chorizite.git && cd Chorizite && git submodule init && git submodule update
- Chorizite.Core
- The main Chorizite project. This is responsible for starting up the plugin system.
- Launcher/Launcher
- The Launcher app.
- Implements the required backend interfaces for running Chorizite.Core in a launcher environment.
- Launches acclient and uses Launcher/Chorizite.Bootstrapper to inject Launcher/Chorizite.Loader.Standalone (and optionally decal).
- Launcher/Chorizite.Bootstrapper
- Used to bootstrap dotnet inside the client, and loads Launcher/Chorizite.Loader.Standalone.
- Launcher/Chorizite.Loader.Standalone
- Implements the required backend interfaces for running Chorizite.Core in a client environment.
- Plugins
- Core.Client
- Provides API / Hooks for interacting with the game client.
- Core.Launcher
- Provides API / Hooks for interacting with the launcher.
- Core.DatService
- Provides API / Hooks for reading / writing game dat files.
- Core.UI
- Provides UI for both the client and launcher using RmlUI.
- Core.Lua
- Provides lua scripting for plugins and RmlUI scripts.
- Core.Client
- Plugin System
- CSharp plugins
- Lua plugins
- UI:
- Launcher Screens:
Simple, Advanced - Game screens:
DatPatch,Intro,CharSelect, GamePlay, Disconnected - Lua: lua scripting within rmlui.
- ImGui
- Launcher Screens:
- API:
- Game API / Hooks
- Server Integration:
- Custom UIs from server
- Custom plugins from server
Contributions are welcome! To contribute:
- Fork the repository.
- Create a new branch for your feature or bugfix.
- Submit a pull request with a detailed description.
This project is licensed under the MIT License.