Fan of Diablo I? DevilutionX almost working on FreeBSD

nunotex

New Member

Reaction score: 1
Messages: 13

Hello,

DevilutionX: Diablo build for modern operating systems.

For those that are interested helping us to getting this project ported to FreeBSD, please read this pull request:


Thanks,

Nuno Teixeira
 

malavon

Active Member

Reaction score: 77
Messages: 121

I've taken a (very) quick look at it. Just a few small suggestions to make porter's lives easier. Code could use some restructuring as well to make porting easier, but that's more of an upstream issue anyway.

I would suggest doing actual detection for a FreeBSD platform (by checking for __FreeBSD__) instead of relying on the current behaviour.
It will make it easier to define FreeBSD-specific behaviour (which I assure you, there will be at least some of that).

C:
//-----------------------------------------------------------------------------
// Assumption: we are not on Windows nor Macintosh, so this must be linux *grin*

#if !defined(PLATFORM_DEFINED)
Basically something like this (before the Linux detection) should be enough. You can just copy the Linux headers for now.

C:
#if !defined(PLATFORM_DEFINED) && defined(__FreeBSD__)
Good luck in your endeavours. If I find the time I might chime in with some extra code, but I'm currently working on something else that takes up all my attention.

Note: to find out what's going wrong with the filesystem thingy, compile the project with debug:
cmake -DCMAKE_C_COMPILER=/usr/local/bin/gcc8 -DCMAKE_CXX_COMPILER=/usr/local/bin/g++8 -DASAN=OFF -DCMAKE_BUILD_TYPE=Debug .. && make

Then debug it with gdb (lldb might also work, but since it's compiled with gcc I'd say use gdb)
gdb ./devilutionx

Look around the web to find out the gdb commands. 'bt' is your first friend for sure.
 

Crivens

Moderator
Staff member
Moderator

Reaction score: 831
Messages: 1,803

So now I can do all that time wasting from the old days again? Well... it was a lot of fun.
 

malavon

Active Member

Reaction score: 77
Messages: 121

Of course I couldn't let it go. I just had to dedicate my sunday to getting more people to game on FreeBSD :D

There's a port on my GitHub repository. Copy your diabdat.mpq to ~/.local/share/diasurgical/devilution/diabdat.mpq.
Happy gaming!

There's also a miniscule PR on the project's GitHub to do away with the patch for CMakeLists.txt
 

malavon

Active Member

Reaction score: 77
Messages: 121

Ok, I made a stupid mistake and the branch has also been updated. I fixed the port :)

Note that right now the port builds from a specific branch, not a tag. So when that branch gets updated, your port actually changes a little (or a lot).
Once the necessary things are in the main branch and released as a tag, I'll update it and maybe even create an official port from it :)
 

Crivens

Moderator
Staff member
Moderator

Reaction score: 831
Messages: 1,803

It will tempt me to waste weeks and months of my time, again. I've been clean for 4 years.

Well done, good work :)
 
OP
OP
N

nunotex

New Member

Reaction score: 1
Messages: 13

Well done all that contribute time, knoledge to projects that need to be taking into consideration. This is not a game, this is a way to remember that some fantastic and beutifull games was created to be playing in MS DOS and Win95 an now can be remembered in Linux, *BSD, etc. I think this projects very important because they remember from where we been.

Thanks for all involved here:

- Devilutionx project
- kraileth
- malavon

And all that put some flame in this thread. And it worked :)

Yours,

Nuno Teixeira
 

Crivens

Moderator
Staff member
Moderator

Reaction score: 831
Messages: 1,803

I didn't mean to flame anything. I just feel tempted to put time into this for old times sake instead putting it into my kids. But in some years now I can show them "This is what daddy used to procrastinate..."

And maybe it will be fun to have a match against them. You do have multiplayer, don't you? ;)
 

malavon

Active Member

Reaction score: 77
Messages: 121

And maybe it will be fun to have a match against them. You do have multiplayer, don't you? ;)
From the readme, never tested it (fun fact: I never played Diablo):
Multiplayer
  • TCP/IP only requires the host to expose port 6112
  • UPD/IP requires that all players expose port 6112
All games are encrypted and password protected.
 
OP
OP
N

nunotex

New Member

Reaction score: 1
Messages: 13

I played diablo II for years but never tried multiplayer because I was allways trying the best tree to have more fun and not to difficult to enter hardcore mode.

I played Diablo I when I don't have an internet connection and we use floppys and cds from friends.

This project is important to me because Diablo I is still considered number 1 in its style in a lot of sites.
 
OP
OP
N

nunotex

New Member

Reaction score: 1
Messages: 13

Of course I couldn't let it go. I just had to dedicate my sunday to getting more people to game on FreeBSD :D

There's a port on my GitHub repository. Copy your diabdat.mpq to ~/.local/share/diasurgical/devilution/diabdat.mpq.
Happy gaming!

There's also a miniscule PR on the project's GitHub to do away with the patch for CMakeLists.txt
Hello Malavon,

Will you submit this port to freebsd ports?
 

malavon

Active Member

Reaction score: 77
Messages: 121

Will you submit this port to freebsd ports?
Probably, once there's a release on GitHub (as opposed using a branch which can change every second). It doesn't seem to be too difficult to maintain it either, so I'll go with it.
That said, if there's someone out here who can maintain it and who would actually play it (and thus test), speak up :)
 

Spartrekus

Aspiring Daemon

Reaction score: 138
Messages: 918

Is this thing Diablo opensource a sort of (Opensource DIABLO) MMORPG for Raspberry PI ?
can it run online on a pi?

I'd like eternallands and diablo on pi ;)

6510
 

malavon

Active Member

Reaction score: 77
Messages: 121

The FreeBSD branch has been merged into the master branch today, I updated the port to point to master now.
 
OP
OP
N

nunotex

New Member

Reaction score: 1
Messages: 13

The FreeBSD branch has been merged into the master branch today, I updated the port to point to master now.
I forgot to say that you can choose a specific tag for GH_TAGNAME=1f20338 for example, instead of master tag:

editors/xi-term uses:

DISTVERSION= g20190328
that ponts to:
GH_TAGNAME= 08dd47e

That way you will have no problems with checksums with DISTINFO, because source will be inaltered to that specific tag.
 
OP
OP
N

nunotex

New Member

Reaction score: 1
Messages: 13

BTW, theres a new release 0.4.0, so you can stay with this version tag because it includes changes for freebsd:


cheers
 

shkhln

Well-Known Member

Reaction score: 170
Messages: 459

It's probably better not to package that thing by default. Decompiled code is not even in a legal grey area, it's pretty clearly constitutes copyright infringement.
 

hukadan

Well-Known Member

Reaction score: 253
Messages: 403

Decompiled code is not even in a legal grey area
Pardon my ignorance on the subject, but isn't "Reverse engineered" different form "Decompiled" ? I thought the former did not constitute copyright infringement contrary to the latter.
 

malavon

Active Member

Reaction score: 77
Messages: 121

It's probably better not to package that thing by default. Decompiled code is not even in a legal grey area, it's pretty clearly constitutes copyright infringement.
This is a legitimate concern. I've been wondering about this as well. EDIT: I'll ask this on the Bugzilla to make sure and see what comes up there.
 

hukadan

Well-Known Member

Reaction score: 253
Messages: 403

I missed that part of the Readme. Just saw the "Reverse engineered" of the Credit section. Thank you for the clarification.
 
OP
OP
N

nunotex

New Member

Reaction score: 1
Messages: 13

Port added: PR 237997

Also, while checking this out I came across the following PRs for other new games to be added:
PR 227844
PR 227168

More games are incoming it seems :)
Thanks Malavon! This is really good news.

Don't bother with "reverse engeneering" stuff. Original game is always needed.

What's new and opensourced is the engine that plays original content.

Very happy here :)

Nuno Teixeira
 
Top