est31
6c81be51ff
Fix object position border checking
...
Borders have to be converted into BS format in order to be accurately comparable to
object positions.
2015-09-16 17:39:49 +02:00
est31
f61f817b9c
Disallow placing entities outside safe boundaries
...
Entity positions are serialized as F1000. Disallow placing
entities outside safe borders with the minetest.add_entity
call.
Note that this patch only enforces those boundaries for
placing entities, moving entities that move outside boundaries
aren't affected.
Thanks to @nanepiwo for pointing this out.
2015-09-15 19:45:17 +02:00
est31
283bf97a1c
Serialisation: documentation fixes, clarifying renames and whitespace fixes
...
1. Do two renames:
* SER_FMT_CLIENT_VER_LOWEST -> SER_FMT_VER_LOWEST_WRITE
* SER_FMT_VER_LOWEST -> SER_FMT_VER_LOWEST_READ
Now the two define values are consistently named with the _WRITE defines
SER_FMT_VER_{HIGHEST,LOWEST}_WRITE, and to better point out what the two
serialisation versions actually are for.
2. wrap some lines in doc/worldformat.txt, and point out that the node
timers are serialized at a later point, as this can cause confusion about
what now happens (if one doesn't strictly read the if block's conditions).
3. some whitespace fixes in NodeTimerList::serialize, and one new comment.
2015-09-14 07:02:15 +02:00
rubenwardy
ec796b8e81
Add map limit config option
2015-08-02 14:27:04 +02:00
nerzhul
ca63f7f10d
Precalculate mapblock relative size. This permit to remove many s16 calculs on runtime
2015-07-29 11:45:44 +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
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
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
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
9f65fd6819
Fix typo in mapblock.h
2014-12-12 20:46:37 +10:00
Craig Robbins
5b8855e83c
Remove most exceptions from getNode() (and variants)
2014-11-14 18:05:34 +10:00
proller
0279f32db7
Remove liquid_finite and weather
2014-04-18 21:56:48 +04: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
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
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
fd845f27f5
Fix map deserialization and remove old serialization code
2012-07-23 08:18:39 +03:00
darkrose
cd6becd442
Implement node timers
2012-07-23 08:18:37 +03:00
Perttu Ahola
9f031a6759
Optimize headers
2012-06-17 04:03:39 +03:00
Perttu Ahola
d0ea6f9920
Properly and efficiently use split utility headers
2012-06-17 02:40:36 +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
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
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
c0f6395cf0
Node definition names
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
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
29d905f98a
Added a mapblock analyzing function for debugging use and fixed remaining mapgen bugs
2011-07-24 12:09:33 +03:00
Perttu Ahola
2915bd5518
more reorganizing of map code
2011-06-26 01:31:43 +03:00
Perttu Ahola
7538b4c620
New map generator added (and SQLite, messed up the commits at that time...) (import from temporary git repo)
2011-06-25 04:25:14 +03:00
Perttu Ahola
5ac900ddd9
Changed MapBlockObjects to be never written anymore. Incremented version number.
2011-06-18 15:16:35 +03:00
Perttu Ahola
682c9d8e7d
Moved stuff from mapblock{h,cpp} to mapblock_mesh.{h,cpp} and content_mapblock.{h,cpp}
2011-06-17 23:20:31 +03:00
Perttu Ahola
9b565b6bc4
tried to reduce unnecessary map saving disk i/o a bit
2011-06-05 18:57:36 +03:00
Perttu Ahola
0af5311538
Preliminary "active block" stuff + set up test code to grow grass.
2011-05-22 17:00:09 +03:00
Perttu Ahola
5a4d8ffad3
implemented rats in new system to verify that it works
2011-04-10 15:16:27 +03:00
Perttu Ahola
fd7a0735c9
new object system
2011-04-10 04:15:10 +03:00