cscg22-gearboy

CSCG 2022 Challenge 'Gearboy'
git clone https://git.sinitax.com/sinitax/cscg22-gearboy
Log | Files | Refs | sfeed.txt

SDL_directx.h (3004B)


      1/*
      2  Simple DirectMedia Layer
      3  Copyright (C) 1997-2014 Sam Lantinga <slouken@libsdl.org>
      4
      5  This software is provided 'as-is', without any express or implied
      6  warranty.  In no event will the authors be held liable for any damages
      7  arising from the use of this software.
      8
      9  Permission is granted to anyone to use this software for any purpose,
     10  including commercial applications, and to alter it and redistribute it
     11  freely, subject to the following restrictions:
     12
     13  1. The origin of this software must not be misrepresented; you must not
     14     claim that you wrote the original software. If you use this software
     15     in a product, an acknowledgment in the product documentation would be
     16     appreciated but is not required.
     17  2. Altered source versions must be plainly marked as such, and must not be
     18     misrepresented as being the original software.
     19  3. This notice may not be removed or altered from any source distribution.
     20*/
     21#include "../../SDL_internal.h"
     22
     23#ifndef _SDL_directx_h
     24#define _SDL_directx_h
     25
     26/* Include all of the DirectX 8.0 headers and adds any necessary tweaks */
     27
     28#include "SDL_windows.h"
     29#include <mmsystem.h>
     30#ifndef WIN32
     31#define WIN32
     32#endif
     33#undef  WINNT
     34
     35/* Far pointers don't exist in 32-bit code */
     36#ifndef FAR
     37#define FAR
     38#endif
     39
     40/* Error codes not yet included in Win32 API header files */
     41#ifndef MAKE_HRESULT
     42#define MAKE_HRESULT(sev,fac,code) \
     43    ((HRESULT)(((unsigned long)(sev)<<31) | ((unsigned long)(fac)<<16) | ((unsigned long)(code))))
     44#endif
     45
     46#ifndef S_OK
     47#define S_OK        (HRESULT)0x00000000L
     48#endif
     49
     50#ifndef SUCCEEDED
     51#define SUCCEEDED(x)    ((HRESULT)(x) >= 0)
     52#endif
     53#ifndef FAILED
     54#define FAILED(x)   ((HRESULT)(x)<0)
     55#endif
     56
     57#ifndef E_FAIL
     58#define E_FAIL      (HRESULT)0x80000008L
     59#endif
     60#ifndef E_NOINTERFACE
     61#define E_NOINTERFACE   (HRESULT)0x80004002L
     62#endif
     63#ifndef E_OUTOFMEMORY
     64#define E_OUTOFMEMORY   (HRESULT)0x8007000EL
     65#endif
     66#ifndef E_INVALIDARG
     67#define E_INVALIDARG    (HRESULT)0x80070057L
     68#endif
     69#ifndef E_NOTIMPL
     70#define E_NOTIMPL   (HRESULT)0x80004001L
     71#endif
     72#ifndef REGDB_E_CLASSNOTREG
     73#define REGDB_E_CLASSNOTREG (HRESULT)0x80040154L
     74#endif
     75
     76/* Severity codes */
     77#ifndef SEVERITY_ERROR
     78#define SEVERITY_ERROR  1
     79#endif
     80
     81/* Error facility codes */
     82#ifndef FACILITY_WIN32
     83#define FACILITY_WIN32  7
     84#endif
     85
     86#ifndef FIELD_OFFSET
     87#define FIELD_OFFSET(type, field)    ((LONG)&(((type *)0)->field))
     88#endif
     89
     90/* DirectX headers (if it isn't included, I haven't tested it yet)
     91 */
     92/* We need these defines to mark what version of DirectX API we use */
     93#define DIRECTDRAW_VERSION  0x0700
     94#define DIRECTSOUND_VERSION 0x0800
     95#define DIRECTINPUT_VERSION 0x0800 /* Need version 7 for force feedback. Need version 8 so IDirectInput8_EnumDevices doesn't leak like a sieve... */
     96
     97#ifdef HAVE_DDRAW_H
     98#include <ddraw.h>
     99#endif
    100#ifdef HAVE_DSOUND_H
    101#include <dsound.h>
    102#endif
    103#ifdef HAVE_DINPUT_H
    104#include <dinput.h>
    105#else
    106typedef struct { int unused; } DIDEVICEINSTANCE;
    107#endif
    108
    109#endif /* _SDL_directx_h */
    110
    111/* vi: set ts=4 sw=4 expandtab: */