3#include "game/field/obj/ObjectCollidable.hh"
9class ObjectDossunTsuibi;
21 void calcModel()
override {}
24 [[nodiscard]] u32 loadFlags()
const override {
29 void loadGraphics()
override {}
32 void createCollision()
override {}
36 m_railInterpolator->setCurrVel(m_vel);
42 if (--m_stillTimer == 0) {
49 void calcStartStomp();
54 void calcStillRotating() {
59 void calcForwardRail();
60 void calcForwardOscillation();
63 void updateRot(f32 rot);
74 std::array<ObjectDossunTsuibi *, 2> m_dossuns;
83 bool m_facingBackwards;
98 static constexpr f32 DOSSUN_POS_OFFSET = 500.0f;
The manager class for the pair of Thwomps in the long hallway on rBC.
f32 m_lastStompZ
Z-position of the last stomp.
@ StartStomp
One frame in which the holder activates the Thwomp stomp.
@ Forward
Moving forward down the hallway.
@ Backward
Moving backwards up the hallway.
@ SillRotating
Returned back to home, but rotating to face hallway.
const f32 m_forwardVel
Rail velocity.
const u32 m_stillDuration
How long Thwomps remain at their home for.
static constexpr u32 HOME_RESET_FRAMES
How long Thwomps take to reset after returning to home.
u32 m_flipSideways
Inverts which direction the thwomps move along the z-axis.
f32 m_resetZVel
Speed required to move from m_lastStompZ to the home's Z in 36 frames.
bool m_movingSideways
Whether the Thwomps should move along the z-axis.
f32 m_resetAngVel
Rotational speed of Thwomps after returning home.