Announcement

Collapse
No announcement yet.

1.61Patch out!

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

  • #61
    Originally posted by Sir Ralph
    The SDK largely compiles, I get 1 error and 615 warnings. Firaxis using deprecated functions, how reactionary... (There you have your complaint Zoid )

    The error says "error C2665: 'boost::python::detail::make_getter' : none of the 3 overloads could convert all the argument types" - I'll check what that is.
    [Warning! C++ spoken here!]

    From my (admitedly somewhat limited) understanding of C++, this error just indicates that function "make_getter" (in class detail in class python in class boost) was called with arguments that don't match any of the "make_getter" argument type lists that are available. I.E., the types of the arguments don't match function detail::make_getter's declared argument types, nor do they match the versions of "make_getter" further up the class chain (i.e., not the versions in "python" or "boost" either).

    There are two solutions for this:

    1. Add a new version of "make_getter" that matches the argument types of that function at the line it complains about. You would add the new version of the function in the definition of class "detail" (the "lowest" level).

    2. (More efficient) Look at the argument types of function "make_getter" in class "detail" and compare those types to the types of each of the arguments passed at the line with the error. Likely a C++ "cast" can be used to tell the compiler that the apparently "wrong" types are really OK. Worst case, you need a conversion of one of the arguments to a compatible type.

    #2 takes more research and understanding of the classes and types, but is usually the more efficient way to fix the error. Adding new overloaded definitions of a function adds more overhead than some argument type conversions (unless it is called from dozens of places, in which case a new version of the function is more efficient).

    Just my USD$0.02 worth. Downloading now, and another project I haven't worked on for a while needs VC-2005 anyway, so maybe I'll give it a whack.

    smacfan

    P.S. --



    Yay! The patch AND the SDK are HERE!

    Comment


    • #62
      Boost is a pretty common class library. You can't simply change things there, that would be similar to changing things in the standard template library. Around the template in question is a #if/#endif, which limits the compiler version to at most MS C 13.00, while VC++ 2005 has 14.00. If the boost developers (which are NOT Firaxis) did this, and even named the macro BOOST_WORKAROUND, you don't want to fiddle with it without knowing the consequences for the whole library (which is huge).

      Comment


      • #63
        Originally posted by Sir Ralph
        Boost is a pretty common class library. You can't simply change things there, that would be similar to changing things in the standard template library. Around the template in question is a #if/#endif, which limits the compiler version to at most MS C 13.00, while VC++ 2005 has 14.00. If the boost developers (which are NOT Firaxis) did this, and even named the macro BOOST_WORKAROUND, you don't want to fiddle with it without knowing the consequences for the whole library (which is huge).
        Like I said, limited understanding here. I didn't even know that boost is a common class library.

        In which case, my #2 may be the method of choice. I would never mess with someone else's class library if I could avoid it.

        Definitely more research called for though, as indicated by the #ifdef.

        smacfan

        Comment


        • #64
          Originally posted by Sir Ralph
          Boost is a pretty common class library. You can't simply change things there, that would be similar to changing things in the standard template library. Around the template in question is a #if/#endif, which limits the compiler version to at most MS C 13.00, while VC++ 2005 has 14.00. If the boost developers (which are NOT Firaxis) did this, and even named the macro BOOST_WORKAROUND, you don't want to fiddle with it without knowing the consequences for the whole library (which is huge).
          Indeed, in all likelyhood Boost will have fixed the issue by the time Warlords is released. Until then, this is the way it'll have to be...
          Administrator of WePlayCiv -- Civ5 Info Centre | Forum | Gallery

          Comment


          • #65
            I'll probably compile it at work, where I have a 2003, or use the mentioned freeware command line compiler with a makefile. I can't really be bothered to install CodeBlocks.

            Comment


            • #66
              For those of you wondering what took the patch "Soooo long", I can attest to one test case they missed - the "right-click changes your researched tech" bug is back in.

              When you right-click to investigate a tech, it selects it as the tech being researched. Thus wiping out any previous selections you had so ever carefully queued up.

              There has got to be a better way to queue techs than this. I'd give up real estate to put in a "city screen" queue or something.

              Tom P.

              Comment


              • #67
                Affects how strong a hit from a wounded unit is. If a Knight (str 10) is wounded and is at 6/10, his hit will be 8 strong. To contrast, in 1.52 it would be 6, and in 1.00 or 1.09 it would be 6.


                Err Solver, wouldn't that be '10' in 1.52.
                Is God willing to prevent evil, but not able? Then he is not omnipotent. Is he able, but not willing? Then he is malevolent. Is he both able and willing? Then whence cometh evil? Is he neither able nor willing?
                Then why call him God? - Epicurus

                Comment


                • #68
                  time slows down as you run through the ages though, doesn't it?

                  years between turns drops drastically through the ages I mean.

                  #edit: I thought I quoted the original post...

                  (in reference to horses being moved to classical, and the effect)

                  ...

                  as per the code error... it could very well be that someone mistyped something, and mixed a few overloaded functions in their head to produce the new one that doesn't exist...

                  too many overloaded functions tend to mean it wasn't written correctly the first 3-4 times, and no ones bothered to fix it.
                  Last edited by MadDjinn; April 14, 2006, 01:56.

                  Comment


                  • #69
                    This announcement is better than the Easter bunny and the choco eggs!

                    Comment


                    • #70
                      Originally posted by smacfan
                      [Warning! C++ spoken here!]

                      From my (admitedly somewhat limited) understanding of C++, this error just indicates that function "make_getter" (in class detail in class python in class boost) was called with arguments that don't match any of the "make_getter" argument type lists that are available. I.E., the types of the arguments don't match function detail::make_getter's declared argument types, nor do they match the versions of "make_getter" further up the class chain (i.e., not the versions in "python" or "boost" either).

                      There are two solutions for this:

                      1. Add a new version of "make_getter" that matches the argument types of that function at the line it complains about. You would add the new version of the function in the definition of class "detail" (the "lowest" level).

                      2. (More efficient) Look at the argument types of function "make_getter" in class "detail" and compare those types to the types of each of the arguments passed at the line with the error. Likely a C++ "cast" can be used to tell the compiler that the apparently "wrong" types are really OK. Worst case, you need a conversion of one of the arguments to a compatible type.

                      #2 takes more research and understanding of the classes and types, but is usually the more efficient way to fix the error. Adding new overloaded definitions of a function adds more overhead than some argument type conversions (unless it is called from dozens of places, in which case a new version of the function is more efficient).

                      Just my USD$0.02 worth. Downloading now, and another project I haven't worked on for a while needs VC-2005 anyway, so maybe I'll give it a whack.

                      smacfan

                      P.S. --



                      Yay! The patch AND the SDK are HERE!
                      At this moment people just want to compile the code, not debug it.

                      Comment


                      • #71
                        Exactly.

                        I had to reinstall it in order to apply the patch, since I had some weird version installed. This time I installed it in German instead of English (first installation). From what I have seen so far, the German localization is excellent. Even Spocks replacement is great. After having seen the horrors of Oblivion (literally!) it was a very pleasant experience. Big thumbs up (yea, belated, should've noticed that right after release).

                        Comment


                        • #72
                          I don't know yet how many of the changes are for good or bad, but I do know that this update crapped my configuration AGAIN!

                          How hard can it be to provide a patch that keeps your configuration settings?

                          PS: Does anyone know if 1.61 can be applied to 1.0 or do you have to install 1.52 first?

                          Comment


                          • #73
                            I still need to give tese changes a try but the in game emailer which used to work now crashes my machine.

                            Comment


                            • #74
                              Originally posted by Mickeyj
                              I still need to give tese changes a try but the in game emailer which used to work now crashes my machine.
                              that is a shame... yet is working fine on my system
                              Gurka 17, People of the Valley
                              I am of the Horde.

                              Comment


                              • #75
                                I'm wondering if its because I'm the first player in the round to be on 1.61 and hoping it will work next time around.

                                Comment

                                Working...
                                X