Blast it. I find myself back at the original question of this thread - what are steps of compilation?
.SCO files - What are the purpose of these files? At first, I thought that these were stand-alone, compiled scripts. However, upon opening them they just contain a reference to each 'global' symbol in the script. If a script has 3 procedures in it, there will be the three procedure names in the SCO - global variables are also placed in the SCO. It's almost as if these are just 'prototypes' of the script itself, perhaps to satisfy compilation of other scripts.
When a script is compiled within Studio or Companion, it generates the SCO, but then it also modifies the resource.map & resource.001 file. The .map file is like an index into the resource file (as I recall), and the resource file contains the actual compiled code.
What was the original purpose of the scc.exe tool? What good is just generating an SCO? Why doesn't it as part of it's steps modify a resource.map & resource.001 file? If it is a compiler - where is the outputted compiled code?
When a 'Compile All' is performed within Studio, it seems to take inventory of all the scripts that are already compiled into the resource.map/resource.001 file (this inventory step may occur upon opening of the game?). Only scripts found from this 'inventory' step are compiled.
When a 'Compile 'All' is performed within Companion, it does not behave like Studio. I suspect it gets a list of scripts to compile from the game.ini.
My frustration now is the inability to use either Studio or Companion to compile my project, which consists of a large number of scripts needing compilation, that are introduced externally from the Studio/Companion environment. Companion gathers up the scripts to compile from game.ini (which contain references to all my scripts) - but crashes on a 'Compile All' because of my large number of scripts - at least that seems to be why it crashes. Studio doesn't have a problem with the number of scripts, but won't compile my scripts because it can't find them in the resource.map/resource.ini files.
I suppose the next logical step is to inject dummy compiled scripts into the resource files so that a 'compile all' will work within Studio.