From f94c25c05c5b990bd233717acea2b9f32d7f9198 Mon Sep 17 00:00:00 2001 From: Eidolon <furyhunter600@gmail.com> Date: Thu, 26 May 2022 23:38:50 -0500 Subject: [PATCH] Change UDMF wall scroll scale to SCROLL_SHIFT UDMF special 502 now must scale arg 2 and 3 in the same scale space as line length scrolling in binary format. This is to ensure compatibility with the binary format. Fixes STJr/SRB2#862 Co-Authored-By: MascaraSnake <jonassauer27@gmail.com> --- src/p_setup.c | 8 ++++---- src/p_spec.c | 4 ++-- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/p_setup.c b/src/p_setup.c index ea099e13e1..89b419953d 100644 --- a/src/p_setup.c +++ b/src/p_setup.c @@ -5552,13 +5552,13 @@ static void P_ConvertBinaryLinedefTypes(void) lines[i].args[1] = 0; if (lines[i].flags & ML_NOSKEW) { - lines[i].args[2] = lines[i].dx >> (FRACBITS + SCROLL_SHIFT); - lines[i].args[3] = lines[i].dy >> (FRACBITS + SCROLL_SHIFT); + lines[i].args[2] = sides[lines[i].sidenum[0]].textureoffset >> (FRACBITS - SCROLL_SHIFT); + lines[i].args[3] = sides[lines[i].sidenum[0]].rowoffset >> (FRACBITS - SCROLL_SHIFT); } else { - lines[i].args[2] = sides[lines[i].sidenum[0]].textureoffset >> FRACBITS; - lines[i].args[3] = sides[lines[i].sidenum[0]].rowoffset >> FRACBITS; + lines[i].args[2] = lines[i].dx >> FRACBITS; + lines[i].args[3] = lines[i].dy >> FRACBITS; } lines[i].args[4] = lines[i].special - 502; lines[i].special = 502; diff --git a/src/p_spec.c b/src/p_spec.c index 69e1e3925b..c000960b51 100644 --- a/src/p_spec.c +++ b/src/p_spec.c @@ -7563,9 +7563,9 @@ static void P_SpawnScrollers(void) if (s != (INT32)i) { if (l->args[1] != TMSD_BACK) - Add_Scroller(sc_side, l->args[2] << FRACBITS, l->args[3] << FRACBITS, control, lines[s].sidenum[0], accel, 0); + Add_Scroller(sc_side, l->args[2] << (FRACBITS - SCROLL_SHIFT), l->args[3] << (FRACBITS - SCROLL_SHIFT), control, lines[s].sidenum[0], accel, 0); if (l->args[1] != TMSD_FRONT && lines[s].sidenum[1] != 0xffff) - Add_Scroller(sc_side, l->args[2] << FRACBITS, l->args[3] << FRACBITS, control, lines[s].sidenum[1], accel, 0); + Add_Scroller(sc_side, l->args[2] << (FRACBITS - SCROLL_SHIFT), l->args[3] << (FRACBITS - SCROLL_SHIFT), control, lines[s].sidenum[1], accel, 0); } break; } -- GitLab