Add plane scroller features to binary map format:

- Added actions for scrolling floor + ceiling simultaneously
- Added flag to use X offset for speed, instead of line length
This commit is contained in:
spherallic 2022-09-17 10:51:16 +02:00
parent aaae90a5e3
commit 3da9fb636a
3 changed files with 146 additions and 3 deletions

View file

@ -2824,36 +2824,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
@ -2861,6 +2888,7 @@ linedeftypes
title = "Carry Objects on Floor";
prefix = "(520)";
flags64text = "[6] Exclusive";
flags8192text = "[13] Use angle and X offset";
}
521
@ -2868,6 +2896,7 @@ linedeftypes
title = "Carry Objects on Floor (Accelerative)";
prefix = "(521)";
flags64text = "[6] Exclusive";
flags8192text = "[13] Use angle and X offset";
}
522
@ -2875,6 +2904,7 @@ linedeftypes
title = "Carry Objects on Floor (Displacement)";
prefix = "(522)";
flags64text = "[6] Exclusive";
flags8192text = "[13] Use angle and X offset";
}
523
@ -2882,6 +2912,7 @@ linedeftypes
title = "Carry Objects on Ceiling";
prefix = "(523)";
flags64text = "[6] Exclusive";
flags8192text = "[13] Use angle and X offset";
}
524
@ -2889,6 +2920,7 @@ linedeftypes
title = "Carry Objects on Ceiling (Accelerative)";
prefix = "(524)";
flags64text = "[6] Exclusive";
flags8192text = "[13] Use angle and X offset";
}
525
@ -2896,6 +2928,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
@ -2903,6 +2960,7 @@ linedeftypes
title = "Scroll Floor Texture and Carry Objects";
prefix = "(530)";
flags64text = "[6] Exclusive";
flags8192text = "[13] Use angle and X offset";
}
531
@ -2910,6 +2968,7 @@ linedeftypes
title = "Scroll Floor Texture and Carry Objects (Accelerative)";
prefix = "(531)";
flags64text = "[6] Exclusive";
flags8192text = "[13] Use angle and X offset";
}
532
@ -2917,6 +2976,7 @@ linedeftypes
title = "Scroll Floor Texture and Carry Objects (Displacement)";
prefix = "(532)";
flags64text = "[6] Exclusive";
flags8192text = "[13] Use angle and X offset";
}
533
@ -2924,6 +2984,7 @@ linedeftypes
title = "Scroll Ceiling Texture and Carry Objects";
prefix = "(533)";
flags64text = "[6] Exclusive";
flags8192text = "[13] Use angle and X offset";
}
534
@ -2931,6 +2992,7 @@ linedeftypes
title = "Scroll Ceiling Texture and Carry Objects (Accelerative)";
prefix = "(534)";
flags64text = "[6] Exclusive";
flags8192text = "[13] Use angle and X offset";
}
535
@ -2938,6 +3000,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";
}
}
@ -6949,7 +7036,7 @@ thingtypes
{
color = 10; // Green
title = "Tutorial";
799
{
title = "Tutorial Plant";

View file

@ -1286,6 +1286,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";
@ -1316,6 +1331,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";
@ -1346,6 +1376,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
@ -2593,7 +2638,7 @@ udmf
}
}
}
190
{
title = "Rising";

View file

@ -5594,25 +5594,36 @@ 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[4] = (lines[i].special % 10) % 3;
if (lines[i].args[2] != TMS_SCROLLONLY && !(lines[i].flags & ML_NOCLIMB))
lines[i].args[4] |= TMST_NONEXCLUSIVE;
if (lines[i].flags & ML_EFFECT6)
lines[i].args[3] = sides[lines[i].sidenum[0]].textureoffset >> FRACBITS;
lines[i].special = 510;
break;
case 540: //Floor friction