Preparing a new client release

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

Preparing a new client release

Postby Angeba » Sun Nov 27, 2011 10:56 am

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: ... 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:
(see chapters 6 and 7).

I find a `Changelog' file like: ... 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.

Site Admin
Posts: 77
Joined: Wed Mar 24, 2010 2:19 pm

Re: Preparing a new client release

Postby rotunda » Tue Nov 29, 2011 12:43 pm

Excellent! I will look into that tonight.

Site Admin
Posts: 77
Joined: Wed Mar 24, 2010 2:19 pm

Re: Preparing a new client release

Postby rotunda » Sun Dec 04, 2011 6:35 pm

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.

Posts: 88
Joined: Sun Feb 06, 2011 11:23 pm

Re: Preparing a new client release (NEWS file)

Postby Angeba » Sat Dec 24, 2011 11:35 am

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
   * 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
   * 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.

Return to “BloodsPilot Clients”

Who is online

Users browsing this forum: No registered users and 1 guest