FunkyFr3sh / cnc-ddraw

GDI, OpenGL and Direct3D 9 re-implementation of the DirectDraw API for classic 2D games for better compatibility with Windows 2000, XP, Vista, 7, 8, 10, 11, Wine (Linux/macOS/Android) and Virtual Machines
https://discord.gg/afWXJNDDF5
MIT License
2.13k stars 143 forks source link

RA2 player menu misplaced on windowed mode on Proton-GE 8.16 #257

Closed A1ca7raz closed 6 months ago

A1ca7raz commented 8 months ago

I use Linux and play RA2 with Proton-GE 8.16 on windowed mode. Everything works fine except that the player interface misplaced and resolution menu is missing too.

Screenshot_20231028_222057

Screenshot_20231028_222113

This is my ddraw.ini

; cnc-ddraw - https://github.com/FunkyFr3sh/cnc-ddraw
[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=false
; Run in windowed mode rather than going fullscreen
windowed=true
; Maintain aspect ratio
maintas=false
; Windowboxing / Integer Scaling
boxing=true
; 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=false
; 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\cubic\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=auto
; Developer mode (don't lock the cursor)
devmode=false
; Show window borders in windowed mode
border=true
; 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=0
; Should the window be resizable by the user in windowed mode?
resizable=false
; 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=2
; Enable upscale hack for high resolution patches (Supports C&C1, Red Alert 1 and KKND Xtreme)
vhack=false
; 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
; 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=0
; 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=false
; 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=0
; 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=2
; 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
limit_bltfast=false
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
; ### 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=0x0D
; Maximize window=[Alt] + ???
keytogglemaximize=0x22
; 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=auto
; 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
; ### Game specific settings ###
; The following settings override all settings shown above, section name=executable name
; Atrox
[Atrox]
fixchilds=0
allow_wmactivate=true
; Atomic Bomberman
[BM]
maxgameticks=60
; Age of Empires
[empires]
nonexclusive=true
adjmouse=true
resolutions=2
; Age of Empires: The Rise of Rome
[empiresx]
nonexclusive=true
adjmouse=true
resolutions=2
; Age of Empires II
[EMPIRES2]
nonexclusive=true
adjmouse=true
; Age of Empires II: The Conquerors
[age2_x1]
nonexclusive=true
adjmouse=true
; American Conquest / Cossacks
[DMCR]
resolutions=2
guard_lines=300
minfps=-2
; Age of Wonders 2
[AoW2]
resolutions=2
renderer=opengl
singlecpu=false
; Age of Wonders 2
[AoW2Compat]
resolutions=2
renderer=opengl
singlecpu=false
; Age of Wonders 2 Config Tool
[aow2Setup]
resolutions=2
; Age of Wonders: Shadow Magic
[AoWSM]
resolutions=2
renderer=opengl
singlecpu=false
; Age of Wonders: Shadow Magic
[AoWSMCompat]
resolutions=2
renderer=opengl
singlecpu=false
; Age of Wonders: Shadow Magic Config Tool
[AoWSMSetup]
resolutions=2
; Anstoss 3
[anstoss3]
renderer=gdi
adjmouse=true
; Anno 1602
[1602]
adjmouse=true
; Alien Nations
[AN]
adjmouse=true
; Atlantis
[ATLANTIS]
renderer=opengl
maxgameticks=60
; Airline Tycoon Deluxe
[AT]
fixchilds=0
; Baldur's Gate II
; Note: 'Use 3D Acceleration' must be disabled and 'Full Screen' must be enabled in BGConfig.exe
[BGMain]
resolutions=2
; BALDR FORCE EXE
[BaldrForce]
noactivateapp=true
; Blade & Sword
[comeon]
maxgameticks=60
fixchilds=3
; Blood II - The Chosen / Shogo - Mobile Armor Division
[Client]
checkfile=.\SOUND.REZ
noactivateapp=true
; Carmageddon
[CARMA95]
noactivateapp=true
flipclear=true
; Carmageddon
[CARM95]
noactivateapp=true
flipclear=true
; Carmageddon 2
[Carma2_SW]
noactivateapp=true
; Captain Claw
[claw]
adjmouse=true
noactivateapp=true
nonexclusive=true
; Command & Conquer: Sole Survivor
[SOLE]
maxgameticks=120
maxfps=60
minfps=-1
; Command & Conquer Gold - CnCNet
[cnc95]
maxfps=125
; Command & Conquer Gold
[C&C95]
maxgameticks=120
maxfps=60
minfps=-1
; Command & Conquer: Red Alert - CnCNet
[ra95-spawn]
maxfps=125
; Command & Conquer: Red Alert
[ra95]
maxgameticks=120
maxfps=60
minfps=-1
; Command & Conquer: Red Alert
[ra95_Mod-Launcher]
maxgameticks=120
maxfps=60
minfps=-1
; Command & Conquer: Red Alert
[ra95p]
maxfps=60
minfps=-1
; Command & Conquer: Tiberian Sun / Command & Conquer: Red Alert 2
[game]
checkfile=.\blowfish.dll
tshack=true
noactivateapp=true
adjmouse=true
maxfps=60
minfps=-1
maintas=false
boxing=false
; Command & Conquer: Tiberian Sun Demo
[SUN]
noactivateapp=true
tshack=true
adjmouse=true
maxfps=60
minfps=-1
maintas=false
boxing=false
; Command & Conquer: Tiberian Sun - CnCNet
[ts-spawn]
noactivateapp=true
tshack=true
adjmouse=true
maxfps=60
minfps=-1
maintas=false
boxing=false
; Command & Conquer: Red Alert 2 - XWIS
[ra2]
noactivateapp=true
tshack=true
maxfps=60
minfps=-1
maintas=false
boxing=false
; Command & Conquer: Red Alert 2 - XWIS
[Red Alert 2]
noactivateapp=true
tshack=true
maxfps=60
minfps=-1
maintas=false
boxing=false
; Command & Conquer: Red Alert 2: Yuri's Revenge
[gamemd]
noactivateapp=true
tshack=true
maxfps=60
minfps=-1
maintas=false
boxing=false
; Command & Conquer: Red Alert 2: Yuri's Revenge - ?ModExe?
[ra2md]
noactivateapp=true
tshack=true
maxfps=60
minfps=-1
maintas=false
boxing=false
; Command & Conquer: Red Alert 2: Yuri's Revenge - CnCNet
[gamemd-spawn]
noactivateapp=true
tshack=true
maxfps=60
minfps=-1
maintas=false
boxing=false
; Command & Conquer: Red Alert 2: Yuri's Revenge - XWIS
[Yuri's Revenge]
noactivateapp=true
tshack=true
maxfps=60
minfps=-1
maintas=false
boxing=false
; Commandos
[comandos]
maxgameticks=-1
; Commandos
[comandos_w10]
maxgameticks=-1
; Caesar III
[c3]
nonexclusive=true
adjmouse=true
; Chris Sawyer's Locomotion
[LOCO]
adjmouse=true
; Cultures 2
[Cultures2]
adjmouse=true
; Cultures 2 MP
[Cultures2MP]
adjmouse=true
; Close Combat 2: A Bridge Too Far
[cc2]
adjmouse=true
nonexclusive=true
; Close Combat 3: The Russian Front
[cc3]
adjmouse=true
nonexclusive=true
; Close Combat 4: The Battle of the Bulge
[cc4]
adjmouse=true
nonexclusive=true
; Close Combat 5: Invasion: Normandy
[cc5]
adjmouse=true
nonexclusive=true
; Call To Power 2
[ctp2]
maintas=false
boxing=false
; Corsairs Gold
[corsairs]
adjmouse=true
; Divine Divinity
[div]
resolutions=2
singlecpu=false
; Dragon Throne: Battle of Red Cliffs
[AdSanguo]
maxgameticks=60
noactivateapp=true
limit_bltfast=true
; Dark Reign: The Future of War
[DKReign]
maxgameticks=60
; Dungeon Keeper 2
[DKII]
maxgameticks=60
noactivateapp=true
; Deadlock 2
[DEADLOCK]
fixchilds=0
adjmouse=false
maintas=false
boxing=false
; Diablo
[Diablo]
devmode=true
; Diablo: Hellfire
[hellfire]
devmode=true
; Escape Velocity Nova
[EV Nova]
hook_peekmessage=true
rgb555=true
keytogglefullscreen=0x46
adjmouse=true
; Economic War
[EcoW]
maxgameticks=60
fixnotresponding=true
; Enemy Infestation
[EI]
hook_getmessage=true
; Fairy Tale About Father Frost, Ivan and Nastya
[mrazik]
guard_lines=0
; Future Cop - L.A.P.D.
[FCopLAPD]
nonexclusive=true
adjmouse=true
; G-Police
[GPOLICE]
maxgameticks=60
; Gangsters: Organized Crime
[gangsters]
adjmouse=true
nonexclusive=true
; Grand Theft Auto
[Grand Theft Auto]
singlecpu=false
; Grand Theft Auto: London 1969
[gta_uk]
singlecpu=false
; Grand Theft Auto: London 1961
[Gta_61]
singlecpu=false
; Heroes of Might and Magic II:  The Succession Wars
[HEROES2W]
adjmouse=true
; Heroes of Might and Magic III
[Heroes3]
game_handles_close=true
; Heroes of Might and Magic III HD Mod
[Heroes3 HD]
game_handles_close=true
; Hard Truck: Road to Victory
[htruck]
maxgameticks=25
renderer=opengl
noactivateapp=true
; Icewind Dale 2
; Note: 'Full Screen' must be enabled in Config.exe
; Note: 1070x602 is the lowest possible 16:9 resolution for the Widescreen patch (600/601 height will crash)
[iwd2]
resolutions=2
custom_width=1070
custom_height=602
; Invictus
[Invictus]
adjmouse=true
renderer=opengl
; Interstate 76
[i76]
adjmouse=true
; Infantry Online
[infantry]
devmode=true
resolutions=2
infantryhack=true
max_resolutions=90
; Jagged Alliance 2
[ja2]
singlecpu=false
fixmousehook=true
noactivateapp=true
releasealt=true
; Jagged Alliance 2: Unfinished Business
[JA2UB]
singlecpu=false
fixmousehook=true
noactivateapp=true
releasealt=true
; Jagged Alliance 2: Wildfire
[WF6]
singlecpu=false
fixmousehook=true
noactivateapp=true
releasealt=true
; Jagged Alliance 2 - UC mod
[JA2_UC]
singlecpu=false
fixmousehook=true
noactivateapp=true
releasealt=true
; Jagged Alliance 2 - Vengeance Reloaded mod
[JA2_Vengeance]
singlecpu=false
fixmousehook=true
noactivateapp=true
releasealt=true
; Jedi Knight Dark Forces 2
[JK]
direct3d_passthrough=true
; Kings Quest 8
[Mask]
renderer=opengl
; Konung
[konung]
fixchilds=0
; Konung 2
[Konung2]
fixchilds=0
; KKND Xtreme (With high resolution patch)
[KKNDgame]
vhack=true
; KKND2: Krossfire
[KKND2]
noactivateapp=true
; Lionheart
[Lionheart]
hook_peekmessage=true
; Majesty Gold
[Majesty]
minfps=-2
; Majesty Gold HD
[MajestyHD]
adjmouse=true
; Majesty Gold HD
[MajestyHD - Old]
adjmouse=true
; Mech Warrior 3
[Mech3]
nonexclusive=true
; Moorhuhn 2
[Moorhuhn2]
releasealt=true
; New Robinson
[ROBY]
adjmouse=true
hook_peekmessage=true
; Nox
[NOX]
checkfile=.\NOX.ICD
renderer=direct3d9
nonexclusive=false
windowed=false
maxgameticks=125
; Nox Reloaded
[NoxReloaded]
maxgameticks=125
; Nox GOG
[Game/2]
checkfile=.\nox.cfg
maxgameticks=125
; Outlaws
[olwin]
noactivateapp=true
maxgameticks=60
adjmouse=true
renderer=gdi
; Pharaoh
[Pharaoh]
adjmouse=true
; Pax Imperia
[Pax Imperia]
nonexclusive=true
; Railroad Tycoon II
[RT2]
adjmouse=true
; ROAD RASH
[RoadRash]
adjmouse=true
fixchilds=1
; Sim Copter
[SimCopter]
nonexclusive=true
; Settlers 3
[s3]
nonexclusive=true
; Star Trek - Armada
[Armada]
armadahack=true
nonexclusive=true
adjmouse=true
maintas=false
boxing=false
; Star Wars: Galactic Battlegrounds
[battlegrounds]
nonexclusive=true
adjmouse=true
; Star Wars: Galactic Battlegrounds: Clone Campaigns
[battlegrounds_x1]
nonexclusive=true
adjmouse=true
; Starcraft
[StarCraft]
game_handles_close=true
; Space Rangers
[Rangers]
hook_peekmessage=true
; Stronghold Crusader HD
[Stronghold Crusader]
resolutions=2
stronghold_hack=true
adjmouse=true
; Stronghold Crusader Extreme HD
[Stronghold_Crusader_Extreme]
resolutions=2
stronghold_hack=true
adjmouse=true
; Stronghold HD
[Stronghold]
resolutions=2
stronghold_hack=true
adjmouse=true
; Sim City 3000
[SC3]
minfps=-2
; Shadow Watch
[sw]
adjmouse=true
; Shadow Flare
[ShadowFlare]
nonexclusive=true
adjmouse=true
maintas=false
boxing=false
; Total Annihilation (Unofficial Beta Patch v3.9.02)
[TotalA]
max_resolutions=32
lock_surfaces=true
singlecpu=false
; Total Annihilation Replay Viewer (Unofficial Beta Patch v3.9.02)
[Viewer]
max_resolutions=32
lock_surfaces=true
singlecpu=false
; Total Annihilation: Kingdoms
[Kingdoms]
game_handles_close=true
max_resolutions=32
; Three Kingdoms: Fate of the Dragon
[sanguo]
maxgameticks=60
noactivateapp=true
limit_bltfast=true
; RollerCoaster Tycoon
[rct]
no_dinput_hook=true
singlecpu=false
maxfps=0
adjmouse=true
; Twisted Metal
[TWISTED]
nonexclusive=true
maxgameticks=25
minfps=5
; Twisted Metal 2
[Tm2]
nonexclusive=true
maxgameticks=60
adjmouse=true
fixchilds=1
maintas=false
boxing=false
; Tzar: The Burden of the Crown
; Note: Must set 'DIRECTXDEVICE=0' in 'Tzar.ini'
[Tzar]
adjmouse=true
; Uprising
[uprising]
adjmouse=true
; Uprising 2
[Uprising 2]
renderer=opengl
adjmouse=true
; Vermeer
[vermeer]
adjmouse=true
vermeer_hack=true
; Wizardry 8
[Wiz8]
fixmousehook=true
noactivateapp=true
releasealt=true
; Worms Armageddon
[WA]
adjmouse=true
width=0
height=0
resizable=false
; War Wind
[WW]
minfps=-1
; Zeus and Poseidon
[Zeus]
adjmouse=true
FunkyFr3sh commented 6 months ago

possibly a wine specific issue - can't reproduce