aboutsummaryrefslogtreecommitdiff
path: root/scumm/intern.h
diff options
context:
space:
mode:
authorMax Horn2004-01-19 20:27:31 +0000
committerMax Horn2004-01-19 20:27:31 +0000
commit923adce4562897a6df4f023622f1770d0eac4c15 (patch)
tree8da9ef77ee87ffa0b98c5d85cf496ae697e51673 /scumm/intern.h
parent8e89f7d060ca5fac1efc7c244df91b678f7e2c9d (diff)
downloadscummvm-rg350-923adce4562897a6df4f023622f1770d0eac4c15.tar.gz
scummvm-rg350-923adce4562897a6df4f023622f1770d0eac4c15.tar.bz2
scummvm-rg350-923adce4562897a6df4f023622f1770d0eac4c15.zip
fix endian bug when dealing with ArrayHeader's; added a hack to permit save games broken due to this to still work; moved the whole 'Array' stuff into ScummEngine_v6
svn-id: r12521
Diffstat (limited to 'scumm/intern.h')
-rw-r--r--scumm/intern.h11
1 files changed, 11 insertions, 0 deletions
diff --git a/scumm/intern.h b/scumm/intern.h
index efd5aaf06e..fa40e525bb 100644
--- a/scumm/intern.h
+++ b/scumm/intern.h
@@ -29,6 +29,7 @@
namespace Scumm {
class NutRenderer; // V8 Font Renderer
+struct ArrayHeader;
class ScummEngine_v5 : public ScummEngine {
protected:
@@ -348,11 +349,20 @@ protected:
virtual void setupScummVars();
virtual void decodeParseString(int a, int b);
+ virtual void readArrayFromIndexFile();
virtual void palManipulateInit(int resID, int start, int end, int time);
int getStackList(int *args, uint maxnum);
int popRoomAndObj(int *room);
+
+ ArrayHeader *getArray(int array);
+ ArrayHeader *defineArray(int array, int type, int dim2, int dim1);
+ int findFreeArrayId();
+ void nukeArray(int array);
+ int readArray(int array, int index, int base);
+ void writeArray(int array, int index, int base, int value);
+
void shuffleArray(int num, int minIdx, int maxIdx);
void unknownEA_func(int a, int b, int c, int d, int e);
int readFileToArray(int slot, int32 size);
@@ -575,6 +585,7 @@ protected:
virtual void setupScummVars();
virtual void decodeParseString(int m, int n);
+ virtual void readArrayFromIndexFile();
virtual uint fetchScriptWord();
virtual int fetchScriptWordSigned();