Forces of Corruption and too much Memory

My all time favorite RTS game is, without a doubt, Forces of Corruption (at least I played no other that intense) – so it came only natural, that I would try to play it as one of my first games on another PC. The title is from 2006 and is available now under the line “Games for Windows”, a logo that, amongst other things, promises compatibility to certain systems, like Windows Vista x64.
Empire at War runs without problems and the gold package sells both games in the same box.
I don’t play EaW at all, I’m convinced that FoC brings everything good from EaW and does it a lot better. Pathfinder option, manage ground bases, more planets, more units, Garm Bel Iblis and his Gargantuan Battle Platform, Darth Vader’s Executor Super Star Destroyer, a Death Star (II) that’s actually useful (because it can fire at capital ships and not just planets), the Arc Hammer complete with Dark Troopers and General Rom Mohc (from Dark Forces, “Jedi Knight 0”) and yes, even the partially ridiculously overpowered Zann Consortium (the Keldabe-class battleship is as powerful as 2 ISDs… come on – their shield-bypassing mass drivers alone…) – all this is simply game-changing.
The game however managed to gain my disapproval, because it would only crash. First I tried all compatibility modes, no success.
It’s quite weird, that EaW will work without problems, but the newer FoC won’t. But since FoC was really rushed (it still has it’s share of bugs even after the sole 1.1 patch – not counting this memory size problem), we might have the explanation right here.
Several curses later I found the solution, as explained by its creator:

At some point they retrieve the available texture memory (probably with IDirect3DDevice9::GetAvailableTextureMem). This function returns an unsigned integer. For me, and I suspect for everyone with too much memory, this returns more than 2 GB.

However, Petroglyph seems to store and treat this value as a signed integer, meaning that the game thinks that the available memory is negative (e.g., -1.7 GB). When the game tries to find the best XML hardware profile to match with this it compares, among others, this value; if the actual texture memory is more than the profile’s wanted texture memory, it’s a match.
Obviously, since the actual amount of texture memory is negative, no profile matches. The pointer to the matched profile remains NULL, and when trying to use that pointer, an access violation occurs and the program crashes.

Best solution for Petroglyph: make the variables that use this unsigned.

Mike.nl

To fix it, a workaround in form of a new profile XML can save the day. Simply create the folder XML in folder Data (in your FoC installation folder, silly!). Now create a file named GraphicDetails.xml and insert the text from Mike.nl’s other posting. Just in case it’s gone someday, I stole it and inserted it into this PDF. WordPress doesn’t allow other files, so… But don’t just rename the PDF (if you choose to use it), create a normal txt file with any editor and copy the contents into it (and then name it GraphicDetails.xml).
Now FoC will steal countless hours even on > 2 GB systems!
Another word: some mods for FoC claim, that all XML folders in Data have to be deleted to work properly. Since FoC now depends on this folder and file… But so far no problems! I use (and recommend) FoC fixes 1.5 (an unofficial patch that fixes tons of stuff still left unaddressed in 1.1) and there isn’t the slightest problem with it. Completely stable for hours (this is one of the mods/patches that suggests the folders should be deleted).

//Update 2009/11/19

There’s an unofficial RAM fix now.

RAM-Fix
This update addresses the following:
This file fixes an issue when running Forces of Corruption on a 64-bit OS that has greater than 2GB of RAM. Please note that this does not include previous game patches, and you should still ensure you that install the other patches before running this update.

The Patches Scrolls

Download it.

//Update 2010/03/28

Wonders do happen: An official fix was made, which eluded my attention thus far.

This update addresses the following:
This file fixes an issue when running Forces of Corruption on a 64-bit OS that has greater than 2GB of RAM. Please note that this does not include previous game patches, and you should still ensure you that install the other patches before running this update.

http://www.lucasarts.com/support/update/EAWFOC1_1.html#ramfix

Advertisements

  1. Mariusz

    I have windows 7 64 4 G RAM. Both fixes dont work for me.
    Neither your or from Lucan website. IT’s a joke.
    How long this game is on the market…
    After installing last patch from http://www.lucasarts.com/support/update/EAWFOC1_1.html#ramfix
    I have to say..FOC actually started… I can see name it’s loading and…kabummm:) crashing of course straight after.
    Cant play. First game is working fine. Expansion is the worst product I ever had.

    Like

  2. Have you tried the former workaround with the XML too? I realize it’s not as comfortable as a regular patch, but as long as it works…

    Like

  1. 1 Batman: Arkham Asylum « adrift

    […] category are games, which become interesting for certain genre freaks because of their theme. While Forces of Corruption blows my mind as a Star Wars fan, someone who doesn’t like Star Wars, or even hates it, might […]

    Like




Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s



%d bloggers like this: