Commit graph

74 commits

Author SHA1 Message Date
MascaraSnake
536e355cdf polywaypointdata_t: Turn reverse and continuous into flags 2020-05-16 09:49:30 +02:00
MascaraSnake
06dda9c69d EV_DoPolyObjWaypoint: Don't discard movement if you start at the last waypoint 2020-05-16 09:09:26 +02:00
MascaraSnake
3680b246c9 T_PolyObjWaypoint: We can find waypoints in constant time now, so no need to store the waypoint mobj in the thinker anymore 2020-05-16 09:03:02 +02:00
MascaraSnake
1057c0f7c1 T_PolyObjWaypoint: If the polyobject reaches its target exactly, find next waypoint in the same tic 2020-05-16 08:49:03 +02:00
MascaraSnake
e422d1fa1d Rewrite T_PolyObjWaypoint to move more smoothly 2020-05-16 08:45:06 +02:00
MascaraSnake
0508f99419 T_PolyObjWaypoint: Move duplicated movement code into its own function 2020-05-15 17:35:07 +02:00
MascaraSnake
7413da918b Store PolyObject waypoint return behavior in an enum 2020-05-13 16:21:47 +02:00
MascaraSnake
b561ee7921 Remove diffx/y/z from polywaypoint_t, since they're always 0 anyway 2020-05-13 14:40:07 +02:00
MascaraSnake
aa16bd22f9 Fix accidental swap of first and last waypoint 2020-05-13 09:32:00 +02:00
MascaraSnake
d708789c3a Store waypoints (for zoom tubes, rope hangs, polyobjects) explicitly 2020-05-12 23:50:30 +02:00
MascaraSnake
5282f01a53 Fix PolyObject flags not being applied when there is no parameter line 2020-05-05 08:40:59 +02:00
MascaraSnake
de100b076a PolyObject: Allow translucency to be set via X offset 2020-05-04 19:47:39 +02:00
MascaraSnake
e3ddb413aa Make PolyObject special functions return boolean instead of INT32 2020-05-04 10:07:38 +02:00
MascaraSnake
482adc6124 Pass parameters to EV_DoPolyObjFlag in a struct and not via the line 2020-05-04 09:54:32 +02:00
MascaraSnake
02c347ada2 Refactor Polyobj_findSegs 2020-05-04 01:28:21 +02:00
MascaraSnake
8ae635c7ba Purge uninformative comments 2020-05-04 00:17:05 +02:00
MascaraSnake
b82c3c2089 Clean up Polyobj_GetInfo 2020-05-03 23:55:23 +02:00
MascaraSnake
5de11441a1 Remove "explicitly include line in polyobject" code which has never worked 2020-05-03 23:47:26 +02:00
MascaraSnake
485a4e5035 Remove POLYOBJECTS and POLYOBJECTS_PLANES defines 2020-05-02 12:08:31 +02:00
James R
7060083db5 Update copyright year to 2020 2020-02-19 14:08:45 -08:00
fickleheart
a63e9fe002 Improvements to polyobjects carrying things:
- Fixed loss of precision in rotate carry causing objects to slide off
- Adjusted player carrying logic to make platforms less slippery
- Finally obsoleted the player-specific rotate hack now that I found the
  actual problem :]
2020-02-10 00:07:25 -06:00
fickleheart
b22de48c03 Merge branch 'next' into next-newcontrols
# Conflicts:
#	src/g_game.c
#	src/p_setup.c
2019-12-31 12:58:36 -06:00
James R
b5df2d5c3f Merge branch 'polyobj-waypoint-thinker-optimise' into 'next'
Polyobj waypoint thinker optimise

See merge request STJr/SRB2!586
2019-12-31 01:33:01 -05:00
Monster Iestyn
7c9b1ee2cb Fix P_SetTarget crash by setting th->target to NULL first 2019-12-30 11:49:01 +00:00
Nev3r
389b9e35c4 Add XNOD, XGLN and XGL3 BSP formats recognition and support. 2019-12-29 14:17:51 +01:00
Monster Iestyn
1d04001fdf use P_SetTarget to assign a value to th->target 2019-12-27 19:24:00 +00:00
Monster Iestyn
282fe7667c added a "target" pointer to polywaypoint_t, so the polyobj waypoint thinker doesn't have to re-find the next waypoint every tic 2019-12-27 19:10:14 +00:00
fickleheart
1a60f7a2ad Fix wacky CEZ2 platform camera 2019-12-13 19:30:19 -06:00
Steel Titanium
d415cd5c6d
Update copyright date on source files 2019-12-06 13:49:42 -05:00
Monster Iestyn
f9037509a1 Remove commented out P_CheckSector calls and add extra comments explaining the situation 2019-08-03 19:06:45 +01:00
Monster Iestyn
42a36de459 Modify P_CheckSector with a modified version of Sal's attempted proper fix for polyobjects crushing, so that we only need to check the polyobject's control sector directly in the waypoints code.
This time I've definitely fixed that teleport to ground issue I'm pretty sure, I don't get it in my tests at least.
2019-08-02 16:51:44 +01:00
Monster Iestyn
794235a848 Fix mixed code-and-declaration error 2019-07-14 16:19:48 +01:00
Jonas Sauer
166f1fac66 Fixed the thinkerlist issues by removing THINK_LIMBO. Delay-removed thinkers now stay in their list.
Also includes toaster's assorted fixes and improvements from target_painted_on_your_ass.
2019-07-13 01:42:03 +02:00
Nev3r
a9110c0645 Fixed more mobj thinker iterator oversights and removed all mobj thinker function checks
Mobjs got their own thinker list after all, and disappearing thinkers are automatically purged from their lists and sent to the limbo list.
So it's safe to assume all thinkers inside the mobj list must be mobjs.

Signed-off-by: Nev3r <apophycens@gmail.com>
2019-04-21 16:39:57 +02:00
Nev3r
134679c287 Fix some of the polyobject thinkers being removed via P_RemoveThinkerDelayed() directly
Signed-off-by: Nev3r <apophycens@gmail.com>
2019-04-21 11:08:24 +02:00
Nev3r
b60c66325c Added a mobj-only list entry for mobj thinkers
Signed-off-by: Nev3r <apophycens@gmail.com>
2019-04-20 23:29:20 +02:00
Nev3r
39ba20be6b Basic multiple thinker list implementation
Set up a main thinker list and a polyobject mover list to test things up. Works so far, networking as well.

Signed-off-by: Nev3r <apophycens@gmail.com>
2019-04-20 22:39:22 +02:00
Monster Iestyn
212be85655 added "checkmobjs" boolean to both Polyobj_moveXY and Polyobj_rotate, so we can disable interaction with mobjs for netgames 2019-04-05 12:03:03 +01:00
Nev3r
fec991dedb Implement displacement-based polyobject rotation.
Signed-off-by: Nev3r <apophycens@gmail.com>
2019-04-05 11:50:59 +02:00
mazmazz
075f28b7c8 WIP 20190101 merge
d_netcmd.c
filesrch.c
m_menu.c
p_setup.c
p_spec.c
r_data.c
r_main.c
r_things.c
w_wad.c
w_wad.h
2019-01-02 01:09:15 -05:00
TehRealSalt
878b1b2d16 Fix move by waypoints not checking for sector changes
It seemed weird at first, but the polyobject sector (backsector) itself DOESN'T need checked (although I still am doing it for safety). Rather, the in-level sector just needs checked.

If someone manually modifies the polyobject sector though, then this bug can still occur... but this fixes it for the most common use-case where this can happen. I'll try to tackle the rarer cases in my next commit.
2018-12-24 14:39:07 -05:00
mazmazz
ea7162a76a Update source copyrights to 2018 2018-11-25 07:35:38 -05:00
Digiku
b7bcc16c98 Merge branch 'fof-fixes-movingplatexists' into 'master'
Moving platform fix: Player snaps to floor when setting ~FF_EXISTS

See merge request STJr/SRB2Internal!188
2018-09-18 11:29:11 -04:00
mazmazz
5029c01c2b 492: Remove pre-existing thinker when setting up new fade 2018-09-18 07:31:19 -04:00
mazmazz
17e23f55eb 492: Merge speed and duration logic for fade polyobject 2018-09-15 20:00:37 -04:00
mazmazz
4ab3a986f3 492 PolyObj Fade, 491 PolyObj Translucency, 490 PolyObj changes
* 490: Set proper render flags according to spawnflags
* 491: Add relative calc (EFFECT3) and Front X alpha param (DONTPEGTOP)
* 492:
    * Tic-based (EFFECT4) and speed timing
    * Add relative calc (EFFECT3) and Front X alpha param (DONTPEGTOP)
    * Set proper render flags according to spawnflags
    * Fix OpenGL >= NUMTRANSMAPS render bug
2018-09-13 00:06:11 -04:00
mazmazz
0697a1b90a PolyObjFade: Apply RENDER, SOLID, and NOSPECIALS flags according to spawnflags 2018-09-13 00:06:08 -04:00
mazmazz
a6f959ba21 Set mobj->floorrover and ceilingrover in appropriate places 2018-09-10 00:38:07 -04:00
mazmazz
573e1d0017 Replace firsttic with timer increment 2018-09-09 21:01:00 -04:00
mazmazz
3f4656e57e Polyobject Fade logic 2018-09-09 08:08:48 -04:00