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 "engine/World.h"
8
9extern "C" {
10#include "macros.h"
11#include "main.h"
12#include "vehicles.h"
13#include "waypoints.h"
14#include "common_structs.h"
15#include "objects.h"
16#include "camera.h"
17#include "some_data.h"
18}
19
25class OHedgehog : public OObject {
26public:
27 explicit OHedgehog(const SpawnParams& params);
28
29 // This is simply a helper function to keep Spawning code clean
30 static inline OHedgehog* Spawn(const FVector& pos, const FVector2D& patrolPoint, s16 behaviour) {
31 SpawnParams params = {
32 .Name = "mk:hedgehog",
33 .Behaviour = behaviour, // Appears to be unused
34 .Location = pos,
35 .PatrolEnd = patrolPoint,
36 };
37 return static_cast<OHedgehog*>(gWorldInstance.AddObject(new OHedgehog(params)));
38 }
39
41 _count--;
42 }
43
44 static size_t GetCount() {
45 return _count;
46 }
47
48 virtual void Tick() override;
49 virtual void Draw(s32 cameraId) override;
50 virtual void SetSpawnParams(SpawnParams& params) override;
51 virtual void DrawEditorProperties() override;
52
53 void func_800555BC(s32 objectIndex, s32 cameraId);
54 void func_8004A870(s32 objectIndex, f32 arg1);
55
56 void func_8008311C(s32 objectIndex, s32 arg1);
57 void func_80083248(s32 objectIndex);
58 void func_800833D0(s32 objectIndex, s32 arg1);
59 void func_80083474(s32 objectIndex);
60
61
62private:
64 static size_t _count;
65 size_t _idx;
66};
World gWorldInstance
Definition Game.cpp:74
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:44
FVector2D PatrolEnd
Definition Hedgehog.h:63
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:40
virtual void Tick() override
Definition Hedgehog.cpp:46
static OHedgehog * Spawn(const FVector &pos, const FVector2D &patrolPoint, s16 behaviour)
Definition Hedgehog.h:30
static size_t _count
Definition Hedgehog.h:64
size_t _idx
Definition Hedgehog.h:65
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