TONY: Some more cleanup
This commit is contained in:
parent
0856f33498
commit
c91a72a9d5
5 changed files with 79 additions and 150 deletions
|
@ -41,73 +41,8 @@
|
||||||
|
|
||||||
namespace Tony {
|
namespace Tony {
|
||||||
|
|
||||||
const char *ambianceFile[] = {
|
|
||||||
"None",
|
|
||||||
"1.ADP", // Grilli.WAV
|
|
||||||
"2.ADP", // Grilli-Ovattati.WAV
|
|
||||||
"3.ADP", // Grilli-Vento.WAV
|
|
||||||
"3.ADP", // Grilli-Vento1.WAV
|
|
||||||
"5.ADP", // Vento1.WAV
|
|
||||||
"4.ADP", // Mare1.WAV
|
|
||||||
"6.ADP" // Mare1.WAV half volume
|
|
||||||
};
|
|
||||||
|
|
||||||
struct MusicFileEntry {
|
|
||||||
const char *name;
|
|
||||||
int sync;
|
|
||||||
};
|
|
||||||
|
|
||||||
const MusicFileEntry musicFiles[] = {
|
|
||||||
{"00.ADP", 0}, {"01.ADP", 0},
|
|
||||||
{"02.ADP", 0}, {"03.ADP", 0},
|
|
||||||
{"04.ADP", 0}, {"05.ADP", 0},
|
|
||||||
{"06.ADP", 0}, {"07.ADP", 0},
|
|
||||||
{"08.ADP", 2450}, {"09.ADP", 0},
|
|
||||||
{"10.ADP", 0}, {"11.ADP", 0},
|
|
||||||
{"12.ADP", 0}, {"13.ADP", 0},
|
|
||||||
{"14.ADP", 0}, {"15.ADP", 0},
|
|
||||||
{"16.ADP", 0}, {"17.ADP", 0},
|
|
||||||
{"18.ADP", 0}, {"19.ADP", 0},
|
|
||||||
{"20.ADP", 0}, {"21.ADP", 0},
|
|
||||||
{"22.ADP", 0}, {"23.ADP", 0},
|
|
||||||
{"24.ADP", 0}, {"25.ADP", 0},
|
|
||||||
{"26.ADP", 0}, {"27.ADP", 0},
|
|
||||||
{"28.ADP", 1670}, {"29.ADP", 0},
|
|
||||||
{"30.ADP", 0}, {"31.ADP", 0},
|
|
||||||
{"32.ADP", 2900}, {"33.ADP", 0},
|
|
||||||
{"34.ADP", 0}, {"35.ADP", 0},
|
|
||||||
{"36.ADP", 0}, {"37.ADP", 0},
|
|
||||||
{"38.ADP", 0}, {"39.ADP", 0},
|
|
||||||
{"40.ADP", 0}, {"41.ADP", 1920},
|
|
||||||
{"42.ADP", 1560}, {"43.ADP", 1920},
|
|
||||||
{"44.ADP", 1920}, {"45.ADP", 1920},
|
|
||||||
{"46.ADP", 1920}, {"47.ADP", 1920},
|
|
||||||
{"48.ADP", 1920}, {"49.ADP", 1920},
|
|
||||||
{"50.ADP", 1920}, {"51.ADP", 1920},
|
|
||||||
{"52.ADP", 1920}, {"53.ADP", 0},
|
|
||||||
{"54.ADP", 0}, {"55.ADP", 0},
|
|
||||||
{"56.ADP", 0}, {"57.ADP", 0},
|
|
||||||
{"58.ADP", 0}, {"59.ADP", 0}
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
const char *jingleFileNames[] = {
|
|
||||||
"S00.ADP", "S01.ADP",
|
|
||||||
"S02.ADP", "S03.ADP",
|
|
||||||
"S04.ADP", "S05.ADP",
|
|
||||||
"S06.ADP", "S07.ADP",
|
|
||||||
"S08.ADP", "S09.ADP",
|
|
||||||
"S10.ADP", "S11.ADP",
|
|
||||||
"S12.ADP", "S13.ADP",
|
|
||||||
"S14.ADP", "S15.ADP",
|
|
||||||
"S16.ADP", "S17.ADP",
|
|
||||||
"S18.ADP"
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
void ReapplyChangedHotspot() {
|
void ReapplyChangedHotspot() {
|
||||||
int i;
|
for (int i = 0; i < GLOBALS._curChangedHotspot; i++)
|
||||||
for (i = 0; i < GLOBALS._curChangedHotspot; i++)
|
|
||||||
GLOBALS._loc->getItemFromCode(GLOBALS._changedHotspot[i]._dwCode)->changeHotspot(RMPoint(GLOBALS._changedHotspot[i]._nX, GLOBALS._changedHotspot[i]._nY));
|
GLOBALS._loc->getItemFromCode(GLOBALS._changedHotspot[i]._dwCode)->changeHotspot(RMPoint(GLOBALS._changedHotspot[i]._nX, GLOBALS._changedHotspot[i]._nY));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -543,7 +478,7 @@ DECLARE_CUSTOM_FUNCTION(ChangeLocation)(CORO_PARAM, uint32 nLoc, uint32 tX, uint
|
||||||
if (GLOBALS._lastTappeto != GLOBALS._ambiance[nLoc]) {
|
if (GLOBALS._lastTappeto != GLOBALS._ambiance[nLoc]) {
|
||||||
GLOBALS._lastTappeto = GLOBALS._ambiance[nLoc];
|
GLOBALS._lastTappeto = GLOBALS._ambiance[nLoc];
|
||||||
if (GLOBALS._lastTappeto != 0)
|
if (GLOBALS._lastTappeto != 0)
|
||||||
g_vm->playMusic(4, ambianceFile[GLOBALS._lastTappeto], 0, true, 2000);
|
g_vm->playMusic(4, kAmbianceFile[GLOBALS._lastTappeto], 0, true, 2000);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!GLOBALS._bNoBullsEye) {
|
if (!GLOBALS._bNoBullsEye) {
|
||||||
|
@ -608,8 +543,6 @@ DECLARE_CUSTOM_FUNCTION(CustDisableGUI)(CORO_PARAM, uint32, uint32, uint32, uint
|
||||||
GLOBALS.DisableGUI();
|
GLOBALS.DisableGUI();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
void TonyGenericTake1(CORO_PARAM, uint32 nDirection) {
|
void TonyGenericTake1(CORO_PARAM, uint32 nDirection) {
|
||||||
CORO_BEGIN_CONTEXT;
|
CORO_BEGIN_CONTEXT;
|
||||||
CORO_END_CONTEXT(_ctx);
|
CORO_END_CONTEXT(_ctx);
|
||||||
|
@ -699,13 +632,10 @@ DECLARE_CUSTOM_FUNCTION(TonyTakeDown2)(CORO_PARAM, uint32, uint32, uint32, uint3
|
||||||
TonyGenericTake2(coroParam, 2);
|
TonyGenericTake2(coroParam, 2);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
DECLARE_CUSTOM_FUNCTION(TonyPutUp1)(CORO_PARAM, uint32, uint32, uint32, uint32) {
|
DECLARE_CUSTOM_FUNCTION(TonyPutUp1)(CORO_PARAM, uint32, uint32, uint32, uint32) {
|
||||||
TonyGenericPut1(coroParam, 0);
|
TonyGenericPut1(coroParam, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
DECLARE_CUSTOM_FUNCTION(TonyPutMid1)(CORO_PARAM, uint32, uint32, uint32, uint32) {
|
DECLARE_CUSTOM_FUNCTION(TonyPutMid1)(CORO_PARAM, uint32, uint32, uint32, uint32) {
|
||||||
TonyGenericPut1(coroParam, 1);
|
TonyGenericPut1(coroParam, 1);
|
||||||
}
|
}
|
||||||
|
@ -718,7 +648,6 @@ DECLARE_CUSTOM_FUNCTION(TonyPutUp2)(CORO_PARAM, uint32, uint32, uint32, uint32)
|
||||||
TonyGenericPut2(coroParam, 0);
|
TonyGenericPut2(coroParam, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
DECLARE_CUSTOM_FUNCTION(TonyPutMid2)(CORO_PARAM, uint32, uint32, uint32, uint32) {
|
DECLARE_CUSTOM_FUNCTION(TonyPutMid2)(CORO_PARAM, uint32, uint32, uint32, uint32) {
|
||||||
TonyGenericPut2(coroParam, 1);
|
TonyGenericPut2(coroParam, 1);
|
||||||
}
|
}
|
||||||
|
@ -771,7 +700,6 @@ DECLARE_CUSTOM_FUNCTION(TonyWhistle)(CORO_PARAM, uint32, uint32, uint32, uint32)
|
||||||
CORO_END_CODE;
|
CORO_END_CODE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void TonySetNumTexts(uint32 dwText) {
|
void TonySetNumTexts(uint32 dwText) {
|
||||||
GLOBALS._dwTonyNumTexts = dwText;
|
GLOBALS._dwTonyNumTexts = dwText;
|
||||||
GLOBALS._bTonyInTexts = false;
|
GLOBALS._bTonyInTexts = false;
|
||||||
|
@ -1580,7 +1508,6 @@ DECLARE_CUSTOM_FUNCTION(MCharSetPosition)(CORO_PARAM, uint32 nChar, uint32 nX, u
|
||||||
GLOBALS._mCharacter[nChar]._y = nY;
|
GLOBALS._mCharacter[nChar]._y = nY;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
DECLARE_CUSTOM_FUNCTION(MCharSetColor)(CORO_PARAM, uint32 nChar, uint32 r, uint32 g, uint32 b) {
|
DECLARE_CUSTOM_FUNCTION(MCharSetColor)(CORO_PARAM, uint32 nChar, uint32 r, uint32 g, uint32 b) {
|
||||||
assert(nChar < 10);
|
assert(nChar < 10);
|
||||||
GLOBALS._mCharacter[nChar]._r = r;
|
GLOBALS._mCharacter[nChar]._r = r;
|
||||||
|
@ -1588,7 +1515,6 @@ DECLARE_CUSTOM_FUNCTION(MCharSetColor)(CORO_PARAM, uint32 nChar, uint32 r, uint3
|
||||||
GLOBALS._mCharacter[nChar]._b = b;
|
GLOBALS._mCharacter[nChar]._b = b;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
DECLARE_CUSTOM_FUNCTION(MCharSetNumTalksInGroup)(CORO_PARAM, uint32 nChar, uint32 nGroup, uint32 nTalks, uint32) {
|
DECLARE_CUSTOM_FUNCTION(MCharSetNumTalksInGroup)(CORO_PARAM, uint32 nChar, uint32 nGroup, uint32 nTalks, uint32) {
|
||||||
assert(nChar < 10);
|
assert(nChar < 10);
|
||||||
assert(nGroup < 10);
|
assert(nGroup < 10);
|
||||||
|
@ -1596,7 +1522,6 @@ DECLARE_CUSTOM_FUNCTION(MCharSetNumTalksInGroup)(CORO_PARAM, uint32 nChar, uint3
|
||||||
GLOBALS._mCharacter[nChar]._numTalks[nGroup] = nTalks;
|
GLOBALS._mCharacter[nChar]._numTalks[nGroup] = nTalks;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
DECLARE_CUSTOM_FUNCTION(MCharSetCurrentGroup)(CORO_PARAM, uint32 nChar, uint32 nGroup, uint32, uint32) {
|
DECLARE_CUSTOM_FUNCTION(MCharSetCurrentGroup)(CORO_PARAM, uint32 nChar, uint32 nGroup, uint32, uint32) {
|
||||||
assert(nChar < 10);
|
assert(nChar < 10);
|
||||||
assert(nGroup < 10);
|
assert(nGroup < 10);
|
||||||
|
@ -1617,7 +1542,6 @@ DECLARE_CUSTOM_FUNCTION(MCharSetAlwaysBack)(CORO_PARAM, uint32 nChar, uint32 bAl
|
||||||
GLOBALS._mCharacter[nChar]._bAlwaysBack = bAlwaysBack;
|
GLOBALS._mCharacter[nChar]._bAlwaysBack = bAlwaysBack;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
DECLARE_CUSTOM_FUNCTION(MCharSendMessage)(CORO_PARAM, uint32 nChar, uint32 dwMessage, uint32 bIsBack, uint32 nFont) {
|
DECLARE_CUSTOM_FUNCTION(MCharSendMessage)(CORO_PARAM, uint32 nChar, uint32 dwMessage, uint32 bIsBack, uint32 nFont) {
|
||||||
CORO_BEGIN_CONTEXT;
|
CORO_BEGIN_CONTEXT;
|
||||||
RMMessage *msg;
|
RMMessage *msg;
|
||||||
|
@ -1662,7 +1586,6 @@ DECLARE_CUSTOM_FUNCTION(MCharSendMessage)(CORO_PARAM, uint32 nChar, uint32 dwMes
|
||||||
_ctx->voice = NULL;
|
_ctx->voice = NULL;
|
||||||
if (_ctx->curVoc) {
|
if (_ctx->curVoc) {
|
||||||
// Position within the database of entries, beginning at the first
|
// Position within the database of entries, beginning at the first
|
||||||
// fseek(g_vm->m_vdbFP, curVoc->offset, SEEK_SET);
|
|
||||||
g_vm->_vdbFP.seek(_ctx->curVoc->_offset);
|
g_vm->_vdbFP.seek(_ctx->curVoc->_offset);
|
||||||
_ctx->curOffset = _ctx->curVoc->_offset;
|
_ctx->curOffset = _ctx->curVoc->_offset;
|
||||||
}
|
}
|
||||||
|
@ -1744,8 +1667,6 @@ DECLARE_CUSTOM_FUNCTION(MCharSendMessage)(CORO_PARAM, uint32 nChar, uint32 dwMes
|
||||||
* Dialogs
|
* Dialogs
|
||||||
*/
|
*/
|
||||||
|
|
||||||
int g_curDialog;
|
|
||||||
|
|
||||||
DECLARE_CUSTOM_FUNCTION(SendDialogMessage)(CORO_PARAM, uint32 nPers, uint32 nMsg, uint32, uint32) {
|
DECLARE_CUSTOM_FUNCTION(SendDialogMessage)(CORO_PARAM, uint32 nPers, uint32 nMsg, uint32, uint32) {
|
||||||
CORO_BEGIN_CONTEXT;
|
CORO_BEGIN_CONTEXT;
|
||||||
char *string;
|
char *string;
|
||||||
|
@ -1766,7 +1687,7 @@ DECLARE_CUSTOM_FUNCTION(SendDialogMessage)(CORO_PARAM, uint32 nPers, uint32 nMsg
|
||||||
if (nPers != 0 && GLOBALS._isMChar[nPers] && GLOBALS._mCharacter[nPers]._bAlwaysBack)
|
if (nPers != 0 && GLOBALS._isMChar[nPers] && GLOBALS._mCharacter[nPers]._bAlwaysBack)
|
||||||
_ctx->bIsBack = true;
|
_ctx->bIsBack = true;
|
||||||
|
|
||||||
_ctx->curVoc = SearchVoiceHeader(g_curDialog, nMsg);
|
_ctx->curVoc = SearchVoiceHeader(GLOBALS._curDialog, nMsg);
|
||||||
_ctx->voice = NULL;
|
_ctx->voice = NULL;
|
||||||
|
|
||||||
if (_ctx->curVoc) {
|
if (_ctx->curVoc) {
|
||||||
|
@ -1939,7 +1860,7 @@ DECLARE_CUSTOM_FUNCTION(StartDialog)(CORO_PARAM, uint32 nDialog, uint32 nStartGr
|
||||||
|
|
||||||
CORO_BEGIN_CODE(_ctx);
|
CORO_BEGIN_CODE(_ctx);
|
||||||
|
|
||||||
g_curDialog = nDialog;
|
GLOBALS._curDialog = nDialog;
|
||||||
|
|
||||||
// Call MPAL to start the dialog
|
// Call MPAL to start the dialog
|
||||||
mpalQueryDoDialog(nDialog, nStartGroup);
|
mpalQueryDoDialog(nDialog, nStartGroup);
|
||||||
|
@ -2174,11 +2095,11 @@ DECLARE_CUSTOM_FUNCTION(PlaySoundEffect)(CORO_PARAM, uint32 nMusic, uint32 nFX,
|
||||||
}
|
}
|
||||||
|
|
||||||
GLOBALS._lastMusic = nMusic;
|
GLOBALS._lastMusic = nMusic;
|
||||||
CustPlayMusic(GLOBALS._curSoundEffect, musicFiles[nMusic].name, nFX, bNoLoop ? false : true, musicFiles[nMusic].sync);
|
CustPlayMusic(GLOBALS._curSoundEffect, kMusicFiles[nMusic]._name, nFX, bNoLoop ? false : true, kMusicFiles[nMusic]._sync);
|
||||||
}
|
}
|
||||||
|
|
||||||
DECLARE_CUSTOM_FUNCTION(PlayJingle)(CORO_PARAM, uint32 nMusic, uint32 nFX, uint32 bLoop, uint32) {
|
DECLARE_CUSTOM_FUNCTION(PlayJingle)(CORO_PARAM, uint32 nMusic, uint32 nFX, uint32 bLoop, uint32) {
|
||||||
CustPlayMusic(2, jingleFileNames[nMusic], nFX, bLoop);
|
CustPlayMusic(2, kJingleFileNames[nMusic], nFX, bLoop);
|
||||||
}
|
}
|
||||||
|
|
||||||
DECLARE_CUSTOM_FUNCTION(PlayItemSfx)(CORO_PARAM, uint32 nItem, uint32 nSFX, uint32, uint32) {
|
DECLARE_CUSTOM_FUNCTION(PlayItemSfx)(CORO_PARAM, uint32 nItem, uint32 nSFX, uint32, uint32) {
|
||||||
|
@ -2201,7 +2122,7 @@ void RestoreMusic(CORO_PARAM) {
|
||||||
CORO_INVOKE_4(PlaySoundEffect, GLOBALS._lastMusic, 0, 0, 0);
|
CORO_INVOKE_4(PlaySoundEffect, GLOBALS._lastMusic, 0, 0, 0);
|
||||||
|
|
||||||
if (GLOBALS._lastTappeto != 0)
|
if (GLOBALS._lastTappeto != 0)
|
||||||
CustPlayMusic(4, ambianceFile[GLOBALS._lastTappeto], 0, true);
|
CustPlayMusic(4, kAmbianceFile[GLOBALS._lastTappeto], 0, true);
|
||||||
|
|
||||||
CORO_END_CODE;
|
CORO_END_CODE;
|
||||||
}
|
}
|
||||||
|
@ -2216,7 +2137,6 @@ void LoadMusic(Common::InSaveFile *f) {
|
||||||
GLOBALS._lastTappeto = f->readByte();
|
GLOBALS._lastTappeto = f->readByte();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
DECLARE_CUSTOM_FUNCTION(JingleFadeStart)(CORO_PARAM, uint32 nJingle, uint32 bLoop, uint32, uint32) {
|
DECLARE_CUSTOM_FUNCTION(JingleFadeStart)(CORO_PARAM, uint32 nJingle, uint32 bLoop, uint32, uint32) {
|
||||||
CORO_BEGIN_CONTEXT;
|
CORO_BEGIN_CONTEXT;
|
||||||
CORO_END_CONTEXT(_ctx);
|
CORO_END_CONTEXT(_ctx);
|
||||||
|
@ -2243,9 +2163,6 @@ DECLARE_CUSTOM_FUNCTION(JingleFadeEnd)(CORO_PARAM, uint32 nJingle, uint32 bLoop,
|
||||||
CORO_END_CODE;
|
CORO_END_CODE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
DECLARE_CUSTOM_FUNCTION(MustSkipIdleStart)(CORO_PARAM, uint32, uint32, uint32, uint32) {
|
DECLARE_CUSTOM_FUNCTION(MustSkipIdleStart)(CORO_PARAM, uint32, uint32, uint32, uint32) {
|
||||||
GLOBALS._bSkipIdle = true;
|
GLOBALS._bSkipIdle = true;
|
||||||
CoroScheduler.setEvent(GLOBALS._hSkipIdle);
|
CoroScheduler.setEvent(GLOBALS._hSkipIdle);
|
||||||
|
@ -2282,7 +2199,6 @@ DECLARE_CUSTOM_FUNCTION(OpenInitOptions)(CORO_PARAM, uint32, uint32, uint32, uin
|
||||||
CORO_END_CODE;
|
CORO_END_CODE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
DECLARE_CUSTOM_FUNCTION(DoCredits)(CORO_PARAM, uint32 nMsg, uint32 dwTime, uint32, uint32) {
|
DECLARE_CUSTOM_FUNCTION(DoCredits)(CORO_PARAM, uint32 nMsg, uint32 dwTime, uint32, uint32) {
|
||||||
CORO_BEGIN_CONTEXT;
|
CORO_BEGIN_CONTEXT;
|
||||||
RMMessage *msg;
|
RMMessage *msg;
|
||||||
|
@ -2355,8 +2271,6 @@ DECLARE_CUSTOM_FUNCTION(DoCredits)(CORO_PARAM, uint32 nMsg, uint32 dwTime, uint3
|
||||||
CORO_END_CODE;
|
CORO_END_CODE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
BEGIN_CUSTOM_FUNCTION_MAP()
|
BEGIN_CUSTOM_FUNCTION_MAP()
|
||||||
|
|
||||||
ASSIGN(1, CustLoadLocation)
|
ASSIGN(1, CustLoadLocation)
|
||||||
|
@ -2507,7 +2421,7 @@ ASSIGN(201, MustSkipIdleEnd);
|
||||||
END_CUSTOM_FUNCTION_MAP()
|
END_CUSTOM_FUNCTION_MAP()
|
||||||
|
|
||||||
void processKilledCallback(Common::PROCESS *p) {
|
void processKilledCallback(Common::PROCESS *p) {
|
||||||
for (uint i = 0; i < 10; i++)
|
for (uint i = 0; i < 10; i++) {
|
||||||
if (GLOBALS._mut[i]._ownerPid == p->pid) {
|
if (GLOBALS._mut[i]._ownerPid == p->pid) {
|
||||||
// Handle scripts which don't call ReleaseOwnership, such as
|
// Handle scripts which don't call ReleaseOwnership, such as
|
||||||
// the one in loc37's vEnter when Tony is chasing the mouse.
|
// the one in loc37's vEnter when Tony is chasing the mouse.
|
||||||
|
@ -2517,6 +2431,7 @@ void processKilledCallback(Common::PROCESS *p) {
|
||||||
GLOBALS._mut[i]._lockCount = 0;
|
GLOBALS._mut[i]._lockCount = 0;
|
||||||
CoroScheduler.setEvent(GLOBALS._mut[i]._eventId);
|
CoroScheduler.setEvent(GLOBALS._mut[i]._eventId);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void setupGlobalVars(RMTony *tony, RMPointer *ptr, RMGameBoxes *box, RMLocation *loc, RMInventory *inv, RMInput *input) {
|
void setupGlobalVars(RMTony *tony, RMPointer *ptr, RMGameBoxes *box, RMLocation *loc, RMInventory *inv, RMInput *input) {
|
||||||
|
@ -2531,13 +2446,12 @@ void setupGlobalVars(RMTony *tony, RMPointer *ptr, RMGameBoxes *box, RMLocation
|
||||||
GLOBALS.EnableGUI = mainEnableGUI;
|
GLOBALS.EnableGUI = mainEnableGUI;
|
||||||
|
|
||||||
GLOBALS._bAlwaysDisplay = false;
|
GLOBALS._bAlwaysDisplay = false;
|
||||||
int i;
|
|
||||||
|
|
||||||
CoroScheduler.setResourceCallback(processKilledCallback);
|
CoroScheduler.setResourceCallback(processKilledCallback);
|
||||||
for (i = 0; i < 10; i++)
|
for (int i = 0; i < 10; i++)
|
||||||
GLOBALS._mut[i]._eventId = CoroScheduler.createEvent(false, true);
|
GLOBALS._mut[i]._eventId = CoroScheduler.createEvent(false, true);
|
||||||
|
|
||||||
for (i = 0; i < 200; i++)
|
for (int i = 0; i < 200; i++)
|
||||||
GLOBALS._ambiance[i] = 0;
|
GLOBALS._ambiance[i] = 0;
|
||||||
|
|
||||||
GLOBALS._ambiance[6] = AMBIANCE_CRICKETS;
|
GLOBALS._ambiance[6] = AMBIANCE_CRICKETS;
|
||||||
|
|
|
@ -36,6 +36,48 @@ namespace Tony {
|
||||||
|
|
||||||
using namespace MPAL;
|
using namespace MPAL;
|
||||||
|
|
||||||
|
struct MusicFileEntry {
|
||||||
|
const char *_name;
|
||||||
|
int _sync;
|
||||||
|
};
|
||||||
|
|
||||||
|
static const char *kAmbianceFile[] = {
|
||||||
|
"None",
|
||||||
|
"1.ADP", // Grilli.WAV
|
||||||
|
"2.ADP", // Grilli-Ovattati.WAV
|
||||||
|
"3.ADP", // Grilli-Vento.WAV
|
||||||
|
"3.ADP", // Grilli-Vento1.WAV
|
||||||
|
"5.ADP", // Vento1.WAV
|
||||||
|
"4.ADP", // Mare1.WAV
|
||||||
|
"6.ADP" // Mare1.WAV half volume
|
||||||
|
};
|
||||||
|
|
||||||
|
static const MusicFileEntry kMusicFiles[] = {
|
||||||
|
{"00.ADP", 0}, {"01.ADP", 0}, {"02.ADP", 0}, {"03.ADP", 0},
|
||||||
|
{"04.ADP", 0}, {"05.ADP", 0}, {"06.ADP", 0}, {"07.ADP", 0},
|
||||||
|
{"08.ADP", 2450}, {"09.ADP", 0}, {"10.ADP", 0}, {"11.ADP", 0},
|
||||||
|
{"12.ADP", 0}, {"13.ADP", 0}, {"14.ADP", 0}, {"15.ADP", 0},
|
||||||
|
{"16.ADP", 0}, {"17.ADP", 0}, {"18.ADP", 0}, {"19.ADP", 0},
|
||||||
|
{"20.ADP", 0}, {"21.ADP", 0}, {"22.ADP", 0}, {"23.ADP", 0},
|
||||||
|
{"24.ADP", 0}, {"25.ADP", 0}, {"26.ADP", 0}, {"27.ADP", 0},
|
||||||
|
{"28.ADP", 1670}, {"29.ADP", 0}, {"30.ADP", 0}, {"31.ADP", 0},
|
||||||
|
{"32.ADP", 2900}, {"33.ADP", 0}, {"34.ADP", 0}, {"35.ADP", 0},
|
||||||
|
{"36.ADP", 0}, {"37.ADP", 0}, {"38.ADP", 0}, {"39.ADP", 0},
|
||||||
|
{"40.ADP", 0}, {"41.ADP", 1920}, {"42.ADP", 1560}, {"43.ADP", 1920},
|
||||||
|
{"44.ADP", 1920}, {"45.ADP", 1920}, {"46.ADP", 1920}, {"47.ADP", 1920},
|
||||||
|
{"48.ADP", 1920}, {"49.ADP", 1920}, {"50.ADP", 1920}, {"51.ADP", 1920},
|
||||||
|
{"52.ADP", 1920}, {"53.ADP", 0}, {"54.ADP", 0}, {"55.ADP", 0},
|
||||||
|
{"56.ADP", 0}, {"57.ADP", 0}, {"58.ADP", 0}, {"59.ADP", 0}
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
static const char *kJingleFileNames[] = {
|
||||||
|
"S00.ADP", "S01.ADP", "S02.ADP", "S03.ADP", "S04.ADP",
|
||||||
|
"S05.ADP", "S06.ADP", "S07.ADP", "S08.ADP", "S09.ADP",
|
||||||
|
"S10.ADP", "S11.ADP", "S12.ADP", "S13.ADP", "S14.ADP",
|
||||||
|
"S15.ADP", "S16.ADP", "S17.ADP", "S18.ADP"
|
||||||
|
};
|
||||||
|
|
||||||
#define INIT_CUSTOM_FUNCTION MapCustomFunctions
|
#define INIT_CUSTOM_FUNCTION MapCustomFunctions
|
||||||
|
|
||||||
#define DECLARE_CUSTOM_FUNCTION(x) void x
|
#define DECLARE_CUSTOM_FUNCTION(x) void x
|
||||||
|
|
|
@ -84,10 +84,9 @@ void RMFont::unload() {
|
||||||
|
|
||||||
RMGfxPrimitive *RMFont::makeLetterPrimitive(byte bChar, int &nLength) {
|
RMGfxPrimitive *RMFont::makeLetterPrimitive(byte bChar, int &nLength) {
|
||||||
RMFontPrimitive *prim;
|
RMFontPrimitive *prim;
|
||||||
int nLett;
|
|
||||||
|
|
||||||
// Convert from character to glyph index
|
// Convert from character to glyph index
|
||||||
nLett = convertToLetter(bChar);
|
int nLett = convertToLetter(bChar);
|
||||||
assert(nLett < _nLetters);
|
assert(nLett < _nLetters);
|
||||||
|
|
||||||
// Create primitive font
|
// Create primitive font
|
||||||
|
@ -120,12 +119,11 @@ void RMFont::close() {
|
||||||
}
|
}
|
||||||
|
|
||||||
int RMFont::stringLen(const Common::String &text) {
|
int RMFont::stringLen(const Common::String &text) {
|
||||||
uint len, i;
|
|
||||||
|
|
||||||
if (text.empty())
|
if (text.empty())
|
||||||
return letterLength('\0');
|
return letterLength('\0');
|
||||||
|
|
||||||
len = 0;
|
uint len = 0;
|
||||||
|
uint i;
|
||||||
for (i = 0; i < text.size() - 1; i++)
|
for (i = 0; i < text.size() - 1; i++)
|
||||||
len += letterLength(text[i], text[i + 1]);
|
len += letterLength(text[i], text[i + 1]);
|
||||||
len += letterLength(text[i]);
|
len += letterLength(text[i]);
|
||||||
|
@ -157,7 +155,6 @@ void RMFontColor::setBaseColor(byte r1, byte g1, byte b1) {
|
||||||
int gstep = g / 14;
|
int gstep = g / 14;
|
||||||
int bstep = b / 14;
|
int bstep = b / 14;
|
||||||
|
|
||||||
int i;
|
|
||||||
byte pal[768 * 3];
|
byte pal[768 * 3];
|
||||||
|
|
||||||
// Check if we are already on the right color
|
// Check if we are already on the right color
|
||||||
|
@ -169,7 +166,7 @@ void RMFontColor::setBaseColor(byte r1, byte g1, byte b1) {
|
||||||
_fontB = b1;
|
_fontB = b1;
|
||||||
|
|
||||||
// Constructs a new palette for the font
|
// Constructs a new palette for the font
|
||||||
for (i = 1; i < 16; i++) {
|
for (int i = 1; i < 16; i++) {
|
||||||
pal[i * 3 + 0] = r >> 16;
|
pal[i * 3 + 0] = r >> 16;
|
||||||
pal[i * 3 + 1] = g >> 16;
|
pal[i * 3 + 1] = g >> 16;
|
||||||
pal[i * 3 + 2] = b >> 16;
|
pal[i * 3 + 2] = b >> 16;
|
||||||
|
@ -184,7 +181,7 @@ void RMFontColor::setBaseColor(byte r1, byte g1, byte b1) {
|
||||||
pal[15 * 3 + 2] += 8;
|
pal[15 * 3 + 2] += 8;
|
||||||
|
|
||||||
// Puts in all the letters
|
// Puts in all the letters
|
||||||
for (i = 0; i < _nLetters; i++)
|
for (int i = 0; i < _nLetters; i++)
|
||||||
_letter[i].loadPaletteWA(pal);
|
_letter[i].loadPaletteWA(pal);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -204,8 +201,6 @@ int RMFontWithTables::letterLength(int nChar, int nNext) {
|
||||||
\****************************************************************************/
|
\****************************************************************************/
|
||||||
|
|
||||||
void RMFontDialog::init() {
|
void RMFontDialog::init() {
|
||||||
int i;
|
|
||||||
|
|
||||||
// bernie: Number of characters in the font
|
// bernie: Number of characters in the font
|
||||||
int nchars =
|
int nchars =
|
||||||
112 // base
|
112 // base
|
||||||
|
@ -222,7 +217,7 @@ void RMFontDialog::init() {
|
||||||
_hDefault = 18;
|
_hDefault = 18;
|
||||||
Common::fill(&_l2Table[0][0], &_l2Table[0][0] + (256 * 256), '\0');
|
Common::fill(&_l2Table[0][0], &_l2Table[0][0] + (256 * 256), '\0');
|
||||||
|
|
||||||
for (i = 0; i < 256; i++) {
|
for (int i = 0; i < 256; i++) {
|
||||||
_cTable[i] = g_vm->_cTableDialog[i];
|
_cTable[i] = g_vm->_cTableDialog[i];
|
||||||
_lTable[i] = g_vm->_lTableDialog[i];
|
_lTable[i] = g_vm->_lTableDialog[i];
|
||||||
}
|
}
|
||||||
|
@ -234,8 +229,6 @@ void RMFontDialog::init() {
|
||||||
\****************************************************************************/
|
\****************************************************************************/
|
||||||
|
|
||||||
void RMFontMacc::init() {
|
void RMFontMacc::init() {
|
||||||
int i;
|
|
||||||
|
|
||||||
// bernie: Number of characters in the font
|
// bernie: Number of characters in the font
|
||||||
int nchars =
|
int nchars =
|
||||||
102 // base
|
102 // base
|
||||||
|
@ -245,7 +238,6 @@ void RMFontMacc::init() {
|
||||||
+ 8 // francais
|
+ 8 // francais
|
||||||
+ 5; // deutsch
|
+ 5; // deutsch
|
||||||
|
|
||||||
|
|
||||||
load(RES_F_MACC, nchars, 11, 16);
|
load(RES_F_MACC, nchars, 11, 16);
|
||||||
|
|
||||||
// Default
|
// Default
|
||||||
|
@ -253,7 +245,7 @@ void RMFontMacc::init() {
|
||||||
_hDefault = 17;
|
_hDefault = 17;
|
||||||
Common::fill(&_l2Table[0][0], &_l2Table[0][0] + (256 * 256), '\0');
|
Common::fill(&_l2Table[0][0], &_l2Table[0][0] + (256 * 256), '\0');
|
||||||
|
|
||||||
for (i = 0; i < 256; i++) {
|
for (int i = 0; i < 256; i++) {
|
||||||
_cTable[i] = g_vm->_cTableMacc[i];
|
_cTable[i] = g_vm->_cTableMacc[i];
|
||||||
_lTable[i] = g_vm->_lTableMacc[i];
|
_lTable[i] = g_vm->_lTableMacc[i];
|
||||||
}
|
}
|
||||||
|
@ -264,8 +256,6 @@ void RMFontMacc::init() {
|
||||||
\****************************************************************************/
|
\****************************************************************************/
|
||||||
|
|
||||||
void RMFontCredits::init() {
|
void RMFontCredits::init() {
|
||||||
int i;
|
|
||||||
|
|
||||||
// bernie: Number of characters in the font
|
// bernie: Number of characters in the font
|
||||||
int nchars =
|
int nchars =
|
||||||
112 // base
|
112 // base
|
||||||
|
@ -275,7 +265,6 @@ void RMFontCredits::init() {
|
||||||
+ 8 // french
|
+ 8 // french
|
||||||
+ 2; // deutsch
|
+ 2; // deutsch
|
||||||
|
|
||||||
|
|
||||||
load(RES_F_CREDITS, nchars, 27, 28, RES_F_CPAL);
|
load(RES_F_CREDITS, nchars, 27, 28, RES_F_CPAL);
|
||||||
|
|
||||||
// Default
|
// Default
|
||||||
|
@ -283,7 +272,7 @@ void RMFontCredits::init() {
|
||||||
_hDefault = 28;
|
_hDefault = 28;
|
||||||
Common::fill(&_l2Table[0][0], &_l2Table[0][0] + (256 * 256), '\0');
|
Common::fill(&_l2Table[0][0], &_l2Table[0][0] + (256 * 256), '\0');
|
||||||
|
|
||||||
for (i = 0; i < 256; i++) {
|
for (int i = 0; i < 256; i++) {
|
||||||
_cTable[i] = g_vm->_cTableCred[i];
|
_cTable[i] = g_vm->_cTableCred[i];
|
||||||
_lTable[i] = g_vm->_lTableCred[i];
|
_lTable[i] = g_vm->_lTableCred[i];
|
||||||
}
|
}
|
||||||
|
@ -305,10 +294,7 @@ void RMFontObj::setBothCase(int nChar, int nNext, signed char spiazz) {
|
||||||
_l2Table[TOLOWER(nChar)][TOLOWER(nNext)] = spiazz;
|
_l2Table[TOLOWER(nChar)][TOLOWER(nNext)] = spiazz;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void RMFontObj::init() {
|
void RMFontObj::init() {
|
||||||
int i;
|
|
||||||
|
|
||||||
//bernie: Number of characters in the font (solo maiuscolo)
|
//bernie: Number of characters in the font (solo maiuscolo)
|
||||||
int nchars =
|
int nchars =
|
||||||
85 // base
|
85 // base
|
||||||
|
@ -318,7 +304,6 @@ void RMFontObj::init() {
|
||||||
+ 0 // francais (no uppercase chars)
|
+ 0 // francais (no uppercase chars)
|
||||||
+ 1; // deutsch
|
+ 1; // deutsch
|
||||||
|
|
||||||
|
|
||||||
load(RES_F_OBJ, nchars, 25, 30);
|
load(RES_F_OBJ, nchars, 25, 30);
|
||||||
|
|
||||||
// Initialize the font table
|
// Initialize the font table
|
||||||
|
@ -326,7 +311,7 @@ void RMFontObj::init() {
|
||||||
_hDefault = 30;
|
_hDefault = 30;
|
||||||
Common::fill(&_l2Table[0][0], &_l2Table[0][0] + (256 * 256), '\0');
|
Common::fill(&_l2Table[0][0], &_l2Table[0][0] + (256 * 256), '\0');
|
||||||
|
|
||||||
for (i = 0; i < 256; i++) {
|
for (int i = 0; i < 256; i++) {
|
||||||
_cTable[i] = g_vm->_cTableObj[i];
|
_cTable[i] = g_vm->_cTableObj[i];
|
||||||
_lTable[i] = g_vm->_lTableObj[i];
|
_lTable[i] = g_vm->_lTableObj[i];
|
||||||
}
|
}
|
||||||
|
@ -345,7 +330,6 @@ void RMFontObj::init() {
|
||||||
setBothCase('R', 'U', 3);
|
setBothCase('R', 'U', 3);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/****************************************************************************\
|
/****************************************************************************\
|
||||||
* RMText Methods
|
* RMText Methods
|
||||||
\****************************************************************************/
|
\****************************************************************************/
|
||||||
|
@ -409,11 +393,6 @@ void RMText::writeText(const Common::String &text, int nFont, int *time) {
|
||||||
|
|
||||||
void RMText::writeText(Common::String text, RMFontColor *font, int *time) {
|
void RMText::writeText(Common::String text, RMFontColor *font, int *time) {
|
||||||
RMGfxPrimitive *prim;
|
RMGfxPrimitive *prim;
|
||||||
uint p, old_p;
|
|
||||||
int j, x, y;
|
|
||||||
int len;
|
|
||||||
int numchar;
|
|
||||||
int width, height;
|
|
||||||
|
|
||||||
// Set the base color
|
// Set the base color
|
||||||
font->setBaseColor(_textR, _textG, _textB);
|
font->setBaseColor(_textR, _textG, _textB);
|
||||||
|
@ -428,8 +407,9 @@ void RMText::writeText(Common::String text, RMFontColor *font, int *time) {
|
||||||
// Divide the words into lines. In this cycle, X contains the maximum length reached by a line,
|
// Divide the words into lines. In this cycle, X contains the maximum length reached by a line,
|
||||||
// and the number of lines
|
// and the number of lines
|
||||||
Common::Array<Common::String> lines;
|
Common::Array<Common::String> lines;
|
||||||
p = 0;
|
uint p = 0;
|
||||||
j = x = 0;
|
int j = 0;
|
||||||
|
int x = 0;
|
||||||
while (p < text.size()) {
|
while (p < text.size()) {
|
||||||
j += font->stringLen(text[p]);
|
j += font->stringLen(text[p]);
|
||||||
if (j > (((_aHorType == HLEFTPAR) && (lines.size() > 0)) ? _maxLineLength - 25 : _maxLineLength)) {
|
if (j > (((_aHorType == HLEFTPAR) && (lines.size() > 0)) ? _maxLineLength - 25 : _maxLineLength)) {
|
||||||
|
@ -443,7 +423,7 @@ void RMText::writeText(Common::String text, RMFontColor *font, int *time) {
|
||||||
// width of a line caused discontinuation of the whole sentence.
|
// width of a line caused discontinuation of the whole sentence.
|
||||||
// This workaround has the partial word broken up so it will still display
|
// This workaround has the partial word broken up so it will still display
|
||||||
//
|
//
|
||||||
old_p = p;
|
uint old_p = p;
|
||||||
while (text[p] != ' ' && text[p] != '-' && p > 0)
|
while (text[p] != ' ' && text[p] != '-' && p > 0)
|
||||||
p--;
|
p--;
|
||||||
|
|
||||||
|
@ -475,8 +455,8 @@ void RMText::writeText(Common::String text, RMFontColor *font, int *time) {
|
||||||
x += 8;
|
x += 8;
|
||||||
|
|
||||||
// Starting position for the surface: X1, Y
|
// Starting position for the surface: X1, Y
|
||||||
width = x;
|
int width = x;
|
||||||
height = (lines.size() - 1) * font->letterHeight() + font->_fontDimy;
|
int height = (lines.size() - 1) * font->letterHeight() + font->_fontDimy;
|
||||||
|
|
||||||
// Create the surface
|
// Create the surface
|
||||||
create(width, height);
|
create(width, height);
|
||||||
|
@ -484,8 +464,8 @@ void RMText::writeText(Common::String text, RMFontColor *font, int *time) {
|
||||||
|
|
||||||
p = 0;
|
p = 0;
|
||||||
|
|
||||||
y = 0;
|
int y = 0;
|
||||||
numchar = 0;
|
int numchar = 0;
|
||||||
for (uint i = 0; i < lines.size(); ++i) {
|
for (uint i = 0; i < lines.size(); ++i) {
|
||||||
const Common::String &line = lines[i];
|
const Common::String &line = lines[i];
|
||||||
|
|
||||||
|
@ -522,6 +502,7 @@ void RMText::writeText(Common::String text, RMFontColor *font, int *time) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int len;
|
||||||
prim = font->makeLetterPrimitive(line[p], len);
|
prim = font->makeLetterPrimitive(line[p], len);
|
||||||
prim->getDst()._x1 = x;
|
prim->getDst()._x1 = x;
|
||||||
prim->getDst()._y1 = y;
|
prim->getDst()._y1 = y;
|
||||||
|
@ -987,8 +968,6 @@ void RMDialogChoice::close() {
|
||||||
}
|
}
|
||||||
|
|
||||||
void RMDialogChoice::setNumChoices(int num) {
|
void RMDialogChoice::setNumChoices(int num) {
|
||||||
int i;
|
|
||||||
|
|
||||||
_numChoices = num;
|
_numChoices = num;
|
||||||
_curAdded = 0;
|
_curAdded = 0;
|
||||||
|
|
||||||
|
@ -997,7 +976,7 @@ void RMDialogChoice::setNumChoices(int num) {
|
||||||
_ptDrawStrings = new RMPoint[num];
|
_ptDrawStrings = new RMPoint[num];
|
||||||
|
|
||||||
// Initialization
|
// Initialization
|
||||||
for (i = 0; i < _numChoices; i++) {
|
for (int i = 0; i < _numChoices; i++) {
|
||||||
_drawedStrings[i].setColor(0, 255, 0);
|
_drawedStrings[i].setColor(0, 255, 0);
|
||||||
_drawedStrings[i].setAlignType(RMText::HLEFTPAR, RMText::VTOP);
|
_drawedStrings[i].setAlignType(RMText::HLEFTPAR, RMText::VTOP);
|
||||||
_drawedStrings[i].setMaxLineLength(600);
|
_drawedStrings[i].setMaxLineLength(600);
|
||||||
|
|
|
@ -34,7 +34,6 @@
|
||||||
#include "tony/mpal/memory.h"
|
#include "tony/mpal/memory.h"
|
||||||
#include "tony/mpal/mpal.h"
|
#include "tony/mpal/mpal.h"
|
||||||
#include "tony/mpal/mpalutils.h"
|
#include "tony/mpal/mpalutils.h"
|
||||||
#include "tony/custom.h"
|
|
||||||
#include "tony/game.h"
|
#include "tony/game.h"
|
||||||
#include "tony/gfxengine.h"
|
#include "tony/gfxengine.h"
|
||||||
#include "tony/tony.h"
|
#include "tony/tony.h"
|
||||||
|
|
|
@ -1386,11 +1386,7 @@ bool doSelection(uint32 i, uint32 dwData) {
|
||||||
*/
|
*/
|
||||||
bool mpalInit(const char *lpszMpcFileName, const char *lpszMprFileName,
|
bool mpalInit(const char *lpszMpcFileName, const char *lpszMprFileName,
|
||||||
LPLPCUSTOMFUNCTION lplpcfArray, Common::String *lpcfStrings) {
|
LPLPCUSTOMFUNCTION lplpcfArray, Common::String *lpcfStrings) {
|
||||||
Common::File hMpc;
|
|
||||||
byte buf[5];
|
byte buf[5];
|
||||||
uint32 nBytesRead;
|
|
||||||
bool bCompress;
|
|
||||||
uint32 dwSizeDecomp, dwSizeComp;
|
|
||||||
byte *cmpbuf;
|
byte *cmpbuf;
|
||||||
|
|
||||||
// Save the array of custom functions
|
// Save the array of custom functions
|
||||||
|
@ -1398,21 +1394,22 @@ bool mpalInit(const char *lpszMpcFileName, const char *lpszMprFileName,
|
||||||
GLOBALS._lplpFunctionStrings = lpcfStrings;
|
GLOBALS._lplpFunctionStrings = lpcfStrings;
|
||||||
|
|
||||||
// OPen the MPC file for reading
|
// OPen the MPC file for reading
|
||||||
|
Common::File hMpc;
|
||||||
if (!hMpc.open(lpszMpcFileName))
|
if (!hMpc.open(lpszMpcFileName))
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
// Read and check the header
|
// Read and check the header
|
||||||
nBytesRead = hMpc.read(buf, 5);
|
uint32 nBytesRead = hMpc.read(buf, 5);
|
||||||
if (nBytesRead != 5)
|
if (nBytesRead != 5)
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
if (buf[0] != 'M' || buf[1] != 'P' || buf[2] != 'C' || buf[3] != 0x20)
|
if (buf[0] != 'M' || buf[1] != 'P' || buf[2] != 'C' || buf[3] != 0x20)
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
bCompress = buf[4];
|
bool bCompress = buf[4];
|
||||||
|
|
||||||
// Reads the size of the uncompressed file, and allocate memory
|
// Reads the size of the uncompressed file, and allocate memory
|
||||||
dwSizeDecomp = hMpc.readUint32LE();
|
uint32 dwSizeDecomp = hMpc.readUint32LE();
|
||||||
if (hMpc.err())
|
if (hMpc.err())
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
|
@ -1422,7 +1419,7 @@ bool mpalInit(const char *lpszMpcFileName, const char *lpszMprFileName,
|
||||||
|
|
||||||
if (bCompress) {
|
if (bCompress) {
|
||||||
// Get the compressed size and read the data in
|
// Get the compressed size and read the data in
|
||||||
dwSizeComp = hMpc.readUint32LE();
|
uint32 dwSizeComp = hMpc.readUint32LE();
|
||||||
if (hMpc.err())
|
if (hMpc.err())
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
|
@ -1463,7 +1460,7 @@ bool mpalInit(const char *lpszMpcFileName, const char *lpszMprFileName,
|
||||||
// Seek to the end of the file to read overall information
|
// Seek to the end of the file to read overall information
|
||||||
GLOBALS._hMpr.seek(-12, SEEK_END);
|
GLOBALS._hMpr.seek(-12, SEEK_END);
|
||||||
|
|
||||||
dwSizeComp = GLOBALS._hMpr.readUint32LE();
|
uint32 dwSizeComp = GLOBALS._hMpr.readUint32LE();
|
||||||
if (GLOBALS._hMpr.err())
|
if (GLOBALS._hMpr.err())
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
|
@ -1941,11 +1938,9 @@ uint32 mpalGetError() {
|
||||||
* @returns TRUE if the script 'was launched, FALSE on failure
|
* @returns TRUE if the script 'was launched, FALSE on failure
|
||||||
*/
|
*/
|
||||||
bool mpalExecuteScript(int nScript) {
|
bool mpalExecuteScript(int nScript) {
|
||||||
LpMpalScript s;
|
|
||||||
|
|
||||||
LockScripts();
|
LockScripts();
|
||||||
int n = scriptGetOrderFromNum(nScript);
|
int n = scriptGetOrderFromNum(nScript);
|
||||||
s = (LpMpalScript)globalAlloc(GMEM_FIXED | GMEM_ZEROINIT, sizeof(MpalScript));
|
LpMpalScript s = (LpMpalScript)globalAlloc(GMEM_FIXED | GMEM_ZEROINIT, sizeof(MpalScript));
|
||||||
if (s == NULL)
|
if (s == NULL)
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue