Merge branch 'plane-scroller-tweaks-again' into 'next'

Plane scroller & wind/current/pusher improvements (again)

See merge request STJr/SRB2!1811
This commit is contained in:
sphere 2023-05-25 21:00:30 +00:00
commit 777a1c6b83
3 changed files with 163 additions and 12 deletions

View file

@ -2866,36 +2866,63 @@ linedeftypes
{
title = "Scroll Floor Texture";
prefix = "(510)";
flags8192text = "[13] Use angle and X offset";
}
511
{
title = "Scroll Floor Texture (Accelerative)";
prefix = "(511)";
flags8192text = "[13] Use angle and X offset";
}
512
{
title = "Scroll Floor Texture (Displacement)";
prefix = "(512)";
flags8192text = "[13] Use angle and X offset";
}
513
{
title = "Scroll Ceiling Texture";
prefix = "(513)";
flags8192text = "[13] Use angle and X offset";
}
514
{
title = "Scroll Ceiling Texture (Accelerative)";
prefix = "(514)";
flags8192text = "[13] Use angle and X offset";
}
515
{
title = "Scroll Ceiling Texture (Displacement)";
prefix = "(515)";
flags8192text = "[13] Use angle and X offset";
}
516
{
title = "Scroll Floor and Ceiling Texture";
prefix = "(516)";
flags8192text = "[13] Use angle and X offset";
}
517
{
title = "Scroll Floor and Ceiling Texture (Accelerative)";
prefix = "(517)";
flags8192text = "[13] Use angle and X offset";
}
518
{
title = "Scroll Floor and Ceiling Texture (Displacement)";
prefix = "(518)";
flags8192text = "[13] Use angle and X offset";
}
520
@ -2903,6 +2930,7 @@ linedeftypes
title = "Carry Objects on Floor";
prefix = "(520)";
flags64text = "[6] Exclusive";
flags8192text = "[13] Use angle and X offset";
}
521
@ -2910,6 +2938,7 @@ linedeftypes
title = "Carry Objects on Floor (Accelerative)";
prefix = "(521)";
flags64text = "[6] Exclusive";
flags8192text = "[13] Use angle and X offset";
}
522
@ -2917,6 +2946,7 @@ linedeftypes
title = "Carry Objects on Floor (Displacement)";
prefix = "(522)";
flags64text = "[6] Exclusive";
flags8192text = "[13] Use angle and X offset";
}
523
@ -2924,6 +2954,7 @@ linedeftypes
title = "Carry Objects on Ceiling";
prefix = "(523)";
flags64text = "[6] Exclusive";
flags8192text = "[13] Use angle and X offset";
}
524
@ -2931,6 +2962,7 @@ linedeftypes
title = "Carry Objects on Ceiling (Accelerative)";
prefix = "(524)";
flags64text = "[6] Exclusive";
flags8192text = "[13] Use angle and X offset";
}
525
@ -2938,6 +2970,31 @@ linedeftypes
title = "Carry Objects on Ceiling (Displacement)";
prefix = "(525)";
flags64text = "[6] Exclusive";
flags8192text = "[13] Use angle and X offset";
}
526
{
title = "Carry Objects on Floor and Ceiling";
prefix = "(526)";
flags64text = "[6] Exclusive";
flags8192text = "[13] Use angle and X offset";
}
527
{
title = "Carry Objects on Floor and Ceiling (Accelerative)";
prefix = "(527)";
flags64text = "[6] Exclusive";
flags8192text = "[13] Use angle and X offset";
}
528
{
title = "Carry Objects on Floor and Ceiling (Displacement)";
prefix = "(528)";
flags64text = "[6] Exclusive";
flags8192text = "[13] Use angle and X offset";
}
530
@ -2945,6 +3002,7 @@ linedeftypes
title = "Scroll Floor Texture and Carry Objects";
prefix = "(530)";
flags64text = "[6] Exclusive";
flags8192text = "[13] Use angle and X offset";
}
531
@ -2952,6 +3010,7 @@ linedeftypes
title = "Scroll Floor Texture and Carry Objects (Accelerative)";
prefix = "(531)";
flags64text = "[6] Exclusive";
flags8192text = "[13] Use angle and X offset";
}
532
@ -2959,6 +3018,7 @@ linedeftypes
title = "Scroll Floor Texture and Carry Objects (Displacement)";
prefix = "(532)";
flags64text = "[6] Exclusive";
flags8192text = "[13] Use angle and X offset";
}
533
@ -2966,6 +3026,7 @@ linedeftypes
title = "Scroll Ceiling Texture and Carry Objects";
prefix = "(533)";
flags64text = "[6] Exclusive";
flags8192text = "[13] Use angle and X offset";
}
534
@ -2973,6 +3034,7 @@ linedeftypes
title = "Scroll Ceiling Texture and Carry Objects (Accelerative)";
prefix = "(534)";
flags64text = "[6] Exclusive";
flags8192text = "[13] Use angle and X offset";
}
535
@ -2980,6 +3042,31 @@ linedeftypes
title = "Scroll Ceiling Texture and Carry Objects (Displacement)";
prefix = "(535)";
flags64text = "[6] Exclusive";
flags8192text = "[13] Use angle and X offset";
}
536
{
title = "Scroll Floor and Ceiling Texture and Carry Objects";
prefix = "(536)";
flags64text = "[6] Exclusive";
flags8192text = "[13] Use angle and X offset";
}
537
{
title = "Scroll Floor and Ceiling Texture and Carry Objects (Accelerative)";
prefix = "(537)";
flags64text = "[6] Exclusive";
flags8192text = "[13] Use angle and X offset";
}
538
{
title = "Scroll Floor and Ceiling Texture and Carry Objects (Displacement)";
prefix = "(538)";
flags64text = "[6] Exclusive";
flags8192text = "[13] Use angle and X offset";
}
}
@ -2991,48 +3078,54 @@ linedeftypes
{
title = "Wind";
prefix = "(541)";
flags512text = "[9] Player slides";
flags64text = "[6] Exclusive";
flags512text = "[9] Player slides";
flags8192text = "[13] Use angle and X offset";
}
542
{
title = "Upwards Wind";
prefix = "(542)";
flags512text = "[9] Player slides";
flags64text = "[6] Exclusive";
flags512text = "[9] Player slides";
flags8192text = "[13] Use X offset";
}
543
{
title = "Downwards Wind";
prefix = "(543)";
flags512text = "[9] Player slides";
flags64text = "[6] Exclusive";
flags512text = "[9] Player slides";
flags8192text = "[13] Use X offset";
}
544
{
title = "Current";
prefix = "(544)";
flags512text = "[9] Player slides";
flags64text = "[6] Exclusive";
flags512text = "[9] Player slides";
flags8192text = "[13] Use angle and X offset";
}
545
{
title = "Upwards Current";
prefix = "(545)";
flags512text = "[9] Player slides";
flags64text = "[6] Exclusive";
flags512text = "[9] Player slides";
flags8192text = "[13] Use X offset";
}
546
{
title = "Downwards Current";
prefix = "(546)";
flags512text = "[9] Player slides";
flags64text = "[6] Exclusive";
flags512text = "[9] Player slides";
flags8192text = "[13] Use X offset";
}
547
@ -3040,6 +3133,7 @@ linedeftypes
title = "Push/Pull";
prefix = "(547)";
flags64text = "[6] Exclusive";
flags8192text = "[13] Use X offset";
}
}

View file

@ -1301,6 +1301,21 @@ doom
title = "Scroll Ceiling Texture (Displacement)";
prefix = "(515)";
}
516
{
title = "Scroll Floor and Ceiling Texture";
prefix = "(516)";
}
517
{
title = "Scroll Floor and Ceiling Texture (Accelerative)";
prefix = "(517)";
}
518
{
title = "Scroll Floor and Ceiling Texture (Displacement)";
prefix = "(518)";
}
520
{
title = "Carry Objects on Floor";
@ -1331,6 +1346,21 @@ doom
title = "Carry Objects on Ceiling (Displacement)";
prefix = "(525)";
}
526
{
title = "Carry Objects on Floor and Ceiling";
prefix = "(526)";
}
527
{
title = "Carry Objects on Floor and Ceiling (Accelerative)";
prefix = "(527)";
}
528
{
title = "Carry Objects on Floor and Ceiling (Displacement)";
prefix = "(528)";
}
530
{
title = "Scroll Floor Texture and Carry Objects";
@ -1361,6 +1391,21 @@ doom
title = "Scroll Ceiling Texture and Carry Objects (Displacement)";
prefix = "(535)";
}
536
{
title = "Scroll Floor and Ceiling Texture and Carry Objects";
prefix = "(536)";
}
537
{
title = "Scroll Floor and Ceiling Texture and Carry Objects (Accelerative)";
prefix = "(537)";
}
538
{
title = "Scroll Floor and Ceiling Texture and Carry Objects (Displacement)";
prefix = "(538)";
}
}
pusher

View file

@ -5731,22 +5731,31 @@ static void P_ConvertBinaryLinedefTypes(void)
case 513: //Scroll ceiling texture
case 514: //Scroll ceiling texture (accelerative)
case 515: //Scroll ceiling texture (displacement)
case 516: //Scroll floor and ceiling texture
case 517: //Scroll floor and ceiling texture (accelerative)
case 518: //Scroll floor and ceiling texture (displacement)
case 520: //Carry objects on floor
case 521: //Carry objects on floor (accelerative)
case 522: //Carry objects on floor (displacement)
case 523: //Carry objects on ceiling
case 524: //Carry objects on ceiling (accelerative)
case 525: //Carry objects on ceiling (displacement)
case 526: //Carry objects on floor and ceiling
case 527: //Carry objects on floor and ceiling (accelerative)
case 528: //Carry objects on floor and ceiling (displacement)
case 530: //Scroll floor texture and carry objects
case 531: //Scroll floor texture and carry objects (accelerative)
case 532: //Scroll floor texture and carry objects (displacement)
case 533: //Scroll ceiling texture and carry objects
case 534: //Scroll ceiling texture and carry objects (accelerative)
case 535: //Scroll ceiling texture and carry objects (displacement)
case 536: //Scroll floor and ceiling texture and carry objects
case 537: //Scroll floor and ceiling texture and carry objects (accelerative)
case 538: //Scroll floor and ceiling texture and carry objects (displacement)
lines[i].args[0] = tag;
lines[i].args[1] = ((lines[i].special % 10) < 3) ? TMP_FLOOR : TMP_CEILING;
lines[i].args[1] = ((lines[i].special % 10) < 6) ? (((lines[i].special % 10) < 3) ? TMP_FLOOR : TMP_CEILING) : TMP_BOTH;
lines[i].args[2] = ((lines[i].special - 510)/10 + 1) % 3;
lines[i].args[3] = R_PointToDist2(lines[i].v2->x, lines[i].v2->y, lines[i].v1->x, lines[i].v1->y) >> FRACBITS;
lines[i].args[3] = ((lines[i].flags & ML_EFFECT6) ? sides[lines[i].sidenum[0]].textureoffset : R_PointToDist2(lines[i].v2->x, lines[i].v2->y, lines[i].v1->x, lines[i].v1->y)) >> FRACBITS;
lines[i].args[4] = (lines[i].special % 10) % 3;
if (lines[i].args[2] != TMS_SCROLLONLY && !(lines[i].flags & ML_NOCLIMB))
lines[i].args[4] |= TMST_NONEXCLUSIVE;
@ -5777,17 +5786,19 @@ static void P_ConvertBinaryLinedefTypes(void)
case 544: //Current
case 545: //Upwards current
case 546: //Downwards current
{
fixed_t strength = (lines[i].flags & ML_EFFECT6) ? sides[lines[i].sidenum[0]].textureoffset : R_PointToDist2(lines[i].v2->x, lines[i].v2->y, lines[i].v1->x, lines[i].v1->y);
lines[i].args[0] = tag;
switch ((lines[i].special - 541) % 3)
{
case 0:
lines[i].args[1] = R_PointToDist2(lines[i].v2->x, lines[i].v2->y, lines[i].v1->x, lines[i].v1->y) >> FRACBITS;
lines[i].args[1] = strength >> FRACBITS;
break;
case 1:
lines[i].args[2] = R_PointToDist2(lines[i].v2->x, lines[i].v2->y, lines[i].v1->x, lines[i].v1->y) >> FRACBITS;
lines[i].args[2] = strength >> FRACBITS;
break;
case 2:
lines[i].args[2] = -R_PointToDist2(lines[i].v2->x, lines[i].v2->y, lines[i].v1->x, lines[i].v1->y) >> FRACBITS;
lines[i].args[2] = -strength >> FRACBITS;
break;
}
lines[i].args[3] = (lines[i].special >= 544) ? p_current : p_wind;
@ -5797,6 +5808,7 @@ static void P_ConvertBinaryLinedefTypes(void)
lines[i].args[4] |= TMPF_NONEXCLUSIVE;
lines[i].special = 541;
break;
}
case 600: //Floor lighting
case 601: //Ceiling lighting
lines[i].args[0] = tag;
@ -6450,7 +6462,7 @@ static void P_ConvertBinaryThingTypes(void)
}
mapthings[i].args[0] = mapthings[i].angle;
mapthings[i].args[1] = P_AproxDistance(line->dx >> FRACBITS, line->dy >> FRACBITS);
mapthings[i].args[1] = (line->flags & ML_EFFECT6) ? sides[line->sidenum[0]].textureoffset >> FRACBITS : P_AproxDistance(line->dx >> FRACBITS, line->dy >> FRACBITS);
if (mapthings[i].type == 755)
mapthings[i].args[1] *= -1;
if (mapthings[i].options & MTF_OBJECTSPECIAL)