Need help converting a mod to version 3.19

Psychic_Llamas

Wizard in the Making
Joined
Nov 25, 2005
Messages
6,366
Location
Western Australia
Greetings all you programmers out there!

I have been appointed by the Warhamemr Mod team to do some recon work and try get a tallented (or ammature, we arent picky at the moment :D) programmer to help us convet the Warhammer Mod* to version 3.19 of BTS!

with the rest of the modding community moving toward 3.19 we are being left in the dust, and with none of us knowing the least about how to go about converting to 3.19 we really need the help from any of you guys who are willing to convert it for us.

If you are interested, please reply here and/or PM Ahriman

thanks in advance everyone!

* For those of you that dont know what the Warhammer Mod is about, its a fantasy mod for civ 4 (based off of FfH2) which adds tons of fiction races based on Games Workshops tabletop game Warhammer as well as many new and unique features. go check out our forum if your interested ;)
 
There are some terminology problems here. There is no difference between "sdk" and "dll" the way these terms are used for civ modding.

Before 3.19 came out, was warhammer using the ffh2 cvgamecoredll.dll, or had some other programmers added/changed C++ code and created a custom cvgamecoredll.dll?

If you were using the ffh2 cvgamecoredll.dll without any modification, then have you tried to run your mod by copying the 3.19 ffh2 cvgamecoredll.dll into your area and then running your mod?

If you had a custom cvgamecoredll.dll before, rather than just using the ffh2 cvgamecoredll.dll, then you are dead in the water until a C++ programmer comes and merges the 3.19 ffh2 mod into your mod.

(personal preference statement) This is why I do everything possible with Python. Your mileage may vary.
 
When I said SDK, I meant the dll is based on the actual c++ code from FfH2 as opposed to just the dll.

And yes there is difference between sdk and dll. The SDK makes the dll.
 
I guess I don't understand. Did you use the cvgamecoredll.dll from ffh2, or did some C++ programmer create a new cvgamecore.dll?
 
Yeah, Grey Fox, you're not making any sense. Either they are using a FFH2 dll, and thus the SDK/C++ source for Warmhammer is unaltered from FFH2; or they are using modified C++/SDK source, and have a modified FFH2 dll.

I don't understand what you're trying to dispute, but all it seems to be doing is confuse people :dunno:
 
I'm saying the Warhammer dll is based on the FfH SDK which they have modified...
(or so I believe, I am not a member of their team or anything)

So they can't just take the updated ffh dll. They have to update their own dll, and this is Psychic_Llamas is asking how to do.
 
OK, perhaps this is obvious, but perhaps there is still some difference in the way we are using these terms.

Warhammer team folks, did somebody give you C++ code which is changed specifically for warhammer, which needs to be compiled? If so, then you need a C++ programmer to merge this into the 3.19 C++ code which Firaxis provides. This sounds like it has an additional complication that you are relying on other changed C++ code created by the FFH team. So it is a three way merge.

Do you *have* the changed C++ code which you want merged? Or is that lost when the C++ programmers you used to have, departed? If you don't have it there is obviously trouble. If you have it, you need a C++ programmer who can merge several sets of changes and then compile it into a new cvgamecore.dll.
 
Assuming you took a previous FfH2 SDK source package and modified it to produce the Warhammer DLL, it is often easier to diff that new SDK against the FfH2 one you started with and apply those change to the new FfH2 SDK package instead of trying to port your SDK to 3.19. The 3.19 changes were significant in the amount of code they touched because they radically changed several core APIs--ones you probably didn't alter but used nevertheless.

If you made a lot of changes for Warhammer, this may not be the way to go. But if you made a few changes to FfH2 this is probably your best bet.
 
I'm designer for the Warhammer team and I'm staying on the project, but I wouldn't know a dll from an sdk if it bit me in the ass. I will try to get Psychic Llamas to answer these in this thread.

My *guess* is that Ploeperengel (who was a c++ coder) modified an old FFH2 sdk to create a unique Warhammer dll, and Ploep retired from the mod a long time ago.
But I don't know what all of those words mean :)

Neither Psychic Llamas nor I know a thing about C++.
 
Summarizing:
- Your c++ coder is gone
- Your dll is based on FfH2 dll Version X.Y, and nobody know which version.
- and also nobody knows, what has to be done.

-> you really have a problem.
Finding the code and merging it with 3.19 would be a job for hours, and not an easy one (depends on the comments and the changes).

No change, to get Ploeperpengel back?
 
There is one ray of hope. In the installation, there is a directory WH-changed-files, which contains a readme (one line long) which says, "codebase ffh 32h".

So what you need is somebody who has already updated some other mod cvgamecoredll.dll from 3.17 to 3.19. Knowledge of ffh internals is definitely helpful but not required. Sit down that person with the WH-changed-files directory, and ask them, "Please make me a cvgamecoredll.dll from these files". Then some magic happens, you buy them some beer or something, and probably you are all set.

As we know from Dune Wars discussions, some people are xml editors, some are not; some are sdk compilers, some are not. So you need an sdk compiler person. I am not :)
 
Not a bad idea, but you'll probably the same problem again, if another patch comes out (okay, the chance is not sooo big).
The xml shouldn't be a big problem.
If FF has additional tags, you can add them very easy.
Is only a problem, if Warhammer has/had additional tags.
 
There are at least two main reasons to add C++ code: first, to add new tags to the xml, and second, to add new behaviors to the game. Obviously there is no point in adding a new tag unless you add new behaviors, but you can add new behaviors without adding new tags to the xml.

If you abandon the old WH C++ code, you lose both. This means any xml you were to copy/paste from the old WH xml, might not work; any added tags would cause a syntax error when reading the xml.

Do you know what, if any, new xml tags and behaviors were added in the C++ code? I don't know if there are design documents or old discussions. If there is no list, you may wind up tripping over lost behaviors one at a time. For example, in Dune Wars, we have made some C++ changes to make all terrain transports work. This behavior would be lost, if we were to abandon the Dune Wars C++ code.
 
I think that we were hoping to update to a new version of Fall Further because the tags we had were a subset of the Fall Further tags. There were some new Fall further features (like multiple barbarian civs in conflict) that we were hoping to eventually add, so that barbarian demons and barbarian orks would fight each other, and a greenskin civ could be at peace with one but not the other.

So I *think* we would only gain tags by updating and starting from scratch.

PL or Orlanth, can you confirm any of this?
 
If you can't find the source code for the old WH SDK changes, rebuilding from scratch from the Fall Further SDK is really your only option.
 
Sorry, my comment in post #14 was not quite clear. The directory WH-changed-files contains a readme, *and all the changed C++ files*. So the files are not lost; they just want to get started on the project and there are no C++ people available to take up the challenge. So rather than giving up, they will start over directly on top of FF.
 
Top Bottom