A New Order (ANO) campaign - version 1.1.6

Discussion and development of scenarios and campaigns for the game.

Moderator: Forum Moderators

Post Reply
peet
Posts: 238
Joined: October 30th, 2006, 4:38 am
Location: Toronto
Contact:

Re: A New Order (ANO) campaign - version 1.0.1 on server

Post by peet »

One of the things I did back when I played this campaign a lot was that I changed the number of traits for the Akladians to 2 (from 1), and I gave many of the starting characters in the first scenario a second trait to create some "personality" for them - that is to create some difference between the various units aside from just the names.

The problem with this is that after scenario 4 all those extra traits get stripped from all those units. This is because of the routine that saves the units when you leave the map. It's in ano_macros.cfg and is the routine that starts like this:

#define VARTOUNIT ARRAY INDEX SIDE X Y

You'll note that the designer deliberately set up this routine to only store one trait, as if he wanted to prevent the possibility that your units might have two traits. Not sure why, since there's no way for that to happen as written.

Anyway, my WML isn't good enough to figure out how to make the routine simply save all existing traits, but I came up with a hack that saves the first trait and then converts the second trait to loyal. This kind of makes sense, since the Battle of Barnon is supposed to be harrowing and the survivors might become loyal if they weren't already. This only saves the first of the two traits though, so I had to make sure the non-loyal trait I gave people was the first of the two traits.

Also, I noticed in the WML that other survivors of the battle of Barnon are supposed to be saved in the variable "ano_prisoned".

Code: Select all

		[store_unit]
			[filter]
				[not]
					description=Gawen Hagarthen
				[/not]
				side=1
			[/filter]
			variable=ano_prisoned
		[/store_unit]
This implies that those units may in fact be rescuable later on (either upon rescuing Reme or returning to Barnon), but I never found a use of this variable anywhere else so I'm not sure if that was ever implemented.

Peet
Attachments
side.cfg
My changes to scenario 1 giving extra traits to the units. Only contains information contained within the [side] tag for side 1.
(4.27 KiB) Downloaded 373 times
vartounit.cfg
I'm not sure if you had to update anything else from ano-macros.cfg so this file only contains the VARTOUNIT routine.
(2.99 KiB) Downloaded 317 times
peet
Posts: 238
Joined: October 30th, 2006, 4:38 am
Location: Toronto
Contact:

Re: A New Order (ANO) campaign - version 1.0.1 on server

Post by peet »

Another thing I did with this campaign is that I added a bit to scenario 2 where you get a free wiseman. The idea is that he appears and the dialogue explains what wisemen do. Since this is the first scenario in which wisemen can be recruited it made sense to have one appear who would explain that.

The code below is what I had put in after the dialogue with Reme and Lorin is finished.

Peet
Attachments
orien.cfg
The appearance of "Orien," a wiseman, in scenario 2.
(2.28 KiB) Downloaded 309 times
User avatar
Rhishisikk
Posts: 214
Joined: August 12th, 2008, 4:58 pm
Location: As Contract Demands
Contact:

Re: A New Order (ANO) campaign - version 1.0.1 on server

Post by Rhishisikk »

Many thanks, peet. I had considered something like Orien myself. Not sure that extra traits are required for the S1 units, but I concur that flavor rarely hurts.

As for the unit STORAGE, I'm thinking that may need to be entirely re-done. I *strongly* suspect that it may be the reason for the crashes at the end of scenarios 4 and 8. I'm not certain yet, which is why I haven't overhauled it just a'cause.

ESPECIALLY for when it was written, this code is outstanding. It would literally take me months to do something like this, and I'm not certain I could do it even half so well. A number of things this campaign does are 'firsts', things that were later done by other code. (For example, the limited recruits in Outlaw Place[8].)

It's a classic, and I was distrought running through it only to have it crash in scenario 4. I'm not looking for major changes, and FIRST I want to get it working. So I thank you for your code, I'm certain to use Orien. But please understand I'm not planning on placing him into the next release.
Typhon Rhishisikk

If a man has a talent and cannot use it, he has failed. - Thomas Wolfe
Wesluck (TM): Guaranteed unlike any other luck, anywhere else. - Typhon

Main Projects: ANL: Universal (era), Gambit's Empire Builder
User avatar
Rhishisikk
Posts: 214
Joined: August 12th, 2008, 4:58 pm
Location: As Contract Demands
Contact:

Re: A New Order (ANO) campaign - version 1.0.1 on server

Post by Rhishisikk »

AHA! Thank you, Turuk. It's good news in that it's what I think it was. It's bad news in that I had a bad day at work, which is no time to be working on difficult code.

It would be SO EASY in Visual Basic or C++.

For Each UNIT in recall_list
prison_list.push(UNIT)
Next UNIT
recall_list.clear()

I'm fairly certain that it's at least two stages more complicated, and I don't have the willpower to struggle with it right now.

And just because I tend to forget at times like this, thank you Turuk. It means a lot to me to KNOW what is wrong. (So, yes, you definitely get to be in the credits. Good work and well done.)
Typhon Rhishisikk

If a man has a talent and cannot use it, he has failed. - Thomas Wolfe
Wesluck (TM): Guaranteed unlike any other luck, anywhere else. - Typhon

Main Projects: ANL: Universal (era), Gambit's Empire Builder
User avatar
Turuk
Sithslayer
Posts: 5283
Joined: February 28th, 2007, 8:58 pm
Contact:

Re: A New Order (ANO) campaign - version 1.0.1 on server

Post by Turuk »

Not a problem, told you I'd be more than willing and ready to help playtest the hell out of the campaign. I also know that part of my job description is not just to go hey, this does not work, but to try and establish the why so that you can figure out the how to fix it. :D

Also, I sent you more details in a PM, mainly because it ended up being a bit long and more suited to that format.
Mainline Maintainer: AOI, DM, NR, TB and THoT.
UMC Maintainer: Forward They Cried, A Few Logs, A Few More Logs, Start of the War, and Battle Against Time
t3st3r
Posts: 53
Joined: September 21st, 2008, 8:54 pm

Played it and got "Assertion failed" error :(

Post by t3st3r »

Battle for Wesnoth 1.4.4, Kubuntu x64 system. Map is Outlaw base. When I am killing outlaw leader, I'm about to win. However, instead of victory I can see some few units are fade out in top left corner. Then game crashes. Or to be exact, Wesnoth quits with following message:

wesnoth: actions.cpp:195: std::string recruit_unit(const gamemap&, int, unit_map&, unit, gamemap::location&, bool, bool, bool, bool): Assertion `!wml_recall' failed.
Aborted

Problematic savegame attached.

To reproduce just kill outlaw leader, Karen has very good probability killing leader in this savegame.

P.S. to gamedevs: to be honest, I prefer to see Wesnoth's usual neat message and then return to main game menu in such cases. This error seems to be scenario-specific and I have no idea why there is need to completely crash application. In Linux if you're running this as GUI program you will have no idea why Wesnoth crashes until you'll run it from console to see this message. I'm not aware how assertions displayed in Windows though but in Linux majority of usual users will sinply have no idea what's wrong.
Attachments
ANO-Outlaw_Base-Auto-Save10.gz
(41.4 KiB) Downloaded 323 times
t3st3r
Posts: 53
Joined: September 21st, 2008, 8:54 pm

Re: A New Order (ANO) campaign - version 1.0.1 on server

Post by t3st3r »

Hmm, I found that latest version according to it's changelog should correct this issue.
However it looks like it is not. I downloaded 1.0.1, erased cache and replayed mentioned scenario. Still got same problem :(.Are there something wrong in earlier maps?Have I option to continue campaign w\o trying from begin?What exactly causes this assertion?
User avatar
Rhishisikk
Posts: 214
Joined: August 12th, 2008, 4:58 pm
Location: As Contract Demands
Contact:

Re: A New Order (ANO) campaign - version 1.0.1 on server

Post by Rhishisikk »

I'm not sure when it stores the scenario data, but I've always presumed it's at the start of the campaign. Don't worry, Turuk has reported an error that I'm still trying to track down. If it matters, the assertion error SEEMS to have been caused by leaving loyal units in the recall queue. (Which is fixed, but for some reason only on my computer.)

The campaign is turning out to be a work in and of itself, which is fun and educational, ESPECIALLY after it gets most hopeless and depressing. But it IS still a work in progress, I can only hope I'm fixing more bugs than I end up adding.

If you want to help, please do try from a blank slate. It is a LONG way off before I can pronounce the campaign stable.
Typhon Rhishisikk

If a man has a talent and cannot use it, he has failed. - Thomas Wolfe
Wesluck (TM): Guaranteed unlike any other luck, anywhere else. - Typhon

Main Projects: ANL: Universal (era), Gambit's Empire Builder
User avatar
Rhishisikk
Posts: 214
Joined: August 12th, 2008, 4:58 pm
Location: As Contract Demands
Contact:

Re: A New Order (ANO) campaign - version 1.0.3

Post by Rhishisikk »

To all concerned:

Found an obsolete series of code options that simulate the AMLA. This is fine, and I am using macros to update this part of ANO. However, I have also made the first major change to ANO balance:

ANO AMLAs will provide full heals to bring them in line with default era AMLAs. This change will be effective with the 1.1.0 release of New Order.

Please inform me ASAP if this makes later scenarios too easy.

Pending updates:
Macros for [allow_recruit], to prevent scenarios where the RECRUIT list is reset to NULL.

Disclaimer:
Part of the trouble with my programming seems to be the Windows platform. Please inform me of any unique errors you encounter on other OS platforms.
Typhon Rhishisikk

If a man has a talent and cannot use it, he has failed. - Thomas Wolfe
Wesluck (TM): Guaranteed unlike any other luck, anywhere else. - Typhon

Main Projects: ANL: Universal (era), Gambit's Empire Builder
t3st3r
Posts: 53
Joined: September 21st, 2008, 8:54 pm

Re: A New Order (ANO) campaign - version 1.0.1 on server

Post by t3st3r »

Rhishisikk wrote:If you want to help, please do try from a blank slate. It is a LONG way off before I can pronounce the campaign stable.
Sorry, English is not my native language and I had some problems understanding this phrase. Actually I have no idea why word "slate" used here. Does this means I should try to replay campaign from scratch if I want to help? (I'm surely do, so I can try to replay it).
Disclaimer:
Part of the trouble with my programming seems to be the Windows platform. Please inform me of any unique errors you encounter on other OS platforms
Wesnoth itself is pretty cross-platform. Scenarios are platform-independent data and scripts and even Wesnoth itself usually compiled from same sources anyway. So I guess it should not really matter which platform I'm and you're using. Looks like even bugs are similar. The only real difference is that I'm using 1.4.4 (from system repositories) while 1.4.5 is out. However I see no bugs fixed which may affect campaign gameplay.

P.S. well, looks like system has updated Wesnoth to 1.4.5 so now I should have most recent stable version too...
t3st3r
Posts: 53
Joined: September 21st, 2008, 8:54 pm

Re: A New Order (ANO) campaign - version 1.0.3

Post by t3st3r »

Now there is 1.1.0 on server and it fails to load:

20081019 08:21:30 error config: error reading usermade add-on '/home/sk/.wesnoth/data/campaigns/A_New_Order'
20081019 08:21:30 error general: The following add-on had errors and could not be loaded:
/home/sk/.wesnoth/data/campaigns/A_New_Order
ERROR DETAILS:
^Missing closing tag for tag advancement at /home/sk/.wesnoth/data/campaigns/A_New_Order/units/akladians/Akladian_Fastfoot.cfg:26 included from /home/sk/.wesnoth/data/campaigns/A_New_Order/units/_main.cfg:157 included from /home/sk/.wesnoth/data/campaigns/A_New_Order/_main.cfg:53 at /home/sk/.wesnoth/data/campaigns/A_New_Order/_main.cfg:58
^
User avatar
Rhishisikk
Posts: 214
Joined: August 12th, 2008, 4:58 pm
Location: As Contract Demands
Contact:

Re: A New Order (ANO) campaign - version 1.0.3

Post by Rhishisikk »

t3st3r wrote:Now there is 1.1.0 on server and it fails to load:

20081019 08:21:30 error config: error reading usermade add-on '/home/sk/.wesnoth/data/campaigns/A_New_Order'
20081019 08:21:30 error general: The following add-on had errors and could not be loaded:
/home/sk/.wesnoth/data/campaigns/A_New_Order
ERROR DETAILS:
^Missing closing tag for tag advancement at /home/sk/.wesnoth/data/campaigns/A_New_Order/units/akladians/Akladian_Fastfoot.cfg:26 included from /home/sk/.wesnoth/data/campaigns/A_New_Order/units/_main.cfg:157 included from /home/sk/.wesnoth/data/campaigns/A_New_Order/_main.cfg:53 at /home/sk/.wesnoth/data/campaigns/A_New_Order/_main.cfg:58
^
Fixed, sorry, posting now.
Typhon Rhishisikk

If a man has a talent and cannot use it, he has failed. - Thomas Wolfe
Wesluck (TM): Guaranteed unlike any other luck, anywhere else. - Typhon

Main Projects: ANL: Universal (era), Gambit's Empire Builder
t3st3r
Posts: 53
Joined: September 21st, 2008, 8:54 pm

Re: A New Order (ANO) campaign - version 1.0.3

Post by t3st3r »

Well, I replayed it and found something.

Assertion failed error appeared again. But it appears ONLY if I'm killing Rob Roe by Karen or other unit. If I'm killing it by Haldric as suggested, there is NO assertion happens. Instead, I given choice to hire Rob into my army and then dialog pops up to ask him questions. Then scenario wins normally without assertions. Assertion error ONLY appears if Rob was killed by someone else.
User avatar
Rhishisikk
Posts: 214
Joined: August 12th, 2008, 4:58 pm
Location: As Contract Demands
Contact:

Re: A New Order (ANO) campaign - version 1.0.3

Post by Rhishisikk »

Oh my. That may be linked to the end of scenario 4 (Battle of Barnon) error that was fixed. I'm testing my fix for the assertion error now, will post soon if it is fixed.

[edit]
GOT IT! I'm not going to say what it is, but I feel stupid for not having caught it earlier. One of the macros beneath the macros had a flaw. It SHOULD be fixed now. Given that this is the third time I've had to kill this bug, I'm hoping I actually got it this time. Oh, and the under-macros need more work than I can put in tonight.

On the plus side, if this works, all the problems with the recall list when swapping leaders SHOULD be gone now. There's still a problem with Gawen resetting at scenario 7, which I'll work on after a good night's sleep.

Latest fix is posting now.
[/edit]
Typhon Rhishisikk

If a man has a talent and cannot use it, he has failed. - Thomas Wolfe
Wesluck (TM): Guaranteed unlike any other luck, anywhere else. - Typhon

Main Projects: ANL: Universal (era), Gambit's Empire Builder
User avatar
Turuk
Sithslayer
Posts: 5283
Joined: February 28th, 2007, 8:58 pm
Contact:

Re: A New Order (ANO) campaign - version 1.0.3

Post by Turuk »

Rhishisikk, I got your messages and read this to note all your changes, I'll play back through to see if I can discover the same errors I had before. Hopefully with all your fixes, everything should be good now.
Mainline Maintainer: AOI, DM, NR, TB and THoT.
UMC Maintainer: Forward They Cried, A Few Logs, A Few More Logs, Start of the War, and Battle Against Time
Post Reply