Wednesday, December 19, 2012

Dawn of War Configuration Woes, and the Solution!

So I decided on a whim to reinstall and begin playing through Dawn of War, Winter Assault, Dark Crusade, and Soulstorm. As my current laptop only packs a measly 8400m GS, I'm not currently in a situation to enjoy the wonders of Dawn of War 2. Anyhow, I ran into a nasty, nasty frustration that only applied to Dawn of War and Winter Assault: they wouldn't run! They gave an error about 'missing spooge driver: ensure directX is properly installed,' or some such nonsense. Let me tell you, I was ticked! So I started cruising around the web, and I found the solution!




It turns out that Dawn of War and Winter Assault share a protocol that blocks the game from running on older video cards or drivers that were outdated at the time. However... because the permission list is explicit rather than implicit, drivers or video cards that are too new also fail the video check prior to the game running. So, Windows 7 and Geforce 8m series be hanged, this game won't run!

After some more digging, I found the solution, buried in a forum behind a login. And, after having taken advantage of the fix, I figured I should share the love with the world! So, what you do is replace the spdx9_config.txt in the drivers folder under your Dawn of War installation with a new one you've created using the below text. Once it is replaced, you should be ready to rock! Here is the text you should put in that text file, oh and more content after that:



;;;;


;
; spDx9_config.txt : configuration for the Dx9 PC spooge driver
;

; configfile : set of shader compiler scripts

; allowdevice : allows cards to always fail initialization
allowdevice 1

; allowhwtnl : allows hardware TnL to be used
allowhwtnl 1

; allowtfactor : allows the TFactor to be used as a constant colour
allowtfactor 1

; allowhwcursor : allows the use of the Dx8 cursor system
allowhwcursor 1

; allow32bitdisplay : allows 32bit display modes
allow32bitdisplay 1

; disableslowalpha : when alpha flipping is not available, don't allow dest alpha
disableslowalpha 1

; allowrgba4np2 : allows D3DFMT_A4R4G4B4 for NP2 textures
allowrgba4np2 1

; isslowcard : used as a hint to automatic configuration to use lower numbers
isslowcard 0

; togglemodeonstartup : tells the driver to toggle the bit depth before starting the device
; fixes problems with running after an OpenGL game

; maxstage : sets a maximum number of texture stages to use
; maxtexture : sets a maximum number of textures to use (in one pass)
; allowtfactor : allows compiler to use tfactor (it is sometimes emulated using the diffuse channel)
; allowtemp : allows compiler to use D3DTA_TEMP as a result
; allowlookupdudv : allows EMBM texturing
; allowrender2texture : allows render to texture
; allowpalettedtextures : allows paletted textures to be created

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
; 3dfx
;
begin vendor 0x121a
; Disabled cards (below min-spec)
allowdevice 0
end


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
; ATI
;
begin vendor 0x1002

configfile ati.txt

allowlookupdudv 0

; Disabled cards (below min-spec)
; RAGE MOBILITY 128 M4 (RAGE 128 PRO based)
begin device 0x4D46
allowdevice 0
end
begin device 0x4D4C
allowdevice 0
end
; RAGE MOBILITY 128 M3 (RAGE 128 PRO based)
begin device 0x4C45 0x4C46
allowdevice 0
end
; RAGE 128 PRO ULTRA
begin device 0x5446
allowdevice 0
end
begin device 0x544C
allowdevice 0
end
begin device 0x5452 0x5455
allowdevice 0
end
; RAGE 128 4X
begin device 0x5345 0x5348
allowdevice 0
end
begin device 0x534B 0x534E
allowdevice 0
end
; RAGE 128 PRO GL
begin device 0x5041 0x5046
allowdevice 0
end
; RAGE 128 PRO VR
begin device 0x5047 0x5058
allowdevice 0
end
; RAGE 128 GL
begin device 0x5245 0x5246
allowdevice 0
end
begin device 0x534B 0x534D
allowdevice 0
end
; RAGE 128 VR
begin device 0x524B 0x524C
allowdevice 0
end
begin device 0x5345 0x5347
allowdevice 0
end
; RAGE MOBILITY M/M1/P (RAGE PRO based)
begin device 0x4C4D
allowdevice 0
end
begin device 0x4C52
allowdevice 0
end
; RAGE LT-PRO (RAGE PRO based)
begin device 0x4C42
allowdevice 0
end
begin device 0x4C49 0x4C50
allowdevice 0
end
; RAGE LT (RAGE II based)
begin device 0x4C47
allowdevice 0
end
; RAGE XL (RAGE PRO based)
begin device 0x474D
allowdevice 0
end
begin device 0x474F
allowdevice 0
end
begin device 0x4752
allowdevice 0
end
; RAGE XC (RAGE PRO based)
begin device 0x474C
allowdevice 0
end
begin device 0x474E
allowdevice 0
end
; RAGE PRO
begin device 0x4742
allowdevice 0
end
begin device 0x4744
allowdevice 0
end
begin device 0x4749 0x4750
allowdevice 0
end
; RAGE IIC AGP
begin device 0x4757
allowdevice 0
end
begin device 0x4759 0x475A
allowdevice 0
end
; RAGE IIC PCI
begin device 0x4756
allowdevice 0
end
begin device 0x5656
allowdevice 0
end
; RAGE II+
begin device 0x4755
allowdevice 0
end
; RAGE II
begin device 0x4754
allowdevice 0
end

; Radeon 7000
        begin device 0x5159
allowdevice 0
end


; Slow cards
; Radeon 7500
begin device 0x5157
isslowcard 1
end
; Mobility Radeon 7500
begin device 0x4C57
isslowcard 1
end
; Radeon/Radeon 7200
begin device 0x5144 0x5147
isslowcard 1
end
; Radeon IGP
begin device 0x4336 0x4337
isslowcard 1
end
; Radeon IGP
begin device 0x4437
isslowcard 1
end
; Radeon VE/Radeon 7000
begin device 0x515A
isslowcard 1
end
; Mobility Radeon
begin device 0x4C59 0x4C5A
isslowcard 1
end
end


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
; nVidia
;
begin vendor 0x10DE

configfile nvidia.txt'

; disable drivers prior to version 52.16 (previous versions have quirks with directx 9 in win98)

begin version 0x0000 0x000D
allowdevice 1
end
begin subversion 0x0000 0x0009
allowdevice 1
end

begin build 0x0000 0x1459
allowdevice 1
end

; Disabled cards (below min-spec)
; RIVA TNT
begin device 0x0020
allowdevice 0
end
; RIVA TNT2/TNT2 Pro
begin device 0x0028
allowdevice 0
end
; RIVA TNT2 Ultra
begin device 0x0029
allowdevice 0
end
; Vanta/Vanta LT
begin device 0x002C
allowdevice 0
end
; RIVA TNT2 Model 64/Model 64 Pro
begin device 0x002D
allowdevice 0
end
; Aladdin TNT2
begin device 0x00A0
allowdevice 0
end

; NV1x (GeForce 256/2/2mx/4mx)
begin device 0x0100 0x01FF
allowrgba4np2 0
isslowcard 1
end

        ;  nvidia genius reused a segment inside the 0x01.. range of ids for the NV43 line
        ;  turn on what has been turned off by previous group of devices for this cards
        ;       NV43 Geforce 6200,6600/6610 GT/PCI, Quadro FX540,  line
        begin device 0x0140 0x014F
              isslowcard 0
              allowrgba4np2 1
              allowhwtnl 1
        end
end


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
; Matrox
;
begin vendor 0x102b

; G550
begin device 0x2527
allowdevice 0
end

; G400/G450
begin device 0x0525
allowdevice 0
end

end


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
; Intel
;
begin vendor 0x8086

isslowcard 1

; 810 (and 810e)
begin device 0x7121 0x7123
allowdevice 0
end

; Intel(R) 82810E
begin device 0x7125
allowdevice 0
end


end


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
; S3
;
begin vendor 0x5333

isslowcard 1

; Savage4
begin device 0x8a22
allowdevice 0
end

; ProSavage
begin device 0x8A26
allowdevice 0
end

; ProSavageDDR
begin device 0x8D02
allowdevice 0
end

begin device 0x8D04
allowdevice 0
end

; Savage 2000
begin device 0x9102
allowdevice 0
end

end


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
; SiS
;
begin vendor 0x1039

isslowcard 1

; 315/315e
begin device 0x0325
allowdevice 0
end

; xabre
begin device 0x0330
allowdevice 0
end

; 630/730
begin device 0x6300
allowdevice 0
end

; SIS (M)650, 651
begin device 0x6325
allowdevice 0
end
end


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
; Trident
;
begin vendor 0x1023
; Blade XP
begin device 0x9910
allowdevice 0
end

; CyberBlade XP
begin device 0x8820
allowdevice 0
end
end


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
; PowerVR
;
begin vendor 0x104A
end


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
; VIA/S3G
;
begin vendor 0x1106

isslowcard 1

; UniChrome Graphics, KM400/KN400
begin device 0x7205
allowdevice 0
end

; UniChrome Graphics, KM400/KN400
begin device 0x9910
allowdevice 0
end

end
;;;

Oh, and graphical modifications! I love it when older games secretly have better graphics to offer! Now that computers have progressed beyond the Dark Ages of the 90's, its time to let loose all the magical textures. This works for DoW as well as the expansions: change the shortcut first. Right click on it, and then add "-forcehighpoly" without the quotes after the quotation mark in the target box. Then, edit the local.ini and add the line "fullres_teamcolour=1" without quotes, save and you're ready to rock. Oh, and if you're using Windows 7 make sure to edit the copy of local.ini hidden in your user\appdata folder. 

Thats all!
~Shas'el Mike

2 comments:

  1. Woot! Thank you, Magic Config Pwnerer! My new Windows 7 big rig is now happily running Dawn Of War, thanks to your provision of the workaround! +1 to Psyker Ossum Shouts.

    -XAX

    ReplyDelete