Synthetische Profil- und Modfixtures
Zweck
Phase 2 verwendet eigene Bastelhof-Fixturedateien, um Profil- und Modlogik ohne echte SCS-Profile oder Moddateien zu testen.
Diese Dateien sind keine SCS-Formatbeschreibung.
Profildatei
Dateiendung:
*.btmprofile.json
Beispiel:
{
"id": "11111111-1111-1111-1111-111111111111",
"game": "ets2",
"displayName": "Synthetisches Profil",
"mods": [
{
"manifestPath": "mods/connector/btm_mod.json",
"priority": 10,
"isEnabled": true
},
{
"id": "map",
"name": "Kartenmod",
"version": "2.0",
"priority": 20,
"isMapMod": true,
"isEnabled": true,
"dependencies": ["connector"]
}
]
}
Modmanifest
Dateiname:
btm_mod.json
Beispiel:
{
"id": "connector",
"name": "Connector",
"version": "1.0",
"isMapMod": true,
"dependencies": []
}
Regeln
gameistets2oderats.manifestPathwird relativ zur Profildatei aufgelöst.- Inline-Mods müssen
idundnameenthalten. - Profileinträge mit
packagePathund ohneid/namewerden übermanifest.siiim lokalen Modpaket aufgelöst. - Manifestbasierte Mods verwenden das Verzeichnis der
btm_mod.jsonals Paketpfad. - Deaktivierte Mods bleiben im Profil, werden aber aus der aktiven Ladereihenfolge gefiltert.
- Der Modkombinations-Hash wird nur aus aktiven Mods gebildet.
Versionierte Phase-2-Fixtures
Die aktuellen Entwicklungsfixtures liegen unter:
tests/Fixtures/Phase2/
Die Struktur enthält:
profile.btmprofile.jsonals synthetisches ETS2-Profil.base/als synthetische Basisspielquelle.mods/connector/als aktive Abhängigkeitsmod.mods/map-expansion/als aktive Kartenmod mit Dateikonflikt zubase/.mods/disabled-pack/als deaktivierte Mod, deren Dateien nicht in der aktiven VFS-Sicht erscheinen dürfen.
Alle Inhalte sind eigene synthetische Textdateien und beschreiben kein reales SCS- oder Spielprofilformat.
Profil-Arbeitsbereich
Die WinUI-App kann ein synthetisches Profil-Arbeitsverzeichnis manuell laden.
Mindeststruktur:
workspace/
├── profile.btmprofile.json
├── base/
└── mods/
Optionale DLC-Quellen können unter dlc/ liegen:
workspace/
└── dlc/
├── dlc_fixture/
└── dlc_fixture.scs
base/, DLC-Verzeichnisse und Modverzeichnisse werden als read-only Quellen in das virtuelle Dateisystem eingebunden. ZIP-basierte .scs-Dateien werden ebenfalls unterstützt. HashFS-basierte .scs-Dateien werden erkannt und diagnostiziert, aber noch nicht nativ gelesen.
Eigene Bastelhof-Metadatendateien wie btm_mod.json werden aus Modquellen herausgefiltert und erscheinen nicht als virtuelle Spieldateien.