Commit graph

10522 commits

Author SHA1 Message Date
Christoph Oelckers
96b2cb0a45 - fixed code generation for local dynamic arrays.
- removed some code repetition by inherit all variable types which reference a PField for a variable offset from a base class so that PField replacements can be done with one set of code.
2017-02-06 22:57:42 +01:00
Christoph Oelckers
ca48a687f8 - major work on dynamic array support. Mostly working, some issues still exist with Move and Copy methods and with assignments in stack variables. 2017-02-06 21:39:21 +01:00
Christoph Oelckers
12477216ef - did some cleanup on the OPL files to remove all use of homegrown integer types in favor of the standard ones. This already helps getting rid of one of the MUSLIB files still left. 2017-02-06 19:26:45 +01:00
ZZYZX
b23937c924 Safety measures: disallow using netevent when not in a level 2017-02-06 16:14:18 +02:00
ZZYZX
52d9077477 Added playsim event (netevent CCMD) 2017-02-06 16:02:44 +02:00
ZZYZX
77546ad5c2 Added non-playsim console-called event 2017-02-06 15:52:20 +02:00
ZZYZX
7a03570e4a Merge remote-tracking branch 'gz/master' into thereisnospoon 2017-02-06 15:18:13 +02:00
ZZYZX
f368e70f89 Fixed overflows in String.Mid 2017-02-06 13:31:01 +01:00
ZZYZX
b7e64a2bc5 Merge remote-tracking branch 'gz/master' into thereisnospoon 2017-02-06 14:14:23 +02:00
ZZYZX
124d025131 More string methods 2017-02-06 12:35:21 +01:00
Christoph Oelckers
d90f2ba1fa - wrap the va_list that gets passed around by the Draw functions into a struct so that the templates can use reliable, identical semantics for both this and the VM's arg list. 2017-02-05 21:54:09 +01:00
Christoph Oelckers
a4dbbf6969 - fixed P_NightmareRespawn did not respawn a map defined spawn health and neither made skill-related adjustments. 2017-02-05 21:43:16 +01:00
Christoph Oelckers
810efe517d - fixed: AActor::SetOrigin lost its 'virtual' qualifier in the ZScript merge, but ADynamicLight needs this to work properly. 2017-02-05 21:38:06 +01:00
Christoph Oelckers
e55406bc23 - changed clean scaling factor calculation so that it doesn't prefer larger scales on high resolution displays.
This was a tweak that only makes sense when the scaling factors are low, i.e. 2 vs. 3, but for modern high resolutions it will enlarge things a bit too much.
2017-02-05 18:48:49 +01:00
alexey.lysiuk
481bddf628 Fixed incorrect offscreen rendering of player's blend 2017-02-05 18:16:27 +01:00
ZZYZX
e4970189b6 Tactical merge 2017-02-05 19:14:56 +02:00
Christoph Oelckers
72810c969d - added ChangeCamera script function. 2017-02-05 18:07:12 +01:00
Christoph Oelckers
9e038b75fa - exported DrawChar and DrawText. 2017-02-05 16:47:33 +01:00
Christoph Oelckers
52bec33c0d - exported BrokenLines to scripting as a new class.
- removed the hard limit of 128 lines for V_BreakLines.
2017-02-05 16:18:41 +01:00
Christoph Oelckers
d8a1ce88b0 - a few more exports from FFont. 2017-02-05 13:55:38 +01:00
alexey.lysiuk
ef871ec09f Fixed compilation with GCC/Clang
error: cannot pass non-trivial object of type 'FName' to variadic function; expected type from format string was 'char *' [-Wnon-pod-varargs]
2017-02-05 14:52:17 +02:00
Christoph Oelckers
b570d0819b - streamlined font handling for scripts a bit.
- moved the two 'you raised the alarm' messages for Strife to the string table
2017-02-05 13:14:22 +01:00
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
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
Christoph Oelckers
a102807737 - atags for null pointers have no meaning so do not assert on them. 2017-02-04 19:37:19 +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
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
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
ZZYZX
b833f5a852 Merge remote-tracking branch 'gz/master' into thereisnospoon 2017-02-04 10:27:37 +02: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
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
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