aboutsummaryrefslogtreecommitdiff
Commit message (Expand)AuthorAge
...
* Add setting to disable confirmation on new player registration (#8102)Muhammad Rifqi Priyo Susanto2019-01-26
* Rename 'Advanced Settings' button to 'All Settings' (#8131)Paramat2019-01-26
* Fix pkgmgr game install with RUN_IN_PLACE=0 (#8113)Paul Ouellette2019-01-26
* blitToVManip: Check out-of-bounds using node position not index (#8127)Paramat2019-01-25
* Fix warnings about dungeongen.cpp memcpy() and unused variable in MapBlock::d...Paramat2019-01-22
* Fix randomly rejected form field submits (#8091)Jozef Behran2019-01-21
* Make advanced settings noiseparams strings translatable (#8062)Wuzzy2019-01-20
* Advanced settings noiseparams: No tailing comma for empty flagssrifqi2019-01-19
* Advanced settings noiseparams: Remove '}' left in .confSmallJoker2019-01-19
* Remove incorrect feature flag (#8086)Paul Ouellette2019-01-19
* Optimize subgames search a little bit (#8096)Jozef Behran2019-01-18
* Fix some misspellings (#8104)Paul Ouellette2019-01-16
* world.mt: Only accept true/false/nil values (#8055)SmallJoker2019-01-13
* Speed up the craft definition handling (#8097)Jozef Behran2019-01-13
* Optimize path finalization in pathfinder (#8100)Jozef Behran2019-01-12
* Fix fake LINT check success (#8092)Jozef Behran2019-01-12
* Make sqlite3 the default auth backend (#8085)Paul Ouellette2019-01-10
* Import strstr function from FreeBSD 11 libcLoic Blot2019-01-10
* Android build fixesLoïc Blot2019-01-09
* pkgmgr: Fix games list not being updated after game installrubenwardy2019-01-09
* Settingtypes.txt: Rewrite documentation of 'num_emerge_threads' (#8066)Paramat2019-01-09
* Fix a crash on Android with Align2Npot2 (#8070)Loïc Blot2019-01-07
* Fix wrong code comment (#8061)DS2019-01-06
* Content store: Disable more details dialog for now (#8060)rubenwardy2019-01-06
* Content store: Fix update button not workingrubenwardy2019-01-06
* Fix various bugs (Anticheat, Lua helpers) (#8013)SmallJoker2019-01-06
* Deprecate modpack.txt and use modpack.conf instead (#7892)rubenwardy2019-01-06
* Run updatepo.shTranslations2019-01-06
* Update translations from WeblateTranslations2019-01-06
* Drop libgmp on Android and use mini-gmp (#8047)Loïc Blot2019-01-04
* Bump android version code for next Play Store versionLoïc Blot2019-01-04
* Make sqlite3 default auth & player backends for new worlds (#8043)Loïc Blot2019-01-04
* Fix on_successful_save -> onSuccessfulSaveLoïc Blot2019-01-04
* Fix various player save issues (performance penalty on sql backends + bugs)Loïc Blot2019-01-04
* Player file directory must be only created when using file backend.Loïc Blot2019-01-04
* Remove remote media compatibility mode. (#8044)sofar2019-01-04
* Proselytize the network. Use IEEE F32 (#8030)SmallJoker2019-01-03
* CSM restrictions: Make 'LOAD_CLIENT_MODS' disable loading of 'builtin' (#8000)Paramat2019-01-03
* autojump setting: Remove repeated doc line (#8041)Moose2019-01-02
* Add minetest.load_area (#8023)HybridDog2018-12-31
* Extend pitch fly mode to swimming (#7943)random-geek2018-12-31
* Fix installed modpacks not being found correctlyrubenwardy2018-12-30
* Update README.android with current build info (#8026)stujones112018-12-28
* Content store: Fix bugs relating to packages list sizerubenwardy2018-12-26
* CSM: add requested CSM_RF_READ_PLAYERINFO (#8007)Loïc Blot2018-12-24
* Remove 'Reset singleplayer world' button from full menu on Android (#8017)Paramat2018-12-23
* Fix entity rotation in existing worlds (#7989)SmallJoker2018-12-23
* Android: Fix start-up crashes on version 4.x (#8003)stujones112018-12-22
* mapnode: add const/noexcept (#8009)Vitaliy2018-12-22
* Android: Fix memory leak when displaying images in the mainmenu (#8011)rubenwardy2018-12-22
; class TestVoxelArea : public TestBase { public: TestVoxelArea() { TestManager::registerTestModule(this); } const char *getName() { return "TestVoxelArea"; } void runTests(IGameDef *gamedef); void test_addarea(); void test_pad(); void test_volume(); void test_contains_voxelarea(); void test_contains_point(); void test_contains_i(); void test_equal(); void test_plus(); void test_minor(); void test_index_xyz_all_pos(); void test_index_xyz_x_neg(); void test_index_xyz_y_neg(); void test_index_xyz_z_neg(); void test_index_xyz_xy_neg(); void test_index_xyz_xz_neg(); void test_index_xyz_yz_neg(); void test_index_xyz_all_neg(); void test_index_v3s16_all_pos(); void test_index_v3s16_x_neg(); void test_index_v3s16_y_neg(); void test_index_v3s16_z_neg(); void test_index_v3s16_xy_neg(); void test_index_v3s16_xz_neg(); void test_index_v3s16_yz_neg(); void test_index_v3s16_all_neg(); void test_add_x(); void test_add_y(); void test_add_z(); void test_add_p(); }; static TestVoxelArea g_test_instance; void TestVoxelArea::runTests(IGameDef *gamedef) { TEST(test_addarea); TEST(test_pad); TEST(test_volume); TEST(test_contains_voxelarea); TEST(test_contains_point); TEST(test_contains_i); TEST(test_equal); TEST(test_plus); TEST(test_minor); TEST(test_index_xyz_all_pos); TEST(test_index_xyz_x_neg); TEST(test_index_xyz_y_neg); TEST(test_index_xyz_z_neg); TEST(test_index_xyz_xy_neg); TEST(test_index_xyz_xz_neg); TEST(test_index_xyz_yz_neg); TEST(test_index_xyz_all_neg); TEST(test_index_v3s16_all_pos); TEST(test_index_v3s16_x_neg); TEST(test_index_v3s16_y_neg); TEST(test_index_v3s16_z_neg); TEST(test_index_v3s16_xy_neg); TEST(test_index_v3s16_xz_neg); TEST(test_index_v3s16_yz_neg); TEST(test_index_v3s16_all_neg); TEST(test_add_x); TEST(test_add_y); TEST(test_add_z); TEST(test_add_p); } void TestVoxelArea::test_addarea() { VoxelArea v1(v3s16(-1447, 8854, -875), v3s16(-147, -9547, 669)); VoxelArea v2(v3s16(-887, 4445, -5478), v3s16(447, -8779, 4778)); v1.addArea(v2); UASSERT(v1.MinEdge == v3s16(-1447, 4445, -5478)); UASSERT(v1.MaxEdge == v3s16(447, -8779, 4778)); } void TestVoxelArea::test_pad() { VoxelArea v1(v3s16(-1447, 8854, -875), v3s16(-147, -9547, 669)); v1.pad(v3s16(100, 200, 300)); UASSERT(v1.MinEdge == v3s16(-1547, 8654, -1175)); UASSERT(v1.MaxEdge == v3s16(-47, -9347, 969)); } void TestVoxelArea::test_volume() { VoxelArea v1(v3s16(-1337, 447, -789), v3s16(-147, -9547, 669)); UASSERTEQ(s32, v1.getVolume(), -184657133); } void TestVoxelArea::test_contains_voxelarea() { VoxelArea v1(v3s16(-1337, -9547, -789), v3s16(-147, 750, 669)); UASSERTEQ(bool, v1.contains(VoxelArea(v3s16(-200, 10, 10), v3s16(-150, 10, 10))), true); UASSERTEQ(bool, v1.contains(VoxelArea(v3s16(-2550, 10, 10), v3s16(10, 10, 10))), false); UASSERTEQ(bool, v1.contains(VoxelArea(v3s16(-10, 10, 10), v3s16(3500, 10, 10))), false); UASSERTEQ(bool, v1.contains(VoxelArea( v3s16(-800, -400, 669), v3s16(-500, 200, 669))), true); UASSERTEQ(bool, v1.contains(VoxelArea( v3s16(-800, -400, 670), v3s16(-500, 200, 670))), false); } void TestVoxelArea::test_contains_point() { VoxelArea v1(v3s16(-1337, -9547, -789), v3s16(-147, 750, 669)); UASSERTEQ(bool, v1.contains(v3s16(-200, 10, 10)), true); UASSERTEQ(bool, v1.contains(v3s16(-10000, 10, 10)), false); UASSERTEQ(bool, v1.contains(v3s16(-100, 10000, 10)), false); UASSERTEQ(bool, v1.contains(v3s16(-100, 100, 10000)), false); UASSERTEQ(bool, v1.contains(v3s16(-100, 100, -10000)), false); UASSERTEQ(bool, v1.contains(v3s16(10000, 100, 10)), false); } void TestVoxelArea::test_contains_i() { VoxelArea v1(v3s16(-1337, -9547, -789), v3s16(-147, 750, 669)); UASSERTEQ(bool, v1.contains(10), true); UASSERTEQ(bool, v1.contains(v1.getVolume()), false); UASSERTEQ(bool, v1.contains(v1.getVolume() - 1), true); UASSERTEQ(bool, v1.contains(v1.getVolume() + 1), false); UASSERTEQ(bool, v1.contains(-1), false) VoxelArea v2(v3s16(10, 10, 10), v3s16(30, 30, 30)); UASSERTEQ(bool, v2.contains(10), true); UASSERTEQ(bool, v2.contains(0), true); UASSERTEQ(bool, v2.contains(-1), false); } void TestVoxelArea::test_equal() { VoxelArea v1(v3s16(-1337, -9547, -789), v3s16(-147, 750, 669)); UASSERTEQ(bool, v1 == VoxelArea(v3s16(-1337, -9547, -789), v3s16(-147, 750, 669)), true); UASSERTEQ(bool, v1 == VoxelArea(v3s16(0, 0, 0), v3s16(-147, 750, 669)), false); UASSERTEQ(bool, v1 == VoxelArea(v3s16(0, 0, 0), v3s16(-147, 750, 669)), false); UASSERTEQ(bool, v1 == VoxelArea(v3s16(0, 0, 0), v3s16(0, 0, 0)), false); } void TestVoxelArea::test_plus() { VoxelArea v1(v3s16(-10, -10, -10), v3s16(100, 100, 100)); UASSERT(v1 + v3s16(10, 0, 0) == VoxelArea(v3s16(0, -10, -10), v3s16(110, 100, 100))); UASSERT(v1 + v3s16(10, -10, 0) == VoxelArea(v3s16(0, -20, -10), v3s16(110, 90, 100))); UASSERT(v1 + v3s16(0, 0, 35) == VoxelArea(v3s16(-10, -10, 25), v3s16(100, 100, 135))); } void TestVoxelArea::test_minor() { VoxelArea v1(v3s16(-10, -10, -10), v3s16(100, 100, 100)); UASSERT(v1 - v3s16(10, 0, 0) == VoxelArea(v3s16(-20, -10, -10), v3s16(90, 100, 100))); UASSERT(v1 - v3s16(10, -10, 0) == VoxelArea(v3s16(-20, 0, -10), v3s16(90, 110, 100))); UASSERT(v1 - v3s16(0, 0, 35) == VoxelArea(v3s16(-10, -10, -45), v3s16(100, 100, 65))); } void TestVoxelArea::test_index_xyz_all_pos() { VoxelArea v1; UASSERTEQ(s32, v1.index(156, 25, 236), 155); VoxelArea v2(v3s16(756, 8854, -875), v3s16(-147, -9547, 669)); UASSERTEQ(s32, v2.index(156, 25, 236), 1267138774); } void TestVoxelArea::test_index_xyz_x_neg() { VoxelArea v1; UASSERTEQ(s32, v1.index(-147, 25, 366), -148); VoxelArea v2(v3s16(756, 8854, -875), v3s16(-147, -9547, 669)); UASSERTEQ(s32, v2.index(-147, 25, 366), -870244825); } void TestVoxelArea::test_index_xyz_y_neg() { VoxelArea v1; UASSERTEQ(s32, v1.index(247, -269, 100), 246); VoxelArea v2(v3s16(756, 8854, -875), v3s16(-147, -9547, 669)); UASSERTEQ(s32, v2.index(247, -269, 100), -989760747); } void TestVoxelArea::test_index_xyz_z_neg() { VoxelArea v1; UASSERTEQ(s32, v1.index(244, 336, -887), 243); VoxelArea v2(v3s16(756, 8854, -875), v3s16(-147, -9547, 669)); UASSERTEQ(s32, v2.index(244, 336, -887), -191478876); } void TestVoxelArea::test_index_xyz_xy_neg() { VoxelArea v1; UASSERTEQ(s32, v1.index(-365, -47, 6978), -366); VoxelArea v2(v3s16(756, 8854, -875), v3s16(-147, -9547, 669)); UASSERTEQ(s32, v2.index(-365, -47, 6978), 1493679101); } void TestVoxelArea::test_index_xyz_yz_neg() { VoxelArea v1; UASSERTEQ(s32, v1.index(66, -58, -789), 65); VoxelArea v2(v3s16(756, 8854, -875), v3s16(-147, -9547, 669)); UASSERTEQ(s32, v2.index(66, -58, -789), 1435362734); } void TestVoxelArea::test_index_xyz_xz_neg() { VoxelArea v1; UASSERTEQ(s32, v1.index(-36, 589, -992), -37); VoxelArea v2(v3s16(756, 8854, -875), v3s16(-147, -9547, 669)); UASSERTEQ(s32, v2.index(-36, 589, -992), -1934371362); } void TestVoxelArea::test_index_xyz_all_neg() { VoxelArea v1; UASSERTEQ(s32, v1.index(-88, -99, -1474), -89); VoxelArea v2(v3s16(756, 8854, -875), v3s16(-147, -9547, 669)); UASSERTEQ(s32, v2.index(-88, -99, -1474), -1343473846); } void TestVoxelArea::test_index_v3s16_all_pos() { VoxelArea v1; UASSERTEQ(s32, v1.index(v3s16(156, 25, 236)), 155); VoxelArea v2(v3s16(756, 8854, -875), v3s16(-147, -9547, 669)); UASSERTEQ(s32, v2.index(v3s16(156, 25, 236)), 1267138774); } void TestVoxelArea::test_index_v3s16_x_neg() { VoxelArea v1; UASSERTEQ(s32, v1.index(v3s16(-147, 25, 366)), -148); VoxelArea v2(v3s16(756, 8854, -875), v3s16(-147, -9547, 669)); UASSERTEQ(s32, v2.index(v3s16(-147, 25, 366)), -870244825); } void TestVoxelArea::test_index_v3s16_y_neg() { VoxelArea v1; UASSERTEQ(s32, v1.index(v3s16(247, -269, 100)), 246); VoxelArea v2(v3s16(756, 8854, -875), v3s16(-147, -9547, 669)); UASSERTEQ(s32, v2.index(v3s16(247, -269, 100)), -989760747); } void TestVoxelArea::test_index_v3s16_z_neg() { VoxelArea v1; UASSERTEQ(s32, v1.index(v3s16(244, 336, -887)), 243); VoxelArea v2(v3s16(756, 8854, -875), v3s16(-147, -9547, 669)); UASSERTEQ(s32, v2.index(v3s16(244, 336, -887)), -191478876); } void TestVoxelArea::test_index_v3s16_xy_neg() { VoxelArea v1; UASSERTEQ(s32, v1.index(v3s16(-365, -47, 6978)), -366); VoxelArea v2(v3s16(756, 8854, -875), v3s16(-147, -9547, 669)); UASSERTEQ(s32, v2.index(v3s16(-365, -47, 6978)), 1493679101); } void TestVoxelArea::test_index_v3s16_yz_neg() { VoxelArea v1; UASSERTEQ(s32, v1.index(v3s16(66, -58, -789)), 65); VoxelArea v2(v3s16(756, 8854, -875), v3s16(-147, -9547, 669)); UASSERTEQ(s32, v2.index(v3s16(66, -58, -789)), 1435362734); } void TestVoxelArea::test_index_v3s16_xz_neg() { VoxelArea v1; UASSERTEQ(s32, v1.index(v3s16(-36, 589, -992)), -37); VoxelArea v2(v3s16(756, 8854, -875), v3s16(-147, -9547, 669)); UASSERTEQ(s32, v2.index(v3s16(-36, 589, -992)), -1934371362); } void TestVoxelArea::test_index_v3s16_all_neg() { VoxelArea v1; UASSERTEQ(s32, v1.index(v3s16(-88, -99, -1474)), -89); VoxelArea v2(v3s16(756, 8854, -875), v3s16(-147, -9547, 669)); UASSERTEQ(s32, v2.index(v3s16(-88, -99, -1474)), -1343473846); } void TestVoxelArea::test_add_x() { v3s16 extent; u32 i = 4; VoxelArea::add_x(extent, i, 8); UASSERTEQ(u32, i, 12) } void TestVoxelArea::test_add_y() { v3s16 extent(740, 16, 87); u32 i = 8; VoxelArea::add_y(extent, i, 88); UASSERTEQ(u32, i, 65128) } void TestVoxelArea::test_add_z() { v3s16 extent(114, 80, 256); u32 i = 4; VoxelArea::add_z(extent, i, 8); UASSERTEQ(u32, i, 72964) } void TestVoxelArea::test_add_p() { v3s16 extent(33, 14, 742); v3s16 a(15, 12, 369); u32 i = 4; VoxelArea::add_p(extent, i, a); UASSERTEQ(u32, i, 170893) }