Experiment in loading past eras/campaigns in cores

Discussion of all aspects of the game engine, including development of new and existing features.

Moderator: Forum Moderators

Hiromasa
Posts: 12
Joined: February 3rd, 2013, 1:56 am

Re: Experiment in loading past eras/campaigns in cores

Post by Hiromasa »

As for the case of the previous "The Deevils Flute" I posted here this time, the add-on author seems to have adapted 1.16, so I made a POT file again and reviewed almost all the text files to make the translation file again.
That said, it was still the main machine translation, and even so, the machine translation site's translation ability had improved considerably compared to last time, which was helpful.
I mainly tweaked the command tone and the honorific tone in the speaker's position a little bit, and a little bit where I changed it to a free translation, which may not be correct in actual play.
User avatar
Atreides
Posts: 1100
Joined: March 30th, 2019, 10:38 pm
Location: On the 2nd story of the centre village of Merwuerdigliebe turning the lights on and off

Re: Experiment in loading past eras/campaigns in cores

Post by Atreides »

I just tried Swamplings with the 1.12 core and it works fine. What a cute campaign.

One oddity though is that the translation doesn't seem to work. Is it supposed to?

Got this in the log:

20230405 13:54:54 error general: Error opening language file for de_DE, textdomain wesnoth-Swamplings:
Failed to read plural forms function. Input: '(n != 1);\n;', error message: Plural-Forms expression reader: Could not parse expression, stopped parsing at:
(n != 1);\n;
^

Since the 1.12 core is made for some specific languages does that mean that only those will work?

Personally I don't mind, I find the English to be quite charming and am skeptical that the German translation would be as good. I don't myself think I'd be able to get the nuances right but that's probably just me.

p.s. Also wondering if I can use the 1.10 core to play 1.10 era's (after fixing the _info.cfg)? I may be out of a "job" LOL. Well not completely, lots of juicy stuff in 1.8 and older...
demario
Posts: 133
Joined: July 3rd, 2019, 1:05 pm

Re: Experiment in loading past eras/campaigns in cores

Post by demario »

Atreides wrote: April 5th, 2023, 6:11 pm One oddity though is that the translation doesn't seem to work. Is it supposed to?

Got this in the log:

20230405 13:54:54 error general: Error opening language file for de_DE, textdomain wesnoth-Swamplings:
Failed to read plural forms function. Input: '(n != 1);\n;', error message: Plural-Forms expression reader: Could not parse expression, stopped parsing at:
(n != 1);\n;
^
Thanks a lot for the report, I will fix that ASAP. [edit] Fixed in version 1.2.0d-i18n.3 [/edit]
p.s. Also wondering if I can use the 1.10 core to play 1.10 era's (after fixing the _info.cfg)? I may be out of a "job" LOL. Well not completely, lots of juicy stuff in 1.8 and older...
You could try :lol:
The progress on core 1.10 is slow and I can't guarantee that it would be working at this time.
The rate of success will certainly depend on the complexity of the WML code in the add-on from 1.10. Good luck.
"simply put, it's an old game"T — Cackfiend
User avatar
Atreides
Posts: 1100
Joined: March 30th, 2019, 10:38 pm
Location: On the 2nd story of the centre village of Merwuerdigliebe turning the lights on and off

Re: Experiment in loading past eras/campaigns in cores

Post by Atreides »

Thanks for the quick fix! (Just tried it and it is fine, the translation is pretty good too! Interestingly it also fixed the missing music (no music played when I switched cores but now it does) I'd not mentioned earlier. Shame I suck so bad at campaigns though. Lost Misrin on turn 4 and game over. But a really entertaining story as far as I got.)

I guess I'll experiment a bit and see if 1.10 eras work. Should be fun.
demario
Posts: 133
Joined: July 3rd, 2019, 1:05 pm

Re: Experiment in loading past eras/campaigns in cores

Post by demario »

Atreides wrote: April 6th, 2023, 5:39 pm I guess I'll experiment a bit and see if 1.10 eras work. Should be fun.
Feel free to point to any issue if you hit any and I will have a look at it.
The purpose of the core is not to reach a theoretical 100% compatibility with 1.10 engine, but full compatibility with features used in 1.10 add-ons. So I don't go through the differences between the engines of 2 versions but fix the problems after they are identified by running an add-on.

Of course, compatibility through changes in the 1.16 C++ engine is outside of the scope and features that require such changes would be left unsupported.
"simply put, it's an old game"T — Cackfiend
demario
Posts: 133
Joined: July 3rd, 2019, 1:05 pm

Experiment with 1.16 core in BFW 1.17

Post by demario »

A new core 1.16 has been put up for download as an add-on for BFW 1.17.

Inside this core, you will find the Ladder Era (1.16) as available on BFW 1.16 add-on server. So you will be able to run the ladder era on the new version while waiting for the official release of Ladder Era. As the era is running within core 1.16, it will run against the default era with stats from version 1.16.
So you're isolated from the latest changes in the development version.

If you're the author of a 1.16 campaign and you want to be shielded from changes in stats for default units in the development version, you can put your campaign without change on the 1.17 add-on server if you add the lines core="core_1_16" and dependencies=Support_1_12_Core (note: _12_ not _16_) in your _server.pbl. Your campaign will then use the units with stats from version 1.16 unchanged.
Feel free to report here any trouble with linking your campaign to the core 1.16.
"simply put, it's an old game"T — Cackfiend
User avatar
Atreides
Posts: 1100
Joined: March 30th, 2019, 10:38 pm
Location: On the 2nd story of the centre village of Merwuerdigliebe turning the lights on and off

Re: Experiment in loading past eras/campaigns in cores

Post by Atreides »

I finally got around to trying out some old 1.10 stuff and it doesn't work. : (

Of the 4 1.10 campaigns I downloaded 3 gave errors (missing macro) and 1 passed. I moved the 3 out and tried to load the passing one but when I switch core to 1.10 it tells me no campaigns are available at all.

Or did I not do it right?

Puzzled.
demario
Posts: 133
Joined: July 3rd, 2019, 1:05 pm

Re: Experiment in loading past eras/campaigns in cores

Post by demario »

Atreides wrote: January 12th, 2024, 11:04 pm I finally got around to trying out some old 1.10 stuff and it doesn't work. : (

Of the 4 1.10 campaigns I downloaded 3 gave errors (missing macro) and 1 passed. I moved the 3 out and tried to load the passing one but when I switch core to 1.10 it tells me no campaigns are available at all.

Or did I not do it right?

Puzzled.
Sorry to hear that. Have you edited the file _info.cfg of the add-ons to add the line core=core_1_10?
You could give me the list of the add-ons and I would try on my side to check what is going wrong. Regards.
"simply put, it's an old game"T — Cackfiend
User avatar
Atreides
Posts: 1100
Joined: March 30th, 2019, 10:38 pm
Location: On the 2nd story of the centre village of Merwuerdigliebe turning the lights on and off

Re: Experiment in loading past eras/campaigns in cores

Post by Atreides »

demario wrote: January 13th, 2024, 4:04 am
Atreides wrote: January 12th, 2024, 11:04 pm I finally got around to trying out some old 1.10 stuff and it doesn't work. : (

Of the 4 1.10 campaigns I downloaded 3 gave errors (missing macro) and 1 passed. I moved the 3 out and tried to load the passing one but when I switch core to 1.10 it tells me no campaigns are available at all.

Or did I not do it right?

Puzzled.
Sorry to hear that. Have you edited the file _info.cfg of the add-ons to add the line core=core_1_10?
You could give me the list of the add-ons and I would try on my side to check what is going wrong. Regards.
Thanks, that got me one step farther. Now all 5 campaigns show up.

Unfortunately all 5 cause Wesnoth to crash back to the OS. Tried it both with WML wayback mod option chosen and not chosen.

Here is the log:

Code: Select all

Battle for Wesnoth v1.16.11 x86_64
Started on Sat Jan 13 13:13:48 2024


Data directory:               /app/share/wesnoth
User configuration directory: /home/USER/.var/app/org.wesnoth.Wesnoth/config/wesnoth
User data directory:          /home/USER/.var/app/org.wesnoth.Wesnoth/data/wesnoth/1.16
Cache directory:              /home/USER/.var/app/org.wesnoth.Wesnoth/cache/wesnoth

20240113 13:13:48 warning general: setlocale() failed for 'de_DE'.
20240113 13:13:48 warning general: setlocale() failed for 'de_DE'.
Setting mode to 1920x1080
Checking lua scripts... ok
20240113 13:13:55 warning filesystem: Conflicting files in binary_path: '/app/share/wesnoth/images/misc/logo.png' and '/home/USER/.var/app/org.wesnoth.Wesnoth/data/wesnoth/1.16/data/add-ons/Support_1_12_Core_Resources/core-1.12/images/misc/logo.png'
/usr/include/c++/13.2.0/bits/stl_vector.h:1125: std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::operator[](size_type) [with _Tp = std::shared_ptr<ng::create_engine::extras_metadata>; _Alloc = std::allocator<std::shared_ptr<ng::create_engine::extras_metadata> >; reference = std::shared_ptr<ng::create_engine::extras_metadata>&; size_type = long unsigned int]: Assertion '__n < this->size()' failed.
Yikes.
gfgtdf
Developer
Posts: 1433
Joined: February 10th, 2013, 2:25 pm

Re: Experiment in loading past eras/campaigns in cores

Post by gfgtdf »

an assertion is always an error in the c++ engine code, so feel free to file a bug report if you have an somewhat easy way to reproduce (or alternatively a stacktrace), (that said, it is most of the time also a bug in the wml code, the error in the c++ side is then not to give a better error message )
Scenario with Robots SP scenario (1.11/1.12), allows you to build your units with components, PYR No preperation turn 1.12 mp-mod that allows you to select your units immideately after the game begins.
User avatar
Atreides
Posts: 1100
Joined: March 30th, 2019, 10:38 pm
Location: On the 2nd story of the centre village of Merwuerdigliebe turning the lights on and off

Re: Experiment in loading past eras/campaigns in cores

Post by Atreides »

Just dropping a line to say that it's working fine so far with The Militia. The other 3 also load but naturally I've not started them yet.

I did have a question about the display of some of the units. In the 1.10 core some units like the Poacher (I think it was) show up with a (1.14) added to the unit's name. I'm guessing this means it is using the 1.14 and older version? It is a little puzzling to see 1.14 while "playing 1.10" so I'm trying to figure it out. I mean, what is this telling me? : ) Is the info really needed?
demario
Posts: 133
Joined: July 3rd, 2019, 1:05 pm

Re: Experiment in loading past eras/campaigns in cores

Post by demario »

Atreides wrote: January 21st, 2024, 12:52 am Just dropping a line to say that it's working fine so far with The Militia. The other 3 also load but naturally I've not started them yet.
I made a fix to make it easier to load 1.10 add-ons in core "Selamat" (core_1_10). It is available for download at version 1.4.7 of the add-on.
Atreides wrote: I did have a question about the display of some of the units. In the 1.10 core some units like the Poacher (I think it was) show up with a (1.14) added to the unit's name. I'm guessing this means it is using the 1.14 and older version? It is a little puzzling to see 1.14 while "playing 1.10" so I'm trying to figure it out. I mean, what is this telling me? : ) Is the info really needed?
Actually, if a unit name has no suffix, what it tells a BfW 1.16 player using the core 1.10 is that this unit has the same stats as the one they know from BfW 1.16 (ie no change in this unit definition between 1.10 and 1.16). Similarly, if the name has "(1.14)" suffix, it tells the same 1.16 player using the core that the unit is the same as they used to know in BfW 1.14 (possibly they know the change in stats between 1.14 and 1.16). So the suffix is defined from the 1.16 player's perspective rather than using the core 1.10 as the reference.

This is mainly useful for people who look at old 1v1 replays. If they see something strange in the replay, it is a reminder that some of the stats may not be the ones they are familiar with from the current version. The role of a unit might have change in some 1v1 matchup after the stats have been changed. The suffix also helps the player to know which versions they should compare to know the details of the earliest stats change applicable in that version.

If you play an add-on in the core 1.10, and see a unit with a suffix that it is clearly too weak or too strong, you can use this information to check if later changes in stats are likely to help fixing the problem.

About which changes of unit stats are actually highlighted by a suffix, the rule is as follow:
  • defenses, resistances and movement (and mandatory traits) are highlighted by a suffix to the unit race when applicable to the whole race
  • hitpoints, change in advancement (and defenses, resistances and movement when specific to the unit) are highlighted by a suffix to the unit type
  • cost, max experience is highlighted only for recruitable units (by a suffix to the unit type)
  • changes to attack (strikes, damage or damage type) are highlighted by a suffix to the attack name
  • change to undead variation is not highlighted, but variations have a suffix if their stats changed
Last edited by demario on April 7th, 2024, 11:43 am, edited 2 times in total.
"simply put, it's an old game"T — Cackfiend
User avatar
Atreides
Posts: 1100
Joined: March 30th, 2019, 10:38 pm
Location: On the 2nd story of the centre village of Merwuerdigliebe turning the lights on and off

Re: Experiment in loading past eras/campaigns in cores

Post by Atreides »

Thanks for the explanation. I guess it's needed for the replays. It sure highlights changes too. I got curious and ran a diff on my installed 1.16 & 14 & 12 and was surprised to see how many stat changes 16 brought. 14 was mostly non stat changes although more (265 vs 251) files were changed from 12. Naturally all the magenta macros were gone which explains it. : )

As for the Poacher he gained 1 hp in 1.16. I sort of recall reading about how he needed to be "buffed". Hehehe. I expect the 1.18 version will have tons of (1.16) marked units what with all the planned changes.

The Khalifate -> Dunefolk I -> Dunefolk II changes however are massive. Whew. Hmmm I should check the latest 17 with 16 and see how they are being changed...
Post Reply