summaryrefslogtreecommitdiffstats
path: root/tests/LoadablePieces
diff options
context:
space:
mode:
authorMattes D <github@xoft.cz>2017-02-26 23:03:24 +0100
committerMattes D <github@xoft.cz>2017-05-04 09:49:30 +0200
commit96fdd72d45221c03d9369c1edcddc83f27656fd4 (patch)
treefe96bbeaab2465924d4c613299c8002ba0b224e5 /tests/LoadablePieces
parentGen: Moved PiecePool into a separate file. (diff)
downloadcuberite-96fdd72d45221c03d9369c1edcddc83f27656fd4.tar
cuberite-96fdd72d45221c03d9369c1edcddc83f27656fd4.tar.gz
cuberite-96fdd72d45221c03d9369c1edcddc83f27656fd4.tar.bz2
cuberite-96fdd72d45221c03d9369c1edcddc83f27656fd4.tar.lz
cuberite-96fdd72d45221c03d9369c1edcddc83f27656fd4.tar.xz
cuberite-96fdd72d45221c03d9369c1edcddc83f27656fd4.tar.zst
cuberite-96fdd72d45221c03d9369c1edcddc83f27656fd4.zip
Diffstat (limited to 'tests/LoadablePieces')
-rw-r--r--tests/LoadablePieces/Bindings.h15
-rw-r--r--tests/LoadablePieces/LoadablePieces.cpp179
-rw-r--r--tests/LoadablePieces/LuaState_Declaration.inc4
-rw-r--r--tests/LoadablePieces/LuaState_Typedefs.inc19
-rw-r--r--tests/LoadablePieces/Stubs.cpp290
-rw-r--r--tests/LoadablePieces/Test.cubeset155
-rw-r--r--tests/LoadablePieces/Test1.schematicbin184 -> 0 bytes
7 files changed, 0 insertions, 662 deletions
diff --git a/tests/LoadablePieces/Bindings.h b/tests/LoadablePieces/Bindings.h
deleted file mode 100644
index 490830ac3..000000000
--- a/tests/LoadablePieces/Bindings.h
+++ /dev/null
@@ -1,15 +0,0 @@
-
-// Bindings.h
-
-// Dummy include file needed for LuaState to compile successfully
-
-
-
-
-struct lua_State;
-
-int tolua_AllToLua_open(lua_State * a_LuaState);
-
-
-
-
diff --git a/tests/LoadablePieces/LoadablePieces.cpp b/tests/LoadablePieces/LoadablePieces.cpp
deleted file mode 100644
index 58b65464d..000000000
--- a/tests/LoadablePieces/LoadablePieces.cpp
+++ /dev/null
@@ -1,179 +0,0 @@
-
-// LoadablePieces.cpp
-
-// Implements the LoadablePieces test main entrypoint
-
-#include "Globals.h"
-#ifdef _WIN32
- #include <direct.h>
- #define GetCurrentFolder _getcwd
-#else
- #include <unistd.h>
- #define GetCurrentFolder getcwd
-#endif
-#include "Generating/PrefabPiecePool.h"
-
-
-
-
-
-static int DoLoaderTest(void)
-{
- cPrefabPiecePool test;
- auto res = test.LoadFromFile("Test.cubeset", true);
- if (!res)
- {
- LOGWARNING("Loading from file \"Test.cubeset\" failed.");
- return 1;
- }
- LOG("Loaded %u regular pieces and %u starting pieces", static_cast<unsigned>(test.GetAllPiecesCount()), static_cast<unsigned>(test.GetStartingPiecesCount()));
-
- // Check that we loaded all the pieces:
- testassert(test.GetAllPiecesCount() == 1);
- testassert(test.GetStartingPiecesCount() == 1);
-
- return 0;
-}
-
-
-
-
-
-static int DoParserTest(void)
-{
- // Create one static prefab to test the parser:
- static const cPrefab::sDef testPrefabDef =
- {
- // Size:
- 7, 6, 7, // SizeX = 7, SizeY = 6, SizeZ = 7
-
- // Hitbox (relative to bounding box):
- 0, 0, 0, // MinX, MinY, MinZ
- 6, 5, 6, // MaxX, MaxY, MaxZ
-
- // Block definitions:
- ".: 0: 0\n" /* 0 */
- "a:112: 0\n" /* netherbrick */
- "b:113: 0\n" /* netherbrickfence */,
-
- // Block data:
- // Level 1
- "aaaaaaa"
- "aaaaaaa"
- "aaaaaaa"
- "aaaaaaa"
- "aaaaaaa"
- "aaaaaaa"
- "aaaaaaa"
-
- // Level 2
- "aa...aa"
- "a.....a"
- "......."
- "......."
- "......."
- "a.....a"
- "aa...aa"
-
- // Level 3
- "aa...aa"
- "a.....a"
- "......."
- "......."
- "......."
- "a.....a"
- "aa...aa"
-
- // Level 4
- "aa...aa"
- "a.....a"
- "......."
- "......."
- "......."
- "a.....a"
- "aa...aa"
-
- // Level 5
- "aabbbaa"
- "a.....a"
- "b.....b"
- "b.....b"
- "b.....b"
- "a.....a"
- "aabbbaa"
-
- // Level 6
- "aaaaaaa"
- "a.....a"
- "a.....a"
- "a.....a"
- "a.....a"
- "a.....a"
- "aaaaaaa",
-
- // Connections:
- "0: 0, 3, 2: 4\n"
- "0: 2, 3, 0: 2\n",
-
- // AllowedRotations:
- 7, /* 1, 2, 3 CCW rotations */
-
- // Merge strategy:
- cBlockArea::msImprint,
-
- // ExtendFloorStrategy:
- cPrefab::efsNone,
-
- // DefaultWeight:
- 10,
-
- // DepthWeight:
- "",
-
- // AddWeightIfSame:
- 1000,
-
- // MoveToGround:
- false,
- };
-
- cPrefab testPrefab(testPrefabDef);
- cPiece & prefabAsPiece(testPrefab); // GetConnectors() is private in cPrefab, need to cast to parent cPiece where it is public
- if (prefabAsPiece.GetConnectors().size() != 2)
- {
- LOGWARNING("Piece parsing failed, connectors not parsed properly. Expected 2 connectors, got %u", static_cast<unsigned>(prefabAsPiece.GetConnectors().size()));
- }
- return 0;
-}
-
-
-
-
-
-int main(int argc, char * argv[])
-{
- LOGD("Test started");
-
- // Print the current directory for reference:
- char folder[FILENAME_MAX];
- GetCurrentFolder(folder, sizeof(folder));
- LOG("Running cPrefabPiecePool test from folder \"%s\".", folder);
-
- // Run the Loader test:
- int res = DoLoaderTest();
- LOG("cPrefabPiecePool loading test done: %s", (res == 0) ? "success" : "failure");
- if (res != 0)
- {
- return res;
- }
-
- // Run the Parser test:
- res = DoParserTest();
- LOG("cPrefab parser test done: %s", (res == 0) ? "success" : "failure");
-
- return res;
-}
-
-
-
-
diff --git a/tests/LoadablePieces/LuaState_Declaration.inc b/tests/LoadablePieces/LuaState_Declaration.inc
deleted file mode 100644
index 4019b26c6..000000000
--- a/tests/LoadablePieces/LuaState_Declaration.inc
+++ /dev/null
@@ -1,4 +0,0 @@
-
-// LuaState_Declaration.inc
-
-// Dummy include file needed for LuaState to compile successfully
diff --git a/tests/LoadablePieces/LuaState_Typedefs.inc b/tests/LoadablePieces/LuaState_Typedefs.inc
deleted file mode 100644
index 5eba7c6f8..000000000
--- a/tests/LoadablePieces/LuaState_Typedefs.inc
+++ /dev/null
@@ -1,19 +0,0 @@
-
-// LuaState_Typedefs.inc
-
-// Dummy include file needed for LuaState to compile successfully
-
-
-
-
-
-// Forward-declare classes that are used in the API but never called:
-struct HTTPRequest;
-struct HTTPTemplateRequest;
-class cPluginLua;
-class cBoundingBox;
-template <typename T> class cItemCallback;
-class cEntity;
-
-
-
diff --git a/tests/LoadablePieces/Stubs.cpp b/tests/LoadablePieces/Stubs.cpp
deleted file mode 100644
index 0ad3eb365..000000000
--- a/tests/LoadablePieces/Stubs.cpp
+++ /dev/null
@@ -1,290 +0,0 @@
-
-// Stubs.cpp
-
-// Implements stubs of various Cuberite methods that are needed for linking but not for runtime
-// This is required so that we don't bring in the entire Cuberite via dependencies
-
-#include "Globals.h"
-#include "BlockInfo.h"
-#include "Bindings.h"
-#include "Bindings/DeprecatedBindings.h"
-#include "Bindings/LuaJson.h"
-#include "Bindings/ManualBindings.h"
-#include "BlockEntities/BlockEntity.h"
-#include "Blocks/BlockHandler.h"
-#include "Generating/ChunkDesc.h"
-#include "DeadlockDetect.h"
-
-
-
-
-
-// fwd:
-struct lua_State;
-
-
-
-
-
-// Prototypes, needed by clang:
-extern "C" int luaopen_lsqlite3(lua_State * a_LuaState);
-extern "C" int luaopen_lxp(lua_State * a_LuaState);
-
-
-
-
-
-void cManualBindings::Bind(lua_State * a_LuaState)
-{
-}
-
-
-
-
-
-void DeprecatedBindings::Bind(lua_State * a_LuaState)
-{
-}
-
-
-
-
-
-void cLuaJson::Bind(cLuaState & a_LuaState)
-{
-}
-
-
-
-
-
-int tolua_AllToLua_open(lua_State * a_LuaState)
-{
- return 0;
-}
-
-
-
-
-
-extern "C" int luaopen_lsqlite3(lua_State * a_LuaState)
-{
- return 0;
-}
-
-
-
-
-
-extern "C" int luaopen_lxp(lua_State * a_LuaState)
-{
- return 0;
-}
-
-
-
-
-
-cBlockInfo::~cBlockInfo()
-{
-}
-
-
-
-
-
-void cBlockInfo::Initialize(cBlockInfo::cBlockInfoArray & a_BlockInfos)
-{
- // The piece-loading code uses the handlers for rotations, so we need valid handlers
- // Insert dummy handlers:
- for (size_t i = 0; i < ARRAYCOUNT(a_BlockInfos); i++)
- {
- a_BlockInfos[i].m_Handler = new cBlockHandler(static_cast<BLOCKTYPE>(i));
- }
-}
-
-
-
-
-
-cBlockHandler::cBlockHandler(BLOCKTYPE a_BlockType)
-{
-}
-
-
-
-
-
-bool cBlockHandler::GetPlacementBlockTypeMeta(
- cChunkInterface & a_ChunkInterface, cPlayer * a_Player,
- int a_BlockX, int a_BlockY, int a_BlockZ, eBlockFace a_BlockFace,
- int a_CursorX, int a_CursorY, int a_CursorZ,
- BLOCKTYPE & a_BlockType, NIBBLETYPE & a_BlockMeta
-)
-{
- return true;
-}
-
-
-
-
-
-void cBlockHandler::OnUpdate(cChunkInterface & cChunkInterface, cWorldInterface & a_WorldInterface, cBlockPluginInterface & a_PluginInterface, cChunk & a_Chunk, int a_BlockX, int a_BlockY, int a_BlockZ)
-{
-}
-
-
-
-
-
-void cBlockHandler::OnPlacedByPlayer(cChunkInterface & a_ChunkInterface, cWorldInterface & a_WorldInterface, cPlayer * a_Player, const sSetBlock & a_BlockChange)
-{
-}
-
-
-
-
-
-void cBlockHandler::OnDestroyedByPlayer(cChunkInterface & a_ChunkInterface, cWorldInterface & a_WorldInterface, cPlayer * a_Player, int a_BlockX, int a_BlockY, int a_BlockZ)
-{
-}
-
-
-
-
-
-void cBlockHandler::OnPlaced(cChunkInterface & a_ChunkInterface, cWorldInterface & a_WorldInterface, int a_BlockX, int a_BlockY, int a_BlockZ, BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta)
-{
-}
-
-
-
-
-
-void cBlockHandler::OnDestroyed(cChunkInterface & a_ChunkInterface, cWorldInterface & a_WorldInterface, int a_BlockX, int a_BlockY, int a_BlockZ)
-{
-}
-
-
-
-
-
-void cBlockHandler::NeighborChanged(cChunkInterface & a_ChunkInterface, int a_BlockX, int a_BlockY, int a_BlockZ, eBlockFace a_WhichNeighbor)
-{
-}
-
-
-
-
-
-void cBlockHandler::ConvertToPickups(cItems & a_Pickups, NIBBLETYPE a_BlockMeta)
-{
-}
-
-
-
-
-
-void cBlockHandler::DropBlock(cChunkInterface & a_ChunkInterface, cWorldInterface & a_WorldInterface, cBlockPluginInterface & a_BlockPluginInterface, cEntity * a_Digger, int a_BlockX, int a_BlockY, int a_BlockZ, bool a_CanDrop)
-{
-}
-
-
-
-
-
-bool cBlockHandler::CanBeAt(cChunkInterface & a_ChunkInterface, int a_BlockX, int a_BlockY, int a_BlockZ, const cChunk & a_Chunk)
-{
- return true;
-}
-
-
-
-
-
-bool cBlockHandler::IsUseable()
-{
- return false;
-}
-
-
-
-
-
-bool cBlockHandler::IsClickedThrough(void)
-{
- return false;
-}
-
-
-
-
-
-bool cBlockHandler::DoesIgnoreBuildCollision(void)
-{
- return (m_BlockType == E_BLOCK_AIR);
-}
-
-
-
-
-
-bool cBlockHandler::DoesDropOnUnsuitable(void)
-{
- return true;
-}
-
-
-
-
-
-void cBlockHandler::Check(cChunkInterface & a_ChunkInterface, cBlockPluginInterface & a_PluginInterface, int a_RelX, int a_RelY, int a_RelZ, cChunk & a_Chunk)
-{
-}
-
-
-
-
-
-ColourID cBlockHandler::GetMapBaseColourID(NIBBLETYPE a_Meta)
-{
- return 0;
-}
-
-
-
-
-
-bool cBlockHandler::IsInsideBlock(const Vector3d & a_Position, const BLOCKTYPE a_BlockType, const NIBBLETYPE a_BlockMeta)
-{
- return true;
-}
-
-
-
-
-
-cBlockEntity * cBlockEntity::CreateByBlockType(BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta, int a_BlockX, int a_BlockY, int a_BlockZ, cWorld * a_World)
-{
- return nullptr;
-}
-
-
-
-
-
-void cDeadlockDetect::TrackCriticalSection(cCriticalSection & a_CS, const AString & a_Name)
-{
-}
-
-
-
-
-
-void cDeadlockDetect::UntrackCriticalSection(cCriticalSection & a_CS)
-{
-}
-
-
-
-
diff --git a/tests/LoadablePieces/Test.cubeset b/tests/LoadablePieces/Test.cubeset
deleted file mode 100644
index 956e6684e..000000000
--- a/tests/LoadablePieces/Test.cubeset
+++ /dev/null
@@ -1,155 +0,0 @@
-
--- Test.cubeset
-
--- This simple cubeset file is used for testing the cPrefabPiecePool loader.
-
-
-
-
-
-Cubeset =
-{
- Metadata =
- {
- CubesetFormatVersion = 1,
- },
-
- Pieces =
- {
- -- One piece with inline definition:
- {
- Size =
- {
- x = 4,
- y = 4,
- z = 4,
- },
- Hitbox =
- {
- MinX = 0,
- MinY = 0,
- MinZ = 0,
- MaxX = 3,
- MaxY = 3,
- MaxZ = 3,
- },
- BlockDefinitions =
- {
- ".: 0: 0", -- air
- "a: 1: 0", -- stone
- "b: 24: 0", -- sandstone
- "c: 8: 0", -- water
- "d: 85: 0", -- fence
- "m: 19: 0", -- sponge
- },
- BlockData =
- {
- -- Level 0
- "aaaa", -- 0
- "aaaa", -- 1
- "aaaa", -- 2
- "aaaa", -- 3
-
- -- Level 1
- "bbbb", -- 0
- "bccb", -- 1
- "bccb", -- 2
- "bbbb", -- 3
-
- -- Level 2
- "bbbb", -- 0
- "bccb", -- 1
- "bccb", -- 2
- "bbbb", -- 3
-
- -- Level 3
- "bbbb", -- 0
- "bccb", -- 1
- "bccb", -- 2
- "bbbb", -- 3
- },
- Connectors =
- {
- {
- Type = 2,
- RelX = 2,
- RelY = 2,
- RelZ = 0,
- Direction = 2, -- Z-
- },
- {
- Type = 2,
- RelX = 0,
- RelY = 2,
- RelZ = 1,
- Direction = 4, -- X-
- },
- {
- Type = 2,
- RelX = 1,
- RelY = 2,
- RelZ = 3,
- Direction = 3, -- Z+
- },
- {
- Type = 2,
- RelX = 3,
- RelY = 2,
- RelZ = 2,
- Direction = 5, -- X+
- },
- },
- Metadata =
- {
- ["DefaultWeight"] = "100",
- ["AllowedRotations"] = "7",
- ["MergeStrategy"] = "msSpongePrint",
- ["IsStarting"] = "1",
- ["DepthWeight"] = "",
- ["ExpandFloorStrategy"] = "None",
- ["MoveToGround"] = "1",
- ["AddWeightIfSame"] = "0",
- ["VerticalStrategy"] = "Fixed|150",
- },
- },
-
- -- One piece with external definition:
- {
- Hitbox =
- {
- MinX = 0,
- MinY = 0,
- MinZ = 0,
- MaxX = 3,
- MaxY = 3,
- MaxZ = 3,
- },
- SchematicFileName = "Test1.schematic",
- Connectors =
- {
- {
- Type = 2,
- RelX = 2,
- RelY = 2,
- RelZ = 0,
- Direction = 2, -- Z-
- },
- },
- Metadata =
- {
- ["DefaultWeight"] = "100",
- ["AllowedRotations"] = "7",
- ["MergeStrategy"] = "msSpongePrint",
- ["IsStarting"] = "0",
- ["DepthWeight"] = "",
- ["ExpandFloorStrategy"] = "None",
- ["MoveToGround"] = "0",
- ["AddWeightIfSame"] = "0",
- },
- },
- }, -- Pieces
-}
-
-
-
-
diff --git a/tests/LoadablePieces/Test1.schematic b/tests/LoadablePieces/Test1.schematic
deleted file mode 100644
index 6fe19e9db..000000000
--- a/tests/LoadablePieces/Test1.schematic
+++ /dev/null
Binary files differ