Commit Graph

7284 Commits

Author SHA1 Message Date
Christoph Oelckers c3759646e7 - merged FWarpTexture and FWarp2Texture, making the choice of effect a parameter of the WarpBuffer function.
Ideally the warping shouldn't be a property of the texture class itself but an effect processor that can get added to a texture. Unfortunately the current setup will not allow this, requiring some significant refactoring of texture access first.
2016-04-30 12:36:55 +02:00
Randy Heit a95c6b9644 Draw upper/lower textures on two-sided portal lines 2016-04-29 21:54:29 -05:00
Randy Heit 09730bff73 Fix incorrect texture mapping vectors for slopes 2016-04-29 20:35:55 -05:00
Christoph Oelckers 8309d8f634 - fixed coordinate typo. 2016-04-29 23:14:04 +02:00
MajorCooke b9687b4a57 Compiler fix 2016-04-29 06:33:38 -05:00
Christoph Oelckers 4a72c7d2f1 - fixed: Decals may not be serialized before thinkers.
Since decals may have thinkers attached this will crash when such a savegame gets loaded, because the thinker lists get reset in P_SerializeThinkers, deleting any thinker that already was processed.
I also added an error message that immediately aborts the save process if such an out-of-sequence thinker is attempted to be written out.
This obviously breaks savegame compatibility again...
2016-04-29 11:44:17 +02:00
Randy Heit f3d273c94f Fixed: Tiled midtextures could go up past the ceiling when a 3D floor is in view 2016-04-28 22:06:57 -05:00
Randy Heit 8f3921190f Keep values in floats longer for visplane drawing 2016-04-28 21:21:49 -05:00
Randy Heit 96228ca15f Trying to fix some rounding, not sure it's actually correct yet 2016-04-28 21:14:48 -05:00
Christoph Oelckers 3bbb5c7237 - moved the texture warping into templated subfunctions, so that the same code can be used for true color buffers as well. 2016-04-28 18:17:18 +02:00
Christoph Oelckers af2a1769d8 - use the FP2005 method to calculate xtoviewangle, because it is far more straightforward than the old version. 2016-04-28 16:27:28 +02:00
Christoph Oelckers ef98757c7c - replaced finesine for texture warping with a smaller custom table, based on the old 2005 FP code, but fixes the generation of the sine table.
- removed all remnants of finesine and deleted tables.c and tables.h.
2016-04-28 15:59:37 +02:00
Christoph Oelckers 9f0c5d5909 -let's better be cautious about precision and use the CRT sin and cos functions for rotated plane textures. 2016-04-28 14:49:59 +02:00
Christoph Oelckers 027b8d29b8 - make FieldOfView a real angle and remove all uses of finetangent. 2016-04-28 13:59:06 +02:00
Christoph Oelckers f301cf7c57 - don't use finetangent for generating xviewtoangle. 2016-04-28 13:03:48 +02:00
Christoph Oelckers 26f54b0ba4 - eliminated tantoangle and cleaned up r_tables.h 2016-04-28 12:18:33 +02:00
Christoph Oelckers 8171637a57 - removed the last remaining uses of the finesine table from the rendering code. 2016-04-28 11:37:02 +02:00
Randy Heit ae7d048057 Store FTransform in visplane_t, not just a pointer
- The transform values passed to R_CheckPlane might live on the stack, so
  it's not safe to only store a pointer to them.
2016-04-27 23:07:25 -05:00
Randy Heit 44adff459a Remove halfviewwidth
- Why I thought I needed this variable in addition to centerx has
  long ago left my memory.
2016-04-27 22:49:36 -05:00
Randy Heit 31d842a894 Store FTransform in visplanes instead of converting to fixed_t 2016-04-27 22:17:33 -05:00
Randy Heit ac69ed3361 Minimal wallmost changes
- Add comments
- Fixed: When WallMost() finds a line entirely above the screen, it should
  set the most array to 0, not -1.
2016-04-27 22:17:33 -05:00
MajorCooke 6f11a65893 - Converted rollIntensity from int to double.
- It was already a double in the save version serialization so nothing had to be changed there.
2016-04-27 12:58:18 -05:00
MajorCooke 64d01a3bb1 Forgot to undo this. 2016-04-27 10:26:06 -05:00
MajorCooke 0fc7055f51 - Fixed: Quakes with rolling were not unique; they borrowed from any other quakes that didn't have rolling, thus preventing the rolling from falling off properly. 2016-04-27 10:13:30 -05:00
Christoph Oelckers 38d92b23b9 - fixed: ACS's GetSectorCeilingZ and GetSectorFloorZ expected integer coordinates. 2016-04-27 15:41:22 +02:00
Christoph Oelckers 3fd0d27efa - removed some leftover fixed point handling from PType. 2016-04-27 15:35:01 +02:00
Randy Heit a14c0c8063 Fix a couple missing structs in vissprite_t 2016-04-27 08:13:22 -05:00
Christoph Oelckers 3a17d6aa78 - fixed savegame compatibility. 2016-04-27 13:47:30 +02:00
MajorCooke 762d186657 Finished interpolation. 2016-04-27 13:42:16 +02:00
MajorCooke be9b25e760 Use ViewRoll instead of CamRoll, and removed CamRoll entirely. Begin work on interpolation. 2016-04-27 13:42:15 +02:00
MajorCooke c972caa9f3 - Added rollIntensity and rollWave to A_QuakeEx.
- Instead of moving the camera around, it rolls the camera.
- This only has an effect in GZDoom.
2016-04-27 13:42:15 +02:00
MajorCooke 660aff562d - Added support for THRU flags on bullets and rails.
- ALLOWTHRUFLAGS must be used on the puffs, added for the sake of compatibility with older mods. This applies to the following:
-- Bullets: THRUACTORS, THRUSPECIES
-- Rails: Same as bullets, but includes THRUGHOST.
2016-04-27 13:38:27 +02:00
Christoph Oelckers 262f3575ae - added a "custom" flag to drawmugshot so that the user-specified image can be forced to be used. 2016-04-27 13:16:35 +02:00
Christoph Oelckers ebca8cc5b0 - added a portable config file option, for now only on Windows: If the engine finds a file named [GAMENAME]_portable.ini, it will use that instead of creating a user specific version, so that portable installs can carry their INI along. 2016-04-27 13:04:37 +02:00
Christoph Oelckers 934b1923d0 - fixed: CheckForPushSpecial did not check blocking 3D midtextures. 2016-04-27 12:37:38 +02:00
Christoph Oelckers 044bf4ada6 - fixed: P_CheckPosition must initialized tm.floorterrain. 2016-04-27 12:08:22 +02:00
Christoph Oelckers f5afa30ee6 - added GetAngle(bool relative, int target) DECORATE function. 2016-04-27 11:52:52 +02:00
Christoph Oelckers 61b165ccc4 - fixed the camera height setting for the camera actors.
The scripting branch changed camera semantics to default to an actor's center - which for monsters and decorations makes sense - but not for simple mapspots that get used as camera. For those the CameraHeight must be explicitly set to 0.
2016-04-27 11:38:54 +02:00
Randy Heit d970be48f9 Use floating point xscale in R_RenderFakeWall() 2016-04-26 23:30:16 -05:00
Randy Heit a029c7b664 Fix unneeded fixed_t height in R_3D_AddHeight() 2016-04-26 23:11:27 -05:00
Randy Heit ee43c4ff95 Fixed: Accidentally left in /65536.0 in WallMost() 2016-04-26 23:00:41 -05:00
Christoph Oelckers 8bda356412 - fixed crash in slope drawing: Several overlooked occurences of fixed point math in R_CalcTiltedLighting. Slopes are still completely broken, though. 2016-04-27 04:08:06 +02:00
Christoph Oelckers a26d81e060 - fixed incomplete float conversion in R_RenderFakeWallRange. 2016-04-27 02:28:45 +02:00
Christoph Oelckers fab38d092b - fixed: P_LineOpening could miss a 3D floor if an actor was centered right against its side.
- restored the original 3D floor code to retrieve the current floor in P_CheckPosition. The portal aware version was a bit too strict and could place the actor on the wrong side when moving at high speeds.
2016-04-27 02:13:35 +02:00
Chris Robinson 6e25d3f618 Use a background thread for processing OpenAL streams 2016-04-26 06:12:56 -07:00
Chris Robinson 204d0c8572 Don't try to define __try/__except on non-MSVC systems
They didn't do anything anyway, and can clash with other compilers since they
may be used internally (macros and keywords starting with __ are for compiler
use).
2016-04-26 05:55:18 -07:00
Christoph Oelckers 172290224b - make modes 2 and 3 of Teleport_NoFog compatible with Eternity by defaulting to mode 1 when no line is available. 2016-04-25 01:01:28 +02:00
Christoph Oelckers 0f99d7d73f - floatified the few remaining linedef and sector properties that still were fixed_t. The only fixed point things left in r_defs.h are the nodes and a fixed point setter function for vertex_t, which is still needed by the node builder. 2016-04-24 12:15:09 +02:00
Christoph Oelckers 31845cd16b - fixed two fixed/float mixups. 2016-04-24 10:24:43 +02:00
Randy Heit 593f6c29ad Use 2 decimal places for volume sliders, since they move in 0.05 increments 2016-04-23 22:38:55 -05:00