if (h_type < V4) {
story_scaler = 2;
story_shift = 1;
property_mask = P3_MAX_PROPERTIES - 1;
property_size_mask = 0xe0;
} else {
story_scaler = 4;
story_shift = 2;
property_mask = P4_MAX_PROPERTIES - 1;
property_size_mask = 0x3f;
}
Replace it with the following:
if (h_type < V4) {
story_scaler = 2;
story_shift = 1;
property_mask = P3_MAX_PROPERTIES - 1;
property_size_mask = 0xe0;
} else if (h_type < 8) {
story_scaler = 4;
story_shift = 2;
property_mask = P4_MAX_PROPERTIES - 1;
property_size_mask = 0x3f;
} else {
story_scaler = 8;
story_shift = 3;
property_mask = P4_MAX_PROPERTIES - 1;
property_size_mask = 0x3f;
}
Up above, in main(), change the line
configure (V1, V5);
to
configure (V1, 8);
That should do it. At least, that's what I did to MaxZip and XZip.
All ye ZIP maintainers out there: It's time. Two V8 games were
released to ftp.gmd.de in the past couple of days. (A V8 version of
Jigsaw, and a new game called Windhall 1.) Get those interpreter
updates out.
And you might want to start thinking about the Z-spec corrections that
we've been talking about. Although that gets more complicated, and
what we really need is a new release of the ZIP code to serve as a new
reference.
--Z
"And Aholibamah bare Jeush, and Jaalam, and Korah: these were the borogoves..."