By doing this we still adapt to widescreen resolutions automatically,
but we now keep the horizontal FOV a constant for any given resolution.
E.g. if the aspect of the viewport changes (for instance when the user
changes the statusbar from transparent to solid) we adapt the vertical
FOV instead of the horizontal FOV (like original GLQuake does). For any
4:3 screen resolution quakespasm now behaves the same with or without
fov_adapt set, regardless of viewport size/aspect. This fixes the issue
reported by mh at http://forums.inside3d.com/viewtopic.php?f=1&t=5166.
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@872 af15c1b1-3010-417e-b628-4374ebc0bcbd
by locale-insensitive versions, new header q_ctype.h.
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@868 af15c1b1-3010-417e-b628-4374ebc0bcbd
tidy-ups in FS* stdio replacement functions. add new FS_filelength.
snd codec layer updates: changed codec_open() to operate only on a
stream pointer and moved all file open/close stuff to snd_codec.c.
codec_open now only returns true or false upon success or failure
instead of a stream pointer. added new snd_codec.c toplevel helper
S_CodecForwardStream(), which allows one codec to hand over its
stream from its codec_open() to another codec. Support for tracker
(mod) music, including support for Unreal umx containers. (might
be useful if we ever make a Nehahra version of the engine some day.
edit the makefiles to enable when compiling.)
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@867 af15c1b1-3010-417e-b628-4374ebc0bcbd
they seem to be in native-endian format. thanks to Levent Yavas
for testing on a big endian platform (ppc/OSX 10.4).
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@864 af15c1b1-3010-417e-b628-4374ebc0bcbd
as it may be a short but still a valid file.
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@860 af15c1b1-3010-417e-b628-4374ebc0bcbd
and add a new blocksize field to it which the flac decoder can
use. updated decoder sources for the snd_info_t changes, where
I made minor tidy-ups too, tightening several format checks and
fixing a few gotchas in snd_wave.c and snd_mem.c.
* snd_flac.c: adjusted for snd_info_t changes. no longed storing
metadata->data.stream_info in our private data, but just storing
a pointer to the stream->info structure. No longer checking the
metadata total_samples field (the FLAC__StreamMetadata_StreamInfo
doesn't seem to have any alignment or pack attributes and I don't
safe with its offset across different compilers), but added check
to make sure that we hit and parsed a STREAMINFO metadata instead,
and our new state seems just fine for validating the file.
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@859 af15c1b1-3010-417e-b628-4374ebc0bcbd
it is not enabled by default, edit the Makefile for USE_CODEC_FLAC,
or add USE_CODEC_FLAC=1 to your make command line arguments. Xcode
project file still needs updating for this.
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@857 af15c1b1-3010-417e-b628-4374ebc0bcbd
check. (the functionality doesn't change. from tyrquake git repo.)
minor tidy-up.
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@843 af15c1b1-3010-417e-b628-4374ebc0bcbd
init'ing avelocities, thanks to a -Waggressive-loop-optimizations
warning from gcc-4.8.
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@842 af15c1b1-3010-417e-b628-4374ebc0bcbd
fails even with an existing map, issue a Host_Error().
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@827 af15c1b1-3010-417e-b628-4374ebc0bcbd
file handles which would end up in a Sys_Error () due to consuming all
free handles if many maps reside not in pak files.
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@825 af15c1b1-3010-417e-b628-4374ebc0bcbd
performance boost on some systems. add GL_BGRA as an option, thanks
to Kristian Duske. the format is hardcoded as GL_RGBA for now,
need a way to make it configurable later.
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@813 af15c1b1-3010-417e-b628-4374ebc0bcbd
AFAICS this is not needed for SDL, and it in fact
breaks weird widescreen resolutions such as 1280x600.
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@798 af15c1b1-3010-417e-b628-4374ebc0bcbd
A bit of a hack, this should really be controlled by a
separate "cl_alwaysrun" cvar, but lets stick to this for
backward compatibility for now.
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@797 af15c1b1-3010-417e-b628-4374ebc0bcbd
support for C-style /*..*/ comments in COM_Parse(). some whitespace
tidy-up.
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@795 af15c1b1-3010-417e-b628-4374ebc0bcbd
PR_GlobalStringNoContents): increase static line buffer size to
512, so that excessively long global strings don't cause a crash.
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@791 af15c1b1-3010-417e-b628-4374ebc0bcbd
calls to Host_Error(). ED_PrintEdict_f(),ED_PrintEdicts() and ED_Count()
require an active server to print any infos. ED_PrintEdict_f cannot work
with a negative argument.
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@788 af15c1b1-3010-417e-b628-4374ebc0bcbd
doesn't change, load the texinfo in a way consistent with the
layout of the vecs in the mtexinfo_t struct. from a recent commit
in tyr-quake git repo.
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@786 af15c1b1-3010-417e-b628-4374ebc0bcbd
VID_SetMode() to VID_Restart() so they aren't called twice at startup.
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@784 af15c1b1-3010-417e-b628-4374ebc0bcbd
ServerSpawn already do this by Host_ClearMemory.
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@782 af15c1b1-3010-417e-b628-4374ebc0bcbd
need to kill device and rendering contexts too, will see to that later.
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@781 af15c1b1-3010-417e-b628-4374ebc0bcbd
the Makefile whenever I want to use clang.
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@776 af15c1b1-3010-417e-b628-4374ebc0bcbd
key_dest changes matter to the keyboard driver, e.g. sending KP_
key decisions, or SDL unicode stuff. we run it every frame either
before Sys_SendKeyEvents() or from within Key_ForceDest() for now.
(merged from uhexen2.)
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@773 af15c1b1-3010-417e-b628-4374ebc0bcbd
do not set messagemode when not really connected. made chat_buffer[] and
chat_bufferlen static to keys.c. console.c uses new Key_GetChatBuffer()
and Key_GetChatMsgLen() accessor functions. renamed team_message global
to chat_team as in qw/q2. added Key_EndChat() as a new helper. called
Key_EndChat() from within CL_Disconnect() to not get stuck in chat mode.
now that key_message is guaranteed to be set only in game mode, removed
its cases from Key_ForceDest(). several other cleanups.
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@771 af15c1b1-3010-417e-b628-4374ebc0bcbd
config.cfg write of unbindall to Key_WriteBindings().
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@768 af15c1b1-3010-417e-b628-4374ebc0bcbd
case for paste request.
* keys.h: added K_COMMAND as a new key (170 for now).
* in_sdl.c (IN_SendKeyEvents): translate SDLK_LMETA/SDLK_RMETA as
K_COMMAND. ignore unhandled SDLK_WORLD_* international characters.
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@746 af15c1b1-3010-417e-b628-4374ebc0bcbd
strcpy() calls by proper memmove() calls. activated (and fixed) Ctrl-V
text pasting support from OS clipboard (only works on windows for now.)
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@742 af15c1b1-3010-417e-b628-4374ebc0bcbd
not 10.5 (SDL's requirement). needed adding bundle1.o to linkage
for dyld_stub_binding_helper.
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@716 af15c1b1-3010-417e-b628-4374ebc0bcbd
the linker flags for x86_64 builds. adjusted accordingly.
- build_cross_osx.sh, build_cross_win32.sh, build_cross_win64.sh:
added the cross-compile scripts I have been using.
- Makefiles,other: added LDFLAGS variables for future use.
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@704 af15c1b1-3010-417e-b628-4374ebc0bcbd
not rely on sdl-config on OSX Framework builds, define new SDL_FRAMEWORK
and NO_SDL_CONFIG preprocessor macros to indicate that and include SDL.h
with the "SDL" subdirectory name included. Add new libmad and ogg/vorbis
headers and static and dynamic libraries for macosx. Xcode project files
need further updating.
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@699 af15c1b1-3010-417e-b628-4374ebc0bcbd
continue if the map cannot be started. do not continue if the demo
file cannot be opened for the timedemo command. for playdemo, verify
that the forcetrack '\n' byte appears among the very first 12 bytes
of the file.
* r_world.c (R_MarkSurfaces): reset vis_changed to false.
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@696 af15c1b1-3010-417e-b628-4374ebc0bcbd
intermission glitch which isn't hit easily. See Baker's notice at:
http://forums.inside3d.com/viewtopic.php?t=4944
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@695 af15c1b1-3010-417e-b628-4374ebc0bcbd
Removed dead Cache_Compact() function. Made mainzone static to zone.c.
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@689 af15c1b1-3010-417e-b628-4374ebc0bcbd
* key.c (Key_ClearStates): Instead of clearing all key's down state
and repeat count, run KeyEvent(k,false) keys in down state, which
will already clear those states for them. This also helps getting
rid of several actions bound to keypad keys. Minor cleanups.
* gl_vidsdl.c (ClearAllStates): Removed code triggering every key
with a release event, because we just changed Key_ClearStates() to
do that for the necessary keys.
* in_sdl.c: Minor cleanups. Made K_KP_5 to send '5' when not in game
mode, regardless of the numlock status. Moved prev_gamekey to top
level and call SDL_EnableUNICODE() correctly.
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@686 af15c1b1-3010-417e-b628-4374ebc0bcbd
of channels in the music file is supported, i.e. either stereo or
mono. Minor tidy up of the error return paths.
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@661 af15c1b1-3010-417e-b628-4374ebc0bcbd
timerefresh command not to draw to the front buffer. also made sure
that there is an active connection when timerefresh is called.
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@660 af15c1b1-3010-417e-b628-4374ebc0bcbd
registered cvar as 1, set it right in COM_CheckRegistered(). fixes the
problem of registered game installed from later versions of cdroms not
being properly recognized by versions 0.85.6 and 0.85.7.
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@658 af15c1b1-3010-417e-b628-4374ebc0bcbd
For menu serverlist handling, added new procedures NET_SlistSort,
NET_SlistPrintServer and NET_SlistPrintServerName. Added new
procedure NET_QSocketGetTime for status and spawn commands' print
functionality in host_cmd.c. Added new NET_QSocketGetAddressString
procedure for status and connect commands' print functionality in
host_cmd.c and sv_main.c. Patch ported over from uhexen2.
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@657 af15c1b1-3010-417e-b628-4374ebc0bcbd
to sys_socket_t.
* updated version date stamp to 2012-04-01.
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@656 af15c1b1-3010-417e-b628-4374ebc0bcbd
so that the corresponding shareware versions actually work properly and
not error out.
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@654 af15c1b1-3010-417e-b628-4374ebc0bcbd
an inline function using a float/int union instead of the original
macro.
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@650 af15c1b1-3010-417e-b628-4374ebc0bcbd
viddef_t from unsigned to signed int. fixed the -Wsign-compare warnings
for NUM_GLMODES. fixed compilation using g++, by adding a missing type
cast.
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@641 af15c1b1-3010-417e-b628-4374ebc0bcbd
text. Fixes executed files without a newline at the end of them eating up
followup commands.
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@639 af15c1b1-3010-417e-b628-4374ebc0bcbd
report files which aren't found only if developer.value >= 2, i.e. used
Con_DPrintf2 of fitz for the first time since its creation.. would have
been better if I'd implement and use Sys_DPrintf() there.
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@634 af15c1b1-3010-417e-b628-4374ebc0bcbd
reloading of images from the bsp by not loading the whole file but by
opening the file, fseek()ing and allocating only the necessary amount.
This way, I can load and reload a save of ne_ruins with just the default
64 Mb of memory on x86 and with only 68.5 Mb of memory (-heapsize 70000)
on x86_64.
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@633 af15c1b1-3010-417e-b628-4374ebc0bcbd
"comparison of unsigned expression >= 0 is always true" warning for
to_skip_samples.
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@624 af15c1b1-3010-417e-b628-4374ebc0bcbd
This has the benefit that it is stored in "config.cfg",
and is reset by "resetall" and "resetcfg". Other than
that though, it behaves exactly the same as before.
(The same console input will lead to the same result
as before when it was a command.)
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@617 af15c1b1-3010-417e-b628-4374ebc0bcbd
- Make it reset only those cvar's that are saved to config.cfg.
- Make it as the user for confirmation.
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@609 af15c1b1-3010-417e-b628-4374ebc0bcbd
of the new cvar to use the new cvar flags.
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@601 af15c1b1-3010-417e-b628-4374ebc0bcbd
(Enter "r_nolerp_list" in the console for an example.)
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@595 af15c1b1-3010-417e-b628-4374ebc0bcbd
GL_CheckExtensions() set gl_swap_control as true.
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@582 af15c1b1-3010-417e-b628-4374ebc0bcbd
the vid_fullscreen callback function setting vid_changed to true.
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@577 af15c1b1-3010-417e-b628-4374ebc0bcbd
moved its calling from COM_Init() to Host_Init() just after COM_Init().
Moved registration of registered and cmdline cvars and COM_Path_f command
and the calling of COM_CheckRegistered() to COM_InitFilesystem(). Removed
unused memsearch(). Fixed the stupidity in leading space elimination from
com_cmdline.
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@573 af15c1b1-3010-417e-b628-4374ebc0bcbd
Cvar_FindVarAfter. Don't expose cvar_vars directly and use Cvar_FindVarAfter
instead. several typo fixes, etc.
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@570 af15c1b1-3010-417e-b628-4374ebc0bcbd
and set some basic flags, but then let functions to set it. Added Cvar_SetQuick
and Cvar_SetValueQuick which accept a cvar pointer instead of a var name, but
identical to the non-Quick versions otherwise. Made Cvar_SetValue to print the
value as an integer if the float value is the same when cast to an int; if not,
made it to strip the trailing zeroes in the string.
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@569 af15c1b1-3010-417e-b628-4374ebc0bcbd
CCREQ_RULE_INFO is evil...
while I was there, did some whitespace clean-up in common.c.
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@568 af15c1b1-3010-417e-b628-4374ebc0bcbd
use the callbacks for scr_fov, scr_viewsize, scr_conwidth & scr_conscale
changes by simply setting vid.recalc_refdef to 1: now that Cvar_Set()
doesn't do anything when there is no change, this has the same effect.
* snd_dma.c: removed oldvol, set a callback to sfxvol in order to call
SND_InitScaletable() upon every volume change.
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@567 af15c1b1-3010-417e-b628-4374ebc0bcbd
- removed the archive and server members of cvar_t structure
which are now represented by the CVAR_ARCHIVE, CVAR_NOTIFY
and CVAR_SERVERINFO flags.
- added new Cvar_SetROM and Cvar_SetValueROM functions to
set vars marked as CVAR_ROM (read-only vars) programaticaly
- added Cvar_SetCallback() as a new function to assign (or
remove) a callback function to a cvar.
- changed Cvar_RegisterVariable() to only accept a var pointer
as in original quake
- moved notification handling from Cvar_Set() to callbacks.
- changed Cvar_Set() so that it doesn't reallocate the var's
string buffer if nothing is changed, nor does it run the
var's callback.
- changed the 'registered' and 'cmdline' cvars to be read-only
so that the users can't change it using the console. (and
with 'registered' flagged as CVAR_ROM, the 'static_registered'
thing is no longer required)
- added comment that sending cmdline upon CCREQ_RULE_INFO is
evil...
- more to follow later.
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@566 af15c1b1-3010-417e-b628-4374ebc0bcbd
server: R_Init() isn't called for dedicated server therefore gl_subdivide_size
was used without being registered hence divisions by zero when using its value
member. Geez.. Moved its registration to Mod_Init() and we are good.
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@565 af15c1b1-3010-417e-b628-4374ebc0bcbd
instead of FS_fseek(). From Sander van Dijk.
cfgfile.c, cfgfile.h: synced with uhexen2 versions.
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@564 af15c1b1-3010-417e-b628-4374ebc0bcbd
if zero size was passed. From Sander van Dijk.
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@563 af15c1b1-3010-417e-b628-4374ebc0bcbd