Author Topic: Compatibility changes between old version and the latest release?  (Read 4744 times)

Offline The Martian

  • Commander
  • *****
  • Posts: 754
  • "It implores you to listen to its arguments..."
    • View Profile
Greetings, or rather hello again! ^_^


After a long period of hibernation I'm looking to re-emerge and get back into playing and modding OpenXcom.

Judging by the notes left in my old personal files the last version of OpenXcom I used was:
OpenXcom_20171109_803ca40a6_x86

(Question) Is there anything I should know about Mod compatibility changes between that version and the latest release:
openxcom_git_master_2019_07_28_0403


Specifically is there any text I should change in old Mod ruleset.rul files to import them to the new version?


I've been looking for an
OpenXcom changelog, the earliest version notes listed on the download page are for "2019_06_17_0106" is there a place where I can view the full version history?

Offline The Martian

  • Commander
  • *****
  • Posts: 754
  • "It implores you to listen to its arguments..."
    • View Profile
Re: Compatibility changes between old version and the latest release?
« Reply #1 on: August 01, 2019, 04:19:30 pm »
I noticed these posts mentioning "Negative Indexes", so it looks like I will definitely be doing some recoding.
(But that is fun in its own way.)
^_^


BREAKING CHANGE INCOMING

SupSuper merged my PR that change how OXC handle negative indexes and common surfaces for all mods.

This mainly affect `bigSprite`, where OXC use negative indexes for terror unit weapons. Right now they are now invalid, game will reject mods that use them. Only exception is `-1` but it now mean no-sprite not terror weapon sprite.
If your mod still need this surface there are still available but under different syntax:
Code: [Select]
bigSprite: { mod: master, index: 61 } # under this we have old "-1" sprite, 60 is "-2" etc. for UFO, XCOM2 have different offsets because it have more surfaces
This new syntax allow you to access resources of other mods (work for sound and other shared surface sets too).

Code: [Select]
bigSprite:
  mod: MyOtherMod #id of mod from `metadata.yml`
  index: 120

Old syntax still work
Code: [Select]
bigSprite: 120
and is equal to
Code: [Select]
bigSprite:
  mod: current #alias for current mod
  index: 120

Example of change I made to make Final mod pack to work with this new version:

https://github.com/Yankes/Final-Mod-Pack/commit/bdad8bb33713577259d0f36a779d50da295a9dd3


some additional changes:

added `ignoreInBaseDefense` from OXCE as some mods used negative index to limit usage of items.
if you exceeded `reservedSpace` for your mod, game will fail to load.

One stupid Question how did the indexing of bigSprites now changed?

And how do i have to change the indexes in my mod so that things loads normally?
Negative indexes are not allowed anymore.

Quote
Quote from: hellrazor on June 14, 2019, 07:32:15 pm
"And how do i have to change the indexes in my mod so that things loads normally?"

1/ Easier method: Copy the terror weapon bigob sprites into your mod and give them positive indices.

2/ Easy method: Reference the existing terror weapon bigob sprites from xcom1 as described by Yankes above.

Offline NiceMicro

  • Sergeant
  • **
  • Posts: 34
    • View Profile
Re: Compatibility changes between old version and the latest release?
« Reply #2 on: September 08, 2019, 04:11:43 pm »
Hi!

My question is, that if I change the required values in the old mod version's ruleset files, will the savefiles will be compatible between the 1.0 (stable) release (what I've been playing with) and the newest nightly (that I decided to install on my new system)?

Offline Meridian

  • Global Moderator
  • Commander
  • *****
  • Posts: 9089
    • View Profile
Re: Compatibility changes between old version and the latest release?
« Reply #3 on: September 08, 2019, 04:36:20 pm »
are you SURE you were playing 1.0 stable (from the year 2014)... or were you playing some 1.0 nightly from a later date?

Offline NiceMicro

  • Sergeant
  • **
  • Posts: 34
    • View Profile
Re: Compatibility changes between old version and the latest release?
« Reply #4 on: September 08, 2019, 04:50:11 pm »
are you SURE you were playing 1.0 stable (from the year 2014)... or were you playing some 1.0 nightly from a later date?
Ohh damn, thanks for asking, I remembered wrong. My actual version is 2018-04-10 03:19.
For some stupid reason I thought that is the version of the Area 51 mod, but now double checked it and it seems to be the version of the OpenXCom.

Silly me.

Offline Meridian

  • Global Moderator
  • Commander
  • *****
  • Posts: 9089
    • View Profile
Re: Compatibility changes between old version and the latest release?
« Reply #5 on: September 08, 2019, 04:51:13 pm »
The save should most likely be fine then.

Offline Templayer

  • Sergeant
  • **
  • Posts: 12
    • View Profile
Re: Compatibility changes between old version and the latest release?
« Reply #6 on: November 23, 2019, 07:46:27 pm »
Ohh damn, thanks for asking, I remembered wrong. My actual version is 2018-04-10 03:19.
For some stupid reason I thought that is the version of the Area 51 mod, but now double checked it and it seems to be the version of the OpenXCom.

Silly me.
Um.... I actually have a mid-game mid-LP save with a 2014 version that I would like to return to.
What happens when I do update from a 2014 V1.0 of openXcom to the newest one? :D :D :D

And sorry if I am posting this in the wrong ... wrong something. It has been five years, so...

Offline SupSuper

  • Lazy Developer
  • Administrator
  • Commander
  • *****
  • Posts: 2162
    • View Profile
Re: Compatibility changes between old version and the latest release?
« Reply #7 on: November 23, 2019, 11:14:55 pm »
Saves should be fine, it's only mods that may not.
(eg. if you have to upgrade your mods to work on the latest nightly, then any saves on the old mod version may not work on the new mod version)