diff options
-rw-r--r-- | msvc/doom.vcproj | 10 | ||||
-rw-r--r-- | msvc/heretic.vcproj | 6 | ||||
-rw-r--r-- | msvc/hexen.vcproj | 2 | ||||
-rw-r--r-- | msvc/server.vcproj | 10 | ||||
-rw-r--r-- | msvc/setup.vcproj | 10 | ||||
-rw-r--r-- | src/doomtype.h | 2 | ||||
-rw-r--r-- | src/heretic/am_data.h | 12 | ||||
-rw-r--r-- | src/heretic/am_map.c | 2 | ||||
-rw-r--r-- | src/heretic/p_enemy.c | 8 | ||||
-rw-r--r-- | src/heretic/p_mobj.c | 6 | ||||
-rw-r--r-- | src/heretic/p_pspr.c | 12 | ||||
-rw-r--r-- | src/heretic/r_data.c | 20 | ||||
-rw-r--r-- | src/hexen/am_data.h | 6 | ||||
-rw-r--r-- | src/hexen/p_mobj.c | 4 | ||||
-rw-r--r-- | src/hexen/r_data.c | 20 | ||||
-rw-r--r-- | src/i_cdmus.c | 2 | ||||
-rw-r--r-- | src/i_main.c | 6 | ||||
-rw-r--r-- | src/i_system.h | 1 |
18 files changed, 98 insertions, 41 deletions
diff --git a/msvc/doom.vcproj b/msvc/doom.vcproj index 2c3eb38e..c5714eea 100644 --- 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>
@@ -593,6 +597,10 @@ >
</File>
<File
+ RelativePath="..\src\i_endoom.c"
+ >
+ </File>
+ <File
RelativePath="..\src\i_joystick.c"
>
</File>
diff --git a/msvc/heretic.vcproj b/msvc/heretic.vcproj index c005da49..e9dbb0dd 100644 --- 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"
@@ -196,6 +196,10 @@ >
</File>
<File
+ RelativePath="..\src\i_endoom.c"
+ >
+ </File>
+ <File
RelativePath="..\src\i_joystick.c"
>
</File>
diff --git a/msvc/hexen.vcproj b/msvc/hexen.vcproj index c12e799e..12d247d1 100644 --- 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"
diff --git a/msvc/server.vcproj b/msvc/server.vcproj index 2ba219a6..d692267f 100644 --- 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>
@@ -244,6 +248,10 @@ >
</File>
<File
+ RelativePath="..\src\i_system.h"
+ >
+ </File>
+ <File
RelativePath="..\src\i_timer.h"
>
</File>
diff --git a/msvc/setup.vcproj b/msvc/setup.vcproj index cff08ff4..5e2a2efe 100644 --- 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"
@@ -295,6 +299,10 @@ RelativePath="..\setup\txt_mouseinput.h"
>
</File>
+ <File
+ RelativePath="..\textscreen\txt_scrollpane.h"
+ >
+ </File>
</Filter>
<Filter
Name="Resource Files"
diff --git a/src/doomtype.h b/src/doomtype.h index b79bd687..e38d921f 100644 --- 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 diff --git a/src/heretic/am_data.h b/src/heretic/am_data.h index 1f83d876..342f06a9 100644 --- a/src/heretic/am_data.h +++ b/src/heretic/am_data.h @@ -92,18 +92,18 @@ mline_t cheat_player_arrow[] = { #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)) #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)) diff --git a/src/heretic/am_map.c b/src/heretic/am_map.c index aa1b273b..99a8e206 100644 --- a/src/heretic/am_map.c +++ b/src/heretic/am_map.c @@ -131,7 +131,7 @@ static fixed_t old_m_x, old_m_y; 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; diff --git a/src/heretic/p_enemy.c b/src/heretic/p_enemy.c index 05566a07..6ad8cff0 100644 --- a/src/heretic/p_enemy.c +++ b/src/heretic/p_enemy.c @@ -1917,7 +1917,7 @@ void A_HeadIceImpact(mobj_t * ice) 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 @@ void A_VolcanoBlast(mobj_t * volcano) 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 @@ void A_VolcBallImpact(mobj_t * ball) 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); } diff --git a/src/heretic/p_mobj.c b/src/heretic/p_mobj.c index b5366501..e07ecf45 100644 --- a/src/heretic/p_mobj.c +++ b/src/heretic/p_mobj.c @@ -70,7 +70,7 @@ boolean P_SetMobjState(mobj_t * mobj, statenum_t state) 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 @@ boolean P_SetMobjStateNF(mobj_t * mobj, statenum_t state) 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 @@ void P_SpawnPuff(fixed_t x, fixed_t y, fixed_t z) break; case MT_GAUNTLETPUFF1: case MT_GAUNTLETPUFF2: - puff->momz = .8 * FRACUNIT; + puff->momz = (fixed_t)(.8 * FRACUNIT); default: break; } diff --git a/src/heretic/p_pspr.c b/src/heretic/p_pspr.c index 07a04ac7..7f9660ac 100644 --- a/src/heretic/p_pspr.c +++ b/src/heretic/p_pspr.c @@ -1639,14 +1639,14 @@ void A_PhoenixPuff(mobj_t * actor) 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_ShutdownPhoenixPL2(player_t * player, pspdef_t * psp) void A_FlameEnd(mobj_t * actor) { - actor->momz += 1.5 * FRACUNIT; + actor->momz += (fixed_t)(1.5 * FRACUNIT); } //---------------------------------------------------------------------------- @@ -1738,7 +1738,7 @@ void A_FlameEnd(mobj_t * actor) void A_FloatPuff(mobj_t * puff) { - puff->momz += 1.8 * FRACUNIT; + puff->momz += (fixed_t)(1.8 * FRACUNIT); } //--------------------------------------------------------------------------- diff --git a/src/heretic/r_data.c b/src/heretic/r_data.c index 9846196a..ee005248 100644 --- a/src/heretic/r_data.c +++ b/src/heretic/r_data.c @@ -221,7 +221,7 @@ void R_GenerateLookup(int texnum) // 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 @@ void R_GenerateLookup(int texnum) texturecompositesize[texnum] += texture->height; } } + + Z_Free(patchcount); } @@ -322,7 +324,7 @@ void R_InitTextures(void) 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 @@ void R_InitTextures(void) totalwidth += texture->width; } + Z_Free(patchlookup); + W_ReleaseLumpName("TEXTURE1"); if (maptex2) { @@ -654,7 +658,7 @@ void R_PrecacheLevel(void) // // 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 @@ void R_PrecacheLevel(void) 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 @@ void R_PrecacheLevel(void) } } + 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 @@ void R_PrecacheLevel(void) } } } + + Z_Free(spritepresent); } diff --git a/src/hexen/am_data.h b/src/hexen/am_data.h index db964598..e20e34ce 100644 --- a/src/hexen/am_data.h +++ b/src/hexen/am_data.h @@ -108,9 +108,9 @@ mline_t triangle_guy[] = { #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))
diff --git a/src/hexen/p_mobj.c b/src/hexen/p_mobj.c index 5d6f7097..ee8f8fd4 100644 --- a/src/hexen/p_mobj.c +++ b/src/hexen/p_mobj.c @@ -100,7 +100,7 @@ boolean P_SetMobjState(mobj_t * mobj, statenum_t state) 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 @@ boolean P_SetMobjStateNF(mobj_t * mobj, statenum_t state) if (state == S_NULL) { // Remove mobj - mobj->state = S_NULL; + mobj->state = (state_t *) S_NULL; P_RemoveMobj(mobj); return (false); } diff --git a/src/hexen/r_data.c b/src/hexen/r_data.c index bd020073..b82c0ff6 100644 --- a/src/hexen/r_data.c +++ b/src/hexen/r_data.c @@ -218,7 +218,7 @@ void R_GenerateLookup(int texnum) // 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 @@ void R_GenerateLookup(int texnum) texturecompositesize[texnum] += texture->height; } } + + Z_Free(patchcount); } @@ -319,7 +321,7 @@ void R_InitTextures(void) 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 @@ void R_InitTextures(void) totalwidth += texture->width; } + Z_Free(patchlookup); + W_ReleaseLumpName("TEXTURE1"); if (maptex2) W_ReleaseLumpName("TEXTURE2"); @@ -620,7 +624,7 @@ void R_PrecacheLevel(void) // // 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 @@ void R_PrecacheLevel(void) 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 @@ void R_PrecacheLevel(void) } } + 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 @@ void R_PrecacheLevel(void) } } } + + Z_Free(spritepresent); } diff --git a/src/i_cdmus.c b/src/i_cdmus.c index 5a52b143..94ac47c6 100644 --- a/src/i_cdmus.c +++ b/src/i_cdmus.c @@ -25,6 +25,8 @@ // //----------------------------------------------------------------------------- +#include <stdio.h> + #include "SDL.h" #include "SDL_cdrom.h" diff --git a/src/i_main.c b/src/i_main.c index a17d56b9..1ccc52c0 100644 --- 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 @@ static void LockCPUAffinity(void) #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 @@ static void LockCPUAffinity(void) } // 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 diff --git a/src/i_system.h b/src/i_system.h index b34f61e4..0697f7db 100644 --- a/src/i_system.h +++ b/src/i_system.h @@ -60,6 +60,7 @@ ticcmd_t* I_BaseTiccmd (void); // Clean exit, displays sell blurb. void I_Quit (void); +void I_Error (char *error, ...); // Allocates from low memory under dos, // just mallocs under unix |