QUICK HELP: How to alter max # of allowed civs

blitzkrieg1980

Octobrist
Joined
Aug 29, 2006
Messages
4,899
Location
New Jersey, USA
Short version: How do i make changes to CIV to remove the 18 civ maximum allowed players? Note: this is not a mod. I'm changing the actual files (I've already saved the original files under a different name to safeguard them)

Long version:
Hey everyone! I've been making changes to my CIV game (saving the original files separately). I hit a snag after adding a planetary size map (dimensions borrowed from Carter's planetary size Earth Mod) and an odyssey game length. I did this because I want to have the ability for multiple wars per era earlier on (like medieval).

However, I'm only able to get 18 civs on my map (as per the original game's coding). On a planetary sized map with odyssey speed (2000 turns), it has become more of a slog to settle massive amounts of land only to have some fairly useless wars starting in the Renaissance. Everyone is far too large and too developed by then for wars to be any fun.

I was wondering how you remove the maximum # of allowed civs (or change it). I want to have at least 24 civilizations on my Planetary size maps. Maybe even 28 or 32. So, any help in eliminating or changing the MAX # of civs would be much appreciated.

Thanks in advance!
 
All you need to do is change
Code:
#define MAX_CIV_PLAYERS												(18)
to
Code:
#define MAX_CIV_PLAYERS												(50)
in CvDefines.h
.. and then you need to compile the dll with that ;)
 
Ooooh.... DLL file changes. Sorry, guys, not too experienced with that. What do I need to edit a DLL file (since my text editors display the DLL as a nasty looking bunch of gibberish)?

EDIT: Dammit, I just did a bunch of searches for DLL decompilers for the MAC (what I have) and it seems that they are nearly non-existent. I tried to search for netreflector for MAC, but they don't have a version for MAC. Damn, man, I thought this would be much easier.
 
Civ4 for MAC doesn't even have a dll, so there is nothing you can change, ergo only 18 civs for you.
 
Civ4 for MAC doesn't even have a dll, so there is nothing you can change, ergo only 18 civs for you.

Mac absolutely has a DLL file.

Applications>Civilization IV>Assets>CvGameCore.dll

I guess I'll have to use Parallels to use reflector to change the dll. That $70 program is worth SOOOO much more.
 
I seriously feel bad for any Civ player who runs the game on a Mac. :( The game is probably the only reason for me not to abandon the PC forever.
 
I would agree (especially considering I would have to wait for Civ5 if it weren't for Parallels). However, the raw power of my Mac Pro is worth it (especially without PC headaches). My last PC just couldn't handle all my audio software. The Mac Pro is so powerful, that I do all my audio editing on Windows 7 Parallels (which shares resources with OSX).

Back on topic: I'm having issues decompiling the DLL in netreflector. It is saying "Object reference not set to an instance of an object" with an exclamation point. Anyone know what this is about?
 
Is there a decompiled zip of CvGameCoreDLL.dll (latest BTS version) available anywhere? Maybe I could download that, make the change, and recompile it? Maybe someone has a version of the DLL that already has the change which I could use to overwrite mine (or saveas with a different name)?
 
Okay, I just replaced the CvGameCoreDLL.dll with the one from CarterEarth32Civs. It's still capping me at 18 civs. This just doesn't make any sense. The CarterEarth32Civs would've HAD to have made the changes considering it allows 32 civs. I'm just so confused.
 
The SDK source code is available in \Sid Meier's Civilization 4\Beyond the Sword\CvGameCoreDLL\ but I wouldn't know what to do with it myself...
 
I actually think someone did do just that. I believe that he was running the game in compatibility mode or something like that. I'm not saying that it was easy, but he knows just about nothing about programming still today, so if he could pull it off...
 
But I think it could work. Copy Beyond the Sword folder. Remove the assets and dll of the Beyond the Sword folder copy. Rename the original so that the game loads the modified one.
 
Nah, I'm thinking he just adds the new/alternate DLL into this mod directory under /Assets/.

But I don't even know if its worth while to figure out how to recompile the DLL file just to change this one value. I'm pretty sure I've seen ready-to-use DLLs that enable something like 50 Civs, but it might have been for a different/obsolete version of the game. It should be worth a try to find one, in any case.
 
I know there is no such thing as a DLL for the Mac, but the answer is rather to run the computer as a PC (I'm not sure how though). All I know is that this guy did it and he was able to both complete his mod - with a custom DLL - and play it on his computer. But he wasn't technically doing these things on a Mac, as he was running CivIV on Windows.
 
If he runs Civ on Mac, using the Mac version and not the Win version via parallels (or whatever), then there is no way to get a .dll working on it. Doesn't matter if there's one, it will not work. .dll is a MS format, and will not work on Macs.
 
I see. It makes sense, since I replaced the default dll with the one in the CarterMod32civs Asset folder and it still didn't make difference.

So, does anyone know where the max 18 civs variable is stored for the mac version? I know mac users are a bit rare on the forums, but it would be really appreciated since my Planetary size maps and Odyssey speed games are incredibly lame with only 18 civs (even with high sea levels).

This is such an odd problem. There has to be a place where this variable is applied even on the MAC version. I mean, without such a variable, wouldn't I be able to use an infinite amount of civs even if playing from an installation right out of the box?

Thanks everyone for trying to help!
 
Top Bottom