plan9fox/sys/src
cinap_lenrek dd4c85cf3a games/doom: fix array offsets for respawn angle (thanks qu7uux)
mthing->angle is a signed short, and if ANG45 * mthing->angle/45 < 0, the
result of the right shift is sign extended.
afaik, an being 16bit in the dos version of doom, you'd endup with a
negative array offset, which would just access values from adjacent arrays
(finetangent[] for finecosine[], and finecosine[] for finesine[]), and it
would result in a misplaced teleport fog in some circumstances (fog is not
in front of the player on respawn, hence "silent teleport"). so, this fix is
bug incompatible, but this only affects live multiplay.
to test:
% hget http://doomedsda.us/dm/ahfx7_2.zip | unzip -sv
extracting AHFX7_2.TXT
extracting AHFX7_2.LMP
% mv AHFX7_2.LMP ahfx7_2.lmp
% games/doom -playdemo ahfx7_2
[...]
doom 10553: suicide: sys: trap: fault read addr=0x400429e10 pc=0x205b45
2015-08-16 22:12:11 +02:00
..
9 devether: duplicate flags when copying blocks (thanks erik quanstro) 2015-08-16 20:08:36 +02:00
ape ape: fix build for objtype=spim 2015-08-08 08:17:54 +02:00
boot 9boot: look for plan9.ini in all filesystems accessible to efi to find plan9 partition 2015-06-05 05:09:22 +02:00
cmd vc: word align automatics 2015-08-16 19:29:16 +02:00
games games/doom: fix array offsets for respawn angle (thanks qu7uux) 2015-08-16 22:12:11 +02:00
lib9p lib9p: make reqqueueflush() use new threadint(), which will also cover channel operations 2015-08-10 03:52:40 +02:00
libaml libaml: fix formating 2013-09-07 16:22:35 +02:00
libauth libauth: dont print blobs in auth_proxy error strings 2014-05-24 19:49:54 +02:00
libauthsrv libauthsrv: readnvram() use vlong for nvroff, parse $nvlen/$nvoff with strtol() instead of atoi() 2015-08-03 14:45:23 +02:00
libavl
libbin
libbio bio: add Bfdopen() from plan9port 2014-12-14 20:21:42 +01:00
libc libc: fix wunlock() libthread deadlock 2015-08-10 23:13:41 +02:00
libcomplete
libcontrol libcontrol: fix label memory leak 2015-08-16 00:04:27 -07:00
libdisk libdisk: error handling, sanity checks 2015-05-31 12:58:13 +02:00
libdraw libdraw: sync allocimage/allocwindow prototypes with man pages 2015-06-09 10:33:30 +02:00
libfis libfis: do not lie about logical sector units 2012-10-06 22:56:05 +02:00
libflate flate: fix wrong adler32() length calculation (thanks qrstuv) 2014-12-20 03:34:40 +01:00
libframe libframe: use correct text color on frinsert depending on selection (thanks sl) 2014-07-17 23:29:55 +02:00
libgeometry
libhtml libhtml: fix potential linked list corruption 2013-09-05 00:55:58 +02:00
libhttpd libhttpd: use strtol to parse decimal character references in httpunesc() 2015-08-03 15:26:33 +02:00
libip libip: skip ipv6 loopback address (thanks mischief) 2014-12-26 09:34:30 +01:00
libjson libjson: check for empty string in jsonparse() 2013-11-10 20:11:46 -05:00
liblex liblex: fix allprint() definition (from sources) 2012-10-03 18:18:01 +02:00
libmach libmach: remove redundant check for big endian 2015-08-05 06:37:02 -07:00
libmemdraw libdraw: use readn() to read headers and Fontchar array 2015-03-01 05:39:45 +01:00
libmemlayer draw: fix drawing of replicated source image on memlayer with a clip rectangle 2013-12-09 03:35:01 +01:00
libmp libmp: fix build for objtype=spim 2015-08-08 08:25:36 +02:00
libndb
liboventi
libplumb libplumb: search for plumber only at /mnt/plumb, and don't try to mount $plumbsrv if the search fails 2013-10-31 04:26:01 -04:00
libregexp
libscribble
libsec libsec: fix mistake breaking tlsServer() (thanks sl) 2015-08-16 02:38:44 +02:00
libstdio libstdio: avoid issues with aliasing in dtoa() on amd64 (from 9atom, thanks to erik and charles) 2014-06-12 20:14:12 +02:00
libString
libsunrpc
libthread libthread: use "interrupt" proc ctl message instead of posting a note for threadint() 2015-08-10 03:48:37 +02:00
libventi fix dangerous werrstr() usages 2014-11-07 12:51:59 +01:00
mkfile make libjson from /sys/src/cmd/btc/json.c 2013-10-27 15:44:33 -04:00
mkfile.proto fix library mkfiles for objtype=spim 2015-08-08 08:04:41 +02:00
NOTICE