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