Commit graph

7073 commits

Author SHA1 Message Date
Christoph Oelckers
1d83ea6177 - fixed: ACS's SpawnProjectile and Thing_Projectile2 functions were treated as fixed point even though they are not. 2016-04-05 10:16:48 +02:00
Christoph Oelckers
55cbeb0253 - fixed pitch calculation in P_SeekerMissile with SMF_PRECISE. 2016-04-04 23:07:21 +02:00
Randy Heit
d39694a33d Fixed: DoTakeInventory() indicated success when passed an invalid item type 2016-04-04 15:51:03 -05:00
Randy Heit
3c8423d810 Print only one error message when PlayerPawn.Face is not 3 chars long 2016-04-04 15:17:58 -05:00
Randy Heit
57e0c97867 Fixed: DECORATE property error messages fail to show the file information 2016-04-04 15:16:29 -05:00
Randy Heit
6f60253590 Don't waste time looking for variables to (de)init in native classes 2016-04-04 14:57:43 -05:00
Christoph Oelckers
2dff6a08d1 - fixed: P_RadiusAttack passed the wrong radius value to the BlockThingsIterator. 2016-04-04 16:51:25 +02:00
Christoph Oelckers
21692359cc - fixed A_Face angle calculation. 2016-04-04 15:59:59 +02:00
Christoph Oelckers
7586320038 Merge branch 'master' into floatcvt
# Conflicts:
#	src/p_map.cpp
2016-04-04 14:19:34 +02:00
Christoph Oelckers
c346ac6143 - fixed: P_TeleportMove must clear the spechits array.
This was accidentally deleted during one round of portal refactoring but is essential to prevent multiple teleport activations in one move.
Fixing this also allowed removing the fudging that was added to work around the issue in P_TryMove.
2016-04-04 14:17:34 +02:00
Christoph Oelckers
32c32ea739 - fixed some initialization problems with sound.
* a position-less sound did not get the listener's position attached.
 * an unattached sound mixed up y and z coordinates.
2016-04-04 12:46:32 +02:00
Christoph Oelckers
fadc7d650d - fixed: segplane_t::SetAtHeight initialized the plane normal's Z incorrectly. 2016-04-04 12:02:53 +02:00
Randy Heit
7de8c2b5eb Fixed: || should be && 2016-04-03 21:35:44 -05:00
Randy Heit
77f9643c8f How did this end up wrong? 2016-04-03 20:25:07 -05:00
Randy Heit
17972b5d06 Revert "Add "support" for user string variables in DECORATE"
- This reverts commit c90a1c0c96.
- DECORATE looks to be very dependant on functions that take strings as
  parameters receiving those strings as constants and not as expressions,
  so being able to declare string variables with DECORATE is pretty much
  useless.
2016-04-03 19:15:00 -05:00
Christoph Oelckers
fd27c8db9e Merge branch 'master' into floatcvt
# Conflicts:
#	src/dobjtype.cpp
#	src/dobjtype.h
#	src/version.h
2016-04-04 01:21:24 +02:00
Randy Heit
c90a1c0c96 Add "support" for user string variables in DECORATE
- This is "support" in the very most basic sense. You can declare them,
  but you can't actually do anything with them, since the decorate parser
  can't handle expressions when it's parsing string arguments. However,
  they seem to be getting properly initialized and destroyed, which is
  what this was added to test. If it doesn't look like too much trouble, I
  might try to turn them into something actually worth something.
2016-04-03 18:10:09 -05:00
Randy Heit
7c8cff64e6 Added code to initialize and destroy string variables in classes
- Will require being able to add strings to non-native classes to actually
  test this.
2016-04-03 17:45:04 -05:00
Randy Heit
15208188de Remove PClass::Extend() 2016-04-03 16:25:08 -05:00
Randy Heit
85c8218441 Added methods for PTypes to serialize their values
- Values are tagged to allow for some measure of changing variable types
  without automatically breaking savegames.
- Use these new methods to serialize the non-native variables in an
  object. This allows for achiving non-ints.
2016-04-03 16:21:48 -05:00
Randy Heit
da496bbe62 Use AddField() to add user variables in DECORATE 2016-04-03 16:21:48 -05:00
Randy Heit
806d9d7a95 Add an AddField() override to PClass that extends the default instance 2016-04-03 16:21:47 -05:00
Randy Heit
3357af32e5 Generalize FxArrayElement to work with all numeric elements (not just 32-bit ints) 2016-04-03 16:21:41 -05:00
Randy Heit
0cc2705b99 Added A_LogFloat 2016-04-03 16:12:35 -05:00
Christoph Oelckers
1011e26eb9 - fixed: P_RadiusAttack should not call P_DamageMobj for a damage value of 0.
This could happen if the damage calculations resulted in a value between 0 and 1, which for the actual check was multiplied with the damage parameter of P_RadiusAttack which inflated the fractional value to something that looked like actual damage but was later truncated.
2016-04-03 22:45:54 +02:00
Christoph Oelckers
6d441e25db - partially undid the 'repeated flash state' fix, because it didn't work with the stock weapons. I'm still not sure if a compatibility setting is needed. 2016-04-03 22:31:45 +02:00
Christoph Oelckers
330ca07f69 Merge branch 'master' into floatcvt 2016-04-03 22:11:50 +02:00
Christoph Oelckers
3f5e0c682e - fixed: Due to the iteration limit of 100 in the path traverse code, running a trace was effectively limited to somewhere around 12800 map units. Also added the safer exit condition checks from the sight checking code to FPathTraverse. 2016-04-03 21:41:58 +02:00
Christoph Oelckers
70b8afc5ec - fixed: A_CheckLOF did the trace pitch calculation wrong. 2016-04-03 21:26:57 +02:00
Christoph Oelckers
02a586e6b2 - removed a redundant Vec3Offset call in A_SpawnParticle. 2016-04-03 21:03:49 +02:00
Christoph Oelckers
3ee42f6aa6 - removed all savegame compatibility handling, since the data is just too different from what it was before to try to convert it. 2016-04-03 20:55:23 +02:00
Christoph Oelckers
4e5ba49aca - got rid of secplane_t::fA and fB. All uses could be replaced by other functions. 2016-04-03 19:46:00 +02:00
Christoph Oelckers
fc5f98a0be - floatified the sector planes.
This should conclude the floating point conversions for now.
2016-04-03 19:28:53 +02:00
Christoph Oelckers
fede16ce68 - fixed PointOnSide checks.
- optimized some ZatPoint calls for floating point planes.
2016-04-03 13:15:02 +02:00
Christoph Oelckers
7a6039b44c - floatified vertex coordinates.
Making these double or float doesn't seem to matter at all performance-wise so they use the more precise double format.
2016-04-03 11:53:31 +02:00
Braden Obrzut
42edd7db22 - Added IfInvulnerable SBARINFO command (modified from Blue-Shadow's pull request) 2016-04-02 23:47:44 -04:00
Braden Obrzut
81f29556bf - Refactored SBarInfo flow control so negatable commands are handled statically.
- Made TArray movable and TDeletingArray a move only type.
2016-04-02 23:43:56 -04:00
Edoardo Prezioso
f36489098f - Fixed one GCC/Clang warning. 2016-04-02 23:01:51 +02:00
Edoardo Prezioso
28ac65b25b - Fixed GCC and Clang compilation errors. 2016-04-02 23:01:32 +02:00
Christoph Oelckers
6ffb5fa164 - fixed: Angular interpolation needs to call deltaangle instead of using the difference between two angles to avoid overflow conditions. 2016-04-02 22:12:52 +02:00
Christoph Oelckers
9b5a4b6d43 - removed several unused setter functions for level data structures and fixed some incorrect uses. 2016-04-02 22:05:23 +02:00
Christoph Oelckers
9a07f81269 - renamed all ZatPoint variants that return a fixed point value to ZatPointFixed, to avoid accidental mixup with the floating point variants. 2016-04-02 20:45:32 +02:00
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