A Doom equivalent to Quake Injector

Updated the Assistant to version 0.8.3 BETA.

Get it here: http://mtrop.net/downloads/hosted/idgames-assistant-0.8.3-beta.zip

Changes:

  • Changed: Analyzer no longer cancels outright if it finds what it presumes to be unplayable.
  • Changed: No more looping through checking if the configuration is incorrect on launch.
  • Fixed: Open Location didn't work with relative paths. Now it does.
  • Fixed: Last file opened is now remembered in file choosers, even after close.
EDIT: Fixed typo that I just noticed now.

Share this post


Link to post

I've noticed that there are some files on idGames that have text files with weird control characters in them that are causing problems with dumping to XML. They are mostly older files, so it isn't that terrible, but they do exist and I need some sample sets in order to figure out how to handle them.

So, if any of you guys find files that give you an error message like "not XML or malformed XML," tell me so that I can fix it.

Share this post


Link to post

I'd start with this and see if it covers everything.

string.replaceAll("[\u0000-\u001f]", "");

Share this post


Link to post

I'd rather it be done on the web side. The problem is that the API can generate bad XML, not that the client is misinterpreting it.

The problem is that newlines need to be preserved in CDATA fields and I might have to just filter out a small range of characters, not the whole lower range.

EDIT: Fixed it. I just filtered out the control characters before I put the data into XML fields except for carriage return and line feed. Everything should be fine, now.

Share this post


Link to post

Updated the Assistant to version 0.8.4 BETA.

Get it here: http://mtrop.net/downloads/hosted/idgames-assistant-0.8.4-beta.zip

Changes:

  • Game detection is now more accurate, opting for a "heat map" or "closest match" type of identification rather than a straight-up "it must be this" type of detection.
  • Changed code in Port guessing algorithm that kept calling the game guessing algorithm. This should make things a lot quicker.
Just wondering - should I make this a separate thread so that discussion could be moved there?

Share this post


Link to post

It may be more practical if you plan to add changelogs and latest versions to the OP.

Share this post


Link to post

Sounds like a lot of work. How are you handling non-standard text files? How are you handling non-standard storage in the ZIP?

So far I've been using Doomworld's own random file selector, or dumping /idgames to my hard-drive, if I wanted to go alphabetically.

So what is this application useful for? Being able to read the text files without having to click on links and change the browser page? Doing the downloads and unzipping them for you?

Share this post


Link to post
printz said:

How are you handling non-standard text files? How are you handling non-standard storage in the ZIP?


I don't handle the text files. That's handled implicitly by idGames. I just read the metadata from the API that I put up in mid-April, because the file's TXT is already parsed at that point.

If you what you mean by "non-standard storage" is folder structure inside the ZIP, it's irrelevant if WADs and Dehacked patches can still be found. They are unzipped to a temporary directory during Doom's execution, and the unzipped contents are cleaned up after it is done running (but not the ZIPs, should you want to run it again and not re-download).

So far I've been using Doomworld's own random file selector, or dumping /idgames to my hard-drive, if I wanted to go alphabetically.


If you've already downloaded all of idGames to a local system, then this wouldn't be as useful, but why bother with the dump if you aren't going to play it all? Why keep or download the crap WADs? And you have to keep your local copy up to date if you want to play the Newstuff, whereas with this, you just go to the page, click, and run.

So what is this application useful for? Being able to read the text files without having to click on links and change the browser page? Doing the downloads and unzipping them for you?


The latter, plus figuring out what game and port to use for the WAD files contained inside the WAD/PK3, and it doesn't use TXT content at all for this type of detection. It will also include Dehacked patches in case they are loose in ZIP and not embedded in the WAD. No command-line, no mess, no problem. Just click and run. You could download and run Batman Doom without caring about its installation, because the ZIP contains the assets and the patch (you might need to force it to use Boom, because it will detect Doom 2 as the port - nothing Boom-required is in Batman Doom).

Granted, it's geared way more towards single-player than multiplayer. You're better off using something different for setting up multiplayer games. ...At least at the moment.

Share this post


Link to post

This would be a nice thing to see but I personally prefer looking through the archives.
I think it would be a nice addition.

Share this post


Link to post

I just read the forum properly, sorry.
It is great to see a beta :)

Share this post


Link to post

I had a look at this last night, seems pretty awesome. :)

It would be really win if these idgames protocol links appeared in the actual /newstuff reviews.

For example...

Doom: RV-007's Doom 1 and 2 Animilation Players Scaled v16 - RV-007
Doom/Doom 2 - GZDoom - N/A - 17304232 bytes - - (img)
Reviewed by: The Green Herring
This is a set of high-resolution player skins consisting of five anime girls created using a pornographic PC game, as the author's strange warning about "adulterated content" indicates. Whether or not the author knows that people usually call it "adult content," or, God forbid, "pornography," is a topic for another time. It also goes without saying that admitting that said content "might thread towards pedophilia" is not the best way to endear yourself to your audience.


Or something similar.

Share this post


Link to post

I've been playing with the /idgames API in a project (http://imgur.com/F306h), and I noticed that requesting http://www.doomworld.com/idgames/api/api.php?action=latestfiles&limit=10 returns a bunch of <vote> sections inside <content>, even through you'd expect it to return <file> sections (like the API docs at http://www.doomworld.com/idgames/api/ state). Is this a bug or a "feature"?

Also woo, thread necro-ing.

Share this post


Link to post

Whoops! You're right!

Hang on, gotta fix...

EDIT: I've sent the fix to Bloodshedder. He'll apply it soon.

Share this post


Link to post

Awesome, thank you! That simplifies my code a bit.

Share this post


Link to post

Maybe this would be a good time to finally add search support to the API.

Comments?

Share this post


Link to post

I assumed there was no search support because of server load reasons.

How I would expect it to work would be to send a request with action=search&search=Community%20Chest&limit=10&type=filename where type could be replaced with one of the other search types now exposed through the /idgames webpage (like author, credits, full textfile). Then it returns a regular response with matching <file>s inside the <contents> section. Sorting could be done clientside.

A more generic search type would be nice too, because having to specify what type of database columns to search is not common from an end-user's point of view.

Another feature might be integration with /newstuff reviews (from the past and present), somehow. Adding the screenshots and using the /newstuff review text as a "primary" review or something to that effect. But thats probably a much bigger chunk of work.

Share this post


Link to post

The Newstuff parts would be the really hard part. Other than forum posts and hyperlinks, there is nothing that links those files to the Newstuff Chronicles that I know of, and would require deeper inspection to attempt to match them. There would have to be a table that links the two to speed up the search, but then each review is just a chunk of text in a larger entry, so it would still need to be scanned. It would require a bit of an overhaul to get that to work efficiently.

The generic search is very doable, however. It just needs to perform well.

Share this post


Link to post

just one question, when i open the idgames-protocol.exe it give me only the possibility to directly input an idgame file id... it is supposed to do so? i have to insert a command line or something to activate some other funcions?

Share this post


Link to post
Cacowad said:

just one question, when i open the idgames-protocol.exe it give me only the possibility to directly input an idgame file id... it is supposed to do so? i have to insert a command line or something to activate some other funcions?


It will ask you for an id if no URL or id was provided as a parameter.

That EXE is for associating with "idgames" protocol URLs. Run idgames-registry.exe to add support for those links. It will create a REG file that it will attempt to merge into the Windows Registry. A UAC window should pop-up telling you that it will want to elevate privileges in order to do this.

There are other ways to associate idgames URLs via your Internet browser, but this ensures that it works at the OS level. Read the readme file for more details about the rest of the EXEs.

Share this post


Link to post

well, i readed them when i downloaded it, i have done everything was needed to do, but i moved the files in c:\doom\wadfinder , maybe is this the problem? i'm running a windows xp edition, so it asked me only if i wanted to do so, nothing else. there is a way to undone the merge and redo it all or to do it in another way at the os level?

Share this post


Link to post

If you move the program after you ran idgames-registry, then it won't work. Move the idGames Assistant to the directory that you want it to be, then run idgames-registry again. It sets the path to idgames-protocol based on the directory that idgames-registry.exe is in.

Share this post


Link to post

sorry to bother you again, i have done everything you said, but still don't run, i have downloaded the latest version avabile and this is the content of temp.reg found in
C:\Documents and Settings\Administrator\Dati applicazioni\idGames\temp

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\idgames]
"URL Protocol"=""
@="URL:idGames Protocol"

[HKEY_CLASSES_ROOT\idgames\DefaultIcon]
@="idgames-protocol.exe,1"

[HKEY_CLASSES_ROOT\idgames\shell]

[HKEY_CLASSES_ROOT\idgames\shell\open]

[HKEY_CLASSES_ROOT\idgames\shell\open\command]
@=""C:\\Doom\\wadfinder\\idgames-protocol.exe" %1"
 
i don't understand why it does not work properly...

ah another thing i noticed, this program prevent the use of the iwad(s) it use from being used by another application (doombuilder 2 and xwe this time), i had to copy my doom2.wad in another dyrectory to make them work again.

Share this post


Link to post

Did you check the registry to see if those keys were actually added? Windows XP may have some protection measure in place that may keep other programs from merging keys into the registry.

Also, does anybody know if this is the correct series of keys for Windows XP association with protocols? Does the first line need to be changed in the REG file? Does a computer restart need to occur?

I also don't remember if it exclusively opens files for writing, especially the IWAD, which would block its use in other programs. There might be a handle that it isn't closing, or Windows XP may be more strict in file locking policy. I'll have to look into it.

Share this post


Link to post

ok, i have checked the registry and all the data was added correctly, i have also checked the microsoft support page and i apparently found no error... i'm little confused... well i still have to go on the idarchive pages but it is still a good tool.

Share this post


Link to post

Massive necro but I figured it's better than making a new topic, has any more progress been made in a Quake Injector clone for Doom? I sure do love Quake Injector and would love to see it in Doom or other classic FPS.

Share this post


Link to post

You could try Doom Launcher. I haven't used it, but "Direct download and metadata update from /idgames (through API)" seems to be the closest thing we've got to Quake Injector.

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