From ed83c4b0da74d010b481b26600d368435f0fc963 Mon Sep 17 00:00:00 2001 From: Patric Stout Date: Sun, 16 Apr 2023 20:14:22 +0200 Subject: [PATCH] Change: replace per-AI "start_date" with a global "competitors_interval" (#10653) The per-AI "start_date" is a lot of custom code, and was rarely used in the way it was meant. While at it, also ported this part over to the new timer system. --- regression/regression/result.txt | 298 ++++++++++----------- regression/regression/test.sav | Bin 97731 -> 96372 bytes src/ai/ai.hpp | 17 -- src/ai/ai_config.cpp | 93 ------- src/ai/ai_config.hpp | 10 +- src/ai/ai_core.cpp | 11 - src/ai/ai_gui.cpp | 44 ++- src/ai/ai_info.cpp | 5 - src/company_base.h | 1 - src/company_cmd.cpp | 58 ++-- src/company_type.h | 3 + src/lang/english.txt | 2 +- src/openttd.cpp | 2 + src/saveload/afterload.cpp | 12 + src/saveload/misc_sl.cpp | 11 +- src/saveload/oldloader_sl.cpp | 5 +- src/saveload/saveload.h | 1 + src/script/script_config.cpp | 2 - src/script/script_config.hpp | 16 +- src/script/script_gui.cpp | 10 +- src/settings_type.h | 1 + src/table/settings/difficulty_settings.ini | 9 + src/timer/CMakeLists.txt | 2 + src/timer/timer_game_tick.cpp | 64 +++++ src/timer/timer_game_tick.h | 34 +++ src/widgets/ai_widget.h | 7 +- 26 files changed, 370 insertions(+), 348 deletions(-) create mode 100644 src/timer/timer_game_tick.cpp create mode 100644 src/timer/timer_game_tick.h diff --git a/regression/regression/result.txt b/regression/regression/result.txt index 9942857cfb..3dd8b60746 100644 --- a/regression/regression/result.txt +++ b/regression/regression/result.txt @@ -88,9 +88,9 @@ abs( 21): 21 --AIBase-- - Rand(): 2232656694 - Rand(): 2514636170 - Rand(): 3897038727 + Rand(): 2113409458 + Rand(): 2000129769 + Rand(): 1788051963 RandRange(0): 0 RandRange(0): 0 RandRange(0): 0 @@ -99,13 +99,13 @@ RandRange(1): 0 RandRange(2): 0 RandRange(2): 0 - RandRange(2): 0 - RandRange(1000000): 666804 - RandRange(1000000): 624059 - RandRange(1000000): 697029 - Chance(1, 2): true + RandRange(2): 1 + RandRange(1000000): 338687 + RandRange(1000000): 274895 + RandRange(1000000): 217539 Chance(1, 2): false Chance(1, 2): true + Chance(1, 2): false --List-- IsEmpty(): true @@ -420,144 +420,144 @@ 1098 => 46116 1099 => 46158 Randomize ListDump: - 1 => 688298322 - 2 => 2585420314 - 1000 => 1701392078 - 1001 => 2664118875 - 1002 => 3408466361 - 1003 => 4098642324 - 1004 => 3858929894 - 1005 => 3774625512 - 1006 => 2809742492 - 1007 => 3983931060 - 1008 => 2791524857 - 1009 => 4184021601 - 1010 => 4212142121 - 1011 => 46859773 - 1012 => 3095744278 - 1013 => 3104411371 - 1014 => 326384434 - 1015 => 1486817960 - 1016 => 2883541699 - 1017 => 3786540442 - 1018 => 820019294 - 1019 => 710762995 - 1020 => 3534100264 - 1021 => 3585356150 - 1022 => 732190215 - 1023 => 236336673 - 1024 => 740596257 - 1025 => 1135321785 - 1026 => 2067474156 - 1027 => 2899283689 - 1028 => 4054438597 - 1029 => 928616892 - 1030 => 1712486685 - 1031 => 1994118287 - 1032 => 1333321243 - 1033 => 194124284 - 1034 => 615083294 - 1035 => 628086450 - 1036 => 498957825 - 1037 => 1359697121 - 1038 => 1888433963 - 1039 => 941623020 - 1040 => 2369304004 - 1041 => 3523427032 - 1042 => 3236625937 - 1043 => 182127597 - 1044 => 646955927 - 1045 => 2870345582 - 1046 => 623062612 - 1047 => 2308011710 - 1048 => 3026140316 - 1049 => 3838191076 - 1051 => 3182411967 - 1052 => 2762833244 - 1053 => 1960404034 - 1054 => 1573325453 - 1055 => 3978347993 - 1056 => 699712177 - 1057 => 863274966 - 1058 => 1728276475 - 1059 => 4048271407 - 1060 => 1919485436 - 1061 => 111273464 - 1062 => 125435213 - 1063 => 155132602 - 1064 => 4123293220 - 1065 => 655046914 - 1066 => 1577399562 - 1067 => 1028818150 - 1068 => 447058239 - 1069 => 3237047027 - 1070 => 2968751973 - 1071 => 4096278708 - 1072 => 1523643051 - 1073 => 231373233 - 1074 => 1121759962 - 1075 => 1449439846 - 1076 => 2679696543 - 1077 => 2785673432 - 1078 => 2116903943 - 1079 => 672822173 - 1080 => 3325393385 - 1081 => 1589904755 - 1082 => 1148782015 - 1083 => 663503316 - 1084 => 933352745 - 1085 => 577717039 - 1086 => 402172048 - 1087 => 1812250453 - 1088 => 667300501 - 1089 => 2456141519 - 1090 => 3438492520 - 1091 => 420696035 - 1092 => 2131427774 - 1093 => 3859663748 - 1094 => 4134083418 - 1095 => 1969629634 - 1096 => 3739173141 - 1097 => 3459847605 - 1098 => 2834059387 - 1099 => 3148043212 + 1 => 1667006376 + 2 => 814756458 + 1000 => 2792131700 + 1001 => 3417650573 + 1002 => 1856129988 + 1003 => 1800973341 + 1004 => 4197962148 + 1005 => 2463509731 + 1006 => 2312121797 + 1007 => 1357932132 + 1008 => 1603755907 + 1009 => 1718096015 + 1010 => 3850074449 + 1011 => 2711130211 + 1012 => 2371249199 + 1013 => 881020769 + 1014 => 3366660077 + 1015 => 808768948 + 1016 => 3035331984 + 1017 => 2813590961 + 1018 => 2745021820 + 1019 => 3075151719 + 1020 => 2553774560 + 1021 => 4267762096 + 1022 => 3863175846 + 1023 => 4198397908 + 1024 => 817599906 + 1025 => 3149240362 + 1026 => 3003005979 + 1027 => 1214815375 + 1028 => 3784363817 + 1029 => 3181864540 + 1030 => 325341059 + 1031 => 1011889231 + 1032 => 3142617173 + 1033 => 1197220206 + 1034 => 4060510885 + 1035 => 3596342467 + 1036 => 219406671 + 1037 => 3695508783 + 1038 => 2823603997 + 1039 => 2625659720 + 1040 => 4113498476 + 1041 => 1125297786 + 1042 => 671905104 + 1043 => 1231077134 + 1044 => 892292375 + 1045 => 2441486929 + 1046 => 1804593432 + 1047 => 2536560053 + 1048 => 1896826021 + 1049 => 1672512966 + 1051 => 977884299 + 1052 => 681948608 + 1053 => 3853505792 + 1054 => 4118706553 + 1055 => 3581698138 + 1056 => 3073782502 + 1057 => 1084753140 + 1058 => 2266056077 + 1059 => 1239805090 + 1060 => 1183528423 + 1061 => 501361238 + 1062 => 66542127 + 1063 => 775638990 + 1064 => 1111474321 + 1065 => 3465462871 + 1066 => 2317535037 + 1067 => 878310882 + 1068 => 2231368582 + 1069 => 2353633007 + 1070 => 179259867 + 1071 => 1322707275 + 1072 => 1474105363 + 1073 => 619989187 + 1074 => 3221603092 + 1075 => 2400416540 + 1076 => 3926392705 + 1077 => 1122978123 + 1078 => 3266139701 + 1079 => 2948697341 + 1080 => 3262493501 + 1081 => 2200252596 + 1082 => 4091101485 + 1083 => 2797438343 + 1084 => 2608201933 + 1085 => 2577605442 + 1086 => 1178956760 + 1087 => 3047709109 + 1088 => 1065186815 + 1089 => 841440515 + 1090 => 842182476 + 1091 => 289059855 + 1092 => 2114106829 + 1093 => 436435334 + 1094 => 111052607 + 1095 => 81827083 + 1096 => 1961213887 + 1097 => 1374385392 + 1098 => 3255118186 + 1099 => 2245402931 KeepTop(10): - 1 => 688298322 - 2 => 2585420314 - 1000 => 1701392078 - 1001 => 2664118875 - 1002 => 3408466361 - 1003 => 4098642324 - 1004 => 3858929894 - 1005 => 3774625512 - 1006 => 2809742492 - 1007 => 3983931060 + 1 => 1667006376 + 2 => 814756458 + 1000 => 2792131700 + 1001 => 3417650573 + 1002 => 1856129988 + 1003 => 1800973341 + 1004 => 4197962148 + 1005 => 2463509731 + 1006 => 2312121797 + 1007 => 1357932132 KeepBottom(8): - 1000 => 1701392078 - 1001 => 2664118875 - 1002 => 3408466361 - 1003 => 4098642324 - 1004 => 3858929894 - 1005 => 3774625512 - 1006 => 2809742492 - 1007 => 3983931060 + 1000 => 2792131700 + 1001 => 3417650573 + 1002 => 1856129988 + 1003 => 1800973341 + 1004 => 4197962148 + 1005 => 2463509731 + 1006 => 2312121797 + 1007 => 1357932132 RemoveBottom(2): - 1000 => 1701392078 - 1001 => 2664118875 - 1002 => 3408466361 - 1003 => 4098642324 - 1004 => 3858929894 - 1005 => 3774625512 + 1000 => 2792131700 + 1001 => 3417650573 + 1002 => 1856129988 + 1003 => 1800973341 + 1004 => 4197962148 + 1005 => 2463509731 RemoveTop(2): - 1002 => 3408466361 - 1003 => 4098642324 - 1004 => 3858929894 - 1005 => 3774625512 + 1002 => 1856129988 + 1003 => 1800973341 + 1004 => 4197962148 + 1005 => 2463509731 RemoveList({1003, 1004}): - 1002 => 3408466361 - 1005 => 3774625512 + 1002 => 1856129988 + 1005 => 2463509731 KeepList({1003, 1004, 1005}): - 1005 => 3774625512 + 1005 => 2463509731 AddList({1005, 4000, 4001, 4002}): 1005 => 1005 4000 => 8000 @@ -588,7 +588,7 @@ ERROR: IsEnd() is invalid as Begin() is never called SetName(): false GetLastErrorString(): ERR_NAME_IS_NOT_UNIQUE GetName(): Regression - GetPresidentName(): J. Green + GetPresidentName(): F. Gribble SetPresidentName(): true GetPresidentName(): Regression AI GetBankBalance(): 100000 @@ -9320,12 +9320,12 @@ ERROR: IsEnd() is invalid as Begin() is never called GetLocation(): 33417 GetEngineType(): 153 GetUnitNumber(): 1 - GetAge(): 0 + GetAge(): 1 GetMaxAge(): 5490 - GetAgeLeft(): 5490 + GetAgeLeft(): 5489 GetCurrentSpeed(): 7 GetRunningCost(): 421 - GetProfitThisYear(): 0 + GetProfitThisYear(): -1 GetProfitLastYear(): 0 GetCurrentValue(): 5947 GetVehicleType(): 1 @@ -9335,7 +9335,7 @@ ERROR: IsEnd() is invalid as Begin() is never called IsInDepot(): false GetNumWagons(): 1 GetWagonEngineType(): 153 - GetWagonAge(): 0 + GetWagonAge(): 1 GetLength(): 8 GetOwner(): 1 BuildVehicle(): 14 @@ -9408,11 +9408,11 @@ ERROR: IsEnd() is invalid as Begin() is never called 14 => 1 12 => 1 Age ListDump: - 17 => 1 - 16 => 1 14 => 1 13 => 1 12 => 1 + 17 => 0 + 16 => 0 MaxAge ListDump: 16 => 10980 14 => 10980 @@ -9420,9 +9420,9 @@ ERROR: IsEnd() is invalid as Begin() is never called 13 => 5490 12 => 5490 AgeLeft ListDump: - 16 => 10979 + 16 => 10980 14 => 10979 - 17 => 7319 + 17 => 7320 13 => 5489 12 => 5489 CurrentSpeed ListDump: diff --git a/regression/regression/test.sav b/regression/regression/test.sav index cf97052c2e174d8203e2e190d3f98a2b067d7f3c..30b68c12cfa94a43a5199b21de352da254ae8e8b 100644 GIT binary patch literal 96372 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%0A7?82S~)!Xd^}$$WPWWdtMjA_mFJ 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 z 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%0A$z_GS8w6PEU+k`F1Y_7hO!2>(FELx;YnTPd> z>dc-hpBW@6vB&LD18)2$!q3MAr*TJEW%k2qz_PUwQAS@e9>{2wTvaxx%Dj=vaBYJ0 z$I{Y2L4=6iDPcPw2sdg!?sXJ02(?-++Sna@VhsF|+Ib5Q$cxX!%>bqU@!7dW9`nYA z{?yK&J2Q2V$Q5juNo-PfbEIQgI){U~&MgylrM_%i%n0GjgwG|ES+aZDAsxA8@Sao_mcwnHP~uO2&FjpcnAz zvG@SHvOIYO%tG?ebmX7@7?7VN`#b6#zEl#|7l=aV9DA|fJ8z5!m5szs420r4!QA#} zD5TAPT3=iX8*d~KDGLFX#0FBMBx7{kW?f|#W(kHEV||E8jveEBdD{Fo8e$`0Li&?a zYAZ}NR_eh#sCJBSK zdeomtnZ!Me)NYGQceMQH2tjFX_)=H1@o^pIBjDDUgiiUA5uAo?7RTGVKEHukDV3iS zA6c_yxJ1WGYsWk646~>lOSEp)U9U8rkBstcbK!M2BFVD*K~!Zb3^UFRBS}PGK@1K* zz5$sZcJF8sxXIZ+dPeekTr4;cuxFP4A(|U%f-9|Ha*Ok%X@x6JMjw;GYD2~m`&TLV zVjK8c-v7x>U_sym3%VdkuvAPSz?5HZ*e4IlhCk>{KHWS&fCY)!CP=7=sVpsdp{Ib)6VAYv#Hk?%-W6cpx7C(YH{%hjdMkejPu#3G{gS}1J zx-P413rYQH`RyjVlAr=_%G#Of8hLn%^3KC57w49;2$#-rN8MLJwpf8y&`|Z zRj%cDI2V)&&`{D8>#n40bySvLaDS2EsezMJN=+YR8tTp;!VPTIxEs^cM;fuqfdZK5Rt>y1S zUXOY>eS!G$2w(;2%Tq&J7>cTMn?T7V<$Wg+(McDOUTHUu_^W`S|ZIsTh zD!)TnC!t#vI(VcSh)Gb1ad<%2Owz!bZ}%N8m|7SA_K&a*UG$BvrWDrUf3gLUNF*}X z0=}Oua5eg@QPmiZg>6v4nt5Htsz6-%K=pv@M{KT|56%&;3bNz-EUT%6Eri64Lo~80x-oxEOu9V6G)o^5pYo zo*+&8a(IoH<87EHJwCaCT2hq4WW;}OVS60iCwI)lVy?Rjb4w;vVT-a{zlRh1tzAE1 z6^gS`dwFz~(BH{-+6}FV*fqgXOSiDiaG&dDhW{>q+NI>k! zOy_UxtjAWx-nBXTJ^kw)_KmN1uL%%PirCEPB+FS_B_O*ba*aKI#94c#7Okm$=t)7n zG0}M&3ghb^PW29~?F2)mn4|iiPOvIuPpsN^?^9vvl;w#?`haDfJpV1?bCMaU+~>?^wo|>ZAxDR zm1y-X*@;C)s_%aMm>kmPr^$Z1r8{3AGJ%pdG^j=XQ<@siO;fl0bcn=DdV&G6zBBdd zHGlou?T3u}Fxpgy_S`M;{>Pt+bCiLAp#J5xF!wL;IMSq7DiNrl*2HOr%q~w4zFW&I zE2=j=Z48_hP)4d}KRqV4#D-PH-_t}lX+!15)J0c)=GEYRr#^BWjalD)rkw*q_NjMF zK0~336z3wuWyqh9+Me1?IzG{66vyx+HQ05MlQ%Yd5`6lIFzu;$$T%6!{+U_l#|3Ge zSmJ6KN<*{Z6uN1I#^>ev?suw+&g(G31{xx&ha)NLy|O8!>yBKA?=*Fg4-pc}Bnin_ zv}xylzD)R?;#7*DHMMLB>3UADXXQS`V}ny%-=lV-u_{7%Qj!l8{{ z-=1kT2`sNZMC~BPE;V+vE7Mu=(@~OVty}bVJs`hd zzSl!q{DbOnI%RU?LT=hAconOD~ z`qUZy5#Mr_g5h;xMYQ?7G+xWWDkB_}OO=~KRZ#8uFUa<uQzterfQN{~x{F&g{8#_|PHv#mYk``IXs>?GkfRWVD43P>Zp$g*nCK26xxiaOCb8lZpRkIYcO!S@8N%9rLu zuDn5lHCQ{jgSsthv=Ef7ZnOu#&9sFmq_nRKVg-FU&-Xt_0;AmLMM*i^E?4$B-&quI zho(7Odg1PwsL$o@ZF@L)(%k6o@vn#C^;Cu!V8s4zT35IvH&YHOCARzsl$k!1P~E5^ zaUP&pK=PFjN68qRU>Mw7HR z7N#D?Q(&Faxn-$u4g8|TL7$q_cwP0SW8fVTVv`DDv2OL|Vvx(oR^q)&bLkg zGMG-AZGPL*EAP-v^01eHqNJrHcJy&lSA!Ssjric>uf;*!#$h5NBRC838kF&H z+WLkBr8yxx6dh5V9(bsptw*W&)30{5pK+wL%%2@P4;mH0^`!YK%E6rXuh=iLU`23U z>z7Jf#J=PFKoE^nGCi6V=-HA2=%_(R_qmvSS5+I&%}*@!B&+{y3ZtZpijYlFef_F@ zf*HFwaFbMR#0BJ^*)cju-QOGWK>vwY6tm2=TkNv9sE2LeP<4adih^h-J|&o^ZDj|N z$4X{2#*~Il&(!ph=Ph>P*hWAM3r!zBL+@@DcYzUmmg!hSOOED#nFGc1=WhWfy?c*z zrYl1%YJ?(dLJ3fE8J8b|(veJ>LEk^2#452DU%bRbro)7061?Jm*O7SYF^6iY0h-MxA#%+A|C zaP{=QYswu|lJvDIr*tae8kXM|y*8(RCLPRNxQFSs?WhgOk%9LkJy!U4}sjP(+VMn>hkl1g(7uLpzU@M2^NT!RH zS(q9CDROl4c65%;l}1%rX_F5>g-zXEv9S%ya9fSPF1VMLf^0dSbs%uuoWemcBMO*G zRNJB7RlR8|>|)#vEQ$OMCvcNeQzby|25xGB@rezR*g3b{1nx+>;9utAXf@8&apt~v zH%u1&!=~`Z*>g(kjRc`o7lUU))rgKWuKIECr|ztO^Lg8xTRs4HexM$+didUx@U%%=GfKrWgU*9;rn+*ISrOfR+X#&{$o+ij4LK#(eP)CG@T#QejC z0YL!xVL!$!fND_eiHW*32tZ1R#1!BPW(d;!ItY`&{n1pMo|Kp3#SnzKusur!rP{!O zwK!JUYAIex-Ioqzp+Q?axz-FohZ~9qE3!y~pm|O3HoQ9x*ej=!!fd-Oi3YgY(0Ps+ z>V)aYLTf0ht76d#v6u1ZNZ3#+dP59~wbTFqk>a73z0Z`;k=Q-8|1Sgn{~^TB_fdKl zJFy8rTalx2AKBd8mr?YqqNy@u{(`y%m1)1eJ&8Sh21w)&o_pRE29x$pJC|7)EkgH# zPJjbuJY@bR!q3pSGLX$G?=~J*2vB|NOh#|r)1=izq`mP5uIKHL&#MaF|KYNA8z7x< zd{kAJ>;I6_V@m9Bleb}ugjWiI*4jMCZg2iUmI6al^Vlyx_%|=`&CiHPgX7f zf&V77khLlc@Cv{Cz9y2=6U$zJ-C2l0j^%-{^%;uT=k&Zh_vXCG)XVYyj%@6Pkohmm zfQgLtS5?-oAr^E<6AO%R&>5D{7uD+oa}o~0gP4F9!@6GYtW3O+#rDdwDWHTeXB<$y z9Vfl5C0LY|Sfc2Cjh~tDIwW^@Omf?O7m!W~v?CLPMCSY7{>^ec=O{P#4LW{`fsxt# z%(#jb^4`QFc%;1R-OhaNhmFnOp6c6Z=p4PPQBW9K=&t~u>+ZUyV5*I%P|}Nq2KyQj z&_kwbfQh@sYrYa;R39K|;^eXq%@Ei-rVzuVy*c-%QA^UlP-+nn9jz0AJ6E%x?REZV29k2R`io9?|e zPFVcma%MSSnGv=)U+Dj$8OmQ?Hp-jpkd|%G0QiaTV%JK5&O%wCDZ&#KFnnsKASVI6g&vO^XLKVxzhB3eda_wPSMLynO zFZ27zb-RLe*bxKiR0!ht?chAv(9%-xaMER-J--;de+hVgdV6Q}F)0HLM2Y+X>?DZ< z_8>xj35kF#qaWWlQwP4pI>o^zwIB1OLl4H1D0^STtT9v9!#(?48|#4E01vaQhvPt) z25tVci#(3ALI1bL-6{s{^{wjT>jB$W+?|{4L5MnI&-P!exrm5|N9Diqt$$(is{xzM zlghY8xuRXIRv&VOpSN#bW#s}V7fh&O^Q0XYd3YA;fSi;=@?%s7OtJ8r>Hn6(K+&X) z^(_v)R8Ggs4zG*TUshFij0ww2V3bbk`!jiL(5LMF+a_whm!ws&n7jLZmI?k-Gv9On z&{Ha~$*9x#5O6CpIoFM0g$K~qz+8VbBu#F*FJpXt;z}P~cCcEkHW8+UZbKVJ$6s${ z?>yN2a?)lE2t2t}DLmg`vtFL|e8O6$Z1x?A(PA&P;LPA(suYf>{y^aR%8QlWmO6-v#z?K-kSxSn}RO^Z>pb5+>yUeS{2o3 zXWq&`-&>ioZy^b@_4NLpddlCsrr3Smld1N|XWa821l0*n!{og=qRYIf^jl6xobKx= zH>2;8hyZBd$Fx-FsuAdBdnVrD&Cb9CGTSx=7U-u8utL)FBJ@4v1spV7!J2!(*B2(R zt4G}@IIJ5Zwu)3FJwDYq5mOMy|702yo5ZV@*PuI&19|Wn{frekzhBaeEeH5|=qN24 z&ThiP04RK%r1%^r!PfuM3eEzor9t_8dnPGez%b-qVB<~xJ3an~NI;6yd6ic@3^u*B zE+o)k_!O+2qMhPKDiVTfD>wDgY%6%OJ*_zS6I+OH{4E@9p!cxjJqf3I|IGU0)z;?H z)p)+%H-uk2M6;ac!nnw>R$mG&M&E~cv8R7X%_kJV3SnU)y>6UUXd)tSU*EpcoE|9= z_Ed7-9lTeeZx6=SNkn)c**pHkJiAyN6Z*r2ZK9nRrqgMcp0Q%*<@$Q}dMkU$zGr29PUYA4iE zZ7dj^O9wRewEcN9$_C*CP+q!*2_@Io9X*_z1Z}!QnYCX318sLCFDlBGz9xzxLb0pX z;GdqM*n`Y{xpASHRp~3GFcXUt)T{NheBvbiW% zW25V<|0i~?(b|fOOdpR^f2+MAg89`L1}58DGuFJV!dD;-D@`-}QQD z1;8SnjejNjpK)#t0e=kbk2>l0cfAY9P@;6J_ArW-NY`h%lpkC_@+bA(rPX(J=4ot- zOn6%v{5*vX4jSB&f9x#>gxE55&i}~rV(G#;qv`XOoB=y5E&0_IbDy>WEUUyfOZtXtWHX)Wv19Kj<)~zhbqy&m+S* zc}vXJ_OOTZZ8s6y=~wb-)yf#q(jZb9sl1pk+{R(9oOwT`@v$q|_GKL}C6>-G=vV?5 zn%4Gum`G^^&~VCtQ`2VBE}jNty^G2Nn6Hf2t8`%>QMDBowVwQfAdjT6zwWntd|m}L ze{#i^XaIVX(YZ!@>jwCuEZ)w`@VSG{u@#+^@O$=zbPxO(LFi(;Bw2tk(pSzcGp2>g z4uVTqf!-^>yW>%3do}Q_iBm-cYVwvS^g2e6aBUh$Swb52G<5lb6MN?Zr3d$nKy-QS z(tNEEz-ZT~Vx>B=a@F=k^MHTXI{sL81p!`=M$~(b?JJS%`k0XoYzNKfuA-Tt7(RLw=|L zbv#<>-=>USWBRX>{ycFv#NWIzWZ>+}=z;@Q|LPvMY`(IEpZAt555#u>#|CI8*#ah8 zZFUAYkHjjN^iv@kTiuyXtJ=*Uiq>Eu%f=Rej@~YJueCV#w_UyF{-ETv%fCC_s7GG0 zBSK(cD-M&bh9H*lblBkh<5^zY*CphumY+-_dcN#hS1Wj45qb8U8H(onyxw2ODs;Dh zdTN38>4~I<*ht$7|LzVcyJxIw`B9GxEjA=qUE2lro(pYvTRcJbbH-ngA)F|Wk{H(V zJA`XLSE3Dgoh?2oo;}nJ9uho@z#rzEeIH-6E8&6q=>NyPnPqpX#o>C__ym;v2ECkk zbAs`rJ8oGx>#@E`B0=+6Ar~qljs%Id7?g$gdyZ%`>2*BNLyRI0{jE&s+kVc;gGpaQ z+Ri;f+P1k+?x~C99^tIyO6A5ql(Osi{0s!L8*dmBh3l>6039Emo0PP!+pOJilq^tF zqTgRBKU$s|bW|P>ZTk927tkYFl00@Im^_)WI>Fjtw}$}m)Hy?IMStDZUBf?ih*P6K z(-SL)n3nKA+sRGsTt$l*v89F8Kz3)nTcqA(uL=dntss-@OP^03(~hG0#Ik)sedwCK zL2jmzUe#LvJC6y%1;8G~sjVqmV_0-;KaE*KpbyvLm@q9FuP_s`jzS4s6W}Xvuf>Nk zD|Yf80(H&z94el(!sf^Emg}>p!q$l z*G1bc5gP5M#~$!Ohnb;Z8=kiCUR!(Sa=Yqf9-Yu}4qBBXjQBcgEfW8-LmV2L_NNO^ zcVIhUZ%f!=71-Ph!@6jfjGJ|`xO6A;0T1DVi94TG-v1F3KO*rK3HIN;5F2CP4A{(k z^mI^Vz|nJ^@Inxy<1xPn_xB)0%H+Z4lCx22*ln?h?;2-n+Tp~zN$)3bAReL&SqnMz z&)t8QJuiKl!c4%z{;~eQt;q6O3OTe^$=p}pDxyCeJQAP>e{f5^n$*5n94I zCljXis@US9aXUp&BO!DKU5`Qz6et6uS?GTUbtYC+6W$CjUMRh{LKEK6{t-QpA*-te zT!Ot;;M39dRu>%!_Ve~LHF#T-upc-`_3`z3-U@iv?sqqMxCpHho_He7O}nwWm`qBu z@Fw0b8K4}_D`Chhi#eoYW$*RZtLb`sWmNQet~p7`Ndv|}19pL9%W(_=V`k6t=Swh! ziS)W0=C*RkQy4(c7WlAbpo=I4iWBq7%Wa4`t-Bas8np-=I`WhK0;ys)dtm`GU8kja zxd42h_XzbRn2N^xMnN=#rCq>g6F_ztM}n6!_(p%LcMZq}w!*rj17Ej}vK~%MPPH4L z85@G`V6CT(C<^d2#Mr$%{t^Xv{x#HvlyZ+2i7r=X@*q0?%qk77WoqkhPt&WCGgdWT zx&yGVq0e}W%?U-qg8P2+aGi5ckK4upsXkBv%<~s(rh}JTI%3hB&C8iQ!>t~`-O&R& z?N-eZU~?!kn=r!uB8a2BQF z^{kPCi}nWcGZ-}7mJDfOt?GsyhAb$@TuDkD^H+l|pMc<_32X!lkKJ?rz1Zx-0WE+u z!GXw>-0RP4)cILs0|`K2`8dwk;fehc*3Wyuw@)o#J+!>NscY!BbTPlw{>Qg8*?Sn= zBZn+J(SH9;N$-@Pc1!9FP3z0ye}O7*iPFB;6+6IW1u?n?FIJA6U(>~-PhtZvBa*1W zsw4|8`oyBdm*qZyH5CfSm40K(Vn{fIs+LSabG`Ch0omV4FcV zAV}**l|5tIvTlsFYoc#QH~F|#4D-P3a1pCP=ke$ipNq8zcXd;dkue~p!Kd~1jnY zKNP^yvu~RzhV1}zQw!`0okvE4e&1+a>%4R2Owm_OMhTM6Npm#w`2>;u?iPA(<2n6d zH}5Ck*-7N>XS@dwpx6wMFLC2n!-oGh#$=u+(JkWliB_gC!x2bB@^$Jjp3{Z)?kfyf z84;F0{Z{u{w>I%za{?9>k1@mEKlklY^5-76I(j)DfS*^McJAi^LpDw0cV%CrZ;`r}|@x0#pQa`kz6CJ&5-; z#w`R0ION_l464`-+;eS+nEJ2O_!VxIV!y#NC*Ak29jY zYGF8(o{Z3|Dzs@NszD)>jrRxkk7Z?(9svy+@VvtY=whk!m$;dU_~Rez-U3|ReaeY& zY&6g|ka-9bthBJpqa!T8lVbZ3%eKPoaxJK&HZ8qr_E~a0f~(V&+npC zsVjD_L5jx(q%~D+hs~I-EJRNe5so)S()ZhGy`*<#i6$NJ&}~?zcHxvHgT?u6Gp-N# zx7=G@q4UNBr>_Rs<=NB8RJl6QM_vHO?n z^N%dHDFK`O@E2TvRWEcekDay-oM718FwWcEqm$M3i^C8h8h(P}{kQ0x`bRuzRSY22 zaw{4;NhIsJ)JNEaSkFcp|7myNQafK+jJ+Q@&N znu38?NAS}Q2emxt*WvbZ-C~Gf(VhSGv%ya$3oQrx3mqk==Rl0j+L)WCGn9;Y9;8<@ zFgmo^JCq==SKaT@>J%7XIGj;z255wJzGh$F$s=LJ_reD1NGKH#mKnijH~+C&N+Ia2 ztdJqUtvkaVXgXaVFA1vuxaop>akxnb$tJ)-85=Nx7cWVg!yfUu)$WywMKLT}AVvpv z7p5XKD9nYS1`JkTgM248Iov0k*bV82qwLxN4OuZ=AD_9}L0_lZ6c}ESlE0cnN7S|9 z)+**L?AMWsu|AtmMmXK;NdFU$zkQ$c4FVTLX>Fv0MJ)Ki1I`6%t@$@?M+kGBqq*OIBcqOe|!Vekl0PdS|dm$ zcmB_gkW!H9%-ztd821_7lTyTbo|0|f8U;GX0mD<@|8EV2dBXW}r~Pq%z{(i+mjWOn}~cj zj!3ZvXI%XPO{I!EK15opuQyLzn4PlvGCq}^oqQWlKMu+@QNdjgz3t0nhL|wbQUvAA zcRZURJtL>a?fY5{)1 zBEPkIZ%2CW0>3|-aQlx(zmtWrQ}0t zxnF)MpLThBFiZP$e?dw0FveYxjk6CKyZ9;)-HP|>Cw43JH5Uy)d{6BkL;E`Z>hh?D z>gC8PK1*?j(&I@T4zqDh#D_5SU^)iK$HD|BU}3U*vzawqnI0DE=^}vu0eybe*IAP7 zOF90zQCSIgn$_6QT6c=()u?07qR&p)p@%hne5%1fil@E!3j{;zO=#nGsng=tovs)t zz^|B^MK$EtpIGf#ob7Pu55@^cbSHfAq39)37hYC7MRx?@)be z`47u{AsD6;&WBTYbpX_i`wOer*;c2rvgaa8vT4_dj@3;Lv`Hss+Iw z$O}`4RLoB`6zneVGjhNDEDMOnK5>ES44T}O*Wlb%{F%rNf5ZN@;?sfQVqMoSRvY#) z;AZsF6Z)^0w<9x4)72!rD0K8HW%dR{MoU$fx) zmDV41Ru&N4i;3-%IJcXmL!rCdzVK74#Pe_{{%w1q_nH3yIA3zNtOh;2U)gg7&lBQc zJQzLK`s?>&cgFMD&vcPR&1G>_M2L~dNqW#gM=aW`dSDl_-pbn`G=`R9{BwZG!v7G7vyIB zO^Y*xY$h3M&6}xtL9K6It8l&83EF9|xUKtVR_%9Dm?JJpYqi(CdTLlrB-l&BR2vTe z!S&7DVFw9)4AfE5*X$xKPnIQGJV#c`efh8!g}2AF^~@pst>;h3BX#B?H|_{!9Jb>W zg8J46Ozjy-6eZR-O@+H6jP(Ww&_VLOmxl8wJcI&LL3xuj{W86v+n7K+Weq7pv z$J|K1{S4Cz^~EW`1~4*IHUX-YfJEqZqSmt7bm}1z!Uv`}9j4JJpL@?PrmFvtOwx@Q-eQBC?(|C~T@R#%*810Epf6EDSFB#s!Y=1%E-#UiAgUq`Fy z*sq}*q#P_*%i_Krj7-lvs20@}FtcT+Ew&K)t;lSSA3I*XCUwJk|6bQ6_Yv&LLv6oe zet;BY2Ue`BqEqp<#4U1@LI~NMvMYeKp||DeVMB;JtRUA)lXv*N$Jgn>4YtAo1@KF$ zJ^Y_f@+h@>wN9w}#NC#gm|ZMU^TlH)?EaQHI^gdBpK58|GVg8LipZ*$2>03=?UI|& zGHKmOI6^BCskJp9mMoJB9=zJbH({dcflI%Sk;XBNF#Zn!YCx60c%O&QGZL-ZdtVU; z+!A$rtY~M zk-mRGkeQmvD%TYl8zAx!^;~a2x{`{B4Q16Z(gRWRMuib=%iCTWR%VN>e!qkdKpYyM1wSfeZb$ z+lPmTK%rBmKEPp|`%yctCgR6b@z7DzQiV&Zz6pLoz2Kj^eyFl8NN}WP#Aw@ml=7Ye>-}&d z31{e5ERQZru7Hlv!{9KR`gF#~4+E49{S z2Rz7KXI6M7n#^01{!BriCk{~8daVK!%M6eaIHU>CUe5>wJutZ|mE-xV<-aIYJCCZ% zr5AcH0*xs3x&I|jxhL*SlSK6RFRJH2@v-5txuQybKDZR{!D1BjggTlOq;V%!EfzG} zjhcV>{EZ4gHT`J-4%>%93fitG1PaJMjATpg*lkxp|3PW1z^r|7S&Lb;kbh4sBBodV zI=QS1%{}O*_6&d&h(!=17(g~U<%}Li*39Y6#5yO^hD?Cb?Z9s^z&7wNpRICp+hz)G z^rm6ADdj~i7!GT{nq<4je!~4`p50VqFs}uEkZzEgU4marb%tlrDv`%x;og_1E>$|Q zeYu%rl5RmW>M@0$DNU0`s4A$kH>v*&c<3K#4W1OxK8+ygKd;HO_BtriwY+j?Vo_2^ zbXT)8S@Do;oLXfju1A2NC)rBRSwA>brRy z@f>KQQ$vi#TAniYBhO#Pe=LlPC^gW4j0oE$>NydTu5gvbp;Xwz{9NUlYOtxTa1GNR zo**43xf-$~U|=?tFt5xc@Iya5Ocvd~Y7~7H_WZPi&Pd#r1~eI*4Re|kBn7fOGb0&T zW`nn}WHFEXz?(2Zqt|M!28A%!gEsZqnZ7FR&U7Ezo~u3tux)_DrG&{I>3U}9RM%#? zCyG$Tq`|}^%u|-|DXTp(HyVDtqW?1Xk?KytPGSW$-&)tt&340T<(5RS@%%sT-(moi zIzK%#~sXGysj5lnymH{brP?-y>E1{}#tkm&?}QDn*_trSx| zQc*;mnXN0gK%>M1Ls(P4`io!v1q~m|PM5IKDCBje&Kq_{24YS1=b;{}1G=|9tex<1j>nZZg zMA7xeUlaawAf4r(;2)|8G*Fk9c+W%dzy2S`|8IpnXNbyln^|34>-2ps)0_a;a4T(v zbPTLvq)&fAXeL3?>l2N5WyOTafD1Hk61sshu7p2$I2`pV-n3d~G)NLVBk`xS9ahpx zvlI39_&+&0h1w1Hr)z?vuckdBGwp}_l4=G!mM|3i^fauWehBXDt!qP8w|9!fh34BpiJ4Gj=N zqhR2VgekzFxunIXWcRUD+w;mWl*4K50i!oFudP|b8h5)g;;-&|Y?UzCK}64O@tp1T z;e54`+iCme0r2oM`hkC<01|zs?=0D{nPw?R+{zL7$pSIlx`BD%!^07HO6}HV>Kx!ljbT{D{oE$_&r&zMo=F&ag0|RW)Wb%uXKZC$O2M zN`0mN7x^_CULp_}b7BHEcFJZZoru7xU2fOH&)|=G@4q=<{1fuQ0Z1D_^+0`2YRQ5o zcB#!Eo9rM>!91=d`p%>i(YSStg+#OwkCYkzoODa@K-`4S)*~xp<*&kjtftpmnx}SQCY-8@&#G>G;>*e0?JLzYzSNuib3!WORGXhDw! zs59}Cz*kw_*Eda{!AIcNo`EpriOQ;#wyF=r2%Lz*YyDru`Hqj7_)*Cz0}uQIUrA-A zS-9xfE!R`A;dZyg$9kmAR3wqBOC=dh6|-v6CFw3J9u8Ytl~q#JunFBXC7{1$s#-n% z82!hdeRzYhi3j6fnH+jI`M(JIlf%OkR{BT`g7~2fE=YMxq_z@^RlRabqzb>fXznw+ zwWNO3D|V#uePH73@B~(dP4$rnreD7W5W#V&>nCqD|HJI*yQmhLtlr}SJ|DyAx4PlnX^aFITGU{Ig|~k` zvgW||bi;7Pa?xZEz?U>+Dy1@WV7|rm;vduh=n&8|)=#)F{ERQXNbQEExx;eWT)V_s z6C0AY26a1~L$|RtYQ^g~=qhoLM1DFGvxqb)>n<&!AG!*`yQ6mLyN`y9G46%6N>!7p zhJ-qcff)_8Im42};9C6$)Bjij_;dF93H&SWy5WgPEXp~zg;z}v5@>FuX2q7I?XVjy zhG1p3VuFrQ7kl_rw~sogucX?^q#jvB0(_`SqVI_)!PVGbv*M-_8wM-BG-|!Iu+OX~ zM%&_g1qdUc1pS9cM~5~31)44~??QQ}BfJ52N+{0Gh{!DczFG`)6rfd!@o(Ua@NN_1 zS1%N6kU5-OW=QH@mnXjqJ-1kg=6`pGG&mP`s7Ju&@|A%m?U*vMyvHaq6_krC zQSH8rlb)z%S$$ObC-`i+b1w|Xz7Rwq=n!|U*4;i0#|;Z$ehi@o938ce-~c!}zpx`A4(sj-oo+PP)_(5jE9odYcN+aS-mOnLz|+l+2WGjW6}CP_UdGS6mq zo_KBFsTd>T^>LuEySU2ti?9^B(M?A?$TuN$h$h1DGDX~M|7w~5?>g_G3Mh5}9v=B; zXQ|m(k}PDjSp#c3HOZ!jB~LfC>?Grk>|>p?P4ckPfzJTW3|)chsQNauaD>)NvyP=> z>b>1`chrNR3(JVP>anZ7l7T>f>gp(x+bn|7ZH)gD0cxi_$0P#-KeHdiqCv3h5gx|;w4G#TyucaZSe24>0QXldLX7^+XrMrF@H6F$(KMNaiCVSl^qac z>+$D>C2XAWx^7~;+rtiw*r}KTwn#GmG*ZGIfp5Zp#6G_RZ9}tF2X^7FzU6x~mbs!2 zrN4}LSLLxP3@h5VSOlUfSBsQ8a3+-uVfC}>4%V)n*=nnYJi?ZUH(E3EZ?{_z31k@! zNF^xe^BUjG>tf4Z10IB2YYA`SJI+?p_cK)gJiQz!h6-A(OYrjpm3N3&;fRw6Pl=>m zo?j;SG?@DC+zdb8-Z!c)i!DRX%aLZbB7H6rtc6jf#_Vz_zvUL|O!!O}<)ksB3tbFlIZw5V#s8P8a z_&VYhY!>Rzjr`wY?QBP*PJBn;;(oCQbn@tvD#QBu)UH-!(!AK8uk?a`Bzkr|ILXyI z4C0(Q5LSfPTRY8Y7)(h9M4oohLqm+iC1@Zblpd(IcUO6jk_jQ~RVUSpy%woi0zd2@ zUD*!YSK_^P&f%LZt+gI#;@fL?;|>5FC`kI=?^~!T8U%O1b2BE5Lqo>cJj88aI9%6( z8JP)K;hCM!h#J!n!Z1~9hq(%|M*T=+g_;e@1Qu!p#tAj`xl_*%R9rECvbfCD4SLqJ zn!8-6gYAQ`I$+>?tN7r;)+Si+(kIf<5}M^r#Lp~6W9sWQ(^X0E3{a&$IH11OUfzxI zWRcVGlKvCV2=6d$&6HRTjasP(ZYwv4La&wgp*9xMh%H%rCX_tFKxo~ddyCbfo_Me0 z8hVBMg;T2Zz{WC~Ty&4&k67O{8?_ZP1A+YO$p`x*KBWGp^&(}YyysFOfDv*4;&$U> za})=wk%he}H=8N!JgrTkY!YMCR+ZJK(q!)Ys4K?E)oL@HGGp}`Bu$bqZ}@)Vt17@> zMVdiUw)RNZ!YSNh**1&ykMj)Z=EBE^`X=!g3r$uI9MlRnuVnx*+^n>FcTl52My$nD zTTeAXy;(Sf4;$C@GEx{k;^;D}i|B;v?rLiXPP+}3Iu26R-#S2I^`_xHwZvBiC6UOz zk#r?JNE_>e19PT6D0(D5$-ZWN()DiM|DctsHM{yk;vB(b?RH{7UVy*h*3_&MA|%Gm z#Cws!EOCL3O>hLTp&qk|${>-YLg3nB0p0Ixkdw*dAL)B%3Elr@D_xu+R^%*`bc4aZrMpkRBzf%p8#>n?_3}nIj~I0JF}_ zw=VH6&odgih{zDtL}69L!UZq`)fUXKjfL8bvFL#~bk%u`L)Sweb~t&NaBvW%i5LGP z?q2A0iEUPqANVMke`K)UPWMSv8YR9S6`KZ({Tb`|r29{1L;}s9RMO*+n7#p}r4zLv z0aOCXymiN%WfBS?6Cd}$G1nW6Kq@26nm-3p4THiEF^N<*{V=ZZDzpaCun4vSpwoWtdW)5WyI78yp|R|;*}DO%oDwnUU}b7MRVj^%eSY9f)>o@|Q_@2#bfM(Q zLM$>D`E4hd8oVv5-R5P9Bg}>q=5qS0Jp`-*{YUJ&JUIsbnE?X-#1-89`+xE$-0~5nT)J@Mk?Q6f9HWKt7%EAoBlF@&vpM8aZWuX7)Se&=$ z>=C>0_+EPb!K)vfnUCQ=78T#AX&_x1%Kg?MYD6s9sbZP}cRgh2nf_ZMUVBytYR{}4 zOBNgjcKm4JYTpdJ({n9S;E4Pr?xu#*`2Wc23 z3WDDP|3?>Lg*mSYhbxJWbIz3C7T$OyVnF&!lYl1+NaBPPijOBz@vShD z)>$VLBxZ=v#w;EA@P6$6#)P*mkMR3pCCw!Ar|~Y3m{SeJ%DE)9T{C(zVX;8bshg3 zO3#ZC_lAc=h@S}xfUH#Pgr8Kag8i;(>{AoyYf@6RO@j3hwIW;fFmP0MWqZARH{h^Olg);G$)V&*V?;zYjCuq!5TZwC zYG$XYcMpm5G39XMh~P`*&T4nd$SGYouh$T@2VN&SUz>NWXvROI|AGwyp8g^esmhOf zz+hbE%y+SAB(AsurvHgRj9KsFe3PJOn-5gdX6Y*Sdin4UE)}r=jrp3Xn#KX%PY~dm z{^r}%4d#){s5kx1isnKOzGI`dOi^C1#Rd%#bv{PrqAmMY+lRbyll~Vhv%~a1KGFTf zb?^fn>2PQ(KMAM+yzf}#4RiejPN%(n<~02@&7%tQ6$|kSgl=4`!o%gD*0Eq)s||sq zr{Fr(AX%#&!gswEi9lJp=L|lf1vTsK8s4Dlg*|KjUj0363-lMfbi5lXk_x1b9?N@KpBUD*2bMTVF_xqjpP771s@Wj7huD?HIuEud0wY{It0qT53S9UR zIM*}b{(}GG1u5v)Xn=iTwDTtXj29=WfJBDzww%_!XyHDQk(Pm-t_6#B2Xg-4gEYX~ zVf76)qBJxdms-tqTxiQ^`xpAkt4gFSu51kN(slL^Th#r5ZNTqUP5yIi`S7Ns1B`wRq7nGxwZ25|%G**h zFs=$yB$`g6XwsEXfJ(n3lfiaJWG54Okm?72a(}{01a70Tk==;?bK!bz-vd$4Sv5KG z8Vc{-lkF>t#?^5Dr(~G*u*L8i_`?Klz<=bWJtlyeK<(Lkp0>|fCps78TBt4FK^ek4 zNm2#(s1H!rh!YMi0AB2M?m_Y!r~{aIDSsr@s4tOkw$GHbAf1pnVt+yNqc8eTn`}mJ zqjHEg>pzDf-MhXet8#FMe3T@8Qv zA4zu-{pTWW@8!aNBuJe}-_J;OA^89L;2YTFD}-_2rruQBkLkbl2o$>}a_otpj6q^4 z=bqu52K@yo1YuJE(!%cB$&kSI?g9 z5gC+llB+-ePk;WO)_@KIn3#~LyFdB*YwC*7=!y6Di1dH|{u|lA-Vz!yYG`iu0$<)^ zABX9G!2@v2MwbxOxkq)KVXoTVu34Z@C5)g^cvBJe(!|-QY`3#ql=;IWR^4%~`xObYLR{I&Kv`5}8eFhaa-f1rFmgO<<;BBE~g zfqyU_fdSHVy6}-f-XuC_sS=N!YzVN_{d1#y_=6>i1m}`bB;M zT+oH4Q=6TtFuEXu1E5WA(ZqGNR?`>)-cv^7H^eqINiiV|7F{K-*TtOS^%u-6J5npK zM!PlYjE2GXx2na!9q&CqK4e$WPrmuaawXWg>haHs3(_pi~#Ty8M1iPI<1)}*of;HhhQ0m zNi7DwmS$DDx>GcJ`-h~CxAe};rfAVVq3d11D6y9_EnSx8BWOSSUUjg9Qk1O#{54Sj`NfX$!l5 zPmcW-Hm1At3*)Xy0uo=jMjR_8UPajuda)4=thC-{SE`o&q3d;#)xt?%EAKx)ISk$t z*H-+{O{*nAI4UsKYQ!MId%@^kSD

(ih$nBo0aE4GK7x#Bp^Rw%cBuV?n%LyLW6W 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 diff --git a/src/ai/ai.hpp b/src/ai/ai.hpp index e090303bd9..667de589eb 100644 --- a/src/ai/ai.hpp +++ b/src/ai/ai.hpp @@ -19,18 +19,6 @@ */ class AI { public: - /** - * The default months AIs start after each other. - */ - enum StartNext { - START_NEXT_EASY = DAYS_IN_YEAR * 2, - START_NEXT_MEDIUM = DAYS_IN_YEAR, - START_NEXT_HARD = DAYS_IN_YEAR / 2, - START_NEXT_MIN = 0, - START_NEXT_MAX = 3600, - START_NEXT_DEVIATION = 60, - }; - /** * Is it possible to start a new AI company? * @return True if a new AI company can be started. @@ -124,11 +112,6 @@ public: */ static void Save(CompanyID company); - /** - * Get the number of days before the next AI should start. - */ - static int GetStartNextTime(); - /** Wrapper function for AIScanner::GetAIConsoleList */ static std::string GetConsoleList(bool newest_only = false); /** Wrapper function for AIScanner::GetAIConsoleLibraryList */ diff --git a/src/ai/ai_config.cpp b/src/ai/ai_config.cpp index 98618feb20..a1c6479952 100644 --- a/src/ai/ai_config.cpp +++ b/src/ai/ai_config.cpp @@ -16,32 +16,6 @@ #include "../safeguards.h" -/** Configuration for AI start date, every AI has this setting. */ -ScriptConfigItem _start_date_config = { - "start_date", - "", // STR_AI_SETTINGS_START_DELAY - AI::START_NEXT_MIN, - AI::START_NEXT_MAX, - AI::START_NEXT_MEDIUM, - AI::START_NEXT_EASY, - AI::START_NEXT_MEDIUM, - AI::START_NEXT_HARD, - AI::START_NEXT_DEVIATION, - 30, - SCRIPTCONFIG_NONE, - nullptr, - false -}; - -AIConfig::AIConfig(const AIConfig *config) : ScriptConfig(config) -{ - /* Override start_date as per AIConfig::AddRandomDeviation(). - * This is necessary because the ScriptConfig constructor will instead call - * ScriptConfig::AddRandomDeviation(). */ - int start_date = config->GetSetting("start_date"); - this->SetSetting("start_date", start_date != 0 ? std::max(1, this->GetSetting("start_date")) : 0); -} - /* static */ AIConfig *AIConfig::GetConfig(CompanyID company, ScriptSettingSource source) { AIConfig **config; @@ -69,70 +43,3 @@ bool AIConfig::ResetInfo(bool force_exact_match) this->info = (ScriptInfo *)AI::FindInfo(this->name, force_exact_match ? this->version : -1, force_exact_match); return this->info != nullptr; } - -void AIConfig::PushExtraConfigList() -{ - this->config_list->push_back(_start_date_config); -} - -void AIConfig::ClearConfigList() -{ - /* The special casing for start_date is here to ensure that the - * start_date setting won't change even if you chose another Script. */ - int start_date = this->GetSetting("start_date"); - - ScriptConfig::ClearConfigList(); - - this->SetSetting("start_date", start_date); -} - -int AIConfig::GetSetting(const char *name) const -{ - if (this->info == nullptr) { - SettingValueList::const_iterator it = this->settings.find(name); - if (it == this->settings.end()) { - assert(strcmp("start_date", name) == 0); - switch (GetGameSettings().script.settings_profile) { - case SP_EASY: return AI::START_NEXT_EASY; - case SP_MEDIUM: return AI::START_NEXT_MEDIUM; - case SP_HARD: return AI::START_NEXT_HARD; - case SP_CUSTOM: return AI::START_NEXT_MEDIUM; - default: NOT_REACHED(); - } - } - - return (*it).second; - } - - return ScriptConfig::GetSetting(name); -} - -void AIConfig::SetSetting(const char *name, int value) -{ - if (this->info == nullptr) { - if (strcmp("start_date", name) != 0) return; - value = Clamp(value, AI::START_NEXT_MIN, AI::START_NEXT_MAX); - - SettingValueList::iterator it = this->settings.find(name); - if (it != this->settings.end()) { - (*it).second = value; - } else { - this->settings[stredup(name)] = value; - } - - return; - } - - ScriptConfig::SetSetting(name, value); -} - -void AIConfig::AddRandomDeviation() -{ - int start_date = this->GetSetting("start_date"); - - ScriptConfig::AddRandomDeviation(); - - /* start_date = 0 is a special case, where random deviation does not occur. - * If start_date was not already 0, then a minimum value of 1 must apply. */ - this->SetSetting("start_date", start_date != 0 ? std::max(1, this->GetSetting("start_date")) : 0); -} diff --git a/src/ai/ai_config.hpp b/src/ai/ai_config.hpp index 6c861126e0..a0f98d2187 100644 --- a/src/ai/ai_config.hpp +++ b/src/ai/ai_config.hpp @@ -24,14 +24,12 @@ public: ScriptConfig() {} - AIConfig(const AIConfig *config); + AIConfig(const AIConfig *config) : + ScriptConfig(config) + {} class AIInfo *GetInfo() const; - int GetSetting(const char *name) const override; - void SetSetting(const char *name, int value) override; - void AddRandomDeviation() override; - /** * When ever the AI Scanner is reloaded, all infos become invalid. This * function tells AIConfig about this. @@ -43,8 +41,6 @@ public: bool ResetInfo(bool force_exact_match); protected: - void PushExtraConfigList() override; - void ClearConfigList() override; ScriptInfo *FindInfo(const char *name, int version, bool force_exact_match) override; }; diff --git a/src/ai/ai_core.cpp b/src/ai/ai_core.cpp index 220e7bdbd2..feeeeb0162 100644 --- a/src/ai/ai_core.cpp +++ b/src/ai/ai_core.cpp @@ -289,17 +289,6 @@ } } -/* static */ int AI::GetStartNextTime() -{ - /* Find the first company which doesn't exist yet */ - for (CompanyID c = COMPANY_FIRST; c < MAX_COMPANIES; c++) { - if (!Company::IsValidID(c)) return AIConfig::GetConfig(c, AIConfig::SSS_FORCE_GAME)->GetSetting("start_date"); - } - - /* Currently no AI can be started, check again in a year. */ - return DAYS_IN_YEAR; -} - /* static */ std::string AI::GetConsoleList(bool newest_only) { return AI::scanner_info->GetConsoleList(newest_only); diff --git a/src/ai/ai_gui.cpp b/src/ai/ai_gui.cpp index c93358828e..edd7e48348 100644 --- a/src/ai/ai_gui.cpp +++ b/src/ai/ai_gui.cpp @@ -35,11 +35,17 @@ static const NWidgetPart _nested_ai_config_widgets[] = { NWidget(WWT_PANEL, COLOUR_MAUVE, WID_AIC_BACKGROUND), NWidget(NWID_VERTICAL), SetPIP(4, 4, 4), NWidget(NWID_HORIZONTAL), SetPIP(7, 0, 7), - NWidget(WWT_PUSHARROWBTN, COLOUR_YELLOW, WID_AIC_DECREASE), SetDataTip(AWV_DECREASE, STR_NULL), - NWidget(WWT_PUSHARROWBTN, COLOUR_YELLOW, WID_AIC_INCREASE), SetDataTip(AWV_INCREASE, STR_NULL), + NWidget(WWT_PUSHARROWBTN, COLOUR_YELLOW, WID_AIC_DECREASE_NUMBER), SetDataTip(AWV_DECREASE, STR_NULL), + NWidget(WWT_PUSHARROWBTN, COLOUR_YELLOW, WID_AIC_INCREASE_NUMBER), SetDataTip(AWV_INCREASE, STR_NULL), NWidget(NWID_SPACER), SetMinimalSize(6, 0), NWidget(WWT_TEXT, COLOUR_MAUVE, WID_AIC_NUMBER), SetDataTip(STR_AI_CONFIG_MAX_COMPETITORS, STR_NULL), SetFill(1, 0), EndContainer(), + NWidget(NWID_HORIZONTAL), SetPIP(7, 0, 7), + NWidget(WWT_PUSHARROWBTN, COLOUR_YELLOW, WID_AIC_DECREASE_INTERVAL), SetDataTip(AWV_DECREASE, STR_NULL), + NWidget(WWT_PUSHARROWBTN, COLOUR_YELLOW, WID_AIC_INCREASE_INTERVAL), SetDataTip(AWV_INCREASE, STR_NULL), + NWidget(NWID_SPACER), SetMinimalSize(6, 0), + NWidget(WWT_TEXT, COLOUR_MAUVE, WID_AIC_INTERVAL), SetDataTip(STR_AI_CONFIG_COMPETITORS_INTERVAL, STR_NULL), SetFill(1, 0), + EndContainer(), NWidget(NWID_HORIZONTAL, NC_EQUALSIZE), SetPIP(7, 0, 7), NWidget(WWT_PUSHTXTBTN, COLOUR_YELLOW, WID_AIC_MOVE_UP), SetResize(1, 0), SetFill(1, 0), SetDataTip(STR_AI_CONFIG_MOVE_UP, STR_AI_CONFIG_MOVE_UP_TOOLTIP), NWidget(WWT_PUSHTXTBTN, COLOUR_YELLOW, WID_AIC_MOVE_DOWN), SetResize(1, 0), SetFill(1, 0), SetDataTip(STR_AI_CONFIG_MOVE_DOWN, STR_AI_CONFIG_MOVE_DOWN_TOOLTIP), @@ -106,14 +112,20 @@ struct AIConfigWindow : public Window { case WID_AIC_NUMBER: SetDParam(0, GetGameSettings().difficulty.max_no_competitors); break; + + case WID_AIC_INTERVAL: + SetDParam(0, GetGameSettings().difficulty.competitors_interval); + break; } } void UpdateWidgetSize(int widget, Dimension *size, const Dimension &padding, Dimension *fill, Dimension *resize) override { switch (widget) { - case WID_AIC_DECREASE: - case WID_AIC_INCREASE: + case WID_AIC_DECREASE_NUMBER: + case WID_AIC_INCREASE_NUMBER: + case WID_AIC_DECREASE_INTERVAL: + case WID_AIC_INCREASE_INTERVAL: *size = maxdim(*size, NWidgetScrollbar::GetHorizontalDimension()); break; @@ -179,10 +191,10 @@ struct AIConfigWindow : public Window { } switch (widget) { - case WID_AIC_DECREASE: - case WID_AIC_INCREASE: { + case WID_AIC_DECREASE_NUMBER: + case WID_AIC_INCREASE_NUMBER: { int new_value; - if (widget == WID_AIC_DECREASE) { + if (widget == WID_AIC_DECREASE_NUMBER) { new_value = std::max(0, GetGameSettings().difficulty.max_no_competitors - 1); } else { new_value = std::min(MAX_COMPANIES - 1, GetGameSettings().difficulty.max_no_competitors + 1); @@ -191,6 +203,18 @@ struct AIConfigWindow : public Window { break; } + case WID_AIC_DECREASE_INTERVAL: + case WID_AIC_INCREASE_INTERVAL: { + int new_value; + if (widget == WID_AIC_DECREASE_INTERVAL) { + new_value = std::max(static_cast(MIN_COMPETITORS_INTERVAL), GetGameSettings().difficulty.competitors_interval - 1); + } else { + new_value = std::min(static_cast(MAX_COMPETITORS_INTERVAL), GetGameSettings().difficulty.competitors_interval + 1); + } + IConsoleSetSetting("difficulty.competitors_interval", new_value); + break; + } + case WID_AIC_LIST: { // Select a slot this->selected_slot = (CompanyID)this->vscroll->GetScrolledRowFromWidget(pt.y, this, widget); this->InvalidateData(); @@ -251,8 +275,10 @@ struct AIConfigWindow : public Window { if (!gui_scope) return; - this->SetWidgetDisabledState(WID_AIC_DECREASE, GetGameSettings().difficulty.max_no_competitors == 0); - this->SetWidgetDisabledState(WID_AIC_INCREASE, GetGameSettings().difficulty.max_no_competitors == MAX_COMPANIES - 1); + this->SetWidgetDisabledState(WID_AIC_DECREASE_NUMBER, GetGameSettings().difficulty.max_no_competitors == 0); + this->SetWidgetDisabledState(WID_AIC_INCREASE_NUMBER, GetGameSettings().difficulty.max_no_competitors == MAX_COMPANIES - 1); + this->SetWidgetDisabledState(WID_AIC_DECREASE_INTERVAL, GetGameSettings().difficulty.competitors_interval == MIN_COMPETITORS_INTERVAL); + this->SetWidgetDisabledState(WID_AIC_INCREASE_INTERVAL, GetGameSettings().difficulty.competitors_interval == MAX_COMPETITORS_INTERVAL); this->SetWidgetDisabledState(WID_AIC_CHANGE, this->selected_slot == INVALID_COMPANY); this->SetWidgetDisabledState(WID_AIC_CONFIGURE, this->selected_slot == INVALID_COMPANY || AIConfig::GetConfig(this->selected_slot)->GetConfigList()->size() == 0); this->SetWidgetDisabledState(WID_AIC_MOVE_UP, this->selected_slot == INVALID_COMPANY || !IsEditable((CompanyID)(this->selected_slot - 1))); diff --git a/src/ai/ai_info.cpp b/src/ai/ai_info.cpp index b8bc1fb83d..7ca897c713 100644 --- a/src/ai/ai_info.cpp +++ b/src/ai/ai_info.cpp @@ -69,11 +69,6 @@ template <> const char *GetClassName() { return "AIInfo"; } SQInteger res = ScriptInfo::Constructor(vm, info); if (res != 0) return res; - ScriptConfigItem config = _start_date_config; - config.name = stredup(config.name); - config.description = stredup(config.description); - info->config_list.push_front(config); - if (info->engine->MethodExists(*info->SQ_instance, "MinVersionToLoad")) { if (!info->engine->CallIntegerMethod(*info->SQ_instance, "MinVersionToLoad", &info->min_loadable_version, MAX_GET_OPS)) return SQ_ERROR; } else { diff --git a/src/company_base.h b/src/company_base.h index bb88e94fd6..d0bbea095c 100644 --- a/src/company_base.h +++ b/src/company_base.h @@ -170,7 +170,6 @@ struct Company : CompanyProperties, CompanyPool::PoolItem<&_company_pool> { Money CalculateCompanyValue(const Company *c, bool including_loan = true); Money CalculateCompanyValueExcludingShares(const Company *c, bool including_loan = true); -extern uint _next_competitor_start; extern uint _cur_company_tick_index; #endif /* COMPANY_BASE_H */ diff --git a/src/company_cmd.cpp b/src/company_cmd.cpp index fab43052c2..e9639bfcbf 100644 --- a/src/company_cmd.cpp +++ b/src/company_cmd.cpp @@ -38,6 +38,7 @@ #include "company_cmd.h" #include "timer/timer.h" #include "timer/timer_game_calendar.h" +#include "timer/timer_game_tick.h" #include "table/strings.h" @@ -50,7 +51,6 @@ CompanyID _local_company; ///< Company controlled by the human player at this CompanyID _current_company; ///< Company currently doing an action. Colours _company_colours[MAX_COMPANIES]; ///< NOSAVE: can be determined from company structs. CompanyManagerFace _company_manager_face; ///< for company manager face storage in openttd.cfg -uint _next_competitor_start; ///< the number of ticks before the next AI is started uint _cur_company_tick_index; ///< used to generate a name for one company that doesn't have a name yet per tick CompanyPool _company_pool("Company"); ///< Pool of companies. @@ -599,16 +599,10 @@ Company *DoStartupNewCompany(bool is_ai, CompanyID company = INVALID_COMPANY) return c; } -/** Start the next competitor now. */ -void StartupCompanies() -{ - _next_competitor_start = 0; -} - /** Start a new competitor company if possible. */ -static bool MaybeStartNewCompany() -{ - if (_networking && Company::GetNumItems() >= _settings_client.network.max_companies) return false; +TimeoutTimer _new_competitor_timeout(0, []() { + if (_game_mode == GM_MENU || !AI::CanStartNew()) return; + if (_networking && Company::GetNumItems() >= _settings_client.network.max_companies) return; /* count number of competitors */ uint n = 0; @@ -616,13 +610,26 @@ static bool MaybeStartNewCompany() if (c->is_ai) n++; } - if (n < (uint)_settings_game.difficulty.max_no_competitors) { - /* Send a command to all clients to start up a new AI. - * Works fine for Multiplayer and Singleplayer */ - return Command::Post(CCA_NEW_AI, INVALID_COMPANY, CRR_NONE, INVALID_CLIENT_ID ); - } + if (n >= (uint)_settings_game.difficulty.max_no_competitors) return; - return false; + /* Send a command to all clients to start up a new AI. + * Works fine for Multiplayer and Singleplayer */ + Command::Post(CCA_NEW_AI, INVALID_COMPANY, CRR_NONE, INVALID_CLIENT_ID); +}); + +/** Start of a new game. */ +void StartupCompanies() +{ + /* Ensure the timeout is aborted, so it doesn't fire based on information of the last game. */ + _new_competitor_timeout.Abort(); + + /* If there is no delay till the start of the next competitor, start all competitors at the start of the game. */ + if (_settings_game.difficulty.competitors_interval == 0 && _game_mode != GM_MENU && AI::CanStartNew()) { + for (auto i = 0; i < _settings_game.difficulty.max_no_competitors; i++) { + if (_networking && Company::GetNumItems() >= _settings_client.network.max_companies) break; + Command::Post(CCA_NEW_AI, INVALID_COMPANY, CRR_NONE, INVALID_CLIENT_ID); + } + } } /** Initialize the pool of companies. */ @@ -722,20 +729,15 @@ void OnTick_Companies() if (c->bankrupt_asked != 0) HandleBankruptcyTakeover(c); } - if (_next_competitor_start == 0) { - /* AI::GetStartNextTime() can return 0. */ - _next_competitor_start = std::max(1, AI::GetStartNextTime() * DAY_TICKS); - } + if (_new_competitor_timeout.HasFired() && _game_mode != GM_MENU && AI::CanStartNew()) { + int32 timeout = _settings_game.difficulty.competitors_interval * 60 * TICKS_PER_SECOND; + /* If the interval is zero, check every ~10 minutes if a company went bankrupt and needs replacing. */ + if (timeout == 0) timeout = 10 * 60 * TICKS_PER_SECOND; - if (_game_mode != GM_MENU && AI::CanStartNew() && --_next_competitor_start == 0) { - /* Allow multiple AIs to possibly start in the same tick. */ - do { - if (!MaybeStartNewCompany()) break; + /* Randomize a bit when the AI is actually going to start; ranges from 87.5% .. 112.5% of indicated value. */ + timeout += ScriptObject::GetRandomizer(OWNER_NONE).Next(timeout / 4) - timeout / 8; - /* In networking mode, we can only send a command to start but it - * didn't execute yet, so we cannot loop. */ - if (_networking) break; - } while (AI::GetStartNextTime() == 0); + _new_competitor_timeout.Reset(std::max(1, timeout)); } _cur_company_tick_index = (_cur_company_tick_index + 1) % MAX_COMPANIES; diff --git a/src/company_type.h b/src/company_type.h index 3bbcf731e6..cdd9a414d6 100644 --- a/src/company_type.h +++ b/src/company_type.h @@ -42,6 +42,9 @@ static const uint MAX_LENGTH_COMPANY_NAME_CHARS = 32; ///< The maximum length static const uint MAX_HISTORY_QUARTERS = 24; ///< The maximum number of quarters kept as performance's history static const uint MAX_COMPANY_SHARE_OWNERS = 4; ///< The maximum number of shares of a company that can be owned by another company. +static const uint MIN_COMPETITORS_INTERVAL = 0; ///< The minimum interval (in minutes) between competitors. +static const uint MAX_COMPETITORS_INTERVAL = 500; ///< The maximum interval (in minutes) between competitors. + /** Define basic enum properties */ template <> struct EnumPropsT : MakeEnumPropsT {}; diff --git a/src/lang/english.txt b/src/lang/english.txt index 0ea5d374b0..352119a66a 100644 --- a/src/lang/english.txt +++ b/src/lang/english.txt @@ -4592,6 +4592,7 @@ STR_AI_CONFIG_RANDOM_AI :Random AI STR_AI_CONFIG_NONE :(none) STR_AI_CONFIG_NAME_VERSION :{RAW_STRING} {YELLOW}v{NUM} STR_AI_CONFIG_MAX_COMPETITORS :{LTBLUE}Maximum no. competitors: {ORANGE}{COMMA} +STR_AI_CONFIG_COMPETITORS_INTERVAL :{LTBLUE}Interval between starting of competitors: {ORANGE}{COMMA} minute{P "" s} STR_AI_CONFIG_MOVE_UP :{BLACK}Move Up STR_AI_CONFIG_MOVE_UP_TOOLTIP :{BLACK}Move selected AI up in the list @@ -4638,7 +4639,6 @@ STR_AI_SETTINGS_CAPTION_GAMESCRIPT :Game Script STR_AI_SETTINGS_CLOSE :{BLACK}Close STR_AI_SETTINGS_RESET :{BLACK}Reset STR_AI_SETTINGS_SETTING :{RAW_STRING}: {ORANGE}{STRING1} -STR_AI_SETTINGS_START_DELAY :Number of days to start this AI after the previous one (give or take): {ORANGE}{STRING1} # Textfile window diff --git a/src/openttd.cpp b/src/openttd.cpp index d61a4145ee..c3b7c8fa43 100644 --- a/src/openttd.cpp +++ b/src/openttd.cpp @@ -70,6 +70,7 @@ #include "misc_cmd.h" #include "timer/timer.h" #include "timer/timer_game_calendar.h" +#include "timer/timer_game_tick.h" #include "linkgraph/linkgraphschedule.h" @@ -1419,6 +1420,7 @@ void StateGameLoop() BasePersistentStorageArray::SwitchMode(PSM_ENTER_GAMELOOP); AnimateAnimatedTiles(); TimerManager::Elapsed(1); + TimerManager::Elapsed(1); RunTileLoop(); CallVehicleTicks(); CallLandscapeTick(); diff --git a/src/saveload/afterload.cpp b/src/saveload/afterload.cpp index 1d3c018a49..8faa144c95 100644 --- a/src/saveload/afterload.cpp +++ b/src/saveload/afterload.cpp @@ -58,6 +58,8 @@ #include "../disaster_vehicle.h" #include "../ship.h" #include "../water.h" +#include "../timer/timer.h" +#include "../timer/timer_game_tick.h" #include "saveload_internal.h" @@ -3259,6 +3261,16 @@ bool AfterLoadGame() for (Station *st : Station::Iterate()) UpdateStationAcceptance(st, false); } + if (IsSavegameVersionBefore(SLV_AI_START_DATE)) { + /* For older savegames, we don't now the actual interval; so set it to the newgame value. */ + _settings_game.difficulty.competitors_interval = _settings_newgame.difficulty.competitors_interval; + + /* We did load the "period" of the timer, but not the fired/elapsed. We can deduce that here. */ + extern TimeoutTimer _new_competitor_timeout; + _new_competitor_timeout.storage.elapsed = 0; + _new_competitor_timeout.fired = _new_competitor_timeout.period == 0; + } + AfterLoadLabelMaps(); AfterLoadCompanyStats(); AfterLoadStoryBook(); diff --git a/src/saveload/misc_sl.cpp b/src/saveload/misc_sl.cpp index e537bee019..7fdfd5aa2d 100644 --- a/src/saveload/misc_sl.cpp +++ b/src/saveload/misc_sl.cpp @@ -20,6 +20,8 @@ #include "../gfx_func.h" #include "../core/random_func.hpp" #include "../fios.h" +#include "../timer/timer.h" +#include "../timer/timer_game_tick.h" #include "../safeguards.h" @@ -67,6 +69,7 @@ void ResetViewportAfterLoadGame() } byte _age_cargo_skip_counter; ///< Skip aging of cargo? Used before savegame version 162. +extern TimeoutTimer _new_competitor_timeout; static const SaveLoad _date_desc[] = { SLEG_CONDVAR("date", _date, SLE_FILE_U16 | SLE_VAR_I32, SL_MIN_VERSION, SLV_31), @@ -81,10 +84,14 @@ static const SaveLoad _date_desc[] = { SLEG_VAR("random_state[0]", _random.state[0], SLE_UINT32), SLEG_VAR("random_state[1]", _random.state[1], SLE_UINT32), SLEG_VAR("company_tick_counter", _cur_company_tick_index, SLE_FILE_U8 | SLE_VAR_U32), - SLEG_CONDVAR("next_competitor_start", _next_competitor_start, SLE_FILE_U16 | SLE_VAR_U32, SL_MIN_VERSION, SLV_109), - SLEG_CONDVAR("next_competitor_start", _next_competitor_start, SLE_UINT32, SLV_109, SL_MAX_VERSION), SLEG_VAR("trees_tick_counter", _trees_tick_ctr, SLE_UINT8), SLEG_CONDVAR("pause_mode", _pause_mode, SLE_UINT8, SLV_4, SL_MAX_VERSION), + /* For older savegames, we load the current value as the "period"; afterload will set the "fired" and "elapsed". */ + SLEG_CONDVAR("next_competitor_start", _new_competitor_timeout.period, SLE_FILE_U16 | SLE_VAR_U32, SL_MIN_VERSION, SLV_109), + SLEG_CONDVAR("next_competitor_start", _new_competitor_timeout.period, SLE_UINT32, SLV_109, SLV_AI_START_DATE), + SLEG_CONDVAR("competitors_interval", _new_competitor_timeout.period, SLE_UINT32, SLV_AI_START_DATE, SL_MAX_VERSION), + SLEG_CONDVAR("competitors_interval_elapsed", _new_competitor_timeout.storage.elapsed, SLE_UINT32, SLV_AI_START_DATE, SL_MAX_VERSION), + SLEG_CONDVAR("competitors_interval_fired", _new_competitor_timeout.fired, SLE_BOOL, SLV_AI_START_DATE, SL_MAX_VERSION), }; static const SaveLoad _date_check_desc[] = { diff --git a/src/saveload/oldloader_sl.cpp b/src/saveload/oldloader_sl.cpp index b437cbf5f6..783ef54f01 100644 --- a/src/saveload/oldloader_sl.cpp +++ b/src/saveload/oldloader_sl.cpp @@ -27,6 +27,8 @@ #include "../company_base.h" #include "../disaster_vehicle.h" #include "../core/smallvec_type.hpp" +#include "../timer/timer.h" +#include "../timer/timer_game_tick.h" #include "saveload_internal.h" #include "oldloader.h" #include @@ -489,6 +491,7 @@ static inline uint RemapOrderIndex(uint x) } extern std::vector _animated_tiles; +extern TimeoutTimer _new_competitor_timeout; extern char *_old_name_array; static uint32 _old_town_index; @@ -1677,7 +1680,7 @@ static const OldChunks main_chunk[] = { OCL_ASSERT( OC_TTO, 0x496CE ), - OCL_VAR ( OC_FILE_U16 | OC_VAR_U32, 1, &_next_competitor_start ), + OCL_VAR ( OC_FILE_U16 | OC_VAR_U32, 1, &_new_competitor_timeout.period ), OCL_CNULL( OC_TTO, 2 ), ///< available monorail bitmask diff --git a/src/saveload/saveload.h b/src/saveload/saveload.h index 60fc0adbe9..24c3ca5b27 100644 --- a/src/saveload/saveload.h +++ b/src/saveload/saveload.h @@ -351,6 +351,7 @@ enum SaveLoadVersion : uint16 { SLV_CONSISTENT_PARTIAL_Z, ///< 306 PR#10570 Conversion from an inconsistent partial Z calculation for slopes, to one that is (more) consistent. SLV_MORE_CARGO_AGE, ///< 307 PR#10596 Track cargo age for a longer period. SLV_LINKGRAPH_SECONDS, ///< 308 PR#10610 Store linkgraph update intervals in seconds instead of days. + SLV_AI_START_DATE, ///< 309 PR#10653 Removal of individual AI start dates and added a generic one. SL_MAX_VERSION, ///< Highest possible saveload version }; diff --git a/src/script/script_config.cpp b/src/script/script_config.cpp index 7f4cfebb6d..29ab7af430 100644 --- a/src/script/script_config.cpp +++ b/src/script/script_config.cpp @@ -26,7 +26,6 @@ void ScriptConfig::Change(const char *name, int version, bool force_exact_match, this->is_random = is_random; if (this->config_list != nullptr) delete this->config_list; this->config_list = (info == nullptr) ? nullptr : new ScriptConfigItemList(); - if (this->config_list != nullptr) this->PushExtraConfigList(); this->to_load_data.reset(); this->ClearConfigList(); @@ -79,7 +78,6 @@ const ScriptConfigItemList *ScriptConfig::GetConfigList() if (this->info != nullptr) return this->info->GetConfigList(); if (this->config_list == nullptr) { this->config_list = new ScriptConfigItemList(); - this->PushExtraConfigList(); } return this->config_list; } diff --git a/src/script/script_config.hpp b/src/script/script_config.hpp index b243f3061f..be788d0526 100644 --- a/src/script/script_config.hpp +++ b/src/script/script_config.hpp @@ -51,8 +51,6 @@ struct ScriptConfigItem { typedef std::list ScriptConfigItemList; ///< List of ScriptConfig items. -extern ScriptConfigItem _start_date_config; - /** * Script settings. */ @@ -127,12 +125,12 @@ public: * @return The (default) value of the setting, or -1 if the setting was not * found. */ - virtual int GetSetting(const char *name) const; + int GetSetting(const char *name) const; /** * Set the value of a setting for this config. */ - virtual void SetSetting(const char *name, int value); + void SetSetting(const char *name, int value); /** * Reset all settings to their default value. @@ -147,7 +145,7 @@ public: /** * Randomize all settings the Script requested to be randomized. */ - virtual void AddRandomDeviation(); + void AddRandomDeviation(); /** * Is this config attached to an Script? In other words, is there a Script @@ -202,16 +200,10 @@ protected: bool is_random; ///< True if the AI in this slot was randomly chosen. std::unique_ptr to_load_data; ///< Data to load after the Script start. - /** - * In case you have mandatory non-Script-definable config entries in your - * list, add them to this function. - */ - virtual void PushExtraConfigList() {}; - /** * Routine that clears the config list. */ - virtual void ClearConfigList(); + void ClearConfigList(); /** * This function should call back to the Scanner in charge of this Config, diff --git a/src/script/script_gui.cpp b/src/script/script_gui.cpp index bee329596b..d060620af1 100644 --- a/src/script/script_gui.cpp +++ b/src/script/script_gui.cpp @@ -379,14 +379,8 @@ struct ScriptSettingsWindow : public Window { TextColour colour; uint idx = 0; if (StrEmpty(config_item.description)) { - if (this->slot != OWNER_DEITY && !strcmp(config_item.name, "start_date")) { - /* Build-in translation */ - str = STR_AI_SETTINGS_START_DELAY; - colour = TC_LIGHT_BLUE; - } else { - str = STR_JUST_STRING; - colour = TC_ORANGE; - } + str = STR_JUST_STRING; + colour = TC_ORANGE; } else { str = STR_AI_SETTINGS_SETTING; colour = TC_LIGHT_BLUE; diff --git a/src/settings_type.h b/src/settings_type.h index 4b9bc2f447..cae3376102 100644 --- a/src/settings_type.h +++ b/src/settings_type.h @@ -76,6 +76,7 @@ struct DifficultySettings { byte competitor_intelligence; ///< Unused value, used to load old savegames. byte max_no_competitors; ///< the number of competitors (AIs) + uint16 competitors_interval; ///< the interval (in minutes) between adding competitors byte number_towns; ///< the amount of towns byte industry_density; ///< The industry density. @see IndustryDensity uint32 max_loan; ///< the maximum initial loan diff --git a/src/table/settings/difficulty_settings.ini b/src/table/settings/difficulty_settings.ini index ee68c6d30e..740e83aa54 100644 --- a/src/table/settings/difficulty_settings.ini +++ b/src/table/settings/difficulty_settings.ini @@ -57,6 +57,15 @@ interval = 1 post_cb = MaxNoAIsChange cat = SC_BASIC +[SDT_VAR] +var = difficulty.competitors_interval +type = SLE_UINT16 +from = SLV_AI_START_DATE +def = 10 +min = MIN_COMPETITORS_INTERVAL +max = MAX_COMPETITORS_INTERVAL +interval = 1 + [SDT_VAR] var = difficulty.competitor_start_time type = SLE_UINT8 diff --git a/src/timer/CMakeLists.txt b/src/timer/CMakeLists.txt index de9e01636f..37612481b8 100644 --- a/src/timer/CMakeLists.txt +++ b/src/timer/CMakeLists.txt @@ -1,6 +1,8 @@ add_files( timer_game_calendar.cpp timer_game_calendar.h + timer_game_tick.cpp + timer_game_tick.h timer_window.cpp timer_window.h timer_manager.h diff --git a/src/timer/timer_game_tick.cpp b/src/timer/timer_game_tick.cpp new file mode 100644 index 0000000000..75ed88d63d --- /dev/null +++ b/src/timer/timer_game_tick.cpp @@ -0,0 +1,64 @@ +/* + * This file is part of OpenTTD. + * OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2. + * OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see . + */ + +/** + * @file timer_game_tick.cpp + * This file implements the timer logic for the tick-based game-timer. + */ + +#include "stdafx.h" +#include "timer.h" +#include "timer_game_tick.h" + +#include "safeguards.h" + +template<> +void IntervalTimer::Elapsed(TimerGameTick::TElapsed delta) +{ + if (this->period == 0) return; + + this->storage.elapsed += delta; + + uint count = 0; + while (this->storage.elapsed >= this->period) { + this->storage.elapsed -= this->period; + count++; + } + + if (count > 0) { + this->callback(count); + } +} + +template<> +void TimeoutTimer::Elapsed(TimerGameTick::TElapsed delta) +{ + if (this->fired) return; + if (this->period == 0) return; + + this->storage.elapsed += delta; + + if (this->storage.elapsed >= this->period) { + this->callback(); + this->fired = true; + } +} + +template<> +void TimerManager::Elapsed(TimerGameTick::TElapsed delta) +{ + for (auto timer : TimerManager::GetTimers()) { + timer->Elapsed(delta); + } +} + +#ifdef WITH_ASSERT +template<> +void TimerManager::Validate(TimerGameTick::TPeriod period) +{ +} +#endif /* WITH_ASSERT */ diff --git a/src/timer/timer_game_tick.h b/src/timer/timer_game_tick.h new file mode 100644 index 0000000000..6a48a35bfd --- /dev/null +++ b/src/timer/timer_game_tick.h @@ -0,0 +1,34 @@ +/* + * This file is part of OpenTTD. + * OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2. + * OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see . + */ + +/** @file timer_game_tick.h Definition of the tick-based game-timer */ + +#ifndef TIMER_GAME_TICK_H +#define TIMER_GAME_TICK_H + +#include "gfx_type.h" + +#include + +/** Estimation of how many ticks fit in a single second. */ +static const uint TICKS_PER_SECOND = 1000 / MILLISECONDS_PER_TICK; + +/** + * Timer that represents the game-ticks. It will pause when the game is paused. + * + * @note Callbacks are executed in the game-thread. + */ +class TimerGameTick { +public: + using TPeriod = uint; + using TElapsed = uint; + struct TStorage { + uint elapsed; + }; +}; + +#endif /* TIMER_GAME_TICK_H */ diff --git a/src/widgets/ai_widget.h b/src/widgets/ai_widget.h index f50b6632c8..4d6418bcfe 100644 --- a/src/widgets/ai_widget.h +++ b/src/widgets/ai_widget.h @@ -15,9 +15,12 @@ /** Widgets of the #AIConfigWindow class. */ enum AIConfigWidgets { WID_AIC_BACKGROUND, ///< Window background. - WID_AIC_DECREASE, ///< Decrease the number of AIs. - WID_AIC_INCREASE, ///< Increase the number of AIs. + WID_AIC_DECREASE_NUMBER, ///< Decrease the number of AIs. + WID_AIC_INCREASE_NUMBER, ///< Increase the number of AIs. WID_AIC_NUMBER, ///< Number of AIs. + WID_AIC_DECREASE_INTERVAL,///< Decrease the interval. + WID_AIC_INCREASE_INTERVAL,///< Increase the interval. + WID_AIC_INTERVAL, ///< Interval between time AIs start. WID_AIC_LIST, ///< List with currently selected AIs. WID_AIC_SCROLLBAR, ///< Scrollbar to scroll through the selected AIs. WID_AIC_MOVE_UP, ///< Move up button.