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 "engine/CoreMath.h"
7
8#include "World.h"
9
10extern "C" {
11#include "macros.h"
12#include "main.h"
13#include "common_structs.h"
14#include "objects.h"
15#include "course_offsets.h"
16#include "some_data.h"
17}
18
19
20class OCheepCheep : public OObject {
21public:
22 enum class Behaviour : int16_t {
25 };
26
27 // This is simply a helper function to keep Spawning code clean
28 static inline OCheepCheep* Spawn(const FVector& pos, Behaviour behaviour, IPathSpan span) {
29 SpawnParams params = {
30 .Name = "mk:cheep_cheep",
31 .Behaviour = static_cast<int16_t>(behaviour),
32 .Location = pos,
33 .PathSpan = span,
34 };
35 return static_cast<OCheepCheep*>(gWorldInstance.AddObject(new OCheepCheep(params)));
36 }
37
38 explicit OCheepCheep(const SpawnParams& params);
39
40 IPathSpan ActivationPoints; // Path points activation points
41
42 virtual void SetSpawnParams(SpawnParams& params) override;
43 virtual void Tick() override;
44 virtual void Draw(s32 cameraId) override;
45 virtual void DrawEditorProperties() override;
46 void func_8007BBBC(s32 objectIndex);
47 void func_8007BD04(s32 playerId);
48 void init_var_cheep_cheep(s32 objectIndex);
49 void func_8007BEC8(s32 objectIndex);
50 void func_8007BFB0(s32 objectIndex);
51
52private:
53
54 s32 _idx;
56};
World gWorldInstance
Definition Game.cpp:74
static OCheepCheep * Spawn(const FVector &pos, Behaviour behaviour, IPathSpan span)
Definition CheepCheep.h:28
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:22
@ PODIUM_CEREMONY
Definition CheepCheep.h:24
@ RACE
Definition CheepCheep.h:23
void func_8007BFB0(s32 objectIndex)
Definition CheepCheep.cpp:184
void func_8007BD04(s32 playerId)
Definition CheepCheep.cpp:120
s32 _idx
Definition CheepCheep.h:54
void init_var_cheep_cheep(s32 objectIndex)
Definition CheepCheep.cpp:135
Behaviour _behaviour
Definition CheepCheep.h:55
virtual void SetSpawnParams(SpawnParams &params) override
Definition CheepCheep.cpp:28
virtual void DrawEditorProperties() override
Definition CheepCheep.cpp:255
IPathSpan ActivationPoints
Definition CheepCheep.h:40
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