25 Mar 2010

This commit is contained in:
g-cont 2010-03-25 00:00:00 +03:00 committed by Alibek Omarov
parent b354e05fd9
commit 3838496cd6
36 changed files with 2540 additions and 326 deletions

40
baserc/baserc.plg Normal file
View File

@ -0,0 +1,40 @@
<html>
<body>
<pre>
<h1>Build Log</h1>
<h3>
--------------------Configuration: baserc - Win32 Debug--------------------
</h3>
<h3>Command Lines</h3>
Creating temporary file "C:\DOCUME~1\ÌÈØÀ\LOCALS~1\Temp\RSP179F.tmp" with contents
[
/nologo /MDd /W3 /Gm /Gi /GX /ZI /Od /I "./" /I "../public" /I "../common" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /FR"..\temp\baserc\!debug/" /Fo"..\temp\baserc\!debug/" /Fd"..\temp\baserc\!debug/" /FD /GZ /c
"D:\Xash3D\src_main\baserc\rc_main.c"
]
Creating command line "cl.exe @"C:\DOCUME~1\ÌÈØÀ\LOCALS~1\Temp\RSP179F.tmp""
Creating temporary file "C:\DOCUME~1\ÌÈØÀ\LOCALS~1\Temp\RSP17A0.tmp" with contents
[
msvcrtd.lib /nologo /dll /incremental:yes /pdb:"..\temp\baserc\!debug/baserc.pdb" /debug /machine:I386 /nodefaultlib:"msvcrt.lib" /out:"..\temp\baserc\!debug/baserc.dll" /implib:"..\temp\baserc\!debug/baserc.lib" /pdbtype:sept
"\Xash3D\src_main\temp\baserc\!debug\rc_main.obj"
]
Creating command line "link.exe @"C:\DOCUME~1\ÌÈØÀ\LOCALS~1\Temp\RSP17A0.tmp""
Creating temporary file "C:\DOCUME~1\ÌÈØÀ\LOCALS~1\Temp\RSP17A1.bat" with contents
[
@echo off
copy \Xash3D\src_main\temp\baserc\!debug\baserc.dll "D:\Xash3D\bin\baserc.dll"
]
Creating command line ""C:\DOCUME~1\ÌÈØÀ\LOCALS~1\Temp\RSP17A1.bat""
Compiling...
rc_main.c
Linking...
<h3>Output Window</h3>
Performing Custom Build Step on \Xash3D\src_main\temp\baserc\!debug\baserc.dll
‘ª®¯¨à®¢ ­® ä ©«®¢: 1.
<h3>Results</h3>
baserc.dll - 0 error(s), 0 warning(s)
</pre>
</body>
</html>

16
client/client.plg Normal file
View File

@ -0,0 +1,16 @@
<html>
<body>
<pre>
<h1>Build Log</h1>
<h3>
--------------------Configuration: client - Win32 Debug--------------------
</h3>
<h3>Command Lines</h3>
<h3>Results</h3>
client.dll - 0 error(s), 0 warning(s)
</pre>
</body>
</html>

66
cms_qf/cms_qf.plg Normal file
View File

@ -0,0 +1,66 @@
<html>
<body>
<pre>
<h1>Build Log</h1>
<h3>
--------------------Configuration: cms_qf - Win32 Debug--------------------
</h3>
<h3>Command Lines</h3>
Creating temporary file "C:\DOCUME~1\ÌÈØÀ\LOCALS~1\Temp\RSP17AF.tmp" with contents
[
/nologo /MDd /W3 /Gm /Gi /GX /ZI /Od /I "../public" /I "../common" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /FR"..\temp\cms_qf\!debug/" /Fo"..\temp\cms_qf\!debug/" /Fd"..\temp\cms_qf\!debug/" /FD /GZ /c
"D:\Xash3D\src_main\cms_qf\cm_debug.c"
"D:\Xash3D\src_main\cms_qf\cm_main.c"
"D:\Xash3D\src_main\cms_qf\cm_math.c"
"D:\Xash3D\src_main\cms_qf\cm_model.c"
"D:\Xash3D\src_main\cms_qf\cm_patch.c"
"D:\Xash3D\src_main\cms_qf\cm_portals.c"
"D:\Xash3D\src_main\cms_qf\cm_studio.c"
"D:\Xash3D\src_main\cms_qf\cm_test.c"
"D:\Xash3D\src_main\cms_qf\cm_trace.c"
]
Creating command line "cl.exe @"C:\DOCUME~1\ÌÈØÀ\LOCALS~1\Temp\RSP17AF.tmp""
Creating temporary file "C:\DOCUME~1\ÌÈØÀ\LOCALS~1\Temp\RSP17B0.tmp" with contents
[
user32.lib msvcrtd.lib /nologo /dll /incremental:yes /pdb:"..\temp\cms_qf\!debug/cms_qf.pdb" /debug /machine:I386 /nodefaultlib:"libc.lib" /out:"..\temp\cms_qf\!debug/cms_qf.dll" /implib:"..\temp\cms_qf\!debug/cms_qf.lib" /pdbtype:sept
"\Xash3D\src_main\temp\cms_qf\!debug\cm_debug.obj"
"\Xash3D\src_main\temp\cms_qf\!debug\cm_main.obj"
"\Xash3D\src_main\temp\cms_qf\!debug\cm_math.obj"
"\Xash3D\src_main\temp\cms_qf\!debug\cm_model.obj"
"\Xash3D\src_main\temp\cms_qf\!debug\cm_patch.obj"
"\Xash3D\src_main\temp\cms_qf\!debug\cm_portals.obj"
"\Xash3D\src_main\temp\cms_qf\!debug\cm_studio.obj"
"\Xash3D\src_main\temp\cms_qf\!debug\cm_test.obj"
"\Xash3D\src_main\temp\cms_qf\!debug\cm_trace.obj"
]
Creating command line "link.exe @"C:\DOCUME~1\ÌÈØÀ\LOCALS~1\Temp\RSP17B0.tmp""
Creating temporary file "C:\DOCUME~1\ÌÈØÀ\LOCALS~1\Temp\RSP17B1.bat" with contents
[
@echo off
copy \Xash3D\src_main\temp\cms_qf\!debug\cms_qf.dll "D:\Xash3D\bin\cms_qf.dll"
]
Creating command line ""C:\DOCUME~1\ÌÈØÀ\LOCALS~1\Temp\RSP17B1.bat""
Compiling...
cm_debug.c
cm_main.c
cm_math.c
cm_model.c
cm_patch.c
cm_portals.c
cm_studio.c
cm_test.c
cm_trace.c
Generating Code...
Linking...
Creating library ..\temp\cms_qf\!debug/cms_qf.lib and object ..\temp\cms_qf\!debug/cms_qf.exp
<h3>Output Window</h3>
Performing Custom Build Step on \Xash3D\src_main\temp\cms_qf\!debug\cms_qf.dll
‘ª®¯¨à®¢ ­® ä ©«®¢: 1.
<h3>Results</h3>
cms_qf.dll - 0 error(s), 0 warning(s)
</pre>
</body>
</html>

72
cms_xr/cms_xr.plg Normal file
View File

@ -0,0 +1,72 @@
<html>
<body>
<pre>
<h1>Build Log</h1>
<h3>
--------------------Configuration: cms_xr - Win32 Debug--------------------
</h3>
<h3>Command Lines</h3>
Creating temporary file "C:\DOCUME~1\ÌÈØÀ\LOCALS~1\Temp\RSP17B6.tmp" with contents
[
/nologo /MDd /W3 /Gm /Gi /GX /ZI /Od /I "../public" /I "../common" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /FR"..\temp\cms_xr\!debug/" /Fo"..\temp\cms_xr\!debug/" /Fd"..\temp\cms_xr\!debug/" /FD /GZ /c
"D:\Xash3D\src_main\cms_xr\cm_debug.c"
"D:\Xash3D\src_main\cms_xr\cm_main.c"
"D:\Xash3D\src_main\cms_xr\cm_math.c"
"D:\Xash3D\src_main\cms_xr\cm_model.c"
"D:\Xash3D\src_main\cms_xr\cm_patch.c"
"D:\Xash3D\src_main\cms_xr\cm_polylib.c"
"D:\Xash3D\src_main\cms_xr\cm_portals.c"
"D:\Xash3D\src_main\cms_xr\cm_studio.c"
"D:\Xash3D\src_main\cms_xr\cm_test.c"
"D:\Xash3D\src_main\cms_xr\cm_trace.c"
"D:\Xash3D\src_main\cms_xr\cm_trisoup.c"
]
Creating command line "cl.exe @"C:\DOCUME~1\ÌÈØÀ\LOCALS~1\Temp\RSP17B6.tmp""
Creating temporary file "C:\DOCUME~1\ÌÈØÀ\LOCALS~1\Temp\RSP17B7.tmp" with contents
[
user32.lib msvcrtd.lib /nologo /dll /incremental:yes /pdb:"..\temp\cms_xr\!debug/cms_xr.pdb" /debug /machine:I386 /nodefaultlib:"libc.lib" /out:"..\temp\cms_xr\!debug/cms_xr.dll" /implib:"..\temp\cms_xr\!debug/cms_xr.lib" /pdbtype:sept
"\Xash3D\src_main\temp\cms_xr\!debug\cm_debug.obj"
"\Xash3D\src_main\temp\cms_xr\!debug\cm_main.obj"
"\Xash3D\src_main\temp\cms_xr\!debug\cm_math.obj"
"\Xash3D\src_main\temp\cms_xr\!debug\cm_model.obj"
"\Xash3D\src_main\temp\cms_xr\!debug\cm_patch.obj"
"\Xash3D\src_main\temp\cms_xr\!debug\cm_polylib.obj"
"\Xash3D\src_main\temp\cms_xr\!debug\cm_portals.obj"
"\Xash3D\src_main\temp\cms_xr\!debug\cm_studio.obj"
"\Xash3D\src_main\temp\cms_xr\!debug\cm_test.obj"
"\Xash3D\src_main\temp\cms_xr\!debug\cm_trace.obj"
"\Xash3D\src_main\temp\cms_xr\!debug\cm_trisoup.obj"
]
Creating command line "link.exe @"C:\DOCUME~1\ÌÈØÀ\LOCALS~1\Temp\RSP17B7.tmp""
Creating temporary file "C:\DOCUME~1\ÌÈØÀ\LOCALS~1\Temp\RSP17B8.bat" with contents
[
@echo off
copy \Xash3D\src_main\temp\cms_xr\!debug\cms_xr.dll "D:\Xash3D\bin\cms_xr.dll"
]
Creating command line ""C:\DOCUME~1\ÌÈØÀ\LOCALS~1\Temp\RSP17B8.bat""
Compiling...
cm_debug.c
cm_main.c
cm_math.c
cm_model.c
cm_patch.c
cm_polylib.c
cm_portals.c
cm_studio.c
cm_test.c
cm_trace.c
cm_trisoup.c
Generating Code...
Linking...
Creating library ..\temp\cms_xr\!debug/cms_xr.lib and object ..\temp\cms_xr\!debug/cms_xr.exp
<h3>Output Window</h3>
Performing Custom Build Step on \Xash3D\src_main\temp\cms_xr\!debug\cms_xr.dll
‘ª®¯¨à®¢ ­® ä ©«®¢: 1.
<h3>Results</h3>
cms_xr.dll - 0 error(s), 0 warning(s)
</pre>
</body>
</html>

View File

@ -217,8 +217,8 @@ typedef struct KeyValueData_s
typedef struct
{
char mapName[64];
char landmarkName[64];
char mapName[32];
char landmarkName[32];
edict_t *pentLandmark;
vec3_t vecLandmarkOrigin;
} LEVELLIST;
@ -259,10 +259,10 @@ typedef struct saverestore_s
// smooth transition
int fUseLandmark; // ENG
char szLandmarkName[64]; // probably not used
char szLandmarkName[20]; // landmark we'll spawn near in next level
vec3_t vecLandmarkOffset; // for landmark transitions
char szCurrentMap[64]; // ENG To check global entities
float time; // ENG current sv.time
char szCurrentMapName[32];// To check global entities
} SAVERESTOREDATA;
typedef enum _fieldtypes

View File

@ -274,7 +274,6 @@ void CL_ParseFrame( sizebuf_t *msg )
player = CL_GetLocalPlayer();
SCR_MakeLevelShot(); // make levelshot if needs
cls.drawplaque = true; // allow to drawing plaque
Cvar_SetValue( "scr_loading", 0.0f ); // reset progress bar
// getting a valid frame message ends the connection process

View File

@ -505,9 +505,13 @@ void CL_Changing_f( void )
// if we are downloading, we don't change! This so we don't suddenly stop downloading a map
if( cls.download ) return;
// disable plaque draw on change map
cls.drawplaque = false;
Cmd_ExecuteString( "plaque\n" );
S_StopAllSounds();
cl.audio_prepped = false; // don't play ambients
cls.state = ca_connected; // not active anymore, but not disconnected
// cls.state = ca_connected; // not active anymore, but not disconnected
Msg( "\nchanging map...\n" );
}
@ -527,7 +531,7 @@ void CL_Reconnect_f( void )
S_StopAllSounds ();
// disable plaque draw on change map
cls.drawplaque = false;
cls.drawplaque = false;
Cmd_ExecuteString( "plaque\n" );
if( cls.demoplayback ) return;
@ -1016,6 +1020,7 @@ CL_InitLocal
void CL_InitLocal( void )
{
cls.state = ca_disconnected;
cls.drawplaque = true;
// register our variables
cl_predict = Cvar_Get( "cl_predict", "1", CVAR_ARCHIVE, "disables client movement prediction" );

View File

@ -446,7 +446,6 @@ void SCR_RegisterShaders( void )
g_console_field_width = scr_width->integer / SMALLCHAR_WIDTH - 2;
g_consoleField.widthInChars = g_console_field_width;
cls.drawplaque = true;
}
/*

View File

@ -399,7 +399,7 @@ long IN_WndProc( void *hWnd, uint uMsg, uint wParam, long lParam )
host.hWnd = hWnd;
scr_xpos = Cvar_Get( "r_xpos", "3", CVAR_ARCHIVE, "window position by horizontal" );
scr_ypos = Cvar_Get( "r_ypos", "22", CVAR_ARCHIVE, "window position by vertical" );
scr_fullscreen = Cvar_Get( "fullscreen", "0", CVAR_ARCHIVE|CVAR_LATCH, "set in 1 to enable fullscreen mode" );
scr_fullscreen = Cvar_Get( "fullscreen", "0", CVAR_ARCHIVE|CVAR_LATCH_VIDEO, "toggle fullscreen" );
GetWindowRect( host.hWnd, &real_rect );
break;
case WM_CLOSE:

View File

@ -262,6 +262,10 @@ SOURCE=.\server\sv_save.c
# End Source File
# Begin Source File
SOURCE=.\server\sv_saverestore.c
# End Source File
# Begin Source File
SOURCE=.\server\sv_world.c
# End Source File
# Begin Source File

233
engine/engine.plg Normal file
View File

@ -0,0 +1,233 @@
<html>
<body>
<pre>
<h1>Build Log</h1>
<h3>
--------------------Configuration: engine - Win32 Debug--------------------
</h3>
<h3>Command Lines</h3>
Creating temporary file "C:\DOCUME~1\ĚČŘŔ\LOCALS~1\Temp\RSP17A3.tmp" with contents
[
/nologo /MDd /W3 /Gm /Gi /GX /ZI /Od /I "./" /I "common" /I "server" /I "client" /I "uimenu" /I "../public" /I "../common" /I "../pm_shared" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /FR"..\temp\engine\!debug/" /Fo"..\temp\engine\!debug/" /Fd"..\temp\engine\!debug/" /FD /c
"D:\Xash3D\src_main\engine\build.c"
"D:\Xash3D\src_main\engine\common\cinematic.c"
"D:\Xash3D\src_main\engine\client\cl_cmds.c"
"D:\Xash3D\src_main\engine\client\cl_demo.c"
"D:\Xash3D\src_main\engine\client\cl_effects.c"
"D:\Xash3D\src_main\engine\client\cl_frame.c"
"D:\Xash3D\src_main\engine\client\cl_game.c"
"D:\Xash3D\src_main\engine\client\cl_main.c"
"D:\Xash3D\src_main\engine\client\cl_move.c"
"D:\Xash3D\src_main\engine\client\cl_parse.c"
"D:\Xash3D\src_main\engine\client\cl_phys.c"
"D:\Xash3D\src_main\engine\client\cl_scrn.c"
"D:\Xash3D\src_main\engine\client\cl_tent.c"
"D:\Xash3D\src_main\engine\client\cl_video.c"
"D:\Xash3D\src_main\engine\client\cl_view.c"
"D:\Xash3D\src_main\engine\client\cl_world.c"
"D:\Xash3D\src_main\engine\common\com_keys.c"
"D:\Xash3D\src_main\engine\common\com_library.c"
"D:\Xash3D\src_main\engine\common\com_world.c"
"D:\Xash3D\src_main\engine\common\con_main.c"
"D:\Xash3D\src_main\engine\common\con_utils.c"
"D:\Xash3D\src_main\engine\common\engfuncs.c"
"D:\Xash3D\src_main\engine\host.c"
"D:\Xash3D\src_main\engine\common\infostring.c"
"D:\Xash3D\src_main\engine\common\input.c"
"D:\Xash3D\src_main\engine\common\net_chan.c"
"D:\Xash3D\src_main\engine\common\net_huff.c"
"D:\Xash3D\src_main\engine\common\net_msg.c"
"D:\Xash3D\src_main\engine\server\sv_client.c"
"D:\Xash3D\src_main\engine\server\sv_cmds.c"
"D:\Xash3D\src_main\engine\server\sv_frame.c"
"D:\Xash3D\src_main\engine\server\sv_game.c"
"D:\Xash3D\src_main\engine\server\sv_init.c"
"D:\Xash3D\src_main\engine\server\sv_main.c"
"D:\Xash3D\src_main\engine\server\sv_move.c"
"D:\Xash3D\src_main\engine\server\sv_phys.c"
"D:\Xash3D\src_main\engine\server\sv_save.c"
"D:\Xash3D\src_main\engine\server\sv_saverestore.c"
"D:\Xash3D\src_main\engine\server\sv_world.c"
"D:\Xash3D\src_main\engine\uimenu\ui_advcontrols.c"
"D:\Xash3D\src_main\engine\uimenu\ui_audio.c"
"D:\Xash3D\src_main\engine\uimenu\ui_configuration.c"
"D:\Xash3D\src_main\engine\uimenu\ui_controls.c"
"D:\Xash3D\src_main\engine\uimenu\ui_creategame.c"
"D:\Xash3D\src_main\engine\uimenu\ui_credits.c"
"D:\Xash3D\src_main\engine\uimenu\ui_customgame.c"
"D:\Xash3D\src_main\engine\uimenu\ui_gameoptions.c"
"D:\Xash3D\src_main\engine\uimenu\ui_langame.c"
"D:\Xash3D\src_main\engine\uimenu\ui_loadgame.c"
"D:\Xash3D\src_main\engine\uimenu\ui_main.c"
"D:\Xash3D\src_main\engine\uimenu\ui_menu.c"
"D:\Xash3D\src_main\engine\uimenu\ui_multiplayer.c"
"D:\Xash3D\src_main\engine\uimenu\ui_newgame.c"
"D:\Xash3D\src_main\engine\uimenu\ui_playdemo.c"
"D:\Xash3D\src_main\engine\uimenu\ui_playersetup.c"
"D:\Xash3D\src_main\engine\uimenu\ui_playrec.c"
"D:\Xash3D\src_main\engine\uimenu\ui_qmenu.c"
"D:\Xash3D\src_main\engine\uimenu\ui_recdemo.c"
"D:\Xash3D\src_main\engine\uimenu\ui_savegame.c"
"D:\Xash3D\src_main\engine\uimenu\ui_saveload.c"
"D:\Xash3D\src_main\engine\uimenu\ui_video.c"
"D:\Xash3D\src_main\engine\uimenu\ui_vidmodes.c"
"D:\Xash3D\src_main\engine\uimenu\ui_vidoptions.c"
]
Creating command line "cl.exe @"C:\DOCUME~1\ĚČŘŔ\LOCALS~1\Temp\RSP17A3.tmp""
Creating temporary file "C:\DOCUME~1\ĚČŘŔ\LOCALS~1\Temp\RSP17A4.tmp" with contents
[
user32.lib msvcrtd.lib /nologo /subsystem:windows /dll /incremental:yes /pdb:"..\temp\engine\!debug/engine.pdb" /debug /machine:I386 /nodefaultlib:"msvcrt.lib" /out:"..\temp\engine\!debug/engine.dll" /implib:"..\temp\engine\!debug/engine.lib" /pdbtype:sept
"\Xash3D\src_main\temp\engine\!debug\build.obj"
"\Xash3D\src_main\temp\engine\!debug\cinematic.obj"
"\Xash3D\src_main\temp\engine\!debug\cl_cmds.obj"
"\Xash3D\src_main\temp\engine\!debug\cl_demo.obj"
"\Xash3D\src_main\temp\engine\!debug\cl_effects.obj"
"\Xash3D\src_main\temp\engine\!debug\cl_frame.obj"
"\Xash3D\src_main\temp\engine\!debug\cl_game.obj"
"\Xash3D\src_main\temp\engine\!debug\cl_main.obj"
"\Xash3D\src_main\temp\engine\!debug\cl_move.obj"
"\Xash3D\src_main\temp\engine\!debug\cl_parse.obj"
"\Xash3D\src_main\temp\engine\!debug\cl_phys.obj"
"\Xash3D\src_main\temp\engine\!debug\cl_scrn.obj"
"\Xash3D\src_main\temp\engine\!debug\cl_tent.obj"
"\Xash3D\src_main\temp\engine\!debug\cl_video.obj"
"\Xash3D\src_main\temp\engine\!debug\cl_view.obj"
"\Xash3D\src_main\temp\engine\!debug\cl_world.obj"
"\Xash3D\src_main\temp\engine\!debug\com_keys.obj"
"\Xash3D\src_main\temp\engine\!debug\com_library.obj"
"\Xash3D\src_main\temp\engine\!debug\com_world.obj"
"\Xash3D\src_main\temp\engine\!debug\con_main.obj"
"\Xash3D\src_main\temp\engine\!debug\con_utils.obj"
"\Xash3D\src_main\temp\engine\!debug\engfuncs.obj"
"\Xash3D\src_main\temp\engine\!debug\host.obj"
"\Xash3D\src_main\temp\engine\!debug\infostring.obj"
"\Xash3D\src_main\temp\engine\!debug\input.obj"
"\Xash3D\src_main\temp\engine\!debug\net_chan.obj"
"\Xash3D\src_main\temp\engine\!debug\net_huff.obj"
"\Xash3D\src_main\temp\engine\!debug\net_msg.obj"
"\Xash3D\src_main\temp\engine\!debug\sv_client.obj"
"\Xash3D\src_main\temp\engine\!debug\sv_cmds.obj"
"\Xash3D\src_main\temp\engine\!debug\sv_frame.obj"
"\Xash3D\src_main\temp\engine\!debug\sv_game.obj"
"\Xash3D\src_main\temp\engine\!debug\sv_init.obj"
"\Xash3D\src_main\temp\engine\!debug\sv_main.obj"
"\Xash3D\src_main\temp\engine\!debug\sv_move.obj"
"\Xash3D\src_main\temp\engine\!debug\sv_phys.obj"
"\Xash3D\src_main\temp\engine\!debug\sv_save.obj"
"\Xash3D\src_main\temp\engine\!debug\sv_saverestore.obj"
"\Xash3D\src_main\temp\engine\!debug\sv_world.obj"
"\Xash3D\src_main\temp\engine\!debug\ui_advcontrols.obj"
"\Xash3D\src_main\temp\engine\!debug\ui_audio.obj"
"\Xash3D\src_main\temp\engine\!debug\ui_configuration.obj"
"\Xash3D\src_main\temp\engine\!debug\ui_controls.obj"
"\Xash3D\src_main\temp\engine\!debug\ui_creategame.obj"
"\Xash3D\src_main\temp\engine\!debug\ui_credits.obj"
"\Xash3D\src_main\temp\engine\!debug\ui_customgame.obj"
"\Xash3D\src_main\temp\engine\!debug\ui_gameoptions.obj"
"\Xash3D\src_main\temp\engine\!debug\ui_langame.obj"
"\Xash3D\src_main\temp\engine\!debug\ui_loadgame.obj"
"\Xash3D\src_main\temp\engine\!debug\ui_main.obj"
"\Xash3D\src_main\temp\engine\!debug\ui_menu.obj"
"\Xash3D\src_main\temp\engine\!debug\ui_multiplayer.obj"
"\Xash3D\src_main\temp\engine\!debug\ui_newgame.obj"
"\Xash3D\src_main\temp\engine\!debug\ui_playdemo.obj"
"\Xash3D\src_main\temp\engine\!debug\ui_playersetup.obj"
"\Xash3D\src_main\temp\engine\!debug\ui_playrec.obj"
"\Xash3D\src_main\temp\engine\!debug\ui_qmenu.obj"
"\Xash3D\src_main\temp\engine\!debug\ui_recdemo.obj"
"\Xash3D\src_main\temp\engine\!debug\ui_savegame.obj"
"\Xash3D\src_main\temp\engine\!debug\ui_saveload.obj"
"\Xash3D\src_main\temp\engine\!debug\ui_video.obj"
"\Xash3D\src_main\temp\engine\!debug\ui_vidmodes.obj"
"\Xash3D\src_main\temp\engine\!debug\ui_vidoptions.obj"
]
Creating command line "link.exe @"C:\DOCUME~1\ĚČŘŔ\LOCALS~1\Temp\RSP17A4.tmp""
Creating temporary file "C:\DOCUME~1\ĚČŘŔ\LOCALS~1\Temp\RSP17A5.bat" with contents
[
@echo off
copy \Xash3D\src_main\temp\engine\!debug\engine.dll "D:\Xash3D\bin\engine.dll"
]
Creating command line ""C:\DOCUME~1\ĚČŘŔ\LOCALS~1\Temp\RSP17A5.bat""
Compiling...
build.c
cinematic.c
cl_cmds.c
cl_demo.c
cl_effects.c
cl_frame.c
cl_game.c
cl_main.c
cl_move.c
cl_parse.c
cl_phys.c
cl_scrn.c
cl_tent.c
cl_video.c
cl_view.c
cl_world.c
com_keys.c
com_library.c
com_world.c
con_main.c
Generating Code...
Compiling...
con_utils.c
engfuncs.c
host.c
infostring.c
input.c
net_chan.c
net_huff.c
net_msg.c
sv_client.c
sv_cmds.c
sv_frame.c
sv_game.c
sv_init.c
sv_main.c
sv_move.c
sv_phys.c
sv_save.c
d:\xash3d\src_main\engine\server\sv_save.c(73) : error C2039: 'rotr' : is not a member of 'stdilib_api_s'
d:\xash3d\src_main\public\launch_api.h(414) : see declaration of 'stdilib_api_s'
sv_saverestore.c
sv_world.c
ui_advcontrols.c
Generating Code...
Compiling...
ui_audio.c
ui_configuration.c
ui_controls.c
ui_creategame.c
ui_credits.c
ui_customgame.c
ui_gameoptions.c
ui_langame.c
ui_loadgame.c
ui_main.c
ui_menu.c
ui_multiplayer.c
ui_newgame.c
ui_playdemo.c
ui_playersetup.c
ui_playrec.c
ui_qmenu.c
ui_recdemo.c
ui_savegame.c
ui_saveload.c
Generating Code...
Compiling...
ui_video.c
ui_vidmodes.c
ui_vidoptions.c
Generating Code...
Error executing cl.exe.
<h3>Output Window</h3>
<h3>Results</h3>
engine.dll - 1 error(s), 0 warning(s)
</pre>
</body>
</html>

View File

@ -45,7 +45,6 @@ typedef struct server_s
sv_state_t state; // precache commands are only valid during load
bool loadgame; // client begins should reuse existing entity
bool changelevel; // chnage map, reconnect clients, transfer entities, merge globals
int time; // sv.time += sv.frametime
int frametime;
@ -267,6 +266,7 @@ extern svgame_static_t svgame; // persistant game info
extern cvar_t *sv_pausable; // allows pause in multiplayer
extern cvar_t *sv_noreload; // don't reload level state when reentering
extern cvar_t *sv_newunit;
extern cvar_t *sv_airaccelerate;
extern cvar_t *sv_accelerate;
extern cvar_t *sv_friction;
@ -321,8 +321,8 @@ void SV_InitGame( void );
void SV_PrepModels( void );
void SV_ActivateServer( void );
void SV_DeactivateServer( void );
void SV_LevelInit( const char *newmap, const char *oldmap, const char *savename );
void SV_SpawnServer( const char *server, const char *startspot );
void SV_LevelInit( const char *pMapName, char const *pOldLevel, char const *pLandmarkName, bool loadGame );
bool SV_SpawnServer( const char *server, const char *startspot );
int SV_FindIndex( const char *name, int start, int end, bool create );
void SV_ClassifyEdict( edict_t *ent, int m_iNewClass );
@ -334,6 +334,7 @@ void SV_CheckVelocity( edict_t *ent );
bool SV_CheckWater( edict_t *ent );
bool SV_RunThink( edict_t *ent );
bool SV_UnstickEntity( edict_t *ent );
void SV_FreeOldEntities( void );
//
// sv_move.c
@ -386,6 +387,7 @@ void SV_Newgame_f( void );
void SV_WriteFrameToClient( sv_client_t *client, sizebuf_t *msg );
void SV_BuildClientFrame( sv_client_t *client );
void SV_UpdateEntityState( const edict_t *ent, bool baseline );
void SV_InactivateClients( void );
//
// sv_game.c
@ -428,11 +430,15 @@ _inline edict_t *SV_EDICT_NUM( int n, const char * file, const int line )
// sv_save.c
//
void SV_MergeLevelFile( const char *name );
void SV_ChangeLevel( bool bUseLandmark, const char *mapname, const char *start );
void SV_ChangeLevel( bool loadfromsavedgame, const char *mapname, const char *start );
void SV_WriteSaveFile( const char *name, bool autosave, bool bUseLandmark );
void SV_ReadSaveFile( const char *name );
void SV_ReadLevelFile( const char *name );
const char *SV_GetLatestSave( void );
void SV_ClearSaveDir( void );
int SV_LoadGameState( char const *level, bool createPlayers );
void SV_LoadAdjacentEnts( const char *pOldLevel, const char *pLandmarkName );
//============================================================
// high level object sorting to reduce interaction tests

View File

@ -640,7 +640,7 @@ void SV_PutClientInServer( edict_t *ent )
svgame.globals->time = sv.time * 0.001f;
ent->pvServerData->s.ed_type = ED_CLIENT; // init edict type
if( !sv.changelevel && !sv.loadgame )
if( !sv.loadgame )
{
if( ent->v.flags & FL_SPECTATOR )
{
@ -694,7 +694,6 @@ void SV_PutClientInServer( edict_t *ent )
Mem_EmptyPool( svgame.temppool ); // all tempstrings can be frees now
// clear any temp states
sv.changelevel = false;
sv.loadgame = false;
if( sv_maxclients->integer == 1 ) // singleplayer profiler

View File

@ -227,11 +227,10 @@ void SV_Map_f( void )
}
sv.loadgame = false; // set right state
sv.changelevel = false;
SV_InitGame ();
if( svs.initialized ) SV_InitGame ();
SV_SpawnServer( filename, NULL );
SV_LevelInit( filename, NULL, NULL );
SV_LevelInit( filename, NULL, NULL, false );
SV_ActivateServer ();
}
@ -272,11 +271,10 @@ void SV_Load_f( void )
}
sv.loadgame = true; // set right state
sv.changelevel = false;
SV_ReadSaveFile( filename );
SV_SpawnServer( svs.mapname, NULL );
SV_LevelInit( svs.mapname, NULL, filename );
SV_LevelInit( svs.mapname, NULL, filename, true );
SV_ActivateServer();
}

View File

@ -605,4 +605,35 @@ void SV_SendClientMessages( void )
Netchan_Transmit( &cl->netchan, 0, NULL );
}
}
}
/*
=======================
SV_InactivateClients
Purpose: Prepare for level transition, etc.
=======================
*/
void SV_InactivateClients( void )
{
int i;
sv_client_t *cl;
if( sv.state == ss_dead )
return;
// send a message to each connected client
for( i = 0, cl = svs.clients; i < sv_maxclients->integer; i++, cl++ )
{
if( !cl->state || !cl->edict ) continue;
if( !cl->edict || (cl->edict->v.flags & (FL_FAKECLIENT|FL_SPECTATOR)))
continue;
if( svs.clients[i].state > cs_connected )
svs.clients[i].state = cs_connected;
// clear netchan message (but keep other buffers)
MSG_Clear( &cl->netchan.message );
}
}

View File

@ -697,7 +697,6 @@ bool SV_IsValidEdict( const edict_t *e )
{
if( !e ) return false;
if( e->free ) return false;
if( e == EDICT_NUM( 0 )) return false; // world is the read-only entity
if( !e->pvServerData ) return false;
// edict without pvPrivateData is valid edict
// server.dll know how allocate it
@ -976,10 +975,15 @@ pfnChangeLevel
*/
void pfnChangeLevel( const char* s1, const char* s2 )
{
// make sure we don't issue two changelevels
if( sv.changelevel ) return;
static int last_spawncount;
if( !s1 || s1[0] <= ' ' ) return;
// make sure we don't issue two changelevels
if( svs.spawncount == last_spawncount ) return;
last_spawncount = svs.spawncount;
if( !s2 ) Cbuf_AddText( va( "changelevel %s\n", s1 )); // Quake changlevel
else Cbuf_AddText( va( "changelevel %s %s\n", s1, s2 )); // Half-Life changelevel
}
@ -3783,7 +3787,6 @@ parsing textual entity definitions out of an ent file.
void SV_SpawnEntities( const char *mapname, script_t *entities )
{
edict_t *ent;
int i;
MsgDev( D_NOTE, "SV_SpawnEntities()\n" );
@ -3803,19 +3806,6 @@ void SV_SpawnEntities( const char *mapname, script_t *entities )
// spawn the rest of the entities on the map
SV_LoadFromFile( entities );
// set client fields on player ents
if( !sv.loadgame && !sv.changelevel )
{
for( i = 0; i < svgame.globals->maxClients; i++ )
{
// setup all clients
ent = EDICT_NUM( i + 1 );
SV_InitEdict( ent );
SV_AllocPrivateData( ent, MAKE_STRING( "player" ));
ent->pvServerData->client = svs.clients + i;
ent->pvServerData->client->edict = ent;
}
}
MsgDev( D_LOAD, "Total %i entities spawned\n", svgame.globals->numEntities );
}
@ -3882,8 +3872,7 @@ void SV_LoadProgs( const char *name )
}
// 65535 unique strings should be enough ...
if( !sv.loadgame && !sv.changelevel )
svgame.hStringTable = StringTable_Create( "Server", 0x10000 );
if( !sv.loadgame ) svgame.hStringTable = StringTable_Create( "Server", 0x10000 );
svgame.globals->maxEntities = GI->max_edicts;
svgame.globals->maxClients = sv_maxclients->integer;
svgame.edicts = Mem_Alloc( svgame.mempool, sizeof( edict_t ) * svgame.globals->maxEntities );

View File

@ -221,7 +221,7 @@ void SV_DeactivateServer( void )
sv.state = ss_dead;
// leave unchanged, because we wan't load it twice
if( !sv.loadgame ) StringTable_Clear( svgame.hStringTable );
// if( !sv.loadgame ) StringTable_Clear( svgame.hStringTable );
svgame.dllFuncs.pfnServerDeactivate();
@ -238,20 +238,32 @@ SV_LevelInit
Spawn all entities
================
*/
void SV_LevelInit( const char *newmap, const char *oldmap, const char *savename )
void SV_LevelInit( const char *pMapName, char const *pOldLevel, char const *pLandmarkName, bool loadGame )
{
if( sv.loadgame )
if( loadGame )
{
if( savename ) SV_ReadLevelFile( savename );
else SV_SpawnEntities( newmap, CM_GetEntityScript( ));
if( !SV_LoadGameState( pMapName, 1 ))
{
SV_SpawnEntities( pMapName, CM_GetEntityScript( ));
}
if( pOldLevel )
{
SV_LoadAdjacentEnts( pOldLevel, pLandmarkName );
}
if( sv_newunit->integer )
{
Cvar_SetValue( "sv_newunit", 0 );
SV_ClearSaveDir();
}
}
else if( sv.changelevel )
else
{
// SV_SpawnEntities( newmap, CM_GetEntityScript( ));
SV_ReadSaveFile( savename ); // initialize StringTable and globals
SV_MergeLevelFile( savename );// combine moveable entities with newmap
SV_SpawnEntities( pMapName, CM_GetEntityScript( ));
}
else SV_SpawnEntities( newmap, CM_GetEntityScript());
SV_FreeOldEntities ();
}
/*
@ -263,18 +275,17 @@ clients along with it.
================
*/
void SV_SpawnServer( const char *server, const char *startspot )
bool SV_SpawnServer( const char *server, const char *startspot )
{
uint i, checksum;
int current_skill;
bool loadgame, changelevel;
edict_t *ent;
bool loadgame;
Msg( "SpawnServer [^2%s^7]\n", server );
Cmd_ExecuteString( "latch\n" );
if( sv.state == ss_dead && !sv.loadgame && !sv.changelevel )
if( sv.state == ss_dead && !sv.loadgame )
SV_InitGame(); // the game is just starting
SV_BroadcastCommand( "changing\n" );
@ -291,7 +302,6 @@ void SV_SpawnServer( const char *server, const char *startspot )
// save state
loadgame = sv.loadgame;
changelevel = sv.changelevel;
sv.state = ss_dead;
Host_SetServerState( sv.state );
@ -300,7 +310,6 @@ void SV_SpawnServer( const char *server, const char *startspot )
// restore state
sv.paused = false;
sv.loadgame = loadgame;
sv.changelevel = changelevel;
// initialize buffers
MSG_Init( &sv.multicast, sv.multicast_buf, sizeof( sv.multicast_buf ));
@ -309,14 +318,9 @@ void SV_SpawnServer( const char *server, const char *startspot )
// leave slots at start for clients only
for( i = 0; i < sv_maxclients->integer; i++ )
{
ent = EDICT_NUM( i + 1 );
ent->serialnumber = i + 1;
svs.clients[i].edict = ent;
// needs to reconnect
if( svs.clients[i].state > cs_connected )
svs.clients[i].state = cs_connected;
Mem_Set( &svs.clients[i].lastcmd, 0, sizeof( svs.clients[i].lastcmd ));
svs.clients[i].lastframe = -1;
}
@ -355,6 +359,8 @@ void SV_SpawnServer( const char *server, const char *startspot )
// precache and static commands can be issued during map initialization
sv.state = ss_loading;
Host_SetServerState( sv.state );
return true;
}
/*
@ -367,6 +373,8 @@ A brand new game has been started
void SV_InitGame( void )
{
string idmaster;
edict_t *ent;
int i;
if( svs.initialized )
{
@ -406,8 +414,8 @@ void SV_InitGame( void )
{
if( sv_maxclients->integer <= 1 )
Cvar_FullSet( "sv_maxclients", "8", CVAR_SERVERINFO|CVAR_LATCH );
else if( sv_maxclients->integer > 255 )
Cvar_FullSet( "sv_maxclients", "255", CVAR_SERVERINFO|CVAR_LATCH );
else if( sv_maxclients->integer > MAX_CLIENTS )
Cvar_FullSet( "sv_maxclients", "32", CVAR_SERVERINFO|CVAR_LATCH );
}
else if( Cvar_VariableValue( "coop" ))
{
@ -440,6 +448,21 @@ void SV_InitGame( void )
svs.last_heartbeat = MAX_HEARTBEAT; // send immediately
com.sprintf( idmaster, "192.246.40.37:%i", PORT_MASTER );
NET_StringToAdr( idmaster, &master_adr[0] );
// set client fields on player ents
for( i = 0; i < svgame.globals->maxClients; i++ )
{
// setup all the clients
ent = EDICT_NUM( i + 1 );
SV_InitEdict( ent );
// make crosslinks
svs.clients[i].edict = ent;
ent->pvServerData->client = svs.clients + i;
ent->pvServerData->client->edict = ent;
Mem_Set( &svs.clients[i].lastcmd, 0, sizeof( svs.clients[i].lastcmd ));
}
}
bool SV_Active( void )

View File

@ -13,6 +13,7 @@ netadr_t master_adr[MAX_MASTERS]; // address of group servers
cvar_t *sv_fps;
cvar_t *sv_enforcetime;
cvar_t *sv_pausable;
cvar_t *sv_newunit;
cvar_t *timeout; // seconds without any message
cvar_t *zombietime; // seconds to sink messages after disconnect
cvar_t *rcon_password; // password for remote server commands
@ -511,7 +512,7 @@ void SV_Init( void )
SV_InitOperatorCommands();
rcon_password = Cvar_Get( "rcon_password", "", 0, "remote connect password" );
Cvar_Get ("skill", "1", 0, "game skill level" );
Cvar_Get ("skill", "1", CVAR_LATCH, "game skill level" );
Cvar_Get ("deathmatch", "0", CVAR_SERVERINFO|CVAR_LATCH, "displays deathmatch state" );
Cvar_Get ("teamplay", "0", CVAR_SERVERINFO|CVAR_LATCH, "displays teamplay state" );
Cvar_Get ("coop", "0", CVAR_SERVERINFO|CVAR_LATCH, "displays cooperative state" );
@ -522,9 +523,18 @@ void SV_Init( void )
Cvar_Get ("defaultmap", "", 0, "holds the multiplayer mapname" );
Cvar_Get ("sv_aim", "1", 0, "enable auto-aiming" );
// half-life legacy
Cvar_Get ("sv_skycolor_r", "0", 0, "skycolor red (hl1 legacy)" );
Cvar_Get ("sv_skycolor_g", "0", 0, "skycolor green (hl1 legacy)" );
Cvar_Get ("sv_skycolor_b", "0", 0, "skycolor blue (hl1 legacy)" );
Cvar_Get ("sv_skyvec_x", "0", 0, "sky direction x (hl1 legacy)" );
Cvar_Get ("sv_skyvec_y", "0", 0, "sky direction y (hl1 legacy)" );
Cvar_Get ("sv_skyvec_z", "0", 0, "sky direction z (hl1 legacy)" );
sv_fps = Cvar_Get( "sv_fps", "72.1", CVAR_ARCHIVE, "running server physics at" );
sv_stepheight = Cvar_Get( "sv_stepheight", "18", CVAR_ARCHIVE|CVAR_PHYSICINFO, "how high you can step up" );
sv_playersonly = Cvar_Get( "playersonly", "0", 0, "freezes time, except for players" );
sv_newunit = Cvar_Get( "sv_newunit", "0", 0, "sets to 1 while new unit is loading" );
hostname = Cvar_Get( "sv_hostname", "unnamed", CVAR_SERVERINFO | CVAR_ARCHIVE, "host name" );
timeout = Cvar_Get( "timeout", "125", 0, "connection timeout" );
zombietime = Cvar_Get( "zombietime", "2", 0, "timeout for clients-zombie (who died but not respawned)" );
@ -540,7 +550,7 @@ void SV_Init( void )
sv_rollspeed = Cvar_Get( "sv_rollspeed", "200", CVAR_PHYSICINFO, "how much strafing is necessary to tilt the view" );
sv_airaccelerate = Cvar_Get("sv_airaccelerate", "1", CVAR_PHYSICINFO, "player accellerate in air" );
sv_idealpitchscale = Cvar_Get( "sv_idealpitchscale", "0.8", 0, "how much to look up/down slopes and stairs when not using freelook" );
sv_maxvelocity = Cvar_Get( "sv_maxvelocity", "2000", CVAR_LATCH|CVAR_PHYSICINFO, "max world velocity" );
sv_maxvelocity = Cvar_Get( "sv_maxvelocity", "2000", CVAR_PHYSICINFO, "max world velocity" );
sv_gravity = Cvar_Get( "sv_gravity", "800", CVAR_PHYSICINFO, "world gravity" );
sv_maxspeed = Cvar_Get( "sv_maxspeed", "320", CVAR_PHYSICINFO, "maximum speed a player can accelerate to when on ground");
sv_accelerate = Cvar_Get( "sv_accelerate", "10", CVAR_PHYSICINFO, "rate at which a player accelerates to sv_maxspeed" );

View File

@ -1979,6 +1979,25 @@ static void SV_Physics_Entity( edict_t *ent )
}
}
void SV_FreeOldEntities( void )
{
edict_t *ent;
int i;
// at end of frame kill all entities which supposed to it
for( i = svgame.globals->maxClients + 1; i < svgame.globals->numEntities; i++ )
{
ent = EDICT_NUM( i );
if( ent->free ) continue;
if( ent->v.flags & FL_KILLME )
SV_FreeEdict( ent );
}
// decrement svgame.globals->numEntities if the highest number entities died
for( ; EDICT_NUM( svgame.globals->numEntities - 1)->free; svgame.globals->numEntities-- );
}
/*
================
SV_Physics
@ -1995,6 +2014,7 @@ void SV_Physics( void )
svgame.globals->frametime = sv.frametime * 0.001f;
svgame.dllFuncs.pfnStartFrame();
SV_FreeOldEntities (); // released in PM_Move
SV_CheckAllEnts ();
// treat each object in turn
@ -2021,23 +2041,13 @@ void SV_Physics( void )
svgame.globals->time = sv.time * 0.001f;
// at end of frame kill all entities which supposed to it
for( i = svgame.globals->maxClients + 1; i < svgame.globals->numEntities; i++ )
{
ent = EDICT_NUM( i );
if( ent->free ) continue;
if( ent->v.flags & FL_KILLME )
SV_FreeEdict( ent );
}
SV_FreeOldEntities();
if( svgame.globals->force_retouch > 0 )
svgame.globals->force_retouch = max( 0, svgame.globals->force_retouch - 1 );
svgame.dllFuncs.pfnEndFrame();
// decrement svgame.globals->numEntities if the highest number entities died
for( ; EDICT_NUM( svgame.globals->numEntities - 1)->free; svgame.globals->numEntities-- );
if( !sv_playersonly->integer )
sv.time += sv.frametime;
}

View File

@ -65,7 +65,6 @@ static TYPEDESCRIPTION gETable[] =
DEFINE_FIELD( ENTITYTABLE, classname, FIELD_STRING ),
};
// FIXME: implement _rotr into Xash::stdlib
static uint SV_HashString( const char *pszToken )
{
uint hash = 0;
@ -227,12 +226,6 @@ static void SV_SaveServerData( wfile_t *f, const char *name, bool bUseLandMark )
{
LEVELLIST *pList = &pSaveData->levelList[i];
svgame.dllFuncs.pfnSaveWriteFields( pSaveData, "ADJACENCY", pList, gAdjacency, ARRAYSIZE( gAdjacency ));
if( sv.changelevel && !com.strcmp( pList->mapName, name ))
{
level_flags = (1<<i);
Msg( "%s set level flags to: %x\n", name, level_flags );
}
}
SV_SaveBuffer( f, LUMP_ADJACENCY, false );
@ -243,39 +236,15 @@ static void SV_SaveServerData( wfile_t *f, const char *name, bool bUseLandMark )
edict_t *pent = EDICT_NUM( i );
ENTITYTABLE *pTable = &pSaveData->pTable[pSaveData->currentIndex];
if( sv.changelevel )
// savegame
if( !pent->free && pent->v.classname )
{
bool bSave = false;
// check for client ents
if( pTable->flags & (FENTTABLE_PLAYER|FENTTABLE_GLOBAL))
bSave = true;
if( pTable->flags & FENTTABLE_MOVEABLE && pTable->flags & level_flags )
bSave = true;
if( bSave )
{
svgame.dllFuncs.pfnSave( pent, pSaveData );
if( pTable->classname && pTable->size )
pTable->id = pent->serialnumber;
else pTable->flags |= FENTTABLE_REMOVED;
}
else pTable->flags |= FENTTABLE_REMOVED;
}
else
{
// savegame
if( !pent->free && pent->v.classname )
{
svgame.dllFuncs.pfnSave( pent, pSaveData );
if( pTable->classname && pTable->size )
pTable->id = pent->serialnumber;
else pTable->flags |= FENTTABLE_REMOVED;
}
svgame.dllFuncs.pfnSave( pent, pSaveData );
if( pTable->classname && pTable->size )
pTable->id = pent->serialnumber;
else pTable->flags |= FENTTABLE_REMOVED;
}
else pTable->flags |= FENTTABLE_REMOVED;
pSaveData->currentIndex++; // move pointer
}
@ -353,12 +322,15 @@ void SV_WriteSaveFile( const char *inname, bool autosave, bool bUseLandmark )
string path, name;
float total;
if( sv.state != ss_active ) return;
if( sv.state != ss_active )
return;
if( svgame.globals->deathmatch || svgame.globals->coop || svgame.globals->teamplay )
{
MsgDev( D_ERROR, "SV_WriteSaveFile: can't savegame in a multiplayer\n" );
return;
}
if( sv_maxclients->integer == 1 && svs.clients[0].edict->v.health <= 0 )
{
MsgDev( D_ERROR, "SV_WriteSaveFile: can't savegame while dead!\n" );
@ -519,9 +491,8 @@ void SV_ReadGlobals( wfile_t *l )
svgame.dllFuncs.pfnSaveReadFields( pSaveData, "Game Header", &ghdr, gGameHeader, ARRAYSIZE( gGameHeader ));
svgame.globals->serverflags= ghdr.serverflags; // across transition flags (e.g. Q1 runes)
if( sv.loadgame && !sv.changelevel )
if( sv.loadgame )
{
Msg( "SV_ReadGlobals()\n" );
svs.spawncount = ghdr.mapCount; // restore spawncount
svgame.globals->found_secrets = ghdr.found_secrets;
Mem_Copy( svs.comment, ghdr.comment, MAX_STRING );
@ -561,12 +532,6 @@ void SV_ReadEntities( wfile_t *l )
{
pSaveData->fUseLandmark = true;
}
else if( sv.changelevel )
{
if( com.strlen( sv.startspot ))
pSaveData->fUseLandmark = true;
else pSaveData->fUseLandmark = false; // can be changed later
}
// read save header
svgame.dllFuncs.pfnSaveReadFields( pSaveData, "Save Header", &shdr, gSaveHeader, ARRAYSIZE( gSaveHeader ));
@ -593,17 +558,6 @@ void SV_ReadEntities( wfile_t *l )
{
pList = &pSaveData->levelList[i];
svgame.dllFuncs.pfnSaveReadFields( pSaveData, "ADJACENCY", pList, gAdjacency, ARRAYSIZE( gAdjacency ));
if( sv.changelevel && !com.strcmp( pList->mapName, sv.name ))
{
level_flags = (1<<i);
Msg( "%s get level flags: %x\n", sv.name, level_flags );
com.strcpy( pSaveData->szCurrentMap, pList->mapName );
com.strcpy( pSaveData->szLandmarkName, pList->landmarkName );
VectorCopy( pList->vecLandmarkOrigin, pSaveData->vecLandmarkOffset );
pSaveData->fUseLandmark = true;
pSaveData->time = shdr.time;
}
}
// initialize ENTITYTABLE
@ -633,35 +587,10 @@ void SV_ReadEntities( wfile_t *l )
pTable = &pSaveData->pTable[i];
svgame.dllFuncs.pfnSaveReadFields( pSaveData, "ETABLE", pTable, gETable, ARRAYSIZE( gETable ));
if( sv.loadgame )
{
if( pTable->flags & FENTTABLE_REMOVED ) SV_FreeEdict( pent );
else pent = SV_AllocPrivateData( pent, pTable->classname );
}
else if( sv.changelevel )
{
bool bAlloc = false;
// check for client or global entity
if( pTable->flags & (FENTTABLE_PLAYER|FENTTABLE_GLOBAL))
bAlloc = true;
if( pTable->flags & FENTTABLE_REMOVED ) SV_FreeEdict( pent );
else pent = SV_AllocPrivateData( pent, pTable->classname );
if( pTable->flags & FENTTABLE_MOVEABLE && pTable->flags & level_flags )
bAlloc = true;
if( !pTable->id || !pTable->classname )
bAlloc = false;
if( bAlloc )
{
if( pent->free ) SV_InitEdict( pent );
pent = SV_AllocPrivateData( pent, pTable->classname );
svgame.globals->numEntities++;
num_moveables++;
}
}
if( sv.loadgame && ( pTable->id != pent->serialnumber ))
if( pTable->id != pent->serialnumber )
MsgDev( D_ERROR, "ETABLE id( %i ) != edict->id( %i )\n", pTable->id, pent->serialnumber );
pTable->pent = pent;
@ -669,11 +598,8 @@ void SV_ReadEntities( wfile_t *l )
Msg( "total %i moveables, %i entities\n", num_moveables, svgame.globals->numEntities );
if( sv.changelevel )
{
// spawn all the entities of the newmap
SV_SpawnEntities( sv.name, CM_GetEntityScript( ));
}
// spawn all the entities of the newmap
SV_SpawnEntities( sv.name, CM_GetEntityScript( ));
SV_ReadBuffer( l, LUMP_BASEENTS );
@ -683,29 +609,10 @@ void SV_ReadEntities( wfile_t *l )
edict_t *pent = EDICT_NUM( i );
pTable = &pSaveData->pTable[i];
if( sv.loadgame )
// ignore removed edicts
if( !pent->free && pTable->classname )
{
// ignore removed edicts
if( !pent->free && pTable->classname )
{
svgame.dllFuncs.pfnRestore( pent, pSaveData, false );
}
}
else if( sv.changelevel )
{
bool bRestore = false;
bool bGlobal = (pTable->flags & FENTTABLE_GLOBAL) ? true : false;
if( pTable->flags & (FENTTABLE_PLAYER|FENTTABLE_GLOBAL)) bRestore = true;
if( pTable->flags & FENTTABLE_MOVEABLE && pTable->flags & level_flags )
bRestore = true;
if( !pTable->id || !pTable->classname ) bRestore = false;
if( bRestore )
{
MsgDev( D_INFO, "Transfering %s ( *%i )\n", STRING( pTable->classname ), i );
svgame.dllFuncs.pfnRestore( pent, pSaveData, bGlobal );
}
svgame.dllFuncs.pfnRestore( pent, pSaveData, false );
}
pSaveData->currentIndex++;
}
@ -738,13 +645,10 @@ void SV_ReadSaveFile( const char *name )
if( svgame.hInstance ) StringTable_Delete( svgame.hStringTable ); // remove old string table
svgame.hStringTable = StringTable_Load( savfile, "Server" );
if( sv.loadgame && !sv.changelevel )
{
SV_ReadCvars( savfile );
SV_InitGame(); // start a new game fresh with new cvars
SV_ReadCvars( savfile );
SV_InitGame(); // start a new game fresh with new cvars
sv.loadgame = true; // restore state
}
sv.loadgame = true; // restore state
SV_ReadGlobals( savfile );
WAD_Close( savfile );
@ -799,61 +703,6 @@ void SV_MergeLevelFile( const char *name )
WAD_Close( savfile );
}
/*
=============
SV_ChangeLevel
=============
*/
void SV_ChangeLevel( bool bUseLandmark, const char *mapname, const char *start )
{
string level;
string oldlevel;
string _startspot;
char *startspot, *savename;
if( sv.state != ss_active )
{
Msg( "SV_ChangeLevel: server not running\n");
return;
}
sv.loadgame = false;
sv.changelevel = true;
if( bUseLandmark )
{
com.strncpy( _startspot, start, MAX_STRING );
startspot = _startspot;
savename = _startspot;
}
else
{
startspot = NULL;
savename = level;
}
com.strncpy( level, mapname, MAX_STRING );
com.strncpy( oldlevel, sv.name, MAX_STRING );
// NOTE: we must save state even landmark is missed
// so transfer client weapons and env_global states
SV_WriteSaveFile( level, true, bUseLandmark );
SV_BroadcastCommand( "reconnect\n" );
SV_SendClientMessages();
SV_DeactivateServer ();
svs.spawncount = Com_RandomLong( 0, 65535 );
SV_SpawnServer( level, startspot );
SV_LevelInit( level, oldlevel, level );
SV_ActivateServer ();
}
bool SV_GetComment( const char *savename, char *comment )
{
wfile_t *savfile;

File diff suppressed because it is too large Load Diff

View File

@ -388,45 +388,53 @@ FILEMATCH COMMON SYSTEM
*/
int matchpattern(const char *in, const char *pattern, bool caseinsensitive)
{
int c1, c2;
while (*pattern)
int c1, c2;
while( *pattern )
{
switch (*pattern)
switch( *pattern )
{
case 0: return 1; // end of pattern
case '?': // match any single character
if (*in == 0 || *in == '/' || *in == '\\' || *in == ':') return 0; // no match
if( *in == 0 || *in == '/' || *in == '\\' || *in == ':' )
return 0; // no match
in++;
pattern++;
break;
case '*': // match anything until following string
if (!*in) return 1; // match
if( !*in ) return 1; // match
pattern++;
while (*in)
while( *in )
{
if (*in == '/' || *in == '\\' || *in == ':') break;
if( *in == '/' || *in == '\\' || *in == ':' )
break;
// see if pattern matches at this offset
if (matchpattern(in, pattern, caseinsensitive)) return 1;
if( matchpattern( in, pattern, caseinsensitive ))
return 1;
// nope, advance to next offset
in++;
}
break;
default:
if (*in != *pattern)
if( *in != *pattern )
{
if (!caseinsensitive) return 0; // no match
if( !caseinsensitive )
return 0; // no match
c1 = *in;
if (c1 >= 'A' && c1 <= 'Z') c1 += 'a' - 'A';
if( c1 >= 'A' && c1 <= 'Z' )
c1 += 'a' - 'A';
c2 = *pattern;
if (c2 >= 'A' && c2 <= 'Z') c2 += 'a' - 'A';
if (c1 != c2) return 0; // no match
if( c2 >= 'A' && c2 <= 'Z' )
c2 += 'a' - 'A';
if( c1 != c2) return 0; // no match
}
in++;
pattern++;
break;
}
}
if (*in) return 0; // reached end of pattern but not end of input
if( *in ) return 0; // reached end of pattern but not end of input
return 1; // success
}

113
launch/launch.plg Normal file
View File

@ -0,0 +1,113 @@
<html>
<body>
<pre>
<h1>Build Log</h1>
<h3>
--------------------Configuration: launch - Win32 Debug--------------------
</h3>
<h3>Command Lines</h3>
Creating temporary file "C:\DOCUME~1\ĚČŘŔ\LOCALS~1\Temp\RSP17A7.tmp" with contents
[
/nologo /MDd /W3 /Gm /Gi /GX /ZI /Od /I "./" /I "imagelib" /I "../public" /I "../common" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /FR"..\temp\launch\!debug/" /Fo"..\temp\launch\!debug/" /Fd"..\temp\launch\!debug/" /FD /GZ /c
"D:\Xash3D\src_main\launch\cmd.c"
"D:\Xash3D\src_main\launch\console.c"
"D:\Xash3D\src_main\launch\cpuinfo.c"
"D:\Xash3D\src_main\launch\crclib.c"
"D:\Xash3D\src_main\launch\cvar.c"
"D:\Xash3D\src_main\launch\export.c"
"D:\Xash3D\src_main\launch\filesystem.c"
"D:\Xash3D\src_main\launch\imagelib\img_bmp.c"
"D:\Xash3D\src_main\launch\imagelib\img_dds.c"
"D:\Xash3D\src_main\launch\imagelib\img_jpg.c"
"D:\Xash3D\src_main\launch\imagelib\img_main.c"
"D:\Xash3D\src_main\launch\imagelib\img_pcx.c"
"D:\Xash3D\src_main\launch\imagelib\img_png.c"
"D:\Xash3D\src_main\launch\imagelib\img_tga.c"
"D:\Xash3D\src_main\launch\imagelib\img_utils.c"
"D:\Xash3D\src_main\launch\imagelib\img_vtf.c"
"D:\Xash3D\src_main\launch\imagelib\img_wad.c"
"D:\Xash3D\src_main\launch\memlib.c"
"D:\Xash3D\src_main\launch\network.c"
"D:\Xash3D\src_main\launch\parselib.c"
"D:\Xash3D\src_main\launch\patch.c"
"D:\Xash3D\src_main\launch\stdlib.c"
"D:\Xash3D\src_main\launch\system.c"
"D:\Xash3D\src_main\launch\utils.c"
]
Creating command line "cl.exe @"C:\DOCUME~1\ĚČŘŔ\LOCALS~1\Temp\RSP17A7.tmp""
Creating temporary file "C:\DOCUME~1\ĚČŘŔ\LOCALS~1\Temp\RSP17A8.tmp" with contents
[
zlib.lib png.lib jpg.lib user32.lib gdi32.lib shell32.lib advapi32.lib winmm.lib /nologo /dll /incremental:yes /pdb:"..\temp\launch\!debug/launch.pdb" /debug /machine:I386 /nodefaultlib:"libc.lib" /out:"..\temp\launch\!debug/launch.dll" /implib:"..\temp\launch\!debug/launch.lib" /pdbtype:sept /libpath:"./imagelib"
"\Xash3D\src_main\temp\launch\!debug\cmd.obj"
"\Xash3D\src_main\temp\launch\!debug\console.obj"
"\Xash3D\src_main\temp\launch\!debug\cpuinfo.obj"
"\Xash3D\src_main\temp\launch\!debug\crclib.obj"
"\Xash3D\src_main\temp\launch\!debug\cvar.obj"
"\Xash3D\src_main\temp\launch\!debug\export.obj"
"\Xash3D\src_main\temp\launch\!debug\filesystem.obj"
"\Xash3D\src_main\temp\launch\!debug\img_bmp.obj"
"\Xash3D\src_main\temp\launch\!debug\img_dds.obj"
"\Xash3D\src_main\temp\launch\!debug\img_jpg.obj"
"\Xash3D\src_main\temp\launch\!debug\img_main.obj"
"\Xash3D\src_main\temp\launch\!debug\img_pcx.obj"
"\Xash3D\src_main\temp\launch\!debug\img_png.obj"
"\Xash3D\src_main\temp\launch\!debug\img_tga.obj"
"\Xash3D\src_main\temp\launch\!debug\img_utils.obj"
"\Xash3D\src_main\temp\launch\!debug\img_vtf.obj"
"\Xash3D\src_main\temp\launch\!debug\img_wad.obj"
"\Xash3D\src_main\temp\launch\!debug\memlib.obj"
"\Xash3D\src_main\temp\launch\!debug\network.obj"
"\Xash3D\src_main\temp\launch\!debug\parselib.obj"
"\Xash3D\src_main\temp\launch\!debug\patch.obj"
"\Xash3D\src_main\temp\launch\!debug\stdlib.obj"
"\Xash3D\src_main\temp\launch\!debug\system.obj"
"\Xash3D\src_main\temp\launch\!debug\utils.obj"
]
Creating command line "link.exe @"C:\DOCUME~1\ĚČŘŔ\LOCALS~1\Temp\RSP17A8.tmp""
Creating temporary file "C:\DOCUME~1\ĚČŘŔ\LOCALS~1\Temp\RSP17A9.bat" with contents
[
@echo off
copy \Xash3D\src_main\temp\launch\!debug\launch.dll "D:\Xash3D\bin\launch.dll"
]
Creating command line ""C:\DOCUME~1\ĚČŘŔ\LOCALS~1\Temp\RSP17A9.bat""
Compiling...
cmd.c
console.c
cpuinfo.c
crclib.c
cvar.c
export.c
filesystem.c
img_bmp.c
img_dds.c
img_jpg.c
img_main.c
img_pcx.c
img_png.c
img_tga.c
img_utils.c
img_vtf.c
img_wad.c
memlib.c
network.c
parselib.c
Generating Code...
Compiling...
patch.c
stdlib.c
system.c
utils.c
Generating Code...
Linking...
Creating library ..\temp\launch\!debug/launch.lib and object ..\temp\launch\!debug/launch.exp
<h3>Output Window</h3>
Performing Custom Build Step on \Xash3D\src_main\temp\launch\!debug\launch.dll
‘Ş®Ż¨ŕ®˘ ­® ä ©«®˘: 1.
<h3>Results</h3>
launch.dll - 0 error(s), 0 warning(s)
</pre>
</body>
</html>

View File

@ -562,6 +562,10 @@ SAVE FILE
included global, and both (client & server) pent list
==============================================================================
*/
#define SAVEFILE_HEADER (('V'<<24)+('L'<<16)+('A'<<8)+'V') // little-endian "VALV"
#define SAVEGAME_HEADER (('V'<<24)+('A'<<16)+('S'<<8)+'J') // little-endian "JSAV"
#define SAVEGAME_VERSION 0x0071 // Version 0.71
#define LUMP_CFGSTRING "configstrings"
#define LUMP_AREASTATE "areaportals"
#define LUMP_BASEENTS "entities" // entvars + CBase->fields

View File

@ -1294,9 +1294,12 @@ void CFuncTrain :: Next( void )
BOOL CFuncTrain :: Teleport( void )
{
if( !FindNextPath( ))
return FALSE;
if( FBitSet( pNextPath->pev->spawnflags, SF_CORNER_TELEPORT ))
{
SetBits(pev->effects, EF_NOINTERP);
SetBits( pev->effects, EF_NOINTERP );
// determine teleportation point
if( pev->speed > 0 )

View File

@ -313,7 +313,7 @@ int DispatchRestore( edict_t *pent, SAVERESTOREDATA *pSaveData, int globalEntity
// pSaveData->szCurrentMapName is the level this entity is coming from
// pGlobla->levelName is the last level the global entity was active in.
// If they aren't the same, then this global update is out of date.
if ( !FStrEq( pSaveData->szCurrentMap, pGlobal->levelName ) )return 0;
if ( !FStrEq( pSaveData->szCurrentMapName, pGlobal->levelName )) return 0;
// Compute the new global offset
oldOffset = pSaveData->vecLandmarkOffset;

View File

@ -3549,13 +3549,10 @@ void CBasePlayer::CheatImpulseCommands( int iImpulse )
if ( pTextureName ) ALERT( at_console, "Texture: %s\n", pTextureName );
}
break;
case 104:// show shortest paths for entire level to nearest node
{
Create("node_viewer_fly", pev->origin, pev->angles);
Create("node_viewer_human", pev->origin, pev->angles);
}
break;
case 104:
// Dump all of the global state varaibles (and global entity names)
gGlobalState.DumpGlobals();
break;
case 105:// remove any solid entity.
pEntity = UTIL_FindEntityForward( this );
if ( pEntity ) UTIL_Remove (pEntity);
@ -3563,6 +3560,10 @@ void CBasePlayer::CheatImpulseCommands( int iImpulse )
case 106://give weapon_debug
GiveNamedItem( "weapon_debug" );
break;
case 107:// show shortest paths for entire level to nearest node
Create("node_viewer_fly", pev->origin, pev->angles);
Create("node_viewer_human", pev->origin, pev->angles);
break;
}
}

16
server/server.plg Normal file
View File

@ -0,0 +1,16 @@
<html>
<body>
<pre>
<h1>Build Log</h1>
<h3>
--------------------Configuration: server - Win32 Debug--------------------
</h3>
<h3>Command Lines</h3>
<h3>Results</h3>
server.dll - 0 error(s), 0 warning(s)
</pre>
</body>
</html>

53
snd_al/snd_al.plg Normal file
View File

@ -0,0 +1,53 @@
<html>
<body>
<pre>
<h1>Build Log</h1>
<h3>
--------------------Configuration: snd_al - Win32 Debug--------------------
</h3>
<h3>Command Lines</h3>
Creating temporary file "C:\DOCUME~1\ÌÈØÀ\LOCALS~1\Temp\RSP17C4.tmp" with contents
[
/nologo /MDd /W3 /Gm /Gi /GX /ZI /Od /I "./" /I "../public" /I "../common" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /FR"..\temp\snd_al\!debug/" /Fo"..\temp\snd_al\!debug/" /Fd"..\temp\snd_al\!debug/" /FD /GZ /c
"D:\Xash3D\src_main\snd_al\s_export.c"
"D:\Xash3D\src_main\snd_al\s_load.c"
"D:\Xash3D\src_main\snd_al\s_main.c"
"D:\Xash3D\src_main\snd_al\s_openal.c"
"D:\Xash3D\src_main\snd_al\s_stream.c"
]
Creating command line "cl.exe @"C:\DOCUME~1\ÌÈØÀ\LOCALS~1\Temp\RSP17C4.tmp""
Creating temporary file "C:\DOCUME~1\ÌÈØÀ\LOCALS~1\Temp\RSP17C5.tmp" with contents
[
libogg.lib vorbis.lib /nologo /dll /incremental:yes /pdb:"..\temp\snd_al\!debug/snd_al.pdb" /debug /machine:I386 /nodefaultlib:"libcmt.lib" /out:"..\temp\snd_al\!debug/snd_al.dll" /implib:"..\temp\snd_al\!debug/snd_al.lib" /pdbtype:sept
"\Xash3D\src_main\temp\snd_al\!debug\s_export.obj"
"\Xash3D\src_main\temp\snd_al\!debug\s_load.obj"
"\Xash3D\src_main\temp\snd_al\!debug\s_main.obj"
"\Xash3D\src_main\temp\snd_al\!debug\s_openal.obj"
"\Xash3D\src_main\temp\snd_al\!debug\s_stream.obj"
]
Creating command line "link.exe @"C:\DOCUME~1\ÌÈØÀ\LOCALS~1\Temp\RSP17C5.tmp""
Creating temporary file "C:\DOCUME~1\ÌÈØÀ\LOCALS~1\Temp\RSP17C6.bat" with contents
[
@echo off
copy \Xash3D\src_main\temp\snd_al\!debug\snd_al.dll "D:\Xash3D\bin\snd_al.dll"
]
Creating command line ""C:\DOCUME~1\ÌÈØÀ\LOCALS~1\Temp\RSP17C6.bat""
Compiling...
s_export.c
s_load.c
s_main.c
s_openal.c
s_stream.c
Generating Code...
Linking...
<h3>Output Window</h3>
Performing Custom Build Step on \Xash3D\src_main\temp\snd_al\!debug\snd_al.dll
‘ª®¯¨à®¢ ­® ä ©«®¢: 1.
<h3>Results</h3>
snd_al.dll - 0 error(s), 0 warning(s)
</pre>
</body>
</html>

60
snd_dx/snd_dx.plg Normal file
View File

@ -0,0 +1,60 @@
<html>
<body>
<pre>
<h1>Build Log</h1>
<h3>
--------------------Configuration: snd_dx - Win32 Debug--------------------
</h3>
<h3>Command Lines</h3>
Creating temporary file "C:\DOCUME~1\ÌÈØÀ\LOCALS~1\Temp\RSP17C8.tmp" with contents
[
/nologo /MDd /W3 /Gm /Gi /GX /ZI /Od /I "./" /I "../public" /I "../common" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /FR"..\temp\snd_dx\!debug/" /Fo"..\temp\snd_dx\!debug/" /Fd"..\temp\snd_dx\!debug/" /FD /GZ /c
"D:\Xash3D\src_main\snd_dx\s_direct.c"
"D:\Xash3D\src_main\snd_dx\s_dsp.c"
"D:\Xash3D\src_main\snd_dx\s_export.c"
"D:\Xash3D\src_main\snd_dx\s_load.c"
"D:\Xash3D\src_main\snd_dx\s_main.c"
"D:\Xash3D\src_main\snd_dx\s_mix.c"
"D:\Xash3D\src_main\snd_dx\s_stream.c"
]
Creating command line "cl.exe @"C:\DOCUME~1\ÌÈØÀ\LOCALS~1\Temp\RSP17C8.tmp""
Creating temporary file "C:\DOCUME~1\ÌÈØÀ\LOCALS~1\Temp\RSP17C9.tmp" with contents
[
winmm.lib /nologo /dll /incremental:yes /pdb:"..\temp\snd_dx\!debug/snd_dx.pdb" /debug /machine:I386 /nodefaultlib:"libcmt.lib" /out:"..\temp\snd_dx\!debug/snd_dx.dll" /implib:"..\temp\snd_dx\!debug/snd_dx.lib" /pdbtype:sept
"\Xash3D\src_main\temp\snd_dx\!debug\s_direct.obj"
"\Xash3D\src_main\temp\snd_dx\!debug\s_dsp.obj"
"\Xash3D\src_main\temp\snd_dx\!debug\s_export.obj"
"\Xash3D\src_main\temp\snd_dx\!debug\s_load.obj"
"\Xash3D\src_main\temp\snd_dx\!debug\s_main.obj"
"\Xash3D\src_main\temp\snd_dx\!debug\s_mix.obj"
"\Xash3D\src_main\temp\snd_dx\!debug\s_stream.obj"
]
Creating command line "link.exe @"C:\DOCUME~1\ÌÈØÀ\LOCALS~1\Temp\RSP17C9.tmp""
Creating temporary file "C:\DOCUME~1\ÌÈØÀ\LOCALS~1\Temp\RSP17CA.bat" with contents
[
@echo off
copy \Xash3D\src_main\temp\snd_dx\!debug\snd_dx.dll "D:\Xash3D\bin\snd_dx.dll"
]
Creating command line ""C:\DOCUME~1\ÌÈØÀ\LOCALS~1\Temp\RSP17CA.bat""
Compiling...
s_direct.c
s_dsp.c
s_export.c
s_load.c
s_main.c
s_mix.c
s_stream.c
Generating Code...
Linking...
Creating library ..\temp\snd_dx\!debug/snd_dx.lib and object ..\temp\snd_dx\!debug/snd_dx.exp
<h3>Output Window</h3>
Performing Custom Build Step on \Xash3D\src_main\temp\snd_dx\!debug\snd_dx.dll
‘ª®¯¨à®¢ ­® ä ©«®¢: 1.
<h3>Results</h3>
snd_dx.dll - 0 error(s), 0 warning(s)
</pre>
</body>
</html>

View File

@ -362,7 +362,7 @@ int DispatchRestore( edict_t *pent, SAVERESTOREDATA *pSaveData, int globalEntity
// pSaveData->szCurrentMap is the level this entity is coming from
// pGlobla->levelName is the last level the global entity was active in.
// If they aren't the same, then this global update is out of date.
if ( !FStrEq( pSaveData->szCurrentMap, pGlobal->levelName ) )
if ( !FStrEq( pSaveData->szCurrentMapName, pGlobal->levelName ) )
return 0;
// Compute the new global offset

16
spirit/spirit.plg Normal file
View File

@ -0,0 +1,16 @@
<html>
<body>
<pre>
<h1>Build Log</h1>
<h3>
--------------------Configuration: spirit - Win32 Debug--------------------
</h3>
<h3>Command Lines</h3>
<h3>Results</h3>
server.dll - 0 error(s), 0 warning(s)
</pre>
</body>
</html>

View File

@ -2404,6 +2404,27 @@ static int gSizes[FIELD_TYPECOUNT] =
sizeof(int), // FIELD_SOUNDNAME
};
static const char *gNames[FIELD_TYPECOUNT] =
{
"float", // FIELD_FLOAT
"string", // FIELD_STRING
"entity", // FIELD_ENTITY
"classptr", // FIELD_CLASSPTR
"ehandle", // FIELD_EHANDLE
"entvars", // FIELD_entvars_t
"edict", // FIELD_EDICT
"vector", // FIELD_VECTOR
"position vector", // FIELD_POSITION_VECTOR
"pointer", // FIELD_POINTER
"integer", // FIELD_INTEGER
"function", // FIELD_FUNCTION
"boolean", // FIELD_BOOLEAN
"short", // FIELD_SHORT
"char", // FIELD_CHARACTER
"time", // FIELD_TIME
"modelname", // FIELD_MODELNAME
"soundname", // FIELD_SOUNDNAME
};
// Base class includes common SAVERESTOREDATA pointer, and manages the entity table
CSaveRestoreBuffer :: CSaveRestoreBuffer( void )
@ -3138,13 +3159,13 @@ int CRestore::ReadFields( const char *pname, void *pBaseData, TYPEDESCRIPTION *p
// Check the struct name
if ( token != TokenHash(pname) ) // Field Set marker
{
// ALERT( at_error, "Expected %s found %s!\n", pname, BufferPointer() );
BufferRewind( 2*sizeof(short) );
ALERT( at_error, "Expected %s found %s!\n", pname, BufferPointer() );
BufferRewind( 2 * sizeof( short ));
return 0;
}
// Skip over the struct name
fileCount = ReadInt(); // Read field count
fileCount = ReadInt(); // Read field count
lastField = 0; // Make searches faster, most data is read/written in the same order

View File

@ -29,54 +29,4 @@ Xash 0.71 Beta 05.05.10
5. revision server physic
6. revision monster moving
7. reborn Xash 0.4 Source Code
8. completely finalize Save\restore & Changelevel
Loading level:
ResetGlobalState()
while( 1 )
{
DispatchKeyValue
DispatchSpawn
}
ServerActivate()
ClientConnect()
-------------------------------------------------------
Changing level:
CHANGE LEVEL: c1a0 c1a0toc1a0d
while( 1 )
{
DispatchSave
}
ServerDeactivate()
Spawn Server c1a0: [c1a0toc1a0d]
Loading game from D:\hl1\phys\SAVE\c1a0.HL1...
ERROR: couldn't open.
while( 1 )
{
DispatchKeyValue
DispatchSpawn
}
Loading game from D:\hl1\phys\SAVE\c0a0e.HL1... // connected level
ERROR: couldn't open.
Loading game from D:\hl1\phys\SAVE\c1a0d.HL1... // globals from previous level
Transferring player (1)
Merging changes for global: func_door
DispatchRestore: func_door [0] Global Yes
ServerActivate()
ClientConnect()
8. completely finalize Save\restore & Changelevel

104
vid_gl/vid_gl.plg Normal file
View File

@ -0,0 +1,104 @@
<html>
<body>
<pre>
<h1>Build Log</h1>
<h3>
--------------------Configuration: vid_gl - Win32 Debug--------------------
</h3>
<h3>Command Lines</h3>
Creating temporary file "C:\DOCUME~1\ÌÈØÀ\LOCALS~1\Temp\RSP17BD.tmp" with contents
[
/nologo /MDd /W3 /Gm /Gi /GX /ZI /Od /I "../public" /I "../common" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /FR"..\temp\vid_gl\!debug/" /Fo"..\temp\vid_gl\!debug/" /Fd"..\temp\vid_gl\!debug/" /FD /c
"D:\Xash3D\src_main\vid_gl\r_backend.c"
"D:\Xash3D\src_main\vid_gl\r_bloom.c"
"D:\Xash3D\src_main\vid_gl\r_cin.c"
"D:\Xash3D\src_main\vid_gl\r_cull.c"
"D:\Xash3D\src_main\vid_gl\r_draw.c"
"D:\Xash3D\src_main\vid_gl\r_image.c"
"D:\Xash3D\src_main\vid_gl\r_light.c"
"D:\Xash3D\src_main\vid_gl\r_main.c"
"D:\Xash3D\src_main\vid_gl\r_math.c"
"D:\Xash3D\src_main\vid_gl\r_mesh.c"
"D:\Xash3D\src_main\vid_gl\r_model.c"
"D:\Xash3D\src_main\vid_gl\r_opengl.c"
"D:\Xash3D\src_main\vid_gl\r_poly.c"
"D:\Xash3D\src_main\vid_gl\r_program.c"
"D:\Xash3D\src_main\vid_gl\r_register.c"
"D:\Xash3D\src_main\vid_gl\r_shader.c"
"D:\Xash3D\src_main\vid_gl\r_shadow.c"
"D:\Xash3D\src_main\vid_gl\r_sky.c"
"D:\Xash3D\src_main\vid_gl\r_sprite.c"
"D:\Xash3D\src_main\vid_gl\r_studio.c"
"D:\Xash3D\src_main\vid_gl\r_surf.c"
]
Creating command line "cl.exe @"C:\DOCUME~1\ÌÈØÀ\LOCALS~1\Temp\RSP17BD.tmp""
Creating temporary file "C:\DOCUME~1\ÌÈØÀ\LOCALS~1\Temp\RSP17BE.tmp" with contents
[
msvcrtd.lib user32.lib gdi32.lib /nologo /subsystem:windows /dll /incremental:yes /pdb:"..\temp\vid_gl\!debug/vid_gl.pdb" /debug /machine:I386 /nodefaultlib:"msvcrt.lib" /out:"..\temp\vid_gl\!debug/vid_gl.dll" /implib:"..\temp\vid_gl\!debug/vid_gl.lib" /pdbtype:sept
"\Xash3D\src_main\temp\vid_gl\!debug\r_backend.obj"
"\Xash3D\src_main\temp\vid_gl\!debug\r_bloom.obj"
"\Xash3D\src_main\temp\vid_gl\!debug\r_cin.obj"
"\Xash3D\src_main\temp\vid_gl\!debug\r_cull.obj"
"\Xash3D\src_main\temp\vid_gl\!debug\r_draw.obj"
"\Xash3D\src_main\temp\vid_gl\!debug\r_image.obj"
"\Xash3D\src_main\temp\vid_gl\!debug\r_light.obj"
"\Xash3D\src_main\temp\vid_gl\!debug\r_main.obj"
"\Xash3D\src_main\temp\vid_gl\!debug\r_math.obj"
"\Xash3D\src_main\temp\vid_gl\!debug\r_mesh.obj"
"\Xash3D\src_main\temp\vid_gl\!debug\r_model.obj"
"\Xash3D\src_main\temp\vid_gl\!debug\r_opengl.obj"
"\Xash3D\src_main\temp\vid_gl\!debug\r_poly.obj"
"\Xash3D\src_main\temp\vid_gl\!debug\r_program.obj"
"\Xash3D\src_main\temp\vid_gl\!debug\r_register.obj"
"\Xash3D\src_main\temp\vid_gl\!debug\r_shader.obj"
"\Xash3D\src_main\temp\vid_gl\!debug\r_shadow.obj"
"\Xash3D\src_main\temp\vid_gl\!debug\r_sky.obj"
"\Xash3D\src_main\temp\vid_gl\!debug\r_sprite.obj"
"\Xash3D\src_main\temp\vid_gl\!debug\r_studio.obj"
"\Xash3D\src_main\temp\vid_gl\!debug\r_surf.obj"
]
Creating command line "link.exe @"C:\DOCUME~1\ÌÈØÀ\LOCALS~1\Temp\RSP17BE.tmp""
Creating temporary file "C:\DOCUME~1\ÌÈØÀ\LOCALS~1\Temp\RSP17BF.bat" with contents
[
@echo off
copy \Xash3D\src_main\temp\vid_gl\!debug\vid_gl.dll "D:\Xash3D\bin\vid_gl.dll"
]
Creating command line ""C:\DOCUME~1\ÌÈØÀ\LOCALS~1\Temp\RSP17BF.bat""
Compiling...
r_backend.c
r_bloom.c
r_cin.c
r_cull.c
r_draw.c
r_image.c
r_light.c
r_main.c
r_math.c
r_mesh.c
r_model.c
r_opengl.c
r_poly.c
r_program.c
r_register.c
r_shader.c
r_shadow.c
r_sky.c
r_sprite.c
r_studio.c
Generating Code...
Compiling...
r_surf.c
Generating Code...
Linking...
Creating library ..\temp\vid_gl\!debug/vid_gl.lib and object ..\temp\vid_gl\!debug/vid_gl.exp
<h3>Output Window</h3>
Performing Custom Build Step on \Xash3D\src_main\temp\vid_gl\!debug\vid_gl.dll
‘ª®¯¨à®¢ ­® ä ©«®¢: 1.
<h3>Results</h3>
vid_gl.dll - 0 error(s), 0 warning(s)
</pre>
</body>
</html>

231
xtools/xtools.plg Normal file
View File

@ -0,0 +1,231 @@
<html>
<body>
<pre>
<h1>Build Log</h1>
<h3>
--------------------Configuration: xtools - Win32 Debug--------------------
</h3>
<h3>Command Lines</h3>
Creating temporary file "C:\DOCUME~1\ÌÈØÀ\LOCALS~1\Temp\RSP17CF.tmp" with contents
[
/nologo /MDd /W3 /Gm /Gi /GX /ZI /Od /I "./" /I "../public" /I "bsplib" /I "models" /I "ripper" /I "../common" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /FR"..\temp\xtools\!debug/" /Fo"..\temp\xtools\!debug/" /Fd"..\temp\xtools\!debug/" /FD /GZ /c
"D:\Xash3D\src_main\xtools\bsplib\brush.c"
"D:\Xash3D\src_main\xtools\bsplib\brush_primit.c"
"D:\Xash3D\src_main\xtools\bsplib\bsp.c"
"D:\Xash3D\src_main\xtools\bsplib\bspfile_abstract.c"
"D:\Xash3D\src_main\xtools\bsplib\bspfile_ibsp.c"
"D:\Xash3D\src_main\xtools\bsplib\bspfile_rbsp.c"
"D:\Xash3D\src_main\xtools\bsplib\bsplib.c"
"D:\Xash3D\src_main\xtools\ripper\conv_bsplumps.c"
"D:\Xash3D\src_main\xtools\ripper\conv_doom.c"
"D:\Xash3D\src_main\xtools\ripper\conv_image.c"
"D:\Xash3D\src_main\xtools\ripper\conv_main.c"
"D:\Xash3D\src_main\xtools\ripper\conv_shader.c"
"D:\Xash3D\src_main\xtools\ripper\conv_sprite.c"
"D:\Xash3D\src_main\xtools\bsplib\convert_ase.c"
"D:\Xash3D\src_main\xtools\bsplib\convert_map.c"
"D:\Xash3D\src_main\xtools\bsplib\decals.c"
"D:\Xash3D\src_main\xtools\bsplib\facebsp.c"
"D:\Xash3D\src_main\xtools\bsplib\fog.c"
"D:\Xash3D\src_main\xtools\bsplib\image.c"
"D:\Xash3D\src_main\xtools\bsplib\leakfile.c"
"D:\Xash3D\src_main\xtools\bsplib\light.c"
"D:\Xash3D\src_main\xtools\bsplib\light_bounce.c"
"D:\Xash3D\src_main\xtools\bsplib\light_trace.c"
"D:\Xash3D\src_main\xtools\bsplib\light_ydnar.c"
"D:\Xash3D\src_main\xtools\bsplib\lightmaps_ydnar.c"
"D:\Xash3D\src_main\xtools\bsplib\map.c"
"D:\Xash3D\src_main\xtools\bsplib\md5.c"
"D:\Xash3D\src_main\xtools\bsplib\mesh.c"
"D:\Xash3D\src_main\xtools\bsplib\model.c"
"D:\Xash3D\src_main\xtools\bsplib\patch.c"
"D:\Xash3D\src_main\xtools\models\picointernal.c"
"D:\Xash3D\src_main\xtools\models\picomodel.c"
"D:\Xash3D\src_main\xtools\models\picomodules.c"
"D:\Xash3D\src_main\xtools\models\pm_3ds.c"
"D:\Xash3D\src_main\xtools\models\pm_ase.c"
"D:\Xash3D\src_main\xtools\models\pm_fm.c"
"D:\Xash3D\src_main\xtools\models\pm_md2.c"
"D:\Xash3D\src_main\xtools\models\pm_md3.c"
"D:\Xash3D\src_main\xtools\models\pm_mdc.c"
"D:\Xash3D\src_main\xtools\models\pm_ms3d.c"
"D:\Xash3D\src_main\xtools\models\pm_obj.c"
"D:\Xash3D\src_main\xtools\bsplib\polylib.c"
"D:\Xash3D\src_main\xtools\bsplib\portals.c"
"D:\Xash3D\src_main\xtools\bsplib\prtfile.c"
"D:\Xash3D\src_main\xtools\bsplib\shaders.c"
"D:\Xash3D\src_main\xtools\spritegen.c"
"D:\Xash3D\src_main\xtools\studio.c"
"D:\Xash3D\src_main\xtools\studio_utils.c"
"D:\Xash3D\src_main\xtools\bsplib\surface.c"
"D:\Xash3D\src_main\xtools\bsplib\surface_extra.c"
"D:\Xash3D\src_main\xtools\bsplib\surface_foliage.c"
"D:\Xash3D\src_main\xtools\bsplib\surface_fur.c"
"D:\Xash3D\src_main\xtools\bsplib\surface_meta.c"
"D:\Xash3D\src_main\xtools\bsplib\tjunction.c"
"D:\Xash3D\src_main\xtools\bsplib\tree.c"
"D:\Xash3D\src_main\xtools\utils.c"
"D:\Xash3D\src_main\xtools\bsplib\vis.c"
"D:\Xash3D\src_main\xtools\bsplib\visflow.c"
"D:\Xash3D\src_main\xtools\wadlib.c"
"D:\Xash3D\src_main\xtools\bsplib\writebsp.c"
"D:\Xash3D\src_main\xtools\ximage.c"
"D:\Xash3D\src_main\xtools\xtools.c"
]
Creating command line "cl.exe @"C:\DOCUME~1\ÌÈØÀ\LOCALS~1\Temp\RSP17CF.tmp""
Creating temporary file "C:\DOCUME~1\ÌÈØÀ\LOCALS~1\Temp\RSP17D0.tmp" with contents
[
msvcrtd.lib user32.lib /nologo /dll /incremental:yes /pdb:"..\temp\xtools\!debug/xtools.pdb" /debug /machine:I386 /nodefaultlib:"libc.lib" /out:"..\temp\xtools\!debug/xtools.dll" /implib:"..\temp\xtools\!debug/xtools.lib" /pdbtype:sept
"\Xash3D\src_main\temp\xtools\!debug\brush.obj"
"\Xash3D\src_main\temp\xtools\!debug\brush_primit.obj"
"\Xash3D\src_main\temp\xtools\!debug\bsp.obj"
"\Xash3D\src_main\temp\xtools\!debug\bspfile_abstract.obj"
"\Xash3D\src_main\temp\xtools\!debug\bspfile_ibsp.obj"
"\Xash3D\src_main\temp\xtools\!debug\bspfile_rbsp.obj"
"\Xash3D\src_main\temp\xtools\!debug\bsplib.obj"
"\Xash3D\src_main\temp\xtools\!debug\conv_bsplumps.obj"
"\Xash3D\src_main\temp\xtools\!debug\conv_doom.obj"
"\Xash3D\src_main\temp\xtools\!debug\conv_image.obj"
"\Xash3D\src_main\temp\xtools\!debug\conv_main.obj"
"\Xash3D\src_main\temp\xtools\!debug\conv_shader.obj"
"\Xash3D\src_main\temp\xtools\!debug\conv_sprite.obj"
"\Xash3D\src_main\temp\xtools\!debug\convert_ase.obj"
"\Xash3D\src_main\temp\xtools\!debug\convert_map.obj"
"\Xash3D\src_main\temp\xtools\!debug\decals.obj"
"\Xash3D\src_main\temp\xtools\!debug\facebsp.obj"
"\Xash3D\src_main\temp\xtools\!debug\fog.obj"
"\Xash3D\src_main\temp\xtools\!debug\image.obj"
"\Xash3D\src_main\temp\xtools\!debug\leakfile.obj"
"\Xash3D\src_main\temp\xtools\!debug\light.obj"
"\Xash3D\src_main\temp\xtools\!debug\light_bounce.obj"
"\Xash3D\src_main\temp\xtools\!debug\light_trace.obj"
"\Xash3D\src_main\temp\xtools\!debug\light_ydnar.obj"
"\Xash3D\src_main\temp\xtools\!debug\lightmaps_ydnar.obj"
"\Xash3D\src_main\temp\xtools\!debug\map.obj"
"\Xash3D\src_main\temp\xtools\!debug\md5.obj"
"\Xash3D\src_main\temp\xtools\!debug\mesh.obj"
"\Xash3D\src_main\temp\xtools\!debug\model.obj"
"\Xash3D\src_main\temp\xtools\!debug\patch.obj"
"\Xash3D\src_main\temp\xtools\!debug\picointernal.obj"
"\Xash3D\src_main\temp\xtools\!debug\picomodel.obj"
"\Xash3D\src_main\temp\xtools\!debug\picomodules.obj"
"\Xash3D\src_main\temp\xtools\!debug\pm_3ds.obj"
"\Xash3D\src_main\temp\xtools\!debug\pm_ase.obj"
"\Xash3D\src_main\temp\xtools\!debug\pm_fm.obj"
"\Xash3D\src_main\temp\xtools\!debug\pm_md2.obj"
"\Xash3D\src_main\temp\xtools\!debug\pm_md3.obj"
"\Xash3D\src_main\temp\xtools\!debug\pm_mdc.obj"
"\Xash3D\src_main\temp\xtools\!debug\pm_ms3d.obj"
"\Xash3D\src_main\temp\xtools\!debug\pm_obj.obj"
"\Xash3D\src_main\temp\xtools\!debug\polylib.obj"
"\Xash3D\src_main\temp\xtools\!debug\portals.obj"
"\Xash3D\src_main\temp\xtools\!debug\prtfile.obj"
"\Xash3D\src_main\temp\xtools\!debug\shaders.obj"
"\Xash3D\src_main\temp\xtools\!debug\spritegen.obj"
"\Xash3D\src_main\temp\xtools\!debug\studio.obj"
"\Xash3D\src_main\temp\xtools\!debug\studio_utils.obj"
"\Xash3D\src_main\temp\xtools\!debug\surface.obj"
"\Xash3D\src_main\temp\xtools\!debug\surface_extra.obj"
"\Xash3D\src_main\temp\xtools\!debug\surface_foliage.obj"
"\Xash3D\src_main\temp\xtools\!debug\surface_fur.obj"
"\Xash3D\src_main\temp\xtools\!debug\surface_meta.obj"
"\Xash3D\src_main\temp\xtools\!debug\tjunction.obj"
"\Xash3D\src_main\temp\xtools\!debug\tree.obj"
"\Xash3D\src_main\temp\xtools\!debug\utils.obj"
"\Xash3D\src_main\temp\xtools\!debug\vis.obj"
"\Xash3D\src_main\temp\xtools\!debug\visflow.obj"
"\Xash3D\src_main\temp\xtools\!debug\wadlib.obj"
"\Xash3D\src_main\temp\xtools\!debug\writebsp.obj"
"\Xash3D\src_main\temp\xtools\!debug\ximage.obj"
"\Xash3D\src_main\temp\xtools\!debug\xtools.obj"
]
Creating command line "link.exe @"C:\DOCUME~1\ÌÈØÀ\LOCALS~1\Temp\RSP17D0.tmp""
Creating temporary file "C:\DOCUME~1\ÌÈØÀ\LOCALS~1\Temp\RSP17D1.bat" with contents
[
@echo off
copy \Xash3D\src_main\temp\xtools\!debug\xtools.dll "D:\Xash3D\bin\xtools.dll"
]
Creating command line ""C:\DOCUME~1\ÌÈØÀ\LOCALS~1\Temp\RSP17D1.bat""
Compiling...
brush.c
brush_primit.c
bsp.c
bspfile_abstract.c
bspfile_ibsp.c
bspfile_rbsp.c
bsplib.c
conv_bsplumps.c
conv_doom.c
conv_image.c
conv_main.c
conv_shader.c
conv_sprite.c
convert_ase.c
convert_map.c
decals.c
facebsp.c
fog.c
image.c
leakfile.c
Generating Code...
Compiling...
light.c
light_bounce.c
light_trace.c
light_ydnar.c
lightmaps_ydnar.c
map.c
md5.c
mesh.c
model.c
patch.c
picointernal.c
picomodel.c
picomodules.c
pm_3ds.c
pm_ase.c
pm_fm.c
pm_md2.c
pm_md3.c
pm_mdc.c
pm_ms3d.c
Generating Code...
Compiling...
pm_obj.c
polylib.c
portals.c
prtfile.c
shaders.c
spritegen.c
studio.c
studio_utils.c
surface.c
surface_extra.c
surface_foliage.c
surface_fur.c
surface_meta.c
tjunction.c
tree.c
utils.c
vis.c
visflow.c
wadlib.c
writebsp.c
Generating Code...
Compiling...
ximage.c
xtools.c
Generating Code...
Linking...
Creating library ..\temp\xtools\!debug/xtools.lib and object ..\temp\xtools\!debug/xtools.exp
<h3>Output Window</h3>
Performing Custom Build Step on \Xash3D\src_main\temp\xtools\!debug\xtools.dll
‘ª®¯¨à®¢ ­® ä ©«®¢: 1.
<h3>Results</h3>
xtools.dll - 0 error(s), 0 warning(s)
</pre>
</body>
</html>