Win64 support! (Meaning it works, not that we recommend it for everyday use.)

This includes a complete Windows header and library refresh, including the addition of 64-bit compiled libs:
*libogg 1.3.0
*libvorbis 1.3.3
*zlib 1.2.7
*libpng 1.5.13
*libvpx 9a3de881c0e681ba1a79a166a86308bbc84b4acd
*SDL_mixer 1.2.12 (for RENDERTYPE=SDL)
*DirectX import libraries: dsound and dxguid (now included)

To build in 64-bit, you essentially need MinGW's MSYS (but not MinGW itself) and MinGW-w64 at the top of your PATH. The target is automatically detected using `$(CC) -dumpmachine`. The EDukeWiki will get detailed instrucitons.

All compiler and linker warnings when building in 64-bit mode have been fixed.

Remaining 64-bit to-do:
 - The ebacktrace dll does not build under 64-bit. It uses code specific to the format of 32-bit executables and will have to be ported to work with 64-bit executables. A future 64-bit version will be named ebacktrace1-64.dll.
 - RENDERTYPE=SDL crashes in SDL_mixer's Mix_Linked_Version().
 - DirectInput gives an error and does not function. This only affects joysticks, and the error never happens without any plugged in.
 - Port the classic renderer ASM to 64-bit. (Just kidding, this is way out of my league.)

This commit includes a fair bit of Makefile development spanning all platforms, including simplifying the SDLCONFIG code, fixing build on Mac OS X (thanks rhoenie!), globally factoring Apple brew/port inclusion, enforcing that all -L come before all -l, and ensuring that $(shell ) is always :='d.

In addition, I have resurrected the old GCC_MAJOR and GCC_MINOR detection using `$(CC) -dumpversion`, but I have made it failsafe in case the command fails or the version is manually specified. I have applied this new fine-grained detection where applicable, including allowing LTO, and restraining -W's to versions that support them.

git-svn-id: https://svn.eduke32.com/eduke32@3278 1a8010ca-5511-0410-912e-c29ae57300e0
This commit is contained in:
hendricks266 2012-12-13 02:37:20 +00:00
parent 70aecb2e75
commit dac94ce284
76 changed files with 1852 additions and 142 deletions

View file

@ -39,6 +39,7 @@ GAMELDFLAGS=
EDITORLDFLAGS= EDITORLDFLAGS=
LIBS= LIBS=
LIBDIRS=
JAUDIOLIBDIR=$(SRC)/jaudiolib JAUDIOLIBDIR=$(SRC)/jaudiolib
JAUDIOLIB=libjfaudiolib.a JAUDIOLIB=libjfaudiolib.a
@ -55,16 +56,8 @@ endif
include $(EROOT)/Makefile.shared include $(EROOT)/Makefile.shared
OURLIBS=$(LIBS) $(BASELIBS) $(BUILDLIBS) # The reasoning for this order is so SDL_mixer can link to SDL, etc.
OURLIBS=$(LIBDIRS) $(BASELIBDIRS) $(BUILDLIBDIRS) $(LIBS) $(BASELIBS) $(BUILDLIBS)
ifneq (0,$(USE_LIBVPX))
ifeq ($(PLATFORM),DARWIN)
# vpx headers and lib from 'port install libvpx' or 'brew install libvpx'
LIBS+= -L/opt/local/lib -L/usr/local/lib
OURCOMMONFLAGS+= -I/opt/local/include -I/usr/local/include
endif
endif
EDUKE32 ?= eduke32$(EXESUFFIX) EDUKE32 ?= eduke32$(EXESUFFIX)
@ -81,17 +74,9 @@ EBACKTRACEDLL_TARGET:=$(EBACKTRACEDLL)
ifeq ($(PLATFORM),WINDOWS) ifeq ($(PLATFORM),WINDOWS)
OBJ=obj_win OBJ=obj_win
EOBJ=eobj_win EOBJ=eobj_win
LIBS+= $(L_SSP) -Wl,--enable-auto-import
else else
ifeq ($(SUBPLATFORM),LINUX) ifeq ($(SUBPLATFORM),LINUX)
LIBS+= -ldl -lrt LIBS+= -lrt
endif
LIBS+= -pthread
ifneq (0,$(PROFILER))
ifneq ($(PLATFORM),DARWIN)
LIBS+= -lprofiler
endif
debug+= -pg
endif endif
OBJ=obj OBJ=obj
EOBJ=eobj EOBJ=eobj
@ -203,7 +188,8 @@ ifeq ($(SUBPLATFORM),LINUX)
endif endif
ifeq ($(PLATFORM),WII) ifeq ($(PLATFORM),WII)
LIBS += -L$(LIBOGC_LIB) -L$(PORTLIBS)/lib -lvorbisidec -lfreetype -lfat -lwiiuse -lbte -logc -lm -lwiikeyboard LIBS += -lvorbisidec -lfreetype -lfat -lwiiuse -lbte -logc -lm -lwiikeyboard
LIBDIRS += -L$(LIBOGC_LIB) -L$(PORTLIBS)/lib
endif endif
ifeq ($(PLATFORM),DARWIN) ifeq ($(PLATFORM),DARWIN)
@ -223,7 +209,7 @@ ifeq ($(PLATFORM),DARWIN)
OURCOMMONFLAGS += -I$(APPLE_FRAMEWORKS)/SDL.framework/Headers \ OURCOMMONFLAGS += -I$(APPLE_FRAMEWORKS)/SDL.framework/Headers \
-I$(APPLE_FRAMEWORKS)/SDL_mixer.framework/Headers -I$(APPLE_FRAMEWORKS)/SDL_mixer.framework/Headers
LIBS += -LApple/lib -lvorbisfile -lvorbis -logg -lm \ LIBS += -lvorbisfile -lvorbis -logg -lm \
-Wl,-framework,SDL -Wl,-framework,SDL_mixer Apple/lib/libSDLmain.a \ -Wl,-framework,SDL -Wl,-framework,SDL_mixer Apple/lib/libSDLmain.a \
-Wl,-framework,Cocoa -Wl,-framework,Carbon -Wl,-framework,OpenGL \ -Wl,-framework,Cocoa -Wl,-framework,Carbon -Wl,-framework,OpenGL \
-Wl,-framework,CoreMidi -Wl,-framework,AudioUnit \ -Wl,-framework,CoreMidi -Wl,-framework,AudioUnit \
@ -253,7 +239,8 @@ endif
ifeq ($(PLATFORM),WINDOWS) ifeq ($(PLATFORM),WINDOWS)
OURCOMMONFLAGS += -fno-pic -DUNDERSCORES OURCOMMONFLAGS += -fno-pic -DUNDERSCORES
OURASFLAGS+= -DUNDERSCORES -f win32 OURASFLAGS+= -DUNDERSCORES -f win32
LIBS += -L$(JAUDIOLIBDIR)/third-party/mingw32/lib -lvorbisfile -lvorbis -logg -lwsock32 -lws2_32 -lwinmm LIBS += -lvorbisfile -lvorbis -logg
LIBDIRS += -L$(abspath $(JAUDIOLIBDIR)/third-party/mingw32/lib$(WINLIB))
GAMEOBJS+= $(OBJ)/gameres.$o $(OBJ)/winbits.$o $(OBJ)/startwin.game.$o GAMEOBJS+= $(OBJ)/gameres.$o $(OBJ)/winbits.$o $(OBJ)/startwin.game.$o
EDITOROBJS+= $(OBJ)/buildres.$o EDITOROBJS+= $(OBJ)/buildres.$o
JAUDIOLIB=libjfaudiolib_win32.a JAUDIOLIB=libjfaudiolib_win32.a
@ -268,7 +255,8 @@ endif
ifeq ($(RENDERTYPE),SDL) ifeq ($(RENDERTYPE),SDL)
ifeq ($(PLATFORM),WINDOWS) ifeq ($(PLATFORM),WINDOWS)
OURCOMMONFLAGS += -I$(SDLROOT)/include -I$(SDLROOT)/include/SDL OURCOMMONFLAGS += -I$(SDLROOT)/include -I$(SDLROOT)/include/SDL
LIBS+= Windows/lib/SDL_mixer.lib -L$(SDLROOT)/lib LIBS+= Windows/lib$(WINLIB)/SDL_mixer.lib
LIBDIRS+= -L$(SDLROOT)/lib
else else
ifneq ($(PLATFORM),DARWIN) ifneq ($(PLATFORM),DARWIN)
LIBS+= -l$(SDLNAME)_mixer LIBS+= -l$(SDLNAME)_mixer
@ -289,7 +277,9 @@ endif
OURCOMMONFLAGS+= $(BUILDCOMMONFLAGS) OURCOMMONFLAGS+= $(BUILDCOMMONFLAGS)
ifeq ($(PLATFORM),WINDOWS) ifeq ($(PLATFORM),WINDOWS)
PRINTLDFLAGS+= -Wl,--large-address-aware ifneq ($(findstring x86_64,$(COMPILERTARGET)),x86_64)
PRINTLDFLAGS+= -Wl,--large-address-aware
endif
endif endif
#ifneq (0,$(KRANDDEBUG)) #ifneq (0,$(KRANDDEBUG))
ifeq ($(PLATFORM),DARWIN) ifeq ($(PLATFORM),DARWIN)

View file

@ -30,19 +30,43 @@ ifneq (0,$(CLANG))
# RANLIB=llvm-ranlib # RANLIB=llvm-ranlib
endif endif
ifeq ($(PLATFORM),WII)
ifeq ($(strip $(DEVKITPPC)),)
$(error "Please set DEVKITPPC in your environment. export DEVKITPPC=<path to>devkitPPC")
endif
include $(DEVKITPPC)/wii_rules
RANLIB=powerpc-eabi-ranlib
STRIP=powerpc-eabi-strip
endif
# GCC version, for conditional selection of flags. # GCC version, for conditional selection of flags.
# This is easier than trying to squeeze it out of gcc --version: ifndef GCC_MAJOR
GCC_MAJOR?=4 GCC_MAJOR := $(shell $(CC) -dumpversion 2>&1 | cut -d'.' -f1)
endif
ifeq ($(GCC_MAJOR),)
GCC_MAJOR := 4
endif
ifndef GCC_MINOR
GCC_MINOR := $(shell $(CC) -dumpversion 2>&1 | cut -d'.' -f2)
endif
ifeq ($(GCC_MINOR),)
GCC_MINOR := 7
endif
# Detect machine architecture # Detect machine architecture
SYSARCH?=$(strip $(shell uname -m)) ifndef SYSARCH
SYSARCH:=$(strip $(shell uname -m))
endif
# Detect the platform if it wasn't explicitly given to us from # Detect the platform if it wasn't explicitly given to us from
# the outside world. This allows cross-compilation by overriding # the outside world. This allows cross-compilation by overriding
# CC and giving us PLATFORM specifically. # CC and giving us PLATFORM specifically.
# #
ifndef PLATFORM ifndef PLATFORM
uname=$(strip $(shell uname -s)) uname:=$(strip $(shell uname -s))
PLATFORM=UNKNOWN PLATFORM=UNKNOWN
ifeq ($(findstring Linux,$(uname)),Linux) ifeq ($(findstring Linux,$(uname)),Linux)
PLATFORM=LINUX PLATFORM=LINUX
@ -89,14 +113,16 @@ ifndef SUBPLATFORM
endif endif
endif endif
# Binary suffix override: # Binary suffix override:
EXESUFFIX_OVERRIDE ?= EXESUFFIX_OVERRIDE ?=
# Mac OS X Frameworks location # Mac OS X Frameworks location
# Like above, use absolute paths. # Like above, use absolute paths.
APPLE_FRAMEWORKS ?=/Library/Frameworks APPLE_FRAMEWORKS ?=/Library/Frameworks
# Since the OS X startup window is generating errors, disable it by default. # Since the OS X startup window is generating errors, give it an off switch.
OSX_STARTUPWINDOW ?= 0 OSX_STARTUPWINDOW ?= 1
# Engine options # Engine options
# USE_OPENGL - enables basic OpenGL Polymost renderer # USE_OPENGL - enables basic OpenGL Polymost renderer
@ -152,10 +178,7 @@ ifndef LTO
endif endif
endif endif
ifeq (4,$(GCC_MAJOR)) ifeq (1,$(strip $(shell expr $(GCC_MAJOR) \>= 4)))
endif
ifeq (4,$(GCC_MAJOR))
F_NO_STACK_PROTECTOR := -fno-stack-protector F_NO_STACK_PROTECTOR := -fno-stack-protector
# there are some link-time issues with stack protectors, so make it possible to override # there are some link-time issues with stack protectors, so make it possible to override
F_STACK_PROTECTOR_ALL ?= -fstack-protector-all F_STACK_PROTECTOR_ALL ?= -fstack-protector-all
@ -167,8 +190,24 @@ ifeq (4,$(GCC_MAJOR))
W_STRICT_OVERFLOW := -Wstrict-overflow=1 W_STRICT_OVERFLOW := -Wstrict-overflow=1
endif endif
ifeq ($(PLATFORM),WINDOWS)
ifndef COMPILERTARGET
COMPILERTARGET:=$(strip $(shell $(CC) -dumpmachine))
endif
WINBITS=32
ifeq ($(findstring x86_64,$(COMPILERTARGET)),x86_64)
SYSARCH:=x86_64
WINBITS=64
endif
WINLIB?=/$(WINBITS)
endif
ifeq ($(PLATFORM),DARWIN) ifeq ($(PLATFORM),DARWIN)
DARWINVERSION?=$(strip $(shell uname -r | cut -d . -f 1)) ifndef DARWINVERSION
DARWINVERSION:=$(strip $(shell uname -r | cut -d . -f 1))
endif
ifeq (1,$(strip $(shell expr $(DARWINVERSION) \< 10))) ifeq (1,$(strip $(shell expr $(DARWINVERSION) \< 10)))
DARWIN9 ?= 1 DARWIN9 ?= 1
endif endif
@ -221,18 +260,26 @@ endif
# compiler flags etc. # compiler flags etc.
BASECFLAGS= -Wno-attributes BASECFLAGS=
BASECONLYFLAGS=-Wimplicit -Wdeclaration-after-statement BASECONLYFLAGS=-Wimplicit -Wdeclaration-after-statement
BASECXXFLAGS= -fno-exceptions -fno-rtti -fpermissive -Wno-write-strings -Wno-narrowing BASECXXFLAGS= -fno-exceptions -fno-rtti -fpermissive -Wno-write-strings -Wno-narrowing
BASEASFLAGS=-s #-g BASEASFLAGS=-s #-g
BASELDFLAGS= BASELDFLAGS=
ifeq (1,$(strip $(shell expr $(GCC_MAJOR) \>= 4)))
ifeq (1,$(strip $(shell expr $(GCC_MINOR) \>= 1)))
BASECFLAGS+= -Wno-attributes
endif
endif
ifeq ($(PLATFORM),WII) ifeq ($(PLATFORM),WII)
override USE_LIBPNG = 0 override USE_LIBPNG = 0
override USE_LIBVPX = 0 override USE_LIBVPX = 0
endif endif
BASELIBS=-lm BASELIBS=-lm
BASELIBDIRS=
ifneq (0,$(USE_LIBVPX)) ifneq (0,$(USE_LIBVPX))
# On Windows, we link statically to libvpx # On Windows, we link statically to libvpx
BASELIBS+= -lvpx BASELIBS+= -lvpx
@ -255,6 +302,14 @@ ifneq (0,$(RELEASE))
debug+= -O$(OPTLEVEL) debug+= -O$(OPTLEVEL)
ifeq (0,$(CLANG)) ifeq (0,$(CLANG))
debug+= -funswitch-loops debug+= -funswitch-loops
ifeq (1,$(strip $(shell expr $(GCC_MAJOR) \< 4)))
LTO=0
endif
ifeq (1,$(strip $(shell expr $(GCC_MAJOR) = 4)))
ifeq (1,$(strip $(shell expr $(GCC_MINOR) \< 6)))
LTO=0
endif
endif
endif endif
ifeq (0,$(DEBUGANYWAY)) ifeq (0,$(DEBUGANYWAY))
debug+= -fomit-frame-pointer -DNDEBUG debug+= -fomit-frame-pointer -DNDEBUG
@ -290,8 +345,9 @@ else
debug+= -fmudflapth debug+= -fmudflapth
endif endif
ifneq (0,$(PROFILER)) ifneq (0,$(PROFILER))
# might need to be disabled for Darwin: ifneq ($(PLATFORM),DARWIN)
BASELIBS+= -lprofiler BASELIBS+= -lprofiler
endif
debug+= -pg debug+= -pg
endif endif
ifneq (0,$(KRANDDEBUG)) ifneq (0,$(KRANDDEBUG))
@ -299,12 +355,15 @@ else
endif endif
endif endif
W_NO_UNUSED_RESULT :=
ifeq (0,$(CLANG)) ifeq (0,$(CLANG))
# W_NO_UNUSED_RESULT := $(shell echo '' | $(CC) -E -Wno-unused-result - 2>/dev/null && echo -Wno-unused-result) # W_NO_UNUSED_RESULT := $(shell echo '' | $(CC) -E -Wno-unused-result - 2>/dev/null && echo -Wno-unused-result)
# W_NO_UNUSED_RESULT := $(findstring -Wno-unused-result,$(W_NO_UNUSED_RESULT)) # W_NO_UNUSED_RESULT := $(findstring -Wno-unused-result,$(W_NO_UNUSED_RESULT))
W_NO_UNUSED_RESULT := -Wno-unused-result ifeq (1,$(strip $(shell expr $(GCC_MAJOR) \>= 4)))
else ifeq (1,$(strip $(shell expr $(GCC_MINOR) \>= 4)))
W_NO_UNUSED_RESULT := W_NO_UNUSED_RESULT := -Wno-unused-result
endif
endif
endif endif
CWARNS := -W -Wall -Werror-implicit-function-declaration \ CWARNS := -W -Wall -Werror-implicit-function-declaration \
@ -330,12 +389,15 @@ endif
# Set up target-specific headers and libs that work across all Makefiles # Set up target-specific headers and libs that work across all Makefiles
ifeq ($(PLATFORM),WINDOWS) ifeq ($(PLATFORM),WINDOWS)
BASELIBS+= -L$(abspath $(dir $(MAKEFILE_COMMON))Windows/lib) BASELIBDIRS+= -L$(abspath $(dir $(MAKEFILE_COMMON))Windows/lib$(WINLIB))
BASECOMMONFLAGS+= -I$(abspath $(dir $(MAKEFILE_COMMON))Windows/include) BASECOMMONFLAGS+= -I$(abspath $(dir $(MAKEFILE_COMMON))Windows/include)
endif endif
ifeq ($(PLATFORM),DARWIN) ifeq ($(PLATFORM),DARWIN)
BASELIBS+= -L$(abspath $(dir $(MAKEFILE_COMMON))Apple/lib) # include port and brew
BASECOMMONFLAGS+= -I$(abspath $(dir $(MAKEFILE_COMMON))Apple/include) BASELIBDIRS+= -L$(abspath $(dir $(MAKEFILE_COMMON))Apple/lib) \
-L/opt/local/lib -L/usr/local/lib
BASECOMMONFLAGS+= -I$(abspath $(dir $(MAKEFILE_COMMON))Apple/include) \
-I/opt/local/include -I/sw/include -I/usr/local/include
endif endif
#### Lunatic development, do not touch! #### Lunatic development, do not touch!

View file

@ -9,6 +9,16 @@ INC=$(SRC)
RSRC=rsrc RSRC=rsrc
o=obj o=obj
WINLIB=\32
DXLIB=\x86
# When we support 64-bit targets with MSVC, if a 64-bit build is selected:
# WINLIB=\64
# DXLIB=\x64 # Presumably. Could be x86_64, amd64, etc.
# verify if anything needs to happen with vorbisfile_static.lib vorbis_static.lib ogg_static.lib
# TODO: add MSVC support for libvpx, libpng, zlib
JAUDIOLIBDIR=$(SRC)\jaudiolib JAUDIOLIBDIR=$(SRC)\jaudiolib
JAUDIOLIB=libjfaudiolib.lib JAUDIOLIB=libjfaudiolib.lib
@ -150,12 +160,12 @@ EDITOROBJS=$(OBJ)\astub.$o \
all: eduke32$(EXESUFFIX) mapster32$(EXESUFFIX) # duke3d_w32$(EXESUFFIX); all: eduke32$(EXESUFFIX) mapster32$(EXESUFFIX) # duke3d_w32$(EXESUFFIX);
eduke32$(EXESUFFIX): $(GAMEOBJS) $(EOBJ)\$(ENGINELIB) $(JAUDIOLIBDIR)\$(JAUDIOLIB) $(ENETDIR)\$(ENETLIB) eduke32$(EXESUFFIX): $(GAMEOBJS) $(EOBJ)\$(ENGINELIB) $(JAUDIOLIBDIR)\$(JAUDIOLIB) $(ENETDIR)\$(ENETLIB)
$(LINK) /OUT:$@ /SUBSYSTEM:WINDOWS /LIBPATH:$(DXROOT)\lib\x86 $(flags_link) /MAP $** $(LIBS) $(LINK) /OUT:$@ /SUBSYSTEM:WINDOWS /LIBPATH:$(DXROOT)\lib$(DXLIB) $(flags_link) /MAP $** $(LIBS)
$(MT) -manifest $(RSRC)\manifest.game.xml -hashupdate -outputresource:$@ -out:$@.manifest $(MT) -manifest $(RSRC)$(WINLIB)\manifest.game.xml -hashupdate -outputresource:$@ -out:$@.manifest
mapster32$(EXESUFFIX): $(EDITOROBJS) $(EOBJ)\$(ENGINELIB) $(EOBJ)\$(EDITORLIB) $(JAUDIOLIBDIR)\$(JAUDIOLIB) mapster32$(EXESUFFIX): $(EDITOROBJS) $(EOBJ)\$(ENGINELIB) $(EOBJ)\$(EDITORLIB) $(JAUDIOLIBDIR)\$(JAUDIOLIB)
$(LINK) /OUT:$@ /SUBSYSTEM:WINDOWS /LIBPATH:$(DXROOT)\lib\x86 $(flags_link) /MAP $** $(LIBS) $(LINK) /OUT:$@ /SUBSYSTEM:WINDOWS /LIBPATH:$(DXROOT)\lib$(DXLIB) $(flags_link) /MAP $** $(LIBS)
$(MT) -manifest $(RSRC)\manifest.build.xml -hashupdate -outputresource:$@ -out:$@.manifest $(MT) -manifest $(RSRC)$(WINLIB)\manifest.build.xml -hashupdate -outputresource:$@ -out:$@.manifest
!include Makefile.deps !include Makefile.deps

View file

@ -45,6 +45,8 @@
#define _FACDD 0x876 #define _FACDD 0x876
#define MAKE_DDHRESULT( code ) MAKE_HRESULT( 1, _FACDD, code ) #define MAKE_DDHRESULT( code ) MAKE_HRESULT( 1, _FACDD, code )
#include "dx_compat.h" // EDuke32
#ifdef __cplusplus #ifdef __cplusplus
extern "C" { extern "C" {
#endif #endif

View file

@ -20,6 +20,8 @@
#endif /* DIJ_RINGZERO */ #endif /* DIJ_RINGZERO */
#include "dx_compat.h" // EDuke32
#ifdef __cplusplus #ifdef __cplusplus
extern "C" { extern "C" {
#endif #endif

View file

@ -16,6 +16,8 @@
#define DIRECTSOUND_VERSION 0x0900 /* Version 9.0 */ #define DIRECTSOUND_VERSION 0x0900 /* Version 9.0 */
#endif #endif
#include "dx_compat.h" // EDuke32
#ifdef __cplusplus #ifdef __cplusplus
extern "C" { extern "C" {
#endif // __cplusplus #endif // __cplusplus

View file

@ -0,0 +1,28 @@
// MinGW-w64 headers are deficient.
// Here, account for CINTERFACE because they don't.
#ifdef REFGUID
# undef REFGUID
#endif
#ifdef REFIID
# undef REFIID
#endif
#ifdef REFCLSID
# undef REFCLSID
#endif
#ifdef REFFMTID
# undef REFFMTID
#endif
// copied from MinGW's <basetyps.h>
#if defined (__cplusplus) && !defined (CINTERFACE)
# define REFGUID const GUID&
# define REFIID const IID&
# define REFCLSID const CLSID&
# define REFFMTID const FMTID&
#else
# define REFGUID const GUID* const
# define REFIID const IID* const
# define REFCLSID const CLSID* const
# define REFFMTID const FMTID* const
#endif

View file

@ -49,15 +49,22 @@ extern "C" {
#ifndef DEPRECATED #ifndef DEPRECATED
#if defined(__GNUC__) && __GNUC__ #if defined(__GNUC__) && __GNUC__
#define DEPRECATED __attribute__ ((deprecated)) #define DEPRECATED __attribute__ ((deprecated))
#define DECLSPEC_DEPRECATED /**< \copydoc #DEPRECATED */
#elif defined(_MSC_VER) #elif defined(_MSC_VER)
#define DEPRECATED #define DEPRECATED
#define DECLSPEC_DEPRECATED __declspec(deprecated) /**< \copydoc #DEPRECATED */
#else #else
#define DEPRECATED #define DEPRECATED
#endif
#endif /* DEPRECATED */
#ifndef DECLSPEC_DEPRECATED
#if defined(__GNUC__) && __GNUC__
#define DECLSPEC_DEPRECATED /**< \copydoc #DEPRECATED */
#elif defined(_MSC_VER)
#define DECLSPEC_DEPRECATED __declspec(deprecated) /**< \copydoc #DEPRECATED */
#else
#define DECLSPEC_DEPRECATED /**< \copydoc #DEPRECATED */ #define DECLSPEC_DEPRECATED /**< \copydoc #DEPRECATED */
#endif #endif
#endif #endif /* DECLSPEC_DEPRECATED */
/*!\brief Decorator indicating a function is potentially unused */ /*!\brief Decorator indicating a function is potentially unused */
#ifdef UNUSED #ifdef UNUSED

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View file

@ -0,0 +1,115 @@
Instructions for Building EDuke32's Library Dependencies Targeting Win32 and Win64
First, follow these instructions:
http://wiki.eduke32.com/wiki/Building_EDuke32_on_Windows
Download the latest sources from:
https://www.xiph.org/downloads/
http://zlib.net/
http://www.libpng.org/pub/png/libpng.html
http://www.webmproject.org/code/
http://www.libsdl.org/download-1.2.php
http://www.libsdl.org/projects/SDL_mixer/
The build output listed as "Desired Results" is what EDuke32 needs to function.
The desired results for each library in some cases may need to be installed to the compiler. "x depends on the results of y to compile" means that the build output of x must be added to the compiler in this way. Copy files listed in each category to the appropriate destinations:
For MinGW (MinGW32):
from the compiler root (ex. C:\MinGW\)
headers: include\
libraries: lib\
For MinGW-w64:
from the compiler root (ex. C:\MinGW-w64\mingw32-dw2\)
headers: <target>-w64-mingw32\include\
libraries: <target>-w64-mingw32\lib\
Binaries need to be present with the finished EDuke32 executables. They are not needed during compilation.
NB: Text in [] are commands to be pasted into the Windows command prompt, sans [].
http://wiki.eduke32.com/wiki/Working_with_the_Windows_Command_Prompt
libogg:
To build:
[sh ./configure && make]
Desired Results:
- headers: ogg\config_types.h ogg\ogg.h ogg\os_types.h
- libraries: libogg.a
libvorbis:
To build:
[sh ./configure && make]
Desired Results:
- headers: vorbis\codec.h vorbis\vorbisfile.h
- libraries: libvorbis.a libvorbisfile.a
libvorbis depends on the results of libogg to compile.
zlib:
You may want to change -O3 to -O2 in win32\Makefile.gcc for stability and possibly performance benefits.
To build:
[make -f win32\Makefile.gcc]
[ar rcs libz_mini.a crc32.o deflate.o adler32.o zutil.o trees.o]
Desired Results:
- headers: (none)
- libraries: libz_mini.a
libpng:
Edit scripts\Makefile.gcc so that ZLIBINC and ZLIBLIB point to the directory of zlib from above, or, rename your zlib directory so that, relative to the libpng directory, it is "../zlib". You will get a compile-time error if this is omitted or done incorrectly.
Copy the file "minipng.dfa" to the root of the libpng data.
To build:
[make -f scripts/pnglibconf.mak DFA_XTRA=./minipng.dfa CPP="gcc -E"]
[make -f scripts/makefile.gcc libpng.a]
[ren libpng.a libpng_mini.a]
Desired Results:
- headers: png.h pngconf.h pnglibconf.h
- libraries: libpng_mini.a
libvpx:
Download the binary of yasm (http://yasm.tortall.net/) for your host system architecture. Both builds target both architectures.
The build environment needs pr.exe (https://mingw-lib.googlecode.com/files/coreutils-5.97-MSYS-1.0.11-snapshot.tar.bz2).
If the configure scripts do not recognize your 64-bit compiler, you may need to apply the included patch "libvpx with MinGW-w64.patch".
To build:
[sh ./configure --disable-vp8-encoder --disable-multithread --disable-spatial-resampling --as=yasm && make]
Desired Results:
- headers: vpx\vp8.h vpx\vp8dx.h vpx\vpx_codec.h vpx\vpx_codec_impl_bottom.h vpx\vpx_codec_impl_top.h vpx\vpx_decoder.h vpx\vpx_decoder_compat.h vpx\vpx_image.h vpx\vpx_integer.h
- libraries: libvpx.a libvpx_g.a
SDL:
To build:
[sh ./configure && make]
Desired Results:
- headers: SDL_*.h
- libraries: libSDL.a libSDL.dll.a libSDLmain.a
- binaries: SDL.dll
SDL_mixer:
Download SDL_mixer-devel-<version>-VC.zip.
The library used for linking can be found at these paths:
32-bit: SDL_mixer-<version>/lib/x86/SDL_mixer.lib
64-bit: SDL_mixer-<version>/lib/x64/SDL_mixer.lib
Compiling SDL_mixer has not been shown to work with either MinGW. If you would like to try anyway:
To build:
[sh ./configure && make]
SDL_mixer depends on the results of SDL to compile. Note that the headers must be installed without the "SDL" prefix directory.
Note: With just this bare bones setup all the external libraries and formats will be disabled, but that's OK.
Desired Results:
- headers: SDL_mixer.h
- libraries: SDL_mixer.lib
- binaries: SDL_mixer.dll
dsound:
dxguid:
See Windows\src\dxlibs.
To build:
[make]
Desired Results:
- headers: ddraw.h dinput.h dsound.h (pre-positioned in Windows\include)
- libraries: libdsound.a libdxguid.a

View file

@ -0,0 +1,32 @@
diff --git a/build/make/configure.sh b/build/make/configure.sh
index c99a01c..0ddbc3f 100755
--- a/build/make/configure.sh
+++ b/build/make/configure.sh
@@ -641,9 +641,14 @@ process_common_toolchain() {
tgt_isa=x86_64
tgt_os=darwin12
;;
- *mingw32*|*cygwin*)
+ *mingw32*|*cygwin*|*win32-gcc*)
[ -z "$tgt_isa" ] && tgt_isa=x86
tgt_os=win32
+ [ "$tgt_isa" == "x86_64" ] && tgt_os=win64
+ ;;
+ *win64-gcc*)
+ [ -z "$tgt_isa" ] && tgt_isa=x86_64
+ tgt_os=win64
;;
*linux*|*bsd*)
tgt_os=linux
diff --git a/configure b/configure
index b3c5fe9..85ef8cf 100755
--- a/configure
+++ b/configure
@@ -127,6 +127,7 @@ all_platforms="${all_platforms} x86_64-darwin12-gcc"
all_platforms="${all_platforms} x86_64-linux-gcc"
all_platforms="${all_platforms} x86_64-linux-icc"
all_platforms="${all_platforms} x86_64-solaris-gcc"
+all_platforms="${all_platforms} x86_64-win32-gcc"
all_platforms="${all_platforms} x86_64-win64-gcc"
all_platforms="${all_platforms} x86_64-win64-vs8"
all_platforms="${all_platforms} x86_64-win64-vs9"

Binary file not shown.

View file

@ -43,7 +43,13 @@
#include <sys/stat.h> #include <sys/stat.h>
#include <time.h> #include <time.h>
#include "compat.h" #include <stdint.h>
#if defined __GNUC__ || defined __clang__
# define ATTRIBUTE(attrlist) __attribute__(attrlist)
#else
# define ATTRIBUTE(attrlist)
#endif
#define BUFFER_MAX (16*1024) #define BUFFER_MAX (16*1024)

View file

@ -0,0 +1,39 @@
# ensure dinput.h can be found before running
%.o: %.c
gcc -I../../include -Wall -Wextra -c $< -o $@
lib%.a: %.def %.o
dlltool -k --output-lib $@ --def $*.def
ar r $@ $*.o
ranlib $@
lib%.a: %.def
dlltool -k --output-lib $@ --def $<
all : libdsound.a libdxguid.a
@ls -l $^
full : libd3d8.a libd3dx8d.a libd3dxof.a libddraw.a libdinput.a libdinput8.a libdplayx.a \
libdpnaddr.a libdpnet.a libdpnlobby.a libdpvoice.a libdsound.a libdsetup.a libdxguid.a
@ls -l $^
@echo move the created libraries to the lib dir.
@echo happy coding !!
libdxguid.a : dxguid.o
ar -r libdxguid.a dxguid.o
ranlib libdxguid.a
libdinput8.a : dinput8.def dinput.o
dlltool -k --output-lib libdinput8.a --def dinput8.def
ar r libdinput8.a dinput.o
ranlib libdinput8.a
clean:
-rm -f *.a *.o

View file

@ -0,0 +1,5 @@
LIBRARY "d3d8.dll"
EXPORTS
ValidatePixelShader
ValidateVertexShader
Direct3DCreate8@4

View file

@ -0,0 +1,155 @@
LIBRARY "d3dx8d.dll"
EXPORTS
D3DXAssembleShader@24
D3DXAssembleShaderFromFileA@20
D3DXAssembleShaderFromFileW@20
D3DXBoxBoundProbe@16
D3DXCheckCubeTextureRequirements@24
D3DXCheckTextureRequirements@28
D3DXCheckVolumeTextureRequirements@32
D3DXCleanMesh@12
D3DXColorAdjustContrast@12
D3DXColorAdjustSaturation@12
D3DXCompileEffect@16
D3DXCompileEffectFromFileA@12
D3DXCompileEffectFromFileW@12
D3DXComputeBoundingBox@20
D3DXComputeBoundingSphere@20
D3DXComputeNormals@4
D3DXCreateBox@24
D3DXCreateBuffer@8
D3DXCreateCubeTexture@28
D3DXCreateCubeTextureFromFileA@12
D3DXCreateCubeTextureFromFileExA@52
D3DXCreateCubeTextureFromFileExW@52
D3DXCreateCubeTextureFromFileInMemory@16
D3DXCreateCubeTextureFromFileInMemoryEx@56
D3DXCreateCubeTextureFromFileW@12
D3DXCreateCylinder@32
D3DXCreateEffect@20
D3DXCreateFont@12
D3DXCreateFontIndirect@12
D3DXCreateMatrixStack@8
D3DXCreateMesh@24
D3DXCreateMeshFVF@24
D3DXCreatePMeshFromStream@24
D3DXCreatePolygon@20
D3DXCreateRenderToEnvMap@24
D3DXCreateRenderToSurface@28
D3DXCreateSPMesh@20
D3DXCreateSkinMesh@28
D3DXCreateSkinMeshFVF@28
D3DXCreateSkinMeshFromMesh@12
D3DXCreateSphere@24
D3DXCreateSprite@8
D3DXCreateTeapot@12
D3DXCreateTextA@28
D3DXCreateTextW@28
D3DXCreateTexture@32
D3DXCreateTextureFromFileA@12
D3DXCreateTextureFromFileExA@56
D3DXCreateTextureFromFileExW@56
D3DXCreateTextureFromFileInMemory@16
D3DXCreateTextureFromFileInMemoryEx@60
D3DXCreateTextureFromFileW@12
D3DXCreateTextureFromResourceA@16
D3DXCreateTextureFromResourceExA@60
D3DXCreateTextureFromResourceExW@60
D3DXCreateTextureFromResourceW@16
D3DXCreateTorus@28
D3DXCreateVolumeTexture@36
D3DXDeclaratorFromFVF@8
D3DXFVFFromDeclarator@8
D3DXFilterCubeTexture@16
D3DXFilterTexture@16
D3DXFilterVolumeTexture@16
D3DXGeneratePMesh@28
D3DXGetErrorStringA@12
D3DXGetErrorStringW@12
D3DXGetFVFVertexSize@4
D3DXIntersect@32
D3DXLoadMeshFromX@28
D3DXLoadMeshFromXof@28
D3DXLoadSkinMeshFromXof@36
D3DXLoadSurfaceFromFileA@32
D3DXLoadSurfaceFromFileInMemory@36
D3DXLoadSurfaceFromFileW@32
D3DXLoadSurfaceFromMemory@40
D3DXLoadSurfaceFromResourceA@36
D3DXLoadSurfaceFromResourceW@36
D3DXLoadSurfaceFromSurface@32
D3DXLoadVolumeFromMemory@44
D3DXLoadVolumeFromVolume@32
D3DXMatrixAffineTransformation@20
D3DXMatrixInverse@12
D3DXMatrixLookAtLH@16
D3DXMatrixLookAtRH@16
D3DXMatrixMultiply@12
D3DXMatrixOrthoLH@20
D3DXMatrixOrthoOffCenterLH@28
D3DXMatrixOrthoOffCenterRH@28
D3DXMatrixOrthoRH@20
D3DXMatrixPerspectiveFovLH@20
D3DXMatrixPerspectiveFovRH@20
D3DXMatrixPerspectiveLH@20
D3DXMatrixPerspectiveOffCenterLH@28
D3DXMatrixPerspectiveOffCenterRH@28
D3DXMatrixPerspectiveRH@20
D3DXMatrixReflect@8
D3DXMatrixRotationAxis@12
D3DXMatrixRotationQuaternion@8
D3DXMatrixRotationX@8
D3DXMatrixRotationY@8
D3DXMatrixRotationYawPitchRoll@16
D3DXMatrixRotationZ@8
D3DXMatrixScaling@16
D3DXMatrixShadow@12
D3DXMatrixTransformation@28
D3DXMatrixTranslation@16
D3DXMatrixTranspose@8
D3DXMatrixfDeterminant@4
D3DXPlaneFromPointNormal@12
D3DXPlaneFromPoints@16
D3DXPlaneIntersectLine@16
D3DXPlaneNormalize@8
D3DXPlaneTransform@12
D3DXQuaternionBaryCentric@24
D3DXQuaternionExp@8
D3DXQuaternionInverse@8
D3DXQuaternionLn@8
D3DXQuaternionMultiply@12
D3DXQuaternionNormalize@8
D3DXQuaternionRotationAxis@12
D3DXQuaternionRotationMatrix@8
D3DXQuaternionRotationYawPitchRoll@16
D3DXQuaternionSlerp@16
D3DXQuaternionSquad@24
D3DXQuaternionToAxisAngle@12
D3DXSaveMeshToX@24
D3DXSimplifyMesh@28
D3DXSphereBoundProbe@16
D3DXTesselateMesh@20
D3DXValidMesh@8
D3DXVec2BaryCentric@24
D3DXVec2CatmullRom@24
D3DXVec2Hermite@24
D3DXVec2Normalize@8
D3DXVec2Transform@12
D3DXVec2TransformCoord@12
D3DXVec2TransformNormal@12
D3DXVec3BaryCentric@24
D3DXVec3CatmullRom@24
D3DXVec3Hermite@24
D3DXVec3Normalize@8
D3DXVec3Project@24
D3DXVec3Transform@12
D3DXVec3TransformCoord@12
D3DXVec3TransformNormal@12
D3DXVec3Unproject@24
D3DXVec4BaryCentric@24
D3DXVec4CatmullRom@24
D3DXVec4Cross@16
D3DXVec4Hermite@24
D3DXVec4Normalize@8
D3DXVec4Transform@12
D3DXWeldVertices@24

View file

@ -0,0 +1,3 @@
LIBRARY "d3dxof.dll"
EXPORTS
DirectXFileCreate@4

View file

@ -0,0 +1,15 @@
LIBRARY "DDRAW.dll"
EXPORTS
DDGetAttachedSurfaceLcl@12
DDInternalLock@8
DDInternalUnlock@4
DSoundHelp@12
DirectDrawCreate@12
DirectDrawCreateClipper@12
DirectDrawCreateEx@16
DirectDrawEnumerateA@8
DirectDrawEnumerateExA@12
DirectDrawEnumerateExW@12
DirectDrawEnumerateW@8
GetDDSurfaceLocal@12
GetSurfaceFromDC@12

View file

@ -0,0 +1,531 @@
#include <dinput.h>
/* This is a replacement for parts of dinput.lib. */
const DIOBJECTDATAFORMAT rgodf_c_dfDIKeyboard[] = {
{&GUID_Key, 0, -2147483636, 0},
{&GUID_Key, 1, -2147483380, 0},
{&GUID_Key, 2, -2147483124, 0},
{&GUID_Key, 3, -2147482868, 0},
{&GUID_Key, 4, -2147482612, 0},
{&GUID_Key, 5, -2147482356, 0},
{&GUID_Key, 6, -2147482100, 0},
{&GUID_Key, 7, -2147481844, 0},
{&GUID_Key, 8, -2147481588, 0},
{&GUID_Key, 9, -2147481332, 0},
{&GUID_Key, 10, -2147481076, 0},
{&GUID_Key, 11, -2147480820, 0},
{&GUID_Key, 12, -2147480564, 0},
{&GUID_Key, 13, -2147480308, 0},
{&GUID_Key, 14, -2147480052, 0},
{&GUID_Key, 15, -2147479796, 0},
{&GUID_Key, 16, -2147479540, 0},
{&GUID_Key, 17, -2147479284, 0},
{&GUID_Key, 18, -2147479028, 0},
{&GUID_Key, 19, -2147478772, 0},
{&GUID_Key, 20, -2147478516, 0},
{&GUID_Key, 21, -2147478260, 0},
{&GUID_Key, 22, -2147478004, 0},
{&GUID_Key, 23, -2147477748, 0},
{&GUID_Key, 24, -2147477492, 0},
{&GUID_Key, 25, -2147477236, 0},
{&GUID_Key, 26, -2147476980, 0},
{&GUID_Key, 27, -2147476724, 0},
{&GUID_Key, 28, -2147476468, 0},
{&GUID_Key, 29, -2147476212, 0},
{&GUID_Key, 30, -2147475956, 0},
{&GUID_Key, 31, -2147475700, 0},
{&GUID_Key, 32, -2147475444, 0},
{&GUID_Key, 33, -2147475188, 0},
{&GUID_Key, 34, -2147474932, 0},
{&GUID_Key, 35, -2147474676, 0},
{&GUID_Key, 36, -2147474420, 0},
{&GUID_Key, 37, -2147474164, 0},
{&GUID_Key, 38, -2147473908, 0},
{&GUID_Key, 39, -2147473652, 0},
{&GUID_Key, 40, -2147473396, 0},
{&GUID_Key, 41, -2147473140, 0},
{&GUID_Key, 42, -2147472884, 0},
{&GUID_Key, 43, -2147472628, 0},
{&GUID_Key, 44, -2147472372, 0},
{&GUID_Key, 45, -2147472116, 0},
{&GUID_Key, 46, -2147471860, 0},
{&GUID_Key, 47, -2147471604, 0},
{&GUID_Key, 48, -2147471348, 0},
{&GUID_Key, 49, -2147471092, 0},
{&GUID_Key, 50, -2147470836, 0},
{&GUID_Key, 51, -2147470580, 0},
{&GUID_Key, 52, -2147470324, 0},
{&GUID_Key, 53, -2147470068, 0},
{&GUID_Key, 54, -2147469812, 0},
{&GUID_Key, 55, -2147469556, 0},
{&GUID_Key, 56, -2147469300, 0},
{&GUID_Key, 57, -2147469044, 0},
{&GUID_Key, 58, -2147468788, 0},
{&GUID_Key, 59, -2147468532, 0},
{&GUID_Key, 60, -2147468276, 0},
{&GUID_Key, 61, -2147468020, 0},
{&GUID_Key, 62, -2147467764, 0},
{&GUID_Key, 63, -2147467508, 0},
{&GUID_Key, 64, -2147467252, 0},
{&GUID_Key, 65, -2147466996, 0},
{&GUID_Key, 66, -2147466740, 0},
{&GUID_Key, 67, -2147466484, 0},
{&GUID_Key, 68, -2147466228, 0},
{&GUID_Key, 69, -2147465972, 0},
{&GUID_Key, 70, -2147465716, 0},
{&GUID_Key, 71, -2147465460, 0},
{&GUID_Key, 72, -2147465204, 0},
{&GUID_Key, 73, -2147464948, 0},
{&GUID_Key, 74, -2147464692, 0},
{&GUID_Key, 75, -2147464436, 0},
{&GUID_Key, 76, -2147464180, 0},
{&GUID_Key, 77, -2147463924, 0},
{&GUID_Key, 78, -2147463668, 0},
{&GUID_Key, 79, -2147463412, 0},
{&GUID_Key, 80, -2147463156, 0},
{&GUID_Key, 81, -2147462900, 0},
{&GUID_Key, 82, -2147462644, 0},
{&GUID_Key, 83, -2147462388, 0},
{&GUID_Key, 84, -2147462132, 0},
{&GUID_Key, 85, -2147461876, 0},
{&GUID_Key, 86, -2147461620, 0},
{&GUID_Key, 87, -2147461364, 0},
{&GUID_Key, 88, -2147461108, 0},
{&GUID_Key, 89, -2147460852, 0},
{&GUID_Key, 90, -2147460596, 0},
{&GUID_Key, 91, -2147460340, 0},
{&GUID_Key, 92, -2147460084, 0},
{&GUID_Key, 93, -2147459828, 0},
{&GUID_Key, 94, -2147459572, 0},
{&GUID_Key, 95, -2147459316, 0},
{&GUID_Key, 96, -2147459060, 0},
{&GUID_Key, 97, -2147458804, 0},
{&GUID_Key, 98, -2147458548, 0},
{&GUID_Key, 99, -2147458292, 0},
{&GUID_Key, 100, -2147458036, 0},
{&GUID_Key, 101, -2147457780, 0},
{&GUID_Key, 102, -2147457524, 0},
{&GUID_Key, 103, -2147457268, 0},
{&GUID_Key, 104, -2147457012, 0},
{&GUID_Key, 105, -2147456756, 0},
{&GUID_Key, 106, -2147456500, 0},
{&GUID_Key, 107, -2147456244, 0},
{&GUID_Key, 108, -2147455988, 0},
{&GUID_Key, 109, -2147455732, 0},
{&GUID_Key, 110, -2147455476, 0},
{&GUID_Key, 111, -2147455220, 0},
{&GUID_Key, 112, -2147454964, 0},
{&GUID_Key, 113, -2147454708, 0},
{&GUID_Key, 114, -2147454452, 0},
{&GUID_Key, 115, -2147454196, 0},
{&GUID_Key, 116, -2147453940, 0},
{&GUID_Key, 117, -2147453684, 0},
{&GUID_Key, 118, -2147453428, 0},
{&GUID_Key, 119, -2147453172, 0},
{&GUID_Key, 120, -2147452916, 0},
{&GUID_Key, 121, -2147452660, 0},
{&GUID_Key, 122, -2147452404, 0},
{&GUID_Key, 123, -2147452148, 0},
{&GUID_Key, 124, -2147451892, 0},
{&GUID_Key, 125, -2147451636, 0},
{&GUID_Key, 126, -2147451380, 0},
{&GUID_Key, 127, -2147451124, 0},
{&GUID_Key, 128, -2147450868, 0},
{&GUID_Key, 129, -2147450612, 0},
{&GUID_Key, 130, -2147450356, 0},
{&GUID_Key, 131, -2147450100, 0},
{&GUID_Key, 132, -2147449844, 0},
{&GUID_Key, 133, -2147449588, 0},
{&GUID_Key, 134, -2147449332, 0},
{&GUID_Key, 135, -2147449076, 0},
{&GUID_Key, 136, -2147448820, 0},
{&GUID_Key, 137, -2147448564, 0},
{&GUID_Key, 138, -2147448308, 0},
{&GUID_Key, 139, -2147448052, 0},
{&GUID_Key, 140, -2147447796, 0},
{&GUID_Key, 141, -2147447540, 0},
{&GUID_Key, 142, -2147447284, 0},
{&GUID_Key, 143, -2147447028, 0},
{&GUID_Key, 144, -2147446772, 0},
{&GUID_Key, 145, -2147446516, 0},
{&GUID_Key, 146, -2147446260, 0},
{&GUID_Key, 147, -2147446004, 0},
{&GUID_Key, 148, -2147445748, 0},
{&GUID_Key, 149, -2147445492, 0},
{&GUID_Key, 150, -2147445236, 0},
{&GUID_Key, 151, -2147444980, 0},
{&GUID_Key, 152, -2147444724, 0},
{&GUID_Key, 153, -2147444468, 0},
{&GUID_Key, 154, -2147444212, 0},
{&GUID_Key, 155, -2147443956, 0},
{&GUID_Key, 156, -2147443700, 0},
{&GUID_Key, 157, -2147443444, 0},
{&GUID_Key, 158, -2147443188, 0},
{&GUID_Key, 159, -2147442932, 0},
{&GUID_Key, 160, -2147442676, 0},
{&GUID_Key, 161, -2147442420, 0},
{&GUID_Key, 162, -2147442164, 0},
{&GUID_Key, 163, -2147441908, 0},
{&GUID_Key, 164, -2147441652, 0},
{&GUID_Key, 165, -2147441396, 0},
{&GUID_Key, 166, -2147441140, 0},
{&GUID_Key, 167, -2147440884, 0},
{&GUID_Key, 168, -2147440628, 0},
{&GUID_Key, 169, -2147440372, 0},
{&GUID_Key, 170, -2147440116, 0},
{&GUID_Key, 171, -2147439860, 0},
{&GUID_Key, 172, -2147439604, 0},
{&GUID_Key, 173, -2147439348, 0},
{&GUID_Key, 174, -2147439092, 0},
{&GUID_Key, 175, -2147438836, 0},
{&GUID_Key, 176, -2147438580, 0},
{&GUID_Key, 177, -2147438324, 0},
{&GUID_Key, 178, -2147438068, 0},
{&GUID_Key, 179, -2147437812, 0},
{&GUID_Key, 180, -2147437556, 0},
{&GUID_Key, 181, -2147437300, 0},
{&GUID_Key, 182, -2147437044, 0},
{&GUID_Key, 183, -2147436788, 0},
{&GUID_Key, 184, -2147436532, 0},
{&GUID_Key, 185, -2147436276, 0},
{&GUID_Key, 186, -2147436020, 0},
{&GUID_Key, 187, -2147435764, 0},
{&GUID_Key, 188, -2147435508, 0},
{&GUID_Key, 189, -2147435252, 0},
{&GUID_Key, 190, -2147434996, 0},
{&GUID_Key, 191, -2147434740, 0},
{&GUID_Key, 192, -2147434484, 0},
{&GUID_Key, 193, -2147434228, 0},
{&GUID_Key, 194, -2147433972, 0},
{&GUID_Key, 195, -2147433716, 0},
{&GUID_Key, 196, -2147433460, 0},
{&GUID_Key, 197, -2147433204, 0},
{&GUID_Key, 198, -2147432948, 0},
{&GUID_Key, 199, -2147432692, 0},
{&GUID_Key, 200, -2147432436, 0},
{&GUID_Key, 201, -2147432180, 0},
{&GUID_Key, 202, -2147431924, 0},
{&GUID_Key, 203, -2147431668, 0},
{&GUID_Key, 204, -2147431412, 0},
{&GUID_Key, 205, -2147431156, 0},
{&GUID_Key, 206, -2147430900, 0},
{&GUID_Key, 207, -2147430644, 0},
{&GUID_Key, 208, -2147430388, 0},
{&GUID_Key, 209, -2147430132, 0},
{&GUID_Key, 210, -2147429876, 0},
{&GUID_Key, 211, -2147429620, 0},
{&GUID_Key, 212, -2147429364, 0},
{&GUID_Key, 213, -2147429108, 0},
{&GUID_Key, 214, -2147428852, 0},
{&GUID_Key, 215, -2147428596, 0},
{&GUID_Key, 216, -2147428340, 0},
{&GUID_Key, 217, -2147428084, 0},
{&GUID_Key, 218, -2147427828, 0},
{&GUID_Key, 219, -2147427572, 0},
{&GUID_Key, 220, -2147427316, 0},
{&GUID_Key, 221, -2147427060, 0},
{&GUID_Key, 222, -2147426804, 0},
{&GUID_Key, 223, -2147426548, 0},
{&GUID_Key, 224, -2147426292, 0},
{&GUID_Key, 225, -2147426036, 0},
{&GUID_Key, 226, -2147425780, 0},
{&GUID_Key, 227, -2147425524, 0},
{&GUID_Key, 228, -2147425268, 0},
{&GUID_Key, 229, -2147425012, 0},
{&GUID_Key, 230, -2147424756, 0},
{&GUID_Key, 231, -2147424500, 0},
{&GUID_Key, 232, -2147424244, 0},
{&GUID_Key, 233, -2147423988, 0},
{&GUID_Key, 234, -2147423732, 0},
{&GUID_Key, 235, -2147423476, 0},
{&GUID_Key, 236, -2147423220, 0},
{&GUID_Key, 237, -2147422964, 0},
{&GUID_Key, 238, -2147422708, 0},
{&GUID_Key, 239, -2147422452, 0},
{&GUID_Key, 240, -2147422196, 0},
{&GUID_Key, 241, -2147421940, 0},
{&GUID_Key, 242, -2147421684, 0},
{&GUID_Key, 243, -2147421428, 0},
{&GUID_Key, 244, -2147421172, 0},
{&GUID_Key, 245, -2147420916, 0},
{&GUID_Key, 246, -2147420660, 0},
{&GUID_Key, 247, -2147420404, 0},
{&GUID_Key, 248, -2147420148, 0},
{&GUID_Key, 249, -2147419892, 0},
{&GUID_Key, 250, -2147419636, 0},
{&GUID_Key, 251, -2147419380, 0},
{&GUID_Key, 252, -2147419124, 0},
{&GUID_Key, 253, -2147418868, 0},
{&GUID_Key, 254, -2147418612, 0},
{&GUID_Key, 255, -2147418356, 0}
};
const DIDATAFORMAT c_dfDIKeyboard = {24,
16,
2,
256,
256,
&rgodf_c_dfDIKeyboard[0]};
const DIOBJECTDATAFORMAT rgodf_c_dfDIMouse[] = {
{&GUID_XAxis, 0, 16776963, 0},
{&GUID_YAxis, 4, 16776963, 0},
{&GUID_ZAxis, 8, -2130706685, 0},
{0, 12, 16776972, 0},
{0, 13, 16776972, 0},
{0, 14, -2130706676, 0},
{0, 15, -2130706676, 0}};
const DIDATAFORMAT c_dfDIMouse = {24,
16,
2,
16,
7,
rgodf_c_dfDIMouse};
const DIOBJECTDATAFORMAT rgodf_c_dfDIMouse2[] = {
{&GUID_XAxis, 0, 16776963, 0},
{&GUID_YAxis, 4, 16776963, 0},
{&GUID_ZAxis, 8, -2130706685, 0},
{0, 12, 16776972, 0},
{0, 13, 16776972, 0},
{0, 14, -2130706676, 0},
{0, 15, -2130706676, 0},
{0, 16, -2130706676, 0},
{0, 17, -2130706676, 0},
{0, 18, -2130706676,0},
{0, 19, -2130706676, 0}};
const DIDATAFORMAT c_dfDIMouse2 = {24,
16,
2,
20,
11,
rgodf_c_dfDIMouse2};
const DIOBJECTDATAFORMAT rgodf_c_dfDIJoystick[] = {
{&GUID_XAxis, 0, -2130706685, 256},
{&GUID_YAxis, 4, -2130706685, 256},
{&GUID_ZAxis, 8, -2130706685, 256},
{&GUID_RxAxis, 12, -2130706685, 256},
{&GUID_RyAxis, 16, -2130706685, 256},
{&GUID_RzAxis, 20, -2130706685, 256},
{&GUID_Slider, 24, -2130706685, 256},
{&GUID_Slider, 28, -2130706685, 256},
{&GUID_POV, 32, -2130706672, 0},
{&GUID_POV, 36, -2130706672, 0},
{&GUID_POV, 40, -2130706672, 0},
{&GUID_POV, 44, -2130706672, 0},
{0, 48, -2130706676, 0},
{0, 49, -2130706676, 0},
{0, 50, -2130706676, 0},
{0, 51, -2130706676, 0},
{0, 52, -2130706676, 0},
{0, 53, -2130706676, 0},
{0, 54, -2130706676, 0},
{0, 55, -2130706676, 0},
{0, 56, -2130706676, 0},
{0, 57, -2130706676, 0},
{0, 58, -2130706676, 0},
{0, 59, -2130706676, 0},
{0, 60, -2130706676, 0},
{0, 61, -2130706676, 0},
{0, 62, -2130706676, 0},
{0, 63, -2130706676, 0},
{0, 64, -2130706676, 0},
{0, 65, -2130706676, 0},
{0, 66, -2130706676, 0},
{0, 67, -2130706676, 0},
{0, 68, -2130706676, 0},
{0, 69, -2130706676, 0},
{0, 70, -2130706676, 0},
{0, 71, -2130706676, 0},
{0, 72, -2130706676, 0},
{0, 73, -2130706676, 0},
{0, 74, -2130706676, 0},
{0, 75, -2130706676, 0},
{0, 76, -2130706676, 0},
{0, 77, -2130706676, 0},
{0, 78, -2130706676, 0},
{0, 79, -2130706676, 0}};
const DIDATAFORMAT c_dfDIJoystick = {24,
16,
1,
80,
44,
rgodf_c_dfDIJoystick};
const DIOBJECTDATAFORMAT rgodf_c_dfDIJoystick2[] = {
{&GUID_XAxis, 0, -2130706685, 256},
{&GUID_YAxis, 4, -2130706685, 256},
{&GUID_ZAxis, 8, -2130706685, 256},
{&GUID_RxAxis, 12, -2130706685, 256},
{&GUID_RyAxis, 16, -2130706685, 256},
{&GUID_RzAxis, 20, -2130706685, 256},
{&GUID_Slider, 24, -2130706685, 256},
{&GUID_Slider, 28, -2130706685, 256},
{&GUID_POV, 32, -2130706672, 0},
{&GUID_POV, 36, -2130706672, 0},
{&GUID_POV, 40, -2130706672, 0},
{&GUID_POV, 44, -2130706672, 0},
{0, 48, -2130706676, 0},
{0, 49, -2130706676, 0},
{0, 50, -2130706676, 0},
{0, 51, -2130706676, 0},
{0, 52, -2130706676, 0},
{0, 53, -2130706676, 0},
{0, 54, -2130706676, 0},
{0, 55, -2130706676, 0},
{0, 56, -2130706676, 0},
{0, 57, -2130706676, 0},
{0, 58, -2130706676, 0},
{0, 59, -2130706676, 0},
{0, 60, -2130706676, 0},
{0, 61, -2130706676, 0},
{0, 62, -2130706676, 0},
{0, 63, -2130706676, 0},
{0, 64, -2130706676, 0},
{0, 65, -2130706676, 0},
{0, 66, -2130706676, 0},
{0, 67, -2130706676, 0},
{0, 68, -2130706676, 0},
{0, 69, -2130706676, 0},
{0, 70, -2130706676, 0},
{0, 71, -2130706676, 0},
{0, 72, -2130706676, 0},
{0, 73, -2130706676, 0},
{0, 74, -2130706676, 0},
{0, 75, -2130706676, 0},
{0, 76, -2130706676, 0},
{0, 77, -2130706676, 0},
{0, 78, -2130706676, 0},
{0, 79, -2130706676, 0},
{0, 80, -2130706676, 0},
{0, 81, -2130706676, 0},
{0, 82, -2130706676, 0},
{0, 83, -2130706676, 0},
{0, 84, -2130706676, 0},
{0, 85, -2130706676, 0},
{0, 86, -2130706676, 0},
{0, 87, -2130706676, 0},
{0, 88, -2130706676, 0},
{0, 89, -2130706676, 0},
{0, 90, -2130706676, 0},
{0, 91, -2130706676, 0},
{0, 92, -2130706676, 0},
{0, 93, -2130706676, 0},
{0, 94, -2130706676, 0},
{0, 95, -2130706676, 0},
{0, 96, -2130706676, 0},
{0, 97, -2130706676, 0},
{0, 98, -2130706676, 0},
{0, 99, -2130706676, 0},
{0, 100, -2130706676, 0},
{0, 101, -2130706676, 0},
{0, 102, -2130706676, 0},
{0, 103, -2130706676, 0},
{0, 104, -2130706676, 0},
{0, 105, -2130706676, 0},
{0, 106, -2130706676, 0},
{0, 107, -2130706676, 0},
{0, 108, -2130706676, 0},
{0, 109, -2130706676, 0},
{0, 110, -2130706676, 0},
{0, 111, -2130706676, 0},
{0, 112, -2130706676, 0},
{0, 113, -2130706676, 0},
{0, 114, -2130706676, 0},
{0, 115, -2130706676, 0},
{0, 116, -2130706676, 0},
{0, 117, -2130706676, 0},
{0, 118, -2130706676, 0},
{0, 119, -2130706676, 0},
{0, 120, -2130706676, 0},
{0, 121, -2130706676, 0},
{0, 122, -2130706676, 0},
{0, 123, -2130706676, 0},
{0, 124, -2130706676, 0},
{0, 125, -2130706676, 0},
{0, 126, -2130706676, 0},
{0, 127, -2130706676, 0},
{0, 128, -2130706676, 0},
{0, 129, -2130706676, 0},
{0, 130, -2130706676, 0},
{0, 131, -2130706676, 0},
{0, 132, -2130706676, 0},
{0, 133, -2130706676, 0},
{0, 134, -2130706676, 0},
{0, 135, -2130706676, 0},
{0, 136, -2130706676, 0},
{0, 137, -2130706676, 0},
{0, 138, -2130706676, 0},
{0, 139, -2130706676, 0},
{0, 140, -2130706676, 0},
{0, 141, -2130706676, 0},
{0, 142, -2130706676, 0},
{0, 143, -2130706676, 0},
{0, 144, -2130706676, 0},
{0, 145, -2130706676, 0},
{0, 146, -2130706676, 0},
{0, 147, -2130706676, 0},
{0, 148, -2130706676, 0},
{0, 149, -2130706676, 0},
{0, 150, -2130706676, 0},
{0, 151, -2130706676, 0},
{0, 152, -2130706676, 0},
{0, 153, -2130706676, 0},
{0, 154, -2130706676, 0},
{0, 155, -2130706676, 0},
{0, 156, -2130706676, 0},
{0, 157, -2130706676, 0},
{0, 158, -2130706676, 0},
{0, 159, -2130706676, 0},
{0, 160, -2130706676, 0},
{0, 161, -2130706676, 0},
{0, 162, -2130706676, 0},
{0, 163, -2130706676, 0},
{0, 164, -2130706676, 0},
{0, 165, -2130706676, 0},
{0, 166, -2130706676, 0},
{0, 167, -2130706676, 0},
{0, 168, -2130706676, 0},
{0, 169, -2130706676, 0},
{0, 170, -2130706676, 0},
{0, 171, -2130706676, 0},
{0, 172, -2130706676, 0},
{0, 173, -2130706676, 0},
{0, 174, -2130706676, 0},
{0, 175, -2130706676, 0},
{&GUID_XAxis, 176, -2130706685, 512},
{&GUID_YAxis, 180, -2130706685, 512},
{&GUID_ZAxis, 184, -2130706685, 512},
{&GUID_RxAxis, 188, -2130706685, 512},
{&GUID_RyAxis, 192, -2130706685, 512},
{&GUID_RzAxis, 196, -2130706685, 512},
{&GUID_Slider, 24, -2130706685, 512},
{&GUID_Slider, 28, -2130706685, 512},
{&GUID_XAxis, 208, -2130706685, 768},
{&GUID_YAxis, 212, -2130706685, 768},
{&GUID_ZAxis, 216, -2130706685, 768},
{&GUID_RxAxis, 220, -2130706685, 768},
{&GUID_RyAxis, 224, -2130706685, 768},
{&GUID_RzAxis, 228, -2130706685, 768},
{&GUID_Slider, 24, -2130706685, 768},
{&GUID_Slider, 28, -2130706685, 768},
{&GUID_XAxis, 240, -2130706685, 1024},
{&GUID_YAxis, 244, -2130706685, 1024},
{&GUID_ZAxis, 248, -2130706685, 1024},
{&GUID_RxAxis, 252, -2130706685, 1024},
{&GUID_RyAxis, 256, -2130706685, 1024},
{&GUID_RzAxis, 260, -2130706685, 1024},
{&GUID_Slider, 24, -2130706685, 1024},
{&GUID_Slider, 28, -2130706685, 1024}};
const DIDATAFORMAT c_dfDIJoystick2 = {24,
16,
1,
272,
164,
rgodf_c_dfDIJoystick2};

View file

@ -0,0 +1,6 @@
LIBRARY "dinput.dll"
EXPORTS
DirectInputCreateA@16
DirectInputCreateEx@20
DirectInputCreateW@16

View file

@ -0,0 +1,4 @@
LIBRARY "dinput8.dll"
EXPORTS
DirectInput8Create@20

View file

@ -0,0 +1,8 @@
LIBRARY "dplayx.dll"
EXPORTS
DirectPlayCreate@12
DirectPlayEnumerate@8
DirectPlayEnumerateA@8
DirectPlayEnumerateW@8
DirectPlayLobbyCreateA@20
DirectPlayLobbyCreateW@20

View file

@ -0,0 +1,3 @@
LIBRARY "dpnaddr.dll"
EXPORTS
DirectPlay8AddressCreate@12

View file

@ -0,0 +1,3 @@
LIBRARY "dpnet.dll"
EXPORTS
DirectPlay8Create@12

View file

@ -0,0 +1,3 @@
LIBRARY "dpnlobby.dll"
EXPORTS
DirectPlay8LobbyCreate@12

View file

@ -0,0 +1,3 @@
LIBRARY "dpvoice.dll"
EXPORTS
DirectPlayVoiceCreate@12

View file

@ -0,0 +1,18 @@
LIBRARY "DSETUP.dll"
EXPORTS
DirectXDeviceDriverSetupA@16
DirectXDeviceDriverSetupW@16
DirectXLoadString@12
DirectXRegisterApplicationA@8
DirectXRegisterApplicationW@8
DirectXSetupA@12
DirectXSetupCallback@20
DirectXSetupGetFileVersion@12
DirectXSetupGetVersion@8
DirectXSetupIsEng@0
DirectXSetupIsJapan@0
DirectXSetupIsJapanNec@0
DirectXSetupSetCallback@4
DirectXSetupShowEULA@4
DirectXSetupW@12
DirectXUnRegisterApplication@8

View file

@ -0,0 +1,13 @@
LIBRARY "dsound.dll"
EXPORTS
DirectSoundCaptureCreate8@12
DirectSoundCaptureCreate@12
DirectSoundCaptureEnumerateA@8
DirectSoundCaptureEnumerateW@8
DirectSoundCreate8@12
DirectSoundCreate@12
DirectSoundCreate
DirectSoundEnumerateA@8
DirectSoundEnumerateW@8
DirectSoundFullDuplexCreate@40
GetDeviceID@8

View file

@ -0,0 +1,578 @@
#include <dinput.h>
/* This is a replacement for Microsofts dxguid.lib. */
#undef DEFINE_GUID
#define DEFINE_GUID(n,a,b,c,d,e,f,g,h,i,j,k) const GUID n = {a,b,c,{d,e,f,g,h,i,j,k}}
/* d3rmobj.h */
DEFINE_GUID(CLSID_CDirect3DRMDevice, 0x4fa3568e, 0x623f, 0x11cf, 0xac, 0x4a, 0x0, 0x0, 0xc0, 0x38, 0x25, 0xa1);
DEFINE_GUID(CLSID_CDirect3DRMViewport, 0x4fa3568f, 0x623f, 0x11cf, 0xac, 0x4a, 0x0, 0x0, 0xc0, 0x38, 0x25, 0xa1);
DEFINE_GUID(CLSID_CDirect3DRMFrame, 0x4fa35690, 0x623f, 0x11cf, 0xac, 0x4a, 0x0, 0x0, 0xc0, 0x38, 0x25, 0xa1);
DEFINE_GUID(CLSID_CDirect3DRMMesh, 0x4fa35691, 0x623f, 0x11cf, 0xac, 0x4a, 0x0, 0x0, 0xc0, 0x38, 0x25, 0xa1);
DEFINE_GUID(CLSID_CDirect3DRMMeshBuilder, 0x4fa35692, 0x623f, 0x11cf, 0xac, 0x4a, 0x0, 0x0, 0xc0, 0x38, 0x25, 0xa1);
DEFINE_GUID(CLSID_CDirect3DRMFace, 0x4fa35693, 0x623f, 0x11cf, 0xac, 0x4a, 0x0, 0x0, 0xc0, 0x38, 0x25, 0xa1);
DEFINE_GUID(CLSID_CDirect3DRMLight, 0x4fa35694, 0x623f, 0x11cf, 0xac, 0x4a, 0x0, 0x0, 0xc0, 0x38, 0x25, 0xa1);
DEFINE_GUID(CLSID_CDirect3DRMTexture, 0x4fa35695, 0x623f, 0x11cf, 0xac, 0x4a, 0x0, 0x0, 0xc0, 0x38, 0x25, 0xa1);
DEFINE_GUID(CLSID_CDirect3DRMWrap, 0x4fa35696, 0x623f, 0x11cf, 0xac, 0x4a, 0x0, 0x0, 0xc0, 0x38, 0x25, 0xa1);
DEFINE_GUID(CLSID_CDirect3DRMMaterial, 0x4fa35697, 0x623f, 0x11cf, 0xac, 0x4a, 0x0, 0x0, 0xc0, 0x38, 0x25, 0xa1);
DEFINE_GUID(CLSID_CDirect3DRMAnimation, 0x4fa35698, 0x623f, 0x11cf, 0xac, 0x4a, 0x0, 0x0, 0xc0, 0x38, 0x25, 0xa1);
DEFINE_GUID(CLSID_CDirect3DRMAnimationSet, 0x4fa35699, 0x623f, 0x11cf, 0xac, 0x4a, 0x0, 0x0, 0xc0, 0x38, 0x25, 0xa1);
DEFINE_GUID(CLSID_CDirect3DRMUserVisual, 0x4fa3569a, 0x623f, 0x11cf, 0xac, 0x4a, 0x0, 0x0, 0xc0, 0x38, 0x25, 0xa1);
DEFINE_GUID(CLSID_CDirect3DRMShadow, 0x4fa3569b, 0x623f, 0x11cf, 0xac, 0x4a, 0x0, 0x0, 0xc0, 0x38, 0x25, 0xa1);
DEFINE_GUID(CLSID_CDirect3DRMViewportInterpolator,
0xde9eaa1, 0x3b84, 0x11d0, 0x9b, 0x6d, 0x0, 0x0, 0xc0, 0x78, 0x1b, 0xc3);
DEFINE_GUID(CLSID_CDirect3DRMFrameInterpolator,
0xde9eaa2, 0x3b84, 0x11d0, 0x9b, 0x6d, 0x0, 0x0, 0xc0, 0x78, 0x1b, 0xc3);
DEFINE_GUID(CLSID_CDirect3DRMMeshInterpolator,
0xde9eaa3, 0x3b84, 0x11d0, 0x9b, 0x6d, 0x0, 0x0, 0xc0, 0x78, 0x1b, 0xc3);
DEFINE_GUID(CLSID_CDirect3DRMLightInterpolator,
0xde9eaa6, 0x3b84, 0x11d0, 0x9b, 0x6d, 0x0, 0x0, 0xc0, 0x78, 0x1b, 0xc3);
DEFINE_GUID(CLSID_CDirect3DRMMaterialInterpolator,
0xde9eaa7, 0x3b84, 0x11d0, 0x9b, 0x6d, 0x0, 0x0, 0xc0, 0x78, 0x1b, 0xc3);
DEFINE_GUID(CLSID_CDirect3DRMTextureInterpolator,
0xde9eaa8, 0x3b84, 0x11d0, 0x9b, 0x6d, 0x0, 0x0, 0xc0, 0x78, 0x1b, 0xc3);
DEFINE_GUID(CLSID_CDirect3DRMProgressiveMesh, 0x4516ec40, 0x8f20, 0x11d0, 0x9b, 0x6d, 0x00, 0x00, 0xc0, 0x78, 0x1b, 0xc3);
DEFINE_GUID(CLSID_CDirect3DRMClippedVisual, 0x5434e72d, 0x6d66, 0x11d1, 0xbb, 0xb, 0x0, 0x0, 0xf8, 0x75, 0x86, 0x5a);
/* d3rmwin.h */
DEFINE_GUID(IID_IDirect3DRMWinDevice, 0xc5016cc0, 0xd273, 0x11ce, 0xac, 0x48, 0x0, 0x0, 0xc0, 0x38, 0x25, 0xa1);
/* dpaddr.h */
DEFINE_GUID(CLSID_DirectPlay8Address,0x934a9523, 0xa3ca, 0x4bc5, 0xad, 0xa0, 0xd6, 0xd9, 0x5d, 0x97, 0x94, 0x21);
DEFINE_GUID(IID_IDirectPlay8Address, 0x83783300, 0x4063, 0x4c8a, 0x9d, 0xb3, 0x82, 0x83, 0xa, 0x7f, 0xeb, 0x31);
DEFINE_GUID(IID_IDirectPlay8AddressIP,0xe5a0e990, 0x2bad, 0x430b, 0x87, 0xda, 0xa1, 0x42, 0xcf, 0x75, 0xde, 0x58);
/* dplay.h */
DEFINE_GUID(IID_IDirectPlay2, 0x2b74f7c0, 0x9154, 0x11cf, 0xa9, 0xcd, 0x0, 0xaa, 0x0, 0x68, 0x86, 0xe3);
DEFINE_GUID(IID_IDirectPlay2A,0x9d460580, 0xa822, 0x11cf, 0x96, 0xc, 0x0, 0x80, 0xc7, 0x53, 0x4e, 0x82);
DEFINE_GUID(IID_IDirectPlay3, 0x133efe40, 0x32dc, 0x11d0, 0x9c, 0xfb, 0x0, 0xa0, 0xc9, 0xa, 0x43, 0xcb);
DEFINE_GUID(IID_IDirectPlay3A,0x133efe41, 0x32dc, 0x11d0, 0x9c, 0xfb, 0x0, 0xa0, 0xc9, 0xa, 0x43, 0xcb);
DEFINE_GUID(IID_IDirectPlay4, 0xab1c530, 0x4745, 0x11d1, 0xa7, 0xa1, 0x0, 0x0, 0xf8, 0x3, 0xab, 0xfc);
DEFINE_GUID(IID_IDirectPlay4A,0xab1c531, 0x4745, 0x11d1, 0xa7, 0xa1, 0x0, 0x0, 0xf8, 0x3, 0xab, 0xfc);
DEFINE_GUID(CLSID_DirectPlay,0xd1eb6d20, 0x8923, 0x11d0, 0x9d, 0x97, 0x0, 0xa0, 0xc9, 0xa, 0x43, 0xcb);
DEFINE_GUID(DPSPGUID_IPX, 0x685bc400, 0x9d2c, 0x11cf, 0xa9, 0xcd, 0x0, 0xaa, 0x0, 0x68, 0x86, 0xe3);
DEFINE_GUID(DPSPGUID_TCPIP, 0x36E95EE0, 0x8577, 0x11cf, 0x96, 0xc, 0x0, 0x80, 0xc7, 0x53, 0x4e, 0x82);
DEFINE_GUID(DPSPGUID_SERIAL, 0xf1d6860, 0x88d9, 0x11cf, 0x9c, 0x4e, 0x0, 0xa0, 0xc9, 0x5, 0x42, 0x5e);
DEFINE_GUID(DPSPGUID_MODEM, 0x44eaa760, 0xcb68, 0x11cf, 0x9c, 0x4e, 0x0, 0xa0, 0xc9, 0x5, 0x42, 0x5e);
DEFINE_GUID(IID_IDirectPlay, 0x5454e9a0, 0xdb65, 0x11ce, 0x92, 0x1c, 0x00, 0xaa, 0x00, 0x6c, 0x49, 0x72);
/* dplay8.h */
DEFINE_GUID(CLSID_DirectPlay8Client,0x743f1dc6, 0x5aba, 0x429f, 0x8b, 0xdf, 0xc5, 0x4d, 0x3, 0x25, 0x3d, 0xc2);
DEFINE_GUID(CLSID_DirectPlay8Peer,0x286f484d, 0x375e, 0x4458, 0xa2, 0x72, 0xb1, 0x38, 0xe2, 0xf8, 0xa, 0x6a);
DEFINE_GUID(CLSID_DirectPlay8Server,0xda825e1b, 0x6830, 0x43d7, 0x83, 0x5d, 0xb, 0x5a, 0xd8, 0x29, 0x56, 0xa2);
DEFINE_GUID(IID_IDirectPlay8Client, 0x5102dacd, 0x241b, 0x11d3, 0xae, 0xa7, 0x0, 0x60, 0x97, 0xb0, 0x14, 0x11);
DEFINE_GUID(IID_IDirectPlay8Peer, 0x5102dacf, 0x241b, 0x11d3, 0xae, 0xa7, 0x0, 0x60, 0x97, 0xb0, 0x14, 0x11);
DEFINE_GUID(IID_IDirectPlay8Server, 0x5102dace, 0x241b, 0x11d3, 0xae, 0xa7, 0x0, 0x60, 0x97, 0xb0, 0x14, 0x11);
DEFINE_GUID(CLSID_DP8SP_IPX, 0x53934290, 0x628d, 0x11d2, 0xae, 0xf, 0x0, 0x60, 0x97, 0xb0, 0x14, 0x11);
DEFINE_GUID(CLSID_DP8SP_MODEM, 0x6d4a3650, 0x628d, 0x11d2, 0xae, 0xf, 0x0, 0x60, 0x97, 0xb0, 0x14, 0x11);
DEFINE_GUID(CLSID_DP8SP_SERIAL, 0x743b5d60, 0x628d, 0x11d2, 0xae, 0xf, 0x0, 0x60, 0x97, 0xb0, 0x14, 0x11);
DEFINE_GUID(CLSID_DP8SP_TCPIP, 0xebfe7ba0, 0x628d, 0x11d2, 0xae, 0xf, 0x0, 0x60, 0x97, 0xb0, 0x14, 0x11);
/* dplobby.h */
DEFINE_GUID(IID_IDirectPlayLobby, 0xaf465c71, 0x9588, 0x11cf, 0xa0, 0x20, 0x0, 0xaa, 0x0, 0x61, 0x57, 0xac);
DEFINE_GUID(IID_IDirectPlayLobbyA, 0x26c66a70, 0xb367, 0x11cf, 0xa0, 0x24, 0x0, 0xaa, 0x0, 0x61, 0x57, 0xac);
DEFINE_GUID(IID_IDirectPlayLobby2, 0x194c220, 0xa303, 0x11d0, 0x9c, 0x4f, 0x0, 0xa0, 0xc9, 0x5, 0x42, 0x5e);
DEFINE_GUID(IID_IDirectPlayLobby2A, 0x1bb4af80, 0xa303, 0x11d0, 0x9c, 0x4f, 0x0, 0xa0, 0xc9, 0x5, 0x42, 0x5e);
DEFINE_GUID(IID_IDirectPlayLobby3, 0x2db72490, 0x652c, 0x11d1, 0xa7, 0xa8, 0x0, 0x0, 0xf8, 0x3, 0xab, 0xfc);
DEFINE_GUID(IID_IDirectPlayLobby3A, 0x2db72491, 0x652c, 0x11d1, 0xa7, 0xa8, 0x0, 0x0, 0xf8, 0x3, 0xab, 0xfc);
DEFINE_GUID(CLSID_DirectPlayLobby, 0x2fe8f810, 0xb2a5, 0x11d0, 0xa7, 0x87, 0x0, 0x0, 0xf8, 0x3, 0xab, 0xfc);
DEFINE_GUID(DPLPROPERTY_MessagesSupported, 0x762ccda1, 0xd916, 0x11d0, 0xba, 0x39, 0x0, 0xc0, 0x4f, 0xd7, 0xed, 0x67);
DEFINE_GUID(DPLPROPERTY_LobbyGuid, 0xf56920a0, 0xd218, 0x11d0, 0xba, 0x39, 0x0, 0xc0, 0x4f, 0xd7, 0xed, 0x67);
DEFINE_GUID(DPLPROPERTY_PlayerGuid, 0xb4319322, 0xd20d, 0x11d0, 0xba, 0x39, 0x0, 0xc0, 0x4f, 0xd7, 0xed, 0x67);
DEFINE_GUID(DPLPROPERTY_PlayerScore, 0x48784000, 0xd219, 0x11d0, 0xba, 0x39, 0x0, 0xc0, 0x4f, 0xd7, 0xed, 0x67);
DEFINE_GUID(DPAID_TotalSize, 0x1318f560, 0x912c, 0x11d0, 0x9d, 0xaa, 0x0, 0xa0, 0xc9, 0xa, 0x43, 0xcb);
DEFINE_GUID(DPAID_ServiceProvider, 0x7d916c0, 0xe0af, 0x11cf, 0x9c, 0x4e, 0x0, 0xa0, 0xc9, 0x5, 0x42, 0x5e);
DEFINE_GUID(DPAID_LobbyProvider, 0x59b95640, 0x9667, 0x11d0, 0xa7, 0x7d, 0x0, 0x0, 0xf8, 0x3, 0xab, 0xfc);
DEFINE_GUID(DPAID_Phone, 0x78ec89a0, 0xe0af, 0x11cf, 0x9c, 0x4e, 0x0, 0xa0, 0xc9, 0x5, 0x42, 0x5e);
DEFINE_GUID(DPAID_PhoneW, 0xba5a7a70, 0x9dbf, 0x11d0, 0x9c, 0xc1, 0x0, 0xa0, 0xc9, 0x5, 0x42, 0x5e);
DEFINE_GUID(DPAID_Modem, 0xf6dcc200, 0xa2fe, 0x11d0, 0x9c, 0x4f, 0x0, 0xa0, 0xc9, 0x5, 0x42, 0x5e);
DEFINE_GUID(DPAID_ModemW, 0x1fd92e0, 0xa2ff, 0x11d0, 0x9c, 0x4f, 0x0, 0xa0, 0xc9, 0x5, 0x42, 0x5e);
DEFINE_GUID(DPAID_INet, 0xc4a54da0, 0xe0af, 0x11cf, 0x9c, 0x4e, 0x0, 0xa0, 0xc9, 0x5, 0x42, 0x5e);
DEFINE_GUID(DPAID_INetW, 0xe63232a0, 0x9dbf, 0x11d0, 0x9c, 0xc1, 0x0, 0xa0, 0xc9, 0x5, 0x42, 0x5e);
DEFINE_GUID(DPAID_INetPort, 0xe4524541, 0x8ea5, 0x11d1, 0x8a, 0x96, 0x0, 0x60, 0x97, 0xb0, 0x14, 0x11);
DEFINE_GUID(DPAID_MaxMessageSize, 0xf5d09980, 0xf0c4, 0x11d1, 0x83, 0x26, 0x0, 0x60, 0x97, 0xb0, 0x14, 0x11);
DEFINE_GUID(DPAID_ComPort, 0xf2f0ce00, 0xe0af, 0x11cf, 0x9c, 0x4e, 0x0, 0xa0, 0xc9, 0x5, 0x42, 0x5e);
/* dplobby8.h */
DEFINE_GUID(CLSID_DirectPlay8LobbiedApplication, 0x667955ad, 0x6b3b, 0x43ca, 0xb9, 0x49, 0xbc, 0x69, 0xb5, 0xba, 0xff, 0x7f);
DEFINE_GUID(CLSID_DirectPlay8LobbyClient, 0x3b2b6775, 0x70b6, 0x45af, 0x8d, 0xea, 0xa2, 0x9, 0xc6, 0x95, 0x59, 0xf3);
DEFINE_GUID(IID_IDirectPlay8LobbiedApplication, 0x819074a3, 0x16c, 0x11d3, 0xae, 0x14, 0x0, 0x60, 0x97, 0xb0, 0x14, 0x11);
DEFINE_GUID(IID_IDirectPlay8LobbyClient, 0x819074a2, 0x16c, 0x11d3, 0xae, 0x14, 0x0, 0x60, 0x97, 0xb0, 0x14, 0x11);
/* dvoice.h */
DEFINE_GUID(CLSID_DirectPlayVoiceClient, 0xb9f3eb85, 0xb781, 0x4ac1, 0x8d, 0x90, 0x93, 0xa0, 0x5e, 0xe3, 0x7d, 0x7d);
DEFINE_GUID(CLSID_DirectPlayVoiceServer, 0xd3f5b8e6, 0x9b78, 0x4a4c, 0x94, 0xea, 0xca, 0x23, 0x97, 0xb6, 0x63, 0xd3);
DEFINE_GUID(CLSID_DirectPlayVoiceTest, 0xf0f094b, 0xb01c, 0x4091, 0xa1, 0x4d, 0xdd, 0xc, 0xd8, 0x7, 0x71, 0x1a);
DEFINE_GUID(IID_IDirectPlayVoiceClient, 0x1dfdc8ea, 0xbcf7, 0x41d6, 0xb2, 0x95, 0xab, 0x64, 0xb3, 0xb2, 0x33, 0x6);
DEFINE_GUID(IID_IDirectPlayVoiceServer, 0xfaa1c173, 0x468, 0x43b6, 0x8a, 0x2a, 0xea, 0x8a, 0x4f, 0x20, 0x76, 0xc9);
DEFINE_GUID(IID_IDirectPlayVoiceTest, 0xd26af734, 0x208b, 0x41da, 0x82, 0x24, 0xe0, 0xce, 0x79, 0x81, 0xb, 0xe1);
DEFINE_GUID(DPVCTGUID_ADPCM, 0x699b52c1, 0xa885, 0x46a8, 0xa3, 0x8, 0x97, 0x17, 0x24, 0x19, 0xad, 0xc7);
DEFINE_GUID(DPVCTGUID_GSM,0x24768c60, 0x5a0d, 0x11d3, 0x9b, 0xe4, 0x52, 0x54, 0x0, 0xd9, 0x85, 0xe7);
DEFINE_GUID(DPVCTGUID_NONE, 0x8de12fd4, 0x7cb3, 0x48ce, 0xa7, 0xe8, 0x9c, 0x47, 0xa2, 0x2e, 0x8a, 0xc5);
DEFINE_GUID(DPVCTGUID_SC03, 0x7d82a29b, 0x2242, 0x4f82, 0x8f, 0x39, 0x5d, 0x11, 0x53, 0xdf, 0x3e, 0x41);
DEFINE_GUID(DPVCTGUID_SC06, 0x53def900, 0x7168, 0x4633, 0xb4, 0x7f, 0xd1, 0x43, 0x91, 0x6a, 0x13, 0xc7);
DEFINE_GUID(DPVCTGUID_TRUESPEECH, 0xd7954361, 0x5a0b, 0x11d3, 0x9b, 0xe4, 0x52, 0x54, 0x0, 0xd9, 0x85, 0xe7);
DEFINE_GUID(DPVCTGUID_VR12, 0xfe44a9fe, 0x8ed4, 0x48bf, 0x9d, 0x66, 0x1b, 0x1a, 0xdf, 0xf9, 0xff, 0x6d);
/* dxfile.h */
DEFINE_GUID(CLSID_CDirectXFile, 0x4516ec43, 0x8f20, 0x11d0, 0x9b, 0x6d, 0x00, 0x00, 0xc0, 0x78, 0x1b, 0xc3);
DEFINE_GUID(IID_IDirectXFile, 0x3d82ab40, 0x62da, 0x11cf, 0xab, 0x39, 0x0, 0x20, 0xaf, 0x71, 0xe4, 0x33);
DEFINE_GUID(IID_IDirectXFileEnumObject, 0x3d82ab41, 0x62da, 0x11cf, 0xab, 0x39, 0x0, 0x20, 0xaf, 0x71, 0xe4, 0x33);
DEFINE_GUID(IID_IDirectXFileSaveObject, 0x3d82ab42, 0x62da, 0x11cf, 0xab, 0x39, 0x0, 0x20, 0xaf, 0x71, 0xe4, 0x33);
DEFINE_GUID(IID_IDirectXFileObject, 0x3d82ab43, 0x62da, 0x11cf, 0xab, 0x39, 0x0, 0x20, 0xaf, 0x71, 0xe4, 0x33);
DEFINE_GUID(IID_IDirectXFileData, 0x3d82ab44, 0x62da, 0x11cf, 0xab, 0x39, 0x0, 0x20, 0xaf, 0x71, 0xe4, 0x33);
DEFINE_GUID(IID_IDirectXFileDataReference, 0x3d82ab45, 0x62da, 0x11cf, 0xab, 0x39, 0x0, 0x20, 0xaf, 0x71, 0xe4, 0x33);
DEFINE_GUID(IID_IDirectXFileBinary, 0x3d82ab46, 0x62da, 0x11cf, 0xab, 0x39, 0x0, 0x20, 0xaf, 0x71, 0xe4, 0x33);
DEFINE_GUID(TID_DXFILEHeader, 0x3d82ab43, 0x62da, 0x11cf, 0xab, 0x39, 0x0, 0x20, 0xaf, 0x71, 0xe4, 0x33);
/* rmxfguid.h */
DEFINE_GUID(TID_D3DRMInfo, 0x2b957100, 0x9e9a, 0x11cf, 0xab, 0x39, 0x0, 0x20, 0xaf, 0x71, 0xe4, 0x33);
DEFINE_GUID(TID_D3DRMMesh, 0x3d82ab44, 0x62da, 0x11cf, 0xab, 0x39, 0x0, 0x20, 0xaf, 0x71, 0xe4, 0x33);
DEFINE_GUID(TID_D3DRMVector, 0x3d82ab5e, 0x62da, 0x11cf, 0xab, 0x39, 0x0, 0x20, 0xaf, 0x71, 0xe4, 0x33);
DEFINE_GUID(TID_D3DRMMeshFace, 0x3d82ab5f, 0x62da, 0x11cf, 0xab, 0x39, 0x0, 0x20, 0xaf, 0x71, 0xe4, 0x33);
DEFINE_GUID(TID_D3DRMMaterial, 0x3d82ab4d, 0x62da, 0x11cf, 0xab, 0x39, 0x0, 0x20, 0xaf, 0x71, 0xe4, 0x33);
DEFINE_GUID(TID_D3DRMMaterialArray, 0x35ff44e1, 0x6c7c, 0x11cf, 0x8F, 0x52, 0x0, 0x40, 0x33, 0x35, 0x94, 0xa3);
DEFINE_GUID(TID_D3DRMFrame, 0x3d82ab46, 0x62da, 0x11cf, 0xab, 0x39, 0x0, 0x20, 0xaf, 0x71, 0xe4, 0x33);
DEFINE_GUID(TID_D3DRMFrameTransformMatrix, 0xf6f23f41, 0x7686, 0x11cf, 0x8f, 0x52, 0x0, 0x40, 0x33, 0x35, 0x94, 0xa3);
DEFINE_GUID(TID_D3DRMMeshMaterialList, 0xf6f23f42, 0x7686, 0x11cf, 0x8f, 0x52, 0x0, 0x40, 0x33, 0x35, 0x94, 0xa3);
DEFINE_GUID(TID_D3DRMMeshTextureCoords, 0xf6f23f40, 0x7686, 0x11cf, 0x8f, 0x52, 0x0, 0x40, 0x33, 0x35, 0x94, 0xa3);
DEFINE_GUID(TID_D3DRMMeshNormals, 0xf6f23f43, 0x7686, 0x11cf, 0x8f, 0x52, 0x0, 0x40, 0x33, 0x35, 0x94, 0xa3);
DEFINE_GUID(TID_D3DRMCoords2d, 0xf6f23f44, 0x7686, 0x11cf, 0x8f, 0x52, 0x0, 0x40, 0x33, 0x35, 0x94, 0xa3);
DEFINE_GUID(TID_D3DRMMatrix4x4, 0xf6f23f45, 0x7686, 0x11cf, 0x8f, 0x52, 0x0, 0x40, 0x33, 0x35, 0x94, 0xa3);
DEFINE_GUID(TID_D3DRMAnimation, 0x3d82ab4f, 0x62da, 0x11cf, 0xab, 0x39, 0x0, 0x20, 0xaf, 0x71, 0xe4, 0x33);
DEFINE_GUID(TID_D3DRMAnimationSet, 0x3d82ab50, 0x62da, 0x11cf, 0xab, 0x39, 0x0, 0x20, 0xaf, 0x71, 0xe4, 0x33);
DEFINE_GUID(TID_D3DRMAnimationKey, 0x10dd46a8, 0x775b, 0x11cf, 0x8f, 0x52, 0x0, 0x40, 0x33, 0x35, 0x94, 0xA3);
DEFINE_GUID(TID_D3DRMFloatKeys, 0x10dd46a9, 0x775b, 0x11cf, 0x8f, 0x52, 0x0, 0x40, 0x33, 0x35, 0x94, 0xA3);
DEFINE_GUID(TID_D3DRMMaterialAmbientColor, 0x01411840, 0x7786, 0x11cf, 0x8f, 0x52, 0x0, 0x40, 0x33, 0x35, 0x94, 0xA3);
DEFINE_GUID(TID_D3DRMMaterialDiffuseColor, 0x01411841, 0x7786, 0x11cf, 0x8f, 0x52, 0x0, 0x40, 0x33, 0x35, 0x94, 0xA3);
DEFINE_GUID(TID_D3DRMMaterialSpecularColor, 0x01411842, 0x7786, 0x11cf, 0x8f, 0x52, 0x0, 0x40, 0x33, 0x35, 0x94, 0xA3);
DEFINE_GUID(TID_D3DRMMaterialEmissiveColor, 0xd3e16e80, 0x7835, 0x11cf, 0x8f, 0x52, 0x0, 0x40, 0x33, 0x35, 0x94, 0xa3);
DEFINE_GUID(TID_D3DRMMaterialPower, 0x01411843, 0x7786, 0x11cf, 0x8f, 0x52, 0x0, 0x40, 0x33, 0x35, 0x94, 0xA3);
DEFINE_GUID(TID_D3DRMColorRGBA, 0x35ff44e0, 0x6c7c, 0x11cf, 0x8f, 0x52, 0x0, 0x40, 0x33, 0x35, 0x94, 0xA3);
DEFINE_GUID(TID_D3DRMColorRGB, 0xd3e16e81, 0x7835, 0x11cf, 0x8f, 0x52, 0x0, 0x40, 0x33, 0x35, 0x94, 0xa3);
DEFINE_GUID(TID_D3DRMGuid, 0xa42790e0, 0x7810, 0x11cf, 0x8f, 0x52, 0x0, 0x40, 0x33, 0x35, 0x94, 0xa3);
DEFINE_GUID(TID_D3DRMTextureFilename, 0xa42790e1, 0x7810, 0x11cf, 0x8f, 0x52, 0x0, 0x40, 0x33, 0x35, 0x94, 0xa3);
DEFINE_GUID(TID_D3DRMTextureReference, 0xa42790e2, 0x7810, 0x11cf, 0x8f, 0x52, 0x0, 0x40, 0x33, 0x35, 0x94, 0xa3);
DEFINE_GUID(TID_D3DRMIndexedColor, 0x1630b820, 0x7842, 0x11cf, 0x8f, 0x52, 0x0, 0x40, 0x33, 0x35, 0x94, 0xa3);
DEFINE_GUID(TID_D3DRMMeshVertexColors, 0x1630b821, 0x7842, 0x11cf, 0x8f, 0x52, 0x0, 0x40, 0x33, 0x35, 0x94, 0xa3);
DEFINE_GUID(TID_D3DRMMaterialWrap, 0x4885ae60, 0x78e8, 0x11cf, 0x8f, 0x52, 0x0, 0x40, 0x33, 0x35, 0x94, 0xa3);
DEFINE_GUID(TID_D3DRMBoolean, 0x537da6a0, 0xca37, 0x11d0, 0x94, 0x1c, 0x0, 0x80, 0xc8, 0xc, 0xfa, 0x7b);
DEFINE_GUID(TID_D3DRMMeshFaceWraps, 0xed1ec5c0, 0xc0a8, 0x11d0, 0x94, 0x1c, 0x0, 0x80, 0xc8, 0xc, 0xfa, 0x7b);
DEFINE_GUID(TID_D3DRMBoolean2d, 0x4885ae63, 0x78e8, 0x11cf, 0x8f, 0x52, 0x0, 0x40, 0x33, 0x35, 0x94, 0xa3);
DEFINE_GUID(TID_D3DRMTimedFloatKeys, 0xf406b180, 0x7b3b, 0x11cf, 0x8f, 0x52, 0x0, 0x40, 0x33, 0x35, 0x94, 0xa3);
DEFINE_GUID(TID_D3DRMAnimationOptions, 0xe2bf56c0, 0x840f, 0x11cf, 0x8f, 0x52, 0x0, 0x40, 0x33, 0x35, 0x94, 0xa3);
DEFINE_GUID(TID_D3DRMFramePosition, 0xe2bf56c1, 0x840f, 0x11cf, 0x8f, 0x52, 0x0, 0x40, 0x33, 0x35, 0x94, 0xa3);
DEFINE_GUID(TID_D3DRMFrameVelocity, 0xe2bf56c2, 0x840f, 0x11cf, 0x8f, 0x52, 0x0, 0x40, 0x33, 0x35, 0x94, 0xa3);
DEFINE_GUID(TID_D3DRMFrameRotation, 0xe2bf56c3, 0x840f, 0x11cf, 0x8f, 0x52, 0x0, 0x40, 0x33, 0x35, 0x94, 0xa3);
DEFINE_GUID(TID_D3DRMLight, 0x3d82ab4a, 0x62da, 0x11cf, 0xab, 0x39, 0x0, 0x20, 0xaf, 0x71, 0xe4, 0x33);
DEFINE_GUID(TID_D3DRMCamera, 0x3d82ab51, 0x62da, 0x11cf, 0xab, 0x39, 0x0, 0x20, 0xaf, 0x71, 0xe4, 0x33);
DEFINE_GUID(TID_D3DRMAppData, 0xe5745280, 0xb24f, 0x11cf, 0x9d, 0xd5, 0x0, 0xaa, 0x0, 0xa7, 0x1a, 0x2f);
DEFINE_GUID(TID_D3DRMLightUmbra, 0xaed22740, 0xb31f, 0x11cf, 0x9d, 0xd5, 0x0, 0xaa, 0x0, 0xa7, 0x1a, 0x2f);
DEFINE_GUID(TID_D3DRMLightRange, 0xaed22742, 0xb31f, 0x11cf, 0x9d, 0xd5, 0x0, 0xaa, 0x0, 0xa7, 0x1a, 0x2f);
DEFINE_GUID(TID_D3DRMLightPenumbra, 0xaed22741, 0xb31f, 0x11cf, 0x9d, 0xd5, 0x0, 0xaa, 0x0, 0xa7, 0x1a, 0x2f);
DEFINE_GUID(TID_D3DRMLightAttenuation, 0xa8a98ba0, 0xc5e5, 0x11cf, 0xb9, 0x41, 0x0, 0x80, 0xc8, 0xc, 0xfa, 0x7b);
DEFINE_GUID(TID_D3DRMInlineData, 0x3a23eea0, 0x94b1, 0x11d0, 0xab, 0x39, 0x0, 0x20, 0xaf, 0x71, 0xe4, 0x33);
DEFINE_GUID(TID_D3DRMUrl, 0x3a23eea1, 0x94b1, 0x11d0, 0xab, 0x39, 0x0, 0x20, 0xaf, 0x71, 0xe4, 0x33);
DEFINE_GUID(TID_D3DRMProgressiveMesh, 0x8A63C360, 0x997D, 0x11d0, 0x94, 0x1C, 0x0, 0x80, 0xC8, 0x0C, 0xFA, 0x7B);
DEFINE_GUID(TID_D3DRMExternalVisual, 0x98116AA0, 0xBDBA, 0x11d1, 0x82, 0xC0, 0x00, 0xA0, 0xC9, 0x69, 0x72, 0x71);
DEFINE_GUID(TID_D3DRMStringProperty, 0x7f0f21e0, 0xbfe1, 0x11d1, 0x82, 0xc0, 0x0, 0xa0, 0xc9, 0x69, 0x72, 0x71);
DEFINE_GUID(TID_D3DRMPropertyBag, 0x7f0f21e1, 0xbfe1, 0x11d1, 0x82, 0xc0, 0x0, 0xa0, 0xc9, 0x69, 0x72, 0x71);
DEFINE_GUID(TID_D3DRMRightHanded, 0x7f5d5ea0, 0xd53a, 0x11d1, 0x82, 0xc0, 0x0, 0xa0, 0xc9, 0x69, 0x72, 0x71);
/* d3drm.h */
DEFINE_GUID(IID_IDirect3DRM, 0x2bc49361, 0x8327, 0x11cf, 0xac, 0x4a, 0x0, 0x0, 0xc0, 0x38, 0x25, 0xa1);
DEFINE_GUID(IID_IDirect3DRM2, 0x4516ecc8, 0x8f20, 0x11d0, 0x9b, 0x6d, 0x00, 0x00, 0xc0, 0x78, 0x1b, 0xc3);
DEFINE_GUID(IID_IDirect3DRM3, 0x4516ec83, 0x8f20, 0x11d0, 0x9b, 0x6d, 0x00, 0x00, 0xc0, 0x78, 0x1b, 0xc3);
DEFINE_GUID(CLSID_CDirect3DRM, 0x4516ec41, 0x8f20, 0x11d0, 0x9b, 0x6d, 0x00, 0x00, 0xc0, 0x78, 0x1b, 0xc3);
/* dvp.h */
DEFINE_GUID(IID_IDDVideoPortContainer, 0x6C142760, 0xA733, 0x11CE, 0xA5, 0x21, 0x00, 0x20, 0xAF, 0x0B, 0xE5, 0x60);
DEFINE_GUID(IID_IDirectDrawVideoPort, 0xB36D93E0, 0x2B43, 0x11CF, 0xA2, 0xDE, 0x00, 0xAA, 0x00, 0xB9, 0x33, 0x56);
DEFINE_GUID(DDVPTYPE_E_HREFH_VREFH, 0x54F39980L, 0xDA60, 0x11CF, 0x9B, 0x06, 0x00, 0xA0, 0xC9, 0x03, 0xA3, 0xB8);
DEFINE_GUID(DDVPTYPE_E_HREFH_VREFL, 0x92783220L, 0xDA60, 0x11CF, 0x9B, 0x06, 0x00, 0xA0, 0xC9, 0x03, 0xA3, 0xB8);
DEFINE_GUID(DDVPTYPE_E_HREFL_VREFH, 0xA07A02E0L, 0xDA60, 0x11CF, 0x9B, 0x06, 0x00, 0xA0, 0xC9, 0x03, 0xA3, 0xB8);
DEFINE_GUID(DDVPTYPE_E_HREFL_VREFL, 0xE09C77E0L, 0xDA60, 0x11CF, 0x9B, 0x06, 0x00, 0xA0, 0xC9, 0x03, 0xA3, 0xB8);
DEFINE_GUID(DDVPTYPE_CCIR656, 0xFCA326A0L, 0xDA60, 0x11CF, 0x9B, 0x06, 0x00, 0xA0, 0xC9, 0x03, 0xA3, 0xB8);
DEFINE_GUID(DDVPTYPE_BROOKTREE, 0x1352A560L, 0xDA61, 0x11CF, 0x9B, 0x06, 0x00, 0xA0, 0xC9, 0x03, 0xA3, 0xB8);
DEFINE_GUID(DDVPTYPE_PHILIPS, 0x332CF160L, 0xDA61, 0x11CF, 0x9B, 0x06, 0x00, 0xA0, 0xC9, 0x03, 0xA3, 0xB8);
/* dmksctrl.h */
DEFINE_GUID(IID_IKsControl, 0x28F54685, 0x06FD, 0x11D2, 0xB2, 0x7A, 0x00, 0xA0, 0xC9, 0x22, 0x31, 0x96);
DEFINE_GUID(KSDATAFORMAT_SUBTYPE_MIDI, 0x1D262760L, 0xE957, 0x11CF, 0xA5, 0xD6, 0x28, 0xDB, 0x04, 0xC1, 0x00, 0x00);
DEFINE_GUID(KSDATAFORMAT_SUBTYPE_DIRECTMUSIC, 0x1a82f8bc, 0x3f8b, 0x11d2, 0xb7, 0x74, 0x00, 0x60, 0x08, 0x33, 0x16, 0xc1);
/* dmplugin.h */
DEFINE_GUID(CLSID_DirectMusicScriptTrack,0x4108fa85, 0x3586, 0x11d3, 0x8b, 0xd7, 0x0, 0x60, 0x8, 0x93, 0xb1, 0xb6); /* {4108FA85-3586-11d3-8BD7-00600893B1B6} */
DEFINE_GUID(CLSID_DirectMusicMarkerTrack,0x55a8fd00, 0x4288, 0x11d3, 0x9b, 0xd1, 0x8a, 0xd, 0x61, 0xc8, 0x88, 0x35);
DEFINE_GUID(CLSID_DirectMusicSegmentTriggerTrack, 0xbae4d665, 0x4ea1, 0x11d3, 0x8b, 0xda, 0x0, 0x60, 0x8, 0x93, 0xb1, 0xb6); /* {BAE4D665-4EA1-11d3-8BDA-00600893B1B6} */
DEFINE_GUID(CLSID_DirectMusicLyricsTrack, 0x995c1cf5, 0x54ff, 0x11d3, 0x8b, 0xda, 0x0, 0x60, 0x8, 0x93, 0xb1, 0xb6); /* {995C1CF5-54FF-11d3-8BDA-00600893B1B6} */
DEFINE_GUID(CLSID_DirectMusicParamControlTrack, 0x4be0537b, 0x5c19, 0x11d3, 0x8b, 0xdc, 0x0, 0x60, 0x8, 0x93, 0xb1, 0xb6); /* {4BE0537B-5C19-11d3-8BDC-00600893B1B6} */
DEFINE_GUID(CLSID_DirectMusicMelodyFormulationTrack, 0xb0684266, 0xb57f, 0x11d2, 0x97, 0xf9, 0x0, 0xc0, 0x4f, 0xa3, 0x6e, 0x58);
DEFINE_GUID(CLSID_DirectMusicWaveTrack,0xeed36461, 0x9ea5, 0x11d3, 0x9b, 0xd1, 0x0, 0x80, 0xc7, 0x15, 0xa, 0x74);
DEFINE_GUID(IID_IDirectMusicTool8, 0xe674303, 0x3b05, 0x11d3, 0x9b, 0xd1, 0xf9, 0xe7, 0xf0, 0xa0, 0x15, 0x36);
DEFINE_GUID(IID_IDirectMusicTrack8, 0xe674304, 0x3b05, 0x11d3, 0x9b, 0xd1, 0xf9, 0xe7, 0xf0, 0xa0, 0x15, 0x36);
/* dmusicc.h */
DEFINE_GUID(IID_IReferenceClock, 0x56a86897, 0x0ad4, 0x11ce, 0xb0, 0x3a, 0x00, 0x20, 0xaf, 0x0b, 0xa7, 0x70);
DEFINE_GUID(CLSID_DirectMusic, 0x636b9f10, 0x0c7d, 0x11d1, 0x95, 0xb2, 0x00, 0x20, 0xaf, 0xdc, 0x74, 0x21);
DEFINE_GUID(CLSID_DirectMusicCollection, 0x480ff4b0, 0x28b2, 0x11d1, 0xbe, 0xf7, 0x0, 0xc0, 0x4f, 0xbf, 0x8f, 0xef);
DEFINE_GUID(CLSID_DirectMusicSynth, 0x58C2B4D0, 0x46E7, 0x11D1, 0x89, 0xAC, 0x00, 0xA0, 0xC9, 0x05, 0x41, 0x29);
DEFINE_GUID(IID_IDirectMusic, 0xd2ac2876, 0xb39b, 0x11d1, 0x87, 0x4, 0x0, 0x60, 0x8, 0x93, 0xb1, 0xbd);
DEFINE_GUID(IID_IDirectMusicBuffer, 0xd2ac2878, 0xb39b, 0x11d1, 0x87, 0x4, 0x0, 0x60, 0x8, 0x93, 0xb1, 0xbd);
DEFINE_GUID(IID_IDirectMusicPort, 0x55e2edd8, 0xcd7c, 0x11d1, 0xa7, 0x6f, 0x00, 0x00, 0xf8, 0x75, 0xac, 0x12);
DEFINE_GUID(IID_IDirectMusicThru, 0xced153e7, 0x3606, 0x11d2, 0xb9, 0xf9, 0x00, 0x00, 0xf8, 0x75, 0xac, 0x12);
DEFINE_GUID(IID_IDirectMusicPortDownload, 0xd2ac287a, 0xb39b, 0x11d1, 0x87, 0x4, 0x0, 0x60, 0x8, 0x93, 0xb1, 0xbd);
DEFINE_GUID(IID_IDirectMusicDownload, 0xd2ac287b, 0xb39b, 0x11d1, 0x87, 0x4, 0x0, 0x60, 0x8, 0x93, 0xb1, 0xbd);
DEFINE_GUID(IID_IDirectMusicCollection, 0xd2ac287c, 0xb39b, 0x11d1, 0x87, 0x4, 0x0, 0x60, 0x8, 0x93, 0xb1, 0xbd);
DEFINE_GUID(IID_IDirectMusicInstrument, 0xd2ac287d, 0xb39b, 0x11d1, 0x87, 0x4, 0x0, 0x60, 0x8, 0x93, 0xb1, 0xbd);
DEFINE_GUID(IID_IDirectMusicDownloadedInstrument, 0xd2ac287e, 0xb39b, 0x11d1, 0x87, 0x4, 0x0, 0x60, 0x8, 0x93, 0xb1, 0xbd);
DEFINE_GUID(IID_IDirectMusic2,0x6fc2cae1, 0xbc78, 0x11d2, 0xaf, 0xa6, 0x0, 0xaa, 0x0, 0x24, 0xd8, 0xb6);
DEFINE_GUID(GUID_DMUS_PROP_GM_Hardware, 0x178f2f24, 0xc364, 0x11d1, 0xa7, 0x60, 0x00, 0x00, 0xf8, 0x75, 0xac, 0x12);
DEFINE_GUID(GUID_DMUS_PROP_GS_Hardware, 0x178f2f25, 0xc364, 0x11d1, 0xa7, 0x60, 0x00, 0x00, 0xf8, 0x75, 0xac, 0x12);
DEFINE_GUID(GUID_DMUS_PROP_XG_Hardware, 0x178f2f26, 0xc364, 0x11d1, 0xa7, 0x60, 0x00, 0x00, 0xf8, 0x75, 0xac, 0x12);
DEFINE_GUID(GUID_DMUS_PROP_XG_Capable, 0x6496aba1, 0x61b0, 0x11d2, 0xaf, 0xa6, 0x0, 0xaa, 0x0, 0x24, 0xd8, 0xb6);
DEFINE_GUID(GUID_DMUS_PROP_GS_Capable, 0x6496aba2, 0x61b0, 0x11d2, 0xaf, 0xa6, 0x0, 0xaa, 0x0, 0x24, 0xd8, 0xb6);
DEFINE_GUID(GUID_DMUS_PROP_DLS1, 0x178f2f27, 0xc364, 0x11d1, 0xa7, 0x60, 0x00, 0x00, 0xf8, 0x75, 0xac, 0x12);
DEFINE_GUID(GUID_DMUS_PROP_DLS2, 0xf14599e5, 0x4689, 0x11d2, 0xaf, 0xa6, 0x0, 0xaa, 0x0, 0x24, 0xd8, 0xb6);
DEFINE_GUID(GUID_DMUS_PROP_INSTRUMENT2, 0x865fd372, 0x9f67, 0x11d2, 0x87, 0x2a, 0x0, 0x60, 0x8, 0x93, 0xb1, 0xbd);
DEFINE_GUID(GUID_DMUS_PROP_SynthSink_DSOUND, 0xaa97844, 0xc877, 0x11d1, 0x87, 0xc, 0x0, 0x60, 0x8, 0x93, 0xb1, 0xbd);
DEFINE_GUID(GUID_DMUS_PROP_SynthSink_WAVE, 0xaa97845, 0xc877, 0x11d1, 0x87, 0xc, 0x0, 0x60, 0x8, 0x93, 0xb1, 0xbd);
DEFINE_GUID(GUID_DMUS_PROP_SampleMemorySize, 0x178f2f28, 0xc364, 0x11d1, 0xa7, 0x60, 0x00, 0x00, 0xf8, 0x75, 0xac, 0x12);
DEFINE_GUID(GUID_DMUS_PROP_SamplePlaybackRate, 0x2a91f713, 0xa4bf, 0x11d2, 0xbb, 0xdf, 0x0, 0x60, 0x8, 0x33, 0xdb, 0xd8);
DEFINE_GUID(GUID_DMUS_PROP_WriteLatency,0x268a0fa0, 0x60f2, 0x11d2, 0xaf, 0xa6, 0x0, 0xaa, 0x0, 0x24, 0xd8, 0xb6);
DEFINE_GUID(GUID_DMUS_PROP_WritePeriod,0x268a0fa1, 0x60f2, 0x11d2, 0xaf, 0xa6, 0x0, 0xaa, 0x0, 0x24, 0xd8, 0xb6);
DEFINE_GUID(GUID_DMUS_PROP_MemorySize, 0x178f2f28, 0xc364, 0x11d1, 0xa7, 0x60, 0x00, 0x00, 0xf8, 0x75, 0xac, 0x12);
DEFINE_GUID(GUID_DMUS_PROP_WavesReverb,0x4cb5622, 0x32e5, 0x11d2, 0xaf, 0xa6, 0x0, 0xaa, 0x0, 0x24, 0xd8, 0xb6);
DEFINE_GUID(GUID_DMUS_PROP_Effects, 0xcda8d611, 0x684a, 0x11d2, 0x87, 0x1e, 0x0, 0x60, 0x8, 0x93, 0xb1, 0xbd);
DEFINE_GUID(GUID_DMUS_PROP_LegacyCaps,0xcfa7cdc2, 0x00a1, 0x11d2, 0xaa, 0xd5, 0x00, 0x00, 0xf8, 0x75, 0xac, 0x12);
DEFINE_GUID(GUID_DMUS_PROP_Volume, 0xfedfae25L, 0xe46e, 0x11d1, 0xaa, 0xce, 0x00, 0x00, 0xf8, 0x75, 0xac, 0x12);
/* dmusici.h */
DEFINE_GUID(CLSID_DirectMusicPerformance, 0xd2ac2881, 0xb39b, 0x11d1, 0x87, 0x4, 0x0, 0x60, 0x8, 0x93, 0xb1, 0xbd);
DEFINE_GUID(CLSID_DirectMusicSegment, 0xd2ac2882, 0xb39b, 0x11d1, 0x87, 0x4, 0x0, 0x60, 0x8, 0x93, 0xb1, 0xbd);
DEFINE_GUID(CLSID_DirectMusicSegmentState, 0xd2ac2883, 0xb39b, 0x11d1, 0x87, 0x4, 0x0, 0x60, 0x8, 0x93, 0xb1, 0xbd);
DEFINE_GUID(CLSID_DirectMusicGraph, 0xd2ac2884, 0xb39b, 0x11d1, 0x87, 0x4, 0x0, 0x60, 0x8, 0x93, 0xb1, 0xbd);
DEFINE_GUID(CLSID_DirectMusicTempoTrack, 0xd2ac2885, 0xb39b, 0x11d1, 0x87, 0x4, 0x0, 0x60, 0x8, 0x93, 0xb1, 0xbd);
DEFINE_GUID(CLSID_DirectMusicSeqTrack, 0xd2ac2886, 0xb39b, 0x11d1, 0x87, 0x4, 0x0, 0x60, 0x8, 0x93, 0xb1, 0xbd);
DEFINE_GUID(CLSID_DirectMusicCurveTrack, 0xc51f3861, 0xf9a6, 0x11d1, 0xbc, 0x95, 0x0, 0xa0, 0xc9, 0x22, 0xe6, 0xeb);
DEFINE_GUID(CLSID_DirectMusicSysExTrack, 0xd2ac2887, 0xb39b, 0x11d1, 0x87, 0x4, 0x0, 0x60, 0x8, 0x93, 0xb1, 0xbd);
DEFINE_GUID(CLSID_DirectMusicTimeSigTrack, 0xd2ac2888, 0xb39b, 0x11d1, 0x87, 0x4, 0x0, 0x60, 0x8, 0x93, 0xb1, 0xbd);
DEFINE_GUID(CLSID_DirectMusicStyle, 0xd2ac288a, 0xb39b, 0x11d1, 0x87, 0x4, 0x0, 0x60, 0x8, 0x93, 0xb1, 0xbd);
DEFINE_GUID(CLSID_DirectMusicChordTrack, 0xd2ac288b, 0xb39b, 0x11d1, 0x87, 0x4, 0x0, 0x60, 0x8, 0x93, 0xb1, 0xbd);
DEFINE_GUID(CLSID_DirectMusicCommandTrack, 0xd2ac288c, 0xb39b, 0x11d1, 0x87, 0x4, 0x0, 0x60, 0x8, 0x93, 0xb1, 0xbd);
DEFINE_GUID(CLSID_DirectMusicStyleTrack, 0xd2ac288d, 0xb39b, 0x11d1, 0x87, 0x4, 0x0, 0x60, 0x8, 0x93, 0xb1, 0xbd);
DEFINE_GUID(CLSID_DirectMusicMotifTrack, 0xd2ac288e, 0xb39b, 0x11d1, 0x87, 0x4, 0x0, 0x60, 0x8, 0x93, 0xb1, 0xbd);
DEFINE_GUID(CLSID_DirectMusicChordMap,0xd2ac288f, 0xb39b, 0x11d1, 0x87, 0x4, 0x0, 0x60, 0x8, 0x93, 0xb1, 0xbd);
DEFINE_GUID(CLSID_DirectMusicComposer, 0xd2ac2890, 0xb39b, 0x11d1, 0x87, 0x4, 0x0, 0x60, 0x8, 0x93, 0xb1, 0xbd);
DEFINE_GUID(CLSID_DirectMusicSignPostTrack, 0xf17e8672, 0xc3b4, 0x11d1, 0x87, 0xb, 0x0, 0x60, 0x8, 0x93, 0xb1, 0xbd);
DEFINE_GUID(CLSID_DirectMusicLoader, 0xd2ac2892, 0xb39b, 0x11d1, 0x87, 0x4, 0x0, 0x60, 0x8, 0x93, 0xb1, 0xbd);
DEFINE_GUID(CLSID_DirectMusicBandTrack,0xd2ac2894, 0xb39b, 0x11d1, 0x87, 0x4, 0x0, 0x60, 0x8, 0x93, 0xb1, 0xbd);
DEFINE_GUID(CLSID_DirectMusicBand, 0x79ba9e00, 0xb6ee, 0x11d1, 0x86, 0xbe, 0x0, 0xc0, 0x4f, 0xbf, 0x8f, 0xef);
DEFINE_GUID(CLSID_DirectMusicChordMapTrack,0xd2ac2896, 0xb39b, 0x11d1, 0x87, 0x4, 0x0, 0x60, 0x8, 0x93, 0xb1, 0xbd);
DEFINE_GUID(CLSID_DirectMusicMuteTrack, 0xd2ac2898, 0xb39b, 0x11d1, 0x87, 0x4, 0x0, 0x60, 0x8, 0x93, 0xb1, 0xbd);
DEFINE_GUID(GUID_DirectMusicAllTypes, 0xd2ac2893, 0xb39b, 0x11d1, 0x87, 0x4, 0x0, 0x60, 0x8, 0x93, 0xb1, 0xbd);
DEFINE_GUID(GUID_NOTIFICATION_SEGMENT, 0xd2ac2899, 0xb39b, 0x11d1, 0x87, 0x4, 0x0, 0x60, 0x8, 0x93, 0xb1, 0xbd);
DEFINE_GUID(GUID_NOTIFICATION_PERFORMANCE,0x81f75bc5, 0x4e5d, 0x11d2, 0xbc, 0xc7, 0x0, 0xa0, 0xc9, 0x22, 0xe6, 0xeb);
DEFINE_GUID(GUID_NOTIFICATION_MEASUREANDBEAT, 0xd2ac289a, 0xb39b, 0x11d1, 0x87, 0x4, 0x0, 0x60, 0x8, 0x93, 0xb1, 0xbd);
DEFINE_GUID(GUID_NOTIFICATION_CHORD, 0xd2ac289b, 0xb39b, 0x11d1, 0x87, 0x4, 0x0, 0x60, 0x8, 0x93, 0xb1, 0xbd);
DEFINE_GUID(GUID_NOTIFICATION_COMMAND, 0xd2ac289c, 0xb39b, 0x11d1, 0x87, 0x4, 0x0, 0x60, 0x8, 0x93, 0xb1, 0xbd);
DEFINE_GUID(GUID_CommandParam,0xd2ac289d, 0xb39b, 0x11d1, 0x87, 0x4, 0x0, 0x60, 0x8, 0x93, 0xb1, 0xbd);
DEFINE_GUID(GUID_CommandParam2, 0x28f97ef7, 0x9538, 0x11d2, 0x97, 0xa9, 0x0, 0xc0, 0x4f, 0xa3, 0x6e, 0x58);
DEFINE_GUID(GUID_ChordParam,0xd2ac289e, 0xb39b, 0x11d1, 0x87, 0x4, 0x0, 0x60, 0x8, 0x93, 0xb1, 0xbd);
DEFINE_GUID(GUID_RhythmParam,0xd2ac289f, 0xb39b, 0x11d1, 0x87, 0x4, 0x0, 0x60, 0x8, 0x93, 0xb1, 0xbd);
DEFINE_GUID(GUID_IDirectMusicStyle,0xd2ac28a1, 0xb39b, 0x11d1, 0x87, 0x4, 0x0, 0x60, 0x8, 0x93, 0xb1, 0xbd);
DEFINE_GUID(GUID_TimeSignature,0xd2ac28a4, 0xb39b, 0x11d1, 0x87, 0x4, 0x0, 0x60, 0x8, 0x93, 0xb1, 0xbd);
DEFINE_GUID(GUID_TempoParam,0xd2ac28a5, 0xb39b, 0x11d1, 0x87, 0x4, 0x0, 0x60, 0x8, 0x93, 0xb1, 0xbd);
DEFINE_GUID(GUID_IDirectMusicBand,0xd2ac28ac, 0xb39b, 0x11d1, 0x87, 0x4, 0x0, 0x60, 0x8, 0x93, 0xb1, 0xbd);
DEFINE_GUID(GUID_IDirectMusicChordMap,0xd2ac28ad, 0xb39b, 0x11d1, 0x87, 0x4, 0x0, 0x60, 0x8, 0x93, 0xb1, 0xbd);
DEFINE_GUID(GUID_MuteParam,0xd2ac28af, 0xb39b, 0x11d1, 0x87, 0x4, 0x0, 0x60, 0x8, 0x93, 0xb1, 0xbd);
DEFINE_GUID(GUID_Download,0xd2ac28a7, 0xb39b, 0x11d1, 0x87, 0x4, 0x0, 0x60, 0x8, 0x93, 0xb1, 0xbd);
DEFINE_GUID(GUID_Unload,0xd2ac28a8, 0xb39b, 0x11d1, 0x87, 0x4, 0x0, 0x60, 0x8, 0x93, 0xb1, 0xbd);
DEFINE_GUID(GUID_ConnectToDLSCollection, 0x1db1ae6b, 0xe92e, 0x11d1, 0xa8, 0xc5, 0x0, 0xc0, 0x4f, 0xa3, 0x72, 0x6e);
DEFINE_GUID(GUID_Enable_Auto_Download,0xd2ac28a9, 0xb39b, 0x11d1, 0x87, 0x4, 0x0, 0x60, 0x8, 0x93, 0xb1, 0xbd);
DEFINE_GUID(GUID_Clear_All_Bands,0xd2ac28ab, 0xb39b, 0x11d1, 0x87, 0x4, 0x0, 0x60, 0x8, 0x93, 0xb1, 0xbd);
DEFINE_GUID(GUID_StandardMIDIFile, 0x6621075, 0xe92e, 0x11d1, 0xa8, 0xc5, 0x0, 0xc0, 0x4f, 0xa3, 0x72, 0x6e);
DEFINE_GUID(GUID_DisableTimeSig, 0x45fc707b, 0x1db4, 0x11d2, 0xbc, 0xac, 0x0, 0xa0, 0xc9, 0x22, 0xe6, 0xeb);
DEFINE_GUID(GUID_EnableTimeSig, 0x45fc707c, 0x1db4, 0x11d2, 0xbc, 0xac, 0x0, 0xa0, 0xc9, 0x22, 0xe6, 0xeb);
DEFINE_GUID(GUID_DisableTempo, 0x45fc707d, 0x1db4, 0x11d2, 0xbc, 0xac, 0x0, 0xa0, 0xc9, 0x22, 0xe6, 0xeb);
DEFINE_GUID(GUID_EnableTempo, 0x45fc707e, 0x1db4, 0x11d2, 0xbc, 0xac, 0x0, 0xa0, 0xc9, 0x22, 0xe6, 0xeb);
DEFINE_GUID(GUID_SeedVariations, 0x65b76fa5, 0xff37, 0x11d2, 0x81, 0x4e, 0x0, 0xc0, 0x4f, 0xa3, 0x6e, 0x58);
DEFINE_GUID(GUID_PerfMasterTempo,0xd2ac28b0, 0xb39b, 0x11d1, 0x87, 0x4, 0x0, 0x60, 0x8, 0x93, 0xb1, 0xbd);
DEFINE_GUID(GUID_PerfMasterVolume,0xd2ac28b1, 0xb39b, 0x11d1, 0x87, 0x4, 0x0, 0x60, 0x8, 0x93, 0xb1, 0xbd);
DEFINE_GUID(GUID_PerfMasterGrooveLevel,0xd2ac28b2, 0xb39b, 0x11d1, 0x87, 0x4, 0x0, 0x60, 0x8, 0x93, 0xb1, 0xbd);
DEFINE_GUID(GUID_PerfAutoDownload, 0xfb09565b, 0x3631, 0x11d2, 0xbc, 0xb8, 0x0, 0xa0, 0xc9, 0x22, 0xe6, 0xeb);
DEFINE_GUID(GUID_DefaultGMCollection, 0xf17e8673, 0xc3b4, 0x11d1, 0x87, 0xb, 0x0, 0x60, 0x8, 0x93, 0xb1, 0xbd);
DEFINE_GUID(IID_IDirectMusicLoader, 0x2ffaaca2, 0x5dca, 0x11d2, 0xaf, 0xa6, 0x0, 0xaa, 0x0, 0x24, 0xd8, 0xb6);
DEFINE_GUID(IID_IDirectMusicGetLoader,0x68a04844, 0xd13d, 0x11d1, 0xaf, 0xa6, 0x0, 0xaa, 0x0, 0x24, 0xd8, 0xb6);
DEFINE_GUID(IID_IDirectMusicObject,0xd2ac28b5, 0xb39b, 0x11d1, 0x87, 0x4, 0x0, 0x60, 0x8, 0x93, 0xb1, 0xbd);
DEFINE_GUID(IID_IDirectMusicSegment, 0xf96029a2, 0x4282, 0x11d2, 0x87, 0x17, 0x0, 0x60, 0x8, 0x93, 0xb1, 0xbd);
DEFINE_GUID(IID_IDirectMusicSegmentState, 0xa3afdcc7, 0xd3ee, 0x11d1, 0xbc, 0x8d, 0x0, 0xa0, 0xc9, 0x22, 0xe6, 0xeb);
DEFINE_GUID(IID_IDirectMusicTrack, 0xf96029a1, 0x4282, 0x11d2, 0x87, 0x17, 0x0, 0x60, 0x8, 0x93, 0xb1, 0xbd);
DEFINE_GUID(IID_IDirectMusicPerformance,0x7d43d03, 0x6523, 0x11d2, 0x87, 0x1d, 0x0, 0x60, 0x8, 0x93, 0xb1, 0xbd);
DEFINE_GUID(IID_IDirectMusicTool,0xd2ac28ba, 0xb39b, 0x11d1, 0x87, 0x4, 0x0, 0x60, 0x8, 0x93, 0xb1, 0xbd);
DEFINE_GUID(IID_IDirectMusicGraph,0x2befc277, 0x5497, 0x11d2, 0xbc, 0xcb, 0x0, 0xa0, 0xc9, 0x22, 0xe6, 0xeb);
DEFINE_GUID(IID_IDirectMusicStyle,0xd2ac28bd, 0xb39b, 0x11d1, 0x87, 0x4, 0x0, 0x60, 0x8, 0x93, 0xb1, 0xbd);
DEFINE_GUID(IID_IDirectMusicChordMap,0xd2ac28be, 0xb39b, 0x11d1, 0x87, 0x4, 0x0, 0x60, 0x8, 0x93, 0xb1, 0xbd);
DEFINE_GUID(IID_IDirectMusicComposer,0xd2ac28bf, 0xb39b, 0x11d1, 0x87, 0x4, 0x0, 0x60, 0x8, 0x93, 0xb1, 0xbd);
DEFINE_GUID(IID_IDirectMusicBand,0xd2ac28c0, 0xb39b, 0x11d1, 0x87, 0x4, 0x0, 0x60, 0x8, 0x93, 0xb1, 0xbd);
DEFINE_GUID(IID_IDirectMusicPerformance2,0x6fc2cae0, 0xbc78, 0x11d2, 0xaf, 0xa6, 0x0, 0xaa, 0x0, 0x24, 0xd8, 0xb6);
DEFINE_GUID(IID_IDirectMusicSegment2, 0xd38894d1, 0xc052, 0x11d2, 0x87, 0x2f, 0x0, 0x60, 0x8, 0x93, 0xb1, 0xbd);
DEFINE_GUID(IID_IDirectMusicLoader8, 0x19e7c08c, 0xa44, 0x4e6a, 0xa1, 0x16, 0x59, 0x5a, 0x7c, 0xd5, 0xde, 0x8c);
DEFINE_GUID(IID_IDirectMusicPerformance8, 0x679c4137, 0xc62e, 0x4147, 0xb2, 0xb4, 0x9d, 0x56, 0x9a, 0xcb, 0x25, 0x4c);
DEFINE_GUID(IID_IDirectMusicSegment8,0xc6784488, 0x41a3, 0x418f, 0xaa, 0x15, 0xb3, 0x50, 0x93, 0xba, 0x42, 0xd4);
DEFINE_GUID(IID_IDirectMusicSegmentState8, 0xa50e4730, 0xae4, 0x48a7, 0x98, 0x39, 0xbc, 0x4, 0xbf, 0xe0, 0x77, 0x72);
DEFINE_GUID(IID_IDirectMusicStyle8, 0xfd24ad8a, 0xa260, 0x453d, 0xbf, 0x50, 0x6f, 0x93, 0x84, 0xf7, 0x9, 0x85);
DEFINE_GUID(IID_IDirectMusicPatternTrack, 0x51c22e10, 0xb49f, 0x46fc, 0xbe, 0xc2, 0xe6, 0x28, 0x8f, 0xb9, 0xed, 0xe6);
DEFINE_GUID(IID_IDirectMusicScript, 0x2252373a, 0x5814, 0x489b, 0x82, 0x9, 0x31, 0xfe, 0xde, 0xba, 0xf1, 0x37); /* {2252373A-5814-489b-8209-31FEDEBAF137} */
DEFINE_GUID(IID_IDirectMusicContainer, 0x9301e386, 0x1f22, 0x11d3, 0x82, 0x26, 0xd2, 0xfa, 0x76, 0x25, 0x5d, 0x47);
DEFINE_GUID(IID_IDirectMusicSong, 0xa862b2ec, 0x3676, 0x4982, 0x85, 0xa, 0x78, 0x42, 0x77, 0x5e, 0x1d, 0x86);
DEFINE_GUID(IID_IDirectMusicAudioPath,0xc87631f5, 0x23be, 0x4986, 0x88, 0x36, 0x5, 0x83, 0x2f, 0xcc, 0x48, 0xf9);
/* d3d.h */
DEFINE_GUID(IID_IDirect3D, 0x3BBA0080, 0x2421, 0x11CF, 0xA3, 0x1A, 0x00, 0xAA, 0x00, 0xB9, 0x33, 0x56);
DEFINE_GUID(IID_IDirect3D2, 0x6aae1ec1, 0x662a, 0x11d0, 0x88, 0x9d, 0x00, 0xaa, 0x00, 0xbb, 0xb7, 0x6a);
DEFINE_GUID(IID_IDirect3D3, 0xbb223240, 0xe72b, 0x11d0, 0xa9, 0xb4, 0x00, 0xaa, 0x00, 0xc0, 0x99, 0x3e);
DEFINE_GUID( IID_IDirect3D7, 0xf5049e77,0x4861,0x11d2,0xa4,0x7,0x0,0xa0,0xc9,0x6,0x29,0xa8);
DEFINE_GUID(IID_IDirect3DRampDevice, 0xF2086B20, 0x259F, 0x11CF, 0xA3, 0x1A, 0x00, 0xAA, 0x00, 0xB9, 0x33, 0x56);
DEFINE_GUID(IID_IDirect3DRGBDevice, 0xA4665C60, 0x2673, 0x11CF, 0xA3, 0x1A, 0x00, 0xAA, 0x00, 0xB9, 0x33, 0x56);
DEFINE_GUID(IID_IDirect3DHALDevice, 0x84E63dE0, 0x46AA, 0x11CF, 0x81, 0x6F, 0x00, 0x00, 0xC0, 0x20, 0x15, 0x6E);
DEFINE_GUID(IID_IDirect3DMMXDevice, 0x881949a1, 0xd6f3, 0x11d0, 0x89, 0xab, 0x00, 0xa0, 0xc9, 0x05, 0x41, 0x29);
DEFINE_GUID(IID_IDirect3DRefDevice, 0x50936643, 0x13e9, 0x11d1, 0x89, 0xaa, 0x0, 0xa0, 0xc9, 0x5, 0x41, 0x29);
DEFINE_GUID(IID_IDirect3DNullDevice, 0x8767df22, 0xbacc, 0x11d1, 0x89, 0x69, 0x0, 0xa0, 0xc9, 0x6, 0x29, 0xa8);
DEFINE_GUID( IID_IDirect3DTnLHalDevice, 0xf5049e78, 0x4861, 0x11d2, 0xa4, 0x7, 0x0, 0xa0, 0xc9, 0x6, 0x29, 0xa8);
DEFINE_GUID(IID_IDirect3DDevice, 0x64108800, 0x957d, 0X11d0, 0x89, 0xab, 0x00, 0xa0, 0xc9, 0x05, 0x41, 0x29);
DEFINE_GUID(IID_IDirect3DDevice2, 0x93281501, 0x8cf8, 0x11d0, 0x89, 0xab, 0x0, 0xa0, 0xc9, 0x5, 0x41, 0x29);
DEFINE_GUID(IID_IDirect3DDevice3, 0xb0ab3b60, 0x33d7, 0x11d1, 0xa9, 0x81, 0x0, 0xc0, 0x4f, 0xd7, 0xb1, 0x74);
DEFINE_GUID( IID_IDirect3DDevice7, 0xf5049e79, 0x4861, 0x11d2, 0xa4, 0x7, 0x0, 0xa0, 0xc9, 0x6, 0x29, 0xa8);
DEFINE_GUID( IID_IDirect3DTexture, 0x2CDCD9E0,0x25A0,0x11CF,0xA3,0x1A,0x00,0xAA,0x00,0xB9,0x33,0x56 );
DEFINE_GUID(IID_IDirect3DTexture2, 0x93281502, 0x8cf8, 0x11d0, 0x89, 0xab, 0x0, 0xa0, 0xc9, 0x5, 0x41, 0x29);
DEFINE_GUID(IID_IDirect3DLight, 0x4417C142, 0x33AD, 0x11CF, 0x81, 0x6F, 0x00, 0x00, 0xC0, 0x20, 0x15, 0x6E);
DEFINE_GUID(IID_IDirect3DMaterial, 0x4417C144, 0x33AD, 0x11CF, 0x81, 0x6F, 0x00, 0x00, 0xC0, 0x20, 0x15, 0x6E);
DEFINE_GUID(IID_IDirect3DMaterial2, 0x93281503, 0x8cf8, 0x11d0, 0x89, 0xab, 0x0, 0xa0, 0xc9, 0x5, 0x41, 0x29);
DEFINE_GUID(IID_IDirect3DMaterial3, 0xca9c46f4, 0xd3c5, 0x11d1, 0xb7, 0x5a, 0x0, 0x60, 0x8, 0x52, 0xb3, 0x12);
DEFINE_GUID(IID_IDirect3DExecuteBuffer, 0x4417C145, 0x33AD, 0x11CF, 0x81, 0x6F, 0x00, 0x00, 0xC0, 0x20, 0x15, 0x6E);
DEFINE_GUID(IID_IDirect3DViewport, 0x4417C146, 0x33AD, 0x11CF, 0x81, 0x6F, 0x00, 0x00, 0xC0, 0x20, 0x15, 0x6E);
DEFINE_GUID(IID_IDirect3DViewport2, 0x93281500, 0x8cf8, 0x11d0, 0x89, 0xab, 0x0, 0xa0, 0xc9, 0x5, 0x41, 0x29);
DEFINE_GUID(IID_IDirect3DViewport3, 0xb0ab3b61, 0x33d7, 0x11d1, 0xa9, 0x81, 0x0, 0xc0, 0x4f, 0xd7, 0xb1, 0x74);
DEFINE_GUID(IID_IDirect3DVertexBuffer, 0x7a503555, 0x4a83, 0x11d1, 0xa5, 0xdb, 0x0, 0xa0, 0xc9, 0x3, 0x67, 0xf8);
DEFINE_GUID( IID_IDirect3DVertexBuffer7, 0xf5049e7d, 0x4861, 0x11d2, 0xa4, 0x7, 0x0, 0xa0, 0xc9, 0x6, 0x29, 0xa8);
/* d3d8.h */
DEFINE_GUID(IID_IDirect3D8, 0x1dd9e8da, 0x1c77, 0x4d40, 0xb0, 0xcf, 0x98, 0xfe, 0xfd, 0xff, 0x95, 0x12);
DEFINE_GUID(IID_IDirect3DDevice8, 0x7385e5df, 0x8fe8, 0x41d5, 0x86, 0xb6, 0xd7, 0xb4, 0x85, 0x47, 0xb6, 0xcf);
DEFINE_GUID(IID_IDirect3DResource8, 0x1b36bb7b, 0x9b7, 0x410a, 0xb4, 0x45, 0x7d, 0x14, 0x30, 0xd7, 0xb3, 0x3f);
DEFINE_GUID(IID_IDirect3DBaseTexture8, 0xb4211cfa, 0x51b9, 0x4a9f, 0xab, 0x78, 0xdb, 0x99, 0xb2, 0xbb, 0x67, 0x8e);
DEFINE_GUID(IID_IDirect3DTexture8, 0xe4cdd575, 0x2866, 0x4f01, 0xb1, 0x2e, 0x7e, 0xec, 0xe1, 0xec, 0x93, 0x58);
DEFINE_GUID(IID_IDirect3DCubeTexture8, 0x3ee5b968, 0x2aca, 0x4c34, 0x8b, 0xb5, 0x7e, 0x0c, 0x3d, 0x19, 0xb7, 0x50);
DEFINE_GUID(IID_IDirect3DVolumeTexture8, 0x4b8aaafa, 0x140f, 0x42ba, 0x91, 0x31, 0x59, 0x7e, 0xaf, 0xaa, 0x2e, 0xad);
DEFINE_GUID(IID_IDirect3DVertexBuffer8, 0x8aeeeac7, 0x05f9, 0x44d4, 0xb5, 0x91, 0x00, 0x0b, 0x0d, 0xf1, 0xcb, 0x95);
DEFINE_GUID(IID_IDirect3DIndexBuffer8, 0x0e689c9a, 0x053d, 0x44a0, 0x9d, 0x92, 0xdb, 0x0e, 0x3d, 0x75, 0x0f, 0x86);
DEFINE_GUID(IID_IDirect3DSurface8, 0xb96eebca, 0xb326, 0x4ea5, 0x88, 0x2f, 0x2f, 0xf5, 0xba, 0xe0, 0x21, 0xdd);
DEFINE_GUID(IID_IDirect3DVolume8, 0xbd7349f5, 0x14f1, 0x42e4, 0x9c, 0x79, 0x97, 0x23, 0x80, 0xdb, 0x40, 0xc0);
DEFINE_GUID(IID_IDirect3DSwapChain8, 0x928c088b, 0x76b9, 0x4c6b, 0xa5, 0x36, 0xa5, 0x90, 0x85, 0x38, 0x76, 0xcd);
/* d3dx8core.h */
DEFINE_GUID(IID_ID3DXBuffer, 0x932e6a7e, 0xc68e, 0x45dd, 0xa7, 0xbf, 0x53, 0xd1, 0x9c, 0x86, 0xdb, 0x1f);
DEFINE_GUID( IID_ID3DXFont, 0x2d501df7, 0xd253, 0x4414, 0x86, 0x5f, 0xa6, 0xd5, 0x4a, 0x75, 0x31, 0x38);
DEFINE_GUID( IID_ID3DXSprite, 0xe8691849, 0x87b8, 0x4929, 0x90, 0x50, 0x1b, 0x5, 0x42, 0xd5, 0x53, 0x8c);
DEFINE_GUID( IID_ID3DXRenderToSurface, 0x69cc587c, 0xe40c, 0x458d, 0xb5, 0xd3, 0xb0, 0x29, 0xe1, 0x8e, 0xb6, 0xa);
DEFINE_GUID( IID_ID3DXRenderToEnvMap, 0x9f6779e5, 0x60a9, 0x4d8b, 0xae, 0xe4, 0x32, 0x77, 0xf, 0x40, 0x5d, 0xba);
/* d3dx8effect.h */
DEFINE_GUID( IID_ID3DXTechnique, 0xa00f378d, 0xaf79, 0x4917, 0x90, 0x7e, 0x4d, 0x63, 0x5e, 0xe6, 0x38, 0x44);
DEFINE_GUID( IID_ID3DXEffect, 0x281bbdd4, 0xaedf, 0x4907, 0x86, 0x50, 0xe7, 0x9c, 0xdf, 0xd4, 0x51, 0x65);
/* d3dx8math.h */
DEFINE_GUID( IID_ID3DXMatrixStack, 0xe3357330, 0xcc5e, 0x11d2, 0xa4, 0x34, 0x0, 0xa0, 0xc9, 0x6, 0x29, 0xa8);
/* d3dx8mesh.h */
DEFINE_GUID(IID_ID3DXBaseMesh, 0xa69ba991, 0x1f7d, 0x11d3, 0xb9, 0x29, 0x0, 0xc0, 0x4f, 0x68, 0xdc, 0x23);
DEFINE_GUID(IID_ID3DXMesh, 0x9d84ac46, 0x6b90, 0x49a9, 0xa7, 0x21, 0x8, 0x5c, 0x7a, 0x3e, 0x3d, 0xae);
DEFINE_GUID(IID_ID3DXPMesh, 0x15981aa8, 0x1a05, 0x48e3, 0xbb, 0xe7, 0xff, 0x5d, 0x49, 0x65, 0x4e, 0x3f);
DEFINE_GUID(IID_ID3DXSPMesh, 0xbc3bbde2, 0x1f7d, 0x11d3, 0xb9, 0x29, 0x0, 0xc0, 0x4f, 0x68, 0xdc, 0x23);
DEFINE_GUID(IID_ID3DXSkinMesh, 0x82a53844, 0xf322, 0x409e, 0xa2, 0xe9, 0x99, 0x2e, 0x11, 0x4, 0x6, 0x9d);
/* dsound.h */
DEFINE_GUID(CLSID_DirectSound, 0x47d4d946, 0x62e8, 0x11cf, 0x93, 0xbc, 0x44, 0x45, 0x53, 0x54, 0x0, 0x0);
DEFINE_GUID(CLSID_DirectSound8, 0x3901cc3f, 0x84b5, 0x4fa4, 0xba, 0x35, 0xaa, 0x81, 0x72, 0xb8, 0xa0, 0x9b);
DEFINE_GUID(CLSID_DirectSoundCapture, 0xb0210780, 0x89cd, 0x11d0, 0xaf, 0x8, 0x0, 0xa0, 0xc9, 0x25, 0xcd, 0x16);
DEFINE_GUID(CLSID_DirectSoundFullDuplex, 0xfea4300c, 0x7959, 0x4147, 0xb2, 0x6a, 0x23, 0x77, 0xb9, 0xe7, 0xa9, 0x1d);
DEFINE_GUID(CLSID_DirectSoundCapture8, 0xe4bcac13, 0x7f99, 0x4908, 0x9a, 0x8e, 0x74, 0xe3, 0xbf, 0x24, 0xb6, 0xe1);
DEFINE_GUID(DSDEVID_DefaultPlayback, 0xdef00000, 0x9c6d, 0x47ed, 0xaa, 0xf1, 0x4d, 0xda, 0x8f, 0x2b, 0x5c, 0x03);
DEFINE_GUID(DSDEVID_DefaultCapture, 0xdef00001, 0x9c6d, 0x47ed, 0xaa, 0xf1, 0x4d, 0xda, 0x8f, 0x2b, 0x5c, 0x03);
DEFINE_GUID(DSDEVID_DefaultVoicePlayback, 0xdef00002, 0x9c6d, 0x47ed, 0xaa, 0xf1, 0x4d, 0xda, 0x8f, 0x2b, 0x5c, 0x03);
DEFINE_GUID(DSDEVID_DefaultVoiceCapture, 0xdef00003, 0x9c6d, 0x47ed, 0xaa, 0xf1, 0x4d, 0xda, 0x8f, 0x2b, 0x5c, 0x03);
DEFINE_GUID(IID_IDirectSound, 0x279AFA83, 0x4981, 0x11CE, 0xA5, 0x21, 0x00, 0x20, 0xAF, 0x0B, 0xE5, 0x60);
DEFINE_GUID(IID_IDirectSound8, 0xC50A7E93, 0xF395, 0x4834, 0x9E, 0xF6, 0x7F, 0xA9, 0x9D, 0xE5, 0x09, 0x66);
DEFINE_GUID(IID_IDirectSoundBuffer, 0x279AFA85, 0x4981, 0x11CE, 0xA5, 0x21, 0x00, 0x20, 0xAF, 0x0B, 0xE5, 0x60);
DEFINE_GUID(IID_IDirectSoundBuffer8, 0x6825a449, 0x7524, 0x4d82, 0x92, 0x0f, 0x50, 0xe3, 0x6a, 0xb3, 0xab, 0x1e);
DEFINE_GUID(GUID_All_Objects, 0xaa114de5, 0xc262, 0x4169, 0xa1, 0xc8, 0x23, 0xd6, 0x98, 0xcc, 0x73, 0xb5);
DEFINE_GUID(IID_IDirectSound3DListener, 0x279AFA84, 0x4981, 0x11CE, 0xA5, 0x21, 0x00, 0x20, 0xAF, 0x0B, 0xE5, 0x60);
DEFINE_GUID(IID_IDirectSound3DBuffer, 0x279AFA86, 0x4981, 0x11CE, 0xA5, 0x21, 0x00, 0x20, 0xAF, 0x0B, 0xE5, 0x60);
DEFINE_GUID(IID_IDirectSoundCapture, 0xb0210781, 0x89cd, 0x11d0, 0xaf, 0x8, 0x0, 0xa0, 0xc9, 0x25, 0xcd, 0x16);
DEFINE_GUID(IID_IDirectSoundCaptureBuffer, 0xb0210782, 0x89cd, 0x11d0, 0xaf, 0x8, 0x0, 0xa0, 0xc9, 0x25, 0xcd, 0x16);
DEFINE_GUID(IID_IDirectSoundCaptureBuffer8, 0x990df4, 0xdbb, 0x4872, 0x83, 0x3e, 0x6d, 0x30, 0x3e, 0x80, 0xae, 0xb6);
DEFINE_GUID(IID_IDirectSoundNotify, 0xb0210783, 0x89cd, 0x11d0, 0xaf, 0x8, 0x0, 0xa0, 0xc9, 0x25, 0xcd, 0x16);
DEFINE_GUID(IID_IKsPropertySet, 0x31efac30, 0x515c, 0x11d0, 0xa9, 0xaa, 0x00, 0xaa, 0x00, 0x61, 0xbe, 0x93);
DEFINE_GUID(IID_IDirectSoundFXGargle, 0xd616f352, 0xd622, 0x11ce, 0xaa, 0xc5, 0x00, 0x20, 0xaf, 0x0b, 0x99, 0xa3);
DEFINE_GUID(IID_IDirectSoundFXChorus, 0x880842e3, 0x145f, 0x43e6, 0xa9, 0x34, 0xa7, 0x18, 0x06, 0xe5, 0x05, 0x47);
DEFINE_GUID(IID_IDirectSoundFXFlanger, 0x903e9878, 0x2c92, 0x4072, 0x9b, 0x2c, 0xea, 0x68, 0xf5, 0x39, 0x67, 0x83);
DEFINE_GUID(IID_IDirectSoundFXEcho, 0x8bd28edf, 0x50db, 0x4e92, 0xa2, 0xbd, 0x44, 0x54, 0x88, 0xd1, 0xed, 0x42);
DEFINE_GUID(IID_IDirectSoundFXDistortion, 0x8ecf4326, 0x455f, 0x4d8b, 0xbd, 0xa9, 0x8d, 0x5d, 0x3e, 0x9e, 0x3e, 0x0b);
DEFINE_GUID(IID_IDirectSoundFXCompressor, 0x4bbd1154, 0x62f6, 0x4e2c, 0xa1, 0x5c, 0xd3, 0xb6, 0xc4, 0x17, 0xf7, 0xa0);
DEFINE_GUID(IID_IDirectSoundFXParamEq, 0xc03ca9fe, 0xfe90, 0x4204, 0x80, 0x78, 0x82, 0x33, 0x4c, 0xd1, 0x77, 0xda);
DEFINE_GUID(IID_IDirectSoundFXI3DL2Reverb, 0x4b166a6a, 0x0d66, 0x43f3, 0x80, 0xe3, 0xee, 0x62, 0x80, 0xde, 0xe1, 0xa4);
DEFINE_GUID(IID_IDirectSoundFXWavesReverb,0x46858c3a,0x0dc6,0x45e3,0xb7,0x60,0xd4,0xee,0xf1,0x6c,0xb3,0x25);
DEFINE_GUID(IID_IDirectSoundCaptureFXAec, 0x174d3eb9, 0x6696, 0x4fac, 0xa4, 0x6c, 0xa0, 0xac, 0x7b, 0xc9, 0xe2, 0xf);
DEFINE_GUID(IID_IDirectSoundCaptureFXNoiseSuppress, 0xed311e41, 0xfbae, 0x4175, 0x96, 0x25, 0xcd, 0x8, 0x54, 0xf6, 0x93, 0xca);
DEFINE_GUID(IID_IDirectSoundFullDuplex, 0xedcb4c7a, 0xdaab, 0x4216, 0xa4, 0x2e, 0x6c, 0x50, 0x59, 0x6d, 0xdc, 0x1d);
DEFINE_GUID(DS3DALG_NO_VIRTUALIZATION, 0xc241333f, 0x1c1b, 0x11d2, 0x94, 0xf5, 0x0, 0xc0, 0x4f, 0xc2, 0x8a, 0xca);
DEFINE_GUID(DS3DALG_HRTF_FULL, 0xc2413340, 0x1c1b, 0x11d2, 0x94, 0xf5, 0x0, 0xc0, 0x4f, 0xc2, 0x8a, 0xca);
DEFINE_GUID(DS3DALG_HRTF_LIGHT, 0xc2413342, 0x1c1b, 0x11d2, 0x94, 0xf5, 0x0, 0xc0, 0x4f, 0xc2, 0x8a, 0xca);
DEFINE_GUID(GUID_DSFX_STANDARD_GARGLE, 0xdafd8210, 0x5711, 0x4b91, 0x9f, 0xe3, 0xf7, 0x5b, 0x7a, 0xe2, 0x79, 0xbf);
DEFINE_GUID(GUID_DSFX_STANDARD_CHORUS, 0xefe6629c, 0x81f7, 0x4281, 0xbd, 0x91, 0xc9, 0xd6, 0x04, 0xa9, 0x5a, 0xf6);
DEFINE_GUID(GUID_DSFX_STANDARD_FLANGER, 0xefca3d92, 0xdfd8, 0x4672, 0xa6, 0x03, 0x74, 0x20, 0x89, 0x4b, 0xad, 0x98);
DEFINE_GUID(GUID_DSFX_STANDARD_ECHO, 0xef3e932c, 0xd40b, 0x4f51, 0x8c, 0xcf, 0x3f, 0x98, 0xf1, 0xb2, 0x9d, 0x5d);
DEFINE_GUID(GUID_DSFX_STANDARD_DISTORTION, 0xef114c90, 0xcd1d, 0x484e, 0x96, 0xe5, 0x09, 0xcf, 0xaf, 0x91, 0x2a, 0x21);
DEFINE_GUID(GUID_DSFX_STANDARD_COMPRESSOR, 0xef011f79, 0x4000, 0x406d, 0x87, 0xaf, 0xbf, 0xfb, 0x3f, 0xc3, 0x9d, 0x57);
DEFINE_GUID(GUID_DSFX_STANDARD_PARAMEQ, 0x120ced89, 0x3bf4, 0x4173, 0xa1, 0x32, 0x3c, 0xb4, 0x06, 0xcf, 0x32, 0x31);
DEFINE_GUID(GUID_DSFX_STANDARD_I3DL2REVERB, 0xef985e71, 0xd5c7, 0x42d4, 0xba, 0x4d, 0x2d, 0x07, 0x3e, 0x2e, 0x96, 0xf4);
DEFINE_GUID(GUID_DSFX_WAVES_REVERB, 0x87fc0268, 0x9a55, 0x4360, 0x95, 0xaa, 0x00, 0x4a, 0x1d, 0x9d, 0xe2, 0x6c);
DEFINE_GUID(GUID_DSCFX_CLASS_AEC, 0xBF963D80L, 0xC559, 0x11D0, 0x8A, 0x2B, 0x00, 0xA0, 0xC9, 0x25, 0x5A, 0xC1);
DEFINE_GUID(GUID_DSCFX_MS_AEC, 0xcdebb919, 0x379a, 0x488a, 0x87, 0x65, 0xf5, 0x3c, 0xfd, 0x36, 0xde, 0x40);
DEFINE_GUID(GUID_DSCFX_SYSTEM_AEC, 0x1c22c56d, 0x9879, 0x4f5b, 0xa3, 0x89, 0x27, 0x99, 0x6d, 0xdc, 0x28, 0x10);
DEFINE_GUID(GUID_DSCFX_CLASS_NS, 0xe07f903f, 0x62fd, 0x4e60, 0x8c, 0xdd, 0xde, 0xa7, 0x23, 0x66, 0x65, 0xb5);
DEFINE_GUID(GUID_DSCFX_MS_NS, 0x11c5c73b, 0x66e9, 0x4ba1, 0xa0, 0xba, 0xe8, 0x14, 0xc6, 0xee, 0xd9, 0x2d);
DEFINE_GUID(GUID_DSCFX_SYSTEM_NS, 0x5ab0882e, 0x7274, 0x4516, 0x87, 0x7d, 0x4e, 0xee, 0x99, 0xba, 0x4f, 0xd0);
/* ddraw.h */
DEFINE_GUID( CLSID_DirectDraw, 0xD7B70EE0,0x4340,0x11CF,0xB0,0x63,0x00,0x20,0xAF,0xC2,0xCD,0x35 );
DEFINE_GUID( CLSID_DirectDraw7, 0x3c305196,0x50db,0x11d3,0x9c,0xfe,0x00,0xc0,0x4f,0xd9,0x30,0xc5 );
DEFINE_GUID( CLSID_DirectDrawClipper, 0x593817A0,0x7DB3,0x11CF,0xA2,0xDE,0x00,0xAA,0x00,0xb9,0x33,0x56 );
DEFINE_GUID( IID_IDirectDraw, 0x6C14DB80,0xA733,0x11CE,0xA5,0x21,0x00,0x20,0xAF,0x0B,0xE5,0x60 );
DEFINE_GUID( IID_IDirectDraw2, 0xB3A6F3E0,0x2B43,0x11CF,0xA2,0xDE,0x00,0xAA,0x00,0xB9,0x33,0x56 );
DEFINE_GUID( IID_IDirectDraw4, 0x9c59509a,0x39bd,0x11d1,0x8c,0x4a,0x00,0xc0,0x4f,0xd9,0x30,0xc5 );
DEFINE_GUID( IID_IDirectDraw7, 0x15e65ec0,0x3b9c,0x11d2,0xb9,0x2f,0x00,0x60,0x97,0x97,0xea,0x5b );
DEFINE_GUID( IID_IDirectDrawSurface, 0x6C14DB81,0xA733,0x11CE,0xA5,0x21,0x00,0x20,0xAF,0x0B,0xE5,0x60 );
DEFINE_GUID( IID_IDirectDrawSurface2, 0x57805885,0x6eec,0x11cf,0x94,0x41,0xa8,0x23,0x03,0xc1,0x0e,0x27 );
DEFINE_GUID( IID_IDirectDrawSurface3, 0xDA044E00,0x69B2,0x11D0,0xA1,0xD5,0x00,0xAA,0x00,0xB8,0xDF,0xBB );
DEFINE_GUID(IID_IDirectDrawSurface4, 0x0B2B8630,0xAD35,0x11D0,0x8E,0xA6,0x00,0x60,0x97,0x97,0xEA,0x5B );
DEFINE_GUID( IID_IDirectDrawSurface7, 0x06675a80,0x3b9b,0x11d2,0xb9,0x2f,0x00,0x60,0x97,0x97,0xea,0x5b );
DEFINE_GUID( IID_IDirectDrawPalette, 0x6C14DB84,0xA733,0x11CE,0xA5,0x21,0x00,0x20,0xAF,0x0B,0xE5,0x60 );
DEFINE_GUID( IID_IDirectDrawClipper, 0x6C14DB85,0xA733,0x11CE,0xA5,0x21,0x00,0x20,0xAF,0x0B,0xE5,0x60 );
DEFINE_GUID( IID_IDirectDrawColorControl, 0x4B9F0EE0,0x0D7E,0x11D0,0x9B,0x06,0x00,0xA0,0xC9,0x03,0xA3,0xB8 );
DEFINE_GUID(IID_IDirectDrawGammaControl, 0x69C11C3E,0xB46B,0x11D1,0xAD,0x7A,0x00,0xC0,0x4F,0xC2,0x9B,0x4E );
/* dls2.h */
DEFINE_GUID(DLSID_GMInHardware, 0x178f2f24, 0xc364, 0x11d1, 0xa7, 0x60, 0x00, 0x00, 0xf8, 0x75, 0xac, 0x12);
DEFINE_GUID(DLSID_GSInHardware, 0x178f2f25, 0xc364, 0x11d1, 0xa7, 0x60, 0x00, 0x00, 0xf8, 0x75, 0xac, 0x12);
DEFINE_GUID(DLSID_XGInHardware, 0x178f2f26, 0xc364, 0x11d1, 0xa7, 0x60, 0x00, 0x00, 0xf8, 0x75, 0xac, 0x12);
DEFINE_GUID(DLSID_SupportsDLS1, 0x178f2f27, 0xc364, 0x11d1, 0xa7, 0x60, 0x00, 0x00, 0xf8, 0x75, 0xac, 0x12);
DEFINE_GUID(DLSID_SupportsDLS2, 0xf14599e5, 0x4689, 0x11d2, 0xaf, 0xa6, 0x0, 0xaa, 0x0, 0x24, 0xd8, 0xb6);
DEFINE_GUID(DLSID_SampleMemorySize, 0x178f2f28, 0xc364, 0x11d1, 0xa7, 0x60, 0x00, 0x00, 0xf8, 0x75, 0xac, 0x12);
DEFINE_GUID(DLSID_ManufacturersID, 0xb03e1181, 0x8095, 0x11d2, 0xa1, 0xef, 0x0, 0x60, 0x8, 0x33, 0xdb, 0xd8);
DEFINE_GUID(DLSID_ProductID, 0xb03e1182, 0x8095, 0x11d2, 0xa1, 0xef, 0x0, 0x60, 0x8, 0x33, 0xdb, 0xd8);
DEFINE_GUID(DLSID_SamplePlaybackRate, 0x2a91f713, 0xa4bf, 0x11d2, 0xbb, 0xdf, 0x0, 0x60, 0x8, 0x33, 0xdb, 0xd8);
/* dinputd.h */
DEFINE_GUID(IID_IDirectInputEffectDriver, 0x02538130,0x898F,0x11D0,0x9A,0xD0,0x00,0xA0,0xC9,0xA0,0x6E,0x35);
DEFINE_GUID(IID_IDirectInputJoyConfig, 0x1DE12AB1,0xC9F5,0x11CF,0xBF,0xC7,0x44,0x45,0x53,0x54,0x00,0x00);
DEFINE_GUID(IID_IDirectInputPIDDriver, 0xEEC6993A,0xB3FD,0x11D2,0xA9,0x16,0x00,0xC0,0x4F,0xB9,0x86,0x38);
DEFINE_GUID(IID_IDirectInputJoyConfig8, 0xeb0d7dfa,0x1990,0x4f27,0xb4,0xd6,0xed,0xf2,0xee,0xc4,0xa4,0x4c);
DEFINE_GUID(GUID_KeyboardClass, 0x4D36E96B,0xE325,0x11CE,0xBF,0xC1,0x08,0x00,0x2B,0xE1,0x03,0x18);
DEFINE_GUID(GUID_MediaClass, 0x4D36E96C,0xE325,0x11CE,0xBF,0xC1,0x08,0x00,0x2B,0xE1,0x03,0x18);
DEFINE_GUID(GUID_MouseClass, 0x4D36E96F,0xE325,0x11CE,0xBF,0xC1,0x08,0x00,0x2B,0xE1,0x03,0x18);
DEFINE_GUID(GUID_HIDClass, 0x745A17A0,0x74D3,0x11D0,0xB6,0xFE,0x00,0xA0,0xC9,0x0F,0x57,0xDA);
/* dinput.h */
DEFINE_GUID(CLSID_DirectInput, 0x25E609E0,0xB259,0x11CF,0xBF,0xC7,0x44,0x45,0x53,0x54,0x00,0x00);
DEFINE_GUID(CLSID_DirectInputDevice,0x25E609E1,0xB259,0x11CF,0xBF,0xC7,0x44,0x45,0x53,0x54,0x00,0x00);
DEFINE_GUID(CLSID_DirectInput8, 0x25E609E4,0xB259,0x11CF,0xBF,0xC7,0x44,0x45,0x53,0x54,0x00,0x00);
DEFINE_GUID(CLSID_DirectInputDevice8,0x25E609E5,0xB259,0x11CF,0xBF,0xC7,0x44,0x45,0x53,0x54,0x00,0x00);
DEFINE_GUID(IID_IDirectInputA, 0x89521360,0xAA8A,0x11CF,0xBF,0xC7,0x44,0x45,0x53,0x54,0x00,0x00);
DEFINE_GUID(IID_IDirectInputW, 0x89521361,0xAA8A,0x11CF,0xBF,0xC7,0x44,0x45,0x53,0x54,0x00,0x00);
DEFINE_GUID(IID_IDirectInput2A, 0x5944E662,0xAA8A,0x11CF,0xBF,0xC7,0x44,0x45,0x53,0x54,0x00,0x00);
DEFINE_GUID(IID_IDirectInput2W, 0x5944E663,0xAA8A,0x11CF,0xBF,0xC7,0x44,0x45,0x53,0x54,0x00,0x00);
DEFINE_GUID(IID_IDirectInput7A, 0X9A4CB684,0X236D,0X11D3,0X8E,0X9D,0X00,0XC0,0X4F,0X68,0X44,0XAE);
DEFINE_GUID(IID_IDirectInput7W, 0X9A4CB685,0X236D,0X11D3,0X8E,0X9D,0X00,0XC0,0X4F,0X68,0X44,0XAE);
DEFINE_GUID(IID_IDirectInput8A, 0xBF798030,0x483A,0x4DA2,0xAA,0x99,0x5D,0x64,0xED,0x36,0x97,0x00);
DEFINE_GUID(IID_IDirectInput8W, 0xBF798031,0x483A,0x4DA2,0xAA,0x99,0x5D,0x64,0xED,0x36,0x97,0x00);
DEFINE_GUID(IID_IDirectInputDeviceA, 0x5944E680,0xC92E,0x11CF,0xBF,0xC7,0x44,0x45,0x53,0x54,0x00,0x00);
DEFINE_GUID(IID_IDirectInputDeviceW, 0x5944E681,0xC92E,0x11CF,0xBF,0xC7,0x44,0x45,0x53,0x54,0x00,0x00);
DEFINE_GUID(IID_IDirectInputDevice2A,0x5944E682,0xC92E,0x11CF,0xBF,0xC7,0x44,0x45,0x53,0x54,0x00,0x00);
DEFINE_GUID(IID_IDirectInputDevice2W,0x5944E683,0xC92E,0x11CF,0xBF,0xC7,0x44,0x45,0x53,0x54,0x00,0x00);
DEFINE_GUID(IID_IDirectInputEffect, 0xE7E1F7C0,0x88D2,0x11D0,0x9A,0xD0,0x00,0xA0,0xC9,0xA0,0x6E,0x35);
DEFINE_GUID(IID_IDirectInputDevice7A,0X57D7C6BC,0X2356,0X11D3,0X8E,0X9D,0X00,0XC0,0X4F,0X68,0X44,0XAE);
DEFINE_GUID(IID_IDirectInputDevice7W,0X57D7C6BD,0X2356,0X11D3,0X8E,0X9D,0X00,0XC0,0X4F,0X68,0X44,0XAE);
DEFINE_GUID(IID_IDirectInputDevice8A,0x54D41080,0xDC15,0x4833,0xA4,0x1B,0x74,0x8F,0x73,0xA3,0x81,0x79);
DEFINE_GUID(IID_IDirectInputDevice8W,0x54D41081,0xDC15,0x4833,0xA4,0x1B,0x74,0x8F,0x73,0xA3,0x81,0x79);
DEFINE_GUID(GUID_XAxis, 0xA36D02E0,0xC9F3,0x11CF,0xBF,0xC7,0x44,0x45,0x53,0x54,0x00,0x00);
DEFINE_GUID(GUID_YAxis, 0xA36D02E1,0xC9F3,0x11CF,0xBF,0xC7,0x44,0x45,0x53,0x54,0x00,0x00);
DEFINE_GUID(GUID_ZAxis, 0xA36D02E2,0xC9F3,0x11CF,0xBF,0xC7,0x44,0x45,0x53,0x54,0x00,0x00);
DEFINE_GUID(GUID_RxAxis, 0xA36D02F4,0xC9F3,0x11CF,0xBF,0xC7,0x44,0x45,0x53,0x54,0x00,0x00);
DEFINE_GUID(GUID_RyAxis, 0xA36D02F5,0xC9F3,0x11CF,0xBF,0xC7,0x44,0x45,0x53,0x54,0x00,0x00);
DEFINE_GUID(GUID_RzAxis, 0xA36D02E3,0xC9F3,0x11CF,0xBF,0xC7,0x44,0x45,0x53,0x54,0x00,0x00);
DEFINE_GUID(GUID_Slider, 0xA36D02E4,0xC9F3,0x11CF,0xBF,0xC7,0x44,0x45,0x53,0x54,0x00,0x00);
DEFINE_GUID(GUID_Button, 0xA36D02F0,0xC9F3,0x11CF,0xBF,0xC7,0x44,0x45,0x53,0x54,0x00,0x00);
DEFINE_GUID(GUID_Key, 0x55728220,0xD33C,0x11CF,0xBF,0xC7,0x44,0x45,0x53,0x54,0x00,0x00);
DEFINE_GUID(GUID_POV, 0xA36D02F2,0xC9F3,0x11CF,0xBF,0xC7,0x44,0x45,0x53,0x54,0x00,0x00);
DEFINE_GUID(GUID_Unknown, 0xA36D02F3,0xC9F3,0x11CF,0xBF,0xC7,0x44,0x45,0x53,0x54,0x00,0x00);
DEFINE_GUID(GUID_SysMouse, 0x6F1D2B60,0xD5A0,0x11CF,0xBF,0xC7,0x44,0x45,0x53,0x54,0x00,0x00);
DEFINE_GUID(GUID_SysKeyboard,0x6F1D2B61,0xD5A0,0x11CF,0xBF,0xC7,0x44,0x45,0x53,0x54,0x00,0x00);
DEFINE_GUID(GUID_Joystick ,0x6F1D2B70,0xD5A0,0x11CF,0xBF,0xC7,0x44,0x45,0x53,0x54,0x00,0x00);
DEFINE_GUID(GUID_SysMouseEm, 0x6F1D2B80,0xD5A0,0x11CF,0xBF,0xC7,0x44,0x45,0x53,0x54,0x00,0x00);
DEFINE_GUID(GUID_SysMouseEm2,0x6F1D2B81,0xD5A0,0x11CF,0xBF,0xC7,0x44,0x45,0x53,0x54,0x00,0x00);
DEFINE_GUID(GUID_SysKeyboardEm, 0x6F1D2B82,0xD5A0,0x11CF,0xBF,0xC7,0x44,0x45,0x53,0x54,0x00,0x00);
DEFINE_GUID(GUID_SysKeyboardEm2,0x6F1D2B83,0xD5A0,0x11CF,0xBF,0xC7,0x44,0x45,0x53,0x54,0x00,0x00);
DEFINE_GUID(GUID_ConstantForce,0x13541C20,0x8E33,0x11D0,0x9A,0xD0,0x00,0xA0,0xC9,0xA0,0x6E,0x35);
DEFINE_GUID(GUID_RampForce, 0x13541C21,0x8E33,0x11D0,0x9A,0xD0,0x00,0xA0,0xC9,0xA0,0x6E,0x35);
DEFINE_GUID(GUID_Square, 0x13541C22,0x8E33,0x11D0,0x9A,0xD0,0x00,0xA0,0xC9,0xA0,0x6E,0x35);
DEFINE_GUID(GUID_Sine, 0x13541C23,0x8E33,0x11D0,0x9A,0xD0,0x00,0xA0,0xC9,0xA0,0x6E,0x35);
DEFINE_GUID(GUID_Triangle, 0x13541C24,0x8E33,0x11D0,0x9A,0xD0,0x00,0xA0,0xC9,0xA0,0x6E,0x35);
DEFINE_GUID(GUID_SawtoothUp, 0x13541C25,0x8E33,0x11D0,0x9A,0xD0,0x00,0xA0,0xC9,0xA0,0x6E,0x35);
DEFINE_GUID(GUID_SawtoothDown, 0x13541C26,0x8E33,0x11D0,0x9A,0xD0,0x00,0xA0,0xC9,0xA0,0x6E,0x35);
DEFINE_GUID(GUID_Spring, 0x13541C27,0x8E33,0x11D0,0x9A,0xD0,0x00,0xA0,0xC9,0xA0,0x6E,0x35);
DEFINE_GUID(GUID_Damper, 0x13541C28,0x8E33,0x11D0,0x9A,0xD0,0x00,0xA0,0xC9,0xA0,0x6E,0x35);
DEFINE_GUID(GUID_Inertia, 0x13541C29,0x8E33,0x11D0,0x9A,0xD0,0x00,0xA0,0xC9,0xA0,0x6E,0x35);
DEFINE_GUID(GUID_Friction, 0x13541C2A,0x8E33,0x11D0,0x9A,0xD0,0x00,0xA0,0xC9,0xA0,0x6E,0x35);
DEFINE_GUID(GUID_CustomForce, 0x13541C2B,0x8E33,0x11D0,0x9A,0xD0,0x00,0xA0,0xC9,0xA0,0x6E,0x35);

View file

@ -0,0 +1,8 @@
This minimal DirectX 8.0 SDK is largely based upon work from Paul Gerfen.
paul@gamecoding.co.uk
www.gamecoding.co.uk
from: http://alleg.sourceforge.net/files/dx80_mgw.zip
tweaked for inclusion in EDuke32

View file

@ -16,6 +16,9 @@ o=obj
res=res res=res
asm=masm asm=masm
# When we support 64-bit targets with MSVC, if a 64-bit build is selected:
# NOASM=1
ENGINELIB=engine.lib ENGINELIB=engine.lib
EDITORLIB=build.lib EDITORLIB=build.lib

View file

@ -9,34 +9,36 @@ EDITORLIB=libbuild.a
# SDK locations - adjust to match your setup # SDK locations - adjust to match your setup
# Overrides must use absolute paths since this Makefile is included at different directory levels # Overrides must use absolute paths since this Makefile is included at different directory levels
# #
SDLCONFIG = /usr/local/bin/sdl-config SDLCONFIG ?= sdl-config
SDLNAME = SDL SDLNAME ?= SDL
SDL_FRAMEWORK ?= 1
DXROOT=$(abspath $(dir $(MAKEFILE_COMMON))../sdk/dx) DXROOT=$(abspath $(dir $(MAKEFILE_COMMON))../sdk/dx)
#DXROOT=/c/sdks/directx/dx8 #DXROOT=/c/sdks/directx/dx8
SDLROOT=$(abspath $(dir $(MAKEFILE_COMMON))../sdk/SDL) SDLROOT=$(abspath $(dir $(MAKEFILE_COMMON))../sdk/SDL)
ifeq ($(wildcard $(SDLCONFIG)),$(SDLCONFIG)) ifneq ($(PLATFORM),WINDOWS)
# $(info Detected locally installed SDL 1.X) SDLVERSION:=$(strip $(shell $(SDLCONFIG) --version))
SDLROOT = /usr/local ifneq ($(SDLVERSION),)
else SDLROOT:=$(strip $(shell $(SDLCONFIG) --prefix))
# Swap the commenting in the following two lines to endif
# enable SDL 2.X detection
SDLCONFIG = /usr/local/file_that_does_not_exist
# SDLCONFIG = /usr/local/bin/sdl2-config
ifeq ($(wildcard $(SDLCONFIG)),$(SDLCONFIG)) # Uncomment the following line to enable SDL 2.X detection
# $(info Detected locally installed SDL 2.X) #TRYSDL2=1
SDLROOT = /usr/local ifeq ($(TRYSDL2),1)
SDLNAME = SDL2 SDL2CONFIG ?= sdl2-config
else SDL2NAME ?= SDL2
# $(info Detected system-wide installed SDL 1.X)
SDLCONFIG = /usr/bin/sdl-config SDL2VERSION:=$(strip $(shell $(SDL2CONFIG) --version))
ifneq ($(SDL2VERSION),)
SDLVERSION:=$(SDL2VERSION)
SDLCONFIG:=$(SDL2CONFIG)
SDLNAME:=$(SDL2NAME)
SDLROOT:=$(strip $(shell $(SDLCONFIG) --prefix))
endif
endif endif
endif endif
SDL_FRAMEWORK = 0
DXROOT_OVERRIDE ?= DXROOT_OVERRIDE ?=
SDLROOT_OVERRIDE ?= SDLROOT_OVERRIDE ?=
ifneq ($(DXROOT_OVERRIDE),) ifneq ($(DXROOT_OVERRIDE),)
@ -47,12 +49,13 @@ ifneq ($(SDLROOT_OVERRIDE),)
endif endif
ifeq (4,$(GCC_MAJOR)) ifeq (1,$(strip $(shell expr $(GCC_MAJOR) \>= 4)))
L_SSP := -lssp L_SSP := -lssp
endif endif
BUILDCOMMONFLAGS=$(ARCH) BUILDCOMMONFLAGS=$(ARCH)
BUILDLIBS= BUILDLIBS=
BUILDLIBDIRS=
ifeq ($(SUBPLATFORM),LINUX) ifeq ($(SUBPLATFORM),LINUX)
STDCPPLIB:= STDCPPLIB:=
@ -66,10 +69,11 @@ ifeq ($(SUBPLATFORM),LINUX)
BUILDCOMMONFLAGS+= -DHAVE_INTTYPES BUILDCOMMONFLAGS+= -DHAVE_INTTYPES
GTKCOMPAT32=0 GTKCOMPAT32=0
ifeq ($(findstring x86_64,$(shell uname -m)),x86_64) ifeq ($(findstring x86_64,$(SYSARCH)),x86_64)
ifeq (1,$(BUILD32_ON_64)) ifeq (1,$(BUILD32_ON_64))
# On my 64bit Gentoo these are the 32bit emulation libs # On my 64bit Gentoo these are the 32bit emulation libs
BUILDLIBS+= -m32 -L/emul/linux/x86/usr/lib BUILDLIBS+= -m32
BUILDLIBDIRS+= -L/emul/linux/x86/usr/lib
BUILDCOMMONFLAGS+= -m32 BUILDCOMMONFLAGS+= -m32
# Override WITHOUT_GTK=0 # Override WITHOUT_GTK=0
GTKCOMPAT32=1 GTKCOMPAT32=1
@ -83,7 +87,6 @@ ifeq ($(PLATFORM),DARWIN)
STDCPPLIB:=-lstdc++ STDCPPLIB:=-lstdc++
BUILDCOMMONFLAGS += -DHAVE_INTTYPES BUILDCOMMONFLAGS += -DHAVE_INTTYPES
GTKCOMPAT32 = 0 GTKCOMPAT32 = 0
SDL_FRAMEWORK = 1
ifeq (1,$(DARWIN9)) ifeq (1,$(DARWIN9))
BUILDCOMMONFLAGS += -DDARWIN9 BUILDCOMMONFLAGS += -DDARWIN9
@ -93,7 +96,7 @@ ifeq ($(PLATFORM),DARWIN)
ARCH=-arch i386 ARCH=-arch i386
else else
# ASM won't work on PowerPC or x86_64 # ASM won't work on PowerPC or x86_64
override NOASM = 1 override NOASM=1
endif endif
endif endif
ifeq ($(PLATFORM),WINDOWS) ifeq ($(PLATFORM),WINDOWS)
@ -102,14 +105,20 @@ ifeq ($(PLATFORM),WINDOWS)
SDL_FRAMEWORK=1 SDL_FRAMEWORK=1
BUILDCOMMONFLAGS+= -DHAVE_INTTYPES BUILDCOMMONFLAGS+= -DHAVE_INTTYPES
EXESUFFIX=.exe EXESUFFIX=.exe
BUILDLIBS+= -lmingwex -lwsock32 -lcomctl32 -lwinmm BUILDLIBS+= -Wl,--enable-auto-import -mwindows -lmingwex -lcomctl32 -lwinmm $(L_SSP) -lwsock32 -lws2_32
#-lshfolder #-lshfolder
#BUILDLIBDIRS+= -L$(ENETROOT)
#STDCPPLIB:=-lstdc++ #STDCPPLIB:=-lstdc++
ifeq ($(findstring x86_64,$(SYSARCH)),x86_64)
ifneq (1,$(BUILD32_ON_64))
override NOASM=1
endif
endif
endif endif
ifeq ($(PLATFORM),BSD) ifeq ($(PLATFORM),BSD)
RENDERTYPE=SDL RENDERTYPE=SDL
BUILDCOMMONFLAGS+= -DHAVE_INTTYPES BUILDCOMMONFLAGS+= -DHAVE_INTTYPES
ifneq ($(findstring i386, $(SYSARCH)), i386) ifneq ($(findstring i386,$(SYSARCH)),i386)
override NOASM=1 override NOASM=1
endif endif
STDCPPLIB:=-lstdc++ STDCPPLIB:=-lstdc++
@ -122,21 +131,11 @@ ifeq ($(PLATFORM),SKYOS)
RENDERTYPE=SDL RENDERTYPE=SDL
EXESUFFIX=.app EXESUFFIX=.app
override NOASM=1 override NOASM=1
BUILDCOMMONFLAGS+= -DUNDERSCORES BUILDCOMMONFLAGS+= -DUNDERSCORES -I/boot/programs/sdk/include/sdl
SDLCONFIG= SDLCONFIG=
SDLCONFIG_COMMONFLAGS=-I/boot/programs/sdk/include/sdl
BUILDLIBS+= -lSDL -lnet BUILDLIBS+= -lSDL -lnet
endif endif
ifeq ($(PLATFORM),WII) ifeq ($(PLATFORM),WII)
ifeq ($(strip $(DEVKITPPC)),)
$(error "Please set DEVKITPPC in your environment. export DEVKITPPC=<path to>devkitPPC")
endif
include $(DEVKITPPC)/wii_rules
RANLIB=powerpc-eabi-ranlib
STRIP=powerpc-eabi-strip
RENDERTYPE=SDL RENDERTYPE=SDL
EXESUFFIX=.elf EXESUFFIX=.elf
override USE_OPENGL=0 override USE_OPENGL=0
@ -176,31 +175,30 @@ ifneq (0,$(CLANG))
endif endif
ifeq ($(RENDERTYPE),SDL) ifeq ($(RENDERTYPE),SDL)
ifeq ($(SDL_FRAMEWORK),1) ifeq ($(SDL_FRAMEWORK),1)
SDLCONFIG_COMMONFLAGS += -DSDL_FRAMEWORK BUILDCOMMONFLAGS += -DSDL_FRAMEWORK
endif endif
ifneq ($(PLATFORM),WINDOWS) ifneq ($(PLATFORM),WINDOWS)
ifeq ($(SDL_FRAMEWORK),1) ifeq ($(SDL_FRAMEWORK),1)
ifeq ($(PLATFORM),DARWIN) ifeq ($(PLATFORM),DARWIN)
SDLCONFIG_LIBS += -Wl,-framework,SDL BUILDLIBS += -Wl,-framework,SDL
SDLCONFIG_COMMONFLAGS+= -I$(APPLE_FRAMEWORKS)/SDL.framework/Headers BUILDCOMMONFLAGS+= -I$(APPLE_FRAMEWORKS)/SDL.framework/Headers
endif endif
else else
ifneq ($(SDLCONFIG),) ifneq ($(SDLCONFIG),)
SDLCONFIG_COMMONFLAGS+=$(subst -Dmain=SDL_main,,$(shell $(SDLCONFIG) --cflags)) SDLCONFIG_COMMONFLAGS:=$(subst -Dmain=SDL_main,,$(strip $(shell $(SDLCONFIG) --cflags)))
SDLCONFIG_LIBS+= $(shell $(SDLCONFIG) --libs) SDLCONFIG_LIBS:=$(strip $(shell $(SDLCONFIG) --libs))
BUILDLIBS+= $(SDLCONFIG_LIBS)
BUILDCOMMONFLAGS+= $(SDLCONFIG_COMMONFLAGS)
endif endif
endif endif
else else
SDLCONFIG_COMMONFLAGS += -D_GNU_SOURCE=1 BUILDCOMMONFLAGS += -D_GNU_SOURCE=1
SDLCONFIG_LIBS+= -lmingw32 -lSDLmain -lSDL BUILDLIBS+= -lmingw32 -lSDLmain -lSDL
endif endif
BUILDLIBS+= $(SDLCONFIG_LIBS)
BUILDCOMMONFLAGS+= $(SDLCONFIG_COMMONFLAGS)
ifeq (1,$(WITHOUT_GTK)) ifeq (1,$(WITHOUT_GTK))
HAVE_GTK2=0 HAVE_GTK2=0
else else
@ -272,8 +270,7 @@ ifeq ($(PLATFORM),WINDOWS)
else else
ifeq ($(PLATFORM),DARWIN) ifeq ($(PLATFORM),DARWIN)
ifneq ($(USE_LIBPNG),0) ifneq ($(USE_LIBPNG),0)
BUILDCOMMONFLAGS+= -I/opt/local/include -I/sw/include -I/usr/local/include BUILDLIBS+= -lpng # -lz
BUILDLIBS+= -L/opt/local/lib -L/usr/local/lib -lpng # -lz
endif endif
else else
ifneq ($(USE_LIBPNG),0) ifneq ($(USE_LIBPNG),0)
@ -282,11 +279,6 @@ else
endif endif
endif endif
ifeq ($(PLATFORM),WINDOWS)
BUILDLIBS+= $(L_SSP) -Wl,--enable-auto-import
BUILDLIBS+= -mwindows -lwsock32 -lws2_32 #-L$(ENETROOT)
endif
ifeq ($(PRETTY_OUTPUT),1) ifeq ($(PRETTY_OUTPUT),1)
BUILD_SETTINGS_COMPILER = \033[1;36mcompiler: \033[0;36m\"$(COMPILER) $(OURCFLAGS)\" BUILD_SETTINGS_COMPILER = \033[1;36mcompiler: \033[0;36m\"$(COMPILER) $(OURCFLAGS)\"

View file

@ -41,12 +41,12 @@
#endif #endif
#ifndef _MSC_VER #ifndef _MSC_VER
# if defined(__GNUC__) && defined(__i386__) # ifndef __fastcall
# ifndef __fastcall # if defined(__GNUC__) && defined(__i386__)
# define __fastcall __attribute__((fastcall)) # define __fastcall __attribute__((fastcall))
# else
# define __fastcall
# endif # endif
# else
# define __fastcall
# endif # endif
#endif #endif

View file

@ -996,7 +996,7 @@ policies...
void policy_throwbadalloc(size_t bytes) const void policy_throwbadalloc(size_t bytes) const
{ {
UNREFERENCED_PARAMETER(bytes); UNREFERENCED_PARAMETER(bytes);
#ifndef DISABLE_EXCEPTIONS #if defined __EXCEPTIONS && !defined DISABLE_EXCEPTIONS
throw std::bad_alloc(); throw std::bad_alloc();
#endif #endif
} }
@ -1213,7 +1213,7 @@ namespace nedpolicy
void policy_throwbadalloc(size_t bytes) const void policy_throwbadalloc(size_t bytes) const
{ {
UNREFERENCED_PARAMETER(bytes); UNREFERENCED_PARAMETER(bytes);
#ifndef DISABLE_EXCEPTIONS #if defined __EXCEPTIONS && !defined DISABLE_EXCEPTIONS
throw T(); throw T();
#endif #endif
} }

View file

@ -10,7 +10,7 @@
#include "baselayer.h" #include "baselayer.h"
#ifdef _WIN32 #ifdef _WIN32
int32_t win_gethinstance(void); HINSTANCE win_gethinstance(void);
#endif #endif
struct sdlappicon { struct sdlappicon {

View file

@ -4,14 +4,17 @@
#ifndef __build_interface_layer__ #ifndef __build_interface_layer__
#define __build_interface_layer__ WIN #define __build_interface_layer__ WIN
#define WIN32_LEAN_AND_MEAN
#include <windows.h>
extern uint32_t maxrefreshfreq; extern uint32_t maxrefreshfreq;
extern int32_t glusecds; extern int32_t glusecds;
extern char di_disabled; extern char di_disabled;
int32_t win_gethwnd(void); HWND win_gethwnd(void);
int32_t win_gethinstance(void); HINSTANCE win_gethinstance(void);
extern void idle_waitevent_timeout(uint32_t timeout); extern void idle_waitevent_timeout(uint32_t timeout);

View file

@ -125,9 +125,9 @@ uint16_t *joydead, *joysatur;
// //
// win_gethinstance() -- gets the application instance // win_gethinstance() -- gets the application instance
// //
int32_t win_gethinstance(void) HINSTANCE win_gethinstance(void)
{ {
return (int32_t)(HINSTANCE)GetModuleHandle(NULL); return (HINSTANCE)GetModuleHandle(NULL);
} }
#endif #endif
@ -897,7 +897,11 @@ uint32_t getticks(void)
uint64_t gethiticks(void) uint64_t gethiticks(void)
{ {
#if (SDL_MAJOR_VERSION == 1 && SDL_MINOR_VERSION < 3) // SDL 1.2 #if (SDL_MAJOR_VERSION == 1 && SDL_MINOR_VERSION < 3) // SDL 1.2
# if _POSIX_TIMERS>0 && defined _POSIX_MONOTONIC_CLOCK # if defined _WIN32
return win_gethiticks();
# elif defined __APPLE__
return mach_absolute_time();
# elif _POSIX_TIMERS>0 && defined _POSIX_MONOTONIC_CLOCK
// This is SDL HG's SDL_GetPerformanceCounter() when clock_gettime() is // This is SDL HG's SDL_GetPerformanceCounter() when clock_gettime() is
// available. // available.
uint64_t ticks; uint64_t ticks;
@ -908,10 +912,6 @@ uint64_t gethiticks(void)
ticks *= 1000000000; ticks *= 1000000000;
ticks += now.tv_nsec; ticks += now.tv_nsec;
return (ticks); return (ticks);
# elif defined _WIN32
return win_gethiticks();
# elif defined __APPLE__
return mach_absolute_time();
# else # else
// Blar. This pragma is unsupported on earlier GCC versions. // Blar. This pragma is unsupported on earlier GCC versions.
// At least we'll get a warning and a reference to this line... // At least we'll get a warning and a reference to this line...
@ -926,15 +926,15 @@ uint64_t gethiticks(void)
uint64_t gethitickspersec(void) uint64_t gethitickspersec(void)
{ {
#if (SDL_MAJOR_VERSION == 1 && SDL_MINOR_VERSION < 3) // SDL 1.2 #if (SDL_MAJOR_VERSION == 1 && SDL_MINOR_VERSION < 3) // SDL 1.2
# if _POSIX_TIMERS>0 && defined _POSIX_MONOTONIC_CLOCK # if defined _WIN32
return 1000000000;
# elif defined _WIN32
return win_timerfreq; return win_timerfreq;
# elif defined __APPLE__ # elif defined __APPLE__
static mach_timebase_info_data_t ti; static mach_timebase_info_data_t ti;
if (ti.denom == 0) if (ti.denom == 0)
(void)mach_timebase_info(&ti); // ti.numer/ti.denom: nsec/(m_a_t() tick) (void)mach_timebase_info(&ti); // ti.numer/ti.denom: nsec/(m_a_t() tick)
return (1000000000LL*ti.denom)/ti.numer; return (1000000000LL*ti.denom)/ti.numer;
# elif _POSIX_TIMERS>0 && defined _POSIX_MONOTONIC_CLOCK
return 1000000000;
# else # else
return 1000; return 1000;
# endif # endif

View file

@ -326,7 +326,7 @@ static INT_PTR CALLBACK startup_dlgproc(HWND hwndDlg, UINT uMsg, WPARAM wParam,
case WM_CTLCOLORSTATIC: case WM_CTLCOLORSTATIC:
if ((HWND)lParam == pages[TAB_MESSAGES]) if ((HWND)lParam == pages[TAB_MESSAGES])
return (BOOL)GetSysColorBrush(COLOR_WINDOW); return (BOOL)(intptr_t)GetSysColorBrush(COLOR_WINDOW);
break; break;
default: default:

View file

@ -12,6 +12,14 @@
# include "nedmalloc.h" # include "nedmalloc.h"
#endif #endif
#if defined(_M_X64) || defined(__amd64__) || defined(__x86_64__)
# define EBACKTRACEDLL "ebacktrace1-64.dll"
# define NEDMALLOCDLL "nedmalloc-64.dll"
#else
# define EBACKTRACEDLL "ebacktrace1.dll"
# define NEDMALLOCDLL "nedmalloc.dll"
#endif
int32_t backgroundidle = 1; int32_t backgroundidle = 1;
int64_t win_timerfreq = 0; int64_t win_timerfreq = 0;
@ -174,7 +182,7 @@ static void ToggleDesktopComposition(BOOL compEnable)
void win_open(void) void win_open(void)
{ {
#ifndef DEBUGGINGAIDS #ifndef DEBUGGINGAIDS
if ((nedhandle = LoadLibrary("nedmalloc.dll"))) if ((nedhandle = LoadLibrary(NEDMALLOCDLL)))
{ {
#ifdef __cplusplus #ifdef __cplusplus
nedalloc::nedpool_t *(WINAPI *nedcreatepool)(size_t, int); nedalloc::nedpool_t *(WINAPI *nedcreatepool)(size_t, int);
@ -186,7 +194,7 @@ void win_open(void)
nedcreatepool(SYSTEM_POOL_SIZE, -1); nedcreatepool(SYSTEM_POOL_SIZE, -1);
} }
#else #else
LoadLibraryA("ebacktrace1.dll"); LoadLibraryA(EBACKTRACEDLL);
/* /*
wm_msgbox("boo","didn't load backtrace DLL (code %d)\n", (int)GetLastError()); wm_msgbox("boo","didn't load backtrace DLL (code %d)\n", (int)GetLastError());
else else

View file

@ -194,18 +194,18 @@ static struct _joydef
// //
// win_gethwnd() -- gets the window handle // win_gethwnd() -- gets the window handle
// //
int32_t win_gethwnd(void) HWND win_gethwnd(void)
{ {
return (int32_t)hWindow; return hWindow;
} }
// //
// win_gethinstance() -- gets the application instance // win_gethinstance() -- gets the application instance
// //
int32_t win_gethinstance(void) HINSTANCE win_gethinstance(void)
{ {
return (int32_t)hInstance; return hInstance;
} }

View file

@ -0,0 +1,22 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<assemblyIdentity
version="1.0.0.0"
processorArchitecture="amd64"
name="EDuke32.Mapster32"
type="win32"
/>
<description>Mapster32 for EDuke32</description>
<dependency>
<dependentAssembly>
<assemblyIdentity
type="win32"
name="Microsoft.Windows.Common-Controls"
version="6.0.0.0"
processorArchitecture="amd64"
publicKeyToken="6595b64144ccf1df"
language="*"
/>
</dependentAssembly>
</dependency>
</assembly>

View file

@ -0,0 +1,22 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<assemblyIdentity
version="1.0.0.0"
processorArchitecture="amd64"
name="EDuke32"
type="win32"
/>
<description>EDuke32</description>
<dependency>
<dependentAssembly>
<assemblyIdentity
type="win32"
name="Microsoft.Windows.Common-Controls"
version="6.0.0.0"
processorArchitecture="amd64"
publicKeyToken="6595b64144ccf1df"
language="*"
/>
</dependentAssembly>
</dependency>
</assembly>

View file

@ -1261,7 +1261,7 @@ static int32_t C_SetScriptSize(int32_t newsize)
bitptr = newbitptr; bitptr = newbitptr;
if (script != newscript) if (script != newscript)
{ {
initprintf("Relocating compiled code from to 0x%lx to 0x%lx\n", (unsigned long)script, (unsigned long)newscript); initprintf("Relocating compiled code from to 0x%" PRIxPTR " to 0x%" PRIxPTR "\n", (intptr_t)script, (intptr_t)newscript);
script = newscript; script = newscript;
} }

View file

@ -0,0 +1 @@
See "polymer\eduke32\Windows\lib\instructions.txt".

View file

@ -643,7 +643,7 @@ static int32_t C_SetScriptSize(int32_t size)
if (script != newscript) if (script != newscript)
{ {
initprintf("Relocating compiled code from to 0x%lx to 0x%lx\n", (unsigned long)script, (unsigned long)newscript); initprintf("Relocating compiled code from to 0x%" PRIxPTR " to 0x%" PRIxPTR "\n", (intptr_t)script, (intptr_t)newscript);
script = newscript; script = newscript;
} }

View file

@ -69,4 +69,8 @@ BEGIN
END END
END END
1 24 "rsrc/manifest.build.xml" #if defined(_M_X64) || defined(__amd64__) || defined(__x86_64__)
1 24 "rsrc/64/manifest.build.xml"
#else
1 24 "rsrc/32/manifest.build.xml"
#endif

View file

@ -77,4 +77,8 @@ BEGIN
END END
END END
1 24 "rsrc/manifest.game.xml" #if defined(_M_X64) || defined(__amd64__) || defined(__x86_64__)
1 24 "rsrc/64/manifest.game.xml"
#else
1 24 "rsrc/32/manifest.game.xml"
#endif

View file

@ -114,7 +114,7 @@ void MPU_Unpause(void)
} }
void CALLBACK MPU_MIDICallback(HMIDIOUT handle, UINT uMsg, DWORD dwInstance, DWORD dwParam1, DWORD dwParam2) void CALLBACK MPU_MIDICallback(HMIDIOUT handle, UINT uMsg, DWORD_PTR dwInstance, DWORD_PTR dwParam1, DWORD_PTR dwParam2)
{ {
int32_t i; int32_t i;
@ -127,7 +127,7 @@ void CALLBACK MPU_MIDICallback(HMIDIOUT handle, UINT uMsg, DWORD dwInstance, DWO
midiOutUnprepareHeader((HMIDIOUT)handle, (MIDIHDR *)dwParam1, sizeof(MIDIHDR)); midiOutUnprepareHeader((HMIDIOUT)handle, (MIDIHDR *)dwParam1, sizeof(MIDIHDR));
for (i=0; i<NUMBUFFERS; i++) for (i=0; i<NUMBUFFERS; i++)
{ {
if (dwParam1 == (uint32_t)&bufferheaders[i]) if ((MIDIHDR *)dwParam1 == &bufferheaders[i])
{ {
eventcnt[i] = 0; // marks the buffer as free eventcnt[i] = 0; // marks the buffer as free
// printf("Finished buffer %d\n",i); // printf("Finished buffer %d\n",i);
@ -280,7 +280,7 @@ int32_t MPU_Init
if (midiOutGetDevCaps(mididevice, &midicaps, sizeof(MIDIOUTCAPS)) != MMSYSERR_NOERROR) return MPU_Error; if (midiOutGetDevCaps(mididevice, &midicaps, sizeof(MIDIOUTCAPS)) != MMSYSERR_NOERROR) return MPU_Error;
if (midiStreamOpen(&hmido,(LPUINT)&mididevice,1,(DWORD)MPU_MIDICallback,0L,CALLBACK_FUNCTION) != MMSYSERR_NOERROR) return(MPU_Error); if (midiStreamOpen(&hmido,(LPUINT)&mididevice,1,(DWORD_PTR)MPU_MIDICallback,0L,CALLBACK_FUNCTION) != MMSYSERR_NOERROR) return(MPU_Error);
return(MPU_Ok); return(MPU_Ok);
} }

View file

@ -365,7 +365,7 @@ static INT_PTR CALLBACK ConfigPageProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, L
return TRUE; return TRUE;
case IDCDATA: case IDCDATA:
{ {
int32_t i; intptr_t i;
if (HIWORD(wParam) != LBN_SELCHANGE) break; if (HIWORD(wParam) != LBN_SELCHANGE) break;
i = ListBox_GetCurSel((HWND)lParam); i = ListBox_GetCurSel((HWND)lParam);
if (i != CB_ERR) i = ListBox_GetItemData((HWND)lParam, i); if (i != CB_ERR) i = ListBox_GetItemData((HWND)lParam, i);
@ -603,7 +603,7 @@ static INT_PTR CALLBACK startup_dlgproc(HWND hwndDlg, UINT uMsg, WPARAM wParam,
case WM_CTLCOLORSTATIC: case WM_CTLCOLORSTATIC:
if ((HWND)lParam == pages[TAB_MESSAGES]) if ((HWND)lParam == pages[TAB_MESSAGES])
return (BOOL)GetSysColorBrush(COLOR_WINDOW); return (BOOL)(intptr_t)GetSysColorBrush(COLOR_WINDOW);
break; break;
default: default: