diff --git a/polymer/eduke32/Makefile b/polymer/eduke32/Makefile index 391fbdc57..053442193 100644 --- a/polymer/eduke32/Makefile +++ b/polymer/eduke32/Makefile @@ -39,6 +39,7 @@ GAMELDFLAGS= EDITORLDFLAGS= LIBS= +LIBDIRS= JAUDIOLIBDIR=$(SRC)/jaudiolib JAUDIOLIB=libjfaudiolib.a @@ -55,16 +56,8 @@ endif include $(EROOT)/Makefile.shared -OURLIBS=$(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 +# The reasoning for this order is so SDL_mixer can link to SDL, etc. +OURLIBS=$(LIBDIRS) $(BASELIBDIRS) $(BUILDLIBDIRS) $(LIBS) $(BASELIBS) $(BUILDLIBS) EDUKE32 ?= eduke32$(EXESUFFIX) @@ -81,17 +74,9 @@ EBACKTRACEDLL_TARGET:=$(EBACKTRACEDLL) ifeq ($(PLATFORM),WINDOWS) OBJ=obj_win EOBJ=eobj_win - LIBS+= $(L_SSP) -Wl,--enable-auto-import else ifeq ($(SUBPLATFORM),LINUX) - LIBS+= -ldl -lrt - endif - LIBS+= -pthread - ifneq (0,$(PROFILER)) - ifneq ($(PLATFORM),DARWIN) - LIBS+= -lprofiler - endif - debug+= -pg + LIBS+= -lrt endif OBJ=obj EOBJ=eobj @@ -203,7 +188,8 @@ ifeq ($(SUBPLATFORM),LINUX) endif 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 ifeq ($(PLATFORM),DARWIN) @@ -223,7 +209,7 @@ ifeq ($(PLATFORM),DARWIN) OURCOMMONFLAGS += -I$(APPLE_FRAMEWORKS)/SDL.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,Cocoa -Wl,-framework,Carbon -Wl,-framework,OpenGL \ -Wl,-framework,CoreMidi -Wl,-framework,AudioUnit \ @@ -253,7 +239,8 @@ endif ifeq ($(PLATFORM),WINDOWS) OURCOMMONFLAGS += -fno-pic -DUNDERSCORES 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 EDITOROBJS+= $(OBJ)/buildres.$o JAUDIOLIB=libjfaudiolib_win32.a @@ -268,7 +255,8 @@ endif ifeq ($(RENDERTYPE),SDL) ifeq ($(PLATFORM),WINDOWS) 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 ifneq ($(PLATFORM),DARWIN) LIBS+= -l$(SDLNAME)_mixer @@ -289,7 +277,9 @@ endif OURCOMMONFLAGS+= $(BUILDCOMMONFLAGS) ifeq ($(PLATFORM),WINDOWS) - PRINTLDFLAGS+= -Wl,--large-address-aware + ifneq ($(findstring x86_64,$(COMPILERTARGET)),x86_64) + PRINTLDFLAGS+= -Wl,--large-address-aware + endif endif #ifneq (0,$(KRANDDEBUG)) ifeq ($(PLATFORM),DARWIN) diff --git a/polymer/eduke32/Makefile.common b/polymer/eduke32/Makefile.common index 449d1ea24..6d7bcdad7 100644 --- a/polymer/eduke32/Makefile.common +++ b/polymer/eduke32/Makefile.common @@ -30,19 +30,43 @@ ifneq (0,$(CLANG)) # RANLIB=llvm-ranlib endif + +ifeq ($(PLATFORM),WII) + ifeq ($(strip $(DEVKITPPC)),) + $(error "Please set DEVKITPPC in your environment. export DEVKITPPC=devkitPPC") + endif + + include $(DEVKITPPC)/wii_rules + + RANLIB=powerpc-eabi-ranlib + STRIP=powerpc-eabi-strip +endif + # GCC version, for conditional selection of flags. -# This is easier than trying to squeeze it out of gcc --version: -GCC_MAJOR?=4 +ifndef GCC_MAJOR + 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 -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 # the outside world. This allows cross-compilation by overriding # CC and giving us PLATFORM specifically. # ifndef PLATFORM - uname=$(strip $(shell uname -s)) + uname:=$(strip $(shell uname -s)) PLATFORM=UNKNOWN ifeq ($(findstring Linux,$(uname)),Linux) PLATFORM=LINUX @@ -89,14 +113,16 @@ ifndef SUBPLATFORM endif endif + + # Binary suffix override: EXESUFFIX_OVERRIDE ?= # Mac OS X Frameworks location # Like above, use absolute paths. APPLE_FRAMEWORKS ?=/Library/Frameworks -# Since the OS X startup window is generating errors, disable it by default. -OSX_STARTUPWINDOW ?= 0 +# Since the OS X startup window is generating errors, give it an off switch. +OSX_STARTUPWINDOW ?= 1 # Engine options # USE_OPENGL - enables basic OpenGL Polymost renderer @@ -152,10 +178,7 @@ ifndef LTO endif endif -ifeq (4,$(GCC_MAJOR)) -endif - -ifeq (4,$(GCC_MAJOR)) +ifeq (1,$(strip $(shell expr $(GCC_MAJOR) \>= 4))) F_NO_STACK_PROTECTOR := -fno-stack-protector # there are some link-time issues with stack protectors, so make it possible to override F_STACK_PROTECTOR_ALL ?= -fstack-protector-all @@ -167,8 +190,24 @@ ifeq (4,$(GCC_MAJOR)) W_STRICT_OVERFLOW := -Wstrict-overflow=1 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) - 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))) DARWIN9 ?= 1 endif @@ -221,18 +260,26 @@ endif # compiler flags etc. -BASECFLAGS= -Wno-attributes +BASECFLAGS= BASECONLYFLAGS=-Wimplicit -Wdeclaration-after-statement BASECXXFLAGS= -fno-exceptions -fno-rtti -fpermissive -Wno-write-strings -Wno-narrowing BASEASFLAGS=-s #-g 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) override USE_LIBPNG = 0 override USE_LIBVPX = 0 endif BASELIBS=-lm +BASELIBDIRS= ifneq (0,$(USE_LIBVPX)) # On Windows, we link statically to libvpx BASELIBS+= -lvpx @@ -255,6 +302,14 @@ ifneq (0,$(RELEASE)) debug+= -O$(OPTLEVEL) ifeq (0,$(CLANG)) 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 ifeq (0,$(DEBUGANYWAY)) debug+= -fomit-frame-pointer -DNDEBUG @@ -290,8 +345,9 @@ else debug+= -fmudflapth endif ifneq (0,$(PROFILER)) - # might need to be disabled for Darwin: - BASELIBS+= -lprofiler + ifneq ($(PLATFORM),DARWIN) + BASELIBS+= -lprofiler + endif debug+= -pg endif ifneq (0,$(KRANDDEBUG)) @@ -299,12 +355,15 @@ else endif endif +W_NO_UNUSED_RESULT := 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 := $(findstring -Wno-unused-result,$(W_NO_UNUSED_RESULT)) - W_NO_UNUSED_RESULT := -Wno-unused-result -else - W_NO_UNUSED_RESULT := + ifeq (1,$(strip $(shell expr $(GCC_MAJOR) \>= 4))) + ifeq (1,$(strip $(shell expr $(GCC_MINOR) \>= 4))) + W_NO_UNUSED_RESULT := -Wno-unused-result + endif + endif endif CWARNS := -W -Wall -Werror-implicit-function-declaration \ @@ -330,12 +389,15 @@ endif # Set up target-specific headers and libs that work across all Makefiles 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) endif ifeq ($(PLATFORM),DARWIN) - BASELIBS+= -L$(abspath $(dir $(MAKEFILE_COMMON))Apple/lib) - BASECOMMONFLAGS+= -I$(abspath $(dir $(MAKEFILE_COMMON))Apple/include) + # include port and brew + 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 #### Lunatic development, do not touch! diff --git a/polymer/eduke32/Makefile.msvc b/polymer/eduke32/Makefile.msvc index 275481298..170671d80 100644 --- a/polymer/eduke32/Makefile.msvc +++ b/polymer/eduke32/Makefile.msvc @@ -9,6 +9,16 @@ INC=$(SRC) RSRC=rsrc 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 JAUDIOLIB=libjfaudiolib.lib @@ -150,12 +160,12 @@ EDITOROBJS=$(OBJ)\astub.$o \ all: eduke32$(EXESUFFIX) mapster32$(EXESUFFIX) # duke3d_w32$(EXESUFFIX); eduke32$(EXESUFFIX): $(GAMEOBJS) $(EOBJ)\$(ENGINELIB) $(JAUDIOLIBDIR)\$(JAUDIOLIB) $(ENETDIR)\$(ENETLIB) - $(LINK) /OUT:$@ /SUBSYSTEM:WINDOWS /LIBPATH:$(DXROOT)\lib\x86 $(flags_link) /MAP $** $(LIBS) - $(MT) -manifest $(RSRC)\manifest.game.xml -hashupdate -outputresource:$@ -out:$@.manifest + $(LINK) /OUT:$@ /SUBSYSTEM:WINDOWS /LIBPATH:$(DXROOT)\lib$(DXLIB) $(flags_link) /MAP $** $(LIBS) + $(MT) -manifest $(RSRC)$(WINLIB)\manifest.game.xml -hashupdate -outputresource:$@ -out:$@.manifest mapster32$(EXESUFFIX): $(EDITOROBJS) $(EOBJ)\$(ENGINELIB) $(EOBJ)\$(EDITORLIB) $(JAUDIOLIBDIR)\$(JAUDIOLIB) - $(LINK) /OUT:$@ /SUBSYSTEM:WINDOWS /LIBPATH:$(DXROOT)\lib\x86 $(flags_link) /MAP $** $(LIBS) - $(MT) -manifest $(RSRC)\manifest.build.xml -hashupdate -outputresource:$@ -out:$@.manifest + $(LINK) /OUT:$@ /SUBSYSTEM:WINDOWS /LIBPATH:$(DXROOT)\lib$(DXLIB) $(flags_link) /MAP $** $(LIBS) + $(MT) -manifest $(RSRC)$(WINLIB)\manifest.build.xml -hashupdate -outputresource:$@ -out:$@.manifest !include Makefile.deps diff --git a/polymer/eduke32/Windows/include/ddraw.h b/polymer/eduke32/Windows/include/ddraw.h index 04336e1b4..b165b931c 100644 --- a/polymer/eduke32/Windows/include/ddraw.h +++ b/polymer/eduke32/Windows/include/ddraw.h @@ -45,6 +45,8 @@ #define _FACDD 0x876 #define MAKE_DDHRESULT( code ) MAKE_HRESULT( 1, _FACDD, code ) +#include "dx_compat.h" // EDuke32 + #ifdef __cplusplus extern "C" { #endif diff --git a/polymer/eduke32/Windows/include/dinput.h b/polymer/eduke32/Windows/include/dinput.h index dd5a53cef..16a80239c 100644 --- a/polymer/eduke32/Windows/include/dinput.h +++ b/polymer/eduke32/Windows/include/dinput.h @@ -20,6 +20,8 @@ #endif /* DIJ_RINGZERO */ +#include "dx_compat.h" // EDuke32 + #ifdef __cplusplus extern "C" { #endif diff --git a/polymer/eduke32/Windows/include/dsound.h b/polymer/eduke32/Windows/include/dsound.h index 5f729f7e6..6c4aefcb7 100644 --- a/polymer/eduke32/Windows/include/dsound.h +++ b/polymer/eduke32/Windows/include/dsound.h @@ -16,6 +16,8 @@ #define DIRECTSOUND_VERSION 0x0900 /* Version 9.0 */ #endif +#include "dx_compat.h" // EDuke32 + #ifdef __cplusplus extern "C" { #endif // __cplusplus diff --git a/polymer/eduke32/Windows/include/dx_compat.h b/polymer/eduke32/Windows/include/dx_compat.h new file mode 100644 index 000000000..f5b875529 --- /dev/null +++ b/polymer/eduke32/Windows/include/dx_compat.h @@ -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 +#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 diff --git a/polymer/eduke32/Windows/include/vpx/vpx_codec.h b/polymer/eduke32/Windows/include/vpx/vpx_codec.h index d92e165ff..243b7a507 100644 --- a/polymer/eduke32/Windows/include/vpx/vpx_codec.h +++ b/polymer/eduke32/Windows/include/vpx/vpx_codec.h @@ -49,15 +49,22 @@ extern "C" { #ifndef DEPRECATED #if defined(__GNUC__) && __GNUC__ #define DEPRECATED __attribute__ ((deprecated)) -#define DECLSPEC_DEPRECATED /**< \copydoc #DEPRECATED */ #elif defined(_MSC_VER) #define DEPRECATED -#define DECLSPEC_DEPRECATED __declspec(deprecated) /**< \copydoc #DEPRECATED */ #else #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 */ #endif -#endif +#endif /* DECLSPEC_DEPRECATED */ /*!\brief Decorator indicating a function is potentially unused */ #ifdef UNUSED diff --git a/polymer/eduke32/Windows/lib/SDL_mixer.lib b/polymer/eduke32/Windows/lib/32/SDL_mixer.lib similarity index 100% rename from polymer/eduke32/Windows/lib/SDL_mixer.lib rename to polymer/eduke32/Windows/lib/32/SDL_mixer.lib diff --git a/polymer/eduke32/Windows/lib/32/libdsound.a b/polymer/eduke32/Windows/lib/32/libdsound.a new file mode 100644 index 000000000..225e07ee1 Binary files /dev/null and b/polymer/eduke32/Windows/lib/32/libdsound.a differ diff --git a/polymer/eduke32/Windows/lib/32/libdxguid.a b/polymer/eduke32/Windows/lib/32/libdxguid.a new file mode 100644 index 000000000..876a7237f Binary files /dev/null and b/polymer/eduke32/Windows/lib/32/libdxguid.a differ diff --git a/polymer/eduke32/Windows/lib/32/libpng_mini.a b/polymer/eduke32/Windows/lib/32/libpng_mini.a new file mode 100644 index 000000000..c51f32006 Binary files /dev/null and b/polymer/eduke32/Windows/lib/32/libpng_mini.a differ diff --git a/polymer/eduke32/Windows/lib/32/libvpx.a b/polymer/eduke32/Windows/lib/32/libvpx.a new file mode 100644 index 000000000..4af206420 Binary files /dev/null and b/polymer/eduke32/Windows/lib/32/libvpx.a differ diff --git a/polymer/eduke32/Windows/lib/32/libvpx_g.a b/polymer/eduke32/Windows/lib/32/libvpx_g.a new file mode 100644 index 000000000..8927b1e52 Binary files /dev/null and b/polymer/eduke32/Windows/lib/32/libvpx_g.a differ diff --git a/polymer/eduke32/Windows/lib/32/libz_mini.a b/polymer/eduke32/Windows/lib/32/libz_mini.a new file mode 100644 index 000000000..929bb4ec4 Binary files /dev/null and b/polymer/eduke32/Windows/lib/32/libz_mini.a differ diff --git a/polymer/eduke32/Windows/lib/64/SDL_mixer.lib b/polymer/eduke32/Windows/lib/64/SDL_mixer.lib new file mode 100644 index 000000000..e9a2de43c Binary files /dev/null and b/polymer/eduke32/Windows/lib/64/SDL_mixer.lib differ diff --git a/polymer/eduke32/Windows/lib/64/libdsound.a b/polymer/eduke32/Windows/lib/64/libdsound.a new file mode 100644 index 000000000..63332b3b9 Binary files /dev/null and b/polymer/eduke32/Windows/lib/64/libdsound.a differ diff --git a/polymer/eduke32/Windows/lib/64/libdxguid.a b/polymer/eduke32/Windows/lib/64/libdxguid.a new file mode 100644 index 000000000..d2b4464bc Binary files /dev/null and b/polymer/eduke32/Windows/lib/64/libdxguid.a differ diff --git a/polymer/eduke32/Windows/lib/64/libpng_mini.a b/polymer/eduke32/Windows/lib/64/libpng_mini.a new file mode 100644 index 000000000..69749af33 Binary files /dev/null and b/polymer/eduke32/Windows/lib/64/libpng_mini.a differ diff --git a/polymer/eduke32/Windows/lib/64/libvpx.a b/polymer/eduke32/Windows/lib/64/libvpx.a new file mode 100644 index 000000000..3aa26fda7 Binary files /dev/null and b/polymer/eduke32/Windows/lib/64/libvpx.a differ diff --git a/polymer/eduke32/Windows/lib/64/libvpx_g.a b/polymer/eduke32/Windows/lib/64/libvpx_g.a new file mode 100644 index 000000000..12ef2877d Binary files /dev/null and b/polymer/eduke32/Windows/lib/64/libvpx_g.a differ diff --git a/polymer/eduke32/Windows/lib/64/libz_mini.a b/polymer/eduke32/Windows/lib/64/libz_mini.a new file mode 100644 index 000000000..5b8fc1b5f Binary files /dev/null and b/polymer/eduke32/Windows/lib/64/libz_mini.a differ diff --git a/polymer/eduke32/Windows/lib/instructions.txt b/polymer/eduke32/Windows/lib/instructions.txt new file mode 100644 index 000000000..7bb7a1617 --- /dev/null +++ b/polymer/eduke32/Windows/lib/instructions.txt @@ -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: -w64-mingw32\include\ +libraries: -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--VC.zip. +The library used for linking can be found at these paths: +32-bit: SDL_mixer-/lib/x86/SDL_mixer.lib +64-bit: SDL_mixer-/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 diff --git a/polymer/eduke32/Windows/lib/libpng_mini.a b/polymer/eduke32/Windows/lib/libpng_mini.a deleted file mode 100644 index 18ae1434c..000000000 Binary files a/polymer/eduke32/Windows/lib/libpng_mini.a and /dev/null differ diff --git a/polymer/eduke32/Windows/lib/libvpx with MinGW-w64.patch b/polymer/eduke32/Windows/lib/libvpx with MinGW-w64.patch new file mode 100644 index 000000000..4bf690c76 --- /dev/null +++ b/polymer/eduke32/Windows/lib/libvpx with MinGW-w64.patch @@ -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" diff --git a/polymer/eduke32/Windows/lib/libvpx.a b/polymer/eduke32/Windows/lib/libvpx.a deleted file mode 100644 index 4eb44ea40..000000000 Binary files a/polymer/eduke32/Windows/lib/libvpx.a and /dev/null differ diff --git a/polymer/eduke32/Windows/lib/libvpx_g.a b/polymer/eduke32/Windows/lib/libvpx_g.a deleted file mode 100644 index 42870e206..000000000 Binary files a/polymer/eduke32/Windows/lib/libvpx_g.a and /dev/null differ diff --git a/polymer/eduke32/Windows/lib/libz_mini.a b/polymer/eduke32/Windows/lib/libz_mini.a deleted file mode 100644 index da45578f4..000000000 Binary files a/polymer/eduke32/Windows/lib/libz_mini.a and /dev/null differ diff --git a/polymer/eduke32/Windows/src/minipng.dfa b/polymer/eduke32/Windows/lib/minipng.dfa similarity index 100% rename from polymer/eduke32/Windows/src/minipng.dfa rename to polymer/eduke32/Windows/lib/minipng.dfa diff --git a/polymer/eduke32/Windows/src/backtrace.c b/polymer/eduke32/Windows/src/backtrace.c index b5cb64f75..6b9896e77 100644 --- a/polymer/eduke32/Windows/src/backtrace.c +++ b/polymer/eduke32/Windows/src/backtrace.c @@ -43,7 +43,13 @@ #include #include -#include "compat.h" +#include + +#if defined __GNUC__ || defined __clang__ +# define ATTRIBUTE(attrlist) __attribute__(attrlist) +#else +# define ATTRIBUTE(attrlist) +#endif #define BUFFER_MAX (16*1024) diff --git a/polymer/eduke32/Windows/src/dxlibs/Makefile b/polymer/eduke32/Windows/src/dxlibs/Makefile new file mode 100644 index 000000000..228457edc --- /dev/null +++ b/polymer/eduke32/Windows/src/dxlibs/Makefile @@ -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 diff --git a/polymer/eduke32/Windows/src/dxlibs/d3d8.def b/polymer/eduke32/Windows/src/dxlibs/d3d8.def new file mode 100644 index 000000000..8b8b6c968 --- /dev/null +++ b/polymer/eduke32/Windows/src/dxlibs/d3d8.def @@ -0,0 +1,5 @@ +LIBRARY "d3d8.dll" +EXPORTS +ValidatePixelShader +ValidateVertexShader +Direct3DCreate8@4 diff --git a/polymer/eduke32/Windows/src/dxlibs/d3dx8d.def b/polymer/eduke32/Windows/src/dxlibs/d3dx8d.def new file mode 100644 index 000000000..eff9d5cea --- /dev/null +++ b/polymer/eduke32/Windows/src/dxlibs/d3dx8d.def @@ -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 diff --git a/polymer/eduke32/Windows/src/dxlibs/d3dxof.def b/polymer/eduke32/Windows/src/dxlibs/d3dxof.def new file mode 100644 index 000000000..6660bab13 --- /dev/null +++ b/polymer/eduke32/Windows/src/dxlibs/d3dxof.def @@ -0,0 +1,3 @@ +LIBRARY "d3dxof.dll" +EXPORTS +DirectXFileCreate@4 diff --git a/polymer/eduke32/Windows/src/dxlibs/ddraw.def b/polymer/eduke32/Windows/src/dxlibs/ddraw.def new file mode 100644 index 000000000..1d514db81 --- /dev/null +++ b/polymer/eduke32/Windows/src/dxlibs/ddraw.def @@ -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 diff --git a/polymer/eduke32/Windows/src/dxlibs/dinput.c b/polymer/eduke32/Windows/src/dxlibs/dinput.c new file mode 100644 index 000000000..bb4ab0916 --- /dev/null +++ b/polymer/eduke32/Windows/src/dxlibs/dinput.c @@ -0,0 +1,531 @@ +#include +/* 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}; + + + + + diff --git a/polymer/eduke32/Windows/src/dxlibs/dinput.def b/polymer/eduke32/Windows/src/dxlibs/dinput.def new file mode 100644 index 000000000..c89f1cb69 --- /dev/null +++ b/polymer/eduke32/Windows/src/dxlibs/dinput.def @@ -0,0 +1,6 @@ +LIBRARY "dinput.dll" +EXPORTS +DirectInputCreateA@16 +DirectInputCreateEx@20 +DirectInputCreateW@16 + diff --git a/polymer/eduke32/Windows/src/dxlibs/dinput8.def b/polymer/eduke32/Windows/src/dxlibs/dinput8.def new file mode 100644 index 000000000..572104a00 --- /dev/null +++ b/polymer/eduke32/Windows/src/dxlibs/dinput8.def @@ -0,0 +1,4 @@ +LIBRARY "dinput8.dll" +EXPORTS +DirectInput8Create@20 + diff --git a/polymer/eduke32/Windows/src/dxlibs/dplayx.def b/polymer/eduke32/Windows/src/dxlibs/dplayx.def new file mode 100644 index 000000000..237ecac58 --- /dev/null +++ b/polymer/eduke32/Windows/src/dxlibs/dplayx.def @@ -0,0 +1,8 @@ +LIBRARY "dplayx.dll" +EXPORTS +DirectPlayCreate@12 +DirectPlayEnumerate@8 +DirectPlayEnumerateA@8 +DirectPlayEnumerateW@8 +DirectPlayLobbyCreateA@20 +DirectPlayLobbyCreateW@20 diff --git a/polymer/eduke32/Windows/src/dxlibs/dpnaddr.def b/polymer/eduke32/Windows/src/dxlibs/dpnaddr.def new file mode 100644 index 000000000..48c1ed175 --- /dev/null +++ b/polymer/eduke32/Windows/src/dxlibs/dpnaddr.def @@ -0,0 +1,3 @@ +LIBRARY "dpnaddr.dll" +EXPORTS +DirectPlay8AddressCreate@12 diff --git a/polymer/eduke32/Windows/src/dxlibs/dpnet.def b/polymer/eduke32/Windows/src/dxlibs/dpnet.def new file mode 100644 index 000000000..1e1a20049 --- /dev/null +++ b/polymer/eduke32/Windows/src/dxlibs/dpnet.def @@ -0,0 +1,3 @@ +LIBRARY "dpnet.dll" +EXPORTS +DirectPlay8Create@12 diff --git a/polymer/eduke32/Windows/src/dxlibs/dpnlobby.def b/polymer/eduke32/Windows/src/dxlibs/dpnlobby.def new file mode 100644 index 000000000..3b1884ae4 --- /dev/null +++ b/polymer/eduke32/Windows/src/dxlibs/dpnlobby.def @@ -0,0 +1,3 @@ +LIBRARY "dpnlobby.dll" +EXPORTS +DirectPlay8LobbyCreate@12 diff --git a/polymer/eduke32/Windows/src/dxlibs/dpvoice.def b/polymer/eduke32/Windows/src/dxlibs/dpvoice.def new file mode 100644 index 000000000..94b6757d7 --- /dev/null +++ b/polymer/eduke32/Windows/src/dxlibs/dpvoice.def @@ -0,0 +1,3 @@ +LIBRARY "dpvoice.dll" +EXPORTS +DirectPlayVoiceCreate@12 diff --git a/polymer/eduke32/Windows/src/dxlibs/dsetup.def b/polymer/eduke32/Windows/src/dxlibs/dsetup.def new file mode 100644 index 000000000..cc62beed1 --- /dev/null +++ b/polymer/eduke32/Windows/src/dxlibs/dsetup.def @@ -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 diff --git a/polymer/eduke32/Windows/src/dxlibs/dsound.def b/polymer/eduke32/Windows/src/dxlibs/dsound.def new file mode 100644 index 000000000..c59e0760d --- /dev/null +++ b/polymer/eduke32/Windows/src/dxlibs/dsound.def @@ -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 diff --git a/polymer/eduke32/Windows/src/dxlibs/dxguid.c b/polymer/eduke32/Windows/src/dxlibs/dxguid.c new file mode 100644 index 000000000..20f30d2a5 --- /dev/null +++ b/polymer/eduke32/Windows/src/dxlibs/dxguid.c @@ -0,0 +1,578 @@ +#include +/* 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); + + diff --git a/polymer/eduke32/Windows/src/dxlibs/readme.txt b/polymer/eduke32/Windows/src/dxlibs/readme.txt new file mode 100644 index 000000000..40a9f96f5 --- /dev/null +++ b/polymer/eduke32/Windows/src/dxlibs/readme.txt @@ -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 diff --git a/polymer/eduke32/build/Makefile.msvc b/polymer/eduke32/build/Makefile.msvc index 6465cb166..f84eec3fd 100644 --- a/polymer/eduke32/build/Makefile.msvc +++ b/polymer/eduke32/build/Makefile.msvc @@ -16,6 +16,9 @@ o=obj res=res asm=masm +# When we support 64-bit targets with MSVC, if a 64-bit build is selected: +# NOASM=1 + ENGINELIB=engine.lib EDITORLIB=build.lib diff --git a/polymer/eduke32/build/Makefile.shared b/polymer/eduke32/build/Makefile.shared index 7d4d1a740..02e66d915 100644 --- a/polymer/eduke32/build/Makefile.shared +++ b/polymer/eduke32/build/Makefile.shared @@ -9,34 +9,36 @@ EDITORLIB=libbuild.a # SDK locations - adjust to match your setup # Overrides must use absolute paths since this Makefile is included at different directory levels # -SDLCONFIG = /usr/local/bin/sdl-config -SDLNAME = SDL +SDLCONFIG ?= sdl-config +SDLNAME ?= SDL +SDL_FRAMEWORK ?= 1 DXROOT=$(abspath $(dir $(MAKEFILE_COMMON))../sdk/dx) #DXROOT=/c/sdks/directx/dx8 SDLROOT=$(abspath $(dir $(MAKEFILE_COMMON))../sdk/SDL) -ifeq ($(wildcard $(SDLCONFIG)),$(SDLCONFIG)) -# $(info Detected locally installed SDL 1.X) - SDLROOT = /usr/local -else - # Swap the commenting in the following two lines to - # enable SDL 2.X detection - SDLCONFIG = /usr/local/file_that_does_not_exist -# SDLCONFIG = /usr/local/bin/sdl2-config +ifneq ($(PLATFORM),WINDOWS) + SDLVERSION:=$(strip $(shell $(SDLCONFIG) --version)) + ifneq ($(SDLVERSION),) + SDLROOT:=$(strip $(shell $(SDLCONFIG) --prefix)) + endif - ifeq ($(wildcard $(SDLCONFIG)),$(SDLCONFIG)) -# $(info Detected locally installed SDL 2.X) - SDLROOT = /usr/local - SDLNAME = SDL2 - else -# $(info Detected system-wide installed SDL 1.X) - SDLCONFIG = /usr/bin/sdl-config + # Uncomment the following line to enable SDL 2.X detection + #TRYSDL2=1 + ifeq ($(TRYSDL2),1) + SDL2CONFIG ?= sdl2-config + SDL2NAME ?= SDL2 + + SDL2VERSION:=$(strip $(shell $(SDL2CONFIG) --version)) + ifneq ($(SDL2VERSION),) + SDLVERSION:=$(SDL2VERSION) + SDLCONFIG:=$(SDL2CONFIG) + SDLNAME:=$(SDL2NAME) + SDLROOT:=$(strip $(shell $(SDLCONFIG) --prefix)) + endif endif endif -SDL_FRAMEWORK = 0 - DXROOT_OVERRIDE ?= SDLROOT_OVERRIDE ?= ifneq ($(DXROOT_OVERRIDE),) @@ -47,12 +49,13 @@ ifneq ($(SDLROOT_OVERRIDE),) endif -ifeq (4,$(GCC_MAJOR)) +ifeq (1,$(strip $(shell expr $(GCC_MAJOR) \>= 4))) L_SSP := -lssp endif BUILDCOMMONFLAGS=$(ARCH) BUILDLIBS= +BUILDLIBDIRS= ifeq ($(SUBPLATFORM),LINUX) STDCPPLIB:= @@ -66,10 +69,11 @@ ifeq ($(SUBPLATFORM),LINUX) BUILDCOMMONFLAGS+= -DHAVE_INTTYPES GTKCOMPAT32=0 - ifeq ($(findstring x86_64,$(shell uname -m)),x86_64) + ifeq ($(findstring x86_64,$(SYSARCH)),x86_64) ifeq (1,$(BUILD32_ON_64)) # 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 # Override WITHOUT_GTK=0 GTKCOMPAT32=1 @@ -83,7 +87,6 @@ ifeq ($(PLATFORM),DARWIN) STDCPPLIB:=-lstdc++ BUILDCOMMONFLAGS += -DHAVE_INTTYPES GTKCOMPAT32 = 0 - SDL_FRAMEWORK = 1 ifeq (1,$(DARWIN9)) BUILDCOMMONFLAGS += -DDARWIN9 @@ -93,7 +96,7 @@ ifeq ($(PLATFORM),DARWIN) ARCH=-arch i386 else # ASM won't work on PowerPC or x86_64 - override NOASM = 1 + override NOASM=1 endif endif ifeq ($(PLATFORM),WINDOWS) @@ -102,14 +105,20 @@ ifeq ($(PLATFORM),WINDOWS) SDL_FRAMEWORK=1 BUILDCOMMONFLAGS+= -DHAVE_INTTYPES EXESUFFIX=.exe - BUILDLIBS+= -lmingwex -lwsock32 -lcomctl32 -lwinmm + BUILDLIBS+= -Wl,--enable-auto-import -mwindows -lmingwex -lcomctl32 -lwinmm $(L_SSP) -lwsock32 -lws2_32 #-lshfolder + #BUILDLIBDIRS+= -L$(ENETROOT) #STDCPPLIB:=-lstdc++ + ifeq ($(findstring x86_64,$(SYSARCH)),x86_64) + ifneq (1,$(BUILD32_ON_64)) + override NOASM=1 + endif + endif endif ifeq ($(PLATFORM),BSD) RENDERTYPE=SDL BUILDCOMMONFLAGS+= -DHAVE_INTTYPES - ifneq ($(findstring i386, $(SYSARCH)), i386) + ifneq ($(findstring i386,$(SYSARCH)),i386) override NOASM=1 endif STDCPPLIB:=-lstdc++ @@ -122,21 +131,11 @@ ifeq ($(PLATFORM),SKYOS) RENDERTYPE=SDL EXESUFFIX=.app override NOASM=1 - BUILDCOMMONFLAGS+= -DUNDERSCORES + BUILDCOMMONFLAGS+= -DUNDERSCORES -I/boot/programs/sdk/include/sdl SDLCONFIG= - SDLCONFIG_COMMONFLAGS=-I/boot/programs/sdk/include/sdl BUILDLIBS+= -lSDL -lnet endif ifeq ($(PLATFORM),WII) - ifeq ($(strip $(DEVKITPPC)),) - $(error "Please set DEVKITPPC in your environment. export DEVKITPPC=devkitPPC") - endif - - include $(DEVKITPPC)/wii_rules - - RANLIB=powerpc-eabi-ranlib - STRIP=powerpc-eabi-strip - RENDERTYPE=SDL EXESUFFIX=.elf override USE_OPENGL=0 @@ -176,31 +175,30 @@ ifneq (0,$(CLANG)) endif ifeq ($(RENDERTYPE),SDL) - ifeq ($(SDL_FRAMEWORK),1) - SDLCONFIG_COMMONFLAGS += -DSDL_FRAMEWORK + BUILDCOMMONFLAGS += -DSDL_FRAMEWORK endif ifneq ($(PLATFORM),WINDOWS) ifeq ($(SDL_FRAMEWORK),1) ifeq ($(PLATFORM),DARWIN) - SDLCONFIG_LIBS += -Wl,-framework,SDL - SDLCONFIG_COMMONFLAGS+= -I$(APPLE_FRAMEWORKS)/SDL.framework/Headers + BUILDLIBS += -Wl,-framework,SDL + BUILDCOMMONFLAGS+= -I$(APPLE_FRAMEWORKS)/SDL.framework/Headers endif else ifneq ($(SDLCONFIG),) - SDLCONFIG_COMMONFLAGS+=$(subst -Dmain=SDL_main,,$(shell $(SDLCONFIG) --cflags)) - SDLCONFIG_LIBS+= $(shell $(SDLCONFIG) --libs) + SDLCONFIG_COMMONFLAGS:=$(subst -Dmain=SDL_main,,$(strip $(shell $(SDLCONFIG) --cflags))) + SDLCONFIG_LIBS:=$(strip $(shell $(SDLCONFIG) --libs)) + + BUILDLIBS+= $(SDLCONFIG_LIBS) + BUILDCOMMONFLAGS+= $(SDLCONFIG_COMMONFLAGS) endif endif else - SDLCONFIG_COMMONFLAGS += -D_GNU_SOURCE=1 - SDLCONFIG_LIBS+= -lmingw32 -lSDLmain -lSDL + BUILDCOMMONFLAGS += -D_GNU_SOURCE=1 + BUILDLIBS+= -lmingw32 -lSDLmain -lSDL endif - BUILDLIBS+= $(SDLCONFIG_LIBS) - BUILDCOMMONFLAGS+= $(SDLCONFIG_COMMONFLAGS) - ifeq (1,$(WITHOUT_GTK)) HAVE_GTK2=0 else @@ -272,8 +270,7 @@ ifeq ($(PLATFORM),WINDOWS) else ifeq ($(PLATFORM),DARWIN) ifneq ($(USE_LIBPNG),0) - BUILDCOMMONFLAGS+= -I/opt/local/include -I/sw/include -I/usr/local/include - BUILDLIBS+= -L/opt/local/lib -L/usr/local/lib -lpng # -lz + BUILDLIBS+= -lpng # -lz endif else ifneq ($(USE_LIBPNG),0) @@ -282,11 +279,6 @@ else endif endif -ifeq ($(PLATFORM),WINDOWS) - BUILDLIBS+= $(L_SSP) -Wl,--enable-auto-import - BUILDLIBS+= -mwindows -lwsock32 -lws2_32 #-L$(ENETROOT) -endif - ifeq ($(PRETTY_OUTPUT),1) BUILD_SETTINGS_COMPILER = \033[1;36mcompiler: \033[0;36m\"$(COMPILER) $(OURCFLAGS)\" diff --git a/polymer/eduke32/build/include/compat.h b/polymer/eduke32/build/include/compat.h index 4f0549e15..bc8779552 100644 --- a/polymer/eduke32/build/include/compat.h +++ b/polymer/eduke32/build/include/compat.h @@ -41,12 +41,12 @@ #endif #ifndef _MSC_VER -# if defined(__GNUC__) && defined(__i386__) -# ifndef __fastcall +# ifndef __fastcall +# if defined(__GNUC__) && defined(__i386__) # define __fastcall __attribute__((fastcall)) +# else +# define __fastcall # endif -# else -# define __fastcall # endif #endif diff --git a/polymer/eduke32/build/include/nedmalloc.h b/polymer/eduke32/build/include/nedmalloc.h index 1ca6e36bc..f449399cf 100644 --- a/polymer/eduke32/build/include/nedmalloc.h +++ b/polymer/eduke32/build/include/nedmalloc.h @@ -996,7 +996,7 @@ policies... void policy_throwbadalloc(size_t bytes) const { UNREFERENCED_PARAMETER(bytes); -#ifndef DISABLE_EXCEPTIONS +#if defined __EXCEPTIONS && !defined DISABLE_EXCEPTIONS throw std::bad_alloc(); #endif } @@ -1213,7 +1213,7 @@ namespace nedpolicy void policy_throwbadalloc(size_t bytes) const { UNREFERENCED_PARAMETER(bytes); -#ifndef DISABLE_EXCEPTIONS +#if defined __EXCEPTIONS && !defined DISABLE_EXCEPTIONS throw T(); #endif } diff --git a/polymer/eduke32/build/include/sdlayer.h b/polymer/eduke32/build/include/sdlayer.h index bf0d96e5d..3fdad3a44 100644 --- a/polymer/eduke32/build/include/sdlayer.h +++ b/polymer/eduke32/build/include/sdlayer.h @@ -10,7 +10,7 @@ #include "baselayer.h" #ifdef _WIN32 -int32_t win_gethinstance(void); +HINSTANCE win_gethinstance(void); #endif struct sdlappicon { diff --git a/polymer/eduke32/build/include/winlayer.h b/polymer/eduke32/build/include/winlayer.h index c69b67be5..ec31b4f11 100644 --- a/polymer/eduke32/build/include/winlayer.h +++ b/polymer/eduke32/build/include/winlayer.h @@ -4,14 +4,17 @@ #ifndef __build_interface_layer__ #define __build_interface_layer__ WIN +#define WIN32_LEAN_AND_MEAN +#include + extern uint32_t maxrefreshfreq; extern int32_t glusecds; extern char di_disabled; -int32_t win_gethwnd(void); -int32_t win_gethinstance(void); +HWND win_gethwnd(void); +HINSTANCE win_gethinstance(void); extern void idle_waitevent_timeout(uint32_t timeout); diff --git a/polymer/eduke32/build/src/sdlayer.c b/polymer/eduke32/build/src/sdlayer.c index 8eed3caf0..7abea8026 100644 --- a/polymer/eduke32/build/src/sdlayer.c +++ b/polymer/eduke32/build/src/sdlayer.c @@ -125,9 +125,9 @@ uint16_t *joydead, *joysatur; // // 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 @@ -897,7 +897,11 @@ uint32_t getticks(void) uint64_t gethiticks(void) { #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 // available. uint64_t ticks; @@ -908,10 +912,6 @@ uint64_t gethiticks(void) ticks *= 1000000000; ticks += now.tv_nsec; return (ticks); -# elif defined _WIN32 - return win_gethiticks(); -# elif defined __APPLE__ - return mach_absolute_time(); # else // Blar. This pragma is unsupported on earlier GCC versions. // 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) { #if (SDL_MAJOR_VERSION == 1 && SDL_MINOR_VERSION < 3) // SDL 1.2 -# if _POSIX_TIMERS>0 && defined _POSIX_MONOTONIC_CLOCK - return 1000000000; -# elif defined _WIN32 +# if defined _WIN32 return win_timerfreq; # elif defined __APPLE__ static mach_timebase_info_data_t ti; if (ti.denom == 0) (void)mach_timebase_info(&ti); // ti.numer/ti.denom: nsec/(m_a_t() tick) return (1000000000LL*ti.denom)/ti.numer; +# elif _POSIX_TIMERS>0 && defined _POSIX_MONOTONIC_CLOCK + return 1000000000; # else return 1000; # endif diff --git a/polymer/eduke32/build/src/startwin.editor.c b/polymer/eduke32/build/src/startwin.editor.c index 1bd2d20cf..ad39c6407 100644 --- a/polymer/eduke32/build/src/startwin.editor.c +++ b/polymer/eduke32/build/src/startwin.editor.c @@ -326,7 +326,7 @@ static INT_PTR CALLBACK startup_dlgproc(HWND hwndDlg, UINT uMsg, WPARAM wParam, case WM_CTLCOLORSTATIC: if ((HWND)lParam == pages[TAB_MESSAGES]) - return (BOOL)GetSysColorBrush(COLOR_WINDOW); + return (BOOL)(intptr_t)GetSysColorBrush(COLOR_WINDOW); break; default: diff --git a/polymer/eduke32/build/src/winbits.c b/polymer/eduke32/build/src/winbits.c index 17391e8d8..dfa528d9e 100644 --- a/polymer/eduke32/build/src/winbits.c +++ b/polymer/eduke32/build/src/winbits.c @@ -12,6 +12,14 @@ # include "nedmalloc.h" #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; int64_t win_timerfreq = 0; @@ -174,7 +182,7 @@ static void ToggleDesktopComposition(BOOL compEnable) void win_open(void) { #ifndef DEBUGGINGAIDS - if ((nedhandle = LoadLibrary("nedmalloc.dll"))) + if ((nedhandle = LoadLibrary(NEDMALLOCDLL))) { #ifdef __cplusplus nedalloc::nedpool_t *(WINAPI *nedcreatepool)(size_t, int); @@ -186,7 +194,7 @@ void win_open(void) nedcreatepool(SYSTEM_POOL_SIZE, -1); } #else - LoadLibraryA("ebacktrace1.dll"); + LoadLibraryA(EBACKTRACEDLL); /* wm_msgbox("boo","didn't load backtrace DLL (code %d)\n", (int)GetLastError()); else diff --git a/polymer/eduke32/build/src/winlayer.c b/polymer/eduke32/build/src/winlayer.c index 60bc6374e..0ca387d25 100644 --- a/polymer/eduke32/build/src/winlayer.c +++ b/polymer/eduke32/build/src/winlayer.c @@ -194,18 +194,18 @@ static struct _joydef // // 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 // -int32_t win_gethinstance(void) +HINSTANCE win_gethinstance(void) { - return (int32_t)hInstance; + return hInstance; } diff --git a/polymer/eduke32/rsrc/manifest.build.xml b/polymer/eduke32/rsrc/32/manifest.build.xml similarity index 100% rename from polymer/eduke32/rsrc/manifest.build.xml rename to polymer/eduke32/rsrc/32/manifest.build.xml diff --git a/polymer/eduke32/rsrc/manifest.game.xml b/polymer/eduke32/rsrc/32/manifest.game.xml similarity index 100% rename from polymer/eduke32/rsrc/manifest.game.xml rename to polymer/eduke32/rsrc/32/manifest.game.xml diff --git a/polymer/eduke32/rsrc/64/manifest.build.xml b/polymer/eduke32/rsrc/64/manifest.build.xml new file mode 100644 index 000000000..bc6300226 --- /dev/null +++ b/polymer/eduke32/rsrc/64/manifest.build.xml @@ -0,0 +1,22 @@ + + + +Mapster32 for EDuke32 + + + + + + diff --git a/polymer/eduke32/rsrc/64/manifest.game.xml b/polymer/eduke32/rsrc/64/manifest.game.xml new file mode 100644 index 000000000..37e1db161 --- /dev/null +++ b/polymer/eduke32/rsrc/64/manifest.game.xml @@ -0,0 +1,22 @@ + + + +EDuke32 + + + + + + diff --git a/polymer/eduke32/source/gamedef.c b/polymer/eduke32/source/gamedef.c index 6bdcdc6ca..0d2cccbc9 100644 --- a/polymer/eduke32/source/gamedef.c +++ b/polymer/eduke32/source/gamedef.c @@ -1261,7 +1261,7 @@ static int32_t C_SetScriptSize(int32_t newsize) bitptr = newbitptr; 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; } diff --git a/polymer/eduke32/source/jaudiolib/third-party/mingw32/lib/32/libogg.a b/polymer/eduke32/source/jaudiolib/third-party/mingw32/lib/32/libogg.a new file mode 100644 index 000000000..3ba686f3a Binary files /dev/null and b/polymer/eduke32/source/jaudiolib/third-party/mingw32/lib/32/libogg.a differ diff --git a/polymer/eduke32/source/jaudiolib/third-party/mingw32/lib/libvorbis.a b/polymer/eduke32/source/jaudiolib/third-party/mingw32/lib/32/libvorbis.a similarity index 95% rename from polymer/eduke32/source/jaudiolib/third-party/mingw32/lib/libvorbis.a rename to polymer/eduke32/source/jaudiolib/third-party/mingw32/lib/32/libvorbis.a index 0ca4b034a..599e603f6 100644 Binary files a/polymer/eduke32/source/jaudiolib/third-party/mingw32/lib/libvorbis.a and b/polymer/eduke32/source/jaudiolib/third-party/mingw32/lib/32/libvorbis.a differ diff --git a/polymer/eduke32/source/jaudiolib/third-party/mingw32/lib/32/libvorbisfile.a b/polymer/eduke32/source/jaudiolib/third-party/mingw32/lib/32/libvorbisfile.a new file mode 100644 index 000000000..1ca73bd81 Binary files /dev/null and b/polymer/eduke32/source/jaudiolib/third-party/mingw32/lib/32/libvorbisfile.a differ diff --git a/polymer/eduke32/source/jaudiolib/third-party/mingw32/lib/64/libogg.a b/polymer/eduke32/source/jaudiolib/third-party/mingw32/lib/64/libogg.a new file mode 100644 index 000000000..7f499dab6 Binary files /dev/null and b/polymer/eduke32/source/jaudiolib/third-party/mingw32/lib/64/libogg.a differ diff --git a/polymer/eduke32/source/jaudiolib/third-party/mingw32/lib/64/libvorbis.a b/polymer/eduke32/source/jaudiolib/third-party/mingw32/lib/64/libvorbis.a new file mode 100644 index 000000000..ba9cca214 Binary files /dev/null and b/polymer/eduke32/source/jaudiolib/third-party/mingw32/lib/64/libvorbis.a differ diff --git a/polymer/eduke32/source/jaudiolib/third-party/mingw32/lib/64/libvorbisfile.a b/polymer/eduke32/source/jaudiolib/third-party/mingw32/lib/64/libvorbisfile.a new file mode 100644 index 000000000..38789fb53 Binary files /dev/null and b/polymer/eduke32/source/jaudiolib/third-party/mingw32/lib/64/libvorbisfile.a differ diff --git a/polymer/eduke32/source/jaudiolib/third-party/mingw32/lib/instructions.txt b/polymer/eduke32/source/jaudiolib/third-party/mingw32/lib/instructions.txt new file mode 100644 index 000000000..807059565 --- /dev/null +++ b/polymer/eduke32/source/jaudiolib/third-party/mingw32/lib/instructions.txt @@ -0,0 +1 @@ +See "polymer\eduke32\Windows\lib\instructions.txt". diff --git a/polymer/eduke32/source/jaudiolib/third-party/mingw32/lib/libogg.a b/polymer/eduke32/source/jaudiolib/third-party/mingw32/lib/libogg.a deleted file mode 100644 index 6e624f068..000000000 Binary files a/polymer/eduke32/source/jaudiolib/third-party/mingw32/lib/libogg.a and /dev/null differ diff --git a/polymer/eduke32/source/jaudiolib/third-party/mingw32/lib/libvorbisfile.a b/polymer/eduke32/source/jaudiolib/third-party/mingw32/lib/libvorbisfile.a deleted file mode 100644 index 359b22be3..000000000 Binary files a/polymer/eduke32/source/jaudiolib/third-party/mingw32/lib/libvorbisfile.a and /dev/null differ diff --git a/polymer/eduke32/source/m32def.c b/polymer/eduke32/source/m32def.c index 50bbc77cc..ccf9cc48e 100644 --- a/polymer/eduke32/source/m32def.c +++ b/polymer/eduke32/source/m32def.c @@ -643,7 +643,7 @@ static int32_t C_SetScriptSize(int32_t size) 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; } diff --git a/polymer/eduke32/source/misc/buildres.rc b/polymer/eduke32/source/misc/buildres.rc index fc1c6592d..b362eb33f 100644 --- a/polymer/eduke32/source/misc/buildres.rc +++ b/polymer/eduke32/source/misc/buildres.rc @@ -69,4 +69,8 @@ BEGIN 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 diff --git a/polymer/eduke32/source/misc/gameres.rc b/polymer/eduke32/source/misc/gameres.rc index 7d3beb193..8cb0ba277 100644 --- a/polymer/eduke32/source/misc/gameres.rc +++ b/polymer/eduke32/source/misc/gameres.rc @@ -77,4 +77,8 @@ BEGIN 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 diff --git a/polymer/eduke32/source/mpu401.c b/polymer/eduke32/source/mpu401.c index 945a9f2d1..768455848 100644 --- a/polymer/eduke32/source/mpu401.c +++ b/polymer/eduke32/source/mpu401.c @@ -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; @@ -127,7 +127,7 @@ void CALLBACK MPU_MIDICallback(HMIDIOUT handle, UINT uMsg, DWORD dwInstance, DWO midiOutUnprepareHeader((HMIDIOUT)handle, (MIDIHDR *)dwParam1, sizeof(MIDIHDR)); for (i=0; i