As a French person I feel like it's my duty to explain strikes to you. - AdrienIer

Create an account  

 
Master of Orion 1 unofficial patch

Hallo all. A big 'thank you' to all the contributers, you are amazing!
After a long pause I am returning to rule the galaxy! :D
I have two questions:
- The version in the intro screen remains at 1.3 after installing the inofficial patch, right?
- Has there ever been an attempt to include highscores?
Thank you, and happy gaming.
Reply

(June 13th, 2020, 05:49)slafochmed Wrote: Hallo all. A big 'thank you' to all the contributers, you are amazing!
After a long pause I am returning to rule the galaxy! :D
I have two questions:
- The version in the intro screen remains at 1.3 after installing the inofficial patch, right?
- Has there ever been an attempt to include highscores?
Thank you, and happy gaming.

Hi there! Just to quickly answer your questions:

- Yes, kyrub wasn't able to edit the main menu graphics, so that's unchanged.
- No; there's no in-game score in Master of Orion, so "highscores" wouldn't have anything to refer to (someone would have to come up with some arbitrary point system before it could be ranked; I'd rather just play the game!)

Happy gaming to you too! Maybe we'll see you in our next SG!
Reply

(April 17th, 2020, 20:12)SDragon Wrote: I've attached modified files that should revert back some of kyrub's code base back to v1.3 which will show the 3rd special weapons slot again.  Based on where the code was, it shouldn't affect any of his other changes in v1.40m as I've looked at the changelog and don't see anything that is labeled as a fix that should be using that area of code.

I played a game with this version. It did have that 32000 ship bug in the end, also I saw -4 ship fleet and also in the ending animation the name string was corrupted. Not sure if vanilla v1.40m can have all of these issues.
Reply

(July 18th, 2021, 16:36)merlinp Wrote:
(April 17th, 2020, 20:12)SDragon Wrote: I've attached modified files that should revert back some of kyrub's code base back to v1.3 which will show the 3rd special weapons slot again.  Based on where the code was, it shouldn't affect any of his other changes in v1.40m as I've looked at the changelog and don't see anything that is labeled as a fix that should be using that area of code.

I played a game with this version. It did have that 32000 ship bug in the end, also I saw -4 ship fleet and also in the ending animation the name string was corrupted. Not sure if vanilla v1.40m can have all of these issues.


If I recall, the only modifications kyrub and I touched was the area where the game would display the special weapon slot for fleet designs.  So most likely those bugs would be seen in vanilla v1.40m as well as my modified game file.  If you had any savegame files for the bugs, it'd be easier to check (and possibly fix) since I have the time.
Reply

(July 18th, 2021, 17:34)SDragon Wrote: If you had any savegame files for the bugs, it'd be easier to check (and possibly fix) since I have the time.

I have all autosaves from that game. In attached zip there's also the three specific issues highlighted in save slots 1, 2 and 6.


Attached Files
.zip   moobugs.zip (Size: 1.67 MB / Downloads: 2)
Reply

(July 19th, 2021, 02:23)merlinp Wrote:
(July 18th, 2021, 17:34)SDragon Wrote: If you had any savegame files for the bugs, it'd be easier to check (and possibly fix) since I have the time.

I have all autosaves from that game. In attached zip there's also the three specific issues highlighted in save slots 1, 2 and 6.

Just to clarify, when we talk about the 32000 ship limit 'bug', what would you think the expected behavior should be?  I'm assuming the value is stored in a 16 bit value and therefore the close to 32768 size limit which kind of makes sense to limit the max to 32000.  So are we expecting to try to increase the max size from a signed value to an unsigned value which may increase the max to 65500, or somehow change the behavior so that if you have 32000 ships already, you won't be allowed to build any more (this might be too much behavioral code to hack in hex)?

I couldn't seem to reproduce the corrupted name in the end-game animation on either kyrub's 1.4m or my altered version.  Do you have a screenshot of that?

I'll start with the negative fleet bug and see where that goes.  Might be a inverse flip somehow involved with the 32000 limit so if it does increase higher then the limit, the sign is flipped resulting in the negative.
Reply

(July 19th, 2021, 12:55)SDragon Wrote:
(July 19th, 2021, 02:23)merlinp Wrote:
(July 18th, 2021, 17:34)SDragon Wrote: If you had any savegame files for the bugs, it'd be easier to check (and possibly fix) since I have the time.

I have all autosaves from that game. In attached zip there's also the three specific issues highlighted in save slots 1, 2 and 6.

Just to clarify, when we talk about the 32000 ship limit 'bug', what would you think the expected behavior should be?  I'm assuming the value is stored in a 16 bit value and therefore the close to 32768 size limit which kind of makes sense to limit the max to 32000.  So are we expecting to try to increase the max size from a signed value to an unsigned value which may increase the max to 65500, or somehow change the behavior so that if you have 32000 ships already, you won't be allowed to build any more (this might be too much behavioral code to hack in hex)?

I couldn't seem to reproduce the corrupted name in the end-game animation on either kyrub's 1.4m or my altered version.  Do you have a screenshot of that?

I'll start with the negative fleet bug and see where that goes.  Might be a inverse flip somehow involved with the 32000 limit so if it does increase higher then the limit, the sign is flipped resulting in the negative.

As I understand it, the bug occurs when the AIs can't pay the maintenance on their enormous fleets. The game deletes ships until the maintenance is sustainable, without checking for the number of ships going negative. Any negative number is converted to +32,000.
Reply

(July 19th, 2021, 12:55)SDragon Wrote: I couldn't seem to reproduce the corrupted name in the end-game animation on either kyrub's 1.4m or my altered version.  Do you have a screenshot of that?

Here's the screenshot. I selected the default name as far as I know and I was playing humans so this can't be correct. Its kind of a minor issue. I don't remember seeing this bug before though. EDIT: Switching from LAPC-I to sound blaster for music fixes the issue and then the name is correctly shown as Alexander.

About the 32,000 ships issue, I don't think the AI actually can build and maintain that many medium ships so this number of ships happens due to some bug. I have seen this bug before several times at least with v1.3.


Attached Files Thumbnail(s)
   
Reply

(July 19th, 2021, 13:31)DaveV Wrote: As I understand it, the bug occurs when the AIs can't pay the maintenance on their enormous fleets. The game deletes ships until the maintenance is sustainable, without checking for the number of ships going negative. Any negative number is converted to +32,000.

Ah, that makes more sense.  I hacked the game to remove the 32000 fleet limit and was able to build more, but the display shows negative in certain places because its using 16 bit registers.  And basically once you reach a certain point, all your BC goes towards maintenance and then you just get a bunch of planets wasting their BC building ships that result in nothing being built.  Okay, I'll look for the function that handles ship removal or maintenance.
Reply

Well the good news is the 32000 ship bug a.k.a the doom stack bug is fixed in the 1oom project.  Unfortunately it may not be fixable in the DOS version.  

The issue arises in the battle_ai_ai_resolve_do function (when ai battles each other) that creates a weighing of each attacking / defending player based on their ship tech, hull, weapons, etc and adds it up to create a total.  This is then reduced against each other in a randomized reduction until one player is down to 0.   The remaining weighing is then multiplied by the number of ships and divided by the original weighing to get a reduction in the number of ships.  So most likely the issue will appear in late game where the tech levels are higher and the number of ships are greater, usually seen in small/medium ship types.

The way the multiplication/division functions are setup, I can't just swap them like I did with one of my other fixes, though it may be possible, but would need someone with a better understanding of assembly then I have.
Reply



Forum Jump: