NOOB developer questions
#1
Been looking at doing a little Descent project, and as this currently seems the most active Descent branch, I'm going to start (and hopefully end) with Dxx-Rebirth.  To start, thanks for all the hard work that people have put into this project already.  While many games of that era have been lost in time, the uniqueness of Descent and the game play have allowed it to withstand the test of time.  I personally have bought different copies of Descent at least 3 or 4 times in my life, and now that there is a chance to get into the code and fix issues caused by running it on newer systems is very powerful.  Onto the NOOB questions...

1.  I would like to develop on a Linux based system.  What distribution makes the most sense and is used by other developers developing on Linux.  I have the most familiarity with the Ubuntu distribution, but have started to dislike the default theme that they are using so I could easily be swayed to a different distribution if it makes sense.
2.  What git GUI client/shell is preferred?  During my regular day life, I use a mixture of TortoiseGit and command lines to be efficient.
3.  Are there any IDEs that developers are using?  Has anyone done any work pulling the project into Eclipse...if so, what version of Eclipse?

Thanks again for all the hard work that has already been done to continue this game's legacy.
Reply
#2

  1. I use Gentoo/amd64. However, any Linux with modern tools should work. I remember supporting one of the regulars who used either a Debian or Ubuntu that was shipping gcc 4.9.2. I recommend a gcc-5 or later, but the last release of gcc-4.9 should work. Anything earlier (gcc-4.8 or below) is discouraged.
  2. I do not use a GUI.
  3. I do not use Eclipse. I am not aware of anyone who has attempted to use it.
Generally, the SConf tests ought to detect if you are missing required functionality (compiler too old, missing required libraries, etc.). If the build fails on you after SCons begins compiling source files, please report it.

Further questions welcome.
Reply
#3
OK, after getting the machine setup and such, I get the following error:
CXX dxx . common/main/cmd.cpp
In file included from common/main/cmd.cpp:24:0:
common/include/strutil.h:59:38: error: ‘array’ has not been declared
void removeext(const char *filename, array<char, 20> &out);
^
common/include/strutil.h:59:43: error: expected ‘,’ or ‘...’ before ‘<’ token
void removeext(const char *filename, array<char, 20> &out);
^
scons: *** [common/main/cmd.o] Error 1

Ubuntu/gcc version is:
gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.10)
Reply
#4
Forgot to mention (not sure if this matters), code was grabbed using:
git clone https://github.com/dxx-rebirth/dxx-rebirth.git

scons was run from ~/dxx-rebirth
Reply
#5
Build breaks are better reported as Github issues (and in a fixed-width tag, regardless of where you report them). In this case, you caught a mistake. I've been using PCH builds recently, and those are a bit sloppy about header include correctness.

Fix non-PCH build should resolve this. Please pull and try again.
Reply
#6
That worked perfectly. Thanks! I'm so new, that I didn't want to spam the bug tracker with something that was just a misunderstanding on my part. I considered just throwing in a #include <array>, but again, I didn't take enough time to see the coding style.
Reply
#7
Adding #include <array> would not have been sufficient. For legacy reasons, Rebirth use of std::array relies on a using std::array statement rather than qualifying each use of it. Including the header would have defined std::array, but would not have provided the using std::array statement, so the build would still have failed.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)