45 lines
1.8 KiB
C
45 lines
1.8 KiB
C
#pragma once
|
|
|
|
#if defined(__cplusplus)
|
|
extern "C" {
|
|
#endif
|
|
|
|
// Get Plugin Settings, take a setting id
|
|
unsigned int GetSetting ( short SettingID );
|
|
const char * GetSettingSz ( short SettingID, char * Buffer, int BufferLen );
|
|
|
|
// Get System Settings, take a setting returned by FindSystemSettingId
|
|
unsigned int GetSystemSetting ( short SettingID );
|
|
const char * GetSystemSettingSz( short SettingID, char * Buffer, int BufferLen );
|
|
|
|
// Set a settings value
|
|
void SetSetting ( short SettingID, unsigned int Value );
|
|
void SetSettingSz ( short SettingID, const char * Value );
|
|
|
|
// enum's
|
|
enum SETTING_DATA_TYPE {
|
|
Data_DWORD_General = 0, // A unsigned int setting used anywhere
|
|
Data_String_General = 1, // A string setting used anywhere
|
|
Data_DWORD_Game = 2, // A unsigned int associated with the current game
|
|
Data_String_Game = 3, // A string associated with the current game
|
|
Data_DWORD_RDB = 4, // A unsigned int associated with the current game in the rom database
|
|
Data_String_RDB = 5, // A string associated with the current game in the rom database
|
|
Data_DWORD_RDB_Setting = 6, // A unsigned int read from the rom database, with config file
|
|
Data_String_RDB_Setting = 7, // A string read from the rom database, with config file
|
|
};
|
|
|
|
// set other information about different settings
|
|
BOOL SettingsInitilized ( void );
|
|
void SetModuleName ( const char * Name );
|
|
void RegisterSetting ( short SettingID, SETTING_DATA_TYPE Type, const char * Name, const char * Category,
|
|
unsigned int DefaultDW, const char * DefaultStr );
|
|
short FindSystemSettingId ( const char * Name );
|
|
void FlushSettings ( void );
|
|
|
|
// this must be implemented to be notified when a setting is used but has not been set up
|
|
void UseUnregisteredSetting (int SettingID);
|
|
|
|
#if defined(__cplusplus)
|
|
}
|
|
#endif
|