Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

after 1.4.0.0 TS crash or frizing on mouse scroll #125

Closed
Mitradis opened this issue Oct 20, 2021 · 12 comments
Closed

after 1.4.0.0 TS crash or frizing on mouse scroll #125

Mitradis opened this issue Oct 20, 2021 · 12 comments

Comments

@Mitradis
Copy link

Mitradis commented Oct 20, 2021

Long time not play, and update ddraw. After 1.4.0.0 Tiberian Sun crash or frizing on mouse scroll. To verify this, simply move mouse to corners of the monitor ~15-60sec. On version 1.4.1.0+.
image
I also noticed that now i cant fix scroll speed (too fast). On version 1.4.1.0+. On version 1.4.0.0 i have smooth and slow camera scroll speed (i use for this vsync=true maxgameticks=500 singlecpu=false)
while staying on 1.4.0.0.

@deftdawg
Copy link

deftdawg commented Dec 1, 2021

I've been trying to diagnose a lockup with CNC-DDraw (Wine CX 21 on OSX)... In my case with RA2/Yuri's Revenge, the screen freezes, but sound continues (hotkeys to select units still work, etc) and if I do a screenshot (ctrl+s), the PCX file shows what the game should be rendering, but the physical screen is stuck with an old rendered frame. Does that match what you are seeing also?

I've been able to play a few minutes sometimes and up to a few hours other times,I wonder if my scrolling is what is triggering it. It doesn't happen without CNC-DDraw, but that is painfully slow to play with.

I just tried a game with 1.3.9 and made it all the way through (I let it run for 6 hours and it was fine). I'm going to try going back up to 4.4.5.0 and circling the screen the way you describe to see if I can make the rendering freeze quickly.

@Mitradis
Copy link
Author

Mitradis commented Dec 1, 2021

yes it does. In order to speed up the incident, I rotated the camera around the entire map (even if there is a black fog of war) using the mouse movement method (as shown in the picture). On average, within 60 seconds, I get stuck (sometimes it gets boring to rotate). I tried all new versions and determined that it started after version 1.4.1.0 (everything is fine on it).

@FunkyFr3sh
Copy link
Owner

I didn't manage to reproduce this yet.

So is 1.4.1.0 the last version that doesn't freeze or is it 1.4.0.0?

What renderer are you using?

Does it also happen with "singlecpu=true"?

@Mitradis
Copy link
Author

Mitradis commented Dec 1, 2021

@Mitradis
Copy link
Author

Mitradis commented Dec 1, 2021

`; cnc-ddraw - https://github.com/CnCNet/cnc-ddraw - https://cncnet.org

[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=true

; Maintain aspect ratio
maintas=false

; 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
shader=Shaders\interpolation\bilinear.glsl

; Window position, -32000 = center to screen
posX=-32000
posY=-32000

; Renderer, possible values: auto, opengl, gdi, direct3d9 (auto = try direct3d9/opengl, fallback = gdi)
renderer=direct3d9

; 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=1

; Should the window be resizable by the user in windowed mode?
resizable=true

; Enable linear (D3DTEXF_LINEAR) upscaling filter for the direct3d9 renderer
d3d9linear=true

; Enable upscale hack for high resolution patches (Supports C&C1, Red Alert 1 and KKND Xtreme)
vhack=false

; cnc-ddraw config program language, possible values: auto, english, chinese, german, spanish, russian, hungarian, french
configlang=auto

; ### 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=500

; Windows API Hooking, Possible values: 0 = disabled, 1 = IAT Hooking, 2 = Microsoft Detours, 3 = IAT+Detours Hooking (All Modules), 4 = IAT Hooking (All Modules)
; Note: Change this value if windowed mode or upscaling isn't working properly
; Note: 'hook=2' will usually work for problematic games, but 'hook=2' should be combined with renderer=gdi
hook=4

; 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

; Fixes issues where the pitch of a surface is not a multiple of 4
; Note: Enable this if some parts of the screen are being displayed diagonally
fixpitch=false

; Force CPU0 affinity, avoids crashes/freezing, might have a performance impact
singlecpu=false

; 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, set to 1 if the game is crashing
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
fixchilds=2`

@Mitradis
Copy link
Author

Mitradis commented Dec 1, 2021

1.4.1.0 (include) and upper. Video recording on latest version. For record video iam enabling windowed mode

@Mitradis
Copy link
Author

Mitradis commented Dec 1, 2021

in video you can notice fast scroll speed. If i install 1.4.0.0 the speed will be acceptable, much slower. no changes in the config help to fix it in new versions

@FunkyFr3sh
Copy link
Owner

Looks like it's crashing, might be easier to debug with a log file: #44

Upload cnc-ddraw.log, cnc-ddraw.dmp and also except.txt if there is one.

And about the scroll speed, for me there is a very noticeable difference between maxgameticks=500 and maxgameticks=0, so it seems to work fine

@Mitradis
Copy link
Author

Mitradis commented Dec 2, 2021

cnc-ddraw.zip

@FunkyFr3sh
Copy link
Owner

FunkyFr3sh commented Dec 2, 2021

cnc-ddraw.zip

The crash you have is a known TS crash, not related to cnc-ddraw. But maybe the chance for it to happen is higher if the scrollrate is too fast.

The only question now is why maxgameticks isn't working for you but for me it is...

Maybe it would be a good idea if you install the latest ts-patch, with this patch the scroll bug is fixed and you don't need to use maxgameticks: https://downloads.cncnet.org/TSpatch.exe

@Mitradis
Copy link
Author

Mitradis commented Dec 2, 2021

I don't like unofficial patches. thanks, i'll stay on version 1.4.0.0.

@FunkyFr3sh
Copy link
Owner

The bug was identified and fixed, here's the latest build:

cnc-ddraw.zip

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants