Anonymous edits have been disabled on the wiki. If you want to contribute please login or create an account.


Warning for game developers: PCGamingWiki staff members will only ever reach out to you using the official press@pcgamingwiki.com mail address.
Be aware of scammers claiming to be representatives or affiliates of PCGamingWiki who promise a PCGW page for a game key.

Difference between revisions of "User:Suicide machine/Research bunker"

From PCGamingWiki, the wiki about fixing PC games
m
Line 31: Line 31:
 
* '''Balancing minigame''' may be much harder or near impossible at high framerate. It's the most obvious element of a game that seems to be tied to framerate - because of that, I added a simple cheat to a program as a workaround it.
 
* '''Balancing minigame''' may be much harder or near impossible at high framerate. It's the most obvious element of a game that seems to be tied to framerate - because of that, I added a simple cheat to a program as a workaround it.
 
* '''Dying when escaping from elevator''' - occasionally in the level '''Science Center Interior''' a bug may happen, which makes it impossible to escape from elevator shaft, before the fire. I had this happen only once, but I know some other people also mentioned it. If this happen, try to lower the framerate to 30 and see if this helps.
 
* '''Dying when escaping from elevator''' - occasionally in the level '''Science Center Interior''' a bug may happen, which makes it impossible to escape from elevator shaft, before the fire. I had this happen only once, but I know some other people also mentioned it. If this happen, try to lower the framerate to 30 and see if this helps.
 +
 +
==[[Ace Combat: Assault Horizon - Enhanced Edition]]==
 +
===Controller issues===
 +
* Despite my attempts, I was not able to replicate the issues with controllers and/or keyboard, where a game behaves like one button would be constantly pressed down.
  
 
==[[Afterfall: InSanity]]==
 
==[[Afterfall: InSanity]]==
Line 37: Line 41:
 
* '''"InSanity-Win32-Shipping.exe"+003094EC''' +70 +40 +1e0 +2f0
 
* '''"InSanity-Win32-Shipping.exe"+003094EC''' +70 +40 +1e0 +2f0
 
So screw this game.
 
So screw this game.
 
==[[Ace Combat: Assault Horizon - Enhanced Edition]]==
 
===Controller issues===
 
* Despite my attempts, I was not able to replicate the issues with controllers and/or keyboard, where a game behaves like one button would be constantly pressed down.
 
  
 
==[[Airfix Dogfighter]]==
 
==[[Airfix Dogfighter]]==
Line 61: Line 61:
 
* Changing 1024x768 to widescreen one resulted in a game crashing. Changing it to 640x480 resulted in a game properly switching to 640x480, when selecting 1024x768 from options - this leads to the conclusion, it's impossible to run this game in a widescreen mode.
 
* Changing 1024x768 to widescreen one resulted in a game crashing. Changing it to 640x480 resulted in a game properly switching to 640x480, when selecting 1024x768 from options - this leads to the conclusion, it's impossible to run this game in a widescreen mode.
 
* Oddly enough, screen's width is also stored in '''ARSENAL.CFG''' in the first 2 bytes.
 
* Oddly enough, screen's width is also stored in '''ARSENAL.CFG''' in the first 2 bytes.
 +
 +
==[[Aquanox]]==
 +
===Widescreen resolution===
 +
Here's currently completely stupid way of getting a game running in widescreen mode with proper aspect ratio. Requires CheatEngine:
 +
* Increase FOV
 +
<pre>[ENABLE]
 +
//code from here to '[DISABLE]' will be used to enable the cheat
 +
alloc(newmem,2048)
 +
label(returnhere)
 +
label(originalcode)
 +
label(exit)
 +
 +
newmem: //this is allocated memory, you have read,write,execute access
 +
//place your code here
 +
 +
originalcode:
 +
push eax
 +
movd xmm0,eax
 +
mov eax,3FAAAAAB
 +
movd xmm1,eax
 +
pop eax
 +
mulss xmm0,xmm1
 +
movd [ecx+0C],xmm0
 +
mov [ecx+10],edx
 +
 +
exit:
 +
jmp returnhere
 +
 +
"Aqua.exe"+149CB1:
 +
jmp newmem
 +
nop
 +
returnhere:
 +
 +
[DISABLE]
 +
//code from here till the end of the code will be used to disable the cheat
 +
dealloc(newmem)
 +
"Aqua.exe"+149CB1:
 +
mov [ecx+0C],eax
 +
mov [ecx+10],edx
 +
//Alt: db 89 41 0C 89 51 10</pre>
 +
 +
* Aspect ratio fix:
 +
<pre>[ENABLE]
 +
//code from here to '[DISABLE]' will be used to enable the cheat
 +
alloc(newmem,2048)
 +
label(returnhere)
 +
label(exit)
 +
 +
newmem: //this is allocated memory, you have read,write,execute access
 +
//place your code here
 +
repe movsd
 +
push edi
 +
sub edi,C
 +
push edi
 +
movd xmm0,[edi]
 +
mov edi,3FAAAAAB
 +
movd xmm1,edi
 +
mulss xmm0,xmm1
 +
pop edi
 +
movd [edi],xmm0
 +
pop edi
 +
mov ecx,[Aqua.exe+26D100]
 +
 +
exit:
 +
jmp returnhere
 +
 +
"Aqua.exe"+44874:
 +
jmp newmem
 +
nop
 +
nop
 +
nop
 +
returnhere:
 +
 +
 +
 +
 +
[DISABLE]
 +
//code from here till the end of the code will be used to disable the cheat
 +
dealloc(newmem)
 +
"Aqua.exe"+44874:
 +
repe movsd
 +
mov ecx,[Aqua.exe+26D100]
 +
//Alt: db F3 A5 8B 0D 00 D1 66 00</pre>
 +
 +
Probably will only work with Steam version. Getting a proper aspect ratio in 1.17 is easier. Just find 1.333333
  
 
==[[Croc: Legend of the Gobbos]]==
 
==[[Croc: Legend of the Gobbos]]==

Revision as of 00:28, 1 September 2015

For science!

So, you've found my research bunker and you wonder what's that? Well, it's basically a page, where I put all the information from games, I've researched, if I consider, they are not enough to grant a full page or if I simply don't have an English version of the game. Here you can also find a few failed experiments of mine (like games, which exe files, I've tried hex editing to run at widescreen, but found no adresses etc.). Basically - a long page, with a lot of cramped information. Also, if there is FOV mentioned in a text, there is a fair chance, source code can be found at my GitHub.

Remember to notify me about any issues related to my programs as soon as possible. A lot of an issues with them, is related to pointers pointing to different addresses on other machines (I only have my old trusty PC to test it) and can be easily solved.

Notes

Windows 7 updates not worth installing

  • KB2670838 - often causes BSODs
  • KB971033 - Stupid DRM update :P

Golden values

Sometimes you overlook simple things. I certainly did. So here's something I learnt thanks to Dredd widscreen hack.

  • Aspect ratio of 4:3 - 1.3 is float 1.3333334 = 0xABAAAA3F as stored in files.
  • Typical FOV values stored in files:
    • 75 - 0x00009642
    • 90 - 0x0000B442
    • 91.300003 - 0x9A99B642

Steam

Cloud syncing

  • Based on few simple test of Ultimate Doom and informations taken from SteamDB it's very clear to me, that any game released on Steam can feature cloud syncing, as the Steam version of Doom is using non-modified version of DosBOX and the only rule that seem to work for cloud syncing is - when Dosbox process stops running, Steam looks for *.DSG files in base folder and sends newest ones to cloud space...
  • In short: Any old game released on Steam has no excuse, when it comes to not using cloud saves, as no modified exe files are required.

007: Quantum of Solace

30fps cap and FOV changing

I made FOV changer and FPS unlocker for cracked version. It's available here (hopefully it works on original version as well). Code is available in a Github repository.

Known issues with high framerate

Even though the game is using Infinity Ward Engine (same as COD4), it doesn't seem to handle high framerate anywhere as well as other games on this engine. Here are some known issues:

  • Balancing minigame may be much harder or near impossible at high framerate. It's the most obvious element of a game that seems to be tied to framerate - because of that, I added a simple cheat to a program as a workaround it.
  • Dying when escaping from elevator - occasionally in the level Science Center Interior a bug may happen, which makes it impossible to escape from elevator shaft, before the fire. I had this happen only once, but I know some other people also mentioned it. If this happen, try to lower the framerate to 30 and see if this helps.

Ace Combat: Assault Horizon - Enhanced Edition

Controller issues

  • Despite my attempts, I was not able to replicate the issues with controllers and/or keyboard, where a game behaves like one button would be constantly pressed down.

Afterfall: InSanity

Cheats?

Health seems to be stored in

  • "InSanity-Win32-Shipping.exe"+003094EC +70 +40 +1e0 +2f0

So screw this game.

Airfix Dogfighter

Widescreen resolution

  • They can be set in a launcher. Screen change vert-, HUD elements get smaller the wider the resolution. No other problems noticed.

Aliens vs. Predator 2

Custom Launcher for AVP2.
Custom Launcher for AVP2.

Custom Launcher (FOV Changer / Widescreen Fixer etc)

I've developed an alternative launcher for AVP2, which automatically calculates FOV (and writes them into memory), that allows to choose non 4:3 resolutions (tied to FOV changer), easily enable windowed mode etc. You can download it here.

Aliens vs. Predator (2010)

FOV changer

The FOV Changer is uses 12 pointers (6 for DX11 and 6 for DX9). Because I couldn't figure out a way to make it work correctly each time, I added criteria which a value read value has to meet in order to be used (has to be higher than ~0.1 and smaller than ~171 horizontal degrees). This hopefully should make the FOV changer work correctly on all levels. Hopefully... Code is available in a Github repository.

Arsenal: Taste the Power

Widescreen resolution

  • I've managed to locate where in exe file resolutions are stored (the game has hardcoded 3 resolutions - 640x480, 800x600, 1024x768).
  • Changing 1024x768 to widescreen one resulted in a game crashing. Changing it to 640x480 resulted in a game properly switching to 640x480, when selecting 1024x768 from options - this leads to the conclusion, it's impossible to run this game in a widescreen mode.
  • Oddly enough, screen's width is also stored in ARSENAL.CFG in the first 2 bytes.

Aquanox

Widescreen resolution

Here's currently completely stupid way of getting a game running in widescreen mode with proper aspect ratio. Requires CheatEngine:

  • Increase FOV
[ENABLE]
//code from here to '[DISABLE]' will be used to enable the cheat
alloc(newmem,2048)
label(returnhere)
label(originalcode)
label(exit)

newmem: //this is allocated memory, you have read,write,execute access
//place your code here

originalcode:
push eax
movd xmm0,eax
mov eax,3FAAAAAB
movd xmm1,eax
pop eax
mulss xmm0,xmm1
movd [ecx+0C],xmm0
mov [ecx+10],edx

exit:
jmp returnhere

"Aqua.exe"+149CB1:
jmp newmem
nop
returnhere:

[DISABLE]
//code from here till the end of the code will be used to disable the cheat
dealloc(newmem)
"Aqua.exe"+149CB1:
mov [ecx+0C],eax
mov [ecx+10],edx
//Alt: db 89 41 0C 89 51 10
  • Aspect ratio fix:
[ENABLE]
//code from here to '[DISABLE]' will be used to enable the cheat
alloc(newmem,2048)
label(returnhere)
label(exit)

newmem: //this is allocated memory, you have read,write,execute access
//place your code here
repe movsd
push edi
sub edi,C
push edi
movd xmm0,[edi]
mov edi,3FAAAAAB
movd xmm1,edi
mulss xmm0,xmm1
pop edi
movd [edi],xmm0
pop edi
mov ecx,[Aqua.exe+26D100]

exit:
jmp returnhere

"Aqua.exe"+44874:
jmp newmem
nop
nop
nop
returnhere:


 
 
[DISABLE]
//code from here till the end of the code will be used to disable the cheat
dealloc(newmem)
"Aqua.exe"+44874:
repe movsd 
mov ecx,[Aqua.exe+26D100]
//Alt: db F3 A5 8B 0D 00 D1 66 00

Probably will only work with Steam version. Getting a proper aspect ratio in 1.17 is easier. Just find 1.333333

Croc: Legend of the Gobbos

Widescreen resolution

  • Launcher allows to select widescreen resolutions, when using D3D renderer. Everything is stretched (updated WSGF page).

Dead Reefs

Widescreen resolution

  • Resolutions seem to be stored near 0x00002B49 - changing them caused the game to start in a proper widescreen resolution, but then the game switched to old one anyway (based on game's log file). I was not able to identify, where the change comes from.

Deadly Dozen

Widescreen resolution

  • Menu is always rendered at 640x480 (or 800x600? - didn't check).
  • Resolutions in polish version are stored at 0x0002ED9A. Look for a sequence80020000BBE0010000EB4EBF20030000BB58020000EB42BF00040000BB0003. Scaling however seems to be weird. HUD is scaled perfectly, however it's that horizonal and vertical fovs are not scaled equally or that FOV overall is scalled too much.
  • There is also some problem, with settings apparently being (sometimes?) stored in save file, which results in game crashing, when trying to quit right after saving.

Deus Ex: The Fall

Field of View (FOV)

  • FOV Changer. Source-code is available in a Github repository.

Gorky 17

Widescreen resolution

  • The game is hardcoded to run at 640x480. I haven't found addresses, where resolution is stored in hex editing (it still might be stored there somewhere, but values are most likely extremely separated) (more than like 32 bytes).

Wrappers

  • They are useless, when it comes to this game. Most likely DXGL is going to be first, which will work with it (crash is most likely related to most DirectDraw/Direct3D wrappers lacking instructions for 3d rendering).

Problems

  • Yes, plenty and pretty much no fixes found. I'm surprised how such a technological garbage managed to found its way to GOG and Steam.

Hype: The Time Quest

Widescreen resolution

  • Seems to be hardcoded at 640x480. I managed to found one resolution stored at 000052E6 (Polish EXE, may have a different location), but at best it can be used to raise the resolution to 800x600. There is also a something what looks like a renderer resolution stored at 00067E91 as it's possible to increase it, but it won't scale the window.

Alternative installer

  • Having stumbled upon the source code of Alternative Installer for Lego Racers, I've taken steps to modify it to use it for Hype: The Time Quest. Installer is available in here.
  • Installer will only work with English, German and Polish versions of the game. For other versions, I'll need either a CD image or at least the name of localization folder. Keep in mind, selecting a wrong language version will result in an installer throwing an error during installation that a location can not be found (for Polish CD use Polish, for English CD use English etc.).
  • Installer has built in compatibility fixes and nGlide 1.03. It needs some testing! Especially with the fact, that in order to launch a game, installer needs to copy files to %WINDIR%\Ubisoft, which may cause problems with people using UAC.

Legendary

Field of view (FOV)

I made FOV Changer for it. Source-code is available in a Github repository.

Marine Sharpshooter 2

Passing command line parameters from Steam

  • The launcher in PC version is completely redundant, mostly because of the form the game is now distributed (previously, it made sense to have a button for uninstall the game etc.). What's worse, it doesn't pass command line parameters and doesn't have a field to input them. Because of that, I've written a simple program that takes command line parameters and send them to LithTech.exe (which is the executable for game), to replace it. It's available in here. And no, I'm not going to write a custom launcher for it. It's already enough, I wrote these few lines.

Medal of Honor (2010)

Field of view (FOV)

FOV changer can be downloaded in here. Source-code is available in a Github repository.

Star Trek: The Next Generation - Klingon Honor Guard

Player speed / performance

High framerate will make the game play too fast. Here are statistics to prove it, tested using modified LiveSplit (component starts time and splits based on player position), with a check of 62 times a second (enough to check differences).
Player speed / performance

Star Wars: Rogue Squadron 3D

Widescreen resolution

  • Menu is always rendered at 640x480.
  • Resolutions are stored in ROGUE SQUADRON.EXE at 0x00201D5C (v. 1.00 - look for 80020000E001000005000000200300005802000006000000000400000003000007000000000500000004). Changing them to widescreen resolutions makes the game stretched.


Star Wars: The Phantom Menace

Alternative installer

  • It seems, I've been wrong all this time. It looks like BIG.Z on the game's CD isn't some kind of a split or encrypted file, but it's just simply a big.lab, compressed with some unknown compression. If a program capable of extracting it was found (preferably, using command line), I could probably make an installer for it the game, just like I've made one for Hype. Alternatively, I could just pack big.lab into an installer, but that would be distributing a part of the game :|

Stunt GP

Widescreen resolution

  • Launcher allows to select only 4:3 resolutions. Widescreen resolution however can be set when editing game.cfg.
  • Changing DISPLAYRESWIDTH and DISPLAYRESHEIGHT results in a game being stretched.
  • To fix it, you need to change aspect ratio value in game's exe file.
    • Find a sequence: 80BC000000BE9FAA3FC780C00000000000803F
    • Replace BE9FAA3F with a new aspect ratio as a float value.
    • Remember to invert the byte order.
  • Alternatively you can use my fixer.
File:SuicideMachine - Stunt GP aspect ratio fixer.png
Comparison of normal and fixed aspect ratio

Syndicate (2012)

Developer Mode

  • There is a developer mode hidden in the game. Probably the safest way to enable it (ergo - a way that doesn't include programs of unknown origin) is via CheatEngine. Add address 00400000 to a list and enable debugger using Find what accesses this value option.

Ultimate Spider-Man

FPS

While, it's true this game is capped at 30fps, it's not always the case. Basically everything runs capped at 30fps, side from... first loading (which is capped at 45fps) and options menu and exit confirmation window (both capped at 60fps). Sadly, this doesn't seem to make unlocking framerate, easier :|

Wolfenstein: The New Order

Speeding up the game on lower end PCs

vt_maxPPF 4
vt_maxPhysicalPRTPages 2048
vt_pageimagesizevmtr 1024
vt_pageImageSizeUnique 1024
vt_pageImageSizeUniqueDiffuseOnly 512
vt_pageImageSizeUniqueDiffuseOnly2 1024
cvarAdd r_skipGodRays 1
cvarAdd r_skipSubSurfaceScattering 1
cvarAdd r_skipShadows 1

For really desperate people:

cvarAdd r_zfar 2500