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);
44
46 _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 DrawModel(s32 cameraId);
55
56 void init_ktb_crab(s32 objectIndex);
57 void func_80082B34(s32 objectIndex);
58 void func_80082C30(s32 objectIndex);
59 void func_80082E18(s32 objectIndex);
60
61private:
64 static size_t _count;
65 s32 _idx;
66};
World gWorldInstance
Definition Game.cpp:74
void DrawModel(s32 cameraId)
Definition Crab.cpp:92
void func_80082B34(s32 objectIndex)
Definition Crab.cpp:135
~OCrab()
Definition Crab.h:45
static size_t _count
Definition Crab.h:64
virtual void Draw(s32 cameraId) override
Definition Crab.cpp:73
OCrab(const SpawnParams &params)
Definition Crab.cpp:31
void init_ktb_crab(s32 objectIndex)
Definition Crab.cpp:117
virtual void Tick() override
Definition Crab.cpp:56
FVector2D _end
Definition Crab.h:63
static OCrab * Spawn(const FVector2D &start, const FVector2D &end)
Definition Crab.h:34
s32 _idx
Definition Crab.h:65
virtual void SetSpawnParams(SpawnParams &params) override
Definition Crab.cpp:50
void func_80082E18(s32 objectIndex)
Definition Crab.cpp:196
void func_80082C30(s32 objectIndex)
Definition Crab.cpp:154
virtual void DrawEditorProperties() override
Definition Crab.cpp:202
FVector2D _start
Definition Crab.h:62
OObject()
Definition Object.cpp:13
Definition CoreMath.h:98
Definition SpawnParams.h:30