Go to file
Kp 5e52d11fc6 Discourage spurious gcc warning
gcc-12 can issue `-Warray-bounds` warnings for code inlined from system
headers, and warns about `std::sort()` on a small array (
<https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107986> split from
<https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104165>).  Per a comment
in a related Fedora report
<https://bugzilla.redhat.com/show_bug.cgi?id=2051783#c3>, and local
testing, adding an explicit unreachable on the impossible case that the
end iterator exceeds the end of the array will discourage gcc from
warning without needing to disable -Warray-bounds.

This failure was previously observed in early testing with gcc-12, and
was set aside in the hope that gcc-12 would be fixed before it came into
widespread use.  That has not happened, and JoeNotCharles reported
<2644e0cb93>
this independently.  JoeNotCharles proposed disabling the warning for
the call to `std::sort`.  This commit instead leaves the warning
enabled, but encourages gcc to see that the bad path is impossible,
allowing gcc to delete the bad path before the warning is issued.
2023-01-14 19:05:37 +00:00
.github Use Brewfile for macOS Github builds 2022-08-15 21:20:18 -07:00
common Track newmenu return value using std::shared_ptr 2023-01-14 19:05:37 +00:00
contrib Remove abandoned Visual Studio 2017 support 2022-11-09 23:58:22 +00:00
d1x-rebirth Use enum class for bitmap_index 2022-12-31 16:21:47 +00:00
d2x-rebirth Move window existence flag to a mixin, and track using std::shared_ptr 2023-01-14 19:05:37 +00:00
Documentation Update c++std documentation 2022-11-06 18:18:57 +00:00
similar Discourage spurious gcc warning 2023-01-14 19:05:37 +00:00
.gitattributes Instruct git-archive to insert a commit ID in SConstruct 2019-12-29 22:24:20 +00:00
.gitignore
Brewfile Require SDL 2 for macOS builds 2022-11-11 11:23:52 -08:00
COPYING.txt
GPL-3.txt
INSTALL.markdown Require SDL 2 for macOS builds 2022-11-11 11:23:52 -08:00
mk-ebuild-snapshot.bash
README.md
SConstruct Move SysNoHogDir to CGameArg 2023-01-07 22:17:31 +00:00

                         __________
__________/ DXX-Rebirth /

https://www.dxx-rebirth.com

0. Introduction:

DXX-Rebirth is based on the late D1X and D2X source ports (which, in turn, were based on the original Descent source and LDescent). The Rebirth Team has spent a lot of time working to improve the source code by fixing old bugs and adding some improvements, while always staying true to our philosophy: Keep it Descent!

It is the goal of DXX-Rebirth to keep Descent 1 & 2 alive and well, updating them for modern PCs while also keeping them the same games you remember playing back in 1995!

Now Material Defender...Prepare for Descent!

1. Features:

DXX-Rebirth has every little feature you may remember from the original Descent 1&2 and much more.

For example:

  • Full compatibility with Descent and Descent 2, including all expansions and third-party levels.
  • DXX-Rebirth runs on your favourite Operating System. We officially support Linux (and other *NIXs), Mac OS X and Windows. The source code can also be compiled on many other systems!
  • OpenGL provides fast and smooth rendering - even on low-end systems.
  • Optionally you can enable several effects like Transparency, Colored Lighting, Texture Filtering, FSAA, etc.
  • Thanks to SDL, a wide variety of Joysticks are supported. Also you can use more Joysticks, buttons and axes than you can ever operate in your state of evolution.
  • Joystick, Keyboard and Mouse can be used simultaneously.
  • The games can display all resolutions and aspects supported by your monitor, including an option for VSync.
  • Besides MIDI and CD-Audio (Redbook), you can play your own custom Music from your hard drive or a separate AddOn.
  • Both games can utilize special AddOn packs to replace or expand the original game content.
  • Multiplayer via UDP protocol provides a fast and easy-to-use LAN and Online action. This includes reliable communication causing less glitches due to lost packets.
  • The ingame Demo-recording system has been improved. Demos are less glitchy and smaller while still still being backwards-compatible to earlier versions of the games.
  • Higher game speed will not cause glitches such as unacceptable fast homing projectiles, incredible high damage caused by several collisions or Fusion cannon, etc.
  • Player files, Savegames, Demos and Missions from DOS-Versions of the games can freely be used in DXX-Rebirth and vice versa.
  • Mac Command keys are now working - see F1 Help. Command-Q works much like a normal Mac program
  • Even more ...

2. Installation:

See INSTALL.markdown.

3. Multiplayer:

DXX-Rebirth supports Multiplayer over UDP/IP.Using UDP/IP works over LAN and Internet.

By default, each game communicates over UDP-Port 42424. This can be changed via the menus, command-line argument or .ini files.

Please be aware that if you host a game and players want to join your game online via direct IP connection, your specified game port should be forwarded on your router.

If you host your game on the Online Tracker and other players join via this method, port forwarding should not be necessary.

If you only want to join a game, or host a game on LAN (not online), port forwarding should not be necessary. If you do experience problems, please check your NAT settings and/or Firewall.

See COPYING.txt and GPL-3.txt

5. Contact:

6. Issue Reporting

Use GitHub issues tab report a new issue, be sure to add as much detail as possible in the template provided.