Code Monkey home page Code Monkey logo

ts-ddraw's Introduction

ts-ddraw

Rewrite of cnc-ddraw for Tiberian Sun and Red Alert 2. Target audience are Windows 7, Windows 8, Windows 10 and Wine users who have performance or rendering issues.

Notes on Origin

If you installed Red Alert 2 / Yuri's Revenge from Origin, you need to disable Windows 95 compatibility mode for your game executables, as Origin by default enables this "feature".

TODO

  • Direct3D backend as an alternative to OpenGL
  • Support scaling

ts-ddraw's People

Contributors

anpage avatar dkeetonx avatar funkyfr3sh avatar hifi avatar wzyboy avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

ts-ddraw's Issues

ddraw.dll can't be loaded

I'm using Win10 and having trouble with black screen and no menu problems. So I put the ddraw.dll into the game directory, but the problems retains, and I don't see the FPS, either. I have tried some other ddraw.dll, and they also can't work. Maybe the DLL isn't loaded at all? Why does this happen?

I'm using the lateset win10 and the game version is 1.006. Thanks!!

No in-game rendering (ie. can't play missions) in Yuri's Revenge.

First of all, thank you very much for TS-DDRAW, it is very interesting and no other DDRAW wrapper fixes those games so well. ๐Ÿ‘

Alas, I seem to have a problem :
Tested with :

  • v1.1.4.8
  • v1.1.4.7
  • v 1.1.4.10
  • debug version of v1.1.4.10
  • GDI and OpenGL (OpenGL works, GDI doesn't).

Symptoms :

  • The base game works, although with some seemingly random lags when launching missions or a menu/video tries to appear
  • Same with Yuri's Revenge, except once a mission is launched, the sound works, the game seems to run, but I only see the loading screen and a bit of what's behind the game, and nothing of the game itself.

System :
ASUS ROG laptop
Windows 10 1809 x64
Intel Core i7-4700HQ @ 2.40 GHz
nVidia GeForce 765M GPU

Attached :

  • Used executables EXEs.zip (v1.006 and v1.001 respectively, safedisc removed, CD check removed, VRAM surface allocation patch applied. But it was happenning before I applied that last patch.)
  • Screenshot : Screenshot
  • I would have attached a log, but the debug version does not seem to produce one. Is there something I'm missing on how to use it ?

Settings (other combinations were tried of course) :

`
; ts-ddraw - https://github.com/CnCNet/ts-ddraw

; use the following settings to enable the experimental stretching support
; works only fullscreen right now + menus are not centered

[ddraw]
; stretch to custom resolution, 0 = defaults to the size game requests
;StretchToWidth=2560
;StretchToHeight=1440

; override StretchToWidth/StretchToHeight and always stretch to fullscreen
;StretchToFullscreen=No

; use windowboxing to make a best fit
Windowboxing=Yes

; maintain aspect ratio - this setting is ignored when Windowboxing is enabled
MaintainAspectRatio=No

; Enable vertical sync
VSync=No

; Select the renderer, opengl, gdi, auto. Default = auto = if OpenGL fails automatically use GDI
Renderer=auto

; Draw the FPS overlay 0 = no, 1 = yes
DrawFPS=0

; Use 2 textures, in rotation, for the Primary Surface, default = yes
PrimarySurface2Tex=Yes

; Use Pixel Buffer Objects, in rotation, for the primary Surface. default = 0
PrimarySurfacePBO=0

; Use single processor affinity to prevent thread crashes
SingleProcAffinity=Yes

; Set the Renderer FPS value, Default = 60, unless VSync
;TargetFPS=60

; Call glFinish in the render loop
GlFinish=Yes

`

The key setting to make the regular Red Alert 2 and Yuri's Revenge launch successfully on my system is Windowboxing=Yes.
But it seems not to be enough for Yuri's Revenge.

I have other issues as well (lags in menus, for example), but this is the main one.

Right now I use Aqrit's DDRAW with the following settings :

`

RealDDrawPath = AUTO
BltMirror = 0
BltNoTearing = 0
ColorFix = 0
DisableHighDpiScaling = 0
FakeVsync = 1
FakeVsyncInterval = 0
ForceBltNoTearing = 0
ForceDirectDrawEmulation = 0
NoVideoMemory = 1
SingleProcAffinity = 1
ShowFPS = 0

`

Game video settings :

`

VideoBackBuffer=No
ScreenWidth=1024
ScreenHeight=768
StretchMovies=no

`

Without VideoBackBuffer=No the game displays a black screen with Aqrit's DDRAW.
But it seems to have no effect with the issue at hand with TS-DDRAW (ie. yes or no = same result).

But I'd rather use TS-DDRAW instead, as it is it's actively maintained, and it fixes Alt-Tab.

Compatibility settings :
Lastly, I do not use compatibility settings, except 16BITCOLOR. Same results if I do not use it.
I tried to add on top the Windows 98 compatibility mode, but it makes things worse.

Edit : formatting

How to configure?

How do you configure this? cnc-ddraw has an ini file, but this doesn't seem to. I want borderless fullscreen, I don't want my desktop res being changed.

ddraw.ini missing?

Where's the INI file to try latest options? It doesn't auto-generate.

Mouse isn't properly captured

This project is a godsend. Finally a way to have TS working well under Windows 8. I really appreciate the work you're doing. Of all the (very minor) issues, one really stands out to me as it actually affects gameplay.

When in windowed mode or fullscreen with multiple monitors (like I usually do), the mouse isn't captured properly and it moves outside of the game window. The game still scrolls in that direction, but it's annoying when the mouse keeps leaving the screen.

DLL Version: 6269769
Game Version: Tiberian Sun 2.03 (Origin)
OS: Windows 8.1 x64

I'm in no rush to have this fixed as I can disable my extra monitors or just endure the slightly annoying issue for the time being. Thanks.

TS-DDRAW switch to GDI renderer when Windows XP compatibility mode on

when ts-ddraw switch to gdi, it might be the game is running in windows XP compatibility mode on windows 7/10 instead of running on an old computer.
The gdi renderer's fps is limited to 30, although the computer is fast enough for 60fps in GDI mode.
So if it is possible to distinguish these two situations and set different FPS, or just add some warning texts saying that the user should disable the compatibility mode for better performance?

char *warningText = "-WARNING- Using slow software rendering, please update your graphics card driver";

// Let's assume the worst here: this must be an old computer

problems about the resolution

Thank you very much for your great efforts! For that I can play RA2 on my WIN10 PC. But I have met with some problems, that is I can only choose the 1280x720 RESOLUTION, but I CANNOT choose another one, the bug is that when i choose one such as 1600x900, the right-side toolbar(in charge of building & manufacturing) disappears, along with that there are also a lot of display chaos. Really hope you can settle this bug!

Speed with RA2/YR

The gameplay with Red Alert 2 & Yuri's Revenge is much slower than it could be. It is not lagging, but the framerate is somewhat fixed at say 30fps even on the fastest option.

Red Alert 2 crashes

Hi I have an issue that Red Alert 2 occasionally crashes when I use this patch. The screen will freeze after some time, however I can still hear the sound as though the game is still running.
Is there any way to fix that?
I am using Windows 10 64-bit build 1903

Black Screen on Wine

When running on wine with direct draw renderer set to gdi, starting the game presents a black screen with the background music
This is on macOS, red alert 2 1.006

edit: it seems to somehow cause my mac to log me out of my user??

Origin RA2 crash

Hello.
I tried this Ts-ddraw and old cnc-ddraw with RA2 from Origin (from ultimate collection), but the game even doesn't start.
Is Origin version supported?
My setup:
windows 10 1803
AMD RX580 18.7.1 drivers
Intel i5 7500
Thank you

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.