Command & Conquer™ Remastered Collection

Command & Conquer™ Remastered Collection

Command & Conquer™ Remastered Collection Workshop
Create, share, and play mods for a custom C&C experience! A new Map Editor is also included. Welcome back, Commander.
Learn More
XKorpion 2 11 Feb, 2024 @ 12:32pm
Has anyone successfully released a DLL using a newer tool chain than MSVC v141?
I cannot get the game to NOT CTD on map load when I rebuild the DLL with anything newer than the v141 toolchain prescribed to us by PG. :( I'm just trying to get past some dumb compiler bugs fixed after the v141 stack.
< >
Showing 1-15 of 24 comments
Nyerguds 8 12 Feb, 2024 @ 12:21am 
They have some guides over at ppmsite, but that's all I know of. Never tried doing any of the dll stuff myself.
https://ppmforums.com/forum-1073/cc-remastered-collection-editing-forums/

The people of the Vanilla Conquer project might have more expertise in these things:
https://github.com/TheAssemblyArmada/Vanilla-Conquer
They got a Discord server, too.
Last edited by Nyerguds; 12 Feb, 2024 @ 12:23am
DontCryJustDie 7 12 Feb, 2024 @ 12:55am 
I have tried too with no success. If you found a way please let me know.
XKorpion 2 12 Feb, 2024 @ 9:41am 
Originally posted by DontCryJustDie:
I have tried too with no success. If you found a way please let me know.
I will. I read somewhere on MSDev the toolchain version used for a DLL must match that of the calling/dependent executable. But maybe that's how I have interpreted what I had read. It does make the CTD on the first memset line during the rendering intercept of a vehicle in the DLL.cpp more suspicious. this happens on the v142 and the v143 toolchain.
Last edited by XKorpion; 12 Feb, 2024 @ 9:42am
XKorpion 2 12 Feb, 2024 @ 9:45am 
Originally posted by Nyerguds:
They have some guides over at ppmsite, but that's all I know of. Never tried doing any of the dll stuff myself.
https://ppmforums.com/forum-1073/cc-remastered-collection-editing-forums/

The people of the Vanilla Conquer project might have more expertise in these things:
https://github.com/TheAssemblyArmada/Vanilla-Conquer
They got a Discord server, too.

WOW, I'm reading about the vanilla-conquer project, that's incredible. Of course I don't know what it means to be "faithful" to the original TD... I wonder if they did figure out how to decompile the original Covert Ops exe version before the AI got munged in the "gold" edition.
DontCryJustDie 7 12 Feb, 2024 @ 9:53am 
Originally posted by XKorpion:
I read somewhere on MSDev the toolchain version used for a DLL must match that of the calling/dependent executable..
Yes, I have read that too when I tried it some time ago.
Nyerguds 8 15 Feb, 2024 @ 1:30am 
Originally posted by XKorpion:
WOW, I'm reading about the vanilla-conquer project, that's incredible. Of course I don't know what it means to be "faithful" to the original TD... I wonder if they did figure out how to decompile the original Covert Ops exe version before the AI got munged in the "gold" edition.
What? There's zero difference between DOS v1.22 and C&C95 v1.04. They're literally multiplayer-compatible, and all research I've done in both the DOS version and the Win95 version never showed any AI differences. And as far as I know, the only difference between 1.20 (Covert Ops) and 1.22 (latest official DOS patch) is that they disabled the Stop command on defense buildings.

And, note, "multiplayer-compatible" in these games literally means "all internal logic works the same way", because the only thing transmitted between games is user actions. TD and RA's peer-to-peer multiplay relies on synchronised randomisers to stay in sync.
Last edited by Nyerguds; 15 Feb, 2024 @ 1:52am
XKorpion 2 15 Feb, 2024 @ 4:23pm 
Originally posted by Nyerguds:
Originally posted by XKorpion:
WOW, I'm reading about the vanilla-conquer project, that's incredible. Of course I don't know what it means to be "faithful" to the original TD... I wonder if they did figure out how to decompile the original Covert Ops exe version before the AI got munged in the "gold" edition.
What? There's zero difference between DOS v1.22 and C&C95 v1.04. They're literally multiplayer-compatible, and all research I've done in both the DOS version and the Win95 version never showed any AI differences. And as far as I know, the only difference between 1.20 (Covert Ops) and 1.22 (latest official DOS patch) is that they disabled the Stop command on defense buildings.

And, note, "multiplayer-compatible" in these games literally means "all internal logic works the same way", because the only thing transmitted between games is user actions. TD and RA's peer-to-peer multiplay relies on synchronised randomisers to stay in sync.

Maybe I misread somewhere in the intervening years, but the AI was tremendously changed from the original release of RA and TD to what we have today. To the point where the AI frequently shuts down and stops building etc... no longer does it perform mass attacks, it no longer builds big bases beyond 20 cells from center.
Nyerguds 8 15 Feb, 2024 @ 11:23pm 
Wait, do you mean skirmish AI? But you were talking about Tiberian Dawn. Need I remind you that Tiberian Dawn never had an autonomous skirmish base building AI before the remaster?

I heard about some issues like that in the remaster, and, well, it's not hard to see that the skirmish AI they ported into Tiberian Dawn from RA would suffers from getting its units and harvesters stuck inside its own base, given that it can't spread out its base like in RA, since all buildings in TD need to touch. I guess to remedy something like that, it should specifically be programmed to have a tendency to spread out its base in a checkerboard pattern.

No idea if anything changed in the RA AI though. I don't really recall it ever building massive bases in the original, but I never really played much RA skirmish.

But, other posts here seem to confirm that that's a 1996 problem, not something new...
https://steamhost.cn/steamcommunity_com/app/1213210/discussions/0/2965021129410454831/
Last edited by Nyerguds; 16 Feb, 2024 @ 2:08am
XKorpion 2 16 Feb, 2024 @ 8:06am 
Originally posted by Nyerguds:
Wait, do you mean skirmish AI? But you were talking about Tiberian Dawn. Need I remind you that Tiberian Dawn never had an autonomous skirmish base building AI before the remaster?

I heard about some issues like that in the remaster, and, well, it's not hard to see that the skirmish AI they ported into Tiberian Dawn from RA would suffers from getting its units and harvesters stuck inside its own base, given that it can't spread out its base like in RA, since all buildings in TD need to touch. I guess to remedy something like that, it should specifically be programmed to have a tendency to spread out its base in a checkerboard pattern.

No idea if anything changed in the RA AI though. I don't really recall it ever building massive bases in the original, but I never really played much RA skirmish.

But, other posts here seem to confirm that that's a 1996 problem, not something new...
https://steamhost.cn/steamcommunity_com/app/1213210/discussions/0/2965021129410454831/

I personally played tons of lan/modem against AI in RA on release to PC and there's observations, so I'll just write an article on it when I have time.
Nyerguds 8 18 Feb, 2024 @ 5:45am 
Make sure to actually replay the original game first then and double-check these findings. An article written on observations made through nostalgia goggles is kind of pointless.
Last edited by Nyerguds; 18 Feb, 2024 @ 5:46am
XKorpion 2 18 Feb, 2024 @ 12:12pm 
Originally posted by Nyerguds:
Make sure to actually replay the original game first then and double-check these findings. An article written on observations made through nostalgia goggles is kind of pointless.
I certainly will. But like what if it's not pointless to me?
Nyerguds 8 18 Feb, 2024 @ 3:24pm 
Writing an article and putting it online is not just "to you", though, it's announcing your findings to the whole internet. So if you do that, it's kind of important to ensure the information in it is correct, to avoid accidentally spreading misinformation.
Last edited by Nyerguds; 19 Feb, 2024 @ 4:40am
DontCryJustDie 7 25 Mar, 2024 @ 5:53am 
I was able to compile TD with v142 now. I had to replace the digit macro in mp.h because it would otherwise break xlocale.h. I so hate this C++ text macro ♥♥♥♥♥♥♥♥... so often those macros just create trouble and you have to come up with a fix.

I could also compile TD with v143 without the game crashing now but the game still don't work correctly. I only see the glyphx ui nothing else when starting a game.

RA with v142 is still crashing at some point.

Edit: RA now seems to run fine with v143, the crash was inside a legacy renderer function.
I still don't get why it now works when before the DLL wouldn't even load, the launcher would just crash right away.
Last edited by DontCryJustDie; 25 Mar, 2024 @ 9:37am
Hambo_Kun 26 Mar, 2024 @ 2:27am 
Originally posted by DontCryJustDie:
I was able to compile TD with v142 now. I had to replace the digit macro in mp.h because it would otherwise break xlocale.h. I so hate this C++ text macro ♥♥♥♥♥♥♥♥... so often those macros just create trouble and you have to come up with a fix.

I could also compile TD with v143 without the game crashing now but the game still don't work correctly. I only see the glyphx ui nothing else when starting a game.

RA with v142 is still crashing at some point.

Edit: RA now seems to run fine with v143, the crash was inside a legacy renderer function.
I still don't get why it now works when before the DLL wouldn't even load, the launcher would just crash right away.


So was your problem that you couldn't compile under v142? or it crashed when using the created TD dll file?

I'm managing to compile the dll unde v142 but the game crashes when i load any mission or start a new game, i'm wondering if it's anything to do with when i compile it. I've done some simple editing like changing multiplayer units build levels just to rule out anything major which i've done with in the code and it still crashes.
Nyerguds 8 27 Mar, 2024 @ 12:42am 
Can you debug it and see where it crashes? I think the PPMSite forum has guides on how to do the debugging. There's some way to disable the external error reporting stuff.
< >
Showing 1-15 of 24 comments
Per page: 1530 50