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

[Bug?] Nox - Chapter screens are being skipped #252

Closed SilentMRG closed 9 months ago

SilentMRG commented 9 months ago

Greetings!

I don't know whether or not this is a bug or if this is the way it should be. What I see are the chapter screens (those with art and where the Captain summarizes the mission and gives other details) being skipped without me pressing any key. In previous versions of cnc-ddraw the screen stayed there until I jumped, but now in the latest version the screens are skipped and sometimes don't appear. Without cnc-ddraw they appear, but playing without cnc is not good. I've turned on vertical sync and even changed the screen refresh frequency to no avail, and all other options are at their defaults. In addition to the screens... The impression I have is that the game is accelerated, but maybe that's just an impression. The attached image is just to exemplify which screen I'm referring to.

n

Thanks in advance!

FunkyFr3sh commented 9 months ago

I'm not playing this game so I don't know how exactly to get there. Can you tell me what I need to do to reproduce it? And if I need a save game to get there, do you have one you could share?

What version of Nox is this? GOG, CD, or Reloaded?

SilentMRG commented 9 months ago

To get this supposed "bug", all you need to do is start a new game with any character and on the first screen of the first chapter and in the other chapters the image will be skipped. The version I'm using is from GOG. Yes, I have a saved game, but you will need to play until the end of the chapter so that you can see the supposed bug on the next chapter screen, so, I suggest you try a new game as that is the quick way. I play this game quite often and have tried several versions of cnc-ddraw on it, and I must say that it works very well with cnc.

nox

SilentMRG commented 9 months ago

Attached is the "Save" folder. I left the save at a point that will trigger the next chapter III screen (I think), as I can't see the number because the screen appears so quickly. I hope this helps. =)

Save.zip

FunkyFr3sh commented 9 months ago

Thanks! It's working fine for me, can you maybe also share your ddraw.ini?

SilentMRG commented 9 months ago

You are welcome! Attached is ddraw.ini... Note: GitHub doesn't allow me to attach file with the ".ini" extension, so I zipped it.

ddraw.zip

FunkyFr3sh commented 9 months ago

I could reproduce it once now. When it happened once it kept happening all the time afterwards. Once I restarted my game everything was fine again.

That's gonna be difficult to debug...

SilentMRG commented 9 months ago

Well, if we look at the positive side, this is not a serious bug. Now I'm wondering whether or not this bug occurs with other games or if this "acceleration" is causing skips in scenes/frames in other games. Unfortunately, restarting the game doesn't solve the problem for me, but in the previous version of cnc-ddraw I didn't get these skips. I hope all this information helps you in some way and thanks for your attention!

FunkyFr3sh commented 9 months ago

I tried to reproduce it some more, but no luck... only happened once! You may have to help me a bit more testing this, I reverted one of the changes I did that I know did affect Nox, maybe that'll restore the old behaviour:

ddraw.zip

SilentMRG commented 9 months ago

My man, you are a wizard! The debugging wizard! Worked perfectly! I tested it three times and the screen stayed there with the Captain talking and the art in the background. Very good! Thanks again for the good work!

FunkyFr3sh commented 9 months ago

Nice! Unfortunately I can't keep it like this (It would affect other games as well..).

Can you do one more test for me? Use the original 5.8 release again with the bug and go to the config of cnc-ddraw and set "Limit game speed" to "No Limit". See if that works maybe, this way I could have Nox working without breaking other games!

image

SilentMRG commented 9 months ago

I understand... =)

It worked too! I suspected it was the screen frequency, I had set it to 60hz, and then I put the option "Sync with monitor refresh rate", but I didn't test "No limit", I was stupid, hehehe. XD

Thanks again!

FunkyFr3sh commented 9 months ago

Yeah you were on the right track! This makes it a lot easier to handle now, I only have to add preset into ddraw.ini and it's done.

Thanks for testing again!

SilentMRG commented 9 months ago

So it wasn't a bug, the configuration was wrong. I need to consider different settings for different games. Sometimes I think that a default configuration will work with everything, but that's not how things work.

FunkyFr3sh commented 9 months ago

BTW, I found a bug.... when you click on credits it's running too fast now because we disabled the game speed limiter... But I tested it with the old build and it also happens there too, so it's nothing new.

Maybe not that big of a deal, but could be that some other parts are running too fast now too.

Maybe have to use a different value instead of "No Limit"? Maybe "125 ticks" ?

SilentMRG commented 9 months ago

I see... I'm glad it's nothing serious. I'll play here when I have time, and if I notice anything strange warn you. =)

Note: I set it to "125 ticks" and the credits rolled normally, and the chapter screen was not skipped either. Thanks for letting me know and for the tip!

SilentMRG commented 9 months ago

Leaving it set to "No limit" made the credits look like this: https://www.youtube.com/watch?v=8kgTsd-Hxek Hahahaha... XD That was the first thing I thought when I saw it! Sorry for the joke, but I couldn't let it go. =D

FunkyFr3sh commented 9 months ago

hah! yeah that's pretty much how it's looking like for me too