Announcement

Collapse
No announcement yet.

[C4:AC][Programming] Subversion / sourceforge project info

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • #31
    I'm liking this arrangement. Now non-sdk modders go to their

    ...\My Documents\...Civ 4\MODS\ directory and checkout trunk\C4AC\

    SDK coders then go to
    ...\My Documents\...Civ 4\MODS\C4AC\

    and checkout trunk\CvGameCoreDLL\ into their workspace. The makefile, as is, will put the .dll in Assets\

    Comment


    • #32
      But there's still the problem of a shared SDK between minimod and c4ac. If some kind of error comes up in the minimod SDK after we are completely into c4ac already, we can go back a number of revisions, make the change, upload the new dll etc... but, the new minimod sdk sourcecode won't be available in svn.
      no sig

      Comment


      • #33
        what about this layout?

        Code:
        |-'C4AC'-+
        |            | -'branches'-+
        |            | -'trunk'-+
        |            |            |-'C4AC.ini'
        |            |            |-'Assets'-+
        |            |            |               |-'CvGameCoreDLL.dll'
        |            |            |               |-'Art'-+
        |            |            |               |-'Python'-+
        |            |            |               |-'XML'-+
        |            |            |-'CvGameCoreDLL '-+
        |            |            |               |-''-+
        |            |            |               |-''-+
        |            | -'tags'-+
        |            |            |-'v0.x'
        |            |            |-'vx'
        |            |            |-'vx'
        |-'SmacxUnits'-+
        |            | -'branches'-+
        |            | -'trunk'-+
        |            |            |-'SMAXunits.ini'
        |            |            |-'Assets'-+
        |            |            |               |-'CvGameCoreDLL.dll'
        |            |            |               |-'Art'-+
        |            |            |               |-'Python'-+
        |            |            |               |-'XML'-+
        |            |            |-'CvGameCoreDLL '-+
        |            |            |               |-''-+
        |            |            |               |-''-+
        |            | -'tags'-+
        |            |            |-'v0.x'
        |            |            |-'vx'
        |            |            |-'vx'
        I know I've put nothing in the branches directory, from what I've read that would work kind of the same like "tags" for new versions, but should be used for c4ac mods (like c4ac smaniac for example).
        no sig

        Comment


        • #34
          This is the practical info from the subversion documentation about branches etc... :




          I'd recomend reading the whole chapter about branching and merging to anyone interested in setting up the svn. (which seems to be MMC, mdbill and me currently).
          no sig

          Comment


          • #35
            When MMC changed the directory structure, the history of all files was lost. Due to moving the files directly in explorer instead of using the svn command, everything was treated as new content. I am now reverting the repository to the state it was in at revision 20. This was my plan for modification:

            => roll back to version 20 (after mdbill's clean xml was added)
            => move trunk, branches and tags into a new c4ac folder
            => create a branch from the c4ac folder at revision 14 to a new smacxunits folder (this will be without the clean xml, as we want to keep the civ4 units, techs and buildings for this mod)

            However, this first part is taking me a very long time. When I did the inital check-in, I could upload a zipped version of my local repository, which was 4MB. Now however, I have to upload each file in full (ie: not zipped). I'll need to upload 30+ MB at a rate of about 1KB/s. I calculated this will take me more than 8 hours to finish. So, I'm leaving my laptop running tonight and hope this will be finished tomorow morning.

            The other 2 commands are not time consuming. If done correctly, no data should have to be transferred at all.

            I really hope I'll have to do this only once...

            A faster solution would ofcourse have been to just use my zipped file again and ask mdbill and rubin to upload their changes again, but if I don't have any connection problems tonight, that shouldn't be necessary.
            no sig

            Comment


            • #36
              This is not good. Please stop and let's get this done right.

              trunk, branches, and tags need to remain where they were.

              the C4AC directory itself is actually a deliverable. Our mod supplies this, so it belongs in the trunk.

              We definitely don't want two copies of the GameCore. It's all much clearer if you just forget about the mini-mod. Even if it ever does get made, it should not affect our whole structure.
              The DLL can go in branches when we're ready for it. Even if we branch off version 1 and merge the relavent parts. We'll figure it out.

              I have the files that I did here in my workspace, so you can just do the .zip file. Just to be clear, you're checking in the Firaxis 1.61 code with no changes first. Then you can add your Supply Crawler.


              Code:
              |-'branches'-+
              |-'trunk'-+
              |            |-'C4AC'-+
              |            |            |-'C4AC.ini'
              |            |            |-'Assets'-+
              |            |            |               |-'CvGameCoreDLL.dll'
              |            |            |               |-'Art'-+
              |            |            |               |-'Python'-+
              |            |            |               |-'XML'-+
              |            |-'CvGameCoreDLL '-+
              |-'tags'-+
              |            |-'vx'
              Let's wait to hear from MMC to see what his reasoning for changing this was in the first place.
              Last edited by mdbill; May 16, 2006, 00:31.

              Comment


              • #37
                Originally posted by mdbill
                This is not good. Please stop and let's get this done right.
                trunk, branches, and tags need to remain where they were.

                ...

                I have the files that I did here in my workspace, so you can just do the .zip file. Just to be clear, you're checking in the Firaxis 1.61 code with no changes first. Then you can add your Supply Crawler.
                This is done now. Everything is now back to the state it was after your last update. The reason I did this was because the history and different ignore rules were lost.

                Originally posted by mdbill
                We definitely don't want two copies of the GameCore. It's all much clearer if you just forget about the mini-mod. Even if it ever does get made, it should not affect our whole structure.
                Why don't we want two copies of the GameCore? I do think the SDK will be quite different for the minimod and the "real" mod. Why do you want to split up the XML, art and python but not the SDK?

                Based on this documentation, we should either have
                => c4ac and the minimod as toplevels with tags/trunk/branches below them
                => or tags/trunk/branches as toplevels with c4ac and the minimod below them
                I don't care which one, but I do think it's best to split these two projects completely. The clean xml for example, is only usefull for the c4ac mod, not for the minimod. I don't think the SDK for the minimod will change significantly feature-wise, but if some errors show up with the crawler code, we still need to be able to acces the minimod SDK without traces of terraforming/unitworkshop/...
                Last edited by PJayTycy; May 16, 2006, 04:10.
                no sig

                Comment


                • #38
                  The mini-mod will naturally have it's own DLL, but we use a branch for that. A branch uses "cheap files", so it's not really a 2nd copy of the GameCore. Any work done for units that belong in the mini-mod should be done on the branch and then merged into the trunk. The branch is not a development branch that gets removed. I will exist forever. It may occasionally get some work done on it that does not get merged back to trunk.

                  The XML is a wierd case because the asbence of a file implies you will use the original. Here's what we probably should be doing: The first person to decide to make a change in say, Civilizations.XML should check in the original as version 1 and then check in their changes.

                  Then you can use a branch for XML the same as we do for the GameCore.

                  Like I said before, let's set up our environment as if the mini-mod does not exist, because its existance should not affect our environment. Let's start with the final diagram I drew. Doc quote...
                  "For related projects where you may want to check out all projects in one go, or where the projects are all tied together in a single distribution package, it is often better to index by branch."

                  Comment


                  • #39
                    Originally posted by mdbill
                    The mini-mod will naturally have it's own DLL, but we use a branch for that. A branch uses "cheap files", so it's not really a 2nd copy of the GameCore.
                    All copies in svn are the same "cheap copies" (if you do them right), wheter you put them in the branch folder or not, that's just a convention. Ofcourse I never intended to upload the SDK a second time without the 2 versions being related.


                    Originally posted by mdbill
                    Any work done for units that belong in the mini-mod should be done on the [minimod] branch and then merged into the [c4ac] trunk. [The minimod branch] may occasionally get some work done on it that does not get merged back to [c4ac] trunk.
                    I added some clarifications to the "it's" you wrote to make sure I understand you right. If I interpret your post right, we both propose +/- the same.


                    Originally posted by mdbill
                    The XML is a wierd case because the asbence of a file implies you will use the original. Here's what we probably should be doing: The first person to decide to make a change in say, Civilizations.XML should check in the original as version 1 and then check in their changes.
                    Yes.

                    Originally posted by mdbill
                    Like I said before, let's set up our environment as if the mini-mod does not exist, because its existance should not affect our environment. Let's start with the final diagram I drew.
                    That's what is in the svn currently, except for the fact there is no 'c4ac' folder, so Assets and the ini file etc sit nicely next to the CvGameCoreDLL. If you really want that extra folder to be there and to modify the VS.NET project to put the dll in the new place, no problem for me, I just don't see the need for it.
                    no sig

                    Comment


                    • #40
                      Originally posted by PJayTycy
                      That's what is in the svn currently, except for the fact there is no 'c4ac' folder, so Assets and the ini file etc sit nicely next to the CvGameCoreDLL. If you really want that extra folder to be there and to modify the VS.NET project to put the dll in the new place, no problem for me, I just don't see the need for it.
                      I explained earlier...

                      Originally posted by mdbill
                      non-sdk modders go to their

                      ...\My Documents\...Civ 4\MODS\ directory and checkout trunk\C4AC\

                      SDK coders then go to
                      ...\My Documents\...Civ 4\MODS\C4AC\

                      and checkout trunk\CvGameCoreDLL\ into their workspace. The makefile, as is, will put the .dll in Assets\
                      No change needed for the project. Most importantly, I expalined earlier...

                      Originally posted by mdbill
                      the C4AC directory itself is actually a deliverable. Our mod supplies this, so it belongs in the trunk.

                      Comment


                      • #41
                        Ah, I suddenly see the light (i think)

                        You want to do this so non-sdk coders don't ever need to download the complete SDK and never checkout/checkin sdk changes ? That's a good reason. I should have realized this was your intention earlier.

                        SDK coders will have a mixed working copy then though, and will need to checkout, update and commit twice each time (once for the SDK and once for xml/python/art changes).
                        no sig

                        Comment


                        • #42
                          As nobody else has said anything in this topic, I changed the directory structure to what mdbill proposed (after some continued discussion through mail).

                          The documentation is also updated to reflect this change:
                          Download Civilization 4 : Alpha Centauri for free. C4AC is a total conversion mod for Sid Meier's Civilization 4. It is built upon the SDK released by Firaxis.



                          Note however there is no subsection for the "units of smacx" mod yet. The moment somebody wants to upload something which is "units of smacx"-only, this section will be created.

                          Mdbill said he would upload his Social Engineering changes soon. I do hope more people will sign up though. Currently it's only mdbill, MMC, rubin and myself. I though there were more people working on different things for this mod .
                          no sig

                          Comment


                          • #43
                            Originally posted by PJayTycy
                            Currently it's only mdbill, MMC, rubin and myself. I though there were more people working on different things for this mod .
                            Location, location, location. The three most important things in real estate. I'm wondering if this isn't also a problem for us. I don't like that if you go to Civ IV. We are located nowhere in that entire section. Our threads should be mixed in with the other Civ IV mod/creation threads. I don't think the Alpha Centauri modders care about us. Can we move?

                            Comment


                            • #44
                              Also is there some way to be in the Civilization Fanatics forum or list of upcomming MODs.

                              I am registared with Sourceforge; I think; but have to update something so can get into repository.

                              All this is negated since I only can do XML and maybe python in the future.
                              You have two choices in life; Explore and learn or Vegetate.
                              There is a reason for everything.

                              Comment


                              • #45
                                ~75% of the registered C4:AC modders are SMAC(X) modders. And the idea was originally brought together by SMAC(X) modders. This could turn out to be the single biggest mod for both Civ4 and SMAC(X) so it should either have it's own section, or stay where it is. A stickied link in the Civ4 section would be very nice though.
                                Ceeforee v0.1 - The Unofficial Civ 4 Editor -= Something no Civ Modder should ever be without =- Last Updated: 27/03/2009
                                "Just because I'm paranoid doesn't mean there's no conspiracy"

                                Comment

                                Working...
                                X