DCEmulation

The Dreamcast Homebrew Community Online
Back to main site
It is currently Wed Apr 16, 2014 12:13 am

All times are UTC - 8 hours [ DST ]




Post new topic Reply to topic  [ 8 posts ] 
Author Message
PostPosted: Sat Apr 23, 2011 8:52 am 
Offline
Psychotic DCEmu
Psychotic DCEmu

Joined: Mon Aug 11, 2008 7:34 am
Posts: 577
Location: Nowhere U.S.A.
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.

_________________
ImageImageImageImage


Last edited by Stryfe on Sat Apr 23, 2011 9:02 am, edited 1 time in total.

Top
 Profile  
 
PostPosted: Sat Apr 23, 2011 8:59 am 
Offline
Psychotic DCEmu
Psychotic DCEmu

Joined: Mon Aug 11, 2008 7:34 am
Posts: 577
Location: Nowhere U.S.A.
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:
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


Top
 Profile  
 
PostPosted: Sat Apr 23, 2011 4:01 pm 
Offline
DC Developer
DC Developer

Joined: Thu Aug 20, 2009 9:00 am
Posts: 316
Here's the loop that goes through the settings file:

Code:
        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


Top
 Profile  
 
PostPosted: Sun Apr 24, 2011 7:49 am 
Offline
Psychotic DCEmu
Psychotic DCEmu

Joined: Mon Aug 11, 2008 7:34 am
Posts: 577
Location: Nowhere U.S.A.
Quote:
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?

Quote:
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:
libWildMidi(WildMidi_MasterVolume:3764): ERROR Invalid argument (master volume out of range, range is 0-127)

_________________
ImageImageImageImage


Top
 Profile  
 
PostPosted: Sun Apr 24, 2011 12:52 pm 
Offline
DC Developer
DC Developer

Joined: Thu Aug 20, 2009 9:00 am
Posts: 316
Stryfe wrote:
Quote:
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.

Quote:
Quote:
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?


Quote:
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.


Quote:
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.

Quote:
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:
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.


Top
 Profile  
 
PostPosted: Mon Apr 25, 2011 5:39 am 
Offline
Psychotic DCEmu
Psychotic DCEmu

Joined: Mon Aug 11, 2008 7:34 am
Posts: 577
Location: Nowhere U.S.A.
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


Top
 Profile  
 
PostPosted: Mon Apr 25, 2011 12:21 pm 
Offline
DC Developer
DC Developer

Joined: Thu Aug 20, 2009 9:00 am
Posts: 316
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.


Quote:
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.


Top
 Profile  
 
PostPosted: Tue Apr 26, 2011 4:43 am 
Offline
Psychotic DCEmu
Psychotic DCEmu

Joined: Mon Aug 11, 2008 7:34 am
Posts: 577
Location: Nowhere U.S.A.
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:
  // 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


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 8 posts ] 

All times are UTC - 8 hours [ DST ]


Who is online

Users browsing this forum: No registered users and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group