Mario Kart 64
Loading...
Searching...
No Matches
Actor.h
Go to the documentation of this file.
1#pragma once
2
3#include <libultraship.h>
6
7extern "C" {
8#include "macros.h"
9#include "main.h"
10#include "camera.h"
11#include "common_structs.h"
12
13class AActor {
14public:
15 /* 0x00 */ s16 Type = 0;
16 /* 0x02 */ s16 Flags;
17 /* 0x04 */ s16 Unk_04;
18 /* 0x06 */ s16 State;
19 /* 0x08 */ f32 Unk_08;
20 /* 0x0C */ f32 BoundingBoxSize;
21 /* 0x10 */ Vec3s Rot = {0, 0, 0};
22 /* 0x16 */ s16 Unk_16;
23 /* 0x18 */ Vec3f Pos;
24 /* 0x24 */ Vec3f Velocity = {0, 0, 0};
25 /* 0x30 */ Collision Unk30;
26 /* 0x */ const char* Model = "";
27 uint8_t uuid[16];
28 const char* Name = "";
29 const char* ResourceName = "";
30 FVector SpawnPos = {0.0f, 0.0f, 0.0f};
31 IRotator SpawnRot = {0, 0, 0};
32 FVector SpawnScale = {1.0f, 1.0f, 1.0f};
33
34 FVector Scale = {1, 1, 1};
35 float Speed = 0.0f;
36 std::vector<Triangle> Triangles;
37
38 bool bPendingDestroy = false;
39
40 virtual ~AActor() = default; // Virtual destructor for proper cleanup in derived classes
41
42 explicit AActor();
43 explicit AActor(SpawnParams params);
44
52 virtual void SetSpawnParams(SpawnParams& params);
53 virtual void BeginPlay();
54 virtual void Tick();
55 virtual void Draw(Camera*);
56 virtual void Collision(Player* player, AActor* actor);
57 virtual void VehicleCollision(s32 playerId, Player* player);
58 void SetLocation(FVector pos);
59
60 virtual void Destroy();
61 virtual bool IsMod();
62
64 FVector GetLocation() const;
65 IRotator GetRotation() const;
66 FVector GetScale() const;
67 void Translate(FVector pos);
68 void Rotate(IRotator rot);
69 void SetScale(FVector scale);
71};
72
73}
void DrawDefaultEditorProperties()
Definition DefaultProperties.cpp:5
virtual void Tick()
Definition Actor.cpp:35
f32 Unk_08
Definition Actor.h:19
void SetScale(FVector scale)
Definition Actor.cpp:96
void SetLocation(FVector pos)
Definition Actor.cpp:55
s16 State
Definition Actor.h:18
virtual void VehicleCollision(s32 playerId, Player *player)
Definition Actor.cpp:50
const char * Model
Definition Actor.h:26
Collision Unk30
Definition Actor.h:25
void Rotate(IRotator rot)
Definition Actor.cpp:89
AActor()
Definition Actor.cpp:13
bool bPendingDestroy
Definition Actor.h:38
FVector SpawnPos
Definition Actor.h:30
s16 Unk_16
Definition Actor.h:22
virtual void Draw(Camera *)
Definition Actor.cpp:36
FVector SpawnScale
Definition Actor.h:32
virtual ~AActor()=default
const char * ResourceName
Definition Actor.h:29
virtual void BeginPlay()
Definition Actor.cpp:22
s16 Flags
Definition Actor.h:16
float Speed
Definition Actor.h:35
Vec3f Velocity
Definition Actor.h:24
virtual void DrawEditorProperties()
Definition Actor.h:70
virtual void SetSpawnParams(SpawnParams &params)
Definition Actor.cpp:74
FVector Scale
Definition Actor.h:34
IRotator SpawnRot
Definition Actor.h:31
FVector GetLocation() const
Definition Actor.cpp:60
IRotator GetRotation() const
Definition Actor.cpp:64
s16 Type
Definition Actor.h:15
Vec3f Pos
Definition Actor.h:23
virtual void Destroy()
Definition Actor.cpp:51
uint8_t uuid[16]
Definition Actor.h:27
const char * Name
Definition Actor.h:28
void Translate(FVector pos)
Definition Actor.cpp:82
f32 BoundingBoxSize
Definition Actor.h:20
std::vector< Triangle > Triangles
Definition Actor.h:36
virtual void Collision(Player *player, AActor *actor)
Definition Actor.cpp:49
Vec3s Rot
Definition Actor.h:21
virtual bool IsMod()
Definition Actor.cpp:54
FVector GetScale() const
Definition Actor.cpp:70
s16 Unk_04
Definition Actor.h:17
f32 Vec3f[3]
Definition common_structs.h:10
s16 Vec3s[3]
Definition common_structs.h:15
Definition camera.h:27
Definition CoreMath.h:30
Definition CoreMath.h:137
Definition common_structs.h:264
Definition SpawnParams.h:30