VOGONS


First post, by enderdrag64

User metadata
Rank Newbie
Rank
Newbie

I've been attempting to get Star Wars: Rebellion to run on my Windows 10 laptop. I've made significant headway, copying the files directly off the disc to install it, and making the registry changes. I soon discovered a problem where nearly all sprites in the game were inverted, and the colors were completely off. Downloading and configuring dgVoodoo 2 helped to resolve this issue, allowing the game to play almost like normal. However, attempting to enter a space battle will immediately crash the game. I have tested with two separate versions of D3DRM.DLL, version 4.5.0.155 from the game disc, as well as version 5.1.2600.0 pulled from the system files of a Windows XP machine. Both versions crashed. Playing the game with dgVoodoo 2 disabled solves the crashes, but causes the color issues and the inverted sprites. Is there a way for the two to mesh? Any and all help will be appreciated. Thanks

Attachments

  • dgVoodoo2.png
    Filename
    dgVoodoo2.png
    File size
    213.5 KiB
    Views
    3418 views
    File comment
    Screenshot of proper rendering via dgVoodoo 2
    File license
    Fair use/fair dealing exception
  • incorrect.png
    Filename
    incorrect.png
    File size
    218.27 KiB
    Views
    3418 views
    File comment
    Screenshot of color issues and inverted sprites
    File license
    Fair use/fair dealing exception

Reply 1 of 16, by Bakhtosh

User metadata
Rank Newbie
Rank
Newbie

I've tried the game with the dgVoodoo WIP 41 Debug Version.

When I enter a space battle I get two error messages:
First "The pixel format was invalid as specified." followed by
"Access to this surface is being refused because the surface memory is gone. The DirectDrawSurface object representing this surface should have Restore called on it."

When I click the messages away I can continue to play though (see attached screenshot).

I've also attached the Debug output (SW_Reb_Log.txt).
I hope this helps to pin down the problem.

Attachments

  • SW_Reb_01.png
    Filename
    SW_Reb_01.png
    File size
    83.78 KiB
    Views
    3347 views
    File license
    Fair use/fair dealing exception
  • Filename
    SW_Reb_Log.txt
    File size
    33.37 KiB
    Downloads
    112 downloads
    File license
    Fair use/fair dealing exception

Reply 3 of 16, by enderdrag64

User metadata
Rank Newbie
Rank
Newbie

The fastest way to get into a space battle is to send your nearest fleet to Coruscant and set the game speed to fast. I've attached a save game immediately preceding one.

Attachments

  • Filename
    SAVEGAME.zip
    File size
    40.07 KiB
    Downloads
    81 downloads
    File license
    Fair use/fair dealing exception

Reply 4 of 16, by Dege

User metadata
Rank l33t
Rank
l33t

Thanks! Now I can enter the battle. But, I got the same as Bakhtosh: two error messages about invalid pixelformat and lost surface, but after OK'ing them I can enter the battle without a crash. (Using version 5.1.2600.0 of D3DRM.DLL)

I suspect the crash is related to the 'invalid pixel format' message somehow (it's still subject to finding out its reason).

Could you plz attach the debug log of dgVoodoo as Bakhtosh did, to see what point dgVoodoo gets up to, when entering the battle?

Reply 5 of 16, by enderdrag64

User metadata
Rank Newbie
Rank
Newbie

It seems I can't enable tracing in the debug layer version of dgVoodoo. I have it set to level 2 in the config file but it doesn't properly output to DebugView. Only messages will output to DebugView. I've attached what little output I get currently.

Attachments

  • Filename
    SW-REB.LOG
    File size
    875 Bytes
    Downloads
    70 downloads
    File license
    Fair use/fair dealing exception

Reply 6 of 16, by Dege

User metadata
Rank l33t
Rank
l33t

I guess tracing works but it's filtered out by DebugView. Tracing messages doesn't have the '[dgVoodoo]' prefix (on purpose).
Anyway, the log shows a problem:

00000008	0.02530257	[17072] [dgVoodoo] ERROR: DirectDraw (02A76110) Initialization failed: Cannot init device DDI.	
00000009 0.02808108 [17072] [dgVoodoo] ERROR: DirectDrawCreate/DirectDrawCreateEx: creating DirectDraw object has failed.

dgVoodoo DDraw cannot initialize for some reason.
What dgVoodoo config are u using?

(I guess your GPU supports DX10.0 at least.)

Reply 9 of 16, by Bakhtosh

User metadata
Rank Newbie
Rank
Newbie

@enderdrag64:

Dege has released a new WIP version with debug layer: Link

Since Dege and me couldn't reproduce the crash I guess it's up to you to create a new debug log file using the debug layer version of the new dgVoodoo WIP. 😀

Reply 10 of 16, by enderdrag64

User metadata
Rank Newbie
Rank
Newbie

I managed to fix it with the new WIP so it gets the same error. For some reason changing the output from max available to Direct3D MS WARP (software) fixed the DDraw not initializing problem. Now when I run it I get the same "Pixel format was invalid as specified" error and it doesn't crash. I was able to successfully withdraw from the battle and go back into the main game. I've posted my new log.

Attachments

  • Filename
    swRebDebug.log
    File size
    82.47 KiB
    Downloads
    76 downloads
    File license
    Fair use/fair dealing exception

Reply 11 of 16, by Dege

User metadata
Rank l33t
Rank
l33t

Could you attach a log with 'Direct3D11 (feature level 10.1)' plz?
I added some extra logging into the latest WIP, hopefully now it tells us more.

BTW, does dgVoodoo works for you with other games or this one is the only problematic?

Reply 12 of 16, by enderdrag64

User metadata
Rank Newbie
Rank
Newbie

It seems to be the same error as with best available. It also crashes with no message when I attempt a battle like before.

I just tried it with Dark Forces II to see if that had any problems. In best available cutscenes render black and it says "You may not have enough video memory for this display mode" when I try to load a game, even with the simulated vram set to 1024 mb. MS WARP seemed to work other than being slow.

Attachments

  • Filename
    SWREB10.1.LOG
    File size
    873 Bytes
    Downloads
    86 downloads
    File license
    Fair use/fair dealing exception

Reply 13 of 16, by Bakhtosh

User metadata
Rank Newbie
Rank
Newbie

That's the message I get if I try to play Jedi Knight (Dark Forces II) without dgVoodoo 2.

So my guess is that also with Jedi Knight the dgVoodoo 2 DDraw cannot initialize at your system when hardware 3D acceleration is chosen. That it is a general problem at your system with dgvoodoo 2 and not game related.

Can you create a dxdiag.txt and attach it so that we can see what kind of GPU and which driver your laptop is using?

Reply 15 of 16, by enderdrag64

User metadata
Rank Newbie
Rank
Newbie

Hmm. Scrolling through it it seems I actually have a max feature level of 10.1 not 11.1. I guess I read the DDI value twice when reading the feature levels. Thanks for all your help.

Attachments

  • Filename
    DxDiag.txt
    File size
    75.83 KiB
    Downloads
    74 downloads
    File license
    Fair use/fair dealing exception

Reply 16 of 16, by Bakhtosh

User metadata
Rank Newbie
Rank
Newbie

So your laptop is using an integrated Intel(R) HD Graphics 3000 GPU. Intel graphics often suffer from low performance and low compatibility. I don't know if the latter is a driver or hardware problem. The problem you have with the Intel(R) HD Graphics 3000 reminds me of a similar problem someone had with the Intel(R) HD Graphics 4000 that was never solved: Link

But the dxdiag.txt says your laptop is a LENOVO 4236MBU - which according to the Lenovo support page is a T420 Laptop (ThinkPad) and has also a NVIDIA NVS 4200M GPU: Link

Lenovo laptops with two GPU's are normally set to use a switchable graphics feature called Optimus. That means normally the Optimus feature tries to guess which GPU should be used for which program (e.g. the weak power saving Intel one for office programs and the more powerful power consuming NVidia one for 3D games). But you can also force a game/program to use the NVidia GPU: Link

Strange thing is that the dxdiag.txt doesn't have the NVIDIA NVS 4200M listed in the Display Devices section. So I wonder if the Optimus feature has been disabled in the BIOS. You should be able to choose if the laptop uses only the Intel(R) HD Graphics 3000 GPU, only the NVIDIA NVS 4200M or the switchable GPU feature (Optimus). You can read about that here: Link

If my guess from the dxdiag.txt about your laptop is correct I suggest the following:
Set the system to use switchable graphics in the BIOS (Link), install the needed NVidia drivers for the NVIDIA NVS 4200M and Optimus and set the game you're trying to play with dgvoodoo to use the NVIDIA NVS 4200M with this method: Link
Or if power consumption is not a factor set the system to use only the NVIDIA NVS 4200M (Link), install the needed NVidia drivers for the NVIDIA NVS 4200M and then just try to start the game you're trying to play with dgvoodoo.