Magnus Norddahl
6e598274f7
- hook up unix unwind info (still not working)
2018-11-30 02:06:40 +01:00
Magnus Norddahl
b1bb82fe01
- fix WriteSLEB128
2018-11-29 19:44:26 +01:00
Magnus Norddahl
5d052fc565
- fix compile errors
2018-11-29 19:32:08 +01:00
Magnus Norddahl
37e33c6609
- implemented unwind info for Linux and macOS - now to fix the bugs that cannot be fixed when the documentation is as useless as it is for those platforms..
2018-11-29 18:45:55 +01:00
Christoph Oelckers
19df662348
- fixed code generation for dummy results.
2018-11-29 20:15:53 +01:00
Christoph Oelckers
ef2c433a8b
- fixed declaration of ChangeStatNum.
2018-11-29 20:15:24 +01:00
Christoph Oelckers
b8394b2f16
- fixed compilation warnings.
2018-11-29 20:11:28 +01:00
Christoph Oelckers
717912c88c
- direct native methods for dynamic arrays.
2018-11-29 20:09:41 +01:00
Christoph Oelckers
3ecda35379
Add direct native calls to TexMan's native methods.
2018-11-29 19:41:03 +01:00
Christoph Oelckers
ba2b9430f8
ChangeStatNum must not be virtual
...
Overriding this would make the engine vulnerable to badly behaving mods. Intercepting this and altering the behavior can render the entire game inoperable, especially if more internal code gets scriptified later. So even at the risk of breaking some carelsss mods this must be blocked.
2018-11-29 19:00:25 +01:00
Christoph Oelckers
3acd9c8116
Made all virtual base functions for the event handler scripted
...
This was by far the largest block of native virtuals, and they were only native to be able to allow checking if the event was implemented for the current handler. This can easily be done by looking at the byte code, just like VMCall also does but in turn it removes more than half of the existing native virtuals from the interface.
2018-11-29 18:46:28 +01:00
Christoph Oelckers
762a100d60
Direct native functions for SBarInfo
...
Mostly pointless because they all get used only once and aren't even virtual overrides, but I only realized this after everything was complete…
2018-11-29 12:20:24 +01:00
Christoph Oelckers
53d59559cd
Added direct native functions to the remaining content of vmthunks.cpp
2018-11-29 17:55:56 +01:00
Christoph Oelckers
62efe11a85
- more direct native functions for sector utilities.
2018-11-29 17:38:58 +01:00
Magnus Norddahl
e3c13fe193
- Emit DW_CFA_advance_loc and DW_CFA_def_cfa_offset codes
2018-11-29 02:37:58 +01:00
Christoph Oelckers
f43f0b9bd4
- added a few more direct native entry points.
2018-11-29 00:27:09 +01:00
Christoph Oelckers
d3ff657231
- added a direct native function for NextHighestCeilingAt to test multiple return values.
2018-11-28 21:40:56 +01:00
Magnus Norddahl
5ae456d059
- fix typo in macro
2018-11-28 19:59:35 +01:00
Christoph Oelckers
a5a9ab07af
Merge branch 'master' into asmjit
2018-11-28 18:44:42 +01:00
Christoph Oelckers
9c398cd343
- 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.
2018-11-28 18:42:37 +01:00
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
Player701
91ea22e85a
- Fixed textures on the two switches that rise from the floor in the eastern area of TNT MAP31
2018-11-27 21:14:52 +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