From 1c46e861d758946ebd3e4309ff9a180fc2fdf008 Mon Sep 17 00:00:00 2001 From: g-cont Date: Thu, 19 Apr 2018 00:00:00 +0300 Subject: [PATCH] 19 Apr 2018 --- cl_dll/cl_dll.plg | 260 +++++++++++++++++++++++++++++ cl_dll/vgui_ScorePanel.h | 2 - common/const.h | 2 + dlls/client.cpp | 4 +- dlls/hl.plg | 325 +------------------------------------ engine/cdll_int.h | 33 ++++ engine/client/cl_game.c | 121 ++++++++++++++ engine/client/cl_main.c | 23 ++- engine/client/gl_rmain.c | 3 + engine/client/gl_vidnt.c | 12 +- engine/common/cfgscript.c | 6 +- engine/common/common.h | 1 + engine/common/con_utils.c | 5 +- engine/common/cvar.c | 28 +--- engine/common/host.c | 3 +- engine/common/mod_bmodel.c | 8 +- engine/server/sv_client.c | 43 ++++- engine/server/sv_cmds.c | 29 ---- mainui/menu_creategame.cpp | 4 +- 19 files changed, 506 insertions(+), 406 deletions(-) create mode 100644 cl_dll/cl_dll.plg diff --git a/cl_dll/cl_dll.plg b/cl_dll/cl_dll.plg new file mode 100644 index 00000000..9ae076b6 --- /dev/null +++ b/cl_dll/cl_dll.plg @@ -0,0 +1,260 @@ + + +
+

Build Log

+

+--------------------Configuration: cl_dll - Win32 Release-------------------- +

+

Command Lines

+Creating temporary file "C:\DOCUME~1\ÌÈØÀ\LOCALS~1\Temp\RSP33B5.tmp" with contents +[ +/nologo /MT /W3 /GX /O2 /I "..\utils\vgui\include" /I "..\engine" /I "..\common" /I "..\pm_shared" /I "..\dlls" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "CLIENT_DLL" /D "CLIENT_WEAPONS" /Fp"..\temp\cl_dll\!release/cl_dll.pch" /YX /Fo"..\temp\cl_dll\!release/" /Fd"..\temp\cl_dll\!release/" /FD /c +"D:\Xash3D\src_main\dlls\crossbow.cpp" +"D:\Xash3D\src_main\dlls\crowbar.cpp" +"D:\Xash3D\src_main\dlls\egon.cpp" +"D:\Xash3D\src_main\cl_dll\ev_hldm.cpp" +"D:\Xash3D\src_main\dlls\gauss.cpp" +"D:\Xash3D\src_main\dlls\handgrenade.cpp" +"D:\Xash3D\src_main\cl_dll\hl\hl_baseentity.cpp" +"D:\Xash3D\src_main\cl_dll\hl\hl_events.cpp" +"D:\Xash3D\src_main\cl_dll\hl\hl_objects.cpp" +"D:\Xash3D\src_main\cl_dll\hl\hl_weapons.cpp" +"D:\Xash3D\src_main\dlls\glock.cpp" +"D:\Xash3D\src_main\dlls\hornetgun.cpp" +"D:\Xash3D\src_main\dlls\mp5.cpp" +"D:\Xash3D\src_main\dlls\python.cpp" +"D:\Xash3D\src_main\dlls\rpg.cpp" +"D:\Xash3D\src_main\dlls\satchel.cpp" +"D:\Xash3D\src_main\dlls\shotgun.cpp" +"D:\Xash3D\src_main\dlls\squeakgrenade.cpp" +"D:\Xash3D\src_main\dlls\tripmine.cpp" +"D:\Xash3D\src_main\game_shared\voice_status.cpp" +"D:\Xash3D\src_main\cl_dll\ammo.cpp" +"D:\Xash3D\src_main\cl_dll\ammo_secondary.cpp" +"D:\Xash3D\src_main\cl_dll\ammohistory.cpp" +"D:\Xash3D\src_main\cl_dll\battery.cpp" +"D:\Xash3D\src_main\cl_dll\cdll_int.cpp" +"D:\Xash3D\src_main\cl_dll\com_weapons.cpp" +"D:\Xash3D\src_main\cl_dll\death.cpp" +"D:\Xash3D\src_main\cl_dll\demo.cpp" +"D:\Xash3D\src_main\cl_dll\entity.cpp" +"D:\Xash3D\src_main\cl_dll\ev_common.cpp" +"D:\Xash3D\src_main\cl_dll\events.cpp" +"D:\Xash3D\src_main\cl_dll\flashlight.cpp" +"D:\Xash3D\src_main\cl_dll\GameStudioModelRenderer.cpp" +"D:\Xash3D\src_main\cl_dll\geiger.cpp" +"D:\Xash3D\src_main\cl_dll\health.cpp" +"D:\Xash3D\src_main\cl_dll\hud.cpp" +"D:\Xash3D\src_main\cl_dll\hud_msg.cpp" +"D:\Xash3D\src_main\cl_dll\hud_redraw.cpp" +"D:\Xash3D\src_main\cl_dll\hud_servers.cpp" +"D:\Xash3D\src_main\cl_dll\hud_spectator.cpp" +"D:\Xash3D\src_main\cl_dll\hud_update.cpp" +"D:\Xash3D\src_main\cl_dll\in_camera.cpp" +"D:\Xash3D\src_main\cl_dll\input.cpp" +"D:\Xash3D\src_main\cl_dll\inputw32.cpp" +"D:\Xash3D\src_main\cl_dll\menu.cpp" +"D:\Xash3D\src_main\cl_dll\message.cpp" +"D:\Xash3D\src_main\pm_shared\pm_debug.c" +"D:\Xash3D\src_main\pm_shared\pm_math.c" +"D:\Xash3D\src_main\pm_shared\pm_shared.c" +"D:\Xash3D\src_main\cl_dll\saytext.cpp" +"D:\Xash3D\src_main\cl_dll\status_icons.cpp" +"D:\Xash3D\src_main\cl_dll\statusbar.cpp" +"D:\Xash3D\src_main\cl_dll\studio_util.cpp" +"D:\Xash3D\src_main\cl_dll\StudioModelRenderer.cpp" +"D:\Xash3D\src_main\cl_dll\text_message.cpp" +"D:\Xash3D\src_main\cl_dll\train.cpp" +"D:\Xash3D\src_main\cl_dll\tri.cpp" +"D:\Xash3D\src_main\cl_dll\util.cpp" +"D:\Xash3D\src_main\cl_dll\vgui_ClassMenu.cpp" +"D:\Xash3D\src_main\cl_dll\vgui_ConsolePanel.cpp" +"D:\Xash3D\src_main\cl_dll\vgui_CustomObjects.cpp" +"D:\Xash3D\src_main\cl_dll\vgui_int.cpp" +"D:\Xash3D\src_main\game_shared\vgui_loadtga.cpp" +"D:\Xash3D\src_main\cl_dll\vgui_MOTDWindow.cpp" +"D:\Xash3D\src_main\cl_dll\vgui_SchemeManager.cpp" +"D:\Xash3D\src_main\cl_dll\vgui_ScorePanel.cpp" +"D:\Xash3D\src_main\cl_dll\vgui_ServerBrowser.cpp" +"D:\Xash3D\src_main\cl_dll\vgui_SpectatorPanel.cpp" +"D:\Xash3D\src_main\cl_dll\vgui_TeamFortressViewport.cpp" +"D:\Xash3D\src_main\cl_dll\vgui_teammenu.cpp" +"D:\Xash3D\src_main\cl_dll\view.cpp" +] +Creating command line "cl.exe @"C:\DOCUME~1\ÌÈØÀ\LOCALS~1\Temp\RSP33B5.tmp"" +Creating temporary file "C:\DOCUME~1\ÌÈØÀ\LOCALS~1\Temp\RSP33B6.tmp" with contents +[ +kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib winmm.lib ../utils/vgui/lib/win32_vc6/vgui.lib wsock32.lib /nologo /subsystem:windows /dll /incremental:no /pdb:"..\temp\cl_dll\!release/client.pdb" /machine:I386 /out:"..\temp\cl_dll\!release/client.dll" /implib:"..\temp\cl_dll\!release/client.lib" +"\Xash3D\src_main\temp\cl_dll\!release\crossbow.obj" +"\Xash3D\src_main\temp\cl_dll\!release\crowbar.obj" +"\Xash3D\src_main\temp\cl_dll\!release\egon.obj" +"\Xash3D\src_main\temp\cl_dll\!release\ev_hldm.obj" +"\Xash3D\src_main\temp\cl_dll\!release\gauss.obj" +"\Xash3D\src_main\temp\cl_dll\!release\handgrenade.obj" +"\Xash3D\src_main\temp\cl_dll\!release\hl_baseentity.obj" +"\Xash3D\src_main\temp\cl_dll\!release\hl_events.obj" +"\Xash3D\src_main\temp\cl_dll\!release\hl_objects.obj" +"\Xash3D\src_main\temp\cl_dll\!release\hl_weapons.obj" +"\Xash3D\src_main\temp\cl_dll\!release\glock.obj" +"\Xash3D\src_main\temp\cl_dll\!release\hornetgun.obj" +"\Xash3D\src_main\temp\cl_dll\!release\mp5.obj" +"\Xash3D\src_main\temp\cl_dll\!release\python.obj" +"\Xash3D\src_main\temp\cl_dll\!release\rpg.obj" +"\Xash3D\src_main\temp\cl_dll\!release\satchel.obj" +"\Xash3D\src_main\temp\cl_dll\!release\shotgun.obj" +"\Xash3D\src_main\temp\cl_dll\!release\squeakgrenade.obj" +"\Xash3D\src_main\temp\cl_dll\!release\tripmine.obj" +"\Xash3D\src_main\temp\cl_dll\!release\vgui_scrollbar2.obj" +"\Xash3D\src_main\temp\cl_dll\!release\vgui_slider2.obj" +"\Xash3D\src_main\temp\cl_dll\!release\voice_banmgr.obj" +"\Xash3D\src_main\temp\cl_dll\!release\voice_status.obj" +"\Xash3D\src_main\temp\cl_dll\!release\ammo.obj" +"\Xash3D\src_main\temp\cl_dll\!release\ammo_secondary.obj" +"\Xash3D\src_main\temp\cl_dll\!release\ammohistory.obj" +"\Xash3D\src_main\temp\cl_dll\!release\battery.obj" +"\Xash3D\src_main\temp\cl_dll\!release\cdll_int.obj" +"\Xash3D\src_main\temp\cl_dll\!release\com_weapons.obj" +"\Xash3D\src_main\temp\cl_dll\!release\death.obj" +"\Xash3D\src_main\temp\cl_dll\!release\demo.obj" +"\Xash3D\src_main\temp\cl_dll\!release\entity.obj" +"\Xash3D\src_main\temp\cl_dll\!release\ev_common.obj" +"\Xash3D\src_main\temp\cl_dll\!release\events.obj" +"\Xash3D\src_main\temp\cl_dll\!release\flashlight.obj" +"\Xash3D\src_main\temp\cl_dll\!release\GameStudioModelRenderer.obj" +"\Xash3D\src_main\temp\cl_dll\!release\geiger.obj" +"\Xash3D\src_main\temp\cl_dll\!release\health.obj" +"\Xash3D\src_main\temp\cl_dll\!release\hud.obj" +"\Xash3D\src_main\temp\cl_dll\!release\hud_msg.obj" +"\Xash3D\src_main\temp\cl_dll\!release\hud_redraw.obj" +"\Xash3D\src_main\temp\cl_dll\!release\hud_servers.obj" +"\Xash3D\src_main\temp\cl_dll\!release\hud_spectator.obj" +"\Xash3D\src_main\temp\cl_dll\!release\hud_update.obj" +"\Xash3D\src_main\temp\cl_dll\!release\in_camera.obj" +"\Xash3D\src_main\temp\cl_dll\!release\input.obj" +"\Xash3D\src_main\temp\cl_dll\!release\inputw32.obj" +"\Xash3D\src_main\temp\cl_dll\!release\menu.obj" +"\Xash3D\src_main\temp\cl_dll\!release\message.obj" +"\Xash3D\src_main\temp\cl_dll\!release\parsemsg.obj" +"\Xash3D\src_main\temp\cl_dll\!release\pm_debug.obj" +"\Xash3D\src_main\temp\cl_dll\!release\pm_math.obj" +"\Xash3D\src_main\temp\cl_dll\!release\pm_shared.obj" +"\Xash3D\src_main\temp\cl_dll\!release\saytext.obj" +"\Xash3D\src_main\temp\cl_dll\!release\status_icons.obj" +"\Xash3D\src_main\temp\cl_dll\!release\statusbar.obj" +"\Xash3D\src_main\temp\cl_dll\!release\studio_util.obj" +"\Xash3D\src_main\temp\cl_dll\!release\StudioModelRenderer.obj" +"\Xash3D\src_main\temp\cl_dll\!release\text_message.obj" +"\Xash3D\src_main\temp\cl_dll\!release\train.obj" +"\Xash3D\src_main\temp\cl_dll\!release\tri.obj" +"\Xash3D\src_main\temp\cl_dll\!release\util.obj" +"\Xash3D\src_main\temp\cl_dll\!release\vgui_checkbutton2.obj" +"\Xash3D\src_main\temp\cl_dll\!release\vgui_ClassMenu.obj" +"\Xash3D\src_main\temp\cl_dll\!release\vgui_ConsolePanel.obj" +"\Xash3D\src_main\temp\cl_dll\!release\vgui_ControlConfigPanel.obj" +"\Xash3D\src_main\temp\cl_dll\!release\vgui_CustomObjects.obj" +"\Xash3D\src_main\temp\cl_dll\!release\vgui_grid.obj" +"\Xash3D\src_main\temp\cl_dll\!release\vgui_helpers.obj" +"\Xash3D\src_main\temp\cl_dll\!release\vgui_int.obj" +"\Xash3D\src_main\temp\cl_dll\!release\vgui_listbox.obj" +"\Xash3D\src_main\temp\cl_dll\!release\vgui_loadtga.obj" +"\Xash3D\src_main\temp\cl_dll\!release\vgui_MOTDWindow.obj" +"\Xash3D\src_main\temp\cl_dll\!release\vgui_SchemeManager.obj" +"\Xash3D\src_main\temp\cl_dll\!release\vgui_ScorePanel.obj" +"\Xash3D\src_main\temp\cl_dll\!release\vgui_ServerBrowser.obj" +"\Xash3D\src_main\temp\cl_dll\!release\vgui_SpectatorPanel.obj" +"\Xash3D\src_main\temp\cl_dll\!release\vgui_TeamFortressViewport.obj" +"\Xash3D\src_main\temp\cl_dll\!release\vgui_teammenu.obj" +"\Xash3D\src_main\temp\cl_dll\!release\view.obj" +] +Creating command line "link.exe @"C:\DOCUME~1\ÌÈØÀ\LOCALS~1\Temp\RSP33B6.tmp"" +Creating temporary file "C:\DOCUME~1\ÌÈØÀ\LOCALS~1\Temp\RSP33B7.bat" with contents +[ +@echo off +copy \Xash3D\src_main\temp\cl_dll\!release\client.dll "D:\Xash3D\valve\cl_dlls\client.dll" +] +Creating command line ""C:\DOCUME~1\ÌÈØÀ\LOCALS~1\Temp\RSP33B7.bat"" +Compiling... +crossbow.cpp +crowbar.cpp +egon.cpp +ev_hldm.cpp +gauss.cpp +handgrenade.cpp +hl_baseentity.cpp +hl_events.cpp +hl_objects.cpp +hl_weapons.cpp +glock.cpp +hornetgun.cpp +mp5.cpp +python.cpp +rpg.cpp +satchel.cpp +shotgun.cpp +squeakgrenade.cpp +tripmine.cpp +voice_status.cpp +ammo.cpp +ammo_secondary.cpp +ammohistory.cpp +battery.cpp +cdll_int.cpp +com_weapons.cpp +death.cpp +demo.cpp +entity.cpp +ev_common.cpp +events.cpp +flashlight.cpp +GameStudioModelRenderer.cpp +geiger.cpp +health.cpp +hud.cpp +hud_msg.cpp +hud_redraw.cpp +hud_servers.cpp +hud_spectator.cpp +hud_update.cpp +in_camera.cpp +input.cpp +inputw32.cpp +menu.cpp +message.cpp +pm_debug.c +pm_math.c +pm_shared.c +saytext.cpp +status_icons.cpp +statusbar.cpp +studio_util.cpp +StudioModelRenderer.cpp +text_message.cpp +train.cpp +tri.cpp +util.cpp +vgui_ClassMenu.cpp +vgui_ConsolePanel.cpp +vgui_CustomObjects.cpp +vgui_int.cpp +vgui_loadtga.cpp +vgui_MOTDWindow.cpp +vgui_SchemeManager.cpp +vgui_ScorePanel.cpp +vgui_ServerBrowser.cpp +vgui_SpectatorPanel.cpp +vgui_TeamFortressViewport.cpp +vgui_teammenu.cpp +view.cpp +Linking... + Creating library ..\temp\cl_dll\!release/client.lib and object ..\temp\cl_dll\!release/client.exp +

Output Window

+Performing Custom Build Step on \Xash3D\src_main\temp\cl_dll\!release\client.dll +‘ª®¯¨à®¢ ­® ä ©«®¢: 1. + + + +

Results

+client.dll - 0 error(s), 0 warning(s) +
+ + diff --git a/cl_dll/vgui_ScorePanel.h b/cl_dll/vgui_ScorePanel.h index 1e3d8ae2..688a92dd 100644 --- a/cl_dll/vgui_ScorePanel.h +++ b/cl_dll/vgui_ScorePanel.h @@ -35,8 +35,6 @@ using namespace vgui; -#define Q_isspace( ch ) (ch < 32 || ch > 255) - class CTextImage2 : public Image { public: diff --git a/common/const.h b/common/const.h index f16797e9..79d7ca5e 100644 --- a/common/const.h +++ b/common/const.h @@ -732,6 +732,8 @@ typedef int string_t; typedef unsigned char byte; typedef unsigned short word; +#define Q_isspace( ch ) (ch < 32 || ch > 255) + #undef true #undef false diff --git a/dlls/client.cpp b/dlls/client.cpp index 38e5a826..ea6c347b 100644 --- a/dlls/client.cpp +++ b/dlls/client.cpp @@ -264,9 +264,9 @@ void Host_Say( edict_t *pEntity, int teamonly ) } // make sure the text has content - for ( char *pc = p; pc != NULL && *pc != 0; pc++ ) + for ( byte *pc = (byte *)p; pc != NULL && *pc != 0; pc++ ) { - if ( !isspace( *pc ) ) + if ( !Q_isspace( *pc ) ) { pc = NULL; // we've found an alphanumeric character, so text is valid break; diff --git a/dlls/hl.plg b/dlls/hl.plg index 95f34b9a..5b05c94d 100644 --- a/dlls/hl.plg +++ b/dlls/hl.plg @@ -3,332 +3,9 @@
 

Build Log

---------------------Configuration: hl - Win32 Debug-------------------- +--------------------Configuration: hl - Win32 Release--------------------

Command Lines

-Creating temporary file "C:\DOCUME~1\ÌÈØÀ\LOCALS~1\Temp\RSPF.tmp" with contents -[ -/nologo /G5 /MTd /W3 /Gm /ZI /Od /I "..\dlls" /I "..\engine" /I "..\common" /I "..\game_shared" /I "..\pm_shared" /I "..\\" /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /D "QUIVER" /D "VOXEL" /D "QUAKE2" /D "VALVE_DLL" /D "CLIENT_WEAPONS" /FR"..\temp\dlls\!debug/" /Fp"..\temp\dlls\!debug/hl.pch" /YX /Fo"..\temp\dlls\!debug/" /Fd"..\temp\dlls\!debug/" /FD /c -"D:\Xash3D\src_main\dlls\aflock.cpp" -"D:\Xash3D\src_main\dlls\agrunt.cpp" -"D:\Xash3D\src_main\dlls\airtank.cpp" -"D:\Xash3D\src_main\dlls\animating.cpp" -"D:\Xash3D\src_main\dlls\animation.cpp" -"D:\Xash3D\src_main\dlls\apache.cpp" -"D:\Xash3D\src_main\dlls\barnacle.cpp" -"D:\Xash3D\src_main\dlls\barney.cpp" -"D:\Xash3D\src_main\dlls\bigmomma.cpp" -"D:\Xash3D\src_main\dlls\bloater.cpp" -"D:\Xash3D\src_main\dlls\bmodels.cpp" -"D:\Xash3D\src_main\dlls\bullsquid.cpp" -"D:\Xash3D\src_main\dlls\buttons.cpp" -"D:\Xash3D\src_main\dlls\cbase.cpp" -"D:\Xash3D\src_main\dlls\client.cpp" -"D:\Xash3D\src_main\dlls\combat.cpp" -"D:\Xash3D\src_main\dlls\controller.cpp" -"D:\Xash3D\src_main\dlls\crossbow.cpp" -"D:\Xash3D\src_main\dlls\crowbar.cpp" -"D:\Xash3D\src_main\dlls\defaultai.cpp" -"D:\Xash3D\src_main\dlls\doors.cpp" -"D:\Xash3D\src_main\dlls\effects.cpp" -"D:\Xash3D\src_main\dlls\egon.cpp" -"D:\Xash3D\src_main\dlls\explode.cpp" -"D:\Xash3D\src_main\dlls\flyingmonster.cpp" -"D:\Xash3D\src_main\dlls\func_break.cpp" -"D:\Xash3D\src_main\dlls\func_tank.cpp" -"D:\Xash3D\src_main\dlls\game.cpp" -"D:\Xash3D\src_main\dlls\gamerules.cpp" -"D:\Xash3D\src_main\dlls\gargantua.cpp" -"D:\Xash3D\src_main\dlls\gauss.cpp" -"D:\Xash3D\src_main\dlls\genericmonster.cpp" -"D:\Xash3D\src_main\dlls\ggrenade.cpp" -"D:\Xash3D\src_main\dlls\globals.cpp" -"D:\Xash3D\src_main\dlls\glock.cpp" -"D:\Xash3D\src_main\dlls\gman.cpp" -"D:\Xash3D\src_main\dlls\h_ai.cpp" -"D:\Xash3D\src_main\dlls\h_battery.cpp" -"D:\Xash3D\src_main\dlls\h_cine.cpp" -"D:\Xash3D\src_main\dlls\h_cycler.cpp" -"D:\Xash3D\src_main\dlls\h_export.cpp" -"D:\Xash3D\src_main\dlls\handgrenade.cpp" -"D:\Xash3D\src_main\dlls\hassassin.cpp" -"D:\Xash3D\src_main\dlls\headcrab.cpp" -"D:\Xash3D\src_main\dlls\healthkit.cpp" -"D:\Xash3D\src_main\dlls\hgrunt.cpp" -"D:\Xash3D\src_main\dlls\hornet.cpp" -"D:\Xash3D\src_main\dlls\hornetgun.cpp" -"D:\Xash3D\src_main\dlls\houndeye.cpp" -"D:\Xash3D\src_main\dlls\ichthyosaur.cpp" -"D:\Xash3D\src_main\dlls\islave.cpp" -"D:\Xash3D\src_main\dlls\items.cpp" -"D:\Xash3D\src_main\dlls\leech.cpp" -"D:\Xash3D\src_main\dlls\lights.cpp" -"D:\Xash3D\src_main\dlls\maprules.cpp" -"D:\Xash3D\src_main\dlls\monstermaker.cpp" -"D:\Xash3D\src_main\dlls\monsters.cpp" -"D:\Xash3D\src_main\dlls\monsterstate.cpp" -"D:\Xash3D\src_main\dlls\mortar.cpp" -"D:\Xash3D\src_main\dlls\mp5.cpp" -"D:\Xash3D\src_main\dlls\multiplay_gamerules.cpp" -"D:\Xash3D\src_main\dlls\nihilanth.cpp" -"D:\Xash3D\src_main\dlls\nodes.cpp" -"D:\Xash3D\src_main\dlls\osprey.cpp" -"D:\Xash3D\src_main\dlls\pathcorner.cpp" -"D:\Xash3D\src_main\dlls\plane.cpp" -"D:\Xash3D\src_main\dlls\plats.cpp" -"D:\Xash3D\src_main\dlls\player.cpp" -"D:\Xash3D\src_main\pm_shared\pm_debug.c" -"D:\Xash3D\src_main\pm_shared\pm_math.c" -"D:\Xash3D\src_main\pm_shared\pm_shared.c" -"D:\Xash3D\src_main\dlls\python.cpp" -"D:\Xash3D\src_main\dlls\rat.cpp" -"D:\Xash3D\src_main\dlls\roach.cpp" -"D:\Xash3D\src_main\dlls\rpg.cpp" -"D:\Xash3D\src_main\dlls\satchel.cpp" -"D:\Xash3D\src_main\dlls\schedule.cpp" -"D:\Xash3D\src_main\dlls\scientist.cpp" -"D:\Xash3D\src_main\dlls\scripted.cpp" -"D:\Xash3D\src_main\dlls\shotgun.cpp" -"D:\Xash3D\src_main\dlls\singleplay_gamerules.cpp" -"D:\Xash3D\src_main\dlls\skill.cpp" -"D:\Xash3D\src_main\dlls\sound.cpp" -"D:\Xash3D\src_main\dlls\soundent.cpp" -"D:\Xash3D\src_main\dlls\spectator.cpp" -"D:\Xash3D\src_main\dlls\squadmonster.cpp" -"D:\Xash3D\src_main\dlls\squeakgrenade.cpp" -"D:\Xash3D\src_main\dlls\subs.cpp" -"D:\Xash3D\src_main\dlls\talkmonster.cpp" -"D:\Xash3D\src_main\dlls\teamplay_gamerules.cpp" -"D:\Xash3D\src_main\dlls\tentacle.cpp" -"D:\Xash3D\src_main\dlls\triggers.cpp" -"D:\Xash3D\src_main\dlls\tripmine.cpp" -"D:\Xash3D\src_main\dlls\turret.cpp" -"D:\Xash3D\src_main\dlls\util.cpp" -"D:\Xash3D\src_main\game_shared\voice_gamemgr.cpp" -"D:\Xash3D\src_main\dlls\weapons.cpp" -"D:\Xash3D\src_main\dlls\world.cpp" -"D:\Xash3D\src_main\dlls\xen.cpp" -"D:\Xash3D\src_main\dlls\zombie.cpp" -] -Creating command line "cl.exe @"C:\DOCUME~1\ÌÈØÀ\LOCALS~1\Temp\RSPF.tmp"" -Creating temporary file "C:\DOCUME~1\ÌÈØÀ\LOCALS~1\Temp\RSP10.tmp" with contents -[ -user32.lib advapi32.lib /nologo /subsystem:windows /dll /incremental:yes /pdb:"..\temp\dlls\!debug/hl.pdb" /debug /machine:I386 /def:".\hl.def" /out:"..\temp\dlls\!debug/hl.dll" /implib:"..\temp\dlls\!debug/hl.lib" -"\Xash3D\src_main\temp\dlls\!debug\aflock.obj" -"\Xash3D\src_main\temp\dlls\!debug\agrunt.obj" -"\Xash3D\src_main\temp\dlls\!debug\airtank.obj" -"\Xash3D\src_main\temp\dlls\!debug\animating.obj" -"\Xash3D\src_main\temp\dlls\!debug\animation.obj" -"\Xash3D\src_main\temp\dlls\!debug\apache.obj" -"\Xash3D\src_main\temp\dlls\!debug\barnacle.obj" -"\Xash3D\src_main\temp\dlls\!debug\barney.obj" -"\Xash3D\src_main\temp\dlls\!debug\bigmomma.obj" -"\Xash3D\src_main\temp\dlls\!debug\bloater.obj" -"\Xash3D\src_main\temp\dlls\!debug\bmodels.obj" -"\Xash3D\src_main\temp\dlls\!debug\bullsquid.obj" -"\Xash3D\src_main\temp\dlls\!debug\buttons.obj" -"\Xash3D\src_main\temp\dlls\!debug\cbase.obj" -"\Xash3D\src_main\temp\dlls\!debug\client.obj" -"\Xash3D\src_main\temp\dlls\!debug\combat.obj" -"\Xash3D\src_main\temp\dlls\!debug\controller.obj" -"\Xash3D\src_main\temp\dlls\!debug\crossbow.obj" -"\Xash3D\src_main\temp\dlls\!debug\crowbar.obj" -"\Xash3D\src_main\temp\dlls\!debug\defaultai.obj" -"\Xash3D\src_main\temp\dlls\!debug\doors.obj" -"\Xash3D\src_main\temp\dlls\!debug\effects.obj" -"\Xash3D\src_main\temp\dlls\!debug\egon.obj" -"\Xash3D\src_main\temp\dlls\!debug\explode.obj" -"\Xash3D\src_main\temp\dlls\!debug\flyingmonster.obj" -"\Xash3D\src_main\temp\dlls\!debug\func_break.obj" -"\Xash3D\src_main\temp\dlls\!debug\func_tank.obj" -"\Xash3D\src_main\temp\dlls\!debug\game.obj" -"\Xash3D\src_main\temp\dlls\!debug\gamerules.obj" -"\Xash3D\src_main\temp\dlls\!debug\gargantua.obj" -"\Xash3D\src_main\temp\dlls\!debug\gauss.obj" -"\Xash3D\src_main\temp\dlls\!debug\genericmonster.obj" -"\Xash3D\src_main\temp\dlls\!debug\ggrenade.obj" -"\Xash3D\src_main\temp\dlls\!debug\globals.obj" -"\Xash3D\src_main\temp\dlls\!debug\glock.obj" -"\Xash3D\src_main\temp\dlls\!debug\gman.obj" -"\Xash3D\src_main\temp\dlls\!debug\h_ai.obj" -"\Xash3D\src_main\temp\dlls\!debug\h_battery.obj" -"\Xash3D\src_main\temp\dlls\!debug\h_cine.obj" -"\Xash3D\src_main\temp\dlls\!debug\h_cycler.obj" -"\Xash3D\src_main\temp\dlls\!debug\h_export.obj" -"\Xash3D\src_main\temp\dlls\!debug\handgrenade.obj" -"\Xash3D\src_main\temp\dlls\!debug\hassassin.obj" -"\Xash3D\src_main\temp\dlls\!debug\headcrab.obj" -"\Xash3D\src_main\temp\dlls\!debug\healthkit.obj" -"\Xash3D\src_main\temp\dlls\!debug\hgrunt.obj" -"\Xash3D\src_main\temp\dlls\!debug\hornet.obj" -"\Xash3D\src_main\temp\dlls\!debug\hornetgun.obj" -"\Xash3D\src_main\temp\dlls\!debug\houndeye.obj" -"\Xash3D\src_main\temp\dlls\!debug\ichthyosaur.obj" -"\Xash3D\src_main\temp\dlls\!debug\islave.obj" -"\Xash3D\src_main\temp\dlls\!debug\items.obj" -"\Xash3D\src_main\temp\dlls\!debug\leech.obj" -"\Xash3D\src_main\temp\dlls\!debug\lights.obj" -"\Xash3D\src_main\temp\dlls\!debug\maprules.obj" -"\Xash3D\src_main\temp\dlls\!debug\monstermaker.obj" -"\Xash3D\src_main\temp\dlls\!debug\monsters.obj" -"\Xash3D\src_main\temp\dlls\!debug\monsterstate.obj" -"\Xash3D\src_main\temp\dlls\!debug\mortar.obj" -"\Xash3D\src_main\temp\dlls\!debug\mp5.obj" -"\Xash3D\src_main\temp\dlls\!debug\multiplay_gamerules.obj" -"\Xash3D\src_main\temp\dlls\!debug\nihilanth.obj" -"\Xash3D\src_main\temp\dlls\!debug\nodes.obj" -"\Xash3D\src_main\temp\dlls\!debug\osprey.obj" -"\Xash3D\src_main\temp\dlls\!debug\pathcorner.obj" -"\Xash3D\src_main\temp\dlls\!debug\plane.obj" -"\Xash3D\src_main\temp\dlls\!debug\plats.obj" -"\Xash3D\src_main\temp\dlls\!debug\player.obj" -"\Xash3D\src_main\temp\dlls\!debug\pm_debug.obj" -"\Xash3D\src_main\temp\dlls\!debug\pm_math.obj" -"\Xash3D\src_main\temp\dlls\!debug\pm_shared.obj" -"\Xash3D\src_main\temp\dlls\!debug\python.obj" -"\Xash3D\src_main\temp\dlls\!debug\rat.obj" -"\Xash3D\src_main\temp\dlls\!debug\roach.obj" -"\Xash3D\src_main\temp\dlls\!debug\rpg.obj" -"\Xash3D\src_main\temp\dlls\!debug\satchel.obj" -"\Xash3D\src_main\temp\dlls\!debug\schedule.obj" -"\Xash3D\src_main\temp\dlls\!debug\scientist.obj" -"\Xash3D\src_main\temp\dlls\!debug\scripted.obj" -"\Xash3D\src_main\temp\dlls\!debug\shotgun.obj" -"\Xash3D\src_main\temp\dlls\!debug\singleplay_gamerules.obj" -"\Xash3D\src_main\temp\dlls\!debug\skill.obj" -"\Xash3D\src_main\temp\dlls\!debug\sound.obj" -"\Xash3D\src_main\temp\dlls\!debug\soundent.obj" -"\Xash3D\src_main\temp\dlls\!debug\spectator.obj" -"\Xash3D\src_main\temp\dlls\!debug\squadmonster.obj" -"\Xash3D\src_main\temp\dlls\!debug\squeakgrenade.obj" -"\Xash3D\src_main\temp\dlls\!debug\subs.obj" -"\Xash3D\src_main\temp\dlls\!debug\talkmonster.obj" -"\Xash3D\src_main\temp\dlls\!debug\teamplay_gamerules.obj" -"\Xash3D\src_main\temp\dlls\!debug\tempmonster.obj" -"\Xash3D\src_main\temp\dlls\!debug\tentacle.obj" -"\Xash3D\src_main\temp\dlls\!debug\triggers.obj" -"\Xash3D\src_main\temp\dlls\!debug\tripmine.obj" -"\Xash3D\src_main\temp\dlls\!debug\turret.obj" -"\Xash3D\src_main\temp\dlls\!debug\util.obj" -"\Xash3D\src_main\temp\dlls\!debug\voice_gamemgr.obj" -"\Xash3D\src_main\temp\dlls\!debug\weapons.obj" -"\Xash3D\src_main\temp\dlls\!debug\world.obj" -"\Xash3D\src_main\temp\dlls\!debug\xen.obj" -"\Xash3D\src_main\temp\dlls\!debug\zombie.obj" -] -Creating command line "link.exe @"C:\DOCUME~1\ÌÈØÀ\LOCALS~1\Temp\RSP10.tmp"" -Creating temporary file "C:\DOCUME~1\ÌÈØÀ\LOCALS~1\Temp\RSP11.bat" with contents -[ -@echo off -copy \Xash3D\src_main\temp\dlls\!debug\hl.dll "D:\Xash3D\valve\dlls\hl.dll" -] -Creating command line ""C:\DOCUME~1\ÌÈØÀ\LOCALS~1\Temp\RSP11.bat"" -Compiling... -aflock.cpp -agrunt.cpp -airtank.cpp -animating.cpp -client.cpp -crossbow.cpp -game.cpp -player.cpp -pm_debug.c -pm_math.c -pm_shared.c -rpg.cpp -animation.cpp -apache.cpp -barnacle.cpp -barney.cpp -bigmomma.cpp -bloater.cpp -bmodels.cpp -bullsquid.cpp -buttons.cpp -cbase.cpp -combat.cpp -controller.cpp -crowbar.cpp -defaultai.cpp -doors.cpp -effects.cpp -egon.cpp -explode.cpp -flyingmonster.cpp -func_break.cpp -func_tank.cpp -gamerules.cpp -gargantua.cpp -gauss.cpp -genericmonster.cpp -ggrenade.cpp -globals.cpp -glock.cpp -gman.cpp -h_ai.cpp -h_battery.cpp -h_cine.cpp -h_cycler.cpp -h_export.cpp -handgrenade.cpp -hassassin.cpp -headcrab.cpp -healthkit.cpp -hgrunt.cpp -hornet.cpp -hornetgun.cpp -houndeye.cpp -ichthyosaur.cpp -islave.cpp -items.cpp -leech.cpp -lights.cpp -maprules.cpp -monstermaker.cpp -monsters.cpp -monsterstate.cpp -mortar.cpp -mp5.cpp -multiplay_gamerules.cpp -nihilanth.cpp -nodes.cpp -osprey.cpp -pathcorner.cpp -plane.cpp -plats.cpp -python.cpp -rat.cpp -roach.cpp -satchel.cpp -schedule.cpp -scientist.cpp -scripted.cpp -shotgun.cpp -singleplay_gamerules.cpp -skill.cpp -sound.cpp -soundent.cpp -spectator.cpp -squadmonster.cpp -squeakgrenade.cpp -subs.cpp -talkmonster.cpp -teamplay_gamerules.cpp -tentacle.cpp -triggers.cpp -tripmine.cpp -turret.cpp -util.cpp -voice_gamemgr.cpp -weapons.cpp -world.cpp -xen.cpp -zombie.cpp -Linking... - Creating library ..\temp\dlls\!debug/hl.lib and object ..\temp\dlls\!debug/hl.exp -

Output Window

-Performing Custom Build Step on \Xash3D\src_main\temp\dlls\!debug\hl.dll -‘ª®¯¨à®¢ ­® ä ©«®¢: 1. diff --git a/engine/cdll_int.h b/engine/cdll_int.h index 69776599..918cc49f 100644 --- a/engine/cdll_int.h +++ b/engine/cdll_int.h @@ -248,6 +248,39 @@ typedef struct cl_enginefuncs_s void (*pfnGetMousePos)( struct tagPOINT *ppt ); void (*pfnSetMousePos)( int x, int y ); void (*pfnSetMouseEnable)( qboolean fEnable ); + void (*pfnUnused1)( void ); + void (*pfnUnused2)( void ); + void (*pfnUnused3)( void ); + void (*pfnUnused4)( void ); + float (*pfnGetClientOldTime)( void ); + float (*pfnGetGravity)( void ); + struct model_s*(*pfnGetModelByIndex)( int index ); + void (*pfnUnused5)( void ); + void (*pfnUnused6)( void ); + void (*pfnUnused7)( void ); + void (*pfnUnused8)( void ); + void (*pfnUnused9)( void ); + void (*pfnUnused10)( void ); + void (*pfnUnused11)( void ); + void (*pfnUnused12)( void ); + const char*(*LocalPlayerInfo_ValueForKey)( const char* key ); + void (*pfnUnused13)( void ); + void (*pfnUnused14)( void ); + void (*pfnUnused15)( void ); + void (*pfnUnused16)( void ); + void (*Cvar_Set)( char *name, char *value ); + void (*pfnUnused17)( void ); + void (*pfnUnused18)( void ); + void (*pfnUnused19)( void ); + double (*pfnSys_FloatTime)( void ); + void (*pfnUnused20)( void ); + void (*pfnUnused21)( void ); + void (*pfnUnused22)( void ); + void (*pfnUnused23)( void ); + void (*pfnFillRGBABlend)( int x, int y, int width, int height, int r, int g, int b, int a ); + int (*pfnGetAppID)( void ); + void (*pfnUnused24)( void ); + void (*pfnUnused25)( void ); } cl_enginefunc_t; #define CLDLL_INTERFACE_VERSION 7 diff --git a/engine/client/cl_game.c b/engine/client/cl_game.c index a98279c6..deb016cb 100644 --- a/engine/client/cl_game.c +++ b/engine/client/cl_game.c @@ -2780,6 +2780,83 @@ char *pfnParseFile( char *data, char *token ) return out; } +/* +============= +pfnGetServerTime + +============= +*/ +float pfnGetClientOldTime( void ) +{ + return cl.oldtime; +} + +/* +============= +pfnGetGravity + +============= +*/ +float pfnGetGravity( void ) +{ + return clgame.movevars.gravity; +} + +/* +============= +LocalPlayerInfo_ValueForKey + +============= +*/ +const char *LocalPlayerInfo_ValueForKey( const char* key ) +{ + return Info_ValueForKey( cls.userinfo, key ); +} + +/* +============= +CL_FillRGBABlend + +============= +*/ +void CL_FillRGBABlend( int x, int y, int w, int h, int r, int g, int b, int a ) +{ + r = bound( 0, r, 255 ); + g = bound( 0, g, 255 ); + b = bound( 0, b, 255 ); + a = bound( 0, a, 255 ); + + SPR_AdjustSize( (float *)&x, (float *)&y, (float *)&w, (float *)&h ); + + pglDisable( GL_TEXTURE_2D ); + pglEnable( GL_BLEND ); + pglTexEnvi( GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE ); + pglBlendFunc( GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA ); + pglColor4f( r / 255.0f, g / 255.0f, b / 255.0f, a / 255.0f ); + + pglBegin( GL_QUADS ); + pglVertex2f( x, y ); + pglVertex2f( x + w, y ); + pglVertex2f( x + w, y + h ); + pglVertex2f( x, y + h ); + pglEnd (); + + pglColor3f( 1.0f, 1.0f, 1.0f ); + pglEnable( GL_TEXTURE_2D ); + pglDisable( GL_BLEND ); +} + +/* +============= +pfnGetAppID + +============= +*/ +int pfnGetAppID( void ) +{ + return 70; +} + /* ================= TriApi implementation @@ -3493,6 +3570,17 @@ float Voice_GetControlFloat( VoiceTweakControl iControl ) return 1.0f; } +/* +============= +pfnEngineStub + +extended iface stubs +============= +*/ +static void pfnEngineStub( void ) +{ +} + // shared between client and server triangleapi_t gTriApi = { @@ -3764,6 +3852,39 @@ static cl_enginefunc_t gEngfuncs = pfnGetMousePos, pfnSetMousePos, pfnSetMouseEnable, + pfnEngineStub, + pfnEngineStub, + pfnEngineStub, + pfnEngineStub, + pfnGetClientOldTime, + pfnGetGravity, + CL_ModelHandle, + pfnEngineStub, + pfnEngineStub, + pfnEngineStub, + pfnEngineStub, + pfnEngineStub, + pfnEngineStub, + pfnEngineStub, + pfnEngineStub, + LocalPlayerInfo_ValueForKey, + pfnEngineStub, + pfnEngineStub, + pfnEngineStub, + pfnEngineStub, + Cvar_Set, + pfnEngineStub, + pfnEngineStub, + pfnEngineStub, + Sys_DoubleTime, + pfnEngineStub, + pfnEngineStub, + pfnEngineStub, + pfnEngineStub, + CL_FillRGBABlend, + pfnGetAppID, + pfnEngineStub, + pfnEngineStub, }; void CL_UnloadProgs( void ) diff --git a/engine/client/cl_main.c b/engine/client/cl_main.c index 77cf6378..59b7967d 100644 --- a/engine/client/cl_main.c +++ b/engine/client/cl_main.c @@ -26,6 +26,7 @@ GNU General Public License for more details. #define MAX_CMD_BUFFER 8000 #define CONNECTION_PROBLEM_TIME 15.0 // 15 seconds #define CL_CONNECTION_RETRIES 10 +#define CL_TEST_RETRIES_NORESPONCE 2 #define CL_TEST_RETRIES 5 CVAR_DEFINE_AUTO( mp_decals, "300", FCVAR_ARCHIVE, "decals limit in multiplayer" ); @@ -194,7 +195,7 @@ int CL_GetFragmentSize( void *unused ) if( Netchan_IsLocal( &cls.netchan )) return FRAGMENT_LOCAL_SIZE; - return FRAGMENT_MAX_SIZE; + return bound( FRAGMENT_MIN_SIZE, cl_dlmax->value, FRAGMENT_MAX_SIZE ); } /* @@ -1089,11 +1090,12 @@ void CL_CheckForResend( void ) if( adr.port == 0 ) adr.port = MSG_BigShort( PORT_SERVER ); - if( cls.connect_retry == CL_TEST_RETRIES ) + if( cls.connect_retry == CL_TEST_RETRIES_NORESPONCE ) { // too many fails use default connection method + Msg( "hi-speed coonection is failed, use default method\n" ); Netchan_OutOfBandPrint( NS_CLIENT, adr, "getchallenge\n" ); - Cvar_SetValue( "cl_dlmax", FRAGMENT_MAX_SIZE ); + Cvar_SetValue( "cl_dlmax", FRAGMENT_MIN_SIZE ); cls.connect_time = host.realtime; cls.connect_retry++; return; @@ -1103,7 +1105,7 @@ void CL_CheckForResend( void ) cls.connect_time = host.realtime; // for retransmit requests cls.connect_retry++; - Con_Printf( "Connecting to %s...\n", cls.servername ); + Con_Printf( "Connecting to %s... [retry #%i]\n", cls.servername, cls.connect_retry ); if( cl_test_bandwidth.value ) Netchan_OutOfBandPrint( NS_CLIENT, adr, "bandwidth %i %i\n", PROTOCOL_VERSION, cls.max_fragment_size ); @@ -1182,12 +1184,16 @@ void CL_Connect_f( void ) Q_strncpy( server, Cmd_Argv( 1 ), sizeof( server )); // if running a local server, kill it and reissue -// if( SV_Active( )) Host_ShutdownServer(); + if( SV_Active( )) Host_ShutdownServer(); NET_Config( true ); // allow remote Con_Printf( "server %s\n", server ); CL_Disconnect(); + // TESTTEST: a see console during connection + UI_SetActiveMenu( false ); + Key_SetKeyDest( key_console ); + cls.state = ca_connecting; Q_strncpy( cls.servername, server, sizeof( cls.servername )); cls.connect_time = MAX_HEARTBEAT; // CL_CheckForResend() will fire immediately @@ -1794,8 +1800,9 @@ void CL_ConnectionlessPacket( netadr_t from, sizebuf_t *msg ) if( cls.connect_retry >= CL_TEST_RETRIES ) { // too many fails use default connection method + Msg( "hi-speed coonection is failed, use default method\n" ); Netchan_OutOfBandPrint( NS_CLIENT, from, "getchallenge\n" ); - Cvar_SetValue( "cl_dlmax", FRAGMENT_MAX_SIZE ); + Cvar_SetValue( "cl_dlmax", FRAGMENT_MIN_SIZE ); cls.connect_time = host.realtime; return; } @@ -1825,8 +1832,9 @@ void CL_ConnectionlessPacket( netadr_t from, sizebuf_t *msg ) if( cls.connect_retry >= CL_TEST_RETRIES ) { // too many fails use default connection method + Msg( "hi-speed coonection is failed, use default method\n" ); Netchan_OutOfBandPrint( NS_CLIENT, from, "getchallenge\n" ); - Cvar_SetValue( "cl_dlmax", FRAGMENT_MAX_SIZE ); + Cvar_SetValue( "cl_dlmax", FRAGMENT_MIN_SIZE ); cls.connect_time = host.realtime; return; } @@ -2595,6 +2603,7 @@ void CL_InitLocal( void ) Cmd_AddCommand ("give", NULL, "give specified item or weapon" ); Cmd_AddCommand ("drop", NULL, "drop current/specified item or weapon" ); Cmd_AddCommand ("gametitle", NULL, "show game logo" ); + Cmd_AddCommand( "kill", NULL, "die instantly" ); Cmd_AddCommand ("god", NULL, "enable godmode" ); Cmd_AddCommand ("fov", NULL, "set client field of view" ); Cmd_AddCommand ("log", NULL, "logging server events" ); diff --git a/engine/client/gl_rmain.c b/engine/client/gl_rmain.c index 82671eca..9d74332b 100644 --- a/engine/client/gl_rmain.c +++ b/engine/client/gl_rmain.c @@ -1084,6 +1084,9 @@ void R_RenderFrame( const ref_viewpass_t *rvp ) if( gl_finish->value && RI.drawWorld ) pglFinish(); + if( glConfig.max_multisamples > 1 ) + pglEnable( GL_MULTISAMPLE_ARB ); + // completely override rendering if( clgame.drawFuncs.GL_RenderFrame != NULL ) { diff --git a/engine/client/gl_vidnt.c b/engine/client/gl_vidnt.c index e57a024a..e649b37d 100644 --- a/engine/client/gl_vidnt.c +++ b/engine/client/gl_vidnt.c @@ -1480,9 +1480,6 @@ static void GL_SetDefaults( void ) pglDepthFunc( GL_LEQUAL ); pglColor4f( 1.0f, 1.0f, 1.0f, 1.0f ); - if( glConfig.max_multisamples > 1 ) - pglEnable( GL_MULTISAMPLE_ARB ); - if( glState.stencilEnabled ) { pglDisable( GL_STENCIL_TEST ); @@ -1621,6 +1618,12 @@ void GL_InitCommands( void ) Cmd_AddCommand( "r_info", R_RenderInfo_f, "display renderer info" ); + // give initial OpenGL configuration + host.apply_opengl_config = true; + Cbuf_AddText( "exec opengl.cfg\n" ); + Cbuf_Execute(); + host.apply_opengl_config = false; + // apply actual video mode to window Cbuf_AddText( "exec video.cfg\n" ); Cbuf_Execute(); @@ -1826,9 +1829,6 @@ qboolean R_Init( void ) if( glw_state.initialized ) return true; - // give initial OpenGL configuration - Cbuf_AddText( "exec opengl.cfg\n" ); - GL_InitCommands(); GL_InitRandomTable(); GL_SetDefaultState(); diff --git a/engine/common/cfgscript.c b/engine/common/cfgscript.c index 4ed52a1f..ece82c44 100644 --- a/engine/common/cfgscript.c +++ b/engine/common/cfgscript.c @@ -231,8 +231,6 @@ int CSCR_WriteGameCVars( file_t *cfg, const char *scriptfilename ) goto finish; } - FS_Printf( cfg, "// declared in %s:\n", scriptfilename ); - while( !CSCR_ExpectString( &state, "}", false, false )) { scrvardef_t var = { 0 }; @@ -245,8 +243,8 @@ int CSCR_WriteGameCVars( file_t *cfg, const char *scriptfilename ) { // cvars will be placed in game.cfg and restored on map start if( var.flags & FCVAR_USERINFO ) - FS_Printf( cfg, "// %s ( %s )\nsetu %s \"%s\"\n", var.desc, var.value, var.name, cvar->string ); - else FS_Printf( cfg, "// %s ( %s )\nset %s \"%s\"\n", var.desc, var.value, var.name, cvar->string ); + FS_Printf( cfg, "%s \"%s\"\n", var.name, cvar->string ); + else FS_Printf( cfg, "%s \"%s\"\n", var.name, cvar->string ); } count++; } diff --git a/engine/common/common.h b/engine/common/common.h index 781714d0..9121cebe 100644 --- a/engine/common/common.h +++ b/engine/common/common.h @@ -412,6 +412,7 @@ typedef struct host_parm_s qboolean force_draw_version; // used when fraps is loaded qboolean write_to_clipboard; // put image to clipboard instead of disk qboolean apply_game_config; // when true apply only to game cvars and ignore all other commands + qboolean apply_opengl_config;// when true apply only to opengl cvars and ignore all other commands qboolean config_executed; // a bit who indicated was config.cfg already executed e.g. from valve.rc int sv_cvars_restored; // count of restored server cvars qboolean crashed; // set to true if crashed diff --git a/engine/common/con_utils.c b/engine/common/con_utils.c index e595cac5..e7cf8804 100644 --- a/engine/common/con_utils.c +++ b/engine/common/con_utils.c @@ -875,8 +875,9 @@ with the archive flag set to true. */ static void Cmd_WriteOpenGLCvar( const char *name, const char *string, const char *desc, void *f ) { - if( !desc || !*desc ) return; // ignore cvars without description (fantom variables) - FS_Printf( f, "setgl %s \"%s\"\n", name, string ); + if( !COM_CheckString( desc )) + return; // ignore cvars without description (fantom variables) + FS_Printf( f, "%s \"%s\"\n", name, string ); } static void Cmd_WriteHelp(const char *name, const char *unused, const char *desc, void *f ) diff --git a/engine/common/cvar.c b/engine/common/cvar.c index 5b82bfa9..48dd3e4d 100644 --- a/engine/common/cvar.c +++ b/engine/common/cvar.c @@ -681,6 +681,13 @@ qboolean Cvar_Command( void ) { convar_t *v; + // special case for setup opengl configuration + if( host.apply_opengl_config ) + { + Cvar_FullSet( Cmd_Argv( 0 ), Cmd_Argv( 1 ), FCVAR_GLCONFIG ); + return true; + } + // check variables v = Cvar_FindVar( Cmd_Argv( 0 )); if( !v ) return false; @@ -756,24 +763,6 @@ void Cvar_Toggle_f( void ) Cvar_Set( Cmd_Argv( 1 ), va( "%i", v )); } -/* -============ -Cvar_SetR_f - -keep for legacy configs -============ -*/ -void Cvar_SetR_f( void ) -{ - if( Cmd_Argc() != 3 ) - { - Con_Printf( S_USAGE "setr \n" ); - return; - } - - Cvar_Set( Cmd_Argv( 1 ), Cmd_Argv( 2 )); -} - /* ============ Cvar_SetGL_f @@ -882,8 +871,7 @@ void Cvar_Init( void ) cmd_scripting = Cvar_Get( "cmd_scripting", "0", FCVAR_ARCHIVE, "enable simple condition checking and variable operations" ); Cvar_RegisterVariable (&host_developer); // early registering for dev - Cmd_AddCommand( "setr", Cvar_SetR_f, "create or change the value of a renderinfo variable" ); - Cmd_AddCommand( "setgl", Cvar_SetGL_f, "create or change the value of a opengl variable" ); + Cmd_AddCommand( "setgl", Cvar_SetGL_f, "create or change the value of a opengl variable" ); // OBSOLETE Cmd_AddCommand( "toggle", Cvar_Toggle_f, "toggles a console variable's values (use for more info)" ); Cmd_AddCommand( "reset", Cvar_Reset_f, "reset any type variable to initial value" ); Cmd_AddCommand( "cvarlist", Cvar_List_f, "display all console variables beginning with the specified prefix" ); diff --git a/engine/common/host.c b/engine/common/host.c index 30509c0a..e014ee0c 100644 --- a/engine/common/host.c +++ b/engine/common/host.c @@ -848,7 +848,6 @@ int EXPORT Host_Main( const char *progname, int bChangeGame, pfnChangeGame func } host.change_game = false; // done - Cmd_RemoveCommand( "setr" ); // remove potentially backdoor for change render settings Cmd_RemoveCommand( "setgl" ); Cbuf_ExecStuffCmds(); // execute stuffcmds (commandline) SCR_CheckStartupVids(); // must be last @@ -886,7 +885,7 @@ void EXPORT Host_Shutdown( void ) if( host.type == HOST_NORMAL ) Host_WriteConfig(); - SV_Shutdown( "" ); + SV_Shutdown( "Server shutdown\n" ); CL_Shutdown(); Mod_Shutdown(); diff --git a/engine/common/mod_bmodel.c b/engine/common/mod_bmodel.c index 0cb994b3..369640c9 100644 --- a/engine/common/mod_bmodel.c +++ b/engine/common/mod_bmodel.c @@ -1352,6 +1352,7 @@ for embedded submodels */ static void Mod_SetupSubmodels( dbspmodel_t *bmod ) { + qboolean colored = false; byte *mempool; char *ents; model_t *mod; @@ -1360,6 +1361,8 @@ static void Mod_SetupSubmodels( dbspmodel_t *bmod ) ents = loadmodel->entities; mempool = loadmodel->mempool; + if( FBitSet( loadmodel->flags, MODEL_COLORED_LIGHTING )) + colored = true; mod = loadmodel; loadmodel->numframes = 2; // regular and alternate animation @@ -1384,7 +1387,10 @@ static void Mod_SetupSubmodels( dbspmodel_t *bmod ) mod->radius = RadiusFromBounds( mod->mins, mod->maxs ); mod->numleafs = bm->visleafs; -// mod->flags = 0; + mod->flags = 0; + + // this bit will be shared between all the submodels include worldmodel + if( colored ) SetBits( mod->flags, MODEL_COLORED_LIGHTING ); if( i != 0 ) { diff --git a/engine/server/sv_client.c b/engine/server/sv_client.c index 5fe7ea77..b7072917 100644 --- a/engine/server/sv_client.c +++ b/engine/server/sv_client.c @@ -1164,7 +1164,7 @@ a deathmatch. */ void SV_PutClientInServer( sv_client_t *cl ) { - static byte msg_buf[MAX_INIT_MSG]; + static byte msg_buf[0x20200]; // MAX_INIT_MSG + some space edict_t *ent = cl->edict; sizebuf_t msg; @@ -1215,6 +1215,9 @@ void SV_PutClientInServer( sv_client_t *cl ) if( Q_atoi( Info_ValueForKey( cl->userinfo, "hltv" ))) SetBits( cl->flags, FCL_HLTV_PROXY ); + // need to realloc private data for client + SV_InitEdict( ent ); + if( FBitSet( cl->flags, FCL_HLTV_PROXY )) SetBits( ent->v.flags, FL_PROXY ); else ent->v.flags = 0; @@ -1270,11 +1273,17 @@ void SV_PutClientInServer( sv_client_t *cl ) MSG_WriteByte( &msg, 1 ); if( MSG_CheckOverflow( &msg )) - Host_Error( "overflow\n" ); - - // send initialization data - Netchan_CreateFragments( &cl->netchan, &msg ); - Netchan_FragSend( &cl->netchan ); + { + if( svs.maxclients == 1 ) + Host_Error( "spawn player: overflowed\n" ); + else SV_DropClient( cl, false ); + } + else + { + // send initialization data + Netchan_CreateFragments( &cl->netchan, &msg ); + Netchan_FragSend( &cl->netchan ); + } } } @@ -1751,6 +1760,27 @@ static qboolean SV_Notarget_f( sv_client_t *cl ) return true; } +/* +================== +SV_Kill_f +================== +*/ +static qboolean SV_Kill_f( sv_client_t *cl ) +{ + if( !SV_IsValidEdict( cl->edict )) + return true; + + if( cl->edict->v.health <= 0.0f ) + { + SV_ClientPrintf( cl, "Can't suicide - already dead!\n"); + return true; + } + + svgame.dllFuncs.pfnClientKill( cl->edict ); + + return true; +} + /* ================== SV_SendRes_f @@ -1903,6 +1933,7 @@ ucmd_t ucmds[] = { { "new", SV_New_f }, { "god", SV_Godmode_f }, +{ "kill", SV_Kill_f }, { "begin", SV_Begin_f }, { "spawn", SV_Spawn_f }, { "pause", SV_Pause_f }, diff --git a/engine/server/sv_cmds.c b/engine/server/sv_cmds.c index 2c001723..58b91196 100644 --- a/engine/server/sv_cmds.c +++ b/engine/server/sv_cmds.c @@ -468,30 +468,6 @@ void SV_Kick_f( void ) SV_DropClient( cl, false ); } -/* -================== -SV_Kill_f -================== -*/ -void SV_Kill_f( void ) -{ - sv_client_t *cl; - - if(( cl = SV_SetPlayer( )) == NULL ) - return; - - if( !SV_IsValidEdict( cl->edict )) - return; - - if( cl->edict->v.health <= 0.0f ) - { - SV_ClientPrintf( cl, "Can't suicide - already dead!\n"); - return; - } - - svgame.dllFuncs.pfnClientKill( cl->edict ); -} - /* ================== SV_EntPatch_f @@ -833,7 +809,6 @@ void SV_InitOperatorCommands( void ) { Cmd_AddCommand( "heartbeat", SV_Heartbeat_f, "send a heartbeat to the master server" ); Cmd_AddCommand( "kick", SV_Kick_f, "kick a player off the server by number or name" ); - Cmd_AddCommand( "kill", SV_Kill_f, "die instantly" ); Cmd_AddCommand( "status", SV_Status_f, "print server status information" ); Cmd_AddCommand( "localinfo", SV_LocalInfo_f, "examine or change the localinfo string" ); Cmd_AddCommand( "serverinfo", SV_ServerInfo_f, "examine or change the serverinfo string" ); @@ -866,12 +841,8 @@ SV_KillOperatorCommands */ void SV_KillOperatorCommands( void ) { - Cvar_Reset( "public" ); - Cvar_Reset( "sv_lan" ); - Cmd_RemoveCommand( "heartbeat" ); Cmd_RemoveCommand( "kick" ); - Cmd_RemoveCommand( "kill" ); Cmd_RemoveCommand( "status" ); Cmd_RemoveCommand( "localinfo" ); Cmd_RemoveCommand( "serverinfo" ); diff --git a/mainui/menu_creategame.cpp b/mainui/menu_creategame.cpp index 52c14ff0..a536dc8f 100644 --- a/mainui/menu_creategame.cpp +++ b/mainui/menu_creategame.cpp @@ -88,6 +88,8 @@ static void UI_CreateGame_Begin( void ) { char *pMapName = uiCreateGame.mapName[uiCreateGame.mapsList.curItem]; int maxPlayers = atoi( uiCreateGame.maxClients.buffer ); + int loc = CVAR_GET_FLOAT( "sv_lan" ); + int pub = CVAR_GET_FLOAT( "public" ); if( !MAP_IS_VALID( pMapName )) return; // bad map @@ -106,7 +108,7 @@ static void UI_CreateGame_Begin( void ) if( uiCreateGame.dedicatedServer.enabled ) { char cmd[128], msg[128]; - sprintf( cmd, "#%s +maxplayers %i +map %s", gMenu.m_gameinfo.gamefolder, maxPlayers, pMapName ); + sprintf( cmd, "#%s +maxplayers %i +sv_lan %i +public %i +map %s", gMenu.m_gameinfo.gamefolder, maxPlayers, loc, pub, pMapName ); sprintf( msg, "startup dedicated server from '%s'", gMenu.m_gameinfo.gamefolder ); HOST_CHANGEGAME( cmd, msg );