Mario Kart 64
Loading...
Searching...
No Matches
Crab.h
Go to the documentation of this file.
1#pragma once
2
3#include <libultraship.h>
4#include <vector>
6#include "CoreMath.h"
7#include "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 "course_offsets.h"
17#include "some_data.h"
18}
19
31class OCrab : public OObject {
32public:
33 // This is simply a helper function to keep Spawning code clean
34 static inline OCrab* Spawn(const FVector2D& start, const FVector2D& end) {
35 SpawnParams params = {
36 .Name = "mk:crab",
37 .PatrolStart = start,
38 .PatrolEnd = end,
39 };
40 return static_cast<OCrab*>(gWorldInstance.AddObject(new OCrab(params)));
41 }
42
43 explicit OCrab(const SpawnParams& params);
45 _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 DrawModel(s32 cameraId);
54
55 void init_ktb_crab(s32 objectIndex);
56 void func_80082B34(s32 objectIndex);
57 void func_80082C30(s32 objectIndex);
58 void func_80082E18(s32 objectIndex);
59
60private:
63 static size_t _count;
64 s32 _idx;
65};
World gWorldInstance
Definition Game.cpp:77
void DrawModel(s32 cameraId)
Definition Crab.cpp:90
void func_80082B34(s32 objectIndex)
Definition Crab.cpp:133
~OCrab()
Definition Crab.h:44
static size_t _count
Definition Crab.h:63
virtual void Draw(s32 cameraId) override
Definition Crab.cpp:71
OCrab(const SpawnParams &params)
Definition Crab.cpp:29
void init_ktb_crab(s32 objectIndex)
Definition Crab.cpp:115
virtual void Tick() override
Definition Crab.cpp:54
FVector2D _end
Definition Crab.h:62
static OCrab * Spawn(const FVector2D &start, const FVector2D &end)
Definition Crab.h:34
s32 _idx
Definition Crab.h:64
virtual void SetSpawnParams(SpawnParams &params) override
Definition Crab.cpp:48
void func_80082E18(s32 objectIndex)
Definition Crab.cpp:194
void func_80082C30(s32 objectIndex)
Definition Crab.cpp:152
virtual void DrawEditorProperties() override
Definition Crab.cpp:200
FVector2D _start
Definition Crab.h:61
OObject()
Definition Object.cpp:13
Definition CoreMath.h:98
Definition SpawnParams.h:30