1#include "ObjectBelt.hh"
3#include "game/field/CollisionDirector.hh"
5#include "game/system/RaceManager.hh"
11 : ObjectDrivable(params), m_roadVel(32.0f) {}
14ObjectBelt::~ObjectBelt() =
default;
18 KCLTypeMask , CollisionInfo *info, KCLTypeMask *maskOut,
u32 timeOffset) {
23 auto *colDir = CollisionDirector::Instance();
28 const auto *entry = colDir->closestCollisionEntry();
33 if (entry->dist > info->movingFloorDist) {
34 info->movingFloorDist = entry->dist;
35 info->roadVelocity = calcRoadVelocity(
KCL_VARIANT_TYPE(entry->attribute), v0,
36 System::RaceManager::Instance()->timer() - timeOffset);
@ COL_TYPE_MOVING_ROAD
TF conveyers and CM escalators.
#define KCL_VARIANT_TYPE(x)
Extracts the "Variant" portion of the 2 byte KCL flag. It's the 3 bits before the "Bast Type".