1
0
Fork 0

Merge branch 'master' into GeneratingBenchmark

this merge is necessary,
This commit is contained in:
Tycho 2014-01-20 09:21:47 -08:00
commit 16375f6aad
89 changed files with 1522 additions and 19112 deletions

View File

@ -81,8 +81,8 @@ This is useful if you want to compile MCServer to use on another 32-bit machine.
to your cmake command and 32 bit will be forced.
Compiling for another computer
------------------------------
### Compiling for another computer ###
When compiling for another computer it is important to set cross compiling mode. This tells the compiler not to optimise for your machine. It can be used with debug or release mode. To enable simply add:

View File

@ -20,5 +20,6 @@ worktycho
Sxw1212
tonibm19
Diusrex
structinf (xdot)
Please add yourself to this list if you contribute to MCServer.

View File

@ -2085,9 +2085,9 @@ end
QueueBlockForTick = { Params = "BlockX, BlockY, BlockZ, TicksToWait", Return = "", Notes = "Queues the specified block to be ticked after the specified number of gameticks." },
QueueSaveAllChunks = { Params = "", Return = "", Notes = "Queues all chunks to be saved in the world storage thread" },
QueueSetBlock = { Params = "BlockX, BlockY, BlockZ, BlockType, BlockMeta, TickDelay", Return = "", Notes = "Queues the block to be set to the specified blocktype and meta after the specified amount of game ticks. Uses SetBlock() for the actual setting, so simulators are woken up and block entities are handled correctly." },
QueueTask = { Params = "TaskFunction", Return = "", Notes = "Queues the specified function to be executed in the tick thread. This is the primary means of interaction with a cWorld from the WebAdmin page handlers (see {{WebWorldThreads}}). The function signature is <pre class=\"pretty-print lang-lua\">function()</pre>All return values from the function are ignored. Note that this function is actually called *after* the QueueTask() function returns." },
QueueTask = { Params = "TaskFunction", Return = "", Notes = "Queues the specified function to be executed in the tick thread. This is the primary means of interaction with a cWorld from the WebAdmin page handlers (see {{WebWorldThreads}}). The function signature is <pre class=\"pretty-print lang-lua\">function()</pre>All return values from the function are ignored. Note that this function is actually called *after* the QueueTask() function returns. Note that it is unsafe to store references to MCServer objects, such as entities, across from the caller to the task handler function; store the EntityID instead." },
RegenerateChunk = { Params = "ChunkX, ChunkZ", Return = "", Notes = "Queues the specified chunk to be re-generated, overwriting the current data. To queue a chunk for generating only if it doesn't exist, use the GenerateChunk() instead." },
ScheduleTask = { Params = "TaskFunction, Ticks", Return = "", Notes = "Queues the specified function to be executed in the world's tick thread after a number of ticks. This enables operations to be queued for execution in the future. The function signature is <pre class=\"pretty-print lang-lua\">function({{cWorld|World}})</pre>All return values from the function are ignored." },
ScheduleTask = { Params = "DelayTicks, TaskFunction", Return = "", Notes = "Queues the specified function to be executed in the world's tick thread after a the specified number of ticks. This enables operations to be queued for execution in the future. The function signature is <pre class=\"pretty-print lang-lua\">function({{cWorld|World}})</pre>All return values from the function are ignored. Note that it is unsafe to store references to MCServer objects, such as entities, across from the caller to the task handler function; store the EntityID instead." },
SendBlockTo = { Params = "BlockX, BlockY, BlockZ, {{cPlayer|Player}}", Return = "", Notes = "Sends the block at the specified coords to the specified player's client, as an UpdateBlock packet." },
SetBlock = { Params = "BlockX, BlockY, BlockZ, BlockType, BlockMeta", Return = "", Notes = "Sets the block at the specified coords, replaces the block entities for the previous block type, creates a new block entity for the new block, if appropriate, and wakes up the simulators. This is the preferred way to set blocks, as opposed to FastSetBlock(), which is only to be used under special circumstances." },
SetBlockMeta =

@ -1 +1 @@
Subproject commit 1d524e4e7d2b1178f2b772c95766c63c338ad711
Subproject commit 759cf48ba3f1409e6d7b60cb821ee17e589bdef8

View File

@ -52,6 +52,7 @@ function Initialize(Plugin)
PM:BindCommand("/fill", "debuggers", HandleFill, "- Fills all block entities in current chunk with junk");
PM:BindCommand("/fr", "debuggers", HandleFurnaceRecipe, "- Shows the furnace recipe for the currently held item");
PM:BindCommand("/ff", "debuggers", HandleFurnaceFuel, "- Shows how long the currently held item would burn in a furnace");
PM:BindCommand("/sched", "debuggers", HandleSched, "- Schedules a simple countdown using cWorld:ScheduleTask()");
Plugin:AddWebTab("Debuggers", HandleRequest_Debuggers);
@ -955,6 +956,45 @@ end
function HandleSched(a_Split, a_Player)
local World = a_Player:GetWorld()
-- Schedule a broadcast of a countdown message:
for i = 1, 10 do
World:ScheduleTask(i * 20,
function(a_World)
a_World:BroadcastChat("Countdown: " .. 11 - i)
end
)
end
-- Schedule a broadcast of the final message and a note to the originating player
-- Note that we CANNOT us the a_Player in the callback - what if the player disconnected?
-- Therefore we store the player's EntityID
local PlayerID = a_Player:GetUniqueID()
World:ScheduleTask(220,
function(a_World)
a_World:BroadcastChat("Countdown: BOOM")
a_World:DoWithEntityByID(PlayerID,
function(a_Entity)
if (a_Entity:IsPlayer()) then
-- Although unlikely, it is possible that this player is not the originating player
-- However, I leave this as an excercise to you to fix this "bug"
local Player = tolua.cast(a_Entity, "cPlayer")
Player:SendMessage("Countdown finished")
end
end
)
end
)
return true
end
function HandleRequest_Debuggers(a_Request)
local FolderContents = cFile:GetFolderContents("./");
return "<p>The following objects have been returned by cFile:GetFolderContents():<ul><li>" .. table.concat(FolderContents, "</li><li>") .. "</li></ul></p>";

View File

@ -2496,7 +2496,8 @@ bool cConnection::HandleServerUpdateTileEntity(void)
HANDLE_SERVER_PACKET_READ(ReadBEShort, short, BlockY);
HANDLE_SERVER_PACKET_READ(ReadBEInt, int, BlockZ);
HANDLE_SERVER_PACKET_READ(ReadByte, Byte, Action);
HANDLE_SERVER_PACKET_READ(ReadBEShort, short, DataLength);
HANDLE_SERVER_PACKET_READ(ReadBEShort, short, DataLength);
AString Data;
if ((DataLength > 0) && !m_ServerBuffer.ReadString(Data, DataLength))
{
@ -2506,6 +2507,18 @@ bool cConnection::HandleServerUpdateTileEntity(void)
Log(" Block = {%d, %d, %d}", BlockX, BlockY, BlockZ);
Log(" Action = %d", Action);
DataLog(Data.data(), Data.size(), " Data (%u bytes)", Data.size());
// Save metadata to a file:
AString fnam;
Printf(fnam, "%s_item_%08x.nbt", m_LogNameBase.c_str(), m_ItemIdx++);
FILE * f = fopen(fnam.c_str(), "wb");
if (f != NULL)
{
fwrite(Data.data(), 1, Data.size(), f);
fclose(f);
Log("(saved to file \"%s\")", fnam.c_str());
}
COPY_TO_CLIENT();
return true;
}

8
VC2008/.gitignore vendored
View File

@ -1,8 +0,0 @@
Debug/
Debug profiled/
Debug_LuaStatic/
Release/
Release profiled/
*.user
*.ncb
*.suo

View File

@ -1,311 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<CodeBlocks_project_file>
<FileVersion major="1" minor="6" />
<Project>
<Option title="CryptoPP" />
<Option pch_mode="2" />
<Option compiler="gcc" />
<Build>
<Target title="Release Win32">
<Option output="lib" prefix_auto="1" extension_auto="1" />
<Option working_dir="" />
<Option object_output="Release Win32/CryptoPP" />
<Option type="2" />
<Option compiler="gcc" />
<Option createDefFile="1" />
<Compiler>
<Add option="-DNDEBUG" />
<Add option="-D_WINDOWS" />
<Add option="-DUSE_PRECOMPILED_HEADERS" />
<Add option="-DWIN32" />
<Add option="-W" />
<Add option="-O2" />
</Compiler>
</Target>
<Target title="Debug Win32">
<Option output="lib" prefix_auto="1" extension_auto="1" />
<Option working_dir="" />
<Option object_output="Debug Win32/CryptoPP" />
<Option type="2" />
<Option compiler="gcc" />
<Option createDefFile="1" />
<Compiler>
<Add option="-D_DEBUG" />
<Add option="-D_WINDOWS" />
<Add option="-DUSE_PRECOMPILED_HEADERS" />
<Add option="-DWIN32" />
<Add option="-W" />
<Add option="-g" />
<Add option="-O0" />
</Compiler>
</Target>
<Target title="Release x64">
<Option output="lib" prefix_auto="1" extension_auto="1" />
<Option working_dir="" />
<Option object_output="Win32/CryptoPP/Release x64" />
<Option type="2" />
<Option compiler="gcc" />
<Option createDefFile="1" />
<Compiler>
<Add option="-DNDEBUG" />
<Add option="-D_WINDOWS" />
<Add option="-DUSE_PRECOMPILED_HEADERS" />
<Add option="-DWIN32" />
<Add option="-W" />
<Add option="-O2" />
</Compiler>
</Target>
<Target title="DLL-Import Release x64">
<Option output="lib" prefix_auto="1" extension_auto="1" />
<Option working_dir="" />
<Option object_output="Win32/CryptoPP/DLL-Import Release x64" />
<Option type="2" />
<Option compiler="gcc" />
<Option createDefFile="1" />
<Compiler>
<Add option="-DNDEBUG" />
<Add option="-D_WINDOWS" />
<Add option="-DUSE_PRECOMPILED_HEADERS" />
<Add option="-DWIN32" />
<Add option="-DCRYPTOPP_IMPORTS" />
<Add option="-W" />
<Add option="-O2" />
</Compiler>
</Target>
<Target title="Debug x64">
<Option output="lib" prefix_auto="1" extension_auto="1" />
<Option working_dir="" />
<Option object_output="Win32/CryptoPP/Debug x64" />
<Option type="2" />
<Option compiler="gcc" />
<Option createDefFile="1" />
<Compiler>
<Add option="-D_DEBUG" />
<Add option="-D_WINDOWS" />
<Add option="-DUSE_PRECOMPILED_HEADERS" />
<Add option="-DWIN32" />
<Add option="-W" />
<Add option="-O0" />
</Compiler>
</Target>
<Target title="DLL-Import Debug x64">
<Option output="lib" prefix_auto="1" extension_auto="1" />
<Option working_dir="" />
<Option object_output="Win32/CryptoPP/DLL-Import Debug x64" />
<Option type="2" />
<Option compiler="gcc" />
<Option createDefFile="1" />
<Compiler>
<Add option="-D_DEBUG" />
<Add option="-D_WINDOWS" />
<Add option="-DUSE_PRECOMPILED_HEADERS" />
<Add option="-DWIN32" />
<Add option="-DCRYPTOPP_IMPORTS" />
<Add option="-W" />
<Add option="-O0" />
</Compiler>
</Target>
</Build>
<Unit filename="../lib/cryptopp/Doxyfile" />
<Unit filename="../lib/cryptopp/GNUmakefile" />
<Unit filename="../lib/cryptopp/License.txt" />
<Unit filename="../lib/cryptopp/Readme.txt" />
<Unit filename="../lib/cryptopp/adler32.cpp" />
<Unit filename="../lib/cryptopp/adler32.h" />
<Unit filename="../lib/cryptopp/aes.h" />
<Unit filename="../lib/cryptopp/algebra.cpp" />
<Unit filename="../lib/cryptopp/algebra.h" />
<Unit filename="../lib/cryptopp/algparam.cpp" />
<Unit filename="../lib/cryptopp/algparam.h" />
<Unit filename="../lib/cryptopp/arc4.h" />
<Unit filename="../lib/cryptopp/argnames.h" />
<Unit filename="../lib/cryptopp/asn.cpp" />
<Unit filename="../lib/cryptopp/asn.h" />
<Unit filename="../lib/cryptopp/authenc.cpp" />
<Unit filename="../lib/cryptopp/authenc.h" />
<Unit filename="../lib/cryptopp/base32.cpp" />
<Unit filename="../lib/cryptopp/base32.h" />
<Unit filename="../lib/cryptopp/base64.cpp" />
<Unit filename="../lib/cryptopp/base64.h" />
<Unit filename="../lib/cryptopp/basecode.cpp" />
<Unit filename="../lib/cryptopp/basecode.h" />
<Unit filename="../lib/cryptopp/cbcmac.cpp" />
<Unit filename="../lib/cryptopp/cbcmac.h" />
<Unit filename="../lib/cryptopp/ccm.cpp" />
<Unit filename="../lib/cryptopp/ccm.h" />
<Unit filename="../lib/cryptopp/channels.cpp" />
<Unit filename="../lib/cryptopp/channels.h" />
<Unit filename="../lib/cryptopp/cmac.cpp" />
<Unit filename="../lib/cryptopp/cmac.h" />
<Unit filename="../lib/cryptopp/config.h" />
<Unit filename="../lib/cryptopp/cpu.cpp" />
<Unit filename="../lib/cryptopp/cpu.h" />
<Unit filename="../lib/cryptopp/crc.cpp" />
<Unit filename="../lib/cryptopp/crc.h" />
<Unit filename="../lib/cryptopp/cryptlib.cpp" />
<Unit filename="../lib/cryptopp/cryptlib.h" />
<Unit filename="../lib/cryptopp/default.cpp" />
<Unit filename="../lib/cryptopp/default.h" />
<Unit filename="../lib/cryptopp/des.cpp" />
<Unit filename="../lib/cryptopp/des.h" />
<Unit filename="../lib/cryptopp/dessp.cpp" />
<Unit filename="../lib/cryptopp/dh.cpp" />
<Unit filename="../lib/cryptopp/dh.h" />
<Unit filename="../lib/cryptopp/dh2.cpp" />
<Unit filename="../lib/cryptopp/dh2.h" />
<Unit filename="../lib/cryptopp/dll.cpp" />
<Unit filename="../lib/cryptopp/dmac.h" />
<Unit filename="../lib/cryptopp/dsa.cpp" />
<Unit filename="../lib/cryptopp/dsa.h" />
<Unit filename="../lib/cryptopp/eax.cpp" />
<Unit filename="../lib/cryptopp/eax.h" />
<Unit filename="../lib/cryptopp/ec2n.cpp" />
<Unit filename="../lib/cryptopp/ec2n.h" />
<Unit filename="../lib/cryptopp/eccrypto.cpp">
<Option target="&lt;{~None~}&gt;" />
</Unit>
<Unit filename="../lib/cryptopp/eccrypto.h" />
<Unit filename="../lib/cryptopp/ecp.cpp" />
<Unit filename="../lib/cryptopp/ecp.h" />
<Unit filename="../lib/cryptopp/elgamal.cpp" />
<Unit filename="../lib/cryptopp/elgamal.h" />
<Unit filename="../lib/cryptopp/emsa2.cpp" />
<Unit filename="../lib/cryptopp/emsa2.h" />
<Unit filename="../lib/cryptopp/eprecomp.cpp">
<Option target="&lt;{~None~}&gt;" />
</Unit>
<Unit filename="../lib/cryptopp/eprecomp.h" />
<Unit filename="../lib/cryptopp/esign.cpp" />
<Unit filename="../lib/cryptopp/esign.h" />
<Unit filename="../lib/cryptopp/files.cpp" />
<Unit filename="../lib/cryptopp/files.h" />
<Unit filename="../lib/cryptopp/filters.cpp" />
<Unit filename="../lib/cryptopp/filters.h" />
<Unit filename="../lib/cryptopp/fips140.cpp" />
<Unit filename="../lib/cryptopp/fips140.h" />
<Unit filename="../lib/cryptopp/fltrimpl.h" />
<Unit filename="../lib/cryptopp/gcm.cpp" />
<Unit filename="../lib/cryptopp/gcm.h" />
<Unit filename="../lib/cryptopp/gf256.cpp" />
<Unit filename="../lib/cryptopp/gf256.h" />
<Unit filename="../lib/cryptopp/gf2_32.cpp" />
<Unit filename="../lib/cryptopp/gf2_32.h" />
<Unit filename="../lib/cryptopp/gf2n.cpp" />
<Unit filename="../lib/cryptopp/gf2n.h" />
<Unit filename="../lib/cryptopp/gfpcrypt.cpp" />
<Unit filename="../lib/cryptopp/gfpcrypt.h" />
<Unit filename="../lib/cryptopp/gzip.h" />
<Unit filename="../lib/cryptopp/hex.cpp" />
<Unit filename="../lib/cryptopp/hex.h" />
<Unit filename="../lib/cryptopp/hmac.cpp" />
<Unit filename="../lib/cryptopp/hmac.h" />
<Unit filename="../lib/cryptopp/hrtimer.cpp" />
<Unit filename="../lib/cryptopp/hrtimer.h" />
<Unit filename="../lib/cryptopp/integer.cpp" />
<Unit filename="../lib/cryptopp/integer.h" />
<Unit filename="../lib/cryptopp/iterhash.cpp" />
<Unit filename="../lib/cryptopp/iterhash.h" />
<Unit filename="../lib/cryptopp/lubyrack.h" />
<Unit filename="../lib/cryptopp/luc.cpp" />
<Unit filename="../lib/cryptopp/luc.h" />
<Unit filename="../lib/cryptopp/md2.cpp" />
<Unit filename="../lib/cryptopp/md2.h" />
<Unit filename="../lib/cryptopp/md4.cpp" />
<Unit filename="../lib/cryptopp/md4.h" />
<Unit filename="../lib/cryptopp/md5.cpp" />
<Unit filename="../lib/cryptopp/md5.h" />
<Unit filename="../lib/cryptopp/mdc.h" />
<Unit filename="../lib/cryptopp/misc.cpp" />
<Unit filename="../lib/cryptopp/misc.h" />
<Unit filename="../lib/cryptopp/modarith.h" />
<Unit filename="../lib/cryptopp/modes.cpp" />
<Unit filename="../lib/cryptopp/modes.h" />
<Unit filename="../lib/cryptopp/modexppc.h" />
<Unit filename="../lib/cryptopp/mqueue.cpp" />
<Unit filename="../lib/cryptopp/mqueue.h" />
<Unit filename="../lib/cryptopp/mqv.cpp" />
<Unit filename="../lib/cryptopp/mqv.h" />
<Unit filename="../lib/cryptopp/nbtheory.cpp" />
<Unit filename="../lib/cryptopp/nbtheory.h" />
<Unit filename="../lib/cryptopp/network.cpp" />
<Unit filename="../lib/cryptopp/network.h" />
<Unit filename="../lib/cryptopp/nr.h" />
<Unit filename="../lib/cryptopp/oaep.cpp" />
<Unit filename="../lib/cryptopp/oaep.h" />
<Unit filename="../lib/cryptopp/oids.h" />
<Unit filename="../lib/cryptopp/osrng.cpp" />
<Unit filename="../lib/cryptopp/osrng.h" />
<Unit filename="../lib/cryptopp/pch.cpp" />
<Unit filename="../lib/cryptopp/pch.h" />
<Unit filename="../lib/cryptopp/pkcspad.cpp" />
<Unit filename="../lib/cryptopp/pkcspad.h" />
<Unit filename="../lib/cryptopp/polynomi.cpp" />
<Unit filename="../lib/cryptopp/polynomi.h" />
<Unit filename="../lib/cryptopp/pssr.cpp" />
<Unit filename="../lib/cryptopp/pssr.h" />
<Unit filename="../lib/cryptopp/pubkey.cpp" />
<Unit filename="../lib/cryptopp/pubkey.h" />
<Unit filename="../lib/cryptopp/pwdbased.h" />
<Unit filename="../lib/cryptopp/queue.cpp" />
<Unit filename="../lib/cryptopp/queue.h" />
<Unit filename="../lib/cryptopp/rabin.cpp" />
<Unit filename="../lib/cryptopp/rabin.h" />
<Unit filename="../lib/cryptopp/randpool.cpp" />
<Unit filename="../lib/cryptopp/randpool.h" />
<Unit filename="../lib/cryptopp/rdtables.cpp" />
<Unit filename="../lib/cryptopp/rijndael.cpp" />
<Unit filename="../lib/cryptopp/rijndael.h" />
<Unit filename="../lib/cryptopp/rng.cpp" />
<Unit filename="../lib/cryptopp/rng.h" />
<Unit filename="../lib/cryptopp/rsa.cpp" />
<Unit filename="../lib/cryptopp/rsa.h" />
<Unit filename="../lib/cryptopp/rw.cpp" />
<Unit filename="../lib/cryptopp/rw.h" />
<Unit filename="../lib/cryptopp/safer.cpp" />
<Unit filename="../lib/cryptopp/safer.h" />
<Unit filename="../lib/cryptopp/seal.cpp" />
<Unit filename="../lib/cryptopp/seal.h" />
<Unit filename="../lib/cryptopp/secblock.h" />
<Unit filename="../lib/cryptopp/seckey.h" />
<Unit filename="../lib/cryptopp/seed.cpp" />
<Unit filename="../lib/cryptopp/seed.h" />
<Unit filename="../lib/cryptopp/sha.cpp" />
<Unit filename="../lib/cryptopp/sha.h" />
<Unit filename="../lib/cryptopp/shacal2.cpp" />
<Unit filename="../lib/cryptopp/shacal2.h" />
<Unit filename="../lib/cryptopp/simple.cpp" />
<Unit filename="../lib/cryptopp/simple.h" />
<Unit filename="../lib/cryptopp/smartptr.h" />
<Unit filename="../lib/cryptopp/socketft.cpp" />
<Unit filename="../lib/cryptopp/socketft.h" />
<Unit filename="../lib/cryptopp/square.cpp" />
<Unit filename="../lib/cryptopp/square.h" />
<Unit filename="../lib/cryptopp/squaretb.cpp" />
<Unit filename="../lib/cryptopp/stdcpp.h" />
<Unit filename="../lib/cryptopp/strciphr.cpp" />
<Unit filename="../lib/cryptopp/strciphr.h" />
<Unit filename="../lib/cryptopp/tea.cpp" />
<Unit filename="../lib/cryptopp/tea.h" />
<Unit filename="../lib/cryptopp/tiger.cpp" />
<Unit filename="../lib/cryptopp/tiger.h" />
<Unit filename="../lib/cryptopp/tigertab.cpp" />
<Unit filename="../lib/cryptopp/trdlocal.cpp" />
<Unit filename="../lib/cryptopp/trdlocal.h" />
<Unit filename="../lib/cryptopp/trunhash.h" />
<Unit filename="../lib/cryptopp/ttmac.cpp" />
<Unit filename="../lib/cryptopp/ttmac.h" />
<Unit filename="../lib/cryptopp/vmac.cpp" />
<Unit filename="../lib/cryptopp/vmac.h" />
<Unit filename="../lib/cryptopp/wait.cpp" />
<Unit filename="../lib/cryptopp/wait.h" />
<Unit filename="../lib/cryptopp/wake.h" />
<Unit filename="../lib/cryptopp/winpipes.cpp" />
<Unit filename="../lib/cryptopp/winpipes.h" />
<Unit filename="../lib/cryptopp/words.h" />
<Extensions>
<code_completion />
<envvars />
<debugger />
</Extensions>
</Project>
</CodeBlocks_project_file>

File diff suppressed because it is too large Load Diff

View File

@ -1,3 +0,0 @@
set ALLTOLUA_WAIT=N
cd ..\src\Bindings
AllToLua.bat

View File

@ -1,81 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<CodeBlocks_project_file>
<FileVersion major="1" minor="6" />
<Project>
<Option title="JsonCpp" />
<Option pch_mode="2" />
<Option compiler="gcc" />
<Build>
<Target title="Debug Win32">
<Option output="lib" prefix_auto="1" extension_auto="1" />
<Option working_dir="" />
<Option object_output="Debug Win32/JsonCpp" />
<Option type="2" />
<Option compiler="gcc" />
<Option createDefFile="1" />
<Compiler>
<Add option="-DWIN32" />
<Add option="-D_DEBUG" />
<Add option="-D_LIB" />
<Add option="-W" />
<Add option="-g" />
<Add option="-O0" />
<Add directory="../lib/jsoncpp/include" />
</Compiler>
<ResourceCompiler>
<Add directory="../lib/jsoncpp/include" />
</ResourceCompiler>
</Target>
<Target title="Release Win32">
<Option output="lib" prefix_auto="1" extension_auto="1" />
<Option working_dir="" />
<Option object_output="Release Win32/JsonCpp" />
<Option type="2" />
<Option compiler="gcc" />
<Option createDefFile="1" />
<Compiler>
<Add option="-DWIN32" />
<Add option="-DNDEBUG" />
<Add option="-D_LIB" />
<Add option="-W" />
<Add option="-O2" />
<Add directory="../lib/jsoncpp/include" />
</Compiler>
<ResourceCompiler>
<Add directory="../lib/jsoncpp/include" />
</ResourceCompiler>
</Target>
<Target title="Release profiled Win32">
<Option output="lib" prefix_auto="1" extension_auto="1" />
<Option working_dir="" />
<Option object_output="Release profiled Win32/JsonCpp" />
<Option type="2" />
<Option compiler="gcc" />
<Option createDefFile="1" />
<Compiler>
<Add option="-DWIN32" />
<Add option="-DNDEBUG" />
<Add option="-D_LIB" />
<Add option="-W" />
<Add option="-O2" />
<Add directory="../lib/jsoncpp/include" />
</Compiler>
<ResourceCompiler>
<Add directory="../lib/jsoncpp/include" />
</ResourceCompiler>
</Target>
</Build>
<Unit filename="../lib/jsoncpp/src/lib_json/json_batchallocator.h" />
<Unit filename="../lib/jsoncpp/src/lib_json/json_internalarray.inl" />
<Unit filename="../lib/jsoncpp/src/lib_json/json_internalmap.inl" />
<Unit filename="../lib/jsoncpp/src/lib_json/json_reader.cpp" />
<Unit filename="../lib/jsoncpp/src/lib_json/json_value.cpp" />
<Unit filename="../lib/jsoncpp/src/lib_json/json_valueiterator.inl" />
<Unit filename="../lib/jsoncpp/src/lib_json/json_writer.cpp" />
<Extensions>
<code_completion />
<envvars />
<debugger />
</Extensions>
</Project>
</CodeBlocks_project_file>

View File

@ -1,372 +0,0 @@
<?xml version="1.0" encoding="windows-1250"?>
<VisualStudioProject
ProjectType="Visual C++"
Version="9,00"
Name="JsonCpp"
ProjectGUID="{5AAA90B9-946D-4034-83F3-676B06A6E326}"
RootNamespace="JsonCpp"
Keyword="Win32Proj"
TargetFrameworkVersion="196613"
>
<Platforms>
<Platform
Name="Win32"
/>
</Platforms>
<ToolFiles>
</ToolFiles>
<Configurations>
<Configuration
Name="Debug|Win32"
OutputDirectory="$(SolutionDir)$(ConfigurationName)\JsonCpp"
IntermediateDirectory="$(ConfigurationName)\JsonCpp"
ConfigurationType="4"
CharacterSet="1"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
/>
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="../jsoncpp-src-0.5.0/include"
PreprocessorDefinitions="WIN32;_DEBUG;_LIB"
MinimalRebuild="true"
BasicRuntimeChecks="3"
RuntimeLibrary="1"
UsePrecompiledHeader="0"
WarningLevel="3"
DebugInformationFormat="4"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLibrarianTool"
/>
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
/>
<Tool
Name="VCFxCopTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
<Configuration
Name="Release|Win32"
OutputDirectory="$(SolutionDir)$(ConfigurationName)\JsonCpp"
IntermediateDirectory="$(ConfigurationName)\JsonCpp"
ConfigurationType="4"
CharacterSet="1"
WholeProgramOptimization="1"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
/>
<Tool
Name="VCCLCompilerTool"
Optimization="2"
EnableIntrinsicFunctions="true"
AdditionalIncludeDirectories="../jsoncpp-src-0.5.0/include"
PreprocessorDefinitions="WIN32;NDEBUG;_LIB"
RuntimeLibrary="0"
EnableFunctionLevelLinking="true"
UsePrecompiledHeader="0"
WarningLevel="3"
DebugInformationFormat="3"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLibrarianTool"
/>
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
/>
<Tool
Name="VCFxCopTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
<Configuration
Name="Release profiled|Win32"
OutputDirectory="$(SolutionDir)$(ConfigurationName)\JsonCpp"
IntermediateDirectory="$(ConfigurationName)\JsonCpp"
ConfigurationType="4"
CharacterSet="1"
WholeProgramOptimization="1"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
/>
<Tool
Name="VCCLCompilerTool"
Optimization="2"
EnableIntrinsicFunctions="true"
AdditionalIncludeDirectories="../jsoncpp-src-0.5.0/include"
PreprocessorDefinitions="WIN32;NDEBUG;_LIB"
RuntimeLibrary="0"
EnableFunctionLevelLinking="true"
UsePrecompiledHeader="0"
WarningLevel="3"
DebugInformationFormat="3"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLibrarianTool"
/>
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
/>
<Tool
Name="VCFxCopTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
<Configuration
Name="Debug profiled|Win32"
OutputDirectory="$(SolutionDir)$(ConfigurationName)\JsonCpp"
IntermediateDirectory="$(ConfigurationName)\JsonCpp"
ConfigurationType="4"
CharacterSet="1"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
/>
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="../jsoncpp-src-0.5.0/include"
PreprocessorDefinitions="WIN32;_DEBUG;_LIB"
MinimalRebuild="true"
BasicRuntimeChecks="3"
RuntimeLibrary="1"
UsePrecompiledHeader="0"
WarningLevel="3"
DebugInformationFormat="4"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLibrarianTool"
/>
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
/>
<Tool
Name="VCFxCopTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
<Configuration
Name="Debug_LuaStatic|Win32"
OutputDirectory="$(SolutionDir)$(ConfigurationName)\JsonCpp"
IntermediateDirectory="$(ConfigurationName)\JsonCpp"
ConfigurationType="4"
CharacterSet="1"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
/>
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="../jsoncpp-src-0.5.0/include"
PreprocessorDefinitions="WIN32;_DEBUG;_LIB"
MinimalRebuild="true"
BasicRuntimeChecks="3"
RuntimeLibrary="1"
UsePrecompiledHeader="0"
WarningLevel="3"
DebugInformationFormat="4"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLibrarianTool"
/>
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
/>
<Tool
Name="VCFxCopTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
</Configurations>
<References>
</References>
<Files>
<Filter
Name="Source Files"
Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
>
<File
RelativePath="..\lib\jsoncpp\src\lib_json\json_batchallocator.h"
>
</File>
<File
RelativePath="..\lib\jsoncpp\src\lib_json\json_internalarray.inl"
>
</File>
<File
RelativePath="..\lib\jsoncpp\src\lib_json\json_internalmap.inl"
>
</File>
<File
RelativePath="..\lib\jsoncpp\src\lib_json\json_reader.cpp"
>
</File>
<File
RelativePath="..\lib\jsoncpp\src\lib_json\json_value.cpp"
>
</File>
<File
RelativePath="..\lib\jsoncpp\src\lib_json\json_valueiterator.inl"
>
</File>
<File
RelativePath="..\lib\jsoncpp\src\lib_json\json_writer.cpp"
>
</File>
</Filter>
</Files>
<Globals>
</Globals>
</VisualStudioProject>

View File

@ -1,184 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<CodeBlocks_project_file>
<FileVersion major="1" minor="6" />
<Project>
<Option title="Lua" />
<Option pch_mode="2" />
<Option compiler="gcc" />
<Build>
<Target title="Debug Win32">
<Option output="lib" prefix_auto="1" extension_auto="1" />
<Option working_dir="" />
<Option object_output="Debug Win32/Lua" />
<Option type="2" />
<Option compiler="gcc" />
<Option createDefFile="1" />
<Compiler>
<Add option="-DWIN32" />
<Add option="-D_DEBUG" />
<Add option="-D_LIB" />
<Add option="-D_CRT_SECURE_NO_WARNINGS" />
<Add option="-W" />
<Add option="-g" />
<Add option="-O0" />
</Compiler>
</Target>
<Target title="Release Win32">
<Option output="lib" prefix_auto="1" extension_auto="1" />
<Option working_dir="" />
<Option object_output="Release Win32/Lua" />
<Option type="2" />
<Option compiler="gcc" />
<Option createDefFile="1" />
<Compiler>
<Add option="-DWIN32" />
<Add option="-DNDEBUG" />
<Add option="-D_LIB" />
<Add option="-D_CRT_SECURE_NO_WARNINGS" />
<Add option="-W" />
<Add option="-O2" />
</Compiler>
</Target>
<Target title="Release profiled Win32">
<Option output="lib" prefix_auto="1" extension_auto="1" />
<Option working_dir="" />
<Option object_output="Release profiled Win32/Lua" />
<Option type="2" />
<Option compiler="gcc" />
<Option createDefFile="1" />
<Compiler>
<Add option="-DWIN32" />
<Add option="-DNDEBUG" />
<Add option="-D_LIB" />
<Add option="-D_CRT_SECURE_NO_WARNINGS" />
<Add option="-W" />
<Add option="-O2" />
</Compiler>
</Target>
</Build>
<Unit filename="../lib/lua/src/lapi.c">
<Option compilerVar="CC" />
</Unit>
<Unit filename="../lib/lua/src/lapi.h" />
<Unit filename="../lib/lua/src/lauxlib.c">
<Option compilerVar="CC" />
</Unit>
<Unit filename="../lib/lua/src/lauxlib.h" />
<Unit filename="../lib/lua/src/lbaselib.c">
<Option compilerVar="CC" />
</Unit>
<Unit filename="../lib/lua/src/lcode.c">
<Option compilerVar="CC" />
</Unit>
<Unit filename="../lib/lua/src/lcode.h" />
<Unit filename="../lib/lua/src/ldblib.c">
<Option compilerVar="CC" />
</Unit>
<Unit filename="../lib/lua/src/ldebug.c">
<Option compilerVar="CC" />
</Unit>
<Unit filename="../lib/lua/src/ldebug.h" />
<Unit filename="../lib/lua/src/ldo.c">
<Option compilerVar="CC" />
</Unit>
<Unit filename="../lib/lua/src/ldo.h" />
<Unit filename="../lib/lua/src/ldump.c">
<Option compilerVar="CC" />
</Unit>
<Unit filename="../lib/lua/src/lfunc.c">
<Option compilerVar="CC" />
</Unit>
<Unit filename="../lib/lua/src/lfunc.h" />
<Unit filename="../lib/lua/src/lgc.c">
<Option compilerVar="CC" />
</Unit>
<Unit filename="../lib/lua/src/lgc.h" />
<Unit filename="../lib/lua/src/linit.c">
<Option compilerVar="CC" />
</Unit>
<Unit filename="../lib/lua/src/liolib.c">
<Option compilerVar="CC" />
</Unit>
<Unit filename="../lib/lua/src/llex.c">
<Option compilerVar="CC" />
</Unit>
<Unit filename="../lib/lua/src/llex.h" />
<Unit filename="../lib/lua/src/llimits.h" />
<Unit filename="../lib/lua/src/lmathlib.c">
<Option compilerVar="CC" />
</Unit>
<Unit filename="../lib/lua/src/lmem.c">
<Option compilerVar="CC" />
</Unit>
<Unit filename="../lib/lua/src/lmem.h" />
<Unit filename="../lib/lua/src/loadlib.c">
<Option compilerVar="CC" />
</Unit>
<Unit filename="../lib/lua/src/lobject.c">
<Option compilerVar="CC" />
</Unit>
<Unit filename="../lib/lua/src/lobject.h" />
<Unit filename="../lib/lua/src/lopcodes.c">
<Option compilerVar="CC" />
</Unit>
<Unit filename="../lib/lua/src/lopcodes.h" />
<Unit filename="../lib/lua/src/loslib.c">
<Option compilerVar="CC" />
</Unit>
<Unit filename="../lib/lua/src/lparser.c">
<Option compilerVar="CC" />
</Unit>
<Unit filename="../lib/lua/src/lparser.h" />
<Unit filename="../lib/lua/src/lstate.c">
<Option compilerVar="CC" />
</Unit>
<Unit filename="../lib/lua/src/lstate.h" />
<Unit filename="../lib/lua/src/lstring.c">
<Option compilerVar="CC" />
</Unit>
<Unit filename="../lib/lua/src/lstring.h" />
<Unit filename="../lib/lua/src/lstrlib.c">
<Option compilerVar="CC" />
</Unit>
<Unit filename="../lib/lua/src/ltable.c">
<Option compilerVar="CC" />
</Unit>
<Unit filename="../lib/lua/src/ltable.h" />
<Unit filename="../lib/lua/src/ltablib.c">
<Option compilerVar="CC" />
</Unit>
<Unit filename="../lib/lua/src/ltm.c">
<Option compilerVar="CC" />
</Unit>
<Unit filename="../lib/lua/src/ltm.h" />
<Unit filename="../lib/lua/src/lua.c">
<Option compilerVar="CC" />
</Unit>
<Unit filename="../lib/lua/src/lua.h" />
<Unit filename="../lib/lua/src/luac.c">
<Option compilerVar="CC" />
</Unit>
<Unit filename="../lib/lua/src/luaconf.h" />
<Unit filename="../lib/lua/src/lualib.h" />
<Unit filename="../lib/lua/src/lundump.c">
<Option compilerVar="CC" />
</Unit>
<Unit filename="../lib/lua/src/lundump.h" />
<Unit filename="../lib/lua/src/lvm.c">
<Option compilerVar="CC" />
</Unit>
<Unit filename="../lib/lua/src/lvm.h" />
<Unit filename="../lib/lua/src/lzio.c">
<Option compilerVar="CC" />
</Unit>
<Unit filename="../lib/lua/src/lzio.h" />
<Unit filename="../lib/lua/src/print.c">
<Option compilerVar="CC" />
</Unit>
<Extensions>
<code_completion />
<envvars />
<debugger />
</Extensions>
</Project>
</CodeBlocks_project_file>

View File

@ -1,584 +0,0 @@
<?xml version="1.0" encoding="windows-1250"?>
<VisualStudioProject
ProjectType="Visual C++"
Version="9,00"
Name="Lua"
ProjectGUID="{082E8185-7B3A-4945-8C82-9132341A329D}"
RootNamespace="Lua"
Keyword="Win32Proj"
TargetFrameworkVersion="196613"
>
<Platforms>
<Platform
Name="Win32"
/>
</Platforms>
<ToolFiles>
</ToolFiles>
<Configurations>
<Configuration
Name="Debug|Win32"
OutputDirectory="$(SolutionDir)$(ConfigurationName)\Lua"
IntermediateDirectory="$(ConfigurationName)\Lua"
ConfigurationType="2"
CharacterSet="1"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
/>
<Tool
Name="VCCLCompilerTool"
Optimization="0"
PreprocessorDefinitions="WIN32;_DEBUG;_LIB;_CRT_SECURE_NO_WARNINGS;LUA_BUILD_AS_DLL"
MinimalRebuild="true"
BasicRuntimeChecks="3"
RuntimeLibrary="1"
UsePrecompiledHeader="0"
WarningLevel="3"
DebugInformationFormat="4"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLinkerTool"
OutputFile="$(ProjectDir)\..\MCServer\lua5.1.dll"
GenerateDebugInformation="true"
/>
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCManifestTool"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
/>
<Tool
Name="VCFxCopTool"
/>
<Tool
Name="VCAppVerifierTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
<Configuration
Name="Release|Win32"
OutputDirectory="$(SolutionDir)$(ConfigurationName)\Lua"
IntermediateDirectory="$(ConfigurationName)\Lua"
ConfigurationType="2"
CharacterSet="1"
WholeProgramOptimization="1"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
/>
<Tool
Name="VCCLCompilerTool"
Optimization="2"
EnableIntrinsicFunctions="true"
PreprocessorDefinitions="WIN32;NDEBUG;_LIB;_CRT_SECURE_NO_WARNINGS;LUA_BUILD_AS_DLL"
RuntimeLibrary="0"
EnableFunctionLevelLinking="true"
UsePrecompiledHeader="0"
WarningLevel="3"
DebugInformationFormat="3"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLinkerTool"
OutputFile="$(ProjectDir)\..\MCServer\lua5.1.dll"
/>
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCManifestTool"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
/>
<Tool
Name="VCFxCopTool"
/>
<Tool
Name="VCAppVerifierTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
<Configuration
Name="Release profiled|Win32"
OutputDirectory="$(SolutionDir)$(ConfigurationName)\Lua"
IntermediateDirectory="$(ConfigurationName)\Lua"
ConfigurationType="2"
CharacterSet="1"
WholeProgramOptimization="1"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
/>
<Tool
Name="VCCLCompilerTool"
Optimization="2"
EnableIntrinsicFunctions="true"
PreprocessorDefinitions="WIN32;NDEBUG;_LIB;_CRT_SECURE_NO_WARNINGS;LUA_BUILD_AS_DLL"
RuntimeLibrary="0"
EnableFunctionLevelLinking="true"
UsePrecompiledHeader="0"
WarningLevel="3"
DebugInformationFormat="3"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLinkerTool"
OutputFile="$(ProjectDir)\..\MCServer\lua5.1.dll"
/>
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCManifestTool"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
/>
<Tool
Name="VCFxCopTool"
/>
<Tool
Name="VCAppVerifierTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
<Configuration
Name="Debug profiled|Win32"
OutputDirectory="$(SolutionDir)$(ConfigurationName)\Lua"
IntermediateDirectory="$(ConfigurationName)\Lua"
ConfigurationType="2"
CharacterSet="1"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
/>
<Tool
Name="VCCLCompilerTool"
Optimization="0"
PreprocessorDefinitions="WIN32;_DEBUG;_LIB;_CRT_SECURE_NO_WARNINGS;LUA_BUILD_AS_DLL"
MinimalRebuild="true"
BasicRuntimeChecks="3"
RuntimeLibrary="1"
UsePrecompiledHeader="0"
WarningLevel="3"
DebugInformationFormat="4"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLinkerTool"
OutputFile="$(ProjectDir)\..\MCServer\lua5.1.dll"
/>
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCManifestTool"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
/>
<Tool
Name="VCFxCopTool"
/>
<Tool
Name="VCAppVerifierTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
<Configuration
Name="Debug_LuaStatic|Win32"
OutputDirectory="$(SolutionDir)$(ConfigurationName)\Lua"
IntermediateDirectory="$(ConfigurationName)\Lua"
ConfigurationType="4"
CharacterSet="1"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
/>
<Tool
Name="VCCLCompilerTool"
Optimization="0"
PreprocessorDefinitions="WIN32;_DEBUG;_LIB;_CRT_SECURE_NO_WARNINGS"
MinimalRebuild="true"
BasicRuntimeChecks="3"
RuntimeLibrary="1"
UsePrecompiledHeader="0"
WarningLevel="3"
DebugInformationFormat="4"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLibrarianTool"
/>
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
/>
<Tool
Name="VCFxCopTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
</Configurations>
<References>
</References>
<Files>
<Filter
Name="Source Files"
Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
>
<File
RelativePath="..\lib\lua\src\lapi.c"
>
</File>
<File
RelativePath="..\lib\lua\src\lauxlib.c"
>
</File>
<File
RelativePath="..\lib\lua\src\lbaselib.c"
>
</File>
<File
RelativePath="..\lib\lua\src\lcode.c"
>
</File>
<File
RelativePath="..\lib\lua\src\ldblib.c"
>
</File>
<File
RelativePath="..\lib\lua\src\ldebug.c"
>
</File>
<File
RelativePath="..\lib\lua\src\ldo.c"
>
</File>
<File
RelativePath="..\lib\lua\src\ldump.c"
>
</File>
<File
RelativePath="..\lib\lua\src\lfunc.c"
>
</File>
<File
RelativePath="..\lib\lua\src\lgc.c"
>
</File>
<File
RelativePath="..\lib\lua\src\linit.c"
>
</File>
<File
RelativePath="..\lib\lua\src\liolib.c"
>
</File>
<File
RelativePath="..\lib\lua\src\llex.c"
>
</File>
<File
RelativePath="..\lib\lua\src\lmathlib.c"
>
</File>
<File
RelativePath="..\lib\lua\src\lmem.c"
>
</File>
<File
RelativePath="..\lib\lua\src\loadlib.c"
>
</File>
<File
RelativePath="..\lib\lua\src\lobject.c"
>
</File>
<File
RelativePath="..\lib\lua\src\lopcodes.c"
>
</File>
<File
RelativePath="..\lib\lua\src\loslib.c"
>
</File>
<File
RelativePath="..\lib\lua\src\lparser.c"
>
</File>
<File
RelativePath="..\lib\lua\src\lstate.c"
>
</File>
<File
RelativePath="..\lib\lua\src\lstring.c"
>
</File>
<File
RelativePath="..\lib\lua\src\lstrlib.c"
>
</File>
<File
RelativePath="..\lib\lua\src\ltable.c"
>
</File>
<File
RelativePath="..\lib\lua\src\ltablib.c"
>
</File>
<File
RelativePath="..\lib\lua\src\ltm.c"
>
</File>
<File
RelativePath="..\lib\lua\src\luac.c"
>
</File>
<File
RelativePath="..\lib\lua\src\lundump.c"
>
</File>
<File
RelativePath="..\lib\lua\src\lvm.c"
>
</File>
<File
RelativePath="..\lib\lua\src\lzio.c"
>
</File>
<File
RelativePath="..\lib\lua\src\print.c"
>
</File>
</Filter>
<File
RelativePath="..\lib\lua\src\lapi.h"
>
</File>
<File
RelativePath="..\lib\lua\src\lauxlib.h"
>
</File>
<File
RelativePath="..\lib\lua\src\lcode.h"
>
</File>
<File
RelativePath="..\lib\lua\src\ldebug.h"
>
</File>
<File
RelativePath="..\lib\lua\src\ldo.h"
>
</File>
<File
RelativePath="..\lib\lua\src\lfunc.h"
>
</File>
<File
RelativePath="..\lib\lua\src\lgc.h"
>
</File>
<File
RelativePath="..\lib\lua\src\llex.h"
>
</File>
<File
RelativePath="..\lib\lua\src\llimits.h"
>
</File>
<File
RelativePath="..\lib\lua\src\lmem.h"
>
</File>
<File
RelativePath="..\lib\lua\src\lobject.h"
>
</File>
<File
RelativePath="..\lib\lua\src\lopcodes.h"
>
</File>
<File
RelativePath="..\lib\lua\src\lparser.h"
>
</File>
<File
RelativePath="..\lib\lua\src\lstate.h"
>
</File>
<File
RelativePath="..\lib\lua\src\lstring.h"
>
</File>
<File
RelativePath="..\lib\lua\src\ltable.h"
>
</File>
<File
RelativePath="..\lib\lua\src\ltm.h"
>
</File>
<File
RelativePath="..\lib\lua\src\lua.h"
>
</File>
<File
RelativePath="..\lib\lua\src\luaconf.h"
>
</File>
<File
RelativePath="..\lib\lua\src\lualib.h"
>
</File>
<File
RelativePath="..\lib\lua\src\lundump.h"
>
</File>
<File
RelativePath="..\lib\lua\src\lvm.h"
>
</File>
<File
RelativePath="..\lib\lua\src\lzio.h"
>
</File>
</Files>
<Globals>
</Globals>
</VisualStudioProject>

View File

@ -1,585 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<CodeBlocks_project_file>
<FileVersion major="1" minor="6" />
<Project>
<Option title="MCServer" />
<Option pch_mode="2" />
<Option compiler="gcc" />
<Build>
<Target title="Debug Win32">
<Option output="C:/Programovani/Programy/cizi/mc-server/VC2008/../MCServer/MCServer_debug" prefix_auto="1" extension_auto="1" />
<Option object_output="Debug" />
<Option external_deps="lib.a;lib.a;lib.a;lib.a;lib.a;lib.a;lib.a;" />
<Option type="1" />
<Option compiler="gcc" />
<Compiler>
<Add option="-W" />
<Add option="-O0" />
<Add option="-DWIN32" />
<Add option="-D_DEBUG" />
<Add option="-D_CONSOLE" />
<Add option="-DXML_STATIC" />
<Add directory="../zlib-1.2.7" />
<Add directory="../jsoncpp-src-0.5.0/include" />
<Add directory="../lua-5.1.4/src" />
<Add directory="../tolua++-1.0.93/include" />
<Add directory=".." />
<Add directory="../expat" />
</Compiler>
<ResourceCompiler>
<Add directory="../zlib-1.2.7" />
<Add directory="../jsoncpp-src-0.5.0/include" />
<Add directory="../lua-5.1.4/src" />
<Add directory="../tolua++-1.0.93/include" />
<Add directory=".." />
<Add directory="../expat" />
</ResourceCompiler>
<Linker>
<Add option="-s" />
<Add library="ws2_32" />
<Add library="Psapi" />
<Add library="lib.a" />
</Linker>
</Target>
<Target title="Release Win32">
<Option output="C:/Programovani/Programy/cizi/mc-server/VC2008/../MCServer/MCServer" prefix_auto="1" extension_auto="1" />
<Option object_output="Release" />
<Option external_deps="lib.a;lib.a;lib.a;lib.a;lib.a;lib.a;lib.a;" />
<Option type="1" />
<Option compiler="gcc" />
<Compiler>
<Add option="-DWIN32" />
<Add option="-DNDEBUG" />
<Add option="-D_CONSOLE" />
<Add option="-DXML_STATIC" />
<Add option="-W" />
<Add option="-O3" />
<Add directory="../lib/zlib" />
<Add directory="../lib/jsoncpp/include" />
<Add directory="../lib/lua/src" />
<Add directory="../lib/tolua++/include" />
<Add directory=".." />
<Add directory="../lib/expat" />
</Compiler>
<ResourceCompiler>
<Add directory="../lib/zlib" />
<Add directory="../lib/jsoncpp/include" />
<Add directory="../lib/lua/src" />
<Add directory="../lib/tolua++/include" />
<Add directory=".." />
<Add directory="../lib/expat" />
</ResourceCompiler>
<Linker>
<Add library="ws2_32" />
<Add library="Psapi" />
<Add library="lib.a" />
</Linker>
</Target>
<Target title="Release profiled Win32">
<Option output="C:/Programovani/Programy/cizi/mc-server/VC2008/../MCServer/MCServer_profiled" prefix_auto="1" extension_auto="1" />
<Option object_output="Release profiled Win32" />
<Option external_deps="lib.a;lib.a;lib.a;lib.a;lib.a;" />
<Option type="1" />
<Option compiler="gcc" />
<Compiler>
<Add option="-DWIN32" />
<Add option="-DNDEBUG" />
<Add option="-D_CONSOLE" />
<Add option="-DXML_STATIC" />
<Add option="-W" />
<Add option="-O3" />
<Add directory="../lib/zlib" />
<Add directory="../lib/jsoncpp/include" />
<Add directory="../lib/lua/src" />
<Add directory="../lib/tolua++/include" />
<Add directory=".." />
<Add directory="../lib/expat" />
</Compiler>
<ResourceCompiler>
<Add directory="../lib/zlib" />
<Add directory="../lib/jsoncpp/include" />
<Add directory="../lib/lua/src" />
<Add directory="../lib/tolua++/include" />
<Add directory=".." />
<Add directory="../lib/expat" />
</ResourceCompiler>
<Linker>
<Add library="ws2_32" />
<Add library="Psapi" />
<Add library="lib.a" />
</Linker>
</Target>
</Build>
<Compiler>
<Add option="-fpermissive" />
<Add directory="../src" />
</Compiler>
<Unit filename="../Android/jni/Android.mk">
<Option target="&lt;{~None~}&gt;" />
</Unit>
<Unit filename="../Android/jni/Application.mk">
<Option target="&lt;{~None~}&gt;" />
</Unit>
<Unit filename="../Android/jni/ToJava.cpp">
<Option target="&lt;{~None~}&gt;" />
</Unit>
<Unit filename="../Android/jni/ToJava.h">
<Option target="&lt;{~None~}&gt;" />
</Unit>
<Unit filename="../Android/jni/app-android.cpp">
<Option target="&lt;{~None~}&gt;" />
</Unit>
<Unit filename="../MCServer/API.txt" />
<Unit filename="../MCServer/Plugins/ChatLog/plugin.lua" />
<Unit filename="../MCServer/Plugins/Core/ban.lua" />
<Unit filename="../MCServer/Plugins/Core/console.lua" />
<Unit filename="../MCServer/Plugins/Core/coords.lua" />
<Unit filename="../MCServer/Plugins/Core/gamemode.lua" />
<Unit filename="../MCServer/Plugins/Core/gotoworld.lua" />
<Unit filename="../MCServer/Plugins/Core/help.lua" />
<Unit filename="../MCServer/Plugins/Core/item.lua" />
<Unit filename="../MCServer/Plugins/Core/kick.lua" />
<Unit filename="../MCServer/Plugins/Core/main.lua" />
<Unit filename="../MCServer/Plugins/Core/motd.lua" />
<Unit filename="../MCServer/Plugins/Core/onblockdig.lua" />
<Unit filename="../MCServer/Plugins/Core/onblockplace.lua" />
<Unit filename="../MCServer/Plugins/Core/oncraftingnorecipe.lua" />
<Unit filename="../MCServer/Plugins/Core/onkilled.lua" />
<Unit filename="../MCServer/Plugins/Core/onlogin.lua" />
<Unit filename="../MCServer/Plugins/Core/onplayerjoin.lua" />
<Unit filename="../MCServer/Plugins/Core/playerlist.lua" />
<Unit filename="../MCServer/Plugins/Core/pluginlist.lua" />
<Unit filename="../MCServer/Plugins/Core/regeneratechunk.lua" />
<Unit filename="../MCServer/Plugins/Core/reload.lua" />
<Unit filename="../MCServer/Plugins/Core/spawn.lua" />
<Unit filename="../MCServer/Plugins/Core/stop.lua" />
<Unit filename="../MCServer/Plugins/Core/teleport.lua" />
<Unit filename="../MCServer/Plugins/Core/time.lua" />
<Unit filename="../MCServer/Plugins/Core/top.lua" />
<Unit filename="../MCServer/Plugins/Core/unban.lua" />
<Unit filename="../MCServer/Plugins/Core/viewdistance.lua" />
<Unit filename="../MCServer/Plugins/Core/web_chat.lua" />
<Unit filename="../MCServer/Plugins/Core/web_manageplugins.lua" />
<Unit filename="../MCServer/Plugins/Core/web_permissions.lua" />
<Unit filename="../MCServer/Plugins/Core/web_playerlist.lua" />
<Unit filename="../MCServer/Plugins/Core/web_serversettings.lua" />
<Unit filename="../MCServer/Plugins/Core/web_whitelist.lua" />
<Unit filename="../MCServer/crafting.txt" />
<Unit filename="../MCServer/furnace.txt" />
<Unit filename="../MCServer/groups.ini" />
<Unit filename="../MCServer/items.ini" />
<Unit filename="../MCServer/monsters.ini" />
<Unit filename="../MCServer/settings.ini" />
<Unit filename="../MCServer/terrain.ini" />
<Unit filename="../MCServer/users.ini" />
<Unit filename="../MCServer/webadmin.ini" />
<Unit filename="../lib/iniFile/iniFile.cpp" />
<Unit filename="../lib/iniFile/iniFile.h" />
<Unit filename="../src/AllToLua.pkg">
<Option target="&lt;{~None~}&gt;" />
</Unit>
<Unit filename="../src/Authenticator.cpp" />
<Unit filename="../src/Authenticator.h" />
<Unit filename="../src/Bindings.cpp" />
<Unit filename="../src/Bindings.h" />
<Unit filename="../src/BlockArea.cpp" />
<Unit filename="../src/BlockArea.h" />
<Unit filename="../src/BlockEntity.h" />
<Unit filename="../src/BlockEntityWithItems.h" />
<Unit filename="../src/BlockID.cpp" />
<Unit filename="../src/BlockID.h" />
<Unit filename="../src/Blocks/BlockBed.cpp" />
<Unit filename="../src/Blocks/BlockBed.h" />
<Unit filename="../src/Blocks/BlockBrewingStand.h" />
<Unit filename="../src/Blocks/BlockCactus.h" />
<Unit filename="../src/Blocks/BlockCauldron.h" />
<Unit filename="../src/Blocks/BlockChest.h" />
<Unit filename="../src/Blocks/BlockCloth.h" />
<Unit filename="../src/Blocks/BlockCobWeb.h" />
<Unit filename="../src/Blocks/BlockCrops.h" />
<Unit filename="../src/Blocks/BlockDirt.h" />
<Unit filename="../src/Blocks/BlockDispenser.h" />
<Unit filename="../src/Blocks/BlockDoor.cpp" />
<Unit filename="../src/Blocks/BlockDoor.h" />
<Unit filename="../src/Blocks/BlockEnderchest.h" />
<Unit filename="../src/Blocks/BlockEntity.h" />
<Unit filename="../src/Blocks/BlockFarmland.h" />
<Unit filename="../src/Blocks/BlockFenceGate.h" />
<Unit filename="../src/Blocks/BlockFire.h" />
<Unit filename="../src/Blocks/BlockFlower.h" />
<Unit filename="../src/Blocks/BlockFlowerPot.h" />
<Unit filename="../src/Blocks/BlockFluid.h" />
<Unit filename="../src/Blocks/BlockFurnace.h" />
<Unit filename="../src/Blocks/BlockGlass.h" />
<Unit filename="../src/Blocks/BlockGlowstone.h" />
<Unit filename="../src/Blocks/BlockGravel.h" />
<Unit filename="../src/Blocks/BlockHandler.cpp" />
<Unit filename="../src/Blocks/BlockHandler.h" />
<Unit filename="../src/Blocks/BlockIce.h" />
<Unit filename="../src/Blocks/BlockLadder.h" />
<Unit filename="../src/Blocks/BlockLeaves.h" />
<Unit filename="../src/Blocks/BlockLever.cpp" />
<Unit filename="../src/Blocks/BlockLever.h" />
<Unit filename="../src/Blocks/BlockMelon.h" />
<Unit filename="../src/Blocks/BlockMushroom.h" />
<Unit filename="../src/Blocks/BlockMycelium.h" />
<Unit filename="../src/Blocks/BlockNote.h" />
<Unit filename="../src/Blocks/BlockOre.h" />
<Unit filename="../src/Blocks/BlockPiston.cpp" />
<Unit filename="../src/Blocks/BlockPiston.h" />
<Unit filename="../src/Blocks/BlockRail.h" />
<Unit filename="../src/Blocks/BlockRedstone.cpp" />
<Unit filename="../src/Blocks/BlockRedstone.h" />
<Unit filename="../src/Blocks/BlockRedstoneOre.h" />
<Unit filename="../src/Blocks/BlockRedstoneRepeater.cpp" />
<Unit filename="../src/Blocks/BlockRedstoneRepeater.h" />
<Unit filename="../src/Blocks/BlockRedstoneTorch.h" />
<Unit filename="../src/Blocks/BlockSand.h" />
<Unit filename="../src/Blocks/BlockSapling.h" />
<Unit filename="../src/Blocks/BlockSign.h" />
<Unit filename="../src/Blocks/BlockSlab.h" />
<Unit filename="../src/Blocks/BlockSnow.h" />
<Unit filename="../src/Blocks/BlockStairs.h" />
<Unit filename="../src/Blocks/BlockStems.h" />
<Unit filename="../src/Blocks/BlockStone.h" />
<Unit filename="../src/Blocks/BlockSugarcane.h" />
<Unit filename="../src/Blocks/BlockTNT.h" />
<Unit filename="../src/Blocks/BlockTallGrass.h" />
<Unit filename="../src/Blocks/BlockTorch.h" />
<Unit filename="../src/Blocks/BlockVine.h" />
<Unit filename="../src/Blocks/BlockWood.h" />
<Unit filename="../src/Blocks/BlockWorkbench.h" />
<Unit filename="../src/ByteBuffer.cpp" />
<Unit filename="../src/ByteBuffer.h" />
<Unit filename="../src/ChatColor.cpp" />
<Unit filename="../src/ChatColor.h" />
<Unit filename="../src/ChestEntity.cpp" />
<Unit filename="../src/ChestEntity.h" />
<Unit filename="../src/Chunk.cpp" />
<Unit filename="../src/Chunk.h" />
<Unit filename="../src/Chunk.inl.h" />
<Unit filename="../src/ChunkDef.h" />
<Unit filename="../src/ChunkMap.cpp" />
<Unit filename="../src/ChunkMap.h" />
<Unit filename="../src/ChunkSender.cpp" />
<Unit filename="../src/ChunkSender.h" />
<Unit filename="../src/ClientHandle.cpp" />
<Unit filename="../src/ClientHandle.h" />
<Unit filename="../src/CraftingRecipes.cpp" />
<Unit filename="../src/CraftingRecipes.h" />
<Unit filename="../src/Cuboid.cpp" />
<Unit filename="../src/Cuboid.h" />
<Unit filename="../src/Defines.h" />
<Unit filename="../src/DispenserEntity.cpp" />
<Unit filename="../src/DispenserEntity.h" />
<Unit filename="../src/Doors.h" />
<Unit filename="../src/DropperEntity.h" />
<Unit filename="../src/Endianness.h" />
<Unit filename="../src/Entity.cpp" />
<Unit filename="../src/Entity.h" />
<Unit filename="../src/FallingBlock.cpp" />
<Unit filename="../src/FallingBlock.h" />
<Unit filename="../src/FurnaceEntity.cpp" />
<Unit filename="../src/FurnaceEntity.h" />
<Unit filename="../src/FurnaceRecipe.cpp" />
<Unit filename="../src/FurnaceRecipe.h" />
<Unit filename="../src/Generating/BioGen.cpp" />
<Unit filename="../src/Generating/BioGen.h" />
<Unit filename="../src/Generating/Caves.cpp" />
<Unit filename="../src/Generating/Caves.h" />
<Unit filename="../src/Generating/ChunkDesc.cpp" />
<Unit filename="../src/Generating/ChunkDesc.h" />
<Unit filename="../src/Generating/ChunkGenerator.cpp" />
<Unit filename="../src/Generating/ChunkGenerator.h" />
<Unit filename="../src/Generating/CompoGen.cpp" />
<Unit filename="../src/Generating/CompoGen.h" />
<Unit filename="../src/Generating/ComposableGenerator.cpp" />
<Unit filename="../src/Generating/ComposableGenerator.h" />
<Unit filename="../src/Generating/DistortedHeightmap.cpp" />
<Unit filename="../src/Generating/DistortedHeightmap.h" />
<Unit filename="../src/Generating/FinishGen.cpp" />
<Unit filename="../src/Generating/FinishGen.h" />
<Unit filename="../src/Generating/HeiGen.cpp" />
<Unit filename="../src/Generating/HeiGen.h" />
<Unit filename="../src/Generating/MineShafts.cpp" />
<Unit filename="../src/Generating/MineShafts.h" />
<Unit filename="../src/Generating/Noise3DGenerator.cpp" />
<Unit filename="../src/Generating/Noise3DGenerator.h" />
<Unit filename="../src/Generating/Ravines.cpp" />
<Unit filename="../src/Generating/Ravines.h" />
<Unit filename="../src/Generating/StructGen.cpp" />
<Unit filename="../src/Generating/StructGen.h" />
<Unit filename="../src/Generating/Trees.cpp" />
<Unit filename="../src/Generating/Trees.h" />
<Unit filename="../src/Globals.cpp" />
<Unit filename="../src/Globals.h" />
<Unit filename="../src/Group.cpp" />
<Unit filename="../src/Group.h" />
<Unit filename="../src/GroupManager.cpp" />
<Unit filename="../src/GroupManager.h" />
<Unit filename="../src/Inventory.cpp" />
<Unit filename="../src/Inventory.h" />
<Unit filename="../src/Item.cpp" />
<Unit filename="../src/Item.h" />
<Unit filename="../src/ItemGrid.cpp" />
<Unit filename="../src/ItemGrid.h" />
<Unit filename="../src/Items/ItemBed.h" />
<Unit filename="../src/Items/ItemBrewingStand.h" />
<Unit filename="../src/Items/ItemBucket.h" />
<Unit filename="../src/Items/ItemCauldron.h" />
<Unit filename="../src/Items/ItemCloth.h" />
<Unit filename="../src/Items/ItemDoor.h" />
<Unit filename="../src/Items/ItemDye.h" />
<Unit filename="../src/Items/ItemFlowerPot.h" />
<Unit filename="../src/Items/ItemFood.h" />
<Unit filename="../src/Items/ItemHandler.cpp" />
<Unit filename="../src/Items/ItemHandler.h" />
<Unit filename="../src/Items/ItemHoe.h" />
<Unit filename="../src/Items/ItemLeaves.h" />
<Unit filename="../src/Items/ItemLighter.h" />
<Unit filename="../src/Items/ItemMinecart.h" />
<Unit filename="../src/Items/ItemPickaxe.h" />
<Unit filename="../src/Items/ItemRedstoneDust.h" />
<Unit filename="../src/Items/ItemRedstoneRepeater.h" />
<Unit filename="../src/Items/ItemSapling.h" />
<Unit filename="../src/Items/ItemSeeds.h" />
<Unit filename="../src/Items/ItemShears.h" />
<Unit filename="../src/Items/ItemShovel.h" />
<Unit filename="../src/Items/ItemSign.h" />
<Unit filename="../src/Items/ItemSlab.h" />
<Unit filename="../src/Items/ItemSpawnEgg.h" />
<Unit filename="../src/Items/ItemSugarcane.h" />
<Unit filename="../src/Items/ItemSword.h" />
<Unit filename="../src/Items/ItemWood.h" />
<Unit filename="../src/JukeboxEntity.cpp" />
<Unit filename="../src/JukeboxEntity.h" />
<Unit filename="../src/Ladder.h" />
<Unit filename="../src/LeakFinder.h" />
<Unit filename="../src/LightingThread.cpp" />
<Unit filename="../src/LightingThread.h" />
<Unit filename="../src/LinearInterpolation.cpp" />
<Unit filename="../src/LinearInterpolation.h" />
<Unit filename="../src/LinearUpscale.h" />
<Unit filename="../src/Log.cpp" />
<Unit filename="../src/Log.h" />
<Unit filename="../lib/luaexpat/lxplib.c">
<Option compilerVar="CC" />
</Unit>
<Unit filename="../lib/luaexpat/lxplib.h" />
<Unit filename="../src/LuaFunctions.h" />
<Unit filename="../src/MCLogger.cpp" />
<Unit filename="../src/MCLogger.h" />
<Unit filename="../src/ManualBindings.cpp" />
<Unit filename="../src/ManualBindings.h" />
<Unit filename="../src/Matrix4f.cpp" />
<Unit filename="../src/Matrix4f.h" />
<Unit filename="../src/MemoryLeak.h" />
<Unit filename="../src/MersenneTwister.h" />
<Unit filename="../src/Minecart.cpp" />
<Unit filename="../src/Minecart.h" />
<Unit filename="../src/Mobs/AggressiveMonster.cpp" />
<Unit filename="../src/Mobs/AggressiveMonster.h" />
<Unit filename="../src/Mobs/Bat.h" />
<Unit filename="../src/Mobs/Blaze.cpp" />
<Unit filename="../src/Mobs/Blaze.h" />
<Unit filename="../src/Mobs/Cavespider.cpp" />
<Unit filename="../src/Mobs/Cavespider.h" />
<Unit filename="../src/Mobs/Chicken.cpp" />
<Unit filename="../src/Mobs/Chicken.h" />
<Unit filename="../src/Mobs/Cow.cpp" />
<Unit filename="../src/Mobs/Cow.h" />
<Unit filename="../src/Mobs/Creeper.cpp" />
<Unit filename="../src/Mobs/Creeper.h" />
<Unit filename="../src/Mobs/Enderman.cpp" />
<Unit filename="../src/Mobs/Enderman.h" />
<Unit filename="../src/Mobs/Ghast.cpp" />
<Unit filename="../src/Mobs/Ghast.h" />
<Unit filename="../src/Mobs/Magmacube.cpp" />
<Unit filename="../src/Mobs/Magmacube.h" />
<Unit filename="../src/Mobs/Monster.cpp" />
<Unit filename="../src/Mobs/Monster.h" />
<Unit filename="../src/Mobs/Mooshroom.cpp" />
<Unit filename="../src/Mobs/Mooshroom.h" />
<Unit filename="../src/Mobs/Ocelot.h" />
<Unit filename="../src/Mobs/PassiveAggressiveMonster.cpp" />
<Unit filename="../src/Mobs/PassiveAggressiveMonster.h" />
<Unit filename="../src/Mobs/PassiveMonster.cpp" />
<Unit filename="../src/Mobs/PassiveMonster.h" />
<Unit filename="../src/Mobs/Pig.cpp" />
<Unit filename="../src/Mobs/Pig.h" />
<Unit filename="../src/Mobs/Sheep.cpp" />
<Unit filename="../src/Mobs/Sheep.h" />
<Unit filename="../src/Mobs/Silverfish.h" />
<Unit filename="../src/Mobs/Skeleton.cpp" />
<Unit filename="../src/Mobs/Skeleton.h" />
<Unit filename="../src/Mobs/Slime.cpp" />
<Unit filename="../src/Mobs/Slime.h" />
<Unit filename="../src/Mobs/Spider.cpp" />
<Unit filename="../src/Mobs/Spider.h" />
<Unit filename="../src/Mobs/Squid.cpp" />
<Unit filename="../src/Mobs/Squid.h" />
<Unit filename="../src/Mobs/Villager.cpp" />
<Unit filename="../src/Mobs/Villager.h" />
<Unit filename="../src/Mobs/Witch.cpp" />
<Unit filename="../src/Mobs/Witch.h" />
<Unit filename="../src/Mobs/Wolf.h" />
<Unit filename="../src/Mobs/Zombie.cpp" />
<Unit filename="../src/Mobs/Zombie.h" />
<Unit filename="../src/Mobs/Zombiepigman.cpp" />
<Unit filename="../src/Mobs/Zombiepigman.h" />
<Unit filename="../src/MonsterConfig.cpp" />
<Unit filename="../src/MonsterConfig.h" />
<Unit filename="../src/Noise.cpp" />
<Unit filename="../src/Noise.h" />
<Unit filename="../src/NoteEntity.cpp" />
<Unit filename="../src/NoteEntity.h" />
<Unit filename="../src/OSSupport/BlockingTCPLink.cpp" />
<Unit filename="../src/OSSupport/BlockingTCPLink.h" />
<Unit filename="../src/OSSupport/CriticalSection.cpp" />
<Unit filename="../src/OSSupport/CriticalSection.h" />
<Unit filename="../src/OSSupport/Event.cpp" />
<Unit filename="../src/OSSupport/Event.h" />
<Unit filename="../src/OSSupport/File.cpp" />
<Unit filename="../src/OSSupport/File.h" />
<Unit filename="../src/OSSupport/GZipFile.cpp" />
<Unit filename="../src/OSSupport/GZipFile.h" />
<Unit filename="../src/OSSupport/IsThread.cpp" />
<Unit filename="../src/OSSupport/IsThread.h" />
<Unit filename="../src/OSSupport/ListenThread.cpp" />
<Unit filename="../src/OSSupport/ListenThread.h" />
<Unit filename="../src/OSSupport/MakeDir.cpp" />
<Unit filename="../src/OSSupport/MakeDir.h" />
<Unit filename="../src/OSSupport/Semaphore.cpp" />
<Unit filename="../src/OSSupport/Semaphore.h" />
<Unit filename="../src/OSSupport/Sleep.cpp" />
<Unit filename="../src/OSSupport/Sleep.h" />
<Unit filename="../src/OSSupport/Socket.cpp" />
<Unit filename="../src/OSSupport/Socket.h" />
<Unit filename="../src/OSSupport/SocketThreads.cpp" />
<Unit filename="../src/OSSupport/SocketThreads.h" />
<Unit filename="../src/OSSupport/Thread.cpp" />
<Unit filename="../src/OSSupport/Thread.h" />
<Unit filename="../src/OSSupport/Timer.cpp" />
<Unit filename="../src/OSSupport/Timer.h" />
<Unit filename="../src/Pawn.cpp" />
<Unit filename="../src/Pawn.h" />
<Unit filename="../src/Pickup.cpp" />
<Unit filename="../src/Pickup.h" />
<Unit filename="../src/Piston.cpp" />
<Unit filename="../src/Piston.h" />
<Unit filename="../src/Player.cpp" />
<Unit filename="../src/Player.h" />
<Unit filename="../src/Plugin.cpp" />
<Unit filename="../src/Plugin.h" />
<Unit filename="../src/PluginManager.cpp" />
<Unit filename="../src/PluginManager.h" />
<Unit filename="../src/ProbabDistrib.cpp" />
<Unit filename="../src/ProbabDistrib.h" />
<Unit filename="../src/Protocol/ChunkDataSerializer.cpp" />
<Unit filename="../src/Protocol/ChunkDataSerializer.h" />
<Unit filename="../src/Protocol/Protocol.h" />
<Unit filename="../src/Protocol/Protocol125.cpp" />
<Unit filename="../src/Protocol/Protocol125.h" />
<Unit filename="../src/Protocol/Protocol132.cpp" />
<Unit filename="../src/Protocol/Protocol132.h" />
<Unit filename="../src/Protocol/Protocol14x.cpp" />
<Unit filename="../src/Protocol/Protocol14x.h" />
<Unit filename="../src/Protocol/Protocol15x.cpp" />
<Unit filename="../src/Protocol/Protocol15x.h" />
<Unit filename="../src/Protocol/ProtocolRecognizer.cpp" />
<Unit filename="../src/Protocol/ProtocolRecognizer.h" />
<Unit filename="../src/ReferenceManager.cpp" />
<Unit filename="../src/ReferenceManager.h" />
<Unit filename="../src/Root.cpp" />
<Unit filename="../src/Root.h" />
<Unit filename="../lib/sqlite/lsqlite3.c">
<Option compilerVar="CC" />
</Unit>
<Unit filename="../lib/sqlite/sqlite3.c">
<Option compilerVar="CC" />
</Unit>
<Unit filename="../lib/sqlite/sqlite3.h" />
<Unit filename="../lib/sqlite/urls.txt" />
<Unit filename="../src/Server.cpp" />
<Unit filename="../src/Server.h" />
<Unit filename="../src/Sign.h" />
<Unit filename="../src/SignEntity.cpp" />
<Unit filename="../src/SignEntity.h" />
<Unit filename="../src/Simulator/DelayedFluidSimulator.cpp" />
<Unit filename="../src/Simulator/DelayedFluidSimulator.h" />
<Unit filename="../src/Simulator/FireSimulator.cpp" />
<Unit filename="../src/Simulator/FireSimulator.h" />
<Unit filename="../src/Simulator/FloodyFluidSimulator.cpp" />
<Unit filename="../src/Simulator/FloodyFluidSimulator.h" />
<Unit filename="../src/Simulator/FluidSimulator.cpp" />
<Unit filename="../src/Simulator/FluidSimulator.h" />
<Unit filename="../src/Simulator/NoopFluidSimulator.h" />
<Unit filename="../src/Simulator/RedstoneSimulator.cpp" />
<Unit filename="../src/Simulator/RedstoneSimulator.h" />
<Unit filename="../src/Simulator/SandSimulator.cpp" />
<Unit filename="../src/Simulator/SandSimulator.h" />
<Unit filename="../src/Simulator/Simulator.cpp" />
<Unit filename="../src/Simulator/Simulator.h" />
<Unit filename="../src/Simulator/SimulatorManager.cpp" />
<Unit filename="../src/Simulator/SimulatorManager.h" />
<Unit filename="../src/Simulator/VaporizeFluidSimulator.cpp" />
<Unit filename="../src/Simulator/VaporizeFluidSimulator.h" />
<Unit filename="../src/StackWalker.h" />
<Unit filename="../src/Stairs.h" />
<Unit filename="../src/StringCompression.cpp" />
<Unit filename="../src/StringCompression.h" />
<Unit filename="../src/StringMap.cpp" />
<Unit filename="../src/StringMap.h" />
<Unit filename="../src/StringUtils.cpp" />
<Unit filename="../src/StringUtils.h" />
<Unit filename="../src/TNTEntity.cpp" />
<Unit filename="../src/TNTEntity.h" />
<Unit filename="../src/Torch.h" />
<Unit filename="../src/Tracer.cpp" />
<Unit filename="../src/Tracer.h" />
<Unit filename="../src/UI/SlotArea.cpp" />
<Unit filename="../src/UI/SlotArea.h" />
<Unit filename="../src/UI/Window.cpp" />
<Unit filename="../src/UI/Window.h" />
<Unit filename="../src/UI/WindowOwner.h" />
<Unit filename="../src/Vector3d.cpp" />
<Unit filename="../src/Vector3d.h" />
<Unit filename="../src/Vector3f.cpp" />
<Unit filename="../src/Vector3f.h" />
<Unit filename="../src/Vector3i.cpp" />
<Unit filename="../src/Vector3i.h" />
<Unit filename="../src/Vine.h" />
<Unit filename="../src/WebAdmin.cpp" />
<Unit filename="../src/WebAdmin.h" />
<Unit filename="../src/WebPlugin.cpp" />
<Unit filename="../src/WebPlugin.h" />
<Unit filename="../src/World.cpp" />
<Unit filename="../src/World.h" />
<Unit filename="../src/WorldStorage/FastNBT.cpp" />
<Unit filename="../src/WorldStorage/FastNBT.h" />
<Unit filename="../src/WorldStorage/NBTChunkSerializer.cpp" />
<Unit filename="../src/WorldStorage/NBTChunkSerializer.h" />
<Unit filename="../src/WorldStorage/WSSAnvil.cpp" />
<Unit filename="../src/WorldStorage/WSSAnvil.h" />
<Unit filename="../src/WorldStorage/WSSCompact.cpp" />
<Unit filename="../src/WorldStorage/WSSCompact.h" />
<Unit filename="../src/WorldStorage/WorldStorage.cpp" />
<Unit filename="../src/WorldStorage/WorldStorage.h" />
<Unit filename="../src/main.cpp" />
<Unit filename="../lib/md5/md5.cpp" />
<Unit filename="../lib/md5/md5.h" />
<Unit filename="../src/tolua++.h" />
<Unit filename="../src/tolua_base.h" />
<Unit filename="../webadmin/template.html" />
<Unit filename="MCServer.rc">
<Option compilerVar="WINDRES" />
</Unit>
<Unit filename="icon.ico" />
<Unit filename="resource.h" />
<Extensions>
<code_completion />
<envvars />
<debugger />
</Extensions>
</Project>
</CodeBlocks_project_file>

View File

@ -1,108 +0,0 @@
Microsoft Visual Studio Solution File, Format Version 10.00
# Visual C++ Express 2008
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "MCServer", "MCServer.vcproj", "{32012054-0C96-4C43-AB27-174FF8E72D66}"
ProjectSection(ProjectDependencies) = postProject
{082E8185-7B3A-4945-8C82-9132341A329D} = {082E8185-7B3A-4945-8C82-9132341A329D}
{5FCFAF8D-FF2C-456D-A72C-1D76F913AD96} = {5FCFAF8D-FF2C-456D-A72C-1D76F913AD96}
{3423EC9A-52E4-4A4D-9753-EDEBC38785EF} = {3423EC9A-52E4-4A4D-9753-EDEBC38785EF}
{EEAB54AD-114C-4AB8-8482-0A52D502BD35} = {EEAB54AD-114C-4AB8-8482-0A52D502BD35}
{5AAA90B9-946D-4034-83F3-676B06A6E326} = {5AAA90B9-946D-4034-83F3-676B06A6E326}
{EA9D50FD-937A-4EF5-8C37-5F4175AF4FEA} = {EA9D50FD-937A-4EF5-8C37-5F4175AF4FEA}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "zlib", "zlib.vcproj", "{EA9D50FD-937A-4EF5-8C37-5F4175AF4FEA}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "JsonCpp", "JsonCpp.vcproj", "{5AAA90B9-946D-4034-83F3-676B06A6E326}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Lua", "Lua.vcproj", "{082E8185-7B3A-4945-8C82-9132341A329D}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ToLua", "ToLua.vcproj", "{EEAB54AD-114C-4AB8-8482-0A52D502BD35}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "CryptoPP", "CryptoPP.vcproj", "{3423EC9A-52E4-4A4D-9753-EDEBC38785EF}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "expat", "expat.vcproj", "{5FCFAF8D-FF2C-456D-A72C-1D76F913AD96}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug profiled|Win32 = Debug profiled|Win32
Debug_LuaStatic|Win32 = Debug_LuaStatic|Win32
Debug|Win32 = Debug|Win32
Release profiled|Win32 = Release profiled|Win32
Release|Win32 = Release|Win32
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{32012054-0C96-4C43-AB27-174FF8E72D66}.Debug profiled|Win32.ActiveCfg = Debug profiled|Win32
{32012054-0C96-4C43-AB27-174FF8E72D66}.Debug profiled|Win32.Build.0 = Debug profiled|Win32
{32012054-0C96-4C43-AB27-174FF8E72D66}.Debug_LuaStatic|Win32.ActiveCfg = Debug_LuaStatic|Win32
{32012054-0C96-4C43-AB27-174FF8E72D66}.Debug_LuaStatic|Win32.Build.0 = Debug_LuaStatic|Win32
{32012054-0C96-4C43-AB27-174FF8E72D66}.Debug|Win32.ActiveCfg = Debug|Win32
{32012054-0C96-4C43-AB27-174FF8E72D66}.Debug|Win32.Build.0 = Debug|Win32
{32012054-0C96-4C43-AB27-174FF8E72D66}.Release profiled|Win32.ActiveCfg = Release profiled|Win32
{32012054-0C96-4C43-AB27-174FF8E72D66}.Release profiled|Win32.Build.0 = Release profiled|Win32
{32012054-0C96-4C43-AB27-174FF8E72D66}.Release|Win32.ActiveCfg = Release|Win32
{32012054-0C96-4C43-AB27-174FF8E72D66}.Release|Win32.Build.0 = Release|Win32
{EA9D50FD-937A-4EF5-8C37-5F4175AF4FEA}.Debug profiled|Win32.ActiveCfg = Debug profiled|Win32
{EA9D50FD-937A-4EF5-8C37-5F4175AF4FEA}.Debug profiled|Win32.Build.0 = Debug profiled|Win32
{EA9D50FD-937A-4EF5-8C37-5F4175AF4FEA}.Debug_LuaStatic|Win32.ActiveCfg = Debug_LuaStatic|Win32
{EA9D50FD-937A-4EF5-8C37-5F4175AF4FEA}.Debug_LuaStatic|Win32.Build.0 = Debug_LuaStatic|Win32
{EA9D50FD-937A-4EF5-8C37-5F4175AF4FEA}.Debug|Win32.ActiveCfg = Debug|Win32
{EA9D50FD-937A-4EF5-8C37-5F4175AF4FEA}.Debug|Win32.Build.0 = Debug|Win32
{EA9D50FD-937A-4EF5-8C37-5F4175AF4FEA}.Release profiled|Win32.ActiveCfg = Release profiled|Win32
{EA9D50FD-937A-4EF5-8C37-5F4175AF4FEA}.Release profiled|Win32.Build.0 = Release profiled|Win32
{EA9D50FD-937A-4EF5-8C37-5F4175AF4FEA}.Release|Win32.ActiveCfg = Release|Win32
{EA9D50FD-937A-4EF5-8C37-5F4175AF4FEA}.Release|Win32.Build.0 = Release|Win32
{5AAA90B9-946D-4034-83F3-676B06A6E326}.Debug profiled|Win32.ActiveCfg = Debug profiled|Win32
{5AAA90B9-946D-4034-83F3-676B06A6E326}.Debug profiled|Win32.Build.0 = Debug profiled|Win32
{5AAA90B9-946D-4034-83F3-676B06A6E326}.Debug_LuaStatic|Win32.ActiveCfg = Debug_LuaStatic|Win32
{5AAA90B9-946D-4034-83F3-676B06A6E326}.Debug_LuaStatic|Win32.Build.0 = Debug_LuaStatic|Win32
{5AAA90B9-946D-4034-83F3-676B06A6E326}.Debug|Win32.ActiveCfg = Debug|Win32
{5AAA90B9-946D-4034-83F3-676B06A6E326}.Debug|Win32.Build.0 = Debug|Win32
{5AAA90B9-946D-4034-83F3-676B06A6E326}.Release profiled|Win32.ActiveCfg = Release profiled|Win32
{5AAA90B9-946D-4034-83F3-676B06A6E326}.Release profiled|Win32.Build.0 = Release profiled|Win32
{5AAA90B9-946D-4034-83F3-676B06A6E326}.Release|Win32.ActiveCfg = Release|Win32
{5AAA90B9-946D-4034-83F3-676B06A6E326}.Release|Win32.Build.0 = Release|Win32
{082E8185-7B3A-4945-8C82-9132341A329D}.Debug profiled|Win32.ActiveCfg = Debug profiled|Win32
{082E8185-7B3A-4945-8C82-9132341A329D}.Debug profiled|Win32.Build.0 = Debug profiled|Win32
{082E8185-7B3A-4945-8C82-9132341A329D}.Debug_LuaStatic|Win32.ActiveCfg = Debug_LuaStatic|Win32
{082E8185-7B3A-4945-8C82-9132341A329D}.Debug_LuaStatic|Win32.Build.0 = Debug_LuaStatic|Win32
{082E8185-7B3A-4945-8C82-9132341A329D}.Debug|Win32.ActiveCfg = Debug|Win32
{082E8185-7B3A-4945-8C82-9132341A329D}.Debug|Win32.Build.0 = Debug|Win32
{082E8185-7B3A-4945-8C82-9132341A329D}.Release profiled|Win32.ActiveCfg = Release profiled|Win32
{082E8185-7B3A-4945-8C82-9132341A329D}.Release profiled|Win32.Build.0 = Release profiled|Win32
{082E8185-7B3A-4945-8C82-9132341A329D}.Release|Win32.ActiveCfg = Release|Win32
{082E8185-7B3A-4945-8C82-9132341A329D}.Release|Win32.Build.0 = Release|Win32
{EEAB54AD-114C-4AB8-8482-0A52D502BD35}.Debug profiled|Win32.ActiveCfg = Debug profiled|Win32
{EEAB54AD-114C-4AB8-8482-0A52D502BD35}.Debug profiled|Win32.Build.0 = Debug profiled|Win32
{EEAB54AD-114C-4AB8-8482-0A52D502BD35}.Debug_LuaStatic|Win32.ActiveCfg = Debug_LuaStatic|Win32
{EEAB54AD-114C-4AB8-8482-0A52D502BD35}.Debug_LuaStatic|Win32.Build.0 = Debug_LuaStatic|Win32
{EEAB54AD-114C-4AB8-8482-0A52D502BD35}.Debug|Win32.ActiveCfg = Debug|Win32
{EEAB54AD-114C-4AB8-8482-0A52D502BD35}.Debug|Win32.Build.0 = Debug|Win32
{EEAB54AD-114C-4AB8-8482-0A52D502BD35}.Release profiled|Win32.ActiveCfg = Release profiled|Win32
{EEAB54AD-114C-4AB8-8482-0A52D502BD35}.Release profiled|Win32.Build.0 = Release profiled|Win32
{EEAB54AD-114C-4AB8-8482-0A52D502BD35}.Release|Win32.ActiveCfg = Release|Win32
{EEAB54AD-114C-4AB8-8482-0A52D502BD35}.Release|Win32.Build.0 = Release|Win32
{3423EC9A-52E4-4A4D-9753-EDEBC38785EF}.Debug profiled|Win32.ActiveCfg = Debug|Win32
{3423EC9A-52E4-4A4D-9753-EDEBC38785EF}.Debug profiled|Win32.Build.0 = Debug|Win32
{3423EC9A-52E4-4A4D-9753-EDEBC38785EF}.Debug_LuaStatic|Win32.ActiveCfg = Debug_LuaStatic|Win32
{3423EC9A-52E4-4A4D-9753-EDEBC38785EF}.Debug_LuaStatic|Win32.Build.0 = Debug_LuaStatic|Win32
{3423EC9A-52E4-4A4D-9753-EDEBC38785EF}.Debug|Win32.ActiveCfg = Debug|Win32
{3423EC9A-52E4-4A4D-9753-EDEBC38785EF}.Debug|Win32.Build.0 = Debug|Win32
{3423EC9A-52E4-4A4D-9753-EDEBC38785EF}.Release profiled|Win32.ActiveCfg = Release|Win32
{3423EC9A-52E4-4A4D-9753-EDEBC38785EF}.Release profiled|Win32.Build.0 = Release|Win32
{3423EC9A-52E4-4A4D-9753-EDEBC38785EF}.Release|Win32.ActiveCfg = Release|Win32
{3423EC9A-52E4-4A4D-9753-EDEBC38785EF}.Release|Win32.Build.0 = Release|Win32
{5FCFAF8D-FF2C-456D-A72C-1D76F913AD96}.Debug profiled|Win32.ActiveCfg = Debug|Win32
{5FCFAF8D-FF2C-456D-A72C-1D76F913AD96}.Debug profiled|Win32.Build.0 = Debug|Win32
{5FCFAF8D-FF2C-456D-A72C-1D76F913AD96}.Debug_LuaStatic|Win32.ActiveCfg = Debug_LuaStatic|Win32
{5FCFAF8D-FF2C-456D-A72C-1D76F913AD96}.Debug_LuaStatic|Win32.Build.0 = Debug_LuaStatic|Win32
{5FCFAF8D-FF2C-456D-A72C-1D76F913AD96}.Debug|Win32.ActiveCfg = Debug|Win32
{5FCFAF8D-FF2C-456D-A72C-1D76F913AD96}.Debug|Win32.Build.0 = Debug|Win32
{5FCFAF8D-FF2C-456D-A72C-1D76F913AD96}.Release profiled|Win32.ActiveCfg = Release|Win32
{5FCFAF8D-FF2C-456D-A72C-1D76F913AD96}.Release profiled|Win32.Build.0 = Release|Win32
{5FCFAF8D-FF2C-456D-A72C-1D76F913AD96}.Release|Win32.ActiveCfg = Release|Win32
{5FCFAF8D-FF2C-456D-A72C-1D76F913AD96}.Release|Win32.Build.0 = Release|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal

File diff suppressed because it is too large Load Diff

View File

@ -1,89 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<VisualStudioUserFile
ProjectType="Visual C++"
Version="9,00"
ShowAllFiles="false"
>
<Configurations>
<Configuration
Name="Debug|Win32"
>
<DebugSettings
Command="$(TargetPath)"
WorkingDirectory="..\MCServer"
CommandArguments=""
Attach="false"
DebuggerType="3"
RemoteCommand=""
HttpUrl=""
PDBPath=""
SQLDebugging=""
Environment=""
EnvironmentMerge="true"
DebuggerFlavor="0"
MPIRunCommand=""
MPIRunArguments=""
MPIRunWorkingDirectory=""
ApplicationCommand=""
ApplicationArguments=""
ShimCommand=""
MPIAcceptMode=""
MPIAcceptFilter=""
/>
</Configuration>
<Configuration
Name="Release|Win32"
>
<DebugSettings
Command="$(TargetPath)"
WorkingDirectory="..\MCServer"
CommandArguments=""
Attach="false"
DebuggerType="3"
RemoteCommand=""
HttpUrl=""
PDBPath=""
SQLDebugging=""
Environment=""
EnvironmentMerge="true"
DebuggerFlavor="0"
MPIRunCommand=""
MPIRunArguments=""
MPIRunWorkingDirectory=""
ApplicationCommand=""
ApplicationArguments=""
ShimCommand=""
MPIAcceptMode=""
MPIAcceptFilter=""
/>
</Configuration>
<Configuration
Name="Release profiled|Win32"
>
<DebugSettings
Command="$(TargetPath)"
WorkingDirectory="..\MCServer"
CommandArguments=""
Attach="false"
DebuggerType="3"
Remote="1"
RemoteMachine="ASAGA"
RemoteCommand=""
HttpUrl=""
PDBPath=""
SQLDebugging=""
Environment=""
EnvironmentMerge="true"
DebuggerFlavor="0"
MPIRunCommand=""
MPIRunArguments=""
MPIRunWorkingDirectory=""
ApplicationCommand=""
ApplicationArguments=""
ShimCommand=""
MPIAcceptMode=""
MPIAcceptFilter=""
/>
</Configuration>
</Configurations>
</VisualStudioUserFile>

View File

@ -1,102 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<CodeBlocks_project_file>
<FileVersion major="1" minor="6" />
<Project>
<Option title="ToLua" />
<Option pch_mode="2" />
<Option compiler="gcc" />
<Build>
<Target title="Debug Win32">
<Option output="lib" prefix_auto="1" extension_auto="1" />
<Option working_dir="" />
<Option object_output="Debug Win32/ToLua" />
<Option type="2" />
<Option compiler="gcc" />
<Option createDefFile="1" />
<Compiler>
<Add option="-DWIN32" />
<Add option="-D_DEBUG" />
<Add option="-D_LIB" />
<Add option="-D_CRT_SECURE_NO_WARNINGS" />
<Add option="-W" />
<Add option="-g" />
<Add option="-O0" />
<Add directory="../lib/tolua++/include" />
<Add directory="../lib/lua/src" />
</Compiler>
<ResourceCompiler>
<Add directory="../lib/tolua++/include" />
<Add directory="../lib/lua/src" />
</ResourceCompiler>
</Target>
<Target title="Release Win32">
<Option output="lib" prefix_auto="1" extension_auto="1" />
<Option working_dir="" />
<Option object_output="Release Win32/ToLua" />
<Option type="2" />
<Option compiler="gcc" />
<Option createDefFile="1" />
<Compiler>
<Add option="-DWIN32" />
<Add option="-DNDEBUG" />
<Add option="-D_LIB" />
<Add option="-D_CRT_SECURE_NO_WARNINGS" />
<Add option="-W" />
<Add option="-O2" />
<Add directory="../lib/tolua++/include" />
<Add directory="../lib/lua/src" />
</Compiler>
<ResourceCompiler>
<Add directory="../lib/tolua++/include" />
<Add directory="../lib/lua/src" />
</ResourceCompiler>
</Target>
<Target title="Release profiled Win32">
<Option output="lib" prefix_auto="1" extension_auto="1" />
<Option working_dir="" />
<Option object_output="Release profiled Win32/tolua" />
<Option type="2" />
<Option compiler="gcc" />
<Option createDefFile="1" />
<Compiler>
<Add option="-DWIN32" />
<Add option="-DNDEBUG" />
<Add option="-D_LIB" />
<Add option="-D_CRT_SECURE_NO_WARNINGS" />
<Add option="-W" />
<Add option="-O2" />
<Add directory="../lib/tolua++/include" />
<Add directory="../lib/lua/src" />
</Compiler>
<ResourceCompiler>
<Add directory="../lib/tolua++/include" />
<Add directory="../lib/lua/src" />
</ResourceCompiler>
</Target>
</Build>
<Unit filename="../lib/tolua++/src/bin/tolua.c">
<Option compilerVar="CC" />
</Unit>
<Unit filename="../lib/tolua++/src/lib/tolua_event.c">
<Option compilerVar="CC" />
</Unit>
<Unit filename="../lib/tolua++/src/lib/tolua_event.h" />
<Unit filename="../lib/tolua++/src/lib/tolua_is.c">
<Option compilerVar="CC" />
</Unit>
<Unit filename="../lib/tolua++/src/lib/tolua_map.c">
<Option compilerVar="CC" />
</Unit>
<Unit filename="../lib/tolua++/src/lib/tolua_push.c">
<Option compilerVar="CC" />
</Unit>
<Unit filename="../lib/tolua++/src/lib/tolua_to.c">
<Option compilerVar="CC" />
</Unit>
<Extensions>
<code_completion />
<envvars />
<debugger />
</Extensions>
</Project>
</CodeBlocks_project_file>

View File

@ -1,372 +0,0 @@
<?xml version="1.0" encoding="windows-1250"?>
<VisualStudioProject
ProjectType="Visual C++"
Version="9,00"
Name="ToLua"
ProjectGUID="{EEAB54AD-114C-4AB8-8482-0A52D502BD35}"
RootNamespace="ToLua"
Keyword="Win32Proj"
TargetFrameworkVersion="196613"
>
<Platforms>
<Platform
Name="Win32"
/>
</Platforms>
<ToolFiles>
</ToolFiles>
<Configurations>
<Configuration
Name="Debug|Win32"
OutputDirectory="$(SolutionDir)$(ConfigurationName)\ToLua"
IntermediateDirectory="$(ConfigurationName)\ToLua"
ConfigurationType="4"
CharacterSet="1"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
/>
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="&quot;../lib/jsoncpp/include&quot;;../lib"
PreprocessorDefinitions="WIN32;_DEBUG;_LIB;_CRT_SECURE_NO_WARNINGS"
MinimalRebuild="true"
BasicRuntimeChecks="3"
RuntimeLibrary="1"
UsePrecompiledHeader="0"
WarningLevel="3"
DebugInformationFormat="4"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLibrarianTool"
/>
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
/>
<Tool
Name="VCFxCopTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
<Configuration
Name="Release|Win32"
OutputDirectory="$(SolutionDir)$(ConfigurationName)\ToLua"
IntermediateDirectory="$(ConfigurationName)\ToLua"
ConfigurationType="4"
CharacterSet="1"
WholeProgramOptimization="1"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
/>
<Tool
Name="VCCLCompilerTool"
Optimization="2"
EnableIntrinsicFunctions="true"
AdditionalIncludeDirectories="&quot;../lib/jsoncpp/include&quot;;../lib"
PreprocessorDefinitions="WIN32;NDEBUG;_LIB;_CRT_SECURE_NO_WARNINGS"
RuntimeLibrary="0"
EnableFunctionLevelLinking="true"
UsePrecompiledHeader="0"
WarningLevel="3"
DebugInformationFormat="3"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLibrarianTool"
/>
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
/>
<Tool
Name="VCFxCopTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
<Configuration
Name="Release profiled|Win32"
OutputDirectory="$(SolutionDir)$(ConfigurationName)\tolua"
IntermediateDirectory="$(ConfigurationName)\tolua"
ConfigurationType="4"
CharacterSet="1"
WholeProgramOptimization="1"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
/>
<Tool
Name="VCCLCompilerTool"
Optimization="2"
EnableIntrinsicFunctions="true"
AdditionalIncludeDirectories="&quot;../lib/jsoncpp/include&quot;;../lib"
PreprocessorDefinitions="WIN32;NDEBUG;_LIB;_CRT_SECURE_NO_WARNINGS"
RuntimeLibrary="0"
EnableFunctionLevelLinking="true"
UsePrecompiledHeader="0"
WarningLevel="3"
DebugInformationFormat="3"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLibrarianTool"
/>
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
/>
<Tool
Name="VCFxCopTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
<Configuration
Name="Debug profiled|Win32"
OutputDirectory="$(SolutionDir)$(ConfigurationName)\ToLua"
IntermediateDirectory="$(ConfigurationName)\ToLua"
ConfigurationType="4"
CharacterSet="1"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
/>
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="&quot;../lib/jsoncpp/include&quot;;../lib"
PreprocessorDefinitions="WIN32;_DEBUG;_LIB;_CRT_SECURE_NO_WARNINGS"
MinimalRebuild="true"
BasicRuntimeChecks="3"
RuntimeLibrary="1"
UsePrecompiledHeader="0"
WarningLevel="3"
DebugInformationFormat="4"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLibrarianTool"
/>
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
/>
<Tool
Name="VCFxCopTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
<Configuration
Name="Debug_LuaStatic|Win32"
OutputDirectory="$(SolutionDir)$(ConfigurationName)\ToLua"
IntermediateDirectory="$(ConfigurationName)\ToLua"
ConfigurationType="4"
CharacterSet="1"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
/>
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="&quot;../lib/jsoncpp/include&quot;;../lib"
PreprocessorDefinitions="WIN32;_DEBUG;_LIB;_CRT_SECURE_NO_WARNINGS"
MinimalRebuild="true"
BasicRuntimeChecks="3"
RuntimeLibrary="1"
UsePrecompiledHeader="0"
WarningLevel="3"
DebugInformationFormat="4"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLibrarianTool"
/>
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
/>
<Tool
Name="VCFxCopTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
</Configurations>
<References>
</References>
<Files>
<Filter
Name="Source Files"
Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
>
<File
RelativePath="..\lib\tolua++\src\bin\tolua.c"
>
</File>
<File
RelativePath="..\lib\tolua++\src\lib\tolua_event.c"
>
</File>
<File
RelativePath="..\lib\tolua++\src\lib\tolua_event.h"
>
</File>
<File
RelativePath="..\lib\tolua++\src\lib\tolua_is.c"
>
</File>
<File
RelativePath="..\lib\tolua++\src\lib\tolua_map.c"
>
</File>
<File
RelativePath="..\lib\tolua++\src\lib\tolua_push.c"
>
</File>
<File
RelativePath="..\lib\tolua++\src\lib\tolua_to.c"
>
</File>
</Filter>
</Files>
<Globals>
</Globals>
</VisualStudioProject>

View File

@ -1,77 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<CodeBlocks_project_file>
<FileVersion major="1" minor="6" />
<Project>
<Option title="expat" />
<Option pch_mode="2" />
<Option compiler="gcc" />
<Build>
<Target title="Debug Win32">
<Option output="lib" prefix_auto="1" extension_auto="1" />
<Option working_dir="" />
<Option object_output="Debug Win32" />
<Option type="2" />
<Option compiler="gcc" />
<Option createDefFile="1" />
<Compiler>
<Add option="-DWIN32" />
<Add option="-D_DEBUG" />
<Add option="-D_LIB" />
<Add option="-DCOMPILED_FROM_DSP" />
<Add option="-W" />
<Add option="-g" />
<Add option="-O0" />
</Compiler>
</Target>
<Target title="Release Win32">
<Option output="lib" prefix_auto="1" extension_auto="1" />
<Option working_dir="" />
<Option object_output="Release Win32" />
<Option type="2" />
<Option compiler="gcc" />
<Option createDefFile="1" />
<Compiler>
<Add option="-DWIN32" />
<Add option="-DNDEBUG" />
<Add option="-D_LIB" />
<Add option="-DCOMPILED_FROM_DSP" />
<Add option="-W" />
<Add option="-O2" />
</Compiler>
</Target>
</Build>
<Unit filename="../lib/expat/ascii.h" />
<Unit filename="../lib/expat/asciitab.h" />
<Unit filename="../lib/expat/expat.h" />
<Unit filename="../lib/expat/expat_external.h" />
<Unit filename="../lib/expat/iasciitab.h" />
<Unit filename="../lib/expat/internal.h" />
<Unit filename="../lib/expat/latin1tab.h" />
<Unit filename="../lib/expat/nametab.h" />
<Unit filename="../lib/expat/utf8tab.h" />
<Unit filename="../lib/expat/winconfig.h" />
<Unit filename="../lib/expat/xmlparse.c">
<Option compilerVar="CC" />
</Unit>
<Unit filename="../lib/expat/xmlrole.c">
<Option compilerVar="CC" />
</Unit>
<Unit filename="../lib/expat/xmlrole.h" />
<Unit filename="../lib/expat/xmltok.c">
<Option compilerVar="CC" />
</Unit>
<Unit filename="../lib/expat/xmltok.h" />
<Unit filename="../lib/expat/xmltok_impl.c">
<Option compilerVar="CC" />
</Unit>
<Unit filename="../lib/expat/xmltok_impl.h" />
<Unit filename="../lib/expat/xmltok_ns.c">
<Option compilerVar="CC" />
</Unit>
<Extensions>
<code_completion />
<envvars />
<debugger />
</Extensions>
</Project>
</CodeBlocks_project_file>

View File

@ -1,288 +0,0 @@
<?xml version="1.0" encoding="windows-1250"?>
<VisualStudioProject
ProjectType="Visual C++"
Version="9,00"
Name="expat"
ProjectGUID="{5FCFAF8D-FF2C-456D-A72C-1D76F913AD96}"
RootNamespace="expat"
Keyword="Win32Proj"
TargetFrameworkVersion="196613"
>
<Platforms>
<Platform
Name="Win32"
/>
</Platforms>
<ToolFiles>
</ToolFiles>
<Configurations>
<Configuration
Name="Debug|Win32"
OutputDirectory="$(SolutionDir)$(ConfigurationName)/expat"
IntermediateDirectory="$(ConfigurationName)/expat"
ConfigurationType="4"
CharacterSet="2"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
/>
<Tool
Name="VCCLCompilerTool"
Optimization="0"
PreprocessorDefinitions="WIN32;_DEBUG;_LIB;COMPILED_FROM_DSP"
MinimalRebuild="true"
BasicRuntimeChecks="3"
RuntimeLibrary="1"
UsePrecompiledHeader="0"
WarningLevel="3"
DebugInformationFormat="4"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLibrarianTool"
/>
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
/>
<Tool
Name="VCFxCopTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
<Configuration
Name="Release|Win32"
OutputDirectory="$(SolutionDir)$(ConfigurationName)"
IntermediateDirectory="$(ConfigurationName)/expat"
ConfigurationType="4"
CharacterSet="2"
WholeProgramOptimization="1"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
/>
<Tool
Name="VCCLCompilerTool"
Optimization="2"
EnableIntrinsicFunctions="true"
PreprocessorDefinitions="WIN32;NDEBUG;_LIB;COMPILED_FROM_DSP"
RuntimeLibrary="0"
EnableFunctionLevelLinking="true"
UsePrecompiledHeader="0"
WarningLevel="3"
DebugInformationFormat="3"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLibrarianTool"
/>
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
/>
<Tool
Name="VCFxCopTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
<Configuration
Name="Debug_LuaStatic|Win32"
OutputDirectory="$(SolutionDir)$(ConfigurationName)\expat"
IntermediateDirectory="$(ConfigurationName)\expat"
ConfigurationType="4"
CharacterSet="2"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
/>
<Tool
Name="VCCLCompilerTool"
Optimization="0"
PreprocessorDefinitions="WIN32;_DEBUG;_LIB;COMPILED_FROM_DSP"
MinimalRebuild="true"
BasicRuntimeChecks="3"
RuntimeLibrary="1"
UsePrecompiledHeader="0"
WarningLevel="3"
DebugInformationFormat="4"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLibrarianTool"
/>
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
/>
<Tool
Name="VCFxCopTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
</Configurations>
<References>
</References>
<Files>
<Filter
Name="Source Files"
Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
>
<File
RelativePath="..\lib\expat\ascii.h"
>
</File>
<File
RelativePath="..\lib\expat\asciitab.h"
>
</File>
<File
RelativePath="..\lib\expat\expat.h"
>
</File>
<File
RelativePath="..\lib\expat\expat_external.h"
>
</File>
<File
RelativePath="..\lib\expat\iasciitab.h"
>
</File>
<File
RelativePath="..\lib\expat\internal.h"
>
</File>
<File
RelativePath="..\lib\expat\latin1tab.h"
>
</File>
<File
RelativePath="..\lib\expat\nametab.h"
>
</File>
<File
RelativePath="..\lib\expat\utf8tab.h"
>
</File>
<File
RelativePath="..\lib\expat\winconfig.h"
>
</File>
<File
RelativePath="..\lib\expat\xmlparse.c"
>
</File>
<File
RelativePath="..\lib\expat\xmlrole.c"
>
</File>
<File
RelativePath="..\lib\expat\xmlrole.h"
>
</File>
<File
RelativePath="..\lib\expat\xmltok.c"
>
</File>
<File
RelativePath="..\lib\expat\xmltok.h"
>
</File>
<File
RelativePath="..\lib\expat\xmltok_impl.c"
>
</File>
<File
RelativePath="..\lib\expat\xmltok_impl.h"
>
</File>
<File
RelativePath="..\lib\expat\xmltok_ns.c"
>
</File>
</Filter>
</Files>
<Globals>
</Globals>
</VisualStudioProject>

View File

@ -1,25 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<CodeSnippets
xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet">
<CodeSnippet Format="1.0.0">
<Header>
<Title>ToLua</Title>
<Shortcut>tolua</Shortcut>
<SnippetTypes>
<SnippetType>SurroundsWith</SnippetType>
</SnippetTypes>
<Author>Daniel O'Brien (marmot21)</Author>
<Description>Adds the selected lines for Lua export</Description>
</Header>
<Snippet>
<Code Language="cpp">
<![CDATA[
// tolua_begin
$selected$
// tolua_end]]>
</Code>
</Snippet>
</CodeSnippet>
</CodeSnippets>

View File

@ -1,121 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<CodeBlocks_project_file>
<FileVersion major="1" minor="6" />
<Project>
<Option title="zlib" />
<Option pch_mode="2" />
<Option compiler="gcc" />
<Build>
<Target title="Debug Win32">
<Option output="lib" prefix_auto="1" extension_auto="1" />
<Option working_dir="" />
<Option object_output="Debug Win32/zlib" />
<Option type="2" />
<Option compiler="gcc" />
<Option createDefFile="1" />
<Compiler>
<Add option="-DWIN32" />
<Add option="-D_DEBUG" />
<Add option="-D_LIB" />
<Add option="-D_CRT_SECURE_NO_WARNINGS" />
<Add option="-W" />
<Add option="-g" />
<Add option="-O0" />
</Compiler>
</Target>
<Target title="Release Win32">
<Option output="lib" prefix_auto="1" extension_auto="1" />
<Option working_dir="" />
<Option object_output="Release Win32/zlib" />
<Option type="2" />
<Option compiler="gcc" />
<Option createDefFile="1" />
<Compiler>
<Add option="-DWIN32" />
<Add option="-DNDEBUG" />
<Add option="-D_LIB" />
<Add option="-D_CRT_SECURE_NO_WARNINGS" />
<Add option="-W" />
<Add option="-O2" />
</Compiler>
</Target>
<Target title="Release profiled Win32">
<Option output="lib" prefix_auto="1" extension_auto="1" />
<Option working_dir="" />
<Option object_output="Release profiled Win32/zlib" />
<Option type="2" />
<Option compiler="gcc" />
<Option createDefFile="1" />
<Compiler>
<Add option="-DWIN32" />
<Add option="-DNDEBUG" />
<Add option="-D_LIB" />
<Add option="-D_CRT_SECURE_NO_WARNINGS" />
<Add option="-W" />
<Add option="-O2" />
</Compiler>
</Target>
</Build>
<Unit filename="../lib/zlib/adler32.c">
<Option compilerVar="CC" />
</Unit>
<Unit filename="../lib/zlib/compress.c">
<Option compilerVar="CC" />
</Unit>
<Unit filename="../lib/zlib/crc32.c">
<Option compilerVar="CC" />
</Unit>
<Unit filename="../lib/zlib/crc32.h" />
<Unit filename="../lib/zlib/deflate.c">
<Option compilerVar="CC" />
</Unit>
<Unit filename="../lib/zlib/deflate.h" />
<Unit filename="../lib/zlib/gzclose.c">
<Option compilerVar="CC" />
</Unit>
<Unit filename="../lib/zlib/gzguts.h" />
<Unit filename="../lib/zlib/gzlib.c">
<Option compilerVar="CC" />
</Unit>
<Unit filename="../lib/zlib/gzread.c">
<Option compilerVar="CC" />
</Unit>
<Unit filename="../lib/zlib/gzwrite.c">
<Option compilerVar="CC" />
</Unit>
<Unit filename="../lib/zlib/infback.c">
<Option compilerVar="CC" />
</Unit>
<Unit filename="../lib/zlib/inffast.c">
<Option compilerVar="CC" />
</Unit>
<Unit filename="../lib/zlib/inffast.h" />
<Unit filename="../lib/zlib/inffixed.h" />
<Unit filename="../lib/zlib/inflate.c">
<Option compilerVar="CC" />
</Unit>
<Unit filename="../lib/zlib/inflate.h" />
<Unit filename="../lib/zlib/inftrees.c">
<Option compilerVar="CC" />
</Unit>
<Unit filename="../lib/zlib/inftrees.h" />
<Unit filename="../lib/zlib/trees.c">
<Option compilerVar="CC" />
</Unit>
<Unit filename="../lib/zlib/trees.h" />
<Unit filename="../lib/zlib/uncompr.c">
<Option compilerVar="CC" />
</Unit>
<Unit filename="../lib/zlib/zconf.h" />
<Unit filename="../lib/zlib/zlib.h" />
<Unit filename="../lib/zlib/zutil.c">
<Option compilerVar="CC" />
</Unit>
<Unit filename="../lib/zlib/zutil.h" />
<Extensions>
<code_completion />
<envvars />
<debugger />
</Extensions>
</Project>
</CodeBlocks_project_file>

View File

@ -1,448 +0,0 @@
<?xml version="1.0" encoding="windows-1250"?>
<VisualStudioProject
ProjectType="Visual C++"
Version="9,00"
Name="zlib"
ProjectGUID="{EA9D50FD-937A-4EF5-8C37-5F4175AF4FEA}"
RootNamespace="zlib"
Keyword="Win32Proj"
TargetFrameworkVersion="196613"
>
<Platforms>
<Platform
Name="Win32"
/>
</Platforms>
<ToolFiles>
</ToolFiles>
<Configurations>
<Configuration
Name="Debug|Win32"
OutputDirectory="$(SolutionDir)$(ConfigurationName)\zlib"
IntermediateDirectory="$(ConfigurationName)\zlib"
ConfigurationType="4"
CharacterSet="1"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
/>
<Tool
Name="VCCLCompilerTool"
Optimization="0"
PreprocessorDefinitions="WIN32;_DEBUG;_LIB;_CRT_SECURE_NO_WARNINGS"
MinimalRebuild="true"
BasicRuntimeChecks="3"
RuntimeLibrary="1"
UsePrecompiledHeader="0"
WarningLevel="3"
DebugInformationFormat="4"
DisableSpecificWarnings="4996"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLibrarianTool"
/>
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
/>
<Tool
Name="VCFxCopTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
<Configuration
Name="Release|Win32"
OutputDirectory="$(SolutionDir)$(ConfigurationName)\zlib"
IntermediateDirectory="$(ConfigurationName)\zlib"
ConfigurationType="4"
CharacterSet="1"
WholeProgramOptimization="1"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
/>
<Tool
Name="VCCLCompilerTool"
Optimization="2"
EnableIntrinsicFunctions="true"
PreprocessorDefinitions="WIN32;NDEBUG;_LIB;_CRT_SECURE_NO_WARNINGS"
RuntimeLibrary="0"
EnableFunctionLevelLinking="true"
UsePrecompiledHeader="0"
WarningLevel="3"
DebugInformationFormat="3"
DisableSpecificWarnings="4996"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLibrarianTool"
/>
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
/>
<Tool
Name="VCFxCopTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
<Configuration
Name="Release profiled|Win32"
OutputDirectory="$(SolutionDir)$(ConfigurationName)\zlib"
IntermediateDirectory="$(ConfigurationName)\zlib"
ConfigurationType="4"
CharacterSet="1"
WholeProgramOptimization="1"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
/>
<Tool
Name="VCCLCompilerTool"
Optimization="2"
EnableIntrinsicFunctions="true"
PreprocessorDefinitions="WIN32;NDEBUG;_LIB;_CRT_SECURE_NO_WARNINGS"
RuntimeLibrary="0"
EnableFunctionLevelLinking="true"
UsePrecompiledHeader="0"
WarningLevel="3"
DebugInformationFormat="3"
DisableSpecificWarnings="4996"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLibrarianTool"
/>
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
/>
<Tool
Name="VCFxCopTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
<Configuration
Name="Debug profiled|Win32"
OutputDirectory="$(SolutionDir)$(ConfigurationName)\zlib"
IntermediateDirectory="$(ConfigurationName)\zlib"
ConfigurationType="4"
CharacterSet="1"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
/>
<Tool
Name="VCCLCompilerTool"
Optimization="0"
PreprocessorDefinitions="WIN32;_DEBUG;_LIB;_CRT_SECURE_NO_WARNINGS"
MinimalRebuild="true"
BasicRuntimeChecks="3"
RuntimeLibrary="1"
UsePrecompiledHeader="0"
WarningLevel="3"
DebugInformationFormat="4"
DisableSpecificWarnings="4996"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLibrarianTool"
/>
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
/>
<Tool
Name="VCFxCopTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
<Configuration
Name="Debug_LuaStatic|Win32"
OutputDirectory="$(SolutionDir)$(ConfigurationName)\zlib"
IntermediateDirectory="$(ConfigurationName)\zlib"
ConfigurationType="4"
CharacterSet="1"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
/>
<Tool
Name="VCCLCompilerTool"
Optimization="0"
PreprocessorDefinitions="WIN32;_DEBUG;_LIB;_CRT_SECURE_NO_WARNINGS"
MinimalRebuild="true"
BasicRuntimeChecks="3"
RuntimeLibrary="1"
UsePrecompiledHeader="0"
WarningLevel="3"
DebugInformationFormat="4"
DisableSpecificWarnings="4996"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLibrarianTool"
/>
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
/>
<Tool
Name="VCFxCopTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
</Configurations>
<References>
</References>
<Files>
<Filter
Name="Source Files"
Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
>
<File
RelativePath="..\lib\zlib\adler32.c"
>
</File>
<File
RelativePath="..\lib\zlib\compress.c"
>
</File>
<File
RelativePath="..\lib\zlib\crc32.c"
>
</File>
<File
RelativePath="..\lib\zlib\crc32.h"
>
</File>
<File
RelativePath="..\lib\zlib\deflate.c"
>
</File>
<File
RelativePath="..\lib\zlib\deflate.h"
>
</File>
<File
RelativePath="..\lib\zlib\gzclose.c"
>
</File>
<File
RelativePath="..\lib\zlib\gzguts.h"
>
</File>
<File
RelativePath="..\lib\zlib\gzlib.c"
>
</File>
<File
RelativePath="..\lib\zlib\gzread.c"
>
</File>
<File
RelativePath="..\lib\zlib\gzwrite.c"
>
</File>
<File
RelativePath="..\lib\zlib\infback.c"
>
</File>
<File
RelativePath="..\lib\zlib\inffast.c"
>
</File>
<File
RelativePath="..\lib\zlib\inffast.h"
>
</File>
<File
RelativePath="..\lib\zlib\inffixed.h"
>
</File>
<File
RelativePath="..\lib\zlib\inflate.c"
>
</File>
<File
RelativePath="..\lib\zlib\inflate.h"
>
</File>
<File
RelativePath="..\lib\zlib\inftrees.c"
>
</File>
<File
RelativePath="..\lib\zlib\inftrees.h"
>
</File>
<File
RelativePath="..\lib\zlib\trees.c"
>
</File>
<File
RelativePath="..\lib\zlib\trees.h"
>
</File>
<File
RelativePath="..\lib\zlib\uncompr.c"
>
</File>
<File
RelativePath="..\lib\zlib\zconf.h"
>
</File>
<File
RelativePath="..\lib\zlib\zlib.h"
>
</File>
<File
RelativePath="..\lib\zlib\zutil.c"
>
</File>
<File
RelativePath="..\lib\zlib\zutil.h"
>
</File>
</Filter>
</Files>
<Globals>
</Globals>
</VisualStudioProject>

11
VC2013/.gitignore vendored
View File

@ -1,11 +0,0 @@
Debug/**
Debug profiled/**
Release/**
Release profiled/**
ipch/**
*.user
*.ncb
*.suo
*.obj
*.sdf
*.opensdf

File diff suppressed because it is too large Load Diff

View File

@ -1,600 +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>{59bfc075-705c-42cd-adf7-40cef1aed8e1}</UniqueIdentifier>
<Extensions>.cpp</Extensions>
</Filter>
<Filter Include="Header Files">
<UniqueIdentifier>{407d7f02-df9e-485b-a95f-2f1dad08cbed}</UniqueIdentifier>
<Extensions>.;.h</Extensions>
</Filter>
<Filter Include="Miscellaneous">
<UniqueIdentifier>{293a01a6-81d1-4272-a7ff-310526bbc77f}</UniqueIdentifier>
</Filter>
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\lib\cryptopp\adler32.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\lib\cryptopp\algebra.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\lib\cryptopp\algparam.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\lib\cryptopp\asn.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\lib\cryptopp\authenc.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\lib\cryptopp\base32.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\lib\cryptopp\base64.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\lib\cryptopp\basecode.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\lib\cryptopp\cbcmac.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\lib\cryptopp\ccm.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\lib\cryptopp\channels.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\lib\cryptopp\cmac.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\lib\cryptopp\cpu.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\lib\cryptopp\crc.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\lib\cryptopp\cryptlib.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\lib\cryptopp\default.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\lib\cryptopp\des.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\lib\cryptopp\dessp.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\lib\cryptopp\dh.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\lib\cryptopp\dh2.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\lib\cryptopp\dll.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\lib\cryptopp\dsa.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\lib\cryptopp\eax.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\lib\cryptopp\ec2n.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\lib\cryptopp\eccrypto.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\lib\cryptopp\ecp.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\lib\cryptopp\elgamal.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\lib\cryptopp\emsa2.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\lib\cryptopp\eprecomp.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\lib\cryptopp\esign.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\lib\cryptopp\files.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\lib\cryptopp\filters.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\lib\cryptopp\fips140.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\lib\cryptopp\gcm.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\lib\cryptopp\gf256.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\lib\cryptopp\gf2_32.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\lib\cryptopp\gf2n.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\lib\cryptopp\gfpcrypt.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\lib\cryptopp\hex.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\lib\cryptopp\hmac.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\lib\cryptopp\hrtimer.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\lib\cryptopp\integer.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\lib\cryptopp\iterhash.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\lib\cryptopp\luc.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\lib\cryptopp\md2.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\lib\cryptopp\md4.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\lib\cryptopp\md5.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\lib\cryptopp\misc.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\lib\cryptopp\modes.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\lib\cryptopp\mqueue.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\lib\cryptopp\mqv.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\lib\cryptopp\nbtheory.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\lib\cryptopp\network.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\lib\cryptopp\oaep.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\lib\cryptopp\osrng.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\lib\cryptopp\pch.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\lib\cryptopp\pkcspad.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\lib\cryptopp\polynomi.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\lib\cryptopp\pssr.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\lib\cryptopp\pubkey.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\lib\cryptopp\queue.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\lib\cryptopp\rabin.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\lib\cryptopp\randpool.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\lib\cryptopp\rdtables.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\lib\cryptopp\rijndael.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\lib\cryptopp\rng.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\lib\cryptopp\rsa.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\lib\cryptopp\rw.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\lib\cryptopp\safer.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\lib\cryptopp\seal.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\lib\cryptopp\seed.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\lib\cryptopp\sha.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\lib\cryptopp\shacal2.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\lib\cryptopp\simple.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\lib\cryptopp\socketft.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\lib\cryptopp\square.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\lib\cryptopp\squaretb.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\lib\cryptopp\strciphr.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\lib\cryptopp\tea.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\lib\cryptopp\tiger.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\lib\cryptopp\tigertab.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\lib\cryptopp\trdlocal.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\lib\cryptopp\ttmac.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\lib\cryptopp\vmac.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\lib\cryptopp\wait.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\lib\cryptopp\winpipes.cpp">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\lib\cryptopp\adler32.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\lib\cryptopp\aes.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\lib\cryptopp\algebra.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\lib\cryptopp\algparam.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\lib\cryptopp\arc4.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\lib\cryptopp\argnames.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\lib\cryptopp\asn.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\lib\cryptopp\authenc.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\lib\cryptopp\base32.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\lib\cryptopp\base64.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\lib\cryptopp\basecode.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\lib\cryptopp\cbcmac.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\lib\cryptopp\ccm.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\lib\cryptopp\channels.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\lib\cryptopp\cmac.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\lib\cryptopp\config.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\lib\cryptopp\cpu.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\lib\cryptopp\crc.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\lib\cryptopp\cryptlib.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\lib\cryptopp\default.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\lib\cryptopp\des.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\lib\cryptopp\dh.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\lib\cryptopp\dh2.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\lib\cryptopp\dmac.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\lib\cryptopp\dsa.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\lib\cryptopp\eax.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\lib\cryptopp\ec2n.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\lib\cryptopp\eccrypto.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\lib\cryptopp\ecp.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\lib\cryptopp\elgamal.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\lib\cryptopp\emsa2.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\lib\cryptopp\eprecomp.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\lib\cryptopp\esign.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\lib\cryptopp\files.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\lib\cryptopp\filters.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\lib\cryptopp\fips140.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\lib\cryptopp\fltrimpl.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\lib\cryptopp\gcm.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\lib\cryptopp\gf256.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\lib\cryptopp\gf2_32.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\lib\cryptopp\gf2n.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\lib\cryptopp\gfpcrypt.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\lib\cryptopp\gzip.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\lib\cryptopp\hex.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\lib\cryptopp\hmac.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\lib\cryptopp\hrtimer.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\lib\cryptopp\integer.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\lib\cryptopp\iterhash.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\lib\cryptopp\lubyrack.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\lib\cryptopp\luc.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\lib\cryptopp\md2.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\lib\cryptopp\md4.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\lib\cryptopp\md5.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\lib\cryptopp\mdc.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\lib\cryptopp\misc.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\lib\cryptopp\modarith.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\lib\cryptopp\modes.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\lib\cryptopp\modexppc.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\lib\cryptopp\mqueue.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\lib\cryptopp\mqv.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\lib\cryptopp\nbtheory.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\lib\cryptopp\network.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\lib\cryptopp\nr.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\lib\cryptopp\oaep.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\lib\cryptopp\oids.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\lib\cryptopp\osrng.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\lib\cryptopp\pch.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\lib\cryptopp\pkcspad.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\lib\cryptopp\polynomi.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\lib\cryptopp\pssr.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\lib\cryptopp\pubkey.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\lib\cryptopp\pwdbased.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\lib\cryptopp\queue.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\lib\cryptopp\rabin.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\lib\cryptopp\randpool.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\lib\cryptopp\rijndael.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\lib\cryptopp\rng.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\lib\cryptopp\rsa.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\lib\cryptopp\rw.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\lib\cryptopp\safer.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\lib\cryptopp\seal.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\lib\cryptopp\secblock.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\lib\cryptopp\seckey.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\lib\cryptopp\seed.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\lib\cryptopp\sha.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\lib\cryptopp\shacal2.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\lib\cryptopp\simple.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\lib\cryptopp\smartptr.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\lib\cryptopp\socketft.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\lib\cryptopp\square.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\lib\cryptopp\stdcpp.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\lib\cryptopp\strciphr.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\lib\cryptopp\tea.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\lib\cryptopp\tiger.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\lib\cryptopp\trdlocal.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\lib\cryptopp\trunhash.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\lib\cryptopp\ttmac.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\lib\cryptopp\vmac.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\lib\cryptopp\wait.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\lib\cryptopp\wake.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\lib\cryptopp\winpipes.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\lib\cryptopp\words.h">
<Filter>Header Files</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<None Include="..\lib\cryptopp\Doxyfile">
<Filter>Miscellaneous</Filter>
</None>
<None Include="..\lib\cryptopp\GNUmakefile">
<Filter>Miscellaneous</Filter>
</None>
</ItemGroup>
<ItemGroup>
<Text Include="..\lib\cryptopp\License.txt">
<Filter>Miscellaneous</Filter>
</Text>
<Text Include="..\lib\cryptopp\Readme.txt">
<Filter>Miscellaneous</Filter>
</Text>
</ItemGroup>
</Project>

View File

@ -1,3 +0,0 @@
set ALLTOLUA_WAIT=N
cd ..\src\Bindings
AllToLua.bat

View File

@ -1,181 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug profiled|Win32">
<Configuration>Debug profiled</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug_LuaStatic|Win32">
<Configuration>Debug_LuaStatic</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release profiled|Win32">
<Configuration>Release profiled</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{5AAA90B9-946D-4034-83F3-676B06A6E326}</ProjectGuid>
<RootNamespace>JsonCpp</RootNamespace>
<Keyword>Win32Proj</Keyword>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug_LuaStatic|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<PlatformToolset>v120</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug profiled|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<PlatformToolset>v120</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release profiled|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<PlatformToolset>v120</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
<WholeProgramOptimization>true</WholeProgramOptimization>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<PlatformToolset>v120</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
<WholeProgramOptimization>true</WholeProgramOptimization>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<PlatformToolset>v120</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug_LuaStatic|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug profiled|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release profiled|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" 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>
<_ProjectFileVersion>12.0.21005.1</_ProjectFileVersion>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<OutDir>$(SolutionDir)$(Configuration)\JsonCpp\</OutDir>
<IntDir>$(Configuration)\JsonCpp\</IntDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<OutDir>$(SolutionDir)$(Configuration)\JsonCpp\</OutDir>
<IntDir>$(Configuration)\JsonCpp\</IntDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release profiled|Win32'">
<OutDir>$(SolutionDir)$(Configuration)\JsonCpp\</OutDir>
<IntDir>$(Configuration)\JsonCpp\</IntDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug profiled|Win32'">
<OutDir>$(SolutionDir)$(Configuration)\JsonCpp\</OutDir>
<IntDir>$(Configuration)\JsonCpp\</IntDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug_LuaStatic|Win32'">
<OutDir>$(SolutionDir)$(Configuration)\JsonCpp\</OutDir>
<IntDir>$(Configuration)\JsonCpp\</IntDir>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>../jsoncpp-src-0.5.0/include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MinimalRebuild>true</MinimalRebuild>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<PrecompiledHeader />
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
</ClCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<Optimization>MaxSpeed</Optimization>
<IntrinsicFunctions>true</IntrinsicFunctions>
<AdditionalIncludeDirectories>../jsoncpp-src-0.5.0/include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<FunctionLevelLinking>true</FunctionLevelLinking>
<PrecompiledHeader />
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
</ClCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release profiled|Win32'">
<ClCompile>
<Optimization>MaxSpeed</Optimization>
<IntrinsicFunctions>true</IntrinsicFunctions>
<AdditionalIncludeDirectories>../jsoncpp-src-0.5.0/include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<FunctionLevelLinking>true</FunctionLevelLinking>
<PrecompiledHeader />
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
</ClCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug profiled|Win32'">
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>../jsoncpp-src-0.5.0/include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MinimalRebuild>true</MinimalRebuild>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<PrecompiledHeader />
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
</ClCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug_LuaStatic|Win32'">
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>../jsoncpp-src-0.5.0/include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MinimalRebuild>true</MinimalRebuild>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<PrecompiledHeader />
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
</ClCompile>
</ItemDefinitionGroup>
<ItemGroup>
<ClInclude Include="..\lib\jsoncpp\src\lib_json\json_batchallocator.h" />
</ItemGroup>
<ItemGroup>
<None Include="..\lib\jsoncpp\src\lib_json\json_internalarray.inl" />
<None Include="..\lib\jsoncpp\src\lib_json\json_internalmap.inl" />
<None Include="..\lib\jsoncpp\src\lib_json\json_valueiterator.inl" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\lib\jsoncpp\src\lib_json\json_reader.cpp" />
<ClCompile Include="..\lib\jsoncpp\src\lib_json\json_value.cpp" />
<ClCompile Include="..\lib\jsoncpp\src\lib_json\json_writer.cpp" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

View File

@ -1,36 +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>
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\lib\jsoncpp\src\lib_json\json_batchallocator.h">
<Filter>Source Files</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<None Include="..\lib\jsoncpp\src\lib_json\json_internalarray.inl">
<Filter>Source Files</Filter>
</None>
<None Include="..\lib\jsoncpp\src\lib_json\json_internalmap.inl">
<Filter>Source Files</Filter>
</None>
<None Include="..\lib\jsoncpp\src\lib_json\json_valueiterator.inl">
<Filter>Source Files</Filter>
</None>
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\lib\jsoncpp\src\lib_json\json_reader.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\lib\jsoncpp\src\lib_json\json_value.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\lib\jsoncpp\src\lib_json\json_writer.cpp">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
</Project>

View File

@ -1,234 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug profiled|Win32">
<Configuration>Debug profiled</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug_LuaStatic|Win32">
<Configuration>Debug_LuaStatic</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release profiled|Win32">
<Configuration>Release profiled</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{082E8185-7B3A-4945-8C82-9132341A329D}</ProjectGuid>
<RootNamespace>Lua</RootNamespace>
<Keyword>Win32Proj</Keyword>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug_LuaStatic|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<PlatformToolset>v120</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug profiled|Win32'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<PlatformToolset>v120</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release profiled|Win32'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<PlatformToolset>v120</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
<WholeProgramOptimization>true</WholeProgramOptimization>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<PlatformToolset>v120</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
<WholeProgramOptimization>true</WholeProgramOptimization>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<PlatformToolset>v120</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug_LuaStatic|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug profiled|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release profiled|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" 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>
<_ProjectFileVersion>12.0.21005.1</_ProjectFileVersion>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<OutDir>$(SolutionDir)$(Configuration)\Lua\</OutDir>
<IntDir>$(Configuration)\Lua\</IntDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<OutDir>$(SolutionDir)$(Configuration)\Lua\</OutDir>
<IntDir>$(Configuration)\Lua\</IntDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release profiled|Win32'">
<OutDir>$(SolutionDir)$(Configuration)\Lua\</OutDir>
<IntDir>$(Configuration)\Lua\</IntDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug profiled|Win32'">
<OutDir>$(SolutionDir)$(Configuration)\Lua\</OutDir>
<IntDir>$(Configuration)\Lua\</IntDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug_LuaStatic|Win32'">
<OutDir>$(SolutionDir)$(Configuration)\Lua\</OutDir>
<IntDir>$(Configuration)\Lua\</IntDir>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>WIN32;_DEBUG;_LIB;_CRT_SECURE_NO_WARNINGS;LUA_BUILD_AS_DLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MinimalRebuild>true</MinimalRebuild>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<PrecompiledHeader />
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
</ClCompile>
<Link>
<OutputFile>$(ProjectDir)\..\MCServer\lua5.1.dll</OutputFile>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<Optimization>MaxSpeed</Optimization>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>WIN32;NDEBUG;_LIB;_CRT_SECURE_NO_WARNINGS;LUA_BUILD_AS_DLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<FunctionLevelLinking>true</FunctionLevelLinking>
<PrecompiledHeader />
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
</ClCompile>
<Link>
<OutputFile>$(ProjectDir)\..\MCServer\lua5.1.dll</OutputFile>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release profiled|Win32'">
<ClCompile>
<Optimization>MaxSpeed</Optimization>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>WIN32;NDEBUG;_LIB;_CRT_SECURE_NO_WARNINGS;LUA_BUILD_AS_DLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<FunctionLevelLinking>true</FunctionLevelLinking>
<PrecompiledHeader />
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
</ClCompile>
<Link>
<OutputFile>$(ProjectDir)\..\MCServer\lua5.1.dll</OutputFile>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug profiled|Win32'">
<ClCompile>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>WIN32;_DEBUG;_LIB;_CRT_SECURE_NO_WARNINGS;LUA_BUILD_AS_DLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MinimalRebuild>true</MinimalRebuild>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<PrecompiledHeader />
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
</ClCompile>
<Link>
<OutputFile>$(ProjectDir)\..\MCServer\lua5.1.dll</OutputFile>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug_LuaStatic|Win32'">
<ClCompile>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>WIN32;_DEBUG;_LIB;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MinimalRebuild>true</MinimalRebuild>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<PrecompiledHeader />
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
</ClCompile>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="..\lib\lua\src\lapi.c" />
<ClCompile Include="..\lib\lua\src\lauxlib.c" />
<ClCompile Include="..\lib\lua\src\lbaselib.c" />
<ClCompile Include="..\lib\lua\src\lcode.c" />
<ClCompile Include="..\lib\lua\src\ldblib.c" />
<ClCompile Include="..\lib\lua\src\ldebug.c" />
<ClCompile Include="..\lib\lua\src\ldo.c" />
<ClCompile Include="..\lib\lua\src\ldump.c" />
<ClCompile Include="..\lib\lua\src\lfunc.c" />
<ClCompile Include="..\lib\lua\src\lgc.c" />
<ClCompile Include="..\lib\lua\src\linit.c" />
<ClCompile Include="..\lib\lua\src\liolib.c" />
<ClCompile Include="..\lib\lua\src\llex.c" />
<ClCompile Include="..\lib\lua\src\lmathlib.c" />
<ClCompile Include="..\lib\lua\src\lmem.c" />
<ClCompile Include="..\lib\lua\src\loadlib.c" />
<ClCompile Include="..\lib\lua\src\lobject.c" />
<ClCompile Include="..\lib\lua\src\lopcodes.c" />
<ClCompile Include="..\lib\lua\src\loslib.c" />
<ClCompile Include="..\lib\lua\src\lparser.c" />
<ClCompile Include="..\lib\lua\src\lstate.c" />
<ClCompile Include="..\lib\lua\src\lstring.c" />
<ClCompile Include="..\lib\lua\src\lstrlib.c" />
<ClCompile Include="..\lib\lua\src\ltable.c" />
<ClCompile Include="..\lib\lua\src\ltablib.c" />
<ClCompile Include="..\lib\lua\src\ltm.c" />
<ClCompile Include="..\lib\lua\src\luac.c" />
<ClCompile Include="..\lib\lua\src\lundump.c" />
<ClCompile Include="..\lib\lua\src\lvm.c" />
<ClCompile Include="..\lib\lua\src\lzio.c" />
<ClCompile Include="..\lib\lua\src\print.c" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\lib\lua\src\lapi.h" />
<ClInclude Include="..\lib\lua\src\lauxlib.h" />
<ClInclude Include="..\lib\lua\src\lcode.h" />
<ClInclude Include="..\lib\lua\src\ldebug.h" />
<ClInclude Include="..\lib\lua\src\ldo.h" />
<ClInclude Include="..\lib\lua\src\lfunc.h" />
<ClInclude Include="..\lib\lua\src\lgc.h" />
<ClInclude Include="..\lib\lua\src\llex.h" />
<ClInclude Include="..\lib\lua\src\llimits.h" />
<ClInclude Include="..\lib\lua\src\lmem.h" />
<ClInclude Include="..\lib\lua\src\lobject.h" />
<ClInclude Include="..\lib\lua\src\lopcodes.h" />
<ClInclude Include="..\lib\lua\src\lparser.h" />
<ClInclude Include="..\lib\lua\src\lstate.h" />
<ClInclude Include="..\lib\lua\src\lstring.h" />
<ClInclude Include="..\lib\lua\src\ltable.h" />
<ClInclude Include="..\lib\lua\src\ltm.h" />
<ClInclude Include="..\lib\lua\src\lua.h" />
<ClInclude Include="..\lib\lua\src\luaconf.h" />
<ClInclude Include="..\lib\lua\src\lualib.h" />
<ClInclude Include="..\lib\lua\src\lundump.h" />
<ClInclude Include="..\lib\lua\src\lvm.h" />
<ClInclude Include="..\lib\lua\src\lzio.h" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

View File

@ -1,129 +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>
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\lib\lua\src\lapi.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\lib\lua\src\lauxlib.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\lib\lua\src\lbaselib.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\lib\lua\src\lcode.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\lib\lua\src\ldblib.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\lib\lua\src\ldebug.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\lib\lua\src\ldo.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\lib\lua\src\ldump.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\lib\lua\src\lfunc.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\lib\lua\src\lgc.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\lib\lua\src\linit.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\lib\lua\src\liolib.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\lib\lua\src\llex.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\lib\lua\src\lmathlib.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\lib\lua\src\lmem.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\lib\lua\src\loadlib.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\lib\lua\src\lobject.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\lib\lua\src\lopcodes.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\lib\lua\src\loslib.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\lib\lua\src\lparser.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\lib\lua\src\lstate.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\lib\lua\src\lstring.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\lib\lua\src\lstrlib.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\lib\lua\src\ltable.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\lib\lua\src\ltablib.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\lib\lua\src\ltm.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\lib\lua\src\luac.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\lib\lua\src\lundump.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\lib\lua\src\lvm.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\lib\lua\src\lzio.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\lib\lua\src\print.c">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\lib\lua\src\lapi.h" />
<ClInclude Include="..\lib\lua\src\lauxlib.h" />
<ClInclude Include="..\lib\lua\src\lcode.h" />
<ClInclude Include="..\lib\lua\src\ldebug.h" />
<ClInclude Include="..\lib\lua\src\ldo.h" />
<ClInclude Include="..\lib\lua\src\lfunc.h" />
<ClInclude Include="..\lib\lua\src\lgc.h" />
<ClInclude Include="..\lib\lua\src\llex.h" />
<ClInclude Include="..\lib\lua\src\llimits.h" />
<ClInclude Include="..\lib\lua\src\lmem.h" />
<ClInclude Include="..\lib\lua\src\lobject.h" />
<ClInclude Include="..\lib\lua\src\lopcodes.h" />
<ClInclude Include="..\lib\lua\src\lparser.h" />
<ClInclude Include="..\lib\lua\src\lstate.h" />
<ClInclude Include="..\lib\lua\src\lstring.h" />
<ClInclude Include="..\lib\lua\src\ltable.h" />
<ClInclude Include="..\lib\lua\src\ltm.h" />
<ClInclude Include="..\lib\lua\src\lua.h" />
<ClInclude Include="..\lib\lua\src\luaconf.h" />
<ClInclude Include="..\lib\lua\src\lualib.h" />
<ClInclude Include="..\lib\lua\src\lundump.h" />
<ClInclude Include="..\lib\lua\src\lvm.h" />
<ClInclude Include="..\lib\lua\src\lzio.h" />
</ItemGroup>
</Project>

View File

@ -1,102 +0,0 @@
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Express 2013 for Windows Desktop
VisualStudioVersion = 12.0.21005.1
MinimumVisualStudioVersion = 10.0.40219.1
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "MCServer", "MCServer.vcxproj", "{32012054-0C96-4C43-AB27-174FF8E72D66}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "zlib", "zlib.vcxproj", "{EA9D50FD-937A-4EF5-8C37-5F4175AF4FEA}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "JsonCpp", "JsonCpp.vcxproj", "{5AAA90B9-946D-4034-83F3-676B06A6E326}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Lua", "Lua.vcxproj", "{082E8185-7B3A-4945-8C82-9132341A329D}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ToLua", "ToLua.vcxproj", "{EEAB54AD-114C-4AB8-8482-0A52D502BD35}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "CryptoPP", "CryptoPP.vcxproj", "{3423EC9A-52E4-4A4D-9753-EDEBC38785EF}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "expat", "expat.vcxproj", "{5FCFAF8D-FF2C-456D-A72C-1D76F913AD96}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug profiled|Win32 = Debug profiled|Win32
Debug_LuaStatic|Win32 = Debug_LuaStatic|Win32
Debug|Win32 = Debug|Win32
Release profiled|Win32 = Release profiled|Win32
Release|Win32 = Release|Win32
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{32012054-0C96-4C43-AB27-174FF8E72D66}.Debug profiled|Win32.ActiveCfg = Debug profiled|Win32
{32012054-0C96-4C43-AB27-174FF8E72D66}.Debug profiled|Win32.Build.0 = Debug profiled|Win32
{32012054-0C96-4C43-AB27-174FF8E72D66}.Debug_LuaStatic|Win32.ActiveCfg = Debug_LuaStatic|Win32
{32012054-0C96-4C43-AB27-174FF8E72D66}.Debug_LuaStatic|Win32.Build.0 = Debug_LuaStatic|Win32
{32012054-0C96-4C43-AB27-174FF8E72D66}.Debug|Win32.ActiveCfg = Debug|Win32
{32012054-0C96-4C43-AB27-174FF8E72D66}.Debug|Win32.Build.0 = Debug|Win32
{32012054-0C96-4C43-AB27-174FF8E72D66}.Release profiled|Win32.ActiveCfg = Release profiled|Win32
{32012054-0C96-4C43-AB27-174FF8E72D66}.Release profiled|Win32.Build.0 = Release profiled|Win32
{32012054-0C96-4C43-AB27-174FF8E72D66}.Release|Win32.ActiveCfg = Release|Win32
{32012054-0C96-4C43-AB27-174FF8E72D66}.Release|Win32.Build.0 = Release|Win32
{EA9D50FD-937A-4EF5-8C37-5F4175AF4FEA}.Debug profiled|Win32.ActiveCfg = Debug profiled|Win32
{EA9D50FD-937A-4EF5-8C37-5F4175AF4FEA}.Debug profiled|Win32.Build.0 = Debug profiled|Win32
{EA9D50FD-937A-4EF5-8C37-5F4175AF4FEA}.Debug_LuaStatic|Win32.ActiveCfg = Debug_LuaStatic|Win32
{EA9D50FD-937A-4EF5-8C37-5F4175AF4FEA}.Debug_LuaStatic|Win32.Build.0 = Debug_LuaStatic|Win32
{EA9D50FD-937A-4EF5-8C37-5F4175AF4FEA}.Debug|Win32.ActiveCfg = Debug|Win32
{EA9D50FD-937A-4EF5-8C37-5F4175AF4FEA}.Debug|Win32.Build.0 = Debug|Win32
{EA9D50FD-937A-4EF5-8C37-5F4175AF4FEA}.Release profiled|Win32.ActiveCfg = Release profiled|Win32
{EA9D50FD-937A-4EF5-8C37-5F4175AF4FEA}.Release profiled|Win32.Build.0 = Release profiled|Win32
{EA9D50FD-937A-4EF5-8C37-5F4175AF4FEA}.Release|Win32.ActiveCfg = Release|Win32
{EA9D50FD-937A-4EF5-8C37-5F4175AF4FEA}.Release|Win32.Build.0 = Release|Win32
{5AAA90B9-946D-4034-83F3-676B06A6E326}.Debug profiled|Win32.ActiveCfg = Debug profiled|Win32
{5AAA90B9-946D-4034-83F3-676B06A6E326}.Debug profiled|Win32.Build.0 = Debug profiled|Win32
{5AAA90B9-946D-4034-83F3-676B06A6E326}.Debug_LuaStatic|Win32.ActiveCfg = Debug_LuaStatic|Win32
{5AAA90B9-946D-4034-83F3-676B06A6E326}.Debug_LuaStatic|Win32.Build.0 = Debug_LuaStatic|Win32
{5AAA90B9-946D-4034-83F3-676B06A6E326}.Debug|Win32.ActiveCfg = Debug|Win32
{5AAA90B9-946D-4034-83F3-676B06A6E326}.Debug|Win32.Build.0 = Debug|Win32
{5AAA90B9-946D-4034-83F3-676B06A6E326}.Release profiled|Win32.ActiveCfg = Release profiled|Win32
{5AAA90B9-946D-4034-83F3-676B06A6E326}.Release profiled|Win32.Build.0 = Release profiled|Win32
{5AAA90B9-946D-4034-83F3-676B06A6E326}.Release|Win32.ActiveCfg = Release|Win32
{5AAA90B9-946D-4034-83F3-676B06A6E326}.Release|Win32.Build.0 = Release|Win32
{082E8185-7B3A-4945-8C82-9132341A329D}.Debug profiled|Win32.ActiveCfg = Debug profiled|Win32
{082E8185-7B3A-4945-8C82-9132341A329D}.Debug profiled|Win32.Build.0 = Debug profiled|Win32
{082E8185-7B3A-4945-8C82-9132341A329D}.Debug_LuaStatic|Win32.ActiveCfg = Debug_LuaStatic|Win32
{082E8185-7B3A-4945-8C82-9132341A329D}.Debug_LuaStatic|Win32.Build.0 = Debug_LuaStatic|Win32
{082E8185-7B3A-4945-8C82-9132341A329D}.Debug|Win32.ActiveCfg = Debug|Win32
{082E8185-7B3A-4945-8C82-9132341A329D}.Debug|Win32.Build.0 = Debug|Win32
{082E8185-7B3A-4945-8C82-9132341A329D}.Release profiled|Win32.ActiveCfg = Release profiled|Win32
{082E8185-7B3A-4945-8C82-9132341A329D}.Release profiled|Win32.Build.0 = Release profiled|Win32
{082E8185-7B3A-4945-8C82-9132341A329D}.Release|Win32.ActiveCfg = Release|Win32
{082E8185-7B3A-4945-8C82-9132341A329D}.Release|Win32.Build.0 = Release|Win32
{EEAB54AD-114C-4AB8-8482-0A52D502BD35}.Debug profiled|Win32.ActiveCfg = Debug profiled|Win32
{EEAB54AD-114C-4AB8-8482-0A52D502BD35}.Debug profiled|Win32.Build.0 = Debug profiled|Win32
{EEAB54AD-114C-4AB8-8482-0A52D502BD35}.Debug_LuaStatic|Win32.ActiveCfg = Debug_LuaStatic|Win32
{EEAB54AD-114C-4AB8-8482-0A52D502BD35}.Debug_LuaStatic|Win32.Build.0 = Debug_LuaStatic|Win32
{EEAB54AD-114C-4AB8-8482-0A52D502BD35}.Debug|Win32.ActiveCfg = Debug|Win32
{EEAB54AD-114C-4AB8-8482-0A52D502BD35}.Debug|Win32.Build.0 = Debug|Win32
{EEAB54AD-114C-4AB8-8482-0A52D502BD35}.Release profiled|Win32.ActiveCfg = Release profiled|Win32
{EEAB54AD-114C-4AB8-8482-0A52D502BD35}.Release profiled|Win32.Build.0 = Release profiled|Win32
{EEAB54AD-114C-4AB8-8482-0A52D502BD35}.Release|Win32.ActiveCfg = Release|Win32
{EEAB54AD-114C-4AB8-8482-0A52D502BD35}.Release|Win32.Build.0 = Release|Win32
{3423EC9A-52E4-4A4D-9753-EDEBC38785EF}.Debug profiled|Win32.ActiveCfg = Debug|Win32
{3423EC9A-52E4-4A4D-9753-EDEBC38785EF}.Debug profiled|Win32.Build.0 = Debug|Win32
{3423EC9A-52E4-4A4D-9753-EDEBC38785EF}.Debug_LuaStatic|Win32.ActiveCfg = Debug_LuaStatic|Win32
{3423EC9A-52E4-4A4D-9753-EDEBC38785EF}.Debug_LuaStatic|Win32.Build.0 = Debug_LuaStatic|Win32
{3423EC9A-52E4-4A4D-9753-EDEBC38785EF}.Debug|Win32.ActiveCfg = Debug|Win32
{3423EC9A-52E4-4A4D-9753-EDEBC38785EF}.Debug|Win32.Build.0 = Debug|Win32
{3423EC9A-52E4-4A4D-9753-EDEBC38785EF}.Release profiled|Win32.ActiveCfg = Release|Win32
{3423EC9A-52E4-4A4D-9753-EDEBC38785EF}.Release profiled|Win32.Build.0 = Release|Win32
{3423EC9A-52E4-4A4D-9753-EDEBC38785EF}.Release|Win32.ActiveCfg = Release|Win32
{3423EC9A-52E4-4A4D-9753-EDEBC38785EF}.Release|Win32.Build.0 = Release|Win32
{5FCFAF8D-FF2C-456D-A72C-1D76F913AD96}.Debug profiled|Win32.ActiveCfg = Debug|Win32
{5FCFAF8D-FF2C-456D-A72C-1D76F913AD96}.Debug profiled|Win32.Build.0 = Debug|Win32
{5FCFAF8D-FF2C-456D-A72C-1D76F913AD96}.Debug_LuaStatic|Win32.ActiveCfg = Debug_LuaStatic|Win32
{5FCFAF8D-FF2C-456D-A72C-1D76F913AD96}.Debug_LuaStatic|Win32.Build.0 = Debug_LuaStatic|Win32
{5FCFAF8D-FF2C-456D-A72C-1D76F913AD96}.Debug|Win32.ActiveCfg = Debug|Win32
{5FCFAF8D-FF2C-456D-A72C-1D76F913AD96}.Debug|Win32.Build.0 = Debug|Win32
{5FCFAF8D-FF2C-456D-A72C-1D76F913AD96}.Release profiled|Win32.ActiveCfg = Release|Win32
{5FCFAF8D-FF2C-456D-A72C-1D76F913AD96}.Release profiled|Win32.Build.0 = Release|Win32
{5FCFAF8D-FF2C-456D-A72C-1D76F913AD96}.Release|Win32.ActiveCfg = Release|Win32
{5FCFAF8D-FF2C-456D-A72C-1D76F913AD96}.Release|Win32.Build.0 = Release|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal

View File

@ -1,971 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug profiled|Win32">
<Configuration>Debug profiled</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug_LuaStatic|Win32">
<Configuration>Debug_LuaStatic</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release profiled|Win32">
<Configuration>Release profiled</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{32012054-0C96-4C43-AB27-174FF8E72D66}</ProjectGuid>
<RootNamespace>MCServer</RootNamespace>
<Keyword>Win32Proj</Keyword>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug_LuaStatic|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<PlatformToolset>v120</PlatformToolset>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug profiled|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<PlatformToolset>v120</PlatformToolset>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release profiled|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<PlatformToolset>v120</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<PlatformToolset>v120</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<PlatformToolset>v120</PlatformToolset>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug_LuaStatic|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug profiled|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release profiled|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" 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>
<_ProjectFileVersion>12.0.21005.1</_ProjectFileVersion>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<OutDir>Debug\</OutDir>
<IntDir>Debug\</IntDir>
<LinkIncremental>true</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<OutDir>Release\</OutDir>
<IntDir>Release\</IntDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release profiled|Win32'">
<OutDir>$(Configuration)\</OutDir>
<IntDir>$(Configuration)\</IntDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug profiled|Win32'">
<OutDir>$(Configuration)\</OutDir>
<IntDir>$(Configuration)\</IntDir>
<LinkIncremental>true</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug_LuaStatic|Win32'">
<OutDir>$(Configuration)\</OutDir>
<IntDir>$(Configuration)\</IntDir>
<LinkIncremental>true</LinkIncremental>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>../lib/jsoncpp/include;../lib;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;XML_STATIC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MinimalRebuild>false</MinimalRebuild>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<PrecompiledHeader>Use</PrecompiledHeader>
<PrecompiledHeaderFile>Globals.h</PrecompiledHeaderFile>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
</ClCompile>
<Link>
<AdditionalDependencies>ws2_32.lib;Psapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>$(ProjectDir)\..\MCServer\$(ProjectName)_debug.exe</OutputFile>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Console</SubSystem>
<TargetMachine>MachineX86</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions>
<Optimization>Full</Optimization>
<IntrinsicFunctions>true</IntrinsicFunctions>
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
<WholeProgramOptimization>true</WholeProgramOptimization>
<AdditionalIncludeDirectories>../lib/jsoncpp/include;../lib;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;XML_STATIC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<PrecompiledHeader>Use</PrecompiledHeader>
<PrecompiledHeaderFile>Globals.h</PrecompiledHeaderFile>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
</ClCompile>
<Link>
<AdditionalDependencies>ws2_32.lib;Psapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>$(ProjectDir)\..\MCServer\$(ProjectName).exe</OutputFile>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Console</SubSystem>
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<LinkTimeCodeGeneration>UseLinkTimeCodeGeneration</LinkTimeCodeGeneration>
<TargetMachine>MachineX86</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release profiled|Win32'">
<ClCompile>
<AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions>
<Optimization>Full</Optimization>
<IntrinsicFunctions>true</IntrinsicFunctions>
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
<WholeProgramOptimization>true</WholeProgramOptimization>
<AdditionalIncludeDirectories>../lib/jsoncpp/include;../lib;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;XML_STATIC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<PrecompiledHeader>Use</PrecompiledHeader>
<PrecompiledHeaderFile>Globals.h</PrecompiledHeaderFile>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
</ClCompile>
<Link>
<AdditionalDependencies>ws2_32.lib;Psapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>$(ProjectDir)\..\MCServer\$(ProjectName)_profiled.exe</OutputFile>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Console</SubSystem>
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<LinkTimeCodeGeneration>UseLinkTimeCodeGeneration</LinkTimeCodeGeneration>
<TargetMachine>MachineX86</TargetMachine>
<Profile>true</Profile>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug profiled|Win32'">
<ClCompile>
<AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>../lib/jsoncpp/include;../lib;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;XML_STATIC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MinimalRebuild>false</MinimalRebuild>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<PrecompiledHeader>Use</PrecompiledHeader>
<PrecompiledHeaderFile>Globals.h</PrecompiledHeaderFile>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
</ClCompile>
<Link>
<AdditionalDependencies>ws2_32.lib;Psapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>$(ProjectDir)\..\MCServer\$(ProjectName)_dbgprof.exe</OutputFile>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Console</SubSystem>
<TargetMachine>MachineX86</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug_LuaStatic|Win32'">
<ClCompile>
<AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>../lib/jsoncpp/include;../lib;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;XML_STATIC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MinimalRebuild>false</MinimalRebuild>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<PrecompiledHeader>Use</PrecompiledHeader>
<PrecompiledHeaderFile>Globals.h</PrecompiledHeaderFile>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
</ClCompile>
<Link>
<AdditionalDependencies>ws2_32.lib;Psapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>$(ProjectDir)\..\MCServer\$(ProjectName)_debug_luastatic.exe</OutputFile>
<GenerateDebugInformation>true</GenerateDebugInformation>
<SubSystem>Console</SubSystem>
<TargetMachine>MachineX86</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<Image Include="..\src\Resources\icon.ico" />
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="..\src\Resources\MCServer.rc" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\src\Resources\resource_MCServer.h" />
<ClInclude Include="..\src\Authenticator.h" />
<ClInclude Include="..\src\BiomeDef.h" />
<ClInclude Include="..\src\BlockArea.h" />
<ClInclude Include="..\src\BlockID.h" />
<ClInclude Include="..\src\BlockTracer.h" />
<ClInclude Include="..\src\BoundingBox.h" />
<ClInclude Include="..\src\ByteBuffer.h" />
<ClInclude Include="..\src\ChatColor.h" />
<ClInclude Include="..\src\Chunk.h" />
<ClInclude Include="..\src\ChunkDef.h" />
<ClInclude Include="..\src\ChunkMap.h" />
<ClInclude Include="..\src\ChunkSender.h" />
<ClInclude Include="..\src\ClientHandle.h" />
<ClInclude Include="..\src\CommandOutput.h" />
<ClInclude Include="..\src\CraftingRecipes.h" />
<ClInclude Include="..\src\Cuboid.h" />
<ClInclude Include="..\src\DeadlockDetect.h" />
<ClInclude Include="..\src\Defines.h" />
<ClInclude Include="..\src\Enchantments.h" />
<ClInclude Include="..\src\Endianness.h" />
<ClInclude Include="..\src\FastRandom.h" />
<ClInclude Include="..\src\FurnaceRecipe.h" />
<ClInclude Include="..\src\Globals.h" />
<ClInclude Include="..\src\Group.h" />
<ClInclude Include="..\src\GroupManager.h" />
<ClInclude Include="..\src\Inventory.h" />
<ClInclude Include="..\src\Item.h" />
<ClInclude Include="..\src\ItemGrid.h" />
<ClInclude Include="..\src\Ladder.h" />
<ClInclude Include="..\src\LeakFinder.h" />
<ClInclude Include="..\src\LightingThread.h" />
<ClInclude Include="..\src\LinearInterpolation.h" />
<ClInclude Include="..\src\LinearUpscale.h" />
<ClInclude Include="..\src\LineBlockTracer.h" />
<ClInclude Include="..\src\Log.h" />
<ClInclude Include="..\src\Matrix4f.h" />
<ClInclude Include="..\src\MCLogger.h" />
<ClInclude Include="..\src\MemoryLeak.h" />
<ClInclude Include="..\src\MersenneTwister.h" />
<ClInclude Include="..\src\MobCensus.h" />
<ClInclude Include="..\src\MobFamilyCollecter.h" />
<ClInclude Include="..\src\MobProximityCounter.h" />
<ClInclude Include="..\src\MobSpawner.h" />
<ClInclude Include="..\src\MonsterConfig.h" />
<ClInclude Include="..\src\Noise.h" />
<ClInclude Include="..\src\Piston.h" />
<ClInclude Include="..\src\ProbabDistrib.h" />
<ClInclude Include="..\src\RCONServer.h" />
<ClInclude Include="..\src\ReferenceManager.h" />
<ClInclude Include="..\src\Root.h" />
<ClInclude Include="..\src\Server.h" />
<ClInclude Include="..\src\Sign.h" />
<ClInclude Include="..\src\StackWalker.h" />
<ClInclude Include="..\src\StringCompression.h" />
<ClInclude Include="..\src\StringUtils.h" />
<ClInclude Include="..\src\Tracer.h" />
<ClInclude Include="..\src\Vector3d.h" />
<ClInclude Include="..\src\Vector3f.h" />
<ClInclude Include="..\src\Vector3i.h" />
<ClInclude Include="..\src\VoronoiMap.h" />
<ClInclude Include="..\src\WebAdmin.h" />
<ClInclude Include="..\src\World.h" />
<ClInclude Include="..\src\Mobs\AggressiveMonster.h" />
<ClInclude Include="..\src\Mobs\Bat.h" />
<ClInclude Include="..\src\Mobs\Blaze.h" />
<ClInclude Include="..\src\Mobs\Cavespider.h" />
<ClInclude Include="..\src\Mobs\Chicken.h" />
<ClInclude Include="..\src\Mobs\Cow.h" />
<ClInclude Include="..\src\Mobs\Creeper.h" />
<ClInclude Include="..\src\Mobs\EnderDragon.h" />
<ClInclude Include="..\src\Mobs\Enderman.h" />
<ClInclude Include="..\src\Mobs\Ghast.h" />
<ClInclude Include="..\src\Mobs\Giant.h" />
<ClInclude Include="..\src\Mobs\Horse.h" />
<ClInclude Include="..\src\Mobs\IronGolem.h" />
<ClInclude Include="..\src\Mobs\MagmaCube.h" />
<ClInclude Include="..\src\Mobs\Monster.h" />
<ClInclude Include="..\src\Mobs\Mooshroom.h" />
<ClInclude Include="..\src\Mobs\Ocelot.h" />
<ClInclude Include="..\src\Mobs\PassiveAggressiveMonster.h" />
<ClInclude Include="..\src\Mobs\PassiveMonster.h" />
<ClInclude Include="..\src\Mobs\Pig.h" />
<ClInclude Include="..\src\Mobs\Sheep.h" />
<ClInclude Include="..\src\Mobs\Silverfish.h" />
<ClInclude Include="..\src\Mobs\Skeleton.h" />
<ClInclude Include="..\src\Mobs\Slime.h" />
<ClInclude Include="..\src\Mobs\SnowGolem.h" />
<ClInclude Include="..\src\Mobs\Spider.h" />
<ClInclude Include="..\src\Mobs\Squid.h" />
<ClInclude Include="..\src\Mobs\Villager.h" />
<ClInclude Include="..\src\Mobs\Witch.h" />
<ClInclude Include="..\src\Mobs\Wither.h" />
<ClInclude Include="..\src\Mobs\Wolf.h" />
<ClInclude Include="..\src\Mobs\Zombie.h" />
<ClInclude Include="..\src\Mobs\ZombiePigman.h" />
<ClInclude Include="..\src\Entities\Boat.h" />
<ClInclude Include="..\src\Entities\Entity.h" />
<ClInclude Include="..\src\Entities\ExpOrb.h" />
<ClInclude Include="..\src\Entities\FallingBlock.h" />
<ClInclude Include="..\src\Entities\Floater.h" />
<ClInclude Include="..\src\Entities\Minecart.h" />
<ClInclude Include="..\src\Entities\Pawn.h" />
<ClInclude Include="..\src\Entities\Pickup.h" />
<ClInclude Include="..\src\Entities\Player.h" />
<ClInclude Include="..\src\Entities\ProjectileEntity.h" />
<ClInclude Include="..\src\Entities\TNTEntity.h" />
<ClInclude Include="..\src\UI\SlotArea.h" />
<ClInclude Include="..\src\UI\Window.h" />
<ClInclude Include="..\src\UI\WindowOwner.h" />
<ClInclude Include="..\src\Simulator\DelayedFluidSimulator.h" />
<ClInclude Include="..\src\Simulator\FireSimulator.h" />
<ClInclude Include="..\src\Simulator\FloodyFluidSimulator.h" />
<ClInclude Include="..\src\Simulator\FluidSimulator.h" />
<ClInclude Include="..\src\Simulator\NoopFluidSimulator.h" />
<ClInclude Include="..\src\Simulator\RedstoneSimulator.h" />
<ClInclude Include="..\src\Simulator\SandSimulator.h" />
<ClInclude Include="..\src\Simulator\Simulator.h" />
<ClInclude Include="..\src\Simulator\SimulatorManager.h" />
<ClInclude Include="..\src\Simulator\VaporizeFluidSimulator.h" />
<ClInclude Include="..\src\OSSupport\BlockingTCPLink.h" />
<ClInclude Include="..\src\OSSupport\CriticalSection.h" />
<ClInclude Include="..\src\OSSupport\Event.h" />
<ClInclude Include="..\src\OSSupport\File.h" />
<ClInclude Include="..\src\OSSupport\GZipFile.h" />
<ClInclude Include="..\src\OSSupport\IsThread.h" />
<ClInclude Include="..\src\OSSupport\ListenThread.h" />
<ClInclude Include="..\src\OSSupport\Queue.h" />
<ClInclude Include="..\src\OSSupport\Semaphore.h" />
<ClInclude Include="..\src\OSSupport\Sleep.h" />
<ClInclude Include="..\src\OSSupport\Socket.h" />
<ClInclude Include="..\src\OSSupport\SocketThreads.h" />
<ClInclude Include="..\src\OSSupport\Thread.h" />
<ClInclude Include="..\src\OSSupport\Timer.h" />
<CustomBuild Include="..\Android\jni\ToJava.h">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug profiled|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_LuaStatic|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release profiled|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
</CustomBuild>
<ClInclude Include="..\src\Bindings\Bindings.h" />
<ClInclude Include="..\src\Bindings\LuaFunctions.h" />
<ClInclude Include="..\src\Bindings\LuaState.h" />
<ClInclude Include="..\src\Bindings\LuaWindow.h" />
<ClInclude Include="..\src\Bindings\ManualBindings.h" />
<ClInclude Include="..\src\Bindings\Plugin.h" />
<ClInclude Include="..\src\Bindings\PluginLua.h" />
<ClInclude Include="..\src\Bindings\PluginManager.h" />
<ClInclude Include="..\src\Bindings\WebPlugin.h" />
<ClInclude Include="..\lib\inifile\iniFile.h" />
<ClInclude Include="..\lib\md5\md5.h" />
<ClInclude Include="..\src\WorldStorage\FastNBT.h" />
<ClInclude Include="..\src\WorldStorage\NBTChunkSerializer.h" />
<ClInclude Include="..\src\WorldStorage\WorldStorage.h" />
<ClInclude Include="..\src\WorldStorage\WSSAnvil.h" />
<ClInclude Include="..\src\WorldStorage\WSSCompact.h" />
<ClInclude Include="..\src\Generating\BioGen.h" />
<ClInclude Include="..\src\Generating\Caves.h" />
<ClInclude Include="..\src\Generating\ChunkDesc.h" />
<ClInclude Include="..\src\Generating\ChunkGenerator.h" />
<ClInclude Include="..\src\Generating\CompoGen.h" />
<ClInclude Include="..\src\Generating\ComposableGenerator.h" />
<ClInclude Include="..\src\Generating\DistortedHeightmap.h" />
<ClInclude Include="..\src\Generating\EndGen.h" />
<ClInclude Include="..\src\Generating\FinishGen.h" />
<ClInclude Include="..\src\Generating\HeiGen.h" />
<ClInclude Include="..\src\Generating\MineShafts.h" />
<ClInclude Include="..\src\Generating\Noise3DGenerator.h" />
<ClInclude Include="..\src\Generating\Ravines.h" />
<ClInclude Include="..\src\Generating\StructGen.h" />
<ClInclude Include="..\src\Generating\Trees.h" />
<ClInclude Include="..\src\blocks\BlockBed.h" />
<ClInclude Include="..\src\Blocks\BlockBrewingStand.h" />
<ClInclude Include="..\src\Blocks\BlockButton.h" />
<ClInclude Include="..\src\blocks\BlockCactus.h" />
<ClInclude Include="..\src\Blocks\BlockCarpet.h" />
<ClInclude Include="..\src\Blocks\BlockCauldron.h" />
<ClInclude Include="..\src\blocks\BlockChest.h" />
<ClInclude Include="..\src\blocks\BlockCloth.h" />
<ClInclude Include="..\src\Blocks\BlockCobWeb.h" />
<ClInclude Include="..\src\Blocks\BlockComparator.h" />
<ClInclude Include="..\src\blocks\BlockCrops.h" />
<ClInclude Include="..\src\Blocks\BlockDeadBush.h" />
<ClInclude Include="..\src\blocks\BlockDirt.h" />
<ClInclude Include="..\src\blocks\BlockDoor.h" />
<ClInclude Include="..\src\blocks\BlockDropSpenser.h" />
<ClInclude Include="..\src\Blocks\BlockEnderchest.h" />
<ClInclude Include="..\src\blocks\BlockEntity.h" />
<ClInclude Include="..\src\Blocks\BlockFarmland.h" />
<ClInclude Include="..\src\Blocks\BlockFenceGate.h" />
<ClInclude Include="..\src\blocks\BlockFire.h" />
<ClInclude Include="..\src\blocks\BlockFlower.h" />
<ClInclude Include="..\src\Blocks\BlockFlowerPot.h" />
<ClInclude Include="..\src\blocks\BlockFluid.h" />
<ClInclude Include="..\src\blocks\BlockFurnace.h" />
<ClInclude Include="..\src\Blocks\BlockGlass.h" />
<ClInclude Include="..\src\blocks\BlockGlowstone.h" />
<ClInclude Include="..\src\blocks\BlockGravel.h" />
<ClInclude Include="..\src\blocks\BlockHandler.h" />
<ClInclude Include="..\src\Blocks\BlockHopper.h" />
<ClInclude Include="..\src\blocks\BlockIce.h" />
<ClInclude Include="..\src\blocks\BlockLadder.h" />
<ClInclude Include="..\src\blocks\BlockLeaves.h" />
<ClInclude Include="..\src\Blocks\BlockLever.h" />
<ClInclude Include="..\src\blocks\BlockMelon.h" />
<ClInclude Include="..\src\blocks\BlockMushroom.h" />
<ClInclude Include="..\src\Blocks\BlockMycelium.h" />
<ClInclude Include="..\src\blocks\BlockNote.h" />
<ClInclude Include="..\src\blocks\BlockOre.h" />
<ClInclude Include="..\src\blocks\BlockPiston.h" />
<ClInclude Include="..\src\blocks\BlockPlanks.h" />
<ClInclude Include="..\src\blocks\BlockPortal.h" />
<ClInclude Include="..\src\Blocks\BlockPumpkin.h" />
<ClInclude Include="..\src\Blocks\BlockRail.h" />
<ClInclude Include="..\src\blocks\BlockRedstone.h" />
<ClInclude Include="..\src\blocks\BlockRedstoneOre.h" />
<ClInclude Include="..\src\blocks\BlockRedstoneRepeater.h" />
<ClInclude Include="..\src\blocks\BlockRedstoneTorch.h" />
<ClInclude Include="..\src\blocks\BlockSand.h" />
<ClInclude Include="..\src\blocks\BlockSapling.h" />
<ClInclude Include="..\src\blocks\BlockSign.h" />
<ClInclude Include="..\src\blocks\BlockSlab.h" />
<ClInclude Include="..\src\blocks\BlockSnow.h" />
<ClInclude Include="..\src\blocks\BlockStairs.h" />
<ClInclude Include="..\src\blocks\BlockStems.h" />
<ClInclude Include="..\src\blocks\BlockStone.h" />
<ClInclude Include="..\src\blocks\BlockSugarcane.h" />
<ClInclude Include="..\src\blocks\BlockTallGrass.h" />
<ClInclude Include="..\src\blocks\BlockTorch.h" />
<ClInclude Include="..\src\Blocks\BlockTrapdoor.h" />
<ClInclude Include="..\src\blocks\BlockVine.h" />
<ClInclude Include="..\src\blocks\BlockWood.h" />
<ClInclude Include="..\src\blocks\BlockWorkbench.h" />
<ClInclude Include="..\src\items\ItemBed.h" />
<ClInclude Include="..\src\Items\ItemBoat.h" />
<ClInclude Include="..\src\Items\ItemBow.h" />
<ClInclude Include="..\src\Items\ItemBrewingStand.h" />
<ClInclude Include="..\src\items\ItemBucket.h" />
<ClInclude Include="..\src\Items\ItemCauldron.h" />
<ClInclude Include="..\src\items\ItemCloth.h" />
<ClInclude Include="..\src\Items\ItemComparator.h" />
<ClInclude Include="..\src\items\ItemDoor.h" />
<ClInclude Include="..\src\items\ItemDye.h" />
<ClInclude Include="..\src\Items\ItemFishingRod.h" />
<ClInclude Include="..\src\Items\ItemFlowerPot.h" />
<ClInclude Include="..\src\items\ItemFood.h" />
<ClInclude Include="..\src\items\ItemHandler.h" />
<ClInclude Include="..\src\items\ItemHoe.h" />
<ClInclude Include="..\src\items\ItemLeaves.h" />
<ClInclude Include="..\src\items\ItemLighter.h" />
<ClInclude Include="..\src\Items\ItemMinecart.h" />
<ClInclude Include="..\src\items\ItemPickaxe.h" />
<ClInclude Include="..\src\items\ItemRedstoneDust.h" />
<ClInclude Include="..\src\items\ItemRedstoneRepeater.h" />
<ClInclude Include="..\src\items\ItemSapling.h" />
<ClInclude Include="..\src\items\ItemSeeds.h" />
<ClInclude Include="..\src\items\ItemShears.h" />
<ClInclude Include="..\src\items\ItemShovel.h" />
<ClInclude Include="..\src\items\ItemSign.h" />
<ClInclude Include="..\src\Items\ItemSpawnEgg.h" />
<ClInclude Include="..\src\items\ItemSugarcane.h" />
<ClInclude Include="..\src\items\ItemSword.h" />
<ClInclude Include="..\src\Items\ItemThrowable.h" />
<ClInclude Include="..\src\Protocol\ChunkDataSerializer.h" />
<ClInclude Include="..\src\Protocol\Protocol.h" />
<ClInclude Include="..\src\Protocol\Protocol125.h" />
<ClInclude Include="..\src\Protocol\Protocol132.h" />
<ClInclude Include="..\src\Protocol\Protocol14x.h" />
<ClInclude Include="..\src\Protocol\Protocol15x.h" />
<ClInclude Include="..\src\Protocol\Protocol16x.h" />
<ClInclude Include="..\src\Protocol\Protocol17x.h" />
<ClInclude Include="..\src\Protocol\ProtocolRecognizer.h" />
<ClInclude Include="..\lib\sqlite\sqlite3.h" />
<ClInclude Include="..\lib\luaexpat\lxplib.h" />
<ClInclude Include="..\src\BlockEntities\BlockEntity.h" />
<ClInclude Include="..\src\BlockEntities\BlockEntityWithItems.h" />
<ClInclude Include="..\src\BlockEntities\ChestEntity.h" />
<ClInclude Include="..\src\BlockEntities\DispenserEntity.h" />
<ClInclude Include="..\src\BlockEntities\DropperEntity.h" />
<ClInclude Include="..\src\BlockEntities\DropSpenserEntity.h" />
<ClInclude Include="..\src\BlockEntities\EnderChestEntity.h" />
<ClInclude Include="..\src\BlockEntities\FurnaceEntity.h" />
<ClInclude Include="..\src\BlockEntities\HopperEntity.h" />
<ClInclude Include="..\src\BlockEntities\JukeboxEntity.h" />
<ClInclude Include="..\src\BlockEntities\NoteEntity.h" />
<ClInclude Include="..\src\BlockEntities\SignEntity.h" />
<ClInclude Include="..\src\HTTPServer\EnvelopeParser.h" />
<ClInclude Include="..\src\HTTPServer\HTTPConnection.h" />
<ClInclude Include="..\src\HTTPServer\HTTPFormParser.h" />
<ClInclude Include="..\src\HTTPServer\HTTPMessage.h" />
<ClInclude Include="..\src\HTTPServer\HTTPServer.h" />
<ClInclude Include="..\src\HTTPServer\MultipartParser.h" />
<ClInclude Include="..\src\HTTPServer\NameValueParser.h" />
</ItemGroup>
<ItemGroup>
<None Include="..\webadmin\template.html" />
<CustomBuild Include="..\Android\jni\Android.mk">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug profiled|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_LuaStatic|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release profiled|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
</CustomBuild>
<CustomBuild Include="..\Android\jni\Application.mk">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug profiled|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_LuaStatic|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release profiled|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
</CustomBuild>
<CustomBuild Include="..\src\Bindings\AllToLua.pkg">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug profiled|Win32'">true</ExcludedFromBuild>
<Command Condition="'$(Configuration)|$(Platform)'=='Debug profiled|Win32'">GenerateBindings.cmd
</Command>
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug profiled|Win32'">cTorch.h;cStairs.h;cLadder.h;../lib/inifile/iniFile.h;BlockID.h;PacketID.h;Defines.h;LuaFunctions.h;cStringMap.h;cChatColor.h;cClientHandle.h;cEntity.h;cPawn.h;cPlayer.h;cPluginManager.h;cPlugin.h;cPlugin_NewLua.h;cPlugin_Lua.h;cServer.h;cWorld.h;cInventory.h;cItem.h;cWebAdmin.h;cWebPlugin.h;cWebPlugin_Lua.h;cPickup.h;cRoot.h;cTCPLink.h;Vector3f.h;Vector3d.h;Vector3i.h;Matrix4f.h;cCuboid.h;cMCLogger.h;cTracer.h;cGroup.h;BlockArea.h;packets/cPacket_Login.h;packets/cPacket_BlockDig.h;packets/cPacket_BlockPlace.h;%(AdditionalInputs)</AdditionalInputs>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Debug profiled|Win32'">Bindings.cpp;%(Outputs)</Outputs>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_LuaStatic|Win32'">true</ExcludedFromBuild>
<Command Condition="'$(Configuration)|$(Platform)'=='Debug_LuaStatic|Win32'">GenerateBindings.cmd
</Command>
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug_LuaStatic|Win32'">cTorch.h;cStairs.h;cLadder.h;../lib/inifile/iniFile.h;BlockID.h;PacketID.h;Defines.h;LuaFunctions.h;cStringMap.h;cChatColor.h;cClientHandle.h;cEntity.h;cPawn.h;cPlayer.h;cPluginManager.h;cPlugin.h;cPlugin_NewLua.h;cPlugin_Lua.h;cServer.h;cWorld.h;cInventory.h;cItem.h;cWebAdmin.h;cWebPlugin.h;cWebPlugin_Lua.h;cPickup.h;cRoot.h;cTCPLink.h;Vector3f.h;Vector3d.h;Vector3i.h;Matrix4f.h;cCuboid.h;cMCLogger.h;cTracer.h;cGroup.h;BlockArea.h;packets/cPacket_Login.h;packets/cPacket_BlockDig.h;packets/cPacket_BlockPlace.h;%(AdditionalInputs)</AdditionalInputs>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Debug_LuaStatic|Win32'">Bindings.cpp;%(Outputs)</Outputs>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
<Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">GenerateBindings.cmd
</Command>
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">cTorch.h;cStairs.h;cLadder.h;../lib/inifile/iniFile.h;BlockID.h;PacketID.h;Defines.h;LuaFunctions.h;cStringMap.h;cChatColor.h;cClientHandle.h;cEntity.h;cPawn.h;cPlayer.h;cPluginManager.h;cPlugin.h;cPlugin_NewLua.h;cPlugin_Lua.h;cServer.h;cWorld.h;cInventory.h;cItem.h;cWebAdmin.h;cWebPlugin.h;cWebPlugin_Lua.h;cPickup.h;cRoot.h;cTCPLink.h;Vector3f.h;Vector3d.h;Vector3i.h;Matrix4f.h;cCuboid.h;cMCLogger.h;cTracer.h;cGroup.h;BlockArea.h;packets/cPacket_Login.h;packets/cPacket_BlockDig.h;packets/cPacket_BlockPlace.h;%(AdditionalInputs)</AdditionalInputs>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Bindings.cpp;%(Outputs)</Outputs>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release profiled|Win32'">true</ExcludedFromBuild>
<Command Condition="'$(Configuration)|$(Platform)'=='Release profiled|Win32'">GenerateBindings.cmd
</Command>
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Release profiled|Win32'">cTorch.h;cStairs.h;cLadder.h;../lib/inifile/iniFile.h;BlockID.h;PacketID.h;Defines.h;LuaFunctions.h;cStringMap.h;cChatColor.h;cClientHandle.h;cEntity.h;cPawn.h;cPlayer.h;cPluginManager.h;cPlugin.h;cPlugin_NewLua.h;cPlugin_Lua.h;cServer.h;cWorld.h;cInventory.h;cItem.h;cWebAdmin.h;cWebPlugin.h;cWebPlugin_Lua.h;cPickup.h;cRoot.h;cTCPLink.h;Vector3f.h;Vector3d.h;Vector3i.h;Matrix4f.h;cCuboid.h;cMCLogger.h;cTracer.h;cGroup.h;BlockArea.h;packets/cPacket_Login.h;packets/cPacket_BlockDig.h;packets/cPacket_BlockPlace.h;%(AdditionalInputs)</AdditionalInputs>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release profiled|Win32'">Bindings.cpp;%(Outputs)</Outputs>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
<Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">GenerateBindings.cmd
</Command>
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">cTorch.h;cStairs.h;cLadder.h;../lib/inifile/iniFile.h;BlockID.h;PacketID.h;Defines.h;LuaFunctions.h;cStringMap.h;cChatColor.h;cClientHandle.h;cEntity.h;cPawn.h;cPlayer.h;cPluginManager.h;cPlugin.h;cPlugin_NewLua.h;cPlugin_Lua.h;cServer.h;cWorld.h;cInventory.h;cItem.h;cWebAdmin.h;cWebPlugin.h;cWebPlugin_Lua.h;cPickup.h;cRoot.h;cTCPLink.h;Vector3f.h;Vector3d.h;Vector3i.h;Matrix4f.h;cCuboid.h;cMCLogger.h;cTracer.h;cGroup.h;BlockArea.h;packets/cPacket_Login.h;packets/cPacket_BlockDig.h;packets/cPacket_BlockPlace.h;%(AdditionalInputs)</AdditionalInputs>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Bindings.cpp;%(Outputs)</Outputs>
</CustomBuild>
<None Include="..\MCServer\groups.ini" />
<None Include="..\MCServer\items.ini" />
<None Include="..\MCServer\monsters.ini" />
<None Include="..\MCServer\settings.ini" />
<None Include="..\MCServer\terrain.ini" />
<None Include="..\MCServer\users.ini" />
<None Include="..\MCServer\webadmin.ini" />
<None Include="..\MCServer\Plugins\Core\back.lua" />
<None Include="..\MCServer\Plugins\Core\ban-unban.lua" />
<None Include="..\MCServer\Plugins\Core\clear.lua" />
<None Include="..\MCServer\Plugins\Core\console.lua" />
<None Include="..\MCServer\Plugins\Core\do.lua" />
<None Include="..\MCServer\Plugins\Core\functions.lua" />
<None Include="..\MCServer\Plugins\Core\give.lua" />
<None Include="..\MCServer\Plugins\Core\gm.lua" />
<None Include="..\MCServer\Plugins\Core\help.lua" />
<None Include="..\MCServer\Plugins\Core\item.lua" />
<None Include="..\MCServer\Plugins\Core\itemrepair.lua" />
<None Include="..\MCServer\Plugins\Core\kick.lua" />
<None Include="..\MCServer\Plugins\Core\kill.lua" />
<None Include="..\MCServer\Plugins\Core\locate.lua" />
<None Include="..\MCServer\Plugins\Core\main.lua" />
<None Include="..\MCServer\Plugins\Core\me.lua" />
<None Include="..\MCServer\Plugins\Core\motd.lua" />
<None Include="..\MCServer\Plugins\Core\onbreakplaceblock.lua" />
<None Include="..\MCServer\Plugins\Core\ondeath.lua" />
<None Include="..\MCServer\Plugins\Core\onjoinleave.lua" />
<None Include="..\MCServer\Plugins\Core\onlogin.lua" />
<None Include="..\MCServer\Plugins\Core\plugins.lua" />
<None Include="..\MCServer\Plugins\Core\portal-worlds.lua" />
<None Include="..\MCServer\Plugins\Core\rank-groups.lua" />
<None Include="..\MCServer\Plugins\Core\regen.lua" />
<None Include="..\MCServer\Plugins\Core\save-reload-stop.lua" />
<None Include="..\MCServer\Plugins\Core\spawn.lua" />
<None Include="..\MCServer\Plugins\Core\teleport.lua" />
<None Include="..\MCServer\Plugins\Core\tell.lua" />
<None Include="..\MCServer\Plugins\Core\time.lua" />
<None Include="..\MCServer\Plugins\Core\top.lua" />
<None Include="..\MCServer\Plugins\Core\viewdistance.lua" />
<None Include="..\MCServer\Plugins\Core\weather.lua" />
<None Include="..\MCServer\Plugins\Core\web_chat.lua" />
<None Include="..\MCServer\Plugins\Core\web_manageplugins.lua" />
<None Include="..\MCServer\Plugins\Core\web_manageserver.lua" />
<None Include="..\MCServer\Plugins\Core\web_permissions.lua" />
<None Include="..\MCServer\Plugins\Core\web_playerlist.lua" />
<None Include="..\MCServer\Plugins\Core\web_serversettings.lua" />
<None Include="..\MCServer\Plugins\Core\web_whitelist.lua" />
<None Include="..\MCServer\Plugins\Core\worldlimiter.lua" />
<None Include="..\MCServer\Plugins\ChatLog\plugin.lua" />
<None Include="..\MCServer\Plugins\Debuggers\Debuggers.lua" />
<None Include="..\MCServer\Plugins\APIDump\main.lua" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\src\Authenticator.cpp" />
<ClCompile Include="..\src\BiomeDef.cpp" />
<ClCompile Include="..\src\BlockArea.cpp" />
<ClCompile Include="..\src\BlockID.cpp" />
<ClCompile Include="..\src\BoundingBox.cpp" />
<ClCompile Include="..\src\ByteBuffer.cpp" />
<ClCompile Include="..\src\ChatColor.cpp" />
<ClCompile Include="..\src\Chunk.cpp" />
<ClCompile Include="..\src\ChunkMap.cpp" />
<ClCompile Include="..\src\ChunkSender.cpp" />
<ClCompile Include="..\src\ClientHandle.cpp" />
<ClCompile Include="..\src\CommandOutput.cpp" />
<ClCompile Include="..\src\CraftingRecipes.cpp" />
<ClCompile Include="..\src\Cuboid.cpp" />
<ClCompile Include="..\src\DeadlockDetect.cpp" />
<ClCompile Include="..\src\Enchantments.cpp" />
<ClCompile Include="..\src\FastRandom.cpp" />
<ClCompile Include="..\src\FurnaceRecipe.cpp" />
<ClCompile Include="..\src\Globals.cpp">
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug profiled|Win32'">Create</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug_LuaStatic|Win32'">Create</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Create</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release profiled|Win32'">Create</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Create</PrecompiledHeader>
</ClCompile>
<ClCompile Include="..\src\Group.cpp" />
<ClCompile Include="..\src\GroupManager.cpp" />
<ClCompile Include="..\src\Inventory.cpp" />
<ClCompile Include="..\src\Item.cpp" />
<ClCompile Include="..\src\ItemGrid.cpp" />
<ClCompile Include="..\src\LeakFinder.cpp">
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug profiled|Win32'">
</PrecompiledHeader>
<WarningLevel Condition="'$(Configuration)|$(Platform)'=='Debug profiled|Win32'">Level3</WarningLevel>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug_LuaStatic|Win32'">
</PrecompiledHeader>
<WarningLevel Condition="'$(Configuration)|$(Platform)'=='Debug_LuaStatic|Win32'">Level3</WarningLevel>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
</PrecompiledHeader>
<WarningLevel Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Level3</WarningLevel>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release profiled|Win32'">true</ExcludedFromBuild>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release profiled|Win32'">
</PrecompiledHeader>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
</PrecompiledHeader>
</ClCompile>
<ClCompile Include="..\src\LightingThread.cpp" />
<ClCompile Include="..\src\LinearInterpolation.cpp" />
<ClCompile Include="..\src\LineBlockTracer.cpp" />
<ClCompile Include="..\src\Log.cpp" />
<ClCompile Include="..\src\main.cpp" />
<ClCompile Include="..\src\Matrix4f.cpp" />
<ClCompile Include="..\src\MCLogger.cpp" />
<ClCompile Include="..\src\MobCensus.cpp" />
<ClCompile Include="..\src\MobFamilyCollecter.cpp" />
<ClCompile Include="..\src\MobProximityCounter.cpp" />
<ClCompile Include="..\src\MobSpawner.cpp" />
<ClCompile Include="..\src\MonsterConfig.cpp" />
<ClCompile Include="..\src\Noise.cpp">
<Optimization Condition="'$(Configuration)|$(Platform)'=='Debug profiled|Win32'">MaxSpeed</Optimization>
<IntrinsicFunctions Condition="'$(Configuration)|$(Platform)'=='Debug profiled|Win32'">true</IntrinsicFunctions>
<FavorSizeOrSpeed Condition="'$(Configuration)|$(Platform)'=='Debug profiled|Win32'">Speed</FavorSizeOrSpeed>
<OmitFramePointers Condition="'$(Configuration)|$(Platform)'=='Debug profiled|Win32'">true</OmitFramePointers>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug profiled|Win32'">Default</BasicRuntimeChecks>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug profiled|Win32'">
</PrecompiledHeader>
<Optimization Condition="'$(Configuration)|$(Platform)'=='Debug_LuaStatic|Win32'">MaxSpeed</Optimization>
<IntrinsicFunctions Condition="'$(Configuration)|$(Platform)'=='Debug_LuaStatic|Win32'">true</IntrinsicFunctions>
<FavorSizeOrSpeed Condition="'$(Configuration)|$(Platform)'=='Debug_LuaStatic|Win32'">Speed</FavorSizeOrSpeed>
<OmitFramePointers Condition="'$(Configuration)|$(Platform)'=='Debug_LuaStatic|Win32'">true</OmitFramePointers>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug_LuaStatic|Win32'">Default</BasicRuntimeChecks>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug_LuaStatic|Win32'">
</PrecompiledHeader>
<Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">MaxSpeed</Optimization>
<IntrinsicFunctions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</IntrinsicFunctions>
<FavorSizeOrSpeed Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Speed</FavorSizeOrSpeed>
<OmitFramePointers Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</OmitFramePointers>
<BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Default</BasicRuntimeChecks>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
</PrecompiledHeader>
</ClCompile>
<ClCompile Include="..\src\Piston.cpp" />
<ClCompile Include="..\src\ProbabDistrib.cpp" />
<ClCompile Include="..\src\RCONServer.cpp" />
<ClCompile Include="..\src\ReferenceManager.cpp" />
<ClCompile Include="..\src\Root.cpp" />
<ClCompile Include="..\src\Server.cpp" />
<ClCompile Include="..\src\StackWalker.cpp">
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug profiled|Win32'">
</PrecompiledHeader>
<WarningLevel Condition="'$(Configuration)|$(Platform)'=='Debug profiled|Win32'">Level3</WarningLevel>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug_LuaStatic|Win32'">
</PrecompiledHeader>
<WarningLevel Condition="'$(Configuration)|$(Platform)'=='Debug_LuaStatic|Win32'">Level3</WarningLevel>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
</PrecompiledHeader>
<WarningLevel Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Level3</WarningLevel>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release profiled|Win32'">true</ExcludedFromBuild>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release profiled|Win32'">
</PrecompiledHeader>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
</PrecompiledHeader>
</ClCompile>
<ClCompile Include="..\src\StringCompression.cpp" />
<ClCompile Include="..\src\StringUtils.cpp" />
<ClCompile Include="..\src\Tracer.cpp" />
<ClCompile Include="..\src\Vector3d.cpp" />
<ClCompile Include="..\src\Vector3f.cpp" />
<ClCompile Include="..\src\Vector3i.cpp" />
<ClCompile Include="..\src\VoronoiMap.cpp" />
<ClCompile Include="..\src\WebAdmin.cpp" />
<ClCompile Include="..\src\World.cpp" />
<ClCompile Include="..\src\Mobs\AggressiveMonster.cpp" />
<ClCompile Include="..\src\Mobs\Bat.cpp" />
<ClCompile Include="..\src\Mobs\Blaze.cpp" />
<ClCompile Include="..\src\Mobs\Cavespider.cpp" />
<ClCompile Include="..\src\Mobs\Chicken.cpp" />
<ClCompile Include="..\src\Mobs\Cow.cpp" />
<ClCompile Include="..\src\Mobs\Creeper.cpp" />
<ClCompile Include="..\src\Mobs\EnderDragon.cpp" />
<ClCompile Include="..\src\Mobs\Enderman.cpp" />
<ClCompile Include="..\src\Mobs\Ghast.cpp" />
<ClCompile Include="..\src\Mobs\Giant.cpp" />
<ClCompile Include="..\src\Mobs\Horse.cpp" />
<ClCompile Include="..\src\Mobs\IronGolem.cpp" />
<ClCompile Include="..\src\Mobs\MagmaCube.cpp" />
<ClCompile Include="..\src\Mobs\Monster.cpp" />
<ClCompile Include="..\src\Mobs\Mooshroom.cpp" />
<ClCompile Include="..\src\Mobs\PassiveAggressiveMonster.cpp" />
<ClCompile Include="..\src\Mobs\PassiveMonster.cpp" />
<ClCompile Include="..\src\Mobs\Pig.cpp" />
<ClCompile Include="..\src\Mobs\Sheep.cpp" />
<ClCompile Include="..\src\Mobs\Skeleton.cpp" />
<ClCompile Include="..\src\Mobs\Slime.cpp" />
<ClCompile Include="..\src\Mobs\SnowGolem.cpp" />
<ClCompile Include="..\src\Mobs\Spider.cpp" />
<ClCompile Include="..\src\Mobs\Squid.cpp" />
<ClCompile Include="..\src\Mobs\Villager.cpp" />
<ClCompile Include="..\src\Mobs\Witch.cpp" />
<ClCompile Include="..\src\Mobs\Wither.cpp" />
<ClCompile Include="..\src\Mobs\Wolf.cpp" />
<ClCompile Include="..\src\Mobs\Zombie.cpp" />
<ClCompile Include="..\src\Mobs\ZombiePigman.cpp" />
<ClCompile Include="..\src\Entities\Boat.cpp" />
<ClCompile Include="..\src\Entities\Entity.cpp" />
<ClCompile Include="..\src\Entities\ExpOrb.cpp" />
<ClCompile Include="..\src\Entities\FallingBlock.cpp" />
<ClCompile Include="..\src\Entities\Floater.cpp" />
<ClCompile Include="..\src\Entities\Minecart.cpp" />
<ClCompile Include="..\src\Entities\Pawn.cpp" />
<ClCompile Include="..\src\Entities\Pickup.cpp" />
<ClCompile Include="..\src\Entities\Player.cpp" />
<ClCompile Include="..\src\Entities\ProjectileEntity.cpp" />
<ClCompile Include="..\src\Entities\TNTEntity.cpp" />
<ClCompile Include="..\src\UI\SlotArea.cpp" />
<ClCompile Include="..\src\UI\Window.cpp" />
<ClCompile Include="..\src\Simulator\DelayedFluidSimulator.cpp" />
<ClCompile Include="..\src\Simulator\FireSimulator.cpp" />
<ClCompile Include="..\src\Simulator\FloodyFluidSimulator.cpp" />
<ClCompile Include="..\src\Simulator\FluidSimulator.cpp" />
<ClCompile Include="..\src\Simulator\RedstoneSimulator.cpp" />
<ClCompile Include="..\src\Simulator\SandSimulator.cpp" />
<ClCompile Include="..\src\Simulator\Simulator.cpp" />
<ClCompile Include="..\src\Simulator\SimulatorManager.cpp" />
<ClCompile Include="..\src\Simulator\VaporizeFluidSimulator.cpp" />
<ClCompile Include="..\src\OSSupport\BlockingTCPLink.cpp" />
<ClCompile Include="..\src\OSSupport\CriticalSection.cpp" />
<ClCompile Include="..\src\OSSupport\Event.cpp" />
<ClCompile Include="..\src\OSSupport\File.cpp" />
<ClCompile Include="..\src\OSSupport\GZipFile.cpp" />
<ClCompile Include="..\src\OSSupport\IsThread.cpp" />
<ClCompile Include="..\src\OSSupport\ListenThread.cpp" />
<ClCompile Include="..\src\OSSupport\Semaphore.cpp" />
<ClCompile Include="..\src\OSSupport\Sleep.cpp" />
<ClCompile Include="..\src\OSSupport\Socket.cpp" />
<ClCompile Include="..\src\OSSupport\SocketThreads.cpp" />
<ClCompile Include="..\src\OSSupport\Thread.cpp" />
<ClCompile Include="..\src\OSSupport\Timer.cpp" />
<ClCompile Include="..\Android\jni\app-android.cpp">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug profiled|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_LuaStatic|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release profiled|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\Android\jni\ToJava.cpp">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug profiled|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_LuaStatic|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release profiled|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="..\src\Bindings\Bindings.cpp">
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug profiled|Win32'">
</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug_LuaStatic|Win32'">
</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release profiled|Win32'">
</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
</PrecompiledHeader>
</ClCompile>
<ClCompile Include="..\src\Bindings\LuaState.cpp" />
<ClCompile Include="..\src\Bindings\LuaWindow.cpp" />
<ClCompile Include="..\src\Bindings\ManualBindings.cpp" />
<ClCompile Include="..\src\Bindings\Plugin.cpp" />
<ClCompile Include="..\src\Bindings\PluginLua.cpp" />
<ClCompile Include="..\src\Bindings\PluginManager.cpp" />
<ClCompile Include="..\src\Bindings\WebPlugin.cpp" />
<ClCompile Include="..\lib\inifile\iniFile.cpp" />
<ClCompile Include="..\lib\md5\md5.cpp">
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug profiled|Win32'">_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug profiled|Win32'">
</PrecompiledHeader>
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug_LuaStatic|Win32'">_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug_LuaStatic|Win32'">
</PrecompiledHeader>
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
</PrecompiledHeader>
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release profiled|Win32'">_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release profiled|Win32'">
</PrecompiledHeader>
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
</PrecompiledHeader>
</ClCompile>
<ClCompile Include="..\src\WorldStorage\FastNBT.cpp" />
<ClCompile Include="..\src\WorldStorage\NBTChunkSerializer.cpp" />
<ClCompile Include="..\src\WorldStorage\WorldStorage.cpp" />
<ClCompile Include="..\src\WorldStorage\WSSAnvil.cpp" />
<ClCompile Include="..\src\WorldStorage\WSSCompact.cpp" />
<ClCompile Include="..\src\Generating\BioGen.cpp" />
<ClCompile Include="..\src\Generating\Caves.cpp" />
<ClCompile Include="..\src\Generating\ChunkDesc.cpp" />
<ClCompile Include="..\src\Generating\ChunkGenerator.cpp" />
<ClCompile Include="..\src\Generating\CompoGen.cpp" />
<ClCompile Include="..\src\Generating\ComposableGenerator.cpp" />
<ClCompile Include="..\src\Generating\DistortedHeightmap.cpp" />
<ClCompile Include="..\src\Generating\EndGen.cpp" />
<ClCompile Include="..\src\Generating\FinishGen.cpp" />
<ClCompile Include="..\src\Generating\HeiGen.cpp" />
<ClCompile Include="..\src\Generating\MineShafts.cpp" />
<ClCompile Include="..\src\Generating\Noise3DGenerator.cpp" />
<ClCompile Include="..\src\Generating\Ravines.cpp" />
<ClCompile Include="..\src\Generating\StructGen.cpp" />
<ClCompile Include="..\src\Generating\Trees.cpp" />
<ClCompile Include="..\src\Blocks\BlockBed.cpp" />
<ClCompile Include="..\src\blocks\BlockDoor.cpp" />
<ClCompile Include="..\src\blocks\BlockHandler.cpp" />
<ClCompile Include="..\src\blocks\BlockPiston.cpp" />
<ClCompile Include="..\src\items\ItemHandler.cpp" />
<ClCompile Include="..\src\Protocol\ChunkDataSerializer.cpp" />
<ClCompile Include="..\src\Protocol\Protocol125.cpp" />
<ClCompile Include="..\src\Protocol\Protocol132.cpp" />
<ClCompile Include="..\src\Protocol\Protocol14x.cpp" />
<ClCompile Include="..\src\Protocol\Protocol15x.cpp" />
<ClCompile Include="..\src\Protocol\Protocol16x.cpp" />
<ClCompile Include="..\src\Protocol\Protocol17x.cpp" />
<ClCompile Include="..\src\Protocol\ProtocolRecognizer.cpp" />
<ClCompile Include="..\lib\sqlite\lsqlite3.c">
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug profiled|Win32'">
</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug_LuaStatic|Win32'">
</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release profiled|Win32'">
</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
</PrecompiledHeader>
</ClCompile>
<ClCompile Include="..\lib\sqlite\sqlite3.c">
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug profiled|Win32'">
</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug_LuaStatic|Win32'">
</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release profiled|Win32'">
</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
</PrecompiledHeader>
</ClCompile>
<ClCompile Include="..\lib\luaexpat\lxplib.c">
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug profiled|Win32'">
</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug_LuaStatic|Win32'">
</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release profiled|Win32'">
</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
</PrecompiledHeader>
</ClCompile>
<ClCompile Include="..\src\BlockEntities\BlockEntity.cpp" />
<ClCompile Include="..\src\BlockEntities\ChestEntity.cpp" />
<ClCompile Include="..\src\BlockEntities\DispenserEntity.cpp" />
<ClCompile Include="..\src\BlockEntities\DropperEntity.cpp" />
<ClCompile Include="..\src\BlockEntities\DropSpenserEntity.cpp" />
<ClCompile Include="..\src\BlockEntities\EnderChestEntity.cpp" />
<ClCompile Include="..\src\BlockEntities\FurnaceEntity.cpp" />
<ClCompile Include="..\src\BlockEntities\HopperEntity.cpp" />
<ClCompile Include="..\src\BlockEntities\JukeboxEntity.cpp" />
<ClCompile Include="..\src\BlockEntities\NoteEntity.cpp" />
<ClCompile Include="..\src\BlockEntities\SignEntity.cpp" />
<ClCompile Include="..\src\HTTPServer\EnvelopeParser.cpp" />
<ClCompile Include="..\src\HTTPServer\HTTPConnection.cpp" />
<ClCompile Include="..\src\HTTPServer\HTTPFormParser.cpp" />
<ClCompile Include="..\src\HTTPServer\HTTPMessage.cpp" />
<ClCompile Include="..\src\HTTPServer\HTTPServer.cpp" />
<ClCompile Include="..\src\HTTPServer\MultipartParser.cpp" />
<ClCompile Include="..\src\HTTPServer\NameValueParser.cpp" />
</ItemGroup>
<ItemGroup>
<Text Include="..\lib\sqlite\urls.txt" />
<Text Include="..\MCServer\crafting.txt" />
<Text Include="..\MCServer\furnace.txt" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="CryptoPP.vcxproj">
<Project>{3423ec9a-52e4-4a4d-9753-edebc38785ef}</Project>
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
</ProjectReference>
<ProjectReference Include="expat.vcxproj">
<Project>{5fcfaf8d-ff2c-456d-a72c-1d76f913ad96}</Project>
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
</ProjectReference>
<ProjectReference Include="JsonCpp.vcxproj">
<Project>{5aaa90b9-946d-4034-83f3-676b06a6e326}</Project>
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
</ProjectReference>
<ProjectReference Include="Lua.vcxproj">
<Project>{082e8185-7b3a-4945-8c82-9132341a329d}</Project>
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
</ProjectReference>
<ProjectReference Include="ToLua.vcxproj">
<Project>{eeab54ad-114c-4ab8-8482-0a52d502bd35}</Project>
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
</ProjectReference>
<ProjectReference Include="zlib.vcxproj">
<Project>{ea9d50fd-937a-4ef5-8c37-5f4175af4fea}</Project>
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
</ProjectReference>
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

File diff suppressed because it is too large Load Diff

View File

@ -1,179 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug profiled|Win32">
<Configuration>Debug profiled</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug_LuaStatic|Win32">
<Configuration>Debug_LuaStatic</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release profiled|Win32">
<Configuration>Release profiled</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{EEAB54AD-114C-4AB8-8482-0A52D502BD35}</ProjectGuid>
<RootNamespace>ToLua</RootNamespace>
<Keyword>Win32Proj</Keyword>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug_LuaStatic|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<PlatformToolset>v120</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug profiled|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<PlatformToolset>v120</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release profiled|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<PlatformToolset>v120</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
<WholeProgramOptimization>true</WholeProgramOptimization>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<PlatformToolset>v120</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
<WholeProgramOptimization>true</WholeProgramOptimization>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<PlatformToolset>v120</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug_LuaStatic|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug profiled|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release profiled|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" 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>
<_ProjectFileVersion>12.0.21005.1</_ProjectFileVersion>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<OutDir>$(SolutionDir)$(Configuration)\ToLua\</OutDir>
<IntDir>$(Configuration)\ToLua\</IntDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<OutDir>$(SolutionDir)$(Configuration)\ToLua\</OutDir>
<IntDir>$(Configuration)\ToLua\</IntDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release profiled|Win32'">
<OutDir>$(SolutionDir)$(Configuration)\tolua\</OutDir>
<IntDir>$(Configuration)\tolua\</IntDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug profiled|Win32'">
<OutDir>$(SolutionDir)$(Configuration)\ToLua\</OutDir>
<IntDir>$(Configuration)\ToLua\</IntDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug_LuaStatic|Win32'">
<OutDir>$(SolutionDir)$(Configuration)\ToLua\</OutDir>
<IntDir>$(Configuration)\ToLua\</IntDir>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>../lib/jsoncpp/include;../lib;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_DEBUG;_LIB;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MinimalRebuild>true</MinimalRebuild>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<PrecompiledHeader />
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
</ClCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<Optimization>MaxSpeed</Optimization>
<IntrinsicFunctions>true</IntrinsicFunctions>
<AdditionalIncludeDirectories>../lib/jsoncpp/include;../lib;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;NDEBUG;_LIB;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<FunctionLevelLinking>true</FunctionLevelLinking>
<PrecompiledHeader />
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
</ClCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release profiled|Win32'">
<ClCompile>
<Optimization>MaxSpeed</Optimization>
<IntrinsicFunctions>true</IntrinsicFunctions>
<AdditionalIncludeDirectories>../lib/jsoncpp/include;../lib;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;NDEBUG;_LIB;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<FunctionLevelLinking>true</FunctionLevelLinking>
<PrecompiledHeader />
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
</ClCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug profiled|Win32'">
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>../lib/jsoncpp/include;../lib;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_DEBUG;_LIB;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MinimalRebuild>true</MinimalRebuild>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<PrecompiledHeader />
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
</ClCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug_LuaStatic|Win32'">
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>../lib/jsoncpp/include;../lib;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_DEBUG;_LIB;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MinimalRebuild>true</MinimalRebuild>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<PrecompiledHeader />
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
</ClCompile>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="..\lib\tolua++\src\bin\tolua.c" />
<ClCompile Include="..\lib\tolua++\src\lib\tolua_event.c" />
<ClCompile Include="..\lib\tolua++\src\lib\tolua_is.c" />
<ClCompile Include="..\lib\tolua++\src\lib\tolua_map.c" />
<ClCompile Include="..\lib\tolua++\src\lib\tolua_push.c" />
<ClCompile Include="..\lib\tolua++\src\lib\tolua_to.c" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\lib\tolua++\src\lib\tolua_event.h" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

View File

@ -1,34 +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>
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\lib\tolua++\src\bin\tolua.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\lib\tolua++\src\lib\tolua_event.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\lib\tolua++\src\lib\tolua_is.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\lib\tolua++\src\lib\tolua_map.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\lib\tolua++\src\lib\tolua_push.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\lib\tolua++\src\lib\tolua_to.c">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\lib\tolua++\src\lib\tolua_event.h">
<Filter>Source Files</Filter>
</ClInclude>
</ItemGroup>
</Project>

View File

@ -1,128 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug_LuaStatic|Win32">
<Configuration>Debug_LuaStatic</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{5FCFAF8D-FF2C-456D-A72C-1D76F913AD96}</ProjectGuid>
<RootNamespace>expat</RootNamespace>
<Keyword>Win32Proj</Keyword>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug_LuaStatic|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<PlatformToolset>v120</PlatformToolset>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<PlatformToolset>v120</PlatformToolset>
<CharacterSet>MultiByte</CharacterSet>
<WholeProgramOptimization>true</WholeProgramOptimization>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<PlatformToolset>v120</PlatformToolset>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug_LuaStatic|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" 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>
<_ProjectFileVersion>12.0.21005.1</_ProjectFileVersion>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<OutDir>$(SolutionDir)$(Configuration)/expat\</OutDir>
<IntDir>$(Configuration)/expat\</IntDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<OutDir>$(SolutionDir)$(Configuration)\</OutDir>
<IntDir>$(Configuration)/expat\</IntDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug_LuaStatic|Win32'">
<OutDir>$(SolutionDir)$(Configuration)\expat\</OutDir>
<IntDir>$(Configuration)\expat\</IntDir>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>WIN32;_DEBUG;_LIB;COMPILED_FROM_DSP;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MinimalRebuild>true</MinimalRebuild>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<PrecompiledHeader />
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
</ClCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<Optimization>MaxSpeed</Optimization>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>WIN32;NDEBUG;_LIB;COMPILED_FROM_DSP;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<FunctionLevelLinking>true</FunctionLevelLinking>
<PrecompiledHeader />
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
</ClCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug_LuaStatic|Win32'">
<ClCompile>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>WIN32;_DEBUG;_LIB;COMPILED_FROM_DSP;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MinimalRebuild>true</MinimalRebuild>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<PrecompiledHeader />
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
</ClCompile>
</ItemDefinitionGroup>
<ItemGroup>
<ClInclude Include="..\lib\expat\ascii.h" />
<ClInclude Include="..\lib\expat\asciitab.h" />
<ClInclude Include="..\lib\expat\expat.h" />
<ClInclude Include="..\lib\expat\expat_external.h" />
<ClInclude Include="..\lib\expat\iasciitab.h" />
<ClInclude Include="..\lib\expat\internal.h" />
<ClInclude Include="..\lib\expat\latin1tab.h" />
<ClInclude Include="..\lib\expat\nametab.h" />
<ClInclude Include="..\lib\expat\utf8tab.h" />
<ClInclude Include="..\lib\expat\winconfig.h" />
<ClInclude Include="..\lib\expat\xmlrole.h" />
<ClInclude Include="..\lib\expat\xmltok.h" />
<ClInclude Include="..\lib\expat\xmltok_impl.h" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\lib\expat\xmlparse.c" />
<ClCompile Include="..\lib\expat\xmlrole.c" />
<ClCompile Include="..\lib\expat\xmltok.c" />
<ClCompile Include="..\lib\expat\xmltok_impl.c" />
<ClCompile Include="..\lib\expat\xmltok_ns.c" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

View File

@ -1,67 +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>
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\lib\expat\ascii.h">
<Filter>Source Files</Filter>
</ClInclude>
<ClInclude Include="..\lib\expat\asciitab.h">
<Filter>Source Files</Filter>
</ClInclude>
<ClInclude Include="..\lib\expat\expat.h">
<Filter>Source Files</Filter>
</ClInclude>
<ClInclude Include="..\lib\expat\expat_external.h">
<Filter>Source Files</Filter>
</ClInclude>
<ClInclude Include="..\lib\expat\iasciitab.h">
<Filter>Source Files</Filter>
</ClInclude>
<ClInclude Include="..\lib\expat\internal.h">
<Filter>Source Files</Filter>
</ClInclude>
<ClInclude Include="..\lib\expat\latin1tab.h">
<Filter>Source Files</Filter>
</ClInclude>
<ClInclude Include="..\lib\expat\nametab.h">
<Filter>Source Files</Filter>
</ClInclude>
<ClInclude Include="..\lib\expat\utf8tab.h">
<Filter>Source Files</Filter>
</ClInclude>
<ClInclude Include="..\lib\expat\winconfig.h">
<Filter>Source Files</Filter>
</ClInclude>
<ClInclude Include="..\lib\expat\xmlrole.h">
<Filter>Source Files</Filter>
</ClInclude>
<ClInclude Include="..\lib\expat\xmltok.h">
<Filter>Source Files</Filter>
</ClInclude>
<ClInclude Include="..\lib\expat\xmltok_impl.h">
<Filter>Source Files</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\lib\expat\xmlparse.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\lib\expat\xmlrole.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\lib\expat\xmltok.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\lib\expat\xmltok_impl.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\lib\expat\xmltok_ns.c">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
</Project>

View File

@ -1,25 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<CodeSnippets
xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet">
<CodeSnippet Format="1.0.0">
<Header>
<Title>ToLua</Title>
<Shortcut>tolua</Shortcut>
<SnippetTypes>
<SnippetType>SurroundsWith</SnippetType>
</SnippetTypes>
<Author>Daniel O'Brien (marmot21)</Author>
<Description>Adds the selected lines for Lua export</Description>
</Header>
<Snippet>
<Code Language="cpp">
<![CDATA[
// tolua_begin
$selected$
// tolua_end]]>
</Code>
</Snippet>
</CodeSnippet>
</CodeSnippets>

View File

@ -1,198 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug profiled|Win32">
<Configuration>Debug profiled</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug_LuaStatic|Win32">
<Configuration>Debug_LuaStatic</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release profiled|Win32">
<Configuration>Release profiled</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{EA9D50FD-937A-4EF5-8C37-5F4175AF4FEA}</ProjectGuid>
<RootNamespace>zlib</RootNamespace>
<Keyword>Win32Proj</Keyword>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug_LuaStatic|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<PlatformToolset>v120</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug profiled|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<PlatformToolset>v120</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release profiled|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<PlatformToolset>v120</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
<WholeProgramOptimization>true</WholeProgramOptimization>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<PlatformToolset>v120</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
<WholeProgramOptimization>true</WholeProgramOptimization>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<PlatformToolset>v120</PlatformToolset>
<CharacterSet>Unicode</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug_LuaStatic|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug profiled|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release profiled|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" 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>
<_ProjectFileVersion>12.0.21005.1</_ProjectFileVersion>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<OutDir>$(SolutionDir)$(Configuration)\zlib\</OutDir>
<IntDir>$(Configuration)\zlib\</IntDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<OutDir>$(SolutionDir)$(Configuration)\zlib\</OutDir>
<IntDir>$(Configuration)\zlib\</IntDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release profiled|Win32'">
<OutDir>$(SolutionDir)$(Configuration)\zlib\</OutDir>
<IntDir>$(Configuration)\zlib\</IntDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug profiled|Win32'">
<OutDir>$(SolutionDir)$(Configuration)\zlib\</OutDir>
<IntDir>$(Configuration)\zlib\</IntDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug_LuaStatic|Win32'">
<OutDir>$(SolutionDir)$(Configuration)\zlib\</OutDir>
<IntDir>$(Configuration)\zlib\</IntDir>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>WIN32;_DEBUG;_LIB;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MinimalRebuild>true</MinimalRebuild>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<PrecompiledHeader />
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
<DisableSpecificWarnings>4996;%(DisableSpecificWarnings)</DisableSpecificWarnings>
</ClCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<Optimization>MaxSpeed</Optimization>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>WIN32;NDEBUG;_LIB;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<FunctionLevelLinking>true</FunctionLevelLinking>
<PrecompiledHeader />
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<DisableSpecificWarnings>4996;%(DisableSpecificWarnings)</DisableSpecificWarnings>
</ClCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release profiled|Win32'">
<ClCompile>
<Optimization>MaxSpeed</Optimization>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>WIN32;NDEBUG;_LIB;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<FunctionLevelLinking>true</FunctionLevelLinking>
<PrecompiledHeader />
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<DisableSpecificWarnings>4996;%(DisableSpecificWarnings)</DisableSpecificWarnings>
</ClCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug profiled|Win32'">
<ClCompile>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>WIN32;_DEBUG;_LIB;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MinimalRebuild>true</MinimalRebuild>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<PrecompiledHeader />
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
<DisableSpecificWarnings>4996;%(DisableSpecificWarnings)</DisableSpecificWarnings>
</ClCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug_LuaStatic|Win32'">
<ClCompile>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>WIN32;_DEBUG;_LIB;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<MinimalRebuild>true</MinimalRebuild>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<PrecompiledHeader />
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
<DisableSpecificWarnings>4996;%(DisableSpecificWarnings)</DisableSpecificWarnings>
</ClCompile>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="..\lib\zlib\adler32.c" />
<ClCompile Include="..\lib\zlib\compress.c" />
<ClCompile Include="..\lib\zlib\crc32.c" />
<ClCompile Include="..\lib\zlib\deflate.c" />
<ClCompile Include="..\lib\zlib\gzclose.c" />
<ClCompile Include="..\lib\zlib\gzlib.c" />
<ClCompile Include="..\lib\zlib\gzread.c" />
<ClCompile Include="..\lib\zlib\gzwrite.c" />
<ClCompile Include="..\lib\zlib\infback.c" />
<ClCompile Include="..\lib\zlib\inffast.c" />
<ClCompile Include="..\lib\zlib\inflate.c" />
<ClCompile Include="..\lib\zlib\inftrees.c" />
<ClCompile Include="..\lib\zlib\trees.c" />
<ClCompile Include="..\lib\zlib\uncompr.c" />
<ClCompile Include="..\lib\zlib\zutil.c" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\lib\zlib\crc32.h" />
<ClInclude Include="..\lib\zlib\deflate.h" />
<ClInclude Include="..\lib\zlib\gzguts.h" />
<ClInclude Include="..\lib\zlib\inffast.h" />
<ClInclude Include="..\lib\zlib\inffixed.h" />
<ClInclude Include="..\lib\zlib\inflate.h" />
<ClInclude Include="..\lib\zlib\inftrees.h" />
<ClInclude Include="..\lib\zlib\trees.h" />
<ClInclude Include="..\lib\zlib\zconf.h" />
<ClInclude Include="..\lib\zlib\zlib.h" />
<ClInclude Include="..\lib\zlib\zutil.h" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

View File

@ -1,91 +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>
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\lib\zlib\adler32.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\lib\zlib\compress.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\lib\zlib\crc32.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\lib\zlib\deflate.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\lib\zlib\gzclose.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\lib\zlib\gzlib.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\lib\zlib\gzread.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\lib\zlib\gzwrite.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\lib\zlib\infback.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\lib\zlib\inffast.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\lib\zlib\inflate.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\lib\zlib\inftrees.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\lib\zlib\trees.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\lib\zlib\uncompr.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\lib\zlib\zutil.c">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\lib\zlib\crc32.h">
<Filter>Source Files</Filter>
</ClInclude>
<ClInclude Include="..\lib\zlib\deflate.h">
<Filter>Source Files</Filter>
</ClInclude>
<ClInclude Include="..\lib\zlib\gzguts.h">
<Filter>Source Files</Filter>
</ClInclude>
<ClInclude Include="..\lib\zlib\inffast.h">
<Filter>Source Files</Filter>
</ClInclude>
<ClInclude Include="..\lib\zlib\inffixed.h">
<Filter>Source Files</Filter>
</ClInclude>
<ClInclude Include="..\lib\zlib\inflate.h">
<Filter>Source Files</Filter>
</ClInclude>
<ClInclude Include="..\lib\zlib\inftrees.h">
<Filter>Source Files</Filter>
</ClInclude>
<ClInclude Include="..\lib\zlib\trees.h">
<Filter>Source Files</Filter>
</ClInclude>
<ClInclude Include="..\lib\zlib\zconf.h">
<Filter>Source Files</Filter>
</ClInclude>
<ClInclude Include="..\lib\zlib\zlib.h">
<Filter>Source Files</Filter>
</ClInclude>
<ClInclude Include="..\lib\zlib\zutil.h">
<Filter>Source Files</Filter>
</ClInclude>
</ItemGroup>
</Project>

7
docs/.gitignore vendored Normal file
View File

@ -0,0 +1,7 @@
# PNG file with no filename is created by the GraphViz's GVEdit when displaying .gv files
.png
# The PNG files generated from their .gv sources by GraphViz:
API class inheritance - blockentities.png
API class inheritance - entities.png
SocketThreads states.png

View File

@ -0,0 +1,77 @@
digraph
{
node
[
shape="box"
]
edge
[
d
]
// Forward-declarations of nodes (so that they are laid out in a specific order:
ssNormal
ssWritingRestOut
ssShuttingDown
ssShuttingDown2
// Nodes with special labels / shapes:
ForceClose
[
label="Force close"
shape="ellipse"
]
X
[
label="Socket closed"
shape="ellipse"
]
// Edges:
ssNormal -> ssWritingRestOut
[
label="cSocketThreads::RemoveClient()"
]
ssWritingRestOut -> ssShuttingDown
[
label="All outgoing data written"
]
ssShuttingDown -> ssShuttingDown2
[
label="One thread loop"
]
ssShuttingDown2 -> ForceClose
[
label="One thread loop"
]
ssNormal -> ssRemoteClosed
[
label="Remote closed"
color="red"
fontcolor="red"
]
ssWritingRestOut -> X
[
label="Remote closed"
color="red"
fontcolor="red"
]
ssShuttingDown -> X
[
label="Remote closed"
color="red"
fontcolor="red"
]
ssShuttingDown2 -> X
[
label="Remote closed"
color="red"
fontcolor="red"
]
ssRemoteClosed -> X
[
label="cSocketThreads::RemoveClient()"
]
ForceClose -> X
}

View File

@ -1,7 +1,20 @@
Contents of this folder:
API class inheritance - blockentities.gv - a GraphViz file to visualise inheritance in the API classes in the Wiki for the cBlockEntity class' descendants
API class inheritance - entities.gv - a GraphViz file to visualise inheritance in the API classes in the Wiki for the cEntity class' descendants
Object ownership.gv - a GraphViz file to visualise ownership relations in the MCServer code architecture
Springs.ods - a spreadsheet with collected statistics about the occurrence of lava / water springs based on height.
API class inheritance - blockentities.gv
- a GraphViz file to visualise inheritance in the API classes in the Wiki for the cBlockEntity class' descendants
API class inheritance - entities.gv
- a GraphViz file to visualise inheritance in the API classes in the Wiki for the cEntity class' descendants
Login Sequence.txt
- Annotated log of packets exchanged between the client and server for login; 1.6.2 protocol
Object ownership.gv
- a GraphViz file to visualise ownership relations in the MCServer code architecture
SocketThreads states.gv
- a GraphViz file documenting the states for individual sockets in cSocketThreads, and transitions between them
Springs.ods
- a spreadsheet with collected statistics about the occurrence of lava / water springs based on height.

View File

@ -31,6 +31,7 @@ $cfile "../Defines.h"
$cfile "../ChatColor.h"
$cfile "../ClientHandle.h"
$cfile "../Entities/Entity.h"
$cfile "../Entities/Floater.h"
$cfile "../Entities/Pawn.h"
$cfile "../Entities/Player.h"
$cfile "../Entities/Pickup.h"

View File

@ -914,6 +914,40 @@ bool cLuaState::CheckParamString(int a_StartParam, int a_EndParam)
bool cLuaState::CheckParamFunction(int a_StartParam, int a_EndParam)
{
ASSERT(IsValid());
if (a_EndParam < 0)
{
a_EndParam = a_StartParam;
}
for (int i = a_StartParam; i <= a_EndParam; i++)
{
if (lua_isfunction(m_LuaState, i))
{
continue;
}
// Not the correct parameter
lua_Debug entry;
VERIFY(lua_getstack(m_LuaState, 0, &entry));
VERIFY(lua_getinfo (m_LuaState, "n", &entry));
AString ErrMsg = Printf("Error in function '%s' parameter #%d. Function expected, got %s",
(entry.name != NULL) ? entry.name : "?", i, GetTypeText(i).c_str()
);
LogStackTrace();
return false;
} // for i - Param
// All params checked ok
return true;
}
bool cLuaState::CheckParamEnd(int a_Param)
{
tolua_Error tolua_err;

View File

@ -815,6 +815,9 @@ public:
/// Returns true if the specified parameters on the stack are strings; also logs warning if not
bool CheckParamString(int a_StartParam, int a_EndParam = -1);
/// Returns true if the specified parameters on the stack are functions; also logs warning if not
bool CheckParamFunction(int a_StartParam, int a_EndParam = -1);
/// Returns true if the specified parameter on the stack is nil (indicating an end-of-parameters)
bool CheckParamEnd(int a_Param);

View File

@ -14,6 +14,7 @@
#include "../WebAdmin.h"
#include "../ClientHandle.h"
#include "../BlockEntities/ChestEntity.h"
#include "../BlockEntities/CommandBlockEntity.h"
#include "../BlockEntities/DispenserEntity.h"
#include "../BlockEntities/DropperEntity.h"
#include "../BlockEntities/FurnaceEntity.h"
@ -985,11 +986,10 @@ static int tolua_cWorld_QueueTask(lua_State * tolua_S)
class cLuaScheduledWorldTask :
public cWorld::cScheduledTask
public cWorld::cTask
{
public:
cLuaScheduledWorldTask(cPluginLua & a_Plugin, int a_FnRef, int a_Ticks) :
cScheduledTask(a_Ticks),
cLuaScheduledWorldTask(cPluginLua & a_Plugin, int a_FnRef) :
m_Plugin(a_Plugin),
m_FnRef(a_FnRef)
{
@ -1024,15 +1024,20 @@ static int tolua_cWorld_ScheduleTask(lua_State * tolua_S)
}
// Retrieve the args:
cWorld * self = (cWorld *)tolua_tousertype(tolua_S, 1, 0);
if (self == NULL)
cLuaState L(tolua_S);
if (
!L.CheckParamUserType(1, "cWorld") ||
!L.CheckParamNumber (2) ||
!L.CheckParamFunction(3)
)
{
return 0;
}
cWorld * World = (cWorld *)tolua_tousertype(tolua_S, 1, NULL);
if (World == NULL)
{
return lua_do_error(tolua_S, "Error in function call '#funcname#': Not called on an object instance");
}
if (!lua_isfunction(tolua_S, 2))
{
return lua_do_error(tolua_S, "Error in function call '#funcname#': Expected a function for parameter #1");
}
// Create a reference to the function:
int FnRef = luaL_ref(tolua_S, LUA_REGISTRYINDEX);
@ -1041,9 +1046,9 @@ static int tolua_cWorld_ScheduleTask(lua_State * tolua_S)
return lua_do_error(tolua_S, "Error in function call '#funcname#': Could not get function reference of parameter #1");
}
int Ticks = (int) tolua_tonumber (tolua_S, 3, 0);
int DelayTicks = (int)tolua_tonumber(tolua_S, 2, 0);
self->ScheduleTask(new cLuaScheduledWorldTask(*Plugin, FnRef, Ticks));
World->ScheduleTask(DelayTicks, new cLuaScheduledWorldTask(*Plugin, FnRef));
return 0;
}
@ -2265,16 +2270,17 @@ void ManualBindings::Bind(lua_State * tolua_S)
tolua_endmodule(tolua_S);
tolua_beginmodule(tolua_S, "cWorld");
tolua_function(tolua_S, "DoWithBlockEntityAt", tolua_DoWithXYZ<cWorld, cBlockEntity, &cWorld::DoWithBlockEntityAt>);
tolua_function(tolua_S, "DoWithChestAt", tolua_DoWithXYZ<cWorld, cChestEntity, &cWorld::DoWithChestAt>);
tolua_function(tolua_S, "DoWithDispenserAt", tolua_DoWithXYZ<cWorld, cDispenserEntity, &cWorld::DoWithDispenserAt>);
tolua_function(tolua_S, "DoWithDropSpenserAt", tolua_DoWithXYZ<cWorld, cDropSpenserEntity, &cWorld::DoWithDropSpenserAt>);
tolua_function(tolua_S, "DoWithDropperAt", tolua_DoWithXYZ<cWorld, cDropperEntity, &cWorld::DoWithDropperAt>);
tolua_function(tolua_S, "DoWithEntityByID", tolua_DoWithID< cWorld, cEntity, &cWorld::DoWithEntityByID>);
tolua_function(tolua_S, "DoWithFurnaceAt", tolua_DoWithXYZ<cWorld, cFurnaceEntity, &cWorld::DoWithFurnaceAt>);
tolua_function(tolua_S, "DoWithNoteBlockAt", tolua_DoWithXYZ<cWorld, cNoteEntity, &cWorld::DoWithNoteBlockAt>);
tolua_function(tolua_S, "DoWithPlayer", tolua_DoWith< cWorld, cPlayer, &cWorld::DoWithPlayer>);
tolua_function(tolua_S, "FindAndDoWithPlayer", tolua_DoWith< cWorld, cPlayer, &cWorld::FindAndDoWithPlayer>);
tolua_function(tolua_S, "DoWithBlockEntityAt", tolua_DoWithXYZ<cWorld, cBlockEntity, &cWorld::DoWithBlockEntityAt>);
tolua_function(tolua_S, "DoWithChestAt", tolua_DoWithXYZ<cWorld, cChestEntity, &cWorld::DoWithChestAt>);
tolua_function(tolua_S, "DoWithDispenserAt", tolua_DoWithXYZ<cWorld, cDispenserEntity, &cWorld::DoWithDispenserAt>);
tolua_function(tolua_S, "DoWithDropSpenserAt", tolua_DoWithXYZ<cWorld, cDropSpenserEntity, &cWorld::DoWithDropSpenserAt>);
tolua_function(tolua_S, "DoWithDropperAt", tolua_DoWithXYZ<cWorld, cDropperEntity, &cWorld::DoWithDropperAt>);
tolua_function(tolua_S, "DoWithEntityByID", tolua_DoWithID< cWorld, cEntity, &cWorld::DoWithEntityByID>);
tolua_function(tolua_S, "DoWithFurnaceAt", tolua_DoWithXYZ<cWorld, cFurnaceEntity, &cWorld::DoWithFurnaceAt>);
tolua_function(tolua_S, "DoWithNoteBlockAt", tolua_DoWithXYZ<cWorld, cNoteEntity, &cWorld::DoWithNoteBlockAt>);
tolua_function(tolua_S, "DoWithCommandBlockAt", tolua_DoWithXYZ<cWorld, cCommandBlockEntity, &cWorld::DoWithCommandBlockAt>);
tolua_function(tolua_S, "DoWithPlayer", tolua_DoWith< cWorld, cPlayer, &cWorld::DoWithPlayer>);
tolua_function(tolua_S, "FindAndDoWithPlayer", tolua_DoWith< cWorld, cPlayer, &cWorld::FindAndDoWithPlayer>);
tolua_function(tolua_S, "ForEachBlockEntityInChunk", tolua_ForEachInChunk<cWorld, cBlockEntity, &cWorld::ForEachBlockEntityInChunk>);
tolua_function(tolua_S, "ForEachChestInChunk", tolua_ForEachInChunk<cWorld, cChestEntity, &cWorld::ForEachChestInChunk>);
tolua_function(tolua_S, "ForEachEntity", tolua_ForEach< cWorld, cEntity, &cWorld::ForEachEntity>);

View File

@ -6,6 +6,7 @@
#include "Globals.h"
#include "BlockEntity.h"
#include "ChestEntity.h"
#include "CommandBlockEntity.h"
#include "DispenserEntity.h"
#include "DropperEntity.h"
#include "EnderChestEntity.h"
@ -23,17 +24,18 @@ cBlockEntity * cBlockEntity::CreateByBlockType(BLOCKTYPE a_BlockType, NIBBLETYPE
{
switch (a_BlockType)
{
case E_BLOCK_CHEST: return new cChestEntity (a_BlockX, a_BlockY, a_BlockZ, a_World);
case E_BLOCK_DISPENSER: return new cDispenserEntity (a_BlockX, a_BlockY, a_BlockZ, a_World);
case E_BLOCK_DROPPER: return new cDropperEntity (a_BlockX, a_BlockY, a_BlockZ, a_World);
case E_BLOCK_ENDER_CHEST: return new cEnderChestEntity (a_BlockX, a_BlockY, a_BlockZ, a_World);
case E_BLOCK_LIT_FURNACE: return new cFurnaceEntity (a_BlockX, a_BlockY, a_BlockZ, a_BlockType, a_BlockMeta, a_World);
case E_BLOCK_FURNACE: return new cFurnaceEntity (a_BlockX, a_BlockY, a_BlockZ, a_BlockType, a_BlockMeta, a_World);
case E_BLOCK_HOPPER: return new cHopperEntity (a_BlockX, a_BlockY, a_BlockZ, a_World);
case E_BLOCK_SIGN_POST: return new cSignEntity (a_BlockType, a_BlockX, a_BlockY, a_BlockZ, a_World);
case E_BLOCK_WALLSIGN: return new cSignEntity (a_BlockType, a_BlockX, a_BlockY, a_BlockZ, a_World);
case E_BLOCK_NOTE_BLOCK: return new cNoteEntity (a_BlockX, a_BlockY, a_BlockZ, a_World);
case E_BLOCK_JUKEBOX: return new cJukeboxEntity (a_BlockX, a_BlockY, a_BlockZ, a_World);
case E_BLOCK_CHEST: return new cChestEntity (a_BlockX, a_BlockY, a_BlockZ, a_World);
case E_BLOCK_COMMAND_BLOCK: return new cCommandBlockEntity(a_BlockX, a_BlockY, a_BlockZ, a_World);
case E_BLOCK_DISPENSER: return new cDispenserEntity (a_BlockX, a_BlockY, a_BlockZ, a_World);
case E_BLOCK_DROPPER: return new cDropperEntity (a_BlockX, a_BlockY, a_BlockZ, a_World);
case E_BLOCK_ENDER_CHEST: return new cEnderChestEntity (a_BlockX, a_BlockY, a_BlockZ, a_World);
case E_BLOCK_LIT_FURNACE: return new cFurnaceEntity (a_BlockX, a_BlockY, a_BlockZ, a_BlockType, a_BlockMeta, a_World);
case E_BLOCK_FURNACE: return new cFurnaceEntity (a_BlockX, a_BlockY, a_BlockZ, a_BlockType, a_BlockMeta, a_World);
case E_BLOCK_HOPPER: return new cHopperEntity (a_BlockX, a_BlockY, a_BlockZ, a_World);
case E_BLOCK_SIGN_POST: return new cSignEntity (a_BlockType, a_BlockX, a_BlockY, a_BlockZ, a_World);
case E_BLOCK_WALLSIGN: return new cSignEntity (a_BlockType, a_BlockX, a_BlockY, a_BlockZ, a_World);
case E_BLOCK_NOTE_BLOCK: return new cNoteEntity (a_BlockX, a_BlockY, a_BlockZ, a_World);
case E_BLOCK_JUKEBOX: return new cJukeboxEntity (a_BlockX, a_BlockY, a_BlockZ, a_World);
}
LOGD("%s: Requesting creation of an unknown block entity - block type %d (%s)",
__FUNCTION__, a_BlockType, ItemTypeToString(a_BlockType).c_str()

View File

@ -0,0 +1,207 @@
// CommandBlockEntity.cpp
// Implements the cCommandBlockEntity class representing a single command block in the world
#include "Globals.h" // NOTE: MSVC stupidness requires this to be the same across all modules
#include "json/json.h"
#include "CommandBlockEntity.h"
#include "../Entities/Player.h"
#include "../WorldStorage/FastNBT.h"
#include "../CommandOutput.h"
#include "../Root.h"
#include "../Server.h" // ExecuteConsoleCommand()
cCommandBlockEntity::cCommandBlockEntity(int a_X, int a_Y, int a_Z, cWorld * a_World) :
super(E_BLOCK_COMMAND_BLOCK, a_X, a_Y, a_Z, a_World),
m_ShouldExecute(false),
m_IsPowered(false)
{}
void cCommandBlockEntity::UsedBy(cPlayer * a_Player)
{
// Nothing to do
UNUSED(a_Player);
}
void cCommandBlockEntity::SetCommand(const AString & a_Cmd)
{
m_Command = a_Cmd;
/*
Vanilla requires that the server send a Block Entity Update after a command has been set
Therefore, command blocks don't support on-the-fly (when window is open) updating of a command and therefore...
...the following code can't be put in UsedBy just before the window opens
Just documenting my experience in getting this to work :P
*/
m_World->BroadcastBlockEntity(GetPosX(), GetPosY(), GetPosZ());
}
void cCommandBlockEntity::SetLastOutput(const AString & a_LastOut)
{
m_World->BroadcastBlockEntity(GetPosX(), GetPosY(), GetPosZ());
m_LastOutput = a_LastOut;
}
void cCommandBlockEntity::SetResult(const NIBBLETYPE a_Result)
{
m_Result = a_Result;
}
const AString & cCommandBlockEntity::GetCommand(void) const
{
return m_Command;
}
const AString & cCommandBlockEntity::GetLastOutput(void) const
{
return m_LastOutput;
}
NIBBLETYPE cCommandBlockEntity::GetResult(void) const
{
return m_Result;
}
void cCommandBlockEntity::Activate(void)
{
m_ShouldExecute = true;
}
void cCommandBlockEntity::SetRedstonePower(bool a_IsPowered)
{
if (a_IsPowered && !m_IsPowered)
{
Activate();
}
m_IsPowered = a_IsPowered;
}
bool cCommandBlockEntity::Tick(float a_Dt, cChunk & a_Chunk)
{
if (!m_ShouldExecute)
{
return false;
}
m_ShouldExecute = false;
Execute();
return true;
}
void cCommandBlockEntity::SendTo(cClientHandle & a_Client)
{
a_Client.SendUpdateBlockEntity(*this);
}
bool cCommandBlockEntity::LoadFromJson(const Json::Value & a_Value)
{
m_Command = a_Value.get("Command", "").asString();
m_LastOutput = a_Value.get("LastOutput", "").asString();
return true;
}
void cCommandBlockEntity::SaveToJson(Json::Value & a_Value)
{
a_Value["Command"] = m_Command;
a_Value["LastOutput"] = m_LastOutput;
}
void cCommandBlockEntity::Execute()
{
class CommandBlockOutCb :
public cCommandOutputCallback
{
cCommandBlockEntity* m_CmdBlock;
public:
CommandBlockOutCb(cCommandBlockEntity* a_CmdBlock) : m_CmdBlock(a_CmdBlock) {}
virtual void Out(const AString & a_Text)
{
ASSERT(m_CmdBlock != NULL);
// Overwrite field
m_CmdBlock->SetLastOutput(a_Text);
}
} CmdBlockOutCb(this);
LOGD("cCommandBlockEntity: Executing command %s", m_Command.c_str());
cServer* Server = cRoot::Get()->GetServer();
Server->ExecuteConsoleCommand(m_Command, CmdBlockOutCb);
// TODO 2014-01-18 xdot: Update the signal strength.
m_Result = 0;
}

View File

@ -0,0 +1,91 @@
// CommandBlockEntity.h
// Declares the cCommandBlockEntity class representing a single command block in the world
#pragma once
#include "BlockEntity.h"
namespace Json
{
class Value;
}
// tolua_begin
class cCommandBlockEntity :
public cBlockEntity
{
typedef cBlockEntity super;
public:
// tolua_end
/// Creates a new empty command block entity
cCommandBlockEntity(int a_X, int a_Y, int a_Z, cWorld * a_World);
bool LoadFromJson( const Json::Value& a_Value );
virtual void SaveToJson(Json::Value& a_Value ) override;
virtual bool Tick(float a_Dt, cChunk & a_Chunk) override;
virtual void SendTo(cClientHandle & a_Client) override;
virtual void UsedBy(cPlayer * a_Player) override;
void SetLastOutput(const AString & a_LastOut);
void SetResult(const NIBBLETYPE a_Result);
// tolua_begin
/// Sets the internal redstone power flag to "on" or "off", depending on the parameter. Calls Activate() if appropriate
void SetRedstonePower(bool a_IsPowered);
/// Sets the command block to execute a command in the next tick
void Activate(void);
/// Sets the command
void SetCommand(const AString & a_Cmd);
/// Retrieves stored command
const AString & GetCommand(void) const;
/// Retrieves the last line of output generated by the command block
const AString & GetLastOutput(void) const;
/// Retrieves the result (signal strength) of the last operation
NIBBLETYPE GetResult(void) const;
// tolua_end
private:
/// Executes the associated command
void Execute();
bool m_ShouldExecute;
bool m_IsPowered;
AString m_Command;
AString m_LastOutput;
NIBBLETYPE m_Result;
} ; // tolua_export

View File

@ -0,0 +1,32 @@
#pragma once
#include "BlockEntity.h"
class cBlockCommandBlockHandler :
public cBlockEntityHandler
{
public:
cBlockCommandBlockHandler(BLOCKTYPE a_BlockType)
: cBlockEntityHandler(a_BlockType)
{
}
virtual void ConvertToPickups(cItems & a_Pickups, NIBBLETYPE a_BlockMeta) override
{
a_Pickups.push_back(cItem(E_BLOCK_AIR, 8, 0));
}
virtual const char * GetStepSound(void) override
{
return "step.stone";
}
} ;

View File

@ -14,6 +14,7 @@
#include "BlockChest.h"
#include "BlockCloth.h"
#include "BlockCobWeb.h"
#include "BlockCommandBlock.h"
#include "BlockComparator.h"
#include "BlockCrops.h"
#include "BlockDeadBush.h"
@ -116,6 +117,7 @@ cBlockHandler * cBlockHandler::CreateBlockHandler(BLOCKTYPE a_BlockType)
case E_BLOCK_CAULDRON: return new cBlockCauldronHandler (a_BlockType);
case E_BLOCK_CHEST: return new cBlockChestHandler (a_BlockType);
case E_BLOCK_COAL_ORE: return new cBlockOreHandler (a_BlockType);
case E_BLOCK_COMMAND_BLOCK: return new cBlockCommandBlockHandler (a_BlockType);
case E_BLOCK_ACTIVE_COMPARATOR: return new cBlockComparatorHandler (a_BlockType);
case E_BLOCK_COBBLESTONE: return new cBlockStoneHandler (a_BlockType);
case E_BLOCK_COBBLESTONE_STAIRS: return new cBlockStairsHandler (a_BlockType);

View File

@ -1298,6 +1298,7 @@ void cChunk::CreateBlockEntities(void)
switch (BlockType)
{
case E_BLOCK_CHEST:
case E_BLOCK_COMMAND_BLOCK:
case E_BLOCK_DISPENSER:
case E_BLOCK_DROPPER:
case E_BLOCK_ENDER_CHEST:
@ -1425,6 +1426,7 @@ void cChunk::SetBlock(int a_RelX, int a_RelY, int a_RelZ, BLOCKTYPE a_BlockType,
switch (a_BlockType)
{
case E_BLOCK_CHEST:
case E_BLOCK_COMMAND_BLOCK:
case E_BLOCK_DISPENSER:
case E_BLOCK_DROPPER:
case E_BLOCK_ENDER_CHEST:
@ -2268,6 +2270,38 @@ bool cChunk::DoWithNoteBlockAt(int a_BlockX, int a_BlockY, int a_BlockZ, cNoteBl
bool cChunk::DoWithCommandBlockAt(int a_BlockX, int a_BlockY, int a_BlockZ, cCommandBlockCallback & a_Callback)
{
// The blockentity list is locked by the parent chunkmap's CS
for (cBlockEntityList::iterator itr = m_BlockEntities.begin(), itr2 = itr; itr != m_BlockEntities.end(); itr = itr2)
{
++itr2;
if (((*itr)->GetPosX() != a_BlockX) || ((*itr)->GetPosY() != a_BlockY) || ((*itr)->GetPosZ() != a_BlockZ))
{
continue;
}
if ((*itr)->GetBlockType() != E_BLOCK_COMMAND_BLOCK)
{
// There is a block entity here, but of different type. No other block entity can be here, so we can safely bail out
return false;
}
// The correct block entity is here,
if (a_Callback.Item((cCommandBlockEntity *)*itr))
{
return false;
}
return true;
} // for itr - m_BlockEntitites[]
// Not found:
return false;
}
bool cChunk::GetSignLines(int a_BlockX, int a_BlockY, int a_BlockZ, AString & a_Line1, AString & a_Line2, AString & a_Line3, AString & a_Line4)
{
// The blockentity list is locked by the parent chunkmap's CS

View File

@ -40,12 +40,13 @@ class cFluidSimulatorData;
class cMobCensus;
class cMobSpawner;
typedef std::list<cClientHandle *> cClientHandleList;
typedef cItemCallback<cEntity> cEntityCallback;
typedef cItemCallback<cChestEntity> cChestCallback;
typedef cItemCallback<cDispenserEntity> cDispenserCallback;
typedef cItemCallback<cFurnaceEntity> cFurnaceCallback;
typedef cItemCallback<cNoteEntity> cNoteBlockCallback;
typedef std::list<cClientHandle *> cClientHandleList;
typedef cItemCallback<cEntity> cEntityCallback;
typedef cItemCallback<cChestEntity> cChestCallback;
typedef cItemCallback<cDispenserEntity> cDispenserCallback;
typedef cItemCallback<cFurnaceEntity> cFurnaceCallback;
typedef cItemCallback<cNoteEntity> cNoteBlockCallback;
typedef cItemCallback<cCommandBlockEntity> cCommandBlockCallback;
@ -237,6 +238,9 @@ public:
/// Calls the callback for the noteblock at the specified coords; returns false if there's no noteblock at those coords or callback returns true, returns true if found
bool DoWithNoteBlockAt(int a_BlockX, int a_BlockY, int a_BlockZ, cNoteBlockCallback & a_Callback);
/// Calls the callback for the command block at the specified coords; returns false if there's no command block at those coords or callback returns true, returns true if found
bool DoWithCommandBlockAt(int a_BlockX, int a_BlockY, int a_BlockZ, cCommandBlockCallback & a_Callback);
/// Retrieves the test on the sign at the specified coords; returns false if there's no sign at those coords, true if found
bool GetSignLines (int a_BlockX, int a_BlockY, int a_BlockZ, AString & a_Line1, AString & a_Line2, AString & a_Line3, AString & a_Line4); // Lua-accessible

View File

@ -1968,6 +1968,23 @@ bool cChunkMap::DoWithNoteBlockAt(int a_BlockX, int a_BlockY, int a_BlockZ, cNot
bool cChunkMap::DoWithCommandBlockAt(int a_BlockX, int a_BlockY, int a_BlockZ, cCommandBlockCallback & a_Callback)
{
int ChunkX, ChunkZ;
int BlockX = a_BlockX, BlockY = a_BlockY, BlockZ = a_BlockZ;
cChunkDef::AbsoluteToRelative(BlockX, BlockY, BlockZ, ChunkX, ChunkZ);
cCSLock Lock(m_CSLayers);
cChunkPtr Chunk = GetChunkNoGen(ChunkX, ZERO_CHUNK_Y, ChunkZ);
if ((Chunk == NULL) && !Chunk->IsValid())
{
return false;
}
return Chunk->DoWithCommandBlockAt(a_BlockX, a_BlockY, a_BlockZ, a_Callback);
}
bool cChunkMap::GetSignLines(int a_BlockX, int a_BlockY, int a_BlockZ, AString & a_Line1, AString & a_Line2, AString & a_Line3, AString & a_Line4)
{

View File

@ -23,6 +23,7 @@ class cDropperEntity;
class cDropSpenserEntity;
class cFurnaceEntity;
class cNoteEntity;
class cCommandBlockEntity;
class cPawn;
class cPickup;
class cChunkDataSerializer;
@ -32,15 +33,16 @@ class cMobSpawner;
typedef std::list<cClientHandle *> cClientHandleList;
typedef cChunk * cChunkPtr;
typedef cItemCallback<cEntity> cEntityCallback;
typedef cItemCallback<cBlockEntity> cBlockEntityCallback;
typedef cItemCallback<cChestEntity> cChestCallback;
typedef cItemCallback<cDispenserEntity> cDispenserCallback;
typedef cItemCallback<cDropperEntity> cDropperCallback;
typedef cItemCallback<cDropSpenserEntity> cDropSpenserCallback;
typedef cItemCallback<cFurnaceEntity> cFurnaceCallback;
typedef cItemCallback<cNoteEntity> cNoteBlockCallback;
typedef cItemCallback<cChunk> cChunkCallback;
typedef cItemCallback<cEntity> cEntityCallback;
typedef cItemCallback<cBlockEntity> cBlockEntityCallback;
typedef cItemCallback<cChestEntity> cChestCallback;
typedef cItemCallback<cDispenserEntity> cDispenserCallback;
typedef cItemCallback<cDropperEntity> cDropperCallback;
typedef cItemCallback<cDropSpenserEntity> cDropSpenserCallback;
typedef cItemCallback<cFurnaceEntity> cFurnaceCallback;
typedef cItemCallback<cNoteEntity> cNoteBlockCallback;
typedef cItemCallback<cCommandBlockEntity> cCommandBlockCallback;
typedef cItemCallback<cChunk> cChunkCallback;
@ -236,6 +238,9 @@ public:
/// Calls the callback for the noteblock at the specified coords; returns false if there's no noteblock at those coords or callback returns true, returns true if found
bool DoWithNoteBlockAt(int a_BlockX, int a_BlockY, int a_BlockZ, cNoteBlockCallback & a_Callback); // Lua-accessible
/// Calls the callback for the command block at the specified coords; returns false if there's no command block at those coords or callback returns true, returns true if found
bool DoWithCommandBlockAt(int a_BlockX, int a_BlockY, int a_BlockZ, cCommandBlockCallback & a_Callback); // Lua-accessible
/// Retrieves the test on the sign at the specified coords; returns false if there's no sign at those coords, true if found
bool GetSignLines (int a_BlockX, int a_BlockY, int a_BlockZ, AString & a_Line1, AString & a_Line2, AString & a_Line3, AString & a_Line4); // Lua-accessible

View File

@ -8,6 +8,7 @@
#include "Entities/Player.h"
#include "Inventory.h"
#include "BlockEntities/ChestEntity.h"
#include "BlockEntities/CommandBlockEntity.h"
#include "BlockEntities/SignEntity.h"
#include "UI/Window.h"
#include "Item.h"
@ -119,9 +120,6 @@ cClientHandle::~cClientHandle()
LOGD("Deleting client \"%s\" at %p", GetUsername().c_str(), this);
// Remove from cSocketThreads, we're not to be called anymore:
cRoot::Get()->GetServer()->ClientDestroying(this);
{
cCSLock Lock(m_CSChunkLists);
m_LoadedChunks.clear();
@ -159,8 +157,7 @@ cClientHandle::~cClientHandle()
cRoot::Get()->GetServer()->WriteToClient(this, Data);
}
// Queue the socket to close as soon as it sends all outgoing data:
cRoot::Get()->GetServer()->QueueClientClose(this);
// Close the socket as soon as it sends all outgoing data:
cRoot::Get()->GetServer()->RemoveClient(this);
delete m_Protocol;
@ -545,6 +542,21 @@ void cClientHandle::HandlePlayerPos(double a_PosX, double a_PosY, double a_PosZ,
void cClientHandle::HandlePluginMessage(const AString & a_Channel, const AString & a_Message)
{
if (a_Channel == "MC|AdvCdm") // Command block, set text, Client -> Server
{
const char* Data = a_Message.c_str();
HandleCommandBlockMessage(Data, a_Message.size());
return;
}
else if (a_Channel == "MC|Brand") // Client <-> Server branding exchange
{
// We are custom,
// We are awesome,
// We are MCServer.
SendPluginMessage("MC|Brand", "MCServer");
return;
}
cPluginManager::Get()->CallHookPluginMessage(*this, a_Channel, a_Message);
}
@ -552,6 +564,71 @@ void cClientHandle::HandlePluginMessage(const AString & a_Channel, const AString
void cClientHandle::HandleCommandBlockMessage(const char* a_Data, unsigned int a_Length)
{
if (a_Length < 14)
{
SendChat(Printf("%s[INFO]%s Failure setting command block command; bad request", cChatColor::Red.c_str(), cChatColor::White.c_str()));
LOGD("Malformed MC|AdvCdm packet.");
return;
}
cByteBuffer Buffer(a_Length);
Buffer.Write(a_Data, a_Length);
int BlockX, BlockY, BlockZ;
AString Command;
char Mode;
Buffer.ReadChar(Mode);
switch (Mode)
{
case 0x00:
{
Buffer.ReadBEInt(BlockX);
Buffer.ReadBEInt(BlockY);
Buffer.ReadBEInt(BlockZ);
Buffer.ReadVarUTF8String(Command);
break;
}
default:
{
SendChat(Printf("%s[INFO]%s Failure setting command block command; unhandled mode", cChatColor::Red.c_str(), cChatColor::White.c_str()));
LOGD("Unhandled MC|AdvCdm packet mode.");
return;
}
}
class cUpdateCommandBlock :
public cCommandBlockCallback
{
AString m_Command;
public:
cUpdateCommandBlock(const AString & a_Command) : m_Command(a_Command) {}
virtual bool Item(cCommandBlockEntity * a_CommandBlock) override
{
a_CommandBlock->SetCommand(m_Command);
return false;
}
} CmdBlockCB (Command);
cWorld * World = m_Player->GetWorld();
World->DoWithCommandBlockAt(BlockX, BlockY, BlockZ, CmdBlockCB);
SendChat(Printf("%s[INFO]%s Successfully set command block command", cChatColor::Green.c_str(), cChatColor::White.c_str()));
}
void cClientHandle::HandleLeftClick(int a_BlockX, int a_BlockY, int a_BlockZ, char a_BlockFace, char a_Status)
{
LOGD("HandleLeftClick: {%i, %i, %i}; Face: %i; Stat: %i",
@ -2132,6 +2209,14 @@ void cClientHandle::SendUnloadChunk(int a_ChunkX, int a_ChunkZ)
void cClientHandle::SendUpdateBlockEntity(cBlockEntity & a_BlockEntity)
{
m_Protocol->SendUpdateBlockEntity(a_BlockEntity);
}
void cClientHandle::SendUpdateSign(
int a_BlockX, int a_BlockY, int a_BlockZ,

View File

@ -136,6 +136,7 @@ public:
void SendThunderbolt (int a_BlockX, int a_BlockY, int a_BlockZ);
void SendTimeUpdate (Int64 a_WorldAge, Int64 a_TimeOfDay);
void SendUnloadChunk (int a_ChunkX, int a_ChunkZ);
void SendUpdateBlockEntity (cBlockEntity & a_BlockEntity);
void SendUpdateSign (int a_BlockX, int a_BlockY, int a_BlockZ, const AString & a_Line1, const AString & a_Line2, const AString & a_Line3, const AString & a_Line4);
void SendUseBed (const cEntity & a_Entity, int a_BlockX, int a_BlockY, int a_BlockZ );
void SendWeather (eWeather a_Weather);
@ -324,6 +325,9 @@ private:
/// Handles the DIG_FINISHED dig packet:
void HandleBlockDigFinished(int a_BlockX, int a_BlockY, int a_BlockZ, char a_BlockFace, BLOCKTYPE a_OldBlock, NIBBLETYPE a_OldMeta);
/// Handles the "MC|AdvCdm" plugin message
void HandleCommandBlockMessage(const char* a_Data, unsigned int a_Length);
// cSocketThreads::cCallback overrides:
virtual void DataReceived (const char * a_Data, int a_Size) override; // Data is received from the client

View File

@ -7,21 +7,25 @@
// tolua_begin
class cFloater :
public cEntity
{
typedef cFloater super;
public:
//tolua_end
cFloater(double a_X, double a_Y, double a_Z, Vector3d a_Speed, int a_PlayerID, int a_CountDownTime);
virtual void SpawnOn(cClientHandle & a_Client) override;
virtual void Tick(float a_Dt, cChunk & a_Chunk) override;
// tolua_begin
bool CanPickup(void) const { return m_CanPickupItem; }
int GetOwnerID(void) const { return m_PlayerID; }
int GetAttachedMobID(void) const { return m_AttachedMobID; }
// tolua_end
protected:
// Position
@ -37,4 +41,4 @@ protected:
// Entity IDs
int m_PlayerID;
int m_AttachedMobID;
} ;
} ; // tolua_export

View File

@ -367,10 +367,10 @@ void cComposableGenerator::InitStructureGens(cIniFile & a_IniFile)
void cComposableGenerator::InitFinishGens(cIniFile & a_IniFile)
{
int Seed = m_ChunkGenerator.GetSeed();
AString Structures = a_IniFile.GetValueSet("Generator", "Finishers", "SprinkleFoliage,Ice,Snow,Lilypads,BottomLava,DeadBushes,PreSimulator");
eDimension Dimension = StringToDimension(a_IniFile.GetValue("General", "Dimension", "Overworld"));
AStringVector Str = StringSplitAndTrim(Structures, ",");
AString Finishers = a_IniFile.GetValueSet("Generator", "Finishers", "SprinkleFoliage,Ice,Snow,Lilypads,BottomLava,DeadBushes,PreSimulator");
AStringVector Str = StringSplitAndTrim(Finishers, ",");
for (AStringVector::const_iterator itr = Str.begin(); itr != Str.end(); ++itr)
{
// Finishers, alpha-sorted:
@ -396,6 +396,10 @@ void cComposableGenerator::InitFinishGens(cIniFile & a_IniFile)
{
m_FinishGens.push_back(new cFinishGenSingleBiomeSingleTopBlock(Seed, E_BLOCK_LILY_PAD, biSwampland, 4, E_BLOCK_WATER, E_BLOCK_STATIONARY_WATER));
}
else if (NoCaseCompare(*itr, "NetherClumpFoliage") == 0)
{
m_FinishGens.push_back(new cFinishGenNetherClumpFoliage(Seed));
}
else if (NoCaseCompare(*itr, "PreSimulator") == 0)
{
m_FinishGens.push_back(new cFinishGenPreSimulator);

View File

@ -13,6 +13,7 @@
#include "../Noise.h"
#include "../BlockID.h"
#include "../Simulator/FluidSimulator.h" // for cFluidSimulator::CanWashAway()
#include "../Simulator/FireSimulator.h"
#include "../World.h"
@ -39,6 +40,125 @@ static inline bool IsWater(BLOCKTYPE a_BlockType)
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// cFinishGenNetherClumpFoliage:
void cFinishGenNetherClumpFoliage::GenFinish(cChunkDesc & a_ChunkDesc)
{
double ChunkX = a_ChunkDesc.GetChunkX() + 0.1; // We can't devide through 0 so lets add 0.1 to all the chunk coordinates.
double ChunkZ = a_ChunkDesc.GetChunkZ() + 0.1;
NOISE_DATATYPE Val1 = m_Noise.CubicNoise2D((float) (ChunkX * ChunkZ * 0.01f), (float) (ChunkZ / ChunkX * 0.01f));
NOISE_DATATYPE Val2 = m_Noise.CubicNoise2D((float) (ChunkX / ChunkZ / 0.01f), (float) (ChunkZ * ChunkX / 0.01f));
if (Val1 < 0)
{
Val1 = -Val1;
}
if (Val2 < 0)
{
Val2 = -Val2;
}
int PosX, PosZ;
// Calculate PosX
if (Val1 <= 1)
{
PosX = (int) floor(Val1 * 16);
}
else
{
PosX = (int) floor(16 / Val1);
}
// Calculate PosZ
if (Val2 <= 1)
{
PosZ = (int) floor(Val2 * 16);
}
else
{
PosZ = (int) floor(16 / Val2);
}
for (int y = 1; y < cChunkDef::Height; y++)
{
if (a_ChunkDesc.GetBlockType(PosX, y, PosZ) != E_BLOCK_AIR)
{
continue;
}
if (!g_BlockIsSolid[a_ChunkDesc.GetBlockType(PosX, y - 1, PosZ)]) // Only place on solid blocks
{
continue;
}
NOISE_DATATYPE BlockType = m_Noise.CubicNoise1D((float) (ChunkX * ChunkZ) / (y * 0.1f));
if (BlockType < -0.7)
{
TryPlaceClump(a_ChunkDesc, PosX, y, PosZ, E_BLOCK_BROWN_MUSHROOM);
}
else if (BlockType < 0)
{
TryPlaceClump(a_ChunkDesc, PosX, y, PosZ, E_BLOCK_RED_MUSHROOM);
}
else if (BlockType < 0.7)
{
TryPlaceClump(a_ChunkDesc, PosX, y, PosZ, E_BLOCK_FIRE);
}
}
}
void cFinishGenNetherClumpFoliage::TryPlaceClump(cChunkDesc & a_ChunkDesc, int a_RelX, int a_RelY, int a_RelZ, BLOCKTYPE a_Block)
{
bool IsFireBlock = a_Block == E_BLOCK_FIRE;
for (int x = a_RelX - 4; x < a_RelX + 4; x++)
{
float xx = (float) a_ChunkDesc.GetChunkX() * cChunkDef::Width + x;
for (int z = a_RelZ - 4; z < a_RelZ + 4; z++)
{
float zz = (float) a_ChunkDesc.GetChunkZ() * cChunkDef::Width + z;
for (int y = a_RelY - 2; y < a_RelY + 2; y++)
{
if (a_ChunkDesc.GetBlockType(x, y, z) != E_BLOCK_AIR) // Don't replace non air blocks.
{
continue;
}
BLOCKTYPE BlockBelow = a_ChunkDesc.GetBlockType(x, y - 1, z);
if (!g_BlockIsSolid[BlockBelow]) // Only place on solid blocks
{
continue;
}
if (IsFireBlock) // don't place fire on non-forever burning blocks.
{
if (!cFireSimulator::DoesBurnForever(BlockBelow))
{
continue;
}
}
NOISE_DATATYPE Val = m_Noise.CubicNoise2D(xx, zz);
if (Val < -0.70)
{
a_ChunkDesc.SetBlockType(x, y, z, a_Block);
}
}
}
}
}
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// cFinishGenSprinkleFoliage:

View File

@ -47,6 +47,28 @@ protected:
class cFinishGenNetherClumpFoliage :
public cFinishGen
{
public:
cFinishGenNetherClumpFoliage(int a_Seed) :
m_Noise(a_Seed),
m_Seed(a_Seed)
{
}
protected:
cNoise m_Noise;
int m_Seed;
void TryPlaceClump(cChunkDesc & a_ChunkDesc, int a_RelX, int a_RelY, int a_RelZ, BLOCKTYPE a_Block);
virtual void GenFinish(cChunkDesc & a_ChunkDesc) override;
} ;
class cFinishGenSprinkleFoliage :
public cFinishGen
{
@ -117,6 +139,7 @@ public:
{
}
int GetLevel(void) const { return m_Level; }
protected:
int m_Level;

View File

@ -26,7 +26,7 @@ cHTTPConnection::cHTTPConnection(cHTTPServer & a_HTTPServer) :
cHTTPConnection::~cHTTPConnection()
{
// LOGD("HTTP: Del connection at %p", this);
delete m_CurrentRequest;
}
@ -205,6 +205,12 @@ void cHTTPConnection::DataReceived(const char * a_Data, int a_Size)
{
m_State = wcsRecvIdle;
m_HTTPServer.RequestFinished(*this, *m_CurrentRequest);
if (!m_CurrentRequest->DoesAllowKeepAlive())
{
m_State = wcsInvalid;
m_HTTPServer.CloseConnection(*this);
return;
}
delete m_CurrentRequest;
m_CurrentRequest = NULL;
}

View File

@ -41,49 +41,52 @@ public:
cHTTPConnection(cHTTPServer & a_HTTPServer);
virtual ~cHTTPConnection();
/// Sends HTTP status code together with a_Reason (used for HTTP errors)
/** Sends HTTP status code together with a_Reason (used for HTTP errors) */
void SendStatusAndReason(int a_StatusCode, const AString & a_Reason);
/// Sends the "401 unauthorized" reply together with instructions on authorizing, using the specified realm
/** Sends the "401 unauthorized" reply together with instructions on authorizing, using the specified realm */
void SendNeedAuth(const AString & a_Realm);
/// Sends the headers contained in a_Response
/** Sends the headers contained in a_Response */
void Send(const cHTTPResponse & a_Response);
/// Sends the data as the response (may be called multiple times)
/** Sends the data as the response (may be called multiple times) */
void Send(const void * a_Data, int a_Size);
/// Sends the data as the response (may be called multiple times)
/** Sends the data as the response (may be called multiple times) */
void Send(const AString & a_Data) { Send(a_Data.data(), a_Data.size()); }
/// Indicates that the current response is finished, gets ready for receiving another request (HTTP 1.1 keepalive)
/** Indicates that the current response is finished, gets ready for receiving another request (HTTP 1.1 keepalive) */
void FinishResponse(void);
/// Resets the connection for a new request. Depending on the state, this will send an "InternalServerError" status or a "ResponseEnd"
/** Resets the internal connection state for a new request.
Depending on the state, this will send an "InternalServerError" status or a "ResponseEnd" */
void AwaitNextRequest(void);
/// Terminates the connection; finishes any request being currently processed
/** Terminates the connection; finishes any request being currently processed */
void Terminate(void);
protected:
typedef std::map<AString, AString> cNameValueMap;
/// The parent webserver that is to be notified of events on this connection
/** The parent webserver that is to be notified of events on this connection */
cHTTPServer & m_HTTPServer;
/// All the incoming data until the entire request header is parsed
/** All the incoming data until the entire request header is parsed */
AString m_IncomingHeaderData;
/// Status in which the request currently is
/** Status in which the request currently is */
eState m_State;
/// Data that is queued for sending, once the socket becomes writable
/** Data that is queued for sending, once the socket becomes writable */
AString m_OutgoingData;
/// The request being currently received (valid only between having parsed the headers and finishing receiving the body)
/** The request being currently received
Valid only between having parsed the headers and finishing receiving the body. */
cHTTPRequest * m_CurrentRequest;
/// Number of bytes that remain to read for the complete body of the message to be received. Valid only in wcsRecvBody
/** Number of bytes that remain to read for the complete body of the message to be received.
Valid only in wcsRecvBody */
int m_CurrentRequestBodyRemaining;

View File

@ -72,7 +72,8 @@ cHTTPRequest::cHTTPRequest(void) :
m_EnvelopeParser(*this),
m_IsValid(true),
m_UserData(NULL),
m_HasAuth(false)
m_HasAuth(false),
m_AllowKeepAlive(false)
{
}
@ -236,6 +237,10 @@ void cHTTPRequest::OnHeaderLine(const AString & a_Key, const AString & a_Value)
m_HasAuth = true;
}
}
if ((a_Key == "Connection") && (NoCaseCompare(a_Value, "keep-alive") == 0))
{
m_AllowKeepAlive = true;
}
AddHeader(a_Key, a_Value);
}

View File

@ -35,7 +35,7 @@ public:
// Force a virtual destructor in all descendants
virtual ~cHTTPMessage() {};
/// Adds a header into the internal map of headers. Recognizes special headers: Content-Type and Content-Length
/** Adds a header into the internal map of headers. Recognizes special headers: Content-Type and Content-Length */
void AddHeader(const AString & a_Key, const AString & a_Value);
void SetContentType (const AString & a_ContentType) { m_ContentType = a_ContentType; }
@ -51,10 +51,10 @@ protected:
cNameValueMap m_Headers;
/// Type of the content; parsed by AddHeader(), set directly by SetContentLength()
/** Type of the content; parsed by AddHeader(), set directly by SetContentLength() */
AString m_ContentType;
/// Length of the content that is to be received. -1 when the object is created, parsed by AddHeader() or set directly by SetContentLength()
/** Length of the content that is to be received. -1 when the object is created, parsed by AddHeader() or set directly by SetContentLength() */
int m_ContentLength;
} ;
@ -76,64 +76,71 @@ public:
*/
int ParseHeaders(const char * a_Data, int a_Size);
/// Returns true if the request did contain a Content-Length header
/** Returns true if the request did contain a Content-Length header */
bool HasReceivedContentLength(void) const { return (m_ContentLength >= 0); }
/// Returns the method used in the request
/** Returns the method used in the request */
const AString & GetMethod(void) const { return m_Method; }
/// Returns the URL used in the request
/** Returns the URL used in the request */
const AString & GetURL(void) const { return m_URL; }
/// Returns the URL used in the request, without any parameters
/** Returns the URL used in the request, without any parameters */
AString GetBareURL(void) const;
/// Sets the UserData pointer that is stored within this request. The request doesn't touch this data (doesn't delete it)!
/** Sets the UserData pointer that is stored within this request.
The request doesn't touch this data (doesn't delete it)! */
void SetUserData(void * a_UserData) { m_UserData = a_UserData; }
/// Retrieves the UserData pointer that has been stored within this request.
/** Retrieves the UserData pointer that has been stored within this request. */
void * GetUserData(void) const { return m_UserData; }
/// Returns true if more data is expected for the request headers
/** Returns true if more data is expected for the request headers */
bool IsInHeaders(void) const { return m_EnvelopeParser.IsInHeaders(); }
/// Returns true if the request did present auth data that was understood by the parser
/** Returns true if the request did present auth data that was understood by the parser */
bool HasAuth(void) const { return m_HasAuth; }
/// Returns the username that the request presented. Only valid if HasAuth() is true
/** Returns the username that the request presented. Only valid if HasAuth() is true */
const AString & GetAuthUsername(void) const { return m_AuthUsername; }
/// Returns the password that the request presented. Only valid if HasAuth() is true
/** Returns the password that the request presented. Only valid if HasAuth() is true */
const AString & GetAuthPassword(void) const { return m_AuthPassword; }
bool DoesAllowKeepAlive(void) const { return m_AllowKeepAlive; }
protected:
/// Parser for the envelope data
/** Parser for the envelope data */
cEnvelopeParser m_EnvelopeParser;
/// True if the data received so far is parsed successfully. When false, all further parsing is skipped
/** True if the data received so far is parsed successfully. When false, all further parsing is skipped */
bool m_IsValid;
/// Bufferred incoming data, while parsing for the request line
/** Bufferred incoming data, while parsing for the request line */
AString m_IncomingHeaderData;
/// Method of the request (GET / PUT / POST / ...)
/** Method of the request (GET / PUT / POST / ...) */
AString m_Method;
/// Full URL of the request
/** Full URL of the request */
AString m_URL;
/// Data that the HTTPServer callbacks are allowed to store.
/** Data that the HTTPServer callbacks are allowed to store. */
void * m_UserData;
/// Set to true if the request contains auth data that was understood by the parser
/** Set to true if the request contains auth data that was understood by the parser */
bool m_HasAuth;
/// The username used for auth
/** The username used for auth */
AString m_AuthUsername;
/// The password used for auth
/** The password used for auth */
AString m_AuthPassword;
/** Set to true if the request indicated that it supports keepalives.
If false, the server will close the connection once the request is finished */
bool m_AllowKeepAlive;
/** Parses the incoming data for the first line (RequestLine)
Returns the number of bytes consumed, or -1 for an error

View File

@ -87,6 +87,25 @@ void cSocket::CloseSocket()
void cSocket::ShutdownReadWrite(void)
{
#ifdef _WIN32
int res = shutdown(m_Socket, SD_BOTH);
#else
int res = shutdown(m_Socket, SHUT_RDWR);
#endif
if (res != 0)
{
LOGWARN("%s: Error shutting down socket %d (%s): %d (%s)",
__FUNCTION__, m_Socket, m_IPString.c_str(), this->GetLastError(), GetLastErrorString().c_str()
);
}
}
AString cSocket::GetErrorString( int a_ErrNo )
{
char buffer[ 1024 ];

View File

@ -39,7 +39,11 @@ public:
bool IsValid(void) const { return IsValidSocket(m_Socket); }
void CloseSocket(void);
/** Notifies the socket that we don't expect any more reads nor writes on it.
Most TCPIP implementations use this to send the FIN flag in a packet */
void ShutdownReadWrite(void);
operator xSocket(void) const;
xSocket GetSocket(void) const;

View File

@ -71,29 +71,6 @@ bool cSocketThreads::AddClient(const cSocket & a_Socket, cCallback * a_Client)
/*
void cSocketThreads::RemoveClient(const cSocket * a_Socket)
{
// Remove the socket (and associated client) from processing
cCSLock Lock(m_CS);
for (cSocketThreadList::iterator itr = m_Threads.begin(); itr != m_Threads.end(); ++itr)
{
if ((*itr)->RemoveSocket(a_Socket))
{
return;
}
} // for itr - m_Threads[]
// Cannot assert here, this may actually happen legally, since cClientHandle has to clean up the socket and it may have already closed in the meantime
// ASSERT(!"Removing an unknown socket");
}
*/
void cSocketThreads::RemoveClient(const cCallback * a_Client)
{
// Remove the associated socket and the client from processing
@ -155,47 +132,6 @@ void cSocketThreads::Write(const cCallback * a_Client, const AString & a_Data)
/// Stops reading from the socket - when this call returns, no more calls to the callbacks are made
void cSocketThreads::StopReading(const cCallback * a_Client)
{
cCSLock Lock(m_CS);
for (cSocketThreadList::iterator itr = m_Threads.begin(); itr != m_Threads.end(); ++itr)
{
if ((*itr)->StopReading(a_Client))
{
return;
}
} // for itr - m_Threads[]
// Cannot assert, this normally happens if the socket is closed before the client deinitializes
// ASSERT(!"Stopping reading on an unknown client");
}
/// Queues the socket for closing, as soon as its outgoing data is sent
void cSocketThreads::QueueClose(const cCallback * a_Client)
{
LOGD("QueueClose(client %p)", a_Client);
cCSLock Lock(m_CS);
for (cSocketThreadList::iterator itr = m_Threads.begin(); itr != m_Threads.end(); ++itr)
{
if ((*itr)->QueueClose(a_Client))
{
return;
}
} // for itr - m_Threads[]
ASSERT(!"Queueing close of an unknown client");
}
////////////////////////////////////////////////////////////////////////////////
// cSocketThreads::cSocketThread:
@ -233,13 +169,13 @@ cSocketThreads::cSocketThread::~cSocketThread()
void cSocketThreads::cSocketThread::AddClient(const cSocket & a_Socket, cCallback * a_Client)
{
ASSERT(m_Parent->m_CS.IsLockedByCurrentThread());
ASSERT(m_NumSlots < MAX_SLOTS); // Use HasEmptySlot() to check before adding
m_Slots[m_NumSlots].m_Client = a_Client;
m_Slots[m_NumSlots].m_Socket = a_Socket;
m_Slots[m_NumSlots].m_Outgoing.clear();
m_Slots[m_NumSlots].m_ShouldClose = false;
m_Slots[m_NumSlots].m_ShouldCallClient = true;
m_Slots[m_NumSlots].m_State = sSlot::ssNormal;
m_NumSlots++;
// Notify the thread of the change:
@ -253,7 +189,7 @@ void cSocketThreads::cSocketThread::AddClient(const cSocket & a_Socket, cCallbac
bool cSocketThreads::cSocketThread::RemoveClient(const cCallback * a_Client)
{
// Returns true if removed, false if not found
ASSERT(m_Parent->m_CS.IsLockedByCurrentThread());
if (m_NumSlots == 0)
{
@ -267,36 +203,29 @@ bool cSocketThreads::cSocketThread::RemoveClient(const cCallback * a_Client)
continue;
}
// Found, remove it:
m_Slots[i] = m_Slots[--m_NumSlots];
// Notify the thread of the change:
ASSERT(m_ControlSocket2.IsValid());
m_ControlSocket2.Send("r", 1);
return true;
} // for i - m_Slots[]
// Not found
return false;
}
bool cSocketThreads::cSocketThread::RemoveSocket(const cSocket * a_Socket)
{
// Returns true if removed, false if not found
for (int i = m_NumSlots - 1; i >= 0 ; --i)
{
if (m_Slots[i].m_Socket != *a_Socket)
// Found the slot:
if (m_Slots[i].m_State == sSlot::ssRemoteClosed)
{
continue;
// The remote has already closed the socket, remove the slot altogether:
m_Slots[i] = m_Slots[--m_NumSlots];
}
else
{
// Query and queue the last batch of outgoing data:
m_Slots[i].m_Client->GetOutgoingData(m_Slots[i].m_Outgoing);
if (m_Slots[i].m_Outgoing.empty())
{
// No more outgoing data, shut the socket down immediately:
m_Slots[i].m_Socket.ShutdownReadWrite();
m_Slots[i].m_State = sSlot::ssShuttingDown;
}
else
{
// More data to send, shut down reading and wait for the rest to get sent:
m_Slots[i].m_State = sSlot::ssWritingRestOut;
}
m_Slots[i].m_Client = NULL;
}
// Found, remove it:
m_Slots[i] = m_Slots[--m_NumSlots];
// Notify the thread of the change:
ASSERT(m_ControlSocket2.IsValid());
@ -314,6 +243,8 @@ bool cSocketThreads::cSocketThread::RemoveSocket(const cSocket * a_Socket)
bool cSocketThreads::cSocketThread::HasClient(const cCallback * a_Client) const
{
ASSERT(m_Parent->m_CS.IsLockedByCurrentThread());
for (int i = m_NumSlots - 1; i >= 0; --i)
{
if (m_Slots[i].m_Client == a_Client)
@ -346,6 +277,8 @@ bool cSocketThreads::cSocketThread::HasSocket(const cSocket * a_Socket) const
bool cSocketThreads::cSocketThread::NotifyWrite(const cCallback * a_Client)
{
ASSERT(m_Parent->m_CS.IsLockedByCurrentThread());
if (HasClient(a_Client))
{
// Notify the thread that there's another packet in the queue:
@ -362,7 +295,7 @@ bool cSocketThreads::cSocketThread::NotifyWrite(const cCallback * a_Client)
bool cSocketThreads::cSocketThread::Write(const cCallback * a_Client, const AString & a_Data)
{
// Returns true if socket handled by this thread
ASSERT(m_Parent->m_CS.IsLockedByCurrentThread());
for (int i = m_NumSlots - 1; i >= 0; --i)
{
if (m_Slots[i].m_Client == a_Client)
@ -383,47 +316,6 @@ bool cSocketThreads::cSocketThread::Write(const cCallback * a_Client, const AStr
bool cSocketThreads::cSocketThread::StopReading (const cCallback * a_Client)
{
// Returns true if client handled by this thread
for (int i = m_NumSlots - 1; i >= 0; --i)
{
if (m_Slots[i].m_Client == a_Client)
{
m_Slots[i].m_ShouldCallClient = false;
return true;
}
} // for i - m_Slots[]
return false;
}
bool cSocketThreads::cSocketThread::QueueClose(const cCallback * a_Client)
{
// Returns true if socket handled by this thread
for (int i = m_NumSlots - 1; i >= 0; --i)
{
if (m_Slots[i].m_Client == a_Client)
{
m_Slots[i].m_ShouldClose = true;
// Notify the thread that there's a close queued (in case its conditions are already met):
ASSERT(m_ControlSocket2.IsValid());
m_ControlSocket2.Send("c", 1);
return true;
}
} // for i - m_Slots[]
return false;
}
bool cSocketThreads::cSocketThread::Start(void)
{
// Create the control socket listener
@ -497,10 +389,13 @@ void cSocketThreads::cSocketThread::Execute(void)
fd_set fdRead;
cSocket::xSocket Highest = m_ControlSocket1.GetSocket();
PrepareSet(&fdRead, Highest);
PrepareSet(&fdRead, Highest, false);
// Wait for the sockets:
if (select(Highest + 1, &fdRead, NULL, NULL, NULL) == -1)
timeval Timeout;
Timeout.tv_sec = 5;
Timeout.tv_usec = 0;
if (select(Highest + 1, &fdRead, NULL, NULL, &Timeout) == -1)
{
LOG("select(R) call failed in cSocketThread: \"%s\"", cSocket::GetLastErrorString().c_str());
continue;
@ -511,8 +406,7 @@ void cSocketThreads::cSocketThread::Execute(void)
// Test sockets for writing:
fd_set fdWrite;
Highest = m_ControlSocket1.GetSocket();
PrepareSet(&fdWrite, Highest);
timeval Timeout;
PrepareSet(&fdWrite, Highest, true);
Timeout.tv_sec = 0;
Timeout.tv_usec = 0;
if (select(Highest + 1, NULL, &fdWrite, NULL, &Timeout) == -1)
@ -522,6 +416,8 @@ void cSocketThreads::cSocketThread::Execute(void)
}
WriteToSockets(&fdWrite);
CleanUpShutSockets();
} // while (!mShouldTerminate)
}
@ -529,7 +425,7 @@ void cSocketThreads::cSocketThread::Execute(void)
void cSocketThreads::cSocketThread::PrepareSet(fd_set * a_Set, cSocket::xSocket & a_Highest)
void cSocketThreads::cSocketThread::PrepareSet(fd_set * a_Set, cSocket::xSocket & a_Highest, bool a_IsForWriting)
{
FD_ZERO(a_Set);
FD_SET(m_ControlSocket1.GetSocket(), a_Set);
@ -541,6 +437,11 @@ void cSocketThreads::cSocketThread::PrepareSet(fd_set * a_Set, cSocket::xSocket
{
continue;
}
if (m_Slots[i].m_State == sSlot::ssRemoteClosed)
{
// This socket won't provide nor consume any data anymore, don't put it in the Set
continue;
}
cSocket::xSocket s = m_Slots[i].m_Socket.GetSocket();
FD_SET(s, a_Set);
if (s > a_Highest)
@ -576,29 +477,42 @@ void cSocketThreads::cSocketThread::ReadFromSockets(fd_set * a_Read)
}
char Buffer[1024];
int Received = m_Slots[i].m_Socket.Receive(Buffer, ARRAYCOUNT(Buffer), 0);
if (Received == 0)
if (Received <= 0)
{
// The socket has been closed by the remote party, close our socket and let it be removed after we process all reading
m_Slots[i].m_Socket.CloseSocket();
if (m_Slots[i].m_ShouldCallClient)
// The socket has been closed by the remote party
switch (m_Slots[i].m_State)
{
m_Slots[i].m_Client->SocketClosed();
}
}
else if (Received > 0)
{
if (m_Slots[i].m_ShouldCallClient)
{
m_Slots[i].m_Client->DataReceived(Buffer, Received);
}
case sSlot::ssNormal:
{
// Notify the callback that the remote has closed the socket; keep the slot
m_Slots[i].m_Client->SocketClosed();
m_Slots[i].m_State = sSlot::ssRemoteClosed;
break;
}
case sSlot::ssWritingRestOut:
case sSlot::ssShuttingDown:
case sSlot::ssShuttingDown2:
{
// Force-close the socket and remove the slot:
m_Slots[i].m_Socket.CloseSocket();
m_Slots[i] = m_Slots[--m_NumSlots];
break;
}
default:
{
LOG("%s: Unexpected socket state: %d (%s)",
__FUNCTION__, m_Slots[i].m_Socket.GetSocket(), m_Slots[i].m_Socket.GetIPString().c_str()
);
ASSERT(!"Unexpected socket state");
break;
}
} // switch (m_Slots[i].m_State)
}
else
{
// The socket has encountered an error, close it and let it be removed after we process all reading
m_Slots[i].m_Socket.CloseSocket();
if (m_Slots[i].m_ShouldCallClient)
if (m_Slots[i].m_Client != NULL)
{
m_Slots[i].m_Client->SocketClosed();
m_Slots[i].m_Client->DataReceived(Buffer, Received);
}
}
} // for i - m_Slots[]
@ -622,22 +536,17 @@ void cSocketThreads::cSocketThread::WriteToSockets(fd_set * a_Write)
if (m_Slots[i].m_Outgoing.empty())
{
// Request another chunk of outgoing data:
if (m_Slots[i].m_ShouldCallClient)
if (m_Slots[i].m_Client != NULL)
{
m_Slots[i].m_Client->GetOutgoingData(m_Slots[i].m_Outgoing);
}
if (m_Slots[i].m_Outgoing.empty())
{
// Nothing ready
if (m_Slots[i].m_ShouldClose)
// No outgoing data is ready
if (m_Slots[i].m_State == sSlot::ssWritingRestOut)
{
// Socket was queued for closing and there's no more data to send, close it now:
// DEBUG
LOGD("Socket was queued for closing, closing now. Slot %d, client %p, socket %d", i, m_Slots[i].m_Client, m_Slots[i].m_Socket.GetSocket());
m_Slots[i].m_Socket.CloseSocket();
// The slot must be freed actively by the client, using RemoveClient()
m_Slots[i].m_State = sSlot::ssShuttingDown;
m_Slots[i].m_Socket.ShutdownReadWrite();
}
continue;
}
@ -649,7 +558,7 @@ void cSocketThreads::cSocketThread::WriteToSockets(fd_set * a_Write)
int Err = cSocket::GetLastError();
LOGWARNING("Error %d while writing to client \"%s\", disconnecting. \"%s\"", Err, m_Slots[i].m_Socket.GetIPString().c_str(), cSocket::GetErrorString(Err).c_str());
m_Slots[i].m_Socket.CloseSocket();
if (m_Slots[i].m_ShouldCallClient)
if (m_Slots[i].m_Client != NULL)
{
m_Slots[i].m_Client->SocketClosed();
}
@ -657,6 +566,12 @@ void cSocketThreads::cSocketThread::WriteToSockets(fd_set * a_Write)
}
m_Slots[i].m_Outgoing.erase(0, Sent);
if (m_Slots[i].m_Outgoing.empty() && (m_Slots[i].m_State == sSlot::ssWritingRestOut))
{
m_Slots[i].m_State = sSlot::ssShuttingDown;
m_Slots[i].m_Socket.ShutdownReadWrite();
}
// _X: If there's data left, it means the client is not reading fast enough, the server would unnecessarily spin in the main loop with zero actions taken; so signalling is disabled
// This means that if there's data left, it will be sent only when there's incoming data or someone queues another packet (for any socket handled by this thread)
/*
@ -673,3 +588,31 @@ void cSocketThreads::cSocketThread::WriteToSockets(fd_set * a_Write)
void cSocketThreads::cSocketThread::CleanUpShutSockets(void)
{
for (int i = m_NumSlots - 1; i >= 0; i--)
{
switch (m_Slots[i].m_State)
{
case sSlot::ssShuttingDown2:
{
// The socket has reached the shutdown timeout, close it and clear its slot:
m_Slots[i].m_Socket.CloseSocket();
m_Slots[i] = m_Slots[--m_NumSlots];
break;
}
case sSlot::ssShuttingDown:
{
// The socket has been shut down for a single thread loop, let it loop once more before closing:
m_Slots[i].m_State = sSlot::ssShuttingDown2;
break;
}
default: break;
}
} // for i - m_Slots[]
}

View File

@ -7,19 +7,20 @@
/*
Additional details:
When a client is terminating a connection:
- they call the StopReading() method to disable callbacks for the incoming data
- they call the Write() method to queue any outstanding outgoing data
- they call the QueueClose() method to queue the socket to close after outgoing data has been sent.
When a socket slot is marked as having no callback, it is kept alive until its outgoing data queue is empty and its m_ShouldClose flag is set.
This means that the socket can be written to several times before finally closing it via QueueClose()
When a client wants to terminate the connection, they call the RemoveClient() function. This calls the
callback one last time to read all the available outgoing data, putting it in the slot's m_OutgoingData
buffer. Then it marks the slot as having no callback. The socket is kept alive until its outgoing data
queue is empty, then shutdown is called on it and finally the socket is closed after a timeout.
If at any time within this the remote end closes the socket, then the socket is closed directly.
As soon as the socket is closed, the slot is finally removed from the SocketThread.
The graph in $/docs/SocketThreads States.gv shows the state-machine transitions of the slot.
*/
/// How many clients should one thread handle? (must be less than FD_SETSIZE for your platform)
/** How many clients should one thread handle? (must be less than FD_SETSIZE for your platform) */
#define MAX_SLOTS 63
@ -27,8 +28,6 @@ This means that the socket can be written to several times before finally closin
#pragma once
#ifndef CSOCKETTHREADS_H_INCLUDED
#define CSOCKETTHREADS_H_INCLUDED
#include "Socket.h"
#include "IsThread.h"
@ -64,13 +63,13 @@ public:
// Force a virtual destructor in all subclasses:
virtual ~cCallback() {}
/// Called when data is received from the remote party
/** Called when data is received from the remote party */
virtual void DataReceived(const char * a_Data, int a_Size) = 0;
/// Called when data can be sent to remote party; the function is supposed to append outgoing data to a_Data
/** Called when data can be sent to remote party; the function is supposed to *append* outgoing data to a_Data */
virtual void GetOutgoingData(AString & a_Data) = 0;
/// Called when the socket has been closed for any reason
/** Called when the socket has been closed for any reason */
virtual void SocketClosed(void) = 0;
} ;
@ -78,24 +77,21 @@ public:
cSocketThreads(void);
~cSocketThreads();
/// Add a (socket, client) pair for processing, data from a_Socket is to be sent to a_Client; returns true if successful
/** Add a (socket, client) pair for processing, data from a_Socket is to be sent to a_Client; returns true if successful */
bool AddClient(const cSocket & a_Socket, cCallback * a_Client);
/// Remove the associated socket and the client from processing. The socket is left to send its data and is removed only after all its m_OutgoingData is sent
/** Remove the associated socket and the client from processing.
The socket is left to send its last outgoing data and is removed only after all its m_Outgoing is sent
and after the socket is properly shutdown (unless the remote disconnects before that)
*/
void RemoveClient(const cCallback * a_Client);
/// Notify the thread responsible for a_Client that the client has something to write
/** Notify the thread responsible for a_Client that the client has something to write */
void NotifyWrite(const cCallback * a_Client);
/// Puts a_Data into outgoing data queue for a_Client
/** Puts a_Data into outgoing data queue for a_Client */
void Write(const cCallback * a_Client, const AString & a_Data);
/// Stops reading from the client - when this call returns, no more calls to the callbacks are made
void StopReading(const cCallback * a_Client);
/// Queues the client for closing, as soon as its outgoing data is sent
void QueueClose(const cCallback * a_Client);
private:
class cSocketThread :
@ -114,13 +110,10 @@ private:
void AddClient (const cSocket & a_Socket, cCallback * a_Client); // Takes ownership of the socket
bool RemoveClient(const cCallback * a_Client); // Returns true if removed, false if not found
bool RemoveSocket(const cSocket * a_Socket); // Returns true if removed, false if not found
bool HasClient (const cCallback * a_Client) const;
bool HasSocket (const cSocket * a_Socket) const;
bool NotifyWrite (const cCallback * a_Client); // Returns true if client handled by this thread
bool Write (const cCallback * a_Client, const AString & a_Data); // Returns true if client handled by this thread
bool StopReading (const cCallback * a_Client); // Returns true if client handled by this thread
bool QueueClose (const cCallback * a_Client); // Returns true if client handled by this thread
bool Start(void); // Hide the cIsThread's Start method, we need to provide our own startup to create the control socket
@ -134,24 +127,45 @@ private:
cSocket m_ControlSocket1;
cSocket m_ControlSocket2;
// Socket-client-packetqueues triplets.
// Socket-client-dataqueues-state quadruplets.
// Manipulation with these assumes that the parent's m_CS is locked
struct sSlot
{
cSocket m_Socket; // The socket is primarily owned by this
/** The socket is primarily owned by this object */
cSocket m_Socket;
/** The callback to call for events. May be NULL */
cCallback * m_Client;
AString m_Outgoing; // If sending writes only partial data, the rest is stored here for another send
bool m_ShouldClose; // If true, the socket is to be closed after sending all outgoing data
bool m_ShouldCallClient; // If true, the client callbacks are called. Set to false in StopReading()
/** If sending writes only partial data, the rest is stored here for another send.
Also used when the slot is being removed to store the last batch of outgoing data. */
AString m_Outgoing;
enum eState
{
ssNormal, ///< Normal read / write operations
ssWritingRestOut, ///< The client callback was removed, continue to send outgoing data
ssShuttingDown, ///< The last outgoing data has been sent, the socket has called shutdown()
ssShuttingDown2, ///< The shutdown has been done at least 1 thread loop ago (timeout detection)
ssRemoteClosed, ///< The remote end has closed the connection (and we still have a client callback)
} m_State;
} ;
sSlot m_Slots[MAX_SLOTS];
int m_NumSlots; // Number of slots actually used
virtual void Execute(void) override;
void PrepareSet (fd_set * a_Set, cSocket::xSocket & a_Highest); // Puts all sockets into the set, along with m_ControlSocket1
/** Puts all sockets into the set, along with m_ControlSocket1.
Only sockets that are able to send and receive data are put in the Set.
Is a_IsForWriting is true, the ssWritingRestOut sockets are added as well. */
void PrepareSet(fd_set * a_Set, cSocket::xSocket & a_Highest, bool a_IsForWriting);
void ReadFromSockets(fd_set * a_Read); // Reads from sockets indicated in a_Read
void WriteToSockets (fd_set * a_Write); // Writes to sockets indicated in a_Write
/** Removes those slots in ssShuttingDown2 state, sets those with ssShuttingDown state to ssShuttingDown2 */
void CleanUpShutSockets(void);
} ;
typedef std::list<cSocketThread *> cSocketThreadList;
@ -164,9 +178,3 @@ private:
#endif // CSOCKETTHREADS_H_INCLUDED

View File

@ -103,6 +103,7 @@ public:
virtual void SendThunderbolt (int a_BlockX, int a_BlockY, int a_BlockZ) = 0;
virtual void SendTimeUpdate (Int64 a_WorldAge, Int64 a_TimeOfDay) = 0;
virtual void SendUnloadChunk (int a_ChunkX, int a_ChunkZ) = 0;
virtual void SendUpdateBlockEntity (cBlockEntity & a_BlockEntity) = 0;
virtual void SendUpdateSign (int a_BlockX, int a_BlockY, int a_BlockZ, const AString & a_Line1, const AString & a_Line2, const AString & a_Line3, const AString & a_Line4) = 0;
virtual void SendUseBed (const cEntity & a_Entity, int a_BlockX, int a_BlockY, int a_BlockZ ) = 0;
virtual void SendWeather (eWeather a_Weather) = 0;

View File

@ -79,6 +79,7 @@ public:
virtual void SendThunderbolt (int a_BlockX, int a_BlockY, int a_BlockZ) override;
virtual void SendTimeUpdate (Int64 a_WorldAge, Int64 a_TimeOfDay) override;
virtual void SendUnloadChunk (int a_ChunkX, int a_ChunkZ) override;
virtual void SendUpdateBlockEntity (cBlockEntity & a_BlockEntity) override {};
virtual void SendUpdateSign (int a_BlockX, int a_BlockY, int a_BlockZ, const AString & a_Line1, const AString & a_Line2, const AString & a_Line3, const AString & a_Line4) override;
virtual void SendUseBed (const cEntity & a_Entity, int a_BlockX, int a_BlockY, int a_BlockZ ) override;
virtual void SendWeather (eWeather a_Weather) override;

View File

@ -25,6 +25,7 @@ Implements the 1.7.x protocol classes:
#include "../Entities/Player.h"
#include "../Mobs/IncludeAllMonsters.h"
#include "../UI/Window.h"
#include "../BlockEntities/CommandBlockEntity.h"
@ -893,6 +894,28 @@ void cProtocol172::SendUnloadChunk(int a_ChunkX, int a_ChunkZ)
void cProtocol172::SendUpdateBlockEntity(cBlockEntity & a_BlockEntity)
{
cPacketizer Pkt(*this, 0x35); // Update tile entity packet
Pkt.WriteInt(a_BlockEntity.GetPosX());
Pkt.WriteShort(a_BlockEntity.GetPosY());
Pkt.WriteInt(a_BlockEntity.GetPosZ());
Byte Action = 0;
switch (a_BlockEntity.GetBlockType())
{
case E_BLOCK_MOB_SPAWNER: Action = 1; break; // Update mob spawner spinny mob thing
case E_BLOCK_COMMAND_BLOCK: Action = 2; break; // Update command block text
default: ASSERT(!"Unhandled or unimplemented BlockEntity update request!"); break;
}
Pkt.WriteByte(Action);
Pkt.WriteBlockEntity(a_BlockEntity);
}
void cProtocol172::SendUpdateSign(int a_BlockX, int a_BlockY, int a_BlockZ, const AString & a_Line1, const AString & a_Line2, const AString & a_Line3, const AString & a_Line4)
{
@ -1820,6 +1843,51 @@ void cProtocol172::cPacketizer::WriteItem(const cItem & a_Item)
void cProtocol172::cPacketizer::WriteBlockEntity(const cBlockEntity & a_BlockEntity)
{
cFastNBTWriter Writer;
switch (a_BlockEntity.GetBlockType())
{
case E_BLOCK_COMMAND_BLOCK:
{
cCommandBlockEntity & CommandBlockEntity = (cCommandBlockEntity &)a_BlockEntity;
Writer.AddByte("TrackOutput", 1); // Neither I nor the MC wiki has any idea about this
Writer.AddInt("SuccessCount", CommandBlockEntity.GetResult());
Writer.AddInt("x", CommandBlockEntity.GetPosX());
Writer.AddInt("y", CommandBlockEntity.GetPosY());
Writer.AddInt("z", CommandBlockEntity.GetPosZ());
Writer.AddString("Command", CommandBlockEntity.GetCommand().c_str());
// You can set custom names for windows in Vanilla
// For a command block, this would be the 'name' prepended to anything it outputs into global chat
// MCS doesn't have this, so just leave it @ '@'. (geddit?)
Writer.AddString("CustomName", "@");
Writer.AddString("id", "Control"); // "Tile Entity ID" - MC wiki; vanilla server always seems to send this though
if (!CommandBlockEntity.GetLastOutput().empty())
{
AString Output;
Printf(Output, "{\"text\":\"%s\"}", CommandBlockEntity.GetLastOutput().c_str());
Writer.AddString("LastOutput", Output.c_str());
}
break;
}
default: break;
}
Writer.Finish();
AString Compressed;
CompressStringGZIP(Writer.GetResult().data(), Writer.GetResult().size(), Compressed);
WriteShort(Compressed.size());
WriteBuf(Compressed.data(), Compressed.size());
}
void cProtocol172::cPacketizer::WriteByteAngle(double a_Angle)
{

View File

@ -102,6 +102,7 @@ public:
virtual void SendThunderbolt (int a_BlockX, int a_BlockY, int a_BlockZ) override;
virtual void SendTimeUpdate (Int64 a_WorldAge, Int64 a_TimeOfDay) override;
virtual void SendUnloadChunk (int a_ChunkX, int a_ChunkZ) override;
virtual void SendUpdateBlockEntity (cBlockEntity & a_BlockEntity) override;
virtual void SendUpdateSign (int a_BlockX, int a_BlockY, int a_BlockZ, const AString & a_Line1, const AString & a_Line2, const AString & a_Line3, const AString & a_Line4) override;
virtual void SendUseBed (const cEntity & a_Entity, int a_BlockX, int a_BlockY, int a_BlockZ ) override;
virtual void SendWeather (eWeather a_Weather) override;
@ -189,6 +190,7 @@ protected:
void WriteEntityMetadata(const cEntity & a_Entity); // Writes the metadata for the specified entity, not including the terminating 0x7f
void WriteMobMetadata(const cMonster & a_Mob); // Writes the mob-specific metadata for the specified mob
void WriteEntityProperties(const cEntity & a_Entity); // Writes the entity properties for the specified entity, including the Count field
void WriteBlockEntity(const cBlockEntity & a_BlockEntity);
protected:
cProtocol172 & m_Protocol;

View File

@ -636,6 +636,16 @@ void cProtocolRecognizer::SendUnloadChunk(int a_ChunkX, int a_ChunkZ)
void cProtocolRecognizer::SendUpdateBlockEntity(cBlockEntity & a_BlockEntity)
{
ASSERT(m_Protocol != NULL);
m_Protocol->SendUpdateBlockEntity(a_BlockEntity);
}
void cProtocolRecognizer::SendUpdateSign(int a_BlockX, int a_BlockY, int a_BlockZ, const AString & a_Line1, const AString & a_Line2, const AString & a_Line3, const AString & a_Line4)
{
ASSERT(m_Protocol != NULL);

View File

@ -114,6 +114,7 @@ public:
virtual void SendThunderbolt (int a_BlockX, int a_BlockY, int a_BlockZ) override;
virtual void SendTimeUpdate (Int64 a_WorldAge, Int64 a_TimeOfDay) override;
virtual void SendUnloadChunk (int a_ChunkX, int a_ChunkZ) override;
virtual void SendUpdateBlockEntity (cBlockEntity & a_BlockEntity) override;
virtual void SendUpdateSign (int a_BlockX, int a_BlockY, int a_BlockZ, const AString & a_Line1, const AString & a_Line2, const AString & a_Line3, const AString & a_Line4) override;
virtual void SendUseBed (const cEntity & a_Entity, int a_BlockX, int a_BlockY, int a_BlockZ ) override;
virtual void SendWeather (eWeather a_Weather) override;

View File

@ -118,7 +118,7 @@ cServer::cServer(void) :
void cServer::ClientDestroying(const cClientHandle * a_Client)
{
m_SocketThreads.StopReading(a_Client);
m_SocketThreads.RemoveClient(a_Client);
}
@ -143,15 +143,6 @@ void cServer::WriteToClient(const cClientHandle * a_Client, const AString & a_Da
void cServer::QueueClientClose(const cClientHandle * a_Client)
{
m_SocketThreads.QueueClose(a_Client);
}
void cServer::RemoveClient(const cClientHandle * a_Client)
{
m_SocketThreads.RemoveClient(a_Client);
@ -459,7 +450,7 @@ void cServer::ExecuteConsoleCommand(const AString & a_Cmd, cCommandOutputCallbac
{
return;
}
// Special handling: "stop" and "restart" are built in
if ((split[0].compare("stop") == 0) || (split[0].compare("restart") == 0))
{

View File

@ -88,14 +88,14 @@ public: // tolua_export
const AString & GetServerID(void) const { return m_ServerID; } // tolua_export
void ClientDestroying(const cClientHandle * a_Client); // Called by cClientHandle::Destroy(); stop m_SocketThreads from calling back into a_Client
/** Called by cClientHandle's destructor; stop m_SocketThreads from calling back into a_Client */
void ClientDestroying(const cClientHandle * a_Client);
void NotifyClientWrite(const cClientHandle * a_Client); // Notifies m_SocketThreads that client has something to be written
/** Notifies m_SocketThreads that client has something to be written */
void NotifyClientWrite(const cClientHandle * a_Client);
void WriteToClient(const cClientHandle * a_Client, const AString & a_Data); // Queues outgoing data for the client through m_SocketThreads
void QueueClientClose(const cClientHandle * a_Client); // Queues the clienthandle to close when all its outgoing data is sent
void RemoveClient(const cClientHandle * a_Client); // Removes the clienthandle from m_SocketThreads
/// Don't tick a_Client anymore, it will be ticked from its cPlayer instead

View File

@ -4,6 +4,7 @@
#include "RedstoneSimulator.h"
#include "../BlockEntities/DropSpenserEntity.h"
#include "../BlockEntities/NoteEntity.h"
#include "../BlockEntities/CommandBlockEntity.h"
#include "../Entities/TNTEntity.h"
#include "../Blocks/BlockTorch.h"
#include "../Blocks/BlockDoor.h"
@ -215,11 +216,12 @@ void cRedstoneSimulator::SimulateChunk(float a_Dt, int a_ChunkX, int a_ChunkZ, c
{
case E_BLOCK_BLOCK_OF_REDSTONE: HandleRedstoneBlock(a_X, dataitr->y, a_Z); break;
case E_BLOCK_LEVER: HandleRedstoneLever(a_X, dataitr->y, a_Z); break;
case E_BLOCK_TNT: HandleTNT(a_X, dataitr->y, a_Z); break;
case E_BLOCK_TNT: HandleTNT(a_X, dataitr->y, a_Z); break;
case E_BLOCK_TRAPDOOR: HandleTrapdoor(a_X, dataitr->y, a_Z); break;
case E_BLOCK_REDSTONE_WIRE: HandleRedstoneWire(a_X, dataitr->y, a_Z); break;
case E_BLOCK_NOTE_BLOCK: HandleNoteBlock(a_X, dataitr->y, a_Z); break;
case E_BLOCK_DAYLIGHT_SENSOR: HandleDaylightSensor(a_X, dataitr->y, a_Z); break;
case E_BLOCK_COMMAND_BLOCK: HandleCommandBlock(a_X, dataitr->y, a_Z); break;
case E_BLOCK_REDSTONE_TORCH_OFF:
case E_BLOCK_REDSTONE_TORCH_ON:
@ -763,6 +765,29 @@ void cRedstoneSimulator::HandleDoor(int a_BlockX, int a_BlockY, int a_BlockZ)
void cRedstoneSimulator::HandleCommandBlock(int a_BlockX, int a_BlockY, int a_BlockZ)
{
class cSetPowerToCommandBlock :
public cCommandBlockCallback
{
bool m_IsPowered;
public:
cSetPowerToCommandBlock(bool a_IsPowered) : m_IsPowered(a_IsPowered) {}
virtual bool Item(cCommandBlockEntity * a_CommandBlock) override
{
a_CommandBlock->SetRedstonePower(m_IsPowered);
return false;
}
} CmdBlockSP (AreCoordsPowered(a_BlockX, a_BlockY, a_BlockZ));
m_World.DoWithCommandBlockAt(a_BlockX, a_BlockY, a_BlockZ, CmdBlockSP);
}
void cRedstoneSimulator::HandleRail(int a_BlockX, int a_BlockY, int a_BlockZ, BLOCKTYPE a_MyType)
{
switch (a_MyType)

View File

@ -110,6 +110,8 @@ private:
void HandleRedstoneLamp(int a_BlockX, int a_BlockY, int a_BlockZ, BLOCKTYPE a_MyState);
/** Handles doords */
void HandleDoor(int a_BlockX, int a_BlockY, int a_BlockZ);
/** Handles command blocks */
void HandleCommandBlock(int a_BlockX, int a_BlockY, int a_BlockZ);
/** Handles activator, detector, and powered rails */
void HandleRail(int a_BlockX, int a_BlockY, int a_BlockZ, BLOCKTYPE a_MyType);
/** Handles trapdoors */
@ -166,6 +168,7 @@ private:
switch (Block)
{
case E_BLOCK_ACTIVATOR_RAIL:
case E_BLOCK_COMMAND_BLOCK:
case E_BLOCK_PISTON:
case E_BLOCK_STICKY_PISTON:
case E_BLOCK_DISPENSER:
@ -220,6 +223,7 @@ private:
case E_BLOCK_ACTIVATOR_RAIL:
case E_BLOCK_ACTIVE_COMPARATOR:
case E_BLOCK_BLOCK_OF_REDSTONE:
case E_BLOCK_COMMAND_BLOCK:
case E_BLOCK_DETECTOR_RAIL:
case E_BLOCK_DISPENSER:
case E_BLOCK_DAYLIGHT_SENSOR:

View File

@ -865,28 +865,27 @@ void cWorld::TickQueuedTasks(void)
} // for itr - m_Tasks[]
}
void cWorld::TickScheduledTasks()
void cWorld::TickScheduledTasks(void)
{
ScheduledTaskList Tasks;
// Make a copy of the tasks to avoid deadlocks on accessing m_Tasks
cScheduledTasks Tasks;
{
cCSLock Lock(m_CSScheduledTasks);
ScheduledTaskList::iterator itr = m_ScheduledTasks.begin();
while (itr != m_ScheduledTasks.end() && (*itr)->Ticks > 0)
while (!m_ScheduledTasks.empty() && (m_ScheduledTasks.front()->m_TargetTick < m_WorldAge))
{
Tasks.push_back(m_ScheduledTasks.front());
m_ScheduledTasks.pop_front();
}
for(;itr != m_ScheduledTasks.end(); itr++)
{
(*itr)->Ticks--;
}
}
// Execute and delete each task:
for (ScheduledTaskList::iterator itr = Tasks.begin(), end = Tasks.end(); itr != end; ++itr)
for (cScheduledTasks::iterator itr = Tasks.begin(), end = Tasks.end(); itr != end; ++itr)
{
(*itr)->Run(*this);
(*itr)->m_Task->Run(*this);
delete *itr;
} // for itr - m_Tasks[]
}
@ -1149,6 +1148,15 @@ bool cWorld::DoWithNoteBlockAt(int a_BlockX, int a_BlockY, int a_BlockZ, cNoteBl
bool cWorld::DoWithCommandBlockAt(int a_BlockX, int a_BlockY, int a_BlockZ, cCommandBlockCallback & a_Callback)
{
return m_ChunkMap->DoWithCommandBlockAt(a_BlockX, a_BlockY, a_BlockZ, a_Callback);
}
bool cWorld::GetSignLines(int a_BlockX, int a_BlockY, int a_BlockZ, AString & a_Line1, AString & a_Line2, AString & a_Line3, AString & a_Line4)
{
return m_ChunkMap->GetSignLines(a_BlockX, a_BlockY, a_BlockZ, a_Line1, a_Line2, a_Line3, a_Line4);
@ -2623,18 +2631,25 @@ void cWorld::QueueTask(cTask * a_Task)
m_Tasks.push_back(a_Task);
}
void cWorld::ScheduleTask(cScheduledTask * a_Task)
void cWorld::ScheduleTask(int a_DelayTicks, cTask * a_Task)
{
Int64 TargetTick = a_DelayTicks + m_WorldAge;
// Insert the task into the list of scheduled tasks, ordered by its target tick
cCSLock Lock(m_CSScheduledTasks);
for(ScheduledTaskList::iterator itr = m_ScheduledTasks.begin(); itr != m_ScheduledTasks.end(); itr++)
for (cScheduledTasks::iterator itr = m_ScheduledTasks.begin(), end = m_ScheduledTasks.end(); itr != end; ++itr)
{
if((*itr)->Ticks >= a_Task->Ticks)
if ((*itr)->m_TargetTick >= TargetTick)
{
m_ScheduledTasks.insert(itr, a_Task);
m_ScheduledTasks.insert(itr, new cScheduledTask(TargetTick, a_Task));
return;
}
}
m_ScheduledTasks.push_back(a_Task);
m_ScheduledTasks.push_back(new cScheduledTask(TargetTick, a_Task));
}
@ -2766,9 +2781,6 @@ int cWorld::SpawnMob(double a_PosX, double a_PosY, double a_PosZ, cMonster::eTyp
{
Monster->SetPosition(a_PosX, a_PosY, a_PosZ);
}
// Because it's logical that ALL mob spawns need spawn effects, not just spawners
BroadcastSoundParticleEffect(2004, (int)a_PosX, (int)a_PosY, (int)a_PosZ, 0);
return SpawnMobFinalize(Monster);
}

View File

@ -46,12 +46,13 @@ class cMobCensus;
typedef std::list< cPlayer * > cPlayerList;
typedef cItemCallback<cPlayer> cPlayerListCallback;
typedef cItemCallback<cEntity> cEntityCallback;
typedef cItemCallback<cChestEntity> cChestCallback;
typedef cItemCallback<cDispenserEntity> cDispenserCallback;
typedef cItemCallback<cFurnaceEntity> cFurnaceCallback;
typedef cItemCallback<cNoteEntity> cNoteBlockCallback;
typedef cItemCallback<cPlayer> cPlayerListCallback;
typedef cItemCallback<cEntity> cEntityCallback;
typedef cItemCallback<cChestEntity> cChestCallback;
typedef cItemCallback<cDispenserEntity> cDispenserCallback;
typedef cItemCallback<cFurnaceEntity> cFurnaceCallback;
typedef cItemCallback<cNoteEntity> cNoteBlockCallback;
typedef cItemCallback<cCommandBlockEntity> cCommandBlockCallback;
@ -65,7 +66,7 @@ public:
// tolua_end
/// A simple RAII locker for the chunkmap - locks the chunkmap in its constructor, unlocks it in the destructor
/** A simple RAII locker for the chunkmap - locks the chunkmap in its constructor, unlocks it in the destructor */
class cLock :
public cCSLock
{
@ -73,8 +74,9 @@ public:
public:
cLock(cWorld & a_World);
} ;
/// A common ancestor for all tasks queued onto the tick thread
/** A common ancestor for all tasks queued onto the tick thread */
class cTask
{
public:
@ -82,18 +84,8 @@ public:
virtual void Run(cWorld & a_World) = 0;
} ;
/// A common ancestor for all scheduled tasks queued onto the tick thread
class cScheduledTask
{
public:
cScheduledTask(const int a_Ticks) : Ticks(a_Ticks) {};
virtual ~cScheduledTask() {};
virtual void Run(cWorld & a_World) = 0;
int Ticks;
};
typedef std::vector<cTask *> cTasks;
typedef std::list<cScheduledTask *> ScheduledTaskList;
class cTaskSaveAllChunks :
public cTask
@ -127,16 +119,16 @@ public:
BroadcastTimeUpdate();
}
/// Returns the current game mode. Partly OBSOLETE, you should use IsGameModeXXX() functions wherever applicable
/** Returns the current game mode. Partly OBSOLETE, you should use IsGameModeXXX() functions wherever applicable */
eGameMode GetGameMode(void) const { return m_GameMode; }
/// Returns true if the world is in Creative mode
/** Returns true if the world is in Creative mode */
bool IsGameModeCreative(void) const { return (m_GameMode == gmCreative); }
/// Returns true if the world is in Survival mode
/** Returns true if the world is in Survival mode */
bool IsGameModeSurvival(void) const { return (m_GameMode == gmSurvival); }
/// Returns true if the world is in Adventure mode
/** Returns true if the world is in Adventure mode */
bool IsGameModeAdventure(void) const { return (m_GameMode == gmAdventure); }
bool IsPVPEnabled(void) const { return m_bEnabledPVP; }
@ -146,12 +138,12 @@ public:
eDimension GetDimension(void) const { return m_Dimension; }
/// Returns the world height at the specified coords; waits for the chunk to get loaded / generated
/** Returns the world height at the specified coords; waits for the chunk to get loaded / generated */
int GetHeight(int a_BlockX, int a_BlockZ);
// tolua_end
/// Retrieves the world height at the specified coords; returns false if chunk not loaded / generated
/** Retrieves the world height at the specified coords; returns false if chunk not loaded / generated */
bool TryGetHeight(int a_BlockX, int a_BlockZ, int & a_Height); // Exported in ManualBindings.cpp
// Broadcast respective packets to all clients of the chunk where the event is taking place
@ -186,7 +178,7 @@ public:
void BroadcastUseBed (const cEntity & a_Entity, int a_BlockX, int a_BlockY, int a_BlockZ );
void BroadcastWeather (eWeather a_Weather, const cClientHandle * a_Exclude = NULL);
/// If there is a block entity at the specified coords, sends it to the client specified
/** If there is a block entity at the specified coords, sends it to the client specified */
void SendBlockEntity(int a_BlockX, int a_BlockY, int a_BlockZ, cClientHandle & a_Client);
void MarkChunkDirty (int a_ChunkX, int a_ChunkZ);
@ -220,7 +212,7 @@ public:
bool GetChunkData (int a_ChunkX, int a_ChunkZ, cChunkDataCallback & a_Callback);
/// Gets the chunk's blocks, only the block types
/** Gets the chunk's blocks, only the block types */
bool GetChunkBlockTypes(int a_ChunkX, int a_ChunkZ, BLOCKTYPE * a_BlockTypes);
bool IsChunkValid (int a_ChunkX, int a_ChunkZ) const;
@ -233,13 +225,13 @@ public:
void AddPlayer( cPlayer* a_Player );
void RemovePlayer( cPlayer* a_Player );
/// Calls the callback for each player in the list; returns true if all players processed, false if the callback aborted by returning true
bool ForEachPlayer(cPlayerListCallback & a_Callback); // >> EXPORTED IN MANUALBINDINGS <<
/// Calls the callback for the player of the given name; returns true if the player was found and the callback called, false if player not found. Callback return ignored
bool DoWithPlayer(const AString & a_PlayerName, cPlayerListCallback & a_Callback); // >> EXPORTED IN MANUALBINDINGS <<
/** Calls the callback for each player in the list; returns true if all players processed, false if the callback aborted by returning true */
bool ForEachPlayer(cPlayerListCallback & a_Callback); // >> EXPORTED IN MANUALBINDINGS <<
/// Finds a player from a partial or complete player name and calls the callback - case-insensitive
/** Calls the callback for the player of the given name; returns true if the player was found and the callback called, false if player not found. Callback return ignored */
bool DoWithPlayer(const AString & a_PlayerName, cPlayerListCallback & a_Callback); // >> EXPORTED IN MANUALBINDINGS <<
/** Finds a player from a partial or complete player name and calls the callback - case-insensitive */
bool FindAndDoWithPlayer(const AString & a_PlayerNameHint, cPlayerListCallback & a_Callback); // >> EXPORTED IN MANUALBINDINGS <<
// TODO: This interface is dangerous - rewrite to DoWithClosestPlayer(pos, sight, action)
@ -247,74 +239,74 @@ public:
void SendPlayerList(cPlayer * a_DestPlayer); // Sends playerlist to the player
/// Adds the entity into its appropriate chunk; takes ownership of the entity ptr
/** Adds the entity into its appropriate chunk; takes ownership of the entity ptr */
void AddEntity(cEntity * a_Entity);
bool HasEntity(int a_UniqueID);
/// Removes the entity, the entity ptr ownership is assumed taken by the caller
/** Removes the entity, the entity ptr ownership is assumed taken by the caller */
void RemoveEntity(cEntity * a_Entity);
/// Calls the callback for each entity in the entire world; returns true if all entities processed, false if the callback aborted by returning true
/** Calls the callback for each entity in the entire world; returns true if all entities processed, false if the callback aborted by returning true */
bool ForEachEntity(cEntityCallback & a_Callback); // Exported in ManualBindings.cpp
/// Calls the callback for each entity in the specified chunk; returns true if all entities processed, false if the callback aborted by returning true
/** Calls the callback for each entity in the specified chunk; returns true if all entities processed, false if the callback aborted by returning true */
bool ForEachEntityInChunk(int a_ChunkX, int a_ChunkZ, cEntityCallback & a_Callback); // Exported in ManualBindings.cpp
/// Calls the callback if the entity with the specified ID is found, with the entity object as the callback param. Returns true if entity found and callback returned false.
/** Calls the callback if the entity with the specified ID is found, with the entity object as the callback param. Returns true if entity found and callback returned false. */
bool DoWithEntityByID(int a_UniqueID, cEntityCallback & a_Callback); // Exported in ManualBindings.cpp
/// Compares clients of two chunks, calls the callback accordingly
/** Compares clients of two chunks, calls the callback accordingly */
void CompareChunkClients(int a_ChunkX1, int a_ChunkZ1, int a_ChunkX2, int a_ChunkZ2, cClientDiffCallback & a_Callback);
/// Adds client to a chunk, if not already present; returns true if added, false if present
/** Adds client to a chunk, if not already present; returns true if added, false if present */
bool AddChunkClient(int a_ChunkX, int a_ChunkZ, cClientHandle * a_Client);
/// Removes client from the chunk specified
/** Removes client from the chunk specified */
void RemoveChunkClient(int a_ChunkX, int a_ChunkZ, cClientHandle * a_Client);
/// Removes the client from all chunks it is present in
/** Removes the client from all chunks it is present in */
void RemoveClientFromChunks(cClientHandle * a_Client);
/// Sends the chunk to the client specified, if the chunk is valid. If not valid, the request is postponed (ChunkSender will send that chunk when it becomes valid+lighted)
/** Sends the chunk to the client specified, if the chunk is valid. If not valid, the request is postponed (ChunkSender will send that chunk when it becomes valid+lighted) */
void SendChunkTo(int a_ChunkX, int a_ChunkZ, cClientHandle * a_Client);
/// Removes client from ChunkSender's queue of chunks to be sent
/** Removes client from ChunkSender's queue of chunks to be sent */
void RemoveClientFromChunkSender(cClientHandle * a_Client);
/// Touches the chunk, causing it to be loaded or generated
/** Touches the chunk, causing it to be loaded or generated */
void TouchChunk(int a_ChunkX, int a_ChunkY, int a_ChunkZ);
/// Loads the chunk, if not already loaded. Doesn't generate. Returns true if chunk valid (even if already loaded before)
/** Loads the chunk, if not already loaded. Doesn't generate. Returns true if chunk valid (even if already loaded before) */
bool LoadChunk(int a_ChunkX, int a_ChunkY, int a_ChunkZ);
/// Loads the chunks specified. Doesn't report failure, other than chunks being !IsValid()
/** Loads the chunks specified. Doesn't report failure, other than chunks being !IsValid() */
void LoadChunks(const cChunkCoordsList & a_Chunks);
/// Marks the chunk as failed-to-load:
/** Marks the chunk as failed-to-load: */
void ChunkLoadFailed(int a_ChunkX, int a_ChunkY, int a_ChunkZ);
/// Sets the sign text, asking plugins for permission first. a_Player is the player who this change belongs to, may be NULL. Returns true if sign text changed. Same as UpdateSign()
/** Sets the sign text, asking plugins for permission first. a_Player is the player who this change belongs to, may be NULL. Returns true if sign text changed. Same as UpdateSign() */
bool SetSignLines(int a_BlockX, int a_BlockY, int a_BlockZ, const AString & a_Line1, const AString & a_Line2, const AString & a_Line3, const AString & a_Line4, cPlayer * a_Player = NULL); // Exported in ManualBindings.cpp
/// Sets the sign text, asking plugins for permission first. a_Player is the player who this change belongs to, may be NULL. Returns true if sign text changed. Same as SetSignLines()
/** Sets the sign text, asking plugins for permission first. a_Player is the player who this change belongs to, may be NULL. Returns true if sign text changed. Same as SetSignLines() */
bool UpdateSign(int a_X, int a_Y, int a_Z, const AString & a_Line1, const AString & a_Line2, const AString & a_Line3, const AString & a_Line4, cPlayer * a_Player = NULL); // Exported in ManualBindings.cpp
/// Marks (a_Stay == true) or unmarks (a_Stay == false) chunks as non-unloadable. To be used only by cChunkStay!
/** Marks (a_Stay == true) or unmarks (a_Stay == false) chunks as non-unloadable. To be used only by cChunkStay! */
void ChunksStay(const cChunkCoordsList & a_Chunks, bool a_Stay = true);
/// Regenerate the given chunk:
/** Regenerate the given chunk: */
void RegenerateChunk(int a_ChunkX, int a_ChunkZ); // tolua_export
/// Generates the given chunk, if not already generated
/** Generates the given chunk, if not already generated */
void GenerateChunk(int a_ChunkX, int a_ChunkZ); // tolua_export
/// Queues a chunk for lighting; a_Callback is called after the chunk is lighted
/** Queues a chunk for lighting; a_Callback is called after the chunk is lighted */
void QueueLightChunk(int a_ChunkX, int a_ChunkZ, cChunkCoordCallback * a_Callback = NULL);
bool IsChunkLighted(int a_ChunkX, int a_ChunkZ);
/// Calls the callback for each chunk in the coords specified (all cords are inclusive). Returns true if all chunks have been processed successfully
/** Calls the callback for each chunk in the coords specified (all cords are inclusive). Returns true if all chunks have been processed successfully */
bool ForEachChunkInRect(int a_MinChunkX, int a_MaxChunkX, int a_MinChunkZ, int a_MaxChunkZ, cChunkDataCallback & a_Callback);
// tolua_begin
@ -365,30 +357,30 @@ public:
// tolua_begin
/// Spawns item pickups for each item in the list. May compress pickups if too many entities:
/** Spawns item pickups for each item in the list. May compress pickups if too many entities: */
void SpawnItemPickups(const cItems & a_Pickups, double a_BlockX, double a_BlockY, double a_BlockZ, double a_FlyAwaySpeed = 1.0, bool IsPlayerCreated = false);
/// Spawns item pickups for each item in the list. May compress pickups if too many entities. All pickups get the speed specified:
/** Spawns item pickups for each item in the list. May compress pickups if too many entities. All pickups get the speed specified: */
void SpawnItemPickups(const cItems & a_Pickups, double a_BlockX, double a_BlockY, double a_BlockZ, double a_SpeedX, double a_SpeedY, double a_SpeedZ, bool IsPlayerCreated = false);
/// Spawns an falling block entity at the given position. It returns the UniqueID of the spawned falling block.
/** Spawns an falling block entity at the given position. It returns the UniqueID of the spawned falling block. */
int SpawnFallingBlock(int a_X, int a_Y, int a_Z, BLOCKTYPE BlockType, NIBBLETYPE BlockMeta);
/// Spawns an minecart at the given coordinates.
/** Spawns an minecart at the given coordinates. */
int SpawnMinecart(double a_X, double a_Y, double a_Z, int a_MinecartType, const cItem & a_Content = cItem(), int a_BlockHeight = 1);
/// Spawns an experience orb at the given location with the given reward. It returns the UniqueID of the spawned experience orb.
/** Spawns an experience orb at the given location with the given reward. It returns the UniqueID of the spawned experience orb. */
int SpawnExperienceOrb(double a_X, double a_Y, double a_Z, int a_Reward);
/// Spawns a new primed TNT entity at the specified block coords and specified fuse duration. Initial velocity is given based on the relative coefficient provided
/** Spawns a new primed TNT entity at the specified block coords and specified fuse duration. Initial velocity is given based on the relative coefficient provided */
void SpawnPrimedTNT(double a_X, double a_Y, double a_Z, double a_FuseTimeInSec, double a_InitialVelocityCoeff = 1);
// tolua_end
/// Replaces world blocks with a_Blocks, if they are of type a_FilterBlockType
/** Replaces world blocks with a_Blocks, if they are of type a_FilterBlockType */
void ReplaceBlocks(const sSetBlockVector & a_Blocks, BLOCKTYPE a_FilterBlockType);
/// Retrieves block types of the specified blocks. If a chunk is not loaded, doesn't modify the block. Returns true if all blocks were read.
/** Retrieves block types of the specified blocks. If a chunk is not loaded, doesn't modify the block. Returns true if all blocks were read. */
bool GetBlocks(sSetBlockVector & a_Blocks, bool a_ContinueOnFailure);
// tolua_begin
@ -399,10 +391,10 @@ public:
double GetSpawnY(void) const { return m_SpawnY; }
double GetSpawnZ(void) const { return m_SpawnZ; }
/// Wakes up the simulators for the specified block
/** Wakes up the simulators for the specified block */
void WakeUpSimulators(int a_BlockX, int a_BlockY, int a_BlockZ);
/// Wakes up the simulators for the specified area of blocks
/** Wakes up the simulators for the specified area of blocks */
void WakeUpSimulatorsInArea(int a_MinBlockX, int a_MaxBlockX, int a_MinBlockY, int a_MaxBlockY, int a_MinBlockZ, int a_MaxBlockZ);
// tolua_end
@ -413,22 +405,22 @@ public:
inline cFluidSimulator * GetLavaSimulator (void) { return m_LavaSimulator; }
inline cRedstoneSimulator * GetRedstoneSimulator(void) { return m_RedstoneSimulator; }
/// Calls the callback for each block entity in the specified chunk; returns true if all block entities processed, false if the callback aborted by returning true
/** Calls the callback for each block entity in the specified chunk; returns true if all block entities processed, false if the callback aborted by returning true */
bool ForEachBlockEntityInChunk(int a_ChunkX, int a_ChunkZ, cBlockEntityCallback & a_Callback); // Exported in ManualBindings.cpp
/// Calls the callback for each chest in the specified chunk; returns true if all chests processed, false if the callback aborted by returning true
/** Calls the callback for each chest in the specified chunk; returns true if all chests processed, false if the callback aborted by returning true */
bool ForEachChestInChunk(int a_ChunkX, int a_ChunkZ, cChestCallback & a_Callback); // Exported in ManualBindings.cpp
/// Calls the callback for each dispenser in the specified chunk; returns true if all dispensers processed, false if the callback aborted by returning true
/** Calls the callback for each dispenser in the specified chunk; returns true if all dispensers processed, false if the callback aborted by returning true */
bool ForEachDispenserInChunk(int a_ChunkX, int a_ChunkZ, cDispenserCallback & a_Callback);
/// Calls the callback for each dropper in the specified chunk; returns true if all droppers processed, false if the callback aborted by returning true
/** Calls the callback for each dropper in the specified chunk; returns true if all droppers processed, false if the callback aborted by returning true */
bool ForEachDropperInChunk(int a_ChunkX, int a_ChunkZ, cDropperCallback & a_Callback);
/// Calls the callback for each dropspenser in the specified chunk; returns true if all dropspensers processed, false if the callback aborted by returning true
/** Calls the callback for each dropspenser in the specified chunk; returns true if all dropspensers processed, false if the callback aborted by returning true */
bool ForEachDropSpenserInChunk(int a_ChunkX, int a_ChunkZ, cDropSpenserCallback & a_Callback);
/// Calls the callback for each furnace in the specified chunk; returns true if all furnaces processed, false if the callback aborted by returning true
/** Calls the callback for each furnace in the specified chunk; returns true if all furnaces processed, false if the callback aborted by returning true */
bool ForEachFurnaceInChunk(int a_ChunkX, int a_ChunkZ, cFurnaceCallback & a_Callback); // Exported in ManualBindings.cpp
/** Does an explosion with the specified strength at the specified coordinate
@ -446,68 +438,71 @@ public:
*/
void DoExplosionAt(double a_ExplosionSize, double a_BlockX, double a_BlockY, double a_BlockZ, bool a_CanCauseFire, eExplosionSource a_Source, void * a_SourceData); // tolua_export
/// Calls the callback for the block entity at the specified coords; returns false if there's no block entity at those coords, true if found
/** Calls the callback for the block entity at the specified coords; returns false if there's no block entity at those coords, true if found */
bool DoWithBlockEntityAt(int a_BlockX, int a_BlockY, int a_BlockZ, cBlockEntityCallback & a_Callback); // Exported in ManualBindings.cpp
/// Calls the callback for the chest at the specified coords; returns false if there's no chest at those coords, true if found
/** Calls the callback for the chest at the specified coords; returns false if there's no chest at those coords, true if found */
bool DoWithChestAt(int a_BlockX, int a_BlockY, int a_BlockZ, cChestCallback & a_Callback); // Exported in ManualBindings.cpp
/// Calls the callback for the dispenser at the specified coords; returns false if there's no dispenser at those coords or callback returns true, returns true if found
/** Calls the callback for the dispenser at the specified coords; returns false if there's no dispenser at those coords or callback returns true, returns true if found */
bool DoWithDispenserAt(int a_BlockX, int a_BlockY, int a_BlockZ, cDispenserCallback & a_Callback); // Exported in ManualBindings.cpp
/// Calls the callback for the dropper at the specified coords; returns false if there's no dropper at those coords or callback returns true, returns true if found
/** Calls the callback for the dropper at the specified coords; returns false if there's no dropper at those coords or callback returns true, returns true if found */
bool DoWithDropperAt(int a_BlockX, int a_BlockY, int a_BlockZ, cDropperCallback & a_Callback); // Exported in ManualBindings.cpp
/// Calls the callback for the dropspenser at the specified coords; returns false if there's no dropspenser at those coords or callback returns true, returns true if found
/** Calls the callback for the dropspenser at the specified coords; returns false if there's no dropspenser at those coords or callback returns true, returns true if found */
bool DoWithDropSpenserAt(int a_BlockX, int a_BlockY, int a_BlockZ, cDropSpenserCallback & a_Callback); // Exported in ManualBindings.cpp
/// Calls the callback for the furnace at the specified coords; returns false if there's no furnace at those coords or callback returns true, returns true if found
/** Calls the callback for the furnace at the specified coords; returns false if there's no furnace at those coords or callback returns true, returns true if found */
bool DoWithFurnaceAt(int a_BlockX, int a_BlockY, int a_BlockZ, cFurnaceCallback & a_Callback); // Exported in ManualBindings.cpp
/// Calls the callback for the noteblock at the specified coords; returns false if there's no noteblock at those coords or callback returns true, returns true if found
/** Calls the callback for the noteblock at the specified coords; returns false if there's no noteblock at those coords or callback returns true, returns true if found */
bool DoWithNoteBlockAt(int a_BlockX, int a_BlockY, int a_BlockZ, cNoteBlockCallback & a_Callback); // Exported in ManualBindings.cpp
/** Calls the callback for the command block at the specified coords; returns false if there's no command block at those coords or callback returns true, returns true if found */
bool DoWithCommandBlockAt(int a_BlockX, int a_BlockY, int a_BlockZ, cCommandBlockCallback & a_Callback); // Exported in ManualBindings.cpp
/// Retrieves the test on the sign at the specified coords; returns false if there's no sign at those coords, true if found
/** Retrieves the test on the sign at the specified coords; returns false if there's no sign at those coords, true if found */
bool GetSignLines (int a_BlockX, int a_BlockY, int a_BlockZ, AString & a_Line1, AString & a_Line2, AString & a_Line3, AString & a_Line4); // Exported in ManualBindings.cpp
/// a_Player is using block entity at [x, y, z], handle that:
/** a_Player is using block entity at [x, y, z], handle that: */
void UseBlockEntity(cPlayer * a_Player, int a_BlockX, int a_BlockY, int a_BlockZ) {m_ChunkMap->UseBlockEntity(a_Player, a_BlockX, a_BlockY, a_BlockZ); } // tolua_export
/// Calls the callback for the chunk specified, with ChunkMapCS locked; returns false if the chunk doesn't exist, otherwise returns the same value as the callback
/** Calls the callback for the chunk specified, with ChunkMapCS locked; returns false if the chunk doesn't exist, otherwise returns the same value as the callback */
bool DoWithChunk(int a_ChunkX, int a_ChunkZ, cChunkCallback & a_Callback);
void GrowTreeImage(const sSetBlockVector & a_Blocks);
// tolua_begin
/// Grows a tree at the specified coords, either from a sapling there, or based on the biome
/** Grows a tree at the specified coords, either from a sapling there, or based on the biome */
void GrowTree (int a_BlockX, int a_BlockY, int a_BlockZ);
/// Grows a tree at the specified coords, based on the sapling meta provided
/** Grows a tree at the specified coords, based on the sapling meta provided */
void GrowTreeFromSapling(int a_BlockX, int a_BlockY, int a_BlockZ, NIBBLETYPE a_SaplingMeta);
/// Grows a tree at the specified coords, based on the biome in the place
/** Grows a tree at the specified coords, based on the biome in the place */
void GrowTreeByBiome (int a_BlockX, int a_BlockY, int a_BlockZ);
/// Grows the plant at the specified block to its ripe stage (bonemeal used); returns false if the block is not growable. If a_IsBonemeal is true, block is not grown if not allowed in world.ini
/** Grows the plant at the specified block to its ripe stage (bonemeal used); returns false if the block is not growable. If a_IsBonemeal is true, block is not grown if not allowed in world.ini */
bool GrowRipePlant(int a_BlockX, int a_BlockY, int a_BlockZ, bool a_IsByBonemeal = false);
/// Grows a cactus present at the block specified by the amount of blocks specified, up to the max height specified in the config
/** Grows a cactus present at the block specified by the amount of blocks specified, up to the max height specified in the config */
void GrowCactus(int a_BlockX, int a_BlockY, int a_BlockZ, int a_NumBlocksToGrow);
/// Grows a melon or a pumpkin next to the block specified (assumed to be the stem)
/** Grows a melon or a pumpkin next to the block specified (assumed to be the stem) */
void GrowMelonPumpkin(int a_BlockX, int a_BlockY, int a_BlockZ, BLOCKTYPE a_BlockType);
/// Grows a sugarcane present at the block specified by the amount of blocks specified, up to the max height specified in the config
/** Grows a sugarcane present at the block specified by the amount of blocks specified, up to the max height specified in the config */
void GrowSugarcane(int a_BlockX, int a_BlockY, int a_BlockZ, int a_NumBlocksToGrow);
/// Returns the biome at the specified coords. Reads the biome from the chunk, if loaded, otherwise uses the world generator to provide the biome value
/** Returns the biome at the specified coords. Reads the biome from the chunk, if loaded, otherwise uses the world generator to provide the biome value */
int GetBiomeAt(int a_BlockX, int a_BlockZ);
/// Returns the name of the world
/** Returns the name of the world */
const AString & GetName(void) const { return m_WorldName; }
/// Returns the name of the world.ini file used by this world
/** Returns the name of the world.ini file used by this world */
const AString & GetIniFileName(void) const {return m_IniFileName; }
// tolua_end
@ -539,22 +534,23 @@ public:
if(a_Z < 0 && a_Z % cChunkDef::Width != 0) a_ChunkZ--;
}
/// Saves all chunks immediately. Dangerous interface, may deadlock, use QueueSaveAllChunks() instead
/** Saves all chunks immediately. Dangerous interface, may deadlock, use QueueSaveAllChunks() instead */
void SaveAllChunks(void);
/// Queues a task to save all chunks onto the tick thread. The prefferred way of saving chunks from external sources
/** Queues a task to save all chunks onto the tick thread. The prefferred way of saving chunks from external sources */
void QueueSaveAllChunks(void); // tolua_export
/// Queues a task onto the tick thread. The task object will be deleted once the task is finished
/** Queues a task onto the tick thread. The task object will be deleted once the task is finished */
void QueueTask(cTask * a_Task); // Exported in ManualBindings.cpp
// Queues a task onto the tick thread. The task object will be deleted once the task is finished
void ScheduleTask(cScheduledTask * a_Task);
/** Queues a task onto the tick thread, with the specified delay.
The task object will be deleted once the task is finished */
void ScheduleTask(int a_DelayTicks, cTask * a_Task);
/// Returns the number of chunks loaded
/** Returns the number of chunks loaded */
int GetNumChunks() const; // tolua_export
/// Returns the number of chunks loaded and dirty, and in the lighting queue
/** Returns the number of chunks loaded and dirty, and in the lighting queue */
void GetChunkStats(int & a_NumValid, int & a_NumDirty, int & a_NumInLightingQueue);
// Various queues length queries (cannot be const, they lock their CS):
@ -565,13 +561,13 @@ public:
void InitializeSpawn(void);
/// Starts threads that belong to this world
/** Starts threads that belong to this world */
void Start(void);
/// Stops threads that belong to this world (part of deinit)
/** Stops threads that belong to this world (part of deinit) */
void Stop(void);
/// Processes the blocks queued for ticking with a delay (m_BlockTickQueue[])
/** Processes the blocks queued for ticking with a delay (m_BlockTickQueue[]) */
void TickQueuedBlocks(void);
struct BlockTickQueueItem
@ -582,27 +578,27 @@ public:
int TicksToWait;
};
/// Queues the block to be ticked after the specified number of game ticks
/** Queues the block to be ticked after the specified number of game ticks */
void QueueBlockForTick(int a_BlockX, int a_BlockY, int a_BlockZ, int a_TicksToWait); // tolua_export
// tolua_begin
/// Casts a thunderbolt at the specified coords
/** Casts a thunderbolt at the specified coords */
void CastThunderbolt(int a_BlockX, int a_BlockY, int a_BlockZ);
/// Sets the specified weather; resets weather interval; asks and notifies plugins of the change
/** Sets the specified weather; resets weather interval; asks and notifies plugins of the change */
void SetWeather (eWeather a_NewWeather);
/// Forces a weather change in the next game tick
/** Forces a weather change in the next game tick */
void ChangeWeather (void);
/// Returns the current weather. Instead of comparing values directly to the weather constants, use IsWeatherXXX() functions, if possible
/** Returns the current weather. Instead of comparing values directly to the weather constants, use IsWeatherXXX() functions, if possible */
eWeather GetWeather (void) const { return m_Weather; };
bool IsWeatherSunny(void) const { return (m_Weather == wSunny); }
bool IsWeatherRain (void) const { return (m_Weather == wRain); }
bool IsWeatherStorm(void) const { return (m_Weather == wStorm); }
/// Returns true if the current weather has any precipitation - rain or storm
/** Returns true if the current weather has any precipitation - rain or storm */
bool IsWeatherWet (void) const { return (m_Weather != wSunny); }
// tolua_end
@ -611,7 +607,7 @@ public:
cWorldStorage & GetStorage (void) { return m_Storage; }
cChunkMap * GetChunkMap (void) { return m_ChunkMap; }
/// Sets the blockticking to start at the specified block. Only one blocktick per chunk may be set, second call overwrites the first call
/** Sets the blockticking to start at the specified block. Only one blocktick per chunk may be set, second call overwrites the first call */
void SetNextBlockTick(int a_BlockX, int a_BlockY, int a_BlockZ); // tolua_export
int GetMaxSugarcaneHeight(void) const { return m_MaxSugarcaneHeight; } // tolua_export
@ -619,20 +615,20 @@ public:
bool IsBlockDirectlyWatered(int a_BlockX, int a_BlockY, int a_BlockZ); // tolua_export
/// Spawns a mob of the specified type. Returns the mob's EntityID if recognized and spawned, <0 otherwise
/** Spawns a mob of the specified type. Returns the mob's EntityID if recognized and spawned, <0 otherwise */
int SpawnMob(double a_PosX, double a_PosY, double a_PosZ, cMonster::eType a_MonsterType); // tolua_export
int SpawnMobFinalize(cMonster* a_Monster);
/// Creates a projectile of the specified type. Returns the projectile's EntityID if successful, <0 otherwise
/** Creates a projectile of the specified type. Returns the projectile's EntityID if successful, <0 otherwise */
int CreateProjectile(double a_PosX, double a_PosY, double a_PosZ, cProjectileEntity::eKind a_Kind, cEntity * a_Creator, const Vector3d * a_Speed = NULL); // tolua_export
/// Returns a random number from the m_TickRand in range [0 .. a_Range]. To be used only in the tick thread!
/** Returns a random number from the m_TickRand in range [0 .. a_Range]. To be used only in the tick thread! */
int GetTickRandomNumber(unsigned a_Range) { return (int)(m_TickRand.randInt(a_Range)); }
/// Appends all usernames starting with a_Text (case-insensitive) into Results
/** Appends all usernames starting with a_Text (case-insensitive) into Results */
void TabCompleteUserName(const AString & a_Text, AStringVector & a_Results);
/// Get the current darkness level based on the time
/** Get the current darkness level based on the time */
NIBBLETYPE GetSkyDarkness() { return m_SkyDarkness; }
private:
@ -675,18 +671,41 @@ private:
} ;
/** A container for tasks that have been scheduled for a specific game tick */
class cScheduledTask
{
public:
Int64 m_TargetTick;
cTask * m_Task;
/** Creates a new scheduled task; takes ownership of the task object passed to it. */
cScheduledTask(Int64 a_TargetTick, cTask * a_Task) :
m_TargetTick(a_TargetTick),
m_Task(a_Task)
{
}
virtual ~cScheduledTask()
{
delete m_Task;
}
};
typedef std::list<cScheduledTask *> cScheduledTasks;
AString m_WorldName;
AString m_IniFileName;
/// Name of the storage schema used to load and save chunks
/** Name of the storage schema used to load and save chunks */
AString m_StorageSchema;
int m_StorageCompressionFactor;
/// The dimension of the world, used by the client to provide correct lighting scheme
/** The dimension of the world, used by the client to provide correct lighting scheme */
eDimension m_Dimension;
/// This random generator is to be used only in the Tick() method, and thus only in the World-Tick-thread (MTRand is not exactly thread-safe)
/** This random generator is to be used only in the Tick() method, and thus only in the World-Tick-thread (MTRand is not exactly thread-safe) */
MTRand m_TickRand;
bool m_IsSpawnExplicitlySet;
@ -761,29 +780,30 @@ private:
cLightingThread m_Lighting;
cTickThread m_TickThread;
/// Guards the m_Tasks
/** Guards the m_Tasks */
cCriticalSection m_CSTasks;
/// Guards the m_ScheduledTasks
cCriticalSection m_CSScheduledTasks;
/// Tasks that have been queued onto the tick thread; guarded by m_CSTasks
/** Tasks that have been queued onto the tick thread; guarded by m_CSTasks */
cTasks m_Tasks;
/// Tasks that have been queued to be executed on the tick thread at some number of ticks in
/// the future; guarded by m_CSScheduledTasks
ScheduledTaskList m_ScheduledTasks;
/** Guards the m_ScheduledTasks */
cCriticalSection m_CSScheduledTasks;
/// Guards m_Clients
/** Tasks that have been queued to be executed on the tick thread at target tick in the future.
Ordered by increasing m_TargetTick.
Guarded by m_CSScheduledTasks */
cScheduledTasks m_ScheduledTasks;
/** Guards m_Clients */
cCriticalSection m_CSClients;
/// List of clients in this world, these will be ticked by this world
/** List of clients in this world, these will be ticked by this world */
cClientHandleList m_Clients;
/// Clients that are scheduled for removal (ticked in another world), waiting for TickClients() to remove them
/** Clients that are scheduled for removal (ticked in another world), waiting for TickClients() to remove them */
cClientHandleList m_ClientsToRemove;
/// Clients that are scheduled for adding, waiting for TickClients to add them
/** Clients that are scheduled for adding, waiting for TickClients to add them */
cClientHandleList m_ClientsToAdd;
@ -792,27 +812,27 @@ private:
void Tick(float a_Dt, int a_LastTickDurationMSec);
/// Handles the weather in each tick
/** Handles the weather in each tick */
void TickWeather(float a_Dt);
/// Handles the mob spawning/moving/destroying each tick
/** Handles the mob spawning/moving/destroying each tick */
void TickMobs(float a_Dt);
/// Executes all tasks queued onto the tick thread
/** Executes all tasks queued onto the tick thread */
void TickQueuedTasks(void);
/// Executes all tasks queued onto the tick thread
/** Executes all tasks queued onto the tick thread */
void TickScheduledTasks(void);
/// Ticks all clients that are in this world
/** Ticks all clients that are in this world */
void TickClients(float a_Dt);
void UpdateSkyDarkness(void);
/// <summary>Generates a random spawnpoint on solid land by walking chunks and finding their biomes</summary>
/** <summary>Generates a random spawnpoint on solid land by walking chunks and finding their biomes</summary> */
void GenerateRandomSpawn(void);
/// Creates a new fluid simulator, loads its settings from the inifile (a_FluidName section)
/** Creates a new fluid simulator, loads its settings from the inifile (a_FluidName section) */
cFluidSimulator * InitializeFluidSimulator(cIniFile & a_IniFile, const char * a_FluidName, BLOCKTYPE a_SimulateBlock, BLOCKTYPE a_StationaryBlock);
}; // tolua_export

View File

@ -11,6 +11,7 @@
#include "FastNBT.h"
#include "../BlockEntities/ChestEntity.h"
#include "../BlockEntities/CommandBlockEntity.h"
#include "../BlockEntities/DispenserEntity.h"
#include "../BlockEntities/DropperEntity.h"
#include "../BlockEntities/FurnaceEntity.h"
@ -220,8 +221,23 @@ void cNBTChunkSerializer::AddJukeboxEntity(cJukeboxEntity * a_Jukebox)
void cNBTChunkSerializer::AddNoteEntity(cNoteEntity * a_Note)
{
m_Writer.BeginCompound("");
AddBasicTileEntity(a_Note, "Music");
m_Writer.AddByte("note", a_Note->GetPitch());
AddBasicTileEntity(a_Note, "Music");
m_Writer.AddByte("note", a_Note->GetPitch());
m_Writer.EndCompound();
}
void cNBTChunkSerializer::AddCommandBlockEntity(cCommandBlockEntity * a_CmdBlock)
{
m_Writer.BeginCompound("");
AddBasicTileEntity(a_CmdBlock, "Control");
m_Writer.AddString("Command", a_CmdBlock->GetCommand());
m_Writer.AddInt ("SuccessCount", a_CmdBlock->GetResult());
m_Writer.AddString("LastOutput", a_CmdBlock->GetLastOutput());
m_Writer.AddByte ("TrackOutput", 1); // TODO 2014-01-18 xdot: Figure out what TrackOutput is and save it.
m_Writer.EndCompound();
}
@ -640,15 +656,16 @@ void cNBTChunkSerializer::BlockEntity(cBlockEntity * a_Entity)
// Add tile-entity into NBT:
switch (a_Entity->GetBlockType())
{
case E_BLOCK_CHEST: AddChestEntity ((cChestEntity *) a_Entity); break;
case E_BLOCK_DISPENSER: AddDispenserEntity ((cDispenserEntity *) a_Entity); break;
case E_BLOCK_DROPPER: AddDropperEntity ((cDropperEntity *) a_Entity); break;
case E_BLOCK_FURNACE: AddFurnaceEntity ((cFurnaceEntity *) a_Entity); break;
case E_BLOCK_HOPPER: AddHopperEntity ((cHopperEntity *) a_Entity); break;
case E_BLOCK_CHEST: AddChestEntity ((cChestEntity *) a_Entity); break;
case E_BLOCK_DISPENSER: AddDispenserEntity ((cDispenserEntity *) a_Entity); break;
case E_BLOCK_DROPPER: AddDropperEntity ((cDropperEntity *) a_Entity); break;
case E_BLOCK_FURNACE: AddFurnaceEntity ((cFurnaceEntity *) a_Entity); break;
case E_BLOCK_HOPPER: AddHopperEntity ((cHopperEntity *) a_Entity); break;
case E_BLOCK_SIGN_POST:
case E_BLOCK_WALLSIGN: AddSignEntity ((cSignEntity *) a_Entity); break;
case E_BLOCK_NOTE_BLOCK: AddNoteEntity ((cNoteEntity *) a_Entity); break;
case E_BLOCK_JUKEBOX: AddJukeboxEntity ((cJukeboxEntity *) a_Entity); break;
case E_BLOCK_WALLSIGN: AddSignEntity ((cSignEntity *) a_Entity); break;
case E_BLOCK_NOTE_BLOCK: AddNoteEntity ((cNoteEntity *) a_Entity); break;
case E_BLOCK_JUKEBOX: AddJukeboxEntity ((cJukeboxEntity *) a_Entity); break;
case E_BLOCK_COMMAND_BLOCK: AddCommandBlockEntity((cCommandBlockEntity *) a_Entity); break;
default:
{
ASSERT(!"Unhandled block entity saved into Anvil");

View File

@ -21,6 +21,7 @@ class cEntity;
class cBlockEntity;
class cBoat;
class cChestEntity;
class cCommandBlockEntity;
class cDispenserEntity;
class cDropperEntity;
class cFurnaceEntity;
@ -92,6 +93,7 @@ protected:
void AddJukeboxEntity (cJukeboxEntity * a_Jukebox);
void AddNoteEntity (cNoteEntity * a_Note);
void AddSignEntity (cSignEntity * a_Sign);
void AddCommandBlockEntity(cCommandBlockEntity * a_CmdBlock);
// Entities:
void AddBasicEntity (cEntity * a_Entity, const AString & a_ClassName);

View File

@ -16,6 +16,7 @@
#include "../StringCompression.h"
#include "../BlockEntities/ChestEntity.h"
#include "../BlockEntities/CommandBlockEntity.h"
#include "../BlockEntities/DispenserEntity.h"
#include "../BlockEntities/DropperEntity.h"
#include "../BlockEntities/FurnaceEntity.h"
@ -568,6 +569,10 @@ void cWSSAnvil::LoadBlockEntitiesFromNBT(cBlockEntityList & a_BlockEntities, con
{
LoadChestFromNBT(a_BlockEntities, a_NBT, Child);
}
else if (strncmp(a_NBT.GetData(sID), "Control", a_NBT.GetDataLength(sID)) == 0)
{
LoadCommandBlockFromNBT(a_BlockEntities, a_NBT, Child);
}
else if (strncmp(a_NBT.GetData(sID), "Dropper", a_NBT.GetDataLength(sID)) == 0)
{
LoadDropperFromNBT(a_BlockEntities, a_NBT, Child);
@ -916,6 +921,43 @@ void cWSSAnvil::LoadSignFromNBT(cBlockEntityList & a_BlockEntities, const cParse
void cWSSAnvil::LoadCommandBlockFromNBT(cBlockEntityList & a_BlockEntities, const cParsedNBT & a_NBT, int a_TagIdx)
{
ASSERT(a_NBT.GetType(a_TagIdx) == TAG_Compound);
int x, y, z;
if (!GetBlockEntityNBTPos(a_NBT, a_TagIdx, x, y, z))
{
return;
}
std::auto_ptr<cCommandBlockEntity> CmdBlock(new cCommandBlockEntity(x, y, z, m_World));
int currentLine = a_NBT.FindChildByName(a_TagIdx, "Command");
if (currentLine >= 0)
{
CmdBlock->SetCommand(a_NBT.GetString(currentLine));
}
currentLine = a_NBT.FindChildByName(a_TagIdx, "SuccessCount");
if (currentLine >= 0)
{
CmdBlock->SetResult(a_NBT.GetInt(currentLine));
}
currentLine = a_NBT.FindChildByName(a_TagIdx, "LastOutput");
if (currentLine >= 0)
{
CmdBlock->SetLastOutput(a_NBT.GetString(currentLine));
}
// TODO 2014-01-18 xdot: Figure out what TrackOutput is and parse it.
a_BlockEntities.push_back(CmdBlock.release());
}
void cWSSAnvil::LoadEntityFromNBT(cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_EntityTagIdx, const char * a_IDTag, int a_IDTagLength)
{
if (strncmp(a_IDTag, "Boat", a_IDTagLength) == 0)

View File

@ -131,14 +131,15 @@ protected:
*/
void LoadItemGridFromNBT(cItemGrid & a_ItemGrid, const cParsedNBT & a_NBT, int a_ItemsTagIdx, int s_SlotOffset = 0);
void LoadChestFromNBT (cBlockEntityList & a_BlockEntities, const cParsedNBT & a_NBT, int a_TagIdx);
void LoadDispenserFromNBT (cBlockEntityList & a_BlockEntities, const cParsedNBT & a_NBT, int a_TagIdx);
void LoadDropperFromNBT (cBlockEntityList & a_BlockEntities, const cParsedNBT & a_NBT, int a_TagIdx);
void LoadFurnaceFromNBT (cBlockEntityList & a_BlockEntities, const cParsedNBT & a_NBT, int a_TagIdx, BLOCKTYPE * a_BlockTypes, NIBBLETYPE * a_BlockMetas);
void LoadHopperFromNBT (cBlockEntityList & a_BlockEntities, const cParsedNBT & a_NBT, int a_TagIdx);
void LoadJukeboxFromNBT (cBlockEntityList & a_BlockEntities, const cParsedNBT & a_NBT, int a_TagIdx);
void LoadNoteFromNBT (cBlockEntityList & a_BlockEntities, const cParsedNBT & a_NBT, int a_TagIdx);
void LoadSignFromNBT (cBlockEntityList & a_BlockEntities, const cParsedNBT & a_NBT, int a_TagIdx);
void LoadChestFromNBT (cBlockEntityList & a_BlockEntities, const cParsedNBT & a_NBT, int a_TagIdx);
void LoadDispenserFromNBT (cBlockEntityList & a_BlockEntities, const cParsedNBT & a_NBT, int a_TagIdx);
void LoadDropperFromNBT (cBlockEntityList & a_BlockEntities, const cParsedNBT & a_NBT, int a_TagIdx);
void LoadFurnaceFromNBT (cBlockEntityList & a_BlockEntities, const cParsedNBT & a_NBT, int a_TagIdx, BLOCKTYPE * a_BlockTypes, NIBBLETYPE * a_BlockMetas);
void LoadHopperFromNBT (cBlockEntityList & a_BlockEntities, const cParsedNBT & a_NBT, int a_TagIdx);
void LoadJukeboxFromNBT (cBlockEntityList & a_BlockEntities, const cParsedNBT & a_NBT, int a_TagIdx);
void LoadNoteFromNBT (cBlockEntityList & a_BlockEntities, const cParsedNBT & a_NBT, int a_TagIdx);
void LoadSignFromNBT (cBlockEntityList & a_BlockEntities, const cParsedNBT & a_NBT, int a_TagIdx);
void LoadCommandBlockFromNBT(cBlockEntityList & a_BlockEntities, const cParsedNBT & a_NBT, int a_TagIdx);
void LoadEntityFromNBT(cEntityList & a_Entities, const cParsedNBT & a_NBT, int a_EntityTagIdx, const char * a_IDTag, int a_IDTagLength);