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
alexey.lysiuk
fbc1028d2b
Fixed crash when parsing DECORATE constant expressions
2017-04-13 12:06:59 +03:00
alexey.lysiuk
cbf2a21c83
Fixed registration of tentative classes
2017-04-13 12:03:45 +03:00
alexey.lysiuk
c99cecea8e
Fixed warnings reported by GCC/Clang
...
src/p_pspr.cpp:363:37: warning: more '%' conversions than data arguments [-Wformat]
src/gl/textures/gl_texture.cpp:845:21: warning: comparison of integers of different signs: 'int' and 'unsigned int' [-Wsign-compare]
2017-04-13 10:40:44 +03:00
alexey.lysiuk
1889efa814
Fixed build with Clang
...
Fixed bunch of compilation errors:
cannot pass non-trivial object of type 'FString' to variadic method; expected type from format string was 'char *' [-Wnon-pod-varargs]
Fixed linker erorr:
g_doomedmap.cpp.o: In function `InitActorNumsFromMapinfo()':
src/g_doomedmap.cpp: undefined reference to `PClass::FindActor(FName)'
2017-04-13 10:40:43 +03:00
Rachael Alexanderson
a15031706d
Merge https://github.com/coelckers/gzdoom
2017-04-12 20:33:38 -04:00
Christoph Oelckers
1712667ce2
Merge branch 'master' of https://github.com/coelckers/gzdoom
2017-04-13 02:18:16 +02:00
Christoph Oelckers
85d8244d03
- fixed: With the reorganization of the class data the setup of actor replacements must be delayed until after InitializeDefaults has been called.
2017-04-13 02:18:06 +02:00
Christoph Oelckers
6599e2c425
- moved the VM types into their own file and only include it where really needed.
2017-04-13 01:12:04 +02:00
Christoph Oelckers
3e47f00ba0
- the new order requires manual deletion of all class descriptors.
2017-04-12 22:57:14 +02:00
Christoph Oelckers
fc9e304189
- separated class descriptors from VM types.
...
Combining these two groups of data has been the cause of many hard to detect errors because it allowed liberal casting between types that are used for completely different things.
2017-04-12 22:46:49 +02:00
Christoph Oelckers
afd6743965
- moved AddNativeField to PSymbolTable, too.
2017-04-12 18:29:58 +02:00
Christoph Oelckers
8dc11317dd
- Moved WriteFields into SymbolTable as well.
2017-04-12 17:42:10 +02:00
Christoph Oelckers
96631e8808
- make PClass not inherit from PStruct.
...
Having these two types related can cause problems with detection in the compiler because for some parts they need quite different handling.
Common handling for the fields has been moved into PSymbolTable but overall redundancy was quite minor as both types share surprisingly little functionality.
2017-04-12 17:21:13 +02:00
alexey.lysiuk
20a9f17a15
Fixed handling of count parameter's default value in Array.Delete()
...
https://mantis.zdoom.org/view.php?id=571
2017-04-12 17:40:17 +03:00
Christoph Oelckers
0d7b7d6ab1
- merged PStruct and PNativeStruct.
...
There were exactly 4 places in the code that checked for the difference, this is better done with a flag.
2017-04-12 15:12:41 +02:00
Christoph Oelckers
63eb3e331e
- un-const-ify some functions.
2017-04-12 14:40:29 +02:00
Christoph Oelckers
abc4481431
- set PointedType to null for PClassPointer to simplify the functions for this class.
2017-04-12 13:11:59 +02:00
Christoph Oelckers
6308251084
- added a FindSymbol wrapper to PClass so that other code does not need to access the symbol table directly.
...
- added an isActor utility function to codegen.cpp to simplify a few constructs.
2017-04-12 13:08:41 +02:00
Christoph Oelckers
b17ab7a133
- put PObjectPointer to some use.
...
- fixed: There was no check for compatible class pointers.
2017-04-12 11:40:40 +02:00
Christoph Oelckers
bc486904cd
- split PPointer into PPointer and PObjectPointer.
...
A pointer to an object has quite different semantics so let's do this with proper virtual inheritance. This should allow to simplify a lot of pointer related checks in the compiler.
2017-04-12 10:52:54 +02:00
Christoph Oelckers
80801d11b1
- removed some redundant static_casts.
2017-04-12 10:29:04 +02:00
Christoph Oelckers
9c9b2ccf6d
- replaced more dyn_casts and checks for RUNTIME_CLASS(PClassActor)
...
It is preferable to use IsDescendantOf wherever possible if we ever want to be able to separate PClass from PType.
2017-04-12 10:20:58 +02:00
Christoph Oelckers
5350721ec5
- removed PClass::DeriveData because it is no longer needed.
...
- fixed: IsVisibleToPlayer and optimized it a bit more.
- moved SourceLumpName to PClass, so that it can also be used for non-actors (there's a lot of non-Actor classes already.)
- separated the serializer for PClassPointer from PPointer. Even though not doable, a pointer to a class type is something entirely different than a class pointer with a restriction so each should handle its own case.
2017-04-12 09:55:27 +02:00
Rachael Alexanderson
d5ad0b5b42
Merge https://github.com/coelckers/gzdoom
2017-04-11 21:48:17 -04:00
Magnus Norddahl
df8fa1274a
- Oops, forgot to actually disable vid_glswfb in last commit
2017-04-12 03:22:38 +02:00
Magnus Norddahl
96834fa524
- Turn off vid_glswfb, gl_es on Linux ARM and stop saving it in the config file until it fully works
2017-04-12 03:21:43 +02:00
Christoph Oelckers
0e0eca0e0f
- replaced some dyn_casts with calls to FindActor.
...
- fixed type checks in A_Morph.
2017-04-12 01:29:51 +02:00
Christoph Oelckers
e4d2380775
- moved all remaining fields from PClassActor to FActorInfo.
...
- added a few access functions for FActorInfo variables.
With PClassActor now empty the class descriptors can finally be converted back to static data outside the class hierarchy, like they were before the scripting merge, and untangle the game data from VM internals.
2017-04-12 00:07:41 +02:00
Christoph Oelckers
854053a14f
- use TArrays instead of TMaps to store damage factors and pain chances.
...
For these fields maps have no advantage. Linearly searching a small array with up to 10 entries is nearly always faster than generating a hash for finding the entry in the map.
2017-04-11 23:29:37 +02:00
Christoph Oelckers
4afe2d4218
- moved OwnedStates and NumOwnedStates out of PClassActor.
2017-04-11 22:44:35 +02:00
Christoph Oelckers
05240ccbe5
- fixed redundant reallocation of constructable meta fields.
...
- some optimization of access to OwnedStates in old DECORATE.
- consolidate all places that print a state name into a subfunction.
- allocate states from the ClassDataAllocator memory arena. States do not need to be freed separately from the rest of the static class data.
2017-04-11 21:48:41 +02:00
Rachael Alexanderson
7040bc2156
Merge https://github.com/coelckers/gzdoom
2017-04-11 14:06:13 -04:00
Christoph Oelckers
311ce2362a
- started moving stuff out of PClassActor into meta data.
...
This reinstates the old FActorInfo as part of the meta data a class can have so that the class descriptor itself can be freed from any data not directly relevant for managing the class's type information.
2017-04-11 19:37:56 +02:00
Christoph Oelckers
6a3ddaa8fa
- moved Restricted/ForbiddenToPlayerClass fully to the script side.
...
This required some fixes for allowing to read from metadata arrays.
2017-04-11 15:11:13 +02:00
Christoph Oelckers
45691e91c9
- removed PClassActor::PointerSubstitution.
...
This is not needed anymore because classes do not need to be replaced. The only reason this was implemented was the original design with the class descriptors taking on all the metadata themselves.
2017-04-11 14:03:49 +02:00
Christoph Oelckers
1febf277af
- fixed crash on bad PNGs.
...
The cast to a signed long could create negative numbers which failed the sanity check and caused a stack corruption.
2017-04-11 10:29:52 +02:00
Magnus Norddahl
f049e6145b
- remove all usage of std::make_unique to keep things C++11 compliant
2017-04-11 01:25:44 +02:00
Magnus Norddahl
bdf02ea67c
- move masked reads
2017-04-11 01:11:30 +02:00
Christoph Oelckers
7a6e70e777
- reenabled the part of OP_THROW that throws a VMAbortException. This part is still needed for a runtime variable access check.
2017-04-11 00:11:36 +02:00
alexey.lysiuk
4c1e03ebff
Fixed alignment issue with GCC/Clang i386 build
2017-04-10 22:20:34 +03:00
alexey.lysiuk
d5edd3db36
Commented out remains of VM exception handling opcodes
...
This fixes build with GCC/Clang
2017-04-10 22:18:43 +03:00
Christoph Oelckers
040c70714c
- commented out the exception handling opcodes in the VM.
...
They are currently not used and not planned to be used - and they are rather costly by increasing stack size per call quite significantly.
2017-04-10 20:41:55 +02:00
Christoph Oelckers
9ae97502be
- removed the last remnants of the ATAGs.
2017-04-10 17:08:52 +02:00
Christoph Oelckers
60dd58e7d2
- most ATAG stuff is gone, except for the static storage space in the VMFunction.
2017-04-10 16:06:18 +02:00
Christoph Oelckers
5464336035
- removed ATAGs from the function builder.
2017-04-10 15:48:27 +02:00
Christoph Oelckers
e551ef52f8
- removed atag parameter from GetConstantAddress.
2017-04-10 15:39:04 +02:00
Christoph Oelckers
ef77cbd295
- stop using the ATAGs for checking pointer types in asserts.
...
This is an incredibly costly way to do a debug check as it infests the entire VM design from top to bottom. These tags are basically useless for anything else but validating object pointers being passed to native functions (i.e. mismatches between definition and declaration) and that simply does not justify a feature that costs execution time in non-debug builds and added memory overhead everywhere.
Note that this commit does not remove the tags, it only discontinues their use.
2017-04-10 15:18:31 +02:00
alexey.lysiuk
175e784b67
Fixed applying of powerup effects after (un)morph
...
https://mantis.zdoom.org/view.php?id=556
2017-04-10 15:46:30 +03:00
alexey.lysiuk
287a0933bd
Fixed lookup of inventory and ammo types in FraggleScript
...
https://forum.zdoom.org/viewtopic.php?t=55950
2017-04-10 11:58:53 +03:00
Rachael Alexanderson
00531cda49
Merge https://github.com/coelckers/gzdoom
2017-04-09 11:53:40 -04:00
Christoph Oelckers
e1698c6d41
- split P_PlayerThink into several smaller functions.
...
This is for a future script export where overriding the actions separately may be interesting.
2017-04-08 15:45:11 +02:00
Christoph Oelckers
18d6fb7f49
- fixed: USEACTORPITCH in the model code was still using inverted pitch.
2017-04-08 10:24:12 +02:00
Rachael Alexanderson
cecf41e4d0
Merge https://github.com/coelckers/gzdoom
2017-04-07 21:50:23 -04:00
Magnus Norddahl
9f180b29b9
- Remove GL_MAJOR_VERSION check for OpenGL ES as apparently not even this can be done right by driver writers
2017-04-08 00:19:39 +02:00
Rachael Alexanderson
a90692330b
Merge https://github.com/coelckers/gzdoom
2017-04-07 09:55:00 -04:00
Rachael Alexanderson
3a36ffee35
- vid_glswfb is now true by default in Linux
2017-04-07 09:53:59 -04:00
Magnus Norddahl
73effc70bb
- The legacy OpenGL path resets the GLSL version, which in turn makes #version 0 crash the AMD driver. Old stuff that uses the legacy path will not get glswfb acceleration.
2017-04-07 15:45:08 +02:00
Magnus Norddahl
35c35fc26f
- Check if glCreateProgram or glCreateShader fails, because apparently AMD found a way to make exactly that happen
2017-04-07 15:27:04 +02:00
Rachael Alexanderson
51f30a8b1e
Merge https://github.com/coelckers/gzdoom
2017-04-06 23:55:20 -04:00
Rachael Alexanderson
b1e1f25218
- detect gl es shaders and request them
2017-04-06 23:34:50 -04:00
Magnus Norddahl
85a9984807
- Add OpenGL ES 3 support to GL renderer
2017-04-06 23:34:42 -04:00
Magnus Norddahl
b7482e10e2
- Detect dinosaur OpenGL and refuse to use it
2017-04-06 23:34:37 -04:00
Magnus Norddahl
e690de25a8
- Use SDL_GL_GetProcAddress on platforms where the SDL is being used. Since SDL initialized OpenGL for us, it is the only reliable way of retrieving proc addresses.
...
- Check if ogl_LoadFunctions failed and make OpenGLSWFrameBuffer gracefully recover from that
2017-04-06 23:33:56 -04:00
Rachael Alexanderson
dc1695918e
- detect gl es shaders and request them
2017-04-06 23:29:15 -04:00
Magnus Norddahl
994740b3ae
- Add OpenGL ES 3 support to GL renderer
2017-04-07 04:09:04 +02:00
Magnus Norddahl
a9591f57a6
- Detect dinosaur OpenGL and refuse to use it
2017-04-07 03:03:21 +02:00
Magnus Norddahl
0376d4e8fc
- Use SDL_GL_GetProcAddress on platforms where the SDL is being used. Since SDL initialized OpenGL for us, it is the only reliable way of retrieving proc addresses.
...
- Check if ogl_LoadFunctions failed and make OpenGLSWFrameBuffer gracefully recover from that
2017-04-07 02:17:34 +02:00
Christoph Oelckers
74faacd218
- fixed: FxVMFunctionCall::GetDirectFunction did not perform any checks on the function's self pointer and failed to report a mismatch as an error.
...
- also fixed two places in the code where the above caused some incorrect definitions not to be detected.
2017-04-06 20:52:38 +02:00
Rachael Alexanderson
a1473c48c3
Merge https://github.com/coelckers/gzdoom
2017-04-06 04:30:38 -04:00
alexey.lysiuk
ca4888eb3d
Added CVar.GetCVar() function to do player-dependent console variables lookup
2017-04-06 10:51:36 +03:00
alexey.lysiuk
26e4b74261
Restored initial behavior of CVar.FindCVar()
...
https://mantis.zdoom.org/view.php?id=537
2017-04-06 10:50:40 +03:00
alexey.lysiuk
ac5e516148
Removed obsolete forward declaration
2017-04-06 10:39:53 +03:00
Magnus Norddahl
1312e9fb72
- fix linker error on platforms with no SSE support
2017-04-05 22:36:57 +02:00
alexey.lysiuk
a27ab73f33
Fixed broken dialogue customization in USDF parser
...
https://mantis.zdoom.org/view.php?id=539
2017-04-05 13:43:49 +03:00
Rachael Alexanderson
c06bd028d9
Merge https://github.com/coelckers/gzdoom
2017-04-05 00:53:00 -04:00
alexey.lysiuk
dd30d2a045
DEHACKED lumps from IWAD now have precedence over embedded lumps and separate files
...
See https://forum.drdteam.org/viewtopic.php?t=7588
Processing order is now the same as in Chocolate Doom
prBoom+ loads separate files after all WAD lumps though
This makes sense but would change loading sequence existed in ZDoom for years
2017-04-04 12:20:12 +03:00
Rachael Alexanderson
5851408803
Merge https://github.com/coelckers/gzdoom
2017-04-04 01:29:14 -04:00
Magnus Norddahl
f12c42d8d1
- add fuzz mode to softpoly
2017-04-04 01:11:55 +02:00
Magnus Norddahl
5c5e3bdcba
- change fuzzing to not do any offsetting but keep the shading pattern produced by it
2017-04-03 19:11:38 +02:00
Major Cooke
d3ef3b585b
- fixed: Flat sprites did not rotate their sprite angles when given the FLATSPRITE flag.
2017-04-03 17:06:33 +02:00
Rachael Alexanderson
12d39c74ef
Merge https://github.com/coelckers/gzdoom
2017-04-02 21:38:20 -04:00
Major Cooke
73c1451048
- fixed: The functionality for AddEventHandlers and EventHandlers were backwards.
2017-04-02 19:23:28 +02:00
Christoph Oelckers
e074c75609
- added a generic TransformRect to the status bar so that the proper transformations can be applied to draw operations that require special parameters not supported by the stock functions.
2017-04-02 12:58:31 +02:00
alexey.lysiuk
4cf3e1be2c
Removed obsolete workaround for Apple's GCC 4.x from node builder
2017-04-02 11:51:58 +03:00
alexey.lysiuk
bb9cd1b159
Removed special initialization of legacy render styles
...
Workaround for Apple's GCC 4.0.1 is now completely pointless
2017-04-02 11:41:04 +03:00
alexey.lysiuk
5187acd44f
Fixed undefined behavior in drawing of status bar graphics
...
Debug configuration built with Apple's Clang had bogus render styles applied to graphics in status bar
2017-04-02 11:38:59 +03:00
alexey.lysiuk
659f75c84a
Avoid duplication of member in OpenGL software framebuffer class
2017-04-02 10:13:25 +03:00
alexey.lysiuk
63f85f6b07
Fixed compilation of Cocoa backend
...
Use the same member names in framebuffer class for all backends
2017-04-02 10:11:41 +03:00
Rachael Alexanderson
643bdac514
Merge https://github.com/coelckers/gzdoom
2017-04-02 02:34:32 -04:00
Magnus Norddahl
4268090738
- switch OpenGLSWFrameBuffer to use m_Lock instead of LockCount
2017-04-02 00:47:18 +02:00
Magnus Norddahl
4a9dffa70d
- change subsector gbuffer to use a 8x8 block memory layout to avoid having to clip memory reads and writes
2017-04-01 23:21:06 +02:00
Magnus Norddahl
0ed60b8df6
- fix OpenGLSWFrameBuffer::Begin2D
2017-04-01 22:14:04 +02:00
Christoph Oelckers
3f552ea95f
- added loop tag reading to the new streaming music class.
...
This is somewhat brute-force thanks to the surprising lack of good documentation for the Ogg headers. The only other option would have been some rather bloated library for a function that should be 25-30 lines at most.
2017-04-01 21:40:36 +02:00
Christoph Oelckers
dfd3535e02
- added a dedicated player class for streamed music formats (i.e. MP3, Ogg and Flac)
...
The idea is to have more control on the game side instead of dealing with these formats in the backend, which was done for FMod because it already had the decoders implemented.
However, with OpenAL this setup makes no sense and only complicates future extensions that can be better handled at a higher level.
2017-04-01 19:47:12 +02:00
Magnus Norddahl
4a0b3c3bab
- speed up triangle setup slightly
2017-04-01 16:42:24 +02:00
Rachael Alexanderson
2b2297b73e
Merge https://github.com/coelckers/gzdoom
2017-04-01 10:11:52 -04:00
Christoph Oelckers
54764c136d
- changed the 2D draw abort check to use a dedicated variable, that gets set in Begin2D and unset at the end of D_Display.
...
This is really all the extent where 2D draw operations may be allowed. Trying to detect this from other variables is not reliable.
2017-04-01 12:59:58 +02:00
Christoph Oelckers
9dc8933109
- let 'stat think' also print the number of active thinkers.
2017-04-01 12:30:38 +02:00
alexey.lysiuk
36ad485edd
Proper default value for GL framebuffer lock in Cocoa backend
...
No more error when running with +map command line parameter with classic HUD:
> VM execution aborted: Attempt to draw to screen outside a draw function
> Called from BaseStatusBar.DrawImage [Native]
> Called from DoomStatusBar.DrawFullScreenStuff at gzdoom.pk3:zscript/statusbar/doom_sbar.txt, line 140
> Called from DoomStatusBar.Draw at gzdoom.pk3:zscript/statusbar/doom_sbar.txt, line 41
2017-04-01 13:16:31 +03:00
Christoph Oelckers
e780cd8297
- seems the wrong version of this got committed...
2017-04-01 12:04:31 +02:00
Christoph Oelckers
41f2f61b94
- minor VM optimization: Precalculate a function's frame size when compiling it instead of doing it each time it gets called.
...
This made up ca. 10% of the 'call' instruction's execution time.
2017-04-01 10:42:47 +02:00
alexey.lysiuk
893607c96c
Fixed crash in decals handling caused by reference to undefined class
...
https://forum.drdteam.org/viewtopic.php?t=7589
2017-04-01 10:36:35 +03:00
alexey.lysiuk
59ae50aecb
Fixed compilation warning reported by GCC/Clang
...
src/gl/textures/gl_texture.cpp:691:25: warning: comparison of integers of different signs: 'unsigned int' and 'int' [-Wsign-compare]
2017-04-01 10:24:05 +03:00
Magnus Norddahl
da6bfe65ff
- only calculate gradients once
2017-04-01 04:38:15 +02:00
Magnus Norddahl
6db89a2ce1
- clean up the triangle setup functions
2017-04-01 03:44:45 +02:00
Rachael Alexanderson
24b6924428
Merge https://github.com/coelckers/gzdoom
2017-03-31 14:58:45 -04:00
alexey.lysiuk
f48af606df
Fixed creation of BaseStatusBar
...
No more access to memory ouside of class instance
Minimized amount of copy-pasted code
https://mantis.zdoom.org/view.php?id=511
2017-03-31 12:53:28 +03:00
Rachael Alexanderson
bf9edec91a
Merge https://github.com/coelckers/gzdoom
2017-03-30 18:04:37 -04:00
Christoph Oelckers
5601364aaf
- fixed some issues with Set/GetClipRect.
2017-03-30 21:12:39 +02:00
Christoph Oelckers
228c57fae3
- fixed: Even SBARINFO needs to call the scripted Init method of the status bar because it initializes some data used by the automap HUD.
2017-03-30 19:00:26 +02:00
Christoph Oelckers
91ac6e30fe
- fixed: The automap tried to access a variable before it was initialized.
...
The fix is not ideal but the way this code is used it cannot be done any better.
2017-03-30 18:51:24 +02:00
Christoph Oelckers
3a1228bf95
- exported the clipping rectangle to scripting and added a statusbar scaling wrapper for it.
...
- fixed: BaseStatusBar.Fill did not pass its flags parameter to the native function.
2017-03-30 12:13:28 +02:00
Christoph Oelckers
a3ef711d1d
- added a special slider type for the scaling options that prints a descriptive text instead of the slider for the special settings.
...
- fixed the adaptive scale calculation in GetUIScale which had the coordinates mixed up.
2017-03-30 11:30:09 +02:00
Rachael Alexanderson
39826753f9
Merge https://github.com/coelckers/gzdoom
2017-03-30 02:11:03 -04:00
Christoph Oelckers
f95c29ad28
cleaned up the scaling options.
...
- all 5 settings affected by uiscale have been changed to have the exact same semantics: -1, if supported means special scaling, this is available for HUD and status bar, 0 means to use uiscale, any larger value is a direct scaling factor.
- scaling is cut off when the factor is larger than screenwidth/320 or screenheight/200 because anything larger will definitely not fit.
- a lot of code has been cleaned up and consolidated. Especially the message code had an incredible amount of redundancy.
- all scaling options have been moved into a submenu. This menu is not complete, though - it still requires a special menu widget to convey the intended information without confusing the user.
2017-03-30 02:16:23 +02:00
Christoph Oelckers
1dcc017daf
- reimplemented the position display, but changed its position a bit upward.
...
- activated the RenderOverlay event, now that it can be called from the correct spot, i.e. right after the top level HUD messages are drawn. The system's status output will still be drawn on top of them.
2017-03-29 23:51:53 +02:00
Christoph Oelckers
bde73fc530
- added automatic brightmaps.
...
Everything in the brightmaps/auto directory will automatically be assigned to the same-named texture.
2017-03-29 23:13:11 +02:00
Christoph Oelckers
7011010ff2
- fixed the drain callback.
...
- changed the effect spawn prevention of the Hexen flame strike weapon and reverted the attempt to fix this in FastProjectile.
This cannot be fixed in the base class, which was doing everything right. It's the flame missile that was doing undefined things by stopping its movement without clearing its missile flag. This cannot work because missiles are given some minimal forced velocity to ensure collision detection and any attempt to address this without clearing the missile flag is doomed to fail.
2017-03-29 22:50:13 +02:00
Christoph Oelckers
3f9ad55432
- allow multiple expressions in 'for' iteration part.
2017-03-29 22:18:52 +02:00
Christoph Oelckers
b38934b532
- fixed declaration of ACS getters for status bar.
...
- fixed some uninitialized variables in font print code.
2017-03-29 21:54:11 +02:00
Christoph Oelckers
01b095c911
- added colorization for untranslated fonts. This uses the light color of the vertices. The software rendered 2D code will ignore this infomation.
...
- added a virtual OnRetrun method to menus.
2017-03-29 21:22:05 +02:00
Christoph Oelckers
d36f656caf
- added a callback for when damage is drained from a target.
2017-03-29 20:25:54 +02:00
Christoph Oelckers
356144a537
- fixed: The player menu was not able to set the new name because the security check did not account for the text enter menu being present.
2017-03-29 20:11:58 +02:00
Christoph Oelckers
9d1031f0ba
- fixed ForcedScale handling in SBARINFO.
...
Due to the setup it would miss setting it when changing between HUDs.
2017-03-29 20:01:57 +02:00
Christoph Oelckers
401a1e80e8
- fixes typo in actionspecials.h.
2017-03-29 19:24:56 +02:00
Christoph Oelckers
1d4ab0cc2a
- implemented proper scaling for the status bar itself.
...
This allows using the UI scale or its own value, like all other scaling values.
In addition there is a choice between preserving equal pixel size or aspect ratio because the squashed non-corrected versions tend to look odd, but since proper scaling requires ununiform pixel sizes it is an option.
- changed how status bar sizes are being handled.
This has to recalculate all scaling and positioning factors, which can cause problems if the drawer leaves with some temporary values that do not reflect the status bar as a whole.
Changed it so that the status bar stores the base values and restores them after drawing is complete.
2017-03-29 19:23:40 +02:00
Christoph Oelckers
7ba6860102
- scriptified the automap HUD and made it obey hud_scale instead of always being fully scaled.
2017-03-29 14:20:22 +02:00
Christoph Oelckers
2f06c09681
- fixed map name display on the automap HUD
...
This would cut off overlong names and the handling for status bars with protruding elements was far too simplistic and worse, making assumptions based on game mode.
It now uses a virtual function to query the status bar itself for returning this information so it can be overridden and uses V_BreakLines to split the text if it is wider than the display.
2017-03-29 10:36:16 +02:00
Rachael Alexanderson
9f38b2b107
Merge https://github.com/coelckers/gzdoom
2017-03-28 22:40:40 -04:00
Christoph Oelckers
fabf8451e7
- use Fill to draw Strife's health bars.
2017-03-29 02:24:04 +02:00
Christoph Oelckers
598523a1de
- moved all coordinate adjustment for the status bar mode into one function and use this function in all places where status bar related coordinate adjustments need to be performed, also in SBARINFO.
...
- fixed unscaled status bar placement.
- fixed inventory count display for Doom status bar.
2017-03-29 01:59:03 +02:00
Christoph Oelckers
914c829f79
- added Floor/Ceiling_MoveToValueAndCrush action specials.
2017-03-29 01:25:02 +02:00
Christoph Oelckers
3a569f176d
- added GetLineX/GetLineY ACS functions.
2017-03-29 01:02:29 +02:00
Magnus Norddahl
d160424aea
- added DFrameBuffer::HasBegun2D to allow scripting to test if 2D drawing is active (instead of using IsLocked, which may return false when vid_hw2d is active)
2017-03-29 00:45:53 +02:00
Christoph Oelckers
054d9a5bcc
- allow passing the activator to ScriptCall.
2017-03-29 00:43:12 +02:00
Christoph Oelckers
19e7d60275
- removed DSBarInfo::Scaled because it tended to disagree with StatusBar->Scaled.
2017-03-29 00:35:35 +02:00
Christoph Oelckers
2d1641f0cd
- fixed: Reference types passed as a reference parameter were not properly checked for.
2017-03-29 00:00:25 +02:00
Christoph Oelckers
5e3e4a3bd1
- fixed: The wall spliter for 3D lights did not initialize the resulting colormap's fog density value.
2017-03-28 23:36:26 +02:00
Christoph Oelckers
fa893c082b
- changed the default for hud_scale to 0 (i.e. use uiscale)
...
- allow calling Menu.SetMenu from play code so that in-game menus can be opened.
2017-03-28 22:51:37 +02:00
Rachael Alexanderson
9da596cd9c
Merge https://github.com/coelckers/gzdoom
2017-03-28 16:29:07 -04:00
Christoph Oelckers
6870efe134
- added a GetCVarString ZScript/DECORATE function.
...
- fixed: loading a savegame triggered PlayerEntered events.
2017-03-28 21:37:43 +02:00
nashmuhandes
99d1581c27
Added "DontLightActors" flag for dynamic lights. Actors will not be illuminated by lights that are given this flag.
2017-03-28 21:33:16 +02:00
Christoph Oelckers
bdf761e457
- moved th player resurrection code into a player_t method.
2017-03-28 21:29:14 +02:00
Christoph Oelckers
71fe4a83c9
- fixed: the translucent flat drawer used a bad condition for dynamic light processing which caused a problem with the GL 3.x lighting method.
2017-03-28 21:18:03 +02:00
Christoph Oelckers
cd94d0927a
- fixed a problems with BeginHUD clobbering gST_Y.
...
The code involved is a total mess and needs some cleanup.
2017-03-28 20:49:06 +02:00
Magnus Norddahl
e8ba1156af
- add rect drawers for softpoly's player sprites
2017-03-28 16:46:22 +02:00
alexey.lysiuk
4716b712b1
Fixed compilation issues with isnan()
...
Need to do it in pure C++ way to avoid C99 macro at all costs
Tested with CI targets, on Debian Jessie using GCC 4.9 and on Ubuntu 16.04 using GCC 5.4
2017-03-28 17:10:06 +03:00
Christoph Oelckers
e2e17f575c
- added safeguards to all 2D drawing functions to throw an exception if used outside a valid 2D draw context.
...
This is necessary because the hardware accelerated renderers will hide the problem, but with pure software rendering to a locked hardware surface, like DirectDraw can result in a crash.
Note that ANY mod that gets caught in this did something wrong!
2017-03-28 13:25:17 +02:00
Christoph Oelckers
f3db5f3803
- added a clipping rectangle to DCanvas that can be used independently of DrawTexture calls.
...
Currently this is only being used for draw operations that are not automap related, i.e. DrawLine, DrawPixel and FillSimplePoly are not subjected to it.
2017-03-28 13:06:24 +02:00
Christoph Oelckers
c4c2b440fc
Merge branch 'master' of https://github.com/coelckers/gzdoom
2017-03-28 11:00:18 +02:00
Christoph Oelckers
b9485d4edf
- ported the Hexen status bar to zscript.
...
Note that DrawBar with a background texture does not work yet because the clipping rectangle is not done yet.
2017-03-28 11:00:05 +02:00
Magnus Norddahl
d15def7d41
- remove TriVertex::NumVaryings as this did not help on readability at all
2017-03-28 10:52:19 +02:00
Magnus Norddahl
5adf7463cd
- support render styles on decals
2017-03-27 21:59:43 +02:00
Magnus Norddahl
0537e9c1ba
- implement all styles for sprites in softpoly
2017-03-27 21:03:51 +02:00
Christoph Oelckers
78095460ac
Merge branch 'master' of https://github.com/coelckers/gzdoom
2017-03-27 21:01:47 +02:00
Christoph Oelckers
a6bf93c624
- implemented the Heretic status bar.
2017-03-27 21:01:40 +02:00
alexey.lysiuk
020c34abfa
Added workaround for undefined isnan()
...
All our continuous integration targets have no problems with C99 isnan() macro but on Ubuntu 16.04 compilation fails
It appeared that some implementation of C++ Standard Library may undefine bunch of C macros to avoid conflicts with own declarations
2017-03-27 17:06:21 +03:00
Magnus Norddahl
e865ba60f5
- support particle styles in softpoly
2017-03-27 11:33:16 +02:00
alexey.lysiuk
bed559f763
Fixed compilation with GCC/Clang
...
src/g_statusbar/sbar.h:399:23: error: extra qualification on member 'DrawString'
2017-03-27 11:55:17 +03:00
Magnus Norddahl
ad992d2ffd
- add support for choosing the particle style in the software renderer
2017-03-27 10:12:57 +02:00
alexey.lysiuk
5f44bc4d5f
Fixed crash in line portal setup
...
https://mantis.zdoom.org/view.php?id=488
2017-03-27 10:55:51 +03:00
Christoph Oelckers
0fdd118906
- change statusbar drawers to use the top left of the virtual screen as origin, not the top left of the actual status bar, to bring this in line with SBARINFO.
...
The Strife status bar which was still native code had it differently and that was used as the initial guideline.
2017-03-27 09:52:30 +02:00
Rachael Alexanderson
2338fe7e66
Merge commit 'c8eabe5'
2017-03-26 21:57:23 -04:00
Christoph Oelckers
bc95e5180d
- moved the BarShader textures into the texture manager so that ZScript can use them. ZScript only knows about TextureIDs, but those require the texture to be handled by the texture manager.
2017-03-27 01:55:47 +02:00
Christoph Oelckers
bb04eea996
Merge branch 'master' of https://github.com/coelckers/gzdoom
2017-03-27 01:06:28 +02:00
Christoph Oelckers
a112b29c43
- implemented the inventory bar. This object is a bit special because it requires a lot of parameters, most of which are easily set to defaults. To make handling easier, most are passed through a container object which does some processing up front.
...
- finished work on the Doom status bar. I also took the opportunity to fix the layout of the inventory bar which is a bit broken in SBARINFO.
- tuned the selection rules for deciding what creates the status bar, so that the most recent definition that can be found is chosen.
2017-03-27 01:02:10 +02:00
Christoph Oelckers
e791c957d9
- implemented the regular Doom status bar.
...
The DOOM status bar and HUD are complete, except the inventory bar.
2017-03-26 22:04:58 +02:00
alexey.lysiuk
c8eabe57ff
Fixed compilation warning reported by GCC/Clang
...
src/v_draw.cpp:503:25: warning: comparison of integers of different signs: 'uint32_t' (aka 'unsigned int') and 'int' [-Wsign-compare]
2017-03-26 22:10:05 +03:00
alexey.lysiuk
e5d4d9a36a
Fixed compilation with GCC/Clang
...
src/swrenderer/line/r_walldraw.cpp:102:13: error: expected unqualified-id before ‘(’ token
2017-03-26 22:10:05 +03:00
Magnus Norddahl
84e94f2a32
- change softpoly psprite drawing to do exactly what the software renderer does
2017-03-26 18:55:23 +02:00
Christoph Oelckers
0cbbd8d4b1
Merge branch 'master' of https://github.com/coelckers/gzdoom
2017-03-26 18:41:44 +02:00
Christoph Oelckers
08b3c38304
- simplified the parameters of the HUD draw functions by moving all booleans into one flags word and ordering them so that the less likely ones to be used can be made optional.
...
- got rid of the image list in the Doom status bar. The cost of the texture lookup is mostly irrelevant here so clearer and shorter code is preferrable.
- moved the box fitting code from DrawTexture into the native function to have all coordinate calculations in one place which is necessary to implement proper alignment default handling. Without higher level functions altering positioning the default can be set to automatic alignment determination, i.e. the value's sign decides where something is placed. Of course for special cases this can be overridden.
- use ANIMDEFS to animate the inventory arrow,
2017-03-26 18:41:24 +02:00
Magnus Norddahl
a12f0862c9
- remove softpoly intersection math class
2017-03-26 17:12:20 +02:00
alexey.lysiuk
28be42675d
Fixed build of SDL backend on macOS
2017-03-26 11:49:23 +03:00
Magnus Norddahl
ffc90f16ab
- Simplify the PolyDrawArgs interface
2017-03-26 10:10:55 +02:00
Magnus Norddahl
7b58eab332
- fix softpoly light visibility bug
2017-03-26 05:28:27 +02:00
Christoph Oelckers
488fface50
- started port of Doom status bar to ZScript.
...
Fullscreen HUD done with the exception of key and inventory bar. I also used the opportunity to make it a bit more resistant against badly designed inventory icons.
2017-03-25 21:40:17 +01:00
Christoph Oelckers
3e67a8bafa
- let hud_scale act like an override to uiscale, just like con_scale does.
...
- better handling of ForceScale for the fullscreen HUD that doesn't mess around with CVARs.
- moved the mug shot into the status bar, because this is global state that needs to be shared between different pieces of code which want to display a mug shot.
- SBARINFO should work off the current status bar settings instead of the ones stored in its script object
2017-03-25 18:32:47 +01:00
Rachael Alexanderson
71ad6c9651
Merge https://github.com/coelckers/gzdoom
2017-03-25 11:19:27 -04:00
alexey.lysiuk
093a05b588
Reset OpenGL 2D drawer state fully on each frame
...
https://mantis.zdoom.org/view.php?id=469
2017-03-25 11:32:39 +02:00
alexey.lysiuk
80f3c1ed81
Mouse input can now be disabled completely in Cocoa backend
2017-03-25 11:04:06 +02:00
Rachael Alexanderson
f5e1502bd7
Merge https://github.com/coelckers/gzdoom
2017-03-25 03:53:25 -04:00
Magnus Norddahl
04057b8b91
- implement the blending modes for palette mode in softpoly
2017-03-25 08:38:27 +01:00
Rachael Alexanderson
c5805ddd6e
- removed another vestigial #define NO_SSE
2017-03-25 01:46:41 -04:00
Rachael Alexanderson
2c3d867946
- fixed invalid variable reference on ARM
2017-03-25 01:40:13 -04:00
Rachael Alexanderson
f1ce0f1136
- Removed redundant #ifdef __arm__ #define NO_SSE from 2.5D drawers
2017-03-25 01:39:09 -04:00
Rachael Alexanderson
2d035a39b4
- fixed: Pushed -DNO_SSE for ARM processors unconditionally. We don't support SSE whatsoever on ARM so all code should always be aware of it.
2017-03-25 01:15:24 -04:00
Magnus Norddahl
af5355c69d
- fix SSE intrinsics being used on arm
2017-03-25 06:14:19 +01:00
Rachael Alexanderson
733cf1acc5
Merge https://github.com/coelckers/gzdoom
2017-03-25 00:26:06 -04:00
Christoph Oelckers
bdb9275f8c
- made the mugshot accessible to ZScript.
...
Note that there is no direct access, all this exposes is a single function to get the current face's texture which then can be drawn using the existing functions.
2017-03-25 01:22:42 +01:00
Christoph Oelckers
2d17594f6f
- converted the Strife status bar to use the new HUD specific draw functions so that it also can benefit from coming changes.
...
Note that the pop screens are special because they are not subject to scaling - they will always be drawn with the current resolutions clean scale. As a result they cannot use the HUD drawers but instead continue to use the low level draw functions directly.
2017-03-25 00:35:19 +01:00
Christoph Oelckers
b17b8d32ad
completely redid the active powerup drawer for the HUD
...
- replaced Inventory.DrawPowerup with a GetPowerupIcon method so that the calling code can handle the drawing and apply its own rules. This was a major design flaw of allowing the inventory items to handle the drawing themselves, because they were unable to adjust to different HUD frontends. Note that any mod that overrides DrawPowerup will not draw any icon that expects to be handled that way!
- the alternative HUD now has its own, separate drawer that obeys the AltHUD's rules, and not the ones of the normal fullscreen HUD.
- the standard drawer has been scriptified as a virtual function.
- Both drawers now handle positioning of the icon inside its assigned box themselves instead of trusting the powerup item to do it correctly.
- DTA_HUDRules and Screen.DrawHUDTexture are to be considered deprecated because both do not integrate into the redesigned HUD code.
2017-03-24 22:58:16 +01:00
Magnus Norddahl
321e2da979
- initialize clipper with the view frustum for better performance
...
- change translucent objects to be pointers for faster sorting
2017-03-24 22:04:07 +01:00
Christoph Oelckers
6760e01a0d
- implemented the status bar's DrawString function and ported the fullscreen HUD part of the Strife status bar to use the new functionality.
2017-03-24 20:09:50 +01:00
Rachael Alexanderson
2063813348
Merge https://github.com/coelckers/gzdoom
2017-03-24 15:06:05 -04:00
Magnus Norddahl
ac518e23bf
- improve triangle setup performance a little bit
2017-03-24 20:00:53 +01:00
Rachael Alexanderson
f6d9d153b1
- fixed: moved blur before and outside of menu dimming code.
2017-03-24 14:59:25 -04:00
Rachael Alexanderson
b747b0c3c6
- made gl_menu_blur into a menu option
...
- made bluramount also into a gameinfo option
- negative gl_menu_blur cvar now uses gameinfo option, 0 disables it
- removed gl_menu_blur_enabled since gl_menu_blur==0 does that anyway
- made gl_menu_blur default to -1 to use gameinfo option
- add default gameinfo bluramount options
2017-03-24 14:59:25 -04:00
Rachael Alexanderson
954f21f71d
- changed defaults
...
- moved CVARs to head of file as forward declaration
- FGLRenderer::BlurScene now checks if postprocessing is enabled before executing
2017-03-24 14:59:25 -04:00
Rachael Alexanderson
e49b549364
- added CVARs to control menu blur
...
- made blur effect menu only
2017-03-24 14:59:25 -04:00
Rachael Alexanderson
959fb2577b
- Unfriendly players now spawn at deathmatch starts.
2017-03-24 14:59:25 -04:00
Rachael Alexanderson
48e98c66de
- fixed: this should probably be bumped to match GZDoom
2017-03-24 14:59:25 -04:00
Rachael Alexanderson
23141dc38a
- QZDoom-ify
2017-03-24 14:59:25 -04:00
Rachael Alexanderson
ff3d3f13c8
- Implement hostile coop for -FRIENDLY players.
2017-03-24 14:59:25 -04:00
Rachael Alexanderson
786c4f01c8
- Monsters no longer search for players who are unfriendly.
2017-03-24 14:59:25 -04:00
Magnus Norddahl
93a6e4bc94
Add an aggressive blur pass for the scene
2017-03-24 14:59:25 -04:00
Magnus Norddahl
bc8a4474d5
- optimize PolyTriangleDrawer::clipedge
...
- remove slow calls to roundf in the triangle setup functions
2017-03-24 13:04:02 +01:00
alexey.lysiuk
c1e425920e
Fixed compilation with GCC and Clang
2017-03-24 13:02:00 +02:00
Magnus Norddahl
f178646e1a
- improve sector portals rendering in softpoly
...
- fix a softpoly memory leak and change vertex list to be allocated using the frame allocator
2017-03-24 07:28:28 +01:00
Christoph Oelckers
b5720ee1e7
- initial work on DrawString method.
2017-03-24 02:38:44 +01:00
Christoph Oelckers
617934e1c2
- added a few exports for game strings which the SBARINFO string drawer can access and which should also be available by ZScript.
...
- merged BaseStatusBar and CustomStatusBar back together.
Since the low level draw functions are better done in native code for both performance and debuggability the split has become pointless.
2017-03-24 02:12:36 +01:00
Magnus Norddahl
c21037fb03
- fix sky sector portals
2017-03-24 02:11:24 +01:00
Christoph Oelckers
a3ee3c287e
- major progress on the status bar code: SBARINFO's DrawGraphic has been ported into a generic function of the base statusbar class and put to use for a few items on the Strife status bar.
...
- decided to ditch the widget system I had started to lay out. As it turns out that would make things far more complicated and slower than they need to be.
2017-03-24 00:47:08 +01:00
Christoph Oelckers
74a2d58a52
- made the coordinate check fatal. If this happens the loaded map will be broken, there is no point trying to recover.
2017-03-23 10:19:07 +01:00
Christoph Oelckers
f31fb64750
- added range checks to UDMF coordinate fields.
2017-03-23 10:09:54 +01:00
Magnus Norddahl
e12f48699e
- fix the culling bugs in softpoly by switching to a pseudo-angle clipper
2017-03-23 03:41:44 +01:00
Christoph Oelckers
31ea33bfc4
- rewrote the condition nodes from SBARINFO in ZScript. This compiles but hasn't been tested yet.
2017-03-23 00:25:26 +01:00
Christoph Oelckers
9bd75bcac5
- some conceptual work on statusbar stuff. This looks like a viable approach to build something that can replace SBARINFO.
2017-03-22 19:56:21 +01:00
Christoph Oelckers
f0e4f54c80
- one more bit of scriptification.
2017-03-22 18:38:09 +01:00
Christoph Oelckers
1423d5f42a
- scriptified the SBARINFO wrapper.
...
This serves no purpose in itself but it removes a native side class from the status bar class hierarchy which allows for better editing options later.
2017-03-22 17:29:13 +01:00
Christoph Oelckers
04c2565d7f
- added Get/SetValue functions to PBool.
2017-03-22 15:44:54 +01:00
Christoph Oelckers
62fbb00bc9
Merge branch 'master' of https://github.com/coelckers/gzdoom
2017-03-22 14:59:35 +01:00
Christoph Oelckers
4c51a4fc59
- reimplemented the health bar for Strife's status bar.
2017-03-22 14:59:12 +01:00
Rachael Alexanderson
09c3060728
- fixed: skybug on ARM was caused by undefined conversion from float to unsigned int. adding intermediary signed int cast fixes this problem.
2017-03-22 05:51:12 -04:00
Magnus Norddahl
b2e61412da
- add missing sprite blends to the soft poly drawer
2017-03-22 09:11:21 +01:00
Christoph Oelckers
4417afd548
- changed VMValue to handle strings by reference.
...
This makes VMValue a real POD type with no hacky overloads and eliminates a lot of destructor code in all places that call a VM function. Due to the way this had to be handled, none of these destructors could be skipped because any value could have been a string.
This required some minor changes in functions that passed a temporary FString into the VM to ensure that the temporary object lives long enough to be handled. The code generator had already been changed to deal with this in a previous commit.
This is easily offset by the code savings and reduced maintenance needs elsewhere.
2017-03-22 01:44:56 +01:00
Christoph Oelckers
9bffe4ee50
- scriptified the main statusbar interface and the Strife status bar.
...
Note that the Strife status bar does not draw the health bars yet. I tried to replace the hacky custom texture with a single fill operation but had to find out that all the coordinate mangling for the status bar is being done deep in the video code. This needs to be fixed before this can be made to work.
Currently this is not usable in mods because they cannot initialize custom status bars yet.
2017-03-22 00:32:52 +01:00
Rachael Alexanderson
4110f34139
- fixed: non-SSE2 drawers still had SSE2 intrinsics for light calculations, preventing successful compilation on ARM.
2017-03-21 17:51:09 -04:00
Magnus Norddahl
fc3cb01029
- only ray test sprites on lights that are shadowmapped
2017-03-21 14:32:48 +01:00
Magnus Norddahl
25a30f8b7e
- remove vectorcall from the 8 bit drawer
2017-03-21 14:28:31 +01:00
Magnus Norddahl
d437b342db
- replaced the softpoly drawers with templated versions
2017-03-21 14:12:19 +01:00
alexey.lysiuk
7aa6a6b0b3
Restored explicit assignment operators for VMValue
...
Unfortunately strings require special handling and so all operators must be available
This partly solves https://mantis.zdoom.org/view.php?id=453 (and https://mantis.zdoom.org/view.php?id=459 too)
2017-03-21 12:14:50 +02:00
Magnus Norddahl
11e5759913
- detached the poly renderer from the software renderer
2017-03-20 08:28:16 +01:00
Christoph Oelckers
f45371e231
- reverted the counter for the vertex angle cache to a simple incrementing global variable.
...
Using I_MSTime is not precise enough, because some camera textures can be done quicker. It was pointless anyway trying to make this multithreading-safe, the entire caching idea here makes no sense if two clippers can simultaneously work on the same level data without changing the memory organization and rendering it ineffective.
2017-03-20 01:21:33 +01:00
Christoph Oelckers
1031481167
- added some checks to exclude dynamic lights from being subjected to shadowmapping if they do not touch any one-sided lines from the back side. This condition is a requirement for a 1D shadowmap to even have an effect.
2017-03-20 00:34:19 +01:00
Christoph Oelckers
0721aef218
- fixed: FxAssign used the wrong value type for emitting the store operation.
...
It used the expression's value type, but needs to use the variable's, which can be different when the assignment is synthesized from a builtin function.
2017-03-19 21:36:18 +01:00
Christoph Oelckers
403c5693a9
- cleaned out a large part of unused methods from VMValue.
...
- keep string registers which are being used as function parameters allocated until after the function call returns. This is for allowing to pass strings by reference which would avoid some costly constructor/destructor loops in the call instruction.
2017-03-19 21:25:30 +01:00
Christoph Oelckers
0a11e38967
- let SBARINFO always read ST_X and ST_Y from the wrapper because it just too liberally changes these values in unpredictable ways.
2017-03-19 19:49:52 +01:00
Christoph Oelckers
6b95371813
- made a few adjustments to the clean factor calculation so that on large screens the smaller factor gets preferred.
...
Without such tweaking the menu scale tends to get a bit too large on some screen sizes.
2017-03-19 18:38:16 +01:00
Christoph Oelckers
0cfdd699ad
- exported the base thinker class for sector lighting effects to ZScript.
2017-03-19 13:15:38 +01:00
Christoph Oelckers
d74b6a6896
- typo...
2017-03-19 12:41:00 +01:00
Christoph Oelckers
fd9dc9e3f4
- fixed handling for OkayToSwitchTarget.
2017-03-19 12:07:02 +01:00
Christoph Oelckers
ac95cba848
- fixed generic class type properties to handle "" and "none" as 'no class'.
2017-03-19 12:02:17 +01:00
Christoph Oelckers
2c789a2d75
- looks like the last commit missed a few files.
2017-03-19 11:35:24 +01:00
Christoph Oelckers
845c43876c
- moved all trivial actor properties into the scripts as 'property' declarations.
2017-03-19 11:30:28 +01:00
Rachael Alexanderson
4784aae098
- backport cl_oldfreelooklimit from Skulltag - due to the advent of capped skies, there really was no reason to keep the upper limit so low.
2017-03-19 00:36:52 -04:00
Robert Cochran
077de36139
Fix method member being a qualified name
...
This breaks the Linux build with GCC. This is non-standard behavior, but
apparently Visual Studio allows it.
2017-03-18 22:44:21 +01:00
Christoph Oelckers
2c7ceaf96a
- fixed the check for one-subsector BSPs.
2017-03-18 22:44:03 +01:00
Christoph Oelckers
3cced6c7cc
- fixed the early-outs for empty functions in the VM caller.
...
OP_RET should not be used as an absolute number here.
2017-03-18 21:31:43 +01:00
Christoph Oelckers
622b4a6457
- switched over to the scripted intermission screens.
2017-03-18 21:19:32 +01:00
Christoph Oelckers
9ef88ea327
- need to be careful with ctype functions - the way they are written they will do bad things with non-ASCII characters if signed chars are fed to them.
2017-03-18 19:37:36 +01:00
Christoph Oelckers
a2f2be17ef
- status screen fully scriptified but not active yet.
2017-03-18 19:35:26 +01:00