Dieser Abschnitt ist nur für Programmierer von Interesse.
► Note: Diese Schnittstelle ist vermutlich nicht besonders nützlich, aber sie existiert und wird daher hier beschrieben. Wenn du Kämpfe simulieren möchtest, ist es vermutlich einfacher, das PDK oder die Datei combat.log zu verwenden.
Wenn du die Option -Xseg:ofs angibst, liefert PVCR Informationen über die angesehenen Kämpfe an das aufrufende Programm. Die Adresse wird im üblichen hexadezimalen Format für Real-Mode-Adressen (also z.B. 12CF:038E) angegeben.
Der Ergebnisbereich muss mit den folgenden zwei Elementen beginnen:
long Signature word Number of Results
Das erste Feld muss auf den Wert 1033FE51h gesetzt werden; damit prüft PVCR, dass er nicht versehentlich uninitialisierten Speicher überschreibt.
Der Header wird von einer Anzahl Ergebnis-Strukturen gefolgt. Die Anzahl ist im Header angegeben. PVCR speichert nicht mehr Ergebnisse als angegeben im Ergebnis-Bereich.
Die Ergebnis-Strukturen haben folgendes Format:
word Valid word[2] Shields word[2] Damage word[2] Fighters word[2] Torps word[2] Crew word[2] Outcome
Das erste Feld wird von PVCR auf 1 gesetzt, wenn die folgenden Werte gültig sind (also den korrekten Ausgang des Kampfes wiedergeben). ► Note: PVCR speichert die Ergebnisse nur, wenn der Kampf tatsächlich angesehen wurde. Es werden die Ergebnisse zu dem Zeitpunkt gespeichert, zu dem die Wiedergabe beendet wurde. Wenn der Kampf also bis zu Ende angeschaut wurde, steht hier der korrekte Kampfausgang. Wenn der Nutzer vorzeitig abgebrochen hat, wird der Zustand zum Zeitpunkt des Abbruchs gespeichert.
Die restlichen Felder sollten selbsterklärend sein. Das Feld Outcome ist das gleiche wie in util.dat:
0 | Sieger: diese Einheit hat den Kampf gewonnen |
1 | Gekapert: diese Einheit wurde gekapert (trifft niemals für Planeten zu) |
2 | Zerstört: diese Einheit wurde zerstört (bei Planeten wurde die komplette Verteidigung zerstört und der Planet gekapert) |
3 | Kampfunfähig: diese Einheit hatte kein weiteres Offensivpotenzial mehr |
Sobald PVCR beendet wird, wird das Feld Valid auf den Wert 51FE3310h. Damit wird verhindert, dass der Übergabe-Bereich versehentlich noch einmal verwendet wird; außerdem wird dem Aufrufer damit signalisiert, dass die Ergebnisse korrekt ausgefüllt wurden (PVCR also ohne Fehler beendet wurde).