示例#1
0
Common::Error DirectorEngine::run() {
	debug("Starting v%d Director game", getVersion());

	_sharedCasts = nullptr;
	_sharedSound = nullptr;
	_sharedBMP = nullptr;
	_sharedSTXT = nullptr;
	_sharedDIB = nullptr;

	_movies = nullptr;
	_currentPalette = nullptr;

	_macBinary = nullptr;
	_soundManager = nullptr;

	_lingo = new Lingo(this);
	_soundManager = new DirectorSound();

	if (getGameID() == GID_TEST) {
		_mainArchive = nullptr;
		_currentScore = nullptr;

		_lingo->runTests();

		return Common::kNoError;
	}

	//FIXME
	_mainArchive = new RIFFArchive();
	_mainArchive->openFile("bookshelf_example.mmm");
	_currentScore = new Score(this);
	debug(0, "Score name %s", _currentScore->getMacName().c_str());

	_currentScore->loadArchive();
	_currentScore->startLoop();

	if (getPlatform() == Common::kPlatformWindows)
		loadEXE();
	else
		loadMac();

	return Common::kNoError;
}
示例#2
0
void DirectorEngine::loadMainArchive() {
    if (getPlatform() == Common::kPlatformWindows)
        loadEXE();
    else
        loadMac();
}
示例#3
0
void DirectorEngine::loadInitialMovie(const Common::String movie) {
	if (getPlatform() == Common::kPlatformWindows)
		loadEXE(movie);
	else
		loadMac(movie);
}