📄 changelog
字号:
* code/ui/ui_main.c: below.
* code/q3_ui/ui_main.c: UI_HASUNIQUECDKEY comment.
Note: mods have to return qfalse. See Bug #2890 in Fenris.
2001-01-17 Bernd Kreimeier <bk@lokigames.com>
* BETA2: finished testing, uploaded to id's FTP for release.
2001-01-16 Bernd Kreimeier <bk@lokigames.com>
* CVS: checking in preparation for Beta2.
cvs tag id1-27h-loki010116-beta2
* SOS: new bspc "2.1e". No change on 1.27h.
* TEST: patch-up seems to work fine. No new files have been added
to the linkage (i.e. the ft2/ files now added), so we might not be
feature complete.
* code/game/g_active.c (ClientThink_real): id MISSIONPACK
conditional in addition to the ones I added earlier.
* code/qcommon/files.c: REJECT. Linux hack for userdir threw it off.
* code/qcommon/unzip.c: REJECT. CRC-32 section removed.
Later: unused tempB
* code/q3_ui/ui_syscalls.asm: REJECT. Start/StopBackgroundTrack.
* code/ui/ui_syscalls.asm: REJECT. syscalls ids from 1.27h
as of SOS (floor/ceil - will this ever get straightened out)
* code/win32/win_input.c: REJECT. g_pMouse edit.
* ui/menus.txt: REJECT. Replaced with 1.27h version.
Note: some more due to $SOS$.
* ui/: new scripts.
cinematicmenu.menu, demo_quit.menu, ingame.txt, serverinfo_old.menu
vid_restart.menu
* code/ft2/ttconfig.h: below.
* code/ft2/sfconfig.h: below.
* code/ft2/pstables.h: below.
* code/ft2/psnames.c: below.
* code/ft2/psdriver.h/c: below.
* code/ft2/keys.h: below.
* code/ft2/ftbbox.c: new in 1.27h
* code/cgame/cg_newdraw.c: beware: cg_newDraw.c gets lost in diff easily.
* code/cgame/cg_rankings.c: file removed from SOS.
2001-01-15 Bernd Kreimeier <bk@lokigames.com>
* Patch-up: patching up from RC4 to 1.27h current.
No changes since 010112 snapshot.
ln -s sos010112/ work
diff -urbB sos001204-rc4/ work > work.diff
ln -s cvs-1.27g/ work
patch -p0 < work.diff > work.patch
find cvs1.27g/ -name '*.rej' -print
* SOS: adding the remaining SOS snapshots to CVS.
cvs import Quake3_sos sos001211 pr1-27g-win32-001211
Note: at this point id warned about repository corruption.
Watch out for the syscall stuff in particular.
cvs import Quake3_sos sos010104 pr1-27g-win32-010104
cvs import Quake3_sos sos010108 pr1-27h-win32-010108
cvs import Quake3_sos sos010110 pr1-27h-win32-010110
cvs import Quake3_sos sos010112 pr1-27h-win32-010112
Note: the first 1.27h might be the public (server only)
beta released, the second one was post release. Beware
of source files added and removed (botlib headers, FT2).
Note: why so late? Don't ask...
2001-01-08 Bernd Kreimeier <bk@lokigames.com>
* SOS: id's working up to 1.27h (server side fix for
Guard exploit seems to force earlier release). Updating
CVS (most of the changes are debug code put in and
then disabled, plus some fixes as below). Next patching
up to current SOS.
2001-01-07 Bernd Kreimeier <bk@lokigames.com>
* Makefile: need to rework this for multiple platforms.
We also need null/null_vm.c for platforms where we don't
have JIT (assembly emit).
2001-01-04 Bernd Kreimeier <bk@lokigames.com>
* code/q3_ui/ui_connect.c (UI_DisplayDownloadInfo): time
information for current (vs. start of download) is wrong,
thus negative 1 "estimated time", as well as transfer
rate just negative downloadSize. Not fixed.
* code/unix/unix_main.c (Sys_ParseArgs): added.
Note: for support/us, to identify builts. This is only
a skeleton right now - if I ever feel the need to support
more than "-v" and "--version" I'll have to flesh this out.
* code/unix/linux_glimp.c (signal_handler): see below.
* code/unix/unix_main.c (Sys_Exit): added an abstraction
layer for exit/_exit/assert/raise issues.
Note: need both a better debug/backtrace handling, and
have to find a way to determine why/where the alleged
startup/exit errors happen...
2001-01-03 Bernd Kreimeier <bk@lokigames.com>
* code/game/g_mem.c (G_Alloc): ERR_DROP initiated by
addbot commands for large sv_maxclients, allegedly
caused segfaults in 1.17. Not reproducible.
TODO: recover more gracefully from failure to add bot?
* code/renderer/tr_light.c (R_LightForPoint): Tim Angus
reports a crashbug with nolight maps. Also assertion in
R_SetupEntityLightingGrid, might want conditional there.
DONE: fixed crash on LightForPoint for nolight maps.
* code/qcommon/qcommon.h: NUM_SERVER_PORTS. A feature
request to increase this, or make it more flexible
otherwise (Fenris).
TODO: id decision on more flexible NUM_SERVER_PORTS.
2001-01-02 Bernd Kreimeier <bk@lokigames.com>
* code/unix/snapvector.nasm: fixed FPU bit (the current
one had reserved bits off, behavior should not change).
* code/qcommon/vm_x86.c: fixed symbols (below).
* code/unix/ftol.nasm: FPU bits weren't correct (duh).
DONE: shoot-though floor (q3dm5)
DONE: cursor-in-rect off (TA/Player model selection)
Note: in gdb, "disassemble <funcname>" is your friend.
* code/cgame/cg_public.h: CG_MEMSET is set to 100. In
cg_syscalls.asm it's 101. If I change it I get Bad trap 100
from the cgame VM code, so the 1.27g "official" VM code
uses it.
* code/unix/linux_common.c: have to fall back to C, the
current assembly is buggy...
* code/unix/Makefile (linux_common.o): added.
Later: also for dedicated. Less portable this way.
TODO: C_ONLY for dedicated on non-i386 only?
* code/qcommon/common.c: do not use memcpy/memset under Linux.
* code/unix/linux_common.c: added Andrew's assembly port.
TODO: C_ONLY for Com_Memset/Memcpy? Conditionals are fubared.
* code/qcommon/vm.c (VM_Init): use Win32 defaults (do not
use DLL's by default). This exposes DLL rounding errors
(damage through floors), and we don't want DLL's used by
default anyway.
TODO: why vm_ui default of 1?
* code/botlib/l_precomp.c (SourceWarning): removed assert.
* code/game/bg_lib.c (acos): defined, but we don't actually
use it except where the cg_syscalls.asm trap is used.
* code/game/g_public.h: missing lots of trap tokens.
* code/game/g_syscalls.c: missing lots of traps.
* code/game/g_syscalls.asm: more inconsistent hooks, were:
equ floor -111
equ ceil -112
equ testPrintInt -113
equ testPrintFloat -114
now changed to match cg_syscalls.
Note: fixed this in UI earlier, how did this slip through
the diffs against SOS?
* code/game/g_syscalls.c: no acos hook.
* code/cgame/cg_syscalls.c: no acos hook.
* code/cgame/cg_syscalls.asm: has acos hook as -112
Note: report from Tim Angus. The acos function is in bg_lib.c
which is linked only into ui (not q3_ui). That means we are
using libc acos right now?
Note: QVM traps are negative?
* BSD/Irix: tagged current CVS (not all of the below) as
cvs tag id1-27g-loki010102-bsd1
for BSD work (Rafael Barrero). Also be used for Irix update.
2001-01-01 Bernd Kreimeier <bk@lokigames.com>
* SOS: adding the remaining SOS snapshots to CVS.
cvs import Quake3_sos sos001201-rc3 pr1-27f-win32-001201-rc3
cvs import Quake3_sos sos001202 pr1-27f-win32-001202
cvs import Quake3_sos sos001204 pr1-27g-win32-001204-rc4
This is the codebase to which the Linux branch has been patched
up. I can't verify whether this is identical to the RC4 codebase
as the tag doesn't work (but can check against the ZIP file..)
cvs import Quake3_sos sos001211 pr1-27g-win32-001211
The above snapshot contains a (post-release?) fix to ui_syscalls
in ui/ and q3_ui/. This change has been used in Linux (Beta1 and
above). At this point, id discouraged further use of SOS due to
repository corruption on their end. No further snapshots were
taken since.
* Fenris: since the release of the Beta1 bugs have been
maintained at http://fenris.lokigames.com/. I am going to
list issues here as they get fixed.
2000-12-21 Bernd Kreimeier <bk@lokigames.com>
* code/renderer/tr_font.c: graceful silence with old mods?
* code/botlib/l_precomp.c (SourceWarning): graceful exit if old mod?
2000-12-20 Bernd Kreimeier <bk@lokigames.com>
* code/server/sv_ccmds.c (SV_MapRestart_f): see below.
* code/qcommon/vm.c: currentVM is 0x0 in VM_ArgPtr.
In VM_Call, oldVM was NULL - made conditional the
reset of currentVM to oldVM.
2000-12-18 Bernd Kreimeier <bk@lokigames.com>
* BETA1: closed Linux beta release. Stripped debug
and release binaries, DLL's, and pak4.pk3. CVS checkin,
will be tagged as
cvs tag id1-27g-loki001218-beta1
Later: id added a pak5.pk3 to the Win32 point release,
added this to the BETA1 best.
* code/qcommon/vm_x86.c: C37F.
* code/unix/snapvector.nasm: C37F.
Note: short of any real evidence, I gamble and use max.
precision (as well as default Linux precision, but NOT
Win32 precision). It seems that precision change is not
really an issue (despite Graeme's claim that the cursor
in the menu was/is off). I also pick the roundiung behavior
that is seemingly used by ANSI and gcc (but possibly not
Win32 _ftol depending on build).
2000-12-15 Bernd Kreimeier <bk@lokigames.com>
* code/unix/Makefile: added snapvector.o
* code/unix/unix_shared.c: #if 0'ed the old snapvector code.
* code/unix/snapvector.nasm (Sys_SnapVectorCW): two new
assembly functions from AndrewH that explicitely set the
FPU control word to convert vec3_t, to ensure cross-platform
behavior for both DLL and QVM.
* code/unix/ftol.nasm (Q_ftolC37F): for globals.
* code/unix/unix_main.c: took out global FPU manipulation.
For clarity this should be VM only.
* code/qcommon/vm_x86.c: added prototypes for the ftol
library. To select a specific behavior for the entire VM,
set ftolPtr accordingly.
Later: the GCC ftol function of course affect the stack
(there is no "declspec naked"). The problem seems to be
that the VM never handles the stack in a way compatible
to regular gcc C functions. For some odd reason _ftol seems
to do the right thing under Win32. All 4 control words
implemented at the moment work just fine with the menus.
* code/unix/ftol.nasm: added a small library of "safe" qftol
variations that explicitely set the control word to the
relevant (4) possibilities.
2000-12-13 Bernd Kreimeier <bk@lokigames.com>
* code/qcommon/vm_x86.c: an entire day spent trying to nail
the ftol issues. It breaks down like this: id used to use
an unsafe (no setting FPU control word) fistp. That seemingly
caused subtle physics bugs which nobody cared about in 1.17.
They then changed the UI code, and ran into the UI bugs:
menu entries shifted to the right, fonts vanishing. Then
they switched to using _ftol. Then they had to reproduce
the old behavior for the physics code due to public outrage.
My original port used a simple (long)float cast, which gcc
seemingly compiles to code that does OR 0C00 on whatever
current control word (precision unchanged). This breaks the
menus. If I use the unprotected fistp instead, which should
(Linux 037F default) use "nearest/even", then my menus are
correct. That would mean Win32 _ftol in id's compile does
the same, only that would require /qifist or some equivalent
compile flag, which I can't find. Two disassemblies of _ftol
I got from others showed OR 0C00 as part of the default (ANSI)
behavior.
2000-12-13 Bernd Kreimeier <bk@lokigames.com>
* code/game/bg_pmove.c (PmoveSingle): trap_SnapVector.
The one true and single call to snap velocity.
Note: bspc/map.c:void SnapVector(vec3_t normal)
qcommon/cm_patch.c:void CM_SnapVector(vec3_t normal)
game/q_shared.h: #define SnapVector(v
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -