diff options
author | Max Horn | 2004-01-19 20:27:31 +0000 |
---|---|---|
committer | Max Horn | 2004-01-19 20:27:31 +0000 |
commit | 923adce4562897a6df4f023622f1770d0eac4c15 (patch) | |
tree | 8da9ef77ee87ffa0b98c5d85cf496ae697e51673 /scumm/intern.h | |
parent | 8e89f7d060ca5fac1efc7c244df91b678f7e2c9d (diff) | |
download | scummvm-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.h | 11 |
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(); |