diff -ru SDL-1.2.15.orig/src/cdrom/win32/SDL_syscdrom.c SDL-1.2.15/src/cdrom/win32/SDL_syscdrom.c --- SDL-1.2.15.orig/src/cdrom/win32/SDL_syscdrom.c 2012-01-19 07:30:06.000000000 +0100 +++ SDL-1.2.15/src/cdrom/win32/SDL_syscdrom.c 2020-09-25 13:17:09.363163539 +0200 @@ -29,6 +29,187 @@ #include #include +/* oh dear */ +typedef UINT MCIDEVICEID; + +typedef struct tagMCI_PLAY_PARMS { + DWORD_PTR dwCallback; + DWORD dwFrom; + DWORD dwTo; +} MCI_PLAY_PARMS,*PMCI_PLAY_PARMS,*LPMCI_PLAY_PARMS; + +typedef struct tagMCI_STATUS_PARMS { + DWORD_PTR dwCallback; + DWORD_PTR dwReturn; + DWORD dwItem; + DWORD dwTrack; +} MCI_STATUS_PARMS,*PMCI_STATUS_PARMS,*LPMCI_STATUS_PARMS; + +typedef struct tagMCI_SET_PARMS { + DWORD_PTR dwCallback; + DWORD dwTimeFormat; + DWORD dwAudio; +} MCI_SET_PARMS,*PMCI_SET_PARMS,*LPMCI_SET_PARMS; + +typedef struct tagMCI_OPEN_PARMSA { + DWORD_PTR dwCallback; + MCIDEVICEID wDeviceID; + LPCSTR lpstrDeviceType; + LPCSTR lpstrElementName; + LPCSTR lpstrAlias; +} MCI_OPEN_PARMSA,*PMCI_OPEN_PARMSA,*LPMCI_OPEN_PARMSA; + +#define MCI_OPEN_PARMS MCI_OPEN_PARMSA + +__dllimport UINT __stdcall GetDriveTypeA (LPCSTR lpRootPathName); +#define GetDriveType GetDriveTypeA + +__dllimport MCIERROR __stdcall mciSendCommandA(MCIDEVICEID mciId,UINT uMsg,DWORD_PTR dwParam1,DWORD_PTR dwParam2); +#define mciSendCommand mciSendCommandA + +__dllimport BOOL __stdcall mciGetErrorStringA(MCIERROR mcierr,LPSTR pszText,UINT cchText); +#define mciGetErrorString mciGetErrorStringA + +#ifndef MCI_MSF_MINUTE +#define MCI_MSF_MINUTE(msf) ((BYTE)(msf)) +#endif + +#ifndef MCI_MSF_SECOND +#define MCI_MSF_SECOND(msf) ((BYTE)(((WORD)(msf)) >> 8)) +#endif + +#ifndef MCI_MSF_FRAME +#define MCI_MSF_FRAME(msf) ((BYTE)((msf)>>16)) +#endif + +#ifndef MCI_MAKE_MSF +#define MCI_MAKE_MSF(m,s,f) ((DWORD)(((BYTE)(m) | ((WORD)(s)<<8)) | (((DWORD)(BYTE)(f))<<16))) +#endif + +#ifndef DRIVE_CDROM +#define DRIVE_CDROM 5 +#endif + +#ifndef MCI_DEVTYPE_CD_AUDIO +#define MCI_DEVTYPE_CD_AUDIO 516 +#endif + +#ifndef MCI_OPEN_TYPE +#define MCI_OPEN_TYPE (uint32_t)0x00002000 +#endif + +#ifndef MCI_OPEN_TYPE_ID +#define MCI_OPEN_TYPE_ID (uint32_t)0x00001000 +#endif + +#ifndef MCI_OPEN_SHAREABLE +#define MCI_OPEN_SHAREABLE (uint32_t)0x00000100 +#endif + +#ifndef MCI_OPEN_ELEMENT +#define MCI_OPEN_ELEMENT (uint32_t)0x00000200 +#endif + +#ifndef MCI_OPEN +#define MCI_OPEN 0x0803 +#endif + +#ifndef MCI_CLOSE +#define MCI_CLOSE 0x0804 +#endif + +#ifndef MCI_WAIT +#define MCI_WAIT (uint32_t)0x00000002 +#endif + +#ifndef MCI_SET +#define MCI_SET 0x080D +#endif + +#ifndef MCI_PLAY +#define MCI_PLAY 0x0806 +#endif + +#ifndef MCI_STOP +#define MCI_STOP 0x0808 +#endif + +#ifndef MCI_STATUS +#define MCI_STATUS 0x0814 +#endif + +#ifndef MCI_PAUSE +#define MCI_PAUSE 0x0809 +#endif + +#ifndef MCI_TO +#define MCI_TO (uint32_t)0x00000008 +#endif + +#ifndef MCI_FROM +#define MCI_FROM (uint32_t)0x00000004 +#endif + +#ifndef MCI_NOTIFY +#define MCI_NOTIFY (uint32_t)0x00000001 +#endif + +#ifndef MCI_STATUS_POSITION +#define MCI_STATUS_POSITION (uint32_t)0x00000002 +#endif + +#ifndef MCI_STATUS_ITEM +#define MCI_STATUS_ITEM (uint32_t)0x00000100 +#endif + +#ifndef MCI_STATUS_MODE +#define MCI_STATUS_MODE (uint32_t)0x00000004 +#endif + +#ifndef MCI_STATUS_LENGTH +#define MCI_STATUS_LENGTH (uint32_t)0x00000001 +#endif + +#ifndef MCI_STATUS_NUMBER_OF_TRACKS +#define MCI_STATUS_NUMBER_OF_TRACKS (uint32_t)0x00000003 +#endif + +#ifndef MCI_TRACK +#define MCI_TRACK (uint32_t)0x00000010 +#endif + +#ifndef MCI_SET_DOOR_OPEN +#define MCI_SET_DOOR_OPEN (uint32_t)0x00000100 +#endif + +#ifndef MCI_MODE_NOT_READY +#define MCI_MODE_NOT_READY 524 +#endif + +#ifndef MCI_MODE_OPEN +#define MCI_MODE_OPEN 530 +#endif + +#ifndef MCI_MODE_STOP +#define MCI_MODE_STOP 525 +#endif + +#ifndef MCI_MODE_PLAY +#define MCI_MODE_PLAY 526 +#endif + +#ifndef MCI_MODE_PAUSE +#define MCI_MODE_PAUSE 529 +#endif + +#ifndef MCI_SET_TIME_FORMAT +#define MCI_SET_TIME_FORMAT (uint32_t)0x00000400 +#endif + +#ifndef MCI_FORMAT_MSF +#define MCI_FORMAT_MSF 2 +#endif + #include "SDL_cdrom.h" #include "../SDL_syscdrom.h"