SpaghettiKart
Loading...
Searching...
No Matches
Snowman.h
Go to the documentation of this file.
1#pragma once
2
3#include <libultraship.h>
4#include "Object.h"
5
7#include "World.h"
8
9extern "C" {
10#include "common_structs.h"
11}
12
13class OSnowman : public OObject {
14public:
15 // This is simply a helper function to keep Spawning code clean
16 static OSnowman* Spawn(FVector pos) {
17 SpawnParams params = {
18 .Name = "mk:snowman",
19 .Location = FVector(pos.x, pos.y, pos.z),
20 };
21 return dynamic_cast<OSnowman*>(AddObjectToWorld<OSnowman>(params));
22 }
23
24 explicit OSnowman(const SpawnParams& params);
25
27 _count--;
28 }
29
30 static size_t GetCount() {
31 return _count;
32 }
33
34 virtual void Tick() override;
35 virtual void Draw(s32 cameraId) override;
36 virtual void Translate(FVector pos) override;
37
38 void DrawHead(s32);
39 void DrawBody(s32);
40
41 void func_80083868(s32);
42 void func_80083948(s32);
43 void func_80083A94(s32);
44 void func_80083B0C(s32);
45 void func_80083C04(s32);
46 void func_80083BE4(s32);
47 void func_800836F0(Vec3f);
48 bool func_80073D0C(s32 objectIndex, s16* arg1, s32 arg2, s32 arg3, s32 arg4, s32 arg5, s32 arg6);
49 void func_80083538(s32 objectIndex, Vec3f arg1, s32 arg2, s32 arg3);
50 void func_8008379C(s32 objectIndex);
51
52private:
54 static size_t _count;
55 size_t _idx;
58};
static OObject * AddObjectToWorld(const SpawnParams &params)
Definition RegisterContent.h:10
OObject()
Definition Object.cpp:13
s32 _headIndex
Definition Snowman.h:56
void func_80083BE4(s32)
Definition Snowman.cpp:237
void func_80083948(s32)
Definition Snowman.cpp:275
void func_80083538(s32 objectIndex, Vec3f arg1, s32 arg2, s32 arg3)
Definition Snowman.cpp:376
void func_800836F0(Vec3f)
Definition Snowman.cpp:105
size_t _idx
Definition Snowman.h:55
virtual void Draw(s32 cameraId) override
Definition Snowman.cpp:99
static OSnowman * Spawn(FVector pos)
Definition Snowman.h:16
s32 _bodyIndex
Definition Snowman.h:57
void func_80083C04(s32)
Definition Snowman.cpp:197
void func_8008379C(s32 objectIndex)
Definition Snowman.cpp:398
void DrawHead(s32)
Definition Snowman.cpp:118
void func_80083868(s32)
Definition Snowman.cpp:256
virtual void Translate(FVector pos) override
Definition Snowman.cpp:351
FVector Pos
Definition Snowman.h:53
bool func_80073D0C(s32 objectIndex, s16 *arg1, s32 arg2, s32 arg3, s32 arg4, s32 arg5, s32 arg6)
Definition Snowman.cpp:308
void DrawBody(s32)
Definition Snowman.cpp:160
void func_80083B0C(s32)
Definition Snowman.cpp:335
static size_t GetCount()
Definition Snowman.h:30
void func_80083A94(s32)
Definition Snowman.cpp:312
static size_t _count
Definition Snowman.h:54
virtual void Tick() override
Definition Snowman.cpp:51
OSnowman(const SpawnParams &params)
Definition Snowman.cpp:21
~OSnowman()
Definition Snowman.h:26
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