News | Forum | People | FAQ | Links | Register | Log in
Quake Injector Alpha2
A new version of:
The Quake Injector is a tool to download, install and play Quake singleplayer maps from the Quaddicted.com archive. Ever been annoyed by an excruciating installation process? Could not figure out how to install a certain map? Well, this tool makes it a piece of cake. Simply pick the map and click Install.

-Scan your Quake directory for already existing maps -and mods
-More stable and safe, less bugs
-Icon by the graphical genius Starbuck
-Rating is shown with golden stars
-Progressbars for anything downloading
-Better engine config dialog
-Window that shows you the engine output
-Links open in browser
-Downloads are stored locally
-Uses a custom user-agent when downloading
-Conflict handling

Screenshot: http://www.quaddicted.com/wp-conte...
Homepage: http://haukerehfeld.de/projects/qu...
Download: http://haukerehfeld.de/projects/qu...
Quaddicted Spam: http://www.quaddicted.com/quake-in...
Thank you for your great work, fine gentlemen.
i can't use it. :S

i'm on windows 7, and when i select the quake directory, it says "Cannot be written to!" which i'm assuming is a permissions thing.

this usually isn't a problem but because this is a .jar file and not an executable, i don't get any tabs in the file properties to run as administrator, not does that option appear in the right click menu.

you'll have to fix permissions or find a work around i suppose.

too bad, actually. i'm a lazy bum when it comes to downloading maps and i was looking forward to trying this out.
Patman++
Quake Injector = Patman++
necros always log (W7)as administrator :)that way always work!
Yeah
my account is the administrator, but w7 isn't as simple as that. the programs themselves have certain permissions which they can't break unless specified by the user.
this is usually done by selecting 'Run as Administrator' from the right click menu. unfortunately, you can't do that with a .jar file because it's not an executable itself, because it has to run through java before it actually executes. (or at least, that's as much as i understand about that whole java thing)
maybe there's a way to get java to run with administration privileges for only that specific .jar file, but i don't know it. :(
Append
i guess this might be more a java thing actually? i never had problems with the 3 vb programs i've made and 2 of them were before i was working with windows 7. (the doom3 gui editor and the doom3 .ase material replacer) and i didn't do anything special to write files with the quake compiler. maybe java has even more safety measures?
Great Tool!
I always wanted to give this tool a try, the post of alpha2 here reminded me to finally do that!

I love this thing, it is just what I needed and there's so many maps to play (especially for me since I'm a Quake 1 noob)!

@necros: I don't run Windows Vista or 7 but you could try to create a shortcut to your Java executable instead and edit the command line to something like "path\to\java.exe -jar \path\to\quakeinjector.jar". Then run that as Admin.
Crap
that actually did work and gave me the option to elevate the shortcut, but it still says "Cannot be written to!". there must be more to it than i thought.
Cheers
Couple of questions!

Does it always download the package list from somewhere when you start Quake Injector, or is the list cached locally?

What's the process for getting new releases onto the list? Are you toiling away as the lone list maintainer or is there a way for others to help update?
It always downloads the database from Quaddicted (about 100 Kilobytes I think). Not sure if it caches the file locally but you can download it manually and use it offline that way (I have to write a guide).

Currently I have to add new things. And I am terrible at it. Making it easier for others to help will be a summer project.
W7/Vista Problems
We had problems on Vista like that before, but I don't have a Vista machine, so I can't check myself. I recently got a W7 Starter machine though...

That check is a simple File.canWrite() (or something similar) check to the java api. Either I'm doing something stupid, the api is doing something weird, or Vista/W7 is fucked.

On my W7 laptop (where I disabled that weird service that controls file access), I can select my home dir fine, but NOT the Desktop (cannot be written to). What path do you try to set as Quake dir?

Johnny Law: Yeah, atm it's always downloading the list, caching is a planned feature.
And yeah, Spirit's the only one with access to the list, but we've been talking about this. A submission page for map authors would be nice. The problem is that some authority needs to double-check the files, because there could be malicious files in the zips.
Submission Page?
Not really worth the effort for the small number of new releases each year. Just stop slothing away all the time, Spirit! >:)
Megaman
The JavaDoc says that File#canWrite() "Tests whether the application can modify the file denoted by this abstract pathname."

Since you're trying this on a directory, I think that the behavior may simply be nondeterministic because it is not specified.

http://download.oracle.com/docs/cd...
Nah
Read a bit more, it seems to be ok to call canWrite on a directory, but it seems to have problems in Windows with NTFS ACLs and stuff. Maybe you can work around that shit by just trying to create a file in the Quake dir and catch any exceptions if it fails.
Actually
yeah, maybe that check is stupid. But then, it's perfectly plausible (and important?) to do it on unix.

http://www.google.de/search?num=10...

Although that first bug has fix-delivered status?!
Nice...
the fact that it plays nicely with an existing maps directory makes this something i will now use constantly.

Some notes:

- console output might be nice as a panel on the main window rather than a modal dialog?

- i launched "rubicon" and it went straight to the main map; mods that contain a start map should load the start map instead.

- instead of user specifying "rogue" and "hipnotic" packs, could you detect them automatically?
Oh..
found a bug... it did not detect that i had chaos.bsp already installed.

BUT... i realized now, this is actually becuase i have version 1.1 installed and the quaddicted file is the original release.

So it's not a bug, it handled the file mismatch pretty gracefully i think (asked me if i wanted to overwrite those files)
necros if isn't w7 administrator is the windows firewall... for me no problems at all
Metl
The Rubicon start map issue is actually an issue with the information in the database. rubicon has no start map defined, if it had it would start the start map. Spirit! :D

The Bug: yeah, it's crc checking the files.

rogue/hipnotic: of course, that's a good idea ;-)
Windows 7/Java Problem
You can either set the ACL on your Quake directory to allow writing (use the "Everyone" security principal) or else configure C:\Program Files\Java\jre6\bin\javaw.exe (or C:\Program Files (x86)\Java\jre6\bin\javaw.exe) to use elevation and this should work.
Megaman
That bug was fixed before Vista came out I think, so it may have popped up again. Also, the bug was for a specific directory, maybe that directory still works, but others don't. It seems plausible that File#canCheck() should work for what you want, but since there's a simple workaround (create file, catch exception, finally delete file) I wouldn't waste too much time on this nonsense ;-).
VirtualStore
It's annoying but with Vista (I don't have W7 but it is likely the same) Quake doesn't write files in Program Files\Quake\id1 and such but rather the operating system transparently redirects it to say ... c:\Users\Main\AppData\Local\Virtua... Files\Quake\id1
Baker Vista and W7 dont have nothing to do...

Vista = mister big bug
W7 = almost perfect system
well, i've tried a whole bunch of different ways to get around it but no luck.

quake is in c:\games\quake.
i don't understand why, but ONLY the quake directory has this problem. i can select every other folder without problems. i tried messing around with security permissions for the quake folder, i tried different ways of elevating java when running the jar file and nothing worked.
Do You
have a custom icon / custom folder settings for that dir?
I'll Try To Hotfix Soon, Btw

have a custom icon / custom folder settings for that dir?

not that i know of. my quake folder has migrated from machine to machine over the years though, unlike, say, quake3 which i just reinstall whenever i switch.
That Is Fucking Weird Then
Can you do me a favor and test this some more?

0) see if anything in your quake dir is read only and try disabling read only mode on those files. Check if QI can write to your quake dir now.
1) if it cannot write, copy the complete folder to somewhere else (preferably in the same parent dir) and see if it works on that
2) if not, try moving it somewhere else
3) if it's still not working, try to delete the contents (but only the contents) of the subdirectories in that copy of your quake dir
4) if that still doesn't work, delete everything inside it
5) if it's still not working, try to reset the folder options for that particular folder. I don't know how exactly this works in Win 7, in XP there's view > customize folder in explorer that kinda looks like what I want. Maybe you can figure out how to reset it and try it.


Maybe we can figure out what's causing this. Thanks in advance! (And make sure you're not deleting your actual quake folder!)
Argh
i only recently installed the first QI.. wish i'd waited for this now. completely rebuilt my quake directory from scratch based on it and subsequently renamed many of the bsps & txts that didn't fit neatly in order (OCD habit)

would an installedMaps.xml generated by an earlier version still be compatible with this? so i could bypass the scanning (as it would miss a fair few)
Yep, Most Probably
I can't remember any changes, but then, it has been a while (and lots of commits)
Well...................
my quake folder is 8+ gb so i didn't copy the whole thing, just the root (quake executables) and the id1 folder.

and it works.

so... i just moved all the files in the original quake folder to the new one and it's fine. obviously there's some security setting or something i'm missing because even while empty, the original quake folder still cannot be written to.

now to go play some random quake maps. :)
After Playing A Single Map
initial impression:

-very cool, i'll come back to this again to play more maps.

-since this already connects to the internet and downloads files off of quaddicted, it would be great if we could see user comments as well as leave some ourselves from within the program. obviously, you'd need to enter your username/password into the injector.

-there needs to be like a 'recently downloaded' list so we can keep track of what we've downloaded. say i'm skimming through the list and download 4 maps.
-OR: alternatively, make a new sorting column called 'download date' or somesuch and then we can organize the files by download date.
-OR: keep track of which maps have been played or not in some manner that is visible to the user and let us sort that way (played vs unplayed)

in any case, very cool program. i love gui-fying these kinds of stuff lately.
It Would Be Awesome
if you could find out what happens there, so I can work-around/bug-report/warn in the readme. I'm trying to think of a way you could transfer that folder to me while preserving the windows specific settings... but I can't come up with something. Or we'd need a tool that lists all file/directory properties.
Comments is something I first have to provide an API for at Quaddicted. Definitely something I will do.

Having maps marked as played is one of my wishes too.
We Still Need A Good Concept For That

<>Having maps marked as played is one of my wishes too.</>

I need a market replayed map since I've already play and replayed all :)
hm, just noticed something today... settings are being remembered and it starts up like a fresh install each time.

as for the folder settings, i haven't got a clue. i had both security tabs opened at the same time and compared settings and they were identical.
Necros
check if there's a config.properties file in the directory where you extracted the .jar s to.

if there isn't or it still refuses to work, try this:
1) open a cmd.exe prompt in the injector dir (or navigate there)
2) run 'java -jar quakeinjector.jar'
3) post the output here (right at the beginning it should report reading the config file)

works fine here on the win 7 laptop.
/Inject2_16.png
Reading configuration...class de.haukerehfeld.quakeinjector. Configuration $ZipContentsDatabaseUrl: Setting to null or default
done.
/Inject2_32.png
/Inject2_48.png
/Inject2_256.png
Setting window bounds: 0, 0, 661, 608
Setting Requirements
No Installed packages file (installedMaps.xml), no packages installed?

(added a few spaces to prevent ... conversion)


also of note, when i click 'Apply' in the engine config dialog box, the console outputs:
class de.haukerehfeld.quakeinjector. Configuration $EngineCommandLine: Setting to
null or default
Setting downloadpath: c:\games\quake\downloads
class de.haukerehfeld.quakeinjector. Configuration $DownloadPath Setting downloadp
ath to null
class de.haukerehfeld.quakeinjector. Configuration $DownloadPath: Setting to null
or default
Writing configuration...Writing EngineExecutable to qs.bat from class de.haukere
hfeld.quakeinjector.Configuration $EngineExecutable: qs.bat
Writing EnginePath to c:\games\quake from class de.haukerehfeld.quakeinjector.Co
nfiguration$EnginePath: c:\games\quake
Writing MainWindowHeight to 608 from class de.haukerehfeld.quakeinjector. Configuration $MainWindowHeight: 608
Writing MainWindowPositionY to 0 from class de.haukerehfeld.quakeinjector. Configuration $MainWindowPositionY: 0
Writing MainWindowPositionX to 0 from class de.haukerehfeld.quakeinjector. Configuration $MainWindowPositionX: 0
Writing MainWindowWidth to 661 from class de.haukerehfeld.quakeinjector. Configuration $MainWindowWidth: 661
Can't write config file
done.

(again spaces added)
Hmmm, Okay, I Need To Print The Exact Error Message
I strongly suspect the directory is read-only?

Try this:

http://www.haukerehfeld.de/project...

Fixed the error message output so it will display the exception message.
Open And Then Set Config Settings:
Reading configuration...
Setting Requirements
No Installed packages file (installedMaps.xml), no packages installed?
downloadpath null, returning default
Setting downloadpath: c:\games\quake\downloads
class de.haukerehfeld.quakeinjector.Conf... Setting downloadpath to null
Writing configuration...
Can't write config file: config.properties (Access is denied)
java.io.FileNotFoundException: config.properties (Access is denied)
at java.io.FileOutputStream.open(Nati... Method)
at java.io.FileOutputStream.<init&... Source)
at java.io.FileOutputStream.<init&... Source)
at de.haukerehfeld.quakeinjector.Conf...
at de.haukerehfeld.quakeinjector.Quak...
at de.haukerehfeld.quakeinjector.Quak...
at de.haukerehfeld.quakeinjector.Quak...
at de.haukerehfeld.quakeinjector.Chan...
at de.haukerehfeld.quakeinjector.Engi...
at javax.swing.AbstractButton.fireAct... Source)
at javax.swing.AbstractButton$Handler... Source)
at javax.swing.DefaultButtonModel.fir... Source)
at javax.swing.DefaultButtonModel.set... Source)
at javax.swing.plaf.basic.BasicButton... Source)
at java.awt.Component.processMouseEve... Source)
at javax.swing.JComponent.processMous... Source)
at java.awt.Component.processEvent(Un... Source)
at java.awt.Container.processEvent(Un... Source)
at java.awt.Component.dispatchEventIm... Source)
at java.awt.Container.dispatchEventIm... Source)
at java.awt.Component.dispatchEvent(U... Source)
at java.awt.LightweightDispatcher.ret... Source)
at java.awt.LightweightDispatcher.pro... Source)
at java.awt.LightweightDispatcher.dis... Source)
at java.awt.Container.dispatchEventIm... Source)
at java.awt.Window.dispatchEventImpl(... Source)
at java.awt.Component.dispatchEvent(U... Source)
at java.awt.EventQueue.dispatchEvent(... Source)
at java.awt.EventDispatchThread.pumpO... Source)
at java.awt.EventDispatchThread.pumpE... Source)
at java.awt.EventDispatchThread.pumpE... Source)
at java.awt.Dialog$1.run(Unknown Source)
at java.awt.Dialog$3.run(Unknown Source)
at java.security.AccessController.doP... Method)
at java.awt.Dialog.show(Unknown Source)
at de.haukerehfeld.quakeinjector.Quak...
at de.haukerehfeld.quakeinjector.Quak...
at de.haukerehfeld.quakeinjector.Quak...
at javax.swing.SwingWorker$5.run(Unkn... Source)
at javax.swing.SwingWorker$DoSubmitAc... Source)
at sun.swing.AccumulativeRunnable.run... Source)
at javax.swing.SwingWorker$DoSubmitAc... Source)
at javax.swing.Timer.fireActionPerfor... Source)
at javax.swing.Timer$DoPostEvent.run(... Source)
at java.awt.event.InvocationEvent.dis... Source)
at java.awt.EventQueue.dispatchEvent(... Source)
at java.awt.EventDispatchThread.pumpO... Source)
at java.awt.EventDispatchThread.pumpE... Source)
at java.awt.EventDispatchThread.pumpE... Source)
at java.awt.EventDispatchThread.pumpE... Source)
at java.awt.EventDispatchThread.pumpE... Source)
at java.awt.EventDispatchThread.run(U... Source)
done.
downloadpath null, returning default

Quakeinjector Directory Read-only?

i dunno, there's something with w7 where every single folder has the 'marked square' (not the checkmark) in read only.

i checked on the internet and it is said that that's just some security setting on the folder itself and windows doesn't actually enforce read only on folders, only files.
New Releases
this may be more of a quaddicted gripe rather than specifically QI, but when will the archive get updated with the flurry of new releases recently strewn upon us? do i HAVE to go back to manually installing? really?? ;0
Yeah, Sorry. :\
It is a half database, half plain xml mess at the moment so updating is a pain.
Post A Reply:
Name:
Title:
Body:
message
question
exclamation
idea
flame
noflame
error
skull
beer
moon
pent
rocket
sheep
pacman
pig
cheese
worldcraft
gauntlet
crate
pitfall
pimp
smile
cool
sad
frown
oi
yay
tongue
evil
wink
neutral
q1
q2
q3
ut
hl
cs
doom
dkt
serious
cube
Website copyright © 2002-2010 John Fitzgibbons. All posts are copyright their respective authors.