Capture current mission, AI, map and administration development

Include the current addon, terrain integrations, tools, regression tests and recorded development evidence.
This commit is contained in:
2026-10-13 22:52:53 +02:00
parent a951a96edc
commit 6a667d8deb
8104 changed files with 2124945 additions and 2061 deletions
+12 -2
View File
@@ -1,7 +1,9 @@
"""Run actual shared objective selection and map grid methods; no native UI claim."""
from policy_harness import ROOT, body, run
from pathlib import Path
import os
source = ROOT / 'addons/core/Scripts/Game/ERR/00_Core/ERR_ObjectiveText.c'
source = Path(os.environ.get('ERR_OBJECTIVE_TEXT_SOURCE', ROOT / 'addons/core/Scripts/Game/ERR/00_Core/ERR_ObjectiveText.c'))
s = body(source, 'protected static string PhaseDescription(')
s = s.replace('protected ', '').replace('ERR_GameMode mode,', 'ERR_GameMode* mode,')
s = s.replace('ERR_Phase phase', 'int phase').replace('mode.', 'mode->')
@@ -25,6 +27,8 @@ namespace ERR_LocationKind {enum {PRISON,RADIO,EXTRACTION,OUTPOST,DEPOT};}
namespace Math {float Ceil(float v){return std::ceil(v);}float Floor(float v){return std::floor(v);}float Round(float v){return std::round(v);}}
struct ERR_LocationComponent {int kind,knowledge;int Kind(){return kind;}int Knowledge(){return knowledge;}};
struct ERR_GameMode {
int PickupStage(){return 0;}
int startMode=0;int StartMode(){return startMode;}
int phase=ERR_Phase::RADIO_SEARCH;string error;bool occupied=false;
std::vector<ERR_LocationComponent*> locations;
int Phase(){return phase;}string PreparationError(){return error;}
@@ -43,7 +47,10 @@ int main(){
ERR_GameMode mode;ERR_LocationComponent radio{ERR_LocationKind::RADIO,0};
mode.locations={&radio};
string unknown=Actual::PhaseDescription(&mode,true);
assert(has(unknown,"Choose either marked supply cache")&&!has(unknown,"Intel recovered"));
assert(has(unknown,"Choose either marked clue site")&&!has(unknown,"Intel recovered"));
mode.startMode=1;string crash=Actual::PhaseDescription(&mode,true);
assert(has(crash,"salvage backpack at the crash site")&&has(crash,unknown)&&!has(crash,"inside the prison"));
assert(Actual::PhaseDescription(&mode,false)==crash);mode.startMode=0;
radio.knowledge=1;
string rough=Actual::PhaseDescription(&mode,true);
assert(rough!=unknown&&has(rough,"Intel recovered")&&has(rough,"question mark"));
@@ -83,3 +90,6 @@ int main(){
}
''')
print('PASS: actual rough-intel objective selection, exact precedence, source grid dimensions and unchanged other-phase dispatch; native UI pending')
assert "smoke" in body(source,"static string Extraction(")
assert "kilometres from the prison:" not in body(source,"static string Extraction(")