the QuakeC interpreter used to use string pointer offsets from pr_strings
even when the pointers lead to engine data which is often well out of
32bit range on a 64bit architecture and they lead to crashes. they now
go through the new PR_SetEngineString and PR_GetString functions which
turn any address outside the pr_strings area into an index into a table
of engine string addresses, adding new string addresses to the table as
needed. the engine strings table is allocated with 256 entries at first
(see the PR_STRING_ALLOCSLOTS definition in pr_edict.c) and its size is
incremented by 256 as needed and re-allocated on the zone. managing that
allocation and reallocation is accomplished by the recently added Z_Realloc
function. implementation based on the uhexen2 (hexen2: hammer of thyrion)
engine which, in turn, is loosely based on twilight and quakeforge engines.
pr_strings range check is from tyrquake.
pr_edict.c: added the new PR_SetEngineString, PR_GetString, PR_AllocString
public functions and the new private PR_AllocStringSlots function. made
ED_NewString private to pr_edict.c and reworked it to return an index to a
newly allocated string.
progs.h: added prototypes for the new public PR_SetEngineString, PR_GetString
and PR_AllocString functions.
host_cmd.c, pr_cmds.c, pr_edict.c, pr_exec.c, progs.h, sv_main.c, sv_phys.c:
modifed to use the new PR_SetEngineString and PR_GetString functions.
git-svn-id: svn+ssh://svn.code.sf.net/p/quakespasm/code/trunk@38 af15c1b1-3010-417e-b628-4374ebc0bcbd
order to handle many prints in ftos and vtos calls.
git-svn-id: svn+ssh://svn.code.sf.net/p/quakespasm/code/trunk@36 af15c1b1-3010-417e-b628-4374ebc0bcbd
pr_edict.c (type_size): make it 1, not sizeof(void*)/4, because quake progs
is strictly 32 bits where sizeof(void*) is 4.
git-svn-id: svn+ssh://svn.code.sf.net/p/quakespasm/code/trunk@35 af15c1b1-3010-417e-b628-4374ebc0bcbd
gl_draw.c, gl_model.c, gl_sky.c, gl_texmgr.c, gl_texmgr.h, r_alias.c,
r_brush.c, r_part.c, r_world.c, snd_mem.c. next step will be server
side (progs) work which is actually the heart of the problems.
git-svn-id: svn+ssh://svn.code.sf.net/p/quakespasm/code/trunk@34 af15c1b1-3010-417e-b628-4374ebc0bcbd
common.h, gl_vidsdl.c, mathlib.h, zone.c, zone.h. added Z_Realloc as a
new function (will be used later.) next step will be type correctness
work in opengl stuff.
git-svn-id: svn+ssh://svn.code.sf.net/p/quakespasm/code/trunk@33 af15c1b1-3010-417e-b628-4374ebc0bcbd
use the QUAKESPASM_VER_PATCH to append to the FITZQUAKE_VERSION.
git-svn-id: svn+ssh://svn.code.sf.net/p/quakespasm/code/trunk@30 af15c1b1-3010-417e-b628-4374ebc0bcbd
(QUAKESPASM_VER_PATCH): define as 1 for now (helper to print a string like
0.85.1)
git-svn-id: svn+ssh://svn.code.sf.net/p/quakespasm/code/trunk@29 af15c1b1-3010-417e-b628-4374ebc0bcbd
skill. (patch by Steven, modified to utilize cl.mapname by OZ.)
git-svn-id: svn+ssh://svn.code.sf.net/p/quakespasm/code/trunk@28 af15c1b1-3010-417e-b628-4374ebc0bcbd
gl_draw.c (Draw_ClearMenuPicCache): VID_Restart procedures does not seem to
clear the menu picture cache. Added this new tiny helper to do that job.
gl_vidsdl.c (VID_Restart): do call Draw_ClearMenuPicCache().
git-svn-id: svn+ssh://svn.code.sf.net/p/quakespasm/code/trunk@23 af15c1b1-3010-417e-b628-4374ebc0bcbd
any more: changed the mask from KMOD_LSHIFT to KMOD_SHIFT.
git-svn-id: svn+ssh://svn.code.sf.net/p/quakespasm/code/trunk@22 af15c1b1-3010-417e-b628-4374ebc0bcbd
cvar.h, draw.h, gl_draw.c, gl_fog.c, gl_mesh.c, gl_model.c, gl_model.h,
gl_rmain.c, gl_rmisc.c, gl_screen.c, gl_sky.c, gl_texmgr.c, glquake.h,
host.c, keys.c, keys.h, main.c, menu.c, menu.h, pr_cmds.c, quakedef.h,
r_alias.c, r_brush.c, r_part.c, r_sprite.c, r_world.c, sbar.c, sbar.h,
screen.h, snd_dma.c, snd_mem.c, snd_mix.c, sv_main.c, sys_sdl.c, vid.h,
view.h, world.c, world.h: Loads of warning fixes about missing function
prototypes, missing parens around &, missing braces leading to ambiguous
else statements and unused and uninitialized variables. There are still a
couple of unitialised variables here and there, but not much. The warnings
about strict aliasing violations need taking care of.
git-svn-id: svn+ssh://svn.code.sf.net/p/quakespasm/code/trunk@21 af15c1b1-3010-417e-b628-4374ebc0bcbd
of cmdline string only if there is one. print out the command line as an
informational message.
git-svn-id: svn+ssh://svn.code.sf.net/p/quakespasm/code/trunk@19 af15c1b1-3010-417e-b628-4374ebc0bcbd
port (on Unix, argv[0] is command name and is not empty).
git-svn-id: svn+ssh://svn.code.sf.net/p/quakespasm/code/trunk@18 af15c1b1-3010-417e-b628-4374ebc0bcbd
current map file name without path and extension.
cl_parse.c (CL_ParseServerInfo): copy the naked name of the map file to
the cl structure.
host_cmd.c (Host_Map_f): print the current map name if no arguments are
given. print help message if not connected.
git-svn-id: svn+ssh://svn.code.sf.net/p/quakespasm/code/trunk@16 af15c1b1-3010-417e-b628-4374ebc0bcbd
using SDL. Works only under X11.
keys.c (Key_Event): Moved ALT-Enter windowed-fulscreen toggle handling to
main() in main.c so that it works properly for now.
main.c (main): Moved ALT-Enter windowed-fulscreen toggle handling from
keys.c to main() so that it works properly for now.
git-svn-id: svn+ssh://svn.code.sf.net/p/quakespasm/code/trunk@14 af15c1b1-3010-417e-b628-4374ebc0bcbd
alternative to -window command line switch. added new -f and -fullscreen
command line switches. added comments about the problems being encountered
when default mode is fullscreen.
git-svn-id: svn+ssh://svn.code.sf.net/p/quakespasm/code/trunk@13 af15c1b1-3010-417e-b628-4374ebc0bcbd
gl_draw.c (scr_conalpha): change value from 1.0 to 0.5
gl_rmain.c (r_shadows): write to config.cfg.
gl_rmain.c (r_wateralpha): write to config.cfg.
gl_rmain.c (r_dynamic): write to config.cfg.
gl_rmain.c (r_novis): write to config.cfg.
gl_rmain.c (gl_flashblend): change to 0 (disable) and write to config.cfg.
gl_screen.c (scr_conspeed): change value from 300 to 500
gl_vidsdl.c (vid_fullscreen): change value to 0 (disable)
gl_vidsdl.c (vid_width): change value from 640 to 800
gl_vidsdl.c (vid_height): change value from 480 to 600
git-svn-id: svn+ssh://svn.code.sf.net/p/quakespasm/code/trunk@11 af15c1b1-3010-417e-b628-4374ebc0bcbd
locking. removed simsound. removed unused S_AmbientOff() and S_AmbientOn(). other
multiple cleanups and fixes.
snd_sdl.c: replaced the old broken implementation which used to cause LRU failures
with the one adapted from the uhexen2 project.
sound.h: added missing prototypes, including the new SNDDMA_LockBuffer().
git-svn-id: svn+ssh://svn.code.sf.net/p/quakespasm/code/trunk@6 af15c1b1-3010-417e-b628-4374ebc0bcbd