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/
 
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/E17409_01/javase/6/docs/api/java/io/File.html#canWrite() 
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=100&hl=en&lr=&safe=off&as_qdr=all&q=java+file+canwrite+directory&aq=f&aqi=&aql=&oq=&gs_rfai=

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\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. 
Just Installed Quake Injector Again, 
and ran into the same problem as necros has encountered. System is XP sp3.

I unchecked the "read-only" box under the right mouse menu of the folder, and when it asked me whether unread-only the folder and every thing inside it, or simply the folder itself alone, I chose the latter. Still not working.

So I launched cmd.exe, and "attrib -r"ed the folder. This time it worked!

So this may be something worth knowing. 
 
mmm, didn't work for me. :(

the concept of this tool is brilliant, really. in a way, it's probably a good thing this doesn't work. i'd probably end up playing way too much quake if it did. ^_^; 
Doesn't Work? 
It works fine for me on windows 7. Quake is in c:/games 
Found A Bug, 
Well, may be not a bug, but still something to be improved on:
I use darkplaces as the default engine.
I used Injector to download Warpspasm. It automatically downloaded Quoth, on which Warp depends. Everything was fine. But when I launched Warp (with DP as it's the default engine), I noticed that there was some model missing. A checking in console confirmed this. Using "path" command, I found Quoth was not loaded.

I know what was happening, but think Injector can be improved so that it can intelligently add -Quoth or any other parameter to the command line when launching the default engine, or auto switch to a preferred engine when playing some particular mod or map and the default engine is not fit for it. 
Option 
Have the option to load installed maps or updatedb. Sometimes you just want to play a local map. 
 
dooomer: Do you have a good suggestion on how to do that in a cross-platform and future safe way? Because that is the problem. Maybe ask LordHavoc to add -quoth. After all Darkplaces already supports a lot of such switches.

jtarin: I do not understand what you mean. 
I Think What Jtarin Means Is To Have Injector Search Maps 
that have already been installed, by manual means before the coming of Injector.

As to my so-called bug report, I tried glwarp and fitzquake085, and both worked fine. So it seems that �� should have done more research. Thanks for this wonderful tool! 
 
That is already supported. 
Still Thanks For The Non-bug Report 
though :D 
Bump! 
i know you can click the small, unnamed sorting button (to the left of 'Name') to sort installed maps first, but it would be nice if there was an option to always sort installed maps first, irregardless of sorting.

that is to say:

i click 'name' and it sorts alphabetically, but installed maps are first from a to z, then uninstalled maps, a to z.
i click rating and i get installed maps, 5 to 1 star, THEN uninstalled maps 5 to 1 star.

i'm imagining a config check box "always list installed maps first".

or even, two completely separate lists on two seperate tabs. and when you install, it disappears from the uninstalled list. 
++ 
I find myself always sorting by installed, too. 
That's An Idea 
The option in the menu is much more likely though, because on a small display space is so limited ;-) 
That's An Idea 
The option in the menu is much more likely though, because on a small display space is so limited ;-) 
 
because on a small display space is so limited

the tab idea wouldn't take much more room though? just maybe 1 or 2 line's worth of space at the top.

tabs, not lists right, so when you click one tab, the other is replaced by it. basically two lists in the same spot. unless i'm not understanding why it would take so much space. 
Oh 
and while i'm wishing for stuff, a way to sort by installed date would be nice too. once your list of installed maps grows large, if you install more than one map at once that aren't the same spot in your alphabetical list, you can loose them. 
Uh Triple Postie... Sorry. 
is there a way to get the injector to scan the /quake/id1/maps directory and mark any maps it finds there as installed or is this moving beyond the goal of the app? as a long time quake player, my /maps folder is filled with hundreds of map files and i often find i'm reinstalling maps that are already there.

mind you, i'm not saying that it should scan for mods, but i think simply scanning for bsp files in the /id1/maps dir is fairly straightforward. 
 
Tabs would be awesome. Generally more search/sorting options.

The Injector does scanning! Make sure you have the alpha2. "Check for installed maps" in the menu. Make a backup beforehand just in case (I don't think it could do anything wrong but you never know). 
 
haha yeah, i'm retarded-- it's right in the file menu. ^_^; 
However... 
it only found a small fraction of installed maps.

is it being picky and searching for both bsp and text files? cause in the old days, i would never extract the readmes, just the bsp. 
Spirit Has Control Over That 
each file gets a flag.

if your structure/naming is wrong or you modified the files (crc check), it can't find them though.

would be interesting if you could zip up a structure of files that it doesn't find so i can test (or take a look at it). 
Oh Btw 
spirit, do you remember how to filter for installed maps? :-) it was once possible, but i can't remember how, and maybe i disabled it (by mistake maybe) 
And 
i think a checkbox near the filter field "only installed" is the way to go 
 
It would need to allow showing "not installed" too imo.

I can't remember being able to filter for that.

Scanning: Yeah, I think text files are required. You know me. But to be honest I do not remember how it works. For the sake of userfriendlyness textfiles should not be required. If I recall correctly we only scanned for filename collisions, allowing overwriting "non-essential files" (eg readme.txt or file_id.diz), at least that's how I understood it. 
This Is The List Of Files 
http://haukerehfeld.de/projects/quakeinjector/temp/zipContents.xml

essential="false" means that it won't be required for the install check.

Spirit needs to update it (I'm not even sure it was complete when I uploaded it). 
 
I'll integrate it properly into the quaddicted database. The flag is already an option there and that way negke can help too. I guess making all textfiles not required for a successful "hit" would be a start, correct? That way you can play the map even if you are a terrible person.

Megaman: it does get used for conflict handling too, right? Then we would make a mess if eg quake/reader.txt was not "essential" because it would silently(?) Overwrite on a conflict. 
*readme.txt 
 
Yeah 
but injector doesn't overwrite stuff (maybe we should implement a "*_org.*" rename option). So you can then still play the map without the injector being able to extract the replay.

Basically everything should be marked non-essential that's not needed to play the map. I'm a bit unsure how to handle optional stuff that's used in the map, though. I'm leaning towards marking that as non-essential as well. The bsp makes total sense without the .tgas, as long as it loads and plays fine. 
Just Installed The Yahoo Toolbar 
The readme should be windowised. It displays no newlines on Windows XP in Notepad.
Also a .bat file (java -jar quakeinjector.jar) would be a good addition.

It is also quite ugly on Windows XP. :-) 
Spiritttt 
Turn in your computer license, you're a loose cannon. 
 
Still exists W|XP? 
Bat File Is Unnecessary 
you can just double click on the jar icon.

readme, huh, never noticed :D 
Java 6 Issue 
I can't run it.

I need Java 6, and I can't upgrade from 5.5 to 6 on my 10.5.8 PPC Mac. I would have buy 10.6 (Snow leopard) or above to be able to upgrade to 6.

Is there a previous version that ('Beta', maybe?) doesn't use Java 6, so I can use this tool?

After all, it was made to prevent newcomers from jumping off of cliffs due to the stress of the manual installation process.

I'm hoping there is a solution, somewhere..

BR.

Baz. 
 
https://gephi.org/users/install-java-6-mac-os-x-leopard/

i checked and my old leopard mac was using 1.5 too. this worked for me. 
 
I think the problem is, the official apple java 6 was never released for powerpc.

you could try this: (the "32-bit OpenJDK 7 Beta 1 for Mac OS X 10.5 PowerPC" download?):
http://landonf.bikemonkey.org/static/soylatte/

btw, I was hacking at QuakeInjector a bit recently, and improving mac support. I got the build script set up to bundle the app like a normal mac application, added support for choosing the .app for your quake engine and having it find the executable, and storing preferences in ~/Library rather than the current directory.

here's a snapshot of the mac .app:
https://github.com/downloads/ericwa/QuakeInjector/Quake%20Injector.app.b52d4b059a7fd25fd0831e6c6929073d6d475e25.zip
my fork is at: https://github.com/ericwa/QuakeInjector/ 
 
I have downloaded that app., but I am just not academic enough to understand how to get it installed. It involves using the terminal. I left a blog owner a msg, hopefully he'll get back to me to try and help me out. he seems to know what to do.

All I know is that apparently Java 7 can be installed on a 10.5 PPC Mac, I just don't know how.

Is there an older version of QI using Java 5?

BR.

Baz. 
 
does java 6 just not work at all on the ppc (non x86/x64 architecture) then?
sorry, i only got into macs after they swapped to x86/x64. 
@ Necros: 
Apparently it can, but the fact that it is isn't common knowledge.

There is this download for PPC MAC OS X 10.5:

http://landonf.bikemonkey.org/static/soylatte/bsd-dist/openjdk7_darwin/openjdk7-macppc-2009-12-16-b4.tar.bz2

This should enable 10.5 PPC's to install Java 7. 
Yeah, 
from what I've read java 6 on ppc isn't available at all from apple - and not even for 32bit intel, either (core non-2 duo?) - so this soylatte was a community developed build to support these.

peter tron, here is a forum post I found that might help:

http://forums.macrumors.com/showpost.php?p=11547346&postcount=4

just replace the "/Users/Owners/desktop/soy/" with the path you extracted it to. 
Also 
quakeinjector definitely uses some java 6 stuff.. not sure how hard it would be to back-port to java 5. it would be nice if QuakeInjector ran on PPC macs out of the box, though. 
What Java 6 Features 
does it use, anyway? 
SwingWorker 
was one class I noticed.. not sure what else 
Oh Apple 
You make everything so easy and convenient and computers a joy to use. 
Spirit Calm Down 
PPC has been superseded by Intel as a platform in 2006, that's six years ago and Apple is clearly getting out of the Java business anyway. Of course support ends at some point.

The Apple VM stuff has been donated to OpenJDK in 2010, and there still is no workable solution from them. 
So, When Was Java 6 Released? 
Java SE 6 (December 11, 2006)

I guess a few months of support would really be asking too much! :-) 
What's Your Point? 
 
Existing Maps/command Line Question 
i now run a windows machine with java 6, so the qi works, cheers guv!

1) i read in an earlier page that qi runs well with 'existing maps'.
how do i get qi to open a previously installed map/mod that it it didn't install itself?

2) obviously qi gives sufficient command lines to the engine of choice, or it would ask the user to manually type it in all the time.
with hat in mind, i was wondering how i would i would customise qi, so it would remeber max_edicts & heapsize commands?
i know, there is a command line box in qi to input this, but is there a way to store/memorize these commands, so even if i loaded up a different map them went back to the previous one, it would recall the heapsize, edicts stuff? 
Retarded Spelling.. 
 
Ah.. 
about 2):

would i just put heapsize & max_edicts commands in an autoexec file? 
 
1) That "existing maps/mods" support only means maps/mods that you *could* install through the QI. You cannot manually add new things.

2) heapsize does not work in a autoexec.cfg. Generally things you use a dash - with do not work in config files. Only the + ones do. - are commandline parameters. With + you can pass commands and variables to the engine.

You could set those two in the main configuration box, won't hurt and you can just forget about it later. :)
I think for some releases we set those in the database too (that QI downloads on launch), not sure though to be honest. 
I See.. 
so i cannot make qi open a map/mod that i installed manually before downloading qi?
no worries, that's not really a problem as such..

so some maps/mods that are installed through qi have the necessary heapsize/zone/edicts commands automatically run?..cool..

so i'm assuming you won't know which ones do until they crash, and if they do, you know that you have to manually tap the relevant commands into the qi command config box?

is it normal to still have qs (my engine of choice with qi) spam the console with edicts/models/light maps warnings, even when you have input the right commands into the qi command config box?

i guess it doesn't matter if the game runs smoothly and doesn't crash! 
Peter 
Unless otherwise stated, the maps at Quaddicted/Injector don't require fiddling around with heapsize and max_edicts. Those that do (should) automatically add the extra settings in QI. If you spot one that doesn't, please report it here. 
Actually 
Maybe QI could or should automatically add -heapsize 32000 or 64000 if no custom value is set by the user or the map info. As a precaution for certain engines - for instance, Winquake only allocates 16 MB by default which is too little to run bigger levels. 
 
The problem with these parameters is that they are not required by some engines and more importantly that there is the difference between software and GL engines (-heapsize vs -mem or even -winmem?). I don't really want to get into that hole any deeper. 
 
I think heapsize works everywhere? It certainly does in Winquake. In engines that don't require heapsize customization the command is simply ignored. 
Zerstorer/qi Issue? 
i installed this with qi successfully, but upon trying to play, it just takes me straight to the main quake start map.

it's not horrendously problematic, as i can just type game zer in the console, and that takes me to the zerstorer start map.

i just thought you might like to know that the full launch command doesn't appear to be initiated by the qi. 
 
Hm, did you launch zer or zer11? zer11 was broken, I fixed it now. 
 
it was zer.
i replaced the zer progs files with the zer11 patch, as i knew that was a patch fix.

anyways, spirit, cheers, it loads fine now!

i guess being that i'm new to these maps, i can feed yer updates on what maps/mods don't run properly in qi. 
 
i only use the injector for one off maps... anything that's a mod i just install that myself.

the big appeal of the injector is having the quaddicted library available at my fingertips. but there are few big mods so installing them myself isn't an issue.

just throwing that out there... 
Existing Maps 
let injector scan for them from the menu 
 
Playing around with Windows 7 I noticed that neither DirectQ nor Quakespasm (both slightly older versions) seem to write anything to stdout. This means we currently open an empty window just to annoy the user.

Also it looks really ugly on Windows. The serif font for the map description looks too Times New Roman I guess. 
Scratched The Quake Injector.., 
 
Nice! 
Jappers And Mobs 
It's modelled to the Quakaddict logo.

I was thinking of filling the ring with a running soldier, while the heart could be a gimmick of a demo slowly turning quakedammage.

Then I read your post again in jobs & mappers and realized you needed something tottaly different. 
A Portable Quake Injector Is Now Available. 
Hi there,
I wrote a bat file to run Quake Injector in portable mode. By portable I mean it will no longer ask you for the position of game folder or the path to quaddicted_database.xml. You can now keep the game and the launcher in a USB disk and take it with you, and whenever you want to play, simply double click the provided "run.cmd".

the download link is:
http://www.quaketastic.com/upload/files/tools/QuakeInjector_offline_pack.zip

Further info:
0. Let's assume you are in the QuakeOne\QuakeInjector folder after extraction

1. to update quaddicted_database.xml (map list), use .\Update\Update.cmd

2. place this folder (QuakeInjector) into your Quake game folder, where you can also find id1 folder

3. double click run.cmd to launch the Injector

4. downloaded maps will be stored into .\maps

5. you can download every zip file under "http://www.quaddicted.com/files/maps/singleplayer/" and store them in .\maps, and now you have a Quake SP map archive of your own! Just remember to only download one zip file at a time, to avoid placing too much stress on Spirit's server!

6. to avoid cluttering the Quake game folder, I like to place different engines into ..\Port folder, and their accompanying dll files into ..\Port\dll folder, and use "Play Quake.cmd" to launch them. Here I included darkplaces (20130621 autobuild windows) as an example. You may choose "Play Quake.cmd" as the startup file for launching a map in the Injector. 
 
That is really nice but please do it again with proper attribution of your sources. :(

PS: We really need to make those readme files Windows XP friendly. Stupid Notepad, stupid stupid Notepad... Stupid negke too! Is the Windows 7/8 Notepad still as stupid? Not worth changing things if it is just about XP.

PPS: It is called Quake, not QuakeOne FFS! 
OK Updated With Proper Credits 
New download link:
http://www.quaketastic.com/upload/files/QuakeInjector_offline_pack_update1.zip

1. credits given in a credits.txt
2. changed name of setting file in .\id1 from dooomer.txt to setting.txt
3. changed readme.txt in .\QuakeInjector\doc to be notepad friendly
4. changed darkplaces.txt in .\port to be notepad friendly
5. kept the QuakeOne folder name to avoid confusion. You may simply rename it
6. the url in point 5 of my previous post should be http://www.quaddicted.com/filebase/ 
Ah Fuck, I Uploaded The File 
to http://www.quaketastic.com/upload/files/ instead of http://www.quaketastic.com/upload/files/tools/ !


Can someone move the file to tools and update the download link in post #111? 
OK, The Updated File 
has been deleted by admin of Quaketastic because it was uploaded to the wrong place.

Will upload again to the correct path later today. 
Uploaded 
Bug Report 
Recent version of quaddicted_database.xml from quaddicted.com seems to contain incorrect information resulting in only one entry shown on injector.

I opened it up in text editor and found that id for every entry is now 1374765832, thus only one entry is shown. Manually changing the id seems to correct the issue, but it's apparently impossible to edit every entry because it's extremely time-consuming. 
 
Should be fixed by adjusting an ugly hack to a changed database scheme. Sorry and thanks for reporting!

Maybe someone knows how to make it not a hack:

My query is SELECT * FROM maps LEFT OUTER JOIN (SELECT zipname, GROUP_CONCAT(bsp) AS startmaps FROM startmaps GROUP BY zipname) AS group_subselectbsp ON group_subselectbsp.zipname = maps.zipname LEFT OUTER JOIN (SELECT zipname, GROUP_CONCAT(dependency) AS dependencies FROM dependencies GROUP BY zipname) AS group_subselectdep ON group_subselectdep.zipname = maps.zipname WHERE maps.type!=4 ORDER BY maps.zipname;

With one array per row it leads to the ['zipname'] being empty but the numeric id ([2] here) being fine:

Array
(
[0] => 1
[id] => 1
[1] => 1374765832
[timestamp] => 1374765832
[2] => 100b2
[zipname] =>
[3] => 2
[type] => 2
...


I have no clue why. 
Bug Fixed ? 
Just tried again a minute ago, and the bug seems to be gone now. Thanks Spirit! 
Spirit 
can you describe more what the problem is? what is the hack in your query? 
 
The problem is that somehow I do not get the column name of "zipname". I instead I access it by the number [2] (was [1] before I added a column, that's what broke). No idea if it is a PHP problem, if I use the sqlite3 CLI tool it does label the columns correctly.

https://github.com/SpiritQuaddicted/Quaddicted-reviews/blob/master/quakeinjectorxml.php 
 
use names instead of * ? 
 
have you tried creating views in your DB instead and then just querying the views?

also, is there somewhere i can see the DB structure? 
 
Spike: That did it. I had three "zipname" columns so no wonder it went weird. I only select what I need now and it works like a charm. Thanks!

necros: There is an older database linked in https://www.quaddicted.com/forum/viewtopic.php?id=51 . Only change since then is the addition of a timestamp column for all tables: timestamp DATE DEFAULT (strftime('%s','now'));

You mean views for the subselects, right? That might be a good idea indeed! 
 
i actually meant a view for the entire query. i don't know if it's the right thing to do, but i always prefer to store all my queries in the db itself so that my front ends are only ever doing queries like select * from my_view. this way, it simplifies my front end and hides everything about the db. 
 
There's a corollary of post #26 in the Quoth Launcher thread that might be worth dropping in here, for any Quake Injector users that are ignoring that thread...

So: For various reasons, I like to launch Quake through Steam. If you are in the same boat, it turns out it's way easy to use Quake Injector to do this. In the configuration dialog:

* Make sure that "-applaunch 2310" is at the beginning of the "Quake commandline options". You can have more options after that; it just has to be first.

* Set your "Quake Directory" to be the directory where you have installed Steam. For me this is "C:GamesSteam"; for you it might be "C:Program Files (x86)Steam".

* Set your "Quake Executable" to "Steam.exe".

Now when you launch Quake using Quake Injector, it will run Quake through Steam.

Unfortunately this is limited to running the Winquake.exe file in the Steam Quake folder, but nothing is stopping you from replacing that file with a QuakeSpasm executable or DarkPlaces or whatever. 
 
Hmm one sticking point there.

The "Quake Directory" actually has to be set to the steamapps\common\quake folder in order for new downloads to be installed correctly.

However that makes Steam print some warning messages about not being able to find a localization resource. Not sure yet how much that matters. 
 
Yeah, setting "Quake Directory" to the steamapps\common\quake folder is the way to go, and things work pretty well. To tie it all up:

1) The warning message about not finding a localization file appears to be mostly harmless. The localizations won't even be used unless the Steam bootstrapper encounters some issue running Quake.

2) You can make the message go away by copying the relevant folder and file (Public\steambootstrapper_english.txt, or whichever is appropriate for your language settings) from the Steam folder down into the Quake folder. This is kind of ugly though, and might break if a later Steam update changes the file. Actually creating a shortcut might also work; didn't try that.

3) It's easy to change the Quake Injector code to be more tolerant of these situations where the exe is not in the basedir. In the case of this Steam hack, the change would make it run Steam from the right working directory so that it finds the localization file.

4) Even if I get rid of the localization problem, I also see another warning in the case where Steam hasn't been launched yet: "[0406/174210:ERROR:resource_bundle.cc(417)] Failed to load C:\Games\Steam\bin\chrome.pak". It turns out that the current version of Steam always generates this message when I start it; I just usually won't see it unless I dig through Steam logfiles. It's harmless.


So, because of 1) and 2) it's workable. As for 3), I don't know if a new release of QI will ever be in the cards, but I'll mail Spirit about the patch. Fixing 4) is above my pay grade. 
 
There is some work going on at the moment and I would like to make a new release soonish. If you have some (small) issues that are not yet in https://github.com/hrehfeld/QuakeInjector/issues , now is the time to speak. 
 
Could someone test ze Quake Injector on Windows 10? 
 
Works on Windows 10 for me. I've tried install, uninstall, and Quake-launching.

However there's currently a build error in the master branch. I have a proposed fix at https://github.com/hrehfeld/QuakeInjector/pull/103 ... I know I can merge that myself, but I'll wait a bit just in case I'm missing something. 
 
BTW, any opinions about issues that would be essential to take care of before the next release? Lots of ideas have been accumulated there on GitHub over the years... I'm not sure which (if any) are really jumping up and down for attention.

(Especially minor fixes as opposed to big new features.) 
 
https://github.com/hrehfeld/QuakeInjector/issues/97 would be great for user-friendliness. Right now a failed download will require the user to notice/remember it and manually remove the file. 
Error 
Seems like atm I can not connect to the database.
This is what I get:

"Database parsing failed! org.xml.sax.SAXParseException; lineNumber: 7284; columnNumber: 44; The entity name must immediately follow the '&' in the entity reference."

Worked just fine a couple hours ago. Something wrong with the server? 
 
Now it works again. Must have been some weird hickup 
 
Yeah.... some hickup... 
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-2017 John Fitzgibbons. All posts are copyright their respective authors.