Commit graph

7132 commits

Author SHA1 Message Date
Christoph Oelckers
6a150f7248 - fixed seg vertex adjustment (from a commit that wasn't copied to this branch.) and added viewx etc. to a global header . 2016-04-02 20:24:51 +02:00
Christoph Oelckers
3db90ff4c1 - removed all remaining fixed point methods from AActor.
- removed all calls to fixed point vertex access methods in p_setup.cpp.

# Conflicts:
#	src/p_setup.cpp
2016-04-02 20:14:58 +02:00
Christoph Oelckers
60e25b32a8 - floatified the particles.
This is the last bit of play code that needed to be altered, what's left is the underlying data representations of vertices, linedefs and sectors.

# Conflicts:
#	src/p_setup.cpp
#	src/r_things.cpp
2016-04-02 20:12:08 +02:00
Christoph Oelckers
931774ab38 - fixed some issues with the PathTraverse and sight checking code:
* typo in calculating end position from a trace vector
 * must use floor to convert from floating point block coordinate to block index to account for running off the negative side of the blockmap. (Int cast always rounds toward zero which is wrong here.)
 * bad calculation of sight checking slopes - they has the actor's z coordinate duplicated.

- fixed scaling of automap markers.
2016-04-02 20:10:48 +02:00
Christoph Oelckers
b3659305ce - fixed typo in line portal interpolation path calculation. 2016-04-02 20:10:32 +02:00
Christoph Oelckers
96a02f922d - removed R_PointToAngle2 call in P_Setup.cpp.
- removed long inactive node saving code in p_writemap.cpp. If this file is ever made operational again it will be with UDMF output.
2016-04-02 20:10:25 +02:00
Christoph Oelckers
046ee3e803 - removed a few leftover FRACUNITs. 2016-04-02 20:07:18 +02:00
Christoph Oelckers
bb13590e07 - make viewx etc. global.
- a few minor optimizations.
2016-04-02 20:07:02 +02:00
Christoph Oelckers
ccfb2ac233 - fixed quake checks. 2016-04-01 12:58:46 +02:00
Christoph Oelckers
8680391e0b - floatified the global view variables.
The software renderer still uses internal copies of the fixed point version.
2016-04-01 12:22:16 +02:00
Christoph Oelckers
a5e14425aa - fixed angular interpolation of skybox viewpoints. 2016-04-01 11:55:37 +02:00
Christoph Oelckers
a27181cb0b - partial adjustments.
No point changing all the viewx/y/z stuff when that is about to get floatified next.
2016-03-31 21:42:27 +02:00
Christoph Oelckers
466c4c75df Merge branch 'floatcvt' of https://github.com/rheit/zdoom into floatcvt
# Conflicts:
#	src/actor.h
2016-03-31 21:24:26 +02:00
Christoph Oelckers
a93296be80 - removed most of the deleted function declarations. 2016-03-31 21:20:45 +02:00
Christoph Oelckers
6445615b5d - fixed the sound location calculations which got somewhat broken by the constant changes during the conversion. 2016-03-31 21:13:32 +02:00
Christoph Oelckers
8f5ac9b73f - fixed a float/fixed mixup in R_PointOnSideSlow. 2016-03-31 17:44:05 +02:00
Christoph Oelckers
9412ce45d6 - floatified portals.cpp and most of p_maputl.cpp. 2016-03-31 16:52:25 +02:00
Christoph Oelckers
6b065b8074 - floatified FBoundingBox. 2016-03-31 10:38:54 +02:00
Christoph Oelckers
c6ada2397c - adjustments. 2016-03-31 09:50:59 +02:00
Christoph Oelckers
a5c4e2dab3 Merge branch 'floatcvt' of https://github.com/rheit/zdoom into floatcvt
# Conflicts:
#	src/r_utility.h
2016-03-31 09:24:41 +02:00
Christoph Oelckers
8fd76f0c8a - floatified bmaporgx and bmaporgy, allowing to remove the gross overflow prevention hacks present in the blockmap code. 2016-03-31 09:23:14 +02:00
Christoph Oelckers
f41afde545 - floatified line_t::bbox. 2016-03-31 01:22:49 +02:00
Christoph Oelckers
7a2c8fdc1c - floatified po_man.cpp and the remaining bits in p_lnspec.cpp 2016-03-31 00:41:21 +02:00
Christoph Oelckers
1666418510 - fixed incomplete interpolation floatification. 2016-03-30 20:05:29 +02:00
Christoph Oelckers
cf44d2e37a - adjustments. 2016-03-30 20:01:44 +02:00
Christoph Oelckers
251172c7f0 Merge branch 'floatcvt' of https://github.com/rheit/zdoom into floatcvt
# Conflicts:
#	src/r_data/r_interpolate.cpp
2016-03-30 18:24:22 +02:00
Christoph Oelckers
d54a2364b9 - floatified r_interpolate.cpp. 2016-03-30 17:11:31 +02:00
Christoph Oelckers
27bad66f61 - floatified the remaining parts of p_sector.cpp. 2016-03-30 16:51:19 +02:00
Christoph Oelckers
66929cbaff - floatified p_trace, p_slopes and p_udmf.cpp.
- major cleanup of unused code.
2016-03-30 16:30:22 +02:00
Christoph Oelckers
ced30e7bbb - fixed a few oversights.
- switched p_buildmap to use the floating point variants of the linedef/sector init methods.
2016-03-30 11:25:02 +02:00
Christoph Oelckers
c2e2910399 - fixed copy/paste error in P_GetFriction resulting in incorrect calculation of movefactor. 2016-03-30 10:08:06 +02:00
Christoph Oelckers
0eb35d6c6e Merge branch 'master' into floatcvt
# Conflicts:
#	src/dobjtype.cpp
#	src/dobjtype.h
2016-03-30 09:47:25 +02:00
Christoph Oelckers
77f2530236 - floatified the sector plane movers and removed some of the ZatPoint conversion cruft. 2016-03-30 09:41:46 +02:00
Randy Heit
1648a71e45 Add support for Name and String types to ACS's GetUserVariable
- Reading one of these types will copy its value into the global ACS string
  table and return the index.
2016-03-29 22:49:12 -05:00
Randy Heit
b37ef48e99 Allow ACS's GetUserVariable to access non-user variables
- Since DECORATE already allows reading all declared variables in a class,
  where's the utility in keeping this restriction in ACS?
- Variables must still be numeric types.
- SetUserVariable is still restricted to user variables only.
2016-03-29 22:42:04 -05:00
Randy Heit
35121544b4 Add float support to ACS's Get/SetUserVariable functions
- "Support" means that setting one will convert from fixed point to
  floating point, and reading one will do the reverse.
2016-03-29 22:41:38 -05:00
Randy Heit
b6e3358b1c Add A_SetUserVarFloat and A_SetUserArrayFloat 2016-03-29 22:41:37 -05:00
Randy Heit
299019ea15 Add GetValueFloat() for numeric PTypes 2016-03-29 22:41:37 -05:00
Randy Heit
feb5ab31cc Add double variants of SetValue() for numeric PTypes 2016-03-29 22:05:25 -05:00
Randy Heit
e2711a74e7 Add float user vars for DECORATE
- PClass::Extend now takes alignment into consideration.
2016-03-29 21:48:57 -05:00
Christoph Oelckers
cadd8f2d4a - made adjustments for changes to linedef delta. 2016-03-29 16:31:58 +02:00
Christoph Oelckers
e4d68e17fd Merge branch 'floatcvt' of https://github.com/rheit/zdoom into floatcvt 2016-03-29 16:14:06 +02:00
Christoph Oelckers
ff0b371582 - made the linedef deltas private and only accessible through access functions.
Now everything should be in place to remove the fixed point math from the rest of the play code.
2016-03-29 16:13:16 +02:00
Christoph Oelckers
59bb003285 - GL adjustments for plane changes. 2016-03-29 13:45:50 +02:00
Christoph Oelckers
37e6429cf3 Merge branch 'floatcvt' of https://github.com/rheit/zdoom into floatcvt
# Conflicts:
#	src/r_data/r_interpolate.cpp
2016-03-29 13:12:15 +02:00
Christoph Oelckers
84d547adfb - fixed: The check if a line is in range of a bounding box must be exclusive.
Unfortunately I picked the one incorrect version of this check (from A_PainShootSkull) when moving it to an inline function.
2016-03-29 13:10:15 +02:00
Christoph Oelckers
25f5e8449a - replaced all direct access to sector plane coefficients with wrapper functions. 2016-03-29 12:40:41 +02:00
Christoph Oelckers
a87c292f10 - adjustments to GL code for texture scale and vertex coordinate access. 2016-03-29 11:26:33 +02:00
Christoph Oelckers
ae14268989 Merge branch 'floatcvt' of https://github.com/rheit/zdoom into floatcvt
# Conflicts:
#	src/r_utility.cpp
2016-03-29 10:09:03 +02:00
Christoph Oelckers
c7ae4688a3 - replaced all direct access to vertex coordinates with wrapper functions.
So that code replacement can be done piece by piece and not all at once.
2016-03-29 10:07:06 +02:00
Christoph Oelckers
8d071f85b3 - use float vectors for prediction. 2016-03-29 02:06:05 +02:00
Christoph Oelckers
c776a0fb54 - floatification of p_teleport and p_switch.cpp. 2016-03-29 00:31:59 +02:00
Christoph Oelckers
0a238e7e18 Merge branch 'master' into floatcvt 2016-03-28 22:53:26 +02:00
Christoph Oelckers
a92de84cf7 - this stuff should not have been saved... 2016-03-28 22:53:10 +02:00
Christoph Oelckers
0283df4c42 - restored floating point pusher code. 2016-03-28 22:47:45 +02:00
Christoph Oelckers
9145181b79 Merge branch 'master' into floatcvt 2016-03-28 22:25:36 +02:00
Christoph Oelckers
8c3c18b008 - forgot to add this... 2016-03-28 22:25:12 +02:00
Christoph Oelckers
d87f861e87 Merge branch 'master' into floatcvt
# Conflicts:
#	src/p_spec.cpp
#	src/p_spec.h
2016-03-28 22:23:41 +02:00
Christoph Oelckers
263051a77b - removed a few unnecessary #includes. 2016-03-28 22:20:25 +02:00
Christoph Oelckers
59920095af - separated pushers into their own file. 2016-03-28 21:57:22 +02:00
Christoph Oelckers
05504b65d2 - floatified p_scroll.cpp
While testing this it became clear that with the higher precision of doubles it has to be avoided at all costs to compare an actor's z position with a value retrieved from ZatPoint to check if it is standing on a floor. There can be some minor variations, depending on what was done with this value. Added isAbove, isBelow and isAtZ checking methods to AActor which properly deal with the problem.
2016-03-28 21:04:46 +02:00
Christoph Oelckers
a46a4c81b1 Merge branch 'master' into floatcvt
# Conflicts:
#	src/p_lnspec.cpp
#	src/p_spec.cpp
#	src/p_spec.h
2016-03-28 17:46:19 +02:00
Christoph Oelckers
fd46909b1a - made partial floarting point aliases for EV_DoCeiling so that all the calls in p_lnspec.cpp match the master branch for merging. 2016-03-28 17:41:13 +02:00
Christoph Oelckers
b5f333798e - moved all scroller related code into its own file, including the DScroller class definition. 2016-03-28 17:27:55 +02:00
Christoph Oelckers
a99ebc2356 - floatified p_sight.cpp. 2016-03-28 16:22:21 +02:00
Christoph Oelckers
5e1c79c050 - floatified the rest of p_mobj_cpp and removed a large part of the conversion cruft from the headers that was needed to keep the code compileable. 2016-03-28 12:03:07 +02:00
Christoph Oelckers
2fff7005ad - floatified more of p_mobj.cpp 2016-03-28 10:01:24 +02:00
Christoph Oelckers
217414cb1c -floatified P_ExplodeMissile and P_XYMovement 2016-03-28 00:55:57 +02:00
Christoph Oelckers
7b256dda3d - did the last remaining bits in p_map.cpp. 2016-03-27 22:49:59 +02:00
Christoph Oelckers
8b4a33794a - floatified P_ChangeSector. 2016-03-27 22:35:58 +02:00
Christoph Oelckers
fe744a589c - floatified P_RadiusAttack. 2016-03-27 21:11:17 +02:00
Christoph Oelckers
0baaa3cf63 - floatified P_LineAttack, P_TraceBleed and P_UseLines. 2016-03-27 20:58:01 +02:00
Christoph Oelckers
eae6f7e9ea - floatified P_AimLineAttack. 2016-03-27 17:58:18 +02:00
MajorCooke
4eee1c7af1 Fixed: A_FaceMovementDirection was backwards. 2016-03-27 14:21:07 +02:00
Christoph Oelckers
228c447a02 - fixed: A_FireCustomMissile used the player position as offset. 2016-03-27 14:20:14 +02:00
Christoph Oelckers
6ab95da2fc - fixed copy/paste coordinate screwup in moving camera code. 2016-03-27 14:11:46 +02:00
Christoph Oelckers
23d311dd04 - floatified P_CheckSlopeWalk. It should be noted that this function is one place where full double precision is too high and needed to be truncated. 2016-03-27 14:07:35 +02:00
Christoph Oelckers
26ff2f73d7 - floatified P_TryMove and the sliding and bouncing code. 2016-03-27 13:29:58 +02:00
Christoph Oelckers
1877eca2ab - more floatification of p_map, plus some stuff used in those functions. 2016-03-27 01:06:54 +01:00
Christoph Oelckers
6e93264016 - started floatification on p_map.cpp. 2016-03-26 23:19:38 +01:00
Christoph Oelckers
00ea8662b8 - floatification of p_enemy and p_interaction.cpp. 2016-03-26 20:59:35 +01:00
Christoph Oelckers
0c39bdd04c - floatified texture scale values. 2016-03-26 13:37:44 +01:00
Christoph Oelckers
dabed04d2a - floatification of p_3dfloors, p_3dmidtex and p_acs.cpp plus some leftovers.
- removed all references to Doom specific headers from xs_Float.h and cmath.h.
2016-03-26 12:36:15 +01:00
Christoph Oelckers
35bb686281 - floatification of sector_t::centerspot. 2016-03-26 09:38:58 +01:00
Christoph Oelckers
30b57fd7b0 - floatification of G_CheckSpot and a few other things. 2016-03-26 09:28:00 +01:00
Christoph Oelckers
696fde69b8 - moved the bot support code from AActor::Tick to a subfunction in the bot sources. No need to pollute a main game file with this stuff. 2016-03-26 01:30:28 +01:00
Christoph Oelckers
c2e7858e05 - looks like the oldz parameter in UpdateWaterLevel is not needed at all... 2016-03-26 01:13:36 +01:00
Christoph Oelckers
558e04cb99 - safety commit. 2016-03-26 01:03:02 +01:00
Christoph Oelckers
e42b0171b3 - floatification of bot code. 2016-03-26 00:34:56 +01:00
Christoph Oelckers
8e13d13916 - floatified the automap. 2016-03-25 21:54:59 +01:00
Christoph Oelckers
fb8e03d5eb - floatified FLineOpening.
- some smaller fixes.
2016-03-25 18:43:37 +01:00
Christoph Oelckers
2cf3b20ea8 - floatified the last remaining AActor member variable 'damagemultiply'. 2016-03-25 16:30:31 +01:00
Christoph Oelckers
1125101b37 - floatified AActor::Prev plus the stuff using it.
- rewrote some coordinate functions in AActor to use real float math instead of converting back and forth between float and fixed.
2016-03-25 16:25:25 +01:00
Christoph Oelckers
2b33601d00 - The fixed_t type for the VM also is not needed any longer and was removed. 2016-03-25 15:50:39 +01:00
Christoph Oelckers
8cdfbeea01 - made AActor::__pos a genuine float vatiable. 2016-03-25 15:43:20 +01:00
Christoph Oelckers
b958a5d748 - adjustments in GL code. 2016-03-25 15:14:09 +01:00
Christoph Oelckers
ad74493d5e Merge branch 'floatcvt' of https://github.com/rheit/zdoom into floatcvt 2016-03-25 14:56:40 +01:00
Christoph Oelckers
3a598d672e - removed the angle_t type from the VM, now that nothing in the interface requires it anymore. 2016-03-25 14:55:01 +01:00
Christoph Oelckers
8b6b5e7b1c - preparation for upcoming work: rename the fixed point versions of PosRelative. 2016-03-25 14:18:50 +01:00
Christoph Oelckers
a3b687bc4e - renamed PARAM_DANGLE macros to PARAM_ANGLE, now that the old angle_t type is no longer used in the VM interface. 2016-03-25 13:23:07 +01:00
Christoph Oelckers
21340c6eba - floatified the rest of thingdef_codeptr.cpp and got rid of the remaining fixed_t and angle_t parameters in VM-accessed function. The VM should now be free of those types completely. 2016-03-25 12:57:22 +01:00
Christoph Oelckers
b70fee8ed8 - changed the means how to control the slowdown of crushing ceilings encountering an obstacle and corrected a few mistakes in the implementation
* there is a new crushing mode 3, which means that the crusher will always slow down if it hits an obstacle.
* crushing mode 1 (Doom mode) will never slow down.
* crushing mode 0 (compatibility) will only slow down for the specials that did so before, and only if both up and downspeed are 8 and the game is not Hexen. The following specials are affected:
  * Ceiling_LowerAndCrush
  * Ceiling_LowerAndCrushDist
  * Ceiling_CrushAndRaise
  * Ceiling_CrushAndRaiseA
  * Ceiling_CrushAndRaiseDist
  * Ceiling_CrushAndRaiseSilentA
  * Ceiling_CrushAndRaiseSilentDist
* Generic_Crusher was fixed to act like in Boom: Not only a speed value of 8 will cause slowdown, but all speed values up to 24.
* Hexen crushing mode will never cause slowdowns because Hexen never did this. (which also makes no real sense, considering that the crusher waits for the obstacle to die.)
2016-03-25 02:08:22 +01:00
Christoph Oelckers
f76524f459 - some cleanup on P_RailAttack plus a bit of parameter floatification in thingdef_codeptr.cpp 2016-03-25 00:59:14 +01:00
Christoph Oelckers
4d22b346f4 - floatified the remaining fixed point variables accessible through DECORATE. PROP_FIXED_PARAM is no longer used anywhere. 2016-03-24 23:50:29 +01:00
Christoph Oelckers
7a26318bf0 - floatified friction. 2016-03-24 22:50:03 +01:00
Christoph Oelckers
6c9e5b03c8 - floatified meleerange, pushfactor and radiusdamagefactor, 2016-03-24 21:31:04 +01:00
Christoph Oelckers
e077510773 - floatified MaxTargetRange and MeleeThreshold. 2016-03-24 20:56:59 +01:00
Christoph Oelckers
c66ff5939d - floatified AActor::bouncefactor and wallbouncefactor. 2016-03-24 20:43:35 +01:00
Christoph Oelckers
8add60ed38 - fixed: Getting the nearest ceiling height failed for height-less actors. 2016-03-24 19:24:33 +01:00
MajorCooke
a9ef8cc637 Fixed A_QuakeEx falloff not working properly. 2016-03-24 19:04:51 +01:00
Christoph Oelckers
4874fe2361 Merge branch 'master' into floatcvt 2016-03-24 18:32:47 +01:00
MajorCooke
c8ba6f0611 Fixed quake falloff not working in floatcvt branch. 2016-03-24 18:30:23 +01:00
Christoph Oelckers
75bcec411e - fixed: The portal blockmap's AddLineIntercepts methods needs to check the block's range. 2016-03-24 18:26:27 +01:00
Christoph Oelckers
deafa0bce0 - fixed: The 'open door in 5 minutes sector type had the order of parameters wrong, due to a bad function prototype. 2016-03-24 18:01:01 +01:00
Christoph Oelckers
59406c1273 - adjust. 2016-03-24 16:40:15 +01:00
Christoph Oelckers
f568a35756 Merge branch 'floatcvt' of https://github.com/rheit/zdoom into floatcvt
# Conflicts:
#	src/win32/fb_d3d9.cpp
2016-03-24 16:38:09 +01:00
Christoph Oelckers
41387622f2 - changed angle parameter of FillSimplePoly. 2016-03-24 16:36:43 +01:00
Christoph Oelckers
5bf806e478 - renamed some fixed point stuff in the texture composition code. 2016-03-24 16:16:45 +01:00
Christoph Oelckers
37bb816850 - some adjustments for voxels. 2016-03-24 16:10:17 +01:00
Christoph Oelckers
86d1b2955a - floatified most of r_data (The interpolations cannot be done yet.) 2016-03-24 14:11:41 +01:00
Christoph Oelckers
379d5bc0c5 - fixed some issues with dynamic lights caused by the floatification changes 2016-03-24 13:38:37 +01:00
Christoph Oelckers
609defe078 Merge branch 'floatcvt' of https://github.com/rheit/zdoom into floatcvt
# Conflicts:
#	src/r_defs.h
2016-03-24 12:48:05 +01:00
Christoph Oelckers
f62c988a0e - adjustments for next update. 2016-03-24 12:47:08 +01:00
Christoph Oelckers
09d8b4af80 - changed I_GetTimeFrac to return a double instead of a fixed_t. 2016-03-24 12:00:21 +01:00
Christoph Oelckers
c83ad9df6c - removed special treatment for not using stdint.h with MSVC. Current compiler versions have this file.
- removed use of finesine for creating the player backdrop for the menu display. This mostly uses the code from the old 2.0 floating point version but fixes some of the constants in there which were not correct.
2016-03-24 11:30:11 +01:00
Christoph Oelckers
eac0bfeaeb - removed fixed_t and associated utility macros from FraggleScript code. 2016-03-24 09:16:35 +01:00
Christoph Oelckers
4a79602325 - floatification of g_shared.
- rewrote FraggleScript's movecamera function because it was utterly incomprehensible.
2016-03-24 01:46:11 +01:00
Christoph Oelckers
6557f3b8c8 - floatified quake and weapon code 2016-03-23 20:45:48 +01:00
Christoph Oelckers
2dbd79cc8d - floatified the return data from Trace(). 2016-03-23 18:07:04 +01:00
Christoph Oelckers
70d87f94f2 Merge branch 'master' into floatcvt
# Conflicts:
#	src/p_acs.cpp
#	src/r_utility.cpp
#	src/thingdef/thingdef_codeptr.cpp
#	src/version.h
2016-03-23 14:15:24 +01:00
MajorCooke
b16e696157 - Added offset and angle parameters to A_CheckBlock.
- Includes 2 flags, affixed by CBF_: AbsolutePos, and AbsoluteAngle.
- AbsolutePos: Absolute position of where to check.
- AbsoluteAngle: Angle parameter is used as is, not added onto the actor's current angle.
2016-03-23 14:05:31 +01:00
Christoph Oelckers
0d1fbcf65f - flattened the following commits by Major Cooke:
* Added falloff parameter to A_QuakeEx.
- Treated just like A_Explode's 'fullradiusdamage' parameter, where the quake will fall off from this distance on out to the edge. Default is 0, which means no falloff.
- Credits to MaxED and Michaelis for helping.

* - Added HighPoint parameter to QuakeEx.
- Allows fine tuning of where the quake's maximum or minimum occurs, in tics. This must be a range between [1, duration).
- For up or down scaling quakes, this sets the quake to reach maximum sooner or start minimizing later.
- For both, this indicates when the strongest will occur. Default is 0, or in the middle.

The original commits were nearly impossible to find in the convoluted commit tree, so I think it's preferable to have one clean commit instead.
2016-03-23 14:03:10 +01:00
Christoph Oelckers
7c87479eea - parameter rework of several spawning functions. 2016-03-23 13:31:12 +01:00
Christoph Oelckers
f60eac8dc0 - floatified FMapThing, dropoffz and GetBobOffset 2016-03-23 12:21:52 +01:00
Christoph Oelckers
f8cf4bcf3d - trimmed down the AActor Spawn interface and removed all non-float variants.
This still needs some cleanup in a few calling functions.
2016-03-23 10:42:41 +01:00
Christoph Oelckers
2a0d5a621a - floatified some stuff in g_shared.
Note: This commit does not handle z-spawn positions correctly.
2016-03-23 00:53:09 +01:00
Christoph Oelckers
eadecaf407 - adjustments to GL renderer for decal and alpha changes.
- handle portals in sprite lighting, but do not use the playsim's utility functions for efficiency.
2016-03-22 23:19:21 +01:00
Christoph Oelckers
eee5143b26 Merge branch 'floatcvt' of https://github.com/rheit/zdoom into floatcvt
# Conflicts:
#	src/r_defs.h
2016-03-22 22:12:51 +01:00
Christoph Oelckers
301f5abadc - floatified the decal code. 2016-03-22 22:07:38 +01:00
Christoph Oelckers
6b3c0ecbd3 - floatified viewheight variables and some related code. 2016-03-22 18:06:08 +01:00
Christoph Oelckers
af427b80bd - did some cleanup and consolidation on damage factor code while converting it all to floating point.
- made armor properties floating point.
2016-03-22 16:35:41 +01:00
Christoph Oelckers
1eb106e2c5 - floatification of some alpha parameters. 2016-03-22 13:35:16 +01:00
Christoph Oelckers
bd7df76059 - fixed compilation of AActor::alpha 2016-03-22 12:56:20 +01:00
Christoph Oelckers
19b85f806e Merge branch 'floatcvt' of https://github.com/rheit/zdoom into floatcvt
# Conflicts:
#	src/actor.h
2016-03-22 12:44:40 +01:00
Christoph Oelckers
a652c061f6 - converted g_strife to full floating point use, except the floor height changing stuff in A_LightGoesOut. 2016-03-22 12:42:27 +01:00
Christoph Oelckers
5a4b974187 - float stuff in g_raven.
- fixed some problems in previous commits.
2016-03-22 02:29:43 +01:00
Christoph Oelckers
f3d6ca04fc - some floating point changes in t_func.cpp 2016-03-22 01:19:24 +01:00
Christoph Oelckers
cf79e1cb6d - fixed some leftover fixed point remnants in g_hexen.
- made the full-coordinate version of P_SpawnPlayerMissile use float coordinates.
2016-03-22 00:30:56 +01:00
Christoph Oelckers
4155e84a1c - made player_t::crouchoffset and FPlayerStart's coordinates doubles and added a float version of divline_t so that I could complete the conversion of Hexen's game code.
- consolidated the actor based damage factor code which was repeated multiple times in various damage inflicting functions.
2016-03-22 00:06:58 +01:00
Christoph Oelckers
c830801da3 - g_hexen almost done except for 3 things that require more extensive changes. 2016-03-21 22:20:10 +01:00
Christoph Oelckers
f1602882c8 - added a no-parameter Spawn function for inventory items that never show on the map, because the coordinate and replacement parameters will always be 0 for them.
- started converting g_hexen.

Most importantly this removes CHolyWeave as it is just a specialized version of A_Weave with far more convoluted use of parameters.
2016-03-21 14:00:05 +01:00
Christoph Oelckers
4e60ea0252 - made AActor::alpha a floating point value
- replaced some uses of FRACUNIT with OPAQUE when it was about translucency.
- simplified some overly complicated translucency multiplications in the SBARINFO code.
2016-03-21 12:18:46 +01:00
Christoph Oelckers
b29058c1ab - converted the last fixed point remnants in g_heretic. 2016-03-21 10:24:52 +01:00
Christoph Oelckers
b54b34a512 - adjustments for floating point changes. 2016-03-21 02:57:02 +01:00
Christoph Oelckers
48afdd7dcb Merge branch 'floatcvt' of https://github.com/rheit/zdoom into floatcvt
# Conflicts:
#	src/CMakeLists.txt
#	src/actor.h
2016-03-21 01:34:39 +01:00
Christoph Oelckers
904a027bd2 Merge branch 'master' of https://github.com/rheit/zdoom 2016-03-21 01:31:32 +01:00
Christoph Oelckers
11e613f578 Merge branch 'master' into floatcvt
# Conflicts:
#	src/g_doom/a_revenant.cpp
2016-03-21 01:28:50 +01:00
Christoph Oelckers
a66f9cbf5a - fixed: angular spread for Strife's assault gun was wrong, 2016-03-21 01:26:06 +01:00
Christoph Oelckers
2d2eeb49f0 - make weapon sprite offsets floats. 2016-03-21 01:16:34 +01:00
Christoph Oelckers
1ff4bb419c - made AActor::gravity and FMapThing::gravity floats. 2016-03-21 00:51:19 +01:00
Christoph Oelckers
7ebb96f15c - use one of the new floating point special variables to store the portal plane height of the skybox things. 2016-03-21 00:05:44 +01:00
Christoph Oelckers
289cdfbefd - made AActor::floorclip a double. 2016-03-20 23:42:27 +01:00
Randy Heit
f38dbc5055 Use LHS/RHS matching for some simple SAFE_APPENDs 2016-03-20 15:57:02 -05:00
Randy Heit
071a5718cc Use /*X-overwrites-A*/ wherever X = A; appears in the grammar 2016-03-20 15:57:01 -05:00
Randy Heit
c0dd39ffd4 Use %token_class to define intconst 2016-03-20 15:57:01 -05:00
Randy Heit
260cf6848f Use LHS and RHS label matching in the grammars where possible 2016-03-20 15:57:01 -05:00
Randy Heit
baa6dc0568 Add zcc-parse.c and .h to the ZScript project folder 2016-03-20 15:57:00 -05:00
Christoph Oelckers
afa5f22b31 - added two floating point special variables, because the two existing ones are integers and unusable for storing doubles. 2016-03-20 21:51:09 +01:00
Christoph Oelckers
cff8e51811 - converted AActor::height to double. 2016-03-20 20:55:06 +01:00
Randy Heit
2a394d0cb8 Do not copy lemon grammars to the output directory
- Having my edits to the grammar disappear because Visual Studio had
  opened the copy instead of the original was super annoying. Using the -C
  option with Lemon, this problem is avoided because there are no copies
  to worry about.
2016-03-20 14:34:44 -05:00
Christoph Oelckers
8362c6a856 - conversion of floorz to double. 2016-03-20 19:52:35 +01:00
Randy Heit
1c592c9601 Lemon update 2009-11-03 19:18:32 on branch trunk
- Enhancements to lemon to generate more compact action tables and to avoid making array bounds tests that can never fail on action table calculations. (user: drh)
- Update zcc-parse.lemon: YY_SZ_ACTTAB is now YY_ACTTAB_COUNT
2016-03-20 13:06:43 -05:00
Randy Heit
288f01a0c2 GCC fixes for zcc_compile.(cpp|h) 2016-03-20 11:34:41 -05:00
Christoph Oelckers
b81080ce08 - converted most of g_heretic to float. 2016-03-20 16:51:42 +01:00
Christoph Oelckers
0bdb65c477 - made AActor::radius a double.
This means that all files in g_doom are now fully converted.
2016-03-20 15:04:13 +01:00
Christoph Oelckers
ec58e70078 - replaced ceilingz with a floating point variable, also in FCheckPosition. 2016-03-20 13:32:53 +01:00
Christoph Oelckers
6e2421bd37 - use a set of specific conversion functions to convert from and to ACS script variables so that these cases do not get caught when searching for fixed point math in the source. 2016-03-20 12:37:21 +01:00
Christoph Oelckers
ada5097e34 - converted scale variables in AActor, FMapThing and skin to float. 2016-03-20 12:13:00 +01:00
Christoph Oelckers
5875e91f39 - finished conversion of most of g_doom.
Only things left here are accesses to AActor::ceilingz and radius in A_PainShootSkull, plus scaleX and scaleY in the ScriptedMarine sprite setting code.
Most is still using wrapper functions around the fixed point versions.
2016-03-20 10:52:10 +01:00
Christoph Oelckers
f1d2c7755a - fixed z-offset handling of A_SkelMissile.
I can't believe I missed this for more than 10 years, considering that A_CustomMissile explicitly implements this case:
It makes a crucial difference whether P_SpawnMissileZ is used or the actual z-position is temporarily changed.
Reverted this function to the position changing method of the original.
2016-03-20 02:08:05 +01:00
Christoph Oelckers
a4f5846c7c - replaced all uses of P_ThrustMobj with the already implemented AActor::Thrust method and deleted this function.
- for quakes, making a distinction between circular and elliptic thrust is pointless, so the checks were removed and both paths consolidated. The elliptic code will do exactly the same for circles and there isn't even a performance difference.
2016-03-20 01:25:47 +01:00
Christoph Oelckers
a43dccaa86 Merge branch 'master' into floatcvt
# Conflicts:
#	src/g_hexen/a_heresiarch.cpp
#	src/g_shared/a_quake.cpp
2016-03-20 00:56:09 +01:00
Christoph Oelckers
51b05d331d - replaced AActor::vel and player_t::Vel with a floating point version.
- Converted P_MovePlayer and all associated variables to floating point because this wasn't working well with a mixture between float and fixed.

Like the angle commit this has just been patched up to compile, the bulk of work is yet to be done.
2016-03-20 00:54:18 +01:00
Christoph Oelckers
0ef9ee23b1 - fixed: When the intensity values of DEarthquake were converted to fixed point, its uses in DEarthquake::Tick were not changed along. 2016-03-19 12:01:10 +01:00
Christoph Oelckers
2adf8d524c - fixed: A_SpawnFizzle used the 'speed' property incorrectly.
This is now a fixed point value, even for monsters, so using it as a modulus on a random value cannot possibly work.
2016-03-19 09:36:20 +01:00
Randy Heit
aaae9f2e05 Store known but uncompiled nodes in the symbol table
- Don't bother keeping track of uncompiled nodes in a special table. Use
  the regular symbol table instead. This should in the future make
  compiling nodes referenced deeper than (and before) their definitions
  fairly straightforward.
- Also, break up the compiler's Message() function into Warn() and Error()
  and get rid of zcc_errors.h. I can't really see having a set of error
  numbers being useful.
2016-03-18 19:34:32 -05:00
Christoph Oelckers
51a98d0e5d - cleaned up the mugshot code's angle checks (I hope these are correct because the old code was so confusing...) 2016-03-18 10:08:18 +01:00
Christoph Oelckers
f332a098cd - reworked calls to P_SpawnPlayerMissile, P_AimLineAttack and P_LineAttack to use floating point angles. 2016-03-18 00:43:05 +01:00
Christoph Oelckers
39de225fa7 - restored old FaceMovementDirection. 2016-03-17 00:46:12 +01:00
Christoph Oelckers
aa09cbdada - renamed some functions and fixed a few more conversion errors. 2016-03-17 00:07:37 +01:00
Christoph Oelckers
ec3be2531a Merge branch 'master' into float
# Conflicts:
#	src/g_hexen/a_fighterplayer.cpp
2016-03-16 22:45:55 +01:00
Christoph Oelckers
9b134a78e3 - fixed: The TEXTURES parser wanted a redundant comma after parsing a color. 2016-03-16 22:42:41 +01:00
Christoph Oelckers
9b1442915f - fixed: AdjustPlayerAngle should not use the angle that gets passed in the attack target struct. This is the actual angle of the attack but this function needs to adjust to the actual direction between player and victim. 2016-03-16 22:38:08 +01:00
Christoph Oelckers
b140d71c49 - several fixes. 2016-03-16 22:29:35 +01:00
alexey.lysiuk
b20956e207 Made FMOD Ex stream buffer size customizable
Use snd_streambuffersize to set size of stream buffer in KB, default is 64
See http://forum.zdoom.org/viewtopic.php?t=51230
2016-03-16 22:15:13 +02:00
Christoph Oelckers
29a7fe33f3 - fixed some minor issues found during reviewing the code. 2016-03-16 14:10:13 +01:00
Christoph Oelckers
671291227e - first stage of converting actor angles to float complete
Patched up everything so that it compiles without errors again. This only addresses code related to some compile error. A large portion of the angle code still uses angle_t and converts back and forth.
2016-03-16 12:41:26 +01:00
alexey.lysiuk
91ad7f5f2e Fixed broken Strife conversations
Check for in-combat flag was inverted
See http://forum.zdoom.org/viewtopic.php?t=51224
2016-03-16 12:37:41 +02:00
alexey.lysiuk
1f64d7ee22 Fixed wrong starting frame for wipe animation
Menu graphics appeared in starting frame with hardware renderer only
Software renderer was not affected as it reads pixels from front buffer instead of back buffer like OpenGL counterpart did
See http://forum.drdteam.org/viewtopic.php?t=6857
2016-03-15 11:49:56 +01:00
Christoph Oelckers
c64eee5b15 Merge branch 'master' into float
# Conflicts:
#	src/g_heretic/a_hereticweaps.cpp
#	src/p_map.cpp
#	src/p_mobj.cpp
#	src/p_things.cpp
#	src/portal.cpp
2016-03-15 00:16:13 +01:00
Christoph Oelckers
f4f489b33d Merge branch 'master' of https://github.com/rheit/zdoom 2016-03-14 22:02:58 +01:00
Blue-Shadow
a07f264782 Added a NULL check for activator in Warp(). 2016-03-14 20:52:44 +03:00
Christoph Oelckers
d07bf08e56 - fixed: 3D floor ceiling calculation didn't take into account that an actor's top may just be slightly inside a 3D floor and returned the next highest one instead.
For floors this change is deliberately not done because it might cause problems with the movement code.
2016-03-14 16:38:17 +01:00
alexey.lysiuk
801ac9128a Replaced comparisons with assignments in 3D floor tracing
No more 'equality comparison result unused' warnings
2016-03-14 01:25:57 +01:00
alexey.lysiuk
6c94c49d6f Removed extra Printf() conversion specification
No more 'more % conversions than data arguments' warning
2016-03-14 01:25:56 +01:00
Christoph Oelckers
df63dd288a - fixed: Visual-only portals could initiate a teleport. 2016-03-13 21:55:47 +01:00
Christoph Oelckers
448e66f19b - fixed: P_PointInSectorBuggy must handle the single-subsector special case. 2016-03-13 16:57:02 +01:00
Christoph Oelckers
51ab60178a - added portal overlays to automap. 2016-03-13 12:33:58 +01:00
Braden Obrzut
93be5aca05 - Fixed: Modern versions of GCC on PowerPC inserted padding to the end of pragma packed structures.
- Worked aorund modern GCC bug where C++ exceptions in Objective-C++ code would result in an ICE (bug is already on their tracker, but I doubt it will be fixed unless I decide to dig into the issue myself).
- Turn off fused floating point instructions since these can cause slight deviations in floating point code.
- Use -static-libgcc when compiling on the Mac with GCC since we need to use a custom version of GCC to do so now.
- Note: ZDoom will currently still crash on exit on PowerPC since it seems to be deciding that NameManager needs to be destructed before the console commands.
2016-03-13 01:14:08 -05:00
Christoph Oelckers
0040b272ed - fixed portal counting.
This was creating a large number of unused portal groups.
2016-03-13 02:54:55 +01:00
Christoph Oelckers
8b4f4d06ad Merge branch 'zmaster' 2016-03-13 02:32:41 +01:00
Christoph Oelckers
b73d6e42af - fixed: FMultiBlockLinesIterator must reset the current sector when doing the final up and downwards check from the start position. 2016-03-13 02:31:47 +01:00
Randy Heit
8a03b99b9c Use ScriptMessage to warn about missing patches in a TEXTURES texture 2016-03-12 19:23:49 -06:00
Randy Heit
4a295dfa3d Accept constant definitions in structs.
- We already need to handle them for enums, so there's really nothing to
  be gained by not accepting constant definitions directly.
2016-03-12 19:11:34 -06:00
Christoph Oelckers
8c027aef8b - added NULL pointer check to portal rotation calculation function. 2016-03-12 22:38:46 +01:00
Christoph Oelckers
0a92138edf - fixed: The portal link table was not created when there were no sector portals.
- fixed: P_TryMove could loop endlessly over a list of static portals when there was an error during portal creation.

# Conflicts:
#	src/gl/models/gl_models.cpp
#	src/gl/scene/gl_sprite.cpp
2016-03-12 20:36:38 +01:00
Christoph Oelckers
ae1571158c - fixed: The portal link table was not created when there were no sector portals.
- fixed: P_TryMove could loop endlessly over a list of static portals when there was an error during portal creation.
2016-03-12 17:43:36 +01:00
Christoph Oelckers
f0192a2349 Merge branch 'master' of https://github.com/rheit/zdoom 2016-03-12 16:55:59 +01:00
Christoph Oelckers
651817fad7 - made AActor::velx/y/z and player_t::velx/y fixedvec's.
(This commit is 95% search & replace with only a few places where velz was used as a local variable changed.)
2016-03-12 14:11:43 +01:00
Christoph Oelckers
4116719a5a - fixed: P_CheckSplash shifted the fixed_t distance another 16 bits to the left. 2016-03-12 12:34:43 +01:00
alexey.lysiuk
c7c2beee2c Fixed A_Blast parameter type and default values
Default values for strength and speed parameter are fixed type, not integers
Also strength parameter needs to have floating point type
2016-03-12 13:11:46 +02:00
Christoph Oelckers
161d03231a - added custom math routines for reliability. 2016-03-11 15:45:47 +01:00
Christoph Oelckers
7edd5e2dac renamed 'exp' in xlat_parser.y to 'expr' because this gets in the way of searching for calls of the exp(x) function. 2016-03-11 13:43:17 +01:00
Christoph Oelckers
9843f16cc0 - some rework of vectors.h, mostly to remove all those silenced double->float conversions. 2016-03-10 22:36:28 +01:00
Christoph Oelckers
f8ebfb541e - use typedefs for TVector<double> etc.
(Better have this out of the way before messing around with this stuff...)
2016-03-10 20:45:45 +01:00
Randy Heit
2e588c2099 Add missing SEMICOLON to declarator_no_fun 2016-03-10 10:33:19 -06:00
Christoph Oelckers
7de2139e9f Merge branch 'master' of https://github.com/rheit/zdoom 2016-03-10 15:15:59 +01:00
Christoph Oelckers
95d36670cf - that portal check was not correct. 2016-03-10 15:15:37 +01:00
Christoph Oelckers
3d367d585d - did some profiling which revealed that P_PointInSector was called needlessly often. Did some optimization to the MultiBlock iterators to avoid this problem. 2016-03-10 14:22:18 +01:00
alexey.lysiuk
3063312f7f Fixed resurrection distance check
See http://forum.zdoom.org/viewtopic.php?t=51177
2016-03-10 10:25:44 +02:00
Christoph Oelckers
a605913f42 - fixed: When passing through a teleporter or portal that alters the angle, it is not sufficient that P_XYMovement adjusts the position in case a second P_TryMove call is needed, it must also change the precalculated movement vector. 2016-03-09 12:49:49 +01:00
alexey.lysiuk
7134f53638 - fixed: partial transparency wasn't taken into account
Smoothing of edges could mark textures as non-transparent when hqNx upscale filter is used
See http://forum.drdteam.org/viewtopic.php?t=6812
2016-03-09 13:17:42 +02:00
Christoph Oelckers
40ceb0fef6 - fixed: NextHighestCeilingAt and NextLowestFloorAt need to check if a 3D floor is outside the sector's boundaries before reporting it as the best match. 2016-03-09 12:00:07 +01:00
Christoph Oelckers
b3f7a57518 - yet another case of adding a workaround to preserve a side effect in Doom's original movement code that's bound to be inadvertently exploited:
When a spechit results in teleportation, P_TryMove never accounted for that, so that subsequent spechits either failed or succeeded, depending on where the teleport ends up.
With portal-aware positions stored within the spechit this no longer worked, so some handling is needed to revert to the original behavior in case there's no portals to consider.

The ideal solution would have been to stop checking spechits (or to block further teleports) once this happens but the likelihood of some old maps depending on this is high.
2016-03-09 11:44:01 +01:00
Randy Heit
03118d441f Don't use _FPU_GETCW if it won't do what we want
- _FPU_GETCW is defined for more than just x87. Don't use it if the
  control word for the target architecture doesn't support _FPU_EXTENDED
  or _FPU_DOUBLE defined, e.g. pretty much anything but x87. If I had been
  using glibc on PowerPC instead of Apple's libc, I probably would have
  noticed this sooner, since _FPU_GETCW is part of glibc.
2016-03-08 22:00:16 -06:00
Randy Heit
76489e7638 More gracefully handle travelling to a map without matching player starts
- First, don't crash when travelling to a map in a hub that doesn't have
  any player starts that match the position given to Teleport_NewMap (or
  equivalent).
- Seconed, move the player to the location they were at when the left the
  level. At least that way, they shouldn't be in random geometry or off
  the map entirely.
2016-03-08 21:51:12 -06:00
Randy Heit
174e00afe7 Add NULL mthing check to P_SpawnPlayer 2016-03-08 21:42:24 -06:00
Randy Heit
48b6b6e057 Clip portals to viewheight, not screen height
- Aside, but is this even neccessary? The arrays being copied from should
  already be clipped properly.
2016-03-08 19:53:37 -06:00
Christoph Oelckers
03e3410d7f Merge branch 'master' of https://github.com/rheit/zdoom 2016-03-08 21:29:45 +01:00
Christoph Oelckers
015cbb1061 - revert accidentally committed debug code. 2016-03-08 21:29:13 +01:00
Christoph Oelckers
365c192a1d - added portal support for dynamic lights.
This requires fixed offsets so it only works with linked portals.
2016-03-08 21:22:12 +01:00
Christoph Oelckers
0a1e22aa7a - fixed: FPathTraverse::init kills the intercepts array so PortalRelocate needs to store the line before calling that function. 2016-03-08 18:45:52 +01:00
Christoph Oelckers
42521ffd6f - fixed some mixed up variables in a few blockmap iterators. 2016-03-08 18:34:58 +01:00
Christoph Oelckers
024efc9e61 Merge branch 'master' of https://github.com/rheit/zdoom 2016-03-08 15:40:47 +01:00
alexey.lysiuk
209b495e10 Fixed potential crash in DeHackEd loading
The patch content was destructed and then accessed when loading DeHackEd file of old/unsupported version
Do not print the whole patch content to console but only a filename
2016-03-08 16:28:11 +02:00
Christoph Oelckers
899389e6a4 - link actors into blockmap through linked line portals.
Links through sector portals are not done because nearly all the checks can be performed without doing this so if it works without there's no need to add more processing time.
Will have to see if there's cases left where such a link is needed and if so, whether there's better options to do it.

For line portals such links are necessary to have proper collision detection with actors that are currently transitioning the portal.
2016-03-08 14:41:37 +01:00
Christoph Oelckers
9d877f75e3 - second part of last commit. This file was accidentally unselected. 2016-03-08 14:35:36 +01:00
Christoph Oelckers
c2e7123a36 Merge branch 'master' of https://github.com/rheit/zdoom 2016-03-08 13:12:03 +01:00
Christoph Oelckers
1815b076ee - don't show the IWAD picker upon restart. This doesn't work with fullscreen mode. Instead just pick the first IWAD from the list until a better solution can be implemented.
- handle a 'restart' CCMD a bit more controlled. Instead of throwing an exception in the CCMD handler it now just flags D_DoomLoop to return.

If the exception is thrown within the CCMD this can easily happen deep inside the renderer when it calls NetUpdate. But since the software renderer with its use of global variables is not equipped to be yanked out of lile this it could leave broken data behind that caused glitches or even crashes on subsequently played maps.
2016-03-08 13:07:21 +01:00
Christoph Oelckers
e11a0986ce - encountered a strange crash that after changing a map, InSubsector was not NULL and pointing to invalid data. So let's better NULL this variable explicitly each time a render loop is started. 2016-03-08 12:27:01 +01:00
Christoph Oelckers
4ebdcb7b6d - fixed: The result condition of a hitscan subtrace was never checked. 2016-03-08 11:55:40 +01:00
Christoph Oelckers
f852ead99a - fixed: The initial check for ceiling and floor portals must be done when the trace's start position and its sector has been calculated. SightCheck::init is too early for that. 2016-03-08 10:44:03 +01:00
Christoph Oelckers
f35d966799 - don't allow any ceiling portal that has a lower position than a floor portal in the same sector. The will inevitably lead to problematic situations. 2016-03-08 10:09:02 +01:00
Christoph Oelckers
50d2145ba0 - fixed typo in portal init code. 2016-03-08 09:41:54 +01:00
Christoph Oelckers
2cd74118f6 - fixed sight checking through portals.
Notes:
 * It is actually not enough to disable the early-out condition for the current block if there's a portal. It must be disabled for the entire rest of the trace because otherwise the collected lines never get processed.
 * The block bounds check cannot be done globally with portals in the game. The actual trace can easily end up outside the blockmap bounds if portal offsets are factored into the distance between the two actors.
2016-03-08 01:26:13 +01:00
Christoph Oelckers
bd29f0994f - restored accidentally deleted line. 2016-03-07 23:41:16 +01:00
Christoph Oelckers
cc2885c2de - fixed int/fixed_t mixup with P_RadiusAttack's 'bombdistance' parameter. (Why is this thing even an int...?) 2016-03-07 22:05:19 +01:00
Christoph Oelckers
3c25b2c066 - some redesign of P_CheckSight to handle portals.
Portal stuff not tested yet.
2016-03-07 21:59:32 +01:00
Randy Heit
f82c217047 Fixed: In multiplayer, players could spawn at voodoo doll starts
- This could happen in co-op games that did not have enough player starts
  for all the players spawning. Voodoo doll starts were not excluded from
  the set of possible starts as they should have been.
2016-03-07 10:58:16 -06:00
Randy Heit
e277fbe81d Fixed some incorrectness with some Hexen crushing specials
- The following Hexen specials all stop 8 units above the floor:
  * Ceiling_CrushRaiseAndStay
  * Ceiling_CrushAndRaise
  * Ceiling_LowerAndCrush
  We only and Ceiling_LowerAndCrush correct. Clearly, I should have paid
  more attention when the Hexen source was released for the parts that I
  had already reverse engineered.
2016-03-07 10:24:30 -06:00
Randy Heit
8b9a0da5ef That was hard to read 2016-03-07 09:58:52 -06:00
MajorCooke
af50a79e55 - Fixed: ScaleY was not defaulting to ScaleX when specified as 0, which is how the behavior originally was in 2.8. This behavior can now be toggled with a new boolean, 'usezero'. 2016-03-07 09:02:34 -06:00
Christoph Oelckers
fe4bc31d59 - fixed some bad offset calculations. 2016-03-07 11:36:51 +01:00
Randy Heit
72edd7d455 Fixed: GetVarAddrType() bounds check was inverted 2016-03-06 22:17:30 -06:00
Christoph Oelckers
13a7507c4d - should have saved that... 2016-03-07 01:48:13 +01:00
Christoph Oelckers
8f71906fc3 - added portal support to P_RadiusAttack.
This currently only works for linked portals. For other types some major refactoring may be necessary because it not only requires multiple passes of P_RadiusAttack but also an alteration of how sight checks work.
2016-03-07 01:02:48 +01:00
Christoph Oelckers
7d7112f427 - added portal support to A_ThrustImpale, P_PushUp and P_PushDown. 2016-03-07 00:17:52 +01:00
Christoph Oelckers
5175d56129 - made adjustments to P_LineAttack and P_RailAttack to deal with altered angles by passing through a non-parallel portal.
- fixed: P_FindFloorCeiling set the floorsector for a new ceilingheight.

Note: P_DrawRailTrail still needs to be changed, at the moment rail trails through portals will not work correctly.
2016-03-06 21:58:36 +01:00
Christoph Oelckers
90553bb61c - deal with portals in P_AimCamera.
This will most likely need some more testing and refining but at least it should work through line portals now.
2016-03-06 13:10:42 +01:00
Christoph Oelckers
a0b2915b8f - added a heightsec change when aborting the main trace due to having found a target in a subtrace.
- be a bit smarter about what to copy from a subtrace. There's 3 distinct pieces of information here: The hit itself, the CrossedWater setting for Boom-transfers and the CrossedWater setting for 3D floors.

Note: Ideally this should return all water hits it can detect, not just the first one.
2016-03-06 02:07:04 +01:00
Christoph Oelckers
74592334e4 - fixed return conditions of Trace() so that it always returns something valid. Due to the portal related changes the default initialization for TRACE_HitNone must be inside TraceTraverse. 2016-03-06 01:41:52 +01:00
Christoph Oelckers
ae4cc9669b - added line portal support to Trace(). 2016-03-06 01:04:19 +01:00
Christoph Oelckers
983e8bc6a5 - explicitly check NAME_Null in P_FindTerrain so that it cannot get rendered inoperable by mods which hijack this name. This name must be reserved so that there is some means to disable a sector's terrain. 2016-03-05 22:39:53 +01:00
Christoph Oelckers
97577dc2d7 - added sector portal support to Trace()
Note that at the moment only the function itself has been changed, the calling parts still need to be redone.
2016-03-05 21:44:31 +01:00
Christoph Oelckers
cf7f7b0d54 Merge branch 'master' of https://github.com/rheit/zdoom 2016-03-05 20:20:50 +01:00
Christoph Oelckers
87d6e03cc2 - should have saved before committing... 2016-03-05 13:09:49 +01:00
Christoph Oelckers
26a05857d0 - fixed: Camera textures should not intercept and clear the NoInterpolateView flag.
Thanks to some really bad use of a global variable this was causing problems with the inverted order in which GZDoom needs to draw this stuff.
2016-03-05 12:46:47 +01:00
Christoph Oelckers
c455c60480 - fixed: calculating open.range requires signed math.
- fixed: FMultiBlockLinesIterator initialized continueup twice but forgot continuedown.
- fixed: One of the debug messages in P_AimLineAttack was missing an if (aimdebug).
2016-03-05 01:23:27 +01:00
Christoph Oelckers
b9c72e372b - fixed bad loop handling in FWeaponSlots::SetFromGameInfo(). 2016-03-04 16:25:23 +01:00
Christoph Oelckers
d1f17e0b46 - fixed: The checks in P_IsThingSpecial was broken. 2016-03-04 16:23:40 +01:00
Christoph Oelckers
e290bc6fd0 - fixed: In Hexen, ThrustThing can not be triggered from the backside of a line.
This gets only activated when the HEXENHACK flag is set. For ZDoom maps there is a specific line flag to handle this condition explicitly.
2016-03-04 15:24:13 +01:00
Christoph Oelckers
caf2ca0df7 - fixed: CallStateChain must never allow a jumping function to set the chain's overall result to successful. 2016-03-04 15:11:20 +01:00
Christoph Oelckers
ef9f3da31d - do not use the precalculated coordinates for non-linked portals because they are not static. 2016-03-04 14:41:24 +01:00
Christoph Oelckers
e9e30a6431 Merge branch 'master' of https://github.com/rheit/zdoom 2016-03-04 14:10:28 +01:00
Christoph Oelckers
dbd89c2702 - refactoring of portal grouping for the renderer, to allow more efficient clipping. 2016-03-04 14:10:13 +01:00
Christoph Oelckers
b427f27e3b - fixed: line portal rotations were not set for all types. 2016-03-04 14:09:26 +01:00
Christoph Oelckers
af1b70376b - added 21:9 handling to GL code. 2016-03-04 11:47:15 +01:00
alexey.lysiuk
9b23b41021 Added detection for broken WAD files
Do not try to allocate nonsensical amount of memory and bail out when broken WAD is detected
See http://forum.drdteam.org/viewtopic.php?t=6844
2016-03-04 11:32:15 +01:00
Christoph Oelckers
7ceb6d86dd - fixed compilation. 2016-03-04 10:39:10 +01:00
Randy Heit
e4a74f4bbe Fix memory leak from ZCC_OpInfo operator prototypes 2016-03-03 20:26:41 -06:00
Randy Heit
964ff46063 Add new state options to parser and actually enable them
- Added new state options that DECORATE got to the lemon parser.
- Enable token generation for state options. They were previously not
  generated, so the grammar treated them as function calls instead.
2016-03-03 18:33:07 -06:00
Randy Heit
078d37e073 Pretty sure this was a typo 2016-03-03 18:33:07 -06:00
Christoph Oelckers
0bcbacea53 Merge branch 'master' of https://github.com/rheit/zdoom
# Conflicts:
#	src/posix/sdl/hardware.cpp
2016-03-04 01:21:59 +01:00
Christoph Oelckers
0c37a90e32 - moved the initial 3D floor check from Trace to TraceTraverse, because that's where it will be needed for handling portals. 2016-03-04 01:13:17 +01:00
Christoph Oelckers
9f805daa73 - added missing handling of ALF_PORTALRESTRICT flag. 2016-03-04 01:13:16 +01:00
Christoph Oelckers
81b634a798 - preparation for making Trace portal aware: Added a new flag Trace_PortalRestrict, so that I could disable portals without static offset for P_LinePickActor and A_CheckLOF, because both depend on the target info being retainable which requires a static offset. 2016-03-04 01:13:16 +01:00
Randy Heit
3c2ed52442 Fix 21:9 base width and height values 2016-03-03 18:00:06 -06:00
Randy Heit
16d8af6b77 Add some 21:9 resolutions 2016-03-03 17:59:55 -06:00
Randy Heit
79f0714341 Update ratios[] tables for SDL and Cocoa 2016-03-03 17:32:30 -06:00
Michael Labbe
a28c8091fc UI support for 21:9
- Can specify aspect ratio 21:9 in video menu
 - menu_screenratios cvar can now force 21:9
2016-03-03 17:31:12 -06:00