Yeah, I know this topic has been issued a thousand times now, but I'm not very convinced many people know about the more stable/non-hacky workaround for this problem.
Pallete Swapping Fix
If you're using Windows 7 (Aero capable editions only) you might have probably noticed AoE/RoR colors are off. This is because, since DirectDraw is no longer supported, Aero desktop takes over the pallete while you're playing producing the aforementioned issue with older games such as AoE/RoR/AoK/TC/Starcraft. Some workarounds include closing "explorer.exe" while running the game which is a PITA since you can't Alt+Tab, for example. Or keeping the desktop resolution window open, which didn't work for me, for example. Besides, you have to open the window every time you want to play without color issues.
There is a better workaround. W7 developers addressed this issue, and in the Windows Registry there is a list of program which will be run in this compatibility mode. However, most games must be added manually. For this, you must create a registry file (or mess around with the Windows Registry). Below is an example of my empires.reg file, depending on whether the Windows 7 version on the system is 32 or 64 bit.
Windows 32-bit version:
- Open Notepad.
- Paste one of the previous examples on it (watch for the OS version!).
- Save it as "empires.reg" (double quotes included).
- Open your newly created file (its icon should be some cyan cubes).
- Windows will ask for confirmation, confirm.
However, there is an issue: the ID field is different for different AoE editions (for example, my Gold Edition IDs are different from standalone AoE/RoR), maybe even different for newer releases (Ubisoft's, for example). So there are high odds it will be different for you as well.
So, if the aforementioned patch doesn't work, you'll need to find out your "empires.exe" (and/or "empiresx.exe" if applies) ID. This is done as follows:
- Download Process Monitor orprocmon (it is not the task manager nor the process viewer) which can be found here.
- Unzip.
- Open procmon, the Process Monitor Filter will open.
- Select "Path-contains", write "\DirectDraw\MostRecentApplication\ID" on the blank field, and select "Include" on the rightmost selector.
- Click Add, an entry with a green tick should appear.
- Click on OK.
- Open AoE/RoR, then close it.
- One or two entries will have appeared on procmon. Double click any of them. You should read something like
- Open Calculator, select "View/Programmer".
- Make sure "Dec" is selected at the left box.
- Copy the aforementioned ID on the calculator.
- Select "Hexa" at the left box.
- The hexadecimal number (which may contain letters) is the ID as expected in the .reg file we made.
Once the .reg file is added to the registry, AoE/RoR colors should work fine, not requiring "Compatibility mode", extra patches or whatever.
If you're using Windows 7 (Aero capable editions only) you might have probably noticed AoE/RoR colors are off. This is because, since DirectDraw is no longer supported, Aero desktop takes over the pallete while you're playing producing the aforementioned issue with older games such as AoE/RoR/AoK/TC/Starcraft. Some workarounds include closing "explorer.exe" while running the game which is a PITA since you can't Alt+Tab, for example. Or keeping the desktop resolution window open, which didn't work for me, for example. Besides, you have to open the window every time you want to play without color issues.
There is a better workaround. W7 developers addressed this issue, and in the Windows Registry there is a list of program which will be run in this compatibility mode. However, most games must be added manually. For this, you must create a registry file (or mess around with the Windows Registry). Below is an example of my empires.reg file, depending on whether the Windows 7 version on the system is 32 or 64 bit.
Windows 32-bit version:
Windows Registry Editor Version 5.00Windows 64-bit version:[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\DirectDraw\Compatibility\Age of Empires]
"Name"="empires.exe"
"Flags"=hex:00,08,00,00
"ID"=dword:353F8679[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\DirectDraw\Compatibility\Age of Empires Expansion]
"Name"="empiresx.exe"
"Flags"=hex:00,08,00,00
"ID"=dword:35EC85C2
Windows Registry Editor Version 5.00To create and apply this fix:[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\DirectDraw\Compatibility\ Age of Empires]
"Name"="empires.exe"
"Flags"=hex:00,08,00,00
"ID"=dword:353F8679[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\DirectDraw\Compatibility\ Age of Empires Expansion]
"Name"="empiresx.exe"
"Flags"=hex:00,08,00,00
"ID"=dword:35EC85C2
- Open Notepad.
- Paste one of the previous examples on it (watch for the OS version!).
- Save it as "empires.reg" (double quotes included).
- Open your newly created file (its icon should be some cyan cubes).
- Windows will ask for confirmation, confirm.
However, there is an issue: the ID field is different for different AoE editions (for example, my Gold Edition IDs are different from standalone AoE/RoR), maybe even different for newer releases (Ubisoft's, for example). So there are high odds it will be different for you as well.
So, if the aforementioned patch doesn't work, you'll need to find out your "empires.exe" (and/or "empiresx.exe" if applies) ID. This is done as follows:
- Download Process Monitor or
- Unzip.
- Open procmon, the Process Monitor Filter will open.
- Select "Path-contains", write "\DirectDraw\MostRecentApplication\ID" on the blank field, and select "Include" on the rightmost selector.
- Click Add, an entry with a green tick should appear.
- Click on OK.
- Open AoE/RoR, then close it.
- One or two entries will have appeared on procmon. Double click any of them. You should read something like
Type:REG_DWORDThe value after "Data" is the ID. However, it is written on decimal notation, whereas regedit works using hexadecimal notation. To turn it into hex:
Length:4
Data:893355641
- Open Calculator, select "View/Programmer".
- Make sure "Dec" is selected at the left box.
- Copy the aforementioned ID on the calculator.
- Select "Hexa" at the left box.
- The hexadecimal number (which may contain letters) is the ID as expected in the .reg file we made.
Once the .reg file is added to the registry, AoE/RoR colors should work fine, not requiring "Compatibility mode", extra patches or whatever.