Commit graph

5853 commits

Author SHA1 Message Date
Christoph Oelckers
ef7be016c4 - all those 'actor->SetZ(actor->Z() +...) calls weren't pretty so now there's an AddZ method, too. 2016-01-18 22:32:36 +01:00
Christoph Oelckers
c8052ce1b8 - 4 more Hexen files processed. 2016-01-18 22:26:02 +01:00
Christoph Oelckers
61b66904da - more Heretic and Hexen refactoring. 2016-01-18 22:11:18 +01:00
Braden Obrzut
d94aaf1fcf - Fixed: Undefined negative double to unsigned int conversion in FNodeBuilder::PointToAngle. 2016-01-18 16:03:37 -05:00
Kyle Evans
7358817975 *BinPack fixes -- disjointRects only defined #ifdef _DEBUG 2016-01-18 14:45:23 -06:00
Christoph Oelckers
ca5ac72364 - added missing FIXED2DBL call in A_Face. 2016-01-18 21:17:11 +01:00
Christoph Oelckers
c1b44a5694 - let's make some use of AActor::Pos and get rid of some of those X() and Y() calls...
- restore proper actor.h file.
2016-01-18 21:01:52 +01:00
Christoph Oelckers
460751653d - refactored most of Heretic's game code. 2016-01-18 20:13:20 +01:00
Christoph Oelckers
57ab1387f2 - yet more refactoring.
Note about A_SkelMissile: The direct change of the missile's position was changed to use SetOrigin. If this is later supposed to be portal-aware, such direct coordinate changes are a no-go to ensure that everything is properly maintained.
2016-01-18 18:52:24 +01:00
Christoph Oelckers
2b5e5b6bc3 - next round of refactoring.
This contains some advance work for handling line-to-line portals in A_PainShootSkull.
This function is special because it performs a map check itself instead of using one of the common functions from p_map.cpp, like most of the rest of the game code.
2016-01-18 16:49:24 +01:00
Christoph Oelckers
b63eb391f7 - refactored two mire files.
- fixed: FraggleScript's SetObjPosition function did not properly set the moved actor's properties. Better use SetOrigin for changing the position.
2016-01-18 12:37:39 +01:00
Christoph Oelckers
e8ee8c5c97 - fixed: secspecial_t was left uninitialized, causing its damage type being an invalid name. 2016-01-18 01:21:20 +01:00
Christoph Oelckers
43314f0c0d - started refactoring p_map.cpp
- added AActor::Top function to replace the frequent occurences of actor->z + actor->height.
2016-01-18 00:59:16 +01:00
Christoph Oelckers
b735138332 - forgot the changes to actor.h. 2016-01-17 22:56:16 +01:00
Christoph Oelckers
a65ff39872 - more coordinate refactoring in p_enemy.cpp. 2016-01-17 22:13:17 +01:00
Christoph Oelckers
be91771abc Merge branch 'master' of https://github.com/rheit/zdoom 2016-01-17 18:36:50 +01:00
Christoph Oelckers
c611456397 - more refactoring of AActor coordinate access. 2016-01-17 18:36:14 +01:00
coelckers
2702e68d83 Merge pull request #480 from alexey-lysiuk/fix_legacy_osx
Fixes for legacy versions of OS X
2016-01-17 17:12:59 +01:00
Christoph Oelckers
5b610390e1 - some more inline functions. 2016-01-17 16:49:15 +01:00
Christoph Oelckers
87689d3ba6 - global search&replace of ZatPoint calls with commonly named actor variables. 2016-01-17 14:08:20 +01:00
Christoph Oelckers
4ec1459ac0 Merge branch 'master' of https://github.com/rheit/zdoom 2016-01-17 13:51:15 +01:00
Christoph Oelckers
3e446ea04d - replaced access to AActor's coordinate members with access functions
(first 200 compile errors down...)
2016-01-17 13:48:16 +01:00
coelckers
5f5c02976f Merge pull request #481 from alexey-lysiuk/fix_hexen_mac
Fixed another issue with Hexen Mac
2016-01-17 13:08:27 +01:00
alexey.lysiuk
552c440afa Fixed another issue with Hexen Mac
Hopefully there will be no more bugs with Hexen Mac IWADs (demo or full) as all extra lumps are now discarded
2016-01-17 13:29:44 +02:00
Christoph Oelckers
bf5ee5e542 - added X(), Y(), Z() access functions to AActor.
This commit is just preparation for upcoming changes to completely encapsulate the coordinate info in AActor because I'm going to have to work with an altered version of actor.h that cannot be committed without breaking the engine.
With this file present in the repo before work is started the changes can be committed piece by piece.
2016-01-17 12:23:49 +01:00
alexey.lysiuk
24501dbc93 Fixed copy to pasteboard on legacy OS X
Copy/paste is now implemented using the method available on all supported versions
This fixes 'unrecognized selector' exception on OS X 10.4 and 10.5
2016-01-17 11:58:44 +02:00
alexey.lysiuk
bfc116b2a4 Fixed exit crash on legacy OS X
There is no need to close (and thus deallocate) console window explicitly
This will be done by autorelease pool in application controller event loop
OS X with GC and/or ARC was not affected by this issue
Older versions like 10.4 or 10.5 crashed because of double deallocation
2016-01-17 11:51:46 +02:00
coelckers
de80a8529d Merge pull request #479 from MajorCooke/skyfix
SkyExplode Compatibility
2016-01-17 00:18:44 +01:00
MajorCooke
421dcacb94 Added NULL check to lines. 2016-01-16 16:36:42 -06:00
MajorCooke
e4a74e91fc - Puffs should not spawn on floors or ceilings with sky flats without the SKYEXPLODE flag.
- Added line horizon check for puffs as well.
2016-01-16 16:33:19 -06:00
Christoph Oelckers
e6b6fd799d Merge branch 'master' of https://github.com/rheit/zdoom 2016-01-16 16:31:20 +01:00
Christoph Oelckers
0e645ad173 - added a 'non-modify' mode to P_TeleportMove and let A_Respawn use that, rather than letting P_TeleportMove muck around with the actor properties and then have A_Respawn only partially and haphazardly restoring them afterward. 2016-01-16 16:30:53 +01:00
coelckers
7740a277d3 Merge pull request #478 from alexey-lysiuk/fix_path_traverse
Fixed intercept check in FPathTraverse
2016-01-16 13:15:52 +01:00
alexey.lysiuk
afed5e62eb Fixed intercept check in FPathTraverse
Because frac variable has fixed_t type it must be compared with fixed one
Test case: try to break stained glass windows or open door at the beginning of Hexen's MAP01
2016-01-16 13:22:27 +02:00
Christoph Oelckers
c3491de466 Merge branch 'master' of https://github.com/rheit/zdoom 2016-01-16 09:06:10 +01:00
Christoph Oelckers
5a8062abba - fixed copy/paste error in secmovefac. (It returned friction instead of movefactor...) 2016-01-16 09:05:46 +01:00
Braden Obrzut
8f31af3ff9 - Work around issue with tree-loop-vectorize in p_acs.cpp. 2016-01-16 00:51:17 -05:00
Christoph Oelckers
f9ae304596 Merge branch 'master' of https://github.com/rheit/zdoom 2016-01-15 18:36:49 +01:00
coelckers
91d56aa6a1 Merge pull request #477 from alexey-lysiuk/fix_strife_dialog
Fixed stuck Strife dialogs
2016-01-15 18:36:26 +01:00
alexey.lysiuk
a8e5b90667 Fixed stuck Strife dialogs
See http://forum.zdoom.org/viewtopic.php?t=50451 and http://forum.zdoom.org/viewtopic.php?t=48470
2016-01-15 18:32:49 +02:00
Christoph Oelckers
90e2dc5f5a - some minor optimizations to FPathTraverse:
* since we can trivially decide whether a line crosses the trace behind the end point from checking the return value of P_InterceptVector, there is no need to add those to the list of intercepts as they get discarded anyway in t
* maxfrac is always FRACUNIT so there's no need to waste some variable for a constant value.
2016-01-15 16:40:50 +01:00
Christoph Oelckers
ef8dc22f7d - looks I missed one file when I member-fied P_AproxDistance and R_PointToAngle2 calls. 2016-01-15 15:36:21 +01:00
coelckers
5872a6029b Merge pull request #476 from alexey-lysiuk/hadron_compat
Compatibility for Return to Hadron
2016-01-15 14:58:09 +01:00
alexey.lysiuk
e405fb4624 Set compatibility for Return to Hadron
Updated version of Return to Hadron (dated 2016.01.03) has new version of E1M9: Prototype
This map requires vanilla's P_PointOnLineSide() function to avoid issue with sleepy shotgun guys
http://forum.zdoom.org/viewtopic.php?t=49544
2016-01-15 15:54:35 +02:00
coelckers
b38d5b6fb9 Merge pull request #475 from MajorCooke/AlwaysPuffFix
Rail Puff Support for Floors and Ceilings
2016-01-15 13:36:51 +01:00
Christoph Oelckers
48232f548d Merge branch 'master' of https://github.com/rheit/zdoom 2016-01-15 12:56:56 +01:00
Christoph Oelckers
867b7767ef - ignore COMPAT_POINTONSIDE in a few places where the side effects of the old P_PointOn*Side functions are either not needed or problematic:
* the sight checking code needs to be as precise as possible and should not depend on some old semi-broken routines. (This is more a precision issue of these routines - P_PointOnDivlineSide removes the lower 8 bits of each value - than having an issue with returning the wrong side in some cases.)
 * for slope creations it is flat out wrong to use the old routines at all.
 * also ignore this in the modern (box-shaped) case of FPathTraverse::AddLineIntercepts. This functionality is new to ZDoom and therefore not subject to compatibility concerns.
 * the line-to-line teleporter. It seems the hideous fudging code was just there to work around the design issues of these functions, so let's better not ever call them here in the first place.
 * A_PainShootSkull: Its usage here does not depend on these issues.
 * P_ExplodeMissile: New code exclusive to ZDoom.
 * FPolyObj::CheckMobjBlocking

All occurences in p_map.cpp have been left alone although most of them probably won't need the compatibility option either.
2016-01-15 12:56:27 +01:00
Randy Heit
16781e47ae Use a 64k stream buffer for all streams, not just net streams
- FLACs need a larger buffer than the default to run without starving on
  later versions of FMOD.
2016-01-14 20:41:09 -06:00
MajorCooke
dd9e7560c4 Added support for puffs to spawn on floors and ceilings if ALWAYSPUFF is used. 2016-01-14 11:21:08 -06:00
coelckers
722ef02719 Merge pull request #473 from MajorCooke/FadeFix
Fade fix
2016-01-14 09:16:39 +01:00