aboutsummaryrefslogtreecommitdiff
path: root/src/mapblock.cpp
Commit message (Collapse)AuthorAge
* Clean up threadingShadowNinja2015-08-23
| | | | | | | | | | | | | | | | | | | | * Rename everything. * Strip J prefix. * Change UpperCamelCase functions to lowerCamelCase. * Remove global (!) semaphore count mutex on OSX. * Remove semaphore count getter (unused, unsafe, depended on internal API functions on Windows, and used a hack on OSX). * Add `Atomic<type>`. * Make `Thread` handle thread names. * Add support for C++11 multi-threading. * Combine pthread and win32 sources. * Remove `ThreadStarted` (unused, unneeded). * Move some includes from the headers to the sources. * Move all of `Event` into its header (allows inlining with no new includes). * Make `Event` use `Semaphore` (except on Windows). * Move some porting functions into `Thread`. * Integrate logging with `Thread`. * Add threading test.
* Precalculate mapblock relative size. This permit to remove many s16 calculs ↵nerzhul2015-07-29
| | | | on runtime
* Misc. minor fixeskwolekr2015-07-10
|
* Generic CAO cleanups and renames for clarificationest312015-06-20
| | | | | | | | * 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
* Mapblock: nodecount refactorest312015-05-31
| | | | | | | Spare direct multoplication, use constant MapBlock::nodecount instead of local nodecount variables. Also use strides at one place instead of multiplications.
* Record MapBlock modification reasons as flags instead of stringskwolekr2015-05-17
| | | | | This improves performance of MapBlock::raiseModified by a factor of 6. Also, clean up mapblock.h a bit and inline small functions.
* For usages of assert() that are meant to persist in Release builds (when ↵Craig Robbins2015-03-07
| | | | NDEBUG is defined), replace those usages with persistent alternatives
* Increase MapBlock::actuallyUpdateDayNightDiff() performance by 2-8x. ok ↵Craig Robbins2015-02-10
| | | | | | @celeron55 Before patch, function consumes up to ~8% of the main server loop. After, ~0% (below level of 2 places of significance)
* Fix a crash (assert) when client set serial version < 24 in INITLoic Blot2015-01-27
| | | | | | | | | 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
* Revert "Fix a crash (assert) when client set serial version < 24 in INIT ↵Craig Robbins2015-01-27
| | | | | | | | 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.
* Fix a crash (assert) when client set serial version < 24 in INIT command ↵(@U-Exp)2015-01-24
| | | | 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
* Fix all warnings and remove -Wno-unused-but-set cflagkwolekr2015-01-18
|
* Remove most exceptions from getNode() (and variants)Craig Robbins2014-11-14
|
* Speedup getBlockNodeIdMapping by up to factor 4 by using a fixed size ↵sapier2014-06-23
| | | | mapping array
* Remove liquid_finite and weatherproller2014-04-18
|
* Cleanup jthread and fix win32 buildsapier2013-12-01
|
* Actually fix weatherkwolekr2013-11-17
| | | | The real problem was that MapBlocks were not activated before getting sent to the client
* Weather: Clean up getHeat/getHumidity somewhatkwolekr2013-09-16
|
* Omnicleanup: header cleanup, add ModApiUtil shared between game and mainmenuKahrl2013-08-14
|
* Weather backward compatibilityproller2013-08-02
|
* Fix warnings in mapblock.cppPilzAdam2013-07-28
|
* Weather supportproller2013-07-27
|
* Migrate to STL containers/algorithms.Ilya Zhuravlev2013-03-11
|
* Update Copyright YearsSfan52013-02-24
|
* Change Minetest-c55 to MinetestPilzAdam2013-02-24
|
* Move util/serialize.h out from staticobject.h for smaller header dependenciesPerttu Ahola2012-11-26
|
* Reorganize ClientMap rendering code for a bit more performancePerttu Ahola2012-09-04
| | | | | - Don't select blocks for drawing in every frame - Sort meshbuffers by material before drawing
* Improve node timer format (map format version 25) and update mapformat.txtPerttu Ahola2012-07-24
|
* Fix map deserialization and remove old serialization codePerttu Ahola2012-07-23
|
* Increase node id/param0 to 16 bits, leaving param2 always with 8 bitsdarkrose2012-07-23
|
* Implement node timersdarkrose2012-07-23
|
* Properly and efficiently use split utility headersPerttu Ahola2012-06-17
|
* Update and fix doc/mapformat.txt; make current format more solid in mapblock.cppPerttu Ahola2012-06-08
|
* Switch the license to be LGPLv2/later, with small parts still remaining as ↵Perttu Ahola2012-06-05
| | | | GPLv2/later, by agreement of major contributors
* Add ignore_world_load_errors configuration option and provide better error ↵Perttu Ahola2012-06-04
| | | | messages
* WIP node metadata, node timersKahrl2012-06-03
|
* Reduce EnvRef:set_node() time tenfold by postponing the dayNightDiff update ↵Perttu Ahola2012-03-29
| | | | until it is actually needed
* MapBlockMesh, mesh animation system, urgent mesh updates, athmospheric ↵Kahrl2012-03-15
| | | | light, removed footprints
* Cleanup (some stuff went wrong when reverting 4-byte mapnodes); fix ↵Kahrl2012-01-22
| | | | legacy_wallmounted
* Node placement / mineral / serialization / iron freq / node_dig callbackKahrl2012-01-22
| | | | | | | | - 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.
* The huge item definition and item namespace unification patch (itemdef), see ↵Kahrl2012-01-12
| | | | http://c55.me/minetest/wiki/doku.php?id=changes:itemdef
* Replace old active block random node modifying things with actual ↵Perttu Ahola2011-11-29
| | | | ActiveBlockModifiers
* Add reason parameter to setModified and print it out to verbosestream when ↵Perttu Ahola2011-11-29
| | | | saving block
* Do not expose CONTENT_* stuff in content_mapnode.h and use a name converter ↵Perttu Ahola2011-11-29
| | | | wrapper in old code
* Node definition namesPerttu Ahola2011-11-29
|
* Remove content dependencies from mapblock.cppPerttu Ahola2011-11-29
|
* GameDef compilesPerttu Ahola2011-11-29
|
* Create framework for getting rid of global definitions of ↵Perttu Ahola2011-11-29
| | | | node/tool/item/whatever types
* Allocate MapBlock::m_node_metadata on heap to allow less header bloatPerttu Ahola2011-11-29
|
* Move ContentFeatures to mapnode_contentfeatures.{h,cpp} and clean stuffPerttu Ahola2011-11-29
|