1#pragma once
2
3#include <math/seadVector.h>
4
5namespace al {
6class IUseSceneObjHolder;
7class GamePadSystem;
8class LayoutActor;
9class LiveActor;
10class Scene;
11} // namespace al
12class GameDataHolder;
13class GamePadPlayStyleInfo;
14
15namespace rs {
16
17bool isSeparatePlay(const al::IUseSceneObjHolder*);
18void changeSeparatePlayMode(al::Scene*, bool);
19void setSeparatePlayMode(al::Scene*, bool);
20bool isTriggerUiDecide(const al::IUseSceneObjHolder*);
21bool isTriggerUiDecide(const GameDataHolder*);
22bool isTriggerUiCancel(const al::IUseSceneObjHolder*);
23bool isTriggerUiSelect(const al::IUseSceneObjHolder*);
24bool isTriggerUiPause(const al::IUseSceneObjHolder*);
25bool isTriggerUiLeft(const al::IUseSceneObjHolder*);
26bool isTriggerUiRight(const al::IUseSceneObjHolder*);
27bool isTriggerUiUp(const al::IUseSceneObjHolder*);
28bool isTriggerUiDown(const al::IUseSceneObjHolder*);
29bool isTriggerUiR(const al::IUseSceneObjHolder*);
30bool isTriggerUiL(const al::IUseSceneObjHolder*);
31bool isTriggerUiZR(const al::IUseSceneObjHolder*);
32bool isTriggerUiZL(const al::IUseSceneObjHolder*);
33bool isTriggerUiX(const al::IUseSceneObjHolder*);
34bool isTriggerUiY(const al::IUseSceneObjHolder*);
35bool isTriggerUiAnyABXY(const al::IUseSceneObjHolder*);
36bool isRepeatUiUp(const al::IUseSceneObjHolder*);
37bool isRepeatUiDown(const al::IUseSceneObjHolder*);
38bool isRepeatUiRight(const al::IUseSceneObjHolder*);
39bool isRepeatUiLeft(const al::IUseSceneObjHolder*);
40bool isHoldUiDecide(const al::IUseSceneObjHolder*);
41bool isHoldUiCancel(const al::IUseSceneObjHolder*);
42bool isHoldUiSelect(const al::IUseSceneObjHolder*);
43bool isHoldUiL(const al::IUseSceneObjHolder*);
44bool isHoldUiR(const al::IUseSceneObjHolder*);
45bool isHoldUiY(const al::IUseSceneObjHolder*);
46bool isHoldUiUp(const al::IUseSceneObjHolder*);
47bool isHoldUiDown(const al::IUseSceneObjHolder*);
48bool isHoldUiLeft(const al::IUseSceneObjHolder*);
49bool isHoldUiRight(const al::IUseSceneObjHolder*);
50bool isHoldSeparatePlayStart1P(const al::IUseSceneObjHolder*);
51bool isHoldSeparatePlayStart2P(const al::IUseSceneObjHolder*);
52bool isTriggerMapOpen(const al::IUseSceneObjHolder*);
53bool isHoldSeparatePlayEnd(const al::IUseSceneObjHolder*);
54const sead::Vector2f& getUiLeftStick(const al::IUseSceneObjHolder*);
55const sead::Vector2f& getUiRightStick(const al::IUseSceneObjHolder*);
56bool isTriggerMapClose(const al::IUseSceneObjHolder*);
57bool isTriggerCollectionListOpenInMap(const al::IUseSceneObjHolder*);
58bool isTriggerCollectionListCloseInMap(const al::IUseSceneObjHolder*);
59bool isTriggerAppearSkipGuide(const al::IUseSceneObjHolder*);
60bool isTriggerUiRacePause(const al::IUseSceneObjHolder*);
61bool isTriggerSnapShotMode(const al::IUseSceneObjHolder*);
62bool isTriggerAmiiboMode(const al::IUseSceneObjHolder*);
63bool isHoldAmiiboMode(const al::IUseSceneObjHolder*);
64bool isTriggerToggleSnapShotModeLayout(const al::IUseSceneObjHolder*);
65bool isTriggerAppearSnapShotLayout(const al::IUseSceneObjHolder*);
66bool isTriggerIncrementPostProcessingFilterPreset(const al::IUseSceneObjHolder*);
67bool isTriggerDecrementPostProcessingFilterPreset(const al::IUseSceneObjHolder*);
68void recordGamePadPlayStyleInfo(GamePadPlayStyleInfo*, const al::LiveActor*);
69void recordGamePadPlayStyleInfo(GamePadPlayStyleInfo*, const al::LayoutActor*);
70bool tryUpdateGamePadPlayStyleInfo(GamePadPlayStyleInfo*, const al::LiveActor*);
71bool tryUpdateGamePadPlayStyleInfo(GamePadPlayStyleInfo*, const al::LayoutActor*);
72} // namespace rs
73
74namespace ControllerAppletFunction {
75bool tryReconnectGamePad(al::GamePadSystem*);
76bool connectControllerSinglePlay(al::GamePadSystem*);
77bool connectControllerSeparatePlay(al::GamePadSystem*);
78} // namespace ControllerAppletFunction
79