summaryrefslogtreecommitdiffstats
path: root/src/Generating/ChunkGenerator.cpp (unfollow)
Commit message (Collapse)AuthorFilesLines
2017-01-19Removed asserts about chunk queued.Mattes D1-1/+0
The assumption is not needed and was invalid under a stress-test.
2016-04-22Reduced unnecessary block updatesLogicParrot1-4/+4
2016-02-05Bulk clearing of whitespaceLogicParrot1-1/+1
2015-10-04Fixed a race condition between chunk loader and generator.Mattes D1-6/+6
When using ChunkWorx to generate multiple chunks, the server would sometimes fail an assert because it would generate a chunk even when it was successfully loaded. This was caused by chunks queued in cWorld's m_SetChunkDataQueue and thus being marked as "InQueue" although they were already loaded. Solved by adding a new parameter to chunk coord callbacks specifying whether the operation succeeded or failed, and using that instead of the chunk presence flag to decide whether to generate or not.
2015-07-31Unified the doxy-comment format.Mattes D1-2/+2
2015-07-29Silenced and fixed many warning messages across multiple files.Samuel Barney1-3/+3
2015-05-09More style checking.Mattes D1-2/+2
Spaces around some operators are checked.
2014-12-10Added a cWorld:PrepareChunk function.Mattes D1-22/+25
It prepares the chunk - loads or generates it and lights it. The spawn prepare process uses this function.
2014-11-27Fixed BlockStringToType return value.Mattes D1-3/+3
-1 was not a valid BLOCKTYPE and would not be recognized by the callers, ever.
2014-10-23Merged IniFile into main MCS sources.Mattes D1-1/+1
2014-10-23En masse NULL -> nullptr replaceTiger Wang1-9/+9
2014-10-20En masse NULL -> nullptr replaceTiger Wang1-9/+9
2014-10-19Migrated random generators to std::randomTiger Wang1-1/+1
2014-09-05WorldStorage no longer queues chunks into generator.Mattes D1-0/+2
2014-09-05Rewritten chunk status to specify whether the chunk is in queue.Mattes D1-1/+2
This fixes #1370.
2014-09-03ChunkGenerator: Log world seed when creating a new one.madmaxoft1-3/+14
2014-09-03re-add the missing "s" too cChunkCoordsWithBoolListLO1ZB1-1/+1
2014-09-03hopefully the last commit for removing y-coord from chunks. :)LO1ZB1-6/+12
2014-09-01fix possibility of a twice generated chunkLO1ZB1-1/+2
2014-08-29fix chunk regeneratingLO1ZB1-8/+0
2014-08-28remove y-coord from chunksLO1ZB1-7/+7
2014-08-21Added initializers for class members.Mattes D1-0/+1
As reported by Coverity, these weren't initialized.
2014-07-21Style: Normalized to no spaces before closing parenthesis.madmaxoft1-1/+1
2014-07-19Fixed style: spaces after commas.madmaxoft1-1/+1
2014-07-17Fixed tabs used for alignment.madmaxoft1-3/+3
2014-07-17Normalized comments.madmaxoft1-2/+2
This was mostly done automatically and then visually inspected for obvious errors. All //-style comments should have a 2-space separation from the code, and 1 space after the comment sign.
2014-06-05SuggestionsTiger Wang1-1/+1
2014-03-12Added additional macros to support the MSVC size_t format and changed all formats to use the macrosTycho1-1/+1
2014-03-11Fixed a load of format string errorsTycho1-2/+2
2014-01-25Mob bugfixesTiger Wang1-0/+2
* Mobs no longer require constant line-of-sight to a player to remain aggravated * Fixed an ASSERT * Fixed mobs jumping * Fixed Idle state not properly using AI + Added FILE_IO_PREFIX to favicon loading + Implemented #563
2014-01-25Fixed a generator bugTiger Wang1-1/+6
2014-01-10Decoupled cChunkGenerator from cWorld and cRoot.madmaxoft1-29/+19
Now the chunk generator can be used by other projects without depending on the two hugest structures in MCS.
2013-12-08Moved bindings-related to a Bindings subfolder.madmaxoft1-1/+1
Ref.: #407
2013-11-27Fixed the remaining derpsAlexander Harkness1-1/+1
2013-11-26Hopefully fixed last of the Linux compile errorsTiger Wang1-1/+1
2013-11-25Further attempts to fix compileTiger Wang1-1/+1
2013-11-24Attempt to fix compilationTiger Wang1-1/+1
2013-11-24Moved source to srcAlexander Harkness1-0/+0
2013-11-16Fixed some unsigned int comparison warnings.Alexander Harkness1-18/+18
2013-10-25cIniFile doesn't store filename internally anymore.madmaxoft1-2/+0
2013-05-05Re-worked generator subobject ownership, added a cache for the CompositionGenmadmaxoft@gmail.com1-0/+5
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1447 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-04-27New terrain generator - Noise3D.madmaxoft@gmail.com1-2/+3
A testbed for a generator based on 3D noise. git-svn-id: http://mc-server.googlecode.com/svn/trunk@1414 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-04-13Rewritten entities so that they are owned by individual chunks and ticked within their chunk's Tick()madmaxoft@gmail.com1-4/+4
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1385 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-03-19The subgenerators use cChunkDesc instead of raw arrays. cChunkDesc is based on cBlockArea. Initial version of Lakes generator.madmaxoft@gmail.com1-1/+4
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1286 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-02-08cChunkDesc can now read and write cBlockAreas.madmaxoft@gmail.com1-1/+1
A simple example is provided in the Debuggers plugin. git-svn-id: http://mc-server.googlecode.com/svn/trunk@1201 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-02-08Prepared cChunkDesc for further API extension; used it as the sole container for generated chunk data, including entities / block entities.madmaxoft@gmail.com1-12/+5
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1200 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-02-05Added new hooks: OnChunkAvailable(), OnChunkUnloaded() and OnChunkUnloading(). Modified OnChunkGenerated() signature.madmaxoft@gmail.com1-5/+4
http://forum.mc-server.org/showthread.php?tid=464&pid=6312#pid6312 git-svn-id: http://mc-server.googlecode.com/svn/trunk@1193 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-01-25Merged the usable portion of the "gens" branch.madmaxoft@gmail.com1-365/+85
Splitting off the Composable generator and fiddling with LuaChunk / ChunkDesc is good, other generators not good yet. git-svn-id: http://mc-server.googlecode.com/svn/trunk@1171 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-01-24A brand new biome generator: cBioGenMultiStepMap.madmaxoft@gmail.com1-0/+5
Has proper mushroom biome inside ocean, nice transitions between neighboring biomes. Still needs a bit of tweaking, but generally ok. git-svn-id: http://mc-server.googlecode.com/svn/trunk@1164 0a769ca7-a7f5-676a-18bf-c427514a06d6
2013-01-12Merged branch "branches/hooks" into "trunk".madmaxoft@gmail.com1-1/+1
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1139 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-11-20Adjusted the default for chunk generator structures.madmaxoft@gmail.com1-1/+1
http://forum.mc-server.org/showthread.php?tid=434&pid=5398#pid5398 git-svn-id: http://mc-server.googlecode.com/svn/trunk@1055 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-11-11Added DeadBushes finisher (initial patch by STR_Warrior; DeathBushes FTW!)madmaxoft@gmail.com1-10/+15
git-svn-id: http://mc-server.googlecode.com/svn/trunk@1037 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-10-21Added the first part of the PreSimulator finisher, drops floating sand and gravel to ground.madmaxoft@gmail.com1-0/+4
git-svn-id: http://mc-server.googlecode.com/svn/trunk@998 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-10-14Biomal CompoGen now generates sea with STATIONARY_WATER instead of regular WATER.madmaxoft@gmail.com1-1/+1
git-svn-id: http://mc-server.googlecode.com/svn/trunk@962 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-09-24Source files cleanup: The rest of the files renamed.madmaxoft@gmail.com1-4/+4
git-svn-id: http://mc-server.googlecode.com/svn/trunk@887 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-09-23Source files cleanup: Generating-related files in a separate subfoldermadmaxoft@gmail.com1-6/+6
git-svn-id: http://mc-server.googlecode.com/svn/trunk@881 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-09-01Quick fix for generator crash upon server stop.madmaxoft@gmail.com1-1/+4
git-svn-id: http://mc-server.googlecode.com/svn/trunk@815 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-07-29Chunk generator outputs its performance in chunks per secondmadmaxoft@gmail.com1-0/+28
git-svn-id: http://mc-server.googlecode.com/svn/trunk@707 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-07-27Removed bottom lava from caves generator, added a new finish generator BottomLava for that. Also fixed a slight error in SameBlock composition generator cfgmadmaxoft@gmail.com1-8/+7
git-svn-id: http://mc-server.googlecode.com/svn/trunk@698 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-07-27Initial WormNestCaves commit. Won't generate caves, only the schematic for caves' centers.madmaxoft@gmail.com1-3/+3
git-svn-id: http://mc-server.googlecode.com/svn/trunk@696 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-07-22Added a new cave generator: DualRidgeCaves ( somewhat like http://www.gamedev.net/blog/33/entry-2227887-more-on-minecraft-type-world-gen/ )madmaxoft@gmail.com1-0/+13
git-svn-id: http://mc-server.googlecode.com/svn/trunk@694 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-07-19Ravines: initial implementation, randomized shapes are working, but still needs some workmadmaxoft@gmail.com1-0/+5
git-svn-id: http://mc-server.googlecode.com/svn/trunk@683 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-07-03Added a lilypad finishermadmaxoft@gmail.com1-1/+5
git-svn-id: http://mc-server.googlecode.com/svn/trunk@647 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-06-14Added a world parameter to HOOK_CHUNK_GENERATING.madmaxoft@gmail.com1-1/+1
git-svn-id: http://mc-server.googlecode.com/svn/trunk@609 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-06-14Attempt to bring sanity to newlines across systems.cedeel@gmail.com1-544/+544
git-svn-id: http://mc-server.googlecode.com/svn/trunk@606 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-06-13I think the chunk generation hooks for Lua are pretty good now, though it might still need some tweakingfaketruth1-3/+23
git-svn-id: http://mc-server.googlecode.com/svn/trunk@600 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-06-11Added implementation of E_PLUGIN_CHUNK_GENERATING lua hookfaketruth1-10/+21
It crashes the server when a plugin actually overrides default behavior though... git-svn-id: http://mc-server.googlecode.com/svn/trunk@594 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-06-09More ini settings save their defaultsmadmaxoft@gmail.com1-4/+4
git-svn-id: http://mc-server.googlecode.com/svn/trunk@588 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-06-09World generator uses the new Ini interface; also set new defaults for the generator to match the best generation we currently havemadmaxoft@gmail.com1-63/+57
git-svn-id: http://mc-server.googlecode.com/svn/trunk@587 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-06-08Sugarcane and Pumpkins get placed (quite rarely) in the SprinkleSmallFoliage FinishGenmadmaxoft@gmail.com1-15/+21
git-svn-id: http://mc-server.googlecode.com/svn/trunk@576 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-06-08Configurable classic composition generatorcedeel@gmail.com1-1/+19
git-svn-id: http://mc-server.googlecode.com/svn/trunk@575 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-06-05New hook, E_PLUGIN_CHUNK_GENERATED, called after each chunk is generated (the chunk is already present in cWorld)madmaxoft@gmail.com1-0/+4
git-svn-id: http://mc-server.googlecode.com/svn/trunk@558 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-06-02Added the Biomal composition generator.madmaxoft@gmail.com1-7/+12
git-svn-id: http://mc-server.googlecode.com/svn/trunk@541 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-06-02Added a cHeiGenCache object for caching generated heightmaps. World generation is now about twice as fast as before Rev 535 :)madmaxoft@gmail.com1-0/+17
git-svn-id: http://mc-server.googlecode.com/svn/trunk@538 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-06-02Added a cBioGenCache object for caching generated biomesmadmaxoft@gmail.com1-0/+18
git-svn-id: http://mc-server.googlecode.com/svn/trunk@537 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-06-02Added the Biomal height generator, made it the default height generator.madmaxoft@gmail.com1-5/+10
git-svn-id: http://mc-server.googlecode.com/svn/trunk@536 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-05-31DistortedVoronoi biome generatormadmaxoft@gmail.com1-1/+3
git-svn-id: http://mc-server.googlecode.com/svn/trunk@532 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-05-27Added a voronoi biome generator (#180)madmaxoft@gmail.com1-0/+6
git-svn-id: http://mc-server.googlecode.com/svn/trunk@511 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-05-27ConstantBiome parsing now uses the string-to-biome conversion (#183)madmaxoft@gmail.com1-2/+7
git-svn-id: http://mc-server.googlecode.com/svn/trunk@507 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-05-27Added the CheckerBoardBiomes parameter for setting biomes that CheckerBoard generates (#179). Added string-to-biome conversion (#183). Added OreNests to default Structures configuration.madmaxoft@gmail.com1-2/+3
git-svn-id: http://mc-server.googlecode.com/svn/trunk@506 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-05-25Merged the composable_generator branch into the trunkmadmaxoft@gmail.com1-31/+258
git-svn-id: http://mc-server.googlecode.com/svn/trunk@504 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-04-10Added the "/regeneratechunk" command that regenerates either current chunk or a chunk specified with x, z parameters. TODO: permissions - we don't want guests erasing our chunks!madmaxoft@gmail.com1-2/+4
git-svn-id: http://mc-server.googlecode.com/svn/trunk@454 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-03-14Unified the chunk data to use the BLOCKDATA datatype.madmaxoft@gmail.com1-1/+1
git-svn-id: http://mc-server.googlecode.com/svn/trunk@413 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-03-14Split chunk data into separate arrays; decoupled most sources from cChunk.h dependencymadmaxoft@gmail.com1-2/+12
git-svn-id: http://mc-server.googlecode.com/svn/trunk@411 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-03-12Added a flat terrain generator with settable terrain heightmadmaxoft@gmail.com1-8/+6
git-svn-id: http://mc-server.googlecode.com/svn/trunk@404 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-03-10Fixed *nix threading issue;madmaxoft@gmail.com1-4/+4
Thread objects now use variable names consistent with MCS convention; Fixed a few *nix threading cornercases git-svn-id: http://mc-server.googlecode.com/svn/trunk@392 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-28Improved threading performance by reducing thread-hopping in queue locks (cs unlocked before event set)madmaxoft@gmail.com1-14/+16
git-svn-id: http://mc-server.googlecode.com/svn/trunk@341 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-28ChunkGenerator: fixed an inverted condition on chunk-skipping when the generator is overloaded; set the overload threshold to 500 chunks (from original 50 which is not enough even for a single player)madmaxoft@gmail.com1-6/+9
git-svn-id: http://mc-server.googlecode.com/svn/trunk@334 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-18Re-implemented tree-growing. May produce artefacts on old-world / new-world boundaries.madmaxoft@gmail.com1-0/+1
git-svn-id: http://mc-server.googlecode.com/svn/trunk@293 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-18Thread-safe chunk generation, storage and generator are queried for progress while initializing servermadmaxoft@gmail.com1-4/+32
Note that this commit breaks foliage generation - there are no trees in the chunks generated! git-svn-id: http://mc-server.googlecode.com/svn/trunk@292 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-17Chunk coords mostly "upgraded" to include the Y coord for future compatibilitymadmaxoft@gmail.com1-10/+18
git-svn-id: http://mc-server.googlecode.com/svn/trunk@285 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-16cWorldGenerator speedup - doesn't call GetChunk() anymore, not queueing the chunk it's generating to be loaded recursively.madmaxoft@gmail.com1-7/+12
cChunk fix - setting a block to the same value doesn't mark chunk dirty (resulted in un-unloadable chunks) git-svn-id: http://mc-server.googlecode.com/svn/trunk@279 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-13Rewritten most of the code for multithreading; still not 100%, but getting there. If this commit proves to be too problematic, we can always undo it.madmaxoft@gmail.com1-88/+74
git-svn-id: http://mc-server.googlecode.com/svn/trunk@251 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-01-29VC2008 / VC2010: Enabled precompiled header through Globals.h; the header included in every module in the project. Compilation optimization.madmaxoft@gmail.com1-7/+3
git-svn-id: http://mc-server.googlecode.com/svn/trunk@188 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-01-29ChunkGenerator: rewritten thread-locking using the new RAII CSLock classmadmaxoft@gmail.com1-75/+69
git-svn-id: http://mc-server.googlecode.com/svn/trunk@186 0a769ca7-a7f5-676a-18bf-c427514a06d6
2011-12-25The missing file! cChunkGenerator.h/cppfaketruth1-0/+172
git-svn-id: http://mc-server.googlecode.com/svn/trunk@105 0a769ca7-a7f5-676a-18bf-c427514a06d6