Mircea TheHonestCTO
bb7588852b
refactor AIMemory replacing getObj with getObjInstance to avoid unnecessary visibility filtering when just a simple iteration over objs is desired
2025-09-27 03:36:51 +02:00
Mircea TheHonestCTO
a836cd3aed
fix: time-of-check-to-time-of-use (TOCTOU) race condition in AIMemory::removeInvisibleObjects; a bit of refactoring in RecruitHeroBehavior and some todo comments for later on
2025-09-25 17:09:42 +02:00
Mircea TheHonestCTO
b8eb49bc82
finished removing thread local from NK2
2025-09-12 19:25:56 +02:00
Mircea TheHonestCTO
2f1c6946e3
remove unused TODO parameter from toString() calls; adjust ObjectIdRef constructor usage for clarity and consistency
2025-09-12 15:39:49 +02:00
Mircea TheHonestCTO
3aed53de3d
more thread_local removal work
2025-09-12 15:33:34 +02:00
Mircea TheHonestCTO
16cdee82fd
removed operator bool() from HeroPtr so we can consistently use isVerified() like in most of the other places
2025-09-06 06:41:50 +02:00
Mircea TheHonestCTO
9cdf74fb42
add pathfinderTurnStorageMisses to track how bucket size should be adjusted; modfied nk2ai-settings.json to simulate 3 clearer AI difficulty levels
2025-09-05 03:49:09 +02:00
Mircea TheHonestCTO
7a40981a95
overall refactoring, HeroPtr adjustments, AiNodeStorage remove unnecessary callback
2025-09-04 00:07:12 +02:00
Mircea TheHonestCTO
13bd7ed8f4
WIP remove thread_local CCallback in HeroPtr
2025-09-01 04:49:21 +02:00
Mircea TheHonestCTO
fa677eb243
WIP remove thread_local CCallback * ccTl
2025-08-30 20:15:03 +02:00
Mircea TheHonestCTO
e2c80f03a1
remove thread_local AIGateway * aiGwTl
2025-08-30 18:10:33 +02:00
Mircea TheHonestCTO
1e2ed620f7
thread local refactoring
2025-08-30 07:27:07 +02:00
Mircea TheHonestCTO
1b0b15063f
fix nullptr thread_local gw and cc: introduce SET_GLOBAL_STATE_TBB for tbb:parallel_for
2025-08-30 06:52:48 +02:00
Mircea TheHonestCTO
f7f09ff325
simplification: remove nullkiller->dangerHitMap->updateHitMap() from RecruitHeroBehavior, BuyArmyBehavior and BuildingBehavior. Now it's called only once before getting into those decomposers;
...
simplification: remove partialUpdate bool from Nullkiller:updateState as it depends on pathfinderInvalidated anyway;
restructure goal/RecruitHeroBehavior to allow easier testing
2025-08-20 03:08:02 +02:00
Mircea TheHonestCTO
bf3d5627e0
Bring back cbc in CAdventureAI and rename the rest to cc
2025-08-16 20:17:18 +02:00
Mircea TheHonestCTO
725f5300cc
AIGateway cbc static methods refactoring
2025-08-16 08:49:56 +02:00
Mircea TheHonestCTO
af14b67bd0
AIGateway cbc static methods refactoring
2025-08-16 08:40:40 +02:00
Mircea TheHonestCTO
b8bf8714a1
consistent renaming of ai into aiGw or aiNk and cbc
2025-08-16 00:22:18 +02:00
Mircea TheHonestCTO
6b6298fa33
consistent renaming of ai into aiGw or aiNk and cbc
2025-08-15 18:58:14 +02:00
Mircea TheHonestCTO
9a09654a0f
consistent renaming of ai into aiGw or aiNk and cbc
2025-08-15 18:30:28 +02:00
Mircea TheHonestCTO
306f01610d
AIGateway.cpp thread_local vars consistent renaming
2025-08-15 17:47:21 +02:00
Mircea TheHonestCTO
a9ecaca81f
squashed: BuildAnalyzer wip; Nulkiller decompose; Nulkiller makeTurnHelperPriorityPass; Nulkiller minor refactoring
2025-08-14 23:15:23 +02:00
Mircea TheHonestCTO
fd7f676dc4
AIGateway::makeTurn try catch always
2025-08-14 03:16:44 +02:00
Mircea TheHonestCTO
76e91f7689
AIGateway.cpp extracting methods that can be isolated/static
2025-08-14 03:09:42 +02:00
Mircea TheHonestCTO
810e3570b3
consistent and independent thread naming
2025-08-13 18:38:47 +02:00
Mircea TheHonestCTO
64324f4821
change namespace
2025-08-13 17:16:27 +02:00
Mircea TheHonestCTO
7f2c3ba556
revert file name without 2 to make it easier to compare new vs old
2025-08-13 17:10:29 +02:00
Mircea TheHonestCTO
fec11fc9f5
revert file name without 2 to make it easier to compare new vs old
2025-08-13 17:05:30 +02:00
Mircea TheHonestCTO
ffad6c6a43
cloned Nullkiller into Nullkiller2
2025-08-13 14:41:15 +02:00