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.2k stars 142 forks source link

cnc-ddraw 6.6 & DDrawcompat 0.5.3 for Cs_gctt & Scooby Bugman on 8+ Only. Supports 98% from the Learning Company except Not using fullscreen exclusive Games. (Use Windows ME) #316

Closed MicahMoo11 closed 3 months ago

MicahMoo11 commented 3 months ago

Update Jun 14th, 2024, this post was originally made to fix Reader rabbit personalized reading ages 4-6. Version 3.0 original build even, clue finder's original 4th-6th grade editions. although works with pal-ddraw, more info here https://github.com/ayuanx/pal-ddraw/issues/3

As of 6.8, it now fully works with 98% from the learning Company games. except 14 games.

  1. reader rabbit toddler with RRTW32.exe (Due Note This Does Not Work with The XP Build of cnc-ddraw)

  2. DDrawcompat 0.5.4 fully works with Scooby-doo case file#1 the glowing bug man & carmen Sandiego great chase through time only on 7+ (DirectDraw (Software) renderer only). This means it will not work with Direct3d. go to dxwrapper instead. Windows Vista, Due to WDDM and GDI issues mostly on Virtualization hypervisor even on Real hardware at times. for windows vista just use (just use Dxwnd) as for Cs_gctt no solution at this time Sorry.

Not using Fullscreen exclusive (these 12 games Link Below) are not compatible sense windows 2000 exception is Dr Seuss toddler and Carmen Sandiego Think Challenge even than fails under windows 8+ and don't advised Vista or 7 Due to extreme stabilitys & compatibility issues. At this time, they are no wrappers or emulators that has support except maybe DxWnd. Even than fails 80% of the time with 35 people testing with varies configurations, even imposable on 8+

Just use Windows ME for all Not using Fullscreen exclusive unless something changes. https://drive.google.com/drive/folders/1AY-Z5Pqj86KyB-LjHoLuMKJpS-9Ty5tb?usp=drive_link

those are Learning-Creative (Vista-11-Bonus) Ver. 4 (Debug) https://drive.google.com/drive/folders/1nax1XTAhQvYlurWbSma0kZ8aqFfdz8as?usp=sharing

MicahMoo11 commented 3 months ago

iv just found a newer usa build for spy fox 2 some assembly required = Spyfox 2.

they are new uk humongous games. freddi fish 5 is known not to exist

SPY Fox: Operation Ozone= spyfoxozu Putt-Putt Travels Through Time=PUTTPUTTTTT Putt-Putt Joins the Circus= puttputtjtc Pajama Sam 3: You Are What You Eat From Your Head To Your Feet= UKpajamaEAT freddi fish 4 Freddi Fish : The Case of the Hogfish Rustlers of Briny Gulch= Freddihrbg.exe

here are the forgotten 2008 builds pajama sam 1 PAJAMA SAM DON'T FEAR THE DARK = pjSam

Putt Putt Saves the Zoo= PuttZoo. (this does not hook like freddi fish 1) is ddraw process hidden) https://drive.google.com/file/d/1yc-8BgLOonuo6k9lI4NRpk-GA17BxJi2/view?usp=drive_link

FunkyFr3sh commented 3 months ago

Are some of them working with cnc-ddraw?

You can test them with cnc-ddraw-6.5.0.9-2.zip - If windowed mode is working and fullscreen is black then it's easy to fix

MicahMoo11 commented 3 months ago

Are some of them working with cnc-ddraw?

You can test them with cnc-ddraw-6.5.0.9-2.zip - If windowed mode is working and fullscreen is black then it's easy to fix

yes all are working except putt putt zoo. this looks like a Freddi fish 1 bug

FunkyFr3sh commented 3 months ago

They work in fullscreen too? or black screen?

Can you tell me which games work in windowed but not in fullscreen? I will add presets for them into ddraw.ini

cnc-ddraw-6.5.0.9-2.zip does support all GDI games now in windowed withotu changes, only for fullscreen I need to add tweak to ddraw.ini

FunkyFr3sh commented 3 months ago

Yes it is the same issue as freddi fish 1

here is the patched exe for putt putt zoo 2007 PuttZoo.zip

MicahMoo11 commented 3 months ago

Sorry all the uk games versions and the newer USA spy fox 2 & pajama sam dont fear the dark. Have black in full screen.

As for windowed mostly playable. 2008 pajama Sam is the most broken. By showing black scenes in windowed mode. But as playable as the UK versions and newer spy fox 2 USA.

FunkyFr3sh commented 3 months ago

Sorry all the uk games versions and the newer USA spy fox 2 builds. Have black in full screen. As for windowed mostly playable. To all UK versions and newer spy fox 2 USA.

I added all .exe names from your last post, if one is still not working then tell me the .exe name of it

FunkyFr3sh commented 3 months ago

oops, forgot to update ddraw.ini in the .zip, here is the new one:

cnc-ddraw-6.5.0.10-2.zip

MicahMoo11 commented 3 months ago

everthing worked except 2 errors inside of .ini.

one under ddraw for spy fox 2, Spyfox 2 = Spyfox2. This works to

; SPY Fox : Some Assembly Required [SPYFOXSR] changed to Spyfox2 renderer=gdi

Pajama Sam 3: You Are What You Eat From Your Head To Your Feet want to

; Pajama Sam 3 [Pajama3] changed to UKPajamaEAT renderer=gdi

FunkyFr3sh commented 3 months ago

Ah, yeah i done a mistake there

cnc-ddraw-6.5.0.10-3.zip

MicahMoo11 commented 3 months ago

I have 2 question iv decided to use cnc-ddraw_win2000_i486_mingw as it is way more stable than the XP+ version.

what is the difference other than 362 kb vs 370 kb. also, for some reason using Fullscreen upskill under, TLCLauncher fixes RRTW32.exe thru toddler. My guess it is using force windowed mode. like the case with older releases.

how do i get this in the XP+ versions. this to me is strange, over 3 hours of testing iv decided 2000 builds are good enough.

Screenshot from 2024-06-06 14-59-36

FunkyFr3sh commented 3 months ago

I have 2 question iv decided to use cnc-ddraw_win2000_i486_mingw as it is way more stable than the XP+ version.

what is the difference other than 362 kb vs 370 kb. also, for some reason using Fullscreen upskill under, TLCLauncher fixes RRTW32.exe thru toddler. My guess it is using force windowed mode. like the case with older releases.

how do i get this in the XP+ versions. this to me is strange, over 3 hours of testing iv decided 2000 builds are good enough.

cnc-ddraw.zip is faster because it's using features that are only supported by newer CPUs like SSE and AVX - It will need at least windows XP SP3 and a Pentium 4 CPU to work

cnc-ddraw_win2000_i486_mingw.zip is only good to use for Windows 2000 - But I don't think it matters for the games you are using it with, those games will run fine with any version.

TLCLauncher fixes RRTW32.exe thru toddler. My guess it is using force windowed mode. like the case with older releases.

What is not working with RRTW32.exe? What does TLCLauncher fix? I deleted most games so I can'T check now

MicahMoo11 commented 3 months ago

Penntum 4, yikes we will use windows 2000 builds instead. We have users wuth older hardware.

As for RRTW32.exe it will show red screen discoloration , except if i do TLCLauncher.exe with option full screen unskilled and RRTW32 at full mode conflicts with game engine, and forces windowed mode for fullback. Oddly enough only on windows 2000 build.

Which I'll be using for all my games going forward. Thinks for the tip, of the build differences.

FunkyFr3sh commented 3 months ago

I don't have the toddler game installed anymore, but i think it had 3 exe files, right? 2 did hook and 1 did not hook. Is RRTW32.exe the one that does not hook?

MicahMoo11 commented 3 months ago

RRTW32.exe the one that does not hook?

Yes that is current iv found a workaround thru TLCLauncher.exe, for some reason it has windowed mode fullback for RRTW32.exe. But it only works with 2 changes thru cnc-ddraw config.exe at TLCLauncher.exe including RRTW32.exe , with 2000 build only. Which will forced fullback to windowed mode.

As for xp build does not work with real or vmware player. Unless I'm messing something.

MicahMoo11 commented 3 months ago

Last comment we know someone with a Mobile Intel® Pentium® III Processor - M 1.13 GHz, 512K Cache, 133 MHz FSB.

According to them it was stable and working. Although one Game was forced to software rendering. Which on xp build it just closes.

Thinks for making 2 builds. We the team love the 2000 build. We are looking at windows 9x extended kernel for adding back windows 9x support. We found some limited success.

MicahMoo11 commented 3 months ago

Again frunky thinks so Mach for your help for any learning company ganes on newer systems.

FunkyFr3sh commented 3 months ago

Yes, it might use the software renderer on old hardware. But that's ok, it will still work fine.

BTW, I think all Humongous will work on 9x with cnc-ddraw. Just need 1-2 little changes. But the TLC games will not because they will need either directx9 or opengl

MicahMoo11 commented 3 months ago

Also if we found away to get debug logs working with extended kernel. Can we sand you debug logs for Detective Barbie 2: The Vacation Mystery Computer game. For more insert on the issues with windows after ME. If not that is OK. As you don't support windows 9x In the 1st place.

FunkyFr3sh commented 3 months ago

sure, upload them here and i'll check

MicahMoo11 commented 3 months ago

As for the learning company. We found a open driver that added open gl 2.1 support for windows me only not wondows 98. So we beleave it might work also. But even with extended kernel it is barely working working.

Our priority at this time to get developer logs which is not playing nice on our end. The maze does work with your hooks. Do you have developer logs for windows 2000. Which will be easier for us to target.

FunkyFr3sh commented 3 months ago

Yes I have a win2000 debug log build too, but I never tested it much:

DebugLog_win2000.zip

MicahMoo11 commented 3 months ago

updates with the windows 9x extended kernel i only manage to get to 5.9, ideally 4.9-5.1 for stability. due you still have or offer debug logs going down that old or is it lost in time. the maze port does hook best with 4.9-5.1, after that you added newer code that is breaking extanded kernal or not working will.

Screenshot from 2024-06-07 12-14-26

FunkyFr3sh commented 3 months ago

I was using different tools back then, here is one built with the same old tools:

ddraw-old-mingw.zip

MicahMoo11 commented 3 months ago

i tried sadly they is no workaround with this extended kernel, it looks like debugging tools for windows. I'll try to find windows nt 4 versions of it. but unlikely as its older by a lot for around 4 years.

Screenshot from 2024-06-07 13-26-05

this is the current extended kernel that was backported to newer windows supports if this helps. CORE.txt

FunkyFr3sh commented 3 months ago

ddraw2.zip

MicahMoo11 commented 3 months ago

got it to work by forceing windows vista+ ?

extended kernel does support, VerSetConditionMask function (winnt.h) thru windows vista only.

FunkyFr3sh commented 3 months ago

This here might even work without extended kernel now: ddraw3.zip

MicahMoo11 commented 3 months ago

very close it shows a black screen. still needs extended kernal. i will be testing more thru extended kernal. question are you useing DirectDraw or open gl 2.1. they are turn off for stability.

Screenshot from 2024-06-07 13-59-46

FunkyFr3sh commented 3 months ago

you can choose what you want to use in ddraw.ini - renderer=auto, renderer=gdi, renderer=opengl, renderer=direct3d9

GDI will be black screen, it doesn't work on 9x

in the log file we can see what it'S using, so maybe just upload it here

MicahMoo11 commented 3 months ago

cnc-ddraw-1.zip

sorry it tock so long having some issues with linux and windows me.

FunkyFr3sh commented 3 months ago

The log says that Direct3d9 and opengl are both not available and that's why it switched to GDI renderer and you got the black screen

you need to make Direct3d9 or opengl working somehow, otherwise it will not be possible to use cnc-ddraw on 9x

MicahMoo11 commented 3 months ago

it might be gdi but the game did play for some reasen.

MicahMoo11 commented 3 months ago

i will force enabe open gl and hope the best

MicahMoo11 commented 3 months ago

ok i fanilly found away how to enable direct 3d 9 under linux. for widnows me, i have to learn mesa and open 4.6 convert for windows 9x. i am now on my test unless im seeing more proplems.

FunkyFr3sh commented 3 months ago

Didn't you already have it working? How did you make this screenshot here?

image

MicahMoo11 commented 3 months ago

ok done more testing, direct 3d9 breaks cnc-ddraw due to i moved ddraw.dll to ddrawme.dll. i played psychonauts game by double fine. it is direct3d 9 game. so this test was a failure.

that picture what i did is thru extended kernel or software rendering that uses gdi only, which you said will turn black but it does not.
im doing this again thru extended kernel not worth the hissy, direct3d 9 possable but it breaks cnc-ddraw. open gl 2.1 speed and discoloration. sadly gdi for me is the only thing stuble. which you clam does not work.

FunkyFr3sh commented 3 months ago

you need directx 9.0c for it to work. 9.0 or 9.0a/b will probably not work

MicahMoo11 commented 3 months ago

i have direct9c installed on windows me it does work. but it breaks cnc-ddraw. i am also playing the maze part of the game. even others. but virtualization software does not support windows 9x and never will even vmware. i have to use 3rd party drivers

im useing this driver https://github.com/JHRobotics/softgpu?tab=readme-ov-file

MicahMoo11 commented 3 months ago

I'm taking a break, i have been working on this for almost 10 hours.

i personally only got this to work with software rendering and GDI only. i will tomorrow find away once more to get open gl and direct3d 9 to work. as for direct3d 9 i did but I'm not sure how to patch for cnc-ddraw. they both 3rd party drivers, maybe its on them conflicting i just don't know.

Like I said before windows 9x really does not have greet support, VMware is better than most. I Tred many virtualizations software, no one i iv seen is as greet as vmware.

MicahMoo11 commented 3 months ago

this is all the software for vmware player on windows me i have used i have used https://drive.google.com/drive/folders/1yxPDfb-Iv4Ato3nMbDwofCW0_-gSeN8B?usp=drive_link even https://windowsupdaterestored.com/,

and trail and error, sorry im going to bed now. peace until tomorrow

MicahMoo11 commented 3 months ago

cnc-ddraw-2.zip cnc-ddraw-2.zip

here is the test for open gl 3.3 under wkndows me in the maze game.

MicahMoo11 commented 3 months ago

this one 4 playthoughs thru the maze. due note it is an open gl 3.3 however i had to use directx june 2010, from this developer https://win2k.org/blog/2009/11/11/1009908/. that worked although needed http://windowsupdaterestored.com/

cnc-ddraw-1 (2).zip cnc-ddraw-1 (2).zip

FunkyFr3sh commented 3 months ago

That's interesting, in that log the window is not being disabled like on newer versions of windows. Not sure how that could happen

MicahMoo11 commented 3 months ago

Question due you think the ddraw.dll, from windows 9x is serperier, to newer windows. Is it possible to look at ddraw.dll vs windows xp ddraw dll, To see differences.

Even if they were different can you restore messing code or is it outside of your project. According to Microsoft starting at directx 8. Ddraw.dll is not bring updated and windows me last to support directdraw by default. Is Microsoft removing code out of ddraw.dll.

FunkyFr3sh commented 3 months ago

No, it's not that simple. You cannot use a old ddraw.dll on a newer version of windows.

Also, cnc-ddraw doesn't use anything from microsofts ddraw.dll and the game still works with it. The problem with barbie 2 might not be related to anything with DirectDraw

MicahMoo11 commented 3 months ago

In that case I'll do something risky once, I get back home I'll copy all of c/windows/system onto windows xp.

As in the past I had 3 the learning company games. It will always close on a certen activity. Than I did was copy c/windows/system it worked. It took me 3 days. But iv found the .dlls. and made to syswow64 or wrappers for 64-bit systems.

This will rull out .dll issues.

MicahMoo11 commented 3 months ago

we are doing our final testings and found the ClueFinders The Incredible Toy Store Adventure! is really unstable https://drive.google.com/file/d/1sjJ8_kIsrqbVF5qEbFZyAzAwOEl2InqR/view?usp=drive_link

Screenshot from 2024-06-09 13-53-12 cnc-ddraw-1.zip this is based on ddraw3.zip

also, to my surprise Scooby-Doo(TM), Activity Challenge(TM) did not hook. does it not have ddraw.dll.

what it is it installs a bonus sampler disc, which includes the pie-throwing mini-game from Showdown, the root beer mini-game from Phantom, and a new skiing mini-game seemingly based on the TV episode "That's Snow Ghost." https://drive.google.com/file/d/1T9mjTuf55oWeD0xhLvy1LNIEFYw-1OR3/view?usp=drive_link

also Scooby-Doo(TM), Jinx At The Sphinx(TM) https://drive.google.com/file/d/1nm1TgyRxaOluPtNMUGBBuUfucpw608_W/view?usp=drive_link

im wondering is this like scooby cae file 1. they is a special process involved.

FunkyFr3sh commented 3 months ago

here is a fix for toystore:

cnc-ddraw.zip

MicahMoo11 commented 3 months ago

thinks do mach it did fix it.