Commit graph

11810 commits

Author SHA1 Message Date
Rachael Alexanderson
7600fdb200 Merge https://github.com/coelckers/gzdoom 2017-05-22 13:10:19 -04:00
svdijk
bdfc42182f OPLsynth: Default to center panning. 2017-05-22 09:15:02 +02:00
Christoph Oelckers
7bc5573baa - call P_FindParticleSubsectors before rendering a save picture in OpenGL.
This entry point was the only one missing that call.
2017-05-21 12:45:49 +02:00
Christoph Oelckers
fc0855fac7 - fixed size of particles in the hardware renderer.
From the look of it the scale was changed in the software renderer several years back but the hardware renderer never got adjusted for it.
This also adds a bit of compensation to round particles so that they get rendered a bit larger than square ones.
2017-05-21 12:36:34 +02:00
Christoph Oelckers
be2cfddb17 - handle the case where SBARINFO only contains a mugshot definition and fall back to the current statusbarclass if creating an SBARINFO-based statusbar fails. 2017-05-21 12:06:22 +02:00
Magnus Norddahl
e27e89b57d - Make sure a hung worker thread always crashes the application 2017-05-21 12:03:12 +02:00
Rachael Alexanderson
3955b7a4f8 Merge https://github.com/coelckers/gzdoom 2017-05-21 05:52:27 -04:00
Magnus Norddahl
aff9205057 - Fix mipmap filtering bug when using nearest filter 2017-05-21 11:01:37 +02:00
svdijk
371a8755c2 vid_glswfb: Prevent defunct windows. 2017-05-20 23:21:51 +02:00
Rachael Alexanderson
fd0602a163 Merge https://github.com/coelckers/gzdoom 2017-05-19 23:40:51 -04:00
Christoph Oelckers
fc8639226d - yet again Visual Studio's autocompletion feature deleted some tildes. 2017-05-19 21:36:32 +02:00
Christoph Oelckers
a4231ffd00 - more handling of some very broken old ATI drivers. 2017-05-19 21:33:48 +02:00
Christoph Oelckers
e1cd0dc588 - major optimization on carry scroller code.
The old version was checking every single actor in every single sector for being affected by a carry scroller if there was so much as a single such scroller in the map.
Changed it so that the scroll thinker flags all actors in the affected sectors so that these expensive calculations can be skipped for everything else.
This change and reduce think time by 1/3 on maps like ZDCMP2 (on the test machine it went down from 6 ms to 4 ms on this map.)
2017-05-19 16:31:44 +02:00
Christoph Oelckers
9fc309d5b5 - stop the music when processing a fatal error. 2017-05-19 12:20:33 +02:00
Christoph Oelckers
c1e64fa576 - fixed: The rail trail should use r_trail_sparsity, not r_spiral_sparsity.
- fixed: Spawning actors on the rail trail must ignore the sparsity CVARs completely.
2017-05-19 12:03:20 +02:00
Christoph Oelckers
c8e631bf26 - fixed: The colormap was not fully initialized for 3D floors in sectors where neither the original floor nor ceiling were visible. 2017-05-19 11:42:44 +02:00
Christoph Oelckers
97b664968e - removed a few unused VM opcodes. 2017-05-19 10:27:22 +02:00
Rachael Alexanderson
1472627f6a Merge https://github.com/coelckers/gzdoom 2017-05-17 22:15:48 -04:00
Major Cooke
bb1e927c46 Give the parameter a better name to associate by. 2017-05-17 23:03:22 +02:00
Major Cooke
65f13b0927 - Added a Z offsetting parameter to the ZScript LineAttack function.
- Added LAF_OVERRIDEZ flag to LineAttack. Disregards all internal offsetting aside the actor's Z position before adding the offset parameter.
2017-05-17 23:03:22 +02:00
Rachael Alexanderson
0f54d7f854 Merge https://github.com/coelckers/gzdoom 2017-05-17 08:53:34 -04:00
alexey.lysiuk
a92f889e44 Fixed recently introduced compilation warnings
src\v_video.cpp(1771): warning C4244: '=': conversion from 'double' to 'int', possible loss of data
src\v_video.cpp(1773): warning C4244: '=': conversion from 'double' to 'int', possible loss of data
2017-05-16 16:39:07 +03:00
Rachael Alexanderson
a93efb1e9e - slightly increase source code readability by moving a flag from one line to another. 2017-05-16 09:52:50 +02:00
Rachael Alexanderson
8192ad73bd - changed fall damage so it is max 'TELEFRAG_DAMAGE - 1' instead of a flat 999 (it used to check for >=1000). 2017-05-16 09:52:50 +02:00
Rachael Alexanderson
c6946cc672 - removed all instances of CF_POWERBUDDHA 2017-05-16 09:52:50 +02:00
Rachael Alexanderson
fe023b5ca4 - changed Buddha powerup from a flag to an inventory check 2017-05-16 09:52:50 +02:00
Major Cooke
b1a8ef54f6 - Fixed bitwise comparison. 2017-05-16 09:52:50 +02:00
Major Cooke
6bbbd28a08 - Added missing LAXTELEFRAGDMG support to SelfDamageFactor. 2017-05-15 19:19:35 +02:00
Rachael Alexanderson
a96ef5276d - Added new flags8 actor field. Isn't it frightening how quickly how we got to our 8th flag field?
- Speaking of frightening, added +FRIGHTENING flag.
2017-05-15 19:17:46 +02:00
Rachael Alexanderson
7ded20ca05 Merge https://github.com/coelckers/gzdoom 2017-05-15 03:27:58 -04:00
Dmitri Kourennyi
3b20c26275 Fix A_CheckProximity setting pointer to dead things when it shouldn't.
When using A_CheckProximity with CPXF_SETTARGET, the target pointer could
be set to a dead monster even without the CPXF_COUNTDEAD and CPXF_DEADONLY
flags. This is becuase the check for death would occur after setting the
pointer.

Fix simply moves death check to occur before setting pointers.
2017-05-14 20:01:18 +02:00
Major Cooke
795f8f0578 - Added a separate cheat flag to handle buddha powerups. Currently, Buddha powerups could interfere and disable the actual player cheat unintentionally, when the player may not want their actual cheat to be turned off.
- Set some overlooked 1000000 damage points to TELEFRAG_DAMAGE inside the falling damage code.
2017-05-14 17:22:46 +02:00
Christoph Oelckers
6a34092742 - fixed automap positioning with linked portals and a camera actor that is transitioning a sector portal. 2017-05-14 13:12:39 +02:00
Christoph Oelckers
437dd68d79 - the Render state must be applied before performing a portal clear screen, because it would still be set to stencil drawing at this point. 2017-05-14 12:42:25 +02:00
Rachael Alexanderson
a7025b5563 Merge https://github.com/coelckers/gzdoom
# Conflicts:
#	src/version.h
2017-05-14 06:41:56 -04:00
Christoph Oelckers
8a91153aeb - Why does the Visual Studio editor hate tildes so much...? 2017-05-14 12:36:13 +02:00
Christoph Oelckers
ef7e4fe678 - draw empty portals in black, not the last set color. 2017-05-14 12:31:51 +02:00
Christoph Oelckers
0f80b7dcb6 - fixed: P_CollectConnectedGroups should abort if it tries to collect the same portal group more than once, because this would indicate an infinite loop. 2017-05-14 12:24:52 +02:00
Christoph Oelckers
1767dd6a42 - fixed: A_CheckBlock performed item pickup checks which could be done in completely inappropriate spots if this function was used from weapon overlays, for example. 2017-05-14 11:55:32 +02:00
svdijk
6dd570c538 Menu: Fix cycling the "midi devices" menu option. 2017-05-14 12:12:12 +03:00
svdijk
b6ef9fae3e SDLGLFB: Implement mouse coordinate scaling for the menus. 2017-05-14 12:12:12 +03:00
Magnus Norddahl
788b9f6d54 Merge branch 'master' of https://github.com/coelckers/gzdoom 2017-05-14 08:55:39 +02:00
Magnus Norddahl
31125486ad - Improve line portal rendering somewhat 2017-05-14 08:55:30 +02:00
Christoph Oelckers
b346dd0c09 - added a check for unconnected linked line portals. 2017-05-13 17:45:59 +02:00
alexey.lysiuk
f0d40d6a8a Added check for patch set existence before loading in FluidSynth
This helps to avoid flooding of output with the following messages on every MIDI song change:
fluidsynth: error: Unable to open file "/usr/share/sounds/sf2/FluidR3_GS.sf2"
fluidsynth: error: Couldn't load soundfont file
fluidsynth: error: Failed to load SoundFont "/usr/share/sounds/sf2/FluidR3_GS.sf2"
fluidsynth: error: Unable to open file "/usr/share/sounds/sf2/FluidR3_GM.sf2"
fluidsynth: error: Couldn't load soundfont file
fluidsynth: error: Failed to load SoundFont "/usr/share/sounds/sf2/FluidR3_GM.sf2"
2017-05-13 17:56:26 +03:00
alexey.lysiuk
27384fc70d Do not create symlink to executable on macOS too
This link in build directory pointed to non-existing file since we started to create application bundle with CMake
2017-05-13 17:01:24 +03:00
Magnus Norddahl
4554d90b1d Merge branch 'master' of https://github.com/coelckers/gzdoom 2017-05-13 15:49:09 +02:00
Magnus Norddahl
0a4f4aaffd - Stop using sqrt when calculating texture coordinates 2017-05-13 15:48:55 +02:00
alexey.lysiuk
3ab4a2238e Removed some remains of sound system MIDI device 2017-05-13 16:45:02 +03:00
alexey.lysiuk
a8e379553e Copy default soundfont in post build step 2017-05-13 15:49:23 +03:00
alexey.lysiuk
a01c6b1d65 Fixed build of non-Windows targets
src/sound/mididevices/music_fluidsynth_mididevice.cpp:355:13: error: use of undeclared identifier 'BaseFileSearch'
2017-05-13 14:29:29 +03:00
Christoph Oelckers
ba37f093e0 - use FluidSynth as default MIDI device and allow loading a 'gzdoom.sf2' sound font if none is specified. The search rules for this file will be the same as for gzdoom.pk3. 2017-05-13 12:33:14 +02:00
Rachael Alexanderson
d1c6d8543b Merge https://github.com/coelckers/gzdoom 2017-05-13 04:17:54 -04:00
Chris Robinson
e1fc33c38f Don't downmix sounds when AL_SOFT_source_spatialize is available 2017-05-12 21:38:45 +02:00
Magnus Norddahl
7af11b1963 - Offset sky in softpoly by 180 degrees 2017-05-12 17:59:22 +02:00
Magnus Norddahl
7a2be275af - Fix interpolator bug in softpoly 2017-05-12 17:47:11 +02:00
Magnus Norddahl
5c6cbd17a1 - Move polyobj rendering to be handled as a special case in RenderPolyScene 2017-05-12 17:26:17 +02:00
Magnus Norddahl
f7d1a2a574 - Add polyobj support to softpoly 2017-05-12 14:05:32 +02:00
Rachael Alexanderson
d907f18e4c Merge https://github.com/coelckers/gzdoom 2017-05-12 07:45:46 -04:00
Rachael Alexanderson
029788976d - fully fix Strife1.wad's MAP10 shooting range.
- added the following compatibility.txt properties: setsectortexture, setsectorlight
2017-05-11 18:56:02 +02:00
Rachael Alexanderson
ac244b3229 Merge https://github.com/coelckers/gzdoom 2017-05-10 05:15:49 -04:00
alexey.lysiuk
8fbb5372b2 Fixed 32-bit Windows crash reporter
Restored old exception handling for 32-bit Windows executable
Tested on 32-bit Windows XP (previously exited without notification), 64-bit Windows 7 and 10 (previously deadlocked in system DLLs)
2017-05-10 11:34:48 +03:00
Chris Robinson
092b339c8f Replace usleep with nanosleep for macOS too 2017-05-10 09:44:54 +02:00
Magnus Norddahl
f492e92cb5 - Handle degenerate triangles either sent as input or caused by clipping 2017-05-10 02:43:00 +02:00
Chris Robinson
7ad61a97ed Fix handling long wait times on POSIX's I_WaitVBL
usleep only works for sleeping up to one second. The function is also
deprecated and nanosleep should be used instead.
2017-05-09 23:21:32 +02:00
svdijk
fd8613a11e CMake: Fix building on 32-bit Linux (Core 2 Duo) again. 2017-05-09 20:48:48 +02:00
Chris Robinson
60cc91e000 Properly unload the backend sound buffers 2017-05-09 19:13:52 +02:00
Christoph Oelckers
0a8083e280 - fixed default obituary handling for predefined damagetypes. 2017-05-09 19:04:07 +02:00
Christoph Oelckers
2bf8e8f1c0 - fixed: InitClipper was missing a call to Clipper.Clear. 2017-05-09 12:20:49 +02:00
Christoph Oelckers
8be7ff01dd - removed some pointless restrictions from AActor::IsOkayToAttack which prevented its use on normal monsters.
This all made sense as long as the function was only used internally but that's not the case anymore.
2017-05-09 09:57:38 +02:00
Christoph Oelckers
c6a516089e - fixed: OPLio::WriteTremolo wrote the wrong value for operator #0. 2017-05-08 22:46:35 +02:00
Christoph Oelckers
762ba13cd9 - store the last found OpenGL version in the INI so that modern GL related options can be removed when running old hardware with software rendering. 2017-05-08 19:30:51 +02:00
Christoph Oelckers
4a5fe65ce8 - added missing check for RenderStyle None to GL weapon drawer. 2017-05-08 19:13:18 +02:00
alexey.lysiuk
bdac1c3ad1 Fixed problem with looping of particular music tracks
Part of https://forum.zdoom.org/viewtopic.php?t=56333
2017-05-08 18:07:02 +03:00
Christoph Oelckers
26325edddc - fixed Ogg tag validation. 2017-05-08 17:00:09 +02:00
alexey.lysiuk
f7b8dadedb Made size of music stream buffer customizable
Use snd_streambuffersize CVAR to set buffer size in kilobytes, from 16 to 1024
Name of existed CVAR from removed FMOD sound backend is used
Increased default size of stream buffer to 64 kB like it was in FMOD backend
2017-05-08 10:30:16 +03:00
alexey.lysiuk
3d100e6578 Removed unused #include's from music_libsndfile.cpp 2017-05-08 10:30:16 +03:00
alexey.lysiuk
e1266685d9 Use proper function to set sound offsets in samples
This fixes the following compilation warnings:
src\sound\oalsound.cpp(1588): warning C4244: 'argument': conversion from 'unsigned int' to 'ALfloat', possible loss of data
src\sound\oalsound.cpp(1796): warning C4244: 'argument': conversion from 'unsigned int' to 'ALfloat', possible loss of data
2017-05-08 10:29:41 +03:00
Rachael Alexanderson
cdb68f159c Merge https://github.com/coelckers/gzdoom 2017-05-07 21:29:12 -04:00
alexey.lysiuk
e848abf4df Fixed restoration of absolute time position for sounds
Loading of saved game no longer restarts sounds from beginning
2017-05-07 13:00:06 +03:00
Rachael Alexanderson
0941cda7cc Merge https://github.com/coelckers/gzdoom 2017-05-07 05:07:22 -04:00
Magnus Norddahl
81de951abc - Fix missing include 2017-05-06 22:25:18 +02:00
Magnus Norddahl
f083109b51 - Add SSE code to OpenGLSWFrameBuffer::OpenGLPal::Update to workaround a broken auto-vectorizer in GCC 2017-05-06 22:03:32 +02:00
Christoph Oelckers
7f7be9e393 - fixed compile errors in last commit. 2017-05-06 20:38:36 +02:00
alexey.lysiuk
85bb5192b3 Replaced sectorflooroffset with more generic compatibility parameter
New parameter setsectoroffset can set offset of floor or ceiling

# Conflicts:
#	src/compatibility.cpp
2017-05-06 19:43:35 +02:00
alexey.lysiuk
de97b753f6 Added compatibility parameter to set wall textures 2017-05-06 19:43:35 +02:00
alexey.lysiuk
cd8aa252ae Added compatibility parameter to set thing skills
# Conflicts:
#	src/compatibility.cpp
2017-05-06 19:43:35 +02:00
Magnus Norddahl
9011f0ed5b - Fix texture coordinates for sloped walls 2017-05-06 18:44:06 +02:00
Chris Robinson
996ce4497d Add a resampler option for the OpenAL backend 2017-05-06 18:07:31 +02:00
Magnus Norddahl
aca628acaf - Improve wall texture coordinates in softpoly 2017-05-06 15:48:04 +02:00
Christoph Oelckers
567c21cdeb - fixed recursion in Dim functions. When the main worker function was renamed to DoDim the Super calls were not fixed for it. 2017-05-06 10:44:29 +02:00
Rachael Alexanderson
678949ccd4 Merge https://github.com/coelckers/gzdoom 2017-05-06 00:52:02 -04:00
Magnus Norddahl
5c1dc900e3 - Slightly improve sky rendering in softpoly 2017-05-06 01:43:05 +02:00
Christoph Oelckers
bb12dabe2b - added a 'protrusion' property to SBARINFO so that the map name display can properly be handled here as well. Until now it was only working for scripted status bars. 2017-05-05 19:32:37 +02:00
Rachael Alexanderson
fa3846ccc6 Merge https://github.com/coelckers/gzdoom 2017-05-05 00:36:22 -04:00
Magnus Norddahl
4fcea96a1c - Improve softpoly sky rendering a little bit 2017-05-05 03:27:22 +02:00
Christoph Oelckers
2dff0e7309 - fixed: P_TranslateLinedef should not do any byte swapping but require passing of properly ordered values.
This gets called from several places, and the only one passing in potentially byte swapped values is P_LoadLineDefs.
All other uses of this function were essentially broken on PowerPC.
2017-05-04 23:52:16 +02:00
Rachael Alexanderson
118976129d Merge https://github.com/coelckers/gzdoom 2017-05-04 02:38:13 -04:00
Christoph Oelckers
99a61e74c7 - fixed: The first model ID was always initialized to 0, even if that model wasn't even present in the definition. 2017-05-04 00:37:43 +02:00
Rachael Alexanderson
5a450b5eaa - fixed: +FLIPSPRITE works in mirrors in OpenGL now. 2017-05-03 15:56:33 -04:00
Rachael Alexanderson
00a4993654 - forgot to implement +SPRITEFLIP for OpenGL 2017-05-03 21:13:31 +02:00
Rachael Alexanderson
2acb485121 - Added +SPRITEFLIP which reverses a sprite's left-rightness. 2017-05-03 21:13:31 +02:00
alexey.lysiuk
8303d8bbd1 Fixed name of mpg123 shared library on Linux
https://forum.zdoom.org/viewtopic.php?t=56253
2017-05-03 16:56:22 +03:00
Christoph Oelckers
f9445e96f5 - fixed: DPSprite::GetRenderStyle returned the wrong alpha value. 2017-05-03 10:27:20 +02:00
Rachael Alexanderson
00dab8677a - fixed: Changing fullscreen while vid_renderer != currentrenderer will cause a fake vid_renderer to be passed to the mode change function in order to prevent a crash. 2017-05-03 10:05:46 +02:00
Rachael Alexanderson
a9412ec815 Merge https://github.com/coelckers/gzdoom 2017-05-02 23:26:34 -04:00
Magnus Norddahl
e68da4cd6b - Fix crash in glswfb if vid_hw2d is toggled off 2017-05-02 22:56:31 +02:00
Magnus Norddahl
c8070c65d4 - Add support for drawing decals on 3d floors in the software renderer 2017-05-02 22:26:13 +02:00
Magnus Norddahl
17108e575a - Add support for drawing decals on 3d floors in softpoly 2017-05-02 22:24:32 +02:00
alexey.lysiuk
43fc5633af Fixed player falling through narrow notch upon unmorphing
https://forum.zdoom.org/viewtopic.php?t=56230
2017-05-02 17:22:50 +03:00
alexey.lysiuk
f73f42c4a6 Removed unsuccessful attempt to fix sndfile unaligned access
This reverts commit 8a36bf5c09.
2017-05-02 11:22:18 +03:00
Rachael Alexanderson
a59336908c Merge https://github.com/coelckers/gzdoom 2017-05-02 03:13:40 -04:00
Christoph Oelckers
aac6e65842 - fixed: FxActionSpecialCall did not resolve float to int casts. 2017-05-01 22:44:58 +02:00
Christoph Oelckers
050acc9271 - added rudimentary support for SVE.wad from the Strife Veteran edition so that the extended single player campaign is usable:
* all new things got either an sctor definition or are explicitly deleted through the 'doomednums' section in MAPINFO. CTC related actors are non-functional!
* added a 'noskillflags' option to 'doomednums' so that the lightmap definition things in the maps can be repurposed as dynamic lights.
* added the new dagger powerup.
* added MAPINFO entries for the added maps.
2017-05-01 21:25:54 +02:00
alexey.lysiuk
dcded0e183 Handle unloading of canvas textures properly
https://forum.zdoom.org/viewtopic.php?t=56207
2017-05-01 16:20:25 +03:00
Rachael Alexanderson
ebf33ed24e Merge https://github.com/coelckers/gzdoom
# Conflicts:
#	src/posix/cocoa/i_video.mm
2017-04-30 22:16:01 -04:00
Christoph Oelckers
b84f7bcada - scriptified the weapon firing logic. 2017-05-01 01:55:35 +02:00
Christoph Oelckers
abee2805cb - the last scriptified bits of P_PlayerThink. 2017-05-01 00:27:58 +02:00
Chris Robinson
6044c876ab Update LASTRUNVERSION to handle the snd_hrtf change
Also snd_hrtf now uses -1 for "auto" and 0 for "off", which makes more sense.
2017-05-01 00:26:28 +02:00
Rachael Alexanderson
65399bf075 - fixed: Added currentrenderer checks to SDL and COCOA implementations of 'swtruecolor' 2017-04-30 16:35:16 -04:00
Rachael Alexanderson
dfa5a3cd07 - Changed cocoa backend's s_currentRenderer to match PC version's 'currentrenderer' to address a possible Mac compilation issue. 2017-04-30 16:21:11 -04:00
Christoph Oelckers
6e25c34fda - more player code exported 2017-04-30 22:17:51 +02:00
Christoph Oelckers
10deb5ce56 - exported P_PlayerThink to ZScript. 2017-04-30 22:17:50 +02:00
Rachael Alexanderson
8c992647de - fixed: "vid_renderer" should NEVER be referenced outside of the hardware code. This may fix a crash when changing modes with vid_renderer not matching actual renderer 2017-04-30 16:11:34 -04:00
Rachael Alexanderson
588d028499 Merge https://github.com/coelckers/gzdoom 2017-04-30 16:00:52 -04:00
Chris Robinson
aae6ded2dd Add snd_hrtf back in to allow enabling HRTF again
It's now an Int type instead of Bool. Older config files that had it set to
"true" or "false" will interpret it as 0, which is Auto (the default).
2017-04-30 18:41:39 +02:00
alexey.lysiuk
9a7aa7a7b4 Fixed map name in demos recorded with * argument
https://mantis.zdoom.org/view.php?id=642
2017-04-30 16:35:28 +03:00
Rachael Alexanderson
aae9b33198 - fixed: Swapping swtruecolor no longer crashes in OpenGL mode after selecting Software in the menu 2017-04-30 07:39:00 -04:00
alexey.lysiuk
8a36bf5c09 Fixed potential crash in sndfile reader on Intel platform
https://mantis.zdoom.org/view.php?id=640
2017-04-30 12:01:28 +03:00
svdijk
4c803b6615 CMake: Fix building on 32-bit Linux (Core 2 Duo). 2017-04-29 13:36:33 +02:00
alexey.lysiuk
be496a89d9 Fixed silent sounds on first play, stereo and precached only
https://mantis.zdoom.org/view.php?id=637
2017-04-29 11:44:13 +03:00
Rachael Alexanderson
1d980b87b4 Merge https://github.com/coelckers/gzdoom 2017-04-28 22:14:15 -04:00
Christoph Oelckers
ec1aeaf384 - allow changing to the current map by using "*" as argument. Implemented for 'map', 'changemap' and 'recordmap'. 2017-04-28 11:39:47 +02:00
Rachael Alexanderson
9fc2f805de Merge https://github.com/coelckers/gzdoom 2017-04-27 14:29:28 -04:00
Christoph Oelckers
694b48423a - fixed initialization of classes so that AllActorClasses only gets initialized when the game knows what is an actor and what is not.
This could result in lost states for weapons because the weapon class did not get added to the array.
2017-04-27 10:52:00 +02:00
Christoph Oelckers
22b70dd222 - fixed: For the last block in an MP3 the buffer address was incorrectly incremented. 2017-04-27 10:08:24 +02:00
Christoph Oelckers
21af612224 - avoid double loading sound data for monoization. 2017-04-26 20:51:06 +02:00
Christoph Oelckers
b5dc5ceb3c - removed some unused static variables 2017-04-26 14:48:33 +02:00
Rachael Alexanderson
6fa7c9ee0c Merge https://github.com/coelckers/gzdoom 2017-04-25 20:54:45 -04:00
Christoph Oelckers
99579efd0d - fixed a few issues with libmpg123 not correctly reporting the sound's length and issues with repeatedly rewinding the song. 2017-04-25 21:30:11 +02:00
Christoph Oelckers
f866e0f02f - saved the wrong version. 2017-04-25 21:05:36 +02:00
Christoph Oelckers
090502b243 - moved the 'no player start' check to the end of G_DoLoadLevel because inside G_FinishTravel it would leave some data in undefined places that later can cause a crash. 2017-04-25 19:55:05 +02:00
Christoph Oelckers
9375edda11 - removed p_buildmap.cpp.
This code had been broken for years and inactive for several months. Since there is really little point fixing it it may just be removed entirely.
2017-04-25 12:40:08 +02:00
alexey.lysiuk
2bb16c684f Fixed crash caused by 0-length lines in UDMF
When line was removed during processing bogus entries remained in sidedefs array
2017-04-24 15:57:30 +03:00
Rachael Alexanderson
88f8c4afcc Merge https://github.com/coelckers/gzdoom 2017-04-24 08:09:34 -04:00
Chris Robinson
f97efefe7e Set the source gain to 0 before stopping it
Stopping a source in the middle of playback can causing undesirable "popping"
from a sudden change in amplitude. Setting the source gain to 0 gives OpenAL
the opportunity to ramp the source's output to 0, where it can be safely
stopped without causing a sudden change in amplitude.
2017-04-24 13:12:43 +02:00
Chris Robinson
78231d5ba1 Remove unused URLSong functionality
This isn't supported with the OpenAL backend, and instead of trying to make a
workaround for it, a better approach would probably be to make a FileReader
implementation that handles URLs.
2017-04-24 13:12:43 +02:00
alexey.lysiuk
e78d88094d Removed obsolete timer workaround from Cocoa backend 2017-04-23 17:35:35 +03:00
alexey.lysiuk
6fb1689d02 Disabled truecolor software renderer on PowerPC by default
Performance on such old hardware is not acceptable
2017-04-23 17:35:35 +03:00
alexey.lysiuk
ab8759049d Enabled GLSW framebuffer in Cocoa backend by default
Added fallback to generic Cocoa implementation if it's not available (i.e. without OpenGL Core Profile support)
Value of vid_glswfb CVAR is now saved to configuration file
2017-04-23 17:35:35 +03:00
Christoph Oelckers
f9735c44de - fixed signedness issues in OPL code. 2017-04-23 15:40:03 +02:00
alexey.lysiuk
70abf19f76 Replaced pointless comparison with loop_start range check
src/sound/oalsound.cpp:1285:17: warning: comparison of unsigned expression < 0 is always false [-Wtautological-compare]
2017-04-23 14:49:36 +03:00
alexey.lysiuk
93fa9ac1c9 Include gitinfo.h in version.h on Windows only
Avoid building of several files on each pull/reset/amend/cherry-pick/etc on macOS and Linux
2017-04-23 14:49:36 +03:00
alexey.lysiuk
bd74cf85a4 Added selection of frame buffer implementation in Cocoa backend
Added vid_glswfb CVAR but set it to false by default for compatibility reasons
2017-04-23 14:49:36 +03:00
alexey.lysiuk
ea3b47d0ad Added generic workaround for double type alignment
This fixes not only 32-bit Linux/macOS builds but PowerPC Mac target too
2017-04-23 14:49:36 +03:00
alexey.lysiuk
1c6cc3e28f Proper detection of Intel 64-bit architecture
Size of pointer check was not enough
2017-04-23 14:49:36 +03:00
alexey.lysiuk
680d1b2dd6 Moved all CMake modules and launcher templates to designated directory
Let's not pollute root directory with various files
2017-04-23 14:49:36 +03:00
Christoph Oelckers
c519e76280 - fixed calculation of clipping rect's lower edge. 2017-04-23 12:58:40 +02:00
Christoph Oelckers
82b032680c - delete the MMX function, too. 2017-04-23 12:12:49 +02:00
Christoph Oelckers
ace0568d09 - now that SSE2 is a required feature for compiling on x86, DoBlending_MMX has no use anymore and could be removed, as could the checks for bRDTSC, which is an older hardware feature than SSE2. There's also little point printing pre-SSE2 hardware features because they can be assumed to be present on anything the code can run on. 2017-04-23 11:54:08 +02:00
Magnus Norddahl
63e0310961 - add non-sse version of the softpoly drawers 2017-04-23 11:05:48 +02:00
Christoph Oelckers
2621c460e3 Revert "- add CPU.bSSE2 branching support to softpoly"
This reverts commit 545241aa06.

These commits are WIP stuff that should not be in the master branch. A work branch has been created to finalize this code.
2017-04-23 10:39:07 +02:00
Chris Robinson
c2391d6a0d Fix the default loop end point 2017-04-23 09:06:34 +02:00
Chris Robinson
4b7834465b Fix off-by-one error for the loop end 2017-04-23 09:06:34 +02:00
Rachael Alexanderson
c71d23f519 Merge https://github.com/coelckers/gzdoom 2017-04-22 22:02:20 -04:00
Magnus Norddahl
fe2864d396 - add the AVX-2 softpoly drawer to the repository for completeness sake (not currently used) 2017-04-22 22:15:09 +02:00
Magnus Norddahl
9c805d1867 - added non-sse version of the true color softpoly drawers 2017-04-22 22:05:47 +02:00
alexey.lysiuk
173fa31383 Fixed internal Dehacked support
https://mantis.zdoom.org/view.php?id=619
2017-04-22 22:58:45 +03:00
alexey.lysiuk
e4c73cfc5f Fixed compilation on Linux
src/polyrenderer/drawers/poly_triangle.cpp:212:20: error: ‘CPU’ was not declared in this scope
src/polyrenderer/drawers/screen_triangle.cpp:955:6: error: ‘CPU’ was not declared in this scope
2017-04-22 22:21:34 +03:00
Magnus Norddahl
545241aa06 - add CPU.bSSE2 branching support to softpoly 2017-04-22 20:38:06 +02:00
Christoph Oelckers
3608299e61 - serialize AActor::boomwaterlevel.
After changing the splash code this looks necessary.
2017-04-22 15:52:24 +02:00
Christoph Oelckers
882279d600 - clamp the loop end point to the sample size for sound effects so that bogus values do not render the loop start ineffective. 2017-04-22 15:49:39 +02:00
Christoph Oelckers
dc3df4e897 - remove mod_dumb CVAR. This now effectively disabled module playback because the OpenAL backend cannot substitute for it, unlike FMod. 2017-04-22 10:59:52 +02:00
alexey.lysiuk
ecbfb255f7 Fixed handling of default values in EventHandler.SendNetworkEvent() 2017-04-22 10:28:53 +03:00
alexey.lysiuk
370b639ab1 Fixed crash on returning to title screen
https://mantis.zdoom.org/view.php?id=615
2017-04-22 09:58:38 +03:00
Rachael Alexanderson
b2ba7a4e18 Merge https://github.com/coelckers/gzdoom 2017-04-21 18:15:48 -04:00
alexey.lysiuk
4e1e527b2c Fixed compilation with Clang
src/sound/oalsound.cpp:1288: error: non-constant-expression cannot be narrowed from type 'uint32_t' (aka 'unsigned int') to 'ALint' (aka 'int') in initializer list [-Wc++11-narrowing]
2017-04-21 22:07:06 +03:00
Christoph Oelckers
3ccd4aa0d1 - fixed: The powerup icons did not blink when expiring. 2017-04-21 18:08:30 +02:00
Christoph Oelckers
0ed3ee6267 - updated the license in fmopl.cpp to the one in the current version of the original file. 2017-04-21 17:48:40 +02:00
Christoph Oelckers
f7a22154b7 - fixed: loop_end needs a different default in the sound effect code than in the music code. 2017-04-21 16:25:36 +02:00
Christoph Oelckers
b3f3500ce5 - added loop tag reading for Ogg and Flac sound effects. Due to lack of test material this is currently untested.
- removed unaligned memory access in FindLoopTags.
2017-04-21 12:29:50 +02:00
Christoph Oelckers
66b5c26352 - consider the volume control of all Windows MIDI mapper devices broken, because it may be the GS synth, which is not detectable. 2017-04-21 10:37:03 +02:00
Rachael Alexanderson
11ec35b061 Merge https://github.com/coelckers/gzdoom 2017-04-20 21:04:33 -04:00
alexey.lysiuk
c681d6eff0 Fixed applying of multiple pain chances
https://mantis.zdoom.org/view.php?id=608
2017-04-20 22:09:18 +03:00
alexey.lysiuk
e19f6fe8ea Final touch in fixing restart CCMD
https://mantis.zdoom.org/view.php?id=595
2017-04-20 16:20:51 +03:00
alexey.lysiuk
403634c0e1 Fixed crash caused by failure to allocate memory block of very special size
Allocation of 810 FState objects (32400 bytes in total) could be performed in MSVC x64 build but worked in 32-bit version
This fixes https://mantis.zdoom.org/view.php?id=602
2017-04-19 17:52:43 +03:00
ZZYZX
29402ff685 ZScript version of SetCameraToTexture 2017-04-19 11:20:17 +02:00
Christoph Oelckers
1f69a000df - removed redundant sound includes. 2017-04-18 20:55:40 +02:00
alexey.lysiuk
00dc649cc2 Fixed compilation with Clang
error: cannot pass object of non-trivial type 'FString' through variadic constructor; call will abort at runtime [-Wnon-pod-varargs]
2017-04-18 18:46:53 +03:00
Rachael Alexanderson
5d11c9962b Merge commit '8db239d' 2017-04-18 11:33:52 -04:00
Christoph Oelckers
42a34ddd58 - fixed: The menu descriptors were not cleared on restart, leaving some menu data behind. 2017-04-18 16:54:06 +02:00
Christoph Oelckers
8180d34765 - added user configurable menus where soundfonts, patch sets or Timidity EXEs can be selected from lists being stored in the config file to reduce the hassle of testing MIDIs with different settings. 2017-04-18 16:43:07 +02:00
Christoph Oelckers
fb12c58533 - restart the music if the OPL core or the config file for the softsynths is changed, except for the GUS synth, which loads all its data during engine startup and cannot swap it out.
- added arrays to the config to hold entries for the softsynths' config files. This is not active yet, but will later be used to give the user a list of config options instead of having to type it by hand.
2017-04-18 16:43:07 +02:00
alexey.lysiuk
8db239d34f Fixed build with NO_OPENAL defined
https://mantis.zdoom.org/view.php?id=596
2017-04-18 16:40:31 +03:00
alexey.lysiuk
1d84b28fc2 Added support for bool type in SetUserVariable() ACS function
https://mantis.zdoom.org/view.php?id=462
2017-04-18 15:37:45 +03:00
alexey.lysiuk
b6774e723b Fixed non-functional XInput support when built with modern Windows SDKs
https://mantis.zdoom.org/view.php?id=568
2017-04-18 10:42:05 +03:00
alexey.lysiuk
03b77c0505 Set names for mpg123 and sndfile macOS dynamic libraries 2017-04-17 19:21:57 +03:00
alexey.lysiuk
a7cb7bbb9c Backported changes from newer sndfile.h to fix non-MSVC compilation 2017-04-17 18:51:29 +03:00
Christoph Oelckers
7405f541e8 - allow dynamic loading of all sound related libraries without providing any SDK at all.
The needed headers are now included in the repo, which for these libraries is possible thanks to a stable ABI (at least on Windows, the other platforms still need to be checked but the headers only add, never remove or change existing content.)
The big advantage of this setup is that it allows building the project on Windows without any necessary setup - all that needs to be provided is the DLLs from the binary package.
This still requires some fixes for macOS and Linux. On MacOS the proper library names are missing and the ones for Linux are not verified. Both platforms should work, though, if the dynamic loading is disabled.
2017-04-17 17:05:09 +02:00
Christoph Oelckers
a48a3d0abf - fixed some signedness warnings in OPL code. 2017-04-17 15:37:45 +02:00
Christoph Oelckers
96d328de9b - removed all Doom Source license and all default Raven copyright headers and replaced them with GPLv3. Also fixed the license in a few other files.
For some files that had the Doom Source license attached but saw heavy external contributions over the years I added a special note to license all original ZDoom code under BSD.
2017-04-17 13:33:19 +02:00
Christoph Oelckers
57d703236b - changed Doom source license to GPL in all subdirectories and fixed missing licenses in a few other files. 2017-04-17 12:27:19 +02:00
Christoph Oelckers
b68741b17f - removed the special conditions of the FraggleScript license, now that they are no longer needed. Also relicensed the two original files under the GPL for consistency. 2017-04-17 10:31:25 +02:00
Christoph Oelckers
33ee761b37 - fixed: The timing of Heretic's lava damage was not correct. 2017-04-17 10:10:09 +02:00
alexey.lysiuk
59626cf843 Simplified transition to OpenAL sound backend 2017-04-17 10:46:38 +03:00
alexey.lysiuk
4519ab12e9 Fixed compilation errors
src/sound/oplsynth/musicblock.cpp:3:10: fatal error: 'muslib.h' file not found
src/sound/oplsynth/oplio.cpp:410:12: error: use of undeclared identifier 'cos'
src/sound/oplsynth/oplio.cpp:410:41: error: use of undeclared identifier 'sin'
2017-04-17 10:27:11 +03:00
Christoph Oelckers
c219811a54 - removed FMod as the last remaining piece of code that is not GPL compatible.
Please consider GZDoom as licensed under the GPL starting with this commit, even though the license headers have not been changed yet.
2017-04-17 01:06:54 +02:00
Christoph Oelckers
79ed1f73e7 - some minor cleanup, including renaming some data structutrd in the OPL code. 2017-04-17 00:46:27 +02:00
Christoph Oelckers
ba5721f98a - rewrote the OPL middle layer to remove the MusLib code.
The new version keeps the non-MusLib code of both files and replaces most of the rest with code from Chocolate Doom.
2017-04-17 00:39:03 +02:00
Christoph Oelckers
4f67dc4f01 - fixed: DCorpsePointer's constructor was doing nasty stuff while the object wasn't fully set up yet. 2017-04-15 19:07:13 +02:00
Christoph Oelckers
47bcd8aaa2 - added per-layer translucency support to the OpenGL PSprite drawer. 2017-04-15 17:25:46 +02:00
Major Cooke
259e3127fe - Fixed crash with corpse queueing. 2017-04-15 16:43:40 +02:00
Christoph Oelckers
1ee9256842 - did a complete workover of the weapon sprite translucency code that got inherited from QZDoom.
This was very poorly done without ever addressing the issues a composite render style can bring, it merely dealt with the known legacy render styles.
The same, identical code was also present in two different places.
The oversight that AlterWeaponSprite overrode even forced styles was also fixed.

OpenGL is not implemented yet but with the problems eliminated should be doable now.
2017-04-15 16:41:00 +02:00
Christoph Oelckers
046e250f2e - fixed: Ceiling_CrushStop checked the wrong argument for the remove parameter. 2017-04-15 14:54:43 +02:00
Christoph Oelckers
2d0da4fcfa - fixed: Dynamic arrays of objects in structs were not registered for garbage collection. 2017-04-15 13:20:58 +02:00
Christoph Oelckers
069e4e9b0b - allow tag == 0 for backside activation on a few more actions. 2017-04-15 12:03:21 +02:00
Christoph Oelckers
e333e31410 - fixed: Vector array elements failed to allocate the proper amount of registers. 2017-04-15 12:03:21 +02:00
alexey.lysiuk
490fd8f3a0 Fixed applying of multiple damage factors
https://mantis.zdoom.org/view.php?id=586
2017-04-15 12:33:26 +03:00
Rachael Alexanderson
997a62de36 Merge https://github.com/coelckers/gzdoom 2017-04-14 23:09:21 -04:00
Christoph Oelckers
edebea4f8d - allow specifying a custom class for message box display. 2017-04-14 23:28:54 +02:00
Christoph Oelckers
ca1981c52f - fixed missing null pointer check in BuiltinNameToClass. 2017-04-14 23:06:12 +02:00
Christoph Oelckers
c73b71807b - fixed: During hub travel, static thinkers may not be deserialized.
Since they are static, the version that got carried over from the last level will still be there and the more current version.
2017-04-14 22:06:29 +02:00
Christoph Oelckers
3d8821ee82 - make polyobject setup errors not abort the map. 2017-04-14 20:27:46 +02:00
Christoph Oelckers
d014395dae - do not delete the namespaces when removing compiler symbols. They still get referenced by some types and must remain until the engine shuts down. 2017-04-14 19:40:50 +02:00
Christoph Oelckers
7186342221 - do not try to serialize static arrays. 2017-04-14 19:25:47 +02:00
Christoph Oelckers
d03c33f393 - added Translation.GetID. 2017-04-14 17:40:05 +02:00
alexey.lysiuk
2add60a4c4 Single RUNTIME_CLASS() macro for classes and templates
The main purpose of this is to fix compilation errors with GCC/Clang
src/dobject.h:87:48: error: expected primary-expression before ‘)’ token
2017-04-14 18:07:20 +03:00
Christoph Oelckers
cde450dd8a - some enhancements for PowerReflection. 2017-04-14 16:51:11 +02:00
Christoph Oelckers
329c168cc2 - added a distance parameter to A_SprayDecal. 2017-04-14 16:28:54 +02:00
Christoph Oelckers
92acbdc625 - made GetClassName an intrinsic and expanded it to also work on class types. 2017-04-14 16:14:27 +02:00
Christoph Oelckers
1135f154b7 - fixed: For Screen.SetClipRect, -1 is a valid value for width and height so it must not be clamped away. 2017-04-14 15:41:36 +02:00
Christoph Oelckers
47bb29bac6 - check the return value of ogl_LoadFunctions and abort if it indicates failure.
If this happens there is normally something very wrong on the system side so continuing is not advised.
2017-04-14 15:32:04 +02:00
Christoph Oelckers
7983f6ea4f - fixed incorrect return variable. 2017-04-14 15:23:18 +02:00
alexey.lysiuk
fd07b56ae9 Fixed link error for MSVC x64 build with modern Windows SDK
win32video.obj : error LNK2001: unresolved external symbol IID_IDirectDraw2
2017-04-14 16:13:51 +03:00
Christoph Oelckers
33145610b1 - let's better add a null check to Create<> in case allocation or construction fails. Although unlikely it's not impossible. 2017-04-14 13:48:00 +02:00
Christoph Oelckers
cd180d29c7 - block direct use of 'new' for DObjects.
This is to ensure that the Class pointer can be set right on creation. ZDoom had always depended on handling this lazily which poses some problems for the VM.
So now there is a variadic Create<classtype> function taking care of that, but to ensure that it gets used, direct access to the new operator has been blocked.

This also neccessitated making DArgs a regular object because they get created before the type system is up. Since the few uses of DArgs are easily controllable this wasn't a big issue.

- did a bit of optimization on the bots' decision making whether to pick up a health item or not.
2017-04-14 13:31:58 +02:00
Rachael Alexanderson
4b2b2af63e Merge https://github.com/coelckers/gzdoom 2017-04-14 05:51:36 -04:00
Christoph Oelckers
929affa3cb - removed MarkACSThinker.
The global variable holding a pointer to this thinker should be a weak reference to the instance in the thinker chain, there is no need to mark this global variable, as the thinker's lifetime is only determined by the thinker chain.

- committed a few Posix related file the last commit missed.
2017-04-14 10:59:57 +02:00
Christoph Oelckers
dc5a5419fc - took DCanvas and all its subtypes out of the DObject tree.
I have no idea why they were even in there, as they intentionally circumvented all GC related features - they declared themselves fixed if prone to getting collected, they all used OF_YesReallyDelete when destroying themselves and they never used any of the object creation or RTTI features, aside from a single assert in V_Init2.

Essentially they were a drag on the system and OF_YesReallyDelete was effectively added just to deal with the canvases which were DObjects but not supposed to behave like them in the first place.
2017-04-14 10:48:18 +02:00
Rachael Alexanderson
93564078fe Merge https://github.com/coelckers/gzdoom 2017-04-14 01:05:26 -04:00
Magnus Norddahl
d407aa3157 - Fix linear filtering bug for sprites 2017-04-13 22:16:26 +02:00
Christoph Oelckers
b1057cee36 - fixed: do not draw armor on the fullscreen HUD if the amount is 0. 2017-04-13 20:43:17 +02:00
Christoph Oelckers
2d098e99fb - fixed: WP_NOCHANGE had different values in native and script code, resulting in problems with weapon selection.
This now explicitly allocates a single object it can safely point to instead of trying to hack around it.
2017-04-13 18:59:45 +02:00
Christoph Oelckers
98dab9c4b9 - took PTypeBase and all its subclasses out of the DObject hierarchy.
- moved scope flag to a new variable that is specific to PType instead of hijacking the ObjectFlags for this.
2017-04-13 17:47:17 +02:00
Rachael Alexanderson
2c4552da42 Merge https://github.com/coelckers/gzdoom 2017-04-13 10:09:47 -04:00
Christoph Oelckers
988fe8d735 - removed all RTTI from the type table.
Using names is just as good as using types so now this is what's done.
2017-04-13 16:01:38 +02:00
Christoph Oelckers
aeb455d705 - removed all RTTI checks for the types. 2017-04-13 15:38:06 +02:00
Christoph Oelckers
b2d944974e - first stage of simplifying the type system.
Let's use inline checkers in PType instead of constantly having to do clumsy IsKindOf checks etc. Once complete this also means that the types can be taken out of the class hierarchy, freeing up some common names.
2017-04-13 12:52:18 +02:00
Christoph Oelckers
522ce59be2 - use in-class initialization for FLightDefaults to avoid uninitialized variables in the future. 2017-04-13 12:50:43 +02:00
alexey.lysiuk
cced9e014b Fixed issue with actors occasionally unaffected by dynamic lights
https://mantis.zdoom.org/view.php?id=536
2017-04-13 13:14:33 +03:00