cquake release 4
7/27/08

Quake is a registered trademark of id Software
Nintendo DS is a registered trademark of Nintendo

All copyrights property of their respective owners.

Quake source code is released under the GPLv2 - read gnu.txt for details.

This is a modified version of the quake source code that allows it to run on the Nintendo DS.

I am not affiliated with id software or Nintendo in any way either directly or indirectly.

THE SOFTWARE IS PROVIDED AS IS, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED.

In other words use this at your own risk.

################################################
How to play
################################################
You will need the PAK files from either the registered or the shareware version of quake. They need to be put in a folder named ID1 in the root directory of your flash card. The cquake.nds and cquake_mp.nds files need to be patched with the appropriate DLDI driver for your card 

If you are not sure how to do this you can refer to the DLDI Wiki page:
http://dldi.drunkencoders.com/index.php?title=Main_Page

After cquake.nds and cquake_mp.nds have been patched they can put put on your flash card.


I have also included a modified version of progs.dat and an autoexec.cfg file. These files can be put in the ID1 directory. The progs.dat file contains no modifications; it has been compiled with an optimizing qcc compiler that reduces the memory used - by about 70k.

################################################
7/27/08 changes
################################################
added crosshair

added rumble support for ezflash 3in1. this will not be activated unless "-rumble 3in1" is added to the cquake.ini file. there are a few cvars that control the rumble. ds_rpain,ds_rhealth,ds_rmuzzle. these values can be changed to increase or decrease the rumble effect. 0 is the maximum strength and I think 12 is the minimum strength. rumbleon and rumbleoff can be used to turn the rumble on and off. I only have an ezflash 3in1 so it only works for this card. I would imagine that very bad things could happen to your flash card if you do not have a ezflash 3in1 and enable the rumble. I plan to add support for more devices but I am having a hard time tracking down the code to enable these devices.

added onscreen keyboard. it can be enabled in the options menu. there are three mode full,mini and off. full shows the full keyboard (it currently gets clipped if the 3d is not on top) and mini just shows the 0 through 9 along the top.

################################################
7/08/08 changes
################################################
added sprite rendering

added double tap support for the touch screen. there is a cvar to control the sensitivity "ds_tap_time". 32728 is roughly one second. the default is 9000. 0 to disable.

fixed crash when loading saving games when a referenced entity has a higher number than the currently loading entity (thanks to thenewimpossibles for tracking this down)

fixed a crash during the finale (thanks to Sir_Voe for tracking this down)

fixed the display on the intermission screen

fixed the shaky weapon model (though it may be too steady now).

fixed some more menu stuff

allowed r_ambient to be changed in single player only version during deathmatch for playing against bots

probably some more but I do not remember...


################################################
6/28/08 changes
################################################
There are now two nds files. cquake.nds for single player and cquake_mp.nds for multi-player.

The screens can be swapped to put the 3d view on the top screen - it is on the options menu.

touch screen support has been added - thanks to silent_code (I took the code from his shadow demo for the ds).

the HUD is visible. There is an option to adjust the HUD transparancy on the options menu.

I fixed a bug in the status bar code that would cause the game to crash if the health went negative.

I tried to make the keyboard a little better.

cquake will now look for a file named cquake.ini in the root directory of your flash card. This file can be used to pass command line parameters to cquake. It is a single line (without carriage returns) up to 255 characters. A sample has been provided. cquake_mp.nds will look for a file named cquake_mp.ini in the root directory of your flash card.

You can now put the quake directory in a non root folder. To put quake in a sub folder at the path /games/quake you would need to modify the cquake.ini and cquake_mp.ini files to change "-basedir /" to read "-basedir /games/quake". Then the id1 directory would need to be moved to /games/quake/id1

I have also added an option to the ini file to have cquake show a menu of mod directories to choose from upon startup. I have turned this on in the sample ini files. It can be turned off by removing "-listgame" from the ini files.


################################################
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
YOU REALLY NEED TO READ THIS PART
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
################################################
in order to increase the read speeds while pulling data from the flash card the libfat library is bypassed. In order for this to work correctly it is required that the pack files be completely defragmented. If the files are not defragmented the game will crash. If you do not already know how to do this then you will need to refer to the documentation for your operating system.

You will probably need to adjust the gamma settings as by default the colors can be very dark. This can be done through the console or through the menu.

The keyboard implementation in this version is a little better - just barely.


Eric Hobbs
