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
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
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
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
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
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
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
(@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
kwolekr
38bd9e93a2
Fix all warnings and remove -Wno-unused-but-set cflag
2015-01-18 23:29:19 -05:00
Craig Robbins
5b8855e83c
Remove most exceptions from getNode() (and variants)
2014-11-14 18:05:34 +10:00
sapier
5d06bdf8ac
Speedup getBlockNodeIdMapping by up to factor 4 by using a fixed size mapping array
2014-06-23 00:13:41 +02:00
proller
0279f32db7
Remove liquid_finite and weather
2014-04-18 21:56:48 +04:00
sapier
04e9a9d541
Cleanup jthread and fix win32 build
2013-12-01 16:25:46 +01:00
kwolekr
e396fb2984
Actually fix weather
...
The real problem was that MapBlocks were not activated before getting sent to the client
2013-11-17 01:59:04 -05:00
kwolekr
9bccd75e34
Weather: Clean up getHeat/getHumidity somewhat
2013-09-16 23:33:53 -04:00
Kahrl
4e1f50035e
Omnicleanup: header cleanup, add ModApiUtil shared between game and mainmenu
2013-08-14 21:03:33 +02:00
proller
06cdce1e12
Weather backward compatibility
2013-08-02 00:51:36 +04:00
PilzAdam
ff7c380d0e
Fix warnings in mapblock.cpp
2013-07-28 23:34:58 +02:00
proller
3aedfac968
Weather support
2013-07-27 23:21:48 +04:00
Ilya Zhuravlev
6a1670dbc3
Migrate to STL containers/algorithms.
2013-03-11 19:08:39 -04:00
Sfan5
6d0ea26c2d
Update Copyright Years
2013-02-24 20:15:24 +01:00
PilzAdam
497ff1ecd6
Change Minetest-c55 to Minetest
2013-02-24 18:49:03 +01:00
Perttu Ahola
eca1c96412
Move util/serialize.h out from staticobject.h for smaller header dependencies
2012-11-26 11:18:34 +02:00
Perttu Ahola
ee2d9d973a
Reorganize ClientMap rendering code for a bit more performance
...
- Don't select blocks for drawing in every frame
- Sort meshbuffers by material before drawing
2012-09-04 22:41:03 +03:00
Perttu Ahola
5c31445117
Improve node timer format (map format version 25) and update mapformat.txt
2012-07-24 15:03:46 +03:00
Perttu Ahola
fd845f27f5
Fix map deserialization and remove old serialization code
2012-07-23 08:18:39 +03:00
darkrose
ea62ee4b61
Increase node id/param0 to 16 bits, leaving param2 always with 8 bits
2012-07-23 08:18:39 +03:00
darkrose
cd6becd442
Implement node timers
2012-07-23 08:18:37 +03:00
Perttu Ahola
d0ea6f9920
Properly and efficiently use split utility headers
2012-06-17 02:40:36 +03:00
Perttu Ahola
e74668ef7f
Update and fix doc/mapformat.txt; make current format more solid in mapblock.cpp
2012-06-08 14:57:02 +03:00
Perttu Ahola
037b259197
Switch the license to be LGPLv2/later, with small parts still remaining as GPLv2/later, by agreement of major contributors
2012-06-05 18:54:07 +03:00
Perttu Ahola
f48882213e
Add ignore_world_load_errors configuration option and provide better error messages
2012-06-04 22:34:40 +03:00
Kahrl
704782c95b
WIP node metadata, node timers
2012-06-03 22:31:00 +03:00
Perttu Ahola
02c035c548
Reduce EnvRef:set_node() time tenfold by postponing the dayNightDiff update until it is actually needed
2012-03-29 00:28:48 +03:00
Kahrl
807a0d313b
MapBlockMesh, mesh animation system, urgent mesh updates, athmospheric light, removed footprints
2012-03-15 21:45:44 +02:00
Kahrl
c241902b40
Cleanup (some stuff went wrong when reverting 4-byte mapnodes); fix legacy_wallmounted
2012-01-22 17:31:20 +02:00
Kahrl
157a4cf18c
Node placement / mineral / serialization / iron freq / node_dig callback
...
- Node placement code moved to Lua
- Mineral system removed (added default:stone_with_coal and default:stone_with_iron).
- MapBlock and MapNode serialization updated.
- Mapgen: Frequency of iron increased.
- node_dig callback and related changes.
2012-01-22 17:24:50 +02:00
Kahrl
6a76c226e1
The huge item definition and item namespace unification patch (itemdef), see http://c55.me/minetest/wiki/doku.php?id=changes:itemdef
2012-01-12 06:10:39 +01:00
Perttu Ahola
842eb5da28
Replace old active block random node modifying things with actual ActiveBlockModifiers
2011-11-29 19:13:56 +02:00
Perttu Ahola
1b765b9740
Add reason parameter to setModified and print it out to verbosestream when saving block
2011-11-29 19:13:49 +02:00
Perttu Ahola
df8346ef4d
Do not expose CONTENT_* stuff in content_mapnode.h and use a name converter wrapper in old code
2011-11-29 19:13:47 +02:00
Perttu Ahola
c0f6395cf0
Node definition names
2011-11-29 19:13:46 +02:00
Perttu Ahola
3318d0b4b8
Remove content dependencies from mapblock.cpp
2011-11-29 19:13:46 +02:00
Perttu Ahola
c6fd2986d4
GameDef compiles
2011-11-29 19:13:42 +02:00
Perttu Ahola
abceeee92f
Create framework for getting rid of global definitions of node/tool/item/whatever types
2011-11-29 19:13:41 +02:00
Perttu Ahola
3b77a63d5d
Allocate MapBlock::m_node_metadata on heap to allow less header bloat
2011-11-29 19:13:41 +02:00
Perttu Ahola
64996422c0
Move ContentFeatures to mapnode_contentfeatures.{h,cpp} and clean stuff
2011-11-29 19:13:40 +02:00
Perttu Ahola
43a28f04fa
mobv2
2011-10-15 02:28:57 +03:00
Perttu Ahola
b60b58b627
Saner block modification flag operation for not saving everything always
2011-10-12 10:53:37 +03:00
Perttu Ahola
416499f978
fix server build
2011-07-25 23:31:02 +03:00