[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[conquest] Conquest 8.4 (stable) is available



        Source tarball:
        http://downloads.sourceforge.net/conq/conquest-8.4.src.tar.gz

        Optional musicpak (unpack in ~/.conquest/):
        http://downloads.sourceforge.net/conq/conquest-musicpak-8.3.tar.gz

        SVN tagged release:
        http://conq.svn.sourceforge.net/svnroot/conq/tags/conquest-8.4

        SVN current (possibly unstable) development:
        http://conq.svn.sourceforge.net/svnroot/conq/trunk


  Conquest 8.4, in all of it's glory is now availabe.  There turned
  out to be quite a few more changes than anticipated, but alot of
  bugs were fixed, some new enhancements added, and a great deal of
  code reorginaization and cleanup occurred.

  There is the HISTORY snippet for this release.

=-=
8.4 (stable) 08/09/2008

  - 8.4 stable release.

    Here are the main highlights of this release.  Due to the server
    and client changes, I would recommend an update to this release,
    but then, that's just me.

    - server changes:

      - correct some nasty off-by-one's (NUMPLANETS) in
        serverpkt.c:spktPlanetLoc() and spktPlanetLoc2().  Depending
        on your environment (OS, compiler, etc) your results could
        vary.  The typical symptoms would be reports of invalid packet
        types or sizes in the logs (client and/or server), and usually
        a rapid ship death with a killed-by of "Nothing in
        particular".

      - dead rework.  Now when you die in the GL client, you still get
        to watch the activity going on around your exploded ship.

        When you die, you can now press [ESC] to return to the main
        menu, or [TAB] to re-enter a new ship.

    - conquestgl changes:

      - new star textures

      - add support for mipmapping of textures.  Textures can specify
        the boolean 'mipmap' in their texture definition to specify
        that mipmaps should be generated for the texture.  This is now
        done for stars, planets, ships, and the doomsday machine.

        This improves the quality of these textures significantly when
        viewed at different sizes (scaling and magfactor).

      - nCP.c (cockpit): Fix case where when bombing or beaming, and a
        mouse macro is used, the relevant sound effects might not stop
        and proper state restored.

      - bombing graphics, phasers, and moons are now displayed in LR scan.

      - reworked the 'alt_hud' stuff.  When enabled, this would allow
        certain information (distance, direction) about a ship or
        planet that was last (i)nfo'd to be displayed.

        This option is now called hud_info, and is enabled by default.

        For the GL client, this data is displayed below the ship's
        status icon in the hud.  For the curses client, this
        information is displayed just below the viewer.

        The alt_hud config option is still present but does nothing.
        In the future it will be used to enable an experimental
        cockpit (hud/viewer), if one is ever written.

     - fix bug that prevented you from seeing your own torps on LR scan
       if you were at war with your team.

     - clients now compute orbital position directly rather than using
       the server's idea of your ship's position in orbit around a
       planet.  This provides for much smoother movement when you see
       ships (including your own) that are in orbit around fast moving
       objects.

     - rework the handling of the hud and it's associated data.

     - CQI:

       - fixup the CQI parser so that sections can be nested up to a
         depth of 15.  Get rid of the subsection crap^Wstuff - no
         longer needed.

       - add ability to inline animdefs directly into an animation.

       - fix a reduce conflict in 'stmt' grammer

       - improve error handling/recovery during parsing of certain
         sections.

     - General:

       - massive code cleanup - fixups for newer, stricter compilers.
         Rename/standardize variables/functions and relocate in
         appropriate source files and headers.  Clean up some of the
         internal API's.  Probably every src file was touched in some
         way :)

       - tcpwrap.c: only log successful connections if verbose/debug is
         specified.  Only 'access denied' events are always logged.

       - add a '-v' verbose option to the clients.  More '-v's
         increase verbosity.

       - fix some stupidness in sem.c.

       - sparc/solaris porting.  conquestgl works with OpenGL and
         sound if the appropriate requirements are met.

       - rework the way the playback speed and time is displayed in
         both the curses and GL clients.  Now show the percentage into
         the recording you are currently viewing, and instead of
         displaying the internal framedelay, show the 'speed' (1x, 2x,
         -3x, etc).

       - fix UDP error on Solaris (possibly others).  Use write()
         rather than sendto() when a UDP connection has already been
         properly established (EISCONN).

       - fix doomsday motion.  Instead of simply stopping when within
         range of a locked-on planet or ship, continue to stay in
         range when possible (ie: should the planet/ship move out of
         range).

     - New SourceForge project page (Conq):

       https://sourceforge.net/projects/conq/

       SVN URL's

       - current (possibly unstable) development

         https://conq.svn.sourceforge.net/svnroot/conq/trunk

       - tagged (official) releases

         https://conq.svn.sourceforge.net/svnroot/conq/tags/


  Here are the details of the changes since 8.3 stable:

  8.3c (devel) 07/22/2008

  - okay, another huge code cleanup, function/variable renaming, API
    cleaning, crap removing load of good fun.

  - can now see moons on LR scan

  8.3b (devel) 07/21/2008

  - rework 'dead' handling.

    - Now, at least in the GL client, when you die you will actually
      see it.

    - The 'dead' node has been converted to an overlay node.  After
      you've died, you will still see what is going on around you.

    - in the dead node, hitting ESC will take you back to the main
      menu, hitting [TAB] will re-enter your ship directly without
      having to go through the menu.

  - clients now compute orbital position directly rather than using
    the server's idea of your ship's position in orbit around a
    planet.  This provides for much smoother movement when you see
    ships (including your own) that are in orbit around fast moving
    objects.

  - fix doomsday motion.  Instead of simply stopping when within range
    of a locked-on planet or ship, continue to stay in range when possible
    (ie: should the planet/ship move out of range).

  - conquestd (server) changes

    - dead rework.  No longer sleep for 2 seconds after a ship is
      killed.

    - in the menu state, no longer wait for 1 second before updating
      the client.  Now we update at full speed.

    - got rid of the driver countdown timer.  There is really no need
      to kill the driver (if your client driver started it) just
      because your ship has been dead for more than 15 seconds.  This
      is the 21st century after all.

    - Older clients playing on newer servers will notice that you go
      immediately to the 'dead' screen when you die, since the server
      no longer sleeps for 2 seconds on ship death.

    - Newer clients playing on older servers will notice that when
      they die, ship and planet updates will decrease to one per
      second.  After 15 seconds, and if you are the only player,
      updates will stop entirely.

      Other than these changes in behavior, client/servers are still
      compatible.  As usual, use the latest client on the latest
      server for the best results :)

  - fix bug that prevented you from seeing your own torps on LR scan
    if you were at war with your team.

  - redo how data data is cached and stored in the GL client.  New
    hud.c and hud.h files handle the setting of hud information (alert
    level, warp, damage, etc).  Move this stuff out of GL.c.  Move hud
    caching out of gldisplay and into the hud data structs where it
    belongs.

    This should speed up hud endering somewhat by avoiding
    unneccessary computations and string generation.

  - reworked the 'alt_hud' stuff.  When enabled, this would allow
    certain information (distance, direction) about a ship or planet
    that was last (i)nfo'd to be displayed.

    This option is now called hud_info, and is enabled by default.

    For the GL client, this data is displayed below the ship's status
    icon in the hud.  For the curses client, this information is
    displayed just below the viewer.

    The alt_hud config option is still present but does nothing.  In
    the future it will be used to enable an experimental cockpit
    (hud/viewer), if one is ever written.

  - re-implemented the 'REPAIR' and 'CLOAKED' icon ship indicators to
    just render the text directly rather than use textures.

    got rid of the icon cloak and repair textures since their services
    are no longer required.  There were 8 of them, though only two
    were even being used.

  - got rid of the 'BETTER_ETA' defines.  This code has been in use
    forever, I think it works, so no need to conditionally compile it
    :)

  - initGLShips() - don't go all fatal on us just because some textures
    couldn't be found...

  - When pausing during playback of a recording, use the framedelay
    rather than spinning as fast as possible.

  - rework the way the playback speed and time is displayed in both
    the curses and GL clients.  Now show the percentage into the
    recording you are currently viewing, and instead of displaying the
    internal framedelay, show the 'speed' (1x, 2x, -3x, etc).

  - fix UDP error on Solaris (possibly others).  Use write() rather
    than sendto() when a UDP connection has already been properly
    established (EISCONN).

  - standardize how some buttons are referenced in the game's text for
    consistancy:

    RETURN -> [ENTER]
    TAB    -> [TAB]
    ESCAPE -> [ESC]

  - rename clPutShip() -> clbPutShip(), like most everything else in
    conqlb.

  - minor code cleanups


  8.3a (devel) 05/10/2008

  - correct some nasty off-by-one's (NUMPLANETS) in
    serverpkt.c:spktPlanetLoc() and spktPlanetLoc2().  Depending on
    your environment (OS, compiler, etc) your results could vary.  The
    typical symptoms would be reports of invalid packet types or sizes
    in the logs (client and/or server), and usually a rapid ship death
    with a killed-by of "Nothing in particular".

    This is a server-only bug, and all servers should be upgraded,
    whether or not your clients have seen this problem, since it's
    pretty certain that something important in memory will get
    corrupted :).

  - bombing graphics and phasers are now displayed in LR scan.

  - enable alpha testing in glfRender so that font glyph backgrounds
    aren't rendered (obvious in the text overlay nodes like ship
    list, planet list, etc).

  - nCP.c (cockpit): Fix case where when bombing or beaming, and a
    mouse macro is used, the relevant sound effects might not stop and
    proper state restored.

  - new star texture, based on prodding from Michael Derek Barnett who
    pointed me toward NASA's SOHO site
    http://sohowww.nascom.nasa.gov/data/realtime/gif/ .

    One of the images of the sun from this site was used, and with
    alot of GIMP majik, a new star texture was born :) I think it
    looks a lot nicer.  Note, stars will appear larger now, as a
    proper star should.

  - Per Derek Barnett, set Sirius to be a blue star, and Betelguese to
    be a red star, just like in real life :)

  - Add texture definitions (and appropriate colors) for the stars to
    the 00_plantex.trc file.  Remove all planet/star color
    specifications from conqinitrc as they don't really belong there -
    color is a texture property, not a planetary one...

  - Massive code cleanup, mainly related to the confusing use of
    Unsgn8 and char.  gcc 4.1.2 complains bitterly about these with
    '-Wall', so they have all been fixed up to use char where
    appropriate (strcpy, el .al) and Unsgn8 (packet data).

  - CQI parser:

    - fixup parsing routines to be 'flat' according to the current
      section, and only care about (nested) subsections when really
      neccessary.

    - fixup the CQI parser so that sections can be nested up to a
      depth of 15.  Get rid of the subsection crap^Wstuff - no longer
      needed.

    - add ability to inline animdefs directly into an animation.

    - add ability to derive inlined animdefs from previously defined
      global (non-inlined) animdefs.

    - remove the rmDQuote() function.  Now use checkString(), which
      ensures all strings specified to CQI are properly 'cleaned' at
      parse time :)

    - fix a reduce conflict in 'stmt' grammer

    - use a 'CQI' prefix to error/warning messages generated when a
      section is finished parsing.

    - remove multiple copies of 'check for banned substances' code
      since all strings are now sanitized as soon as they are parsed.

    - improve error handling/recovery during parsing of certain
      sections.

    - add ability to disable anim types within an animdef, by setting
      'stages' to 0, or in the case of toganims, delayms to 0.  Useful
      for derived animdefs.

    - remove the ability to specify a color specification within a
      planet definition.  Colors should only be specified with the
      planet's texture definition.

      This means you will need to update your
      <install_prefix>/etc/conqinitrc file maunally - if you have
      previously installed conquest, as color values can no longer be
      specified for a planet.  If you don't, then you will just get
      warnings since the conqinitrc file is not overwritten on
      an install...

  - texturesrc - inline most animdefs, and re-arange for the new
    world order.

    Derive the inlined 'bombing' animdef from the 'explosion'
    animdef.  Neat. :)

  - add support for mipmapping of textures.  Textures can specify the
    boolean 'mipmap' in their texture definition to specify that mipmaps
    should be generated for the texture.  This is now done for stars,
    planets, ships, and the doomsday machine.

    This improves the quality of these textures significantly when
    viewed at different sizes (scaling and magfactor).

    For now, the GL_TEXTURE_MIN_FILTER is set to
    GL_LINEAR_MIPMAP_LINEAR (highest quality).  The min-filter is
    currently not configurable, nor can mipmaps be completely disabled
    (without editing the texture config files) though they should be.

  - use iBufFlush to flush the input buffer when entering the CP, so
    that previously queued commands aren't issued when you re-enter a
    ship after you've died in glorious battle.

  - fix configure.ac to SUBST YFLAGS.  No idea why this is now needed
    (perhaps the switch to AC_PROG_YACC in a previous release?).

  - sparc/solaris porting.

    - Sparc (and probably everything else) does not really like
      unaligned accesses to the common block.  On sparc, a bus error
      occurs when certain CB accesses are made.

      Now, on non-x86 hardware, always align the CB structures on a 16
      byte boundary.  This should be done on all architectures, but I
      do not want to break x86 CB compatibility yet.  Soon though,
      very soon :)

    - prefer OS native curses libraries and header files to ncurses
      when available.

    - include termio before term in c_defs.h to avoid SGTTY compile
      issue.

    - include -lsocket and -lnsl libraries during linking.

    - fixed longstanding problem with the lexer on Solaris and other
      systems.  Apparently, 'WS' is already pre-defined somewhere, so
      rename 'WS' to 'whtspc' in the lex (*.l) files.  Got rid of the
      'OWS' tokens since we aren't using them anyway.

  - fix some stupidness in sem.c.

  - move metaserver query into the nMeta node, where it belongs
    (conquestgl).

  - makesrcpkg: make sure install-sh and ylwrap are executable.

  - add a '-v' verbose option to the clients.  More '-v's increase
    verbosity.

  - implement a generic ringbuffer mechanism (rb.h, rb.c). Currently,
    only ibuf (keyboard/macro handling) uses it, but in the future it
    will also be used for network buffers when that code is reworked
    to use non-blocking sockets.

  - tcpwrap.c: only log successful connections if verbose/debug is
    specified.  Only 'access denied' events are always logged.

  - correct/update some of the documentation for CONQINIT.TXT (CQI).

  - New SourceForge project page (Conq):

    https://sourceforge.net/projects/conq/

    - migrated svn source repo to sourceforge.

    - svn URL's

      - current (possibly unstable) development

        https://conq.svn.sourceforge.net/svnroot/conq/trunk

      - tagged (official) releases

        https://conq.svn.sourceforge.net/svnroot/conq/tags/


=-=


--
Happy cheese in fear                 | Jon Trulson
against oppressor, rebel!            | mailto:jon@xxxxxxxxxxx
Brocolli, hostage.       -Unknown    | #include <std/disclaimer.h>