Commit Graph

3641 Commits

Author SHA1 Message Date
est31
b0784ba871 Use UTF-8 instead of narrow
Use wide_to_utf8 and utf8_to_wide instead of wide_to_narrow and narrow_to_wide at almost all places.
Only exceptions: test functions for narrow conversion, and chat, which is done in a separate commit.
2015-07-08 10:12:44 +02:00
kwolekr
e234d8b378 Clean-up Minimap code
- Fixed race conditions
- Fixed null dereference
- Fixed out-of-bounds array access
- MinimapMapblock is now allocated and added to update queue only when enabled
- Removed dependency on LocalPlayer
- Fixed code style
- Simplified expressions and program logic
- Cleaned minimap object interfaces
2015-07-08 01:50:31 -04:00
paramat
ba15c98e4d Mgv7: Auto-set lowest mountain generation level
Lowest level of base terrain determines mountain generation in mapchunk
Change some positional function arguments from int to s16
2015-07-08 00:49:04 +01:00
est31
d92d376148 Client: better m_proto_ver initialisation
Previously, m_proto_ver was set to the serialisation version
inside the legacy init packet.

Now, if the server doesn't send a protocol version (protocols < 25),
we set m_proto_ver to some value < 25 and > 0.
2015-07-07 17:03:26 +02:00
ShadowNinja
a93838707a Use minetest logging facilities for irrlicht log output 2015-07-05 01:05:24 +02:00
paramat
d786a272c0 Mgv7: Lower base of mountain generation to -112 and define constant 2015-07-04 20:21:19 +01:00
est31
64dc053209 Fix endless loop since grandparent commit 2015-07-04 19:43:46 +02:00
est31
96989e0a6a Craftdef: Use numbers instead of iterators
Use numbers instead of iterators to traverse various vectors.
2015-07-04 16:28:21 +02:00
TeTpaAka
87b9cdab07 Fix missing check for 0 in craft replacements 2015-07-04 14:33:49 +02:00
kwolekr
7b171ea2be Fix code style from recent commits and add misc. optimizations 2015-07-02 23:14:30 -04:00
RealBadAngel
8a85e5e58d Shaders fixes and cleanup relief mapping code. 2015-07-02 21:36:45 +02:00
est31
2e44873ac9 Inventory manager style cleanup and further checks 2015-07-01 17:03:02 +02:00
est31
b2160bcecd Disable mesh cache by default 2015-07-01 13:50:25 +02:00
paramat
c0dafa1c10 Cavegen: Cleanup code. Define constant for MGV7_LAVA_DEPTH 2015-07-01 06:21:13 +01:00
est31
9e3e6dc5ec Make m_blocks_cache private
@RealBadAngel has removed all outside access of the cache.
2015-06-30 21:34:23 +02:00
est31
370a33686a Defer minimap update when shape changed 2015-06-30 21:14:28 +02:00
est31
842579eb8c Close keybind settings menu with esc 2015-06-30 21:04:06 +02:00
paramat
91f95fd4df Biome API: Increase heat and humidity noise spreads to 1000 2015-06-30 07:04:18 +01:00
est31
29dda9f356 Add UpdateThread and use it for minimap and mesh threads 2015-06-29 15:00:19 +02:00
kwolekr
4e28c8d3c8 Fix *BSD build with GNU iconv 2015-06-29 12:32:01 +02:00
rubenwardy
0d65ee878c Add Lua errors to error dialog 2015-06-29 04:47:35 +02:00
RealBadAngel
0a90fedabc Bugfix: minimap was updated only with loading new blocks, allow forced updates with changing player pos 2015-06-28 14:45:47 +02:00
RealBadAngel
b160f8dfe7 Minimap update 2015-06-28 12:17:36 +02:00
est31
420125debd Remove busy polling inside minimap thread 2015-06-27 19:20:25 +02:00
paramat
36163d9653 Mgv5/mgv7 caves: Remove sand found in underground tunnels
Add missing check for max_stone_y to mgv5 cavegen
Tunnels now carve through sand below water_level
2015-06-27 03:36:40 +01:00
RealBadAngel
ffd16e3fec Add minimap feature 2015-06-27 03:42:01 +02:00
est31
3376d2e114 Remove compile warning
Thanks @TeTpaAka for pointing this out.
2015-06-25 15:50:31 +02:00
est31
3d43df99f1 Return to ignore 2015-06-24 22:47:41 +02:00
Loic Blot
c6766b275f Typo fix on previous @est31 commit 2015-06-23 23:17:47 +02:00
est31
3a89e25fe0 Small TOCLIENT_HELLO logging fix
Fix grammar error and missing number conversion for version.
Also add deployed protocol to log line.
2015-06-23 21:14:48 +02:00
est31
2c1fd29884 Add MoveSomewhere inventory action
Improve shift+click experience
2015-06-23 20:18:41 +02:00
Craig Davison
bc55ef337c Use actionstream instead of errorstream when failing to emerge player 2015-06-23 19:25:06 +02:00
est31
6f8bdda90e Fix string conversion error message 2015-06-23 15:04:14 +02:00
TeTpaAka
17ba584fe2 Fix bug when craft input isn't replaced 2015-06-22 19:30:35 +02:00
MirceaKitsune
660fa516bf Fix some issues with animations, and allow non-looped animations to be defined 2015-06-22 01:53:38 +02:00
paramat
622918d8a8 Mgv7: Edit noise parameters. Fewer octaves, larger spreads. 2015-06-21 04:34:19 +01:00
est31
14f4cd0ef9 Small CAO improvements
-> remove the old parent as @kahrl suggested
-> use indices no iterator as @kwolekr suggested
2015-06-20 06:58:07 +02:00
paramat
70da8a940b Mapgen objects: Enable heatmap and humidmap for all biome api mapgens 2015-06-20 04:16:17 +01:00
figec
d7190df07e More correct wrap_rows implementation 2015-06-20 03:41:51 +02:00
est31
dd91b3d6fb Generic CAO cleanups and renames for clarification
* Use enum for GENERIC_CMD_*
* Rename m_attachements to attachement_parent_ids (public member and clearer name)
* Rename GENERIC_CMD_SET_ATTACHMENT to GENERIC_CMD_ATTACH_TO
* USHRT_MAX + 1 buffer sizes to prevent overflows as @kahrl suggested
* Remove unneccessary m_id from GenericCAO (shadowing protected superclass member for no reason) as @kahrl suggested
2015-06-20 03:37:30 +02:00
est31
40226e5274 Make attached objects visible in 3rd person view 2015-06-20 02:59:53 +02:00
figec
3b65a6a36c Fix wrap_rows at inner byte of multibyte sequence
Also fix UTF-8 inner byte bounds and make unittest for case this fixes.
2015-06-18 23:39:23 +02:00
paramat
e45ecad3ab Biome API: Add noise defined biome blend 2015-06-18 07:05:22 +01:00
paramat
2da1503780 Mgv6: Don't create air gap in tundra at y = 48 in custom high terrain 2015-06-18 04:18:15 +01:00
est31
ea1b17b88f Don't print an error for valid listring[] formspec 2015-06-18 04:25:11 +02:00
est31
43dab2ffc8 Make wrap_rows not wrap inside utf-8 multibyte sequences
Also count multibyte sequences as "one" character.
Adds unittest for the bug reporter's case.
Fixes #2796.
2015-06-17 22:22:15 +02:00
est31
6dcf549ba9 Fail iconv call gracefully
No freezing when inbuf_size doesn't decrease over time.
2015-06-17 19:03:58 +02:00
est31
7a90b31b30 GUIFormSpecMenu::OnEvent code style update and small refactor
* Make method (more) consistent with current code stlye
* Move index into loop constructor after @rubenwardy's suggestion
* Cache inv_s->getList(s.listname), which removes a possibly bad scenario
of inv_s being null.
* Properly check for validity
2015-06-16 20:33:07 +02:00
est31
c977fbd928 Add list-rings
Adds list-rings, a method to implement item sending between inventories via shift-click.
Nice insider feature: a ring consisting of a single inventory list serves as nice clean-up method.
Also adds them to minimal game, and the standard inventory.
Craft output slots are not supported.
2015-06-16 14:51:26 +02:00
Nathaniel Olsen
3ae8b92be6 Remove unneccessary space for tab completion 2015-06-16 07:16:22 +02:00
paramat
38482d2656 Biome API: Enable biome generation to lower world limit
Decorations: Remove lower limit of water level for placement
2015-06-15 02:07:38 +01:00
SmallJoker
bb5f830d16 Ignore punches with no damage in the actionstream 2015-06-15 00:10:13 +02:00
est31
ee38bcd307 Automated whitespace error fix for last commit 2015-06-14 23:15:20 +02:00
RealBadAngel
43fcfbfe05 Improved parallax mapping. Generate heightmaps on the fly. 2015-06-14 21:13:36 +02:00
est31
d105bf27dd Add UTF and other utility unit tests 2015-06-14 12:07:51 +02:00
est31
60f31ad523 Android: bypass broken wide_to_utf8 with wide_to_narrow
While utf8_to_wide works well, wide_to_utf8 is quite broken
on android, for some reason.
2015-06-14 08:25:21 +02:00
Ilya Zhuravlev
b6387b4e0f Use utf-8 in formspecs 2015-06-13 19:49:55 +02:00
est31
572990dcd3 Add utf-8 conversion utilities and re-add intlGUIEditBox 2015-06-13 19:49:55 +02:00
TeTpaAka
aa13baa30a Add minetest.register_on_player_hpchange 2015-06-13 19:40:31 +02:00
TeTpaAka
e50aa4ed06 Add return list of individual counts to find_node_in_area 2015-06-13 19:39:18 +02:00
est31
502e40a649 dofile error reporting for syntax errors
According to doc, dofile() raises an error when parsing failed due to syntax errors.
Fixes #2775
2015-06-12 20:23:31 +02:00
paramat
0b187ede4b Minimal: Add snow biome and jungleleaves nodes. Add mapgen aliases
Treegen: Remove alias checks from jungletree generation for speed
2015-06-12 08:20:19 +01:00
paramat
74d8b341bc Mgv5/mgv7: Trigger biome recalculation at underwater surfaces 2015-06-03 06:37:10 +01:00
est31
ba3ff5ef39 Fix uninitialized variable error
If you run minetest with valgrind, you'll quickly notice uninitialized jump
depend error messages that point to s_base.cpp:131. This commit fixes those.
2015-06-02 13:55:02 +02:00
est31
617a3d426f Make split method static 2015-06-01 17:04:21 +02:00
est31
06a2eee692 Mapblock: nodecount refactor
Spare direct multoplication, use constant MapBlock::nodecount instead of
local nodecount variables.

Also use strides at one place instead of multiplications.
2015-05-31 06:24:41 +02:00
SmallJoker
b4dfaa3a7a Only retrieve always_fly_fast setting once 2015-05-30 22:29:36 +02:00
Craig Robbins
addf3ee165 (Android) Only simulate holding down fast key if fast_move is toggled to true 2015-05-29 22:59:21 +10:00
kwolekr
522acf920f Make get_biome_list() error message more helpful 2015-05-28 20:04:50 -04:00
Kahrl
0f15488eae Fix typo in variable name 2015-05-28 20:47:15 +02:00
TeTpaAka
c0335f7d13 Add some missing getter functions to the lua API
ObjectRef:
get_properties
get_armor_groups
get_animation
get_attach
get_bone_position

Players:
get_physics_override
hud_get_hotbar_itemcount
hud_get_hotbar_image
hud_get_hotbar_selected_image
get_sky
get_day_night_ratio
get_local_animation
get_eye_offset

Global:
minetest.get_gen_notify
minetest.get_noiseparams
2015-05-28 16:46:35 +02:00
est31
990a96578f Consistent const string params
Parent commit broke behaviour.
Thanks @TeTpaAka for testing the fix.
2015-05-27 13:23:09 +02:00
est31
21878c9d5c Spare some string copies 2015-05-27 11:45:40 +02:00
paramat
f16ebbfecf Mgv6: Enable snowbiomes by default. Double biome noise spread. 3 octaves, 0.5 persistence for humidity 2015-05-26 02:08:06 +01:00
est31
6b7fb591cb Small clientiface ASCII art improvements
Use v arrows except where there is only one line between two boxes,
and other improvements
(Yea could use ↓ but its an ASCII art not an Unicode art).
2015-05-24 16:33:22 +02:00
paramat
774e5d17c4 Biome API, mgv7: Increase heat/humidity spreads. Improve mgv7 noise parameters 2015-05-24 04:33:09 +01:00
paramat
3dba6d1f90 Mgv5/v7: Fix generateBiomes biome recalculation logic Biomegen down to y = -192 for mgv5 deep oceans. Improve code 2015-05-23 02:18:30 +01:00
SmallJoker
39869aaa25 Fix Windows build, clean up included headers
Also fix a startup error caused by s_security.cpp
2015-05-22 20:37:59 +02:00
est31
e13d2bafc6 Deny empty username early in the protocol
Thanks to @UltimateNate for pointing this out :)
2015-05-22 20:24:39 +02:00
est31
9facb40738 Don't ignore nametag attribute change message for newer versions
This allows newer versions to add additional information that isn't
read by us, but still in a backwards compatible manner.
2015-05-21 19:01:46 +02:00
kwolekr
da34a2b33e Replace instances of std::map<std::string, std::string> with StringMap
Also, clean up surrounding code style
Replace by-value parameter passing with const refs when possible
Fix post-increment of iterators
2015-05-19 16:10:49 -04:00
rubenwardy
603297cc35 Add texture overriding 2015-05-19 21:27:07 +02:00
kwolekr
43702ec6ac Fix build with libstdc++
libstdc++ doesn't include <cstring> inside of <string>, unlike libc++.
2015-05-19 02:38:48 -04:00
kwolekr
6c5a6967ec Split ObjDef/ObjDefManager out to objdef.cpp 2015-05-18 22:30:25 -04:00
est31
497299afd6 Lower log level for unexpected behaviour
Its a possible mistake to log in to a server with twice the same name.
Before, it triggered a server wide error message, now it logs to actionstream.
2015-05-19 00:55:58 +02:00
est31
d2ca662569 Enforce hiding nametag
Work around irrlicht bug and hide nametag if its alpha is set to 0.
Thanks @TeTpaAka for pointing out workaround.
2015-05-18 23:10:48 +02:00
est31
23984ef7f0 Make nametags white again
Commit 11a96e4901ce54c4646e47866f7a66cd9034c16b
commented out version parsing, resulting in the version byte being parsed as part of the color,
making nametags dark grey.
Re-introduces version parsing and ignores the packet if the version is more recent than ours,
fixing the unused variable warning (should have been done anyway).
2015-05-18 21:11:41 +02:00
kwolekr
20aa78cffb Fix null dereference when loading schematic from definition without a NodeDefManager 2015-05-17 22:32:35 -04:00
kwolekr
46684beec1 Record MapBlock modification reasons as flags instead of strings
This improves performance of MapBlock::raiseModified by a factor of 6.
Also, clean up mapblock.h a bit and inline small functions.
2015-05-17 22:14:26 -04:00
kwolekr
4c9a8a91c4 SAPI/Noise: Add PerlinNoiseMap:getMapSlice() function
This adds the ability to grab 'slices' of noise calculated by PerlinNoiseMap.
Retrieving smaller slices of noise from the computation result as needed
optimizes memory usage while maintaining a reasonable amount of CPU overhead.
2015-05-17 04:04:17 -04:00
paramat
c0edb8e313 Mapgen v5/v7: Detect sandstone, enable sandstone brick dungeons 2015-05-17 06:07:39 +01:00
kwolekr
3ffb5f5761 Add optional buffer param for bulk data array writes in Lua 2015-05-17 00:07:45 -04:00
kwolekr
28b2476b11 Noise: Fix interpolation at negative coordinates 2015-05-17 00:04:51 -04:00
ShadowNinja
c00b6812b1 Fix current mod name change missed during rebase 2015-05-16 21:12:03 -04:00
kwolekr
11a96e4901 Add -Wsign-compare for Clang builds and fix some signed/unsigned compiler warnings 2015-05-16 20:15:03 -04:00
kwolekr
fb36c471d7 SAPI: Accept either ARGB8 table or ColorString to specify colors 2015-05-16 20:15:03 -04:00
ShadowNinja
8f9af57314 Add core.get_dir_list 2015-05-16 18:33:22 -04:00
ShadowNinja
6c06330daf Add core.request_insecure_environment() 2015-05-16 18:33:19 -04:00
ShadowNinja
05ab9973f9 Add core.mkdir 2015-05-16 18:32:37 -04:00
ShadowNinja
3a8c788880 Add mod security
Due to compatibility concerns, this is temporarily disabled.
2015-05-16 18:32:31 -04:00
est31
c297a75a7d Fix build since last commit
Also rename method to better match what it does.
2015-05-16 22:14:15 +02:00
est31
8dbf683313 Finalize init packets and enable protocol v25
This enables srp.
2015-05-16 21:17:28 +02:00
TeTpaAka
19cbb6b37b Add push_ARGB8 to script/common/c_converter 2015-05-15 16:21:56 -04:00
TeTpaAka
18c2f16c13 Generalize core.get/set_nametag_color into core.get/set_nametag_attributes 2015-05-15 16:21:01 -04:00
kwolekr
5d1d7c17ea Noise: Make buffer size parameters unsigned 2015-05-15 16:20:30 -04:00
kwolekr
eaef678e0b Schematics: Fix probability values for .mts version 1 2015-05-15 16:20:30 -04:00
Brandon
c5b4e54174 Add minetest.register_on_punchplayer 2015-05-15 11:09:55 +02:00
TeTpaAka
86a963caca Add get and set functions for the nametag color 2015-05-15 11:03:27 +02:00
Craig Robbins
99cf53c908 ANDROID: Do not limit situations where fast is enabled
Before this commit autofast for Android was ignored if the user was sneaking, digging or building. There is no reason for this and it impedes movement control
2015-05-15 13:22:07 +10:00
est31
b70e67df8c Fix compiler warning about sign comparison 2015-05-13 00:04:30 +02:00
SmallJoker
ecc514f11b Build and link gmp correctly on MSVC
Also optimize json's library
2015-05-12 21:07:46 +02:00
est31
b4c3ff6eab is_player() is no player-only function 2015-05-12 05:52:49 +02:00
paramat
02805af36e Mapgen v5/6/7: Cleanup node resolver and aliases 2015-05-12 04:40:53 +01:00
est31
82e35edff5 Make early protocol auth mechanism generic, and add SRP
Adds everything needed for SRP (and everything works too),
but still deactivated, as protocol v25 init packets aren't final yet.
Can be activated by changing the LATEST_PROTOCOL_VERSION header to 25
inside networkprotocol.h.
2015-05-11 18:40:27 +02:00
est31
181f7baa45 Add LibGMP
Uses system provided libgmp if found, if not it falls back to mini-gmp.
2015-05-11 17:48:33 +02:00
Craig Robbins
5a1975a4e3 Change lower limit of display_gamma to 1.0 (linear light)
Now matches function comment
2015-05-11 02:03:09 +10:00
kwolekr
2b99d904f6 Schematics: Add per-node force placement option 2015-05-09 18:44:00 -04:00
kwolekr
d59e6ad004 Fix typo in WieldMesh::setItem() 2015-05-08 23:30:56 -04:00
kwolekr
ff740a4179 Ensure that Map::findNodesWithMetadata() reports nodes strictly within the node-granular area 2015-05-08 13:31:03 -04:00
kwolekr
f1ccfd3c3d Replace Wieldmesh::setItem assertion that could be triggered by the server with an error 2015-05-08 13:26:31 -04:00
est31
0310123bc9 Fix release build warning 2015-05-08 07:23:41 +02:00
kwolekr
f091bbd563 Fix compilation for non-client builds, and fix signed comparison warning 2015-05-08 01:21:34 -04:00
kwolekr
2dba29ebf2 Tests: Add schematic unittests
Improve schematic file-saving interface
Add ability to create temporary test files
2015-05-08 00:55:42 -04:00
est31
33c11415bf Gracefully handle PacketErrors 2015-05-08 06:51:03 +02:00
kwolekr
0e64fc45b9 Fix missing Y component assignment in check_v3f 2015-05-08 00:03:41 -04:00
Kevin Ott
e17c6ba2cd Remove duplicate lua_getfield() in c_converter.cpp
Fixes #2678
2015-05-07 09:57:34 +02:00
kwolekr
b246812455 Schematics: Add indent-with-space option for schematic Lua table serialization 2015-05-07 02:54:35 -04:00
kwolekr
656575b59d NodeResolver: Remove NodeResolveMethod
This simplifies NodeResolver logic and makes some interfaces cleaner.
2015-05-07 02:36:01 -04:00
ShadowNinja
d720fd5644 Fix connection speed unit names 2015-05-06 15:41:37 -04:00
ShadowNinja
3a8e7341ec Fix error messages for type-checking Lua reading functions 2015-05-06 15:33:36 -04:00
ShadowNinja
3f5c2dea4d Improve Redis error messages 2015-05-06 15:28:22 -04:00
kwolekr
2b44e75442 Fix build on Debian broken by b45df9d (missing include, somehow?) 2015-05-05 20:40:18 -04:00
kwolekr
633af58a05 NodeDefManager: Improve const-correctness of interfaces
- Add ability to explicitly reset NodeResolve state (useful for unittesting)
- Remove non-essential NodeResolve methods modifying state from INodeDefManager
- Add const qualifier to NodeDefManager and ContentFeatures serialize
2015-05-05 16:52:06 -04:00
kwolekr
b785577f03 Add core.find_nodes_with_meta() script API 2015-05-05 16:21:59 -04:00
kwolekr
b45df9d6a7 Tests: Add NodeResolver unittests
Minor misc. NodeResolver cleanups
Prefix faux content type constants for testing with t_ to avoid
confusion or name collisions
2015-05-05 12:00:36 -04:00
ShadowNinja
1be2d32fd5 Make Git version detection use VERSION_STRING instead of tags
This fixes the problem where 0.4.12-dev versions were erroneously shown as
0.4.11-dev because the tag was added on a separate branch.  It also fixes a
similar issue when builders didn't fetch new tags when updating.

This also removes the number-of-commits-since-tag field, since it's
incompatible with this.  Said field doesn't seem to be useful anyway if you
have the commit hash.
2015-05-05 17:13:05 +02:00
ShadowNinja
dfd790930c Fix GCC compiler warning 2015-05-04 20:01:10 -04:00
Jay Arndt
2923eafaca Stop NetworkPacket methods from producing bloated packets 2015-05-05 01:47:41 +02:00
est31
4b0f5fcbf5 Cache enable_3d_clouds flag
Small improvement on clouds rendering performance
2015-05-04 22:50:04 +02:00
paramat
9345ba7b6a Clouds: Make cloud area radius settable in .conf 2015-05-04 22:41:13 +02:00
Kevin Ott
5fa4fed097 Add a check for animation when getting an extruded mesh
Fixes issue #2667
2015-05-04 02:11:36 -04:00
obneq
9af7f38e3f Fix pathfinder to produce more useful paths
- Fix unintended negation of condition
- Remove line_of_sight 'optimization'
2015-05-03 22:36:11 -04:00
kwolekr
8f38f8255c Tests: Add ObjDef unittests 2015-05-03 22:19:35 -04:00
kwolekr
5b237b4d94 ObjDefManager: Set replacement object's handle info after calling set()
Make gamedef optional when constructing an ObjDefManager
Add note about object ownership
2015-05-03 22:19:35 -04:00
paramat
9e1e4b6284 RotateAlongYAxis: For facedir case, return if param2 >= 4 2015-05-03 03:43:51 +01:00
SmallJoker
6626a3f72f Fix several MSVC issues numeric.h
-> Round negative numbers correctly CMakeLists.txt
-> Link Json with the static run-time library
2015-05-01 07:34:51 +02:00
kwolekr
37ca3212ee Fix MSVC compatibility
Make sure to include random unittests in android builds, too
Use SWAP() macro
Ensure that negative ranges are tested as well in random unittests
2015-04-29 13:20:01 -04:00
kwolekr
b6475f5448 Tests: Add random unittests 2015-04-29 04:08:04 -04:00
sfan5
4ea5a96fff Revert the upper-case PROJECT_NAME nonsense that was part of #2402 2015-04-27 16:24:49 +02:00
sfan5
558d715bf6 Revert "Only lowercase project name at compile time"
This reverts commit 3be9787e64362b8a5020746220c65abbe31f8097.
2015-04-27 16:24:49 +02:00