First release

Impaler[WrG] said:
That wont compile, its like I said too many arguments, I think

GC.setDefineSTRING(EXTDLL_BUILD," EXTDLL_BUILDER, EXTDLL_VERSION, __TIMESTAMP__ ");

But now I see EXTDLL_BUILD is undefined, did you compile the code that was originaly on the CVS because I had the original problem with the code strait off the CVS without any modifications. We should always make shure that code being commited will at the very least compile.

Lord Olleus: If these new functions are to be used by Python Moders they need to be exposed to the Python layer which is relativly simple to do but just takes a bit more work. Was the intent of the second function to iterate through all the units in a Plot which are cargo (regardless of how many different transports they are in) whial skiping the transports themselves? Or is it for iterating through the Cargo of a single transport vessel. In the former the function should be called from CvPlot, in the latter case I agree the Plot argument is unessay it can be found internaly. Also you cant return false from a function that has a Pointer return type, you want to return NULL.

Not EXTDLL_BUILD, but "EXTDLL_BUILD", this is string constant like "hello, world"

and 2nd argument is
WRONG: " EXTDLL_BUILDER, EXTDLL_VERSION, __TIMESTAMP__ "
RIGHT: EXTDLL_BUILDER "," EXTDLL_VERSION "," __TIMESTAMP__

Pay attention to every double quotaion and comma and white space.

ALL combinde should be.

GC.setDefineSTRING <LEFT-PARENSIS> <DOUBLE_QUOTE>EXTDLL_BUILD<DOUBLE_QUOTE> <COMMA> EXTDLL_BUILDER<SPACE><DOUBLE-QUOTE><COMMA><DOUBLE-QUOTE><SPACE> EXTDLL_VERSION<SPACE><DOUBLE-QUOTE><COMMA><DOUBLE-QUOTE><SPACE> __TIMESTAMP__<RIGHT_PARENSIS><SEMI-COLON><NEWLINE>

AND define EXTDLL_BUILDER and EXTDLL_VERSION as C++ STRING CONSTANT. ( "HELLO_WORLD", not HELLO_WORLD )

Use command line option -D or project property to define compile time preprocessor symbol. the symbol value should be string constant.
like -DEXTDLL_BUILDER=""Impaler""

You may need TWO CONSECUTIVE double quoation to define C++ string constant in DOS comamnd shell or project option.

Don't edit or modify
GC.setDefineSTRING("EXTDLL_BUILD", EXTDLL_BUILDER "," EXTDLL_VERSION "," __TIMESTAMP__ );
line. It has correct syntax. Edit compiler options/preporcessor symbol defintion part that looks like..

WIN32
NDEBUG
_WINDOWS
_USRDLL
CVGAMECOREDLL_EXPORTS
EXTDLL_BUILDER=""SimCutie"" <=== Edit This.
EXTDLL_VERSION=""161.1.016"" <=== This, too

Experiment with one double quotaion ("SimCutie"), two double quotaion (""SimCutie""), or <back-slash><doubel-quotation> (\"SimCutie\")
or <single-quote><double-quote>SimCutie<doubele-quote><single-quote> ('"SimCutie"') dependnding comand shell and IDE you are using. avoid special charter like * or [] in symbol value, that may be significant to command shell.
 
SimCutie said:
getNumberUnitsCarry function seems to duplicated functionarity with CvUnit::getCargo() which returns number of cargo unit the transport Unit is currently carrying. What is difference with CvUnit::getCargo() ?
What is meaning of pPlot argument? Is it same as CvUnit.getPlot()?
!2Monkey's code has similar function that loops through all cargo unit of the transport unit. I will try to merge your code with 12Mokeys code.

There is a ::getCargo() function? I spent ages looking for it. In this case my code is useless. The pPlot argument is there because it was easier for me to have it there for my particular mod.
 
Olleus: Always keep to the lowest number of arguments possible, any data that can be querried from the object internaly should be (it also avoids any possibility of an incorrect argument). Even if its easier in one mod (which is rather hard to imagine, perhaps your making use of a python argslist that already included the plot?) It might be harder for someone else in the future.

SimCutie: Ok I'll just ignore this piece of code for now, get it working how ever you like but please see that the project compiles for everyone else. Please add what ever configuring is needed in the .cbp file (I assume thats ware it goes as I have never heard of what your talking about) so we wont have this problem again.

Also is their any update for the freeze/coredump at Dawn of Man? I can run DLL only and dont experence any freezing (good work on eliminating the "You have been defeated" thing) so I belive its someware in your Python code. As I said the freezeing is intermitent and caused by rapid clicking of the Play Game button on DoM screen. Their may still be some code thats not loaded yet or its somehow crashing the game. Have you experienced this bug yet? Do you want me to upload a CoreDump?

We realy want to get this stabalized for the Mulitplayer game 12Monkeys is hosting and we also want to get that second release made this weekend. I wont be making any more Commits for this second release so if you can stablize the DoM screen I think we would have more then enough for another release. If backsavegame compatibility is not yet working then we should reactivate the Commerce Mod so as not to loss any features from the previous release.
 
Top Bottom