[bzflag] 02/07: New upstream version 2.4.8
Markus Koschany
apo at moszumanska.debian.org
Sun Dec 4 01:52:44 UTC 2016
This is an automated email from the git hooks/post-receive script.
apo pushed a commit to branch master
in repository bzflag.
commit 468b88b511f5c49e906cc5c231c6472403a22475
Author: Markus Koschany <apo at debian.org>
Date: Sun Dec 4 00:50:01 2016 +0100
New upstream version 2.4.8
---
.travis.yml | 21 -
AUTHORS | 3 +
ChangeLog | 18 +
MSVC/build/3D.vcxproj | 8 +-
MSVC/build/Makefile.am | 2 -
MSVC/build/bzadmin.vcxproj | 10 +-
MSVC/build/bzflag.vcxproj | 10 +-
MSVC/build/bzfs.vcxproj | 8 +-
MSVC/build/common.vcxproj | 10 +-
MSVC/build/date.vcxproj | 8 +-
MSVC/build/game.vcxproj | 8 +-
MSVC/build/geometry.vcxproj | 8 +-
MSVC/build/installer.vcxproj | 5 +-
MSVC/build/mediafile.vcxproj | 8 +-
MSVC/build/net.vcxproj | 8 +-
MSVC/build/obstacle.vcxproj | 8 +-
MSVC/build/ogl.vcxproj | 8 +-
MSVC/build/platform.vcxproj | 8 +-
MSVC/build/scene.vcxproj | 2 +-
MSVC/build/tests.vcxproj | 214 --
MSVC/build/tests.vcxproj.filters | 31 -
MSVC/bzflag.rc | 8 +-
MSVC/fullbuild.sln | 29 -
Makefile.am | 6 +-
README | 2 +-
README.WINDOWS | 10 -
Xcode/BZFlag.xcodeproj/project.pbxproj | 102 +-
configure.ac | 123 +-
data/bzflag.desktop | 1 +
data/l10n/Makefile.am | 1 +
data/l10n/bzflag_ru.po | 3250 +++++++++++++++++++++++++++++
data/title.png | Bin 91775 -> 110082 bytes
misc/art/title.psd | Bin 375912 -> 381705 bytes
package/Makefile.am | 5 -
package/win32/nsis/BZFlag.nsi | 2 +-
plugins/plugin_utils/plugin_utils.vcxproj | 2 +-
src/bzadmin/BZAdminClient.cxx | 3 +
src/bzadmin/Makefile.am | 4 +-
src/{bzflag => bzadmin}/ServerLink.cxx | 201 --
src/{bzflag => bzadmin}/ServerLink.h | 21 -
src/bzadmin/bzadmin.cxx | 5 -
src/bzflag/ControlPanel.cxx | 8 +-
src/bzflag/Makefile.am | 6 -
src/bzflag/ServerLink.cxx | 2 -
src/bzflag/ServerLink.h | 2 -
src/bzflag/ServerMenu.cxx | 8 +-
src/bzflag/bzflag.cxx | 39 -
src/bzflag/playing.cxx | 58 +-
src/bzflag/sound.cxx | 4 +-
src/bzfs/AccessControlList.cxx | 6 +-
src/bzfs/CmdLineOptions.cxx | 31 +-
src/bzfs/CmdLineOptions.h | 3 +-
src/bzfs/bzfs.cxx | 30 +-
src/bzfs/bzfsAPI.cxx | 2 +-
src/bzfs/commands.cxx | 11 +-
src/date/buildDate.cxx | 2 +-
src/obstacle/Teleporter.cxx | 3 +-
src/platform/SDL2Display.cxx | 2 +
tests/Makefile.am | 25 -
tests/bans.cxx | 114 -
tests/tests.cxx | 29 -
61 files changed, 3484 insertions(+), 1082 deletions(-)
diff --git a/.travis.yml b/.travis.yml
deleted file mode 100644
index 0de9bfd..0000000
--- a/.travis.yml
+++ /dev/null
@@ -1,21 +0,0 @@
-language: cpp
-
-before_install:
- - sudo apt-get update -qq
- - sudo apt-get install -y g++ libtool automake autoconf libgl1-mesa-dev libglu1-mesa-dev libsdl1.2-dev libsdl-sound1.2-dev libcurl3-dev libc-ares-dev zlib1g-dev libncurses-dev make
- - git clone git://github.com/cpputest/cpputest.git
- - cd cpputest/cpputest_build
- - autoreconf .. -i
- - ../configure
- - sudo make install
- - cd ../..
-
-install:
- - ./autogen.sh -v
- - ./configure --enable-debug
- - make
- - make check
-
-script:
- - ./tests/unittests
-
diff --git a/AUTHORS b/AUTHORS
index 9572d94..9772a88 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -224,6 +224,9 @@ Kyle Mills (khonkhortisan)
Ian Farr (Quol)
Ryan Kavanagh (ryanakca)
Lee Marshall (bizarrefish)
+-- 2016 --
+Ruslan Hihin
+Aleksandr Lahin
GOOGLE SUMMER OF CODE
diff --git a/ChangeLog b/ChangeLog
index acf0aff..031d2fa 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,6 +1,24 @@
BZFlag Release Notes
====================
+BZFlag 2.4.8 "Sixteen" (2016-10-10)
+------------
+
+* Add Russian transliteration - Ruslan Hihin, Aleksandr Lahin
+* Fix a regression in 2.4.6 where the client would not reduce CPU usage when
+ minimized on Windows - Scott Wichser
+* On autotools platforms, try to use SDL2, then SDL1, and then fall back to
+ native platform code. Allow specifying an SDL version as well.
+ - Scott Wichser
+* Prevent some more bzfs options from being specified in a world file
+ - Scott Wichser
+* Cleaned up some GCC6 warnings - Scott Wichser
+* Spawn all players on base when a timed game starts - Konstantinos Kanavouras
+* Add indicator for -noTeamKill servers on server list - Konstantinos Kanavouras
+* Send a notification to admins when a BZDB variable is reset
+ - Konstantinos Kanavouras
+* Increase the range of the volume slider - Konstantinos Kanavouras
+
BZFlag 2.4.6 "Eight, Our Codebase is Overweight" (2016-06-26)
--------------------------------------------
diff --git a/MSVC/build/3D.vcxproj b/MSVC/build/3D.vcxproj
index 17665e7..353a124 100644
--- a/MSVC/build/3D.vcxproj
+++ b/MSVC/build/3D.vcxproj
@@ -77,7 +77,7 @@
<ClCompile>
<Optimization>Disabled</Optimization>
<WholeProgramOptimization>false</WholeProgramOptimization>
- <AdditionalIncludeDirectories>../../include;./;$(BZ_DEPS)\output-$(Configuration)-$(PlatformShortName)\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <AdditionalIncludeDirectories>.\;..\..\include;$(BZ_DEPS)\output-$(Configuration)-$(PlatformShortName)\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MinimalRebuild>true</MinimalRebuild>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
@@ -100,7 +100,7 @@
<ClCompile>
<Optimization>Disabled</Optimization>
<WholeProgramOptimization>false</WholeProgramOptimization>
- <AdditionalIncludeDirectories>../../include;./;$(BZ_DEPS)\output-$(Configuration)-$(PlatformShortName)\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <AdditionalIncludeDirectories>.\;..\..\include;$(BZ_DEPS)\output-$(Configuration)-$(PlatformShortName)\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MinimalRebuild>true</MinimalRebuild>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
@@ -118,7 +118,7 @@
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
- <AdditionalIncludeDirectories>../../include;./;$(BZ_DEPS)\output-$(Configuration)-$(PlatformShortName)\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <AdditionalIncludeDirectories>.\;..\..\include;$(BZ_DEPS)\output-$(Configuration)-$(PlatformShortName)\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<PrecompiledHeader>
@@ -135,7 +135,7 @@
<TargetEnvironment>X64</TargetEnvironment>
</Midl>
<ClCompile>
- <AdditionalIncludeDirectories>../../include;./;$(BZ_DEPS)\output-$(Configuration)-$(PlatformShortName)\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <AdditionalIncludeDirectories>.\;..\..\include;$(BZ_DEPS)\output-$(Configuration)-$(PlatformShortName)\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<PrecompiledHeader>
diff --git a/MSVC/build/Makefile.am b/MSVC/build/Makefile.am
index 521b500..32948eb 100644
--- a/MSVC/build/Makefile.am
+++ b/MSVC/build/Makefile.am
@@ -18,8 +18,6 @@ EXTRA_DIST = \
ogl.vcxproj \
platform.vcxproj \
scene.vcxproj \
- tests.vcxproj \
- tests.vcxproj.filters \
makeHTML.bat
MAINTAINERCLEANFILES = \
diff --git a/MSVC/build/bzadmin.vcxproj b/MSVC/build/bzadmin.vcxproj
index 3e42521..7fc7df2 100644
--- a/MSVC/build/bzadmin.vcxproj
+++ b/MSVC/build/bzadmin.vcxproj
@@ -86,7 +86,7 @@
<ClCompile>
<Optimization>Disabled</Optimization>
<WholeProgramOptimization>false</WholeProgramOptimization>
- <AdditionalIncludeDirectories>../../win32;../../include;../../src/bzflag;./;$(BZ_DEPS)\output-$(Configuration)-$(PlatformShortName)\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <AdditionalIncludeDirectories>.\;..\..\include;$(BZ_DEPS)\output-$(Configuration)-$(PlatformShortName)\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;BUILDING_BZADMIN;HAVE_CURSES_H;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
@@ -137,7 +137,7 @@ copy $(BZ_DEPS)\output-$(Configuration)-$(PlatformShortName)\bin\*.dll ..\..\bin
<ClCompile>
<Optimization>Disabled</Optimization>
<WholeProgramOptimization>false</WholeProgramOptimization>
- <AdditionalIncludeDirectories>../../win32;../../include;../../src/bzflag;./;$(BZ_DEPS)\output-$(Configuration)-$(PlatformShortName)\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <AdditionalIncludeDirectories>.\;..\..\include;$(BZ_DEPS)\output-$(Configuration)-$(PlatformShortName)\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;BUILDING_BZADMIN;HAVE_CURSES_H;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
@@ -187,7 +187,7 @@ copy $(BZ_DEPS)\output-$(Configuration)-$(PlatformShortName)\bin\*.dll ..\..\bin
<ClCompile>
<Optimization>MaxSpeed</Optimization>
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
- <AdditionalIncludeDirectories>../../win32;../../include;../../src/bzflag;./;$(BZ_DEPS)\output-$(Configuration)-$(PlatformShortName)\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <AdditionalIncludeDirectories>.\;..\..\include;$(BZ_DEPS)\output-$(Configuration)-$(PlatformShortName)\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;BUILDING_BZADMIN;HAVE_CURSES_H;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
@@ -236,7 +236,7 @@ copy $(BZ_DEPS)\output-$(Configuration)-$(PlatformShortName)\bin\*.dll ..\..\bin
<ClCompile>
<Optimization>MaxSpeed</Optimization>
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
- <AdditionalIncludeDirectories>../../win32;../../include;../../src/bzflag;./;$(BZ_DEPS)\output-$(Configuration)-$(PlatformShortName)\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <AdditionalIncludeDirectories>.\;..\..\include;$(BZ_DEPS)\output-$(Configuration)-$(PlatformShortName)\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;BUILDING_BZADMIN;HAVE_CURSES_H;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
@@ -327,7 +327,7 @@ copy $(BZ_DEPS)\output-$(Configuration)-$(PlatformShortName)\bin\*.dll ..\..\bin
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
- <ClCompile Include="..\..\src\bzflag\ServerLink.cxx">
+ <ClCompile Include="..\..\src\bzadmin\ServerLink.cxx">
<Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
diff --git a/MSVC/build/bzflag.vcxproj b/MSVC/build/bzflag.vcxproj
index 9c2f33d..520af77 100644
--- a/MSVC/build/bzflag.vcxproj
+++ b/MSVC/build/bzflag.vcxproj
@@ -104,7 +104,7 @@
<Optimization>Disabled</Optimization>
<InlineFunctionExpansion>Default</InlineFunctionExpansion>
<WholeProgramOptimization>false</WholeProgramOptimization>
- <AdditionalIncludeDirectories>..\..\include;..\..\win32;.\;$(BZ_DEPS)\output-$(Configuration)-$(PlatformShortName)\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <AdditionalIncludeDirectories>.\;..\..\include;$(BZ_DEPS)\output-$(Configuration)-$(PlatformShortName)\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>_WINDOWS;WIN32;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
@@ -161,7 +161,7 @@ copy $(BZ_DEPS)\output-$(Configuration)-$(PlatformShortName)\bin\*.dll ..\..\bin
<Optimization>Disabled</Optimization>
<InlineFunctionExpansion>Default</InlineFunctionExpansion>
<WholeProgramOptimization>false</WholeProgramOptimization>
- <AdditionalIncludeDirectories>..\..\include;..\..\win32;.\;$(BZ_DEPS)\output-$(Configuration)-$(PlatformShortName)\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <AdditionalIncludeDirectories>.\;..\..\include;$(BZ_DEPS)\output-$(Configuration)-$(PlatformShortName)\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>_WINDOWS;WIN32;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
@@ -217,7 +217,7 @@ copy $(BZ_DEPS)\output-$(Configuration)-$(PlatformShortName)\bin\*.dll ..\..\bin
<ClCompile>
<Optimization>MaxSpeed</Optimization>
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
- <AdditionalIncludeDirectories>..\..\include;..\..\win32;.\;$(BZ_DEPS)\output-$(Configuration)-$(PlatformShortName)\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <AdditionalIncludeDirectories>.\;..\..\include;$(BZ_DEPS)\output-$(Configuration)-$(PlatformShortName)\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>_WINDOWS;WIN32;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
@@ -268,7 +268,7 @@ copy $(BZ_DEPS)\output-$(Configuration)-$(PlatformShortName)\bin\*.dll ..\..\bin
<ClCompile>
<Optimization>MaxSpeed</Optimization>
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
- <AdditionalIncludeDirectories>..\..\include;..\..\win32;.\;$(BZ_DEPS)\output-$(Configuration)-$(PlatformShortName)\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <AdditionalIncludeDirectories>.\;..\..\include;$(BZ_DEPS)\output-$(Configuration)-$(PlatformShortName)\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>_WINDOWS;WIN32;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
@@ -311,7 +311,6 @@ copy $(BZ_DEPS)\output-$(Configuration)-$(PlatformShortName)\bin\*.dll ..\..\bin
<ClCompile Include="..\..\src\bzflag\AutoPilot.cxx" />
<ClCompile Include="..\..\src\bzflag\ServerListFilterHelpMenu.cxx" />
<ClCompile Include="..\..\src\bzflag\ServerListFilterMenu.cxx" />
- <ClCompile Include="..\..\src\common\BZDBLocal.cxx" />
<ClCompile Include="..\..\src\bzflag\bzflag.cxx">
<Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
@@ -892,7 +891,6 @@ copy $(BZ_DEPS)\output-$(Configuration)-$(PlatformShortName)\bin\*.dll ..\..\bin
<ClInclude Include="..\..\src\bzflag\AudioMenu.h" />
<ClInclude Include="..\..\src\bzflag\BackgroundRenderer.h" />
<ClInclude Include="..\..\src\bzflag\BaseLocalPlayer.h" />
- <ClInclude Include="..\..\include\BZDBLocal.h" />
<ClInclude Include="..\..\src\bzflag\CacheMenu.h" />
<ClInclude Include="..\..\src\bzflag\callbacks.h" />
<ClInclude Include="..\..\src\bzflag\commands.h" />
diff --git a/MSVC/build/bzfs.vcxproj b/MSVC/build/bzfs.vcxproj
index 5fd608f..2a6aaea 100644
--- a/MSVC/build/bzfs.vcxproj
+++ b/MSVC/build/bzfs.vcxproj
@@ -86,7 +86,7 @@
<ClCompile>
<Optimization>MaxSpeed</Optimization>
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
- <AdditionalIncludeDirectories>..\..\include;..\..\win32;.\;$(BZ_DEPS)\output-$(Configuration)-$(PlatformShortName)\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <AdditionalIncludeDirectories>.\;..\..\include;$(BZ_DEPS)\output-$(Configuration)-$(PlatformShortName)\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>_CONSOLE;WIN32;NDEBUG;INSIDE_BZ;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
@@ -135,7 +135,7 @@ copy $(BZ_DEPS)\output-$(Configuration)-$(PlatformShortName)\bin\*.dll ..\..\bin
<ClCompile>
<Optimization>MaxSpeed</Optimization>
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
- <AdditionalIncludeDirectories>..\..\include;..\..\win32;.\;$(BZ_DEPS)\output-$(Configuration)-$(PlatformShortName)\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <AdditionalIncludeDirectories>.\;..\..\include;$(BZ_DEPS)\output-$(Configuration)-$(PlatformShortName)\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>_CONSOLE;WIN32;NDEBUG;INSIDE_BZ;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
@@ -183,7 +183,7 @@ copy $(BZ_DEPS)\output-$(Configuration)-$(PlatformShortName)\bin\*.dll ..\..\bin
<ClCompile>
<Optimization>Disabled</Optimization>
<WholeProgramOptimization>false</WholeProgramOptimization>
- <AdditionalIncludeDirectories>..\..\include;..\..\win32;.\;$(BZ_DEPS)\output-$(Configuration)-$(PlatformShortName)\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <AdditionalIncludeDirectories>.\;..\..\include;$(BZ_DEPS)\output-$(Configuration)-$(PlatformShortName)\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>_CONSOLE;WIN32;_DEBUG;INSIDE_BZ;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
@@ -237,7 +237,7 @@ copy $(BZ_DEPS)\output-$(Configuration)-$(PlatformShortName)\bin\*.dll ..\..\bin
<ClCompile>
<Optimization>Disabled</Optimization>
<WholeProgramOptimization>false</WholeProgramOptimization>
- <AdditionalIncludeDirectories>..\..\include;..\..\win32;.\;$(BZ_DEPS)\output-$(Configuration)-$(PlatformShortName)\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <AdditionalIncludeDirectories>.\;..\..\include;$(BZ_DEPS)\output-$(Configuration)-$(PlatformShortName)\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>_CONSOLE;WIN32;_DEBUG;INSIDE_BZ;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
diff --git a/MSVC/build/common.vcxproj b/MSVC/build/common.vcxproj
index 1004e22..3985711 100644
--- a/MSVC/build/common.vcxproj
+++ b/MSVC/build/common.vcxproj
@@ -77,7 +77,7 @@
<ClCompile>
<Optimization>Disabled</Optimization>
<WholeProgramOptimization>false</WholeProgramOptimization>
- <AdditionalIncludeDirectories>..\..\include;..\..\win32;.\;$(BZ_DEPS)\output-$(Configuration)-$(PlatformShortName)\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <AdditionalIncludeDirectories>.\;..\..\include;$(BZ_DEPS)\output-$(Configuration)-$(PlatformShortName)\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_DEBUG;_LIB;_VC_NET;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
@@ -106,7 +106,7 @@
<ClCompile>
<Optimization>Disabled</Optimization>
<WholeProgramOptimization>false</WholeProgramOptimization>
- <AdditionalIncludeDirectories>..\..\include;..\..\win32;.\;$(BZ_DEPS)\output-$(Configuration)-$(PlatformShortName)\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <AdditionalIncludeDirectories>.\;..\..\include;$(BZ_DEPS)\output-$(Configuration)-$(PlatformShortName)\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_DEBUG;_LIB;_VC_NET;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
@@ -132,7 +132,7 @@
<ClCompile>
<Optimization>MaxSpeed</Optimization>
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
- <AdditionalIncludeDirectories>..\..\include;..\..\win32;.\;$(BZ_DEPS)\output-$(Configuration)-$(PlatformShortName)\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <AdditionalIncludeDirectories>.\;..\..\include;$(BZ_DEPS)\output-$(Configuration)-$(PlatformShortName)\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;NDEBUG;_LIB;_VC_NET;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
@@ -160,7 +160,7 @@
<ClCompile>
<Optimization>MaxSpeed</Optimization>
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
- <AdditionalIncludeDirectories>..\..\include;..\..\win32;.\;$(BZ_DEPS)\output-$(Configuration)-$(PlatformShortName)\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <AdditionalIncludeDirectories>.\;..\..\include;$(BZ_DEPS)\output-$(Configuration)-$(PlatformShortName)\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;NDEBUG;_LIB;_VC_NET;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
@@ -216,6 +216,7 @@
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
+ <ClCompile Include="..\..\src\common\BZDBLocal.cxx" />
<ClCompile Include="..\..\src\common\bz_Locale.cxx" />
<ClCompile Include="..\..\src\common\BZDBCache.cxx">
<Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
@@ -525,6 +526,7 @@
<ClInclude Include="..\..\include\AutoCompleter.h" />
<ClInclude Include="..\..\include\Bundle.h" />
<ClInclude Include="..\..\include\BundleMgr.h" />
+ <ClInclude Include="..\..\include\BZDBLocal.h" />
<ClInclude Include="..\..\include\bz_Locale.h" />
<ClInclude Include="..\..\include\BZDBCache.h" />
<ClInclude Include="..\..\include\bzfio.h" />
diff --git a/MSVC/build/date.vcxproj b/MSVC/build/date.vcxproj
index 1ed5ed0..6a9acba 100644
--- a/MSVC/build/date.vcxproj
+++ b/MSVC/build/date.vcxproj
@@ -77,7 +77,7 @@
<ClCompile>
<Optimization>Disabled</Optimization>
<WholeProgramOptimization>false</WholeProgramOptimization>
- <AdditionalIncludeDirectories>.;.\..\..\include;$(BZ_DEPS)\output-$(Configuration)-$(PlatformShortName)\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <AdditionalIncludeDirectories>.\;..\..\include;$(BZ_DEPS)\output-$(Configuration)-$(PlatformShortName)\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
@@ -111,7 +111,7 @@
<ClCompile>
<Optimization>Disabled</Optimization>
<WholeProgramOptimization>false</WholeProgramOptimization>
- <AdditionalIncludeDirectories>.;.\..\..\include;$(BZ_DEPS)\output-$(Configuration)-$(PlatformShortName)\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <AdditionalIncludeDirectories>.\;..\..\include;$(BZ_DEPS)\output-$(Configuration)-$(PlatformShortName)\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
@@ -142,7 +142,7 @@
<ClCompile>
<Optimization>MaxSpeed</Optimization>
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
- <AdditionalIncludeDirectories>.;.\..\..\include;$(BZ_DEPS)\output-$(Configuration)-$(PlatformShortName)\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <AdditionalIncludeDirectories>.\;..\..\include;$(BZ_DEPS)\output-$(Configuration)-$(PlatformShortName)\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
@@ -179,7 +179,7 @@ del __bd.cxx
<ClCompile>
<Optimization>MaxSpeed</Optimization>
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
- <AdditionalIncludeDirectories>.;.\..\..\include;$(BZ_DEPS)\output-$(Configuration)-$(PlatformShortName)\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <AdditionalIncludeDirectories>.\;..\..\include;$(BZ_DEPS)\output-$(Configuration)-$(PlatformShortName)\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
diff --git a/MSVC/build/game.vcxproj b/MSVC/build/game.vcxproj
index e8fd76e..39ed552 100644
--- a/MSVC/build/game.vcxproj
+++ b/MSVC/build/game.vcxproj
@@ -74,7 +74,7 @@
<ClCompile>
<Optimization>Disabled</Optimization>
<WholeProgramOptimization>false</WholeProgramOptimization>
- <AdditionalIncludeDirectories>../../include/;../;./;$(BZ_DEPS)\output-$(Configuration)-$(PlatformShortName)\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <AdditionalIncludeDirectories>.\;..\..\include;$(BZ_DEPS)\output-$(Configuration)-$(PlatformShortName)\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MinimalRebuild>true</MinimalRebuild>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
@@ -97,7 +97,7 @@
<ClCompile>
<Optimization>Disabled</Optimization>
<WholeProgramOptimization>false</WholeProgramOptimization>
- <AdditionalIncludeDirectories>../../include/;../;./;$(BZ_DEPS)\output-$(Configuration)-$(PlatformShortName)\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <AdditionalIncludeDirectories>.\;..\..\include;$(BZ_DEPS)\output-$(Configuration)-$(PlatformShortName)\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MinimalRebuild>true</MinimalRebuild>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
@@ -115,7 +115,7 @@
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
- <AdditionalIncludeDirectories>../../include/;../;./;$(BZ_DEPS)\output-$(Configuration)-$(PlatformShortName)\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <AdditionalIncludeDirectories>.\;..\..\include;$(BZ_DEPS)\output-$(Configuration)-$(PlatformShortName)\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<PrecompiledHeader>
@@ -132,7 +132,7 @@
<TargetEnvironment>X64</TargetEnvironment>
</Midl>
<ClCompile>
- <AdditionalIncludeDirectories>../../include/;../;./;$(BZ_DEPS)\output-$(Configuration)-$(PlatformShortName)\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <AdditionalIncludeDirectories>.\;..\..\include;$(BZ_DEPS)\output-$(Configuration)-$(PlatformShortName)\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<PrecompiledHeader>
diff --git a/MSVC/build/geometry.vcxproj b/MSVC/build/geometry.vcxproj
index 35b74c1..1cd2359 100644
--- a/MSVC/build/geometry.vcxproj
+++ b/MSVC/build/geometry.vcxproj
@@ -77,7 +77,7 @@
<ClCompile>
<Optimization>MaxSpeed</Optimization>
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
- <AdditionalIncludeDirectories>..\..\include;..\..\win32;.\;$(BZ_DEPS)\output-$(Configuration)-$(PlatformShortName)\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <AdditionalIncludeDirectories>.\;..\..\include;$(BZ_DEPS)\output-$(Configuration)-$(PlatformShortName)\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
@@ -106,7 +106,7 @@
<ClCompile>
<Optimization>MaxSpeed</Optimization>
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
- <AdditionalIncludeDirectories>..\..\include;..\..\win32;.\;$(BZ_DEPS)\output-$(Configuration)-$(PlatformShortName)\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <AdditionalIncludeDirectories>.\;..\..\include;$(BZ_DEPS)\output-$(Configuration)-$(PlatformShortName)\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
@@ -132,7 +132,7 @@
<ClCompile>
<Optimization>Disabled</Optimization>
<WholeProgramOptimization>false</WholeProgramOptimization>
- <AdditionalIncludeDirectories>..\..\include;..\..\win32;.\;$(BZ_DEPS)\output-$(Configuration)-$(PlatformShortName)\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <AdditionalIncludeDirectories>.\;..\..\include;$(BZ_DEPS)\output-$(Configuration)-$(PlatformShortName)\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
@@ -162,7 +162,7 @@
<ClCompile>
<Optimization>Disabled</Optimization>
<WholeProgramOptimization>false</WholeProgramOptimization>
- <AdditionalIncludeDirectories>..\..\include;..\..\win32;.\;$(BZ_DEPS)\output-$(Configuration)-$(PlatformShortName)\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <AdditionalIncludeDirectories>.\;..\..\include;$(BZ_DEPS)\output-$(Configuration)-$(PlatformShortName)\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
diff --git a/MSVC/build/installer.vcxproj b/MSVC/build/installer.vcxproj
index d75ad01..35a6060 100644
--- a/MSVC/build/installer.vcxproj
+++ b/MSVC/build/installer.vcxproj
@@ -300,11 +300,8 @@
<Project>{1baed535-4aef-4041-9cb5-a7dc9c14e105}</Project>
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
</ProjectReference>
- <ProjectReference Include="tests.vcxproj">
- <Project>{a01188f0-a2a9-4cae-9979-b47426104b38}</Project>
- </ProjectReference>
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
-</Project>
+</Project>
\ No newline at end of file
diff --git a/MSVC/build/mediafile.vcxproj b/MSVC/build/mediafile.vcxproj
index ed062d6..e69603b 100644
--- a/MSVC/build/mediafile.vcxproj
+++ b/MSVC/build/mediafile.vcxproj
@@ -77,7 +77,7 @@
<ClCompile>
<Optimization>MaxSpeed</Optimization>
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
- <AdditionalIncludeDirectories>..\..\include;..\..\MSVC;.\;$(BZ_DEPS)\output-$(Configuration)-$(PlatformShortName)\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <AdditionalIncludeDirectories>.\;..\..\include;$(BZ_DEPS)\output-$(Configuration)-$(PlatformShortName)\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
@@ -108,7 +108,7 @@
<ClCompile>
<Optimization>MaxSpeed</Optimization>
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
- <AdditionalIncludeDirectories>..\..\include;..\..\MSVC;.\;$(BZ_DEPS)\output-$(Configuration)-$(PlatformShortName)\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <AdditionalIncludeDirectories>.\;..\..\include;$(BZ_DEPS)\output-$(Configuration)-$(PlatformShortName)\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
@@ -136,7 +136,7 @@
<ClCompile>
<Optimization>Disabled</Optimization>
<WholeProgramOptimization>false</WholeProgramOptimization>
- <AdditionalIncludeDirectories>..\..\include;..\..\MSVC;.\;$(BZ_DEPS)\output-$(Configuration)-$(PlatformShortName)\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <AdditionalIncludeDirectories>.\;..\..\include;$(BZ_DEPS)\output-$(Configuration)-$(PlatformShortName)\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
@@ -168,7 +168,7 @@
<ClCompile>
<Optimization>Disabled</Optimization>
<WholeProgramOptimization>false</WholeProgramOptimization>
- <AdditionalIncludeDirectories>..\..\include;..\..\MSVC;.\;$(BZ_DEPS)\output-$(Configuration)-$(PlatformShortName)\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <AdditionalIncludeDirectories>.\;..\..\include;$(BZ_DEPS)\output-$(Configuration)-$(PlatformShortName)\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
diff --git a/MSVC/build/net.vcxproj b/MSVC/build/net.vcxproj
index 515ec26..3a39009 100644
--- a/MSVC/build/net.vcxproj
+++ b/MSVC/build/net.vcxproj
@@ -77,7 +77,7 @@
<ClCompile>
<Optimization>Disabled</Optimization>
<WholeProgramOptimization>false</WholeProgramOptimization>
- <AdditionalIncludeDirectories>..\..\include;..\..\win32;.\;$(BZ_DEPS)\output-$(Configuration)-$(PlatformShortName)\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <AdditionalIncludeDirectories>.\;..\..\include;$(BZ_DEPS)\output-$(Configuration)-$(PlatformShortName)\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
@@ -104,7 +104,7 @@
<ClCompile>
<Optimization>MaxSpeed</Optimization>
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
- <AdditionalIncludeDirectories>..\..\include;..\..\win32;.\;$(BZ_DEPS)\output-$(Configuration)-$(PlatformShortName)\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <AdditionalIncludeDirectories>.\;..\..\include;$(BZ_DEPS)\output-$(Configuration)-$(PlatformShortName)\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
@@ -133,7 +133,7 @@
<ClCompile>
<Optimization>Disabled</Optimization>
<WholeProgramOptimization>false</WholeProgramOptimization>
- <AdditionalIncludeDirectories>..\..\include;..\..\win32;.\;$(BZ_DEPS)\output-$(Configuration)-$(PlatformShortName)\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <AdditionalIncludeDirectories>.\;..\..\include;$(BZ_DEPS)\output-$(Configuration)-$(PlatformShortName)\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
@@ -163,7 +163,7 @@
<ClCompile>
<Optimization>MaxSpeed</Optimization>
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
- <AdditionalIncludeDirectories>..\..\include;..\..\win32;.\;$(BZ_DEPS)\output-$(Configuration)-$(PlatformShortName)\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <AdditionalIncludeDirectories>.\;..\..\include;$(BZ_DEPS)\output-$(Configuration)-$(PlatformShortName)\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
diff --git a/MSVC/build/obstacle.vcxproj b/MSVC/build/obstacle.vcxproj
index 0f15773..655e596 100644
--- a/MSVC/build/obstacle.vcxproj
+++ b/MSVC/build/obstacle.vcxproj
@@ -77,7 +77,7 @@
<ClCompile>
<Optimization>MaxSpeed</Optimization>
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
- <AdditionalIncludeDirectories>..\..\include;..\..\win32;.\;$(BZ_DEPS)\output-$(Configuration)-$(PlatformShortName)\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <AdditionalIncludeDirectories>.\;..\..\include;$(BZ_DEPS)\output-$(Configuration)-$(PlatformShortName)\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
@@ -106,7 +106,7 @@
<ClCompile>
<Optimization>MaxSpeed</Optimization>
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
- <AdditionalIncludeDirectories>..\..\include;..\..\win32;.\;$(BZ_DEPS)\output-$(Configuration)-$(PlatformShortName)\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <AdditionalIncludeDirectories>.\;..\..\include;$(BZ_DEPS)\output-$(Configuration)-$(PlatformShortName)\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
@@ -132,7 +132,7 @@
<ClCompile>
<Optimization>Disabled</Optimization>
<WholeProgramOptimization>false</WholeProgramOptimization>
- <AdditionalIncludeDirectories>..\..\include;..\..\win32;.\;$(BZ_DEPS)\output-$(Configuration)-$(PlatformShortName)\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <AdditionalIncludeDirectories>.\;..\..\include;$(BZ_DEPS)\output-$(Configuration)-$(PlatformShortName)\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
@@ -162,7 +162,7 @@
<ClCompile>
<Optimization>Disabled</Optimization>
<WholeProgramOptimization>false</WholeProgramOptimization>
- <AdditionalIncludeDirectories>..\..\include;..\..\win32;.\;$(BZ_DEPS)\output-$(Configuration)-$(PlatformShortName)\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <AdditionalIncludeDirectories>.\;..\..\include;$(BZ_DEPS)\output-$(Configuration)-$(PlatformShortName)\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
diff --git a/MSVC/build/ogl.vcxproj b/MSVC/build/ogl.vcxproj
index ae9b421..bd66566 100644
--- a/MSVC/build/ogl.vcxproj
+++ b/MSVC/build/ogl.vcxproj
@@ -78,7 +78,7 @@
<ClCompile>
<Optimization>Disabled</Optimization>
<WholeProgramOptimization>false</WholeProgramOptimization>
- <AdditionalIncludeDirectories>..\..\include;..\..\win32;.\;$(BZ_DEPS)\output-$(Configuration)-$(PlatformShortName)\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <AdditionalIncludeDirectories>.\;..\..\include;$(BZ_DEPS)\output-$(Configuration)-$(PlatformShortName)\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
@@ -108,7 +108,7 @@
<ClCompile>
<Optimization>Disabled</Optimization>
<WholeProgramOptimization>false</WholeProgramOptimization>
- <AdditionalIncludeDirectories>..\..\include;..\..\win32;.\;$(BZ_DEPS)\output-$(Configuration)-$(PlatformShortName)\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <AdditionalIncludeDirectories>.\;..\..\include;$(BZ_DEPS)\output-$(Configuration)-$(PlatformShortName)\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
@@ -135,7 +135,7 @@
<ClCompile>
<Optimization>MaxSpeed</Optimization>
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
- <AdditionalIncludeDirectories>..\..\include;..\..\win32;.\;$(BZ_DEPS)\output-$(Configuration)-$(PlatformShortName)\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <AdditionalIncludeDirectories>.\;..\..\include;$(BZ_DEPS)\output-$(Configuration)-$(PlatformShortName)\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;NDEBUG;_LIB;(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
@@ -164,7 +164,7 @@
<ClCompile>
<Optimization>MaxSpeed</Optimization>
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
- <AdditionalIncludeDirectories>..\..\include;..\..\win32;.\;$(BZ_DEPS)\output-$(Configuration)-$(PlatformShortName)\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <AdditionalIncludeDirectories>.\;..\..\include;$(BZ_DEPS)\output-$(Configuration)-$(PlatformShortName)\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
diff --git a/MSVC/build/platform.vcxproj b/MSVC/build/platform.vcxproj
index d4a5cce..dbdccfc 100644
--- a/MSVC/build/platform.vcxproj
+++ b/MSVC/build/platform.vcxproj
@@ -77,7 +77,7 @@
<ClCompile>
<Optimization>Disabled</Optimization>
<WholeProgramOptimization>false</WholeProgramOptimization>
- <AdditionalIncludeDirectories>..\..\include;..\..\win32;.\;$(BZ_DEPS)\output-$(Configuration)-$(PlatformShortName)\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <AdditionalIncludeDirectories>.\;..\..\include;$(BZ_DEPS)\output-$(Configuration)-$(PlatformShortName)\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_DEBUG;_LIB;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
@@ -107,7 +107,7 @@
<ClCompile>
<Optimization>Disabled</Optimization>
<WholeProgramOptimization>false</WholeProgramOptimization>
- <AdditionalIncludeDirectories>..\..\include;..\..\win32;.\;$(BZ_DEPS)\output-$(Configuration)-$(PlatformShortName)\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <AdditionalIncludeDirectories>.\;..\..\include;$(BZ_DEPS)\output-$(Configuration)-$(PlatformShortName)\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_DEBUG;_LIB;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
@@ -134,7 +134,7 @@
<ClCompile>
<Optimization>MaxSpeed</Optimization>
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
- <AdditionalIncludeDirectories>..\..\include;..\..\win32;.\;$(BZ_DEPS)\output-$(Configuration)-$(PlatformShortName)\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <AdditionalIncludeDirectories>.\;..\..\include;$(BZ_DEPS)\output-$(Configuration)-$(PlatformShortName)\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;NDEBUG;_LIB;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
@@ -163,7 +163,7 @@
<ClCompile>
<Optimization>MaxSpeed</Optimization>
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
- <AdditionalIncludeDirectories>..\..\include;..\..\win32;.\;$(BZ_DEPS)\output-$(Configuration)-$(PlatformShortName)\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <AdditionalIncludeDirectories>.\;..\..\include;$(BZ_DEPS)\output-$(Configuration)-$(PlatformShortName)\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;NDEBUG;_LIB;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
diff --git a/MSVC/build/scene.vcxproj b/MSVC/build/scene.vcxproj
index 953821f..9830f29 100644
--- a/MSVC/build/scene.vcxproj
+++ b/MSVC/build/scene.vcxproj
@@ -77,7 +77,7 @@
<ClCompile>
<Optimization>Disabled</Optimization>
<WholeProgramOptimization>false</WholeProgramOptimization>
- <AdditionalIncludeDirectories>..\..\include;..\..\win32;.\;$(BZ_DEPS)\output-$(Configuration)-$(PlatformShortName)\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <AdditionalIncludeDirectories>.\;..\..\include;$(BZ_DEPS)\output-$(Configuration)-$(PlatformShortName)\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
diff --git a/MSVC/build/tests.vcxproj b/MSVC/build/tests.vcxproj
deleted file mode 100644
index 7fea328..0000000
--- a/MSVC/build/tests.vcxproj
+++ /dev/null
@@ -1,214 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup Label="ProjectConfigurations">
- <ProjectConfiguration Include="Debug|Win32">
- <Configuration>Debug</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Debug|x64">
- <Configuration>Debug</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|Win32">
- <Configuration>Release</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|x64">
- <Configuration>Release</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- </ItemGroup>
- <PropertyGroup Label="Globals">
- <ProjectGuid>{A01188F0-A2A9-4CAE-9979-B47426104B38}</ProjectGuid>
- <RootNamespace>tests</RootNamespace>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <UseDebugLibraries>true</UseDebugLibraries>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <UseDebugLibraries>true</UseDebugLibraries>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <UseDebugLibraries>false</UseDebugLibraries>
- <WholeProgramOptimization>true</WholeProgramOptimization>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
- <ConfigurationType>Application</ConfigurationType>
- <UseDebugLibraries>false</UseDebugLibraries>
- <WholeProgramOptimization>true</WholeProgramOptimization>
- <CharacterSet>MultiByte</CharacterSet>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
- <ImportGroup Label="ExtensionSettings">
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <PropertyGroup Label="UserMacros" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <OutDir>$(ProjectName)_$(Platform)_$(Configuration)\</OutDir>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
- <OutDir>$(ProjectName)_$(Platform)_$(Configuration)\</OutDir>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <IntDir>$(ProjectName)_$(Platform)_$(Configuration)\</IntDir>
- <LinkIncremental>true</LinkIncremental>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
- <IntDir>$(ProjectName)_$(Platform)_$(Configuration)\</IntDir>
- <LinkIncremental>true</LinkIncremental>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <OutDir>$(ProjectName)_$(Platform)_$(Configuration)\</OutDir>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
- <OutDir>$(ProjectName)_$(Platform)_$(Configuration)\</OutDir>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <IntDir>$(ProjectName)_$(Platform)_$(Configuration)\</IntDir>
- <LinkIncremental>false</LinkIncremental>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
- <IntDir>$(ProjectName)_$(Platform)_$(Configuration)\</IntDir>
- <LinkIncremental>false</LinkIncremental>
- </PropertyGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <ClCompile>
- <WarningLevel>Level3</WarningLevel>
- <Optimization>Disabled</Optimization>
- <AdditionalIncludeDirectories>$(CPPUTEST_HOME)\include;$(BZ_DEPS)\output-$(Configuration)-$(PlatformShortName)\include;.\;..\..\include;..\..\src\bzfs;..\..\src\bzflag;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreprocessorDefinitions>CPPUTEST;_MBCS;_CONSOLE;WIN32;_DEBUG;INSIDE_BZ;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <AssemblerListingLocation>$(OutDir)</AssemblerListingLocation>
- <ObjectFileName>$(OutDir)</ObjectFileName>
- <ProgramDataBaseFileName>$(OutDir)</ProgramDataBaseFileName>
- </ClCompile>
- <Link>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <AdditionalLibraryDirectories>$(CPPUTEST_HOME)\lib;$(BZ_DEPS)\output-$(Configuration)-$(PlatformShortName)\lib</AdditionalLibraryDirectories>
- <AdditionalDependencies>regex.lib;ws2_32.lib;CppUTestd.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <SubSystem>Console</SubSystem>
- <IgnoreSpecificDefaultLibraries>
- </IgnoreSpecificDefaultLibraries>
- </Link>
- <PostBuildEvent>
- <Command>"$(TargetPath)"</Command>
- </PostBuildEvent>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
- <ClCompile>
- <WarningLevel>Level3</WarningLevel>
- <Optimization>Disabled</Optimization>
- <AdditionalIncludeDirectories>$(CPPUTEST_HOME)\include;$(BZ_DEPS)\output-$(Configuration)-$(PlatformShortName)\include;.\;..\..\include;..\..\src\bzfs;..\..\src\bzflag;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreprocessorDefinitions>CPPUTEST;_MBCS;_CONSOLE;WIN32;_DEBUG;INSIDE_BZ;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <AssemblerListingLocation>$(OutDir)</AssemblerListingLocation>
- <ObjectFileName>$(OutDir)</ObjectFileName>
- <ProgramDataBaseFileName>$(OutDir)</ProgramDataBaseFileName>
- </ClCompile>
- <Link>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <AdditionalLibraryDirectories>$(CPPUTEST_HOME)\lib;$(BZ_DEPS)\output-$(Configuration)-$(PlatformShortName)\lib</AdditionalLibraryDirectories>
- <AdditionalDependencies>regex.lib;ws2_32.lib;CppUTestd.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <SubSystem>Console</SubSystem>
- <IgnoreSpecificDefaultLibraries>
- </IgnoreSpecificDefaultLibraries>
- </Link>
- <PostBuildEvent>
- <Command>"$(TargetPath)"</Command>
- </PostBuildEvent>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <ClCompile>
- <WarningLevel>Level3</WarningLevel>
- <Optimization>MaxSpeed</Optimization>
- <FunctionLevelLinking>true</FunctionLevelLinking>
- <IntrinsicFunctions>true</IntrinsicFunctions>
- <AdditionalIncludeDirectories>$(CPPUTEST_HOME)\include;$(BZ_DEPS)\output-$(Configuration)-$(PlatformShortName)\include;.\;..\..\include;..\..\src\bzfs;..\..\src\bzflag;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreprocessorDefinitions>CPPUTEST;_MBCS;_CONSOLE;WIN32;INSIDE_BZ;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <AssemblerListingLocation>$(OutDir)</AssemblerListingLocation>
- <ObjectFileName>$(OutDir)</ObjectFileName>
- <ProgramDataBaseFileName>$(OutDir)</ProgramDataBaseFileName>
- </ClCompile>
- <Link>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <OptimizeReferences>true</OptimizeReferences>
- <AdditionalLibraryDirectories>$(CPPUTEST_HOME)\lib;$(BZ_DEPS)\output-$(Configuration)-$(PlatformShortName)\lib</AdditionalLibraryDirectories>
- <AdditionalDependencies>regex.lib;ws2_32.lib;CppUTest.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <SubSystem>Console</SubSystem>
- <IgnoreSpecificDefaultLibraries>
- </IgnoreSpecificDefaultLibraries>
- </Link>
- <PostBuildEvent>
- <Command>"$(TargetPath)"</Command>
- </PostBuildEvent>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
- <ClCompile>
- <WarningLevel>Level3</WarningLevel>
- <Optimization>MaxSpeed</Optimization>
- <FunctionLevelLinking>true</FunctionLevelLinking>
- <IntrinsicFunctions>true</IntrinsicFunctions>
- <AdditionalIncludeDirectories>$(CPPUTEST_HOME)\include;$(BZ_DEPS)\output-$(Configuration)-$(PlatformShortName)\include;.\;..\..\include;..\..\src\bzfs;..\..\src\bzflag;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreprocessorDefinitions>CPPUTEST;_MBCS;_CONSOLE;WIN32;INSIDE_BZ;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <AssemblerListingLocation>$(OutDir)</AssemblerListingLocation>
- <ObjectFileName>$(OutDir)</ObjectFileName>
- <ProgramDataBaseFileName>$(OutDir)</ProgramDataBaseFileName>
- </ClCompile>
- <Link>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <OptimizeReferences>true</OptimizeReferences>
- <AdditionalLibraryDirectories>$(CPPUTEST_HOME)\lib;$(BZ_DEPS)\output-$(Configuration)-$(PlatformShortName)\lib</AdditionalLibraryDirectories>
- <AdditionalDependencies>regex.lib;ws2_32.lib;CppUTest.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <SubSystem>Console</SubSystem>
- <IgnoreSpecificDefaultLibraries>
- </IgnoreSpecificDefaultLibraries>
- </Link>
- <PostBuildEvent>
- <Command>"$(TargetPath)"</Command>
- </PostBuildEvent>
- </ItemDefinitionGroup>
- <ItemGroup>
- <ClCompile Include="..\..\src\bzfs\AccessControlList.cxx" />
- <ClCompile Include="..\..\tests\bans.cxx" />
- <ClCompile Include="..\..\tests\tests.cxx" />
- </ItemGroup>
- <ItemGroup>
- <ProjectReference Include="common.vcxproj">
- <Project>{57138f88-a81f-4ffb-8bdd-58db1a1473f5}</Project>
- <Private>true</Private>
- <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
- <CopyLocalSatelliteAssemblies>false</CopyLocalSatelliteAssemblies>
- <LinkLibraryDependencies>true</LinkLibraryDependencies>
- <UseLibraryDependencyInputs>false</UseLibraryDependencyInputs>
- </ProjectReference>
- <ProjectReference Include="game.vcxproj">
- <Project>{b2b95537-a4ce-4510-96a6-00f7b7303922}</Project>
- <Private>true</Private>
- <ReferenceOutputAssembly>false</ReferenceOutputAssembly>
- <CopyLocalSatelliteAssemblies>false</CopyLocalSatelliteAssemblies>
- <LinkLibraryDependencies>true</LinkLibraryDependencies>
- <UseLibraryDependencyInputs>false</UseLibraryDependencyInputs>
- </ProjectReference>
- </ItemGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
- <ImportGroup Label="ExtensionTargets">
- </ImportGroup>
-</Project>
\ No newline at end of file
diff --git a/MSVC/build/tests.vcxproj.filters b/MSVC/build/tests.vcxproj.filters
deleted file mode 100644
index a16e03c..0000000
--- a/MSVC/build/tests.vcxproj.filters
+++ /dev/null
@@ -1,31 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup>
- <Filter Include="Source Files">
- <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
- <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
- </Filter>
- <Filter Include="Header Files">
- <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
- <Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
- </Filter>
- <Filter Include="Resource Files">
- <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
- <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
- </Filter>
- <Filter Include="Source Files\bzfs">
- <UniqueIdentifier>{d3156d91-e041-4c2e-88b4-6f3a8a33e190}</UniqueIdentifier>
- </Filter>
- </ItemGroup>
- <ItemGroup>
- <ClCompile Include="..\..\tests\tests.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="..\..\tests\bans.cxx">
- <Filter>Source Files</Filter>
- </ClCompile>
- <ClCompile Include="..\..\src\bzfs\AccessControlList.cxx">
- <Filter>Source Files\bzfs</Filter>
- </ClCompile>
- </ItemGroup>
-</Project>
\ No newline at end of file
diff --git a/MSVC/bzflag.rc b/MSVC/bzflag.rc
index 4a64d6f..25bd0d4 100644
--- a/MSVC/bzflag.rc
+++ b/MSVC/bzflag.rc
@@ -48,8 +48,8 @@ END
//
VS_VERSION_INFO VERSIONINFO
- FILEVERSION 2,4,6,0
- PRODUCTVERSION 2,4,6,0
+ FILEVERSION 2,4,8,0
+ PRODUCTVERSION 2,4,8,0
FILEFLAGSMASK 0x3fL
#ifdef _DEBUG
FILEFLAGS 0x1L
@@ -66,12 +66,12 @@ BEGIN
BEGIN
VALUE "CompanyName", "Tim Riker"
VALUE "FileDescription", "The BZFlag Client"
- VALUE "FileVersion", "2.4.6.0"
+ VALUE "FileVersion", "2.4.8.0"
VALUE "InternalName", "bzflag.rc"
VALUE "LegalCopyright", "Copyright (c) 1993-2016 Tim Riker"
VALUE "OriginalFilename", "bzflag.rc"
VALUE "ProductName", "BZFlag"
- VALUE "ProductVersion", "2.4.6.0"
+ VALUE "ProductVersion", "2.4.8.0"
END
END
BLOCK "VarFileInfo"
diff --git a/MSVC/fullbuild.sln b/MSVC/fullbuild.sln
index e2a7f96..7bac3a0 100644
--- a/MSVC/fullbuild.sln
+++ b/MSVC/fullbuild.sln
@@ -15,9 +15,6 @@ EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "geometry", "build\geometry.vcxproj", "{7009C42E-D693-4635-95CF-23ECBA63653C}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "installer", "build\installer.vcxproj", "{0169213B-F29C-4244-8280-602EB17F55FB}"
- ProjectSection(ProjectDependencies) = postProject
- {A01188F0-A2A9-4CAE-9979-B47426104B38} = {A01188F0-A2A9-4CAE-9979-B47426104B38}
- EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "makehtml", "build\makehtml.vcxproj", "{91198429-3669-4C40-A294-B8593D7C4987}"
EndProject
@@ -97,15 +94,6 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "bzfscron", "..\plugins\bzfs
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "CustomZoneSample", "..\plugins\CustomZoneSample\CustomZoneSample.vcxproj", "{3FB1B268-2084-4C96-8D90-EB72A612A986}"
EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "tests", "build\tests.vcxproj", "{A01188F0-A2A9-4CAE-9979-B47426104B38}"
- ProjectSection(ProjectDependencies) = postProject
- {CA597E05-FD07-4AE3-B963-81C858F26D56} = {CA597E05-FD07-4AE3-B963-81C858F26D56}
- {5000550B-DA03-4872-9975-1AA7EE3A40AF} = {5000550B-DA03-4872-9975-1AA7EE3A40AF}
- {B2B95537-A4CE-4510-96A6-00F7B7303922} = {B2B95537-A4CE-4510-96A6-00F7B7303922}
- {57138F88-A81F-4FFB-8BDD-58DB1A1473F5} = {57138F88-A81F-4FFB-8BDD-58DB1A1473F5}
- {7FA170AC-5A33-41FC-9B3D-02F9E5173B0E} = {7FA170AC-5A33-41FC-9B3D-02F9E5173B0E}
- EndProjectSection
-EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "thiefControl", "..\plugins\thiefControl\thiefControl.vcxproj", "{C7E4CB54-110E-4DA1-86E5-612DE727419A}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "superUser", "..\plugins\superUser\superUser.vcxproj", "{FC234DE3-C0A0-4B78-A552-5117AF3B5EC6}"
@@ -278,14 +266,6 @@ Global
{1FF80896-DD88-4992-8DB1-7070924091BF}.Release|Win32.Build.0 = Release|Win32
{1FF80896-DD88-4992-8DB1-7070924091BF}.Release|x64.ActiveCfg = Release|x64
{1FF80896-DD88-4992-8DB1-7070924091BF}.Release|x64.Build.0 = Release|x64
- {2EAF7655-AE86-4407-8262-43496581E5B2}.Debug|Win32.ActiveCfg = Debug|Win32
- {2EAF7655-AE86-4407-8262-43496581E5B2}.Debug|Win32.Build.0 = Debug|Win32
- {2EAF7655-AE86-4407-8262-43496581E5B2}.Debug|x64.ActiveCfg = Debug|x64
- {2EAF7655-AE86-4407-8262-43496581E5B2}.Debug|x64.Build.0 = Debug|x64
- {2EAF7655-AE86-4407-8262-43496581E5B2}.Release|Win32.ActiveCfg = Release|Win32
- {2EAF7655-AE86-4407-8262-43496581E5B2}.Release|Win32.Build.0 = Release|Win32
- {2EAF7655-AE86-4407-8262-43496581E5B2}.Release|x64.ActiveCfg = Release|x64
- {2EAF7655-AE86-4407-8262-43496581E5B2}.Release|x64.Build.0 = Release|x64
{0D4F5307-9240-4880-A289-C30F112F99A1}.Debug|Win32.ActiveCfg = Debug|Win32
{0D4F5307-9240-4880-A289-C30F112F99A1}.Debug|Win32.Build.0 = Debug|Win32
{0D4F5307-9240-4880-A289-C30F112F99A1}.Debug|x64.ActiveCfg = Debug|x64
@@ -494,14 +474,6 @@ Global
{3FB1B268-2084-4C96-8D90-EB72A612A986}.Release|Win32.Build.0 = Release|Win32
{3FB1B268-2084-4C96-8D90-EB72A612A986}.Release|x64.ActiveCfg = Release|x64
{3FB1B268-2084-4C96-8D90-EB72A612A986}.Release|x64.Build.0 = Release|x64
- {A01188F0-A2A9-4CAE-9979-B47426104B38}.Debug|Win32.ActiveCfg = Debug|Win32
- {A01188F0-A2A9-4CAE-9979-B47426104B38}.Debug|Win32.Build.0 = Debug|Win32
- {A01188F0-A2A9-4CAE-9979-B47426104B38}.Debug|x64.ActiveCfg = Debug|x64
- {A01188F0-A2A9-4CAE-9979-B47426104B38}.Debug|x64.Build.0 = Debug|x64
- {A01188F0-A2A9-4CAE-9979-B47426104B38}.Release|Win32.ActiveCfg = Release|Win32
- {A01188F0-A2A9-4CAE-9979-B47426104B38}.Release|Win32.Build.0 = Release|Win32
- {A01188F0-A2A9-4CAE-9979-B47426104B38}.Release|x64.ActiveCfg = Release|x64
- {A01188F0-A2A9-4CAE-9979-B47426104B38}.Release|x64.Build.0 = Release|x64
{C7E4CB54-110E-4DA1-86E5-612DE727419A}.Debug|Win32.ActiveCfg = Debug|Win32
{C7E4CB54-110E-4DA1-86E5-612DE727419A}.Debug|Win32.Build.0 = Debug|Win32
{C7E4CB54-110E-4DA1-86E5-612DE727419A}.Debug|x64.ActiveCfg = Debug|x64
@@ -526,7 +498,6 @@ Global
{1F43075E-8AF6-486F-AEDF-6B350A6CE141} = {57FFDC0F-E8B8-478D-8E12-474EDD2B381C}
{B629554E-D0E9-4400-909B-7130F116E15D} = {57FFDC0F-E8B8-478D-8E12-474EDD2B381C}
{1FF80896-DD88-4992-8DB1-7070924091BF} = {57FFDC0F-E8B8-478D-8E12-474EDD2B381C}
- {2EAF7655-AE86-4407-8262-43496581E5B2} = {57FFDC0F-E8B8-478D-8E12-474EDD2B381C}
{0D4F5307-9240-4880-A289-C30F112F99A1} = {57FFDC0F-E8B8-478D-8E12-474EDD2B381C}
{F493BA5D-252B-4825-8C15-36F75B4CE0AA} = {57FFDC0F-E8B8-478D-8E12-474EDD2B381C}
{A9898AEC-086B-4B9E-8978-C1BFE3EA56A6} = {57FFDC0F-E8B8-478D-8E12-474EDD2B381C}
diff --git a/Makefile.am b/Makefile.am
index 5f66b23..2b490d3 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -1,4 +1,4 @@
-AUTOMAKE_OPTIONS = 1.6 dist-zip dist-bzip2
+AUTOMAKE_OPTIONS = 1.6 dist-zip dist-bzip2 subdir-objects
ACLOCAL_AMFLAGS = -I m4
traversal_dirs = \
@@ -6,8 +6,7 @@ traversal_dirs = \
include \
man \
package \
- src \
- tests
+ src
if BUILD_PLUGINS
PLUGINS=plugins
@@ -30,7 +29,6 @@ DIST_SUBDIRS = \
EXTRA_DIST = \
.editorconfig \
- .travis.yml \
autogen.sh \
bzflag.spec \
DEVINFO \
diff --git a/README b/README
index b2adbb0..4fedc96 100644
--- a/README
+++ b/README
@@ -1,4 +1,4 @@
- BZFlag 2.4.6
+ BZFlag 2.4.8
http://BZFlag.org/
Copyright (c) 1993-2016 Tim Riker
diff --git a/README.WINDOWS b/README.WINDOWS
index bff91de..244d850 100644
--- a/README.WINDOWS
+++ b/README.WINDOWS
@@ -54,16 +54,6 @@ NSIS 2.46 is needed to build an installer, which is built as part of a release
build.
http://nsis.sourceforge.net/
-There is a 'tests' project that is part of the fullbuild solution. This will
-run some unit tests, and requires CppUTest. You will need to checkout the git
-repository for CppUTest as described on https://cpputest.github.io/ and then
-open the CppUTest_VS201x.sln file. Build the solution and then create an
-environment variable named CPPUTEST_HOME and point it to the root of the
-CppUTest source checkout, without the trailing slash (for instance,
-C:\cpputest ). You mean need to relaunch your Visual Studio, log off, or
-reboot for the environment variable to take effect, but then the fullbuild
-solution should be able to build and run the unit tests.
-
**Running and Debugging**
By default the compiler will copy the compiled executables to the root level
of the source drive ( the same place that the data dir is at). From there
diff --git a/Xcode/BZFlag.xcodeproj/project.pbxproj b/Xcode/BZFlag.xcodeproj/project.pbxproj
index d8dbbb9..fcebdc9 100644
--- a/Xcode/BZFlag.xcodeproj/project.pbxproj
+++ b/Xcode/BZFlag.xcodeproj/project.pbxproj
@@ -200,12 +200,16 @@
0357AA081670BFC80056C938 /* StdInUI.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 03554317166C846F008806E9 /* StdInUI.cxx */; };
0357AA091670BFC80056C938 /* StdOutUI.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 03554319166C846F008806E9 /* StdOutUI.cxx */; };
0357AA0A1670BFC80056C938 /* UIMap.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 0355431B166C846F008806E9 /* UIMap.cxx */; };
- 0357AA0B1670BFD20056C938 /* ServerLink.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 035543A1166C846F008806E9 /* ServerLink.cxx */; };
0357AA161670C0EF0056C938 /* libdate.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 0357A8D51670B9930056C938 /* libdate.a */; };
0357AA181670C0FD0056C938 /* libgame.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 0357A7FB1670B1D80056C938 /* libgame.a */; };
0357AA191670C1000056C938 /* libnet.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 0357A7EB1670B11A0056C938 /* libnet.a */; };
0357AA1A1670C1050056C938 /* libcommon.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 0357A7BC1670AF8E0056C938 /* libcommon.a */; };
0358E67D1BF849EB001FF056 /* ServerListFilterHelpMenu.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 0358E67B1BF849EB001FF056 /* ServerListFilterHelpMenu.cxx */; };
+ 036F58231DA2F8C300BF906C /* AUTHORS in Resources */ = {isa = PBXBuildFile; fileRef = 03D88EA71670CB1300725DBE /* AUTHORS */; };
+ 036F58241DA2F8C800BF906C /* ChangeLog in Resources */ = {isa = PBXBuildFile; fileRef = 03D88EA81670CB1300725DBE /* ChangeLog */; };
+ 036F58251DA2F8CC00BF906C /* COPYING in Resources */ = {isa = PBXBuildFile; fileRef = 03E42D191B322DFC006EE763 /* COPYING */; };
+ 036F58261DA2F8D400BF906C /* README in Resources */ = {isa = PBXBuildFile; fileRef = 03D88EAB1670CB1300725DBE /* README */; };
+ 036F58271DA2F90900BF906C /* README.MacOSX in Resources */ = {isa = PBXBuildFile; fileRef = 03D88EAC1670CB1300725DBE /* README.MacOSX */; };
0370A48D1B0C924B00FEC9F7 /* modeltool.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 0370A4691B0C8FBA00FEC9F7 /* modeltool.cxx */; };
0370A48E1B0C924B00FEC9F7 /* Q3BSP.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 0370A46A1B0C8FBA00FEC9F7 /* Q3BSP.cxx */; };
0370A48F1B0C924B00FEC9F7 /* wavefrontOBJ.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 0370A46C1B0C8FBA00FEC9F7 /* wavefrontOBJ.cxx */; };
@@ -259,34 +263,7 @@
038DA53A1BB64F5C0009F369 /* README.timedctf.txt in Resources */ = {isa = PBXBuildFile; fileRef = 038DA5371BB64F5C0009F369 /* README.timedctf.txt */; };
038DA53C1BB64FB90009F369 /* README.TimeLimit.txt in Resources */ = {isa = PBXBuildFile; fileRef = 038DA53B1BB64FB90009F369 /* README.TimeLimit.txt */; };
038DA53E1BB64FCB0009F369 /* README.wwzones.txt in Resources */ = {isa = PBXBuildFile; fileRef = 038DA53D1BB64FCB0009F369 /* README.wwzones.txt */; };
- 038DA53F1BB650C30009F369 /* README.airspawn.txt in CopyFiles */ = {isa = PBXBuildFile; fileRef = 038DA4E31BB649130009F369 /* README.airspawn.txt */; };
- 038DA5401BB650E70009F369 /* README.autoFlagReset.txt in CopyFiles */ = {isa = PBXBuildFile; fileRef = 038DA4E51BB6493D0009F369 /* README.autoFlagReset.txt */; };
- 038DA5411BB650ED0009F369 /* bzfscron.cfg in CopyFiles */ = {isa = PBXBuildFile; fileRef = 038DA4E71BB649640009F369 /* bzfscron.cfg */; };
- 038DA5421BB650F20009F369 /* README.bzfscron.txt in CopyFiles */ = {isa = PBXBuildFile; fileRef = 038DA4E81BB649640009F369 /* README.bzfscron.txt */; };
- 038DA5431BB651100009F369 /* README.chathistory.txt in CopyFiles */ = {isa = PBXBuildFile; fileRef = 038DA4EB1BB6498D0009F369 /* README.chathistory.txt */; };
- 038DA5441BB651150009F369 /* README.customflagsample.txt in CopyFiles */ = {isa = PBXBuildFile; fileRef = 038DA4ED1BB649A90009F369 /* README.customflagsample.txt */; };
- 038DA5451BB6511B0009F369 /* README.fairCTF.txt in CopyFiles */ = {isa = PBXBuildFile; fileRef = 038DA4F11BB64A1D0009F369 /* README.fairCTF.txt */; };
- 038DA5461BB6511F0009F369 /* README.fastmap.txt in CopyFiles */ = {isa = PBXBuildFile; fileRef = 038DA4F31BB64A380009F369 /* README.fastmap.txt */; };
- 038DA5471BB6514B0009F369 /* flagStay.bzw in CopyFiles */ = {isa = PBXBuildFile; fileRef = C353B1E91AE2490D00C5AED5 /* flagStay.bzw */; };
- 038DA5481BB651500009F369 /* README.flagStay.txt in CopyFiles */ = {isa = PBXBuildFile; fileRef = 038DA4F51BB64A5A0009F369 /* README.flagStay.txt */; };
- 038DA54A1BB6515A0009F369 /* README.HoldTheFlag.txt in CopyFiles */ = {isa = PBXBuildFile; fileRef = 038DA4F91BB64A9E0009F369 /* README.HoldTheFlag.txt */; };
- 038DA54B1BB651640009F369 /* help_keepaway_admin.txt in CopyFiles */ = {isa = PBXBuildFile; fileRef = 038DA4FB1BB64BC30009F369 /* help_keepaway_admin.txt */; };
- 038DA54C1BB651670009F369 /* help_keepaway_rules.txt in CopyFiles */ = {isa = PBXBuildFile; fileRef = 038DA4FC1BB64BC30009F369 /* help_keepaway_rules.txt */; };
- 038DA54D1BB6516E0009F369 /* README.keepaway.txt in CopyFiles */ = {isa = PBXBuildFile; fileRef = 038DA4FD1BB64BC30009F369 /* README.keepaway.txt */; };
- 038DA54E1BB651790009F369 /* README.killall.txt in CopyFiles */ = {isa = PBXBuildFile; fileRef = 038DA5011BB64BF00009F369 /* README.killall.txt */; };
- 038DA54F1BB6517E0009F369 /* help_koth_admin.txt in CopyFiles */ = {isa = PBXBuildFile; fileRef = 038DA5031BB64C9A0009F369 /* help_koth_admin.txt */; };
- 038DA5501BB651800009F369 /* help_koth_rules.txt in CopyFiles */ = {isa = PBXBuildFile; fileRef = 038DA5041BB64C9A0009F369 /* help_koth_rules.txt */; };
- 038DA5511BB651870009F369 /* README.koth.txt in CopyFiles */ = {isa = PBXBuildFile; fileRef = 038DA5051BB64C9A0009F369 /* README.koth.txt */; };
- 038DA5521BB6518E0009F369 /* README.logDetail.txt in CopyFiles */ = {isa = PBXBuildFile; fileRef = 038DA5091BB64CCB0009F369 /* README.logDetail.txt */; };
- 038DA5531BB651970009F369 /* nagware.cfg in CopyFiles */ = {isa = PBXBuildFile; fileRef = 038DA50B1BB64CE80009F369 /* nagware.cfg */; };
- 038DA5541BB6519D0009F369 /* README.nagware.txt in CopyFiles */ = {isa = PBXBuildFile; fileRef = 038DA50C1BB64CE80009F369 /* README.nagware.txt */; };
- 038DA5551BB651A30009F369 /* README.Phoenix.txt in CopyFiles */ = {isa = PBXBuildFile; fileRef = 038DA50F1BB64D280009F369 /* README.Phoenix.txt */; };
- 038DA5561BB651AB0009F369 /* README.playHistoryTracker.txt in CopyFiles */ = {isa = PBXBuildFile; fileRef = 038DA5111BB64D3F0009F369 /* README.playHistoryTracker.txt */; };
- 038DA5581BB651B60009F369 /* README.rabbitTimer.txt in CopyFiles */ = {isa = PBXBuildFile; fileRef = 038DA5151BB64DCA0009F369 /* README.rabbitTimer.txt */; };
- 038DA5591BB651BE0009F369 /* help_rabidRabbit.txt in CopyFiles */ = {isa = PBXBuildFile; fileRef = 038DA5171BB64DF00009F369 /* help_rabidRabbit.txt */; };
- 038DA55B1BB651EA0009F369 /* README.rabidRabbit.txt in CopyFiles */ = {isa = PBXBuildFile; fileRef = 038DA5181BB64DF00009F369 /* README.rabidRabbit.txt */; };
- 038DA55C1BB651F00009F369 /* README.recordmatch.txt in CopyFiles */ = {isa = PBXBuildFile; fileRef = 038DA51B1BB64E0B0009F369 /* README.recordmatch.txt */; };
- 038DA55D1BB651F50009F369 /* README.regFlag.txt in CopyFiles */ = {isa = PBXBuildFile; fileRef = 038DA51D1BB64E180009F369 /* README.regFlag.txt */; };
+ 038EC5F41D7E84EF007E3061 /* ServerLink.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 038EC5F11D7E84DA007E3061 /* ServerLink.cxx */; };
0394E688167B0B71007F4035 /* AccessControlList.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 035543CC166C846F008806E9 /* AccessControlList.cxx */; };
0394E689167B0B71007F4035 /* Authentication.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 035543CE166C846F008806E9 /* Authentication.cxx */; };
0394E68A167B0B71007F4035 /* BanCommands.cxx in Sources */ = {isa = PBXBuildFile; fileRef = 035543D0166C846F008806E9 /* BanCommands.cxx */; };
@@ -534,11 +511,6 @@
03DBE9BC1B30E12F00711E71 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 03DBE9BA1B30E12300711E71 /* Cocoa.framework */; };
03DBE9BD1B30E13100711E71 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 03DBE9BA1B30E12300711E71 /* Cocoa.framework */; };
03DBE9BE1B30E77D00711E71 /* libcares.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 03DBE9AC1B30D2ED00711E71 /* libcares.a */; };
- 03E42D1B1B322E2C006EE763 /* AUTHORS in CopyFiles */ = {isa = PBXBuildFile; fileRef = 03D88EA71670CB1300725DBE /* AUTHORS */; };
- 03E42D1C1B322E2C006EE763 /* ChangeLog in CopyFiles */ = {isa = PBXBuildFile; fileRef = 03D88EA81670CB1300725DBE /* ChangeLog */; };
- 03E42D1D1B322E2C006EE763 /* COPYING in CopyFiles */ = {isa = PBXBuildFile; fileRef = 03E42D191B322DFC006EE763 /* COPYING */; };
- 03E42D1E1B322E2C006EE763 /* README in CopyFiles */ = {isa = PBXBuildFile; fileRef = 03D88EAB1670CB1300725DBE /* README */; };
- 03E42D1F1B322E2C006EE763 /* README.MacOSX in CopyFiles */ = {isa = PBXBuildFile; fileRef = 03D88EAC1670CB1300725DBE /* README.MacOSX */; };
03FA74341742606400573D2D /* serverSidePlayerSample.dylib in CopyFiles */ = {isa = PBXBuildFile; fileRef = 03FA742E1742601B00573D2D /* serverSidePlayerSample.dylib */; };
03FA7435174260CB00573D2D /* playerHandler.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF8950DD16E42CF800BA9DD5 /* playerHandler.cpp */; };
03FA7436174260D700573D2D /* serverSidePlayerSample.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DF8950DF16E42CF800BA9DD5 /* serverSidePlayerSample.cpp */; };
@@ -921,48 +893,6 @@
);
runOnlyForDeploymentPostprocessing = 0;
};
- 03E42D181B322DDD006EE763 /* CopyFiles */ = {
- isa = PBXCopyFilesBuildPhase;
- buildActionMask = 2147483647;
- dstPath = doc;
- dstSubfolderSpec = 7;
- files = (
- 03E42D1B1B322E2C006EE763 /* AUTHORS in CopyFiles */,
- 038DA5411BB650ED0009F369 /* bzfscron.cfg in CopyFiles */,
- 03E42D1C1B322E2C006EE763 /* ChangeLog in CopyFiles */,
- 03E42D1D1B322E2C006EE763 /* COPYING in CopyFiles */,
- 038DA5471BB6514B0009F369 /* flagStay.bzw in CopyFiles */,
- 038DA54B1BB651640009F369 /* help_keepaway_admin.txt in CopyFiles */,
- 038DA54C1BB651670009F369 /* help_keepaway_rules.txt in CopyFiles */,
- 038DA54F1BB6517E0009F369 /* help_koth_admin.txt in CopyFiles */,
- 038DA5501BB651800009F369 /* help_koth_rules.txt in CopyFiles */,
- 038DA5591BB651BE0009F369 /* help_rabidRabbit.txt in CopyFiles */,
- 038DA5531BB651970009F369 /* nagware.cfg in CopyFiles */,
- 03E42D1E1B322E2C006EE763 /* README in CopyFiles */,
- 038DA53F1BB650C30009F369 /* README.airspawn.txt in CopyFiles */,
- 038DA5401BB650E70009F369 /* README.autoFlagReset.txt in CopyFiles */,
- 038DA5421BB650F20009F369 /* README.bzfscron.txt in CopyFiles */,
- 038DA5431BB651100009F369 /* README.chathistory.txt in CopyFiles */,
- 038DA5441BB651150009F369 /* README.customflagsample.txt in CopyFiles */,
- 038DA5451BB6511B0009F369 /* README.fairCTF.txt in CopyFiles */,
- 038DA5461BB6511F0009F369 /* README.fastmap.txt in CopyFiles */,
- 038DA5481BB651500009F369 /* README.flagStay.txt in CopyFiles */,
- 038DA54A1BB6515A0009F369 /* README.HoldTheFlag.txt in CopyFiles */,
- 038DA54D1BB6516E0009F369 /* README.keepaway.txt in CopyFiles */,
- 038DA54E1BB651790009F369 /* README.killall.txt in CopyFiles */,
- 038DA5511BB651870009F369 /* README.koth.txt in CopyFiles */,
- 038DA5521BB6518E0009F369 /* README.logDetail.txt in CopyFiles */,
- 038DA5541BB6519D0009F369 /* README.nagware.txt in CopyFiles */,
- 03E42D1F1B322E2C006EE763 /* README.MacOSX in CopyFiles */,
- 038DA5551BB651A30009F369 /* README.Phoenix.txt in CopyFiles */,
- 038DA5561BB651AB0009F369 /* README.playHistoryTracker.txt in CopyFiles */,
- 038DA5581BB651B60009F369 /* README.rabbitTimer.txt in CopyFiles */,
- 038DA55B1BB651EA0009F369 /* README.rabidRabbit.txt in CopyFiles */,
- 038DA55C1BB651F00009F369 /* README.recordmatch.txt in CopyFiles */,
- 038DA55D1BB651F50009F369 /* README.regFlag.txt in CopyFiles */,
- );
- runOnlyForDeploymentPostprocessing = 0;
- };
/* End PBXCopyFilesBuildPhase section */
/* Begin PBXFileReference section */
@@ -1695,6 +1625,8 @@
038DA5371BB64F5C0009F369 /* README.timedctf.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = README.timedctf.txt; sourceTree = "<group>"; };
038DA53B1BB64FB90009F369 /* README.TimeLimit.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = README.TimeLimit.txt; sourceTree = "<group>"; };
038DA53D1BB64FCB0009F369 /* README.wwzones.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = README.wwzones.txt; sourceTree = "<group>"; };
+ 038EC5F11D7E84DA007E3061 /* ServerLink.cxx */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ServerLink.cxx; sourceTree = "<group>"; };
+ 038EC5F21D7E84DA007E3061 /* ServerLink.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ServerLink.h; sourceTree = "<group>"; };
0394E67D167B0AA3007F4035 /* bzfs */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = bzfs; sourceTree = BUILT_PRODUCTS_DIR; };
0394E6D3167B0F74007F4035 /* airspawn.dylib */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.dylib"; includeInIndex = 0; path = airspawn.dylib; sourceTree = BUILT_PRODUCTS_DIR; };
0394E6D9167B1024007F4035 /* airspawn.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = airspawn.cpp; sourceTree = "<group>"; };
@@ -2423,6 +2355,8 @@
03554312166C846F008806E9 /* OptionParser.cxx */,
03554313166C846F008806E9 /* OptionParser.h */,
03554314166C846F008806E9 /* PlayerInfo.h */,
+ 038EC5F11D7E84DA007E3061 /* ServerLink.cxx */,
+ 038EC5F21D7E84DA007E3061 /* ServerLink.h */,
03554315166C846F008806E9 /* StdBothUI.cxx */,
03554316166C846F008806E9 /* StdBothUI.h */,
03554317166C846F008806E9 /* StdInUI.cxx */,
@@ -4611,7 +4545,6 @@
0394E96C167B36DC007F4035 /* CopyFiles */,
03C8EE23167ABE2300BB07A5 /* Resources */,
03E42D171B32274A006EE763 /* ShellScript */,
- 03E42D181B322DDD006EE763 /* CopyFiles */,
);
buildRules = (
);
@@ -4829,6 +4762,11 @@
038DA53A1BB64F5C0009F369 /* README.timedctf.txt in Resources */,
038DA53C1BB64FB90009F369 /* README.TimeLimit.txt in Resources */,
038DA53E1BB64FCB0009F369 /* README.wwzones.txt in Resources */,
+ 036F58231DA2F8C300BF906C /* AUTHORS in Resources */,
+ 036F58241DA2F8C800BF906C /* ChangeLog in Resources */,
+ 036F58251DA2F8CC00BF906C /* COPYING in Resources */,
+ 036F58261DA2F8D400BF906C /* README in Resources */,
+ 036F58271DA2F90900BF906C /* README.MacOSX in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -5129,8 +5067,8 @@
0357AA071670BFC80056C938 /* StdBothUI.cxx in Sources */,
0357AA081670BFC80056C938 /* StdInUI.cxx in Sources */,
0357AA091670BFC80056C938 /* StdOutUI.cxx in Sources */,
+ 038EC5F41D7E84EF007E3061 /* ServerLink.cxx in Sources */,
0357AA0A1670BFC80056C938 /* UIMap.cxx in Sources */,
- 0357AA0B1670BFD20056C938 /* ServerLink.cxx in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -5809,7 +5747,7 @@
GCC_WARN_UNDECLARED_SELECTOR = YES;
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
- MACOSX_DEPLOYMENT_TARGET = 10.10;
+ MACOSX_DEPLOYMENT_TARGET = 10.7;
MTL_ENABLE_DEBUG_INFO = YES;
OTHER_LDFLAGS = (
"-undefined",
@@ -5844,7 +5782,7 @@
GCC_WARN_UNDECLARED_SELECTOR = YES;
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
- MACOSX_DEPLOYMENT_TARGET = 10.10;
+ MACOSX_DEPLOYMENT_TARGET = 10.7;
MTL_ENABLE_DEBUG_INFO = NO;
OTHER_LDFLAGS = (
"-undefined",
@@ -7304,7 +7242,7 @@
"$(inherited)",
);
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
- MACOSX_DEPLOYMENT_TARGET = 10.8;
+ MACOSX_DEPLOYMENT_TARGET = 10.7;
OTHER_LDFLAGS = (
"-undefined",
dynamic_lookup,
@@ -7323,7 +7261,7 @@
COMBINE_HIDPI_IMAGES = YES;
EXECUTABLE_PREFIX = "";
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
- MACOSX_DEPLOYMENT_TARGET = 10.8;
+ MACOSX_DEPLOYMENT_TARGET = 10.7;
OTHER_LDFLAGS = (
"-undefined",
dynamic_lookup,
diff --git a/configure.ac b/configure.ac
index 12fcfaf..da2e183 100644
--- a/configure.ac
+++ b/configure.ac
@@ -44,7 +44,7 @@ dnl Minimum version of autoconf required. Should coincide with the
dnl setting in the autogen.sh script.
AC_PREREQ([2.58])
-AC_INIT([BZFlag],[2.4.6],[http://BZFlag.org/],[bzflag])
+AC_INIT([BZFlag],[2.4.8],[http://BZFlag.org/],[bzflag])
AC_CONFIG_SRCDIR(src/bzflag/bzflag.cxx)
AC_CONFIG_MACRO_DIR([m4])
@@ -101,7 +101,7 @@ AC_CANONICAL_TARGET
dnl Minimum version of automake required. Should coincide with the
dnl setting in the autogen.sh script. Create the other archives
dnl automatically when doing a make dist for convenience.
-AM_INIT_AUTOMAKE([1.6 dist-zip dist-bzip2])
+AM_INIT_AUTOMAKE([1.6 dist-zip dist-bzip2 subdir-objects])
dnl all configured definitions get written here
AC_CONFIG_HEADERS([include/config.h])
@@ -128,10 +128,7 @@ BZ_CONFIGURE_STAGE([arguments], [1 of 9])
MP_WITH_CURSES
# check for SDL option (enabled by default now)
-AC_ARG_WITH(SDL, [ --without-SDL do not use Simple DirectMedia Layer])
-if test "x$with_SDL" != xno; then
- AC_ARG_WITH(SDL2, [ --with-SDL2 use Simple DirectMedia Layer version 2 (experimental)])
-fi
+AC_ARG_WITH(SDL, AS_HELP_STRING([--without-SDL | --with-SDL={1,2}],[Do not use Simple DirectMedia Layer or force using a specific version (by default tries 2, then 1, then resorts to native platform code if available]), sdl_version="$withval", sdl_version="detect")
# check whether plugins are desired
AC_ARG_ENABLE(plugins, AS_HELP_STRING([--disable-plugins],[do not compile plugins]))
@@ -528,22 +525,6 @@ ac_cv_search_glBegin=no
ac_cv_search_gluScaleImage=no
ac_func_search_save_LIBS=$LIBS
-dnl check whether the OpenGL framework is available
-AC_MSG_CHECKING([for OpenGL framework (Darwin-specific)])
-FRAMEWORK_OPENGL=""
-PRELIBS="$LIBS"
-LIBS="$LIBS -framework OpenGL"
-AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <OpenGL/gl.h>]], [[glBegin(GL_POINTS)]])],[FRAMEWORK_OPENGL="-framework OpenGL" ; ac_cv_search_glBegin="-framework OpenGL" ; AC_MSG_RESULT(yes)],[AC_MSG_RESULT(no)])
-LIBS="$PRELIBS"
-AC_SUBST(FRAMEWORK_OPENGL)
-
-# don't use X11 flags if we have an OpenGL framework
-if test "x$FRAMEWORK_OPENGL" = "x" ; then
- AC_PATH_XTRA
- CONF_CPPFLAGS="$CONF_CPPFLAGS $X_CFLAGS"
- LDFLAGS="$LDFLAGS $X_LIBS"
-fi
-
case $host_os in
solaris*)
if test -d /usr/demo/SOUND/lib ; then
@@ -561,8 +542,6 @@ case $host_os in
GLIBS=" -lmedia -lgame $GLIBS"
LIBS="-lbe"
;;
- macos|darwin*)
- ;;
*)
;;
esac
@@ -570,8 +549,6 @@ esac
# avoid using X11 in BeOS and Mac OS X
case $host_os in
- macos|darwin*)
- ;;
beos*)
;;
*)
@@ -681,52 +658,36 @@ savedLIBS=$LIBS
LIBS="$GLIBS $LIBS"
AC_LANG(C)
if test "x$enable_client" != xno -a "x$with_SDL" != xno; then
- AC_MSG_CHECKING([for SDL framework])
- savedLDFLAGS="$LDFLAGS"
- LDFLAGS="$LDFLAGS -framework SDL"
- framework_SDL_flag_works=yes
- AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <SDL/SDL_version.h>]], [[]])],
- [],[framework_SDL_flag_works=no ])
- AC_MSG_RESULT([$framework_SDL_flag_works])
- if test x$framework_SDL_flag_works = xno ; then
- LDFLAGS="$savedLDFLAGS"
- with_SDL=no
- else
- with_SDL=yes
+ if test "x$sdl_version" != "x1" -a "x$sdl_version" != "x2"; then
+ sdl_version="detect"
fi
- if test x$with_SDL = xno ; then
- if test x$with_SDL2 = xyes ; then
- AM_PATH_SDL2(2.0.3, with_SDL=yes, with_SDL=no)
- else
- AM_PATH_SDL(1.2.10, with_SDL=yes, with_SDL=no)
- fi
- if test x$with_SDL = xno; then
- AC_MSG_WARN([could not find an appropriate SDL version. BZFlag will build without SDL])
- fi
+ if test "x$sdl_version" = "x2" -o "x$sdl_version" = "xdetect"; then
+ # Test for SDL 2
+ AM_PATH_SDL2(2.0.3, with_SDL=2, with_SDL=no)
+ fi
+
+ if test "x$with_SDL" != "x2" -a \( "x$sdl_version" = "x1" -o "x$sdl_version" = "xdetect" \); then
+ # Test for SDL 1.2
+ AM_PATH_SDL(1.2.10, with_SDL=1, with_SDL=no)
fi
fi
AC_LANG(C++)
LIBS=$savedLIBS
-if test x$with_SDL = xyes; then
+
+if test "x$with_SDL" != "xno"; then
AC_DEFINE(HAVE_SDL, 1, [Using SDL])
- if test x$with_SDL2 = xyes ; then
- AC_DEFINE(HAVE_SDL2, 1, [Using SDL2])
- fi
fi
-AM_CONDITIONAL(HAVE_SDL, test x$with_SDL = xyes)
-AM_CONDITIONAL(HAVE_SDL2, test x$with_SDL2 = xyes)
+if test "x$with_SDL" = "x2"; then
+ AC_DEFINE(HAVE_SDL2, 1, [Using SDL2])
+fi
+
+AM_CONDITIONAL(HAVE_SDL, test x$with_SDL = x1 -o x$with_SDL = x2)
+AM_CONDITIONAL(HAVE_SDL2, test x$with_SDL = x2)
# dumb temp hacks to add missing linkage stuff
case $host_os in
- macos|darwin*)
- if test x$with_SDL = xyes; then
- LIBS="$LIBS -framework Carbon -framework Cocoa -framework OpenGL"
- else
- LIBS="$LIBS -framework Carbon -framework AGL -framework OpenGL"
- fi
- ;;
irix)
if test x$host_cpu = xmips64; then
LDFLAGS="$LDFLAGS -L$(ROOT)/usr/lib32"
@@ -815,10 +776,6 @@ case $host_os in
CONF_CXXFLAGS="$CONF_CXXFLAGS $FLAGS"
fi
;;
- macos|darwin*)
- CONF_CFLAGS="$CONF_CFLAGS $FLAGS";
- CONF_CXXFLAGS="$CONF_CXXFLAGS $FLAGS"
- ;;
irix)
FLAGS="-Wall";
if test x$host_cpu = xmips64; then
@@ -948,9 +905,6 @@ case $host_os in
linux*|kfreebsd*|freebsd*|netbsd*|openbsd*|dragonfly*|gnu*)
linux=true
;;
- macos|darwin*)
- macos=true
- ;;
solaris*)
solaris=true
;;
@@ -962,7 +916,6 @@ AM_CONDITIONAL(HPUX, test x$hpux = xtrue)
AM_CONDITIONAL(BEOS, test x$beos = xtrue)
AM_CONDITIONAL(IRIX, test x$irix = xtrue)
AM_CONDITIONAL(LINUX, test x$linux = xtrue)
-AM_CONDITIONAL(MACOS, test x$macos = xtrue)
AM_CONDITIONAL(SOLARIS, test x$solaris = xtrue)
AM_CONDITIONAL(WIN32, test x$win32 = xtrue)
@@ -1117,7 +1070,6 @@ AC_CONFIG_FILES([
src/ogl/Makefile
src/platform/Makefile
src/scene/Makefile
- tests/Makefile
tools/Makefile
tools/TextTool2/Makefile
tools/TextTool2/TextTool2.xcodeproj/Makefile
@@ -1135,35 +1087,6 @@ dnl touch include/config.h.in
dnl fi
-#################
-# patch libtool #
-#################
-case $host_os in
- darwin*)
- for script in $ac_top_builddir $ac_abs_builddir $ac_builddir . ; do
- if test "x$script" = "x" ; then
- libtoolscript="libtool"
- else
- libtoolscript="${script}/libtool"
- fi
- if test -f ${libtoolscript} ; then
- if test -w ${libtoolscript} ; then
- # remove any -all_load option.
- # provokes libtool linker bug with noinst C++ libraries.
- sed 's/-all_load.*convenience//g' < $libtoolscript > ${libtoolscript}.sed
- if test ! "x`cat ${libtoolscript}`" = "x`cat ${libtoolscript}.sed`" ; then
- AC_MSG_RESULT([Found -all_load in libtool script, removing])
- cp ${libtoolscript}.sed ${libtoolscript}
- fi
- rm -f ${libtoolscript}.sed
- else
- AC_MSG_WARN([libtool script exists but is not writable so not attempting to edit])
- fi
- fi
- done
- ;;
-esac
-
dnl **********************
dnl *** Report Summary ***
@@ -1177,8 +1100,8 @@ if test "x$enable_client" = "xno"; then
fi
else
if test x$with_SDL != xno; then
- if test x$with_SDL2 = xyes; then
- build_bzflag="yes (with SDL2) (Note: Still experimental!)"
+ if test x$with_SDL = x2; then
+ build_bzflag="yes (with SDL2)"
else
build_bzflag="yes (with SDL)"
fi
diff --git a/data/bzflag.desktop b/data/bzflag.desktop
index 102f4fe..7fcca44 100644
--- a/data/bzflag.desktop
+++ b/data/bzflag.desktop
@@ -2,6 +2,7 @@
Name=BZFlag
GenericName=Tank Battle Game
Comment=Battle enemy tanks
+Keywords=capture;flag;tank;game;multiplayer;network;
Exec=/usr/games/bzflag
Icon=bzflag-48x48
Type=Application
diff --git a/data/l10n/Makefile.am b/data/l10n/Makefile.am
index eea066e..17ee3f6 100644
--- a/data/l10n/Makefile.am
+++ b/data/l10n/Makefile.am
@@ -12,6 +12,7 @@ dist_l10n_DATA = \
bzflag_lt.po \
bzflag_nl.po \
bzflag_pt.po \
+ bzflag_ru.po \
bzflag_sv.po
EXTRA_DIST = \
diff --git a/data/l10n/bzflag_ru.po b/data/l10n/bzflag_ru.po
new file mode 100644
index 0000000..4ba79a1
--- /dev/null
+++ b/data/l10n/bzflag_ru.po
@@ -0,0 +1,3250 @@
+# -*- coding: utf-8 -*-
+# This is generic Russian (transliteration)
+# Author: Ruslan Hihin <ruslandh at altlinux.ru>, Aleksandr Lahin
+
+msgid "ru"
+msgstr "Russian"
+
+msgid "translator"
+msgstr "Ruslan Hihin and Aleksandr Lahin"
+
+#############
+## GENERAL ##
+#############
+
+msgid "Off"
+msgstr "Vykl"
+
+msgid "On"
+msgstr "Vkl"
+
+msgid "Unavailable"
+msgstr "Otsutstvuet"
+
+msgid "None"
+msgstr "Net"
+
+msgid "Fast"
+msgstr "Bystree"
+
+msgid "Best"
+msgstr "Luchshe"
+
+msgid "NOTE: "
+msgstr "Vnimanie: "
+
+msgid "Page {1} of {2}"
+msgstr "List {1} iz {2}"
+
+msgid "Auto"
+msgstr "Avto"
+
+msgid "Pause/Resume:"
+msgstr "Pauza/Dalee"
+
+msgid "Slow Keyboard Motion:"
+msgstr "Zamedlenie klaviatury"
+
+msgid "<not mapped>"
+msgstr "<ne naznacheno>"
+
+msgid "No"
+msgstr "Net"
+
+msgid "Yes"
+msgstr "Da"
+
+msgid "N/A"
+msgstr "N/D"
+
+msgid "Failed... unknown error (%d)."
+msgstr "Ne udacha,... neizvestnaya oshibka (%d)."
+
+msgid "Silenced All Msgs"
+msgstr "Otklyuchit' soob$eniya"
+
+msgid " or "
+msgstr " ili "
+
+##################
+## INPUT EVENTS ##
+##################
+
+msgid "Pause"
+msgstr "Pauza"
+
+msgid "Home"
+msgstr "Nachalo"
+
+msgid "End"
+msgstr "Konec"
+
+msgid "Left Arrow"
+msgstr "Str.Lev."
+
+msgid "Right Arrow"
+msgstr "Str.Prav."
+
+msgid "Up Arrow"
+msgstr "Str.Vverh"
+
+msgid "Down Arrow"
+msgstr "Strl.Vniz"
+
+#msgid "Page Up"
+#msgstr ""
+
+#msgid "Page Down"
+#msgstr ""
+
+#msgid "Insert"
+#msgstr ""
+
+#msgid "Backspace"
+#msgstr ""
+
+#msgid "Delete"
+#msgstr ""
+
+#msgid "Kp0"
+#msgstr "Ck.0"
+
+#msgid "Kp1"
+#msgstr "Ck1"
+
+#msgid "Kp2"
+#msgstr "Ck2"
+
+#msgid "Kp3"
+#msgstr "Ck3"
+
+#msgid "Kp4"
+#msgstr "Ck4"
+
+#msgid "Kp5"
+#msgstr "Ck5"
+
+#msgid "Kp6"
+#msgstr "Ck6"
+
+#msgid "Kp7"
+#msgstr "Ck7"
+
+#msgid "Kp8"
+#msgstr "Ck8"
+
+#msgid "Kp9"
+#msgstr "Ck9"
+
+#msgid "Kp_Period"
+#msgstr "Ck_Tochka"
+
+#msgid "Kp_Divide"
+#msgstr "Ck_/"
+
+#msgid "Kp_Multiply"
+#msgstr "Ck_*"
+
+#msgid "Kp_Minus"
+#msgstr "Ck_-"
+
+#msgid "Kp_Plus"
+#msgstr "Ck_+"
+
+#msgid "Kp_Enter"
+#msgstr "Ck_Enter"
+
+#msgid "Kp_Equals"
+#msgstr "Ck_="
+
+#msgid "F1"
+#msgstr ""
+
+#msgid "F2"
+#msgstr ""
+
+#msgid "F3"
+#msgstr ""
+
+#msgid "F4"
+#msgstr ""
+
+#msgid "F5"
+#msgstr ""
+
+#msgid "F6"
+#msgstr ""
+
+#msgid "F7"
+#msgstr ""
+
+#msgid "F8"
+#msgstr ""
+
+#msgid "F9"
+#msgstr ""
+
+#msgid "F10"
+#msgstr ""
+
+#msgid "F11"
+#msgstr ""
+
+#msgid "F12"
+#msgstr ""
+
+msgid "Help"
+msgstr "Spravka"
+
+msgid "Print"
+msgstr "Pechat'"
+
+#msgid "Sysreq"
+#msgstr ""
+
+msgid "Break"
+msgstr "Prervat'"
+
+msgid "Menu"
+msgstr "Menyu"
+
+msgid "Power"
+msgstr "Zaryad"
+
+msgid "Euro"
+msgstr "Evro"
+
+msgid "Undo"
+msgstr "Otmena"
+
+msgid "Left Mouse"
+msgstr "Levaya knopka myshi"
+
+msgid "Middle Mouse"
+msgstr "Srednyaya knopka myshi"
+
+msgid "Right Mouse"
+msgstr "Pravaya knopka myshi"
+
+msgid "Wheel Up"
+msgstr "Koleso myshi vverh"
+
+msgid "Wheel Down"
+msgstr "Koleso myshi vniz"
+
+msgid "Mouse Button 6"
+msgstr "Kn.myshi 6"
+
+msgid "Mouse Button 7"
+msgstr "Kn.myshi 7"
+
+msgid "Mouse Button 8"
+msgstr "Kn.myshi 8"
+
+msgid "Mouse Button 9"
+msgstr "Kn.myshi 9"
+
+msgid "Mouse Button 10"
+msgstr "Kn.myshi 10"
+
+msgid "Joystick Button 1"
+msgstr "Kn.joystik 1"
+
+msgid "Joystick Button 2"
+msgstr "Kn.joystik 2"
+
+msgid "Joystick Button 3"
+msgstr "Kn.joystik 3"
+
+msgid "Joystick Button 4"
+msgstr "Kn.joystik 4"
+
+msgid "Joystick Button 5"
+msgstr "Kn.joystik 5"
+
+msgid "Joystick Button 6"
+msgstr "Kn.joystik 6"
+
+msgid "Joystick Button 7"
+msgstr "Kn.joystik 7"
+
+msgid "Joystick Button 8"
+msgstr "Kn.joystik 8"
+
+msgid "Joystick Button 9"
+msgstr "Kn.joystik 9"
+
+msgid "Joystick Button 10"
+msgstr "Kn.joystik 10"
+
+msgid "Joystick Button 11"
+msgstr "Kn.joystik 11"
+
+msgid "Joystick Button 12"
+msgstr "Kn.joystik 12"
+
+msgid "LastButton"
+msgstr "Posl.Kn."
+
+#msgid "Tab"
+#msgstr ""
+
+#msgid "Enter"
+#msgstr ""
+
+msgid "Space"
+msgstr "Probel"
+
+
+#################
+## SUPER FLAGS ##
+#################
+
+msgid "If it's yours, prevent other teams from taking it. If it's not take it to your base to capture it!"
+msgstr "Esli on vash - za$i$aj ego ot drugih komand, esli chuzhoj, nesi ego na svoyu bazu !"
+
+msgid "High Speed"
+msgstr "Vysokaya skorost'"
+
+msgid "High speed (+V)"
+msgstr "Vysshaya skorost' (+V)"
+
+msgid "Tank moves faster. Outrun bad guys."
+msgstr "Tank dvizhetsya bystree. Obgonite plohih parnej."
+
+msgid "Quick Turn"
+msgstr "Bystrij povorot"
+
+msgid "Quick Turn (+QT)"
+msgstr "Bystrejshij povorot (+QT)"
+
+msgid "Tank turns faster. Good for dodging."
+msgstr "Takn povorachivaet bystree. Horosho dlya ukloneniya."
+
+msgid "Oscillation Overthruster"
+msgstr "Skvoznaya ostillyaciya"
+
+msgid "Oscillation Overthruster (+OO)"
+msgstr "Skvoznaya ostillyaciya (+OO)"
+
+msgid "Can drive through buildings. Can't backup or shoot while inside."
+msgstr "Mozhete proezzhat' skvoz' zdaniya. Nel'zya strelyat' i sohranyat'sya vnutri"
+
+msgid "Rapid Fire"
+msgstr "Bystrij ogon'"
+
+msgid "Rapid Fire (+F)"
+msgstr "Bystrij ogon' (+F)"
+
+msgid "Shoots more often. Shells go faster but not as far."
+msgstr "Chastaya strel'ba. Snaryady letyat bystree, no ne tak daleko"
+
+msgid "Machine Gun"
+msgstr "Skorostnaya pushka"
+
+msgid "Machine Gun (+MG)"
+msgstr "Skorostnaya pushka (+MG)"
+
+msgid "Very fast reload and very short range."
+msgstr "Ochen' chastaya strel'ba, i ochen' malen'koe porazhenie"
+
+msgid "Guided Missile"
+msgstr "Raketa (PTURS)"
+
+msgid "Guided Missile (+GM)"
+msgstr "Raketa (PTURS) (+GM)"
+
+msgid "Shots track a target. Lock on with right button. Can lock on or retarget after firing."
+msgstr "Otslezhivanie celi. Privyazyvaetsya pravoj knopkoj ili klavishej I. Mozhno privyazat' cel', ili izmenit' eyo posle strel'by."
+
+msgid "Laser"
+msgstr "Lazer"
+
+msgid "Laser (+L)"
+msgstr "Lazer (+L)"
+
+msgid "Shoots a laser. Infinite speed and range but long reload time."
+msgstr "Strelyaet lazerom. Beskonechnaya skorost' i diapazon, no dolgoe vremya perezaryadki."
+
+msgid "Ricochet"
+msgstr "Rikoshet"
+
+msgid "Ricochet (+R)"
+msgstr "Rikoshet (+R)"
+
+msgid "Shots bounce off walls. Don't shoot yourself!"
+msgstr "Snaryady otrazhayutsya ot sten. Ne popadite v sebya !"
+
+msgid "Super Bullet"
+msgstr "Super snaryad"
+
+msgid "Super Bullet (+SB)"
+msgstr "Super snaryad (+SB)"
+
+msgid "Shoots through buildings. Can kill Phantom Zone."
+msgstr "Strel'ba skvoz' zdaniya. Mozhet ubit' tank v fantomnoj zone"
+
+msgid "Invisible Bullet"
+msgstr "Nevidimij snaryad"
+
+msgid "Invisible Bullet (+IB)"
+msgstr "Nevidimij snaryad (+IB)"
+
+msgid "Your shots don't appear on other radars. Can still see them out window."
+msgstr "Vashi vystrely ne vidny iz radara. No ih mozhno videt' glazami"
+
+msgid "Stealth"
+msgstr "Stells"
+
+msgid "STealth (+ST)"
+msgstr "Stells (+ST)"
+
+msgid "Tank is invisible on radar. Shots are still visible. Sneak up behind enemies!"
+msgstr "Tank ne viden na radare. Snaryady po-prezhnemu vidny. Podkradyvajtes' k vragu szadi!"
+
+msgid "Tiny"
+msgstr "Kroshka"
+
+msgid "Tiny (+T)"
+msgstr "Kroshka (+T)"
+
+msgid "Tank is small and can get through small openings. Very hard to hit."
+msgstr "Tank ochen' malen'kij i mozhet projti cherez ochen' malen'kin otverstiya. Ochen' trudno popast' v nego."
+
+msgid "Narrow"
+msgstr "Uzkij"
+
+msgid "Narrow (+N)"
+msgstr "Uzkij (+N)"
+
+msgid "Tank is super thin. Very hard to hit from front but is normal size from side. Can get through small openings."
+msgstr "Tank super tonkij. Ochen' trudno popast' speredi, no imeet normal'nij razmer s boku. Mozhet projti cherez uzkie otverstiya."
+
+msgid "Shield"
+msgstr "$it"
+
+msgid "SHield (+SH)"
+msgstr "$it (+SH)"
+
+msgid "Getting hit only drops flag. Flag flies an extra-long time."
+msgstr "Pri popadanii, tane tol'ko sbrasyvaet flag. Flag padaet ochen' dolgo."
+
+msgid "Steamroller"
+msgstr "Taran"
+
+msgid "SteamRoller (+SR)"
+msgstr "Taran (+SR)"
+
+msgid "Destroys tanks you touch but you have to get really close."
+msgstr "Unichtozhaet chuzhoj tank odnim kasaniem. No vy dolzhny podojti k nemu ochen' blizko."
+
+msgid "Shock Wave"
+msgstr "Volna uzhasa"
+
+msgid "Shock Wave (+SW)"
+msgstr "Volna uzhasa (+SW)"
+
+msgid "Firing destroys all tanks nearby. Don't kill teammates! Can kill tanks on/in buildings."
+msgstr "Unichtozhaet vse tanki poblizosti. Ne ubejte tovari$ej! Mozhet ubit' tanki na zdaniyah."
+
+msgid "Phantom Zone"
+msgstr "Fantomnaya zona"
+
+msgid "Phantom Zone (+PZ)"
+msgstr "Fantomnaya zona (+PZ)"
+
+msgid "Teleporting toggles Zoned effect. Zoned tank can drive through buildings. Zoned tank shoots Zoned bullets and can't be shot (except by superbullet, shock wave, and other Zoned tanks)."
+msgstr "Teleportaciya tanka v Fantomnuyu zonu. Tank mozhet ehat' skvoz' zdaniya. Tank mozhet strelyat' Fantomnymi snaryadami i ne mozhet byt' podbit (za isklyucheniem Supersnaryada, Volny Uzhasa i vystrela drugogo tanka v fantomnoj zone). "
+
+msgid "Genocide"
+msgstr "Genocid"
+
+msgid "Genocide (+G)"
+msgstr "Genocid (+G)"
+
+msgid "Killing one tank kills that tank's whole team."
+msgstr "Unichtozhaet vsyu komandu podbitogo tanka"
+
+msgid "Jumping"
+msgstr "Pryzhok"
+
+msgid "JumPing (+JP)"
+msgstr "Pryzhok (+JP)"
+
+msgid "Tank can jump. Use Tab key. Can't steer in the air."
+msgstr "Tank mozhet prygat' (ispol'zuya klavishu Tab). Ne mozhet letaet v vozduhe"
+
+msgid "Identify"
+msgstr "Identifikaciya"
+
+msgid "IDentify (+ID)"
+msgstr "Identifikaciya (+ID)"
+
+msgid "Identifies type of nearest flag."
+msgstr "Opredelyaet tip blizhajshego flaga."
+
+msgid "Cloaking"
+msgstr "Nevidimka"
+
+msgid "CLoaking (+CL)"
+msgstr "Nevidimka (+CL)"
+
+msgid "Makes your tank invisible out-the-window. Still visible on radar."
+msgstr "Delaet vas nevilimym v pricele. Vy ostayotes' vidimym na radare"
+
+msgid "Useless"
+msgstr "Bespoleznij"
+
+msgid "USeless (+US)"
+msgstr "Bespoleznij (+US)"
+
+msgid "You have found the useless flag. Use it wisely."
+msgstr "Vy nashli bespoleznij flag. Ispol'zujte ego s umom"
+
+msgid "Masquerade"
+msgstr "Maskirovka"
+
+msgid "MasQuerade (+MQ)"
+msgstr "Maskirovka (+MQ)"
+
+msgid "In opponent's hud, you appear as a teammate."
+msgstr "Vyshi protivniki schitayut vas svoim"
+
+msgid "Seer"
+msgstr "Providec"
+
+msgid "SEer (+SE)"
+msgstr "Providec (+SE)"
+
+msgid "See stealthed, cloaked and masquerading tanks as normal."
+msgstr "Vy vidite skrytye, nevidimye i zamaskirovannye tanki, kak obychnye."
+
+msgid "Thief"
+msgstr "Vorishka"
+
+msgid "THief (+TH)"
+msgstr "Vorishka"
+
+msgid "Steal flags. Small and fast but can't kill."
+msgstr "Umeet krast' flagi. Malen'kij i bystrij, no ne mozhet ubivat'"
+
+msgid "Burrow"
+msgstr "Podzemnij"
+
+msgid "BUrrow (+BU)"
+msgstr "Podzemnij (+BU)"
+
+msgid "Tank burrows underground, impervious to normal shots, but can be steamrolled by anyone!"
+msgstr "Tank zaryvaetsya pod zemlyu, nedostupen dlya obychnogo vystrela, no mozhet byt' razdavlen lyubym!"
+
+msgid "Wings"
+msgstr "Kryl'ya"
+
+msgid "WinGs (+WG)"
+msgstr "Kryl'ya (+WG)"
+
+msgid "Tank can drive in air."
+msgstr "Tank mozhet letat'."
+
+msgid "Agility"
+msgstr "Lovkost'"
+
+msgid "Agility (+A)"
+msgstr "Lovkost' (+A)"
+
+msgid "Tank is quick and nimble making it easier to dodge."
+msgstr "Tank stanovitsya bystrym i provornym, chto pozvolyaet bystro uklonyat'sya"
+
+msgid "ReverseControls"
+msgstr "Obratnoe upravlenie"
+
+msgid "ReverseControls (-RC)"
+msgstr "Obratnoe upravlenie (-RC)"
+
+msgid "Tank driving controls are reversed."
+msgstr "Upravlyaemye klavishi pomenyalis' mestami"
+
+msgid "Colorblindness"
+msgstr "Dal'tonizm"
+
+msgid "ColorBlindness (-CB)"
+msgstr "Dal'tonizm (-CB)"
+
+msgid "Can't tell team colors. Don't shoot teammates!"
+msgstr "Nel'zya opredelit' cvet igroka. Ne strelyayte v svoih!"
+
+msgid "Obesity"
+msgstr "Tuchnost'"
+
+msgid "Obesity (-O)"
+msgstr "Tuchnost' (-O)"
+
+msgid "Tank becomes very large. Can't fit through teleporters."
+msgstr "Tank stanovitsya ochen' bol'shim. Ne mozhet proehat' cherez teleport."
+
+msgid "Left Turn Only"
+msgstr "Tol'ko vlevo"
+
+msgid "Left Turn only (-LT)"
+msgstr "Tol'ko vlevo (-LT)"
+
+msgid "Can't turn right."
+msgstr "Ne mozhete povernut' napravo."
+
+msgid "Right Turn Only"
+msgstr "Tol'ko vpravo"
+
+msgid "Right Turn only (-RT)"
+msgstr "Tol'ko vpravo"
+
+msgid "Can't turn left."
+msgstr "Ne mozhete povernut' nalevo."
+
+msgid "Forward Only"
+msgstr "Tol'ko vpered"
+
+msgid "Forward Only (-FO)"
+msgstr "Tol'ko vpered (-FO)"
+
+msgid "Can't drive in reverse."
+msgstr "Ne mozhete ehat' nazad"
+
+msgid "ReverseOnly"
+msgstr "Tol'ko nazad"
+
+msgid "ReverseOnly (-RO)"
+msgstr "Tol'ko nazad (-RO)"
+
+msgid "Can't drive forward."
+msgstr "Ne mozhete ehat' vperyod"
+
+msgid "Momentum"
+msgstr "Inerciya"
+
+msgid "Momentum (-M)"
+msgstr "Inerciya (-M)"
+
+msgid "Tank has inertia. Acceleration is limited."
+msgstr "Tank imeet inerciyu. Uskorenie ogranichenno."
+
+msgid "Blindness"
+msgstr "Slepota"
+
+msgid "Blindness (-B)"
+msgstr "Slepota (-B)"
+
+msgid "Can't see out window. Radar still works."
+msgstr "Vy nichego ne vidite v pricel. Radar ostayotsya rabotosposobnym"
+
+msgid "Jamming"
+msgstr "Pomehi"
+
+msgid "JaMming (-JM)"
+msgstr "Pomehi (-JM)"
+
+msgid "Radar doesn't work. Can still see."
+msgstr "Radar ne rabotaet, no vy vsyo vidite"
+
+msgid "Wide Angle"
+msgstr "Shirokij obzor"
+
+msgid "Wide Angle (-WA)"
+msgstr "Shirokij obzor (-WA)"
+
+msgid "Fish-eye lens distorts view."
+msgstr "Linzy 'rybij glaz' iskazhayut obzor"
+
+msgid "No Jumping"
+msgstr "Zapret pryzhkov"
+
+msgid "No Jumping (-NJ)"
+msgstr "Zapret pryzhkov (-NJ)"
+
+msgid "Tank can't jump."
+msgstr "Tank ne mozhet prygat'"
+
+msgid "Trigger Happy"
+msgstr "Vesyolaya gashetka"
+
+msgid "Trigger Happy (-TR)"
+msgstr "Vesyolaya gashetka (-TR)"
+
+msgid "Tank can't stop firing."
+msgstr "Tank ne mozhet prekratit' strelyat'"
+
+msgid "Bouncy"
+msgstr "Pruzhinka"
+
+msgid "BouncY (-BY)"
+msgstr "Pruzhinka (-BY)"
+
+msgid "Tank can't stop bouncing."
+msgstr "Tank ne mozhet prekratit' podprygivat'"
+
+msgid " flag"
+msgstr " flag"
+
+####################
+## AUDIO SETTINGS ##
+####################
+
+msgid "Audio Settings"
+msgstr "Nastrojki zvuka"
+
+msgid "Sound Volume:"
+msgstr "Nastrojka gromkosti"
+
+msgid "Unavailable"
+msgstr "Nedostupen"
+
+msgid "Driver:"
+msgstr "Drajver"
+
+msgid "Device:"
+msgstr "Ustrojstvo"
+
+msgid "Remote Sounds:"
+msgstr "Udalyonnye zvuki:"
+
+####################
+## CACHE SETTINGS ##
+####################
+
+msgid "Cache Settings"
+msgstr "Nastrojka keshirovaniya"
+
+msgid "Server List Cache:"
+msgstr "Keshirovanie spiska serverov:"
+
+msgid "Off / Backup Mode"
+msgstr "Vykl / Rezhim sohraneniya"
+
+msgid "5 Minutes"
+msgstr "5 minut"
+
+msgid "15 Minutes"
+msgstr "15 minut"
+
+msgid "30 Minutes"
+msgstr "30 minut"
+
+msgid "1 Hour"
+msgstr "1 chas"
+
+msgid "5 Hours"
+msgstr "5 chasov"
+
+msgid "15 Hours"
+msgstr "15 chasov"
+
+msgid "1 day"
+msgstr "1 den'"
+
+msgid "15 days"
+msgstr "15 dnej"
+
+msgid "30 days"
+msgstr "30 dnej"
+
+msgid "Clear Server List Cache"
+msgstr "Ochistit' kesh spiska serverov"
+
+msgid "Cache Size (MB):"
+msgstr "Razmer kesha (MB):"
+
+msgid "Clear Download Cache"
+msgstr "Ochistit' kesh zagruzki"
+
+msgid "Automatic Downloads:"
+msgstr "Avtomaticheskie zagruzki:"
+
+msgid "Connection Updates:"
+msgstr "Obnovlenie soedinenij"
+
+msgid "Update Downloads"
+msgstr "Obnovlenie zagruzki"
+
+msgid "Updating Downloads"
+msgstr "Obnovlennnye zagruzki"
+
+msgid "Download Cache Cleared"
+msgstr "Ochi$en kesh zagruzki"
+
+msgid "Server List Cache Cleared"
+msgstr "Kesh spiska serverov ochi$en"
+
+######################
+## DISPLAY SETTINGS ##
+######################
+
+msgid "Display Settings"
+msgstr "Nastrojki displeya"
+
+msgid "Dithering:"
+msgstr "Razmytie:"
+
+msgid "Blending:"
+msgstr "Smeshivanie:"
+
+msgid "Smoothing:"
+msgstr "Sglazhivanie:"
+
+msgid "Lighting:"
+msgstr "Osve$enie:"
+
+msgid "None"
+msgstr "Net"
+
+msgid "Fast"
+msgstr "Luchshe"
+
+msgid "Best"
+msgstr "Bystree"
+
+msgid "Texturing:"
+msgstr "Tekstury:"
+
+msgid "Nearest"
+msgstr "Bez fil'tracii"
+
+msgid "Linear"
+msgstr "Linejnaya fil'traciya"
+
+msgid "Nearest Mipmap Nearest"
+msgstr "Prostoj mipmapping"
+
+msgid "Linear Mipmap Nearest"
+msgstr "Linejnij mipmapping"
+
+msgid "Nearest Mipmap Linear"
+msgstr "Prostoj imtmapping s interpolyaciej"
+
+msgid "Linear Mipmap Linear"
+msgstr "Linejnij imtmapping s interpolyaciej"
+
+msgid "AntiFlicker:"
+msgstr "Antifliker:"
+
+msgid "Anisotropic:"
+msgstr "Anizotropnaya fil'traciya:"
+
+msgid "Quality:"
+msgstr "Kachestvo:"
+
+msgid "Low"
+msgstr "Nizkoe"
+
+msgid "Medium"
+msgstr "Srednee"
+
+msgid "High"
+msgstr "Vysokoe"
+
+msgid "Experimental"
+msgstr "Eksperemental'nye"
+
+msgid "Shadows:"
+msgstr "Teni:"
+
+msgid "Stipple"
+msgstr "Mozaika"
+
+msgid "Stencil"
+msgstr "Trafaret"
+
+msgid "Hidden Line:"
+msgstr "Skrytye linii:"
+
+msgid "Wireframe:"
+msgstr "Karkas:"
+
+msgid "Depth Complexity:"
+msgstr "Glubina obrabotki:"
+
+msgid "Culling Tree:"
+msgstr "Derevo ochistki:"
+
+msgid "Collision Tree:"
+msgstr "Derevo kollizij:"
+
+msgid "Brightness:"
+msgstr "Yarkost':"
+
+msgid "Energy Saver:"
+msgstr "Energosberezhenie:"
+
+msgid "Change Video Format"
+msgstr "Izmenit' videoformat"
+
+msgid "Video Format"
+msgstr "Videoformat"
+
+msgid "Current Format:"
+msgstr "Teku$ij format"
+
+msgid "<switching not available>"
+msgstr "<Pereklyuchenie ne dostupno>"
+
+msgid "Press Enter to select and T to test a format. Esc to exit."
+msgstr "Nazhmite Enter dlya vybora, T dlya proverki i Esc dlya vyhoda."
+
+msgid "<unloadable>"
+msgstr "<nezagruzhaemo>"
+
+###############
+## DOWNLOADS ##
+###############
+
+msgid "downloading: "
+msgstr "zagruzka:"
+
+msgid "Downloading texture (%d of %d): %d KB"
+msgstr "Zagruzka tekstur (%d iz %d): %d KB"
+
+msgid "not downloading: "
+msgstr "ne zagruzheno:"
+
+msgid "NOTE: "
+msgstr "Vnimanie:"
+
+msgid "download access is controlled by "
+msgstr "zagruzka upravlyaetsya "
+
+msgid "local denial: "
+msgstr "mestnij zapret:"
+
+######################
+## EFFECTS SETTINGS ##
+######################
+
+msgid "Effects Settings"
+msgstr "Nastrojki effektov"
+
+msgid "Rain:"
+msgstr "Dozhd':"
+
+msgid "Mirror:"
+msgstr "Otrazhenie:"
+
+msgid "Fog:"
+msgstr "Tuman:"
+
+msgid "Nice"
+msgstr "Krasivo"
+
+msgid "Shot Length:"
+msgstr "Dlina vystrela:"
+
+msgid "Display Treads:"
+msgstr "Otobrazhenie gusenic:"
+
+msgid "Animated Treads:"
+msgstr "Animaciya gusenic:"
+
+msgid "Covered"
+msgstr "Zakrytye"
+
+msgid "Exposed"
+msgstr "Otkrytye"
+
+msgid "Track Marks:"
+msgstr "Sledy gusenic:"
+
+msgid "Track Mark Culling:"
+msgstr "Ochistka sledov:"
+
+msgid "Fancy Effects:"
+msgstr "Dekorativnye effekty:"
+
+msgid "Spawn Effect:"
+msgstr "Effekt poyavleniya:"
+
+msgid "Local Spawn Effect:"
+msgstr "Effekt lokal'nogo poyavleniya"
+
+msgid "Same as spawns"
+msgstr "Podobnij poyavleniyu"
+
+msgid "Death Effect:"
+msgstr "Effekt smerti:"
+
+msgid "Shot Fired Effect:"
+msgstr "Effekt vystrela:"
+
+msgid "Local Shot Effect:"
+msgstr "Effekt lokal'nogo vystrela:"
+
+msgid "Same as shots"
+msgstr "Podobnij vystrelu"
+
+msgid "Use Velocity on Shot Effects:"
+msgstr "Uchyot skorosti pri effekte vystrela:"
+
+msgid "Landing Effect:"
+msgstr "Effekt prizemleniya:"
+
+msgid "GM Smoke Effect:"
+msgstr "Effekt dyma PTURS:"
+
+msgid "GM Effect Timing:"
+msgstr "Dlitel'nost' effekta PTURS:"
+
+msgid " Ricocet Effect:"
+msgstr " Effekt rikosheta"
+
+msgid " Teleport Shot Effect:"
+msgstr " Effekt teleportacii"
+
+msgid "Blossom"
+msgstr "Cvetok"
+
+msgid "Cone"
+msgstr "Konus"
+
+msgid "Rings"
+msgstr "Kol'ca"
+
+msgid "Smoke Rings"
+msgstr "Kol'ca dyma"
+
+msgid "Muzzle Flash"
+msgstr "Vspyshka v stvole"
+
+msgid "Smoke and Flash"
+msgstr "Dym i vspyshka:"
+
+msgid "Classic Puff"
+msgstr "Klassicheskie kluby dyma"
+
+msgid "Shock Cone"
+msgstr "Konus udarnoj volny"
+
+msgid "Smoke"
+msgstr "Dym"
+
+msgid "Fancy Deaths"
+msgstr "Neobychnye smerti"
+
+msgid "Dirt Flash"
+msgstr "Gryaznaya vspyshka"
+
+msgid "Ring"
+msgstr "Kol'co"
+
+#msgid "IDL"
+#msgstr ""
+
+##################
+## GUI SETTINGS ##
+##################
+
+msgid "GUI Settings"
+msgstr "Parametry graficheskogo interfejsa"
+
+msgid "Radar Style:"
+msgstr "Stil' radara:"
+
+msgid "Normal"
+msgstr "Obychnij"
+
+msgid "Fast Sorted"
+msgstr "Bystraya sortirovka"
+
+msgid "Enhanced"
+msgstr "Uluchsheniya:"
+
+msgid "Scoreboard Sort:"
+msgstr "Sortirovka tablo:"
+
+msgid "Always Show Team Scores:"
+msgstr "Vsegda pokazyvat' schyot komandy:"
+
+msgid "Scoreboard Font Size:"
+msgstr "Razmer shrifta tablo"
+
+msgid "Auto"
+msgstr "Avto"
+
+msgid "ControlPanel Font Size:"
+msgstr "Razmer shrifta paneli upravleniya:"
+
+msgid "Extended Observer Info:"
+msgstr "Rasshirennaya informaciya nablyudatelya:"
+
+msgid "On With Apparent Speeds"
+msgstr "Vklyuchenie pokaza skorostej"
+
+msgid "Full"
+msgstr "Polnlst'yu"
+
+msgid "Panel Opacity:"
+msgstr "Neprozrachnost' paneli"
+
+msgid "Radar Opacity:"
+msgstr "Neprozrachnost' radara"
+
+msgid "Colored shots on radar:"
+msgstr "Rascvetka vystrelov na radare"
+
+msgid "Radar Shot Length:"
+msgstr "Dlina vystrela na radare:"
+
+msgid "Radar Shot Size:"
+msgstr "Razmer vystrela na radare:"
+
+msgid "Radar Shot Line:"
+msgstr "Liniya vystrela na radare:"
+
+msgid "Lagging"
+msgstr "Otstayu$ie"
+
+msgid "Leading"
+msgstr "Vedu$ie"
+
+msgid "Leading & Lagging"
+msgstr "Vedu$ie i otstayu$ie"
+
+msgid "Radar Position:"
+msgstr "Razme$enie radara:"
+
+msgid "Left"
+msgstr "Vlevo"
+
+msgid "Right"
+msgstr "Vpravo"
+
+msgid "Radar Size:"
+msgstr "Razmer radara:"
+
+msgid "Panel Height:"
+msgstr "Vysota paneli"
+
+msgid "Mouse Box Size:"
+msgstr "Razmer ramok myshi:"
+
+msgid "Locale:"
+msgstr "Lokal'"
+
+msgid "Default"
+msgstr "Po-umolchaniyu"
+
+msgid "Control panel tabs:"
+msgstr "Zakladki paneli upravleniya:"
+
+msgid "Control panel coloring:"
+msgstr "Rascvetka paneli upravleniya"
+
+msgid "Underline color:"
+msgstr "Cvet podcherkivaniya"
+
+msgid "Cyan"
+msgstr "Cian"
+
+msgid "Grey"
+msgstr "Serij"
+
+msgid "Text"
+msgstr "Tekst"
+
+msgid "Killer Highlight:"
+msgstr "Podsvetka ubijcy"
+
+msgid "Pulsating"
+msgstr "Miganie"
+
+msgid "Underline"
+msgstr "Podchyorkivanie"
+
+msgid "Pulsation Rate:"
+msgstr "Skorost' pulb'sacii"
+
+msgid "Pulsation Depth:"
+msgstr "Glubina pul'sacii"
+
+msgid "Time / Date Display:"
+msgstr "Otobrazhenie daty/vremeni:"
+
+msgid "time"
+msgstr "vremya"
+
+msgid "date"
+msgstr "data"
+
+msgid "both"
+msgstr "data i vremya"
+
+msgid "Reload timer on HUD:"
+msgstr "Tajmer perezaryadki na verhnem tablo"
+
+msgid "Motto Display Length:"
+msgstr "Dlina tablo deviza"
+
+###############
+## HELP MENU ##
+###############
+
+msgid "Page Down for next page"
+msgstr "Page Down na sleduyu$uyu stranicu"
+
+msgid "Page Up for previous page"
+msgstr "Page Up na predydu$uyu stranicu"
+
+msgid "Controls"
+msgstr "Organy upravleniya"
+
+msgid "Mouse Position"
+msgstr "Poziciya myshi"
+
+msgid "Controls Tank Position:"
+msgstr "Upravlenie polozheniem tanka"
+
+msgid "Fires Shot:"
+msgstr "Ogon' vystrela:"
+
+msgid "Drops Flag (if not bad):"
+msgstr "Vybrasyvaniya flaga (ne dlya 'razbojnikov')"
+
+msgid "Identifies Player (locks on GM):"
+msgstr "Identifikaciya igroka (c fiksaciej celi PTURS)"
+
+msgid "Short Radar Range:"
+msgstr "Radar blizhnego dejstviya:"
+
+msgid "Medium Radar Range:"
+msgstr "Radar srednego dejstviya:"
+
+msgid "Long Radar Range:"
+msgstr "Radar dal'nego dejstviya:"
+
+msgid "Zoom Radar In:"
+msgstr "Uvelichenie masshtaba radara"
+
+msgid "Zoom Radar Out:"
+msgstr "Umen'shenie masshtaba radara"
+
+msgid "Send Message to Everybody:"
+msgstr "Otpravit' soob$enie vsem"
+
+msgid "Send Message to Teammates:"
+msgstr "Poslat' soob$enie tovari$am"
+
+msgid "Send Message to Nemesis:"
+msgstr "Poslat' soob$enie vozmezdiya:"
+
+msgid "Send Message to Recipient:"
+msgstr "Poslat' soob$enie adresatu"
+
+msgid "Jump (if allowed):"
+msgstr "Pryzhok (esli razre$yon)"
+
+msgid "Toggle Binoculars:"
+msgstr "Pereklyuchit' binokl'"
+
+msgid "Toggle Score Sheet:"
+msgstr "Pereklyuchit' schyot igry:"
+
+msgid "Toggle Tank Labels:"
+msgstr "Pereklyuchit' metki tankov:"
+
+msgid "Toggle Heads-up Flag Help:"
+msgstr "Pereklyuchit' pomo$' po podnyatomu flagu"
+
+msgid "Set Time of Day Backward:"
+msgstr "Ustanovit' ostavshiesya vremya"
+
+msgid "Set Time of Day Forward:"
+msgstr "Ustanovit' proshedshee vremya"
+
+msgid "Pause/Resume:"
+msgstr "Pauza/Dalee:"
+
+msgid "Self destruct/Cancel:"
+msgstr "Samounichtozhenie/Otmena"
+
+msgid "Quit:"
+msgstr "Vyhod bez sohraneniya:"
+
+msgid "Scroll Message Log Backward:"
+msgstr "Prokrutka soob$enij nazad:"
+
+msgid "Scroll Message Log Forward:"
+msgstr "Prokrutka soob$enij vperyod:"
+
+msgid "Slow Keyboard Motion:"
+msgstr "Umen'shenie pereme$eniya klaviatury"
+
+msgid "Toggle Radar Flags:"
+msgstr "Otobrazhenie flagov na radare"
+
+msgid "Toggle Main Flags:"
+msgstr "Otobrazhenie osnovnyh flagov:"
+
+msgid "Silence/UnSilence:"
+msgstr "Vykl/vkl zvuk:"
+
+msgid "Server Admin:"
+msgstr "Administrator servera:"
+
+msgid "Hunt:"
+msgstr "Ohota:"
+
+msgid "Auto Pilot:"
+msgstr "Avtpilot"
+
+msgid "Main Message Tab:"
+msgstr "Vkladka osnovnyh soob$enij:"
+
+msgid "Chat Message Tab:"
+msgstr "Vkladka chata soob$enij"
+
+msgid "Server Message Tab:"
+msgstr "Vkladka soob$enij servera"
+
+msgid "Misc Message Tab:"
+msgstr "Vkladka prochih soob$enij"
+
+#msgid "Esc"
+#msgstr ""
+
+msgid "Show/Dismiss menu:"
+msgstr "Pokazat'/skryt' menyu"
+
+msgid "<not mapped>"
+msgstr "<ne naznacheno>"
+
+msgid " or "
+msgstr " ili "
+
+msgid "General"
+msgstr "Ob$ee"
+
+msgid "BZFlag is a multi-player networked tank battle game. There are five teams:"
+msgstr "BZFlag yavlyaetsya mnogopol'zovatel'skoj setevoj igroj bitvy tankov. Est' pyat' komand:"
+
+msgid "red, green, blue, purple, and rogues (rogue tanks are black). Destroying a"
+msgstr "krasnaya, zelyonaya, golubaya, purpurnaya i 'razbojniki' (u 'razbojnikov' chyornye tanki). Unichtozhenie"
+
+msgid "player on another team scores a win, while being destroyed or destroying a"
+msgstr "igroka iz drugoj komandy zaschityvaetsya kak pobeda, a gibel' ili unichtozhenie"
+
+msgid "teammate scores a loss. Individual and aggregate team scores are tallied."
+msgstr "svoego zaschityvaetya kak proigrysh. V igre podschityvayutsya ochki igrokov i komand."
+
+msgid "Rogues have no teammates (not even other rogues),so they cannot shoot"
+msgstr "U 'razbojnikov' net svoih (dazhe v svoej komande), poetomu oni mogut strelyat' po vsem"
+
+msgid "teammates and they don't have a team score."
+msgstr "i u nih net komandnogo schyota."
+
+msgid "There are four styles of play, determined by the server configuration: capture-"
+msgstr "Su$estvuet chetyre stilya igry, opredelyaemyh konfiguraciej servera: zahvat flaga,"
+
+msgid "the-flag, rabbit-chase, free-for-all and open-free-for-all. In free-for-all the"
+msgstr "pogonya-za-krolikom, proizvol'nij stil' i otkrytij proizvol'nij stil'."
+
+msgid "object is simply to get the highest score by shooting opponents. In open-free-"
+msgstr "V proizvol'nom stile cel' - prosto nabrat' maksimum ochkov, ubivaya protivnikov."
+
+msgid "for-all highest score is still the goal but there are no teams. In rabbit chase,"
+msgstr "V otkrytom proizvol'nom stile cel' ta zhe, no net komand. V pogone za krolikom"
+
+msgid "the white tank tries to stay alive while all other tanks try to hunt and kill it."
+msgstr "belij tank pytaetsya vyzhit', togda kak drugie starayutsya pojmat' i ubit' ego."
+
+msgid "The object in capture-the-flag is to capture enemy flags while preventing opponents"
+msgstr "Cel' igry zahvat-flaga - zahvatit' flagi protivnikov i pri etom ne dat' opponentam"
+
+msgid " from capturing yours. In this style, each team (but not rogues) has a team base"
+msgstr " zahvatit' vashi. V takoj igre u kazhdoj komandy (no ne u 'razbojnikov') est' svoya baza i u kazhdoj"
+
+msgid "and each team with at least one player has a team flag which has the color of the team."
+msgstr "komandy s kak minimum odnim igrokom est' flag komandy, okrashennij v cvet komandy."
+
+msgid "To capture a flag, you must grab it and bring it back to your team base (you must be"
+msgstr "Chtoby zahvatit' flag, vy dolzhny vzyat' i privezti ego na svoyu bazu (chtoby zahvat byl"
+
+msgid "on the ground in your base to register the capture). Capturing a flag destroys"
+msgstr "zaschitan, vy dolzhny opustit' ego na svoej baze). Pri zahvate flaga unichtozhayutsya"
+
+msgid "all the players on that team and gives your team score a bonus; the players will"
+msgstr "vse igroki komandy, chej eto flag, a vasha komanda poluchaet ochki; unichtozhennye igroki voznikayut"
+
+msgid "restart on their team base. Taking your flag onto an enemy base counts as a capture"
+msgstr "na svoej baze svoej komandy. Dostavka vashega flaga na bazu protivnika zaschityvaetsya kak zahvat"
+
+msgid "against your team but not for the enemy team."
+msgstr "v pol'zu komandy protivnika, a ne vashej."
+
+msgid "Environment"
+msgstr "Okruzhayu$ij mir"
+
+msgid "The world environment contains an outer wall and several buildings."
+msgstr "Igrovoj mir sostoit iz vneshnej steny i neskol'kih sooruzhenij."
+
+msgid "You cannot go outside the outer wall (you can't even jump over it)."
+msgstr "Vyehat' za vneshnyuyu stenu nel'zya (eyo nel'zya dazhe pereprygnut')."
+
+msgid "You cannot normally drive or shoot through buildings."
+msgstr "Obychno takzhe nel'zya proezzhat' ili strelyat' skvoz' zdaniya."
+
+msgid "The server may be configured to include teleporters: large transparent"
+msgstr "Na igrovom servere mogut byt' predusmotreny teleporty: bol'shie prozrachnye "
+
+msgid "black slabs. Objects entering one side of a teleporter are instantly"
+msgstr "chyornye plity. Ob\"ekty, prohodya$ie s odnoj storony teleporta, mgnovenno"
+
+msgid "moved to one side of another (or possibly the same) teleporter. The"
+msgstr "pereme$ayutsya v drugoj (a vozmozhno i v tot-zhe) teleport. Teleport obladaet"
+
+msgid "teleport is reversible; reentering the same side of the destination"
+msgstr "obratnym dejstviem; pri prohozhdenii s obratnoj storony celevogo teleporta"
+
+msgid "teleporter brings you back to where you started. Teleport connections"
+msgstr "y vozvra$aetes' k nachal'nomu polozheniyu. Soedineniya teleportov"
+
+msgid "are fixed at the start of the game and don't change during the game."
+msgstr "opredelyayutsya na starte igry i ne izmneyutsya v processe igry"
+
+msgid "The connections are always the same in the capture-the-flag style."
+msgstr "V stile zahvat flaga soedineniya vsegda odinakovy"
+
+msgid "Each side of a teleporter teleports independently of the other side."
+msgstr "Raznye storony odnogo teleporta funkcioniruyut nezavisimo drug ot druga."
+
+msgid "It's possible for a teleporter to teleport to the opposite side of"
+msgstr "Inogda teleport mozhet prosto soedinyat' dve ego storony"
+
+msgid "itself. Such a thru-teleporter acts almost as if it wasn't there."
+msgstr "Fakticheski takoj skvoznoj teleport funkcioniruet tak, kak esli by ego ne bylo."
+
+msgid "A teleporter can also teleport to the same side of itself. This is a"
+msgstr "Takzhe teleport mozhet teleportitrovat' sam v sebya. Takoj teleport"
+
+msgid "reverse teleporter. Shooting at a reverse teleporter is likely to be"
+msgstr "nazyvaetsya reversivnym. Popytka strelyat' v takoj teleport skoree vsego"
+
+msgid "self destructive; shooting a laser at one is invariably fatal."
+msgstr "privedyot k samounichtozheniyu; pri vystrele iz lazera vy obrecheny"
+
+msgid "Flags"
+msgstr "Flagi"
+
+msgid "Flags come in two varieties: team flags and super flags. Team flags"
+msgstr "Flagi byvayut dvuh raznovidnostej: flagi komandy i super-flagi. Flagi komandy"
+
+msgid "are used only in the capture-the-flag style. The server may also be"
+msgstr "ispol'zuyutsya tol'ko v igre zahvat-flaga. Server takzhe mozhet osu$estvlyat'"
+
+msgid "configured to supply super flags, which give your tank some advantage"
+msgstr "sluchajnoe rasmkidyvanie superflagov, dayu$ih tanku nekotoroe preimu$estvo ili naoborot"
+
+msgid "or disadvantage. You normally can't tell which until you pick one up,"
+msgstr "uhudshenie polozheniya. Bez osobyh sredstv nel'zya opredelit' znachenie flaga,"
+
+msgid "but good flags generally outnumber bad flags two to one."
+msgstr "poka ego ne voz'myosh', no obychno horoshih flagov vdvoe bol'she."
+
+msgid "Team flags are not allowed to be in Bad Places. Bad Places are: on"
+msgstr "Flagi komandy ne mogut nahodit'sya v 'plohih' mestah, v chastnosti"
+
+msgid "a building or on an enemy base. Team flags dropped in a Bad Place are"
+msgstr "na kryshe zdaniya ili na baze vraga. Flagi komandy, broshennye v 'plohom'"
+
+msgid "moved to a safety position. Captured flags are placed back on their"
+msgstr "meste pereme$ayutsya v novoe mesto. Zahvachennye flagi vozvra$ayutsya"
+
+msgid "team base. Super flags dropped above a building always disappear."
+msgstr "na bazu svoej komandy. Super-flagi, vybroshennye nad zdaniem vsegda ischezayut."
+
+msgid "A random good super flag will remain for up to 4 possessions. After"
+msgstr "Sluchajnij horoshij super-flag mozhet byt' vzyat do 4 raz. Posle etogo"
+
+msgid "that it'll disappear and will eventually be replaced by a new random"
+msgstr "takoj flag ischezaet i zamenyaetsya novym sluchajno vybrannym flagom."
+
+msgid "flag. Bad random super flags disappear after the first possession."
+msgstr "Plohie sluchajnye super-flagi ischezayut posle pervogo vzyatiya."
+
+msgid "Bad super flags can't normally be dropped. The server can be set to"
+msgstr "Obychno vybrosit' plohoj super-flag nel'zya. Server mozhet byt' nastroen,"
+
+msgid "automatically drop the flag for you after some time, after you destroy"
+msgstr "chto plohoj flag vybrasyvalsya cherez nekotoroe vremya, ili posle unichtozheniya"
+
+msgid "a certain number of enemies, and/or when you grab an antidote flag."
+msgstr "opredelyonnogo chisla vragov i/ili pri vzyatii flaga protivoyadiya. Flagi"
+
+msgid "Antidote flags are yellow and only appear when you have a bad flag."
+msgstr "protivoyadiya okrasheny v zhyoltij cvet i poyavlyayutsya, tol'ko kogda vzyat plohoj flag."
+
+msgid "Good Flags"
+msgstr "Horoshie flagi"
+
+msgid "Good Flags:"
+msgstr "Horoshie flagi:"
+
+msgid "Bad Flags"
+msgstr "Plohie flagi"
+
+msgid "Bad Flags:"
+msgstr "Plohie flagi:"
+
+msgid "Readouts I"
+msgstr "Tablo obzora I"
+
+msgid "The radar is on the left side of the control panel. It shows an overhead"
+msgstr "V levoj chasti paneli upravleniya nahoditsya radar. On pokazyvaet vid polya"
+
+msgid "x-ray view of the game. Buildings and the outer wall are shown in light"
+msgstr "sverhu v H-luchah. Zdaniya i vneshnie steny otobrazhayutsya golubym cvetom."
+
+msgid "blue. Team bases are outlined in the team color. Teleporters are short"
+msgstr "Bazy komandy ocherchivayutsya cvetom komandy. Teleporty pokazany kak korotkie"
+
+msgid "yellow lines. Tanks are dots in the tank's team color, except rogues are"
+msgstr "zhyoltye linii. Tanki pokazyvayutsya kak tochki cveta komandy, za isklyucheniem 'razbojnikov',"
+
+msgid "yellow. The size of the tank's dot is a rough indication of the tank's"
+msgstr "kotorye vydeleny zhyoltym. Po razmeru tochki tanka mozhno primerno opredelit'"
+
+msgid "altitude: higher tanks have larger dots. Flags are small crosses. Team"
+msgstr "vysotu tanka: chem vyshe tank, tem bol'she tochka. Flagi otmecheny krestikami."
+
+msgid "flags are in the team color, superflags are white, and the antidote flag"
+msgstr "flagi komandy okrasheny v cvet komandy, super-flagi belye, a flag protivoyadiya"
+
+msgid "is yellow. Shots are small dots (or lines or circles, for lasers and"
+msgstr "zhyoltij. Vystrely oboznachayutsya malen'kimi tochkami (ili liniyami ili kruzhkami,"
+
+msgid "shock waves, respectively). Your tank is always dead center and forward"
+msgstr "dlya lazera ili volny uzhasa, sootvetstvennno). Vash tank vsegda nepodvizhen v"
+
+msgid "is always up on the radar. The yellow V is your field of view. North"
+msgstr "centre radara i napravleniyu vperyod vsegda sootvetstvuet vverh na radare."
+
+msgid "is indicated by the letter N."
+msgstr "Zhyoltij ugol V oboznachaet vashe pole zreniya. Sever oboznachen bukvoj N."
+
+msgid "The heads-up-display (HUD) has several displays. The two boxes in the"
+msgstr "Verhnij displej soderzhit neskol'ko elementov. Dva tablo v centre okna obzora"
+
+msgid "center of the view are the motion control boxes; within the small box"
+msgstr "predstavlyayut soboj tablo upravleniem dvizheniem, vo vnutrennem malen'kom tablo tank"
+
+msgid "your tank won't move, outside the large box you don't move any faster than"
+msgstr "ne dvigaetsya, za predelami vneshnego bol'shogo tablo on ne budet dvigat'sya bystree, chem"
+
+msgid "at the edge of the large box. Moving the mouse above or below the small"
+msgstr "u eyo kraya. Pereme$enie ukazatelya myshi vverh ili vniz ot vnutrennego malen'kogo"
+
+msgid "box moves forward or backward, respectively. Similarly for left and right."
+msgstr "tablo privodit k pereme$eniyu tanka vperyod ili nazad, sootvetstvenno. To zhe samoe"
+
+msgid "The distance away from the small box determines the speed."
+msgstr "s dvizheniem vlevo/vpravo. Skorost' pryamo proporcional'na rasstoyaniyu do centra."
+
+msgid "Readouts II"
+msgstr " Tablo obzora II"
+
+msgid "Above the larger box is a tape showing your current heading. North is"
+msgstr "Nad bol'shim tablo nahoditsya lenta, pokazyvayu$aya teku$ee napravlenie."
+
+msgid "0, east is 90, etc. If jumping is allowed or you have the jumping flag,"
+msgstr "Sever - 0, vostok - 90, i t.d. Esli razresheny pryzhki ili vy vzyali flag 'pryzhok',"
+
+msgid "an altitude tape appears to the right of the larger box."
+msgstr "cprava ot vneshnej ramki poyavlyaetsya lenta vysoty."
+
+msgid "Small colored diamonds or arrows may appear on the heading tape. An"
+msgstr "Na lente napravleniya mogut poyavlyat'sya malen'kie cvetnye romby ili strelki."
+
+msgid "arrow pointing left means that a particular flag is to your left, an"
+msgstr "Strelka, ukazyvayu$aya vlevo, oznachaet, chto trebuemij flag sleva ot vas,"
+
+msgid "arrow pointing right means that the flag is to your right, and a diamond"
+msgstr "a strelka, ukazyvayu$aya vpravo, oznachaet, chto etot flag sprava, a romb"
+
+msgid "indicates the heading to the flag by its position on the heading tape."
+msgstr "pokazyvaet napravlenie na flag, otmechaya ego polozhenie na lente."
+
+msgid "In capture-the-flag mode a marker always shows where your team flag is."
+msgstr "V igre zahvat-flaga marker vsegda pokazyvaet, gde nahoditsya flag vashej komandy."
+
+msgid "A yellow marker shows the way to the antidote flag."
+msgstr "Zhyoltij marker pokazyvaet put' k flagu protivoyadiya."
+
+msgid "At the top of the display are, from left to right, your callsign and"
+msgstr "V verhnej chasti, sprava nalevo, pokazany vash pozyvnoj, schyot,"
+
+msgid "score, your status, and the flag you have. Your callsign is in the"
+msgstr "status, i kakoj flag u vas est'. Vash pozyvnoj okrashen v cvet"
+
+msgid "color of your team. Your status is one of: ready, dead, sealed, zoned"
+msgstr "vashejyyyyy komandy. Vash status mozhet byt' sleduyu$im: gotov, ubit, v pomehah, "
+
+msgid "or reloading (showing the time until reloaded). It can also show the"
+msgstr "v fantonmnoj zone ili perezaryadka (i vremya do gotovnosti). Takzhe tut mozhet otobrazhat'sya"
+
+msgid "time until a bad flag is dropped (if there's a time limit)."
+msgstr "vremya do vybrasyvaniya plohogo flaga (esli vremya vladeniya takimi flagami ogranicheno)."
+
+msgid "Other informational messages may occasionally flash on the HUD."
+msgstr "Na etom tablo takzhe mogut poyavlyat'sya drugie informacionnye soob$eniya."
+
+msgid "Credits"
+msgstr "Blagodarnosti"
+
+msgid "Maintainer:"
+msgstr "Mantejner"
+
+msgid "Original Author:"
+msgstr "Avtor"
+
+msgid "Code Contributors:"
+msgstr "Uchastniki razrabotki:"
+
+msgid "Tank Models:"
+msgstr "Modeli tankov:"
+
+msgid "Special Thanks:"
+msgstr "Osobaya blagodarnost':"
+
+msgid "BZFlag Home Page:"
+msgstr "Domashnij sajt BZFlag"
+
+#msgid "Copyright (c) 1993-2016"
+#msgstr ""
+
+
+####################
+## HUD RENDERERER ##
+####################
+
+# Translated input events are not working here
+msgid "Press %s to start"
+msgstr "Nazhmite %s dlya starta"
+
+msgid "Press Pause to resume"
+msgstr "Nazhmite Pause dlya prodolzheniya"
+
+msgid "AutoPilot on"
+msgstr "Avtopilot vklyuchen"
+
+msgid "Press Destruct to cancel"
+msgstr "Nazhmite Destruct dlya otmeny"
+
+msgid "GAME OVER"
+msgstr "IGRA OKONChENA"
+
+msgid "Send:"
+msgstr "Poslat':"
+
+msgid "Target Info"
+msgstr "Informaciya o celi"
+
+msgid "Position [%d %d %d]"
+msgstr "Koordinaty [%d %d %d]"
+
+msgid "Linear Speed:"
+msgstr "Linejnaya skorost':"
+
+msgid "Vertical Speed:%5.2f"
+msgstr "Vertikal'naya skorost':%5.2f"
+
+msgid "Vertical Speed:%5.2f(%5.2f)"
+msgstr "Vertikal'naya skorost'::%5.2f(%5.2f)"
+
+msgid "Angular Speed:"
+msgstr "Uglovaya skorost'"
+
+msgid "Last Shot Info Time:%6.4f Deviation:%6.3f"
+msgstr "Poslednij vystrel Vremya:%6.4f Otklonenie:%6.3f"
+
+msgid "ReportedHits %d ComputedHits %d ratio %f"
+msgstr "Reported popadaniya %d Computed popadaniya %d sootnoshenie %f"
+
+msgid "Dead"
+msgstr "Ubit"
+
+msgid "Ready"
+msgstr "Gotov"
+
+msgid "Reloaded in %.1f"
+msgstr "Perezaryadka v %.1f"
+
+msgid "Sealed"
+msgstr "Pomehi"
+
+msgid "Zoned"
+msgstr "Fantom"
+
+msgid "FPS: %d"
+msgstr "FPS: %d"
+
+msgid "rtris: %i"
+msgstr "rtris: %i"
+
+msgid "tris: %i"
+msgstr "tris: %i"
+
+msgid "time: %dms"
+msgstr "vremya"
+
+###############
+## JOIN MENU ##
+###############
+
+msgid "Join Game"
+msgstr "Prisoedinit'sya k igre"
+
+msgid "Find Server"
+msgstr "Najti server"
+
+msgid "Connect"
+msgstr "Soedinenie"
+
+msgid "Callsign:"
+msgstr "Pozyvnoj:"
+
+msgid "Password:"
+msgstr "Parol':"
+
+msgid "Team:"
+msgstr "Komanda:"
+
+msgid "Server:"
+msgstr "Server:"
+
+msgid "Port:"
+msgstr "Port:"
+
+msgid "Motto:"
+msgstr "Deviz:"
+
+msgid "Start Server"
+msgstr "Zapusk servera"
+
+msgid "You must enter a callsign."
+msgstr "Vy dolzhny vvesti pozyvnoj."
+
+msgid "You must enter a server."
+msgstr "Vy dolzhny vvesti imya servera."
+
+msgid "Port is invalid. Try %d."
+msgstr "Nepravil'nij port. Popytka %d."
+
+msgid "Trying..."
+msgstr "Vypolnenie..."
+
+##########
+## TEAM ##
+##########
+
+msgid "Automatic"
+msgstr "Avtomaticheski"
+
+msgid "Rogue"
+msgstr "Razbojniki"
+
+msgid "Red Team"
+msgstr "Krasnaya komanda"
+
+msgid "Green Team"
+msgstr "Zelyonaya komanda"
+
+msgid "Blue Team"
+msgstr "Sinyaya komanda"
+
+msgid "Purple Team"
+msgstr "Purpurnaya komanda"
+
+msgid "Observer"
+msgstr "Nablyudatel'"
+
+msgid "Rabbit"
+msgstr "Krolik"
+
+msgid "Hunter"
+msgstr "Ohotnik"
+
+msgid "No Team??"
+msgstr "Net kommandy ???"
+
+msgid "Invalid team"
+msgstr "Nepravil'nij vvod komandy"
+
+####################
+## INPUT SETTINGS ##
+####################
+
+msgid "Input Settings"
+msgstr "Nastrojki vvoda"
+
+msgid "Change Key Mapping"
+msgstr "Izmenit' nastrojku klavish"
+
+msgid "Joystick device:"
+msgstr "Joystik:"
+
+msgid "Active input device:"
+msgstr "Aktivnye ustrojstva vvoda:"
+
+msgid "Force feedback:"
+msgstr "Otdacha joyjstika:"
+
+msgid "Rumble"
+msgstr "Shumy"
+
+msgid "Directional"
+msgstr "Napravlennij"
+
+msgid "Joystick X Axis:"
+msgstr "Os' X joyjstika:"
+
+msgid "Joystick Y Axis:"
+msgstr "Os' Y joyjstika:"
+
+msgid "Confine mouse:"
+msgstr "ogranichenie myshi:"
+
+msgid "Window"
+msgstr "Pricel"
+
+msgid "MotionBox"
+msgstr "Okno Deviza"
+
+msgid "Jump while typing:"
+msgstr "Pryzhok pri nabore:"
+
+#######################
+## KEYBOARD MAP MENU ##
+#######################
+
+msgid "Key Mapping"
+msgstr "Privyazka klavish"
+
+msgid "Use up/down arrows to navigate, enter key to enter edit mode"
+msgstr "Strelki vverh/vniz - vybor, Enter - izmenenie"
+
+msgid "Reset Defaults"
+msgstr "Sbros na umolchaniya"
+
+msgid "Fire shot:"
+msgstr "Vystrel:"
+
+msgid "Drop flag:"
+msgstr "Brosit' flag:"
+
+msgid "Identify/Lock On:"
+msgstr "Identificirovat'/Zakreplyat':"
+
+msgid "Radar Short:"
+msgstr "Malen'kij radar"
+
+msgid "Radar Medium:"
+msgstr "Srednij radar"
+
+msgid "Radar Long:"
+msgstr "Bol'shoj radar"
+
+msgid "Radar Zoom In:"
+msgstr "Uvelichit' masshtaba radara"
+
+msgid "Radar Zoom Out:"
+msgstr "Umen'shit' masshtaba radara"
+
+msgid "Send to All:"
+msgstr "Poslat' vsem"
+
+msgid "Send to Teammates:"
+msgstr "Poslat' svoim"
+
+msgid "Send to Nemesis:"
+msgstr "Poslat' obidchiku"
+
+msgid "Send to Recipient:"
+msgstr "Poslat' adresatu"
+
+msgid "Send to Admin:"
+msgstr "Poslat' adminu"
+
+msgid "Jump:"
+msgstr "Pryzhok"
+
+msgid "Binoculars:"
+msgstr "Binokl'"
+
+msgid "Toggle Score:"
+msgstr "Tumbler ocenki:"
+
+msgid "Toggle Radar:"
+msgstr "Tumbler radara:"
+
+msgid "Toggle Console:"
+msgstr "Tumbler konsoli:"
+
+msgid "Tank Labels:"
+msgstr "Metki tankov:"
+
+msgid "Flag Help:"
+msgstr "Pomo$' po flagu:"
+
+msgid "Time Forward:"
+msgstr "Vremya vperyod:"
+
+msgid "Time Backward:"
+msgstr "Vremya nazad:"
+
+msgid "Self Destruct/Cancel:"
+msgstr "Samopodryv/Prervat':"
+
+msgid "Fast Quit:"
+msgstr "Bystrij Vyhod:"
+
+msgid "Scroll Backward:"
+msgstr "Prokrutka nazad:"
+
+msgid "Scroll Forward:"
+msgstr "Prokrutka vpered:"
+
+msgid "Scroll Bottom:"
+msgstr "Prokrutka vniz:"
+
+msgid "Toggle Flags On Radar:"
+msgstr "tumbler flanov na radare:"
+
+msgid "Toggle Flags On Field:"
+msgstr "tumbler flagov v pricele:"
+
+msgid "Silence/UnSilence Key:"
+msgstr "Klyuch tishiny/zvuka"
+
+msgid "Server Command Key:"
+msgstr "Klyuch komand serveru:"
+
+msgid "Hunt Key:"
+msgstr "Klyuch ohoty:"
+
+msgid "Add/Modify Hunt Key:"
+msgstr "Dobavit'/izmenit' klyuch ohoty:"
+
+msgid "AutoPilot Key: "
+msgstr "Klyuch avtopilota"
+
+msgid "Main Message Tab: "
+msgstr "Okno osnovnyh soob$enij:"
+
+msgid "Chat Message Tab: "
+msgstr "Vkladka chata:"
+
+msgid "Server Message Tab: "
+msgstr "Vkladka soob$enij servera:"
+
+msgid "Misc Message Tab: "
+msgstr "Vkladka prochih soob$enij"
+
+msgid "Forward Key: "
+msgstr "Knopka vperyod:"
+
+msgid "Reverse Key: "
+msgstr "Knopka nazad:"
+
+msgid "Left Key: "
+msgstr "Knopka vlevo:"
+
+msgid "Right Key: "
+msgstr "Knopka vpravo:"
+
+msgid "Restart:"
+msgstr "Perezapusk:"
+
+msgid "Iconify:"
+msgstr "Svernut'"
+
+msgid "Fullscreen:"
+msgstr "Polnij ekran"
+
+msgid "Screenshot:"
+msgstr "Skrinshot"
+
+msgid "Define Quick Keys"
+msgstr "Opredelit' bystye knopki"
+
+msgid "Notice: depending on platform not all keys might work"
+msgstr "Primechanie: v zavisimosti ot platformy ne vse klavishi mogut rabotat'"
+
+msgid "Send to All"
+msgstr "Poslat' vsem"
+
+msgid "Send to Team"
+msgstr "Poslat' svoim"
+
+###############
+## MAIN MENU ##
+###############
+
+msgid "Up/Down arrows to move, Enter to select, Esc to dismiss"
+msgstr "Strelki - pereme$enie, Enter - vybor, Esc - otmena"
+
+msgid "Options"
+msgstr "Nastrojki"
+
+msgid "Save Settings"
+msgstr "Sohranit' parametry"
+
+msgid "Leave Game"
+msgstr "Pokinut' igru"
+
+msgid "Quit"
+msgstr "Vyhod bez sohraneniya"
+
+###############
+## QUIT MENU ##
+###############
+
+msgid "Enter to quit, Esc to resume"
+msgstr "Nazhmite Enter dlya vyoda, ili Esc dlya otmeny"
+
+msgid "Really quit?"
+msgstr "Hotite vijti?"
+
+#############
+## OPTIONS ##
+#############
+
+msgid "Save Settings:"
+msgstr "Sohranit' nastrojki"
+
+msgid "On Exit"
+msgstr "Vyhod vklyuchen"
+
+msgid "Save identity:"
+msgstr "Sohranit' identifikaciyu"
+
+msgid "Username only"
+msgstr "Tol'ko imya"
+
+msgid "Username and password"
+msgstr "Imya i parol'"
+
+################
+## SAVE WORLD ##
+################
+
+msgid "Save World"
+msgstr "Sohranit' kartu"
+
+msgid "File Name:"
+msgstr "imya fajla"
+
+msgid "No world loaded to save"
+msgstr "Net zagruzhennoj karty dlya sohraneniya"
+
+msgid "World Saved: "
+msgstr "Sohranyonnye karty:"
+
+msgid "Error Saving: "
+msgstr "Oshibka sohraneniya"
+
+######################################
+## MESSAGE OF THE DAY & NEW VERSION ##
+######################################
+
+msgid "MOTD contains unexpected data"
+msgstr "Deviz soderzhit nepodderzhivaaemye simvoly"
+
+msgid "<not available>"
+msgstr "<net v nalichii>"
+
+msgid "UPGRADE: "
+msgstr "Obnovlenie:"
+
+msgid "Message of the day: "
+msgstr "Soob$enie dnya:"
+
+msgid "A new version of BZFlag has been released!"
+msgstr "Pora obnovlyat'sya, poyavilas' novaya versiya BZFlag!"
+
+msgid "Would you like to upgrade now?"
+msgstr "Hotite obnovit' igru?"
+
+msgid "(Download and install: "
+msgstr "(Zagruzka i ustanovka: "
+
+msgid "Yes!"
+msgstr "Da!"
+
+msgid "Not yet"
+msgstr "E$yo net"
+
+msgid "Please upgrade as soon as possible."
+msgstr "Pozhalusta, obnovite kak mozhno bystree"
+
+msgid "OK"
+msgstr "OK"
+
+msgid "Downloading update: %d/%d KB"
+msgstr "Zagruzkak obnovleniya: %d/%d KB"
+
+msgid "Failed... can't find upgrade installer."
+msgstr "Neudacha... ne najdena programma obnovleniya"
+
+msgid "Failed... not enough memory."
+msgstr "Neudacha... ne hvatilo pamyati."
+
+msgid "Failed... installer is not executable."
+msgstr "Neudacha... programma obnovleniya ne ispolnyaemaya"
+
+msgid "Failed... unknown error (%d)."
+msgstr "Neudacha... oshibka (%d)."
+
+msgid "Failed to start upgrade installer (%s) - error %d.\n"
+msgstr "Neudachnij start programmy ustanovki (%s) - oshibka %d.\n "
+
+msgid "Installer started."
+msgstr "Installyator zapu$en"
+
+msgid "Download Failed!"
+msgstr "Neudachnaya zagruzka"
+
+msgid "Downloading update: 8888/8888 KB"
+msgstr "Zagruzka obnovleniya: 8888/8888 KB "
+
+#############
+## ROAMING ##
+#############
+
+msgid "Roaming::changeTarget() no world, switching to free roaming\n"
+msgstr "Rouming::changeTarget() net karty, pereklyuchenie na svobodnij poisk\n"
+
+msgid "Rabbit "
+msgstr "Krolik "
+
+msgid "Tracking "
+msgstr "Slezhenie "
+
+msgid "Following "
+msgstr "Poputchik "
+
+msgid "Driving with "
+msgstr "Vozhdenie s"
+
+msgid " Flag"
+msgstr " Flag "
+
+msgid "Roaming"
+msgstr "Stranstvie"
+
+#################
+## SCORE BOARD ##
+#################
+
+msgid "Score"
+msgstr "Schyot"
+
+msgid "888~888 Hunt->"
+msgstr "888~888 popadanij->"
+
+msgid " Kills"
+msgstr " Ubito"
+
+msgid "Player"
+msgstr "Igrok"
+
+msgid "[Score]"
+msgstr "[Schyot]"
+
+msgid "[Normalized Score]"
+msgstr "[Normalizovannij schyot]"
+
+msgid "[Reverse Score]"
+msgstr "[Obratnij schyot]"
+
+msgid "[Callsign]"
+msgstr "[Pozyvnoj]"
+
+msgid "[Team Kills]"
+msgstr "[Ubito komandoj]"
+
+msgid "[TK ratio]"
+msgstr "[UK otnoshenie]"
+
+msgid "[Team]"
+msgstr "[Komanda]"
+
+msgid "[1on1]"
+msgstr "[1 na 1]"
+
+msgid "Hunt->"
+msgstr "Popadaniya->"
+
+msgid "Team Score"
+msgstr "Schyot komandy"
+
+msgid "Team Flags"
+msgstr "Flagi komandy"
+
+msgid "TK Leader "
+msgstr "Lider komandy"
+
+msgid "TK Ratio Leader "
+msgstr "Lider komandy po UK otnosheniyu"
+
+msgid "Leader "
+msgstr "Lider"
+
+#####################
+## SERVER COMMANDS ##
+#####################
+
+msgid "Kick -> "
+msgstr "Udar -> "
+
+msgid "Kill -> "
+msgstr "Ubit -> "
+
+msgid "Set players group "
+msgstr "Zadat' gruppu igrokov "
+
+msgid "Remove player from group "
+msgstr "Isklyuchit' igroka iz gruppy"
+
+msgid "Ghost player [enter your pass] "
+msgstr "Prizrachnij igrok [vvedite vash parol']"
+
+msgid "Show player's groups "
+msgstr "Pokazat' igrokov gruppy"
+
+msgid "Kick :"
+msgstr "Udarov :"
+
+msgid "Kill :"
+msgstr "Ubito :"
+
+msgid "Ban :"
+msgstr "Ban :"
+
+msgid "Set player's group :"
+msgstr "Zadat' gruppu igrokov :"
+
+msgid "Remove player from group :"
+msgstr "Isklyuchit' igroka iz gruppy"
+
+msgid "Ghost :"
+msgstr "Prizrak :"
+
+msgid "Show players group :"
+msgstr "Pokazat' igrokov gruppy :"
+
+msgid "Unban :"
+msgstr "Razbanit' :"
+
+msgid "Show ban list"
+msgstr "Pokazat' spisok banov :"
+
+msgid "Show player list"
+msgstr "Pokazat' spisok igrokov"
+
+msgid "Reset Flags"
+msgstr "Sbrosit' flagi"
+
+msgid "Reset Unused Flags"
+msgstr "Sbrosit' neispol'zovannye flagi"
+
+msgid "Remove Flags"
+msgstr "Udalit' flagi"
+
+msgid "End Game"
+msgstr "Konec Igry"
+
+msgid "Restart Countdown:"
+msgstr "Perezapusk obratnogo otschyota:"
+
+msgid "Show Flag Info"
+msgstr "Pokazat' informaciyu o flagah"
+
+msgid "Shut Down Server"
+msgstr "Vyklyuchit' server"
+
+msgid "Disconnect all Players"
+msgstr "Otklyuchit' vseh igrokov"
+
+msgid "Lag Warning threshold:"
+msgstr "Porog preduprezhdeniya o lage"
+
+msgid "Maximum lag warnings:"
+msgstr "Preduprezhdenie o maksimal'nom lage"
+
+msgid "Idle Stats"
+msgstr "Prostaya statistika"
+
+msgid "Client Version Query"
+msgstr "Zapros versii klienta"
+
+msgid "Lag / Ping Stats"
+msgstr "Sostoyanie laga / pinga"
+
+msgid "Flag History"
+msgstr "Istoriya flagov"
+
+msgid "Admin Password:"
+msgstr "Parol' administratora"
+
+msgid "Send Report to Server:"
+msgstr "Poslat' soob$enie na server"
+
+msgid "List Groups"
+msgstr "Spisok grupp"
+
+msgid "List Permissions"
+msgstr "Spisok razreshenij"
+
+msgid "Vote:"
+msgstr "Golos:"
+
+msgid "Call a Poll:"
+msgstr "Zapros golosovaniya"
+
+msgid "Cancel a Poll"
+msgstr "Prervat' golosovanie"
+
+#################
+## SERVER LINK ##
+#################
+
+msgid "Remote %s\n"
+msgstr "Udalyonnye servera %s\n"
+
+msgid "Connected Event"
+msgstr "Sobytiya soedineniya"
+
+msgid "CONNECT:send in connect returned %d\n"
+msgstr "SOEDINENIE: vernulos' zaprosov na soedinenie %d\n"
+
+msgid "CONNECT:select in connect failed, nfound = %d\n"
+msgstr "SOEDINENIE:vybrannoe soedinenie neudachno, najdeno = %d\n"
+
+msgid "CONNECT:got net data in connect, bytes read = %d\n"
+msgstr "SOEDINENIE:poluchenie dannyh po seti, polucheno %d bajt\n"
+
+msgid "CONNECT:Time To Connect = %f\n"
+msgstr "SOEDINENIE:Vremya soedineniya "
+
+msgid "CONNECT:connect time out failed\n"
+msgstr "SOEDINENIE:tamaut soedineniya\n"
+
+msgid "CONNECT:connect loop count = %d\n"
+msgstr "CONNECT:chislo soedinenij po petle = %d\n"
+
+msgid "Error writing on packetStream"
+msgstr "Oshibka zapisi potoka paketov"
+
+msgid "Server network statistics:\n"
+msgstr "Setevaya statistika servera"
+
+msgid " elapsed time : %f\n"
+msgstr " proshlo vremyani : %f\n"
+
+msgid " bytes sent : %d (%f/sec)\n"
+msgstr " bajtov otoslano : %d (%f/sek)\n"
+
+msgid " packets sent : %d (%f/sec)\n"
+msgstr " paketov otoslano : %d (%f/sek)\n"
+
+msgid " bytes/packet : %f\n"
+msgstr " bajt/paket : %f\n"
+
+msgid " bytes recieved : %d (%f/sec)\n"
+msgstr " bajtov polucheno : %d (%f/sec)\n"
+
+msgid " packets received: %d (%f/sec)\n"
+msgstr " paketov polucheno: %d (%f/sec)\n"
+
+msgid "<** UDP Packet Code %x Len %x\n"
+msgstr "<** UDP Kod paketa %x dlina %x\n"
+
+msgid "Fallback to normal TCP receive"
+msgstr "Vozvrat k obychnomu priyomu TCP"
+
+msgid "Communication error joining game [No immediate respose]."
+msgstr "Oshibka ustanovki svyazi s igroj [net nemedlennogo otveta]"
+
+msgid "Server forced disconnection."
+msgstr "Prinuditel'noe otklyuchenie ot servera"
+
+msgid "Error: getsockname() failed, cannot get TCP port?"
+msgstr "Oshibka: neudacha getsockname(), ne mozhet poluchit' TCP port?"
+
+msgid "Network: Created local UDP downlink port {1}"
+msgstr "Set': Sozdan lokal'nij UDP port {1}"
+
+msgid "Error: Unable to set NonBlocking for UDP receive socket"
+msgstr "Oshibka: Ne poluchaetsya poluchit' neblokiruemvy soket UDP"
+
+msgid "Server got our UDP, using UDP to server"
+msgstr "Server poluchil vashe UDP, ispol'zuem server UDP"
+
+msgid "Got server's UDP packet back, server using UDP"
+msgstr "Ot servera poluchen otvet po UDP, ispol'zuem server UDP"
+
+msgid "Servers"
+msgstr "Servera"
+
+#######################
+## SERVER START MENU ##
+#######################
+
+msgid "Players"
+msgstr "Igroki"
+
+msgid "Red"
+msgstr "Krasnye"
+
+msgid "Green"
+msgstr "Zelyonye"
+
+msgid "Blue"
+msgstr "Sinie"
+
+msgid "Purple"
+msgstr "Purpurnye"
+
+msgid "Observers"
+msgstr "Nablyudateli"
+
+msgid "Press +/- add/remove favorites f - toggle view"
+msgstr "Nazhimajte +/- dlya dobavleniya-udaleniya favoritov f - tumbler obzora"
+
+msgid "Edit Filter:"
+msgstr "Fil'tr redaktirovaniya:"
+
+msgid "Press '/' to search"
+msgstr "Nazhmite '/' dlya poiska"
+
+msgid "Using filter:"
+msgstr "Ispol'zuemye fil'try:"
+
+msgid "{1} Shot"
+msgstr "{1} vystrel"
+
+msgid "{1} Shots"
+msgstr "{1} vystrely"
+
+msgid "Classic Capture-the-Flag"
+msgstr "Pogonya za flagom"
+
+msgid "Rabbit Chase"
+msgstr "Ohota na krolika"
+
+msgid "Open (Teamless) Free-For-All"
+msgstr "Otkrytaya komandnaya dlya vseh"
+
+msgid "Free-style"
+msgstr "Svobodnij stil'"
+
+msgid "Super Flags"
+msgstr "Super flagi"
+
+msgid "Antidote Flags"
+msgstr "Antidot flagi"
+
+msgid "{1} sec To Drop Bad Flag"
+msgstr "{1} sek do vybrosa fdaga"
+
+msgid "{1} secs To Drop Bad Flag"
+msgstr "{1} sek-d do vybrosa fdaga"
+
+msgid "{1} Win Drops Bad Flag"
+msgstr "{1} Pobeda dlya vybrosa flaga"
+
+msgid "{1} Wins Drops Bad Flag"
+msgstr "{1} Pobed dlya vybrosa flaga"
+
+msgid "Handicap"
+msgstr "Fora"
+
+msgid "Time limit: {1}"
+msgstr "Limit vremeni: {1}"
+
+msgid "Max team score: {1}"
+msgstr "Maksimal'nij schyot komandy: {1}"
+
+msgid "Max player score: {1}"
+msgstr "Vfrcbvfkmysq cx`n buhjrf"
+
+msgid "Cached"
+msgstr "Kesh"
+
+msgid "Searching"
+msgstr "Poisk"
+
+msgid "Favorite servers: {1}/{2} ({3} players, {4} observers)"
+msgstr "Vedu$ie servera: {1}/{2} ({3} igrokov, {4} nablyudatelej)"
+
+msgid "Servers found: {1}/{2} ({3} players, {4} observers)"
+msgstr "Serverov najdeno: {1}/{2} ({3} igrokov, {4} nablyudatelej) "
+
+msgid "Style:"
+msgstr "Stil'"
+
+msgid "Capture the Flag"
+msgstr "Zahvat flaga"
+
+msgid "Free for All"
+msgstr "Svobodnaya igra"
+
+msgid "Rabbit Hunt (Random Selection)"
+msgstr "Ohota na krolika (sluchajnij vybor)"
+
+msgid "Rabbit Hunt (Score-based Selection)"
+msgstr "Ohota na krolika (vybor po schyotu)"
+
+msgid "Rabbit Hunt (Killer Selection)"
+msgstr "Ohota na krolika (vybor ubijcy)"
+
+msgid "Max Players:"
+msgstr "Maks. Igrokov"
+
+msgid "Max Shots:"
+msgstr "Maksimum igrokov:"
+
+msgid "Teleporters:"
+msgstr "Teleorty"
+
+msgid "no"
+msgstr "net"
+
+msgid "yes"
+msgstr "da"
+
+msgid "Ricochet:"
+msgstr "Rikoshet"
+
+msgid "Jumping:"
+msgstr "Pryzhok"
+
+msgid "Handicap:"
+msgstr "Fora "
+
+msgid "Superflags:"
+msgstr "Super flag"
+
+msgid "good flags only"
+msgstr "tol'ko horoshie flagi"
+
+msgid "all flags"
+msgstr "vse flagi"
+
+msgid "Max Superflags:"
+msgstr "Maks Superflagov"
+
+msgid "Bad Flag Antidote:"
+msgstr "Antidoty plohih flagov"
+
+msgid "Bad Flag Time Limit:"
+msgstr "Vremya dejstviya plohogo flaga"
+
+msgid "no limit"
+msgstr "bez ogranicheniya"
+
+msgid "15 seconds"
+msgstr "15 sekund"
+
+msgid "30 seconds"
+msgstr "30 sekund"
+
+msgid "60 seconds"
+msgstr "60 sekund"
+
+msgid "180 seconds"
+msgstr "180 sekund"
+
+msgid "Bad Flag Win Limit:"
+msgstr "Chislo pobed dlya plogoho flaga"
+
+msgid "drop after 1 win"
+msgstr "Padaet posle odnoj pobedy"
+
+msgid "drop after 2 wins"
+msgstr "Padaet posle dvuh pobed"
+
+msgid "drop after 3 wins"
+msgstr "Padaet posle 3 pobed"
+
+msgid "Game Over:"
+msgstr "Okonchanie igry"
+
+msgid "never"
+msgstr "Nikogda"
+
+msgid "after 5 minutes"
+msgstr "Posle 5 minut"
+
+msgid "after 15 minutes"
+msgstr "Posle 15 minut"
+
+msgid "after 60 minutes"
+msgstr "Posle 60 minut"
+
+msgid "after 3 hours"
+msgstr "Posle 3-h chasov"
+
+msgid "when a player gets +3"
+msgstr "Kogda igrok poluchil +3"
+
+msgid "when a player gets +10"
+msgstr "Kogda igrok poluchil +10"
+
+msgid "when a player gets +25"
+msgstr "Kogda igrok poluchil +25"
+
+msgid "when a team gets +3"
+msgstr "Kogda komanda poluchila +3"
+
+msgid "when a team gets +10"
+msgstr "Kogda komanda poluchila +10"
+
+msgid "when a team gets +25"
+msgstr "Kogda komanda poluchila +25"
+
+msgid "when a team gets +100"
+msgstr "Kogda komanda poluchila +100"
+
+msgid "Server Reset:"
+msgstr "Perezagruzka servera"
+
+msgid "no, quit after game"
+msgstr "net, vyhod posle igry"
+
+msgid "yes, reset for more games"
+msgstr "da, perezagruzka igr"
+
+msgid "World Map:"
+msgstr "Karta Mira"
+
+msgid "random map"
+msgstr "Sluchajnaya karta"
+
+msgid "Start"
+msgstr "Start"
+
+msgid "Failed... can't find server program."
+msgstr "Neudacha... ne mogu najti programmu servera"
+
+msgid "Failed... server program is not executable."
+msgstr "Neudacha... programma servera neispolnyaemaya"
+
+msgid "Failed to start server (%s) - error %d.\n"
+msgstr "Neudacha zapuska servera (%s) - oshibka %d.\n"
+
+msgid "Server started."
+msgstr "Zapusk servera"
+
+msgid "Failed... cannot fork."
+msgstr "Nudacha... ne mogu vypolnit' fork."
+
+msgid "Failed (exit = %i)."
+msgstr "Neudacha (vyhod = %i)."
+
+msgid "Failed (signal = %i)."
+msgstr "Neudacha (signal = %i)."
+
+msgid "Failed."
+msgstr "Neudacha"
+
+msgid "localhost"
+msgstr "localhost"
+
+################
+## STATISTICS ##
+################
+
+msgid "Shot Statistics"
+msgstr "Statistika strel'by"
+
+msgid "Shots Hit/Fired"
+msgstr "Popadanij/Promah"
+
+msgid "Super"
+msgstr "Super"
+
+msgid "Shock"
+msgstr "Uzhas"
+
+msgid "Fave."
+msgstr "Libimye"
+
+msgid "Hit%"
+msgstr "Popadanij%"
+
+msgid "Total"
+msgstr "Ob$ee"
+
+msgid "Norm"
+msgstr "Obychnij"
+
+msgid "GM"
+msgstr "PTURS"
+
+msgid "Bullet"
+msgstr "Snaryad"
+
+msgid "Wave"
+msgstr "Volna"
+
+msgid "Flag"
+msgstr "Flag"
+
+#################
+## SILENCE KEY ##
+#################
+
+msgid "Silenced "
+msgstr "Priglushyonnij "
+
+msgid "Unsilenced "
+msgstr "Ne priglushyonnij "
+
+msgid "Unblocked Msgs"
+msgstr "Razblokirovannyh soob$enij"
+
+msgid "Silenced All Msgs"
+msgstr "Zaglushit' vse soob$eniya"
+
+msgid " Does not exist"
+msgstr "Ne su$estvuet"
+
+msgid "Silence -->"
+msgstr "Priglushit' -->"
+
+msgid "Un"
+msgstr "Pr"
+
+######################
+## PLAYING MESSAGES ##
+######################
+
+msgid "Got shot by "
+msgstr "Podstrelen ..."
+
+msgid "Got flattened by "
+msgstr "Razdvalen ..."
+
+msgid "Team flag was captured by "
+msgstr "Flag komandy zahvachen ..."
+
+msgid "Teammate hit with Genocide by "
+msgstr "Komandu ubil genocidom ..."
+
+msgid "Tank Self Destructed"
+msgstr "Samopodryv"
+
+msgid "Tank Rusted"
+msgstr "Tank Oslablen"
+
+msgid "Flags on field hidden, to show them "
+msgstr "Flagi skryty na pole, dlya prosmotra, "
+
+msgid "hit \""
+msgstr "nazhmite \""
+
+msgid " bind a key to Toggle Flags on Field"
+msgstr "knopku svyazannuyu s tumblerom pokaza flagov na pole"
+
+msgid "Flags on radar hidden, to show them "
+msgstr "Flagi na radare skryty, dlya prosmotra"
+
+msgid " bind a key to Toggle Flags on Radar"
+msgstr " nazhmite knopku svyazannuyu s tumlerom pokaza flagov na radare"
+
+msgid "To toggle the radar "
+msgstr "Tumbler radara"
+
+msgid " bind a key to Toggle Radar"
+msgstr " svyazan s knopkoj tublera radara"
+
+msgid "To toggle the console "
+msgstr "Dlya pereklyucheniya konsoli"
+
+msgid " bind a key to Toggle Console"
+msgstr " svyazhite knopku s tumblerom konsoli"
+
+msgid "ZSceneDatabase processed in %.3f seconds.\n"
+msgstr "ZSceneDatabase vypolnyaetsya za %.3f sekund.\n"
+
+msgid "BSPSceneDatabase processed in %.3f seconds.\n"
+msgstr "BSPSceneDatabase vypolnyaetsya za %.3f sekund.\n"
+
+msgid "Download stopped by user action"
+msgstr "Zagruzka ostanovlena dejstviyami pol'zovatelya"
+
+msgid "The tank's motion is now frozen! ... Press Shift+` to unfreeze"
+msgstr "Peredvizhenie tanka zamorozheno! ... Nazhmite Shift+` dlya razmorozki"
+
+msgid "Resumed"
+msgstr "Vosstanovlenie"
+
+msgid "There does not appear to be any key bound to enter the game"
+msgstr "Sdelat' vhod v igru po lyuboj knopke"
+
+msgid "Invalid player identification (%d)"
+msgstr "Nepravil'nij identifikator igroka (%d)"
+
+msgid "WARNING: invalid player identification when adding player with id "
+msgstr "WARNING:: nepravil'nij identifikator igroka pri dobavlenii igroka s id "
+
+msgid "Server error when adding player, player already added"
+msgstr "Oshibka servera pri dobavlenii igroka, takoj igrok uzhe dobavlen"
+
+msgid "WARNING: player already exists at location with id "
+msgstr "WARNING:: uzhe su$estvuet igrok v igre s id "
+
+msgid "joining as "
+msgstr "prisoedinyon kak"
+
+msgid "an observer"
+msgstr "nabldatel'"
+
+msgid "a tank"
+msgstr "tank"
+
+msgid "a robot tank"
+msgstr "tank-robot"
+
+msgid "an unknown type"
+msgstr "neizvestnogo tipa"
+
+msgid "IPINFO: "
+msgstr "IPINFO: "
+
+msgid "\t from: "
+msgstr "\t iz: "
+
+msgid "signing off"
+msgstr "zakanchivaetsya"
+
+msgid " from "
+msgstr " iz "
+
+msgid "(leave)"
+msgstr "(uroven')"
+
+msgid "World cache files disappeared. Join canceled"
+msgstr "Fajly kesha karty propali. Soedinenie prervano."
+
+msgid "Loading world into memory..."
+msgstr "Zagruzka karty v pamyat' ..."
+
+msgid "Error loading cached world. Join canceled"
+msgstr "Oshibka zagruzki kesha karty. Soedinenie prervano"
+
+msgid "Verifying world integrity..."
+msgstr "Proverka celostnosti karty..."
+
+msgid "Error on md5. Removing offending file."
+msgstr "Oshibka md5 summy. Udalenie oshibochnogo fajla."
+
+msgid "Preparing world..."
+msgstr "Nastrojka karty..."
+
+msgid "Error unpacking world database. Join canceled."
+msgstr "Oshibka raspakovki karty. Soedinenie prervano"
+
+msgid "Downloading files..."
+msgstr "Zagruzka fajlov..."
+
+msgid "Loading world from "
+msgstr "Otpravka karty na server iz "
+
+msgid "Download from URL failed"
+msgstr "Oshibka zagruzki s URL "
+
+msgid "Problem writing cache"
+msgstr "Problema zapisi kesh"
+
+msgid "Downloading World..."
+msgstr "Zagruzka karty..."
+
+msgid "Flags not supported by this client: {1}"
+msgstr "Flagi ne podderzhivayutsya etim klientom"
+
+msgid "Downloading World (%2d%% complete/%d kb remaining)..."
+msgstr "Zagruzka karty (%2d%% vyprolneno/%d kb ostalos')..."
+
+msgid "sorry, i'm just a silly machine"
+msgstr "Izvinite, ya prosto glupaya mashina"
+
+msgid "Closest Flag: "
+msgstr "Blizhajshij flag"
+
+msgid "Server forced a disconnect"
+msgstr "Server prinuditel'no razorval soedinenie"
+
+msgid "Requesting World Hash..."
+msgstr "Zapros Hesha karty..."
+
+msgid "Time Expired"
+msgstr "proshedshee vremya"
+
+msgid "Game Paused"
+msgstr "Igra priostanovlena"
+
+msgid "[unknown player]"
+msgstr "[neizvestnij igrok]"
+
+msgid " won the game"
+msgstr " vyigral igru"
+
+msgid "Roger taking controls"
+msgstr "Upravlyaet krolik Rojer"
+
+msgid "Roger releasing controls"
+msgstr "Krolik Rojer poteryal upravleie"
+
+msgid "has paused"
+msgstr "byla priostanovlena"
+
+ msgid "has unpaused"
+ msgstr "byla vozobnovlena"
+
+msgid "Don't kill teammates!!!"
+msgstr "Ne ubivajte svoih!!!"
+
+msgid "blew myself up"
+msgstr "vzorval sebya sam "
+
+msgid "destroyed by the server"
+msgstr "unichtozhen serverom"
+
+msgid "destroyed by a (GHOST)"
+msgstr "unichtozhen (GHOST)"
+
+msgid "fell in the water"
+msgstr "upal v vodu"
+
+msgid "Unknown Deadly Obstacle"
+msgstr "Neizvestnoe smertel'noe prpyadstvie"
+
+msgid "teammate "
+msgstr "igroki komandy"
+
+msgid "was fried by "
+msgstr "byl izzharen"
+
+msgid "'s laser"
+msgstr " lazerom"
+
+msgid "was destroyed by "
+msgstr "byl unichtozhen"
+
+msgid "'s guided missile"
+msgstr " raketoj (PTURS)"
+
+msgid "felt the effects of "
+msgstr "pochuchtvoval effekt"
+
+msgid "'s shockwave"
+msgstr " volny uzhasa"
+
+msgid "didn't see "
+msgstr "ne uvidel"
+
+msgid "'s bullet"
+msgstr " snaryad"
+
+msgid "was turned into swiss cheese by "
+msgstr "byl prevra$en v shvejcarskij syr po"
+
+msgid "'s machine gun"
+msgstr " skorostrel'noj pushkoj"
+
+msgid "got skewered by "
+msgstr "byl nanizan"
+
+msgid "'s super bullet"
+msgstr " na super snaryad"
+
+msgid "killed by "
+msgstr "ubit ..."
+
+msgid "Flag Alert!!!"
+msgstr "Trevoga Flag!!!"
+
+msgid "Team Grab!!!"
+msgstr "Zahvachen Komandoj!!!"
+
+msgid "grabbed "
+msgstr "zahvachen"
+
+msgid "took my flag into "
+msgstr "vzyal moj flag na "
+
+msgid " territory"
+msgstr " territorii"
+
+msgid "Don't capture your own flag!!!"
+msgstr "Ne hvatajte svoj flag!!!"
+
+msgid "captured "
+msgstr "zahvachen "
+
+msgid "'s flag"
+msgstr " flag"
+
+msgid "You are now the rabbit."
+msgstr "Teper' vy krolik."
+
+msgid "is now the rabbit"
+msgstr "teper' krolik ..."
+
+msgid "Received handicap update for unknown player!\n"
+msgstr "Poluchena fora dlya neizvestnogo igroka!\n"
+
+msgid "Received score update for unknown player!\n"
+msgstr "Poluchena obnovlyonnaya ocenka neizvestnogo igroka!\n"
+
+msgid "SERVER"
+msgstr "Server"
+
+msgid "(UNKNOWN)"
+msgstr "(Neizvesten)"
+
+msgid "Admin"
+msgstr "Admin"
+
+msgid "Ignored Msg"
+msgstr "Ignorirovanie soob$enij"
+
+msgid "[Admin] "
+msgstr "[Admin]"
+
+msgid "[to "
+msgstr "[ k"
+
+msgid "] "
+msgstr "] "
+
+msgid "[Team] "
+msgstr "[Komanda]"
+
+msgid "(join)"
+msgstr "(prmoedinenie)"
+
+msgid "Got custom flag type from server: %s\n"
+msgstr "Poluchit' osobij flag ot servera: %s\n"
+
+msgid "Paused"
+msgstr "Pauza"
+
+msgid "locked on me"
+msgstr "zahvachen na mne"
+
+msgid "Server communication error"
+msgstr "Oshibka sistemy soob$enij servera"
+
+msgid "Server BZDB change blocked: '%s' = '%s'\n"
+msgstr "Server BZDB izmenil blokirovku: '%s' = '%s'\n"
+
+msgid "dropped "
+msgstr "padenie "
+
+msgid " stole "
+msgstr " krazha"
+
+msgid "Killed by unknown obstacle"
+msgstr "Ubit neizvestnym prepyadstviem"
+
+msgid "Invalid reason"
+msgstr "Nepravil'naya prichina"
+
+msgid "Shot myself"
+msgstr "Zastrelil sebya"
+
+msgid "Killed by the server"
+msgstr "Ubityh serverom"
+
+msgid " with "
+msgstr " s "
+
+msgid "local collision with "
+msgstr " mestnyh kollizij s "
+
+msgid "Locked on "
+msgstr "Zahvachen "
+
+msgid ") with "
+msgstr ") c "
+
+msgid "'identify' disabled on this server"
+msgstr "'identifikaciya' zapre$ena na servere"
+
+msgid "Looking at a tank"
+msgstr "Glyadya na tank"
+
+msgid "Looking at "
+msgstr "Glyadya na "
+
+msgid "SPOTTED: "
+msgstr "SPOTTED:"
+
+msgid "Solo robots are prohibited on this server."
+msgstr "Roboty zapre$eny na servere"
+
+msgid "%s team was unavailable, you were joined "
+msgstr "%s komanda nedostupna v moment vashego prisoedineniya"
+
+msgid "as an Observer"
+msgstr "kak nablyudatel'"
+
+msgid "to the %s"
+msgstr "k %s"
+
+msgid "You were joined as an observer"
+msgstr "Vy prisoedinilis' kak nablyudatel'"
+
+msgid "You joined the %s"
+msgstr "Vy prisoedinilis' kak %s"
+
+msgid "You joined as a %s"
+msgstr "Vy prisoedinilis' kak %s"
+
+msgid "cleanWorldCache: removed %s\n"
+msgstr "cleanWorldCache: udaleno %s\n"
+
+msgid "id "
+msgstr "id"
+
+msgid "id test %p %p %p %8.8x %8.8x\n"
+msgstr "id test %p %p %p %8.8x %8.8x\n"
+
+msgid "Server not found"
+msgstr "Server ne najden"
+
+msgid "Server Access Denied Locally"
+msgstr "Dostup k serveru zapre$yon lokal'no"
+
+msgid "server access is controlled by "
+msgstr "dostup k serveru kontroliruetsya"
+
+msgid "Memory error"
+msgstr "Oshibka pamyati"
+
+msgid "Incompatible server version XXXXXXXX"
+msgstr "Nesovmestimaya versiya servera XXXXXXXX"
+
+msgid "You have been banned from this server"
+msgstr "Vy byli zayuaneny na etom servere"
+
+msgid "You have been banned from this server:"
+msgstr "Vy byli zayuaneny na servere:"
+
+msgid "Game is full or over. Try again later."
+msgstr "Igra polnost'yu zanyata ili okonchena. Prihodite popozzhe."
+
+msgid "Error connecting to server."
+msgstr "Oshibka soedineniya s serverom."
+
+msgid "Cannot connect to full version server."
+msgstr "Ne udayotsya podklyuchit'sya k polnoj verss servera."
+
+msgid "Internal error connecting to server (error code %d)."
+msgstr "Vneshnyaya oshibka soedineniya s serverom (oshibka nomer %d)."
+
+msgid "No UDP connection, see Options to enable."
+msgstr "Net UDP soedineniya, prover'te razreshyonnye parametry."
+
+msgid "Connection Established..."
+msgstr "Podklyuchenie..."
+
+msgid "Entering game..."
+msgstr "Vhod v igru..."
+
+msgid "Disabled stencilShadows for interlaced mode"
+msgstr "StencilShadows zapre$yon dlya cherezstrochnogo rezhima"
+
+msgid "Can't pause while inside a building"
+msgstr "Nel'zya delat' pauzu vnutri sooruzhenij"
+
+msgid "Can't pause when you are in the air"
+msgstr "Nel'zya delat' pauzu v vozduhe"
+
+msgid "Unable to pause right now"
+msgstr "Mozhete sdelat' pauzu prya sejchas"
+
+msgid "Can't pause when you are in the phantom zone"
+msgstr "Nel'zya delat' pauzu v fantomnoj zone"
+
+msgid "Pausing in %d"
+msgstr "Paza v %d"
+
+msgid "Self Destructing in %d"
+msgstr "Samounichtozhenij %d"
+
+msgid "Server has unexpectedly disconnected"
+msgstr "Server byl neozhidano otklyuchen"
+
+msgid "okay"
+msgstr "horosho"
+
+msgid " full quality"
+msgstr " polnoe kachestvo"
+
+msgid " Stipple Shadows"
+msgstr " Punktirnye teni"
+
+msgid " no Blend"
+msgstr " bez smeshivaniya"
+
+msgid " lowest quality"
+msgstr " nizshee kachestvo"
+
+msgid "testing performance; please wait..."
+msgstr "proverka bystrodejstviya, pozhalujsta podozhdite..."
+
+msgid "explode%d"
+msgstr "vzorvat'sya %d"
+
+msgid "BZFlag version: %s\n"
+msgstr "BZFlag versiya: %s\n"
+
+msgid "BZFlag protocol: %s\n"
+msgstr "Protokol BZFlag: %s\n"
+
+msgid "OpenGL vendor: %s\n"
+msgstr "Proizvoditel' OpenGL: %s\n"
+
+msgid "OpenGL version: %s\n"
+msgstr "Versiya OpenGL: %s\n"
+
+msgid "OpenGL renderer: %s\n"
+msgstr "Rendering OpenGL: %s\n"
+
+msgid "Depth Buffer: %i bitplanes\n"
+msgstr "Glubina bufera: %i bitplanes\n"
+
+msgid "Running on Windows %s%d.%d %s\n"
+msgstr "Rabotaet v oknah %s%d.%d %s\n"
+
+#msgid "This release will expire on %s"
+#msgstr ""
+
+msgid "BZFlag version: "
+msgstr "Versiya BZFlag: "
+
+msgid "Distributed under the terms of the LGPL"
+msgstr "Vypu$eno pod licezieny LGPL"
+
+# msgid "Author: Chris Schoeneman <crs23 at bigfoot.com>"
+# msgstr ""
+
+# msgid "Maintainer: Tim Riker <Tim at Rikers.org>"
+# msgstr ""
+
+msgid "Audio Driver: "
+msgstr "Drajver zvuka: "
+
+msgid "OpenGL Driver: "
+msgstr "Drajver OpenGL: "
+
+msgid " Silenced"
+msgstr " Zvuk priglushen"
diff --git a/data/title.png b/data/title.png
index 0aeee66..acb907b 100644
Binary files a/data/title.png and b/data/title.png differ
diff --git a/misc/art/title.psd b/misc/art/title.psd
index 7eb59f6..25d3a2d 100644
Binary files a/misc/art/title.psd and b/misc/art/title.psd differ
diff --git a/package/Makefile.am b/package/Makefile.am
index c6177b6..66094c1 100644
--- a/package/Makefile.am
+++ b/package/Makefile.am
@@ -19,14 +19,9 @@ MKDIR = /usr/bin/mkdir
RM = /usr/bin/rm -f
CD = cd
else
-if MACOS
-MKDIR = /bin/mkdir
-RM = /bin/rm
-else
MKDIR = mkdir
RM = rm -f
endif
-endif
RMR = $(RM) -r
endif
diff --git a/package/win32/nsis/BZFlag.nsi b/package/win32/nsis/BZFlag.nsi
index e033fbb..634c785 100644
--- a/package/win32/nsis/BZFlag.nsi
+++ b/package/win32/nsis/BZFlag.nsi
@@ -7,7 +7,7 @@
!define VER_MAJOR 2
!define VER_MINOR 4
- !define VER_REVISION 6
+ !define VER_REVISION 8
!define TYPE "release"
;!define TYPE "alpha"
diff --git a/plugins/plugin_utils/plugin_utils.vcxproj b/plugins/plugin_utils/plugin_utils.vcxproj
index be1dda3..424411c 100644
--- a/plugins/plugin_utils/plugin_utils.vcxproj
+++ b/plugins/plugin_utils/plugin_utils.vcxproj
@@ -74,7 +74,7 @@
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<Optimization>Disabled</Optimization>
- <AdditionalIncludeDirectories>$(ProjectDir)\..\..\include\;$(ProjectDir)\..\plugin_utils\;$(BZAPI_INC_DIR)\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <AdditionalIncludeDirectories>.\;..\..\include\;$(BZAPI_INC_DIR)\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_DEBUG;_LIB; _CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MinimalRebuild>true</MinimalRebuild>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
diff --git a/src/bzadmin/BZAdminClient.cxx b/src/bzadmin/BZAdminClient.cxx
index 5e57564..27362a3 100644
--- a/src/bzadmin/BZAdminClient.cxx
+++ b/src/bzadmin/BZAdminClient.cxx
@@ -19,6 +19,8 @@
#else
# include <math.h>
#endif
+#include <stdio.h>
+#include <string.h>
#include <iostream>
#include <sstream>
@@ -31,6 +33,7 @@
#include "ServerList.h"
#include "ErrorHandler.h"
#include "cURLManager.h"
+#include "TimeKeeper.h"
StartupInfo startupInfo;
diff --git a/src/bzadmin/Makefile.am b/src/bzadmin/Makefile.am
index 96dd230..f526975 100644
--- a/src/bzadmin/Makefile.am
+++ b/src/bzadmin/Makefile.am
@@ -17,7 +17,6 @@ endif
AM_CPPFLAGS = \
-DBUILDING_BZADMIN \
- -I$(top_srcdir)/src/bzflag \
$(LIBCURL_CPPFLAGS) \
$(CONF_CPPFLAGS) \
-I$(top_srcdir)/include
@@ -35,7 +34,8 @@ bzadmin_SOURCES = \
OptionParser.h \
OptionParser.cxx \
PlayerInfo.h \
- $(top_srcdir)/src/bzflag/ServerLink.cxx \
+ ServerLink.h \
+ ServerLink.cxx \
StdBothUI.h \
StdBothUI.cxx \
StdInUI.h \
diff --git a/src/bzflag/ServerLink.cxx b/src/bzadmin/ServerLink.cxx
similarity index 77%
copy from src/bzflag/ServerLink.cxx
copy to src/bzadmin/ServerLink.cxx
index e7a9f6a..3e3bd98 100644
--- a/src/bzflag/ServerLink.cxx
+++ b/src/bzadmin/ServerLink.cxx
@@ -668,207 +668,6 @@ bool ServerLink::readEnter (std::string& reason,
return true;
}
-void ServerLink::sendCaptureFlag(TeamColor team)
-{
- char msg[2];
- nboPackUShort(msg, uint16_t(team));
- send(MsgCaptureFlag, sizeof(msg), msg);
-}
-
-void ServerLink::sendGrabFlag(int flagIndex)
-{
- char msg[2];
- nboPackUShort(msg, uint16_t(flagIndex));
- send(MsgGrabFlag, sizeof(msg), msg);
-}
-
-void ServerLink::sendDropFlag(const float* position)
-{
- char msg[12];
- void* buf = msg;
- buf = nboPackVector(buf, position);
- send(MsgDropFlag, sizeof(msg), msg);
-}
-
-void ServerLink::sendKilled(const PlayerId& killer,
- int reason, int shotId,
- const FlagType* flagType,
- int phydrv)
-{
- char msg[PlayerIdPLen + 2 + 2 + FlagPackSize + 4];
- void* buf = msg;
-
- buf = nboPackUByte(buf, killer);
- buf = nboPackUShort(buf, int16_t(reason));
- buf = nboPackShort(buf, int16_t(shotId));
- buf = flagType->pack(buf);
-
- if (reason == PhysicsDriverDeath) {
- buf = nboPackInt(buf, phydrv);
- }
-
- send(MsgKilled, (char*)buf - (char*)msg, msg);
-}
-
-
-#ifndef BUILDING_BZADMIN
-void ServerLink::sendPlayerUpdate(Player* player)
-{
- char msg[PlayerUpdatePLenMax];
- // Send the time frozen at each start of scene iteration, as all
- // dead reckoning use that
- const float timeStamp = float(TimeKeeper::getTick() - TimeKeeper::getNullTime());
- void* buf = msg;
- uint16_t code;
- buf = nboPackFloat(buf, timeStamp);
- buf = nboPackUByte(buf, player->getId());
-
- // code will be MsgPlayerUpdate or MsgPlayerUpdateSmall
- buf = player->pack(buf, code);
-
- // variable length
- const int len = (char*)buf - (char*)msg;
-
- send(code, len, msg);
-}
-#endif
-
-void ServerLink::sendBeginShot(const FiringInfo& info)
-{
- char msg[FiringInfoPLen];
- void* buf = msg;
- buf = info.pack(buf);
- send(MsgShotBegin, sizeof(msg), msg);
-}
-
-void ServerLink::sendEndShot(const PlayerId& source,
- int shotId, int reason)
-{
- char msg[PlayerIdPLen + 4];
- void* buf = msg;
- buf = nboPackUByte(buf, source);
- buf = nboPackShort(buf, int16_t(shotId));
- buf = nboPackUShort(buf, uint16_t(reason));
- send(MsgShotEnd, sizeof(msg), msg);
-}
-
-void ServerLink::sendAlive()
-{
- send(MsgAlive, 0, NULL);
-}
-
-void ServerLink::sendTeleport(int from, int to)
-{
- char msg[4];
- void* buf = msg;
- buf = nboPackUShort(buf, uint16_t(from));
- buf = nboPackUShort(buf, uint16_t(to));
- send(MsgTeleport, sizeof(msg), msg);
-}
-
-void ServerLink::sendTransferFlag(const PlayerId& from, const PlayerId& to)
-{
- char msg[PlayerIdPLen*2];
- void* buf = msg;
- buf = nboPackUByte(buf, from);
- buf = nboPackUByte(buf, to);
- send(MsgTransferFlag, sizeof(msg), msg);
-}
-
-void ServerLink::sendNewRabbit()
-{
- send(MsgNewRabbit, 0, NULL);
-}
-
-void ServerLink::sendPaused(bool paused)
-{
- uint8_t p = paused;
- send(MsgPause, 1, &p);
-}
-
-void ServerLink::sendAutoPilot(bool autopilot)
-{
- uint8_t p = autopilot;
- send(MsgAutoPilot, 1, &p);
-}
-
-void ServerLink::sendUDPlinkRequest()
-{
- if ((server_abilities & CanDoUDP) != CanDoUDP)
- return; // server does not support udp (future list server test)
-
- char msg[1];
- unsigned short localPort;
- void* buf = msg;
-
- struct sockaddr_in serv_addr;
-
- if ((urecvfd = socket(AF_INET, SOCK_DGRAM, 0)) < 0) {
- return; // we cannot comply
- }
-#if 1
- AddrLen addr_len = sizeof(serv_addr);
- if (getsockname(fd, (struct sockaddr*)&serv_addr, (socklen_t*) &addr_len) < 0) {
- printError("Error: getsockname() failed, cannot get TCP port?");
- return;
- }
- if (bind(urecvfd, (struct sockaddr *) &serv_addr, sizeof(serv_addr)) != 0) {
- printError("Error: getsockname() failed, cannot get TCP port?");
- return; // we cannot get udp connection, bail out
- }
-
-#else
- // TODO if nobody complains kill this old port 17200 code
- for (int port=17200; port < 65000; port++) {
- ::memset((unsigned char *)&serv_addr, 0, sizeof(serv_addr));
- serv_addr.sin_family = AF_INET;
- serv_addr.sin_addr.s_addr = htonl(INADDR_ANY);
- serv_addr.sin_port = htons(port);
- if (bind(urecvfd, (struct sockaddr *) &serv_addr, sizeof(serv_addr)) == 0) {
- break;
- }
- }
-#endif
- localPort = ntohs(serv_addr.sin_port);
- memcpy((char *)&urecvaddr,(char *)&serv_addr, sizeof(serv_addr));
-
- if (debugLevel >= 1) {
- std::vector<std::string> args;
- char lps[10];
- sprintf(lps, "%d", localPort);
- args.push_back(lps);
- printError("Network: Created local UDP downlink port {1}", &args);
- }
-
- buf = nboPackUByte(buf, id);
-
- if (BzfNetwork::setNonBlocking(urecvfd) < 0) {
- printError("Error: Unable to set NonBlocking for UDP receive socket");
- }
-
- send(MsgUDPLinkRequest, sizeof(msg), msg);
-}
-
-// heard back from server that we can send udp
-void ServerLink::enableOutboundUDP()
-{
- ulinkup = true;
- if (debugLevel >= 1)
- printError("Server got our UDP, using UDP to server");
-}
-// confirm that server can send us UDP
-void ServerLink::confirmIncomingUDP()
-{
- // This is really a hack. enableOutboundUDP will be setting this
- // but frequently the udp handshake will finish first so might as
- // well start with udp as soon as we can
- ulinkup = true;
-
- if (debugLevel >= 1)
- printError("Got server's UDP packet back, server using UDP");
- send(MsgUDPLinkEstablished, 0, NULL);
-}
-
// Local Variables: ***
// mode:C++ ***
// tab-width: 8 ***
diff --git a/src/bzflag/ServerLink.h b/src/bzadmin/ServerLink.h
similarity index 77%
copy from src/bzflag/ServerLink.h
copy to src/bzadmin/ServerLink.h
index ed985ca..d8cc591 100644
--- a/src/bzflag/ServerLink.h
+++ b/src/bzadmin/ServerLink.h
@@ -24,7 +24,6 @@
#include "global.h"
#include "Address.h"
#include "Protocol.h"
-#include "ShotPath.h"
#include "Flag.h"
class ServerLink {
@@ -67,26 +66,6 @@ class ServerLink {
bool readEnter(std::string& reason,
uint16_t& code, uint16_t& rejcode);
- void sendCaptureFlag(TeamColor);
- void sendGrabFlag(int flagIndex);
- void sendDropFlag(const float* position);
- void sendKilled(const PlayerId&, int reason,
- int shotId, const FlagType* flag, int phydrv);
- // FIXME -- This is very ugly, but required to build bzadmin with gcc 2.9.5.
- // It should be changed to something cleaner.
-#ifndef BUILDING_BZADMIN
- void sendPlayerUpdate(Player*);
-#endif
- void sendBeginShot(const FiringInfo&);
- void sendEndShot(const PlayerId&, int shotId, int reason);
- void sendAlive();
- void sendTeleport(int from, int to);
- void sendTransferFlag(const PlayerId&, const PlayerId&);
- void sendNewRabbit();
- void sendPaused(bool paused);
- void sendAutoPilot(bool autopilot);
- void sendUDPlinkRequest();
-
static ServerLink* getServer(); // const
static void setServer(ServerLink*);
void enableOutboundUDP();
diff --git a/src/bzadmin/bzadmin.cxx b/src/bzadmin/bzadmin.cxx
index 47126e6..d5e8abc 100644
--- a/src/bzadmin/bzadmin.cxx
+++ b/src/bzadmin/bzadmin.cxx
@@ -35,11 +35,6 @@
int debugLevel = 0;
-#ifdef _WIN32
-void Player::setDeadReckoning()
-{
-}
-#endif
/** @file
This is the main file for bzadmin, the bzflag text client.
*/
diff --git a/src/bzflag/ControlPanel.cxx b/src/bzflag/ControlPanel.cxx
index 2cd2c35..d1cf798 100644
--- a/src/bzflag/ControlPanel.cxx
+++ b/src/bzflag/ControlPanel.cxx
@@ -88,6 +88,7 @@ void ControlPanelMessage::breakLines(float maxLength, int fontFace, float fontSi
// in order for the new font engine to draw successive lines in the right
// color, it needs to be fed the right ansi codes at the beginning of each
// line.
+ std::string previousANSICodes = "";
std::string cumulativeANSICodes = "";
// break lines
@@ -102,7 +103,7 @@ void ControlPanelMessage::breakLines(float maxLength, int fontFace, float fontSi
} else {
n = 0;
while ((n < lineLen) &&
- (fm.getStrLength(fontFace, fontSize, std::string(msg, n+1)) < maxLength)) {
+ (fm.getStrLength(fontFace, fontSize, std::string(msg, n)) < maxLength)) {
if (msg[n] == ESC_CHAR) {
// clear the cumulative codes when we hit a reset
// the reset itself will start the new cumulative string.
@@ -143,7 +144,10 @@ void ControlPanelMessage::breakLines(float maxLength, int fontFace, float fontSi
n = lastWhitespace;
// message
- lines.push_back(cumulativeANSICodes + std::string(msg,n));
+ lines.push_back(previousANSICodes + std::string(msg,n));
+
+ // Store cumulative ANSI codes to be prepended to the next line
+ previousANSICodes = cumulativeANSICodes;
if (msg[n] != '\t')
numlines++;
diff --git a/src/bzflag/Makefile.am b/src/bzflag/Makefile.am
index 6cd8acd..c23fd8b 100644
--- a/src/bzflag/Makefile.am
+++ b/src/bzflag/Makefile.am
@@ -196,17 +196,11 @@ else
RESOURCE =
endif
-if MACOS
-NACLIB = \
- ../platform/MacOSX/libMac.la
-endif
-
LDADD = \
../3D/lib3D.la \
../game/libGame.la \
../net/libNet.la \
../obstacle/libObstacle.la \
- $(NACLIB) \
../platform/libPlatform.la \
../ogl/libGLKit.la \
../scene/libSceneDB.la \
diff --git a/src/bzflag/ServerLink.cxx b/src/bzflag/ServerLink.cxx
index e7a9f6a..cf7c888 100644
--- a/src/bzflag/ServerLink.cxx
+++ b/src/bzflag/ServerLink.cxx
@@ -711,7 +711,6 @@ void ServerLink::sendKilled(const PlayerId& killer,
}
-#ifndef BUILDING_BZADMIN
void ServerLink::sendPlayerUpdate(Player* player)
{
char msg[PlayerUpdatePLenMax];
@@ -731,7 +730,6 @@ void ServerLink::sendPlayerUpdate(Player* player)
send(code, len, msg);
}
-#endif
void ServerLink::sendBeginShot(const FiringInfo& info)
{
diff --git a/src/bzflag/ServerLink.h b/src/bzflag/ServerLink.h
index ed985ca..6f06cb7 100644
--- a/src/bzflag/ServerLink.h
+++ b/src/bzflag/ServerLink.h
@@ -74,9 +74,7 @@ class ServerLink {
int shotId, const FlagType* flag, int phydrv);
// FIXME -- This is very ugly, but required to build bzadmin with gcc 2.9.5.
// It should be changed to something cleaner.
-#ifndef BUILDING_BZADMIN
void sendPlayerUpdate(Player*);
-#endif
void sendBeginShot(const FiringInfo&);
void sendEndShot(const PlayerId&, int shotId, int reason);
void sendAlive();
diff --git a/src/bzflag/ServerMenu.cxx b/src/bzflag/ServerMenu.cxx
index 2dff991..30b53c2 100644
--- a/src/bzflag/ServerMenu.cxx
+++ b/src/bzflag/ServerMenu.cxx
@@ -610,7 +610,7 @@ void ServerMenu::pick()
&dropArgs);
}
else {
- ((HUDuiLabel*)listHUD[13])->setString("");
+ ((HUDuiLabel*)listHUD[12])->setString("");
}
if ((ping.gameOptions & ShakableGameStyle) && ping.shakeWins != 0) {
@@ -626,6 +626,12 @@ void ServerMenu::pick()
&dropArgs);
}
else {
+ ((HUDuiLabel*)listHUD[12])->setString("");
+ }
+
+ if (ping.gameOptions & NoTeamKillsGameStyle) {
+ ((HUDuiLabel*)listHUD[13])->setString("No Teamkills");
+ } else {
((HUDuiLabel*)listHUD[13])->setString("");
}
diff --git a/src/bzflag/bzflag.cxx b/src/bzflag/bzflag.cxx
index 4140c3f..e226596 100644
--- a/src/bzflag/bzflag.cxx
+++ b/src/bzflag/bzflag.cxx
@@ -712,33 +712,6 @@ int main(int argc, char** argv)
exit(0);
}
-#if defined(_WIN32)
- {
- /* write HKEY_CURRENT_USER\Software\BZFlag\CurrentRunningPath with the
- * current path. this lets Xfire know that this bzflag.exe running from
- * here really is bzflag, not some imposter.
- * since it may be useful to someone else, it's not protected by USE_XFIRE
- */
-
- // get our path
- char temppath[MAX_PATH], temppath2[MAX_PATH];
- char tempdrive[10];
- GetModuleFileName(NULL, temppath, MAX_PATH);
- // strip filename/extension
- _splitpath(temppath, tempdrive, temppath2, NULL, NULL);
- _makepath(temppath, tempdrive, temppath2, NULL, NULL);
-
- // write the registry key in question
- HKEY key = NULL;
- if (RegCreateKeyEx(HKEY_CURRENT_USER, "Software\\BZFlag",
- 0, NULL, REG_OPTION_VOLATILE, KEY_ALL_ACCESS, NULL,
- &key, NULL) == ERROR_SUCCESS) {
- RegSetValueEx(key, "CurrentRunningPath", 0, REG_SZ, (LPBYTE)temppath,
- (DWORD)strlen(temppath));
- }
- }
-#endif
-
createCacheSignature();
// initialize global objects and classes
@@ -1385,18 +1358,6 @@ int main(int argc, char** argv)
delete bm;
Flags::kill();
-#if defined(_WIN32)
- {
- /* clear HKEY_CURRENT_USER\Software\BZFlag\CurrentRunningPath if it
- * exists */
- HKEY key = NULL;
- if (RegOpenKeyEx(HKEY_CURRENT_USER, "Software\\BZFlag",
- 0, KEY_ALL_ACCESS, &key) == ERROR_SUCCESS) {
- RegSetValueEx(key, "CurrentRunningPath", 0, REG_SZ, (LPBYTE)"\0", 1);
- }
- }
-#endif
-
#ifdef _WIN32
// clean up
WSACleanup();
diff --git a/src/bzflag/playing.cxx b/src/bzflag/playing.cxx
index 00cf2b9..007c278 100644
--- a/src/bzflag/playing.cxx
+++ b/src/bzflag/playing.cxx
@@ -2279,10 +2279,12 @@ static void handleServerMessage(bool human, uint16_t code,
addMessage(victimPlayer, message);
}
else if (killer >= LastRealPlayer) {
- addMessage(victimPlayer, "destroyed by the server");
+ message += "destroyed by the server";
+ addMessage(victimPlayer, message);
}
else if (!killerPlayer) {
- addMessage(victimPlayer, "destroyed by a (GHOST)");
+ message += "destroyed by a (GHOST)";
+ addMessage(victimPlayer, message);
}
else if (reason == WaterDeath) {
message += "fell in the water";
@@ -6767,35 +6769,35 @@ static void playingLoop()
float fpsLimit = BZDB.eval("fpsLimit");
if (fpsLimit < 15 || isnan(fpsLimit))
fpsLimit = 15;
- TimeKeeper nextTime(lastTime);
- nextTime += 1.0f / fpsLimit;
- float remaining;
- while (1) {
- remaining = (float)(nextTime - TimeKeeper::getCurrent());
- if (remaining > 1.0f)
- break;
- if (remaining <= 0.0f)
- break;
- // Instead of sleeping try to handle network packets
- char msg[MaxPacketLen];
- uint16_t code, len;
-
- // handle server messages
- if (serverLink && !serverError) {
- int e = 0;
- e = serverLink->read(code, len, msg, int(remaining * 1000.0f));
- if (e == 1)
- handleServerMessage(true, code, len, msg);
- if (e == -2) {
- printError("Server communication error");
- serverError = true;
- break;
- }
- } else {
- TimeKeeper::sleep(remaining);
+ TimeKeeper nextTime(lastTime);
+ nextTime += 1.0f / fpsLimit;
+ float remaining;
+ while (1) {
+ remaining = (float)(nextTime - TimeKeeper::getCurrent());
+ if (remaining > 1.0f)
+ break;
+ if (remaining <= 0.0f)
+ break;
+ // Instead of sleeping try to handle network packets
+ char msg[MaxPacketLen];
+ uint16_t code, len;
+
+ // handle server messages
+ if (serverLink && !serverError) {
+ int e = 0;
+ e = serverLink->read(code, len, msg, int(remaining * 1000.0f));
+ if (e == 1)
+ handleServerMessage(true, code, len, msg);
+ if (e == -2) {
+ printError("Server communication error");
+ serverError = true;
break;
}
+ } else {
+ TimeKeeper::sleep(remaining);
+ break;
}
+ }
lastTime = TimeKeeper::getCurrent();
} // end energy saver check
diff --git a/src/bzflag/sound.cxx b/src/bzflag/sound.cxx
index 1aef1a4..b9ba79b 100644
--- a/src/bzflag/sound.cxx
+++ b/src/bzflag/sound.cxx
@@ -1089,7 +1089,9 @@ static bool audioInnerLoop()
break;
case SoundCommand::SET_VOL:
- volumeAtten = 0.2f * cmd.code;
+ // The provided volume value is multiplied by itself to compensate for
+ // human hearing
+ volumeAtten = 0.02f * cmd.code * cmd.code;
if (volumeAtten <= 0.0f) {
mutingOn = true;
volumeAtten = 0.0f;
diff --git a/src/bzfs/AccessControlList.cxx b/src/bzfs/AccessControlList.cxx
index b082a80..0652376 100644
--- a/src/bzfs/AccessControlList.cxx
+++ b/src/bzfs/AccessControlList.cxx
@@ -34,10 +34,8 @@
#include "TimeKeeper.h"
#include "TextUtils.h"
-#if !defined(CPPUTEST)
// bzfs specific headers
#include "bzfs.h"
-#endif // CPPUTEST
void AccessControlList::ban(in_addr &ipAddr, const char *bannedBy, int period,
@@ -291,7 +289,6 @@ std::string AccessControlList::getBanMaskString(in_addr mask, unsigned char cidr
}
-#if !defined(CPPUTEST)
void AccessControlList::sendBan(PlayerId id, const BanInfo &baninfo)
{
std::ostringstream os;
@@ -306,7 +303,7 @@ void AccessControlList::sendBan(PlayerId id, const BanInfo &baninfo)
os << " (m)";
if (baninfo.bannedBy.length())
os << " banned by: " << baninfo.bannedBy;
- bz_sendTextMessage(BZ_SERVER, id, os.str().c_str());
+ bz_sendTextMessage(BZ_SERVER, id, os.str().c_str());
// add reason, if any
if (baninfo.reason.size()) {
@@ -743,7 +740,6 @@ std::vector<std::pair<std::string, std::string> > AccessControlList::listMasterB
return bans;
}
-#endif
bool AccessControlList::convert(std::string ip, in_addr &mask, unsigned char &_cidr) {
std::vector<std::string> ipParts;
diff --git a/src/bzfs/CmdLineOptions.cxx b/src/bzfs/CmdLineOptions.cxx
index 9065090..ebeed61 100644
--- a/src/bzfs/CmdLineOptions.cxx
+++ b/src/bzfs/CmdLineOptions.cxx
@@ -612,14 +612,17 @@ void parse(int argc, char **argv, CmdLineOptions &options, bool fromWorldFile)
options.randomBoxes = true;
}
else if (strcmp(argv[i], "-badwords") == 0) {
+ checkFromWorldFile(argv[i], fromWorldFile);
checkArgc(1, i, argc, argv[i]);
options.filterFilename = argv[i];
}
else if (strcmp(argv[i], "-ban") == 0) {
+ checkFromWorldFile(argv[i], fromWorldFile);
checkArgc(1, i, argc, argv[i]);
options.acl.ban(argv[i]);
}
else if (strcmp(argv[i], "-banfile") == 0) {
+ checkFromWorldFile(argv[i], fromWorldFile);
checkArgc(1, i, argc, argv[i]);
options.acl.setBanFile(argv[i]);
if (!options.acl.load()) {
@@ -636,10 +639,12 @@ void parse(int argc, char **argv, CmdLineOptions &options, bool fromWorldFile)
options.gameType = ClassicCTF;
}
else if (strcmp(argv[i], "-cache") == 0) {
+ checkFromWorldFile(argv[i], fromWorldFile);
checkArgc(1, i, argc, argv[i]);
options.cacheURL = argv[i];
}
else if (strcmp(argv[i], "-cacheout") == 0) {
+ checkFromWorldFile(argv[i], fromWorldFile);
checkArgc(1, i, argc, argv[i]);
options.cacheOut = argv[i];
}
@@ -680,6 +685,7 @@ void parse(int argc, char **argv, CmdLineOptions &options, bool fromWorldFile)
BZDB.set(StateDatabase::BZDB_DISABLEBOTS, "true");
}
else if (strncmp(argv[i], "-d", 2) == 0) {
+ checkFromWorldFile(argv[i], fromWorldFile);
// increase debug level - this must be the last
// option beginning with -d so that -dd, -ddd, etc. work
const char num = argv[i][2];
@@ -715,12 +721,15 @@ void parse(int argc, char **argv, CmdLineOptions &options, bool fromWorldFile)
options.flagsOnBuildings = true;
}
else if (strcmp(argv[i], "-filterCallsigns") == 0) {
+ checkFromWorldFile(argv[i], fromWorldFile);
options.filterCallsigns = true;
}
else if (strcmp(argv[i], "-filterChat") == 0) {
+ checkFromWorldFile(argv[i], fromWorldFile);
options.filterChat = true;
}
else if (strcmp(argv[i], "-filterSimple") == 0) {
+ checkFromWorldFile(argv[i], fromWorldFile);
options.filterSimple = true;
}
else if (strcmp(argv[i], "-g") == 0) {
@@ -734,6 +743,7 @@ void parse(int argc, char **argv, CmdLineOptions &options, bool fromWorldFile)
MATERIALMGR.addMaterial(&material);
}
else if (strcmp(argv[i], "-groupdb") == 0) {
+ checkFromWorldFile(argv[i], fromWorldFile);
checkArgc(1, i, argc, argv[i]);
groupsFile = argv[i];
logDebugMessage(1,"using group file \"%s\"\n", argv[i]);
@@ -756,6 +766,7 @@ void parse(int argc, char **argv, CmdLineOptions &options, bool fromWorldFile)
i++;
}
else if (strcmp(argv[i], "-i") == 0) {
+ checkFromWorldFile(argv[i], fromWorldFile);
// use a different interface
checkArgc(1, i, argc, argv[i]);
options.pingInterface = argv[i];
@@ -846,6 +857,7 @@ void parse(int argc, char **argv, CmdLineOptions &options, bool fromWorldFile)
}
}
else if (strcmp(argv[i],"-noMasterBanlist") == 0){
+ checkFromWorldFile(argv[i], fromWorldFile);
options.suppressMasterBanList = true;
}
else if (strcmp(argv[i],"-noradar") == 0){
@@ -855,6 +867,7 @@ void parse(int argc, char **argv, CmdLineOptions &options, bool fromWorldFile)
/* if this is the first master ban url, override the default
* list. otherwise just keep adding urls.
*/
+ checkFromWorldFile(argv[i], fromWorldFile);
if (!options.masterBanListOverridden) {
options.masterBanListURL.clear();
options.masterBanListOverridden = true;
@@ -895,6 +908,7 @@ void parse(int argc, char **argv, CmdLineOptions &options, bool fromWorldFile)
memset(argv[i], 'X', options.password.size());
}
else if (strcmp(argv[i], "-pidfile") == 0) {
+ checkFromWorldFile(argv[i], fromWorldFile);
unsigned int pid = 0;
checkArgc(1, i, argc, argv[i]);
FILE *fp = fopen(argv[i], "wt");
@@ -908,11 +922,6 @@ void parse(int argc, char **argv, CmdLineOptions &options, bool fromWorldFile)
fclose(fp);
}
}
- else if (strcmp(argv[i], "-pf") == 0) {
- // try wksPort first and if we can't open that port then
- // let system assign a port for us.
- options.useFallbackPort = true;
- }
else if (strcmp(argv[i], "-poll") == 0) {
// parse the variety of poll system variables
checkArgc(1, i, argc, argv[i]);
@@ -964,11 +973,11 @@ void parse(int argc, char **argv, CmdLineOptions &options, bool fromWorldFile)
/* if this is the first -publiclist, override the default list
* server. otherwise just keep adding urls.
*/
+ checkFromWorldFile(argv[i], fromWorldFile);
if (!options.listServerOverridden) {
options.listServerURL.clear();
options.listServerOverridden = true;
}
- checkFromWorldFile(argv[i], fromWorldFile);
checkArgc(1, i, argc, argv[i]);
options.listServerURL.push_back(argv[i]);
}
@@ -1019,25 +1028,31 @@ void parse(int argc, char **argv, CmdLineOptions &options, bool fromWorldFile)
}
}
else if (strcmp(argv[i], "-recbuf") == 0) {
+ checkFromWorldFile(argv[i], fromWorldFile);
checkArgc(1, i, argc, argv[i]);
Record::setSize (ServerPlayer, atoi(argv[i]));
options.startRecording = true;
}
else if (strcmp(argv[i], "-recbufonly") == 0) {
+ checkFromWorldFile(argv[i], fromWorldFile);
Record::setAllowFileRecs (false);
}
else if (strcmp(argv[i], "-recdir") == 0) {
+ checkFromWorldFile(argv[i], fromWorldFile);
checkArgc(1, i, argc, argv[i]);
Record::setDirectory (argv[i]);
}
else if (strcmp(argv[i], "-replay") == 0) {
+ checkFromWorldFile(argv[i], fromWorldFile);
options.replayServer = true;
}
else if (strcmp(argv[i], "-reportfile") == 0) {
+ checkFromWorldFile(argv[i], fromWorldFile);
checkArgc(1, i, argc, argv[i]);
options.reportFile = argv[i];
}
else if (strcmp(argv[i], "-reportpipe") == 0) {
+ checkFromWorldFile(argv[i], fromWorldFile);
checkArgc(1, i, argc, argv[i]);
options.reportPipe = argv[i];
}
@@ -1251,6 +1266,7 @@ void parse(int argc, char **argv, CmdLineOptions &options, bool fromWorldFile)
}
}
else if (strcmp(argv[i], "-ts") == 0) {
+ checkFromWorldFile(argv[i], fromWorldFile);
// timestamp output
options.timestampLog = true;
// if there is an argument following, see if it is 'micros'
@@ -1263,16 +1279,19 @@ void parse(int argc, char **argv, CmdLineOptions &options, bool fromWorldFile)
}
#ifdef HAVE_MINIUPNPC_MINIUPNPC_H
else if (strcmp(argv[i], "-UPnP") == 0) {
+ checkFromWorldFile(argv[i], fromWorldFile);
// timestamp output
options.UPnP = true;
}
#endif
else if (strcmp(argv[i], "-utc") == 0) {
+ checkFromWorldFile(argv[i], fromWorldFile);
// timestamp output
options.timestampLog = true;
options.timestampUTC = true;
}
else if (strcmp(argv[i], "-userdb") == 0) {
+ checkFromWorldFile(argv[i], fromWorldFile);
checkArgc(1, i, argc, argv[i]);
userDatabaseFile = argv[i];
logDebugMessage(1,"using userDB file \"%s\"\n", argv[i]);
diff --git a/src/bzfs/CmdLineOptions.h b/src/bzfs/CmdLineOptions.h
index 98b059b..2577fee 100644
--- a/src/bzfs/CmdLineOptions.h
+++ b/src/bzfs/CmdLineOptions.h
@@ -72,7 +72,7 @@ struct CmdLineOptions
packetlosswarnthresh(-1.0),
idlekickthresh(-1.0), timeLimit(0.0f), timeElapsed(0.0f), addedTime(0.0f),
linearAcceleration(_DEFAULT_LIN_ACCEL), angularAcceleration(_DEFAULT_ANGLE_ACCELL), useGivenPort(false),
- useFallbackPort(false), UPnP(false), randomBoxes(false),
+ UPnP(false), randomBoxes(false),
randomCTF(false), flagsOnBuildings(false), respawnOnBuildings(false),
oneGameOnly(false), timeManualStart(false), randomHeights(false),
useTeleporters(false), teamKillerDies(true), printScore(false),
@@ -152,7 +152,6 @@ struct CmdLineOptions
float angularAcceleration;
bool useGivenPort;
- bool useFallbackPort;
bool UPnP;
bool randomBoxes;
bool randomCTF;
diff --git a/src/bzfs/bzfs.cxx b/src/bzfs/bzfs.cxx
index 0ad0319..497868d 100644
--- a/src/bzfs/bzfs.cxx
+++ b/src/bzfs/bzfs.cxx
@@ -927,27 +927,9 @@ static bool serverStart()
}
#endif
if (bind(wksSocket, (const struct sockaddr*)&addr, sizeof(addr)) == -1) {
- if (!clOptions->useFallbackPort) {
- nerror("couldn't bind connect socket");
- close(wksSocket);
- return false;
- }
-
- // if we get here then try binding to any old port the system gives us
- addr.sin_port = htons(0);
- if (bind(wksSocket, (const struct sockaddr*)&addr, sizeof(addr)) == -1) {
- nerror("couldn't bind connect socket");
- close(wksSocket);
- return false;
- }
-
- // fixup ping reply
- AddrLen addrLen = sizeof(addr);
- if (getsockname(wksSocket, (struct sockaddr*)&addr, &addrLen) >= 0)
- pingReply.serverId.port = addr.sin_port;
-
- // fixup publicized name will want it here later
- clOptions->wksPort = ntohs(addr.sin_port);
+ nerror("couldn't bind connect socket");
+ close(wksSocket);
+ return false;
}
if (listen(wksSocket, 5) == -1) {
@@ -5227,17 +5209,20 @@ static void resetAllCallback(const std::string &name, void*)
}
}
-static std::string cmdReset(const std::string&, const CommandManager::ArgList& args, bool*)
+static std::string cmdReset(const std::string&, const CommandManager::ArgList& args, bool* cmdError)
{
+ if (cmdError) *cmdError = true;
if (args.size() == 1) {
if (args[0] == "*") {
BZDB.iterate(resetAllCallback,NULL);
+ if (cmdError) *cmdError = false;
return "all variables reset";
} else if (BZDB.isSet(args[0])) {
StateDatabase::Permission permission = BZDB.getPermission(args[0]);
if ((permission == StateDatabase::ReadWrite) || (permission == StateDatabase::Locked)) {
BZDB.set(args[0], BZDB.getDefault(args[0]), StateDatabase::Server);
lastWorldParmChange = TimeKeeper::getCurrent();
+ if (cmdError) *cmdError = false;
return args[0] + " reset";
}
return "variable " + args[0] + " is not writeable";
@@ -6613,6 +6598,7 @@ int main(int argc, char **argv)
player->player.setDead();
zapFlagByPlayer(j);
player->player.setPlayedEarly(false);
+ player->player.setRestartOnBase(true);
}
}
diff --git a/src/bzfs/bzfsAPI.cxx b/src/bzfs/bzfsAPI.cxx
index fec5813..a94a59e 100644
--- a/src/bzfs/bzfsAPI.cxx
+++ b/src/bzfs/bzfsAPI.cxx
@@ -3450,7 +3450,7 @@ public:
~URLFetchHandler()
{
- removeAllJobs();
+ KillCurrentJob(false); // don't notify, since the handler might have been destructed
if (curlHandle) {
curl_multi_cleanup(curlHandle);
}
diff --git a/src/bzfs/commands.cxx b/src/bzfs/commands.cxx
index 274465a..dab21a9 100644
--- a/src/bzfs/commands.cxx
+++ b/src/bzfs/commands.cxx
@@ -1045,10 +1045,19 @@ bool ResetCommand::operator() (const char *message,
return true;
}
std::string command = (message + 1);
+ bool cmdError = false;
// we aren't case sensitive but CMDMGR is
for (int i = 0; i < 5 /*"reset"*/; ++i)
command[i] = tolower(command[i]);
- sendMessage(ServerPlayer, t, CMDMGR.run(command).c_str());
+ sendMessage(ServerPlayer, t, CMDMGR.run(command, &cmdError).c_str());
+
+ if (!cmdError) {
+ char message2[MessageLen];
+ snprintf(message2, MessageLen, "Variable Reset Notice by %s of %s",
+ playerData->player.getCallSign(), command.c_str());
+ sendMessage(ServerPlayer, AdminPlayers, message2);
+ }
+
return true;
}
diff --git a/src/date/buildDate.cxx b/src/date/buildDate.cxx
index b7ff96e..f3f96ed 100644
--- a/src/date/buildDate.cxx
+++ b/src/date/buildDate.cxx
@@ -46,7 +46,7 @@
#endif
#ifndef BZ_REV
-# define BZ_REV 6
+# define BZ_REV 8
#endif
// DEVEL | RC# | STABLE | MAINT
diff --git a/src/obstacle/Teleporter.cxx b/src/obstacle/Teleporter.cxx
index d80c486..e194265 100644
--- a/src/obstacle/Teleporter.cxx
+++ b/src/obstacle/Teleporter.cxx
@@ -478,7 +478,8 @@ void Teleporter::getPointWRT(const Teleporter& t2, int face1, int face2,
// fixed x offset, and scale y & z coordinates
p.x = -size2.x;
- p.yz() *= dimsScale; // note the .yz()
+ p.y *= dimsScale.x;
+ p.z *= dimsScale.y;
// apply rotation, translate to new position
p = p.rotateZ(+radians2);
diff --git a/src/platform/SDL2Display.cxx b/src/platform/SDL2Display.cxx
index 949a9d4..688dd8f 100644
--- a/src/platform/SDL2Display.cxx
+++ b/src/platform/SDL2Display.cxx
@@ -569,9 +569,11 @@ bool SDLDisplay::setupEvent(BzfEvent& _event, const SDL_Event& event) const
_event.type = BzfEvent::Redraw;
break;
case SDL_WINDOWEVENT_HIDDEN:
+ case SDL_WINDOWEVENT_MINIMIZED:
_event.type = BzfEvent::Unmap;
break;
case SDL_WINDOWEVENT_SHOWN:
+ case SDL_WINDOWEVENT_RESTORED:
_event.type = BzfEvent::Map;
break;
#ifdef SDL_WINDOW_MOUSE_CAPTURE
diff --git a/tests/Makefile.am b/tests/Makefile.am
deleted file mode 100644
index be97f52..0000000
--- a/tests/Makefile.am
+++ /dev/null
@@ -1,25 +0,0 @@
-check_PROGRAMS = unittests
-
-unittests_SOURCES = \
- tests.cxx \
- bans.cxx \
- ../src/bzfs/AccessControlList.cxx
-
-unittests_CXXFLAGS = -lCppUTest
-
-EXTRA_DIST =
-
-MAINTAINERCLEANFILES = \
- Makefile.in
-
-AM_CPPFLAGS = \
- -I$(top_srcdir)/src/bzfs \
- $(CONF_CPPFLAGS) \
- -I$(top_srcdir)/include \
- -DCPPUTEST
-AM_CFLAGS = $(CONF_CFLAGS)
-AM_CXXFLAGS = $(CONF_CXXFLAGS)
-
-LDADD = \
- ../src/common/libCommon.la \
- $(LIBREGEX)
diff --git a/tests/bans.cxx b/tests/bans.cxx
deleted file mode 100644
index 31d431f..0000000
--- a/tests/bans.cxx
+++ /dev/null
@@ -1,114 +0,0 @@
-/* bzflag
- * Copyright (c) 1993-2016 Tim Riker
- *
- * This package is free software; you can redistribute it and/or
- * modify it under the terms of the license found in the file
- * named COPYING that should have accompanied this file.
- *
- * THIS PACKAGE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
- */
-
-#include "AccessControlList.h"
-
-#include "CppUTest/TestHarness.h"
-
-TEST_GROUP(Bans)
-{
-
-};
-
-TEST(Bans, IPBanComparisons)
-{
- in_addr ip1, ip2, ip3;
- ip1.s_addr = inet_addr("127.0.0.1");
- ip2.s_addr = inet_addr("127.0.0.1");
- ip3.s_addr = inet_addr("127.0.0.2");
-
- BanInfo a1(ip1, "nobody", 0, 32);
- BanInfo a2(ip2, "nobody", 0, 32);
- BanInfo a3(ip3, "nobody", 0, 32);
- BanInfo a4(ip2, "nobody", 0, 8);
-
- // 127.0.0.1/32 should equal 127.0.0.1/32
- CHECK_TEXT(a1 == a2, "Equality: Two equivilent bans were not equal.");
- CHECK_TEXT(!(a1 != a2), "Inequality: Two equivilent bans were not equal.");
-
- // 127.0.0.1/32 should not equal 127.0.0.2/32
- CHECK_TEXT(!(a1 == a3), "Equality: Two different bans were equal.");
- CHECK_TEXT(a1 != a3, "Inequality: Two different bans were equal.");
-
- // 127.0.0.1/32 should not equal 127.0.0.1/8
- CHECK_TEXT(!(a1 == a4), "Equality: Two different bans with the same IP but different CIDR were equal.");
- CHECK_TEXT(a1 != a4, "Inequality: Two different bans with the same IP but different CIDR were equal.");
-}
-
-TEST(Bans, IPBanContains)
-{
- in_addr ip1, ip2, ip3, ip4, ip5;
- ip1.s_addr = inet_addr("127.0.0.1");
- ip2.s_addr = inet_addr("127.0.0.5");
- ip3.s_addr = inet_addr("127.0.5.5");
- ip4.s_addr = inet_addr("127.5.5.5");
- ip5.s_addr = inet_addr("128.1.2.3");
-
- BanInfo exact1(ip1, "nobody", 0, 32);
- BanInfo exact2(ip2, "nobody", 0, 32);
-
- BanInfo classC1(ip1, "nobody", 0, 24);
- BanInfo classB1(ip1, "nobody", 0, 16);
- BanInfo classA1(ip1, "nobody", 0, 8);
-
- BanInfo CIDR30(ip1, "nobody", 0, 30);
- BanInfo CIDR29(ip1, "nobody", 0, 30);
-
- // Exact matches should be contained
- CHECK_TEXT(exact1.contains(ip1), "First exact IP false negative.");
- CHECK_TEXT(exact2.contains(ip2), "Second exact IP false negative.");
-
- // But these should not (since we're using the opposite IPs)
- CHECK_TEXT(!exact1.contains(ip2), "First exact IP false positive.");
- CHECK_TEXT(!exact2.contains(ip1), "Second exact IP false positive.");
-
- // Check IPs within the subnet
- CHECK_TEXT(classC1.contains(ip2), "Class C positive match test failure.");
- CHECK_TEXT(classB1.contains(ip3), "Class B positive match test failure.");
- CHECK_TEXT(classA1.contains(ip4), "Class A positive match test failure.");
-
- // Check IPs outside of the subnet
- CHECK_TEXT(!classC1.contains(ip3), "Class C negative match test failure.");
- CHECK_TEXT(!classC1.contains(ip4), "Class B negative match test failure.");
- CHECK_TEXT(!classC1.contains(ip5), "Class A negative match test failure.");
-}
-
-TEST(Bans, BanMaskString)
-{
- in_addr ip1;
- ip1.s_addr = inet_addr("127.5.35.135");
-
- AccessControlList acl;
-
- std::string exact = acl.getBanMaskString(ip1, 32);
- std::string cidr24 = acl.getBanMaskString(ip1, 24);
- std::string cidr16 = acl.getBanMaskString(ip1, 16);
- std::string cidr8 = acl.getBanMaskString(ip1, 8);
- std::string cidr25 = acl.getBanMaskString(ip1, 25);
- std::string cidr19 = acl.getBanMaskString(ip1, 19);
-
- CHECK_TEXT(exact == "127.5.35.135", std::string("Exact IP mask generation failed: " + exact + " != 127.5.7.135").c_str());
- CHECK_TEXT(cidr24 == "127.5.35.*", std::string("CIDR /24 mask generation failed: " + cidr24 + " != 127.5.7.*").c_str());
- CHECK_TEXT(cidr16 == "127.5.*.*", std::string("CIDR /16 mask generation failed: " + cidr16 + " != 127.5.*.*").c_str());
- CHECK_TEXT(cidr8 == "127.*.*.*", std::string("CIDR /8 mask generation failed: " + cidr8 + " != 127.*.*.*").c_str());
- CHECK_TEXT(cidr25 == "127.5.35.128/25", std::string("CIDR /25 mask generation failed: " + cidr25 + " != 127.5.7.128/25").c_str());
- CHECK_TEXT(cidr19 == "127.5.32.0/19", std::string("CIDR /19 mask generation failed: " + cidr19 + " != 127.5.32.0/19").c_str());
-}
-
-
-// Local Variables: ***
-// mode:C++ ***
-// tab-width: 8 ***
-// c-basic-offset: 2 ***
-// indent-tabs-mode: t ***
-// End: ***
-// ex: shiftwidth=2 tabstop=8
diff --git a/tests/tests.cxx b/tests/tests.cxx
deleted file mode 100644
index 173f731..0000000
--- a/tests/tests.cxx
+++ /dev/null
@@ -1,29 +0,0 @@
-/* bzflag
- * Copyright (c) 1993-2016 Tim Riker
- *
- * This package is free software; you can redistribute it and/or
- * modify it under the terms of the license found in the file
- * named COPYING that should have accompanied this file.
- *
- * THIS PACKAGE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
- */
-
-#include "CppUTest/CommandLineTestRunner.h"
-
-// Set a debug level so it doesn't complain about a missing external symbol
-int debugLevel = 0;
-
-int main(int ac, const char** av)
-{
- return CommandLineTestRunner::RunAllTests(ac, av);
-}
-
-// Local Variables: ***
-// mode:C++ ***
-// tab-width: 8 ***
-// c-basic-offset: 2 ***
-// indent-tabs-mode: t ***
-// End: ***
-// ex: shiftwidth=2 tabstop=8
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-games/bzflag.git
More information about the Pkg-games-commits
mailing list