Commit graph

1035 commits

Author SHA1 Message Date
Sander van Dijk
2c177df399 input: Minor addition to r1077.
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1079 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-10-02 19:34:33 +00:00
Sander van Dijk
1ab2cbde9b input: Support for "plain" numpad keys in the menu/console (still todo: numpad translation).
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1078 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-10-02 19:21:52 +00:00
Sander van Dijk
8d0cb0086a input: More text input restructuring.
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1077 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-10-02 19:00:42 +00:00
Sander van Dijk
856f94fac8 input: Some text input restructuring in preparation of numpad translation support.
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1075 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-09-30 19:29:58 +00:00
Sander van Dijk
ad7ac7caf6 Revert r1073.
I read that comment as "bindings for these keys won't execute when in the menu", but it should be read as "no new bindings can be made for these keys through the bindings sub-menu", which is actually correct.


git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1074 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-09-30 06:18:31 +00:00
Sander van Dijk
ddf7f188d1 keys.c: Correct a typo in a comment.
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1073 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-09-29 18:33:20 +00:00
Sander van Dijk
f30f590ec7 keys.c: Remove shift interpretation.
This never really belonged in keys.c (should have been handled in the backend instead), but now that we have separated Key_Event()/Char_Event() this no longer serves any purpose at all.


git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1072 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-09-29 18:31:41 +00:00
Eric Wasylishen
26c1b63c00 sv_main: Second part of fixing the MAX_ENT_LEAFS issue (after bumping MAX_ENT_LEAFS to 32 in r967).
If an entity is visilbe from MAX_ENT_LEAFS (32) or more leafs, don't try to vis-cull it, just send it to the client.
This should completely eliminate any flickering entities, no matter how many leafs they're visible from.

This could potentially increase packet sizes a bit.. but ent->num_leafs == 32 never happens in id1 epsiode 1, so it will not cause any increase on those maps.
hip1m1 has one entity (a rotator) that is caught by this change and will be always sent.

see e.g.
http://forums.inside3d.com/viewtopic.php?f=1&t=5554
http://www.celephais.net/board/view_thread.php?id=60452&start=1235

git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1069 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-09-28 19:02:27 +00:00
Sander van Dijk
cebef615e5 input: Rework the text/non-text input mode handling.
Before, "gamekey" was the special case, now "textmode" is. We are now more precise about when we activate "textmode", e.g. we only do this when the console, messagemode, or a textfield in the menu are active. The trigger for doing this was this line on the "SDL_StartTextInput" page of the SDL2 wiki: "On some platforms using this function activates the screen keyboard.". Although we currenly support no such platform, it's good te be prepared, and what we do now is more correct anyway.


git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1066 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-09-23 19:10:02 +00:00
Sander van Dijk
c8da3f1f61 Rename some functions for consistency.
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1064 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-09-23 02:19:57 +00:00
Sander van Dijk
46e003557a in_sdl.c: rewrite TEXTINPUT handling a bit.
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1063 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-09-23 02:15:46 +00:00
Ozkan Sezer
b9032b7815 copyright years, general tidy-up, remove unused d_ifacea.h.
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1059 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-09-22 08:55:46 +00:00
Ozkan Sezer
c80fbd9629 allow KP_ENTER to function as K_ENTER in menus, console, etc., after r1042.
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1058 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-09-22 06:21:06 +00:00
Ozkan Sezer
78b028cd50 revert exec'ing default.cfg and config.cfg upon in-game gamedir changes.
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1057 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-09-22 06:15:23 +00:00
Eric Wasylishen
3be35611b5 Correct the buttonremap table for SDL2 so K_MOUSE4/K_MOUSE5 work.
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1056 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-09-22 03:32:19 +00:00
Ozkan Sezer
f040037e64 add code for USE_GAMMA_RAMPS case for SDL2 builds. (still off by default.)
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1053 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-09-21 14:00:56 +00:00
Ozkan Sezer
11c1b1f67c exec default.cfg and config.cfg upon in-game gamedir changes.
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1052 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-09-21 11:10:22 +00:00
Ozkan Sezer
84e79ad4a2 cleanup USE_GAMMA_RAMPS and USE_SDL2 stuff
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1051 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-09-21 11:01:02 +00:00
Sander van Dijk
4aedfee2af gl_vidsdl.c: Correct some swap interval related messages.
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1050 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-09-21 07:52:22 +00:00
Eric Wasylishen
4a28b9ad2e revert r1045 (SetProcessDPIAware).. while it fixed broken fullscreen on one configuration (sdl2/windows 8), it broke another that worked (sdl2/windows 8.1).
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1048 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-09-21 02:28:50 +00:00
Sander van Dijk
5989e7136d Minor cleanups.
in_keys.c: Key_ConsoleBindable: remove redundant check, this is now handled by Key_KeynumToString/Key_StringToKeynum.
in_sdl.c: IN_SendKeyEvents: use a single method for checking whether we have a keydown or keyup event.


git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1047 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-09-21 02:10:14 +00:00
Sander van Dijk
f7276bc483 keys.c: Key_ConsoleBindable: add a better check for "general bindability".
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1046 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-09-21 01:59:36 +00:00
Eric Wasylishen
2e23f6a3b5 sys_sdl_win.c: Call SetProcessDPIAware if available (Vista and above) to opt out of the OS scaling our window on a high-dpi display.
SDL (both 1.x and 2.x) is buggy and can't deal with scaled windows.
But we'd probably want to call this anyway beause it give us full-resolution windows.

git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1045 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-09-21 00:59:24 +00:00
Sander van Dijk
362deedf20 keys.c: Key_ConsoleBindable: special-case key 0, since it essentially means "no key".
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1044 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-09-20 23:04:41 +00:00
Sander van Dijk
3be5b16965 keys.c Key_ConsoleBindable(): add sanity check
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1043 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-09-20 22:45:52 +00:00
Sander van Dijk
c21ea8687e in_sdl.c: Restructure the SDL1 backend a bit.
Tested on Linux and Windows with various keyboard layouts. This fixes some text input weirdness on Windows.

Before, we always used the "unicode" field (if available) of SDL's keydown events to overrule the "sym" field with which Key_Event() is called. However, the "unicode" field is only filled for keydown events, so this meant that our keyup events didn't always match their corresponding keydown events. With the introduction of Char_Event(), we can now use the "unicode" field for textinput only, and call Key_Event() with the non-overruled "sym" field. This has the benefit that keyup events now match keydown events, and that we can get rid of several ugly hacks (some platform specific ifdef's and some control character handling).

Note: the translation of the numpad keys to other keys when not in "gamekey" mode was dropped, because otherwise a numpad key could trigger (for intstance) both a textinput and a cursor movement in the console. This is arguably cleaner anyway.



git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1042 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-09-20 22:41:44 +00:00
Ozkan Sezer
d99ea684d2 remove SDL_net support which had been unsupported for some time
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1041 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-09-20 20:37:35 +00:00
Sander van Dijk
8ad4f6b437 in_sdl.c: SDL2: skip over UTF-8 multibyte characters.
Before, we stopped processing at the first byte of a multibyte character, now we skip over the bytes of a multibyte character and continue. This will probably not have a noticeable effect, but it's arguably more correct.


git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1040 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-09-20 17:46:23 +00:00
Sander van Dijk
cb0c84ac9d Revert r731 ("Make the key menu scrollable").
In hindsight this really was "shooting a cannon at a mosquito". Even at a resolution of 320x200 we don't actually draw any keybindings off-screen, we just draw the last one very close to the edge (similar to the version string in the bottom right of the console). Although that is not visually pleasing, it is not that likely to actually occur (not many people will use a resolution of 320x200 or set the 2D scaling to the maximum value), and is not worth always having one keybinding "missing" at any scale setting.

(If we even want/need to readd this, it should work dynamically, e.g. calculate a "virtual resolution" from the actual window resolution and the actual 2D scaling value.)


git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1039 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-09-20 15:57:33 +00:00
Sander van Dijk
b5628dbe2f keys.c Key_Event(): add sanity check
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1038 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-09-20 14:27:32 +00:00
Ozkan Sezer
5d10347f78 apply a modified form of Eric's Makefile.darwin patch from
https://github.com/ericwa/quakespasm-build-scripts/blob/master/sdlframeworkpath.diff


git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1036 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-09-20 08:37:30 +00:00
Eric Wasylishen
90b26fc215 r_world: Add a new R_DrawTextureChains_Multitexture_VBO function. Draws lightmapped surfaces with fulbrights in one pass, using the VBO. Requires 3 TMUs, GL_COMBINE_EXT, and GL_ADD.
R_DrawTextureChains_Multitexture: revert to the way it was before VBO support was added.
gl_texmgr: expose GL_SelectTexture. make the implementation less convoluted and support 3 TMUs.
gl_vidsdl: check GL_MAX_TEXTURE_UNITS
r_brush: only create VBOs if 3 TMUs available

git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1035 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-09-20 01:08:13 +00:00
Ozkan Sezer
d37b1574fe Makefile.darwin: target 10.5 when building for x86 against SDL2.
build_cross_osx-sdl2.sh: new script for me to cross-build on my linux.


git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1034 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-09-17 11:00:28 +00:00
Ozkan Sezer
ad2905b5e4 bumped version to 0.90.0
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1033 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-09-16 09:05:36 +00:00
Ozkan Sezer
8091edb1ef fix SDL2 compilation using g++
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1031 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-09-14 06:03:56 +00:00
Sander van Dijk
a21d18a4ec menu: Add Char_Event support for the textfields in the menu.
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1030 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-09-13 16:13:16 +00:00
Sander van Dijk
d690b1e38a input: Add a function Key_GameKey to separate the input driver layer a bit more.
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1029 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-09-13 09:39:51 +00:00
Sander van Dijk
1c9666f049 keys.c: Simplify Key_ConsoleBindable.
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1028 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-09-13 08:06:04 +00:00
Sander van Dijk
bd58d1c1b8 input: Some more console-toggle-key tuning.
Partial revert of r1024, since the lastKeyDown stuff is actually needed for SDL2 when the keyboard layout has a printable character that isn't '`' or '~' on the default console-toggle-key (the one below 'Esc'). Instead of hardcoding it though, it is now determined by a new Key_ConsoleBindable function. This makes sure that we don't write an unwanted character into the console as a side effect of opening/closing it, but it still does allow the user to type '`' and '~' in chat messages.


git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1027 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-09-13 07:53:31 +00:00
Sander van Dijk
a5e4a93cf0 gl_vidsdl.c: Minor VID_Toggle() fast path optimization.
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1026 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-09-13 01:48:24 +00:00
Sander van Dijk
6603d78e5e net_sdlnet.c: Silence an assigned-but-not-used compiler warning.
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1025 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-09-13 01:42:25 +00:00
Sander van Dijk
d687676d5a input: Some cleanup regarding the special treatment of '`' and '~' in the console.
This was hardcoded in in_sdl.c, now it is handled by Char_Console() itself, like it is in Key_Event().


git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1024 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-09-13 01:34:02 +00:00
Sander van Dijk
3b539b156c in_sdl: SDL1: don't send '`' or '~' to the console.
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1023 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-09-12 21:01:28 +00:00
Sander van Dijk
da5ee0c612 input: remove the USE_SDL2 check from keys.c.
Instead, make the backend responsible for calling either or both
of Key_Event and Char_Event under the appropriate circumstances.
For SDL2 this means no change, for SDL1 this means call both when
a key is pressed, but call only Key_Event when a key is released.



git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1022 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-09-12 20:37:05 +00:00
Sander van Dijk
1e522abb2d keys.c: K_BACKSPACE (127) is a non printable character.
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1021 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-09-12 20:23:20 +00:00
Eric Wasylishen
f44d44d419 Revamp SDL2 key handling, based on how ioquake3 does it.
- Reverted the addition of the interpret_shift param to Key_Event
- Now, SDL_KEYUP/SDL_KEYDOWN are converted from SDL scancodes to quake keys, and passed directly to Key_Event with no extra conditions / logic
- When SDL2 is used, Key_Console/Key_Message no longer convert keys to characters to insert in the typing buffer, but all other functionality is unchanged
- SDL_TEXTINPUT calls a new function, Char_Event. This calls either Char_Console/Char_Message depending on the keydest. These just insert the typed text into the buffer

This is cleaner than before because it maintains a clear separation between key presses and characters, whereas the old code was converting characters from SDL_TEXTINPUT back into fake keys and then feeding those into Key_Event. This also fixes Ctrl+C / Ctrl+V not working in the console

git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1020 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-09-12 04:27:54 +00:00
Sander van Dijk
34f2f6f1ca Makefile[.*]: SDL2 build support. 'make USE_SDL2=1' to enable.
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1019 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-09-11 18:47:07 +00:00
Eric Wasylishen
e0680cb6d3 Load world and brush models into a VBO, and draw it in batches in R_DrawTextureChains_Multitexture. Uses the same immediate mode code as before if VBOs are not available, or if "-novbo" used at the command line. I only touched R_DrawTextureChains_Multitexture because it's usually the main bottleneck aside from alias model rendering.
This seems to help fps a fair bit on maps with a lot of world polys like jam2_tronyn. Tried on a few computers with intel and nvidia gpus, windows, mac os, linux, and there's always at least some fps improvement. Best case was 70fps -> 96fps on jam2_tronyn, on OS X + nvidia 650gt.

Interested to hear how this works for amd gpu's, just do a timedemo with and without "-novbo".

Only downside is I had to disable the fast path in Vid_Toggle_f() because at least with SDL1, the vbo no longer works after a toggle. So as a result, fullscreen toggles with alt-enter are slightly slower.

git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1018 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-09-11 04:55:16 +00:00
Sander van Dijk
b2c3363718 Add some missing SDL2 includes when not using sdl2-config.
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1017 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-09-10 17:41:34 +00:00
Ozkan Sezer
61775cc8b4 use getcwd() or some equivalent for host_parms->basedir instead of '.' (from uhexen2)
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1016 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-09-10 09:51:35 +00:00
Ozkan Sezer
52f8653d4c add missing header
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1015 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-09-10 09:47:34 +00:00
Ozkan Sezer
4b01a03387 applied the user directories support patch, disabled by default. 'make DO_USERDIRS=1' to enable it.
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1013 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-09-10 07:28:28 +00:00
Ozkan Sezer
99fa5eb2a3 tighten a bit more..
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1012 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-09-09 11:50:38 +00:00
Ozkan Sezer
596628530b improve mission pack loading from cmdline and via the 'game' command:
interpret -missionpack and [-]game missionpack as the same as a new
QuakeSpasm extension.  besides, do not let loading of the mission pack
directory twice.


git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1011 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-09-09 10:12:30 +00:00
Ozkan Sezer
ae876c943b changes/fixes to 'game' command, to replicate FitzQuake Mark V behavior:
* make 'game' command to strip all mission pack support
* make 'game' command to accept an optional second mission pack argument,
  i.e. -hipnotic, -rogue or -quoth.
* so the new behavior does:
  game id1 --> really returns to bare id1 game, doesn't accept any mission pack arguments
  game xxx -hipnotic --> strip down to id1 game, load hipnotic and load xxx on top of them
  game xxx --> strip down to id1 game and load xxx on top of it
* additionally, some extravaganza:
  game xxx --> if the game is already xxx, but the engine was started with -hiptonic
               or -rogue or -quoth, strip down to id1 and reload xxx on top of bare id1
  game xxx -hipnotic --> if the game is already xxx, but the engine was started without
              -hiptonic, strip down to id1, load hipnotic and reload xxx on top of them


git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1010 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-09-09 07:13:20 +00:00
Ozkan Sezer
d7d6ad2d05 fix a r1003 bug in COM_Game_f()
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1006 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-09-08 22:15:50 +00:00
Sander van Dijk
162e47a5ec pl_linux.c: implement PL_GetClipboardData using SDL2
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1005 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-09-08 21:30:16 +00:00
Ozkan Sezer
717b452da0 moved Host_Game_f to common.c, made it to use COM_AddGameDirectory(). moved in-memory pak structures, searchpatch structure and searchpath global declarations to common.h. adjusted affected extra patches.
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1003 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-09-08 21:10:33 +00:00
Sander van Dijk
dc4799f48a in_sdl.c: Rename the mouse filter functions for consistency.
Also surround the SDL version by "#if defined(USE_SDL2)" and "#endif", this
suppresses an unused function warning when building for SDL1. (Building for
SDL2 still gives an unused variable "modstate" warning though.)


git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1002 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-09-08 20:29:16 +00:00
Ozkan Sezer
1c4c5ba254 add the com_base_searchpaths thing of qw and use it in Host_Game_f(), kill the no longer needed com_nummissionpacks, KillGameDir() and NumGames().
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@998 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-09-08 18:20:47 +00:00
Ozkan Sezer
9d2193f1d4 tighten Host_Game_f() a bit more
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@997 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-09-08 16:02:58 +00:00
Ozkan Sezer
985a16ee15 Host_Game_f(): simplify
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@996 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-09-08 14:29:12 +00:00
Ozkan Sezer
0fc8cce747 revert r988
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@993 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-09-08 09:10:27 +00:00
Eric Wasylishen
db43cf1836 gl_screen.c: make the console speed independent of the current resolution. Before, switching to a really high (e.g. 2880x1800) resolution would make the colsole take several seconds to open/close
Not totally sure about this but i think it's a decent idea. I'm using 800x600 as a reference screen size (arbitrary choice but it's the default QS resolution). So if your resolution is 600 pixels tall this will make no difference. On higher resolutions this will make the console a bit faster than before.

git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@992 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-09-08 06:25:59 +00:00
Eric Wasylishen
d8a33d73cc R_CullSurfaces: small optimization. Avoid doing (s->visframe == r_visframecount) test on all world surfaces, instead, use the surfaces in the world texture chains, which already passed that test in R_MarkSurfaces.
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@991 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-09-08 04:31:26 +00:00
Sander van Dijk
093ecad80b gl_rmain.c: make gl_zfix default to 0, no longer save it to config.cfg
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@990 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-09-07 19:35:52 +00:00
Sander van Dijk
17c51df017 quakespasm.pak: add several .ent files to prevent z-fighting
fixed so far:
e1m1: quad secret elevator (when down)
e1m2: exit doors (when open)
e2m3: rockets secret doors (when open)
e2m7: bars in front of the exit doors (when raised)



git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@989 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-09-07 19:33:38 +00:00
Sander van Dijk
39237a64d6 common.c: make plain files overrule files inside a PAK file
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@988 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-09-07 12:32:27 +00:00
Eric Wasylishen
24f4a2dab4 SDL2 support, if USE_SDL2 defined.
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@987 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-09-05 19:34:43 +00:00
Ozkan Sezer
5b9140cb06 restore compilability with g++. some whitespace tidy-ups.
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@986 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-09-02 05:40:41 +00:00
Eric Wasylishen
7c1e078b2a PF_VarString: raise buffer size to 1024. I checked all buffers that the resulting string could end up in, and they're all at least 1024 bytes (even with an unmodified quake client).
PF_VarString is only called on the server, in:
- PF_error, PF_objerror, PF_dprint to print error / debugging messages
- PF_bprint, which calls SV_BroadcastPrintf which copies the string into a 1024-byte buffer, then sends that to clients in a svc_print message
- PF_sprint, which sends the string in a svc_print message using MSG_WriteString (without copying into an intermediate buffer)
- PF_centerprint, which sends the return value of PF_VarString in a svc_centerprint message (without copying into an intermediate buffer)

On the client:
- svc_print reads the payload string with MSG_ReadString (2048-byte buffer), then Con_Printf is called (4096-byte buffer)
- svc_centerprint uses MSG_ReadString then calls SCR_CenterPrint (1024-byte buffer)

I also checked the original quake source and the client-side buffers for MSG_ReadString, Con_Printf, and SCR_CenterPrint are all the same sizes as in QS.

Admittedly I want to support sock's ITS mod, but as far as I can see, it's a totally safe to increase this to 1024.

git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@985 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-09-01 07:30:23 +00:00
Ozkan Sezer
b8fc8caa0f dropped support for GL_SGIS_multitexture
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@984 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-08-30 08:00:34 +00:00
Eric Wasylishen
b9d280f10b Revert r981 "Simple use of vertex arrays in R_DrawTextureChains_Multitexture."
It caused a dramatic slowdown on my machine on windows (50% slower)

git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@983 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-08-30 06:30:49 +00:00
Eric Wasylishen
bdca64b93b Silence warning about vid_fsaa requiring restart when parsing config.cfg at startup. Add missing newline to warning message.
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@982 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-08-30 03:22:36 +00:00
Eric Wasylishen
745fa7ecce Simple use of vertex arrays in R_DrawTextureChains_Multitexture.
The glBegin(GL_POLYGON), for() loop with GL_MTexCoord2fFunc()/glVertex3fv() calls, and glEnd () per polygon is replaced by a memcpy() and a glDrawArrays() call per poly.

My guess is this only saves function call overhead, but it gives a decent ~20% speedup (36 -> 42fps) on my machine on orl’s map.

Note: glDrawArrays() is in OpenGL 1.1, but the glClientActiveTextureARB function is part of the GL_ARB_multitexture extension but not GL_SGIS_multitexture. Instead of splitting into two code paths, I just dropped support for GL_SGIS_multitexture.

git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@981 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-08-30 03:22:26 +00:00
Eric Wasylishen
9c6f93eb8a Remove R_DrawSequentialPoly and use texture chains for drawing brush models.
To make this work with the drawing order we use in gl_rmain (world excluding water, opaque ents, world water, transparent ents), I made each texture_t have two texture chains, one for world and one for bmodels. This way they can be cleared during entity drawing without having to regenerate the world ones.

Other than this the changes are mostly minor adjustments to the R_DrawTextureChains_* functions so they can work for things other than the world.

git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@979 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-08-29 08:27:22 +00:00
Eric Wasylishen
890fe165e8 Revert r968, optimization in R_DrawSequentialPoly. Going to try a deeper change that uses the world drawing code for bmodels.
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@978 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-08-29 08:27:16 +00:00
Eric Wasylishen
a7bf2f59a4 Apply Baker's fix for cross-map demo playback (http://forums.inside3d.com/viewtopic.php?f=3&t=2397).
With that alone, the console would come down and slide up when the map changes in a demo.
I added a SCR_BeginLoadingPlaque() call in CL_ParseServerInfo, only done during demo playback, which shows the loading plaque and prevents the console from appearing and sliding up.

git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@976 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-08-25 02:55:25 +00:00
Eric Wasylishen
526f90d69b Revert Pa3PyX support for cross-map demos
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@975 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-08-25 02:55:16 +00:00
Eric Wasylishen
9bd02ae55b cl_parse.c: hack so demos playback at the correct speed even if they contain a lot of svc_stufftext messages (e.g. one every frame).
for a test case, play a demo from: http://www.quaketastic.com/upload/files/demos/otp_honey100.zip
for the honey map pack: http://www.quaketastic.com/upload/files/single_player/maps/honey.zip
on a slow pc that gets signifigantly less than 72fps, or with host_maxfps lowered (e.g. set to 33).

with QS 0.85.9, the demo will play in slow-motion; with QS 0.85.6 (without the cross-map demo support) it plays normally.

admittedly this is a fringe scenario, but it's imo a legitimate bug in the Pa3PyX cross-map demo playback code.

git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@974 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-08-24 18:37:28 +00:00
Eric Wasylishen
f292a594b3 Fence textures: also support on world polys. From Fitzquake Mark V
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@972 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-08-22 01:10:58 +00:00
Eric Wasylishen
d10512a72b Fence texture support on brush models, e.g. for rmqdemo2 e1m6rq.bsp. Based on Baker's implementation in Fitz Mark V. Consistent with Fitz Mark V, RMQEngine, FTEQW rendering.
Not implemented for world polys (afaik it's useless for world polys) but could be added if needed.

git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@970 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-08-19 02:20:12 +00:00
Eric Wasylishen
28134aca63 Change Cvar_Cycle_f to use Q_atof to be consistent with other cvar code. Q_atof("0.3"), a float, does not == atof("0.3"), a double.
Fixes "cycle r_wateralpha 0.3 0.6 1" not working reported by AAS.

git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@969 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-08-18 17:12:39 +00:00
Eric Wasylishen
0824c53967 r_brush.c: small optimization in R_DrawSequentialPoly; move the drawing of fullbrights to a separate function, and draw them in a separate pass through the polys of the brush mode. This reduces the amount of texture binding. The extreme case would be, e.g. 1000 polys with one texture (with fullbrights), before would require 2000 binds, after would require 2 binds. This gets part way to the performance of https://sourceforge.net/p/quakespasm/patches/14/ with much less code change
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@968 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-08-17 21:12:54 +00:00
Eric Wasylishen
9894c0b00d Raise MAX_ENT_LEAFS from 16 to 32, fixes disappearing/flickering bmodels in some situations. In particular fixes an elevator in fort_driant-fullvis.bsp, and a grate (func_door) in jam1_ionous.bsp.
From what I understand, if an entity touches more than MAX_ENT_LEAFS, it will only be visible
if the player happens to be standing in one of the first 'MAX_ENT_LEAFS' (so essentially random).

See discussion of MAX_ENT_LEAFS here:
http://celephais.net/board/view_thread.php?id=60310

For more detail (mh has an alternate fix, used in DirectQ/RMQEngine, haven't looked in to what he did):
http://forums.inside3d.com/viewtopic.php?t=2376&postdays=0&postorder=asc&start=23

git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@967 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-08-13 06:40:07 +00:00
Eric Wasylishen
fb31319099 new fsaa support patch. commandline flag is -fsaa, cvar is vid_fsaa. cvar is only read in VID_Init, changing it prints a message that the new value will only be used upon restart
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@966 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-08-12 19:39:20 +00:00
Eric Wasylishen
7cca17afaa revert r962 and r963 (first attempt at multisampling)
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@965 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-08-12 19:25:14 +00:00
Sander van Dijk
1cdf1f400d Add a Bourne Shell PAK file writer (remove qpakman dependency).
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@964 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-08-11 19:59:52 +00:00
Eric Wasylishen
5f7e61ecd4 cleanup fsaa patch, from szo. removes sdl version checks because qs requires sdl >= 1.2.10
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@963 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-08-11 08:08:15 +00:00
Eric Wasylishen
503db92edb fsaa support, borrowing from uhexen2. cvar is vid_multisample, cmdline arg is -fsaa (inconsistent..)
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@962 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-08-11 06:58:42 +00:00
Eric Wasylishen
1fd8a1f344 bump MAX_EFRAGS to 4096 (from 2048) and MAX_CHANNELS to 1024 (from 512). For ijed's map - has over 500 ambient sounds, causing it to hit the channel limit, and a lot of static entities, which I guess cause it to exceed the old efrags limit. For future reference, according to mh, the efrags array can be removed entirely in glquake (http://forums.inside3d.com/viewtopic.php?t=1930) and each efrag allocated in the hunk memory.
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@959 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-08-10 03:33:59 +00:00
Eric Wasylishen
bccf3de5df sv_aim: change default to 1 (autoaim off) and CVAR_NONE
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@958 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-08-07 18:47:37 +00:00
Eric Wasylishen
a0f475ebcd Image_LoadImage: read pixel data in 1K chunks instead of calling getc in a loop
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@957 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-08-05 20:41:47 +00:00
Eric Wasylishen
d9f78442fe AllocBlock: cache index of last used lightmap, start search there
Can speed up map loading by multiple seconds on levels with a lot of lightmaps, at a cost of using slightly more lightmaps (about 5% more).

https://sourceforge.net/p/quakespasm/patches/20/


git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@956 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-08-05 18:22:58 +00:00
Ozkan Sezer
e4f3990efd cd_sdl: add back the informative message (was accidentally reverted in r953.)
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@955 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-08-05 18:20:29 +00:00
Ozkan Sezer
b5ffff36a3 ... apply a CD device stops workaround only for linux for now.
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@954 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-08-05 17:45:22 +00:00
Ozkan Sezer
5058d882e9 revert the all-platforms form of CD device stops workaround from r948/r949 ...
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@953 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-08-05 17:43:45 +00:00
Eric Wasylishen
931d4e9396 sfx lowpass filter patch
cvar changes:

The "sndspeed" cvar / "-sndspeed" command-line option now control whether the low-pass filter is applied. If it's set to 11025 you get the low-pass filter, otherwise it's not used.

New "snd_mixspeed" cvar (and the "-mixspeed" command-line option); these default to 44100 and just control the sample rate we request from SDL. Not archived.

New “snd_filterquality” cvar, value can be 1-5. Not archived. The “5” setting closely matches the Windows resampler, and the “1” setting closely matches the OS X resampler. The default depends on the OS, “5” is used on windows builds, otherwise “1”, because I wanted the sfx to sound the same as they do with 0.85.9 on each platform. TODO is checking if a setting other than 1 sounds closer to the system resampler on linux (though it probably depends on the distro).

The lowpass filter is only used for sndspeed=11025 and snd_mixspeed=44100, though these are the defaults.


git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@952 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-08-05 05:40:34 +00:00
Ozkan Sezer
d6e0a8c020 cd_sdl: prev and next commands must handle data tracks properly.
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@951 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-08-04 21:20:09 +00:00
Steven
75cc453f1a 'cd next', 'cd prev' commands. 'cd play' plays track 1.
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@950 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-08-04 00:08:22 +00:00
Ozkan Sezer
d9eb021f1f minor cd_sdl cleanup after r948
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@949 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-08-02 11:00:09 +00:00
Steven
fff88e9ee4 Work around some CD device stops. Oz - 'CDROMSTOP ioctl causes any ioctls following immediately to fail for a considerable time'.
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@948 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-08-02 07:51:24 +00:00
Ozkan Sezer
fabac88a0f - ExtraMaps_Init: instead strstr(), directly compare the file extension bsp.
- Modlist_Init: cleanup: instead strstr(), compare the file extension pak.
 no need extra checking for "." and ".." in the inner while loop. break out
 of the inner while loop as soon as a pak file or progs.dat is found.

- ExtraMaps_Init, Modlist_Init, windows: instead of using dirent emulation,
 use windows' native FindFirstFile/FindNextFile/FindClose directly. adapted
 from fitzquake-0.85.


git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@946 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-08-01 11:21:54 +00:00
Ozkan Sezer
7b8b4bf14f git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@945 af15c1b1-3010-417e-b628-4374ebc0bcbd 2014-08-01 11:15:58 +00:00
Ozkan Sezer
005dbeffca remove unused var
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@943 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-07-30 09:45:07 +00:00
Ozkan Sezer
b5e0d90e28 reset all models and set mod_numknown to 0 upon gamedir changes.
fixes issue described at:
http://celephais.net/board/view_thread.php?id=60452&start=825
also see http://forums.inside3d.com/viewtopic.php?f=12&t=5509


git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@942 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-07-30 09:33:03 +00:00
Ozkan Sezer
14181eee15 Host_Game_f: fix broken behavion if -gamedir is specified. (use com_basedir, not host_parms->basedir)
Modlist_Init: no need for -basedir check, just use com_basedir


git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@941 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-07-30 09:02:25 +00:00
Ozkan Sezer
4e8c42b050 remove zombie USE_QS_CONBACK ifdefs
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@940 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-07-29 16:22:29 +00:00
Ozkan Sezer
55634303ea net_sys.h: update from uhexen2
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@938 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-07-20 14:37:16 +00:00
Ozkan Sezer
90c6f024f6 request 24-bit depth buffer / z-buffer. patch from Eric Wasylishen.
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@935 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-07-15 07:03:56 +00:00
Ozkan Sezer
34246dfc3b restore compilation with g++, some whitespace tidy-up.
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@934 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-07-12 07:50:57 +00:00
Ozkan Sezer
ef1c613c9f dynamic light speedup, patch from Eric Wasylishen, based on an earlier work by MH.
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@933 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-07-12 07:01:58 +00:00
Ozkan Sezer
aeda9b2515 arch_def.h: update from uhexen2.
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@932 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-07-11 07:06:15 +00:00
Ozkan Sezer
75338a37a1 support for GL_ARB_texture_non_power_of_two, patch from Eric Wasylishen.
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@931 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-07-11 06:56:09 +00:00
Ozkan Sezer
b56f757a15 move MAX_OSPATH definition to q_stdinc.h. define it as PATH_MAX,
or as MAXPATHLEN, _MAX_PATH, or MAX_PATH if either of them is
available, or as 1024 if none are available. this would make us
safer in deep installation directory paths.  darkplaces engine
seems to do the same.


git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@928 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-07-01 16:25:00 +00:00
Steven
aa885d4efa When crosshair is present, for simple messages (SCR_DrawCenterString), text doesnt always end with a newline (eg E1 entry in startmap), so move message up one line. Doesnt affect large messages used via SCR_DrawNotifyString(eg Socks Shadow demo).
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@926 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-06-29 01:22:35 +00:00
Ozkan Sezer
65cd7e75e0 ditch fmin/fmax and use plain q_min/q_max
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@922 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-06-22 05:50:39 +00:00
Ozkan Sezer
66d6fc077a revert r907 (fmin()/fmax() is available with vs2012 and newer. patch from Eric Wasylishen.)
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@921 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-06-21 20:29:11 +00:00
Ozkan Sezer
b752f34d7a add mikmod to xcode project file. enable several extra codecs for osx and windows builds.
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@919 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-06-21 15:50:09 +00:00
Steven
1463ffca51 Make sv_aim persistant.
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@911 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-04-29 08:28:52 +00:00
Ozkan Sezer
46b1533a41 SCR_ScreenShot_f: dont bother GL_PACK_ALIGNMENT restoring
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@910 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-04-28 20:10:34 +00:00
Ozkan Sezer
72be5368ee fix screenshots when width isn't a multiple of 4. explained by Sander van Dijk.
also check that malloc() didn't fail.

git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@909 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-04-28 08:12:42 +00:00
Ozkan Sezer
bfab14040b gl_model.c (CalcSurfaceExtents): fix a lighting glitch due to floating point precision. patch from Eric Wasylishen.
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@908 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-04-28 06:10:12 +00:00
Ozkan Sezer
58b3577721 fmin()/fmax() is available with vs2012 and newer. patch from Eric Wasylishen.
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@907 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-04-28 05:50:58 +00:00
Ozkan Sezer
4d32042d71 load custom quakespasm.pak from <com_basedir> instead of id1/
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@906 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-04-28 05:40:28 +00:00
Ozkan Sezer
5ad7885e70 comment out COM_DefaultExtension
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@905 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-04-27 08:33:05 +00:00
Ozkan Sezer
d941ee83db revert r903 and the old conback hack commits. change the engine
to load id1/quakespasm.pak for content customizations.


git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@904 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-04-27 08:28:16 +00:00
Steven
66764cfd6f Overide some old fashioned default bindings (from Eric - https://sourceforge.net/p/quakespasm/patches/17/).
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@903 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-04-26 10:28:13 +00:00
Ozkan Sezer
53e10c7098 Avoid using COM_DefaultExtension() whenever possible: it may lead
to unpredictable results. Use a new procedure COM_AddExtension()
which appends the given extension to the path if the one it has,
if any, doesn't match. In Host_Game_f(), reject "." as the path.

git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@902 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-04-26 07:50:54 +00:00
Ozkan Sezer
f784b8a769 Unix (at least Linux) man pages for mkdir(2) document the EEXIST
error: "pathname already exists (not necessarily as a directory).
This includes the case where pathname is a symbolic link, dangling
or not." So, add a check to see if the existing pathname is really
a directory.

git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@901 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-04-24 08:10:15 +00:00
Ozkan Sezer
300987aa0e progs.h: leafnums array in edict_t needs to be int, not short. patch from Eric Wasylishen.
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@899 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-04-13 09:03:48 +00:00
Ozkan Sezer
c8f7a73165 Re: r897: lowered NET_MAXMESSAGE and MAX_MSGLEN from 65536 to 64000. not happy with this limit bump at all, but let's see how it will turn out..
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@898 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-03-25 07:28:11 +00:00
Steven
0681b0ad1e A couple of limit bumps. http://www.celephais.net/board/view_thread.php?id=60452&start=721
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@897 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-03-25 05:08:34 +00:00
Ozkan Sezer
1f46579e55 snd_umx: minor update from umr. minor correction to fshandle offset.
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@893 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-02-11 20:00:35 +00:00
Steven
017c3d747b MAX_VISEDICTS bump For BSP2, suggested by Ericw.
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@892 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-01-30 10:07:03 +00:00
Ozkan Sezer
7e452509c2 more correct export read for unreal beta, for correctness sake...
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@888 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-01-12 20:50:23 +00:00
Ozkan Sezer
e17a2459b7 fix umx export table read order. doesn't affect our umx playback, but correctness is good.
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@887 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-01-12 18:27:33 +00:00
Steven
ffe32528b9 Sound looping bug fix from eric - https://sourceforge.net/p/quakespasm/patches/12/
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@886 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-01-12 02:55:04 +00:00
Steven
d0cef2769f Enable wheel mouse in console (used to scroll up and down).
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@884 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-01-04 07:18:43 +00:00
Ozkan Sezer
ca56486381 snd_mikmod.c: compile-time sanity checks for libmikmod version.
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@883 af15c1b1-3010-417e-b628-4374ebc0bcbd
2013-12-27 12:00:21 +00:00
Ozkan Sezer
1eb360205b BSP2 support. patch kindly provided by Eric Wasylishen (see the patch
tracker entry #11 at http://sourceforge.net/p/quakespasm/patches/11/)

git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@881 af15c1b1-3010-417e-b628-4374ebc0bcbd
2013-12-25 09:10:28 +00:00
Ozkan Sezer
8060407875 snd_umx.c (read_typname): made technically more correct (not that it matters for our case, but still..)
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@879 af15c1b1-3010-417e-b628-4374ebc0bcbd
2013-10-24 07:03:49 +00:00
Ozkan Sezer
8d6e912c2a snd_umx.c: support umx files from unreal 1997/98 beta version.
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@878 af15c1b1-3010-417e-b628-4374ebc0bcbd
2013-10-23 18:57:18 +00:00
Sander van Dijk
3b2e101cbe In CL_ParseServerInfo(), call Host_Error() when a model can't be found.
This prevents the segmentation fault reported by Spirit at
http://celephais.net/board/view_thread.php?id=60452&start=516.


git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@877 af15c1b1-3010-417e-b628-4374ebc0bcbd
2013-10-18 10:43:54 +00:00
Ozkan Sezer
6bdc733591 snd_mikmod.c: fix return type of the Seek function. snd_umx.c: update XM detection. other minor tidy-ups.
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@876 af15c1b1-3010-417e-b628-4374ebc0bcbd
2013-10-15 18:11:31 +00:00
Sander van Dijk
c8ebc6ce64 Base FOV adapting on screen resolution instead of viewport resolution.
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
2013-10-12 16:20:38 +00:00
Ozkan Sezer
a95bb25134 add new stdio replacement FS_fgetc() and use it in snd_mikmod.c.
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@869 af15c1b1-3010-417e-b628-4374ebc0bcbd
2013-09-27 19:51:26 +00:00
Ozkan Sezer
5e4849c61f replace all ctype.h functions/macros and strcasecmp/strncasecmp()
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
2013-09-25 17:01:40 +00:00
Ozkan Sezer
ffa3bf4413 Merge several FS_* and snd_codec* layer updates from uhexen2 tree:
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
2013-09-25 11:01:12 +00:00
Ozkan Sezer
f68cafe5be snd_mp3.c (mp3_startread): set the missing stream->info.bits value
(for completeness only.)


git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@865 af15c1b1-3010-417e-b628-4374ebc0bcbd
2013-07-27 05:05:44 +00:00
Ozkan Sezer
4a69497ed6 snd_flac.c (flac_write_func): don't byteswap the 16 bit values.
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
2013-07-25 11:03:25 +00:00
Ozkan Sezer
e27c101a08 gl_vidsdl.c: small gamma update.
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@863 af15c1b1-3010-417e-b628-4374ebc0bcbd
2013-07-25 09:41:28 +00:00
Ozkan Sezer
ec6cb1debd snd_sdl.c (SNDDMA_Init): set number of samples to 4096 for sampling rates higher than 56, i.e. 96 kHz.
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@862 af15c1b1-3010-417e-b628-4374ebc0bcbd
2013-07-24 09:28:01 +00:00
Ozkan Sezer
50ed45c9b1 gl_vidsdl.c: use SDL_SetGamma() instead of SDL's GammaRamps api.
see: http://hg.libsdl.org/SDL/rev/3665bc284271
http://bugzilla.libsdl.org/show_bug.cgi?id=1979


git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@861 af15c1b1-3010-417e-b628-4374ebc0bcbd
2013-07-24 07:00:44 +00:00
Ozkan Sezer
92ec4ae314 snd_mp3.c (mp3_startread): don't error upon a short read
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
2013-07-23 17:01:20 +00:00
Ozkan Sezer
dd9f105e42 * snd_codec: store the samplebits value in the snd_info_t struct,
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
2013-07-22 11:41:14 +00:00
Ozkan Sezer
7f41bfa64a added flac music support.
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
2013-07-21 14:02:06 +00:00
Ozkan Sezer
21258e595c merged the opus codec support patch
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@856 af15c1b1-3010-417e-b628-4374ebc0bcbd
2013-07-18 07:03:11 +00:00
Ozkan Sezer
3642bb5dd5 bump default heap size to 72mb and zone size to 512kb in 64 bit builds.
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@853 af15c1b1-3010-417e-b628-4374ebc0bcbd
2013-07-09 05:50:04 +00:00
Ozkan Sezer
aa6a7fe3d8 bumped version to 0.85.10 in the development tree.
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@849 af15c1b1-3010-417e-b628-4374ebc0bcbd
2013-04-12 20:25:45 +00:00
Ozkan Sezer
7e77c1e8d2 support for demo recording after connection to server. (thanks to
Baker for a patch)

git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@847 af15c1b1-3010-417e-b628-4374ebc0bcbd
2013-04-12 09:01:18 +00:00
Ozkan Sezer
e0f9f533f3 keys.c (Key_Message): move backspace handling before non-printable
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
2013-04-02 21:40:48 +00:00
Ozkan Sezer
00e44d6227 r_part.c (R_EntityParticles): fix undefined behavior in the loop
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
2013-03-15 12:47:08 +00:00
Ozkan Sezer
b01498b8bd gl_model.c: change the 'ignored' messages from external lit and ent
files back to developer mode.

git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@841 af15c1b1-3010-417e-b628-4374ebc0bcbd
2013-03-10 11:29:02 +00:00
Sander van Dijk
d3676574df gl_vidsdl.c: minor cleanup (lets not hijack the SDL_ prefix)
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@840 af15c1b1-3010-417e-b628-4374ebc0bcbd
2013-03-03 15:01:14 +00:00
Sander van Dijk
bd5b2ae556 gl_vidsdl.c: some video menu code readability tweaking
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@839 af15c1b1-3010-417e-b628-4374ebc0bcbd
2013-03-03 13:43:11 +00:00
Sander van Dijk
56ee142fc0 gl_screen.c: some fov_adapt style syncing with uhexen2
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@838 af15c1b1-3010-417e-b628-4374ebc0bcbd
2013-03-02 18:52:22 +00:00
Sander van Dijk
13b0df70d4 keys.c: comment correction
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@837 af15c1b1-3010-417e-b628-4374ebc0bcbd
2013-03-02 18:21:28 +00:00
Sander van Dijk
1c59d663ad gl_vidsdl.c: be bit more lenient (and safer) regarding bpp
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@836 af15c1b1-3010-417e-b628-4374ebc0bcbd
2013-03-02 18:10:19 +00:00
Sander van Dijk
e2ea2d2360 gl_vidsdl.c: fix a minor inconsistency in VID_Toggle
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@835 af15c1b1-3010-417e-b628-4374ebc0bcbd
2013-03-02 16:35:48 +00:00
Sander van Dijk
78900118f3 gl_vidsdl.c: make the intel hack feedback a bit more informative
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@834 af15c1b1-3010-417e-b628-4374ebc0bcbd
2013-03-02 15:32:27 +00:00
Sander van Dijk
f02120cc7f gl_vidsdl.c: remove the PowerVR stuff, as it seems to be outdated
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@833 af15c1b1-3010-417e-b628-4374ebc0bcbd
2013-03-02 13:46:59 +00:00
Sander van Dijk
d245a15fe2 oops
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@832 af15c1b1-3010-417e-b628-4374ebc0bcbd
2013-03-02 13:13:47 +00:00
Sander van Dijk
f26daa58c2 Simplify the Intel video hack, make the PowerVR hack do the same
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@831 af15c1b1-3010-417e-b628-4374ebc0bcbd
2013-03-02 13:10:02 +00:00
Sander van Dijk
22f426441f remove isIntelVideo special handling, simply set gl_clear instead
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@830 af15c1b1-3010-417e-b628-4374ebc0bcbd
2013-03-02 12:31:09 +00:00
Ozkan Sezer
87c24f75ff minor tidy-ups
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@829 af15c1b1-3010-417e-b628-4374ebc0bcbd
2013-03-02 12:03:52 +00:00
Sander van Dijk
2b49965af0 host_cmd.c: fix typo in r827
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@828 af15c1b1-3010-417e-b628-4374ebc0bcbd
2013-03-02 10:36:28 +00:00
Ozkan Sezer
eb8e1beed3 host_cmd.c (Host_Changelevel_f, Host_Restart_f): if the serverspawn
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
2013-03-02 10:29:26 +00:00
Sander van Dijk
3d7a0fd66a revert r612, fix VID_Test blackscreen properly
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@826 af15c1b1-3010-417e-b628-4374ebc0bcbd
2013-03-02 09:34:18 +00:00
Ozkan Sezer
ee2b6ce55a fixed fitzquake's map existence check in Host_Changelevel_f () leaking
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
2013-03-01 23:55:12 +00:00
Ozkan Sezer
8bfd0fe0e8 some codec stuff syncing with uhexen2
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@823 af15c1b1-3010-417e-b628-4374ebc0bcbd
2013-02-27 16:50:25 +00:00
Ozkan Sezer
47b044893e putenv () may conform to different standards, therefore keep the vid_center[]
static char array in VID_Init ().

git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@822 af15c1b1-3010-417e-b628-4374ebc0bcbd
2013-02-24 17:15:04 +00:00
Sander van Dijk
a6b83f69ce gl_vidsdl.c: make bpp default to current bpp
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@821 af15c1b1-3010-417e-b628-4374ebc0bcbd
2013-02-24 16:28:28 +00:00
Sander van Dijk
7ae0a9e7f2 gl_vidsdl.c: fix an initialization oops
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@820 af15c1b1-3010-417e-b628-4374ebc0bcbd
2013-02-24 13:46:19 +00:00
Sander van Dijk
8dfabe4e7f gl_vidsdl.c, vid.h: cleanup some modestate related stuff (requires a clean build)
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@819 af15c1b1-3010-417e-b628-4374ebc0bcbd
2013-02-24 13:42:23 +00:00
Sander van Dijk
3aa34cba34 gl_vidsdl.c: remove modelist[0] special treatment, some cleanup
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@818 af15c1b1-3010-417e-b628-4374ebc0bcbd
2013-02-24 13:33:30 +00:00
Sander van Dijk
9f59c863f1 gl_vidsdl.c: make VID_Init independent from modelist
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@817 af15c1b1-3010-417e-b628-4374ebc0bcbd
2013-02-24 13:23:26 +00:00
Sander van Dijk
8872f4df63 gl_vidsdl.c: some cleanup
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@816 af15c1b1-3010-417e-b628-4374ebc0bcbd
2013-02-21 19:35:21 +00:00
Sander van Dijk
ca18412bac gl_vidsdl.c: fix ValidMode(), bpp < 16 is problematic on windows
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@815 af15c1b1-3010-417e-b628-4374ebc0bcbd
2013-02-21 19:17:18 +00:00
Ozkan Sezer
6c23dcd91f comment cleanup
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@814 af15c1b1-3010-417e-b628-4374ebc0bcbd
2013-02-20 06:22:42 +00:00
Ozkan Sezer
204c6290b2 convert our GL_RGB lightmaps to GL_RGBA which gives considerable
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
2013-02-20 06:01:10 +00:00
Sander van Dijk
00a3f7659b gl_vidsdl.c: make VID_Restart independent from modelist
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@812 af15c1b1-3010-417e-b628-4374ebc0bcbd
2013-02-19 19:20:17 +00:00
Sander van Dijk
88b0694432 gl_vidsdl.c: make VID_Test independent from modelist
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@811 af15c1b1-3010-417e-b628-4374ebc0bcbd
2013-02-19 19:00:19 +00:00
Sander van Dijk
5c09de09ee gl_vidsdl.c: some cleanup
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@810 af15c1b1-3010-417e-b628-4374ebc0bcbd
2013-02-19 18:18:38 +00:00
Sander van Dijk
dd40be29eb gl_vidsdl.c: make VID_SetMode independent from "modelist"
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@809 af15c1b1-3010-417e-b628-4374ebc0bcbd
2013-02-18 19:19:32 +00:00
Sander van Dijk
083c27abce gl_vidsdl.c: don't depend on "modelist" for current mode info
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@808 af15c1b1-3010-417e-b628-4374ebc0bcbd
2013-02-17 18:12:00 +00:00
Sander van Dijk
0a7c6f77de gl_vidsdl.c: get rid of "modenum"
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@807 af15c1b1-3010-417e-b628-4374ebc0bcbd
2013-02-17 17:58:05 +00:00
Sander van Dijk
2f19420417 gl_vidsdl.c: fix windowed mode
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@806 af15c1b1-3010-417e-b628-4374ebc0bcbd
2013-02-14 20:46:42 +00:00
Sander van Dijk
64f3091f05 rename the modestate_t enum items
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@805 af15c1b1-3010-417e-b628-4374ebc0bcbd
2013-02-13 19:07:19 +00:00
Sander van Dijk
103f041614 remove "type" from "viddef_t", use "modestate" instead
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@804 af15c1b1-3010-417e-b628-4374ebc0bcbd
2013-02-13 19:01:26 +00:00
Sander van Dijk
ea0b236563 gl_vidsdl.c: remove "modenum" from vmode_t
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@803 af15c1b1-3010-417e-b628-4374ebc0bcbd
2013-02-11 18:13:09 +00:00
Sander van Dijk
148386cc03 gl_vidsdl.c: remove "modedesc" from vmode_t
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@802 af15c1b1-3010-417e-b628-4374ebc0bcbd
2013-02-11 18:03:14 +00:00
Sander van Dijk
a958e33054 gl_vidsdl.c: get rid of obsolete "badmode"
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@801 af15c1b1-3010-417e-b628-4374ebc0bcbd
2013-02-10 17:30:40 +00:00
Sander van Dijk
ba5c538d27 gl_vidsdl.c: Simplification of some functions
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@800 af15c1b1-3010-417e-b628-4374ebc0bcbd
2013-02-09 16:10:23 +00:00
Sander van Dijk
1703e4b04a Some "slowkey" tuning.
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@799 af15c1b1-3010-417e-b628-4374ebc0bcbd
2013-02-03 17:22:59 +00:00
Sander van Dijk
dbaa3fec52 gl_vidsdl.c: Remove "halfscreen" stuff.
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
2013-02-01 20:44:25 +00:00
Sander van Dijk
a86fc9a175 Make the "speedkey" act as "slowkey" when "always run" is on.
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
2013-02-01 20:06:52 +00:00
Sander van Dijk
48e884e8fe Rename the fov_adaptive cvar to fov_adapt.
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@796 af15c1b1-3010-417e-b628-4374ebc0bcbd
2013-01-31 20:03:23 +00:00
Ozkan Sezer
3011dbfe35 fix quoted strings when EOF is reached before the closing '\"' and
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
2013-01-16 19:02:23 +00:00
Ozkan Sezer
c26d43f07f snd_mix.c (SND_InitScaletable): fixed an off-by-one mistake in the
signed char conversion.

git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@794 af15c1b1-3010-417e-b628-4374ebc0bcbd
2013-01-11 20:58:08 +00:00
Ozkan Sezer
9ea0212280 updated arch_def.h and net_sys.h from uhexen2. adjusted users accordingly.
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@793 af15c1b1-3010-417e-b628-4374ebc0bcbd
2013-01-07 17:30:17 +00:00
Ozkan Sezer
5311e29e65 relaxed PF_VarString() warnings a little.
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@792 af15c1b1-3010-417e-b628-4374ebc0bcbd
2013-01-06 12:05:34 +00:00
Ozkan Sezer
260a72b033 pr_edict.c (PR_ValueString, PR_UglyValueString, PR_GlobalString,
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
2012-12-11 10:11:22 +00:00
Sander van Dijk
d91f083ee4 Remove more dead code.
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@790 af15c1b1-3010-417e-b628-4374ebc0bcbd
2012-11-28 19:10:52 +00:00
Sander van Dijk
011ca12117 gl_vidsdl.c: Remove some dead code.
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@789 af15c1b1-3010-417e-b628-4374ebc0bcbd
2012-11-22 18:58:45 +00:00
Ozkan Sezer
1f6e608267 pr_cmds.c, pr_exec.c, pr_edict.c, sv_main.c: Changed several Sys_Error()
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
2012-11-15 17:30:43 +00:00
Sander van Dijk
7b155bc6cc Really fix vsync saving/loading (finally...)
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@787 af15c1b1-3010-417e-b628-4374ebc0bcbd
2012-11-11 17:35:43 +00:00
Ozkan Sezer
a9f5180540 gl_model.c (Mod_LoadTexinfo): although the end result in memory
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
2012-11-11 09:55:55 +00:00
Ozkan Sezer
860a6007e8 regenerate gl_extensions_nice everytime the extensions string is retrieved
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@785 af15c1b1-3010-417e-b628-4374ebc0bcbd
2012-11-07 12:44:30 +00:00
Ozkan Sezer
c66e78f53d move GL_Init(), TexMgr_ReloadImages() and GL_SetupState() calls from
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
2012-11-07 12:27:39 +00:00
Ozkan Sezer
bf64fd2d1a better parse for opengl extensions list (from quakeforge.)
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@783 af15c1b1-3010-417e-b628-4374ebc0bcbd
2012-11-07 07:51:41 +00:00
Ozkan Sezer
b3d2bb6884 host.c (Host_ShutdownServer): no need to clear the sv structure, because
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
2012-11-06 08:56:09 +00:00
Ozkan Sezer
7ce7ce71ca made GL_Init() to be called every time a video mode is changed. we may
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
2012-11-06 08:50:45 +00:00
Sander van Dijk
d15e823ab7 Fix vsync saving/loading (take three...)
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@780 af15c1b1-3010-417e-b628-4374ebc0bcbd
2012-11-02 22:16:08 +00:00
Sander van Dijk
a138b55fbe Fix vsync saving/loading (take two...)
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@779 af15c1b1-3010-417e-b628-4374ebc0bcbd
2012-11-02 20:04:26 +00:00
Sander van Dijk
1777d5a49b Fix vsync saving/loading (hopefully...)
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@778 af15c1b1-3010-417e-b628-4374ebc0bcbd
2012-11-01 17:34:40 +00:00
Sander van Dijk
f755ad47a3 Adaptive FOV (Hor+). Patch by and thanks to rg3. Added cvar and clamping.
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@777 af15c1b1-3010-417e-b628-4374ebc0bcbd
2012-10-31 07:30:36 +00:00
Ozkan Sezer
f8f0cecb4a added -Werror to compiler option checking so I don't have to edit
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
2012-10-25 11:15:15 +00:00
Ozkan Sezer
cf30d683d0 renamed Key_ForceDest to Key_UpdateForDest. added M_Menu_Main_f()
prototype to menu.h. minor tidy-ups.

git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@775 af15c1b1-3010-417e-b628-4374ebc0bcbd
2012-10-23 08:44:20 +00:00
Ozkan Sezer
9f8b2dfc0d added IN_UpdateForKeydest() as a new helper who does stuff if the
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
2012-10-21 11:33:10 +00:00
Ozkan Sezer
2a42d766a3 r_part.c: fixed pointfile loading.
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@772 af15c1b1-3010-417e-b628-4374ebc0bcbd
2012-10-21 11:02:48 +00:00
Ozkan Sezer
9a78c9e829 some merges from uhexen2: clean up some crap in long chat line support.
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
2012-10-21 09:55:16 +00:00
Sander van Dijk
73aee2dd56 Another approach to fixing mouse grab/key_dest
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@770 af15c1b1-3010-417e-b628-4374ebc0bcbd
2012-10-15 19:53:07 +00:00
Ozkan Sezer
1fef74e006 removed unused global host_time
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@769 af15c1b1-3010-417e-b628-4374ebc0bcbd
2012-10-12 07:50:45 +00:00
Ozkan Sezer
0d53e0f959 moved cfg_unbindall and its registration to cl_main.c. moved the
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
2012-10-12 07:33:11 +00:00
Ozkan Sezer
65eef1e9a8 bumped version to 0.85.9 in the development tree
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@767 af15c1b1-3010-417e-b628-4374ebc0bcbd
2012-10-08 08:50:49 +00:00
Ozkan Sezer
d972015b80 removed unnecessary m_keys_bind_grab check from autorepeats.
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@764 af15c1b1-3010-417e-b628-4374ebc0bcbd
2012-10-07 13:15:15 +00:00
Sander van Dijk
d27dcc2bf8 some more minor changes to accomodate r761
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@763 af15c1b1-3010-417e-b628-4374ebc0bcbd
2012-10-07 12:46:57 +00:00
Sander van Dijk
95d20d835f revert (most of) r521, r756 and r759. Alter "gamekey" handling a bit to compensate.
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@761 af15c1b1-3010-417e-b628-4374ebc0bcbd
2012-10-06 18:09:23 +00:00
Ozkan Sezer
a19ea6b14b removed duplicated assignment to the local 'was_changed'
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@760 af15c1b1-3010-417e-b628-4374ebc0bcbd
2012-10-06 12:28:33 +00:00
Sander van Dijk
d4611c823e more mouse grab/release fixes
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@759 af15c1b1-3010-417e-b628-4374ebc0bcbd
2012-10-05 18:58:59 +00:00
Sander van Dijk
892aa73db0 console.c: fix skipping of first match when tab-completing
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@758 af15c1b1-3010-417e-b628-4374ebc0bcbd
2012-10-01 03:55:45 +00:00
Sander van Dijk
4ba7ad73b6 console.c: move some externals to a better place
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@757 af15c1b1-3010-417e-b628-4374ebc0bcbd
2012-10-01 03:13:40 +00:00
Sander van Dijk
c72ebc0049 menu.c: fix mouse release in fullscreen console
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@756 af15c1b1-3010-417e-b628-4374ebc0bcbd
2012-10-01 03:06:52 +00:00
Sander van Dijk
8facba5030 pl_linux.c: add a comment about magenta tranparency
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@755 af15c1b1-3010-417e-b628-4374ebc0bcbd
2012-10-01 02:26:44 +00:00
Sander van Dijk
6d8e3aa171 minor tuning of r753
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@754 af15c1b1-3010-417e-b628-4374ebc0bcbd
2012-10-01 01:57:20 +00:00
Ozkan Sezer
0dc8eab2a9 array size fix for r752
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@753 af15c1b1-3010-417e-b628-4374ebc0bcbd
2012-09-30 21:35:16 +00:00
Sander van Dijk
3be0ae496c gl_vidsdl.c: minor improvement to bpp list creation
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@752 af15c1b1-3010-417e-b628-4374ebc0bcbd
2012-09-30 21:11:39 +00:00
Ozkan Sezer
769d2ac75b simplify VID_Gamma_f: the oldgamma stuff is already handled by the cvar
system itself.

git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@751 af15c1b1-3010-417e-b628-4374ebc0bcbd
2012-09-30 14:03:15 +00:00
Ozkan Sezer
53c55f6bd3 further Key_Console() cleanup. made Shift-Ins to paste text like Ctrl-v.
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@750 af15c1b1-3010-417e-b628-4374ebc0bcbd
2012-09-30 12:55:09 +00:00