Giter Club home page Giter Club logo

dxx-redux's Introduction

DXX-Redux

Descent 1&2 source port based on DXX-Retro.

Building in Visual Studio

  • Install vcpkg

  • Set the VCPKG_ROOT environment variable to the vcpkg folder with Start > search Environment > Environment Variables > New...

  • Open the d1 or d2 folder in Visual Studio with 'Open a local folder' or Open > CMake...

  • Wait until CMake generation finishes

  • Select Startup Item main/d1x-redux.exe

  • Optionally select Debug > Debug and Launch Settings for d1x-redux and add below the line starting with "name": "args": [ "-hogdir", "c:\game-data-folder" ]

Building in msys2 / Linux

  • Install the required packages

    • msys2 (use the 'MSYS2 MINGW64' entry in the Start menu)

      pacman -S git mingw-w64-x86_64-gcc mingw-w64-x86_64-cmake mingw-w64-x86_64-physfs mingw-w64-x86_64-SDL mingw-w64-x86_64-SDL_mixer mingw-w64-x86_64-libpng mingw-w64-x86_64-glew

    • Debian/Ubuntu

      apt install build-essential git cmake libphysfs-dev libsdl1.2-dev libsdl-mixer1.2-dev libpng-dev libglew-dev

    • Fedora

      dnf install make gcc-c++ git cmake physfs-devel sdl12-compat-devel SDL_mixer-devel libpng-devel glew-devel

    • Arch Linux

      pacman -S base-devel git cmake physfs sdl12-compat sdl_mixer libpng glew

  • Get the source code from github

    git clone https://github.com/dxx-redux/dxx-redux

  • Enter the dxx-redux directory

    cd dxx-redux

  • Enter the the d1 or d2 directory

    cd d1

  • Set the build options

    cmake -B build -DCMAKE_BUILD_TYPE=RelWithDebInfo

    (see cmake -B build -L for more options)

  • Build the code

    cmake --build build

    (add -j4 to use 4 cores)

dxx-redux's People

Contributors

adam2104 avatar arbruijn avatar cdarrow avatar roncli avatar roostersixone avatar siriustr avatar spudlyo avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

dxx-redux's Issues

Bug: D2 multiplayer crash/freeze when linux client involved

Players involved:
Leto (Linux/Ubuntu)
Skywarp (Windows)
Tiger (Windows)
Verran (Windows)

We were trying to play a D2 team anarchy game using Redux 0.7.

Initially, Skywarp hosted the first game. When Leto joined, he received a message "Failed to join the netgame. You are missing packets. Check your network card and try again.". However, after dismissing the dialog, it allowed him into the game. A short time after, his game froze completely and he had to reboot his machine to fix the crash.

After that, we tried having Leto host the game. All the other clients (Skywarp, Tiger and me), received the message "Failed to join the netgame. You are missing packets. Check your network card and try again."; but, we were all able to join the game anyway. After a few minutes, Skywarp's game froze and he had to ALT+F4 to get it shut down.

We ended up switching to D1 Redux 0.7 and were able to play team anarchy games just fine without the packet error message, or the freeze ups/crashings.

Thanks!

Linux: AppImages won't work.

Steam Deck user here; can't seem to get the AppImages working. Attempting to run through Konsole delivers this error: "error while loading shared libraries: libSDL-1.2.so.0: cannot open shared object file: No such file or directory"

Ramming kills cause duplicate entries in observer kill feed

Note from Observatory (reportedly some folks have seen this already though). If someone gets a ramming kill, reportedly the kill feed in the top-right shows it twice. Doesn't report twice to the tracker though; only really affects the UI. Might have something to do with how player-player collision damage is processed.

Multiplayer game settings presets

With people struggling to get the settings right for Observatory (and this has been an issue in the past with Rangers as well), it seems that the ability to have OLMod-style "presets" would be helpful to reduce mistakes. Will have to figure out a good UI for this. The presets don't need to be configurable within the game itself - they could be hard-coded or loaded from an XML file.

Software renderer?

Would it be possible to re-implement the software renderer or some form of imitation of it? I think it would be a nice quality-of-life feature to have, since very few ports of the game still have it.

Make other player ships more visible

From Lee:
"Several people have mentioned finding it hard to see in descent especially in levels like black rose. For a future release would you consider a toggle or an option for increasing ship visibility without increasing the objects brightness?"

There are some options we might want to pursue for this, e.g. maybe rendering a colored outline or a tint for player ships might improve visibility. It'll probably need some experimentation to find a good solution.

Porch flash emulation?

This is an uncommon feature I really enjoy in Chocolate Doom and Woof. When playing 4:3 on a widescreen monitor for instance, it extends the palette flashes (take damage, pick up item, etc.) to the black borders. It's meant to resemble behavior of old CRT monitors (example: https://youtu.be/jjmZPxwcfxc?t=145).

For me, it makes playing 4:3 feel less cramped. I've always enjoyed Descent's scorching red and blue flashes so an option for more of them would be cool.

Fix friendly fire splash damage

There has been a well-known exception for friendly fire for a while now where splash damage, and weapons that deal splash damage, can still affect teammates even with friendly fire disabled. This should really be fixed since it goes against the spirit of what the setting means.

Observer mode: Allow per game type configuration

I've observed some users (e.g. particularly roncli) changing settings between FFA and 1v1 matches. It might save time to allow separate configurations for relevant modes: 1v1, FFA, teams, co-op.
I'm not sure what a good UI presentation for this would look like. The simplest would be "your configuration applies to whatever the current game type is", but that requires you to join/host a game of that type before you can configure it, which might not be ideal.

Bug: team games, player colors

Players involved:
Leto (Linux/Ubuntu)
Skywarp (Windows)
Tiger (Windows)
Verran (Windows)

While playing D1 Redux 0.7, Skywarp, Tiger and Leto were seeing team colors as Pink/Green instead of Blue/Red on the scoreboard (HUD/text view). On a hunch, I had them change their game settings to disable custom ship colors. After disabling, they were able to see the standard Blue/Red for team colors on the scoreboard (HUD/text view). Not sure if this is a bug, but sharing just in case.

The actual primary bug I'm reporting: in team mode, is when toggling the score views on the HUD/text view, the individual player colors were showing for the individual scores instead of the standard Blue/Red. This occurred regardless of custom ship colors option being enabled or disabled.

If you need a screenshot, let me know. I'll gather some people up again and recreate to get the screenshot for yas.

Thanks!

Add option to save separate logs for each game

Similar to the "automatically record demos" feature, it would be helpful for some players to have game logs split per-game and saved somewhere they won't be overwritten.
(Requested by Lee)

Mac build fails to start with "failed loading SDL2 library" error

Passing along a problem report I got from Big Rat, who has a Macbook Pro 2019 (2.4 GHz 8-Core Intel Core i9 - I assume running 64-bit but not ARM). Redux fails to start for him; he sees an error message to the effect of "failed loading SDL2 library". I'm not sure whether the Mac build is supposed to use SDL2; if it is, it might just mean the library isn't included in the archive.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.