DM2CONV/GFXMAKER v3.2 utility Windows/Linux/mac x86/x64 port

Any utility that assists in the creation of mods, assets, etc, go here. For example: Ultimate Doom Builder, Slade, WadSmoosh, Oblige, etc.
Forum rules
The Projects forums are ONLY for YOUR PROJECTS! If you are asking questions about a project, either find that project's thread, or start a thread in the General section instead.

Got a cool project idea but nothing else? Put it in the project ideas thread instead!

Projects for any Doom-based engine (especially 3DGE) are perfectly acceptable here too.

Please read the full rules for more details.
Post Reply
i2van
Posts: 21
Joined: Thu Sep 10, 2020 2:48 am
Graphics Processor: Intel with Vulkan/Metal Support
Contact:

DM2CONV/GFXMAKER v3.2 utility Windows/Linux/mac x86/x64 port

Post by i2van »

DM2CONV/GFXMAKER v3.2 utility Windows/Linux/macOS x86/x64 port.
  • DM2CONV converts DOOM/ULTIMATE DOOM/DOOM2/HERETIC levels to run with one of the other games.
  • GFXMAKER creates WAD file that contains all the textures of a specified set of games.
Download

Demo
Spoiler: DM2CONV.exe
Spoiler: DM2CONV.EXE curse.wad curse2doom.wad @:HTOD
More screenshots.

Usage example.

Features
  • Runs on Windows/Linux/macOS x86/x64.
  • Produces same output as original DOS utility.
  • Supports file names longer than 8.3 (total path limitation is 255 characters).
Known Issues
  • Contains all original bugs if any.
Distribution Changes
  • Original DOS binaries were moved to ORIGINAL.EXE folder.
  • 64-bit binaries are in x64 folder. Copy them one level up to use.
  • Ported sources are included; original are in git first commit.
  • Lazarus projects were added.
Last edited by i2van on Mon Nov 16, 2020 7:15 am, edited 5 times in total.
User avatar
Redneckerz
Spotlight Team
Posts: 1053
Joined: Mon Nov 25, 2019 8:54 am
Graphics Processor: Intel (Modern GZDoom)

Re: DM2CONV v3.2 utility Windows x86/x64 port

Post by Redneckerz »

One of those utilities that is useful to have in a Win32 environment, thanks for this. Ill make a change on the Wiki page to reflect upon this version.
EDIT: Done.
i2van
Posts: 21
Joined: Thu Sep 10, 2020 2:48 am
Graphics Processor: Intel with Vulkan/Metal Support
Contact:

Re: DM2CONV v3.2 utility Windows x86/x64 port

Post by i2van »

Redneckerz wrote:One of those utilities that is useful to have in a Win32 environment, thanks for this. Ill make a change on the Wiki page to reflect upon this version.
EDIT: Done.
Added GFXMAKER.
User avatar
Enjay
 
 
Posts: 26534
Joined: Tue Jul 15, 2003 4:58 pm
Location: Scotland
Contact:

Re: DM2CONV/GFXMAKER v3.2 utility Windows x86/x64 port

Post by Enjay »

I used to have loads of fun with DM2CONV "back in the day". Interesting to see it being kept alive.
User avatar
MartinHowe
Posts: 2022
Joined: Mon Aug 11, 2003 1:50 pm
Location: Waveney, United Kingdom
Contact:

Re: DM2CONV/GFXMAKER v3.2 utility Windows x86/x64 port

Post by MartinHowe »

I did build it for Linux but the help text is the only thing that works; if processing a file it segfaults somewhere in the response file parser. It will take me a while to learn my way around this app's source enough to think of fixing it but given a couple of spare hours, it might be worth it as it would be fun to try some Doom 2 levels in Doom.
i2van
Posts: 21
Joined: Thu Sep 10, 2020 2:48 am
Graphics Processor: Intel with Vulkan/Metal Support
Contact:

Re: DM2CONV/GFXMAKER v3.2 utility Windows x86/x64 port

Post by i2van »

MartinHowe wrote:I did build it for Linux but the help text is the only thing that works; if processing a file it segfaults somewhere in the response file parser. It will take me a while to learn my way around this app's source enough to think of fixing it but given a couple of spare hours, it might be worth it as it would be fun to try some Doom 2 levels in Doom.
Linux call conversions differ from Windows one (something like edx, rsi, rdi vs. eax, edx, ecx). I think that getting rid of asm is the right way to do porting. Is you CPU x86? I'm not sure it can be ported to ARM as is.
Last edited by i2van on Mon Nov 02, 2020 2:27 am, edited 1 time in total.
i2van
Posts: 21
Joined: Thu Sep 10, 2020 2:48 am
Graphics Processor: Intel with Vulkan/Metal Support
Contact:

Re: DM2CONV/GFXMAKER v3.2 utility Windows x86/x64 port

Post by i2van »

MartinHowe wrote:I did build it for Linux but the help text is the only thing that works; if processing a file it segfaults somewhere in the response file parser. It will take me a while to learn my way around this app's source enough to think of fixing it but given a couple of spare hours, it might be worth it as it would be fun to try some Doom 2 levels in Doom.
Now parameters to asm functions are passed via stack instead of registers. Please git pull and try again.
User avatar
MartinHowe
Posts: 2022
Joined: Mon Aug 11, 2003 1:50 pm
Location: Waveney, United Kingdom
Contact:

Re: DM2CONV/GFXMAKER v3.2 utility Windows x86/x64 port

Post by MartinHowe »

Thanks, Ill have a look tomorrow (nearly bed time in the UK). Yes, the PC is x86 based; I haven't done much with 8086 assembler for over 30 years (did a bit of 6502 back in the day) and wasn't aware the calling conventions were different, but am not surprised.

I guess the problem is indeed ASM; I can imagine why Vincenzo Alcamo used it back in the days of 486s but we don't really need it now, not for something like this; though I guess the real Linux heads would say Real Programmers would parse the tables using awk :)

Which reminds me, over the years I have often used the '"I'm too tired to compile all these tables..." quote - I love that quote, much more fun that saying "I can't be assed" :p
User avatar
MartinHowe
Posts: 2022
Joined: Mon Aug 11, 2003 1:50 pm
Location: Waveney, United Kingdom
Contact:

Re: DM2CONV/GFXMAKER v3.2 utility Windows x86/x64 port

Post by MartinHowe »

@i2van: Thanks, it works now. I just had to change the target to x86_64.
i2van
Posts: 21
Joined: Thu Sep 10, 2020 2:48 am
Graphics Processor: Intel with Vulkan/Metal Support
Contact:

Re: DM2CONV/GFXMAKER v3.2 utility Windows x86/x64 port

Post by i2van »

MartinHowe wrote:@i2van: Thanks, it works now. I just had to change the target to x86_64.
Ported to Linux. Added separate downloads.
User avatar
MartinHowe
Posts: 2022
Joined: Mon Aug 11, 2003 1:50 pm
Location: Waveney, United Kingdom
Contact:

Re: DM2CONV/GFXMAKER v3.2 utility Windows/Linux x86/x64 port

Post by MartinHowe »

@i2van Thanks again, you are doing some good work here :)

I have looked into preserving filename case on Linux, but this would require a big architectural change, as the app uses its internal symbol mechanism for filenames as well as tables; in DOS this didn't matter but Linux, for those who don't know, has a case-sensitive file system. When I can find some time, I will put together a bash script to use as a wrapper around dm2conv on Linux that can keep the file names intact.
i2van
Posts: 21
Joined: Thu Sep 10, 2020 2:48 am
Graphics Processor: Intel with Vulkan/Metal Support
Contact:

Re: DM2CONV/GFXMAKER v3.2 utility Windows/Linux x86/x64 port

Post by i2van »

MartinHowe wrote:@i2van Thanks again, you are doing some good work here :)

I have looked into preserving filename case on Linux, but this would require a big architectural change, as the app uses its internal symbol mechanism for filenames as well as tables; in DOS this didn't matter but Linux, for those who don't know, has a case-sensitive file system. When I can find some time, I will put together a bash script to use as a wrapper around dm2conv on Linux that can keep the file names intact.
Thank you!

Actually, I've already addressed this issued - no case conversion anymore for source/destination files.
User avatar
MartinHowe
Posts: 2022
Joined: Mon Aug 11, 2003 1:50 pm
Location: Waveney, United Kingdom
Contact:

Re: DM2CONV/GFXMAKER v3.2 utility Windows/Linux x86/x64 port

Post by MartinHowe »

Just checked it out and rebuilt it and yes, filename case is preserved - thanks :)
Post Reply

Return to “Creation, Conversion, and Editing”