Mario Kart 64
Loading...
Searching...
No Matches
Snowman.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 "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
20class OSnowman : public OObject {
21public:
22 // This is simply a helper function to keep Spawning code clean
23 static inline OSnowman* Spawn(FVector pos) {
24 SpawnParams params = {
25 .Name = "mk:snowman",
26 .Location = FVector(pos.x, pos.y, pos.z),
27 };
28 return static_cast<OSnowman*>(gWorldInstance.AddObject(new OSnowman(params)));
29 }
30
31 explicit OSnowman(const SpawnParams& params);
32
34 _count--;
35 }
36
37 static size_t GetCount() {
38 return _count;
39 }
40
41 virtual void Tick() override;
42 virtual void Draw(s32 cameraId) override;
43 virtual void Translate(FVector pos) override;
44
45 void DrawHead(s32);
46 void DrawBody(s32);
47
48 void func_80083868(s32);
49 void func_80083948(s32);
50 void func_80083A94(s32);
51 void func_80083B0C(s32);
52 void func_80083C04(s32);
53 void func_80083BE4(s32);
54 void func_800836F0(Vec3f);
55 bool func_80073D0C(s32 objectIndex, s16* arg1, s32 arg2, s32 arg3, s32 arg4, s32 arg5, s32 arg6);
56 void func_80083538(s32 objectIndex, Vec3f arg1, s32 arg2, s32 arg3);
57 void func_8008379C(s32 objectIndex);
58
59private:
61 static size_t _count;
62 size_t _idx;
65};
World gWorldInstance
Definition Game.cpp:74
OObject()
Definition Object.cpp:13
s32 _headIndex
Definition Snowman.h:63
void func_80083BE4(s32)
Definition Snowman.cpp:239
void func_80083948(s32)
Definition Snowman.cpp:277
void func_80083538(s32 objectIndex, Vec3f arg1, s32 arg2, s32 arg3)
Definition Snowman.cpp:378
void func_800836F0(Vec3f)
Definition Snowman.cpp:105
size_t _idx
Definition Snowman.h:62
virtual void Draw(s32 cameraId) override
Definition Snowman.cpp:99
static OSnowman * Spawn(FVector pos)
Definition Snowman.h:23
s32 _bodyIndex
Definition Snowman.h:64
void func_80083C04(s32)
Definition Snowman.cpp:199
void func_8008379C(s32 objectIndex)
Definition Snowman.cpp:400
void DrawHead(s32)
Definition Snowman.cpp:118
void func_80083868(s32)
Definition Snowman.cpp:258
virtual void Translate(FVector pos) override
Definition Snowman.cpp:353
FVector Pos
Definition Snowman.h:60
bool func_80073D0C(s32 objectIndex, s16 *arg1, s32 arg2, s32 arg3, s32 arg4, s32 arg5, s32 arg6)
Definition Snowman.cpp:310
void DrawBody(s32)
Definition Snowman.cpp:161
void func_80083B0C(s32)
Definition Snowman.cpp:337
static size_t GetCount()
Definition Snowman.h:37
void func_80083A94(s32)
Definition Snowman.cpp:314
static size_t _count
Definition Snowman.h:61
virtual void Tick() override
Definition Snowman.cpp:51
OSnowman(const SpawnParams &params)
Definition Snowman.cpp:21
~OSnowman()
Definition Snowman.h:33
f32 Vec3f[3]
Definition common_structs.h:10
Definition CoreMath.h:30
float x
Definition CoreMath.h:31
float z
Definition CoreMath.h:31
float y
Definition CoreMath.h:31
Definition SpawnParams.h:30