Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
Mr.TF

Doom Demo Browser [v2.0b2]

Recommended Posts

[UPDATED] 2009.02.01 --> v2.0b2
[UPDATED] 2008.11.04 --> v2.0b1

Newest version:
http://www.flamich.com/tamas/Pages/DownloadFile.aspx?file=doomdemobrowser_2.0b2.0.0.zip

Requirement: Microsoft .NET Framework 2.0 or newer
http://www.microsoft.com/downloads/details.aspx?FamilyID=0856EACB-4362-4B0D-8EDD-AAB15C5E04F5&displaylang=en

New features since 2.xx:

(1) User can customize the database schema

You can add any Wad to the browsing GUI, as you can modify "DatabaseSchema.xml" easily (you only need a little XML knowledge). If you have any question about this, feel free to ask.


(2) Demo analysis, LMPC is no longer needed

I got myself into the source of LMPC, and implemented my own OO version, so the analysis has become much faster and more stable.


(3) Pack extraction, WinRAR is no longer needed

Found a free GPL source code, what has also sped up the browsing :).


(4) Playback modes

You can register different ports for playback, so problematic demos can be played easily.


(5) More dymamic GUI

You are able to resize almost everything :).

Share this post


Link to post

Why not ally this with autoloading? Then your application would need to do a whole lot less work, and could be used to view demos from other sources, and cope with pwad and /incoming demos easily.

It would also mean that Final Doom demos would be handled fine. I haven't tested via your application, but I assume you're aware that about 30% of Final Doom demos desync if loaded the "wrong" way.

The effective command-line your application would need to execute in each case would just be "prboom-plus DEMONAME -auto" (or "glboom-plus DEMONAME -auto").

Share this post


Link to post

I didn't have any sync problem yet and pwad demos was also working, but I find your way better and easier, so I will work on it.

My idea for other sources:
If you drag&drop zip packs on the window, the program will try to group it into the correct folder. Of course this will need a confirmation by the user (f.e. speed and max demos can't be distinguish).

Share this post


Link to post

Grazza means to have the browsing program use autoloading.

The problem with autoloading is that it horribly bloats the CFG file. It would be much better if it had its own configuration file. It's one of the various things Prboom/+ needs to straighten out to be user friendly.

Share this post


Link to post

I get Unhandled Exception errors with 99% CPU usage. Checked the .NET version - mine is v2.0. Downloaded v3.5, it won't install on Win2000, needs XP or later. What a POS.

Share this post


Link to post
myk said:

The problem with autoloading is that it horribly bloats the CFG file. It would be much better if it had its own configuration file.

I don't see a 204kb text file as an issue, but it would be easier (i.e. saving half a minute's fiddling in Notepad) if the user just needed to put the patterns.txt in the same directory as the exe (for instance).

It would also be feasible for a program such as Mr.TF's to use the info in patterns.txt directly, rather than going via prboom-plus. Of course, it would need its own code to read the RegExps and load the wads accordingly.

Share this post


Link to post
Never_Again said:

I get Unhandled Exception errors with 99% CPU usage. Checked the .NET version - mine is v2.0. Downloaded v3.5, it won't install on Win2000, needs XP or later. What a POS.


Try to download again, now it is compatible with .NET 2.0.

Share this post


Link to post

Still no joy. On startup I get this



and the app won't start until you delete its registry key. Not too crazy about its registry use; why not use an INI instead?

After deleting the registry key, I get this:



Choosing Continue keeps the program running; however, nothing is displayed where text file should be, and every change of selection (map, category), brings this exception error up again. After closing and restarting, the first error pops up again and the program won't start.

Clicking on Details gives this:

See the end of this message for details on invoking 
just-in-time (JIT) debugging instead of this dialog box.

************** Exception Text **************
System.InvalidOperationException: Cannot start process because a file name has not been provided.
   at System.Diagnostics.Process.Start()
   at System.Diagnostics.Process.Start(ProcessStartInfo startInfo)
   at System.Diagnostics.Process.Start(String fileName, String arguments)
   at DoomDemoBrowser.frmBrowser.lstPacks_SelectedIndexChanged(Object sender, EventArgs e)
   at System.Windows.Forms.ListControl.OnSelectedValueChanged(EventArgs e)
   at System.Windows.Forms.ListBox.OnSelectedValueChanged(EventArgs e)
   at System.Windows.Forms.ListBox.OnSelectedIndexChanged(EventArgs e)
   at System.Windows.Forms.ListBox.set_SelectedIndex(Int32 value)
   at DoomDemoBrowser.frmBrowser.ListPacks()
   at DoomDemoBrowser.frmBrowser.DemoFilterChanged(Object sender, EventArgs e)
   at System.Windows.Forms.ComboBox.OnSelectedIndexChanged(EventArgs e)
   at System.Windows.Forms.ComboBox.WmReflectCommand(Message& m)
   at System.Windows.Forms.ComboBox.WndProc(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)


************** Loaded Assemblies **************
mscorlib
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.42 (RTM.050727-4200)
    CodeBase: file:///D:/WINNT/Microsoft.NET/Framework/v2.0.50727/mscorlib.dll
----------------------------------------
DoomDemoBrowser
    Assembly Version: 1.0.0.0
    Win32 Version: 1.0.0.0
    CodeBase: file:///C:/Doom/PORTS/cdb.exe
----------------------------------------
System.Windows.Forms
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.42 (RTM.050727-4200)
    CodeBase: file:///D:/WINNT/assembly/GAC_MSIL/System.Windows.Forms/2.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
----------------------------------------
System
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.42 (RTM.050727-4200)
    CodeBase: file:///D:/WINNT/assembly/GAC_MSIL/System/2.0.0.0__b77a5c561934e089/System.dll
----------------------------------------
System.Drawing
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.42 (RTM.050727-4200)
    CodeBase: file:///D:/WINNT/assembly/GAC_MSIL/System.Drawing/2.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
----------------------------------------

************** JIT Debugging **************
To enable just-in-time (JIT) debugging, the .config file for this
application or computer (machine.config) must have the
jitDebugging value set in the system.windows.forms section.
The application must also be compiled with debugging
enabled.

For example:

<configuration>
    <system.windows.forms jitDebugging="true" />
</configuration>

When JIT debugging is enabled, any unhandled exception
will be sent to the JIT debugger registered on the computer
rather than be handled by this dialog box.
Win2000+SP4, .NET 2.0, WinRAR 3.41.

Share this post


Link to post

Ok, this is my fault, it gets the path of the associated extractor app from the registry (CLASSES_ROOT). It was working well on my winXP, but seems not on win2000.

I am going to fix it tomorrow: you will have to set the path of WinRar manually.

Share this post


Link to post

A few ideas for improvement of the program.

1) Remember the WAD, Level, Game Mode, Category and Demo view; so that next time you run the program, you see the same demo.
2) Fixed-point font (like Courier, FixedSys or Terminal) for the text window, so that the text is formatted correctly.
3) Support for FDGM and FDNM demopaks. They are included in the database, but don't follow the standard filename conventions. They have the following filenames:
PLxx-GM
PLxx-NM
TNTxx-GM
EVxx-NM
4) Display of the demo file Last Modified date. Perhaps this could be incorporated into the TXT window or into the Info tab? E.g.

 | Info (8-1-1998) | 
 -------------------
 | Text window
Would be handy for creating a timeline of demos on a particular level.

5) "Demo analyse" should be "Demo analysis"
6) Support for other demo analysis tools, like LMPutil would be nice

Lastly, the demo analysis works as expected on Win2000, but doesn't under Win98. I see that the program creates a /temp subdirectory under its own directory, where it copies extracted demo, TXT and LMPC.exe.
I have the following settings:
- CDB.exe in C:\DOOM\PORTS
- prBoom+ in C:\DOOM\PORTS\e6y
- LMPC in C:\DOOM\TEQ

For some reason, when I go to the demo analysis tab, I get this error:
Cannot find the file C:\DOOM\PORTS\temp\lmpc.exe
Make sure that the file exists on your system and the path and filename are correct.
I go to the settings, the LMPC box has C:\DOOM\TEQ\LMPC.EXE in it, just like I set it up.
If I change the LMPC settings to C:\DOOM\PORTS\temp\lmpc.exe, then the error goes away, but the demo analysis tab reads LMPC not installed.

Edit:
7) Selecting TNT NM Speed shows no entries for any level.

Share this post


Link to post

Stupid question but how i download the WHOLE Complet-N database ?

Share this post


Link to post

I have some problems with this program. First, I could get it to show the demos, but no txt files and when I tried to run it it didn't work. Now I downloaded the newest version and it won't run at all (it tries to find a temp directory)

Share this post


Link to post

This is what I got in the details section:

See the end of this message for details on invoking
just-in-time (JIT) debugging instead of this dialog box.

************** Exception Text **************
System.IO.DirectoryNotFoundException: Could not find a part of the path 'C:\temp'.
at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
at System.IO.Directory.InternalGetFileDirectoryNames(String path, String userPathOriginal, String searchPattern, Boolean includeFiles, Boolean includeDirs, SearchOption searchOption)
at System.IO.Directory.GetFiles(String path, String searchPattern, SearchOption searchOption)
at DoomDemoBrowser.frmBrowser.tmrExtractTimeout_Tick(Object sender, EventArgs e)
at System.Windows.Forms.Timer.OnTick(EventArgs e)
at System.Windows.Forms.Timer.TimerNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)


************** Loaded Assemblies **************
mscorlib
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.1433 (REDBITS.050727-1400)
CodeBase: file:///C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/mscorlib.dll
----------------------------------------
DoomDemoBrowser
Assembly Version: 1.12.30.110
Win32 Version: 1.12.30.110
CodeBase: file:///C:/cdb.exe
----------------------------------------
System.Windows.Forms
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.1433 (REDBITS.050727-1400)
CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Windows.Forms/2.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
----------------------------------------
System
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.1433 (REDBITS.050727-1400)
CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System/2.0.0.0__b77a5c561934e089/System.dll
----------------------------------------
System.Drawing
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.1433 (REDBITS.050727-1400)
CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Drawing/2.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
----------------------------------------

************** JIT Debugging **************
To enable just-in-time (JIT) debugging, the .config file for this
application or computer (machine.config) must have the
jitDebugging value set in the system.windows.forms section.
The application must also be compiled with debugging
enabled.

For example:

<configuration>
<system.windows.forms jitDebugging="true" />
</configuration>

When JIT debugging is enabled, any unhandled exception
will be sent to the JIT debugger registered on the computer
rather than be handled by this dialog box.

Share this post


Link to post

UPDATE

Xit, i don't think it will solve the problem, because the error, you mentioned has never occured on my computer :S. But try the new version out.

Share this post


Link to post
Gingercat said:

Maybe it's just me, but this link doesn't work for me:
ftp://competn.doom2.net:8002/pub/compet-n/

In fact, doom2.net doesn't come up for me in general, never has; is it still active?


Doom2.net is down rarely, but now it is not. The ftp link is also working for me. I don't know what can cause the problem at you.

Share this post


Link to post

Gingercat said:
In fact, doom2.net doesn't come up for me in general, never has; is it still active?

Try a proxy (for example this), because some IPs are blocked on the Doom2.net server, due to abuse of some sort.

Share this post


Link to post
Mr.TF said:

Doom2.net is down rarely, but now it is not. The ftp link is also working for me. I don't know what can cause the problem at you.


Well something is wrong because it has been down for me for days!

Edit: Should have see Myk's response above. Yes using that anonymous proxy did work. Odd that they would block the IP's from Australia's largest ISP though.

Share this post


Link to post

Well, I was thinking that this program would be useless...
Now I tried it, and it is really, really, really nice. I won't use anything else.

Share this post


Link to post

Something weird : e4cn0857 desynchs when using your program. With the same glboomplus but without your program, the demo works.
EDIT : forgot to say that it desynchs on e4m4, right at the beginning.

BTW, what is the -auto command for? When I tick this box, it launchs e4cn0857 with doom2.wad...

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×