More actions
PSP Quake 1 | |
---|---|
General | |
Author | Juraj Styk |
Type | Shooter |
Version | 1.1 |
License | GPL-2.0 |
Last Updated | 2008/01/14 |
Links | |
Download | |
Website | |
Source | |
This is a port of ID Software's Quake 1 to the PSP.
Based on PSP Quake port by Peter Mackay and Chris Swindle.
Features
- Music playback through MP3 implemented with MAD audio library (can be switched on/off from options menu).
- Software and Hardware rendering.
- Single player game.
- Sound.
- Save/Load.
- Console commands.
- Command line params (through 'quake.cmdline' file).
- Multiple screen resolutions in software rendering (through command line params).
- User-made maps loading (from console or command line params).
- User-made mods loading (through command line params).
- Demo recording and playback (from console).
- On Screen Keyboard (available from console and from text input boxes in Multiplayer menus).
Installation
Note: A shareware version or full retail copy of Quake is required to play. For running mods you will need files from full version of Quake.
Package options
Four different packages are provided.
- PSP_Quake1_HW_KM.zip
- PSP_Quake1_HW_UM.zip
- PSP_Quake1_SW_KM.zip
- PSP_Quake1_SW_UM.zip
Definitions:
- HW - Quake client using hardware rendering.
- SW - Quake client using software rendering.
- KM - Compiled in kernel mode (kernel plugins like JoySens won't work).
- UM - Compiled in user mode.
HW specifications:
- Display resolution used: 480x272.
- Default CPU clock is 222 MHz (can be raised to 333 Mhz from commandline).
- Memory usage: 19 MBytes total (14 MBytes used for Quake heap).
- Faster than software client.
- Smaller Quake heap means worse mod compatibility then software client.
- Transparent water in maps that support water transparency.
SW specifications:
- Display resolution used: configurable (from command line) in range from 320x200 to 480x272 (default is 320x200 stretched to 480x272).
- CPU clock is 333 MHz.
- Memory usage: 19 MBytes total (17 MBytes used for Quake heap).
Instructions
Unzip the package PSP_Quake1_HW_UM (PSP_Quake1_SW_UM).
Copy the PSP_Quake1_HW_UM (PSP_Quake1_SW_UM) folder to the PSP/GAME folder on your PSP.
Copy the ID1 folder from the shareware or full version of Quake to inside your PSP/GAME/PSP_Quake1_HW_UM folder.
Create a file named quake.cmdline and put any command line params you wish to use there.
Music playback
If you want to use music playback in Quake 1, create a subdirectory named MP3 in the same directory where is ID1 directory.
Put files named 01.mp3, 02.mp2, 03.mp3 and so on into this directory.
(Any mp3 should work / tested with mp3 with constant bitrate of 96 and 192 kbps and sampling rate of 22khz and 44khz)
Using mods/data discs
Copy directory with mod files into the same directory where is ID1 directory.
Add command -game modname
into quake.cmdline file where modname in name directory which contains mod files
Optionally add command +map mapname
into quake.cmdline file where mapname in name of map to start
Using custom maps
Go to ID1 directory and create directory named maps there.
Put any map you wish to use into this directory (map files end with .bsp extension).
Add command +map mapname
into quake.cmdline.
Alternatively you can load a map from quake console with map mapname
command.
Water transparency
Quake client using hardware rendering can render transparent water however only on maps that are compiled with water transparency option. Maps compiled without this option (like original quake maps) must be reprocessed to make this feature work correctly.
For this you will need to apply 'vis' and 'bsp2prt' utility on each map. First you need to extract map files from pak file ( with PakExplorer or QuArK editor ) . Then apply first 'bsp2prt' and then 'vis' utility on map. After that use PakExplorer to copy updated map back into pak file.
'bsp2prt' and 'vis' are command line tools so run them from command line window or create batch file which will contain these two lines for each map you wish to process (e1m1 map in this case):
bsp2prt.exe e1m1.bsp
vis.exe e1m1.bsp
There are patches available for original quake maps as well as some user made maps that will add water transparency without the need to reprocess the map.
Patches and tools mentioned above can be downloaded from here for example.
Tested mods and maps
Tested data discs:
- Dissolution of Eternity Data disc [Rogue]: works fine
Tested user created mods:
- Frogbot bot: works fine with SW client but is unstable with HW client
- DMSP mod: works
- Prydon Gate mod: works
- Operation: Urth Majik mod: works
- The Cassandra Calamity mod: works
Tested user created maps:
- Contract Revoked: works
- Moonlight Assault: works
- The Terracotta Terror: works with SW client (but not with HW client)
- Fall Cleaning: works (Require raising value of r_maxsurf and r_maxedges in SW client)
(Works means that it did not crash while testing but was not tested very much.)
User guide
Command line options
If you want to start Quake with some specific command line options create file named 'quake.cmdline' in Quake directory (the same directory that contains eboot.pbp) and put command line option here. Examples:
-condebug -rwidth 368 -rheight 272 -swidth 368 -sheight 272 +map e1m1
(will start Quake in map e1m1 with console logging and with render and screen resolution set both to 368 x 272)
-cpu333 -gamedir ms0://Psp/Game150/PSP_Quake1_HW_KM
(will start Quake with cpu clocked to 333 MHz and instruct it to look for quake files in directory ms0://Psp/Game150/PSP_Quake1_HW_KM)
-game frogbot -zone 1024
(will start Quake with FrogBot bot)
-game rogue +map start
(will start Quake with Dissolution of Eternity data disk)
Extra command line options
- rwidth
- rheight
- swidth
- sheight
- cpu333
- gamedir
'-rwidth' and '-rheight' set resolution at which is game rendered internally (SW rendering only) (default: 320x200).
'-swidth' and '-sheight' set resolution at which is internally rendered image displayed (SW rendering only) (default: 480x272)
Any resolution between 320x200 and 480x272 will work as long both width and height is multiple of 8.
'-cpu333' will force game to run with cpu clocked to 333 Mhz (HW rendering only , SW rendering runs at 333 MHz by default).
'-gamedir' will make game to look for quake files in directory other then the current directory (both relative and absolute paths works).
Controls
The PSP buttons are connected to the following keys during the game and when the menu is shown, you will need to set to your desired action in the game options screen.
Select - Toggle console
Start - Show menu
Up/Down - Move forward/backward
Left/Right - Turn left/right
On screen keyboard:
Square - Activate OSK, finish typing and return to console
D-Pad - Select character
Cross - Type
Triangle - Erase last typed character
Circle - Cancel output and return to console
To input 'space', move cursor to empty space and press Cross (cursor will change to 'X')
Console:
Cross - Execute command
Right - Auto complete
L/R - Scroll console output up/down
Up/Down - Browser through previously entered console commands
Screenshots
Compatibility
Developed and tested on PSP with FW 3.40 OE.
Known issues
- Some mods or maps might not work due to memory constrains or might not work correctly.
- timerefresh command disabled in hardware rendering (stability issue).
- Some maps require raising 'r_maxsurfs' and 'r_maxedges' to render correctly in SW client (can be done from command line or console).
Credits
Big thanks go out to:
- ID Software, for releasing Quake source code.
- Peter Mackay and Chris Swindle for creating PSP Quake port.
- Underbit Technologies for MAD audio library and John_K for porting it to PSP.
- Makers of PSPDev Environment for Win32.