Announcement

Collapse
No announcement yet.

Hey Angelo... CSPL!

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

  • Hey Angelo... CSPL!

    What would it take to get CSPL to run with Multiplayer Gold Edition? I'd be happy to help you work on this in whatever way I can this summer.

  • #2
    I'm also for it --- I think that the Java classess I built for Civ2Dip could be a good fundation to do it

    EDIT: Note that Java will be not suitable for doing 'low-level' things like those requiered for exactly cloning CSPL at MGE
    Trying to rehabilitateh and contribuing again to the civ-community

    Comment


    • #3
      Wow guys, that sounds more than interesting!
      Ankh-Morpork, we have an orangutan...
      Discworld Scenario: http://apolyton.net/forums/showthrea...8&pagenumber=1
      POMARJ Scenario:http://www.apolyton.com/forums/showt...8&pagenumber=1
      LOST LEGIONS Scenario:http://www.apolyton.com/forums/showt...hreadid=169464

      Comment


      • #4
        In fact, I've discuss this idea with another fellow that also was working on Java and Civ2 He has a lot of good ideas. I hope he will come to this thread and post them here
        Trying to rehabilitateh and contribuing again to the civ-community

        Comment


        • #5
          BTW Yaroslav, don't forget Civdip with unit exchange!
          Ankh-Morpork, we have an orangutan...
          Discworld Scenario: http://apolyton.net/forums/showthrea...8&pagenumber=1
          POMARJ Scenario:http://www.apolyton.com/forums/showt...8&pagenumber=1
          LOST LEGIONS Scenario:http://www.apolyton.com/forums/showt...hreadid=169464

          Comment


          • #6
            Re: Hey Angelo... CSPL!

            I don't know Darth...

            I know that there is a lot of people out there interested in a similar conversion but is it really worth?
            Currently i don't have enough time to work on CSPL, but even with time, my priorities would be to make CSPL easier and less unstable, not to convert current buggy version from Tot to MGE.

            I can't release the source code 'cause it's a mess with a lot of italian comments (i said this before, i just can't find the time to clean it) and so i think it would be pretty useless.

            Who knows, maybe this summer i'll find the time to clean the code but i can't assure it to you.

            Originally posted by yaroslav
            I think that the Java classess I built for Civ2Dip could be a good fundation to do it.
            Tell me more, it works on save files, right?
            "If it works, it's obsolete."
            -- Marshall McLuhan

            Comment


            • #7
              So why is it that CSPL only works with ToT (aside from the program checking that the user is running ToT)?

              Comment


              • #8
                Venturing an ill-informed useless guess, perhaps the targetted memory addresses differ. With the current state of the code, you'd have two challenges. Debugging it to get it to work smoothly, and finding and changing the addresses. I'm nowhere near your levels of expertise, but I've found that working with someone else's code is 'challenging'.

                DV and Yaroslav, what sort of interface do you envision? CSPL has two associated hurdles: (1) it works only with ToT (some of us don't view that as a hurdle ), and (2) it requires a knowledge of C. If you don't get around that second hurdle, your user base will still be small even for a MGE version.
                El Aurens v2 Beta!

                Comment


                • #9
                  Why is everybody trying to splash cold water on this?

                  Comment


                  • #10
                    Easy DV. It's a good idea. I'm asking about the interface because I'm greedy. Not proficient with C, I'm hoping for an interface or upper level macro language that I can handle. Despite its huge benefits, CSPL hasn't taken off because (IMHO) no ToT designer besides you can write subroutines with it.

                    Yes, you could port CSPL over to MGE with the same 8 or so example routines (debugged), but ultimately, CSPL directly ported to MGE would inherit the same disadvantage - only 10% (a guess) of MGE designers know C. So if a C-illiterate designer has an idea that falls outside of the examples, he'd be at a loss. On the other hand a more accessible interface/language could really make this a revolutionary tool. The number of users would expand hugely.
                    El Aurens v2 Beta!

                    Comment


                    • #11
                      Can we do both?

                      Comment


                      • #12
                        Darth, the reason because CSPL controls your Civ version is the same described by Boco:
                        the main problem is that MGE is a different program, so memory offsets are different, the address where Tot place unit structure could be used by MGE to store other things or, even worse, to store binary code: the check is performed to avoid crashes, 'cause if CSPL start writing on a memory address where MGE keeps its code a crash is assured

                        Originally posted by Boco
                        (1) it works only with ToT (some of us don't view that as a hurdle ),
                        Long Life to Tot !!!

                        Originally posted by DarthVeda
                        Why is everybody trying to splash cold water on this?
                        Because it's a complex task! i remember at least two projects of people who contacted me saying they were going to port CSPL under MGE and both gave up soon while trying to find memory addresses under MGE.
                        I'm not putting cold water, i want just be sure that you understand the pandora's vase you're going to open
                        "If it works, it's obsolete."
                        -- Marshall McLuhan

                        Comment


                        • #13
                          Is it very hard to find these memory addresses, I mean how did you go about doing it for ToT?

                          Comment


                          • #14
                            First of all you need to find a good memory dumping program, it's not necessary to have also a full debugger such as SoftIce even if a couple of times (map and attack sections) i used it.

                            When i made Tot version i used Memory dumper pro, but it was shareware with a time limit and so, even if i found it very good, i realized a quick prototype of a dumper (just a prototype since it had a couple of unlabelled buttons and crashed often).

                            Fortunately you don't have to use my dumper since it seems that Memory Dumper Pro's author lacked interest in it and made it freeware, so you can download it from http://www.ptsware.com/

                            Then you have to start MGE, to load a scn game and to open the SCN with an hex editor, you choose the data you want to find, and ask MDP to find that pattern in the memory, the size of the byte string you choose is important: if it's too small you'll have hundreds of matches while if it's too long you can't find it because MGE will probably split it upon SCN load.
                            I found that a good approach was to search "logically" joined entities: all data from a single unit is ok, all data from a single city is ok, a set of bytes of the initial session (the first block in scn) is ok also, since Civ (Tot, but i think also MGE) loads all the initial configuration data in the same place.

                            Then you have to check that the data you find is the data you were searching, so you have to change it at runtime and to check the game to see if it changes coherently.

                            Find all addresses of entities in the SCN file format and you're ready to start coding the library...
                            "If it works, it's obsolete."
                            -- Marshall McLuhan

                            Comment


                            • #15
                              Re: Re: Hey Angelo... CSPL!

                              Originally posted by Angelo Scotto

                              Tell me more, it works on save files, right?
                              Yes, the program is based on load the saved files and does the change in its structure... I've used the HEX-EDIT in Civ2 document a lot, and I've discover minor details about the structure of the saved games that were not in the document (I opened two or three threads about that topic, but they die.... )

                              Basically, whenever a player wants to do a exchange, it load the program, select the kind of exchange he/she wants. The CivDip main program then build a barter file, that can be read again in the receiver's side. If the reciever of the barter accepts it, the Civ2Dip program modifies the save file in order to reflect the changes that both players have agreed about...
                              Trying to rehabilitateh and contribuing again to the civ-community

                              Comment

                              Working...
                              X