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
+11 -1
View File
@@ -1,7 +1,9 @@
"""Execute actual task/guide copy for initial waiting and subsequent radio states."""
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'))
def translate(s):
s = s.replace('protected ', '').replace('ERR_GameMode mode,', 'ERR_GameMode* mode,')
s = s.replace('ERR_Phase phase', 'int phase').replace('mode.', 'mode->')
@@ -27,6 +29,8 @@ namespace ERR_RadioFeedback {enum {INACTIVE,WAITING,TRANSMITTING,INTERRUPTED};}
namespace Math {float Ceil(float n){return std::ceil(n);}}
struct ERR_LocationComponent {int Kind(){return 0;}int Knowledge(){return 0;}};
struct ERR_GameMode {
int pickup=0;int PickupStage(){return pickup;}
int startMode=0;int StartMode(){return startMode;}
int phase=ERR_Phase::RADIO_DEFENCE, feedback=ERR_RadioFeedback::WAITING, remaining=180;
bool occupied=false;int Phase(){return phase;}string PreparationError(){return "";}
void Locations(std::vector<ERR_LocationComponent*>& locations){locations.clear();}
@@ -67,6 +71,12 @@ int main(){
mode.phase=ERR_Phase::EXTRACTION;assert(Actual::PhaseDescription(&mode,true)=="extraction");
mode.phase=ERR_Phase::VICTORY;assert(Actual::PhaseDescription(&mode,true).empty());
mode.phase=ERR_Phase::DEFEAT;assert(Actual::PhaseDescription(&mode,true).empty());
mode.phase=ERR_Phase::EXTRACTION;
for(int stage : {0,1}) {mode.pickup=stage;assert(Actual::PhaseDescription(&mode,true)=="extraction");}
for(int stage : {2,3}) {mode.pickup=stage;assert(has(Actual::PhaseDescription(&mode,true),"Smoke accepted"));}
mode.pickup=4;assert(has(Actual::PhaseDescription(&mode,true),"all living prisoners"));
assert(has(Actual::PhaseDescription(&mode,true),"eight seconds"));
mode.pickup=5;assert(has(Actual::PhaseDescription(&mode,true),"Stay aboard"));
}
''')
print('PASS: actual initial WAITING task/guide copy, configured duration, unchanged interruption and rounded progress; native task assertion pending')