OpenSWE1R / openswe1r

An Open-Source port of the 1999 Game "Star Wars Episode 1: Racer"
https://openswe1r.github.io/
GNU General Public License v2.0
312 stars 26 forks source link

only black screen #166

Closed legluondunet closed 6 years ago

legluondunet commented 6 years ago

Hello, I just compiled the last git version, put the content of the "gnome" CD folder in the "openswe1r" build folder, launch "openswe1r" and I obtain only a black window. This window does not close when I click on the cross, I have to kill it.

infos: swep1rcr.exe Time/Date Wed May 12 02:03:30 1999

I joined you the log, thank you for your help. openswe1r_CD.log

config: Ubuntu 18.04

JayFoxRox commented 6 years ago

Did you respect https://github.com/OpenSWE1R/openswe1r/issues/43 (also mentioned in "Getting Started" on wiki)?

Also try using #158, as your binary seems to require it for the background music. The GOG.com version should work without #158 if I remember correctly.

legluondunet commented 6 years ago

43 Before launching the game I renamed all the folders/files recursively in lowercase.

158 The CD automatically mounted on /media/legluondunet/racer100_0/

legluondunet commented 6 years ago

Same result with Gog version: Time/Date Wed Feb 6 00:22:20 2002 cb1b25fbca829b4eb472423acbbe1f31 swep1rcr.exe

openswe1r_GOG.log

JayFoxRox commented 6 years ago

158 The CD automatically mounted on /media/legluondunet/racer100_0/

158 is not about the host CD path, but the emulated CD drive for the game.

OpenSWE1R does not care if the game comes from HDD, CD, or whatever. But internally it emulates a CD drive at "D:/" so the games copy protection is not triggered.

openswe1r_GOG.log

That log ends like this:

   17135 Emulation at 4A42EC ('ReadFile') from 4A42EC
[...]
   17136 Emulation at [End of log]

However, if the game finds all paths as expected, the loadscreen will only appear around 32000 calls into emulation (the entire screen will be blue in OpenSWE1R then). The actual menu displays around 100000 calls into emulation. This takes a considerable amount of time when using the CPU emulation.

As long as stuff is happening in the log, OpenSWE1R is probably still working fine - it's just slow.

If you are running on x86 Linux, you can use KVM using the UC_VM option. Also see #159. This will do CPU virtualization and provide a huge speedup. There is also incomplete Windows work for WHPX and HAXM (although I seem to have forgotten to upload that).

If the swep1rcr.exe is unable to locate data on the emulated CD, this will take even more than 32000 or 100000 calls, because it attempts a handful of paths for each file before giving up (#158 addresses this by improving CD emulation).

legluondunet commented 6 years ago

Ok, I understand better, I was too impatient and closed the window before the game to start. If I wait a little more, I obtain the blue screen, then the main menu. But it's very slow, the cinematics don't play and I hear a noise instead of the music, is all of this the actual state of the project or I made a mistake?

JayFoxRox commented 6 years ago

Answered in my previous post:

If you are running on x86 Linux, you can use KVM using the UC_VM option. Also see #159. This will do CPU virtualization and provide a huge speedup.

Closing.

legluondunet commented 6 years ago

Thank you for your support and keep the work of this very interesting project.