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 3be9787e64362b8a5020746220c65abbe31f8097.
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 972d17baea81ffe6d508b291ef97207a4822e1da.
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 406d9ba87b9f6e57b86c6282bf157e3341aa195c.
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 479f38973e13680d6a39d9c2a7f29fd330b67d41 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
Loic Blot
470de10de3
Fix players spawned at (0,0,0) in some rare cases instead of static_spawnpoint, if set
...
Approved by: @kwoelkr
2015-04-03 09:44:36 +02:00
Loic Blot
aa340fd857
Create PacketError exception and use it with ACTIVEOBJECT_REMOVE_ADD handler which can be unreliable
2015-04-03 08:53:31 +02:00
Aaron Suen
92f20696eb
Fix crash caused by null texture in GUI formspec/HUD.
2015-04-02 23:56:46 +10:00
SmallJoker
58d62ad045
Fix MSVC error caused by ed10005
2015-04-02 22:56:36 +10:00
paramat
74eb14cc80
Treegen: Add pine tree. Force place trunks
...
Speed-optimise leaves blits
Use MMVManip for make_jungletree
Use correct code style
2015-04-01 22:54:49 +01:00