From 0111cea7d7b9164125cb6163050d1ddfcc1335f8 Mon Sep 17 00:00:00 2001 From: Strangerke Date: Fri, 23 Mar 2012 07:44:04 +0100 Subject: MORTEVIELLE: More renaming --- engines/mortevielle/actions.cpp | 12 +++---- engines/mortevielle/dialogs.cpp | 4 +-- engines/mortevielle/graphics.cpp | 2 +- engines/mortevielle/menu.cpp | 70 ++++++++++++++++++------------------- engines/mortevielle/menu.h | 2 ++ engines/mortevielle/mor.cpp | 31 +++++++--------- engines/mortevielle/mor.h | 1 - engines/mortevielle/mortevielle.cpp | 37 ++++++++++++-------- engines/mortevielle/mortevielle.h | 18 +++++++--- engines/mortevielle/mouse.cpp | 58 +++++++++++++++--------------- engines/mortevielle/mouse.h | 3 +- engines/mortevielle/outtext.cpp | 13 +++---- engines/mortevielle/speech.cpp | 64 ++++++++++++++++++++++----------- engines/mortevielle/speech.h | 1 + engines/mortevielle/var_mor.cpp | 48 ------------------------- engines/mortevielle/var_mor.h | 33 ----------------- 16 files changed, 176 insertions(+), 221 deletions(-) (limited to 'engines') diff --git a/engines/mortevielle/actions.cpp b/engines/mortevielle/actions.cpp index bcf291b0f1..1c3314fe90 100644 --- a/engines/mortevielle/actions.cpp +++ b/engines/mortevielle/actions.cpp @@ -209,7 +209,7 @@ void MortevielleEngine::fctTake() { _obpart = false; affrep(); } else { - _tabdon[kAcha + ((g_mchai - 1) * 10) + g_cs - 1] = 0; + _tabdon[kAcha + ((_mchai - 1) * 10) + g_cs - 1] = 0; tsuiv(); ++g_dobj; if (g_dobj > 6) { @@ -515,8 +515,8 @@ void MortevielleEngine::fctSearch() { if (_currBitIndex > 0) _coreVar._faithScore += 3; - rechai(g_mchai); - if (g_mchai != 0) { + rechai(_mchai); + if (_mchai != 0) { g_cs = 0; g_is = 0; _heroSearching = true; @@ -891,8 +891,8 @@ void MortevielleEngine::fctClose() { g_iouv = 0; int chai = 9999; rechai(chai); - if (g_mchai == chai) - g_mchai = 0; + if (_mchai == chai) + _mchai = 0; } else { g_crep = 187; } @@ -985,7 +985,7 @@ void MortevielleEngine::fctSelfPut() { if (g_num != ord(_touv[cx])) g_crep = 187; else { - g_mchai = chai; + _mchai = chai; g_crep = 999; } } diff --git a/engines/mortevielle/dialogs.cpp b/engines/mortevielle/dialogs.cpp index 318a4ba4a9..b14af53b00 100644 --- a/engines/mortevielle/dialogs.cpp +++ b/engines/mortevielle/dialogs.cpp @@ -299,7 +299,7 @@ bool KnowledgeCheck::show() { for (int indx = 0; indx < 10; ++indx) { g_vm->_mouse.hideMouse(); - hirs(); + g_vm->hirs(); g_vm->_mouse.showMouse(); int dialogHeight; if (g_res == 1) @@ -429,7 +429,7 @@ void f3f8::checkForF8(int SpeechNum, bool drawAni50Fl) { if (g_vm->_newGraphicalDevice != g_vm->_currGraphicalDevice) { g_vm->_currGraphicalDevice = g_vm->_newGraphicalDevice; - hirs(); + g_vm->hirs(); aff50(drawAni50Fl); } } while (g_key != 66); // keycode for F8 diff --git a/engines/mortevielle/graphics.cpp b/engines/mortevielle/graphics.cpp index dc63e05c22..2e9e0195a6 100644 --- a/engines/mortevielle/graphics.cpp +++ b/engines/mortevielle/graphics.cpp @@ -913,7 +913,7 @@ void ScreenSurface::drawPicture(GfxSurface &surface, int x, int y) { (x + surface.w) * 2, (y + surface.h) * 2)); // Get a lookup for the palette mapping - const byte *paletteMap = &g_mem[0x7000 * 16 + 2]; + const byte *paletteMap = &g_vm->_mem[0x7000 * 16 + 2]; // Loop through writing for (int yp = 0; yp < surface.h; ++yp) { diff --git a/engines/mortevielle/menu.cpp b/engines/mortevielle/menu.cpp index ec41a7eb95..1b030935cb 100644 --- a/engines/mortevielle/menu.cpp +++ b/engines/mortevielle/menu.cpp @@ -220,8 +220,8 @@ void Menu::displayMenu() { void Menu::drawMenu() { displayMenu(); _menuActive = true; - g_msg4 = OPCODE_NONE; - g_msg3 = OPCODE_NONE; + _msg4 = OPCODE_NONE; + _msg3 = OPCODE_NONE; _menuSelected = false; g_vm->setMouseClick(false); _multiTitle = false; @@ -232,15 +232,15 @@ void Menu::drawMenu() { * @remarks Originally called 'invers' */ void Menu::invert(int indx) { - if (g_msg4 == OPCODE_NONE) + if (_msg4 == OPCODE_NONE) return; - int menuIndex = lo(g_msg4); + int menuIndex = lo(_msg4); - g_vm->_screenSurface.putxy(_menuConstants[g_msg3 - 1][0] << 3, (menuIndex + 1) << 3); + g_vm->_screenSurface.putxy(_menuConstants[_msg3 - 1][0] << 3, (menuIndex + 1) << 3); Common::String str; - switch (g_msg3) { + switch (_msg3) { case 1: str = _inventoryStringArray[menuIndex]; break; @@ -279,14 +279,14 @@ void Menu::invert(int indx) { if ((str[0] != '*') && (str[0] != '<')) g_vm->_screenSurface.drawString(str, indx); else - g_msg4 = OPCODE_NONE; + _msg4 = OPCODE_NONE; } void Menu::util(Common::Point pos) { - int ymx = (_menuConstants[g_msg3 - 1][3] << 3) + 16; - int dxcar = _menuConstants[g_msg3 - 1][2]; - int xmn = (_menuConstants[g_msg3 - 1][0] << 2) * g_res; + int ymx = (_menuConstants[_msg3 - 1][3] << 3) + 16; + int dxcar = _menuConstants[_msg3 - 1][2]; + int xmn = (_menuConstants[_msg3 - 1][0] << 2) * g_res; int ix; if (g_res == 1) @@ -295,15 +295,15 @@ void Menu::util(Common::Point pos) { ix = 3; int xmx = dxcar * ix * g_res + xmn + 2; if ((pos.x > xmn) && (pos.x < xmx) && (pos.y < ymx) && (pos.y > 15)) { - ix = (((uint)pos.y >> 3) - 1) + (g_msg3 << 8); - if (ix != g_msg4) { + ix = (((uint)pos.y >> 3) - 1) + (_msg3 << 8); + if (ix != _msg4) { invert(1); - g_msg4 = ix; + _msg4 = ix; invert(0); } - } else if (g_msg4 != OPCODE_NONE) { + } else if (_msg4 != OPCODE_NONE) { invert(1); - g_msg4 = OPCODE_NONE; + _msg4 = OPCODE_NONE; } } @@ -419,7 +419,7 @@ void Menu::menuUp(int xx) { void Menu::eraseMenu() { _menuActive = false; g_vm->setMouseClick(false); - menuUp(g_msg3); + menuUp(_msg3); } /** @@ -459,37 +459,37 @@ void Menu::mdn() { else ix = MENU_FILE; - if ((ix != g_msg3) || (!_multiTitle)) - if (!((ix == MENU_FILE) && ((g_msg3 == MENU_SAVE) || (g_msg3 == MENU_LOAD)))) { - menuUp(g_msg3); + if ((ix != _msg3) || (!_multiTitle)) + if (!((ix == MENU_FILE) && ((_msg3 == MENU_SAVE) || (_msg3 == MENU_LOAD)))) { + menuUp(_msg3); menuDown(ix); - g_msg3 = ix; - g_msg4 = OPCODE_NONE; + _msg3 = ix; + _msg4 = OPCODE_NONE; } } else { // Not in the MenuTitle line if ((curPos.y > 11) && (_multiTitle)) util(curPos); } } else { // There was a click - if ((g_msg3 == MENU_FILE) && (g_msg4 != OPCODE_NONE)) { + if ((_msg3 == MENU_FILE) && (_msg4 != OPCODE_NONE)) { // Another menu to be _displayed g_vm->setMouseClick(false); - menuUp(g_msg3); - if (lo(g_msg4) == 1) - g_msg3 = 7; + menuUp(_msg3); + if (lo(_msg4) == 1) + _msg3 = 7; else - g_msg3 = 8; - menuDown(g_msg3); + _msg3 = 8; + menuDown(_msg3); g_vm->setMouseClick(false); } else { // A menu was clicked on - _menuSelected = (_multiTitle) && (g_msg4 != OPCODE_NONE); - menuUp(g_msg3); - g_vm->_msg[4] = g_msg4; - g_vm->_msg[3] = g_msg3; - g_msg3 = OPCODE_NONE; - g_msg4 = OPCODE_NONE; + _menuSelected = (_multiTitle) && (_msg4 != OPCODE_NONE); + menuUp(_msg3); + g_vm->_msg[4] = _msg4; + g_vm->_msg[3] = _msg3; + _msg3 = OPCODE_NONE; + _msg4 = OPCODE_NONE; g_vm->setMouseClick(false); } @@ -540,8 +540,8 @@ void Menu::initMenu() { if (i > 6) g_vm->_menu.disableMenuItem(_inventoryMenu[i]); } - g_msg3 = OPCODE_NONE; - g_msg4 = OPCODE_NONE; + _msg3 = OPCODE_NONE; + _msg4 = OPCODE_NONE; g_vm->_msg[3] = OPCODE_NONE; g_vm->_msg[4] = OPCODE_NONE; g_vm->setMouseClick(false); diff --git a/engines/mortevielle/menu.h b/engines/mortevielle/menu.h index b600d4e3af..f4d12bc676 100644 --- a/engines/mortevielle/menu.h +++ b/engines/mortevielle/menu.h @@ -41,6 +41,8 @@ enum { class Menu { private: byte _charArr[7][24]; + int _msg3; + int _msg4; void util(Common::Point pos); void invert(int indx); diff --git a/engines/mortevielle/mor.cpp b/engines/mortevielle/mor.cpp index 9bd3236024..4c1d4dedf9 100644 --- a/engines/mortevielle/mor.cpp +++ b/engines/mortevielle/mor.cpp @@ -46,15 +46,15 @@ namespace Mortevielle { void pictout(int seg, int dep, int x, int y) { GfxSurface surface; - surface.decode(&g_mem[seg * 16 + dep]); + surface.decode(&g_vm->_mem[seg * 16 + dep]); if (g_vm->_currGraphicalDevice == MODE_HERCULES) { - g_mem[0x7000 * 16 + 2] = 0; - g_mem[0x7000 * 16 + 32] = 15; + g_vm->_mem[0x7000 * 16 + 2] = 0; + g_vm->_mem[0x7000 * 16 + 32] = 15; } - if ((g_caff != 51) && (READ_LE_UINT16(&g_mem[0x7000 * 16 + 0x4138]) > 0x100)) - WRITE_LE_UINT16(&g_mem[0x7000 * 16 + 0x4138], 0x100); + if ((g_caff != 51) && (READ_LE_UINT16(&g_vm->_mem[0x7000 * 16 + 0x4138]) > 0x100)) + WRITE_LE_UINT16(&g_vm->_mem[0x7000 * 16 + 0x4138], 0x100); g_vm->_screenSurface.drawPicture(surface, x, y); } @@ -77,7 +77,7 @@ void adzon() { if (!f.open("dec.mor")) error("Missing file - dec.mor"); - f.read(&g_mem[0x73a2 * 16 + 0], 1 * 1664); + f.read(&g_vm->_mem[0x73a2 * 16 + 0], 1 * 1664); f.close(); } @@ -85,12 +85,12 @@ void adzon() { * Returns the offset within the compressed image data resource of the desired image */ int animof(int ouf, int num) { - int nani = g_mem[kAdrAni * 16 + 1]; + int nani = g_vm->_mem[kAdrAni * 16 + 1]; int aux = num; if (ouf != 1) aux += nani; - int animof_result = (nani << 2) + 2 + READ_BE_UINT16(&g_mem[kAdrAni * 16 + (aux << 1)]); + int animof_result = (nani << 2) + 2 + READ_BE_UINT16(&g_vm->_mem[kAdrAni * 16 + (aux << 1)]); return animof_result; } @@ -185,13 +185,6 @@ void ecr3(Common::String text) { g_vm->_screenSurface.drawString(text, 5); } -void stop() { - hirs(); - g_vm->_currGraphicalDevice = MODE_AMSTRAD1512; - hirs(); - g_vm->quitGame(); -} - void paint_rect(int x, int y, int dx, int dy) { int co; @@ -460,7 +453,7 @@ void aniof(int ouf, int num) { int offset = animof(ouf, num); GfxSurface surface; - surface.decode(&g_mem[ad * 16 + offset]); + surface.decode(&g_vm->_mem[ad * 16 + offset]); g_vm->_screenSurface.drawPicture(surface, 0, 12); g_vm->prepareScreenType1(); @@ -590,7 +583,7 @@ void tsort() { g_vm->_touv[cx] = chr(0); g_ment = 0; g_iouv = 0; - g_mchai = 0; + g_vm->_mchai = 0; debloc(g_vm->_coreVar._currPlace); } @@ -658,7 +651,7 @@ void premtet() { /* NIVEAU 5 */ void ajchai() { - int cy = kAcha + ((g_mchai - 1) * 10) - 1; + int cy = kAcha + ((g_vm->_mchai - 1) * 10) - 1; int cx = 0; do { ++cx; @@ -743,7 +736,7 @@ void tsuiv() { int tbcl; int cl; - int cy = kAcha + ((g_mchai - 1) * 10) - 1; + int cy = kAcha + ((g_vm->_mchai - 1) * 10) - 1; int cx = 0; do { ++cx; diff --git a/engines/mortevielle/mor.h b/engines/mortevielle/mor.h index 03a4c0f757..30b0cafb47 100644 --- a/engines/mortevielle/mor.h +++ b/engines/mortevielle/mor.h @@ -54,7 +54,6 @@ extern void text1(int x, int y, int nb, int m); extern void initouv(); extern void ecr2(Common::String str_); extern void ecr3(Common::String text); -extern void stop(); extern void paint_rect(int x, int y, int dx, int dy); /* NIVEAU 12 */ extern void modobj(int m); diff --git a/engines/mortevielle/mortevielle.cpp b/engines/mortevielle/mortevielle.cpp index ffad259f9d..05d6e05a56 100644 --- a/engines/mortevielle/mortevielle.cpp +++ b/engines/mortevielle/mortevielle.cpp @@ -541,7 +541,7 @@ Common::Error MortevielleEngine::run() { */ void MortevielleEngine::showIntroduction() { f3f8::aff50(false); - g_mlec = 0; + _speechManager._mlec = 0; f3f8::checkForF8(142, false); CHECK_QUIT; @@ -1656,7 +1656,7 @@ void MortevielleEngine::loseGame() { initouv(); g_ment = 0; g_iouv = 0; - g_mchai = 0; + _mchai = 0; _menu.unsetSearchMenu(); if (!_blo) t11(MANOR_FRONT); @@ -1870,7 +1870,7 @@ void MortevielleEngine::gameLoaded() { g_ment = 0; _syn = true; _heroSearching = true; - g_mchai = 0; + _mchai = 0; _manorDistance = 0; initouv(); g_iouv = 0; @@ -2303,8 +2303,8 @@ void MortevielleEngine::setPal(int n) { case MODE_EGA: case MODE_AMSTRAD1512: for (int i = 1; i <= 16; ++i) { - g_mem[(0x7000 * 16) + (2 * i)] = _stdPal[n][i].x; - g_mem[(0x7000 * 16) + (2 * i) + 1] = _stdPal[n][i].y; + g_vm->_mem[(0x7000 * 16) + (2 * i)] = _stdPal[n][i].x; + g_vm->_mem[(0x7000 * 16) + (2 * i) + 1] = _stdPal[n][i].y; } break; case MODE_CGA: { @@ -2332,12 +2332,12 @@ void MortevielleEngine::setPal(int n) { void MortevielleEngine::displayCGAPattern(int n, Pattern p, nhom *pal) { int addr = n * 404 + 0xd700; - WRITE_LE_UINT16(&g_mem[0x6000 * 16 + addr], p._tax); - WRITE_LE_UINT16(&g_mem[0x6000 * 16 + addr + 2], p._tay); + WRITE_LE_UINT16(&g_vm->_mem[0x6000 * 16 + addr], p._tax); + WRITE_LE_UINT16(&g_vm->_mem[0x6000 * 16 + addr + 2], p._tay); addr += 4; for (int i = 0; i < p._tax; ++i) { for (int j = 0; j < p._tay; ++j) - g_mem[(0x6000 * 16) + addr + j * p._tax + i] = pal[n]._hom[p._des[i + 1][j + 1]]; + g_vm->_mem[(0x6000 * 16) + addr + j * p._tax + i] = pal[n]._hom[p._des[i + 1][j + 1]]; } } @@ -2443,7 +2443,7 @@ void MortevielleEngine::loadBRUIT5() { if (!f.open("bruit5")) error("Missing file - bruit5"); - f.read(&g_mem[kAdrNoise5 * 16 + 0], 149 * 128); + f.read(&g_vm->_mem[kAdrNoise5 * 16 + 0], 149 * 128); f.close(); } @@ -2486,12 +2486,12 @@ void MortevielleEngine::music() { if (!fic.open("mort.img")) error("Missing file - mort.img"); - fic.read(&g_mem[0x3800 * 16 + 0], 500); - fic.read(&g_mem[0x47a0 * 16 + 0], 123); + fic.read(&g_vm->_mem[0x3800 * 16 + 0], 500); + fic.read(&g_vm->_mem[0x47a0 * 16 + 0], 123); fic.close(); - _soundManager.decodeMusic(&g_mem[0x3800 * 16], &g_mem[0x5000 * 16], 623); - _addfix = (float)((kTempoMusic - g_addv[1])) / 256; + _soundManager.decodeMusic(&g_vm->_mem[0x3800 * 16], &g_vm->_mem[0x5000 * 16], 623); + _addfix = (float)((kTempoMusic - 8)) / 256; _speechManager.cctable(_speechManager._tbi); bool fin = false; @@ -2544,7 +2544,7 @@ void MortevielleEngine::draw(int ad, int x, int y) { void MortevielleEngine::drawRightFrame() { setPal(89); if (_currGraphicalDevice == MODE_HERCULES) { - g_mem[0x7000 * 16 + 14] = 15; + g_vm->_mem[0x7000 * 16 + 14] = 15; } _mouse.hideMouse(); pictout(0x73a2, 0, 0, 0); @@ -2791,4 +2791,13 @@ Common::String MortevielleEngine::copy(const Common::String &s, int idx, size_t return result; } +void MortevielleEngine::hirs() { + // Note: The original used this to set the graphics mode and clear the screen, both at + // the start of the game, and whenever the screen need to be cleared. As such, this + // method is deprecated in favour of clearing the screen + debugC(1, kMortevielleCore, "TODO: hirs is deprecated in favour of ScreenSurface::clearScreen"); + + g_vm->_screenSurface.clearScreen(); +} + } // End of namespace Mortevielle diff --git a/engines/mortevielle/mortevielle.h b/engines/mortevielle/mortevielle.h index 46795e682a..69cb12ab67 100644 --- a/engines/mortevielle/mortevielle.h +++ b/engines/mortevielle/mortevielle.h @@ -123,6 +123,11 @@ struct SaveStruct { byte _fullHour; }; +struct Hint { + int _hintId; + byte _point; +}; + class MortevielleEngine : public Engine { private: const ADGameDescription *_gameDescription; @@ -211,17 +216,20 @@ public: int _day; int _hour; int _minute; + int _mchai; float _addfix; - - int _numpal; - + SaveStruct _coreVar, _saveStruct; Common::Point _stdPal[91][17]; t_pcga _cgaPal[91]; + int _c_zzz; int ptr_word; byte _v_lieu[7][25]; - SaveStruct _coreVar, _saveStruct; byte g_is; + int _numpal; + + // TODO: Replace the following with proper implementations, or refactor out the code using them + byte _mem[65536 * 16]; ScreenSurface _screenSurface; PaletteManager _paletteManager; @@ -374,7 +382,7 @@ public: void prepareRoom(); void drawClock(); Common::String copy(const Common::String &s, int idx, size_t size); - + void hirs(); }; extern MortevielleEngine *g_vm; diff --git a/engines/mortevielle/mouse.cpp b/engines/mortevielle/mouse.cpp index 301072391e..bd7e489aa9 100644 --- a/engines/mortevielle/mouse.cpp +++ b/engines/mortevielle/mouse.cpp @@ -57,10 +57,10 @@ void MouseHandler::hideMouse() { int k = 0; j = ((uint)_pos.y >> 1) * 80 + ((uint)_pos.x >> 2); do { - WRITE_LE_UINT16(&g_mem[0xb000 * 16 + j], s_s[0][k]); - WRITE_LE_UINT16(&g_mem[0xb800 * 16 + j + 2], s_s[1][k]); - WRITE_LE_UINT16(&g_mem[0xba00 * 16 + j], s_s[2][k]); - WRITE_LE_UINT16(&g_mem[0xba00 * 16 + j + 2], s_s[3][k]); + WRITE_LE_UINT16(&g_vm->_mem[0xb000 * 16 + j], s_s[0][k]); + WRITE_LE_UINT16(&g_vm->_mem[0xb800 * 16 + j + 2], s_s[1][k]); + WRITE_LE_UINT16(&g_vm->_mem[0xba00 * 16 + j], s_s[2][k]); + WRITE_LE_UINT16(&g_vm->_mem[0xba00 * 16 + j + 2], s_s[3][k]); j += 80; ++k; } while (k < 5); @@ -69,15 +69,15 @@ void MouseHandler::hideMouse() { case MODE_AMSTRAD1512: { bool imp = odd(_pos.y); for (int i = 0; i <= 3; ++i) { - g_port[0x3dd] = 1 << i; + _port[0x3dd] = 1 << i; int k = 0; j = 0; do { if (imp) { - WRITE_LE_UINT16(&g_mem[0xb800 * 16 + j], s_s[i][k]); + WRITE_LE_UINT16(&g_vm->_mem[0xb800 * 16 + j], s_s[i][k]); j += 80 - 0x2000; } else { - WRITE_LE_UINT16(&g_mem[0xb800 * 16 + j], s_s[i][k]); + WRITE_LE_UINT16(&g_vm->_mem[0xb800 * 16 + j], s_s[i][k]); j += 0x2000; } imp = !imp; @@ -87,22 +87,22 @@ void MouseHandler::hideMouse() { break; } case MODE_EGA: { - g_port[0x3c4] = 2; - g_port[0x3ce] = 8; - g_port[0x3cf] = 255; + _port[0x3c4] = 2; + _port[0x3ce] = 8; + _port[0x3cf] = 255; int i = 0; do { - g_port[0x3c5] = 1 << i; + _port[0x3c5] = 1 << i; int k = 0; j = 0; do { // Useless ? // ps = mem[0xa000 * 16 + j]; - g_mem[0xa000 * 16 + j] = lo(s_s[i][k]); + g_vm->_mem[0xa000 * 16 + j] = lo(s_s[i][k]); // Useless ?? // ps = mem[0xa000 * 16 + j + 1]; - g_mem[0xa000 * 16 + j + 1] = hi(s_s[i][k]); + g_vm->_mem[0xa000 * 16 + j + 1] = hi(s_s[i][k]); j += 80; ++k; } while (k < 8); @@ -114,7 +114,7 @@ void MouseHandler::hideMouse() { j = ((uint)_pos.y >> 1) * 80 + ((uint)_pos.x >> 3); for (int i = 0; i <= 5; ++i) { for (int k = 0; k <= 3; ++k) - WRITE_LE_UINT16(&g_mem[0xb000 * 16 + k * 0x200 + j], s_s[i][k]); + WRITE_LE_UINT16(&g_vm->_mem[0xb000 * 16 + k * 0x200 + j], s_s[i][k]); j += 80; } break; @@ -123,8 +123,8 @@ void MouseHandler::hideMouse() { int k = 0; do { for (int i = 0; i <= 3; ++i) { - WRITE_LE_UINT16(&g_mem[0xb800 * 16 + 0x200 * i + j], s_s[k][i + (k << 2)]); - WRITE_LE_UINT16(&g_mem[0xb800 * 16 + 0x200 * i + j + 2], s_s[k + 3][i + (k << 2)]); + WRITE_LE_UINT16(&g_vm->_mem[0xb800 * 16 + 0x200 * i + j], s_s[k][i + (k << 2)]); + WRITE_LE_UINT16(&g_vm->_mem[0xb800 * 16 + 0x200 * i + j + 2], s_s[k + 3][i + (k << 2)]); } j += 160; ++k; @@ -154,10 +154,10 @@ void MouseHandler::showMouse() { k = 0; j = ((uint)_pos.y >> 1) * 80 + ((uint)_pos.x >> 2); do { - s_s[0][k] = READ_LE_UINT16(&g_mem[0xb800 * 16 + j]); - s_s[1][k] = READ_LE_UINT16(&g_mem[0xb800 * 16 + j + 2]); - s_s[2][k] = READ_LE_UINT16(&g_mem[0xba00 * 16 + j]); - s_s[3][k] = READ_LE_UINT16(&g_mem[0xba00 * 16 + j + 2]); + s_s[0][k] = READ_LE_UINT16(&g_vm->_mem[0xb800 * 16 + j]); + s_s[1][k] = READ_LE_UINT16(&g_vm->_mem[0xb800 * 16 + j + 2]); + s_s[2][k] = READ_LE_UINT16(&g_vm->_mem[0xba00 * 16 + j]); + s_s[3][k] = READ_LE_UINT16(&g_vm->_mem[0xba00 * 16 + j + 2]); j += 80; ++k; } while (k < 5); @@ -167,14 +167,14 @@ void MouseHandler::showMouse() { for (i = 0; i <= 3; ++i) { j = 0; imp = odd(_pos.y); - g_port[0x3de] = i; + _port[0x3de] = i; k = 0; do { if (imp) { - s_s[i][k] = READ_LE_UINT16(&g_mem[0xb800 * 16 + j]); + s_s[i][k] = READ_LE_UINT16(&g_vm->_mem[0xb800 * 16 + j]); j += 80 - 0x2000; } else { - s_s[i][k] = READ_LE_UINT16(&g_mem[0xb800 * 16 + j]); + s_s[i][k] = READ_LE_UINT16(&g_vm->_mem[0xb800 * 16 + j]); j += 0x2000; } imp = !imp; @@ -184,14 +184,14 @@ void MouseHandler::showMouse() { break; } case MODE_EGA: - g_port[0x3ce] = 4; + _port[0x3ce] = 4; l = 0; do { - g_port[0x3cf] = l; + _port[0x3cf] = l; k = 0; j = 0; do { - s_s[l][k] = g_mem[0xa000 * 16 + j] + (g_mem[(0xa000 * 16) + j + 1] << 8); + s_s[l][k] = g_vm->_mem[0xa000 * 16 + j] + (g_vm->_mem[(0xa000 * 16) + j + 1] << 8); j += 80; ++k; } while (k < 8); @@ -202,7 +202,7 @@ void MouseHandler::showMouse() { j = ((uint)_pos.y >> 1) * 80 + ((uint)_pos.x >> 3); for (i = 0; i <= 5; ++i) { for (k = 0; k <= 3; ++k) - s_s[i][k] = READ_LE_UINT16(&g_mem[0xb000 * 16 + k * 0x200 + j]); + s_s[i][k] = READ_LE_UINT16(&g_vm->_mem[0xb000 * 16 + k * 0x200 + j]); j += 80; } break; @@ -211,8 +211,8 @@ void MouseHandler::showMouse() { k = 0; do { for (i = 0; i <= 3; ++i) { - s_s[k][i + (k << 2)] = READ_LE_UINT16(&g_mem[0xb800 * 16 + 0x200 * i + j]); - s_s[k + 3][i + (k << 2)] = READ_LE_UINT16(&g_mem[0xb800 * 16 + 0x200 * i + j + 2]); + s_s[k][i + (k << 2)] = READ_LE_UINT16(&g_vm->_mem[0xb800 * 16 + 0x200 * i + j]); + s_s[k + 3][i + (k << 2)] = READ_LE_UINT16(&g_vm->_mem[0xb800 * 16 + 0x200 * i + j + 2]); } j += 160; ++k; diff --git a/engines/mortevielle/mouse.h b/engines/mortevielle/mouse.h index 0bf46d926d..b570f8913c 100644 --- a/engines/mortevielle/mouse.h +++ b/engines/mortevielle/mouse.h @@ -36,7 +36,8 @@ class MouseHandler { private: int s_s[12][6]; int _counter; - + // TODO: Replace the following with proper implementations, or refactor out the code using them + int _port[0xfff]; public: Common::Point _pos; diff --git a/engines/mortevielle/outtext.cpp b/engines/mortevielle/outtext.cpp index bb57ac07e6..8a3ecb8041 100644 --- a/engines/mortevielle/outtext.cpp +++ b/engines/mortevielle/outtext.cpp @@ -37,6 +37,7 @@ namespace Mortevielle { typedef unsigned char uchar; +const byte _rang[16] = {15, 14, 11, 7, 13, 12, 10, 6, 9, 5, 3, 1, 2, 4, 8, 0}; static int l_motsuiv(int p, const char *ch, int &tab) { int c = p; @@ -140,14 +141,14 @@ void chardes(Common::String filename, int32 skipSize, int length) { int totalLength = length + remainingSkipSize; int memIndx = 0x6000 * 16; while (totalLength > 0) { - f.read(&g_mem[memIndx], 128); + f.read(&g_vm->_mem[memIndx], 128); totalLength -= 128; memIndx += 128; } f.close(); for (int i = remainingSkipSize; i <= length + remainingSkipSize; ++i) - g_mem[0x7000 * 16 + i - remainingSkipSize] = g_mem[0x6000 * 16 + i]; + g_vm->_mem[0x7000 * 16 + i - remainingSkipSize] = g_vm->_mem[0x6000 * 16 + i]; } void charani(Common::String filename, int32 skipSize, int length) { @@ -167,14 +168,14 @@ void charani(Common::String filename, int32 skipSize, int length) { int fullLength = length + remainingSkipSize; int memIndx = 0x6000 * 16; while (fullLength > 0) { - f.read(&g_mem[memIndx], 128); + f.read(&g_vm->_mem[memIndx], 128); fullLength -= 128; memIndx += 128; } f.close(); for (int i = remainingSkipSize; i <= length + remainingSkipSize; ++i) - g_mem[kAdrAni * 16 + i - remainingSkipSize] = g_mem[0x6000 * 16 + i]; + g_vm->_mem[kAdrAni * 16 + i - remainingSkipSize] = g_vm->_mem[0x6000 * 16 + i]; } void taffich() { @@ -298,7 +299,7 @@ void taffich() { chardes(filename, lgt, handle); if (g_vm->_currGraphicalDevice == MODE_HERCULES) { for (int i = 0; i <= 15; ++i) { - int palh = READ_LE_UINT16(&g_mem[(0x7000 * 16) + ((i + 1) << 1)]); + int palh = READ_LE_UINT16(&g_vm->_mem[(0x7000 * 16) + ((i + 1) << 1)]); alllum[i] = (palh & 15) + (((uint)palh >> 12) & 15) + (((uint)palh >> 8) & 15); } for (int i = 0; i <= 15; ++i) { @@ -306,7 +307,7 @@ void taffich() { for (int j = 0; j <= 15; ++j) if (alllum[j] > alllum[k]) k = j; - g_mem[(0x7000 * 16) + 2 + (k << 1)] = g_rang[i]; + g_vm->_mem[(0x7000 * 16) + 2 + (k << 1)] = _rang[i]; alllum[k] = -1; } } diff --git a/engines/mortevielle/speech.cpp b/engines/mortevielle/speech.cpp index 7d235cd6e5..d8731f96ac 100644 --- a/engines/mortevielle/speech.cpp +++ b/engines/mortevielle/speech.cpp @@ -35,6 +35,28 @@ namespace Mortevielle { +const byte _tnocon[364] = { + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 +}; + +const byte _intcon[26] = {1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0}; +const byte _typcon[26] = {0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3}; +const byte _tabdph[16] = {0, 10, 2, 0, 2, 10, 3, 0, 3, 7, 5, 0, 6, 7, 7, 10}; +const byte _tabdbc[18] = {7, 23, 7, 14, 13, 9, 14, 9, 5, 12, 6, 12, 13, 4, 0, 4, 5, 9}; + SpeechManager::SpeechManager() { _typlec = 0; _phonemeNumb = 0; @@ -53,7 +75,7 @@ void SpeechManager::spfrac(int wor) { } void SpeechManager::charg_car(int &currWordNumb) { - int wor = swap(READ_LE_UINT16(&g_mem[kAdrWord + currWordNumb])); + int wor = swap(READ_LE_UINT16(&g_vm->_mem[kAdrWord + currWordNumb])); int int_ = wor & 0x3f; // 63 if ((int_ >= 0) && (int_ <= 13)) { @@ -65,7 +87,7 @@ void SpeechManager::charg_car(int &currWordNumb) { } else if ((int_ >= 22) && (int_ <= 47)) { int_ = int_ - 22; _queue[2]._val = int_; - _queue[2]._code = g_typcon[int_]; + _queue[2]._code = _typcon[int_]; } else if ((int_ >= 48) && (int_ <= 56)) { _queue[2]._val = int_ - 22; _queue[2]._code = 4; @@ -93,7 +115,7 @@ void SpeechManager::charg_car(int &currWordNumb) { void SpeechManager::entroct(byte o) { - g_mem[kAdrTroct * 16 + _ptr_oct] = o; + g_vm->_mem[kAdrTroct * 16 + _ptr_oct] = o; ++_ptr_oct; } @@ -115,7 +137,7 @@ void SpeechManager::regenbruit() { int i = kOffsetB3 + 8590; int j = 0; do { - _cfiphBuffer[j] = READ_LE_UINT16(&g_mem[kAdrNoise3 + i]); + _cfiphBuffer[j] = READ_LE_UINT16(&g_vm->_mem[kAdrNoise3 + i]); i += 2; ++j; } while (i < kOffsetB3 + 8790); @@ -131,9 +153,9 @@ void SpeechManager::loadMusicSound() { if (!f.open("sonmus.mor")) error("Missing file - sonmus.mor"); - f.read(&g_mem[0x7414 * 16 + 0], 273); + f.read(&g_vm->_mem[0x7414 * 16 + 0], 273); - g_vm->_soundManager.decodeMusic(&g_mem[0x7414 * 16], &g_mem[kAdrNoise * 16], 273); + g_vm->_soundManager.decodeMusic(&g_vm->_mem[0x7414 * 16], &g_vm->_mem[kAdrNoise * 16], 273); f.close(); } @@ -164,10 +186,10 @@ void SpeechManager::loadNoise() { if (!f.open("bruits")) //Translation: "noise" error("Missing file - bruits"); - f.read(&g_mem[kAdrNoise * 16 + 0], 250); + f.read(&g_vm->_mem[kAdrNoise * 16 + 0], 250); for (i = 0; i <= 19013; ++i) - g_mem[kAdrNoise * 16 + 32000 + i] = g_mem[kAdrNoise5 + i]; - f.read(&g_mem[kAdrNoise1 * 16 + kOffsetB1], 149); + g_vm->_mem[kAdrNoise * 16 + 32000 + i] = g_vm->_mem[kAdrNoise5 + i]; + f.read(&g_vm->_mem[kAdrNoise1 * 16 + kOffsetB1], 149); f.close(); } @@ -185,7 +207,7 @@ void SpeechManager::trait_car() { case 5: case 6: if (_queue[1]._code == 6) - d3 = g_tabdph[(_queue[1]._val - 14) << 1]; + d3 = _tabdph[(_queue[1]._val - 14) << 1]; else d3 = kNullValue; if (_queue[0]._code >= 5) { @@ -315,7 +337,7 @@ void SpeechManager::trait_car() { veracf(_queue[2]._acc); if (_queue[2]._code == 6) { entroct(4); - entroct(g_tabdph[(_queue[2]._val - 14) << 1]); + entroct(_tabdph[(_queue[2]._val - 14) << 1]); entroct(_queue[1]._val); } else { entroct(4); @@ -337,7 +359,7 @@ void SpeechManager::trait_car() { d2 = 8; break; case 6: - d2 = g_tabdph[(_queue[2]._val - 14) << 1]; + d2 = _tabdph[(_queue[2]._val - 14) << 1]; break; case 5: d2 = _queue[2]._val; @@ -347,7 +369,7 @@ void SpeechManager::trait_car() { break; } // switch c3._code d2 = (d2 * 26) + _queue[1]._val; - if (g_tnocon[d2] == 0) + if (_tnocon[d2] == 0) d3 = 2; else d3 = 6; @@ -393,7 +415,7 @@ void SpeechManager::trait_car() { d2 = 8; break; case 6: - d2 = g_tabdph[(_queue[2]._val - 14) << 1]; + d2 = _tabdph[(_queue[2]._val - 14) << 1]; break; case 5: d2 = _queue[2]._val; @@ -405,7 +427,7 @@ void SpeechManager::trait_car() { if (d2 == 4) d2 = 3; - if (g_intcon[_queue[1]._val] != 0) + if (_intcon[_queue[1]._val] != 0) ++_queue[1]._val; if ((_queue[1]._val == 17) || (_queue[1]._val == 18)) @@ -442,7 +464,7 @@ void SpeechManager::trait_car() { d2 = 8; break; case 6: - d2 = g_tabdph[(_queue[2]._val - 14) << 1]; + d2 = _tabdph[(_queue[2]._val - 14) << 1]; break; case 5: d2 = _queue[2]._val; @@ -455,12 +477,12 @@ void SpeechManager::trait_car() { if (d2 == 4) d2 = 3; - if (g_intcon[_queue[1]._val] != 0) + if (_intcon[_queue[1]._val] != 0) ++_queue[1]._val; entroct(4); entroct(d2); - entroct(g_tabdbc[((_queue[1]._val - 26) << 1) + 1]); + entroct(_tabdbc[((_queue[1]._val - 26) << 1) + 1]); } break; @@ -503,7 +525,7 @@ void SpeechManager::handlePhoneme() { int endPos = swap(_cfiphBuffer[_phonemeNumb]) + deca[_typlec]; int wordCount = endPos - startPos; for (int i = (uint)startPos >> 1, currWord = 0; i < (int)((uint)endPos >> 1); i++, currWord += 2) - WRITE_LE_UINT16(&g_mem[kAdrWord + currWord], _cfiphBuffer[i]); + WRITE_LE_UINT16(&g_vm->_mem[kAdrWord + currWord], _cfiphBuffer[i]); _ptr_oct = 0; int currWord = 0; @@ -542,7 +564,7 @@ void SpeechManager::startSpeech(int rep, int ht, int typ) { tempo = kTempoF; else tempo = kTempoM; - g_vm->_addfix = (float)((tempo - g_addv[0])) / 256; + g_vm->_addfix = (float)((tempo - 8)) / 256; cctable(_tbi); switch (typ) { case 1: @@ -562,7 +584,7 @@ void SpeechManager::startSpeech(int rep, int ht, int typ) { if (_typlec != 0) for (int i = 0; i <= 500; ++i) { _cfiphBuffer[i] = savph[i]; - g_mlec = _typlec; + _mlec = _typlec; } g_vm->setPal(g_vm->_numpal); } diff --git a/engines/mortevielle/speech.h b/engines/mortevielle/speech.h index 9eccd04d5f..6521fd9927 100644 --- a/engines/mortevielle/speech.h +++ b/engines/mortevielle/speech.h @@ -75,6 +75,7 @@ private: public: int _cfiphBuffer[6401]; int _tbi[256]; + int _mlec; SpeechManager(); void spfrac(int wor); diff --git a/engines/mortevielle/var_mor.cpp b/engines/mortevielle/var_mor.cpp index b6cc46c93e..6fc0593d65 100644 --- a/engines/mortevielle/var_mor.cpp +++ b/engines/mortevielle/var_mor.cpp @@ -33,35 +33,6 @@ namespace Mortevielle { -/*---------------------------------------------------------------------------*/ -/*------------------------------ CONSTANTS ------------------------------*/ -/*---------------------------------------------------------------------------*/ - -const byte g_tabdbc[18] = {7, 23, 7, 14, 13, 9, 14, 9, 5, 12, 6, 12, 13, 4, 0, 4, 5, 9}; -const byte g_tabdph[16] = {0, 10, 2, 0, 2, 10, 3, 0, 3, 7, 5, 0, 6, 7, 7, 10}; -const byte g_typcon[26] = {0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3}; -const byte g_intcon[26] = {1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0}; -const byte g_tnocon[364] = { - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 -}; - -const byte g_addv[2] = {8, 8}; - -const byte g_rang[16] = {15, 14, 11, 7, 13, 12, 10, 6, 9, 5, 3, 1, 2, 4, 8, 0}; - /*---------------------------------------------------------------------------*/ /*------------------------------ VARIABLES ------------------------------*/ /*---------------------------------------------------------------------------*/ @@ -86,11 +57,8 @@ int g_x, g_iouv, g_ctrm, g_dobj, - g_msg3, - g_msg4, g_mlec, g_mchai, - g_menup, g_mpers, g_perdep, g_prebru; @@ -99,22 +67,6 @@ int g_x, /*-------------------- PROCEDURES AND FONCTIONS -----------------------*/ /*---------------------------------------------------------------------------*/ -void hirs() { - // Note: The original used this to set the graphics mode and clear the screen, both at - // the start of the game, and whenever the screen need to be cleared. As such, this - // method is deprecated in favour of clearing the screen - debugC(1, kMortevielleCore, "TODO: hirs is deprecated in favour of ScreenSurface::clearScreen"); - - g_vm->_screenSurface.clearScreen(); -} - -/*---------------------------------------------------------------------------*/ -/*------------------------------ STUBS ------------------------------*/ -/*---------------------------------------------------------------------------*/ - -int g_port[0xfff]; -byte g_mem[65536 * 16]; - void musyc(tablint &tb, int nbseg, int att) { warning("TODO: musyc"); } diff --git a/engines/mortevielle/var_mor.h b/engines/mortevielle/var_mor.h index 26e4edde27..9ac807aa95 100644 --- a/engines/mortevielle/var_mor.h +++ b/engines/mortevielle/var_mor.h @@ -101,19 +101,6 @@ enum places { DOOR = 25, ROOM26 = 26, ROOM27 = 27 }; -extern const byte g_tabdbc[18]; -extern const byte g_tabdph[16]; -extern const byte g_typcon[26]; -extern const byte g_intcon[26]; -extern const byte g_tnocon[364]; -extern const byte g_addv[2]; -extern const byte g_rang[16]; - -struct Hint { - int _hintId; - byte _point; -}; - struct Rect { int _x1, _x2, _y1, _y2; bool _enabled; @@ -152,30 +139,10 @@ extern int g_x, g_iouv, g_ctrm, g_dobj, - g_msg3, - g_msg4, - g_mlec, - g_mchai, - g_menup, g_mpers, g_perdep, g_prebru; -/*---------------------------------------------------------------------------*/ -/*------------------- PROCEDURES AND FONCTIONS ------------------------*/ -/*---------------------------------------------------------------------------*/ - -void hirs(); -void Val(const Common::String &s, int &V, int Code); - -/*---------------------------------------------------------------------------*/ -/*------------------------------ STUBS ------------------------------*/ -/*---------------------------------------------------------------------------*/ -// TODO: Replace the following with proper implementations, or refactor out the code using them - -extern int g_port[0xfff]; -extern byte g_mem[65536 * 16]; - } // End of namespace Mortevielle #endif -- cgit v1.2.3