PHost - PVCR User's Guide
PHost combat must be played by PVCR, PHost's battle viewer. The built-in battle viewers in planets.exe and Winplan can not display PHost combat; they will display complete garbage or crash.
PVCR is a 16-bit DOS program. It can play combat generated by all public PHost versions that ever existed, so there's no need to keep older versions.
Similar to PHost, the general syntax for PVCR is
Note that, if you use DOS Planets, PVCR will be installed under the name vcr.exe.
Defaults are such that if you have installed PVCR correctly for your planets.exe or VPA, you can simply use the normal VCR display function of your client program to invoke PVCR; if you installed it for Winplan, you can simply run it without caring for the rest.
Unless you specify an option that says something else, PVCR will do the following when run:
The game selector is available in version 4.0e and later.
The game selector displays two panels. The left one displays the available games (the same 8 game slots as in Winplan), the right one displays all the races which have battles in this game slot.
You will see information about one battle. You can browse through all available battles and watch them. After each battle, you return to the battle selector.
The battle viewer displays the battlefield on top of the screen, with squares for the ships, triangles for fighters, etc. The bottom half contains running stats, such as current damage, charge status for beams, and so on.
This section is of interest to programmers only.
This interface is probably not too useful. But it is there and therefore it is documented here. When you want to simulate battles, you are probably better off using the PDK or the combat.log interface.
When you specify a -Xseg:ofs option, PVCR will return results about the watched battles to the program invoking PVCR. The address is specified in standard hexadecimal format (e.g. 12CF:038E), as a real-mode address
The result area must begin with the following two data items:
The first field must be set to 1033FE51h; this provides a check mechanism for PVCR so that accidental overwrites of uninitialized memory locations do not occur.
This header is followed by a sequence of result structures, the number of which was given in the header. PVCR will not store more results in the area.
Each result structure has this format:
The first field is set to 1 by PVCR if the remaining elements of the result are valid (i.e., represent the outcome of the battle). PVCR will only store results if the battle was actually viewed. Also, PVCR will store the results as of the time when the battle was stopped. If the battle came to its natural conclusion, then the results reflect the true battle outcome. If the user terminated the battle prematurely, the results reflect the state of the combatants at the time of this termination.
The remaining members should be self-explanatory. The Outcome field is the same as in util.dat:
Once PVCR terminates, then the Valid member of the transfer area is set to the value 51FE3310h. This prevents the transfer area from being inadvertently used in the future without prior preparation, and also indicates to the calling program that the results can be correctly interpreted (i.e., PVCR exited without errors).
Last updated 31 May 2015.
|firstname.lastname@example.org for support, ideas, bug reports, questions. Contact DetailsMail