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
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
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