Commit graph

1351 commits

Author SHA1 Message Date
Ozkan Sezer
9c7eb2c6ff Host_Loadgame_f(): no need for entnum >= sv.max_edicts check
because EDICT_NUM() does it already. also move ent->free=false
statement to partial zero-fill case.
Host_ClearMemory(): remove check before free(sv.edicts)
SV_Init(): initialize sv.edicts to NULL (just paranoia)

git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1319 af15c1b1-3010-417e-b628-4374ebc0bcbd
2016-06-25 05:21:22 +00:00
Ozkan Sezer
de4bea0e74 Loadgame_f() may go past sv.num_edicts, but it does not go through
ED_Alloc(), therefore such ents will have uninitialized members.
This used to lead to bad crashes with e.g. Rubicon Rumble Pack maps
since svn r1286 when we began allocating sv.edicts using malloc and
only zero-filling when necessary.  So, check against sv.num_edicts
and zero-fill the ent properly when necessary.

git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1318 af15c1b1-3010-417e-b628-4374ebc0bcbd
2016-06-24 16:04:25 +00:00
Ozkan Sezer
5734c934a7 initial documentation of 0.92.0 changes
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1317 af15c1b1-3010-417e-b628-4374ebc0bcbd
2016-06-24 11:00:39 +00:00
Ozkan Sezer
e1c26de7fb silence pesky warnings from old compilers
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1316 af15c1b1-3010-417e-b628-4374ebc0bcbd
2016-06-24 07:40:08 +00:00
Ozkan Sezer
301630d8ac change version to 0.92.0
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1315 af15c1b1-3010-417e-b628-4374ebc0bcbd
2016-06-24 07:04:11 +00:00
Eric Wasylishen
3261dd1213 add -protocol [15/666/999] command line flag, patch from szo
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1314 af15c1b1-3010-417e-b628-4374ebc0bcbd
2016-06-24 06:15:47 +00:00
Eric Wasylishen
5b21d5935f RMQ protocol (999) support, adapted from RMQEngine
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1313 af15c1b1-3010-417e-b628-4374ebc0bcbd
2016-06-24 06:15:41 +00:00
Eric Wasylishen
316de63f98 limit increases to handle oms3 map pack.
MAX_MAP_LEAFS: 65535 -> 70000
MAX_LIGHTMAPS: 256 -> 512

TODO: maybe drop static arrays based on MAX_MAP_LEAFS like, see R_InitVisCache in RMQEngine.
TODO: dynamically allocate the static `lightmaps` array as well; with this last limit increase it's 32MB.

git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1312 af15c1b1-3010-417e-b628-4374ebc0bcbd
2016-06-24 06:15:33 +00:00
Ozkan Sezer
623f8c6698 bgmusic.c (BGM_UpdateStream): avoid a possible endless loop.
(just a paranoid safeguard, shouldn't happen in real life.)

git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1311 af15c1b1-3010-417e-b628-4374ebc0bcbd
2016-06-23 08:03:43 +00:00
Ozkan Sezer
0ff9c26db7 oslibs: rebuilt libFLAC decoder for windows and macosx.
(the x86-macosx build is now made with x86 asm enabled,
using nasm-2.12.02rc7 and the patch from
http://lists.xiph.org/pipermail/flac-dev/2016-June/005933.html
by lvqcl. seems to work for me on my 10.6.8)

git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1310 af15c1b1-3010-417e-b628-4374ebc0bcbd
2016-06-12 20:10:11 +00:00
Ozkan Sezer
917543bc50 sv_user.c: partially revert svn commit r182, move wishdir and wishspeed
from global to local context, and pass them as params to SV_Accelerate()
and SV_AirAccelerate().

git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1309 af15c1b1-3010-417e-b628-4374ebc0bcbd
2016-06-11 05:36:05 +00:00
Eric Wasylishen
5660094d1d host_cmd.c: add new "setpos" command.
developer cheat to teleport to a given origin, optionally looking in a given direction.

git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1308 af15c1b1-3010-417e-b628-4374ebc0bcbd
2016-06-07 07:08:23 +00:00
Ozkan Sezer
33fe493c89 sync net_sys.h with the uhexen2 tree.
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1307 af15c1b1-3010-417e-b628-4374ebc0bcbd
2016-05-31 20:01:09 +00:00
Ozkan Sezer
3104464c0d rebuilt SDL2.0.4 for windows and osx after applying fixes/updates from mainstream:
- Windows: Fix other window positions/sizes being changed when exiting exclusive
  fullscreen (bug #3315.)
- Fixed a 'dead keys' issue on international keyboards (bug #3332, patch not yet
  applied to SDL hg repo.)
- Fixed infinite timeout in SDL_WaitEventTimeout()  (SDL hg rev. 10106)
- Mac: avoid calling CGSetLocalEventsSuppressionInterval, it was deprecated in
  OS X 10.6. (SDL h2 revs. 10122 and 10158)
- Cocoa mouse code: Replaced NSPointInRect with NSMouseInRect (bug #3312.)
- Windows: make sure SDL_TicksInit has been called before calling Sleep(ms) in
  SDL_Delay. This ensures the Windows system timer resolution is properly set
  before Sleep is called.  (SDL hg rev. 10067)
- Fixed console_wmain in SDL_windows_main.c does not null terminate the argument
  list it is creating. (bug #3338, patch not yet applied to SDL hg repo.)


git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1306 af15c1b1-3010-417e-b628-4374ebc0bcbd
2016-05-25 20:11:37 +00:00
Ozkan Sezer
cbba651746 rebuilt SDL1.2 for windows after applying fixes/updates from mainstream:
- Fix other window positions/sizes when exiting fullscreen (bug #3315.)
- Fix a 'dead keys' issue on international keyboards (bug #3332, patch
not yet applied to SDL hg repo.)


git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1305 af15c1b1-3010-417e-b628-4374ebc0bcbd
2016-05-25 20:10:42 +00:00
Eric Wasylishen
759aa803d1 CL_Tracepos_f: fix wrong trace endpoint (developer function added in Fitzquake)
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1304 af15c1b1-3010-417e-b628-4374ebc0bcbd
2016-05-21 19:50:03 +00:00
Ozkan Sezer
3b158e0e5f oslibs, windows: rebuilt libFLAC dll for x86 windows with __USE_MINGW_ANSI_STDIO=0
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1303 af15c1b1-3010-417e-b628-4374ebc0bcbd
2016-05-13 22:25:50 +00:00
Ozkan Sezer
f07ac29c0b fix C++11 -Wliteral-suffix warnings. fix -Wnarrowing errors/warnings.
fix the detestable in_sdl.c/SDL2 int-to-enum conversion failure errors
from g++.


git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1302 af15c1b1-3010-417e-b628-4374ebc0bcbd
2016-04-29 20:00:50 +00:00
Ozkan Sezer
f3af6bf791 Fixed -Wmisleading-indentation warnings from new gcc6.
The warning from gl_model.c:Mod_LoadTextures() seemed
like a real bug: Eric please check and confirm.


git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1301 af15c1b1-3010-417e-b628-4374ebc0bcbd
2016-04-28 21:47:12 +00:00
Ozkan Sezer
55e4763cb5 rebuilt 32 bit win32 version of libFLAC dll more compatibly
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1300 af15c1b1-3010-417e-b628-4374ebc0bcbd
2016-04-24 17:56:39 +00:00
Ozkan Sezer
5af28b2121 windows: use target-specfic flags for gcc too (-m32/-m64). hmph..
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1299 af15c1b1-3010-417e-b628-4374ebc0bcbd
2016-04-18 14:01:55 +00:00
Ozkan Sezer
f22eed7f57 use specific target flags with windres (pe-i386/pe-x86-64 for w32/w64),
just in case the compiler toolchain is a multilib one.


git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1298 af15c1b1-3010-417e-b628-4374ebc0bcbd
2016-04-17 19:10:01 +00:00
Eric Wasylishen
39a6b46713 in_sdl.c: lower default controller deadzone to 0.175. refactor a bit, fix clamping of look axis vector length.
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1297 af15c1b1-3010-417e-b628-4374ebc0bcbd
2016-03-09 04:42:44 +00:00
Eric Wasylishen
f8ccd07420 in_sdl.c: IN_StartupJoystick: do SDL_INIT_GAMECONTROLLER before SDL_GameControllerAddMappingsFromFile, to match the sdl testgamecontroller tool
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1296 af15c1b1-3010-417e-b628-4374ebc0bcbd
2016-03-03 23:01:44 +00:00
Eric Wasylishen
dfcaa52260 in_sdl.c: improve error messages when opening joysticks
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1295 af15c1b1-3010-417e-b628-4374ebc0bcbd
2016-03-03 21:38:58 +00:00
Eric Wasylishen
e007e35e6d in_sdl.c: fix spurious "-1 mappings loaded from gamecontrollerdb.txt" message
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1294 af15c1b1-3010-417e-b628-4374ebc0bcbd
2016-03-02 00:04:25 +00:00
Eric Wasylishen
dc2218b9c8 SDL2 Game Controller support
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1293 af15c1b1-3010-417e-b628-4374ebc0bcbd
2016-03-01 21:58:08 +00:00
Eric Wasylishen
9c9facfe7b gl_vidsdl.c: add vid_borderless cvar for getting a borderless window
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1292 af15c1b1-3010-417e-b628-4374ebc0bcbd
2016-02-26 20:18:27 +00:00
Eric Wasylishen
185f2f2883 R_UpdateWarpTextures: workaround osx 10.6 driver bug when using FSAA, reported by Barnak.
R_Clear only clears the warpimage part of the screen, leading to an unplayable
HOM effect on the rest of the screen.

The workaround is calling GL_SetCanvas(CANVAS_DEFAULT); at the end of
R_UpdateWarpTextures, it should be harmless enough on other systems, so not sure
if it's worth making this workaround conditional.

My guess is glClear in this implementation is wrongly using glViewport as the
area to clear.

git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1291 af15c1b1-3010-417e-b628-4374ebc0bcbd
2016-02-26 07:37:00 +00:00
Eric Wasylishen
150be12da1 Contrast support with a "contrast" cvar, behaving the same as MarkV's.
It may be a useful alternative to the existing gamma control for laptops in a bright environment, etc.
(raising contrast gives less of a gray/washed out look than raising gamma, but as a disadvantage, colours near white get clipped to white.)

It's also implemented for both GLSL and SDL gamma ramps, but only if USE_GAMMA_RAMPS is set to 1.
Since USE_GAMMA_RAMPS  is 0, currently it only works with GLSL.

git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1290 af15c1b1-3010-417e-b628-4374ebc0bcbd
2016-02-12 23:26:36 +00:00
Eric Wasylishen
ebd73d2a3c world.c: use DoublePrecisionDotProduct to fix items falling out of the world
on oms3.bsp on SSE builds.

Thanks to ParuBaru for reporting the issue.

git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1289 af15c1b1-3010-417e-b628-4374ebc0bcbd
2016-02-01 22:41:15 +00:00
Ozkan Sezer
864044dacf docs: fixed version number in changelog. added empty 0.91.1 changelog section for new changes.
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1288 af15c1b1-3010-417e-b628-4374ebc0bcbd
2016-01-31 09:33:26 +00:00
Eric Wasylishen
36d9cc4b42 Default gl_clear to 1, as described in "Common mistakes" https://www.opengl.org/wiki/Common_Mistakes#Swap_Buffers
"The buffers should always be cleared. On much older hardware, there was a technique to get away without clearing the scene, but on even semi-recent hardware, this will actually make things slower. So always do the clear."
Plus it's nice for map development / debugging.

git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1287 af15c1b1-3010-417e-b628-4374ebc0bcbd
2016-01-29 20:47:24 +00:00
Eric Wasylishen
ae8a4f82da SV_SpawnServer: use malloc for sv.edicts, and only zero it as needed
Previously we were Hunk_Alloc'ing space for 8192 edicts (by default) which zeros all of that memory, this way we only use as much RAM as needed since the unuesd pages aren't dirtied

git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1286 af15c1b1-3010-417e-b628-4374ebc0bcbd
2016-01-29 01:05:11 +00:00
Eric Wasylishen
b7a0540bdf Xcode project:
-adjust release builds to not require 10.6 SDK, and disable PPC since recent OSX SDK's don't support it
-don't strip symbols, to make testing in Instruments easier.

git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1285 af15c1b1-3010-417e-b628-4374ebc0bcbd
2016-01-29 00:31:27 +00:00
Eric Wasylishen
70a472bed1 GL_Init: log gl_vendor, gl_renderer, gl_version to the console.
Taken from RMQEngine. the idea is to ensure every -condebug log has the gfx driver version logged.

git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1284 af15c1b1-3010-417e-b628-4374ebc0bcbd
2016-01-28 06:07:07 +00:00
Ozkan Sezer
16a84f52b8 bumped version to 0.91.1 for future development
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1283 af15c1b1-3010-417e-b628-4374ebc0bcbd
2016-01-18 07:28:03 +00:00
Ozkan Sezer
55970f514e re-diff'ed extra patches under Misc/ so that they apply cleanly.
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1281 af15c1b1-3010-417e-b628-4374ebc0bcbd
2016-01-16 19:28:04 +00:00
Ozkan Sezer
b1d6c2b865 minor edit to readme.txt
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1280 af15c1b1-3010-417e-b628-4374ebc0bcbd
2016-01-15 09:37:09 +00:00
Eric Wasylishen
31d66f8a5a Update docs with latest changes
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1279 af15c1b1-3010-417e-b628-4374ebc0bcbd
2016-01-15 09:18:21 +00:00
Eric Wasylishen
65727a9810 max_edicts: raise to 8192 (from 2048) and make non-archived, to reduce the need for players to mess with it to get maps/mods to run.
Some measurements on the size of the sv.edicts hunk allocation, with this change, on various mods (it depends on the number of QC entity fields):
id1 7MB, quoth 11 MB, arcadim 21 MB, rrp 9MB,  ne_ruins 16MB.

Since this is a Hunk_Alloc, the whole 10-20MB is cleared to zero which will allocate that much physical ram.
We could probably change it to a malloc later, and not clear the memory, so physical ram is only allocated when the memory is cleared in ED_Alloc.

git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1278 af15c1b1-3010-417e-b628-4374ebc0bcbd
2016-01-10 23:03:06 +00:00
Ozkan Sezer
34e479c001 oslibs: rebuild libopusfile from latest v0.7 release.
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1277 af15c1b1-3010-417e-b628-4374ebc0bcbd
2016-01-10 09:30:31 +00:00
Eric Wasylishen
74eb6b0f9d Raise default heapsize to 256MB and zone to 4MB (matching Fitz MarkV)
N.B.: I verified with the OS X Instruments tool that unused space in the heap isn't dirtied (e.g. we never memset the entire heap, only the portions returned by Hunk_Alloc) so this should have no impact on RAM required.

git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1276 af15c1b1-3010-417e-b628-4374ebc0bcbd
2016-01-09 20:29:22 +00:00
Eric Wasylishen
0da03db7b8 zone.c: fix padding in memblock_t struct to works as intended. the previous layout was probably harmless but wasted a few bytes.
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1275 af15c1b1-3010-417e-b628-4374ebc0bcbd
2016-01-09 20:03:27 +00:00
Eric Wasylishen
ba5ce1e5af TexMgr_RecalcWarpImageSize: removed early exit if (gl_warpimagesize == oldsize), fixes liquids sometimes turning to noise after a mode change.
after vid_restart TexMgr_ReloadImage reloads textures to tx->source_width/source_height, which might not match oldsize.
fixes: https://sourceforge.net/p/quakespasm/bugs/13/

steps to reproduce (fixed) bug:
-launch at 640x480, windowed, and with "r_oldwater 0"
-do "map start"
-change to 1024x768 windowed
-change to 1920x1080 windowed
-this last mode change makes liquid textures turn into random garbage.

git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1274 af15c1b1-3010-417e-b628-4374ebc0bcbd
2016-01-08 08:22:27 +00:00
Ozkan Sezer
153eba1f71 rebuilt SDL2 from SDL2-2.04 release version.
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1273 af15c1b1-3010-417e-b628-4374ebc0bcbd
2016-01-03 10:51:44 +00:00
Eric Wasylishen
239503c998 VID_Toggle: disable the fast path entirely because it was failing on SDL2/WinXP.
(640x480 fullscreen -> windowed would give a large 1280x768 window mostly filled with garbage).

Previously, we were only using the fast path on old systems (no VBO support) anyway.

git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1272 af15c1b1-3010-417e-b628-4374ebc0bcbd
2016-01-03 08:38:46 +00:00
Eric Wasylishen
b30a347a20 Add Xcode project for debugging on Xcode 2.5 / OS X 10.4 / PPC
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1271 af15c1b1-3010-417e-b628-4374ebc0bcbd
2016-01-03 07:45:18 +00:00
Ozkan Sezer
43223ffd93 SDL2 rebuild: forgot updating SDL_revision.h.
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1270 af15c1b1-3010-417e-b628-4374ebc0bcbd
2015-12-28 10:15:04 +00:00
Ozkan Sezer
d4c4cb7908 rebuilt SDL2 from SDL hg repo r9972 (2015-12-28) to catch a few small fixes.
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1269 af15c1b1-3010-417e-b628-4374ebc0bcbd
2015-12-28 10:11:42 +00:00