DXX-Rebirth Forum

Full Version: DXX-Rebirth v0.60 BETA 1 released!
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Pages: 1 2
  • Announcement on the website: http://www.dxx-rebirth.com/news/dxx-rebi...-released/

    Hey folks! It’s been three years since the last release and today I would like to present you DXX-Rebirth v0.60 BETA 1 – formally labelled v0.59.100! Now you may wonder: ‘Why a BETA?’. Within the past three years, a lot changed. The source codes of both games were merged (there are still two binaries, one for each game) and much of the code was refactored. While we’ve been putting a lot of effort into testing, there is only so much ground we can cover. And that’s why we decided to go with a public BETA for you guys to try out.

    What’s new in this version:
    * Merged code bases and massive code refactorization. [Massive thanks to kp]
    * Homing projectiles now behave like in the original game running at 30 FPS! [Thanks to Drakona, Lothar, roncli, A Future Pilot, Ryusei117 and more]
    * Fixed FPS fluctuations with VSync. [Thanks to derhass]
    * Flashing effects properly scale to ingame brightness setting.
    * In addition to quicksave, there is now a quickload key!
    * Original base input sensitivity for all devices and mouse overrun option for mouse. [Thanks to the Retro team]
    * Improved collision detection, fixing player damage being way too low in some occasions. [Thanks to Drakona]
    * Reworked OPTIONS menu.
    * New texture filtering options! [Thanks to beware]
    * Optional timers displaying countdowns for cloak and invulnerability.
    * New tracker for Multiplayer games. Including UDP hold-punching ability so hosts don't need to have their ports open [Massive thanks to A Future Pilot]
    * Drastically improved positional accuracy and less latency in Multiplayer games.
    * Revamped powerup management in Multiplayer which properly handles and prevents loss and excess of powerups.
    * Important packets in Mulitplayer are handled in proper order, fixing a multitude of packet-loss related issues.
    * A plethora of new Multiplayer options. [Thanks to the Retro team, A Future Pilot and many more]
    * Proper chaff effect for bombs in D2X-Rebirth Multiplayer as intended in the original game but never implemented correctly.
    * Headlights on player ships will now properly render according to headlight state of the player.
    * “Bright Players” Multiplayer option will now only affect players instead of all polygon models.
    * Improved thief bot to (hopefully) work more accurate in Multiplayer.
    * New Multiplayer GAME INFO screen that can be toggled ingame, too.
    * Fixed some Multiplayer scoring oddities.
    * … and many, many more bugfixes and improvements.

    You can get this new version (source and Windows binary) from the Download page!

    If you happen to find any bugs or glitches, please let us know. The best way to report your findings is by submitting them to our Bugtracker on GitHub or the forums. Your feedback is very, very important so we can get everything fixed and nicely polished before the proper v0.60 release.

    Known issues to be addressed before release:
    * At very high FPS (> 150), some robots with movable joints may twist those erratically after a player hit and consecutively take a few moments longer to recover. This bug was already present in the original engine.[/li]
* Robots coming out of Materialization Centers show minor visual corruptions on their animated visors. Very old D1X/D2X bug.

New bugs will be added to the Bugtracker

I wish you guys a lot of fun in the mines!
Just wanted to mention another feature:

With the new tracker comes UDP hole-punching. What this means is that, although it's still highly recommended that you port-forward in order to host, in most situations it will no longer be required.
Ah, nice  Smile

I've made some (still completely inofficial) Raspberry Pi binaries:


Currently, lloyd's linux builds and my raspbian packages differ quite much, but maybe we can unify that stuff some more for future releases.
Man you got me all excited Zico!
Some general statistics about the beta, and the release that will follow;
  • Many operations that previously had undefined behaviour in the presence of invalid input are now defined to throw a fatal exception.  Players will normally not notice this, but some ill-formed levels may cause a crash.  Please report these, so that we can scrub the invalid data at load time.
  • There is no definitive list of new features.  Too much has changed since the last release to create one readily.
  • The source for this beta was drawn from an unspecified revision, but based on timing, it is most likely 0.58.1-d2x-7390-g4a01fab.  Comparing the packaged sources with that revision shows no differences, so that seems to be the packaged commit.  General development statistics:
    • 5765 commits are new in this release, relative to 0.58.1; git rev-list 4a01fab66d98cf593e9e46e64d763393de019037 --not 0.58.1-d1x 0.58.1-d2x | wc -l
    • There are 14 unique "author identities"; git shortlog -n -s 4a01fab66d98cf593e9e46e64d763393de019037 --not 0.58.1-d1x 0.58.1-d2x
      •   5365 Kp
      •   164 zico
      •   103 Chris Taylor
      •     74 Bradley Bell
      •     27 derhass
      •     8 vobject
      •     6 John Ackerman
      •     5 Christian
      •     4 kreatordxx
      •     4 Matt Vandermeulen
      •     2 BuildTools
      •     1 Skywing
      •     1 Drakona
      •     1 Adam Gensler
      Some of those identities are aliases of others:
      • BuildTools is an alias for John Ackerman
      • kreatordxx is an alias for Chris Taylor
      • Christian is an alias for zico
    • Past releases tended to double-count activity since changes had to be committed separately for each game.  For comparison for past releases (D1 first, then D2):
      • git rev-list "0.58-d1x..0.58.1-d1x" | wc -l -> 6
      • git shortlog -n -s "0.58-d1x..0.58.1-d1x"
        •     5 zico
        •     1 Kp
      • git rev-list "0.57.3-d1x..0.58-d1x" | wc -l -> 298
      • git shortlog -n -s "0.57.3-d1x..0.58-d1x"
        •   173 Kp
        •     76 zicodxx
        •     28 zico
        •     21 Chris Taylor
      • git rev-list "0.57.2-d1x..0.57.3-d1x" | wc -l -> 92
      • git shortlog -n -s "0.57.2-d1x..0.57.3-d1x"
        •     50 Chris Taylor
        •     42 zicodxx
      • git rev-list "0.57.1-d1x..0.57.2-d1x" | wc -l -> 56
      • git shortlog -n -s "0.57.1-d1x..0.57.2-d1x"
        •     29 zicodxx
        •     27 Chris Taylor
      • git rev-list "0.57-d1x..0.57.1-d1x" | wc -l -> 28
      • git shortlog -n -s "0.57-d1x..0.57.1-d1x"
        •     28 zicodxx
      • git rev-list "0.56-d1x..0.57-d1x" | wc -l -> 237
      • git shortlog -n -s "0.56-d1x..0.57-d1x"
        •   207 zicodxx
        •     29 Chris Taylor
        •     1 kreatordxx
      • git rev-list "0.55.1-d1x..0.56-d1x" | wc -l -> 332
      • git shortlog -n -s "0.55.1-d1x..0.56-d1x"
        •   191 zicodxx
        •   139 kreatordxx
        •     2 kiplingw
      • git rev-list "0.55-d1x..0.55.1-d1x" | wc -l -> 16
      • git shortlog -n -s "0.55-d1x..0.55.1-d1x"
        •     10 zicodxx
        •     3 kiplingw
        •     2 kreatordxx
        •     1 md2211
      • git rev-list "0.54-d1x..0.55-d1x" | wc -l -> 78
      • git shortlog -n -s "0.54-d1x..0.55-d1x"
        •     55 zicodxx
        •     15 kreatordxx
        •     7 kiplingw
        •     1 md2211
      • git rev-list "0.53-d1x..0.54-d1x" | wc -l -> 110
      • git shortlog -n -s "0.53-d1x..0.54-d1x"
        •     65 zicodxx
        •     43 kreatordxx
        •     2 md2211
      • git rev-list "0.52-d1x..0.53-d1x" | wc -l -> 82
      • git shortlog -n -s "0.52-d1x..0.53-d1x"
        •     77 zicodxx
        •     5 md2211
      • git rev-list "0.51-d1x..0.52-d1x" | wc -l -> 77
      • git shortlog -n -s "0.51-d1x..0.52-d1x"
        •     70 zicodxx
        •     4 md2211
        •     3 kreatordxx
      • git rev-list "0.58-d2x..0.58.1-d2x" | wc -l -> 5
      • git shortlog -n -s "0.58-d2x..0.58.1-d2x"
        •     3 zico
        •     2 Kp
      • git rev-list "0.57.3-d2x..0.58-d2x" | wc -l -> 354
      • git shortlog -n -s "0.57.3-d2x..0.58-d2x"
        •   223 Kp
        •     83 zicodxx
        •     28 zico
        •     17 Chris Taylor
        •     3 Skywing
      • git rev-list "0.57.2-d2x..0.57.3-d2x" | wc -l -> 98
      • git shortlog -n -s "0.57.2-d2x..0.57.3-d2x"
        •     56 Chris Taylor
        •     42 zicodxx
      • git rev-list "0.57.1-d2x..0.57.2-d2x" | wc -l -> 53
      • git shortlog -n -s "0.57.1-d2x..0.57.2-d2x"
        •     27 zicodxx
        •     26 Chris Taylor
      • git rev-list "0.57-d2x..0.57.1-d2x" | wc -l -> 35
      • git shortlog -n -s "0.57-d2x..0.57.1-d2x"
        •     35 zicodxx
      • git rev-list "0.56-d2x..0.57-d2x" | wc -l -> 253
      • git shortlog -n -s "0.56-d2x..0.57-d2x"
        •   223 zicodxx
        •     28 Chris Taylor
        •     2 kreatordxx
      • git rev-list "0.55.1-d2x..0.56-d2x" | wc -l -> 325
      • git shortlog -n -s "0.55.1-d2x..0.56-d2x"
        •   184 zicodxx
        •   141 kreatordxx
      • git rev-list "0.55-d2x..0.55.1-d2x" | wc -l -> 16
      • git shortlog -n -s "0.55-d2x..0.55.1-d2x"
        •     12 zicodxx
        •     2 kreatordxx
        •     1 kiplingw
        •     1 md2211
      • git rev-list "0.54-d2x..0.55-d2x" | wc -l -> 71
      • git shortlog -n -s "0.54-d2x..0.55-d2x"
        •     59 zicodxx
        •     11 kreatordxx
        •     1 md2211
      • git rev-list "0.53-d2x..0.54-d2x" | wc -l -> 109
      • git shortlog -n -s "0.53-d2x..0.54-d2x"
        •     68 zicodxx
        •     39 kreatordxx
        •     2 md2211
      • git rev-list "0.52-d2x..0.53-d2x" | wc -l -> 117
      • git shortlog -n -s "0.52-d2x..0.53-d2x"
        •     95 zicodxx
        •     14 kreatordxx
        •     6 md2211
        •     2 xatmes
      • git rev-list "0.51-d2x..0.52-d2x" | wc -l -> 88
      • git shortlog -n -s "0.51-d2x..0.52-d2x"
        •     74 zicodxx
        •     12 kreatordxx
        •     2 md2211
      • git rev-list "historical/d2x..0.51-d2x" | wc -l -> 192
      • git shortlog -n -s "historical/d2x..0.51-d2x"
        •   159 zicodxx
        •     27 kreatordxx
        •     6 md2211
      • git rev-list "historical/d2x^" | wc -l -> 1382
      • git shortlog -n -s "historical/d2x^"
        •   1168 Bradley Bell
        •   131 Martin Schaffner
        •     81 Chris Taylor
        •     1 Thimo Neubauer
        •     1 nobody
        Special handling is required for historical/d2x since it is not part of the main history.  This output was generated by passing a list of all interesting revision ranges to:
while read r; do
    echo -n '[*][b]git rev-list "'$r'" | wc -l[/b] -> '
    git rev-list "$r" | wc -l
    echo '[*][b]git shortlog -n -s "'$r'"[/b][list]'
    git shortlog -n -s "$r" | sed -e 's/^.*$/[*]&/'
    echo '[/list]'
  • A diffstat would be interesting to see, but is somewhat difficult to compute since the previous release tracked game sources separately and this one does not.  I will attempt to produce and post such a diffstat.
Also for anyone who doesn't know, I'm "John Ackerman" Big Grin
After temporarily splitting the games back out, I have basic diffstat for them, but, as perhaps expected after 3 years, there is so much churn that the diffstat is not that interesting.  The highlights are major activity in the gauges, networking, and multiplayer areas, some activity in the ai code, and a scattering of activity elsewhere.  Unfortunately, the diff --stat output is too big for a forum post.
$ git diff -M -C -C --shortstat 0.58.1-d1x td1 --
396 files changed, 60528 insertions(+), 54721 deletions(-)
$ git diff -M -C -C --shortstat 0.58.1-d2x td2 --
415 files changed, 65844 insertions(+), 62138 deletions(-)
If anyone wants further details, I can provide the script that creates the temporary split.  It is implemented by using unifdef to generate the trees that would have been present if I never combined the two source bases into one, then shuffling files around to match their historical paths.
This sounds like a major update to DXX-Rebirth.  I can't wait until version 0.60 is officially released!

So I downloaded the recent update. The file I download says v.60 on it, but when I run the program, it says v.59.100 across the bottom.

Anyway, I cannot make multiplayer work over my LAN any more. We've been playing for several months but now when I host a game, the other players cannot join. They get an error. It says Host Game Protocol is 6 and their Game Protocol is 7. Nothing crashes so there is no file to upload (that I know of). Single player seems to work fine. Both of us show the same game version v.59.100 followed by a mess load of other numbers that don't match on both of our computers.
Make sure your Rebirth versions match.
Pages: 1 2