Game hangs as I start it up

I just downloaded the game. When I start it, I get the logo for an instant and the screen goes black (but seems to have an outline around it, and says Democracy 2 at the top, but the cursor disappears). A box pops up that says “Please check publishers website for tech support details. CreateTextureFromFile.”

I have a Lenovo T61 with Vista Ultimate (Service Pack 1). The drivers for my video card (NVIDIA Quadro NVS140M) are up to date.

Any advice appreciated. The drawdebug.txt files begins by saying:

Initialising Direct Draw
Attempting fullscreen mode
Creating Context at 1024 768 0
D3DXCreateContext failed, HRESULT was (-931722279)D3DXERR_COLORDEPTHTOOLOW
Attempting Fallback Init
Fallback init succeeded
Driver: NVIDIA Quadro NVS 140M \ Microsoft Direct3D Hardware Transform and Lighting acceleration capable device
VidMem: 867 MB

In your Windows display settings, set the color depth to True Color.

either that or the games config file is somehow borked. it should create the context at 32, not 0. it sounds like very suspicious video card drivers claiming to have that much video memory and not defaulting to high color.

Thanks for the quick reply. Please bear with me, as I am not a computer expert. In seeking to adjust the color depth on Vista, I adjusted the Colors setting (in S/Control Panels/Personalization/Display Settings). There are only two choices, 32 bit and 16 bit. It was at 32, and I switched it to 16, but the Democracy2 game still had the same problem, even after rebooting.

Then I tried fiddling with the Resolution setting, from 1024x768 pixels to 960x600. The Democray2 game still wouldn’t boot up, but I got a different error message, (SetDisplayMode. (When I was trying at the higher resolution it said CreateTextureFromFile).

32 bit color is what you want.
I think Cliff is going to turn out to be correct, that the drivers that you’re using are messed up somehow. What brand and model video card do you have?

…it could possibly be DirectX itself that’s messed up, somehow. There’s a program called DXDiag that you should run. Start-> Run -> type dxdiag and hit OK. In the DirectX Diagnostics program that should run, click the Display tab and let us know if something is screwy there. There are Test buttons on that page as well, that you could try running.

Thanks. Video card is a NVIDIA Quadro NVS140M. When I seek an update, Windows continues to say that the drivers are up to date and that the device is working properly.

Here is the first part of the txt file generated when I ran dxdiag (there’s a lot more :

System Information

Time of this report: 5/3/2009, 13:27:55
Machine name: BERT-PC
Operating System: Windows Vista™ Ultimate (6.0, Build 6001) Service Pack 1 (6001.vistasp1_gdr.090302-1506)
Language: English (Regional Setting: English)
System Manufacturer: LENOVO
System Model: 766417U
Processor: Intel® Core™2 Duo CPU T7300 @ 2.00GHz (2 CPUs), ~2.0GHz
Memory: 2014MB RAM
Page File: 2283MB used, 1990MB available
Windows Dir: C:\Windows
DirectX Version: DirectX 10
DX Setup Parameters: Not found
DxDiag Version: 6.00.6001.18000 32bit Unicode

DxDiag Notes

  Display Tab 1: No problems found.
    Sound Tab 1: No problems found.
    Sound Tab 2: No problems found.
      Input Tab: No problems found.

DirectX Debug Levels

Direct3D: 0/4 (retail)
DirectDraw: 0/4 (retail)
DirectInput: 0/5 (retail)
DirectMusic: 0/5 (retail)
DirectPlay: 0/9 (retail)
DirectSound: 0/5 (retail)
DirectShow: 0/6 (retail)

Display Devices

    Card name: NVIDIA Quadro NVS 140M
 Manufacturer: NVIDIA
    Chip type: Quadro NVS 140M
     DAC type: Integrated RAMDAC
   Device Key: Enum\PCI\VEN_10DE&DEV_0429&SUBSYS_20D817AA&REV_A1

Display Memory: 867 MB
Dedicated Memory: 115 MB
Shared Memory: 751 MB
Current Mode: 1024 x 768 (32 bit) (60Hz)
Monitor: ThinkPad Display 1440x900
Driver Name: nvd3dum.dll,nvwgf2um.dll
Driver Version: 7.15.0011.7693 (English)
DDI Version: 10
Driver Attributes: Final Retail
Driver Date/Size: 11/15/2008 10:17:00, 5898240 bytes
WHQL Logo’d: Yes
WHQL Date Stamp:
Device Identifier: {D7B71E3E-4769-11CF-176A-D30001C2CA35}
Vendor ID: 0x10DE
Device ID: 0x0429
SubSys ID: 0x20D817AA
Revision ID: 0x00A1
Revision ID: 0x00A1

The “Find update” thing in Windows is useless (except for Windows updates themselves, of course).

Here you go: … MIGR-67890

Actually, nevermind the above. I see from your dxdiag listing that you’re already using the 7.15.0011.7693 driver version.

@Cliff: I suspect that I might see what could be the issue. D3DXCreateContext is an obsolete, DirectX7 D3DX function… Windows Vista uses DirectX 10 (there’s no choice in that). Driver creators do not have to support obsolete DirectX functions, and I suspect that the call to D3DXInit() prior to D3DXCreateContext() is… well, it’s obviously not failing, but it’s probably not providing information that you need for D3DXCreateContext().

Thanks. Is this a suggestion that I’m out of luck?

D3DXCreateContext is not obsolete. It might not be the newest method, but drivers that support directx have to support it. Heck, they even have to support direct draw surfaces and color keys, even if they do it through emulation.
It looks like either nvidia just couldn’t be bothered to make a proper directx backwards-compatible driver, or there is a bug in there somewhere with their drivers.
But every other card seems to support it ok, even my Geforce 8800 GTS happily supprots it, and thats a directx10 supporting card.
So the short story is, you need to bug nvidia for newer drivers, because the ones on your laptop just arent working right :frowning:

Yes, definitely. (… sort of, which I get to below). I just wanted to say that first so that it’s clear that we’re really on the same page here.

Anyway, re: D3DXCreateContext…
Obsolete is probably the wrong word, so chaulk that up to poor word choice. Regardless, it’s undocumented now, and it’s definitely not part of the DirectX 9.0 (or 10, or 11) “standard” any longer.

The D3DContextCreate()'s (note the change in the word order) are part of the Windows 2000 display driver model (which is the updated NT driver model, for NT, XP, and 2000). It is not (AFAIK) part of the Windows Vista driver model though, which must be why MS has removed D3DXCreateContext() from the Direct3D libraries included in DirectX 8 and later.

Anyway, the point is that all you need for DirectX/Direct3d initialization any more is to call D3DCreateDevice().

my suggestion is just to take a look at DirectX 9/10. I know that it’s a giant headache to update your code, but in my experience it’s well worth it in the end (hey, at least you’re not trying to go from DirectX6/DirectDraw to DirectX 9, which is what I’m mired in the middle of right now!). Those guys at MS have actually done an excellent job streamlining and improving their code recently, believe it or not.

Oh believe me I’m already there. the next game is already up and running in directx9. I avoided 10 because it didn’t have anything I needed, but the new positech graphics engine is pure DX9.

Me too. That seems to be the loose consensus amongst people.
To be honest, I don’t quite get DX10. It’s a little… strange.

Thanks for the attention. As a nontech person, If I could get a little more elaboration: when I ask nvidia for newer drivers, do I ask for something in particular? Do I just refer them to my laptop specs and operating system? Or one of the other terms that has come up in the thread?

You just need to go here:
and select the spec of your video card, and you can grab the latest drivers directly.
Its worth checking there arent any ‘special’ drivers for your laptop from the laptop manufacturer in case they have fine tuned ones for that model.

Hey cliffski I got your game and as soon as i am about to start chosing which country I want to play as the game stops and I get a message saying the game failed to locate texture usa something…Anyway I have a Vista Acer computer and I want to know what I can I do to start playing?

Hi, is this the very latest version of the full copy of Democracy 2? or a demo or?
the USA got added in a fairly recent patch, but if you bought the game recently it should be in there and running fine.