aboutsummaryrefslogtreecommitdiff
path: root/src/script/common
Commit message (Expand)AuthorAge
...
* Remove duplicate lua_getfield() in c_converter.cppKevin Ott2015-05-07
* Fix error messages for type-checking Lua reading functionsShadowNinja2015-05-06
* Add 'persistence' alias for Lua noiseparams and validate more vector parameterskwolekr2015-04-19
* Schematics: Refactor NodeResolver and add NodeResolveMethodkwolekr2015-04-16
* Move globals from main.cpp to more sane locationsCraig Robbins2015-04-01
* Clean up and tweak build systemShadowNinja2015-03-27
* Don't use luaL_checkstring to read node names, it's only for argumentsShadowNinja2015-03-07
* For usages of assert() that are meant to persist in Release builds (when NDEB...Craig Robbins2015-03-07
* Remove freezemelt (the remainder of proller nonsense)kwolekr2015-01-04
* Redefine NodeResolver interface and replace with callback mechanismkwolekr2014-12-27
* Move get_schematic and read_schematic to l_mapgen.cppkwolekr2014-12-10
* Remove get_noiseparams function. read_noiseparams should be used from now onkwolekr2014-12-10
* Add flags and lacunarity as new noise parameterskwolekr2014-12-07
* Schematics: Fix minetest.place_schematic() when defined by a Lua tablekwolekr2014-12-06
* Don't corrupt stepheight when setting other propertiesCiaran Gultnieks2014-11-26
* Add option 'eased' to NoiseParamsSmallJoker2014-11-13
* Add Generator Element Management frameworkkwolekr2014-11-12
* Split up mapgen.cppkwolekr2014-11-01
* Add NodeResolver and clean up node name -> content ID resolution systemkwolekr2014-10-26
* Custom collision boxes node property.RealBadAngel2014-10-19
* Add meshnode drawtype.RealBadAngel2014-10-18
* Fix LuaJIT exception wrapperKahrl2014-08-23
* Use "core" namespace internallyShadowNinja2014-05-08
* Add proper lua api deprecated handlingsapier2014-04-29
* Use integers instead of float valuesBlockMen2014-04-12
* Remove lua_State parameter from LuaError::LuaErrorShadowNinja2014-03-15
* Revert "Make sure we get a stacktrace for as many lua errors as possible"ShadowNinja2014-03-15
* Make sure we get a stacktrace for as many lua errors as possibleSfan52014-03-15
* Update set_mapgen_params and set_gen_notify Lua API to use new flag formatkwolekr2014-03-08
* Add minetest.set_noiseparam_defaults() Lua APIkwolekr2014-02-15
* Define strlcpy on platforms that do not have itkwolekr2014-02-09
* Add capability to read table flag fields from Lua APIkwolekr2014-02-09
* Make flag strings clear specified flag with 'no' prefixkwolekr2014-02-08
* Schematic: Read slice probability table from schematic descriptorskwolekr2014-01-19
* Add maximum recursion depth to read_json_valueShadowNinja2014-01-11
* Rename get_json_value to read_json_valueShadowNinja2014-01-11
* Fix InventoryList reading orderShadowNinja2013-12-30
* Don't throw a error when writing JSON failsShadowNinja2013-12-18
* Add 'minetest.write_json'ShadowNinja2013-12-18
* Handle LuaErrors in Lua -> C++ calls on LuaJITShadowNinja2013-12-18
* Move script_run_callbacks to LuaShadowNinja2013-12-07
* Shaders rework.RealBadAngel2013-12-03
* Optimize table creationShadowNinja2013-11-30
* Fix possible implicit conversion of NULL to std::stringkwolekr2013-11-21
* fixed array limit check when reading Lua specialtiles tableMetaDucky2013-11-16
* Pass a errfunc to lua_pcall to get a tracebackShadowNinja2013-11-15
* Add offset to automatic_face_movement_dirPilzAdam2013-09-10
* Add minetest.parse_json, engine.parse_jsonKahrl2013-09-02
* Omnicleanup: header cleanup, add ModApiUtil shared between game and mainmenuKahrl2013-08-14
* Add support for entities to automatic face movement directionsapier2013-08-13
t">)){ inv->getList("0")->setName("main"); } assert(inv->getList("main") && !inv->getList("0")); meta->setString("formspec","size[8,9]" "list[current_name;main;0,0;8,4;]" "list[current_player;main;0,5;8,4;]"); return false; } else if(id == NODEMETA_LOCKABLE_CHEST) // LockingChestNodeMetadata { meta->setString("owner", deSerializeString16(is)); meta->getInventory()->deSerialize(is); // Rename inventory list "0" to "main" Inventory *inv = meta->getInventory(); if(!inv->getList("main") && inv->getList("0")){ inv->getList("0")->setName("main"); } assert(inv->getList("main") && !inv->getList("0")); meta->setString("formspec","size[8,9]" "list[current_name;main;0,0;8,4;]" "list[current_player;main;0,5;8,4;]"); return false; } else if(id == NODEMETA_FURNACE) // FurnaceNodeMetadata { meta->getInventory()->deSerialize(is); int temp = 0; is>>temp; meta->setString("fuel_totaltime", ftos((float)temp/10)); temp = 0; is>>temp; meta->setString("fuel_time", ftos((float)temp/10)); temp = 0; is>>temp; //meta->setString("src_totaltime", ftos((float)temp/10)); temp = 0; is>>temp; meta->setString("src_time", ftos((float)temp/10)); meta->setString("formspec","size[8,9]" "list[current_name;fuel;2,3;1,1;]" "list[current_name;src;2,1;1,1;]" "list[current_name;dst;5,1;2,2;]" "list[current_player;main;0,5;8,4;]"); return true; } else { throw SerializationError("Unknown legacy node metadata"); } } static bool content_nodemeta_deserialize_legacy_meta( std::istream &is, NodeMetadata *meta) { // Read id s16 id = readS16(is); // Read data std::string data = deSerializeString16(is); std::istringstream tmp_is(data, std::ios::binary); return content_nodemeta_deserialize_legacy_body(tmp_is, id, meta); } void content_nodemeta_deserialize_legacy(std::istream &is, NodeMetadataList *meta, NodeTimerList *timers, IItemDefManager *item_def_mgr) { meta->clear(); timers->clear(); u16 version = readU16(is); if(version > 1) { infostream<<FUNCTION_NAME<<": version "<<version<<" not supported" <<std::endl; throw SerializationError(FUNCTION_NAME); } u16 count = readU16(is); for(u16 i=0; i<count; i++) { u16 p16 = readU16(is); v3s16 p(0,0,0); p.Z += p16 / MAP_BLOCKSIZE / MAP_BLOCKSIZE; p16 -= p.Z * MAP_BLOCKSIZE * MAP_BLOCKSIZE; p.Y += p16 / MAP_BLOCKSIZE; p16 -= p.Y * MAP_BLOCKSIZE; p.X += p16; if(meta->get(p) != NULL) { warningstream<<FUNCTION_NAME<<": " <<"already set data at position" <<"("<<p.X<<","<<p.Y<<","<<p.Z<<"): Ignoring." <<std::endl; continue; } NodeMetadata *data = new NodeMetadata(item_def_mgr); bool need_timer = content_nodemeta_deserialize_legacy_meta(is, data); meta->set(p, data); if(need_timer) timers->set(NodeTimer(1., 0., p)); } }