Commit graph

23 commits

Author SHA1 Message Date
Justin Aquadro
b7eefbea0e Major refactoring to chunk model which separates Block and Entity collections from the chunks themselves. This is a compatibility-breaking change. Also numerous bugfixes including Level, Player, and lighting fixes. 2011-05-13 03:09:57 +00:00
Justin Aquadro
0f1c6970c9 More preparation towards refactoring 2011-05-08 08:17:20 +00:00
Justin Aquadro
e215ccd7d5 Some more lighting fixes (transparent, blocking blocks like half-steps and stairs will no longer be partially dark) 2011-04-29 06:23:18 +00:00
Justin Aquadro
bb12d60c0c Added heightmap rebuilding (for maps with invalid heightmaps), and added it to the relight example. Made a couple level.dat fields auto-create if missing. 2011-04-21 00:30:13 +00:00
Justin Aquadro
0b2db7934d Thanks to caching, rebuilding the skylight is now half the cost. I'm sure the algorithm can still be fundamentally improved, however. 2011-04-21 00:02:17 +00:00
Justin Aquadro
45a1514b38 Lighting cutoff bug fixed, but now relighting is hideously slow. Mustfix. 2011-04-20 07:58:36 +00:00
Justin Aquadro
3e3f612e5c Squashed a new lighting bug. There is still a cutoff bug for sunlight calculation, like the old blocklight bug. Need separate spreadlight function for sunlight, but it could be expensive... 2011-04-19 08:42:55 +00:00
Justin Aquadro
bd62ccc04c Switched chunks to factory method, allowing them to be created with or without automatic validation (some ops, like copy, no longer perform unnecessary validation). Skylight recalculation optimization, cuts runtime of flatmap example by two thirds. 2011-04-19 07:50:17 +00:00
Justin Aquadro
9355a016ca ChunkRef switched to factory method to fix performance defect 2011-04-19 01:24:26 +00:00
Justin Aquadro
324d997f52 Improved performance of edge reconciliation for chunk lighting. 2011-04-17 02:03:06 +00:00
Justin Aquadro
0657cf5bd3 Bugfixes and more relighting control 2011-04-16 01:46:46 +00:00
Justin Aquadro
6fa2538130 Updates to NBToolkit, edge light reconciliation 2011-04-15 03:30:46 +00:00
Justin Aquadro
66bd79646c Replaced the blocklight resetting code, which was buggy. The new method is faster anyway and takes advantage of the fact that light is only being added, not removed or impeded in any way. 2011-04-14 02:30:40 +00:00
Justin Aquadro
8cb719f200 Added per-chunkref toggle for automatic relighting. Added manual whole-chunk relighting to chunkref, which severely improves generation speed of new chunks. Added first complete example, a "Flat Map" world generator. 2011-04-13 07:51:13 +00:00
Justin Aquadro
c6ee97a53b Bugfixes for creating new worlds/regions/chunks 2011-04-13 07:09:41 +00:00
Justin Aquadro
d72e7881a5 Skylight recalculations added 2011-04-12 00:30:17 +00:00
Justin Aquadro
2adf6ced99 Initial automatic relighting support for blocklight (not skylight) via chunkref manipulations. There is also untested code for recalculating an entire chunk's light. Relighting still not present in blockmanager. 2011-04-11 06:13:33 +00:00
Justin Aquadro
e8a99d62a9 Numerous fixes to get the library to actually run with software. Rebuilt Ionic.Zlib to incorporate critical patch to Addler32. 2011-04-08 06:48:27 +00:00
Justin Aquadro
1e029325bc Major Block interface factoring to ease support of alternative block containers such as Classic Meps or MCSchematic files. 2011-04-08 02:16:06 +00:00
Justin Aquadro
428c576925 Added entity access points into Chunks (as IEntityContainer interface). Added predicate-based find/remove capability to NBT Lists. 2011-04-06 23:54:41 +00:00
Justin Aquadro
2ac3252702 Removed unnecessary nested namespace. 2011-04-06 21:20:35 +00:00
Justin Aquadro
97116bd195 Changing namespace to new project 2011-04-06 07:40:38 +00:00
Justin Aquadro
99e986b338 Forking Substrate to separate source tree 2011-04-06 04:43:54 +00:00