Commit graph

14851 commits

Author SHA1 Message Date
Magnus Norddahl
9889d2fbb6 - fix clang compile error 2019-04-15 14:32:03 +02:00
Magnus Norddahl
976a7fab3a - implement throwing by storing exception information in a struct, then return from the jitted function and throw from c++ 2019-04-15 14:32:02 +02:00
Jonathan Russell
45bc0d266e - removed the ability to use printf-like formatting in emitAbortExceptionCall, it barely worked 2019-04-15 14:32:00 +02:00
Jonathan Russell
197b20af5d - add first draft of abort exceptions 2019-04-15 14:31:58 +02:00
Magnus Norddahl
c65b7076eb - call play sqrt when calculating lengths 2019-04-15 14:31:57 +02:00
Magnus Norddahl
50d0049460 - fix 8 and 16 bit store 2019-04-15 14:31:55 +02:00
Magnus Norddahl
76c08bf725 - destroy the jit runtime when all script functions are destroyed 2019-04-15 14:31:54 +02:00
Magnus Norddahl
4820c32794 - disable all unimplemented opcodes in the switch to ensure 'Unknown VM opcode' fatal error is generated if CanJit has a bug 2019-04-15 14:31:52 +02:00
Magnus Norddahl
e9914f38af Fix compile errors on macOS 2019-04-15 14:31:51 +02:00
Jonathan Russell
601c492cf2 - added remaining int arithmetic opcodes (and fixed float loading offset issue) 2019-04-15 14:31:49 +02:00
Jonathan Russell
e771064657 - forgot to turn off debug switch in last commit 2019-04-15 14:31:47 +02:00
Jonathan Russell
4228891da2 - made absMaskInt const 2019-04-15 14:31:46 +02:00
Jonathan Russell
8306815292 - implemented CMP_APPROX for OP_EQF_*, making ~== work for doubles 2019-04-15 14:31:44 +02:00
Chronos Ouroboros
e07af1428c Updated CanJit's supported opcodes list. 2019-04-15 14:31:43 +02:00
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