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

View file

@ -1286,6 +1286,21 @@ doom
title = "Scroll Ceiling Texture (Displacement)"; title = "Scroll Ceiling Texture (Displacement)";
prefix = "(515)"; 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 520
{ {
title = "Carry Objects on Floor"; title = "Carry Objects on Floor";
@ -1316,6 +1331,21 @@ doom
title = "Carry Objects on Ceiling (Displacement)"; title = "Carry Objects on Ceiling (Displacement)";
prefix = "(525)"; 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 530
{ {
title = "Scroll Floor Texture and Carry Objects"; title = "Scroll Floor Texture and Carry Objects";
@ -1346,6 +1376,21 @@ doom
title = "Scroll Ceiling Texture and Carry Objects (Displacement)"; title = "Scroll Ceiling Texture and Carry Objects (Displacement)";
prefix = "(535)"; 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 pusher

View file

@ -5594,25 +5594,36 @@ static void P_ConvertBinaryLinedefTypes(void)
case 513: //Scroll ceiling texture case 513: //Scroll ceiling texture
case 514: //Scroll ceiling texture (accelerative) case 514: //Scroll ceiling texture (accelerative)
case 515: //Scroll ceiling texture (displacement) 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 520: //Carry objects on floor
case 521: //Carry objects on floor (accelerative) case 521: //Carry objects on floor (accelerative)
case 522: //Carry objects on floor (displacement) case 522: //Carry objects on floor (displacement)
case 523: //Carry objects on ceiling case 523: //Carry objects on ceiling
case 524: //Carry objects on ceiling (accelerative) case 524: //Carry objects on ceiling (accelerative)
case 525: //Carry objects on ceiling (displacement) 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 530: //Scroll floor texture and carry objects
case 531: //Scroll floor texture and carry objects (accelerative) case 531: //Scroll floor texture and carry objects (accelerative)
case 532: //Scroll floor texture and carry objects (displacement) case 532: //Scroll floor texture and carry objects (displacement)
case 533: //Scroll ceiling texture and carry objects case 533: //Scroll ceiling texture and carry objects
case 534: //Scroll ceiling texture and carry objects (accelerative) case 534: //Scroll ceiling texture and carry objects (accelerative)
case 535: //Scroll ceiling texture and carry objects (displacement) 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[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[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] = 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; lines[i].args[4] = (lines[i].special % 10) % 3;
if (lines[i].args[2] != TMS_SCROLLONLY && !(lines[i].flags & ML_NOCLIMB)) if (lines[i].args[2] != TMS_SCROLLONLY && !(lines[i].flags & ML_NOCLIMB))
lines[i].args[4] |= TMST_NONEXCLUSIVE; 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; lines[i].special = 510;
break; break;
case 540: //Floor friction case 540: //Floor friction