diff --git a/src/p_setup.c b/src/p_setup.c index e2d0eeabb..c48faa918 100644 --- a/src/p_setup.c +++ b/src/p_setup.c @@ -4812,8 +4812,8 @@ static void P_ConvertBinaryLinedefTypes(void) lines[i].args[1] |= TMEF_EMERALDCHECK; break; case 3: //Zoom tube parameters - lines[i].args[0] = sides[lines[i].sidenum[0]].textureoffset >> FRACBITS; - lines[i].args[1] = sides[lines[i].sidenum[0]].rowoffset >> FRACBITS; + lines[i].args[0] = lines[i].dx; + lines[i].args[1] = lines[i].dy; lines[i].args[2] = !!(lines[i].flags & ML_MIDSOLID); break; case 4: //Speed pad parameters diff --git a/src/p_spec.c b/src/p_spec.c index 2a4f0fc27..5f2f117d3 100644 --- a/src/p_spec.c +++ b/src/p_spec.c @@ -4981,10 +4981,20 @@ static void P_ProcessZoomTube(player_t *player, mtag_t sectag, boolean end) } // Grab speed and sequence values - speed = abs(lines[lineindex].args[0])<<(FRACBITS-3); + if (!udmf) + { + speed = abs(lines[lineindex].args[0])/8; + sequence = abs(lines[lineindex].args[1])>>FRACBITS; + + } + else + { + speed = abs(lines[lineindex].args[0])<<(FRACBITS-3); + sequence = abs(lines[lineindex].args[1]); + } if (end) speed *= -1; - sequence = abs(lines[lineindex].args[1]); + if (speed == 0) { @@ -5010,12 +5020,6 @@ static void P_ProcessZoomTube(player_t *player, mtag_t sectag, boolean end) P_SetTarget(&player->mo->tracer, waypoint); player->carry = CR_ZOOMTUBE; player->speed = speed; - - if (player->mo->state-states != S_KART_SPINOUT) - { - P_SetPlayerMobjState(player->mo, S_KART_SPINOUT); - S_StartSound(player->mo, sfx_spin); - } } static boolean P_SectorHasSpecial(sector_t *sec) diff --git a/src/p_user.c b/src/p_user.c index 9f178c7f6..080dd8a4e 100644 --- a/src/p_user.c +++ b/src/p_user.c @@ -2443,9 +2443,6 @@ static void P_DoZoomTube(player_t *player) player->mo->angle = R_PointToAngle2(player->mo->x, player->mo->y, player->mo->tracer->x, player->mo->tracer->y); P_SetPlayerAngle(player, player->mo->angle); } - - P_SetPlayerMobjState(player->mo, S_KART_SPINOUT); - player->drawangle -= ANGLE_22h; } #if 0