Digitanks source code released under the BSD license

Digitanks source code released under the BSD license

Postby KIAaze » 04 Nov 2011, 01:20

A game I never heard until today has been ported to GNU/Linux AND has released its source code:
http://www.desura.com/games/digitanks/n ... ittle-time
http://www.digitanks.com/2011/10/28/dig ... en-source/

And lastly, in celebration of the Linux release, Digitanks is now open-source! If you can do "The C++" then hop on over to GitHub where the Digitanks source code happily lives.

\0/

The game is still available for sale however, notably on Desura. ;)

P.S.: The demo available on Desura is definitely worth trying out. :)
User avatar
KIAaze
 
Posts: 85
Joined: 08 Dec 2009, 17:34

Re: Digitanks source code released under the BSD license

Postby qubodup » 04 Nov 2011, 02:00

neat!

no issue tracker at https://github.com/BSVino/Digitanks i'm afraid.

{l Code}: {l Select All Code}
Digitanks$ cmake .
-- Configuring done
CMake Error at lwbase/CMakeLists.txt:45 (add_library):
  Cannot find source file:

    ../ext-deps/EASTL/src/allocator.cpp

  Tried extensions .c .C .c++ .cc .cpp .cxx .m .M .mm .h .hh .h++ .hm .hpp
  .hxx .in .txx


-- Build files have been written to: /home/qubodup/src/git/Digitanks


- arch linux 64bit
User avatar
qubodup
Global Moderator
 
Posts: 1671
Joined: 08 Nov 2009, 22:52
Location: Berlin, Germany

Re: Digitanks source code released under the BSD license

Postby KIAaze » 04 Nov 2011, 09:24

Yes, same problem here. :(
(had to install libdevil-dev first though)

But I had a look at line 45 in lwbase/CMakeLists.txt and it seems to require EASTL, an STL extension by Electronic Arts:
{l Code}: {l Select All Code}
set (LWBASE_SOURCES
   ../ext-deps/EASTL/src/allocator.cpp
   ../ext-deps/EASTL/src/assert.cpp
   ../ext-deps/EASTL/src/fixed_pool.cpp
   ../ext-deps/EASTL/src/hashtable.cpp
   ../ext-deps/EASTL/src/red_black_tree.cpp
   ../ext-deps/EASTL/src/string.cpp

   ../common/configfile.cpp
   ../common/eastl.cpp
   ../common/mempool.cpp
   ../common/mtrand.cpp
   ../common/parallelize.cpp
   ../common/sockets/sockets.cpp

   ../datamanager/data.cpp
   ../datamanager/dataserializer.cpp
)

if (WIN32)
   set (LWBASE_SOURCES ${LWBASE_SOURCES}
      ../common/platform_win32.cpp
   )
endif (WIN32)

if (${CMAKE_SYSTEM_NAME} MATCHES "Linux")
   set (LWBASE_SOURCES ${LWBASE_SOURCES}
      ../common/platform_linux.cpp
   )
endif (${CMAKE_SYSTEM_NAME} MATCHES "Linux")

add_library(lwbase ${LWBASE_SOURCES})


You can get it here:
https://github.com/paulhodge/EASTL
http://www.open-std.org/jtc1/sc22/wg21/ ... n2271.html

I don't have time to try to compile it now, but that should help. It probably needs to be placed in ext-deps/EASTL/ as well...

edit: not good at being reasonable. ^^
So:
{l Code}: {l Select All Code}
mkdir ext-deps
cd ext-deps
git clone https://github.com/paulhodge/EASTL.git

Here's a bit more for Debian-based distros:
{l Code}: {l Select All Code}
sudo apt-get install libglew1.5-dev libglfw-dev libdevil-dev libenet-dev

After that:

{l Code}: {l Select All Code}
cmake .
make
...
[ 24%] Building CXX object tengine/CMakeFiles/tengine.dir/network/network.cpp.o
/home/KIAaze/Development/Digitanks/tengine/network/network.cpp: In member function ‘virtual void CENetConnection::CreateHost(int)’:                                                                         
/home/KIAaze/Development/Digitanks/tengine/network/network.cpp:219:70: error: too many arguments to function ‘ENetHost* enet_host_create(const ENetAddress*, size_t, enet_uint32, enet_uint32)’
/usr/include/enet/enet.h:461:21: note: declared here
/home/KIAaze/Development/Digitanks/tengine/network/network.cpp: In member function ‘virtual void CENetConnection::ConnectToHost(const char*, int)’:
/home/KIAaze/Development/Digitanks/tengine/network/network.cpp:247:47: error: too many arguments to function ‘ENetHost* enet_host_create(const ENetAddress*, size_t, enet_uint32, enet_uint32)’
/usr/include/enet/enet.h:461:21: note: declared here
/home/KIAaze/Development/Digitanks/tengine/network/network.cpp:272:62: error: too many arguments to function ‘ENetPeer* enet_host_connect(ENetHost*, const ENetAddress*, size_t)’
/usr/include/enet/enet.h:463:21: note: declared here
make[2]: *** [tengine/CMakeFiles/tengine.dir/network/network.cpp.o] Error 1
make[1]: *** [tengine/CMakeFiles/tengine.dir/all] Error 2
make: *** [all] Error 2


Maybe a library version issue.
User avatar
KIAaze
 
Posts: 85
Joined: 08 Dec 2009, 17:34

Re: Digitanks source code released under the BSD license

Postby Vino » 05 Nov 2011, 07:31

Sorry Digitanks is such a pain to compile. Once I got my dev environment set up I didn't bother making it any easier for anybody else. If you get it working and want to submit a patch to make it easier, I'd be happy to merge it in to help others.

The version of enet provided with Ubuntu is sadly too old. It provides 1.2 and you need 1.3 to build Digitanks, they're not compatible. You can download it from the enet website though. I built with 1.3.0 but the latest 1.3.3 should work. (Ubuntu Oneiric and later have 1.3, if you have that you should be okay.)

Also you guys are right, you want the Paul Hodge version of EASTL on GitHub. It does need to be placed in the "EASTL" directory. Now that C++11 has been approved and I've upgraded to VS10 I'll probably start moving back away from EASTL, the speed advantages from move semantics should outweigh the extra speed from EASTL. That should make it a bit easier to compile in the future.

I'll keep an eye on this thread and help you guys more if you run into more problems :)

(PS: If you decide to buy it, please do so through my website. Desura has a $500 minimum for some reason and I'll probably never see any money from sales on there :P )
Vino
 
Posts: 1
Joined: 05 Nov 2011, 07:16

Who is online

Users browsing this forum: Google [Bot] and 1 guest

cron