beetle-wswan-libretro/mednafen/git.h
2022-06-18 20:19:27 +02:00

69 lines
1.8 KiB
C

#ifndef _GIT_H
#define _GIT_H
#include "mednafen-types.h"
#include "state.h"
#include "video.h"
enum
{
MDFN_ROTATE0 = 0,
MDFN_ROTATE90,
MDFN_ROTATE180,
MDFN_ROTATE270
};
struct MemoryPatch;
struct CheatFormatStruct
{
const char *FullName; //"Game Genie", "GameShark", "Pro Action Catplay", etc.
const char *Description; // Whatever?
};
struct CheatFormatInfoStruct
{
unsigned NumFormats;
struct CheatFormatStruct *Formats;
};
// Miscellaneous system/simple commands(power, reset, dip switch toggles, coin insert, etc.)
// (for DoSimpleCommand() )
enum
{
MDFN_MSC_RESET = 0x01,
MDFN_MSC_POWER = 0x02,
MDFN_MSC__LAST = 0x3F // WARNING: Increasing(or having the enum'd value of a command greater than this :b) this will necessitate a change to the netplay protocol.
};
typedef struct
{
// Pitch(32-bit) must be equal to width and >= the "fb_width" specified in the MDFNGI struct for the emulated system.
// Height must be >= to the "fb_height" specified in the MDFNGI struct for the emulated system.
// The framebuffer pointed to by surface->pixels is written to by the system emulation code.
MDFN_Surface *surface;
// Set by the system emulation code every frame, to denote the horizontal and vertical offsets of the image, and the size
// of the image. If the emulated system sets the elements of LineWidths, then the horizontal offset(x) and width(w) of this structure
// are ignored while drawing the image.
MDFN_Rect DisplayRect;
// Skip rendering this frame if true. Set by the driver code.
int skip;
// Number of frames currently in internal sound buffer. Set by the system emulation code, to be read by the driver code.
int32 SoundBufSize;
} EmulateSpecStruct;
#ifdef __cplusplus
extern "C" {
#endif
int StateAction(StateMem *sm, int load, int data_only);
#ifdef __cplusplus
}
#endif
#endif