Started using game-specific flags and removed/replaced some SCI version checks with flags.

- The SCI0 new script header and the angles check have been replaced by the GF_SCI0_OLD flag
- The SCI0 new drawpic parameter and the new priority check have been replaced by the GF_SCI0_OLDGFXFUNCS flag
- Removed the code which retries to use the newer script header in SCI0 games if the detected one is wrong, as that case should be covered by the GF_SCI0_OLD flag
- Removed the leftover min_version and max_version variables from gamestate
- Cleaned up kGetTime() a bit

svn-id: r40552
This commit is contained in:
Filippos Karapetis 2009-05-14 09:12:27 +00:00
parent 2ca7605050
commit 999d46b241
17 changed files with 80 additions and 167 deletions

View file

@ -513,9 +513,9 @@ static SegmentId find_unique_seg_by_type(SegManager *self, int type) {
}
static byte *find_unique_script_block(EngineState *s, byte *buf, int type) {
int magic_pos_adder = s->version >= SCI_VERSION_FTU_NEW_SCRIPT_HEADER ? 0 : 2;
if (s->flags & GF_SCI0_OLD)
buf += 2;
buf += magic_pos_adder;
do {
int seeker_type = READ_LE_UINT16(buf);
int seeker_size;
@ -857,8 +857,6 @@ EngineState *gamestate_restore(EngineState *s, Common::SeekableReadStream *fh) {
memcpy(&(retval->selector_map), &(s->selector_map), sizeof(selector_map_t));
retval->max_version = retval->version;
retval->min_version = retval->version;
retval->parser_base = make_reg(s->sys_strings_segment, SYS_STRING_PARSER_BASE);
// Copy breakpoint information from current game instance