shithub: qk1

Download patch

ref: e82aecd0cb9cd7ba4ee1614edf8ffe8a69ad5770
parent: a6ffb6a8ffefb4806f659ae05d730eaa6f486191
author: Konstantinn Bonnet <qu7uux@gmail.com>
date: Tue Oct 6 02:04:10 EDT 2015

update README

--- a/README
+++ b/README
@@ -1,17 +1,17 @@
 qk1 - (9) quake
 ===============
-port of linux/x11 quake to plan9front. tested on amd64 and 386 only.
-currently lacks networking. save for a rare crash and some stupid bugs,
-it works and plays reasonably well. on my machines.
+Port of linux/x11 quake to plan9front. Tested on amd64 and 386 only.
+Currently lacks networking. Save for a rare crash and some stupid bugs, it works
+and plays reasonably well. On my machines.
 
 
-installation
+Installation
 ------------
-besides building and installing qk1, you still need .pak files to play. both
+Besides building and installing qk1, you still need .pak files to play. Both
 shareware and registered versions (should) work, as well as the official
 expansions, and mods.
-the data files are to be installed in $home/lib/quake/$gamename, where
-$gamename is 'id1' for plain old quake.
+The data files are to be installed in $home/lib/quake/$gamename, where $gamename
+is 'id1' for plain old quake.
 
 % mk install
 % mkdir -p $home/lib/quake/id1
@@ -19,26 +19,42 @@
 
 % quake
 
-qk1 reads /mnt/cd/[au]NNN files as in cdfs(1) to play music. the directory needn't
-be populated by cdfs(1), so long as the files are in the format described by
-audio(3). this currently requires the use of mixfs(1).
+By default, qk1 allocates 8 MB of memory for its internal heap. This amount can
+be controlled via the -mem command line parameter like so:
 
-installing an expansion or mod, for example rogue:
+% quake -mem 16
 
+It is necessary to increase it when playing on larger resolutions, else qk1
+might crash with errors such as 'Hunk_Alloc: failed on 548512 bytes'.
+
+qk1 reads /mnt/cd/[au]NNN files as in cdfs(1) to play music. The directory
+needn't be populated by cdfs(1), so long as the files are in the format
+described by audio(3). This currently requires the use of mixfs(1).
+
+Installing an expansion or mod, for example rogue:
+
 % mkdir $home/lib/quake/rogue
 % cp /n/roguecd/*.pak $home/lib/quake/rogue
 
-then start with:
+Then start with:
 
 % quake -game rogue
 
 
-todo/bugs
+Todo/bugs
 ---------
 - udp/ip, plan9 style
+- port quakeworld: mkmany, merging common code
+- don't use threadkill like an idiot
 - sound: don't require mixfs and fix soundbuffer write race
+- lurking fuckups cause a window whiteout on exit, probably in proc management
 - crash in d_sprite.c:D_SpriteDrawSpans after several hours of looping the
   demos
+- (amd64) entities visible through walls right when emerging from/immerging into
+  water
+- handle mousewheel
+- fix mouse handling better: don't just fprint all the time
+- (?) add keyboard autorepeat for console?
 - resolutions other than 4:3: some vertical and horizontal strips on the edge
   of the screen aren't drawn
 - console print recently screwed anew; console color print still screwed up
@@ -45,9 +61,9 @@
   (printf/print differences)
 - #define PARANOID reveals several points of failure that are otherwise ignored
 - (?) sprites not scaled correctly on higher resolutions
-- screenshot code outputs garbage
 - more testing, cleanups and bug fixes (g '/\* FIXME')
-- (bjnh) bring asm for 386/amd64 back
+- manpage
+- (bjnh) bring asm for 386/amd64 back, write asm for arm
 - (bjnh) style(6)
 - (bjnh) make it run super fast on a pentium 2
 - (bjnh) redesign everything to be super cool (e.g. pakfs, console shit,
@@ -54,22 +70,24 @@
   args, etc.)
 
 
-differences with x11/linux original release
+Differences with x11/linux original release
 -------------------------------------------
-- no fullscreen; screen resolution is just the window's dimensions;
-  any resolution (under the r_shared.h limits) is allowed; resize
-  by dragging window edges; removed -winsize, -height, -width
+- removed cvars:
+	-winsize, -height, -width
+	-condebug, -nostdout: useless
+	-record, -playback: broken and unused
+	-sndbits, -sndspeed, -sndmono
+	-cddev, -nocdaudio
+- no fullscreen; screen resolution is just the window's dimensions; any
+  resolution (under the r_shared.h limits) is allowed; resize by dragging window
+  edges
 - some stupid kbd/mouse bugs fixed; mouse grabbing actually grabs the mouse
-- removed -condebug, -nostdout: useless in plan9 (and unix?)
 - added m_windowed cvar (replacing _windowed_mouse), for mouse grabbing
 - ungrabs the mouse when main menu is accessed
-- removed -record, -playback: broken and unused
-- removed -sndbits, -sndspeed, -sndmono
-- removed -cddev -nocdaudio; cdaudio is just reading files
-- removed cd [on|off|reset|remap]: not quake's problem
+- removed cd [on|off|reset|remap] commands: not quake's problem
 
 
-shitty workarounds and other bullshit
+Shitty workarounds and other bullshit
 -------------------------------------
 - #pragma pack for stuff (structs) loaded from files
 - pr_strings assumed 32bit pointer arithmetic, so enter PR_GetStr(), which
@@ -82,8 +100,10 @@
   done better)
 - removal of stdio stuff probably not really warranted and possibly introduced
   bugs
+- pcx screenshots: the only reason to keep this code around is to be able to do
+  screenshots without tearing. that's it.
 
 
-legal
+Legal
 -----
 Quake, hence qk1, is licensed under the GPLv2. see COPYING for details.