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
libauth
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
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
libflate
libframe
libgeometry
libhtml
libhttpd libhttpd: use strtol to parse decimal character references in httpunesc() 2015-08-03 15:26:33 +02:00
libip
libjson
liblex
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
libmp libmp: fix build for objtype=spim 2015-08-08 08:25:36 +02:00
libndb
liboventi
libplumb
libregexp
libscribble
libsec libsec: fix mistake breaking tlsServer() (thanks sl) 2015-08-16 02:38:44 +02:00
libstdio
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
mkfile
mkfile.proto fix library mkfiles for objtype=spim 2015-08-08 08:04:41 +02:00
NOTICE