void CruiseEngine::initAllData() { int i; setupFuncArray(); initOverlayTable(); stateID = 0; masterScreen = 0; freeDisk(); soundList[0].frameNum = -1; soundList[1].frameNum = -1; soundList[2].frameNum = -1; soundList[3].frameNum = -1; menuTable[0] = NULL; for (i = 0; i < 2000; i++) { globalVars[i] = 0; } for (i = 0; i < 8; i++) { backgroundTable[i].name[0] = 0; } for (i = 0; i < NUM_FILE_ENTRIES; i++) { filesDatabase[i].subData.ptr = NULL; filesDatabase[i].subData.ptrMask = NULL; } initBigVar3(); resetPtr2(&procHead); resetPtr2(&relHead); resetPtr(&cellHead); resetActorPtr(&actorHead); resetBackgroundIncrustList(&backgroundIncrustHead); bootOverlayNumber = loadOverlay("AUTO00"); #ifdef DUMP_SCRIPT loadOverlay("TITRE"); loadOverlay("TOM"); loadOverlay("XX2"); loadOverlay("SUPER"); loadOverlay("BEBE1"); loadOverlay("BIBLIO"); loadOverlay("BRACAGE"); loadOverlay("CONVERS"); loadOverlay("DAF"); loadOverlay("DAPHNEE"); loadOverlay("DESIRE"); loadOverlay("FAB"); loadOverlay("FABIANI"); loadOverlay("FIN"); loadOverlay("FIN01"); loadOverlay("FINBRAC"); loadOverlay("GEN"); loadOverlay("GENDEB"); loadOverlay("GIFLE"); loadOverlay("HECTOR"); loadOverlay("HECTOR2"); loadOverlay("I00"); loadOverlay("I01"); loadOverlay("I04"); loadOverlay("I06"); loadOverlay("I07"); loadOverlay("INVENT"); loadOverlay("JULIO"); loadOverlay("LOGO"); loadOverlay("MANOIR"); loadOverlay("MISSEL"); loadOverlay("POKER"); loadOverlay("PROJ"); loadOverlay("REB"); loadOverlay("REBECCA"); loadOverlay("ROS"); loadOverlay("ROSE"); loadOverlay("S01"); loadOverlay("S02"); loadOverlay("S03"); loadOverlay("S04"); loadOverlay("S06"); loadOverlay("S07"); loadOverlay("S08"); loadOverlay("S09"); loadOverlay("S10"); loadOverlay("S103"); loadOverlay("S11"); loadOverlay("S113"); loadOverlay("S12"); loadOverlay("S129"); loadOverlay("S131"); loadOverlay("S132"); loadOverlay("S133"); loadOverlay("int16"); loadOverlay("S17"); loadOverlay("S18"); loadOverlay("S19"); loadOverlay("S20"); loadOverlay("S21"); loadOverlay("S22"); loadOverlay("S23"); loadOverlay("S24"); loadOverlay("S25"); loadOverlay("S26"); loadOverlay("S27"); loadOverlay("S29"); loadOverlay("S30"); loadOverlay("S31"); loadOverlay("int32"); loadOverlay("S33"); loadOverlay("S33B"); loadOverlay("S34"); loadOverlay("S35"); loadOverlay("S36"); loadOverlay("S37"); loadOverlay("SHIP"); loadOverlay("SUPER"); loadOverlay("SUZAN"); loadOverlay("SUZAN2"); loadOverlay("TESTA1"); loadOverlay("TESTA2"); //exit(1); #endif if (bootOverlayNumber) { positionInStack = 0; attacheNewScriptToTail(&procHead, bootOverlayNumber, 0, 20, 0, 0, scriptType_PROC); scriptFunc2(bootOverlayNumber, &procHead, 1, 0); } strcpy(lastOverlay, "AUTO00"); _gameSpeed = GAME_FRAME_DELAY_1; _speedFlag = false; return; }
int16 findFileInDisks(const char *name) { char fileName[50]; int disk; int fileIdx; strcpy(fileName, name); strToUpper(fileName); if (!volumeDataLoaded) { debug(1, "CNF wasn't loaded, reading now..."); if (_vm->_currentVolumeFile.isOpen()) { askDisk(-1); freeDisk(); } askDisk(1); readVolCnf(); } if (_vm->_currentVolumeFile.isOpen()) { askDisk(-1); } fileIdx = findFileInList(fileName); if (fileIdx >= 0) { return (fileIdx); } disk = searchFileInVolCnf(fileName, currentDiskNumber); if (disk >= 0) { int temp; debug(1, "File found on disk %d", disk); if (_vm->_currentVolumeFile.isOpen()) { askDisk(-1); } freeDisk(); askDisk(volumeData[disk].diskNumber); getVolumeDataEntry(&volumeData[disk]); temp = findFileInList(fileName); if (temp >= 0) return (temp); return (-1); } else { int temp; temp = findFileInDisksSub1(fileName); if (temp >= 0) { int temp2; askDisk(volumeData[temp].diskNumber); getVolumeDataEntry(&volumeData[temp]); temp2 = findFileInList(fileName); if (temp2 >= 0) return (temp2); } return (-1); } }
void initVars() { closeAllMenu(); resetFileEntryRange(0, NUM_FILE_ENTRIES); resetPreload(); freeCTP(); freeBackgroundIncrustList(&backgroundIncrustHead); freezeCell(&cellHead, -1, -1, -1, -1, -1, 0); // TODO: unfreeze anims freeObjectList(&cellHead); removeAnimation(&actorHead, -1, -1, -1); removeAllScripts(&relHead); removeAllScripts(&procHead); changeScriptParamInList(-1, -1, &procHead, -1, 0); removeFinishedScripts(&procHead); changeScriptParamInList(-1, -1, &relHead, -1, 0); removeFinishedScripts(&relHead); for (unsigned long int i = 0; i < 90; i++) { if (strlen(overlayTable[i].overlayName) && overlayTable[i].alreadyLoaded) { unloadOverlay(overlayTable[i].overlayName, i); } } // TODO: // stopSound(); // removeSound(); closeBase(); closeCnf(); initOverlayTable(); stateID = 0; masterScreen = 0; freeDisk(); soundList[0].frameNum = -1; soundList[1].frameNum = -1; soundList[2].frameNum = -1; soundList[3].frameNum = -1; for (unsigned long int i = 0; i < 8; i++) { menuTable[i] = NULL; } for (unsigned long int i = 0; i < 2000; i++) { globalVars[i] = 0; } for (unsigned long int i = 0; i < 8; i++) { backgroundTable[i].name[0] = 0; } for (unsigned long int i = 0; i < NUM_FILE_ENTRIES; i++) { filesDatabase[i].subData.ptr = NULL; filesDatabase[i].subData.ptrMask = NULL; } initBigVar3(); resetPtr2(&procHead); resetPtr2(&relHead); resetPtr(&cellHead); resetActorPtr(&actorHead); resetBackgroundIncrustList(&backgroundIncrustHead); vblLimit = 0; remdo = false; songLoaded = 0; songPlayed = 0; songLoop = 1; activeMouse = 0; userEnabled = 1; dialogueEnabled = 0; dialogueOvl = 0; dialogueObj = 0; userDelay = 0; sysKey = -1; sysX = 0; sysY = 0; automoveInc = 0; automoveMax = 0; displayOn = true; // here used to init clip isMessage = 0; fadeFlag = 0; automaticMode = 0; // video param (vga and mcga mode) titleColor = 2; itemColor = 1; selectColor = 3; subColor = 5; // narratorOvl = 0; narratorIdx = 0; aniX = 0; aniY = 0; animationStart = false; selectDown = 0; menuDown = 0; buttonDown = 0; var41 = 0; playerMenuEnabled = 0; PCFadeFlag = false; }