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
8cdfbeea01
- made AActor::__pos a genuine float vatiable.
2016-03-25 15:43:20 +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
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
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
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
2dbd79cc8d
- floatified the return data from Trace().
2016-03-23 18:07:04 +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
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
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
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
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
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
Christoph Oelckers
8362c6a856
- conversion of floorz to double.
2016-03-20 19:52:35 +01: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
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
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
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
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
aa09cbdada
- renamed some functions and fixed a few more conversion errors.
2016-03-17 00:07:37 +01:00
Christoph Oelckers
b140d71c49
- several fixes.
2016-03-16 22:29:35 +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
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
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
Christoph Oelckers
161d03231a
- added custom math routines for reliability.
2016-03-11 15:45:47 +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
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
Randy Heit
174e00afe7
Add NULL mthing check to P_SpawnPlayer
2016-03-08 21:42:24 -06: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
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
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
Randy Heit
55142078d8
Normalize line endings
2016-03-01 09:47:10 -06:00