1
0
This commit is contained in:
andrew 2014-01-21 20:40:41 +02:00
commit 9bd8f74b59
74 changed files with 838 additions and 19106 deletions

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." }, 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" }, 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." }, 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." }, 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." }, 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." }, 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 = 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("/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("/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("/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); 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) function HandleRequest_Debuggers(a_Request)
local FolderContents = cFile:GetFolderContents("./"); 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>"; 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(ReadBEShort, short, BlockY);
HANDLE_SERVER_PACKET_READ(ReadBEInt, int, BlockZ); HANDLE_SERVER_PACKET_READ(ReadBEInt, int, BlockZ);
HANDLE_SERVER_PACKET_READ(ReadByte, Byte, Action); HANDLE_SERVER_PACKET_READ(ReadByte, Byte, Action);
HANDLE_SERVER_PACKET_READ(ReadBEShort, short, DataLength); HANDLE_SERVER_PACKET_READ(ReadBEShort, short, DataLength);
AString Data; AString Data;
if ((DataLength > 0) && !m_ServerBuffer.ReadString(Data, DataLength)) 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(" Block = {%d, %d, %d}", BlockX, BlockY, BlockZ);
Log(" Action = %d", Action); Log(" Action = %d", Action);
DataLog(Data.data(), Data.size(), " Data (%u bytes)", Data.size()); 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(); COPY_TO_CLIENT();
return true; 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: 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 - blockentities.gv
API class inheritance - entities.gv - a GraphViz file to visualise inheritance in the API classes in the Wiki for the cEntity class' descendants - a GraphViz file to visualise inheritance in the API classes in the Wiki for the cBlockEntity 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 - 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

@ -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) bool cLuaState::CheckParamEnd(int a_Param)
{ {
tolua_Error tolua_err; 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 /// 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); 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) /// Returns true if the specified parameter on the stack is nil (indicating an end-of-parameters)
bool CheckParamEnd(int a_Param); bool CheckParamEnd(int a_Param);

View File

@ -986,11 +986,10 @@ static int tolua_cWorld_QueueTask(lua_State * tolua_S)
class cLuaScheduledWorldTask : class cLuaScheduledWorldTask :
public cWorld::cScheduledTask public cWorld::cTask
{ {
public: public:
cLuaScheduledWorldTask(cPluginLua & a_Plugin, int a_FnRef, int a_Ticks) : cLuaScheduledWorldTask(cPluginLua & a_Plugin, int a_FnRef) :
cScheduledTask(a_Ticks),
m_Plugin(a_Plugin), m_Plugin(a_Plugin),
m_FnRef(a_FnRef) m_FnRef(a_FnRef)
{ {
@ -1025,15 +1024,20 @@ static int tolua_cWorld_ScheduleTask(lua_State * tolua_S)
} }
// Retrieve the args: // Retrieve the args:
cWorld * self = (cWorld *)tolua_tousertype(tolua_S, 1, 0); cLuaState L(tolua_S);
if (self == NULL) 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"); 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: // Create a reference to the function:
int FnRef = luaL_ref(tolua_S, LUA_REGISTRYINDEX); int FnRef = luaL_ref(tolua_S, LUA_REGISTRYINDEX);
@ -1042,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"); 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; return 0;
} }

View File

@ -7,6 +7,7 @@
#include "json/json.h" #include "json/json.h"
#include "CommandBlockEntity.h" #include "CommandBlockEntity.h"
#include "../Entities/Player.h" #include "../Entities/Player.h"
#include "../WorldStorage/FastNBT.h"
#include "../CommandOutput.h" #include "../CommandOutput.h"
#include "../Root.h" #include "../Root.h"
@ -40,6 +41,15 @@ void cCommandBlockEntity::UsedBy(cPlayer * a_Player)
void cCommandBlockEntity::SetCommand(const AString & a_Cmd) void cCommandBlockEntity::SetCommand(const AString & a_Cmd)
{ {
m_Command = 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());
} }
@ -48,6 +58,7 @@ void cCommandBlockEntity::SetCommand(const AString & a_Cmd)
void cCommandBlockEntity::SetLastOutput(const AString & a_LastOut) void cCommandBlockEntity::SetLastOutput(const AString & a_LastOut)
{ {
m_World->BroadcastBlockEntity(GetPosX(), GetPosY(), GetPosZ());
m_LastOutput = a_LastOut; m_LastOutput = a_LastOut;
} }
@ -131,8 +142,7 @@ bool cCommandBlockEntity::Tick(float a_Dt, cChunk & a_Chunk)
void cCommandBlockEntity::SendTo(cClientHandle & a_Client) void cCommandBlockEntity::SendTo(cClientHandle & a_Client)
{ {
// Nothing needs to be sent a_Client.SendUpdateBlockEntity(*this);
UNUSED(a_Client);
} }

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 "BlockChest.h"
#include "BlockCloth.h" #include "BlockCloth.h"
#include "BlockCobWeb.h" #include "BlockCobWeb.h"
#include "BlockCommandBlock.h"
#include "BlockComparator.h" #include "BlockComparator.h"
#include "BlockCrops.h" #include "BlockCrops.h"
#include "BlockDeadBush.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_CAULDRON: return new cBlockCauldronHandler (a_BlockType);
case E_BLOCK_CHEST: return new cBlockChestHandler (a_BlockType); case E_BLOCK_CHEST: return new cBlockChestHandler (a_BlockType);
case E_BLOCK_COAL_ORE: return new cBlockOreHandler (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_ACTIVE_COMPARATOR: return new cBlockComparatorHandler (a_BlockType);
case E_BLOCK_COBBLESTONE: return new cBlockStoneHandler (a_BlockType); case E_BLOCK_COBBLESTONE: return new cBlockStoneHandler (a_BlockType);
case E_BLOCK_COBBLESTONE_STAIRS: return new cBlockStairsHandler (a_BlockType); case E_BLOCK_COBBLESTONE_STAIRS: return new cBlockStairsHandler (a_BlockType);

View File

@ -120,9 +120,6 @@ cClientHandle::~cClientHandle()
LOGD("Deleting client \"%s\" at %p", GetUsername().c_str(), this); 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); cCSLock Lock(m_CSChunkLists);
m_LoadedChunks.clear(); m_LoadedChunks.clear();
@ -160,8 +157,7 @@ cClientHandle::~cClientHandle()
cRoot::Get()->GetServer()->WriteToClient(this, Data); cRoot::Get()->GetServer()->WriteToClient(this, Data);
} }
// Queue the socket to close as soon as it sends all outgoing data: // Close the socket as soon as it sends all outgoing data:
cRoot::Get()->GetServer()->QueueClientClose(this);
cRoot::Get()->GetServer()->RemoveClient(this); cRoot::Get()->GetServer()->RemoveClient(this);
delete m_Protocol; delete m_Protocol;
@ -552,12 +548,18 @@ void cClientHandle::HandlePlayerPos(double a_PosX, double a_PosY, double a_PosZ,
void cClientHandle::HandlePluginMessage(const AString & a_Channel, const AString & a_Message) void cClientHandle::HandlePluginMessage(const AString & a_Channel, const AString & a_Message)
{ {
if (a_Channel == "MC|AdvCdm") // Command block if (a_Channel == "MC|AdvCdm") // Command block, set text, Client -> Server
{ {
const char* Data = a_Message.c_str(); const char* Data = a_Message.c_str();
HandleCommandBlockMessage(Data, a_Message.size()); 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; return;
} }
@ -572,6 +574,7 @@ void cClientHandle::HandleCommandBlockMessage(const char* a_Data, unsigned int a
{ {
if (a_Length < 14) 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."); LOGD("Malformed MC|AdvCdm packet.");
return; return;
} }
@ -601,6 +604,7 @@ void cClientHandle::HandleCommandBlockMessage(const char* a_Data, unsigned int a
default: 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."); LOGD("Unhandled MC|AdvCdm packet mode.");
return; return;
} }
@ -623,6 +627,8 @@ void cClientHandle::HandleCommandBlockMessage(const char* a_Data, unsigned int a
cWorld * World = m_Player->GetWorld(); cWorld * World = m_Player->GetWorld();
World->DoWithCommandBlockAt(BlockX, BlockY, BlockZ, CmdBlockCB); World->DoWithCommandBlockAt(BlockX, BlockY, BlockZ, CmdBlockCB);
SendChat(Printf("%s[INFO]%s Successfully set command block command", cChatColor::Green.c_str(), cChatColor::White.c_str()));
} }
@ -2236,6 +2242,14 @@ void cClientHandle::SendUnloadChunk(int a_ChunkX, int a_ChunkZ)
void cClientHandle::SendUpdateBlockEntity(cBlockEntity & a_BlockEntity)
{
m_Protocol->SendUpdateBlockEntity(a_BlockEntity);
}
void cClientHandle::SendUpdateSign( void cClientHandle::SendUpdateSign(
int a_BlockX, int a_BlockY, int a_BlockZ, int a_BlockX, int a_BlockY, int a_BlockZ,

View File

@ -140,6 +140,7 @@ public:
void SendThunderbolt (int a_BlockX, int a_BlockY, int a_BlockZ); void SendThunderbolt (int a_BlockX, int a_BlockY, int a_BlockZ);
void SendTimeUpdate (Int64 a_WorldAge, Int64 a_TimeOfDay); void SendTimeUpdate (Int64 a_WorldAge, Int64 a_TimeOfDay);
void SendUnloadChunk (int a_ChunkX, int a_ChunkZ); 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 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 SendUseBed (const cEntity & a_Entity, int a_BlockX, int a_BlockY, int a_BlockZ );
void SendWeather (eWeather a_Weather); void SendWeather (eWeather a_Weather);

View File

@ -213,87 +213,8 @@ bool cEnchantments::operator !=(const cEnchantments & a_Other) const
void cEnchantments::WriteToNBTCompound(cFastNBTWriter & a_Writer, const AString & a_ListTagName) const
{
// Write the enchantments into the specified NBT writer
// begin with the LIST tag of the specified name ("ench" or "StoredEnchantments")
a_Writer.BeginList(a_ListTagName, TAG_Compound);
for (cMap::const_iterator itr = m_Enchantments.begin(), end = m_Enchantments.end(); itr != end; ++itr)
{
a_Writer.BeginCompound("");
a_Writer.AddShort("id", itr->first);
a_Writer.AddShort("lvl", itr->second);
a_Writer.EndCompound();
} // for itr - m_Enchantments[]
a_Writer.EndList();
}
void cEnchantments::ParseFromNBT(const cParsedNBT & a_NBT, int a_EnchListTagIdx)
{
// Read the enchantments from the specified NBT list tag (ench or StoredEnchantments)
// Verify that the tag is a list:
if (a_NBT.GetType(a_EnchListTagIdx) != TAG_List)
{
LOGWARNING("%s: Invalid EnchListTag type: exp %d, got %d. Enchantments not parsed",
__FUNCTION__, TAG_List, a_NBT.GetType(a_EnchListTagIdx)
);
ASSERT(!"Bad EnchListTag type");
return;
}
// Verify that the list is of Compounds:
if (a_NBT.GetChildrenType(a_EnchListTagIdx) != TAG_Compound)
{
LOGWARNING("%s: Invalid NBT list children type: exp %d, got %d. Enchantments not parsed",
__FUNCTION__, TAG_Compound, a_NBT.GetChildrenType(a_EnchListTagIdx)
);
ASSERT(!"Bad EnchListTag children type");
return;
}
Clear();
// Iterate over all the compound children, parse an enchantment from each:
for (int tag = a_NBT.GetFirstChild(a_EnchListTagIdx); tag >= 0; tag = a_NBT.GetNextSibling(tag))
{
// tag is the compound inside the "ench" list tag
ASSERT(a_NBT.GetType(tag) == TAG_Compound);
// Search for the id and lvl tags' values:
int id = -1, lvl = -1;
for (int ch = a_NBT.GetFirstChild(tag); ch >= 0; ch = a_NBT.GetNextSibling(ch))
{
if (a_NBT.GetType(ch) != TAG_Short)
{
continue;
}
if (a_NBT.GetName(ch) == "id")
{
id = a_NBT.GetShort(ch);
}
else if (a_NBT.GetName(ch) == "lvl")
{
lvl = a_NBT.GetShort(ch);
}
} // for ch - children of the compound tag
if ((id == -1) || (lvl <= 0))
{
// Failed to parse either the id or the lvl, skip this compound
continue;
}
// Store the enchantment:
m_Enchantments[id] = lvl;
} // for tag - children of the ench list tag
}

View File

@ -8,6 +8,7 @@
#pragma once #pragma once
#include "WorldStorage/EnchantmentSerializer.h"
@ -20,7 +21,6 @@ class cParsedNBT;
// tolua_begin
/** Class that stores item enchantments or stored-enchantments /** Class that stores item enchantments or stored-enchantments
The enchantments may be serialized to a stringspec and read back from such stringspec. The enchantments may be serialized to a stringspec and read back from such stringspec.
@ -29,10 +29,12 @@ mapping each enchantment's id onto its level. ID may be either a number or the e
Level value of 0 means no such enchantment, and it will not be stored in the m_Enchantments. Level value of 0 means no such enchantment, and it will not be stored in the m_Enchantments.
Serialization will never put zero-level enchantments into the stringspec and will always use numeric IDs. Serialization will never put zero-level enchantments into the stringspec and will always use numeric IDs.
*/ */
// tolua_begin
class cEnchantments class cEnchantments
{ {
public: public:
/// Individual enchantment IDs, corresponding to their NBT IDs ( http://www.minecraftwiki.net/wiki/Data_Values#Enchantment_IDs ) /// Individual enchantment IDs, corresponding to their NBT IDs ( http://www.minecraftwiki.net/wiki/Data_Values#Enchantment_IDs )
enum enum
{ {
enchProtection = 0, enchProtection = 0,
@ -97,10 +99,10 @@ public:
bool operator !=(const cEnchantments & a_Other) const; bool operator !=(const cEnchantments & a_Other) const;
/// Writes the enchantments into the specified NBT writer; begins with the LIST tag of the specified name ("ench" or "StoredEnchantments") /// Writes the enchantments into the specified NBT writer; begins with the LIST tag of the specified name ("ench" or "StoredEnchantments")
void WriteToNBTCompound(cFastNBTWriter & a_Writer, const AString & a_ListTagName) const; friend void EnchantmentSerializer::WriteToNBTCompound(cEnchantments const& a_Enchantments, cFastNBTWriter & a_Writer, const AString & a_ListTagName);
/// Reads the enchantments from the specified NBT list tag (ench or StoredEnchantments) /// Reads the enchantments from the specified NBT list tag (ench or StoredEnchantments)
void ParseFromNBT(const cParsedNBT & a_NBT, int a_EnchListTagIdx); friend void EnchantmentSerializer::ParseFromNBT(cEnchantments& a_Enchantments, const cParsedNBT & a_NBT, int a_EnchListTagIdx);
protected: protected:
/// Maps enchantment ID -> enchantment level /// Maps enchantment ID -> enchantment level

View File

@ -26,7 +26,7 @@ cHTTPConnection::cHTTPConnection(cHTTPServer & a_HTTPServer) :
cHTTPConnection::~cHTTPConnection() cHTTPConnection::~cHTTPConnection()
{ {
// LOGD("HTTP: Del connection at %p", this); delete m_CurrentRequest;
} }

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 ) AString cSocket::GetErrorString( int a_ErrNo )
{ {
char buffer[ 1024 ]; char buffer[ 1024 ];

View File

@ -39,7 +39,11 @@ public:
bool IsValid(void) const { return IsValidSocket(m_Socket); } bool IsValid(void) const { return IsValidSocket(m_Socket); }
void CloseSocket(void); 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; operator xSocket(void) const;
xSocket GetSocket(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) void cSocketThreads::RemoveClient(const cCallback * a_Client)
{ {
// Remove the associated socket and the client from processing // 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: // cSocketThreads::cSocketThread:
@ -233,13 +169,13 @@ cSocketThreads::cSocketThread::~cSocketThread()
void cSocketThreads::cSocketThread::AddClient(const cSocket & a_Socket, cCallback * a_Client) 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 ASSERT(m_NumSlots < MAX_SLOTS); // Use HasEmptySlot() to check before adding
m_Slots[m_NumSlots].m_Client = a_Client; m_Slots[m_NumSlots].m_Client = a_Client;
m_Slots[m_NumSlots].m_Socket = a_Socket; m_Slots[m_NumSlots].m_Socket = a_Socket;
m_Slots[m_NumSlots].m_Outgoing.clear(); m_Slots[m_NumSlots].m_Outgoing.clear();
m_Slots[m_NumSlots].m_ShouldClose = false; m_Slots[m_NumSlots].m_State = sSlot::ssNormal;
m_Slots[m_NumSlots].m_ShouldCallClient = true;
m_NumSlots++; m_NumSlots++;
// Notify the thread of the change: // 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) 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) if (m_NumSlots == 0)
{ {
@ -267,36 +203,29 @@ bool cSocketThreads::cSocketThread::RemoveClient(const cCallback * a_Client)
continue; continue;
} }
// Found, remove it: // Found the slot:
m_Slots[i] = m_Slots[--m_NumSlots]; if (m_Slots[i].m_State == sSlot::ssRemoteClosed)
// 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)
{ {
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: // Notify the thread of the change:
ASSERT(m_ControlSocket2.IsValid()); 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 bool cSocketThreads::cSocketThread::HasClient(const cCallback * a_Client) const
{ {
ASSERT(m_Parent->m_CS.IsLockedByCurrentThread());
for (int i = m_NumSlots - 1; i >= 0; --i) for (int i = m_NumSlots - 1; i >= 0; --i)
{ {
if (m_Slots[i].m_Client == a_Client) 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) bool cSocketThreads::cSocketThread::NotifyWrite(const cCallback * a_Client)
{ {
ASSERT(m_Parent->m_CS.IsLockedByCurrentThread());
if (HasClient(a_Client)) if (HasClient(a_Client))
{ {
// Notify the thread that there's another packet in the queue: // 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) 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) for (int i = m_NumSlots - 1; i >= 0; --i)
{ {
if (m_Slots[i].m_Client == a_Client) 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) bool cSocketThreads::cSocketThread::Start(void)
{ {
// Create the control socket listener // Create the control socket listener
@ -497,10 +389,13 @@ void cSocketThreads::cSocketThread::Execute(void)
fd_set fdRead; fd_set fdRead;
cSocket::xSocket Highest = m_ControlSocket1.GetSocket(); cSocket::xSocket Highest = m_ControlSocket1.GetSocket();
PrepareSet(&fdRead, Highest); PrepareSet(&fdRead, Highest, false);
// Wait for the sockets: // 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()); LOG("select(R) call failed in cSocketThread: \"%s\"", cSocket::GetLastErrorString().c_str());
continue; continue;
@ -511,8 +406,7 @@ void cSocketThreads::cSocketThread::Execute(void)
// Test sockets for writing: // Test sockets for writing:
fd_set fdWrite; fd_set fdWrite;
Highest = m_ControlSocket1.GetSocket(); Highest = m_ControlSocket1.GetSocket();
PrepareSet(&fdWrite, Highest); PrepareSet(&fdWrite, Highest, true);
timeval Timeout;
Timeout.tv_sec = 0; Timeout.tv_sec = 0;
Timeout.tv_usec = 0; Timeout.tv_usec = 0;
if (select(Highest + 1, NULL, &fdWrite, NULL, &Timeout) == -1) if (select(Highest + 1, NULL, &fdWrite, NULL, &Timeout) == -1)
@ -522,6 +416,8 @@ void cSocketThreads::cSocketThread::Execute(void)
} }
WriteToSockets(&fdWrite); WriteToSockets(&fdWrite);
CleanUpShutSockets();
} // while (!mShouldTerminate) } // 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_ZERO(a_Set);
FD_SET(m_ControlSocket1.GetSocket(), a_Set); FD_SET(m_ControlSocket1.GetSocket(), a_Set);
@ -541,6 +437,11 @@ void cSocketThreads::cSocketThread::PrepareSet(fd_set * a_Set, cSocket::xSocket
{ {
continue; 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(); cSocket::xSocket s = m_Slots[i].m_Socket.GetSocket();
FD_SET(s, a_Set); FD_SET(s, a_Set);
if (s > a_Highest) if (s > a_Highest)
@ -576,29 +477,42 @@ void cSocketThreads::cSocketThread::ReadFromSockets(fd_set * a_Read)
} }
char Buffer[1024]; char Buffer[1024];
int Received = m_Slots[i].m_Socket.Receive(Buffer, ARRAYCOUNT(Buffer), 0); 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 // The socket has been closed by the remote party
m_Slots[i].m_Socket.CloseSocket(); switch (m_Slots[i].m_State)
if (m_Slots[i].m_ShouldCallClient)
{ {
m_Slots[i].m_Client->SocketClosed(); case sSlot::ssNormal:
} {
} // Notify the callback that the remote has closed the socket; keep the slot
else if (Received > 0) m_Slots[i].m_Client->SocketClosed();
{ m_Slots[i].m_State = sSlot::ssRemoteClosed;
if (m_Slots[i].m_ShouldCallClient) break;
{ }
m_Slots[i].m_Client->DataReceived(Buffer, Received); 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 else
{ {
// The socket has encountered an error, close it and let it be removed after we process all reading if (m_Slots[i].m_Client != NULL)
m_Slots[i].m_Socket.CloseSocket();
if (m_Slots[i].m_ShouldCallClient)
{ {
m_Slots[i].m_Client->SocketClosed(); m_Slots[i].m_Client->DataReceived(Buffer, Received);
} }
} }
} // for i - m_Slots[] } // for i - m_Slots[]
@ -622,22 +536,17 @@ void cSocketThreads::cSocketThread::WriteToSockets(fd_set * a_Write)
if (m_Slots[i].m_Outgoing.empty()) if (m_Slots[i].m_Outgoing.empty())
{ {
// Request another chunk of outgoing data: // 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); m_Slots[i].m_Client->GetOutgoingData(m_Slots[i].m_Outgoing);
} }
if (m_Slots[i].m_Outgoing.empty()) if (m_Slots[i].m_Outgoing.empty())
{ {
// Nothing ready // No outgoing data is ready
if (m_Slots[i].m_ShouldClose) if (m_Slots[i].m_State == sSlot::ssWritingRestOut)
{ {
// Socket was queued for closing and there's no more data to send, close it now: m_Slots[i].m_State = sSlot::ssShuttingDown;
m_Slots[i].m_Socket.ShutdownReadWrite();
// 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()
} }
continue; continue;
} }
@ -649,7 +558,7 @@ void cSocketThreads::cSocketThread::WriteToSockets(fd_set * a_Write)
int Err = cSocket::GetLastError(); 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()); 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(); 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->SocketClosed();
} }
@ -657,6 +566,12 @@ void cSocketThreads::cSocketThread::WriteToSockets(fd_set * a_Write)
} }
m_Slots[i].m_Outgoing.erase(0, Sent); 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 // _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) // 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: Additional details:
When a client is terminating a connection: When a client wants to terminate the connection, they call the RemoveClient() function. This calls the
- they call the StopReading() method to disable callbacks for the incoming data callback one last time to read all the available outgoing data, putting it in the slot's m_OutgoingData
- they call the Write() method to queue any outstanding outgoing data buffer. Then it marks the slot as having no callback. The socket is kept alive until its outgoing data
- they call the QueueClose() method to queue the socket to close after outgoing data has been sent. queue is empty, then shutdown is called on it and finally the socket is closed after a timeout.
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. If at any time within this the remote end closes the socket, then the socket is closed directly.
This means that the socket can be written to several times before finally closing it via QueueClose() 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 #define MAX_SLOTS 63
@ -27,8 +28,6 @@ This means that the socket can be written to several times before finally closin
#pragma once #pragma once
#ifndef CSOCKETTHREADS_H_INCLUDED
#define CSOCKETTHREADS_H_INCLUDED
#include "Socket.h" #include "Socket.h"
#include "IsThread.h" #include "IsThread.h"
@ -64,13 +63,13 @@ public:
// Force a virtual destructor in all subclasses: // Force a virtual destructor in all subclasses:
virtual ~cCallback() {} 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; 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; 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; virtual void SocketClosed(void) = 0;
} ; } ;
@ -78,24 +77,21 @@ public:
cSocketThreads(void); cSocketThreads(void);
~cSocketThreads(); ~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); 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); 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); 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); 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: private:
class cSocketThread : class cSocketThread :
@ -114,13 +110,10 @@ private:
void AddClient (const cSocket & a_Socket, cCallback * a_Client); // Takes ownership of the socket 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 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 HasClient (const cCallback * a_Client) const;
bool HasSocket (const cSocket * a_Socket) const; bool HasSocket (const cSocket * a_Socket) const;
bool NotifyWrite (const cCallback * a_Client); // Returns true if client handled by this thread 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 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 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_ControlSocket1;
cSocket m_ControlSocket2; cSocket m_ControlSocket2;
// Socket-client-packetqueues triplets. // Socket-client-dataqueues-state quadruplets.
// Manipulation with these assumes that the parent's m_CS is locked // Manipulation with these assumes that the parent's m_CS is locked
struct sSlot 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; 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 /** If sending writes only partial data, the rest is stored here for another send.
bool m_ShouldCallClient; // If true, the client callbacks are called. Set to false in StopReading() 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]; sSlot m_Slots[MAX_SLOTS];
int m_NumSlots; // Number of slots actually used int m_NumSlots; // Number of slots actually used
virtual void Execute(void) override; 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 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 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; typedef std::list<cSocketThread *> cSocketThreadList;
@ -164,9 +178,3 @@ private:
#endif // CSOCKETTHREADS_H_INCLUDED

View File

@ -107,6 +107,7 @@ public:
virtual void SendThunderbolt (int a_BlockX, int a_BlockY, int a_BlockZ) = 0; 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 SendTimeUpdate (Int64 a_WorldAge, Int64 a_TimeOfDay) = 0;
virtual void SendUnloadChunk (int a_ChunkX, int a_ChunkZ) = 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 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 SendUseBed (const cEntity & a_Entity, int a_BlockX, int a_BlockY, int a_BlockZ ) = 0;
virtual void SendWeather (eWeather a_Weather) = 0; virtual void SendWeather (eWeather a_Weather) = 0;

View File

@ -82,6 +82,7 @@ public:
virtual void SendThunderbolt (int a_BlockX, int a_BlockY, int a_BlockZ) override; 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 SendTimeUpdate (Int64 a_WorldAge, Int64 a_TimeOfDay) override;
virtual void SendUnloadChunk (int a_ChunkX, int a_ChunkZ) 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 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 SendUseBed (const cEntity & a_Entity, int a_BlockX, int a_BlockY, int a_BlockZ ) override;
virtual void SendWeather (eWeather a_Weather) override; virtual void SendWeather (eWeather a_Weather) override;

View File

@ -16,6 +16,7 @@
#include "../UI/Window.h" #include "../UI/Window.h"
#include "../Entities/Pickup.h" #include "../Entities/Pickup.h"
#include "../WorldStorage/FastNBT.h" #include "../WorldStorage/FastNBT.h"
#include "../WorldStorage/EnchantmentSerializer.h"
#include "../StringCompression.h" #include "../StringCompression.h"
#ifdef _MSC_VER #ifdef _MSC_VER
@ -763,7 +764,7 @@ void cProtocol132::WriteItem(const cItem & a_Item)
// Send the enchantments: // Send the enchantments:
cFastNBTWriter Writer; cFastNBTWriter Writer;
const char * TagName = (a_Item.m_ItemType == E_ITEM_BOOK) ? "StoredEnchantments" : "ench"; const char * TagName = (a_Item.m_ItemType == E_ITEM_BOOK) ? "StoredEnchantments" : "ench";
a_Item.m_Enchantments.WriteToNBTCompound(Writer, TagName); EnchantmentSerializer::WriteToNBTCompound(a_Item.m_Enchantments, Writer, TagName);
Writer.Finish(); Writer.Finish();
AString Compressed; AString Compressed;
CompressStringGZIP(Writer.GetResult().data(), Writer.GetResult().size(), Compressed); CompressStringGZIP(Writer.GetResult().data(), Writer.GetResult().size(), Compressed);
@ -849,7 +850,7 @@ int cProtocol132::ParseItemMetadata(cItem & a_Item, const AString & a_Metadata)
) )
) )
{ {
a_Item.m_Enchantments.ParseFromNBT(NBT, tag); EnchantmentSerializer::ParseFromNBT(a_Item.m_Enchantments, NBT, tag);
} }
} }

View File

@ -1,4 +1,3 @@
// Protocol17x.cpp // Protocol17x.cpp
/* /*
@ -16,6 +15,7 @@ Implements the 1.7.x protocol classes:
#include "../Server.h" #include "../Server.h"
#include "../World.h" #include "../World.h"
#include "../WorldStorage/FastNBT.h" #include "../WorldStorage/FastNBT.h"
#include "../WorldStorage/EnchantmentSerializer.h"
#include "../StringCompression.h" #include "../StringCompression.h"
#include "../Entities/ExpOrb.h" #include "../Entities/ExpOrb.h"
#include "../Entities/Minecart.h" #include "../Entities/Minecart.h"
@ -24,6 +24,7 @@ Implements the 1.7.x protocol classes:
#include "../Entities/Player.h" #include "../Entities/Player.h"
#include "../Mobs/IncludeAllMonsters.h" #include "../Mobs/IncludeAllMonsters.h"
#include "../UI/Window.h" #include "../UI/Window.h"
#include "../BlockEntities/CommandBlockEntity.h"
@ -122,7 +123,7 @@ void cProtocol172::SendBlockAction(int a_BlockX, int a_BlockY, int a_BlockZ, cha
void cProtocol172::SendBlockBreakAnim(int a_EntityID, int a_BlockX, int a_BlockY, int a_BlockZ, char a_Stage) void cProtocol172::SendBlockBreakAnim(int a_EntityID, int a_BlockX, int a_BlockY, int a_BlockZ, char a_Stage)
{ {
cPacketizer Pkt(*this, 0x25); // Block Break Animation packet cPacketizer Pkt(*this, 0x25); // Block Break Animation packet
Pkt.WriteInt(a_EntityID); Pkt.WriteVarInt(a_EntityID);
Pkt.WriteInt(a_BlockX); Pkt.WriteInt(a_BlockX);
Pkt.WriteInt(a_BlockY); Pkt.WriteInt(a_BlockY);
Pkt.WriteInt(a_BlockZ); Pkt.WriteInt(a_BlockZ);
@ -932,6 +933,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) 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)
{ {
@ -1736,7 +1759,7 @@ void cProtocol172::ParseItemMetadata(cItem & a_Item, const AString & a_Metadata)
) )
) )
{ {
a_Item.m_Enchantments.ParseFromNBT(NBT, tag); EnchantmentSerializer::ParseFromNBT(a_Item.m_Enchantments, NBT, tag);
} }
else if ((NBT.GetType(tag) == TAG_Compound) && (NBT.GetName(tag) == "display")) // Custom name and lore tag else if ((NBT.GetType(tag) == TAG_Compound) && (NBT.GetName(tag) == "display")) // Custom name and lore tag
{ {
@ -1821,7 +1844,7 @@ void cProtocol172::cPacketizer::WriteItem(const cItem & a_Item)
if (!a_Item.m_Enchantments.IsEmpty()) if (!a_Item.m_Enchantments.IsEmpty())
{ {
const char * TagName = (a_Item.m_ItemType == E_ITEM_BOOK) ? "StoredEnchantments" : "ench"; const char * TagName = (a_Item.m_ItemType == E_ITEM_BOOK) ? "StoredEnchantments" : "ench";
a_Item.m_Enchantments.WriteToNBTCompound(Writer, TagName); EnchantmentSerializer::WriteToNBTCompound(a_Item.m_Enchantments,Writer, TagName);
} }
if (!a_Item.IsBothNameAndLoreEmpty()) if (!a_Item.IsBothNameAndLoreEmpty())
{ {
@ -1859,6 +1882,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) void cProtocol172::cPacketizer::WriteByteAngle(double a_Angle)
{ {

View File

@ -105,6 +105,7 @@ public:
virtual void SendThunderbolt (int a_BlockX, int a_BlockY, int a_BlockZ) override; 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 SendTimeUpdate (Int64 a_WorldAge, Int64 a_TimeOfDay) override;
virtual void SendUnloadChunk (int a_ChunkX, int a_ChunkZ) 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 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 SendUseBed (const cEntity & a_Entity, int a_BlockX, int a_BlockY, int a_BlockZ ) override;
virtual void SendWeather (eWeather a_Weather) override; virtual void SendWeather (eWeather a_Weather) override;
@ -192,6 +193,7 @@ protected:
void WriteEntityMetadata(const cEntity & a_Entity); // Writes the metadata for the specified entity, not including the terminating 0x7f 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 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 WriteEntityProperties(const cEntity & a_Entity); // Writes the entity properties for the specified entity, including the Count field
void WriteBlockEntity(const cBlockEntity & a_BlockEntity);
protected: protected:
cProtocol172 & m_Protocol; cProtocol172 & m_Protocol;

View File

@ -666,6 +666,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) 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); ASSERT(m_Protocol != NULL);

View File

@ -117,6 +117,7 @@ public:
virtual void SendThunderbolt (int a_BlockX, int a_BlockY, int a_BlockZ) override; 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 SendTimeUpdate (Int64 a_WorldAge, Int64 a_TimeOfDay) override;
virtual void SendUnloadChunk (int a_ChunkX, int a_ChunkZ) 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 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 SendUseBed (const cEntity & a_Entity, int a_BlockX, int a_BlockY, int a_BlockZ ) override;
virtual void SendWeather (eWeather a_Weather) override; virtual void SendWeather (eWeather a_Weather) override;

View File

@ -118,7 +118,7 @@ cServer::cServer(void) :
void cServer::ClientDestroying(const cClientHandle * a_Client) 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) void cServer::RemoveClient(const cClientHandle * a_Client)
{ {
m_SocketThreads.RemoveClient(a_Client); m_SocketThreads.RemoveClient(a_Client);

View File

@ -88,14 +88,14 @@ public: // tolua_export
const AString & GetServerID(void) const { return m_ServerID; } // 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 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 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 /// Don't tick a_Client anymore, it will be ticked from its cPlayer instead

View File

@ -866,28 +866,27 @@ void cWorld::TickQueuedTasks(void)
} // for itr - m_Tasks[] } // 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 // Make a copy of the tasks to avoid deadlocks on accessing m_Tasks
cScheduledTasks Tasks;
{ {
cCSLock Lock(m_CSScheduledTasks); cCSLock Lock(m_CSScheduledTasks);
ScheduledTaskList::iterator itr = m_ScheduledTasks.begin(); while (!m_ScheduledTasks.empty() && (m_ScheduledTasks.front()->m_TargetTick < m_WorldAge))
while (itr != m_ScheduledTasks.end() && (*itr)->Ticks > 0)
{ {
Tasks.push_back(m_ScheduledTasks.front()); Tasks.push_back(m_ScheduledTasks.front());
m_ScheduledTasks.pop_front(); m_ScheduledTasks.pop_front();
} }
for(;itr != m_ScheduledTasks.end(); itr++)
{
(*itr)->Ticks--;
}
} }
// Execute and delete each task: // 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; delete *itr;
} // for itr - m_Tasks[] } // for itr - m_Tasks[]
} }
@ -2687,18 +2686,25 @@ void cWorld::QueueTask(cTask * a_Task)
m_Tasks.push_back(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); 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; return;
} }
} }
m_ScheduledTasks.push_back(a_Task); m_ScheduledTasks.push_back(new cScheduledTask(TargetTick, a_Task));
} }

View File

@ -67,7 +67,7 @@ public:
// tolua_end // 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 : class cLock :
public cCSLock public cCSLock
{ {
@ -75,8 +75,9 @@ public:
public: public:
cLock(cWorld & a_World); 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 class cTask
{ {
public: public:
@ -84,18 +85,8 @@ public:
virtual void Run(cWorld & a_World) = 0; 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::vector<cTask *> cTasks;
typedef std::list<cScheduledTask *> ScheduledTaskList;
class cTaskSaveAllChunks : class cTaskSaveAllChunks :
public cTask public cTask
@ -129,16 +120,16 @@ public:
BroadcastTimeUpdate(); 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; } 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); } 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); } 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 IsGameModeAdventure(void) const { return (m_GameMode == gmAdventure); }
bool IsPVPEnabled(void) const { return m_bEnabledPVP; } bool IsPVPEnabled(void) const { return m_bEnabledPVP; }
@ -148,12 +139,12 @@ public:
eDimension GetDimension(void) const { return m_Dimension; } 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); int GetHeight(int a_BlockX, int a_BlockZ);
// tolua_end // 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 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 // Broadcast respective packets to all clients of the chunk where the event is taking place
@ -191,7 +182,7 @@ public:
void BroadcastUseBed (const cEntity & a_Entity, int a_BlockX, int a_BlockY, int a_BlockZ ); 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); 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 SendBlockEntity(int a_BlockX, int a_BlockY, int a_BlockZ, cClientHandle & a_Client);
void MarkChunkDirty (int a_ChunkX, int a_ChunkZ); void MarkChunkDirty (int a_ChunkX, int a_ChunkZ);
@ -225,7 +216,7 @@ public:
bool GetChunkData (int a_ChunkX, int a_ChunkZ, cChunkDataCallback & a_Callback); 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 GetChunkBlockTypes(int a_ChunkX, int a_ChunkZ, BLOCKTYPE * a_BlockTypes);
bool IsChunkValid (int a_ChunkX, int a_ChunkZ) const; bool IsChunkValid (int a_ChunkX, int a_ChunkZ) const;
@ -238,13 +229,13 @@ public:
void AddPlayer( cPlayer* a_Player ); void AddPlayer( cPlayer* a_Player );
void RemovePlayer( 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 /** 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 << 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 <<
/// 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 << bool FindAndDoWithPlayer(const AString & a_PlayerNameHint, cPlayerListCallback & a_Callback); // >> EXPORTED IN MANUALBINDINGS <<
// TODO: This interface is dangerous - rewrite to DoWithClosestPlayer(pos, sight, action) // TODO: This interface is dangerous - rewrite to DoWithClosestPlayer(pos, sight, action)
@ -252,74 +243,74 @@ public:
void SendPlayerList(cPlayer * a_DestPlayer); // Sends playerlist to the player 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); void AddEntity(cEntity * a_Entity);
bool HasEntity(int a_UniqueID); 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); 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 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 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 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); 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); 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); 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); 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); 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); 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); 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); 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); 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); 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 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 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); 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 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 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); void QueueLightChunk(int a_ChunkX, int a_ChunkZ, cChunkCoordCallback * a_Callback = NULL);
bool IsChunkLighted(int a_ChunkX, int a_ChunkZ); 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); bool ForEachChunkInRect(int a_MinChunkX, int a_MaxChunkX, int a_MinChunkZ, int a_MaxChunkZ, cChunkDataCallback & a_Callback);
// tolua_begin // tolua_begin
@ -370,30 +361,30 @@ public:
// tolua_begin // 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); 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); 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); 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); 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); 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); void SpawnPrimedTNT(double a_X, double a_Y, double a_Z, double a_FuseTimeInSec, double a_InitialVelocityCoeff = 1);
// tolua_end // 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); 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); bool GetBlocks(sSetBlockVector & a_Blocks, bool a_ContinueOnFailure);
// tolua_begin // tolua_begin
@ -404,10 +395,10 @@ public:
double GetSpawnY(void) const { return m_SpawnY; } double GetSpawnY(void) const { return m_SpawnY; }
double GetSpawnZ(void) const { return m_SpawnZ; } 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); 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); void WakeUpSimulatorsInArea(int a_MinBlockX, int a_MaxBlockX, int a_MinBlockY, int a_MaxBlockY, int a_MinBlockZ, int a_MaxBlockZ);
// tolua_end // tolua_end
@ -418,22 +409,22 @@ public:
inline cFluidSimulator * GetLavaSimulator (void) { return m_LavaSimulator; } inline cFluidSimulator * GetLavaSimulator (void) { return m_LavaSimulator; }
inline cRedstoneSimulator * GetRedstoneSimulator(void) { return m_RedstoneSimulator; } 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 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 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); 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); 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); 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 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 /** Does an explosion with the specified strength at the specified coordinate
@ -451,71 +442,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 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 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 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 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 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 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 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 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 /** 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 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 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 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); bool DoWithChunk(int a_ChunkX, int a_ChunkZ, cChunkCallback & a_Callback);
void GrowTreeImage(const sSetBlockVector & a_Blocks); void GrowTreeImage(const sSetBlockVector & a_Blocks);
// tolua_begin // 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); 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); 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); 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); 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); 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); 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); 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); 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; } 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; } const AString & GetIniFileName(void) const {return m_IniFileName; }
/// Returns the associated scoreboard instance /// Returns the associated scoreboard instance
@ -550,22 +541,23 @@ public:
if(a_Z < 0 && a_Z % cChunkDef::Width != 0) a_ChunkZ--; 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); 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 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 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 /** Queues a task onto the tick thread, with the specified delay.
void ScheduleTask(cScheduledTask * a_Task); 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 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); void GetChunkStats(int & a_NumValid, int & a_NumDirty, int & a_NumInLightingQueue);
// Various queues length queries (cannot be const, they lock their CS): // Various queues length queries (cannot be const, they lock their CS):
@ -576,13 +568,13 @@ public:
void InitializeSpawn(void); void InitializeSpawn(void);
/// Starts threads that belong to this world /** Starts threads that belong to this world */
void Start(void); 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); 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); void TickQueuedBlocks(void);
struct BlockTickQueueItem struct BlockTickQueueItem
@ -593,27 +585,27 @@ public:
int TicksToWait; 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 void QueueBlockForTick(int a_BlockX, int a_BlockY, int a_BlockZ, int a_TicksToWait); // tolua_export
// tolua_begin // 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); 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); 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); 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; }; eWeather GetWeather (void) const { return m_Weather; };
bool IsWeatherSunny(void) const { return (m_Weather == wSunny); } bool IsWeatherSunny(void) const { return (m_Weather == wSunny); }
bool IsWeatherRain (void) const { return (m_Weather == wRain); } bool IsWeatherRain (void) const { return (m_Weather == wRain); }
bool IsWeatherStorm(void) const { return (m_Weather == wStorm); } 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); } bool IsWeatherWet (void) const { return (m_Weather != wSunny); }
// tolua_end // tolua_end
@ -622,7 +614,7 @@ public:
cWorldStorage & GetStorage (void) { return m_Storage; } cWorldStorage & GetStorage (void) { return m_Storage; }
cChunkMap * GetChunkMap (void) { return m_ChunkMap; } 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 void SetNextBlockTick(int a_BlockX, int a_BlockY, int a_BlockZ); // tolua_export
int GetMaxSugarcaneHeight(void) const { return m_MaxSugarcaneHeight; } // tolua_export int GetMaxSugarcaneHeight(void) const { return m_MaxSugarcaneHeight; } // tolua_export
@ -630,20 +622,20 @@ public:
bool IsBlockDirectlyWatered(int a_BlockX, int a_BlockY, int a_BlockZ); // tolua_export 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 SpawnMob(double a_PosX, double a_PosY, double a_PosZ, cMonster::eType a_MonsterType); // tolua_export
int SpawnMobFinalize(cMonster* a_Monster); 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 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)); } 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); 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; } NIBBLETYPE GetSkyDarkness() { return m_SkyDarkness; }
private: private:
@ -686,18 +678,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_WorldName;
AString m_IniFileName; 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; AString m_StorageSchema;
int m_StorageCompressionFactor; 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; 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; MTRand m_TickRand;
bool m_IsSpawnExplicitlySet; bool m_IsSpawnExplicitlySet;
@ -774,29 +789,30 @@ private:
cLightingThread m_Lighting; cLightingThread m_Lighting;
cTickThread m_TickThread; cTickThread m_TickThread;
/// Guards the m_Tasks /** Guards the m_Tasks */
cCriticalSection m_CSTasks; cCriticalSection m_CSTasks;
/// Guards the m_ScheduledTasks /** Tasks that have been queued onto the tick thread; guarded by m_CSTasks */
cCriticalSection m_CSScheduledTasks;
/// Tasks that have been queued onto the tick thread; guarded by m_CSTasks
cTasks m_Tasks; cTasks m_Tasks;
/// Tasks that have been queued to be executed on the tick thread at some number of ticks in /** Guards the m_ScheduledTasks */
/// the future; guarded by m_CSScheduledTasks cCriticalSection m_CSScheduledTasks;
ScheduledTaskList m_ScheduledTasks;
/// 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; 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; 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; 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; cClientHandleList m_ClientsToAdd;
@ -805,27 +821,27 @@ private:
void Tick(float a_Dt, int a_LastTickDurationMSec); 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); 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); void TickMobs(float a_Dt);
/// Executes all tasks queued onto the tick thread /** Executes all tasks queued onto the tick thread */
void TickQueuedTasks(void); void TickQueuedTasks(void);
/// Executes all tasks queued onto the tick thread /** Executes all tasks queued onto the tick thread */
void TickScheduledTasks(void); 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 TickClients(float a_Dt);
void UpdateSkyDarkness(void); 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); 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); cFluidSimulator * InitializeFluidSimulator(cIniFile & a_IniFile, const char * a_FluidName, BLOCKTYPE a_SimulateBlock, BLOCKTYPE a_StationaryBlock);
}; // tolua_export }; // tolua_export

View File

@ -0,0 +1,88 @@
#include "Globals.h"
#include "EnchantmentSerializer.h"
#include "Enchantments.h"
#include "FastNBT.h"
void EnchantmentSerializer::WriteToNBTCompound(cEnchantments const& a_Enchantments, cFastNBTWriter & a_Writer, const AString & a_ListTagName)
{
// Write the enchantments into the specified NBT writer
// begin with the LIST tag of the specified name ("ench" or "StoredEnchantments")
a_Writer.BeginList(a_ListTagName, TAG_Compound);
for (cEnchantments::cMap::const_iterator itr = a_Enchantments.m_Enchantments.begin(), end = a_Enchantments.m_Enchantments.end(); itr != end; ++itr)
{
a_Writer.BeginCompound("");
a_Writer.AddShort("id", itr->first);
a_Writer.AddShort("lvl", itr->second);
a_Writer.EndCompound();
} // for itr - m_Enchantments[]
a_Writer.EndList();
}
void EnchantmentSerializer::ParseFromNBT(cEnchantments& a_Enchantments, const cParsedNBT & a_NBT, int a_EnchListTagIdx)
{
// Read the enchantments from the specified NBT list tag (ench or StoredEnchantments)
// Verify that the tag is a list:
if (a_NBT.GetType(a_EnchListTagIdx) != TAG_List)
{
LOGWARNING("%s: Invalid EnchListTag type: exp %d, got %d. Enchantments not parsed",
__FUNCTION__, TAG_List, a_NBT.GetType(a_EnchListTagIdx)
);
ASSERT(!"Bad EnchListTag type");
return;
}
// Verify that the list is of Compounds:
if (a_NBT.GetChildrenType(a_EnchListTagIdx) != TAG_Compound)
{
LOGWARNING("%s: Invalid NBT list children type: exp %d, got %d. Enchantments not parsed",
__FUNCTION__, TAG_Compound, a_NBT.GetChildrenType(a_EnchListTagIdx)
);
ASSERT(!"Bad EnchListTag children type");
return;
}
a_Enchantments.Clear();
// Iterate over all the compound children, parse an enchantment from each:
for (int tag = a_NBT.GetFirstChild(a_EnchListTagIdx); tag >= 0; tag = a_NBT.GetNextSibling(tag))
{
// tag is the compound inside the "ench" list tag
ASSERT(a_NBT.GetType(tag) == TAG_Compound);
// Search for the id and lvl tags' values:
int id = -1, lvl = -1;
for (int ch = a_NBT.GetFirstChild(tag); ch >= 0; ch = a_NBT.GetNextSibling(ch))
{
if (a_NBT.GetType(ch) != TAG_Short)
{
continue;
}
if (a_NBT.GetName(ch) == "id")
{
id = a_NBT.GetShort(ch);
}
else if (a_NBT.GetName(ch) == "lvl")
{
lvl = a_NBT.GetShort(ch);
}
} // for ch - children of the compound tag
if ((id == -1) || (lvl <= 0))
{
// Failed to parse either the id or the lvl, skip this compound
continue;
}
// Store the enchantment:
a_Enchantments.m_Enchantments[id] = lvl;
} // for tag - children of the ench list tag
}

View File

@ -0,0 +1,17 @@
#pragma once
class cEnchantments;
class cFastNBTWriter;
class cParsedNBT;
namespace EnchantmentSerializer
{
/// Writes the enchantments into the specified NBT writer; begins with the LIST tag of the specified name ("ench" or "StoredEnchantments")
void WriteToNBTCompound(cEnchantments const& a_Enchantments, cFastNBTWriter & a_Writer, const AString & a_ListTagName);
/// Reads the enchantments from the specified NBT list tag (ench or StoredEnchantments)
void ParseFromNBT(cEnchantments& a_Enchantments, const cParsedNBT & a_NBT, int a_EnchListTagIdx);
};

View File

@ -4,6 +4,7 @@
#include "Globals.h" #include "Globals.h"
#include "NBTChunkSerializer.h" #include "NBTChunkSerializer.h"
#include "EnchantmentSerializer.h"
#include "../BlockID.h" #include "../BlockID.h"
#include "../ItemGrid.h" #include "../ItemGrid.h"
#include "../StringCompression.h" #include "../StringCompression.h"
@ -92,7 +93,7 @@ void cNBTChunkSerializer::AddItem(const cItem & a_Item, int a_Slot, const AStrin
{ {
const char * TagName = (a_Item.m_ItemType == E_ITEM_BOOK) ? "StoredEnchantments" : "ench"; const char * TagName = (a_Item.m_ItemType == E_ITEM_BOOK) ? "StoredEnchantments" : "ench";
m_Writer.BeginCompound("tag"); m_Writer.BeginCompound("tag");
a_Item.m_Enchantments.WriteToNBTCompound(m_Writer, TagName); EnchantmentSerializer::WriteToNBTCompound(a_Item.m_Enchantments, m_Writer, TagName);
m_Writer.EndCompound(); m_Writer.EndCompound();
} }

View File

@ -7,6 +7,7 @@
#include "WSSAnvil.h" #include "WSSAnvil.h"
#include "NBTChunkSerializer.h" #include "NBTChunkSerializer.h"
#include "FastNBT.h" #include "FastNBT.h"
#include "EnchantmentSerializer.h"
#include "zlib/zlib.h" #include "zlib/zlib.h"
#include "../World.h" #include "../World.h"
#include "../BlockID.h" #include "../BlockID.h"
@ -644,7 +645,7 @@ bool cWSSAnvil::LoadItemFromNBT(cItem & a_Item, const cParsedNBT & a_NBT, int a_
int EnchTag = a_NBT.FindChildByName(TagTag, EnchName); int EnchTag = a_NBT.FindChildByName(TagTag, EnchName);
if (EnchTag > 0) if (EnchTag > 0)
{ {
a_Item.m_Enchantments.ParseFromNBT(a_NBT, EnchTag); EnchantmentSerializer::ParseFromNBT(a_Item.m_Enchantments, a_NBT, EnchTag);
} }
return true; return true;