ref: 35f753d9e4b9d85cc712262a751729688e32aad6
parent: 4c0dc104d7582d709d8cc665a1c46ed1d49cdd65
author: Simon Howard <[email protected]>
date: Fri Oct 16 14:35:19 EDT 2009
Fix compile under MSVC (thanks entryway). Subversion-branch: /branches/raven-branch Subversion-revision: 1718
--- a/msvc/doom.vcproj
+++ b/msvc/doom.vcproj
@@ -42,7 +42,7 @@
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories=".;..\src;..\src\doom;..\textscreen;..\pcsound"
- PreprocessorDefinitions="WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;PROGRAM_PREFIX="\"chocolate-\"""
+ PreprocessorDefinitions="WIN32;_DEBUG;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;PROGRAM_PREFIX="\"chocolate-\"""
MinimalRebuild="true"
ExceptionHandling="0"
BasicRuntimeChecks="3"
@@ -221,6 +221,10 @@
>
</File>
<File
+ RelativePath="..\src\i_endoom.h"
+ >
+ </File>
+ <File
RelativePath="..\src\i_joystick.h"
>
</File>
@@ -590,6 +594,10 @@
</File>
<File
RelativePath="..\src\i_cdmus.c"
+ >
+ </File>
+ <File
+ RelativePath="..\src\i_endoom.c"
>
</File>
<File
--- a/msvc/heretic.vcproj
+++ b/msvc/heretic.vcproj
@@ -41,7 +41,7 @@
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories=".;..\src;..\src\doom;..\src\heretic;..\textscreen;..\pcsound"
- PreprocessorDefinitions="WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;PROGRAM_PREFIX="\"chocolate-\"""
+ PreprocessorDefinitions="WIN32;_DEBUG;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;PROGRAM_PREFIX="\"chocolate-\"""
MinimalRebuild="true"
BasicRuntimeChecks="3"
RuntimeLibrary="3"
@@ -193,6 +193,10 @@
</File>
<File
RelativePath="..\src\i_cdmus.c"
+ >
+ </File>
+ <File
+ RelativePath="..\src\i_endoom.c"
>
</File>
<File
--- a/msvc/hexen.vcproj
+++ b/msvc/hexen.vcproj
@@ -41,6 +41,7 @@
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories=".;..\src;..\src\doom;..\src\heretic;..\textscreen;..\pcsound"
+ PreprocessorDefinitions="WIN32;_DEBUG;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;PROGRAM_PREFIX="\"chocolate-\"""
MinimalRebuild="true"
BasicRuntimeChecks="3"
RuntimeLibrary="3"
@@ -59,6 +60,7 @@
/>
<Tool
Name="VCLinkerTool"
+ AdditionalDependencies="SDL.lib SDL_mixer.lib SDL_net.lib SDLmain.lib"
OutputFile="$(OutDir)\chocolate-hexen-dbg.exe"
GenerateDebugInformation="true"
SubSystem="1"
--- a/msvc/server.vcproj
+++ b/msvc/server.vcproj
@@ -41,7 +41,7 @@
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories=".;..\src;..\textscreen"
- PreprocessorDefinitions="WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEDICATEDSERVER"
+ PreprocessorDefinitions="WIN32;_DEBUG;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;DEDICATEDSERVER"
MinimalRebuild="true"
BasicRuntimeChecks="3"
RuntimeLibrary="3"
@@ -190,6 +190,10 @@
>
</File>
<File
+ RelativePath="..\src\i_system.c"
+ >
+ </File>
+ <File
RelativePath="..\src\i_timer.c"
>
</File>
@@ -241,6 +245,10 @@
>
<File
RelativePath="..\src\d_mode.h"
+ >
+ </File>
+ <File
+ RelativePath="..\src\i_system.h"
>
</File>
<File
--- a/msvc/setup.vcproj
+++ b/msvc/setup.vcproj
@@ -41,7 +41,7 @@
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories=".;..\src;..\src\doom;..\textscreen"
- PreprocessorDefinitions="WIN32;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;CHOCOLATESETUP"
+ PreprocessorDefinitions="WIN32;_DEBUG;_CRT_SECURE_NO_WARNINGS;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;CHOCOLATESETUP"
MinimalRebuild="true"
BasicRuntimeChecks="3"
RuntimeLibrary="3"
@@ -237,6 +237,10 @@
RelativePath="..\setup\txt_mouseinput.c"
>
</File>
+ <File
+ RelativePath="..\textscreen\txt_scrollpane.c"
+ >
+ </File>
</Filter>
<Filter
Name="Header Files"
@@ -293,6 +297,10 @@
</File>
<File
RelativePath="..\setup\txt_mouseinput.h"
+ >
+ </File>
+ <File
+ RelativePath="..\textscreen\txt_scrollpane.h"
>
</File>
</Filter>
--- a/src/doomtype.h
+++ b/src/doomtype.h
@@ -36,7 +36,9 @@
#ifdef _WIN32
#define snprintf _snprintf
+#if _MSC_VER < 1400 /* not needed for Visual Studio 2008 */
#define vsnprintf _vsnprintf
+#endif
#define strcasecmp stricmp
#define strncasecmp strnicmp
--- a/src/heretic/am_data.h
+++ b/src/heretic/am_data.h
@@ -92,9 +92,9 @@
#define R (FRACUNIT)
mline_t triangle_guy[] = {
- { { -.867*R, -.5*R }, { .867*R, -.5*R } },
- { { .867*R, -.5*R } , { 0, R } },
- { { 0, R }, { -.867*R, -.5*R } }
+ { { (fixed_t)(-.867*R), (fixed_t)(-.5*R) }, { (fixed_t)(.867*R ), (fixed_t)(-.5*R) } },
+ { { (fixed_t)(.867*R ), (fixed_t)(-.5*R) }, { (fixed_t)(0 ), (fixed_t)(R ) } },
+ { { (fixed_t)(0 ), (fixed_t)(R ) }, { (fixed_t)(-.867*R), (fixed_t)(-.5*R) } }
};
#undef R
#define NUMTRIANGLEGUYLINES (sizeof(triangle_guy)/sizeof(mline_t))
@@ -101,9 +101,9 @@
#define R (FRACUNIT)
mline_t thintriangle_guy[] = {
- { { -.5*R, -.7*R }, { R, 0 } },
- { { R, 0 }, { -.5*R, .7*R } },
- { { -.5*R, .7*R }, { -.5*R, -.7*R } }
+ { { (fixed_t)(-.5*R), (fixed_t)(-.7*R) }, { (fixed_t)(R ), (fixed_t)(0 ) } },
+ { { (fixed_t)(R ), (fixed_t)(0 ) }, { (fixed_t)(-.5*R), (fixed_t)(.7*R ) } },
+ { { (fixed_t)(-.5*R), (fixed_t)(.7*R ) }, { (fixed_t)(-.5*R), (fixed_t)(-.7*R) } }
};
#undef R
#define NUMTHINTRIANGLEGUYLINES (sizeof(thintriangle_guy)/sizeof(mline_t))
--- a/src/heretic/am_map.c
+++ b/src/heretic/am_map.c
@@ -131,7 +131,7 @@
static mpoint_t f_oldloc;
// used by MTOF to scale from map-to-frame-buffer coords
-static fixed_t scale_mtof = INITSCALEMTOF;
+static fixed_t scale_mtof = (fixed_t)INITSCALEMTOF;
// used by FTOM to scale from frame-buffer-to-map coords (=1/scale_mtof)
static fixed_t scale_ftom;
--- a/src/heretic/p_enemy.c
+++ b/src/heretic/p_enemy.c
@@ -1917,7 +1917,7 @@
angle >>= ANGLETOFINESHIFT;
shard->momx = FixedMul(shard->info->speed, finecosine[angle]);
shard->momy = FixedMul(shard->info->speed, finesine[angle]);
- shard->momz = -.6 * FRACUNIT;
+ shard->momz = (fixed_t)(-.6 * FRACUNIT);
P_CheckMissileSpawn(shard);
}
}
@@ -2507,7 +2507,7 @@
angle >>= ANGLETOFINESHIFT;
blast->momx = FixedMul(1 * FRACUNIT, finecosine[angle]);
blast->momy = FixedMul(1 * FRACUNIT, finesine[angle]);
- blast->momz = (2.5 * FRACUNIT) + (P_Random() << 10);
+ blast->momz = (fixed_t)(2.5 * FRACUNIT) + (P_Random() << 10);
S_StartSound(blast, sfx_volsht);
P_CheckMissileSpawn(blast);
}
@@ -2540,8 +2540,8 @@
angle = i * ANG90;
tiny->angle = angle;
angle >>= ANGLETOFINESHIFT;
- tiny->momx = FixedMul(FRACUNIT * .7, finecosine[angle]);
- tiny->momy = FixedMul(FRACUNIT * .7, finesine[angle]);
+ tiny->momx = FixedMul((fixed_t)(FRACUNIT * .7), finecosine[angle]);
+ tiny->momy = FixedMul((fixed_t)(FRACUNIT * .7), finesine[angle]);
tiny->momz = FRACUNIT + (P_Random() << 9);
P_CheckMissileSpawn(tiny);
}
--- a/src/heretic/p_mobj.c
+++ b/src/heretic/p_mobj.c
@@ -70,7 +70,7 @@
if (state == S_NULL)
{ // Remove mobj
- mobj->state = S_NULL;
+ mobj->state = (state_t *) S_NULL;
P_RemoveMobj(mobj);
return (false);
}
@@ -100,7 +100,7 @@
if (state == S_NULL)
{ // Remove mobj
- mobj->state = S_NULL;
+ mobj->state = (state_t *) S_NULL;
P_RemoveMobj(mobj);
return (false);
}
@@ -1214,7 +1214,7 @@
break;
case MT_GAUNTLETPUFF1:
case MT_GAUNTLETPUFF2:
- puff->momz = .8 * FRACUNIT;
+ puff->momz = (fixed_t)(.8 * FRACUNIT);
default:
break;
}
--- a/src/heretic/p_pspr.c
+++ b/src/heretic/p_pspr.c
@@ -1639,14 +1639,14 @@
puff = P_SpawnMobj(actor->x, actor->y, actor->z, MT_PHOENIXPUFF);
angle = actor->angle + ANG90;
angle >>= ANGLETOFINESHIFT;
- puff->momx = FixedMul(FRACUNIT * 1.3, finecosine[angle]);
- puff->momy = FixedMul(FRACUNIT * 1.3, finesine[angle]);
+ puff->momx = FixedMul((fixed_t)(FRACUNIT * 1.3), finecosine[angle]);
+ puff->momy = FixedMul((fixed_t)(FRACUNIT * 1.3), finesine[angle]);
puff->momz = 0;
puff = P_SpawnMobj(actor->x, actor->y, actor->z, MT_PHOENIXPUFF);
angle = actor->angle - ANG90;
angle >>= ANGLETOFINESHIFT;
- puff->momx = FixedMul(FRACUNIT * 1.3, finecosine[angle]);
- puff->momy = FixedMul(FRACUNIT * 1.3, finesine[angle]);
+ puff->momx = FixedMul((fixed_t)(FRACUNIT * 1.3), finecosine[angle]);
+ puff->momy = FixedMul((fixed_t)(FRACUNIT * 1.3), finesine[angle]);
puff->momz = 0;
}
@@ -1727,7 +1727,7 @@
void A_FlameEnd(mobj_t * actor)
{
- actor->momz += 1.5 * FRACUNIT;
+ actor->momz += (fixed_t)(1.5 * FRACUNIT);
}
//----------------------------------------------------------------------------
@@ -1738,7 +1738,7 @@
void A_FloatPuff(mobj_t * puff)
{
- puff->momz += 1.8 * FRACUNIT;
+ puff->momz += (fixed_t)(1.8 * FRACUNIT);
}
//---------------------------------------------------------------------------
--- a/src/heretic/r_data.c
+++ b/src/heretic/r_data.c
@@ -221,7 +221,7 @@
// fill in the lump / offset, so columns with only a single patch are
// all done
//
- patchcount = (byte *) alloca(texture->width);
+ patchcount = (byte *) Z_Malloc(texture->width, PU_STATIC, &patchcount);
memset(patchcount, 0, texture->width);
patch = texture->patches;
@@ -263,6 +263,8 @@
texturecompositesize[texnum] += texture->height;
}
}
+
+ Z_Free(patchcount);
}
@@ -322,7 +324,7 @@
names = W_CacheLumpName("PNAMES", PU_STATIC);
nummappatches = LONG(*((int *) names));
name_p = names + 4;
- patchlookup = alloca(nummappatches * sizeof(*patchlookup));
+ patchlookup = Z_Malloc(nummappatches * sizeof(*patchlookup), PU_STATIC, NULL);
for (i = 0; i < nummappatches; i++)
{
strncpy(name, name_p + i * 8, 8);
@@ -423,6 +425,8 @@
totalwidth += texture->width;
}
+ Z_Free(patchlookup);
+
W_ReleaseLumpName("TEXTURE1");
if (maptex2)
{
@@ -654,7 +658,7 @@
//
// precache flats
//
- flatpresent = alloca(numflats);
+ flatpresent = Z_Malloc(numflats, PU_STATIC, NULL);
memset(flatpresent, 0, numflats);
for (i = 0; i < numsectors; i++)
{
@@ -671,10 +675,12 @@
W_CacheLumpNum(lump, PU_CACHE);
}
+ Z_Free(flatpresent);
+
//
// precache textures
//
- texturepresent = alloca(numtextures);
+ texturepresent = Z_Malloc(numtextures, PU_STATIC, NULL);
memset(texturepresent, 0, numtextures);
for (i = 0; i < numsides; i++)
@@ -700,10 +706,12 @@
}
}
+ Z_Free(texturepresent);
+
//
// precache sprites
//
- spritepresent = alloca(numsprites);
+ spritepresent = Z_Malloc(numsprites, PU_STATIC, NULL);
memset(spritepresent, 0, numsprites);
for (th = thinkercap.next; th != &thinkercap; th = th->next)
@@ -728,4 +736,6 @@
}
}
}
+
+ Z_Free(spritepresent);
}
--- a/src/hexen/am_data.h
+++ b/src/hexen/am_data.h
@@ -108,9 +108,9 @@
#define R (FRACUNIT)
mline_t thintriangle_guy[] = {
- { { -.5*R, -.7*R }, { R, 0 } },
- { { R, 0 }, { -.5*R, .7*R } },
- { { -.5*R, .7*R }, { -.5*R, -.7*R } }
+ { { (fixed_t)(-.5*R), (fixed_t)(-.7*R) }, { (fixed_t)(R ), (fixed_t)(0 ) } },
+ { { (fixed_t)(R ), (fixed_t)(0 ) }, { (fixed_t)(-.5*R), (fixed_t)(.7*R ) } },
+ { { (fixed_t)(-.5*R), (fixed_t)(.7*R ) }, { (fixed_t)(-.5*R), (fixed_t)(-.7*R) } }
};
#undef R
#define NUMTHINTRIANGLEGUYLINES (sizeof(thintriangle_guy)/sizeof(mline_t))
--- a/src/hexen/p_mobj.c
+++ b/src/hexen/p_mobj.c
@@ -100,7 +100,7 @@
if (state == S_NULL)
{ // Remove mobj
- mobj->state = S_NULL;
+ mobj->state = (state_t *) S_NULL;
P_RemoveMobj(mobj);
return (false);
}
@@ -130,7 +130,7 @@
if (state == S_NULL)
{ // Remove mobj
- mobj->state = S_NULL;
+ mobj->state = (state_t *) S_NULL;
P_RemoveMobj(mobj);
return (false);
}
--- a/src/hexen/r_data.c
+++ b/src/hexen/r_data.c
@@ -218,7 +218,7 @@
// fill in the lump / offset, so columns with only a single patch are
// all done
//
- patchcount = (byte *) alloca(texture->width);
+ patchcount = (byte *) Z_Malloc(texture->width, PU_STATIC, &patchcount);
memset(patchcount, 0, texture->width);
patch = texture->patches;
@@ -260,6 +260,8 @@
texturecompositesize[texnum] += texture->height;
}
}
+
+ Z_Free(patchcount);
}
@@ -319,7 +321,7 @@
names = W_CacheLumpName("PNAMES", PU_STATIC);
nummappatches = LONG(*((int *) names));
name_p = names + 4;
- patchlookup = alloca(nummappatches * sizeof(*patchlookup));
+ patchlookup = Z_Malloc(nummappatches * sizeof(*patchlookup), PU_STATIC, NULL);
for (i = 0; i < nummappatches; i++)
{
strncpy(name, name_p + i * 8, 8);
@@ -403,6 +405,8 @@
totalwidth += texture->width;
}
+ Z_Free(patchlookup);
+
W_ReleaseLumpName("TEXTURE1");
if (maptex2)
W_ReleaseLumpName("TEXTURE2");
@@ -620,7 +624,7 @@
//
// precache flats
//
- flatpresent = alloca(numflats);
+ flatpresent = Z_Malloc(numflats, PU_STATIC, NULL);
memset(flatpresent, 0, numflats);
for (i = 0; i < numsectors; i++)
{
@@ -637,10 +641,12 @@
W_CacheLumpNum(lump, PU_CACHE);
}
+ Z_Free(flatpresent);
+
//
// precache textures
//
- texturepresent = alloca(numtextures);
+ texturepresent = Z_Malloc(numtextures, PU_STATIC, NULL);
memset(texturepresent, 0, numtextures);
for (i = 0; i < numsides; i++)
@@ -667,10 +673,12 @@
}
}
+ Z_Free(texturepresent);
+
//
// precache sprites
//
- spritepresent = alloca(numsprites);
+ spritepresent = Z_Malloc(numsprites, PU_STATIC, NULL);
memset(spritepresent, 0, numsprites);
for (th = thinkercap.next; th != &thinkercap; th = th->next)
@@ -695,4 +703,6 @@
}
}
}
+
+ Z_Free(spritepresent);
}
--- a/src/i_cdmus.c
+++ b/src/i_cdmus.c
@@ -25,6 +25,8 @@
//
//-----------------------------------------------------------------------------
+#include <stdio.h>
+
#include "SDL.h"
#include "SDL_cdrom.h"
--- a/src/i_main.c
+++ b/src/i_main.c
@@ -26,6 +26,8 @@
#include "config.h"
+#include <stdio.h>
+
#include "SDL.h"
#include "doomtype.h"
@@ -53,7 +55,7 @@
#define WIN32_LEAN_AND_MEAN
#include <windows.h>
-typedef BOOL WINAPI (*SetAffinityFunc)(HANDLE hProcess, DWORD_PTR mask);
+typedef BOOL (WINAPI *SetAffinityFunc)(HANDLE hProcess, DWORD mask);
// This is a bit more complicated than it really needs to be. We really
// just need to call the SetProcessAffinityMask function, but that
@@ -79,7 +81,7 @@
}
// Find the SetProcessAffinityMask function.
- SetAffinity = GetProcAddress(kernel32_dll, "SetProcessAffinityMask");
+ SetAffinity = (SetAffinityFunc)GetProcAddress(kernel32_dll, "SetProcessAffinityMask");
// If the function was not found, we are on an old (Win9x) system
// that doesn't have this function. That's no problem, because
--- a/src/i_system.h
+++ b/src/i_system.h
@@ -60,6 +60,7 @@
// Clean exit, displays sell blurb.
void I_Quit (void);
+void I_Error (char *error, ...);
// Allocates from low memory under dos,
// just mallocs under unix