Commit Graph

29 Commits

Author SHA1 Message Date
sfan5 da51c688d2 Call minetest.deserialize with safe=true
wtf?
2020-02-06 11:53:14 +01:00
sfan5 ab93871877 Move some deserialization code around 2020-02-06 11:51:44 +01:00
sfan5 f6298d7b87 Fix schematics with extra headers to parse properly
Currently no schematic format makes use of these, but that
may change so do some future proofing.
2019-09-09 20:52:15 +02:00
sfan5 4f2c7b18cc Fix //allocate with 0 nodes 2019-07-17 01:20:40 +02:00
TalkLounge b2e086f9ec Fix //load with 0 nodes (#177) 2019-06-15 16:46:12 +02:00
HybridDog d1cbd420bb serialize: Fix detecting empty metadata (#176) 2019-04-24 22:51:18 +02:00
ShadowNinja f2f714c19e Fix crash when loading version 3 schematics 2016-01-23 16:57:27 -05:00
est31 09de34aabf Load first node too with LuaJIT
Before, the first node would have had the version number prepended (e.g. "5:"), and therefore wouldn't be loaded.
2015-03-12 02:40:19 +01:00
ShadowNinja bb8456b711 Cleanup and fixup
Non-stylistic changes:
  * Add LuaDoc/LDoc support.
  * Fix `clear_objects` area size calculation.
  * Fix `clear_objects` removing player objects.
  * Fix shadowing of marker entity name with player name.
  * Make visualization functions use `swap_node`.
  * Make hidden nodes unwalkable.
  * Prevent `hide` from hiding air.
  * Make deprecated functions log to deprecated stream when called.
  * Fixed `replaceinverse` not using normalized node names.
  * Added .gitignore.
  * Bump version to 1.1.

Stylistic changes:
  * Change `x = function` to `function x`.
  * Change comment format.
  * Make  missing VoxelManip error less obnoxious.
  * Move `sort_pos` into `common.lua`, which is a required module.
  * Remove local copies of `minetest`.
  * Remove `worldedit = worldedit or {}` from modules.
  * Replace replaceinverse with an inverse argument to `replace`.
  * Added `error()`s on on invalid axes.
  * Change `wip` to `TODO`.
  * Rename `clearobjects` to `clear_objects`.
  * Remove `hollow_{sphere,dome,cylinder}` and replace them with a hollow parameter to each function.
  * Add helpers to reduce code duplication.
  * Renamed `Chat Commands.md` to `ChatCommands.md`.
2015-02-01 15:56:16 -05:00
Anthony Zhang 04fdf92aca Fix crash when loading schematic in a LuaJIT build in recent Minetest versions (thanks LazyJ & VanessaE!). 2014-12-29 18:26:37 -05:00
Anthony Zhang 7f580611f5 Fix some warnings. 2014-12-29 18:16:36 -05:00
sfan5 e4d007199f Fix bug with loading old .we file formats, thanks to @Sokomine 2014-12-13 21:13:11 +01:00
ShadowNinja 796aa3870d Clean up serialization
* Adds a header to serialized data (to make version checking sane).
  * Removes the duplicate deserialization for `worldedit.deserialize` and `worldedit.allocate`.
  * Optimizes `worldedit.deserialize` by only deserializing the data once.
  * Makes some fields optional.
  * Cleans up the comments and a little of the code style.
2014-10-24 16:45:10 -04:00
Uberi 2e41f0076d Mark the region with an entity cube. 2013-12-24 14:07:42 -05:00
Anthony Zhang b0bf52e9b6 Rewrite spirals from scratch and fix upside-down pyramids. Use voxelmanip for markers to ensure area is emerged. 2013-07-31 22:15:08 -04:00
Anthony Zhang 3c51ec8c4a //pyramid works along any axis and backwards. Working //clearobjects and //cylinder command, begin implementing super marker. Remove EnvRef usages and the block queue (the block queue does not work with VoxelManips). More block emergers. 2013-07-31 00:02:37 -04:00
Anthony Zhang c1f3cfc1e4 Fix bugs in visualization API and make it ore robust. Fix bugs in //fixedpos, //suppress, and //highlight. 2013-07-28 18:15:46 -04:00
Anthony Zhang 8ebf9d3c2a Super duper VoxelManipulator speedups to nearly every API function, and plus support for unloaded areas. Still in progress. Also, fix //allocate for very large schematics. 2013-07-21 16:54:25 -04:00
Anthony Zhang ac5e801834 Even bigger speed gains by using LuaVoxelManipulator in a few choice places! Faster //set, //cylinder, etc., but plenty of room for improvements still. 2013-07-12 14:22:30 -04:00
Anthony Zhang 18bc4e6815 Fix deserialization for real this time. 2013-04-29 19:52:00 -04:00
Anthony Zhang 98c5bc5c5f Fix loading of schematics containing chests that had empty slots. 2013-04-28 19:01:24 -04:00
Sfan5 5e5c1dc6c3 Add Block Queue 2013-04-28 19:08:09 +02:00
Anthony Zhang f5145d6ba1 Horrible, vile, disgusting hack. But it works. 2013-04-20 20:28:21 -04:00
Anthony Zhang 0317deb101 Metadata fix for serialization. 2013-03-27 18:07:52 -04:00
Anthony Zhang 9209d81d20 //metasave and //metaload are now superceded by //save and //load's new functionality. worldedit.deserialize now supports every version of the WorldEdit format that has ever existed, and the new worldedit.valueversion uses file characteristics to determine which type of file format a given file uses. The new WorldEdit file format is the same as the one used by MineTest for serializing data, and is capable of storing arbitrary data, as well as leaving fields for future improvements. In other words, this is the last forward-compatibility breaking change that will be made to the file format. 2013-03-20 17:12:48 -04:00
Anthony Zhang 426dfb0bc3 Quick and dirty fix for metasave not saving ItemStack instances in node metadata inventories. 2012-10-23 23:21:02 -04:00
Anthony Zhang fdca506505 Fix //load and //allocate for old WorldEdit files. 2012-10-22 23:17:37 -04:00
Anthony Zhang aa4a70d237 Rename //find to //highlight and worldedit.find to worldedit.highlight, add //allocate and worldedit.allocate as well as related documentation. Improve documentation by fixing a few mistakes and adding return signatures. 2012-10-21 17:49:43 -04:00
Anthony Zhang 1c31bd7f0d Separate components into separate mods, add visualization API with hide(), suppress(), find(), and restore() for nondestructive node visualization. Corresponding chat commands are //hide, //suppress, //find, and //restore. Commands and functions documented. 2012-10-13 21:45:50 -04:00