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
alexey.lysiuk
b0a0c62af1
Fixed state selection for weapon secondary fire
...
https://mantis.zdoom.org/view.php?id=552
2017-04-09 13:04:32 +03:00
Christoph Oelckers
5935dc706d
- prevent infinite recursion in PlayerPawn.GetObituary when the inflictor is the same as the origin for the kill.
2017-04-09 00:06:23 +02: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
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
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
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
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
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
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
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
Christoph Oelckers
4b127c7fcc
- draw Doom weapon numbers one pixel lower.
2017-04-03 09:37:52 +02: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
1033976158
Fixed typo in status bar function name
...
https://mantis.zdoom.org/view.php?id=519
2017-04-02 11:47:10 +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
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