Mad Games Tycoon 2
0 of 0

File information

Last updated

Original upload

Created by

Aerin the Lion

Uploaded by

riftenaerin

Virus scan

Safe to use

Tags for this mod

6 comments

  1. furkan1227
    furkan1227
    • member
    • 0 kudos
    This is exactly what I was hoping for, thanks for creating this mod! I am currently using my own modification that I made to game's file using dnspy but this mod will be useful in the future when game gets another update that reverts all my changes.

    By the way, while making my own modification to the game's file I realized another mod I am using(realism mod on steam) has a file that assigns pre-set perks to workers(Mad Games Tycoon 2\Mad Games Tycoon 2_Data\RealismMod\Text\DATA\DevLegends.txt). My question is, is your mod going to override realism mod's values or will it simply ignore them? My own modification was ignoring realism mod's pre-assigned perks so I was wondering if your mod is doing the same. Anyway, this is still yet another fantastic mod, so thanks again!
    1. riftenaerin
      riftenaerin
      • member
      • 4 kudos
      If your modding involves direct modifications to the Assembly-CSharp.dll, then I believe it would be 100% incompatible with the Realism mod.
      The Realism mod is created using a same approach of directly altering the Assembly-CSharp.dll.
      Therefore, if you modify the Assembly-CSharp.dll from the "Realism mod," there should be no conflicts.

      Regarding my modding approach, it's a bit of a gray area— you could say it both conflicts and doesn't conflict with the Realism mod.

      My mods uses a modding framework called BepInEx, which cleanly loads the Assembly-CSharp.dll and performs modifications in memory.
      BepInEx mods are designed to be isolated, reusable, maintainable, readable, and extensible. Mods that utilize BepInEx plugins can quickly identify and address conflicts.
      However, when it comes to mods that directly modify the Assembly-CSharp.dll, it's nearly impossible to even determine if there is a conflict.
      My reference point is always the code of vanilla Assembly-CSharp.dll.

      Furthermore, when modifications are made directly to the dll, it's nearly impossible for anyone other than the original modifier to understand what changes were made, making it unfeasible to strategize any countermeasures.

      For these reasons, I've been steering clear of mods that involve direct modifications to the Assembly-CSharp.dll, like the "Realism mod."
      It feels like a wasted effort to even consider them.

      I've gone into quite a bit of detail here, but I hope you find this information helpful in regards to modding.
    2. riftenaerin
      riftenaerin
      • member
      • 4 kudos
      Oh, I failed to mention this earlier.
      It's regarding "Mad Games Tycoon 2\Mad Games Tycoon 2_Data\RealismMod\Text\DATA\DevLegends.txt".

      I'm not certain about the specific changes the Realism Mod makes, but it seems they've modified(or just added) the file structure of the official mod support's "txtmod" files for reasons unknown to me.

      Generally, if the file structure hasn't been altered, it's possible to reference and use "txtmod" files located in "Mad Games Tycoon 2\Mad Games Tycoon 2_Data\Extern" (DevLegends.txt being one of them) without any issues.
      Of course, my mod can also be used without conflicting with "txtmod".

      However, I must clarify that this assurance doesn't apply if there are direct modifications to the Assembly-CSharp.dll.
    3. furkan1227
      furkan1227
      • member
      • 0 kudos
      If your modding involves direct modifications to the Assembly-CSharp.dll, then I believe it would be 100% incompatible with
      the Realism mod.
      Oh, I know realism mod is also modifying the same file, that's why I was actually modifying the already modified .dll file, I should've probably mentioned that before.

      For these reasons, I've been steering clear of mods that involve direct modifications to the Assembly-CSharp.dll, like the "Realism mod."
      It feels like a wasted effort to even consider them.
      I actually asked developer of that mod why he isn't converting it to a bepinex mod. He basically said asking people to install bepinex before downloading his mod would be too complicated for many. That and also his mod needs other files(probably .png files for company icons etc) that needs to stay outside of mod's .dll for the mod to work anyway. I don't agree with these points 100% but unfortunately his mod is the only realism mod that works at the moment so it is not like I have any other options ¯\_(ツ)_/¯

      Of course, my mod can also be used without conflicting with "txtmod".
      Sorry but I didn't understand this part. So does this mean if I am using both your mod and realism mod, your mod will override the perks defined in that text file or will it ignore them? It is not a big deal, I am just curious.
    4. riftenaerin
      riftenaerin
      • member
      • 4 kudos

      • If that's the case, I'm not sure why "C:\Program Files (x86)\Steam\steamapps\common\Mad Games Tycoon 2\Mad Games Tycoon 2_Data\RealismMod" would fail to load. That's a question best directed at the creator of the Realism Mod.

      • Hmm,"too complicated for many"? That's surprising.
        It's just a matter of unzipping BepInEx and dropping it into the game folder...
        But anyway, I'm glad to have understood this background.
        It's insightful to know there are users who find it complex. Thank you for the information.
      • So does this mean if I am using both your mod and realism mod, your mod will override the perks defined in that text file or will it ignore them?
        Firstly, setting aside whether the changes made by the Realism Mod conflict, that's beyond my control, so let's proceed under the assumption that there's no conflict.
        I haven't tampered with the part that generates Legends using "DevLegends.txt," so my mod won't overwrite the defined perks or bypass the generation process in any way.
        For instance, if "DevLegends.txt" sets four perks, the code is designed to halt any further process at that point.

        Since you're familiar with dnSpy, let me explain a bit more.
        In the 'charArbeitsmarkt.Create' method that I patched with the Job Market Tweaker, there's a process called 'textScript.GetRandomDevLegend(charArbeitsmarkt charA_)'.

        187 if (this.mS_.year > 1976 && !task_ && (UnityEngine.Random.Range(0, 50) == 1 || (this.mS_.globalEvent == 5 && UnityEngine.Random.Range(0, 25) == 1)) && this.tS_.GetRandomDevLegend(this) != -1)

        It's a conditional branch for generating Legends using "DevLegends.txt," and modifying this part or altering the game file structure's read-write functionality could potentially cause issues.

        However, I must mention that I'm not particularly interested in the "Realism Mod" or "txtmod" itself, so it's difficult for me to answer any further questions on this topic.

    5. furkan1227
      furkan1227
      • member
      • 0 kudos
      Alright I think I understand it now, thanks for detailed answers.