Doom for Dreamcast troubleshooting thread

Talk about Quake, Doom, Wolfenstein 3D, or other DC first person shooting game ports and mods for those games in here.
Post Reply
Stryfe
Psychotic DCEmu
Psychotic DCEmu
Posts: 577
https://www.artistsworkshop.eu/meble-kuchenne-na-wymiar-warszawa-gdzie-zamowic/
Joined: Mon Aug 11, 2008 9:34 am
Location: Nowhere U.S.A.
Has thanked: 0
Been thanked: 0

Doom for Dreamcast troubleshooting thread

Post by Stryfe »

I'm starting this thread for questions surrounding setting up Doom for Dreamcast (Doom4DC) by Chilly Willy (JLF65), and for possible bug reporting.


Useful info for troubleshooting:
- Doom for Dreamcast version: Current is v1.4
- IWAD used: doom.wad, doomu.wad, doom2.wad, tnt.wad, plutonia.wad, etc...
- IWAD version used: 1.666, 1.9, etc... (1.9 recommended)
- PWAD used: If applicable state the specific version, and provide a link to download it.
- Is the bug replicable? If possible, state the steps necessary to repeat it.


General questions on how to setup some particular are also welcome. Hopefully someone, including myself, will be able to answer them.
Last edited by Stryfe on Sat Apr 23, 2011 11:02 am, edited 1 time in total.
ImageImageImageImage
Stryfe
Psychotic DCEmu
Psychotic DCEmu
Posts: 577
Joined: Mon Aug 11, 2008 9:34 am
Location: Nowhere U.S.A.
Has thanked: 0
Been thanked: 0

Re: Doom for Dreamcast troubleshooting thread

Post by Stryfe »

Well I guess I'll ask question one...

Is there a specific way to create the preset (*.set) files? I tried standard, and unicode text with no luck.

This for example didn't work for me. I had all cases matched exactly.

Code: Select all

Memento Mori
-width
320
-height
240
-music
-iwad
/cd/iwad/doom2.wad
-file
/cd/pwad/D2/MM/MM.WAD
/cd/pwad/D2/MM/MMMUS.WAD
-maponhu
-rotatemap
-forcedemo
-rumble
I could play the mod, but only after adding the files manually to the list.

I also noticed that if there isn't at least one file in the 'deh' and 'pwad' directories, you can't browse to a different location on the disc to look for files.

Although not a PWAD problem, here is the LINK to the above mentioned mod.
ImageImageImageImage
Chilly Willy
DC Developer
DC Developer
Posts: 414
Joined: Thu Aug 20, 2009 11:00 am
Has thanked: 0
Been thanked: 2 times

Re: Doom for Dreamcast troubleshooting thread

Post by Chilly Willy »

Here's the loop that goes through the settings file:

Code: Select all

        for (i = 0 ; i < MAXARGVS; i++)
        {
            char temp[256];
            temp[0] = 0;
            fgets(temp, 255, handle);
            printf(" %d : %s", i, temp);
            if (temp[0] == 0)
                break;
            temp[strlen(temp) - 1] = 0;
            myargv[i] = strdup(temp);
        }
        myargc = i;
It should be plain text, but I'm not sure if fgets() handles Windows line endings. If you currently use Windows line endings, try switching to *nix line endings (just a LF).

When you load the preset file, does it seem to print the entries okay?

The directories iwad, pwad, and deh are all required as they are the default paths the program looks in when you load files. However, not having anything in the directory shouldn't have a problem... I'll look into that.

EDIT: I fixed the issue with the file requester - if you passed a directory that was empty, it just returned as if you selected nothing; it now prints the directory is empty and waits for you to navigate up (Y button) or to exit (B button).

I also fixed it so you can see the text when loading a settings or preset file... it was blank in the old code because I forgot the conditions under which my printf worked.

I didn't do anything with the preset file setting because I don't see a problem. Memento Mori works fine loaded as a preset file, which is included in the beta below.

So here's a beta for 1.5 for folks to test: http://www.mediafire.com/download.php?bbqdbua714d881i
Stryfe
Psychotic DCEmu
Psychotic DCEmu
Posts: 577
Joined: Mon Aug 11, 2008 9:34 am
Location: Nowhere U.S.A.
Has thanked: 0
Been thanked: 0

Re: Doom for Dreamcast troubleshooting thread

Post by Stryfe »

If you currently use Windows line endings, try switching to *nix line endings (just a LF).
I almost forgot your primary OS isn't Windows...

Yeah. After rebooting into Linux, I saved the preset files with LF (didn't test CR/LF), and they worked. I do all my emulation, gaming, and doom editing in Windows. Is there any way for Windows only users to save the preset files in the correct format?
I fixed the issue with the file requester...

...

I also fixed it so you can see the text when loading a settings or preset file... it was blank in the old code because I forgot the conditions under which my printf worked.
All I had to do was go the the "file" option to see if the preset loaded, but thanks for the revision. 8-)

Questions:

I'm not sure if this a bug, or if it simply wasn't implemented.

There doesn't seem to be support for these DeHacked features (what I found so far):
- Item pickup string replacement
- Automap level name string replacement

A simple example would be the Vilecore mod for Doom 2, which uses a dehacked just for the auto-map level renames. Another example would be Chex(R) Quest, with the dehacked file. Neither one displays the auto-map level names, and Chex Quest doesn't show the correct item pickup names.

Speaking of Chex(R) Quest, would it be possible to have support added for it to be recognized as an iwad? Maybe even long string/cheat support (like the original chex.exe), for the dehacked file to work even better?

Crashes:

So far, I found some pwads that crash, but this was the only default vanilla one (not vanillafied by me):
- Batman (Doom2), crashes at main menu after selecting an option. If started without the dehacked file, it will load to the first level, but then promptly crash.

After running it through NullDC, I noticed this on loading the pwad. I also noticed this on other pwads, but they didn't all crash.

Code: Select all

libWildMidi(WildMidi_MasterVolume:3764): ERROR Invalid argument (master volume out of range, range is 0-127)
ImageImageImageImage
Chilly Willy
DC Developer
DC Developer
Posts: 414
Joined: Thu Aug 20, 2009 11:00 am
Has thanked: 0
Been thanked: 2 times

Re: Doom for Dreamcast troubleshooting thread

Post by Chilly Willy »

Stryfe wrote:
If you currently use Windows line endings, try switching to *nix line endings (just a LF).
I almost forgot your primary OS isn't Windows...

Yeah. After rebooting into Linux, I saved the preset files with LF (didn't test CR/LF), and they worked. I do all my emulation, gaming, and doom editing in Windows. Is there any way for Windows only users to save the preset files in the correct format?
Any good editor should allow changing the line endings between Windows, *nix, and MacOS. Something simply like notepad on Windows probably doesn't, but I'd be surprised if something like Programmers Toolbox didn't. Any decent programming editor should handle it. Geany does (which is what I do all my editing in).

However, I should probably try to fix the issue with Windows line endings - it probably acts like a double-space to fgets(), so it thinks there's a blank like between parameters.
I fixed the issue with the file requester...

...

I also fixed it so you can see the text when loading a settings or preset file... it was blank in the old code because I forgot the conditions under which my printf worked.
All I had to do was go the the "file" option to see if the preset loaded, but thanks for the revision. 8-)
If you load a preset with Windows line endings, is there a space between each line when it shows the parameters?

There doesn't seem to be support for these DeHacked features (what I found so far):
- Item pickup string replacement
- Automap level name string replacement

A simple example would be the Vilecore mod for Doom 2, which uses a dehacked just for the auto-map level renames. Another example would be Chex(R) Quest, with the dehacked file. Neither one displays the auto-map level names, and Chex Quest doesn't show the correct item pickup names.
The dehacked support in the code base it currently uses is pretty old, so those aren't supported. It's one reason I want to update the code used as the base for the next (major) revision of Doom for Dreamcast.

Speaking of Chex(R) Quest, would it be possible to have support added for it to be recognized as an iwad? Maybe even long string/cheat support (like the original chex.exe), for the dehacked file to work even better?
Adding support for Chex as an iwad should be easy enough. I think the rest should wait until I change the base code.
So far, I found some pwads that crash, but this was the only default vanilla one (not vanillafied by me):
- Batman (Doom2), crashes at main menu after selecting an option. If started without the dehacked file, it will load to the first level, but then promptly crash.

After running it through NullDC, I noticed this on loading the pwad. I also noticed this on other pwads, but they didn't all crash.

Code: Select all

libWildMidi(WildMidi_MasterVolume:3764): ERROR Invalid argument (master volume out of range, range is 0-127)
Again, this might be better waiting until I change the code base. The current base is rather old. It doesn't support a lot of things people would like, particularly Boom features/files.
Stryfe
Psychotic DCEmu
Psychotic DCEmu
Posts: 577
Joined: Mon Aug 11, 2008 9:34 am
Location: Nowhere U.S.A.
Has thanked: 0
Been thanked: 0

Re: Doom for Dreamcast troubleshooting thread

Post by Stryfe »

Chilly Willy wrote:Any decent programming editor should handle it. Geany does (which is what I do all my editing in).
I personally use leafpad in Linux, but I found something for Windows. I haven't used it in years, but metapad as a notepad replacement works like a charm.
Chilly Willy wrote: If you load a preset with Windows line endings, is there a space between each line when it shows the parameters?
They don't show at all. It completely ignores the file, and nothing gets loaded.

Chilly Willy wrote:The dehacked support in the code base it currently uses is pretty old, so those aren't supported. It's one reason I want to update the code used as the base for the next (major) revision of Doom for Dreamcast.
Okay, I see.
Chilly Willy wrote:Adding support for Chex as an iwad should be easy enough. I think the rest should wait until I change the base code.
Cool. I guess I'll just have to be patient, and wait for a newer release then. :|
ImageImageImageImage
Chilly Willy
DC Developer
DC Developer
Posts: 414
Joined: Thu Aug 20, 2009 11:00 am
Has thanked: 0
Been thanked: 2 times

Re: Doom for Dreamcast troubleshooting thread

Post by Chilly Willy »

Stryfe wrote:
Chilly Willy wrote:Any decent programming editor should handle it. Geany does (which is what I do all my editing in).
I personally use leafpad in Linux, but I found something for Windows. I haven't used it in years, but metapad as a notepad replacement works like a charm.
That does look like a nice text editor.

Chilly Willy wrote: If you load a preset with Windows line endings, is there a space between each line when it shows the parameters?
They don't show at all. It completely ignores the file, and nothing gets loaded.
On the 1.5 beta 1? You should at least see some statement about loading the file and being done. The 1.4 and older never shows anything, even when it works.
Stryfe
Psychotic DCEmu
Psychotic DCEmu
Posts: 577
Joined: Mon Aug 11, 2008 9:34 am
Location: Nowhere U.S.A.
Has thanked: 0
Been thanked: 0

Re: Doom for Dreamcast troubleshooting thread

Post by Stryfe »

I retested with the new beta. And yes, it shows the parameters onscreen for 2-3 seconds. It displays both *nix LF, and DOS CR/LF, text documents.

Only the Unix LF works though. Even though unsuccessful, the only difference I can see is the Windows line ending preset also displays "attempting to load settings".

-EDIT-
Chilly Willy wrote:The dehacked support in the code base it currently uses is pretty old, so those aren't supported. It's one reason I want to update the code used as the base for the next (major) revision of Doom for Dreamcast.
I saw this comment in the source. Is it yours?

Code: Select all

  // it is hard to change all the text in doom
  // here i implement only vital things
  // yes text change somes tables like music, sound and sprite name
I guess I don't have to do any more testing on which dehacked features will work in this version.

I tested out the episode texts, and indeed they aren't supported (too long of a string probably). But... even NxDoom suffers from that particular issue, without resorting to bex strings.
ImageImageImageImage
Post Reply