AGElint -- an AGE debugging toolkit

Post new mods and scenarios here.
Post Reply
User avatar
berto
Posts: 21461
Joined: Wed Mar 13, 2002 1:15 am
Location: metro Chicago, Illinois, USA
Contact:

RE: AGElint: AGEWiki docs vs. actual usage

Post by berto »


Returning to the ChgUnitPoolInfos case (there are others) of where the AGEWiki pages appear to be, if not "flat out wrong", then questionable.

The AGEWiki page

ChgUnitPoolInfos

clearly indicates three parameters

ChgUnitPoolInfos = <UnitDef>|<variation of Force Pool>|<AI Pool Ratio>

with none of them optional. But there are more than a few cases of actual usage where the parameters are only two (see post #92 above).

So what do I do? Reject the usage evidence, and report those as errors (as Chliperic suggests I do in post #95 above)? And risk possible false positives?

I have instead decided to report such unusual -- maybe? probably? definitely? -- "wrong" usages as warnings:

Code: Select all

chgunitpoolinfos: _CHGUNITPOOLINFOS eq unidefval sc int {
                     txterrmsg(_WARNING, TRUE, linenorhs, "suspicious, apparent omission of <AI Pool Ratio> as third argument");
                   }
                 | _CHGUNITPOOLINFOS eq unidefval sc int sc pct
                 {
                 /*
                 http://www.ageod.net/agewiki/ChgUnitPoolInfos
                 Syntax:  ChgUnitPoolInfos = <UnitDef>|<variation of Force Pool>|<AI Pool Ratio>
 
                 contrary to the docs, uses ; instead of |
                 */
                 }
                 ;

Here, too, note the: "contrary to the docs, uses ; instead of |".

Tricky, tricky business, this coding the txt.y parser. Also straddling the line between reporting too many "errors" (too many false positives) vs. reporting too few.

Reporting a "warning" instead of a definite "error" allows me to hedge my bets. In fact, I had added the "warning" category to cover gray areas such as these. (I also had added the "notice" category to cover the nitpicky stuff.)

Report questionable stuff in full. Then let the developer/modder decide the issues!
Campaign Series Legion https://cslegion.com/
Campaign Series Lead Coder https://www.matrixgames.com/forums/view ... hp?f=10167
Panzer Campaigns, Panzer Battles Lead Coder https://wargameds.com
User avatar
berto
Posts: 21461
Joined: Wed Mar 13, 2002 1:15 am
Location: metro Chicago, Illinois, USA
Contact:

RE: AGElint: AGEWiki docs vs. actual usage

Post by berto »


Recently, I've posted a lot of wordy blah blah about AGEWiki docs vs. actual usage, ambiguity and nuance, false positives, etc. Very long message posts, and for that I apologize. I will try to cut it short in future. (Although I may be verbose about other topics. [;)])

I just want to hammer the point: Coding this QA stuff, it ain't easy.

Some critics seem to think otherwise, that this is all simple and straightforward (and "why all the false positives?"). They are wrong. If AGElint is to be truly useful, if AGE QA is to be Done Right, we have to consider all ambiguities, nuances, and complexities. And comprehend the enormity of the game data sets (in the case of PON, >1 GB, 60,000+ data files!).

To think otherwise, to trivialize the problem, is to poison the discussion, and consign AGElint to failure. Then it's back to eyeballing the .xls DB files and/or reporting gameplay bugs in a haphazard, hit-or-miss, anecdotal fashion at the AGEOD (or Matrix) Forum -- a hopeless, never-ending effort to seek out bug after bug after bug ... one by one ... forever... [X(] ... [>:]

Good luck with that! [8|]

There's got to be a better way. AGElint is one way.
Campaign Series Legion https://cslegion.com/
Campaign Series Lead Coder https://www.matrixgames.com/forums/view ... hp?f=10167
Panzer Campaigns, Panzer Battles Lead Coder https://wargameds.com
User avatar
Chilperic
Posts: 964
Joined: Sun Mar 21, 2010 4:11 pm

RE: AGElint: AGEWiki docs vs. actual usage

Post by Chilperic »

You're listened, and fast:

http://www.ageod.net/agewiki/Special:RecentChanges

For these ones:

ChgPopContent
ChgPopEducation
ChgPopMilitancy

I can't say much. there are AGE 3.0 commands, for PON, and one of my biggest fortune of my modding life has been to not be involved in PON [:D]

Don't worry, at last for me/ i'm reading anything especially if it's difficult. Doing a game is business, not play. It doesn't suffice to get a joking title. What is needed is work, painful work. In the end, agelint suppresses a large part of the work, even with a few false positive. They would be hundred, I would yet consider agelint to be of immense value, because with I know what isn't yet working isn't a bug of the engine, but a bug introduced by me. It would just be foolish to discard such a tool, unless I would be arrogant or lazy.

Why so much work? just because the pleasure to play a real historical RCW against a Red AI able to send a second Army on my rear when I'm sieging Tzarystsin is so much rewarding in playing a real wargame it was worth the effort. I'm a modest craftman who just intends to get the tool he whishes for play. As many superfluous things, it requires, work, smartness and humility. [:)]That's because I'm a worker FY is rewarding. And because i know really the engine too [:D] as I've worked to learn it. Mainly the AI. For many working on the AI is a secondary task, devoted to stupid guys when the noble art is named design. They're worng: the only key for design in a computer strategy games is AI work.
User avatar
Chilperic
Posts: 964
Joined: Sun Mar 21, 2010 4:11 pm

RE: AGElint: AGEWiki docs vs. actual usage

Post by Chilperic »

An example:

SelectFaction, selected: Southern Whites
Line 162805: Started processing event: evt_nam_Eval_WHI_eco
Line 162805: This event is not yet referenced, base number of allowed occurences 999
Line 162810: Min date evaluated: 1918/06/01 converted to turn 4043 current turn 4071 True
Line 162811: Max date evaluated: 1922/01/30 converted to turn 4131 current turn 4071 True
Line 162816: Entering triggered actions for event evt_nam_Eval_WHI_eco
Line 162818: => ChgUnitPoolInfos, need to have exactly 3 parameters: Alias of UnitDef, variation of Force Pool, AI Pool Ratios
Line 162819: Finished processing event: evt_nam_Eval_WHI_eco

http://www.ageod.net/agewiki/ChgUnitPoolInfos

This wiki page has been updated today to point out the third parameter was optional. That's wrong, obviously, as my test event is described wrong by the script report generated by the AGE engine. Or the AGE engine is reporting a wrong alarm, or the command needs the 3 parameters.The second hypothesis is possibly the right one, as the report doesn't mention any change for the AI setting for this unit...Rather strange, no? I will however let the official team to work on this point, as for myself I just use always the 3 parameters, even for the "default value": 100. AT least I'm sure it will work[8D].

That's my way: before saying something, I TEST first. Always. [:D] Serious work needs humility and methodology. Like the way Berto is applying. [:D]

So the wiki is yet wrong or AGE engine needs to fix the alert.[:)]

BTW, Berto, there is one better method for having access to the scripting language than the wiki, which will never replace a good old modding manual. Much less fancy but so much more convenient. I'm going to explain you in PM.[;)]



User avatar
berto
Posts: 21461
Joined: Wed Mar 13, 2002 1:15 am
Location: metro Chicago, Illinois, USA
Contact:

RE: AGElint: AGEWiki docs vs. actual usage

Post by berto »

ORIGINAL: Chliperic

An example:

[...]
Line 162818: => ChgUnitPoolInfos, need to have exactly 3 parameters: Alias of UnitDef, variation of Force Pool, AI Pool Ratios
[...]
Where I work, in our log files, error conditions are clearly marked as "ERROR" (i.e., each entry is explicitly tagged as "INFO", "DEBUG", "ERROR", etc.).

I have tried wading through the AGE log files. I must say it would be much more convenient finding bugs being able to, unfailingly, do a search for the string "ERROR" (and "WARNING", etc.). Instead, AFAIK, we have to eyeball through the log files top to bottom. Tedious! Inefficient. And conducive to stuff getting missed or ignored.
http://www.ageod.net/agewiki/ChgUnitPoolInfos

This wiki page has been updated today to point out the third parameter was optional. That's wrong, obviously, as my test event is described wrong by the scriptreport generated by the AGE engine. Or the AGE engine is reporting a wrong alarm, or the command needs the 3 parameters.The first hypothesis is possibly the right one, as the report doesn't mention any change for the AI setting for this unit...Rather strange, no? I will however let the official team to work on this point, as myself I just use always the 3 parameters, even for the "default value": 100. AT least I'm sure it will work[8D].
When I say "differences of opinion," this is an example of what I refer to. We can never know (short of having the AGE source code [;)]) with utmost certainty exactly how the AGE system operates, and how it deals with data file anomalies. Only the Master knows, but he is generally too busy to say.

So we deal with the uncertainties as best we can, for example by separating "certain" errors from "gray area" warnings (from "nitpicky" notices) in the AGElint reports. Also documenting our uncertainties, and how we deal with them, in the AGElint source code. And discussing them openly and honestly here at the forum, of course.
That's my way: before saying something, I TEST first.
I'd like to do that, too. But it's so tedious. Setting up and testing an answer to every little uncertainty and question would take forever (especially doing it the .xls DB -> CSV Splitter -> ... way). Life is too short! And AGElint would still be stuck at a rudimentary, version 0.10 level.
BTW, Berto, there is one better method for having access to the scripting language than the wiki, which will never replace a good old modding manual. Much less fancy but so much more convenient. I'm going to explain you in PM.[;)]
Replied via PM.
Campaign Series Legion https://cslegion.com/
Campaign Series Lead Coder https://www.matrixgames.com/forums/view ... hp?f=10167
Panzer Campaigns, Panzer Battles Lead Coder https://wargameds.com
User avatar
Chilperic
Posts: 964
Joined: Sun Mar 21, 2010 4:11 pm

RE: AGElint: AGEWiki docs vs. actual usage

Post by Chilperic »

I'd like to do that, too. But it's so tedious. Setting up and testing an answer to every little uncertainty and question would take forever (especially doing it the .xls DB -> CSV Splitter -> ... way). Life is too short! And AGElint would still be stuck at a rudimentary, version 0.10 level.

I know you're not doing all tests, and I'm not expecting you're doing so. Your job is to write a debugging tool based on the infos you get from offcial sources and others. That's why I test first.

In the current case, either something is wrong in the error report, either the wiki is wrong. My only solution: use always 3 parameters.
User avatar
berto
Posts: 21461
Joined: Wed Mar 13, 2002 1:15 am
Location: metro Chicago, Illinois, USA
Contact:

RE: AGElint: AGEWiki docs vs. actual usage

Post by berto »


More ambiguity.

EvalIsAtPeaceWith

makes no mention of the NOT parameter.

But the usage database shows

1 EvalIsAtPeaceWith = AUS;NOT

It seems reasonable that NOT might be an optional parameter. So despite what the AGEWiki page says, I have coded EvalIsAtPeaceWith in this way:

Code: Select all

evalisatpeacewith: _EVALISATPEACEWITH eq facnam
                 | _EVALISATPEACEWITH eq facnam sc _NOT {
                     txterrmsg(_WARNING, TRUE, linenorhs, "suspicious, undocumented usage of NOT parameter");
                   }
                 {
                 /*
                 http://www.ageod.net/agewiki/EvalIsAtPeaceWith
                 Syntax:  EvalIsAtPeaceWith = <Faction tag>
 		*/
                 }
                 ;

I have coded EvalIsAtWarWith similarly (even though neither the AGEWiki page nor actual usage reveals the NOT use).

(I don't reveal every ambiguity here in a forum post. You would have to look at future txt.y files for more and comprehensive detail.)

Now up to command keyword 106 in my review/refinement list of 188 keywords observed to have AGEWiki documentation (and which are used by my current game of focus, RUS). Things are going quickly. I should remain on track to post a much cleaned up (especially for RUS) AGElint next release sometime around Jan 15 (and possibly well before).

And so it goes.
Campaign Series Legion https://cslegion.com/
Campaign Series Lead Coder https://www.matrixgames.com/forums/view ... hp?f=10167
Panzer Campaigns, Panzer Battles Lead Coder https://wargameds.com
User avatar
Chilperic
Posts: 964
Joined: Sun Mar 21, 2010 4:11 pm

RE: AGElint: AGEWiki docs vs. actual usage

Post by Chilperic »

NOT is certainly an optional parameter, like for EvalRgnOwned.
User avatar
berto
Posts: 21461
Joined: Wed Mar 13, 2002 1:15 am
Location: metro Chicago, Illinois, USA
Contact:

RE: AGElint: AGEWiki docs vs. actual usage

Post by berto »


Despite occasional lapses and inaccuracies like the one Chliperic and I have noted above, all in all, I have to say: AGEOD has done a decent job of documenting the AGE system, and the use of the scripting commands.

It could be better, of course. But next to other games and gaming companies, they compare quite favorably.

Like QA, maintaining docs and Wiki pages is a thankless task. But when you need it, you need it, and I am grateful to AGEOD for providing it.

So, take a bow, AGEOD. With the docs, you've done a pretty good job.

Campaign Series Legion https://cslegion.com/
Campaign Series Lead Coder https://www.matrixgames.com/forums/view ... hp?f=10167
Panzer Campaigns, Panzer Battles Lead Coder https://wargameds.com
User avatar
berto
Posts: 21461
Joined: Wed Mar 13, 2002 1:15 am
Location: metro Chicago, Illinois, USA
Contact:

RE: AGElint: AGEWiki docs vs. actual usage

Post by berto »


Still more ambiguity. (To say the least! [X(])

SetAdvRevolt

clearly documents ; (semi-colon) as the SetAdvRevolt parameter field separator.

But the actual game data files show abundant use of | (vertical bar, aka pipe) as a field separator!

Observe:

[root@telemann agelint]# ./kwddat SetAdvRevolt | egrep "SetAdvRevolt =" | less
1 SetAdvRevolt = ABO|40|20|20|10|100|$uni_TOC_Inf1850_Srev|$uni_TOC_Inf1850_Srev
1 SetAdvRevolt = ABU|60|20|40|0|100|$uni_TNF_Inf1850_Srev|$uni_TNF_Inf1850_Srev
1 SetAdvRevolt = ABY|600|100|300|0|100|$uni_ABY_Inf1850_Srev|$uni_ABY_Inf1850_Srev
[...]
2 SetAdvRevolt = BOB;120;40;60;0;100;$uni_TSF_Inf1850_Srev;$uni_TSF_Inf1850_Srev
2 SetAdvRevolt = BRU;80;20;40;0;100;$uni_TCH_Inf1850_Srev;$uni_TCH_Inf1850_Srev
2 SetAdvRevolt = BUA;160;40;80;0;100;$uni_TSF_Inf1850_Srev;$uni_TSF_Inf1850_Srev
[...]

Numerous examples of either:

[root@telemann agelint]# ./kwddat SetAdvRevolt | egrep "SetAdvRevolt =" | wc -l
344
[root@telemann agelint]# ./kwddat SetAdvRevolt | egrep "SetAdvRevolt =" | egrep "\|" | wc -l
221
[root@telemann agelint]# ./kwddat SetAdvRevolt | egrep "SetAdvRevolt =" | egrep ";" | wc -l
123

That is, 344 distinct SetAdvRevolt variations, with 221 of them using | and 123 using ;

The situation with SetAdvRevoltFP is similar: The AGEWiki docs say ; only, but actual usage shows both ; and |.

[&:]

Pending clarification, I guess the way I handle this is:

Code: Select all

setadvrevolt:     _SETADVREVOLT eq facnam sc intpos sc intpos sc intpos sc pct sc pct sc unidefval sc unidefval
                 | _SETADVREVOLT eq intpos sc intpos sc intpos sc pct sc pct sc unidefval sc unidefval
                 | _SETADVREVOLT eq facnam vb intpos vb intpos vb intpos vb pct vb pct vb unidefval vb unidefval {
                     txterrmsg(_WARNING, TRUE, linenorhs, "suspicious, undocumented usage of | as field separator");
                   }
                 | _SETADVREVOLT eq intpos vb intpos vb intpos vb pct vb pct vb unidefval vb unidefval {
                     txterrmsg(_WARNING, TRUE, linenorhs, "suspicious, undocumented usage of | as field separator");
                   }
                 {
                 /*
                 http://www.ageod.net/agewiki/SetAdvRevolt
                 Syntax:  SetAdvRevolt = [FacTag]; RevoltStrength; RegenAmount; MaxRegenHits; LosePerc; WinPerc; CityUp; CountryUp
                 */
                 }
                 ;

And similarly for SetAdvRevoltFP.

(The problem seems mainly confined to PON. The other games use these commands very little if at all.)

<sigh> [:(]
Campaign Series Legion https://cslegion.com/
Campaign Series Lead Coder https://www.matrixgames.com/forums/view ... hp?f=10167
Panzer Campaigns, Panzer Battles Lead Coder https://wargameds.com
User avatar
Chilperic
Posts: 964
Joined: Sun Mar 21, 2010 4:11 pm

RE: AGElint: AGEWiki docs vs. actual usage

Post by Chilperic »

I'm first delighted to have learnt today the third parameter iof ChgUnitPoolinfo is optional for the game versions published AFTER the 5th January, ie the date of this little exchange here yesterday:

http://www.ageod.net/agewiki/index.php? ... oldid=2529

Always a pleasure to discover I'm working in the very same time on the same subject than the official team, which has just decided to fix the bug by rendering the third parameter optional in the future patches, yet to be published [8D]. It would have been better the change to have been made before yesterday, but the progress is coming full spead ahead [:)].

Now I will just to wait the first open release of a beta or official patch to TEST it , first.


SetAdvRevolts: first introduced in RUS , then PON. AGE 3.0 is maybe more advanced on this than AGE 2.0, used for RUS. Not sure of that, just an impression.

In the include folder of RUS, you have a file named Advrev containing this:

SetAdvRevolt = GRN|60|60|120|10|101|NULL|NULL
SetAdvRevoltFP = GRN|$uni_GRN_Inf3|100|$uni_GRN_Cav2|30|$uni_GRN_Art1|10|$uni_GRN_MG1|20|$uni_GRN_Mil|200|$uni_GRN_Sup|10|$uni_GRN_Par1|30|$uni_GRN_Bde0|5|$uni_GRN_Lit0|10|$uni_GRN_Inf1|30|$uni_GRN_Cav1|30|$uni_GRN_Inf2|20|$uni_GRN_Inf0|20|$uni_GRN_Cav0|20|

This file is used when you generates a new scenario file.

SetAdvRevolts may be used during games as event, but as I haven't created such events, I can't say if; is working.

Pipes are at least accepted in include files.

User avatar
berto
Posts: 21461
Joined: Wed Mar 13, 2002 1:15 am
Location: metro Chicago, Illinois, USA
Contact:

RE: AGElint: AGEWiki docs vs. actual usage

Post by berto »


I have essentially finished my review of all AGEWiki documented scripting commands, refining their entries in the txt.y parser.

I have discovered many more discrepancies between the AGEWiki docs and actual usage along the way (with differences noted in the AGElint source code). [:(]

Now, I'm in the process of reinstalling and patching the other five (other than RUS) of the AGEOD AGE system games.

This is so I can rerun all AGElint reports against the latest (text file) data sets, then review and vet the results. Also ensure the accuracy and comprehensive of the CHK file sets and the all-important 'make check'.

As stated before, I am giving priority to RUS, ACW & ROP (and possibly also NCP) in this review process. The other games, especially PON, I don't much care about at this point. (Might change at a later date.)

An AGElint 1.1 release date of January 15 is too pessimistic. We might expect the next AGElint release within just a few days.
Campaign Series Legion https://cslegion.com/
Campaign Series Lead Coder https://www.matrixgames.com/forums/view ... hp?f=10167
Panzer Campaigns, Panzer Battles Lead Coder https://wargameds.com
User avatar
Chilperic
Posts: 964
Joined: Sun Mar 21, 2010 4:11 pm

RE: AGElint: AGEWiki docs vs. actual usage

Post by Chilperic »

Currently running agelint on the last beta version for AACW. I will need a few days for fixing bugs.
User avatar
berto
Posts: 21461
Joined: Wed Mar 13, 2002 1:15 am
Location: metro Chicago, Illinois, USA
Contact:

RE: AGElint: AGEWiki docs vs. actual usage

Post by berto »


I'm adding several test files from each of the other five AGEOD games (not RUS) to the regression testing CHK data set later today and tomorrow. My aim is to vet as many reported "errors" as is practical.

Most genericalness has now been removed from the txt.y parser.

I expect to release AGElint 1.1 -- with improved AACW support -- no later than mid week.
Campaign Series Legion https://cslegion.com/
Campaign Series Lead Coder https://www.matrixgames.com/forums/view ... hp?f=10167
Panzer Campaigns, Panzer Battles Lead Coder https://wargameds.com
User avatar
Chilperic
Posts: 964
Joined: Sun Mar 21, 2010 4:11 pm

RE: AGElint: AGEWiki docs vs. actual usage

Post by Chilperic »

BTW, agelint is reporting a warning for "CityStyle = " in the include files. Agelint is right to report this as suspicious, but this lack of precision hasn't any consequence in AACW, as the CityStyle is unique, contrary to the graphical representation of cities in RUS and PON. I don't think I will fix that.
User avatar
Chilperic
Posts: 964
Joined: Sun Mar 21, 2010 4:11 pm

RE: AGElint: AGEWiki docs vs. actual usage

Post by Chilperic »

ORIGINAL: berto


I expect to release AGElint 1.1 -- with improved AACW support -- no later than mid week.

Good [:D]

I will need BOA2 support mid 2012 maybe [8D]
User avatar
Chilperic
Posts: 964
Joined: Sun Mar 21, 2010 4:11 pm

RE: AGElint: AGEWiki docs vs. actual usage

Post by Chilperic »

another warning which is maybe a false positive:


WARNING: in /cygdrive/c/AGEod's American Civil War/AGEod's American Civil War/ACW/Events/USA Events.sct, at (or near) line 2429: suspicious, undocumented usage of a number (126) instead of sound ID

2426
2427 SelectFaction = $USA
2428 SelectRegion = $Prince George's, MD
2429> StartEvent = evt_nam_USA_PrisonersPolicy|1|2|evt_txt_USA_PrisonersPolicy|Event-img_USA_PrisonersPolicy|$Prince George's, MD|126
2430
2431 Conditions
2432 MinDate = 1862/01/01

Syntax: StartEvent = Name|Occurences|DisplayType|EventText|EventPic|Region|Sound


BTW, the large number of bugs for 1862 scenarios will remain, as I've no intention to mod them in the next weeks.

Now, there are several others which must be fixed. I haven't yet run the offcial game to check if the script errors prohibit events to fire normally, but it will be safer to fix them anyway.
User avatar
berto
Posts: 21461
Joined: Wed Mar 13, 2002 1:15 am
Location: metro Chicago, Illinois, USA
Contact:

RE: AGElint: AGEWiki docs vs. actual usage

Post by berto »

ORIGINAL: Chliperic

another warning which is maybe a false positive:


WARNING: in /cygdrive/c/AGEod's American Civil War/AGEod's American Civil War/ACW/Events/USA Events.sct, at (or near) line 2429: suspicious, undocumented usage of a number (126) instead of sound ID

2426
2427 SelectFaction = $USA
2428 SelectRegion = $Prince George's, MD
2429> StartEvent = evt_nam_USA_PrisonersPolicy|1|2|evt_txt_USA_PrisonersPolicy|Event-img_USA_PrisonersPolicy|$Prince George's, MD|126
2430
2431 Conditions
2432 MinDate = 1862/01/01

Syntax: StartEvent = Name|Occurences|DisplayType|EventText|EventPic|Region|Sound

The problem might relate to 'Event-img_USA_PrisonersPolicy' lacking, for example, a .png file extension; or possibly the ' and , in the '$Prince George's, MD' region alias.

But be aware that I have made significant and wide-ranging changes in the txt.l lexer and also txt.y parser since the AGElint 1.00 version you now have in your possession.

In any case, I'll check.
Campaign Series Legion https://cslegion.com/
Campaign Series Lead Coder https://www.matrixgames.com/forums/view ... hp?f=10167
Panzer Campaigns, Panzer Battles Lead Coder https://wargameds.com
User avatar
Chilperic
Posts: 964
Joined: Sun Mar 21, 2010 4:11 pm

RE: AGElint: AGEWiki docs vs. actual usage

Post by Chilperic »

ORIGINAL: berto

ORIGINAL: Chliperic

another warning which is maybe a false positive:


WARNING: in /cygdrive/c/AGEod's American Civil War/AGEod's American Civil War/ACW/Events/USA Events.sct, at (or near) line 2429: suspicious, undocumented usage of a number (126) instead of sound ID

2426
2427 SelectFaction = $USA
2428 SelectRegion = $Prince George's, MD
2429> StartEvent = evt_nam_USA_PrisonersPolicy|1|2|evt_txt_USA_PrisonersPolicy|Event-img_USA_PrisonersPolicy|$Prince George's, MD|126
2430
2431 Conditions
2432 MinDate = 1862/01/01

Syntax: StartEvent = Name|Occurences|DisplayType|EventText|EventPic|Region|Sound

The problem might relate to 'Event-img_USA_PrisonersPolicy' lacking, for example, a .png file extension; or possibly the ' and , in the '$Prince George's, MD' region alias.

But be aware that I have made significant and wide-ranging changes in the txt.l lexer and also txt.y parser since the AGElint 1.00 version you now have in your possession.

In any case, I'll check.

I've quoted one, but I've hundred of the same warning. Not a problem for me, as I've reduced my development time by 10 with your tool.
User avatar
Chilperic
Posts: 964
Joined: Sun Mar 21, 2010 4:11 pm

RE: AGElint: AGEWiki docs vs. actual usage

Post by Chilperic »

I will not fix too the events about Kentucky entry, with more troublesome bugs, as I will use a revamped version of my own Kentucky version, which was the model of the official, even if the copy has somewhat lacked some key features. Anyway, the SVF 2.0 version of Kentucky will be modelled on the AIL chain of events of FY, which is working like a charm.

I'm going next week to check that

WARNING: in /cygdrive/c/AGEod's American Civil War/AGEod's American Civil War/ACW/Events/USA Leaders.sct, at (or near) line 1978: suspicious, undocumented usage of CondSkip

1975 SelMostNumGroup = Area $TN;CPCount
1976 GenMsg
1977 SelectFaction = $USA
1978> SelMostNumGroup = Area $South_East;CPCount;CondSkip
1979 GenMsg
1980 SelectRegInArea = $TN;Squared;OwnedCities;CondSkip
1981 GenMsg

Syntax: SelMostNumGroup = [;NoSelGroup] [;Area AreaUID] [;CPCount] [;RestrictToThisTag FactionTag]


I think it's a false positive, but before any methodical testing, I can't be certain.
Post Reply

Return to “Mods and Scenarios”