A New Order (ANO) campaign - version 1.1.6
Moderator: Forum Moderators
Re: A New Order (ANO) campaign - version 1.0.1 on server
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".
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
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]
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 375 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 318 times
Re: A New Order (ANO) campaign - version 1.0.1 on server
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
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 311 times
- 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
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.
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
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
- 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
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.)
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
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
Re: A New Order (ANO) campaign - version 1.0.1 on server
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.
Also, I sent you more details in a PM, mainly because it ended up being a bit long and more suited to that format.
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
UMC Maintainer: Forward They Cried, A Few Logs, A Few More Logs, Start of the War, and Battle Against Time
Played it and got "Assertion failed" error :(
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.
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 325 times
Re: A New Order (ANO) campaign - version 1.0.1 on server
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?
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?
- 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
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.
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
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
- 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
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.
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
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
Re: A New Order (ANO) campaign - version 1.0.1 on server
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).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.
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.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
P.S. well, looks like system has updated Wesnoth to 1.4.5 so now I should have most recent stable version too...
Re: A New Order (ANO) campaign - version 1.0.3
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
^
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
^
- 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
Fixed, sorry, posting now.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
^
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
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
Re: A New Order (ANO) campaign - version 1.0.3
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.
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.
- 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
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]
[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
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
Re: A New Order (ANO) campaign - version 1.0.3
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
UMC Maintainer: Forward They Cried, A Few Logs, A Few More Logs, Start of the War, and Battle Against Time