User:Suicide machine/Research bunker

From PCGamingWiki, the wiki about fixing PC games
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.

Contents

Notes[edit]

Windows 7 updates not worth installing[edit]

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

Golden values[edit]

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[edit]

Cloud syncing[edit]

  • 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.

GameOverlayUI launch parameters[edit]

All of this was extracted from gameoverlayui.dll.
Paramemter Description
-pid <id> Pid that we should be watching for
-manuallyclearframes 0/1 Should the overlay be manually clearing frames to black (because the game doesn't clear the entire screen?)
-enablemovies 0/1 Should prototype movie code be enabled.

Steam Controller[edit]


007: Quantum of Solace[edit]

30fps cap and FOV changing[edit]

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[edit]

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.

Other variables in memory[edit]

Values were not tested and just copied like it goes from disassembly. All are written in following way - baseAddress, offset(s).

Pointer Variable
From function at 1025F770 ---
0x11B4F070, 0x10 Draw the view model
0x11C52418, 0x10 Draw cursor hints where:
0: no hints
1: sin size pulse
2: one way size pulse
3: alpha pulse
4: static image
0x11C52408, 0x10 Time in milliseconds for the cursor hint to fade
0x11C523DC, 0x10 The field of view angle in degrees
0x11B4F040, 0x10 The influence on the view from being in a vehicle
0x11B4F048, 0x10 Draw 2D screen elements
0x11C4C300, 0x10 Draw HUD elements
0x11B4BBB8, 0x10 Draw health bar
0x11B4BB8C, 0x10 Draw a 'hold breath to steady' hint
0x11C4C370, 0x10 Draw a 'press key to mantle' hint
0x11B4F094, 0x10 Draw a 'press key to ladder' hint
0x11B4BBA0, 0x10 Draw frames per second
0x11C4C3AC, 0x10 Draw FPS Info Labels
0x11C4C3B8, 0x10 Offset from top-right corner, for cg_drawFPS, etc
0x11B4EFD4, 0x10 Draw mem info on screen
0x11C4C340, 0x10 Draw debugging information for sounds
0x11C4C2F8, 0x10 Draw debugging information for scripts
0x11C4C33C, 0x10 Draw debugging information for materials
0x11B4F00C, 0x10 Draw a cross hair when using a turret
0x11B4F020, 0x10 Draw shellshock & flashbang screen effects.
0x11C4C2F0, 0x10 Draw a red box at the player's pos in noclip/ufo.
0x11B4EFD0, 0x10 Draw various debug overlays. Only useful when cg_draw2D is off.
0x11C4C2A0, 0x10 Draw icons with our cursor hints. Otherwise shows just the text and button prompt.
0x11C4C2F4, 0x10 The background color of the flash when the stance changes
0x11B4F034, 0x10 Draw helpful text to say how to change stances
0x11B4F03C, 0x10 The width of the damage icon
0x11B4F014, 0x10 The height of the damage icon
0x11B4EFFC, 0x10 The offset from the center of the damage icon
0x11C4C3B4, 0x10 The amount of time for the damage icon to stay on screen after damage is taken
0x11C4C30C, 0x10 Draw damage icons when aiming down the sight of a scoped weapon
0x11B4BB94, 0x10 The maximum distance that a grenade can be from a player in order to be shown on the grenade indicator
0x11C4C2E4, 0x10 The maximum distance that a flashbang can be from a player in order to be shown on the grenade indicator
0x11C4C2DC, 0x10 e grenade indicator
0x11C4C29C, 0x10 Show the grenade indicator when aiming down the sight of a scoped weapon
0x11B4F074, 0x10 The offset from the center of the screen for a grenade icon
0x11C4C328, 0x10 The height of the grenade indicator icon
0x11B4EFF4, 0x10 The width of the grenade indicator icon
0x11B4A550, 0x10 Show the grenade indicator for flash grenades
0x11C523EC, 0x10 The height of the grenade indicator pointer
0x11C4C330, 0x10 The width of the grenade indicator pointer
0x11B4F650, 0x10 The pivot point of th grenade indicator pointer
0x11B4F080, 0x10 The number of times per second that the grenade indicator flashes in Hertz
0x11B4A55C, 0x10 r to remain at full brightness for longer
0x11C4C35C, 0x10 to remain at full transparency for longer
0x11B4A554, 0x10 Stealth hud indicator pulses opacity. This is the maximum alpha it pulses between.
0x11C4C348, 0x10 Stealth hud indicator pulses opacity. This is the minimum alpha it pulses between.
0x11B4F05C, 0x10 used to prevent XBL connection for map and gametype data
0x11C4C2C0, 0x10 The delay after cycling to a new weapon to prevent holding down the cycle weapon button from cycling too fast
0x11B4F050, 0x10 The alpha value of the crosshair
0x11B4F654, 0x10 The minimum alpha value of the crosshair when it fades in
0x11C4C308, 0x10 Crosshair is Dynamic
0x11C4C2B4, 0x10 The crosshair color when over an enemy
0x11B4BBBC, 0x10 Weapons eject brass
0x11B4F04C, 0x10 x position of the viewmodel
0x11B4A574, 0x10 y position of the viewmodel
0x11B4EFF8, 0x10 z position of the viewmodel
0x11C4C324, 0x10 Weapon movement forward due to player movement
0x11C4C310, 0x10 Weapon movement right due to player movement
0x11C523F8, 0x10 Weapon movement up due to player movement
0x11C52420, 0x10 Forward weapon offset when prone/ducked
0x11C4C2D8, 0x10 Right weapon offset when prone/ducked
0x11B4F028, 0x10 Up weapon offset when prone/ducked
0x11C4C350, 0x10 Pitch gun rotation with movement
0x11C4C2CC, 0x10 Yaw gun rotation with movement
0x11B4F06C, 0x10 Gun roll rotation with movement
0x11B4F08C, 0x10 The base weapon movement rate
0x11B4F024, 0x10 The minimum weapon movement rate
0x11B4EFEC, 0x10 The base weapon rotation rate
0x11C4C3BC, 0x10 The minimum weapon rotation speed
0x11B4F078, 0x10 The time for a center printed message to fade
0x11C4C31C, 0x10 The weapon bob amplitude
0x11B4F098, 0x10 The amplitude of roll for weapon bobbing
0x11C4C364, 0x10 The maximum weapon bob
0x11C4C388, 0x10 The lag on the weapon bob
0x11C4C37C, 0x10 Which bone the player's weapon is attached to.
0x11B4BBB4, 0x10 Bone on player's character model to draw axes.
0x11B4BB9C, 0x10 Draw a full body player character
0x11C52404, 0x10 Player body part fade mode
0x11B4F084, 0x10 Dist from cam to player's head within which we fade in/out the head, show the body
0x11C4C390, 0x10 Dist from cam to player's head within which we fade in/out the head and body
0x11C4C2AC, 0x10 Rate at which we fade the head and body
0x11C4C2EC, 0x10 Remove roll from view
0x11B4BBA8, 0x10 Enabled debug camera
0x11B4A578, 0x10 (D)efault, (O)rbit, (A)bsolute (precede with 's' to set to set to that mode)
0x11C4C3A8, 0x10 Offset camera along camera's x axis
0x11C4C2A8, 0x10 Offset camera along camera's y axis
0x11B4F058, 0x10 Offset camera along camera's z axis
0x11B4F000, 0x10 Rotate camera along camera's x axis
0x11C52438, 0x10 Rotate camera along camera's y axis
0x11B4EFE0, 0x10 Rotate camera along camera's z axis
0x11B4F07C, 0x10 Default orbit distance (archived)
0x11C4C380, 0x10 Enabled screenshot button
0x11C4C3CC, 0x10 Number of screenshots to take at a time
0x11B4BBCC, 0x10 Hides the player
0x11B4A57C, 0x10 Offset camera along camera's y axis
0x11B4BB98, 0x10 Offset camera along camera's y axis
0x11C523F4, 0x10 Offset camera along camera's z axis
0x11B4BBC4, 0x10 Rotate camera along camera's x axis
0x11C523FC, 0x10 Rotate camera along camera's y axis
0x11B4BBC0, 0x10 Rotate camera along camera's z axis
0x11B4BBB0, 0x10 Locks Joypad Pitch
0x11B4F02C, 0x10 Set if player Wep is Zoomed
0x11C4C2E8, 0x10 Enable player moving bodies
0x11B4A56C, 0x10 Forces Misc hud elements not to be rendered, like the center dot
0x11C4C2E0, 0x10 Output event debug information
0x11C4C334, 0x10 Output event debug information
0x11C4C354, 0x10 Decay for predicted error
0x11C4C338, 0x10 Don't do client side prediction
0x11C4C3D0, 0x10 Show prediction errors
0x11C4C320, 0x10 Play footstep sounds
0x11C4C2C8, 0x10 Force laser sights on in all possible places.
0x11B4BBAC, 0x10 Forces a laser Sight on fro an AI weapon if it has a laser attachment
0x11C4C2C4, 0x10 The maximum range of a laser beam
0x11C4C2B8, 0x10 The maximum range of the player's laser beam
0x11B4A568, 0x10 The maximum range of the player's laser beam while in cover
0x11B4EFD8, 0x10 The size (radius) of a laser beam
0x11B4F054, 0x10 The radius of the light at the far end of a laser beam
0x11C52428, 0x10 How far from the true beginning of the beam the light at the beginning is.
0x11C4C294, 0x10 How far from the true end of the beam the light at the end is.
0x11C4C36C, 0x10 How far from the point of collision the end of the beam is.
0x11B4F09C, 0x10 Percentage laser widens over distance from viewer.
0x11B4F044, 0x10 Draw a debug line following client side bullet trace
0x11C4C298, 0x10 The probability that a bullet is a tracer round
0x11C4C378, 0x10 The width of the tracer round
0x11B4F090, 0x10 The speed of a tracer round in units per second
0x11C52440, 0x10 The length of a tracer round
0x11C4C2BC, 0x10 Scale the tracer at a distance, so it's still visible
0x11C4C368, 0x10 The minimum distance to scale a tracer
0x11C52410, 0x10 The range at which a tracer is scaled to its maximum amount
0x11C52434, 0x10 The length a tracer goes as it completes a full corkscrew revolution
0x11C523E8, 0x10 The radius of a tracer's corkscrew motion
0x11C4C2D4, 0x10 The range of the camera from the player in third person view
0x11C5241C, 0x10 The angle of the camera from the player in third person view
0x11C52414, 0x10 Pause the game
0x11C4C3B0, 0x10 Draw paused screen
0x11B4EFF0, 0x10 The amount of on-screen length to wrap an objective in non wide-screen mode
0x11B4F064, 0x10 The amount of on-screen length to wrap an objective in wide-screen mode
0x11C4C34C, 0x10 Output animation info for the given entity id
0x11B4F088, 0x10 Display the mini console on screen
0x11C5240C, 0x10 The minimum time that the subtitles are displayed on screen in seconds
0x11C4C358, 0x10 The width of the subtitles in non wide-screen
0x11C523E4, 0x10 The width of the subtitles in wide-screen
0x11C4C2D0, 0x10 The maximum character width of the game messages
0x11C4C374, 0x10 The maximum character width of the bold game messages
0x11C4C3C0, 0x10 Show blood effects
0x11C4C3A0, 0x10 Limit blood effects (to 'prevent excess blood stacking')
0x11B4BB90, 0x10 When limiting blood effects, number of milliseconds between effects.
0x11C4C344, 0x10 Font scale for a small development only display string
0x11B4EFE4, 0x10 Speed of the cursor when selecting a location on the map
0x11B4EFE8, 0x10 Current fov on scoped turrets.
0x11C523E0, 0x10 Min fovon scoped turrets.
0x11B4A564, 0x10 Max fov on scoped turrets.
0x11B4A560, 0x10 Speed of fov change on scoped turrets, fov-per-second.
0x11C4C2B0, 0x10 How much to smooth the Z component of the camera movement
0x11C4C3C4, 0x10 Left hand weapon bone name
0x11B4F01C, 0x10 Right handed weapon bone name
0x11C4C3C8, 0x10 Size of Icons defined by script
0x11C4C314, 0x10 Head icons are the same size regardless of distance from the player
0x11C4C3A4, 0x10 The minumum radius of a head icon on the screen
0x11B4EFDC, 0x10 Duration of an invalid command hint
0x11B4F64C, 0x10 Blink rate of an invalid command hint
0x11C4C290, 0x10 The rate that the player's view moves back to center when freelook is released
0x11C52424, 0x10 The rate at which the head turns when the chopper is turning.
0x11B4F038, 0x10 The amount which the head pitches when the chopper is pitching.
0x11B4BBA4, 0x10 The horizontal amount that the player turns when the chopper is strafing.
0x11B4A558, 0x10 The vertical amount that the player turns when the chopper is strafing.
0x11C4C2FC, 0x10 text message
0x11B4F068, 0x10 Enable spread debug circle.
0x11B4F008, 0x10 Apply gun sway to view
0x11B4BB88, 0x10 Toggle gunsway override settings
0x11B4F010, 0x10 Gun sway horizontal scale
0x11C4C318, 0x10 Gun sway vertical scale
0x11C5243C, 0x10 Gun sway lerp speec
0x11B4A570, 0x10 Gun sway max angle
0x11C4C32C, 0x10 Custom camera camera lag value
0x11B4F018, 0x10 Show the 3D gun barrel when bond's health is low
0x11B4F648, 0x10 Blur the screen every time the player gets hit
0x11C52400, 0x10 Blur the screen heavily whenever the player takes a large amount of damage
0x11C4C398, 0x10 Set the opacity for drawing static over the picture-in-picture display
0x11C4C304, 0x10 in the bottom-left of the PIP
0x11C4C2A4, 0x10 If true, show a border around the secondary PIP
0x11C5242C, 0x10 Color of the border around the secondary PIP
0x11C4C38C, 0x10 If true, show a border around the main1 PIP
0x11B4F060, 0x10 Color of the border around the main_1 PIP
0x11C4C39C, 0x10 A copy of the most recent string passed to setminimap, for Scaleform
0x11C4C3D4, 0x10 The level or stage to show on the minimap (corresponds to label in Flash file)
0x11C4C360, 0x10 e tutorial level.
0x11C523F0, 0x10 Disable the phone input commands, in case the damned thing starts acting up
From function at 101A6370 ---
0x119E2494, 0x10 Small font scale
0x119D8830, 0x10 Big font scale
0x119D8834, 0x10 Extra large font scale
0x119E2508, 0x10 Current campaign
0x119D8844, 0x10 Next mission
0x119E24FC, 0x10 Save game name
0x119D884C, 0x10 Automatically 'click to continue' after loading a level
0x119D86C4, 0x10 Show list of currently visible menus
0x119D882C, 0x10 If set, only menus using this name will draw.
0x119E24EC, 0x10 Meant to be set by script and referenced by menu files to determine if minimap should be drawn.
0x119D86C8, 0x10 True if the game is currently saving
0x119D8714, 0x10 Minumum time for the save message to be on screen in seconds
0x119E24F8, 0x10 Minimum time for the short save message to be on screen in seconds
0x119D8838, 0x10 (Lock Pick) How long should a *correct* code stay on the screen?
0x119E24F0, 0x10 (Lock Pick) How long should a *correct* code stay on the screen?
0x119E2498, 0x10 (Lock Pick) What is the correct code? 4-6 AlphaNumeric characters OR a number between 4-6 for random
0x119E24A0, 0x10 (Lock Pick) Result. Do not set this, it's used to communicate between script and the Scaleform UI.
0x119D8850, 0x10 (Hack Prompt) Result. Do not set this, it's used to communicate between script and the Scaleform UI.
0x119D8854, 0x10 Cameras the player has hacked (bits: 1,2,4 for cameras 1,2,3), communicates between script and UI
0x119D883C, 0x10 Number of chapters the player has unlocked.
0x119D8710, 0x10 Number of player profiles
0x119E2490, 0x10 Currently selected player profile
0x119E2500, 0x10 New player profile
0x119E2504, 0x10 Scales the border color for the lowlight color on certain UI borders
0x119D8840, 0x10 Override the default logic for the screen after Legal: (0) no override; (1) go to "press START"; (2) go to "press A on your controller"
0x119E24F4, 0x10 On XBox, show the Disconnected warning - this gets set to true if we can't open the save file after 1 second.
From function at 101BB910 ---
0x11A06FF4, 0x10 Print nothing to the console
0x1208D934, 0x10 Display network debugging information
0x119E493C, 0x10 AVI demo frames per second
0x11A06D6C, 0x10 Record AVI demo even if client is not active
0x11A070F4, 0x10 Max yaw speed in degrees for game pad and keyboard
0x11A07420, 0x10 Max pitch speed in degrees for game pad
0x11A07424, 0x10 Max ads yaw speed in degrees for game pad and keyboard
0x11A07144, 0x10 Max ads pitch speed in degrees for game pad
0x11A07428, 0x10 Multiplier for max angle speed for gamepad and keyboard
0x11A06FDC, 0x10 Mouse acceleration
0x11A07004, 0x10 Enable looking with mouse
0x11A06FCC, 0x10 Print mouse rate debugging information to the console
0x11A06FF0, 0x10 Allow in game cinematics
0x11A06D74, 0x10 Default pitch
0x11A06D70, 0x10 Default yaw
0x11A06FD4, 0x10 Forward speed in units per second
0x11A06FF8, 0x10 Sideways motion in units per second
0x11A06FFC, 0x10 Allow mouse movement smoothing
0x11B4BBC8, 0x10 Turn on weapon crosshair
0x11B4F030, 0x10 Turn on subtitles
0x11A06FD0, 0x10 to be initialized)
0x11A06FE0, 0x10 Used by script for keeping track of cheats
0x11A07000, 0x10 Used by script for keeping track of cheats
0x11A06FD8, 0x10 Used by script for keeping track of cheats
0x11A06FC4, 0x10 True when we are in the disconnectLocalClient from a change of profile
0x119E4938, 0x10 Invert gamepad pitch
0x11A06FE8, 0x10 Mouse sensitivity
0x119E4534, 0x10 input_coverViewSensitivity
0x11A06FEC, 0x10 Turn on auto aim for consoles
0x11A2A3E4, 0x10 Aim lock on helps the player to stay on target
0x11A2A3DC, 0x10 Turn on auto aim
0x11A2A3A8, 0x10 Slowdown the turn rate when the cross hair passes over a target
0x11C4C384, 0x10 Turn on center dot
0x11B4F004, 0x10 Turn on center dot (DEBUG)
0x11F99800, 0x10 Draw cover hints.
0x11B4BBC8, 0x10 Turn on weapon crosshair
0x11B4F030, 0x10 Turn on subtitles
0x11A06FD0, 0x10 to be initialized)
0x11A06D68, 0x10 Message of the day
0x11FA6400, 0x10 The next map name
0x11A06DC4, 0x10 The next demo to play
From function at 1010E290 ---
0x117B2A08, 0x10 used for debugging anything
0x117B2998, 0x10 Gamma value
0x117B2B24, 0x10 Ignore hardware gamma
0x117B2AA8, 0x10 Maximum anisotropy to use for texture filtering
0x117B2D38, 0x10 Disables all texture filtering (uses nearest only.)
0x117B2B08, 0x10 Minimum anisotropy to use for texture filtering (overridden by max)
0x117B2BB8, 0x10 Forces all mipmaps to use a particular blend between levels (or disables mipping.)
0x117B2BCC, 0x10 Change the mipmap bias
0x117B2AD0, 0x10 Toggles rendering without lighting
0x117B2A84, 0x10 Enable shader debugging information
0x117B2AB8, 0x10 GPU synchronization type (used to improve mouse responsiveness)
0x117B2A8C, 0x10 Use multiple GPUs
0x117B2B40, 0x10 Enable cache for vertices of animated models
0x117B2C60, 0x10 r_lodScaleParam
0x117B2A34, 0x10 Scale the level of detail distance (larger reduces detail)
0x117B298C, 0x10 Bias the level of detail distance (negative increases detail)
0x117B2D54, 0x10 Things closer than this aren't drawn. Reducing this increases z-fighting in the distance.
0x117B2A1C, 0x10 Viewmodel near clip plane
0x117B2980, 0x10 Change the distance at which culling fog reaches 100% opacity; 0 is off
0x117B2D88, 0x10 Set to 0 to disable fog
0x117B2A18, 0x10 Offset scale for decal polygons; bigger values z-fight less but poke through walls more
0x117B2A50, 0x10 Offset bias for decal polygons; bigger values z-fight less but poke through walls more
0x117B2B30, 0x10 If 0, picmip is set automatically. If 1, picmip is set based on the other r_picmip dvars.
0x117B2918, 0x10 Picmip level of color maps. If r_picmip_manual is 0, this is read-only.
0x117B2AB0, 0x10 Picmip level of normal maps. If r_picmip_manual is 0, this is read-only.
0x117B2CEC, 0x10 Picmip level of specular maps. If r_picmip_manual is 0, this is read-only.
0x117B2B50, 0x10 Allows shaders to use detail textures
0x117B2C48, 0x10 Allows shaders to use normal maps
0x117B2940, 0x10 Allows shaders to use phong specular lighting
0x117B2B6C, 0x10 Enables environment map specular lighting
0x117B2B54, 0x10 Replace all lightmaps with pure black or pure white
0x117B2C74, 0x10 Replace all color maps with pure black or pure white
0x117B2D20, 0x10 Replace all normal maps with a flat normal map
0x117B2B2C, 0x10 Replace all specular maps with pure black (off) or pure white (super shiny)
0x117B29A4, 0x10 Set greater than 1 to brighten specular highlights
0x117B2AA0, 0x10 Globally scale the diffuse color of all point lights
0x117B2D28, 0x10 Set to true to use layered materials on shader model 3 hardware
0x117B2AF8, 0x10 Show triangle outlines
0x117B2C88, 0x10 Upscale the frame buffer with sharpen filter and color correction.
0x117B2A74, 0x10 Width of server side debug lines
0x117B2AE0, 0x10 Enable logging of light grid points for the vis cache. 1 starts from scratch, 2 appends.
0x117B2CDC, 0x10 Show this many rows of light grid points for the vis cache
0x117B2D58, 0x10 Show light grid debugging information
0x117B2C04, 0x10 Use rainbow colors for entities that are outside the light grid
0x117B2BE4, 0x10 Ambient light strength
0x117B291C, 0x10 diffuse light fraction
0x117B2938, 0x10 Sunlight strength
0x117B2AE4, 0x10 Light ambient color
0x117B2C24, 0x10 Sun color
0x117B2C10, 0x10 Sun diffuse color
0x117B2CB0, 0x10 Min reflection intensity based on glancing angle.
0x117B2D94, 0x10 Min reflection intensity based on glancing angle.
0x115D87F0, 0x10 Max reflection intensity based on glancing angle.
0x117B2C50, 0x10 Reflection exponent.
0x117B2CF8, 0x10 Max sun specular intensity intensity with env map materials.
0x117B2D1C, 0x10 Write all graphics hardware calls for this many frames to a logfile
0x117B2BF0, 0x10 Figure out what to draw, but don't actually draw it. Useful for benchmarking.
0x117B2934, 0x10 Skips all rendering. Useful for benchmarking.
0x117B2968, 0x10 Skips 3d rendering during cinematics.
0x117B2C44, 0x10 Scale 3D viewports by this fraction. Use this to see if framerate is pixel shader bound.
0x117B2A48, 0x10 Process renderer back end in a separate thread
0x117B2A78, 0x10 Process renderer front end in a separate thread
0x117B2A58, 0x10 Enable worker thread
0x117B29BC, 0x10 Enable worker thread
0x117B2CC8, 0x10 Enable worker thread
0x117B29E8, 0x10 Enable v-sync before drawing the next frame to avoid 'tearing' artifacts.
0x117B2A20, 0x10 Transparency anti-aliasing method
0x117B2AE8, 0x10 Anti-aliasing sample count
0x117B2C70, 0x10 Color to clear the screen to when clearing the frame buffer
0x117B2C34, 0x10 Color to clear every second frame to (for use during development)
0x117B2A28, 0x10 Enable sun effects
0x117B2A64, 0x10 Enable world rendering
0x117B29C0, 0x10 Enable entity rendering
0x117B2B3C, 0x10 Enable poly rendering
0x117B2994, 0x10 Enable dynamic entity rendering
0x117B29D4, 0x10 Enable brush model rendering
0x117B2C08, 0x10 Enable static model rendering
0x117B29E0, 0x10 Enable xmodel rendering
0x117B2D84, 0x10 Inner FOV angle for the dynamic spot light.
0x117B2930, 0x10 Outer FOV angle for the dynamic spot light.
0x117B2AC8, 0x10 Enable shadows for spot lights.
0x117B2C6C, 0x10 Enable water rendering
0x117B2B48, 0x10 Lock the viewpoint used for determining what is visible to the current position and direction
0x117B2C5C, 0x10 Skipt the determination of what is in the potentially visible set (disables most drawing)
0x117B2A5C, 0x10 is the cosine of the angle
0x117B2D48, 0x10 Use screen-space bounding box of portals rather than the actual shape of the portal projected onto the screen
0x117B29F0, 0x10 Only draw things in the same cell as the camera. Most useful for seeing how big the current cell is.
0x117B2A30, 0x10 Stop portal recursion after this many iterations. Useful for debugging portal errors.
0x117B2C58, 0x10 Don't clip child portals by a parent portal smaller than this fraction of the screen area.
0x115D87F8, 0x10 Ignore r_portalMinClipArea for portals with fewer than this many parent portals.
0x117B2AEC, 0x10 Show portals for debugging
0x117B2D0C, 0x10 Show Spawn Points
0x117B2A80, 0x10 Show details for each surface
0x117B2BFC, 0x10 Show front buffer color debugging information
0x117B2CB4, 0x10 Show float z buffer used to eliminate hard edges on particles near geometry
0x117B2D08, 0x10 Distance for high level of detail
0x117B2B84, 0x10 Distance for medium level of detail
0x117B2A54, 0x10 Distance for low level of detail
0x117B29A0, 0x10 Distance for lowest level of detail
0x117B2D14, 0x10 Force all level of detail to this level
0x117B2CBC, 0x10 Enable shadow cookies
0x117B2DA0, 0x10 Enable shadow cookie blur
0x117B2C7C, 0x10 Number of shadow cookies
0x117B2D4C, 0x10 Show debugging information for the shadow cookie caster count
0x117B29B4, 0x10 Show debugging information for the shadow cookie receiver count
0x117B2BAC, 0x10 Show shadow overlay for shadow cookies
0x117B2C68, 0x10 Show debug information for shadow cookies
0x117B2B70, 0x10 Number of desired shadows
0x117B2B90, 0x10 Margin of error on number of desired shadows
0x117B2C14, 0x10 Shadow cookie fade range
0x117B2984, 0x10 Rate at which the shadow cookie horizon moves inwards
0x117B2CE4, 0x10 Rate at which the shadow cookie horizon moves outwards
0x117B297C, 0x10 Shadow cookie length
0x117B295C, 0x10 Shadow cookie off-screen caster level of detail bias
0x117B2BD4, 0x10 Shadow cookie off-screen caster level of detail scale
0x117B2BDC, 0x10 Enable shadow mapping
0x117B29AC, 0x10 Limits how many primary lights can have shadow maps
0x117B2964, 0x10 How many seconds it takes for a primary light shadow map to fade in or out
0x117B2BC4, 0x10 When picking shadows for primary lights, measure distance from a point this far in front of the camera.
0x117B2BC0, 0x10 t's radius along it's shadow direction.
0x117B2AD8, 0x10 When picking shadows for primary lights, increase score for dynamic lights by this amount.
0x117B2910, 0x10 Show shadow map overlay
0x117B2A04, 0x10 Sun shadow map offset scale
0x117B2D9C, 0x10 Sun shadow map offset bias
0x117B2C8C, 0x10 Spot shadow map offset scale
0x117B2AFC, 0x10 Spot shadow map offset bias
0x117B29C8, 0x10 Player sun shadow map offset scale
0x117B2BD0, 0x10 Player sun shadow map offset bias
0x117B29E4, 0x10 Player spot shadow map offset scale
0x117B2B44, 0x10 Player spot shadow map offset bias
0x117B2C0C, 0x10 Shadow sample size
0x117B293C, 0x10 Draw world shadow maps
0x117B2D8C, 0x10 Draw entity shadow maps
0x117B2AC4, 0x10 Draw brush model shadow map
0x117B2A88, 0x10 Draw static model shadow maps
0x117B2C30, 0x10 Draw X-Model shadow maps
0x117B2A40, 0x10 Strict shadow map cull
0x117B2B58, 0x10 Fast sun shadow
0x117B2C78, 0x10 Dev tweak to blur the screen
0x117B29CC, 0x10 Enable distortion
0x117B2A0C, 0x10 Overide glow with tweak dvar values.
0x117B2D78, 0x10 Tweak dev var; Glow radius in pixels at 640x480
0x117B2BBC, 0x10 Tweak dev var; Glow bloom intensity
0x117B2B80, 0x10 Tweak dev var; Glow bloom cut off fraction
0x117B29F8, 0x10 Tweak dev var; Glow bloom desaturation
0x117B2958, 0x10 Tweak dev var; Glow ray expansion
0x117B2990, 0x10 Tweak dev var; Glow ray intensity
0x117B29D8, 0x10 Hirez Player Shadows.
0x117B290C, 0x10 enable spot shadows
0x117B2ABC, 0x10 enable sun shadows
0x117B2B64, 0x10 Overide glow with tweak dvar values.
0x117B2A70, 0x10 Tweak dev var; Enable glow
0x117B2D68, 0x10 Tweak dev var; Glow radius in pixels at 640x480
0x117B2D7C, 0x10 Tweak dev var; Glow bloom intensity
0x117B2C90, 0x10 Tweak dev var; Glow bloom cut off fraction"
0x117B2948, 0x10 Tweak dev var; Glow bloom desaturation
0x117B2CAC, 0x10 Tweak dev var; Glow ray expansion
0x117B2914, 0x10 Tweak dev var; Glow ray intensity
0x117B29D0, 0x10 Overide film effects with tweak dvar values.
0x117B2A24, 0x10 Display out of useful range of dark and light colors
0x117B2CF4, 0x10 Reset to neutral state.
0x117B29B8, 0x10 Tweak dev var; film color temperature
0x117B2B1C, 0x10 Tweak dev var; film color hue
0x117B299C, 0x10 Tweak dev var; film color saturation
0x117B2B00, 0x10 Tweak dev var; film color contrast
0x117B2CE0, 0x10 Tweak dev var; film color brightness
0x117B2CA4, 0x10 Display dark light ranges
0x117B2BF4, 0x10 Enable the depth of field effect
0x117B2C54, 0x10 Sets the radius of the gaussian blur used by depth of field, in pixels at 640x480
0x117B2D6C, 0x10 Sets the radius of the gaussian blur used by depth of field, in pixels at 640x480
0x117B2A90, 0x10 Depth of field viewmodel start distance, in inches
0x117B2A94, 0x10 Depth of field viewmodel end distance, in inches
0x117B2C94, 0x10 Depth of field near start distance, in inches
0x117B2904, 0x10 Depth of field near end distance, in inches
0x117B2970, 0x10 Depth of field far start distance, in inches
0x117B2D50, 0x10 Depth of field far end distance, in inches
0x117B2C64, 0x10 Depth of field bias as a power function (like gamma); less than 1 is sharper
0x117B2DAC, 0x10 Distance at which amount of motion blur is computed
0x117B29A8, 0x10 Max amount of motion blur
0x117B2D70, 0x10 Distance at which motion blur starts to fade away for non-rotational motion
0x117B2ADC, 0x10 Distance at which motion blur has faded away for non-rotational motion
0x117B2C20, 0x10 Distance at which motion blur starts to fade in
0x117B2AD4, 0x10 Distance at which motion blur has fully faded in
0x117B2DA8, 0x10 Max amount of motion blur for dash
0x117B2B14, 0x10 Max amount of motion blur for dash (scaler)
0x117B2908, 0x10 Tweak dev var; Contrast at screen edges
0x115D87F4, 0x10 Tweak dev var; Brightness at screen edge
0x117B2954, 0x10 Tweak dev var; Desaturation at screen edge
0x117B2C00, 0x10 Tweak dev var; Glow radius in pixels at 640x480
0x117B2DA4, 0x10 Tweak dev var; Contrast at screen center"
0x117B2C3C, 0x10 Tweak dev var; Brightness at screen center
0x117B2B5C, 0x10 Tweak dev var; Desaturation at screen center
0x117B2B7C, 0x10 Tweak dev var; Threshold for low screen effect
0x117B2C98, 0x10 Sets fade duration in seconds
0x117B2D98, 0x10 Sets fade duration in seconds
0x117B2B60, 0x10 Enable the poison effect
0x115D87FC, 0x10 pulse rate for distortion
0x117B2D10, 0x10 amount of distortion in x
0x117B2D64, 0x10 amount of distortion in y
0x117B2B20, 0x10 double vision angle
0x117B2950, 0x10 amount of double vision x
0x117B2C9C, 0x10 amount of double vision y
0x117B2CB8, 0x10 pip display mode
0x117B2BF8, 0x10 main display anchor point
0x117B2A4C, 0x10 main display position x
0x117B2B9C, 0x10 main display position y
0x117B2CCC, 0x10 scale xy crop xy
0x117B2BB4, 0x10 main display anchor point
0x117B2BA4, 0x10 main display position x
0x117B2CD0, 0x10 main display position y
0x117B29F4, 0x10 scale xy crop xy
0x117B2988, 0x10 main display anchor point
0x117B2B4C, 0x10 main display position x
0x117B2B18, 0x10 main display position y
0x117B2BA0, 0x10 scale xy crop xy
0x117B2CD8, 0x10 main display anchor point
0x117B2A60, 0x10 main display position x
0x117B2D80, 0x10 main display position y
0x117B2A68, 0x10 scale xy crop xy
0x117B2CA0, 0x10 pip display mode
0x117B2CD4, 0x10 secondary display anchor point
0x117B2C80, 0x10 secondary display position x
0x117B2B68, 0x10 secondary display position y
0x117B2B10, 0x10 secondary xy crop xy
0x117B294C, 0x10 widescreen aspect ratio
0x117B2AB4, 0x10 display brightness
0x117B2978, 0x10 display contrast
0x117B2ACC, 0x10 Sets the phone render mode
0x117B2AAC, 0x10 water wave 0 angle
0x117B2BA8, 0x10 water wave 0 wavelength
0x117B2BD8, 0x10 water wave 0 amplitude
0x117B2A3C, 0x10 water wave 0 phase
0x117B2CC0, 0x10 water wave 0 steepness
0x117B2CE8, 0x10 water wave 0 speed
0x117B2D74, 0x10 water wave 1 angle
0x117B29C4, 0x10 water wave 1 wavelength
0x117B2D04, 0x10 water wave 1 amplitude
0x117B2B98, 0x10 water wave 1 phase
0x117B2944, 0x10 water wave 1 steepness
0x117B2BE8, 0x10 water wave 1 speed
0x117B2BE0, 0x10 water wave 2 angle
0x117B2AF4, 0x10 water wave 2 wavelength
0x117B2D44, 0x10 water wave 2 amplitude
0x117B2B0C, 0x10 water wave 2 phase
0x117B2B74, 0x10 water wave 2 steepness
0x117B2D00, 0x10 water wave 2 speed
0x117B2900, 0x10 water wave 3 angle
0x115D87E8, 0x10 water wave 3 wavelength
0x117B29EC, 0x10 water wave 3 amplitude
0x117B2D18, 0x10 water wave 3 phase
0x117B2D30, 0x10 water wave 3 steepness
0x117B2A7C, 0x10 water wave 3 speed
0x117B2BC8, 0x10 use z pre pass
0x117B2BEC, 0x10 use SSAO
0x117B2D5C, 0x10 use SSAO single pass
0x117B2AA4, 0x10 is wide screen aspect
0x117B2CA8, 0x10 Prevents snow from going indoors
0x117B2974, 0x10 Affects the height map lookup for making sure snow doesn't go indoors
0x117B2D24, 0x10 Affects the height map lookup for making sure snow doesn't go indoors
0x117B2CF0, 0x10 Enable development environment
0x119C04CC, 0x10 Allow server side cheats
0x11FA63D8, 0x10 Draw stats monitor
0x117B2C18, 0x10 Operating system allows Streaming SIMD Extensions
0x117B2CFC, 0x10 Use Streaming SIMD Extensions for skinning
0x117B296C, 0x10 Index of the monitor to use in a multi monitor system; 0 picks automatically.
0x117B2D3C, 0x10 Screen aspect ratio. Most widescreen monitors are 16:10 instead of 16:9.
0x117B2C2C, 0x10 Special resolution mode for the remote debugger
0x117B2B04, 0x10 Godrays Method
0x117B2C40, 0x10 Godrays 2D sun position X
0x117B2A6C, 0x10 Godrays 2D sun position Y
0x117B2C28, 0x10 Godrays Method
0x117B2A10, 0x10 Godrays 2D sun position X
0x117B292C, 0x10 Godrays 2D sun position Y

Ace Combat: Assault Horizon - Enhanced Edition[edit]

Controller issues[edit]

  • 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[edit]

Cheats?[edit]

Health seems to be stored in

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

So screw this game.

Airfix Dogfighter[edit]

Widescreen resolution[edit]

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

Alekhine's Gun[edit]

Editing configs[edit]

Aliens vs. Predator 2[edit]

Custom Launcher for AVP2.
Custom Launcher for AVP2.

Custom Launcher (FOV Changer / Widescreen Fixer etc)[edit]

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)[edit]

FOV changer[edit]

The FOV Changer 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.

Command line arguments[edit]

See command line arguments on how to use the following options.
Parameter Description
-qosport Qos Listener Thread ?
-mute No sound?
 ?
-loop  ?
-stretchtofit  ?
-letterbox Letterbox?
-crop Crop?
-showcursor
-datacapture
-capturedata
-quietupdate
-loadshaders
-noassert
-batch
-winsize
-winpos
-fullscreen
-subwindow
-logdir
-usecwd
+password
+connect_lobby
+host
+connect
-language=X Changes language?

Arcania: Gothic 4[edit]

Raising limit cap[edit]

Use the following Cheat Engine script[1]
[ENABLE]
//code from here to '[DISABLE]' will be used to enable the cheat
alloc(newmem,2048)
label(increaseLevelDetourReturn)
label(increaseLevelDetour)

newmem:
//Below is the maximum level cap (originally 30)
dd (int)70

increaseLevelDetour:
cmp ecx,[newmem]
jmp increaseLevelDetourReturn

"Arcania.exe"+1AA4CD:
jmp increaseLevelDetour
nop
increaseLevelDetourReturn:


[DISABLE]
//code from here till the end of the code will be used to disable the cheat
dealloc(newmem)
"Arcania.exe"+1AA4CD:
cmp ecx,[eax+000001A8]
//Alt: db 3B 88 A8 01 00 00


Arsenal: Taste the Power[edit]

Widescreen resolution[edit]

  • 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[edit]

Widescreen resolution[edit]

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

[ENABLE]
//scalesFOV, cause aspect ratio scaling is vert-
alloc(fovscaling,2048)
label(returnfromfov)
label(exitfovscaling)

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

exitfovscaling:
jmp returnfromfov

"Aqua.exe"+149CB1:
jmp fovscaling
nop
returnfromfov:

//Fixes aspect ratio
alloc(aspectratio,2048)
label(returnfromaspect)
label(exitaspect)

aspectratio:
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]

exitaspect:
jmp returnfromaspect

"Aqua.exe"+44874:
jmp aspectratio
nop
nop
nop
returnfromaspect:

[DISABLE]
dealloc(fovscaling)
"Aqua.exe"+149CB1:
mov [ecx+0C],eax
mov [ecx+10],edx

dealloc(aspectratio)
"Aqua.exe"+44874:
repe movsd
mov ecx,[Aqua.exe+26D100]

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

Claw[edit]

Analysis[edit]

As it's pretty normal - installer is 16bit so it doesn't work on 64bit systems. Thankfully, that's not a big problem, as it mostly copies files from CD to Harddrive for the most part. The only tricky part are - as usual - registry entries. Below are required registry entries, prepared to be imported to 64bit OS registry (6432Node) and a file structure:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Monolith Productions\Claw]

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Monolith Productions\Claw\1.0]
"User Name"="Kowalsky"
"User Location"="Home"
"User Email"="none"
"WorkingDirectory"="D:\\Claw"
D:\Claw\CLAW.CNT
D:\Claw\CLAW.EXE
D:\Claw\CLAW.HLP
D:\Claw\CLAW.REZ
D:\Claw\CLAW.URL
D:\Claw\CLAW.USR
D:\Claw\CUSTOM
D:\Claw\DeIsL1.isu          //installer file, used for uninstalling
D:\Claw\MONOLITH.URL
D:\Claw\MSS32.DLL
D:\Claw\README.TXT
D:\Claw\SMACKW32.DLL
D:\Claw\CUSTOM\GOBLE1.WWD
D:\Claw\CUSTOM\GOBLE2.WWD
D:\Claw\CUSTOM\GOBLE3.WWD
D:\Claw\CUSTOM\POWER1.WWD
D:\Claw\CUSTOM\PULTZ1.WWD
D:\Claw\CUSTOM\PULTZ2.WWD
D:\Claw\CUSTOM\SCORPIO1.WWD
D:\Claw\CUSTOM\SCORPIO2.WWD
D:\Claw\CUSTOM\SCORPIO3.WWD
D:\Claw\CUSTOM\SHADE4.WWD
D:\Claw\CUSTOM\TRC1.WWD
D:\Claw\CUSTOM\TRC1_NE.WWD
D:\Claw\CUSTOM\TRC2.WWD
D:\Claw\CUSTOM\TRC2_NE.WWD
D:\Claw\CUSTOM\TRC3.WWD
D:\Claw\CUSTOM\TRC3_NE.WWD

The biggest pain however is the CD thing. The game/installer doesn't create any reference to a CD from which it was installed from, instead it automatically assumes that a CD that's suppose to be used is a first CD possible (the one with a lowest letter).

This issue seems to however been resolved with 1.3 patch.

Croc: Legend of the Gobbos[edit]

Widescreen resolution[edit]

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

Dead Reefs[edit]

Widescreen resolution[edit]

  • 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.

Deus Ex[edit]

120fps+ tests and FPS hack text[edit]

Test of game speed in relation to framerate (original and hacked Engine.dll)


Deus Ex: Human Revolution[edit]

Various variables in memory[edit]

  • dxhr.exe + 0x677378 - Timescale

Change physics gravity script[edit]

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

newmem: //this is allocated memory, you have read,write,execute access
//Original was 1.0
dd (float)0.1

originalcode:
fmul dword ptr [newmem]
mov eax,edi
jmp returnhere

"dxhr.exe"+112B49:
jmp originalcode
nop
returnhere:

 
[DISABLE]
//code from here till the end of the code will be used to disable the cheat
dealloc(newmem)
"dxhr.exe"+112B49:
fmul dword ptr [esp+24]
mov eax,edi

Deus Ex: The Fall[edit]

Field of View (FOV)[edit]

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

Descent 3[edit]

Command line arguments[edit]

Parameter Description
-aspect f_value Sets aspect ratio
-nomusic Disables music
-intro Forces intro to play.
-nointro Skips intro.
-rjoy ??
-httpproxy Sets proxy
-chpro ?
-mouseman Forces usage of Logitech Mouseman (?)
-dedicated Starts as dedicated server
-timetest ?
-launched Notifies game that it went past launcher (required when not using launcher)
-update ?
-deadzone0 ?
-deadzone1 ?
-invertmouseslide ?
-ForceStateLimited ?
-doonelevel ?
-quitongoal ?
-mousesens f_value Modifies mouse sensitivity
-mlooksens f_value Modifies mouse look sensitivity
-framecap int32_value Modifies frame cap
-limitframe ?
-nomultibmp ?
-himem ?
-superlowmem ?
-lowmem ?
-hividmem ?
-glide Forces Glide / 3dfx render (?)
-direct3d Forces Direct3D render (?)
-opengl Forces OpenGL (?)
-nosparkles ?
-nomotionblur Disables motion blur
-motionblur Enables motion blur (?)
-Height int32_value Sets render window height
-Width int32_value Sets renderer window width
-vsync Forces Vsync (?)
-mission string ?
-rocknride ?
-directinput ?
-alternatejoy ?
-lorestimer ?
-useexedir ?
-setdir ?
-useport ?
+host ?
-tempdir ?
-pilot string Sets pilot.
+name ?
+cl_pxotrack ?
+connect ?
-heat ?
-directip ?
-pxo ?
-url ?
-d3mbaseurl ?
-gameid ?
-scoreserver ?
-audiotauntdelay ?
-NoRenderWindows ?
-subtitles ?
-nopentium3 ?
-filter ?
-nopentium3 ?
-NoMultitexture Disables multitexturing surfaces
-nolightmaps Disables use of lightmaps
-forcelightmaps Forces use of lightmaps
-subpixelcorrect ?
-NoOutdoorFog Disables outdoor fog
-bumped ?
-useseconddevice ?
-nocompress ?
-z32bit ?
-nosound Disables sound
-useip ?
-netdebug ?
-64OS ?

Emergency 4: Global Fighters for Life[edit]

Hack notes[edit]

  • 0x00067C99 - Aspect ratio for camera (push (float)1.3333)
  • 0x0007843F - Windowed override
  • 0x0000E5B1 - Skip videos?

Gorky 17[edit]

Widescreen resolution[edit]

  • 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[edit]

  • 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[edit]

  • 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.

Hellforces[edit]

Config structure[edit]

My piece on config structure of the game can be found here.

Console commands[edit]

god
disable_ai
noclip
gravity
phizik
pers_move_check
pers_move
shadows
smooth_shadows
wave_trace
addtool
speed
newtrace
movie
bump
debug
portals
lod
wire
hudenable
vshaders
fps
drawpersons
objshadows
calcsmoke
checksmoke
drawsmoke
drawstatic
ps
person_bump_dist
obj_bump_dist
selfshade
trimesh
nakmodel
ragdoll
contacts
enabled
persons
mover

Hype: The Time Quest[edit]

Widescreen resolution[edit]

  • 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[edit]

  • 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.

Infernal[edit]

Few console commands[edit]

These commands were obtaining by extracting and decompiling global_debug.luc file.

Some of the functions have function parameter types specified in brackets.

Command Description
updlst()
spy(name, rotation, zoom)
chgfeelattr(feel, attr, defenable, defdisable, val)
chgvarattr(var, defenable, defdisable, val)
fsm(val) chgvarattr("gGame.RenderDebugMode", RDM_FSM, RDM_STANDARD, val)
sc() gConsole:Show()
hc() gConsole:Hide()
ds(s) gDebug:EnableStats(l_13_0, false)
es(s) gDebug:EnableStats(l_13_0, true)
quit() gDebug:Quit()
poe(val) chgvarattr("gDebug.PauseOnError", true, false, val)
inv(val) toggles p.Invulnerable
invs(val) toggles p.Invisible
loff() gDebug:SetNRAFlag(NRA_LIGHTS, false)
lon() gDebug:SetNRAFlag(NRA_LIGHTS, true)
on(val) chgfeelattr("Game debug", "Display_description", 3, 0, val)
cn(val) chgfeelattr("Game debug", "Display_description", 4, 0, val)
dn(val) chgfeelattr("Game debug", "Display_description", 5, 0, val)
gcr(val) performs chgfeelattr("Game debug", "Report_LUA_gc_stats", 1, 0, val)
fl(val) chgfeelattr("Game debug", "Force_freelook", 1, 0, val)
rt() gTextureManager:ReloadAllTextures()
gc(val) chgfeelattr("Engine", "LUA_gc_call_interval", igDefaultGCInterval, 0, val)
db(val) chgvarattr("gDebug.AllowDebugTexts", true, false, val)
r() reload() and inv()
wire(val) chgfeelattr("Rendering", "Force_wireframe", 1, 0, val)
d(p) Editor.Debug(val)
gd(f) Editor.Properties("f Game debug") or Editor.Properties("f " .. f)
renderStats()
phStats()
perfStats()
luaStats()
setSpeed(speed) gGlobalTimer:SetTimeMultiplier(gGame.CurrentFrameTime, speed)
enOnOff() toggles disable enemies
enemyCount()
gotoTest()
setres(x)
FSE() gGame:FullScreenEffectsDisabled()
BC() toggles Display_collision_boxes
Profile() Toggles Display_Novodex_ProfileData
PhysX() Toggles Display_physics_collision
FluidCheckResults(val)
Paths() Toggle Display_paths
PhysHardware() Toggles Display_hardware_registered_objects
BB() Toggles Display_bounding_boxes
IM() Toggles Mouse inversion
PH() Toggles Display_physics_assets
LENS() Toggles Display_lens_flares
TimeStep(step)
GlowPasses(cnt)
GetT()
Wtp()
KillAll()
KillEnemies()
DeleteCorpses()
DisableAll()
SO() toggles Display_Selected_object
ListVisibleObjects()
ListCharacters()
CBaseObject:ListChildren()
ListActiveBodies()
DeleteActiveBodies()
RemoveAllJoints()
TeleportAllTestboxes()
DeleteAllTestboxes()
RemoveAllTestboxes()
InitSpecialDolls()
RemoveAllCharacters()
EnableAll()
GhostModeAll()
Time(cmd)
E3DemoEnd()
LuaMem()
OpenDoor()
IsBaseObject(o)
IterateTable(tbl, callback, trace)
IterateObject(o, callback, trace)
IterateAll(callback)

Ion Fury[edit]

Launch parameters[edit]

A lot of these may not work, as this is a string dump.

Command Description
-# Load and run a game from slot # (0-9)
-c# Multiplayer mode #, 1 = DM, 2 = Co-op, 3 = DM(no spawn)
-cachesize # Set cache size in kB
-cfg [file.cfg] Use an alternate configuration file
-clipmap [file.map] Load an additional clipping map for use with clipshape
-connect [host] Connect to a multiplayer game
-conversion YYYYMMDD Selects CON script version for compatibility with older mods
-d [file.edm or #] Play a demo
-debughelp Shows debug help window
-g [file.grp] Load additional game data
-game_dir [dir] Specify game data directory
-gamegrp Select main grp file
-h [file.def] Load an alternate definitions file
-j [dir] Add a directory to Ion Fury's search list
-l# Start game on level #, see -v
-m Disable enemies
-map [file.map] Load an external map file
-mh [file.def] Include an additional definitions module
-mx [file.con] Include an additional CON script module
-name [name] Player name in multiplayer
-nm Disable music
-noautoload Disable loading from autoload directory
-noffire Disable friendly fire
-nologo Skip intro anim
-ns Disable sound
-q# Fake multiplayer with # players
-r Record demo
-rotatesprite-no-widescreen Stretch screen drawing from scripts to fullscreen
-rts [file.rts] Load a custom Remote Ridicule sound bank
-s# Start game on skill level #
-server Start a multiplayer server
-setup/nosetup Enable or disable startup window
-t# Respawn mode: 1 = enemies, 2 = weapons, 3 = items, x = all
-u######### User's favorite weapon order (default: 3425689071)
-usecwd Read data and configuration from current directory
-v# Start game on episode #, see -l
-x [game.con] Load custom CON script
-z#/-condebug Enable line-by-line CON compile debugging at level

Legendary[edit]

Field of view (FOV)[edit]

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

Lula 3D[edit]

Command line console[edit]

There is still left command line console from Vision engine, although by default it's disabled. To enable it, change byte at vision.dll +2C5BD1 to 1. The console doesn't have defined font, so all it displays is boxes.

Marine Sharpshooter 2[edit]

Passing command line parameters from Steam[edit]

  • 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)[edit]

Field of view (FOV)[edit]

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

Prism: Guard Shield[edit]

Launch parameters[edit]

Parameter Description
-subwindow ?
-fullscreen ?
-batch %s ?
-noassert ?

Search and Rescue: Coastal Heroes[edit]

Config structure[edit]

My piece on config structure of the game can be found here.

Shade: Wrath of Angels[edit]

Console command properties[edit]

EFF_MBLUR
EFF_UNDERWATER
EFF_NONE
EP_ACTIVE_PARTICLES
EP_CURRENT_TIME
EP_REPEAT
EP_EFFECT_TIME
EP_POINT_SPRITES
EP_ANIM_ONCE
EP_LIFETIME_BY_ANIM
EP_LIFETIME_RND
EP_LIFETIME
EP_BIRTH_RATE_RND
EP_BIRTH_RATE
EP_KILL_OLDEST
EP_GRAVITY_SCALE_RND
EP_GRAVITY_SCALE
EP_AIR_RESISTANCE_RND
EP_AIR_RESISTANCE
EP_RANDOM_ROT
EP_RANDOM_ANGLE
EP_STRETCH
EP_SIZE
EP_AVELOCITY
EP_VELOCITY_RND
EP_VELOCITY
EP_CONEANGLE
BC_ALLCONVEX
BC_SPHERE
BC_CONVEX
BC_CAPSULE_Z
BC_CAPSULE_Y
BC_CAPSULE_X
BC_OBB
BC_NONE
TSWITCH_TRANSP
TSWITCH_USER4
TSWITCH_USER3
TSWITCH_USER2
TSWITCH_USER1
FF_ALLINSIDE
FF_MESH
FF_PATCH
FF_PLANAR
SS_NOCULL
SS_NOOUTLINE
SS_ONCE
SS_TRANSP
SS_WIREFRAME
SS_DOUBLESIDE
SS_NOZUPDATE
SS_NOZBUFFER
SHAPE_POLY
SHAPE_LINE
SHAPE_BBOX
NULL  //just a name for a value?
false //just a name for a value?
true //just a name for a value?
ROLL
YAW
PITCH
FILEMODE_READ
FILEMODE_WRITE
C_LEAF
C_TRANSLUCENT
C_STRUCTURAL
C_DETAIL
C_CLUSTERPORTAL
C_MONSTERCLIP
C_NOCLIMB
C_PLAYERCLIP
C_AREAPORTAL
C_CAMERACLIP
C_PIVOT
C_FOG
C_WATER
C_SLIME
C_LAVA
C_SOLID
SURF_WATER
SURF_GRASS
SURF_CARPET
SURF_BETON
SURF_GRAVEL
SURF_GLASS
SURF_METAL
SURF_WOOD
SURF_DUST
SURF_FLESH
SURF_NOMARKS
SURF_NOIMPACT
SURF_LADDER
SURF_SKY
SURF_SLICK
LFL_BACKFACE
LFL_SHADOWSOURCE
LFL_TRACE
LFL_DYNAMIC
LFL_POINT
LFL_SPOT
AF_CHANGEMASK
AF_BLENDOUT
AF_FORCEFPS
AF_RESET
AF_USER
AF_ONCE
SF_GLOBAL
SF_LIPSYNC
SF_NOTEST
SF_MUSIC
SF_FREQCONTROL
SF_QUARTERRANGE
SF_HALFRANGE
SF_FLUSH
SF_STREAM
SF_3D
SF_AMBIENT
SF_ONCE
EV_ALL
EV_LIPSYNC
EV_LOADED
EV_SOUNDEND
EV_ANIMBLEND
EV_ANIMHOOK
EV_ANIMEND
EV_ONSAVE
EV_ONLOAD
EV_TIMER
EV_ENDFRAME
EV_BEGINFRAME
EV_AFTERPHYSICS
EV_BEFOREPHYSICS
EV_POSTTHINK
EV_FRAME
EV_VIEW
EV_VISFRAME
EV_INIT
EV_EXTRA
EV_ONGROUND
EV_BLOCK
EV_TOUCH
NONE
NOCLIP
PUSH
BOUNCE
FLY
WALK
PWALK
GIB
LIGHT
WORLD
TRIGGER
CAMERA
PLAYER
MONSTER
DEFAULT
TFL_EXACTLIGHT
TFL_OBBCOLLISION
TFL_EXACTCOLLISION
TFL_USER6
TFL_USER2
TFL_USER1
TFL_NOSAVE
TFL_NOSHADOW
TFL_DISABLE
TFL_NOLIGHT
TFL_UPDATE
TFL_ROTMATRIX
TFL_FULLMATRIX
TFL_PARTICLE
TFL_ONCELINK
TFL_NOMPIVOT
TFL_NOBILLBOARD
TFL_PASSABLE
TFL_TOUCHTRIGGERS
TFL_ONGROUND
TFL_AREACLOSED
TFL_AREASPLITTER
TFL_TRIGGER
TFL_COLLIDEONLYWORLD
TFL_DEF
TFL_SOLID
TFL_VISIBLE
TFL_CANCELMOVE
VP_ISPLAYING
VP_REPEAT
VP_POSITION
VP_REWIND
VP_STOP
VP_PLAY
WFLAG_STRETCH
WFLAG_RALIGN
WFLAG_NOFILTER
WFLAG_EXACTSIZE
WFLAG_EXACTPOS
WFLAG_VCENTER
WFLAG_CENTER
WFLAG_ZWRITE
WFLAG_NOWRAP
WFLAG_VISIBLE
WFLAG_TRANSPARENT
WFLAG_SOURCEALPHA
WFLAG_SRCTRANS
WTYPE_VIDEO
WTYPE_IMAGE
WTYPE_VIEW
WTYPE_TEXT
TRACE_WATER
TRACE_PASSABLE
TRACE_WORLD
TRACE_ENTS
TRACE_VISTEST
TRACE_DETAIL
TRACE_MESH
TRACE_PATCH
TRACE_EXACT
g_iForceSWDevice
g_iPPQuality
g_iPhysicsIteration
_depth
g_iStatFPS
g_iStatNumParticles
g_iStatNumVertexes
g_iStatNumTriangles
g_iShowFilter
g_iShowAABB
g_iShowPhysics
g_iOutputRate
g_bEAX
g_iSpeakers
g_iSoundQuality
g_iEffectsVolume
g_iMusicVolume
g_fDopplerFactor
JoyPOV
JoyButtons
JoySliders
JoyRAxis
JoyAxis
MouseWheel
MouseDeltaY
MouseDeltaX
MMB
RMB
LMB
g_iTraceBone
g_iTraceSphere
g_iTraceSurfaceType
g_iTraceBrush
g_iTraceSurfparm
g_iTraceContent
g_vTracePlane
g_iDecalFrame
g_fDecalAlpha
g_iLightSource
g_fSunIntensity
g_vSunColor
g_vSunDirection
g_iIsOutdoor
g_iViewFrame
g_vMainMatrix2
g_fVisDist
g_fovy
g_fov
ftime
time
g_iDepthComplex
g_iWire
g_iStats
g_iDisablePhysics
g_iBrightness
g_iShadow
g_iGeomDetail
g_iDetailMap
g_iVSync
g_iDither
g_iTriBuffer
g_iTriFilter
g_iTexDepth
g_iZBuffDepth
g_iAdapter
g_iDepth
g_iHeight
g_iWidth
g_iFullscreen
g_sVideoModes
g_env
g_bump
g_lod

Star Trek: The Next Generation - Klingon Honor Guard[edit]

Player speed / performance[edit]

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[edit]

Widescreen resolution[edit]

  • 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[edit]

Alternative installer[edit]

  • 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[edit]

Widescreen resolution[edit]

  • 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.

Syndicate (2012)[edit]

Developer Mode[edit]

  • 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.

S.T.A.L.K.E.R.: Shadow of Chernobyl[edit]

Field of View (FOV)[edit]

  • As there was no clear way explained on how to modify the FOV, I compared both modified and unmodified xrGame.dll in GOG release - the FOV is stored at: 0x0053C598 as a float value.

The Thing[edit]

0048B02B

Underworld Ascendant[edit]

Command-line console[edit]

  • Originally finding and enabling command-line console was pretty easy all it was needed is CheatEngine with mono dissector and going to "AdminSystem:IsAllowedToOpenConsole" and getting the address from there.
  • After the game was compiled with il2cpp, this is however no longer possible. Fortunetly, the addresses remain easier to track as long as the DLL is not patched, to activate console, add following pointer to CheatEngine: GameAssembly.dll+25a1cc8, B8, 2 (type byte) and then set it to 1. Console is activated with ~. Type in commands to show available commands.


Ultimate Spider-Man[edit]

FPS[edit]

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[edit]

Speeding up the game on lower end PCs[edit]

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
  1. Me