Commit Graph

3483 Commits

Author SHA1 Message Date
Craig Robbins 99cf53c908 ANDROID: Do not limit situations where fast is enabled
Before this commit autofast for Android was ignored if the user was sneaking, digging or building. There is no reason for this and it impedes movement control
2015-05-15 13:22:07 +10:00
est31 b70e67df8c Fix compiler warning about sign comparison 2015-05-13 00:04:30 +02:00
SmallJoker ecc514f11b Build and link gmp correctly on MSVC
Also optimize json's library
2015-05-12 21:07:46 +02:00
est31 b4c3ff6eab is_player() is no player-only function 2015-05-12 05:52:49 +02:00
paramat 02805af36e Mapgen v5/6/7: Cleanup node resolver and aliases 2015-05-12 04:40:53 +01:00
est31 82e35edff5 Make early protocol auth mechanism generic, and add SRP
Adds everything needed for SRP (and everything works too),
but still deactivated, as protocol v25 init packets aren't final yet.
Can be activated by changing the LATEST_PROTOCOL_VERSION header to 25
inside networkprotocol.h.
2015-05-11 18:40:27 +02:00
est31 181f7baa45 Add LibGMP
Uses system provided libgmp if found, if not it falls back to mini-gmp.
2015-05-11 17:48:33 +02:00
Craig Robbins 5a1975a4e3 Change lower limit of display_gamma to 1.0 (linear light)
Now matches function comment
2015-05-11 02:03:09 +10:00
kwolekr 2b99d904f6 Schematics: Add per-node force placement option 2015-05-09 18:44:00 -04:00
kwolekr d59e6ad004 Fix typo in WieldMesh::setItem() 2015-05-08 23:30:56 -04:00
kwolekr ff740a4179 Ensure that Map::findNodesWithMetadata() reports nodes strictly within the node-granular area 2015-05-08 13:31:03 -04:00
kwolekr f1ccfd3c3d Replace Wieldmesh::setItem assertion that could be triggered by the server with an error 2015-05-08 13:26:31 -04:00
est31 0310123bc9 Fix release build warning 2015-05-08 07:23:41 +02:00
kwolekr f091bbd563 Fix compilation for non-client builds, and fix signed comparison warning 2015-05-08 01:21:34 -04:00
kwolekr 2dba29ebf2 Tests: Add schematic unittests
Improve schematic file-saving interface
Add ability to create temporary test files
2015-05-08 00:55:42 -04:00
est31 33c11415bf Gracefully handle PacketErrors 2015-05-08 06:51:03 +02:00
kwolekr 0e64fc45b9 Fix missing Y component assignment in check_v3f 2015-05-08 00:03:41 -04:00
Kevin Ott e17c6ba2cd Remove duplicate lua_getfield() in c_converter.cpp
Fixes #2678
2015-05-07 09:57:34 +02:00
kwolekr b246812455 Schematics: Add indent-with-space option for schematic Lua table serialization 2015-05-07 02:54:35 -04:00
kwolekr 656575b59d NodeResolver: Remove NodeResolveMethod
This simplifies NodeResolver logic and makes some interfaces cleaner.
2015-05-07 02:36:01 -04:00
ShadowNinja d720fd5644 Fix connection speed unit names 2015-05-06 15:41:37 -04:00
ShadowNinja 3a8e7341ec Fix error messages for type-checking Lua reading functions 2015-05-06 15:33:36 -04:00
ShadowNinja 3f5c2dea4d Improve Redis error messages 2015-05-06 15:28:22 -04:00
kwolekr 2b44e75442 Fix build on Debian broken by b45df9d (missing include, somehow?) 2015-05-05 20:40:18 -04:00
kwolekr 633af58a05 NodeDefManager: Improve const-correctness of interfaces
- Add ability to explicitly reset NodeResolve state (useful for unittesting)
- Remove non-essential NodeResolve methods modifying state from INodeDefManager
- Add const qualifier to NodeDefManager and ContentFeatures serialize
2015-05-05 16:52:06 -04:00
kwolekr b785577f03 Add core.find_nodes_with_meta() script API 2015-05-05 16:21:59 -04:00
kwolekr b45df9d6a7 Tests: Add NodeResolver unittests
Minor misc. NodeResolver cleanups
Prefix faux content type constants for testing with t_ to avoid
confusion or name collisions
2015-05-05 12:00:36 -04:00
ShadowNinja 1be2d32fd5 Make Git version detection use VERSION_STRING instead of tags
This fixes the problem where 0.4.12-dev versions were erroneously shown as
0.4.11-dev because the tag was added on a separate branch.  It also fixes a
similar issue when builders didn't fetch new tags when updating.

This also removes the number-of-commits-since-tag field, since it's
incompatible with this.  Said field doesn't seem to be useful anyway if you
have the commit hash.
2015-05-05 17:13:05 +02:00
ShadowNinja dfd790930c Fix GCC compiler warning 2015-05-04 20:01:10 -04:00
Jay Arndt 2923eafaca Stop NetworkPacket methods from producing bloated packets 2015-05-05 01:47:41 +02:00
est31 4b0f5fcbf5 Cache enable_3d_clouds flag
Small improvement on clouds rendering performance
2015-05-04 22:50:04 +02:00
paramat 9345ba7b6a Clouds: Make cloud area radius settable in .conf 2015-05-04 22:41:13 +02:00
Kevin Ott 5fa4fed097 Add a check for animation when getting an extruded mesh
Fixes issue #2667
2015-05-04 02:11:36 -04:00
obneq 9af7f38e3f Fix pathfinder to produce more useful paths
- Fix unintended negation of condition
- Remove line_of_sight 'optimization'
2015-05-03 22:36:11 -04:00
kwolekr 8f38f8255c Tests: Add ObjDef unittests 2015-05-03 22:19:35 -04:00
kwolekr 5b237b4d94 ObjDefManager: Set replacement object's handle info after calling set()
Make gamedef optional when constructing an ObjDefManager
Add note about object ownership
2015-05-03 22:19:35 -04:00
paramat 9e1e4b6284 RotateAlongYAxis: For facedir case, return if param2 >= 4 2015-05-03 03:43:51 +01:00
SmallJoker 6626a3f72f Fix several MSVC issues numeric.h
-> Round negative numbers correctly CMakeLists.txt
-> Link Json with the static run-time library
2015-05-01 07:34:51 +02:00
kwolekr 37ca3212ee Fix MSVC compatibility
Make sure to include random unittests in android builds, too
Use SWAP() macro
Ensure that negative ranges are tested as well in random unittests
2015-04-29 13:20:01 -04:00
kwolekr b6475f5448 Tests: Add random unittests 2015-04-29 04:08:04 -04:00
sfan5 4ea5a96fff Revert the upper-case PROJECT_NAME nonsense that was part of #2402 2015-04-27 16:24:49 +02:00
sfan5 558d715bf6 Revert "Only lowercase project name at compile time"
This reverts commit 3be9787e64.
2015-04-27 16:24:49 +02:00
kwolekr 415167b228 Noise: Fix PcgRandom::randNormalDist() when range contains negative numbers
This fixes an issue with erroneous float-to-int rounding that resulted in
truncation toward 0, causing a biased distribution.
2015-04-27 04:05:25 -04:00
kwolekr cd1d625ab2 Replace PRNG assertions with PrngException 2015-04-27 01:24:37 -04:00
est31 27e3a353d8 Remove craftdef serialisation
It isn't needed anymore, sending ICraftDefManager over the network has been obsoleted
by protocol version 7.
2015-04-26 21:30:52 +02:00
est31 4f851faa91 Craftdef refactor
Fix style, refactor assert, use '"' instead of "\"",
replace code duplicating craftGetItemName, rename iterators.
2015-04-26 21:28:40 +02:00
kwolekr 7220ca906d Tests: Modularize unit testing
Split unit tests into separate files under src/unittest/
Give better unittest diagnostics
Clean up some code
2015-04-26 15:08:54 -04:00
Aaron Suen 1fb3d1156c Fix fast leaves with texture_clean_transparent enabled. 2015-04-26 23:39:40 +10:00
Kevin Ott 400c6087b6 Fix player pitch and yaw not being set properly 2015-04-26 23:36:05 +10:00
nerzhul ab04b7fe94 Remove unused variable Client::m_active_blocks 2015-04-24 15:41:45 +02:00
paramat ac6efa2539 DecoSchematic: Fix missing trees in rough terrain
Move place_on check to before place_center_x/y/z displacement of p
Reduce displacement of p by place_center_x/y/z flags
to correctly position schematics
2015-04-23 02:44:25 +01:00
est31 ccc09abc2d Protocol 25: wstring -> string for custom access denial reasons
Also fix std::logic_error when server::DenyAccess() is used with only two arguments.
2015-04-22 14:10:39 +02:00
nerzhul eec01bc2fa Re-apply 972d17baea81ffe6d508b291ef97207a4822e1da...
but not rename the container. Approved-By est31
2015-04-22 11:47:22 +02:00
SmallJoker 17a173f474 Fix crash on startup (Windows) 2015-04-22 13:48:10 +10:00
ShadowNinja 3be9787e64 Only lowercase project name at compile time 2015-04-21 20:51:16 -04:00
kwolekr e0eec201a1 Revert "m_active_object_messages is used like a queue. Use std::queue instead of std::list. Also rename to m_active_object_messages_queue"
This reverts commit 972d17baea.
The commit being reverted was unauthorized.  There had been no discussion,
review, or sign-off prior to submittal to upstream.
2015-04-21 18:12:01 -04:00
Loic Blot 972d17baea m_active_object_messages is used like a queue. Use std::queue instead of std::list. Also rename to m_active_object_messages_queue 2015-04-21 23:28:13 +02:00
kwolekr 943c6e523e Noise: Add noise unittests
Fix buffer size calculation for lacunarity < 1.0
Add guard against absurd noise parameters
2015-04-21 13:05:14 -04:00
ShadowNinja c197e03922 Fix sign-compare compiler warnings in mg_ore.cpp 2015-04-20 22:57:30 -04:00
ShadowNinja d36067fda5 Fix mod store rating 2015-04-20 22:48:14 -04:00
kwolekr 46a2c1f167 Ore: Add biomes parameter 2015-04-20 20:25:33 -04:00
kwolekr a443a13a9d Fix build on OS X (Thanks neoascetic) 2015-04-20 01:35:41 -04:00
kwolekr 3d4244cc75 Add 'persistence' alias for Lua noiseparams and validate more vector parameters 2015-04-19 21:42:40 -04:00
kwolekr 687d969c9c Noise: Correct noise objects created with invalid dimensions 2015-04-19 21:39:10 -04:00
kwolekr 386d695330 Porting: Refactor initalizePaths()
Add support for Solaris and HP-UX
Search additional potential procfs locations for current executable
2015-04-19 16:52:58 -04:00
est31 f1a41e4f77 Disable connection timeout for singleplayer and server tabs
In worlds with many mods we can easily reach timeout, waiting for the server to start.
2015-04-19 19:58:21 +02:00
paramat a615da6b12 Biome API: Add biome-specific river water 2015-04-19 06:09:57 +01:00
obneq 0c792db05c fix infinite spawners 2015-04-18 20:14:34 +02:00
kwolekr e0889c6c03 Schematics: Fix core.schematic_create() 2015-04-17 18:39:37 -04:00
SmallJoker 5f0b36b8b7 10s timeout when connecting to server 2015-04-17 10:40:48 +02:00
est31 d4d561fbcd Fix build since: "Remove referenced schematics from Decorations on clear"
Fixes build, which has been broken for all platforms (except BSD?) since
grandparent 406d9ba87b.
Thanks to @SmallJoker for pointing out a solution.
2015-04-17 10:30:59 +02:00
kwolekr 3576f4fab7 Switch to check_v3s16 in l_mapgen.cpp and l_vmanip.cpp for type safety 2015-04-17 01:03:13 -04:00
kwolekr 406d9ba87b Schematics: Remove referenced schematics from Decorations on clear 2015-04-17 00:53:05 -04:00
est31 f0a1379e5a Refactor around translatePassword
Change types for passed password from wstring to string, which removes converting
back and forth in most cases. Move the narrow_to_wide conversion, where its neccessary,
closer to irrlicht. Remove trailing spaces in guiPasswordChange.cpp. Make parameters for
translatePassword passed as const reference.
2015-04-17 06:10:30 +02:00
kwolekr 821d0025da Biomes: Remove referenced biomes from Decorations on clear 2015-04-16 23:38:05 -04:00
est31 4abb96fb54 Fix path detection with --std= parameter
Fixes path detection when compilers have been told to follow a standard, e.g. with -DCMAKE_CXX_FLAGS=--std=c++98.
To see the passed defines, try this with and without the --std parameter:
gcc -E -dM --std=c99 - < /dev/null | grep linux
2015-04-17 05:12:06 +02:00
est31 b318c4712c Fix build for < C++11 since last commit
Build broke since last commit 479f38973e for compilers not supporting C++11.
Pre C++11, the constructor of std::ifstream only allows C like strings.
2015-04-17 02:34:02 +02:00
kwolekr 479f38973e Schematics: Refactor NodeResolver and add NodeResolveMethod
NodeResolver name lists now belong to the NodeResolver object instead of
the associated NodeDefManager.  In addition to minimizing unnecessary
abstraction and overhead, this move permits NodeResolvers to look up nodes
that they had previously set pending for resolution.  So far, this
functionality has been used in the case of schematics for
serialization/deserialization.
2015-04-16 16:27:05 -04:00
Loic Blot 0c634a9719 Use std::vector instead of std::set for Environment::getObjectsInsideRadius
We are only iterating sequentially, we don't need a set here
Also use a vector reference instead of a copy
2015-04-16 18:37:29 +02:00
paramat d02300a749 Mgv5: Fix above/below ground spawn when water level is altered 2015-04-16 06:36:57 +01:00
paramat ad789be45b Mgv5/v7: Add check for water for deciding biome node stability 2015-04-16 04:01:58 +01:00
paramat a09e4427d6 Defaultsettings: Add dungeons and jungles flags. Update conf.example 2015-04-14 02:04:57 +01:00
kwolekr b2a89c04b2 Schematics: Reorganize (de)serialization and add Lua serialization API 2015-04-13 03:10:52 -04:00
paramat a5f942c3c0 Mgv6: Fix taiga, allow pine tree spawning on snowblocks 2015-04-12 05:52:41 +01:00
paramat 75cbd80e5b Mgv6: Add optional snow biomes 2015-04-12 04:27:26 +01:00
Ner'zhul ce8a9ed94b Fix a rare crash case un SendPlayerHP
If the player is disconnected while Lua API is doing a l_punch call, for example, the playersao is NULL and the server crash. Fix it.
2015-04-11 10:07:23 +02:00
est31 0a413265cb Document for api functions that rely on current_modname, that it doesn't work when not loading mods 2015-04-08 23:05:26 +02:00
kwolekr c758fd73ff Link against shlwapi.lib and unify linker input sources for Windows 2015-04-08 12:56:53 -04:00
Dmitry Marakasov d2fc98e4a6 Fix freetype detection
Don't reinvent freetype detection, use working one from cmake.
2015-04-08 00:37:27 -04:00
kwolekr 0df736173e Schematics: Prepend mod path to relative schematic filepaths 2015-04-08 00:28:56 -04:00
Loic Blot 5132908f4b TOCLIENT_ACTIVE_OBJECT_MESSAGES: channel must be 1 for unreliable message 2015-04-07 14:28:36 +02:00
ShadowNinja 3c6e112c28 Fix missing SQLite3 statement pointer initialization
This fixes a segfault when the database is shut down
before it finishes connecting and setting up.
2015-04-07 00:31:41 -04:00
paramat 392ac41c99 Cavegen: Remove now unnecessary checks for water, lava, ice
Remove large cave checks for air
Mgv5/mgv7:Add is_ground_content checks to 3d noise tunnels
More large caves
Shorten lines
2015-04-07 04:43:24 +01:00
est31 f81759792e Make comments consistent with TOSERVER_INIT -> TOSERVER_INIT_LEGACY rename 2015-04-07 00:15:15 +02:00
Craig Robbins 43aab618e5 Change screenshot filename to one likely to work on all modern filesystems
Fixes #2603
2015-04-06 11:07:51 +10:00
Loic Blot 8804c47e59 TOCLIENT_ACTIVE_OBJECT_REMOVE_ADD can be unreliable, catch PacketError exception.
Also set the packet size at creation not when pushing rawString, no functional change
2015-04-05 11:39:38 +02:00
Loic Blot ed3ebd633d craftdef.cpp: Return 0 after assert to make Clang happy 2015-04-05 11:16:12 +02:00
Loic Blot 4235f671c1 Fix uninitialized variabled in ConnectionEvent 2015-04-05 11:13:30 +02:00
est31 334e70455b Crafting speedup
This greatly increases crafting performance, especially in worlds with many mods.

Approved by @kwolekr.

Introduces a hash-type-layered fall-through mechanism, where every layer specifies one hash algorithm,
and the "deeper the fall", the more collisions to expect for the algorithm. One Craft definition
only resides at one layer, which improves speed for lower layers (and a complete fail), due to most
craft definitions residing at high layers.

Due to the fall-through design, the undocumented behaviour that later craft recipes
override older ones had to be weaked up a bit, but craft recipes with the same hash and layer
will still override.
2015-04-05 09:25:46 +02:00
est31 1cb404522f Remove errorstream logging on password change
This seems to be a debug message which has been forgotten to be removed.
2015-04-03 14:01:41 +02:00