Preparing a new client release

Discussions related to the BloodsPilot clients
Post Reply
Angeba
Posts: 88
Joined: Sun Feb 06, 2011 11:23 pm

Preparing a new client release

Post by Angeba »

In the process of preparing a new client tarball release, so far I've compiled a `NEWS' file which contains the most important changes in the current client code base since the last release (1.4.0 from 2007-12-11). I looked up the changes from the `git whatchanged' output, which is like:
http://bloodspilot.git.sourceforge.net/ ... ents;a=log
, plus a list of the modified files for each change, so that I could easily see which clients where affected by each change.
I'll post the `NEWS' file for preview next time.

I am loosely following the recommendations of the GNU Coding Standards:
http://www.gnu.org/prep/standards/standards.html
(see chapters 6 and 7).

I find a `Changelog' file like:
http://bloodspilot.git.sourceforge.net/ ... 97;hb=HEAD
quite handy. It gives more detailed information than the `NEWS' file, including all changes, which files and ideally which functions where changed. Note that the file linked above is not optimal, partly due to my big patches, which do not include information about changed files and functions.

The question is how to create such a `Changelog' file from the GIT repository? `git log' and `git whatchanged' give useful results, but are different (e.g. no information about changed functions and different formatting).

Other missing parts are an introductory `README' file and updating `INSTALL' (perhaps integrating `INSTALL.ubuntu' into `INSTALL'). The question here is whether the mentioned dependencies are still up-to-date?. Is there some automatic way to find out about the dependencies?

Otherwise there remain some very minor code fixes (which I've mostly done in my local code base) and then we could finally release the new tarball.
rotunda
Site Admin
Posts: 77
Joined: Wed Mar 24, 2010 2:19 pm

Re: Preparing a new client release

Post by rotunda »

Excellent! I will look into that tonight.
rotunda
Site Admin
Posts: 77
Joined: Wed Mar 24, 2010 2:19 pm

Re: Preparing a new client release

Post by rotunda »

I haven't found a way to create a changelog that includes automatically a list of changed functions. But is that really necessary? I think we should rather list changes in overall functionality, e.g. different order of elements drawn on screen. If somebody is interested in details, he will do a git diff between two commits: before and after the change.

For your question about dependencies, I think we should assume somebody has certain packages, e.g. a reasonably complete X11 environment. And then less obvious packages like libsdl. If you have a fresh Linux installation somewhere, try running the clients and see what is missing. Then we get an up-to-date dependency list.
Angeba
Posts: 88
Joined: Sun Feb 06, 2011 11:23 pm

Re: Preparing a new client release (NEWS file)

Post by Angeba »

Code: Select all

=====================================================================
Important news since bloodspilot-clients-1.4.0.
These are compiled from `git log' and `git whatchanged'.  Refer to
these changelogs for more detailed information about changes.
=====================================================================

* all clients:
	* 4 clients are now included in this package:  The old 4.5.4
	  client, the ng-x11 client, the sdl client and the x11 client.
	  Most work was done on the x11 client.  Some modifications
	  where also done to the other clients.
	  The 4.5.4 client lacks a lot of features from the other clients
	  and is not recommended for general playing these days.
	  The ng-x11 client is generally useful.  Its main advantage over
	  the x11 client is the classic small radar map.  Currently some
	  features of this client are broken, like base warnings.
	  The sdl client is another useful client.
	  The x11 client has got most modifications and new features.

* x11 client:
	* New `\reset' client command to reset client game statistics.
	* The extended HUD (the list of values on the right hand side)
	  has been improved.  It can show more things and is configurable
	  with the `extHUDContents' client option.
	* New permanent in-memory record buffer, controlled by the
	  `recordBufferSize' and `recordBufferSafeWrite' options.
	* Many small modifications regarding displayed information (like
	  colors).
	* New `lineWidth' option.
	* New SpeedZoom feature.  The game world zooms out when flying
	  faster and back in, when slowing down.  Adjustable by the
	  options `speedZoomMaxFact', `speedZoomMinSpeed',
	  `speedZoomMaxSpeed', `speedZoomSteps', `speedZoomDampingTime' and
	  `speedZoomAverageTime'.
	* The order in which game objects are painted is now starting with
	  the most harmless/unimportant objects and finishing with the most
	  dangerous/important objects.  Like this, dangerous objects (like
	  shots) will not be obscured by harmless objects anymore.

* ng-x11 client:
	* New `lineWidth' option.

* sdl client:
	* Several color changes.
	* Paint bases and base warnings on the hudradar (like x11 client).
	* Working base warnings.

* bloodspilot-replay:
	* Display of current frame number in the control window.
	* New `gzip' option, for saving compressed xpr and ppm files.
	* New `png' option, to save pictures as PNG instead of PPM.
	* Increased memory buffer size.  This allows to skip further
	  backwards in compressed recordings.
	* Added a specific name to each of the four sub-windows.
	* Remove confine of the mouse pointer to the error window.
	* Added usage information for keys 0-9 and the `debug' option.
	* Fixed a memory leak.
	* New `notext' option, to remove all text from a recording.
	* New `notalk' option, to remove all messages (except server
	  messages) from a recording.
	* New `output <file>' option, to automatically save the processed
	  recording to a file.
Post Reply