Are you, in fact, a pregnant lady who lives in the apartment next door to Superdeath's parents? - Commodore

Create an account  

 
Master of Orion DOS Patcher

Application: Master of Orion (DOS v1.4m Patcher)

Took me about a week of effort but once I get a will to do something, I'm like a dog with a bone.  This patch application is mainly designed to build on top of kyrub's v1.4m patch, and later, hopefully his v1.4n options will be available.  My own bugfixes are designed to work with both vanilla v1.3 and kyrub's v1.4, though with so many fixes in v1.4, I don't think anyone should be using v1.3 unless they want to see if a fix is causing an issue not seen in the original.

Unfortunately, when I attempted to publish the application as a standalone exe, visual basic decided that it needed to add 138 MB of additional libraries and components, so the zip contains 5 files instead of 1.

[Image: VLvq9Eh.png]

Kyrub's bug fixes are for detection only, you cannot enable/disable them, and generally I don't think there is any need to unless we believe they are causing issues.  Some of the game mechanics and improvements can be enabled/disabled as I don't think they fundamentally break the game per se, and the UI/UX options can be enabled/disabled as well.  Autosave preference can be changed from debug mode to game mode or vice versa.

The application is mainly to help with bug fixes or to allow users to play the game in a specific mode (ie. disable galactic council); it's not meant to be a modder.

It's a shame that kyrub has retired, I think we would have been able to work really well together, my IT programming logic and his knowledge of game mechanics and manipulating graphics (which I suck at).   Well, if he ever visits again, maybe it'll revitalize his interest in MOO.

----------------------------------------------------------------------------------------------------------------
version 011-015 changelogs
- empire tech report technology text fix, all Controlled Colonies show ENVIRON [credit to RefSteel and 1oom_aaron]
- orbiting ship hotkeys changed back to default, ESC to cancel and SPACE BAR to accept; this is because of Kyrub's added 123456, abcdef hotkeys to increase/decrease ship keys (remove overlapping keys like 'c' and 'a')
- spy cost fixed, three options to choose calculations from (details in following post)
- galactic council options available (details in following post)
- destination out of range no longer shows overlapping text over the 6th ship when fleet contains 6 different ships, still shows for 5 or less (part of UX Interface Changes)
- transfer reserves via starmap hotkey fixed, using '=' from starmap will transfer treasury reserves to target planet close to its double production limit
- refit option as per OSG; incremental IIT costs per factory level with a 50% REFIT cost in between

version 016-021 changelogs
- population 0 bug proper fix, confirmed that terraforming, pop inc and pop tenths calculations are in line with v1.3 and v1.4m via save files
- trading for tech or receiving tech as a tribute is now updated on the same turn, instead of having to wait until the interturn [depends if we view this as a bug or not]
- kyrub's swansong v1.40n patch options are now available
- guardian defeated no longer seen if space amoeba, space crystal attacks a colonized orion planet
- pirates event can no longer select orion as a planet to disrupt trade (even if guardian has been defeated though)
- refit loophole closed; transporting away pop no longer can be used to reduce refit costs
- ind display tweaked, if there are idle factories, when prod is placed in ind slider, display no longer shows MAX, but shows [# of factories] *, indicating that factories will be built but will be idle, when pop can work factories, 
  factories built will again display [# of factories] /Y, MAX will only be seen when building up to maximum IRC level factory number
- comet continues countdown journey and no longer stays in limbo if a planet's colony has been destroyed during it's travel; ships in orbit of an uncolonized planet will not count to destroying the comet, only ships from the planet's owner (this was always the case)
- space amoeba and space crystal should no longer travel to orion; before, they could choose orion as a first planet but never as a subsequent planet (hard to test since if it's working, we'd never know, but the code seems legit)

v022 updated changelog
- yo-yo retreat can now be forced disabled; any fleet retreating from a battle can no longer be redirected, it has to retreat to the nearest owned planet (even if you have Hyperspace Communications)
- [bug was introduced] if guardian never returns not checked, it swapped one hex erroneously which could have unintended consequences; confirmed that applying patch with no options checked results in an exact copy of kyrub v1.40m as it should

[changelog cleaned up to highlight the fix options available]

known bugs will look into
- to look at the waste elimination/pollution bug

Other known bugs that have been looked at but might be difficult to fix (could use some save game files if anyone has any that can reproduce the issues)
1. 32000 Ship Bug - i think i might be able to fix this, if anyone has a game save of the bug, just before the AI battle each other
2. Game checks for tech completed or tech level and stops, even if you received a higher tech elsewhere (couldn't seem to reproduce the issue)
3. Ship in orbit at AI colony outside of your range loses colony info, unless one ship in orbit (seen the screenshots for the bug, but haven't been able to reproduce it)
4. Same Turn Base Tech Updates - there's currently no way to update base technology without going through the interturn, the code that updates all the base tech is in the same game_turn_build_def that also calculates shield and missile base production so right now, can't do one without the other
5. Final War Shares Tech Even from Eliminated Players - no space to check if player has been eliminated or to reset their tech level/researched tech in the code


Attached Files
.zip   MOO DOS Patcher v022.zip (Size: 125.21 KB / Downloads: 6)
Reply

The SDragon v1.4o moniker isn't meant as an official labeling as a progression of m and n, it's just for differentiation.   

[Image: 4yqEFaA.png]

I made an option for a couple UI hotkey changes as my own personal preference and they will override kyrub's previous changes.
      - dialogue with 'c'ancel has had the hotkey changed to 'c' to align with first letter hotkeys which most of the game adheres to
      - fleet specs and scrap hotkeys were swapped, maybe it's just me, but I find myself checking 's'pecs more often then scrapping ships 'v'
      - empire security, transfer planetary reserves and planetary treasury increase and decrease changed from '-'/'+' to '<'/'>', I find the keys closer to space allow for faster hotkey usage

Galactic Council can now be disabled or customized depending on the players preference.  I recognize that disabling it does remove an element of diplomacy challenge as an endgame option, however I just see it as a personal preference and to each their own.

Lastly, the spy cost bug has finally been fixed.  The annoying issue with building spies was because it was hard to know how much BC/time was needed to build spies.  This was because the function game_spy_build that built your spies used the calculation of [TECH * 2] + 25 as the spy cost, while the Race display page to show when you were expecting your next spy to be built was using calculation [TECH * 2] * Spies + 25.   

Spy Cost (Use Build Function) will calculate both the build and display using: [TECH * 2] + 25
Spy Cost (Use Design Function) will calculate both the build and display using: [TECH * 2] * Spies + 25
Spy Cost (As Per Manual/OSG) will calculate both using: [TECH * 2 + 25] * 2^Spies

===================================================================
    Sample Tech Level 15      Spies        0       1        2         3        4        5      6           7        8        9
1. [Tech Level * 2] + 25                  : 55      55      55       55      55       55      55       55      55      55
2. [Tech Level * 2] * Spies + 25       : 25      55      85     115    145      175    205     235     265    295
3. [Tech * 2 + 25] * 2^Spies            : 55    110    220     440    880    1760  3520  7040")

I created a small save game reader that loads 'SAVE.GAM' and shows the data for spies, spyfund, spies caught (yours) and does calculation per each spy option.  Not sure if someone already made a save game reader/editor, but wanted something to double check my spy fixes.   Attaching it in case others were curious.

[Image: l8977wG.png]


Attached Files
.zip   MOO Spy SG Data Reader.zip (Size: 88.16 KB / Downloads: 0)
Reply

Very cool stuff, SDragon! Thanks for your efforts on these issues.
Reply

v015 now offers the option for REFIT costs per OSG

For a normal terran planet with 100 population at tech level 10, the costs will be:

0    - 200        - 10 BC per factory
200 - 300       - 15 BC per factory (with a 50% refit cost of 200 factories * 5 BC (10 IIT / 2) [except for meklar]
300 - 400       - 20 BC per factory (with a 50% refit cost of 300 factories * 5 BC, ...)
etc...

I remember reading somewhere that conquering planets through invasion would have a 2 BC refit cost per factory before they can be used, but I haven't found anything like that in the game code.  Does that exist?  I'll probably test it out at some point when I have time to do a test game so we'll see.  

Lastly, the code between factory building and refit isn't foolproof.  Let's say you have 180 factories and you max the ind slider and that can build 25 factories.  The game code won't build 20 factories for you and then go into REFIT, it'll start refitting right away and count that extra prod as BC towards the refit.  In a sense, you don't have to pay the 50% to refit them but I guess it balances out since after refit, the factories will cost 50% more anyway to build. But if you ever need to stop refitting for more pressing matters, you won't have built those factories, so I guess it's better to just build factories up until the refit to maximize factory production before reffiting.
Reply

Thanks for sharing your works with community. I will be using patched exe with all options turned on & council every 50 years.

Bug report: I've had a game freeze on a news "Psilon spies steal the plans for" (etc.). It didn't happen on Kyrub's patch.
Reply

How do I run it? Can't be run in a DOS mode. Not a valid Win32 application (as my Win XP says).
Reply

(May 18th, 2025, 13:35)bjg Wrote: How do I run it? Can't be run in a DOS mode. Not a valid Win32 application (as my Win XP says).


Ah, sorry, I guess calling it a DOS Patcher could make people think they need to run it in DOS where as it was meant to imply that it was the DOS EXE of MOO that was being patched.  

You can just double click the EXE in windows, though I've never really tested it on Win XP, wonder if the .NET framework requirement would still apply on that version of windows.  [edit] I tried running it on my Windows 7 Oracle and it wouldn't run.  

I'll attach patched versions in case anyone just wants the EXE to play (m+n+o or just m+o version).


Attached Files
.zip   MOO Patch (m+n+o).zip (Size: 200.42 KB / Downloads: 2)
.zip   MOO Patch (m+o).zip (Size: 200.39 KB / Downloads: 1)
Reply

I don't have a running Win 10 machine. Will try the patched files. Thanks.
Reply

Kyrub's patches included more than one file. What are the requirements for your patched STARMAP.EXE ?
Reply

It's quite helpful to show special symbol than the factories aren't going to be maxed, but wont have enough population to support them. smile
Refitting takes really long. wink
Reply



Forum Jump: