Commit graph

7227 commits

Author SHA1 Message Date
Christoph Oelckers
44f09edf4c - fixed: monsters cannot crouch, so their crouch factor has to be 1, as 0 would yield incorrect results if the value is used in subsequent calculations (e.g. adjusting a trajectory to a target which can be or may not be a player.) 2016-05-29 12:48:27 +02:00
MajorCooke
bb91723174 - Added GetCrouchFactor(ptr).
Gets the crouch factor of a player. Can be set to target/master/tracer, as long as it's a player. Defaults to the first player.
2016-05-29 12:43:46 +02:00
MajorCooke
2719905ade - Added source and inflictor parameters to all A_Damage/Kill functions.
- Source is the actor to blame for the cause of damage (monster infighting for example). For missiles, modders should consider setting to AAPTR_TARGET.
- Inflictor is the actor doing the damage itself. Note that by changing this, it will take into account the flags on the pointed actor.
2016-05-29 12:40:17 +02:00
MajorCooke
33ddbe8ab3 Added SKYEXPLODE support for P_LineAttack on horizons. 2016-05-29 12:38:37 +02:00
Benjamin Moir
6633e41cca added CheckProximity to ACS 2016-05-29 12:38:37 +02:00
Roadcrosser
334962da2c Corrected death message not being gender neutral. 2016-05-29 12:38:36 +02:00
alexey.lysiuk
89016020a8 Used ISO Latin 1 encoding for title text in startup window on OS X
Windows version uses ANSI_CHARSET to handle the corresponding text
This solves the problem like in https://github.com/alexey-lysiuk/gzdoom/issues/63:
*** Assertion failure in -[NSTextFieldCell _objectValue:forString:errorDescription:], /Library/Caches/com.apple.xbs/Sources/AppKit/AppKit-1404.47/AppKit.subproj/NSCell.m:1684
Invalid parameter not satisfying: aString != nil
2016-05-29 10:58:12 +03:00
Christoph Oelckers
fc25a74a03 - fixed: In case of a crash the buffered console output was not dumped to the rich edit control so it never got into the crash log. 2016-05-28 20:11:19 +02:00
Christoph Oelckers
d43ea33031 - fixed: A_CustomBulletAttack may not rely on the parameter default setter to get a valid puff. This must be checked explicitly in the functions body to ensure it is never NULL. 2016-05-27 11:39:44 +02:00
Christoph Oelckers
b926cf35d5 - fixed: The portal init code should only delete REJECT if there's actually some portals to consider. 2016-05-27 09:45:17 +02:00
Christoph Oelckers
19003a7973 - fixed: The node builder's FindMapBounds function included all vertices generated by the node builder.
This could cause problems on maps with bogus nodes so it's better to only check vertices that are referenced by a linedef.
2016-05-27 09:38:33 +02:00
Christoph Oelckers
34c67b9eae - fixed: The NoiseList array was not cleared before use. 2016-05-27 00:00:27 +02:00
Christoph Oelckers
cc685e982b - fixed: interactive line portals were always deactivated, regardless of alignment type. 2016-05-25 11:36:23 +02:00
Christoph Oelckers
f241d9773a - made P_NoiseAlert non-recursive to avoid stack overflow problems in large open-area maps with a high sector count. 2016-05-25 11:30:11 +02:00
Christoph Oelckers
72a3257400 - fixed: DIntermissionScreen::Init did not handle non-existent strings in the string table and crashed on a NULL pointer. 2016-05-25 01:45:55 +02:00
Christoph Oelckers
49234b1fc3 - fixed: UpdateRenderSectorList did some bad calculations for checking portal plane order. 2016-05-24 13:53:29 +02:00
Christoph Oelckers
d058820c65 - fixed scroll speed calculation for Heretic. 2016-05-24 10:01:57 +02:00
Christoph Oelckers
d70601471a - fixed the spawn position of Strife's sentinel's attack's trail. 2016-05-24 09:37:01 +02:00
Christoph Oelckers
3bde8824a3 - fixed A_Burst's velocity calculation. 2016-05-24 09:32:30 +02:00
MajorCooke
1b1195df6a - Added limit parameter to A_RadiusGive.
- The function ends operation if the number of successfully given actors reaches this count.
2016-05-23 21:11:26 -05:00
alexey.lysiuk
aa6753383d Fixed fullscreen mode on non-default monitor in OS X backend
Fullscreen window was incorrectly placed on the main screen instead of the current one
Honestly I have no idea what was the reason behind that [NSWindow setFrameOrigin:] call
Apparently it's redundant and moreover it's incorrect for multi-monitor configuration
2016-05-22 13:22:07 +03:00
Christoph Oelckers
ae31e0ba72 - changed the default key name string because '#' is used as a comment in the config files. 2016-05-22 12:20:46 +02:00
Christoph Oelckers
db944df467 - fixed 3D floor rendering with nearby slopes. 2016-05-22 12:15:14 +02:00
Christoph Oelckers
eed32ee285 - fixed: The friction calculations for terrain based friction had some fixed/float mixups. 2016-05-22 12:11:39 +02:00
Christoph Oelckers
36dfa97802 - fixed: Polyobjects did not save their specialdata pointer.
- fixed: DMovePoly did not save its m_Speedv member.

# Conflicts:
#	src/version.h
2016-05-22 01:27:05 +02:00
Christoph Oelckers
bd396ccb7c - made P_Move's multiple-step movement portal and teleporter-aware. 2016-05-20 13:30:10 +02:00
Christoph Oelckers
428bd52295 - fixed: It was not possible to step through a ceiling portal into the upper sector. 2016-05-20 13:10:42 +02:00
Gaerzi
68c5191798 Add GOG path for SVE
Since GOG.com is finally offering this game.
2016-05-20 02:18:48 +02:00
Christoph Oelckers
78055733c8 - fixed: automap markers were scaled too small 2016-05-18 21:25:58 +02:00
Christoph Oelckers
f22adcc398 - be more thorough with Eternal Doom MAP03. The compatibility option does not seem to fully solve the problem, so let's just clear the tags in the bogus stair sectors. 2016-05-18 21:06:07 +02:00
Christoph Oelckers
ae3f50d1b2 - set a compatibility option to build the stairs in Eternal Doom MAP03 correctly. 2016-05-18 13:11:31 +02:00
Christoph Oelckers
9e0301c1a1 - prevent message spam with no MIDI devices. 2016-05-18 13:11:01 +02:00
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