Example #1
0
Common::Error KyraEngine_MR::init() {
	_screen = new Screen_MR(this, _system);
	assert(_screen);
	_screen->setResolution();

	KyraEngine_v1::init();
	initStaticResource();

	_debugger = new Debugger_v2(this);
	assert(_debugger);

	_soundDigital = new SoundDigital(this, _mixer);
	assert(_soundDigital);
	if (!_soundDigital->init())
		error("_soundDigital->init() failed");
	KyraEngine_v1::_text = _text = new TextDisplayer_MR(this, _screen);
	assert(_text);
	_gui = new GUI_MR(this);
	assert(_gui);
	_gui->initStaticData();

	_screen->loadFont(Screen::FID_6_FNT, "6.FNT");
	_screen->loadFont(Screen::FID_8_FNT, "8FAT.FNT");
	_screen->loadFont(Screen::FID_BOOKFONT_FNT, "BOOKFONT.FNT");
	_screen->setFont(Screen::FID_8_FNT);
	_screen->setAnimBlockPtr(3500);
	_screen->setScreenDim(0);

	_screen->loadPalette("PALETTE.COL", _screen->getPalette(0));
	_screen->setScreenPalette(_screen->getPalette(0));

	return Common::kNoError;
}
Example #2
0
Common::Error KyraEngine_HoF::init() {
	_screen = new Screen_HoF(this, _system);
	assert(_screen);
	_screen->setResolution();

	_debugger = new Debugger_HoF(this);
	assert(_debugger);

	KyraEngine_v1::init();
	initStaticResource();

	_text = new TextDisplayer_HoF(this, _screen);
	assert(_text);
	_gui = new GUI_HoF(this);
	assert(_gui);
	_gui->initStaticData();
	_tim = new TIMInterpreter(this, _screen, _system);
	assert(_tim);

	if (_flags.isDemo && !_flags.isTalkie) {
		_screen->loadFont(_screen->FID_8_FNT, "FONT9P.FNT");
	} else {
		_screen->loadFont(_screen->FID_6_FNT, "6.FNT");
		_screen->loadFont(_screen->FID_8_FNT, "8FAT.FNT");
		_screen->loadFont(_screen->FID_BOOKFONT_FNT, "BOOKFONT.FNT");
	}
	_screen->loadFont(_screen->FID_GOLDFONT_FNT, "GOLDFONT.FNT");

	_screen->setFont(_flags.lang == Common::JA_JPN ? Screen::FID_SJIS_FNT : _screen->FID_8_FNT);

	_screen->setAnimBlockPtr(3504);
	_screen->setScreenDim(0);

	if (!_sound->init())
		error("Couldn't init sound");

	_abortIntroFlag = false;

	if (_sequenceStrings) {
		for (int i = 0; i < MIN(33, _sequenceStringsSize); i++)
			_sequenceStringsDuration[i] = (int) strlen(_sequenceStrings[i]) * 8;
	}

	// No mouse display in demo
	if (_flags.isDemo && !_flags.isTalkie)
		return Common::kNoError;

	_res->exists("PWGMOUSE.SHP", true);
	uint8 *shapes = _res->fileData("PWGMOUSE.SHP", 0);
	assert(shapes);

	for (int i = 0; i < 2; i++)
		addShapeToPool(shapes, i, i);

	delete[] shapes;

	_screen->setMouseCursor(0, 0, getShapePtr(0));
	return Common::kNoError;
}
Example #3
0
Common::Error DarkMoonEngine::init() {
	Common::Error err = EoBCoreEngine::init();
	if (err.getCode() != Common::kNoError)
		return err;

	initStaticResource();

	_monsterProps = new EoBMonsterProperty[10];

	if (_configRenderMode == Common::kRenderEGA) {
		Palette pal(16);
		_screen->loadPalette(_egaDefaultPalette, pal, 16);
		_screen->setScreenPalette(pal);
	}

	_screen->loadPalette("PALETTE.COL", _screen->getPalette(0));
	_screen->setScreenPalette(_screen->getPalette(0));

	return Common::kNoError;
}
Example #4
0
Common::Error KyraEngine_LoK::init() {
	if (Common::parseRenderMode(ConfMan.get("render_mode")) == Common::kRenderPC9801)
		_screen = new Screen_LoK_16(this, _system);
	else
		_screen = new Screen_LoK(this, _system);
	assert(_screen);
	_screen->setResolution();

	_debugger = new Debugger_LoK(this);
	assert(_debugger);

	KyraEngine_v1::init();

	_sprites = new Sprites(this, _system);
	assert(_sprites);
	_seq = new SeqPlayer(this, _system);
	assert(_seq);
	_animator = new Animator_LoK(this, _system);
	assert(_animator);
	_animator->init(5, 11, 12);
	assert(*_animator);
	_text = new TextDisplayer(this, screen());
	assert(_text);
	_gui = new GUI_LoK(this, _screen);
	assert(_gui);

	initStaticResource();

	_sound->selectAudioResourceSet(kMusicIntro);

	if (_flags.platform == Common::kPlatformAmiga) {
		_trackMap = _amigaTrackMap;
		_trackMapSize = _amigaTrackMapSize;
	} else {
		_trackMap = _dosTrackMap;
		_trackMapSize = _dosTrackMapSize;
	}

	if (!_sound->init())
		error("Couldn't init sound");

	_sound->loadSoundFile(0);

	setupButtonData();

	_paletteChanged = 1;
	_currentCharacter = 0;
	_characterList = new Character[11];
	assert(_characterList);
	memset(_characterList, 0, sizeof(Character) * 11);

	for (int i = 0; i < 11; ++i)
		memset(_characterList[i].inventoryItems, 0xFF, sizeof(_characterList[i].inventoryItems));

	_characterList[0].sceneId = 5;
	_characterList[0].height = 48;
	_characterList[0].facing = 3;
	_characterList[0].currentAnimFrame = 7;

	memset(&_npcScriptData, 0, sizeof(EMCData));
	memset(&_scriptClickData, 0, sizeof(EMCData));

	memset(&_npcScript, 0, sizeof(EMCState));
	memset(&_scriptMain, 0, sizeof(EMCState));
	memset(&_scriptClick, 0, sizeof(EMCState));

	memset(_shapes, 0, sizeof(_shapes));

	for (int i = 0; i < ARRAYSIZE(_movieObjects); ++i)
		_movieObjects[i] = createWSAMovie();

	memset(_flagsTable, 0, sizeof(_flagsTable));

	_talkingCharNum = -1;
	_charSayUnk3 = -1;
	_disabledTalkAnimObject = _enabledTalkAnimObject = 0;
	memset(_currSentenceColor, 0, 3);
	_startSentencePalIndex = -1;
	_fadeText = false;

	_cauldronState = 0;
	_crystalState[0] = _crystalState[1] = -1;

	_brandonStatusBit = 0;
	_brandonStatusBit0x02Flag = _brandonStatusBit0x20Flag = 10;
	_brandonPosX = _brandonPosY = -1;
	_poisonDeathCounter = 0;

	memset(_itemHtDat, 0, sizeof(_itemHtDat));
	memset(_exitList, 0xFF, sizeof(_exitList));
	_exitListPtr = 0;
	_pathfinderFlag = _pathfinderFlag2 = 0;
	_lastFindWayRet = 0;
	_sceneChangeState = _loopFlag2 = 0;

	_movFacingTable = new int[150];
	assert(_movFacingTable);
	_movFacingTable[0] = 8;

	_marbleVaseItem = -1;
	memset(_foyerItemTable, -1, sizeof(_foyerItemTable));
	_itemInHand = kItemNone;

	_currentRoom = 0xFFFF;
	_scenePhasingFlag = 0;
	_lastProcessedItem = 0;
	_lastProcessedItemHeight = 16;

	_unkScreenVar1 = 1;
	_unkScreenVar2 = 0;
	_unkScreenVar3 = 0;
	_unkAmuletVar = 0;

	_endSequenceNeedLoading = 1;
	_malcolmFlag = 0;
	_beadStateVar = 0;
	_endSequenceSkipFlag = 0;
	_unkEndSeqVar2 = 0;
	_endSequenceBackUpRect = 0;
	_unkEndSeqVar4 = 0;
	_unkEndSeqVar5 = 0;
	_lastDisplayedPanPage = 0;
	memset(_panPagesTable, 0, sizeof(_panPagesTable));
	_finalA = _finalB = _finalC = 0;
	memset(&_kyragemFadingState, 0, sizeof(_kyragemFadingState));
	_kyragemFadingState.gOffset = 0x13;
	_kyragemFadingState.bOffset = 0x13;

	_menuDirectlyToLoad = false;

	_lastMusicCommand = 0;

	return Common::kNoError;
}