161 std::array<float, 3>
value)
noexcept
165 if (
length <= 0.00001F)
return {};
175 (
globalState.tokenAnimationStackActive ? 0.07F : 0.08F);
177 (
globalState.tokenAnimationStackActive ? 0.05F : 0.08F);
183 std::array<float, 3> direction{
184 start[0] - end[0], start[1] - end[1], start[2] - end[2]};
213 if (numberOfTicks == 0)
return;
243 static_cast<std::uint8_t
>(
globalState.desiredBoardCamera);
246 globalState.demoTicksPerMove =
static_cast<std::uint32_t
>(
248 (
static_cast<float>(std::rand() % 800 + 600) / 1000.0F));
251 globalState.demoWaitTicks +=
static_cast<std::uint32_t
>(numberOfTicks);
254 const auto startIndex =
255 static_cast<std::uint8_t
>(
globalState.demoStartCamera);
264 globalState.demoCameraIndex =
static_cast<std::uint8_t
>(
438 bool lightingOn,
bool board3DOn)
noexcept
473 static std::uint8_t
topView = 0;
476 const auto current =
globalState.desiredBoardCamera;
478 BoardCameraView
desired = current;
482 desired =
static_cast<BoardCameraView
>(
483 (
currentIndex + 1) %
static_cast<int>(BoardCameraView::Count));
503 if (
desired == BoardCameraView::CornerJail)
522 if (action >= 2 &&
globalState.bssmCameraState == 0)
return;
545 switch (message.
type)
574 return static_cast<std::int32_t
>(std::clamp<std::int64_t>(
value,
575 std::numeric_limits<std::int32_t>::min(),
576 std::numeric_limits<std::int32_t>::max()));
const engine::World3DCamera & preset(pieces::BoardCameraView view) noexcept
void processBoardInput(const uimsg::Message &message)
void applyMusicOption(bool musicOn) noexcept
void applyRuntimeOptions(bool tokenAnimationsOn, bool cameraMovementOn, bool lightingOn, bool board3DOn) noexcept
engine::World3DRect worldViewport(Viewport3D viewport) noexcept
void releaseDiceCameraOverride()
void applyHostCommentsOption(bool enabled) noexcept
constexpr bool isBoardVisible(Screen2D screen) noexcept
void requestBssmCamera(std::int32_t square, std::uint8_t action) noexcept
void noteBoardActivity() noexcept
void endDiceCameraOverrideEarly()
void beginDiceCameraOverride(std::optional< std::uint8_t > randomFourteen)
void setTokenAnimationStackActive(bool active) noexcept
void setBackdrop(Screen2D screen)
const State & stateReadOnly()
void cycleIBarCamera(std::int32_t currentSquare, bool sequential) noexcept
void cancelDiceCameraOverride()
void tickActions(std::uint64_t numberOfTicks)
void applyTokenVoicesOption(bool enabled) noexcept
void applyMusicTune(std::uint8_t tuneIndex) noexcept
void tickActions(std::uint64_t numberOfTicks)
BoardCameraView pickCameraFor3Squares(std::int32_t square) noexcept
BoardCameraView pickCameraFor15Squares(std::int32_t square) noexcept
constexpr std::int64_t MouseModifierControl
std::array< float, 3 > location