ref: f6d4da9935ec70a03a5721a419bc06c955a670ce
parent: 902ed01830d2a92579df825d8babf5bf2ac0a021
author: unknown <fabien@fabien-PC.(none)>
date: Wed Dec 12 19:19:28 EST 2012
Build and run well on Windows
--- a/.gitignore
+++ b/.gitignore
@@ -7,3 +7,8 @@
*.xcuserdatad
.DS_Store
xcshareddata
+SDL-1.2.9
+*.opensdf
+DebugVC7
+bin
+vcxproj.user
--- a/Engine/src/cache1d.c
+++ b/Engine/src/cache1d.c
@@ -362,6 +362,8 @@
else
{
printf("Unable to find GRP file %s.\n",filename);
+ //Let user see the message
+ getchar();
exit(0);
}
--- a/Engine/src/sdl_driver.c
+++ b/Engine/src/sdl_driver.c
@@ -2485,13 +2485,14 @@
#if PLATFORM_WIN32
-int TIMER_GetPlatformTicksInOneSecond(int64_t* t);
+int TIMER_GetPlatformTicksInOneSecond(int64_t* t)
{
QueryPerformanceFrequency((LARGE_INTEGER*)t);
return 1;
}
-void TIMER_GetPlatformTicks(int64_t* t){
+void TIMER_GetPlatformTicks(int64_t* t)
+{
QueryPerformanceCounter((LARGE_INTEGER*)t);
}
#else
--- a/Engine/src/win32_compat.h
+++ b/Engine/src/win32_compat.h
@@ -129,6 +129,8 @@
#define S_IRDWR _S_IRDWR
#endif /* defined _MSC_VER */
+#define snprintf _snprintf
+
#endif
/* end of win32_compat.h ... */
--- a/Game/Game.vcxproj
+++ b/Game/Game.vcxproj
@@ -110,9 +110,9 @@
<Link>
<AdditionalOptions>/MACHINE:I386 %(AdditionalOptions)</AdditionalOptions>
<AdditionalDependencies>dxguid.lib;sdl.lib;sdl_mixer.lib;winmm.lib;WS2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(OutDir)$(SolutionName)d.exe</OutputFile>
+ <OutputFile>$(OutDir)Game.exe</OutputFile>
<SuppressStartupBanner>true</SuppressStartupBanner>
- <AdditionalLibraryDirectories>..\Directx_dec_2005\;..\SDL-1.2.9\VisualC\SDL\Release;..\SDL_mixer-1.2.6\VisualC\Release;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+ <AdditionalLibraryDirectories>..\Directx_dec_2005\;..\SDL-1.2.9\lib\x86;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Console</SubSystem>
</Link>
--- a/Game/src/game.c
+++ b/Game/src/game.c
@@ -8063,7 +8063,10 @@
{
WIN32_FIND_DATA FindFileData;
HANDLE hFind = INVALID_HANDLE_VALUE;
-
+ int i=0,kbdKey ;
+ char groupfile[9][512];
+ int grpID ;
+
if(game_dir[0] != '\0')
{
sprintf(groupfilefullpath, "%s\\%s", game_dir, baseDir);
@@ -8078,11 +8081,11 @@
else
sprintf(groupfilefullpath, "%s", baseDir);
- printf("Searching duke3d*.grp:\n\n");
+ printf("Searching '%d':\n\n",groupfilefullpath);
hFind = FindFirstFile(groupfilefullpath,&FindFileData);
if ( hFind==INVALID_HANDLE_VALUE )
- Error(EXIT_SUCCESS, "Can't find %s\n", groupfilefullpath);
+ Error(EXIT_SUCCESS, "Can't find '%s'\n", groupfilefullpath);
do
{
@@ -8092,7 +8095,7 @@
} while ( FindNextFile(hFind, &FindFileData) && i < 9 );
if(i==1)
- sprintf(groupfilefullpath, "%s", groupfile[0]);
+ grpID = 0;
else
{
printf("\n-> Choose a base GRP file from 1 to %c: ",'0' + i);
@@ -8100,10 +8103,15 @@
kbdKey = getch();
while(kbdKey < '1' || kbdKey > ('0' + i));
printf("%c\n", kbdKey);
- sprintf(groupfilefullpath, "%s", groupfile[kbdKey-'1']);
+ grpID = groupfile[kbdKey-'1'];
+
}
- FindClose(hFind);sprintf(groupfilefullpath, "%s\\%s", game_dir, grpName);
+ FindClose(hFind);
+ if (strlen(game_dir) == 0)
+ sprintf(groupfilefullpath, "./%s", groupfile[grpID]);
+ else
+ sprintf(groupfilefullpath, "%s//%s", game_dir, groupfile[grpID]);
}
#else
@@ -8121,12 +8129,12 @@
static int load_duke3d_groupfile(void)
{
// FIX_00032: Added multi base GRP manager. Use duke3d*.grp to handle multiple grp.
- char groupfile[9][512];
+
char groupfilefullpath[512];
- int kbdKey, i = 0;
+ int i = 0;
char *baseDir="duke3d*.grp";
-
+ //char *baseDir="DUKE3D.GRP";
findGRPToUse(game_dir,baseDir,groupfilefullpath);
--
⑨