[Scummvm-cvs-logs] SF.net SVN: scummvm: [23837] scummvm/trunk/engines/sword1
chrilith at users.sourceforge.net
chrilith at users.sourceforge.net
Sat Sep 9 11:30:23 CEST 2006
Revision: 23837
http://svn.sourceforge.net/scummvm/?rev=23837&view=rev
Author: chrilith
Date: 2006-09-09 02:30:16 -0700 (Sat, 09 Sep 2006)
Log Message:
-----------
Fixed crashes on Zodiac and add support for this device
Modified Paths:
--------------
scummvm/trunk/engines/sword1/logic.cpp
scummvm/trunk/engines/sword1/logic.h
scummvm/trunk/engines/sword1/memman.h
Modified: scummvm/trunk/engines/sword1/logic.cpp
===================================================================
--- scummvm/trunk/engines/sword1/logic.cpp 2006-09-09 09:09:19 UTC (rev 23836)
+++ scummvm/trunk/engines/sword1/logic.cpp 2006-09-09 09:30:16 UTC (rev 23837)
@@ -64,6 +64,8 @@
_eventMan = NULL;
_system = system;
_mixer = mixer;
+
+ setupMcodeTable();
}
Logic::~Logic(void) {
@@ -682,108 +684,112 @@
}
}
-BSMcodeTable Logic::_mcodeTable[100] = {
- &Logic::fnBackground,
- &Logic::fnForeground,
- &Logic::fnSort,
- &Logic::fnNoSprite,
- &Logic::fnMegaSet,
- &Logic::fnAnim,
- &Logic::fnSetFrame,
- &Logic::fnFullAnim,
- &Logic::fnFullSetFrame,
- &Logic::fnFadeDown,
- &Logic::fnFadeUp,
- &Logic::fnCheckFade,
- &Logic::fnSetSpritePalette,
- &Logic::fnSetWholePalette,
- &Logic::fnSetFadeTargetPalette,
- &Logic::fnSetPaletteToFade,
- &Logic::fnSetPaletteToCut,
- &Logic::fnPlaySequence,
- &Logic::fnIdle,
- &Logic::fnPause,
- &Logic::fnPauseSeconds,
- &Logic::fnQuit,
- &Logic::fnKillId,
- &Logic::fnSuicide,
- &Logic::fnNewScript,
- &Logic::fnSubScript,
- &Logic::fnRestartScript,
- &Logic::fnSetBookmark,
- &Logic::fnGotoBookmark,
- &Logic::fnSendSync,
- &Logic::fnWaitSync,
- &Logic::cfnClickInteract,
- &Logic::cfnSetScript,
- &Logic::cfnPresetScript,
- &Logic::fnInteract,
- &Logic::fnIssueEvent,
- &Logic::fnCheckForEvent,
- &Logic::fnWipeHands,
- &Logic::fnISpeak,
- &Logic::fnTheyDo,
- &Logic::fnTheyDoWeWait,
- &Logic::fnWeWait,
- &Logic::fnChangeSpeechText,
- &Logic::fnTalkError,
- &Logic::fnStartTalk,
- &Logic::fnCheckForTextLine,
- &Logic::fnAddTalkWaitStatusBit,
- &Logic::fnRemoveTalkWaitStatusBit,
- &Logic::fnNoHuman,
- &Logic::fnAddHuman,
- &Logic::fnBlankMouse,
- &Logic::fnNormalMouse,
- &Logic::fnLockMouse,
- &Logic::fnUnlockMouse,
- &Logic::fnSetMousePointer,
- &Logic::fnSetMouseLuggage,
- &Logic::fnMouseOn,
- &Logic::fnMouseOff,
- &Logic::fnChooser,
- &Logic::fnEndChooser,
- &Logic::fnStartMenu,
- &Logic::fnEndMenu,
- &Logic::cfnReleaseMenu,
- &Logic::fnAddSubject,
- &Logic::fnAddObject,
- &Logic::fnRemoveObject,
- &Logic::fnEnterSection,
- &Logic::fnLeaveSection,
- &Logic::fnChangeFloor,
- &Logic::fnWalk,
- &Logic::fnTurn,
- &Logic::fnStand,
- &Logic::fnStandAt,
- &Logic::fnFace,
- &Logic::fnFaceXy,
- &Logic::fnIsFacing,
- &Logic::fnGetTo,
- &Logic::fnGetToError,
- &Logic::fnGetPos,
- &Logic::fnGetGamepadXy,
- &Logic::fnPlayFx,
- &Logic::fnStopFx,
- &Logic::fnPlayMusic,
- &Logic::fnStopMusic,
- &Logic::fnInnerSpace,
- &Logic::fnRandom,
- &Logic::fnSetScreen,
- &Logic::fnPreload,
- &Logic::fnCheckCD,
- &Logic::fnRestartGame,
- &Logic::fnQuitGame,
- &Logic::fnDeathScreen,
- &Logic::fnSetParallax,
- &Logic::fnTdebug,
- &Logic::fnRedFlash,
- &Logic::fnBlueFlash,
- &Logic::fnYellow,
- &Logic::fnGreen,
- &Logic::fnPurple,
- &Logic::fnBlack
-};
+void Logic::setupMcodeTable() {
+ static const BSMcodeTable mcodeTable[100] = {
+ &Logic::fnBackground,
+ &Logic::fnForeground,
+ &Logic::fnSort,
+ &Logic::fnNoSprite,
+ &Logic::fnMegaSet,
+ &Logic::fnAnim,
+ &Logic::fnSetFrame,
+ &Logic::fnFullAnim,
+ &Logic::fnFullSetFrame,
+ &Logic::fnFadeDown,
+ &Logic::fnFadeUp,
+ &Logic::fnCheckFade,
+ &Logic::fnSetSpritePalette,
+ &Logic::fnSetWholePalette,
+ &Logic::fnSetFadeTargetPalette,
+ &Logic::fnSetPaletteToFade,
+ &Logic::fnSetPaletteToCut,
+ &Logic::fnPlaySequence,
+ &Logic::fnIdle,
+ &Logic::fnPause,
+ &Logic::fnPauseSeconds,
+ &Logic::fnQuit,
+ &Logic::fnKillId,
+ &Logic::fnSuicide,
+ &Logic::fnNewScript,
+ &Logic::fnSubScript,
+ &Logic::fnRestartScript,
+ &Logic::fnSetBookmark,
+ &Logic::fnGotoBookmark,
+ &Logic::fnSendSync,
+ &Logic::fnWaitSync,
+ &Logic::cfnClickInteract,
+ &Logic::cfnSetScript,
+ &Logic::cfnPresetScript,
+ &Logic::fnInteract,
+ &Logic::fnIssueEvent,
+ &Logic::fnCheckForEvent,
+ &Logic::fnWipeHands,
+ &Logic::fnISpeak,
+ &Logic::fnTheyDo,
+ &Logic::fnTheyDoWeWait,
+ &Logic::fnWeWait,
+ &Logic::fnChangeSpeechText,
+ &Logic::fnTalkError,
+ &Logic::fnStartTalk,
+ &Logic::fnCheckForTextLine,
+ &Logic::fnAddTalkWaitStatusBit,
+ &Logic::fnRemoveTalkWaitStatusBit,
+ &Logic::fnNoHuman,
+ &Logic::fnAddHuman,
+ &Logic::fnBlankMouse,
+ &Logic::fnNormalMouse,
+ &Logic::fnLockMouse,
+ &Logic::fnUnlockMouse,
+ &Logic::fnSetMousePointer,
+ &Logic::fnSetMouseLuggage,
+ &Logic::fnMouseOn,
+ &Logic::fnMouseOff,
+ &Logic::fnChooser,
+ &Logic::fnEndChooser,
+ &Logic::fnStartMenu,
+ &Logic::fnEndMenu,
+ &Logic::cfnReleaseMenu,
+ &Logic::fnAddSubject,
+ &Logic::fnAddObject,
+ &Logic::fnRemoveObject,
+ &Logic::fnEnterSection,
+ &Logic::fnLeaveSection,
+ &Logic::fnChangeFloor,
+ &Logic::fnWalk,
+ &Logic::fnTurn,
+ &Logic::fnStand,
+ &Logic::fnStandAt,
+ &Logic::fnFace,
+ &Logic::fnFaceXy,
+ &Logic::fnIsFacing,
+ &Logic::fnGetTo,
+ &Logic::fnGetToError,
+ &Logic::fnGetPos,
+ &Logic::fnGetGamepadXy,
+ &Logic::fnPlayFx,
+ &Logic::fnStopFx,
+ &Logic::fnPlayMusic,
+ &Logic::fnStopMusic,
+ &Logic::fnInnerSpace,
+ &Logic::fnRandom,
+ &Logic::fnSetScreen,
+ &Logic::fnPreload,
+ &Logic::fnCheckCD,
+ &Logic::fnRestartGame,
+ &Logic::fnQuitGame,
+ &Logic::fnDeathScreen,
+ &Logic::fnSetParallax,
+ &Logic::fnTdebug,
+ &Logic::fnRedFlash,
+ &Logic::fnBlueFlash,
+ &Logic::fnYellow,
+ &Logic::fnGreen,
+ &Logic::fnPurple,
+ &Logic::fnBlack
+ };
+
+ _mcodeTable = mcodeTable;
+}
int Logic::fnBackground(Object *cpt, int32 id, int32 c, int32 d, int32 e, int32 f, int32 z, int32 x) {
Modified: scummvm/trunk/engines/sword1/logic.h
===================================================================
--- scummvm/trunk/engines/sword1/logic.h 2006-09-09 09:09:19 UTC (rev 23836)
+++ scummvm/trunk/engines/sword1/logic.h 2006-09-09 09:30:16 UTC (rev 23837)
@@ -89,7 +89,8 @@
int fullAnimDriver(Object *compact);
int animDriver(Object *compact);
- static BSMcodeTable _mcodeTable[100];
+ void setupMcodeTable();
+ const BSMcodeTable *_mcodeTable;
uint16 inRange(uint16 a, uint16 b, uint16 c);
Modified: scummvm/trunk/engines/sword1/memman.h
===================================================================
--- scummvm/trunk/engines/sword1/memman.h 2006-09-09 09:09:19 UTC (rev 23836)
+++ scummvm/trunk/engines/sword1/memman.h 2006-09-09 09:30:16 UTC (rev 23837)
@@ -39,7 +39,11 @@
#define MEM_CAN_FREE 1
#define MEM_DONT_FREE 2
+#ifdef PALMOS_MODE
+#define MAX_ALLOC (3*1024*1024) // max amount of mem we want to alloc().
+#else
#define MAX_ALLOC (6*1024*1024) // max amount of mem we want to alloc().
+#endif
class MemMan {
public:
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
More information about the Scummvm-git-logs
mailing list