SMG-Decomp
A decompilation of Super Mario Galaxy 1
Loading...
Searching...
No Matches
include
Game
NPC
TalkMessageCtrl.hpp
1
#pragma once
2
3
#include "Game/LiveActor/LiveActor.hpp"
4
#include "Game/NPC/TalkMessageFunc.hpp"
5
6
class
TalkNodeCtrl
;
7
class
ActorCameraInfo
;
8
9
class
CustomTagArg
{
10
public
:
11
inline
CustomTagArg
(
int
a1, u32 a2) : mIntArg(a1), _4(a2) { }
12
inline
CustomTagArg
(
const
wchar_t
*a1, u32 a2) : mCharArg(a1), _4(a2) { }
13
14
inline
void
operator=(
const
CustomTagArg
&rhs) {
15
mCharArg = rhs.mCharArg;
16
_4 = rhs._4;
17
}
18
19
union
{
20
int
mIntArg;
21
const
wchar_t
* mCharArg;
22
};
23
24
u32 _4;
25
};
26
27
28
class
TalkMessageCtrl
:
public
NameObj
{
29
public
:
30
TalkMessageCtrl
(
LiveActor
*,
const
TVec3f &, MtxPtr);
31
32
virtual
~TalkMessageCtrl
();
33
34
void
createMessage(
const
JMapInfoIter
&,
const
char
*);
35
void
createMessageDirect(
const
JMapInfoIter
&,
const
char
*);
36
u32 getMessageID()
const
;
37
bool
requestTalk();
38
bool
requestTalkForce();
39
void
startTalk();
40
void
startTalkForce();
41
void
startTalkForcePuppetable();
42
void
startTalkForceWithoutDemo();
43
void
startTalkForceWithoutDemoPuppetable();
44
void
endTalk();
45
void
updateBalloonPos();
46
bool
isNearPlayer(
const
TalkMessageCtrl
*);
47
bool
isNearPlayer(f32)
const
;
48
void
rootNodePre(
bool
);
49
void
rootNodePst();
50
bool
isCurrentNodeContinue()
const
;
51
void
rootNodeEve();
52
void
rootNodeSel(
bool
);
53
void
registerBranchFunc(
const
TalkMessageFuncBase
&);
54
void
registerEventFunc(
const
TalkMessageFuncBase
&);
55
void
registerAnimeFunc(
const
TalkMessageFuncBase
&);
56
void
registerKillFunc(
const
TalkMessageFuncBase
&);
57
void
readMessage();
58
bool
isSelectYesNo()
const
;
59
60
void
setMessageArg(
const
CustomTagArg
&rArg) {
61
mTagArg = rArg;
62
}
63
64
bool
inMessageArea()
const
;
65
void
startCamera(s32);
66
const
char
* getBranchID()
const
;
67
68
LiveActor
* mHostActor;
// _C
69
TalkNodeCtrl
* mNodeCtrl;
// _10
70
s32 mZoneID;
// _14
71
u32 _18;
72
TVec3f _1C;
73
MtxPtr mMtx;
// _28
74
TVec3f _2C;
75
f32 mTalkDistance;
// _38
76
u32 _3C;
77
u32 mAlreadyDoneFlags;
// _40
78
bool
mIsOnRootNodeAuto;
// _44
79
bool
mIsOnReadNodeAuto;
// _45
80
bool
mIsStartOnlyFront;
// _46
81
ActorCameraInfo
* mCameraInfo;
// _48
82
TalkMessageFuncBase
* mBranchFunc;
// _4C
83
TalkMessageFuncBase
* mEventFunc;
// _50
84
TalkMessageFuncBase
* mAnimeFunc;
// _54
85
TalkMessageFuncBase
* mKillFunc;
// _58
86
CustomTagArg
mTagArg;
// _5C
87
};
88
89
class
TalkFunction
{
90
public
:
91
static
bool
isShortTalk(
const
TalkMessageCtrl
*);
92
static
bool
isComposeTalk(
const
TalkMessageCtrl
*);
93
static
bool
isSelectTalk(
const
TalkMessageCtrl
*);
94
bool
isEventNode(
const
TalkMessageCtrl
*);
95
96
static
bool
requestTalkSystem(
TalkMessageCtrl
*,
bool
);
97
static
void
startTalkSystem(
TalkMessageCtrl
*,
bool
,
bool
,
bool
);
98
static
void
endTalkSystem(
TalkMessageCtrl
*);
99
static
bool
isTalkSystemStart(
const
TalkMessageCtrl
*);
100
static
bool
isTalkSystemEnd(
const
TalkMessageCtrl
*);
101
static
bool
getBranchAstroGalaxyResult(u16);
102
static
void
registerTalkSystem(
TalkMessageCtrl
*);
103
};
ActorCameraInfo
Definition
ActorCameraInfo.hpp:5
CustomTagArg
Definition
TalkMessageCtrl.hpp:9
JMapInfoIter
Definition
JMapInfo.hpp:16
LiveActor
The basis of a drawable actor that can contain states (see: Nerve)
Definition
LiveActor.hpp:24
NameObj
The most basic form of an object.
Definition
NameObj.hpp:11
TalkFunction
Definition
TalkMessageCtrl.hpp:89
TalkMessageCtrl
Definition
TalkMessageCtrl.hpp:28
TalkMessageFuncBase
Definition
TalkMessageFunc.hpp:6
TalkNodeCtrl
Definition
TalkNodeCtrl.hpp:33
Generated by
1.10.0