Page 1 of 1

Invisible cursor in EV Nova

Posted: Thu Jan 24, 2019 12:56 am
by DrLex
TL;DR Does anyone know of a way to make the ‘target’ cursor visible in Escape Velocity Nova under SheepShaver?

I've recently upgraded to a new MacBook Pro with Mojave on it and found that the OS X version of EV Nova fails to run on this machine. Supposedly it should still work with the RyuKorijo patch which worked fine in El Capitan, but I have tried all the usual tricks without success. Moreover it will only be a matter of time before the game won't work anymore in an upcoming OS X release so trying to get it running under an emulator seems a better long-term investment of time.

I've tried running it in Windows but even though it does work, it is pretty awful with lots of glitches. Hence I tried SheepShaver instead with the same OS 8.6 and ROM I have been using for ages, and it does run pretty well. It even accepts OS X pilot files.
There are only two major problems:
  • Broken buttons on the main screen, but luckily keyboard shortcuts N, O, E, P, A, X do work.
  • The ‘target’ mouse cursor is invisible during normal gameplay.
The cursor problem is the only one that really bothers me. It is not a deal breaker because most operations can be performed using keys, but sometimes it's just much easier to click a target. Clicking around does select ships and planets so the only problem is that the cursor is just invisible. I can get an idea of where the cursor is by enabling the ‘Shake mouse pointer to locate’ feature of OS X, but that's not very practical.
I have tried to force hardware cursor and tried both full screen and windowed, but the cursor remains invisible. I also tried it in OS 9 but same result.

Assuming that the classic version of EV Nova is identical to the OS X one, the cursor should normally be a red cross, obviously not rendered as a typical cursor but as a sprite. It seems the game simply isn't aware of where the actual cursor is until clicking. I guess this is due to the way in which the cursor is emulated.

Is there any hack that can fix this problem? A decent workaround would be a way to always force the default cursor.
Fixing this problem at its root cause would probably improve compatibility with quite a few other games as well…

Re: Invisible cursor in EV Nova

Posted: Thu Jan 24, 2019 8:50 am
by Ronald P. Regensburg
Which SheepShaver version/build do you use?

Re: Invisible cursor in EV Nova

Posted: Thu Jan 24, 2019 1:54 pm
by DrLex
2.5 (2018-07-11)

Re: Invisible cursor in EV Nova

Posted: Thu Jan 24, 2019 3:42 pm
by Ronald P. Regensburg
Did you enable the hardware cursor? (See Advanced Features in the setup guide.) If so, try to remove that line from the prefs file or set it to false.

Re: Invisible cursor in EV Nova

Posted: Thu Jan 24, 2019 5:34 pm
by DrLex
I have tried this and it makes no difference. Mind that this is not a real cursor. The game sets the real cursor to invisible and renders its own cursor as an animated sprite. Either it's the rendering of this sprite that fails, or maybe the game doesn't receive updates about the cursor position.

Re: Invisible cursor in EV Nova

Posted: Thu Jan 24, 2019 5:59 pm
by adespoton
I seem to recall that a number of AmbrosiaSW titles implement their own mouse handling and bypass the toolbox call that SheepShaver/BII intercept. Not sure how this would work with Nova though, as it's a full-on Carbon app.

Anyone got time to step through or do a static analysis of the code to figure out how it's doing the sprite positioning?

Re: Invisible cursor in EV Nova

Posted: Sat Jan 26, 2019 5:51 pm
by Jorpho
I've tried running it in Windows but even though it does work, it is pretty awful with lots of glitches.
So, you were trying the Windows version in Windows 10? A virtual machine running Win9x would behave better, I suspect. It might even behave with the new BoxedWine.

Re: Invisible cursor in EV Nova

Posted: Mon Feb 18, 2019 4:50 am
by Elyus
I wanted to add that you can also emulate EV Nova in Basilisk II, so long as you run Mac OS 8.1 and EV Nova version 1.0.2.

In Basilisk II, the menu fully loads and the in-game targeting cursor works. Make sure to allocate it a lot of memory though since it's a hefty game from 8.1's perspective. Emulating the Windows version is another good option since the Windows players have developed patches for updated resolutions and workarounds for expiring registration codes against Ambrosia's now-defunct auto registration system.