Commit graph

15658 commits

Author SHA1 Message Date
Christoph Oelckers
7ff0cd70ad - explicitly declare the constructor and destructor methods of FCheckPosition so that they get a working prototype. 2018-11-28 17:33:37 +01:00
Magnus Norddahl
232c24e4de - add .eh_frame generation code except for building the actual CIE and FDE instructions 2018-11-28 13:10:31 +01:00
Christoph Oelckers
fc7ca39927 - allocate storage for all of a function's return values 2018-11-28 00:24:50 +01:00
Christoph Oelckers
6a9696e525 - moved the remaining exports from p_sectors.cpp to vmthunks.cpp 2018-11-28 00:24:50 +01:00
Magnus Norddahl
8860517bbd - pass additional return values as the last args to a direct native call 2018-11-27 20:43:35 +01:00
Magnus Norddahl
3202c86ea7 - use the OP_PARAM and OP_RESULT opcodes to build the function signature 2018-11-27 19:56:39 +01:00
Christoph Oelckers
5e4e9e2c2b Merge branch 'master' into asmjit 2018-11-27 19:53:22 +01:00
Alexander
4a85e24228 fixed spelling (mostly comments) 2018-11-27 19:44:06 +01:00
Christoph Oelckers
59b4e297c0 - 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.
2018-11-27 19:43:10 +01:00
Christoph Oelckers
3d3a00fd0d - fixed: The flat drawer did not check for full brightness before processing dynamic lights. 2018-11-27 17:49:10 +01:00
Magnus Norddahl
d5b9b8e57a - fixed missing setRet call for REGT_POINTER return types 2018-11-27 17:10:20 +01:00
Magnus Norddahl
9dbb1d77ce - fix compile error 2018-11-27 17:02:51 +01:00
Magnus Norddahl
73819d45b7 - annotate which function we are calling for better dumpjit info 2018-11-27 17:00:29 +01:00
Magnus Norddahl
d195efc431 Merge remote-tracking branch 'origin/master' into asmjit 2018-11-27 15:38:10 +01:00
Magnus Norddahl
5e01a874be - merge the span step code used by both the 8 bit and 32 bit drawers 2018-11-26 17:02:01 +01:00
Magnus Norddahl
dbb7df998d - step with SSE 2018-11-26 14:32:56 +01:00
Magnus Norddahl
2db433e68f - only do shade clamps if needed 2018-11-26 12:18:07 +01:00
Magnus Norddahl
8b852ce4d8 - move the jit runtime to its own file 2018-11-26 10:46:09 +01:00
Magnus Norddahl
52b7a77771 - use SSE for the dynlights 2018-11-26 00:49:07 +01:00
Christoph Oelckers
90d79865a5 Merge branch 'master' into asmjit 2018-11-25 23:33:23 +01:00
Christoph Oelckers
182d43ae70 - fixed: Any direct native function may not use struct values as parameters, not even something as simple as an FName. 2018-11-25 23:33:15 +01:00
Christoph Oelckers
bef5b953b2 - free everything. 2018-11-25 23:33:15 +01:00
Christoph Oelckers
34a1c8e545 - delete JIT data when shutting down. 2018-11-25 23:33:14 +01:00
Magnus Norddahl
c164b3c3b0 - fix: float constants got their move instructions inserted after the call instruction 2018-11-25 22:26:38 +01:00
Christoph Oelckers
d79ef939e9 - 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-25 22:13:14 +01:00
Christoph Oelckers
9475bfe4f1 - declare builtins as static. 2018-11-25 21:47:28 +01:00
Christoph Oelckers
176da5de68 - added a direct native variant for A_PlaySound because this function is relatively easy to test. 2018-11-25 18:41:27 +01:00
Magnus Norddahl
61b91f9814 - fix macro expansion error on gcc and clang 2018-11-25 18:37:26 +01:00
Magnus Norddahl
d30bf44dcc - use SSE for the normal walls 2018-11-25 17:11:05 +01:00
Christoph Oelckers
2b960aa28f - finished adding direct native functions to vmthunks.cpp. 2018-11-25 16:12:15 +01:00
Magnus Norddahl
53175c49a7 - change DrawSpanOpt32 to render a scanline in multiple steps as the speed is about the same and it will make it easier to use SSE for each of the steps 2018-11-25 15:49:15 +01:00
Christoph Oelckers
03364a8c3e - all sector exports done. 2018-11-25 15:14:48 +01:00
Christoph Oelckers
8e8ee732f4 - another batch of direct native functions. 2018-11-25 14:19:19 +01:00
Christoph Oelckers
6628b34f4a - continued work on adding direct native support. 2018-11-25 13:35:32 +01:00
Christoph Oelckers
dc16c1d44e - moved VM thunks from p_sectors.cpp to a separate file and started adding direct native implementations.
For a few larger functions I took them out of sector_t and made them global functions to avoid creating more unnecessary stubs.
2018-11-25 11:34:50 +01:00
Christoph Oelckers
a501a22b28 - define the built-in functions defined in codegen.cpp through the regular interface instead uf just hacking them into the symbol table with incompletely set up data.
- added direct native variants to these builtins and fixed problems with builtin processing.
2018-11-25 11:41:29 +01:00
Christoph Oelckers
5fcc96a0f2 - fixed: When extracting a MiniBSP for polyobject rendering, the parent subsector must copy all its relevant properties to the children.
The sections pointer was not copied here.
2018-11-25 00:38:04 +01:00
Alexander
1b82e2078d add monster tags (Friendly Names) for Hexen 2018-11-24 14:02:48 +01:00
Lucy Phipps
ee6f4211c0 tnt1a0 is not a png 2018-11-24 14:01:52 +01:00
alexey.lysiuk
f11b20122f - 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:51:14 +02:00
Christoph Oelckers
b267252a09 - fixed: Since out types cannot be marked as such in a function prototype (as it'd cause parameter mismatches in the resolving pass) it is necessary to check the argflags as well when determining the register type. 2018-11-24 09:34:53 +01:00
Marrub
2e2fe87445 Fix null pointer access in p_terrain.cpp 2018-11-24 07:29:26 +01:00
Magnus Norddahl
31ed1da4e5 Merge remote-tracking branch 'origin/master' into asmjit 2018-11-23 22:57:11 +01:00
Marisa Kirisame
ee91cf77e4 expose defaultbloodcolor to ZScript. 2018-11-23 22:15:15 +01:00
alexey.lysiuk
dc6ba6bd52 - 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 15:14:15 +02:00
Magnus Norddahl
4e2cc1f144 - fix missing include statement 2018-11-23 12:13:53 +01:00
Magnus Norddahl
ac62088690 - fix wrong attribute count passed to SetFormat
- fix missing include statement
2018-11-23 12:09:36 +01:00
Magnus Norddahl
e02367dd09 - use std::runtime_error instead as the constructor on std::exception is a MSVC extension 2018-11-23 12:06:44 +01:00
Christoph Oelckers
ce46f5165a Merge branch 'master' into asmjit 2018-11-23 11:12:52 +01:00
Christoph Oelckers
bced30d1e3 - 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 10:18:52 +01:00