Harmony incompatibility on beta branch for M1/M2 Macs (EDIT: Fix attached)

Issue #7599 new
Meaning created an issue

In every iteration of the beta branch, my MacBook Air (M2) will not properly execute mods using harmony patches. Testing the same configuration of mods on Windows software and in an old Intel Mac I have both work in the beta branch.

Between the stable branch and the beta branch, harmony is the same version, and many of the affected files (for example, XRL.World.Parts // TerrainNotes) remain unchanged as well. I thus do not know what is causing this change, other than perhaps some ongoing harmony issues with M1/2 software. That being said, as the harmony version did not change, the only thing I can think of might be the updated unity files, or perhaps a change in the .NET version. (EDIT: the likely reason for this is below: if the moon stair beta added native M1 support, it ironically makes the harmony mods not work on M1. The linked bug above is almost certainly the reason).

I have tried the following resolution methods:

Verification of all game files

Disabling all but one mod

Full reinstall of all Caves of Qud data.

I have linked a google drive (sorry, can't upload folders as attachments) containing three folders: Beta game data on Intel Mac hardware, Beta game data on M2 hardware, and stable game data on M2 hardware. Each used the same mods (image attached, note that all of them enable without visible error). Each folder has the player.log, player save, and harmony log.

I took the following actions on each save, designed to test major mod features:

  1. Spawn in Joppa as a Marsh Taur on a freshly installed game, go to graveyard and read sultan statue. Turn on historical site pin (expected behavior: colored site pin).
  2. Spawn salt kraken (Expected behavior: activation of careful what you wish for mod)
  3. Wait 100 turns (Expected behavior: dynamic background color change).

Notably, all script-only mods continue to function normally. Only the combined beta/m2 had any issues. The errors in the player log look pretty similar to the known harmony incompatibility above, so a fix may not be possible unless the particular change in code outside of harmony causing the bug can be found.

EDIT: Thanks to the harmony discord, I’ve found a fix for M1/2 hardware.

  1. Navigate to a fresh copy of the CoQ app via the following path: /Users/Username/Library/Application Support/Steam/steamapps/common/Caves of Qud. Right click the app.
  2. Click get info, and select “Open using Rosetta.”
  3. Put all relevant mods in your mods folder, as opposed to the steam workshop. All mods should execute normally.

This isn’t the cleanest fix, but hopefully it should work consistently as long as Caves of Qud works on Rosetta. It also means that M1 support is the particular issue affecting the bug, and likely cannot be solved outright until MonoMod updates to support M1 infrastructure.

I am currently still waiting on my discord application to be processed, but can still be reached via discord PM regardless at Meaning#7814 if you (or any other person encountering this bug) have further questions. Thanks for your time!

Comments (10)

  1. Log in to comment