Porting GZDoom Builder to Linux [split]

Please do not mimic the behavior of the posts shown here.

Moderator: GZDoom Developers

Re: Porting GZDoom Builder to Linux

Postby gdm413229 » Sat Aug 03, 2019 9:23 pm

You can contribute to my new fork of GZDB-BF at https://github.com/gdm413229/GZDoom-Builder-Bugfix. I created this fork out of sheer desperation for a proper Linux edition of GZDoom Builder and I need to attract as many devs as possible for my pipe dream to become reality. You know what grinds my gears? Not being able to use GZDoom Builder natively on Linux. There's the Makefile, shell scripts and Python files to fill. Don't forget to remove ANY Windows API calls and substitute them for Linux equivalents.
gdm413229
 
Joined: 04 Oct 2011
Github ID: gdm413229
Operating System: Other Linux 64-bit
Graphics Processor: nVidia with Vulkan support

Re: Porting GZDoom Builder to Linux

Postby Rachael » Sat Aug 03, 2019 9:37 pm

If you want to host the fork you're going to have to do a lion's share of the development work. And by that I don't mean sitting around and playing "decision/ideas guy" by doing things like saying "We're using Qt5 just to avoid having to use WinForms." (no mention of GTK3, not even a slight indication of desire to be flexible about it) - It's not that Qt5 is bad, it just shows a lack of flexibility on your part - you're quick to make the decisions, without any input from other people, least of all the developer help that you are purportedly trying to attract. (And you're bullheadedly ignoring the fact that you're annoying other people in this thread by playing "ideas guy")

Deleting a bunch of files and creating empty shell scripts just doesn't quite cut it.

I can't speak for the prospective developers, but Talon1024 is the one who started this thread, so people are more likely to follow him. If you want to get this off its feet and attract real help, I suggest you start by getting it at least into a somewhat runnable state. You want to reuse GZDoom code? Luckily, you can cross-compile C# and C++ code together, as long as you can create the proper function bindings - so I would suggest the renderer as a starting point.

Long story short: It's time for you to take some real, productive action - not by saying "oh here it is, please help me finish something I didn't even start!"
User avatar
Rachael
Webmaster
 
Joined: 13 Jan 2004
Discord: Rachael#3767
Twitch ID: madamerachelle
Github ID: madame-rachelle
Operating System: Windows 10/8.1/8 64-bit
OS Test Version: No (Using Stable Public Version)
Graphics Processor: nVidia with Vulkan support

Re: Porting GZDoom Builder to Linux

Postby gdm413229 » Sat Aug 03, 2019 9:52 pm

Do you know where GZDoom's rendering code sits? You told me that the best way to bootstrap the porting process is to make proper C# bindings for GZDoom's rendering code. I could reuse code from Blender for the interface.
gdm413229
 
Joined: 04 Oct 2011
Github ID: gdm413229
Operating System: Other Linux 64-bit
Graphics Processor: nVidia with Vulkan support

Re: Porting GZDoom Builder to Linux

Postby Rachael » Sat Aug 03, 2019 9:57 pm

Most of it is quite nicely segregated in folders.

The hardware abstraction layer is in the OS folders (ie "src/posix") - and is usually conveniently named things like "sdlglvideo.cpp" - you might need to at least know what the abstraction is doing when you bring it into a project such as this even if you end up creating your own.

You'll also need to look at the files inside "rendering" - this further abstracts the interfaces (i.e. Vulkan or OpenGL) themselves into code that the hwrenderer can use.

The actual renderer resides in "hwrenderer" - this contains all the code for walking the BSP tree, cropping offscreen triangles, etc.

Even with this knowledge though, you're in for a real fight to get it to compile - so make sure to have a terminal window handy with the "grep" tool - you're gonna need it.
User avatar
Rachael
Webmaster
 
Joined: 13 Jan 2004
Discord: Rachael#3767
Twitch ID: madamerachelle
Github ID: madame-rachelle
Operating System: Windows 10/8.1/8 64-bit
OS Test Version: No (Using Stable Public Version)
Graphics Processor: nVidia with Vulkan support

Re: Porting GZDoom Builder to Linux

Postby dpJudas » Sat Aug 03, 2019 10:04 pm

You're wasting your time, Rachael. If someone needs to ask where the rendering code is, they won't be able to do this task.
dpJudas
 
 
 
Joined: 28 May 2016

Re: Porting GZDoom Builder to Linux

Postby Nash » Sat Aug 03, 2019 10:17 pm

gdm413229 wrote:You can contribute to my new fork of GZDB-BF at https://github.com/gdm413229/GZDoom-Builder-Bugfix


So what exactly have you done besides pressing the fork button on Github and editing a few readme files and scripts?
User avatar
Nash
 
 
 
Joined: 27 Oct 2003
Location: Kuala Lumpur, Malaysia
Github ID: nashmuhandes

Re: Porting GZDoom Builder to Linux

Postby gdm413229 » Sat Aug 03, 2019 10:18 pm

When I finally reuse code from GZDoom, you might be able to use the Carmack and Softpoly renderers with the new visual mode. Can you open the existing .sln file with MonoDevelop or any Linux program that is able to open .sln files?
gdm413229
 
Joined: 04 Oct 2011
Github ID: gdm413229
Operating System: Other Linux 64-bit
Graphics Processor: nVidia with Vulkan support

Re: Porting GZDoom Builder to Linux

Postby dpJudas » Sat Aug 03, 2019 10:27 pm

The fact you have to ask if MonoDevelop can open a .sln file tells me that you are too lazy to even try first. Not that it matters because some of the "technical expertise" you've written here reveals you have never done a project remotely this size. Using the interface from Blender was really funny, so weird and wrong I don't even know where to start.

Seriously, stop pestering this thread.
dpJudas
 
 
 
Joined: 28 May 2016

Re: Porting GZDoom Builder to Linux

Postby gdm413229 » Sat Aug 03, 2019 10:32 pm

Copied the rendering code from GZDoom and pushed it onto my fork of GZDB-BF. Still not got the right means to build the code I've just copied from GZDoom as a .so library.
gdm413229
 
Joined: 04 Oct 2011
Github ID: gdm413229
Operating System: Other Linux 64-bit
Graphics Processor: nVidia with Vulkan support

Re: Porting GZDoom Builder to Linux

Postby dpJudas » Sat Aug 03, 2019 10:35 pm

I copied /tmp/com.apple.launchd.tI1dPhgj4z/Listeners to my fork of GZDoom. Still can't play music but now I'm contributing.
dpJudas
 
 
 
Joined: 28 May 2016

Re: Porting GZDoom Builder to Linux

Postby Rachael » Sat Aug 03, 2019 10:42 pm

User avatar
Rachael
Webmaster
 
Joined: 13 Jan 2004
Discord: Rachael#3767
Twitch ID: madamerachelle
Github ID: madame-rachelle
Operating System: Windows 10/8.1/8 64-bit
OS Test Version: No (Using Stable Public Version)
Graphics Processor: nVidia with Vulkan support

GZDoomBuilder-Bugfix, a maintenance fork of GZDB

Postby gdm413229 » Mon Aug 05, 2019 3:02 pm

Can I extract certain bits of code from GZDB-BF (the map editing code, GZDoom lump parser, 2D map drawer and visual mode code) and port them over into C++? I'm making a new project which will be the Linux counterpart to GZDB-BF. GTK3 will be used for the interface and GZDoom's rendering code (a custom variant that plays nice with GTK3) will be used in place of SlimDX. (for my new map editor project)

EDIT: The sources of GZDB-BF are licensed under the GPLv2, which gives me the green light for my new map editor project. (port the most important yet platform-indepent bits from C# to C++.)

user was warned for this post
gdm413229
 
Joined: 04 Oct 2011
Github ID: gdm413229
Operating System: Other Linux 64-bit
Graphics Processor: nVidia with Vulkan support

Re: GZDoomBuilder-Bugfix, a maintenance fork of GZDB

Postby Graf Zahl » Mon Aug 05, 2019 6:31 pm

You already managed to get one thread closed with this. Please don't do it again.
User avatar
Graf Zahl
Lead GZDoom Developer
Lead GZDoom Developer
 
Joined: 19 Jul 2003
Location: Germany

Re: GZDoomBuilder-Bugfix, a maintenance fork of GZDB

Postby Rachael » Mon Aug 05, 2019 6:46 pm

Graf is right. This is exactly the behavior that got the first thread closed, and it is against the rules to publicly continue a discussion from a locked thread, especially with the same behavior that got it locked in the first place.

Therefore, as much as I admire your enthusiasm on the topic and wish others had the same, considering the reactions this is getting, I have no choice but to issue a warning.

Do not continue a discussion from a locked thread.

In the future please consider that some things get locked for a reason.
User avatar
Rachael
Webmaster
 
Joined: 13 Jan 2004
Discord: Rachael#3767
Twitch ID: madamerachelle
Github ID: madame-rachelle
Operating System: Windows 10/8.1/8 64-bit
OS Test Version: No (Using Stable Public Version)
Graphics Processor: nVidia with Vulkan support

Hellsmith, a new Linux-exclusive map editor

Postby gdm413229 » Mon Aug 05, 2019 7:00 pm

I've started an entirely new project which aims to be the Linux counterpart to GZDoom Builder. I've filled in a decent chunk of the Makefile and the source needs to be populated with the paths stated in the Makefile.

A decent chunk of the sources will come from the translation of the most important chunks of the GZDB-BF code from C# into C++.

You can contribute to the project by cloning the repository and pushing your changes to the repository on the link below.

https://github.com/gdm413229/hellsmith-editor

Happy contributing! :)
gdm413229
 
Joined: 04 Oct 2011
Github ID: gdm413229
Operating System: Other Linux 64-bit
Graphics Processor: nVidia with Vulkan support

PreviousNext

Return to Hall of Unpleasantness

Who is online

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