auraes
September 16, 2020, 5:35pm
#1
The values of the functions Dword__No() and No__Dword(), of the I6 library, seem to be wrong for version v3. This is probably related to the modification on the compiler.
opened 06:28AM - 10 Sep 20 UTC
If you compile a game to z3, and there are two dictionary words in the source code which are not different...
I6 library:
[ Dword__No w; return (w-(HDR_DICTIONARY-->0 + 7))/9; ];
[ No__Dword n; return HDR_DICTIONARY-->0 + 7 + 9*n; ];
For version v3, you have to divide by 6 and not by 9 now.
I don’t know if the fix has consequences elsewhere.
auraes
September 16, 2020, 5:41pm
#2
I wonder if the 6/11 and 6/12 versions of the libraries support the v3 version? If not, this probably doesn’t pose any particular problems!
zarf
(Andrew Plotkin)
September 16, 2020, 5:46pm
#3
No, not in the slightest. :)
They require v5 or higher.
zarf
(Andrew Plotkin)
September 16, 2020, 5:50pm
#4
There are a few bits of code in the 6/11 library which check #IfV3;
. This is vestigial, though.