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

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

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

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

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

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

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

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

View file

@ -39,6 +39,7 @@ GAMELDFLAGS=
EDITORLDFLAGS=
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,8 +277,10 @@ endif
OURCOMMONFLAGS+= $(BUILDCOMMONFLAGS)
ifeq ($(PLATFORM),WINDOWS)
ifneq ($(findstring x86_64,$(COMPILERTARGET)),x86_64)
PRINTLDFLAGS+= -Wl,--large-address-aware
endif
endif
#ifneq (0,$(KRANDDEBUG))
ifeq ($(PLATFORM),DARWIN)
PRINTLDFLAGS+=-Wl,-map -Wl,$@.memmap

View file

@ -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=<path to>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:
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))
ifeq (1,$(strip $(shell expr $(GCC_MAJOR) \>= 4)))
ifeq (1,$(strip $(shell expr $(GCC_MINOR) \>= 4)))
W_NO_UNUSED_RESULT := -Wno-unused-result
else
W_NO_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!

View file

@ -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

View file

@ -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

View file

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

View file

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

View file

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

View file

@ -49,15 +49,22 @@ extern "C" {
#ifndef DEPRECATED
#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

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View file

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

View file

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

Binary file not shown.

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

@ -16,6 +16,9 @@ o=obj
res=res
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

View file

@ -9,33 +9,35 @@ 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
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
endif
ifneq ($(PLATFORM),WINDOWS)
SDLVERSION:=$(strip $(shell $(SDLCONFIG) --version))
ifneq ($(SDLVERSION),)
SDLROOT:=$(strip $(shell $(SDLCONFIG) --prefix))
endif
SDL_FRAMEWORK = 0
# 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
DXROOT_OVERRIDE ?=
SDLROOT_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
@ -102,9 +105,15 @@ 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
@ -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=<path to>devkitPPC")
endif
include $(DEVKITPPC)/wii_rules
RANLIB=powerpc-eabi-ranlib
STRIP=powerpc-eabi-strip
RENDERTYPE=SDL
EXESUFFIX=.elf
override USE_OPENGL=0
@ -176,30 +175,29 @@ 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)
endif
endif
else
SDLCONFIG_COMMONFLAGS += -D_GNU_SOURCE=1
SDLCONFIG_LIBS+= -lmingw32 -lSDLmain -lSDL
endif
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
BUILDCOMMONFLAGS += -D_GNU_SOURCE=1
BUILDLIBS+= -lmingw32 -lSDLmain -lSDL
endif
ifeq (1,$(WITHOUT_GTK))
HAVE_GTK2=0
@ -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)\"

View file

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

View file

@ -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
}

View file

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

View file

@ -4,14 +4,17 @@
#ifndef __build_interface_layer__
#define __build_interface_layer__ WIN
#define WIN32_LEAN_AND_MEAN
#include <windows.h>
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);

View file

@ -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

View file

@ -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:

View file

@ -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

View file

@ -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;
}

View file

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

View file

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

View file

@ -1261,7 +1261,7 @@ static int32_t C_SetScriptSize(int32_t newsize)
bitptr = newbitptr;
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;
}

View file

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

View file

@ -643,7 +643,7 @@ static int32_t C_SetScriptSize(int32_t size)
if (script != newscript)
{
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;
}

View file

@ -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

View file

@ -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

View file

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

View file

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