What are the current limitations we have with civ5 modding?

j_mie6

Deity
Joined
Dec 20, 2009
Messages
2,963
Location
Bristol (uni)/Swindon (home)
Hello,

I'm about to start a big new mod, and we have a lot of ideas built up, but as I undertsna dit there used to be/is a lot of limitations on what we can do with civ5. How many of the following still apply and how many of the following ideas are not yet possible?

New resources
New wonders
new improvements
having a building produce resources.

and ideas:
new resolutions for congress
producing resources with tile improvements. (so putting down a lumbermill produces wood for instance, without a wood resource on the tile)

Thanks,
Jamie
 
Hello,

I'm about to start a big new mod, and we have a lot of ideas built up, but as I undertsna dit there used to be/is a lot of limitations on what we can do with civ5. How many of the following still apply and how many of the following ideas are not yet possible?

New resources
New wonders
new improvements
having a building produce resources.

and ideas:
new resolutions for congress
producing resources with tile improvements. (so putting down a lumbermill produces wood for instance, without a wood resource on the tile)

Thanks,
Jamie

New resources is very possible (even with new 3D art!)

New wonders have been possible since Vanilla, I believe.

New improvements aren't done as often (there have been major breakthroughs with 3D models relatively recently that make this much more workable) but they are possible.

A DLL mod would definitely be able to have buildings produce resources. I think it might be possible to hack it together with Lua as well, but I'm not sure.

I believe there's a mod that already does 'produce timber from lumbermills' but I can't find it again.

New resolutions for the world congress, I have never tried myself, but should be possible. The amount you could do through XML would probably be limited to mixing and matching existing resolutions, and I don't know how much of it is exposed to Lua. Again, a DLL mod could pretty much do whatever you want with the World Congress.
 
A DLL mod would definitely be able to have buildings produce resources
IMHO it's not necessary: in Firaxis' G&K steampunk scenario, they have buildings producing aluminum or tiberium something with existing DLL, probably using the "Building_ResourceQuantity" in XML
New resolutions for the world congress, I have never tried myself, but should be possible. The amount you could do through XML would probably be limited to mixing and matching existing resolutions, and I don't know how much of it is exposed to Lua. Again, a DLL mod could pretty much do whatever you want with the World Congress.
For congress, look at CIV5Resolutions.xml it seems XML already provides quite a bit of flexibility.
 
great thanks!

Yeah I'm not limited by the DLL or Lua, I just needed to know if they were actually possible :)

yeah the timber from lumbermills was an example. What I have planned it making power from power stations, which is a resource to power factories etc
 
What I have planned it making power from power stations, which is a resource to power factories etc

You can do it with XML, actually. While working on a fantasy mod for my own private use, I just made some various buildings like "Wizard's Tower" that produced a new strategic resource I created, that I could use for various other things, like "summoning" (i.e. building) monsters. In fact, I've found it even easier to do it this way than to try and mess around with Lua to get resources to appear on the map.
 
yeah, I also wanted improvements to do it AND buildings :)
 
yeah, I also wanted improvements to do it AND buildings :)

I'm not terribly familiar with improvements myself, so it's hard to say. I suspect that there are various ways to do it, though -- I vaguely recall some older mods (like Building Made Fun) that did that sort of thing, having improvements generate resources. Were you considering having power plants be an improvement?
 
Thank you so much for this thread, now I know about "Building_ResourceQuantity" and it makes what I have been trying to do much easier. :goodjob:
 
IMHO it's not necessary: in Firaxis' G&K steampunk scenario, they have buildings producing aluminum or tiberium something with existing DLL, probably using the "Building_ResourceQuantity" in XML
Even that's not necessary; all you need is G&K without the scenario because it adds a building that does that - the recycling center.
 
Thank you so much for this thread, now I know about "Building_ResourceQuantity" and it makes what I have been trying to do much easier. :goodjob:

np :) good luck!
 
At this point the only major gameplay mechanic you can't do AFAIK is changing terrains in-game (there is a bug with how that is updated, so it doesn't end-up changing until a save-load cycle occurs). So no Terraforming. :(
 
hmm, I don't think that will cause a problem for me, as long as I can remove ice from ocean tiles I'm fine (icebreaker unit) then I'm fine
 
hmm, I don't think that will cause a problem for me, as long as I can remove ice from ocean tiles I'm fine (icebreaker unit) then I'm fine

While you can add/remove ice via Lua, the 3D map won't update until a save/load happens (although the SV map will update immediately) - same for almost all features/terrains/rivers except fallout and forest (IIRC)
 
Daaaamn. I guess it isn't that bad, at least the ice can be practically be removed, then it will just look wrong until a reload... if it is done via the DLL would it make a difference?
 
if it is done via the DLL would it make a difference?

Nope. The Lua functions just call into the DLL anyway. The "problem" lies in the .exe UI .dll (which we don't have the source code for)
 
Nope. The Lua functions just call into the DLL anyway. The "problem" lies in the .exe UI .dll (which we don't have the source code for)
What, you mean the C++ dll that the game runs on? It's all in the Civ5SDK folder.
There's a file named CvImprovementClasses.cpp, if that helps.
 
What, you mean the C++ dll that the game runs on? It's all in the Civ5SDK folder.
There's a file named CvImprovementClasses.cpp, if that helps.

And you think I don't know that ... :lol:

You skipped the full-stop between the two sentences.

"The "problem" lies in the .exe UI .dll (which we don't have the source code for)"
 
And you think I don't know that ... :lol:

You skipped the full-stop between the two sentences.

"The "problem" lies in the .exe UI .dll (which we don't have the source code for)"
See that's why I was bit confused, I assumed that you should know that...
(Turns out you do :crazyeye:)

Anyway, looking through the other dll files, there's stuff like CvDllInterfaceModeInfo.cpp, CvDllInterfaces.h (but I can't find the actuall C++ file that goes with it), CvGameDatabase.h... no .exe files that I can find.

All I'm saying is it's probably in there somewhere, the folder includes plenty of source code for both improvements and interface. Which leads me to this: are we talking about Unique Improvements or User Interface? (I'm assuming the latter...)

EDIT: You know, I'm starting to realize I don't really know what I'm talking about... I guess I just like answering things regardless of whether or not I understand it. :lol:
 
hmm, well I guess we will just have to wait until it is patched... until then it will just have to look a little weird
 
are we talking about Unique Improvements or User Interface? (I'm assuming the latter...)

All of the code for drawing the User Interface (UI) - 3d map, SV map, dialogs, buttons, menus, etc - is the the main .EXE and/or the UI .DLL file(s), neither of which we have the source code for. We only have the source code for the "game core" - the DLL that contains all the game play logic (when the AI goes to war, what it builds in a city, how much it hates the human player, etc). The code that updates the graphics on the 3D map when ice is removed is in the UI, not the game play DLL

HTH
 
Back
Top Bottom