MSVC: Add support for x64 building and all synthesis libs (libpng/zlib, libvpx, libFLAC).

External ogg/vorbis are no longer required.

git-svn-id: https://svn.eduke32.com/eduke32@4320 1a8010ca-5511-0410-912e-c29ae57300e0
This commit is contained in:
hendricks266 2014-02-10 10:59:42 +00:00
parent fd3712ab22
commit 8f9ffcf23f
22 changed files with 154 additions and 48 deletions

View file

@ -9,15 +9,13 @@ INC=$(SRC)
RSRC=rsrc RSRC=rsrc
o=obj o=obj
WINLIB=\32 WINLIB=\$(WINBITS)
DXLIB=\x86
# When we support 64-bit targets with MSVC, if a 64-bit build is selected: !if ($(WINBITS)==32)
# WINLIB=\64 WINMACHINE=/MACHINE:X86
# DXLIB=\x64 # Presumably. Could be x86_64, amd64, etc. !elseif ($(WINBITS)==64)
# verify if anything needs to happen with vorbisfile_static.lib vorbis_static.lib ogg_static.lib WINMACHINE=/MACHINE:X64
!endif
# TODO: add MSVC support for libvpx, libpng, zlib
JAUDIOLIBDIR=$(SRC)\jaudiolib JAUDIOLIBDIR=$(SRC)\jaudiolib
JAUDIOLIB=libjfaudiolib.lib JAUDIOLIB=libjfaudiolib.lib
@ -31,7 +29,9 @@ EDITORLIB=build.lib
# the WDK allows us to link against msvcrt.dll instead of msvcrxxx.dll # the WDK allows us to link against msvcrt.dll instead of msvcrxxx.dll
# this path should match build\Makefile.msvc # this path should match build\Makefile.msvc
# WDKROOT="H:\WinDDK\7600.16385.1" # WDKROOT="H:\WinDDK\7600.16385.1"
VORBISSDK="C:\SDKs\oggvorbis-win32sdk-1.0.1" PLATFORM=platform\Windows
AUDIOINC=source\jaudiolib\third-party\common
AUDIOPLATFORM=source\jaudiolib\third-party\Windows
!ifdef DEBUG !ifdef DEBUG
# debugging options # debugging options
@ -43,12 +43,16 @@ flags_cl=/O2 /GL /arch:SSE /MP # /I$(WDKROOT)\inc\crt /I$(WDKROOT)\inc\api
flags_link=/RELEASE /LTCG # /LIBPATH:$(WDKROOT)\lib\wxp\i386 /LIBPATH:$(WDKROOT)\lib\Crt\i386 flags_link=/RELEASE /LTCG # /LIBPATH:$(WDKROOT)\lib\wxp\i386 /LIBPATH:$(WDKROOT)\lib\Crt\i386
!endif !endif
ENGINEOPTS=/DUSE_OPENGL /DPOLYMER ENGINEOPTS=/DUSE_OPENGL /DPOLYMER /DUSE_LIBPNG /I..\$(PLATFORM)\include
!ifdef CPLUSPLUS !ifdef CPLUSPLUS
ENGINEOPTS=$(ENGINEOPTS) /TP ENGINEOPTS=$(ENGINEOPTS) /TP
!endif !endif
!if ($(WINBITS)==64)
NOASM=1
!endif
CC=cl CC=cl
AS=ml AS=ml
LINK=link /nologo /opt:ref LINK=link /nologo /opt:ref
@ -56,14 +60,20 @@ MT=mt
CFLAGS= /MT /J /nologo $(flags_cl) \ CFLAGS= /MT /J /nologo $(flags_cl) \
/I$(INC) /I$(EINC)\msvc /I$(EINC)\ /I$(SRC)\jmact /I$(JAUDIOLIBDIR)\include /I$(ENETDIR)\include \ /I$(INC) /I$(EINC)\msvc /I$(EINC)\ /I$(SRC)\jmact /I$(JAUDIOLIBDIR)\include /I$(ENETDIR)\include \
/W2 $(ENGINEOPTS) \ /W2 $(ENGINEOPTS) \
/I$(VORBISSDK)\include /DRENDERTYPEWIN=1 /I$(PLATFORM)\include /I$(AUDIOINC)\include /DRENDERTYPEWIN=1 /DMIXERTYPEWIN=1 /DUSE_LIBVPX
LIBS=user32.lib gdi32.lib shell32.lib winmm.lib ws2_32.lib comctl32.lib shlwapi.lib \ LIBS=user32.lib gdi32.lib shell32.lib winmm.lib ws2_32.lib comctl32.lib shlwapi.lib \
vorbisfile_static.lib vorbis_static.lib ogg_static.lib dsound.lib advapi32.lib libFLAC.a libogg.a libvorbis.a libvorbisfile.a libvpx.a libpng_mini.a libz_mini.a libcompat-from-mingw-w64.a \
dsound.lib advapi32.lib libcompat-to-msvc.a
LIBS=/NODEFAULTLIB:glu32.lib /NODEFAULTLIB:msvcrt.lib /NODEFAULTLIB:msvcrtd.lib /NODEFAULTLIB:libcmt.lib \ LIBS=/NODEFAULTLIB:glu32.lib /NODEFAULTLIB:msvcrt.lib /NODEFAULTLIB:msvcrtd.lib /NODEFAULTLIB:libcmt.lib \
/NODEFAULTLIB:libcmtd.lib $(LIBS) /NODEFAULTLIB:libcmtd.lib $(LIBS)
# NOASM When defined, uses C instead of assembly code
!ifdef NOASM
CFLAGS=$(CFLAGS) /DNOASM
!endif
ASFLAGS=/nologo /coff /c ASFLAGS=/nologo /coff /c
EXESUFFIX=.exe EXESUFFIX=.exe
!ifdef DEBUG !ifdef DEBUG
@ -89,6 +99,7 @@ GAMEOBJS=$(OBJ)\game.$o \
$(OBJ)\actors.$o \ $(OBJ)\actors.$o \
$(OBJ)\actors_inline.$o \ $(OBJ)\actors_inline.$o \
$(OBJ)\anim.$o \ $(OBJ)\anim.$o \
$(OBJ)\animvpx.$o \
$(OBJ)\common.$o \ $(OBJ)\common.$o \
$(OBJ)\demo.$o \ $(OBJ)\demo.$o \
$(OBJ)\gamedef.$o \ $(OBJ)\gamedef.$o \
@ -161,11 +172,11 @@ EDITOROBJS=$(OBJ)\astub.$o \
all: eduke32$(EXESUFFIX) mapster32$(EXESUFFIX) all: eduke32$(EXESUFFIX) mapster32$(EXESUFFIX)
eduke32$(EXESUFFIX): $(GAMEOBJS) $(EOBJ)\$(ENGINELIB) $(JAUDIOLIBDIR)\$(JAUDIOLIB) $(ENETDIR)\$(ENETLIB) eduke32$(EXESUFFIX): $(GAMEOBJS) $(EOBJ)\$(ENGINELIB) $(JAUDIOLIBDIR)\$(JAUDIOLIB) $(ENETDIR)\$(ENETLIB)
$(LINK) /OUT:$@ /SUBSYSTEM:WINDOWS /LIBPATH:$(VORBISSDK)\lib $(flags_link) /MAP $** $(LIBS) $(LINK) /OUT:$@ /SUBSYSTEM:WINDOWS $(WINMACHINE) /LIBPATH:$(PLATFORM)\lib$(WINLIB) /LIBPATH:$(AUDIOPLATFORM)\lib$(WINLIB) $(flags_link) /MAP $** $(LIBS)
$(MT) -manifest $(RSRC)$(WINLIB)\manifest.game.xml -hashupdate -outputresource:$@ -out:$@.manifest $(MT) -manifest $(RSRC)$(WINLIB)\manifest.game.xml -hashupdate -outputresource:$@ -out:$@.manifest
mapster32$(EXESUFFIX): $(EDITOROBJS) $(EOBJ)\$(ENGINELIB) $(EOBJ)\$(EDITORLIB) $(JAUDIOLIBDIR)\$(JAUDIOLIB) mapster32$(EXESUFFIX): $(EDITOROBJS) $(EOBJ)\$(ENGINELIB) $(EOBJ)\$(EDITORLIB) $(JAUDIOLIBDIR)\$(JAUDIOLIB)
$(LINK) /OUT:$@ /SUBSYSTEM:WINDOWS /LIBPATH:$(VORBISSDK)\lib $(flags_link) /MAP $** $(LIBS) $(LINK) /OUT:$@ /SUBSYSTEM:WINDOWS $(WINMACHINE) /LIBPATH:$(PLATFORM)\lib$(WINLIB) /LIBPATH:$(AUDIOPLATFORM)\lib$(WINLIB) $(flags_link) /MAP $** $(LIBS)
$(MT) -manifest $(RSRC)$(WINLIB)\manifest.build.xml -hashupdate -outputresource:$@ -out:$@.manifest $(MT) -manifest $(RSRC)$(WINLIB)\manifest.build.xml -hashupdate -outputresource:$@ -out:$@.manifest
!include Makefile.deps !include Makefile.deps
@ -174,6 +185,7 @@ enginelib editorlib: AlwaysBuild
-mkdir $(EOBJ) -mkdir $(EOBJ)
echo OBJ=$(MAKEDIR)\$(EOBJ)\ > $(EOBJ)\overrides.mak echo OBJ=$(MAKEDIR)\$(EOBJ)\ > $(EOBJ)\overrides.mak
echo CFLAGS=$(ENGINEOPTS) >> $(EOBJ)\overrides.mak echo CFLAGS=$(ENGINEOPTS) >> $(EOBJ)\overrides.mak
echo WINBITS=$(WINBITS) >> $(EOBJ)\overrides.mak
cd $(EROOT) cd $(EROOT)
nmake /f Makefile.msvc "OVERRIDES=$(MAKEDIR)\$(EOBJ)\overrides.mak" $@ nmake /f Makefile.msvc "OVERRIDES=$(MAKEDIR)\$(EOBJ)\overrides.mak" $@
cd $(MAKEDIR) cd $(MAKEDIR)
@ -198,6 +210,7 @@ $(ENETDIR)\$(ENETLIB): enet ;
clean: clean:
-del /Q $(OBJ)\* eduke32$(EXESUFFIX) mapster32$(EXESUFFIX) \ -del /Q $(OBJ)\* eduke32$(EXESUFFIX) mapster32$(EXESUFFIX) \
*.pdb *.map *.manifest *.pdb *.map *.manifest
-copy /y nul $(OBJ)\keep.me
cd $(JAUDIOLIBDIR) cd $(JAUDIOLIBDIR)
nmake /f Makefile.msvc clean nmake /f Makefile.msvc clean
cd $(MAKEDIR)\$(ENETDIR) cd $(MAKEDIR)\$(ENETDIR)
@ -206,3 +219,4 @@ clean:
veryclean: clean veryclean: clean
-del /Q $(EOBJ)\* -del /Q $(EOBJ)\*
-copy /y nul $(EOBJ)\keep.me

View file

@ -9,15 +9,16 @@ OBJ=obj.msc
!endif !endif
INC=include\ # INC=include\ #
!ifndef CFLAGS !ifndef CFLAGS
CFLAGS=/DUSE_OPENGL /DPOLYMER CFLAGS=/DUSE_OPENGL /DPOLYMER /DUSE_LIBPNG
!endif !endif
o=obj o=obj
res=res res=res
asm=masm asm=masm
# When we support 64-bit targets with MSVC, if a 64-bit build is selected: !if ($(WINBITS)==64)
# NOASM=1 NOASM=1
!endif
ENGINELIB=engine.lib ENGINELIB=engine.lib
EDITORLIB=build.lib EDITORLIB=build.lib

View file

@ -133,6 +133,7 @@
#if _MSC_VER < 1800 #if _MSC_VER < 1800
# define inline __inline # define inline __inline
# ifndef _WIN64
static inline float nearbyintf(float x) static inline float nearbyintf(float x)
{ {
uint32_t w1, w2; uint32_t w1, w2;
@ -147,6 +148,16 @@ static inline float nearbyintf(float x)
fldcw w1 fldcw w1
} }
} }
# else
#include <math.h>
static inline float nearbyintf(float x)
{
if (x >= 0.0)
return floorf(x + 0.5);
else
return floorf(x - 0.5);
}
# endif
#endif #endif
#else #else
# define longlong(x) x##ll # define longlong(x) x##ll

View file

@ -11,7 +11,7 @@ extern int32_t kprender (const char *, int32_t, intptr_t, int32_t, int32_t, int3
//ZIP functions: //ZIP functions:
extern int32_t kzaddstack (const char *); extern int32_t kzaddstack (const char *);
extern void kzuninit (); extern void kzuninit ();
extern int32_t kzopen (const char *); extern intptr_t kzopen (const char *);
extern int32_t kzread (void *, int32_t); extern int32_t kzread (void *, int32_t);
extern int32_t kzfilelength (); extern int32_t kzfilelength ();
extern int32_t kzseek (int32_t, int32_t); extern int32_t kzseek (int32_t, int32_t);

View file

@ -166,9 +166,6 @@ static int16_t *dotp1[MAXYDIM], *dotp2[MAXYDIM];
static int8_t tempbuf[MAXWALLS]; static int8_t tempbuf[MAXWALLS];
// referenced from asm // referenced from asm
#ifdef __cplusplus
extern "C" {
#endif
int32_t ebpbak, espbak; int32_t ebpbak, espbak;
int32_t reciptable[2048], fpuasm; int32_t reciptable[2048], fpuasm;
intptr_t asm1, asm2, asm3, asm4, palookupoffse[4]; intptr_t asm1, asm2, asm3, asm4, palookupoffse[4];
@ -177,9 +174,6 @@ int32_t vince[4];
intptr_t bufplce[4]; intptr_t bufplce[4];
int32_t globaltilesizy; int32_t globaltilesizy;
int32_t globalx1, globaly2, globalx3, globaly3; int32_t globalx1, globaly2, globalx3, globaly3;
#ifdef __cplusplus
};
#endif
static intptr_t slopalookup[16384]; // was 2048 static intptr_t slopalookup[16384]; // was 2048
#if defined(USE_OPENGL) #if defined(USE_OPENGL)

View file

@ -18,12 +18,12 @@
# define YAX_MAXDRAWS 8 # define YAX_MAXDRAWS 8
#endif #endif
#ifdef __cplusplus #ifdef EXTERNC
extern "C" { extern "C" {
#endif #endif
extern intptr_t asm1, asm2, asm3, asm4; extern intptr_t asm1, asm2, asm3, asm4;
extern int32_t globalx1, globaly2; extern int32_t globalx1, globaly2;
#ifdef __cplusplus #ifdef EXTERNC
}; };
#endif #endif

View file

@ -1,7 +1,7 @@
#include <stdio.h> #include <stdio.h>
#define WIN32_LEAN_AND_MEAN #define WIN32_LEAN_AND_MEAN
#include <windows.h> #include <windows.h>
#include <ddraw.h> #include "dx/ddraw.h"
#include "compat.h" #include "compat.h"

View file

@ -5,7 +5,7 @@
#define INITGUID #define INITGUID
#define DIRECTINPUT_VERSION 0x0700 #define DIRECTINPUT_VERSION 0x0700
#include <windows.h> #include <windows.h>
#include <dinput.h> #include "dx/dinput.h"
#include <stdio.h> #include <stdio.h>
#include "compat.h" #include "compat.h"

View file

@ -33,8 +33,8 @@
#endif #endif
#include <windows.h> #include <windows.h>
#include <ddraw.h> #include "dx/ddraw.h"
#include <dinput.h> #include "dx/dinput.h"
#ifndef DIK_PAUSE #ifndef DIK_PAUSE
# define DIK_PAUSE 0xC5 # define DIK_PAUSE 0xC5
#endif #endif

View file

@ -6,13 +6,19 @@ EndProject
Global Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Win32 = Debug|Win32 Debug|Win32 = Debug|Win32
Debug|x64 = Debug|x64
Release|Win32 = Release|Win32 Release|Win32 = Release|Win32
Release|x64 = Release|x64
EndGlobalSection EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution GlobalSection(ProjectConfigurationPlatforms) = postSolution
{8E7A6179-0B72-4073-8A4C-E8682D481DAE}.Debug|Win32.ActiveCfg = Debug|Win32 {8E7A6179-0B72-4073-8A4C-E8682D481DAE}.Debug|Win32.ActiveCfg = Debug|Win32
{8E7A6179-0B72-4073-8A4C-E8682D481DAE}.Debug|Win32.Build.0 = Debug|Win32 {8E7A6179-0B72-4073-8A4C-E8682D481DAE}.Debug|Win32.Build.0 = Debug|Win32
{8E7A6179-0B72-4073-8A4C-E8682D481DAE}.Release|Win32.ActiveCfg = Release|Win32 {8E7A6179-0B72-4073-8A4C-E8682D481DAE}.Release|Win32.ActiveCfg = Release|Win32
{8E7A6179-0B72-4073-8A4C-E8682D481DAE}.Release|Win32.Build.0 = Release|Win32 {8E7A6179-0B72-4073-8A4C-E8682D481DAE}.Release|Win32.Build.0 = Release|Win32
{8E7A6179-0B72-4073-8A4C-E8682D481DAE}.Debug|x64.ActiveCfg = Debug|x64
{8E7A6179-0B72-4073-8A4C-E8682D481DAE}.Debug|x64.Build.0 = Debug|x64
{8E7A6179-0B72-4073-8A4C-E8682D481DAE}.Release|x64.ActiveCfg = Release|x64
{8E7A6179-0B72-4073-8A4C-E8682D481DAE}.Release|x64.Build.0 = Release|x64
EndGlobalSection EndGlobalSection
GlobalSection(SolutionProperties) = preSolution GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE HideSolutionNode = FALSE

View file

@ -9,6 +9,14 @@
<Configuration>Release</Configuration> <Configuration>Release</Configuration>
<Platform>Win32</Platform> <Platform>Win32</Platform>
</ProjectConfiguration> </ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup> </ItemGroup>
<PropertyGroup Label="Globals"> <PropertyGroup Label="Globals">
<ProjectGuid>{8E7A6179-0B72-4073-8A4C-E8682D481DAE}</ProjectGuid> <ProjectGuid>{8E7A6179-0B72-4073-8A4C-E8682D481DAE}</ProjectGuid>
@ -18,9 +26,17 @@
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration"> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>Makefile</ConfigurationType> <ConfigurationType>Makefile</ConfigurationType>
<PlatformToolset>v110</PlatformToolset>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration"> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>Makefile</ConfigurationType> <ConfigurationType>Makefile</ConfigurationType>
<PlatformToolset>v110</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>Makefile</ConfigurationType>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>Makefile</ConfigurationType>
</PropertyGroup> </PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings"> <ImportGroup Label="ExtensionSettings">
@ -31,33 +47,61 @@
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets"> <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup> </ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros" /> <PropertyGroup Label="UserMacros" />
<PropertyGroup> <PropertyGroup>
<_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion> <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Configuration)\</OutDir> <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Configuration)\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Configuration)\</IntDir> <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Configuration)\</IntDir>
<NMakeBuildCommandLine Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">nmake /f Makefile.msvc DEBUG=1</NMakeBuildCommandLine> <NMakeBuildCommandLine Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">nmake /f Makefile.msvc DEBUG=1 WINBITS=32</NMakeBuildCommandLine>
<NMakeReBuildCommandLine Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">nmake /f Makefile.msvc veryclean all DEBUG=1</NMakeReBuildCommandLine> <NMakeReBuildCommandLine Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">nmake /f Makefile.msvc veryclean all DEBUG=1 WINBITS=32</NMakeReBuildCommandLine>
<NMakeCleanCommandLine Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">nmake /f Makefile.msvc veryclean</NMakeCleanCommandLine> <NMakeCleanCommandLine Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">nmake /f Makefile.msvc veryclean WINBITS=32</NMakeCleanCommandLine>
<NMakeOutput Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">eduke32.exe</NMakeOutput> <NMakeOutput Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">eduke32.exe</NMakeOutput>
<NMakePreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">WIN32;_DEBUG;SUPERBUILD;POLYMOST;POLYMER;USE_OPENGL;NOCOPYPROTECT;RENDERTYPEWIN;$(NMakePreprocessorDefinitions)</NMakePreprocessorDefinitions> <NMakePreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(NMakePreprocessorDefinitions)</NMakePreprocessorDefinitions>
<NMakeIncludeSearchPath Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(NMakeIncludeSearchPath);build\include;source\jmact;source\jaudiolib\include;source\enet\include;</NMakeIncludeSearchPath> <NMakeIncludeSearchPath Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(NMakeIncludeSearchPath);build\include;source\jmact;source\jaudiolib\include;source\enet\include;</NMakeIncludeSearchPath>
<NMakeForcedIncludes Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(NMakeForcedIncludes)</NMakeForcedIncludes> <NMakeForcedIncludes Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(NMakeForcedIncludes)</NMakeForcedIncludes>
<NMakeAssemblySearchPath Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(NMakeAssemblySearchPath)</NMakeAssemblySearchPath> <NMakeAssemblySearchPath Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(NMakeAssemblySearchPath)</NMakeAssemblySearchPath>
<NMakeForcedUsingAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(NMakeForcedUsingAssemblies)</NMakeForcedUsingAssemblies> <NMakeForcedUsingAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(NMakeForcedUsingAssemblies)</NMakeForcedUsingAssemblies>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Configuration)\</OutDir> <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Configuration)\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Configuration)\</IntDir> <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Configuration)\</IntDir>
<NMakeBuildCommandLine Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">nmake /f Makefile.msvc</NMakeBuildCommandLine> <NMakeBuildCommandLine Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">nmake /f Makefile.msvc WINBITS=32</NMakeBuildCommandLine>
<NMakeReBuildCommandLine Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">nmake /f Makefile.msvc veryclean all</NMakeReBuildCommandLine> <NMakeReBuildCommandLine Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">nmake /f Makefile.msvc veryclean all WINBITS=32</NMakeReBuildCommandLine>
<NMakeCleanCommandLine Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">nmake /f Makefile.msvc veryclean</NMakeCleanCommandLine> <NMakeCleanCommandLine Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">nmake /f Makefile.msvc veryclean WINBITS=32</NMakeCleanCommandLine>
<NMakeOutput Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">eduke32.exe</NMakeOutput> <NMakeOutput Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">eduke32.exe</NMakeOutput>
<NMakePreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">WIN32;_DEBUG;SUPERBUILD;POLYMOST;POLYMER;USE_OPENGL;NOCOPYPROTECT;RENDERTYPEWIN;$(NMakePreprocessorDefinitions)</NMakePreprocessorDefinitions> <NMakePreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(NMakePreprocessorDefinitions)</NMakePreprocessorDefinitions>
<NMakeIncludeSearchPath Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(NMakeIncludeSearchPath);build\include;source\jmact;source\jaudiolib\include;source\enet\include;</NMakeIncludeSearchPath> <NMakeIncludeSearchPath Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(NMakeIncludeSearchPath);build\include;source\jmact;source\jaudiolib\include;source\enet\include;</NMakeIncludeSearchPath>
<NMakeForcedIncludes Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(NMakeForcedIncludes)</NMakeForcedIncludes> <NMakeForcedIncludes Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(NMakeForcedIncludes)</NMakeForcedIncludes>
<NMakeAssemblySearchPath Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(NMakeAssemblySearchPath)</NMakeAssemblySearchPath> <NMakeAssemblySearchPath Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(NMakeAssemblySearchPath)</NMakeAssemblySearchPath>
<NMakeForcedUsingAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(NMakeForcedUsingAssemblies)</NMakeForcedUsingAssemblies> <NMakeForcedUsingAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(NMakeForcedUsingAssemblies)</NMakeForcedUsingAssemblies>
<IncludePath Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">u:\SDKs\oggvorbis-win32sdk-1.0.1\include;$(IncludePath)</IncludePath>
<SourcePath Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(SourcePath)</SourcePath> <SourcePath Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(SourcePath)</SourcePath>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Configuration)\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Configuration)\</IntDir>
<NMakeBuildCommandLine Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">nmake /f Makefile.msvc DEBUG=1 WINBITS=64</NMakeBuildCommandLine>
<NMakeReBuildCommandLine Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">nmake /f Makefile.msvc veryclean all DEBUG=1 WINBITS=64</NMakeReBuildCommandLine>
<NMakeCleanCommandLine Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">nmake /f Makefile.msvc veryclean WINBITS=64</NMakeCleanCommandLine>
<NMakeOutput Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">eduke32.exe</NMakeOutput>
<NMakePreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(NMakePreprocessorDefinitions)</NMakePreprocessorDefinitions>
<NMakeIncludeSearchPath Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(NMakeIncludeSearchPath);build\include;source\jmact;source\jaudiolib\include;source\enet\include;</NMakeIncludeSearchPath>
<NMakeForcedIncludes Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(NMakeForcedIncludes)</NMakeForcedIncludes>
<NMakeAssemblySearchPath Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(NMakeAssemblySearchPath)</NMakeAssemblySearchPath>
<NMakeForcedUsingAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(NMakeForcedUsingAssemblies)</NMakeForcedUsingAssemblies>
<OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Configuration)\</OutDir>
<IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Configuration)\</IntDir>
<NMakeBuildCommandLine Condition="'$(Configuration)|$(Platform)'=='Release|x64'">nmake /f Makefile.msvc WINBITS=64</NMakeBuildCommandLine>
<NMakeReBuildCommandLine Condition="'$(Configuration)|$(Platform)'=='Release|x64'">nmake /f Makefile.msvc veryclean all WINBITS=64</NMakeReBuildCommandLine>
<NMakeCleanCommandLine Condition="'$(Configuration)|$(Platform)'=='Release|x64'">nmake /f Makefile.msvc veryclean WINBITS=64</NMakeCleanCommandLine>
<NMakeOutput Condition="'$(Configuration)|$(Platform)'=='Release|x64'">eduke32.exe</NMakeOutput>
<NMakePreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(NMakePreprocessorDefinitions)</NMakePreprocessorDefinitions>
<NMakeIncludeSearchPath Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(NMakeIncludeSearchPath);build\include;source\jmact;source\jaudiolib\include;source\enet\include;</NMakeIncludeSearchPath>
<NMakeForcedIncludes Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(NMakeForcedIncludes)</NMakeForcedIncludes>
<NMakeAssemblySearchPath Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(NMakeAssemblySearchPath)</NMakeAssemblySearchPath>
<NMakeForcedUsingAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(NMakeForcedUsingAssemblies)</NMakeForcedUsingAssemblies>
<SourcePath Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(SourcePath)</SourcePath>
</PropertyGroup> </PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<BuildLog> <BuildLog>
@ -71,6 +115,18 @@
</Path> </Path>
</BuildLog> </BuildLog>
</ItemDefinitionGroup> </ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<BuildLog>
<Path>
</Path>
</BuildLog>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<BuildLog>
<Path>
</Path>
</BuildLog>
</ItemDefinitionGroup>
<ItemGroup> <ItemGroup>
<ClInclude Include="build\include\a.h" /> <ClInclude Include="build\include\a.h" />
<ClInclude Include="build\include\baselayer.h" /> <ClInclude Include="build\include\baselayer.h" />

View file

@ -6,6 +6,11 @@
* Content: DirectDraw include file * Content: DirectDraw include file
* *
***************************************************************************/ ***************************************************************************/
#ifdef _MSC_VER
# include <ddraw.h>
#else
// from: http://alleg.sourceforge.net/files/dx9mgw.zip // from: http://alleg.sourceforge.net/files/dx9mgw.zip
#ifndef __DDRAW_INCLUDED__ #ifndef __DDRAW_INCLUDED__
@ -5792,4 +5797,4 @@ typedef struct _DDCOLORCONTROL
#endif //__DDRAW_INCLUDED__ #endif //__DDRAW_INCLUDED__
#endif

View file

@ -6,6 +6,11 @@
* Content: DirectInput include file * Content: DirectInput include file
* *
****************************************************************************/ ****************************************************************************/
#ifdef _MSC_VER
# include <dinput.h>
#else
// from: http://alleg.sourceforge.net/files/dx9mgw.zip // from: http://alleg.sourceforge.net/files/dx9mgw.zip
#ifndef __DINPUT_INCLUDED__ #ifndef __DINPUT_INCLUDED__
@ -4418,3 +4423,4 @@ typedef void (WINAPI* LPFNSHOWJOYCPL)( HWND hWnd );
#endif /* DIJ_RINGZERO */ #endif /* DIJ_RINGZERO */
#endif

View file

@ -6,6 +6,11 @@
* Content: DirectSound include file * Content: DirectSound include file
* *
**************************************************************************/ **************************************************************************/
#ifdef _MSC_VER
# include <dsound.h>
#else
// from: http://alleg.sourceforge.net/files/dx9mgw.zip // from: http://alleg.sourceforge.net/files/dx9mgw.zip
#define COM_NO_WINDOWS_H #define COM_NO_WINDOWS_H
@ -2351,4 +2356,4 @@ DEFINE_GUID(GUID_DSCFX_SYSTEM_NS, 0x5ab0882e, 0x7274, 0x4516, 0x87, 0x7d, 0x4e,
}; };
#endif // __cplusplus #endif // __cplusplus
#endif

View file

@ -1,6 +1,6 @@
#define DIRECTINPUT_VERSION 0x0700 #define DIRECTINPUT_VERSION 0x0700
#include <dinput.h> #include "dx/dinput.h"
/* This is a replacement for parts of dinput.lib. */ /* This is a replacement for parts of dinput.lib. */
DIOBJECTDATAFORMAT rgodf_c_dfDIKeyboard[] = { DIOBJECTDATAFORMAT rgodf_c_dfDIKeyboard[] = {

View file

@ -1,6 +1,6 @@
#define DIRECTINPUT_VERSION 0x0700 #define DIRECTINPUT_VERSION 0x0700
#include <dinput.h> #include "dx/dinput.h"
/* This is a replacement for Microsoft's dxguid.lib. */ /* This is a replacement for Microsoft's dxguid.lib. */
#undef DEFINE_GUID #undef DEFINE_GUID

View file

@ -1,6 +1,6 @@
#define DIRECTINPUT_VERSION 0x0700 #define DIRECTINPUT_VERSION 0x0700
#include <dinput.h> #include "dx/dinput.h"
#undef DEFINE_GUID #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}} #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}}

View file

@ -1,5 +1,7 @@
/* ANM file replacement with VP8 video */ /* ANM file replacement with VP8 video */
#ifdef USE_LIBVPX
#define __STDC_FORMAT_MACROS #define __STDC_FORMAT_MACROS
#define __STDC_LIMIT_MACROS #define __STDC_LIMIT_MACROS
@ -542,3 +544,5 @@ void animvpx_print_stats(const animvpx_codec_ctx *codec)
n, (double)s[0]/n, m[0], (double)s[1]/n, m[1], (double)s[2]/n, m[2]); n, (double)s[0]/n, m[0], (double)s[1]/n, m[1], (double)s[2]/n, m[2]);
} }
} }
#endif

View file

@ -18,14 +18,15 @@ flags_lib=/LTCG
CC=cl CC=cl
LINK=link /opt:ref /nologo LINK=link /opt:ref /nologo
VORBISSDK=C:\SDKs\oggvorbis-win32sdk-1.0.1 PLATFORM=..\..\platform\Windows
AUDIOINC=third-party\common
CFLAGS=$(CFLAGS) /nologo /MT /J $(flags_cl) $(TARGETOPTS) /I$(INC) /I$(SRC) /I"$(VORBISSDK)\include" CFLAGS=$(CFLAGS) /nologo /MT /J $(flags_cl) $(TARGETOPTS) /I$(INC) /I$(SRC) /I$(PLATFORM)\include /I$(AUDIOINC)\include
!ifdef DEBUG !ifdef DEBUG
CFLAGS=$(CFLAGS) /DDEBUGGINGAIDS CFLAGS=$(CFLAGS) /DDEBUGGINGAIDS
!endif !endif
CFLAGS=$(CFLAGS) /DRENDERTYPE$(RENDERTYPE)=1 /D "_CRT_SECURE_NO_DEPRECATE" /W2 /DHAVE_VORBIS /Iinclude/msvc /DWIN32 /DHAVE_DS CFLAGS=$(CFLAGS) /DRENDERTYPEWIN=1 /DMIXERTYPEWIN=1 /D "_CRT_SECURE_NO_DEPRECATE" /W2 /Iinclude/msvc /DHAVE_DS /DHAVE_VORBIS /DHAVE_FLAC
OBJECTS=$(OBJ)\drivers.o \ OBJECTS=$(OBJ)\drivers.o \
$(OBJ)\fx_man.o \ $(OBJ)\fx_man.o \
@ -35,6 +36,7 @@ OBJECTS=$(OBJ)\drivers.o \
$(OBJ)\pitch.o \ $(OBJ)\pitch.o \
$(OBJ)\formats.o \ $(OBJ)\formats.o \
$(OBJ)\vorbis.o \ $(OBJ)\vorbis.o \
$(OBJ)\flac.o \
$(OBJ)\xa.o \ $(OBJ)\xa.o \
$(OBJ)\driver_nosound.o \ $(OBJ)\driver_nosound.o \
$(OBJ)\driver_directsound.o $(OBJ)\driver_directsound.o

View file

@ -32,7 +32,7 @@
#include <windows.h> #include <windows.h>
#include <mmsystem.h> #include <mmsystem.h>
#include <dsound.h> #include "dx/dsound.h"
#include <stdlib.h> #include <stdlib.h>
#include <stdio.h> #include <stdio.h>

View file

@ -24,6 +24,8 @@
#ifdef HAVE_FLAC #ifdef HAVE_FLAC
#define FLAC__NO_DLL
#ifdef __APPLE__ #ifdef __APPLE__
# include <FLAC/all.h> # include <FLAC/all.h>
#else #else