Commit Graph

7195 Commits

Author SHA1 Message Date
Christoph Oelckers 7642c2cdaa - fixed: Opening a non-existent menu left the engine in an invalid state. 2016-05-18 12:02:54 +02:00
Christoph Oelckers 3dcb05e5d2 - fixed: Lock #255 was inaccessible for LOCKDEFS. 2016-05-18 11:56:39 +02:00
Christoph Oelckers a7fd04a235 Merge branch 'master' of https://github.com/kcat/zdoom 2016-05-18 11:48:27 +02:00
MajorCooke cd3a3d4472 Not like this makes a difference. 2016-05-18 11:19:24 +02:00
MajorCooke 115dbd0b58 - Added A_WeaponOffset(x = 0, y = 32, flags).
- Places the weapon offset by the defined x and y. Both are floats. This stacks with weapon bobbing.
- WOF_KEEPX: Don't change the X offset.
- WOF_KEEPY: Don't change the Y offset.
- WOF_ADD: Add onto instead of replacing the coordinates.
2016-05-18 11:19:24 +02:00
Christoph Oelckers 661c2e5919 - added missing NULL pointer check to ACS's CheckInventory. 2016-05-18 09:39:19 +02:00
Chris Robinson fe966916d7 Set head-relative for sources near the listener
This matches the behavior of the FMOD backend
2016-05-16 17:02:39 -07:00
Christoph Oelckers 9e847c252b - fixed: When linking an actor into the blockmap multiple portal groups, AActor::LinkToWorld would delete the links to the previous nodes for each new group. This was causing random crashes when the affected actor was deleted by the garbage collector. 2016-05-15 23:24:30 +02:00
Christoph Oelckers aff8b00575 - added NULL pointer checks to SpecialDropAction methods that call CheckLocalView. 2016-05-15 09:16:37 +02:00
Christoph Oelckers 6949afc334 - fixed: For allowing an unblocking move, PIT_CheckThing used the wrong actor's position. This was causing monster pile-ups with moving ceilings.
- don't let P_PushUp move any actors with the same z as the pushing actor. This should solve most monster pile-ups, but the entire logic here needs some serious rethinking. The only reason this doesn't cause more problems is some fudging in several other places.
2016-05-14 15:05:06 +02:00
Christoph Oelckers ebca170e73 - fixed a few warnings in OpenAL code. 2016-05-13 10:07:18 +02:00
Christoph Oelckers cd8213f067 - fixed: The skybox pointer in FSectorPortal must at least be initialized to nullptr when the struct is deserialized, to avoid an access violation if the partially initialized data is used. This can happen when P_SerializeThinkers destroys the original thinkers that were created on map load.
- removed the sector loop for deleting skybox references in ASkyViewpoint::Destroy. Since this only refers to the sectorPortals array it is completely redundant as the following code will clear them just as well.
2016-05-13 10:07:01 +02:00
MajorCooke 4998d4a84d Use the direct pointer of P_PointInSector instead. 2016-05-12 22:15:06 +02:00
MajorCooke 2ba26693d1 - Added 3D Floor + Portal awareness, along with flags to turn off detection of both features. 2016-05-12 22:15:06 +02:00
MajorCooke b91ed5dc5d Added GetZAt DECORATE function.
- float GetZAt(x, y, angle, flags, pick_pointer);
- Gets the floor z  at x distance ahead and y distance to the side in relative form from the calling actor pointer. Flags are as follows (GZF_ prefix):
- CEILING: Returns the ceiling z instead of floor.
- ABSOLUTEPOS: x and y are absolute positions.
- ABSOLUTEANG: angle parameter does not add the pointer's angle to the angle parameter.
2016-05-12 22:15:05 +02:00
MajorCooke 39f64383cb Changed RTF_THRUSTZ to match RADF_THRUSTZ's bitmap. 2016-05-11 19:41:33 +02:00
MajorCooke 952219a018 Added RTF_THRUSTZ for A_RadiusThrust.
- Allows thrusting with Z velocity.
2016-05-11 19:41:33 +02:00
Christoph Oelckers 852ed6cd04 - un-revert P_CheckMove fix. 2016-05-11 19:39:08 +02:00
Edoardo Prezioso 769521b2e1 - Fixed second player lock after error in netgame. 2016-05-11 14:05:29 +02:00
Christoph Oelckers 078e27e61f - fixed: The mugshot's angle was inverted. 2016-05-11 14:04:21 +02:00
Christoph Oelckers d4b258f15b - don't place the chasecam right at the hit position of the trace. This will be the intersection with a wall or sector plane and may cause clipping issues. Instead place it very slightly in front of the actual hit position. 2016-05-11 13:57:49 +02:00
MajorCooke 9ab620814d - Fixed: Armor absorption did not take ALLOW/CAUSEPAIN flags into account. 2016-05-11 13:33:39 +02:00
Christoph Oelckers 0726a88ab9 - only return DWORD aligned addresses in openings because the 3D floor code stores floating point values in there which cannot be accessed on platforms with strict alignment rules. 2016-05-11 12:04:41 +02:00
Christoph Oelckers 220255e6a4 - fixed P_CheckMove's dropoff check and removed some unneeded code. 2016-05-11 11:56:03 +02:00
Christoph Oelckers 43d93a19a0 - fixed: P_AlignFlat had the 'dist' value negated. Also simplified the code a bit. 2016-05-11 11:36:53 +02:00
Christoph Oelckers f8c12f4533 - fixed warning in s_sound.cpp 2016-05-11 10:32:57 +02:00
Christoph Oelckers cc88130362 - fixed: P_CheckMove's dropoff check had the heights swapped. This also shouldn't in any way depend on COMPATF_DROPOFF and must be skipped entirely for actors with either MF_FLOAT or MF_DROPOFF set. 2016-05-11 10:09:13 +02:00
Christoph Oelckers 77e30bb7d7 - fixed: The line portal links were not deleted when an actor was destroyed. 2016-05-11 09:58:03 +02:00
Christoph Oelckers 966e6797e4 - fixed: The view path for checking whether the player sprite should be drawn during a portal transition was never set properly in the portal transitioning case. 2016-05-09 23:16:06 +02:00
Christoph Oelckers 2e4b8dd416 - fixed incorrect sign in P_TranslatePortalVXVY 2016-05-09 21:59:13 +02:00
Christoph Oelckers 841a5795ae - savegame version bump for a GZDoom exclusive change (to avoid synchronization problems in the future.) 2016-05-08 09:27:42 +02:00
Chris Robinson 8334189d66 Merge remote-tracking branch 'zdoom/master' 2016-05-05 12:55:16 -07:00
Jason Yundt fbf845982b FORCE_INTERNAL_GME now defaults to OFF 2016-05-05 21:04:48 +02:00
Chris Robinson ba1574e65a Don't define OpenAL redirect macros with the IDE's parser
At least with KDevelop4, macros like this interefere with contextual info by
causing it to show information about the macro itself (where it's defined and
what it defines to), rather than the function (parameters, comments, etc). It
also gets in the way of auto-completion.
2016-05-05 21:00:30 +02:00
Chris Robinson fa46965a71 Check for OpenAL device errors after pausing/resuming the device 2016-05-05 21:00:30 +02:00
Chris Robinson 0b7b78c5d2 Better handle channel configs when monoizing in LoadSound 2016-05-05 21:00:29 +02:00
Chris Robinson e298f8389b Avoid divide-by-0 when the area sound radius is less than the max distance 2016-05-05 21:00:29 +02:00
Chris Robinson 66c61a7c8b Set the appropriate start offset for non-3D sounds too 2016-05-05 21:00:28 +02:00
Chris Robinson 26a8a8a1ba Pause OpenAL processing using ALC_SOFT_pause_device when inactive 2016-05-05 21:00:28 +02:00
Chris Robinson e1c8890c5e Set the appropriate start offset for restarted sounds 2016-05-05 21:00:27 +02:00
Chris Robinson c3cef91a4f Properly sum the channels being downmixed to mono 2016-05-05 21:00:27 +02:00
Chris Robinson 12c9281a7e Avoid redundantly setting DistanceScale 2016-05-05 21:00:26 +02:00
Chris Robinson bf5ac9b476 Use AL_EXT_SOURCE_RADIUS for area sounds 2016-05-05 21:00:26 +02:00
Chris Robinson 55294c5806 Use the correct OpenAL lib name on Linux 2016-05-05 21:00:25 +02:00
Edoardo Prezioso 52995f8fc2 - Fixed missing sector light clamp in DFlicker.
For some reason, this code didn't care about the sector light limits. Found by code inspection.
2016-05-05 21:00:08 +02:00
Christoph Oelckers c193bb7799 - removed the special case 0 in A_SpawnItem, meaning 'in front of the player'.
As it turned out this has been broken for many, many years, so one can assume that most content using this function depends on this special case not working. I could track it down to at least 2008.
2016-05-05 20:12:26 +02:00
Christoph Oelckers 0b833be06e - removed accidentally added GZDoom specials. 2016-05-04 14:37:52 +02:00
Christoph Oelckers 2c88816577 - fixed parameters for warp type 2. 2016-05-04 13:25:26 +02:00
Christoph Oelckers be3b126f7b - fixed: Order of skybox and portal initialization was not well defined. It was always the last item to get initialized that got set. Changed it so that skyboxes cannot override portals at all. 2016-05-03 19:42:53 +02:00
Christoph Oelckers a576243ff2 - fixed: ThrustThing should add to the velocity, not set it. 2016-05-03 10:26:29 +02:00