Civilization V DLL Source Code coming with Fall Patch

Anyone working on removing the hard cap on the number of civs possible on a map? :D
 
Since we are rolling through wish list items....my number 1 is an event that runs at end of turn for each player.

So many things I need to do just as the player hits end turn but before the next player gets his go.
 
Wish list? A new Rhyse & Fall scenario :D

Seriously though, will this mean a bit more activity on the custom scenarios side of things? I thought it seemed a bit quiet in the sub-forum, i'm guessing this is because of the limited possibilities without the source?
 
I can assure you it was possible to make a RFC version without the code source. But Rhye was lacking time to convert is mod from civ4, and a big benefit from the source here should be to make the conversion faster, or so I hope.
 
Since we are rolling through wish list items....my number 1 is an event that runs at end of turn for each player.

So many things I need to do just as the player hits end turn but before the next player gets his go.

You can emulate that with GameEvents.PlayerDoTurn and check who was the previous player when the event is called and do your things there.
 
You can emulate that with GameEvents.PlayerDoTurn and check who was the previous player when the event is called and do your things there.

IIRC, cant be used for what I wanted to do which was store the movement points used per unit when a player hits next turn. Instead I had to revert to a very slow process of doing it using UnitSetXY instead.

The reason I needed this was for accurate refueling based on unit movement and if fuel ran out I could set movement points to what was left previous turn.
 
ha, yes, I forgot that.
 
Since we are rolling through wish list items....my number 1 is an event that runs at end of turn for each player.

So many things I need to do just as the player hits end turn but before the next player gets his go.

Adding new events in the DLL code is trivial (just search for pkscriptsystem for many examples), the really, really hard part is working out WHERE in the code to add them (as the logic in the DLL is like following a plate of spaghetti at times!)
 
I think learning C++ in addition to Lua, XML and SQL may be stretching it for most people on this board :(

My simple mind is still coming to terms with Lua and your own UI interface tutorial...I dont think I can sit patiently through a C++ tutorial :hammer2:

I for one am taking the watch and wait approach. I ask for nothing yet expect everything from you brave bunch that have already unlocked the mysteries of DLL modding :trouble:
 
the really, really hard part is working out WHERE in the code to add them (as the logic in the DLL is like following a plate of spaghetti at times!)

It **MAY** be in CvPlayer.cpp and search for the two occurances of "DLLUI->PublishPlayerTurnStatus"
 
Are we able to see all the lua functions in detail now, alongside the dll being released?

I haven't checked to see if it's all of them (there are way too many for that) but the available Lua accessors are in "CvGameCoreSource\CvGameCoreDLL_Expansion\Lua\*.cpp", and that's enough information to figure out any mystical parameters and also detect "previously unknown" methods
 
I think learning C++ in addition to Lua, XML and SQL may be stretching it for most people on this board :(

My simple mind is still coming to terms with Lua and your own UI interface tutorial...I dont think I can sit patiently through a C++ tutorial :hammer2:

Don't learn all, but master what you need ;).
I guess XML is needed for everyone, and SQL for the most people, but for Lua and C++...learn that if you need it, else check what the others are doing.
You don't have to know everything. I guess you also don't know how to make units, and you can live with that disadvantage.

The good part about a big community is that you have people who can do the stuff which you can't, and that you can do stuff which other people can't, and that everyone can help each other out ;).
 
While it is true that when diving into something new like C++ development you have to learn some new stuff specific to that language, I think it's the wrong approach to say you "learn" Lua or "learn" C++. In your first programming language, whether that be C++, Lua, Python, Java, anything, you learn how to program as a general skill. Applying those programming problem solving skills to new languages is orders of magnitude easier than learning to program in the first place. Some languages make it harder (Lua is a bit unusual, and I find Objective-C very confusing for example) but most programming skill is fairly transferable as long as you have a solid basis.
 
While it is true that when diving into something new like C++ development you have to learn some new stuff specific to that language, I think it's the wrong approach to say you "learn" Lua or "learn" C++. In your first programming language, whether that be C++, Lua, Python, Java, anything, you learn how to program as a general skill. Applying those programming problem solving skills to new languages is orders of magnitude easier than learning to program in the first place. Some languages make it harder (Lua is a bit unusual, and I find Objective-C very confusing for example) but most programming skill is fairly transferable as long as you have a solid basis.
Indeed. Now on the other hand C++ is a pain to learn (it's old !), especially for people who started with high-level languages and do not know what a pointer or a header file is. But it is a very useful skill: nothing is as portable as C++ + Qt and it has the richest ecosystem available.
 
Maybe a good starting point would be to have a "Where can I find in the DLL ...." thread where people can post what they are looking for and allow C++ proficient members to point them in the right direction. No need to explain things (they can if they want), but at least it points learners in the right direction.
 
I think the SDK/Lua forum is the right place to ask such questions, it may be better to have small, separated threads than a mixed, bigger thread.
 
Back
Top Bottom