Commit Graph

1942 Commits

Author SHA1 Message Date
SmileTheory 6e5f8cc918 OpenGL2: Calculate bitangent in shader, and store normal/tangent as normalized byte arrays. 2013-11-12 19:21:51 -08:00
Zack Middleton a53e7c3074 Fix comparing unsigned values to < 0 in gl2 2013-11-11 01:12:42 -06:00
Ensiform 93be2655f8 Remove unused cvar_t variable cl_trn 2013-11-11 01:09:10 -06:00
Zack Middleton 203ab7b9af Fix cinematics often being silent on OS X
If OpenAL source isn't playing, often what happens is: queued buffers is 0 and processed buffers is non-0.
S_AL_StreamUpdate won't play the steam if queued buffers 0.
So start the stream in S_AL_RawSamples.
2013-11-11 00:21:53 -06:00
Zack Middleton b3bd74fce7 Fix restoring loop sound position on OS X
The default OpenAL library on OS X errors AL_INVALID_VALUE for AL_SEC_OFFSET if source isn't playing.
2013-11-10 23:28:54 -06:00
Zack Middleton 5795be68f6 Make OpenAL buffer management work on OS X
Don't assume we have unlimited OpenAL buffers.
Detach buffers from sources by setting AL_BUFFER to 0. Cannot delete buffers on OS X immediately after alSourceUnqueueBuffers.
Free unprocessed stream and music buffers.
Free unused sfx buffers when sound file exists and fails loading into OpenAL (though I haven't seen it fail).
2013-11-10 22:55:35 -06:00
Zack Middleton d526eacd10 Fix flares being invisible after vid_restart
flareCoeff was only set if r_flareCoeff cvar was set as modified.
Cvars are set as modified when created or changed.
2013-11-09 16:57:58 -06:00
SmileTheory ae57eebf52 Merge branch 'glindex_size_fixes' of https://github.com/inolen/ioq3 into inolen-glindex_size_fixes 2013-11-08 22:19:32 -08:00
Zack Middleton baf5737779 Remove function prototypes for non-existant Sys_* DLL functions 2013-11-08 18:44:04 -06:00
Zack Middleton 028f0f1ac4 Remove old comment that FS_Seek doesn't work on zipped files 2013-11-08 18:43:48 -06:00
Zack Middleton 2d45e57068 Support FS_SEEK_END and negative offset for zipped files in FS_Seek
Use FS_SEEK_END in sound code instead of working around it.
If FS_SEEK_SET and going to current position, just return.
2013-11-08 18:43:34 -06:00
Zack Middleton c69db4a400 Remove unused variable baseOffset from fsh[] 2013-11-08 18:43:20 -06:00
Zack Middleton 90c98c90a3 Fix VM FOpenFile( FS_READ ) files seeking twice in FS_Seek 2013-11-08 18:42:56 -06:00
SmileTheory ef9fe17dd5 OpenGL2: Remove srfTriangle_t, and use glIndex_t instead. 2013-11-08 01:46:17 -08:00
SmileTheory d295db747c OpenGL2: Small optimizations and comments in world VBO creation and surface merging. 2013-11-07 04:03:52 -08:00
Zack Middleton fd4cd6612d Fix running if built on OS X 10.9
strncpy with in == out causes signal 6 if built on OS X 10.9.
(If built on older OS X versions, the game works on 10.9 though.)

It was happening in COM_StripExtension during map load.
2013-11-06 22:23:40 -06:00
SmileTheory 7672533e8f OpenGL2: Prefer VBO/IBO sizes of around 4MB. 2013-11-05 20:07:10 -08:00
SmileTheory 8c3ae8d7d2 OpenGL2: Reimplement soft overbright to avoid a framebuffer blit. 2013-11-05 00:08:59 -08:00
SmileTheory a7c5fc0ee7 OpenGL2: Some small shader optimizations. 2013-11-04 22:50:53 -08:00
SmileTheory 0e25d0357b OpenGL2: Revisit fragment tangent space calculation, and remove tangent space lighting. 2013-11-04 21:53:05 -08:00
SmileTheory 3846c115e6 OpenGL2: Reduce glsl shader count by using a uniform to disable textures. 2013-11-03 19:34:22 -08:00
Tim Angus 779ebfacfd Merge branch 'master' into sdl2 2013-11-02 19:12:52 +00:00
Tim Angus 7ae49cc237 Fix video recording sync drift (patch refactored but original author unknown) 2013-11-02 19:11:14 +00:00
Zack Middleton ae0e09aba9 Remove vertexLightmap from textureBundle_t, it's never qtrue 2013-11-02 02:59:31 -05:00
Zack Middleton 6bd52de44e Remove unused shader state code from tr_local.h 2013-11-02 02:35:59 -05:00
Zack Middleton 0f30dad10a Merge last two commits into renderergl2 2013-10-29 23:22:02 -05:00
Zack Middleton 611d913443 Initialize blendIndexesType and blendWeightsType 2013-10-29 23:18:05 -05:00
Zack Middleton f55bb272b6 Fix IQM comments refering to IQM_BYTE instead of IQM_UBYTE 2013-10-29 23:11:32 -05:00
Zack Middleton c28fabf505 IQM int/float vertex arrays were already swapped 2013-10-29 23:07:15 -05:00
Zack Middleton 0bf1f3d0ba Add support for IQM int blend indices and float blend weights
Integer blend indices are converted to bytes at load, ioq3 doesn't allow more than 128 joints.

Heavily based on code by @zippers.
2013-10-29 22:09:06 -05:00
Zack Middleton 1515841b38 Support IQMs with joints and no poses 2013-10-29 20:47:33 -05:00
Zack Middleton e0a42885d9 Clear more variables in CL_InitServerInfo
Have cls.localServers use CL_InitServerInfo.
Don't set cls.localServers netType to from.type, it's the wrong value.

Note: server->visible is not cleared in CL_InitServerInfo, as stated by a comment below a place where CL_InitServerInfo is used.
2013-10-28 15:23:01 -05:00
Zack Middleton 5fdff01d1b Check #ifdef MACOS_X not #if MACOS_X 2013-10-20 13:58:30 -05:00
Zack Middleton 8c1d3c635c Use bundle icon on Mac OS X instead of internal 32x32 window icon 2013-10-19 01:54:58 -05:00
Zack Middleton 983ebbb4a6 Ignore -psn* arguments on Mac OS X
Mac OS X adds an argument starting with "-psn" when launched using Finder, Dock,
or a terminal using open command and not specifying arguments.

It caused the opening videos to be skipped.

This change mimics SDL 1.2.
2013-10-19 01:10:24 -05:00
Zack Middleton cb153f2aaa Fix warning that SDL_GetKeyboardState return value is used non-const 2013-10-19 00:39:07 -05:00
Zack Middleton c6a61d212a Fix SDL2 losing event subsystem
Quiting SDL Video or Joystick subsystem implies quiting the Event subsystem in SDL2.
SDL keeps track of number of init and shutdown calls for each subsystem.
Shuting down video or joystick more or equal to number of times they're inited will lead to event shutdown.

Toggling in and out of fullscreen or running in_restart twice causes SDL event subsystem to shutdown, making input not work.

If the console is closed, IN_GobbleMotionEvents gets stuck in a loop. SDL_PeepEvents returns -1 when there is an error, but we assume non-0 means read more events.

IN_ShutdownJoystick needs to check if joystick subsystem was inited before quitting it, otherwise we may cause SDL event subsystem to shutdown.
2013-10-18 16:31:19 -05:00
SmileTheory 535d0ea70e OpenGL2: Merge bsp surface structs into a single struct, and more cleanup. 2013-10-15 01:19:16 -07:00
SmileTheory 01efe4a538 OpenGL2: Use an idea from ETXreal and separate world VBO into separate VBOs by shader. 2013-10-14 03:58:13 -07:00
SmileTheory 08fcecc829 OpenGL2: Clean up texmod calculations, and improve vertex animation handling. 2013-10-14 01:55:54 -07:00
SmileTheory f8355ba2fb OpenGL2: Fix TCGEN_ENVIRONMENT stages not rendering correctly. 2013-10-10 03:41:31 -07:00
Zack Middleton a836c2db89 Drop sounds starting with * before allocating sfx slot
Causes handle 0 to be returned by S_RegisterSound.
2013-10-09 09:51:32 -05:00
Zack Middleton e4227d1cd5 Revert "5097 - Menu corrupted on start (on IRIX)"
Calling glClear( any bits ) in GL_SetDefaultState makes connect screen black using the proprietary NVidia driver on Windows and GNU/Linux.

This reverts commit 92573270de.
2013-10-08 08:01:00 -05:00
SmileTheory c6774cf113 OpenGL2: default to RGBM lightmap, and add r_floatLightmap for old behaviour. 2013-10-07 01:46:50 -07:00
SmileTheory acbeca6042 OpenGL2: Remove AGEN_FRESNEL(superceded by cubemap patch), and some small fixes and optimizations. 2013-09-24 03:29:49 -07:00
cmf028 11c3bed74d Send key up events for the mouse wheel
Previous versions of SDL would send SDL_MOUSEBUTTONUP events for the mouse wheel immediately following the corresponding SDL_MOUSEBUTTONDOWN event
2013-09-23 12:21:21 -05:00
cmf028 7d83bba2d0 Set com_minimized to 0 when the window is restored 2013-09-23 12:21:21 -05:00
cmf028 d7444b8ca1 Don't set the window title twice 2013-09-23 12:21:20 -05:00
SmileTheory 82be4e667f OpenGL2: Disable GL_ARB_seamless_cube_map by default, caused huge frame drops on some hardware 2013-09-20 17:20:36 -07:00
Zack Middleton fcaab903d1 Fix UI parse message for menu files
Missing a space after colon.
2013-09-19 21:41:27 -05:00
SmileTheory 3ab895d1cd OpenGL2: reduce varying usage in lightall shader. 2013-09-17 23:52:40 -07:00
SmileTheory cbd05da5d1 OpenGL2: Fix for "unsupported framebuffer format" bug 2013-09-17 15:33:46 -07:00
SmileTheory 42501db862 OpenGL2: Some shader cleanup 2013-09-16 23:41:04 -07:00
SmileTheory 5985cca2e6 OpenGL2: Speed up fog shader slightly. 2013-09-16 23:20:44 -07:00
Tim Angus 76e49b668e Merge branch 'master' into sdl2 2013-09-16 22:34:51 +01:00
SmileTheory a408a2bdae OpenGL2: Fix inaccurate RGBM calculation. 2013-09-16 14:26:42 -07:00
SmileTheory e80faf812e OpenGL2: Use RGBM instead of RGBE encoding for lightmaps. 2013-09-16 05:57:14 -07:00
SmileTheory 7e875c6941 #5979: Cubemap support for opengl2. 2013-09-16 00:54:26 -07:00
Tim Angus 58b8cfa0b3 Various fixes from Fuma 2013-09-15 23:54:52 +01:00
Zack Middleton 68a616c7f1 Free bot client if cannot load bot
Introduced by commit a57a5cfd9b.
2013-09-08 21:59:58 -05:00
Zack Middleton 27ddba9c2e Fix crash caused by too many surfaces in skin 2013-09-04 20:36:45 -05:00
Razish 61dd609aee Fix warning message in animation.cfg parsing functions
Signed-off-by: Zack Middleton <zturtleman@gmail.com>
2013-09-04 15:51:34 -05:00
Tim Angus 462694763e Bug #6021 Fix misuse of Sys_Mkdir (Joerg Dietrich) 2013-09-04 17:56:11 +01:00
Zack Middleton 99317a9e9a Make cgame's tcmd use trap_SendClientCommand for "gc"
gc command was forwarded to server after if wasn't recognized locally, but let's just send straight to server.

(trap_SendConsoleCommand should of had a \n at end, but using trap_SendClientCommand makes more sense.)
2013-09-03 18:19:48 -05:00
Zack Middleton c79e0dfc25 Fix targetNum check in cgame's tcmd 2013-09-01 20:58:51 -05:00
Tim Angus fb9270306b Fix initial window position being top left 2013-08-29 19:15:35 +01:00
Thilo Schulz daf71ca502 Fix recursive crash when home path cannot be created 2013-08-25 12:00:30 +02:00
SmileTheory 311376af8a Fix upside-down SSAO. 2013-08-23 01:51:58 -07:00
SmileTheory d46916082d #5999: OpenGL2: Don't use lightall shader with deforms or adjustColorsForFog. 2013-08-23 01:35:17 -07:00
SmileTheory ebd164deaf #6004: OpenGL2: Make any CGEN_LIGHTING_DIFFUSE stages use lightall shader. 2013-08-23 00:55:28 -07:00
Tim Angus 273b9ab77e Update SDL2 headers... oops 2013-08-20 18:30:56 +01:00
Tim Angus 32a859c680 More updates to SDL2 libs from MAN-AT-ARMS 2013-08-19 23:19:29 +01:00
Tim Angus e13773de69 Update prebuilt SDL2 libs for Windows 2013-08-18 18:23:14 +01:00
Tim Angus e6d075e165 SDL2 libs for OSX, thanks to MAN-AT-ARMS 2013-08-18 18:08:03 +01:00
Tim Angus bde7665462 Merge branch 'master' into sdl2
Conflicts:
	code/sdl/sdl_input.c
2013-08-16 23:34:08 +01:00
Zack Middleton d4c6711e51 Fix "bind <key>" message for unbound keys
"bind X cmd; unbind X; bind X" now says '"x" is unbound' instead of '"x" = ""'
2013-08-16 15:41:01 -05:00
Zack Middleton 3d69ae9995 Fix OpenAL music stop issues using stream stop code
S_AL_StopBackgroundTrack would sometimes generate AL errors.
S_AL_MusicSourceFree needs to kill source or next track may have short looping buffer.
2013-08-16 15:29:12 -05:00
Zack Middleton 81909bb266 Fix text getting appended to vid_restart in command buffer
I was getting unknown command "vid_restart-button2" warning on OSX when trying to use alt-return to toggle fullscreen.
2013-08-03 17:40:50 -05:00
Zack Middleton 3518e7b22e Fix bind commands getting run when closing UI
Introduced in commit "Add togglemenu command" bf2b04.

Don't let UI key event changing key catcher affect bind parsing. Bind parsing itself will never change the key catcher.

Example of issue: if mouse1 is bound to +attack when clicking Resume Game, player will shoot until releasing the mouse button.
Mouse button should have to be released and pressed again before player will shoot.
2013-07-22 17:44:28 -05:00
Henry Stratmann III db85b61e94 Add assignment below declarations otherwise compiling fails with msvc
Signed-off-by: Zack Middleton <zturtleman@gmail.com>
2013-07-21 19:15:24 -05:00
Zack Middleton 43ea1aebb3 Fix Windows server history scrolling
Update history position when CON_HistNext goes to input line, otherwise
when going to previous a line is skipped.
Don't let CON_HistPrev go to unused lines.
2013-07-21 17:32:56 -05:00
Anthony Pesch b0f0376a4f Misc fixes to IBO code to correctly use sizeof(glIndex_t) 2013-07-19 14:16:49 -07:00
morturp 7b47c6cf36 out seems to be unnecessarily large for one byte per pixel 2013-07-18 03:00:39 +03:00
Zack Middleton 690b281e4d Remove unused models from server_t 2013-07-11 23:26:30 -05:00
Zack Middleton 30fcabec65 SDL Mouse Button clean up
Make 'b' variable an int so that key values more than 255 will work (not currently an issue in ioq3 afaik).
Use SDL_BUTTON_* for easier transition to SDL2.
(SDL2 doesn't have SDL_BUTTON_WHEELUP or SDL_BUTTON_WHEELDOWN, X1/X2 are different values.)
2013-07-09 14:41:56 -05:00
Zack Middleton 4776fb4767 (bug #5984) Unload renderer lib 2013-07-08 16:36:30 -06:00
Zack Middleton 6b13806066 Fix getting servers from and being listed on id's q3 master server
Use q3 master protocol when com_gamename is Quake3Arena (the default), otherwise use dpmaster protocol.
2013-07-07 16:31:36 -05:00
Zack Middleton 608e852ac6 Free Team Arena fonts/fontImage_X.dat buffer
Caused temp memory to be present all the time, so Hunk_Alloc ignored memory low/high preference.

May have caused other issues as well.
2013-07-04 15:34:05 -05:00
morturp 213b8e2435 Prevent the skip of the glyph if it does not fit 2013-06-26 11:42:59 +03:00
Zack Middleton d79fe65878 Fix r_mergeLightmaps 0 crashing OpenGL2 renderer
tr.fatLightmapStep was 0 and caused modulus division by 0.
2013-06-20 21:56:04 -05:00
Zack Middleton 872465500e Fix r_nocurves in OpenGL2 renderer
Check r_nocurves in surface cull.
While r_nocurves is enabled, don't use merged surfaces because merged curves would be renderer. (note: surface merging is enabled by r_mergeLeafSurfaces)
2013-06-20 16:27:00 -05:00
Zack Middleton 323e8b9921 Fix r_speeds 4 in OpenGL2 renderer 2013-06-20 16:21:26 -05:00
Zack Middleton aa2ea68741 Fix IQM tess buffer overflow
Set the variables that use tess.numVertexes after calling RB_CHECKOVERFLOW() as it may set tess.numVertexes to 0!

Could cause visual issues and error "RB_EndSurface() - SHADER_MAX_VERTEXES hit".
2013-06-18 18:00:45 -05:00
Zack Middleton cb2fa48d65 Only allow model meshes to have SHADER_MAX_VERTEXES - 1 vertexes
The last index is used to check for buffer overflows. See RB_CheckOverflow and RB_EndSurface.
2013-06-18 17:02:47 -05:00
Zack Middleton 00c1831edb Don't try to fog flares with fogNum 0
fogNum 0 means no fog. Shaders don't try to apply fog color if fogNum is 0.

This was done to make things more consistent and fix a crash in iortcw MP using a user made map on GNU/Linux x86_64.
2013-06-11 15:47:00 -05:00
Tim Angus 7b15415042 Rate limit getchallenge 2013-06-10 20:31:15 +01:00
Zack Middleton 2937ac7661 Allow adjusting VoIP gain and mute during SP demo playback 2013-06-04 23:19:47 -05:00
Zack Middleton e89a1b9f8e Allow adjusting VoIP gain and mute during demo playback 2013-06-04 23:02:23 -05:00
Zack Middleton 21c93736b8 Allow recording VoIP in SP for demo commentaries 2013-06-04 22:28:46 -05:00
Zack Middleton 1315d62491 Make COM_ParseWarning report starting line number of multi-line tokens
COM_ParseWarning use to show last line number of multi-line string tokens, now shows starting line number.
2013-06-03 22:35:57 -05:00