Commit graph

224 commits

Author SHA1 Message Date
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
77f2530236 - floatified the sector plane movers and removed some of the ZatPoint conversion cruft. 2016-03-30 09:41:46 +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
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
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
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
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
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
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
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
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
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
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
1ff4bb419c - made AActor::gravity and FMapThing::gravity floats. 2016-03-21 00:51:19 +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
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
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
c2e7123a36 Merge branch 'master' of https://github.com/rheit/zdoom 2016-03-08 13:12:03 +01: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
Christoph Oelckers
cf7f7b0d54 Merge branch 'master' of https://github.com/rheit/zdoom 2016-03-05 20:20:50 +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
a96d6ab072 Merge remote-tracking branch 'remotes/zdoom/master'
# Conflicts:
#	src/g_level.cpp
#	src/p_3dfloors.cpp
#	src/p_lnspec.cpp
#	src/p_saveg.cpp
#	src/p_spec.cpp
#	src/r_bsp.cpp
#	src/r_data/r_interpolate.cpp
#	src/r_data/r_translate.cpp
#	src/r_data/sprites.cpp
#	src/r_defs.h
#	src/r_sky.h
#	src/stats.h
#	src/textures/texturemanager.cpp
#	src/textures/textures.h
#	src/version.h
#	src/win32/fb_d3d9.cpp
#	src/win32/hardware.cpp
#	src/win32/i_system.cpp
#	wadsrc/static/actors/doom/doomarmor.txt
#	wadsrc/static/compatibility.txt
#	wadsrc/static/language.enu
#	wadsrc/static/mapinfo/common.txt
#	wadsrc/static/menudef.txt
#	wadsrc/static/xlat/eternity.txt
2016-03-01 18:50:45 +01:00
Randy Heit
55142078d8 Normalize line endings 2016-03-01 09:47:10 -06:00
Christoph Oelckers
954f03e531 Merge branch 'master' of https://github.com/rheit/zdoom
# Conflicts:
#	src/actor.h
2016-02-25 01:40:36 +01:00
Christoph Oelckers
58d3b04590 - fixed some places in p_pillar.cpp where sector plane z's were calculated at (0, 0) which could cause overflows if the actual plane is too far away from the origin.
- renamed sector_t::soundorg in centerspot, changed the type to a fixedvec2 and removed the CenterSpot #define.

Since this thing was used in lots of places that have nothing to do with sound the name made no sense. Having it as a fixed_t array also made it clumsy to use and the CenterSpot #define used a potentially dangerous type cast.
2016-02-24 14:49:59 +01:00
Christoph Oelckers
e107d8ff48 Merge remote-tracking branch 'remotes/zdoom/master'
# Conflicts:
#	src/portal.h
#	src/r_defs.h
2016-02-22 16:06:31 +01:00
Christoph Oelckers
02d7572343 - some header dependency cleanup so that it is no longer needed to include portal.h to get the inline functions. Portal.h has been reduced of most dependencies now so that including it is cheap and can be done in other headers.
- some consolidation in p_map.cpp. PIT_CheckLine and PIT_FindFloorCeiling had quite a bit of redundancy which has been merged.
- čontinued work on FMultiBlockLinesIterator. It's still not completely finished.
2016-02-19 14:08:41 +01:00
Christoph Oelckers
56202c49f1 Merge branch 'master' of c:\programming\doom-dev\zdoom
# Conflicts:
#	.gitignore
2016-02-16 21:02:13 +01:00
Christoph Oelckers
6adb069506 - rewrote p_local.h so that it doesn't pull in the entire bunch of headers.
This was to resolve some circular dependencies with the portal code.
The most notable changees:

 * FTextureID was moved from textures.h to doomtype.h because it is frequently needed in files that don't want to do anything with actual textures.
 * split off the parts from p_maputl into a separate header.
 * consolidated all blockmap related data into p_blockmap.h
 * split off the polyobject parts into po_man.h
2016-02-15 02:14:34 +01:00
Christoph Oelckers
0678a469de Merge remote-tracking branch 'remotes/zdoom/master'
# Conflicts:
#	src/win32/i_system.cpp
#	tools/re2c/re2c.vcproj
2016-02-08 21:47:19 +01:00
Christoph Oelckers
77b9f41dff - added Line_SetPortalTarget action special so that portals can be assigned new targets. Setting the target to 0 disables the portal.cpp. Static linked portals can not be reassigned.
Please note that these still require the portal to be set up in the map with Line_SetPortal. It will not create a new portal if none exists on any line with the given ID.
2016-02-06 21:16:57 +01:00
Christoph Oelckers
f8e5a0ebf0 Merge branch 'master' of https://github.com/rheit/zdoom
# Conflicts:
#	src/g_doomedmap.cpp
#	src/info.h
#	src/p_saveg.cpp
#	src/p_setup.cpp
#	src/p_spec.cpp
#	src/r_defs.h
#	wadsrc/static/mapinfo/eternity.txt
#	wadsrc/static/xlat/eternity.txt
2016-02-06 00:41:00 +01:00
Randy Heit
26eb335622 Quiet a couple GCC warnings 2016-02-05 16:07:18 -06:00
Christoph Oelckers
dda73b531c Merge branch 'master' of https://github.com/rheit/zdoom
# Conflicts:
#	src/CMakeLists.txt
#	src/p_setup.cpp
#	src/r_defs.h
#	src/version.h

This only updates to a compileable state. The new portals are not yet functional in the hardware renderer because they require some refactoring in the data management first.
2016-02-05 12:31:41 +01:00
Christoph Oelckers
0b7a06c714 Merge branch 'NewEESpecials'
# Conflicts:
#	src/fragglescript/t_fs.h
2016-02-05 01:01:39 +01:00
Randy Heit
b3b0886b64 Merge branch 'scripting'
Conflicts:
	src/actor.h
	src/g_doom/a_doomweaps.cpp
	src/g_hexen/a_blastradius.cpp
	src/p_enemy.cpp
	src/p_enemy.h
	src/thingdef/thingdef.h
	src/thingdef/thingdef_codeptr.cpp
	wadsrc/static/actors/constants.txt
2016-02-04 15:17:22 -06:00
Randy Heit
809a9d801c Got a flag backwards 2016-01-31 21:23:45 -06:00
Randy Heit
c1b2861362 Merge the boolean args to EV/P_Teleport into a single flags arg
- The flags use TELF_ since DECORATE has an A_Teleport with its
  own set of TF_ flags.
- TELF_KEEPVELOCITY is used instead of TELF_HALTVELOCITY, because
  there was only one call that ever set bHaltVelocity to false.
2016-01-30 21:27:34 -06:00
Christoph Oelckers
316389c7f9 - fixed: Ceiling_LowerByValue(Times8) were missing the 'crush' parameter.
- fixed typo in 5 minute door sector type (it used FRACUNIT instead of TICRATE.)
2016-01-25 21:27:19 +01:00