Commit graph

12227 commits

Author SHA1 Message Date
Christoph Oelckers
5cfac78116 - added write barriers to the menu code.
The GC was causing some crash issues with the items not having been subjected to a write barrier.
2017-02-05 01:52:09 +01:00
Magnus Norddahl
4172d70d95 Make Frozen Time rendering 4 times faster by grouping draw segments in batches of 100 (old algorithm processed 32000 draw segs per sprite!) 2017-02-05 00:42:42 +01:00
Christoph Oelckers
470dc138c6 - got rid of all DTA_Translation uses. 2017-02-05 00:17:29 +01:00
Christoph Oelckers
dadc8e2ec2 - removed all uses of DTA_Translation except for the single one that passes a custom built table.
This means that with the exception of 3 pointers the DrawTexture interface only accepts numeric values now.
Still need to get rid of the last 3 to have this ready for scripting.
2017-02-04 23:26:28 +01:00
Christoph Oelckers
d50e52ea59 - use DrawChar to draw font characters instead of calling DrawTexture directly.
Mostly done to remove uses of DTA_Translation.
2017-02-04 22:50:23 +01:00
Christoph Oelckers
6dea3eef8e - exported DrawTexture to scripting.
This uses templates to avoid source duplication of ParseDrawTextureTags. Not tested yet.
2017-02-04 22:09:49 +01:00
Magnus Norddahl
bf6ab1efc8 Clip sprites by thread slice 2017-02-04 21:55:56 +01:00
Magnus Norddahl
d1cbb76b63 Only render player sprites on main thread 2017-02-04 21:00:05 +01:00
Magnus Norddahl
beae9a3dc7 Stop using validcount for sprites 2017-02-04 20:32:06 +01:00
Christoph Oelckers
a102807737 - atags for null pointers have no meaning so do not assert on them. 2017-02-04 19:37:19 +01:00
Magnus Norddahl
cfe4c55973 Remove software renderer internals from F3DFloor 2017-02-04 19:13:56 +01:00
alexey.lysiuk
e8c2444ddd Fixed compilation with GCC/Clang
error: use of undeclared identifier 'op'
error: no matching function for call to 'ListEnd'
error: no matching function for call to 'ListGetInt'
error: no matching function for call to 'ListGetDouble'
...
2017-02-04 18:10:30 +02:00
Magnus Norddahl
8ad132b64f Execute scene slices on worker threads 2017-02-04 16:45:36 +01:00
Christoph Oelckers
d662cece15 - fixed calculations in AdjusrPlayerAngle. 2017-02-04 16:44:43 +01:00
Christoph Oelckers
ec15c7f4c3 - removed the fatal errors for invalid actor->movedir.
These can be silently mapped to DI_NODIR to let the engine get the actor back on track.
2017-02-04 16:29:01 +01:00
Christoph Oelckers
43d759782d - fixed: Stack based local VM object pointers should not be subjected to a read barrier.
This isn't done for register based variables so for consistency it should not be done for stack based variables, too.
This difference in handling made it impossible to check the target of a hitscan attack if it was destroyed by getting damaged.
2017-02-04 16:23:14 +01:00
Magnus Norddahl
d9e545a519 Hook up thread slices and eliminate some statics hiding in misc functions 2017-02-04 15:51:54 +01:00
Magnus Norddahl
f50532af8a Reorder scene setup to do the stuff that can't be threaded first 2017-02-04 14:20:58 +01:00
Magnus Norddahl
5bae06a3c6 Make RenderScene the work dispatching class 2017-02-04 14:00:21 +01:00
Magnus Norddahl
5105a5d254 Fix msvc compile error 2017-02-04 13:43:39 +01:00
Christoph Oelckers
d3ed83942f - did some preparations to ParseDrawTextureTags to allow using the same code for parsing tag lists generated by the VM.
- removed the fixed point alpha tag from DrawTexture and replaced all uses with the floating point version.
2017-02-04 13:11:12 +01:00
Magnus Norddahl
6f5e720576 Split drawer command queue from drawer threads 2017-02-04 12:38:05 +01:00
ZZYZX
b833f5a852 Merge remote-tracking branch 'gz/master' into thereisnospoon 2017-02-04 10:27:37 +02:00
Rachael Alexanderson
ebb8da563a Merge https://github.com/coelckers/gzdoom 2017-02-04 02:56:18 -05:00
Magnus Norddahl
45f623faf4 Move frame memory allocator into RenderThread 2017-02-04 02:50:52 +01:00
Christoph Oelckers
abac756289 - exported some stuff for fonts and screen size that will be needed for the menus. 2017-02-04 00:46:22 +01:00
Magnus Norddahl
627a388d57 Move renderer singletons into a RenderThread class 2017-02-04 00:25:37 +01:00
Christoph Oelckers
d5b908186c - some work on the base classes for menus. None of this is being used yet. 2017-02-04 00:19:25 +01:00
Christoph Oelckers
8578a5a12e - added a 'new' intrinsic to create new objects from inside scripts.
This is not tested yet and likely to not working correctly yet. Will be fixed once I get far enough to use it later.
2017-02-03 22:56:03 +01:00
Christoph Oelckers
d5962b290c - turned all menu items into actual objects.
This is needed for script export.
2017-02-03 21:35:42 +01:00
Magnus Norddahl
4fadc4e9a3 Fix typo 2017-02-03 21:25:51 +01:00
Magnus Norddahl
da346427d3 Change draw segment list to use TArray 2017-02-03 21:11:55 +01:00
alexey.lysiuk
c6e42d6fa0 Added handling of modifier keys for mouse events in Cocoa backend 2017-02-03 22:01:34 +02:00
alexey.lysiuk
f04b0d129d Removed useless assignment in Cocoa backend 2017-02-03 21:56:14 +02:00
ZZYZX
eb7548d639 Printf doesn't work with FString on GCC 2017-02-03 20:54:42 +02:00
ZZYZX
b18b71c065 Mouse coordinates for UI mouse events are actually data1/data2, not x/y 2017-02-03 20:49:45 +02:00
ZZYZX
f816537992 Setting Order directly (while the event handler is registered) will result in all sorts of broken behavior. Made readonly. 2017-02-03 20:44:27 +02:00
ZZYZX
03f7c39ea7 Fixed mouse input in event handlers. Added RequireMouse field in event handler to signify that native mouse should be turned on for certain handlers. 2017-02-03 20:34:34 +02:00
ZZYZX
08f1731ded Added keyboard modifiers for mouse events in SDL backend. 2017-02-03 17:39:26 +02:00
ZZYZX
b4565c3800 Exposed Shift/Ctrl/Alt to the scripts 2017-02-03 16:15:53 +02:00
Christoph Oelckers
82eae78f7e - fixed a small memory leak in the texture manager. 2017-02-03 13:11:55 +01:00
ZZYZX
0d96517f5f Implemented RenderOverlay hook that executes directly after level and statusbar 2017-02-03 13:29:34 +02:00
ZZYZX
6a0103a746 Merged p_setup conflict 2017-02-03 13:02:44 +02:00
ZZYZX
b45af599c5 Explicit handler deinitizliation in P_Shutdown and P_FreeLevelData 2017-02-03 13:01:15 +02:00
ZZYZX
9bb4cf1c03 User input events first take 2017-02-03 12:28:40 +02:00
Christoph Oelckers
075cce98c4 - fixed: PlayerPawn.GetEffectTicsForItem read the duration from the wrong actor. 2017-02-03 10:41:38 +01:00
Christoph Oelckers
a5f417b1e5 - removed all uses of BYTE as function return value or functio parameter from the dynamic light code.
These were truncating the actual light values.
2017-02-03 10:13:41 +01:00
Magnus Norddahl
812cc61b16 Fix some typos 2017-02-03 09:08:00 +01:00
Magnus Norddahl
892350ac2e Add functions to CameraLight 2017-02-03 09:00:46 +01:00
Magnus Norddahl
a0a40281b3 Simplify skyplane light selection 2017-02-03 08:19:59 +01:00