Commit Graph

11717 Commits

Author SHA1 Message Date
Rachael Alexanderson c76c65d3f7 Merge https://github.com/coelckers/gzdoom
# Conflicts:
#	src/r_draw.cpp
2017-02-07 17:09:13 -05:00
Christoph Oelckers 3cddcc8524 - removed PClassType and PClassClass.
All non-actors now use PClass exclusively as their type descriptor.
Getting rid of these two classes already removes a lot of obtuse code from the type system, but there's still three more classes to go before a major cleanup can be undertaken.
2017-02-07 20:45:56 +01:00
Magnus Norddahl b36444ca1c Fix camera shader colormap (invulnerability effect) not getting applied to hardware accelerated player sprites 2017-02-07 20:43:41 +01:00
Christoph Oelckers e3d07bddab - moved the TypeTableType pointer from PClassType to PType.
Removing this variable is needed to remove PClassType and PClassClass as the next step to eliminate all of PClass's subclasses in order to clean up the type system.
2017-02-07 20:25:52 +01:00
Christoph Oelckers 7ed554158c - got rid of PClassWeapon.
Still 5 subclasses of PClass left...
2017-02-07 19:02:27 +01:00
Christoph Oelckers 776509e68a - let skip_super use the AActor assignment operator. The blanket memcpy it used was clobbering some data.
- moved the Finalize method from PClassActor to AActor. Now that defaults get their vtbl pointer initialized this will actually work.
2017-02-07 18:12:59 +01:00
Christoph Oelckers 56024a1ebe - implemented the backend for dynamic arrays. Still needs thorough testing but it should be complete.
- use a memory arena to store flat pointers so that the messed up cleanup can be avoided by deallocating this in bulk.
- added a new SO opcode to the VM to execute a write barrier. This is necessary for all objects that are not linked into one global table, i.e. everything except thinkers and class types.
- always use the cheaper LOS opcode for reading pointers to classes and defaults because these cannot be destroyed during normal operation.
- removed the pointless validation from String.Mid. If the values are read as unsigned the internal validation of FString::Mid will automatically ensure proper results.
2017-02-07 14:48:27 +01:00
Christoph Oelckers 4ca69f10c7 - removed a few unused definitions. 2017-02-07 10:55:59 +01:00
Rachael Alexanderson d760b5070a Merge https://github.com/coelckers/gzdoom 2017-02-07 02:23:48 -05:00
Christoph Oelckers dae6230f76 - fixed: Since the FastProjectile does not perform a velocity underflow check it must use an approximate comparison when deciding whether to call the Effect method. 2017-02-07 00:39:46 +01:00
Christoph Oelckers f9712460f3 - fixed: 3D floors could be set for untagged sectors. 2017-02-07 00:31:01 +01:00
Christoph Oelckers 2021baf47d - fixed: The 'transparent' line flag did not work due to a leftover OPAQUE constant where floats were expected. 2017-02-07 00:24:04 +01:00
Christoph Oelckers f77a528e13 - added type checks for DynArray.Copy and Move and fixed parameter processing. 2017-02-07 00:12:55 +01:00
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
Magnus Norddahl 58495ea714 Renamed Clip3DFloors to Clip3D to fix gcc compile error 2017-02-06 16:04:27 +01:00
Magnus Norddahl 7e6c91d73c Remove yslope loopup table and StepColumn 2017-02-06 15:15:09 +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
Rachael Alexanderson 942f90a759 Merge remote-tracking branch 'gzdoom/master' 2017-02-05 16:07:48 -05: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
Rachael Alexanderson 9c50600286 - fix compile errors 2017-02-05 00:53:36 -05:00
Rachael Alexanderson 59f32d497d Merge https://github.com/coelckers/gzdoom
# Conflicts:
#	src/r_things.cpp
#	src/v_draw.cpp
2017-02-05 00:08:01 -05: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
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