-
Notifications
You must be signed in to change notification settings - Fork 3
/
CKComponent.h
105 lines (93 loc) · 2.6 KB
/
CKComponent.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
#pragma once
#include "KObject.h"
#include <array>
#include "vecmat.h"
#include "CKUtils.h"
struct CKSceneNode;
struct CKSoundDictionaryID;
struct CKComponent : CKCategory<6> {
};
using CKReflectableComponent = CKMemberReflectable<CKComponent>;
struct CKCrateCpnt : CKMRSubclass<CKCrateCpnt, CKReflectableComponent, 5> {
struct CameraQuakeDatas { // TODO: Move to own class CKCameraQuakeDatas
std::vector<float> data1, data2;
float fnFloat;
};
kobjref<CKObject> group;
kobjref<CKSceneNode> particleNode;
kobjref<CKObject> soundIds;
kobjref<CKObject> projectiles;
kobjref<CKSceneNode> crateNode;
// -- XXL2+: --
std::array<CameraQuakeDatas, 2> x2CamQuakeDatas;
float x2UnkFlt;
// ----
std::array<float, 6> unk1;
uint8_t unk7;
std::array<float, 56 * 2> pack1;
std::array<float, 56> pack2;
std::array<int, 4> bonuses;
uint16_t unk8;
uint8_t unk9;
void deserialize(KEnvironment* kenv, File *file, size_t length) override;
void serialize(KEnvironment* kenv, File *file) override;
void reflectMembers2(MemberListener& r, KEnvironment* kenv);
};
struct CKEnemyCpnt : CKMRSubclass<CKEnemyCpnt, CKMemberReflectable<CKComponent>, 6> {
// Some names proposed by Spork
uint32_t flags = 0x3007ea9;
uint8_t health = 3, damage = 1;
float unk1 = 0.3f;
float walkAnimSpeed = 7.0f;
float coverAnimSpeed = 2.7f;
float speed1 = 12.0f;
float runSpeed1 = 9.0f;
float speed2 = 2.5f;
float speed3 = 24.0f;
float runSpeed2 = 12.0f;
float speed4 = 8.0f;
float speed5 = 6.283185f;
float unkf1 = 3.14f;
float unkf2 = 6.28f;
float unkf3 = 0.05f;
float coverRange = 0.5f;
float unkf5 = 0.392699f;
float attackCooldown = 2.0f;
float unkf7 = 3.0f;
float unkf8 = 2.0f;
float unkf9 = 1.0f;
float targeting = 1.0f;
float unkLast = 1.0f;
// New Romaster Values:
uint8_t ecRoma1 = 3;
uint8_t ecRoma2 = 1;
float ecRoma3 = 0.1f;
float ecRoma4 = 0.0f;
float ecRoma5 = 0.1f;
float ecRoma6 = 0.0f;
uint8_t ecRoma7 = 8;
void reflectMembers2(MemberListener &r, KEnvironment *kenv);
};
struct CKShadowCpnt : CKMRSubclass<CKShadowCpnt, CKMemberReflectable<CKComponent>, 18> {
std::array<float, 9> scpValues;
std::array<uint8_t, 4> scpBytes;
void reflectMembers2(MemberListener& r, KEnvironment* kenv);
};
struct CKBonusCpnt : CKMRSubclass<CKBonusCpnt, CKReflectableComponent, 22> {
float ckbcUnk0;
kobjref<CKSoundDictionaryID> ckbcUnk1;
float ckbcUnk2;
float ckbcUnk3;
float ckbcUnk4;
float ckbcUnk5;
float ckbcUnk6;
float ckbcUnk7;
float ckbcUnk8;
float ckbcUnk9;
float ckbcUnk10;
float ckbcUnk11;
float ckbcUnk12;
float ckbcUnk13;
uint8_t ckbcUnk14;
void reflectMembers2(MemberListener& r, KEnvironment* kenv);
};