[go: up one dir, main page]

Menu

Tree [812893] master / cc /
 History

HTTPS access


File Date Author Commit
 .cvsignore 2004-02-22 Stefan Reuther Stefan Reuther [3aded2] polished for release
 ccfileut.pas 2005-11-19 Stefan Reuther Stefan Reuther [80cac9] - new "upstream" versions
 hullfunc.inc 2006-11-27 Stefan Reuther Stefan Reuther [f48b34] - updated hullfunc.txt code
 hullfunc.pas 2008-10-25 Stefan Reuther Stefan Reuther [39489e] * Imported new version of cc/hullfunc.pas: Play...
 msgwin.pas 2005-11-19 Stefan Reuther Stefan Reuther [80cac9] - new "upstream" versions
 phostm.pas 2005-11-19 Stefan Reuther Stefan Reuther [80cac9] - new "upstream" versions
 readme 2005-11-19 Stefan Reuther Stefan Reuther [80cac9] - new "upstream" versions
 vpacc.pas 2013-04-02 Steffen Frey Steffen Frey [f1eb36] 2013-04-01 - 2013-04-02 Quapla (3.65b8)

Read Me

VPA/CC -- PCC code within VPA
=============================

What the he**?
--------------

  I'm trying to get some PCC code working within VPA. Essentially, I want
  all the PHost support stuff from PCC also in VPA. I think having command
  message support directly in the client is a Good Thing(tm), especially
  when the number of command messages grows. Writing `give' and `remote'
  messages manually just can be a major PITA.

  What we have right now:

  + VPA manages remote control. On the ship screen, you see the remote-
    control status of each ship and can change it with Shift-C. Due to
    limited screen real-estate, it's quite terse, though:
    - `RCtl (own:9)' means this ship is owned by player 9, but currently
      under remote control by the player shown as owner
    - `RCtl no' if remote control for this (your/enemy) ship is forbidden
    - `RCtl allow' if remote control for this (your) ship is allowed
    - `RCtl req'd' if we requested control
    - `RCtl drop' if we dropped control
    The status is also color-coded: red=forbidden, green=remote controlled,
    yellow=dropped

  + VPA manages ship givings. On the ship screen, there is an item `Give'.
    When the ship is being given away, it reads `Giv:RACE'. The key is V.

  + VPA recognizes PHost 4.0j hullfuncs. Note that due to the fact that VPA
    abbreviates hull names, hull names in HULLFUNC.TXT may not work the
    same way as in PHost. "Hulls = Talarian" will most likely work (because
    VPA leaves the initial part of the name alone), but "Hulls = Talarian
    Class Merchantman" will not work because VPA removes the 'Class' while
    shortening the name. Use Shift-F on the ship build screen or the
    ship info screen to display a list of hull functions the ship has. 

  The layout might not be optimal. If you have better ideas, go ahead...
  Same goes for the keys. All the good ones are already taken.

  The code is based on PCC 1.1.2, and updated from 1.1.12. Actually, the
  source files except for the glue code in `vpacc.pas' are directly from
  the PCC source tree. Okay, granted, I added some $IFDEFs :-) The user
  interface parts have been added to various places in VPA, and are guarded
  by {$IFDEF VPACC} (just in case someone does not like my code :-)

  The commands are stored in the file `cmdX.txt'. PCC has the option to
  store them directly in the message file (and filter them out again when
  it loads them), but I did not yet implement that yet for VPA. I think
  it's pretty hard to do that due to the way VPA handles messages. The
  bottom line is that you must use a Maketurn program that supports
  `cmdX.txt'. Programs that do so as of June 2002 are (of course) VPA and
  PCC, and my Portable Maketurn. VPA handles the meta-commands $time
  and $send-file, but not $thost-allies.


Notes
-----

  This currently does not handle history. For example, in the presence
  of remote control, missions might be displayed wrong as they are always
  interpreted by the current remote owner.

  Hull functions are not stored in the history either, but the author
  believes this is not a big deal.

  Layout of ship function display:
    [C] Imperial Assault              123456789AB   234
  - Type of assignment: [C]=assigned to ship class, [S]=assigned to
    this particular ship, [R]=racial ability (all ships can do it),
    [U]=universal ability (everyone can do it with every ship).
  - Name of ability.
  - Races that can use it. One letter for each player. Your race is
    highlighted if it can use the ability.
  - Experience levels that can use it. The current experience level
    is highlighted if known.


Compiling
---------

  Add "/u..\cc" to bpc.cfg
  Add "{$DEFINE VPACC}" to switches.inc
  Recompile


      -- Stefan Reuther <Streu@gmx.de>