| 1 | #pragma once |
|---|---|
| 2 | |
| 3 | #include <basis/seadTypes.h> |
| 4 | |
| 5 | #include "System/ByamlSave.h" |
| 6 | |
| 7 | namespace al { |
| 8 | class ByamlIter; |
| 9 | class IUseSceneObjHolder; |
| 10 | class LayoutActor; |
| 11 | class Scene; |
| 12 | } // namespace al |
| 13 | |
| 14 | class GameConfigData : public ByamlSave { |
| 15 | public: |
| 16 | GameConfigData(); |
| 17 | void init(); |
| 18 | bool isCameraReverseInputH() const; |
| 19 | void onCameraReverseInputH(); |
| 20 | void offCameraReverseInputH(); |
| 21 | bool isCameraReverseInputV() const; |
| 22 | void onCameraReverseInputV(); |
| 23 | void offCameraReverseInputV(); |
| 24 | s32 getCameraStickSensitivityLevel() const; |
| 25 | void setCameraStickSensitivityLevel(s32); |
| 26 | bool isValidCameraGyro() const; |
| 27 | void validateCameraGyro(); |
| 28 | void invalidateCameraGyro(); |
| 29 | s32 getCameraGyroSensitivityLevel() const; |
| 30 | void setCameraGyroSensitivityLevel(s32); |
| 31 | bool isUseOpenListAdditionalButton() const; |
| 32 | void onUseOpenListAdditionalButton(); |
| 33 | void offUseOpenListAdditionalButton(); |
| 34 | bool isValidPadRumble() const; |
| 35 | void validatePadRumble(); |
| 36 | void invalidatePadRumble(); |
| 37 | s32 getPadRumbleLevel() const; |
| 38 | void setPadRumbleLevel(s32); |
| 39 | void write(al::ByamlWriter*) override; |
| 40 | void read(const al::ByamlIter&) override; |
| 41 | |
| 42 | private: |
| 43 | s32 mCameraStickSensitivityLevel = -1; |
| 44 | bool mIsCameraReverseInputH = false; |
| 45 | bool mIsCameraReverseInputV = false; |
| 46 | bool mIsValidCameraGyro = true; |
| 47 | s32 mCameraGyroSensitivityLevel = -1; |
| 48 | bool mIsUseOpenListAdditionalButton = false; |
| 49 | bool mIsValidPadRumble = true; |
| 50 | s32 mPadRumbleLevel = 0; |
| 51 | }; |
| 52 | |
| 53 | namespace rs { |
| 54 | GameConfigData* getGameConfigData(const al::LayoutActor*); |
| 55 | void saveGameConfigData(const al::LayoutActor*); |
| 56 | void applyGameConfigData(al::Scene*, const GameConfigData*); |
| 57 | bool isUseOpenListAdditionalButton(const al::IUseSceneObjHolder*); |
| 58 | } // namespace rs |
| 59 |