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
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
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
e96ed6bf8d
Add FBaseCVar::GetHumanString()
...
- For most cvars, this is equivalent to calling GetGenericRep() to get a
string.
- For float cvars, it uses %g instead of %H, because %H is generally more
information than is needed.
2016-04-23 22:30:08 -05:00
Randy Heit
fc54dd1ff0
Use %H when converting float cvars to strings to avoid information loss
2016-04-23 22:08:49 -05:00
Randy Heit
3a0d046f7e
Fix rendering with SW 2D: modf usage was backwards
2016-04-23 21:29:40 -05:00
Randy Heit
96a0bee651
Quiet two more warnings from GCC
2016-04-23 21:00:35 -05:00
Randy Heit
3cabd5f0ed
Fix compilation with GCC
...
- GCC is pickier than Visual C++. GCC requires that structs with constructors, etc that are
used in a union must be defined outside the union. VC++ lets you do it inline.
2016-04-23 20:58:15 -05:00
Randy Heit
991f49e321
Avoid copying vissprite_t in R_DrawPSprites()
2016-04-23 20:42:14 -05:00
Randy Heit
b8e3e1f095
Remove BAM_FACTOR from FAngle, because it takes up physical space in the struct
2016-04-23 17:27:36 -05:00
Christoph Oelckers
565bab8bd3
- removed some unnecessary temporary variables.
2016-04-23 22:55:44 +02:00
Christoph Oelckers
f420ccd287
- made Teleport_NoFog compatible with Hexen and Eternity.
...
ZDoom defaulted to Boom's (buggy) angle adjustment.
Changed it so that
* Mode 0 is like Hexen, performing no adjustment at all. This still should match all known maps using this special.
* Mode 1 remains unchanged.
* Mode 2 replicates Boom's broken angle adjustment and is used in the xlat file.
* Mode 3 implements the correct angle adjustment that Boom originally intended.
(Note: Should some map require something different it should be handled with compatibility.txt instead of reverting this back to the broken way it was before.)
2016-04-23 21:32:40 +02:00