Support kart binary setup for zoomtubes

This commit is contained in:
NepDisk 2024-10-21 17:22:06 -04:00
parent 509fda70d5
commit 3c4e47d6a9
3 changed files with 14 additions and 13 deletions

View file

@ -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

View file

@ -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)

View file

@ -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