2026-10-05  Stefan Reuther  <streu@gmx.de>

	* tools/c2mgrep.cc: add missing break that caused '-C' to falsely
	imply '-r'

	* version.h: set version to 2.1

2026-08-21  Stefan Reuther  <streu@gmx.de>

	* client/scr-sim.cc, int/if/simif.cc: add ability to export the
	simulation setup (from c2ng)

2025-12-29  Stefan Reuther  <streu@gmx.de>

	* resource/core.q, int/autotask.cc: Prevent auto-tasks from
	getting lost accidentally by adding a hidden `CC$AutoSalvage`
	command at the end of each task (from c2ng)

2025-10-04  Stefan Reuther  <streu@gmx.de>

	* int/if/taskwaypoints.cc: new (from c2ng)

2025-05-04  Stefan Reuther  <streu@gmx.de>

	-------------------- release_2_0_17

2025-05-01  Stefan Reuther  <streu@gmx.de>

	* tests/selftest.q: minor updates

	* int/lex.cc: fix identifier length handling (from c2ng)

	* int/expr.cc: compileEffect is no longer virtual; deal better
	with IntLogicalNode (from c2ng)

	* int/bytecode.cc: replace getName() by getNameByIndex(), and
	handle out-of-range case (from c2ng)

	* resource/core.q: add Array, Array.Push, Array.Pop (from c2ng)

	* int/array.cc: arrays stringify as arrays (from c2ng)

2025-04-30  Stefan Reuther  <streu@gmx.de>

	* client/dialogs/imperial.cc: use "Played", not "Owner$=My.Race",
	to find played objects (from c2ng)

	* game/db.cc: non-serializable property is no longer fatal on
	save; invalid file is no longer fatal on load (from c2ng)

	* int/if/globalif.cc: fix type hints (from c2ng)

2025-04-28  Stefan Reuther  <streu@gmx.de>

	* updated copyright year

2025-04-12  Stefan Reuther  <streu@gmx.de>

	* installer/convert.pl, installer/prepare3.pl: new installer
	script

2025-03-16  Stefan Reuther  <streu@gmx.de>

	* int/if/specif.cc (engine_map): add COST.SUP property

2024-12-12  Stefan Reuther  <streu@gmx.de>

	* game/utilmsg.cc (GUtilMessageBuilder): rename from
	GUtilMessageParser, that name is already used in
	game/utilparse.cc. Fixes segfault when compiled with "-O0"
	[#452, Jason Conroy]

2024-11-20  Stefan Reuther  <streu@gmx.de>

	* Fix some (not all) warnings from gcc 12

2024-10-20  Stefan Reuther  <streu@gmx.de>

	* resource/core.q (HistoryScreen): handle F8

	* client/dialogs/keymapdlg.cc: double-ESC also closes window in
	case keyboard driver does not report Shift-ESC

2024-08-17  Stefan Reuther  <streu@gmx.de>

	* int/if/shipif.cc: add Ship().Cloaked property (from c2ng)

2024-08-14  Stefan Reuther  <streu@gmx.de>

	* client/screens/taskscreen.cc, int/autotask.cc (move): Ctrl+Up,
	Ctrl+Down to move current line in an auto-task (from c2ng)

2024-08-01  Stefan Reuther  <streu@gmx.de>

	* client/tiles/planetcolonist.cc (drawPlanetColonistTile): show
	exp points

	* client/dialogs/clonedlg.cc, po/de.po: minor text fix

2024-04-29  Stefan Reuther  <streu@gmx.de>

	-------------------- release_2_0_16

2024-04-20  Stefan Reuther  <streu@gmx.de>

	* int/if/planetif.cc: honor EPPlanetGovernment for Level.Gain

2024-04-14  Stefan Reuther  <streu@gmx.de>

	* int/if/planetif.cc, int/if/shipif.cc: add Level.Name,
	Level.Points, Level.Gain properties (from c2ng)

	* client/tiles/shipequipment.cc: use training formula (from c2ng)

	* game/ship-form.cc: training mission formula (from c2ng)

2024-04-13  Stefan Reuther  <streu@gmx.de>

	* resource/core.q, int/vmfile.cc: terminate auto-task if we do no
	longer play the object they are controlling (from c2ng)

2024-03-24  Stefan Reuther  <streu@gmx.de>

	* client/widgets/ftrinfo.cc: display free fighter amount/cost
	(from c2ng, bd3bea7)

2024-03-22  Stefan Reuther  <streu@gmx.de>

	* client/tiles/basetaskcmd.cc, client/tiles/planettaskcmd.cc:
	merge to display build predictions (from c2ng)

	* int/if/buildpred.cc: new (from c2ng)

2024-03-17  Stefan Reuther  <streu@gmx.de>

	* client/dlg-mission.cc, game/mission.cc: add ship mission
	category filter (from c2ng)

2024-03-16  Stefan Reuther  <streu@gmx.de>

	* game/shippredict.cc: implement fighter building. For now, only
	fighter building from ship cargo (from c2ng, 201766f)

	* game/mission.cc (isExtendedMission, isSpecialMission): new
	functions to unify mission checks (from c2ng, 6e498a9)

	* specs/mission.cc: adjust warning condition for mine laying (from
	c2ng, f68c3f3)

	* game/ship.cc, game/planet.cc: copy associated_messages (from
	c2ng, 034930c)

2024-01-24  Stefan Reuther  <streu@gmx.de>

	-------------------- release_2_0_15

2023-12-14  Stefan Reuther  <streu@gmx.de>

	* game/planet-hist.cc: on ownership change, discard defense/
	population information. Process all mineral additions, not only
	first (from c2ng)

	* int/if/vcrif.cc, int/if/globalif.cc: fix type metadata (from c2ng)

	* util/conf.cc (ValueEnumParser): accept numbers instead of enum
	values. This means, "AddPref x&'='&Pref(x)" now meaningfully works
	for appropriate options (from c2ng)

	* client/tiles/shipcargo.cc: highlight "Neutronium = 0" (from c2ng)

	* game/shippredict.cc, game/host.cc: handle automatic
	friendly-code reset after hyperjump (from c2ng, PCC1)

	* game/shippredict.cc, client/chart/distancemode.cc: show movement
	times using actual movement formulas (from c2ng)

	* client/dialogs/zoomlevel.cc: 'z' to enter zoom level manually in
	starchart and scanners (from c2ng/PCC1)

	* ui/richdocument.cc: improve rendering of narrow keycaps (from
	c2ng)

	* specs/hullfunc.cc, game/hullfunc.cc: add support for "code"
	attibute (from c2ng)

2023-12-13  Stefan Reuther  <streu@gmx.de>

	* client/dialogs/buildqueue.cc: show build queue positions
	graphically using a bar representing the build queue (from c2ng)

	* int/if/playerif.cc (getPlayerProperty): remove accidental
	temporary copy of GGen object

2023-11-18  Stefan Reuther  <streu@gmx.de>

	* client/dialogs/commandedit.cc (onGoto): handle "no command"
	case. PCC2 would segfault on Enter if there is no command. [#449]

2023-04-28  Stefan Reuther  <streu@gmx.de>

	* client/dialogs/consoledlg.cc: add completion for user config
	options (AddPref, Pref), keymaps, and files (from c2ng)

2023-04-25  Stefan Reuther  <streu@gmx.de>

	* game/sim-run.cc: each Shield Generator gives a limit of +25, not
	+50 [#448]

	* game/tvcr.cc, game/pvcr.cc: ships brought over 100% shield (by a
	Shield Generator) start with full weapons [#448]

2023-04-24  Stefan Reuther  <streu@gmx.de>

	* client/screens/shiptaskscreen.cc (insertWaypointCommand): fix
	precondition for generating a hyperjump cancellation (from c2ng)

	* client/screens/unpackscreen.cc: gracefully handle case that
	TRN/RST disappears behind our back

	* game/ship-form.cc (setOptimumWarp): ignore friendly code. This
	makes optimum warp work even if ship has fcode HYP (from c2ng)

	* int/if/hullif.cc: Hull().Name is assignable (like the other
	components' names) (from c2ng)

2023-01-05  Stefan Reuther  <streu@gmx.de>

	* game/pvcr.cc (initVcr): fix handling of asymmetric fighter
	intercept configuration (FighterKillOdds differing between races)

2022-12-24  Stefan Reuther  <streu@gmx.de>

	* client/widgets/vcrhulllist.cc (buildList): fix off-by-one error
	causing Merlins to not be recognized

	* flak/dlg-select.cc: improve rendering: show boundaries between
	fleets; show unit names for one-unit fleets

2022-12-23  Stefan Reuther  <streu@gmx.de>

	* client/chartusr.cc etc.: Starchart: drawing handling details:
	When selecting a drawing or locking, only accept drawings that are
	actually visible with the current filter. When deleting, hitting
	[Del] again selects a different drawing if possible (from
	PCC1/c2ng)
	Handle that drawings may not be displayed at all. Attempting to
	select a drawing will fail, creating drawings will enable display
	of drawings (from PCC1/c2ng)

2022-12-19  Stefan Reuther  <streu@gmx.de>

	* client/chart/standardmode.cc: Starchart: ensure current tag is
	visible when drawing. Bonus: avoid that "drawing filter" and
	"drawing" messages overwrite each other (from PCC1/c2ng)

2022-12-18  Stefan Reuther  <streu@gmx.de>

	-------------------- release_2_0_14

2022-12-15  Stefan Reuther  <streu@gmx.de>

	* client/chartloc.cc: when returning to a ship whose trail is
	shown, lock that ship

	* client/chart/standardmode.cc, client/chartloc.cc: 'x' in
	starchart also switches between ship position and waypoint (from
	PCC1/c2ng)

2022-12-03  Stefan Reuther  <streu@gmx.de>

	* ui/skin.cc, ui/richparser.cc: support all colors in XML <font>
	tags (from c2ng)

2022-11-30  Stefan Reuther  <streu@gmx.de>

	* game/shippredict.cc: handle towee internally if requested. This
	makes it easier to support exact predictions when we are towing
	other ships. Added for ship-task prediction; simplified all other
	cases. (from c2ng)

2022-11-20  Stefan Reuther  <streu@gmx.de>

	* game/utilmsg.cc: detail fixes: "bad alias" message, %B did not
	show bit 15, %x did not work (from c2ng)

2022-10-02  Stefan Reuther  <streu@gmx.de>

	* client/screens/shiptaskscreen.cc, client/screens/shipscreen.cc:
	when locking at a planet, consider movement time. Sometimes,
	moving further but indirectly will reach the warp well faster
	[#440]

	* client/cscreen.cc: starchart option toggles (Ctrl-Alt-Letter)
	(from PCC1) [#395]

2022-09-29  Stefan Reuther  <streu@gmx.de>

	* flak/pdk-host.cc (processPlanetResult): fix handling of starbase
	torpedoes; was adding instead of removing lost torpedoes [#444]

2022-07-03  Stefan Reuther  <streu@gmx.de>

	* client/dialogs/buildqueue.cc: add additional padding; required
	if rightmost-column is right-justified (e.g. PAL queue)

	* client/dlg-tax.cc: Backspace also undoes (in addition to 'u')

2022-06-26  Stefan Reuther  <streu@gmx.de>

	* int/if/planetif.cc: add properties to access autobuild speeds
	("Defense.Speed" etc.) (from c2ng)

	* client/dlg-cargo.cc: fix typo in change from 2022-06-06 causing
	non-supply-sale not to work. D'ooh.

2022-06-07  Stefan Reuther  <streu@gmx.de>

	* resource/core.q: clean up; in particular, update the list of
	keys handled internally

2022-06-06  Stefan Reuther  <streu@gmx.de>

	* client/dlg-cargo.cc: correctly handle combination of prefix
	argument and supply sale in Alt-Left/Right command

	* int/if/richif.cc: make all UIColors available for use (from c2ng)

2022-05-21  Stefan Reuther  <streu@gmx.de>

	* client/dialogs/chartconfig.cc (saveMapConfig), game/coord.cc
	(limitSize): fix handling of size limits so you can now actually
	configure a wrapped map with gap (from c2ng)

	* client/widgets/markerlist.cc (drawPart): render correct index
	when scrolling; use different color for default vs. user-defined
	name (from c2ng)

	* client/chart.cc: implement "show mines after decay" option (from
	PCC1/c2ng)

2022-05-01  Stefan Reuther  <streu@gmx.de>

	* game/ship.cc (combinedCheck1): do not upgrade a non-existant
	ship, e.g. explosion-only, to HistoryShip (from c2ng)

	* client/dialogs/buildqueuesummary.cc (drawPart): minor rendering
	improvement

2022-04-23  Stefan Reuther  <streu@gmx.de>

	* client/dialogs/exportparam.cc, client/widgets/expfieldlist.cc,
	int/export.cc: accept space, '*', double-click, prefix arg (from
	c2ng)

	* int/export/exptext.cc, tools/c2export.cc: implement left-alignment

2022-04-11  Stefan Reuther  <streu@gmx.de>

	-------------------- release_2_0_13

2022-04-05  Stefan Reuther  <streu@gmx.de>

	* flak/pdk-host.cc: send distress messages and explosion markers
	from exploded ships [#443]

2022-04-02  Stefan Reuther  <streu@gmx.de>

	* int/if/basepred.cc (postBuildOrder): fix handling of
	pre-existing components; could set stored-component to -1 and
	later crash. [#442]

2022-03-23  Stefan Reuther  <streu@gmx.de>

	* game/shippredict.cc: improve hyperjump handling: handle minimum
	distance, DamageLevelForHyperjumpFail fail. Forward isHyperdriving
	through IntShipPredictor (from c2ng).

2022-03-19  Stefan Reuther  <streu@gmx.de>

	* specs/msgparse.ini: recognize "caught in ion storm" messages

2022-03-17  Stefan Reuther  <streu@gmx.de>

	* client/dialogs/imperial.cc: fix order of coordinates in "Range:
	a to b" for wrapped map to match PCC1/c2ng

2022-02-27  Stefan Reuther  <streu@gmx.de>

	* client/chart/drawcirclemode.cc (handleEvent): 'w', 'g' to set
	circle radius to distance covered by warp/gravitonic

2022-02-26  Stefan Reuther  <streu@gmx.de>

	* game/sim-data.cc (getEffectiveMass, getDefaultFlakRating)
	(getDefaultFlakCompensation): move here and use in simulation and
	UI. Fix to use simulator configuration, not host configuration,
	for ESB rate / scotty bonus.

2022-02-22  Stefan Reuther  <streu@gmx.de>

	* client/tiles/shipmission.cc, client/tiles/shipoverview.cc: add
	range check for primary enemy to avoid crash if value is bogus

2022-02-20  Stefan Reuther  <streu@gmx.de>

	* client/dialogs/exit.cc: Space to confirm dialog (like in old
	yes/no dialog)

	* client/tiles/planetgrowth.cc: Shift-R toggles between
	absolute/relative difference modes only

2022-02-06  Stefan Reuther  <streu@gmx.de>

	* client/tiles/planetgrowth.cc: add ability to show relative
	population change (percentage)

2022-01-02  Stefan Reuther  <streu@gmx.de>

	* int/if/shippred.cc (predictInstruction): map mission through
	raceMissionId()

	* game/ship.cc (addShipData): fix data errors: dull transfers,
	lizards with negative warp (from PCC1)

	* game/load-dir.cc (loadDirectory): load targetX.ext (from PCC1)

	* game/coord.cc (parseCoordinates): handle parenized coordinates
	(from PCC1)

	* client/dialogs/searchdlg.cc: handle double-click into list (from
	PCC1)

	* client/dialogs/selmgr.cc, client/widgets/selinfo.cc: handle
	double-click into list; handle 'r' as alias to 'l' (from PCC1)

	* client/dialogs/navchart.cc: when setting up a chunnel, load fuel
	onto mate (from PCC1)

2021-12-24  Stefan Reuther  <streu@gmx.de>

	* client/tiles/planetgrowth.cc: reset color for effector display

2021-12-11  Stefan Reuther  <streu@gmx.de>

	* client/dlg-tax.cc (WEffectorDialog): fix initialisation order;
	dialog was discarding some effectors if there were multiple

2021-11-28  Stefan Reuther  <streu@gmx.de>

	* game/spec.cc (enumerateSet): do not modify resulting player sets
	by filter; this causes "(player X)" annotations being displayed on
	ship build screen

2021-09-29  Stefan Reuther  <streu@gmx.de>

	-------------------- release_2_0_12

2021-09-20  Stefan Reuther  <streu@gmx.de>

	* client/scr-sim.cc: add "+", "-" buttons to more editors

	* version.h: bump version number

2021-09-11  Stefan Reuther  <streu@gmx.de>

	* client/dialogs/buildqueue.cc: add "Go to" command

2021-09-04  Stefan Reuther  <streu@gmx.de>

	* client/dialogs/buildqueuesummary.cc: new dialog: summary of
	build orders (how many ships of type X do I build? how many ships
	do I clone?)

	* game/config.cc (initConfig): load configuration only from
	spec_file_dir. This agrees with PCC1, PHost, and c2ng.

2021-08-07  Stefan Reuther  <streu@gmx.de>

	* client/dialogs/weaponeff.cc (showWeaponEffect): use
	HullDamageScaling, not ShieldDamageScaling, for hull damage
	[#431]; use correct experience level

	* client/dialogs/vcrinfo.cc (doHullInfo): use current damage

	* client/wscanchart.cc (doKeyboardMode): vk_Quit needs to be
	re-posted

	* client/main.cc (main): work around destruction order problem
	leading to heap corruption in save-without-exit when there are
	auto tasks

2021-08-01  Stefan Reuther  <streu@gmx.de>

	* client/dialogs/weaponeff.cc: use player's combat parameters
	(ShieldDamageScaling etc)

2021-07-25  Stefan Reuther  <streu@gmx.de>

	* client/dialogs/exit.cc: "Exit?" confirmation dialog now offers
	exit-without-save and save-without-exit [#399]

2021-07-03  Stefan Reuther  <streu@gmx.de>

	* client/tiles/nheader.cc: on base screen, show starbase image,
	not planet [#388]

	* game/pref.cc, client/chart/standardmode.cc,
	client/widgets/chartlockconfig.cc: add mouse wheel configuration
	(from PCC1) [#397]

	* game/fleet.cc (loadFleets): file read error is not fatal [#402]

	* int/if/guiif.cc: add ADDPREF command (from c2ng) [#401]

	* game/pref.cc, resource/core.q, client/dialogs/navchart.cc:
	optimum warp can be disabled (Ship.AutoWarp) [#400]

	* int/if/globalif.cc: add PREF function (from c2ng)

	* client/playerscr.cc, client/playvcr.cc, flak/vis-ui.cc: help

	* flak/vis-iso.cc: implement perspective 3D mode (quick and simple
	port from PCC1)

2021-06-06  Stefan Reuther  <streu@gmx.de>

	* game/classicvcr.cc (computeScores): if we know a unit's role,
	compute only points for that role. Handle PALCombatAggressor.

	* game/sim-run.cc: implement battle order peculiarities [#428]. In
	PHost, aggression is not symmetric. In THost, aggression is mostly
	symmetric, but a captured ship cannot appear on the left side.

	* game/sim-run.cc, game/vcrobj.h: track role of a unit

2021-05-30  Stefan Reuther  <streu@gmx.de>

	* game/attachmentunpacker.cc: implement reception of util.dat
	record 59 (long file)

2021-05-23  Stefan Reuther  <streu@gmx.de>

	* flak/vis-ui.cc: make modal. Non-modal could cause it to mess up
	event routing, leading to crash if ENTER was pressed. D'ooh.

2021-05-14  Stefan Reuther  <streu@gmx.de>

	* client/dialogs/buildqueue.cc, game/actions/changebuildqueue.cc:
	include planned builds in overview

2021-04-24  Stefan Reuther  <streu@gmx.de>

	* client/screens/shiptaskscreen.cc (lockQueryDistance): fix typo
	causing infinite loop in error case (not known to happen)

	* flak/pdk-host.cc (loadTimeStamp): load timestamps internally.
	Timestamps created by PDK are useless. (This means, PCC2 will
	refuse to play all combat created by flak-server so far!)

2021-03-22  Stefan Reuther  <streu@gmx.de>

	* client/widgets/vcrinfomain.cc (addPlanetToSim): use correct
	number of starbase fighters

2021-03-16  Stefan Reuther  <streu@gmx.de>

	-------------------- release_2_0_11

2021-03-12  Stefan Reuther  <streu@gmx.de>

	* client/tiles/basetaskcmd.cc (predictInstruction): fix crash when
	displaying an "BuildShip N" (incomplete, missing engine) [#423]

	* client/scr-result.cc: fix result display; fix from 2021-02-27
	was incomplete

2021-03-06  Stefan Reuther  <streu@gmx.de>

	* specs/msgparse.ini: handle scanning web mines with NewEnglish.

2021-02-28  Stefan Reuther  <streu@gmx.de>

	* game/mine.cc (addMinefieldReport): try to handle more cases of
	minefields being swept behind our back

2021-02-27  Stefan Reuther  <streu@gmx.de>

	* game/ship.cc (combinedCheck1): do not delete ships that we see
	reliably even if history says they are dead.

	* game/sim-result.cc, client/scr-result.cc: correctly handle
	number-of-fights for non-weight-1 battles; must only show
	percentages, individual counts are meaningless

	* client/chart/drawcirclemode.cc (handleEvent): 'p' finishes (like
	for lines)

2021-01-23  Stefan Reuther  <streu@gmx.de>

	* game/actions/baseammo.cc: enable ability to undo buying [#420]

	* client/tiles/shipmovement.cc: show actual warp factor when
	hyperdriving [#419]

	* client/screens/shiptaskscreen.cc, client/dlg-warp.cc: use
	default engine speed for hyperdrive, not always warp 2, for better
	tow resistance [#419]

2020-12-23  Stefan Reuther  <streu@gmx.de>

	* client/widgets/vcrinfomain.cc (showPlanetInfo): if a planet has
	beam <= X, we can safely claim it has beam-tech <= X.

2020-12-20  Stefan Reuther  <streu@gmx.de>

	* client/dialogs/fleetcost.cc (generateSummary): fix typo causing
	engine/hull tech levels be accounted wrong
	(browse): when going from teams to players, don't select current
	player if they don't participate in the fight

2020-12-18  Stefan Reuther  <streu@gmx.de>

	* client/dialogs/simedit.cc (editOwner): when changing owner,
	limit damage; avoid self-agression; avoid Kill+Cloak combination

	* client/scr-sim.cc (editType): when adding a new ship, uncloak it
	ship if it cannot cloak (from PCC1)

2020-12-17  Stefan Reuther  <streu@gmx.de>

	* client/dialogs/simplanetedit.cc: offer Random Friendly Code for
	planets as well (already supported by core previously)

2020-12-01  Stefan Reuther  <streu@gmx.de>

	-------------------- release_2_0_10

2020-11-25  Stefan Reuther  <streu@gmx.de>

	* specs/msgparse.ini: handle Dark Sense in "NewEnglish" language

2020-11-18  Stefan Reuther  <streu@gmx.de>

	* client/dialogs/prefdlg.cc: "unpack race names" configuration

	* client/screens/unpackscreen.cc: integrate attachment
	configuration, explicit unpacking

	* game/attachmentconfiguration.cc: new

2020-11-16  Stefan Reuther  <streu@gmx.de>

	* game/attachmentunpacker.cc: new: receive attachments from RST
	and util.dat

	* client/dialogs/attachmentselect.cc: new: choose attachments to
	receive. Invoke from game loader and unpacker.

2020-11-07  Stefan Reuther  <streu@gmx.de>

	* game/expl.cc (merge): change to name handling (from c2ng)

	* tests/selftest.q: update to PCC 1.1.21

2020-10-04  Stefan Reuther  <streu@gmx.de>

	* game/planetform.cc (getMaxSupportedColonists): fix Tholian case
	(esp. CrystalSinTempBehavior=Yes)

2020-09-25  Stefan Reuther  <streu@gmx.de>

	* game/sim-run.cc: fix interaction between 'NT1' and Cloaked
	Fighter Bays; was losing way too many fighters [#416]

2020-09-12  Stefan Reuther  <streu@gmx.de>

	* game/host.h (isAlchemyRounding): always return false; rule does
	not apply to any known host version

2020-09-05  Stefan Reuther  <streu@gmx.de>

	* game/ship-form.cc: handle that pmsn_ScoopTorps is
	registered-only

2020-09-01  Stefan Reuther  <streu@gmx.de>

	* game/ship-form.cc (parseMineLayingMission): choose first
	applicable minefield, not closest one, for PHost (d'ooh!)

2020-08-27  Stefan Reuther  <streu@gmx.de>

	* scripts/doc.pl: sync from c2ng

2020-08-26  Stefan Reuther  <streu@gmx.de>

	* client/scr-sim.cc (editId): when changing a ship's Id, and the
	ship still has the default name, update the name

2020-08-18  Stefan Reuther  <streu@gmx.de>

	* game/sim-run.cc, game/sim-data.cc: with NuHost, Klingons by
	default have Double-Beam-Kill [#415, Thomas Schfer]

2020-08-17  Stefan Reuther  <streu@gmx.de>

	* game/cmds.cc (findCommand): phc_SendFile is not unique

	* client/scr-env.cc (showBeamDown): minor formatting fix

2020-07-16  Stefan Reuther  <streu@gmx.de>

	* tools/c2mkturn.cc (main): catch file access errors and show
	appropriate error message

2020-06-17  Stefan Reuther  <streu@gmx.de>

	* int/exec.cc (executeInstruction): detect a couple possible
	invalid accesses that could be triggered by invalid bytecode

2020-06-06  Stefan Reuther  <streu@gmx.de>

	* client/dlg-warp.cc: SPACE to set default warp factor

2020-05-30  Stefan Reuther  <streu@gmx.de>

	* client/dlg-mission.cc (doShipMissionChange): show warning if
	ship is doing Beam Up Multiple

2020-05-26  Stefan Reuther  <streu@gmx.de>

	* resource/: set up sync from asset project

2020-04-26  Stefan Reuther  <streu@gmx.de>

	* client/winfo.cc, client/widgets/specmaininfo.cc: optionally show
	hullfuncs as images

	* client/widgets/funcinfo.cc: show hullfunc image

	* client/dialogs/shipbuilddlg.cc, client/widgets/partstorage.cc:
	adapt layout due to hullfunc images

	* game/hullfunc.cc: manage hullfunc image names

2020-04-18  Stefan Reuther  <streu@gmx.de>

	-------------------- release_2_0_9

2020-04-12  Stefan Reuther  <streu@gmx.de>

	* game/shippredict.cc, client/tiles/shipmovement.cc: show failure
	to move due to training

	* client/tiles/shipmission.cc: highlight PE if it is ineffective
	due to training [#394]

2020-04-05  Stefan Reuther  <streu@gmx.de>

	* client/dialogs/navchart.cc, client/widgets/navwidget.cc,
	game/ship-form.cc: parse and set up allied chunnels [#22]

2020-04-04  Stefan Reuther  <streu@gmx.de>

	* game/ship-form.cc, game/host.cc: handle Host/PHost difference

	* client/tiles/shipmovement.cc: consistent highlighting of chunnel
	failures

	* client/widgets/navwidget.h (WScannerChartWidget): drawPost ->
	drawPre; it's unknown why this changed but the drawPost version
	fails to properly draw the scanner

	* client/dialogs/navchart.cc (doShipNavigationChart): if ship is
	already chunneling, start by showing its chunnel target (from PCC1)

2020-03-28  Stefan Reuther  <streu@gmx.de>

	* client/scr-env.cc (formatBaseTax): base tax predictions should
	use viewpoint player, not (possibly unknown) planet owner

2020-01-31  Stefan Reuther  <streu@gmx.de>

	* game/actions/changebuildqueue.cc, client/dialogs/buildqueue.cc:
	add build queue manager (from c2ng)

2020-01-13  Stefan Reuther  <streu@gmx.de>

	* game/selio.cc (loadSelection): restore file position on error
	(same as PCC1)

	* game/spec.cc (findRacialAbilities): fix recognition of racial
	abilities; a recognized ability caused others to be skipped

2020-01-11  Stefan Reuther  <streu@gmx.de>

	* client/dialogs/cargohist.cc (addMassRanges): adjust to PCC1
	behaviour

	* game/ship-form.cc (parseChunnelMission): handle ships having two
	abilities

	* client/widgets/navwidget.cc: minor tweaks

2019-12-28  Stefan Reuther  <streu@gmx.de>

	* ui/richdocument.cc: do not eat keys that do not scroll; thus,
	space will still exit env-scan

2019-12-26  Stefan Reuther  <streu@gmx.de>

	* game/team.cc (initTeams): file read error is not fatal

2019-12-18  Stefan Reuther  <streu@gmx.de>

	* client/scr-env.cc: make it look a little nicer

2019-12-17  Stefan Reuther  <streu@gmx.de>

	* client/scr-env.cc: add some more information; make it scrollable

2019-11-23  Stefan Reuther  <streu@gmx.de>

	-------------------- release_2_0_8

2019-11-03  Stefan Reuther  <streu@gmx.de>

	* resource/core.q, game/ship-form.cc (computeOptimumWarp): try to
	detect when users want to use planetary gravity and do not choose
	warp 1 in this case

2019-10-29  Stefan Reuther  <streu@gmx.de>

	* client/dlg-tax.cc: add "what-if" function for ship effects ('w')

	* ui/widgets/listlikenumbersel.cc: new

2019-10-28  Stefan Reuther  <streu@gmx.de>

	* game/planetpred.cc: add native prediction for THost

2019-10-27  Stefan Reuther  <streu@gmx.de>

	* client/dlg-tax.cc, game/planetpred.cc: reworked and enabled
	planetary prediction for THost

2019-09-30  Stefan Reuther  <streu@gmx.de>

	* int/statement.cc: add multi-line "On"

2019-09-14  Stefan Reuther  <streu@gmx.de>

	* client/widgets/histlist.cc: add "Ships exactly at" filter

2019-09-08  Stefan Reuther  <streu@gmx.de>

	* client/dialogs/selmgr.cc: F7 opens search dialog showing
	selection content

2019-09-07  Stefan Reuther  <streu@gmx.de>

	* game/shippredict.cc: handle alchemy version dependencies

	* game/mine.cc (getUnitsAfterDecay): fix THost formula, always
	loses one additional unit

2019-09-01  Stefan Reuther  <streu@gmx.de>

	* client/tiles/basetaskcmd.cc: show missing resources for waiting
	build orders

	* int/parseexpr.cc (parseSequence): add "Lone ";" at end of line
	is not allowed" error message (same as PCC 1.x)

	* game/cspec.cc (doSupplySale): "-1$ -2S" should not convert to
	"-3$" (affects CSub()); cleanup

2019-08-31  Stefan Reuther  <streu@gmx.de>

	* int/value.cc: limit strings to 2G for file compatibility with
	PCC1. Will probably hit other overflows now.

	* int/if/globalif.cc: Distance() now accepts real numbers (same as
	PCC1). IsSpecialFCode() now honors XTRFCODE.TXT (same as PCC1).

2019-08-25  Stefan Reuther  <streu@gmx.de>

	* int/builtin.cc, int/statement.cc, int/unary.cc: add UCase(),
	LCase(), ByName()

2019-08-24  Stefan Reuther  <streu@gmx.de>

	* client/dialogs/funcview.cc, client/widgets/funcinfo.cc,
	client/widgets/funclist.cc, client/widgets/specmaininfo.cc,
	game/hullfunc.cc, game/shipquery.cc: highlight currently-broken
	hull functions

	* int/if/ifutil.cc (checkCargoSpecArg): detect and reject invalid
	cargo amounts (same as PCC1)

2019-07-28  Stefan Reuther  <streu@gmx.de>

	* scripts/c2vmdump.pl, scripts/c2asm.pl: new instructions

	* game/shippredict.cc: add support for THost pythagoras bug. Add
	support for PHost <3.4h/4.0e UseAccurateFuelModel bug.

2019-06-17  Stefan Reuther  <streu@gmx.de>

	-------------------- release_2_0_7

2019-06-13  Stefan Reuther  <streu@gmx.de>

	* int/if/shipif.cc: Ship().Waypoint now returns the name of an
	intercept target, if any

2019-06-12  Stefan Reuther  <streu@gmx.de>

	* game/struct.in (NUM_BASE_MISSIONS): make this a constant

2019-06-11  Stefan Reuther  <streu@gmx.de>

	* client/dialogs/histselect.cc (chooseHistoryShip): focus on
	current ship, if any

	* client/tiles/shipmission.cc: highlight 'b' button for active
	cloning (same as PCC1)

	* client/dialogs/fleetcost.cc: replace WFlexibleText > UIStaticText

2019-06-10  Stefan Reuther  <streu@gmx.de>

	* phost/config.hi4, phost/config.xml, scripts/confgen.pl: remove.
	This was never 100% automatic and the frequency and extent of
	upstream updates make manual maintenance feasible.

2019-06-09  Stefan Reuther  <streu@gmx.de>

	* int/if/globalif.cc (IFCfgGet): rework to support querying
	individual elements of ExperienceLevelNames and Language. If the
	second parameter is given as EMPTY, the result is EMPTY.

	* int/if/listif.cc (call): add support for "\t" to get two-column
	layout

	* int/lex.cc: add support for "\t" in strings

2019-06-08  Stefan Reuther  <streu@gmx.de>

	* game/sim-run.cc: use correct formula for planetary torps lost in
	combat, was giving back too much

	* int/bytecode.cc: avoid generating invalid code: do not relocate
	oversize code (execute in symbolic mode). Reject too large literal
	table. Reject too many labels. Reject too many variables/args.

	* client/dialogs/combatdlg.cc: make combat score (S) function
	available from VCR selection so it can be used if you have just
	one fight

2019-05-28  Stefan Reuther  <streu@gmx.de>

	* client/scr-sim.cc: move some options into a menu

	* client/widgets/simalliancegrid.cc, client/dialogs/simalliances.cc:
	add ability to edit alliance relations (CCBSIM feature)

2019-05-26  Stefan Reuther  <streu@gmx.de>

	* game/sim-run.cc: change handling of Fed shield recharge to +25%
	bonus does not mess up statistic. In particular, destroyed ships
	are now reported as 0% shield.

	* client/scr-sim.cc, client/dialogs/hullsel.cc: add ability to
	sort/filter hull list (PCC1 feature)

2019-05-23  Stefan Reuther  <streu@gmx.de>

	* client/dlg-visual.cc: dialog always starts from ship the
	function is called from (previously: current ship on ship screen)

2019-05-22  Stefan Reuther  <streu@gmx.de>

	* int/binary.cc (FDivide): if result is integer, produce integer

	* client/wedit.cc: mark non-editable lines

	* client/chartloc.cc, int/if/guiif.cc: when going from object to
	map, focus the object

2019-05-21  Stefan Reuther  <streu@gmx.de>

	* client/tiles/visheader.cc: show experience

2019-05-20  Stefan Reuther  <streu@gmx.de>

	* client/screens/shipscreen.cc: show endangered minefields in scoop/lay prediction

	* game/ship.cc, game/utilparse.cc: fine-tune history processing

2019-05-19  Stefan Reuther  <streu@gmx.de>

	* game/ship.cc: history processing fix: more reliably prevent
	destroyed ships to re-appear as guessed

	* client/dialogs/simflakedit.cc: new

2019-05-18  Stefan Reuther  <streu@gmx.de>

	* game/utilmsg.cc, game/simplembox.cc: new

	* game/ship.cc: adjust field-to-timestamp mapping

2019-05-13  Stefan Reuther  <streu@gmx.de>

	* game/utilparse.cc: add information from VCRs into ship history.
	PCC1 has been doing that for ages (probably planets since
	1999-09-13, ships since 2001-01-23).

2019-04-09  Stefan Reuther  <streu@gmx.de>

	* int/statement.cc: add (disabled) new code generator for ForEach

	* int/opcode.cc: new opcodes, 'sfirst' and 'snext', to replace
	'sfirstindex' and 'snextindex'

2019-02-23  Stefan Reuther  <streu@gmx.de>

	-------------------- release_2_0_6

2019-02-12  Stefan Reuther  <streu@gmx.de>

	* int/if/listif.cc: LISTBOX().RUN() did not work due to missing
	"defs.h" include [#389]

2019-02-10  Stefan Reuther  <streu@gmx.de>

	* client/vcrplay.cc, client/vcrvis.cc, client/dialogs/simfunction.cc,
	game/sim-data.cc, game/sim-game.cc, game/sim-run.cc: add ability to
	simulate Saber Shield Generator [#260, #239], Red Wind Cloaked Bays
	[#254, #243]

	* game/classicvcr.cc, game/tvcr.cc, game/vcrobj.cc: move internal
	range checks into VCR file loader

2019-02-01  Stefan Reuther  <streu@gmx.de>

	* client/tiles/shipmission.cc: show cloak fuel usage on starchart [#387]

2019-01-12  Stefan Reuther  <streu@gmx.de>

	* client/dialogs/searchdlg.cc (handleEvent): add more keys (F1-F4,
	F6, Shift-Enter) to selectively control where to go [kite @ PCc]

	* client/wscanchart.cc (doItemLock): improve locking behaviour.
	Intercept now only locks on ships, as intended.
	ChartScannerWarpWells only limits candidates to planets when used
	without Shift key for more intuitive behaviour.

2018-12-26  Stefan Reuther  <streu@gmx.de>

	* client/wscoretable.cc: do not show aggregation if no teams configured

	* client/scr-score.cc: 'r' toggles relative, '%' toggles percentage mode

2018-12-15  Stefan Reuther  <streu@gmx.de>

	* game/sim-run.cc, game/objl-sort.cc: fix battle order
	inconsistencies [#381]

2018-09-16  Stefan Reuther  <streu@gmx.de>

	* int/if/globalif.cc (SelectionLoadAskUI): fix evaluation of
	dialog result so responding 'No' actually has an effect [#383]

	* client/dlg-tech.cc (drawContent): fix wording if mc/sup are
	shown separately (e.g. when starbases cost supplies)

	* int/if/conif.cc (IFUIInput): simplify result validation

	* client/history.cc (doScreenHistoryDialog): allow dialog if
	history has one element

2018-08-19  Stefan Reuther  <streu@gmx.de>

	-------------------- release_2_0_5

2018-08-12  Stefan Reuther  <streu@gmx.de>

	* ui/richhelp.cc (parseListItem): correctly render <pre> within list

2018-08-11  Stefan Reuther  <streu@gmx.de>

	* client/dialogs/plugindlg.cc, tools/c2pluginw.cc, tools/c2plugin.cc:
	create profile directory if it does not exist [#299]

2018-07-25  Stefan Reuther  <streu@gmx.de>

	* game/talliance.cc (postprocess): properly parse Tim-Host
	alliance friendly code. Alliance changes were not showing up.
	[#380]

	* game/msgparse.cc, specs/msgparse.ini: properly parse Tim-Host
	allies. The "FF allies" status message is case-sensitive, "yes"
	means *no* strong alliance. [#380]

2018-07-11  Stefan Reuther  <streu@gmx.de>

	* game/ship.cc (addTargetData): fix condition for accepting a
	scanned ship name [#378]

	* game/planet.cc (getHistoryData): fix condition for saving
	industry levels [#379]

2018-06-24  Stefan Reuther  <streu@gmx.de>

	* int/if/guiif.cc (IFLoadHelpFile): new command

2018-06-23  Stefan Reuther  <streu@gmx.de>

	* plugins/phost4help.c2p: new

	* ui/richhelp.cc: correctly handle unknown tags in lists

	* client/dialogs/helpdlg.cc: add help TOC

2018-06-21  Stefan Reuther  <streu@gmx.de>

	* resmgr/resmgr.h: remove getStream()

2018-06-20  Stefan Reuther  <streu@gmx.de>

	* util/plugin.cc: add ability to provide help files from a plugin

	* util/helpindex.cc: new

	* client/dialogs/helpdlg.cc: use HelpIndex

2018-06-17  Stefan Reuther  <streu@gmx.de>

	* client/tiles/planetgrowth.cc: show experience point prediction

2018-05-16  Stefan Reuther  <streu@gmx.de>

	* tools/c2plugin.cc (doRemove): report error exit code when a
	plugin cannot be uninstalled

2018-05-08  Stefan Reuther  <streu@gmx.de>

	* client/dialogs/simplemboxdlg.cc: add WMessageActionPanel.

2018-05-05  Stefan Reuther  <streu@gmx.de>

	* game/movement.cc (resolveTows): filter out self-tow. Those ships
	could get stuck, causing intercept resolution to crash. [#374]

2018-05-02  Stefan Reuther  <streu@gmx.de>

	* game/sim-run.cc (makeShipPlanetVcr): correctly set capabilities
	[#373].

2018-05-01  Stefan Reuther  <streu@gmx.de>

	* game/planetpred.cc (doMining): remove mined minerals from planet

	* client/dialogs/funcview.cc, client/dialogs/funcview.h,
	client/widgets/funclist.cc, client/widgets/funclist.h,
	client/widgets/specmaininfo.cc, client/widgets/specview.cc,
	game/shipquery.cc, game/shipquery.h: protect against
	!haveDisplayedTurn(). The code from 2018-07-04 will formally
	dereference a null pointer when used in PlayVCR (but work since
	the ship Id is passed as 0 and filtered out early enough).

	-------------------- release_2_0_4

2018-04-26  Stefan Reuther  <streu@gmx.de>

	* game/movement.cc: must definitively not process intercept cycles
	when regular movement was processed. This caused a crash when an
	intercept chain A->B->C (increasing Ids) was used. [#371]

2018-04-21  Stefan Reuther  <streu@gmx.de>

	* client/dlg-tax.cc: consider terraformers for prediction and
	properly use planet effectors for population prediction

	* int/file.cc (IFDirectoryEntry): new function to access directories

2018-04-16  Stefan Reuther  <streu@gmx.de>

	* client/screens/shiptaskscreen.cc (drawPost): fix display of
	distances when auto waypoint crosses the seam

2018-04-09  Stefan Reuther  <streu@gmx.de>

	* client/screens/shipscreen.cc: if scanner is at same position as
	waypoint, waypoint changes moves scanner [#91]

	* game/planettransfer.cc: handle MaximumFightersOnBase [#357]

2018-04-07  Stefan Reuther  <streu@gmx.de>

	* client/dialogs/vcrinfo.cc: 's' to show ship spec sheet

2018-03-19  Stefan Reuther  <streu@gmx.de>

	* ui/listbox.cc, ui/combobox.cc: add ability to handle '\t'

	* client/scr-sim.cc: show weapon specs in comboboxes

	* game/shippredict.cc (computeTurn): only claim UsedDamageLimit if
	limit actually kicks in

2018-03-05  Stefan Reuther  <streu@gmx.de>

	* game/sim-game.cc: use experience level when adding to sim

	* game/planetpred.cc (doAssimilation): fix typo causing results to
	be totally bogus

	* client/tiles/shipequipment.cc: show repair by "Self Repair"
	mission

2018-03-02  Stefan Reuther  <streu@gmx.de>

	* client/widgets/funcinfo.cc: show minimum experience points
	needed for a function level

	* game/movement.cc: fix prediction of next turn position for
	towed ships

2018-02-26  Stefan Reuther  <streu@gmx.de>

	* game/ship-form.cc, game/shippredict.cc: handle interaction of
	Training with chunnel, movement

2018-02-24  Stefan Reuther  <streu@gmx.de>

	* client/dialogs/explainpredict.cc: explain chunnel failures
	* client/dialogs/navchart.cc: handle wrap in chunneling [#370]
	* client/screens/shipscreen.cc: handle wrap in chunneling [#370]
	* client/widgets/navwidget.cc: handle wrap in chunneling [#370]

2018-02-20  Stefan Reuther  <streu@gmx.de>

	* game/objlist.cc (addDividers): signal list change. Fixes wrong
	ship image being displayed [#369]

	* client/scr-env.cc: fix assimilation computation [#368]

2018-01-26  Stefan Reuther  <streu@gmx.de>

	* tools/c2mgrep.cc, game/playerset.cc: correctly deal with
	messages to host and universal messages [#365]

2018-01-16  Stefan Reuther  <streu@gmx.de>

	* client/dialogs/explainpredict.cc (explainPrediction): new:
	explain ship predictions

2017-12-30  Stefan Reuther  <streu@gmx.de>

	* game/fleet.cc (setFleetMission): synchronize reset of Intercept
	to fleet members as well [#363]

2017-12-19  Stefan Reuther  <streu@gmx.de>

	* game/undo.cc: also consider transporters when determining
	supplies allowed to buy (possible rule violation). [#362]

2017-12-09  Stefan Reuther  <streu@gmx.de>

	* client/widgets/expformat.cc: add ability to select HTML format
	(present in c2export, but missing in GUI)

	* client/widgets/expfieldlist.cc: add ability to save and load
	settings [#359]

	* tools/c2export.cc: add '-c' option to load a config file [#359]

2017-12-05  Stefan Reuther  <streu@gmx.de>

	* tools/c2export.cc, int/export.cc: improve error message [#358]

2017-11-20  Stefan Reuther  <streu@gmx.de>

	-------------------- release_2_0_3

2017-10-21  Stefan Reuther  <streu@gmx.de>

	* client/dlg-visual.cc: show message flag and add Shift-M shortcut

	* client/tiles/csheader.cc: show message flag

	* client/wscorechart.cc: enable anti-aliasing. Add experimental
	shading code (disabled).

2017-10-20  Stefan Reuther  <streu@gmx.de>

	* client/chart.cc, client/chart.h, client/marks.cc,
	client/marks.h, client/widgets/chartdisplayconfig.cc: show message
	flags on map

2017-10-19  Stefan Reuther  <streu@gmx.de>

	* client/dialogs/simplemboxdlg.cc, client/dialogs/simplemboxdlg.h: new

	* game/proxymbox.cc, game/proxymbox.h: new

	* int/if/guiif.cc, int/if/mapmsgif.cc, int/if/mapmsgif.h,
	int/if/msgif.cc, int/if/msgif.h, int/if/planetif.cc,
	int/if/planetif.h, int/if/shipif.cc, int/if/shipif.h,
	resource/core.q: script access to associated messages

	* game/msgglobal.cc, game/planet-hist.cc, game/planet.h,
	game/ship.cc, game/ship.h, game/univ.cc, game/univ.h,
	game/utilparse.cc: track message numbers affecting units

2017-10-18  Stefan Reuther  <streu@gmx.de>

	* client/dialogs/msgreceiver.cc (chooseMessageReceiver): handle ESC

2017-09-28  Stefan Reuther  <streu@gmx.de>

	* game/sim-run.cc (init): NuHost does NOT produce seed 119 [#261]

	* game/shippredict.cc: fix highlighting of auto tasks that run out
	of fuel (broken since 2016-06-13 / 2.0.1)

2017-09-24  Stefan Reuther  <streu@gmx.de>

	* client/dialogs/imperial.cc (showRange): fix translation

2017-09-17  Stefan Reuther  <streu@gmx.de>

	* client/dialogs/inboxdlg.cc (doInboxScreen): refuse opening the
	dialog if there are no incoming messages [#351]

2017-04-18  Stefan Reuther  <streu@gmx.de>

	* int/export/exphtml.cc: properly escape HTML [#343]

2017-04-12  Stefan Reuther  <streu@gmx.de>

	* tests/teststmt.cc (saveSelf): remove old workaround which is no
	longer required; the invoking IntSimpleProcedureValue is removed
	from the stack by the caller.

	* game/hullfunc.cc (matchBasicFunction): detect cycles [#342]
	(process): fix parser error causing it to demand a space before
	"=" in "a=b"

2017-01-15  Stefan Reuther  <streu@gmx.de>

	-------------------- release_2_0_2

2017-01-14  Stefan Reuther  <streu@gmx.de>

	* game/un-trn.cc (showHex): fix off-by-one error causing one byte
	too much to be decoded

2017-01-08  Stefan Reuther  <streu@gmx.de>

	* int/optimize.cc (doInvertJumps): do not optimize jXXp + jXX [#328]

2016-12-24  Stefan Reuther  <streu@gmx.de>

	* int/value.cc (getBoolValue): treat non-scalars as true [#327]

2016-12-12  Stefan Reuther  <streu@gmx.de>

	* client/widgets/ammoinfo.cc: add "+" and "-" buttons

2016-11-25  Stefan Reuther  <streu@gmx.de>

	* int/statement.cc (compileCall): new

2016-11-19  Stefan Reuther  <streu@gmx.de>

	* int/optimize.cc: optimize loadind+drop -> callind

2016-11-16  Stefan Reuther  <streu@gmx.de>

	* client/search.cc, client/dialogs/searchdlg.cc,
	client/widgets/searchobj.cc, int/if/guiif.cc: add ability to
	restrict search to own units [#100]

	* client/dlg-tax.cc: honor hissers when predicting happiness

2016-11-05  Stefan Reuther  <streu@gmx.de>

	* client/dlg-visual.cc (doListNextShips): handle movement across
	the wrap seam [#313]

	* int/if/ufoif.cc: use correct color format [#322]

	* game/db.cc (loadPropertyRecord): handle corrupted files that do
	not have enough names in their file header for all properties [#324]

	* int/if/guiif.cc (IFUIMessage): add UTF-8 awareness [#315]

	* int/if/richif.cc (RMid, RLen): add UTF-8 awareness [#306]

	* int/if/basepred.cc (predictInstruction), int/if/vcrif.cc (get):
	handle null argument [#325]

	* int/compound.cc, int/mutex.cc, int/if/drawingif.cc,
	int/if/globalif.cc, int/if/listif.cc, int/if/mineif.cc,
	int/if/msgif.cc, int/if/objif.cc (makeFirstContext): properly
	report failure for non-iterable items [#326]

2016-10-30  Stefan Reuther  <streu@gmx.de>

	* client/dlg-structure.cc (drawContent): honor experience level and
	EModPlanetaryTorpsPerTube when predicting number of torpedoes

2016-10-04  Stefan Reuther  <streu@gmx.de>

	* game/sim.h (asShip, asPlanet): replace virtuals by dynamic_cast

2016-09-30  Stefan Reuther  <streu@gmx.de>

	* client/tiles/shipequipment.cc (drawData): add note for hardened engines

	* game/exp.cc (formatExpLevelSet): properly format sets that contain level 0

2016-09-10  Stefan Reuther  <streu@gmx.de>

	* arch/win32-bcc55/platform.cc (buildArgs): expand wildcards [#317]

2016-08-24  Stefan Reuther  <streu@gmx.de>

	* int/if/mineif.cc: resolve minefield Id at usage time, not
	closure creation time, because minefield objects can go away. [#308]

2016-08-22  Stefan Reuther  <streu@gmx.de>

	* int/export/exphtml.cc: add HTML export (backport from c2ng)

2016-08-21  Stefan Reuther  <streu@gmx.de>

	* client/chart.cc (drawSectors): fix typo causing non-square maps
	look wrong [#314]

	* client/playerscr.cc, client/chart.h, client/chart.cc: warning fix

	* int/if/richif.cc (IFRLink, IFRStyle): get rid of temporary [#307]

	* int/if/baseif.cc (getDimension): fix off-by-one error; DIM()
	reported one too few

	* int/export/expjson.cc: fix off-by-one error in array export
	causing "#<error>" element to be generated when exporting
	ENGINE().FUELFACTOR [#316]

2016-08-15  Stefan Reuther  <streu@gmx.de>

	* specs/msgparse.ini: connect "n" (Message from Enemy) mine hit
	messages to map locations, just like "e" (own mine hits)

2016-07-31  Stefan Reuther  <streu@gmx.de>

	* client/widgets/consoleview.cc: fix uninitialized member

	* client/screens/minescreen.cc (showSweepInfo): if called from a
	ship, highlight that ship's beam type

2016-07-03  Stefan Reuther  <streu@gmx.de>

	* int/if/shipif.cc: fix type hint error for ENGINE

2016-07-03  Stefan Reuther  <streu@gmx.de>

	-------------------- release_2_0_1

2016-06-20  Stefan Reuther  <streu@gmx.de>

	* game/pvcr.cc (randomRange100LT): avoid overflow if percentage is
	>100. This can happen legally with BeamHitBonus etc. [#304]

2016-06-19  Stefan Reuther  <streu@gmx.de>

	* game/shippredict.cc: handle alX/naX for refinery

2016-06-18  Stefan Reuther  <streu@gmx.de>

	* game/univ.cc (postprocess): set foreign data as NotPlayable, not
	ReadOnly, even if it claims to be full data. Such data may
	actually be partial anyway (c2nu), and we have no way to set up a
	regular situation with complete read-only data. [#303]

2016-06-16  Stefan Reuther  <streu@gmx.de>

	* client/lrupredef.cc (loadPredefinedLists): load lists from profile/expr.ini

2016-06-13  Stefan Reuther  <streu@gmx.de>

	* client/dialogs/consoledlg.cc: complete command option names after "Cfg(" or "AddConfig"

	* game/spec.cc: add MapTruehullByPlayerRace support [#300]

	* client/widgets/specmaininfo.cc, game/ship-form.cc, game/ship.h,
	game/shippredict.cc: add turn/fight fuel usage support ("isEugeneGame")

	* client/widgets/specbuildinfo.cc: show available build points

	* game/shippredict.cc: predict "mkt", mine laying

	* client/chart/distancemode.cc, client/tiles/shipmovement.cc,
	client/tiles/shipmission.cc, int/if/shipif.cc,
	client/tiles/fleetwaypoint.cc: consider towee for predicting fuel
	usage

2016-06-10  Stefan Reuther  <streu@gmx.de>

	* client/chart/standardmode.cc (findUfoOtherEnd): new

2016-06-07  Stefan Reuther  <streu@gmx.de>

	* int/if/shipif.cc (set), int/if/planetif.cc (set): fix crash when
	assigning a user-defined property of a nonexistant object [#302]

2016-05-04  Stefan Reuther  <streu@gmx.de>

	* game/global.cc (initTurn): Reset all selections so we don't
	carry and old turn's selection around for too long [#294].

	* client/widgets/objlist.cc: properly show dividers [#292], broken since 2015-10-05

	* ui/event.cc (UIPollableTimer), gfx/pixmap.cc (setFormat): remove unused code

2016-04-20  Stefan Reuther  <streu@gmx.de>

	* game/univ.cc: remove unused variable

	* int/export.h, int/export.cc, int/export/expjson.cc, ui/skin.h: warning fixes

2016-04-09  Stefan Reuther  <streu@gmx.de>

	* int/hash.cc (set): use cloneOf, not clone, when setting hash value [#296]

2016-03-18  Stefan Reuther  <streu@gmx.de>

	* game/spec.cc: correctly suppress racial abilities for hull #1 [#295]

	* specs/hostver.ini, game/config.cc, game/storage/overview.cc: add SRace support [#293]

2016-03-06  Stefan Reuther  <streu@gmx.de>

	* util/bsearch.h: remove

2016-03-05  Stefan Reuther  <streu@gmx.de>

	-------------------- release_2_0

2016-02-28  Stefan Reuther  <streu@gmx.de>

	* remove Borland compiler support

2016-02-27  Stefan Reuther  <streu@gmx.de>

	* client/widgets/ftrinfo.cc: correct formatting of fighter cost

	* client/screens/shiptaskscreen.cc (drawPre): fix drawing of
	movement across the seam [#290]

	* installer/vcrwrap.cpp: rework: integrate in build system. Use C
	stdio instead of C++ fstream for smaller binary. Borland compiler
	is now no longer required to build the installer.

2016-02-26  Stefan Reuther  <streu@gmx.de>

	* installer/PCC2-Installer.nsi: force correct place (=all users)
	for start menu entries; was inconsistent under Vista and newer.
	default to not installing start menu entries if they already exist [#276]

2016-02-25  Stefan Reuther  <streu@gmx.de>

	* util/xmlread.cc: fix quote handling

2016-01-01  Stefan Reuther  <streu@gmx.de>

	* client/dialogs/clonedlg.cc (doCloneShip): handle Unclonable and
	CloneOnce in the Clone dialog [#289]

2015-11-28  Stefan Reuther  <streu@gmx.de>

	* int/autotask.cc (saveToProcess): deleting the active last line
	in an auto task should terminate the auto task [#286]

2015-11-07  Stefan Reuther  <streu@gmx.de>

	* game/objtypes.cc (findNearestIndex): fix logic to really prefer
	mines we're in

2015-11-05  Stefan Reuther  <streu@gmx.de>

	* client/tiles/shipequipment.cc (drawShipEquipmentTile): fix crash
	when experience is known but mission isn't [Klemens Reuther, #285]

2015-11-01  Stefan Reuther  <streu@gmx.de>

	* scripts/msgcompile.pl, scripts/xgettext: add workarounds for
	cool new unicode-aware infrastructure that breaks everything

	* int/process.cc: update "there's a process here" flag more
	frequently, so Alt-Left/Right no longer leaves a frame around

	* client/widgets/allylist.cc: separate text for "enemy"

2015-10-05  Stefan Reuther  <stefan@rocket.streu.home>

	* client/widgets/objlist.cc: handle that a list item may not refer
	to an existing object. Happens when an object is deleted [#284]

2015-08-22  Stefan Reuther  <Streu@gmx.de>

	* int/export/expjson.cc: STORAGE.AMMO now exported as proper array [#158]

	* client/widgets/navwidget.cc, client/scr-env.cc: handle S-F5/C-F5

2015-07-20  Stefan Reuther  <Streu@gmx.de>

	-------------------- release_1_99_26

2015-07-12  Stefan Reuther  <Streu@gmx.de>

	* ui/richdocument.cc: handle overly long words when wrapping;
	don't just give up wrapping totally [#282]

	* client/cscreen.cc (processEvent): handle iucUseKeymap correctly [#281]

	* client/chart/selectmode.cc (drawBelow): call drawBelow, not
	drawOverlays, to make combination of mark-range and show-range work

	* client/act-planet.cc, client/chart/deletedrawingmode.cc,
	client/chart/keymapmode.cc, client/chart/prefixmode.cc,
	client/dialogs/allydlg.cc, client/dialogs/baseammo.cc,
	client/dialogs/baseshipbuild.cc, client/dialogs/basetaskbuild.cc,
	client/dialogs/buildbilldlg.cc, client/dialogs/cargohist.cc,
	client/dialogs/chartconfig.cc, client/dialogs/clonedlg.cc,
	client/dialogs/combatdlg.cc, client/dialogs/commandedit.cc,
	client/dialogs/consoledlg.cc, client/dialogs/consolelog.cc,
	client/dialogs/exportparam.cc, client/dialogs/fleetcost.cc,
	client/dialogs/fleetopts.cc, client/dialogs/funcview.cc,
	client/dialogs/gadialog.cc, client/dialogs/goaldialog.cc,
	client/dialogs/gotoxydlg.cc, client/dialogs/histselect.cc,
	client/dialogs/imperial.cc, client/dialogs/inboxdlg.cc,
	client/dialogs/ionforecast.cc, client/dialogs/keymapdlg.cc,
	client/dialogs/msgreceiver.cc, client/dialogs/multitransfer.cc,
	client/dialogs/navchart.cc, client/dialogs/notifydlg.cc,
	client/dialogs/objselect.cc, client/dialogs/outboxdlg.cc,
	client/dialogs/passwordchange.cc, client/dialogs/plugindlg.cc,
	client/dialogs/prefdlg.cc, client/dialogs/racename.cc,
	client/dialogs/rangeedit.cc, client/dialogs/resetdlg.cc,
	client/dialogs/searchdlg.cc, client/dialogs/selmgr.cc,
	client/dialogs/shipcostcalc.cc, client/dialogs/simfunction.cc,
	client/dialogs/simoptions.cc, client/dialogs/simplanetedit.cc,
	client/dialogs/simplanettorps.cc, client/dialogs/tagcreate.cc,
	client/dialogs/teamedit.cc, client/dialogs/vcrinfo.cc,
	client/dialogs/weaponeff.cc, client/dlg-cargo.cc,
	client/dlg-component.cc, client/dlg-draw.cc, client/dlg-fcode.cc,
	client/dlg-groundcombat.cc, client/dlg-mission.cc,
	client/dlg-structure.cc, client/dlg-subject.cc,
	client/dlg-supplies.cc, client/dlg-tax.cc, client/dlg-tech.cc,
	client/dlg-visual.cc, client/dlg-warp.cc, client/history.cc,
	client/keymaphandler.cc, client/main.cc, client/playvcrbg.cc,
	client/scr-env.cc, client/scr-msg.cc, client/scr-result.cc,
	client/scr-score.cc, client/scr-sim.cc,
	client/screens/ionscreen.cc, client/screens/minescreen.cc,
	client/screens/sweepscreen.cc, client/screens/taskscreen.cc,
	client/screens/ufoscreen.cc, client/screens/unpackscreen.cc,
	client/sound-conf.cc, client/vcrplay.cc,
	client/widgets/colorselect.cc, client/widgets/markertype.cc,
	client/widgets/objlist.cc, client/widgets/specview.cc,
	client/wscanchart.cc, ui/dialogs/filedlg.cc, ui/listbox.cc,
	ui/msgbox.cc, ui/prefix.cc, ui/widgets/inputline.cc,
	ui/widgets/quit.cc: handle "X" (vk_Quit) in all dialogs [#277]

	* client/dialogs/simoptions.cc: ESC did confirm, not cancel

2015-07-05  Stefan Reuther  <Streu@gmx.de>

	* plugins/exitgame.q: new plugin

	* resource/core.q: "X" exits PCC2 [#277]

2015-06-25  Stefan Reuther  <Streu@gmx.de>

	* int/if/guiif.cc (IFSystemExitClient): new command

2015-06-22  Stefan Reuther  <Streu@gmx.de>

	* client/dialogs/rangeedit.cc, game/rangeset.cc: new

2015-06-20  Stefan Reuther  <Streu@gmx.de>

	* client/dialogs/tagcreate.cc, client/dialogs/tagselect.cc: new

	* game/drawing.cc: saving marker tags did not work

	* client/dlg-draw.cc: add missing initialisation [#280]

	* resource/core.q: implement C-m/M-m (go to/search chunnel mate)
	document internal keys

2015-06-17  Stefan Reuther  <Streu@gmx.de>

	* client/tiles/shipoverview.cc: show remote owner and level

	* client/tiles/shipequipment.cc: show experience points and
	training gain [#279]

2015-06-16  Stefan Reuther  <Streu@gmx.de>

	* client/act-ship.cc, game/fcode-game.cc: use real ship owner to
	determine possible fcodes/receivers [#278]

	* game/utilparse.cc, game/ship.cc: add parsing of util.dat
	information. This was completely absent so far.

2015-06-14  Stefan Reuther  <Streu@gmx.de>

	* game/sim.cc, client/scr-result.cc: handle that a planet does not
	fight [#275]

	* client/billexport.cc: add ability to export bills

	* client/dialogs/histselect.cc: add ability to sort ships

2015-06-11  Stefan Reuther  <Streu@gmx.de>

	* client/tiles/shipoverview.cc: add missing info

2015-06-10  Stefan Reuther  <Streu@gmx.de>

	* client/screens/ufoscreen.cc, client/screens/minescreen.cc: add help

	* client/dialogs/ionforecast.cc: new

2015-06-09  Stefan Reuther  <Streu@gmx.de>

	* client/vcrvis.cc: remove handleCommand

	* ui/widgets/keytranslator.h: remove addCommand

	* client/dlg-cargo.cc: remove handleCommand

2015-06-07  Stefan Reuther  <Streu@gmx.de>

	* client/dlg-visual.cc: add cargo summary
	remove handleCommand; add Ctrl-Ins

	* game/movement.cc: implement movement prediction

	* game/ship.h: add ability to store predicted position

	* game/objlist.h: add missing sort orders

2015-06-05  Stefan Reuther  <Streu@gmx.de>

	* client/dialogs/gotoxydlg.cc: remove handleCommand; add help

	* client/playerscr.cc (playCurrent), client/playvcr.cc (playFlak):
	remove use of handleCommand; add Home/End keys

2015-06-04  Stefan Reuther  <Streu@gmx.de>

	* client/vcrplay.cc (WVcrSelectorWindow): remove use of
	handleCommand; add Home/End keys

2015-05-30  Stefan Reuther  <Streu@gmx.de>

	* int/names.h (IntNameQuery): new class, used for looking up identifiers.
	Speeds up drawdist.q by 25%.

	* client/dialogs/selmgr.cc: accept Ins/Del keys in addition

	* game/trnapply.cc: implement turn file decompilation for unpack

2015-05-25  Stefan Reuther  <Streu@gmx.de>

	* ui/commands.h: remove unused commands; remove include where not needed

	* client/dialogs/searchdlg.cc, client/dialogs/keymapdlg.cc: remove
	needless use of handleCommand

	* client/dlg-component.cc (handleEvent): remove use of
	handleCommand; add ability to modify +/- with Ctrl

2015-05-24  Stefan Reuther  <Streu@gmx.de>

	* client/dialogs/shipbuilddlg.cc: use signals/slots, not commands
	(cm_CountChanged, cm_BuildComponent) to transfer events

	* client/scr-sim.cc (editCrew): allow all ships to have 10 crew

	* client/dlg-visual.cc: accept F1 on ship selector
	(doListShips): place initial cursor on current ship

	* client/wscanchart.cc, resource/core.q: accept shift-L at every
	place we accept L to list ships here

	* client/widgets/navwidget.cc (setInitialZoom): when opening nav
	chart, set zoom so that initial waypoint and HYP circles are
	visible

2015-05-08  Stefan Reuther  <Streu@gmx.de>

	* game/ship.cc (getNumTorpLaunchers, getNumBeams),
	game/struct-util.cc (getShipMass): protect against ships with N
	weapons of type 0 [#272] [release_1_99_25a]

2015-05-02  Stefan Reuther  <Streu@gmx.de>

	-------------------- release_1_99_25

2015-05-01  Stefan Reuther  <Streu@gmx.de>

	* game/lock.cc, client/chart/movemarkermode.cc: Enter/Space while
	moving a marker no longer locks on the marker itself [#266]

2015-04-29  Stefan Reuther  <Streu@gmx.de>

	* client/widgets/objlist.cc (doStandardDialog2): fix help button

	* client/tiles/shipmovement.cc: show cloak fuel usage [#96]
	show chunnel fuel usage/time

2015-04-26  Stefan Reuther  <Streu@gmx.de>

	* client/dlg-fcode.cc (setFCode): special handling for duplicate
	fcodes, to not accidentally block scrolling [#269]

	* int/if/globalif.cc: add ADDFCODE
	add AUTHPLAYER

2015-04-24  Stefan Reuther  <Streu@gmx.de>

	* ui/widgets/numbersel.cc (doStandardDialog): implement help

	* ui/listbox.cc (doStandardListbox): implement help

2015-04-23  Stefan Reuther  <Streu@gmx.de>

	* int/if/globalif.cc: add ADDCONFIG

	* int/if/listif.cc: add LISTBOX()

2015-04-21  Stefan Reuther  <Streu@gmx.de>

	* resource/pcc2help.xml: add some more introductory texts and add
	Reference links (script context, keys, etc).

	* ui/richhelp.cc: improve rendering of blocks

2015-04-19  Stefan Reuther  <Streu@gmx.de>

	* int/if/globalif.cc (getGlobalProperty): add SYSTEM.LANGUAGE

	* client/tiles/taskmsgtile.cc, client/tiles/basetaskcmd.cc,
	client/tiles/planettaskcmd.cc, client/tiles/shiptaskcmd.cc: show
	notification message and allow confirmation

	* client/dialogs/notifydlg.cc: go to task screen when message is triggered by task

2015-04-16  Stefan Reuther  <Streu@gmx.de>

	* client/widgets/msgdisplay.cc: do not disable word wrap, notify messages need it

	* client/screens/taskscreen.cc: add completion for command input

2015-04-10  Stefan Reuther  <Streu@gmx.de>

	* client/main.cc, client/playerscr.cc: Hooks must be run while the
	player screen is active, so that correct UI properties are seen.

	* tools/c2plugin.cc: add "test" command

	* installer/PCC2-Installer.nsi: add plugin associations; fix .ccb associations

	* tools/c2pluginw.cc: new tool

2015-04-09  Stefan Reuther  <Streu@gmx.de>

	* plugins/: added plugin packaging files

	* client/widgets/pluginlist.cc, client/dialogs/plugindlg.cc: optical tweaks

	* util/plugin.cc (initFromPluginFile): use ResourceFile,
	ScriptFile for files, and accept <anything>File for other files,
	for upward compatibility

2015-04-08  Stefan Reuther  <Streu@gmx.de>

	* client/main.cc (main): add EXIT, QUIT, BEFORELOAD, AFTEREXIT hooks

2015-04-07  Stefan Reuther  <Streu@gmx.de>

	* client/dialogs/plugindlg.cc: ambiguity resolution (use *.c2p instead of *.q)

2015-04-06  Stefan Reuther  <Streu@gmx.de>

	* util/pluginstall.cc, client/dialogs/plugindlg.cc: add support
	for zipped plugins (*.zip/*.c2z)

	* io/streams.cc (ChildStream): fix child linkage

2015-04-05  Stefan Reuther  <Streu@gmx.de>

	* ui/dialogs/filedlg.cc: allow multiple patterns

	* client/dialogs/plugindlg.cc: plugin installer

	* client/dialogs/imperial.cc (drawPlanetsPage): add planet climate report

	* client/dialogs/plugindlg.cc, resmgr/resmgr.cc: make it possible
	to unload resource files, and unload files provided by a plugin
	when the plugin is removed.

2015-04-02  Stefan Reuther  <Streu@gmx.de>

	* client/playvcrbg.cc: add plugin dialog

	* client/widgets/navwidget.cc: separated widget

	* client/dlg-mission.cc: use navchart widget so we have all its
	additional functions available for intercept, too

	* client/dialogs/plugindlg.cc (doPluginDialog): new

2015-04-01  Stefan Reuther  <Streu@gmx.de>

	* client/playvcr.cc: load plugins

2015-03-29  Stefan Reuther  <Streu@gmx.de>

	* int/if/playerif.cc (getPlayerProperty): add PBPS / MY.PBPS

2015-03-28  Stefan Reuther  <Streu@gmx.de>

	* tools/c2plugin.cc: implement installing a plugin that is already
	installed (update)

2015-03-27  Stefan Reuther  <Streu@gmx.de>

	* util/pluginstall.cc: moved installer into separate class

2015-03-25  Stefan Reuther  <Streu@gmx.de>

	* tools/c2plugin.cc: simple brute-force installer

2015-03-22  Stefan Reuther  <Streu@gmx.de>

	* tools/c2plugin.cc, int/if/plugif.cc, util/pluginmgr.cc,
	util/plugin.cc, client/main.cc: plugins, initial version

	* int/if/guiif.cc (IFLoadResource): new
	refuse invocation of several commands when no turn is loaded; avoiding a crash

	* int/if/globalif.cc (IFNewCircle, IFNewMarker, IFNewLine): refuse
	invocation when no turn is loaded; avoiding a crash

	* int/simple.cc (executeFile): log execution errors

	* client/main.cc (main): load core.q just once

2015-03-21  Stefan Reuther  <Streu@gmx.de>

	* game/storage/overview.cc: implement early host version
	detection. The host version is now known reliably for all
	dependant features (alliances, hullfunc parser, ...)

2015-03-18  Stefan Reuther  <Streu@gmx.de>

	* game/inbox.cc (tweakIncomingHeader): decode "<CC:" hack, like PCC 1.x

2015-03-17  Stefan Reuther  <Streu@gmx.de>

	* client/widgets/msgaction.cc (doReply): reply to anonymous
	message is sent as universal message [#267]

	* configure.in: remove needless autodetections

	* game/bum.cc, client/dialogs/multitransfer.cc: cancel unfinished
	transactions

	* io/streams.cc (activate): set active_child after returning to
	the current position, so if that fails, we throw and keep a sane state

	* game/config.cc (initConfig): use correct defaults for Tim-Host

	* P9/: update build infrastructure

2015-03-06  Stefan Reuther  <Streu@gmx.de>

	* game/palliance.cc (handleChanges): fix command syntax [#263]

2015-03-01  Stefan Reuther  <Streu@gmx.de>

	-------------------- release_1_99_24

2015-02-27  Stefan Reuther  <Streu@gmx.de>

	* game/gen.cc (getPassword): implement correct 8-bit wraparound
	when computing password

2015-02-25  Stefan Reuther  <Streu@gmx.de>

	* client/scr-result.cc, game/sim-run.cc: NuHost goes up to 119 [#261]

	* game/planet.cc (setCargoRaw): use "=", not "+=". Fixes [#259]

	* game/reset.cc (GReset): default to no reset

2015-02-08  Stefan Reuther  <Streu@gmx.de>

	* client/main.cc (validatePassword): add password prompt

	* client/dialogs/racename.cc: add ability to rename race

	* client/dialogs/passwordchange.cc (doPasswordChange),
	game/save-trn.cc (saveTurns), game/gen.cc (getNewPasswordData):
	add ability to change passwords

	* client/dialogs/prefdlg.cc: add "Game Settings" page

	* scripts/xgettext: fix file selection so core.q is processed

2015-02-06  Stefan Reuther  <Streu@gmx.de>

	* ui/widgets/cardtab.cc (UICardGroupTab): support nested
	UICardGroups controlled by a single UICardGroupTab.

2015-01-12  Stefan Reuther  <Streu@gmx.de>

	-------------------- release_1_99_23

2015-01-11  Stefan Reuther  <Streu@gmx.de>

	* ui/table.cc: size tweak

2015-01-03  Stefan Reuther  <Streu@gmx.de>

	* client/dialogs/prefdlg.cc (toString): translate Yes/No

	* client/screens.cc: search now also displays info screens when
	invoked for ufos and ion storms

	* client/tiles/basemineral.cc, client/tiles/nheader.cc,
	client/tiles/planetfcode.cc, client/tiles/shipcargo.cc,
	client/widgets/vcrinfomain.cc: consistently translate "mc" and "kt"

	* util/misc.cc (numToString, clansToString): implement
	"thousands-separator" and "clans" options. Changed many users.

2015-01-02  Stefan Reuther  <Streu@gmx.de>

	* game/sim-run.cc: implement abilities for planets [#253]
	set capabilities before initializing fight, to make experience work [#256]

	* game/pvcr.cc: initialize all member variables

	* client/widgets/optiongrid.cc: fix button initialisation

	* int/binary.cc (executeComparison): fix typo causing
	case-sensitive "<>" to not work when fused with a jump [#255]

2015-01-01  Stefan Reuther  <Streu@gmx.de>

	* gfx/gfx.h (computeOffset): new method

	* client/cscreen.cc: add shadow effect from PCC 1.x
	remove old unused BLUESKIN code

2014-12-31  Stefan Reuther  <Streu@gmx.de>

	* client/widgets/optiongrid.cc: implement generic widget to
	simplify code

	* client/screens/ufoscreen.cc, client/screens/ionscreen.cc: add
	mini-map

	* client/widgets/objcontrol.cc: add Tab control

	* int/if/vcrif.cc: export Nu combat properties to scripts

2014-12-30  Stefan Reuther  <Streu@gmx.de>

	* game/team.cc (syncTeamsFromAlliances): implement team autosync

	* client/widgets/msgaction.cc: auto-detect coordinates only when
	they have 3..4 digits, to avoid detecting "Compiled: Aug 6, 2010"
	as coordinate. Use same wording for "Go to map at..." in G and X
	actions.

	* game/msgparse.cc: add ability to parse THost allies from messages

	* game/talliance.cc: add alliance implementation for THost

2014-12-29  Stefan Reuther  <Streu@gmx.de>

	* game/palliance.cc: add alliance implementation for PHost

	* game/alliance.cc: add alliance core

	* client/widgets/allylist.cc, client/widgets/allylevelgrid.cc,
	client/dialogs/allydlg.cc: new dialog

2014-12-28  Stefan Reuther  <Streu@gmx.de>

	* game/reset.cc, client/dialogs/resetdlg.cc: implement "Reset X/Y"
	function [#95]

2014-12-27  Stefan Reuther  <Streu@gmx.de>

	* client/screens/shipscreen.cc (drawPost): display tow waypoint [#84]
	(doShipBaseMenu): move "build ammo" first, like in PCC 1.x [#85]

	* client/scr-sim.cc (onContextMenu): add "Sort by Name"

	* client/dialogs/vcrinfo.cc: allow going to a VCR object from the
	details view [#98]

	* client/screens/minescreen.cc: implement 'p' to go to minefield's
	controlling planet

	* client/dialogs/searchdlg.cc: "OK" on a minefield now shows that
	minefield's info dialog, not the starchart

	* client/screens/minescreen.cc, client/widgets/objchart.cc: add
	minefield mini-map

2014-12-26  Stefan Reuther  <Streu@gmx.de>

	* client/dialogs/simoptions.cc: make the dialog behave closer to
	the Web version: changing the mode updates options; move mode to
	top and give it easier name.

	* client/dialogs/fleetcost.cc: add ability to compute ship tech
	costs [#252, kozack]

	* game/sim.h: move ability handling into GSimObject so it can
	later be used for planets

	* game/sim-run.cc (handleShipKilled): squadron will not produce
	0-beam ships [joshua]

2014-12-25  Stefan Reuther  <Streu@gmx.de>

	* game/sim-run.cc (handleShipKilled): squadron will produce 0-beam
	ships [mjs68508]

2014-12-16  Stefan Reuther  <Streu@gmx.de>

	* client/dialogs/navchart.cc: accept prefix args

2014-12-13  Stefan Reuther  <Streu@gmx.de>

	* ui/richdocument.cc (addRight): fix boundary error causing
	addRight to crash when called as first operation

	* game/sim-result.cc (add): track min/max battles

	* client/scr-result.cc: render result details as a RichDocument,
	and add links to min/max battles

2014-12-11  Stefan Reuther  <Streu@gmx.de>

	* game/tvcr.cc, game/pvcr.cc, game/sim-run.cc, client/dialogs/simfunction.cc:
	implemented Squadron ability

2014-10-12  Stefan Reuther  <Streu@gmx.de>

	* int/if/guiif.cc (IFChartSetView): must properly upper-case view
	name [#244]

2014-10-07  Stefan Reuther  <Streu@gmx.de>

	* reshack/grid.cc (init): make sure grid is never empty; this
	caused a crash on new fonts

2014-09-14  Stefan Reuther  <Streu@gmx.de>

	* int/if/vcrif.cc (getVcrProperty): do not translate VCR algo name
	for script interface

2014-09-06  Stefan Reuther  <Streu@gmx.de>

	* game/unpack.cc (unpackKore): fix off-by-one error in name
	decoding [#242]

	* tools/c2dump.cc: add support for TARGET files

2014-07-27  Stefan Reuther  <Streu@gmx.de>

	* game/sim-run.cc (applyMasterBonus): fixed probabilities so that
	fighter bonus is given with correct probability

2014-05-26  Stefan Reuther  <Streu@gmx.de>

	* ui/widgets/abstractbutton.cc (onStateChange): do not mess with
	the st_Selected flag, which causes inconsistencies with the
	selected_child link, and can cause a crash [#234, Figak]

	* ui/widgets/button.cc (drawButton): instead filter out
	st_Selected when drawing

2014-04-13  Stefan Reuther  <Streu@gmx.de>

	* client/dialogs/baseshipbuild.cc (onOk): the safety dialog can no
	longer be confirmed using ENTER; must use Y or N. Also, improved
	the format a little [#229]

2014-02-22  Stefan Reuther  <Streu@gmx.de>

	* int/if/vcrif.cc: implement new VCR properties

2014-02-17  Stefan Reuther  <Streu@gmx.de>

	* version.h (PCC2_VERSION): set to 1.99.22a

	* game/vcrobj.cc: added missing initialisation [#226]

	* game/sim.cc (loadDefaults): make 360kt balancing default for NuHost

2014-02-15  Stefan Reuther  <Streu@gmx.de>

	-------------------- release_1_99_22

2014-02-14  Stefan Reuther  <Streu@gmx.de>

	* game/sim-data.cc (hasImpliedHullFunction): handle Planet
	Immunity in a more straight-forward way

	* client/dialogs/simfunction.cc: improved layout (same as options screen)

	* game/sim-run.cc: do not generate nonzero experience in combat
	records if experience isn't actually enabled/supported [#223]

2014-02-13  Stefan Reuther  <Streu@gmx.de>

	* client/dialogs/simfunction.cc: add help

	* game/pvcr.cc: implement new abilities for PVCR [#224]

2014-02-12  Stefan Reuther  <Streu@gmx.de>

	* game/sim-run.cc, game/sim-data.cc, game/struct.in,
	client/dialogs/simfunction.cc: implemented configuration of new
	abilities [#224]

2014-02-09  Stefan Reuther  <Streu@gmx.de>

	* game/vcrobj.cc, game/tvcr.cc: prepare for dealing with NuHost
	special abilities (per-ship VCR config) [#224]

2013-11-29  Stefan Reuther  <Streu@gmx.de>

	* int/statement.cc: implemented optimisation level -1, documentation

2013-11-27  Stefan Reuther  <Streu@gmx.de>

	* int/statement.cc: implemented options LocalTypes, LocalSubs, Optimize

2013-11-24  Stefan Reuther  <Streu@gmx.de>

	* int/statement.cc: first implementation of local types and subs

	* ui/window.cc (UIWindow): new function signature to reduce binary size

	* client/dialogs/simplanettorps.cc: moved out of scr-sim.cc.
	* client/dialogs/simplanetedit.cc: moved out of scr-sim.cc.
	* client/dialogs/simfunction.cc: moved out of scr-sim.cc.
	* client/dialogs/simoptions.cc: moved out of scr-sim.cc.

2013-11-22  Stefan Reuther  <Streu@gmx.de>

	* client/dlg-warp.cc: allow setting fleets to HYP [#178]

	* game/fleetfc.cc: new module

2013-11-18  Stefan Reuther  <Streu@gmx.de>

	* client/scr-sim.cc: minor optimisation

2013-11-17  Stefan Reuther  <Streu@gmx.de>

	* client/scr-sim.cc: remove global variable sim_game_if
	code size reduction in constructors

	* client/widgets/simlist.cc: moved out of scr-sim.cc

	* version.h: bump version number to 1.99.22

	* tests/selftest.q: minor update: Ufos can have no speed

	* int/parseexpr.cc (parseComparison): optimisation

	* int/vmio.cc (loadFrames): typofix (tmp <-> tm)

	* tools/c2export.cc: handle non-arrays given as "-A" [#219]
	Correctly deal with user preferences (checkinits error).

	* client/screens/basescreen.cc: renamed from client/scr-base.cc
	* client/screens/minescreen.cc: renamed from client/scr-mine.cc
	* client/screens/planetscreen.cc: renamed from client/scr-planet.cc
	* client/screens/shipscreen.cc: renamed from client/scr-ship.cc
	* client/screens/ufoscreen.cc: renamed from client/scr-ufo.cc

	* client/cm-standard.cc, client/cm-marker.cc: moved to
	client/chart/ into separate files

2013-11-09  Stefan Reuther  <Streu@gmx.de>

	* client/screens.cc (postGoToObject): new method

	* client/dialogs/searchdlg.cc (doSearch): instead of returning a
	WScreenId, directly drive the IntUserInterfaceBinding

	* client/dialogbinding.cc (triggerScripts): new method, to allow
	triggering script execution "just-in-case"

2013-11-07  Stefan Reuther  <Streu@gmx.de>

	* reshack/fontdlg.cc: add MES-1/2/3a for charset repertoire evaluation

	* client/dialogs/searchdlg.cc: allow selection manager from search
	[#87]

2013-11-06  Stefan Reuther  <Streu@gmx.de>

	* client/dlg-comment.cc: removed; no longer needed

2013-11-05  Stefan Reuther  <Streu@gmx.de>

	* int/optimize.cc (doThreadJumps): handle conditional-jump-to-
	conditional-jump case

	* int/fusion.cc: fixed instruction fusion; the overwrite check
	wasn't always returning the right value

2013-11-04  Stefan Reuther  <Streu@gmx.de>

	* client/cm-distance.cc: renamed to client/chart/distancemode.cc
	* client/cm-message.cc: renamed to client/chart/messagemode.cc
	* client/cm-select.cc: renamed to client/chart/selectmode.cc

2013-11-03  Stefan Reuther  <Streu@gmx.de>

	* client/chart/prefixmode.cc: renamed from client/cm-prefix.cc

	* client/chart/keymapmode.cc: handle user keymaps in starchart

	* client/dialogs/consoledlg.cc: use IntUserInterfaceDialogBinding

	* int/intglobal.h (global_contexts): removed. Script context is
	now provided by IntUserInterfaceBinding. All users changed.

	* game/pvcr.cc (fighterIntercept): fix handling of different
	MaxFightersLaunched per side. Minor tweaks.

	* int/keywords.h (enumKeywords), client/dialogs/consoledlg.cc:
	complete keywords

2013-11-02  Stefan Reuther  <Streu@gmx.de>

	* client/dialogs/keymapdlg.cc: handle USEKEYMAP

	* int/statement.cc (compileUseKeymap): USEKEYMAP now implemented
	here, so it can also be compiled in non-GUI versions

2013-11-01  Stefan Reuther  <Streu@gmx.de>

	* client/keymaphandler.cc, int/if/guiif.cc: initial implementation
	of USEKEYMAP

	* client/dialogs/consoledlg.cc, int/special.cc: complete special
	commands

	* int/statement.cc (compile): implicit check-end-of-line for all
	special commands

2013-10-31  Stefan Reuther  <Streu@gmx.de>

	* client/playerscr.cc, client/cscreen.cc: use
	IntUserInterfaceDialogBinding

2013-10-28  Stefan Reuther  <Streu@gmx.de>

	* client/dialogs/goaldialog.cc: "Help" does no longer close the
	dialog

	* int/if/userif.cc: reworked to use events, not function calls,
	for better extensibility and reliability. All users changed.

2013-10-20  Stefan Reuther  <Streu@gmx.de>

	* int/opcode.h, int/exec.cc, int/fusion.cc: add maInplaceUnary

2013-10-12  Stefan Reuther  <Streu@gmx.de>

	* game/tvcr.cc, client/lrupredef.cc: fix gcc-4.7 compatibility

	* game/obj.h: clean up

2013-10-01  Stefan Reuther  <Streu@gmx.de>

	* int/exec.cc, int/opcode.h: added miSpecialBind instruction

2013-09-29  Stefan Reuther  <Streu@gmx.de>

	* int/array.cc (computeIndex): fixed computation of indexes.

	* int/statement.cc, int/array.cc: add REDIM statement

	* int/opcode.h, int/exec.cc, int/fusion.cc: add maFusedComparison2

2013-09-28  Stefan Reuther  <Streu@gmx.de>

	* int/exec.cc (handleEvalStatement, handleEvalExpression): optimize

	* int/fusion.cc: implemented initial version of instruction fusion
	optimisation

	* int/compound.h (IntCallableValue), int/subr.cc
	(IntSubroutineValue): reworked so that it can be used for builtin
	and subroutine calls

	* int/exec.cc: reworked parameter passing for miSpecialRunHook,
	maIndirect

2013-09-25  Stefan Reuther  <Streu@gmx.de>

	* int/exec.cc (executeInstruction): properly update stack if the
	hook does not exist or is EMPTY [#217]

2013-09-22  Stefan Reuther  <Streu@gmx.de>

	* int/compound.h (IntCallableValue): new methods, getDimension()
	and makeFirstContext(). All descendants updated. Builtins DIM and
	ISARRAY now also work for builtin arrays such as PLANET or
	ENGINE(x).FUELFACTOR.

2013-09-21  Stefan Reuther  <Streu@gmx.de>

	-------------------- release_1_99_21

2013-09-16  Stefan Reuther  <Streu@gmx.de>

	* game/planetform2.cc: new. Separated from planetform.cc to reduce
	link dependencies. Reduces size of playvcr binary by ~500k.

	* client/playvcr.cc: fixed module initialisation dependencies

2013-09-15  Stefan Reuther  <Streu@gmx.de>

	* ui/msgbox.cc: fix width configuration so word wrap works again;
	broken since 2013-08-25

	* ui/uiglobal.h: added another font

	* resource/core.q: implemented CargoTransferWait, CargoUploadWait

2013-09-13  Stefan Reuther  <Streu@gmx.de>

	* specs/mission.cc: merged PCC 1.1.17 changes (short names)

2013-09-12  Stefan Reuther  <Streu@gmx.de>

	* resource/font8.fnt, resource/font4.fnt: added thin and bold
	version of fixed width font

	* resource/core.q (FixShipWait, RecycleShipWait): new

2013-09-11  Stefan Reuther  <Streu@gmx.de>

	* int/if/guiif.cc: implemented UI.FileWindow

2013-09-09  Stefan Reuther  <Streu@gmx.de>

	* util/xmlread.cc (setWhitespaceMode): made it possible to parse
	things like <pre><a>...</a> <b>...</b></pre>. The innermost space
	was lost until now.

2013-09-08  Stefan Reuther  <Streu@gmx.de>

	* int/if/guiif.cc (IFUIInputFCode): implemented UI.InputFCode

	* int/if/planetif.cc: implemented Planet().Score()
	add Type, Type.Short for symmetry with ships.

	* int/if/shipif.cc: implemented Ship().Score(), Ship().HasFunction()

	* doc/interpreter_manual.txt: added interpreter manual

2013-09-04  Stefan Reuther  <Streu@gmx.de>

	* int/if/ufoif.cc (setUfoProperty): implement assignable Ufo properties

2013-09-01  Stefan Reuther  <Streu@gmx.de>

	* client/scr-ship.cc: add "Scanner.TieWaypoint" option

2013-08-31  Stefan Reuther  <Streu@gmx.de>

	* resource/pcc2help.xsl, scripts/manual.sh: integrated initial
	version of script manual into help system

2013-08-30  Stefan Reuther  <Streu@gmx.de>

	* int/if/globalif.cc (getGlobalProperty): SYSTEM.REMOTE and
	SYSTEM.LOCAL should return strings, not integers, for consistency
	with PCC 1.x [#214]

2013-08-27  Stefan Reuther  <Streu@gmx.de>

	* ui/richhelp.cc: added <ul class="compact">

	* scripts/doc.pl: started a scripting manual

2013-08-26  Stefan Reuther  <Streu@gmx.de>

	* int/if/richif.cc: add RXml

	* ui/richparser.cc: factored out of richhelp.cc

2013-08-25  Stefan Reuther  <Streu@gmx.de>

	* ui/widgets/richstatic.cc (UIRichStatic): new widget

	* ui/msgbox.cc: convert from string to RichText

	* int/if/richif.cc: new functions

2013-08-09  Stefan Reuther  <Streu@gmx.de>

	* int/statement.cc (compileAmbiguousRuntimeSwitch): protect the
	initial type test using catch. It failed execution if the
	statement starts with a builtin function which the 'pushvar' does
	not find in the symbol table. [#213]

2013-07-21  Stefan Reuther  <Streu@gmx.de>

	* ui/listbox.cc (drawContent): do not draw scrollbar when it
	has too little room allocated. Required for opening menus.

	* client/dialogs/imperial.cc: add more sort orders [ComCitCat,
	#186]

	* client/dialogs/baseshipbuild.cc: add warning when changing a
	build order [ComCitCat, #184]

	* game/planettransfer.cc, game/shiptransfer.cc: first cancel the
	reservations, then do decUseCount. Fixes a crash [#209]

	* client/dialogs/multitransfer.cc (distribute): improve
	computation of amounts in distribute-equal mode to not spent
	roundoff errors too early [Klemens Reuther, #179]

	* client/dlg-visual.cc: Tab is the same as 'l' in visual scan
	[Klemens Reuther, #177]

	* specs/msgparse.ini: generate "Owner" field for own mine scans
	[ComCitCat, #198]

	* game/sim-run.cc (simulateHost): ships that initiate intercept
	attack fight from the right in Host/NuHost [emork, #208]

2013-03-29  Stefan Reuther  <Streu@gmx.de>

	* client/widgets/msgdisplay.cc: rewritten to use a RichDocument,
	and made coordinates clickable [#90]

2013-03-27  Stefan Reuther  <Streu@gmx.de>

	* ui/listbox.cc (doStandardMenu): use a scrollbar if the menu is
	too large [#160]

	* game/prefio.cc: use UTF-8 for pcc2.ini [#170]

	* util/conf-file.cc: add encoding awareness

2013-03-26  Stefan Reuther  <Streu@gmx.de>

	* client/lrupredef.cc (ListFileParser): use UTF-8 [#170]

2013-03-24  Stefan Reuther  <Streu@gmx.de>

	-------------------- release_20130324_beta20

2013-03-17  Stefan Reuther  <Streu@gmx.de>

	* game/undo.cc (computeInformation): count to NUM_TORPS,
	NUM_BEAMS, not just NUM_ENGINES [#161]

2013-03-13  Stefan Reuther  <Streu@gmx.de>

	* client/search.cc (searchPlanets): refinement to change from
	2013-03-11: MatchAny only finds planets that have any data. It now
	matches PCC 1.x.

	* game/fleet.cc: when a ship enters/leaves a fleet, synchronize
	its towee to maintain the fleet invariant of a towee having
	waypoint zero [#97]

2013-03-12  Stefan Reuther  <Streu@gmx.de>

	* game/shippredict.cc (GShipTurnPredictor): moved out of ship-form.cc
	(computeTurn): updated: added support for direct refinery (alchemy
	function combinations), HardenedEngines, HardenedCloak. No longer
	reset mission when fuel runs out for better predictions [#89 part a]

2013-03-11  Stefan Reuther  <Streu@gmx.de>

	* client/tiles/shipmovement.cc (drawShipMovementTile): if ship has
	no fuel and zero-fuel movement is off, make its fuel usage red
	[#89 part b]

	* client/search.cc (searchPlanets): do not require planets to have
	any data for them to be searchable, allow searching any planet by
	its Id [#92]

	* int/if/shipif.cc (IntShipContext): use ty_history_ships for
	indexing, not ty_any_ships [#140]

2013-03-10  Stefan Reuther  <Streu@gmx.de>

	* client/lrupredef.cc: implement persistent storage of LRU lists

2013-03-03  Stefan Reuther  <Streu@gmx.de>

	* game/storage/overview.cc: GDirectoryOverview moved here

	* tools/c2export.cc (main): fixed typo causing invocation without
	directory name not to work

	* game/global.cc: moved loadPlanetXY, loadPlanetNames,
	loadStormNames into game/load.cc

2013-02-26  Stefan Reuther  <Streu@gmx.de>

	* game/actions/basefix.cc: reworked and simplified so rule checks
	are written down only once

2013-02-21  Stefan Reuther  <Streu@gmx.de>

	* game/msgtemplate.cc (prepareValue): handle signed numbers. Added
	testsuite.

2013-02-17  Stefan Reuther  <Streu@gmx.de>

	* game/checksum.h: load/saveControl, load/saveFizz now take a
	directory name and do not depend on global setting

	* game/selio.cc: "SelectionSave" and "SelectionLoad" now give an
	exception instead of a crash

	* game/sel.cc: "SelectionExec" and "Selection.Layer := x" now give
	an exception instead of a crash
	(limitToExistingObjects): treat history ships as existing, like 1.x

2013-02-16  Stefan Reuther  <Streu@gmx.de>

	* game/prefio.cc: use exceptions for proper error handling

	* game/bum.cc: when cancelling Beam Up Multiple, use the mission
	from the beginning of the turn

2013-02-13  Stefan Reuther  <Streu@gmx.de>

	* game/actions/preconditions.h: usual preconditions for actions
	moved here

2013-02-10  Stefan Reuther  <Streu@gmx.de>

	* game/univ.cc: allow setting the playability to something other than
	Playable

	* client/tiles/shipequipment.cc, int/if/shipif.cc: use getAmmoRaw,
	not getAmmo, to be consistent with getCargoRaw

	* game/mission.cc (loadFromIniFile): fixed parsing of mission.ini
	("I:") and ("T:") annotations

	* game/actions/cargocost.cc: do not undo reservations on cancel;
	leave that to the cargo container

	* game/planet.cc, game/ship.cc: fixed conditions for access to ammo
	(it is known to have 0 - not unknown - if it has a different type)

2013-02-09  Stefan Reuther  <Streu@gmx.de>

	* game/cargo.cc: simplified addCargo/removeCargo/addOrRemoveCargo
	into single changeCargo method

	* game/shiptransfer.cc: moved cargo transfer classes here from
	ship.h / ship-xfer.cc; similar to planets

	* game/transact.cc: simplified

2013-02-08  Stefan Reuther  <Streu@gmx.de>

	* client/tiles/shipheader.cc: support unknown hulls

	* game/ship.cc: improved hull handling: replace database 0 by unknown,
	forget history when hull changes

2013-02-06  Stefan Reuther  <Streu@gmx.de>

	* game/ship.cc: restructured completely for clearer semantics

2013-02-03  Stefan Reuther  <Streu@gmx.de>

	* game/planet.cc (combinedCheck2): do not keep history starbase
	information if there isn't actually a base!

2013-01-30  Stefan Reuther  <Streu@gmx.de>

	* game/global.h (GGameTurn): remove init/done from public interface

2013-01-29  Stefan Reuther  <Streu@gmx.de>

	* game/sim-run.cc: implemented host-dependant handling of Fed Crew
	Bonus: HOST does it before the fight, PHost/NuHost do it after [#139]

2013-01-28  Stefan Reuther  <Streu@gmx.de>

	* game/obj.h: replaced is_played flag by four-valued playability
	flag, for future implementation of history/edit views

2013-01-27  Stefan Reuther  <Streu@gmx.de>

	* int/builtin.cc: fixed "First" and "Rest" functions to match PCC
	1.x behaviour [#134]

	* int/if/baseif.cc (performArrayReference), game/planet.cc
	(getCargoRaw): fixed implementation of ammo storage properties to
	work properly after planet.cc rewrite

	* client/dialogs/labeldlg.cc: add LRU/predefined lists

	* resource/core.q: add a function "ShipNameAndId"

	* specs/mission.cc: use "ShipNameAndId" for mission names [#99]

	* client/tiles/baseorder.cc, int/if/baseif.cc, game/planet.cc:
	implemented display of queue position

	* game/planet.cc: restructured completely for clearer semantics

2013-01-26  Stefan Reuther  <Streu@gmx.de>

	* client/widgets/objlist.cc: show DetailedName which includes the
	comment for planets and ships [#105]

	* game/obj.h (getName): changed to be able to report different
	formats; removed getFullName(). All callers adapted.

	* game/trn-cmd.cc: removed these functions; they are now
	implemented in game/load-trn.cc and game/save-trn.cc,
	respectively, reducing dependance on GShip/GPlanet's innards

	* game/coord.cc (isValidPlanetCoordinate): moved here from GPlanet

2013-01-20  Stefan Reuther  <Streu@gmx.de>

	* game/mine.cc: completely revised minefield creation/loading.
	Make use of "if there's a KORE file, it has ALL our minefields" to
	delete obsolete own minefields. [#104]

2013-01-19  Stefan Reuther  <Streu@gmx.de>

	* game/fleet.cc: correct remapping when fleet leader is gone [#83]
	initialize "count" field in Host999 fleet.cc files

	* int/if/iterif.cc: remove references to current_anyship_selection,
	current_anyplanet_selection. They were only used here. [#16]

2013-01-05  Stefan Reuther  <Streu@gmx.de>

	* ui/event.cc: attempt to filter out mouse jumps after switching
	into infinite-movement mode; happens under Windows [#107]

2012-12-31  Stefan Reuther  <Streu@gmx.de>

	* int/if/: removed more global references

2012-12-29  Stefan Reuther  <Streu@gmx.de>

	* int/if/objcontext.cc (IntObjectContext): new class. Used for
	implementing Ship, Planet, Ion, Mine.

	* game/mission.cc (worksOn): fixed fleet member condition

	* refactored GObjectType infrastructure: GObjectType split into
	GObjectType + GObjectSelection, GMinefieldContainer / GUfoContainer
	merged into GMinefieldType / GUfoType, types moved into GUniverse.

2012-12-24  Stefan Reuther  <Streu@gmx.de>

	* int/if/drawingif.cc: initial implementation of script interface
	to drawings

	* game/drawing.cc: converted to use ptr_multi_list instead of
	std::list.

2012-12-22  Stefan Reuther  <Streu@gmx.de>

	* game/mission.cc: implemented more mission conditions

	* game/ship.cc: implemented SRace mission remapping

	* game/mission.cc (isWarning), client/tiles/shipmission.cc
	(drawData): implemented mission warning ("w=")

	* client/tiles/shipmovement.cc (drawShipMovementTile): warn when
	trying to intercept with speed 0

	* client/tiles/shiptaskcmd.cc (createWaypointCommand): when
	creating the first waypoint command in an auto task, start at the
	current waypoint.

2012-12-19  Stefan Reuther  <Streu@gmx.de>

	* game/spec.cc (GHull): implemented distinction between internal
	and external picture number; removed dependency on spec file format

	* int/if/specif.cc (setComponentProperty): implemented assignable
	NAME and NAME.SHORT properties

	* game/spec.cc: refactored to remove virtual functions and most
	dependencies on classic file formats; data is now stored directly
	in the objects.

	* client/vcrvis.cc (init): call setCapabilities. Until 2012-06-16
	this got unnoticed, but broke PHost4 combat. Released as beta19a.

2012-12-17  Stefan Reuther  <Streu@gmx.de>

	-------------------- release_20121217_beta19

2012-12-16  Stefan Reuther  <Streu@gmx.de>

	* client/playerscr.cc, resource/core.q: options are now Ctrl-O,
	like in simulator

	* client/dialogs/prefdlg.cc: when setting an option, make sure it
	goes into a config file

	* int/subr.cc: moved IntSubroutineValue here from int/compound.cc,
	to reduce dependencies (PlanetsCentral servers get 300k smaller
	by this)

2012-11-19  Stefan Reuther  <Streu@gmx.de>

	* P9/04_testsuite.pr (HEADERS_testsuite): new variable, to allow
	plug-ins to hook into test suite

2012-09-27  Stefan Reuther  <Streu@gmx.de>

	* game/sim-game.cc (copyPlanet): make sure that BaseTorpTech is at
	least 1. Simulator crashes otherwise when trying to manipulate a
	planet with BaseTorpTech 0. [Klemens Reuther]

2012-09-16  Stefan Reuther  <Streu@gmx.de>

	* tools/c2export.cc: implemented '-F' option

	* game/tvcr.cc (initVcr): in NuHost, Lizard planets fight up to
	100% damage only

2012-09-15  Stefan Reuther  <Streu@gmx.de>

	* client/scr-sim.cc (addShip): enable new ship even when Ins was
	pressed on a disabled ship.

	* ui/widgets/filechoose.cc (handleUserInput): when user just
	presses Enter, keep the current wildcard. It was reset to a null
	wildcard instead by accident.

2012-09-08  Stefan Reuther  <Streu@gmx.de>

	* client/dialogs/consoledlg.cc, client/widgets/propertylist.cc:
	implemented display of user-defined properties (Alt-V)

2012-08-31  Stefan Reuther  <Streu@gmx.de>

	* client/cm-standard.cc (handleEvent): added missing 'break'

2012-08-17  Stefan Reuther  <Streu@gmx.de>

	* client/widgets/dirchoose.cc: add folder icons

	* reshack/picedit.cc: allow size change, add/remove aux lines for
	picture editor

	* reshack/painter.cc (blitIndexed): preserve color indexes when
	pasting, undoing, etc.

2012-08-16  Stefan Reuther  <Streu@gmx.de>

	* client/widgets/dirchoose.cc: handle I/O problems more elegant.
	If a directory cannot be read, say why. Do not "crash" when an
	option such as "-dir /non/existant" is used, or when a directory
	is removed while being offered in the menu; instead, recover by
	moving up in the tree and show a message box.
	[problem pointed out by FireAge, 20120729]

2012-08-13  Stefan Reuther  <Streu@gmx.de>

	* int/value.cc (IntIntValue): separated into IntIntIntValue and
	IntIntBoolValue, removed is_bool flag. Reduces memory consumption
	for integers, and increases speed a little.

	* int/statement.cc: implemented "AS type" initialisation

	* int/lex.cc, int/parseexpr.cc: added "a->b" as alternative syntax
	for member reference

	* int/statement.cc: optimize struct constructors, hooks; debug
	information for struct constructors

	* int/structure.cc: implemented user-defined structures

2012-08-12  Stefan Reuther  <Streu@gmx.de>

	* client/dialogs/prefdlg.cc: more options

	* client/screens/unpackscreen.cc: added unpack options

2012-08-11  Stefan Reuther  <Streu@gmx.de>

	* client/dialogs/prefdlg.cc: implemented "Options" page

	* ui/widgets/inputline.cc: implemented proper handling of st_Disabled

2012-08-10  Stefan Reuther  <Streu@gmx.de>

	* client/dialogs/prefdlg.cc, client/widgets/configedit.cc: initial
	version of preferences dialog

	* version.h: bumped version to 1.99.19

	* game/load-rst.cc, client/main.cc: implemented result backup,
	util backup

2012-08-09  Stefan Reuther  <Streu@gmx.de>

	* client/screens/unpackscreen.cc: implemented result backup

	* client/main.cc: implemented script and chart DB backups

	* game/save-trn.cc (saveTurns), game/maketurn.cc (writeTurns):
	implemented backups

	* game/backup.cc: backup file creation

	* game/coord.cc (computeDerivedInformation): improved logic for
	storing chart geometry options, to avoid creating pcc2.ini files
	for users merely looking at directories (e.g. in Sweep)

	* arch/unix/file.cc (init): correctly handle opening a file for
	creation and reading if requested (creat uses O_WRONLY)

	* client/widgets/setselect.cc (drawPart): minor display improvement

	* io/streams.cc (copyFrom): new methods

	* game/unpack.cc: added ProgressMonitor

2012-08-07  Stefan Reuther  <Streu@gmx.de>

	* client/screens/sweepscreen.cc, client/screens/unpackscreen.cc:
	use UIRichDocument instead of UIMultilineStatic for help message

	* ui/richhelp.cc (parseRichText): new function
	(RichParserBase): moved rich text parser core here
	(parseTextItem): correctly skip unknown tags (was entering infinite loop)

	* util/xmlread.cc: correctly handle "<br/>" (no space after tag name)

2012-08-06  Stefan Reuther  <Streu@gmx.de>

	* client/wscanchart.cc (doItemLock): implemented Chart.Scanner.WarpWells option

2012-07-30  Stefan Reuther  <Streu@gmx.de>

	* flak/dlg-select.cc, client/playerscr.cc: minor improvements to FLAK selector

	* client/chartloc.cc (updateLocation): if selected object is still
	here after movement, keep it selected

	* client/cm-standard.cc: implemented 'x'

2012-07-29  Stefan Reuther  <Streu@gmx.de>

	* game/coord.cc: implemented persistent storage of chart config

	* client/cm-select.cc: implemented circular wrap

	* client/chart.cc: implemented map drawing for circular wrap

	* game/coord.h: implemented initial circular wrap support
	(untested, incomplete). All users adapted accordingly.

2012-07-22  Stefan Reuther  <Streu@gmx.de>

	* util/conf.h: made ConfigOption uncopyable. This worked only by
	accident and was now generating crashes.

	* client/widgets/configstorage.cc: added configuration storage selection

	* client/scr-sim.cc (loadFile): fix crash when loading a file that
	has fewer ships than the current simulation

	* gfx/font.cc (outTextF): typofix causing vertical alignment to draw wrong

2012-07-21  Stefan Reuther  <Streu@gmx.de>

	* game/prefio.cc: added support for per-game configuration file

	* client/dialogs/chartconfig.cc: added Mouse page

	* reshack/palette.cc: added palette editor

	* reshack/tools.cc: add "pipette" tool

	* client/cm-standard.cc (createCannedMarker), client/wscanchart.cc (handleKey):
	added create-canned-marker function

2012-07-19  Stefan Reuther  <Streu@gmx.de>

	* ui/widgets/filechoose.cc (drawContent): added file type icons

	* client/chart.h (GChartOptionIndex): new interface to access options

	* client/dialogs/chartconfig.cc: initial version, incomplete

2012-07-13  Stefan Reuther  <Streu@gmx.de>

	* ui/widgets/tree.cc (drawItem): new methods, for more complicated
	tree-lists

2012-07-12  Stefan Reuther  <Streu@gmx.de>

	* client/widgets/configview.cc: added configuration viewer widget

	* game/config.h (ConfigStdOption, ConfigCostOption): shorten equal
	per-race values to single value

	* gfx/gfxutil.cc (consumeX, skipX): new signatures used for making
	table grids

	* gfx/font.cc (outTextF): new signature taking a GfxRect

2012-07-07  Stefan Reuther  <Streu@gmx.de>

	* tests/pvcr-exp/: added test-case for experience

	* tests/testvcr.cc (main): fixed initialisation sequence (first
	capabilities, then checkVcr)

	* game/vcrobj.cc (unpack): unpack experience level

	* game/pvcr.cc: removed CONFIG1, CONFIG1EX macros in favor of
	proper function calls
	(hitT): implemented hit templatized on AlternativeCombat setting,
	and reworked hit logic.

2012-07-06  Stefan Reuther  <Streu@gmx.de>

	* arch/win32-bcc55/dirs.cc: show "My Files" and "Desktop" in
	roots lists

2012-07-02  Stefan Reuther  <Streu@gmx.de>

	* flak/dlg-select.cc (drawContent): improved wording/layout

2012-07-01  Stefan Reuther  <Streu@gmx.de>

	* int/if/vcrif.cc: added FLAK support and new properties

2012-06-30  Stefan Reuther  <Streu@gmx.de>

	* game/load.cc (maybeLoadFlakVcrs), client/playerscr.cc
	(playVcrs): added FLAK support to PCC2 client

	* flak/flak.cc (loadFromStream): improved I/O error reporting

	* flak/dlg-select.cc: use WVcrInfoHeader/WVcrInfoMain to dispay
	information about FLAK participants; this gives us [Ins] to add
	them to a simulation.

	* client/widgets/vcrhulllist.cc, client/widgets/vcrinfohead.cc,
	client/widgets/vcrinfomain.cc: modified to work on GVcrEntry, not
	GVcrDatabase/GClassicVcrDatabase, to make them more FLAK-friendly.
	All other users changed.

2012-06-27  Stefan Reuther  <Streu@gmx.de>

	* client/widgets/combatdiagram.cc: implemented chart drawing and
	tooltip for multi-ship combat

2012-06-25  Stefan Reuther  <Streu@gmx.de>

	* client/widgets/combatdiagram.cc (getLayoutInfo): add workaround
	for large/many battles where layout fails to generate an optimum
	layout

	* client/dialogs/combatdlg.cc: generalized to for GVcrDatabase

2012-06-24  Stefan Reuther  <Streu@gmx.de>

	* client/widgets/combatdiagram.cc (WCombatDiagram): generalized to
	GVcrDatabase.

	* flak/flak-db.cc: use ptr_vector. add comments.

2012-06-23  Stefan Reuther  <Streu@gmx.de>

	* flak/flak-db.cc: implemented GVcrDatabase

2012-06-21  Stefan Reuther  <Streu@gmx.de>

	* flak/pdk-play.cc: do not use GFlakVcrDatabase because that now
	depends on game/ and io/ which are not available in a PDK program

2012-06-17  Stefan Reuther  <Streu@gmx.de>

	* game/vcrobj.cc (canBeHull, getGuessedHull): moved here

	* client/widgets/vcrinfohead.cc, client/widgets/vcrinfomain.cc:
	use new interface

	* specs/msgparse.ini: parse single-column ptscore format

	* client/widgets/combatdiagram.cc: implement in terms of new interface

	* game/vcrdb.h: refined interface to add outcome query

	* client/scr-sim.cc (chooseMode): new function; ask for mode using
	a dialog

	* client/dialogs/combatdlg.cc (onScore): show "-", not "0-0", if
	no build points earned

2012-06-16  Stefan Reuther  <Streu@gmx.de>

	* game/classicvcr.cc (GClassicVcrDatabase): completely implemented
	new GVcrDatabase interface. The VCR type is now stored in the
	GClassicVcrEntry, not in the GClassicVcrDatabase. All callers changed.

	* game/vcr.h, defs.h: removed CONF_STATIC_VCR and VCR_STATIC.
	VcrPlayer is now always a regular object and thus reentrant and
	thread-safe. Due to last optimisations, it's still faster than the
	beta-18 release.

	* game/tvcr.cc: applied last week's PVCR optimisations here as well.

2012-06-15  Stefan Reuther  <Streu@gmx.de>

	* game/pvcr.cc: store all information related to one unit
	in the Status structure; yields about +20%

2012-06-14  Stefan Reuther  <Streu@gmx.de>

	* game/classicvcr.cc: classic VCR database/entry moved here.
	GVcrDatabase now no longer has any reference to classic (1:1)
	VCRs. Code still needs to be cleaned up to make use of it.

2012-06-13  Stefan Reuther  <Streu@gmx.de>

	* game/vcrobj.cc: GVcrObject moved here

2012-06-12  Stefan Reuther  <Streu@gmx.de>

	* game/pvcr.cc: minor optimisations to use new VCR structures.
	[!PVCR_INTEGER]: compiles again

	* game/tvcr.cc: ditto

2012-06-11  Stefan Reuther  <Streu@gmx.de>

	* game/vcr.h (GVcrObject, GClassicVcr): new classes to replace
	TVcr by a more regular data structure

2012-06-09  Stefan Reuther  <Streu@gmx.de>

	-------------------- release_20120609_beta18

2012-06-07  Stefan Reuther  <Streu@gmx.de>

	* client/screens/shiptaskscreen.cc (insertWaypointCommand):
	optimize warp for auto waypoints

	* game/pvcr.cc: store seed<<16; ~10% speed improvement for AC

	* resmgr/res-cc1.cc: add support for cc256

2012-06-06  Stefan Reuther  <Streu@gmx.de>

	* int/autotask.cc, ui/richdocument.h: portability fixes
	[Eric Mounce, 20120414]

	* client/dialogs/multitransfer.cc (init): add prefix argument

2012-06-05  Stefan Reuther  <Streu@gmx.de>

	* game/tvcr.cc: track num_fighters_out; +15% speed

	* int/export/expjson.cc: added JSON format

	* client/actions/gaexport.cc: fixed off-by-one error in object
	filter. How did this ever work?

2012-06-04  Stefan Reuther  <Streu@gmx.de>

	* client/main.cc (loadGame): ExploreMap support

2012-05-10  Stefan Reuther  <Streu@gmx.de>

	* client/tiles/shipmovement.cc, client/dlg-mission.cc,
	client/scr-result.cc, client/scr-score.cc: code size reduction

2012-05-08  Stefan Reuther  <Streu@gmx.de>

	* arch/win32/file.cc: allow sharing when opening a file for reading.
	This allows multiple instances to use the same .res file.

2012-04-30  Stefan Reuther  <Streu@gmx.de>

	* int/keymap.cc: allow binding NUM+,-,*,/ available on some systems

	* int/simple.cc (runHook): report errors caused by a hook

	* ui/event.cc (convertEvent): implicitly include .button in a
	button-press event even if it is not reported by
	SDL_GetMouseState(). Should improve touchpad-friendliness.

	* client/dialogs/msgreceiver.cc (chooseNewMessageReceiver):
	confirming an empty selection selects current player instead of
	canceling [Klemens Reuther]

2012-04-27  Stefan Reuther  <Streu@gmx.de>

	* client/tiles/planetmining.cc (drawData): fixed graphics glitch
	when updating turns-till-mined-out

2012-04-08  Stefan Reuther  <Streu@gmx.de>

	* util/conf.cc (isAllTheSame): new function

	* client/dlg-structure.cc (drawContent): show shield/hull damage
	from fighters

2012-03-05  Stefan Reuther  <Streu@gmx.de>

	* game/sim-game.cc (copyPlanet): handle partial data. Also fixes
	crash when a planet with pdata record has partial data only
	(happens with Nu, but could also happen elsewhere).

2012-02-05  Stefan Reuther  <Streu@gmx.de>

	* client/dialogs/combatdlg.cc: added combat score summary

	* game/vcrdb.cc: PBP/EP gain computation moved here

	* ui/richdocument.cc (addCentered): fixed crash when addCentered()
	was the first item added to a document

2012-02-04  Stefan Reuther  <Streu@gmx.de>

	* client/vcrplay.cc: show PBP/EP gain

	* game/vcr.h, game/vcrdb.h: make interface more robust

	* game/tvcr.cc (getStatusToken): removed Ptr<> following change
	from 2012-01-21; was crashing otherwise

2012-01-30  Stefan Reuther  <Streu@gmx.de>

	* int/dvload.cc, int/vmioinst.cc: new modules, to separate
	loading/saving from internal data management. This reduces
	executable sizes for programs that don't use data I/O or execute
	scripts.

2012-01-28  Stefan Reuther  <Streu@gmx.de>

	* ui/listbox.cc (doStandardMenu): handle large menus

	* client/dialogs/searchdlg.cc, client/lru.cc: implemented
	LRU/predefined lists

2012-01-23  Stefan Reuther  <Streu@gmx.de>

	* game/pvcr.cc: some more optimisations

2012-01-22  Stefan Reuther  <Streu@gmx.de>

	* game/pvcr.cc: small speed improvement (5-10%)

2012-01-21  Stefan Reuther  <Streu@gmx.de>

	* client/vcrvis.cc, game/vcr.cc: removed some instances of Ptr<>

	-------------------- release_20120121_beta17

2012-01-18  Stefan Reuther  <Streu@gmx.de>

	* client/dlg-visual.cc, game/objl-sort.cc: implemented sorting by
	tow group, fleet

	* defs.h: remove old, long unused definitions. Include it in some
	files that need it, remove it from files that don't need it.

2012-01-14  Stefan Reuther  <Streu@gmx.de>

	* reshack/w32import.cc (importWin32Font): fixed possible crash on
	Win9x, removed debug cruft

	* client/scr-sim.cc: color-code ships

	* ui/skin.cc: changed color for green-on-light-gray to be better
	readable

	* game/ship.h, game/planet.h, game/fleet.h: removed
	GFooType::getFoo methods. Users now use dynamic_cast of
	getCurrentObject(), to support types getting empty inbetween

2012-01-11  Stefan Reuther  <Streu@gmx.de>

	* game/objtypes.cc (getCurrentObject): new function; used in
	several possible users

	* client/dialogs/cargohist.cc (addLastKnownCargo): fixed crash
	when a ship's torp type was known but zero [Roman Perelshtein]

2012-01-10  Stefan Reuther  <Streu@gmx.de>

	* game/actions/basefix.cc (enumerateShipsFor): use
	global_anyship_type, not global_ship_type, so that foreign ships
	are actually selectable in the produced list [Roman Perelshtein]

2012-01-09  Stefan Reuther  <Streu@gmx.de>

	* int/if/guiif.cc (IFCCTowFleetMember): warn when no possible tow
	targets exist

2012-01-08  Stefan Reuther  <Streu@gmx.de>

	* ui/richhelp.cc (parsePre): implemented <pre>

	* client/wscanchart.cc, client/cm-standard.cc, client/chart.cc:
	chart options can now also be set for chart widgets (waypoint,
	scanner), not just main chart

2012-01-07  Stefan Reuther  <Streu@gmx.de>

	* client/scr-ship.cc (doShipBaseMenu): q&d workaround to update
	ship when setting a shipyard order

	* game/fleet.cc (buildFleet): fixed handling of destroyed fleets

	* game/planet.cc (MapInfo): fixed initialisation for maps

	* game/mission.cc, client/tiles/shipmission.cc,
	client/tiles/fleetwaypoint.cc, client/tiles/fleetoverview.cc,
	client/actions/gamission.cc, client/scr-env.cc: correct usage of
	raceMissionId instead of raceId

	* ui/richdocument.cc: optimisation

	* client/dialogs/helpdlg.cc (loadPage): added simple support for
	multiple help files

	* ui/richhelp.cc: added support for <table>

2012-01-02  Stefan Reuther  <Streu@gmx.de>

	* util/nls.cc: some simplifications and improvements for short
	names implementation

	* game/specsn.cc: implemented short names

	* int/if/guiif.cc (CC$TowFleetMember): new command

2012-01-01  Stefan Reuther  <Streu@gmx.de>

	* many files: fixed return value handling of I/O functions

	* arch/unix/file.cc (getSize): implement using fstat, not lseek

	* io/streams.h (Stream::seek): report errors by throwing, not
	return value; nobody was checking it anyway

	* io/io.h, gfx/pixmap.h: removed io/streams dependency from headers

	* game/spec.cc (beam_spec, torp_spec, eng_spec): no longer public,
	converted to ptr_vector

	* game/objtypes.h (findNearest): new; replaces individual
	implementations in other modules

2011-12-31  Stefan Reuther  <Streu@gmx.de>

	* tools/c2mgrep.cc: fixed uninitialized variable

	* client/scr-ship.cc (doShipFleetMenu): implemented F10 menu

	* int/statement.cc (compileAmbiguousStatement): compile ambiguous
	statements without using eval. This does not gain speed, but would
	be needed for a later implementation of "Option Lexical"

	* game/bum.cc, client/act-ship.cc, client/actions/gamission.cc:
	implemented fleet awareness

	* int/if/guiif.cc (CC$ChangeWaypoint): new command
	(CC$RemoteControl, CC$TransferUnload): new commands

	* game/fleet.cc (setFleetMission): implemented mission
	propagation, partially

2011-12-30  Stefan Reuther  <Streu@gmx.de>

	* client/tiles/fleetwaypoint.cc: fix anti-aliasing

	* client/dialogs/multitransfer.cc: implemented fleet mode

	* game/fleet.cc (setFleetSpeed, setFleetWaypoint): implemented
	waypoint setting with distribution to members; all users changed

	* int/if/guiif.cc (UI.ListFleets, CC$ChangeSpeed): new commands

	* client/widgets/fleetlist.cc: implemented fleet list dialog

2011-12-29  Stefan Reuther  <Streu@gmx.de>

	* client/tiles/fleetwaypoint.cc, client/screens/fleetscreen.cc:
	implemented fleet GUI

	* resource/core.q: implemented fleet operations

	* client/tiles/fleetmemtile.cc, client/tiles/fleetheader.cc,
	client/widgets/fleetmemlist.cc: implemented most of fleet GUI

	* client/chart.cc (drawShips): implemented drawing of fleets

	* game/fleet.cc, game/objtypes.cc, client/cscreen.cc: handle
	correctly that a fleet gets empty

2011-12-28  Stefan Reuther  <Streu@gmx.de>

	* game/fleet.cc, client/screens/fleetscreen.cc: initial fleet
	infrastructure

2011-12-27  Stefan Reuther  <Streu@gmx.de>

	* client/tiles/shipequipment.cc: show "fixed by base" (in PCC 1.1.17)

	* client/wtile.cc (drawContent): opaque drawing, to make
	anti-aliasing work

2011-12-26  Stefan Reuther  <Streu@gmx.de>

	* client/cscreen.cc: starchart double-click now generates a
	virtual keypress. Used to implement starchart double-click on ship
	screen.

	* int/data.cc, int/exec.cc, int/names.cc: inline functions.
	Reduced code size and sped up by ~5%.

	* resource/core.q: implemented C-w and C-z

	* int/lex.cc (read): within a "" string, \n is a newline
	(currently the only non 1:1 escape sequence)

2011-12-23  Stefan Reuther  <Streu@gmx.de>

	* client/dialogs/multitransfer.cc: implemented multi-unit cargo
	transfer

	* client/tiles/csheader.cc (getControlScreenFrameColor): try to
	filter out currently-running processes, which usually are active
	keybindings

2011-12-21  Stefan Reuther  <Streu@gmx.de>

	* game/cargotr.cc (GCargoTransfer): moved into separate module. It
	can now control any number of containers, and manages their
	lifetime; regular transfers no longer need GMultiTransaction. All
	users changed.

	* int/if/iterif.cc, int/if/playerif.cc: implemented serialisation

	* client/scr-mine.cc (handleEvent), int/if/mineif.cc
	(IFMinefieldDelete): implemented deletion of minefields

	* game/objtypes.cc: optimized and restructured a little

2011-12-20  Stefan Reuther  <Streu@gmx.de>

	* client/actions/gaexport.cc: implemented Export

	* io/textfile.cc (write): fix: allow output in a character set
	different from game character set

2011-12-18  Stefan Reuther  <Streu@gmx.de>

	* client/globalact.cc: implemented lock awareness

	* int/mutex.cc: implemented 'Lock'

2011-12-17  Stefan Reuther  <Streu@gmx.de>

	* game/objtypes.cc (GObjectType): getNextIndex/getPreviousIndex
	are now allowed to return nonexistant objects, which are filtered
	by getNextWrap etc. Users are only expected to call the latter
	methods. All affected users changed.

	* client/dialogs/msgreceiver.cc: message receiver selection now
	implemented in terms of WPlayerSetSelector; WReceiverSelector
	removed (client/dlg-receiver.cc).

2011-12-16  Stefan Reuther  <Streu@gmx.de>

	* configure.in: added zlib tests

	* game/msgtemplate.cc: handle match attempt outside message

	* arch/win32-mingw/acdefs.mak: added zlib

2011-12-11  Stefan Reuther  <Streu@gmx.de>

	* io/streams.cc: implemented proper error handling. read/write
	errors now generate exceptions, getCapabilities() returns correct
	value. In particular, script "Print" to a read-only stream now
	generates an error message and doesn't get the stream into an
	unusable state.

	* int/exec.cc (run): handle regular exceptions to avoid having
	these stop the interpreter in a state it cannot recover from
	(stopped process in "Running" state)

	* client/dialogs/consoledlg.cc (doComplete): made smarter; first
	word also completes commands

	* int/export/expsep.cc, int/export/exptext.cc (addValue): handle
	fields with embedded newlines sensibly (truncate)

	* int/export/expdbf.cc (startTable): added validation of field
	list, to avoid generating invalid files

	* int/context.h, int/propenum.h: IntPropertyEnumerator interface
	moved to IntContext; all contexts can enumerate properties.
	Responsibility for stem filtering moved to IntPropertyAcceptor.
	Implemented for all IntContext descendants and changed callers.

	* util/console.cc: added ability to filter severity

	* io/textfile.cc: added ability to write incomplete lines. Added
	ability to pass through newlines as-is.

	* int/export.cc, int/export/exp*.cc: added export functionality

	* tools/c2export.cc: new utility

2011-12-07  Stefan Reuther  <Streu@gmx.de>

	* int/if/ifutil.h: implement type hint. All users changed.

	* int/propenum.h: property enumerator takes a type hint (used to
	improve quality of completions; needed for export)

2011-12-06  Stefan Reuther  <Streu@gmx.de>

	* client/dialogs/consoledlg.cc: added tab completion for consoles
	called from ship/planet screen

2011-12-04  Stefan Reuther  <Streu@gmx.de>

	* tools/c2mgrep.cc: reworked option handling/passing. Added -I
	option. Do not warn for unidentified files within ZIP.

2011-12-03  Stefan Reuther  <Streu@gmx.de>

	* io/zipstream.cc: accept streams that end before reporting
	Z_STREAM_END (e.g. in t35-43.zip).

2011-11-29  Stefan Reuther  <Streu@gmx.de>

	* tools/c2mgrep.cc: implemented "-z" option to read ZIP

2011-11-28  Stefan Reuther  <Streu@gmx.de>

	* io/zip.cc, io/zipstream.cc: added decompression classes.

2011-11-27  Stefan Reuther  <Streu@gmx.de>

	* client/dialogs/baseshipbuild.cc: added clone awareness

	* client/dialogs/clonedlg.cc: implemented cloning

2011-11-25  Stefan Reuther  <Streu@gmx.de>

	-------------------- release_20111125_beta16

2011-11-20  Stefan Reuther  <Streu@gmx.de>

	* client/vcrplay.cc (onResize): handle size changes (caused by
	longer strings in translations)

	* int/context.cc (IntContext::lookup): pass name by reference,
	not by value. This removes allocation from lookup hot-path,
	giving a total speedup of 2.

	* doc/pcc2help.html: generate HTML help from actual help file,
	replacing manually-maintained pcc2-overview.html

2011-11-19  Stefan Reuther  <Streu@gmx.de>

	* ui/listbox.cc (getLayoutInfo): make sure minimum size is not
	more than preferred size; was giving small graphics error on
	Detailed Bill for 2-item bills.

	* int/names.cc (lookup): add hashing. pass strings by reference.
	Total speedup of 1/3.

	* game/sim-data.cc (isMatchingShipList): fix: custom ships always
	accepted

	* int/binary.cc (FPow): implement exact computations for int^int case

	* u/t_int.cc (checkFloatExpr): check for <=, not <, to work for
	big values, where the 0.01 fuzz turns into 0.00.

	* client/playvcr.cc (doStandaloneSimulator): remember default host
	mode for standalone simulator

2011-11-17  Stefan Reuther  <Streu@gmx.de>

	* client/dialogs/shipcostcalc.cc: added ship cost calculator

2011-11-16  Stefan Reuther  <Streu@gmx.de>

	* ui/iconbox.cc (adjustPosition): leave minimum gap when selecting
	right-most item. Enlarge gap for left-most item.

	* ui/event.cc (convertEvent): Windows reports AltGr characters
	as if there were Ctrl+RAlt pressed, so ignore those modifiers for
	these keys.

	* client/tiles/planetoverview.cc: replace ASCII-art arrow by real
	arrow. Fonts changed so that regular fonts don't have bold arrows.

	* client/dialogs/processmgr.cc: 'n' to go to notification screen

	* client/widgets/processlist.cc: show status of notification
	messages in process manager. Bugfix: scroll page. d'ooh.

	* client/cm-select.cc: implemented starchart "select range" mode

2011-11-15  Stefan Reuther  <Streu@gmx.de>

	* gfx/gfxutil.cc (clipSize): fixed typo causing clipping to fail
	when original rectangle is larger than screen

2011-11-14  Stefan Reuther  <Streu@gmx.de>

	* client/screens/taskscreen.cc: implemented save/load (C-s, C-r).

2011-11-13  Stefan Reuther  <Streu@gmx.de>

	* client/dialogs/processmgr.cc: place initial cursor on current object

	* client/tiles/csheader.cc: implemented auto task button frames

	* client/dialogs/shipbuilddlg.cc: when a pre-existing build order
	has less than maximum weapons, display that

	* client/screens/planettaskscreen.cc, client/screens/basetaskscreen.cc,
	int/if/basepred.cc: factored out common parts of planet and base task
	editing

	* client/tiles/planettaskcmd.cc: new

	* client/tiles/shiptaskcmd.cc: implemented CargoUnload/CargoUpload,
	same (limited) functionality as PCC 1.x. Implemented options.

	* client/dialogs/baseshipbuild.cc: when enqueuing a build order,
	cancel the previous one

	* client/tiles/basetaskcmd.cc: implemented predictions for base
	command GUIs. Implemented 'e'.

	* client/dialogs/basetaskbuild.cc: implemented GUI for EnqueueShip

2011-11-12  Stefan Reuther  <Streu@gmx.de>

	* gfx/gfxxor.cc (drawVLine): fixed typo in change from 2011-10-16
	causing graphics glitch on scanners

	* client/widgets/buildorderdisplay.cc (formatBuildOrder):
	separated functionality so it can be used elsewhere

	* client/tiles/basetaskcmd.cc: base commands, first version

	* int/data.cc, ui/richtext.cc: implement using ptr_vector

	* client/dlg-build.cc: split into client/dialogs/baseshipbuild.cc
	and client/dialogs/shipbuilddlg.cc; revised a little

2011-11-11  Stefan Reuther  <Streu@gmx.de>

	* ui/richhelp.cc (renderKeys): fixed display of keycaps containing '.'

2011-11-08  Stefan Reuther  <Streu@gmx.de>

	* client/dlg-build.cc (onOk): add build order to auto task when
	resources are missing

	* client/tasksupport.cc: some general auto task functions
	collected here

	* ui/widgets/framegroup.cc (wrap): new function; used everywhere

2011-11-06  Stefan Reuther  <Streu@gmx.de>

	* client/dlg-build.cc: moved widgets to individual files and
	refactored a little

	* client/tiles/shiptaskpred.cc: renamed to shiptaskcmd.cc

	* client/widgets/msgaction.cc (findXY): strengthen filter to
	refuse some false positives

	* game/univ.cc (addMessageInformation): implemented MessageConfig

	* game/inbox.cc (tweakHeader): trim "(1)" also when followed by
	space (e.g. because it's within <<>>)

	* util/conf.cc (parse): accept numbers with trailing garbage

2011-11-05  Stefan Reuther  <Streu@gmx.de>

	* resource/pcc2help.xml, resource/pcc2help.xsl: improved so that
	generated HTML can replace the handwritten pcc2-overview.html soon

	* client/dialogs/notifydlg.cc: display notification messages

	* game/msg.h (GMessagebox): removed getStatus/setStatus methods
	that were never used

2011-11-04  Stefan Reuther  <Streu@gmx.de>

	* ui/richhelp.cc: minor formatting fixes

	* client/screens/shiptaskscreen.cc: implemented C-w, w

	* client/screens/taskscreen.cc: implemented C-n, C-del

2011-11-03  Stefan Reuther  <Streu@gmx.de>

	* client/screens/shiptaskscreen.cc: display auto waypoint in starchart

2011-11-02  Stefan Reuther  <Streu@gmx.de>

	* int/predict.cc (predictTask): allow empty commands

	* client/screens/taskscreen.cc: implemented k/% to comment in/out

	* client/tiles/shiptaskpred.cc: implemented movement commands

2011-10-31  Stefan Reuther  <Streu@gmx.de>

	* client/tiles/shipheader.cc, client/tiles/planetheader.cc,
	client/tiles/baseheader.cc, client/tiles/csheader.cc: implemented
	proper headers for auto tasks

	* ui/prefix.cc (handleEvent): fixed Alt key handling: non-Alt keys
	only accepted on second pass

	* client/tiles/shiptaskpred.cc: implemented display of prediction
	and some commands

	* int/autotask.cc: implemented command validation

	* int/if/shipif.cc, int/if/planetif.cc: implemented TASK properties

	* int/if/shippred.cc, int/predict.cc: implemented turn predictions
	for auto tasks

2011-10-30  Stefan Reuther  <Streu@gmx.de>

	* client/screens/basetaskscreen.cc, client/screens/planettaskscreen.cc,
	client/screens/shiptaskscreen.cc, client/screens/taskscreen.cc,
	client/tiles/taskedittile.cc, client/widgets/taskeditlist.cc:
	auto tasks, first take

	* int/autotask.cc: fixed code generation/decompilation of callind
	instructions. Decompilation of empty process now succeeds.
	(replace): new

	* int/process.cc (runRunnableProcesses): fixed crash when
	processes are created while running
	(getProcessByObject): new

	* int/vmio.cc: fixed multiple serialisation issues: line numbers,
	frame references, frame local names, varargs flag, exception
	handler PC

2011-10-29  Stefan Reuther  <Streu@gmx.de>

	* ui/richhelp.cc (parseListItem): implemented <br>

	* client/widgets/vcrinfomain.cc: show crew

	* int/process.cc (handlePriorityChange): new function; called from
	appropriate places

	* client/cscreen.cc: process manager also callable here

2011-10-28  Stefan Reuther  <Streu@gmx.de>

	* client/dialogs/processmgr.cc: implemented user interface
	binding, 'g', C-r/t/s

	* client/main.cc: discard all processes after saving

	* client/widgets/combatdiagram.cc (WCombatDiagramWidget): added
	missing initialisation

2011-10-27  Stefan Reuther  <Streu@gmx.de>

	* client/dialogs/processmgr.cc: process mangager, initial
	(incomplete) version

2011-10-24  Stefan Reuther  <Streu@gmx.de>

	* int/exec.cc: implemented new task properties "is autotask" and
	"context TOS", for auto task support

2011-10-23  Stefan Reuther  <Streu@gmx.de>

	* int/autotask.cc: auto task editor, first take, untested

	* int/vmfile.cc: implemented persistence for background scripts

	* int/vmio.cc, int/array.cc, int/hash.cc: implemented save and
	restore of hashes and arrays. Permit save/restore of cyclic
	structures.

2011-10-22  Stefan Reuther  <Streu@gmx.de>

	* int/notify.cc: implemented initial backend of Notify functionality

	* client/widgets/combatdiagram.cc: added "team colors" option to
	display diagram in green/yellow/red, not score colors

2011-10-19  Stefan Reuther  <Streu@gmx.de>

	* int/compound.cc (toString): show subroutine name

	* int/bytecode.cc (IntBytecodeObject): removed 'subrs' member.
	Subroutines are now referenced using the data segment, so we do no
	longer need a separate data structure. The idea is to allow the
	data segment contain references to other objects as well so it
	doesn't make sense to have a special case just for this. All users
	changed accordingly.
	fix: initialize is_varargs

2011-10-17  Stefan Reuther  <Streu@gmx.de>

	* client/dialogs/helpdlg.cc: implemented help-on-help, go-to-page

	* client/dialogs/gadialog.cc: ENTER/Execute on node toggles subtree

2011-10-16  Stefan Reuther  <Streu@gmx.de>

	* gfx/gfx.h: converted GfxCanvas::drawHLine/drawVLine to use GPoint

	* gfx/font.h: converted GfxFont interface to use GfxPoint

	* client/labels.cc (setLabelExpr): function is now atomic and
	changes expression completely or not at all

	* game/fcode.cc: store friendly code as string, not as game char
	array. Reduces global action decision overhead by factor 10 (empty
	action, 'except special fcodes', 120 ms => 10 ms on ppatrol12 turn
	60 race 8)

2011-10-15  Stefan Reuther  <Streu@gmx.de>

	* client/widgets/vcrinfomain.cc: implemented add-to-sim (Ins)

	* client/widgets/chartwidget.cc: call drawPre/drawPost with active
	clipping, so descendants don't have to care for it

	* client/dialogs/navchart.cc: moved here from scr-ship.cc.
	Implemented chunnel setup, as in PCC 1.x.

2011-10-14  Stefan Reuther  <Streu@gmx.de>

	* client/scr-ship.cc: implemented chunnel prediction, initial part

	* client/dlg-mission.cc: implemented tow chain warning

2011-10-13  Stefan Reuther  <Streu@gmx.de>

	* util/xmlread.cc (readUnparsedCharacterData): embedded "]" didn't
	work right.

2011-10-12  Stefan Reuther  <Streu@gmx.de>

	* client/wscanchart.cc: allow center != origin. Used in navchart.

	* client/widgets/chartwidget.cc: moved here from client/wchart.cc,
	and revised interface

2011-10-11  Stefan Reuther  <Streu@gmx.de>

	* client/scr-ship.cc (doShipNavigationChart): implemented more
	PCC 1.x functionality (still incomplete/wrong)

2011-10-10  Stefan Reuther  <Streu@gmx.de>

	* client/dlg-groundcombat.cc: reimplemented using RichDocument

	* client/scr-env.cc: implemented ground combat prediction

2011-10-09  Stefan Reuther  <Streu@gmx.de>

	* tests/testatom.cc, tests/testpart.cc, tests/testphc.cc,
	tests/testrand.cc: removed old tests and partially moved to u/.

	* int/unary.cc (FVal): implemented same parsing rules as PCC 1.x
	(no hex, allow trailing whitespace)

	* int/file.cc: fixed compilation of read/modify/write operations
	(SetXXX, Get, Input) to properly pop result from stack

	* client/widgets/ammolist.cc, client/widgets/ammoinfo.cc,
	client/dialogs/baseammo.cc: split client/dlg-ammo.cc into widgets
	and dialogs. Implemented ammo building from ships.

2011-10-08  Stefan Reuther  <Streu@gmx.de>

	* client/playerscr.cc: nicer layout

	* resmgr/resmgr.cc (ResId): name is now a string to allow ResIds
	constructed on the fly

	* ui/richhelp.cc: implemented <img>

	* ui/richdocument.cc: implemented rendering of images

2011-10-07  Stefan Reuther  <Streu@gmx.de>

	* client/screens/histscreen.cc (handleEvent): quick fix to update
	current ship pointer, to make scripts on F6 screen work

2011-10-05  Stefan Reuther  <Streu@gmx.de>

	* util/conf.cc: handle lines of the form "foo = 17 #comment"

	* ui/richhelp.cc, ui/richdocument.cc: implemented rendering of
	keycaps

2011-10-04  Stefan Reuther  <Streu@gmx.de>

	* client/scr-env.cc (showSupport): implemented "won't die" rule

2011-10-03  Stefan Reuther  <Streu@gmx.de>

	* resource/: replaced several old ".cd" images by newly-rendered
	".png" images.

2011-10-01  Stefan Reuther  <Streu@gmx.de>

	* client/scr-env.cc (doPlanetScan): revised to use RichDocument

	* client/tiles/planetmining.cc (WPlanetMiningTile): revised to
	include age, and better adapt to text lengths

2011-09-30  Stefan Reuther  <Streu@gmx.de>

	* client/widgets/vcrinfohead.cc: implemented image display

	* client/widgets/vcrinfomain.cc: implemented planet info display

2011-09-28  Stefan Reuther  <Streu@gmx.de>

	* client/dialogs/vcrinfo.cc: VCR Info display. Implemented first
	version (missing: planets, images)

2011-09-23  Stefan Reuther  <Streu@gmx.de>

	* client/widgets/combatdiagram.cc: added tooltip

2011-09-22  Stefan Reuther  <Streu@gmx.de>

	* client/widgets/combatdiagram.cc: allow choosing a VCR by
	clicking a battle on the diagram.

	* game/univ.cc (addMessageInformation): fixed typo causing only
	web fields to be accepted from util.dat

2011-09-21  Stefan Reuther  <Streu@gmx.de>

	* client/vcrvis.cc: code size reduction for gcc

	* game/vcrdb.cc (getShipPicture): new method; use local hullspec
	picture instead of host picture if possible. All possible users
	changed.

2011-09-20  Stefan Reuther  <Streu@gmx.de>

	* client/scr-mine.cc (showSweepInfo): adjust window size to size
	of rendered text

2011-09-19  Stefan Reuther  <Streu@gmx.de>

	* ui/ui.cc (setFocusedChild): new method to deal with nonfocused
	card groups

	* client/widgets/ftrinfo.cc: new widget to show fighter effects

	* client/dlg-ammo.cc: show unit effects

2011-09-18  Stefan Reuther  <Streu@gmx.de>

	* game/vcr.h (VcrPlayer::getPlayerName): removed unneeded method

	* game/tvcr.cc: implemented NuHost modification to Tim VCR, plus
	some more inlines to make it faster.

2011-09-17  Stefan Reuther  <Streu@gmx.de>

	------------------------------ release_20110917_beta15

	* tools/c2mgrep.cc: fixed off-by-one when searching inboxes

	* client/tiles/nheader.cc (drawData): display ship mass

	* client/screens/histscreen.cc (WHistoryScreen): implemented Tab
	key. Implemented a few more keys in core.q.

	* client/widgets/histlist.cc (WHistoryShipControl): allow mouse
	click to toggle mode

2011-09-15  Stefan Reuther  <Streu@gmx.de>

	* converted several uses of "x" to use Unicode "times"

	* game/univ.cc (addMessageInformation): implemented parsing for
	minefield information

2011-09-14  Stefan Reuther  <Streu@gmx.de>

	* installer/PCC2-Installer.nsi: implemented Winplan32 awareness

	* client/dlg-build.cc: shorten "ESC-Exit" button so it still fits
	in 640x480 with new Help button

2011-09-12  Stefan Reuther  <Streu@gmx.de>

	* ui/richdocument.cc (adjustToDocumentSize): new

	* client/dialogs/cargohist.cc: new dialog

2011-09-11  Stefan Reuther  <Streu@gmx.de>

	* game/format.cc: moved repeated definitions of turn number
	formatting here

	* client/screens/histscreen.cc (WHistoryScreen): implemented

	* client/tiles/commenttile.cc: display of comment moved into
	separate tile

	* client/tiles/shipequipment.cc (WShipEquipmentTile): modified to
	allow it to display history information

	* client/chart.cc (drawShipSelAndVectors): allow display of ship
	vectors (vec_id) also when ship ship is not visible this turn

	* client/cscreen.cc, client/wtile.cc, client/widgets/scanresult.cc:
	ensure focus is set correctly to support control screens that
	actually have focus

2011-09-06  Stefan Reuther  <Streu@gmx.de>

	* client/screens/histscreen.cc (WHistoryScreen): initial stub
	implementation, connected with remainder of program

2011-09-04  Stefan Reuther  <Streu@gmx.de>

	* client/widgets/histlist.cc, client/dialogs/histselect.cc:
	implemented history ship selection for F6 screen

	* game/ship.cc (GHistoryShipType): new
	(getOwner): now returns a value for HistoryShip, too. Related code
	fixed to handle this.

	* client/cm-distance.cc: permit setting waypoints across the seam.
	[Alexander Weigand]

	* game/ship-form.cc (computeTurn): fixed formula error in movement
	prediction, causing PCC2 to move certain ships one ly too far.
	[Alexander Weigand]

2011-09-03  Stefan Reuther  <Streu@gmx.de>

	* client/dlg-fcode.cc, client/dlg-component.cc,
	client/dlg-supplies.cc, client/dlg-tax.cc: optimized

2011-08-30  Stefan Reuther  <Streu@gmx.de>

	* int/if/vcrif.cc: added ALGORITHM and CAPABILITIES properties

2011-08-25  Stefan Reuther  <Streu@gmx.de>

	* int/hash.cc: added hash data type

	* int/array.cc: fixed crash when one dimension was given as 0

2011-08-21  Stefan Reuther  <Streu@gmx.de>

	* client/actions/garemote.cc: implemented "Remote" global actions

2011-08-19  Stefan Reuther  <Streu@gmx.de>

	* int/if/vcrif.cc (getVcrSideProperty): added {Left,Right}.Hull
	properties

	* client/actions/gabuild.cc: implemented "Build" global actions

	* ui/widgets/decimalsel.cc (drawContent): fixed display bug
	(setDisplayState): added ability for users to set this widget
	to type-erase

	* client/dialogs/goaldialog.cc: moved here from
	client/dlg-goals.cc, and added ability to set fields to "leave
	unchanged".

2011-08-18  Stefan Reuther  <Streu@gmx.de>

	* client/actions/gascript.cc: implemented "Script Command"

2011-08-16  Stefan Reuther  <Streu@gmx.de>

	* client/actions/gamission.cc: implemented "Mission" global actions

2011-08-13  Stefan Reuther  <Streu@gmx.de>

	* client/dialogs/searchdlg.cc: implemented "Global" button

	* client/actions/gafcode.cc, client/widgets/gaparamview.cc,
	client/dialogs/gadialog.cc, client/globalact.cc: global actions,
	initial implementation (friendly codes).

2011-08-12  Stefan Reuther  <Streu@gmx.de>

	* integrated help into most dialogs/screens

2011-08-11  Stefan Reuther  <Streu@gmx.de>

	* int/if/guiif.cc: added UI.HELP command

	* resource/core.q, client/playerscr.cc, client/main.cc,
	client/screens/unpackscreen.cc, client/screens/sweepscreen.cc:
	added help

	* client/widgets/helpwidget.h: new widget

	* ui/widgets/minimalbutton.h: moved here from playvcrbg.cc

2011-08-10  Stefan Reuther  <Streu@gmx.de>

	* ui/widgets/tree.cc: added tree widget

2011-08-09  Stefan Reuther  <Streu@gmx.de>

	* ui/richhelp.cc (parseDocument): fixed accidental infinite loop

	* util/xmlread.cc (expandEntity): added &nbsp;

	* ui/richdocument.cc (handleEvent): added space, <, > keys

	* client/dialogs/helpdlg.cc: implemented "back"

	* resource/pcc2help.xml: converted HTML file to XML readable by
	PCC2 help viewer

2011-08-08  Stefan Reuther  <Streu@gmx.de>

	* client/dialogs/helpdlg.cc: moved dialog into class, and added
	link following

	* ui/richdocument.cc: made scrollable

2011-08-07  Stefan Reuther  <Streu@gmx.de>

	* int/if/vcrif.cc: added broken-down secondary weapon definition,
	to support PlanetsHaveTubes

	* client/dialogs/helpdlg.cc, ui/richhelp.cc: help viewer, very
	first and incomplete version

	* ui/richdocument.cc (setLeftMargin): fixed typo causing left
	margin to move too far in when bullet symbols were used

	* ui/window.cc: added blue and red window frames

2011-08-04  Stefan Reuther  <Streu@gmx.de>

	* int/if/vcrif.cc: implemented function 'Vcr(x)' to access VCRs

2011-07-18  Stefan Reuther  <Streu@gmx.de>

	* ui/uiglobal.cc (initUIGlobals): load user-specific cc-res.cfg file

2011-07-17  Stefan Reuther  <Streu@gmx.de>

	* game/planet-form.cc (getBaseTechCost): added support for
	BaseTechCost option.

	* scripts/confgen.pl: updated script to generate initialisations
	compatible with current code (origin tracking, single instances of
	value parsers)

	* game/config.cc, phost/: update to most recent config
	definitions.

	* int/if/planetif.cc: implemented AutoTaxColonists,
	AutoTaxNatives, Colonists.Tax.Income, Natives.Tax.Base,
	Natives.Tax.Income, Natives.Tax.Max. Idea and initial
	implementation by Bastian Hecht <hechtb@googlemail.com>.

	* game/planet-form.cc (getNativeBaseTax, getColonistSafeTax,
	getNativeSafeTax): moved here from individual dialog
	implementations (client/dlg-tax.cc, client/scr-env.cc).

2011-06-18  Stefan Reuther  <Streu@gmx.de>

	------------------------------ release_20110618_beta14

2011-06-13  Stefan Reuther  <Streu@gmx.de>

	* client/chartusr.cc, client/cm-standard.cc: lock keys lock onto
	object, not just position, i.e. C-RET locks onto a marked ship,
	not just anything at the same location as a marked ship

	* game/lock.cc: track last object, not just last position.

	* client/dialogs/commandedit.cc: ENTER does Go to, not Close

2011-06-08  Stefan Reuther  <Streu@gmx.de>

	* game/load.cc (loadKoreMinefields): reset mine field type when we
	have reason to believe that this is a new minefield. PCC2 was
	carrying over the Web flag too long.

2011-06-07  Stefan Reuther  <Streu@gmx.de>

	* client/scr-sim.cc (isExpGame): depend only on pconfig, not
	battle settings, for more consistent behaviour.

	* client/dlg-structure.cc: fixed display of remaining Duranium
	fixed off-by-one error in display of "(max)" for bays on bases

2011-06-06  Stefan Reuther  <Streu@gmx.de>

	* game/selio.cc (loadSelection): fixed message format

2011-05-28  Stefan Reuther  <Streu@gmx.de>

	* client/dialogs/searchdlg.cc: automatically focus on current
	object. Show number of matches.

	* ui/dialogs/filedlg.cc (handleEvent): "down" on input line goes
	to file list box

	* client/cm-prefix.cc (handleEvent): added prefix arg support in
	starchart

2011-05-25  Stefan Reuther  <Streu@gmx.de>

	* client/chartusr.cc, client/cm-standard.cc: moved all keys into
	cm-standard.cc, to have strict top-down processing. Top starchart
	modes can thus modify events arriving at bottom modes (for prefix
	arg)

	* client/scr-sim.cc: added support for planets with experience.

2011-05-11  Stefan Reuther  <Streu@gmx.de>

	* client/scr-sim.cc: added simulator module initialisation, so
	simulator comes up with correct game configuration

	* client/dlg-visual.cc: minor visual tweaks, added mouse wheel
	support

	* ui/richdocument.cc (draw): implemented underlining

	* client/dialogs/imperial.cc (doOptions): sorted options in a more
	sensible way

2011-05-10  Stefan Reuther  <Streu@gmx.de>

	* client/cscreen.cc: background color for control screens now
	darker (but not as dark as dark windows)

	* ui/skin.cc: background color for DARK_COLOR_SET now darker for
	better contrast

	* client/dialogs/imperial.cc (drawColonyPage): new page
	fixed minor bugs in other pages

2011-05-09  Stefan Reuther  <Streu@gmx.de>

	* client/dialogs/weaponeff.cc: added Weapon Effects dialog

2011-05-08  Stefan Reuther  <Streu@gmx.de>

	* client/scr-mine.cc (showSweepInfo): added mine sweep info dialog

	* client/widgets/funcinfo.cc: reimplemented on top of UIRichDocument

	* added VC8 compatibility patches and Makefile, based upon beta11

	* ui/richdocument.cc (drawContent): fixed clipping
	added keyboard link access
	added ability to split lines at '\n'

	* client/dialogs/imperial.cc: completed

	* ui/widgets/fixedspacer.cc (UIFixedSpacer): new widget

	* ui/widgets/abstractbutton.cc (handleEvent): added special-case
	handling of '#' vs. '\'

2011-05-06  Stefan Reuther  <Streu@gmx.de>

	* client/dialogs/imperial.cc: implemented more statistics pages

2011-05-05  Stefan Reuther  <Streu@gmx.de>

	* client/dialogs/imperial.cc: imperial statistics, first version

2011-05-04  Stefan Reuther  <Streu@gmx.de>

	* ui/richdocument.cc: added link handling and polished it a bit

2011-05-03  Stefan Reuther  <Streu@gmx.de>

	* ui/richdocument.cc: rich text rendering with word wrap;
	preliminary widget

	* game/bum.cc (getMaxCargo): fixed correct update of remaining
	cargo room; implemented overload.

2011-05-01  Stefan Reuther  <Streu@gmx.de>

	* client/widgets/msgfilter.cc: added message filter controls

	* client/tiles/planetmining.cc: show minerals if only ground is known

	* game/ufo.cc: save reference to other end, not just position, to
	make end hopping more reliable

	* client/tiles/planetgrowth.cc: new tile to display population
	prediction while taxing

	* game/planetpred.cc (computeTurn): ported planet prediction from
	PCC 1.1.18.

	* client/tiles/ufosettings.cc: new tile, added to Ufo Info dialog

2011-04-30  Stefan Reuther  <Streu@gmx.de>

	* client/widgets/combatdiagram.cc, client/dialogs/combatdlg.cc:
	added combat diagram

	* client/tiles/objheader.cc (WObjectTypeHeaderTile): fixed up/down
	buttons to correspond to actual keystrokes

2011-04-28  Stefan Reuther  <Streu@gmx.de>

	* game/cargo.h (getDisplayOffset): new function for use by Beam up
	Multiple. Implemented in all descendants.

	* game/bum.cc: implemented Beam up Multiple for cargo transfer

	* game/cspec.cc (parse): parse "Tmax" syntax

2011-04-27  Stefan Reuther  <Streu@gmx.de>

	* client/dialogs/fleetcost.cc: added "by team" display

	* client/widgets/billdisplay.h: optimized a little

	* client/dialogs/commandedit.cc: added "Go to" function

2011-04-26  Stefan Reuther  <Streu@gmx.de>

	* game/sweep.cc: added several files created by VPA, requested by
	fuddel @ planetsserver.

2011-04-25  Stefan Reuther  <Streu@gmx.de>

	* tools/c2mgrep.cc: implemented missing file types: outbox,
	outbox35, VPA, TRN

	* configure.in: added ability to configure out the PDK

	* ui/listbox.cc (prepareEntry): new function to replace drawEntry,
	usable by all list box implementations, for greater consistency
	and shorter code. All callers changed.

	* client/scr-sim.cc: fixed precondition for fleet options. Added
	Ctrl+Del shortcut. Added sort menu.

	* client/dialogs/fleetcost.cc: completed it

	* client/dialogs/fleetopts.cc: added fleet cost options dialog

2011-04-24  Stefan Reuther  <Streu@gmx.de>

	* client/dialogs/fleetcost.cc: fleet cost comparison; first
	(incomplete) version

	* game/formula.cc (getTechCost): moved this function here

2011-04-23  Stefan Reuther  <Streu@gmx.de>

	* client/dlg-build.cc: added Detailed Bill function

	* game/actions/baseship.cc (perform): fill "free" parameter
	correctly to allow generation of detailed bills

2011-04-22  Stefan Reuther  <Streu@gmx.de>

	------------------------------ release_20110422_beta13

	* ui/widgets/abstractbutton.cc (handleEvent): buttons that should
	take Alt-ZZ also accept plain ZZ during second event pass

	* int/statement.cc (compileSub): added varargs support

	* int/bytecode.h: added varargs support

	* int/exec.cc (addTraceTo): show contexts in backtrace
	added varargs support

	* client/widgets/specmaininfo.cc, game/hullf-list.cc: sensible
	sort order for function displays

2011-04-21  Stefan Reuther  <Streu@gmx.de>

	* int/if/shipif.cc, client/scr-env.cc, client/tiles/shipmission.cc,
	client/tiles/planetfcode.cc: avoid displaying \377 when a fcode is
	not known

	* game/ship.cc (isFCodeKnown): new function

2011-04-20  Stefan Reuther  <Streu@gmx.de>

	* client/cm-standard.cc (drawObjectList): display selection

	* game/planet-hist.cc: assimilate more sensor data. Updated other
	modules to display it.

	* client/dialogs/consoledlg.cc: also log failed commands, so that
	the log trail contains not only error messages

	* game/ship.cc (canDoSpecial): fixed behaviour of class functions
	to honor ship levels. D'oh. [Alexander Weigand]

2011-04-19  Stefan Reuther  <Streu@gmx.de>

	* client/wcost.cc, client/widgets/specbuildinfo.cc: an item (Tech,
	Moly cost) was missing since beta11

	* client/tiles/planetecon.cc: mines and factories were swapped on
	WNarrowPlanetEconomyTile [Alexander Weigand]

	* client/dlg-structure.cc: display correct maximum structures even
	when planet is overbuilt (from planet, not from action)

2011-04-17  Stefan Reuther  <Streu@gmx.de>

	* client/widgets/searchobj.cc: allow toggling with single click on
	checkmark

	* int/if/msgif.cc: implemented "INMSG()" function

2011-04-16  Stefan Reuther  <Streu@gmx.de>

	* client/playerscr.cc: use correct status for buttons

	* ui/widgets/button.cc: added bf_LeftJust style

	* int/if/globalif.cc: selection save/load script interface

	* client/dialogs/selmgr.cc: selection save/load GUI

	* game/selio.cc: implemented selection save/load

	* int/file.cc (~IntFileDescriptor): catch errors caused by sync(),
	to avoid crash when file cannot be flushed during exit
	(checkFileArg): new API for external users

2011-04-14  Stefan Reuther  <Streu@gmx.de>

	* client/chart.cc (drawShips): draw ships and labels on all map images

	* game/bbox.cc (GChartBBox): moved here from game/global.h. Added
	ufos to bounding box.

2011-04-11  Stefan Reuther  <Streu@gmx.de>

	* client/dlg-subject.cc (selectMessage): fixed typo causing cursor
	to be placed one line below intended position

2011-04-08  Stefan Reuther  <Streu@gmx.de>

	* int/if/planetif.cc: new planet property BASE.BUILDING

2011-03-31  Stefan Reuther  <Streu@gmx.de>

	* int/if/planetif.cc (callPlanetMethod), int/if/shipif.cc
	(callShipMethod): new interface for use by server

2011-03-25  Stefan Reuther  <Streu@gmx.de>

	* client/widgets/msgdisplay.cc: honor killfile in C-home and C-end

	* client/widgets/setselect.cc: allow toggling items with the mouse

	* client/dlg-warp.cc: added 'y' to activate hyperdrive

	* ui/dialogs/filedlg.cc, ui/widgets/dircrumbs.cc,
	ui/widgets/filechoose.cc: moved here from client/

	* ui/widgets.h: split into separate modules
	ui/widgets/abstractcheckbox.cc, ui/widgets/abstractcheckbox.h,
	ui/widgets/button.cc, ui/widgets/button.h,
	ui/widgets/cardgroup.cc, ui/widgets/cardgroup.h,
	ui/widgets/cardtab.cc, ui/widgets/cardtab.h,
	ui/widgets/checkbox.cc, ui/widgets/checkbox.h,
	ui/widgets/decimalsel.cc, ui/widgets/decimalsel.h,
	ui/widgets/inputline.cc, ui/widgets/inputline.h,
	ui/widgets/numbersel.cc, ui/widgets/numbersel.h,
	ui/widgets/radiobutton.cc, ui/widgets/radiobutton.h; all users
	changed

2011-03-24  Stefan Reuther  <Streu@gmx.de>

	* int/if/globalif.cc (IFCfgGet): fixed "Cfg("foo", n)", didn't
	work until now if n != current player

	* util/conf.cc: track origins of an option value. All users
	changed.

	* client/tiles/mineinfo.cc (getAssociatedPlanet): improved to
	return most likely unowned planet

2011-03-23  Stefan Reuther  <Streu@gmx.de>

	* arch/unix/platform.cc, arch/win32-bcc55/shell.cc,
	game/prefio.cc: config and other user settings files are now
	stored in a subdirectory, not directly in the home/profile
	directory

	* arch/win32-bcc55/dirs.cc (createAsDirectory): implemented
	Windows version

2011-03-21  Stefan Reuther  <Streu@gmx.de>

	* io/dirs.h (createAsDirectory): new method; also implemented in
	portable and Unix descendants

	* arch/unix/dirs.cc (erase): fixed file name encoding

2011-03-18  Stefan Reuther  <Streu@gmx.de>

	* client/marks.h, int/keymap.cc: added possibility to compile this
	without SDL

2011-03-16  Stefan Reuther  <Streu@gmx.de>

	* int/if/ionif.cc, int/if/ufoif.cc, int/if/mineif.cc: storms, ufos
	and minefields now also have a MARKED property and have thus a
	defined way to be selected. Why not.

	* ui/skin.cc, client/dlg-list.cc: fixed selection color

	* game/univ.cc (doScreenUpdates): also update minefields, ion
	storms and Ufos.

	* client/widgets/objcontrol.cc: moved keyboard handling here from
	individual object selection windows. As a result, Home/End now
	also work for minefields, ion storms and Ufos.

	* client/wscorechart.cc: do not display curves for non-existant
	players/teams in cumulative mode

	* client/wscoretable.cc: added display of Total Ships in Game

	* client/widgets/filechoose.cc: when changing directories, place
	cursor on previous directory (like WDirectoryChooser). Allow mouse
	scrolling by clicking outside the widget. Fixed behaviour when
	using paths like "c:foo" on Windows.

2011-03-14  Stefan Reuther  <Streu@gmx.de>

	* client/widgets/filechoose.cc, client/dialogs/filedlg.cc: new
	implementation of file selection dialog, much closer to current
	user interface standards than the previous one
	(ui/dlg-fileselect.cc).

	* client/scr-msg.cc: implemented editing of sent message

2011-03-13  Stefan Reuther  <Streu@gmx.de>

	* client/dialogs/outboxdlg.cc: outbox dialog rewritten.
	Implemented redirect and delete features.

	* client/dlg-tax.cc: improved auto tax to choose highest possible
	tax rate (=best income) when happiness change goal cannot be
	reached.

	* configure.in: made configuring the PDK easier by adding a
	"--with-pdk" option

	* game/parser.h: added ability to distinguish between planets and
	bases

	* client/widgets/msgdisplay.cc: new and improved version of
	client/dlg-mbox.cc.

2011-03-12  Stefan Reuther  <Streu@gmx.de>

	* client/widgets/msgaction.cc, client/dialogs/inboxdlg.cc: new
	inbox dialog with fancier controls, first version

	* game/msgparse.cc (generateOutput): validate Id range

2011-03-06  Stefan Reuther  <Streu@gmx.de>

	* debian/control, P9/Settings-unix: added basic support for
	building Debian packages

	* reshack/load.cc, reshack/fontdlg.cc, int/if/ifutil.cc,
	int/if/guiif.cc, int/if/globalif.cc, int/vmio.cc, gfx/bmfont.cc,
	flak/pdk-host.cc, arch/generic/file.cc: added missing header files
	to make it compile on more recent compilers (tested on Ubuntu 10.4).

2011-03-03  Stefan Reuther  <Streu@gmx.de>

	* game/msgparse.cc: added handling of ion storm information. Added
	"+" and "-" modifiers for values to handle mine scoop messages.

	* game/msgtemplate.cc (prepareValue): fixed parsing of "/" lists

2011-03-02  Stefan Reuther  <Streu@gmx.de>

	* game/msgparse.cc (generateOutput): allow name "_" to ignore
	values

	* game/msgtemplate.cc (matchPart): do not produce empty matches.
	This is essential for parsing tables such as those by PTScore.

	* game/global.cc (postprocess): make inbox start on first
	non-filtered message

	* game/inbox.cc (GInbox): moved here from game/msg.cc. Added
	ability to track message origin. Used in message parsing.

2011-02-27  Stefan Reuther  <Streu@gmx.de>

	* game/msgglobal.cc: message parser integrated into game loading

	* resource/core.q: restored F9 on base screen

	* game/msgparse.cc, game/msgtemplate.cc: foundations of message
	parser

2011-02-25  Stefan Reuther  <Streu@gmx.de>

	* tools/c2mgrep.cc: new utility

2011-02-22  Stefan Reuther  <Streu@gmx.de>

	* client/widgets/setselect.cc: '*' key didn't work on Sweep menu

2011-02-20  Stefan Reuther  <Streu@gmx.de>

	* client/tiles/ioninfo.cc, client/screens/ionscreen.cc: added ion
	storm information

	* client/widgets/reginfo.cc: added display of registration
	information

	* ui/uiglobal.h: added new fonts (normal regular, title bold); use
	normal regular instead of old normal (which was bold). Use new
	bold font at some places.

2011-02-19  Stefan Reuther  <Streu@gmx.de>

	------------------------------ release_20110220_beta12

	* client/act-planet.cc (doPlanetBuildBase): fixed key definitions

2011-02-18  Stefan Reuther  <Streu@gmx.de>

	* client/main.cc (main): when invoked as "pcc-v2 dir", and there
	are new results, ask to unpack them.

2011-02-16  Stefan Reuther  <Streu@gmx.de>

	* client/widgets/searchobj.cc, client/widgets/setselect.cc: use
	check mark character instead of less visible times to mark
	selected items

	* util/unicodechars.h: new file.

	* client/dlg-goals.cc (writeBack): update display correctly

2011-02-14  Stefan Reuther  <Streu@gmx.de>

	* int/if/guiif.cc (IFCCTransferShip): new command. Ship screen
	cargo transfer moved here, so it now works from the starchart.

2011-02-13  Stefan Reuther  <Streu@gmx.de>

	* client/dlg-cargo.cc (WCargoHeader): use tiled-pixmap for header

	* resmgr/resdir.cc: added "add:" modifier for pixmaps. Used to
	implement window colors other than our standard ones.

	* game/spec.cc (initSpecification), game/racename.cc
	(initRaceNames): those are now only called through regular
	initialisation. All callers changed. Also moved the inline
	functions from spec.h into the .cc file (saves 10k code total).

	* client/main.cc (onMaketurn): properly enter/leave the directory
	for Maketurn, to generate correctly-registered turns. [FireAge
	from RCWorld forum]

2011-02-10  Stefan Reuther  <Streu@gmx.de>

	* reshack/reshack.cc: implemented "New Font" and "New Picture"
	commands

	* client/main.cc (main): "pcc-v2 somedir" starts with cursor
	on "somedir", showing the game in it, not its subdirectories

2011-02-08  Stefan Reuther  <Streu@gmx.de>

	* int/binary.cc, int/unary.cc, int/builtin.cc: added DIM(),
	ISARRAY() builtin functions

2011-02-07  Stefan Reuther  <Streu@gmx.de>

	* scripts/msgcompile.pl: detect some more errors related to the
	Unicode transition

	* game/load-ov.cc: accept same-turn RSTs as new if they have a
	newer timestamp, for rehosts. Report old RSTs so that the main
	screen does not disable the "Unpack" button.

	* int/if/globalif.cc: implemented some more properties

	* client/main.cc: when attempting to enter a directory that has
	new RSTs, offer to unpack them. Added NEWTURN hook. When CORE.Q
	has an error, exit immediately instead of bringing the user into
	an unusable player screen which cannot be exited.

	* client/screens/unpackscreen.cc: offer unpacking RSTs other than
	those already unpacked. D'ooh.

2011-02-06  Stefan Reuther  <Streu@gmx.de>

	* int/if/globalif.cc (IFSaveGame): implemented SAVEGAME command
	(getGlobalProperty): implemented SYSTEM.LOCAL, SYSTEM.REMOTE

	* game/storage.cc: moved loading/saving here

	* resmgr/resdir.cc: added scaling

	* resmgr/res-wp.cc (loadPixmap), client/scr-sim.cc (drawData): use
	correct image for custom ships

	* client/widgets/specbuildinfo.cc (drawContent): fixed bug causing
	resources not to be displayed when no PBPs are used

2011-02-02  Stefan Reuther  <Streu@gmx.de>

	* reshack/fontdlg.cc: added ability to change font height

2011-01-30  Stefan Reuther  <Streu@gmx.de>

	* int/if/globalif.cc: added SYSTEM.GAME/ROOTDIRECTORY

	* game/cspec.cc: added support for negative numbers.
	(parse): new function; supports error detection

	* int/if/shipif.cc, int/if/planetif.cc: added cargo transfer
	commands CARGOTRANSFER, CARGOUNLOAD, CARGOUPLOAD

	* reshack/fontdlg.cc, resource/font1.fnt: WGL4 support

	* int/file.cc: GET, INPUT now preserve their argument when the
	file number or size is null, as in PCC 1.x. Added MAKEFILENAME,
	GETFILENAME, GETDIRECTORYNAME functions.

2011-01-29  Stefan Reuther  <Streu@gmx.de>

	* int/file.cc (IFCCInput): implemented all file I/O commands:
	Close, FPos(), FSize(), FreeFile(), Get (CC$Get), GetByte(),
	GetLong(), GetStr(), GetWord(), Input (CC$Input), Open (CC$Open),
	Print (CC$Print), Put, Seek.

2011-01-28  Stefan Reuther  <Streu@gmx.de>

	* io/textfile.cc: added write support in anticipation of using
	this as the base for scripted file I/O

2011-01-27  Stefan Reuther  <Streu@gmx.de>

	* int/unary.cc (unFileNr): new opcode

	* int/parseexpr.cc (parsePrimary): implemented parsing of file
	handles

	* int/file.cc: implemented SETSTR

	* int/value.cc (IntFileValue): new type

2011-01-25  Stefan Reuther  <Streu@gmx.de>

	* int/value.cc (IntBlobValue): new type

	* int/file.cc: implemented SETBYTE/SETWORD/SETLONG

2011-01-24  Stefan Reuther  <Streu@gmx.de>

	* int/special.h, int/statement.cc: added ability to define special
	commands. To be used for definition of file I/O, and to get game
	related special commands out of statement.cc.

2011-01-23  Stefan Reuther  <Streu@gmx.de>

	* int/exec.cc (executeInstruction): fixed implementation of (until
	now mostly unused) dup and swap instructions

	* int/expr.cc: added ability to compile read-modify-write
	instructions

	* int/optimize.cc (doStoreDropMember): implemented StoreDrop
	optimisation for storeind and storemem

	* int/array.cc: added array support to scripting language

2011-01-22  Stefan Reuther  <Streu@gmx.de>

	* resource/core.q (CC$SetShipComment, CC$SetPlanetComment),
	client/widgets/commandlist.cc (edit), client/dialogs/teamedit.cc
	(onEditName), client/scr-sim.cc (editName), client/dlg-comment.cc
	(doEditComment), client/cm-marker.cc (editMarkerComment): refuse
	non-game characters

	* util/misc.cc (stringTokenize): removed unused, non-UTF-8 function

	* updated all GUI elements to use Unicode characters, not old
	control characters, for arrows etc. Removed the characters from
	the fonts.

	* tools/c2dump.cc, tools/c2mkturn.cc, tools/c2sweep.cc,
	tools/c2unpack.cc, util/debug.cc: converted to use console instead
	of cout/cerr

	* tools/c2dump.cc: added '-C' option

	* tools/c2unpack.cc: give useful errorlevel, and tell user when
	nothing was done

	* util/console.cc (enableStdioConsole): removed. Users changed to
	use Platform::initConsoleOutput instead (usually via mod_base_console)

2011-01-21  Stefan Reuther  <Streu@gmx.de>

	* int/if/conif.cc: implemented UI.INPUT in terms of platform I/O,
	not iostreams

	* io/dirs.h: no longer include platform.h. Fixed all users who
	relied on this.

	* arch/win32/console.cc: implemented console primitives for Windows

2011-01-18  Stefan Reuther  <Streu@gmx.de>

	* game/un-trn.cc: use console instead of std::cout/cerr

	* arch/generic.h: added console output primitives to platform set,
	to allow UTF-8 handling

2011-01-17  Stefan Reuther  <Streu@gmx.de>

	* scripts/xgettext, scripts/msgcompile.pl: added ability to
	preserve our fancy characters while keeping files editable on
	non-UTF-8 systems

	* ui/util.cc (splitText): updated to use UTF-8, and avoid
	splitting runes in the middle

2011-01-16  Stefan Reuther  <Streu@gmx.de>

	* resource/font2.fnt, resource/font3.fnt, resource/font4.fnt: now
	supports all characters

	* reshack/fontsynth.cc: added ability to synthesize pseudographic
	characters

2011-01-14  Stefan Reuther  <Streu@gmx.de>

	* resource/font1.fnt: now supports all characters needed in PCC2

2011-01-11  Stefan Reuther  <Streu@gmx.de>

	* reshack/fontdlg.cc (doFontCoverageDialog): new dialog to
	examine font coverage

2011-01-10  Stefan Reuther  <Streu@gmx.de>

	* reshack/load.cc (loadBDF): added ability to load .bdf fonts

2011-01-09  Stefan Reuther  <Streu@gmx.de>

	* arch/win32-bcc55/, arch/win32: implemented Win95 support. Win95
	fails all Unicode calls with ERROR_CALL_NOT_IMPLEMENTED, and
	sometimes not even gets the failing right (0 instead of
	INVALID_HANDLE_VALUE). Since we only need a few calls, we need not
	use a full MSLU (unicows) installation.

2011-01-06  Stefan Reuther  <Streu@gmx.de>

	* int/csource.cc, int/statement.cc: implemented "Option Encoding"

2011-01-05  Stefan Reuther  <Streu@gmx.de>

	* int/keymap.cc, ui/widget-il.cc, ui/event.cc: implemented
	well-defined (not by-accident) Unicode support for keys.

	* game/mission.cc (loadFromIniFile): use game character set for
	missions

	* flak/pdk-platform.cc: implemented basic platform (libplatf)
	support for PDK-based applications

	* flak/pdk-host.cc: updated configuration. Implemented UTF-8
	support for translations.

2011-01-04  Stefan Reuther  <Streu@gmx.de>

	* reshack/w32import.cc: Win32 font import

2011-01-02  Stefan Reuther  <Streu@gmx.de>

	* client/, game/, int/, tests/: converted to UTF-8

	* util/filepars.cc: added support for charset configuration

	* util/xmlread.cc (XmlReader): added ability to read all supported
	character sets

2011-01-01  Stefan Reuther  <Streu@gmx.de>

	* io/textfile.cc (TextFile): added ability to read all supported
	character sets; default to Latin-1.

	* util/recode.cc, util/charsets/chargen.pl: accept alias names (in
	particular, MIME-style) for character sets. Modified so that
	output of chargen.pl is now directly include-able.

	* gfx/init.cc (loadIcon): implemented UTF-8 support

	* gfx/font.cc (outTextF): implemented proper text limiting for
	UTF-8 text, to avoid spurious error characters

2010-12-31  Stefan Reuther  <Streu@gmx.de>

	* arch/unix/platform.cc (initPlatform): use user's locale for
	LC_MESSAGES as well to receive localized error messages

	* reshack/fontedit.cc: character selection using font display, DEL
	function

	* ui/widgets/icongrid.cc, reshack/grid.cc: new widget

	* arch/win32/: implemented Win32 error messages, showOutput,
	getAbsoluteName

2010-12-30  Stefan Reuther  <Streu@gmx.de>

	* arch/win32/: implemented Win32 platform dependencies with
	Unicode support.

	* reshack/fontedit.cc: new function 'r' to remap font encoding

	* util/recode.cc: removed Recoder and added new UTF-8-based
	interface. Changed all users.

2010-12-29  Stefan Reuther  <Streu@gmx.de>

	* u/helper.h: added ValueTraits for simple_string to simplify
	unit tests

	* arch/generic.h (initPlatform, convertArgumentsToUtf8,
	freeArguments): new functions for UTF-8 support

	* arch/unix/: implemented UTF-8 support for Unix

	* reshack/, gfx/, io/, util/: converted to UTF-8

	* resource/font1.fnt, resource/font2.fnt: added replacement
	characters for nonexistant glyphs

2010-12-27  Stefan Reuther  <Streu@gmx.de>

	* util/except.cc (perrorStr): removed; it's no longer needed

	* io/iostr.cc: removed; it's no longer needed

2010-12-16  Stefan Reuther  <Streu@gmx.de>

	* game/utilread.cc (read): it is no longer a fatal error if a
	util.dat file is truncated because it might have been written by a
	bogus add-on. Or Google Mail.

	* reshack/: added font editor

	* resmgr/resdir.cc (getStream): added file suffix list

2010-12-12  Stefan Reuther  <Streu@gmx.de>

	* picedit/: removed. Replaced by c2reshack.

2010-11-26  Stefan Reuther  <Streu@gmx.de>

	* gfx/bmfont.cc: re-implemented font rendering, anticipating
	Unicode

2010-11-23  Stefan Reuther  <Streu@gmx.de>

	* tools/c2dump.cc (main): added VCR parser

2010-11-19  Stefan Reuther  <Streu@gmx.de>

	* gfx/gfxutil.h: typo fix

2010-11-17  Stefan Reuther  <Streu@gmx.de>

	* game/spec.cc (assign): fixed parsing of "Level = 1-2" ranges

2010-10-24  Stefan Reuther  <Streu@gmx.de>

	------------------------------ release_20101024_beta11

	* tools/c2mkturn.cc (main): fixed crash when invoked in empty game
	directory. Also fall back to Platform::getDataDirectory() when not
	rootDir is given. c2sweep and c2unpack modified similarily

2010-10-19  Stefan Reuther  <Streu@gmx.de>

	* client/playvcr.cc: revised initialisation to use module system
	wherever possible

2010-10-17  Stefan Reuther  <Streu@gmx.de>

	* client/chart.cc (drawPlanets): fixed planet label color

	* client/main.cc (init): initialize correct directory for
	WDirectoryCrumbTrail

2010-10-16  Stefan Reuther  <Streu@gmx.de>

	* arch/win32-mingw/acdefs.mak, installer/prepare2.pl: updated to
	SDL-1.2.14, SDL_image-1.2.10. In particular, this fixes the crash
	upon Winplan's vpl19.bmp. [HaukeBJ pointed this out]

	* ui/event.cc (convertEvent): reject keys that map to a zero key
	code. Those are generated by SDL-1.2.14 on Windows, and confuse
	many widgets that assume that no key has code 0.

2010-10-15  Stefan Reuther  <Streu@gmx.de>

	* client/main.cc: added exit confirmation

	* client/gdchooser.cc: removed old version of game chooser widgets

2010-10-12  Stefan Reuther  <Streu@gmx.de>

	* client/playvcrbg.cc: implemented console view

2010-10-11  Stefan Reuther  <Streu@gmx.de>

	* resmgr/resdir.cc: added ability to resize images to screen size;
	used this for the backgrounds.

2010-10-04  Stefan Reuther  <Streu@gmx.de>

	* client/playvcrbg.cc: implemented new PlayVCR background widget
	with options for new selection widget and skin

	* game/gamedirs.cc (initDirectories): fixed crash when game
	directory has no parent

2010-10-03  Stefan Reuther  <Streu@gmx.de>

	* client/playvcr.cc: started to revise game selection logic the
	same way as for the main client

2010-09-29  Stefan Reuther  <Streu@gmx.de>

	* installer/: added configuration option for game directory, and
	invoke pcc-v2.exe with that

2010-09-28  Stefan Reuther  <Streu@gmx.de>

	* resmgr/resmgr.cc: resource manager never leaks errors retrieving
	a resource. This means bogus resource files are now silently
	ignored instead of crashing PCC2.

	* resmgr/resdir.cc: implemented pixmap overlay feature

	* resource/: implemented menu screen backgrounds

2010-09-27  Stefan Reuther  <Streu@gmx.de>

	* resmgr/resdir.cc: ResDirectory moved here. The alias list is no
	longer global, but is a property of the ResDirectory.

2010-09-26  Stefan Reuther  <Streu@gmx.de>

	* resmgr/res-wp.cc (loadPixmap): accept vplX.jpg etc., not just .bmp

	* resmgr/resmgr.h: started to restructure and simplify it a
	little. Each resource now has only one instance, not several of
	which we choose randomly, because in the regular case this is just
	confusing (a ship looking different every time you look at it).

	* io/rle.cc: when detecting an error, report the filename, not
	"<unknown>"

2010-09-25  Stefan Reuther  <Streu@gmx.de>

	* client/widgets/imagepanel.cc: new widget. Used in PCC2 game
	chooser, unpacker and sweep to support background images

	* ui/widget-cb.cc, client/widgets/setselect.cc: fixed skin support

	* ui/widgets/statictext.h: added skin support. All users changed.

	* client/screens/sweepscreen.cc: implemented "Sweep" function

2010-09-23  Stefan Reuther  <Streu@gmx.de>

	* client/dialogs/consolelog.cc: maketurn console log widget moved
	here, and also used by unpack screen

2010-09-22  Stefan Reuther  <Streu@gmx.de>

	* game/unpack.cc: added ability to ask whether race.nm should be
	updated.

2010-09-20  Stefan Reuther  <Streu@gmx.de>

	* client/screens/unpackscreen.cc: implemented most of it

	* game/save-dir.cc (saveDirectory): when there is no fizz.bin,
	warn player on the console but save anyway (instead of crashing)

2010-09-19  Stefan Reuther  <Streu@gmx.de>

	* client/widgets/consoleview.cc (scrollAfterEnd): new; avoid
	scrolling in Maketurn status

	* client/screens/unpackscreen.cc: first version (UI only)

	* client/main.cc: implemented proper enabling/disabling of buttons
	subject to availability. Added left/right keys in game selector.

2010-09-18  Stefan Reuther  <Streu@gmx.de>

	* client/widgets/consoleview.cc: added ConsoleCentered option

	* client/screens/mkturnscreen.cc: added Maketurn GUI

	* game/maketurn.cc: moved maketurn logic here from c2mkturn.cc

	* client/widgets/dirchoose.cc (WDirectoryChooser): bugfix: crash
	when oneup=true was used

	* client/main.cc: implemented game selection logic

2010-09-15  Stefan Reuther  <Streu@gmx.de>

	* client/mainopts.cc: option parser moved here

2010-09-14  Stefan Reuther  <Streu@gmx.de>

	* game/load-ov.cc: implemented have_NewRST; implemented have_RST
	for game directories, and a rstOnly flag for the unpacker

	* client/widgets/playerchoose.cc: enforce a size that avoids
	scrolling

2010-09-11  Stefan Reuther  <Streu@gmx.de>

	* string.cc (strNthWord): moved here from c2mkturn.cc and cmds.cc

2010-09-09  Stefan Reuther  <Streu@gmx.de>

	* tools/c2mkturn.cc: added command message transmission (cmdX.txt)

2010-09-08  Stefan Reuther  <Streu@gmx.de>

	* game/load-msg.cc: separated logic to read outbox files, for use
	in c2mkturn.

2010-09-07  Stefan Reuther  <Streu@gmx.de>

	* tools/c2mkturn.cc: first version

2010-09-05  Stefan Reuther  <Streu@gmx.de>

	* ui/iconbox.h (UIIconBox::setChangeOnClick): new

	* ui/skin.cc: added tc_InvStatic to build skinned list views

2010-09-04  Stefan Reuther  <Streu@gmx.de>

	* client/widgets/playerchoose.cc (WPlayerChooser): new, improved
	version of WGameRaceChooser

2010-08-31  Stefan Reuther  <Streu@gmx.de>

	* client/widgets/dirchoose.cc (WDirectoryChooser): new, improved
	version of WGamedirChooser

	* ui/iconbox.cc (onStructureChange): avoid that when clicking an
	item which changes the structure, the same mouse click is again
	applied to the new structure

	* client/gdchooser.cc (WGamedirChooser): improved to allow use
	together with a WDirectoryCrumbTrail

2010-08-30  Stefan Reuther  <Streu@gmx.de>

	* ui/iconbox.cc (onStructureChange): new function to support
	WDirectoryCrumbTrail

	* client/widgets/dircrumbs.cc: new widget

2010-08-23  Stefan Reuther  <Streu@gmx.de>

	* int/opcode.h (Indirect): modified to separate type restrictions
	from operation kind to allow "call anything" operations

	* game/ship.cc (canDoSpecial): allow this function for ships with
	unknown hulls

	* ui/skin.cc: UISkin now handles all sorts of UIColor-based color
	schemes. Individual instances are therefore no longer required.

	* client/cm-message.cc (WMessageChartMode::handleEvent): allow
	user-defined keys to terminate message-mode

	* client/cm-marker.cc (WDeleteDrawingChartMode::handleEvent):
	fixed keyboard movement during marker deletion

	* client/tiles/visship.cc (drawData): display mass for non-visual
	contacts

	* client/dlg-tech.cc (maybeStop): correctly handle out-of-money

	* ui/skin.cc: added tc_Selection

	* client/wtile.cc (outTileText, drawTileBackground): eliminated.
	WTile::drawData is now invoked using a GfxOffset, so everything
	uses relative coordinates.

2010-08-22  Stefan Reuther  <Streu@gmx.de>

	* ui/util.cc (drawColorFrame): eliminated. All users modified to
	use a WColorFrame, which handles skins/color schemes, and does not
	require widgets to know other widgets' coordinates to produce the
	frames.

	* flak/flakmod.cc (loadFlakConfig): made this a ModuleInitializer.

	* game/coord.cc (initCoordinates): made this a ModuleInitializer,
	and used it in client/main.cc etc to make wrapped maps work again
	[Alexey Veselovsky]

	* gfx/: eliminated GfxParameters

2010-08-21  Stefan Reuther  <Streu@gmx.de>

	* game/sim-run.cc (simulateFLAK): restored addFleet() call that
	got lost in beta8

	* client/main.cc: (temporary) added FLAK initialisation so that
	FLAK simulator produces meaningful results

2010-08-14  Stefan Reuther  <Streu@gmx.de>

	* gfx/gfxcontext.cc: new class GfxContext intended to simplify
	graphics code. Modified gfx/ and ui/ to use it; parts of client/,
	too.

2010-08-08  Stefan Reuther  <Streu@gmx.de>

	------------------------------ release_20100808_beta10

2010-08-03  Stefan Reuther  <Streu@gmx.de>

	* int/statement.cc (compileFor): optimized version for loops with
	fixed upper bound

2010-08-01  Stefan Reuther  <Streu@gmx.de>

	* client/tiles.cc: added narrow planet and base tiles

2010-07-31  Stefan Reuther  <Streu@gmx.de>

	* client/cm-distance.cc: implemented 'f' and 'w' functions

2010-07-25  Stefan Reuther  <Streu@gmx.de>

	* int/exec.cc: added 'jdz' instruction; intended for jump tables.

	* client/tiles/shipmission.cc: added WNarrowShipMissionTile

2010-07-24  Stefan Reuther  <Streu@gmx.de>

	* client/tiles/shipcargo.cc: added WNarrowShipCargoTile

	* client/tiles/shipequipment.cc: added WNarrowShipEquipmentTile

2010-07-20  Stefan Reuther  <Streu@gmx.de>

	* client/tiles/nheader.cc: new

2010-07-18  Stefan Reuther  <Streu@gmx.de>

	* client/chartusr.cc: implemented sticky mouse

	* client/chartloc.cc, client/cm-standard.cc: implemented scrolling
	object list. Unknown planets use a different view than known planets.

2010-07-15  Stefan Reuther  <Streu@gmx.de>

	* client/dialogs/searchdlg.cc: implemented "Mark" menu

2010-07-14  Stefan Reuther  <Streu@gmx.de>

	* int/if/guiif.cc: new commands CC$VIEWINBOX and CC$SENDMESSAGE to
	implement 'm' and 'w' on player screen

2010-07-13  Stefan Reuther  <Streu@gmx.de>

	* resource/core.q: ESC hides panels

	* client/playerscr.cc: cleaned up a little

	* client/widgets/commandlist.cc (handleEvent): don't display
	delete prompt if there's nothing to delete

2010-07-11  Stefan Reuther  <Streu@gmx.de>

	* client/tiles/basetech.cc, client/tiles/baseorder.cc: made aware
	of planets without base

	* client/tiles.cc: implemented 'BaseLock' view

	* client/cm-marker.cc (onMove): pass onMove to parent mode, to
	allow WStandardChartMode to update the overlays

	* int/if/guiif.cc: added CHART.SETVIEW command to modify the
	current view in the starchart

	* client/chartloc.cc: GChartLocation now manages a "view name",
	which is the name of the tile layout displayed on the chart. Users
	changed to use it. Eliminated list_index, and use GObjectList
	exclusively to identify the current object.

	* int/bytecode.cc: attempt to recycle literals to save memory

	* io/nullstream.cc: new

2010-07-10  Stefan Reuther  <Streu@gmx.de>

	* int/lex.cc (read): avoid exceeding identifier length limit;
	identifiers longer than 255 characters cannot be saved/loaded

	* int/vmio.cc: implemented save and reload for VM and object files

2010-07-06  Stefan Reuther  <Streu@gmx.de>

	* int/vmio.cc: implemented VM saving (=serialisation of bytecode,
	processes and frames)

	* int/value.cc (store): do not use short string format when saving
	VM files where no backward compatibility is needed

	* int/names.cc (save), int/data.cc (save): const-correctness

2010-07-05  Stefan Reuther  <Streu@gmx.de>

	* int/vmio.cc: serialisation, first take

2010-07-04  Stefan Reuther  <Streu@gmx.de>

	* int/compound.h: IntContextValue no longer needed

	* int/context.h: IntContext now derived from IntValue.

	* int/contextio.h: added serialisation for contexts

2010-07-03  Stefan Reuther  <Streu@gmx.de>

	* client/cm-standard.cc: implemented object view

	* resource/core.q: implemented basic star chart movement

	* int/if/userif.cc: permitted assignment to CHART.X/.Y to move the
	scanner or the starchart position.
	Modified doGoToChart and doMoveScanner to take a GPoint instead of
	a x,y pair, which simplifies most callers.

2010-06-29  Stefan Reuther  <Streu@gmx.de>

	* client/tiles.cc: added basic tile configuration mechanism.
	Control screens are now mostly only containers for tiles and
	scripts without own intelligence.

2010-06-28  Stefan Reuther  <Streu@gmx.de>

	* client/tiles.cc: prepared for tile configuration

	* client/dlg-visual.cc: honor ls_AllowForeignShips flag

	* int/if/guiif.cc: new commands CC$LISTSCREENHISTORY,
	CC$POPSCREENHISTORY; implemented Backspace function using it

	* client/cscreen.cc, client/playerscr.cc, etc.: streamlined screen
	switching. Implemented most in terms of IntUserInterfaceBinding
	instead of passing-around WScreenId's.

	* client/tiles: made ship screen tiles history-aware

2010-06-27  Stefan Reuther  <Streu@gmx.de>

	* int/if/iterif.cc: new (preliminary) function ITERATOR

2010-06-26  Stefan Reuther  <Streu@gmx.de>

	* int/if/ifutil.cc (checkFlagArg): also accept flags where the
	number is specified before the letters

	* int/if/guiif.cc: new command CC$BUILDBASE, CC$TRANSFERPLANET

	* client/tiles/planetmining.cc: moved here

2010-06-25  Stefan Reuther  <Streu@gmx.de>

	* int/if/guiif.cc: new command CC$ADDTOSIM

	* client/tiles/baseheader.cc, client/tiles/planetheader.cc,
	client/tiles/shipheader.cc: new files

2010-06-24  Stefan Reuther  <Streu@gmx.de>

	* int/if/userif.cc: new command UI.KEYMAPINFO

2010-06-23  Stefan Reuther  <Streu@gmx.de>

	* int/if/guiif.cc: new command UI.PLANETINFO

2010-06-22  Stefan Reuther  <Streu@gmx.de>

	* client/chartusr.cc: implemented script interface. Some commands
	moved into core.q.

2010-06-20  Stefan Reuther  <Streu@gmx.de>

	* int/optimize.cc (doCompareNC): new optimisation

	* int/if/globalif.cc: implemented SYSTEM.SIM

	* client/dialogs/selmgr.cc: new dialog, callable as UI.SELECTIONMANAGER

	* int/if/guiif.cc (IFUISearch): implemented UI.SEARCH. Changed all
	users of search to use it.

2010-06-19  Stefan Reuther  <Streu@gmx.de>

	* int/simple.cc (executeStatement): display error messages

	* client/playerscr.cc: implemented RACESCREEN keymap

	* int/if/planetif.cc, int/if/shipif.cc: implemented PLAYED
	property. Used it in core.q.

	* int/if/guiif.cc: implemented UI.LISTSHIPS, SYSTEM.EXITRACE

	* resource/core.q: implemented many object change commands

2010-06-16  Stefan Reuther  <Streu@gmx.de>

	* int/if/guiif.cc: new command UI.OVERLAYMESSAGE

2010-06-15  Stefan Reuther  <Streu@gmx.de>

	* client/cscreen.cc etc.: implemented more user interface
	interaction

2010-06-13  Stefan Reuther  <Streu@gmx.de>

	* ui/window.cc: stop() can nest. This is required when multiple
	windows are closed at once, as can be initiated by scripts

	* int/if/userif.cc (IntUserInterfaceBinding): new class to publish
	user-interface related things. First implementation of CHART.X/Y,
	UI.X/Y, UI.GOTOSCREEN, UI.GOTOCHART, UI.POPUPCONSOLE

2010-06-12  Stefan Reuther  <Streu@gmx.de>

	* int/optimize.cc: new optimisation

	* int/if/globalif.cc: implemented CC$SELECTIONEXEC

	* game/sel.cc (copyFrom): fixed typo causing it to not copy
	planets; added comments

	* int/unary.cc: 'Abort' no longer is an unary operation "uthrow",
	it's a special operation "sthrow".

	* int/statement.cc: implemented END and STOP; temporarily
	activated optimisation for all subs, until we have a switch

	* int/exec.cc: implemented process status management. Processes
	can now suspend, and signal errors with a status, not an
	exception. All callers modified to use the respective
	int/process.h functions

	* int/process.cc: new file

2010-06-10  Stefan Reuther  <Streu@gmx.de>

	* resource/core.q: implemented Alt-Left/Alt-Right

	* client/chartusr.cc (doStarchart): redraw map on universe
	changes, so that scripts correctly update the map

	* client/widgets/selswitch.cc, client/widgets/decaymsg.cc: new
	widgets

	* int/parseexpr.cc (parseNeg): accept "- not x"

2010-06-09  Stefan Reuther  <Streu@gmx.de>

	* int/if/globalif.cc: implemented SELECTION.LAYER

2010-06-06  Stefan Reuther  <Streu@gmx.de>

	* int/selexpr.cc, game/sel.cc: selection management basics

	* int/optimize.cc: more optimisations

2010-06-05  Stefan Reuther  <Streu@gmx.de>

	* int/optimize.cc: new module. Implemented some basic
	optimisations

	* int/exec.cc (executeInstruction): implemented popXXX without
	duplication if possible

	* int/opcode.h: added some handy accessors

2010-05-31  Stefan Reuther  <Streu@gmx.de>

	------------------------------ release_20100531_beta9

2010-05-29  Stefan Reuther  <Streu@gmx.de>

	* installer/prepare2.pl, installer/PCC2-Installer.nsh: record
	ever-growing list of all file names ever, so we can delete
	obsolete files upon installing a new version

2010-05-23  Stefan Reuther  <Streu@gmx.de>

	* int/if/specif.cc: Engine().Speed$ made assignable. Added ID
	property for starship components.

	* game/drawing.cc (eraseExpiredDrawings): implemented drawing
	expiration. This cannot currently be done in load (which can also
	do expiration, and which is where PCC 1.x does it) because we
	don't know the current turn number at that place yet.

2010-05-22  Stefan Reuther  <Streu@gmx.de>

	* int/statement.cc (compileCreateProperty, compileDim): strip
	initial 'Ship.', 'Planet.', 'Global.' from property/variable
	names. Otherwise, user needs to double that prefix when accessing
	the variable.

	* int/if/globalif.cc: implemented 'System.RandomSeed'

2010-05-21  Stefan Reuther  <Streu@gmx.de>

	* int/if/globalif.cc (IFRandom): implemented 'Random'

2010-05-19  Stefan Reuther  <Streu@gmx.de>

	* int/keymap.cc: added more key names. Added ability to parse
	fall-back key name "#$xxxx", so users can bind these keys.

	* ui/event.cc (checkBreakEvent): also accept Ctrl-C as Ctrl-Break,
	for platforms that do not recognize Ctrl-Break.

2010-05-18  Stefan Reuther  <Streu@gmx.de>

	* int/exec.cc (checkForBreak), ui/event.cc (checkBreakEvent),
	int/if/guiif.cc (checkBreak): implemented ability to cancel
	running scripts using Ctrl-Break. This slows down execution by
	approx. 3%. It should be revised when we have proper process
	status management.

2010-05-17  Stefan Reuther  <Streu@gmx.de>

	* client/dialogs/consoledlg.cc: synchronous updates while script
	is running, so that 'Print' is visible immediately. Command entry
	scrolls to end of console.

	* int/builtin.cc: compile 'Find' and 'Count' using compileCondition

	* int/if/objif.cc (IFObjMark): 'Mark z(0)' now behaves as 'Mark 1',
	using the convention that a null argument is the same as an omitted
	argument, and the same as PCC 1.x.

2010-05-11  Stefan Reuther  <Streu@gmx.de>

	* int/bytecode.cc (relocate): update line number information when
	compacting the code

2010-05-10  Stefan Reuther  <Streu@gmx.de>

	* int/simple.cc, client/main.cc: added hooks ENTERDIRECTORY and
	LOAD; added init files pcc2init.q and autoexec.q.

	* client/scr-base.cc, client/scr-ship.cc, int/if/guiif.cc: moved
	functions 's' (ship spec), 'b' (build ship), 'a' (build ammo) into
	script land

	* int/bytecode.cc (relocate): eliminate null operations, labels

	* int/exec.cc, int/interror.cc, int/simple.cc, int/statement.cc:
	compile errors are now reported with file trace

	* int/bytecode.cc, int/exec.cc, int/simple.cc, int/statement.cc,
	client/dialogs/consoledlg.cc: track line numbers when compiling;
	report backtrace on errors

2010-05-09  Stefan Reuther  <Streu@gmx.de>

	* int/exec.cc, int/expr.cc, int/statement.cc: changed definition
	of maIndirect to take args:val:R, args:R (was R:args, val:R:args).
	This moves the function R towards the 'ind' instruction, and
	simplifies read/modify/write.

	* int/bytecode.cc, int/opcode.cc: improved disassembler to
	correctly show instruction parameters

	* int/statement.cc (compileDim): when optimizing local variable
	initialisation, do no longer generate 'pushbool -1, poploc X', and
	assume variables start out initialized to null.

	* int/intglobal.cc (defineGlobalValue, defineGlobalProcedure): new
	functions, used to simplify initialisation

	* client/scr-base.cc, client/scr-planet.cc, client/scr-ship.cc,
	int/if/guiif.cc: moved functions 'm' (mission), 't' (tech, tax),
	'b/d/m/tab' (build structures), 'e' (enemy), 's/c-s' (supplies),
	'g' (give) into script land

	* game/ship.cc (canDoSpecial): bugfix: all ships with per-ship
	abilities were treated as having all special functions

2010-05-08  Stefan Reuther  <Streu@gmx.de>

	* int/if/globalif.cc (IFTruehull): return 0 on range error instead
	of throwing, to match PCC 1.x behaviour

	* int/if/baseif.cc: changed Storage.Hulls() and Build.Hull$
	properties to match PCC 1.x

	* game/planet.cc (getMaxStructures): fixed Maybe type, avoid crash
	when invoked on a planet with unknown colonists

	* int/statement.cc (compileTry): generate correct 'suncatch'
	instructions for every 'catch'. 'Try' statements without 'Else'
	were accumulating exception records that ultimately crashed PCC2.

	* int/if/shipif.cc (getShipProperty): changed behaviour of
	ispOrbitId and ispWaypointPlanetId to match PCC 1.x.

2010-05-07  Stefan Reuther  <Streu@gmx.de>

	* int/if/shipif.cc (getShipProperty(ispAuxAmmo)): fixed crash when
	property of a ship with unknown aux weapon was requested

2010-05-06  Stefan Reuther  <Streu@gmx.de>

	* game/spec.h (GTorpedo::getMass): should be 1, not launcher mass;
	the only use of this function is to export it to scripts as
	Torpedo().Mass which should be 1.

	* int/statement.cc (compileDim): do not optimize "local a" into a
	predeclared variable when the current routine contains any user
	call or Eval; those might reference the previous instance of that
	variable as well

2010-05-05  Stefan Reuther  <Streu@gmx.de>

	* int/statement.cc (compileOn): bugfix: relocate BCO containing
	hook body, not the (incomplete) BCO containing the "On" command.

2010-05-04  Stefan Reuther  <Streu@gmx.de>

	* int/value.cc: removed <cmath>, it is suspected to hurt on MacOSX
	[Ingo von Borstel]

	* client/dialogs/consoledlg.cc, client/dialogs/searchdlg.cc,
	arch/unix/dirs.cc, flak/pdk-play.cc, int/builtin.cc, io/iostr.cc:
	added missing #includes [Matteo Boccafoli]

2010-05-03  Stefan Reuther  <Streu@gmx.de>

	* tests/selftest.q: added initial interpreter testsuite

	* int/exec.cc (handleEvalExpression): bugfix: correctly clean up
	stack

2010-05-02  Stefan Reuther  <Streu@gmx.de>

	* int/builtin.cc: implemented EVAL function

2010-05-01  Stefan Reuther  <Streu@gmx.de>

	* int/if/planetif.cc: implemented MINED.STR using GCargoSpec

	* int/if/shipif.cc: implemented CARGO.STR

	* int/if/ifutil.cc: checkIntArg now allows floats, like PCC 1.x

	* client/labels.cc, client/search.cc,
	client/dialogs/consoledlg.cc, int/exec.cc, int/simple.cc,
	int/statement.cc: relocate BCOs after compilation to avoid
	expensive symbol lookups

2010-04-30  Stefan Reuther  <Streu@gmx.de>

	* int/if/globalif.cc (IFIsSpecialFCodeGet): return true if
	parameter has >3 characters but starts with a special fcode,
	because SetFCode with that parameter will make it special
	(IFNewLineRaw): implemented NEWLINE, NEWLINERAW, NEWRECTANGLE,
	NEWRECTANGLERAW, NEWMARKER

2010-04-29  Stefan Reuther  <Streu@gmx.de>

	* int/compound.h: converted all function calls to use IntArgBlock

	* int/args.h: IntArgBlock moved here

2010-04-28  Stefan Reuther  <Streu@gmx.de>

	* int/data.h (IntArgBlock): new. Used at some places to simplify things

	* game/univ.cc (GUniverse::markChanged): new

2010-04-27  Stefan Reuther  <Streu@gmx.de>

	* int/if/globalif.cc: implemented NEWCIRCLE

2010-04-26  Stefan Reuther  <Streu@gmx.de>

	* int/if/guiif.cc: implemented UI.INPUTNUMBER

	* resource/core.q: implemented UI.MESSAGE for console mode.
	Improved some other routines

2010-04-25  Stefan Reuther  <Streu@gmx.de>

	* int/if/guiif.cc: implemented UI.CHOOSEOBJECT, UI.MESSAGE

	* int/exec.cc (run): handle GError

	* int/if/planetif.cc: implemented BUILDBASEDEFENSE, SELLSUPPLIES

	* int/if/baseif.cc: implemented BUILDBEAMS, BUILDENGINES,
	BUILDFIGHTERS, BUILDHULLS, BUILDLAUNCHERS, BUILDTORPS, SETTECH,
	BUILDSHIP

	* int/builtin.cc: implemented FINDSHIP, FINDPLANET, COUNTSHIPS,
	COUNTPLANETS

	* int/opcode.h, int/exec.cc: implemented sNamedShared for maPush,
	maPop, maStore

	* int/if/globalif.cc: implemented CADD, CCOMPARE, CDIV, CEXTRACT,
	CMUL, CREMOVE, CSUB

	* game/cspec.cc: new

	* game/cost.cc: modified to use game/cspec.cc

2010-04-24  Stefan Reuther  <Streu@gmx.de>

	* int/simple.cc, client/cscreen.cc: implemented UI.PREFIX

	* int/if/guiif.cc, resource/core.q: implemented 'f' (and C-f) as
	script

	* int/context.h, int/exec.cc: contexts can tell about about their
	object

	* int/if/planetif.cc, int/if/baseif.cc: implemented AUTOBUILD,
	BUILDBASE, BUILDDEFENSE, BUILDFACTORIES, BUILDMINES,
	SETCOLONISTTAX, SETFCODE, SETMISSION, SETNATIVETAX

2010-04-23  Stefan Reuther  <Streu@gmx.de>

	* int/if/baseif.cc, int/if/shipif.cc: implemented FIXSHIP,
	RECYCLESHIP, SETWAYPOINT

2010-04-22  Stefan Reuther  <Streu@gmx.de>

	* int/statement.cc (compileIf): implemented ELSE IF

2010-04-20  Stefan Reuther  <Streu@gmx.de>

	* int/statement.cc, int/exec.cc: implemented ON, RUNHOOK

2010-04-18  Stefan Reuther  <Streu@gmx.de>

	* int/if/playerif.cc, int/if/globalif.cc: implemented more
	properties

	* int/if/guiif.cc, resource/core.q: implemented browsing as script

	* ui/event.cc (convertEvent): generate shifted wheel events

2010-04-17  Stefan Reuther  <Streu@gmx.de>

	* int/if/globalif.cc: implemented PLANETAT

	* game/config.cc: added module initializer

	* int/builtin.cc: implemented KEY()

	* resource/core.q: implemented '.', C-z, C-f

	* client/dialogs/keymapdlg.cc: new dialog

	* client/chartusr.cc, client/scr-base.cc, client/scr-planet.cc,
	client/scr-ship.cc, resource/core.q: 'f9' now implemented as script

	* client/cm-standard.cc: implemented user keymaps

	* int/if/planetif.cc: implemented SETCOMMENT

2010-04-16  Stefan Reuther  <Streu@gmx.de>

	* ui/iconbox.cc: added soft scrolling. Make sure that when there
	is an entry just out of the widget, some pixels of it are visible
	to be clickable

	* client/wscorechart.cc: fixed display bug when a thick horizontal
	line appears at the top of the chart

2010-04-15  Stefan Reuther  <Streu@gmx.de>

	* client/scr-ship.cc (handleEvent): 'n' now implemented in core.q.

	* int/statement.cc (compileAmbiguousStatement): generate errors
	for undefined identifiers, to avoid parsing rubbish and ending up
	with a misleading standard message ("expression incorrectly
	terminated") in most cases

	* int/if/globalif.cc: implemented TRANSLATE, FORMAT

	* int/if/shipif.cc: implemented SETMISSION, MISSION.SHORT

2010-04-14  Stefan Reuther  <Streu@gmx.de>

	* int/if/shipif.cc: implemented SETCOMMENT, SETFCODE, SETENEMY,
	SETSPEED, SETNAME

2010-04-13  Stefan Reuther  <Streu@gmx.de>

	* int/statement.cc (compileAmbiguousStatement): bugfix: NOT is a
	possible first, not a possible second. This fix makes "Mark Not
	Marked" work.

	* int/if/objif.cc: new. Implement MARK and UNMARK for planets and
	ships

2010-04-12  Stefan Reuther  <Streu@gmx.de>

	* ui/widget-il.cc: implemented ilf_GameChars

	* int/intglobal.cc (initInterpreter): define SYSTEM.ERR to make
	exception handling work

	* int/if/conif.cc: implemented UI.INPUT for console

2010-04-11  Stefan Reuther  <Streu@gmx.de>

	* client/chartusr.cc, client/labels.cc, game/fcode-load.cc,
	game/mission.cc, game/prefio.cc, game/reg.cc, game/stat-file.cc,
	game/team.cc, int/intglobal.cc, int/if/initif.cc: removed
	functions from public interface which are now handled with module
	initialisation

	* client/main.cc: load core.q

	* int/if/conif.cc: new file. Same as int/if/guiif.cc, but for
	console; parts implemented in core.q instead

	* int/statement.cc (compileCreateProperty), int/exec.cc:
	implemented CREATESHIPPROPERTY, CREATEPLANETPROPERTY.

	* io/io.cc: simplified and removed unused code (T_BOOL, T_TRISTATE)

	* int/if/planetif.cc (setPlanetProperty), int/if/baseif.cc
	(setBaseProperty): implemented assignment to planet properties

	* int/if/shipif.cc (setShipProperty): implemented.
	Changed ispXXX constants to match naming convention used elsewhere

	* int/if/guiif.cc: new file. Implemented MESSAGEBOX, UI.UPDATE,
	UI.INPUT

	* client/dialogs/consoledlg.cc: added profiling
	added automatic user interface update

2010-04-10  Stefan Reuther  <Streu@gmx.de>

	* int/compound.cc (IntSimpleProcedureValue): new

	* int/if/globalif.cc: implemented ADDCOMMAND

2010-04-09  Stefan Reuther  <Streu@gmx.de>

	* int/if/: game interface handles that no turn is loaded

	* util/modinit.h: new mechanism for module initialisation

2010-04-05  Stefan Reuther  <Streu@gmx.de>

	* game/hullfunc.cc: revised usage of 'const' and 'dev_t'

2010-04-03  Stefan Reuther  <Streu@gmx.de>

	* game/hullfunc.cc, game/sim-result.cc, ui/widget-tab.cc:
	std::vector<T*> -> ptr_vector<T>

	* ui/widgets.cc: split widgets into separate modules

	* init/: attempt to reorganize startup initialisation

	* game/prefio.cc (loadUserPreferences): moved here from util/conf-glob

2010-03-28  Stefan Reuther  <Streu@gmx.de>

	* int/exec.cc (handleLoad): support files with more than one
	command in them. D'oh!

	* client/cscreen.cc (handleEvent): implemented user keymaps

	* int/statement.cc: implemented BIND
	(compileFor): use uinc instruction

2010-03-27  Stefan Reuther  <Streu@gmx.de>

	* int/keymap.cc: new

	* int/statement.cc: implemented CREATEKEYMAP

	* client/cscreen.cc: split and cleaned up; users changed

	* client/search.cc: search in comments if set so

	* int/opcode.h: removed sEmpty; this is now done by sBoolean

2010-03-26  Stefan Reuther  <Streu@gmx.de>

	* int/statement.cc (compileEval): implemented EVAL

2010-03-24  Stefan Reuther  <Streu@gmx.de>

	* int/statement.cc: make sure user doesn't redefine keywords.
	Fixed 'Dim' to use pop, not store. Minor cleanups.
	(compileSelect): implemented SELECT CASE

2010-03-23  Stefan Reuther  <Streu@gmx.de>

	* client/dialogs/consoledlg.cc (onEnter): console now accepts
	statements (and expressions, of course).

	* int/exec.cc (handleEvalStatement): must drop stack arguments

	* int/statement.cc (compileDim): added optimisation of DIM LOCAL.

2010-03-22  Stefan Reuther  <Streu@gmx.de>

	* int/opcode.cc, int/exec.cc, int/statement.cc: implemented PRINT

2010-03-21  Stefan Reuther  <Streu@gmx.de>

	* int/csource.cc: IntSingleLineCommandSource->IntMemoryCommandSource

	* int/exec.cc: implemented miSpecialEvalStatement,
	miSpecialEvalExpr, miSpecialReturn, miSpecialLoad

	* int/statement.cc: implemented RETURN, FOR. Improved error handling.
	implemented LOAD, TRYLOAD.

2010-03-20  Stefan Reuther  <Streu@gmx.de>

	* int/compound.cc, int/exec.cc, int/statement.cc: implemented SUB,
	FUNCTION, and compilation of ambiguous statements into function or
	subroutine calls

	* int/bytecode.cc (IntBytecodeObject): new accessors

	* int/opcode.cc: defined miIMProc, miSpecialEval, miSpecialDefSub

	* int/statement.cc: completely revised IntStatementCompilationContext.
	Implemented DO, TRY, WITH

	* int/lex.cc (getRemainingLine): new

	* int/exec.cc (handleException): changed semantics of catch

2010-03-16  Stefan Reuther  <Streu@gmx.de>

	* int/statement.cc (compileDim), int/exec.cc (handleDim): first
	version of DIM

2010-03-15  Stefan Reuther  <Streu@gmx.de>

	* int/statement.cc (compileForEach): new

2010-03-14  Stefan Reuther  <Streu@gmx.de>

	* int/statement.cc (compileExpressionStatement): implemented
	auto-conversion of equality comparisons into assignments, to make
	statements like "a=1" work

	* tests/teststmt.cc, int/csource.cc, int/statement.cc,
	int/keywords.cc: first attempt at statement compilation

2010-03-13  Stefan Reuther  <Streu@gmx.de>

	------------------------------ release_20100314_beta8

	* util/atom.cc: use ptr_vector. Added atomClear() method for
	testing use

	* int/builtin.cc (compileValue): fixed Min/Max to handle StrCase

2010-03-07  Stefan Reuther  <Streu@gmx.de>

	* P9/, arch/: added support for compilation using MinGW

	* client/dlg-list.cc (WObjectSelectionList): initialize info_space

2010-03-06  Stefan Reuther  <Streu@gmx.de>

	* client/dlg-list.cc (WObjectSelectionList): display selection,
	and hook into universe change hooks to redraw on universe changes

	* game/ship.cc, game/planet.cc, game/ion.cc, game/mine.cc,
	game/ufo.cc, client/screens.cc: changed getFullName() to closer
	match PCC 1.x; looks better in mixed lists

	* int/if/playerif.cc: implemented PLAYER(), and more properties

	* game/lock.cc: fixed type of lock_config to make it work with
	ConfigIntRefOption

2010-03-05  Stefan Reuther  <Streu@gmx.de>

	* int/if/globalif.cc (IFRandomFCode): implemented RANDOMFCODE()

	* int/builtin.cc: implemented ATOM(), ATOMSTR()

2010-03-04  Stefan Reuther  <Streu@gmx.de>

	* client/dialogs/consoledlg.cc (doInsert): new function (Ins)

	* client/dialogs/searchdlg.cc (doSearchHere): new function (C-h)

2010-03-02  Stefan Reuther  <Streu@gmx.de>

	* client/dialogs/consoledlg.cc: recall keeps last line even when
	temporarily scrolling back

	* installer/prepare2.pl: permitted invocation from pcc-v2/, not
	just pcc-v2/installer/.

	* client/labels.cc (recomputeLabels): only rethrow error when
	there actually was one

	* int/interror.cc (IntError): rediddled inheritance. IntError no
	longer is a GError. Borland refuses to compile the old version
	correctly.

	* util/console.h: raised scrollback buffer size. Why not, we're 32-bit.

2010-03-01  Stefan Reuther  <Streu@gmx.de>

	* int/if/baseif.cc: implemented STORAGE.XXX() properties

2010-02-26  Stefan Reuther  <Streu@gmx.de>

	* util/conf.h (ConfigIntArrayBaseOption): new class

	* int/if/globalif.cc: added ISSPECIALFCODE(), TRUEHULL()
	(IFCfgGet): simplified

2010-02-24  Stefan Reuther  <Streu@gmx.de>

	* client/labels.cc: simplified. Added ability to report runtime
	errors, too (not only compilation errors)

	* client/marks.cc: swapped own/enemy ship icons to conform to
	PCC1.x look

2010-02-23  Stefan Reuther  <Streu@gmx.de>

	* client/dialogs/labeldlg.cc: implemented starchart label
	configuration dialog (Alt-L)

2010-02-22  Stefan Reuther  <Streu@gmx.de>

	* client/labels.cc: implemented starchart labels

	* game/global.cc (setDisplayedTurn): raise sig_turn_changed at a
	more useful place, when the new turn is visible

	* game/cargo.cc (commit, cancel): fixed sign error: negative
	difference means positive reservation; bogus code caused objects
	to temporarily (until the GCargoArbiter is destroyed) show up with
	X-3*Y cargo when they had X and Y were removed, which got visible
	on the script side

2010-02-21  Stefan Reuther  <Streu@gmx.de>

	* client/dialogs/gotoxydlg.cc: new dialog

	* game/coord.cc (parseCoordinates): new function

	* client/search.h: search function revised and split into "UI" and
	"functionality" part

2010-02-20  Stefan Reuther  <Streu@gmx.de>

	* client/cscreen.cc, client/chartusr.cc: added F7 key (search)

	* client/search.cc: added Minefield, Ion Storm, and Ufo searching

	* client/dialogs/consoledlg.cc: implemented recall (history)

	* int/builtin.cc: COUNT() can be used with one argument

	* int/if/mineif.cc, int/if/ionif.cc, int/if/ufoif.cc: added
	Minefield, Ion Storm, and Ufo properties

	* int/expr.cc (compileCondition): implemented compileCondition for
	boolean operations to generate shorter code

2010-02-15  Stefan Reuther  <Streu@gmx.de>

	* int/if/baseif.cc: implemented base properties

2010-02-13  Stefan Reuther  <Streu@gmx.de>

	* int/if/planetif.cc: implemented planet properties

	* int/if/playerif.cc: separated player name access

	* int/if/globalif.cc (IntGlobalContext): moved here, and added
	some "SYSTEM." properties

2010-02-11  Stefan Reuther  <Streu@gmx.de>

	* game/mission.cc: implemented parsing for all mission properties.
	Implemented worksOn() and getName() using interpreter.
	(loadFromIniFile): synthesize parameter name and label expression
	from mission.ini, similar to what PCC 1.x does.

2010-02-08  Stefan Reuther  <Streu@gmx.de>

	* int/if/globalif.cc: implemented SHIPNAME(), PLANETNAME(), CFG()

2010-02-07  Stefan Reuther  <Streu@gmx.de>

	* int/interror.cc: added constructor functions for IntError's, and
	used them throughout the code to simplify/unify error messages.

	* int/value.cc (makeIntValue etc): new functions, used throughout,
	to shorten source and object code

2010-02-06  Stefan Reuther  <Streu@gmx.de>

	* client/scr-ship.cc (handleEvent): handle C-s correctly (d'oh)

	* int/context.cc: implemented optional GLOBAL. prefix for global
	properties

	* int/if/specif.cc: new. Implemented ENGINE(), BEAM(), TORPEDO(),
	LAUNCHER(). Ship property access cleaned up a little.

	* int/if/hullif.cc: implemented HULL()

	* game/cost.cc (toCargospec): new method

	* int/if/globalif.cc: implemented DISTANCE()

	* int/compound.cc (IntSimpleIndexableValue, IntSimpleContextValue):
	new classes, used to simplify implementation of common case

	* int/builtin.cc: implemented COUNT()

	* int/bytecode.cc (addVariableReferenceInstruction): new function,
	used to implement name lookup optimisation (if we know what
	context a name will be in, look it up at compile time, and
	generate by-address instead of by-name access)

	* game/ship.cc (MapInfo): initialize pos to make valgrind happy

	* game/spec.cc: converted hull_spec to ptr_vector to ensure it is
	freed at end
	GComponent now has getShortName()

2010-02-04  Stefan Reuther  <Streu@gmx.de>

	* int/builtin.cc: implemented StrCase()

	* int/binary.cc: added case-blind versions of string functions
	(comparisons, Min/Max/InStr/First/Rest)

	* int/expr.h (IntCompilationContext): new, can be used to pass
	statically-determined expression properties around.

2010-02-02  Stefan Reuther  <Streu@gmx.de>

	* ui/listbox.cc (handleEvent): list boxes do not capture keyboard
	input when they don't have focus

	* int/unary.cc (FNot2): new operation, for search function

	* client/search.cc: search function, first version

2010-01-31  Stefan Reuther  <Streu@gmx.de>

	* int/intglobal.cc: added global_contexts which can be used to
	store the current set of active contexts. Used to support console
	on ship screen.

2010-01-30  Stefan Reuther  <Streu@gmx.de>

	* client/dialogs/consoledlg.cc: first version of a console

	* client/widgets/consoleview.cc: display scrollback amount. When
	at end, stay at end when lines are added. Use setSelectedWidget().
	Implemented message formats.

	* int/binary.cc, int/unary.cc, int/builtin.cc: implemented more
	functions. We now have all non-game-related functions except for
	Random(), StrCase(), Atom(), and AtomStr().

2010-01-27  Stefan Reuther  <Streu@gmx.de>

	* int/exec.cc, int/context.cc, int/data.cc: minor improvements

	* int/binary.cc (FPow): fixed "int^negative" case

2010-01-26  Stefan Reuther  <Streu@gmx.de>

	* client/widgets/consoleview.cc: new

2010-01-25  Stefan Reuther  <Streu@gmx.de>

	* int/if/shipif.cc: implemented more getters and setters

	* int/builtin.cc: added "Find" function (preliminary, will change)

2010-01-24  Stefan Reuther  <Streu@gmx.de>

	* int/if/hullif.cc, int/if/shipif.cc, int/if/initif.cc: new
	modules. First, incomplete implementation of game interface. Let's
	see how well it'll work.

	* int/unary.cc, int/binary.cc: implemented more functions

	* int/intglobal.cc: added storage for global variables

	* int/exec.cc: implemented more opcodes

	* int/context.cc, int/compound.cc: new

2010-01-23  Stefan Reuther  <Streu@gmx.de>

	* int/exec.cc, int/unary.cc, int/binary.cc: first prototypical
	execution environment

2010-01-21  Stefan Reuther  <Streu@gmx.de>

	* int/builtin.cc: new, basic builtin function support

2010-01-20  Stefan Reuther  <Streu@gmx.de>

	* int/bytecode.cc, int/expr.cc, int/parseexpr.cc, int/opcode.cc:
	new, initial expression parser

2010-01-17  Stefan Reuther  <Streu@gmx.de>

	* int/lex.cc: new

2010-01-10  Stefan Reuther  <Streu@gmx.de>

	------------------------------ release_20100116_beta7

	* client/scr-score.cc, client/wscore.cc: added cumulative score
	display ('x' on score chart view)

	* client/dlg-visual.cc: simplified by using GObjectTypeObserver /
	WObjectTypeObserverTile instead of WVisualScanTile
	Moved info tiles into separate files

2010-01-04  Stefan Reuther  <Streu@gmx.de>

	* game/lock.cc (lock_config): exported into pcc2.ini

2010-01-03  Stefan Reuther  <Streu@gmx.de>

	* game/obj.h: simplified dirty-object handling. All callers
	changed.

	* game/tvcr.cc (fireTorpedoes): do not continue charging torpedo
	launchers when all torpedoes have been fired; avoids overflow due
	to limited range of torp_status

2010-01-02  Stefan Reuther  <Streu@gmx.de>

	* game/pvcr.cc: another 10..15% speedup by computing random
	numbers in the same way as for randomRange100(), 2009-07-19.

	* ui/listbox.cc (adjustPosition): make sure that if a first
	visible item is preceded by an (inaccessible) heading that the
	heading is visible when the item is selected.

	* client/dlg-visual.cc: implemented sort orders (context menu on
	ship list). I'm not entirely happy with the API, but it will do
	for the moment.

	* tests/: updated test programs to current APIs. Removed old test
	programs that no longer work and are no longer needed:
	- testconfig (testee no longer exists)
	- testexpn (now tested in t_game_player)
	- testmission (no longer works)

	* game/objlist.cc, game/objtypes.h: updated behaviour regarding
	non-existant objects

	* game/objnote.cc (GNoteObject): dividers (id=0) now count as
	non-existant objects. GNoteContainer updated to reflect that.

	* ui/listbox.cc (handleCommand): implemented
	cm_INT_QueryReferencePoint to make right-click menu pop up at the
	right place

2010-01-01  Stefan Reuther  <Streu@gmx.de>

	* doc/: updated manpages; un-trn.txt merged into un-trn.6 and
	removed.

2009-12-31  Stefan Reuther  <Streu@gmx.de>

	* client/widgets/commandinfo.cc: added command info widget to
	command edit window

	* int/data.cc (load): fixed memory leak

	* game/fcode.cc (isAllowedRandom): do not generate '?' in random
	fcodes; those have a special meaning to the simulator

	* client/scr-sim.cc (computeLayout): use StaticTranslatedStringTable

2009-12-30  Stefan Reuther  <Streu@gmx.de>

	* util/strtab.cc, util/strlist.cc: added interface StringTable.
	Implemented StringList (ex UIStringList) with it. The intention is
	to use it to layout cells displaying one-of-a-X fields; this has
	been used in client/wscoretable.cc. All callers of UIStringList
	changed to new calling sequence.

2009-12-28  Stefan Reuther  <Streu@gmx.de>

	* client/wscoretable.cc (WScoreTableTimeDisplay): new

2009-12-23  Stefan Reuther  <Streu@gmx.de>

	* ui/listbox.cc (drawContent): display partial lines if required
	by layout

2009-12-22  Stefan Reuther  <Streu@gmx.de>

	* client/dlg-visual.cc: added list mode ('l')

2009-12-21  Stefan Reuther  <Streu@gmx.de>

	* client/dlg-visual.cc: added specification view mode ('s'), and
	prepared for list mode ('l')

	* ui/ui.cc (addChildWidget): install correct back-link when adding
	a widget at front; avoids segmentation violation if a widget from
	the middle is destroyed / removed

	* client/dlg-build.cc: added 's' on ship build screen

2009-11-29  Stefan Reuther  <Streu@gmx.de>

	* client/dialogs/funcview.cc: new dialog

	* game/hullf-list.cc (simplify): bugfix, avoid running off end of
	array

2009-11-28  Stefan Reuther  <Streu@gmx.de>

	* client/widgets/specmaininfo.cc (drawContent): show ship functions

	* game/spec.cc (findRacialAbilities): implemented correct handling
	of default/added/removed, default racial abilities (e.g. Boarding)
	are now detected correctly

	* game/exp.cc (formatExpLevelSet), game/playerset.cc (formatPlayerSet):
	new functions

2009-11-27  Stefan Reuther  <Streu@gmx.de>

	* game/ship.cc, game/utilparse.cc: added management of ship-specific
	functions (mostly untested)

2009-11-26  Stefan Reuther  <Streu@gmx.de>

	* client/cscreen.cc (WScanner): added 'l', 'y' buttons

2009-11-25  Stefan Reuther  <Streu@gmx.de>

	* client/tiles/planetecon.cc, client/scr-planet.cc: added "give planet"

	* game/cmds.cc (insertNewCommand): always insert at last possible
	place; this avoids that we reverse the command list on every load

2009-11-23  Stefan Reuther  <Streu@gmx.de>

	* client/widgets/specbaseinfo.cc, client/widgets/specbuildinfo.cc,
	client/widgets/specmaininfo.cc, client/widgets/specview.cc,
	client/scr-ship.cc: added ship specification view.

2009-11-22  Stefan Reuther  <Streu@gmx.de>

	* client/widgets/racelist.cc (setHighlight): new

	* game/shipquery.cc: new

	* game/host.cc (isEugeneGame): new

	* ui/widgets.h (UIStaticText): added WhiteNormal style

2009-11-18  Stefan Reuther  <Streu@gmx.de>

	* client/scr-ship.cc, client/dlg-visual.cc: implement remote
	control, give ship

	* client/tiles/shipequipment.cc (WShipEquipmentTile): display
	remote-control and give-ship state

	* client/remote.cc: new

	* client/tiles/shipcargo.cc (WShipCargoTile): added display of
	active beam up/beam down/transfer orders

	* ui/widgets/multilinestatic.cc: updated and moved out of
	msgbox.cc.

	* ui/widget-num.cc, client/wscanchart.cc, client/dlg-tax.cc,
	client/dlg-cargo.cc, client/dlg-ammo.cc: converted to changed
	argument handling

	* ui/widgets/abstractbutton.cc, ui/widgets/keytranslator.cc:
	updated and moved out of widgets.cc.

	* ui/prefix.cc: revised prefix argument handling

2009-11-15  Stefan Reuther  <Streu@gmx.de>

	* client/dialogs/commandedit.cc (editCommands): new dialog

	* game/cmds.cc (removeCommand): new signature. Fixed memory leak.

	* client/scr-result.cc (drawContent): display minimum fighters
	also for planets

	* client/scr-sim.cc: make sure planet name is always current in
	the simulated planet (was "?" until now)

2009-11-14  Stefan Reuther  <Streu@gmx.de>

	------------------------------ release_20091115_beta6

2009-11-11  Stefan Reuther  <Streu@gmx.de>

	* game/config.h: simplified experience and arrayisation handling.
	All users changed.

2009-11-07  Stefan Reuther  <Streu@gmx.de>

	* game/sim-run.cc, client/dlg-structure.cc: implemented
	UseBaseTorpsInCombat

	* game/config.cc: imported new config definitions from PHost

2009-11-02  Stefan Reuther  <Streu@gmx.de>

	* client/dlg-tax.cc: add '=' key

	* client/scr-ship.cc (doShipNavigationChart): nav chart implies
	auto-warp, like normal waypoint setting

2009-10-31  Stefan Reuther  <Streu@gmx.de>

	* client/dlg-ammo.cc: implement prefix argument. Limit amount of
	buildable items by available resources.

	* game/cost.cc, game/actions/baseammo.cc (limitAmount): new
	functions

	* client/wcost.cc (drawContent): implemented include_item_in_cost
	option.

2009-10-24  Stefan Reuther  <Streu@gmx.de>

	* game/lock.cc, game/objlist.cc, game/univ.cc, client/wscanchart.cc:
	fixed wrap handling. Tooltips, locking, and "list ships" now work
	across a map border.

2009-10-18  Stefan Reuther  <Streu@gmx.de>

	* game/coord.h: operators +, -, +=, -=

	* client/chartloc.cc: reworked relation between location and
	center; introduced new method getWrapAdjust(). Updated all users.
	In particular, drawing and measuring across map borders now works.

2009-10-17  Stefan Reuther  <Streu@gmx.de>

	Fixes from/inspired by Ingo von Borstel:

	* ui/widget-il.cc (run): use size_type, not int, as max length

	* gfx/gfxtypes.h: defined constants for line styles; used them
	throughout the code

	* arch/unix/dirs.cc (getNextElement): const correctness

2009-10-15  Stefan Reuther  <Streu@gmx.de>

	* ui/widgets/tooltip.cc: implemented "top"/"bottom" layout of tooltip

2009-10-14  Stefan Reuther  <Streu@gmx.de>

	* client/wscanchart.cc: added tooltips

2009-10-13  Stefan Reuther  <Streu@gmx.de>

	* client/wscorechart.cc (doTooltip): tooltips, first version

	* ui/widgets/tooltip.cc: new widget

2009-10-11  Stefan Reuther  <Streu@gmx.de>

	* client/widgets/teamgrid.cc (WTeamGrid): add blinking cursor

	* ui/widget-num.cc (UIDecimalSelector): Ctrl-T to swap digits

	* ui/widgets/timer.cc (WTimer): new

	* ui/window.cc (run): when a keyboard event is not recognized, try
	again without Shift. This avoids annoying people who accidentally
	release Shift too late before pressing Enter.

2009-09-26  Stefan Reuther  <Streu@gmx.de>

	* client/wscore.h, client/scr-score.cc: added ability to display
	scores by team

2009-09-19  Stefan Reuther  <Streu@gmx.de>

	* game/sim-run.cc: implemented honor_alliances option, and
	initialize alliance_settings from teams.

	* ui/skin.cc: fixed alliance color (tc_Yellow)

	* game/global.cc (recomputeOrbitFlags): new method to recompute
	planet rings after team editing

	* client/playerscr.cc: add team dialog

	* client/dialogs/teamedit.cc: new dialog

	* tools/c2dumpextra.cc (parseTeams): new

2009-09-18  Stefan Reuther  <Streu@gmx.de>

	* client/widgets/teamgrid.cc: new widget

	* client/widgets/racelist.cc: moved here from wracelist.cc,
	improved to display team names as well

	* game/team.h: team name access

2009-09-10  Stefan Reuther  <Streu@gmx.de>

	* game/team.cc (loadTeams, saveTeams): added team.cc I/O

	* game/reg.cc (allowRegistered): moved here

2009-09-08  Stefan Reuther  <Streu@gmx.de>

	* game/team.cc, game/playerset.cc: moved more stuff here from
	player.cc.

2009-09-01  Stefan Reuther  <Streu@gmx.de>

	* game/racename.cc: moved more stuff here from player.cc.
	racename_data is now player_racenames + host_racenames. All users
	changed.

2009-08-31  Stefan Reuther  <Streu@gmx.de>

	* game/racename.cc: new file, split from player.cc, and expanded

2009-08-15  Stefan Reuther  <Streu@gmx.de>

	* game/pvcr.cc (fighterIntercept): speedup +5% for carrier/carrier
	fights

2009-08-14  Stefan Reuther  <Streu@gmx.de>

	* client/dlg-build.cc (WShipBuildScreen): implemented 'u' key.

2009-08-13  Stefan Reuther  <Streu@gmx.de>

	* client/dlg-build.cc: build screen reworked to take advantage of
	new GStarbaseBuildTransaction. "Build part" dialogs now show same
	amount as shown on build screen, the selected ship no longer blocks
	minerals.

2009-08-05  Stefan Reuther  <Streu@gmx.de>

	* game/actions/basebuild.h: reworked GStarbaseBuildTransaction
	descendants to separate logic from transaction handling. The
	intent is to make it possible to edit a build action and do
	interesting things with it without requiring to have a transaction
	around all the time which blocks the resources on the planet.

	* game/cost.h: new members, isEmpty() and operator<<

2009-07-26  Stefan Reuther  <Streu@gmx.de>

	* game/cargo.cc: simplified and streamlined
	* game/actions/: transactions moved here into separate modules
	from game/action.h and game/act-xxx.cc

2009-07-25  Stefan Reuther  <Streu@gmx.de>

	* ui/ui.cc (observe): new method

2009-07-19  Stefan Reuther  <Streu@gmx.de>

	* game/pvcr.cc (randomRange100): new function, +10..15% speed

	* client/wscorechart.cc: implemented auxiliary grid lines

2009-07-15  Stefan Reuther  <Streu@gmx.de>

	* client/chart.cc (draw): draw only visible map images, to improve
	performance

2009-07-14  Stefan Reuther  <Streu@gmx.de>

	* ui/util.h (drawDashedFrame): merged two implementations

2009-07-12  Stefan Reuther  <Streu@gmx.de>

	* tools/c2dump.cc: first take at c2dump utility

	* ui/window.cc (handleEvent): c-s-r to force redraw

	* gfx/gfxcompl.h, client/marks.h: converted from "int x,y"
	parameters to GfxPoint parameters

	* client/tiles/objheader.cc (WObjectTypeHeaderTile): show
	selection status

	* client/dlg-objsel.cc: new dialog, replaces WObjectSelectionTile.
	The dialog now contains regular tiles.

2009-07-11  Stefan Reuther  <Streu@gmx.de>

	* installer/PCC2-Installer.nsi: added workaround to NSIS
	automatically appending "PCC2" to Winplan path chosen by player
	[Greg Watts / Cherek]

	* client/scr-ufo.cc, client/scr-mine.cc: minefield and Ufo tiles
	separated

	* client/scr-base.cc, client/scr-planet.cc, client/scr-ship.cc:
	base/planet/ship tiles separated

	* game/objtypes.h (GAliasObjectType): new

2009-07-09  Stefan Reuther  <Streu@gmx.de>

	* game/objtypes.cc, client/wtile.cc: WObjectTypeObserverTile
	non-UI part moved into new GObjectTypeObserver class.

2009-07-05  Stefan Reuther  <Streu@gmx.de>

	* client/chart.cc (drawShipSelAndVectors): also draw vectors for
	"non-existant" (i.e. history-only) ships

2009-07-04  Stefan Reuther  <Streu@gmx.de>

	------------------------------ release_20090704

	* client/chart.cc (drawShipTrail): implemented map image iteration
	support, so map ship trails now again work correctly

2009-06-29  Stefan Reuther  <Streu@gmx.de>

	* flak/vis-ui.cc (onResize): forgot to rename this routine during
	UI conversion.

2009-06-27  Stefan Reuther  <Streu@gmx.de>

	* game/ufo.cc: correctly save current position of an Ufo in the
	database, for retrieval by history

	* client/chart.cc (draw): iteration over map images is done in
	individual sub functions, eliminating map boundary artifacts.

	* game/coord.cc (getNumMapImages, getPointAlias): new functions

	* client/cm-marker.cc, client/chartusr.cc: 'p' exits draw mode

	* client/dlg-tax.cc: 'u' undoes tax changes

2009-06-23  Stefan Reuther  <Streu@gmx.de>

	* client/dlg-tax.cc: added Auto-Tax function

	* ui/ui.cc (getFocusState): new function. Used it at many places
	instead of hasState(st_Focused); focused widgets in a background
	window now keep appearing focused like in PCC 1.x.

2009-06-21  Stefan Reuther  <Streu@gmx.de>

	* resource/font1.fnt: added version from PCC1.x, with
	pseudo-antialiasing (but not all characters)

	* client/scr-env.cc: show base taxes

	* game/ufo.cc (postprocess): correctly register timestamps

	* game/host.h: implemented Host's 75% max-tax pseudo-rule for Lizards

	* game/drawing.cc (getDistanceToWrap): new function. Used in
	findNearestVisibleDrawing() to enable object deletion across map
	borders.

2009-06-16  Stefan Reuther  <Streu@gmx.de>

	* client/scr-ufo.cc (drawData): add color indicator

2009-06-14  Stefan Reuther  <Streu@gmx.de>

	* game/objtypes.cc (GObjectType): iteration primitives simplified/
	better defined. All users changed.

	* game/sim-game.cc (copyShip): added ability to copy targets
	added ability to copy nonstandard hull functions

	* client/scr-ship.cc (doShipNavigationChart): fixed initialisation
	of scanner endpoint; was not working because clipScannerPosition
	does not work before widget layout. Added scanner widget.

	* client/cscr-sel.cc: selection dialog accepts Home/End

2009-06-13  Stefan Reuther  <Streu@gmx.de>

	* client/dlg-tax.cc: prefix argument support; shift-arrow tax
	selection

	* client/wscanchart.cc: prefix argument support for keyboard-move
	mode

2009-06-12  Stefan Reuther  <Streu@gmx.de>

	* client/chartloc.cc (updateObject), client/chart.cc
	(drawShipSelAndVectors): implemented vec_id; starchart now shows
	trail of last selected ship

2009-06-07  Stefan Reuther  <Streu@gmx.de>

	* client/scr-ship.cc, game/ship-form.cc: added mine lay/scoop
	prediction. Mission parsing should be 100% conformant to hosts'
	rules, "danger" check in visualisation is still missing.

2009-06-04  Stefan Reuther  <Streu@gmx.de>

	* game/host.h (isExactHyperjumpDistance2): new function; used at
	three places

2009-06-01  Stefan Reuther  <Streu@gmx.de>

	* client/chart.cc (drawShipVector): implemented display of ship
	trails

	* game/ship.cc (adjustShipTrack): function did copying in wrong
	order, causing ship track information to not be recorded.

2009-05-30  Stefan Reuther  <Streu@gmx.de>

	------------------------------ release_20090530

2009-05-29  Stefan Reuther  <Streu@gmx.de>

	* client/cm-marker.cc (editMarkerComment): new. Added M-f9
	function in move-marker and regular mode.

2009-05-27  Stefan Reuther  <Streu@gmx.de>

	* ui/uiglobal.cc (optSetNoMouseGrab): new option '-nomousegrab'.

	* ui/event.cc (setInhibitMouseGrab): new.

	* client/cm-marker.cc (finishDrawing): fixed crash when a new
	drawing is immediately deleted again

2009-05-26  Stefan Reuther  <Streu@gmx.de>

	* game/utilparse.cc (process): typo fixes

	* game/planet-hist.cc (addMessageInformation): fix handling of
	mi_PlanetColonists. add mi_PlanetNatives/Race/Gov.

2009-05-19  Stefan Reuther  <Streu@gmx.de>

	* client/chartusr.cc: added ability to draw markers
	added f9/S-f9/C-f9 keys for ships and planets

	* client/dlg-draw.h (WMarkerTypeSelector): new

2009-05-17  Stefan Reuther  <Streu@gmx.de>

	* client/scr-sim.cc (WSimOptionTile), game/sim-run.cc
	(runSimulation), game/sim.h: added "randomize fcode on every
	fight" option. Idea by Thomas Voigt.

	* client/main.cc (main): call initCoordinates(), to support
	PHost-style wraparound

	* client/chartloc.cc (setCenter, setLocation): normalize coordinates

	* ui/event.cc (simplSym): handle the case that numpad numbers are
	not associated with Unicode name by OS input routine

	* arch/win32-bcc55/SDL_main.c: define a main() function to allow
	compilation as console application

2009-05-10  Stefan Reuther  <Streu@gmx.de>

	* game/fcode.cc (isAllowedRandom): fixed this function's
	definition; it was mistreating "mfX" fcodes. New research also
	determines that "mfX" is not case-sensitive.
	(isExtraFC): fixed to handle prefix definitions

	* client/main.cc (handleEvent): rediddled keyboard focus handling;
	didn't work right probably since switch to new UI

	* client/scr-base.cc (handleEvent): TAB as synonym to 'b'

2009-05-09  Stefan Reuther  <Streu@gmx.de>

	* arch/win32-bcc55/shell.cc: use SHGetSpecialFolderLocation,
	not GetWindowsDirectory, to locate pcc2.ini.

2009-05-06  Stefan Reuther  <Streu@gmx.de>

	* game/act-structure.cc (doStandardAutoBuild): bugfix: mines
	were always built first even if speed sequence says otherwise

	* game/ship-form.cc (setOptimumWarp): new
	* client/scr-ship.cc (setWaypointToScanner): use it

2009-05-03  Stefan Reuther  <Streu@gmx.de>

	* ui/widget-il.cc (handleEvent): implemented all PCC 1.x input
	widget keys

	* client/cscreen.cc (handleEvent): S-f1, C-f1, C-f5, C-f9: changed
	to behave as in PCC 1.x (no superfluous popups)

	* client/scr-ship.cc (handleEvent): bugfix: same as 2009-04-27,
	but also for 'u' and C-p.

2009-04-27  Stefan Reuther  <Streu@gmx.de>

	* client/scr-ship.cc (doShipCargoTransfer): bugfix: use anyXXX
	types, to make unload/transfer work

2009-04-23  Stefan Reuther  <Streu@gmx.de>

	* game/act-build.cc (doChanges): fixed typo causing ship building
	not to work if ship has different number of beams and tubes.

2009-04-10  Stefan Reuther  <Streu@gmx.de>

	* client/vcrvis.cc: save playback speed in config file

	* client/chart.cc: save configuration in config file

	* client/main.cc (main): PCC2 saves config file upon exit

	* game/pref.cc: user_pref is no longer a global variable; instead
	it is exported by getUserPreferences(). This makes it available
	during construction time, allowing other modules to dynamically
	hook their config options into the user preferences list. All
	users changed.

	* util/conf.h (ConfigValueOption, ConfigIntRefOption): new,
	factored out of ConfigIntOption.

	* util/conf.cc (ValueBitsetParser): new

2009-04-09  Stefan Reuther  <Streu@gmx.de>

	* scripts/depend.pl: generated dependencies now try to be more
	stable, to avoid huge diffs in CVS

	* client/chart.cc (drawPlanets): display planet comments (in place
	of labels, until we have them)

2009-04-08  Stefan Reuther  <Streu@gmx.de>

	* client/chartusr.cc (doDistance): new

	* client/cm-distance.h: new

2009-04-07  Stefan Reuther  <Streu@gmx.de>

	* version.h: bumped version to 1.99.4 (beta 4)

	* ui/window.cc (markRedrawRegion): new

	* client/cscreen.cc (handleEvent): implemented 'y' to call
	doKeyboardMode

	* client/wscanchart.cc (doKeyboardMode): new
	(doItemLock): locking business moved here. Implemented Shift
	modifier (optimize using gravity)

2009-04-02  Stefan Reuther  <Streu@gmx.de>

	* client/chartusr.cc (doStarchart): evaluate UIEvent.tick.elapsed
	to achieve some sort of speed independency even if computer is too
	slow to draw all individual frames. 1280x1024 map movement still
	is a little shaky.

	* ui/event.cc (clearSkippedTicks, convertEvent): ev_Tick events
	contain a field UIEvent.tick.elapsed,saying how many ticks they
	describe.

2009-04-01  Stefan Reuther  <Streu@gmx.de>

	* ui/event.cc (convertEvent): If there are more motion events, and
	merge them with the current event. This avoids that events pile up
	and motion "lags" when we cannot process events fast enough. This
	happens with the starcharts at high resolution.

2009-03-30  Stefan Reuther  <Streu@gmx.de>

	* client/cm-standard.cc: really simple prototype code to display
	regular widgets (WTile) in a map overlay

2009-03-29  Stefan Reuther  <Streu@gmx.de>

	* client/chartmode.cc (WChartMode): modes now have a 'kind', and
	WChartModeList ensures only one mode of a time is active at a
	time. This way, individual modes do not have to keep track of
	previous instances of the same or similar modes. All modes changed
	accordingly.

2009-03-28  Stefan Reuther  <Streu@gmx.de>

	* client/cm-marker.cc (drawOverlays): prompts always displayed at
	center, not at cursor

	* client/chartusr.cc (doStarchart): added PgUp/PgDn function

2009-03-25  Stefan Reuther  <Streu@gmx.de>

	* game/pref.cc (GUserPreferences): added Chart.AnimThreshold
	option

	* client/cm-standard.cc (drawCursor): support that the rotating
	cursor is not at the center of the map (Location != Center)

	* client/chartusr.cc (doStarchart): added 'l'
	added smooth movement

2009-03-24  Stefan Reuther  <Streu@gmx.de>

	* client/chartusr.cc (doStarchart): added DEL function.

	* client/cm-marker.cc (WDeleteDrawingChartMode): new

2009-03-23  Stefan Reuther  <Streu@gmx.de>

	* client/chartusr.cc, client/cm-marker.cc: added marker
	drawing/movement ('p', 'v').

	* game/drawing.cc (getDistanceTo): correct computation for rectangles
	(add): returns iterator
	(erase): new method

	* client/chart.cc (drawDrawings): correctly draw rectangles. Was
	drawing them one pixel to small in both directions.

	* client/chartmode.cc (onMove): new method.

	* ui/widget-button.cc (handleEvent): use getCurrentModifierKeys()

	* ui/event.cc (getCurrentModifierKeys): new function

2009-03-21  Stefan Reuther  <Streu@gmx.de>

	* client/chartusr.cc: factored out chart modes into
	client/cm-message.cc, client/cm-standard.cc. Added 'c' function.
	Added mouse wheel zoom, vk_Quit.

	* client/dlg-draw.cc: new

	* client/chartloc.cc, client/wchart.cc: initialize drawing_filter
	* client/chart.cc (GChartViewport): added drawing_filter

	* game/drawing.cc (getDistanceTo): typo fix
	(begin, end, findNearestVisibleDrawing): new

	* game/coord.cc (getSectorNumber): typo fix in computation of the
	map center

2009-03-16  Stefan Reuther  <Streu@gmx.de>

	* client/chartusr.cc (drawCursor): use dirty rectangle handling.

	* client/chartmode.cc (markDirty): added dirty rectangle handling.

2009-03-15  Stefan Reuther  <Streu@gmx.de>

	* client/chartloc.cc (GChartLocation): split into storage of a
	"location" and a "center", to permit implementation of a VPA-/EV-/
	Winplan-style map, where the location is off-center.

	* client/chartusr.cc: use WChartMode/WChartModeList. Implemented
	first quick&dirty chart modes. Those now make overlay handling
	consistent.

	* client/chartmode.cc: formalized chart mode handling. Things like
	painting, distance mode, etc. will be WChartMode descendants.

2009-03-08  Stefan Reuther  <Streu@gmx.de>

	* client/cscreen.cc (handleEvent): when switching to the starchart
	from an object, focus the object

	* client/chartloc.cc: location information management moved here
	from chartusr.cc.

	* client/chartusr.cc: rediddled and cleaned up location management.

	* game/objlist.cc (getIndexFor): added signature taking a GObject,
	not a GObjectId.

	* client/scr-ship.cc (handleEvent): fixed TAB key, was broken since
	2009-02-08's change to objlist.cc.

2009-03-07  Stefan Reuther  <Streu@gmx.de>

	* game/ufo.cc (estimateMovement): added wormhole movement guessing

2009-03-06  Stefan Reuther  <Streu@gmx.de>

	* game/ufo.cc (GUfoType): new

	* client/scr-ufo.cc: new

2009-03-03  Stefan Reuther  <Streu@gmx.de>

	* client/chart.cc (drawUfos): draw wormhole connections

	* game/ufo.cc (postprocess): connect wormhole Ufos
	fixed wormhole merging to only look at Ufos seen this turn

2009-03-02  Stefan Reuther  <Streu@gmx.de>

	* game/utilparse.cc (process): handle record 33 (general object)

2009-03-01  Stefan Reuther  <Streu@gmx.de>

	* game/utilparse.cc (process): handle record 14 (wormhole)

	* game/ufo.cc: added util.dat wormhole/Ufo merging. GUfoContainer
	now receives data and creates/distributes it to the Ufo objects.
	All callers changed.

2009-02-28  Stefan Reuther  <Streu@gmx.de>

	* game/ship.cc: assimilate current position into ship track

	* game/ufo.cc, game/db.cc: added support for storing Ufo history
	information.

	* game/ship.cc, game/db.cc: added support for storing ship track
	and ship history information (although ship track info is not yet
	maintained).

2009-02-24  Stefan Reuther  <Streu@gmx.de>

	* io/streams.h: removed C_TEXT open flag; no longer needed since
	we do our own text file parsing

2009-02-22  Stefan Reuther  <Streu@gmx.de>

	* io/memdir.cc (MemoryDirectory): new

2009-02-20  Stefan Reuther  <Streu@gmx.de>

	* game/msg-conf.cc: new, msgX.ini I/O

	* client/dlg-subject.cc, client/dlg-mbox.cc: added basic filter
	handling

2009-02-18  Stefan Reuther  <Streu@gmx.de>

	* client/scr-ship.cc, client/scr-planet.cc, client/scr-base.cc
	(getSubtitle): add experience level display

	* client/main.cc (main): also load util.dat when playing from RST

	* game/db.cc: simplified unit score I/O

	* game/utilparse.cc (process): added support for util.dat #49, 50
	(unit scores)

2009-02-17  Stefan Reuther  <Streu@gmx.de>

	* game/ship.h, game/planet.h: added unit_scores property for ships
	and planets

	* game/db.cc: added loading/saving of unit score records

	* game/unitscore.cc (addScoreDefinition): new

2009-02-15  Stefan Reuther  <Streu@gmx.de>

	* game/gamedirs.cc (initDirectories): added heuristic to locate
	Winplan

	* game/unpack.cc (unpack), game/save-dir.cc (saveDirectory):
	register game with Winplan

	* game/greg.cc (updateGameRegistry): new

	* game/fcode-load.cc, game/cmds.cc, game/mission.cc: converted to
	use TextFile

	* util/confpars.cc, game/pref.cc: converted to use FileParser.
	Removed ConfigFile class; game config now managed the same way as
	game configuration in a Config object.

	* util/filepars.cc: converted to use TextFile, simplified, allowed
	multiple comment characters

	* resmgr/resmgr.cc: converted to use TextFile

	* arch/generic.h (Platform::LINE_SEPARATOR): new

	* io/textfile.cc: new

2009-02-14  Stefan Reuther  <Streu@gmx.de>

	* game/cost.cc (toPHostString): new

	* game/save-dir.cc, game/check-ctl.cc, game/trn.cc: use writeT,
	not write, to detect errors

	* client/dlg-structure.cc (WPlanetStructureEffectWidget): modified
	layout so that the defense widget from build screen 3 now aligns
	with the widgets from screen 1

	* client/scr-mine.cc (WMinefieldPassageTile): split WMinefieldInfoTile
	and added "+","-" buttons
	(doMinefieldScreen): implemented "go to" button

2009-02-12  Stefan Reuther  <Streu@gmx.de>

	* client/chartusr.cc (doStarchart): 'm' (minefield info)

	* client/scr-mine.cc (WObjectTypeHeaderTile): now implements
	browsing instead of generating key-events, allowing several of
	those to coexist, and even weird things like using it to select
	object type A in a B-screen :)
	(findNearestMinefield): new

2009-02-11  Stefan Reuther  <Streu@gmx.de>

	* scripts/msgcompile.pl: add warnings for suspected interpunction
	errors

	* client/scr-mine.cc (WObjectTypeHeaderTile): factored out of
	WMinefieldInfoTile for later re-use in other screens
	(WMinefieldInfoTile): implemented safe passage prediction

2009-02-09  Stefan Reuther  <Streu@gmx.de>

	* ui/widget-button.cc (handleEvent): use putKey instead of
	manually assembling the key event

	* ui/event.cc (convertEvent): shifted keypad characters remain
	shifted, to allow them to be used in keystrokes such as Shift-+.
	(makeKeyEvent): don't drop shift for all alphanumerics; only for
	letters, which are also upcased.

	* game/mine.cc (getPassRate): new

2009-02-08  Stefan Reuther  <Streu@gmx.de>

	* client/scr-mine.cc: new: minefield info

	* client/chartusr.cc: use GObjectList methods for scrolling

	* game/global.cc: add anyship, minefield type

	* game/objlist.cc (addObjectsAt): use anyship, anyplanet types,
	to allow non-played objects

	* game/ship.cc (GAnyShipType): new

	* client/scr-sim.cc: added c-up/c-down functions
	(replicateCurrentShip): optimized from O(n^3) to O(n), required
	when using '*' to add >>100 copies of a ship

	* game/sim.h (swapShips): new

2009-02-07  Stefan Reuther  <Streu@gmx.de>

	* client/scr-sim.cc: added shift-f (copy and increment fcode), '*'
	(replicate ship)

	* game/objnote.h: new. Contains the old divider functionality from
	GObjectList.

	* game/objlist.h: completely revamped. GObjectList is now a
	GObjectType, so we can use all kind of things usable for
	GObjectTypes (i.e. tiles) for GObjectLists as well. In addition,
	it GObjectLists can survive turn changes. All users changed.

2009-02-06  Stefan Reuther  <Streu@gmx.de>

	* client/cscreen.cc, client/scr-ship.cc, client/scr-planet.cc,
	client/scr-base.cc: added 'ins' key

	* client/act-ship.cc (doShipAddToSim): new

	* client/act-planet.cc (doPlanetAddToSim): new

2009-02-05  Stefan Reuther  <Streu@gmx.de>

	* game/univ.h (GUniverse): use GMinefieldContainer. All users
	changed.

	* game/mine.h (GMinefieldContainer): new

2009-02-01  Stefan Reuther  <Streu@gmx.de>

	* game/unpack.cc: completed. It now behaves identically to
	PCC 1.x's CCUnpack, with some features from the built-in one
	added.

2009-01-31  Stefan Reuther  <Streu@gmx.de>

	* tools/c2unpack.cc: new

	* game/unpack.cc: new, but very incomplete

	* game/gen.cc (GGen): pass through checksums from TResultGen

	* tools/c2sweep.cc: new utility

	* game/sweep.cc: new

2009-01-27  Stefan Reuther  <Streu@gmx.de>

	* io/streams.cc (Stream::readT, writeT): new

	* io/io.h (storeStructureT, getStructureT): new

	* util/except.cc (FileWriteException): new

2009-01-25  Stefan Reuther  <Streu@gmx.de>

	* client/dlg-structure.cc (WPlanetStructureHeader): added '<', '>'
	buttons

	* ui/widgets.cc (UIKeyTranslator): added ability to generate
	stop() instead of a command. Used in doGroundCombatPrediction.

	* client/dlg-groundcombat.cc (doGroundCombatPrediction): new

2009-01-24  Stefan Reuther  <Streu@gmx.de>

	* ui/widgets.cc (UIFocusIterator): added fi_Wrap flag

	* client/dlg-structure.cc (WPlanetDefenseEffectWidget): new
	 (WPlanetStructureHeader): new

2009-01-21  Stefan Reuther  <Streu@gmx.de>

	* int/value.cc (storeFP48): new. Floating-point values are now
	stored in REAL format, not IEEE single, to achieve more precision.

	* ui/window.cc (handleEvent): added Ctrl-Alt-L

2009-01-20  Stefan Reuther  <Streu@gmx.de>

	* client/dlg-structure.cc (buildBuildScreen2), client/scr-env.cc
	(WPlanetMiningTile): added mining forecast

2009-01-18  Stefan Reuther  <Streu@gmx.de>

	* client/dlg-structure.cc (doPlanetBuildScreen): implemented first
	version of "multi-tab" build screen that allows switching between
	industry/mining/defense views. It's still missing mining
	prediction, defense prediction, and a PCC 1.x-lookalike tab selector.

	* ui/panel.cc: new

	* client/dlg-structure.cc: added 't' and 's' keys

	* tests/: updated standalone test programs; removed those that no
	longer work

	* int/value.cc (getFP48): use ldexp to generate the result
	directly without precision loss

	* client/dlg-structure.cc (doPlanetBuildScreen): added cost and
	effect (sensor visibility, taxes) widgets. Added disabled base
	defense widget for defense build screen on planet without base.

	* client/scr-sim.cc (doSimulator): make the simulator full-screen,
	like in PCC 1.x

	* ui/widgets.cc (UIFocusGroup): support for st_Disabled, first
	(incomplete) version.

2009-01-17  Stefan Reuther  <Streu@gmx.de>

	* ui/widgets.cc (UIFocusIterator::handleEvent): simplified a little

	* client/scr-sim.cc (WSimShipTypeTile): implement display of
	'Random#' and color-coded fcode
	(runSimulation): implement random-fcode functionality

	* game/sim-data.cc (assignRandomFCode): new

	* client/dlg-comment.cc (doEditComment): new

	* client/cscreen.cc, client/scr-ship.cc, client/scr-planet.cc,
	client/scr-base.cc: implement comment display and editing

	* client/playerscr.cc (WPlayerScreen): allow four lines for
	UIFlowLayout. Since UIFlowLayout currently over-allocates a lot
	when reporting its preferred size, it was pushing out buttons so
	far that the east/west margin was reduced to zero by the main
	UIHBoxLayout. The workaround of allowing it to use four lines
	makes its size request small enough that this no longer happens.

	* client/main.cc: initialize interpreter

	* game/db.cc: added property loading and saving

	* int/: removed old, never-used code. Added new data storage code,
	used to implement ship/planet properties.

	* ui/ui.cc (getFocusedWidget): correctly return deepest-possible
	widget

2009-01-10  Stefan Reuther  <Streu@gmx.de>

	* client/scr-ship.cc (doShipBaseMenu): implemented 'b' button,
	first version

	* client/wtile.h (WTile): removed update(). Use standard
	drawWidget() instead.

2009-01-08  Stefan Reuther  <Streu@gmx.de>

	* client/scr-ship.cc: added 'b' button with optional color frame

	* client/wtile.h (WTile): removed drawFixed(); this optimisation
	is no longer needed at today's speed (and wasn't implemented right
	in half of the WTile descendants). All users changed.

2009-01-05  Stefan Reuther  <Streu@gmx.de>

	* client/wcolorframe.cc: new widget

	* (various files): use isInside() instead of extent.inside() to
	allow descendants to override shape

2009-01-04  Stefan Reuther  <Streu@gmx.de>

	* client/cscreen.cc (WControlScreen): control screens are modal,
	keys from race screen are not active in control screen

	* client/wtile.cc (onResize): implement children_move parameter

	* client/scr-result.cc (runSimulation): make sure UIBusyWidget is
	drawn before starting to simulate

2009-01-02  Stefan Reuther  <Streu@gmx.de>

	* client/wtile.h: revamped control handling. Controls are now
	regular children of the WTile object created by the constructor;
	WTile manages their layout. Callers need not perform the
	addControls callback after layout anymore. All users modified
	accordingly.

2009-01-01  Stefan Reuther  <Streu@gmx.de>

	* ui/listbox.cc (doStandardListbox): now include frame and
	optional scrollbar, like PCC 1.x

2008-12-31  Stefan Reuther  <Streu@gmx.de>

	* ui/widget-button.cc (drawButton): implement PCC 1.x look

	* ui/: rediddled UI kernel. There is no longer a distinction
	between a container and a non-container, and responsibilities are
	now defined a little clearer; some PCC 1.x artifacts removed.

	* client/, flak/, picedit/: updated for new UI kernel. Mostly
	renames draw/drawInterior->drawContent, stateChanged->onStateChanged,
	owner->parent, select->setSelectedWidget, setFocus->setFocusedWidget,
	UIWidget->UIBaseWidget, and changes to tile control handling

2008-12-30  Stefan Reuther  <Streu@gmx.de>

	* util/debug.cc (nameSymbol): handle case that symbols are not loaded

2008-12-25  Stefan Reuther  <Streu@gmx.de>

	* game/global.cc (global_anyplanet_type): new

	* game/planet.cc (GAnyPlanetType): new

2008-12-23  Stefan Reuther  <Streu@gmx.de>

	* client/wscanchart.cc (WScannerChartWidget): use sig_universe_changed

	* game/univ.cc (doScreenUpdates): removed sig_ship_changed,
	sig_planet_changed; added sig_universe_changed

	* client/cscreen.cc (sig_changed): removed; no longer needed

	* client/dlg-visual.cc (WVisualScanWindow), client/dlg-warp.cc: use
	GShip::sig_changed, not GUniverse::sig_ship_changed

	* client/dlg-build.cc (WShipBuildScreen): use
	GPlanet::sig_changed, not GUniverse::sig_planet_changed

	* client/scr-base.cc, client/scr-env.cc, client/scr-planet.cc,
	client/scr-ship.cc, client/scr-sim.cc: updated to new interfaces

	* client/wtile.cc (WTile): removed update_when parameter; no
	longer needed with new model.

	* client/cscreen.cc (WControlScreenHeaderTile): does no longer
	rely on the WControlScreen to acquire data; instead, a descendant
	provides it and automatically updates it when the underlying
	GObjectType changes. This obsoletes WControlScreen::setData().

2008-12-22  Stefan Reuther  <Streu@gmx.de>

	* client/screens.h: control screen implementations changed to new
	signalisation scheme.

	* client/cscreen.h (WControlScreen::updateId): removed.

	* client/wtile.h (WObjectTypeObserverTile): new. This is what
	WTile is supposed to be with the new design. It derives its redraw
	requests exclusively from the underlying object type's object's
	sig_changed, and does not depend on a WControlScreen to supply
	this information.

	* client/cscr-sel.cc (WObjectSelectionTile): based exclusively on
	GObjectType, not GUniverse. No longer derived from WTile; update
	management based upon object's sig_changed.

2008-12-21  Stefan Reuther  <Streu@gmx.de>

	* client/playerscr.cc (doMainLoop), client/screens.cc (isValid):
	use temporary GObjectType globals

	* game/objlist.cc (addObjectsAt), game/act-fix.cc
	(enumerateShipsFor): used temporary GObjectType globals

	* game/global.cc: added temporary GObjectType globals

	* game/sim-game.cc: removed most references to GObjectType descendants;
	implemented functions in terms of GUniverse methods

	* game/univ.cc (GUniverse): GUniverse no longer contains the GShipType
	etc. objects. Removed those accessors. Added new isValidShipId()
	accessors to simplify implementation of replacement code.

2008-12-20  Stefan Reuther  <Streu@gmx.de>

	* game/ion.h, game/ship.h, game/planet.h: implement new
	GObjectType descendant

	* client/cscr-sel.cc, client/cscreen.cc, client/dlg-visual.cc,
	client/scr-base.cc, client/scr-planet.cc, client/scr-ship.cc,
	game/univ.cc, game/objlist.cc: adapted to new interface

	* game/objtypes.h (GObjectType): rewritten to support varying
	universe; removed getClassName()
	(GIndexedObjectType): new hierarchy element for cleaner
	derivation; GObjectType no longer contains implementation

	* game/un-trn.cc (CommandReader): new. Replaces string-with-\0-parsing

	* game/trn.cc (parseTurnfile): strengthened header validation

2008-12-19  Stefan Reuther  <Streu@gmx.de>

	* game/load-ov.cc (scan): use isValidTimestampChecksum()

	* game/gen.cc (isValidTimestampChecksum): new

2008-12-18  Stefan Reuther  <Streu@gmx.de>

	* game/cargo-tr.cc (GCargoCostTransaction): implemented in terms
	of GCost

	* game/cost.h (GCost): new methods add, remove, isValidType

2008-12-17  Stefan Reuther  <Streu@gmx.de>

	* game/drawing.cc: use FileTooShortException
	use storePascalString/getPascalString for atom tags, and recode them

	* game/db.cc (loadChartDatabase): use FileTooShortException

2008-12-16  Stefan Reuther  <Streu@gmx.de>

	------------------------------ release_20081216

2008-12-15  Stefan Reuther  <Streu@gmx.de>

	* util/debug.cc: implemented Win32/Borland backtracer

	* client/dlg-tech.cc (doWindow): handle the case that tech is
	already higher than allowed, e.g. native bonus

	* game/msg.cc (getHeading): use race names as header for 'R' messages

	* game/hullf-list.cc (simplify): early exit if list is empty;
	Borland seems to be unable to handle that case(?)

	* game/act-structure.cc (GPlanetBuildStructuresAction): handle the
	case that the rule limit already was exceeded due to prior actions

Sat Dec 06 23:26:29 2008    <Streu@gmx.de>

	* arch/generic/file.cc (init): fixed open-mode. Opening for write only
	would implicitly truncate the file.

	* resmgr/res-cc1.cc (ResProviderResFile): BCC workaround

2008-12-02  Stefan Reuther  <Streu@gmx.de>

	* game/load-dir.cc (loadKore): tolerate 0-length KOREx.DAT files

2008-12-01  Stefan Reuther  <Streu@gmx.de>

	* PDK paths are now defined by configure using LDFLAGS and
	CPPFLAGS. The paths are no longer hardcoded in the Makefile.

2008-11-22  Stefan Reuther  <Streu@gmx.de>

	* client/scr-sim.cc (editExperienceLevel): this function is only
	possible when experience is enabled

2008-11-21  Stefan Reuther  <Streu@gmx.de>

	* game/vcrdb.cc (GClassicVcrDatabase): initialize with full capability set
	(createPlayer): propagate capabilities to player

	* game/sim-run.cc (isImmune): honor PlanetImmunity
	(applyShipModificators): honor Commander, FullWeaponry
	(makeShipPlanetVcr): honor Commander
	(computeMaximumExperienceLevels): compute Commander levels

	* client/vcrplay.cc (drawWarrior): display experience level

2008-11-20  Stefan Reuther  <Streu@gmx.de>

	* client/scr-sim.cc, game/sim-data.cc, game/sim.h: added hull
	function management for simulation (ported from 1.1.17)

2008-10-19  Stefan Reuther  <Streu@gmx.de>

	* installer/prepare2.pl: generate version stamp for NSIS,
	correctly create directories when used with command 'install'

	* installer/PCC2-Installer.nsi: added language support, added more
	meta-information to HKLM/Software/.../Uninstall, do not generate
	shortcuts with bogus working directory when user enters wrong
	Winplan directory

2008-10-18  Stefan Reuther  <Streu@gmx.de>

	* client/playerscr.cc (handleEvent): don't call statistics if its
	empty (wouldn't have anything to display and crash)

	* gfx/gfxutil.h: fixed minor typos

	* game/load-rst.cc: record statistics

	* client/scr-score.cc (generateScoreTabs): do not include Chart
	entries when we have just one turn; avoids division by zero

	* installer/: added new Win32 installer for PCC2 full package

	* client/playvcr.cc (main): GUI no longer distinguishes between FLAK
	and non-FLAK PlayVCR

	* client/vcrvis.cc (updatePanels): use running torpedo count, not
	initial value, after FF/REW [Klemens Reuther]

2008-10-01  Stefan Reuther  <Streu@gmx.de>

	* gfx/pixmap.cc, game/sim.cc, game/rst.cc, game/global-bb.cc,
        flak/vis-iso.cc, arch/unix/file.cc: added missing #include
	[from Paklet/Sirko via PlanetsServer forum]

2008-09-07  Stefan Reuther  <Streu@gmx.de>

	* client/dlg-structure.cc (draw): display build goal 1000 as "[max]"

	* client/wscoretable.cc (draw): new mode "Ratio of total"

2008-06-14  Stefan Reuther  <Streu@gmx.de>

	* client/wscorechart.cc (WScoreChart): figure out win limit and
	display it. Also figures out victory turn numbers, but doesn't yet
	do anything with them (what should it do?)

2008-06-04  Stefan Reuther  <Streu@gmx.de>

	* game/sim-run.cc (simulateFLAK): fixed crash when planet takes
	part in simulation [Ron Coit]

2008-05-18  Stefan Reuther  <Streu@gmx.de>

	* client/playvcr.cc (main), client/main.cc (main): correctly show
	exceptions

2008-05-10  Stefan Reuther  <Streu@gmx.de>

	* game/db.cc: warn about ignored entries

	* client/dlg-structure.cc: integrated autobuild 'a' and goals 'g'

	* game/act-structure.cc (doStandardAutoBuild): fix: honor build goals

	* ui/ui.cc (setFocus): permit ownerless widgets to have focused
	descendants

	* client/dlg-goals.cc (editBuildGoals): new

2008-04-18  Stefan Reuther  <Streu@gmx.de>

	* client/playerscr.cc: integrated score display

2008-04-17  Stefan Reuther  <Streu@gmx.de>

	* client/scr-sim.cc (editPopulation): bugfix: write back result
	correctly [Klemens Reuther]

	* client/wscorechart.cc: added keyboard control (c-left, c-right)

	* client/scr-score.cc: added 'd' mode selection for score table

2008-04-16  Stefan Reuther  <Streu@gmx.de>

	* client/scr-score.cc (WScoreWindow): display title of current graph
	above it

	* ui/widgets.cc (UIStaticText): optional alignment argument

2008-04-15  Stefan Reuther  <Streu@gmx.de>

	* client/scr-score.cc: mostly done. Can now display selectable
	score page, chart and table. Still missing table option selection.

2008-04-12  Stefan Reuther  <Streu@gmx.de>

	* ui/iconbox.cc: new

	* client/wracelist.cc: new

2008-04-08  Stefan Reuther  <Streu@gmx.de>

	* game/host.h (isPBPGame): new

	* client/wscorechart.cc: new

2008-04-06  Stefan Reuther  <Streu@gmx.de>

	* client/wscore.h: new

	* client/scr-score.cc: new

2008-03-30  Stefan Reuther  <Streu@gmx.de>

	* game/utilparse.cc (parseRecord): extract all scores (#38,48,51)

	* game/stat.cc (loadOldFile): new

2008-03-29  Stefan Reuther  <Streu@gmx.de>

	* game/stat.cc: score management, first version

2008-03-24  Stefan Reuther  <Streu@gmx.de>

	* scripts/msgcompile.pl: strengthened validation

	* game/struct.in: added structures for future score.cc file

	* scripts/iogen.pl: support 'struct foo;' syntax for predeclaration

2008-03-22  Stefan Reuther  <Streu@gmx.de>

	* game/utilparse.cc: handle records that are not intended to be
	processed through history interface

	* game/univ.h: GUniverse must know timestamp, too

	* client/chart.cc (drawPlanets): correctly display history planets

	* client/marks.cc (drawDottedCircle): fixed off-by-one error

	* client/scr-env.cc: display unload result

2008-03-21  Stefan Reuther  <Streu@gmx.de>

	* client/scr-env.cc: show age of information

	* game/parser.h: store timestamp to a message

	* game/load-dir.cc: load util.dat

	* game/planet-hist.cc (addMessageInformation): new: assimilate util.dat
	entries

2008-03-19  Stefan Reuther  <Streu@gmx.de>

	* game/utilparse.h: implemented util.dat parser producing message
	scan information

	* game/parser.h: added preliminary support for managing information
	parsed from messages and elsewhere

2008-03-13  Stefan Reuther  <Streu@gmx.de>

	* client/scr-env.cc: more history support

	* game/planet.h (getHistoryTimestamp): new

	* ui/msgbox.cc (UIMultilineStatic): use skin

	* client/scr-sim.cc (editPopulation): fixed typo causing 'p' not
	to work (used old clan count, not new one, to compute number of DPs)

2008-03-12  Stefan Reuther  <Streu@gmx.de>

	* client/scr-env.cc (drawData): basic history support

	* game/planet.cc (getColonists): now works with history

	* game/struct.in: added some more chart.db structures

2008-03-09  Stefan Reuther  <Streu@gmx.de>

	* game/planet.cc: store known_to_have_natives flag in database

	* game/univ.h (GUniverse): maintain data_set and playing_set

	* io/io.h (getPartialStructure): new type-safe convenience function

2008-03-06  Stefan Reuther  <Streu@gmx.de>

	* game/planet.cc (addHistoryData), game/db.cc (loadChartDatabase):
	rudimentary history handling

	* u/, P9/04_testsuite.pr: added rudimentary unit-test suite

2008-03-02  Stefan Reuther  <Streu@gmx.de>

	* game/cmds.cc: updated to PCC 1.1.17 feature-set ('show XX', 'refit')

2008-02-19  Stefan Reuther  <Streu@gmx.de>

	* game/spec.h, game/hullfunc.h: added ability to handle
	nonconstant default ship function assignments

2008-02-17  Stefan Reuther  <Streu@gmx.de>

	* game/config.h (getPlayersOfRace etc.): new

	* game/hullf-list.cc (simplify): bugfix: don't forget last hull function

2008-02-16  Stefan Reuther  <Streu@gmx.de>

	* util/conf.h (ConfigIntOption::operator()): player number check
	now done here

	* game/save-dir.cc, game/load-dir, game/cmds.cc: added cmdX.txt file
	handling. The file is read upon load, and commands are stored upon
	save.

2008-02-15  Stefan Reuther  <Streu@gmx.de>

	* io/dirs.h (DirectoryEntry): added 'erase() and 'renameTo()' functions

2008-02-13  Stefan Reuther  <Streu@gmx.de>

	* client/main.cc (main): added compiler switch to load host files

	* game/load-host.cc: load minefields

2008-02-11  Stefan Reuther  <Streu@gmx.de>

	* game/config.cc (assign): catch std::runtime_error, to catch our
	exceptions

2008-02-10  Stefan Reuther  <Streu@gmx.de>

	* game/load-rst.cc (loadResult): load race names from RST

	* game/expl.cc: new: handle explosions

	* game/load.h, game/lock.cc, game/struct.in, game/univ.h,
	client/chart.cc: modified accordingly

2008-02-09  Stefan Reuther  <Streu@gmx.de>

	* game/load.cc (loadKoreMinefields): backed kore/util minefield
	comparison with actual host behaviour

	* game/check-fizz.cc: new

	* game/save-dir.cc (saveDirectory): use check-fizz.cc

2008-02-05  Stefan Reuther  <Streu@gmx.de>

	* game/planet.cc (~GPlanetTransfer): cancel transaction

	* game/ship-xfer.cc (GShipTransporter): likewise

2008-02-03  Stefan Reuther  <Streu@gmx.de>

	* game/ufo.h: new

	* game/load.h, game/lock.cc, game/struct.in, game/univ.h,
	client/chart.cc: modified accordingly

	* gfx/gfxutil.cc (shiftLeft, shiftRight): fixed typo that caused
	these functions to not work at all (dooh!)

	* game/global.h (GChartBBox): unpublished members, added accessor
	functions
	(initFromUniverse): handle drawings.

2008-02-02  Stefan Reuther  <Streu@gmx.de>

	* game/planet.cc (getBaseBuildOrderHullSlot): new

	* game/act-parts.cc (getMinimumParts): bugfix: only the item
	actually put into the ship is reserved
	(getError): implemented

2008-02-01  Stefan Reuther  <Streu@gmx.de>

	* client/chart.cc (co_WarpWells): new option. Idea: Quirin Herman

2008-01-29  Stefan Reuther  <Streu@gmx.de>

	* game/act-fix.cc, game/act-sb.cc, game/act-structures.cc,
	game/planet.cc, game/ship-xfer.cc: avoid invoking transactions on
	units we don't play

	* game/player.cc (allowRegistered): implemented

	* game/mission.cc (loadFromIniFile): new. PCC2 now reads
	mission.ini.

2008-01-27  Stefan Reuther  <Streu@gmx.de>

	* game/db.cc (saveChartDatabase): added autobuild I/O

	* game/struct.in (TAutobuildSettings): new

	* game/planet.h (getAutobuildGoal, getAutobuildSpeed): new

	* game/act-structure.cc (doStandardAutoBuild): new

2008-01-21  Stefan Reuther  <Streu@gmx.de>

	* game/undo.cc: const correctness

2008-01-20  Stefan Reuther  <Streu@gmx.de>

	* ui/msgbox.cc (UIMessageBox): use getTextWidthFormatted to
	improve layout of message boxes

	* ui/util.cc (outTextFormattedF): fill space to the right, like
	outTextF does
	(getTextWidthFormatted): new

	* ui/widgets.cc (UIImageWidget): three-argument constructor, to
	allow setting a size even if pixmap may be missing

	* client/vcrvis.cc: when a resource is not found, throw an
	exception instead of crash

	* resmgr/resmgr.cc (ResManager::getPixmapT): new

2008-01-17  Stefan Reuther  <Streu@gmx.de>

	* util/except.h (FileProblemException): new exception base class that
	stores file name separately. All users changed.

	* io/streams.h, io/dirs.h (openFileT): removed. All callers changed.

2008-01-06  Stefan Reuther  <Streu@gmx.de>

	* sound/sound-mix.cc (SfxSampleData): Ptr<Stream> -> Stream&

2008-01-05  Stefan Reuther  <Streu@gmx.de>

	* io/sdlstr.cc (StreamSDLInterface): new. io/streams.h no longer
	implements this bridge. This allows programs to use Stream without
	requiring to be linked against SDL.

	* gfx/gfx.h: removed getSystemSurface() function from general API.
	Blitting now takes a GfxCanvas&. Added getSize() and getBitsPerPixel()
	to remove some other getSystemSurface() requirements. Converted some
	other users to use GfxSurface&.

2008-01-04  Stefan Reuther  <Streu@gmx.de>

	* game/objlist.h (ls_SafeShipsOnly): new

	* ui/window.cc (runModal): new

	* client/dlg-visual.h (doListShips): function now here,
	implemented using visual-scan window, not list-objects window.
	Callers modified accordingly.

2008-01-02  Stefan Reuther  <Streu@gmx.de>

	* game/host.h: made all functions and member variables nonstatic,
	to allow multiple instances. All callers changed.

	* ui/ui.h (UIWidget::draw): removed UpdateInfo parameter. Updates
	are now collected in a GfxUpdateOptimizer object. All descendants,
	callers and related functions changed.
	added throw() qualifiers to UIWidget, UIGroup, etc.

	* gfx/update.h (GfxUpdateOptimizer): new

2008-01-01  Stefan Reuther  <Streu@gmx.de>

	* gfx/gfxutil.cc: added throw() qualifiers to GfxRect, GfxFillPattern

	* ui/ui.cc (doUpdates): call can.update, not SDL_UpdateRect

	* client/dlg-visual.cc (drawInterior): new: draw frame around ship
	picture to report selection

	* tests/, P9/03_tests.pr: updated tests to work with current code,
	and added them to project definition

2007-12-29  Stefan Reuther  <Streu@gmx.de>

	* P9/, configure{,.in}, Makefile: simplified: cpluslib and
	libplatf are now built from main Makefile; this saves a number of
	indirections and gets dependencies right

2007-12-28  Stefan Reuther  <Streu@gmx.de>

	* gfx/gfxutil.h: added several new functions

	* game/sim-game.cc (copyShip): new

	* client/dlg-visual.cc: implemented Ctrl+key, add-to-sim

	* game/sim.cc (getShipById): added non-const version
	(getIndexOf): new

	* client/cscreen.cc (handleEvent): use doVisualScan() for 'l'
	function (preliminary implementation)

	* client/dlg-visual.cc: new

	* client/dlg-list.cc: removed dead code

	* client/scr-ship.cc (SDLK_TAB): use getPreviousIndex, getNextIndex

	* game/objlist.cc (getPreviousIndex, getNextIndex): new

	* scripts/msgcompile.pl: made warning about differing conditional
	translations optional

2007-12-27  Stefan Reuther  <Streu@gmx.de>

	* client/dlg-build.cc (onPlanetChanged): new. Update build order
	display correctly.

	* game/drawing.cc (load): added recoding

	* io/io.cc (getPascalString): added recoding

2007-12-26  Stefan Reuther  <Streu@gmx.de>

	* client/chart.cc (toggleOptions): new
	(drawShipSelAndVectors): implemented co_ShipDots option

	* client/chartusr.cc (doStarchart): implemented option toggles

	* client/chart.cc (getFont): new

	* client/scr-sim.cc (WSimShipImageTile): new

	* game/drawing.cc (getUserColorFromColor): user color conversion

	* game/db.cc: added rMinefield handling

	* game/struct.in: added some chartX.cc records (TDbXXX)

2007-12-25  Stefan Reuther  <Streu@gmx.de>

	* game/drawing.cc (convertExternalColorToInternal): new
	(save): new
	documented it

2007-12-24  Stefan Reuther  <Streu@gmx.de>

	* client/main.cc (main): load chart database

	* game/db.cc: new

	* client/chart.cc (drawDrawings): implemented

	* game/lock.cc (findMarker): implemented

	* game/univ.h: added GDrawingContainer to GUniverse

2007-12-23  Stefan Reuther  <Streu@gmx.de>

	* io/io.cc (getPascalString, storePascalString): new

	* game/drawing.cc: first prototype of map drawing management,
	mostly untested/undocumented

	* io/streams.h (SubStream): store a Stream&, not a Ptr<Stream>

	* resmgr/res-cc1.cc, resmgr/res-wpvcr.cc: changed accordingly

2007-12-21  Stefan Reuther  <Streu@gmx.de>

	* ui/msgbox.cc (setText): new

	* ui/widget-num.cc (setRange): new

	* client/scr-planet.cc (handleEvent): undo supply sale function (C-s)

	* client/dlg-supplies.cc (WUndoSellSuppliesDialog): new

	* game/undo.cc (computeInformation): only process ships at the
	same position as the planet (d'uh!)

	* client/dlg-component.cc: mostly completed it

2007-12-20  Stefan Reuther  <Streu@gmx.de>

	* client/dlg-component.cc (doBuildComponent): new but still
	incomplete

	* client/dlg-build.cc (cm_BuildComponent): added remaining
	buttons, and call doBuildComponent()

	* game/act-tech.cc (setUndoInformation): new

	* game/act-parts.cc: new

2007-12-18  Stefan Reuther  <Streu@gmx.de>

	* game/sim-run.cc (getFCodeAmmoLimit): new. Updated classic
	simulator to use it.

2007-12-10  Stefan Reuther  <Streu@gmx.de>

	* ui/layout.cc (doLayout): fixed crash when a widget was marked as
	no-layout and flexible. Happens when an empty group is subject to
	layout.

	* client/dlg-build.cc: added ability to set number of beams and
	tubes

	* ui/window.cc: changed modifier for special commands from
	Ctrl+Alt to Ctrl+Shift
	added Ctrl+Shift+F to display borders of on-screen widgets

	* client/winfo.cc (getLayoutInfo): fix size requests

2007-12-09  Stefan Reuther  <Streu@gmx.de>

	* client/dlg-build.cc: added image (diagram) and have/need display
	for engines

	* added beam/tube images

2007-12-08  Stefan Reuther  <Streu@gmx.de>

	* client/dlg-build.cc: added image/inventory display for
	hull/beam/tube

	* ui/widgets.cc (UIImageWidget::setImage): new

2007-11-29  Stefan Reuther  <Streu@gmx.de>

	* util/nls.cc (loadLanguageFile): made a little more robust

2007-11-28  Stefan Reuther  <Streu@gmx.de>

	* util/random.h (RandomNumberGenerator): converted RNG into a
	class to allow multiple instances

	* game/trn.cc (setRegInfo): made scrambling deterministic

2007-11-19  Stefan Reuther  <Streu@gmx.de>

	* game/ship-xfer.cc: implemented Overload
	* client/dlg-cargo.cc: implemented Overload

	* game/cargo.cc (removeCargo): fixed bug causing cargo to get lost
	when moving stuff around

2007-11-18  Stefan Reuther  <Streu@gmx.de>

	* client/dlg-cargo.cc: implemented Sup2mc, Unload

	* game/cargo.cc (GCargoContainer): fix: initialize flags
	* game/planet.cc, game/ship-xfer.cc: likewise

	* game/cargo-tr.cc (GCargoTransfer::doUnload): new

	* ui/prefix.cc: new

2007-11-17  Stefan Reuther  <Streu@gmx.de>

	* client/scr-env.cc: moved densityToString and massToString into
	game/tables.cc
	let doPlanetScan() return a state

2007-11-11  Stefan Reuther  <Streu@gmx.de>

	* scripts/msgcompile.pl: handle old (#~) entries

	* client/history.cc: new. Implemented Backspace and Alt-Backspace
	functions on control screens, starchart and race screen

2007-11-10  Stefan Reuther  <Streu@gmx.de>

	* client/cscreen.h: removed unused command numbers (including
	cm_CS_GotoCS)

	* client/screens.cc (WScreenId): new. Converted parts to use it

2007-11-09  Stefan Reuther  <Streu@gmx.de>

	* client/scr-sim.cc (editOwner): support for MaximumDefenseOnBase etc.

2007-11-05  Stefan Reuther  <Streu@gmx.de>

	* client/scr-ship.cc (handleEvent): handle SDLK_TAB etc correctly

2007-11-04  Stefan Reuther  <Streu@gmx.de>

	* P9/02_translation.pr: rules for .lang files

	* game/msg.cc (getHeading): implement differentiation between mine
	scan and mine sweep, as in PCC 1.1.16

2007-11-03  Stefan Reuther  <Streu@gmx.de>

	* game/undo.cc: new

2007-10-31  Stefan Reuther  <Streu@gmx.de>

	* client/wedit.cc (handleEvent): prevent setting cursor outside
	editable range; various minor fixes

	* ui/combobox.cc (popupMenu): simplified

2007-10-29  Stefan Reuther  <Streu@gmx.de>

	* ui/commands.h, ui/widget-button.cc (cm_INT_Push, cm_INT_Unpush): new.
	Use in listbox.

	* ui/listbox.cc (adjustPosition): avoid empty space at end of a
	list when possible. Fixes opening-menu display.

2007-10-28  Stefan Reuther  <Streu@gmx.de>

	* ui/listbox.cc (handleEvent): use new GfxRect members to ensure
	menu is always visible

	* ui/window.cc (centerWidget): use new GfxRect members

	* gfx/gfxutil.cc (moveInto, centerWithin, moveToEdge): new

	* ui/event.h: removed ev_Command event type
	added constructors for UICommand
	all potential users changed

	* client/cscreen.cc (WControlScreen): converted to use handleCommand

2007-10-27  Stefan Reuther  <Streu@gmx.de>

	* ui/listbox.cc: use handleCommand, not handleEvent for
	cm_INT_QueryReferencePoint. Users changed.

	* ui/widget-button.cc (addCommand(UIWidget*)): removed

	* client/vcrplay.cc (WVcrSelectorWindow): new. Converted all
	potential users to use it.

	* client/cscr-sel.cc: converted to handleCommand

	* client/playvcr.cc, client/vcrplay.cc: converted to handleCommand

2007-10-21  Stefan Reuther  <Streu@gmx.de>

	* ui/widget-num.cc (UINumberSelector::handleEvent): prefix
	argument handling

	* ui/widgets.h (UIButton::addCall): new

	* ui/widgets.cc (handleEvent): send commands using handleCommand

	* ui/widget-il.cc (run): offer buttons to confirm input

2007-10-20  Stefan Reuther  <Streu@gmx.de>

	* client/playerscr.cc, client/vcrvis.cc: partial support for
	handleCommand

	* ui/widgets.h (UIButton): added prefix arg handling
	added support for handleCommand

	* ui/window.cc (UIRoot::run): added prefix arg handling

	* ui/event.h (UICommand): new, stub

	* ui/ui.h (UIWidget::setPrefixArg, consumePrefixArg): new
	(UIWidget::handleCommand): new

	* gfx/gfxaa.cc: new

2007-10-19  Stefan Reuther  <Streu@gmx.de>

	* ui/widgets.h (UIAbstractButton, UIButton): removed Action enum,
	configuration now done with methods

2007-10-18  Stefan Reuther  <Streu@gmx.de>

	* ui/widget-button.cc (UIAbstractButton): does no longer contain a
	'name' member. Constructors and users changed.
	removed UIAbstractButton::aStop. Users changed.
	removed UIAbstractButton(int,UIKey)

2007-10-17  Stefan Reuther  <Streu@gmx.de>

	* ui/widgets.h (UIAbstractButton::addStop, addCommand): new methods
	for event distribution cleanup

	* ui/ui.h (UpdateInfo): removed SDL_Surface from interface

2007-10-12  Stefan Reuther  <Streu@gmx.de>

	* scripts/depend.pl: option "-q", "-Q"

	* client/cscreen.h: extracted WTile into separate file (wtile.cc)

2007-10-10  Stefan Reuther  <Streu@gmx.de>

	* client/cscreen.h: extracted WChartWidget and WScannerChartWidget
	into separate files (wchart.cc, wscanchart.cc). Fixed a few typos in
	these modules.

2007-10-09  Stefan Reuther  <Streu@gmx.de>

	* gfx/gfx.h (GfxParameters): added new setters

	* gfx/gfxcompl.cc (drawLine): fixed error term handling
	minor formatting changes

2007-10-07  Stefan Reuther  <Streu@gmx.de>

	* gfx/gfxutil.h (GfxRect): new constructor that takes a GfxCanvas,
	to avoid having SDL internals in user code

2007-10-06  Stefan Reuther  <Streu@gmx.de>

	* gfx/pixmap.cc (GfxPixmap): removed SDL-specifics from API

2007-10-05  Stefan Reuther  <Streu@gmx.de>

	* game/planet.cc (setShipInOrbit): deal with guessed ships

	* game/ship.cc (isReliablyVisible): new

	* client/marks.cc: updated to PCC 1.x status: add cactus marker

	* game/univ.cc (postprocess): do not mark planets without data played

2007-10-04  Stefan Reuther  <Streu@gmx.de>

	* game/struct-util.cc: new; moved some functions here

	* game/ship-form.cc: added ability to handle foreign ships

2007-10-03  Stefan Reuther  <Streu@gmx.de>

	* game/ship.cc (GShip): rediddled data storage, relevant callers
	changed

2007-09-30  Stefan Reuther  <Streu@gmx.de>

	* game/utildata.in: updated

	* game/planet.cc (getIndustryLevel): new
	(GPlanet): rediddled most formulas to deal with partial information

	* game/tables.cc (getIndustryLevelName): new

2007-09-29  Stefan Reuther  <Streu@gmx.de>

	* game/planet.cc: rediddled data storage; all callers changed

2007-09-24  Stefan Reuther  <Streu@gmx.de>

	* game/cargo.h: removed 'facility' concept and thereabouts. All
	transactions changed (almost)

	* game/obj.h: moved parts of dirty-flag handling here. Added
	sig_changed and notifyTransactions().

	* game/cargotype.h: new. This contains GCargoType and related
	operations

2007-09-20  Stefan Reuther  <Streu@gmx.de>

	* game/tables.h: moved int->string conversions from GPlanet here
	All users changed.

2007-09-19  Stefan Reuther  <Streu@gmx.de>

	* game/cargo.h (GCargoTypeSet): added new type

	* client/act-planet.cc, client/dlg-cargo.cc, client/dlg-tech.cc,
	client/dlg-tech.h, client/gdchooser.cc, client/gdchooser.h,
	game/cargo.h, game/fcode.cc, game/sim-run.cc: use defined SmallSet
	types where possible

2007-09-18  Stefan Reuther  <Streu@gmx.de>

	* client/dlg-cargo.cc (doCargoTransfer): use SmallSet

2007-09-16  Stefan Reuther  <Streu@gmx.de>

	* game/mission.cc: use it

	* game/player.cc (parsePlayerList): new

2007-09-14  Stefan Reuther  <Streu@gmx.de>

	* game/save.cc: changed saving routines to take a GUniverse, not a
	GGameTurn

	* game/save-dir.cc (saveDirectory): write correct checksums to GEN.DAT

	* game/save-cksum.cc: new

	* game/gen.h (GGen): checksum access

2007-09-10  Stefan Reuther  <Streu@gmx.de>

	* game/spec.cc (assignSpecial): simplified set parsing

	* game/un-trnflt.cc: added missing casts to ctype calls

	* game/un-trn.cc (showTrailer): use tryGetTurnNr()

	* game/trn.cc: checked 'dirty' handling
	(tryGetTurnNr): new

2007-09-09  Stefan Reuther  <Streu@gmx.de>

	* game/spec.cc (getCost): changed to return GCost, not TCost

	* game/act-ammo.cc, game/act-sb.cc, client/winfo.cc: likewise

	* client/dlg-ammo.cc (scrolled): simplified a little and converted
	to use GCost

	* client/wcost.cc: converted to use GCost instead of own
	structure

	* game/config.cc (ConfigCostOption): new, using GCost

	* game/cost.cc (GCost): new

2007-09-08  Stefan Reuther  <Streu@gmx.de>

	* game/config.cc (assignFromHConfigImage): new

	* io/io.h: added HAVE_UNALIGNED_OK shortcut

	* game/config.cc: modified to use new conf.h interface. All users
	changed.

	* util/conf.h: new

	* phost/config.hi4: updated

	* util/misc.h (stringMatch): string_t->const string_t&, saves a
	little code

2007-08-20  Stefan Reuther  <Streu@gmx.de>

	* game/spec.cc (getMaxEfficientWarp): new

	* client/winfo.cc (draw): use GHullFunctionList

	* game/spec.cc (enumerateSet): use GHullFunctionList

	* game/hullf-list.cc (sortForNewShip): new function
	(simplify) implemented

2007-08-18  Stefan Reuther  <Streu@gmx.de>

	* game/hullfunc.cc (matchBasicFunction): new

2007-08-17  Stefan Reuther  <Streu@gmx.de>

	* game/spec.cc (getPlayersThatCan): support level restrictions and
	implied functions
	(findRacialAbilities): new (but still ugly)

	* game/ship.cc, game/sim-run.cc: changed accordingly

	* game/hullfunc.cc: added 'const'
	added GHullFunctionList prototype
	* client/winfo.cc: changed accordingly

	* specs/hullfunc.cc: fixed definition of Glory Devices

2007-08-12  Stefan Reuther  <Streu@gmx.de>

	* client/winfo.cc, game/spec.cc: changed to support new hullfunc code

	* game/hullfunc.cc: new. Reimplementation supporting new PHost features

	* game/spec-hf.cc: removed, hullfuncs now in hullfunc.cc

	* game/exp.h: new

	* util/misc.h (parseRange): new
	(safeAppend): return appended element

2007-08-11  Stefan Reuther  <Streu@gmx.de>

	* specs/hullfunc.cc: more functions
	added "e=" descriptions from PCC 1.x

	* game/coord.cc (getSectorNumber): points outside map don't have
	a sector number

2007-07-29  Stefan Reuther  <Streu@gmx.de>

	* game/cmds.h: added support for more commands ($send-file,
	enemies, unload, transfer), same set as PCC 1.1.16 now

	* io/streams.cc (sdl_read, sdl_write): made a little more robust
	against 0 passed in as size or count

2007-07-28  Stefan Reuther  <Streu@gmx.de>

	* P, P9: switched from proj6 to proj9

	* resmgr/, sound/: updated and documented

2007-05-01  Stefan Reuther  <Streu@gmx.de>

	* client/playvcr.cc (main): CCB loader broke FLAK VCR loader

2007-03-25  Stefan Reuther  <Streu@gmx.de>

	* game/pvcr.cc (checkCombatActivity): PHost 4.1a combat activity
	detector added

2007-03-18  Matteo Boccafoli <boccafoli@gmail.com>

	* po/it.po: updated

2007-02-06  Stefan Reuther  <Streu@gmx.de>

	* ui/uiglobal.cc (initUIOptions): new

	* resmgr/resmgrcf.cc (loadResource): new

2007-02-05  Stefan Reuther  <Streu@gmx.de>

	* game/msg.cc (tweakHeader): special-case for "PHCc game info"
	headers

2007-01-21  Stefan Reuther  <Streu@gmx.de>

	* client/playvcr.cc (doStandaloneSimulator): import game config
	into simulator config

	* game/sim.cc (loadDefaults): new

2006-12-02  Stefan Reuther  <Streu@gmx.de>

	------------------------------ release_2006_12_02

	* game/spec.cc: fixed crash when 'Hull = NAME' syntax was used
	in hullfunc.txt

	* client/playvcr.cc (picturePlay): commented out test code

	* client/vcrvis.cc: WVcrPlayWindow must be modal

2006-12-01  Stefan Reuther  <Streu@gmx.de>

	* client/playvcr.cc (optSimulator): new

2006-11-24  Stefan Reuther  <Streu@gmx.de>


	* client/scr-result.cc, client/scr-sim.cc, client/playvcr.cc,
	game/sim-run.cc: FLAK support made configurable from defs.h

	* client/playvcr.cc: do the right thing if user invokes simulator
	without first entering the directory

	* client/playerscr.cc (handleEvent): added simulator

2006-10-28  Stefan Reuther  <Streu@gmx.de>

	* game/sim-run.cc (unpackFlakStat): new: maintain
	min_fighters_aboard, torps_hit counters for FLAK

	* flak/flak.cc (tryIntercept): avoid division by zero if FighterKillOdds=0
	(launchFighters): maintain min_fighters_aboard, torps_hit

	* game/pvcr.cc (initVcr): avoid division by zero if FighterKillOdds=0

2006-10-14  Stefan Reuther  <Streu@gmx.de>

	* game/msg.cc (GInbox::sort): new
	(GInbox::getHeading): proper re-capitalisation of headings

	* client/dlg-mbox.cc (handleEvent): use WSubjectList

	* game/msg-filter.cc (GMessageFilter): new

	* client/dlg-subject.cc (WSubjectList): new

2006-10-07  Stefan Reuther  <Streu@gmx.de>

	* ui/richtext.h (RichTextUnderlineAttribute, RichTextLinkAttribute): new

	* client/vcrvis.cc (VcrSpriteVisualizer): proper color keying for
	planet in VCR, it actually looks round now

	* client/scr-result.cc (runSimulation): do not stop simulation
	when modifier key is pressed (as in Alt-Tab to switch away from
	the PCC II window)

	* ui/event.cc (getClassOfKey): new

2006-10-05  Stefan Reuther  <Streu@gmx.de>

	* game/sim-run.cc (simulateFLAK): maintain fight count for ships
	renamed crew_or_defense_left -> crew_left_or_defense_lost

	* client/scr-sim.cc (runSimulation): made 'e' button in evaluation
	work

2006-10-03  Stefan Reuther  <Streu@gmx.de>

	* client/scr-result.cc: added Details pane

	* client/scr-sim.cc: exported WSimList

	* game/sim-result.h (isPlanet): new

	* ui/ui.cc (update): combine update operations to avoid flicker
	(happens with contents of UIFrameGroup)

	* ui/widget-tab.cc (draw): added missing horizontal line

	* ui/table.cc (sizeCell): new

2006-09-24  Stefan Reuther  <Streu@gmx.de>

	* game/sim-game.cc (updateFromGame, updateToGame): updated for
	intercept-attack, still untested
	* game/sim-game.h (getShipOwner): new
	* game/sim-if.h (getShipOwner): new

	* client/scr-sim.cc (editInterceptId): new
	* game/sim-run.cc (simulateHost, simulatePHost): implemented
	intercept-attack
	* game/sim.h (setInterceptId): new

2006-09-16  Stefan Reuther  <Streu@gmx.de>

	* client/scr-result.cc (runSimulation): use UIBusyWidget

	* game/sim-data.cc (isMatchingShipList): new
	* game/sim.cc (isMatchingShipList): new

	* ui/widget-busy.cc (UIBusyWidget): new

	* client/scr-sim.cc (writeToGame): only if game is available
	(updateFromGame): likewise
	(loadFile): use isMatchingShipList()

2006-09-08  Stefan Reuther  <Streu@gmx.de>

	* client/playvcr.cc (loadFlakConfig): new, to use correct config
	in simulator

	* game/tvcr.cc: small style improvement

	* game/pvcr.cc (playFastForward): handle pathological case

2006-08-27  Stefan Reuther  <Streu@gmx.de>

	* game/pvcr.cc: simplified PHost 4.0k support

2006-08-26  Stefan Reuther  <Streu@gmx.de>

	* game/pvcr.cc, game/vcrdb.cc: added PHost 4.0k support

	* game/pvcr.cc (playFastForward): implemented this function for PHost

2006-08-06  Stefan Reuther  <Streu@gmx.de>

	* game/sim-result.cc (ClassResult): initialisation

2006-07-30  Stefan Reuther  <Streu@gmx.de>

	* client/scr-result.cc (drawPart): in battles with weight != 1, do
	not display individual counts; they are meaningless

	* game/sim-run.cc (applyMasterBonus): new

2006-06-27  Stefan Reuther  <Streu@gmx.de>

	* game/sim-run.cc, flak/pdk-host.cc: changed to use computeRating,
	computeStrength from flak-gen.cc

	* flak/flak.cc: algorithm changes:
	- fairer player pick for fighter/torp firing
	- fairer fighter intercept

	* flak/flak-gen.cc (computeRating, computeStrength): moved here

2006-06-18  Stefan Reuther  <Streu@gmx.de>

	* flak/flak-gen.cc (findCaptor): moved this routine here
	* flak/pdk-host.cc: deleted it here
	* game/sim-run.cc: and here; simplified a bit

2006-06-17  Stefan Reuther  <Streu@gmx.de>

	* game/sim-run.cc: first version of FLAK simulator. Very ugly.

	* game/ship-form.cc (GShipTurnPredictor): now takes a const
	GUniverse

	* io/*: style improvements

2006-06-13  Stefan Reuther  <Streu@gmx.de>

	* ui/combobox.cc, client/scr-result.cc, client/scr-sim.cc: Borland
	compatibility fixes

	* flak/flak-gen.cc (removePassiveObjects): remove ships which are
	only in the battle due to the new rule from 2006-06-03, to avoid
	people pulling fuelless ships into battles

2006-06-06  Stefan Reuther  <Streu@gmx.de>

	* flak/flak-vis.cc, flak/vis-ui.cc, flak/vis.h: new visualizer can
	now take over status tokens from old one. Fixes crash when you
	play for more than one checkpoint, then switch visualizer, then
	play for more than one checkpoint, then rewind before the place of
	switch

	* client/playvcr.cc: made SIMULATOR_SUPPORT optional

2006-06-03  Stefan Reuther  <Streu@gmx.de>

	* flak/pdk-host.cc (computeAttackList): fleet/fleet relations must
	be symmetric.

	* flak/flak.cc: ships gather torps of dead fleet members
	avoid shooting fighters "across"
	weaken fighters who change their target
	do not recharge empty torpers

2006-05-20  Stefan Reuther  <Streu@gmx.de>

	* client/scr-sim.cc (writeToGame, updateFromGame): new

	* client/playvcr.cc (main): load configuration so user can call
	simulator from file selector

	* flak/parse-flak.pl: shows attack list boundaries
	* flak/pdk-play.cc: new test program

2006-04-24  Stefan Reuther  <Streu@gmx.de>

	* client/playvcr.cc: added simulator invocation

	* client/cscr-tile.cc: moved here to avoid linker dependency

	* game/fcode-game.cc: moved here to avoid linker dependency

	* game/sim-game.cc: moved here

2006-04-23  Stefan Reuther  <Streu@gmx.de>

	* game/sim-if.h: moved here

	* client/playvcr.cc (maybeStop): do not crash when selecting "View
	VCRs" on empty directory

2006-04-18  Stefan Reuther  <Streu@gmx.de>

	* client/sim-if.cc (updateToGame): implemented

2006-04-17  Stefan Reuther  <Streu@gmx.de>

	* client/sim-if.cc (updateFromGame): implemented

	* client/scr-sim.cc: implemented 'u','w',F1; stubs for C-w, C-u

	* client/scr-sim.h (getShipRelation): distinguish between played
	and seen ships

	* game/load-dir.cc (loadDirectory): pass correct size to loadShipXY()

2006-04-15  Stefan Reuther  <Streu@gmx.de>

	* util/debug.cc [i386]: catch SIGFPE

	* io/glob.cc (getAllFilesWithExtensionPattern etc.): new

	* game/sim-io.cc: new

	* game/sim.cc (swap): new

	* game/sim-data.cc (GSimShip, GPlanet): modified version number
	handling to be consistent with filefmt.txt

	* client/scr-sim.cc: load, save

	* game/pvcr.cc (initVcr): do not attempt to play battles declared
	bogus
	(checkVcrSide): correct experience error, not just report it

2006-04-14  Stefan Reuther  <Streu@gmx.de>

	* io/dirs.cc (appendFileNameExtension): new

	* client/scr-result.cc: optimized display

	* client/scr-sim.cc (toggleEnabled): new

	* ui/dlg-fileselect.cc: new

	* io/glob.cc: new

2006-04-09  Stefan Reuther  <Streu@gmx.de>

	* io/io.h: optimized space usage

	* game/sim-run.cc (applyShipModificators): correct handling of ESB (duh!)

	* game/pvcr.cc (CONFIG1): support Alien Marauders correctly

2006-04-03  Stefan Reuther  <Streu@gmx.de>

	* client/scr-sim.cc (runSimulation): new

	* client/scr-result.cc: new

	* game/sim-result.cc (updateClassResultSortOrder): sort results

	* ui/listbox.cc (UIListbox): add ability to layout header lines

	* ui/window.cc (getExtentFor): make window large enough to not
	truncate heading

	* ui/ui.cc (pack): handle the case that container requests bigger
	size than content

2006-03-24  Stefan Reuther  <Streu@gmx.de>

	* ui/widgets.cc (UIFocusIterator): fi_Home, fi_Page

	* client/scr-sim.cc (editBaseTorps): editor now complete

2006-03-19  Stefan Reuther  <Streu@gmx.de>

	* ui/skin.cc (tc_Heading): new

	* ui/listbox.cc (addAtFront, sortAlphabetically): new routines for
	simulator UI

	* client/sim-if.cc: new. Still unsure whether it really belongs
	here, though

	* client/scr-sim.cc: most of the simulation editor

2006-03-14  Stefan Reuther  <Streu@gmx.de>

	* ui/combobox.cc: new

2006-03-12  Stefan Reuther  <Streu@gmx.de>

	* ui/widget-button.cc: support st_Disabled.

2006-03-09  Stefan Reuther  <Streu@gmx.de>

	* ui/layout.cc (UIHBoxLayout/UIVBoxLayout::getLayoutInfo): compute
	correct values for li.flags. As a user-visible effect, a VBox
	containing another VBox which contains a Spacer is now layouted
	correctly.

	* client/scr-sim.cc: more tiles

2006-03-05  Stefan Reuther  <Streu@gmx.de>

	* ui/richtext.cc: added operator+
	fixed substr(), visit()

2006-03-02  Stefan Reuther  <Streu@gmx.de>

	* util/misc.h: portability fix

	* ui/richtext.cc: new (untested)

2006-02-28  Stefan Reuther  <Streu@gmx.de>

	* flak/: new algorithm constants

2006-02-21  Stefan Reuther  <Streu@gmx.de>

	* client/scr-sim.cc (WSimShipTypeTile): first data tile

	* client/cscreen.cc (update): handle case that tile is not yet
	exposed

2006-02-19  Stefan Reuther  <Streu@gmx.de>

	* client/scr-sim.cc: new, first parts of GUI

2006-02-17  Stefan Reuther  <Streu@gmx.de>

	* game/sim-run.cc: PHost planet combat rules
	* tests/testsim.cc (help): can change options on the fly

2006-02-13  Stefan Reuther  <Streu@gmx.de>

	* client/chart.cc, client/marks.cc, client/vcrvis.cc,
	flak/pdk-host.cc, flak/vis-ui.cc, game/pvcr.cc, game/save-dir.cc,
	io/streams.cc, sound/sound-mix.cc: fixed invocations of min/max to
	use identical types on both sides; add cast if in doubt. Fixes
	compilation problem on MacOS X reported by <nsxstorm@yahoo.com>.

2006-02-12  Stefan Reuther  <Streu@gmx.de>

	* game/sim-run.cc (simulatePHost): new. Rudimentary only, need to
	update called functions as well.

2006-02-05  Stefan Reuther  <Streu@gmx.de>

	* game/sim-data.cc (GSimPlanet): initialize base_fighters

	* game/sim-run.cc (makeShipShipVcr): do random left/right here,
	for correct weights
	(makeShipPlanetVcr): new

2006-01-29  Stefan Reuther  <Streu@gmx.de>

	* game/sim-result.cc: new

2006-01-22  Stefan Reuther  <Streu@gmx.de>

	* client/: removed several instances of Ptr<>

	* game/sim.cc: added statistics tracking; added initializer for
	options

	* game/sim-run.cc: host simulator done for ship/ship fights

	* game/sim-data.cc: added file version dependencies

2006-01-19  Stefan Reuther  <Streu@gmx.de>

	* game/player.h (GPlayerArray): new

	* game/vcr.h (VcrStatItem): new

2006-01-08  Stefan Reuther  <Streu@gmx.de>

	* game/vcrdb.cc (addEntry): new

	* game/sim.cc: change tracking

	* game/player.h (GPlayerBitMatrix): new

2005-12-29  Stefan Reuther  <Streu@gmx.de>

	* util/progress.cc: new interface

	* game/tvcr.cc (fireBeamsAtFighter): speed improved by 2..3%
	style fixes

2005-12-16  Stefan Reuther  <Streu@gmx.de>

	* game/sim.h: added support for FLAK rating override data

2005-12-03  Stefan Reuther  <Streu@gmx.de>

	* game/un-trnflt.cc: fix: implicit AND expressions where second
	operand is index reference did not work ("Ship*#3").
	* many small fixes

2005-11-30  Stefan Reuther  <Streu@gmx.de>

	* flak/pdk-host.cc: fixed intercept attack [Sascha Rambeaud]

2005-11-16  Stefan Reuther  <Streu@gmx.de>

	* game/trn.cc: minor improvements

	* util/idalloc.h: added missing definition
	* util/atom.cc (atomLookup): exception-safety

2005-10-16  Stefan Reuther  <Streu@gmx.de>

	* flak/flak-gen.cc: implemented CompensationAdjust

	* flak/pdk-host.cc (resolveBattle): use AddToActivityLevel, so
	that new experience level appears in the right place
	(computeStrength): lower limit for strength is 0

2005-08-28  Stefan Reuther  <Streu@gmx.de>

	* flak/pdk-host.cc (initFromShip): implemented fed crew bonus
	(computeStrength): implemented CompensationMass100KTScale

2005-08-16  Stefan Reuther  <Streu@gmx.de>

	* flak/pdk-host.cc (computeAttackList): properly handle
	RatingPEBonus. Duh.

2005-08-12  Stefan Reuther  <Streu@gmx.de>

	* gfx/init.cc: 24-bpp finally works

2005-08-08  Stefan Reuther  <Streu@gmx.de>

	* util/: cleaned up a bit
	* util/atom.cc: converted to use std::vector instead of Buffer

	* flak/dlg-select.cc (showInfo): added quick&dirty fleet overview
	window

	* flak/flak.cc (computeTorpLimit): increased lizard damage limit,
	for consistency with doFleetGC().
	(computeCrewKilled): renamed 'l' to avoid confusion with '1'. Duh.

2005-08-07  Stefan Reuther  <Streu@gmx.de>

	* arch/win32-bcc55/: disabled the dialog box when scanning
	for drives

	* util/cmdline.cc (handleOption): ambiguity handling: error
	message omitted one of the alternatives

	* flak/flak.cc (computeTorpLimit): fixed computation for
	ship-vs-planet case. Ships were almost stopping firing torps in
	fights against planets. [Holger Bauer]

	* game/trn.h: added setVersion() and setTimestamp().

	* game/un-trn.cc: added '-e'. Bumped version number to 1.99.3.

2005-08-04  Stefan Reuther  <Streu@gmx.de>

	* flak/pdk-host.cc: implemented language support

	* util/nls.cc: added management of multiple StringTranslator
	objects

2005-07-30  Stefan Reuther  <Streu@gmx.de>

	* util/nls.cc (StringTranslator): fixed and improved
	(translate): converted to use StringTranslator

	* flak/pdk-host.cc (doCombat): changed to generate messages
	one-at-a-time in anticipation of translation

2005-07-17  Stefan Reuther  <Streu@gmx.de>

	* flak/pdk-host.cc (processShipResult): typo fix; PALIncludesESB
	was always considered enabled due to C implicit conversion lossage

2005-07-12  Stefan Reuther  <Streu@gmx.de>

	* game/vcrdb.h: changed to more general interface to allow some
	generic queries for classic VCR and FLAK (and possibly others).
	Got rid of some Ptr<>. All users changed.

2005-07-03  Stefan Reuther  <Streu@gmx.de>

	* game/act-structure.cc, client/dlg-structure.cc: added undo

	* game/trn.h: interface beautified. Callers changed.

	* game/utildata.in: added new records

	* game/fcode-list.cc (isSpecial): add case-insensitivity, for HOST

	* client/dlg-fcode.cc (WFCodeWindow): added Random functionality

2005-07-02  Stefan Reuther  <Streu@gmx.de>

	* game/transact.cc: converted to simpler exception handling,
	all users changed accordingly

2005-06-19  Stefan Reuther  <Streu@gmx.de>

	* converted few more files to use GUniverse

2005-06-18  Stefan Reuther  <Streu@gmx.de>

	* game/univ.h: new data management. Converted many files to use it.

2005-05-14  Stefan Reuther  <Streu@gmx.de>

	* Borland C++ compatibility hacks

	* game/sim-data.cc: add more members

	* scripts/iogen.pl: support "int8_t" naming style

2005-03-28  Stefan Reuther  <Streu@gmx.de>

	* client/cscr-ch.cc: improved interface to chart widget

	* client/winfo.cc: improved display for UnitsPerTorpRate=0

	* game/sim.cc: added rudiments of simulator data management

2005-03-20  Stefan Reuther  <Streu@gmx.de>

	* client/cscreen.cc (update): correct redraw when switching
	between valid / invalid

	* game/global-loc.cc (getGravityPlanetAt): PHost square gravity
	wells: typo fixed

	* client/scr-ship.cc (update): point scanner to waypoint

	* client/cscr-ch.cc (setScannerPosition): do not flicker with
	scanner beam when paging through objects

2005-03-12  Stefan Reuther  <Streu@gmx.de>

	* game/planet.cc (getShipCloningHere): give in turn via parameter

	* game/global.h: added const accessors to ships and planets

	* client/scr-base.cc (handleEvent): added C-c (go to ship being cloned)

	* client/cscr-sel.cc: simplified a bit; users updated

	* client/cscr-ch.cc: implemented ability to disable the widget

	* client/chart.h: simplified a bit; callers updated

2005-03-08  Stefan Reuther  <Streu@gmx.de>

	* game/objtypes.h, game/obj.h: removed unnecessary member
	functions. All callers changed.

2005-03-07  Stefan Reuther  <Streu@gmx.de>

	* game/load-host.cc: new (untested)

	* game/ship.h: removed getUIFlags() & Co.

	* game/global.cc (postprocess): use setIsPlayed()

	* game/obj.h: added comments
	added isPlayed(); users changed
	added getMarkFlags(); potential users changed
	added getDirtyFlags(); potential users changed

	* client/dlg-list.cc (doListShips): improved wording

2005-03-06  Stefan Reuther  <Streu@gmx.de>

	* game/planet.h, game/ship.h: converted to use mp16_t() etc.
	All callers changed.

	* commented out unconnected buttons

	* client/dlg-structure.cc: added pictures

2005-01-30  Stefan Reuther  <Streu@gmx.de>

	* game/*: reviewed and polished

2004-12-30  Stefan Reuther  <Streu@gmx.de>

	* flak/pdk-host.cc (processShipResult): added tons and enemies
	handling (needs testing)

2004-11-27  Stefan Reuther  <Streu@gmx.de>

	* game/transact.cc (GTransaction): modified so that there's only
	one error state. All descendants changed.
	* game/ship.cc, game/planet.cc: source flags changed to GPlayerSet
	* game/*: style fixes

2004-11-25  Stefan Reuther  <Streu@gmx.de>

	* game/mission.h: introduced type 'Parameter' for parameter numbers
	* client/dlg-mission.cc: modified accordingly

	* ui/layout.cc (getLayoutInfo): fix: change from 29/Sep did not
	work due to uninitialized variables, breaking missions with two args

2004-11-21  Stefan Reuther  <Streu@gmx.de>

	* game/host.h: updated
	* game/msg.cc, game/msg-out.cc, game/tvcr.cc, game/vcr.cc,
	util/recode.cc: style fixes

2004-11-13  Stefan Reuther  <Streu@gmx.de>

	* game/spec.cc (HullfuncParser): fix: crash after hullfunc syntax
	error

2004-11-06  Stefan Reuther  <Streu@gmx.de>

	* flak/pdk-host.cc: fixed crash in gather-debris (was accessing
	the ship it just destroyed which the PDK does not like)

	* flak/flak.cc: converted all distance computations and random
	choices to proper comparisons

	* configure.in: updated to autoconf 2.57
	added test for -ffloat-store which is necessary for FLAK

2004-09-19  Stefan Reuther  <Streu@gmx.de>

	* ui/layout.cc (UIGridLayout): added ability to fix cell size

	* ui/skin.cc, gfx/gfxutil.cc: documented, polished

	* flak/vis-iso.cc (getShipPicture): crashed when picture was not
	available

	* flak/vis-ui.cc: almost usable now

2004-09-11  Stefan Reuther  <Streu@gmx.de>

	* flak/vis.cc (setTime): implemented forward/rewind
	minor changes to rest of FLAK to support it

2004-09-06  Stefan Reuther  <Streu@gmx.de>

	* flak/vis.cc: visualisation completely rewritten, rest of FLAK
	polished and updated

	* scripts/dman.pl: updated to work with new Doxygen

	* added blurb to new files, improved various comments

2004-08-29  Stefan Reuther  <Streu@gmx.de>

	* game/un-trnflt.cc: removed Ptr<>

	* scripts/depend.pl: better diagnostics

2004-08-23  Stefan Reuther  <Streu@gmx.de>

	* gfx/sprite3d.cc (getId, setId): new
	(sortByDepth): taking dumb pointers saves 1.5k code

2004-08-22  Stefan Reuther  <Streu@gmx.de>

	* gfx/sprite3d.cc (expandRectangle): fix: did not work correctly
	for negative x/y
	(ensureTick): new

2004-08-15  Stefan Reuther  <Streu@gmx.de>

	* flak/: reviewed large parts, several typos/omissions fixed

2004-08-14  Stefan Reuther  <Streu@gmx.de>

	* game/spec.cc (setSpecialFunction): typo, causing it to probably
	confuse hull functions
	(loadHullfunc): handle non-cumulativity of PHost

	* game/transact.h (getError): moved here
	miscellaneous fixes to transaction system

2004-08-12  Stefan Reuther  <Streu@gmx.de>

	* game/act-base.cc (GPlanetBuildStarbaseAction): revised. Callers
	converted to use GMultiTransaction

2004-08-08  Stefan Reuther  <Streu@gmx.de>

	* client/dlg-cargo.h (doCargoTransfer): changed to use GMultiTransaction,
	therefore now exception safe etc. All callers changed.

	* game/cargo-tr.cc (commit): changed to allow use with GMultiTransaction

2004-08-07  Stefan Reuther  <Streu@gmx.de>

	* game/rst.cc, game/load.cc, game/trn.cc et al: converted to use
	Stream& instead of Ptr<Stream>

	* io/io.h (getStructure, storeStructure): changed to Stream&
	instead of Stream*. Callers changed.

2004-08-04  Stefan Reuther  <Streu@gmx.de>

	* game/ion.cc (addUtilData): new

2004-08-03  Stefan Reuther  <Streu@gmx.de>

	* game/utilread.cc (check): use GTimestamp, made it work under
	older versions with shorter control record

	* game/utildata.in (TUtil13ControlMinimal): new

2004-08-01  Stefan Reuther  <Streu@gmx.de>

	* client/scr-ship.cc (doShipTransferFor): do not crash if
	transporter is already active; have to cancel 'left'

2004-07-31  Stefan Reuther  <Streu@gmx.de>

	* game/ship.h: revised
	(GShipTransfer, GShip) 'bool ship_ship' -> 'GShip::Transporter which_one'

	* game/error.cc: revised, documented

	* game/transact.cc (GMultiTransaction): new

2004-07-29  Stefan Reuther  <Streu@gmx.de>

	* game/objlist.cc: non-null dividers are now preserved by sort()
	and addDividers()
	(getCount) renamed to getNumGameObjects

2004-07-28  Stefan Reuther  <Streu@gmx.de>

	* util/misc.cc (stringValue): skip trailing whitespace

	* game/fcode.cc: reviewed. getPlayerMask -> getRaceMask. Added
	PHost 4.0h/3.4j FCode rules
	* game/host.h: likewise

2004-07-27  Stefan Reuther  <Streu@gmx.de>

	* game/lock.h, game/objtypes.h: reviewed, documented

2004-07-26  Stefan Reuther  <Streu@gmx.de>

	* game/msg-out.cc: converted to use GPlayerSet

2004-07-25  Stefan Reuther  <Streu@gmx.de>

	* game/gen.cc: reviewed, documented

	* game/rst.cc (haveSection): new
	(checkHeader): validate pointers
	(Section): renamed SEC_FOO -> sec_Foo, users changed

2004-07-24  Stefan Reuther  <Streu@gmx.de>

	* game/cmds.cc: command replacement did not work
	added sorting
	make sure 'beamup' commands don't overflow lenght limit
	fixed parsing of 'racename adjective' and 'send racenames'
	added testsuite

2004-07-22  Stefan Reuther  <Streu@gmx.de>

	* game/reg.cc: converted pointer parameters to references

2004-07-20  Stefan Reuther  <Streu@gmx.de>

	* resmgr/*: finished it up -- sort of.

2004-07-05  Stefan Reuther  <Streu@gmx.de>

	* resmgr/resmgr.cc: failures now yield null entries, not empty
	ones, to avoid aliasing problems

2004-07-04  Stefan Reuther  <Streu@gmx.de>

	* resmgr/resmgr.h: added animation support; modified to explicit
	MM for ResProviders; added removeProvider()

2004-06-14  Stefan Reuther  <Streu@gmx.de>

	* resmgr/resmgr.cc: added sound support; converted all users;
	polished

2004-05-16  Stefan Reuther  <Streu@gmx.de>

	* flak/pdk-host.cc: polished a bit

2004-04-30  Stefan Reuther  <Streu@gmx.de>

	* gfx/pixmap.cc (cloneCropped, computeBoundingRectangle,
	alpha stuff): new

	* client/vcrvis.cc (VcrSpriteVisualizer): made image manipulation
	simpler & nicer

	* gfx/gfx-modetr.h (Gfx24bitModeTraits): new

2004-04-29  Stefan Reuther  <Streu@gmx.de>

	* flak/vis-iso.cc (getShipPicture): updated to new resmgr
	* gfx/pixmap.cc (setColorKey): new function

2004-04-28  Stefan Reuther  <Streu@gmx.de>

	* resmgr/resmgr.h: new resource manager with pixmap caching. All
	users changed.

2004-04-15  Stefan Reuther  <Streu@gmx.de>

	* gfx/blit.cc: new

	* po/es.po: new version from Lucas

	* flak/vis-ui.cc: save checkpoints
	* flak/vis-iso.cc: added preliminary ship bitmap display
	* flak/flakconf.cc, flak/pdk-host.cc: added MaximumFleetSize
	* flak/flak.cc (init): do first choose-enemy here, so ships start
	with sensible directions

2004-04-12  Stefan Reuther  <Streu@gmx.de>

	* gfx/sprite3d.cc: split tick() and doUpdates(); nice-ified code a
	bit

	* everything: updated to new sig/slot API

	* flak/: polished, updated to new APIs

	* util/nls.cc: fixed typo

2004-04-11  Stefan Reuther  <Streu@gmx.de>

	* flak/pdk-host.cc: added cyborg-beam-debris, intercept attack

2004-04-03  Stefan Reuther  <Streu@gmx.de>

	* game/vcr.cc (unpackSide): fixed crash when VCR reports a nonzero
	number of type-0 arms [Andreas Gilsebach]

	* game/save-dir.cc (saveOutbox): did not work due to software rot
	[Lars Berning]

2004-04-02  Stefan Reuther  <Streu@gmx.de>

	* many files: beautified

	* flak/pdk-host.cc (resolveBattle): added messaging, updated
	result computation

	* flak/flak.cc (computeNewPosition): bugfix: did not work
	correctly when fleet was destroyed

	* flak/vis.cc (drawShipBox): new

2004-03-17  Stefan Reuther  <Streu@gmx.de>

	* flak/vis-iso.cc: completed iso visualizer

	* gfx/sprite3d.cc (tick): did not update proberly after delete

2004-02-26  Stefan Reuther  <Streu@gmx.de>

	* gfx/sprite.h: obsoleted

	* client/vcranim.cc: converted to using 3d sprites

2004-02-22  Stefan Reuther  <Streu@gmx.de>

	* flak/vis-iso.cc: first attempt using 3d sprites

	* game/timestamp.cc: new

2004-02-16  Stefan Reuther  <Streu@gmx.de>

	* flak/: added FLAK to CVS

	* added comments to many files

2004-01-29  Stefan Reuther  <Streu@gmx.de>

	* po/it.po: added newest version from Matteo

	* game/planet.cc (getCargoRaw, changeCargoRaw): did not work for
	torpedoes, so building ammo did not work at all. [Akseli Mki]

	* game/vcr.cc (getResultString): use more explicit code. Borland
	compiler generates segfault otherwise. [Harry Bur]

2004-01-16  Stefan Reuther  <Streu@gmx.de>

	* arch/unix/dirs.cc: show root and home directory in roots

2004-01-15  Stefan Reuther  <Streu@gmx.de>

	-------------------- release_2004_01_16, 1.99.0

	* scripts/msgcompile.pl: do some basic consistency checks

	* game/config.cc (loadPConfig): shiplist.txt was not read
	[Thomas Klebes, Scott]

2004-01-13  Stefan Reuther  <Streu@gmx.de>

	* many Windows portability fixes

2004-01-09  Stefan Reuther  <Streu@gmx.de>

	* client/main.cc (main): added game selector

2004-01-03  Stefan Reuther  <Streu@gmx.de>

	* game/cmds.cc (parseCommand): do not eat 'remote give' commands

	* client/playerscr.cc: added buttons

	* ui/layout-flow.cc: new

	* fixed a number of doxy_doc bugs

2004-01-02  Stefan Reuther  <Streu@gmx.de>

	* client/scr-base.cc: added buttons. added more info to selector.

	* client/scr-planet.cc: added buttons

	* ui/window.cc: all windows are now modal by default. respective
	setState() call removed from most callers

	* client/cscreen.cc (WTile): support headings. smarter layout
	taking advantage of this. callers modified. added comments.
	[BLUESKIN] slight modifications

	* client/main.cc: added 'v', removed some testing stuff

	* updated docs

	* arch/unix/dirs.cc: split, so that programs which just need the
	static stuff don't pull in the member functions as well.

2003-12-20  Stefan Reuther  <Streu@gmx.de>

	* arch/unix/dirs.cc (getCanonicalName): handle paths which resolve
	to "." correctly

	* many fixes to make it compile with gcc 3.x

	* new project manager

Tue Nov 11 23:49:55 2003  Stefan Reuther  <Streu@gmx.de>

	* scripts/iogen.pl: accept blank lines

	* client/chartusr.cc: display current coordinates

	* game/fcode.cc (GFCode): initialize 'players' variable, so that
	it also accepts fcodes without racial restrictions

Tue Oct 14 23:27:37 2003  Stefan Reuther  <Streu@gmx.de>

	* game/save-trn.cc (saveTurns): keep templock block once
	generated. This way, it's now possible to play multiple races
	in one directory in no-unpack mode.

	* game/trn.h (GTurnfile): added ability to just read headers

Sun Oct  5 00:12:13 2003  Stefan Reuther  <Streu@gmx.de>

	* client/scr-env.cc: rudimentary f5 screen completed

Wed Oct  1 18:40:07 2003  Stefan Reuther  <Streu@gmx.de>

	* game/coord.cc (getSectorNumber): new
	* game/global.h: converted to GPlayerSet
	* game/msg-out.cc: revised to support message editing

	* client/scr-planet.cc: completed WPlanetSelect layout
	generalized WPlanetBaseTile
	* client/dlg-receiver.cc (handleEvent): add proper select()
	(doSimpleDialog): new
	* client/dlg-supplies.cc: added message when user has no
	supplies
	* client/dlg-mbox.cc (doStandardDialog): added arrow/page keys,
	added 'f' (forward message) function
	* client/cscreen.cc (handleEvent): added f5, c-f5, s-f5
	* client/scr-env.cc: new

Sat Sep 27 23:22:47 2003  Stefan Reuther  <Streu@gmx.de>

	* client/playerscr.cc (handleEvent): added 'w' (write message)
	function

	* client/wedit.cc: new

Thu Sep 25 00:25:12 2003  Stefan Reuther  <Streu@gmx.de>

	* client/dlg-receiver.cc: new

Sun Sep 21 00:01:30 2003  Stefan Reuther  <Streu@gmx.de>

	* game/mission.h: converted to use GPlayerSet
	* game/fcode.h: likewise

	* renamed some files to avoid conflicts when building on 8.3 FS

Mon Sep 15 22:24:06 2003  Stefan Reuther  <Streu@gmx.de>

	* game/host.cc: factored out all host version knowledge

	* client/dlg-mission.cc: completed it

Sun Sep 14 17:06:00 2003  Stefan Reuther  <Streu@gmx.de>

	* ui/layout.cc (UIGridLayout): new

	* game/global.cc (postprocess): planet #500 / ship #999 got
	ignored due to off-by-one mistake

	* general: layout managers no longer use Ptr<>

Mon Sep  8 23:54:22 2003  Stefan Reuther  <Streu@gmx.de>

	* client/dlg-mission.cc (getMissionArg): added first basic mission
	arg editors: own-planet, [own,not-this] ship-here, base

Sat Sep  6 23:29:02 2003  Stefan Reuther  <Streu@gmx.de>

	* re-written hull function handling to read definitions from
	hullfunc.cc. We now can display hull function names correctly.

Fri Sep  5 23:46:19 2003  Stefan Reuther  <Streu@gmx.de>

	* client/dlg-mission.cc: added extmission ('#') editor

Sat Aug 30 23:15:55 2003  Stefan Reuther  <Streu@gmx.de>

	* game/act-build.cc (GStarbaseBuildShipAction): pre-initialize
	with a useful build order; documented it; fixed some tech-related
	errors; implemented commit()
	* game/act-sb.cc (GStarbaseBuildAction::Actor): added accountHull()

	* client/winfo.cc (WEngineInfo): added some info
	* client/wcost.cc: add headings
	* client/dlg-build.cc: build screen now 99% complete

	* scripts/updatepo: handle '\a' even if msgmerge doesn't do it

	* ui/msgbox.cc: use correct font when layouting message boxes
	* ui/table.cc (UITableWriter::finish): also fill below

	* util/debug.cc: added DEBUG_NUM_FRAMES envariable to request
	larger traces

Sun Aug 24 16:04:11 2003  Stefan Reuther  <Streu@gmx.de>

	* game/formula.h (round): renamed to roundToInt, to avoid
	conflict with SUSv3 function 'round'

	* ui/, gfx/, client/, piced/: converted all Ptr<GfxCanvas> to
	explicit MM

	* client/dlg-build.cc (WShipBuildScreen): ship-to-build selection
	almost done

	* client/winfo.cc: new

	* po/messages.po: updated
	* scripts/msgcompile.pl: handle '\a'

	* ui/table.cc (getCurrentPosition): new method
	* ui/widget-card.cc (draw): correctly update background
	(setExtent): call doLayout() to lay out child widgets correctly

Sun Aug 17 18:12:39 2003  Stefan Reuther  <Streu@gmx.de>

	* game/action.h (GPlanetBuildStarbaseAction): renamed from
	GBuildStarbaseAction
	(GStarbaseBuildAction): new
	(GStarbaseBuildShipAction): new
	(GStarbaseTechUpgradeAction): changed to use GStarbaseBuildAction

	* client/dlg-build.cc: new

	* game/planet.h (GPlanet): added new accessors for ship parts and
	build order

	* gfx/init.cc (initGraphics): finally fixed 24-bpp bug

	* updated some tests

Sat Aug  9 16:09:23 2003  Stefan Reuther  <Streu@gmx.de>

	* renamed fileio/* to io/*

	* io/memstream.h (MemoryStream): new

	* client/chart.cc (getPlayerColor), game/player.cc
	(getPlayerRelation): the-stuff-that-used-to-be-called-isFriend now
	here and better structured (?)

	* ui/listbox.cc (UIListbox::drawEntry): new; take advantage of new
	color tables

	* ui/skin.h (UIColor, UIColorSet): new. collect color tables all
	in one place

	* game/player.cc: removed FOF_xxx crap

Tue Jul 15 00:35:46 2003  Stefan Reuther  <Streu@gmx.de>

	* ui/widget-card.cc (UICardGroup, UICardGroupTab): new.

	* gfx/gfxnull.cc (GfxNullCanvas): new

Sat Jul 12 17:30:18 2003  Stefan Reuther  <Streu@gmx.de>

	* client/scr-ship.cc: use GShipTurnPredictor; seems to work.
	ported WShipMovementTile to table writer interface

Fri Jun 20 23:57:55 2003  Stefan  <Streu@gmx.de>

	* game/ship-form.cc (GShipTurnPredictor): new. untested.

Wed Jun 18 00:38:27 2003  Stefan  <Streu@gmx.de>

	* client/dlg-warp.cc: new. works. cool.

Mon Jun 16 23:11:10 2003  Stefan  <Streu@gmx.de>

	* game/utilread.cc: improved interface
	* game/vcrdb.cc: optimized: removed Ptr<VcrEntry>

Sun Jun 15 18:05:33 2003  Stefan  <Streu@gmx.de>

	* client/dlg-ammo.cc (doBaseBuildAmmo): new

	* game/act-ammo.cc (GStarbaseBuildAmmoAction): new

	* client/wcost.cc (WItemCostDisplay): new

Sat Jun 14 14:18:32 2003  Stefan  <Streu@gmx.de>

	* client/dlg-tech.cc (WCostDisplay): updated to use UISkin

Fri Jun 13 22:13:30 2003  Stefan  <Streu@gmx.de>

	* ui/listbox.cc: menus are modal, and disappear when user clicks
	outside; standard list boxes accept alphanumeric input

Thu Jun 12 21:51:24 2003  Stefan  <Streu@gmx.de>

	* gfx/gfxtypes.h: new. half-hearted attempt to allow retargeting
	to a new graphics library someday

	* client/act-planet.cc: moved GUI-independant actions
	to game/action.h and game/act-*.cc

Fri Jun  6 22:26:28 2003  Stefan  <Streu@gmx.de>

	* ui/widget-num.cc (UIDecimalSelector): new

	* util/cmdline.cc (handleOption): fixed typo causing it to not
	accept abbreviations; instead accepted trailing garbage

	* client/cscreen.cc: tried new color scheme for control screens

Sun May 25 22:24:30 2003  Stefan  <Streu@gmx.de>

	* client/scr-ship.cc, client/scr-base.cc: converted some tiles

Sat May 24 15:44:48 2003  Stefan  <Streu@gmx.de>

	* fixed some of Doxygen's complaints

	* client/dlg-structure.cc (doPlanetBuildScreen): fixed lifetime
	problem: widgets must die before the Action to allow clean-up of
	signals

	* ui/table.cc: re-diddled for nicer, simpler interface, and some
	support for the Tile interface (don't redraw static parts, ...)

Fri May 23 00:00:24 2003  Stefan  <Streu@gmx.de>

	* client/scr-planet.cc: modified to take advantage of
	UITableWriter. It now automatically adapts to variable-length
	strings in NLS

	* ui/table.cc: new.

	* client/dlg-mbox.cc (search): new

Wed May 21 00:15:31 2003  Stefan  <Streu@gmx.de>

	* client/dlg-mbox.cc (WMessageDisplay): new: simple message reader

Sun May 18 23:43:53 2003  Stefan  <Streu@gmx.de>

	* ui/listbox.cc (getWidth): new

Sun May 11 17:50:35 2003  Stefan  <Streu@gmx.de>

	* client/dlg-tax.cc (WTaxationDialog): completed it. Works.

Sat May 10 23:52:22 2003  Stefan  <Streu@gmx.de>

	* client/dlg-tax.cc: completed it (sort of). Displays correct
	information, but actuators still missing

Mon May  5 23:58:32 2003  Stefan  <Streu@gmx.de>

	* client/dlg-tax.cc: new (untested)

Sun May  4 17:13:36 2003  Stefan  <Streu@gmx.de>

	* ui/ui.h: all widgets are now skinnable. Many widgets converted

	* client/dlg-cargo.cc (doCargoTransfer): use signals. This also
	fixes the problem of other "free" lines not updating when cargo on
	a ship is changed

	* game/cargo-tr.cc (move): transactions emit signals

Mon Apr  7 00:05:03 2003  Stefan  <Streu@gmx.de>

	* int/stmt.cc (parseStatement): developed and implemented a
	reasonably-consistent name lookup scheme; implemented some new
	commands

	(parseDoBody): simplified context unwind handling (Break out of a
	With). Added Abort, Return.

	* many files: added blurb

Sat Apr  5 23:39:07 2003  Stefan  <Streu@gmx.de>

	* int/exec.cc (IF_intValue, IF_boolValue, et al): new

	* int/data.cc (apply): improved IntArray

	* int/lex.cc (IntNameLookupComparator): new

	* scripts/ifcomp.pl: new

	* int/if-global.if, int/if-planet.if, int/if-arrays.cc: new

Thu Mar 27 00:28:50 2003  Stefan  <Streu@gmx.de>

	* int/exec.cc (doEval): works. Interpreter core almost complete
	now.

Fri Mar 21 22:45:18 2003  Stefan  <Streu@gmx.de>

	* int/exec.cc: new

	* int/expr.cc: added `:=' operator

Thu Mar 20 23:40:04 2003  Stefan  <Streu@gmx.de>

	* int/expr.cc: added `Xor', `And', `Or' value compilation

	* int/stmt.cc: added `ForEach', `Try', `With', `Break', `Continue'

Mon Mar 17 23:54:46 2003  Stefan  <Streu@gmx.de>

	* int/stmt.cc: new. supports "If", "Do" and expression statements
	so far

	* int/lex.cc: added some functions

	* int/expr.cc (IntExprLValue): renamed to IntExprRValue. D'ooh.

Sun Mar 16 18:13:21 2003  Stefan  <Streu@gmx.de>

	* client/scr-planet.cc (handleEvent): added 'b', 'd', 'm' commands

	* client/dlg-structure.cc (doPlanetBuildScreen): new; semi-complete

Thu Mar 13 22:15:16 2003  Stefan  <Streu@gmx.de>

	* game/mission.cc (addMission): added hot-key assignment

	* client/scr-ship.cc (handleEvent): added 'm' command

	* client/dlg-mission.cc: new; supports parameterless missions only
	for the time being

Wed Mar 12 23:42:58 2003  Stefan  <Streu@gmx.de>

	* game/mission.cc: new. untested & unfinished

Mon Mar 10 23:46:13 2003  Stefan  <Streu@gmx.de>

	* client/act-planet.cc (GBuildStarbaseAction): allow cancelling a
	base

	* client/scr-planet.cc (handleEvent): allow cancelling a base

Sat Mar  8 00:00:00 2003  Stefan  <Streu@gmx.de>

	* ui/msgbox.cc: moved actual message box into a class, to allow
	for dialogs with more buttons. Use layout manager.

Thu Mar  6 00:55:48 2003  Stefan  <Streu@gmx.de>

	* client/dlg-tech.cc (WCostDisplay): added general cost display
	class; rewritten tech upgrade dialog to use it

	* client/scr-planet.cc (handleEvent): added F8 function

	* util/recode.cc (getCharacter): fixed (hypothetical?) bug

	* client/act-planet.cc (GStarbaseTechUpgradeAction): changed to
	use GCargoCostTransaction

	* game/cargo-tr.cc (GCargoCostTransaction): new

Tue Mar  4 23:33:10 2003  Stefan  <Streu@gmx.de>

	* client/scr-ship.cc (doShipNavigationChart): chart starts out
	with scanner at waypoint

	* game/pvcr.cc (getPlayerName): correctly report PHost 4 when used :)

	* current font now in GfxParameters, to avoid having to pass it
	around all the time

Sun Mar  2  Stefan  <Streu@gmx.de>

	* portability fixes for release

Sat Mar  1 20:55:10 2003  Stefan  <Streu@gmx.de>

	* game/vcr.cc (getResultString): added stalemate result

	* game/config.cc (assignConfigBool): support "external" as value
	for a bool option

	* game/pvcr.cc (hit): changed to catch up with actual PHost 4
	(doneVcr): correctly report stalemate results

Thu Feb 27 22:11:14 2003  Stefan  <Streu@gmx.de>

	* client/scr-ship.cc (handleEvent): added 'u', Ctrl-i, Ctrl-t
	commands

Wed Feb 26 23:50:45 2003  Stefan  <Streu@gmx.de>

	* client/act-planet.cc (changeAllocation): works

	* game/transact.h: added some code for multipart transactions.
	Callers changed.

	* client/dlg-tech.cc (doTechUpgradeDialog): done

Mon Feb 24 22:52:43 2003  Stefan  <Streu@gmx.de>

	* client/act-planet.cc: new: GStarbaseTechUpgradeAction (untested)

	* client/dlg-tech.cc: new: bones of a tech upgrade dialog

	* gfx/gfxutil.cc: added LTSLASH_FILL

Sun Feb 23 15:39:10 2003  Stefan  <Streu@gmx.de>

	* client/scr-base.cc: WBaseOrderTile complete

	* fixed some Doxygen warnings

	* game/pvcr.cc: added remaining PHost 4 support: experience,
	ShieldKillScaling

	* game/act-planet.cc: 'r' action on starbase now complete,
	added Ctrl-R action

Sat Feb 22 14:15:41 2003  Stefan  <Streu@gmx.de>

	* game/pvcr.cc: support Death Rays

	* ui/listbox.cc (UIStandardListbox::Data): renamed to UIStringList
	(doStandardListbox, doStandardMenu): now in UIListbox
	simplified some code

Fri Feb 21 23:24:33 2003  Stefan  <Streu@gmx.de>

	* doc/mm.txt: wrote down some memory management issues.

	* client/*, ui/*: changed add() and some other functions to take a
	reference instead of a pointer. This makes it clear how MM works.

	* ui/ui.cc: moved UIWidgetHolder into cpluslib as ObjectHolder

	* ui/listbox.cc (handleEvent): polished; works

Sat Feb 15 23:10:38 2003  Stefan  <Streu@gmx.de>

	* client/*, ui/*: changed UI pointers from smart to dumb
	* */*: updated blurb

Fri Feb 14 18:43:56 2003  Stefan  <Streu@gmx.de>

	* client/act-planet.cc: added GStarbaseFixRecycleAction; incomplete

	* ui/listbox.cc (doStandardListbox): odd fixes, still not perfect

Fri Jan 24 00:30:35 2003  Stefan  <Streu@gmx.de>

	* ui/listbox.cc (doStandardMenu): unfinished, untested "menu"
	listbox

Thu Jan 23 23:41:00 2003  Stefan  <Streu@gmx.de>

	* client/scr-ship.cc: renamed shipscr.cc. Likewise for
	planetscr.cc, basescr.cc

	* game/spec.cc (assign): add support for AssignTo keyword

Fri Jan 17 21:28:20 2003  Stefan  <Streu@gmx.de>

	* game/config.cc (lookupConfigOption): fix alias processing

Thu Jan 16 23:56:02 2003  Stefan  <Streu@gmx.de>

	* game/config.cc: support PHost 4 config format ("$foo" etc.)

Sun Jan 12 15:42:29 2003  Stefan  <Streu@gmx.de>

	* client/chartusr.cc (drawChart): funky "reversed" chart
	(not-so-serious idea from Andreas Weigand)

Sat Jan 11 23:40:11 2003  Stefan  <Streu@gmx.de>

	* client/vcrplay.cc (playIt): handle VCR capabilities

	* game/pvcr.cc (setCapabilities): handle VCR capabilities

	* game/vcrdb.cc (loadFromFile): handle VCR capabilities

Sun Dec 22 17:31:35 2002  Stefan  <Streu@gmx.de>

	* ui/widget-num.cc (UINumberSelector): new

	* client/act-planet.cc: new file

	* client/basescr.cc (handleEvent): some commands ('x', 'f',
	'c', 'u', f8, 'm')

	* game/planet.cc (toggleMark): update when selection changes

Sun Dec  8 17:21:50 2002  Stefan  <Streu@gmx.de>

	* client/shipscr.cc (WShipScannerChartWidget): new. displays
	waypoint and accepts doubleclick

	* client/cscr-ch.cc (WChartWidget etc): moveTo -> setCenterPosition,
	moveScanner -> setScannerPosition; take GPoint arg
	(WScannerChartWidget::sync): add dblclick arg

Sat Dec  7 14:49:18 2002  Stefan  <Streu@gmx.de>

	* game/planet.cc (setFCode): new

	* client/planetscr.cc (doPlanetFCodeChange): new
	(handleEvent): added 'f', 'u' keys

Thu Dec  5 23:03:59 2002  Stefan  <Streu@gmx.de>

	* client/planetscr.cc (drawData): added native/colonist tile

	* arch/unix/platform.cc (getLanguageCode): use LC_ALL if set

Wed Dec  4 23:04:49 2002  Stefan  <Streu@gmx.de>

	* client/planetscr.cc: update screen after change

	* game/planet.cc: added correct dirtyness flags
	* game/fcode.cc: odd fixes

Mon Dec  2 22:58:30 2002  Stefan  <Streu@gmx.de>

	* client/cscreen.cc client/vcranim.cc fileio/iostr.cc
	game/formula.h game/mine.cc game/planet-form.cc gfx/gfxcompl.cc
	gfx/palette.cc util/except.cc util/except.h util/console.cc
	util/bsearch.h: portability fixes

Sun Dec  1 16:07:08 2002  Stefan  <Streu@gmx.de>

	* added copyright notice to many files

	* client/planetscr.cc (doPlanetTransfer): added planet cargo
	transfer

	* game/load.cc (loadTargets): first decrypt, then recode. Ship
	names from kore.dat would come out fubar otherwise

Mon Nov 25 00:24:34 2002  Stefan  <Streu@gmx.de>

	* game/vcrdb.cc: changed from 1-based to 0-based indexing
	* game/msg.cc: changed from 1-based to 0-based indexing
	All relevant users changed.
	* game/save-trn.cc (saveTurns): added support for $thost-allies

Sat Nov 23 00:27:44 2002  Stefan  <Streu@gmx.de>

	* client/shipscr.cc (doShipCargoTransfer): added transfer to
	foreign units, jettison

	* game/cargo.cc: added "facilities"
	* game/ship.h: fixed silly bug in getTransporter
	* game/plan-f.cc: renamed to planet-form.cc

	* ui/event.cc: added double-click recognition
	* ui/listbox.cc: use it
	* client/gdchooser.cc (WGamedirChooser): use it

Thu Nov 21 21:48:04 2002  Stefan  <Streu@gmx.de>

	* client/vcrvis.cc (fireTorp): torps don't move 100% horizontally,
	so planet torps still hit their target

Wed Nov 20 21:17:56 2002  Stefan  <Streu@gmx.de>

	* client/vcrvis.cc (VcrSpriteVisualizer): use resource manager.
	Torp hits make sound.

	* sound/sound.cc (initSound): default sound latency should now be
	just 1/20 sec.

	* game/msg.cc (getMessageFromArray): strip blanks from end of
	message. Do not rewrap outgoing messages.
	* game/msg.h (GOutbox): added some new operations
	* game/save-dir.cc: added saving of messages into a directory

Tue Nov 19 23:37:55 2002  Stefan  <Streu@gmx.de>

	* game/cmds.h: added iteration primitives
	* game/save-trn.cc: added saving of messages in TRN
	* game/load-trn.cc (loadTurn): fixed stupid typo in command
	processing
	* game/msg-out.cc (GOutbox): must know sender number

Sun Nov 17 20:11:26 2002  Stefan  <Streu@gmx.de>

	* arch/generic/file.cc: generously sprinkled some ".clear"s

	* arch/platform.h (getUserSettingsDirectory): renamed
	getUserHomeDirectory. All referring code changed.

	* arch/win32-bcc55/output.cc (showOutput): register window class
	only once

	* client/playvcr.cc (main): also save config when exiting with
	[ESC] from directory selector, without ever playing a battle

	* ui/window.cc (close): give focus to topmost window when closing
	old topmost window

	* util/debug.cc (sigsegv): display signal number

Sat Nov  2 23:06:27 2002  Stefan  <Streu@gmx.de>

	* tests/: all tests fixed and documented

	* client/playvcr.cc: config file support

Fri Nov  1 23:34:05 2002  Stefan  <Streu@gmx.de>

	* util/conf-file.cc (ConfigFile): new

	* arch/generic.h (getUserHomeDirectory): new function

Thu Oct 31 19:01:47 2002  Stefan  <Streu@gmx.de>

	* client/playvcr.cc (main): added configuration dialogs

Wed Oct 30 00:01:14 2002  Stefan  <Streu@gmx.de>

	* ui/widgets.cc: added UICheckbox

	* sound/sound.h: (SfxSample): added support for "outdating"
	samples
	* sound/sound.cc (configureSound): new function

Sun Oct 27 18:14:47 2002  Stefan  <Streu@gmx.de>

	* client/vcrvis.cc (VcrSpriteVisualizer): added sound support

Sat Oct 26 22:33:15 2002  Stefan  <Streu@gmx.de>

	* arch/unix/file.cc (init): fixed stupid typo which caused
	failure to open read-only files

Wed Oct 23 00:57:27 2002  Stefan  <Streu@gmx.de>

	* sound/sound.cc: voice management

	* sound/sound-mix.cc: mixing done for U8/S8/U16SYS/S16SYS audio
	formats

Tue Oct 22 00:40:36 2002  Stefan  <Streu@gmx.de>

	* sound/sound.cc: first attempt at an ultra-simple mixer

Sun Oct 20 23:10:59 2002  Stefan  <Streu@gmx.de>

	* ui/event.cc: solved timer problem. Timer wasn't firing reliably.

Wed Oct 16 23:03:43 2002  Stefan  <Streu@gmx.de>

	* client/chartusr.cc: HUD

Tue Oct 15 22:07:42 2002  Stefan  <Streu@gmx.de>

	* client/chartusr.cc (doStarchart): very simple "HUD"

	* client/playvcr.cc (main): also display file requester when
	being invoked with an empty-file name
	(playVcrs): avoid Id clash between "Prev" and "File"

	* game/tvcr.cc (fighterStuff): don't call killFighter on a
	dead fighter. Tim insists on doing that.

	* ui/commands.h: decided on a consistent numbering scheme

Wed Oct  9 00:08:42 2002  Stefan  <Streu@gmx.de>

	* util/recode.cc: changed to Unicode-based translation, added
	cp1250..cp1252, removed iso-ir-51

	* ui/event.cc (convertEvent): added Unicode-awareness

Mon Oct  7 00:09:20 2002  Stefan  <Streu@gmx.de>

	* util/recode.cc: small tweaks to cp437/pcc1/iso-ir-51

Sat Oct  5 19:37:20 2002  Stefan  <Streu@gmx.de>

	* ui/event.cc: should now support "close-me" button (SDL_QUIT event)
	and wheel mice
	* ui/listbox.cc: handle wheel

	* client/playvcr.cc, client/vcrvis.cc: handle wheel, close-me button

Tue Oct  1 21:33:37 2002  Stefan  <Streu@gmx.de>

	* client/shipscr.cc (doShipCargoTransfer): added cargo transfer
	to planet

	* client/planetscr.cc (doPlanetXchg): added 'x' command

	* gfx/init.cc (initGraphics): add support for icon and window title

Mon Sep 30 22:20:36 2002  Stefan  <Streu@gmx.de>

	* client/playvcr.cc (main): when invoked with a file, then 'f',
	choosing an empty file: do not crash
	* client/vcrplay.cc (handleEvent): play 10 ticks per idle notify,
	this gives about 50% time savings for result announcement

	* util/nls.cc: added recoding
	* util/recode.cc: updated from unicode.org data

	* game/pvcr.cc (doneVcr): fixed result evaluation. D'ooh!
	[Daniel Brdigam]

Sun Sep 29 19:22:45 2002  Stefan  <Streu@gmx.de>

	* client/cscreen.cc (handleEvent): 'l' and Ctrl-F1 implemented

	* client/planetscr.cc, client/basescr.cc, client/shipscr.cc: removed
	GGameTurn parameter, always use getDisplayedTurn() now

	* client/playvcr.cc (setCharset): new

	* game/player.cc (GRaceNameList::load): recode names

Sat Sep 28 23:20:27 2002  Stefan  <Streu@gmx.de>

	* game/cargo.cc (removeCargo): fixed to allow removing cargo
	that was recently added

	* client/dlg-cargo.cc: rudimentary cargo transfer

Wed Sep 25 00:08:39 2002  Stefan  <Streu@gmx.de>

	* util/recode.h: added static recoder

	* game/ship.h: getCargo(), setWaypoint()

	* fileio/io.cc, game/struct.in, ...: character set translation

	* client/main.cc (setCharset): added -charset option

Mon Sep 23 21:23:18 2002  Stefan  <Streu@gmx.de>

	* picedit/*: new

	* util/recode.cc: new

	* ui/listbox.cc: scrollbar implemented

Sat Sep 21 15:53:21 2002  Stefan  <Streu@gmx.de>

	* client/playvcr.cc: "play battle N" added back

	* ui/layout.cc, ui/ui.h: li_Flexible -> li_FlexibleH + li_FlexibleV

Fri Sep 20 15:57:04 2002  Stefan  <Streu@gmx.de>

	* ui/listbox.cc (UIScrollbar): prototype
	* ui/ui.cc (add): fixed focus behavior
	* ui/widgets.h (UIFrame): new

	* client/dlg-fcode.cc (WFCodeWindow): use UIFrame

	* game/global.cc (GGameTurn): initialize /storms/
	* game/un-trn.cc (main): added -a -n -c
	* game/un-trnflt.cc: added '#' filter operator
	* game/trn.cc (command_defs): fixed ChangePassword length

Wed Sep 18 23:46:54 2002  Stefan  <Streu@gmx.de>

	* fileio/streams.cc (openFileT, openFileNT): new

	* ui/widgets.cc (UIFocusIterator): new

	* client/shipscr.cc (handleEvent): added 'f' command

	* client/dlg-fcode.cc: new

	* game/fcode.h: new

Tue Sep 17 00:40:35 2002  Stefan  <Streu@gmx.de>

	* game/un-trn.cc (saveTurn): use C_CREATE, not C_WRITE

	* game/trn.cc (parseTurnfile): don't bomb out on invalid commands
	(computeTurnChecksum): fixed for TacCom
	added SendBack command

Sun Sep 15 00:16:20 2002  Stefan  <Streu@gmx.de>

	* arch/win32-bcc55/dirs.cc: updated

	* arch/unix/dirs.cc: fixed UnixRootEnum

	* client/gdchooser.cc: added volume selector (getRoots)

	* ui/event.cc: small fix, seems to be more robust this way

	* ui/ui.cc: reworked focus handling

	* ui/ui.cc, ui/layout.cc: minor cleanups

Sat Sep 14 17:14:23 2002  Stefan  <Streu@gmx.de>

	* ui/ui.cc: focus handling redone to handle nested focus

	* gfx/init.cc (initGraphics): refuse 24-bit modes (don't work yet),
	send error messages to console not stderr

	* game/config.cc: fixed error messages

	* client/playvcr.cc: directory chooser finished

Fri Sep 13 23:49:32 2002  Stefan  <Streu@gmx.de>

	* client/playvcr.cc: directory chooser implemented here

Thu Sep 12 00:15:33 2002  Stefan  <Streu@gmx.de>

	* specs/race.nm: finally replaced with correct version

	* ui/uiglobal.cc (doScreenshot): fixed silly error. Brain reboot time.

	* client/gdchooser.cc (enter): don't crash with an exception
	when a directory is unreadable
	(WGameRaceChooser): new

	* client/playvcr.cc: use game chooser

Wed Sep 11 22:42:53 2002  Stefan  <Streu@gmx.de>

	* client/gdchooser.cc: new

	* arch/unix/dirs.cc (next): do not return "." and ".."; fixed
	name generation (dooh!)

	* game/load.cc (loadKoreIonStorms): new
	game/load-rst.cc, game/load-dir.cc: changed accordingly

	* client/chart.cc (drawIons): new

	* arch/unix/dirs.cc (getRoots, getParent): new functions

Tue Sep 10 23:00:21 2002  Stefan  <Streu@gmx.de>

	* game/global.cc, game/ion.cc: added ion storm handling (untested)
	loading still missing

	* game/load-dir.cc (loadDirectory): added kore.dat loading
	(mines, AVCs)

	* game/load-rst.cc (loadResult): likewise

Mon Sep  9 22:59:18 2002  Stefan  <Streu@gmx.de>

	* client/listship.cc (selectObject): WObjectSelectionList
	implemented (list widget displaying a GObjectList)

Sun Sep  8 15:20:29 2002  Stefan  <Streu@gmx.de>

	* game/save-dir.cc (saveDirectory): save signatures

Sat Sep  7 21:40:05 2002  Stefan  <Streu@gmx.de>

	* game/trn.cc (setRegInfo): generate VPH entry in TRN

	* game/un-trn.cc (main): when turn is empty, don't fasel something
	of "filters"

	* game/save-trn.cc (saveTurns): new

Fri Sep  6 22:15:37 2002  Stefan  <Streu@gmx.de>

	* client/shipscr.cc (handleEvent): added command 'e'

	* game/ship.h (GShip::setPE): added

	* client/cscreen.cc (update): initialize text justification
	before calling drawData/drawFixed; fixes display bug in ship
	screen

	* ui/ui.h, ui/layout.h and others: changed layout handling.
	Flexible/unlayoutable widgets are now explicit. Previous version
	got standard listboxes wrong

Wed Sep  4 22:34:33 2002  Stefan  <Streu@gmx.de>

	* game/save.cc: rudimentary saving implemented

	* game/checksum-ctl.cc (saveControl): initialize last word
	of control.dat in Host500 mode

Mon Sep  2 01:06:06 2002  Stefan  <Streu@gmx.de>

	* game/global.cc: added support for multiple gen/outbox records
	in one GGameTurn

Sun Sep 01 14:00:08 2002    <Streu@gmx.de>

	* arch/win32-bcc55/dirnames.cc: added directory implementation

	* several files: fixed some compatibility issues

Sat Aug 31 19:42:52 2002  Stefan  <Streu@gmx.de>

	* arch/generic/file.cc (GenericFileStream): file stream now
	implemented here. Fixed getName().

	* arch/unix/filedes.cc (PosixFileStream): implemented POSIX
	version.

	* fileio/streams.h (Stream::openFile): factory for platform
	file class. All users changed.
	* fileio/dirs.h (Directory::create): factory for platform
	directory class. All users changed.

Mon Aug 19 22:32:39 2002  Stefan  <Streu@gmx.de>

	* ui/widgets.h: simplified UIButton & friends. All users changed.
	(stringInput): renamed to UIInputLine::run(). All users changed.

Sun Aug 18 16:42:09 2002  Stefan  <Streu@gmx.de>

	* client/playvcr.cc (main): command-line support for battlen umber

	* client/vcrplay.cc: added support for setting the first battle
	to play (and playing it immediately)

Thu Aug 15 16:57:44 2002  Stefan  <Streu@gmx.de>

	* scripts/msgcompile.pl, scripts/updatepo: hardcoded some names
	for easier usage

	* po/de.po: updated messages, using recent discussion in
	maus.spiele.planets

	* game/tvcr.cc (doneVcr): don't declare a ship destroyed and captured
	at the same time

	* arch/win32-bcc55/dirnames.cc: added missing #include

Wed Aug 14 22:51:48 2002  Stefan  <Streu@gmx.de>

	* documentation updates

	* game/objlist.h: switched to "<=>"-style comparisons
	instead of "<"

Tue Aug 13 22:19:22 2002  Stefan  <Streu@gmx.de>

	* game/objlist-sort.cc: new. works.

Mon Aug 12 22:59:00 2002  Stefan  <Streu@gmx.de>

	* game/transact.cc, game/cargo.cc, game/cargo-tr.cc: new

Sun Aug 11 12:48:58 2002  Stefan  <Streu@gmx.de>

	* client/cscreen.h, game/objtypes.h: object type raises signal
	on change; this makes update more consistent

	* game/vcrdb.cc (loadFromFile): don't ignore last battle
	from PHost vcr.hst [Daniel Brdigam]

Sun Aug  4 16:04:56 2002  Stefan  <Streu@gmx.de>

	* client/vcrvis.cc (windTo): when doing fast-forward while
	playing, keep playing [Akseli Mki]

	* gfx/sprite.cc (GfxSpriteManager): explicitly clean up the "prev"
	fields in destructor. This fixes the "N fx sprites left" problem.
	D'ooh! [with help of Akseli Mki]

Sat Jul 20 23:47:59 2002  Stefan  <Streu@gmx.de>

	* client/chartusr.cc (doStarchart): ctrl-space, f2/f3/f4

	* game/vcr.cc (getResultString): fixed wording (enter->capture)
	[Manuel Fernandes Alonso]

Wed Jul 17 18:41:17 2002  Stefan  <Streu@gmx.de>

	* client/chartusr.cc (doStarchart): basic starchart implemented

	* many files: do not use EPtr anymore

	* many files: do not use cpluslib/util.h anymore

Fri Jul 12 23:38:30 2002  Stefan  <Streu@gmx.de>

	* client/shipscr.cc (doShipXchg): 'x', Shift/Ctrl-F2 implemented

Thu Jul 11 23:30:18 2002  Stefan  <Streu@gmx.de>

	* client/cscreen.cc: added screen switching primitives

	* ui/window.cc: added on-demand redraw after window closing

Sun Jul  7 00:41:18 2002  Stefan  <Streu@gmx.de>

	* client/shipscr.cc (WShipScreen): added 'n'

	* game/ship.cc (GShip::setName): new

	* ui/widgets.cc (stringInput): new
	odd fixes to input widgets

	* ui/ui.h: st_ZeroSize state
	* ui/layout.cc: use it

Sun Jun 30 16:34:55 2002  Stefan  <Streu@gmx.de>

	* client/playvcr.cc: added console

Fri Jun 28 00:55:37 2002  Stefan  <Streu@gmx.de>

	* ui/event.cc (simplSym): support keypad arrows etc.

Wed Jun 26 21:56:28 2002  Stefan  <Streu@gmx.de>

	* game/pvcr.cc (doneVcr): first increment fighter count, then
	call vis->landFighter() [Daniel	Brdigam]

Tue Jun 25 22:01:00 2002  Stefan  <Streu@gmx.de>

	* client/main.cc: use console, not cout/cerr
	* client/playvcr.cc: likewise
	* arch/generic.h (initOutput, showOutput): new
	* arch/win32-bcc55/output.cc: new

Sat Jun 22 20:01:21 2002  Stefan  <Streu@gmx.de>

	* util/atom.cc: new

Tue Jun 18 00:55:28 2002  Stefan  <Streu@gmx.de>

	* game/un-trnflt.cc (FilterConst): new
	(parseSingle): extended accordingly

	* game/un-trn.cc: added -r option
	version number bumped to 1.99.2

Sun Jun 16 01:05:24 2002  Stefan  <Streu@gmx.de>

	* game/trn-cmd.cc, game/load-trn.cc: new

	* client/cscreen.cc (WScanner): new

Sat Jun 15 16:25:39 2002  Stefan  <Streu@gmx.de>

	* game/lock.cc: new

	* fileio/rle.cc (RleReaderStream): handle the case that input
	is < 4 bytes

	* fileio/io.cc (getPartialStructure): new

	* util/except.cc: implemented copy ctors and dtors for exceptions
	to reduce code size

Fri Jun 14 00:04:29 2002  Stefan  <Streu@gmx.de>

	* removed "sstream" from CVS

	* gfx/init.cc (optSetSize): fixed: do not reject "-size=640x480"

	* client/vcrvis.cc (windTo): fixed fast forward (always jumped
	to latest known time)

Sun Jun  9 22:42:21 2002  Stefan  <Streu@gmx.de>

	* miscellaneous Windows combatability fixes, VCR display tweaks

Sat Jun  8 01:02:23 2002  Stefan  <Streu@gmx.de>

	* client/vcrvis.cc: don't remove planet when it loses :)

	* client/vcranim.cc (VcrDistanceSprite): new

	* (many files): added blurb

	* game/checksum-crc.cc: new

	* client/vcrvis.cc: objects are farther away, so they don't
	collide in the middle of the play

Fri Jun  7 00:11:35 2002  Stefan  <Streu@gmx.de>

	* client/vcranim.cc (VcrResultSprite): new

	* resmgr/res-wpvcr.cc: new (wpvcr.dll support)

	* client/vcrvis.cc: accept pixmaps other than just 8 bit depth
	for objects

Thu Jun  6 00:19:52 2002  Stefan  <Streu@gmx.de>

	* game/gamedirs.h, game/gamedirs.cc: new (was globalv.cc). Some
	users changed. Reduces compile time for modules that don't need
	GGameTurn.

Wed Jun  5 18:17:37 2002  Stefan  <Streu@gmx.de>

	* game/global.cc (initGameGlobal): split. Reduces playvcr
	by 50k.

	* client/vcrplay.cc, client/vcrvis.cc: odd fixes

Tue Jun  4 00:17:00 2002  Stefan  <Streu@gmx.de>

	* util/except.cc: implement (char*) constructors out-of-line,
	too (reduces throwing of one exception by ~500 (!) bytes)

Mon Jun  3 00:31:42 2002  Stefan  <Streu@gmx.de>

	* resmgr/res-wp.h: new

	* client/vcrvis.cc (WVcrFighterDisplay): new

	* game/load-dir.cc (loadOutbox35): new

	* game/msg-out.cc: new

	* game/globalv.cc: new. This way, un-trn is only half as big as
	before(!)

Sat Jun  1 01:02:44 2002  Stefan  <Streu@gmx.de>

	* client/shipscr.cc (WShipCargoTile): new

	* game/cmds.cc (parseCommand): new

	* client/shipscr.cc (WShipEquipmentTile): new

	* client/vcrplay.cc (playVcrs): close window on exit (dooh!)
	(drawWarrior): use correct colors

Thu May 30 23:02:40 2002  Stefan  <Streu@gmx.de>

	* game/cmds.cc: new, but untested

Tue May 28 23:46:39 2002  Stefan  <Streu@gmx.de>

	* client/cscreen.cc (WSectionTile, WHeaderTile): new
	(WControlScreen::sig_changed): new

	* resmgr/res-cc1.cc (ResourceStream): fixed. now reads directory
	correctly.

Sat May 18 23:35:02 2002  Stefan  <Streu@gmx.de>

	* ui/ui.h: ST_FOO -> st_Foo. All users changed.

	* client/cscreen.cc: control screen basics implemented

Mon May 13 00:49:45 2002  Stefan  <Streu@gmx.de>

	* gfx/gfx.h (GfxCanvas): added getPixel(). Derived classes
	changed accordingly.
	(GfxXorFilter): new

	* resmgr/resgfx.cc: new

Sun May 12 23:47:17 2002  Stefan  <Streu@gmx.de>

	* client/chart.cc (draw): use proper clipping. Dooh.

Thu May  9 00:04:57 2002  Stefan  <Streu@gmx.de>

	* game/global-bb.cc (GChartBBox): moved here

	* client/cscreen.h (WChartWidget): new

Sun May  5 00:33:59 2002  Stefan  <Streu@gmx.de>

	* util/nls.cc: basic NLS stuff implemented

	* resmgr/resmgrcf.cc: cc-res.cfg reading implemented

	* resmgr/: added prototype code; untested

Sat May  4 17:45:37 2002  Stefan  <Streu@gmx.de>

	* int/function.cc, int/expr.cc, cpluslib/sstring.cc: some size
	optimisations (don't pass classes by name when not needed)

Wed May  1 00:15:15 2002  Stefan  <Streu@gmx.de>

	* client/playerscr.cc (doMainLoop): re-diddled. Main screen
	is always active (as in v1)

	* ui/widgets.cc: some fixes to UIInputLine (geometry mgmt)

	* ui/event.cc: Unicode magic only for printable characters. That
	is, Ctrl-D now comes out as `ss_Ctrl + 'd'' (not `ss_Ctrl+4' like
	before)

Mon Apr 29 00:19:26 2002  Stefan  <Streu@gmx.de>

	* ui/widgets.cc: UIInputLine works, first version
	* ui/event.h: removed UIKey; keys now are uint32 (much simpler)

Fri Apr 26 23:55:41 2002  Stefan  <Streu@gmx.de>

	* int/function.cc: added `If', `ATan', `Str'

Tue Apr 23 23:44:15 2002  Stefan  <Streu@gmx.de>

	* int/expr.cc (parse9): call built-in functions

	* int/function.cc: added built-in functions

Sat Apr 20 23:14:28 2002  Stefan  <Streu@gmx.de>

	* int/data.cc: fixed string handling, added numeric promotions

	* int/expr.cc: tree evaluation works (operators only).

	* int/function.cc: new

Sun Apr  7 18:28:50 2002  Stefan  <Streu@gmx.de>

	* int/expr.cc: expression parser semi-complete

Mon Mar 18 20:49:03 2002  Stefan  <Streu@gmx.de>

	* ui/event.h: switched from SDL_Event to new UIEvent format.
	All users changed.

Sun Mar  3 23:12:48 2002  Stefan  <Streu@gmx.de>

	* ui/event.cc (putCommand): added three-argument version

	* client/cscreen.cc (WTile): added tt_Transparent style (not yet
	100% perfect)
	(doSelectWindow): added keys

	* ui/window.cc (drawInterior): implement this method required
	by the UIGroup interface

Sat Mar  2 00:24:44 2002  Stefan  <Streu@gmx.de>

	* client/cscreen.cc (drawBackground): new

	* game/load-ov.cc: better algorithm

Thu Feb 28 21:03:15 2002  Stefan  <Streu@gmx.de>

	* fileio/dirs.h (Directory::openFileT): new

	* game/load-ov.cc, game/load-dir.cc: new

	* move sstream/ to sstr/; this seems to make problems with
	several C preprocessors [Hans Wilmer, Thomas Liske]

Wed Feb 27 00:20:39 2002  Stefan  <Streu@gmx.de>

	* client/cscreen.h: WSelectWindowInterior is now a tile.
	Tiles implemented.

	* client/chart.cc: show selection

	* util/confpars.cc (parse): do no longer use std::string.
	Saves 2k (!) code space

	* config.cc: config errors are no longer fatal (dooh!)

	* client/marks.cc: new

	* client/chart.cc (drawPlanets): show unowned planets as such
	(dirty fix)

Mon Feb 25 00:12:13 2002  Stefan  <Streu@gmx.de>

	* ui/ui.h (setPos): renamed to setExtent for consistency

	* game/planet.cc (GBaseType, GPlanetType): new
	* game/global.cc: used them

Sun Feb 24 17:53:57 2002  Stefan  <Streu@gmx.de>

	* game/global.h: got rid of Ptr<GPlanet,GShip,GMinefield>

	* game/ship.h, game/spec.h: added some accessors

Sat Feb 23 21:18:37 2002  Stefan  <Streu@gmx.de>

	* game/spec.cc: added hullfunc parsing

	* ui/window.h (border_space): new

	* changed fonts to latin1

Fri Feb 22 01:31:56 2002  Stefan  <Streu@gmx.de>

	* ui/ui.cc, ui/layout.cc: recursive layout now works.
	(UIGroup::getExtentFor, UIGroup::getClientRectFor): new

Tue Feb 19 00:14:37 2002  Stefan  <Streu@gmx.de>

	* client/chart.cc (drawMines): minefield plotting done

Sun Feb 17 17:45:36 2002  Stefan  <Streu@gmx.de>

	* configure.in: small fixes: check that perl actually is perl 5,
	update dependencies at configure time

	* gfx/sprite.cc (draw): draw most draw complete sprite canvas,
	in case there is no backdrop

Sat Feb 16 18:27:41 2002  Stefan  <Streu@gmx.de>

	* ui/layout.cc: added support for outer border

	* client/players.cc: new

	* game/mine.cc (internalCheck): compute decay

Thu Feb 14 23:44:06 2002  Stefan  <Streu@gmx.de>

	* Makefile: removed "test" target. Makes too many problems.

	* scripts/depend.pl [-makefile]: new

Tue Feb 12  Stefan <Streu@gmx.de>

	* arch/win32-bcc55/platform.cc, arch/win32-bcc55/dirnames.cc: file
	name handling implemented

Mon Feb 11 00:13:57 2002  Stefan  <Streu@gmx.de>

	* game/vcrdb.cc (loadFromFile): re-diddled VCR type recognition
	(Corr, NoVCR). Avoid making the same errors as VPA ;-)

	* game/pref.h, game/pref.cc: preferences must be handled here

Sun Feb 10 16:44:28 2002  Stefan  <Streu@gmx.de>

	* ui/ui.cc (UIGroup::doLayout): new

	* ui/layout.cc (UIHBoxLayout): works now

	* client/vcrplay.cc (WVcrSelectionWindow): use layout manager

Sat Feb  9 16:49:49 2002  Stefan  <Streu@gmx.de>

	* client/chart.cc: starchart works now

Fri Feb  8 23:39:53 2002  Stefan  <Streu@gmx.de>

	* game/struct.in: manifest constants now here
	* game/global.h: ... not here

	* game/load.cc (loadShipXY): new

	* client/chart.cc, client/chart.h: new

	* all: added blurb

Thu Feb  7 23:41:12 2002  Stefan  <Streu@gmx.de>

	* game/load-rst.cc: v3.0 RST loading works. Still missing: SHIPXY

Wed Feb  6 23:47:15 2002  Stefan  <Streu@gmx.de>

	* game/coord.h: added GPoint::operator==,!=

	* game/gen.h, game/gen.cc: new

	* game/global.h, game/global.cc: a bit more of game loading

	* game/load.h etc: new

	* game/planet.h (GPlanet): now derived from GMapObject, too

	* game/ship.h (GShip::combinedCheck1): new

	* fileio/streams.h (Stream::getName): new. Too practical to leave
	this out.

Tue Feb  5 00:03:38 2002  Stefan  <Streu@gmx.de>

	* game/global.cc (loadPlanetXY, postprocess): new

	* game/checksum-ctl.cc: new

	* fileio/io.h: added {u,}int{16,32} array decoders

	* P/Makefile.tmpl (install): installer sort-of complete

	* scripts/install.pl: strip recursed directory name on -R,
	ignore errors with -i

Sun Feb  3 16:54:25 2002  Stefan  <Streu@gmx.de>

	* arch/unix/platform.h (getDataDirectory, getResourceDirectory): new

	* arch/win32-bcc55/platform.h: new

	* client/main.cc, client/playvcr.cc: used them

	* configure.in [--disable-inplace, --with-pdatadir]: new options
	save directory names in arch/platform.h
	generate arch/ stuff in config.status, not configure

	* scripts/install.pl: new

	* Makefile: used it

Sat Feb  2 16:06:11 2002  Stefan  <Streu@gmx.de>

	* game/coord.h, games/coord.cc: new

	* game/planet.cc (internalCheck): wrapped map support

Wed Jan 30 23:02:46 2002  Stefan  <Streu@gmx.de>

	* general: incorporated many compatibility fixes
	improved makefiles a bit

	* game/obj.h, game/obj.cc: new

Tue Jan 29 12:14:54 2002  Stefan  <Streu@gmx.de>

	* game/global.cc (GGameTurn): added planets, inbox

	* game/planet.cc, game/planet.h: new, untested

	* client/vcranim.cc (explRandom): use random(), not rand()

	* client/pref.cc: new

	* arch/unix/cmdargs.cc: fixed for !HAVE_SDL

	* general: i18n fixes

Sun Jan 27 17:26:50 2002  Stefan  <Streu@gmx.de>

	* general: i18n fixes

	* po/: new

	* game/msg.cc (GInbox::getHeading): new

	* tests/testmsg.cc: new

Sat Jan 26 23:35:42 2002  Stefan  <Streu@gmx.de>

	* game/msg.cc: new, but still untested

Wed Jan 23 23:32:25 2002  Stefan  <Streu@gmx.de>

	* game/rst.cc: new, but still untested

Tue Jan 22 23:32:19 2002  Stefan  <Streu@gmx.de>

	* game/struct.in: added definitions for RST files

Sun Jan 20 18:29:59 2002  Stefan  <Streu@gmx.de>

	* some tweaks so that a mere `make' suffices to build everything

	* defs.h: renamed #defines to more consitent names

	* fileio/dirs.cc (Directory): changed file name manipulation
	interface to Something Better(tm)

Sat Jan 19 16:31:12 2002  Stefan  <Streu@gmx.de>

	* util/cmdline.cc (StandardCommandLineParser): new

	* gfx/init.cc: new

	* arch/generic.h (initOptions): new

	* client/playvcr.cc: changed accordingly

Thu Jan 17 23:47:30 2002  Stefan  <Streu@gmx.de>

	* util/cmdline.cc: new

	* arch/generic.h: modified (only one init function)

Wed Jan 16 23:27:36 2002  Stefan  <Streu@gmx.de>

	* arch/, configure.in: added infrastructure for platform-specific
	code

Sun Jan 13 20:19:17 2002  Stefan  <Streu@gmx.de>

	* game/trn.cc (sortCommands): new

	* client/un-trn.cc: use it

	* scripts/depend.pl: new, FAST dependency generator

	* game/global.h, game/global.cc: added global data
	structures for turn data

Sat Jan 12 23:18:41 2002  Stefan  <Streu@gmx.de>

	* ui/uiglobal.cc (doScreenshot): new

	* ui/window.cc (handleEvent): call it

	* miscellaneous: changed semantics of Stream: throw on error,
	error number related stuff is gone, seek returns bool

	* fileio/streams.h: added SubStreamBase

Fri Jan 11 21:36:16 2002  Stefan  <Streu@gmx.de>

	* gfx/gfx-modetr.h: fixed silly typo

	* game/trn.cc (setRegInfo): new

	* util/misc.h (copy_n): added fall-back version when STL does
	not have one

	* game/reg.cc: added manipulators, fizz.bin/reg.key parsing

	* game/un-trnflt.cc (FilterString): new
	(isSingle, parseSingle): updated accordingly

	* doc/un-trn.txt: updated

Thu Jan 10 23:46:44 2002  Stefan  <Streu@gmx.de>

	* configure.in: check for cpluslib.a

	* P/Makefile.tmpl: things depend on cpluslib and re-make it when
	needed

	* game/reg.h, game/reg.cc: added reginfo handling (untested!)

Sun Jan  6 23:22:18 2002  Stefan  <Streu@gmx.de>

	* client/vcrplay.cc: use cpluslib/format for some stuff.
	seems to work.

	* misc/random.cc, misc/random.h: new

Thu Jan  3 22:34:53 2002  Stefan  <Streu@gmx.de>

	* game/pvcr.cc (setStatus): restore time

	* client/vcrplay.cc: stop background result computation during
	playback (dooh!). Caused strangest things when playback was
	started while background computation still running, or system
	was heavily loaded.

	* client/vcrvis.cc: 99% done. ffwd/rewind, single-frame switch,
	speed control.

Thu Jan  3 00:40:05 2002  Stefan  <Streu@gmx.de>

	* game/trn.cc (checkRange): removed some warnings

	* client/vcranim.h (VcrTimeSprite): new

	* client/vcrvis.cc: cleaned up a bit

	* ui/uiglobal.h, resource/font4.fnt: added fixed-width font

Tue Jan  1 19:41:44 2002  Stefan  <Streu@gmx.de>

	* util/misc.cc (stringMatch): rewritten. Old version accepted
	`foobar' when asked for `foo', and did not handle non-alphabetic
	characters correctly (as used by cmdX.txt file format)

	* many files: updated year - easy thanks Blurb-O-Matic ;-)

Mon Dec 31 18:43:01 2001  Stefan  <Streu@gmx.de>

	* game/un-trn.cc (main): don't display lots of newlines when
	-d is used
	(help): describe options
	(showCommand): diagnose position errors

	* int/data.cc: simplified representation of strings

Sat Dec 29 00:01:54 2001  Stefan  <Streu@gmx.de>

	* P/: converted to proj4 format

Fri Dec 28 00:14:23 2001  Stefan  <Streu@gmx.de>

	* ui/widgets.cc (UIButton): added BF_HIGHLIGHT state. Still
	looks ugly, though.

	* gfx/sprite.cc (GfxSpriteManager): bounding box, to cure graphics
	glitch in VCR

Tue Dec 25 21:45:27 2001  Stefan  <Streu@gmx.de>

	* modified so that it now also builds without SDL

Sat Dec 22 00:09:00 2001  Stefan  <Streu@gmx.de>

	* game/un-trn.cc: added `-d' option

	* client/vcrvis.cc (WVcrPlayWindow): used UIImageWidget;
	ships[] is gone

	* ui/widgets.cc (UIImageWidget): new

	* game/trn.cc (setFeatures): some manipulator functions

	* fileio/io.h (storeUint32): takes uint32 parameter. Doooh.

	* game/trn.cc (GTurnfile): added manipulators, completed
	taccom support in update()

	* fileio/streams.cc: changed calls to SDL_Error into SDL_SetError

Thu Dec 20 23:38:52 2001  Stefan  <Streu@gmx.de>

	* game/pvcr.cc: added status token support
	* game/tvcr.cc: include damage_limit in status tokens
	* fileio/dirs.cc: _BSD_SOURCE, not _SVID_SOURCE. Debian (glibc)
	chokes on lstat otherwise
	* misc. files: updated comments

Wed Dec 19 22:27:44 2001  Stefan  <Streu@gmx.de>

	* resource/font1.fnt, resource/font2.fnt, resource/font3.fnt:
	changed to better ones (Lucida Bright)

	* ui/window.cc (draw): added static version

	* client/vcrvis.cc (WVcrPlayWindow): changed to (more or less) PCC
	1.x look (playground = 1/2 screen, window below)

Sun Dec 16 23:44:26 2001  Stefan  <Streu@gmx.de>

	* game/trn.h, game/trn.cc: reading almost done
	* game/un-trn.cc, game/un-trnflt.cc, game/un-trnflt.h: new
	These should probably be moved elsewhere.

Fri Dec 14 23:30:33 2001  Stefan  <Streu@gmx.de>

	* game/trn.cc, game/trn.h: new
	* game/struct.in: added appropriate structures
	* game/checksum.cc, game/checksum.h: new
	* fileio/io.h, fileio/io.cc: added T_UINT16 and T_UINT32 handlers

Wed Dec 12 00:26:43 2001  Stefan  <Streu@gmx.de>

	* client/vcrvis.cc: new, contains widgets from client/vcrplay.cc

Wed Dec  5 00:10:58 2001  Stefan  <Streu@gmx.de>

	* ui/window.cc (close): if widget is focused/selected,
	unfocus/unselect it
	* client/vcrplay.cc (WVcrBeamDisplay): new

Sun Dec  2 17:36:58 2001  Stefan  <Streu@gmx.de>

	* gfx/sprite.cc (GfxPixmapSprite): ctor with center coordinates
	now works
	* ui/window.cc: misc. effects for window opening
	modal windows now work again
	* gfx/clip.h (GfxOffset): new
	* gfx/gfx.h (TRANSPARENT): renamed to GFX_TRANSPARENT
	* ui/event.h (UIPollableTimer): new

Sat Dec  1 01:07:10 2001  Stefan  <Streu@gmx.de>

	* Great Renaming(tm). Root directory no longer contains source
	files (except for administrative stuff); Files are now in
	client/, util/.

	* game/ship.cc: new

	* ui/ui.h etc.: converted to use EPtr for efficiency
	layout is back
	widget positions are now set when adding the widget

Thu Nov 29 23:35:44 2001  Stefan  <Streu@gmx.de>

	* vcrplay.cc (drawWarrior): added NTP code

Wed Nov 28 23:30:51 2001  Stefan  <Streu@gmx.de>

	* game/vcr.cc: documented (ranges!)
	* misc/pvcrt.cc: experimented with templatized PVCR
	* odd fixes

Sun Nov 11 18:21:58 2001  Stefan  <Streu@gmx.de>

	* added bcc compatibility fixes

Sat Nov 10 00:25:24 2001  Stefan  <Streu@gmx.de>

	* game/pvcr.cc (VcrPlayerPHost): optimized. Now 33% faster than PDK

	* game/vcr.h (TVcr): new type; old TVcr is now TRawVcr
	* game/tvcr.cc, game/pvcr.cc: changed accordingly
	* vcrplay.cc: likewise

Thu Nov  8 23:13:30 2001  Stefan  <Streu@gmx.de>

	* game/vcr.h: eliminated hitObject(); fireBeam() and fireTorp()
	now do that if applicable

	* game/tvcr.cc: timed & fine-tuned (20% faster)

Sun Nov  4 18:07:20 2001  Stefan  <Streu@gmx.de>

	* game/pvcr.cc: works at least on piotr3/vcr5; results are
	identical with PDK version

Thu Nov  1 21:43:52 2001  Stefan  <Streu@gmx.de>

	* game/pvcr.cc: complete but disfunctional :(

Sun Oct 28 23:08:36 2001  Stefan  <Streu@gmx.de>

	* tests/testvcr.cc: updated to new interfaces

	* game/pvcr.cc, game/pvcr.h: new

	* vcrplay.cc: added shield/crew/damage display

Wed Oct 24 23:41:38 2001  Stefan  <Streu@gmx.de>

	* P/: converted to proj3 format

Mon Oct 15 22:42:15 2001  Stefan  <Streu@gmx.de>

	* ui/ui.cc (isInside): new

	* ui/window.cc: event handling policy now controlled by UIRoot,
	not UIWindow

	* vcrplay.cc (WVcrPlayWindow): new

	* configure.in: -Wl,-E detection was totally bogus

Sat Oct 13 18:14:14 2001  Stefan  <Streu@gmx.de>

	* changed strings to string_t (==simple_string). vcrplay.o is
	now 50% smaller.

Tue Oct  9 00:19:01 2001  Stefan  <Streu@gmx.de>

	* vcrplay.cc, vcranim.cc: converted to consistent coordinate usage

	* gfx/sprite.cc (moveToC etc.): new functions to handle sprite
	center coordinates

	* game/tvcr.cc (doneVcr): explode objects correctly at end

	* vcranim.cc (VcrShieldSprite): new

	* fileio/dirs.cc (canonicalFileName): probably now really works...

Tue Oct  2 00:17:51 2001  Stefan  <Streu@gmx.de>

	* gfx/sprite.h (GfxPixmapSprite): new

	* vcrplay.cc: removed test code

Sun Sep 23 00:12:57 2001  Stefan  <Streu@gmx.de>

	* ui/event.cc (timerFunction): should increase timer. dooh.

Sat Sep 22 01:19:53 2001  Stefan  <Streu@gmx.de>

	* game/vcr.h (VcrVisualizer::fireBeam, fireTorp): interface
	changed to differentiate between torp/beam launchers

	* vcranim.cc (VcrBeamSprite, VcrTorpSprite): new
	* vcrplay.cc (VcrSpriteVisualizer): use them

	* vcranim.cc (VcrFighterSprite): new
	* vcrplay.cc: use it. Fighters move in both directions
	(fireBeam): just for testing

	* playvcr.cc: handle some options

	* gfx/gfxutil.h (GfxRect(GfxSurface*)): made explicit to not permit
	accidential conversion 0->GfxRect

	* gfx/sprite.cc (GfxSprite): sprites know their GfxSpriteManager

	* gfx/pixmap.cc (clone): new

Wed Sep 19 22:28:08 2001  Stefan  <Streu@gmx.de>

	* vcranim.cc (makePixmap): transparent explosions
	(tick): movement in fractional (1/16) steps

	* vcrplay.cc (drawWarrior): fixed torp display
	(killFighter): added explosions
	(hitObject): added explosions

	* gfx/sprite.cc: modified so that calls to moveTo
	affect pos immediately

Tue Sep 18 22:21:40 2001  Stefan  <Streu@gmx.de>

	* gfx/sprite.cc (tick): modified to support transparent
	sprites (i.e. do not assume `sprite->draw()' completely
	updates `sprite->getPos()')
	* vcranim.cc (VcrExplSprite): new

Sun Sep 16 01:08:57 2001  Stefan  <Streu@gmx.de>

	* gfx/anim.cc, gfx/anim.h: new

	* gfx/gfx-modetr.h: factored these out of gfx.cc
	* gfx/pixmap.cc (flipHorizontal, flipVertical): new

Sat Sep 15 18:18:21 2001  Stefan  <Streu@gmx.de>

	* vcrplay.cc (playIt): first experimental VCR version
	* gfx/palette.cc: added VCR colors

Fri Sep 14 23:37:00 2001  Stefan  <Streu@gmx.de>

	* gfx/sprite.h (GfxSprite, GfxSpriteManager): new
	* gfx/multiclip.cc (GfxMultiClip::isVisible): new
	* gfx/gfxutil.cc (GfxRectSet::getBoundingRectangle): new
	* ui/window.cc (UIRoot::redraw): new

Fri Sep 14 00:36:22 2001  Stefan  <Streu@gmx.de>

	* ui/window.cc (UIRoot::close): new

	* ui/ui.cc (UIWidgetContainer::drawBelow): new

Thu Sep 13 18:01:03 2001  Stefan  <Streu@gmx.de>

	* autoconfiscated

Wed Sep 12 15:03:33 2001  Stefan  <Streu@gmx.de>

	* ui/util.cc (countLines, outTextFormatted): new

	* ui/msgbox.cc: new

Tue Sep 11 23:12:42 2001  Stefan  <Streu@gmx.de>

	* int/data.cc: new

	* ui/widgets.cc (UIKeyTranslator): new

	* ui/window.cc (handleEvent): modified to support 2nd-phase
	keyboard input

Mon Sep 10 22:51:02 2001  Stefan  <Streu@gmx.de>

	* console.cc (Console::setScrollbackSize): new
	(Console::clear): new

Sat Sep  8 00:20:08 2001  Stefan  <Streu@gmx.de>

	* console.cc: modified objects responsibilities. Console now
	only manages the console, and emits signals to make the things
	be displayed.

Fri Sep  7 01:27:45 2001  Stefan  <Streu@gmx.de>

	* ui/ui.h (UIKey): changed to work with ASCII (nee UNICODE)
	keys

	* debug.cc: new: backtrace generator

	* ui/ui.cc (UIWidget::setPos): new
	* vcrplay.cc (WVcrSelector): sort-of complete

Thu Sep  6 00:44:33 2001  Stefan  <Streu@gmx.de>

	* game/player.cc (fof_colors etc): new

Wed Sep  5 14:50:18 2001  Stefan  <Streu@gmx.de>

	* cpluslib/smartptr.h: auto-convert to dumb pointer
	* game/vcrdb.h: changed to 1-based indexing

Tue Sep  4 00:15:05 2001  Stefan  <Streu@gmx.de>

	* gfx/gfx.h (GfxCanvas etc.): simplified interface; added
	background color for bitmap blit
	* gfx/font.h (::outText, ::outTextF): new

	* vcrplay.cc (playVcrs): new, but not yet 100% functional

Sun Sep  2 00:23:46 2001  Stefan  <Streu@gmx.de>

	* game/vcrdb.cc: new
	* fileio/rle.cc: new
	* gfx/pixmap.cc (loadImage): used it
	* Makefile: use sdl-config, iar

Fri Aug 31 23:34:48 2001  Stefan  <Streu@gmx.de>

	* game/: moved certain files there
	* */README: added descriptions of what these directories are for

Wed Aug 29 00:18:37 2001  Stefan  <Streu@gmx.de>

	* ui/ui.cc, ui/window.cc: idle notify

	* ui/event.cc: new. internal event queue, timers

	* ui/widgets.cc and some others: new. we now have
	a window and a button widget

Tue Aug 28 00:24:13 2001  Stefan  <Streu@gmx.de>

	* gfx/palette.cc: new

Sat Aug 25 18:15:29 2001  Stefan  <Streu@gmx.de>

	* gfx/gfxcompl.cc (rectangle): new

	* gfx/pixmap.cc: new

Thu Aug 23 18:20:26 2001  Stefan  <Streu@gmx.de>

	* ui/ui.cc: changed UI stuff to much simpler scheme, similar
	to PCC v1's. Works, of course :)

Wed Aug 22 00:40:01 2001  Stefan  <Streu@gmx.de>

	* ui/ui.h (UIWidgetContainer): new
	(UIWidget::drawUpdate): new
	screen update now works.

Thu Aug 16 19:31:39 2001  Stefan  <Streu@gmx.de>

	* gfx/clip.cc (blitSurface): now works

	* gfx/gfx.h (GfxCanvas::blitSurface) changed coordinates to allow
	better clipping
	* gfx/multiclip.cc: new
	* gfx/gfxutil.cc: (GfxRectSet): new

Sun Aug 12 18:41:32 2001  Stefan  <Streu@gmx.de>

	* fileio/streams.cc (readBuffer): new
	* gfx/clip.*, gfx/font.*: new
	* gfx/gfxutil.cc (clipRect): didn't work till now

Fri Aug 10 23:28:09 2001  Stefan  <Streu@gmx.de>

	* ui/*: new

Mon Aug  6 22:48:22 2001  Stefan  <Streu@gmx.de>

	* gfx/gfxcompl.cc: complex primitives

Sun Aug  5 22:59:35 2001  Stefan  <Streu@gmx.de>

	* gfx/gfx.cc: alpha primitives, blit, etc.
	* gfx/gfxutil.cc: new

Sat Aug  4 00:11:40 2001  Stefan  <Streu@gmx.de>

	* fileio/dirs.cc (FileSystemDirectory::Enum): no longer
	cache results
	* fileio/multidir.cc (MultiDirectory::Enum): likewise

Wed Aug  1 15:53:49 2001  Stefan  <Streu@gmx.de>

	* fileio/dirs.cc (getEntries): new

Tue Jul 31 23:59:59 2001  Stefan  <Streu@gmx.de>

	* gfx/gfx.cc: new

Mon Jul 30 00:00:58 2001  Stefan  <Streu@gmx.de>

	* fileio/streams.cc (sdl_write et al.): new (UNTESTED)

Sat Jul 28 18:37:11 2001  Stefan  <Streu@gmx.de>

	* vcr.cc, tvcr.cc: new

Fri Jul 27 00:43:33 2001  Stefan  <Streu@gmx.de>

	* compat.h: new

	* fileio/iostr.cc, fileio/iostr.h: use it

	* console.h, console.cc: new

Wed Jul 25 13:45:04 2001  Stefan  <Streu@gmx.de>

	* config.cc (assignConfigBool): and relatives: config parser
	complete
	(maybeParseHConfigItem): HCONFIG.HST reader also complete

Wed Jul 24 13:32:10 2001  Stefan  <Streu@gmx.de>

	* confpars.cc: new
	* config.cc: partially complete pconfig parser

Sun Jul 22 22:52:41 2001  Stefan  <Streu@gmx.de>

	* config.cc: new

	* fileio/iostr.cc: new

Fri Jul 20 21:13:23 2001  Stefan  <Streu@gmx.de>

	* spec.cc: spec loader sort-of complete

Tue Jul 17 23:42:08 2001  Stefan  <Streu@gmx.de>

	* started. Again. We have: file and directory I/O, parsing
	of binary files, torpspec/beamspec loading


## File Format Notice

We use the standard "ChangeLog" file format as suggested by GNU:
| Date  Name  <email@add.ress>
|         * file [DEFINE] (Function): text
In addition, reporters of a bug go at the end of the text, in
square brackets. This file is intended to be grep'able, hence
the usual rules apply: if possible, don't abbreviate names too
much. In particular, spelling out file names makes the 'C' command
work in cvs-mode. Key strokes are written as-is (Ctrl-F1), except
single ASCII characters which go in single quotes ('n').

As of 2013, there is a bug tracker for PCC which is mirrored at
<http://planetscentral.com/test/tracker/tracker.cgi>. Numbers in
square brackets [#123] refer to that.
