Exception in Vista (64 bit)
#41
Posted 31 October 2007 - 04:11 PM
#42
Posted 31 October 2007 - 04:20 PM
#43
Posted 31 October 2007 - 07:18 PM
Potato-PG, on Oct 31 2007, 05:20 PM, said:
Can any of us without the Gold pack send this file also? I would gladly send it.
#44
Posted 01 November 2007 - 12:33 AM
Martinus, on Oct 31 2007, 05:18 PM, said:
Sure, go ahead. Gold pack is easier for me but any build should work. Just make sure you let Driph know exactly which version you used for the test. Thanks!
#46
Posted 02 November 2007 - 10:14 PM
Potato-PG, on Oct 31 2007, 09:20 PM, said:
I sent my except.txt off to driph I hope everyone else does the same.
#47
Posted 14 November 2007 - 03:11 AM

#48
Posted 15 November 2007 - 01:20 PM
Charette, on Nov 14 2007, 12:11 AM, said:
Unfortunately we weren't able to decipher anything specifically useful from the logfiles we received, other than it seemed to be a failure to lock a D3D buffer.
We have been trying to repeat it here without much success. We have a couple of machines with Vista-64 and 4GB but it works on those. I was just told that we managed to get a crash on a Vista-64 machine when we added a total of 16GB of RAM so the next step will be to get a debugger on that and see what we can see.
#49
Posted 15 November 2007 - 06:34 PM
Potato-PG, on Nov 15 2007, 01:20 PM, said:
We have been trying to repeat it here without much success. We have a couple of machines with Vista-64 and 4GB but it works on those. I was just told that we managed to get a crash on a Vista-64 machine when we added a total of 16GB of RAM so the next step will be to get a debugger on that and see what we can see.
Hello Potato-PG,
Could you provide a special .exe that would add more informations (logs) about the crash? I am willing to try it and help you guys.
#50
Posted 17 November 2007 - 06:05 PM
My kids really like this game but haven't been able to play it for a while since I migrated to Vista. They have a secondary machine running XP that they can use but it isn't as powerful. I run 32-bit Vista and I have the same problem so I don't think it is necessarily a 64-bit issue. I still think it is a problem going over 2GB or perhaps related to high memory graphics cards. I have a 768MB card so maybe it is eating up memory or something. DWM has a fix for Vista related to memory allocation in games and in DWM but that doesn't seem to have any effect on the system.
Michael Taylor - 11/17/07
http://p3net.mvps.org
#51
Posted 18 November 2007 - 04:49 PM
heres the topic http://forums.gaspow...opic.php?t=2382
sorry but i can't find the other topic right now however i believe it involved a LARGE_ACCESS header
and the line that specified size of ram had to be (>4) i think
ill post it latter if i can find it
Edited by OOM-911, 18 November 2007 - 04:57 PM.
#52
Posted 10 December 2007 - 05:42 AM
Still no new Light at the Horizont of Doom for all +4GB Ram User ?
No chance that you could program a own Memorymanagment for FoC ?

#53
Posted 15 December 2007 - 06:30 AM
is there any better solution than pulling out memory by now? This thread is open since September 2nd.
Any news?
#54
Posted 15 December 2007 - 12:55 PM
My fix described is now obsolete. LucasArts published Petroglyph's patch:
http://www.lucasarts.../EAWFOC1_1.html (at the bottom)
Original post kept for archiving:
Quote
It works for me, see if it also does for you.
Here is the fixed version of the files (backup the originals before overwriting!!!):
swfoc.zip
I based this off a no-cd cracked version for 1.1, since that was easier to disassemble. The original version has garbled stuff in it, confusing the disassembler.
Edit: Also check out the alternative fix two posts below this one
--
So, now let me tell Petroglyph what they need to fix
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.
--
My solution, since I don't know in what other places they use this value, was to hex-edit a small fragment of assembly code into the program that checked if the value, as returned by the DirectX call, was more than 2GB, and if so, set it to 2GB, so that even when interpreting it as a signed integer, it would still be valid.
Edit: forgot to add the other no-cd crack files. Otherwise it still won't work
Edited by Mike.nl, 20 November 2009 - 04:13 PM.
#55
Posted 15 December 2007 - 01:34 PM
~ PF Moderator 2006-2009 ~
#56
Posted 15 December 2007 - 04:42 PM
You do not need the files from above, just put the following in the file Data\XML\GraphicDetails.xml and you can start the original FoC as usual.
<?xml version="1.0" encoding="utf-8"?> <GraphicDetailSettings> <GraphicDetailLevelEnumeration> <!-- --> <!-- Default Detail sets --> <!-- --> <!-- Lowest default detail, de-res the textures, use fixed function pipe and crappy water --> <GraphicDetailLevel name="Default_0"> <ScreenResolutionWidth>800</ScreenResolutionWidth> <ScreenResolutionHeight>600</ScreenResolutionHeight> <ScreenAALevel>0</ScreenAALevel> <TextureMipLevel>2</TextureMipLevel> <ShaderDetailLevel>0</ShaderDetailLevel> <WaterDetailLevel>0</WaterDetailLevel> <ShadowDetail>0</ShadowDetail> <ShadowVolumes>No</ShadowVolumes> <SoftShadows>No</SoftShadows> <HeatDistortions>No</HeatDistortions> <Bloom>No</Bloom> <DynamicLighting>No</DynamicLighting> <ParticleDetail>0.4</ParticleDetail> <MeshDetail>0.0</MeshDetail> <EnvironmentDetail>0.0</EnvironmentDetail> </GraphicDetailLevel> <!-- Medium default detail --> <GraphicDetailLevel name="Default_1"> <ScreenResolutionWidth>1024</ScreenResolutionWidth> <ScreenResolutionHeight>768</ScreenResolutionHeight> <ScreenAALevel>0</ScreenAALevel> <TextureMipLevel>1</TextureMipLevel> <ShaderDetailLevel>1</ShaderDetailLevel> <WaterDetailLevel>1</WaterDetailLevel> <ShadowDetail>1</ShadowDetail> <ShadowVolumes>Yes</ShadowVolumes> <SoftShadows>No</SoftShadows> <HeatDistortions>No</HeatDistortions> <Bloom>No</Bloom> <DynamicLighting>No</DynamicLighting> <ParticleDetail>0.6</ParticleDetail> <MeshDetail>0.5</MeshDetail> <EnvironmentDetail>0.2</EnvironmentDetail> </GraphicDetailLevel> <!-- High default detail --> <GraphicDetailLevel name="Default_2"> <Based_On>Default_1</Based_On> <TextureMipLevel>0</TextureMipLevel> <ShaderDetailLevel>2</ShaderDetailLevel> <WaterDetailLevel>1</WaterDetailLevel> <ShadowDetail>2</ShadowDetail> <HeatDistortions>Yes</HeatDistortions> <Bloom>Yes</Bloom> <DynamicLighting>No</DynamicLighting> <ParticleDetail>0.8</ParticleDetail> <MeshDetail>1.0</MeshDetail> <EnvironmentDetail>0.6</EnvironmentDetail> </GraphicDetailLevel> <!-- Highest default detail --> <GraphicDetailLevel name="Default_3"> <ScreenResolutionWidth>1280</ScreenResolutionWidth> <ScreenResolutionHeight>1024</ScreenResolutionHeight> <ScreenAALevel>1</ScreenAALevel> <TextureMipLevel>0</TextureMipLevel> <ShaderDetailLevel>3</ShaderDetailLevel> <WaterDetailLevel>2</WaterDetailLevel> <ShadowDetail>3</ShadowDetail> <ShadowVolumes>Yes</ShadowVolumes> <SoftShadows>Yes</SoftShadows> <HeatDistortions>Yes</HeatDistortions> <Bloom>Yes</Bloom> <DynamicLighting>No</DynamicLighting> <ParticleDetail>1.0</ParticleDetail> <MeshDetail>1.0</MeshDetail> <EnvironmentDetail>1.0</EnvironmentDetail> </GraphicDetailLevel> <!-- --> <!-- Detail sets that only use the FIXED FUNCTION pipeline --> <!-- --> <GraphicDetailLevel name="FF_0"> <Based_On>Default_0</Based_On> <ScreenResolutionWidth>800</ScreenResolutionWidth> <ScreenResolutionHeight>600</ScreenResolutionHeight> <TextureMipLevel>2</TextureMipLevel> <ShaderDetailLevel>0</ShaderDetailLevel> <WaterDetailLevel>0</WaterDetailLevel> <ShadowVolumes>No</ShadowVolumes> <SoftShadows>No</SoftShadows> <HeatDistortions>No</HeatDistortions> <Bloom>No</Bloom> </GraphicDetailLevel> <GraphicDetailLevel name="FF_1"> <Based_On>Default_1</Based_On> <ScreenResolutionWidth>800</ScreenResolutionWidth> <ScreenResolutionHeight>600</ScreenResolutionHeight> <TextureMipLevel>1</TextureMipLevel> <ShaderDetailLevel>0</ShaderDetailLevel> <WaterDetailLevel>0</WaterDetailLevel> <ShadowVolumes>No</ShadowVolumes> <SoftShadows>No</SoftShadows> <HeatDistortions>No</HeatDistortions> <Bloom>No</Bloom> </GraphicDetailLevel> <GraphicDetailLevel name="FF_2"> <Based_On>Default_2</Based_On> <ScreenResolutionWidth>1024</ScreenResolutionWidth> <ScreenResolutionHeight>768</ScreenResolutionHeight> <ShaderDetailLevel>0</ShaderDetailLevel> <WaterDetailLevel>0</WaterDetailLevel> <ShadowVolumes>No</ShadowVolumes> <SoftShadows>No</SoftShadows> <HeatDistortions>No</HeatDistortions> <Bloom>No</Bloom> </GraphicDetailLevel> <GraphicDetailLevel name="FF_3"> <Based_On>Default_3</Based_On> <ScreenResolutionWidth>1024</ScreenResolutionWidth> <ScreenResolutionHeight>768</ScreenResolutionHeight> <ShaderDetailLevel>0</ShaderDetailLevel> <WaterDetailLevel>0</WaterDetailLevel> <ShadowVolumes>No</ShadowVolumes> <SoftShadows>No</SoftShadows> <HeatDistortions>No</HeatDistortions> <Bloom>No</Bloom> </GraphicDetailLevel> </GraphicDetailLevelEnumeration> <!-- Specify hardware-graphic settings relationship here, highest to lowest, specific VendorID before generic --> <!-- <GraphicDetailSettingName>: Specify reference to detail setting lowest to highest IN ORDER! This corresponds to GraphicDetail slider in the game. Therefore, the number of these settings has to agree with the number of ticks on the slider. --> <!-- <DefaultGraphicDetailLevel>: Specifies which setting to choose by default from the list above --> <!-- <VendorIDHEX>, <VendorIDHEX>: entries with these should go BEFORE any generic entries so they can be matched first --> <!-- 64Mb GF4MX reported 141Mb, so empirically anything below 200Mb is "low" for us --> <HardwareConfigurations> <!-- --> <!-- --> <!-- Intel special cases, all Intel HW gets fixed function due to the lack of hardware vertex shaders --> <!-- --> <!-- --> <HardwareConfiguration name="Config_Intel_Fast"> <GraphicDetailSettingName> FF_0 FF_1 FF_2 FF_3</GraphicDetailSettingName> <DefaultGraphicDetailLevel>2</DefaultGraphicDetailLevel> <PixelShaderVersionHEX>0x0000</PixelShaderVersionHEX> <VertexShaderVersionHEX>0x0000</VertexShaderVersionHEX> <TextureMemory>200.0</TextureMemory> <CPUSpeed>2.25</CPUSpeed> <VendorIDHEX>0x8086</VendorIDHEX> </HardwareConfiguration> <HardwareConfiguration name="Config_Intel_Slow"> <GraphicDetailSettingName> FF_0 FF_1 FF_2 FF_3</GraphicDetailSettingName> <DefaultGraphicDetailLevel>1</DefaultGraphicDetailLevel> <PixelShaderVersionHEX>0x0000</PixelShaderVersionHEX> <VertexShaderVersionHEX>0x0000</VertexShaderVersionHEX> <TextureMemory>200.0</TextureMemory> <CPUSpeed>0.0</CPUSpeed> <VendorIDHEX>0x8086</VendorIDHEX> </HardwareConfiguration> <!-- --> <!-- --> <!-- Generic Hardware Configs, based on cpu-speed, texture-ram, and reported shader versions --> <!-- --> <!-- --> <!-- Highest detail setting, we want 6800's, X800's and above (primarily filtered by fill-rate) --> <HardwareConfiguration name="Config_Highest"> <GraphicDetailSettingName> Default_0 Default_1 Default_2 Default_3</GraphicDetailSettingName> <DefaultGraphicDetailLevel>3</DefaultGraphicDetailLevel> <TextureMemory>200.0</TextureMemory> <CPUSpeed>2.2</CPUSpeed> <!-- <FillRateGPs>2800.0</FillRateGPs> --> <FillRateMpsPS13>0.0</FillRateMpsPS13> <FillRateMpsPS14>0.0</FillRateMpsPS14> <FillRateMpsPS20>300.0</FillRateMpsPS20> <VertexRateMvsVS11>5.0</VertexRateMvsVS11> <PixelShaderVersionHEX>0x0200</PixelShaderVersionHEX> <VertexShaderVersionHEX>0x0101</VertexShaderVersionHEX> </HardwareConfiguration> <!-- FX5900, Radeon 9800, etc --> <HardwareConfiguration name="Config_High"> <GraphicDetailSettingName> Default_0 Default_1 Default_2 Default_3</GraphicDetailSettingName> <DefaultGraphicDetailLevel>2</DefaultGraphicDetailLevel> <TextureMemory>200.0</TextureMemory> <CPUSpeed>1.7</CPUSpeed> <!-- <FillRateGPs>1200.0</FillRateGPs> --> <FillRateMpsPS13>0.0</FillRateMpsPS13> <FillRateMpsPS14>200.0</FillRateMpsPS14> <FillRateMpsPS20>0.0</FillRateMpsPS20> <VertexRateMvsVS11>5.0</VertexRateMvsVS11> <PixelShaderVersionHEX>0x0104</PixelShaderVersionHEX> <VertexShaderVersionHEX>0x0101</VertexShaderVersionHEX> </HardwareConfiguration> <!-- Lower end dx8 and dx9 hardware --> <HardwareConfiguration name="Config_Medium"> <GraphicDetailSettingName> Default_0 Default_1 Default_2 Default_3</GraphicDetailSettingName> <DefaultGraphicDetailLevel>1</DefaultGraphicDetailLevel> <TextureMemory>100.0</TextureMemory> <CPUSpeed>0.0</CPUSpeed> <FillRateGPs>750.0</FillRateGPs> <FillRateMpsPS13>200.0</FillRateMpsPS13> <FillRateMpsPS14>0.0</FillRateMpsPS14> <FillRateMpsPS20>0.0</FillRateMpsPS20> <VertexRateMvsVS11>3.0</VertexRateMvsVS11> <PixelShaderVersionHEX>0x0100</PixelShaderVersionHEX> <VertexShaderVersionHEX>0x0101</VertexShaderVersionHEX> </HardwareConfiguration> <!-- All others! --> <HardwareConfiguration name="Config_Low"> <GraphicDetailSettingName> Default_0 Default_1 Default_2 Default_3</GraphicDetailSettingName> <DefaultGraphicDetailLevel>0</DefaultGraphicDetailLevel> <TextureMemory>0.0</TextureMemory> <CPUSpeed>0.0</CPUSpeed> <PixelShaderVersionHEX>0x0000</PixelShaderVersionHEX> <VertexShaderVersionHEX>0x0000</VertexShaderVersionHEX> </HardwareConfiguration> <!-- Highest detail setting, we want 6800's, X800's and above (primarily filtered by fill-rate) --> <!-- Entry added by Mike.nl to work around FoC crash issue --> <HardwareConfiguration name="Config_Highest_Fix"> <GraphicDetailSettingName> Default_0 Default_1 Default_2 Default_3</GraphicDetailSettingName> <DefaultGraphicDetailLevel>3</DefaultGraphicDetailLevel> <TextureMemory>-2048.0</TextureMemory> <CPUSpeed>2.2</CPUSpeed> <!-- <FillRateGPs>2800.0</FillRateGPs> --> <FillRateMpsPS13>0.0</FillRateMpsPS13> <FillRateMpsPS14>0.0</FillRateMpsPS14> <FillRateMpsPS20>300.0</FillRateMpsPS20> <VertexRateMvsVS11>5.0</VertexRateMvsVS11> <PixelShaderVersionHEX>0x0200</PixelShaderVersionHEX> <VertexShaderVersionHEX>0x0101</VertexShaderVersionHEX> </HardwareConfiguration> </HardwareConfigurations> </GraphicDetailSettings>One note though: because this changes an XML file, it might count as a mod and interfere with on-line play.
#57
Posted 19 December 2007 - 08:39 AM
I am running a brand new installation of FoC from the EaW Gold Pack.
Get immediatly that error. EaW works perfectly.
4 GB of RAM and Vista 64 bit and xfx GTS 8800 XX.
(VISTA = Very Instable System To Administrate).
@ Petro: Guys, this bug seems to be widespread and long known. How can you distribute a gold pack without having bugs like this fixed? I mean it is not even playable a bit, It's like buying a car which doesn't drive at all...
@ Santa: Dear Santa,
my wish for christmas would be to get a fix for FoC, so that I am able to start up and play FoC.
#58
Posted 20 December 2007 - 04:04 AM
I would Try Mikes Patch as soon as i get home from Work ,
but just in Case : Dear Santa , please give me a FOC Patch for Vista 64 and 4 GB RAM.
AOTR2 comes out and i want ot play it

#59
Posted 20 December 2007 - 11:42 AM
Thanks for the note. I went over all that with someone on the phone. The problem is that the EAW expansion FOC will not run if the computer is accessing more than 3225MB of Ram. I was told when I called that this is not a known issue. Perhaps it is not a known issue by your company, but it certainly is a know issue by anyone running a 64bit systems, with numerous forums devoted to it.
I explained that to the phone support and he was skeptical. I am running 64bit Vista Ultimate on a box with 6GB of RAM. After getting off the phone with tech support, I followed the advice in this forum ( http://www.petroglyp...showtopic=5417) and removed 4gig of RAM. With only 2GB of Ram running in the machine, FOC started right up and ran fine. I reinstalled the RAM and the problem reoccurred. I went into the config utility and set the computer to boot with max RAM of 3225MB and rebooted. With the limited RAM it ran error free. If I change that from 3225 to something higher (Example 3400MB), FOC will not start.
Obviously running in selective startup or physically removing the RAM is not a good resolution to this problem. This is a known issue and has been for at least 3 months (Google it if you are skeptical). How can you not know about it? Where is the patch?
#60
Posted 20 December 2007 - 12:01 PM
3 user(s) are reading this topic
0 members, 3 guests, 0 anonymous users












