Welcome to the ultimate resolution guide for fullscreen lovers of Command & Conquer: Red Alert™ 2 and Yuri’s Revenge™! Tired of not being able to use your entire screen? Well, so was I. But fear not, because I have found a solution. Most guides out there were no help, giving my game a hard time. But with these simple tweaks, I can now enjoy my game in full screen with my preferred resolution. Keep in mind, results may vary. So go ahead and try it out for yourself.
Firstly
It all begins with an install folder. Usually something like:
“…\steamapps\common\Command & Conquer Red Alert II”
Locate and open file:
“DDrawCompat.ini”
Select all and paste:
CpuAffinity = 1
DesktopResolution = display
DisplayAspectRatio = display
DisplayFilter = bilinear(0)
DisplayResolution = desktop
DpiAwareness = permonitor
FullscreenMode = borderless
RenderColorDepth = app
SupportedDepthFormats = 16, 32
SupportedResolutions = native, 1024×768, 1280×720, 1366×768, 1400×1050, 1920×1080, 2560×1440
VSync = on
WinVersionLie = 98
It’s really that simple. Now on to the next one:
–2–
Locate and open files:
“RA2.ini”
“RA2MD.ini”
Select [Video] and paste:
AllowHiResModes=yes
VideoBackBuffer=no
ScreenWidth=1366
ScreenHeight=768
StretchMovies=yes
Secondly
Find and open ddraw.ini. Replace everything (Ctrl + A, Ctrl + V) with the following:
[ddraw]
; ### Optional settings ###
; Use the following settings to adjust the look and feel to your liking
; Stretch to custom resolution, 0 = defaults to the size game requests
width=0
height=0
; Override the width/height settings shown above and always stretch to fullscreen
; Note: Can be combined with ‘windowed=true’ to get windowed-fullscreen aka borderless mode
fullscreen=true
; Run in windowed mode rather than going fullscreen
windowed=false
; Maintain aspect ratio
maintas=true
; Windowboxing / Integer Scaling
boxing=false
; Real rendering rate, -1 = screen rate, 0 = unlimited, n = cap
; Note: Does not have an impact on the game speed, to limit your game speed use ‘maxgameticks=’
maxfps=-1
; Vertical synchronization, enable if you get tearing – (Requires ‘renderer=auto/opengl*/direct3d9*’)
; Note: vsync=true can fix tearing but it will cause input lag
vsync=true
; Automatic mouse sensitivity scaling
; Note: Only works if stretching is enabled. Sensitivity will be adjusted according to the size of the window
adjmouse=true
; Preliminary libretro shader support – (Requires ‘renderer=opengl*’) https://github.com/libretro/glsl-shaders
; 2x scaling example: https://imgur.com/a/kxsM1oY – 4x scaling example: https://imgur.com/a/wjrhpFV
; You can specify a full path to a .glsl shader file here or use one of the values listed below
; Possible values: Nearest neighbor, Bilinear, Bicubic, Lanczos, xBR-lv2
shader=Shaders\interpolation\catmull-rom-bilinear.glsl
; Window position, -32000 = center to screen
posX=-32000
posY=-32000
; Renderer, possible values: auto, opengl, openglcore, gdi, direct3d9, direct3d9on12 (auto = try direct3d9/opengl, fallback = gdi)
renderer=opengl
; Developer mode (don’t lock the cursor)
devmode=false
; Show window borders in windowed mode
border=false
; Save window position/size/state on game exit and restore it automatically on next game start
; Possible values: 0 = disabled, 1 = save to global ‘ddraw’ section, 2 = save to game specific section
savesettings=1
; Should the window be resizable by the user in windowed mode?
resizable=true
; Upscaling filter for the direct3d9* renderers
; Possible values: 0 = nearest-neighbor, 1 = bilinear, 2 = bicubic, 3 = lanczos (bicubic/lanczos only support 16/32bit color depth games)
d3d9_filter=3
; Where should screenshots be saved
screenshotdir=.\Screenshots\
; Switch between windowed/borderless modes with alt+enter rather than windowed/fullscreen modes
toggle_borderless=false
; ### Compatibility settings ###
; Use the following settings in case there are any issues with the game
; Hide WM_ACTIVATEAPP and WM_NCACTIVATE messages to prevent problems on alt+tab
noactivateapp=false
; Max game ticks per second, possible values: -1 = disabled, -2 = refresh rate, 0 = emulate 60hz vblank, 1-1000 = custom game speed
; Note: Can be used to slow down a too fast running game, fix flickering or too fast animations
; Note: Usually one of the following values will work: 60 / 30 / 25 / 20 / 15 (lower value = slower game speed)
maxgameticks=0
; Method that should be used to limit game ticks (maxgameticks=): 0 = Automatic, 1 = TestCooperativeLevel, 2 = BltFast
limiter_type=0
; Force minimum FPS, possible values: 0 = disabled, -1 = use ‘maxfps=’ value, -2 = same as -1 but force full redraw, 1-1000 = custom FPS
; Note: Set this to a low value such as 5 or 10 if some parts of the game are not being displayed (e.g. menus or loading screens)
minfps=-1
; Disable fullscreen-exclusive mode for the direct3d9*/opengl* renderers
; Note: Can be used in case some GUI elements like buttons/textboxes/videos/etc.. are invisible
nonexclusive=true
; Force CPU0 affinity, avoids crashes/freezing, *might* have a performance impact
; Note: Disable this if the game is not running smooth or there are sound issues
singlecpu=true
; Available resolutions, possible values: 0 = Small list, 1 = Very small list, 2 = Full list
; Note: Set this to 2 if your chosen resolution is not working or does not show up in the list
; Note: Set this to 1 if the game is crashing on startup
resolutions=2
; Child window handling, possible values: 0 = Disabled, 1 = Display top left, 2 = Display top left + repaint, 3 = Hide
; Note: Disables upscaling if a child window was detected (to ensure the game is fully playable, may look weird though)
fixchilds=0
; Enable one of the following settings if your cursor doesn’t work properly when upscaling is enabled
hook_peekmessage=false
hook_getmessage=false
; Undocumented settings – You may or may not change these (You should rather focus on the settings above)
releasealt=false
game_handles_close=false
fixnotresponding=false
hook=4
guard_lines=200
max_resolutions=0
lock_surfaces=false
allow_wmactivate=false
flipclear=false
fixmousehook=false
rgb555=false
no_dinput_hook=false
refresh_rate=0
anti_aliased_fonts_min_size=13
custom_width=0
custom_height=0
min_font_size=0
direct3d_passthrough=false
center_cursor_fix=false
fake_mode=1366x768x32
wine_allow_resize=false
lock_mouse_top_left=false
no_compat_warning=false
; ### Hotkeys ###
; Use the following settings to configure your hotkeys, 0x00 = disabled
; Virtual-Key Codes: https://docs.microsoft.com/en-us/windows/win32/inputdev/virtual-key-codes
; Switch between windowed and fullscreen mode = [Alt] + ???
keytogglefullscreen=0x09
; Maximize window = [Alt] + ???
keytogglemaximize=0x10
; Unlock cursor 1 = [Ctrl] + ???
keyunlockcursor1=0x09
; Unlock cursor 2 = [Right Alt] + ???
keyunlockcursor2=0xA3
; Screenshot
keyscreenshot=0x2C
; ### Config program settings ###
; The following settings are for cnc-ddraw config.exe
; cnc-ddraw config program language, possible values: auto, english, chinese, german, spanish, russian, hungarian, french, italian
configlang=english
; cnc-ddraw config program theme, possible values: Windows10, Cobalt XEMedia
configtheme=Windows10
; Hide the ‘Compatibility Settings’ tab in cnc-ddraw config
hide_compat_tab=false
; Allow the users to ‘Restore default settings’ via cnc-ddraw config
allow_reset=true
You’re done!
Glorious 16:9 RA2YR in 762p, like it was in 2001 but WIDER
If I’m playing single player, I’ll choose the more zoomed in 762p. It’s more intimate and won’t show me the whole map at once (tried it a few years ago, might visually frick with the game). 762p, for some reason, is the highest resolution that works with the menus as well. Probably them being hard-coded like the build overlay. Hence the fake-resolution on the ddraw.ini. It’s all voodoo, really and I don’t know why or how this all works, I just got it to work just how I want it to, on my own system.
Glorious 16:9 RA2YR in 1080p like it should be today
On a skirmish I’ll go for better situational awareness with 1080p. Because the bots cheat too. Fight me.
These are the only screenshots I managed to take in-game before I found out (Steam overlay and [Alt + F4] stopped working). Just trust me bro on this when I tell you the fix also lets me enjoy the aforementioned menus in the aforementioned stretched standard definition on fullscreen.
If you’re going for the 4:3 CRT vibe, go check another guide, or head over to the forums. Most of them are very keen on keeping those darn black bars, heck. Or try doing this one and editing the .ini files with suitable potato resolutions if you will.
After all this game is over 20 yrs old. You probably need to tweak a thing or two yourself in order to get it to work perfectly (ha!) on yours. If your game has trouble loading in the skirmish menu, for example, locate “ddraw.dll” and delete it. Just might do the trick.
GLHF
And that wraps up our share on Command & Conquer: Red Alert™ 2 and Yuri’s Revenge™: Yet another RA2MD.exe resolution guide for fullscreen connoisseurs. If you have any additional insights or tips to contribute, don’t hesitate to drop a comment below. For a more in-depth read, you can refer to the original article here by BOT_Nips, who deserves all the credit. Happy gaming!