Page 1 of 1

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

PostPosted: Wed Oct 28, 2020 9:11 am
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.

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

PostPosted: Fri Oct 30, 2020 7:58 am
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.

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

PostPosted: Sat Oct 31, 2020 5:44 pm
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.

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

PostPosted: Sat Oct 31, 2020 5:46 pm
by Enjay
I used to have loads of fun with DM2CONV "back in the day". Interesting to see it being kept alive.

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

PostPosted: Sun Nov 01, 2020 2:15 am
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.

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

PostPosted: Sun Nov 01, 2020 2:58 am
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.

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

PostPosted: Sun Nov 01, 2020 5:03 pm
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.

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

PostPosted: Mon Nov 02, 2020 5:48 pm
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

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

PostPosted: Tue Nov 03, 2020 1:44 pm
by MartinHowe
@i2van: Thanks, it works now. I just had to change the target to x86_64.

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

PostPosted: Thu Nov 05, 2020 3:50 pm
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.

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

PostPosted: Fri Nov 06, 2020 4:11 am
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.

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

PostPosted: Fri Nov 06, 2020 4:47 am
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.

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

PostPosted: Fri Nov 06, 2020 6:19 am
by MartinHowe
Just checked it out and rebuilt it and yes, filename case is preserved - thanks :)