[A14] Community Core Library v0.14.3.1

Started by RWCCLTeam, October 20, 2015, 12:08:13 PM

Previous topic - Next topic

Brrainz

Hi everyone,

I would like to introduce a new library I wrote for the community. It is called Harmony and I have created a thread in Tools about it: https://ludeon.com/forums/index.php?topic=29517.0

The purpose of this lib is to take Detour() to the next level. My goal here was:

- keep the original method intact
- include methods where the class cannot be subclassed
- allow more than one patch for the same method
- define priorities so users don't have to reorder mods
- have mods identify themselves so they can look up who patched what
- have no global state
- have no external mod that users need to install separately
- have the code open and accessible to the public
- to be compatible with all the platforms and other versions of Harmony in the future

All this said, I want to say that I don't want to compete with CCL. Instead, I wish we could incorporate Harmony into CCL and replace the old Detour(). I will advocate this even to other potential clients like HugsLib. I also want people to test the living hell out of it - I have only tested it on 64bit Intel Win10 and my new MacBook. The tricky part in it is based on the work of Michael Turutanov with this great AsmHelper and this is already in use by Achtung and works for a lot of people but I had a friend report that it gives an access violation on this AMD/Win10 machine.

The library itself exists on GitHub here: https://github.com/pardeike/Harmony and I made a small example mod that toys with the Unity camera (A16) and uses Harmony here: https://github.com/pardeike/CameraPlus

Let me know if this sounds interesting so we can either discuss this here or in its own thread.

Cheers,
Andreas Pardeike