Holy fucking shit I don't want to work on this. Sibly, you son of a ...

This commit is contained in:
Michael Fabain Dirks
2016-05-07 22:49:54 +02:00
parent b75ca4142c
commit aa22d21fb5
2577 changed files with 166501 additions and 194685 deletions
BIN
View File
Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

+291
View File
@@ -0,0 +1,291 @@
#pragma warning( disable:4786 )
#include "bbruntime_dll.h"
#include "../debugger/debugger.h"
using namespace std;
#include <map>
#include <eh.h>
#include <float.h>
#include "../RuntimeLib/bbruntime.h"
class DummyDebugger : public Debugger{
public:
virtual void debugRun(){}
virtual void debugStop(){}// bbruntime_panic(0); }
virtual void debugStmt( int srcpos,const char *file ){}
virtual void debugEnter( void *frame,void *env,const char *func ){}
virtual void debugLeave(){}
virtual void debugLog( const char *msg ){}
virtual void debugMsg( const char *e,bool serious ){
if( serious ) MessageBox( 0,e,"Error!",MB_OK|MB_TOPMOST|MB_SETFOREGROUND );
}
virtual void debugSys( void *msg ){}
};
static HINSTANCE hinst;
static map<const char*,void*> syms;
map<const char*,void*>::iterator sym_it;
static gxRuntime *gx_runtime;
static void rtSym( const char *sym,void *pc ){
syms[sym]=pc;
}
static void _cdecl seTranslator( unsigned int u,EXCEPTION_POINTERS* pExp ){
switch( u ){
case EXCEPTION_INT_DIVIDE_BY_ZERO:
bbruntime_panic( "Integer divide by zero" );
case EXCEPTION_ACCESS_VIOLATION:
bbruntime_panic( "Memory access violation" );
case EXCEPTION_ILLEGAL_INSTRUCTION:
bbruntime_panic( "Illegal instruction" );
case EXCEPTION_STACK_OVERFLOW:
bbruntime_panic( "Stack overflow!" );
}
bbruntime_panic( "Unknown runtime exception" );
}
int Runtime::version(){
return VERSION;
}
const char *Runtime::nextSym(){
if( !syms.size() ){
bbruntime_link( rtSym );
sym_it=syms.begin();
}
if( sym_it==syms.end() ){
syms.clear();return 0;
}
return (sym_it++)->first;
}
int Runtime::symValue( const char *sym ){
map<const char*,void*>::iterator it=syms.find( sym );
if( it!=syms.end() ) return (int)it->second;
return -1;
}
void Runtime::startup( HINSTANCE h ){
hinst=h;
}
void Runtime::shutdown(){
trackmem( false );
syms.clear();
}
void Runtime::execute( void (*pc)(),const char *args,Debugger *dbg ){
bool debug=!!dbg;
static DummyDebugger dummydebug;
if( !dbg ) dbg=&dummydebug;
trackmem( true );
_se_translator_function old_trans=_set_se_translator( seTranslator );
_control87( _RC_NEAR|_PC_24|_EM_INVALID|_EM_ZERODIVIDE|_EM_OVERFLOW|_EM_UNDERFLOW|_EM_INEXACT|_EM_DENORMAL,0xfffff );
//strip spaces from ends of args...
string params=args;
while( params.size() && params[0]==' ' ) params=params.substr( 1 );
while( params.size() && params[params.size()-1]==' ' ) params=params.substr( 0,params.size()-1 );
if( gx_runtime=gxRuntime::openRuntime( hinst,params,dbg ) ){
bbruntime_run( gx_runtime,pc,debug );
gxRuntime *t=gx_runtime;
gx_runtime=0;
gxRuntime::closeRuntime( t );
}
_control87( _CW_DEFAULT,0xfffff );
_set_se_translator( old_trans );
}
void Runtime::asyncStop(){
if( gx_runtime ) gx_runtime->asyncStop();
}
void Runtime::asyncRun(){
if( gx_runtime ) gx_runtime->asyncRun();
}
void Runtime::asyncEnd(){
if( gx_runtime ) gx_runtime->asyncEnd();
}
void Runtime::checkmem( streambuf *buf ){
ostream out( buf );
::checkmem( out );
}
Runtime *_cdecl runtimeGetRuntime(){
static Runtime runtime;
return &runtime;
}
/********************** BUTT UGLY DLL->EXE HOOK! *************************/
static void *module_pc;
static map<string,int> module_syms;
static map<string,int> runtime_syms;
static Runtime *runtime;
static void fail(){
MessageBox( 0,"Unable to run Blitz Basic module",0,0 );
ExitProcess(-1);
}
struct Sym{
string name;
int value;
};
static Sym getSym( void **p ){
Sym sym;
char *t=(char*)*p;
while( char c=*t++ ) sym.name+=c;
sym.value=*(int*)t+(int)module_pc;
*p=t+4;return sym;
}
static int findSym( const string &t ){
map<string,int>::iterator it;
it=module_syms.find( t );
if( it!=module_syms.end() ) return it->second;
it=runtime_syms.find( t );
if( it!=runtime_syms.end() ) return it->second;
string err="Can't find symbol: "+t;
MessageBox( 0,err.c_str(),0,0 );
ExitProcess(0);
return 0;
}
static void link(){
while( const char *sc=runtime->nextSym() ){
string t(sc);
if( t[0]=='_' ){
runtime_syms["_"+t]=runtime->symValue(sc);
continue;
}
if( t[0]=='!' ) t=t.substr(1);
if( !isalnum(t[0]) ) t=t.substr(1);
for( int k=0;k<t.size();++k ){
if( isalnum(t[k]) || t[k]=='_' ) continue;
t=t.substr( 0,k );break;
}
runtime_syms["_f"+tolower(t)]=runtime->symValue(sc);
}
HRSRC hres=FindResource( 0,MAKEINTRESOURCE(1111),RT_RCDATA );if( !hres ) fail();
HGLOBAL hglo=LoadResource( 0,hres );if( !hglo ) fail();
void *p=LockResource( hglo );if( !p ) fail();
int sz=*(int*)p;p=(int*)p+1;
//replace malloc for service pack 2 Data Execution Prevention (DEP).
module_pc=VirtualAlloc( 0,sz,MEM_COMMIT|MEM_RESERVE,PAGE_EXECUTE_READWRITE );
memcpy( module_pc,p,sz );
p=(char*)p+sz;
int k,cnt;
cnt=*(int*)p;p=(int*)p+1;
for( k=0;k<cnt;++k ){
Sym sym=getSym( &p );
if( sym.value<(int)module_pc || sym.value>=(int)module_pc+sz ) fail();
module_syms[sym.name]=sym.value;
}
cnt=*(int*)p;p=(int*)p+1;
for( k=0;k<cnt;++k ){
Sym sym=getSym( &p );
int *pp=(int*)sym.value;
int dest=findSym( sym.name );
*pp+=dest-(int)pp;
}
cnt=*(int*)p;p=(int*)p+1;
for( k=0;k<cnt;++k ){
Sym sym=getSym( &p );
int *pp=(int*)sym.value;
int dest=findSym( sym.name );
*pp+=dest;
}
runtime_syms.clear();
module_syms.clear();
}
extern "C" _declspec(dllexport) int _stdcall bbWinMain();
extern "C" BOOL _stdcall _DllMainCRTStartup( HANDLE,DWORD,LPVOID );
bool WINAPI DllMain( HANDLE module,DWORD reason,void *reserved ){
return TRUE;
}
int __stdcall bbWinMain(){
HINSTANCE inst=GetModuleHandle( 0 );
_DllMainCRTStartup( inst,DLL_PROCESS_ATTACH,0 );
#ifdef BETA
int ver=VERSION & 0x7fff;
string t="Created with Blitz3D Beta V"+itoa( ver/100 )+"."+itoa( ver%100 );
MessageBox( GetDesktopWindow(),t.c_str(),"Blitz3D Message",MB_OK );
#endif
#ifdef SCHOOLS
MessageBox( GetDesktopWindow(),"Created with the schools version of Blitz Basic","Blitz Basic Message",MB_OK );
#endif
runtime=runtimeGetRuntime();
runtime->startup( inst );
link();
//get cmd_line and params
string cmd=GetCommandLine(),params;
while( cmd.size() && cmd[0]==' ' ) cmd=cmd.substr( 1 );
if( cmd.find( '\"' )==0 ){
int n=cmd.find( '\"',1 );
if( n!=string::npos ){
params=cmd.substr( n+1 );
cmd=cmd.substr( 1,n-1 );
}
}else{
int n=cmd.find( ' ' );
if( n!=string::npos ){
params=cmd.substr( n+1 );
cmd=cmd.substr( 0,n );
}
}
runtime->execute( (void(*)())module_pc,params.c_str(),0 );
runtime->shutdown();
_DllMainCRTStartup( inst,DLL_PROCESS_DETACH,0 );
ExitProcess(0);
return 0;
}
+191
View File
@@ -0,0 +1,191 @@
# Microsoft Developer Studio Project File - Name="bbruntime_dll" - Package Owner=<4>
# Microsoft Developer Studio Generated Build File, Format Version 6.00
# ** DO NOT EDIT **
# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
CFG=bbruntime_dll - Win32 Debug
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
!MESSAGE use the Export Makefile command and run
!MESSAGE
!MESSAGE NMAKE /f "bbruntime_dll.mak".
!MESSAGE
!MESSAGE You can specify a configuration when running NMAKE
!MESSAGE by defining the macro CFG on the command line. For example:
!MESSAGE
!MESSAGE NMAKE /f "bbruntime_dll.mak" CFG="bbruntime_dll - Win32 Debug"
!MESSAGE
!MESSAGE Possible choices for configuration are:
!MESSAGE
!MESSAGE "bbruntime_dll - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
!MESSAGE "bbruntime_dll - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
!MESSAGE "bbruntime_dll - Win32 Blitz3DRelease" (based on "Win32 (x86) Dynamic-Link Library")
!MESSAGE "bbruntime_dll - Win32 Blitz2DRelease" (based on "Win32 (x86) Dynamic-Link Library")
!MESSAGE
# Begin Project
# PROP AllowPerConfigDependencies 0
# PROP Scc_ProjName ""
# PROP Scc_LocalPath ""
CPP=cl.exe
MTL=midl.exe
RSC=rc.exe
!IF "$(CFG)" == "bbruntime_dll - Win32 Release"
# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 0
# PROP BASE Output_Dir "Release"
# PROP BASE Intermediate_Dir "Release"
# PROP BASE Target_Dir ""
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 0
# PROP Output_Dir "Release"
# PROP Intermediate_Dir "Release"
# PROP Ignore_Export_Lib 0
# PROP Target_Dir ""
# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "BBRUNTIME_DLL_EXPORTS" /YX /FD /c
# ADD CPP /nologo /MT /W3 /GX /O1 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "BBRUNTIME_DLL_EXPORTS" /FA /YX /FD /c
# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
# ADD BASE RSC /l 0x409 /d "NDEBUG"
# ADD RSC /l 0x409 /d "NDEBUG"
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386
# ADD LINK32 wsock32.lib winmm.lib dxguid.lib d3dxof.lib dplayx.lib ddraw.lib dinput.lib dsound.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386 /force /out:"..\blitzbasic\bin\runtime.dll"
!ELSEIF "$(CFG)" == "bbruntime_dll - Win32 Debug"
# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 1
# PROP BASE Output_Dir "Debug"
# PROP BASE Intermediate_Dir "Debug"
# PROP BASE Target_Dir ""
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 1
# PROP Output_Dir "Debug"
# PROP Intermediate_Dir "Debug"
# PROP Ignore_Export_Lib 0
# PROP Target_Dir ""
# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "BBRUNTIME_DLL_EXPORTS" /YX /FD /GZ /c
# ADD CPP /nologo /MTd /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "BBRUNTIME_DLL_EXPORTS" /YX /FD /GZ /c
# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
# ADD BASE RSC /l 0x409 /d "_DEBUG"
# ADD RSC /l 0x409 /d "_DEBUG"
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept
# ADD LINK32 wsock32.lib winmm.lib dxguid.lib d3dxof.lib dplayx.lib ddraw.lib dinput.lib dsound.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /incremental:no /debug /machine:I386 /out:"..\blitzbasic\bin\runtime.dll" /fixed:no
# SUBTRACT LINK32 /pdb:none
!ELSEIF "$(CFG)" == "bbruntime_dll - Win32 Blitz3DRelease"
# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 0
# PROP BASE Output_Dir "bbruntime_dll___Win32_Blitz3DRelease"
# PROP BASE Intermediate_Dir "bbruntime_dll___Win32_Blitz3DRelease"
# PROP BASE Ignore_Export_Lib 0
# PROP BASE Target_Dir ""
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 0
# PROP Output_Dir "bbruntime_dll___Win32_Blitz3DRelease"
# PROP Intermediate_Dir "bbruntime_dll___Win32_Blitz3DRelease"
# PROP Ignore_Export_Lib 0
# PROP Target_Dir ""
# ADD BASE CPP /nologo /MT /W3 /GX /O1 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "BBRUNTIME_DLL_EXPORTS" /FA /YX /FD /c
# ADD CPP /nologo /G6 /Gz /MT /W3 /GX /O1 /D "_WINDOWS" /D "_USRDLL" /D "BBRUNTIME_DLL_EXPORTS" /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "PRO" /FA /FD /c
# SUBTRACT CPP /YX
# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
# ADD BASE RSC /l 0x409 /d "NDEBUG"
# ADD RSC /l 0x409 /d "NDEBUG"
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32 wsock32.lib winmm.lib dxguid.lib d3dxof.lib dplayx.lib ddraw.lib dinput.lib dsound.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386 /force /out:"..\blitzbasic\bin\runtime.dll"
# ADD LINK32 wsock32.lib amstrmid.lib winmm.lib dxguid.lib d3dxof.lib dplayx.lib ddraw.lib dinput.lib dsound.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386 /force /out:"../_release/bin/runtime.dll"
!ELSEIF "$(CFG)" == "bbruntime_dll - Win32 Blitz2DRelease"
# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 0
# PROP BASE Output_Dir "bbruntime_dll___Win32_Blitz2DRelease"
# PROP BASE Intermediate_Dir "bbruntime_dll___Win32_Blitz2DRelease"
# PROP BASE Ignore_Export_Lib 0
# PROP BASE Target_Dir ""
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 0
# PROP Output_Dir "bbruntime_dll___Win32_Blitz2DRelease"
# PROP Intermediate_Dir "bbruntime_dll___Win32_Blitz2DRelease"
# PROP Ignore_Export_Lib 0
# PROP Target_Dir ""
# ADD BASE CPP /nologo /MT /W3 /GX /O1 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "BBRUNTIME_DLL_EXPORTS" /FA /YX /FD /c
# ADD CPP /nologo /MT /W3 /GX /O1 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "BBRUNTIME_DLL_EXPORTS" /FA /YX /FD /c
# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
# ADD BASE RSC /l 0x409 /d "NDEBUG"
# ADD RSC /l 0x409 /d "NDEBUG"
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32 wsock32.lib winmm.lib dxguid.lib d3dxof.lib dplayx.lib ddraw.lib dinput.lib dsound.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386 /force /out:"..\..\release\blitz3drelease\bin\runtime.dll"
# ADD LINK32 wsock32.lib winmm.lib dxguid.lib d3dxof.lib dplayx.lib ddraw.lib dinput.lib dsound.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386 /force /out:"..\..\release\blitz2drelease\bin\runtime.dll"
!ENDIF
# Begin Target
# Name "bbruntime_dll - Win32 Release"
# Name "bbruntime_dll - Win32 Debug"
# Name "bbruntime_dll - Win32 Blitz3DRelease"
# Name "bbruntime_dll - Win32 Blitz2DRelease"
# Begin Group "Source Files"
# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
# Begin Source File
SOURCE=.\bbruntime_dll.cpp
# End Source File
# Begin Source File
SOURCE=.\bbruntime_dll.rc
# End Source File
# End Group
# Begin Group "Header Files"
# PROP Default_Filter "h;hpp;hxx;hm;inl"
# Begin Source File
SOURCE=.\bbruntime_dll.h
# End Source File
# Begin Source File
SOURCE=.\resource.h
# End Source File
# End Group
# Begin Group "Resource Files"
# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
# Begin Source File
SOURCE=.\bbexe.ico
# End Source File
# End Group
# Begin Source File
SOURCE=..\..\FreeImage241\Source\FreeImageLib\Release\FreeImage.lib
# End Source File
# Begin Source File
SOURCE=..\..\fmodapi375win\api\lib\fmodvc.lib
# End Source File
# End Target
# End Project
+30
View File
@@ -0,0 +1,30 @@
/* Win32 runtime dynamic link lib */
#ifndef BBRUNTIME_DLL_H
#define BBRUNTIME_DLL_H
#include <windows.h>
#include "../stdutil/stdutil.h"
class Debugger;
class Runtime{
public:
virtual int version();
virtual const char *nextSym();
virtual int symValue( const char *sym );
virtual void startup( HINSTANCE hinst );
virtual void shutdown();
virtual void asyncStop();
virtual void asyncRun();
virtual void asyncEnd();
virtual void checkmem( std::streambuf *buf );
virtual void execute( void (*pc)(),const char *args,Debugger *dbg );
};
extern "C" _declspec(dllexport) Runtime * _cdecl runtimeGetRuntime();
#endif
+85
View File
@@ -0,0 +1,85 @@
//Microsoft Developer Studio generated resource script.
//
#include "resource.h"
#define APSTUDIO_READONLY_SYMBOLS
/////////////////////////////////////////////////////////////////////////////
//
// Generated from the TEXTINCLUDE 2 resource.
//
#include "afxres.h"
/////////////////////////////////////////////////////////////////////////////
#undef APSTUDIO_READONLY_SYMBOLS
/////////////////////////////////////////////////////////////////////////////
// English (U.S.) resources
#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
#ifdef _WIN32
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
#pragma code_page(1252)
#endif //_WIN32
#ifdef APSTUDIO_INVOKED
/////////////////////////////////////////////////////////////////////////////
//
// TEXTINCLUDE
//
1 TEXTINCLUDE DISCARDABLE
BEGIN
"resource.h\0"
END
2 TEXTINCLUDE DISCARDABLE
BEGIN
"#include ""afxres.h""\r\n"
"\0"
END
3 TEXTINCLUDE DISCARDABLE
BEGIN
"#include ""../bbruntime/multiplay_setup.rc""\r\n"
"\r\n"
"\0"
END
#endif // APSTUDIO_INVOKED
/////////////////////////////////////////////////////////////////////////////
//
// Data
//
IDR_BBMODULE RCDATA DISCARDABLE
BEGIN
0x0201, 0x0403
END
/////////////////////////////////////////////////////////////////////////////
//
// Icon
//
// Icon with lowest ID value placed first to ensure application icon
// remains consistent on all systems.
IDI_ICON1 ICON DISCARDABLE "bbexe.ico"
#endif // English (U.S.) resources
/////////////////////////////////////////////////////////////////////////////
#ifndef APSTUDIO_INVOKED
/////////////////////////////////////////////////////////////////////////////
//
// Generated from the TEXTINCLUDE 3 resource.
//
//#include "../bbruntime/multiplay_setup.rc"
/////////////////////////////////////////////////////////////////////////////
#endif // not APSTUDIO_INVOKED
+197
View File
@@ -0,0 +1,197 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<SccProjectName />
<SccLocalPath />
<ProjectGuid>{5FA2FD4A-F9A4-41BA-9484-07C3A57A87E3}</ProjectGuid>
<ProjectName>Runtime</ProjectName>
<WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<PlatformToolset>v140</PlatformToolset>
<UseOfMfc>false</UseOfMfc>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<PlatformToolset>v140</PlatformToolset>
<UseOfMfc>false</UseOfMfc>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="$(VCTargetsPath)Microsoft.Cpp.UpgradeFromVC60.props" />
</ImportGroup>
<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="$(VCTargetsPath)Microsoft.Cpp.UpgradeFromVC60.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<OutDir>..\#Test\bin\</OutDir>
<IntDir>..\#Intermediate\$(ProjectName)\$(ConfigurationName)\</IntDir>
<LinkIncremental>false</LinkIncremental>
<IncludePath>$(DXSDK_DIR)Include\;$(VC_IncludePath);$(WindowsSDK_IncludePath);</IncludePath>
<LibraryPath>$(DXSDK_DIR)Lib\x86\;$(VC_LibraryPath_x86);$(WindowsSDK_LibraryPath_x86);$(NETFXKitsDir)Lib\um\x86</LibraryPath>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<OutDir>..\#Test\bin\</OutDir>
<IntDir>..\#Intermediate\$(ProjectName)\$(ConfigurationName)\</IntDir>
<LinkIncremental>false</LinkIncremental>
<IncludePath>$(DXSDK_DIR)Include\;$(VC_IncludePath);$(WindowsSDK_IncludePath);</IncludePath>
<LibraryPath>$(DXSDK_DIR)Lib\x86\;$(VC_LibraryPath_x86);$(WindowsSDK_LibraryPath_x86);$(NETFXKitsDir)Lib\um\x86</LibraryPath>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<InlineFunctionExpansion>Default</InlineFunctionExpansion>
<FunctionLevelLinking>true</FunctionLevelLinking>
<Optimization>Disabled</Optimization>
<SuppressStartupBanner>true</SuppressStartupBanner>
<MinimalRebuild>true</MinimalRebuild>
<PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;WIN32;DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<StringPooling>true</StringPooling>
<FloatingPointExceptions>true</FloatingPointExceptions>
<CreateHotpatchableImage>true</CreateHotpatchableImage>
<CompileAsManaged>false</CompileAsManaged>
<CompileAsWinRT>false</CompileAsWinRT>
<SDLCheck>true</SDLCheck>
<ControlFlowGuard>Guard</ControlFlowGuard>
<WarningLevel>Level3</WarningLevel>
<IntrinsicFunctions>true</IntrinsicFunctions>
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
<EnforceTypeConversionRules>true</EnforceTypeConversionRules>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<OpenMPSupport>false</OpenMPSupport>
<CallingConvention>StdCall</CallingConvention>
</ClCompile>
<Midl>
<SuppressStartupBanner>true</SuppressStartupBanner>
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<TypeLibraryName>.\Debug\bbruntime_dll.tlb</TypeLibraryName>
<MkTypLibCompatible>true</MkTypLibCompatible>
<TargetEnvironment>Win32</TargetEnvironment>
</Midl>
<ResourceCompile>
<Culture>0x0409</Culture>
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ResourceCompile>
<Bscmake>
<SuppressStartupBanner>true</SuppressStartupBanner>
<OutputFile>.\Debug\bbruntime_dll.bsc</OutputFile>
</Bscmake>
<Link>
<SuppressStartupBanner>true</SuppressStartupBanner>
<LinkDLL>true</LinkDLL>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Console</SubSystem>
<ImportLibrary>.\Debug\runtime.lib</ImportLibrary>
<AdditionalOptions> /FIXED:NO</AdditionalOptions>
<AdditionalDependencies>dxguid.lib;d3dx9.lib;d3d9.lib;dsound.lib;dinput8.lib;ddraw.lib;wsock32.lib;winmm.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalLibraryDirectories>$(SolutionDir)#ThirdParty\;$(DXSDK_DIR)Lib\x86\;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<ImageHasSafeExceptionHandlers>false</ImageHasSafeExceptionHandlers>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
<StringPooling>true</StringPooling>
<FunctionLevelLinking>true</FunctionLevelLinking>
<Optimization>MaxSpeed</Optimization>
<SuppressStartupBanner>true</SuppressStartupBanner>
<WarningLevel>Level3</WarningLevel>
<PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;WIN32;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MinimalRebuild>true</MinimalRebuild>
<FloatingPointExceptions>true</FloatingPointExceptions>
<CreateHotpatchableImage>true</CreateHotpatchableImage>
<CompileAsManaged>false</CompileAsManaged>
<CompileAsWinRT>false</CompileAsWinRT>
<SDLCheck>false</SDLCheck>
<ControlFlowGuard>Guard</ControlFlowGuard>
<IntrinsicFunctions>true</IntrinsicFunctions>
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
<EnforceTypeConversionRules>false</EnforceTypeConversionRules>
<RuntimeTypeInfo>false</RuntimeTypeInfo>
<OpenMPSupport>false</OpenMPSupport>
<CallingConvention>StdCall</CallingConvention>
</ClCompile>
<Midl>
<SuppressStartupBanner>true</SuppressStartupBanner>
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<TypeLibraryName>.\Release\bbruntime_dll.tlb</TypeLibraryName>
<MkTypLibCompatible>true</MkTypLibCompatible>
<TargetEnvironment>Win32</TargetEnvironment>
</Midl>
<ResourceCompile>
<Culture>0x0409</Culture>
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ResourceCompile>
<Bscmake>
<SuppressStartupBanner>true</SuppressStartupBanner>
<OutputFile>.\Release\bbruntime_dll.bsc</OutputFile>
</Bscmake>
<Link>
<SuppressStartupBanner>true</SuppressStartupBanner>
<LinkDLL>true</LinkDLL>
<SubSystem>Console</SubSystem>
<ImportLibrary>.\Release\runtime.lib</ImportLibrary>
<AdditionalDependencies>dxguid.lib;d3dx9.lib;d3d9.lib;dsound.lib;dinput8.lib;ddraw.lib;wsock32.lib;winmm.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalLibraryDirectories>$(SolutionDir)#ThirdParty\;$(DXSDK_DIR)Lib\x86\;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<ImageHasSafeExceptionHandlers>false</ImageHasSafeExceptionHandlers>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="bbruntime_dll.cpp" />
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="bbruntime_dll.rc" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="bbruntime_dll.h" />
<ClInclude Include="resource.h" />
</ItemGroup>
<ItemGroup>
<Image Include="bbexe.ico" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\blitz3d\blitz3d.vcxproj">
<Project>{be0ba538-6215-4836-9227-1d3627e40d61}</Project>
</ProjectReference>
<ProjectReference Include="..\gxruntime\gxruntime.vcxproj">
<Project>{ff2d8bf7-1930-4cab-bc48-05cd33b7dc18}</Project>
</ProjectReference>
<ProjectReference Include="..\RuntimeLib\bbruntime.vcxproj">
<Project>{df8caa9d-7154-4d5f-bccc-0d7bb57c7354}</Project>
</ProjectReference>
<ProjectReference Include="..\stdutil\stdutil.vcxproj">
<Project>{6bcfc5ca-ea71-4ae9-8b96-28b8701f939e}</Project>
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
</ProjectReference>
</ItemGroup>
<ItemGroup>
<Library Include="..\#ThirdParty\dsound.lib" />
<Library Include="..\#ThirdParty\dxguid.lib" />
<Library Include="..\#ThirdParty\fmodapi375win\api\lib\fmodvc.lib" />
<Library Include="..\#ThirdParty\FreeImage\Dist\x32\FreeImage.lib" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>
+46
View File
@@ -0,0 +1,46 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Source Files">
<UniqueIdentifier>{a65b2e3f-fc88-4d53-91dd-eb0642bee121}</UniqueIdentifier>
<Extensions>cpp;c;cxx;rc;def;r;odl;idl;hpj;bat</Extensions>
</Filter>
<Filter Include="Header Files">
<UniqueIdentifier>{aca80be8-67eb-4554-af3e-500c319542c5}</UniqueIdentifier>
<Extensions>h;hpp;hxx;hm;inl</Extensions>
</Filter>
<Filter Include="Resource Files">
<UniqueIdentifier>{09c1e929-5d9c-4e04-ab45-9a6a24fdd23c}</UniqueIdentifier>
<Extensions>ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe</Extensions>
</Filter>
</ItemGroup>
<ItemGroup>
<ClCompile Include="bbruntime_dll.cpp">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="bbruntime_dll.rc">
<Filter>Source Files</Filter>
</ResourceCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="bbruntime_dll.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="resource.h">
<Filter>Header Files</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<Image Include="bbexe.ico">
<Filter>Resource Files</Filter>
</Image>
</ItemGroup>
<ItemGroup>
<Library Include="..\#ThirdParty\fmodapi375win\api\lib\fmodvc.lib" />
<Library Include="..\#ThirdParty\FreeImage\Dist\x32\FreeImage.lib" />
<Library Include="..\#ThirdParty\dxguid.lib" />
<Library Include="..\#ThirdParty\dsound.lib" />
</ItemGroup>
</Project>
+17
View File
@@ -0,0 +1,17 @@
//{{NO_DEPENDENCIES}}
// Microsoft Developer Studio generated include file.
// Used by runtime_dll.rc
//
#define IDI_ICON1 107
#define IDR_BBMODULE 1111
// Next default values for new objects
//
#ifdef APSTUDIO_INVOKED
#ifndef APSTUDIO_READONLY_SYMBOLS
#define _APS_NEXT_RESOURCE_VALUE 108
#define _APS_NEXT_COMMAND_VALUE 40001
#define _APS_NEXT_CONTROL_VALUE 1000
#define _APS_NEXT_SYMED_VALUE 103
#endif
#endif