Mirror's Edge

From PCGamingWiki, the wiki about fixing PC games
Mirror's Edge
Mirror's Edge cover
Developers
DICE
Publishers
Electronic Arts
Engines
Unreal Engine 3
Release dates
Windows January 13, 2009
Reception
Metacritic 81
IGDB 73
Taxonomy
Perspectives First-person
Controls Direct control
Genres Platform
Themes Cyberpunk
Series Mirror's Edge
Mirror's Edge on HowLongToBeat
Mirror's Edge on IGDB
Mirror's Edge guide on StrategyWiki
Mirror's Edge on MobyGames
Mirror's Edge on Wikipedia
Mirror's Edge
Mirror's Edge 2009
Mirror's Edge Catalyst 2016

Mirror's Edge is a sci-fi first-person action game developed by DICE, creators of the Battlefield franchise, and published by Electronic Arts. The game makes use of Unreal Engine 3, as DICE's own Frostbite engine wasn't complete when the title began full-scale production. A lighting system christened "Beast" was developed for the game by Illuminate Labs in association with DICE which was previously called "Turtle" and was used in Maya as a renderer.[1] The new technology would accentuate the art style of the game by allowing for the reflection of colors as well as light. The title takes advantage of many of Unreal Engine 3's features, such as Nvidia's PhysX physics simulation system, allowing for optional physics effects like detailed debris and cloth, emulating dynamic and unscripted physics.

The game was released on Steam and Origin on January 12th, 2009. The Origin release of the game featured extra DRM, including online activation and a limit to how many computers the game could be activated on, alongside needing to install the launcher to begin with. De-authorization tools have been made officially available.

General information

GOG.com Community Discussions
GOG.com Support Page
Steam Community Discussions
Community Discord Servers list.

Availability[edit]

Source DRM Notes Keys OS
Retail
Requires online activation
CD key
Can only be used x times
SecuROM PA DRM, five machine limit.[2] A De-Authorization Tool is available.
Icon overlay.png
Windows
GOG.com
DRM-free
Windows
Origin
Origin
Requires online activation
Can only be used x times
Included with EA Play.
SecuROM PA DRM, five machine limit.[3] A De-Authorization Tool is available. Contacting EA Support can increase this limit.[3]
Windows
Steam
Icon overlay.png
Included with EA Play (Steam).
Windows
Gamesplanet logo.svg (unavailable)
Origin
Windows

DLC and expansion packs

Name Notes
Pure Time Trials Map Pack Were only available for Origin version; it is not compatible with the Steam and GOG version.
Windows
The DLC was only ever present in the Origin version of the game, and is no longer available to buy. Fortunately, it can be modded into versions other than the Origin one (unless if using Origin Fix) by using the Pure Time Trial Map Pack mod.

Essential improvements[edit]

Patches[edit]

Patch 1.01. The Origin and Steam versions are already patched.

Origin Fix[edit]

This patch fixes Origin version of Mirror's Edge. Patch affects game's main executable, as well as cleans game directory from useless SecuROM/Origin files and folders and fixes PhysX issues.
Can possibly make Pure Time Trial Map Pack Restoration Mod compatible with this version.
Installation
  1. Download files from the link above.
  2. Extract the Binaries folder and Fix.bat into <path-to-game>.
  3. Run Fix.bat and wait until program will make necessary changes.

Shard Roof Draw Distance Fix[edit]

This mod fixes drawing distance problems, that can be encountered at game epilog.[4]
Installation
  1. Download files from the link above.
  2. Extract the TdGame folder into %USERPROFILE%\Documents\EA Games\Mirror's Edge.

Skip intro videos[edit]

Use the -nostartupmovies command line argument
Delete the StartupMovies line from TdEngine.ini

PhysX servicing[edit]

Refer to Game fails to start, randomly crashes, or has framerate drops for a summary.

Game data[edit]

In-game general settings.
In-game general settings.

Configuration file(s) location[edit]

System Location
Windows %USERPROFILE%\Documents\EA Games\Mirror's Edge\TdGame\Config\
Steam Play (Linux) <Steam-folder>/steamapps/compatdata/17410/pfx/[Note 1]
Settings can be also edited in <path-to-game>\TdGame\Config\ with the aid of MEMLA.[5]

Save game data location[edit]

System Location
Windows %USERPROFILE%\Documents\EA Games\Mirror's Edge\TdGame\Savefiles\
Steam Play (Linux) <Steam-folder>/steamapps/compatdata/17410/pfx/[Note 1]

Save game cloud syncing[edit]

System Native Notes
GOG Galaxy
Origin
Only NA version.
OneDrive
Requires enabling backup of the Documents folder in OneDrive on all computers.
Steam Cloud

Video[edit]

In-game video settings.
In-game video settings.

Graphics feature State WSGF Notes
Widescreen resolution
16:9; other aspect ratios are letterboxed.
Multi-monitor
Use Flawless Widescreen.
Ultra-widescreen
Use Flawless Widescreen.[6] Menus and loading screens are stretched.
4K Ultra HD
UI is incredibly blurry at resolutions above 1080p.
Field of view (FOV)
See Field of view (FOV).
Windowed
See Windowed.
Borderless fullscreen windowed
See Windowed.
Anisotropic filtering (AF)
4x by default. See Anisotropic filtering (AF).
Anti-aliasing (AA)
Up to 8x MSAA, up to 16xQ CSAA.
Vertical sync (Vsync)
60 FPS
120+ FPS
Can be unlocked with the usual Unreal Engine 3 method, but it can break physics and/or AI.[7][8]
Game can be completed at 144 FPS.[9]The Chapter 1C slide from the RP&A building becomes nearly impossible to do, due to the inability of moving side to side above 150 fps.
High dynamic range display (HDR)
See the glossary page for potential alternatives.

Field of view (FOV)[edit]

Use Flawless Widescreen[6]
Instructions[10]
  1. Go to the configuration file(s) location.
  2. Open TdInput.ini.
  3. Add the following line under the [Engine.PlayerInput] section and change # to your prefered fov:
Bindings=(Name="One",Command="FOV #",Control=False,Shift=False,Alt=False)

Notes

Resets between levels.
You can now make your FOV go higher using 1, but you can replace it with valid keys found here
Setting a FOV higher than 100 can cause the skybox to disappear in certain scenes. This issue does not occur when using Flawless Widescreen.

Windowed[edit]

Use dxwrapper[11]
  1. Download dxwrapper.
  2. Extract dxwrapper.dll and dxwrapper.ini to <path-to-game>\Binaries\.
  3. Rename the two files to d3d9.dll and d3d9.ini respectively.
  4. Open d3d9.ini and set EnableD3d9Wrapper and EnableWindowMode to 1.

Notes

Set FullscreenWindowMode to 1 for Borderless fullscreen windowed.
Set WindowModeBorder to 1 if you don't want borderless mode.
Use modded files, also fixes ALT+TAB "out of focus" crash on Windows 7+[12]
  1. Download the Windowed/Fullscreen buttons and Console mod.
  2. Extract CookedPC folder in %USERPROFILE%\Documents\EA Games\Mirror's Edge\TdGame\Published\
  3. Press the windowed button in the main menu.

Notes

The option is hardcoded to 1366x768 resolution. Hex edit the second setres instance in TdUI_FrontEnd.upk to adjust it.
Use Custom Hotkeys[13]
  1. Go to the configuration file(s) location.
  2. Open TdInput.ini.
  3. Add the following line under the [Engine.PlayerInput] section and change # to your prefered hotkey, HW for resolution and after x32 W for windowed.:
Bindings=(Name="#",Command="setres HxWx32W",Control=False,Shift=False,Alt=False)

Example of 1280x720 in windowed on hotkey F2.

Bindings=(Name="F2",Command="setres 1280x720x32W",Control=False,Shift=False,Alt=False)

Notes

The option doesn't work in main menu.

Anisotropic filtering (AF)[edit]

Modify configuration file[citation needed]
  1. Go to the configuration file(s) location.
  2. Open TdEngine.ini.
  3. Find the line MaxAnisotropy and set it to 16.

Anti-aliasing (AA)[edit]

Force SGSSAA (Nvidia only)[14][15]
  1. Download and run Nvidia Profile Inspector.
  2. Select the Mirror's Edge profile.
  3. Change Antialiasing compatibility value to 0x080000C1.
  4. Change Antialiasing - Behavior Flags to None.
  5. Change Antialiasing - Mode to Override any application setting.
  6. Change Antialiasing - Setting to 4x [4x Multisampling].
  7. Change Antialiasing - Transparency Supersampling to 4x Sparse Grid Supersampling.
  8. Press "Apply Changes" in the top-right corner.

Ambient occlusion[edit]

Force HBAO+ (Nvidia only)[16][17]
  1. Download and run Nvidia Profile Inspector.
  2. Select the Mirror's Edge profile.
  3. Change Ambient Occlusion compatibility value to 0x00000030.
  4. Change Ambient Occlusion setting to High Quality.
  5. Change Ambient Occlusion usage to Enabled.
  6. Press "Apply Changes" in the top-right corner.

Radial Blur[edit]

Disable Radial Blur[citation needed]
  1. Go to the configuration file(s) location.
  2. Open TdEngine.ini.
  3. Search and change TdMotionBlur to False.
  4. Save file.

Streak Effect[edit]

Disables edge streaks (white streaks appearing when running at high speeds - not to be confused with radial blur)
  1. Go to the <path-to-game>\TdGame\Config\
  2. Open DefaultHudEffects.ini.
  3. Set StreakDistanceInMovementDirection, StreakDistanceInCameraDirection and StreakEffectFadeTime to 0. Note: Setting bEnableStreakEffect to false does nothing.
  4. Save file.

Input[edit]

In-game control settings.
In-game control settings.
In-game gamepad settings.
In-game gamepad settings.

Mouse smoothing[edit]

Mouse Smoothing[citation needed]
  1. Go to the configuration file(s) location.
  2. Open TdInput.ini.
  3. Locate the line bEnableMouseSmoothing and change the value to False.

Audio[edit]

In-game audio settings.
In-game audio settings.

Audio feature State Notes
Separate volume controls
Surround sound
OpenAL Soft can replace the existing OpenAL driver, enabling HRTFs and fixing sampling issues [18]. See 3D Surround Sound/HRTF.
Subtitles
In Game Settings.
Closed captions
Mute on focus lost

3D Surround Sound/HRTF Support[edit]

Override default audio renderer
Mirror's Edge uses OpenAL for rendering audio. By default, the game will use the OpenAL driver that is distributed with a standard OpenAL installation, which happens to be a pretty shoddy implementation of OpenAL. This can be replaced with a better version called "OpenAL Soft" and configured to enable HRTFs for accurate, 3D surround sound using only your stereo headphones. Sounds coming from in-front and behind will be distinctly different and even sounds coming from above or below will be clearly discernible.
  1. Download the latest OpenAL Soft binaries from the releases section.
  2. Extract the downloaded file and locate soft_oal.dll in \bin\Win32
  3. Rename soft_oal.dll to OpenAL32.dll
  4. Navigate to <path-to-game>\Binaries and replace the existing OpenAL32.dll with the version you renamed.
  5. Navigate to %USERPROFILE%\Documents\EA Games\Mirror's Edge\TdGame\Config and open TdEngine.ini
  6. Locate DeviceName under [ALAudio.ALAudioDevice] and enter "OpenAL Soft" (e.g. DeviceName=OpenAL Soft)
  7. Set TdEngine.ini to Read Only to prevent the game from overriding the changes.

Notes

This also fixes the sampling issues of footstep volume/other sounds quickly fading in. The initial attack/transients of these sounds are no longer cut off.

Localizations

Language codes to be used for manual switching are provided in the notes. First value is for the registry setting, second one is for the files extension and path.
Language UI Audio Sub Notes
English
en_UK (INT)
French
fr_FR (FRA)
German
de_DE (DEU)
Italian
it_IT (ITA)
Spanish
es_ES (ESN)
Russian
ru_RU (RUS)
Brazilian Portuguese
pt_PT (POR)
Polish
pl_PL (POL)
Traditional Chinese
Czech
cs (CZE)
Hungarian
hu_HU (HUN)
Japanese
Region locked.[19]
Turkish
Download here.

Independent dubbing and captioning[edit]

Override language files
The Steam/Origin version should skip the first 3 steps and just set the appropriate language in the client game proprieties.
  1. Open regedit
  2. Go to HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\EA GAMES\Mirror's Edge
  3. Set the locale string to XXX (XXX is the code for the language you want the voices in)
  4. Navigate to <path-to-game>\TdGame\Localization\ (YYY is the code for the language of subtitles and the UI)
  5. Copy YYY to %USERPROFILE%\Documents\EA Games\Mirror's Edge\TdGame\Localization\ (create it if missing)
  6. Rename the folder from YYY to XXX (remember it's the other language code now for XXX)
  7. Open a command prompt inside the renamed folder
  8. Run ren *.YYY *.XXX

Notes

Interface can be further decoupled by swapping only those localization files whose name start with Td.

Network[edit]

Multiplayer types

Type Native Players Notes
Local play
2 Co-op
Use the Splitting Edge Mod (in beta)
LAN play
Online play
Use mempsrc or mmultiplayer

VR support[edit]

3D modes Native Notes
vorpX
G3D, DirectVR
Officially supported game, see official vorpx game list.

Issues fixed[edit]

Game fails to start, randomly crashes, or has framerate drops[edit]

Note the optional Physx enhanced effects are enormously taxing on the CPU since it is using single-threaded X87 instructions[20] without an NVIDIA graphics card.
Install and enable the latest PhysX update[21]
  1. Make sure you have the latest Physx version installed.
  2. See Games prefer private own libraries to system ones.

Game does not saves settings/progress (Origin)[edit]

Run Origin as a administrator.

Game does not launch on Windows 10[edit]

Mandatory ASLR prevents game from running
  1. Open Windows Defender
  2. In App & browser control, open Exploit protection settings
  3. In Program settings, add an exception for MirrorsEdge.exe
  4. Disable "Force randomization for images (Mandatory ASLR)"

Crash just after splash screen[edit]

Manually set resolution[22]
  1. Go to the configuration file(s) location.
  2. Open TdEngine.ini.
  3. Change ResX and ResY to your monitor horizontal and vertical resolution.
  4. Save your changes.
Disable default AA[23]
  1. Go to the configuration file(s) location.
  2. Open TdEngine.ini.
  3. Set the value of MaxMultisamples to 1.
  4. Save your changes.

No sound during cut scenes/FMVs in Windows 7[edit]

Compatibility Fix[citation needed]
  1. Go to <path-to-game>\binaries.
  2. Right-click on Mirrorsedge.exe and select "Properties".
  3. Click the "Compatibility" tab.
  4. Check the "Run this program in compatibility mode" box and select "Windows XP (Service Pack 2)".
  5. Click apply/okay and run the game.

Merc's audio cuts off before end of sentence[edit]

Disable GX mode in Xonar Audio Center[citation needed]
  1. Open the Control Panel.
  2. Select Xonar Control Center.
  3. Near the bottom right is a button with GX on it, press it and GX mode should now be disabled.

Other information[edit]

API[edit]

Technical specs Supported Notes
Direct3D 9
Shader Model support 3
Executable 32-bit 64-bit Notes
Windows

Middleware[edit]

Middleware Notes
Physics PhysX 2.8.0. Nvidia GPUs can accelerate optional physics effects like detailed debris and cloth.
Audio OpenAL, Speex Ships with router version 6.14.357.22 and wrapper 2.2.0.5. Can be updated.
Interface Scaleform
Cutscenes Bink Video v1.9a

Crosshair toggle[edit]

Crosshair Toggle[citation needed]
This tweak will bind F11 to toggle the crosshair.
  1. Go to the configuration file(s) location.
  2. Open TdInput.ini.
  3. Search for section [Engine.PlayerInput] and add this line in it:
Bindings=(Name="F11",Command="Showhud",Control=False,Shift=False,Alt=False)

Adding binoculars[edit]

Binoculars tweak[citation needed]
This tweak will add switchable two staged zoom simulating binoculars behavior from other games.
  1. Go to the configuration file(s) location.
  2. Open TdInput.ini.
  3. Search for section [Engine.PlayerInput] and add these lines in it:
Bindings=(Name="ZoomIn1",Command="FOV 50 | setbind YYY ZoomIn2",Control=False,Shift=False,Alt=False)
Bindings=(Name="ZoomIn2",Command="FOV 30 | setbind YYY ZoomOut",Control=False,Shift=False,Alt=False)
Bindings=(Name="ZoomOut",Command="FOV XXX | setbind YYY ZoomIn1",Control=False,Shift=False,Alt=False)
Bindings=(Name="YYY",Command="ZoomIn1",Control=False,Shift=False,Alt=False)

where XXX is your desired FOV (90 is game default), and YYY is name of key which will trigger zoom. Look out for examples in TdInput.ini. Alternatively you can set your custom magnification by changing values 50 and 30.

Low end configuration[edit]

Use custom settings[24]
  1. Go to the configuration file(s) location.
  2. Open TdEngine.ini.
  1. Replace the whole section below
[SystemSettings]
StaticDecals=False
DynamicDecals=False
DynamicLights=False
DynamicShadows=False
LightEnvironmentShadows=False
CompositeDynamicLights=False
DirectionalLightmaps=False
MotionBlur=false
DepthOfField=False
AmbientOcclusion=false
Bloom=False
QualityBloom=False
Distortion=False
DropParticleDistortion=False
SpeedTreeLeaves=False
SpeedTreeFronds=False
OnlyStreamInTextures=False
LensFlares=False
FogVolumes=False
FloatingPointRenderTargets=True
Trilinear=False
OneFrameThreadLag=True
UseVsync=False
UpscaleScreenPercentage=False
Fullscreen=True
AllowD3D10=False
EnableHighPolyChars=False
SkeletalMeshLODBias=0
ParticleLODBias=0
DetailMode=0
ShadowFilterQualityBias=-1
MaxAnisotropy=1
MaxMultisamples=1
MinShadowResolution=32
MaxShadowResolution=256
ResX=640
ResY=480
ScreenPercentage=100.000000
SceneCaptureStreamingMultiplier=0.800000
FoliageDrawRadiusMultiplier=0.000000
ShadowTexelsPerPixel=1.000000
TEXTUREGROUP_World=(MinLODSize=256,MaxLODSize=256,LODBias=1)
TEXTUREGROUP_WorldNormalMap=(MinLODSize=256,MaxLODSize=256,LODBias=2)
TEXTUREGROUP_WorldSpecular=(MinLODSize=256,MaxLODSize=256,LODBias=1)
TEXTUREGROUP_Character=(MinLODSize=256,MaxLODSize=256,LODBias=1)
TEXTUREGROUP_CharacterNormalMap=(MinLODSize=256,MaxLODSize=256,LODBias=2)
TEXTUREGROUP_CharacterSpecular=(MinLODSize=256,MaxLODSize=256,LODBias=1)
TEXTUREGROUP_Weapon=(MinLODSize=256,MaxLODSize=256,LODBias=1)
TEXTUREGROUP_WeaponNormalMap=(MinLODSize=256,MaxLODSize=256,LODBias=2)
TEXTUREGROUP_WeaponSpecular=(MinLODSize=256,MaxLODSize=256,LODBias=1)
TEXTUREGROUP_Vehicle=(MinLODSize=256,MaxLODSize=256,LODBias=1)
TEXTUREGROUP_VehicleNormalMap=(MinLODSize=256,MaxLODSize=256,LODBias=2)
TEXTUREGROUP_VehicleSpecular=(MinLODSize=256,MaxLODSize=256,LODBias=1)
TEXTUREGROUP_Cinematic=(MinLODSize=1,MaxLODSize=4096,LODBias=0)
TEXTUREGROUP_Effects=(MinLODSize=256,MaxLODSize=256,LODBias=1)
TEXTUREGROUP_Skybox=(MinLODSize=256,MaxLODSize=512,LODBias=1)
TEXTUREGROUP_UI=(MinLODSize=1,MaxLODSize=4096,LODBias=0)
TEXTUREGROUP_LightAndShadowMap=(MinLODSize=256,MaxLODSize=512,LODBias=1)
TEXTUREGROUP_RenderTarget=(MinLODSize=1,MaxLODSize=4096,LODBias=1)
PhysXEnhanced=False
TdMotionBlur=False
TdSunHaze=False
TdTonemapping=False
TdBicubicFiltering=False

Modifications[edit]

Custom Maps[edit]

Use editor mode[25]
  1. Download the Unreal Development Kit and install it in the game's Binaries folder.
  2. Make a shortcut to MirrorsEdge.exe.
  3. Right click and choose Properties.
  4. Append edit to the end of the Target.
  5. This shortcut will now start the editor.

Mirror's Edge cut ending recreation[edit]

Install the custom level[26]
  1. Download the mod.
  2. Extract TdGame in %USERPROFILE%\Documents\EA Games\Mirror's Edge.

System requirements[edit]

Windows
Minimum Recommended
Operating system (OS) XP SP2
Processor (CPU) Intel Pentium 4 3.0 GHz
System memory (RAM) 1 GB
Hard disk drive (HDD) 8 GB
Video card (GPU) Nvidia GeForce 6800
ATI Radeon X1650
256 MB of VRAM
DirectX 9.0c compatible
Shader model 3.0 support
Nvidia GeForce 7300 is below the minimum requirements, integrated chipsets may experience issues.
Laptop versions of these chipsets may work but are not supported.

Notes

  1. 1.0 1.1 File/folder structure within this directory reflects the path(s) listed for Windows and/or Steam game data (use Wine regedit to access Windows registry paths). Games with Steam Cloud support may store data in ~/.steam/steam/userdata/<user-id>/17410/ in addition to or instead of this directory. The app ID (17410) may differ in some cases. Treat backslashes as forward slashes. See the glossary page for details.

References

  1. [https://www.deadendthrills.com/building-the-impossible-mirrors-edge Building The Impossible The Art Of Mirror’s Edge] - last accessed on 2021-11-23
    "Help came in the form of rendering company Illuminate Labs, which at the time specialised in a Maya renderer – a global illumination lighting engine – called Turtle."
  2. https://archive.is/cCLm1
  3. 3.0 3.1 Verified by User:Thebradad1111 on 28 January 2017
  4. ModDB - Draw Distance Problem - last accessed on 2021-08-16
  5. How to make Mirror's Edge even HARDER or EASIER! :: Steam Community Guide
  6. 6.0 6.1 Mirrors Edge 21:9 Gameplay (2560x1080) (60fps) (Ultrawide) - YouTube
  7. Running Mirror's Edge at higher frame rate without affecting gameplay : mirrorsedge - Reddit
  8. keku645 comments on GUIDE: Optimizing Mirror's Edge 1 for minimum latency on modern hardware : mirrorsedge - Reddit
  9. Verified by User:Radmaxx on 2022-05-10
  10. Steam Community :: Guide :: How to change your FOV in Mirror's Edge
  11. https://github.com/elishacloud/dxwrapper/wiki/Configuration#d3d9
  12. Мод опции на меню для полного и оконного режима. - Форум
  13. [1]
  14. NVidia Profile Inspector - AA Flags - Google Drive
  15. https://www.forum-3dcenter.org/vbulletin/showpost.php?p=9195499&postcount=2137
  16. HBAO+ Compatibility Flags
  17. Original HBAO+ Post at 3DCenter.org Forums
  18. Enable 3D Surround Sound for Stereo Headphones
  19. Mirror's Edge in Japanese - Answer HQ
  20. Analysis: PhysX On Systems With AMD Graphics Cards - last accessed on 2021-11-23
  21. PhsyX, Mirror's Edge, and You - Steam Users' Forums (retrieved)
  22. [Possible Fix] Mirror's Edge Crash at Splash Screen - Steam Users' Forums (retrieved)
  23. PhsyX, Mirror's Edge, and You - Steam Users' Forums (retrieved)
  24. Project Edge™; Enable Mirror's Edge™ to run on your low end system! - Steam Users' Forums (retrieved)
  25. On-Mirror's-Edge Forums / (TUTORIAL) How to open the unreal editor? (retrieved)
  26. Cut ending mod updated to v1.1 : mirrorsedge - Reddit