Results 1 to 21 of 21

Thread: Idea for the 56y bug

  1. #1

    Default

    Hello
    I have an idea how to fix this bug. I don't have the VI, have no too mutch time to play now and cannot try this at home.
    It's the following:
    So far I see it's hardcoded in the game, that every general die at the age 56. This means that this age is somewhere in a binary file, maby in the the Vikings Invasions .exe file.
    You could try to open this file with Hex Editor and to search for 00 00 00 38
    00 00 00 38 is in hexadecimal system = 56 in decimal system
    make first a backup copy of the file
    then open the file with the hex editor and find how many times can you see this in the file. If you have luck, on of these is the dying age of the generals.
    Try to replace the 38(hex) with 46(hex) = 70(decimal)
    Then start the game and see if your generals could live more than this age(to 70 years). If yes you found a solution, if not(the game crashes or nothing happen), take the backup copy and replace on the another place 38 with 46.
    If you have succes this means, that not only the kings, nut all generals will die to the 70 years. I think this is not so bad and will be more playable than now.
    Try this if you have some experience with the hex editors. (If you don't have an idea what a hex editor is, better not trying this).
    If somebody is found a solution, it will be possible to create a small patch, who change the age in the .exe file.

    I don't know will this idea work or not. There is at least 20% chance to work. It's possible, that the age is not stored in this format, or it is stored in another binary file. But I'm only shure the age is not crypted and if you know where to search it, you can change it. It is possible also, that there is a copy protection, which check if the file is changed or not. In this case if you change something you will be unable to start the game after this.

    Hope this will help somebody. Sory for my bad english, but he is not my mother language.

  2. #2
    Senior Member Senior Member Demon of Light's Avatar
    Join Date
    Jan 2003
    Location
    San Diego, California, United States of America, North America, Western Hemisphere, Terra, Sol Planetary System, Milky Way Galaxy
    Posts
    2,291

    Default

    I liked your idea so much that I copied it to two threads in the Dungeon.

    Worth noting that the operative number isn't likely to be 56 but rather 40. Same principle though. Sounds like a plan. (I hope)All we need to know is what 40 is in binary.

    Why 40? Kings die at 56 because they mature at 16 and die 40 years later. 40 years is the life span of any general and that includes heirs who later become kings.
    The surest way to lose the respect of one's peers is to take a stand on principle...alone.

  3. #3

    Default

    Hi
    It could be 40 too.
    I was the programmer, who wrote this, I would preffer, that it was 56. But 40 is also possible.
    If so try to search for
    00 00 00 28 instead for 00 00 00 38
    Everything else is the same.
    It shouldn't be no more than 5 or 6 places in the .exe where you will found this.

    Report if it works or not, I could give some more advice.

  4. #4
    Member Member Rocket_Boy's Avatar
    Join Date
    Jul 2002
    Location
    N. Ireland
    Posts
    252

    Default

    Sounds like a good idea goscho, however my own and I suspect many others main 'beef' with the 56yo bug is not that 56 is too young (although it is a bit) but that you know when your king will die.
    On the other hand though raising the age to 70 will help stop ai factions dying out so easily so if you can get it working, I applaud you.

  5. #5
    Member Member Portuguese Rebel's Avatar
    Join Date
    Feb 2003
    Location
    Portugal
    Posts
    1,401

    Default

    Quote Originally Posted by [b
    Quote[/b] ]Sounds like a good idea goscho, however my own and I suspect many others main 'beef' with the 56yo bug is not that 56 is too young (although it is a bit) but that you know when your king will die.
    Yes, that is exactly it. But just to give the AI factions a chance to make it would be nice.
    Legacy for the airwaves.

  6. #6

    Default

    As I read in the forum after a general is over 55, there is a % chance every year to die. If so, it will be possible that they die before age 70
    And I can't try it, because I don't have the VI
    Have no mutch time to play and too mutch work on my job
    Somebody else must try this.
    You must download a hex editor - try typing download hex editor in google.
    There are many freeware and shareware and one is less than 1 MB to download.
    Install one and open the exe file and search about the bynari combinatin I wrote.

    If someone figure out where the code is (maby one of the developers could help us a little bit about this) and this really works we could create a small patch who correct this problemm for all.

  7. #7
    The Lordz Modding Collective Senior Member Lord Of Storms's Avatar
    Join Date
    Jan 2003
    Location
    Paisley,Florida
    Posts
    2,302

    Default

    I found a code line in the Medieval CFG file that matched and edited it as per your instructions but no joy, I could not find any other entries in any of the other files, but I will try the latest suggestion. LOS
    Taking life one day at a time!

  8. #8

    Default

    Quote Originally Posted by [b
    Quote[/b] (Lord Of Storms @ July 16 2003,11:00)]I found a code line in the Medieval CFG file that matched and edited it as per your instructions but no joy, I could not find any other entries in any of the other files, but I will try the latest suggestion. LOS
    In the .cfg files the format could be very different that this I was suggested. This format 00 00 00 38 or 00 00 00 28 is for executable files such as the games .exe files or .dll files.

  9. #9
    The Lordz Modding Collective Senior Member Lord Of Storms's Avatar
    Join Date
    Jan 2003
    Location
    Paisley,Florida
    Posts
    2,302

    Default

    I cannot find any files clearly lableld .exe files theres a few cfg files some dat files and 3 dll files but they are clearly lableled as Bugslayer utiltity, drive mgmt, and bugslayer helper, unless I am missing something, any ideas?
    P.S.OK I found the exe file and I am going to try your suggestion and I will keep you posted. LOS



    Taking life one day at a time!

  10. #10

    Default

    Quote Originally Posted by [b
    Quote[/b] (Lord Of Storms @ July 16 2003,11:15)]I cannot find any files clearly lableld .exe files theres a few cfg files some dat files and 3 dll files but they are clearly lableled as Bugslayer utiltity, drive mgmt, and bugslayer helper, unless I am missing something, the Medieval cfg file seems to have the most info almost 3 megs worth, the others are relatively small any ideas?
    .exe files are shown as "Application"
    Every file with type "Application" is exe file.

  11. #11

    Default

    Maby your file extensions are hidden by the windows.
    In Windows Explorer go to
    Tools->Folder Options->View
    and uncheck "Hide file extensions for known file types" if you want to see the file extensions
    I've forgotten that this is the default option in the windows
    Now you must see which files are .exe

  12. #12
    The Lordz Modding Collective Senior Member Lord Of Storms's Avatar
    Join Date
    Jan 2003
    Location
    Paisley,Florida
    Posts
    2,302

    Default

    Thanks but I found the exe file it was right there all the time just not labeled exe obviously enough for me to notice but I opened it and found out I was in the right place. So I will try your idea and see what happens. Thanks LOS
    Taking life one day at a time!

  13. #13
    The Lordz Modding Collective Senior Member Lord Of Storms's Avatar
    Join Date
    Jan 2003
    Location
    Paisley,Florida
    Posts
    2,302

    Exclamation

    OK, I have found 4 entries with the 28 configuration and 1 with the 38, Goscho if you would be interested I would like to send you the code lines I found and maybe you can decipher them E-mail me at ronin27k@aol.com and we can discuss it further. Thanks LOS
    Taking life one day at a time!

  14. #14

    Default

    Hello

    Make first a backup copy of the game exe file (if something is going wrong, take this copy back).

    Change the 38 or 28 place with 46

    This means that in the first case the game will check for dying at age 70, in the second, that the generals will live 70 years.
    Save the changes and start the game. If it starts, load a save game where your king will die on the next year and make some turns. If he dies or something else wrong happen it's probally not the right place to change.
    Then take the backup copy and change on another place this and see if it works.

    If you see your king at age more than 56, you've found the right place.

  15. #15
    The Lordz Modding Collective Senior Member Lord Of Storms's Avatar
    Join Date
    Jan 2003
    Location
    Paisley,Florida
    Posts
    2,302

    Default

    OK I have edited all the entries with 28 or 38 as per Goscho's instructions and still no results, I will check the exe again for any entry I may have missed but as I stated I found 5 total and changed them one at a time with no results, is it possible it is a combination of entries? If CA could point us in the right direction that would be a big help. I will keep trying. LOS
    Taking life one day at a time!

  16. #16

    Default

    no it is not combination
    should be only one of them

  17. #17
    Member Member Kristaps's Avatar
    Join Date
    Jan 2003
    Location
    Livonia
    Posts
    464

    Default

    Could it be that it is actually a random number generator that's at fault here? Or the number that determines the chance of dying at 56: i.e., could it be that this number by mistake has been hardcoded to be 100%? If this is true, we'd be wasting time looking for hex 56 / 40 in the .exe file: we should rather be looking for hex 100.0 or hex 1.0 (depending on how CA coded a 100% chance). Can gosch help us on the hex versions of these numbers? Just rambling...



    Kristaps aka Kurlander
    A Livonian Rebel

  18. #18

    Lightbulb

    I think if it's in the .exe file, it will be nonsense to look for the hex equivalent of 40, since most likely, the exe file is self compressed in some way, and this changes the whole content of that file, so it's very likely the 40 didn't survive that process unchanged.
    But it's worth a try anyway.
    Ignoranti, quem portum petat, nullus suus ventus est. -Seneca, Epistulae Morales, VIII, 71, 3

  19. #19
    CA CA GilJaysmith's Avatar
    Join Date
    Aug 2002
    Location
    Creative Assembly / Littlehampton
    Posts
    884

    CA

    The EXE is protected with SafeDisk and the routine in question is probably encrypted.

    Also it's comparing the age with 55 rather than 56...

    On the plus side, it was looking for stuff like this (usually infinite lives) which got me into programming, so I applaud your focus.

    You might also want to keep an eye on the Medieval forum at the .com...
    Gil ~ CA

    This Panda

  20. #20
    The Lordz Modding Collective Senior Member Lord Of Storms's Avatar
    Join Date
    Jan 2003
    Location
    Paisley,Florida
    Posts
    2,302

    Default

    Well seeing as now that an official patch for this bug has just been made, I guess all that time spent looking through the code was an exercise in futility
    Taking life one day at a time!

  21. #21

    Default

    I'm sorry I got to this discussion late. I could have helped save some time looking for a value that isn't directly found in the file as giljaysmith has noted. Although it's a moot point now there is one way we could have possibly gotten around this issue. This would be by manipulating the age as it resides in memory as the game runs instead of directly in the executable.

    Programs that do this are called trainers and you can find them for various games. Some trainers are generic; ie. they will work on any application that keeps information in ram at a set offset in memory. Basically you start up the game, start the trainer and hook into the running process in memory and then do a search for your kings current age, or gold, or any number of interest. This will often return a large list of possible hits(where that number is found in game memory) but you can weed out irrelevant values by going back to the game, making a change in your kings age or gold or something and then going back to this generated list and throwing out everything that doesn't match your new value. Typically only two or three iterations are necessary to find the relevant address where that age is stored and then you can go in and manually freeze it's value or insert a new value or make all your kings 240 years old or whatever.

    This of course is only effective in an application where the kings age is located at a stationary offset into the memory footprint when the game runs. I have no idea if this is the case with MTW.

    Tm

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
Single Sign On provided by vBSSO