Mario Kart 64
Loading...
Searching...
No Matches
Hedgehog.h
Go to the documentation of this file.
1#pragma once
2
3#include <libultraship.h>
4#include <vector>
5#include "Object.h"
6
7#include "RegisterContent.h"
8#include "engine/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
26class OHedgehog : public OObject {
27public:
28 explicit OHedgehog(const SpawnParams& params);
29
30 // This is simply a helper function to keep Spawning code clean
31 static inline OHedgehog* Spawn(const FVector& pos, const FVector2D& patrolPoint, s16 behaviour) {
32 SpawnParams params = {
33 .Name = "mk:hedgehog",
34 .Behaviour = behaviour, // Appears to be unused
35 .Location = pos,
36 .PatrolEnd = patrolPoint,
37 };
38 return static_cast<OHedgehog*>(AddObjectToWorld<OHedgehog>(params));
39 }
40
42 _count--;
43 }
44
45 static size_t GetCount() {
46 return _count;
47 }
48
49 virtual void Tick() override;
50 virtual void Draw(s32 cameraId) override;
51 virtual void SetSpawnParams(SpawnParams& params) override;
52 virtual void DrawEditorProperties() override;
53
54 void func_800555BC(s32 objectIndex, s32 cameraId);
55 void func_8004A870(s32 objectIndex, f32 arg1);
56
57 void func_8008311C(s32 objectIndex, s32 arg1);
58 void func_80083248(s32 objectIndex);
59 void func_800833D0(s32 objectIndex, s32 arg1);
60 void func_80083474(s32 objectIndex);
61
62
63private:
65 static size_t _count;
66 size_t _idx;
67};
static OObject * AddObjectToWorld(const SpawnParams &params)
Definition RegisterContent.h:9
void func_8004A870(s32 objectIndex, f32 arg1)
Definition Hedgehog.cpp:94
virtual void SetSpawnParams(SpawnParams &params) override
Definition Hedgehog.cpp:40
static size_t GetCount()
Definition Hedgehog.h:45
FVector2D PatrolEnd
Definition Hedgehog.h:64
OHedgehog(const SpawnParams &params)
Definition Hedgehog.cpp:20
virtual void Draw(s32 cameraId) override
Definition Hedgehog.cpp:57
void func_800555BC(s32 objectIndex, s32 cameraId)
Definition Hedgehog.cpp:79
void func_80083474(s32 objectIndex)
Definition Hedgehog.cpp:198
void func_80083248(s32 objectIndex)
Definition Hedgehog.cpp:144
void func_8008311C(s32 objectIndex, s32 arg1)
Definition Hedgehog.cpp:123
~OHedgehog()
Definition Hedgehog.h:41
virtual void Tick() override
Definition Hedgehog.cpp:46
static OHedgehog * Spawn(const FVector &pos, const FVector2D &patrolPoint, s16 behaviour)
Definition Hedgehog.h:31
static size_t _count
Definition Hedgehog.h:65
size_t _idx
Definition Hedgehog.h:66
void func_800833D0(s32 objectIndex, s32 arg1)
Definition Hedgehog.cpp:178
virtual void DrawEditorProperties() override
Definition Hedgehog.cpp:204
OObject()
Definition Object.cpp:13
Definition CoreMath.h:98
Definition CoreMath.h:30
Definition SpawnParams.h:30