mirror of
https://github.com/halpz/re3.git
synced 2025-07-29 20:20:24 +00:00
rw skeleton
This commit is contained in:
276
src/skel/skeleton.h
Normal file
276
src/skel/skeleton.h
Normal file
@ -0,0 +1,276 @@
|
||||
#ifndef SKELETON_H
|
||||
#define SKELETON_H
|
||||
|
||||
#include "rwcore.h"
|
||||
|
||||
/* Default arena size depending on platform. */
|
||||
#define rsRESOURCESDEFAULTARENASIZE (1 << 20)
|
||||
|
||||
#if (!defined(RsSprintf))
|
||||
#define RsSprintf rwsprintf
|
||||
#endif /* (!defined(RsSprintf)) */
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C"
|
||||
{
|
||||
#endif /* __cplusplus */
|
||||
|
||||
#if (!defined(RSASSERT))
|
||||
#define RSASSERT(_condition) /* No-op */
|
||||
#endif /* (!defined(RSASSERT)) */
|
||||
|
||||
#define RSASSERTISTYPE(_f, _t) \
|
||||
RSASSERT( (!(_f)) || ((((const RwObject *)(_f))->type)==(_t)) )
|
||||
|
||||
enum RsInputDeviceType
|
||||
{
|
||||
rsKEYBOARD,
|
||||
rsMOUSE,
|
||||
rsPAD
|
||||
};
|
||||
typedef enum RsInputDeviceType RsInputDeviceType;
|
||||
|
||||
enum RsEventStatus
|
||||
{
|
||||
rsEVENTERROR,
|
||||
rsEVENTPROCESSED,
|
||||
rsEVENTNOTPROCESSED
|
||||
};
|
||||
typedef enum RsEventStatus RsEventStatus;
|
||||
|
||||
enum RsEvent
|
||||
{
|
||||
rsCAMERASIZE,
|
||||
rsCOMMANDLINE,
|
||||
rsFILELOAD,
|
||||
rsINITDEBUG,
|
||||
rsINPUTDEVICEATTACH,
|
||||
rsLEFTBUTTONDOWN,
|
||||
rsLEFTBUTTONUP,
|
||||
rsMOUSEMOVE,
|
||||
rsMOUSEWHEELMOVE,
|
||||
rsPLUGINATTACH,
|
||||
rsREGISTERIMAGELOADER,
|
||||
rsRIGHTBUTTONDOWN,
|
||||
rsRIGHTBUTTONUP,
|
||||
_rs_13,
|
||||
_rs_14,
|
||||
_rs_15,
|
||||
_rs_16,
|
||||
_rs_17,
|
||||
_rs_18,
|
||||
_rs_19,
|
||||
_rs_20,
|
||||
rsRWINITIALISE,
|
||||
rsRWTERMINATE,
|
||||
rsSELECTDEVICE,
|
||||
rsINITIALISE,
|
||||
rsTERMINATE,
|
||||
rsIDLE,
|
||||
rsFRONTENDIDLE,
|
||||
rsKEYDOWN,
|
||||
rsKEYUP,
|
||||
rsQUITAPP,
|
||||
rsPADBUTTONDOWN,
|
||||
rsPADBUTTONUP,
|
||||
rsPADANALOGUELEFT,
|
||||
rsPADANALOGUELEFTRESET,
|
||||
rsPADANALOGUERIGHT,
|
||||
rsPADANALOGUERIGHTRESET,
|
||||
rsPREINITCOMMANDLINE,
|
||||
rsACTIVATE,
|
||||
};
|
||||
|
||||
typedef enum RsEvent RsEvent;
|
||||
|
||||
typedef RsEventStatus (*RsInputEventHandler)(RsEvent event, void *param);
|
||||
|
||||
typedef struct RsInputDevice RsInputDevice;
|
||||
struct RsInputDevice
|
||||
{
|
||||
RsInputDeviceType inputDeviceType;
|
||||
RwBool used;
|
||||
RsInputEventHandler inputEventHandler;
|
||||
};
|
||||
|
||||
typedef struct RsGlobalType RsGlobalType;
|
||||
struct RsGlobalType
|
||||
{
|
||||
const RwChar *appName;
|
||||
RwInt32 width;
|
||||
RwInt32 height;
|
||||
RwInt32 maximumWidth;
|
||||
RwInt32 maximumHeight;
|
||||
RwInt32 maxFPS;
|
||||
RwBool quit;
|
||||
|
||||
void *ps; /* platform specific data */
|
||||
|
||||
RsInputDevice keyboard;
|
||||
RsInputDevice mouse;
|
||||
RsInputDevice pad;
|
||||
};
|
||||
|
||||
enum RsKeyCodes
|
||||
{
|
||||
rsESC = 1000,
|
||||
|
||||
rsF1 = 1001,
|
||||
rsF2 = 1002,
|
||||
rsF3 = 1003,
|
||||
rsF4 = 1004,
|
||||
rsF5 = 1005,
|
||||
rsF6 = 1006,
|
||||
rsF7 = 1007,
|
||||
rsF8 = 1008,
|
||||
rsF9 = 1009,
|
||||
rsF10 = 1010,
|
||||
rsF11 = 1011,
|
||||
rsF12 = 1012,
|
||||
|
||||
rsINS = 1013,
|
||||
rsDEL = 1014,
|
||||
rsHOME = 1015,
|
||||
rsEND = 1016,
|
||||
rsPGUP = 1017,
|
||||
rsPGDN = 1018,
|
||||
|
||||
rsUP = 1019,
|
||||
rsDOWN = 1020,
|
||||
rsLEFT = 1021,
|
||||
rsRIGHT = 1022,
|
||||
|
||||
rsDIVIDE = 1023,
|
||||
rsTIMES = 1024,
|
||||
rsPLUS = 1025,
|
||||
rsMINUS = 1026,
|
||||
rsPADDEL = 1027,
|
||||
rsPADEND = 1028,
|
||||
rsPADDOWN = 1029,
|
||||
rsPADPGDN = 1030,
|
||||
rsPADLEFT = 1031,
|
||||
rsPAD5 = 1032,
|
||||
rsNUMLOCK = 1033,
|
||||
rsPADRIGHT = 1034,
|
||||
rsPADHOME = 1035,
|
||||
rsPADUP = 1036,
|
||||
rsPADPGUP = 1037,
|
||||
rsPADINS = 1038,
|
||||
rsPADENTER = 1039,
|
||||
|
||||
rsSCROLL = 1040,
|
||||
rsPAUSE = 1041,
|
||||
|
||||
rsBACKSP = 1042,
|
||||
rsTAB = 1043,
|
||||
rsCAPSLK = 1044,
|
||||
rsENTER = 1045,
|
||||
rsLSHIFT = 1046,
|
||||
rsRSHIFT = 1047,
|
||||
rsSHIFT = 1048,
|
||||
rsLCTRL = 1049,
|
||||
rsRCTRL = 1050,
|
||||
rsLALT = 1051,
|
||||
rsRALT = 1052,
|
||||
rsLWIN = 1053,
|
||||
rsRWIN = 1054,
|
||||
rsAPPS = 1055,
|
||||
|
||||
rsNULL = 1056,
|
||||
};
|
||||
typedef enum RsKeyCodes RsKeyCodes;
|
||||
|
||||
typedef struct RsKeyStatus RsKeyStatus;
|
||||
struct RsKeyStatus
|
||||
{
|
||||
RwInt32 keyCharCode;
|
||||
};
|
||||
|
||||
typedef struct RsPadButtonStatus RsPadButtonStatus;
|
||||
struct RsPadButtonStatus
|
||||
{
|
||||
RwInt32 padID;
|
||||
RwUInt32 padButtons;
|
||||
};
|
||||
|
||||
enum RsPadButtons
|
||||
{
|
||||
rsPADNULL = 0,
|
||||
|
||||
rsPADBUTTON1 = 1,
|
||||
rsPADBUTTON2 = 2,
|
||||
rsPADBUTTON3 = 3,
|
||||
rsPADBUTTON4 = 4,
|
||||
|
||||
rsPADBUTTON5 = 5,
|
||||
rsPADBUTTON6 = 6,
|
||||
rsPADBUTTON7 = 7,
|
||||
rsPADBUTTON8 = 8,
|
||||
|
||||
rsPADSELECT = 9,
|
||||
|
||||
rsPADBUTTONA1 = 10,
|
||||
rsPADBUTTONA2 = 11,
|
||||
|
||||
rsPADSTART = 12,
|
||||
|
||||
rsPADDPADUP = 13,
|
||||
rsPADDPADRIGHT = 14,
|
||||
rsPADDPADDOWN = 15,
|
||||
rsPADDPADLEFT = 16,
|
||||
};
|
||||
typedef enum RsPadButtons RsPadButtons;
|
||||
|
||||
|
||||
extern RsGlobalType &RsGlobal;
|
||||
|
||||
extern RsEventStatus AppEventHandler(RsEvent event, void *param);
|
||||
extern RwBool AttachInputDevices(void);
|
||||
|
||||
extern RsEventStatus RsEventHandler(RsEvent event, void *param);
|
||||
extern RsEventStatus RsKeyboardEventHandler(RsEvent event, void *param);
|
||||
extern RsEventStatus RsPadEventHandler(RsEvent event, void *param);
|
||||
|
||||
extern RwBool
|
||||
RsInitialise(void);
|
||||
|
||||
extern RwBool
|
||||
RsRegisterImageLoader(void);
|
||||
|
||||
extern RwBool
|
||||
RsRwInitialise(void *param);
|
||||
|
||||
extern RwBool
|
||||
RsSelectDevice(void);
|
||||
|
||||
extern RwBool
|
||||
RsInputDeviceAttach(RsInputDeviceType inputDevice,
|
||||
RsInputEventHandler inputEventHandler);
|
||||
|
||||
extern RwUInt32
|
||||
RsTimer(void);
|
||||
|
||||
extern void
|
||||
RsCameraShowRaster(RwCamera *camera);
|
||||
|
||||
extern RwBool
|
||||
RsCameraBeginUpdate(RwCamera *camera);
|
||||
|
||||
//TODO
|
||||
//extern void
|
||||
//RsMouseSetVisibility(RwBool visible);
|
||||
|
||||
extern void
|
||||
RsMouseSetPos(RwV2d *pos);
|
||||
|
||||
extern void
|
||||
RsRwTerminate(void);
|
||||
|
||||
extern void
|
||||
RsTerminate(void);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif /* __cplusplus */
|
||||
|
||||
#endif /* SKELETON_H */
|
Reference in New Issue
Block a user