summaryrefslogtreecommitdiffstats
path: root/source/cChunkMap.cpp (unfollow)
Commit message (Expand)AuthorFilesLines
2012-06-07Bonemeal works on crops, melons, pumpkins, saplings and grass. Plant growing has been refactored into separate functions callable from Lua, too.madmaxoft@gmail.com1-0/+17
2012-06-07Repeaters' delays can be set by rclkmadmaxoft@gmail.com1-0/+17
2012-06-06Item-dropping code rewritten and centralized - now there's only one place to modify if we want to split or merge same-item drops: cWorld:SpawnItemPickups(). Also, mined blocks can now drop more items, and they recognize if they're being mined by the correct tool.madmaxoft@gmail.com1-17/+1
2012-05-30Added support for SetNextBlockTick() function callable from Luamadmaxoft@gmail.com1-0/+17
2012-05-29Added code for the chunks to manipulate their neighbors while ticking. Also added some basic farming support - melon and pumpkin growing code. Untested and untestable so far, will test and fix later.madmaxoft@gmail.com1-15/+59
2012-05-25Merged the composable_generator branch into the trunkmadmaxoft@gmail.com1-28/+190
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-1/+16
2012-03-22Fixed a deadlock by removing clients from all chunks upon their exit, not using the clients chunklists.madmaxoft@gmail.com1-4/+19
2012-03-16That didn't work.. I forgot some cChunk functions were changed. Now it should compile againfaketruth1-1/+1
2012-03-16Exposed a function to Lua to get a block's sky light valuefaketruth1-1/+19
2012-03-14Unified the chunk data to use the BLOCKDATA datatype.madmaxoft@gmail.com1-4/+4
2012-03-14Split chunk data into separate arrays; decoupled most sources from cChunk.h dependencymadmaxoft@gmail.com1-24/+41
2012-03-09cClientHandles have a unique ID now to distinguish themfaketruth1-2/+3
2012-03-05ChunkSender: Chunks are now compressed and sent to clients from a separate threads, proper passive waiting between threads. Not much tested, just appears to work :)madmaxoft@gmail.com1-24/+27
2012-02-28Linux compilation fix (y u no support const_iterator, gcc?)madmaxoft@gmail.com1-1/+1
2012-02-28Chunk now has an indicator of load failure; Chunk generator uses cChunkStaymadmaxoft@gmail.com1-0/+20
2012-02-28Implemented synchronous chunk loading; optimized cChunkStay interface for speed (though still unused ;)madmaxoft@gmail.com1-38/+111
2012-02-28Const-correctness for packet broadcasting (fixes GCC compilation)madmaxoft@gmail.com1-2/+2
2012-02-27Fix for the perpetual load issuemadmaxoft@gmail.com1-1/+7
2012-02-26Implemented chunk loading without generating on load-failuremadmaxoft@gmail.com1-3/+13
2012-02-26New cChunkStay class for temporarily keeping chunks loaded even when then have no clients. For now unused, will be used by generator and lighting in the future.madmaxoft@gmail.com1-0/+91
2012-02-23Plain pointer cChunkPtr finishing touches; removed cChunk's critical sectionsmadmaxoft@gmail.com1-0/+15
2012-02-23Made cChunkPtr a plain old pointer again, since it's safe nowmadmaxoft@gmail.com1-4/+6
2012-02-22Fixed a potential deadlock in cChunkMap::m_CSLayers vs cWorld::m_CSAllEntitiesmadmaxoft@gmail.com1-6/+8
2012-02-21Removed cChunkPtrs from everywhere but internal cChunkMap usage. Now we should finally be threadsafe :)madmaxoft@gmail.com1-3/+140
2012-02-21Fixed heightmap optimization from rev 302; removed a few more cChunkPtrsmadmaxoft@gmail.com1-0/+45
2012-02-21Fixed block-getting so that simulators work againmadmaxoft@gmail.com1-0/+37
2012-02-20Removed some more cChunkPtr usagemadmaxoft@gmail.com1-6/+138
2012-02-20Using own ASSERT() that logs to filefaketruth1-1/+1
2012-02-18Substantial cWorld::FastSetBlock() speed up by queueing all such calls and processing them later chunk-wise (makes growing trees in the generator fast again)madmaxoft@gmail.com1-0/+51
2012-02-18Re-implemented tree-growing. May produce artefacts on old-world / new-world boundaries.madmaxoft@gmail.com1-0/+16
2012-02-18Thread-safe chunk generation, storage and generator are queried for progress while initializing servermadmaxoft@gmail.com1-1/+58
2012-02-17Chunk coords mostly "upgraded" to include the Y coord for future compatibilitymadmaxoft@gmail.com1-6/+24
2012-02-16cWorldGenerator speedup - doesn't call GetChunk() anymore, not queueing the chunk it's generating to be loaded recursively.madmaxoft@gmail.com1-1/+11
2012-02-16Chunk is now marked as dirty; saving only dirty chunks; rewritten load / save not to use cChunkPtr; set VC2008 project to level4 warnings; block entities are now loaded and saved properlymadmaxoft@gmail.com1-6/+105
2012-02-16Chunks are properly saved before being unloaded nowfaketruth1-0/+3
2012-02-15Restored chest and furnace functionality as it was (it's basically working but joined chests show single-chest window)madmaxoft@gmail.com1-0/+38
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-456/+112
2012-02-08Removed unused codemadmaxoft@gmail.com1-15/+8
2012-02-08MTRand class is not created in each tick, therefore much improving tick-thread time (now uses ~5 % CPU instead of one full core)madmaxoft@gmail.com1-2/+2
2012-02-01AString logging fix 2madmaxoft@gmail.com1-7/+7
2012-02-01sprintf() begone! Replaced with StringUtils' Printf()madmaxoft@gmail.com1-6/+5
2012-02-01Removed a few duplicate includesmadmaxoft@gmail.com1-2/+0
2012-01-31Linux fixes, but while it compiles, when a user joins it crashes the server with "*** glibc detected *** ./MCServer: double free or corruption (out): 0x00007fb5f5158db0 ***"mtilden@gmail.com1-0/+1
2012-01-30Added a WebAdmin interface to view users their groups, and the permissions of groups.faketruth1-1/+1
2012-01-30More cFile cleanup; removed old format writing for block entitiesmadmaxoft@gmail.com1-4/+0
2012-01-30Initial cFile implementation (using stdio FILE) and test in cChunkMapmadmaxoft@gmail.com1-84/+86
2012-01-29Old code begone! ChunkMap cleanupmadmaxoft@gmail.com1-348/+250
2012-01-29VC2008 / VC2010: Enabled precompiled header through Globals.h; the header included in every module in the project. Compilation optimization.madmaxoft@gmail.com1-6/+9
2012-01-29ChunkGenerator: rewritten thread-locking using the new RAII CSLock classmadmaxoft@gmail.com1-3/+4
2012-01-27MSVC 2008 Express compatibility: Added the projects, modified sources to compile. Tested on MSVC 2008 Express and MSVC 2010 Expressmadmaxoft@gmail.com1-1/+1
2012-01-19Terrain generation is synchronous again, async generation has bugs.faketruth1-1/+1
2012-01-01Fixed the numchunks console command.faketruth1-1/+11
2011-12-27Users file was pretty messed up with mixed unix and windows line endings. The ini failed to parse correctly under cygwin.faketruth1-1/+1
2011-12-25Chunks are generated in a separate thread allowing players to keep on playing and chatting while chunks are generated. This means, however, that cWorld::GetChunk() does not always return a chunk and is something you need to be aware of. I am not entirely sure if all this is completely stable, but I think so :Ofaketruth1-0/+2
2011-11-01You can now run multiple worlds by defining them in settings.ini . However there's no way to change worlds on the fly yetfaketruth1-12/+8
2011-11-01Players can now place blocks in creative mode. The blocks players select from the creative mode inventory are not stored in the players' inventory. (I kind of like that)admin@omencraft.com1-0/+1
2011-10-31denotch map converter works! :Dadmin@omencraft.com1-8/+9
2011-10-31Prepared some parts of the code for multi world support, I created lots of TODO'sfaketruth1-3/+4
2011-10-30Changed cChunkMat.cpp back to normal. Made more changes to the denotch map converter. Testing cNBTData parser.admin@omencraft.com1-5/+0
2011-10-29Added denotch map converter. Program currently reads the only mcr file in the region dir and writes the uncompressed chunk data in world/X0-Z0.pak. I compile in linux with "g++ cConvert.cpp -lz -o denotch"admin@omencraft.com1-5/+10
2011-10-21Compiles for linuxfaketruth1-0/+3
2011-10-03MCServer c++ source filesfaketruth1-0/+714