mirror of
https://github.com/HarbourMasters/SpaghettiKart
synced 2026-07-31 08:16:27 -04:00
1f189dfa80
* Remove CProperties and delete dup Properties from World.h * Improvement * Fix compile * Cleanup * Document gRaceState * wip cleanup * compile * Impl PlayerBombKart * Rename CourseManager_ to CM_ * Finish renames m_ to CM_ * cleanup * Remove extra printf --------- Co-authored-by: MegaMech <7255464+MegaMech@users.noreply.github.com>
49 lines
1012 B
C++
49 lines
1012 B
C++
#pragma once
|
|
|
|
#include <libultraship.h>
|
|
#include "Actor.h"
|
|
#include <vector>
|
|
|
|
extern "C" {
|
|
#include "main.h"
|
|
#include "vehicles.h"
|
|
}
|
|
|
|
class ABoat : public AActor {
|
|
public:
|
|
|
|
const char* Type = "mk:boat";
|
|
size_t Index;
|
|
bool IsActive; // The paddle wheel boat only shows up if the number of players is < 3
|
|
Vec3f Position;
|
|
Vec3f Velocity;
|
|
u16 WaypointIndex;
|
|
s16 ActorIndex;
|
|
f32 Speed;
|
|
s16 RotY = 0;
|
|
s32 SomeFlags;
|
|
|
|
int32_t SmokeParticles[128];
|
|
int32_t NextParticlePtr = 0;
|
|
int16_t AnotherSmokeTimer = 0;
|
|
int16_t SmokeTimer = 0;
|
|
|
|
explicit ABoat(f32 speed, uint32_t waypoint);
|
|
|
|
~ABoat() {
|
|
_count--;
|
|
}
|
|
|
|
static size_t GetCount() {
|
|
return _count;
|
|
}
|
|
|
|
virtual void Tick() override;
|
|
virtual void Draw(Camera* camera) override;
|
|
virtual void VehicleCollision(s32 playerId, Player* player) override;
|
|
virtual s32 AddSmoke(size_t, Vec3f, f32);
|
|
virtual bool IsMod() override;
|
|
private:
|
|
static size_t _count;
|
|
|
|
}; |