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
+80
View File
@@ -0,0 +1,80 @@
#include <string>
#include <windows.h>
#include "checkdx.h"
#include "checkie.h"
using namespace std;
static const char *dx_err=
"You must have DirectX version 7 installed to run Blitz Basic.\n\n"
"DirectX 7 is provided on the Blitz Basic CD in the DirectX7 folder.\n\n"
"The latest version of DirectX is available from www.microsoft.com";
static const char *ie_err=
"You must have Internet Explorer version 4 installed to run Blitz Basic.\n\n"
"Internet Explorer 5 is provided on the Blitz Basic CD in the IExplorer5 folder.\n\n"
"The latest version of Internet Explorer is available from www.microsoft.com";
static const char *bb_err=
"Unable to run Blitz Basic";
static const char *md_err=
"Your desktop must be in high-colour mode to use Blitz Basic.\n\n"
"You can change your display settings from the control panel.";
static string getAppDir(){
char buff[MAX_PATH];
if( GetModuleFileName( 0,buff,MAX_PATH ) ){
string t=buff;
int n=t.find_last_of( '\\' );
if( n!=string::npos ) t=t.substr( 0,n );
return t;
}
return "";
}
static void fail( const char *p ){
::MessageBox( 0,p,"Blitz Basic Error",MB_SETFOREGROUND|MB_TOPMOST|MB_ICONERROR );
ExitProcess(-1);
}
static int desktopDepth(){
HDC hdc=GetDC( GetDesktopWindow() );
return GetDeviceCaps( hdc,BITSPIXEL );
}
int _stdcall WinMain( HINSTANCE inst,HINSTANCE prev,char *cmd,int show ){
if( desktopDepth()<16 ) fail( md_err );
#ifndef PLUS
if( getDXVersion()<7 ) fail( dx_err );
#endif
if( getIEVersion()<4 ) fail( ie_err );
//Ugly hack to get application dir...
string blitzIdePath=getAppDir();
_putenv( ("blitzpath="+blitzIdePath).c_str() );
SetCurrentDirectory( blitzIdePath.c_str() );
blitzIdePath=blitzIdePath+"\\bin\\ide.exe "+cmd;
STARTUPINFO si;
PROCESS_INFORMATION pi;
ZeroMemory(&si,sizeof(si));si.cb=sizeof(si);
if( !CreateProcess( 0,(char*)blitzIdePath.c_str(),0,0,0,0,0,0,&si,&pi ) ){
::MessageBox( 0,bb_err,"Blitz Basic Error",MB_SETFOREGROUND|MB_TOPMOST|MB_ICONERROR );
ExitProcess(-1);
}
//wait for BB to start
WaitForInputIdle( pi.hProcess,INFINITE );
// Close process and thread handles.
CloseHandle( pi.hProcess );
CloseHandle( pi.hThread );
return 0;
}
+179
View File
@@ -0,0 +1,179 @@
# Microsoft Developer Studio Project File - Name="bblaunch" - Package Owner=<4>
# Microsoft Developer Studio Generated Build File, Format Version 6.00
# ** DO NOT EDIT **
# TARGTYPE "Win32 (x86) Application" 0x0101
CFG=bblaunch - 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 "bblaunch.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 "bblaunch.mak" CFG="bblaunch - Win32 Debug"
!MESSAGE
!MESSAGE Possible choices for configuration are:
!MESSAGE
!MESSAGE "bblaunch - Win32 Release" (based on "Win32 (x86) Application")
!MESSAGE "bblaunch - Win32 Debug" (based on "Win32 (x86) Application")
!MESSAGE "bblaunch - Win32 Blitz3DRelease" (based on "Win32 (x86) Application")
!MESSAGE "bblaunch - Win32 Blitz2DRelease" (based on "Win32 (x86) Application")
!MESSAGE
# Begin Project
# PROP AllowPerConfigDependencies 0
# PROP Scc_ProjName ""
# PROP Scc_LocalPath ""
CPP=cl.exe
MTL=midl.exe
RSC=rc.exe
!IF "$(CFG)" == "bblaunch - 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 /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /YX /FD /c
# ADD CPP /nologo /MT /W3 /GX /O1 /Ob2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /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 /subsystem:windows /machine:I386
# ADD LINK32 dxguid.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 /subsystem:windows /machine:I386 /out:"..\blitzbasic\blitzbasic.exe"
!ELSEIF "$(CFG)" == "bblaunch - 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 /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /YX /FD /GZ /c
# ADD CPP /nologo /MTd /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /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 /subsystem:windows /debug /machine:I386 /pdbtype:sept
# ADD LINK32 dxguid.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 /subsystem:windows /incremental:no /debug /machine:I386 /out:"..\blitzbasic\blitzbasic.exe" /fixed:no
# SUBTRACT LINK32 /pdb:none
!ELSEIF "$(CFG)" == "bblaunch - Win32 Blitz3DRelease"
# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 0
# PROP BASE Output_Dir "bblaunch___Win32_Blitz3DRelease"
# PROP BASE Intermediate_Dir "bblaunch___Win32_Blitz3DRelease"
# PROP BASE Ignore_Export_Lib 0
# PROP BASE Target_Dir ""
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 0
# PROP Output_Dir "bblaunch___Win32_Blitz3DRelease"
# PROP Intermediate_Dir "bblaunch___Win32_Blitz3DRelease"
# PROP Ignore_Export_Lib 0
# PROP Target_Dir ""
# ADD BASE CPP /nologo /MT /W3 /GX /O1 /Ob2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /YX /FD /c
# ADD CPP /nologo /G6 /Gz /MT /W3 /GX /O1 /D "_WINDOWS" /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "PRO" /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 dxguid.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 /subsystem:windows /machine:I386 /out:"..\blitzbasic\blitzbasic.exe"
# ADD LINK32 dxguid.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 /subsystem:windows /machine:I386 /out:"../_release/Blitz3D.exe"
!ELSEIF "$(CFG)" == "bblaunch - Win32 Blitz2DRelease"
# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 0
# PROP BASE Output_Dir "bblaunch___Win32_Blitz2DRelease"
# PROP BASE Intermediate_Dir "bblaunch___Win32_Blitz2DRelease"
# PROP BASE Ignore_Export_Lib 0
# PROP BASE Target_Dir ""
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 0
# PROP Output_Dir "bblaunch___Win32_Blitz2DRelease"
# PROP Intermediate_Dir "bblaunch___Win32_Blitz2DRelease"
# PROP Ignore_Export_Lib 0
# PROP Target_Dir ""
# ADD BASE CPP /nologo /MT /W3 /GX /O1 /Ob2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /YX /FD /c
# ADD CPP /nologo /MT /W3 /GX /O1 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /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 dxguid.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 /subsystem:windows /machine:I386 /out:"..\..\release\blitz3drelease\Blitz3D.exe"
# ADD LINK32 dxguid.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 /subsystem:windows /machine:I386 /out:"..\..\release\blitz2drelease\BlitzBasic.exe"
!ENDIF
# Begin Target
# Name "bblaunch - Win32 Release"
# Name "bblaunch - Win32 Debug"
# Name "bblaunch - Win32 Blitz3DRelease"
# Name "bblaunch - Win32 Blitz2DRelease"
# Begin Source File
SOURCE=.\bblaunch.cpp
# End Source File
# Begin Source File
SOURCE=.\bblaunch.ico
# End Source File
# Begin Source File
SOURCE=.\bblaunch.rc
# End Source File
# Begin Source File
SOURCE=.\checkdx.cpp
# End Source File
# Begin Source File
SOURCE=.\checkdx.h
# End Source File
# Begin Source File
SOURCE=.\checkie.cpp
# End Source File
# Begin Source File
SOURCE=.\checkie.h
# End Source File
# End Target
# End Project
Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

+72
View File
@@ -0,0 +1,72 @@
//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
"\r\n"
"\0"
END
#endif // APSTUDIO_INVOKED
/////////////////////////////////////////////////////////////////////////////
//
// Icon
//
// Icon with lowest ID value placed first to ensure application icon
// remains consistent on all systems.
IDI_ICON1 ICON DISCARDABLE "bblaunch.ico"
#endif // English (U.S.) resources
/////////////////////////////////////////////////////////////////////////////
#ifndef APSTUDIO_INVOKED
/////////////////////////////////////////////////////////////////////////////
//
// Generated from the TEXTINCLUDE 3 resource.
//
/////////////////////////////////////////////////////////////////////////////
#endif // not APSTUDIO_INVOKED
+200
View File
@@ -0,0 +1,200 @@
<?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>{C74A383E-81B0-4679-AAC9-535C94C92EA5}</ProjectGuid>
<ProjectName>BlitzBasicLauncher</ProjectName>
<WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<PlatformToolset>v140</PlatformToolset>
<UseOfMfc>false</UseOfMfc>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>Application</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</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</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\bblaunch.tlb</TypeLibraryName>
<MkTypLibCompatible>true</MkTypLibCompatible>
<TargetEnvironment>Win32</TargetEnvironment>
</Midl>
<ResourceCompile>
<Culture>0x0409</Culture>
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ResourceCompile>
<Bscmake>
<SuppressStartupBanner>true</SuppressStartupBanner>
<OutputFile>.\Debug\bblaunch.bsc</OutputFile>
</Bscmake>
<Link>
<SuppressStartupBanner>true</SuppressStartupBanner>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Windows</SubSystem>
<AdditionalOptions> /FIXED:NO</AdditionalOptions>
<AdditionalDependencies>dxguid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
</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\bblaunch.tlb</TypeLibraryName>
<MkTypLibCompatible>true</MkTypLibCompatible>
<TargetEnvironment>Win32</TargetEnvironment>
</Midl>
<ResourceCompile>
<Culture>0x0409</Culture>
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ResourceCompile>
<Bscmake>
<SuppressStartupBanner>true</SuppressStartupBanner>
<OutputFile>.\Release\bblaunch.bsc</OutputFile>
</Bscmake>
<Link>
<SuppressStartupBanner>true</SuppressStartupBanner>
<SubSystem>Windows</SubSystem>
<AdditionalDependencies>dxguid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="bblaunch.cpp" />
<ClCompile Include="checkdx.cpp" />
<ClCompile Include="checkie.cpp" />
</ItemGroup>
<ItemGroup>
<Image Include="bblaunch.ico" />
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="bblaunch.rc" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="checkdx.h" />
<ClInclude Include="checkie.h" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\blitz3d\blitz3d.vcxproj">
<Project>{be0ba538-6215-4836-9227-1d3627e40d61}</Project>
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
</ProjectReference>
<ProjectReference Include="..\blitz\blitz.vcxproj">
<Project>{c23af61e-9509-411f-933e-17db18884b21}</Project>
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
</ProjectReference>
<ProjectReference Include="..\compiler\compiler.vcxproj">
<Project>{d884a075-e3b8-44e1-838d-74f28b33391b}</Project>
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
</ProjectReference>
<ProjectReference Include="..\config\config.vcxproj">
<Project>{3e355353-96d8-4aaf-bf95-8e6ca0d4b1ba}</Project>
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
</ProjectReference>
<ProjectReference Include="..\debugger\debugger.vcxproj">
<Project>{4132c330-95d9-4f68-a51a-3b90381587c5}</Project>
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
</ProjectReference>
<ProjectReference Include="..\gxruntime\gxruntime.vcxproj">
<Project>{ff2d8bf7-1930-4cab-bc48-05cd33b7dc18}</Project>
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
</ProjectReference>
<ProjectReference Include="..\stdutil\stdutil.vcxproj">
<Project>{6bcfc5ca-ea71-4ae9-8b96-28b8701f939e}</Project>
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
</ProjectReference>
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>
+17
View File
@@ -0,0 +1,17 @@
prg_debug 1
prg_windowed 0
win_maximized 0
win_notoolbar 0
win_rect 0 0 691 542
font_editor blitz 12
font_tabs verdana 8
rgb_bkgrnd 206060
rgb_string ff00
rgb_ident ffffff
rgb_keyword ffe75f
rgb_comment ffff
rgb_digit c8f0ff
rgb_default fff0c8
edit_tabs 4
edit_blkcursor 0
img_toolbar toolbar.bmp
+343
View File
@@ -0,0 +1,343 @@
//-----------------------------------------------------------------------------
// File: GetDXVer.cpp
//
// Desc: Demonstrates how applications can detect what version of DirectX
// is installed.
//
// (C) Copyright 1995-1997 Microsoft Corp. All rights reserved.
//-----------------------------------------------------------------------------
#include <windows.h>
#include <windowsx.h>
#include <ddraw.h>
#define DIRECTINPUT_VERSION 0x0700
#include <dinput.h>
//#include <dmusici.h>
typedef HRESULT(WINAPI * DIRECTDRAWCREATE)( GUID*, LPDIRECTDRAW*, IUnknown* );
typedef HRESULT(WINAPI * DIRECTDRAWCREATEEX)( GUID*, VOID**, REFIID, IUnknown* );
typedef HRESULT(WINAPI * DIRECTINPUTCREATE)( HINSTANCE, DWORD, LPDIRECTINPUT*,
IUnknown* );
//-----------------------------------------------------------------------------
// Name: GetDXVersion()
// Desc: This function returns two arguments:
// dwDXVersion:
// 0x0000 = No DirectX installed
// 0x0100 = DirectX version 1 installed
// 0x0200 = DirectX 2 installed
// 0x0300 = DirectX 3 installed
// 0x0500 = At least DirectX 5 installed.
// 0x0600 = At least DirectX 6 installed.
// 0x0601 = At least DirectX 6.1 installed.
// 0x0700 = At least DirectX 7 installed.
// dwDXPlatform:
// 0 = Unknown (This is a failure case)
// VER_PLATFORM_WIN32_WINDOWS = Windows 9X platform
// VER_PLATFORM_WIN32_NT = Windows NT platform
//
// Please note that this code is intended as a general guideline. Your
// app will probably be able to simply query for functionality (via
// QueryInterface) for one or two components.
//
// Please also note:
// "if (dxVer != 0x500) return FALSE;" is BAD.
// "if (dxVer < 0x500) return FALSE;" is MUCH BETTER.
// to ensure your app will run on future releases of DirectX.
//-----------------------------------------------------------------------------
VOID GetDXVersion( DWORD* pdwDXVersion, DWORD* pdwDXPlatform )
{
*pdwDXVersion = 0x0700;
*pdwDXPlatform = VER_PLATFORM_WIN32_NT;
// HRESULT hr;
// HINSTANCE DDHinst = 0;
// HINSTANCE DIHinst = 0;
// LPDIRECTDRAW pDDraw = 0;
// LPDIRECTDRAW2 pDDraw2 = 0;
// DIRECTDRAWCREATE DirectDrawCreate = 0;
// DIRECTDRAWCREATEEX DirectDrawCreateEx = 0;
// DIRECTINPUTCREATE DirectInputCreate = 0;
// OSVERSIONINFO osVer;
// LPDIRECTDRAWSURFACE pSurf = 0;
// LPDIRECTDRAWSURFACE3 pSurf3 = 0;
// LPDIRECTDRAWSURFACE4 pSurf4 = 0;
// // First get the windows platform
// osVer.dwOSVersionInfoSize = sizeof(osVer);
// if( !GetVersionEx( &osVer ) )
// {
// (*pdwDXPlatform) = 0;
// (*pdwDXVersion) = 0;
// return;
// }
// if( osVer.dwPlatformId == VER_PLATFORM_WIN32_NT )
// {
// (*pdwDXPlatform) = VER_PLATFORM_WIN32_NT;
// // NT is easy... NT 4.0 is DX2, 4.0 SP3 is DX3, 5.0 is DX5
// // and no DX on earlier versions.
// if( osVer.dwMajorVersion < 4 )
// {
// (*pdwDXVersion) = 0; // No DX on NT3.51 or earlier
// return;
// }
// if( osVer.dwMajorVersion == 4 )
// {
// // NT4 up to SP2 is DX2, and SP3 onwards is DX3, so we are at least DX2
// (*pdwDXVersion) = 0x200;
// // We're not supposed to be able to tell which SP we're on, so check for dinput
// DIHinst = LoadLibrary( "DINPUT.DLL" );
// if( DIHinst == 0 )
// {
// // No DInput... must be DX2 on NT 4 pre-SP3
// OutputDebugString( "Couldn't LoadLibrary DInput\r\n" );
// return;
// }
// DirectInputCreate = (DIRECTINPUTCREATE)GetProcAddress( DIHinst,
// "DirectInputCreateA" );
// FreeLibrary( DIHinst );
// if( DirectInputCreate == 0 )
// {
// // No DInput... must be pre-SP3 DX2
// OutputDebugString( "Couldn't GetProcAddress DInputCreate\r\n" );
// return;
// }
// // It must be NT4, DX2
// (*pdwDXVersion) = 0x300; // DX3 on NT4 SP3 or higher
// return;
// }
// // Else it's NT5 or higher, and it's DX5a or higher: Drop through to
// // Win9x tests for a test of DDraw (DX6 or higher)
// }
// else
// {
// // Not NT... must be Win9x
// (*pdwDXPlatform) = VER_PLATFORM_WIN32_WINDOWS;
// }
// // Now we know we are in Windows 9x (or maybe 3.1), so anything's possible.
// // First see if DDRAW.DLL even exists.
// DDHinst = LoadLibrary( "DDRAW.DLL" );
// if( DDHinst == 0 )
// {
// (*pdwDXVersion) = 0;
// (*pdwDXPlatform) = 0;
// FreeLibrary( DDHinst );
// return;
// }
// // See if we can create the DirectDraw object.
// DirectDrawCreate = (DIRECTDRAWCREATE)GetProcAddress( DDHinst, "DirectDrawCreate" );
// if( DirectDrawCreate == 0 )
// {
// (*pdwDXVersion) = 0;
// (*pdwDXPlatform) = 0;
// FreeLibrary( DDHinst );
// OutputDebugString( "Couldn't LoadLibrary DDraw\r\n" );
// return;
// }
// hr = DirectDrawCreate( NULL, &pDDraw, NULL );
// if( FAILED(hr) )
// {
// (*pdwDXVersion) = 0;
// (*pdwDXPlatform) = 0;
// FreeLibrary( DDHinst );
// OutputDebugString( "Couldn't create DDraw\r\n" );
// return;
// }
// // So DirectDraw exists. We are at least DX1.
// (*pdwDXVersion) = 0x100;
// // Let's see if IID_IDirectDraw2 exists.
// hr = pDDraw->QueryInterface( IID_IDirectDraw2, (VOID**)&pDDraw2 );
// if( FAILED(hr) )
// {
// // No IDirectDraw2 exists... must be DX1
// pDDraw->Release();
// FreeLibrary( DDHinst );
// OutputDebugString( "Couldn't QI DDraw2\r\n" );
// return;
// }
// // IDirectDraw2 exists. We must be at least DX2
// pDDraw2->Release();
// (*pdwDXVersion) = 0x200;
// ///////////////////////////////////////////////////////////////////////////
// // DirectX 3.0 Checks
// ///////////////////////////////////////////////////////////////////////////
// // DirectInput was added for DX3
// DIHinst = LoadLibrary( "DINPUT.DLL" );
// if( DIHinst == 0 )
// {
// // No DInput... must not be DX3
// OutputDebugString( "Couldn't LoadLibrary DInput\r\n" );
// pDDraw->Release();
// FreeLibrary( DDHinst );
// return;
// }
// DirectInputCreate = (DIRECTINPUTCREATE)GetProcAddress( DIHinst,
// "DirectInputCreateA" );
// if( DirectInputCreate == 0 )
// {
// // No DInput... must be DX2
// FreeLibrary( DIHinst );
// FreeLibrary( DDHinst );
// pDDraw->Release();
// OutputDebugString( "Couldn't GetProcAddress DInputCreate\r\n" );
// return;
// }
// // DirectInputCreate exists. We are at least DX3
// (*pdwDXVersion) = 0x300;
// FreeLibrary( DIHinst );
// // Can do checks for 3a vs 3b here
// ///////////////////////////////////////////////////////////////////////////
// // DirectX 5.0 Checks
// ///////////////////////////////////////////////////////////////////////////
// // We can tell if DX5 is present by checking for the existence of
// // IDirectDrawSurface3. First, we need a surface to QI off of.
// DDSURFACEDESC ddsd;
// ZeroMemory( &ddsd, sizeof(ddsd) );
// ddsd.dwSize = sizeof(ddsd);
// ddsd.dwFlags = DDSD_CAPS;
// ddsd.ddsCaps.dwCaps = DDSCAPS_PRIMARYSURFACE;
// hr = pDDraw->SetCooperativeLevel( NULL, DDSCL_NORMAL );
// if( FAILED(hr) )
// {
// // Failure. This means DDraw isn't properly installed.
// pDDraw->Release();
// FreeLibrary( DDHinst );
// (*pdwDXVersion) = 0;
// OutputDebugString( "Couldn't Set coop level\r\n" );
// return;
// }
// hr = pDDraw->CreateSurface( &ddsd, &pSurf, NULL );
// if( FAILED(hr) )
// {
// // Failure. This means DDraw isn't properly installed.
// pDDraw->Release();
// FreeLibrary( DDHinst );
// *pdwDXVersion = 0;
// OutputDebugString( "Couldn't CreateSurface\r\n" );
// return;
// }
// // Query for the IDirectDrawSurface3 interface
// if( FAILED( pSurf->QueryInterface( IID_IDirectDrawSurface3,
// (VOID**)&pSurf3 ) ) )
// {
// pDDraw->Release();
// FreeLibrary( DDHinst );
// return;
// }
// // QI for IDirectDrawSurface3 succeeded. We must be at least DX5
// (*pdwDXVersion) = 0x500;
// ///////////////////////////////////////////////////////////////////////////
// // DirectX 6.0 Checks
// ///////////////////////////////////////////////////////////////////////////
// // The IDirectDrawSurface4 interface was introduced with DX 6.0
// if( FAILED( pSurf->QueryInterface( IID_IDirectDrawSurface4,
// (VOID**)&pSurf4 ) ) )
// {
// pDDraw->Release();
// FreeLibrary( DDHinst );
// return;
// }
// // IDirectDrawSurface4 was create successfully. We must be at least DX6
// (*pdwDXVersion) = 0x600;
// pSurf->Release();
// pDDraw->Release();
// ///////////////////////////////////////////////////////////////////////////
// // DirectX 6.1 Checks
// ///////////////////////////////////////////////////////////////////////////
//// FIX: DirectMusic is deprecated.
// //// Check for DMusic, which was introduced with DX6.1
// //LPDIRECTMUSIC pDMusic = NULL;
// //CoInitialize( NULL );
// //hr = CoCreateInstance( CLSID_DirectMusic, NULL, CLSCTX_INPROC_SERVER,
// // IID_IDirectMusic, (VOID**)&pDMusic );
// //if( FAILED(hr) )
// //{
// // OutputDebugString( "Couldn't create CLSID_DirectMusic\r\n" );
// // FreeLibrary( DDHinst );
// // return;
// //}
// //// DirectMusic was created successfully. We must be at least DX6.1
// //(*pdwDXVersion) = 0x601;
// //pDMusic->Release();
// //CoUninitialize();
//
// ///////////////////////////////////////////////////////////////////////////
// // DirectX 7.0 Checks
// ///////////////////////////////////////////////////////////////////////////
// // Check for DirectX 7 by creating a DDraw7 object
// LPDIRECTDRAW7 pDD7;
// DirectDrawCreateEx = (DIRECTDRAWCREATEEX)GetProcAddress( DDHinst,
// "DirectDrawCreateEx" );
// if( NULL == DirectDrawCreateEx )
// {
// FreeLibrary( DDHinst );
// return;
// }
// if( FAILED( DirectDrawCreateEx( NULL, (VOID**)&pDD7, IID_IDirectDraw7,
// NULL ) ) )
// {
// FreeLibrary( DDHinst );
// return;
// }
// // DDraw7 was created successfully. We must be at least DX7.0
// (*pdwDXVersion) = 0x700;
// pDD7->Release();
//
// ///////////////////////////////////////////////////////////////////////////
// // End of checks
// ///////////////////////////////////////////////////////////////////////////
// // Close open libraries and return
// FreeLibrary( DDHinst );
//
return;
}
int getDXVersion(){
DWORD version,platform;
GetDXVersion( &version,&platform );
return (version>>8)&0xff;
}
+7
View File
@@ -0,0 +1,7 @@
#ifndef CHECKDX_H
#define CHECKDX_H
int getDXVersion();
#endif
+24
View File
@@ -0,0 +1,24 @@
#include "checkie.h"
#include <windows.h>
int getIEVersion(){
int version=0;
HKEY key=HKEY_LOCAL_MACHINE;
if( RegOpenKey( key,"Software\\Microsoft\\Internet Explorer",&key )==ERROR_SUCCESS ){
char buff[MAX_PATH];DWORD type,sz=MAX_PATH;
if( RegQueryValueEx( key,"Version",0,&type,(PBYTE)buff,&sz )==ERROR_SUCCESS ){
version=4;
/*
char temp[4];
if( isdigit(buff[0]) && buff[1]=='.' && isdigit(buff[2]) && isdigit(buff[3]) && buff[4]=='.' ){
temp[0]=buff[0];temp[1]=buff[2];temp[2]=buff[3];temp[3]=0;
if( atoi(temp)>=471 ) version=4;
}
*/
}
RegCloseKey( key );
}
return version;
}
+7
View File
@@ -0,0 +1,7 @@
#ifndef CHECKIE_H
#define CHECKIE_H
int getIEVersion();
#endif
+47
View File
@@ -0,0 +1,47 @@
<HTML>
<HEAD>
<TITLE>Blitz Basic demo</TITLE>
</HEAD>
<BODY bgcolor=#f0f0f0>
<FONT face=tahoma size=2 color=#0040ff>
<FONT color=#ff2020>
<H3 align=center><B>Blitz Basic Demo</B></H3>
</FONT><BR>
<DIV>
Hi! Welcome to the Blitz Basic demo.
</DIV><BR>
<DIV>
With the Blitz Basic programming language, you can design awesome 2D games for the PC
with the minimum of effort.
</DIV><BR>
<DIV>
This demo will give you some idea of the power and flexibility of the Blitz Basic
programming language.
</DIV><BR>
<DIV>Click here to see some examples of Blitz in action.</DIV><BR>
<DIV>Click here to see a summary of Blitz Basic commands.</DIV><BR>
<DIV>Have fun!</DIV><BR>
<FONT size=1 color=#000000>
<DIV>Blitz Basic is published by Guildhall Leisure Services.</DIV><BR>
<DIV>For purchasing information, please contact
<A HREF=mailto:george@guildhallleisure.com>George Bray</A>.</DIV><BR>
<DIV>More information about Blitz is available at <A HREF=http://www.blitzbasic.com>
The Blitz Basic homepage</A></DIV><BR>
</FONT>
</FONT>
</BODY>
</HTML>
+16
View File
@@ -0,0 +1,16 @@
//{{NO_DEPENDENCIES}}
// Microsoft Developer Studio generated include file.
// Used by bblaunch.rc
//
#define IDI_ICON1 104
// Next default values for new objects
//
#ifdef APSTUDIO_INVOKED
#ifndef APSTUDIO_READONLY_SYMBOLS
#define _APS_NEXT_RESOURCE_VALUE 105
#define _APS_NEXT_COMMAND_VALUE 40001
#define _APS_NEXT_CONTROL_VALUE 1000
#define _APS_NEXT_SYMED_VALUE 101
#endif
#endif