SMG-Decomp
A decompilation of Super Mario Galaxy 1
Loading...
Searching...
No Matches
include
Game
Util
BaseMatrixFollowTargetHolder.hpp
1
#pragma once
2
3
#include "Game/NameObj/NameObj.hpp"
4
#include "Game/LiveActor/LiveActor.hpp"
5
#include "Game/Util.hpp"
6
#include "JSystem/JGeometry.hpp"
7
8
class
BaseMatrixFollowValidater
{
9
public
:
10
virtual
bool
isValid(s32)
const
= 0;
11
};
12
13
class
BaseMatrixFollowTarget
{
14
public
:
15
BaseMatrixFollowTarget
(
const
JMapLinkInfo
*);
16
17
void
set(
LiveActor
*,
const
TPos3f &,
const
TPos3f *,
BaseMatrixFollowValidater
*);
18
const
MtxPtr getHostBaseMtx()
const
;
19
bool
isValid(s32)
const
;
20
21
TMtx34f _0;
22
const
TPos3f* _30;
23
LiveActor
* mActor;
// _34
24
const
JMapLinkInfo
* mLinkInfo;
// _38
25
BaseMatrixFollowValidater
* mValidater;
// _3C
26
};
27
28
class
BaseMatrixFollower
{
29
public
:
30
BaseMatrixFollower
(
NameObj
*,
const
JMapInfoIter
&);
31
32
virtual
void
setGravityFollowHost(
const
NameObj
*) {
33
34
}
35
36
virtual
void
update();
37
38
NameObj
* getFollowTargetActor()
const
;
39
void
calcFollowMatrix(TPos3f *)
const
;
40
bool
isEnableFollow()
const
;
41
bool
isValid()
const
;
42
43
JMapLinkInfo
* mLinkInfo;
// _4
44
NameObj
* mFollowerObj;
// _8
45
BaseMatrixFollowTarget
* mFollowTarget;
// _C
46
s32 mFollowID;
// _10
47
};
48
49
class
BaseMatrixFollowTargetHolder
:
public
NameObj
{
50
public
:
51
BaseMatrixFollowTargetHolder
(
const
char
*, s32, s32);
52
53
virtual
~BaseMatrixFollowTargetHolder
();
54
55
virtual
void
initAfterPlacement();
56
virtual
void
movement();
57
58
MR::Vector<MR::AssignableArray<BaseMatrixFollower*>
> mFollowers;
// _C
59
MR::Vector<MR::AssignableArray<BaseMatrixFollowTarget*>
> mTargets;
// _18
60
};
61
62
namespace
MR {
63
bool
isValidFollowID(
const
JMapInfoIter
&);
64
void
addBaseMatrixFollower(
BaseMatrixFollower
*);
65
void
addBaseMatrixFollowTarget(
LiveActor
*,
const
JMapInfoIter
&,
const
TPos3f *,
BaseMatrixFollowValidater
*);
66
};
BaseMatrixFollowTargetHolder
Definition
BaseMatrixFollowTargetHolder.hpp:49
BaseMatrixFollowTarget
Definition
BaseMatrixFollowTargetHolder.hpp:13
BaseMatrixFollowValidater
Definition
BaseMatrixFollowTargetHolder.hpp:8
BaseMatrixFollower
Definition
BaseMatrixFollowTargetHolder.hpp:28
JMapInfoIter
Definition
JMapInfo.hpp:16
JMapLinkInfo
Definition
JMapLinkInfo.hpp:19
LiveActor
The basis of a drawable actor that can contain states (see: Nerve)
Definition
LiveActor.hpp:24
MR::Vector
Definition
Array.hpp:68
NameObj
The most basic form of an object.
Definition
NameObj.hpp:11
Generated by
1.10.0