2020-07-01 03:37:55 +00:00
|
|
|
#pragma once
|
2021-04-12 06:34:26 +00:00
|
|
|
#include <stdint.h>
|
2020-07-01 03:37:55 +00:00
|
|
|
#include <string>
|
|
|
|
#include "N64Controller.h"
|
2022-01-09 11:13:12 +00:00
|
|
|
#include "Shortcuts.h"
|
2023-09-21 04:43:08 +00:00
|
|
|
#include <Project64-plugin-spec/Input.h>
|
2020-07-01 03:37:55 +00:00
|
|
|
|
|
|
|
class CInputSettings
|
|
|
|
{
|
|
|
|
public:
|
|
|
|
CInputSettings();
|
|
|
|
~CInputSettings();
|
|
|
|
|
2020-07-07 02:20:36 +00:00
|
|
|
void LoadController(uint32_t ControlIndex, CONTROL & ControllerInfo, N64CONTROLLER & Controller);
|
|
|
|
void SaveController(uint32_t ControlIndex, const CONTROL & ControllerInfo, const N64CONTROLLER & Controller);
|
2020-07-15 11:38:48 +00:00
|
|
|
void ResetController(uint32_t ControlIndex, CONTROL & ControllerInfo, N64CONTROLLER & Controller);
|
2022-01-09 11:13:12 +00:00
|
|
|
void GetControllerMouse(N64CONTROLLER& Controller);
|
|
|
|
|
|
|
|
void LoadShortcuts(SHORTCUTS& Shortcuts);
|
|
|
|
void SaveShortcuts(SHORTCUTS& Shortcuts);
|
|
|
|
void ResetShortcuts(SHORTCUTS& Shortcuts);
|
2020-07-01 03:37:55 +00:00
|
|
|
|
|
|
|
private:
|
|
|
|
CInputSettings(const CInputSettings&);
|
|
|
|
CInputSettings& operator=(const CInputSettings&);
|
|
|
|
|
|
|
|
static BUTTON StrToButton(const char * Buffer);
|
|
|
|
static std::string ButtonToStr(const BUTTON & Button);
|
|
|
|
static std::string GUIDtoString(const GUID & guid);
|
|
|
|
|
|
|
|
void RegisterSettings(void);
|
|
|
|
};
|
|
|
|
|
|
|
|
extern CInputSettings * g_Settings;
|
|
|
|
|
|
|
|
void SetupInputSettings(void);
|
|
|
|
void CleanupInputSettings(void);
|