2022-10-09 05:13:17 +00:00
|
|
|
#ifndef _CHINTOPTIONS
|
|
|
|
#define _CHINTOPTIONS
|
2022-04-10 00:17:06 +00:00
|
|
|
|
|
|
|
#include "types.h"
|
|
|
|
|
|
|
|
#include "rstl/vector.hpp"
|
2022-10-10 19:44:11 +00:00
|
|
|
#include "rstl/string.hpp"
|
2022-04-10 00:17:06 +00:00
|
|
|
|
|
|
|
enum EHintState { kHS_Zero, kHS_Waiting, kHS_Displaying, kHS_Delayed };
|
|
|
|
|
|
|
|
struct SHintState {
|
|
|
|
EHintState x0_state;
|
2022-10-09 05:37:23 +00:00
|
|
|
float x4_time;
|
2022-04-10 00:17:06 +00:00
|
|
|
bool x8_dismissed;
|
|
|
|
};
|
|
|
|
|
|
|
|
class CHintOptions {
|
|
|
|
public:
|
|
|
|
void SetHintNextTime();
|
|
|
|
|
2022-10-02 10:13:35 +00:00
|
|
|
void DelayHint(const rstl::string& name);
|
|
|
|
void ActivateImmediateHintTimer(const rstl::string& name);
|
|
|
|
void ActivateContinueDelayHintTimer(const rstl::string& name);
|
|
|
|
|
2022-04-10 00:17:06 +00:00
|
|
|
private:
|
|
|
|
rstl::vector< SHintState > x0_hintStates;
|
|
|
|
int x10_nextHintIdx;
|
|
|
|
};
|
|
|
|
|
2022-10-09 05:13:17 +00:00
|
|
|
#endif // _CHINTOPTIONS
|