SMG-Decomp
A decompilation of Super Mario Galaxy 1
Loading...
Searching...
No Matches
include
Game
LiveActor
IKJointCtrl.hpp
1
#pragma once
2
3
#include "Game/Util/IKJoint.hpp"
4
#include "Game/Util/JointController.hpp"
5
#include "JSystem/JGeometry/TMatrix.hpp"
6
#include "Inline.hpp"
7
8
class
LiveActor
;
9
10
struct
IKJointCtrlParam
{
11
const
char
* mName;
// _0
12
f32 mNearLimitRate;
// _4
13
f32 mFarLimitRate;
// _8
14
f32 mEndDirMaxDegree;
// _C
15
f32 mEndLocalDirX;
// _10
16
f32 mEndLocalDirY;
// _14
17
f32 mEndLocalDirZ;
// _18
18
};
19
20
class
IKJointCtrl
{
21
public
:
22
IKJointCtrl
(
LiveActor
*);
23
24
void
init(
const
IKJointCtrlParam
&);
25
void
setEndPosition(
const
TVec3f &, f32);
26
void
setEndDirection(
const
TVec3f &, f32);
27
void
endCtrl();
28
void
setCallBackFunction();
29
bool
updateRootJointCallBack(TPos3f *,
const
JointControllerInfo
&);
30
bool
updateMiddleJointCallBack(TPos3f *,
const
JointControllerInfo
&);
31
32
void
disableCallBack();
33
void
enableCallBack();
34
35
const
char
* mName;
// _0
36
TMtx34f _4;
37
TMtx34f _34;
38
LiveActor
* mActor;
// _64
39
IKJoint
* mJoint;
// _68
40
JointControlDelegator<IKJointCtrl>
* mRootCtrl;
// _6C
41
JointControlDelegator<IKJointCtrl>
* mMiddleCtrl;
// _70
42
JointControlDelegator<IKJointCtrl>
* mEndCtrl;
// _74
43
TVec3f _78;
44
TVec3f mEndLocalDir;
// _84
45
f32 _90;
46
f32 _94;
47
f32 _98;
48
f32 mNearLimitRate;
// _9C
49
f32 mFarLimitRate;
// _A0
50
f32 mEndDirMaxDegree;
// _A4
51
f32 _A8;
52
f32 _AC;
53
u16 _B0;
54
u16 _B2;
55
u16 _B4;
56
u8 _B6;
57
};
58
59
class
IKJointCtrlHolder
{
60
public
:
61
IKJointCtrlHolder
(
LiveActor
*, u32);
62
63
void
addCtrl(
const
IKJointCtrlParam
&);
64
65
void
setEndPosition(
const
char
*,
const
TVec3f &, f32);
66
void
setEndDirection(
const
char
*,
const
TVec3f &, f32);
67
68
void
startUpdate();
69
70
void
endUpdate();
71
void
endCtrlAll();
72
void
setCallBackFunction();
73
IKJointCtrl
* findIKJointCtrl(
const
char
*);
74
75
IKJointCtrl
** mControls;
// _0
76
s32 mNumControls;
// _4
77
s32 _8;
78
LiveActor
* mActor;
// _C
79
u8 _10;
80
};
81
82
class
ActorJoint
{
83
public
:
84
static
IKJointCtrlHolder
* createIKJointCtrlHolder(
LiveActor
*);
85
};
ActorJoint
Definition
IKJointCtrl.hpp:82
IKJointCtrlHolder
Definition
IKJointCtrl.hpp:59
IKJointCtrl
Definition
IKJointCtrl.hpp:20
IKJoint
Definition
IKJoint.hpp:5
JointControlDelegator
Definition
JointController.hpp:32
LiveActor
The basis of a drawable actor that can contain states (see: Nerve)
Definition
LiveActor.hpp:24
IKJointCtrlParam
Definition
IKJointCtrl.hpp:10
JointControllerInfo
Definition
JointController.hpp:10
Generated by
1.10.0