AGElint RUS 1.04 QA/bug check
Posted: Thu Oct 20, 2011 8:06 pm
[ ... shaking the dust off my feet as I depart from AGEOD ...
]

What's your Strategy?
https://forums.matrixgames.com:443/
[...]
Events/CaucasusSetup.sct, Thu Dec 30 2010 10:39:56
Events/FinlandSetup.sct, Tue Jun 28 2011 17:24:38
Events/GRNAI.sct, Mon Nov 8 2010 13:51:40
ERROR: in Events/GRNAI.sct, at (or before) line 102: syntax error: #A# (0x41), #Aera#
in event evt_nam_AI_GRNzoneKuban:
93
94 SelectFaction = $GRN
95 StartEvent = evt_nam_AI_GRNzoneKuban|1|0|NULL|NULL|NULL|NULL
96
97 Conditions
98
99 CheckAILevel = 1
100 MinDate = 1917/11/01
101 MaxDate = 1923/01/01
102> SelectSubUnits = Aera $Area_Kuban;FactionTags $GRN;Domains $Land
103 EvalSubUnitCount = >=;1
104
105 Actions
106 AI.SetLocalInterest = $Kurganinsk;200;$Eysk;200;$Akhtarsk;200;$Kanevskaya;200;$Temriuk;200;$Korenovsk;200;$Romanovski Khoutor;200;$Taman;200;$Novorossiysk;200;$Gelendzhik;200;$Ekaterinodar;200;$Krymsk;200;$Goriachiy Klyuch;200;$Maikop;200;$Solnechnodolsk;200;$Nevynominsk;200;$Essentuki;200;$Tuapse;200;$Mostovskoy;200;$Batalpachinskaya;200;$Teberda;200;$Sochi;200;$Elbrus Mountain;200;$Tikhoretskaya;200;$Armavir;200;
107
108 EndEvent
109
110 SelectFaction = $GRN
111 StartEvent = evt_nam_AI_GRNKubanend|1|0|NULL|NULL|NULL|NULL
http://www.ageod.net/agewiki/SelectSubUnits
Syntax: SelectSubUnits = Region <RgnUID>;Area <AreaUID>;Families <Fam1> <Fam2> ...;Models <Mdl1> <Mdl2> ... ;FactionTags <Tag1> <Tag2> ... ;Domains <_domLand> <_domNav> <_domAir>;<Attributes>;Generations <ModelGen1> <ModelGen2> ...
[...]
ERROR: in Events/GRNAI.sct, at (or before) line 1031: missing field (duplicate ;;)
in event evt_nam_AI_GRNzoneTaurida:
1022 Conditions
1023
1024 CheckAILevel = 1
1025 MinDate = 1917/11/01
1026 MaxDate = 1923/01/01
1027 SelectSubUnits = Aera $Area_Taurida;FactionTags $GRN;Domains $Land
1028 EvalSubUnitCount = >=;1
1029
1030 Actions
1031> AI.SetLocalInterest = $Berdjiansk;200;$Vasylivka;200;$Melitopol;200;$Kakhovka;200;$Akimovka;200;$Perekop;200;$Klyutchevoie;200;$Skadovsk;200;$Dzhankoi;200;$Eupatoria;200;$Simferopol;200;$Zuya;200;$Sevastopol;200;$Feodosia;200;$Kertch;200;$Dnieper Estuary;200;$Dnieper;200;;200;$Kamenskaya;200;$Novocherkassk;200;$Rovenki;200;$Rostov;200;$Taganrog;200;
1032
1033 EndEvent
1034
1035 SelectFaction = $GRN
1036 StartEvent = evt_nam_AI_GRNTauridaend|1|0|NULL|NULL|NULL|NULL
1037
1038 Conditions
1039
1040 CheckAILevel = 1
http://www.ageod.net/agewiki/AI.SetLocalInterest
Syntax: AI.SetLocalInterest = RegionUID1;Coeff1;RegionUID2;Coeff2 ..
WARNING: in Events/RUS Drang Misc Events.sct, at (or before) line 123: suspicious, undocumented usage of Theater
in event evt_nam_GER_FullWar:
114 SelectRegion = $Eastern Turkey
115
116 SelectRegion = $Eastern Turkey
117 SelectRegion = $Eastern Turkey
118 BlockState = 0
119
120 SelectRegion = $Anatolia
121 SelectRegion = $Anatolia
122 BlockState = 0
123> SelectSubUnits = Theater $EventArea_Caucasus;FactionTags TUR;OnlyNPermFixed
124 AlterCuSubUnit = AlterCuSubUnit;ApplyToList;SetFixing 0
125 SelectSubUnits = Arear $Area_Central_Powers;FactionTags TUR;OnlyNPermFixed
126 AlterCuSubUnit = AlterCuSubUnit;ApplyToList;SetFixing 0
127
128 SelectFaction = $GER
129 ChangeFacMorale = 5
130
131 SelectFaction = $RED
132 ChangeFacMorale = 1
http://www.ageod.net/agewiki/SelectSubUnits
Syntax: SelectSubUnits = Region <RgnUID>;Area <AreaUID>;Families <Fam1> <Fam2> ...;Models <Mdl1> <Mdl2> ... ;FactionTags <Tag1> <Tag2> ... ;Domains <_domLand> <_domNav> <_domAir>;<Attributes>;Generations <ModelGen1> <ModelGen2> ...
[root@telemann agelint]# egrep "^WARNING" chklint_rus_104_TEST_warning_rpt.txt | awk -F: '{print $NF}' | sort | uniq -c | sort -n
1 MinDate 1922/12/01 same as MaxDate 1922/12/01
1 needless leading |
1 suspicious, undocumented usage of a number instead of sound ID
6 no Actions section
6 suspicious, undocumented usage of Theater
11 suspicious, undocumented usage of $gmaMCEvent as GameActorUID
12 no Conditions section
13 missing field (duplicate ||)
77 suspicious, undocumented usage of ; as field separator
383 suspicious, undocumented usage of Line in StartEvent
[root@telemann agelint]# egrep "^ERROR" chklint_rus_104_TEST_error_rpt.txt | awk -F: '{print $NF}' | sort | uniq -c | sort -n
...
1 #4# (0x34), #4#
1 #5# (0x35), #50 #PoliticalUnit##
1 #C# (0x43), #ChgRgnDecisionFP#
1 #D# (0x44), #DescEvent#
1 #E# (0x45), #EnemyEnemy#
1 #e# (0x65), #evt_desc_RED_IvanovoTankFactoryCaptured#
1 #K# (0x4b), #Klyuch#
1 #M# (0x4d), #MindDate#
1 #O# (0x4f), #Orel#
1 #R# (0x52), #REDLET#
1 #R# (0x52), #Reg#
1 #r# (0x72), #rd#
1 #s# (0x73), #symbol_general_2.png#
1 #T# (0x54), #TurnIndex#
2 #
2 #$# (0x24), #$Kiev#
2 #$# (0x24), #$Moscow#
2 #$# (0x24), #$POL#
2 #$# (0x24), #$Yurgamisk#
2 #1# (0x31), #1923#
2 #A# (0x41), #AlterCuSubUnit#
2 #A# (0x41), #Arear#
2 #E# (0x45), #Elets#
2 #E# (0x45), #Erroneous#
2 #F# (0x46), #FixedDate#
2 #N# (0x4e), #NULL#
2 #P# (0x50), #Probability#
3 #$# (0x24), #$evt_nam_RED_PartialMobilization_AIActivate#
3 #-# (0x2d), #-8#
3 #_# (0x5f), #_#
3 bad uid reference (duplicate $$)
3 #C# (0x43), #COccurs#
3 #S# (0x53), #SetEvtOccurs#
4 #$# (0x24), #$Austria#
4 #$# (0x24), #$Bavaria#
4 #$# (0x24), #$Bohemia#
4 #$# (0x24), #$Germany#
4 #$# (0x24), #$Hungary#
4 #$# (0x24), #$Kiel#
4 #$# (0x24), #$Silesia#
4 #$# (0x24), #$WHI#
4 #A# (0x41), #AI.SetLocalInterest#
4 mistaken #
4 #P# (0x50), #PoliticalUnit##
4 #S# (0x53), #Shakhty#
5 #$# (0x24), #$Helsinki#
5 #$# (0x24), #$mdl_GER_Art4#
5 #E# (0x45), #EndEvent#
6 #C# (0x43), #ChgVPCount#
7 #.# (0x2e), #.#
7 #1# (0x31), #1#
8 #D# (0x44), #DICE#
9 mistaken trailing $
10 #=# (0x3d), #=#
10 missing Coeff in AI.SetLocalInterest
10 missing RegionUID in AI.SetLocalInterest
10 mistaken leading ;
11 #$# (0x24), #$Maikop#
11 #;# (0x3b), #;#
17 #C# (0x43), #CurOccurs#
92 missing field (duplicate ;;)
110 #A# (0x41), #Aera#
[root@berto agelint]# egrep "^NOTICE" chklint_rus_104_20111020_notice_rpt.txt | awk -F: '{print $NF}' | sort | uniq -c | sort -n
7008 needless trailing ;
85780 needless trailing |
[root@telemann agelint]# head -n 20 chkaliases_rus_104_20111020_lst.txt
138 AIAff0_inf
53 AIAff2_inf
52 AB_French-Greek
51 AIAff3_cav
48 uni_POL_Gar3
48 AIAff4_bad
41 AB_Poles
38 Ekaterinbourg
37 foeCounterer
36 Ekaterinovslav
30 Volynskyt
26 Saruymir
20 AB_Anarchist
16 Rojitche
16 AIAff1_mil
15 mdl_WH3_Sup
15 AIAff2_mil
14 Theater_Central Russia
12 AIAff5_Raid
11 Baltrpa
[...]
WoodedHill
$WoodedHills = 15
$WoodedHillsTropical = 47
[root@telemann RUS]# find Aliases Events GameData Includes Scens Scripts -print | wc -l
6074
[root@telemann agelint]# cat excludes.rus.dat
# rus excludes
(Test|Parse|Samples|CzechLegion)
Scripts/Script.ini
Events/2-CzechLegion1918.sct
Events/2-CzechLegion1918Demo.sct
Events/AigarPolishrussowar.sct
Events/POLAIrpwar.sct
Events/RegistrySamples.sct
Looking in the chklint_rus_104_20111020_error_rpt.txt file:[root@telemann Aliases]# egrep "= 531" Regions.ini
$Berdjiansk = 531
[root@telemann Aliases]# egrep "= 532" Regions.ini
$Vasylivka = 532
...
[root@telemann Aliases]# egrep "= 1016" Regions.ini
$Dnieper Estuary = 1016
[root@telemann Aliases]# egrep "= 1017" Regions.ini
$Dnieper = 1017
The cited AI.SetLocalInterest line correlates perfectly with the in-game error box. (Note that Early July 1920 falls between those two cited events' MinDate and MaxDate.)ERROR: in Events/REDPolishrussowar2.sct, at (or before) line 1419: missing field (duplicate ;;)
in event evt_nam_REDplan4Ukrrp:
1410
1411 EvalRgnOwned = $Kharkov
1412 Probability = 50
1413
1414 CheckAILevel = 1
1415 MinDate = 1920/06/01
1416 MaxDate = 1922/12/01
1417
1418 Actions
1419> AI.SetLocalinterest = $Berdjiansk;200;$Vasylivka;200;$Melitopol;200;$Kakhovka;200;$Akimovka;200;$Perekop;200;$Klyutchevoie;200;$Skadovsk;200;;200;$Dnieper Estuary;200;$Dnieper;200;
1420
1421 EndEvent
1422
1423 SelectFaction = $RED
1424 StartEvent = evt_nam_REDplan4Ukrrpstep2|1|0|NULL|NULL|NULL|NULL
1425
1426 Conditions
1427
1428 EvalRgnOwned = $Pavlograd
ERROR: in Events/REDPolishrussowar2.sct, at (or before) line 1419: missing RegionUID in AI.SetLocalInterest
in event evt_nam_REDplan4Ukrrp:
1410
1411 EvalRgnOwned = $Kharkov
1412 Probability = 50
1413
1414 CheckAILevel = 1
1415 MinDate = 1920/06/01
1416 MaxDate = 1922/12/01
1417
1418 Actions
1419> AI.SetLocalinterest = $Berdjiansk;200;$Vasylivka;200;$Melitopol;200;$Kakhovka;200;$Akimovka;200;$Perekop;200;$Klyutchevoie;200;$Skadovsk;200;;200;$Dnieper Estuary;200;$Dnieper;200;
1420
1421 EndEvent
1422
1423 SelectFaction = $RED
1424 StartEvent = evt_nam_REDplan4Ukrrpstep2|1|0|NULL|NULL|NULL|NULL
1425
1426 Conditions
1427
1428 EvalRgnOwned = $Pavlograd
Note that line 6143 matches exactly the line number in the earlier error box.Line 6143: => AI.SetLocalInterest, Specify a list of paired values: RegionUID|Aggro_Coeff
Note especially the REDPolishrussowar2.sct reference. REDPolishrussowar2.sct is where AGElint reports the two AI.SetLocalInterest duplicate ;; errors. What's missing between the ;; ? The missing RegionUID.ANAAI.sct
GRNAI.sct
UKRAI.sct
REDPolishrussowar.sct
REDPolishrussowar2.sct
POLAIrussopolishwar.sct
WHIAI.sct
WHIAI2.sct
WHIAI_3.sct
92 errors of this type in the RUS 1.04 files. I can't comment on how often this class of bug happens during game play, and how many times the players see these pesky error boxes (if they are running in debug mode). How aggravated they might be. Or how significantly this impairs the AI.92 missing field (duplicate ;;)
In the RUS 1.04 Aliases folder, here are some possible alternatives:...
38 Ekaterinbourg
...
36 Ekaterinovslav
...
Note that the AGElint-reported "Ekaterinbourg" is likely a simple misspelling of the "good" registered RegionUID "Ekaterinburg" (without the "o"). And the reported "Ekaterinovslav" is likely a simple misspelling of the "good" registered RegionUID "Ekaterinoslav" (without the "v").[root@telemann Aliases]# egrep -i "katerin" Regions.ini
$Ekaterinoslav = 346
$Ekaterinodar = 712
$Ekaterinburg = 1196
38 times in the RUS F3 Options Leaders Reinforcements.sct file and a total of[root@telemann Events]# egrep -c "Ekaterinbourg" *.sct | awk -F: '$NF>0'
RUS F3 Options Leaders Reinforcements.sct:38
36 times in the above *.sct files, all of them "used".[root@telemann Events]# egrep -c "Ekaterinovslav" *.sct | awk -F: '$NF>0'
REDAI1918_5K.sct:8
REDAI1918_5.sct:10
REDAI1918_6.sct:8
REDPolishrussowar2.sct:8
REDPolishrussowar.sct:2
3066 "bad" alias refs in total -- does this not matter?[root@telemann agelint]# wc -l chkaliases_rus_104_20111020_rpt.txt
3066 chkaliases_rus_104_20111020_rpt.txt
still leaves 389 "bad" refs of the "Ekaterinbourg" and "Ekaterinovslav" variety. Are these "mistakes" trivial?[root@telemann agelint]# egrep -iv "aiaff|mdl_|uni_" chkaliases_rus_104_20111020_sorted_rpt.txt | sort | egrep -iv "^$" | wc -l
389
cited in the AGElint RUS 1.04 QA/bug check message thread.Events/GRNAI.sct, Mon Nov 8 2010 13:51:40
ERROR: in Events/GRNAI.sct, at (or before) line 102: syntax error: #A# (0x41), #Aera#
in event evt_nam_AI_GRNzoneKuban:
93
94 SelectFaction = $GRN
95 StartEvent = evt_nam_AI_GRNzoneKuban|1|0|NULL|NULL|NULL|NULL
96
97 Conditions
98
99 CheckAILevel = 1
100 MinDate = 1917/11/01
101 MaxDate = 1923/01/01
102> SelectSubUnits = Aera $Area_Kuban;FactionTags $GRN;Domains $Land
103 EvalSubUnitCount = >=;1
104
105 Actions
106 AI.SetLocalInterest = $Kurganinsk;200;$Eysk;200;$Akhtarsk;200;$Kanevskaya;200;$Temriuk;200;$Korenovsk;200;$Romanovski Khoutor;200;$Taman;200;$Novorossiysk;200;$Gelendzhik;200;$Ekaterinodar;200;$Krymsk;200;$Goriachiy Klyuch;200;$Maikop;200;$Solnechnodolsk;200;$Nevynominsk;200;$Essentuki;200;$Tuapse;200;$Mostovskoy;200;$Batalpachinskaya;200;$Teberda;200;$Sochi;200;$Elbrus Mountain;200;$Tikhoretskaya;200;$Armavir;200;
107
108 EndEvent
109
110 SelectFaction = $GRN
111 StartEvent = evt_nam_AI_GRNKubanend|1|0|NULL|NULL|NULL|NULL
http://www.ageod.net/agewiki/SelectSubUnits
Syntax: SelectSubUnits = Region <RgnUID>;Area <AreaUID>;Families <Fam1> <Fam2> ...;Models <Mdl1> <Mdl2> ... ;FactionTags <Tag1> <Tag2> ... ;Domains <_domLand> <_domNav> <_domAir>;<Attributes>;Generations <ModelGen1> <ModelGen2> ...
[...]
110 instances of the "aera" (should be: "area") misspelling in just the one, lone Events/GRNAI.sct file.[root@telemann agelint]# egrep -ic "#aera#" chklint_rus_104_20111020_error_rpt.txt
110
[root@telemann agelint]# egrep -i "#aera#" chklint_rus_104_20111020_error_rpt.txt | awk '{print $3}' | tr -d ',' | sort | uniq
Events/GRNAI.sct
I may be mistaken (often am!), but unless the code somehow knows to interpret "Aera" as the documented "Area" (amazing if the code corrects spelling mistakes!), it seems to me that the "bug" would render many/most/all of the affected AI events inert.[root@telemann agelint]# egrep ">.+= Aera" chklint_rus_104_20111020_error_rpt.txt | awk '{print $2}' | sort | uniq
SelectSubUnits
How difficult would it have been, how much time would it have taken, to visit just that one file and do a global search-and-replace of aera -> area ? [&:][root@telemann Events]# egrep "GRNAI.sct" *.sct
6-Poland1920.sct: GRNAI.sct
7-Drang1921.sct: GRNAI.sct
RUS All Includes.sct: GRNAI.sct
Done, albeit not in polished or finished form (as an ever work-in-progress, it was never supposed to be "finished").ORIGINAL: berto
I now have the options:
- Post my toolkit --
No, unless provoked, I've had my final say, and this is the end of it.
- I can set up shop here.
ORIGINAL: berto
[ ... shaking the dust off my feet as I depart from AGEOD ...]