From 51437ba5e6e418d7e79cf341606bc6c1c50fd50b Mon Sep 17 00:00:00 2001 From: md5 Date: Thu, 3 Mar 2011 19:34:11 +0200 Subject: SCI: Fixed path finding in Amiga SCI1 games Added wrapper functions to read/write from dynmem segments, as these are treated as BE in Amiga versions (as we treat them like raw data instead of reg_t's), whereas the rest are LE. Thanks to waltervn and wjp for their help on this --- engines/sci/util.h | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'engines/sci/util.h') diff --git a/engines/sci/util.h b/engines/sci/util.h index d9ced5c9f6..d1f1c2ffa9 100644 --- a/engines/sci/util.h +++ b/engines/sci/util.h @@ -30,6 +30,12 @@ namespace Sci { +// Wrappers for reading/writing integer values for SCI1 Amiga. +// Amiga versions store big endian data in dynmem blocks, as +// the game resources are in LE, but the actual system is BE. +uint16 READ_SCI1ENDIAN_UINT16(const void *ptr); +void WRITE_SCI1ENDIAN_UINT16(void *ptr, uint16 val); + // Wrappers for reading integer values for SCI1.1+. // Mac versions have big endian data for some fields. uint16 READ_SCI11ENDIAN_UINT16(const void *ptr); -- cgit v1.2.3