@@ -822,19 +822,30 @@ void P_UpdateSpecials (void)
822
822
/* */
823
823
for (i = 0 ; i < numlinespecials ; i ++ )
824
824
{
825
- int textureoffset , rowoffset ;
825
+ side_t * side ;
826
+ int16_t textureoffset , rowoffset ;
826
827
line = linespeciallist [i ];
828
+ side = & sides [line -> sidenum [0 ]];
827
829
switch (line -> special )
828
830
{
829
831
case 48 : /* EFFECT FIRSTCOL SCROLL + */
830
832
// 12-bit texture offset + 4-bit rowoffset
831
- textureoffset = sides [ line -> sidenum [ 0 ]]. textureoffset ;
832
- rowoffset = textureoffset & 0xf00 ;
833
+ textureoffset = side -> textureoffset ;
834
+ rowoffset = textureoffset & 0xf000 ;
833
835
textureoffset <<= 4 ;
834
836
textureoffset += 1 <<4 ;
835
837
textureoffset >>= 4 ;
836
838
textureoffset |= rowoffset ;
837
- sides [line -> sidenum [0 ]].textureoffset = textureoffset ;
839
+ side -> textureoffset = textureoffset ;
840
+ break ;
841
+
842
+ case 142 : /* MODERATE VERT SCROLL */
843
+ // 12-bit texture offset + 4-bit rowoffset
844
+ textureoffset = side -> textureoffset ;
845
+ rowoffset = ((textureoffset & 0xf000 )>>4 ) | side -> rowoffset ;
846
+ rowoffset -= 3 ;
847
+ side -> rowoffset = rowoffset & 0xff ;
848
+ side -> textureoffset = (textureoffset & 0xfff ) | (rowoffset & 0xf00 );
838
849
break ;
839
850
}
840
851
}
@@ -1023,6 +1034,7 @@ void P_SpawnSpecials (void)
1023
1034
switch (lines [i ].special )
1024
1035
{
1025
1036
case 48 : /* EFFECT FIRSTCOL SCROLL+ */
1037
+ case 142 : /* MODERATE VERT SCROLL */
1026
1038
linespeciallist [numlinespecials ] = & lines [i ];
1027
1039
numlinespecials ++ ;
1028
1040
if (numlinespecials == MAXLINEANIMS )
0 commit comments