1. We have added a Gift Upgrades feature that allows you to gift an account upgrade to another member, just in time for the holiday season. You can see the gift option when going to the Account Upgrades screen, or on any user profile screen.
    Dismiss Notice

#ifdef standards

Discussion in 'Civ4 - Community Enchancement Project' started by Impaler[WrG], Apr 30, 2006.

  1. 12monkeys

    12monkeys Chieftain

    Joined:
    Nov 24, 2003
    Messages:
    440
    Location:
    Germany, Europe
    On of the problem is, that I can create modules using WinCVS and/or TortoiseCVS. But as soon as I want to retrieve them, I get the message, that there are no modules lsited in modules file. I don't know what I did, but I mixed somethingup there.

    Some if the sources on CVS is more or less something for play+test with CVS, so don't use it.

    I'm already prepared to merge my small changes in the source with whatever version.

    12m
     
  2. Impaler[WrG]

    Impaler[WrG] Civ4:Col UI programmer

    Joined:
    Dec 5, 2005
    Messages:
    1,750
    Location:
    Vallejo, California
    I think I have managed to get a civ4ccp modual created, I have a totaly firaxis virgin CoreDll in their now and am going to try moving the Assets as well. Try checkingout the new modual and making comits.
     
  3. SimCutie

    SimCutie Chieftain

    Joined:
    Dec 10, 2005
    Messages:
    197
    Why did you appended extra level of civ4ccp to pathname?
    ( CVSROOT/civ4ccp/civ4ccp/CvGameCoreDLL_v161 instead of CVSROOT/civ4ccp/CvGameCoreDLL_v161 )
    Other SF projects normally appended project name to CVSROOT only once.
    I think that we should not include python24 and Boost-1.32.0 in CVS sub-tree. It is only dead weight that waste storage and traffic on public distibution.
    I think that we should remove all the existing file in Assets tree, too.
    We will not distribute whole Assets directory. We will distribute only modified files like CustomAssets file is distributed. This can be done this way.
    First put all the original Firaxis Assrets file to CVS Assets folder (version 1.1.1.1),
    Then remove all the files in Assets folder and commit it as 1.1.1.2.
    If we check-out lastes version(1.1.1.2 version) of Assets folder, no file should be chedked out. When we trys to modify a file in the Assets folder, first check out 1.1.1.1 (Firaxis virgin) and modify it and commit it as latest version (like 1.1.1.3).
    By this way, we can distributes only modified assets files. Else, we should always distribute whole assets files. That is not what we want.
    PS) And before we start using it offically, let's remove all the gabages left in the CVSROOT and re-init CvS ROOT again to start over again. This may fix current CVS web problems. it can't be done with CVS commend alone. We should request CVS service to SF staff to do it.
    PS 2) Binary DLL should be managed and distributed separately from source tree. So it shoule reside in separate folder, not subfolder of source tree.
     
  4. 12monkeys

    12monkeys Chieftain

    Joined:
    Nov 24, 2003
    Messages:
    440
    Location:
    Germany, Europe
    @SimCutie : if you're online please check what you can see if you retrieve a module list. I did some manually modifications on the CVSROOT modules file and I would like to know the effects on it.

    @all : I did clean up several folders on the CVS. They are deleted. I think they all have been created by me, the last days, but I'm not 100% sure, if the one or other has been created by anybody else. You'll probalby still see those deleted fodlerm if you browse the repository with an admin function of WinCVS, but they are not active anylonger. So don't check them out (if this is even possible).

    What I tried to do now, is to create ONE module called "civ4ccp_v161". For each Civ patch, we'll create a new module. The "civ4ccp_v161" is located in the root of our repository : "cvs.sourceforge.net/cvsroot/civ4ccp".
    There I created two subfolders : CvGameCoreDLL_v161 and Assets_v161. The first one will take the c++ part, the second one the Python and XML part. As SimCutie said, we should fill the Assets folder only with changed files.

    If anybody has any suggestions or comments regarding the structure, so please let me know. These are just my thoughts after struggleing several days with this sucking CVS at SF.

    BTW : the supprot request for SF is still running, because there is still no chance to view CVS by browser.

    12m
     
  5. Impaler[WrG]

    Impaler[WrG] Civ4:Col UI programmer

    Joined:
    Dec 5, 2005
    Messages:
    1,750
    Location:
    Vallejo, California
    The first civ4ccp is the Project name, the second is the modual, from what I could tell this is how other projects are structured. Do you think the CoreDll and Assets should be seperate moduals? I personaly think its wiser for them to be grouped together as their are going to be dependencies on the XML created in the code and comits can be made over all these files at once.

    As for including all Assets I had had similar thoughts because when we distribute the Dll we will also distribute the updated Schemas and likly leave out the content type files (mod makers would then include what they want). But then I though about the inconvenience of having to do a bunch of pasting of my modified XML files when we test out our new features. Making a distribution is a one time thing, testing happens constantly so we should make that as convenient as possible. With this set up you could update the CVS compile the dll and drop the Assets directly in Custom Assets to see changes someone has made to the game.

    As for the CVSROOT I removed the extra stuff that was their, but I dont thing this was the cause of our problems with webviewing.

    EDIT: I see 12m has changed the name to civ4ccp_v161 thats a good idea and will be usefull when the game gets patched, as for what assets are included as I said I think getting all of them is wise but I can live with this arangment. I think we are ready to start real commits. Hopefully they will get this webview thing corrected soon, I am 90% shure its not a fault with our project. In the mean time we can checkout/update the CVSROOT modual to actualy view the changelogs.
     
  6. 12monkeys

    12monkeys Chieftain

    Joined:
    Nov 24, 2003
    Messages:
    440
    Location:
    Germany, Europe
    First I thought the same as you, Impaler, but now I think its better to have only the changes files in the Assets folder. Just image the modders, who has scan all files for the comments to identify the changed file. To do a test, its quite simple. Just copy a fresh asset into a test folder and copy our changes files over. Thats it. So I think its better to have only the changes files there.
     
  7. SimCutie

    SimCutie Chieftain

    Joined:
    Dec 10, 2005
    Messages:
    197
    Hmm.. I see civ4ccp_v161.. now..
    But why "CvGameCoreDLL_v161/CvGameCoreDLL/*.cpp" ?
    I think that once we have version number in module name (civ4ccp_v161)
    we don't need "CvGameCoreDLL_v161" folder prefix...
    So I suggest to put all the source as "civ4ccp_v161/CvGameCoreDLL/*.cpp"

    And Please read my previous posting again, I have revised it after you replied....
    I am on-line and will be so for a while.. How about have on-line chat now.?
    I will wait on #civfanatics channel until Sunday, May 7, 2006. 22:00 "GMT".
     
  8. 12monkeys

    12monkeys Chieftain

    Joined:
    Nov 24, 2003
    Messages:
    440
    Location:
    Germany, Europe
    Ok! Maintenance completed. Here is the current state.

    $CVSROOT : cvs.sourceforge.net/cvsroot/civ4ccp

    Module : $CVSROOT/civ4ccp_v161

    Subdirectories are :
    - civ4ccp_v161/Assets_v161/Python
    - civ4ccp_v161/Assets_v161/XML
    - civ4ccp_v161/CvGameCoreDLL_v161/CvGameCoreDLL

    So far agreed conventions (which are not set in stone):
    The Asstes_v161 will only get CHANGED files. The both directories PYTHON and XML are empty execpt a readme.txt, which is needed to prevent empty directory pruneing. If you another subdirectory is needed, they can be created by the developer.

    The CvGameCoreDLL contains all files from the SDK but non of its subdirectories. Those are not needed.

    I hope this will work now because that CVS really drove me crazy the last days. If anybody has any suggestions or comments please let me know.

    As long as we don't have much experiences with the CVS usage, we should keep always a copy of our changes at home, I suggest.

    12m
     
  9. 12monkeys

    12monkeys Chieftain

    Joined:
    Nov 24, 2003
    Messages:
    440
    Location:
    Germany, Europe
    The "CvGameCoreDLL_v161/CvGameCoreDLL/*.cpp" is because the SDK Zip has that structure. Thats the only reason. And, TBH, I have not much motivation to change that again. So, please, let us go as it is now. I'm really glad to made it so far.
     
  10. 12monkeys

    12monkeys Chieftain

    Joined:
    Nov 24, 2003
    Messages:
    440
    Location:
    Germany, Europe
    I'm afraid, we can't count on the version numbers. If anybody accidently change and check in a file (just put in a blank), than you have an increased version number. We can't always revert those changes to get a clean version nubering. So we have to work with tags, releases and branches, I think.

    to PS:I also though about to start over, but I think its quite OK now. If we get some trouble again the next days, we still can do this.

    to PS2: why?
     
  11. SimCutie

    SimCutie Chieftain

    Joined:
    Dec 10, 2005
    Messages:
    197
    Version number is OK. Then put tag named "Firaxis" or "Base" on Firaxis version. When we modify the Assets file, first check out latest version of the file first. If nothing comes out, then it means that the file was not modified from Firaxis version. Then you check out "Base" version. then original firaxis file will come out. then modify it and commit as latest version (minor version number will be increased here).
    If a file come out when you check out latest version, it mean the file was modified by someone else. so you should modify that version, not Firaxis original version.
    Before we officially release the file, we increase major version number of all release file and put a symbolic name tag like "2006May17" or "Beta-1", then it doesn't matter what the minor verion number is or how many times we have modified/commited it....

    I think that binary DLL should not be included in source file package and no C++ source file in DLL package.
    Most user will download DLL package only. Only small number of MOD developer will need to download C++ SDK source.
    But the Assets file should be included in all DLL package. Because new DLL will not work properly without modified Assets files. i.e. DLL package should include subset of Assets folders tree with modified assets files AND the binary DLL.
     
  12. SimCutie

    SimCutie Chieftain

    Joined:
    Dec 10, 2005
    Messages:
    197
    @12m:
    If you finished the CVS setup, then please, try to make a release version of project and check it works as you intended. (kind of dry run) Two complete ZIP (one for binary release, one for source only release) file should be made and made available to general public to download.
    Please test and check out our CVS configuartion whether it will be OK throughout upto final release stage before we actually start to use it.
     
  13. 12monkeys

    12monkeys Chieftain

    Joined:
    Nov 24, 2003
    Messages:
    440
    Location:
    Germany, Europe
    The setup is finished from my side. I'll be able to do your suggestions Tuesday evening earliest, because I'm in the office right now and will leave for a short trip today. If you like you can do that test by your own.

    My last action yesterday was to set a tag "Initial_Upload" on all files in the repository. But for any reason I don't see the tag on the files. It may be, that there is still a problem with that CVS.

    12m

    12m
     
  14. SimCutie

    SimCutie Chieftain

    Joined:
    Dec 10, 2005
    Messages:
    197
    I cheked out civ4ccp_v161\CvGameCoreDLL_v161\CvGameCoreDLL files.
    It cheked out OK. Thanks for your effort to set up CVS to work...
    But, it seems to have some oddity.. file modification date...
    All file date are set to 2006 May 08 (Time when you imported the files to CVS), Not original modification date of SDK source ( Mostly before 2006 Apr. 30) CVS system (including WinCVS) has option to set file modification date as time of check-in date when you imports files to CVS.
    I can live with changed date but it would be much better if the unmodified file has same file date as that of virgin SDK file.
    And version number.. all version number are set to version 1.1
    IMHO, starting version number as version 1.1.1.1 would be better and next version as 1.1.1.2 not 1.2.

    About the long file path:
    I ask you to reconsider the "CvGameCoreDLL_v161" component of path... it seems that bit long and it does not serve any purpose to have folder in folder.
    ... My Projects\civ4ccp_v161\CvGameCoreDLL seems to be more reasonable than ... My Projects\civ4ccp_v161\CvGameCoreDLL_v161\CvGameCoreDLL.
     
  15. 12monkeys

    12monkeys Chieftain

    Joined:
    Nov 24, 2003
    Messages:
    440
    Location:
    Germany, Europe
    I don't lnow why sometimes we have versions 1.1 and why 1.1.1.1. I would prefer 1.1.1.1 as well, but I have no clue where I can set this up.
    Regarding the file date, I don't see any problems. Next upload we may change it to the original file date and not the upload date.
    The folders doesn't really matter for me. If nobody disagree you can change that. In this case we should change the structure again like this :

    - civ4ccp_v161/Assets/Python
    - civ4ccp_v161/Assets/XML
    - civ4ccp_v161/CvGameCoreDLL

    As I said, I can't do it untill tomorrow evening. So if you can put some efforts in it, it would be great.

    Did you test the tagging and with what result?

    12m
     
  16. SimCutie

    SimCutie Chieftain

    Joined:
    Dec 10, 2005
    Messages:
    197
    In my opinion, this seems better than current one...
    But if you insist, I am OK with current one, too.

    On tagging:
    Your version is tagged as "Initial_Upload", and I see no problem in your tag... I can retrieve the version by the tag name.
     
  17. Impaler[WrG]

    Impaler[WrG] Civ4:Col UI programmer

    Joined:
    Dec 5, 2005
    Messages:
    1,750
    Location:
    Vallejo, California
    Did someone change the modual name again?, I cant get anything off the CVS but it may just be a SF problem. If someone has changed the moduals please give us the new modual name/s as you cant check out anything without it.
     

Share This Page