| diff -ru SDL-1.2.15.orig/src/cdrom/win32/SDL_syscdrom.c SDL-1.2.15/src/cdrom/win32/SDL_syscdrom.c |
| |
| |
| @@ -29,6 +29,187 @@ |
| #include <windows.h> |
| #include <mmsystem.h> |
| |
| +/* 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" |
| |