diff --git a/Source/Project64-input/ControllerSpec1.1.h b/Source/Project64-input/ControllerSpec1.1.h index 6299b8c8b..f26acbe27 100644 --- a/Source/Project64-input/ControllerSpec1.1.h +++ b/Source/Project64-input/ControllerSpec1.1.h @@ -1,6 +1,5 @@ -/********************************************************************************** -Project64 Controller plugin spec, version #1.1 -**********************************************************************************/ +// Project64 controller plugin spec, version 1.1 + #pragma once #include @@ -29,12 +28,13 @@ enum PLUGIN_RAW = 5, }; -/***** Structures *****/ +// Structures + typedef struct { - uint16_t Version; /* Should be set to 0x0101 */ - uint16_t Type; /* Set to PLUGIN_TYPE_CONTROLLER */ - char Name[100]; /* Name of the DLL */ + uint16_t Version; // Should be set to 0x0101 + uint16_t Type; // Set to PLUGIN_TYPE_CONTROLLER + char Name[100]; // Name of the DLL int32_t NormalMemory; int32_t MemoryBswaped; } PLUGIN_INFO; @@ -47,7 +47,7 @@ typedef struct } CONTROL; #pragma warning(push) -#pragma warning(disable : 4201) // warning C4201: nonstandard extension used : nameless struct/union +#pragma warning(disable : 4201) // warning C4201: nonstandard extension used: nameless struct/union typedef union { @@ -85,140 +85,152 @@ typedef struct void * hwnd; void * hinst; int32_t MemoryBswaped; // Set this to true - uint8_t * HEADER; // This is the rom header (first 40h bytes of the rom) + uint8_t * HEADER; // This is the ROM header (first 40h bytes of the ROM) CONTROL * Controls; // A pointer to an array of 4 controllers .. eg: } CONTROL_INFO; -/****************************************************************** - Function: CloseDLL - Purpose: This function is called when the emulator is closing - down allowing the dll to de-initialise. - input: none - output: none - *******************************************************************/ +/* +Function: CloseDLL +Purpose: This function is called when the emulator is closing +down allowing the DLL to de-initialize. +input: none +output: none +*/ + EXPORT void CALL CloseDLL(void); -/****************************************************************** - Function: ControllerCommand - Purpose: To process the raw data that has just been sent to a - specific controller. - input: - Controller Number (0 to 3) and -1 signalling end of - processing the pif ram. - - Pointer of data to be processed. - output: none +/* +Function: ControllerCommand +Purpose: To process the raw data that has just been sent to a +specific controller. +input: - Controller Number (0 to 3) and -1 signaling end of +processing the PIF RAM. +- Pointer of data to be processed. +output: none - note: This function is only needed if the DLL is allowing raw - data, or the plugin is set to raw +note: This function is only needed if the DLL is allowing raw +data, or the plugin is set to raw + +The data that is being processed looks like this: +Initialize controller: 01 03 00 FF FF FF +Read controller: 01 04 01 FF FF FF FF +*/ - the data that is being processed looks like this: - initilize controller: 01 03 00 FF FF FF - read controller: 01 04 01 FF FF FF FF - *******************************************************************/ EXPORT void CALL ControllerCommand(int32_t Control, uint8_t * Command); -/****************************************************************** - Function: DllAbout - Purpose: This function is optional function that is provided - to give further information about the DLL. - input: a handle to the window that calls this function - output: none - *******************************************************************/ +/* +Function: DllAbout +Purpose: This function is optional function that is provided +to give further information about the DLL. +input: a handle to the window that calls this function +output: none +*/ + EXPORT void CALL DllAbout(void * hParent); -/****************************************************************** - Function: DllConfig - Purpose: This function is optional function that is provided - to allow the user to configure the dll - input: a handle to the window that calls this function - output: none - *******************************************************************/ +/* +Function: DllConfig +Purpose: This function is optional function that is provided +to allow the user to configure the DLL +input: a handle to the window that calls this function +output: none +*/ + EXPORT void CALL DllConfig(void * hParent); -/****************************************************************** - Function: DllTest - Purpose: This function is optional function that is provided - to allow the user to test the dll - input: a handle to the window that calls this function - output: none - *******************************************************************/ +/* +Function: DllTest +Purpose: This function is optional function that is provided +to allow the user to test the DLL +input: a handle to the window that calls this function +output: none +*/ + EXPORT void CALL DllTest(void * hParent); -/****************************************************************** - Function: GetDllInfo - Purpose: This function allows the emulator to gather information - about the dll by filling in the PluginInfo structure. - input: a pointer to a PLUGIN_INFO stucture that needs to be - filled by the function. (see def above) - output: none - *******************************************************************/ +/* +Function: GetDllInfo +Purpose: This function allows the emulator to gather information +about the DLL by filling in the PluginInfo structure. +input: a pointer to a PLUGIN_INFO structure that needs to be +filled by the function. (see def above) +output: none +*/ + EXPORT void CALL GetDllInfo(PLUGIN_INFO * PluginInfo); -/****************************************************************** - Function: GetKeys - Purpose: To get the current state of the controllers buttons. - input: - Controller Number (0 to 3) - - A pointer to a BUTTONS structure to be filled with - the controller state. - output: none - *******************************************************************/ +/* +Function: GetKeys +Purpose: To get the current state of the controllers buttons. +input: - Controller Number (0 to 3) +- A pointer to a BUTTONS structure to be filled with +the controller state. +output: none +*/ + EXPORT void CALL GetKeys(int32_t Control, BUTTONS * Keys); -/****************************************************************** - Function: InitiateControllers - Purpose: This function initialises how each of the controllers - should be handled. - input: - The handle to the main window. - - A controller structure that needs to be filled for - the emulator to know how to handle each controller. - output: none - *******************************************************************/ +/* +Function: InitiateControllers +Purpose: This function initializes how each of the controllers +should be handled. +input: - The handle to the main window. +- A controller structure that needs to be filled for +the emulator to know how to handle each controller. +output: none +*/ + EXPORT void CALL InitiateControllers(CONTROL_INFO * ControlInfo); -/****************************************************************** - Function: ReadController - Purpose: To process the raw data in the pif ram that is about to - be read. - input: - Controller Number (0 to 3) and -1 signalling end of - processing the pif ram. - - Pointer of data to be processed. - output: none - note: This function is only needed if the DLL is allowing raw - data. - *******************************************************************/ +/* +Function: ReadController +Purpose: To process the raw data in the PIF RAM that is about to +be read. +input: - Controller Number (0 to 3) and -1 signaling end of +processing the PIF RAM. +- Pointer of data to be processed. +output: none +note: This function is only needed if the DLL is allowing raw +data. +*/ + EXPORT void CALL ReadController(int Control, uint8_t * Command); -/****************************************************************** - Function: RomClosed - Purpose: This function is called when a rom is closed. - input: none - output: none - *******************************************************************/ +/* +Function: RomClosed +Purpose: This function is called when a ROM is closed. +input: none +output: none +*/ + EXPORT void CALL RomClosed(void); -/****************************************************************** - Function: RomOpen - Purpose: This function is called when a rom is open. (from the - emulation thread) - input: none - output: none - *******************************************************************/ +/* +Function: RomOpen +Purpose: This function is called when a ROM is open. (from the +emulation thread) +input: none +output: none +*/ + EXPORT void CALL RomOpen(void); -/****************************************************************** - Function: WM_KeyDown - Purpose: To pass the WM_KeyDown message from the emulator to the - plugin. - input: wParam and lParam of the WM_KEYDOWN message. - output: none - *******************************************************************/ +/* +Function: WM_KeyDown +Purpose: To pass the WM_KeyDown message from the emulator to the +plugin. +input: wParam and lParam of the WM_KEYDOWN message. +output: none +*/ + EXPORT void CALL WM_KeyDown(uint32_t wParam, uint32_t lParam); -/****************************************************************** - Function: WM_KeyUp - Purpose: To pass the WM_KEYUP message from the emulator to the - plugin. - input: wParam and lParam of the WM_KEYDOWN message. - output: none - *******************************************************************/ -EXPORT void CALL WM_KeyUp(uint32_t wParam, uint32_t lParam); +/* +Function: WM_KeyUp +Purpose: To pass the WM_KEYUP message from the emulator to the +plugin. +input: wParam and lParam of the WM_KEYDOWN message. +output: none +*/ +EXPORT void CALL WM_KeyUp(uint32_t wParam, uint32_t lParam);