Announcement

Collapse
No announcement yet.

Fixing SMACX Bugs

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

  • #61
    There is a whole slew of bugs in regards to morale bonuses in combat.
    See



    You may also be interested in this repeatable reverse-engineering/ security nexus bug




    There is also a bug that causes any player attempting to retire the 1-1-1*1 design to remove that unit for ALL players, and since it is a protected slot, - it doesn't give you extra room anyway.

    I haven't followed the links others have provided, so excuse me if I double up:

    Some links to bugs (some of them are old, and have been fixed)



    This thread is meant to be highlighting a single, interfact bug which is discudded about 1/2 way down - however there are other bugs mentioned too.
    was posted at Apolyton July 18, 2003, and pulled w/in hours of its posting, but not before I copied and saved it to a Word doc. Q: should I post it here, or no? The cheat is due to a game mechanics bug, so highly unlikely ever to be found by even a diehard player. I've never used it myself...


    This one, regarding Lab points may not be considered a bug


    This one is about a limit on specialists:
    Into Alien Crossfire? It has been almost 10 years. Time to update your datalinks.
    Try out my Comprehensive Datalinks Update. Now v1.3!

    Comment


    • #62
      Cheers for info! I can see this project will keep me busy for awhile.

      Originally posted by vyeh View Post
      Enhanced probe team has algorithmic enhancement (this is a ACX addition). Look at manual on ACX disc to see what it is supposed to do. It was added so hunter seeker algorithm didn't end probe combat.

      The bribe isn't correct for units > 3. I believe that it isn't correct for bases > 3.
      Well, I did create enhanced probes but I still couldn't bribe units from factions which have PROBE >=3. Maybe I'm not doing something right? Or is this a bug and they should? I haven't touched anything with how unit mind control works just cities. The same goes with cities and enhanced probes, no effect with high PROBE SE value.

      Originally posted by vyeh View Post
      I wouldn't consider the ability to start a game with 1 alien race a bug. Obviously the game designer wanted both races or none, but if someone wants to play single player as an alien against 6 human factions, it doesn't hurt anyone. Similarly if a group of multiplayers want to have only one alien AI faction, it doesn't hurt anyone else.
      Agreed.

      Originally posted by vyeh View Post
      When Mart or someone puts together a list of bugs, the serious ones are the interceptor bug and the probe rollover bug.
      And both of those are completely fixed. I've finalized fix to right click airdrop and it is working perfectly. Also, I've included WBird784's fix to cvr crash (CareTakers colony pod in design workshop). All credit goes to him (or her) for tracking down function and creating patch data. I haven't heard back from them via pm but hopefully I can get their permission to include the fix with mine.

      Originally posted by Petek View Post
      Set a unit to patrol and give it three waypoints. The unit goes off in some seemingly random direction and is immediately promoted to Elite/Demon Boil status (depending on whether it's human or native life).
      Well, for multiplayer games this is an exploit but from a singleplayer perspective it makes creating three point patrol impossible. I've tracked down location in the code where unit's morale is getting altered. Normally, the morale ranges from 0 (very green) to 6 (elite). The patrol bug is setting it to 100... Yes, 100. Wtf? Atleast there is code that keeps morale within bounds so it gets set to elite. I've still got to figure out what code should be doing but 70% of the problem is just locating it.

      While mucking about trying to locate units morale, I was playing around with internal function "Adding Vehicle(v,who,v2)". This translates into Adding_Vehicle(int unit_type_id, int faction_id, int x_coord, int y_coord). Unit type seems to be fixed (colony pods: 0, formers: 1, etc) so maybe there is a list of all unit id's in one of the text files? Faction id seems to be based on position you initially set factions at start of game. So if you had Angels as first faction, they would be zero and so on. X,y coordinates are pretty self-explanatory. It's just the tile where unit will be created in. A few of the situations where this function gets called are when you use Scenario menu to create an unit and when an unit is produced by a city.

      So, I accidentally set unit type id to 614 (0x266) and this is what it created. Is this one of alien units? I haven't seen it before and it's nameless.

      Last edited by scient; February 15, 2009, 18:36.

      Comment


      • #63
        See attached image. This came from the ACX PDF manual that is on the ACX CD.

        Looks like you found the cloudbase city!

        Seriously, colony pods, formers sounds like equipment (which also includes transport, probe, supply).

        Check alphax.txt, I believe under #WEAPONS:

        #WEAPONS
        Hand Weapons, Gun, 1, 0, 1, -1, None,
        Laser, Laser, 2, 0, 2, -1, Physic,
        Particle Impactor, Impact, 4, 0, 4, -1, Chaos,
        Gatling Laser, Gatling, 5, 1, 5, -1, Super,
        Missile Launcher, Missile, 6, 2, 6, -1, Fossil,
        Chaos Gun, Chaos, 8, 0, 8, -1, String,
        Fusion Laser, Fusion, 10, 1,10, -1, SupLube,
        Tachyon Bolt, Tachyon, 12, 1,12, -1, Unified,
        Plasma Shard, Shard, 13, 2,13, -1, Space,
        Quantum Laser, Quantum, 16, 1,16, -1, QuanMac,
        Graviton Gun, Graviton, 20, 0,20, -1, AGrav,
        Singularity Laser, Singularity, 24, 1,24, -1, ConSing,
        Resonance Laser, R-Laser, 6, 1, 8, -1, Bioadap,
        Resonance Bolt, R-Bolt, 12, 1,16, -1, SentRes,
        String Disruptor, String, 30, 1,40, -1, BFG9000,
        Psi Attack, Psi, -1, 2,10, -1, CentPsi,
        Planet Buster, Planet Buster, 99, 0,32, -1, Orbital,
        Colony Module, Colony Pod, 0, 8,10, -1, None, ; Noncombat packages
        Terraforming Unit, Formers, 0, 9, 6, -1, Ecology,
        Troop Transport, Transport, 0, 7, 4, -1, DocFlex,
        Supply Transport, Supply, 0,10, 8, -1, IndAuto,
        Probe Team, Probe Team, 0,11, 4, -1, PlaNets,
        Alien Artifact, Artifact, 0,12,36, -1, Disable,
        Conventional Payload, Conventional, 12, 0,12, -1, Orbital,
        Tectonic Payload, Tectonic, 0,13,24, -1, NewMiss
        Fungal Payload, Fungal, 0,14,24, -1, NewMiss
        Attached Files
        Unofficial SMAC/X Patches Version 1.0 @ Civilization Gaming Network

        Comment


        • #64
          In regards to interceptor scrambling crash, Petek has told me that some systems were unaffected. Is there anyone that can attack the transport with a chopper using BlackCat's saved game and not have it crash when air scrambling occurs? I'd just like to make sure my patch doesn't cause any problems. I don't see how it could since I'm emulating code which is all over the place to reset these variables. I'm actually curious if someone does have a system where it doesn't crash with vanilla game, what happens if you exit out of the game, restart it and try again. Maybe do this 3-4 times.

          Originally posted by vyeh View Post
          See attached image. This came from the ACX PDF manual that is on the ACX CD.
          Ah, ok. I missed that when I was looking over manuals. Based off that info from manual, I'll check to make sure it is working properly "under the hood". If there are problems with mind control costs using Enhanced Probes, it should be fairly easy to sort.

          Originally posted by vyeh View Post
          Looks like you found the cloudbase city!
          lolz?

          Originally posted by vyeh View Post
          Seriously, colony pods, formers sounds like equipment (which also includes transport, probe, supply).

          Check alphax.txt, I believe under #WEAPONS:

          #WEAPONS
          Hand Weapons, Gun, 1, 0, 1, -1, None,
          ....
          Fungal Payload, Fungal, 0,14,24, -1, NewMiss
          Actually, I was partly wrong so let me clarify. It seems the id value is variable to a saved game. Maybe order in which they were developed? It is just odd that Planet Buster tech I cheated in has a unit id of 261 when I highly doubt there are 260 unique units at this point in the game. So maybe there is some other component. The reason I say it is particular to a saved game is that if I load up another game and cheat in using id of 261, I got like some high tech transport. Oh well, maybe I'll track down how the value is generated if I run into a bug that would require that knowledge.

          Also, it seems that the cloudbase city is "placehold" in case you try to create an unit that doesn't "exist".

          Comment


          • #65
            Maybe it is not unique units. Could it be counting all units in all factions?

            The program does seem to have a table of all bases (when I capture a base, it is inserted into my base operations list according to when it was founded, not when I acquired it).
            Unofficial SMAC/X Patches Version 1.0 @ Civilization Gaming Network

            Comment


            • #66
              Originally posted by vyeh View Post
              Maybe it is not unique units. Could it be counting all units in all factions?

              The program does seem to have a table of all bases (when I capture a base, it is inserted into my base operations list according to when it was founded, not when I acquired it).
              Actually, that sounds reasonable. However there are also gaps. Like 0x265 creates the cloud base. Not going to look into it, plenty of other things.

              I have tracked down and figured out the bug with patrol. Basically, the problem is that three way points causes a value to "shift" upward so values being accessed inside the internal unit structure get messed up. Normally, it should be setting two WORD's with next x and y coordinates but because of the shift the y coordinate gets put inside the morale offset. So if you're moving to (10,100) as your second point and do three waypoints then morale gets set to 100. Because value is greater than 6 (elite) it gets set to elite. And the green waypoint going off into the middle of no where? This is because the offsets inside unit structure never get set for next tile so they're usually (0, 0) thus going to a far off direction.

              The solution? I think there is one byte in structure for waypoints that should be zero offsetted but for some reason is getting set to 3 rather than 2 (0,1,2) for three waypoints. I've been able to get it to work without shifting by manually altering memory when it's setting up waypoint stuff. I've got to do more analysis tho. God, what a mess.

              Of those remotely interested about the internal workings of ACX, here is the unit structure I've written up as notes to myself. It's far from complete but lays out useful bits for me. I actually think a number of unknown bytes within range 0x16 to 0x24 are the different waypoints but I've got to check this.

              edit:
              The struct in original post was a real mess. Here is cleaned up version with cause of bug bolded.

              unit_struct -> offset : size (bytes) : notes
              0x00 : 2 : current x coordinate of unit
              0x02 : 2 : current y coordinate of unit
              0x04 : 4 : unknown (DWORD) <- set on patrol, ranges between waypoints?
              0x08 : 2 : unknown (WORD)
              0x0A : 2 : used in ptr to general unit values (ex. "Drop Neutronium Garrison"), maybe # of moves?
              0x0C : 5 : unknown
              0x11 : 1 : set to const 0x18 on patrol ("moving"/"stationary" toggle?)
              0x12 : 1 : # of waypoints (bugged) -> two waypoints: 0, three waypoints: 2, four waypoints: 3 (it should be 0,1,2)
              0x13 : 1 : unknown -> zeroed at end of patrol function
              0x14 : 2 : x coord of first waypoint
              0x16 : 2 : x coord of second waypoint
              0x18 : 2 : x coord of third waypoint
              0x1A : 2 : x coord of fourth waypoint <- should be the same as 0x00 (if there are three waypoints)
              0x1C : 2 : y coord of first waypoint
              0x1E : 2 : y coord of second waypoint
              0x20 : 2 : y coord of third waypoint
              0x22 : 2 : y coord of forth waypoint <- should be the same as 0x02 (if there are three waypoints)
              0x24 : 1 : current morale (0-6) of unit
              0x25 : 11 : unknown
              0x30 : 4 : set to -1 (0xFFFFFFFF) -> maybe used to determine end of struct?
              As you can see, the support is there to store four points (origin plus three waypoints). If offset 0x11 is set to 1 for two waypoints and 2 for three waypoints everything is happy and gets cake.

              Here is example of it working with three waypoints plus origin (8, 88):


              There is a display bug in vanilla game with two way points (plus origin) that hints at problem. So two points thinks it's three and three points thinks its four which overflows and screws up the unit structure (ie. morale getting set to elite). I didn't even notice display until after the fact.



              How to fix this? I'll have to track down location in code where # of waypoints is being set and see why it's screwing up.
              Last edited by scient; February 16, 2009, 01:42.

              Comment


              • #67
                When using some save, one can enable scenario editor (ctrl + K) and then there are additional info displayed in the game in few places.
                An example, below I created one additional hive unit and gave it an order to attack gaian rover. Confirm odds before attacking was on, so I could see the screen, scenario editor showed also some ID? 562, for hive scout and 476 for gaian rover.
                It could help understand some variables.
                Attached Files
                Last edited by Mart; February 16, 2009, 04:50.
                Mart
                Map creation contest
                WPC SMAC(X) Democracy Game - Morganities aspire to dominate Planet

                Comment


                • #68
                  Attached are 2 save files in one zip, years 2200 and 2250, easier to see advanced things in game.
                  Attached Files
                  Mart
                  Map creation contest
                  WPC SMAC(X) Democracy Game - Morganities aspire to dominate Planet

                  Comment


                  • #69
                    Originally posted by scient View Post

                    So, I accidentally set unit type id to 614 (0x266) and this is what it created. Is this one of alien units? I haven't seen it before and it's nameless.
                    ...
                    This unit is one of the special icons, that afaik there can be 9 (0-8). They are in "Units.pcx" file. There is:

                    0 - icon you can see in attached image (cloud city). Apparently a remnant from creating alien crossfire, when it was intended to use, but later canceled. Darsnan wrote about it before (his guess?). Now we just have an additional special icon to play with in scenarios for our pre-defined units.

                    1 - fungal tower
                    2- alien artifact
                    3 - mindworm
                    4 - sealurk
                    5 - spore launcher
                    6 - battle ogre
                    7 - missile
                    8 - xx missile

                    Note, that in vanila smac the file is different, this above comes from planetary pack instal.

                    See the alphax.txt entries for pre-defined units, this where these icon id can be used:

                    Sealurk, Foil, Psi, Psi, 6, 6, 0, CentPsi, 4, 00000000000000000001000000
                    Spore Launcher, Infantry, Psi, Psi, 0, 5, 0, Bioadap, 5, 00000000001000000000000000
                    Battle Ogre MK1, Infantry, R-Laser, 3-Res, 0,10, 0, Disable, 6, 00010000000000000000000000
                    Battle Ogre MK2, Infantry, R-Bolt, 8-Res, 0,15, 0, Disable, 6, 10010000000000000000000000
                    Battle Ogre MK3, Speeder, String, Stasis, 0,20, 0, Disable, 6, 10010000000000000000000000
                    Fungal Tower, Infantry, Psi, Psi, 3, 0, 0, Disable, 1, 00000000000000000000000000
                    Unity Mining Laser, Infantry, Laser, Scout, 0, 0, 0, Disable, -1, 00000000000000000000000000

                    Note, -1 is default icon, that is assembled from caviar files.

                    Regarding why this "cloud city" (icon 0) appeared, my guess is that when for some reason the game cannot find appropriate caviar files assembly it defaults to icon 0.

                    For explanation of alphax.txt entries see the manual on SMAC Academy:
                    Last edited by Mart; February 16, 2009, 04:51.
                    Mart
                    Map creation contest
                    WPC SMAC(X) Democracy Game - Morganities aspire to dominate Planet

                    Comment


                    • #70
                      Repair ability bug

                      Attached is save file with 2 sea transports, one with repair on tile 34,64, another without.
                      They are near Hive and Sea Hive bases, save should show cursor on repair unit when loaded.

                      There are 2 scouts onboard, 70 % damaged both.
                      I also destroyed Nano factory SP, as it gives repair ability everywhere.

                      When advancing from 2242 to 2243, both scouts heal to the same 50% damage.
                      Apparently repair ability does not work.
                      Attached Files
                      Mart
                      Map creation contest
                      WPC SMAC(X) Democracy Game - Morganities aspire to dominate Planet

                      Comment


                      • #71
                        SMACX bug list compilation

                        This is first version of the list.
                        Just started, so there is only few of them. I also inserted descriptions from SMAC Academy and Chaos Theory post, for reference only, our list is built using this info.
                        Still a lot to do in this document.

                        For review of anyone interested.
                        If you plan to add to it, please, either attach here/send it to me in a separate file or when inserting into this document, mark your fragment, notes etc. so we do not branch this list into numerous sub-versions.

                        My email:
                        xxxmarcin777
                        take out three xs, and the rest is gmail.

                        For now, the list gives classification of the issue. I thought about few categories, but if you think of better categories, please write.
                        Attached Files
                        Last edited by Mart; February 16, 2009, 04:52.
                        Mart
                        Map creation contest
                        WPC SMAC(X) Democracy Game - Morganities aspire to dominate Planet

                        Comment


                        • #72
                          Mart,

                          Could we add the bugs involving ecodamage and morale and children's creche to your list?
                          Unofficial SMAC/X Patches Version 1.0 @ Civilization Gaming Network

                          Comment


                          • #73
                            Originally posted by vyeh View Post
                            Mart,

                            Could we add the bugs involving ecodamage and morale and children's creche to your list?
                            Yes, write them in separate file, or modify the file attached above inserting bugs somewhere before SMAC Academy.
                            Then I will enter them to the list above.
                            ------
                            The list is just started, this thread has many bugs references I still need to insert.
                            Mart
                            Map creation contest
                            WPC SMAC(X) Democracy Game - Morganities aspire to dominate Planet

                            Comment


                            • #74
                              Cheers for starting a list! It looks good. One thing you might add is links to any saved games which might demonstrate the bug like in the case of air scrambling the one Black Cat posted. Petek posted few for some of the rarer bugs as well.

                              I'm glad to say the "instant elite morale" and three waypoint patrol are now 100% fixed.

                              I located the code where it stores a variable which increments on spacebar hit. So, if you select patrol and drag and drop to one point without hitting spacebar it would correctly set # of waypoints to 0. However, once you start hitting spacebar it goes 1,2,3 when like I said before it should be 0,1,2. I injected a check inside patrol struct setup to decrement 1 from # of waypoints if it is greater than 0 so as not to interfere if someone didn't use spacebar. Yay! While I'm at it, I'm going to check various "go to" code since it's all together. I know the "go to" using waypoints has incorrect display like in screenshot above. And maybe I can see if I can get units not to stop when passing through a city.

                              Comment


                              • #75
                                Originally posted by mart View Post
                                yes, write them in separate file...
                                Then i will enter them to the list above.
                                Attachment has eco-damage exploit and children's creche and morale serious bug.
                                Attached Files
                                Last edited by vyeh; February 16, 2009, 12:28.
                                Unofficial SMAC/X Patches Version 1.0 @ Civilization Gaming Network

                                Comment

                                Working...
                                X