Warning: JVPC is beta software. Only run it on a copy of
your VGA-Planets data.
Note: JVPC accepts only DosPlan 3.x data-files, not WinPlan, not
VGA-Planets 1.x, 2.x or 4.x.
Note: Most sources are subject to the GNU
General Public License, a few are subject to the GNU
General Library Public License (nowadays called the GNU general Lesser Public License).
An overview of this document:
Then download and compile JVPC. Depending on your JVM, you will have to set the environment variable CLASSPATH to refer to that directory.
Advice: Make a copy of your game directory, run JVPC on the copy (or never hit Save/SaveAndQuit).
To start JVPC, type
java jvpc.jvpc.JVPC [gamedir [globaldir]]where gamedir contains all game specific data (like pdata*.dis) and where globaldir contains all global data (like hullspec.dat). Note that global data is searched in the gamedir first. For both directories, the default is the current directory (./).
JVPC will start now a main-window and a starmap.
The Main Window
The main window shows a log area and a couple of buttons. It should be obvious
what the buttons do. Note that launching more than one Map is perfectly legal
for JVPC. The same holds for Message windows.
If there is a command that you wish to give with another client, you can
press Save, do stuf with the other client, save there. Finally, you press Load
in JVPC and you continue with the changes from the other client updated.
The Starmap
The starmap currently shows planets, ships, minefields, wormholes and
explosions. When you zoom in, you will see the names of the various
items. Each of the objects can be selected, after which a compact description
is displayed on the bottom of the screen.
I'll give a list of commands, now, because that is much shorter than a guided tour.
tab | zoom in, |
shift tab | zoom out (try `q' if this does not work), |
Ctrl tab | zoom out completely, |
s | switch ship string shown, |
Ctrl s | toggle ship string on/off, |
p/Ctrl p | same for planets, |
m/Ctrl m | alike (but not exactly the same) for minefields, |
Ctrl w | toggle wormholes shown, |
Ctrl e | toggle explosions shown, |
r | toggle rst/trn data, |
c | switch between several Coverages (just check it out, it's cool), |
f/F8 | Find a ship/planet by ID, set Planet-/ShipString (does not work for some JVM's; popup Window does not get focus :-( |
mouse press | activate selection of nearest location, where a location is any point in space where an object is, |
mouse release | when released while an object is highlighted, will select that object. A message on the bottom of the screen tells you about the object. Zooming will now center around this object, |
v | View selected object in more detail in a separate window, where you can edit as well. Applies to your own ships and planets, |
Ctrl v | The same, but in a new window each time, |
b | Pops up a base window, when the selected item is a planet with a base. |
space | when a ship is selected, start setting waypoint. Pressing space again cancels. Pressing enter will set the waypoint. During waypoint setting some additional info is shown on the bottom of the screen, |
k | previous turn (when available in the proper subdirectory). |
j | next turn (when available in the proper subdirectory), |
When you put your rst's and trn's of previous turns in subdirectories with as name the turn-number, JVPC will read them as a history database. Example: when you play from a directory called GreatGame, you should put previous turn information (rst and trn, accompanied by phost util*.dat, explorer xyplan*.dat files and all other files you receive each turn; note that result and turn is enough information, all *.dat and *.dis files are superfluous) in directories like GreatGame/18 for turn 18.
The info JVPC shows on the bottom is highly compact. JVPC shows info derived
from battles, just as out-of-fuel notifications and more info from the
util*.dat file that PHost produces. Also, information about the
hull-type is given, like number of beams (`B'), including additional
functionality (like cloaking, refinery and glory devices; if playing with phost
3, obtain a hullfunc.dat file from your host: it is read to show the
real functions of the hulls instead of the default ones).
The Planet Window
The Planet Window can be invoked by selecting a planet of your own on the
starmap and pressing `v'. The window shows some statistics of the planet and
you can edit the friendly code, build (and break down) mines, factories and
defense posts. You can sell supplies and set taxes of both colonists and
natives. Finally you can order a base to be built (and cancel the order).
Besides the mouse, there are several key combinations that are helpful. The capitalized character of a string (let's say `C') indicates you can use Ctrl-C and Alt-C to go to the corresponding field immediately. The alt combination shows the `C' afterwards in the field I jumped to, which really annoys me. Therefore the ctrl combination works, as well. But! for megacredits do not press the shift to reach the `$' instead of the `4'. Again, annoying (I am using keyPressed(), not keyTyped() in order not to get confused; what do I get? still a mess).
The funny looking
<< < number
>  >>
are input fields for numbers. The single < and > will decrease,
respectively decrease the value with one. The doubles use greater steps (5 for
taxes, 100 for the other fields).
Selecting another planet in the starmap and pressing `v' again will put the newly selected planet in the window. Ctrl-V will put it in a new window.
PgUp and PgDn go to the previous respectively next editable planet. Shift-PgUp and -PgDn go to the previous respectively next editable planet with the same owner (useful in team-games).
A screenshot.
The Ship Window
The Ship Window can be invoked by selecting a ship of your own on the starmap
and pressing `v'. The window shows some statistics of the ship and you can edit
the name, FC, waypoint, mission and warp. PHost Extended missions are suported,
you can choose them as any mission; the parameters show up when you set a
mission that needs them. You can edit them separately.
The interface works perfectly analogous to the Planet window.
The PHost extended mission cloak has the same name as the original mission cloak. This is bad style. We suggest you edit the mission.ini file to call the mission ``PHost cloak'' or something.
A screenshot.
The Cargo Window
The cargo-window can be popped up from ship, planet and base-windows. It shows
all types of minerals, colonists, supplies, MC and ammunition for ships/bases.
It is powerful, but may need getting use to.
Transfering cargo is done by selecting one of the two objects you want to transfer cargo between (buttons on the left). After that, you type the new amount of cargo for the other object in its corresponding field.
Transfering torpedoes/fighters from a starbase to a ship and vice versa must always be done by selecting the ship and typing the amount of torpedoes to leave on the base in the top-right field.
Transfering cargo to an enemy ship must be done by selecting your own ship and typing the new value in the enemy ship field. When you transfer to a second enemy ship, all moved cargo will now be moved to the newly selected enemy ship (since Tim doesn't allow you to two or more enemy ships; it's not a bug in JVPC). Transfering MC or torps/fighters to enemy planets or ships isn't allowed either.
A screenshot.
The Starbase Window
The Base Window can be invoked from a Planet Window by pressing the appropriate
button. Base mission can be set, fighters and defense can be built.
Building a ship is done by selecting the required appropriate items the four java-Choices for hull, engine, beam and launcher. This will automatically raise the tech-levels and buy the amount of engines/beams/launchers appropriate for the selected hull. When the number of any of these three items can not be bought, the ship is not built (as indicated by bright red message). Unless you are feds, you will be perfectly happy with this (if you are feds, you can still select ``none'' for beams and the ship will be built without beams; if you want more functionality, you are invited to write it yourself, JVPC is open source).
A screenshot.
The Message Window
Shows incoming messages, initially. By pressing buttons you can read
incoming and outgoing messages.
When you press the button
Write Message |
Recipient(s) set | . |
A screenshot.
The JVPC Configuration File
The file is called JVPC.CFG (either uppercase or lowercase) and is
looked for in both the game and the global directory. We advice you to make a
copy of this file for each game you play in.
The config file contains many options. An option and its value (separated by an `=') are on one line. Comments can start anywhere (with a `#') and run to the end of the line. Example config file:
# This is a sample JVPC.CFG MinX = 1000 # Nice layout MaxY=3000#uglylayoutin this example the options MinX and MaxY are set to the values of 1000 and 3000, respectively.
Currently, the following options are recognized:
Option | Values | Default | Explanation |
MinX | an integer | 1000 | Minimum X value of starmap, useful when explorer is used, |
MaxX | an integer | 3000 | |
MinY | an integer | 1000 | |
MaxY | an integer | 3000 | |
BuggyScrollbars | Yes/No | No | If the scrollbars behave weird, set to yes (notably with Sun's own jdk!), |
MinFontSize | an integer | 8 | Minimum font size in the starmap, you can set it to something you can read :-) |
MaxFontSize | an integer | 16 | Maximum font size in the starmap, |
MinZoom | a float | 0.01 | Minimum zoom factor, |
MaxZoom | a float | 100 | Maximum zoom factor. |
PlanetString | a String | ntdm | indicates what should be show in the starmap as planet string. Can consist of characters "#ntdms$laoei@cNTDM" where `a' is for name, `e' for temperature, `l' for colonists, `i' for natives and all other are self explanatory to a certain extent. |
ShipString | a String | ntdm | indicates what should be show in the starmap as ship string. Can consist of characters "#oc@w%heblntdm$lsMEW" where `a' is for name, `%' for damage, `l' for colonists and all other are self explanatory to a certain extent. |
We might split the config file into two parts in the future: one part for game dependent data (like MinX) and one part for showing it (MaxFontSize).