Commit graph

74 commits

Author SHA1 Message Date
James R
8e20ca4c04 TRIPWIRE
Set a sidedef's midtexture to "TRIPWIRE" to turn that line
into a tripwire.

Players can't drive through a tripwire and will bounce
back at high speed if they're in one of the following
states:

1. Invincibility / Grow
2. Sneakers
3. Flame Shield dash
4. >200% on the speedometer

Hitting a tripwire plays a sound, sends you into hitlag,
then plays another sound when the hitlag is over. The
sounds used depend on whether you can drive through the
tripwire.
2021-11-28 03:03:43 -08:00
James R
130e1fc4f9 Windows??? 2021-02-15 23:12:30 -08:00
James R
82718216cc Respawn slightly before a waypoint, in the direction you came from, if the waypoint is exactly on a line
See notably the finish line. Basically respawning exactly on a line can let you
cross it twice, if you crossed it before respawning, or NOT cross it, depending
on which direction you drive after landing. So this just respawns very slightly
before the line so you can cross (or not cross) it normally.
2021-02-15 23:01:13 -08:00
Sally Coolatta
fc934b38e1 Merge public next 2020-11-10 15:32:48 -05:00
Sally Coolatta
f27a2b904b Use FixedHypot over P_AproxDistance
Not convinced that the small speed benefit from P_AproxDistance is worth the "aproximate"[sic] results it gives. Let's instead try a define to replace it with FixedHypot. In Lua, the function gives a deprecated warning.

Inspired by the hyperwall fix for vanilla, except for everything. From little testing, actively improves waypoint checks, bumping, speed checks, wall collisions, Jawz targetting, Lightning Shield attacks, so on.

The only way I see this as a potential downgrade is A_Look (and related functions) getting slower, which are barely used in Kart.
2020-11-07 19:47:50 -05:00
Sally Coolatta
9b6aa946ea Merge remote-tracking branch 'srb2/master' into the-scary-22-merge 2020-10-24 19:28:06 -04:00
James R
9fb7ba77e4 Midtexture step up/down 2020-10-15 14:47:10 -07:00
James R
0bf00aad35 Condense variables, rename 'diff' to 'step' 2020-10-15 14:23:02 -07:00
James R
1db22403bb Guard with mobj?? 2020-10-15 04:30:48 -07:00
James R
75b3fffc04 AAAAAAAAAAA 2020-10-15 04:23:28 -07:00
James R
9723283055 FOF step down 2020-10-15 03:33:37 -07:00
James R
894860b9bc Step up fake floors 2020-10-15 02:58:29 -07:00
James R
3a4a687da0 Use height difference between front and backside of line when stepping down
This should fix the janky falling off steep slopes and let you cling to them.
Because when falling off a sector the edge of the player must not intersect
the edge of the higher sector, it is trickier than step up. The height
difference at the line must be stored to be useful.
2020-10-14 21:10:02 -07:00
James R
dab116a0bd CODE 2020-10-13 21:44:48 -07:00
James R
0d116b39c5 Compare height for step up on edge of sector
This is for slopes. When moving across a slope the height changes. Therefore
compare the height at the edge where slopes meet so only a wall will block the
player, and not a very steep slope.
2020-10-13 20:27:36 -07:00
Sally Coolatta
b5fcd74ef9 Merge master
Slopes in a few maps are really broken ... think it's anchors, I'm gonna leave that to jart :V
2020-09-25 12:00:50 -04:00
FlykeSpice
2d9ec1687c Remove POLYOBJECTS POLYOBJECTS_PLANES #ifdefs(backport from srb2 2.2) 2020-08-20 13:02:13 -04:00
FlykeSpice
2424418390 Remove ESLOPE #ifdef(backport from srb2 2.2) 2020-08-20 13:02:13 -04:00
Sally Coolatta
135e9b9797 f_finale now compiles 2020-08-11 23:13:25 -04:00
Jaime Passos
c385eca5d2 Merge branch 'next' of https://git.magicalgirl.moe/STJr/SRB2 into pictureformats 2020-07-06 19:29:14 -03:00
Sally Coolatta
0e79ec29be p_map & p_maputl merge conflicts 2020-05-30 13:53:30 -04:00
Sally Coolatta
63917ffccc The start of the scary 2.2 merge
All conflicts are left in-tact. We should be collaborating on solving these files one at a time.
2020-05-29 13:43:38 -04:00
Louis-Antoine
74fa35221d Merge branch 'next' of https://git.magicalgirl.moe/STJr/SRB2.git into slope-cleanup
# Conflicts:
#	src/hardware/hw_main.c
#	src/p_spec.c
2020-05-18 16:14:05 +02:00
Jaime Passos
c69a4f9ced Merge remote-tracking branch 'origin/next' into pictureformats 2020-05-15 01:34:54 -03:00
MascaraSnake
8efec04051 Remove POLYOBJECTS and POLYOBJECTS_PLANES defines 2020-05-02 12:08:31 +02:00
Louis-Antoine
29294a53cc Encapsulate plane height checks 2020-03-22 17:28:50 +01:00
Louis-Antoine
3cf315f6da Fix typo in camera handling code 2020-03-22 15:21:23 +01:00
Louis-Antoine
4e7605f0e2 Make SRB2 flat like Earth 2020-03-20 18:55:29 +01:00
Jaime Passos
81a57d5fac Merge remote-tracking branch 'origin/next' into pictureformats 2020-03-07 20:43:16 -03:00
James R
2274129f57 Update copyright year to 2020 2020-02-19 14:08:45 -08:00
Jaime Passos
41840f6375 Merge remote-tracking branch 'origin/next' into pictureformats 2020-01-20 16:53:41 -03:00
Jaime Passos
7ec8c607ce typoe 2020-01-17 00:34:31 -03:00
Jaime Passos
3b29ec3fbc Merge remote-tracking branch 'origin/next' into pictureformats 2020-01-07 16:10:25 -03:00
Jaime Passos
96340ac80c Move texture stuff to its own file 2020-01-07 12:35:10 -03:00
Nev3r
ab63d3e33f Adapt P_ClosestPointOnLine3D() to be much like FV3_ClosestPointOnLine() and use vector3_t's as args, save for the hypotenuse calculation, which remains the same; the output should be the same as before.
Adapt the rope hang snapping to the new function's form.
2020-01-04 18:28:25 +01:00
Steel Titanium
a5cdb0a4b3 Update copyright date on source files 2019-12-06 13:49:42 -05:00
James R
1a393dcfc3 lmao I forgot the backside FOF 2019-10-21 14:44:16 -07:00
James R
0e51566d02 Collide with walls of FOF if both planes are intangible 2019-10-14 13:22:33 -07:00
MascaraSnake
b38bd1a078 Lava is now either completely solid or completely intangible. No more half-assing 2019-10-01 21:58:18 +02:00
Monster Iestyn
816d67c9ff After looking at the FOF part of P_LineOpening for a while I now realise many of these variables aren't even necessary, so I removed them all.
(Naturally I did the same to the camera equivalent)
2019-08-08 23:04:47 +01:00
Monster Iestyn
d9a78308fe Edit a lot of the rest of the polyobject-related code in P_LineOpening to make more sense and be more optimised.
* If you collide with a line belonging to a polyobject, you should NEVER have to care about any FOFs that might be present in either sector of the linedef. This could lead to colliding with ghostly FOFs that aren't actually there or something dumb, if someone decided to give either of the polyobject's control sectors FOFs for some reason. We don't want that, obviously.
* Polyobjects without POF_CLIPPLANE apparently are supposed to have a top and bottom "physical" height of value INT32_MAX and _MIN respectively, according to P_CheckPosition ...let's be consistent with this.
* Finally, there is no more need for that back = front nonsense hack anymore with my changes made.
2019-08-08 16:37:09 +01:00
Monster Iestyn
7940edd1fc P_LineOpening: set int32 max/min as defaults for opentop, openbottom etc if a linedef you touched belongs to a polyobjetc. the only thing that really matters in this scenario is the polyobject itself after all!
(This is an untested fix for VAda's apparent collision with thin air below a polyobject in ACZ2 in beta 5)
2019-08-07 23:27:26 +01:00
Monster Iestyn
925735bfaa Whoops the second 2019-08-01 20:48:24 +01:00
Monster Iestyn
2cfe575c20 Add openfloorrover and openceilingrover vars so that PIT_CheckLine can update tmfloorrover and tmceilingrover properly via P_LineOpening
...which should hopefully stop that issue where you just teleport back to the ground. Assuming this works as expected.

Also this is untested lol.
2019-08-01 18:56:00 +01:00
toaster
2fbb0bbb52 I know this isn't my branch, but found several reference haemmoragers and figured it'd be appropriate to commit here. 2019-07-13 13:43:22 +01:00
TehRealSalt
089be795a2 Huge splitscreen refactor
Did not get to finish all refactoring or even compile this, I'll continue later
2019-04-18 03:08:11 -04:00
wolfy852
82d93a95fd Remove P_CanRunOnWater 2019-03-11 00:28:30 -05:00
mazmazz
c91b2b4456 Update source copyrights to 2018 2018-11-25 07:35:38 -05:00
Monster Iestyn
a9cfd12e04 Created R_GetTextureNum to make sure top/bottom/midtexture texture ids are always valid in rendering code for both software and OpenGL (and also for the Solid Midtexture effect physics code) 2016-12-16 21:38:53 +00:00
Monster Iestyn
2a6a21a4a2 Solid midtextures now account for "infinite" repeats 2016-08-27 17:14:21 +01:00