void HugoEngine::initialize() { debugC(1, kDebugEngine, "initialize"); _maze._enabledFl = false; _line[0] = '\0'; _sound->initSound(); _scheduler->initEventQueue(); // Init scheduler stuff _screen->initDisplay(); // Create Dibs and palette _file->openDatabaseFiles(); // Open database files calcMaxScore(); // Initialize maxscore _rnd = new Common::RandomSource("hugo"); _rnd->setSeed(42); // Kick random number generator switch (_gameVariant) { case kGameVariantH1Dos: _episode = "\"Hugo's House of Horrors\""; _picDir = ""; break; case kGameVariantH2Dos: _episode = "\"Hugo II: Whodunit?\""; _picDir = ""; break; case kGameVariantH3Dos: _episode = "\"Hugo III: Jungle of Doom\""; _picDir = "pictures/"; break; case kGameVariantH1Win: _episode = "\"Hugo's Horrific Adventure\""; _picDir = "hugo1/"; break; case kGameVariantH2Win: _episode = "\"Hugo's Mystery Adventure\""; _picDir = "hugo2/"; break; case kGameVariantH3Win: _episode = "\"Hugo's Amazon Adventure\""; _picDir = "hugo3/"; break; default: error("Unknown game"); } }
int maxImperfectScore(Config &config, string &read){ int maxQ=calcMaxScore(config, read); int maxI=maxQ+min(config.POINTS_DEL, config.POINTS_INS-config.POINTS_MATCH2); assert(maxI<(maxQ-(config.POINTS_MATCH2+config.POINTS_MATCH2)+(config.POINTS_MATCH+config.POINTS_SUB))); return maxI; }