Commit graph

7092 commits

Author SHA1 Message Date
Christopher Bruns
09d0cb5fd5 Merge branch 'master' of https://github.com/coelckers/gzdoom into two_more_stereo_modes
# Conflicts:
#	src/gl/system/gl_framebuffer.cpp
2016-04-11 18:25:54 -04:00
Christoph Oelckers
7a2e957225 Merge branch 'master' of https://github.com/rheit/zdoom 2016-04-11 23:14:53 +02:00
Christoph Oelckers
a97f67edb6 - fixed: P_GetMidTexturePosition needs to divide by scale, not multiply, to get the proper offset. 2016-04-11 23:12:35 +02:00
Christoph Oelckers
aec1c85c08 - fixed: alpha for patches needs to be multiplied by 65536, not divided by. 2016-04-11 22:21:17 +02:00
Christoph Oelckers
ae6df617ba - fixed: The FPathTraverse call in P_UsePuzzleItem was missing the PT_DELTA flag. 2016-04-11 22:10:46 +02:00
Christoph Oelckers
e72bfa8add - fixed: For finding the listener's sector the sound code used the wrong coordinate. 2016-04-11 21:02:44 +02:00
Christoph Oelckers
99ca649930 - fixed NULL pointer access in SetAmmoCapacity. 2016-04-11 20:42:43 +02:00
Christoph Oelckers
56f8974b66 - removed debug code. 2016-04-11 19:59:57 +02:00
Christoph Oelckers
273c1ea510 - fixed PointOnSide caclulation for dynamic lights. 2016-04-11 19:59:39 +02:00
Christoph Oelckers
77bfffaee0 - removed a few __cdecl's from the source. 2016-04-11 12:46:48 +02:00
Christoph Oelckers
bf2b61f61c - removed remaining STACK_ARGS from GL code. 2016-04-11 10:55:09 +02:00
Christoph Oelckers
7ce670951b Merge branch 'master' of https://github.com/rheit/zdoom
# Conflicts:
#	src/CMakeLists.txt
2016-04-11 10:49:11 +02:00
Christoph Oelckers
db86385cf6 - removed STACK_ARGS.
The only reason this even existed was that ZDoom's original VC projects used __fastcall. The CMake generated project do not, they stick to __cdecl.
Since no performance gain can be seen by using __fastcall the best course of action is to just remove all traces of it from the source and forget that it ever existed.
2016-04-11 10:46:30 +02:00
alexey.lysiuk
bd8b8911d5 - fixed Windows 32-bit build 2016-04-11 10:08:18 +03:00
MajorCooke
76f00131ff - Fixed: A_CheckBlock's dropoff check ignored the specifications of NOACTORS and NOLINES due to P_CheckMove blindly failing if P_CheckPosition failed. This lead to false positives such as blocking actors being detected when they shouldn't be. 2016-04-10 20:11:04 +02:00
Christoph Oelckers
76c18820cb - moved the declarations for the lighting thinkers to p_light.cpp.
Aside from the init function they are not needed anywhere else and that could also be placed into this file.
2016-04-10 18:29:23 +02:00
Christoph Oelckers
c12a85ee85 - removed some unused content from p_spec.h 2016-04-10 18:14:01 +02:00
alexey.lysiuk
93c334059a Made title text always visible in OS X startup window
Added temporary solution for the same foreground and background colors of the title in OS X startup window
It's used in graphical startup screen, with Hexen style in particular (for example WolfenDoom - Blade of Agony)
Native OS X backend doesn't implement this yet
2016-04-10 14:06:18 +02:00
Christoph Oelckers
fe973ba442 - tried to add precompiled headers to fastmath sources as well, but VC++ doesn't seem to want to play along. So I left this stuff in but disabled the precompilation until a solution can be found. 2016-04-10 13:54:42 +02:00
Christoph Oelckers
08b0be11a6 - add the precompiled header file for the previous commit. 2016-04-10 13:10:41 +02:00
Christoph Oelckers
9cc873ecdd - enable use of precompiled headers for MSVC. Thanks to a small CMake script I recently found this could be done non-invasively.
Due to the VC++ 2015 headers being rather bloated (the average include size per source is 400-500kb) this provides a noticable compile speedup, although right now this only covers the game code, so there should be more room for improvement.
2016-04-10 13:08:54 +02:00
Christoph Oelckers
12129b0f07 - added a system-include independent wrapper for Windows's OutputDebugString, so that this can be used more easily in files that cannot include windows.h. 2016-04-10 13:03:44 +02:00
Christoph Oelckers
ef08e29d51 - remove windows header #include from gameconfigfile.cpp, because it isn't needed. 2016-04-10 12:33:35 +02:00
Christoph Oelckers
f7adbc58bd Merge branch 'master' of c:\programming\doom-dev\zdoom 2016-04-10 11:31:38 +02:00
Christoph Oelckers
d48c0ce25c - fixed some particle positioning errors. 2016-04-10 10:57:48 +02:00
Christopher Bruns
f6d296e103 Add comment by line I modified to avoid compile problem with Visual Studio 2015 2016-04-09 22:08:40 -04:00
Christopher Bruns
355bc75001 Merge branch 'master' of https://github.com/coelckers/gzdoom into two_more_stereo_modes 2016-04-09 21:46:33 -04:00
Christopher Bruns
bde94879ad Restore stereoscopic geometry correctness, by inserting a minus sign where it always should have been, after finding that a compensating minus sign, where it probably should not have been anyway, was removed during the recent floating point refactoring. 2016-04-09 21:46:14 -04:00
Christoph Oelckers
84c8f38038 - fixed: The divisions in FTexCoordInfo::TextureOffset and RowOffset were turned into multiplications when converting to floating point. 2016-04-10 00:45:48 +02:00
Christoph Oelckers
dc753fca6e Merge branch 'master' of https://github.com/rheit/zdoom 2016-04-09 23:30:29 +02:00
Christopher Bruns
072a5e60ae Naive change to get latest version to compile. 2016-04-09 17:03:55 -04:00
Christoph Oelckers
9a48adf81a - fixed: The software 2D drawer expected its translation pointer to be initialized by ParseDrawTextureTags. Removed the variable from DrawParms and made it and its initialization local to the software rendering code. 2016-04-09 22:56:12 +02:00
MajorCooke
c79a1b6a45 thing->floorz --> thing->dropoffz 2016-04-09 22:33:55 +02:00
MajorCooke
8b8c879994 - CBF_DROPOFF Fixes
- Fixed: CBF_DROPOFF didn't actually check the coordinates passed to it for dropoff height values. It only checked to see if it was stuck in lines.
2016-04-09 22:33:54 +02:00
Christoph Oelckers
dc72e7f3c2 - removed the check for VA_COPY from CMakeLists.txt.
This is because nothing uses va_copy anymore and it's a mandatory part of C++11, therefore always available.
2016-04-09 22:07:14 +02:00
Christoph Oelckers
1f1a0ca847 - fixed incorrect check for negative damage in APowerProtection::ModifyDamage. 2016-04-09 21:57:35 +02:00
Christoph Oelckers
bcebeadedc - fixed: ACS's GetActorPitch needs to convert to a signed angle. 2016-04-09 21:44:09 +02:00
Christopher Bruns
c6fa01dfbf Reimplement blue/yellow and quadbuffered stereo, this time with an additional CVAR gate on quadbuffered, for better hardware compatibility.obj
Something is terribly wrong with the separation in all stereo modes now though.
2016-04-09 15:40:55 -04:00
Christoph Oelckers
7a7e1652fc - fixed: lower textures used the wrong reference height for alignment 2016-04-09 21:06:32 +02:00
alexey.lysiuk
daa112e2ac Fixed OS X compilation after floating point merge
Header files from Carbon framework caused a few symbol conflicts
2016-04-09 20:54:04 +02:00
Christoph Oelckers
2e16f3d77e - made some adjustment for the DrawTexture changes. 2016-04-09 20:49:27 +02:00
Christoph Oelckers
fde1f28d71 Merge branch 'master' of https://github.com/rheit/zdoom 2016-04-09 20:48:54 +02:00
Christoph Oelckers
a827bab576 - refactored the use of tag lists so that they do not have to be passed around between functions.
This means that the varargs functions themselves are now responsible for parsing them into DrawParms.
This was done because DrawTextV made a blanket assumption that every single vararg has the size of a 32 bit integer and caused crashes when anything else was passed. It also failed to eliminate any tag that is incompatible with text display. These will now abort DrawText and trigger an assert.
2016-04-09 20:47:54 +02:00
Christoph Oelckers
1f0fd85d0e - adjustments for the DrawTexture interface changes. 2016-04-09 13:05:43 +02:00
Christoph Oelckers
bc42dd26c8 Merge branch 'master' of https://github.com/rheit/zdoom 2016-04-09 13:00:14 +02:00
Christoph Oelckers
e2ae7d8f5d - removed the unused x and y parameters from DrawTextureParms. 2016-04-09 12:59:50 +02:00
Christoph Oelckers
c502a4b3cc Merge branch 'master' of https://github.com/rheit/zdoom 2016-04-09 12:55:34 +02:00
Christoph Oelckers
43dd759859 - changed DrawTexture so that the parameters get parsed in the varargs function directly and that the virtual function that is getting called gets the fully prepared data.
In order to avoid passing around tag lists, DrawTextV needs to parse everything itself and then pass a fully initialized structure to DrawTexture. This cannot be done if all variants require a varargs tag list.
Apparently the only reason for the old approach was the 'hw' parameter which was never used.
2016-04-09 12:55:12 +02:00
Christoph Oelckers
ca317a87ea - started working on tracking portal transitions for railgun shots. 2016-04-09 12:09:06 +02:00
Christoph Oelckers
bc7e159be0 - cleaned up ceiling creation and moved the Create function out of the DCeiling class.
- did the same for floors so that FraggleScript no longer needs access to the thinkers themselves.
2016-04-09 12:07:34 +02:00
Christoph Oelckers
caae61de4c - removed DMoveCeiling and let FS call DCeiling::Create instead. Made a minor change to DCeiling::Create to keep it compatible, because handling for instantly moving ceilings is a bit different. 2016-04-08 20:44:55 +02:00
Christoph Oelckers
919f99db61 - fixed typo in actor scale assignment when spawning. 2016-04-08 16:52:42 +02:00
Christoph Oelckers
39d03f12b1 - fixed float <-> fixed conversion errors in Fragglescript. 2016-04-08 15:14:26 +02:00
Christoph Oelckers
06dc96b062 - removed 64 bit warnings. 2016-04-08 14:21:20 +02:00
Christoph Oelckers
3f28478eb2 Merge branch 'master' of c:\programming\doom-dev\zdoom 2016-04-08 14:19:02 +02:00
Christoph Oelckers
8535a973cf - made MoveAttached, MoveCeiling and MoveFloor members of sector_t instead of DMover.
- call MoveFloor and MoveCeiling directly in FS's floorheight and ceilingheight functions and remove the dummy thinkers it had to use before.
2016-04-08 14:18:46 +02:00
Christoph Oelckers
e505bfd7a3 - took EResult out of DMover and made it an enum class. 2016-04-08 13:59:03 +02:00
Christoph Oelckers
fb2234396c - split DSectorEffect::MovePlane into MoveFloor and MoveCeiling.
What was the point of this strange setup anyway? MoveFloor and MoveCeiling were inlines calling the universal MovePlane, which had nothing better to do than a switch/case with two cases - floor and ceiling!
2016-04-08 13:39:08 +02:00
Christoph Oelckers
74c9a7bf67 - fixed angle calculation in AdjustPlayerAngle for portals.
Normally this will adjust relative to the actual direction to the target, but with arbitrary portals that cannot be calculated so using the actual attack angle is the only option.
2016-04-08 13:08:08 +02:00
Christoph Oelckers
fdf9d94b26 Merge branch 'master' of https://github.com/rheit/zdoom 2016-04-08 12:51:34 +02:00
Christoph Oelckers
7404142edf - fixed incorrect center point calculation. 2016-04-08 12:51:00 +02:00
Christoph Oelckers
25d7eaed0a - fixed parentheses in ADynamicLight::DistToSeg.
- floatifed OpenGL sector grouping.
- optimized light node collection. It should not create light nodes for out of range segs.
2016-04-08 12:38:09 +02:00
Christoph Oelckers
3e94832bfd - use the correct reference heights for positioning textures. 2016-04-08 01:58:13 +02:00
Christoph Oelckers
4d5671d654 - floatified the texture coordinate code. 2016-04-08 01:42:43 +02:00
Christoph Oelckers
eaf055dff4 - floatified the remaining parts of gl_walls.cpp. 2016-04-08 00:19:51 +02:00
Christoph Oelckers
4ac3734375 - floatified more of gl_wall.cpp. 2016-04-07 23:19:37 +02:00
Christoph Oelckers
ddbb8d79c1 - handle the player sprite when crossing a portal. 2016-04-07 21:13:37 +02:00
Christoph Oelckers
5cd9e58af5 Merge branch 'master' of https://github.com/rheit/zdoom 2016-04-07 21:12:31 +02:00
Christoph Oelckers
58002f7f96 - fixed: an 'if' that gets completely optimized away by a constant 'false' condition should not make the entire function disappear. 2016-04-07 20:31:12 +02:00
Christoph Oelckers
0cbdb9ab72 - handle display of player sprite during portal transition properly.
This checks if the current viewpoint lies on the interpolation path, translated by all active portals.
2016-04-07 19:35:01 +02:00
Christoph Oelckers
7df1a8ae81 - adjusted FGLLinePortal to recent changes in line_t. 2016-04-07 17:41:06 +02:00
Christoph Oelckers
47e20aead4 - disallow crossable portals on one-sided linedefs which do not belong to a polyobject.
Sadly the mappers cannot be trusted to use a feature correctly. Despite repeatedly telling that portals on one-sided lines are problematic, everybody seems to do it this way - and then report bugs if it doesn't work. Under such circumstances the only safe option is to block such portals entirely.

See http://forum.zdoom.org/viewtopic.php?f=2&t=51511&p=898522#p898522 for a typical example of the problems this might cause.
2016-04-07 17:13:56 +02:00
Christoph Oelckers
ee3e3e35e6 - partial floatification of wall texturing code. 2016-04-07 17:00:13 +02:00
Christoph Oelckers
485a1bd0a5 - fixed: The 3D-floor plane renderer mixed float and fixed point. 2016-04-07 16:25:30 +02:00
Christoph Oelckers
32bbec7cad - fixed: the random offset that gets used when spawning blood applies to both sprites and particles, not just sprites. 2016-04-07 14:14:44 +02:00
Christoph Oelckers
4af859094c - fixed: sprite clipping did not work anymore because the 'invalid' value was inconsistent.
- cleaned up the 'if' condition in PerformSpriteClipAdjustment,
- enabled weapon bobbing interpolation.
2016-04-07 14:09:07 +02:00
Christoph Oelckers
88542bed78 Merge branch 'master' of https://github.com/rheit/zdoom 2016-04-07 13:43:00 +02:00
Christoph Oelckers
1d286d5bd5 - added APROP_MaxStepHeight + APROP_MaxDropOffHeight. 2016-04-07 13:41:54 +02:00
Christoph Oelckers
ddb2f6b6cb - fixed: P_SpawnPlayerMissile still used the angle_t values for offsetting the autoaim traces. 2016-04-07 13:11:23 +02:00
Christoph Oelckers
1eeaee1ac7 - completely reviewed and fixed all codes using angles in the automap. 2016-04-07 13:05:29 +02:00
Christoph Oelckers
a1c03c9a62 - fixed: P_AimCamera inverted the pitch. 2016-04-07 12:44:46 +02:00
Christoph Oelckers
790e13e5cb fixed: For sight checks the 'eye' of the seeing thing should be placed at 3/4 height, not half its height. 2016-04-07 12:14:34 +02:00
Christoph Oelckers
7ebb961917 - added weapon bobbing interpolation.
This was so ridiculously simple that I really fail to understand why the previous attempt was so overcomplicated that it just failed for that.
2016-04-07 11:48:23 +02:00
Christoph Oelckers
7f23a91488 - fixed: smooth bobbing uses the full angular range to calculate its position. 2016-04-07 11:14:39 +02:00
Christoph Oelckers
14b370df66 - fixed automap rotation to point upward, not downward when am_rotate is on. 2016-04-07 10:39:15 +02:00
Christoph Oelckers
37ddd20b56 - removed leftover debug code from yesterday's particle fix. 2016-04-07 10:28:43 +02:00
Christoph Oelckers
5409ada0e3 let WM_DISPLAYCHANGE and WM_STYLECHANGED call DefWindowProc.
At least on GZDoom it seems to be important on some systems.
2016-04-07 10:26:57 +02:00
Randy Heit
4b10177e46 Make the firelines fudging more "streamlined" 2016-04-06 20:09:42 -05:00
Christoph Oelckers
3923039a1b - fixed: a sight check that starts right on a linedef should ignore that linedef.
Trying to calculate a slope to the target from this linedef's opening will always result in failure because it'd involve a division by zero.
2016-04-07 01:16:07 +02:00
Christoph Oelckers
3d44613377 Merge branch 'master' of https://github.com/rheit/zdoom 2016-04-06 22:09:47 +02:00
Christoph Oelckers
dbad946fe3 - revert default planes to static in gl_sprite.cpp 2016-04-06 22:09:21 +02:00
Christoph Oelckers
b774fed93e - fixed: P_DrawSplash2's z-velocity was too high.
This code was ported from the 2005 floating point version, at one point it replaced 128 with 0.5, but 128 as a fixed point value needs to be 1/512. as a floating point value.
2016-04-06 18:46:52 +02:00
Christoph Oelckers
b93d4a796a - fixed angles for am_rotate. 2016-04-06 17:28:31 +02:00
Randy Heit
b796a5fed6 Fixed: segangle is only 16-bits, so AngleToFloat won't work on it directly 2016-04-06 08:45:07 -05:00
Christoph Oelckers
a0d0d9339e - fixed some uninitialized stuff in particle rendering.
- added gl_ClampLight to all places where the light level is set.
2016-04-06 14:03:21 +02:00
Christoph Oelckers
9196683e4f Merge branch 'master' of https://github.com/rheit/zdoom 2016-04-06 13:27:23 +02:00
Christoph Oelckers
8ad49f5d33 - removed a leftover line from before the floating point conversion in p_user.cpp. 2016-04-06 13:21:17 +02:00
Christoph Oelckers
8cbdbdaf70 - fixed: The PathTraverse and sight checking code may not assume that ceiling(x) == floor(x)+1.
This will fail when a trace starts directly on a block boundary in which case x is a whole number. It should always use 'floor(x)+1' to ensure that the calculated point is at the right or upper edge of a block.
2016-04-06 13:19:09 +02:00
Christoph Oelckers
d4a2e9696e - removed 'inline' from P_Teleport declaration. 2016-04-05 22:27:11 +02:00
Christoph Oelckers
1a5a00a76e Merge branch 'floatcvt' 2016-04-05 21:42:09 +02:00