This is slightly unrelated, but there's a massive issue right now that's bothered me a couple of times now and I can't fathom for the life of me why it is happening.
In a couple of my mods' libraries now, #defines and #libdefines just haven't been brought over to the local scripts that use them. Not even the ones in zdefs.acs like TRUE and FALSE, meaning that I have to resort to using 0 and 1 instead. This has just come up unexpectedly, so I must have updated something semi-recently which is causing my scripts to catastrophically fail to compile unless I get rid of
every define I use in them.
It's particularly bad when I want to use simple defines from zdefs.acs like TRUE and FALSE in #defines and #libdefines of my
own. But no, it seems I have to use numerical values instead.
This is driving me positively doo-lally, but not in a good way. What could be going on here?
-------
EDIT: This issue first cropped up when I was writing my dialogue box script system. I had to resort to using numerical values in place of TRUE/FALSE and the other defines that come in zdefs, which was a massive pain and completely unnecessary, but now it's reared its ugly head in my Jukebox. I was trying,
just trying, to optimize my library by moving the massive array into a separate file within the script library. I set up the library as it should be, and took "#libdefine MAX_JUKEBOX 345" from the original file (JUKEBOX) into the new one (ARRAY). The new one, ARRAY, compiled successfully. Then I added "#import array.acs" to the original, JUKEBOX, which also compiled successfully. Then I went to MAP00's scripts, added "#import array.acs" to it, and hit Compile. Oh dear.
This is what I got:
Code: Select all
Line 125 in file "\acc\svn\jukebox.acs" ...
\acc\svn\jukebox.acs:125: Syntax error in constant expression.
> int JukeBoxCheck[MAX_JUKEBOX]
> ^
\acc\svn\jukebox.acs:125: Arrays cannot have a dimension of zero.
> int JukeBoxCheck[MAX_JUKEBOX];
> ^
\acc\svn\jukebox.acs:125: Missing ']'.
> int JukeBoxCheck[MAX_JUKEBOX];
> ^
Bloody fuck. I'm at my wit's end. This
should not happen under
any circumstances. This
not what a compiler should
ever do. The only conclusion I can draw is that
the universe hates me.
Help on this dumbfounding issue will be rewarded with a gold-plated unicorn with laser-beam eyes. I'm serious.