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 {
|
||||
|
||||
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() {
|
||||
int i;
|
||||
for (i = 0; i < GLOBALS._curChangedHotspot; i++)
|
||||
for (int i = 0; i < GLOBALS._curChangedHotspot; i++)
|
||||
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]) {
|
||||
GLOBALS._lastTappeto = GLOBALS._ambiance[nLoc];
|
||||
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) {
|
||||
|
@ -608,8 +543,6 @@ DECLARE_CUSTOM_FUNCTION(CustDisableGUI)(CORO_PARAM, uint32, uint32, uint32, uint
|
|||
GLOBALS.DisableGUI();
|
||||
}
|
||||
|
||||
|
||||
|
||||
void TonyGenericTake1(CORO_PARAM, uint32 nDirection) {
|
||||
CORO_BEGIN_CONTEXT;
|
||||
CORO_END_CONTEXT(_ctx);
|
||||
|
@ -699,13 +632,10 @@ DECLARE_CUSTOM_FUNCTION(TonyTakeDown2)(CORO_PARAM, uint32, uint32, uint32, uint3
|
|||
TonyGenericTake2(coroParam, 2);
|
||||
}
|
||||
|
||||
|
||||
|
||||
DECLARE_CUSTOM_FUNCTION(TonyPutUp1)(CORO_PARAM, uint32, uint32, uint32, uint32) {
|
||||
TonyGenericPut1(coroParam, 0);
|
||||
}
|
||||
|
||||
|
||||
DECLARE_CUSTOM_FUNCTION(TonyPutMid1)(CORO_PARAM, uint32, uint32, uint32, uint32) {
|
||||
TonyGenericPut1(coroParam, 1);
|
||||
}
|
||||
|
@ -718,7 +648,6 @@ DECLARE_CUSTOM_FUNCTION(TonyPutUp2)(CORO_PARAM, uint32, uint32, uint32, uint32)
|
|||
TonyGenericPut2(coroParam, 0);
|
||||
}
|
||||
|
||||
|
||||
DECLARE_CUSTOM_FUNCTION(TonyPutMid2)(CORO_PARAM, uint32, uint32, uint32, uint32) {
|
||||
TonyGenericPut2(coroParam, 1);
|
||||
}
|
||||
|
@ -771,7 +700,6 @@ DECLARE_CUSTOM_FUNCTION(TonyWhistle)(CORO_PARAM, uint32, uint32, uint32, uint32)
|
|||
CORO_END_CODE;
|
||||
}
|
||||
|
||||
|
||||
void TonySetNumTexts(uint32 dwText) {
|
||||
GLOBALS._dwTonyNumTexts = dwText;
|
||||
GLOBALS._bTonyInTexts = false;
|
||||
|
@ -1580,7 +1508,6 @@ DECLARE_CUSTOM_FUNCTION(MCharSetPosition)(CORO_PARAM, uint32 nChar, uint32 nX, u
|
|||
GLOBALS._mCharacter[nChar]._y = nY;
|
||||
}
|
||||
|
||||
|
||||
DECLARE_CUSTOM_FUNCTION(MCharSetColor)(CORO_PARAM, uint32 nChar, uint32 r, uint32 g, uint32 b) {
|
||||
assert(nChar < 10);
|
||||
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;
|
||||
}
|
||||
|
||||
|
||||
DECLARE_CUSTOM_FUNCTION(MCharSetNumTalksInGroup)(CORO_PARAM, uint32 nChar, uint32 nGroup, uint32 nTalks, uint32) {
|
||||
assert(nChar < 10);
|
||||
assert(nGroup < 10);
|
||||
|
@ -1596,7 +1522,6 @@ DECLARE_CUSTOM_FUNCTION(MCharSetNumTalksInGroup)(CORO_PARAM, uint32 nChar, uint3
|
|||
GLOBALS._mCharacter[nChar]._numTalks[nGroup] = nTalks;
|
||||
}
|
||||
|
||||
|
||||
DECLARE_CUSTOM_FUNCTION(MCharSetCurrentGroup)(CORO_PARAM, uint32 nChar, uint32 nGroup, uint32, uint32) {
|
||||
assert(nChar < 10);
|
||||
assert(nGroup < 10);
|
||||
|
@ -1617,7 +1542,6 @@ DECLARE_CUSTOM_FUNCTION(MCharSetAlwaysBack)(CORO_PARAM, uint32 nChar, uint32 bAl
|
|||
GLOBALS._mCharacter[nChar]._bAlwaysBack = bAlwaysBack;
|
||||
}
|
||||
|
||||
|
||||
DECLARE_CUSTOM_FUNCTION(MCharSendMessage)(CORO_PARAM, uint32 nChar, uint32 dwMessage, uint32 bIsBack, uint32 nFont) {
|
||||
CORO_BEGIN_CONTEXT;
|
||||
RMMessage *msg;
|
||||
|
@ -1662,7 +1586,6 @@ DECLARE_CUSTOM_FUNCTION(MCharSendMessage)(CORO_PARAM, uint32 nChar, uint32 dwMes
|
|||
_ctx->voice = NULL;
|
||||
if (_ctx->curVoc) {
|
||||
// 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);
|
||||
_ctx->curOffset = _ctx->curVoc->_offset;
|
||||
}
|
||||
|
@ -1744,8 +1667,6 @@ DECLARE_CUSTOM_FUNCTION(MCharSendMessage)(CORO_PARAM, uint32 nChar, uint32 dwMes
|
|||
* Dialogs
|
||||
*/
|
||||
|
||||
int g_curDialog;
|
||||
|
||||
DECLARE_CUSTOM_FUNCTION(SendDialogMessage)(CORO_PARAM, uint32 nPers, uint32 nMsg, uint32, uint32) {
|
||||
CORO_BEGIN_CONTEXT;
|
||||
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)
|
||||
_ctx->bIsBack = true;
|
||||
|
||||
_ctx->curVoc = SearchVoiceHeader(g_curDialog, nMsg);
|
||||
_ctx->curVoc = SearchVoiceHeader(GLOBALS._curDialog, nMsg);
|
||||
_ctx->voice = NULL;
|
||||
|
||||
if (_ctx->curVoc) {
|
||||
|
@ -1939,7 +1860,7 @@ DECLARE_CUSTOM_FUNCTION(StartDialog)(CORO_PARAM, uint32 nDialog, uint32 nStartGr
|
|||
|
||||
CORO_BEGIN_CODE(_ctx);
|
||||
|
||||
g_curDialog = nDialog;
|
||||
GLOBALS._curDialog = nDialog;
|
||||
|
||||
// Call MPAL to start the dialog
|
||||
mpalQueryDoDialog(nDialog, nStartGroup);
|
||||
|
@ -2174,11 +2095,11 @@ DECLARE_CUSTOM_FUNCTION(PlaySoundEffect)(CORO_PARAM, uint32 nMusic, uint32 nFX,
|
|||
}
|
||||
|
||||
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) {
|
||||
CustPlayMusic(2, jingleFileNames[nMusic], nFX, bLoop);
|
||||
CustPlayMusic(2, kJingleFileNames[nMusic], nFX, bLoop);
|
||||
}
|
||||
|
||||
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);
|
||||
|
||||
if (GLOBALS._lastTappeto != 0)
|
||||
CustPlayMusic(4, ambianceFile[GLOBALS._lastTappeto], 0, true);
|
||||
CustPlayMusic(4, kAmbianceFile[GLOBALS._lastTappeto], 0, true);
|
||||
|
||||
CORO_END_CODE;
|
||||
}
|
||||
|
@ -2216,7 +2137,6 @@ void LoadMusic(Common::InSaveFile *f) {
|
|||
GLOBALS._lastTappeto = f->readByte();
|
||||
}
|
||||
|
||||
|
||||
DECLARE_CUSTOM_FUNCTION(JingleFadeStart)(CORO_PARAM, uint32 nJingle, uint32 bLoop, uint32, uint32) {
|
||||
CORO_BEGIN_CONTEXT;
|
||||
CORO_END_CONTEXT(_ctx);
|
||||
|
@ -2243,9 +2163,6 @@ DECLARE_CUSTOM_FUNCTION(JingleFadeEnd)(CORO_PARAM, uint32 nJingle, uint32 bLoop,
|
|||
CORO_END_CODE;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
DECLARE_CUSTOM_FUNCTION(MustSkipIdleStart)(CORO_PARAM, uint32, uint32, uint32, uint32) {
|
||||
GLOBALS._bSkipIdle = true;
|
||||
CoroScheduler.setEvent(GLOBALS._hSkipIdle);
|
||||
|
@ -2282,7 +2199,6 @@ DECLARE_CUSTOM_FUNCTION(OpenInitOptions)(CORO_PARAM, uint32, uint32, uint32, uin
|
|||
CORO_END_CODE;
|
||||
}
|
||||
|
||||
|
||||
DECLARE_CUSTOM_FUNCTION(DoCredits)(CORO_PARAM, uint32 nMsg, uint32 dwTime, uint32, uint32) {
|
||||
CORO_BEGIN_CONTEXT;
|
||||
RMMessage *msg;
|
||||
|
@ -2355,8 +2271,6 @@ DECLARE_CUSTOM_FUNCTION(DoCredits)(CORO_PARAM, uint32 nMsg, uint32 dwTime, uint3
|
|||
CORO_END_CODE;
|
||||
}
|
||||
|
||||
|
||||
|
||||
BEGIN_CUSTOM_FUNCTION_MAP()
|
||||
|
||||
ASSIGN(1, CustLoadLocation)
|
||||
|
@ -2507,7 +2421,7 @@ ASSIGN(201, MustSkipIdleEnd);
|
|||
END_CUSTOM_FUNCTION_MAP()
|
||||
|
||||
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) {
|
||||
// Handle scripts which don't call ReleaseOwnership, such as
|
||||
// the one in loc37's vEnter when Tony is chasing the mouse.
|
||||
|
@ -2518,6 +2432,7 @@ void processKilledCallback(Common::PROCESS *p) {
|
|||
CoroScheduler.setEvent(GLOBALS._mut[i]._eventId);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void setupGlobalVars(RMTony *tony, RMPointer *ptr, RMGameBoxes *box, RMLocation *loc, RMInventory *inv, RMInput *input) {
|
||||
GLOBALS._tony = tony;
|
||||
|
@ -2531,13 +2446,12 @@ void setupGlobalVars(RMTony *tony, RMPointer *ptr, RMGameBoxes *box, RMLocation
|
|||
GLOBALS.EnableGUI = mainEnableGUI;
|
||||
|
||||
GLOBALS._bAlwaysDisplay = false;
|
||||
int i;
|
||||
|
||||
CoroScheduler.setResourceCallback(processKilledCallback);
|
||||
for (i = 0; i < 10; i++)
|
||||
for (int i = 0; i < 10; i++)
|
||||
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[6] = AMBIANCE_CRICKETS;
|
||||
|
|
|
@ -36,6 +36,48 @@ namespace Tony {
|
|||
|
||||
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 DECLARE_CUSTOM_FUNCTION(x) void x
|
||||
|
|
|
@ -84,10 +84,9 @@ void RMFont::unload() {
|
|||
|
||||
RMGfxPrimitive *RMFont::makeLetterPrimitive(byte bChar, int &nLength) {
|
||||
RMFontPrimitive *prim;
|
||||
int nLett;
|
||||
|
||||
// Convert from character to glyph index
|
||||
nLett = convertToLetter(bChar);
|
||||
int nLett = convertToLetter(bChar);
|
||||
assert(nLett < _nLetters);
|
||||
|
||||
// Create primitive font
|
||||
|
@ -120,12 +119,11 @@ void RMFont::close() {
|
|||
}
|
||||
|
||||
int RMFont::stringLen(const Common::String &text) {
|
||||
uint len, i;
|
||||
|
||||
if (text.empty())
|
||||
return letterLength('\0');
|
||||
|
||||
len = 0;
|
||||
uint len = 0;
|
||||
uint i;
|
||||
for (i = 0; i < text.size() - 1; i++)
|
||||
len += letterLength(text[i], text[i + 1]);
|
||||
len += letterLength(text[i]);
|
||||
|
@ -157,7 +155,6 @@ void RMFontColor::setBaseColor(byte r1, byte g1, byte b1) {
|
|||
int gstep = g / 14;
|
||||
int bstep = b / 14;
|
||||
|
||||
int i;
|
||||
byte pal[768 * 3];
|
||||
|
||||
// Check if we are already on the right color
|
||||
|
@ -169,7 +166,7 @@ void RMFontColor::setBaseColor(byte r1, byte g1, byte b1) {
|
|||
_fontB = b1;
|
||||
|
||||
// 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 + 1] = g >> 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;
|
||||
|
||||
// Puts in all the letters
|
||||
for (i = 0; i < _nLetters; i++)
|
||||
for (int i = 0; i < _nLetters; i++)
|
||||
_letter[i].loadPaletteWA(pal);
|
||||
}
|
||||
|
||||
|
@ -204,8 +201,6 @@ int RMFontWithTables::letterLength(int nChar, int nNext) {
|
|||
\****************************************************************************/
|
||||
|
||||
void RMFontDialog::init() {
|
||||
int i;
|
||||
|
||||
// bernie: Number of characters in the font
|
||||
int nchars =
|
||||
112 // base
|
||||
|
@ -222,7 +217,7 @@ void RMFontDialog::init() {
|
|||
_hDefault = 18;
|
||||
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];
|
||||
_lTable[i] = g_vm->_lTableDialog[i];
|
||||
}
|
||||
|
@ -234,8 +229,6 @@ void RMFontDialog::init() {
|
|||
\****************************************************************************/
|
||||
|
||||
void RMFontMacc::init() {
|
||||
int i;
|
||||
|
||||
// bernie: Number of characters in the font
|
||||
int nchars =
|
||||
102 // base
|
||||
|
@ -245,7 +238,6 @@ void RMFontMacc::init() {
|
|||
+ 8 // francais
|
||||
+ 5; // deutsch
|
||||
|
||||
|
||||
load(RES_F_MACC, nchars, 11, 16);
|
||||
|
||||
// Default
|
||||
|
@ -253,7 +245,7 @@ void RMFontMacc::init() {
|
|||
_hDefault = 17;
|
||||
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];
|
||||
_lTable[i] = g_vm->_lTableMacc[i];
|
||||
}
|
||||
|
@ -264,8 +256,6 @@ void RMFontMacc::init() {
|
|||
\****************************************************************************/
|
||||
|
||||
void RMFontCredits::init() {
|
||||
int i;
|
||||
|
||||
// bernie: Number of characters in the font
|
||||
int nchars =
|
||||
112 // base
|
||||
|
@ -275,7 +265,6 @@ void RMFontCredits::init() {
|
|||
+ 8 // french
|
||||
+ 2; // deutsch
|
||||
|
||||
|
||||
load(RES_F_CREDITS, nchars, 27, 28, RES_F_CPAL);
|
||||
|
||||
// Default
|
||||
|
@ -283,7 +272,7 @@ void RMFontCredits::init() {
|
|||
_hDefault = 28;
|
||||
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];
|
||||
_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;
|
||||
}
|
||||
|
||||
|
||||
void RMFontObj::init() {
|
||||
int i;
|
||||
|
||||
//bernie: Number of characters in the font (solo maiuscolo)
|
||||
int nchars =
|
||||
85 // base
|
||||
|
@ -318,7 +304,6 @@ void RMFontObj::init() {
|
|||
+ 0 // francais (no uppercase chars)
|
||||
+ 1; // deutsch
|
||||
|
||||
|
||||
load(RES_F_OBJ, nchars, 25, 30);
|
||||
|
||||
// Initialize the font table
|
||||
|
@ -326,7 +311,7 @@ void RMFontObj::init() {
|
|||
_hDefault = 30;
|
||||
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];
|
||||
_lTable[i] = g_vm->_lTableObj[i];
|
||||
}
|
||||
|
@ -345,7 +330,6 @@ void RMFontObj::init() {
|
|||
setBothCase('R', 'U', 3);
|
||||
}
|
||||
|
||||
|
||||
/****************************************************************************\
|
||||
* 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) {
|
||||
RMGfxPrimitive *prim;
|
||||
uint p, old_p;
|
||||
int j, x, y;
|
||||
int len;
|
||||
int numchar;
|
||||
int width, height;
|
||||
|
||||
// Set the base color
|
||||
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,
|
||||
// and the number of lines
|
||||
Common::Array<Common::String> lines;
|
||||
p = 0;
|
||||
j = x = 0;
|
||||
uint p = 0;
|
||||
int j = 0;
|
||||
int x = 0;
|
||||
while (p < text.size()) {
|
||||
j += font->stringLen(text[p]);
|
||||
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.
|
||||
// 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)
|
||||
p--;
|
||||
|
||||
|
@ -475,8 +455,8 @@ void RMText::writeText(Common::String text, RMFontColor *font, int *time) {
|
|||
x += 8;
|
||||
|
||||
// Starting position for the surface: X1, Y
|
||||
width = x;
|
||||
height = (lines.size() - 1) * font->letterHeight() + font->_fontDimy;
|
||||
int width = x;
|
||||
int height = (lines.size() - 1) * font->letterHeight() + font->_fontDimy;
|
||||
|
||||
// Create the surface
|
||||
create(width, height);
|
||||
|
@ -484,8 +464,8 @@ void RMText::writeText(Common::String text, RMFontColor *font, int *time) {
|
|||
|
||||
p = 0;
|
||||
|
||||
y = 0;
|
||||
numchar = 0;
|
||||
int y = 0;
|
||||
int numchar = 0;
|
||||
for (uint i = 0; i < lines.size(); ++i) {
|
||||
const Common::String &line = lines[i];
|
||||
|
||||
|
@ -522,6 +502,7 @@ void RMText::writeText(Common::String text, RMFontColor *font, int *time) {
|
|||
continue;
|
||||
}
|
||||
|
||||
int len;
|
||||
prim = font->makeLetterPrimitive(line[p], len);
|
||||
prim->getDst()._x1 = x;
|
||||
prim->getDst()._y1 = y;
|
||||
|
@ -987,8 +968,6 @@ void RMDialogChoice::close() {
|
|||
}
|
||||
|
||||
void RMDialogChoice::setNumChoices(int num) {
|
||||
int i;
|
||||
|
||||
_numChoices = num;
|
||||
_curAdded = 0;
|
||||
|
||||
|
@ -997,7 +976,7 @@ void RMDialogChoice::setNumChoices(int num) {
|
|||
_ptDrawStrings = new RMPoint[num];
|
||||
|
||||
// Initialization
|
||||
for (i = 0; i < _numChoices; i++) {
|
||||
for (int i = 0; i < _numChoices; i++) {
|
||||
_drawedStrings[i].setColor(0, 255, 0);
|
||||
_drawedStrings[i].setAlignType(RMText::HLEFTPAR, RMText::VTOP);
|
||||
_drawedStrings[i].setMaxLineLength(600);
|
||||
|
|
|
@ -34,7 +34,6 @@
|
|||
#include "tony/mpal/memory.h"
|
||||
#include "tony/mpal/mpal.h"
|
||||
#include "tony/mpal/mpalutils.h"
|
||||
#include "tony/custom.h"
|
||||
#include "tony/game.h"
|
||||
#include "tony/gfxengine.h"
|
||||
#include "tony/tony.h"
|
||||
|
|
|
@ -1386,11 +1386,7 @@ bool doSelection(uint32 i, uint32 dwData) {
|
|||
*/
|
||||
bool mpalInit(const char *lpszMpcFileName, const char *lpszMprFileName,
|
||||
LPLPCUSTOMFUNCTION lplpcfArray, Common::String *lpcfStrings) {
|
||||
Common::File hMpc;
|
||||
byte buf[5];
|
||||
uint32 nBytesRead;
|
||||
bool bCompress;
|
||||
uint32 dwSizeDecomp, dwSizeComp;
|
||||
byte *cmpbuf;
|
||||
|
||||
// Save the array of custom functions
|
||||
|
@ -1398,21 +1394,22 @@ bool mpalInit(const char *lpszMpcFileName, const char *lpszMprFileName,
|
|||
GLOBALS._lplpFunctionStrings = lpcfStrings;
|
||||
|
||||
// OPen the MPC file for reading
|
||||
Common::File hMpc;
|
||||
if (!hMpc.open(lpszMpcFileName))
|
||||
return false;
|
||||
|
||||
// Read and check the header
|
||||
nBytesRead = hMpc.read(buf, 5);
|
||||
uint32 nBytesRead = hMpc.read(buf, 5);
|
||||
if (nBytesRead != 5)
|
||||
return false;
|
||||
|
||||
if (buf[0] != 'M' || buf[1] != 'P' || buf[2] != 'C' || buf[3] != 0x20)
|
||||
return false;
|
||||
|
||||
bCompress = buf[4];
|
||||
bool bCompress = buf[4];
|
||||
|
||||
// Reads the size of the uncompressed file, and allocate memory
|
||||
dwSizeDecomp = hMpc.readUint32LE();
|
||||
uint32 dwSizeDecomp = hMpc.readUint32LE();
|
||||
if (hMpc.err())
|
||||
return false;
|
||||
|
||||
|
@ -1422,7 +1419,7 @@ bool mpalInit(const char *lpszMpcFileName, const char *lpszMprFileName,
|
|||
|
||||
if (bCompress) {
|
||||
// Get the compressed size and read the data in
|
||||
dwSizeComp = hMpc.readUint32LE();
|
||||
uint32 dwSizeComp = hMpc.readUint32LE();
|
||||
if (hMpc.err())
|
||||
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
|
||||
GLOBALS._hMpr.seek(-12, SEEK_END);
|
||||
|
||||
dwSizeComp = GLOBALS._hMpr.readUint32LE();
|
||||
uint32 dwSizeComp = GLOBALS._hMpr.readUint32LE();
|
||||
if (GLOBALS._hMpr.err())
|
||||
return false;
|
||||
|
||||
|
@ -1941,11 +1938,9 @@ uint32 mpalGetError() {
|
|||
* @returns TRUE if the script 'was launched, FALSE on failure
|
||||
*/
|
||||
bool mpalExecuteScript(int nScript) {
|
||||
LpMpalScript s;
|
||||
|
||||
LockScripts();
|
||||
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)
|
||||
return false;
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue