SCICompanion seems to have issues with LB2CD where scripts expect WrapMusic to have the class value of 0x86 and Actions to be 0x2E, but decompiling results in a .sco file where WrapMusic is 0x2E and Actions are 0x86.
Spanish translator Avo323 discovered if you swap the WrapMusic and Actions class definitions in main, it compiles other scripts with the correct class values that they expect and you can generate working patches that don't break WrapMusic; though if main (and .hep) is exported as a patch with this method it crashes the game. Actions is defined in both main and objCue and doesn't seem to care what the class value is (or is only using objCue version), where as a broken WrapMusic breaks audio in game; sometime resulting in later crashes because of undisposed audio.
So we have a solution to create working patches (barring changes to main, which can be hex edited), but it's still frustrating that it's unknown where the fundamental issue lies. LB2 floppy was missing a vocab file, but this seems specific to a 0.sco problem. It would be better to understand the cause, but I guess I can live without knowing if need be.
Is it a case of some Sierra dev making changes to main before release and not recompiling the other scripts? Curious if anyone has insight to this, before moving on.