Author Topic: [Solved] Upgrading my mods to newer OXCE  (Read 7617 times)

Offline Thirsk

  • Captain
  • ***
  • Posts: 62
    • View Profile
[Solved] Upgrading my mods to newer OXCE
« on: June 29, 2019, 03:57:48 am »
Hey guys, I've been out of the loop for the last 2 years (ridiculously still on OXCE+3.6!) and was so excited to update seeing I missed out on so much!!

Unfortunately, it turns out the mods I have rejected the latest versions, and I can't start up the game due to linking errors, for example:
[ERROR]   Error linking 'STR_MIB' in research: Unknown research 'STR_ALIEN_ONLY'

I managed to fix that particular error by defining 'STR_ALIEN_ONLY' in Equal Terms mod as someone pointed out online at https://openxcom.org/forum/index.php?topic=6752.0, but am now getting other similar errors, where a particular research is linked to another research but can't be found - probably since my rulesets are modular but I've edited some so that they depend on each other? At this point I'm completely stumped, and having spent so much time in the past customising each ruleset so they work perfectly with each other, I don't want to disable any mods.

Is there an older version of OXCE that isn't as fussy about linking research between mods? The issues others had with these errors were raised in Nov 18, so I'm thinking any OXCE+ version before that time would help. Trouble is they're so old they're no longer available for download..so is it possible some kind soul can help upload any 64-bit windows compatible version before Nov 18? Or am I doomed to play on OXCE+3.6 as of 20-02-2017 forever :'(
« Last Edit: February 11, 2023, 06:03:54 pm by Meridian »

Offline Meridian

  • Global Moderator
  • Commander
  • *****
  • Posts: 9089
    • View Profile
Re: Requesting old OXCE+ version
« Reply #1 on: June 29, 2019, 11:13:33 am »
The new OXCE isn't "fussy" about it.
Also, there is no difference between using 1 mod or 100 mods.

The errors you are getting are genuine MODDING ERRORS... and the checks were added to prevent these errors.

The proper way to continue is to fix the mods you are using (or download new versions if the authors have already fixed them).
If you don't know how to do it, upload or link all the mods you are using here and I will fix them for you.

Offline Thirsk

  • Captain
  • ***
  • Posts: 62
    • View Profile
Re: Requesting old OXCE+ version
« Reply #2 on: July 01, 2019, 06:22:09 am »
Thanks for the quick reply, Meridian. So I continued trying to fix the problem but the same linking errors pop up, even long after I deleted all instances of what was 'unknown research'. It still says 'unknown research: STR_ALIENS_ONLY' when I no longer have 'STR_ALIENS_ONLY' anywhere in the code.

Having given up on the mod causing the issue, I disabled it to encounter a different error - clipSize: -1 was missing in another mod. After adding in the required code, the game still refuses to start because of the missing 'clipsize', which again is strange as I already added it in.

Which makes me believe that for some reason, the game somehow has the old ruleset lodged in its memory and isn't recognising my updated rulesets. I've tried ways to trick it to think it's a new mod (by deleting the mod in options.cfg/renaming mod/updating meta.yml file) but to no avail. Would you happen to know why this is happening? The STR_ALIENS_ONLY persisting error struck me as odd, but having the missing clipsize error makes it hard to believe I've made a mistake in defining clipsize, since it's basically a single line of code.

Offline Meridian

  • Global Moderator
  • Commander
  • *****
  • Posts: 9089
    • View Profile
Re: Requesting old OXCE+ version
« Reply #3 on: July 01, 2019, 09:37:05 am »
You still have the old ruleset somewhere. That's the only possible explanation.

Offline Thirsk

  • Captain
  • ***
  • Posts: 62
    • View Profile
Re: Requesting old OXCE+ version
« Reply #4 on: July 02, 2019, 04:26:45 am »
Well I think sadly it just wasn't meant to be. After spending so many hours deleting so many folders and going through so many rulesets, I think I have to admit defeat :(

It turns outs that those errors weren't the last of my errors. Many of the mods I have installed were rather outdated and abandoned so they haven't been updated for the recent advances in OXCE, but having loved playing them so much, I just can't bring myself to disable them! On the bright side though, all this chopping and eliminating possible culprits, I did detect a number of bugs like typo errors or undefined research errors that were left behind, so I did manage to fix some of those I think ;D

But thank you again for the help, Meridian! I guess my last hope now is probably to try updating OXCE to an older but not too old version, just so I can try out some of the new cool features I can only dream of...like close combat quarters, civilians reacting, and sniper AI! The particular version I'd love to try would be OXCE+3.10b win64 from 23 Aug 18 since that might be the last version that might still works on the main mod I have installed, Equal Terms. But being so old, I don't think it's still available for download...does compiling from github allow us to choose versions? Is there any chance you might have an old copy lying around? I'd be happy to try any really, since my current version is OXCE+3.6 from Feb 17  :'(

« Last Edit: July 02, 2019, 04:28:25 am by Thirsk »

Offline Meridian

  • Global Moderator
  • Commander
  • *****
  • Posts: 9089
    • View Profile
Re: Requesting old OXCE+ version
« Reply #5 on: July 02, 2019, 09:40:10 am »
No, but as I said I am happy to fix the mods for you if you give me the links or upload them somewhere.

Offline Thirsk

  • Captain
  • ***
  • Posts: 62
    • View Profile
Re: Requesting old OXCE+ version
« Reply #6 on: July 04, 2019, 03:12:31 am »
Really? I mean there's probably just too many errors to fix and I initially didn't upload because I wanted to learn how to fix things by myself and I didn't want to waste your time! Plus I also discovered that the mod, Equal Terms, has non-8-bit palette images crashing the game upon opening the base.

But I have to admit, I still would really love to be up-to-date with OXC, so on the slightest, tiniest chance that you could somehow make it work, I've just attached all the mods I have installed. But if you think it's too much trouble to fix, then honestly don't worry about it!

Actually it's bigger than I thought so I uploaded it to mediafire. http://www.mediafire.com/file/njj0k1ps9l9m7tv/mods.rar/file

Offline Meridian

  • Global Moderator
  • Commander
  • *****
  • Posts: 9089
    • View Profile
Re: Requesting old OXCE+ version
« Reply #7 on: July 04, 2019, 02:48:35 pm »
Fixed attached.
« Last Edit: July 04, 2019, 02:52:55 pm by Meridian »

Offline Thirsk

  • Captain
  • ***
  • Posts: 62
    • View Profile
Re: Requesting old OXCE+ version
« Reply #8 on: July 04, 2019, 04:26:56 pm »
NO WAY. I can't believe it!! THANK YOU SO MUCH Meridian!!! I'm in complete and utter shock right now. How in the world did you fix it so quickly!?? I tried to look through at what I did wrong, but I seriously still have no idea...except for realising now that two years ago, I was a complete idiot - I left an original ruleset file behind in a resource folder!  :o No wonder the clipsize was still showing up as an error!

And it's just all magically working now..I cannot thank you enough! You are a bloody legend!! Now I can finally get up to speed and start adding all sorts of stuff again! ;D

Offline krautbernd

  • Commander
  • *****
  • Posts: 1108
    • View Profile
Re: Requesting old OXCE+ version
« Reply #9 on: July 04, 2019, 07:18:20 pm »
Fixed attached.
I have a few questions ???

First off, how did you go about fixing this mess? Granted, most the mods work, but some don't and additionally they interact. The Hangar mod for example doesn't work stand-alone (at least it crashed when i tried it since some definitions were missing).
Secondly, how did you fix the missing item definitions in MIB/Equal Terms? They started out with the grendae launcher and kind of went from there.
Thirdly, did you fix the sprite numbers in the weapons addons just for the heck of it or are large sprite numbers inherently bad?

Offline Meridian

  • Global Moderator
  • Commander
  • *****
  • Posts: 9089
    • View Profile
Re: Requesting old OXCE+ version
« Reply #10 on: July 04, 2019, 08:50:55 pm »
First off, how did you go about fixing this mess?

I enabled all mods, waited for OXCE to give me an error, fixed the error, restarted OXCE and waited for another error. Rinse and repeat until fully fixed.
Whole process took about 20 minutes, maybe 30.

Granted, most the mods work, but some don't and additionally they interact. The Hangar mod for example doesn't work stand-alone (at least it crashed when i tried it since some definitions were missing).

As you said, it's a mess, the mods are not standalone... I didn't fix that.
I assume the original authors made them standalone, but Thirsk probably messed with them and made them the way they are (sorry if not true).

Secondly, how did you fix the missing item definitions in MIB/Equal Terms? They started out with the grendae launcher and kind of went from there.

They were defined in other mods, I fixed the other mods (many just by adding metadata.yml) and that fixed it.

Thirdly, did you fix the sprite numbers in the weapons addons just for the heck of it or are large sprite numbers inherently bad?

I fixed sprite numbers on some smaller mods, especially Unconventional Weapons, which was using indices over 100000 (SadFace).
It is inherently bad and it wastes a lot of memory.
If you have a mod with one sprite and you give it index 100000, OpenXcom will actually allocate all the 100000 slots even if they are not used.
DON'T DO THAT.
Every small, medium and large mod should only use indices below 1000.
Huge mods (e.g. piratez) have the option to allocate more than 1000... but even piratez for example doesn't use more than 4000 today I think.

I didn't fix Equal Terms indices, because there were lot of them.
I just increased the reserved space for this mod to 55000, which is a terrible waste of space, but I was not in a mood to play with numbers.
And the author should fix it anyway, not me, so that everybody can benefit from it.
« Last Edit: July 04, 2019, 08:55:01 pm by Meridian »

Offline krautbernd

  • Commander
  • *****
  • Posts: 1108
    • View Profile
Re: Requesting old OXCE+ version
« Reply #11 on: July 04, 2019, 09:12:30 pm »
I enabled all mods, waited for OXCE to give me an error, fixed the error, restarted OXCE and waited for another error. Rinse and repeat until fully fixed.
Whole process took about 20 minutes, maybe 30.
Yeah, that's what i tried to do, but i somehow got caught up in the missing definitions. I had a look at the changes you made and apparently most of the errors i encountered didn't even need to be fixed. Then again i didn't add all the missing metadata ymls.

It is inherently bad and it wastes a lot of memory.
If you have a mod with one sprite and you give it index 100000, OpenXcom will actually allocate all the 100000 slots even if they are not used.
DON'T DO THAT.
Yeah, i feared that was the case.

...apart from the fact that it is hands down bad practice to waste memory, are there any noticable consequences in-game provided you allocate enough space? Please don't hurt me
« Last Edit: July 04, 2019, 09:18:45 pm by krautbernd »

Offline Thirsk

  • Captain
  • ***
  • Posts: 62
    • View Profile
Re: Requesting old OXCE+ version
« Reply #12 on: July 05, 2019, 12:36:44 am »
Wow I had no idea there were others also trying to help...thanks krautbernd! And thank you for asking the questions I didn't dare ask!

Reading this now makes me appreciate Meridian's work even more...like I know I'm a beginner modder but I had no idea I was this bad hahaha.

As you said, it's a mess, the mods are not standalone... I didn't fix that.
I assume the original authors made them standalone, but Thirsk probably messed with them and made them the way they are (sorry if not true).

Yep, that was definitely me. Uh sorry for the headache guys...I can't really tell at this point if it was all entirely me, because back then all I knew how to do was download a bunch of mods on this site and attempted to balance them, before eventually building the courage to occasionally add in my own personal (and clearly destructive) touch :P The mods were definitely standalone to begin with.

They were defined in other mods, I fixed the other mods (many just by adding metadata.yml) and that fixed it.

Oh I had no idea metadata.yml was even a requirement! I guess because the older OXCE+ didn't show any errors, I just never thought to add them in.

I fixed sprite numbers on some smaller mods, especially Unconventional Weapons, which was using indices over 100000 (SadFace).
It is inherently bad and it wastes a lot of memory.
If you have a mod with one sprite and you give it index 100000, OpenXcom will actually allocate all the 100000 slots even if they are not used.
DON'T DO THAT.
Every small, medium and large mod should only use indices below 1000.
Huge mods (e.g. piratez) have the option to allocate more than 1000... but even piratez for example doesn't use more than 4000 today I think.

I didn't fix Equal Terms indices, because there were lot of them.
I just increased the reserved space for this mod to 55000, which is a terrible waste of space, but I was not in a mood to play with numbers.
And the author should fix it anyway, not me, so that everybody can benefit from it.

I wish I knew if this was me or not.. but it was probably me. Because only now have I discovered that there was actually a ruleset definition webpage to consult so it was probably me just playing with the high numbers in hope of avoiding two mods conflicting with one another. I think perhaps I could have downloaded a ruleset that had initially high numbers to begin with and assumed it was ok to copy them? ;D

First off, how did you go about fixing this mess?

And finally yes, I fully admit this was a complete mess hahaha. I'm pretty sure most of the errors were my fault. To both of you, I'm so sorry to have wasted so much of your time! But I am so ridiculously grateful that you did, because I would never been able to fix this on my own nor ever learnt what I did wrong. A very big THANK YOU again to Meridian!! Hopefully someday I can turn this hot mess into something worth uploading!

Offline Meridian

  • Global Moderator
  • Commander
  • *****
  • Posts: 9089
    • View Profile
Re: Requesting old OXCE+ version
« Reply #13 on: July 05, 2019, 12:45:35 am »
Oh I had no idea metadata.yml was even a requirement! I guess because the older OXCE+ didn't show any errors, I just never thought to add them in.

It's a relatively new requirement (needed for zip loader).

But mods without metadata.yml don't even appear in the list of mods... so it's quite easy to realize something is missing :)

Offline Thirsk

  • Captain
  • ***
  • Posts: 62
    • View Profile
Re: Requesting old OXCE+ version
« Reply #14 on: July 05, 2019, 01:00:57 am »
But mods without metadata.yml don't even appear in the list of mods... so it's quite easy to realize something is missing :)

And to think I didn't even notice haha. Cheers Meridian...I can't wait to see what you have in store for us in the next update! You've already given me so much joy over the years for bringing back one of my favourite childhood nostalgias! Keep doing what you're doing!

And on a side note, to whoever now downloads my mod compilation...feel free to try it out (it's my take on an enhanced vanilla experience with MIB, zombies and riots) but be very warned it's still very much a work in progress!