Commit graph

14887 commits

Author SHA1 Message Date
Chronos Ouroboros
63cda1c13d Pointer addition opcodes must leave NULL pointers as they are. 2019-04-15 14:31:41 +02:00
Chronos Ouroboros
3c8aa9f641 Changed binary int ops to use a temporary register, fixed some opcodes.
For some reason, binary ops might reuse one of the input registers as the output register.
This is a problem for very obvious reasons.
2019-04-15 14:31:39 +02:00
Jonathan Russell
62ece01c0a - made CMP_CHECK checking compile time 2019-04-15 14:31:37 +02:00
Jonathan Russell
f897f2bfd3 - added exact floating point comparison opcodes 2019-04-15 14:31:36 +02:00
Jonathan Russell
5846357268 - implemented all integer comparison operators 2019-04-15 14:31:34 +02:00
Jonathan Russell
166ce87a86 - adds OP_EQ_R, the first instruction using jumps 2019-04-15 14:31:33 +02:00
Magnus Norddahl
5c3ef8ac15 - add misc float opcodes 2019-04-15 14:31:31 +02:00
Jonathan Russell
b242ffdbbe - added most vector maths opcodes 2019-04-15 14:31:29 +02:00
Chronos Ouroboros
73892f4a6e Fix floats and implement some more opcodes. 2019-04-15 14:31:27 +02:00
Magnus Norddahl
113714990e - copy initial register values from the VM frame 2019-04-15 14:31:26 +02:00
Magnus Norddahl
10a6ab4d56 - implement most of the integer math opcodes 2019-04-15 14:31:24 +02:00
Magnus Norddahl
d651c02b17 - embed and use asmjit to JIT ZScript VM functions 2019-04-15 14:31:22 +02:00
drfrag
2039a306ae - Disable HRTF by default, it's slow on weak CPUs with many ambient sounds. 2019-04-15 13:30:21 +02:00
drfrag666
eafac3db33 - Fixed bad merge of "- more options for Doom 64 style gradients on walls". 2018-12-08 10:07:51 +01:00
drfrag666
6eca20a592 - Bumped version number for a new beta. 2018-12-04 18:54:17 +01:00
drfrag666
825a720b09 - Default gender for sound classes should be male and not other since it could be undefined in SNDINFO. 2018-12-03 20:19:46 +01:00
Player701
d72d820bba - Exported AActor::Grind to ZScript. 2018-11-30 10:18:43 +01:00
Christoph Oelckers
2540c9ee8f - cleaned up the sound options menu.
There were still some leftover definitions from FMod and far too many things were at the top level. Anything non-essential has been moved to the "Advanced Sound Options" submenu and the pointless sound backend switch has been removed entirely.
2018-11-30 10:17:27 +01:00
drfrag666
cdb60486c7 - Fixed compilation of previous commit. 2018-11-30 10:16:55 +01:00
Magnus Norddahl
e76a9c3085 - forgot to set the light level 2018-11-29 11:26:32 +01:00
Magnus Norddahl
20d5b904b2 - use psprite renderstyle on HUD models 2018-11-29 11:26:20 +01:00
Christoph Oelckers
7600b65810 - fixed: P_Recalculate3DFloors may not be called before the vertex buffer has been set up.
Since this function creates dynamic copies for 3D floors that need to be split it requires the vertex buffer index to be set up.
In older versions this did not produce errors because there was a fallback render path that was less efficient.
Now with that fallback removed this resulted in temporary 3D floors being created without valid vertex data.

# Conflicts:
#	src/p_setup.cpp

# Conflicts:
#	src/p_setup.cpp
2018-11-29 11:26:08 +01:00
Player701
bc280f67ac - Fixed textures on the two switches that rise from the floor in the eastern area of TNT MAP31 2018-11-28 15:37:46 +01:00
Alexander
aa6820737a fixed spelling (mostly comments) 2018-11-28 15:37:45 +01:00
Christoph Oelckers
0ddb5038c3 - fixed the mapping of additive translucency to color-based translucency.
The destination mode sould be 'One', not 'InvSrcColor'.
Now both of these are available as explicit modes, not just through the optional mapping.

# Conflicts:
#	src/hwrenderer/scene/hw_sprites.cpp
#	src/r_data/renderstyle.cpp
#	src/r_data/renderstyle.h

With additional render styles from " - abstraction of render style in render state.". drfrag

# Conflicts:
#	src/r_data/renderstyle.cpp
#	src/r_data/renderstyle.h

With additional render styles from "- made the screen blend work for the software renderer.". drfrag
2018-11-28 14:39:54 +01:00
Christoph Oelckers
273c02ee73 - fixed: The serializer must treat object that were already destroyed or are declared transient like a null pointer and not ignore them.
This caused FraggleScript's SpawnedThings array to go out of sync.
2018-11-26 11:28:31 +01:00
Alexander
c223a671a6 add monster tags (Friendly Names) for Hexen 2018-11-25 12:25:46 +01:00
Lucy Phipps
3c834c269a tnt1a0 is not a png 2018-11-25 12:25:45 +01:00
alexey.lysiuk
4020159f91 - made ZRock4 solid like in vanilla Hexen
9164cc6e0f/INFO.C (L5731)
c0c1771e37/src/hexen/info.c (L5748)

https://forum.zdoom.org/viewtopic.php?t=62660
2018-11-24 12:47:18 +01:00
Marrub
3cf4a77c30 Fix null pointer access in p_terrain.cpp 2018-11-24 11:27:51 +01:00
Marisa Kirisame
9022c98732 expose defaultbloodcolor to ZScript. 2018-11-24 00:18:24 +01:00
alexey.lysiuk
9cf8be0259 - fixed compilation of POSIX targets
src/doomerrors.h:74:14: error: exception specification of overriding function is more lax than base version
src/posix/sdl/i_main.cpp:272:28: error: 'class std::exception' has no member named 'GetMessage'
2018-11-23 19:41:07 +01:00
Magnus Norddahl
7675e7a6dc - use std::runtime_error instead as the constructor on std::exception is a MSVC extension 2018-11-23 19:41:06 +01:00
Christoph Oelckers
831cfd5280 - made CDoomError inherit from std::exception so that the main catch block can also deal with exceptions thrown by the STL.
- Also do not ignore empty exception messages as irrelevant. The only irrelevant exception type is CNoRunExit.
2018-11-23 19:41:05 +01:00
drfrag666
e1c521f4ce - Made previous condition more clear. 2018-11-22 11:16:46 +01:00
Rachael Alexanderson
d24d25ef55 - fix inverted logic of Intel check 2018-11-22 10:59:17 +01:00
Magnus Norddahl
edd58e6abf - only use shader cache on Intel
# Conflicts:
#	src/gl/shaders/gl_shaderprogram.cpp
2018-11-22 10:59:05 +01:00
Magnus Norddahl
ff761c9864 - fix compile error 2018-11-21 20:19:14 +01:00
Christoph Oelckers
34e003f7cd - regenerated gl_load with full OpenGL 4.5 declarations, mostly to get the direct state access functions. 2018-11-21 20:18:45 +01:00
Magnus Norddahl
e4dc685202 - implement a shader cache
# Conflicts:
#	src/gl/shaders/gl_shader.cpp
#	src/gl/shaders/gl_shaderprogram.cpp

# Conflicts:
#	src/gl/shaders/gl_shader.cpp
#	src/gl/shaders/gl_shaderprogram.h
2018-11-21 14:26:37 +01:00
Christoph Oelckers
b8ca67f426 - fixed the type checks for object arrays.
Null pointers must be allowed and non-object pointers which are not null must be explicitly checked for because the code could crash on them when performing a static_cast on an incorrect type.
2018-11-18 21:57:12 +01:00
Major Cooke
eb1c356d41 P_Thing_Raise fixes & cleanup
- Transfer flags directly into the function and process inside instead of the action functions
- Pass in raiser for all function calls
2018-11-18 21:57:11 +01:00
Christoph Oelckers
ebf46b8d04 - fixed: FTexture::SmoothEdges must forward its result to the base texture in case a redirection is in effect.
Both need the bMasked flag, or some code will think that the texture is not fully opaque if no holes were found.

# Conflicts:
#	src/gl/textures/gl_material.h
#	src/textures/texture.cpp
2018-11-17 21:12:22 +01:00
Christoph Oelckers
6c76566bb1 - use the same formula for calculating 3DMidTex offsets as the renderer when per-sidedef scaling is used.
This reuses the FTexCoordInfo class the hardware renderer had been using to calculate wall texture offsetting.
The software renderers still need this sorted out to bring them in line with the rest of the code, though, but they do not have this code sufficiently well organized to make this a straightforward task.

# Conflicts:
#	src/hwrenderer/textures/hw_material.cpp
#	src/textures/textures.h
2018-11-17 20:43:52 +01:00
Christoph Oelckers
40bd248da2 - fixed parameter mixup with P_CanResurrect. 2018-11-17 20:20:03 +01:00
Christoph Oelckers
17a33b609a - fixed: CVar.ResetToDefault was missing a check for use outside of menus. 2018-11-17 20:19:21 +01:00
Christoph Oelckers
a9cc7e6fb9 - changed PhosphorousFire.DoSpecialDamage to match SVE's handling:
* Everything with a damage factor for fire only uses that.
* Everything that bleeds takes half damage
* Robots take quarter damage.
2018-11-16 21:47:21 +01:00
Christoph Oelckers
692d6e9045 - Restricted argument count check to the void return case.
There were some issues here:

* a check for mismatching count is too strict because it is legal to omit return values
* it failed to detect returning multiple values in a single expression.
2018-11-16 21:33:22 +01:00
Christoph Oelckers
c1edaa317d fixed right shift operator for unsigned values
This is version protected to avoid breaking old code.
2018-11-16 21:33:20 +01:00
Christoph Oelckers
38fe0b2fe1 - fixed: FxUnaryNotBitwise modified the source operand instead of allocating a new one. 2018-11-16 21:33:19 +01:00