project64/Source/Project64-input/InputSettings.h

38 lines
1.1 KiB
C++

#pragma once
#include <stdint.h>
#include <string>
#include "N64Controller.h"
#include "Shortcuts.h"
#include <Project64-plugin-spec/Input.h>
class CInputSettings
{
public:
CInputSettings();
~CInputSettings();
void LoadController(uint32_t ControlIndex, CONTROL & ControllerInfo, N64CONTROLLER & Controller);
void SaveController(uint32_t ControlIndex, const CONTROL & ControllerInfo, const N64CONTROLLER & Controller);
void ResetController(uint32_t ControlIndex, CONTROL & ControllerInfo, N64CONTROLLER & Controller);
void GetControllerMouse(N64CONTROLLER& Controller);
void LoadShortcuts(SHORTCUTS& Shortcuts);
void SaveShortcuts(SHORTCUTS& Shortcuts);
void ResetShortcuts(SHORTCUTS& Shortcuts);
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);