Leonard2
afa708c138
Allow psprite layers to be manipulated directly from the player's own body
2016-06-03 19:18:58 +02:00
Leonard2
eeff17c550
Account for this on the renderer's side instead
...
This fixes the weapon's layer behaving differently when called from
A_Overlay (the flag would be set in this case breaking the offsets)
2016-06-03 00:50:12 +02:00
Leonard2
543414d31f
Added 2 new layer flags: PSPF_CVARFAST and PSPF_POWDOUBLE
...
These flags allowed to easily restore a lost part of the targeter layers
behavior
2016-06-03 00:50:11 +02:00
Leonard2
bc334ccc9f
Avoid creating the targeter layers if the inventory item isn't attached to
...
its owner yet
2016-06-03 00:50:11 +02:00
Leonard2
e1f139ddcd
The targeter layers now use a proper Caller
...
This will avoid having to check for certain stuff and also allow them to not be destroyed when the ReadyWeapon is null like before
2016-06-03 00:50:10 +02:00
Leonard2
8244d2c844
Make sure never to call GetPSprite when the ReadyWeapon is null
2016-06-03 00:37:55 +02:00
Leonard2
9ee5e57340
Call GetPSprite here to update the ReadyWeapon but avoid doing so if it
...
is null
TickPSprites will take care of destroying the weapon/flash layers if the
ReadyWeapon is null
2016-06-03 00:37:54 +02:00
Leonard2
f14a840777
The ReadyWeapon is now assumed to not be null
2016-06-03 00:37:54 +02:00
Leonard2
8668719bbc
Revert "- re-added P_SetPSrite."
...
This reverts commit e6d89b9f71
.
2016-06-02 20:02:03 +02:00
Leonard2
d933f77bf5
Fixed: the game could crash if some inventory items were destroyed in a
...
certain way
2016-06-02 20:00:22 +02:00
Leonard2
360ad7a844
Replaced every remaining instances of the old layer names
2016-05-28 01:19:42 +02:00
Leonard2
2f5ae3b51e
Changed the default layer indices and renamed them
...
Note that this doesn't compile yet
2016-05-28 01:19:41 +02:00
Leonard2
c82620129c
Added A_OverlayFlags
...
Allows psprites to follow the weapon and/or the player's bobbing
2016-05-28 01:19:40 +02:00
Leonard2
8f360f3bea
Small refactor
2016-05-27 23:37:35 +02:00
Leonard2
b220db4ebe
Fixed: a layer's movements weren't interpolated in some cases
...
The old position members would be incorrectly updated if a layer sets another layer's offsets and this layer ticks before the other
2016-05-27 23:37:34 +02:00
Leonard2
bca9829950
Fixed: a few members weren't properly initialized
...
This could go wrong if a layer had only one state of -1 tics
2016-05-27 22:58:27 +02:00
Leonard2
599fa7cfd1
Fixed: it was no longer possible to set the flash state in the very first
...
weapon's state
This was due to an oversight in my first commit
2016-05-27 22:31:18 +02:00
Christoph Oelckers
e6d89b9f71
- re-added P_SetPSprite.
...
For debugging purposes it's better to have this as a function.
2016-05-24 13:05:43 +02:00
Christoph Oelckers
f184438032
- fixed: Polyobjects did not save their specialdata pointer.
...
- fixed: DMovePoly did not save its m_Speedv member.
2016-05-22 01:26:13 +02:00
Christoph Oelckers
d767d10322
- made PSprites submission GC aware.
2016-05-21 13:11:43 +02:00
Leonard2
8c205ebac3
Added A_OverlayOffset
...
Like A_WeaponOffset except it can access any psprites
2016-05-20 17:04:45 +02:00
Leonard2
1ecfb5897b
Added A_Overlay
2016-05-20 17:04:45 +02:00
Leonard2
1966b61b8f
Generalized the psprites implementation
2016-05-20 17:04:44 +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
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