From ad7400524b8e024577169f7dd4cb4d586ee37fa0 Mon Sep 17 00:00:00 2001 From: Matthew Hoops Date: Mon, 7 Mar 2011 01:07:53 -0500 Subject: MOHAWK: Make Riven use original executables for cursors It will try both Windows and Macintosh executables. The hardcoded cursors have been removed. --- engines/mohawk/riven.cpp | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) (limited to 'engines/mohawk/riven.cpp') diff --git a/engines/mohawk/riven.cpp b/engines/mohawk/riven.cpp index abc7f5304e..19adf3fe2f 100644 --- a/engines/mohawk/riven.cpp +++ b/engines/mohawk/riven.cpp @@ -120,7 +120,15 @@ Common::Error MohawkEngine_Riven::run() { _externalScriptHandler = new RivenExternal(this); _optionsDialog = new RivenOptionsDialog(this); _scriptMan = new RivenScriptManager(this); - _cursor = new RivenCursorManager(); + + // Create the cursor manager + // TODO: Error handling when none can be found + if (Common::File::exists("rivendmo.exe")) + _cursor = new PECursorManager("rivendmo.exe"); + else if (Common::File::exists("riven.exe")) + _cursor = new PECursorManager("riven.exe"); + else // last resort: try the Mac executable + _cursor = new MacCursorManager("Riven"); _rnd = new Common::RandomSource(); g_eventRec.registerRandomSource(*_rnd, "riven"); @@ -135,6 +143,7 @@ Common::Error MohawkEngine_Riven::run() { // Start at main cursor _cursor->setCursor(kRivenMainCursor); + _system->updateScreen(); // Let's begin, shall we? if (getFeatures() & GF_DEMO) { @@ -488,10 +497,12 @@ void MohawkEngine_Riven::checkHotspotChange() { if (_curHotspot != hotspotIndex) { _curHotspot = hotspotIndex; _cursor->setCursor(_hotspots[_curHotspot].mouse_cursor); + _system->updateScreen(); } } else { _curHotspot = -1; _cursor->setCursor(kRivenMainCursor); + _system->updateScreen(); } } -- cgit v1.2.3