Announcement

Collapse
No announcement yet.

The best of all worlds...

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

  • During our MP game we were discussing why you couldn't buy PW since you can buy everything else in the game. Shouldn't be cheap though.

    Comment


    • I dont think it will be hard at all to introduce this in diplomacy.
      We could replace the offer/request "Reduce Nano Weapons" (can be other but i believe this one is so unused) for "give PW". It is quite easy.

      Same thing with the buoilding.
      But both has to be done through slic
      "Kill a man and you are a murder.
      Kill thousands and you are a conquer.
      Kill all and you are a God!"
      -Jean Rostand

      Comment


      • Originally posted by ahenobarb


        I've noticed the same thing. There are no AI forts anywhere on the map. Has this been fixed in the interim? My version of Cradle is not the latest, it's probably 3-4 versions behind.
        I rescind my statement. I recently received the Global Satellite and found one civilization at the North Pole had connected a few cities with roads made possible by building forts. They weren't doing it at the equator, where I was.

        Comment


        • Message boxes for more information like civ2

          As well as including message boxes such as the one Pedrunn made for barbarians eg Barbarian uprising near Cityname. and message boxes for richest civilization or most powerful like civ3 and civ2.

          I think HotW should also have message (like civ2) where if an another civ changes government it says something like

          "Spies report the people of France have overthrown ther facist government and are now in monarchy"

          Or however you want to word it. I loved getting info like this in civ2. Maybe if you didnt like this you could make it so you only got messages like this after the discovery of nationalism. But i dont think this is necessary as there have been spies friom the begining of time in one form or another

          P.S. And message box saying "The americans capitol of washington has been captured by the Babylonians"
          AND
          "The Americans have changed there capitol to New York"
          for when a civ changes there capitol

          Message boxes like this would REALLY add to game in my opinion.
          Oxygen should be considered a drug
          Tiberian Sun Retro
          My Mod for Tiberian Sun Webmaster of
          http://www.tiberiumsun.com

          Comment


          • increase the niumber of message box is easy. Give us some ideas.

            I once had an idea to an world report mesage box every 10 turns.
            Wich was going to give important info well divided among the buttons like religion (from my code), trade (how much gold you get from trade, etc), leaders (who is the militay, trade, science, population), diplomacy, etc....
            The idea is still only in my head
            "Kill a man and you are a murder.
            Kill thousands and you are a conquer.
            Kill all and you are a God!"
            -Jean Rostand

            Comment


            • Originally posted by Pedrunn
              increase the niumber of message box is easy. Give us some ideas.

              I once had an idea to an world report mesage box every 10 turns.
              Wich was going to give important info well divided among the buttons like religion (from my code), trade (how much gold you get from trade, etc), leaders (who is the militay, trade, science, population), diplomacy, etc....
              The idea is still only in my head
              You might find this very difficult. I recently undertook two little project to fix som annoyances.

              1. I moved the Pollution Total number from the Status Tab to the Specialists Tab in the City Management screen (I did this so I could see the effect on total pollution when I assign new workers to different tasks). The up side is that it worked, the downside is that this required Hex editing.

              Original CTP2 screenshot here: http://apolyton.net/dir/index.php?si...s=3759&cat=197

              Mission accomplished!

              2. An even larger problem was that I wanted to add a shortcut button to the City Management screen in the National Manager screen, instead of just the Build Manager. As it is now if you are looking at the NatMan and want to adjust workers, you have to go to Build manager, then city manager, then the Specialists tab, and check that status tab to see the effect on pollution.

              screenshot here: http://apolyton.net/dir/index.php?si...s=3759&cat=197

              I have added the button to the National Manager screen, no problem, but getting it to function is another matter. This requires Hex editing too and it is very very difficult, I haven't succeeded in this yet (I stopped working on it 2 weeks ago, but hope to resume at some point).

              The problem it that there are only two function calls to display the City Mananger (One in the shortcut bar at the bottom and the other in the Build Manager), if you move it, you lose it in one place (I'm choosing to lose the one in build manager). However, the placement of the function calls are determined by the modules in the original compile of the game (whatever.cpp) The City Manager and the Build Manager seem to come from different files (If I remember correctly).

              Mission in doubt at the moment.

              Also, when Hex editing the total ctp2.exe file cannot exceed by a single bit a predetermined number, which I can post later tonight.

              Comment


              • The up side is that it worked, the downside is that this required Hex editing.
                1)Could you be more specific. What worked and what needed Hex editing?

                I have added the button to the National Manager screen, no problem, but getting it to function is another matter.
                2) Luckly (really luckly), I think we can do it through slic. Attach the changed ldl file screen and tell me in wich line the button is. We can give this a shot.
                "Kill a man and you are a murder.
                Kill thousands and you are a conquer.
                Kill all and you are a God!"
                -Jean Rostand

                Comment


                • Originally posted by Pedrunn

                  1)Could you be more specific. What worked and what needed Hex editing?


                  2) Luckly (really luckly), I think we can do it through slic. Attach the changed ldl file screen and tell me in wich line the button is. We can give this a shot.
                  I'll try to clarify:

                  1) I successfully moved the Pollution Total number from the Status screen to the Specialists screen. This required 2 steps.

                  a) editing the .ldl to add a pollution row to the Specialists screen, which requried moving the other rows closer together -- easy enough.

                  b) Hex editing the ctp2.exe in order to have the actual total number (the variable) displayed in the Specialist Tab instead of the Status Tab.

                  I can share a screenshot when I get home and I'll give you the name of the variable that stores the total.

                  task one was therefore a success.

                  2) Out of sheer frustration, I have set aside SLIC for the time being (although I found a really good SLIC tutorial that Locutus put together that I want to spend some time with), so I can't speak to its full capabilites although I have a general knowledge of what it can do. But in looking at .exe file, I'm not optimistic that SLIC can add a functional button to another CTP2 screen. Theoretically copying CTP2 values (Total Gold, Total Pollution, etc.) to new variables for display in a custom created CTP2 menu may be possible. But, adding values to existing CTP2 screens requires HEX editing.

                  Regarding the total size of the CTP2.exe file, I can send the total bytes later tonight. However, if you right click the .exe and check properties it will tell you the value. If it is more or less than this, the file won't function (you can tell you've broken it when the CTP2 icon disappears and is replaced by a generic MS icon).

                  I had hoped to share this with everyone once I had the "City Manager" button working in the NatMan screen. But, no luck --so far.

                  Just a final note in case there is/was confusion, the screenshots I linked to before were provided so that it was possible to see the screens I was discussing without having to visualize them. They are not the ones I have modified.

                  Comment


                  • ahenobarb I think you need to some nice hack tools to fix the ctp2.exe afterwards, unfortunatly adding stuff is very difficuilt if you don't have the source code, but such minor stuff is possible, maybe it is just one typo that cause the Sea City Sprite Bug for instance. To breack the sprite limits should be possible in the same way.

                    And by the way here is a list of CTP2 *.cpp files.

                    Code:
                    C:\ctp2-src\ctp2_project\ctp2_code\gfx\spritesys\directorevent.cpp
                    C:\ctp2-src\ctp2_project\ctp2_code\gs\gameobj\ArmyEvent.cpp
                    C:\ctp2-src\ctp2_project\ctp2_code\gs\gameobj\CityEvent.cpp
                    C:\ctp2-src\ctp2_project\ctp2_code\gs\gameobj\combatevent.cpp
                    C:\ctp2-src\ctp2_project\ctp2_code\gs\gameobj\Events.cpp
                    C:\ctp2-src\ctp2_project\ctp2_code\gs\gameobj\EventTracker.cpp
                    C:\ctp2-src\ctp2_project\ctp2_code\gs\gameobj\FeatTracker.cpp
                    C:\ctp2-src\ctp2_project\ctp2_code\gs\gameobj\GaiaController.cpp
                    GameObj_Insert.cpp
                    GameObj.cpp
                    C:\ctp2-src\ctp2_project\ctp2_code\gs\gameobj\improvementevent.cpp
                    C:\ctp2-src\ctp2_project\ctp2_code\gs\gameobj\PlayerEvent.cpp
                    C:\ctp2-src\ctp2_project\ctp2_code\gs\gameobj\tradeevent
                    C:\ctp2-src\ctp2_project\ctp2_code\gs\gameobj\UnitEvent.cpp
                    C:\ctp2-src\ctp2_project\ctp2_code\gs\utility\TurnCntEvent.cpp
                    C:\ctp2-src\ctp2_project\ctp2_code\gs\world\worldevent.cpp
                    Token.cpp
                    C:\ctp2-src\ctp2_project\ctp2_code\net\general\networkevent.cpp
                    C:\ctp2-src\ctp2_project\ctp2_code\ui\aui_ctp2\SelItemEvent
                    C:\ctp2-src\ctp2_project\ctp2_code\ui\interface\MainControlPanel.cpp
                    C:\ctp2-src\ctp2_project\ctp2_code\ui\interface\interfaceevent
                    C:\ctp2-src\ctp2_project\ctp2_code\ui\interface\armymanagerwindow.cpp
                    C:\ctp2-src\ctp2_project\ctp2_code\ui\interface\diplomacywindow.cpp
                    C:\ctp2-src\ctp2_project\ctp2_code\ui\interface\dipwizard
                    C:\ctp2-src\ctp2_project\ctp2_code\ui\interface\trademanager.cpp
                    C:\ctp2-src\ctp2_project\ctp2_code\ui\interface\unitmanager.cpp
                    C:\ctp2-src\ctp2_project\ctp2_code\sound\soundevent.cpp
                    C:\ctp2-src\ctp2_project\ctp2_code\ai\diplomacy\DStateEvent.cpp
                    C:\ctp2-src\ctp2_project\ctp2_code\ai\diplomacy\MotivationEvent.cpp
                    C:\ctp2-src\ctp2_project\ctp2_code\ai\diplomacy\NProposalEvent.cpp
                    C:\ctp2-src\ctp2_project\ctp2_code\ai\diplomacy\ProposalResponseEvent.cpp
                    C:\ctp2-src\ctp2_project\ctp2_code\ai\diplomacy\ReactEvent.cpp
                    C:\ctp2-src\ctp2_project\ctp2_code\ai\diplomacy\RegardEvent.cpp
                    C:\ctp2-src\ctp2_project\ctp2_code\ai\diplomacy\RejectResponseEvent.cpp
                    C:\ctp2-src\ctp2_project\ctp2_code\ai\diplomacy\ResponseEvent.cpp
                    C:\ctp2-src\ctp2_project\ctp2_code\ai\diplomacy\SStateEvent.cpp
                    C:\ctp2-src\ctp2_project\ctp2_code\ai\diplomacy\ThreatResponseEvent.cpp
                    C:\ctp2-src\ctp2_project\ctp2_code\ai\CtpAi.cpp
                    Source ctp2.exe. That is a lot of stuff that you can find in the ctp2.exe in ASCII text.

                    -Martin
                    Civ2 military advisor: "No complaints, Sir!"

                    Comment


                    • C:\ctp2-src\ctp2_project\ctp2_code\ai\CtpAi.cpp
                      Wish I could get my hands on THAT one! :sigh:

                      Comment


                      • Here is the screenshot of the Pollution field. The .ldl file to change is citywindow.ldl

                        The variable to search for in your HEx editor is PollutionTotalLabel
                        When you find it, you need to change it

                        from:

                        Tabs.Statistics.TabPanel.PollutionTotalLabel

                        To:

                        Tabs.Specialists.TabPanel.PollutionTotalLabel

                        You will notice the second is 1 byte longer, so I went out into the empty space right after the label and delete the second blank (I think, it's been a while). It works with no problems.

                        It should be noted however that both Tabs.Statistics (The Status Tab) and Tabs.Specialists fall under Unitmanager.cpp in the .exe file. This is important for the second change I want to make (I think).
                        Attached Files
                        Last edited by ahenobarb; October 2, 2002, 09:35.

                        Comment


                        • The second change I want to make is trickier. As you can see I added the button no problem. This is done in Citystatus.ldl under CityStatusWin.

                          However, the function of the button is contained in two different hardcoded variables:

                          1) GotoCityButton. This is the function call in the Build Manager screen that tells the program to bring up the City Manager screen. The text formatting associated with this function call, i.e. the button, is in citystatus.ldl and in the CTPII.exe file this function call is under the dipwizard.cpp file.

                          2) CityManagementButton. This is the function call in the Control Panel that brings up the City Manager screen from there. The text formatting associated with this function call, i.e. the button, is in the controlpanel.ldl file and in the CTPII.exe this is function call under the maincontrolpanel.cpp file.

                          In #1, I was just moving a variable from one place in unitmanager.cpp to a different tab. CityStatusWin in the CTPII.exe however is found under the unitmanager.cpp file. So it looks like in Step #2 I am trying to move a variable from one .cpp file to another, which I don't think is possible. I tried several things with no luck. I still plan to give it another look at some point.

                          If anyone is interested, I'll share the modified .ldl files.
                          Attached Files
                          Last edited by ahenobarb; October 2, 2002, 09:42.

                          Comment


                          • AN IDEA!! for culture!!!!

                            Wow ahenobarb its cool how your adding these buttons to the GUI

                            I was wondering if it were possible to add a button (which popped up with a message box that could be created through SLIC maybe?) or a tab in the city screen which displayed culture.

                            It would be very good if this could be possible
                            Oxygen should be considered a drug
                            Tiberian Sun Retro
                            My Mod for Tiberian Sun Webmaster of
                            http://www.tiberiumsun.com

                            Comment


                            • Re: AN IDEA!! for culture!!!!

                              Originally posted by SMIFFGIG
                              Wow ahenobarb its cool how your adding these buttons to the GUI

                              I was wondering if it were possible to add a button (which popped up with a message box that could be created through SLIC maybe?) or a tab in the city screen which displayed culture.

                              It would be very good if this could be possible

                              For an existing menu, visually this would be very easy. The .ldl files allow you to pretty much change/add/delete/move anything you want about the GUI visually.

                              Functionally is another matter. You can add buttons and so forth to the screens, they will click, but nothing will actually happen (no culture screen will pop-up) unless it is linked to a specific function in the CTPII.exe file.

                              I am optimistic that with SLIC you can create a custom or user created menu, and tell that menu what to do when certain buttons are clicked. It seems, that custom menus are the way to go for a culture screen. The .SLC code would need to tell it to pop-up every 10 turns or so so you could see it.

                              I will continue to play around with the menus to test the limits of customization and hopefully there will be some breakthrough. I should learn SLC first though.

                              Comment


                              • Functionally is another matter. You can add buttons and so forth to the screens, they will click, but nothing will actually happen (no culture screen will pop-up) unless it is linked to a specific function in the CTPII.exe file.
                                No! There is a way to make a slic code trigger when pressing UI componesnts and the same way i was going to use to open the city manager but unfortunetly there is no OpenCityManage() like function. So it is possible to do what you intend, Big Mc.
                                Here are some examples of slic codes triggered by slic:
                                NewDiplomod: Triggered when hitting the treaties tab in the make proposal screen
                                Code:
                                trigger 'NewTreatyDataFollowingProp' on "DipWizard.Stage2.Tabs.Treaty.TabPanel" when (1) {//secondary proposal
                                int_t second_type; // following proposal
                                    message(g.player,'TreatyLength');
                                }
                                Locutus PBEM fix:Triggered when hitting the wheel diplomatic button.
                                Code:
                                Trigger 'PBEM_test' on "ControlPanelWindow.ControlPanel.ShortcutPad.DiplomacyButton" when (1) {
                                	PBEM_opponent = 2;
                                	player[3] = PBEM_opponent;
                                	Message(g.player, 'PBEM_Start_M');
                                }
                                Mine PBEM fix: Triggered when hitting the wheel diplomatic button. The accept and reject proposal button
                                Code:
                                Trigger 'PBEM_CheckMessages' on "ControlPanelWindow.ControlPanel.ShortcutPad.DiplomacyButton" when (1) {
                                int_t sucess;
                                int_t i;
                                int_t tmpPlayer;
                                	tmpPlayer = g.player;
                                	Sucess = 1;
                                	i = 0;
                                	while(i < PBEM_HasBeenSent.#) {
                                		if(PBEM_HasBeenSent[i] == 0) {
                                			if(PBEM_Response[i] == 0 
                                			&& tmpPlayer == PBEM_receiver[i]) {
                                				PBEM_TMP_Response = 0;
                                				PBEM_CanSendProposal = 1;
                                				PBEM_PreventLoop = 1;
                                				ConsiderNewProposal(PBEM_Sender[i], PBEM_receiver[i], 2000, PBEM_Proposal[i],0,ID_NONE,ID_NONE,ID_NONE); 
                                				Event: NewProposal(PBEM_Sender[i], PBEM_receiver[i]);
                                				PBEM_HasBeenSent[i] = 1;
                                				return STOP;
                                			}
                                		}
                                		i = i + 1;
                                	}
                                }
                                
                                trigger 'PBEM_ProposalRejected' on "DipWizard.ViewButtons.RejectButton" when (1) {
                                int_t ProposalType;
                                int_t tmpPlayer;
                                	tmpPlayer = g.player;
                                	ProposalType = GetLastNewProposalType(PBEM_TMP_Sender, tmpPlayer, 0);	
                                	toreDiplomacyEvent(PBEM_TMP_Sender, tmpPlayer, PBEM_TMP_Proposal, 1);
                                	message(PBEM_TMP_Sender, 'PBEM_ProposalRejectedMSG');
                                }
                                
                                trigger 'PBEM_ProposalAccepted' on "DipWizard.ViewButtons.AcceptButton" when (1) {
                                int_t ProposalType;
                                int_t tmpPlayer;
                                	tmpPlayer = g.player;
                                	ProposalType = GetLastNewProposalType(PBEM_TMP_Sender, tmpPlayer, 0);	
                                	StoreDiplomacyEvent(PBEM_TMP_Sender, tmpPlayer, PBEM_TMP_Proposal, 2);
                                	message(PBEM_TMP_Sender, 'PBEM_ProposalRejectedMSG');
                                }
                                All this codes tested and working (at least the trigger).
                                So it is possible to trigger codes and messages when pressing buttons and others UI componests.
                                Last edited by Pedrunn; October 2, 2002, 23:13.
                                "Kill a man and you are a murder.
                                Kill thousands and you are a conquer.
                                Kill all and you are a God!"
                                -Jean Rostand

                                Comment

                                Working...
                                X