Christoph Oelckers
3c25b2c066
- some redesign of P_CheckSight to handle portals.
...
Portal stuff not tested yet.
2016-03-07 21:59:32 +01:00
Randy Heit
f82c217047
Fixed: In multiplayer, players could spawn at voodoo doll starts
...
- This could happen in co-op games that did not have enough player starts
for all the players spawning. Voodoo doll starts were not excluded from
the set of possible starts as they should have been.
2016-03-07 10:58:16 -06: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
Randy Heit
8b9a0da5ef
That was hard to read
2016-03-07 09:58:52 -06:00
MajorCooke
af50a79e55
- Fixed: ScaleY was not defaulting to ScaleX when specified as 0, which is how the behavior originally was in 2.8. This behavior can now be toggled with a new boolean, 'usezero'.
2016-03-07 09:02:34 -06:00
Christoph Oelckers
fe4bc31d59
- fixed some bad offset calculations.
2016-03-07 11:36:51 +01:00
Randy Heit
72edd7d455
Fixed: GetVarAddrType() bounds check was inverted
2016-03-06 22:17:30 -06:00
Christoph Oelckers
13a7507c4d
- should have saved that...
2016-03-07 01:48:13 +01:00
Christoph Oelckers
8f71906fc3
- added portal support to P_RadiusAttack.
...
This currently only works for linked portals. For other types some major refactoring may be necessary because it not only requires multiple passes of P_RadiusAttack but also an alteration of how sight checks work.
2016-03-07 01:02:48 +01:00
Christoph Oelckers
7d7112f427
- added portal support to A_ThrustImpale, P_PushUp and P_PushDown.
2016-03-07 00:17:52 +01:00
Christoph Oelckers
5175d56129
- made adjustments to P_LineAttack and P_RailAttack to deal with altered angles by passing through a non-parallel portal.
...
- fixed: P_FindFloorCeiling set the floorsector for a new ceilingheight.
Note: P_DrawRailTrail still needs to be changed, at the moment rail trails through portals will not work correctly.
2016-03-06 21:58:36 +01:00
Christoph Oelckers
90553bb61c
- deal with portals in P_AimCamera.
...
This will most likely need some more testing and refining but at least it should work through line portals now.
2016-03-06 13:10:42 +01:00
Christoph Oelckers
a0b2915b8f
- added a heightsec change when aborting the main trace due to having found a target in a subtrace.
...
- be a bit smarter about what to copy from a subtrace. There's 3 distinct pieces of information here: The hit itself, the CrossedWater setting for Boom-transfers and the CrossedWater setting for 3D floors.
Note: Ideally this should return all water hits it can detect, not just the first one.
2016-03-06 02:07:04 +01:00
Christoph Oelckers
74592334e4
- fixed return conditions of Trace() so that it always returns something valid. Due to the portal related changes the default initialization for TRACE_HitNone must be inside TraceTraverse.
2016-03-06 01:41:52 +01:00
Christoph Oelckers
ae4cc9669b
- added line portal support to Trace().
2016-03-06 01:04:19 +01:00
Christoph Oelckers
983e8bc6a5
- explicitly check NAME_Null in P_FindTerrain so that it cannot get rendered inoperable by mods which hijack this name. This name must be reserved so that there is some means to disable a sector's terrain.
2016-03-05 22:39:53 +01:00
Christoph Oelckers
97577dc2d7
- added sector portal support to Trace()
...
Note that at the moment only the function itself has been changed, the calling parts still need to be redone.
2016-03-05 21:44:31 +01:00
Christoph Oelckers
c455c60480
- fixed: calculating open.range requires signed math.
...
- fixed: FMultiBlockLinesIterator initialized continueup twice but forgot continuedown.
- fixed: One of the debug messages in P_AimLineAttack was missing an if (aimdebug).
2016-03-05 01:23:27 +01:00
Christoph Oelckers
b9c72e372b
- fixed bad loop handling in FWeaponSlots::SetFromGameInfo().
2016-03-04 16:25:23 +01:00
Christoph Oelckers
d1f17e0b46
- fixed: The checks in P_IsThingSpecial was broken.
2016-03-04 16:23:40 +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
caf2ca0df7
- fixed: CallStateChain must never allow a jumping function to set the chain's overall result to successful.
2016-03-04 15:11:20 +01:00
Christoph Oelckers
b427f27e3b
- fixed: line portal rotations were not set for all types.
2016-03-04 14:09:26 +01:00
alexey.lysiuk
9b23b41021
Added detection for broken WAD files
...
Do not try to allocate nonsensical amount of memory and bail out when broken WAD is detected
See http://forum.drdteam.org/viewtopic.php?t=6844
2016-03-04 11:32:15 +01:00
Randy Heit
e4a74f4bbe
Fix memory leak from ZCC_OpInfo operator prototypes
2016-03-03 20:26:41 -06:00
Randy Heit
964ff46063
Add new state options to parser and actually enable them
...
- Added new state options that DECORATE got to the lemon parser.
- Enable token generation for state options. They were previously not
generated, so the grammar treated them as function calls instead.
2016-03-03 18:33:07 -06:00
Randy Heit
078d37e073
Pretty sure this was a typo
2016-03-03 18:33:07 -06:00
Christoph Oelckers
0c37a90e32
- moved the initial 3D floor check from Trace to TraceTraverse, because that's where it will be needed for handling portals.
2016-03-04 01:13:17 +01:00
Christoph Oelckers
9f805daa73
- added missing handling of ALF_PORTALRESTRICT flag.
2016-03-04 01:13:16 +01:00
Christoph Oelckers
81b634a798
- preparation for making Trace portal aware: Added a new flag Trace_PortalRestrict, so that I could disable portals without static offset for P_LinePickActor and A_CheckLOF, because both depend on the target info being retainable which requires a static offset.
2016-03-04 01:13:16 +01:00
Randy Heit
3c2ed52442
Fix 21:9 base width and height values
2016-03-03 18:00:06 -06:00
Randy Heit
16d8af6b77
Add some 21:9 resolutions
2016-03-03 17:59:55 -06:00
Randy Heit
79f0714341
Update ratios[] tables for SDL and Cocoa
2016-03-03 17:32:30 -06:00
Michael Labbe
a28c8091fc
UI support for 21:9
...
- Can specify aspect ratio 21:9 in video menu
- menu_screenratios cvar can now force 21:9
2016-03-03 17:31:12 -06:00
Michael Labbe
a4705c8404
vid_listmodes crash fix
2016-03-03 17:31:12 -06:00
Michael Labbe
3ac4968218
Slightly improve 21:9 ar
2016-03-03 17:31:12 -06:00
Michael Labbe
afb1d438c2
21:9 fix for black bars overlapping fullscreen images
2016-03-03 17:31:12 -06:00
Michael Labbe
73c7e51391
fix: 21:9 AR stretching in intermission, end level screens
2016-03-03 17:31:12 -06:00
Michael Labbe
97821a3036
21:9 aspect ratio support
...
- vid_aspect 6 forces 21:9
2016-03-03 17:31:12 -06:00
Randy Heit
e3d35f4fe8
PClassPointer should use its own type as the metatype in the type table
...
- I don't remember why I thought using PPointer as the metatype for
PClassPointer would be preferable, but it means that PPointer's MatchID
can potentially be called for PClassPointer entries.
2016-03-03 17:31:01 -06:00
Randy Heit
6d68f69674
Use lambdas for more concise code
2016-03-03 13:27:52 -06:00
Christoph Oelckers
2587e82a67
. removed some redundant computation of a trace's hit position.
2016-03-03 16:15:42 +01:00
Christoph Oelckers
b8abafb486
- disabled all the debug messages in P_AimLineAttack but left them in with a CVAR check so that the debug output can be reenabled, should some problem require it in the future.
2016-03-03 13:31:21 +01:00
Christoph Oelckers
ec258c9588
- redid P_ClipLineToPortal with revised visibility rules:
...
* any line completely parallel to the portal is rejected
* any line with one end on the same straight line than the portal is solely decided by the other vertex.
* any line with both ends behind the portal cannot be visible inside, so there's no need to check for an intersection with the view range.
* due to the above P_IntersectLines could be removed as it was redundant.
* for any line that does intersect with the portal straight, do a reverse check: If both ends of the portal lie on the other side of the line than the viewpoint, the line is between viewpoint and portal and needs to be rejected.
This fixes nearly all the phantom wall glitches in the demo map.
2016-03-03 13:07:11 +01:00
Christoph Oelckers
14a0567343
- optimized the portal translation functions by precalculating the rotation angle, sine and cosine.
2016-03-03 11:58:04 +01:00
Christoph Oelckers
ede07f93b2
- fixed: Failure to open bots.cfg would throw an exception that prevented the level from starting. Catch it in FCajunMaster::LoadBots instead and handle it non-disruptively.
2016-03-03 11:11:25 +01:00
Christoph Oelckers
74c326e9b2
- fixed: An option value with an invalid value type would eat all key events when being selected.
2016-03-03 10:52:56 +01:00
Christoph Oelckers
4d2b9fbe1b
- don't freeze if the menu item search can't find anything selectable.
2016-03-03 10:47:11 +01:00
Christoph Oelckers
d8c009bb41
- fixed: A_Blast read the blast radius as an int, but used it as fixed_t. Also changed the definition of this parameter to float.
2016-03-03 10:23:04 +01:00
MaxED
81a5273b58
Added "Miscellaneous Options" -> "Save/Load confirmation" option (defaults to true). When disabled, confirmation dialog won't be shown when performing quicksave/quickload.
2016-03-03 09:59:26 +01:00
MajorCooke
59ad6206de
Added CBF_NOACTORS to A_CheckBlock.
...
- Self explanatory, doesn't count actors as blocking them.
2016-03-02 20:35:54 -06:00
MajorCooke
7f672039bf
Cleanup.
2016-03-03 02:58:44 +01:00
MajorCooke
fb3769a730
Added offsetforward to A_CheckLOF.
...
- offsetforward is to A_SpawnItemEx's x offset property, just like offsetwidth is to y offset.
2016-03-03 02:58:43 +01:00
Christoph Oelckers
90cad80422
- fixed some issues with FPathTraverse:
...
* when starting directly on a blockline the trace was offset by one map unit. Do this only for the internal block trace calculations but not for the variable that's being exposed to the outside because in rare situations that can create incorrect values.
* using startfrac could lead to an actor whose inside was right at that positon to be missed.
* when using startfrac the adjusted trace start was not used for all calculations, which could cause the trace to fail.
With these issues fixed, P_AimLineAttack can now successfully navigate line portals.
2016-03-03 02:50:48 +01:00
Christoph Oelckers
6b1485a89f
- refactored those unwieldy intercept position calculations into a subfunction.
2016-03-03 02:50:47 +01:00
Christoph Oelckers
4b23a1c0c7
- added handling for line portals to P_AimLineAttack.
2016-03-03 02:50:45 +01:00
Christoph Oelckers
63d838c0a7
- fixed: P_CollectConnectedGroups could crash when being called before P_FinalizePortals.
...
- fixed: Entering a sector portal did not properly set up the starting sector of the cloned trace.
2016-03-03 02:50:44 +01:00
Christoph Oelckers
f5fd0df077
- made P_AimLineAttack work through sector portals.
...
Note: Test output not removed yet!
2016-03-02 20:44:02 +01:00
Randy Heit
c160121f45
Add float casts to DECORATE for the sake of completeness
2016-03-01 11:36:15 -06:00
Randy Heit
55142078d8
Normalize line endings
2016-03-01 09:47:10 -06:00
Christoph Oelckers
b4a002a07f
- preparations for allowing hitscans through portals.
...
To allow processing the hit through an arbitrary portal without reference to the portal group table, P_AimLineAttack and P_LineAttack need to pass some more info than just the linetarget.
We need the relative positions of shooter and target within the visual reference of the other to calculate proper angles and we need to know if such a portal was crossed at all, because a few things, e.g. seeker missiles won't work with them.
- fixed setup of target acquisition for the Mage Staff.
The pre-acquired seeker target was never passed to the spawned projectiles.
2016-03-01 16:39:31 +01:00
Randy Heit
a16f92c508
Convert "lump" names from directories to lowercase
...
- Zip and 7z already do this. Directories should too.
2016-03-01 08:49:43 -06:00
Christoph Oelckers
44a6cafd4b
- we are using C++11 now, so all those old VC 2005 project files are of no use anymore.
2016-03-01 09:38:49 +01:00
Randy Heit
7c9fd12fc0
Don't generate code to call DECORATE cast functions
...
- All the cast functions do is return their parameter, so skip the
function call and use the parameter directly.
2016-02-29 22:26:05 -06:00
Randy Heit
92f74634d6
Remove FxParameter and use a single function instead
2016-02-29 22:08:06 -06:00
Randy Heit
fb8d8dc775
Remove "state" from "Invalid state parameter" error message
...
- It's confusing to see this from inside an anonymous function. Actually,
maybe it should be reworded altogether?
2016-02-29 21:44:12 -06:00
Randy Heit
cb1d9597f2
Allow if {} else if {}
with DECORATE
...
This is as opposed to `if {} else { if {} }`, which is what was required
previously to express the same construct.
2016-02-29 21:40:10 -06:00
Randy Heit
f23c0121c5
Use new type system with DECORATE
2016-02-29 21:11:59 -06:00
Christoph Oelckers
15b6c11748
- did some cleanup on FPathTraverse::PortalRelocate.
2016-03-01 02:06:31 +01:00
Christoph Oelckers
5e7ecb3c44
- hm. I thouggr thia has been saved before committing.
2016-03-01 01:53:09 +01:00
Christoph Oelckers
2584108200
- removed the one-sided line portals on polyobjects only limitation. Using Eternity's polyportal testmap shows that it expects one-sided crossable portals on non-polyobject walls.
...
- converted the P_TranslatePortal* functions to use floating point trigonometry. The combination of R_PointToAngle and finesine even created discrepancies with perfectly parallel portals which is just not acceptable.
- added a function to FPathTraverse to relocate the trace and restart from the new position.
- made P_UseLines portal aware. Traversal through line portals is complete (all types, even teleporters), whether sector portals need better treatment remains to be seen - at the moment it only checks the range at the player's vertical center.
2016-03-01 01:36:36 +01:00
Christoph Oelckers
0c7aea88db
- made particles portal-aware.
2016-02-29 16:40:28 +01:00
Christoph Oelckers
07771bd56e
- changed parameter of P_GetOffsetPosition to a simple coordinate so that it can be used for other things than actors.
2016-02-29 16:29:51 +01:00
Christoph Oelckers
38c1b8588c
- made spawning of teleport fog portal aware.
2016-02-29 16:21:05 +01:00
alexey.lysiuk
2b74ee1eef
Fixed assertion failure caused by a missing class to spawn
...
This fixes debugging troubles with states that have action functions like A_SpawnItem("MissingClass")
2016-02-29 12:54:30 +01:00
Christoph Oelckers
2321c9973f
- fixed some serious efficiency problems with clipping masked geometry against portals.
...
The function to do the work scanned the full list of drawsegs to find portals, which with a large amount of masked geometry and/or drawsegs could become extremely slow.
Changed it so that R_DrawMasked collects all portal related drawsegs up front so that the actual clipping code can
a) scan a far shorter list and
b) can skip half of the validation.
Also using P_PointOnLinePrecise to shave off a small bit of additional time.
2016-02-29 12:39:03 +01:00
Christoph Oelckers
0cf9cae7f3
- added some #pragma warnings to i_crash.cpp to silence a warning message in Microsoft's headers.
2016-02-29 10:48:51 +01:00
Christoph Oelckers
6c37ab2310
- changed: If the IWAD contains a MENUDEF lump the one in zdoom.pk3 should not print texture warnings.
...
The reason is that in such a case it is very likely that the IWAD defines its own menu and will most likely not provide all assets for the base definitions. See 'Adventures of Square' for an example.
2016-02-29 10:45:14 +01:00
Christoph Oelckers
7242a0ef94
- fixed: Rendering 2-sided walls with 3D floor light effects had the 'is3dfloor' flag of GetLightLevel inverted.
2016-02-29 10:26:07 +01:00
Christoph Oelckers
fadc7de636
- added a sight check to A_Blast for cross-portal effects.
2016-02-29 01:36:39 +01:00
alexey.lysiuk
0822485593
Used ISO Latin 1 encoding for text in startup window on OS X
...
Attempts to output errors with bad characters encountered during text lumps parsing were failed miserably because of UTF-8 conversion
Example: loading of GZ-Models-r16.pk3 with GZDoom caused 'NSConcreteAttributedString initWithString:: nil value' exception
2016-02-28 23:15:23 +01:00
alexey.lysiuk
243f59d96d
Made sure that the last text line is always visible in OS X startup window
...
These case are handled specifically:
* When waiting for clients or host to join
* When showing a fatal error
2016-02-28 23:15:22 +01:00
alexey.lysiuk
067b421f39
Fixed default width of progress bar in OS X startup window
...
If window was resized before progress bar appears it will have hardcoded and so incorrect width
2016-02-28 23:15:21 +01:00
alexey.lysiuk
64f80456ad
Initialized scroll view with the same rectangle as other controls in OS X startup window
2016-02-28 23:15:20 +01:00
alexey.lysiuk
145b7be0a1
Fixed particular slowdown in OS X startup window
...
During loading of .pk3 that stores hundred of .wad's significant amount of time were spent on scrolling text to the last line
The same applies to other cases like output of thousands warnings/errors
2016-02-28 23:15:19 +01:00
alexey.lysiuk
c687394f72
Added generic way to do periodic updates of OS X startup window
...
It's used to avoid updating of window (progress bar in particular) too often
Most of time were spent on UI events processing but not on data loading
2016-02-28 23:15:18 +01:00
alexey.lysiuk
0fba6563c7
Disabled fullscreen mode for OS X startup window
...
There is no use for auxiliary fullscreen window because it behaves really weird
2016-02-28 23:15:17 +01:00
Christoph Oelckers
d4f87203bd
- added portal awareness to several functions.
...
* Arch-Vile resurrection
* Boom point pushers (due to complete lack of z-handling only for line portals.)
* A_RadiusGive
These also require a more thorough collection of portal groups than simple position checks.
2016-02-28 23:08:32 +01:00
Christoph Oelckers
8be690fbf2
- fixed type truncation warning.
2016-02-28 21:16:16 +01:00
Christoph Oelckers
27ac207f4c
- added oortal handlong to P_RecursiveSound.
2016-02-28 18:03:42 +01:00
Christoph Oelckers
4bb0ca5889
- consolidated some nearly identical code repetitions in Hexen's attack functions.
2016-02-28 16:06:48 +01:00
Christoph Oelckers
c390b98966
- fixed: Not all paths in A_CStaffCheck did proper checks on the player's health.
2016-02-28 15:14:05 +01:00
Christoph Oelckers
94f37bde30
- Forgot changing two comparisons when cleaning up the if statement in FindRefPoint.
2016-02-28 14:03:57 +01:00
Christoph Oelckers
e9fa53c54d
- fixed dropoff calculation over portals.
...
It can easily happen that the lower sector has no lines below the checked area, in which case it would not set the dropoffz correctly. To prevent this, P_LineOpening must, when it checks the opening over a sector portal, actually calculate the dropoff to the lower portal itself by calling sector_t::NextLowestPointAt. It also means that FindRefPoint must calculate a proper reference point when one side of the line to be checked is part of a floor portal.
2016-02-28 13:59:15 +01:00
Christoph Oelckers
b0f1e9b8f3
- fixed typo in portal blockmap code.
2016-02-28 12:16:58 +01:00
Christoph Oelckers
9e3bde0913
- fixed: invisible line within a portal could affect floor height checks in P_CheckPosition.
2016-02-28 12:14:37 +01:00
Christoph Oelckers
3272f180cb
- added missing damagemod sector property to extradata parser.
2016-02-28 09:32:10 +01:00
Edoardo Prezioso
cd85f6768c
- Improve Mac GCC errors fix to work only for GCC.
...
This fixes Clang complaining about unknown command option '-Wno-unused-but-set-variable' when compiling dumb.
Also I got no new warnings on Clang by excluding '-Wno-unused-result'.
2016-02-27 23:49:02 +01:00
Christoph Oelckers
a9ca53bc00
- added a check for the destination of a portal to P_CheckPosition. This needs to run a separate BlockLinesIterator that only sets selected fields.
2016-02-27 23:35:13 +01:00
Christoph Oelckers
047070d180
- made arbitrary portals passable.
...
This includes:
* allow one sided portal linedefs to be crossable when part of a polyobject. Due to the limitations, two-sided linedefs won't work here. For general use this is still not allowed because making them passable would require some crippling fudging.
* delay portal finalization until after polyobjects have been spawned.
* the camera interpolation also needs to handle angle differences.
The code is still not 100% complete - the most important thing that is still missing is proper handling of P_CheckPosition through arbitrary portals.
2016-02-27 18:07:39 +01:00
alexey.lysiuk
fcb38a9419
Made index of VM intrinsic functions unsigned
...
No more 'comparison of integers of different signs: int and unsigned long' warning
2016-02-27 15:14:13 +02:00
alexey.lysiuk
d49f4a5d84
Removed redundant comparison
...
No more 'comparison of unsigned expression >= 0 is always true' warning
2016-02-27 15:05:01 +02:00
alexey.lysiuk
3c044ebd5e
Removed usage of register keyword
...
No more 'register storage class specifier is deprecated' warnings
2016-02-27 15:03:44 +02:00
alexey.lysiuk
9e016bbfc3
Removed useless operations from OS X system code
...
No more 'expression result unused' warnings
2016-02-27 12:48:26 +02:00
alexey.lysiuk
202aea61e5
Fixed incorrect comparison in OS X console window
...
No more 'comparison between pointer and integer' error
2016-02-27 12:48:12 +02:00
Braden Obrzut
6baa1b0674
- Compile with -std=c++14 or -std=c++11 on GCC/Clang.
...
- Fixed initialization crossing goto.
2016-02-27 02:20:34 -05:00
Christoph Oelckers
8d58d63b60
- implemented line portal transition. Not yet tested for arbitrary portals but for static ones it is working - including camera interpolation.
2016-02-27 01:23:43 +01:00
Christoph Oelckers
451cac457b
- added NULL pointer check in AActor::ClearInterpolation.
2016-02-26 18:05:58 +01:00
Christoph Oelckers
7da8112f12
- now that C++11 is allowed, these annoying 'narrowing conversion' warnings can finally be fixed...
2016-02-26 18:03:45 +01:00
Christoph Oelckers
f7a3314a0a
- added an iterator to TArray so that it can be used with range-bases 'for' statements.
2016-02-26 16:20:27 +01:00
Christoph Oelckers
60c2a55ec4
- added P_GetOffsetPosition calls to all needed functions.
2016-02-26 11:52:53 +01:00
Christoph Oelckers
d46e109a5b
- prevent Visual C++ from making stupid code.
2016-02-26 11:52:52 +01:00
Christoph Oelckers
eafd2519b4
- fixed a few incorrect uses of AngleTo function.
...
- added portal offsetting to all AproxDistance, AngleTo and Vec*To members of AActor.
- optimized displacement retrieval so that the most common case with no offset retrieves a constant null-vector which can be optimized away fully by the compiler.
- early out in P_GetOffsetPosition if there's no portal lines nearby, so that the common case can skip the traverser completely even on maps with line portals.
2016-02-26 11:52:50 +01:00
Randy Heit
fd78686679
Add clamp() to DECORATE
2016-02-25 14:31:37 -06:00
Randy Heit
7f57f68ce1
Added GetSpawnHealth() and GetGibHealth() for DECORATE
2016-02-25 10:08:08 -06:00
Randy Heit
a862f728b6
Add remaining VM-supported floating point operations to DECORATE
...
- These are:
* exp
* log
* log10
* ceil
* floor
* acos
* asin
* atan
* tan
* cosh
* sinh
* tanh
2016-02-25 09:41:49 -06:00
Randy Heit
8ee820042f
Tablified the DECORATE floating point operations (sqrt,cos,sin)
2016-02-25 09:23:46 -06:00
Christoph Oelckers
d8d3889452
- removed PortalGroup == 0 check. This would only be valid if there's only linked portals in the map.
2016-02-25 13:36:27 +01:00
Christoph Oelckers
c7bce8b346
- added a special portal blockmap. This only contains all lines which have a crossable line portal assigned. This is to speed up offset calculations because those are quite frequent and would be too inefficient with the full blockmap.
...
- made some minor changes to FPathTraverse so that the Add*Intercepts methods can be virtually overridden.
- removed the PortalTracer class because in its existing form it was too costly. Replaced with a P_GetOffsetPosition function that does the minimum required work to get to the translated destination and that's better suited for being called from the Vec*Offset methods. Other use cases will require some changes to FPathTraverse anyway, or some wrapping class like the FMultiBlock iterators.
2016-02-25 13:00:23 +01:00
Christoph Oelckers
a9db998700
- did some refactoring on FPathTraverse to allow inheriting from that class with different collection functions.
...
This will be needed to implement an efficient portal checker that doesn't run through the entire blockmap to find the portals.
2016-02-25 09:54:09 +01:00
Christoph Oelckers
208ad14bad
- this wasn't saved when I committed the interpolation stuff.
2016-02-25 01:24:09 +01:00
Christoph Oelckers
e11da06e69
- some preparations for actor interpolation through wall portals.
2016-02-25 00:41:31 +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
21c55a090a
- fixed: "take armor" cheat should only deplete the armor, not destroy it.
...
- fixed: Hexen armor cannot be depleted by the common function, it needs an override to achieve that.
2016-02-24 10:50:42 +01:00
alexey.lysiuk
8ba6f6ced5
Fixed crash when spawning decal without texture
...
See http://forum.zdoom.org/viewtopic.php?t=50977
2016-02-24 10:37:14 +01:00
Christoph Oelckers
51da78ba29
- added a compatibility option to allow multiple exits to be triggered.
...
This is required by Daedalus's travel tubes which contain a faulty script with some leftover debug code.
2016-02-24 10:35:29 +01:00
Christoph Oelckers
b01e0fa06e
- removed debug output from portal transition code.
...
- handle the case where a portal transition crosses more than a single boundary in one move.
2016-02-24 10:08:23 +01:00
Randy Heit
326907f6ab
Cleanup parsing of DECORATE intrinsics
...
- Split specific parsing for each intrinsic out of ParseExpression0 and
into their own functions.
- Instead of reserving keywords for intrinsics, identify them by name
within TK_Identifier's handling.
2016-02-23 19:39:29 -06:00
Christoph Oelckers
01bdd8a7da
- actor transition through a sector portal is working.
2016-02-24 01:16:07 +01:00
Christoph Oelckers
58839200e5
- fixed some line clipping issues with portals
...
* Blocking lines above or below the current sector should only block if they actually intersect with the currently checking actor.
* Sectors above a ceiling portal should not change current floor information and vice versa.
2016-02-24 01:16:06 +01:00
Randy Heit
1f09341d2b
Let min/max pre-solve for 2+ constants, even if there are non-constants
2016-02-23 16:37:52 -06:00
Randy Heit
1ffb7ad109
Add min and max to DECORATE
2016-02-23 16:26:00 -06:00
DaMan
78552cc676
Disable UAC virtualization
2016-02-22 17:56:18 -06:00
MajorCooke
c3ffeb1e9d
A_RadiusGive Missile check fix
...
- Don't use isMissile(). Check directly for the flag at the moment of calling and not the default. Otherwise, things changing themselves will still be ineligible for non-missile checks.
2016-02-22 11:30:44 -06:00
Christoph Oelckers
49bfe717ce
Merge remote-tracking branch 'remotes/origin/portal'
2016-02-22 15:54:07 +01:00
Christoph Oelckers
62f6a5e4bf
- fixed: GetFloorCeilingZ used the actor's actual position, not the tmf.x, tmf.y for which information is supposed to be retrieved.
2016-02-22 15:51:19 +01:00
Christoph Oelckers
4b0af5967e
- use proper constructor for FMultiBlockLinesIterator in P_CheckPosition.
2016-02-22 15:51:18 +01:00
Christoph Oelckers
ed2b107bc9
- fixed: P_LineOpening_XFloors set some floor-related info in the ceiling case so that it never reached the point where it is needed.
...
- fixed: FMultiBlockLinesIterator/FMultiBlockThingsIterator need to treat radius=-1 as 'use default from actor.'
2016-02-22 15:51:18 +01:00
alexey.lysiuk
89ca14a587
Fixed memory leak caused by return statement parsing
2016-02-22 14:24:34 +02:00
Christoph Oelckers
31cf712db3
- replaced R_PointToAngle2 in blood splatter functions.
2016-02-22 12:33:13 +01:00
Christoph Oelckers
730145d1fc
- more transition to FMultiBlock* iterators:
...
* removed all code for dealing with z-displacing portals in the iterator loops. This would cause too many problems so I decided to scrap any provisions for allowing interactive portals with z-displacement. They will remain restricted to pure teleporter portals.
* changed spechit to carry a position along with the special line. If something is activated through an interactive portal this is needed to calculate movement.
* pass the abovementioned position to CheckForPushSpecial.
* collect touched portal lines in a second array analogous to spechit.
* use FMultiBlockThingsIterator in P_TestMobjZ.
2016-02-22 12:05:38 +01:00
Christoph Oelckers
ca2fc47fa3
- refactoring of PIT_CheckThing.
2016-02-22 12:05:37 +01:00
Christoph Oelckers
98c7fabb89
- untested partial refactoring of P_CheckPosition.
...
(This is just a safety commit before doing some more extensive behind-the-scenes refactoring.)
Notable changes here:
* use the same logic for determining whether a 3D floor is 'below' or 'above' the actor as all the other functions.
* removed the broken code which tried to detect whether an actor was touching a steep slope. Better use P_LineOpening to find the correct planes and store the results.
* improved detection whether the slopes on both sides of a plane are identical, using the same data as for steep slope detection.
2016-02-22 12:05:37 +01:00
Christoph Oelckers
abcc6049b9
- made the z coordinate part of the CheckResults for the MultiBlock iterators and use these for all height checks in the iterator loops. This will later make it easier to support arbitrary portals with height displacements.
2016-02-22 12:05:36 +01:00
Randy Heit
70c663b253
Revert "Add PARAM_STATE_NOT_NULL for the A_Jump* functions"
...
- This reverts commit cab39973df
.
I was wrong. DoJump never allowed jumping to NULL states.
2016-02-21 19:21:39 -06:00
Randy Heit
19af8a3a82
Change error message for missing return
2016-02-20 23:14:14 -06:00
Randy Heit
e7b9e7e955
Rename A_Int/A_Bool/A_State to int/bool/state
...
- This is an effort to emphasize that these are just type casts. Now they
look like function-style casts with no action function styling.
They do no magic joojoo at all. The only reason they exist is because
the DECORATE parser can only parse return statements that call a
function, so these satisfy that requirement. i.e. *return int(666);* is
identical to *return 666;* (if the parser could handle the latter).
2016-02-20 22:05:17 -06:00
Randy Heit
cab39973df
Add PARAM_STATE_NOT_NULL for the A_Jump* functions
...
- Now that state jumps are handled by returning a state, we still need a
way for them to jump to a NULL state. If the parameter processed by this
macro turns out to be NULL, Actor's 'Null' state will be substituted
instead, since that's something that can be jumped to.
2016-02-20 21:52:29 -06:00
Randy Heit
5e298173f7
Redo ACTION_RETURN macros so they can be treated like return statements
2016-02-20 21:34:58 -06:00
Randy Heit
81314a6cd6
Revert "- fixed a few occurences where ACTION_RETURN_* eliminated the side effect of its argument when no return value was requested."
...
This reverts commit 7ede77c1d2
.
2016-02-20 21:27:42 -06:00
Christoph Oelckers
26967bd0ee
- migrated P_PlayerStartStomp to FMultiThingIterator.
...
Note: This replaces AActor::intersects with a direct calculation. Although that function could be adjusted it'd mean some redundant distance calculations which are easily avoided.
2016-02-21 00:21:42 +01:00
Christoph Oelckers
f8a8d8eed2
- fixed use of wrong position variable in P_TeleportMove's thing iterator.
2016-02-21 00:21:42 +01:00
Christoph Oelckers
58fcd8d742
- implemented the FMultiBlockThingsIterator and converted P_TeleportMove to use it.
2016-02-21 00:21:41 +01:00
m-x-d
d2630dee8c
Fixed: warp and warp2 texture effects now work for NPo2 textures.
2016-02-20 21:45:09 +01:00
MaxED
1ba526d4de
Added #region / #endregion handling (should affect all text lumps, let me know if there are text lumps unaffected by this).
2016-02-20 21:45:08 +01:00
nukeykt
4b0aac9816
Backport OPL2 KSL table fix from MAME v0.150.
2016-02-20 20:08:02 +01:00
John Palomo Jr
92697659be
Expose SafeCommand confirmation string to language.
2016-02-20 20:04:30 +01:00
alexey.lysiuk
7b49d9d92c
Fixed crash when accessing undefined user variable
...
Presence of DECORATE user variable was not checked before attempting to read or write its value from ACS
2016-02-20 20:02:32 +01:00
Christoph Oelckers
b8f8daf1c1
- fixed:In P_ChangeSector, floorOrCeil==2 means that only 3D midtextures moved. This means that
...
* no 3D floor movement can take place
* no portal changes can occur.
2016-02-20 15:52:19 +01:00
Edoardo Prezioso
166687d971
- Added optional 'z' parameter to the 'warp' CCMD.
...
Now it's possible to warp above 3dfloors.
2016-02-20 13:32:27 +01:00
Christoph Oelckers
7ede77c1d2
- fixed a few occurences where ACTION_RETURN_* eliminated the side effect of its argument when no return value was requested.
...
This macro should not be used on function calls that actually perform an action aside from calculating the return value!
2016-02-20 13:13:53 +01:00
Edoardo Prezioso
d1502b1086
- Simplify expressions inside some else/endif.
...
We aren't bound to old cmake anymore.
2016-02-20 11:38:30 +01:00
Edoardo Prezioso
3dcc6d0330
[fmod] Improve the checks for fmod 4.44.
...
- The FMOD 4.44 linux package contains both 32 and 64-bit versions, with the folder name without the '64' suffix for 64-bit.
- Add minor version '61' so that the latest FMOD package (at the time of this commit) can be detected and compiled successfully.
2016-02-20 11:38:29 +01:00
Randy Heit
c3432a1ddb
Fix CustomInventory never succeeding
...
- A != should have been ==.
2016-02-19 22:09:35 -06:00
Christoph Oelckers
cfbb3bcbb2
- completed work on P_FindFloorCeiling and all functions it calls.
...
Note: The debug output is left in so that in cases of an error it can still be used.
2016-02-20 02:22:10 +01:00
Christoph Oelckers
d876a95152
- set floor and ceiling sector when it comes from a 3D floor.
...
There's code in p_mobj.cpp which needs this to pick the correct plane.
2016-02-20 02:22:09 +01:00
Christoph Oelckers
6132f6971a
- added support for FFCF_NOPORTALS and FFCF_3DRESTRICT to FindNextLowestFloorAt and FindNextHighestCeilingAt
...
- use these functions in P_GetFloorCeiling instead of duplicating all this code.
- removed some debug CCMDs.
2016-02-20 02:22:09 +01:00
Christoph Oelckers
dc37f78566
- fixed: Old portal data must be deleted before loading a new level.
2016-02-20 02:22:09 +01:00
Christoph Oelckers
cb0e7c6ca5
- fixed some issues with P_FindFloorCeiling rework.
2016-02-20 02:22:08 +01:00
Randy Heit
4770dc2dfb
Fix improper detection of if statements returning
2016-02-19 16:38:30 -06:00
Randy Heit
80d49d6bb9
Fix crash when parsing an empty action list for DECORATE
2016-02-19 16:31:53 -06:00
Christoph Oelckers
28799c4b51
- some logic fixes in FMultiBlockLinesIterator.
2016-02-19 16:13:36 +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
15040c955e
Merge branch 'master' into portal
2016-02-19 10:40:07 +01:00
Christoph Oelckers
3841a5f626
- implemented FMultiBlockLinesIterator for checking a position across portals. This is not fully tested yet.
2016-02-19 10:39:40 +01:00
Randy Heit
a31bd78abe
Fix definitions of A_State/A_Int/A_Bool
...
- These aren't action functions, so PARAM_ACTION_PROLOGUE is
inappropriate.
2016-02-19 00:29:19 -06:00
Randy Heit
cb0fd5967f
Oops. Had FxCastStateToBool backwards.
2016-02-18 22:53:18 -06:00
Randy Heit
a399f40e5f
Support casting states to booleans
...
- This is so that you can call an A_Jump-type function from inside an if
statement and do something other than jump if the jump condition was
met. e.g.
{
if (A_Jump(128, "Foo"))
{
A_Log("The function would have jumped");
}
else
{
A_Log("The function would not have jumped");
}
}
2016-02-18 22:40:04 -06:00
Randy Heit
aa58c5f519
Declare VMFunction::Proto to the garbage collector
2016-02-18 22:26:37 -06:00
Randy Heit
eace79ccad
Add some functions for use with DECORATE return
...
- Since DECORATE's return statement can only return the results of
function calls (I do not want to spend the time necessary to make it
return arbitrary expressions), here are three functions to get around
this limitation:
* A_State - Returns the state passed to it. You can simulate A_Jump
functions with this.
* A_Int - Returns the int passed to it.
* A_Bool - Returns the bool passed to it.
- e.g. If you want to return the number 3, you use this:
return A_Int(3);
If you want to jump to a different state, you use this:
return A_State("SomeState");
2016-02-18 22:15:03 -06:00
Randy Heit
fbbaae781b
Merge remote-tracking branch 'origin/master'
2016-02-18 22:05:40 -06:00
Randy Heit
b1098ede93
Restore "direct" call optimization for DECORATE
2016-02-18 22:05:16 -06:00
Randy Heit
ade780d810
Redo ACustomInventory::CallStateChain to check return types
2016-02-18 22:05:10 -06:00
Randy Heit
b8a16600ac
Braces around ACTION_RETURN used in an if are no longer optional
2016-02-18 21:39:13 -06:00
Randy Heit
b2ccd0bd28
Use action function return value to make state jumps happen
...
- The A_Jump family of action functions now return the state to jump
to (NULL if no jump is to be taken) instead of jumping directly.
It is the caller's responsibility to handle the jump. This will
make it possible to use their results in if statements and
do something other than jump.
- DECORATE return statements can now return the result of a function
(but not any random expression--it must be a function call). To
make a jump happen from inside a multi-action block, you must
return the value of an A_Jump function. e.g.:
{ return A_Jump(128, "SomeState"); }
- The VMFunction class now contains its prototype instead of storing
it at a higher level in PFunction. This is so that
FState::CallAction can easily tell if a function returns a state.
- Removed the FxTailable class because with explicit return
statements, it's not useful anymore.
2016-02-18 20:39:40 -06:00
Edoardo Prezioso
f338e5f1c4
- Apply the fast math flags for non-MSVC, too.
...
Move the fast flags string creation in the main cmake file and use it where needed.
2016-02-18 23:13:02 +01:00
Christoph Oelckers
884a265d4a
- refactored P_FindFloorCeiling to be portal aware and cleaned up its interface.
...
A big problem with this function was that some flags required setting up some variables before calling it and others did not. It will now set everything up itself so all initializations to AActor::floorz and ceilingz that were made before these calls (which were all identical to begin with) could be removed and the internal initialization logic streamlined.
2016-02-17 21:57:52 +01:00
Christoph Oelckers
bd09664d85
Merge branch 'master' into portal
2016-02-17 12:37:11 +01:00
Christoph Oelckers
f2125ea420
- this needs a return value...
2016-02-17 12:36:56 +01:00
Christoph Oelckers
022ab95817
Merge branch 'master' into portal
2016-02-17 11:46:24 +01:00
Christoph Oelckers
5a779cc1f4
Merge branch 'master' of https://github.com/rheit/zdoom
2016-02-17 11:43:03 +01:00
Christoph Oelckers
42c6245a50
- restored A_CountdownArg to what it looked like before the scripting branch.
...
The new version did not work as expected anymore.
2016-02-17 11:42:45 +01:00
Christoph Oelckers
10a3d75556
- reviewed and adjusted ZatPoint calls in p_map.cpp.
2016-02-17 11:39:14 +01:00
Christoph Oelckers
6e4cf9699a
Merge branch 'portal' of https://github.com/rheit/zdoom into portal
2016-02-17 02:21:46 +01:00
Christoph Oelckers
0948448988
- some more checking and refactoring of ZatPoint calls.
...
- removed Plane/Floor/CeilingAtPoint functions because they are overkill for the problem they were meant to solve. Calling ZatPoint with adjusted coordinates created with AActor::PosRelative is just as easy in the few places where this is needed.
- made P_HitWater and P_CheckSplash portal aware.
2016-02-17 02:21:26 +01:00
Christoph Oelckers
5611df1f3e
- fixed the portal aware ceiling and floor functions.
2016-02-17 00:31:29 +01:00
Christoph Oelckers
fd7e6ae604
- fixed copy&paste error in LowestFloorAt.
2016-02-16 23:11:20 +01:00
Christoph Oelckers
8d53f6176e
- fixed conditions for PortalBlocksView. Created a new function PortalBlocksSight that's relevant for playsim-related sight checks.
2016-02-16 22:57:03 +01:00
Christoph Oelckers
93b3982c62
Merge branch 'zmaster' into portal
2016-02-16 22:05:50 +01:00
Christoph Oelckers
6d8879f302
- missing #includes.
2016-02-16 22:04:32 +01:00
Christoph Oelckers
ae02b2fcaf
- added NextHighestCeiling/NextLowestFloorAt functions. Not tested yet!
2016-02-16 21:00:34 +01:00
Christoph Oelckers
5fd6ccb970
- fixed incorrect #include.
2016-02-16 20:53:52 +01:00
Randy Heit
0f70d10521
Add 'float' and 'state' as possible return types for action functions
2016-02-16 12:09:00 -06:00
Christoph Oelckers
1b88052bba
- started refactoring ZatPoint calls which need to be portal aware.
...
To summarize, anything that just works with map geometry doesn't need to bother, as does the renderer. (i.e. nearly all r_* files, p_floor.cpp, p_ceiling.cpp et.al)
But all calls that are somehow related to actor positions need to be made aware of potential portal transitions:
* added FloorAtPoint, CeilingAtPoint and PlaneAtPoint methods to sector_t, which can be used to calculate a plane's height with relation to a given actor, even if that actor is on the other side of a portal.
* added HighestCeilingAt and LowestFloorAt methods which traverse all ceiling/floor portals until they find an impassable plane.
2016-02-16 16:40:53 +01:00
Christoph Oelckers
45108e9bb8
- added two missing files to CMakeLists.txt.
2016-02-16 12:52:45 +01:00
Christoph Oelckers
22e8678903
- refactored P_CollectConnectedGroups to avoid frequent heap allocations for the common cases
...
* the temporary checking arrays are now static
* the array that gets the returned values only starts allocating memory when the third touched sector group is found. The most common cases (no touched portal and one touched portal) can be handled without accessing the heap.
- did some streamlining of AActor::LinkToSector:
* there's only now version of this function that can handle everything
* moved the FIXMAPTHINGPOS stuff into a separate function.
* removed LinkToWorldForMapThing and put all special handling this function did into P_PointInSectorBuggy.
2016-02-16 12:51:10 +01:00
Christoph Oelckers
b9037ef3ee
- added a check to detect self-referencing sectors in the portal setup code because those are problem cases.
2016-02-15 21:49:46 +01:00
Christoph Oelckers
f24bf7e622
- separated FCheckPosition and its FPortalGroupTable substructure into its own header because this was creating too many dependencies on other headers with FCheckPosition in p_local.h and FPortalGroupTable in portals.h.
2016-02-15 13:40:31 +01:00
Christoph Oelckers
5664cee2e5
- fixed: The check for leftover portal sectors was not correct. It only checked the sectors the portal thing was in and those were already processed in the first phase.
...
- improved: If there's an offset mismatch, do not print group numbers as they are utterly meaningless. Instead look for a sector in each group and report those.
- added a copyright notice and some comments to portals.cpp.
2016-02-15 12:35:40 +01:00
Christoph Oelckers
afc631b537
- this wasn't saved for last night's commit.
2016-02-15 09:25:48 +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
405db83393
- added a function which collects all portal group an actor would touch if standing in a given position.
2016-02-15 00:53:59 +01:00
Christoph Oelckers
0dce22ce85
- some portal considerations.
2016-02-14 21:02:18 +01:00
Christoph Oelckers
5af53c0e62
- fixed a few more sector movers which calculated their movement at (0,0) instead of inside the sector.
2016-02-14 18:53:00 +01:00
Christoph Oelckers
126c80d597
- create the portal group table.
2016-02-14 18:16:59 +01:00
Christoph Oelckers
c338b9cde3
- some more portal preparation .
2016-02-14 16:26:27 +01:00
Christoph Oelckers
d5a1004c41
- some preparations for portal stuff:
...
* set up linked sector portals so that everything that will eventually have to be considered is present, even though the software renderer currently can't handle those adequately.
* tag all skybox things with a type so that they can easily be distinguished at run time.
* fill in the linked portal types in xlat/eternity.txt.
2016-02-14 13:12:03 +01:00
Christoph Oelckers
993a840630
- bring formatting in line with GZDoom's version of this function.
2016-02-14 12:33:47 +01:00
Christoph Oelckers
e42dbb5087
Merge branch 'master' of https://github.com/rheit/zdoom
...
# Conflicts:
# src/sound/oalsound.cpp
2016-02-13 14:56:03 +01:00
Christoph Oelckers
340faef1ec
- fixed a few 64-bit warnings.
2016-02-13 13:37:28 +01:00
alexey.lysiuk
ce8b2974a3
Handle inability of OpenAL implementation to return number of available sources
...
OpenAL specification doesn't require alcGetIntegerv() to return meaningful values for ALC_MONO_SOURCES and ALC_MONO_SOURCES.
At least Apple's OpenAL implementation returns zeroes, although it can generate reasonable number of sources.
2016-02-13 11:11:02 +02:00
Randy Heit
01bed05275
Do not use fast math for the node builder
...
- The node builder generates data used by the playsim, so should be as
consistant as we can manage across compilers and architectures.
2016-02-12 16:27:47 -06:00
Christoph Oelckers
f7e27032dc
- fixed: The default vertical spread for the BFG tracers was set to 32*FRACUNIT instead of 32*ANGLE_1.
2016-02-12 18:55:18 +01:00
Christoph Oelckers
b818624f58
- enabled fast math for all known non-playsim files in the CMake project.
2016-02-12 12:51:09 +01:00
Christoph Oelckers
e6328c8432
- enable fast floating point math in the subprojects that can benefit from it: dumb, gme and gdtoa.
2016-02-12 02:02:48 +01:00
Christoph Oelckers
d25455736a
- store floating point parameters for DECORATE properties as doubles.
2016-02-12 01:21:29 +01:00
Christoph Oelckers
73cbc59dd9
- replaced double2fixed function with FLOAT2FIXED macro.
2016-02-11 22:57:26 +01:00
Christoph Oelckers
bf03ea496e
- fixed: instant sector movement actions must actually delete the created interpolation right away and not wait until it deletes itself.
2016-02-11 22:03:09 +01:00
Christoph Oelckers
c5c4ec83c2
- ensure thar PRINTNAME_LEVEL always uses uppercase.
2016-02-11 21:45:34 +01:00
Christoph Oelckers
158caf78a0
- more float to double conversion.
...
In particular this removes all assignments of FIXED2FLOAT to double variables because they not only lose precision but also generate unnecessary code.
2016-02-11 21:33:30 +01:00
Christoph Oelckers
34255908b0
- fixed: Initialization of spawn IDs from MAPINFO and DECORATE was in the wrong order. (looks like a badly resolved merging conflict)
2016-02-11 20:41:04 +01:00
Christoph Oelckers
584147b8bb
- removed all occurences of FVector2 and FVector3 from the playsim code.
2016-02-11 20:01:12 +01:00
Christoph Oelckers
64dabc3c0b
Merge branch 'master' of https://github.com/rheit/zdoom
2016-02-11 19:13:48 +01:00
Christoph Oelckers
33cdb4d816
- replaced all single precision floats in p_slopes.cpp with doubles.
...
I don't think we want to have precision and reliability issues in such a vital part of the engine...
2016-02-11 19:13:29 +01:00
MajorCooke
dcfdb50307
- Fixed: checkz wasn't used.
...
- Use 0 instead of false.
2016-02-10 18:04:59 -06:00
MajorCooke
fefdb266cd
- Fixed: The coordinates need to be converted to doubles first. Also use length instead of length squared.
2016-02-10 17:48:17 -06:00
MajorCooke
e04fe06226
GetDistance Non-Action (Double version)
...
- Added GetDistance(bool checkz, ptr = aaptr_target).
- Returns the distance of an actor. Must be target, master or tracer.
2016-02-10 17:13:50 -06:00
Christoph Oelckers
646f7a1f90
Merge branch 'ChaseDontTurnScript' of https://github.com/MajorCooke/zdoom
2016-02-10 22:47:41 +01:00
Christoph Oelckers
d712686122
- fixed: A_CountdownArg could no longer access the first arg.
...
The latest bit of refactoring turned a '<0' check into '>0', while it should have been '>=0'.
2016-02-10 21:56:45 +01:00
Christoph Oelckers
7e45c49c2f
- fixed: The expression evaluator must ignore the action function symbol for ACS_NamedExecuteWithResult.
...
This is necessary because otherwise the incompatible action function will take precedence over the special handling for this inside FxFunctionCall.
2016-02-10 21:48:28 +01:00
Christoph Oelckers
4428d073d5
- fixed: code generation for floating point negation was wrong.
2016-02-10 20:08:19 +01:00
Christoph Oelckers
1c0cd16d3f
- fixed: AActor::SetState must restore the 'state' member to the actual calling state after it detected OF_StateChanged.
...
This is needed to decide how the '####' and '----' placeholders should behave.
2016-02-10 18:13:20 +01:00
Christoph Oelckers
d18a839836
- to prevent further occurences of ValueType == 0 being misinterpreted, change it to signify unknown value type and ensure that any real type is non-zero.
2016-02-10 17:11:50 +01:00
Christoph Oelckers
85a3cd984d
- fixed: ParseParameter should not make any assumptions about the necessity of a type cast between int and float.
...
With late resolving it cannot be guaranteed at this point and caused some incorrectly compiled code. Since the cast gets optimized away anyway when not needed there's no point being this selective with applying it.
2016-02-10 17:06:33 +01:00
Christoph Oelckers
a7254a4af5
- removed the conversion operators from the fixedvec structs (again)
...
They must have been accidentally left in by not properly resolving a merge conflict, I guess.
2016-02-10 14:43:04 +01:00
Christoph Oelckers
d1b2ef5368
- some refactoring of olddecorations.cpp to move some repeated code into a subfunction.
2016-02-10 14:38:08 +01:00
Christoph Oelckers
b5029e0976
- call the native A_BossDeath directly instead of going through the VM-enabled action function.
...
- undo some formatting screwup in a_clericstaff.cpp.
2016-02-10 13:57:21 +01:00
Christoph Oelckers
dd55e0a4c4
- cleaned up a_painelemental.cpp.
...
No need to expose VM stuff this openly here.
2016-02-10 13:34:16 +01:00
Christoph Oelckers
e2de258498
- remove debug output.
2016-02-10 12:09:14 +01:00
Christoph Oelckers
3e5d1feecd
- fixed: A_CheckProximity could return unmorphed player pawns of currently morphed players.
2016-02-10 11:58:54 +01:00
Christoph Oelckers
dde9336235
- silence floating point conversion warnings in oalsound.cpp
2016-02-10 11:29:32 +01:00
Christoph Oelckers
15177c34f9
Merge branch 'master' of https://github.com/rheit/zdoom
2016-02-10 10:05:14 +01:00
Christoph Oelckers
bc616dbf06
- fixed: APowerupGiver::PowerupType also needs replacement handling for placeholder classes.
2016-02-10 10:04:52 +01:00
MajorCooke
e043a89f15
Forgot to save this with the last commit.
2016-02-09 23:19:28 -06:00
MajorCooke
e73a737350
When about to hit a new floor, don't change the direction of the actor if STOPIFBLOCKED is up.
2016-02-09 23:16:15 -06:00
MajorCooke
ebe6cef7cc
This was a little too far in.
2016-02-09 22:57:54 -06:00
MajorCooke
4fcc9efea0
- Fixed A_Wander calling --movecount too soon.
...
- Also added NORANDOMTURN flag accountability for A_Wander.
2016-02-09 22:45:59 -06:00
Braden Obrzut
65b70dedaa
- Fixed: Heretic powered firemace balls didn't seek their target.
2016-02-09 23:34:14 -05:00
Braden Obrzut
f33993dcb5
- Load OpenAL at runtime for all platforms because I can't think of a good reason not to handle them all the same right now.
2016-02-09 22:40:19 -05:00
Christoph Oelckers
3358181f18
- cleaned up the class data organization:
...
* moved RestrictedToPlayerClass and ForbiddenToPlayerClass arrays to AInventory.
* moved all copy-from-parent code into DeriveData functions.
2016-02-10 00:46:51 +01:00
Christoph Oelckers
6ce0c9f78e
- split up PClass::Derive and its child functions because part of them is also needed when initializing an inherited native class with the properties of its parent - but calling the base version in PClass is not possible.
...
- moved a few AActor properties out of the EXE so that I could easily test if it works.
2016-02-10 00:17:00 +01:00
Christoph Oelckers
b484cbf18a
- fixed: It is not guaranteed that the class object that is created by FindClassTentative actually matches the real object that is required later, so it needs to be replaced wherever it could be referenced once the real object is created.
...
- removed some unneeded code from earlier attempts to fix the class type resolving issue.
2016-02-09 23:08:51 +01:00
Christoph Oelckers
ff70cf1ee7
- fixed: Resolving non-constant DECORATE expressions must be delayed until everything has been parsed.
...
If done as before, forward-declared classes cannot be found, and the immediate resolving is only needed for constant expressions, so explicitly enabling it in the 4 places where it is needed ensures that those unresolvable expressions remain intact until the final processing pass righr before the code generator is started.
2016-02-09 19:02:44 +01:00
Christoph Oelckers
5261acce1d
- undid incorrect part of CheckClass fix.
2016-02-09 17:55:43 +01:00
Christoph Oelckers
bcfb437302
- fixed message output.
2016-02-09 15:06:55 +01:00
Christoph Oelckers
78ac944242
- allow optional terrain definitions
...
... because any Doom terrain WAD would otherwise spam the logfile with messages when running an error log batch.
2016-02-09 14:38:42 +01:00
Christoph Oelckers
4d2a52418f
- added an errorlog option.
...
This cuts down on as much message noise as possible, outputs everything to a file specified as a parameter and then quits immediately, allowing this to run from a batch that's supposed to check a larger list of files for errors.
Multiple outputs get appended if the file already exists.
2016-02-09 14:20:49 +01:00
Christoph Oelckers
6c92525fcd
- added an option to FindClassTentative to make eventual failure to declare the missing class non-fatal.
...
Damn those old mods with broken actor references. Thanks to those FxClassTypeCast may not throw fatal errors.
2016-02-09 12:26:00 +01:00
Christoph Oelckers
26b657b637
Merge branch 'master' of https://github.com/rheit/zdoom
2016-02-09 11:51:39 +01:00
Christoph Oelckers
8823b60c0d
- fixed: FxClassTypeCast must use FindClassTentative to get the class type.
...
This function may well be invoked before a class is actually defined, so it needs to create a placeholder to be filled in later.
2016-02-09 11:51:19 +01:00
John Palomo Jr
88f6157984
Fixed: Player color slider size/position was wrong when using language strings.
2016-02-09 02:49:28 -05:00
Randy Heit
f0b4962052
Fix: CountInv must return a value if the caller's expecting one
2016-02-08 22:21:42 -06:00
Randy Heit
8d159b8506
Add OF_StateChanged handling to NoDelay
2016-02-08 22:11:42 -06:00
coelckers
1ca2293983
Merge pull request #538 from MajorCooke/CountInv
...
CountInv(itemtype, ptr_select)
2016-02-08 21:06:30 +01:00
Christoph Oelckers
0a7b17c469
Merge branch 'master' of https://github.com/rheit/zdoom
2016-02-08 21:01:46 +01:00
Christoph Oelckers
ceba4b0dae
- fixed: old style DECORATE must use exactly the same method to store the damage function as the modern version.
...
The difference in handling crashed with Daedalus.
2016-02-08 21:01:25 +01:00
MajorCooke
124e0458cf
- Fixed: A_CheckProximity could trigger an assert because the flags and ptr were not flagged as optional.
...
- Fixed: CPXF_ANCESTOR no longer worked for some reason because apparently the IsAncestorOf() functionality has changed. Use IsKindOf instead.
2016-02-08 10:26:18 -06:00
Christoph Oelckers
c940c2ba81
- fixed: The counters for the whirlwind were initialized too late, the first time they are needed is in P_CheckMissileSpawn, which gets called from inside P_SpawnMissile. Also took the opportunity and moved them to properties that are accessible from DECORATE.
2016-02-08 13:34:54 +01:00
Christoph Oelckers
43b4d452db
Merge branch 'ChaseThresholdScript' of https://github.com/MajorCooke/zdoom
...
# Conflicts:
# src/version.h
2016-02-08 13:06:08 +01:00
Christoph Oelckers
6d0ef7a9da
- added conversion macros to convert floating point angles to angle_t, using xs_Float.h, and replaced all occurences in the code with them (let's hope I found everything.)
...
Converting a floating point value that is out of range for a signed integer will result in 0x80000000 with SSE math, which is used exclusively for this purpose on modern Visual C++ compilers, so this cannot be used anywhere.
On ARM there's problems with float to unsigned int conversions.
xs_Float does not depend on these
2016-02-08 12:10:53 +01:00
Randy Heit
7b42093dc9
Revert "- fixed incorrect code generation for '||' operator (at least I hope it's fixed now.)"
...
This reverts commit 2a89a9f1d8
.
2016-02-07 21:59:45 -06:00
Randy Heit
ecef5647d4
Merge branch 'scripting'
2016-02-07 21:58:38 -06:00
Randy Heit
138cdccaf9
Fix code generation for && and ||
...
- The test condition should be the same for both sides of the operators.
2016-02-07 21:56:56 -06:00
Christoph Oelckers
2a89a9f1d8
- fixed incorrect code generation for '||' operator (at least I hope it's fixed now.)
2016-02-07 21:36:02 +01:00
Christoph Oelckers
5b74d417fa
Merge branch 'master' of https://github.com/rheit/zdoom
2016-02-07 16:32:11 +01:00
Christoph Oelckers
e3bf1dd92b
- for ARM compatibility, direct float -> unsigned int conversions should be avoided.
2016-02-07 16:31:55 +01:00
alexey.lysiuk
7fa5cb788b
Fixed regression with getting/setting user variables
...
See http://forum.zdoom.org/viewtopic.php?t=50727
2016-02-07 15:32:55 +02:00
Christoph Oelckers
f625be61a2
- fixed: CMake should not disable OpenAL on Windows if it can't find the library (which is neither needed nor requested anymore.)
2016-02-07 13:30:28 +01:00
Christoph Oelckers
111e97e47c
Merge branch 'master' of https://github.com/rheit/zdoom
2016-02-07 12:27:29 +01:00
Christoph Oelckers
fcb7553166
- fixed offset calculation in A_VileAttack.
2016-02-07 12:27:11 +01:00
coelckers
f2f65d7f31
Merge pull request #545 from MajorCooke/facefix
...
A_Face Fix
2016-02-07 11:49:19 +01:00
Christoph Oelckers
7226a23d08
Merge branch 'master' of https://github.com/rheit/zdoom
2016-02-07 11:36:28 +01:00
Christoph Oelckers
3675492ab4
- fixed DEHACKED code pointer validation for real.
...
The first fix missed a second place where this happened and was incomplete.
Anything usable by Dehacked must be VARF_ACTION and VARF_MEMBER in order to work as intended.
2016-02-07 11:36:09 +01:00
John Palomo Jr
0619245280
Fixed: ValueText didn't read language strings from OptionValues when using the third parameter.
2016-02-07 03:21:18 -05:00
MajorCooke
10fec95cd5
- Fixed: the last FAF_NODISTFACTOR flag was never removed.
2016-02-07 01:36:59 -06:00
Randy Heit
5ee988f607
Fixed: Applying reverb with FMOD 4.36.yy killed sound
...
- It turns out that the FMOD_REVERB_PROPERTIES structure actually changed
with 4.36.00 and not with 4.38.00.
2016-02-06 19:29:13 -06:00
Randy Heit
cbfb24ef33
Disable -file ""
...
- This isn't a real file or even a name, but the game would try and load
it, including running through various permutations, potentially resulting
in loading the current directory as an archive.
2016-02-06 17:51:09 -06:00
Christoph Oelckers
20aa7c75de
- added the case '0: switch the portal of to P_ChangePortal.
2016-02-07 00:30:27 +01:00
Christoph Oelckers
e726143c15
Merge branch 'master' of https://github.com/rheit/zdoom
2016-02-06 21:17: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
MajorCooke
63735e4118
Turns out this token wasn't needed.
2016-02-06 13:52:08 -06:00
MajorCooke
ccf887c978
Fixed wrong type.
2016-02-06 13:49:16 -06:00
coelckers
1480fa7579
Merge pull request #542 from alexey-lysiuk/fix_openal_nonwin
...
Fixed build with OpenAL on non-Windows systems
2016-02-06 20:11:48 +01:00
Braden Obrzut
1101546e9c
- Fixed: Possible CMake wrong number of parameters configuration error.
2016-02-06 13:06:25 -05:00
alexey.lysiuk
46267f52d6
Fixed build with OpenAL on non-Windows systems
...
We still need to link with OpenAL library on OSes other than Windows
2016-02-06 10:58:25 +02:00
Christoph Oelckers
0ab3051f75
- fixed: Heretic's timebombs were spawned at the wrong place.
2016-02-06 08:52:37 +01:00
Christoph Oelckers
34216ddd8e
Merge branch 'master' of https://github.com/rheit/zdoom
...
# Conflicts:
# src/CMakeLists.txt
2016-02-06 05:28:53 +01:00
Christoph Oelckers
275ced288b
- we no longer link to the OpenAL import library so the respective handling can be removed from CMakeLists.txt.
2016-02-06 05:26:37 +01:00
Randy Heit
47d33c1ef5
Fixed: A_Set(Float)Speed take FIXED speed, not INT
2016-02-05 22:24:12 -06:00
Randy Heit
c978aa32b1
Fix FxRandomPick code generation for floats
2016-02-05 22:18:54 -06:00
Randy Heit
48dcbabd60
Emit a message when trying to use something non-integral as a boolean
...
- It's not exactly optimal, since it silently removes the offending
expression, but it's better than crashing.
2016-02-05 22:18:54 -06:00
Randy Heit
09a17c2198
Quiet some narrowing conversion warnings from VS2015
2016-02-05 22:18:53 -06:00
Randy Heit
0892650465
Don't add /delayload for OpenAL stuff if OpenAL is disabled
...
- Also, I believe openal32.dll no longer needs a /delayload flag since
it's dynamically loaded now.
2016-02-05 22:18:53 -06:00
Christoph Oelckers
d50e874d9b
Merge branch 'master' of https://github.com/rheit/zdoom
2016-02-06 05:16:53 +01:00
Christoph Oelckers
d76bcee393
- added some line portal restrictions:
...
* linked portals may never have a z-offset so the parameter for that needs to be ignored.
* for interactive portals, handling z-displacements when some distance calculation reaches through a portal is way too extensive and problematic to ever have a chance of really working. If such a portal gets defined it will be changed to a teleport-only portal and a message printed.
2016-02-06 05:16:35 +01:00
Braden Obrzut
dce3f0f757
- Bump CMake version requirement to 2.8.7. This means that generator expressions must be supported as well as empty else and endif expressions (like most sane languages). ZDoom probably didn't work with 2.4 anymore anyway.
2016-02-05 21:19:29 -05:00
Randy Heit
4fb65d74fd
Fix address NO_SANITIZE macro for Clang
...
- Oops. In fixing it for GCC (since it doesn't like
__has_feature(address_sanitizer), I broke it for Clang.
2016-02-05 18:06:45 -06:00
Christoph Oelckers
501af18168
- added missing include.
2016-02-06 01:04:15 +01:00
Christoph Oelckers
ed7b7fc0ba
- fixed: The backlink portal for EE-style definition needs to be done along with the first portal because the code won't find the anchor line itself.
2016-02-06 00:21:44 +01:00
Christoph Oelckers
ee3c41bf7b
- fixed: The minimum parameter count for an action function is 3, so the DEHSUPP parser needs to take this into account when validating the code pointers.
2016-02-06 00:19:38 +01:00
Christoph Oelckers
95f3a9909c
Merge branch 'master' of https://github.com/rheit/zdoom
2016-02-05 23:51:50 +01:00
Christoph Oelckers
e88901f4b7
- added the EE-Extradata parser I wrote for GZDoom so I can use the Vaporware demo map for testing portal stuff.
2016-02-05 23:51:28 +01:00
Randy Heit
cb6504669d
Add return statements for DECORATE.
2016-02-05 16:34:51 -06:00
Christoph Oelckers
1201ad0366
Merge branch 'master' of https://github.com/rheit/zdoom
2016-02-05 23:16:06 +01:00
Christoph Oelckers
94b7ef72ca
- more cleanup on portal implementation:
...
- store portal data in a separate structure.
- store portal data in savegames because some of this will be changeable later.
- run a cleanup pass after all portals have been created to weed out broken ones.
- add a definition type that's compatible with Eternity Engine's line portal types.
- swapped arg[2] and arg[3] of Line_SetPortal, because the type is more significant than the alignment.
2016-02-05 23:15:56 +01:00
Randy Heit
3ad2e4191d
Remove fudging from the end of (O)WallMost
...
- This might have been added in an effort to fix problems caused by mixing inclusive
and exclusive right edges. It might not be needed anymore. Let's find out...
2016-02-05 16:08:20 -06:00
Randy Heit
26eb335622
Quiet a couple GCC warnings
2016-02-05 16:07:18 -06:00
Randy Heit
4228721351
Enable running when built with Clang's -fsanitize=address
2016-02-05 16:04:50 -06:00
Christoph Oelckers
9eaefc3685
- initialize portals with all other static line specials instead of doing it separately in P_FinishLoadingLineDefs when the map isn't fully set up yet.
...
- replace all float use in portal.cpp with doubles.
2016-02-05 16:58:57 +01:00
Christoph Oelckers
a85a8c1465
- changed mirror handling so that it works without attaching a portal to the mirror line and removed line_t::portal_mirror member.
...
- did some cleanup on the portal interface on linedefs: All checks should go through isLinePortal (gameplay related) and isVisualPortal (renderer related) which then can decide on the actual data what to return.
- removed portal_passive because it won't survive the upcoming refactoring.
- removed all direct access to portal members of line_t.
- always use the precise (and fast) version of P_PointOnLineSide inside the renderer.
2016-02-05 16:14:45 +01:00
Christoph Oelckers
00895c245e
- mpved all software renderer specific code for the portals into the render sources.
2016-02-05 15:39:06 +01:00
Christoph Oelckers
01b075660d
- removed the option to toggle portals with SetLineSpecial.
...
This is to keep some people from jumping the gun on this and preventing the implementation of a proper toggling mechanism.
The feature itself will come back, but differently.
- removed portal setup from Build maps
they don't define it anyway so it makes no sense to have it there. Once this code gets refactored this will be in a different place that's identical for all map types.
2016-02-05 14:34:01 +01:00
Christoph Oelckers
6639984772
- removed Line_SetVisualPortal special. This will be folded into Line_SetPortal later
2016-02-05 14:24:20 +01:00
Randy Heit
2516b8f8af
Adjusted the assert conditions in DoJump()
...
- With multiple A_Jump calls possible in a single action now, it is now
possible for DoJump() to be called with a callingstate that does not
match self->state because the state had been changed by a prior A_Jump
in the same action function.
2016-02-05 06:41:27 -06:00
Christoph Oelckers
9d77244b3f
- we are past 2.8 now so the version numbers should reflect that.
2016-02-05 12:03:59 +01:00
coelckers
297ffc5889
Merge pull request #536 from edward-san/pclass_alloc_mismatch
...
- Fixed alloc/dealloc mismatch in PClass code.
2016-02-05 11:24:06 +01:00
Christoph Oelckers
3a57036f60
- a simple command line parameter is probably more suitsble for controlling the disassembly output.
2016-02-05 11:20:32 +01:00
Christoph Oelckers
312117b0bc
- disable script disassembly output by default. It's now controlled by a CVAR.
2016-02-05 10:56:15 +01:00
Christoph Oelckers
353608f2b9
- added a few FString variants for frequently called functions.
2016-02-05 10:52:10 +01:00
Christoph Oelckers
76c5039c63
Merge branch 'master' of https://github.com/rheit/zdoom
2016-02-05 10:41:05 +01:00
Christoph Oelckers
8da6483223
- fixed some places where FStrings were incorrectly used.
...
- replace all implicit conversions from FString to const char * in the header files (so that it can be test compiled with the implicit type conversion turned off without throwing thousands of identical errors.)
2016-02-05 10:40:45 +01:00
Christoph Oelckers
c8d25378d5
- fixed type confusion with ?: operator in FMugShot::GetFace.
2016-02-05 10:08:49 +01:00
Braden Obrzut
ba54d73e07
Merge branch 'portals2_visual'
2016-02-05 00:10:46 -05:00
MajorCooke
35b7a5ccc1
Updated for scripting branch merge.
2016-02-04 22:41:02 -06:00
MajorCooke
1f8d425a1e
- Added CountInv(itemtype, [ptr_select]).
...
- Returns an inventory item count.
2016-02-04 21:45:31 -06:00
MajorCooke
3399ed60e0
Updated to scripting branch merge.
2016-02-04 20:17:46 -06:00
Edoardo Prezioso
002177e33f
- Fixed alloc/dealloc mismatch in PClass code.
...
The function 'PClassActor::InitializeNativeDefault' is the only one which didn't allocate the 'Defaults' member variable with M_Malloc. Reported by the Address Sanitizer.
2016-02-05 03:03:34 +01:00
Christoph Oelckers
4751bffd5f
- replaced malloc.h with stdlib.h in thingdef_expression.cpp.
2016-02-05 01:26:29 +01:00
Christoph Oelckers
995169de58
Merge branch 'csgwhy' of https://github.com/Edward850/zdoom
2016-02-05 01:21:01 +01:00
Christoph Oelckers
0b7a06c714
Merge branch 'NewEESpecials'
...
# Conflicts:
# src/fragglescript/t_fs.h
2016-02-05 01:01:39 +01:00
Edward Richardson
f2025e6a2f
Fixed possible issue with GCC/Clang
2016-02-05 12:52:29 +13: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
rheit
56359b6f23
Merge pull request #342 from marrub--/fastweaponsfix
...
sv_fastweapons extension
2016-02-04 13:31:47 -06:00
Christoph Oelckers
bf066763b7
- fixed: The FPS display should use the actual font info to calculate its size, not just assume that each character is 8*8 pixels.
2016-02-04 01:20:35 +01:00
alexey.lysiuk
b9b0029373
Fixed overlapping of active artifacts with time/latency
...
Active artifacts are now displayed below time and/or latency on alternative HUD
2016-02-03 12:06:32 +02:00
alexey.lysiuk
1bf1fc199b
Adjust latency position depending on time visibility
...
Latency placement is no longer fixed:
* If time is visible, it is placed on top of the screen and latency is placed below
* If time is not visible, latency is placed on top of the screen
Both are displayed on alternative HUD only
2016-02-03 12:06:20 +02:00
MajorCooke
a1c1de9edb
Fixed merge conflicts.
2016-02-02 18:26:20 -06:00
Christoph Oelckers
66f053f131
- on second thought: this shouldn't explode the speakers with too high values.
2016-02-02 15:02:06 +01:00
Christoph Oelckers
c002c2fde9
- added a mastervolume setting for DUMB because its default volume is far less than all the other music options.
2016-02-02 14:45:32 +01:00
coelckers
5d19901cb7
Merge pull request #529 from alexey-lysiuk/fix_creative_openal
...
Fixed build with Creative Labs OpenAL SDK
2016-02-02 12:01:25 +01:00
Christoph Oelckers
0db679c90d
- fixed clang compile error.
2016-02-02 10:53:56 +01:00
alexey.lysiuk
90dd6b61b4
Fixed build with Creative Labs OpenAL SDK
...
Tested with
* Creative OpenAL from https://www.openal.org/downloads/OpenAL11CoreSDK.zip
* OpenAL Soft from http://kcat.strangesoft.net/openal-binaries/openal-soft-1.17.1-bin.zip
2016-02-02 10:29:23 +02:00
Randy Heit
c9d81dff53
Use absolute value of Y scale for 3D midtex
...
- Somebody might want to set a midtexture's Y scale negative to flip it
vertically. I'm pretty sure this would mess up 3D mid textures if we
don't make it positive again for those.
2016-02-01 21:07:09 -06:00
Randy Heit
6b6c1af0dc
Add support for Y flipped non-vertically tiling masked midtextures
2016-02-01 21:07:09 -06:00
Randy Heit
03f0e1dc5c
Remove something that looks like 3D floor development garbage
2016-02-01 21:07:08 -06:00
Christoph Oelckers
6b75f14c0f
- fixed some Linux/GCC warnings.
2016-02-02 01:04:59 +01:00
Christoph Oelckers
fe3e56c6bc
- fixed: oalload.h should only do stuff is NO_OPENAL is not defined.
2016-02-01 18:49:12 +01:00
Christoph Oelckers
ee045371a3
- On Windows, use LoadLibrary/GetProcAddress to load OpenAL function addresses.
...
The reason for this is that on my system, the static or delay loaded method always picks the (obsolete) system-installed OpenAL version (needed for some old games) which is not wanted here if there's another one in the local ZDoom directory.
This also removes the dependency on the broken import library that comes with OpenAL Soft which causes compile errors with more modern MSVC compilers on default settings.
2016-02-01 14:02:25 +01:00
Christoph Oelckers
e0608f50d1
- create a separate translation table for Heretic's rain pillar.
...
These objects are supposed to be bright, but the standard translations for player do not take this into account, creating dark and/or invisible projectiles depending on the color being used.
The new translation uses hue and saturation from the player color, but combines brightness from the original color with the one for the player in an 8:2 ratio, so that no matter for the player color, these always remain bright and visible.
2016-02-01 10:45:33 +01:00
Christoph Oelckers
58196f77ff
Merge branch 'master' of https://github.com/rheit/zdoom
2016-02-01 10:00:39 +01:00
Christoph Oelckers
fd2828b1fe
- fixed typo in monster movement code.
2016-02-01 10:00:19 +01:00
Randy Heit
2f4dc17954
Add support for face sprite Y flipping
2016-01-31 22:05:32 -06:00
Randy Heit
809a9d801c
Got a flag backwards
2016-01-31 21:23:45 -06:00
Randy Heit
0b9aeb33e1
Fixed potential divide by 0 when drawing voxels
...
- Since voxels can have their origin behind the viewer and still have a
portion visible in front of the viewer, they aren't clipped to MINZ like
face sprites are. The 3D floor handling in R_DrawSprite() neglected to
clamp it when recalculating the diminished light colormap.
- Aside, but R_DrawSprite() probably shouldn't be messing with these
properties at all. Why isn't this done in R_ProjectSprite() before it
ever gets to the drawing part?
2016-01-31 20:52:56 -06:00
Randy Heit
1d0a3d19c8
Fix a part in maskwallscan that was missed for right-edge exclusivity
2016-01-31 20:45:37 -06:00
Edoardo Prezioso
4cbf752b4d
- Fixed uninitialized variable in level info code.
...
Found with Valgrind.
2016-01-31 23:19:34 +01:00
Christoph Oelckers
a1cd0401e4
- fixed: noclip2 should only set some minimal velocity if the player has none.
2016-01-31 22:38:08 +01:00
Christoph Oelckers
8068fca601
- fixed: player_t::Uncrouch should only reset the view height if the player is actually crouched.
2016-01-31 22:36:37 +01:00
coelckers
c3cc98b5f3
Merge pull request #523 from alexey-lysiuk/osx_fullscreen
...
Final touches to fullscreen mode on OS X
2016-01-31 16:56:35 +01:00
coelckers
09e2f212a0
Merge pull request #524 from alexey-lysiuk/hexen_mac_beta
...
Added support for Hexen Mac beta
2016-01-31 16:55:23 +01:00
MajorCooke
eb2829ad5e
- Added CBF_DROPOFF to A_CheckBlock. Checks for actors stuck in tall ledges or dropoffs.
2016-01-31 09:45:41 -06:00
Randy Heit
219b6f7c5d
Fix R_DrawFogBoundary for right-edge exclusivity
2016-01-31 06:51:11 -06:00
alexey.lysiuk
1798fab973
Added support for Hexen Mac beta
...
It's very similar to Mac demo but also contains MAP41: Maze like DOS full version 1.0
2016-01-31 12:53:22 +02:00
alexey.lysiuk
7b0f557514
Enabled zoom window button on OS X
...
Independently from OS version the game will enter fullscreen mode when zoom button is clicked
Window zooming behavior introduced in Yosemite is available on all supported versions of OS X
2016-01-31 10:42:16 +02:00
Randy Heit
240ca2af4c
Use consistant right-edge rules in the renderer.
...
- The original Doom renderer was inclusive for all right edges. This was
fine for the wonky projection it did. This was not fine for a standard
perspective divide, so I had to change walls to be right-edge exclusive
when I changed the projection. I only touched what was needed. Until
now. The right edge is always exclusive now, which should prevent any
more bugs related to mixing the two clusivities incorrectly.
2016-01-30 21:27:35 -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
939989dc8c
- fixed crash when trying to cache nodes for a map that has no two-sided walls and no minisegs.
...
Under these conditions there are no partner segs and the glsegextras array is NULL.
2016-01-31 01:05:31 +01:00
Christoph Oelckers
46024398fe
- fixed: Change FCheckPosition::LastRipped to a TMap so that it can track multiple overlapping actors being ripped during the same tic.
2016-01-30 22:06:04 +01:00
Christoph Oelckers
06fdb6ca45
- fixed: The reverb editor failed to open in fullscreen mode at desktop resolution.
...
According to Blzut3:
The issue happens when the fullscreen resolution is the same as the desktop resolution. In this case WM_DISPLAYCHANGE doesn't occur so the editor never appears. This appears to be fixable by also catching WM_STYLECHANGED since at the very least the window caption will appear/disappear.
2016-01-30 21:49:03 +01:00
alexey.lysiuk
6bce5ddc4b
Scale of player's skin is now preserved on corpses after reborn
2016-01-30 18:30:20 +02:00
coelckers
ccce6f44a2
Merge pull request #518 from Edward850/Particle-clamp
...
Clamped r_maxparticles to the internal limit
2016-01-30 15:21:55 +01:00
Christoph Oelckers
36911bac4b
- fixed memory allocation type mismatch in demo code.
2016-01-30 15:17:46 +01:00
Christoph Oelckers
afcd755c7a
- changed autoaim menu option to a slider which allows a more precise control of the property.
...
- having a value of 5000 as the default for autoaim makes no sense, since this is an angle value that will always be clamped to [0..35]. So now 35 is both the default and the maximum.
2016-01-30 13:43:39 +01:00
Christoph Oelckers
3b5af8484c
Merge branch 'master' of https://github.com/rheit/zdoom
2016-01-30 12:59:37 +01:00
Christoph Oelckers
0a0a2c4a41
- removed a warning.
2016-01-30 12:59:15 +01:00
Christoph Oelckers
fab186786e
Merge branch 'PlayerTransition' of https://github.com/Edward850/zdoom
2016-01-30 12:52:50 +01:00
Christoph Oelckers
0ddf9db8dd
- fixed: Uncrouching a player also needs to reset the viewheight to its default.
2016-01-30 12:51:15 +01:00
alexey.lysiuk
6166520b33
Do not respawn on damaging floors when sv_samespawnspot is enabled
...
See http://forum.zdoom.org/viewtopic.php?t=47191
2016-01-30 12:50:19 +02:00
Christoph Oelckers
1285dde615
Merge branch 'master' of https://github.com/rheit/zdoom
2016-01-30 11:34:13 +01:00
Christoph Oelckers
b84207a089
- use scaling, render style and alpha when drawing the cast call.
2016-01-30 11:33:55 +01:00
Edward Richardson
40d90ba325
Game still needs to abort if no starts exist at all
2016-01-30 22:26:47 +13:00
Edward Richardson
fe52f98459
Clamped r_maxparticles to the internal limit
2016-01-30 22:04:09 +13:00
Edward Richardson
c1e362ee83
Added level transition spawning for missing starts
...
- Additional player bodies are spawned for any absent starts in co-op.
- Removed now-redundant bot start limitation
2016-01-30 22:02:27 +13:00
Braden Obrzut
5317a92d11
Merge branch 'RadiusGiveExp2'
2016-01-30 00:27:44 -05:00
Braden Obrzut
5d6e8a7338
- Fixed: Possible timer overflow in PowerTimeFreezer.
2016-01-30 00:18:38 -05:00
Braden Obrzut
a34a7ace18
- Some resolutions between 320x200 and 640x400 had non-square clean scaling factors. Maybe there was a reason for this in the past, but I can't think of a case where it'd actually look better to have 1:2 scaling in the menus and someone reported it.
2016-01-29 23:37:38 -05:00
Braden Obrzut
1fcb9fcf06
- Fixed: Crash when automatically switching sound backends due to failure.
2016-01-29 23:10:10 -05:00
MajorCooke
eeca536d9a
Clean up a few things.
2016-01-29 10:41:05 -06:00
Christoph Oelckers
a41dc24086
- fixed: 3D lights should override the sidedef's regular light completely, that includes relative light added by UDMF's 'light' property.
...
- Renamed the 'noabsolute' parameter in side_t::GetLightLevel to 'is3dlight', what it actually is, to avoid the confusion that caused the abovementioned error.
- fixed: The Down2Up render path for sides of 3D floors had the 'is3dlight' check inverted.
2016-01-29 14:55:31 +01:00
Christoph Oelckers
c6c15fe83c
- fixed: AActor::SpawnPoint[2] must store the actor's height above the sector's floor, not above floorz. floorz will represent the current floor the actor is standing on, which may be a 3D floor or a 3D midtexture, but both respawn functions which use this value work from the actual sector floor.
2016-01-29 13:40:37 +01:00
Christoph Oelckers
08e5e1c145
- restored the velocity threshold checks in A_MaceBallImpact2 and A_DeathBallImpact to their original Heretic form, minus the check for floorz, to account for potential positioning issues with slopes.
...
These checks had some major issues:
* they calculated incorrect positive values for hitting a ceiling
* the way they used the plane equations made some incorrect assumptions.
* velz has the velocity reduction from bouncing already factored in from the calling code so doing it here again is not necessary.
2016-01-29 12:44:38 +01:00
Christoph Oelckers
fe271b4e78
- fixed: A_MaceBallImpact2 was missing a check for hitting some liquid terrain.
2016-01-29 12:21:35 +01:00
Christoph Oelckers
7b1fbe0a02
- fixed: P_TeleportMove was missing checks for THRUACTORS and THRUSPECIES flags.
2016-01-29 11:29:47 +01:00
Christoph Oelckers
f8d5430c06
- fixed: When changing 'noclip2' some minor lateral velocity should be set to ensure that all internal variables contain proper values.
2016-01-29 11:11:10 +01:00
Christoph Oelckers
94611588d5
Merge branch 'master' of https://github.com/rheit/zdoom
2016-01-29 10:55:04 +01:00
Christoph Oelckers
674b81a6b1
- fixed: The 3D floor light list should use the last light starting above the ceiling, not the first one.
...
- fixed: ExtraFloor_LightOnly type 2 was behaving like type 0. Instead anything interrupting it should reset to the sector's own light level.
2016-01-29 10:54:44 +01:00
Randy Heit
87dee5c611
Fixed: Co-op players could spawn at (0,0) if no start spots for them
...
- Check if a co-op start exists. If not, pick one at random.
- Don't telefrag other players when spawning in co-op games, since
you're allowed to move out of other players now.
2016-01-28 20:08:09 -06:00
Christoph Oelckers
c5161ee748
- fixed: A_Face* mixed angle and distance values in the same parameter. Fixed by separating these into two.
...
- removed the intermediate A_Face* functions, except a bare-bones A_FaceTarget as needed by the monster AI code.
2016-01-28 20:44:10 +01:00
MajorCooke
772f086a5e
Fixed broken aiming with A_CheckLOF.
2016-01-28 12:24:40 -06:00
Christoph Oelckers
6715a97d6e
- removed debug output from previous commit.
2016-01-28 12:04:47 +01:00
Christoph Oelckers
dfcee625db
- fixed: The ACS String garbage collector only looked at the active script's stack but never considered a recursive call from another script.
...
Fixing this required adding an external list of active stack objects that the garbage collector can access.
A nice side effect: It's no longer necessary to pass around the stack info to various functions that might end up triggering a garbage collection.
2016-01-28 11:56:47 +01:00
Christoph Oelckers
1a4b3bbe11
Merge branch 'master' of https://github.com/rheit/zdoom
2016-01-28 09:20:55 +01:00
Christoph Oelckers
724e625f16
- fixed: Loading an old savegame from before the sector damage refactoring cleared the extended Boom sector flags before processing them.
2016-01-28 09:20:27 +01:00
MajorCooke
2da868656e
Finalize loop and prioritize missile searching.
2016-01-27 15:22:05 -06:00
MajorCooke
846f14c03d
Remove the loop.
2016-01-27 14:56:06 -06:00
MajorCooke
79177cf98e
Set up the subfunction.
2016-01-27 14:54:46 -06:00
rheit
f36bdc474d
Merge pull request #421 from alexey-lysiuk/video_mode_menu
...
Fixed selection of empty items in Video Mode menu
2016-01-27 13:30:05 -06:00
Randy Heit
2d40874cfa
Make finishgame CCMD net-aware
2016-01-27 13:19:15 -06:00
MajorCooke
9a422245f3
- Fixed a couple issues with calling P_NewChaseDir from wrongful P_Move priority.
2016-01-27 13:11:22 -06:00
Randy Heit
b22a909829
Add nodelay handling to FastProjectile
2016-01-27 13:08:23 -06:00
MajorCooke
f6b3b269a7
Fixed missing movecount decrement with blocked actors.
2016-01-27 10:51:51 -06:00
MajorCooke
7798eadb8b
Moved the P_Move back inside to where it was beforehand.
2016-01-27 10:47:36 -06:00
MajorCooke
275cdcd958
Renamed A_FaceVelocity to A_FaceMovementDirection.
2016-01-27 10:12:13 -06:00
coelckers
c5379c749e
Merge pull request #428 from MajorCooke/A_CheckSPecies
...
Added A_CheckSpecies(state jump, name species, ptr = AAPTR_DEFAULT)
2016-01-27 16:45:16 +01:00
MajorCooke
ece6fa776c
- Renamed CHF_DONTANGLE to CHF_NODIRECTIONTURN.
...
- A_Wander now shares CHF_NODIRECTIONTURN and CHF_NORANDOMTURN instead of having its own flags.
2016-01-27 09:35:19 -06:00
Christoph Oelckers
7c6e070244
- fixed: line spacing was taken from a different variable in conversation display and mouse coordinate code.
2016-01-27 11:19:30 +01:00
Christoph Oelckers
4eb38f0381
- fixed: plane heighr calculations for Floor_Lower/RaiseByValue should be done at a point that's actually near the affected sector, not at (0,0), otherwise there's a risk of fixed point overflow.
2016-01-27 11:01:38 +01:00
Christoph Oelckers
c3047f448e
- fixed: When MIDI->Open returns failure, the MIDI device needs to be deleted. Otherwise the dead device object can trigger an assert later.
2016-01-27 10:39:21 +01:00
Christoph Oelckers
f2666f70dd
- removed unneeded check for 'listenactor' in S_UpdateSounds.
2016-01-27 09:56:40 +01:00
Christoph Oelckers
d2beec4585
- ensure that AInventory::Touch attributes everything to the correct player, even if the touching action results in a morph.
2016-01-27 00:56:40 +01:00
Christoph Oelckers
8993f84087
Merge branch 'master' of https://github.com/rheit/zdoom
2016-01-26 22:27:42 +01:00
Christoph Oelckers
2a1fa60aa6
Merge branch 'CheckProxExpPruned' of https://github.com/MajorCooke/zdoom
2016-01-26 18:49:03 +01:00
MajorCooke
1c0ef1d367
Removed CPXF_NODISTANCE.
2016-01-26 10:00:20 -06:00
coelckers
e397b5a475
Merge pull request #511 from MajorCooke/CheckLOFpitch
...
A_CheckLOF Pitch FIx
2016-01-26 14:44:05 +01:00
MajorCooke
cb43ce9cfc
- Fixed: A_CheckLOF was doubling up on its pitch and reversing it when without a target.
2016-01-26 07:20:55 -06:00
Christoph Oelckers
4f0cfa29b4
- missed a '!'.
2016-01-26 10:50:31 +01:00
Christoph Oelckers
623276f5a6
- fixed: All access to weapon info in DECORATE functions should be restricted to when they get called from an actual weapon, not from a CustomInventory item.
...
Issues this fixes:
* all original Doom attack functions unconditionally altered the flash state.
* A_FireOldBFG, A_RailAttack and A_Blast never checked for a valid ReadyWeapon.
* CustomInventory items could deplete an unrelated weapon's ammo.
2016-01-26 09:43:47 +01:00
Randy Heit
9f8dee45c4
Fixed: 0 was accidentally not allowed as transparent for grayscale
...
- I don't know what I was thinking when I wrote that.
2016-01-25 21:44:08 -06:00
Randy Heit
450b6de384
cRGBT::A should return 255, not 1. Whoops.
2016-01-25 21:31:21 -06:00
Randy Heit
0fc40cff0a
Fix some rare PNG tRNS chunk cases
...
- For grayscale images drawn with the paletted renderer, the value here
was treated as always full range [0,65535]. The max value is actually
determined by the bit depth.
- For RGB images drawn with the paletted renderer, the tRNS chunk was
ignored.
- For grayscale images drawn with the RGB renderer, having a tRNS chunk
present resulted in undefined behavior.
- For RGB images drawn with the RGB renderer, the tRNS chunk was ignored.
2016-01-25 21:23:53 -06:00
Randy Heit
61d033328b
Don't show "exited the level" messages after the level has exited
2016-01-25 20:18:33 -06:00
Randy Heit
774c136532
Fixed: Player.FallingScreamSpeed used minz as the maxz as well
2016-01-25 18:55:05 -06:00
Christoph Oelckers
29c38b23f3
- last commit was missing actionspecials.h.
2016-01-26 00:39:25 +01:00
MajorCooke
0be09f54bd
Particles can now scale up to 65535.
2016-01-25 15:44:11 -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
Christoph Oelckers
cf43eb6c6d
- limit particle size to 127
2016-01-25 21:08:09 +01:00
Christoph Oelckers
73ee500bea
Merge branch 'master' of https://github.com/rheit/zdoom
2016-01-25 18:58:42 +01:00
Christoph Oelckers
cef2cf4e6d
fixed parameter count for Sector_SetDamage.
2016-01-25 18:58:23 +01:00
Christoph Oelckers
7b5a77a8d8
- added various action specials and parameter extensions defined by Eternity Engine.
...
The reason for defining them is to be able to fill out the Eternity translation table for GZDoom's Extradata parser.
Most of the new specials are mere specializations of ZDoom's Generic_* functions and occupy positions above 255 to avoid filling up the last remaining free slots available for Hexen format maps.
Allowing action specials greater than 255 required a few changes:
* all access to action specials is now through a small set of access functions.
* Two new PCodes were added to ACC to handle these new specials from scripts.
* a minor change to the network protocol, so netgame and demo version numbers were bumped.
* FS_Execute is now properly defined in p_lnspec.cpp.
Two of the newly added specials - generalizations of the special 'close Door in 30 seconds' and 'raise door in 5 minutes' sector types, will also be available to Hexen format maps. The rest are limited to use in ACS, UDMF and DECORATE.
This also adds 'change' and 'crush' parameters to most Floor_* and Ceiling_* specials, again to match Eternity's feature set.
2016-01-25 18:49:56 +01:00
MajorCooke
ced35e98fb
Remove needless check.
2016-01-25 10:07:00 -06:00
Braden Obrzut
4d225e7a00
- Fixed: Mac GCC errors due to not recognizing the newly disabled warnings.
2016-01-24 23:03:59 -05:00
coelckers
3c790a80eb
Merge pull request #508 from ChillyDoom/wi_stuff-common-code
...
- Removed duplicate autoskip code.
2016-01-24 16:54:51 +01:00
Chris
1721d70212
- Removed duplicate autoskip code.
2016-01-24 14:44:47 +00:00
alexey.lysiuk
4b210a839a
Fixed uninitialized variable in IOKit controller handler
2016-01-24 14:43:55 +02:00
Christoph Oelckers
be3b84e751
Merge branch 'master' of https://github.com/rheit/zdoom
2016-01-24 11:50:54 +01:00
Christoph Oelckers
67f644c898
- fixed inverted NULL pointer check in A_SetAngle.
...
- let COPY_AAPTR check the most common case AAPTR_DEFAULT first instead of running through all the other cases for it.
2016-01-24 11:50:21 +01:00
Braden Obrzut
fd4440cfe4
- Fixed: Intermissions with no screens (such as EndTitle) would result in a double wipe.
2016-01-23 23:34:07 -05:00
Braden Obrzut
fc15be8689
- Improved DrawSwitchableImage keyslot condition to include key species.
...
- Fixed: currentpos command would crash if not in game.
2016-01-23 22:24:12 -05:00
Braden Obrzut
5abacf0b2f
- Fixed: Uninitialized variable on DrawSelectedInventory.
2016-01-23 21:40:19 -05:00
Braden Obrzut
20f7f524ca
- Don't link against sndfile and mpg123 if not compiling with OpenAL support.
2016-01-23 20:09:39 -05:00
Braden Obrzut
88a616da75
- Removed what appears to be a debug breakpoint.
...
- Cleared some GCC and Clang warnings. Mostly static analysis false positives, but one of them generated a pretty massive warning in a release build.
- Use -Wno-unused-result since I doubt we're going to address those unless they actually prove to be a problem (and they only appear in release builds).
2016-01-23 19:36:13 -05:00
Christoph Oelckers
0dabaca7df
- added some range checks to PgUp(PgDown code for option menus.
2016-01-23 21:23:02 +01:00
Christoph Oelckers
c4377b7039
- removed the implicit fixedvec -> TVector conversions because they caused too many problems. Also reviewed all uses of these and made the necessary adjustments. Problems were present in P_SpawnMissileXYZ and P_Thing_Projectile.
...
- replaced some single precision float math with doubles.
2016-01-23 20:44:33 +01:00
Christoph Oelckers
f860a344cc
Merge branch 'master' of https://github.com/rheit/zdoom
2016-01-23 17:50:01 +01:00
Christoph Oelckers
5c8fd4750f
- fixed: FInterpolator::DoInterpolations did not handle terminated interpolations properly.
2016-01-23 17:00:24 +01:00
Randy Heit
c63f65d441
Merge remote-tracking branch 'origin/master' into scripting
...
Conflicts:
src/thingdef/thingdef_codeptr.cpp
wadsrc/static/actors/constants.txt
2016-01-22 20:53:27 -06:00
MajorCooke
88f96950b5
Projectiles should set their z to floor, not add it.
2016-01-22 11:47:41 -06:00
Christoph Oelckers
da6fe6cad6
Merge branch 'master' of https://github.com/rheit/zdoom
2016-01-22 18:24:36 +01:00
Christoph Oelckers
f4f7bd5d34
- fixed a double/fixed_t mixup in P_SeekerMissile
2016-01-22 18:24:15 +01:00
coelckers
8a9df31db9
Merge pull request #501 from Edward850/MF5_NOINTERACTION-velz-fix
...
Fixed cmf_aimdirection doubling up the spawn Z
2016-01-22 12:32:08 +01:00
Christoph Oelckers
01aaef1528
- fixed: The P_DamageMobj call for damaging sectors should be skipped completely if godmode is on, so that instant damage sectors don't kill an invulnerable player.
2016-01-22 12:16:17 +01:00
Edward Richardson
2034f4e49f
Fixed cmf_aimdirection doubling up the spawn Z
2016-01-22 23:06:09 +13:00
Edward Richardson
2dff9a743c
Fixed Z-Velocity movement for MF5_NOINTERACTION
2016-01-22 22:26:21 +13:00
MajorCooke
823edc4a69
- Cleaned up leftovers.
2016-01-21 21:23:43 -06:00
MajorCooke
b51bbf66b0
- Fixed pointer setting not working due to requiring more than the SET* flags.
...
- Changed search algorithm to be square and utilize fixed_t instead.
2016-01-21 21:15:50 -06:00
MajorCooke
793fc90716
Once more homogenized!
...
- DECORATE: color, flags, lifetime, size, angle, xyz offset/vel/accel, startalpha, fadestep.
- ACS: Similar, minus the angle parameter.
2016-01-21 19:59:33 -06:00
MajorCooke
28502b9a80
- Reorganized A_SpawnParticle parameters.
...
- Decorate order is now color, x/y/zoff, velx/y/z, lifetime, angle, flags, size, startalphaf, fadestepf, accelx/y/z.
- ACS order is now color, xyz offset, xyz velocity, lifetime, fullbright, size, startalpha, fadestep, xyz accel
2016-01-21 18:34:39 -06:00
Christoph Oelckers
841c7b275e
Merge branch 'ParticleFlags' of https://github.com/MajorCooke/zdoom
...
Conflicts:
wadsrc/static/actors/actor.txt
2016-01-22 00:58:42 +01:00
Christoph Oelckers
3b4ed8d7cd
- made A_SpawnParticle's fadestep parameter a fixed point value as well.
2016-01-22 00:54:09 +01:00
MajorCooke
13dc6be5a1
- Added flags for A_SpawnParticle and angle parameter.
...
- SPF_FULLBRIGHT makes the particle full bright.
- SPF_RELATIVE encapsulates the following flags:
- SPF_RELPOS: Position is relative to angle.
- SPF_RELVEL: Velocity is relative to angle.
- SPF_RELACCEL: Acceleration is relative to angle.
- SPF_RELANG: Add caller's angle to angle parameter for relativity.
2016-01-21 16:36:58 -06:00
Christoph Oelckers
39014b1732
- make the startalpha parameter of A_SpawnParticle a float to be consistent with other functions that want an alpha value.
2016-01-21 20:13:55 +01:00
Randy Heit
9744b9e0d9
Merge branch 'master' into scripting
...
Conflicts:
src/actor.h
src/dobject.h
src/dobjgc.cpp
src/p_local.h
src/thingdef/thingdef_codeptr.cpp
2016-01-21 12:45:06 -06:00
MajorCooke
9638cbb844
Updated A_CheckProximity Expansion Pruned Edition.
2016-01-21 11:39:13 -06:00
Christoph Oelckers
995721836b
Merge branch 'SpawnParticle' of https://github.com/Edward850/zdoom
...
Conflicts:
src/actor.h
2016-01-21 17:04:52 +01:00
alexey.lysiuk
f10dd68ca6
Fixed actors intersection check
2016-01-21 16:21:09 +02:00
coelckers
65662a9cfa
Merge pull request #493 from alexey-lysiuk/dialog_fixes
...
Fixes for Strife dialog
2016-01-21 14:57:21 +01:00
Christoph Oelckers
68fcbc0c92
- fixed: loading sector damage information from an old savegame could retrieve invalid data due to an uninitialized variable.
2016-01-21 14:54:14 +01:00
alexey.lysiuk
598bccbe93
Added warning when next dialog page is incorrect
2016-01-21 15:53:58 +02:00
alexey.lysiuk
673ac1295c
Fixed broken 'closedialog' property in Strife dialogs
...
See http://forum.zdoom.org/viewtopic.php?t=50524
2016-01-21 15:53:35 +02:00
Christoph Oelckers
5421213711
- typo in interpolation stuff.
2016-01-21 12:37:26 +01:00
Christoph Oelckers
cf2ee1eb3f
- fixed: Interpolations were deleted too early.
...
They were immediately deleted when the associated thinker was destroyed. But this was too early because it missed the final tic of movement, resulting in a visible jump when a moving platform with a player on it came to a halt.
Changed it so that DelRef no longer destroys the interpolation itself. Instead the ::Interpolate method will check if the reference count is 0, and if so and there was no more movement, will then destroy the interpolation.
This ensures that it keeps running until it has interpolated all remaining bits of movement induced by the thinker.
Now moving up a lift is 100% smooth, even with movement interpolation on.
2016-01-21 11:58:44 +01:00
Christoph Oelckers
d347415aee
- fixed some garbage collection issues with interpolations:
...
* FInterpolator depended on external references to prevent its content from getting GC'd.
* none of the pointers in the interpolation objects were declared to the GC.
The result of these issues was that changing anything about the life cycle of interpolation objects caused corrupted memory crashes when a level was changed.
2016-01-21 11:36:37 +01:00
Christoph Oelckers
e4982b1ced
Merge branch 'master' of https://github.com/rheit/zdoom
2016-01-21 10:24:03 +01:00
Christoph Oelckers
03d7418f51
- fixed: Since sector movement is done after P_PlayerThink is called, any player position change induced by this is not factored into player_t::viewz and needs to be added explicitly.
...
This fixes the infamous 'view squats down a bit when riding up an elevator' effect. It is also there in the other cases but far less pronounced.
2016-01-21 10:23:20 +01:00
coelckers
8b4194a3e0
Merge pull request #491 from MajorCooke/TF_SensitiveZ2
...
A_Teleport TF_SensitiveZ
2016-01-21 09:10:33 +01:00
MajorCooke
09733d8083
- Don't set both self and pointer's z to spotz when teleporting.
2016-01-20 18:50:30 -06:00
Randy Heit
710fa55288
Port recent SMF changes to XMI and HMI:
...
- Handle SysEx messages instead of ignoring them.
- Don't lose time for unhandled events with delays.
2016-01-20 18:37:05 -06:00
Randy Heit
7f6b421e87
Make sure all unhandled delayed MIDI events generate NOPs
...
- Looking over the code again, I see that discarded SysEx messages can
cause the same issue as unhandled meta events, so generalize the
returning of a NOP for everything.
2016-01-20 18:27:04 -06:00
MajorCooke
93aff2413f
Fixed an issue which caused A_Teleport to set the caller and itself to SpotZ's z position.
2016-01-20 18:18:00 -06:00
MajorCooke
116e157447
Nevermind this.
2016-01-20 15:52:56 -06:00
MajorCooke
d20a7516c9
Updated A_FaceVelocity to remove conflicts.
2016-01-20 15:51:11 -06:00
Edward Richardson
e5c67cee83
Merge branch conflicts fix
...
- CONFLICT (content): Merge conflict in src/p_acs.cpp
- Updated position variables
2016-01-21 10:49:57 +13:00
Randy Heit
1a356dfa51
Fixed: MIDI meta events were completely discarded, including their delays
...
(unless the event was for setting the tempo) This left the following
events in the track to happen at the wrong time.
2016-01-20 14:53:56 -06:00
Christoph Oelckers
98a9d7210a
- fixed the definitions for script access to AActor::x, y, z.
...
(Note: These should be made read only when real scripting becomes available!)
2016-01-20 15:19:35 +01:00
Christoph Oelckers
c78344c19d
Merge branch 'master' into scripting
...
Conflicts:
src/actor.h
src/p_user.cpp
src/thingdef/thingdef_expression.cpp
2016-01-20 15:16:06 +01:00
Christoph Oelckers
68c0f929dc
- refactoring complete. The source compiles again with the renamed position variable.
2016-01-20 15:12:51 +01:00
Christoph Oelckers
13e25faea7
- p_sight.cpp, p_spec.cpp and p_switch.cpp refactored.
2016-01-20 14:20:14 +01:00
Christoph Oelckers
4d8070927d
- p_maputl.cpp done.
2016-01-20 14:04:47 +01:00
Christoph Oelckers
25107ed421
- since I had to shuffle around the first variables in AActor, let's better commit that change.
2016-01-20 13:49:52 +01:00
Christoph Oelckers
35271187a5
- took care of the rest of p_map.cpp.
2016-01-20 13:48:05 +01:00
Christoph Oelckers
4b9647e539
Merge branch 'master' into scripting
...
Conflicts:
src/actor.h
src/g_hexen/a_hexenspecialdecs.cpp
src/g_strife/a_thingstoblowup.cpp
src/thingdef/thingdef_codeptr.cpp
2016-01-20 11:45:57 +01:00
Christoph Oelckers
83cbf6cae5
Merge branch 'master' of https://github.com/rheit/zdoom
...
Conflicts:
src/g_hexen/a_wraith.cpp
2016-01-20 11:41:27 +01:00
Christoph Oelckers
500bc2b852
- fixed two refactoring errors:
...
* A_BridgeOrbit had its radius as an int, not a fixed_t.
* PIT_CheckThing used the wrong coordinate for checking actor distance.
2016-01-20 11:39:41 +01:00
Christoph Oelckers
e9b23cf833
- keep evaluation order of Random() calls defined.
2016-01-20 09:25:30 +01:00
Edward Richardson
5c8ebf487d
Fixed load order for saves
...
- Make sure the PRNG tables are restored after the base level is loaded,
otherwise the tables will restore in a modified state.
2016-01-20 19:14:43 +13:00
Christoph Oelckers
7ea3e49332
- refactored p_mobj.cpp and the first half of p_map.cpp.
2016-01-20 01:48:57 +01:00
Randy Heit
9b9008ecc7
Restore original offset range for WraithFX5 spawn
2016-01-19 18:00:46 -06:00
Christoph Oelckers
b73e1e65f5
Merge branch 'master' into scripting
...
Conflicts:
src/actor.h
src/p_local.h
src/thingdef/thingdef_codeptr.cpp
2016-01-19 20:17:34 +01:00
Christoph Oelckers
7658111566
- refactoriung of thingdef_codeptr.cpp - probably the ugliest file in the entire project...
2016-01-19 20:15:45 +01:00
Christoph Oelckers
97620b0645
- fixed some leftover unused variable warnings.
...
- match the variable names in thingdef_codeptr.cpp to the ones in the scripting branch to reduce the amount of merge conflicts in upcoming changes.
2016-01-19 16:09:44 +01:00
Chris
119c2f36b2
- Fixed an incorrect memset parameter in wi_stuff.cpp.
...
- Removed some whitespace from wi_stuff.h.
2016-01-19 13:20:32 +00:00
Christoph Oelckers
1faf68794b
- fixed the merge.
2016-01-19 13:59:53 +01:00
Christoph Oelckers
bc63b70d88
Merge branch 'master' into scripting
...
Conflicts:
src/actor.h
src/fragglescript/t_func.cpp
src/g_doom/a_bossbrain.cpp
src/g_doom/a_revenant.cpp
src/g_heretic/a_hereticartifacts.cpp
src/g_heretic/a_hereticweaps.cpp
src/g_heretic/a_knight.cpp
src/g_hexen/a_bishop.cpp
src/g_hexen/a_clericholy.cpp
src/g_hexen/a_dragon.cpp
src/g_hexen/a_firedemon.cpp
src/g_hexen/a_flechette.cpp
src/g_hexen/a_heresiarch.cpp
src/g_hexen/a_hexenspecialdecs.cpp
src/g_hexen/a_iceguy.cpp
src/g_hexen/a_korax.cpp
src/g_hexen/a_magelightning.cpp
src/g_hexen/a_serpent.cpp
src/g_hexen/a_spike.cpp
src/g_hexen/a_wraith.cpp
src/g_raven/a_minotaur.cpp
src/g_shared/a_bridge.cpp
src/g_shared/a_pickups.cpp
src/g_shared/a_randomspawner.cpp
src/g_strife/a_alienspectres.cpp
src/g_strife/a_crusader.cpp
src/g_strife/a_entityboss.cpp
src/g_strife/a_inquisitor.cpp
src/g_strife/a_loremaster.cpp
src/g_strife/a_programmer.cpp
src/g_strife/a_sentinel.cpp
src/g_strife/a_spectral.cpp
src/g_strife/a_strifestuff.cpp
src/g_strife/a_strifeweapons.cpp
src/g_strife/a_thingstoblowup.cpp
src/p_local.h
src/r_utility.cpp
2016-01-19 13:43:11 +01:00
Christoph Oelckers
27aeb6a656
- g_shared refactored
2016-01-19 13:26:05 +01:00
Christoph Oelckers
9f78bcd1e6
- Strife game code refactored for coordinates.
2016-01-19 11:50:07 +01:00
Christoph Oelckers
c02d922014
Merge branch 'master' of https://github.com/rheit/zdoom
2016-01-19 01:11:13 +01:00
Christoph Oelckers
2326928ff7
- the last bits of Hexen refactored
...
This also fixes a problem with some of Hexen's Wraith's effects which did some repositioning without properly linking them into the blockmap.
2016-01-19 01:10:57 +01:00
coelckers
5c7f72278b
Merge pull request #483 from kevans91/ndebug-fixes
...
*BinPack fixes -- disjointRects only defined #ifdef _DEBUG
2016-01-18 22:39:40 +01:00
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
Braden Obrzut
b6cdcddf30
- Fixed: Static mirrors in hexen format maps were broken.
2016-01-18 10:30:56 -05:00
Braden Obrzut
f3f77a1ba0
Merge branch 'master' into portals2_visual
2016-01-18 09:45:42 -05: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
bf747075e8
Merge branch 'master' into scripting
...
Conflicts:
src/actor.h
src/g_hexen/a_clericstaff.cpp
src/p_enemy.cpp
src/p_interaction.cpp
src/p_local.h
src/p_mobj.cpp
src/thingdef/thingdef_codeptr.cpp
2016-01-17 20:57:55 +01:00
Christoph Oelckers
cfcd2668cc
Merge commit '772a5724313f2ad0bd6828fcc28545a9ee5e6068' into scripting
...
Conflicts:
src/p_pspr.cpp
src/thingdef/thingdef_codeptr.cpp
2016-01-17 20:00:45 +01:00
Christoph Oelckers
fbaab5044d
Merge commit '38df0665e3a2018cf1d0028a36357df6c7e908e9' into scripting
...
Conflicts:
src/d_dehacked.cpp
src/decallib.cpp
src/g_hexen/a_clericstaff.cpp
src/p_interaction.cpp
src/p_local.h
src/thingdef/thingdef_codeptr.cpp
wadsrc/static/actors/constants.txt
wadsrc/static/actors/shared/inventory.txt
2016-01-17 19:50:34 +01:00
Christoph Oelckers
5207aa6cc0
Merge commit '125afcf3defb901e23bd44d32fa86681ef1748f6' into scripting
...
Conflicts:
src/p_local.h
src/p_mobj.cpp
src/thingdef/thingdef_codeptr.cpp
wadsrc/static/actors/shared/inventory.txt
2016-01-17 19:09:05 +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
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
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
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
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
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
Braden Obrzut
6a87c6cd19
- Fixed usage of uninitialized value in skybox rendering.
2016-01-14 00:49:57 -05:00
MajorCooke
629eaa35a3
- Fixed: A_Fade* could destroy live player bodies because it was calling the Destroy() function directly instead of going through P_RemoveThing.
2016-01-13 20:26:15 -06:00
Randy Heit
f9574a98fd
Fix Timidity's DLS instrument loading:
...
- Envelope data needed to be converted to SF2 values.
- Fine tuning was ignored which made pretty much every instrument off tune.
- Despite this, it still sounds like shit compared to FMOD or Microsoft's
wavetable synth. There are lots of missing notes and some instruments
are still off tune. I'm not sure it's worth trying to salvage it. It'd
probably be better to scrap it, since Timidity is very much oriented
toward GF1 patches, which it handles perfectly fine.
2016-01-13 17:25:24 -06:00
Christoph Oelckers
d234a6af5d
Merge branch 'master' of https://github.com/rheit/zdoom
2016-01-12 21:35:18 +01:00
Christoph Oelckers
37f18055af
- turned sector_t::FloorSkyBox and CeilingSkyBox into an array.
...
- removed unused SpreadCeilingPortal function.
2016-01-12 21:34:41 +01:00
Randy Heit
dc66f4cb3f
Make _WM_AdjustNoteVolume's pan_ofs a signed int
2016-01-12 06:35:05 -06:00
Edoardo Prezioso
b87c612aba
- Fixed Clang warning on wildMIDI code.
...
Now that '_event_data.data' is changed to 'unsigned int', the 'unsigned long' cast is not needed anymore.
2016-01-12 11:12:19 +01:00
rheit
8408aec347
Merge pull request #456 from alexey-lysiuk/lzma_1514
...
Updated LZMA SDK to version 15.14
2016-01-11 20:53:51 -06:00
Randy Heit
141cd660eb
Didn't need note_off_decay in the WildMidi sample struct
2016-01-11 20:07:14 -06:00
Randy Heit
27bf86e1eb
Fix(?) dBm_pan_volume table
...
- The missing comma on the first line of dBm_pan_volume's definition
looked suspicious, so I checked the MIDI specification at
http://www.midi.org/techspecs/rp36.php and found the equations
there gave different dB values than were in the table. So I
rebuilt it using the equation given there:
20*log (sin (Pi /2* max(0,CC#10 – 1)/126))
2016-01-11 20:06:07 -06:00
Randy Heit
268d2faaf6
Import volume handling changes from current WildMidi git
...
- Description there reads:
> Major work done on “log” volumes. Calculations are now based on decibels.
2016-01-11 20:06:07 -06:00
Randy Heit
5b4a6483b5
Remove get_decay_samples. Not needed.
2016-01-11 20:06:06 -06:00
Randy Heit
7f01a6a30a
Import envelope tweaks for current WildMidi git
2016-01-11 20:06:06 -06:00
Randy Heit
50ecec199f
More stuff we don't need in WildMidi removed
2016-01-11 20:06:05 -06:00
Randy Heit
88beae55bd
Add separate NRPN coarse/fine adjustment for WildMidi
2016-01-11 20:06:05 -06:00
Randy Heit
7f44bc6d0e
Add Yamaha and GM reset sysex handling to WildMidi
2016-01-11 20:06:05 -06:00
Randy Heit
a74d352490
Update gus_pat.cpp's envelope fudging to current git version
2016-01-11 20:06:04 -06:00
Braden Obrzut
0c3b468e42
Merge branch 'osx_start_wnd'
2016-01-11 20:47:06 -05:00
Randy Heit
56f7ace9be
include <limits.h> in the bin packers to make GCC happy
2016-01-11 17:01:29 -06:00
Christoph Oelckers
61e48013dc
- fixed a warning in WildMidi code.
2016-01-11 23:46:12 +01:00
Christoph Oelckers
cd9e18a72b
- fixed: operator<< (FArchive &arc, secspecial_t &p) erroneously read the old special in the compatibility handler as a short, but it must be read as an int.
...
- bumped savegame version to bring it in line with a GZDoom exclusive change.
2016-01-11 23:44:13 +01:00
MajorCooke
7843ece01a
Fixed: Friendly fire damage didn't take LAXTELEFRAGDMG into account.
2016-01-11 15:08:38 -06:00
Christoph Oelckers
011385a20e
Merge branch 'master' of https://github.com/rheit/zdoom
2016-01-11 15:30:04 +01:00
Christoph Oelckers
7115590c1d
- moved setup code for Eternity-style skyboxes to p_spec.cpp and consolidated most of it with nearly identical parts of the stacked sector portal setup code.
2016-01-11 15:29:44 +01:00
Randy Heit
42e9a6a711
Make atlas size a macro definition and default it to 512x512 (was 256x256)
2016-01-10 22:14:35 -06:00
Randy Heit
aaac5ac7a1
Use not so brilliant backgrounds for allocated atlas backgrounds
2016-01-10 22:01:29 -06:00
Randy Heit
670058fa3c
Switch to the bottom-left picker for the Skyline Bin Packer
2016-01-10 21:54:28 -06:00
Randy Heit
4f0046105d
Change texture atlas display to show allocated rectangles
2016-01-10 21:09:16 -06:00
Christoph Oelckers
918a2ed562
-fixed: Eternity-style skyboxes must check if some portal copy definitions have been set for them.
2016-01-10 22:26:08 +01:00
Christoph Oelckers
2c0f64cf9f
- refactoring of R_PointToAngle2 when used to calculate direction between two actors.
2016-01-10 20:46:26 +01:00
Christoph Oelckers
1e2ce9a622
- some refactoring of P_AproxDistance calls into newly defined AActor method AproxDistance.
...
The main reason here is to reduce the number of instances where AActor::x and AActor::y are being referenced.
2016-01-10 17:52:41 +01:00
ZZYZX
4bbec2a7fe
Fixed skybox clipping: sprite columns shouldn't be clipped against the current portal if rendered on root level of a skybox.
2016-01-10 05:48:06 +02:00
ZZYZX
605fce9008
Fixed skybox clipping: things in a skybox shouldn't be clipped against current portal. Fixed: portal inside of a skybox sets CurrentPortalInSkybox to false.
2016-01-10 05:45:26 +02:00
ZZYZX
4d518a220c
Fixed skybox clipping: lines in a skybox shouldn't be clipped against current portal
2016-01-10 05:22:33 +02:00
Randy Heit
1f34372abc
Remove the upper limit on midi_voices.
...
- Black MIDIs can be brutal, and there's really no reason that this needs
to be artificially limited to a paltry 256 voices.
2016-01-09 17:55:39 -06:00
Christoph Oelckers
68b4c23a82
Merge branch 'master' of https://github.com/rheit/zdoom
2016-01-09 21:10:46 +01:00
Christoph Oelckers
53d385a596
- need to validate SetSectorTerrain's 'plane' parameter,
2016-01-09 21:10:12 +01:00
alexey.lysiuk
b27fdcffb5
Added shortcut to toggle fullscreen on OS X
...
Press Command+F to toggle fullscreen mode in native OS X backend
Set k_allowfullscreentoggle CVAR to false to disable the shortcut
2016-01-09 17:12:58 +02:00
Christoph Oelckers
23cfd29dbb
- let's save the terrain properties as names so that they survive a change in the definition files.
2016-01-09 12:28:42 +01:00
Christoph Oelckers
7f454358b9
- added ACS SetSectorTerrain function.
2016-01-09 12:16:41 +01:00
Christoph Oelckers
71c7f2b42c
- added 'floorterrain' and 'ceilingterrain' sector properties for UDMF. These will take precedence over texture based terrain if used.
...
'ceilingterrain' is needed because the top of 3D-floors refers to the model sector's ceiling, so in order to give a 3D floor a terrain it must be assignable to the sector's ceiling.
Note that although it is basically the same property, its actual function bears no relevance to its use in Eternity.
2016-01-09 12:10:36 +01:00
Christoph Oelckers
4b3adf548a
- fixed compile errors.
2016-01-09 11:44:05 +01:00
Christoph Oelckers
a5054b0882
Merge branch 'master' of https://github.com/rheit/zdoom
2016-01-09 10:11:46 +01:00
Christoph Oelckers
0b5e419593
- fixed friction logic for sectors.
...
Issues with the old code:
* when calculating friction for a 3D-floor - swimmable or not - the 3D floor's top texture must be used. The previous version always checked the sector's floor texture, even though the top might as well come from the sector's ceiling.
* 3D floors never checked for the SECF_FRICTION flag at all. According to Boom specs, sector-based friction must be ignored if this is the case.
* Terrain based friction had a higher priority than the sector's own value.
Changed the rules as follows:
* if the sector's SECF_FRICTION flag is set (i.e. something explicitly changed the sector's friction), this value is used regardless of terrain settings.
* if this flag is not set, the terrain's friction is used, if defined, using the proper plane for 3D-floors.
* otherwise the default is used.
2016-01-09 10:11:20 +01:00
Randy Heit
786caaf36b
Execute disconnect scripts immediately before the player is destroyed.
...
- Disconnect scripts were previously run at some point after the player
left. Now they are run immediately before destroying the player. Since
the player hasn't actually been destroyed yet, the player also gets to
be the script's activator. This gives you a chance to scrape whatever data
you want from the player before they're history. Note that if you do
anything to make the script wait, the script's activator will become the
world, as it was before.
2016-01-08 22:41:23 -06:00
Randy Heit
bf31d66d31
Use a better packing algorithm for the texture atlases
...
- The old algorithm is something I threw together that produced decent,
but not spectacular results since it had a tendency to waste space by
forcing everything onto "shelves".
The new packer is the Skyline-MinWaste-WasteMap-BestFirstFit algorithm
described by Jukka Jylanki in his paper *A Thousand Ways to Pack the Bin - A
Practical Approach to Two-Dimensional Rectangle Bin Packing*, which can
currently be read at http://clb.demon.fi/files/RectangleBinPack.pdf
This is minus the optimization to rotate rectangles to make better fits.
2016-01-08 22:37:06 -06:00
Randy Heit
f330a81909
Rename packing textures to texture atlases for the D3D code
...
- I figure since I now know the "proper" name for these things, I should
call them by it.
2016-01-08 20:08:10 -06:00
Randy Heit
a43f5a8eca
Remove now unused variable from SpawnPolyobj
2016-01-08 20:08:06 -06:00
Christoph Oelckers
cf564c60c2
- simplified setup of polyobjects defined from explicit lines
...
The old method had a problem with missing order numbers and aborted the level load and made many assumptions that no longer apply with BSP based polyobject rendering.
2016-01-09 01:23:00 +01:00
coelckers
500c1623d0
Merge pull request #467 from kevans91/freebsd-build
...
I missed one last spot where a FreeBSD compilation should follow the …
2016-01-08 09:58:55 +01:00
Kyle Evans
d20f18a4bb
I missed one last spot where a FreeBSD compilation should follow the path of OS X -- <signal.h> needs to be pulled in for signal functions
2016-01-07 22:48:25 -06:00
MajorCooke
bfd9e2bc1c
- Added CHF_STOPIFBLOCKED and CHF_DONTTURN macro.
...
- CHF_STOPIFBLOCKED simply prevents the actor from changing directions for movement.
- CHF_DONTTURN implies NORANDOMTURN, NOPOSTATTACKTURN and STOPIFBLOCKED.
2016-01-07 19:20:02 -06:00
MajorCooke
da9c3ff9d2
Added A_Wander Flags.
...
- WF_NORANDOMTURN and WF_DONTANGLE do the same as their CHF_ counterparts for A_Wander.
2016-01-07 17:38:45 -06:00
MajorCooke
f357a36c5c
- New A_Chase flags.
...
- CHF_NORANDOMTURN: Actor will not randomly turn during chasing to pursue its target. It will only turn if it cannot keep moving forward.
- CHF_DONTANGLE: Actor does not adjust its angle to match the movement direction.
- CHF_NOPOSTATTACKTURN: Actor will not make its first turn after exiting its attacks.
2016-01-07 17:38:25 -06:00
MajorCooke
ccc694bbcd
- Added the following flags, all affixed with CPXF_:
...
- NODISTANCE: Disables distance checking.
- CHECKSIGHT: The qualifying actor must be in sight in order to count.
- SET<TARGET/MASTER/TRACER>: Gets the first qualifying actor and sets the calling actor's specified pointer to it.
- SETONPTR: If the function is being aimed at another actor other than the caller, sets that actor's pointers instead. Requires a SET* flag to work.
- FARTHEST: The actor farthest from the checking actor is set as the pointer. Requires a SET* flag to work.
- CLOSEST: The closest qualifying actor is set as the pointer. Requires a SET* flag to work.
2016-01-07 17:09:02 -06:00
Randy Heit
efaaccc030
Added $ check for language support for drawing Option Values
2016-01-07 12:59:16 -06:00
Randy Heit
cd4076dc1b
Added $ check for language support for StaticTextSwitchable
2016-01-07 12:59:16 -06:00
Christoph Oelckers
eafa394af4
- re-added and fixed terrain splashes for damaging sectors.
...
Turned out that P_HitWater wasn't even able to spawn the splashes, even after the call was re-added.
2016-01-06 16:42:21 +01:00
Christoph Oelckers
f8b2b4558f
- fixed a few typos (Get instead of Set...)
2016-01-06 15:47:56 +01:00
Christoph Oelckers
154e106315
- make better use of the damageinterval value for Strife's delayed damage.
2016-01-06 14:16:42 +01:00
Christoph Oelckers
990323fb26
Merge branch 'fix_intermission_font' of https://github.com/alexey-lysiuk/gzdoom
2016-01-06 13:37:23 +01:00
Christoph Oelckers
6afd76e5db
- enable damage types for Strife's delayed damage. It will always use the type of damage that was last encountered.
2016-01-06 13:36:22 +01:00
Christoph Oelckers
eb6c855a95
- handle intermediate special values in thinkers. They also need to take care of the related damage variables and flags.
2016-01-06 13:30:28 +01:00
Christoph Oelckers
bd8513c063
- made sector_t::damageamount an int so that it can hold TELEFRAG_DAMAGE.
...
- marked all places where sector_t::special needs to be addressed for the damage overhaul.
NOTE: This commit will not compile!
2016-01-06 12:56:35 +01:00
Christoph Oelckers
1ee441412a
- add savegame compatibility handling for damage related changes: When loading an old savegame the sector specials must be reinitialized to set the damage properties.
2016-01-06 12:31:27 +01:00
alexey.lysiuk
73f4e013f1
Font kerning is no longer ignored in intermission screen
...
See http://forum.zdoom.org/viewtopic.php?t=50304
2016-01-06 13:26:05 +02:00
Christoph Oelckers
5474e01de8
- removed FraggleScript's 'sectortype' function. This was GZDoom exclusive and never documented so it got no public exposure. Since this is incompatible with the damage related changes, it has no more use.
...
- major overhaul of the static sector damage system:
* consolidated special based damage, Sector_SetDamage and UDMF properties into one set of damage properties. The parallel handling that could lead to double damage infliction was removed. This also means that damage through sector specials can be retroactively changed through Sector_SetDamage.
* all special cases were turned into flags. The new system can switch between Strife's delayed damage and regular damage, and it can also set whether terrain splashes are used or not. It also has access to the special properties of the end-level type (i.e. switching off god mode and ending the level.)
* the damage related flags are accessible through Sector_ChangeFlags, not the damage functions themselves.
2016-01-06 12:12:47 +01:00
Christoph Oelckers
b0db5d9b16
- added a SECF_SILENTMOVE flag.
...
Since Eternity got this it's a good candidate for a potential Super-Boom standard, and it's also useful for silencing a sector temporarily without removing the sound sequence.
2016-01-06 02:16:33 +01:00
Christoph Oelckers
d34077a3ba
- ... and finally the push flag.
2016-01-06 02:05:39 +01:00
Christoph Oelckers
3ffcec3eb3
- moved friction flag from special to Flags as well.
2016-01-06 02:01:59 +01:00
Christoph Oelckers
6a63effa1f
- fixed: A_CheckTerrain did not use the proper damage type for processing an instant death sector.
...
- moved sector secret information from sector_t::special and secretsector to two flag bits in sector_t::Flags.
This is to get rid of the bit masking madness in the floor/ceiling thinkers which need to preserve this bit when they change a sector's type.
2016-01-06 01:50:45 +01:00
Christoph Oelckers
1c6a00059f
- fixed: MAPINFO option fs_nocheckposition parsed the '=' twice.
2016-01-05 20:41:59 +01:00
Christoph Oelckers
46b5900a0d
Merge branch 'master' of https://github.com/rheit/zdoom
2016-01-05 17:06:24 +01:00
Christoph Oelckers
d0c372692b
- added new ACS function SetSectorDamage which allows the use of actual damage types, unlike the old Sector_SetDamage. Unlike Sector_SetDamage this function does not use damage amount dependent defaults for the interval and the leakiness if none are passed.
2016-01-05 16:29:04 +01:00
Christoph Oelckers
2b519a92b1
- allow setting the sector's damage properties through UDMF.
2016-01-05 16:19:55 +01:00
Christoph Oelckers
3e13e772ef
- after realizing that changing the sector's MOD variable to an FNameNoInit doesn't do anything bad, I just went ahead and got rid of the last place in the engine that still used this data type for internal storage.
2016-01-05 16:10:04 +01:00
Christoph Oelckers
5d388f8e63
Merge branch 'master' of https://github.com/rheit/zdoom into zmaster
2016-01-05 15:41:19 +01:00
Christoph Oelckers
d432df55e9
- changed Sector_SetDamage so that it can explicitly set the damage interval and the leakiness probability, instead of hardcoding it to fixed damage ranges.
...
- fixed: FCajunMaster::IsDangerous did not check for Heretic's sludge type.
2016-01-05 15:39:21 +01:00
Christoph Oelckers
8ded18a96c
- changed default frequency for Timidity++ to 44100kHz.
2016-01-05 14:09:34 +01:00
Christoph Oelckers
b2f860d7ae
- better add a NULL pointer check here.
2016-01-05 11:07:59 +01:00
Benjamin Moir
c9afb199ca
Added "pufftid" parameter for LineAttack.
2016-01-05 13:58:00 +10:00
Braden Obrzut
a1e0ac0b71
Merge branch 'osx_start_wnd' of git://github.com/alexey-lysiuk/gzdoom into osx_start_wnd
2016-01-04 22:11:46 -05:00
Christoph Oelckers
111479063f
- fixed a potential overflow issue with calculating a portal's origin point.
...
- fixed: Sector_SetPortal's Eternity translation was not correct.
The ZDoom variant allows specifying the plane as part of the portal, Eternity does not. Added a new 'plane' type 3 which just means 'any'.
2016-01-04 21:05:09 +01:00
Christoph Oelckers
824801ae6b
Merge branch 'master' of https://github.com/rheit/zdoom
2016-01-04 11:52:29 +01:00
Christoph Oelckers
bd95c5eadf
- fixed: the ambient sound things need both the args from the DoomEdNum mapping and the actual map.
2016-01-04 11:52:07 +01:00
alexey.lysiuk
02ff3291bd
Fixed division by zero in RNG
...
Random number generator now returns zero for range [0, 0)
2016-01-04 12:16:09 +02:00
alexey.lysiuk
699f274b06
Fixed mouse cursor centering in fullscreen mode
...
Native OS X backed didn't center mouse cursor in fullscreen mode with Retina/HiDPI support enabled
Incorrect size of content view led to placement of cursor in upper right corner of the screen upon releasing of mouse capture
When some action is assigned to this corner using system Hot Corners feature, the given action was triggered on acquiring mouse capture
2016-01-04 10:51:54 +02:00
Christoph Oelckers
772a572431
Merge branch 'master' of https://github.com/rheit/zdoom
2016-01-03 11:32:39 +01:00
Christoph Oelckers
a75e65a3d8
- added BLOCKF_SOUND to flag list supported by Line_SetBlocking,
2016-01-03 11:32:23 +01:00
MajorCooke
77013877d1
A_WeaponReady Fix
...
- Zoom and Reload keys triggered the other states instead of themselves (i.e. zoom keybind triggered reload states instead of zoom)
2016-01-02 11:27:02 -06:00
Randy Heit
c86cd53753
Merge branch 'master' of https://github.com/crimsondusk/zdoom into crimsondusk-master
...
Conflicts:
src/am_map.cpp
2015-12-31 20:18:54 -06:00
Randy Heit
1d759283c0
Cleanup the zoom/reload/userX handling for A_WeaponReady
...
- There was lots of code duplication. Consolidated it.
- Renamed WRF_UserX to WRF_AllowUserX for consistancy.
2015-12-31 16:46:19 -06:00
Randy Heit
4931c90839
Bump save version for bigger WeaponState property
2015-12-31 16:46:18 -06:00
MajorCooke
3566d3157a
Use | instead of +.
2015-12-31 16:46:17 -06:00
MajorCooke
6478b98eea
Update serialization to BYTE from WORD for older save games.
2015-12-31 16:46:17 -06:00
MajorCooke
b09a81126f
- Changed WeaponState from 8-bit to 16-bit integer.
...
- Because the flags for WF_USER#OK are 256 on up, this is required in order to work.
2015-12-31 16:46:17 -06:00
MajorCooke
eed6680a67
Added support for weapon states User#.
...
- Added keybinds for the user state triggering.
- Added WRF_USER# flags which must be specified in order to use.
- # can be 1-4.
2015-12-31 16:46:16 -06:00
Christoph Oelckers
addd059410
Merge branch 'master' of https://github.com/rheit/zdoom
2015-12-31 23:05:13 +01:00
Christoph Oelckers
5e975ac9f6
- extended $mididevice to add an optional parameter, which has the following meaning for the different MIDI devices:
...
* OPL: specify the core to use for playing this song
* FluidSynth: specify a soundfont that should be used for playing the song.
* WildMidi: specify a config file that should be used for playing the song.
* Timidity++: specify an executable that should be used for playing the song. At least under Windows this allows using Timidity++ with different configs if the executable and each single config are placed in different directories.
* GUS: currently not operational, but should later also specify the config. This will need some work, because right now this is initialized only when the sound system is initialized.
* all other: no function.
These options should mainly be for end users who want to fine-tune how to play the music.
2015-12-31 23:03:53 +01:00
Randy Heit
d8af2e558f
Fix potentiol buffer overrun in MUSSong2::Precache()
2015-12-31 15:28:18 -06:00
alexey.lysiuk
262580c92f
Updated LZMA SDK to version 15.14
...
Enabled support for PPMD compression method
2015-12-31 17:25:49 +02:00
Christoph Oelckers
1316120fe4
- fixed: The MUS precacher did not handle invalid patches well.
...
- increased the valid range of patch values for MUS. According to the original MIDI2MUS code it can handle numbers up to 188, not 181, and at least one track from Eternal Doom uses #183 .
2015-12-31 14:35:34 +01:00
alexey.lysiuk
94fec26cb6
Fixed runtime warning on OS X 10.4 Tiger
...
The 'invalid pixel format attribute' warning was introduced with automated graphics switching control
2015-12-31 11:00:05 +02:00
Christoph Oelckers
c88ed426a8
- oops, this somehow lost the shift operator...
2015-12-30 20:39:38 +01:00
Christoph Oelckers
3c40d71c20
- hopefully fixed the MUS precaching for good.
...
According to blzut3, it looks like it is a byte followed by a variable length field. It can be any value 0-15 and will be followed by that many bytes one for each bank used. If the bank count is 0 then it is shorthand for using one bank (bank 0).
2015-12-30 20:32:19 +01:00
Christoph Oelckers
be6daf5d78
- changed instrument lookup in MUS files.
...
Based on evidence from several songs in Eternal Doom the description in all known documents is wrong. The instruments are not stored in a 16-bit word but in an 8-bit byte, followed by some variable size data.
Known variations are:
* second byte is 0 - no additional data follows
* second byte is 1 - a third byte for the 'bank' value follows.
2015-12-30 19:13:28 +01:00
alexey.lysiuk
63993dee96
Hid resize indicator on OS X startup window
...
The resize indicator overlapped with progress bar and Quit/Cancel button on 10.6 and older versions
OS X 10.7 and newer don't have this indicator at all
2015-12-30 16:05:16 +02:00
alexey.lysiuk
3466a8c7a9
Disabled miniaturization for OS X startup window
...
Old versions of OS X don't support changing of window style mask
2015-12-30 12:19:50 +02:00
alexey.lysiuk
db207feed1
Added missing header #include for old OS X SDKs
2015-12-30 12:17:38 +02:00
Edoardo Prezioso
a2b377c580
- Fixed Clang errors/warnings on wildMIDI code.
2015-12-30 10:58:52 +01:00
Christoph Oelckers
aff42a6186
- don't look up a lump name in PathExpander if we are only looking for real files.
2015-12-30 10:21:17 +01:00
Christoph Oelckers
1def61e3e3
- allow changing the reverb and resampling mode setting for WildMidi.
...
- fixed: WildMidi did not initialize the reverb data structures.
- removed the menu option for midi_timiditylike.
2015-12-30 10:14:18 +01:00
Kyle Evans
6c13ba40ac
Fix for __unix__ compilation -- section not changed with the rest of fe2dcfd588
2015-12-30 01:09:11 -06:00
Randy Heit
3ec6ad5018
Add SysEx retrieval to the MIDI file reader
2015-12-29 22:39:38 -06:00
Randy Heit
92e0bbeee9
Handle WildMidi's supported SysEx messages
2015-12-29 18:25:13 -06:00
Randy Heit
6d2e93254f
Fix CreateSMF's SysEx writing
...
- It was wrong before. It might still be wrong, but at least it doesn't
look obviously wrong anymore.
2015-12-29 17:55:20 -06:00
Randy Heit
545e2f7c69
Slap WildMidi onto snd_listmididevices's output for Windows
2015-12-29 17:55:20 -06:00
Randy Heit
900937929e
Use critical sections for WildMidi locking
...
...because when you're trying to be thread-safe, it's generally a good
idea to use mechanisms that work across multiple processor cores.
2015-12-29 17:55:19 -06:00
Randy Heit
14361d9313
Remove midi_timiditylike
...
- Did anybody actually use this? Use WildMidi instead if you want
something that sounds more like Timidity++ without actually being
Timidity++, since not even the old Timidity manages that.
2015-12-29 17:51:08 -06:00
Christoph Oelckers
0cc4bd56d1
- removed the original WildMidi loader and the main playback function because none of those is actually being used anymore.
2015-12-29 23:18:39 +01:00
Christoph Oelckers
c3862d9101
- use PathExpander class for WildMidi's file access functions so that it can find Timdity's data on its own.
2015-12-29 21:18:46 +01:00
Christoph Oelckers
fe2dcfd588
- refactored the GUS/Timidity player's path building code so that it can also be used by WildMidi.
...
- fixed crash during sound reset - in this case I_ShutdownMusic should not close the WildMidi player.
2015-12-29 20:38:08 +01:00
Christoph Oelckers
0634205d7f
- let WildMidi tokenizer handle quoted strings.
2015-12-29 18:01:15 +01:00
alexey.lysiuk
3af95e0aea
Added native startup window for OS X
2015-12-29 15:19:42 +02:00
alexey.lysiuk
673e1b4faf
Fixed compilation warning when building with OS X 10.11 SDK
...
The warning was 'null passed to a callee that requires a non-null argument'
2015-12-29 15:14:41 +02:00
alexey.lysiuk
2c3d9e3ab8
Fixed mouse capturing when video isn't initialized yet
2015-12-29 14:52:31 +02:00
alexey.lysiuk
15a269db9d
Extended NSWindow with ability to exit application upon closing by user
2015-12-29 14:52:27 +02:00
alexey.lysiuk
3676a42512
Added missing include guard in i_common.h
2015-12-29 14:52:22 +02:00
alexey.lysiuk
0efdccd942
Separated POSIX's i_system.cpp from native OS X implementation
2015-12-29 14:52:18 +02:00
alexey.lysiuk
6f3e04785d
Added preprocessor macros for AppKit framework versions
...
These macros are needed to build with earlier OS X SDKs
2015-12-29 14:52:11 +02:00
Christoph Oelckers
7fa289109b
- removed all uses of __builtin_expect from WildMidi code.
2015-12-29 11:36:56 +01:00
Christoph Oelckers
944360557f
- removed unused header stuff.
2015-12-29 11:23:43 +01:00
Edoardo Prezioso
7c82c576a3
- Fixed Linux compiler errors and snd_mididevice.
...
-- errno.h is required for 'errno';
-- don't use str(n)casecmp and rely on ZDoom CMake handling;
-- add a missing parenthesis around a 'signed char' cast;
-- remove an unneeded GNU_SOURCE redefinition;
-- the non-MSVC side of snd_mididevice was not adapted to the new code, making wildmidi unavailable through the menu.
2015-12-29 10:33:20 +01:00
Randy Heit
afc36544b7
Add a WildMidi softsynth device
...
- This removes the preceding psuedo MIDI device for WildMidi.
2015-12-28 22:16:35 -06:00
Randy Heit
ee46799d9e
Fix WM_DoGetOutput for big-endian machines
...
- Besides being little-endian centric, this bit shifting madness
was unneccessary since the values were already clamped to a 16-bit
range, so all we need to do is cast them to a short.
2015-12-28 20:51:53 -06:00
Randy Heit
b1405921bf
Merged WM_GetOutput_Linear and WM_GetOutput_Gauss into WM_DoGetOutput
...
- With mixing moved into separate functions, these two functions became
identical except for the function they called to do mixing.
2015-12-28 20:44:10 -06:00
Randy Heit
635b496165
Separate WildMidi mixing from event handling
...
- In order to use ZDoom's own MIDI sequencer event handling must be
completely separate from mixing, but WildMidi had them intertwined
because it wasn't designed for external sequencers.
- Also remove all 'long's defining the output buffers to avoid having
something that's 32 bits wide on Windows and 64 bits wide on Linux.
2015-12-28 20:33:41 -06:00
Randy Heit
a2ebf771d3
Remove '\r' character from beginning of WildMidi error messages
2015-12-28 19:13:34 -06:00
Christoph Oelckers
9d48c84ee3
Merge branch 'master' of https://github.com/rheit/zdoom
2015-12-28 21:24:41 +01:00
Christoph Oelckers
060a6b2ff2
- shut down WildMidi when exiting.
...
The pointless error message in WildMidi_Shutdown was removed to keep the rest of the code simple and allowing to call this even when the device never was used.
2015-12-28 21:23:21 +01:00
Christoph Oelckers
a94120b6a4
Merge branch 'master' into WildMidi
2015-12-28 21:01:17 +01:00
Kyle Evans
5346b813da
Re-do GTK2_LIBARY_DIRS inclusion on a separate branch
2015-12-27 09:48:22 -06:00
Christoph Oelckers
1070bd9beb
- fixed: APlayerPawn::ViewHeight wasn't stored in savegames.
2015-12-26 16:17:56 +01:00
Christoph Oelckers
05b8e275cd
Merge branch 'master' of https://github.com/rheit/zdoom
2015-12-26 15:33:11 +01:00
Christoph Oelckers
400038643c
- fixed: Strife dialogues could crash on invalid links.
2015-12-26 15:31:59 +01:00
Blue-Shadow
c51abb0161
Added GetMaxInventory ACS function
2015-12-22 19:01:09 +03:00
Christoph Oelckers
03ccf03b8f
- fixed: UDMF with Doom format specials used the line's ID, not the first arg as the tag parameter for its special.
2015-12-21 01:13:21 +01:00
Christoph Oelckers
792d3906fd
- fixed: line activation checks for monster activation could be skipped if the lines also were flagged for player activation.
2015-12-19 20:32:41 +01:00
MajorCooke
452c82cbe2
- Added TF_SENSITIVEZ to A_Teleport. Fail teleportation instead of adjusting the actor to fit if they cannot.
...
- When checking whether to use spot z or floorz, use spot floorz instead of ref for consistency.
2015-12-17 10:34:38 -06:00
alexey.lysiuk
9176d75580
Fix incorrect small font rendering with Hexen Mac IWAD
...
Unused high resolution font lumps broke composite font logic
Small font had doubled height because of that, at least alternate HUD and inter-hub text messages had noticeable visual issues
2015-12-14 11:47:46 +02:00
Kyle Evans
7c6237e134
<stdlib.h> has replaced <malloc.h> on FreeBSD as well
2015-12-10 21:24:37 -06:00
Edward Richardson
c099cd4581
SpawnParticle functions
...
- Added A_SpawnParticle Decorate and SpawnParticle ACS functions.
2015-12-08 22:58:24 +13:00
coelckers
94c397b868
Merge pull request #435 from Edward850/pauseext-fix
...
Fix lost focus loosing network data
2015-12-07 12:52:23 +01:00
Braden Obrzut
964ee6bb23
- Worked around issue where stat doesn't work in v140_xp. Even though the bug was supposedly fixed for awhile now it didn't make it into Update 1.
2015-12-07 04:49:40 -05:00
Braden Obrzut
72d4c33453
- Removed GetAspectRatio as the implementation was highly fragile. Even if converted to giving the ratio, I have strong concerns about having this function built in without ZDoom supporting arbitrary aspect ratios as the odds of people checking against the hard coded constants seems high. The existing ACS version of this function returns fixed point ratios (because why not) and I fully expected people to use a switch statement when writing it.
2015-12-07 01:18:56 -05:00
Braden Obrzut
62d41a58a8
Merge branch 'DecProx3' of git://github.com/MajorCooke/zdoom into master
2015-12-07 00:53:06 -05:00
Christoph Oelckers
a0d6b05707
Merge branch 'master' of https://github.com/rheit/zdoom
2015-12-06 09:59:41 +01:00
Christoph Oelckers
ad0e71942d
- added GetAspectRatio function to ACS.
...
- added a sixth parameter for SetHUDClipRect so that the forced aspect ratio fudging this function performs can be disabled.
2015-12-06 09:59:02 +01:00
Gaerzi
542a108914
3D floor support for check switch range
2015-12-05 00:26:39 +01:00
Edward Richardson
f90ce1308e
Fix lost focus loosing network data
...
- Prevented focus loss from dropping network data during level
transitions
- Fixed delay counter underflows
2015-12-03 16:40:47 +13:00
Christoph Oelckers
81f521fe56
- fixed: Texture precaching from MAPINFO was broken
...
The code assumed that it had access to the texture manager but that gets initialized after MAPINFO, which means that MAPINFO can only store the texture names and let the precaching code resolve the actual textures.
2015-12-02 22:31:27 +01:00
alexey.lysiuk
4adf421513
Fix incomplete assignment operator of FSkillInfo
...
See http://forum.zdoom.org/viewtopic.php?t=50026
2015-12-01 14:30:57 +02:00
Christoph Oelckers
724445354c
- add the WildMidiMIDIDevice CPP file.
2015-12-01 10:39:22 +01:00
MajorCooke
8594bfaa8b
A_CustomPunch Extension
...
- Added Melee/Miss parameters just like A_CustomMeleeAttack.
2015-11-30 11:42:08 -06:00
Christoph Oelckers
f4a60f29f3
- added missing sc.MustGetString() to 'optional' case of decal parser.
2015-11-30 09:21:45 +01:00
Christoph Oelckers
c9e4f120e7
- forgot to save this before committing.
2015-11-29 15:27:20 +01:00
Christoph Oelckers
f7cdb28eac
- added a HealthFactor skill property.
2015-11-29 12:58:17 +01:00
Christoph Oelckers
106886a9bb
- allow setting the ice translation with Thing_SetTranslation.
...
This requires passing a magic value because this translation is defined differently than all the rest which can be used in ACS.
2015-11-29 12:30:50 +01:00
Christoph Oelckers
1ad02a6ce8
- allow specifying infighting through skills.
2015-11-29 12:10:12 +01:00
Christoph Oelckers
1a0faf4761
- allow optional decal generator definitions.
2015-11-29 11:41:14 +01:00
Christoph Oelckers
5515cb02a6
- fixed incorrect error method call in decal parser.
2015-11-29 11:35:12 +01:00
Christoph Oelckers
9bfd676783
- allow setting the FloatbobPhase through UDMF.
2015-11-29 11:28:26 +01:00
Christoph Oelckers
3682924249
- removed redundant parameter
2015-11-29 11:27:08 +01:00
Christoph Oelckers
a03b947729
- WildMidi generally working, some cleanup left to do...
2015-11-28 20:58:14 +01:00
MajorCooke
4fb48b332b
Added A_CheckProximity.
...
- Checks to see if a certain actor class, in numbers, is close to the actor/pointer via distance, based upon count. Can check for ancestry, disable Z searching, perform less than or equal to instead of greater or equal to, exact counts, check a pointer instead of itself and differentiate between live monsters and dead.
2015-11-28 10:53:34 -06:00
Christoph Oelckers
eff2286bc9
- added WildMidi library sources - all converted to C++ so that they can later interface with ZDoom's own MIDI code. Also redid the file loading function to use ZDoom's FileReader instead of low level IO.
2015-11-28 17:38:40 +01:00
Christoph Oelckers
888f356e58
- use the recently added text input menu item to add the config file for GUS, the patch set for Fluidsynth and the timidity.exe path for Timidity++ to the menu. Even though there is no proper file select box, this is still better than nothing.
...
- changed the text input item so that it realigns itself to show the entire text when in text input mode.
2015-11-28 12:43:01 +01:00
Christoph Oelckers
3fadfec77d
- fixed typo in SendToCommunicator enhancement.
2015-11-28 00:43:39 +01:00
Christoph Oelckers
a55d85c51c
- do not wait infinitely for termination of the Timidity++ process. This can lock up the engine indefinitely if the child process fails to exit.
2015-11-27 12:12:08 +01:00
Christoph Oelckers
7e87216878
- fixed: r_visibility values >= 205 appear to cause fixed point overflows at least on 5:4 aspect ratio so they should be blocked.
2015-11-27 10:44:37 +01:00
Christoph Oelckers
fca469b053
- moved the notification messages for SendToCommunicator into LANGUAGE.
...
As a side effect this will now allow using custom messages with this function as well by using the arg2 parameter as part of the message's name (arg2=0 will use TXT_COMM0, arg1 TXT_COMM1 and so on.)
2015-11-26 10:25:05 +01:00
MajorCooke
d730b06da7
Added A_CheckSpecies(state jump, name species, ptr = AAPTR_DEFAULT)
...
- Performs a state jump if the defined species name for the pointed actor matches the criteria.
2015-11-26 01:33:02 -06:00
MajorCooke
7725e9d641
New line.
2015-11-25 23:17:13 -06:00
MajorCooke
a1e3112850
Removed FVF_RESETPITCH.
2015-11-25 23:15:59 -06:00
MajorCooke
ab5b1f479a
Updated A_FaceVelocity.
...
- Now includes anglelimit and pitchlimit.
- Anglelimit and pitchlimit only allows the actor to turn this much, similar to A_FaceTarget's limit. FVF_RESETPITCH also respects the pitch limit.
- (offset, anglelimit, pitchlimit, flags, ptr)
2015-11-25 21:49:25 -06:00
Christoph Oelckers
6efc2a0ec7
- fixed positioning of map name on Hexen automap.
2015-11-25 13:47:04 +01:00
Christoph Oelckers
78deb70a00
- fixed: ConfigSections were not properly deallocated
2015-11-25 13:40:18 +01:00
Christoph Oelckers
355f70986a
- fixed: 'give' inventory functions ignored an items MaxAmount setting.
2015-11-25 13:36:42 +01:00
Christoph Oelckers
f4ab6074fa
- today's 'GCC sucks' fix.
...
(Yet again some overtly anal type issues with the '? :' operator...)
2015-11-25 13:30:12 +01:00
Christoph Oelckers
1e0366f98f
- fixed: $musicalias must be resolved before comparing for equality with the currently playing music.
2015-11-25 13:27:35 +01:00
Christoph Oelckers
43dff3021b
- fixed: The OpenAL backend ignored PlaySound's 'volume' parameter.
2015-11-25 13:00:56 +01:00
Christoph Oelckers
cd110f67df
Merge branch 'master' of https://github.com/rheit/zdoom
2015-11-25 12:28:05 +01:00
coelckers
da39c86967
Merge pull request #401 from MajorCooke/RadiusGiveMinRange
...
A_RadiusGive Mindist Parameter + RGF_OBJECTS Fix
2015-11-25 12:27:54 +01:00
Christoph Oelckers
4a18a28448
- fixed: am_showtriggerlines will now ignore any non-activatable linedef types.
2015-11-25 12:20:35 +01:00
Christoph Oelckers
99fbb55296
Merge branch 'master' of https://github.com/rheit/zdoom
2015-11-25 11:50:03 +01:00
Christoph Oelckers
7b017f472a
- fixed: Due to the default skybox being moved to the global level data, there was insufficient information to distinguish between using the default skybox or the regular sky. Fixed by adding two new sector flags which get set by a 0-tid SkyPicker.
2015-11-25 11:49:34 +01:00
MajorCooke
75855dc64a
A_FaceVelocity(offset, flags, ptr)
...
- Changes the caller's angle and pitch according to the direction of velocity they're travelling.
- FVF_NOPITCH and FVF_NOANGLE disable changing of pitch/angle respectively and should be counted as mutually exclusive, or the function does nothing.
- FVF_INTERPOLATE - Interpolate's the angle and pitch changes.
- FVF_RESETPITCH will, if there's no z velocity, reset the pitch to 0. Otherwise, the pitch remains unchanged.
2015-11-25 01:44:19 -06:00
coelckers
ab85319fbf
Merge pull request #425 from j-palomo/pickactor2
...
Backport RETURNTID and FORCETID flags for PickActor from GLOOME.
2015-11-22 16:04:08 +01:00
alexey.lysiuk
20bf4d6c8e
Fixed crash on finishgame CCMD in non-game modes
...
http://forum.zdoom.org/viewtopic.php?t=49943
2015-11-21 17:43:49 +02:00
John Palomo Jr
2612fad326
Backport RETURNTID and FORCETID flags for PickActor from GLOOME. Renamed prefix to avoid confusion with Pain Attack flags. Fixed broken enum.
2015-11-21 06:05:16 -05:00
ZZYZX
75d21d6dd8
ZDoom wasn't setting drawseg_t::curline when making "fake" drawseg for skyboxes, which interfered with portal sprite clipping routine randomly.
2015-11-12 01:17:03 +02:00
Braden Obrzut
a8ac748123
Merge commit 'e2d874e343da34df6edfad0bb47370cbe10f4bae'
2015-10-25 15:00:43 -04:00
alexey.lysiuk
3e517ad4d0
Fixed selection of empty items in Video Mode menu
...
See http://forum.zdoom.org/viewtopic.php?t=49794
2015-10-24 11:58:57 +03:00
coelckers
117783a785
Merge pull request #419 from alexey-lysiuk/spawnspot_nomonsters
...
'no monsters' option is no longer ignored in ACS Spawn functions
2015-10-18 21:03:48 +02:00
alexey.lysiuk
27135d5c5d
Fixed crash on loading map with corrupt linedefs and/or sectors
...
See http://forum.zdoom.org/viewtopic.php?t=49276
2015-10-18 16:28:42 +03:00
alexey.lysiuk
869e168495
'no monsters' option is no longer ignored in ACS Spawn functions
...
See http://forum.zdoom.org/viewtopic.php?t=46459
2015-10-18 15:54:07 +03:00
MajorCooke
c5f433d80a
No more BASETHRESHOLD.
2015-10-14 07:36:30 -05:00
alexey.lysiuk
916b5f796d
Updated list of video resolutions for Cocoa backend
...
Added resolutions for iMac Retina 4K 21.5"
Added comments about a few resolutions specific to Macs
2015-10-14 13:17:21 +03:00
Edoardo Prezioso
4cd793ca2f
- Fixed broken projectile firing projectiles code.
...
This went unnoticed since ZDoom 2.0.90, which introduced the bug. Discovered with the recent TFlags improvements.
2015-10-13 09:13:37 +02:00
Edoardo Prezioso
6678c3550e
- Improve the TFlags code and fix the new errors.
...
The previous version didn't detect some real mistakes in code which used operator& with the wrong flagset (for now 'converted' to the correcly equivalent counterpart, waiting for the proper fix).
2015-10-13 00:30:06 +02:00
MajorCooke
75100d76fb
- Added Threshold Manipulation.
...
- Added 'threshold' and 'defthreshold' to DECORATE expression exposure.
- ChaseThreshold sets the default threshold for how long a monster must chase one target before it can switch targets. Default is 100, must not be negative.
- A_SetChaseThreshold can be used to alter the current or default threshold of an actor <pointer>.
- Changing current threshold has no effect on what the default will be once it hits 0 and something makes it infight with another.
2015-10-12 11:06:55 -05:00
coelckers
72445667e3
Merge pull request #412 from MajorCooke/Iceshatter
...
ICESHATTER Flag
2015-10-11 19:45:01 +02:00
MajorCooke
380b5c1eb7
- Added ICESHATTER flag.
...
- Any inflictor with this flag can break ice corpses
2015-10-11 09:10:33 -05:00
coelckers
c1496ea1bf
Merge pull request #390 from MajorCooke/SetPainThreshold
...
- Added A_SetPainThreshold for the calling actor('s pointer).
2015-10-11 15:55:32 +02:00
alexey.lysiuk
fe61b8064a
Fixed MSVC warning in a_randomspawner.cpp
...
...\src\g_shared\a_randomspawner.cpp(32): warning C4800: 'DWORD' : forcing value to bool 'true' or 'false' (performance warning)
See http://forum.zdoom.org/viewtopic.php?t=49737
2015-10-11 09:28:38 +03:00
coelckers
ba651ebff7
Merge pull request #410 from MajorCooke/CloserZDisable
...
A_JumpIfCloser Z Check Toggle
2015-10-10 23:11:06 +02:00
MajorCooke
21dc45bdec
This did not save out properly...
2015-10-10 15:30:18 -05:00
MajorCooke
455b70630d
- Added A_JumpIfCloser NoZ boolean. Disables Z distance checking if true.
2015-10-10 10:11:59 -05:00
coelckers
3b2e8f3401
Merge pull request #409 from alexey-lysiuk/back_overlap_crash
...
Fixed crash when clicking on back button in main menu
2015-10-10 16:13:48 +02:00
coelckers
45d573a2f2
Merge pull request #393 from alexey-lysiuk/fix_random_spawner
...
Small improvements for random spawner
2015-10-10 16:12:17 +02:00
alexey.lysiuk
bad9961376
Fixed crash when clicking on back button in main menu
...
If menu item selection overlaps back button in main menu, clicking on back button with mouse caused a crash
See http://forum.zdoom.org/viewtopic.php?t=49711
2015-10-10 15:03:14 +03:00
ZZYZX
e669e3cd08
Cosmetic fixes to actionspecials.h
2015-10-09 16:03:59 +03:00
ZZYZX
7bfce1d176
Fixed crash in R_ClipSpriteColumnWithPortals if seg->curline is null
2015-10-08 21:16:30 +03:00
alexey.lysiuk
99dd664029
Print warning to console if unknown texture found in menu definition
2015-10-07 12:13:11 +03:00
alexey.lysiuk
005e468fa9
Fixed crash when menu item uses non-existent texture
...
See http://forum.zdoom.org/viewtopic.php?t=49696
2015-10-07 12:11:27 +03:00
Braden Obrzut
df9053ea99
Merge branch 'CheckBlock'
2015-10-06 22:36:24 -04:00
MajorCooke
2f3b69e770
Optimize a little more...
2015-10-04 16:12:35 -05:00
MajorCooke
154e023800
- Added A_CheckBlock(state block, int flags, int ptr).
...
- Performs a jump if an actor or a line is in the way.
- Can be used without a jump state if the desire is only to have a pointer change.
- CBF_NOLINES disables jumping if a line is involved.
- CBF_SET* flags set the target, master or tracer to whoever is blocking, for the actor calling the function.
- CBF_SETONPTR causes the pointer changing flags to apply to the pointed actor instead of itself.
2015-10-04 16:00:40 -05:00
MajorCooke
e2d874e343
Applied _mental_'s suggestion
2015-10-04 12:37:49 -05:00
MajorCooke
af9478f818
- Added Warp properties RadiusOffset and Pitch.
...
- RadiusOffset is a multiplier of the target actor's radius added onto the offsets x and y.
- Pitch is added to the warping actor's current pitch, provided WARPF_USEPITCH is supplied.
- Fixed WARPF_TOFLOOR not working as intended.
2015-10-03 17:28:54 -05:00
MajorCooke
28622cecaf
- Added mindist parameter to A_RadiusGive.
...
- Actors must be this far away to receive items. Mindist must be less than distance.
- Fixed RGF_OBJECTS not discriminating players and monsters from shootable or vulnerable actors.
2015-09-29 11:40:44 -05:00
coelckers
beb2a4fc64
Merge pull request #396 from alexey-lysiuk/console_dbgout
...
Make console text to appear in Windows debug output
2015-09-23 09:47:09 +02:00
alexey.lysiuk
37dde2e77d
Make console to Windows debug output controlled by CVAR
...
DebugView can be used to view output without debugger attached
2015-09-23 10:18:57 +03:00
alexey.lysiuk
c743b19e6d
Make console text to appear in Windows debug output
...
This works in Debug configuration only
Color escape sequences are stripped from text before output
2015-09-22 15:19:44 +03:00
khokh2001
b1b17beaf6
nuked opl emulator update
2015-09-20 02:14:24 +09:00
alexey.lysiuk
96ff716046
Added error message about missing class to drop from RandomSpawner
2015-09-19 18:29:59 +03:00
alexey.lysiuk
49519db257
Fixed crash in RandomSpawner with -nomonsters
...
See http://forum.zdoom.org/viewtopic.php?f=2&t=49520
2015-09-19 18:29:07 +03:00
ZzZombo
98bdbb1ad8
-Fixed PCD_DROP affecting script result value.
2015-09-19 09:40:19 +08:00
Christoph Oelckers
b613db4ae5
Revert "Merge pull request #359 from Leonard2/master"
...
This reverts commit 364ca11b43
, reversing
changes made to dae0e217d1
.
Conflicts:
src/r_data/r_interpolate.cpp
2015-09-18 17:41:16 +02:00
alexey.lysiuk
621116a289
Disabled loading of SDL output plugin for FMOD Ex on OS X
...
Long path to executable file corrupts stack inside FMOD library
This plugin is not being built for OS X, output through CoreAudio works just fine
2015-09-18 10:53:46 +03:00
MajorCooke
6730525855
- Added A_SetPainThreshold for the calling actor('s pointer).
2015-09-17 09:07:13 -05:00
alexey.lysiuk
924a2aaaa7
Added "support" for PCD_CONSOLECOMMAND in ACS
...
Now attempt to execute a console command from a script will not terminate its execution
An error message will be issued in the console on every such attempt
2015-09-16 16:56:43 +03:00
alexey.lysiuk
b2fa4970fd
Fixed potential crash in ACS engine
...
Unknown p-code in compiled script may lead to a crash if the current module was changed during script execution, e.g. by function call
See http://forum.zdoom.org/viewtopic.php?f=2&t=48524
2015-09-16 16:13:56 +03:00
alexey.lysiuk
fea2cb38cc
Fixed compatibility flags comparison for point-on-line
...
Now it works in both cases: for compatibility mode set by user and for internal compatibility handler
2015-09-15 19:27:05 +03:00
alexey.lysiuk
39b18a3447
Improved point-on-line compatibility feature
...
P_PointOnLineSide() and P_PointOnDivlineSide() functions from the initial Doom source code release are used in compatibility mode
2015-09-15 18:21:05 +03:00
alexey.lysiuk
ee7eb3253a
Added compatibility flag for point-on-line algorithm
...
It's possible to use original but buggy implementations of P_PointOnLineSide() and P_PointOnDivlineSide() function
See http://forum.zdoom.org/viewtopic.php?f=2&t=49544
2015-09-15 16:45:20 +03:00
Blue-Shadow
d7a04b9e98
dumpmapthings CCMD: Missing line break after "none".
2015-09-14 17:22:41 +03:00
Braden Obrzut
f02b52ef28
- Fixed: Initialization ordering warning in DPSpriteInterpolation.
2015-09-13 20:56:20 -04:00
coelckers
afa438419d
Merge pull request #379 from Edward850/sanitize
...
ACS module error was missing newline
2015-09-13 08:55:14 +02:00
Edward Richardson
36c7002628
ACS module error was missing newline
2015-09-13 13:46:02 +12:00
Chris
a90ea55e2c
- Removed duplicate 'acceleratestage' check.
2015-09-12 23:01:56 +01:00
Teemu Piippo
69fd0e6eb4
Stylistical coherence..
2015-09-12 14:07:40 +03:00
Teemu Piippo
67a7f48ca3
Handle locknumber in boundary checks, check for FS_Execute
2015-09-12 14:02:07 +03:00
Teemu Piippo
2f027504b6
Show sector action boundaries on the automap like line specials are.
2015-09-12 04:47:49 +03:00
coelckers
890233d5fe
Merge pull request #375 from XaserAcheron/master
...
Added FPF_NOAUTOAIM to A_FireCustomMissile
2015-09-10 11:29:03 +02:00
Xaser Acheron
5afbe8ca00
Fixed compiler warning for FPF_NOAUTOAIM flag check
2015-09-09 18:54:49 -05:00
Edoardo Prezioso
19c702a608
- Fixed a crash when a player dies in damage floors.
2015-09-09 21:26:44 +02:00
Xaser Acheron
8948f5dc2b
Added FPF_NOAUTOAIM to A_FireCustomMissile
2015-09-08 10:40:21 -05:00
coelckers
364ca11b43
Merge pull request #359 from Leonard2/master
...
Added weapon interpolation.
2015-09-08 09:06:40 +02:00
MajorCooke
143a4c78a9
- Added A_SetFloatSpeed.
...
- Sets the FloatSpeed of the actor/pointer.
2015-09-06 19:57:43 -05:00
Chris
99120d8442
- Fixed: A_SkullPop did not work with spy mode.
2015-09-06 12:12:57 +01:00
Edoardo Prezioso
e939d6885d
- Fixed a crash in ACS strlen parsing with invalid argument.
2015-09-05 23:58:02 +02:00
Edward Richardson
9aabc85281
Fixed loading default map saves
...
- Just like normal maps, default map stores an FString as a map name.
2015-09-05 17:13:54 +12:00
Edward Richardson
abb033d400
Fix deallocation of controllers with no axes
2015-09-05 14:18:48 +12:00
Edward Richardson
8ec4d431cf
Fixed memory leak in joystick menu
2015-09-05 14:12:52 +12:00
Leonard
0fa24ab82d
Use barrier_cast instead of static_cast
2015-08-31 13:04:40 +02:00
Edward Richardson
02c562518d
Fixed possible sync issue with frag counts
2015-08-30 23:36:00 +12:00
Edward Richardson
b87435ac9d
Remove unnecessary FriendlyFire global
2015-08-30 22:56:34 +12:00
Edward Richardson
389ff4fc98
Shift self-clip to first check for performance
2015-08-30 22:02:36 +12:00
alexey.lysiuk
677dc8893e
Fixed compilation on non-Windows OSes
2015-08-29 14:55:10 +03:00
Gaerzi
98f214ee66
Added support for GOG paths
...
This works a bit differently from the Steam version, because each game
has its own registry keys and its own independent path.
2015-08-28 19:14:25 +02:00
Christoph Oelckers
0a8255f34b
Merge branch 'master' of https://github.com/rheit/zdoom
2015-08-27 12:49:23 +02:00
Christoph Oelckers
696c6af588
- fixed: FString's 'Strip...' functions could crash on empty strings.
2015-08-27 12:48:43 +02:00
Christoph Oelckers
d87b6d6337
Merge branch 'WarpHeightOffset' of https://github.com/MajorCooke/zdoom
2015-08-26 08:46:20 +02:00
MajorCooke
ebf515f8c7
- Fixed unneeded dual call to SetOrigin.
2015-08-25 20:18:06 -05:00
MajorCooke
2731643200
Removed stricmp checks, as they're not needed.
2015-08-25 08:15:23 -05:00
MajorCooke
f9e70a82c6
- Added A_SetSpecies(<species>,<pointer>).
2015-08-24 12:45:10 -05:00
Leonard
86e9504d04
Added weapon interpolation.
2015-08-19 15:59:54 +02:00
Christoph Oelckers
d786148ccf
- fixed: the 'gameversion' console output was missing a trailing linefeed.
2015-08-16 20:33:34 +02:00
Christoph Oelckers
2d58a28cc3
- fixed: In Heretic an active Tome of Power should not freeze a teleporting player.
...
This was implemented by adding a new inventory flag INVENTORY.NOTELEPORTFREEZE so that the effect can both be activated for other items and deactivated for the two that currently have it.
2015-08-16 08:50:22 +02:00
Christoph Oelckers
2ed3cec4db
- externalized strings from Raven intermission screen.
2015-08-11 22:30:29 +02:00
Christoph Oelckers
b06770cb92
- fixed: A_Respawn did not reset the actor's radius.
2015-08-11 17:12:16 +02:00
MajorCooke
9c24e9ac71
- Removed the check for APlayerPawn and just went with player checking alone.
...
- Updated the savever, demogameversion, and mindemoversion.
2015-08-11 06:53:28 -05:00
MajorCooke
cac600733f
- Added Remove <classname> console command.
2015-08-10 20:45:18 -05:00
MajorCooke
87cc3f77f9
- Removed WARPF_ADDHEIGHT.
2015-08-10 16:05:44 -05:00
MajorCooke
54af1e379e
- Removed WARPF_MULHEIGHT. Enable its ability by default.
...
- WARPF_ADDHEIGHT will simply change HeightOffset from multiplying to adding by default.
2015-08-10 15:03:29 -05:00
MajorCooke
7e661dfe57
- Clean up.
2015-08-10 12:41:40 -05:00
MajorCooke
9cf8a2a26c
- Missed a spot.
2015-08-10 12:20:42 -05:00
MajorCooke
ad14caa800
- Added A_Warp heightoffset property. Only has an effect by two flags.
...
- WARPF_ADDHEIGHT adds the pointed actor's height to heightoffset, and adds to the pointed actor's z position.
- WARPF_MULHEIGHT multiplies the pointed actor's height by heightoffset, and adds to the pointed actor's z position. Overridden by ADDHEIGHT.
2015-08-10 11:19:54 -05:00
MajorCooke
fcf1d56b1a
- Added SXF_IS<TARGET/MASTER/TRACER>.
...
- The spawned actor becomes the calling actor's specified pointers respectively.
2015-08-09 14:06:22 -05:00
Christoph Oelckers
3efbf6c74e
- fixed: am_restorecolors did not work
...
This CCMD tried to access the current menu to decide which colors to reset but that is not available at all when this function gets called. It now uses the automap's own CVAR arrays.
2015-08-09 09:03:12 +02:00
Christoph Oelckers
58870d4871
- fixed: SingleActorFromTid wasn't declared in thingdef_codeptr.cpp
2015-08-01 23:17:06 +02:00
Christoph Oelckers
36974431ba
Merge branch 'master' into scripting
...
Conflicts:
src/thingdef/thingdef_codeptr.cpp
2015-08-01 09:42:31 +02:00
Christoph Oelckers
78c21bfb05
- last commit was wrong (forgot to save my second change before committing.
2015-07-31 15:49:47 +02:00
Christoph Oelckers
2be19a87ba
- fixed some bad boolean logic in fly cheat command.
2015-07-31 15:47:47 +02:00
Benjamin Moir
7163aa9667
Moved Warp to the ZDoom range
2015-07-31 22:28:10 +09:30
Benjamin Moir
efce2a200c
Added WARPF_USETID to A_Warp
2015-07-31 22:24:01 +09:30
Christoph Oelckers
701fc374f7
- consolidated A_Warp and ACS Warp code into a subfunction.
2015-07-31 08:40:33 +02:00
Benjamin Moir
cf43bd969d
Added Warp to ACS
2015-07-30 16:56:54 +09:30
MajorCooke
9319854590
Small bugfixes
...
- Fixed a couple tiny bugs with A_ScaleVelocity and A_ChangeVelocity using self instead of ref.
2015-07-27 12:20:32 -05:00
MajorCooke
ce1037af95
- Missing check for RGF_PLAYERS/VOODOO.
2015-07-24 13:48:46 -05:00
MajorCooke
41b4df71c2
Use IsKindOf instead of MF_SPECIAL to check for an inventory item.
2015-07-22 17:12:42 -05:00
MajorCooke
b4f05ee89b
- Significant A_RadiusGive update.
...
- Added filter and species parameter.
- Added new flags: RGF_INCLUSIVE, RGF_ITEMS, RGF_KILLED, RGF_EXFILTER, RGF_EXSPECIES, and RGF_EITHER.
- RGF_ITEMS: Items can receive inventory.
- RGF_KILLED: Actors who are truly dead might not be corpses, and vice versa.
- RGF_EXFILTER: Blacklists the specified actor filter. All but the filtered actor can receive the item.
- RGF_EXSPECIES: Blacklists the specified species. All but the filtered species can receive the item.
- RGF_EITHER: The actor can receive the item if it satisfies either the filter or the species. Only useful when both are used.
- RGF_INCLUSIVE: An actor marked as more than one pointer to the calling actor can ignore the exclusion pointers, but only if at least one is missing. I.e. an actor who is a target and tracer of the calling actor can still receive the item, if the calling actor doesn't pass RGF_NOTARGET and NOTRACER at the same time. RGF_INCLUSIVE only works with the pointer filtering flags. By default, if not specified, the actor will not be loopholed the item if they are under any one of the three filters.
- Fixed discrepancies and dependencies upon several flags and actor conditions which caused the function to fail.
2015-07-22 16:46:14 -05:00
Christoph Oelckers
d8ea128f38
Merge branch 'master' into scripting
...
Conflicts:
src/p_effect.cpp
src/p_effect.h
src/p_local.h
src/p_map.cpp
src/thingdef/thingdef_codeptr.cpp
2015-07-16 20:37:17 +02:00
coelckers
7be6041f57
Merge pull request #347 from edward-san/xs_float_infinite_loop
...
- Fixed a dangerous typo in xs_Float code.
2015-07-16 20:26:21 +02:00
coelckers
e857d875cc
Merge pull request #346 from edward-san/uninitialized_build_stairs
...
- Fixed an uninitialized variable in stairs code.
2015-07-16 20:25:46 +02:00
Edoardo Prezioso
f57e23989b
- Fixed a dangerous typo in xs_Float code.
...
The function 'xs_CeilToUInt' would call itself, leading to infinite loop, due to a typo. It should call 'xs_CeilToInt' instead.
2015-07-16 19:54:27 +02:00
Edoardo Prezioso
1bd23150aa
- Fixed an uninitialized variable in stairs code.
...
'floor->m_Hexencrush' was left uninitialized in all the floor movers after the first one.
2015-07-16 19:46:54 +02:00
Edoardo Prezioso
99683f0e7d
- Fixed a KEYCONF parser issue with empty lines.
...
The code attempted to access an array outside its bounds when it tried to parse empty lines.
Discovered with the Address Sanitizer.
2015-07-16 19:43:30 +02:00
Christoph Oelckers
add52d48cd
- fixed: INPUT_XInput must also be available when compiling without XInput support so that the corresponding JoyDevice can be accessed.
2015-07-15 14:44:37 +02:00
Christoph Oelckers
47303b26c7
- define GET_XBUTTON_WPARAM for MinGW in all file which need it.
2015-07-15 14:09:21 +02:00
Christoph Oelckers
c677dd37f5
- changed I_PrintStr so that it doesn't add everything to the RichEdit control right away.
...
The RichEdit control can become quite slow with large amounts of text being added constantly.
Since anything that gets added while the game is running can't be seen anyway unless a fatal error is produced, it buffers the text locally now, without any processing, and only adds it to the RichEdit control in case a fatal error causes the control to be displayed again.
2015-07-15 12:53:58 +02:00
Christoph Oelckers
1e4bec25c5
- fixed the distance check for unblocking overlapping monsters. It tested for half the radius as distance threshold when it should have used the full radius
2015-07-15 10:15:12 +02:00
Christoph Oelckers
19d15d7fc8
- fixed: Levels could be exited multiple times, triggering special exit actions for each one.
2015-07-15 09:25:04 +02:00
Christoph Oelckers
b5033d2940
- fixed a bad check from pull request #325 .
2015-07-15 09:11:08 +02:00
Christoph Oelckers
585366f872
- fixed signedness warning.
2015-07-15 09:08:15 +02:00
Christoph Oelckers
fe2e293d02
- added some error checks for trying to create unsupported animations for textures with full path names.
2015-07-13 09:08:08 +02:00
Christoph Oelckers
eeaea59828
- fixed: FTagManager::RemoveSectorTags must check if the StartForSector array is large enough to contain the sector whose information is to be removed.
2015-07-13 08:42:42 +02:00
Marrub
9e1a82a830
fix menus muting themselves when the volume is changed
2015-07-10 08:45:15 +00:00
Braden Obrzut
3adda344b6
- Missing common resolution 1680x1050 added to resolution list of SDL and Cocoa.
2015-07-06 02:58:01 -04:00
Randy Heit
0fa0dc5f9e
Add support for alias parameter substitution in quoted strings
...
- For backward compatibility, you need to indicate that substitution is
allowed in the string by prepending it with a % character:
alias asay "say %\"%1\""
The above will substitute the alias parameter.
alias asay "say \"%1\""
The above will not substitute the alias parameter but use the string
literal "%1" directly.
2015-06-30 13:01:48 -05:00
Marrub
08e9d75538
removed sv_fastweapons 4 as it may cause issues
2015-06-27 15:00:31 -04:00
Marrub
4208993f22
use sv_fastweapons 3 and 4 instead
2015-06-27 08:26:48 -04:00
Marrub
873ef3fea8
that works better
2015-06-25 10:15:40 -04:00
Marrub
bbc3173629
yep
2015-06-25 09:47:37 -04:00
coelckers
f0b73b30c0
Merge pull request #341 from Edward850/railfix
...
Add missing MF7_FORCEDECAL flag for rail attacks, and changed operation to doubles
2015-06-25 08:57:03 +02:00
Edward Richardson
2a69ae2a43
Change all float calcs in rails to doubles
2015-06-25 13:57:36 +12:00
Edward Richardson
8670b7ecf7
Use puff decal with MF7_FORCEDECAL
2015-06-25 12:53:46 +12:00
Christoph Oelckers
85449a6b8a
- fixed: A_BFGSpray checked the spray actor's class for MTHRUSPECIES, not the actual shooter.
2015-06-21 13:04:47 +02:00
Randy Heit
1482070207
Comment out SCOPE parsing for now
2015-06-13 18:19:38 -05:00
Randy Heit
245a46735d
Fix warning in assert statement
2015-06-13 18:19:09 -05:00
Eevee (Alex Munroe)
911b35370e
Let's go wild and do it for the ceiling, too.
2015-06-09 13:41:48 -07:00
Eevee (Alex Munroe)
3b2126ba95
Don't allow pressing a checkswitchrange switch that's in the floor.
2015-06-09 13:20:10 -07:00
ZZYZX
d0df4c1744
Upgraded the portal code to work with the new tagManager system. Was uncompilable
2015-06-07 21:27:20 +03:00
ZZYZX
31cad858d9
Fixed odd merge bugs
2015-06-07 20:54:36 +03:00
alexey.lysiuk
2200569793
Fixed build on OS X without FMODEx
2015-06-07 11:31:53 +03:00
Christoph Oelckers
7ba577e1b0
Merge branch 'master' into scripting
...
Conflicts:
src/g_heretic/a_hereticweaps.cpp
src/thingdef/thingdef_codeptr.cpp
2015-06-07 09:43:54 +02:00
Christoph Oelckers
4444d3c0c5
- removed the _3DFLOOR #define because we really do not want to comment this out anymore, right?
2015-06-07 09:41:44 +02:00
Christoph Oelckers
3fea074d35
- respect FF_INVERTSECTOR when checking a 3D floor's terrain.
2015-06-07 09:33:15 +02:00
Christoph Oelckers
2b59a35e84
Merge branch 'texture-scaling-3d-floors' of https://github.com/eevee/zdoom
2015-06-07 09:09:55 +02:00
Eevee (Alex Munroe)
15b97c1409
Fix scaling of 3D floor wall textures.
...
The scale factors are now taken from the same part of the sidedef that
provides the texture.
2015-06-06 18:26:13 -07:00
ZZYZX
b3764f4ee2
Fixed trivial bug with two-sided portals not clipping stuff correctly
2015-06-07 04:19:21 +03:00
ZZYZX
29880026a6
Fixed sprite clipping with drawsegs (removed unnecessary portal check)
2015-06-07 04:19:21 +03:00
ZZYZX
f07d43943a
Made a CVar to limit recursions; Made a CVar to highlight portal borders; Fixed slight logical bug in unique portal identifiers
2015-06-07 04:19:20 +03:00
ZZYZX
b066b0891a
Fixed portal detection in R_AddLine
2015-06-07 04:19:19 +03:00
ZZYZX
78ea00be59
Put line ID from args[1] for Hexen maps
2015-06-07 04:19:18 +03:00
ZZYZX
cd39c4b8a6
Merged mirrors with portals; Render part of mirrors done, render part of portals needs further testing
2015-06-07 04:19:17 +03:00
Eevee (Alex Munroe)
8fa9aa2627
Use the correct sidedef's middle scaling when drawing 3D floors.
...
This wants `curline->sidedef`, which is the 3D sidedef currently being
drawn. `sidedef` appears to be the last regular sidedef that happened
to be drawn? The perils of globals.
2015-06-06 18:17:50 -07:00
Eevee (Alex Munroe)
221c2d2d82
Transfer flat-based damage (P_PlayerOnSpecialFlat) to 3D floors.
2015-06-06 16:07:48 -07:00
Eevee (Alex Munroe)
8a428e69b6
Don't play a terrain splash if the player didn't take damage.
2015-06-06 16:07:48 -07:00
Eevee (Alex Munroe)
a87a86198c
Transfer friction to swimmable 3D floors.
2015-06-06 16:07:48 -07:00
Braden Obrzut
662345adb8
- Fixed: More endian issues in the ACS VM.
2015-06-05 22:22:54 -04:00
Christoph Oelckers
ae3b52a68a
- fixed: Software renderer's colormap variables should not be accessed from common renderer interface code.
2015-06-04 09:20:55 +02:00
MajorCooke
4c390d92a4
-...forgot this one.
2015-06-02 12:22:26 -05:00
MajorCooke
22570e079e
* Added LAXTELEFRAGDMG. This flag forces all damage to be factored, regardless being above or below the telefrag threshold.
...
- This only affects damage calculations being received by the end result. If the original damage was not a million or more, from the start, it will not hurt invulnerable-flagged or kill buddha-flagged monsters.
- Fixed: Damage was inconsistent by the time the function checked for player cheats/invulnerability and (monster and player) buddha, yet monster invulnerability checked the original damage prior to factor processing. This means a damage source that intended to damage another below the threshold could accidentally increase with a powerdamage multiplier or the recipient with a weakness for it, resulting in invulnerability/buddha foiling. Now, checks for telefrag damage using the raw original value on player godmode, player/monster invulnerability and buddha.
2015-06-02 12:10:45 -05:00
Christoph Oelckers
c1e3c16232
Merge branch 'master' of https://github.com/rheit/zdoom
2015-05-28 09:23:14 +02:00
Christoph Oelckers
65cc361e9b
- added Zandronum's text input menu items.
2015-05-28 09:22:48 +02:00
Edoardo Prezioso
4546df7dc3
- Fixed SetActorPitch and ChangeActorPitch issue.
...
The code did not take into account the player's limited pitch.
2015-05-28 00:41:07 +02:00
Christoph Oelckers
733873351a
Merge branch 'master' of https://github.com/rheit/zdoom
2015-05-25 19:58:02 +02:00
Christoph Oelckers
9f208409f2
- fixed: The tag check in Sector_CopyScroller was inverted (it should reject sectors with the given tag, but it rejected everything else.)
2015-05-25 19:57:36 +02:00
Braden Obrzut
c9214c1ce9
- Fixed: Hexen's status bar top graphic was drawn 1 pixel too low.
...
- Fixed: Artiflash played on initial save loading. I seem to recall this looking like an intentional change, but perhaps I broke it since it's completely pointless to play the animation only on the first load of a save game if nothing has been loaded beforehand.
2015-05-20 13:10:08 -04:00
Braden Obrzut
e46b25f628
- Fixed: god2 didn't trigger invulnerability in SBarInfo.
2015-05-20 12:54:13 -04:00
Braden Obrzut
354ec022b3
- On Windows resizing a window just renders the image to the size of the window, so lets do the same for SDL (makes mouse coordinate scaling easier).
2015-05-20 12:32:17 -04:00
Braden Obrzut
4d082d93cd
- Use SDL_RenderSetLogicalSize to handle animorphic ratios in fullscreen with SDL backend.
...
- Reuse the old window in the SDL backend since in some instances switching windows causes issues (OS X fullscreen for instance (while using the SDL backend of course)).
- Clear the SDL render before copying in the framebuffer to remove HOM-like effect.
2015-05-19 17:09:20 -04:00
Christoph Oelckers
4d496f8b04
Merge branch 'master' of https://github.com/rheit/zdoom
2015-05-17 21:41:09 +02:00
Christoph Oelckers
1e3230486e
- Fixed: FTagManager::Clear did not clear the line ID hashing index.
2015-05-17 21:40:25 +02:00
Braden Obrzut
f10416af8a
- Fixed: Missing WINAPI macro in SHGetFolderPathA (MSDN documentation didn't include it so I didn't. Apparently Microsoft is just incosistent since it's documented in functions like GetLongPathName.)
2015-05-07 23:52:58 -04:00
Christoph Oelckers
87ff82dba6
- fixed: Trying to remove sector tags for line-less sectors crashed when there were no sector tags at all in a map.
2015-05-07 13:05:18 +02:00
Christoph Oelckers
b587c85a81
- fixed: On Windows the cache path could end up with double slashes when no AppData folder could be found.
2015-05-07 00:45:36 +02:00
Christoph Oelckers
96fa3b124e
- fixed: Trying to remove sector tags for line-less sectors crashed when there were no sector tags at all in a map.
2015-05-06 23:24:27 +02:00
Christoph Oelckers
bfc10f4c5e
Merge branch 'master' into scripting
2015-05-05 11:24:43 +02:00
Christoph Oelckers
535102ae6e
- fixed: NULLing the flash state in P_BringUpWeapon should be done before setting the main weapon state so that it doesn't cancel any flash state effects that get initiated there.
2015-05-05 11:23:41 +02:00
Christoph Oelckers
8c5cc45dbe
Merge branch 'master' into scripting
...
Conflicts:
src/thingdef/thingdef_codeptr.cpp
2015-05-04 09:29:46 +02:00
Christoph Oelckers
f8fd28118b
Merge branch 'master' of https://github.com/rheit/zdoom
2015-05-04 08:56:04 +02:00
Christoph Oelckers
6f0caee4ba
- fixed: Searching for tag 0 was no longer possible.
...
The new tag manager considers tag 0 'untagged' and won't create entries in its tag list for it, so the normal search algorithm can not find any such sector.
It now uses a linear search over all sectors instead, if tag 0 is looked for.
2015-05-04 08:55:31 +02:00
MajorCooke
6639f871c6
- Fixed A_SetRipMin/Max not working properly.
2015-05-03 17:55:01 -05:00
Christoph Oelckers
6996a15235
- fixed some overlooked merging problem.
2015-05-02 23:44:54 +02:00
Christoph Oelckers
99fc685a01
- allow linefeed before braces starting a compound state action definition.
2015-05-02 22:57:29 +02:00
Christoph Oelckers
48ae605b7d
Merge branch 'master' into scripting
...
Conflicts:
src/thingdef/thingdef_codeptr.cpp
2015-05-02 22:44:31 +02:00
Edoardo Prezioso
353ace8be7
- Improve the code readability in LookupLevelName.
2015-05-02 14:18:52 +02:00
Edoardo Prezioso
4217c2ccd6
- Fixed a very old bug in LookupLevelName code.
...
If the map name neither matched 'ExMy', 'MAPxy' or 'LEVELxy', 'checkstring' was left uninitialized before using as argument to 'strstr', leading to undefined results.
Spotted with Valgrind.
2015-05-02 13:46:34 +02:00
MajorCooke
dc00d61f4d
- Added TF_OVERRIDE to A_Teleport.
...
- Overrides the NOTELEPORT flag so actors with velocity don't need to disable it in order to perform A_Teleport, which could be screwed up by a teleporting line or sudden ACS interference.
- Ensure that the result is set to false if it fails prematurely. Wasn't sure if this was needed, but with the upcoming if/else statements, better safe than sorry.
2015-05-01 08:32:07 -05:00
Christoph Oelckers
1b29c3b6cf
Merge branch 'master' into scripting
...
Conflicts:
src/p_interaction.cpp
tools/lemon/lemon.c
2015-04-30 16:13:32 +02:00
MajorCooke
1ecc048441
- Change the pointer to be at the end instead of the start.
2015-04-30 08:28:41 -05:00
MajorCooke
492ef1b716
- Added A_JumpIfHigherOrLower.
...
- (int ptr = AAPTR_TARGET, state high, state low, float offsethigh = 0, float offsetlow = 0, bool includeHeight = true)
- Jumps if the pointer of the calling actor is higher or lower than itself, adding offsethigh or offsetlow depending on the circumstance.
- includeHeight works twofold.
- Includes the height of the calling actor if the pointer is higher to truly determine if they are completely above them or not.
- Includes the height of the pointer if the pointer is lower.
- Disable it to only check z differences without adding height.
2015-04-30 08:15:48 -05:00
coelckers
a6dcd20447
Merge pull request #321 from edward-san/tflags_fix
...
- Fixed compiler errors and warnings from TFlags.
2015-04-30 13:01:59 +02:00
Christoph Oelckers
4316740ee9
- some color coding of error messages during ACS loading. (not that I expect that the people these are meant for will read them anyway...)
2015-04-30 12:59:26 +02:00
Christoph Oelckers
97e63b1319
- split up FBehavior constructor to better be able to weed out broken ACS modules.
...
Please note that this WILL break old savegames from mods which put ACS sources or unrelated data in the ACS namespace!
2015-04-30 12:53:44 +02:00
Edoardo Prezioso
cda4fece1b
- Fixed compiler errors and warnings from TFlags.
2015-04-30 12:35:29 +02:00
Christoph Oelckers
d96edb5c68
Merge branch 'master' into scripting
...
Conflicts:
src/thingdef/thingdef_codeptr.cpp
2015-04-30 12:32:50 +02:00
Christoph Oelckers
50a3f8a3d2
- fixed copy/paste error.
2015-04-30 12:31:47 +02:00
Christoph Oelckers
5f1c4d157c
Merge branch 'master' into scripting
...
Conflicts:
src/g_shared/a_sharedglobal.h
src/thingdef/thingdef_codeptr.cpp
src/thingdef/thingdef_data.cpp
2015-04-30 12:30:36 +02:00
Christoph Oelckers
84351419a3
Merge branch 'master' of https://github.com/crimsondusk/zdoom
...
Conflicts:
src/actor.h
2015-04-30 10:03:50 +02:00
Christoph Oelckers
9880af1b0c
- this line got lost during conflict resolution.
2015-04-30 09:18:13 +02:00
Christoph Oelckers
405fc31e81
Merge branch 'master' of https://github.com/DaZombieKiller/zdoom
...
Conflicts:
src/actor.h
2015-04-30 09:14:31 +02:00
coelckers
691855e19b
Merge pull request #304 from MajorCooke/morphundoalways
...
- Added MORPH_UNDOALWAYS for morph powerups.
2015-04-30 09:05:41 +02:00
coelckers
c2e91293d2
Merge pull request #310 from MajorCooke/telefogfix
...
- Allow teleport fogs to set the teleporting actors as their targets, so...
2015-04-30 09:02:10 +02:00
Christoph Oelckers
7b6b473ec4
- some GCC fixed by Edward-san.
2015-04-29 11:28:04 +02:00
Christoph Oelckers
1effaa4c8e
Merge branch 'master' into scripting
2015-04-29 10:53:37 +02:00
Christoph Oelckers
7d90c65427
- mask out Strife mapthing flags when starting an original Hexen map.
2015-04-29 08:42:54 +02:00
Christoph Oelckers
4c17bd65a4
- parameters for FRandomPick should not be added up.
...
(I hope that this code is correct, all I can judge it by is the assert not being triggered.)
2015-04-29 01:03:50 +02:00
Christoph Oelckers
3c1fa3bed9
- fixed some GCC warnings.
2015-04-29 00:19:21 +02:00
Christoph Oelckers
e42b688afa
- finally found the reason why the garbage collector went haywire after a restart: PClass::StaticShutdown set the PClass::bShutdown variable which disables much of the garbage collector. This needs to be cleared after successful cleanup. Restart works now, except for some random CCMDs being executed right afterward.
...
- fixed incorrect variable init in A_Face* functions which was missed before.
2015-04-28 23:37:04 +02:00
Christoph Oelckers
646c135eff
Merge branch 'master' into scripting
...
Conflicts:
src/m_cheat.cpp
src/p_acs.cpp
src/thingdef/thingdef_codeptr.cpp
src/thingdef/thingdef_properties.cpp
2015-04-28 23:04:10 +02:00
Christoph Oelckers
a2100410f2
- fix in GL nodes loader.
2015-04-28 22:13:50 +02:00
Christoph Oelckers
f087903fca
- remove some redundancy from TeleportFog code.
2015-04-28 22:11:43 +02:00
coelckers
15fbf2510a
Merge pull request #320 from edward-san/clang_3_5_crash_solved
...
- Clang 3.5.1+ fixed the compiler bug in ACS code.
2015-04-28 22:06:50 +02:00
coelckers
ce4adc48a7
Merge pull request #319 from edward-san/inventory
...
Little TakeInventory refactoring.
2015-04-28 22:06:31 +02:00
Christoph Oelckers
319671b54a
- let cheats only give weapons in weapon slots.
...
This avoids problems which replace the entire arsenal and don't want the original weapons in there.
2015-04-28 22:05:43 +02:00
Christoph Oelckers
407d38f3d6
- add a bit more stuff that needs to be done before a restart to ensure that all obsolete data is taken down.
...
(There's still a problem with the garbage collector kicking in and deleting stuff it's not supposed to, so Restart still doesn't work)
2015-04-28 21:54:30 +02:00
Christoph Oelckers
0f8972c96b
- don't delete any DObjects
...
FraggleScript's global_script was deleted instead of destroyed.
2015-04-28 21:30:12 +02:00
Edoardo Prezioso
92fe265abe
- Clang 3.5.1+ fixed the compiler bug in ACS code.
...
Referring to commit 1c96039d7a
.
2015-04-28 19:25:06 +02:00
Christoph Oelckers
afa022605a
- some more fixes of 'Restart'. Still not working as intended.
2015-04-28 19:03:52 +02:00
Christoph Oelckers
91b05366d6
- tried to make 'restart' CCMD work again.
...
This requires quite a bit more thorough cleanup. I got it to the point where the titlepic appears after restarting, but it still crashes when starting the game so there's more data that needs to be cleaned up...
2015-04-28 16:39:20 +02:00
Edoardo Prezioso
b51fac344d
Little TakeInventory refactoring.
...
Introduce AActor::TakeInventory, which unifies DoTakeInv from ACS and DoTakeInventory from Decorate, and AInventory::DepleteOrDestroy, which is extracted from the DoTakeInv core function, and use both where they're needed.
I don't know if the differences between DoTakeInv and DoTakeInventory were intentional, so I kept both behaviors.
2015-04-28 15:45:11 +02:00
Christoph Oelckers
450e5aec52
- this shouldn't have been committed.
2015-04-28 15:45:10 +02:00
Christoph Oelckers
2d0f6339f7
- fixed some memory leaks: The global symbol table and the argument list for DECORATE called action specials were never freed.
2015-04-28 15:34:48 +02:00
Christoph Oelckers
137e624b55
- needed one more fix in CMake project.
2015-04-28 15:12:21 +02:00
Christoph Oelckers
2e0f999fea
Merge branch 'master' into scripting
...
Conflicts:
src/p_effect.cpp
src/p_effect.h
src/p_local.h
src/p_map.cpp
src/thingdef/thingdef_codeptr.cpp
wadsrc/static/actors/actor.txt
wadsrc/static/actors/shared/inventory.txt
zdoom.vcproj
2015-04-28 14:45:13 +02:00
Christoph Oelckers
8447990889
Merge commit '2719ce86dc07c9f7b1ad6d61a9a49c974896abf2' into scripting
...
Conflicts:
src/info.h
src/thingdef/thingdef_codeptr.cpp
(until right before the main work for multiple tags.)
2015-04-28 13:32:50 +02:00
Christoph Oelckers
f7834061df
Merge commit 'b6a4511dd1e74440fad99bc673c1f2b3680dba48' into scripting
...
Conflicts:
src/dobjtype.cpp
src/p_conversation.cpp
src/p_local.h
src/p_things.cpp
src/thingdef/thingdef_properties.cpp
(This is just the conversationID to MAPINFO stuff to keep the conflicts as small as possible)
2015-04-28 13:08:18 +02:00
Christoph Oelckers
ddced06be2
Merge commit '6e45c565a0bc8d05279b0b2458a3fb718ae0924c' into scripting
...
Conflicts:
src/p_mobj.cpp
(This stops right before moving the conversation IDs into MAPINFO because that feature is quite conflict-heavy and will have to merged by itself.)
2015-04-28 12:59:20 +02:00
Christoph Oelckers
0474560ac6
Merge commit '2ec8e2c2ac61d30f7f1d666ec58ca0fd37e2e3b0' into scripting
...
Conflicts:
src/d_main.cpp
src/info.cpp
src/p_local.h
(Had to merge this all by itself because it was creating too many merge conflicts when combined with other stuff.
2015-04-28 12:54:01 +02:00
Christoph Oelckers
065c0a79cd
Merge commit '4f7ec3ad891d556c0d3f680e209a120ed38e9cdb' into scripting
...
Conflicts:
src/d_main.cpp
src/info.cpp
src/info.h
src/p_acs.cpp
src/p_interaction.cpp
src/p_mobj.cpp
src/thingdef/thingdef_codeptr.cpp
src/thingdef/thingdef_properties.cpp
(scripting branch update part 5)
2015-04-28 12:48:33 +02:00
Christoph Oelckers
2604905b0c
- missed one compile error in last merge.
2015-04-28 12:03:06 +02:00
Christoph Oelckers
792cad89b3
Merge commit '3849cb86231ce24131a86e9c29795a8cf3706a3d' into scripting
...
Conflicts:
src/g_hexen/a_clericstaff.cpp
src/g_hexen/a_hexenspecialdecs.cpp
src/p_acs.cpp
src/p_enemy.cpp
src/p_interaction.cpp
src/thingdef/thingdef_codeptr.cpp
src/thingdef/thingdef_expression.cpp
(Scripting branch update part 4)
2015-04-28 11:59:33 +02:00
Christoph Oelckers
6ebdf7396c
Merge commit '8e0151b4c1b88eaf295042ea2d545a83b4b99acc' into scripting
...
Conflicts:
src/sc_man_tokens.h
src/thingdef/thingdef_exp.h
src/thingdef/thingdef_expression.cpp
(Scripting branch update part 3)
2015-04-28 10:59:50 +02:00
Christoph Oelckers
a13ada3b2d
Revert "Merge commit '173dbd6bcee02a9e9c12a4a74d1fffe3e081d162' into scripting"
...
This reverts commit e9cbb0b223
, reversing
changes made to d6e3fc0567
.
The merge just copied the obsolete FxFloatCast from master without any conflict so it all had to be removed again.
2015-04-28 10:39:35 +02:00
Christoph Oelckers
e9cbb0b223
Merge commit '173dbd6bcee02a9e9c12a4a74d1fffe3e081d162' into scripting
2015-04-28 10:37:23 +02:00
Christoph Oelckers
d6e3fc0567
Merge commit 'fb9231a38db2025eb77bfd246f36d985cbbccd2e' into scripting
...
Conflicts:
src/info.cpp
src/thingdef/thingdef_expression.cpp
wadsrc/static/actors/constants.txt
(Scripting branch update part 2)
2015-04-28 09:57:01 +02:00
Christoph Oelckers
7898e189df
- fixed problems in CMake project files:
...
* thingdef_function.cpp no longer exists
* the build rule for zcc-parse.c was not correct.
2015-04-28 09:40:57 +02:00
Christoph Oelckers
56989d3422
Merge commit 'ec5817869592660af6837b9f4e20ed140972a2b2' into scripting
...
Conflicts:
src/p_enemy.cpp
src/p_enemy.h
wadsrc/static/actors/constants.txt
(Scripting branch update part 1)
2015-04-28 09:34:51 +02:00
Christoph Oelckers
a93c30238b
Merge branch 'master' of https://github.com/rheit/zdoom
2015-04-27 20:38:09 +02:00
Christoph Oelckers
c6fe0835d3
- fixed: The check for unblocking overlapping actors was a bit too lax.
...
The code never checked the starting position of the move and could be erroneously triggered in rare situations where the distance increased between actors but the hit boxes started overlapping because x or y distance got below the radius.
Changed it so that the code only gets executed when there's already an overlap before the move.
2015-04-27 20:37:01 +02:00
Braden Obrzut
9ba5e30bed
- Moved autoload initialization to a separate function so that the rest of the ini can be loaded as before. Some platforms do indeed place zdoom.pk3 elsewhere.
2015-04-27 14:15:03 -04:00
Edoardo Prezioso
346fcf584c
- Fixed C++11 warnings from recent commits.
2015-04-27 15:22:09 +02:00
Christoph Oelckers
47e7a30cab
- reshuffled some stuff to satisfy Linux compilers (hopefully)
2015-04-27 13:19:34 +02:00
Randy Heit
68e43fe65d
You never want to blindly switch between widechar and ANSI functions
2015-04-26 20:53:16 -05:00
Randy Heit
0380ba642b
Blur de hur
2015-04-26 20:43:01 -05:00
Christoph Oelckers
13fb76db21
- changed lump reader setup for music so that for uncompressed data it opens a new FILE instead of caching the lump.
...
This reinstates behavior of pre-OpenAL versions but still uses the FileReader interface to keep the simplified code of the OpenAL branch.
2015-04-26 23:28:05 +02:00
Christoph Oelckers
4294b94728
- since Wads.ReopenLumpNum already performs caching on the lump data it is not really necessary anymore to maintain a separate musiccache, so this code can be removed.
2015-04-26 22:09:19 +02:00
MajorCooke
43053b89a5
- Set the morphing and unmorphing actor as target for the teleport fog. This will allow for better interactions on what should happen between the morphee without needing to make monster AI needing to search for them in particular or rely upon TIDs.
2015-04-26 10:06:13 -05:00
Christoph Oelckers
aecff68a4d
- cleanup of sound system startup and menu handling:
...
* added global functions that check whether FMod and OpenAL are present, without initializing the sound backend.
* make sound init code more fault tolerant. It will now try to switch between FMod and OpenAL if the currently active one cannot be found but the other one can.
* added 'ifoption' checks for sound backend to menu code.
* only show sound backends which are present and hide the options for the ones which are not.
2015-04-26 12:13:21 +02:00
Christoph Oelckers
8e70a9b894
- added a NULL check to FMODStreamCapsule destructor, just to be safe.
2015-04-26 09:58:10 +02:00
Christoph Oelckers
a23afbd7ce
Merge branch 'master' into openal
2015-04-26 09:37:49 +02:00
Christoph Oelckers
46e975418d
- fixeed: Sound sequence overrides took the parameter from the wrong data structure.
2015-04-26 08:48:49 +02:00
Christoph Oelckers
6bb79be85c
- got rid of std::auto_ptr, courtesy of Blzut3's patch.
2015-04-25 17:50:57 +02:00
coelckers
b9fdc21547
Merge pull request #317 from Edward850/master
...
Slightly more information on ACS serialize errors
2015-04-25 13:14:58 +02:00
Christoph Oelckers
d880783784
- make OpenAL and the decoder libraries delay loaded so that ZDoom can still start without them being present.
...
This required the addition of a few exception handlers so to avoid #ifdef overuse I also added some #defines for non-Windows systems that allow using __try and __except directly in the code without #ifdef'ing them out.
2015-04-25 12:25:10 +02:00
Christoph Oelckers
12118550d2
- fixed some warnings in OpenAL code.
2015-04-25 10:34:47 +02:00
Christoph Oelckers
dccd35ef29
- uncoupled OpenAL music updates from UpdateSounds.
...
UpdateSounds will not be called during screen wipes and the entire setup of this function suggests that this is not advisable at all.
The OpenAL stream updates were done deep inside this function implicitly.
This caused music to stop while a wipe was in progress. So in order to allow uninterrupted music playback during screen wipes the music updates need to be handled separately from sound updates and be called both in the main loop and the wipe loop.
I think that the OpenAL music updating should be offloaded to a separate thread but at least it's working now without causing interruptions during wipes.
2015-04-25 10:26:14 +02:00
Christoph Oelckers
54c2a14145
Merge branch 'master' into openal
2015-04-25 09:13:11 +02:00
Christoph Oelckers
682f3e230a
- fixed: We should not try calling unicode functions on ASCII strings.
...
Should ZDoom ever switch to unicode I_GetLongPathName will have to be adjusted, but for now it must call GetLongPathNameA, not GetLongPathNameW.
2015-04-25 09:08:59 +02:00
Edward Richardson
0fd93cc033
Slightly more information on ACS serialize errors
2015-04-25 18:10:26 +12:00
Braden Obrzut
75471df787
- Made a few Win32 calls optional in order to restore capatibility with Windows NT 4.0 (not that anyone is using NT 4, but it was a trivial fix)
2015-04-24 23:07:32 -04:00
Christoph Oelckers
0da6939e84
- unmark OpenAL as 'advanced' in CMake so we can set its include and library paths in the IDE without having to enable the advanced display which isn't really helpful.
2015-04-24 22:30:28 +02:00
Christoph Oelckers
c91745c714
- some fixes to make OpenAL branch compile with VC++ 2013 and OpenAL support.
2015-04-24 17:42:56 +02:00
Christoph Oelckers
1f2a431d15
Merge branch 'master' into openal
2015-04-24 09:21:06 +02:00
Christoph Oelckers
920a4fbf45
- fixed: The HashTags function considered sector and line #0 invalid.
2015-04-23 21:27:36 +02:00
coelckers
45b006252a
Merge pull request #316 from Doom2fan/RailgunSpiralOffset
...
Added SpiralOffset parameter to railgun functions.
2015-04-23 21:17:41 +02:00
Chronos Ouroboros
6a6836b1e7
Added SpiralOffset to railgun functions.
2015-04-23 15:11:54 -03:00
Christoph Oelckers
a54404074a
- fixed: IDs that map to nothing must be removed from the spawn/conversation ID maps.
2015-04-23 20:09:12 +02:00