Commit Graph

3907 Commits

Author SHA1 Message Date
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
Craig Robbins
9527984dbc Move globals from main.cpp to more sane locations
Move debug streams to log.cpp|h

Move GUI-related globals to clientlauncher

Move g_settings and g_settings_path to settings.cpp|h

Move g_menuclouds to clouds.cpp|h

Move g_profiler to profiler.cpp|h
2015-04-01 23:04:25 +10:00
Loic Blot
113bdd3ec0 NetworkPacket: reading outside packet is now clearer.
Use a common function to check the reading offset
2015-04-01 14:47:46 +02:00
kwolekr
ddf96c7a17 Fix some minor details from 6d61375 2015-04-01 00:19:10 -04:00
Aaron Suen
6d61375cc7 Clean scaling pre-filter for formspec/HUD. 2015-04-01 00:01:05 -04:00
kwolekr
b4247dff2e Fix usage of destroyed mutex
Also fix a memory leak
Fix overloaded virtual warning in Player::move()
Remove some trailing whitespace
2015-03-31 23:50:38 -04:00
kwolekr
699e066bea Fix set_bits 2015-03-31 23:30:44 -04:00
kwolekr
337e79c656 ObjDefManager, Mapgen SAPI: Huge refactoring
- General code cleanup
 - Unified object creation and loading
 - Specifying objects in APIs is now orthogonal (i.e. anything can take an ID,
   name string, or the raw table definition (and automatically registers if present
2015-03-31 23:27:58 -04:00
Craig Robbins
d1d5618bb8 Fix use of unitialized variable in gettext.cpp
#2583
2015-03-31 21:26:34 +10:00
Loic Blot
1fe4256462 Connection::Receive(): receive Network Packet instead of SharedBuffer<u8>.
Because we get a Buffer<u8> from ConnectionEvent, don't convert it to SharedBuffer<u8> and return it to Server/Client::Receive which will convert it to NetworkPacket
Instead, put the Buffer<u8> directly to NetworkPacket and return it to packet processing
This remove a long existing memory copy
Also check the packet size directly into Connection::Receive instead of packet processing
2015-03-31 11:01:08 +02:00
Loic Blot
ab77bf98ee RunCommandQueues: little optimization
remove command from queue on success, else do nothing, instead of remove command from queue and push it front on success
2015-03-31 09:29:33 +02:00
Loic Blot
7c121726dc Typo in getOutgoingSequenceNumber => successfull to successful 2015-03-31 09:18:11 +02:00
Aaron Suen
db32e6c5aa Move texture_min_size even further down the pipe. Now, textures are JIT-upscaled using an image transformation, right at the time they're added to a mesh or particle; images used in 2D elements are left unscaled. This should fix any remaining issues with HUD elements. 2015-03-31 16:56:33 +10:00
Craig Robbins
862d4ea328 Change format of screenshot names
Filename screenshot_ + ISO 8601 format + [-serial]

i.e. screenshot_YYYY-MM-DDTHH::MM::SS[-serial].png

Serial is added if the filename + timestamp already exists and is in the range 1 to 999
2015-03-31 16:24:25 +10:00
kwolekr
ed10005d38 GenElementManager: Pass opaque handles to Lua and rename to ObjDefManager
Add core.clear_registered_schematics() and refactor schematics somewhat
2015-03-31 01:11:51 -04:00
Loic Blot
6a48844eba Use Buffer not SharedBuffer in NetworkPacket::oldForgePacket 2015-03-30 19:55:14 +02:00
Craig Robbins
ff924ef0dc On Android enable always fast
Invert the meaning of holding down the fast button (i.e. holding down the fast button -- if there is one -- means walk), unless performing an action, sneaking or jumping.
Still requires fast move to be toggled on (and fast priv)
2015-03-30 00:40:12 +10:00
Craig Robbins
5ee0d8ac81 Fix Android build-related bugs
E.g. Sound and freetype always being disabled, redefinition of pre-processor directives
2015-03-29 22:27:01 +10:00
Craig Robbins
e1475bdc89 Make sure g_timegetter is initalised before running speedtests
Thanks @SmallJoker for noticing the issue
2015-03-29 22:21:32 +10:00
Craig Robbins
34101015b2 Fix typo 2015-03-29 22:08:14 +10:00
Loic Blot
dfe00abc5a queued_commands must be a std::deque. RunCommandQueues needs to push packet on front, not back 2015-03-29 10:49:43 +02:00
Loic Blot
3444dec2db Fix uninitialized variable Player::local_animation_speed 2015-03-28 10:46:01 +01:00
Craig Robbins
2430b2e998 Add Lua function get_video_modes() for main menu
Also updates and uses porting::getSupportedVideoModes()
2015-03-28 13:26:03 +10:00
ShadowNinja
3ef0b4e637 Make camera clear error message if there's no error 2015-03-27 22:20:10 -04:00
ShadowNinja
5659434d32 Fix GetText translation loading 2015-03-27 22:10:08 -04:00
ShadowNinja
30075467b8 Change error_message from wstring to string
This removes a lot of narrow/wide conversions where a wide string was never used.
2015-03-27 20:24:04 -04:00
ShadowNinja
3d53c90d4b Fix MSVC compile error 2015-03-27 15:16:41 -04:00
ShadowNinja
93fcab952b Clean up and tweak build system
* Combine client and server man pages.
  * Update unit test options and available databases in man page.
  * Add `--worldname` to man page.
  * Fix a bunch of places where `"Minetest"` was used directly instead of `PROJECT_NAME`.
  * Disable server build by default on all operating systems.
  * Make `ENABLE_FREETYPE` not fail if FreeType isn't found.
  * Enable LevelDB, Redis, and FreeType detection by default.
  * Remove the `VERSION_PATCH_ORIG` hack.
  * Add option to search for and use system JSONCPP.
  * Remove broken LuaJIT version detection.
  * Rename `DISABLE_LUAJIT` to `ENABLE_LUAJIT`.
  * Rename `minetest_*` variables in `version.{h,cpp}` to `g_*`.
  * Clean up style of CMake files.
2015-03-27 15:00:48 -04:00
paramat
d1681872bf lua_api/l_mapgen: generate_ores/decorations: make p1, p2 optional 2015-03-24 18:07:29 +00:00
Craig Robbins
4fbcfac6cf Change filename of screenshots to something more human readable 2015-03-25 02:55:28 +10:00
Craig Robbins
2641fcc4bb Update timestamp to include date 2015-03-25 02:30:17 +10:00
Loic Blot
7851c4f7a2 Don't send an InventoryAction at each setInventoryModified, we only need one SendInventory per inventory modification
Client doesn't like to receive multiples SendInventory for one action, this can trigger glitches on clients (sometimes due to incorrect UDP packet ordering due to UDP protocol)

This fix issue #2544
2015-03-24 14:13:17 +01:00
Craig Robbins
9fbc3a8ca3 Slow down the "key repeat" touch speed for some Android controls
Increases the key/buttons repeat delay for fly, noclip, fast, debug and camera buttons
2015-03-24 22:19:32 +10:00
kwolekr
732d7b9a7c Add core.register_schematic() and cache schematics on use 2015-03-23 22:23:38 -04:00
kwolekr
9fc2b93d9f Fix endianness inconsistency with PcgRandom::bytes() 2015-03-23 22:23:16 -04:00
kwolekr
a423202756 Schematics: Error if unable to open file 2015-03-23 22:22:14 -04:00
kwolekr
11372ac646 Do not enable texture_clean_transparent by default
This feature is still experimental and has some issues. Also,
increase texture_min_size to 64 px. The setting was initially
a conservative 16 so that the effect would not be noticable
for players who aren't using aniso/bi/trilinear filtering. This
isn't necessary now that texture_clean_transparent is disabled
by default.
2015-03-23 18:25:14 -04:00
paramat
37a6297025 Mgv6: Use heightmap in placeTreesAndJungleGrass() 2015-03-23 21:55:01 +00:00
Aaron Suen
6cf7c89236 Fix for sun/moon tonemaps: don't upscale 1px images. 2015-03-23 17:01:37 +10:00
est31
5b5c498011 Fix minetest.get_craft_recipe function
Previously, calling it resulted in a crash.
2015-03-23 13:40:20 +10:00
Loic Blot
0ae75f2a4e Player: Fix a deadlock triggered by previous commit 0e5e49736c0a5fa29bca257bafc02d7c7a7171c9 2015-03-22 21:33:09 +01:00
Loic Blot
0e5e49736c Protect Player::hud from concurrent modifications
Sometimes HUD can be modified by ServerThread and EmergeThread results in a crash on client side because the HUD is not correct
2015-03-22 20:47:07 +01:00
paramat
d6638b4300 Mgv7: 1 up , 1 down overgeneration for chunk border continuity
Fixes biome layer at y = 47 when base/alt terrain exceeds it
Also fixes missing dust glitch at y = 47
Mgv5/mgv7:Cleanup code
2015-03-22 19:30:08 +00:00
Loic Blot
008d7e0467 Revert "Add a Lua call to do damages / heals" ok @ShadowNinja
This reverts commit 467fc0ddc912ae38c3bf9fcb99e0b66d7478eec0.
2015-03-22 18:01:56 +01:00
Loic Blot
61f2d0ca34 Remove unused ConnectionCommand::sendToAll function. NetworkPacket::oldForgePacket returns Buffer instead of SharedBuffer and is used in ConnectionCommand instead of Connection::Send
This remove the NetworkPacket buffer => SharedBuffer => Buffer copy. Now NetworkPacket => Buffer
2015-03-22 12:18:16 +01:00
kwolekr
761b127060 Fix some loose ends from 3993093f 2015-03-22 02:58:54 -04:00
kwolekr
3993093f51 Add support for the PCG32 PRNG algo (and associated script APIs) 2015-03-22 00:48:08 -04:00
poet-nohit
7679396ebb SendInventory when handleCommand_Interact is a use.
This call was missing when change looping to triggering SendInventory: 1b2f64473ed4f222d3b7f02df853730d4382105e
2015-03-21 21:37:32 +01:00
Aaron Suen
837a2e1e5f Fix composite textures with texture_min_size. Moved upscaling of textures to later in the process, when images are converted to textures, instead of right after image load, so the original image is unmodified for generateImagePart. 2015-03-22 01:31:01 +10:00
SmallJoker
709f4a50f7 Connect rails with connect_to_raillike and shorten the codes 2015-03-21 22:59:27 +10:00
gregorycu
03e0dd33a8 Optimize minetest.get_(all)_craft_recipe(s)
Signed off by: ShadowNinja, kwolekr
2015-03-20 21:41:18 -04:00
Aaron Suen
1e4fb80d46 Configurable automatic texture scaling and filtering at load time.
Signed off by: Zeno, kwolekr
2015-03-20 20:21:42 -04:00
kwolekr
26153bab7d Revert "Fix issue #2441: crash on respawn, since a conversion std::list to std::vector on Environment.cpp"
This reverts parts of commit 9749d9fee6db99da1ab861dc04ec63ef973db3e0, which breaks node resolver
list clearing
2015-03-20 18:41:26 -04:00
paramat
d03c2999da Mgv5/mgv7: Sprinkle dust from full_node_max.Y if chunk above is generated
Mgv5: Add large_cave_depth constant
2015-03-19 10:18:42 +00:00
Loic Blot
2676d289d9 Reset the old HP method on PlayerSAO::setHP 2015-03-19 07:47:45 +01:00
est31
538036d004 Fix game minetest.conf default settings
This was a regression introduced by f6e4c5d9cf459e8278a76a2beaee59732e841458 .
2015-03-18 13:03:02 -04:00
Loic Blot
467fc0ddc9 Add a Lua call to do damages / heals 2015-03-18 14:52:35 +01:00
Loic Blot
8f2e9bfbc2 ServerpacketHandler: spelling fixes 2015-03-18 12:06:02 +01:00
paramat
22730bbc0c Mgv6: Remove addDirtGravelBlobs, replaced by blob ore in Minetest Game
Desert stone above y = -32 not water_level
Remove unused generateExperimental()
2015-03-18 10:55:58 +00:00
fz72
8ca08a850f Save creative_mode and enable_damage setting for each world in world.mt
Create Parameters on world initialisation and set settings of old worlds
2015-03-18 09:53:24 +01:00
Loic Blot
2f0107f4a7 MutexedQueue inherits must use std::deque instead of std::list 2015-03-17 17:12:20 +01:00
Pavel Puchkin
ca5df44edb Standalone bundle for OSX (w/ dependencies!) 2015-03-17 15:37:23 +01:00
Loic Blot
7685969274 Server::step throw is never catched in minetestserver
Replace it with an errorstream + assert for server

This throw can be trigger by LuaError exception or ConnectionBindFailed exception in the following functions:
* EmergeThread::Thread()
* ScriptApiEnv::environment_Step()
* ScriptApiEnv::player_event()
* ServerThread::Thread()
2015-03-17 15:26:20 +01:00
Loic Blot
814e55597d Use the NetworkPacket api to read full version string instead of u8 pointers. Also store the reserved byte to use API properly
Fixes #2509
2015-03-17 14:12:18 +01:00
Loic Blot
bfc4652c66 Fix a little regression on SendActiveObjectMessages which send all TOCLIENT_ACTIVE_OBJECT_MESSAGES as reliable 2015-03-17 09:16:39 +01:00
Craig Robbins
dbe5a446c3 Minor bug fix (lag between damage flash and hearts updating) 2015-03-17 17:39:59 +10:00
Craig Robbins
c552d293fa Fix various damage related bugs (client-side)
E.g. spawning or teleporting into lava to become invinsible
2015-03-17 17:08:00 +10:00
Craig Robbins
34c5a5b377 Minor cleanup: game.cpp
* Sort includes
* Remove unnecessary includes
* Ensure the parameter name for GameRunData is consistent for class member functions
2015-03-17 17:07:39 +10:00
kwolekr
699d42efc6 Revert "Server::step throw is never catched. Replace it with an errorstream + assert"
This reverts commit 5f8e48c63baf12930430d5d8fc07495021599e61.
2015-03-16 21:17:27 -04:00
Loic Blot
5f8e48c63b Server::step throw is never catched. Replace it with an errorstream + assert
This throw can be trigger by LuaError exception or ConnectionBindFailed exception in the following functions:
* EmergeThread::Thread()
* ScriptApiEnv::environment_Step()
* ScriptApiEnv::player_event()
* ServerThread::Thread()
2015-03-16 20:25:35 +01:00
Loic Blot
d63df4ecb1 Move client packet generators to dedicated functions for:
* TOSERVER_INIT_LEGACY
* TOSERVER_DELETEDBLOCKS
* TOSERVER_GOTBLOCKS
* TOSERVER_REMOVED_SOUNDS
Also use a std::vector instead of std::set for TOSERVER_REMOVED_SOUNDS
2015-03-16 12:39:27 +01:00
Loic Blot
e7736ffdd6 Move TOCLIENT_ACTIVE_OBJECT_REMOVE_ADD and TOCLIENT_ACTIVE_OBJECT_MESSAGES to private functions 2015-03-16 12:01:40 +01:00
Loic Blot
b560294050 Rename packethandler/{client,server}.cpp to {client,server}packethandler.cpp
* Requested by @Zeno-
* Approved by @nerzhul
2015-03-16 10:19:19 +01:00
Loic Blot
aaf26b3a44 If player is dead, permit it to respawn, even if damages are not enabled
* Mods can do setHP function to do damages and override the enable_damage value sometimes
2015-03-16 10:02:01 +01:00
Loic Blot
b2801d8127 SendPlayerHPOrDie everytime at client connection, damage enabled or not, this will fix the player which stay dead at connection 2015-03-15 19:09:26 +01:00
est31
e4f7c92cff Finer progress bar updates when initializing nodes
The bar is only drawn when the user will notice a change, which prevents time overheads that this commit would cause, resulting from useless draws.
2015-03-15 22:01:52 +10:00
paramat
89217faec5 mg_decoration: Raise highest allowed deco top to max edge of voxelmanip
Remove max_y from functions, simplify code
2015-03-15 04:15:48 +00:00
Loic Blot
155116852a Android: Backport changes from stable-0.4 2015-03-14 19:59:14 +01:00
Craig Robbins
de6d5ce2cd Disable double-click -> ESC translation for main menu 2015-03-14 23:41:42 +10:00
Loic Blot
0e93eefb8f client.cpp: typo fix and break; fix to make some compilers happy 2015-03-13 22:08:48 +01:00
Loic Blot
083c8c734e Replace NetworkPacket pointers to references 2015-03-13 22:01:49 +01:00
Loic Blot
74d34da6cb Prepare Protocol v25 init & authentication.
* TOSERVER_INIT and TOCLIENT_INIT renamed to _LEGACY
* TOSERVER_PASSWORD merged from dev-0.5, can use protocol v24 and v25
* TOCLIENT_ACCESS_DENIED merged from dev-0.5, can use protocol v24 and v25, with normalized strings an a custom id for custom errors
* new TOSERVER_INIT packet only send MT version, supported compressions, protocols and serialization, this permit to rework everything later without break the _INIT packet
* new TOSERVER_AUTH packet which auth the client
* new TOCLIENT_HELLO packet which send server serialization version atm
* new TOCLIENT_AUTH_ACCEPTED which is send when TOCLIENT_AUTH was okay. After this packet, the client load datas from servers, like after TOCLIENT_INIT_LEGACY packet
2015-03-13 20:23:03 +01:00
Loic Blot
9f3fc7201b Handle the newly added TOCLIENT_ACCESS_DENIED and TOCLIENT_DELETE_PARTICLESPAWNER
* Rename the handlers from _Legacy to regular, because here we can use same handlers
* Fix some packet names and pseudo handlers
2015-03-13 14:28:20 +01:00
Loic Blot
126f36c2e6 Rename some packet and handlers to <packet>_Legacy name for compat layer between new network changes and old network clients 2015-03-13 13:40:48 +01:00
Loic Blot
4e63c977c7 Use the new Player::isDead function when it's the case 2015-03-13 08:57:58 +01:00
Loic Blot
afb19f3a1f handleCommand_Breath mustn't update breath is player is dead. A dead player doesn't breath.
Add Player::isDead function to check player is dead
2015-03-12 11:27:28 +01:00
Loic Blot
3067d78216 Don't handle PlayerPos packet coming from client if player is dead 2015-03-12 10:32:16 +01:00
paramat
6ce0985f47 Mgv5/mgv7: Add desert temples if desert stone detected in mapchunk 2015-03-12 02:33:16 +00:00
est31
140245a76f Unescape tooltip texts
Previously, tooltips didn't unescape escaped formspec texts.
Item descriptions that trigger tooltips like inside inventories or for item_image_button
don't need to get unescaped, as they don't get set using formspec, but from lua.
2015-03-11 14:33:07 +01:00
paramat
29e46d6b29 Mgv6: Fix uninitialised heightmap used by cavegen 2015-03-11 06:04:07 +00:00
paramat
b2b6bbf3e8 lua_api/l_mapgen: Fix overlapping areas of minetest.generate_ores/decorations 2015-03-11 03:36:39 +00:00
ShadowNinja
adfcdc5484 Silence Clang warning 2015-03-10 20:47:52 -04:00
Craig Robbins
d4e210ee95 Ensure that heightmap is initialized before use
Without this, cavegen will use values in the heightmap before they are initialized.
2015-03-10 18:46:28 +10:00
Craig Robbins
e74b8da54e Stop formspecs closing with double-click in empty area
Behaviour on Android remains the same until other alternatives can be devised (if possible)

See #2425 (and the many other -- now closed -- issues reporting this feature as a bug)
2015-03-09 12:42:25 +10:00
Loic Blot
3ae16f1c17 Fix memleak pointed by issue #2439.
Also change bzero to memset. bzero doesn't work on windows
2015-03-08 18:13:27 +01:00
Loic Blot
57d86cf574 Fix unitialized data when creating TOSERVER_INIT packet 2015-03-08 18:03:43 +01:00
ShadowNinja
969413b9fa Make the dummy backend only look up blocks once 2015-03-08 03:16:40 -04:00
paramat
d463000595 Heightmaps: Fix uninitialised values in mgv5/mgv6. findGroundLevel: Return -MAP_GENERATION_LIMIT if surface not found 2015-03-08 03:54:03 +00:00
gregorycu
267c9f4cb4 Optimize Profiler::avg() 2015-03-07 20:04:01 -05:00
ShadowNinja
d75a0a7394 Don't use luaL_checkstring to read node names, it's only for arguments
This caused confusing error messages like "argument #4 to set_node is not a string."
2015-03-07 20:04:01 -05:00
ngosang
f6e4c5d9cf Respect game mapgen flags and save world noise params 2015-03-07 15:53:39 -05:00
sapier
9da99efca2 Fix RUN_IN_PLACE broken due to invalid usage of assert 2015-03-07 15:22:35 +01:00
Craig Robbins
ced6d20295 For usages of assert() that are meant to persist in Release builds (when NDEBUG is defined), replace those usages with persistent alternatives 2015-03-07 22:41:47 +10:00
Loic Blot
a603a76787 Improve Clouds::render mathematics 2015-03-07 13:27:43 +01:00
Craig Robbins
5698e2baf8 Fix Android text bug (no text displaying) 2015-03-07 20:51:07 +10:00
paramat
ffdf8dedb7 Dungeongen: Optionally set ignore to be untouchable to disable floating dungeons 2015-03-07 01:41:53 +00:00
ShadowNinja
e9eda2b0d0 Don't start a server for map migration 2015-03-06 00:20:45 -05:00
ShadowNinja
708337dfc2 Clean up database API and save the local map on an interval 2015-03-06 00:20:45 -05:00
paramat
c7454d4732 Biome API: Enable decorations placed on water
Add schematic decoration force placement flag
2015-03-06 03:32:15 +00:00
BlockMen
b65c7ab4a4 Improve group-based connection between raillike nodes 2015-03-05 23:24:32 +01:00
Loic Blot
40c2c18a3f l_get_modnames: Compare using std::sort instead of a custom function which does same work 2015-03-05 20:12:54 +01:00
Loic Blot
c00eed90d3 collisionMoveSimple: use std::vector instead of std::list, this improve the performances 2015-03-05 18:08:19 +01:00
Loic Blot
6c09b34edc ProfilerGraph: Use std::list instead of std::vector 2015-03-05 17:57:47 +01:00
Craig Robbins
daa1c30b35 Fix mapgen using unitialised height map values 2015-03-06 01:42:55 +10:00
Loic Blot
3d505b2b5f Use std::queue for HTTPFetchRequest and std::vector for log_output instead of std::list 2015-03-05 16:21:10 +01:00
Loic Blot
9749d9fee6 Fix issue #2441: crash on respawn, since a conversion std::list to std::vector on Environment.cpp
* Also change some std::list to std::vector for ClientMap::renderMap
* Remove disabled code in ClientMap::renderMap, disabled since a long time
2015-03-05 15:36:20 +01:00
Loic Blot
0d1eedcccc Replace std::list to std::vector into tile.cpp (m_texture_trash) and move tile.hpp to src/client/ 2015-03-05 11:59:40 +01:00
Loic Blot
aa474e4501 Server.cpp Use std::list instead of std::vector for playSound, fillMediaCache, sendRequestedMedia, sendMediaAnnouncement and related functions 2015-03-05 11:40:04 +01:00
Loic Blot
82482ecd9d Server::AsyncRunStep: buffered_messages now uses std::vector instead of std::list. * sendRemoveNode and sendAddNodes are also converted as a side effect 2015-03-05 11:23:54 +01:00
BlockMen
36e8ba9ce2 Fix some rendering glitches
- Fixes particle draworder
- Fixes nodehighlighting
2015-03-05 10:51:18 +01:00
Loic Blot
365e4ae0fa Performance improvement: Use std::list instead of std::vector for request_media, Server::getModNames, Environment::m_simple_objects.
* Also remove unused Server::m_modspaths
2015-03-05 10:44:48 +01:00
Loic Blot
b214cde5b4 Remove Queue class which uses std::list and use native std::queue 2015-03-05 16:49:51 +10:00
Craig Robbins
9e67579315 Fix memory leak in MapgenV6 2015-03-05 15:17:37 +10:00
paramat
eb7482fd73 Cavegen, mgv5: Cleanup code
Conf.example: Update mgv5 mapgen params
Mgv7: Lava caves only below -256
2015-03-04 23:53:58 +00:00
Loic Blot
cd684497c2 Use std::vector instead of std::list in StaticObjectList and MutexedMap::getValues() 2015-03-04 17:22:37 +01:00
Loic Blot
06f328207f ABMHandler and player_collisions use sequential read/write. Switch from std::list to std::vector
* Also remove dead code Map::unloadUnusedData which is dead since a long time
2015-03-04 17:02:36 +01:00
Loic Blot
2066655aae ClientInterface::getClientIDs doesn't need a std::list. Use a std::vector for better perfs 2015-03-04 16:30:24 +01:00
Loic Blot
7e088fdfe3 We always know playerSAO when calling SendInventory. Using it instead of searching it via peer_id 2015-03-04 15:28:33 +01:00
Loic Blot
40bf1d7b5f Send Position packet on event, don't check it at each AsyncRunStep.
* This permit to cleanup the player checking loop
2015-03-04 12:19:26 +01:00
Loic Blot
7f8f9785d7 ASyncRunStep doesn't need to lock when do setTimeOfDaySpeed.
* setTimeOfDaySpeed already lock a mutex when modify the value, we don't need to lock all environment.
* add a fine grain lock for getTimeOfDay and setTimeOfDay to solve environment multithread modifications on this value
2015-03-04 11:46:31 +01:00
Loic Blot
1b2f64473e Send Inventory packet on event, don't check it at each AsyncRunStep.
* Call UpdateCrafting into SendInventory because this functions is only called before SendInventory
* Use Player* instead of peer_id for UpdateCrafting because SendInventory already has the Player* pointer, then don't loop for searching Player* per peer_id
* m_env_mutex don't need to be used with this modification because it's already locked before the calls
2015-03-04 11:29:39 +01:00
Loic Blot
038d3a31df Remove unused m_wielded_item_not_sent 2015-03-03 17:36:54 +01:00
Loic Blot
7e56637ed0 Send Breath packet on event, don't check it at each AsyncRunStep 2015-03-03 16:33:20 +01:00
Loic Blot
64ff966bae Send Player HP when setHP (or a setHP caller) is called instead of looping and testing the state change. 2015-03-03 16:06:04 +01:00
Miguel Almeida
056e8f7839 Fix occlusion 2015-03-02 12:09:02 +01:00
Craig Robbins
aefe80769b Fix narrow_to_wide_c (ANDROID)
* Ensure converted string is NUL terminated
* Restore logic to that used prior to 9e2a9b5
2015-03-02 13:16:01 +10:00
paramat
773aa8c57b Mgv6: Add heightmap. Do not make large caves that are entirely above ground 2015-03-02 02:13:43 +00:00
Loic Blot
3b1ac5b889 Revert "Fix particles draworder" (issue #2388)
This reverts commit c09d026f0561ee3c6db821a7e193716f724a0e4a.
2015-02-27 14:15:24 +01:00
Craig Robbins
fdb9140825 Change find_surface_nodes_in_area to find_nodes_in_area_under_air 2015-02-27 21:42:00 +10:00
Loic Blot
0f556d0c7f Add find_surface_nodes_in_area LUA call which permit to only get the nodes which touch air. This permit to massively improve performance for mods like plantlife 2015-02-27 21:34:33 +10:00
Craig Robbins
338e66af5f Fix minor memory leak (Android) 2015-02-27 13:40:27 +10:00
paramat
14f7df980b Biome API: Re-calculate biome at every surface in a mapchunk column 2015-02-26 03:35:25 +00:00
rubenwardy
d65a90a86b Add camera smoothing and cinematic mode (F8) 2015-02-25 15:34:33 +01:00
Loic Blot
b4acac706d Rename --do-unittests to --run-unittests as @Zeno- and @sfan5 requested 2015-02-24 08:56:52 +01:00
gregorycu
577701cabd Optimise MapBlockMesh related functions
Directely or indirectly optimises the following functions:

* MapBlockMesh::MapBlockMesh
* MapBlockMesh::getTileInfo
* MapBlockMesh::makeFastFace
* MapBlockMesh::getSmoothLightCombined
2015-02-23 23:20:31 +10:00
Craig Robbins
3b6480c5b0 Fix wrapDegrees family of functions
wrapDegrees() (renamed to modulo360f)
wrapDegrees_0_360
wrapDegrees_180

Minor errors were present in previous versions; see issue #2328
2015-02-23 22:50:32 +10:00
Kahrl
38cf080a9c Disallow object:remove() if the object is a player
Rebased by Zeno- (conflict in lua_api.txt)
2015-02-23 16:49:48 +10:00
kaeza
c5defe7a11 Add mod.conf file support This new file only permits to specify a mod name for now 2015-02-21 18:18:06 +01:00
Loic Blot
009149a073 Fix some memory leaks on packet sending. 2015-02-21 17:27:31 +01:00
Loic Blot
5a5854ea9d Move hex.h to util/ 2015-02-21 14:32:35 +01:00
BlockMen
c09d026f05 Fix particles draworder 2015-02-21 14:11:00 +01:00
Loic Blot
3998a1f8f9 Move sha1.hpp and base64.hpp to util/ 2015-02-21 14:03:27 +01:00
BlockMen
aa31e3c7f3 Use skin font for usernames (fixes #2363) 2015-02-21 13:31:42 +01:00
Loic Blot
cf4045ff0f Use proper CMakeLists.txt for network and client directories 2015-02-21 11:51:12 +01:00
Loic Blot
b3aeba684b Unit tests must be done at integration process.
* Remove --enable-unittests and --disable-unittests and add --do-unittests function
* --do-unittests function will exit 0 on success.
* minetest and minetestserver binaries are launched with --do-unittests in travis build.
2015-02-21 11:04:19 +01:00
paramat
38e6280552 Mgv5: Remove blobgen. Remove crumble and wetness noises
Add large pseudorandom caves below -256
De-link terrain level from water_level
Cavegen: Mgv5 large cave code
2015-02-21 01:43:25 +00:00
Ner'zhul
e357577cb2 Typo fix in networkprotocol.h
InventoryAction is in inventorymanager.h
2015-02-19 20:03:22 +01:00
est31
5a0ed780f5 Server: announce MIN/MAX protocol version supported to serverlist. Client: check serverlist
Client now informs about incompatible servers from the list, this permits to prevent the protocol movements.
Server announces its supported protocol versions to master server
2015-02-18 16:09:59 +01:00
BlockMen
8941ea0cc9 Increase default font_size 2015-02-18 12:51:17 +01:00
BlockMen
9a9fcfc9a3 Fix font_size under windows 2015-02-18 12:39:23 +01:00
Perttu Ahola
4d744cf87a Use fixed size for builtin menus on non-android platforms 2015-02-18 12:33:40 +02:00
Loic Blot
27d4e89d32 Fix unused (and so, broken) enable_rollback_recording. This option must be reloaded at server loop but loaded when server starts, for data consistency (not a hot load variable)
ok @ShadowNinja
2015-02-18 09:28:39 +01:00
fz72
0a299fd4e5 Fix map_seed not changed when creating a new world after login to another 2015-02-18 08:57:14 +01:00
Loic Blot
2079462e62 Change many useless std::list into Environment class (m_players), ABMHandler and ActiveBlockList::update
This improve looping performances.
2015-02-17 16:50:03 +01:00
Kahrl
81b9c023c4 Grab GUIChatConsole::m_font, fixes segfault when changing font_size 2015-02-18 00:38:57 +10:00
Loic Blot
fd70f4f2f0 Replace std::list by std::vector into ClientMap::updateDrawList, Map::timerUpdate and ServerMap::save().
This will speedup the loop reading into those functions
2015-02-17 15:28:49 +01:00
Loic Blot
3c91ad8fc2 Replace std::list by std::vector into timerUpdate calls 2015-02-17 15:08:37 +01:00
Novatux
24315db6ef Ignore old entities from 0.3. 2015-02-17 15:07:05 +01:00
Loic Blot
54487b3e70 Remove old comment from Network Rework Patch 2/4 2015-02-17 14:49:21 +01:00
Loic Blot
718bcafd51 Replace std::list by std::vector into ServerMap::listAllLoadableBlocks ServerMap::listAllLoadedBlocks and their database backends.
This adds a speedup on database migration and /clearobjects command
2015-02-17 14:35:44 +01:00
Loic Blot
c58d49977d SAO: re-add old ActiveObjectTypes for a future migration layer 2015-02-17 11:37:55 +01:00
Loic Blot
f8d5af7536 SAO work: ActiveObject types & SAO cleanup * Replace u8 types with ActiveObjectType. * Merge content_object.h into activeobject.h * Remove DummyLoadSAO, it's now unused. * Remove ItemSAO, it's also unused 2015-02-17 09:09:50 +01:00
Yaman
98d80e2012 Add player direction to on-screen debug text
(PR Modified slightly)
2015-02-17 01:56:21 +10:00
Loic Blot
7c8793cbea Performance Improvement: Use a cache which caches result for getFacePositions.
This greatly reduce the number of std::list generated by caching the result, which is always constant for each radius selected.
In the callgrind map, you will see original:
  * 3.3M calls to std::list for 9700 calls to getFacePositions
In the modified version, you will see:
  * 3.3K calls to std::list for 6900 call to getFacePositions
Callgrind map is here: #2321

it's a huge performance improvement to l_find_node_near
2015-02-16 11:27:44 +01:00
Loic Blot
ed04e8e9e4 [Patch 2/4] Network rework: packet writing, sending and cleanups
NetworkPacket.cpp:
* Remove some deprecated functions, we must use streaming interface
* m_data converted from u8* to std::vector<u8>
* Add an exporter to forge packet to Connection object
* implement operator << std::wstring. n
* implement operator << std::string
* dynamic resize when write packet content.
* fix string writing and performances.
* create ServerCommandFactory, used by client to get useful informations about packet processing (sending).
  * Reliability
  * Transmit channel
* Implement putRawString for some ugly char (_INIT packet), and use it.
* Many packet read and write migrated
* Implement oldForgePacket to interface writing with current connection
* fix U8/char/bool writing
* fix string writing and performances.
* add some missing functions
* Use v3s16 read instead of reading x,y,z separately
* Add irr::video::SColor support into packets
* Add some missing handlers
* Add a template function to increase offset
* Throw a serialization error on packet reading (must be improved)

PacketFactories:
* Create ServerCommandFactory, used by client to get useful informations about packet processing (sending).
* Create ClientCommandFactory, used by server to get useful informations about packet processing (sending).

Client.cpp:
* implement NetworkPacket ::Send interface.
* Move packet handlers to a dedicated file
* Remove Client::Send(SharedBuffer)

Server.cpp:
* implement NetworkPacket ::Send interface.
* Rewrite all packets using NetworkPacket
* Move packet handlers to a dedicated file
* Remove Server::Send(SharedBuffer)

ClientIface.cpp:
* Remove sendToAll(SharedBuffer<u8>)

Connection.hpp rework:
* Remove duplicate include
* Remove duplicate negation
* Remove a useless variable
* Improve code performance by using a m_peers_list instead of scanning m_peers map
* Remove Connection::Send(SharedBuffer)
* Fix useafterfree into NetworkPacket Sending
* Remove unused Connection::sendToAll

Test.cpp:
* Remove dead code
* Update tests to use NetworkPackets

Misc:
* add new wrappers to Send packets in client, using NetworkPacket
* Add NetworkPacket methods for Connection
* coding style fix
* dead code since changes cleanup
* Use v3s16 read instead of reading x,y,z separately in some packets
* Use different files to handle packets received by client and server
* Cleanup: Remove useless includes

ok @Zeno-
Tested by @Zeno- @VanessaE and @nerzhul on running servers
2015-02-16 11:00:55 +01:00
Loic Blot
8aebc31a17 Fix unit test if there isn't a localhost address (for example FreeBSD jails), second part 2015-02-15 14:30:34 +00:00
Loic Blot
a3e2b3e404 Fix unit test if there isn't a localhost address (for example FreeBSD jails) 2015-02-15 13:11:03 +01:00
Loic Blot
3b6b9435c5 Only do the IPv6 unit test if IPv6 is enabled 2015-02-15 12:20:37 +01:00
Loic Blot
7880ff74b6 Re-apply 4a6582c13c36cab457b78f32338c6bb4ab9ea58b broken since 146f77fdb750833c649de7159a0833c398e14a4d 2015-02-14 09:21:04 +01:00
Craig Robbins
d44cb547f2 Suppress CGUITTFONT build warnings 2015-02-13 23:54:05 +10:00
ngosang
c7a7803780 Minor fixes in translations 2015-02-12 16:41:40 +01:00
BlockMen
d302629392 Fix gettext on MSVC 2015-02-12 16:03:55 +01:00
ngosang
e102cbd840 Fix .zip extraction (mod store) 2015-02-12 15:27:20 +01:00
Loic Blot
146f77fdb7 main.cpp rework * Move ClientLauncher class to a dedicated file * ClientLauncher now owns print_video_modes and speed_tests functions (they are only called by him) * Move GameParams to shared/gameparams.h because it's shared between server and client and launcher need to know it * Move InputHandlers class to client/inputhandler.h * Cleanup includes 2015-02-12 15:00:03 +01:00
Loic Blot
a19ec3328c Remove unused variables to make clang happy 2015-02-12 11:13:27 +01:00
ngosang
4a6582c13c Small changes in the style of controls 2015-02-12 09:54:48 +01:00
Loic Blot
c3a23ebc28 Make Clang happy with lua lauxlib.c.
No functionnal change
2015-02-12 08:00:22 +01:00
est31
b2f3ffe308 Enable LUA_USE_POSIX if possible in bundled Lua
Fixes warning:
src/lua/src/loslib.c:60: Warning: the use of `tmpnam' is dangerous, better use `mkstemp'
2015-02-12 16:14:12 +10:00
Craig Robbins
66efaaa983 Fix Android compile warning 2015-02-12 13:16:38 +10:00
Loic Blot
a9355284b5 Don't permit to open inventory is playerCAO isn't present. This prevent to open an empty inventory at player load. ok @zeno- 2015-02-11 12:23:14 +01:00
Loic Blot
8252e1ecd0 Fix issue #2279. ok @zeno- 2015-02-11 10:03:29 +01:00
Craig Robbins
c8f60bd224 Remove workaround in itemdef.cpp to enable/disable/enable "enable_shaders" setting
* Increase performance (client)
* Avoid changing a global value to solve a local problem
2015-02-11 17:45:49 +10:00
ShadowNinja
98b37e3e0d Fix Android build of narrow_to_wide 2015-02-11 02:28:22 -05:00
Craig Robbins
f824866686 Revert "Remove workaround in itemdef.cpp to enable/disable/enable "enable_shaders" setting"
This reverts commit d25ff8fd2592f457b91e8a61240694af3902d23f.
2015-02-11 17:01:19 +10:00
Craig Robbins
d25ff8fd25 Remove workaround in itemdef.cpp to enable/disable/enable "enable_shaders" setting
* Increase performance (client)
* Avoid changing a global value to solve a local problem
2015-02-11 16:02:16 +10:00
Markus Koschany
cfca5f99e6 Fix FTBFS on GNU/Hurd platform
Minetest fails to build on GNU/Hurd due to a name clash with OSX/Apple,
both are defining the __MACH__ keyword. This commit fixes the issue.
2015-02-11 15:59:58 +10:00
Craig Robbins
caf8d2a9d1 Increase MapBlock::actuallyUpdateDayNightDiff() performance by 2-8x. ok @celeron55
Before patch, function consumes up to ~8% of the main server loop. After, ~0% (below level of 2 places of significance)
2015-02-10 16:23:37 +01:00
Loic Blot
bb59a8543d Replace getPlayer(playername) by getPlayer(peer_id) in some possible cases. ok @Zeno- 2015-02-10 16:03:16 +01:00
Loic Blot
368496b612 Craftdef.cpp: Improve loop and mathematics for CraftDefinitionShaped::check 2015-02-10 14:16:28 +01:00
ngosang
dd2bb950be Fix Exit to OS button focus in Pause Menu 2015-02-10 21:23:16 +10:00
Loic Blot
a704c04f00 Network Layer 7 rework (Packet handling)
* Move networkcode to a dedicated directory
* Rename clientserver.h to network/networkprotocol.h (Better name) and sanitize some includes
* Create object NetworkPacket
  * It stores command (opcode) and data separated
  * It also stores peer_id
  * Data reading can be done by using a streaming interface
* Change packet routing analysis
  * Remove old conditional analysis
  * Now uses function pointed analysis and add connection state ({Client,Server}::handlers)
  * Connection state permit to categorize condition to handle before analyze packets
  * Create a handler for depreciated messages, instead of duplicating code
2015-02-10 20:04:08 +10:00
kwolekr
15c037614f Hud: Modify Y-positioning of health/breath starbars to prevent overlapping with Hotbar 2015-02-08 12:47:45 -05:00
gregorycu
a0535d286b Fix rebase bug, make render loop use cache setting 2015-02-07 22:23:36 +10:00
Craig Robbins
0904884ad4 Fix warnings in CGUITTFont.cpp 2015-02-06 23:02:15 +10:00
ShadowNinja
1367e8ffff Fix gettext 2015-02-05 11:49:14 -05:00
ShadowNinja
9e2a9b55e1 Reduce gettext wide/narrow and string/char* conversions 2015-02-05 03:24:22 -05:00
ShadowNinja
84c367bb46 Fix translation memory leak 2015-02-05 03:24:13 -05:00
ShadowNinja
8bbf106379 Fix translation finding of overlay messages 2015-02-05 03:24:00 -05:00
paramat
bec5d3ab22 Mgv7 mountains: Remove divide by zero code that creates vast walls
Conf.example: Add mgv7 cave1, cave2 noiseparams
Mgv7: Make skipping of mountain code relative to y=0 not water level
Mountain noise offset now -0.6 to compensate
Tune chance of large caves
2015-02-05 03:21:04 -05:00
Craig Robbins
9a0dd47057 Fix performance regression 2015-02-05 17:34:10 +10:00
SmallJoker
929e0b0ad8 Give full breath after death 2015-02-05 17:33:08 +10:00
gregorycu
5e075c3344 Fix dying of lava causes repeated death This is a bugfix for issue #81 2015-02-05 17:32:35 +10:00
ngosang
1b4aaa5f50 Suppress 4 gcc 4.9.2 warnings in CGUITTFont.cpp 2015-02-05 02:41:55 +10:00
sapier
d902bd31c4 Fix getCraftRecipe returing wrong reciep due to way to unspecific output matching 2015-02-02 21:32:23 +01:00
kwolekr
0118c111e8 Fix some MSVC-specific warnings and add debug path as an MSVC directory 2015-02-02 02:01:13 -05:00
kwolekr
43f102271d Create minidump on fatal Win32 exceptions
Remove software exception translator function, simplifying exception handler
macros.  FatalSystemExceptions are left unhandled.
2015-02-02 01:39:17 -05:00
kwolekr
48fa893abd Randomly generate seed if field blank for any Settings instance 2015-02-01 02:05:39 -05:00
Kahrl
285655a878 Fix NDT_GLASSLIKE normals
Remove inventorycube() workaround for default:glass in minimal game
2015-01-31 03:06:34 +10:00
Craig Robbins
38561023b4 Fix local map saving when joining a local server from the server tab
Disables local map saving for all local server types

See: https://github.com/minetest/minetest/issues/2024
2015-01-31 00:42:08 +10:00
Kahrl
4d15d63134 Fix uninitialized variable m_database_delete in Database_SQLite3
This fixes issue #2219
2015-01-28 05:01:07 +01:00
kwolekr
ad690c46b1 Write common mapgen params to map_meta.txt on world initialization 2015-01-27 22:29:28 -05:00
Loic Blot
80a7408e4d Fix a crash (assert) when client set serial version < 24 in INIT
When SER_FMT_VER_LOWEST is set to zero, then the test is stupid in INIT because all client works. In mapblock we check if client's serialization version is < 24, but if client sent serialization version < 24 (15 for example) the server set it and tried to send nodes, then BOOM

To resolve the problem:
* Create a different CLIENT_MIN_VERSION to handle this problem
* Remove the exception
* Use an assert in case of bad developer code
2015-01-27 16:55:25 +01:00
kwolekr
eeea454bff Fix missing map_meta.txt error when creating new worlds
A missing map_meta.txt should be treated simply as if there were a blank file.
2015-01-27 02:10:04 -05:00
Craig Robbins
ca217d0416 Revert "Fix a crash (assert) when client set serial version < 24 in INIT command SER_FMT_VER_LOWEST is set to zero, then the test is stupid in INIT because all client works. In mapblock we check if client's serialization version is < 24, but if client sent serialization version < 24 (15 for example) the server set it and tried to send nodes, then BOOM"
nerzhul is (may?) be working on a new solution. For the moment this is reverted because old worlds cannot be loaded (see discussion on github for the commit).

This reverts commit 800d19270250bb13cc6b2d330199815bf8e96446.
2015-01-27 00:39:33 +10:00
gregorycu
5b55deb1eb Suppress MSVC warning in chat.cpp 2015-01-25 16:09:23 +10:00
gregorycu
ed7c9c4cb8 Settings fixes Make the GameGlobalShaderConstantSetter use the settings callback (8% perf improvement in game loop) Ensure variable is set Ensure settings callback is threadsafe 2015-01-25 15:23:37 +10:00
Craig Robbins
2c4a5e1861 Revert "Make the GameGlobalShaderConstantSetter use the settings callback (8% perf improvement in game loop)"
This reverts commit a555e2d9b0ccee452996381a44677b8bec210036.
2015-01-25 01:19:40 +10:00
(@U-Exp)
800d192702 Fix a crash (assert) when client set serial version < 24 in INIT command SER_FMT_VER_LOWEST is set to zero, then the test is stupid in INIT because all client works. In mapblock we check if client's serialization version is < 24, but if client sent serialization version < 24 (15 for example) the server set it and tried to send nodes, then BOOM 2015-01-24 22:41:02 +10:00
Kahrl
f8bd1f3563 Fix uninitialized variable Server::m_next_sound_id 2015-01-24 06:44:41 +01:00
Craig Robbins
0ea843bbdb Fix unitialised variable occassionally being used 2015-01-24 14:54:42 +10:00
gregorycu
a555e2d9b0 Make the GameGlobalShaderConstantSetter use the settings callback (8% perf improvement in game loop)
Amend the settings callback to support userdata
2015-01-23 21:27:51 -05:00
paramat
aafbbcd537 Mgv5: Skip calculation of filler, heat and humidity perlinmaps in underground mapchunks 2015-01-23 21:24:47 -05:00
ShadowNinja
a9f81b729b Send real port to server list 2015-01-23 21:38:34 +10:00
paramat
1702c34b64 Mgv7 generateRidgeTerrain: Make river generation relative to water level
Remove widthn and make nridge zero underwater
2015-01-22 02:21:11 -05:00
paramat
70354ac20b Mgv7: Speed optimise calculateNoise and generateRidgeTerrain
Remove unnecessary range limiting of persistmap
Skip calculation of filler, mountain, ridge, heat and humidity perlinmaps in underground mapchunks
Skip generateRidgeTerrain in underground mapchunks
2015-01-22 02:10:07 -05:00
paramat
408d9b72f0 Mgv7 generateRidgeTerrain: Enable rangelim of widthn to remove abysses, calculate widthn later in function
Reduce width to 0.2
Carve river channels in deeper waters
2015-01-22 02:06:33 -05:00
TriBlade9
db481e7232 Added ratio argument to colorize, removed the weird alpha-based ratio. 2015-01-20 22:56:20 +10:00
paramat
9b89f7aad7 Mapgen V5: Various improvements
Caves check for biome nodes, only excavate stone under water level
Unease caves noises, use MT0.3 parameters
Blobgen after cavegen
Biomegen: remove 'is replaceable content' bool
2015-01-18 23:38:15 -05:00
kwolekr
38bd9e93a2 Fix all warnings and remove -Wno-unused-but-set cflag 2015-01-18 23:29:19 -05:00
kwolekr
e36681101e Add SemiDebug (-O1 with debug symbols) build mode and do not optimize Debug at all
Add -Wall to Debug modes for all compilers and -Wabi for non-MSVC
Use /Ox for MSVC Release mode (potentially higher optimization than /O2)
2015-01-18 22:30:11 -05:00
kwolekr
976d0b2caa Reorganize supported video driver query mechanisms 2015-01-18 13:24:25 -05:00
kwolekr
6e9f287844 Revert "Fix bug in debug build"
This reverts commit 839c4a99cddcacdc19dee42286b7029c4c1e7800.
2015-01-18 13:19:28 -05:00
Craig Robbins
839c4a99cd Fix bug in debug build
-O1 results in executables that are completely useless for actuall debugging
2015-01-19 00:26:59 +10:00
Kahrl
e80a044818 Fix use of uninit data in Sky and (potentially) GUIChatConsole constructors
Clean up nearby code a bit

As a small side effect, it is now possible to add a background texture
to the chat console by simply providing background_chat.jpg, it is no
longer necessary to also add "console_color =" to minetest.conf.
2015-01-18 13:16:01 +01:00
Craig Robbins
29514918f8 Fix particles causing unitialised data being used due to use of incorrect union member 2015-01-18 20:30:57 +10:00
gregorycu
db3466dbe8 Water fixes
Change must_reflow to a deque
Add overload for MapBlock::raiseModified that takes a const char*. This is a speed improvement.
Comment out unused variable
Optimisations to block offset calculations
2015-01-18 20:30:33 +10:00
Craig Robbins
805c8e51e5 Create empty default constructor for MapNode 2015-01-18 13:39:50 +10:00
paramat
2f0a8f1c3e Mgv7: Replace small pseudorandom caves with 3D noise tunnels. Fewer large caves 2015-01-17 21:57:48 -05:00
sapier
a39c136e69 Fix NodeMetadataList loosing memory on deserialize due to invalid clear map call instead of clear 2015-01-17 19:14:36 +01:00
gregorycu
2959d6b3da Fix entitiy WieldMeshSceneNode not freed due to additional grab 2015-01-17 19:13:08 +01:00
Craig Robbins
5481e38d0b Make minor style change(unescape_string()) 2015-01-16 21:05:44 +10:00
Loic Blot
e5b636712c Fix missing return in Database_Dummy::deleteBlock 2015-01-16 21:00:11 +10:00
Craig Robbins
5e58a95491 Fix potential out-of-bounds array index 2015-01-16 14:35:57 +10:00
kwolekr
9736548720 Add ability to delete MapBlocks from map
Also add a Lua API and chatcommand for this
2015-01-15 16:48:56 -05:00
kwolekr
0330cec7ec Initialize noise ptr on creation (fixes crash if OreVein deleted before use) 2015-01-15 16:23:04 -05:00
ShadowNinja
77e20a0c21 Fix unescape_string removing all backslashes 2015-01-15 16:16:41 -05:00
unknown
bd0d786590 Change UniqueQueue to use a queue and a set. 2015-01-15 21:08:35 +10:00
TriBlade9
e19dab2622 Added configurable ambient_occlusion_gamma. Default is 2.2 (same as previous hardcoded values). 2015-01-14 23:35:50 +10:00
Craig Robbins
57f2fa57cd Fix use of uninitialized data 2015-01-14 15:43:33 +10:00
onkrot
0fd1ee0380 Performance fixes. 2015-01-13 23:48:56 +10:00
unknown
5d08ada224 Add VoxelArea::hasEmptyExtent 2015-01-13 23:24:32 +10:00
kwolekr
714a4f8507 Attempt to fix occasional issue of uninitialized MapBlock data 2015-01-12 22:31:08 -05:00
kwolekr
b0efb8f3b2 Prevent transform of noise3d result in getBlockSeed2 2015-01-12 15:46:04 -05:00
paramat
c367f7301a Mapgen V5: Move cave generation from base terrain loop to optional function
This fixes biome surface in tunnels
2015-01-11 22:35:36 -05:00
sapier
aed70cb0b6 Disable sound and key binding settings in "pause" menu on android 2015-01-11 13:58:49 +01:00
sapier
2d9b311e7b Fix invalid stepheight increase calculation on android 2015-01-11 13:57:26 +01:00
sapier
25235a4324 Increase stepheight on android by 0.5 to smoothen movement 2015-01-11 04:33:42 +01:00
Kahrl
b7c0e4b333 Fix clipping rectangle of GUITable row highlight 2015-01-10 19:56:14 +01:00
sfan5
3b16103ca6 Change default font sizes to 14(freetype) and 10(non-freetype) 2015-01-10 18:59:43 +01:00
sfan5
8089d89a51 Set default value for ENABLE_REDIS to 0 2015-01-10 15:28:25 +01:00
sapier
30334b6b22 Revert "Switch default scaling factor to 0.75 as most ppl seem to have 96dpi screens instead of previous assumed 72"
which ain't required any longer as fonts are no longer autoadjusted
This reverts commit 7ad17a25f4dfc81427df54d5c855b40b4472d517.
2015-01-09 19:07:55 +01:00
sapier
de3888ca09 Remove automatic consistent formspec size <-> font size (now has to be done manually)
Set builtin formspecs to autoscale in order to get consistent formspec look and feel
Uncouple label positioning from font size (May break some formspecs but is required to allow manual font adjustment)
2015-01-09 18:46:24 +01:00
Craig Robbins
3c8e372119 Removed superfluous facedir check in mapblock_mesh.cpp 2015-01-10 02:06:33 +10:00
Kahrl
2ab97a7821 Fix logic of checkbox formspec element validity checking 2015-01-09 16:57:54 +01:00
sapier
63867b1a37 Fix memory leaks due to messed up memory handling for particles as well as their spawners 2015-01-09 15:23:49 +01:00
sapier
e201620ee1 Split gui_scaling to gui_scaling + hud_scaling as those elements need different handling on some devices 2015-01-09 14:31:33 +01:00
Craig Robbins
d576235409 Fix facedir > 23 causes segfault in client
See issue #2017
Applied kahrl's gist
2015-01-09 15:42:03 +10:00
sapier
7ad17a25f4 Switch default scaling factor to 0.75 as most ppl seem to have 96dpi screens instead of previous assumed 72 2015-01-09 00:37:02 +01:00
ShadowNinja
a3db918f78 Remove included SQLite3 2015-01-08 16:34:42 -05:00
sfan5
d8cf64a202 Add SQLite3 libraries to buildbot 2015-01-08 16:34:42 -05:00
paramat
56a89fd265 Return step smoothing value to 23 2015-01-08 15:06:28 +10:00
kwolekr
4a57ef12a1 Mapgen V6: Re-enable liquid flowing 2015-01-07 19:27:09 -05:00
rubenwardy
2504da28af Fix direction property of HUD 2015-01-07 20:51:47 +01:00
sapier
ef140eb7b0 Fix emerge thread not cleaning up emerge queue on shutdown 2015-01-07 12:19:48 +01:00
sapier
42f3515c0e Fix andorid build error 2015-01-07 00:10:21 +01:00
sapier
0f1d33933d Implement X11 dpi autodetection 2015-01-06 22:41:07 +01:00
sapier
083d19b3fc Fixes for android
Copy only minetest_game to apk by default
Don't copy .git and .svn folders to apk
Fix bouncing asset copy scrollbar due to long filepaths
Reenable font scaling to fix broken menu on high dpi screens
Implement minetest loglevel to android loglevel mapping
Disable touch digging while moving around
2015-01-06 16:13:39 +01:00
Craig Robbins
beb6b3e593 Prevent client crashing if an NDT_AIRLIKE node is dropped
The player dropping the node can either be themselves or another player (i.e. without this fix you can crash other people's clients)
Thanks CWz for reporting the issue
2015-01-05 22:55:02 +10:00
kwolekr
2d849b0a19 Shorten ManualMapVoxelManipulator to MMVManip 2015-01-05 02:42:27 -05:00
kwolekr
7289d61e99 Optionally specify propagateSunlight area in calcLighting
This fixes the Mapgen V5 calcLighting segfault
2015-01-05 01:20:36 -05:00
kwolekr
3bdf3df223 Exclude vertical mapblock borders when setting light 2015-01-04 23:14:16 -05:00
kwolekr
091594e26e NodeDef: Clear NodeResolver related entries too in clear() 2015-01-04 22:39:57 -05:00
kwolekr
bdcf03ae36 Add minetest.generate_ores() and minetest.generate_decorations() 2015-01-04 22:38:48 -05:00
kwolekr
cd4d213ae0 NodeResolver: Perform callback immediately if node registration phase finished
Also add NodeResolver callbacks on the client
2015-01-04 16:32:31 -05:00
kwolekr
6fdb32361a Remove freezemelt (the remainder of proller nonsense) 2015-01-04 03:30:10 -05:00
kwolekr
8eb9cebdd0 Add warning about using deprecated fields in Mapgen API and update docs 2015-01-04 03:24:40 -05:00
kwolekr
ef8ed5d127 LuaVoxelManip: Error when given out-of-bounds area 2015-01-04 03:07:28 -05:00
kwolekr
7233a1228e Lighting: Fix nearly all issues
The cause of a single light source seemingly being lit without spread
was due to its creation in the +Y mapblock boundary layer during map
generation, which was ignored as the overtop.  This overtop explicitly
needs to be omitted during sunlight propagation, however.  To accomplish
this, Mapgen::calcLighting() was split into separate functions taking
separate parameters.
Additionally, do not diminish light too early during spread.  This fixes the
output inconsistency between Map::updateLighting and Mapgen::calcLighting.
2015-01-04 02:42:31 -05:00
Kahrl
060ae29eaf Update bundled SQLite to 3.8.7.4 2015-01-04 05:21:59 +01:00
ShadowNinja
3c3887bb19 Deduplicate code and use stdlib in string functions 2015-01-03 14:50:16 -05:00
kwolekr
d91559b8f0 Fix crash if NodeResolver destroyed before pending any node resolutions 2015-01-03 11:05:31 -05:00
sapier
0db73bd83e More consistent progress bar from 0-100 on startup 2015-01-02 17:53:42 +01:00
sapier
aaec558f85 Fix rounding error in font size making main menu and in game font sizes inconsistent 2015-01-02 16:52:02 +01:00
paramat
7452d5399b MgV5/6/7: Generate dungeons above water level
Use/add stone_surface_max_y to speed-optimise/guide dungeon generation
MgV7: Don't let mountain terrain chop dungeons at mapchunk borders
Make mountain terrain update stone_surface_max_y for caves in mountains
2015-01-01 15:44:26 -05:00
paramat
938a3f2976 Mgv7: Remove range limits on mountain height to enable modification through .conf 2015-01-01 12:51:49 -05:00
kwolekr
a3d7203be5 Fix map parameter load order 2014-12-30 12:30:42 -05:00
Craig Robbins
3d29be24e0 Add display_gamma option for client 2014-12-31 02:44:31 +10:00
Dmitry Marakasov
2414580754 Fix endian.h include for FreeBSD 2014-12-30 23:00:01 +10:00
Craig Robbins
53bc56dc3c Cleanup updateCameraDirection and fix random input not working 2014-12-30 22:59:55 +10:00
kwolekr
9b0d77a549 Replace instances of height_min/height_max with y_min/y_max to remove ambiguity 2014-12-30 01:48:20 -05:00
kwolekr
b589353d89 Decoration: Fix default parameter values 2014-12-30 00:52:40 -05:00
kwolekr
c6df2bc42c Add support back for resolving group names in NodeResolver 2014-12-29 23:15:53 -05:00
kwolekr
f12118c38b Fix some lingering code style issues 2014-12-29 22:04:47 -05:00
kwolekr
0974337804 Mapgen: Use getBlockSeed2() for blockseeds (much better uniformity) 2014-12-29 21:44:52 -05:00
kwolekr
ca89e63b27 Add core.get_mapgen_names() to Main Menu API (and use it)
Also rewrite mapgen registration for static initialization
2014-12-29 21:23:51 -05:00
kwolekr
5e2753c712 Expose mapgen parameters on scripting init
Add minetest.get_mapgen_params()
Deprecate minetest.register_on_mapgen_init()
2014-12-29 12:59:59 -05:00
Kodexky
a79a116ac8 Center status text for better visibility. 2014-12-30 00:30:28 +10:00
Kodexky
62feade05d Add extra buttons to Android GUI. All icons are licensed by freepik.com under CC BY 3.0 2014-12-30 00:30:28 +10:00
Craig Robbins
3993102e88 Fix -Wtype-limits warnings and remove disabling of -Wtype-limits 2014-12-29 23:56:40 +10:00
kwolekr
5038b9aaec Print unit test failures to dstream 2014-12-29 02:30:03 -05:00
kwolekr
9eb492229b FontEngine: Don't use file extension to check font file compatibility 2014-12-29 01:46:13 -05:00
kwolekr
cc3ab5efa5 LuaVoxelManip: Remove blank allocator 2014-12-29 01:31:37 -05:00
kwolekr
3c637b4baf LuaItemStack: Fix and document behavior of set_name, set_count, set_wear, set_metadata 2014-12-28 23:59:24 -05:00
sapier
acb3519502 Fix MSVC compiler warning about passing this pointer in initializer list 2014-12-28 23:40:44 -05:00
Christophe Piveteau
91c00d29a5 Skip further loading of client if there was an exit signal 2014-12-28 22:46:53 -05:00
kwolekr
863379a4c6 Decoration: Add height_min and height_max parameters
Also set default height_min/height_max to -31000 and 31000,
respectively, for ore and biomes
2014-12-28 22:37:27 -05:00
kwolekr
c5faa64405 Cavegen: Fix copy & paste error (solves #2020) 2014-12-28 22:35:14 -05:00
paramat
570c2042b1 Biome API: Add shore top and shore filler nodes, underwater node, water top node. Add water top depth and shore height parameters. Remove water dust node 2014-12-28 21:37:43 -05:00
kwolekr
61dfa912f5 Ore: Add Vein ore type 2014-12-28 21:17:12 -05:00
kwolekr
900fa26965 Ore: Add Blob ore type 2014-12-28 03:11:00 -05:00
kwolekr
8c98f497d9 PseudoRandom: Expose constant PSEUDORANDOM_MAX 2014-12-28 03:09:32 -05:00
kwolekr
8334100fe1 LuaVoxelManip: Add option to allocate blank data 2014-12-27 23:09:36 -05:00
kwolekr
ae2721f2c8 VoxelManipulator: Remove unnecessary deallocation steps 2014-12-27 22:35:05 -05:00
kwolekr
08d259cf41 Set fallback content if resolving content vector requires everything 2014-12-27 22:20:04 -05:00
kwolekr
b67f37f27e Redefine NodeResolver interface and replace with callback mechanism 2014-12-27 02:12:21 -05:00
ShadowNinja
33eed6eb84 Fix fs::GetRecursiveSubPaths trying to get directory lists for files 2014-12-24 17:23:07 -05:00
Craig Robbins
8621e6de5d Large increase in performance 2014-12-24 23:13:24 +10:00
kwolekr
565959db86 Silence misc. warnings 2014-12-23 01:09:50 -05:00
Craig Robbins
7b93408884 Make limiting of the reflow liquids queue size optional
If liquid_queue_purge_time == 0 then disable the queue size limiting and make this the default setting
Additionally, liquid_loop_max now defaults to 100000
2014-12-23 15:47:06 +10:00
kwolekr
249749dd8c Temporarily fix always bright wieldhand with shaders enabled 2014-12-22 22:37:11 -05:00
Kahrl
7109e8f9fd Fix weird (and wrong) comment in test.cpp 2014-12-21 13:20:42 +01:00
paramat
173e1f6014 Re-add hacky fix for underwater grass, to fix mgv7 user's biomes 2014-12-20 14:50:13 -05:00
unknown
1e8e700ee6 Change TileSpec::frames to be std::vector not std::map
Signed-off-by: Craig Robbins <kde.psych@gmail.com>
2014-12-21 02:41:17 +10:00
Vanessa Ezekowitz
0d55f43977 Fix visual_scale for plantlike nodes (again)
fixes #1989

move the plant to the bottom of its node properly, without affecting its scale.  See isue #1989
2014-12-19 12:25:32 +10:00
Craig Robbins
815876e709 Fix visual_scale for NDT_PLANTLIKE being set too small 2014-12-18 20:28:14 +10:00
Craig Robbins
f5211bbd59 Suppress compiler warning 2014-12-18 19:29:04 +10:00
kwolekr
67063ed59f Remove manual biome noise translation 2014-12-17 16:28:28 -05:00
Craig Robbins
082256a9f8 Do not allow the m_transforming_liquid queue to increase until all RAM is consumed 2014-12-18 03:32:19 +10:00
Pavel Puchkin
3b902fd574 Fix OSX packaging finally
Signed-off-by: Craig Robbins <kde.psych@gmail.com>
2014-12-16 20:33:54 +10:00
kwolekr
8661b3587b Set WM_CLASS window hint for Xorg 2014-12-15 13:52:10 -05:00
kwolekr
8fe1d3fc2e Expose mapgen chunksize in on_mapgen_init callbacks 2014-12-14 18:46:46 -05:00
Pavel Puchkin
a0ac471c1a Fixes #1687 by extra semaphore retval handle code for OSX
See https://github.com/minetest/minetest/issues/1687#issuecomment-56830173

Signed-off-by: Craig Robbins <kde.psych@gmail.com>
2014-12-15 02:12:39 +10:00
kwolekr
dcbf1b3ce5 Noise: Don't assume Noise is used for 2D unless gradientMap2D is actually called 2014-12-14 00:18:31 -05:00
Craig Robbins
b5e11e0e9a Fix misleading error when exiting the client from the main menu 2014-12-14 00:07:44 +10:00
Craig Robbins
784a452ed5 Provide more info if a subgame is not valid/found 2014-12-13 23:01:16 +10:00
kwolekr
035e6bfc18 LuaPerlinNoiseMap: Fix 3d noise safety check 2014-12-12 22:58:44 -05:00
Kahrl
c4624639e6 Fix segfault when dragging mouse out of mainmenu window (#1910) 2014-12-13 00:39:07 +01:00
ShadowNinja
8af9d8b6ac Fix missing call to std::ostringstream::str 2014-12-12 16:32:11 -05:00
SmallJoker
19ccc27d37 Fix MSVC compiling warnings and remove an unused texture 2014-12-12 16:09:34 -05:00
kwolekr
093b1b47d9 Log: Silence errorstream during unittests 2014-12-12 15:51:55 -05:00
Anton
10e0cf8b2c Use std::string::empty() instead of size() where applicable 2014-12-12 15:16:24 -05:00
kwolekr
8066743a83 Settings: Fix invalid memory access when setting not found in working mem 2014-12-12 14:39:36 -05:00
kwolekr
2c9bbe2736 NodeResolver: Fix some comments and use const references for params 2014-12-12 14:21:41 -05:00
kwolekr
cf8213ea82 Add minetest.clear_registered_decorations() and clear_registered_ores() 2014-12-12 14:08:04 -05:00
MirceaKitsune
cec141adc1 Allow footstep sounds to play for liquid and ladder nodes, making swimming and climbing sounds possible 2014-12-12 16:47:47 +01:00
Kodexky
6ba50aa8f9 Responsive tooltip offset for Android.
Signed-off-by: Craig Robbins <kde.psych@gmail.com>
2014-12-13 00:43:37 +10:00
Craig Robbins
9f65fd6819 Fix typo in mapblock.h 2014-12-12 20:46:37 +10:00
kwolekr
4e5d17f666 LuaPerlinNoiseMap: Prevent invalid memory access when attempting to generate 3d noise with a buffer created for 2d 2014-12-12 02:46:52 -05:00
kwolekr
00fc0babe0 Mapgens: Rename m_emerge to prevent name collisions 2014-12-12 02:38:39 -05:00
kwolekr
2b8180a417 Add support for NoiseParams in minetest.get_perlin() and add docs on NoiseParams to lua_api.txt 2014-12-12 02:02:44 -05:00
kwolekr
d3dc88fe6b Settings: Fail on invalid sequence and throw exception for LuaSettings 2014-12-12 00:44:17 -05:00
kwolekr
b0c4fd6d3f Settings: Sanitize value for multiline terminator tokens 2014-12-11 23:26:13 -05:00
kwolekr
fb80a7c111 Clean up Noise macros 2014-12-11 02:53:10 -05:00
kwolekr
c07f15e910 NodeResolver: Fix cancelNode and cancelNodeList 2014-12-11 00:41:54 -05:00
kwolekr
16baed0467 Noise: Automatically transform noise maps if needed 2014-12-10 23:35:37 -05:00
kwolekr
dcc48976ce Move get_schematic and read_schematic to l_mapgen.cpp 2014-12-10 01:49:57 -05:00
paramat
4cf8042b7c Biome API: Reduce heat and humidity persistences to 0.5 2014-12-10 01:39:08 -05:00
kwolekr
a89f37bb65 Add support for lacunarity in legacy NoiseParams string format 2014-12-10 01:31:43 -05:00
Kahrl
daefd0ab36 Add paste command (Ctrl-V) in GUIChatConsole 2014-12-10 07:12:08 +01:00
kwolekr
cfba55ba0a Remove get_noiseparams function. read_noiseparams should be used from now on 2014-12-10 00:56:44 -05:00
kwolekr
fb2bc956b1 Noise: Create a deep copy of NoiseParams 2014-12-10 00:37:09 -05:00
kwolekr
88c28414f4 Settings: Sanitize setting name everywhere, not just LuaSettings 2014-12-09 23:52:13 -05:00
kwolekr
d50878d608 Rename and repurpose minetest.set_noiseparam_defaults to set_noiseparams 2014-12-09 23:44:04 -05:00
kwolekr
f2c18511a4 Settings: Make setting entry group and values mutually exclusive
This greatly reduces the complexity of Settings code.
Additionally, several memory leaks were fixed.
2014-12-09 23:29:34 -05:00
SmallJoker
2f8fbdb9f5 Rewrite fs:GetDirListing(file) by kahrl 2014-12-10 02:59:10 +10:00
SmallJoker
5229a229a6 Ignore .name directories and files
Signed-off-by: Craig Robbins <kde.psych@gmail.com>
2014-12-10 02:49:02 +10:00
Craig Robbins
c5f6f9f77a Increase performance of getLight() by at least 2x
Leads to the following increases:
getSmoothLight() approx.     40% increase
getTileInfo() approx.        25% increase
MapBlockMesh::MapBlockMesh() 25-30%
2014-12-10 00:52:02 +10:00
Pavel Puchkin
a1ea017b51 Fix builds failing on BSD-like (such as OSX) due to an irrlicht bug (temporary fix)
Details:
- https://sourceforge.net/p/irrlicht/bugs/433/
- https://github.com/minetest/minetest/issues/1687#issuecomment-61368769
- https://forum.minetest.net/viewtopic.php?f=42&t=9190&start=125#p159364

In case when "settings.h" is included from "emerge.cpp" or
"environment.cpp", u64 type has "unsigned long" length because
previously <stdint> was included. When "settings.h" is included from
"settings.cpp", u64 has "unsigned long long" length because no <stdint>
was included previously. This leads to different signatures of "setU64" method
and linker cannot find appropriate symbol.

The best fix of this bug should be done in the Irrlicht, but as hotfix I
think this is OK and better than types changing.

Previously this bug didn't appear because there was no "settings.cpp" file and
implementation of all methods was done in the header file.
2014-12-09 20:40:52 +10:00
kwolekr
941d000fc6 Noise: Update Noise::resizeNoiseBuf to account for lacunarity not equal to 2 2014-12-09 00:50:58 -05:00
kwolekr
29b413b376 Biomes: Make biome heat and humidity noise parameters user-configurable 2014-12-09 00:38:04 -05:00
Craig Robbins
7490368984 Fix compiler warning (signed vs. unsigned) 2014-12-08 23:00:49 +10:00
kwolekr
2a7c6d27b3 Optimize noise implementations 2014-12-08 03:26:29 -05:00
Kahrl
0183c05ee0 Fix struct vs. class in forward declarations 2014-12-08 09:06:31 +01:00
RealBadAngel
4f23778e53 Fix lighting artifacts (Issue #1887). 2014-12-08 08:53:31 +01:00
kwolekr
2fd3d52020 Add flags and lacunarity as new noise parameters
Add 'absolute value' option to noise map functions
Extend persistence modulation to 3D noise
Extend 'eased' option to noise2d_perlin* functions
Some noise.cpp formatting fixups
2014-12-07 21:59:32 -05:00
RealBadAngel
638f3a8454 Disable loading .mtl files. Theyre not used anyway. 2014-12-08 02:24:46 +01:00
MirceaKitsune
c5f6656f99 Make directional fog colors respect tonemap 2014-12-08 01:44:28 +01:00
Craig Robbins
5c55738276 Fix f6 debug/profiler display
After fonts were re-engineered the height of the f6 debug/profiler display would only display about 2-3 lines of text.
2014-12-08 00:01:22 +10:00
Calinou
bc2b8e9eef Increase third person view distance
Signed-off-by: Craig Robbins <kde.psych@gmail.com>
2014-12-07 21:54:44 +10:00
Muhammad Rifqi Priyo Susanto
5ffddc94c0 Add space between client names in status text (client)
Before:
Server: version=0.4.10, uptime=190.5, max_lag=0.001, clients={user1,user2,user3,user4,user5,foobar,userplayedminetestthismorning}

After:
Server: version=0.4.10, uptime=190.5, max_lag=0.001, clients={user1, user2, user3, user4, user5, foobar, userplayedminetestthismorning}
2014-12-07 21:32:08 +10:00
RealBadAngel
535c473103 Restore finalColorBlend implementation in shaders. 2014-12-07 11:05:00 +01:00
Craig Robbins
500f691426 Fix regression (increase/decrease viewing range with +/- keys) 2014-12-07 18:32:30 +10:00
kwolekr
2f134ce24f Mapgen V5: Fix use of uninitialized value in ctor 2014-12-07 01:19:42 -05:00
kwolekr
390c0cd691 Schematics: Fix minetest.place_schematic() when defined by a Lua table 2014-12-06 18:39:05 -05:00
kwolekr
60feb4ad25 Add minetest.clear_registered_biomes() api 2014-12-06 18:08:23 -05:00
Kahrl
f3abaec83b Ignore some mouse events sent from scrollbar to GUITable
Fixes #1567, #1806.
2014-12-06 22:45:23 +01:00
SmallJoker
d75f0b0360 Close settings files and save them correctly 2014-12-06 14:08:01 -05:00
sfan5
4fcf9fb66a Add workaround for failing clang build 2014-12-06 19:56:31 +01:00
kwolekr
5062b99cb0 Rewrite generate notification mechanism
Add support for notify-on-decoration
Clean up mapgen constructors
Clean up mapgen.cpp code style somewhat
Remove trailing whitespace from some files
2014-12-06 13:53:35 -05:00
Craig Robbins
2b119e1e19 Performance of main client loop up to 2x faster In places, up to 3 times faster
NOTE 1: This does not mean a 2x increase in framerate. Increase in fps may be up to 1-2fps
NOTE 2: This local 'caching' of settings is not optimal and an alternative solution will be worked on after 0.4.11 is released
2014-12-07 00:51:01 +10:00
Craig Robbins
0e78aa296e Add name of node 'pointed at' to debug
This is "Add name of node pointed at to debug #1677" by @rubenwardy updated to work with game.cpp after it was refactored.
2014-12-05 16:14:50 +10:00
SmallJoker
5da6896d51 Fix MSVC build
Note: The unit test was technically incorrect for all platforms but passes due to implicit casting
2014-12-05 16:09:53 +10:00
RealBadAngel
a648120d54 Recalculate normals for mesh #0. Fix for issue #1902. 2014-12-05 01:05:18 +01:00
Craig Robbins
f7f7fec497 (INTERIM) Make sizes of the font in formspecs consistent and not so large
Until a permanent fix can be developed
2014-12-05 02:35:21 +10:00
Craig Robbins
c16b1e2639 Optimise VoxelManipulator::copyFrom
~3-4x faster

This indirectly optimises MapBlock:copyTo() which in turn improves performance of MeshMakeData::fill()
2014-12-04 23:37:04 +10:00
Craig Robbins
f6912f4241 Right mouse button behaviour for craft/inventory If right mousebutton clicked once then don't drop single items into slots. If right mouse button has been clicked and held a second time, drop items as the mouse is moved. In the second case (automatically drop/place items as mouse is moved) only auto-drop into blank slots, or slots that contain the same item. 2014-12-04 23:30:53 +10:00
kwolekr
f0cd59034c Settings: Various setting group fixes and enhancements
- Remove blank setting values when setting has a group
 - Pair setting values with groups in file when possible
 - Preserve user-set whitespace in setting objects
 - Delete setting value when setting NoiseParams group
 - Delete overwritten groups outside of lock
2014-12-04 03:20:07 -05:00
paramat
0a5373d400 Add definable node_stone to biome API, mgv5, mgv7. Reduce and correct depth of mgv7 biomes. l_mapgen.cpp: add '#include mapgen_v5.h' because '#include mapgen_v7' is there. Improve underwater grass hack 2014-12-03 19:45:29 -05:00
kwolekr
fcb1ea903f Settings: Fix getNoiseParamsFromValue() 2014-12-02 21:09:16 -05:00
kwolekr
68c799bf99 Use setting groups for NoiseParams
Add format example to minetest.conf.example
Add Settings::setU16()
Throw exception on attempted access of NULL settings groups
2014-12-02 04:03:37 -05:00
sapier
93aab0362c Fix settings callback "call" lost on rebase 2014-12-01 19:47:57 +01:00
Craig Robbins
691b18c41b Fix node 0,0,0 being highlighted when enable_node_highlighting == false
Without this patch node 0,0,0 is highlighted when enable_node_highligting is false
There is a minor lighting issue remaining, however it seems to be related to a different bug (https://github.com/minetest/minetest/issues/1887)
2014-12-01 22:13:21 +10:00
Craig Robbins
d4f42938a5 Fix build
Note: this does not fix the warnings generated by clang
2014-12-01 15:17:47 +10:00
kwolekr
360660947b LuaSettings: Sanitize setting name strings 2014-11-30 19:01:54 -05:00
Kahrl
16781da4f9 Fix segfault at exit caused by non grabbed font 2014-11-30 23:21:14 +01:00
kwolekr
175b7a28e5 settings: Add setting groups and multiline entries 2014-11-30 16:11:21 -05:00
sapier
39162de15a Make hud use fontengine too
Fix non coding style conforming glb_fontengine to g_fontengine
Fix fonts never been deleted due to grabbed to often
2014-11-30 18:06:54 +01:00
Zefram
d1d6a97b1c Scale form elements consistently
The ratios between the sizes of form elements, including text, is now
fixed, aside from variations caused by rounding.  This makes form layout
almost fully predictable, and particularly independent of player's
screen size.  The proportions of non-text elements are the traditional
proportions.

For compatibility, the way in which element positions and sizes are
specified remains unchanged, in all its baroqueness, with one exception.
The exception is that the position of a label[] element is now defined
in terms of the vertically center of the first line of the label,
rather than the bottom of the first line of the label.  This change
allows a label to be precisely aligned with button text or an edit box,
which are positioned in a centering manner.  Label positioning remains
consistent with the previous system, just more precisely defined.

Make multi-line label[] elements work properly.  Previously the code set
a bounding rectangle assuming that there would be only a single line,
and as a result a multi-line label would be cut somewhere in the middle
of the second line.  Now multi-line labels not only work, but have
guaranteed line spacing relative to inventory slots, to aid alignment.

Incidentally fix tabheader[] elements which were being constrained to
the wrong width.

Given an unusually large form, in variable-size mode, the form rendering
system now chooses a scale that will fit the entire form on the screen,
if that doesn't make elements too small.  Fixed-size forms, including the
main menu, are have their sizes fixed in inch terms.  The fixed size for
fixed-size forms and the preferred and minimum sizes for variable-size
forms all scale according to the gui_scaling parameter.
2014-11-30 17:50:09 +01:00
sapier
dceb9f7d60 Implement proper font handling 2014-11-30 17:50:09 +01:00
kwolekr
25945dc539 noise: Throw exception on noise allocation failure 2014-11-29 16:52:45 -05:00
SmallJoker
a3e019c4f6 Fix MSVC compiling error (argc/argv not available to pass to init_gettext)
Signed-off-by: Craig Robbins <kde.psych@gmail.com>
2014-11-29 22:31:40 +10:00
Craig Robbins
edb125837c Fix regression with command line --go option 2014-11-28 22:48:46 +10:00
Ciaran Gultnieks
77137a92cf Don't corrupt stepheight when setting other properties 2014-11-26 20:02:48 +01:00
Kahrl
264d740c9d Wield: always obey anisotropic_filter setting, not just for hi res textures 2014-11-26 19:54:04 +01:00
Kahrl
571ba5d9c5 EMF_USE_MIP_MAPS was introduced in Irrlicht 1.8, don't use in 1.7.3 or below
This is not optimal as it will cause minor graphical glitches for
Irrlicht 1.7 users, but at least it fixes the build.
2014-11-26 19:17:50 +01:00
Sokomine
9f9279008c added enable_build_where_you_stand option
Signed-off-by: Craig Robbins <kde.psych@gmail.com>
2014-11-27 01:07:11 +10:00
Kahrl
ec5188a49a Wieldmesh: don't force anisotropic filtering on, instead disable mipmaps
This should fix #1844. Thanks to oleastre for making the first version
of this commit (#1848).
2014-11-26 15:17:17 +01:00
rubenwardy
8df8554fce Only set the camera update keymap when using a debug build
Signed-off-by: Craig Robbins <kde.psych@gmail.com>
2014-11-26 21:53:01 +10:00
Kodexky
9aaf67ebe0 Fix Android main menu crash, and user data directory check.
Signed-off-by: Craig Robbins <kde.psych@gmail.com>
2014-11-26 18:11:08 +10:00
Calinou
1c9f05d792 Increase step smoothing to fit 1:1 stairs (works well on slabs too)
Signed-off-by: Craig Robbins <kde.psych@gmail.com>
2014-11-26 17:28:02 +10:00
Craig Robbins
26cf98ccfc Fix client "double saving" simple singleplayer local maps 2014-11-26 00:49:54 +10:00
KodexKy
5413ed1195 Fixes for Android build errors. Enable sensor landscape rotation.
Fix typo in Android Makefile ndk path.
Fix touchscreen parts of game.cpp to work after Zeno's refactor.
Fix isdigit and isspace overload conflict with Android Irrlicht in string.h
Enable sensor landscape rotation in Android Manifiest.
Add mapgen v5 to Android build.
Fix Makefile not checking leveldb.

Signed-off-by: Craig Robbins <kde.psych@gmail.com>
2014-11-25 13:28:51 +10:00
RealBadAngel
0164483310 Port createForsythOptimizedMesh from Irrlicht 1.8
Mesh rotation helpers.
2014-11-23 00:51:08 +01:00
Craig Robbins
21464639b3 Fix regression with USE_REDIS (refactor_main) 2014-11-23 01:12:25 +10:00
Craig Robbins
d6cc0d8223 refactor main.cpp 2014-11-23 00:27:02 +10:00
Craig Robbins
cb2d467665 Fix smooth lighting (ambient occlusion)
Signed-off-by: Craig Robbins <kde.psych@gmail.com>
2014-11-22 21:58:00 +10:00
Pavel Puchkin
f7f24d1470 Fix compiling if no endian.h found
f7d6509 introduces error when no endian.h found in the system.

Since "CHECK_INCLUDE_FILE" returns empty string instead of "0", when
"cmake_config.h" is generated it has "#define CMAKE_HAVE_ENDIAN_H " line.
Later we have "#define HAVE_ENDIAN_H CMAKE_HAVE_ENDIAN_H" in the
"config.h", an thus "HAVE_ENDIAN_H" is also empty sting. Because of
this, "#if HAVE_ENDIAN_H" is incorrect preprocessor directive.

Signed-off-by: Craig Robbins <kde.psych@gmail.com>
2014-11-22 21:56:38 +10:00
Rafael Reilova
f7d65091f8 serialize.h: use machine native byte swapping if available, fall-back to previous generic method if not (supported for GCC using endian.h, detection done in cmake) write/readARGB8() - just write 32-bit color in one op, instead of 4 1-byte ops cleanup: removed unneeded buffer init for some serialize-out functions use a #define for the fixed point factor in read/writeF1000()
nodemetadata.cpp, nodetimer.cpp
	optimzation: simpler deserialize node position method

staticobject.cpp:
	cleanup: use util/serialize.h inlines instead of its own de/serialization

serialize.cpp:
	minor optimization/cleanup: avoid generation of unneeded string temporary

CMakeLists.txt, cmake_config.h.in: detection of endian.h

config.h: added HAVE_ENDIAN_H

Commits due to feedback squashed

Signed-off-by: Craig Robbins <kde.psych@gmail.com>
2014-11-21 22:33:48 +10:00
Craig Robbins
d406ac994b Optimise functions from CNodeDefManager and VoxelManipulator
CNodeDefManager::get()
VoxelManipulator::addArea()
2014-11-21 14:56:45 +10:00
Craig Robbins
ea404979e1 Optimise getTileInfo()
getTileInfo() ~1.5x faster
getSmoothLight ~2.0x faster
2014-11-21 14:56:45 +10:00
paramat
fcdb1a8fc2 Mgv5 1 up 1 down overgeneration for biome surface continuity 2014-11-20 23:13:09 -05:00
paramat
d39887dadd Mgv5 get ground level at point function. Fast spawn player version 2014-11-20 21:07:20 -05:00
ShadowNinja
c4e393deea Simplify loading of Android version of menu 2014-11-20 15:37:20 -05:00
Kodexky
b9bc8dadb2 Fix raillike bug (currently manifests itself on Android), and minor improvement to readability.
NB: Minor edits to patch made by Zeno- (int to short and minor formatting)
2014-11-20 15:41:59 +10:00
ShadowNinja
b1965ac209 Clean up rollback 2014-11-19 16:21:59 -05:00
ShadowNinja
da0f1e5497 Fix wallmounted mesh rotations 2014-11-19 16:17:54 -05:00
sfan5
9d69436052 Add (optional) client-side saving of server map to disk 2014-11-19 15:11:23 +01:00
Kahrl
55e4c35eaf Remove unused rangelim function (the macro still exists) 2014-11-19 10:19:52 +01:00
Craig Robbins
f0a8f655c0 Fix double free bug when server is shut down
Thanks @oleastre
2014-11-15 22:33:52 +10:00
kwolekr
8831703428 Fix NoisePerlin3DEased return value 2014-11-14 21:19:46 -05:00
kwolekr
8d3a68f343 Fix warnings and other misc. minor changes 2014-11-14 03:07:12 -05:00
Craig Robbins
5b8855e83c Remove most exceptions from getNode() (and variants) 2014-11-14 18:05:34 +10:00
SmallJoker
874109c520 Add option 'eased' to NoiseParams
Signed-off-by: Craig Robbins <kde.psych@gmail.com>
2014-11-13 23:06:38 +10:00
kwolekr
b57478b93b Fix compilation under some Linux distributions 2014-11-13 00:16:37 -05:00
kwolekr
c3ad08708f Mapgen v7: Fix uninitialized spflags
Mapgen v5: Fix minor style issue
2014-11-12 23:58:50 -05:00
kwolekr
fc9521874c Add eased 3d point-value noise functions 2014-11-12 23:49:45 -05:00
kwolekr
7616537bc0 Add Generator Element Management framework
Add BiomeManager, OreManager, DecorationManager, and SchematicManager
2014-11-12 23:02:41 -05:00
RealBadAngel
f25cc0dbae Wielded fixes. Add shaders support. 2014-11-13 03:51:04 +01:00
Craig Robbins
45ebaa3524 Fix profiler values not being updated (F6) and not being logged 2014-11-11 20:58:57 +10:00
Kahrl
0adadba218 Serverlist: announce mg_name from map_meta.txt instead of minetest.conf 2014-11-10 22:27:10 +01:00
Zeno-
a1e9732407 Merge pull request #1825 from Zeno-/control_key_cache
Create faster key cache for main game loop (client)
2014-11-10 19:12:25 +10:00
Craig Robbins
987e565eeb Create faster key cache for main game loop (client) 2014-11-10 12:26:19 +10:00
paramat
10a47b7fee Tune cave noise scales to 6. Fix blobs spflag, now enabled. Update conf.example 2014-11-09 20:21:39 -05:00
Kahrl
9b551d5cbc Implement WieldMeshSceneNode which improves wield mesh rendering
- Don't create and cache an extruded mesh for every (non-node) item.
  Instead use a single one per image resolution.

- For cubic nodes reuse a single wield mesh too

- Improve lighting of the wielded item

- Increase far value of wield mesh scene camera, fixes #1770

- Also includes some minor refactorings of Camera and GenericCAO.
2014-11-08 23:11:57 +01:00
Craig Robbins
cc8d7b8640 Stop inserting empty lines at end of minetest.conf file each time it is rewritten
See: https://github.com/minetest/minetest/issues/1790
2014-11-08 21:57:52 +01:00
Craig Robbins
1c21e391ed Fix regressions and minor improvements in refactor_the_game
a) Fix double tap for jump and show_debug
b) Revert changes to limitFps()... there is no verification that the new method was an issue, but going back to old method just in case
b.2) limitFps() no longer calls device->run() and also no longer has to be called immediately after a call to device->run()
2014-11-08 21:40:11 +01:00
paramat
92981b2fee Add mgv5. New noise code, uses biome API. Eased 3d noise for terrain, caves, blobs 2014-11-08 21:37:26 +01:00
RealBadAngel
d0be27415e Speed up removing a node (less block mesh updates). 2014-11-08 21:04:30 +01:00
SmallJoker
c40e993ce4 Replace setting unlimited_player_transfer_distance with player_transfer_distance 2014-11-08 14:56:09 +01:00
Craig Robbins
96fcca4ea0 Address issues related to refactoring the_game
Fix time of day persistence
Fix wield item being updated every frame causing small performance hit
Rename some classes and variables
2014-11-03 13:57:56 +01:00
Kahrl
817e3a6c64 Fix regression: mouse wheel couldn't scroll from last hotbar item to first 2014-11-02 21:59:56 +01:00
Craig Robbins
43bf4324d5 Cleanup and (mostly) document util/string.h and (very) minor refactoring
Updated: Incorporated feedback from 'kahrl'
Updated: Moved MinetestApp::boolToCStr() from game.cpp into string.h renaming it bool_to_cstr()
2014-11-02 18:07:20 +01:00
Kahrl
8040806f22 Include mg_decoration.h, mg_ore.h from emerge.cpp to fix warnings 2014-11-02 17:52:30 +01:00
Craig Robbins
209c0dd1af Fix unit tests failing if IPv6 not available
See:
https://github.com/minetest/minetest/issues/1526
https://github.com/minetest/minetest/issues/793
2014-11-02 02:27:26 -05:00
Craig Robbins
dfd15fd1d9 Modified dtime calculation method in limitFps() 2014-11-02 02:20:06 +01:00
Craig Robbins
429ecb2b94 Refactor the_game() to make it more understandable and maintainable.
The following is a record of 31 commits before squashing:

Revert "Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism"

This reverts commit b49e5cfc7013cef7e9af79d17e04f7e7e4c377d4.

Basic reformatting with astyle
-- additional formatting will be modified, manually, as the need for it is encountered

Start "outlining" what a MinetestApp class might look like

Add MinetestApp::shutdown()

Converted class member functions to camelCase and created protos for new functions

First stage of connect to server done

Add get itemdefs/nodedefs/media code

Init clouds, camera, sky, init GUI, HUD

Input handling

Client events, camera, sound, draw

Fix wield hand getting stuck digging and add debug text back

Fix FPS

Added profiler graph back

Fix FPS issue
Need to work out what went wrong and clean up the copy/paste stuff

Annotate

Various:
Rewrote limitFps()
Limited scope of some variables

Jitter calcs

Reduce scope of objects

Move some stuff out of ::run and minor formatting cleanup

Scope reduction

Function splits

Removed old (broken) limitFps()

Added exception handling back

Fixed some formatting

Reverted commented out unit tests (uncommented them)

Slow clouds down on loading and media screens so the behaviour is like the original the_game()

Formatting/style (no functional changes)

Manually reapply upstream b49e5cf: Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism

Fixed silly errors on my part
Minor formatting cleanups

Removed strange differentiation in FPS limiting when loading
FPS limiting was done differently if cloud_menu_background was true, which does not make sense

Cleaning up

Add some comments
2014-11-02 02:18:25 +01:00
kwolekr
9e811a92e7 Split up mapgen.cpp 2014-11-01 13:16:23 -04:00
kwolekr
db25f75337 Fix erroneous lua_pop parameter 2014-10-30 16:23:48 -04:00
kwolekr
f0ae2da89e Fix uninitialized variable warning 2014-10-30 02:53:20 -04:00
kwolekr
6b4307791a mapgen: Resolve nodes in ctor rather than makeChunk 2014-10-30 02:29:37 -04:00
kwolekr
03f3f958ed Check minetest.hud_change() parameters on conversion (Fix #1714) 2014-10-30 00:12:12 -04:00
Craig Robbins
6c9bbb0360 Fix bug introduced by me (Zeno) 2014-10-29 08:54:16 +01:00
RealBadAngel
dd4c21c180 Add option to enable mesh caching, add wallmounted for meshes. 2014-10-29 08:37:33 +01:00
Craig Robbins
813c088c1c Added names colours and refactored parseColorString() 2014-10-29 03:10:59 -04:00
kwolekr
1cb6ea6346 Refactor decoration-related code
Split up ModApiMapgen::l_register_decoration()
Define and make use of CONTAINS() and ARRLEN() macros
2014-10-29 01:56:37 -04:00
PenguinDad
7c6da2f384 Fix various indentation issues 2014-10-28 15:37:58 -04:00
Craig Robbins
6396712ec4 Fix #1733: An unhandled exception occurred: GetPeer: Peer not found (possible timeout) 2014-10-28 13:39:23 -04:00
kwolekr
4a3592ff9a Add NodeResolver documentation
Set content to fallback on AddNode failure
Consider node list requests with no results as failed
2014-10-28 02:23:45 -04:00
kwolekr
bc28ca0636 Prevent invalid memory access under failure conditions 2014-10-28 00:18:53 -04:00
kwolekr
6ddf458504 Change license of noise implementation to Simplified BSD 2014-10-27 21:17:07 -04:00
kwolekr
b994a7af13 Add support for eased 3d noise 2014-10-27 02:02:38 -04:00
kwolekr
d274cbfce6 Add NodeResolver and clean up node name -> content ID resolution system 2014-10-26 23:55:45 -04:00
Kahrl
b49e5cfc70 Remove m_ext_ptr in GUIFormSpecMenu, replaced by refcount mechanism 2014-10-24 21:14:48 +02:00
Pavel Puchkin
73bf791fe1 Remove remenants of mob code
Since minetest has no mobs within the core anymore, I suppose these
settings and code should go. Any mod that uses `minetest.setting_getbool`
will work with no problem since the default return value is `false`.
2014-10-23 20:54:33 -04:00
RealBadAngel
7e34621b1d Fix broken plantlike drawtype. 2014-10-22 21:15:31 +02:00
David Thompson
fd5eaae2ba Search for subgames using $MINETEST_SUBGAME_PATH. 2014-10-22 21:05:14 +02:00
RealBadAngel
d221917170 Recalculate normals for cached meshes.
Check if mesh is here before adding to meshcollector.

Fix deleting the meshes.
2014-10-21 18:43:29 +02:00
Kahrl
9029a34cc6 Fix some indentation in nodedef.cpp 2014-10-20 16:11:38 +02:00
Kahrl
ae375cc322 Fix memory leak caused by mesh nodes (and nodeboxes) 2014-10-20 16:11:00 +02:00
RealBadAngel
e5652cb75c Custom collision boxes node property. 2014-10-19 20:48:21 +02:00
Craig Robbins
076c5ee223 Various uninitialised variable fixes
sky.cpp: m_bgcolor.getAlpha() was being used before initialised

mesh related: m_highlight_mesh_color was being used uninitialised
2014-10-19 15:33:08 +02:00
Craig Robbins
fe8ef1be59 Move buttons upwards to accommodate for new configure keys button in the
pause menu
2014-10-18 17:30:17 +02:00
RealBadAngel
0066bd77d2 Add meshnode drawtype. 2014-10-18 16:42:23 +02:00
Kahrl
d1ccc64e1e Make sure PRECISION_SECONDS corresponds to the integer 0 2014-10-09 11:40:33 +02:00
Kahrl
26495da94a Fix unit reported by TimeTaker (was always ms) 2014-10-09 11:15:03 +02:00
Craig Robbins
914f850d31 Fix use of unitialized variables in mouse button handling 2014-10-08 14:56:29 -04:00
Mushiden
7b548cd2b5 Add in-game key change menu 2014-10-07 17:24:09 -04:00
ShadowNinja
741df993ff Fix object reference pushing functions when called from coroutines 2014-10-07 16:37:45 -04:00
BlockMen
28438bba27 Add [colorize modifier 2014-10-05 16:49:52 +02:00
kwolekr
173beeee65 Fix special tile backspace culling 2014-10-03 11:20:29 -04:00
RealBadAngel
b9cb196d49 Bugfix: dont highlight (0,0,0) when theres no node pointed. 2014-10-03 16:03:14 +02:00
RealBadAngel
0920f55eb4 Fix broken plantlike drawtype. 2014-10-03 15:33:32 +02:00
kwolekr
37d3c3d328 Fix misc. style issues 2014-10-03 03:49:06 -04:00
kwolekr
01ce57ade5 Clean up nodedef.cpp 2014-10-03 03:21:08 -04:00
BlockMen
f48f686930 Add optional framed glasslike drawtype 2014-10-02 11:35:15 +02:00
ShadowNinja
e9c9b66ae9 Make players check inventory modification properly 2014-10-01 18:44:36 -04:00
ShadowNinja
8b3135a643 Only set player dirty flag if values change 2014-10-01 18:44:36 -04:00
ShadowNinja
cd0df0d5e7 Simplify player modification checks 2014-10-01 18:44:36 -04:00
sapier
b37bff72f1 Fix android build using hardcoded path for data instead of using the one fetched by android api on init.
Fix android missing version information
2014-10-01 22:18:29 +02:00
BlockMen
61ed56f916 Standardize tooltip row detection 2014-09-28 10:10:43 +02:00
BlockMen
b75e7148c2 Fix multilined description in tooltips (fixes #1688) 2014-09-28 08:44:05 +02:00
sapier
121e8cc2a1 Fix totally messed up 3d modes interlaced/topbottom/sidebyside 2014-09-25 20:37:06 +02:00
sapier
15c7460eda Fix chat lines not word wrapped correct 2014-09-25 19:54:02 +02:00
Kahrl
5ca5630a11 Fix command line parsing
Broken by 6bc4cad0eddd7a7cf593ca1471599e2d75727379, e.g.
  minetest --worldname world
would be parsed as
  minetest --worldname --worldname
2014-09-22 11:02:26 +02:00
ShadowNinja
56195dc2e4 Fix build with redis
Broken by 6bc4cad0eddd7a7cf593ca1471599e2d75727379 because database-redis.h
depended on settings.h to include filesys.h.
2014-09-21 21:02:49 -04:00
TriBlade9
9a685a4f2e Add firelike drawtype 2014-09-21 15:50:27 -04:00
ShadowNinja
fb35cfb2dc Fix GCC reorder warning
Caused by a020d1b653f94fbcaac06c15f9dbab4521fda355.
2014-09-21 15:23:36 -04:00
sruz25
f6321e277b Add inventory right click drag and drop 2014-09-21 15:23:27 -04:00
ShadowNinja
c061bdd37f Fix locking bugs and make inventory deserialization errors more specific 2014-09-21 14:39:36 -04:00
ShadowNinja
6bc4cad0ed Split settings into seperate source and header files
This also cleans up settings a bit
2014-09-21 14:39:35 -04:00
ShadowNinja
2ae5d3f3ab Fix Settings locking 2014-09-21 14:39:35 -04:00
ShadowNinja
cd64a92a8c Use const references for Settings methods
Also check for (this == &other) before locking mutexes.
2014-09-21 14:39:35 -04:00
Craig Robbins
b97c9c6577 Make getters of the Settings class const
Also removed 2 unused functions.
2014-09-21 14:39:35 -04:00
BlockMen
a020d1b653 Allow taking screenshots of formspecs and move message to chat 2014-09-21 19:15:48 +02:00
ShadowNinja
406ed5efac Add compression API 2014-09-20 14:02:54 -04:00
donat_b
c9cab6bcab Make config compatible with C++11 2014-09-20 11:20:13 +02:00
ShadowNinja
8852333eb3 Use configured bind_address for HTTPFetch 2014-09-18 21:54:23 -04:00
ShadowNinja
86a3c8ce56 Reduce indentation of HTTPFetchOngoing
Also clean up some related things.
2014-09-18 21:54:22 -04:00
TriBlade9
18bfa1c785 Added configurable selectionbox width. Min width = 1, Max = 5 2014-09-19 03:28:46 +02:00
RealBadAngel
86a0f5603b Bugfix: don't highlight air nodes. 2014-09-18 09:56:27 +02:00
RealBadAngel
58e6d25e03 Node highlighting. 2014-09-17 22:06:13 +02:00
Kahrl
206f076422 Fix typo in comment in chat.cpp 2014-09-14 15:37:27 +02:00
ShadowNinja
2f170a63c6 Simplify and optimize schematic replacements 2014-09-11 22:25:06 -04:00
sapier
62ea342ad1 Log unhandled exceptions in connectionthreads to errorstream 2014-09-06 18:22:27 +02:00
sapier
944e79d7a6 Fix access to invalid data on reception of packet with size 0 2014-09-06 17:42:34 +02:00
BlockMen
8948907431 Change screenshot colorformat properly 2014-09-03 19:41:29 +02:00
BlockMen
b2102bfe49 Don't save alpha channel in screenshots (fixes #1451) 2014-09-03 11:39:29 +02:00
kwolekr
f3eefeb794 Add LuaVoxelManip methods: get_node_at() and set_node_at() 2014-09-01 17:33:21 -04:00
kwolekr
9e4e7072da Update Mapgen VoxelManipulator on buffer invalidation 2014-09-01 15:12:22 -04:00
kwolekr
3fa4f782d9 Save previously generated blocks on Mapgen blitback 2014-09-01 14:58:05 -04:00
sapier
e5b4748bb4 Fix only one texture being updated on window resize breaking sidebyside and topbottom 3d modes 2014-08-29 01:35:35 +02:00
sapier
fb2183b61d Fix interlaced 3d mode second image being flipped on compiling against irrlicht >= 1.8 2014-08-29 00:54:46 +02:00
RealBadAngel
e66bb9b864 Allow use all 6 faces for special tiles.
Protocol version bump.
2014-08-25 12:47:06 +02:00
sapier
e09293b483 Add lua exception handling test code
Catch some error situations when mod used without thinking about it
2014-08-23 20:53:34 +02:00
Kahrl
3e267a6ece Fix LuaJIT exception wrapper 2014-08-23 20:41:03 +02:00
Craig Robbins
f33d31693e Fix seg fault if popping from empty stack (L-system trees)
See: https://github.com/minetest/minetest/issues/1525

Background
Wuzzy2: If you attempt to spawn a L-system tree with minetest.spawn_tree, you can make Minetest crash if it is attempted to pop an empty stack.

ShadowNinja: This shouldn't cause a segmentation fault, but it should throw a Lua error

Commit Description
This commit throws a Lua error instead of causing a segmentation fault. The server will still "crash" but will include a Lua backtrace.

L-Systems fix randomness
Unless a random seed is provided (via Lua treedef) seed the PRNG with a different seed for each tree
Resolves: https://github.com/minetest/minetest/issues/1469

Fix l-system crash when treedef random_level not set by Lua
2014-08-23 06:40:27 +02:00
sapier
996ea60642 Add video driver selection to settings menu (based uppon idea from webdesigner97) 2014-08-23 01:55:54 +02:00
sapier
7940a4264a Fix chat messages capturing mouse interactions for menu/formspecs 2014-08-23 00:23:14 +02:00
SmallJoker
55c646c5c2 Use pause_fps_max also on multiplayer 2014-08-22 22:52:20 +02:00
sfan5
b19dd922ec Add ^[mask texture modifier 2014-08-22 22:42:04 +02:00
SmallJoker
e4d570eafc Reduce time of red screen when damaged
10 seconds in PvP is very long and annoying.
2014-08-22 22:19:07 +02:00
Selat
c58b9d8da3 ban.cpp refactoring 2014-08-22 22:03:08 +02:00