vghetto port project

Discussion and development of scenarios and campaigns for the game.

Moderator: Forum Moderators

Post Reply
gnombat
Posts: 706
Joined: June 10th, 2010, 8:49 pm

Re: vghetto port project

Post by gnombat »

Lord-Knightmare wrote: December 25th, 2021, 2:33 pm
  • Birth of Sorcery - description says only 25% is done. Premise is good/decent. I don't want incomplete abandoned works
I don't know about the The Birth of Sorcery in particular (I've never played it) but I do think there are some campaigns on the add-on server that are really good and worthwhile playing even though they were never completed.
Lord-Knightmare wrote: December 25th, 2021, 2:33 pm
  • Lord_Of_The_South - there is no addon of this name in 1.12/1.10/1.8/1.6
This is on the 1.12 add-ons server with the title The Desert Scorpion.
Lord-Knightmare wrote: December 25th, 2021, 2:33 pm
  • PC_Campaign - does not exist?
This is on the 1.12 add-ons server with the title The Strange Men.
User avatar
Elvish_Hunter
Posts: 1575
Joined: September 4th, 2009, 2:39 pm
Location: Lintanir Forest...

Re: vghetto port project

Post by Elvish_Hunter »

Atreides wrote: December 24th, 2021, 4:47 pm N.B. turns out wmllint is a text file and can be edited, so anyone can repair the bug in it themselves. Removing the comma inside the "'s for the last two terrains fixed it (tested). It should now also convert maps with those (untested).
It isn't a text file, it's a Python script. It's true that anyone can fix bugs and send pull requests, however it's always better to at least know the basics of Python before doing so.
What's more convenient for Elvish_Hunter? Maybe he can let us know.
Whatever it's more convenient for the user who wants to file a report.
vghetto wrote: December 22nd, 2021, 5:08 pm hmm, there might more than one bug with this.

Both Ggf and Qv have a comma inside the quote, and it's replacing the Ggf with mushrooms instead of flowers.
^Efm is flowers right?
This is the reply I posted on Discord (before noticing that the same issue affects Qv -> Mv, but in this case I'll just remove the comma):
The fixes are actually very simple. In the mapchanges tuple, wmllint checks for Ggf, (with a trailing comma) and replaces it with Gg^Emf (without commas). I don't know why it's been done in this way (maybe to avoid automatic conversions of Ggf terrains with overlays?), however I can either add a comma to Gg^Emf, remove the comma from Ggf or implement a custom rule in the maptransform() function, like I did for the Xol terrain.
Do you have any preference?
Current maintainer of these add-ons, all on 1.16:
The Sojournings of Grog, Children of Dragons, A Rough Life, Wesnoth Lua Pack, The White Troll (co-author)
User avatar
Lord-Knightmare
Discord Moderator
Posts: 2360
Joined: May 24th, 2010, 5:26 pm
Location: Somewhere in the depths of Irdya, gathering my army to eventually destroy the known world.
Contact:

Re: vghetto port project

Post by Lord-Knightmare »

I don't know about the The Birth of Sorcery in particular (I've never played it) but I do think there are some campaigns on the add-on server that are really good and worthwhile playing even though they were never completed.
10 scenarios out of 40, with 3 cutscenes in it. I guess it can be ported.
As for the Desert Scorpion and The Strange Men, the description of the former is appealing enough to expressing an interest in porting. The latter, yeah, I don't see any selling points to port it.

Hmm, anyone ever played Untold Tale: Darkened Skies? The one sentence description seems cool but I got no idea on what it actually is. (on 1.6 addon server).
Creator of "War of Legends"
Creator of the Isle of Mists survival scenario.
Maintainer of Forward They Cried
User:Knyghtmare | My Medium
gnombat
Posts: 706
Joined: June 10th, 2010, 8:49 pm

Re: vghetto port project

Post by gnombat »

Lord-Knightmare wrote: December 25th, 2021, 3:53 pm Hmm, anyone ever played Untold Tale: Darkened Skies? The one sentence description seems cool but I got no idea on what it actually is. (on 1.6 addon server).
That one has only 2 scenarios completed (out of 36 planned).

Again, I wouldn't necessarily say it shouldn't be ported just because it's incomplete, but ... for that one there's not really much there.

(The list of scenarios that were never completed is interesting, though.)
User avatar
Descacharrado
Developer
Posts: 14
Joined: August 5th, 2018, 12:52 pm

Re: vghetto port project

Post by Descacharrado »

vghetto wrote: December 25th, 2021, 1:39 pm
Descacharrado wrote: December 25th, 2021, 12:14 pm Ported "A Walk in the Woods", disregarded "A Princes Tale" for being poor quality.
Did you use 16 xs for the password?

Edit: What's A Princes Tale? I don't see it on my list.
I did use the 16 x's and left this thread for feedback, as it would not let me put 579298 as the feedback topic id.
A Princes tale is a campaign from 1.2, I just wanted to post it here, being the biggest porting project, to register that (at least imo) its not worth porting. Edit: I have now seen that we mostly want completed (or uncompleted but good) abandoned campaigns, so I will focus on those (in the list) in the future.
P.D: Played through The Fall of Wesnoth and liked it very much, it felt mainline and refreshing. This is my feedback: I have seen konrad2s review of it and I agree that it would need some quick grammar check.
It all started when I speedran wesnoth...
User avatar
Lord-Knightmare
Discord Moderator
Posts: 2360
Joined: May 24th, 2010, 5:26 pm
Location: Somewhere in the depths of Irdya, gathering my army to eventually destroy the known world.
Contact:

Re: vghetto port project

Post by Lord-Knightmare »

P.D: Played through The Fall of Wesnoth and liked it very much, it felt mainline and refreshing. This is my feedback: I have seen konrad2s review of it and I agree that it would need some quick grammar check.
You should have seen the storyline dev thread back in the day. It was supposed to be a full set of 75 scenarios, ending with a battle at Wesmere. It was good enough to be put up as a candidate (at least what I think), but too bad it's been ditched.

Surprisingly, all campaigns that wanted to have the Fall of Gaia in them as the main plot have one thing in common: abandoned. #SorryNotSorry
I have now seen that we mostly want completed (or uncompleted but good) abandoned campaigns,
Pretty much what should be aimed for. Completed/incomplete-but-good.

One that comes to my mind is Fire Forged Friends. Lacked scenarios but the thread had all event dialogue, story and character details. It was quickly forgotten too.
Creator of "War of Legends"
Creator of the Isle of Mists survival scenario.
Maintainer of Forward They Cried
User:Knyghtmare | My Medium
User avatar
Descacharrado
Developer
Posts: 14
Joined: August 5th, 2018, 12:52 pm

Re: vghetto port project

Post by Descacharrado »

Lord-Knightmare wrote: December 25th, 2021, 6:03 pm
You should have seen the storyline dev thread back in the day. It was supposed to be a full set of 75 scenarios, ending with a battle at Wesmere. It was good enough to be put up as a candidate (at least what I think), but too bad it's been ditched.
75 scenarios is too ambitious and long, in my opinion. I think TFoW could be finished in two scenarios (having a bad ending for the protagonist) and let other add-ons take on the rest of the story. If you, or anyone wants to go deeper in this convo, I invite y'all to do so on the add-on's thread or over on discord, so we do not take too much space here and make this thread excesively long :).
One that comes to my mind is Fire Forged Friends. Lacked scenarios but the thread had all event dialogue, story and character details. It was quickly forgotten too.
I recently ported and reworked A New Heir, and even if it only had one unfinished scenario, it took me a good week to take it up to the kind of level I would expect from my campaigns (please do not look at my first child The Undead Rising, I will fix it someday :lol:).
It all started when I speedran wesnoth...
Konrad2
Forum Moderator
Posts: 3340
Joined: November 24th, 2010, 6:30 pm

Re: vghetto port project

Post by Konrad2 »

Lord-Knightmare wrote: December 25th, 2021, 6:03 pm One that comes to my mind is Fire Forged Friends. Lacked scenarios but the thread had all event dialogue, story and character details. It was quickly forgotten too.
Yeah, I loved that one too.
vghetto
Posts: 755
Joined: November 2nd, 2019, 5:12 pm

Re: vghetto port project

Post by vghetto »

I haven't gone back to this project yet, I'm still stuck on wesband/weshack trying to hunt down an elusive lua error that I couldn't reproduce after getting it once :/

Anyway...

@Descacharrado you can't link individual posts. It has to be the topic id. In the browser URL that is the number after t=, not p= like so: viewtopic.php?t=<some number>. A_Walk_In_The_Woods thread is viewtopic.php?t=41448.
If you decide to port something else, let us know here before you start, in case someone else have begun the work already.

@Lord-Knightmare and @gnombat. Thank you so much! I will adopt your updated list and drop the rest.

@Elvish_Hunter I don't have a preference. I think Xol works fine as far as I'm aware. So doing Ggf the same way as Xol won't be a bad idea.
User avatar
Descacharrado
Developer
Posts: 14
Joined: August 5th, 2018, 12:52 pm

Re: vghetto port project

Post by Descacharrado »

vghetto wrote: December 25th, 2021, 8:08 pm
@Descacharrado you can't link individual posts. It has to be the topic id. In the browser URL that is the number after t=, not p= like so: viewtopic.php?t=<some number>. A_Walk_In_The_Woods thread is viewtopic.php?t=41448.
Thank you, will do.
If you decide to port something else, let us know here before you start, in case someone else have begun the work already.
I like alphabetical order, so I'll take on the first that is not taken, Adds army is it? If it's not taken, I'll work on that next.

Edit: Done with Adds army
Last edited by Descacharrado on December 26th, 2021, 2:02 pm, edited 1 time in total.
It all started when I speedran wesnoth...
vghetto
Posts: 755
Joined: November 2nd, 2019, 5:12 pm

Re: vghetto port project

Post by vghetto »

octalot wrote: December 21st, 2021, 9:01 pm
vghetto wrote: December 21st, 2021, 6:39 pm I don't know why the core {FOREACH} macros aren't just changed from a [while] to a [for] :/
It was implemented that way for a while and then reverted back to being a [while] in 8bbe4189edd0c11f57c77e30a2c012af0ca30319. I don't know for sure, but I'd guess someone's UMC was incrementing or decrementing the index variable inside the loop.
Ok, I've come up against code that does something similar.
Though generally it isn't a good idea to mess with the i variable inside of the loop, in wesband it is updating the variable i to be the length of the array to force a break out of the loop when some condition is met.
Maybe [break][/break] didn't exist back then?
That's something else we have to look for when doing a port :/
User avatar
egallager
Posts: 583
Joined: November 19th, 2020, 7:27 pm
Location: Concord, New Hampshire
Contact:

Re: vghetto port project

Post by egallager »

Elvish_Hunter wrote: December 25th, 2021, 3:17 pm
What's more convenient for Elvish_Hunter? Maybe he can let us know.
Whatever it's more convenient for the user who wants to file a report.
Hm I guess I'll just go with one big one then... I filed issue #6403.
vghetto
Posts: 755
Joined: November 2nd, 2019, 5:12 pm

Re: vghetto port project

Post by vghetto »

egallager wrote: December 27th, 2021, 8:12 pm
Elvish_Hunter wrote: December 25th, 2021, 3:17 pm
What's more convenient for Elvish_Hunter? Maybe he can let us know.
Whatever it's more convenient for the user who wants to file a report.
Hm I guess I'll just go with one big one then... I filed issue #6403.
Thank you for opening the issue.
I don't know if it is reasonable to expect wmllint to do all of those tasks.
Something like:
wmllint should replace file injections like {~/add-ons/.../deaths.cfg} within scenarios with macros, unless that path isn't already included in _main.cfg.
or clearing variables heal_amount.... shouldn't be up for wmllint to do, imo.

Maybe replacing the old difficulty syntax with the macros can be added to the task list. That's step 5.

Maybe also add a couple more AI things similar to [target], I didn't have these in my steps post, but I do them as well. They have the same syntax as target.

Change [protect_unit]. Example:

Code: Select all

        [goal]
            name=protect_unit
            [criteria]
                side=1
            [/criteria]
            protect_radius=4
            value=5.0
        [/goal]
Change [protect_location]. Example:

Code: Select all

        [goal]
            name=protect_location
            [criteria]
                side=1
            [/criteria]
            protect_radius=4
            value=5.0
        [/goal]
If there's going to be changes to wmllint-1.4, I should add that it sometimes crashes.
Running wmllint-1.4 on the Wesband/units folder would crash it. There were others add-ons in which it crashed as well, but I don't remember which. I'll list them here when I do my update round.
User avatar
egallager
Posts: 583
Joined: November 19th, 2020, 7:27 pm
Location: Concord, New Hampshire
Contact:

Re: vghetto port project

Post by egallager »

vghetto wrote: December 28th, 2021, 1:34 am
egallager wrote: December 27th, 2021, 8:12 pm
Elvish_Hunter wrote: December 25th, 2021, 3:17 pm
What's more convenient for Elvish_Hunter? Maybe he can let us know.
Whatever it's more convenient for the user who wants to file a report.
Hm I guess I'll just go with one big one then... I filed issue #6403.
Thank you for opening the issue.
I don't know if it is reasonable to expect wmllint to do all of those tasks.
Something like:
wmllint should replace file injections like {~/add-ons/.../deaths.cfg} within scenarios with macros, unless that path isn't already included in _main.cfg.
or clearing variables heal_amount.... shouldn't be up for wmllint to do, imo.
OK I can remove those if that'd be your preference; just let me know.
Maybe replacing the old difficulty syntax with the macros can be added to the task list. That's step 5.
That's checkbox 4 in the bug report.
Maybe also add a couple more AI things similar to [target], I didn't have these in my steps post, but I do them as well. They have the same syntax as target.

Change [protect_unit]. Example:

Code: Select all

        [goal]
            name=protect_unit
            [criteria]
                side=1
            [/criteria]
            protect_radius=4
            value=5.0
        [/goal]
Change [protect_location]. Example:

Code: Select all

        [goal]
            name=protect_location
            [criteria]
                side=1
            [/criteria]
            protect_radius=4
            value=5.0
        [/goal]
Oh yeah I thought that was kind of implicit with the target thing, but I can be more explicit about it if you'd like.
If there's going to be changes to wmllint-1.4, I should add that it sometimes crashes.
Running wmllint-1.4 on the Wesband/units folder would crash it. There were others add-ons in which it crashed as well, but I don't remember which. I'll list them here when I do my update round.
If you could get backtraces and more specifics about the context of the crashes, that'd be helpful.
User avatar
Celtic_Minstrel
Developer
Posts: 2207
Joined: August 3rd, 2012, 11:26 pm
Location: Canada
Contact:

Re: vghetto port project

Post by Celtic_Minstrel »

I see a few issues with your porting process…
vghetto wrote: December 11th, 2021, 4:32 am Step 2:
Remove bomb and change file formats from dos to unix. I do that with vim:

vim *.cfg ./*/*.cfg ./maps/*.map

From within vim:

Code: Select all

:bufdo set nobomb | w
:bufdo set fileformat=unix | w
:bufdo set fileencoding=utf-8 | w
What's the point of this? The BOM exists for a reason, and the add-on should run equally well with or without it.

vghetto wrote: December 11th, 2021, 4:32 am Step 3:
Then I would run wmllint-1.4 and wmllint

Scrutinize what it is being changed!! It can screw up! Use git diff
Beware that wmllint-1.4 may change windmill villages into regular villages (^Vwm -> ^Vh). Reject those.
This is wrong!!! Under no circumstances should you be running wmllint-1.4 on an add-on written for Wesnoth 1.12 – it's only intended for add-ons written for Wesnoth 1.2 (ie, 10 versions earlier).

vghetto wrote: December 11th, 2021, 4:32 am changing [target] into:

Code: Select all

    [goal]
	name=target
        [criteria]
            side=1
        [/criteria]
        value=5.0
    [/goal]
The [target] syntax is supposed to still be valid indefinitely, although there may have been a bug in 1.14 (fixed in 1.16) that prevented it from working? That aside, there's also three other tags that would need a similar treatment… if I recall correctly, [target_location], protect_unit], and [protect_location].
vghetto wrote: December 11th, 2021, 4:32 am Step 8:
Search for and replace all true to yes and false to no in all *.cfg (terrains.cfg usually have some)
This seems pointless, since the WML parser treats true/yes and false/no as synonyms. In fact, in the GUI2 WML, true and false are consistently used instead of yes and no (I have no idea why this is, only that it is the case).
vghetto wrote: December 11th, 2021, 4:32 am Replace file injections like {~/add-ons/.../deaths.cfg} within a scenario with a macro. Unless that path isn't already included in _main.cfg.
I don't really understand what this even means…?
vghetto wrote: December 11th, 2021, 4:32 am Fix dimensions of images that are less than 72x72

Code: Select all

wes-1.14 --render-image "misc/blank-hex.png~BLIT(units/monsters/fireghost-death6.png,1,1)" fixed_dimensions.png
Why would you even want to do this? And even if you do, automating like that it seems like a disaster waiting to happen.

vghetto wrote: December 11th, 2021, 4:32 am Remove {SPECIAL_NOTES} from units:

Code: Select all

sed -i "s/\+{SPECIAL_NOTES.*$//g" units/*.cfg units/*/*.cfg
Add special_note= to custom abilities where needed.
You're missing how to handle a one-off special note. If it's a literal string (ie, {SPECIAL_NOTES}+_"This is a note!"), then you need to add a [special_note] tag in the [unit_type]:

Code: Select all

[special_note]
	note=_"This is a note!"
[/special_note]
If it's a custom note macro that's associated with a movetype (ie, every unit with that movetype has it and no units without that movetype have it), then add the [special_note] tag to the movetype definition in the [units] tag. If it's a custom note macro associated with a custom damage type (eg "electrical"), you need to add it in the [language] tag:

Code: Select all

[language]
	special_note_damage_type_electrical=_"This is a note!"
[/language]
vghetto wrote: December 11th, 2021, 4:32 am Step 15:
Change ^Uf terrains into ^Tf terrains.

Code: Select all

sed -i "s/\^Uf/\^Tf/g" maps/*.map
This isn't necessarily correct. It preserves the look of the map, but if you instead want to preserve the stats, you should use Tb^Tf, overwriting the pre-existing base.

In a campaign, I think preserving the look is usually correct, but the existence of the other option is why it's not automated in wmllint.
vghetto wrote: December 12th, 2021, 2:40 am
egallager wrote: December 11th, 2021, 6:35 pm Dang, that's a lot of steps; the fact that wmllint/wmlindent don't handle some of those things themselves ought to be considered bugs, IMO
I use the 1.14 version of wmllint. Maybe the latest does some of them. I haven't checked.
You should always use the version of wmllint that ships with the target version of Wesnoth, so this is correct when porting to 1.14. You should be using the 1.16 version when porting to 1.16.

vghetto wrote: December 28th, 2021, 1:34 am If there's going to be changes to wmllint-1.4, I should add that it sometimes crashes.
Running wmllint-1.4 on the Wesband/units folder would crash it. There were others add-ons in which it crashed as well, but I don't remember which. I'll list them here when I do my update round.
It was never written to handle that, so it's fine. Just don't run it on add-ons newer than 1.2 and you should be fine.
Author of The Black Cross of Aleron campaign and Default++ era.
Former maintainer of Steelhive.
Post Reply