Harmony is an extension to Chimera's Lua Scripting API focused on manipulating the game's user interface.
All the features listed below are available from Chimera Lua scripts by requiring Harmony library just like this:
local harmony = require "mods.harmony"
You can find more info about how to use Harmony in your Chimera scripts on this document.
This was the most important feature, it is a set of functions for displaying external images and playing sounds in-game. See the repository below for a working Medals system made using this feature. https://github.com/Sledmine/Optic.
Harmony allows you to manipulate some aspects of the game's user interface, such as changing the menu aspect ratio, creating and modifying UI widgets in real time (which is useful for creating animated menus as you will see bellow), playing custom sounds, changing the cursor scale, and even blocking menu events. This opens a lot of possibilities for creating more dynamic and flexible user interfaces.
Create a folder called "mods" (e.g. "D:\Halo Custom Edition\mods")
Copy harmony.dll file to your mods folder
A package manager for Halo Custom Edition. You can get Harmony by using the following command:
mercury install harmony
Note: Like Chimera, Harmony requires DirectX 9 to be installed in your system.
Here are two scripts I made using Harmony.
Menu fade effect
This script adds a fade effect to all menus in the game.
This one adds an animated hitmarker, it can be customized by editing some parameters at the beginning of the script and modifying the hitmarker sprite images.
Github repo: https://github.com/JerryBrick/harmony
API docs: https://github.com/JerryBrick/harmony/blob/master/API.md
SnowyMouse - Development of Chimera (the base of this project).
Sledmine - Markdown documentation; testing and feedback.
SnC people - Testing and feedback (love you guys).
Github copilot - Speeding up the process of writing code and documentation.
Thanks for reading!