News | Forum | People | FAQ | Links | Search | 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-content/uploads/quakeinjector-alpha2.png
Homepage: http://haukerehfeld.de/projects/quakeinjector/
Download: http://haukerehfeld.de/projects/quakeinjector/files/quakeinjector-alpha2.zip
Quaddicted Spam: http://www.quaddicted.com/quake-injector/quake-injector-alpha2/
First | Previous | Next | Last
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\VirtualStore\Program 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/projects/quakeinjector/files/quakeinjector-alpha02-1-g8500c44.zip

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.Configuration$DownloadPath 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(Native Method)
at java.io.FileOutputStream.<init>(Unknown Source)
at java.io.FileOutputStream.<init>(Unknown Source)
at de.haukerehfeld.quakeinjector.Configuration.write(Configuration.java:259)
at de.haukerehfeld.quakeinjector.QuakeInjector.saveEngineConfig(QuakeInjector.java:518)
at de.haukerehfeld.quakeinjector.QuakeInjector.access$800(QuakeInjector.java:71)
at de.haukerehfeld.quakeinjector.QuakeInjector$13.stateChanged(QuakeInjector.java:486)
at de.haukerehfeld.quakeinjector.ChangeListenerList.notifyChangeListeners(ChangeListenerList.java:49)
at de.haukerehfeld.quakeinjector.EngineConfigDialog$16.actionPerformed(EngineConfigDialog.java:301)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.Dialog$1.run(Unknown Source)
at java.awt.Dialog$3.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.awt.Dialog.show(Unknown Source)
at de.haukerehfeld.quakeinjector.QuakeInjector.showEngineConfig(QuakeInjector.java:497)
at de.haukerehfeld.quakeinjector.QuakeInjector.enginePathNotSetDialogue(QuakeInjector.java:699)
at de.haukerehfeld.quakeinjector.QuakeInjector$6.done(QuakeInjector.java:271)
at javax.swing.SwingWorker$5.run(Unknown Source)
at javax.swing.SwingWorker$DoSubmitAccumulativeRunnable.run(Unknown Source)
at sun.swing.AccumulativeRunnable.run(Unknown Source)
at javax.swing.SwingWorker$DoSubmitAccumulativeRunnable.actionPerformed(Unknown Source)
at javax.swing.Timer.fireActionPerformed(Unknown Source)
at javax.swing.Timer$DoPostEvent.run(Unknown Source)
at java.awt.event.InvocationEvent.dispatch(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown 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. 
First | Previous | Next | Last
You must be logged in to post in this thread.
Website copyright © 2002-2026 John Fitzgibbons. All posts are copyright their respective authors.