Commit graph

52 commits

Author SHA1 Message Date
Sally Coolatta
c5474436af 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-12-12 14:49:25 -08:00
Jaime Passos
7911deebf8 Merge branch 'next' of https://git.magicalgirl.moe/STJr/SRB2 into pictureformats 2020-07-06 19:29:14 -03:00
Louis-Antoine
d0abd6e86c 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
1a79f6246d Merge remote-tracking branch 'origin/next' into pictureformats 2020-05-15 01:34:54 -03:00
MascaraSnake
485a4e5035 Remove POLYOBJECTS and POLYOBJECTS_PLANES defines 2020-05-02 12:08:31 +02:00
Louis-Antoine
6f9422d380 Encapsulate plane height checks 2020-03-22 17:28:50 +01:00
Louis-Antoine
077543f2e9 Fix typo in camera handling code 2020-03-22 15:21:23 +01:00
Louis-Antoine
892a8dd6e7 Make SRB2 flat like Earth 2020-03-20 18:55:29 +01:00
Jaime Passos
26e367eb9b Merge remote-tracking branch 'origin/next' into pictureformats 2020-03-07 20:43:16 -03:00
James R
7060083db5 Update copyright year to 2020 2020-02-19 14:08:45 -08:00
Jaime Passos
f4a976f3be Merge remote-tracking branch 'origin/next' into pictureformats 2020-01-20 16:53:41 -03:00
Jaime Passos
7adc108a2a typoe 2020-01-17 00:34:31 -03:00
Jaime Passos
5a2ad5c2f3 Merge remote-tracking branch 'origin/next' into pictureformats 2020-01-07 16:10:25 -03:00
Jaime Passos
f85476c723 Move texture stuff to its own file 2020-01-07 12:35:10 -03:00
Nev3r
91222f7527 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
d415cd5c6d
Update copyright date on source files 2019-12-06 13:49:42 -05:00
James R
acd28c001e lmao I forgot the backside FOF 2019-10-21 14:44:16 -07:00
James R
5007abee23 Collide with walls of FOF if both planes are intangible 2019-10-14 13:22:33 -07:00
MascaraSnake
5c1fabfaae Lava is now either completely solid or completely intangible. No more half-assing 2019-10-01 21:58:18 +02:00
Monster Iestyn
1b9eb3c3e4 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
17e53ee27b 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
a8b7ecab4d 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
ac058529c5 Whoops the second 2019-08-01 20:48:24 +01:00
Monster Iestyn
0821f7fb21 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
47f138ac34 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
mazmazz
ea7162a76a 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
Monster Iestyn
1530183ddf Fix multiple solid midtexture-related issues:
* Effect 3 (Peg Midtexture) is now accounted for properly, flipping the collision box position to match the actual rendered position of the midtexture
* Fixed incorrect application of y-offsets for non-lower unpegged midtextures collision boxes; +ve always goes up, -ve always goes down!
* Effect 4 now doesn't make midtextures solid for polyobjects at all - this "conflicted" with First Line having both Effect 4 (visible planes) and Effect 3 (intangible) simultaneously, where we kind of expect the first line's wall to not be made solid. This may be less of a problem in future SRB2 versions, but for now solid midtextures for polyobjects are disabled.
2016-08-14 16:56:41 +01:00
Monster Iestyn
f1a9634260 P_LineOpening now takes a mobj_t argument, instead of relying on tmthing
. tmthing can be NULL if called from PTR_SlideTraverse, so we should use slidemo instead

This fixes a crash that occurs in yet ANOTHER SUGOI map, involving bouncy walls next to sloped floors/ceilings
2016-08-13 21:41:18 +01:00
Inuyasha
f07585191b copyright dates/statements updated and such
(no actual SLOC changes)
2016-05-17 17:42:11 -07:00
Monster Iestyn
b1e736242f fixed all compiling errors relating to ESLOPE being undefined 2016-04-06 22:19:39 +01:00
Alam Ed Arias
51aa7692d8 Merge branch 'master' into next 2016-03-30 20:15:08 -04:00
Alam Ed Arias
d90536967d removed/remline ununsed code 2016-03-30 14:05:07 -04:00
Monster Iestyn
8cad9a6dc8 We can compile the slopes code now, yay! My brain hurts.
Compiling errors fixed in this commit:
* Various cases of mixed declaration and statement code
* Implicit declaration of slope functions (read: you forgot to put "include "p_slopes.h" in MORE than a few places)
* an odd case of a bad fixed_t to float typecase, cause by using P_GetZAt directly inside FIXED_TO_FLOAT
* a few minor cases of bad unsigned-signed comparisons
* no prototypes for some of the new slope functions. For goodness sake Red, this is basic stuff!
2016-01-03 10:30:36 -06:00
RedEnchilada
3f8e7b1739 Revert/remove unused/broken junk from original slopes port
m_vector removal to come later. The little thing commented out in it
is so I could revert the weird tables.c change.
2015-05-22 20:57:58 -05:00
RedEnchilada
3d2b71b24c Make cameras properly collide with slopes 2015-05-21 09:36:20 -05:00
RedEnchilada
d138f7e14f Collision with FOF slopes (might be unfinished, idk) 2015-05-17 11:53:28 -05:00
RedEnchilada
1f0f6b64c1 Store the slope an object is resting on (if applicable) 2015-04-29 00:33:04 -05:00
RedEnchilada
776b5254e6 Slope collision fixes 2015-04-29 00:29:51 -05:00
RedEnchilada
6694480f68 Overhaul slope collision (NOT PHYSICS) to work almost perfectly 2015-04-27 13:20:50 -05:00
RedEnchilada
bac34d783e Fix crash with ceiling slopes and line collisions 2015-04-25 20:39:18 -05:00
RedEnchilada
923fae476e Merge branch 'fury-gh/slopes' into angles
Conflicts:
	src/p_maputl.c
2015-04-19 15:56:55 -05:00
RedEnchilada
09345ce929 Revert "Guess what major breaking-news bug I just fixed B)"
This reverts commit 9e306394dd.
Sorry MI, but this completely breaks large maps like AGZ.
2015-04-08 20:50:49 -05:00
Alam Ed Arias
83461f49c5 Merge branch 'public_todo_next' into next
All commits that was in private that are not SRB2 2.2 had moved to public's next
2015-04-01 12:32:34 -04:00
MonsterIestyn
9e306394dd Guess what major breaking-news bug I just fixed B)
...

(It's that infamous intangible West/South linedefs bug, which was really a blockmap-related bug all along. AND IT WAS SO SIMPLE TO FIX!)

git-svn-id: https://code.orospakr.ca/svn/srb2/trunk@9048 6de4a73c-47e2-0310-b8c1-93d6ecd3f8cd
2015-03-31 18:00:14 -04:00
RedEnchilada
70732f6475 Make solid midtexture trick work properly(?) for polyobjects 2015-03-30 13:06:04 -05:00
RedEnchilada
808775de02 Effect 4 on a map line now makes the front midtexture solid
(Supports Effect 5 repeating of arbitrary lengths, but not of the automatic "top-to-bottom" type; just use Impassible there!)
2015-03-29 00:49:27 -05:00
Ronald Kinard
54f0d0c110 IN PROGRESS: porting eternity slopes from srb2cb 2014-11-18 18:45:57 -06:00
Alam Ed Arias
404b5f666c SRB2 2.1.12 release 2014-11-11 19:55:07 -05:00