SpaghettiKart
Loading...
Searching...
No Matches
Flagpole.h
Go to the documentation of this file.
1#pragma once
2
3#include <libultraship.h>
4#include <vector>
5#include "Object.h"
6
8#include "World.h"
9
10extern "C" {
11#include "macros.h"
12#include "main.h"
13#include "vehicles.h"
14#include "waypoints.h"
15#include "common_structs.h"
16#include "objects.h"
17#include "camera.h"
18#include "some_data.h"
19}
20
21// This used to use directional_angle for rot. It now uses orientation for editor compatibility.
22// There doesn't seem to be any reason this actor's behaviour would differ from this
23class OFlagpole : public OObject {
24public:
25 explicit OFlagpole(const SpawnParams& params);
26
27 // This is simply a helper function to keep Spawning code clean
28 static OFlagpole* Spawn(FVector pos, s16 direction) {
29 IRotator rot;
30 rot.Set(0, direction, 0);
31 SpawnParams params = {
32 .Name = "mk:flagpole",
33 .Location = pos,
34 .Rotation = rot,
35 };
36 return dynamic_cast<OFlagpole*>(AddObjectToWorld<OFlagpole>(params));
37 }
38
40 _count--;
41 }
42
43 static size_t GetCount() {
44 return _count;
45 }
46
47 virtual void Tick() override;
48 virtual void Draw(s32 cameraId) override;
49
50 void func_80055164(s32 cameraId, s32 objectIndex);
51 void func_80082F1C(s32 objectIndex);
52 void func_80083018(s32 objectIndex);
53 void func_80083060(s32 objectIndex);
54
55private:
56 static size_t _count;
57 size_t _idx;
58};
static OObject * AddObjectToWorld(const SpawnParams &params)
Definition RegisterContent.h:10
OFlagpole(const SpawnParams &params)
Definition Flagpole.cpp:20
void func_80083018(s32 objectIndex)
Definition Flagpole.cpp:89
void func_80083060(s32 objectIndex)
Definition Flagpole.cpp:100
size_t _idx
Definition Flagpole.h:57
static OFlagpole * Spawn(FVector pos, s16 direction)
Definition Flagpole.h:28
static size_t GetCount()
Definition Flagpole.h:43
virtual void Draw(s32 cameraId) override
Definition Flagpole.cpp:50
void func_80082F1C(s32 objectIndex)
Definition Flagpole.cpp:77
static size_t _count
Definition Flagpole.h:56
virtual void Tick() override
Definition Flagpole.cpp:41
~OFlagpole()
Definition Flagpole.h:39
void func_80055164(s32 cameraId, s32 objectIndex)
Definition Flagpole.cpp:59
OObject()
Definition Object.cpp:13
Definition CoreMath.h:30
Definition CoreMath.h:141
Definition SpawnParams.h:30