Mario Kart 64
Loading...
Searching...
No Matches
CheepCheep.h
Go to the documentation of this file.
1#pragma once
2
3#include <libultraship.h>
4#include <vector>
5#include "Object.h"
6#include "RegisterContent.h"
7#include "engine/CoreMath.h"
8
9#include "World.h"
10
11extern "C" {
12#include "macros.h"
13#include "main.h"
14#include "common_structs.h"
15#include "objects.h"
16#include "course_offsets.h"
17#include "some_data.h"
18}
19
20
21class OCheepCheep : public OObject {
22public:
23 enum class Behaviour : int16_t {
26 };
27
28 // This is simply a helper function to keep Spawning code clean
29 static inline OCheepCheep* Spawn(const FVector& pos, Behaviour behaviour, IPathSpan span) {
30 SpawnParams params = {
31 .Name = "mk:cheep_cheep",
32 .Behaviour = static_cast<int16_t>(behaviour),
33 .Location = pos,
34 .PathSpan = span,
35 };
36 return static_cast<OCheepCheep*>(AddObjectToWorld<OCheepCheep>(params));
37 }
38
39 explicit OCheepCheep(const SpawnParams& params);
40
41 IPathSpan ActivationPoints; // Path points activation points
42
43 virtual void SetSpawnParams(SpawnParams& params) override;
44 virtual void Tick() override;
45 virtual void Draw(s32 cameraId) override;
46 virtual void DrawEditorProperties() override;
47 void func_8007BBBC(s32 objectIndex);
48 void func_8007BD04(s32 playerId);
49 void init_var_cheep_cheep(s32 objectIndex);
50 void func_8007BEC8(s32 objectIndex);
51 void func_8007BFB0(s32 objectIndex);
52
53private:
54
55 s32 _idx;
57};
static OObject * AddObjectToWorld(const SpawnParams &params)
Definition RegisterContent.h:9
static OCheepCheep * Spawn(const FVector &pos, Behaviour behaviour, IPathSpan span)
Definition CheepCheep.h:29
void func_8007BEC8(s32 objectIndex)
Definition CheepCheep.cpp:149
virtual void Draw(s32 cameraId) override
Definition CheepCheep.cpp:59
virtual void Tick() override
Definition CheepCheep.cpp:34
void func_8007BBBC(s32 objectIndex)
Definition CheepCheep.cpp:87
Behaviour
Definition CheepCheep.h:23
@ PODIUM_CEREMONY
Definition CheepCheep.h:25
@ RACE
Definition CheepCheep.h:24
void func_8007BFB0(s32 objectIndex)
Definition CheepCheep.cpp:184
void func_8007BD04(s32 playerId)
Definition CheepCheep.cpp:120
s32 _idx
Definition CheepCheep.h:55
void init_var_cheep_cheep(s32 objectIndex)
Definition CheepCheep.cpp:135
Behaviour _behaviour
Definition CheepCheep.h:56
virtual void SetSpawnParams(SpawnParams &params) override
Definition CheepCheep.cpp:28
virtual void DrawEditorProperties() override
Definition CheepCheep.cpp:255
IPathSpan ActivationPoints
Definition CheepCheep.h:41
OCheepCheep(const SpawnParams &params)
Definition CheepCheep.cpp:22
OObject()
Definition Object.cpp:13
Definition CoreMath.h:30
Definition CoreMath.h:214
Definition SpawnParams.h:30