Commit graph

11756 commits

Author SHA1 Message Date
Alam Ed Arias
b45b9801d6 Merge branch 'next' into slope-fixes 2016-03-31 21:43:51 -04:00
Alam Ed Arias
d2241ce30a Merge branch 'next' into skybox-hotfix 2016-03-31 21:42:59 -04:00
wolfy852
f3f2c59622 Remove p_fab.c 2016-03-31 20:42:01 -05:00
Inuyasha
816990a3ed Merge branch 'polyobj-teeter-fix' into 'next'
Fix for teetering on PolyObjects

So... somebody goofed and didn't realise PolyObject sectors could be added to the sector node list for each object (which is referenced by mobj->touching_sectorlist), via their linedefs if they are nearby the player (yes, PolyObject linedefs are special and get to move about the level). As it turns out, this allows even INTANGIBLE PolyObjects to make you teeter in a seemingly inexplicable way.

What is happening is that PolyObject sectors, when they are added to the mentioned lists, are then checked under normal sector teetering conditions - if the player is above the floorheight by 24 FUs, you're officially teetering unless stated otherwise. The actual PolyObject teetering code can't help you here if the conditions are right, especially if they're taller than 24 FU in height.

There are a number of things wrong with the teetering code in general that I'd like to sort eventually, but at least now teetering on PolyObjects is fixed at last ...right? Please check the branch out if you can to check this, obviously.

See merge request !54
2016-03-31 20:55:28 -04:00
Inuyasha
042331edd5 Merge branch 'patch-scaling-flip-fix' into 'next'
Fixes for patch scaling and V_FLIP usage

The following issues are fixed by this branch:
* a patch using both scaling and V_FLIP does not appear in the "correct" place on the screen. Thanks to LJSonic for pointing this out to me on 'fun
* Scaled and/or V_FLIPed patches wrap at the left/right screen edges even though they're not supposed to. V_FLIP patches at these edges may also crop the wrong side of the patch if they're at the right edge.

See merge request !60
2016-03-31 20:21:51 -04:00
Inuyasha
31cec9dfee Merge branch 'portal-fix' into 'next'
Some fixes for portals

Specifically the following things are fixed in this branch:

* a memory leak resulting from not clearing away clipping-related arrays each tic you view a portal
* a very specific crash to do with portals sometimes (unintentionally) using a hack on drawsegs that don't actually belong to them ...which results in a crash if the drawsegs in question have midtextures. I reported it on the MB a year ago, with a test map included there: https://mb.srb2.org/showthread.php?t=38199&page=4#79
* another specific crash to do with mirrored (horizontally flipped) sprites that are scaled, particularly when you cover up the left edge of them via portals at the least. Needs more testing to be absolutely sure this is fixed, and is also reproducable in the test map linked in the post above

May be fine to merge changes into master too, I don't really know exactly

See merge request !42
2016-03-31 20:19:58 -04:00
Inuyasha
96c1d7a14b Merge branch 'camera-fix' into 'next'
Camera fix

This fixes the third person camera being silly around intangible PolyObjects, particularly the fact they can affect the camera's floorz and ceilingz even though I see no reason why they should do so.

Also a good reminder that POF_SOLID is the same as POF_CLIPLINES and POF_CLIPPLANES combined, which is probably how this issue came about to begin with. Can't say that with certainty of course.

See merge request !57
2016-03-31 20:17:27 -04:00
Inuyasha
b2e44ca825 Merge branch 'closestpointonline' into 'next'
P_ClosestPointOnLine changes

P_ClosestPointOnLine can now (optionally) take custom coordinates for two points that you want to make up a "line", instead of just actual linedefs.

Complete syntax for P_ClosestPointOnLine as of this branch:
```lua
-- syntax for a real linedef (which is already in 2.1.14):
	P_ClosestPointOnLine(x, y, line)

-- syntax for a fake line with vertexes (x1,y1) and (x2,y2):
	P_ClosestPointOnLine(x, y, x1, y1, x2, y2)
```

See merge request !61
2016-03-31 20:16:22 -04:00
Alam Ed Arias
6b9fd60f06 Merge branch 'next' into camera-fix 2016-03-31 12:28:31 -04:00
Alam Ed Arias
e8770f0264 Merge branch 'next' into skybox-hotfix 2016-03-31 12:28:19 -04:00
Alam Ed Arias
8b4236c00d Merge branch 'next' into portal-fix 2016-03-31 12:27:55 -04:00
Alam Ed Arias
121f144e3c Merge branch 'next' into patch-scaling-flip-fix 2016-03-31 12:27:43 -04:00
Alam Ed Arias
47bb95f5f5 Merge branch 'next' into polyobj-teeter-fix 2016-03-31 12:26:52 -04:00
Alam Ed Arias
e16129a8c5 Merge branch 'next' into closestpointonline 2016-03-31 12:17:52 -04:00
Alam Ed Arias
32a950893e Merge branch 'next' into slope-fixes 2016-03-31 12:17:40 -04:00
Alam Ed Arias
d77e541f29 Merge branch 'next' into bp_random2 2016-03-31 12:15:09 -04:00
Monster Iestyn
e34da95c4c DEVMODE's automap now supports slopes 2016-03-31 16:32:25 +01:00
Inuyasha
fc8e7728cd I meant to extend this to 4 seconds but forgot 2016-03-31 06:57:11 -07:00
Inuyasha
690b65b47f "Sonic can now become Super Sonic" exists again
Fixed an off-by-one array error in the process
2016-03-31 06:51:04 -07:00
Inuyasha
3812b6bc20 the abs() is necessary; force unsigned shift and signed result 2016-03-31 06:48:08 -07:00
Alam Ed Arias
283c64ee20 Merge branch 'next' into camera-fix 2016-03-30 20:49:44 -04:00
Alam Ed Arias
9fcd06f152 Merge branch 'next' into skybox-hotfix 2016-03-30 20:49:20 -04:00
Alam Ed Arias
f84d76c683 Merge branch 'next' into portal-fix 2016-03-30 20:43:25 -04:00
Alam Ed Arias
44afedd85f Merge branch 'next' into patch-scaling-flip-fix 2016-03-30 20:42:59 -04:00
Alam Ed Arias
d26c486c6d Merge branch 'next' into polyobj-teeter-fix 2016-03-30 20:42:33 -04:00
Alam Ed Arias
bdcdf8ddab Merge branch 'next' into closestpointonline 2016-03-30 20:42:07 -04:00
Alam Ed Arias
4370459166 Merge branch 'next' into slope-fixes 2016-03-30 20:41:33 -04:00
Alam Ed Arias
a935ac21e8 Merge branch 'next' into bp_random2 2016-03-30 20:40:48 -04:00
Alam Ed Arias
9286e30366 Merge branch 'master' into next 2016-03-30 20:39:12 -04:00
Alam Ed Arias
de630d0c33 appveyor: let check warnings as well 2016-03-30 20:30:24 -04:00
Alam Ed Arias
75f65c4d44 using abs() on unsigned have no effect 2016-03-30 20:17:09 -04:00
Alam Ed Arias
51aa7692d8 Merge branch 'master' into next 2016-03-30 20:15:08 -04:00
Alam Ed Arias
f9411982ed Merge branch 'travis-ci' into 'master'
Clang cleanup

"taking the absolute value of unsigned type 'unsigned int' has no effect"

using abs() on an unsigned should be nop,  replace them with (angle_t)()

Need someone to verify this does not break any game logic

See merge request !63
2016-03-30 20:13:00 -04:00
Alam Ed Arias
d90536967d removed/remline ununsed code 2016-03-30 14:05:07 -04:00
Alam Ed Arias
10cc421fae travis: add all/extra warnings 2016-03-30 12:58:00 -04:00
Alam Ed Arias
b169529dfd switich to do the angle math in signed, then run it thur abs() 2016-03-30 11:47:27 -04:00
Inuyasha
9cec9093bb denom of A_CheckRandom can't be zero, that would be bad 2016-03-30 06:20:57 -07:00
Alam Ed Arias
7e07d2d77a travis-ci: reenable -Werror 2016-03-30 00:23:28 -04:00
Alam Ed Arias
0fe6ee5339 cleanup abs warnings 2016-03-30 00:22:12 -04:00
Wolfy
a7a7de6183 Merge branch 'ceilinglighting-fix' into 'next'
Ceiling lighting fix

The ceiling lighting linedef special (and anything else that changes ceiling lighting directly for sectors) works in software mode now.

See merge request !62
2016-03-29 21:00:25 -04:00
Inuyasha
caf081b6f5 Merge branch 'bp_random2' of http://git.magicalgirl.moe/STJr/SRB2 into bp_random2 2016-03-29 16:35:21 -07:00
Inuyasha
480f9be51f gotta start compensating for xorshift's needs 2016-03-29 16:27:57 -07:00
Inuyasha
3dc4cfc229 Simplicity is a virute... don't overcomplicate things. 2016-03-29 16:27:56 -07:00
Inuyasha
a3e940fe65 Compensate for insufficient RAND_MAX values. 2016-03-29 16:27:56 -07:00
Inuyasha
ac03ce39c8 *_Random is now *_RandomByte.
P_RandomChance is now a macro for something that should happen a
certain percentage of time.

P_SignedRandom was moved to a macro. Nobody cared.

# Conflicts:
#	src/p_inter.c
2016-03-29 16:27:55 -07:00
Inuyasha
ce2c2de58a P_Random now using a variant of xorshift
This actually passes most diehard tests, as opposed to the old RNG.
It's also similarly fast.

Internally the PRNG generates a fixed point number from [0,1) now,
which makes P_RandomKey and P_RandomRange much easier to
calculate. P_Random is just a simple shift, as well.

Also, the lack of floating point math in P_RandomKey and
P_RandomRange now is probably for the best.
2016-03-29 16:27:25 -07:00
Monster Iestyn
1108a52959 Check change in ceilinglightsec for markceiling code, not floorlightsec 2016-03-29 22:44:16 +01:00
Monster Iestyn
ee00da6a74 Another thing that probably needed to check for slopes 2016-03-29 22:32:09 +01:00
Monster Iestyn
ef832dd8b8 Fixed how two adjacent FOFs can prevent each others' walls from displaying if they're at least partially covered
Also some miscellaneous tweaks and changes to account for slopes properly
2016-03-29 18:59:56 +01:00
Monster Iestyn
6bda1a57a5 Fix FOF plane light underside checks 2016-03-29 15:40:01 +01:00