1#pragma once
2
3#include <basis/seadTypes.h>
4#include <math/seadVector.h>
5#include <prim/seadSafeString.h>
6
7namespace al {
8class EventFlowNode;
9class EventFlowEventData;
10class SceneEventFlowMsg;
11class LiveActor;
12class EventFlowExecutor;
13class IUseEventFlowData;
14
15class EventFlowRequestInfo {
16public:
17 EventFlowRequestInfo();
18 void reset();
19 void requestDemoAction(const char*);
20 void requestDemoCamera(const char*);
21};
22
23bool isNodeName(const EventFlowNode*, const char*);
24const char16* getScareMessage(const EventFlowNode*);
25void startEventCamera(EventFlowNode*, const char*, s32);
26void startEventAnimCamera(EventFlowNode*, const char*, const char*, s32);
27void endEventCamera(EventFlowNode*, const char*, s32, bool);
28bool tryEndEventCameraIfPlaying(EventFlowNode*, const char*, s32, bool);
29bool isEndInterpoleEventCamera(const EventFlowNode*, const char*);
30bool isPlayingEventAnimCamera(const EventFlowNode*, const char*);
31void requestDemoAction(EventFlowNode*, const char*, bool);
32void requestPlayerDemoAction(EventFlowNode*, const char*);
33bool isEndDemoAction(const EventFlowNode*);
34void setDemoTalkAction(EventFlowNode*, const char*);
35void resetDemoTalkAction(EventFlowNode*);
36void requestDemoCamera(EventFlowNode*, const char*);
37bool isEndRequestDemoCamera(const EventFlowNode*);
38bool isHideDemoPlayer(const EventFlowNode*);
39void requestHideDemoPlayer(EventFlowNode*);
40void requestShowDemoPlayer(EventFlowNode*);
41void calcPlayerWatchTrans(sead::Vector3f*, const EventFlowNode*);
42void requestCommandCloseTalkMessageLayout(EventFlowNode*);
43bool isActive(const EventFlowExecutor*);
44bool isScare(const IUseEventFlowData*);
45bool tryGetScareEnemyPos(sead::Vector3f*, const IUseEventFlowData*);
46void invalidateUiCollisionCheck(EventFlowExecutor*);
47void onExistLookAtJointCtrl(EventFlowExecutor*);
48void setTalkSubActorName(EventFlowExecutor*, const char*);
49void resetTalkSubActorName(EventFlowExecutor*);
50void startEventAction(LiveActor*, const IUseEventFlowData*, const char*);
51void makeEventActionName(sead::BufferedSafeStringBase<char>*, const IUseEventFlowData*,
52 const char*);
53void startEventActionAtRandomFrame(LiveActor*, const IUseEventFlowData*, const char*);
54bool tryStartEventActionIfNotPlaying(LiveActor*, const IUseEventFlowData*, const char*);
55bool isPlayingEventAction(const LiveActor*, const IUseEventFlowData*, const char*);
56bool isExistEventAction(const LiveActor*, const IUseEventFlowData*, const char*);
57bool isOneTimeEventAction(const LiveActor*, const IUseEventFlowData*, const char*);
58f32 getEventActionFrameMax(const LiveActor*, const IUseEventFlowData*, const char*);
59f32 getParamMoveSpeed(const IUseEventFlowData*);
60f32 getParamTurnSpeedDegree(const IUseEventFlowData*);
61const sead::Vector3f& getRecordActorFront(const IUseEventFlowData*);
62void recordActorFront(IUseEventFlowData*, const sead::Vector3f&);
63bool checkInsideTerritoryPos(const IUseEventFlowData*, const LiveActor*, const sead::Vector3f&,
64 f32);
65bool checkInsideEmotionTerritoryPos(const IUseEventFlowData*, const LiveActor*,
66 const sead::Vector3f&);
67bool checkInsideEmotionLowPriorityTerritoryPos(const IUseEventFlowData*, const LiveActor*,
68 const sead::Vector3f&);
69bool checkInsideTalkTerritoryPos(const IUseEventFlowData*, const LiveActor*, const sead::Vector3f&);
70void calcBalloonOffset(sead::Vector3f*, const IUseEventFlowData*, const LiveActor*);
71void setBalloonLocalOffset(EventFlowExecutor*, const sead::Vector3f&);
72f32 getBalloonCollisionCheckOffsetRadius(const IUseEventFlowData*);
73bool isDisableOpenBalloonByOrderGroup(const LiveActor*, const IUseEventFlowData*);
74bool isEnableForceOpenBalloonByOrderGroup(const LiveActor*, const IUseEventFlowData*);
75bool isWaitAtPointMovement(const EventFlowExecutor*);
76bool isStopMovement(const IUseEventFlowData*);
77bool isRequestEventDemoAction(const EventFlowExecutor*);
78bool isPlayingEventDemoAction(const EventFlowExecutor*);
79const char* getEventDemoActionName(const EventFlowExecutor*);
80bool isExistEventDemoTalkAction(const EventFlowExecutor*);
81const char* getEventDemoTalkActionName(const EventFlowExecutor*);
82bool isResetEventDemoPlayerDynamics(const EventFlowExecutor*);
83void startEventDemoAction(EventFlowExecutor*);
84void endEventDemoAction(EventFlowExecutor*);
85bool isRequestEventDemoCamera(const EventFlowExecutor*);
86const char* getEventDemoCameraAnimName(const EventFlowExecutor*);
87void clearEventDemoCameraRequest(EventFlowExecutor*);
88bool isHideDemoPlayer(const EventFlowExecutor*);
89bool isExistEventEntry(const EventFlowExecutor*, const char*);
90bool isCurrentEventEntry(const EventFlowExecutor*, const char*);
91bool isEventName(const EventFlowEventData*, const char*, ...);
92const char* getEventName(const EventFlowEventData*);
93bool getEventDataParamString(const EventFlowEventData*, const char*);
94bool isEventDataParamBool(const EventFlowEventData*, const char*);
95} // namespace al
96
97namespace alEventFlowFunction {
98bool isReceiveCommandCloseTalkMessageLayout(const al::SceneEventFlowMsg*);
99void clearSceneEventFlowMsg(al::SceneEventFlowMsg*);
100} // namespace alEventFlowFunction
101