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:
@@ -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(")
|
||||
|
||||
Reference in New Issue
Block a user