Commit Graph

549 Commits (0e7bef44523b378f66f65a67348bb6d08d3c5a67)

Author SHA1 Message Date
madmaxoft@gmail.com ceffb64760 Farmland gets hydrated and dehydrated. Fixed an off-by-one error in neighbor-chunk manipulation.
git-svn-id: http://mc-server.googlecode.com/svn/trunk@522 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-05-30 15:40:53 +00:00
madmaxoft@gmail.com bb44d25d60 Fixed a crash when chunks were loaded / generated with entities ( http://forum.mc-server.org/showthread.php?tid=450 )
git-svn-id: http://mc-server.googlecode.com/svn/trunk@521 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-05-30 13:11:58 +00:00
madmaxoft@gmail.com 2372419d0c Farmland is created using a hoe on dirt or grass.
git-svn-id: http://mc-server.googlecode.com/svn/trunk@520 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-05-29 20:45:25 +00:00
madmaxoft@gmail.com 322ba59c3a Refactored item-eating from cClientHandle into cPlayer
git-svn-id: http://mc-server.googlecode.com/svn/trunk@519 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-05-29 19:56:07 +00:00
madmaxoft@gmail.com 9d6a5b9ce0 Added 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.
git-svn-id: http://mc-server.googlecode.com/svn/trunk@518 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-05-29 14:59:43 +00:00
madmaxoft@gmail.com 3c97a8e8a5 Cacti don't gather snow
git-svn-id: http://mc-server.googlecode.com/svn/trunk@517 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-05-28 16:49:17 +00:00
madmaxoft@gmail.com 1a0bfd8d28 Chests and Furnaces are now saved properly into Anvil scheme.
git-svn-id: http://mc-server.googlecode.com/svn/trunk@516 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-05-28 16:47:57 +00:00
madmaxoft@gmail.com 825ce1e5e0 Ice finisher generator; fixed snow on water.
git-svn-id: http://mc-server.googlecode.com/svn/trunk@515 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-05-27 17:41:34 +00:00
madmaxoft@gmail.com 1338caba88 Added a snow finisher generator
git-svn-id: http://mc-server.googlecode.com/svn/trunk@514 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-05-27 17:30:52 +00:00
madmaxoft@gmail.com 7c72bbb706 Added some useful biome synonyms; added block property IsSnowable; alphabetically sorted block property setting
git-svn-id: http://mc-server.googlecode.com/svn/trunk@513 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-05-27 17:30:27 +00:00
madmaxoft@gmail.com 8fd7274f4c Voronoi has a minimum cell size of 4 blocks now, to avoid some extreme corner-cases
git-svn-id: http://mc-server.googlecode.com/svn/trunk@512 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-05-27 14:31:00 +00:00
madmaxoft@gmail.com 79fddd3be0 Added a voronoi biome generator (#180)
git-svn-id: http://mc-server.googlecode.com/svn/trunk@511 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-05-27 14:17:47 +00:00
madmaxoft@gmail.com fbc497b97d DebugBiomes composition generator now uses only blocks suitable for terrain (from an internal list)
git-svn-id: http://mc-server.googlecode.com/svn/trunk@510 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-05-27 14:05:36 +00:00
madmaxoft@gmail.com 5d4e9e18da Added wool and netherrack block IDs
git-svn-id: http://mc-server.googlecode.com/svn/trunk@509 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-05-27 14:02:13 +00:00
madmaxoft@gmail.com d02df740ef Restructured biome generators with a list of available biomes to use a common ancestor (preparation for Voronoi and DistortedVoronoi)
git-svn-id: http://mc-server.googlecode.com/svn/trunk@508 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-05-27 11:07:23 +00:00
madmaxoft@gmail.com 925f45a4fa ConstantBiome parsing now uses the string-to-biome conversion (#183)
git-svn-id: http://mc-server.googlecode.com/svn/trunk@507 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-05-27 10:57:36 +00:00
madmaxoft@gmail.com ba2f0c6229 Added the CheckerBoardBiomes parameter for setting biomes that CheckerBoard generates (#179). Added string-to-biome conversion (#183). Added OreNests to default Structures configuration.
git-svn-id: http://mc-server.googlecode.com/svn/trunk@506 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-05-27 10:51:04 +00:00
madmaxoft@gmail.com 3d3c51b179 Improved logging on mis-configuration in cPlayer and cWorldStorage
git-svn-id: http://mc-server.googlecode.com/svn/trunk@505 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-05-27 10:49:17 +00:00
madmaxoft@gmail.com a4a418a679 Merged the composable_generator branch into the trunk
git-svn-id: http://mc-server.googlecode.com/svn/trunk@504 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-05-25 07:18:52 +00:00
madmaxoft@gmail.com 3fe79d8516 Removed a debugging construct that accidentally leaked into previous commit
git-svn-id: http://mc-server.googlecode.com/svn/trunk@485 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-05-08 11:34:04 +00:00
madmaxoft@gmail.com f2681777fb Fast NBT writer (Saving a chunk is now about twice as fast)
git-svn-id: http://mc-server.googlecode.com/svn/trunk@484 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-05-08 11:31:54 +00:00
madmaxoft@gmail.com 05a1f89286 Fixed two "bottlenecks" found using profiling - MakeIndex() instead of MakeIndexNoCheck()
git-svn-id: http://mc-server.googlecode.com/svn/trunk@483 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-05-08 09:25:15 +00:00
madmaxoft@gmail.com 35c8bc4c58 Fast NBT Parser (loading a chunk is now about 10 times faster)
git-svn-id: http://mc-server.googlecode.com/svn/trunk@481 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-05-07 20:22:04 +00:00
madmaxoft@gmail.com b73fba7c08 Updated version text to include 1.2.5; ChunkSender doesn't serialize chunk packets for chunks without a client
git-svn-id: http://mc-server.googlecode.com/svn/trunk@480 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-05-07 18:52:40 +00:00
madmaxoft@gmail.com 9cb8872851 Anvil storage writing (Basic storage is working, NO entities except for chests are working! Don't use for real servers)
git-svn-id: http://mc-server.googlecode.com/svn/trunk@475 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-04-23 21:20:32 +00:00
madmaxoft@gmail.com 60b5f4b66b Lapis gets generated (thanks, Fordship)
git-svn-id: http://mc-server.googlecode.com/svn/trunk@463 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-04-15 07:37:36 +00:00
faketruth ae3fa2b622 Moved the commands /coords /viewdistance and /regeneratechunks from cServer.cpp to the Core plugin
git-svn-id: http://mc-server.googlecode.com/svn/trunk@457 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-04-11 12:16:13 +00:00
madmaxoft@gmail.com 2b0dd758d5 Added error messages to socket closing error conditions for *nix
git-svn-id: http://mc-server.googlecode.com/svn/trunk@456 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-04-10 14:56:42 +00:00
madmaxoft@gmail.com 23cfcc6ffd Added the permission "builtin.regeneratechunk" needed for regenerating chunks using a command.
git-svn-id: http://mc-server.googlecode.com/svn/trunk@455 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-04-10 12:32:39 +00:00
madmaxoft@gmail.com c51a4b9469 Added 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!
git-svn-id: http://mc-server.googlecode.com/svn/trunk@454 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-04-10 11:22:11 +00:00
madmaxoft@gmail.com e009569060 Compression error -5 fix
git-svn-id: http://mc-server.googlecode.com/svn/trunk@452 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-04-04 14:36:52 +00:00
madmaxoft@gmail.com 3fe1622eda Fixed a parsing error in NBT classes (doubles weren't parsing correctly);
Added a working NBT serialization (verified in another project)

git-svn-id: http://mc-server.googlecode.com/svn/trunk@451 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-04-04 12:07:38 +00:00
madmaxoft@gmail.com 0d0ad37da1 StringUtils' GetDirectoryContents() now accepts empty string and interprets it as "current directory" (*nix fix)
git-svn-id: http://mc-server.googlecode.com/svn/trunk@450 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-04-04 10:50:43 +00:00
madmaxoft@gmail.com b5a646d94a Logging OnBlockDig and OnBlockPlace only in Debug mode ( http://mc-server.org/support/index.php?do=details&task_id=133&project=2 )
git-svn-id: http://mc-server.googlecode.com/svn/trunk@447 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-04-03 14:07:18 +00:00
madmaxoft@gmail.com 00ea7d12c1 Attempted a fix for cSocket's Bind() call on MacOS-based systems (initializing the whole sockaddr_in structure with zeroes first)
git-svn-id: http://mc-server.googlecode.com/svn/trunk@446 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-04-03 13:37:00 +00:00
faketruth d975e5bf04 cSocket.cpp should also compile on Mac now (I hope)
git-svn-id: http://mc-server.googlecode.com/svn/trunk@443 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-03-31 19:07:48 +00:00
faketruth 64f8549604 Fixed a crash when fluid would try to go below the world (y = -1)
git-svn-id: http://mc-server.googlecode.com/svn/trunk@442 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-03-31 12:10:17 +00:00
faketruth 091d958b0c Got rid of sPluginManagerState
/pluginlist now also shows the number of active plugins
Fixed crash caused by lingering bound Lua commands http://forum.mc-server.org/showthread.php?tid=212&pid=2541#pid2541
Added error messages when binding commands to an invalid plugin

git-svn-id: http://mc-server.googlecode.com/svn/trunk@440 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-03-28 18:11:06 +00:00
madmaxoft@gmail.com fcb9b281e0 Fixed a possible crash in ChunkSender - a client would be reported as removed but still would be in the internal queue.
git-svn-id: http://mc-server.googlecode.com/svn/trunk@438 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-03-27 19:23:44 +00:00
madmaxoft@gmail.com ce053d1b9b Removed the unneeded header wdirent.h
git-svn-id: http://mc-server.googlecode.com/svn/trunk@437 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-03-26 20:40:15 +00:00
madmaxoft@gmail.com 05252babc6 Added the supported client version to banner; shamelessly added myself to the authors list ;)
git-svn-id: http://mc-server.googlecode.com/svn/trunk@436 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-03-26 18:09:10 +00:00
madmaxoft@gmail.com ba5b6ca751 A globally-accessible OS-independent GetDirectoryContents() function for listing all objects in a folder as an AStringList
git-svn-id: http://mc-server.googlecode.com/svn/trunk@433 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-03-25 14:24:51 +00:00
madmaxoft@gmail.com 534e221316 Fixed the Log altogether (doesn't use NULL-to-va_list assignment, compiles for RaspberryPi)
git-svn-id: http://mc-server.googlecode.com/svn/trunk@432 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-03-25 13:29:07 +00:00
madmaxoft@gmail.com 5783437436 Added the new 1.2.4's PlayerAbilities packet; restructures packet files for less files, more dense.
git-svn-id: http://mc-server.googlecode.com/svn/trunk@431 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-03-24 13:28:53 +00:00
madmaxoft@gmail.com 3c3d1c60a3 Protocol version bumped up to 29 (MC 1.2.4), seems to work.
git-svn-id: http://mc-server.googlecode.com/svn/trunk@430 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-03-24 12:10:23 +00:00
madmaxoft@gmail.com e1ef489e08 Removed the split between 1.2.3 and 1.1, left only 1.2.3 code
git-svn-id: http://mc-server.googlecode.com/svn/trunk@429 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-03-24 11:40:29 +00:00
madmaxoft@gmail.com b69ac328c0 Reverted the previous commit - it is useless, since entities still depend heavily on cWorld
git-svn-id: http://mc-server.googlecode.com/svn/trunk@428 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-03-24 11:14:34 +00:00
madmaxoft@gmail.com be31652c40 Encapsulated cWorld functions needed in cWorldStorage into an interface, so that cWorldStorage can actually be used outside of MC-Server (such as storage conversion tools and chunk analyzers)
git-svn-id: http://mc-server.googlecode.com/svn/trunk@427 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-03-23 21:12:48 +00:00
madmaxoft@gmail.com 389062a1ed Fixed a deadlock by removing clients from all chunks upon their exit, not using the clients chunklists.
git-svn-id: http://mc-server.googlecode.com/svn/trunk@426 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-03-22 15:53:40 +00:00
madmaxoft@gmail.com 2786ad306a Fixed player heads always pointing north (new EntityHeadLook packet)
git-svn-id: http://mc-server.googlecode.com/svn/trunk@424 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-03-19 17:15:35 +00:00
madmaxoft@gmail.com 8d9e539f33 Fixed a warning in a Release build
git-svn-id: http://mc-server.googlecode.com/svn/trunk@423 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-03-19 14:21:52 +00:00
madmaxoft@gmail.com fedd0dd95f Made some logging output debug-only
git-svn-id: http://mc-server.googlecode.com/svn/trunk@421 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-03-19 09:40:56 +00:00
madmaxoft@gmail.com 1e90dad245 Basic cWindow thread-safety
git-svn-id: http://mc-server.googlecode.com/svn/trunk@420 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-03-19 09:37:10 +00:00
madmaxoft@gmail.com f72d1e1821 SocketThreads: proper thread finishing sequence (doesn't trigger AppVerifier checks :)
git-svn-id: http://mc-server.googlecode.com/svn/trunk@419 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-03-19 09:36:34 +00:00
faketruth cbfca006f7 Got rid of cPlayer::sPlayerState
git-svn-id: http://mc-server.googlecode.com/svn/trunk@418 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-03-16 16:16:37 +00:00
faketruth 445d31acc9 That didn't work.. I forgot some cChunk functions were changed. Now it should compile again
git-svn-id: http://mc-server.googlecode.com/svn/trunk@417 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-03-16 15:52:26 +00:00
faketruth 38b219de62 Exposed a function to Lua to get a block's sky light value
git-svn-id: http://mc-server.googlecode.com/svn/trunk@416 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-03-16 15:48:40 +00:00
madmaxoft@gmail.com 8127148f4c Actually commented out the Anvil terrain inversion code
git-svn-id: http://mc-server.googlecode.com/svn/trunk@415 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-03-14 21:49:22 +00:00
madmaxoft@gmail.com 2386d79541 Anvil support: Added a debugging section for inverting terrain (So that MC cave generator can be seen in action). Commented out, so that it doesn't make it into the release versions
git-svn-id: http://mc-server.googlecode.com/svn/trunk@414 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-03-14 21:45:04 +00:00
madmaxoft@gmail.com b974b1ea59 Unified the chunk data to use the BLOCKDATA datatype.
git-svn-id: http://mc-server.googlecode.com/svn/trunk@413 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-03-14 21:21:03 +00:00
madmaxoft@gmail.com 0b24efeb00 Split chunk data into separate arrays; decoupled most sources from cChunk.h dependency
git-svn-id: http://mc-server.googlecode.com/svn/trunk@411 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-03-14 20:56:09 +00:00
madmaxoft@gmail.com 393e34d571 Fixed the server not waiting for the world to save completely before stopping
git-svn-id: http://mc-server.googlecode.com/svn/trunk@410 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-03-13 21:13:34 +00:00
madmaxoft@gmail.com 8be2528350 Removed an unwarranted assert in cChunkSender
git-svn-id: http://mc-server.googlecode.com/svn/trunk@409 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-03-13 20:32:11 +00:00
madmaxoft@gmail.com b8041509e5 Small optimizations in the SetNibble() and GetNibble() functions; removed unused lighting functions from cChunk
git-svn-id: http://mc-server.googlecode.com/svn/trunk@408 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-03-13 20:26:36 +00:00
madmaxoft d0a606959b Fixed a few warnings, lifted up the block interactinos limit to 20 (10 was not enough for Creative mode)
git-svn-id: http://mc-server.googlecode.com/svn/trunk@407 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-03-13 09:28:24 +00:00
madmaxoft@gmail.com 12ce4e3a1a Gotten rid of stricmp MSVC warnings
git-svn-id: http://mc-server.googlecode.com/svn/trunk@406 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-03-12 19:43:25 +00:00
madmaxoft@gmail.com 57659f010e *nix compilation fix (for rev 402)
git-svn-id: http://mc-server.googlecode.com/svn/trunk@405 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-03-12 19:42:50 +00:00
madmaxoft@gmail.com 10c8c75bb7 Added a flat terrain generator with settable terrain height
git-svn-id: http://mc-server.googlecode.com/svn/trunk@404 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-03-12 19:39:41 +00:00
madmaxoft@gmail.com cb1edaf6df Fixed MapChunk packets to include (fake) biome data, makes clients happy
git-svn-id: http://mc-server.googlecode.com/svn/trunk@403 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-03-12 19:29:31 +00:00
madmaxoft@gmail.com b789d5ebf6 Fixing compilation on Drawin 9 / MacOS X
git-svn-id: http://mc-server.googlecode.com/svn/trunk@402 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-03-12 13:31:34 +00:00
madmaxoft@gmail.com cb2de47247 Stopping the ChunkSender upon server stop
git-svn-id: http://mc-server.googlecode.com/svn/trunk@401 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-03-11 22:29:15 +00:00
faketruth e06c2001ba Fixed a small bug in chunk version check D:
git-svn-id: http://mc-server.googlecode.com/svn/trunk@400 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-03-11 13:07:25 +00:00
madmaxoft@gmail.com af44154ff5 Not sending chunks to the client twice
git-svn-id: http://mc-server.googlecode.com/svn/trunk@399 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-03-11 10:48:20 +00:00
madmaxoft@gmail.com dc8004d5e6 Anvil format: fixed loading with XZY ordering
git-svn-id: http://mc-server.googlecode.com/svn/trunk@398 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-03-11 10:47:37 +00:00
madmaxoft@gmail.com 219be8186c Fixed a few obsoleted functions
git-svn-id: http://mc-server.googlecode.com/svn/trunk@397 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-03-10 22:27:24 +00:00
faketruth f90a8928e7 Completely integrated the new axis ordering. Will update worlds accordingly
git-svn-id: http://mc-server.googlecode.com/svn/trunk@396 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-03-10 22:10:15 +00:00
madmaxoft@gmail.com 4004129e11 Anvil support: compatible with both chunk orderings
git-svn-id: http://mc-server.googlecode.com/svn/trunk@395 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-03-10 21:42:18 +00:00
madmaxoft@gmail.com e7731242c1 Using references instead of pointers for sending packets
git-svn-id: http://mc-server.googlecode.com/svn/trunk@394 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-03-10 21:34:47 +00:00
madmaxoft@gmail.com 732b7349fa Fixed mob spawn packet for 1.2 client, now client doesn't bail out when mobs are turned on
git-svn-id: http://mc-server.googlecode.com/svn/trunk@393 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-03-10 19:30:06 +00:00
madmaxoft@gmail.com 1a5ebb44aa Fixed *nix threading issue;
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-03-10 17:37:00 +00:00
faketruth e5b91a8d97 Was using "#else if" which is not valid apparently, now using "#elif"
git-svn-id: http://mc-server.googlecode.com/svn/trunk@391 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-03-10 13:49:40 +00:00
faketruth 68f3ea56bd You can change axis ordering by setting AXIS_ORDER to AXIS_ORDER_XZY in cChunk.h !THIS WILL SCREW UP YOUR WORLDS THOUGH!
Still need to update world storage schemes, converters and such

git-svn-id: http://mc-server.googlecode.com/svn/trunk@390 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-03-10 02:39:36 +00:00
faketruth 62ba8f5a20 Using more of the index functions in cChunk, so it should be easy enough to flip the axis ordering now
Added some more functions that use Vector3i for block coordinates in cChunk

git-svn-id: http://mc-server.googlecode.com/svn/trunk@389 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-03-10 00:25:05 +00:00
faketruth f43b65cf53 cClientHandles have a unique ID now to distinguish them
cAuthenticator uses unique client ID for authentication
Changed the kick function used by cAuthenticator to take a client ID instead of name, so the correct user is kicked
Using callback reference instead of pointer in GetChunkData and affiliates
GetChunkData returns false when failed, and true when succeeded
Renamed entity type enums to something prettier
Exposed some functions to Lua

git-svn-id: http://mc-server.googlecode.com/svn/trunk@388 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-03-09 13:42:28 +00:00
madmaxoft@gmail.com 11810e05e4 Using the _DEBUG macro for *nix debug builds as well; trying to force 8-byte alignment on critical sections ( http://forum.mc-server.org/showthread.php?tid=384 )
git-svn-id: http://mc-server.googlecode.com/svn/trunk@387 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-03-09 09:39:48 +00:00
madmaxoft@gmail.com 7219e74c7c Anvil format: loading chests' contents.
git-svn-id: http://mc-server.googlecode.com/svn/trunk@385 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-03-07 22:09:55 +00:00
madmaxoft@gmail.com 4544d5d3b9 ChunkSender: Fixed a potential crash: removing a client means that no Send() is called on that client anymore
git-svn-id: http://mc-server.googlecode.com/svn/trunk@384 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-03-07 20:06:18 +00:00
madmaxoft@gmail.com 0cee2428c1 WSSCompact: fixed switched version values (!); removed unused methods
git-svn-id: http://mc-server.googlecode.com/svn/trunk@383 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-03-07 20:03:44 +00:00
faketruth 787382caf8 Fixed bug where cPlayer's cClientHandle was used after cPlayer was destroyed http://forum.mc-server.org/showthread.php?tid=380
Also removed the SetClientHandle() function from cPlayer
Added a Destroyed() function to cEntity that is called ONLY ONCE after an entity has been 'destroyed'
Cleaned up some code, using enums for GameMode and Weather and replaced some 'const char *' with 'const AString &'
Exposed some more functions to Lua

git-svn-id: http://mc-server.googlecode.com/svn/trunk@382 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-03-07 13:36:30 +00:00
madmaxoft@gmail.com d63b092e02 No need to reset zlib (copypasta error)
git-svn-id: http://mc-server.googlecode.com/svn/trunk@381 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-03-07 11:31:54 +00:00
madmaxoft@gmail.com 69a4ee5383 Added the Anvil level format (MCA) support, read-only for the time being. Now MCS can read your worlds from the official server :)
git-svn-id: http://mc-server.googlecode.com/svn/trunk@380 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-03-07 11:28:24 +00:00
faketruth bae54ee7bd Sticky pistons should work as well now
git-svn-id: http://mc-server.googlecode.com/svn/trunk@379 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-03-06 22:17:36 +00:00
madmaxoft@gmail.com b20fa171a4 Added a little documentation on ChunkSender.
git-svn-id: http://mc-server.googlecode.com/svn/trunk@378 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-03-06 21:58:32 +00:00
faketruth 944dec3a4e Fixed redstone repeater bug where it could not get the direction when it has delay bits set
git-svn-id: http://mc-server.googlecode.com/svn/trunk@377 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-03-06 21:56:12 +00:00
madmaxoft@gmail.com 3d0eced7e7 ChunkSender won't send NULL packets anymore
git-svn-id: http://mc-server.googlecode.com/svn/trunk@376 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-03-06 21:48:45 +00:00
madmaxoft@gmail.com 7ee0667b75 Fixed rev 373 not compiling on linux
git-svn-id: http://mc-server.googlecode.com/svn/trunk@375 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-03-06 21:32:22 +00:00
faketruth 01577bed9d Yay redstone repeaters!
git-svn-id: http://mc-server.googlecode.com/svn/trunk@374 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-03-06 21:06:51 +00:00
madmaxoft@gmail.com 5e4e89b6ee World storage names are now case-INsensitive
git-svn-id: http://mc-server.googlecode.com/svn/trunk@373 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-03-06 19:40:05 +00:00
madmaxoft@gmail.com e463ddc500 That was not a good place to use ARRAYCOUNT()
git-svn-id: http://mc-server.googlecode.com/svn/trunk@372 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-03-06 14:54:31 +00:00
madmaxoft@gmail.com 8cdd63f06c Fixed rev368's ChunkSender, now sends properly even chunks that are loaded. Fixed a deadlock in cClientHandle vs TickThread over cClientHandle::m_CSChunkLists
git-svn-id: http://mc-server.googlecode.com/svn/trunk@371 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-03-06 14:52:44 +00:00
faketruth ea1ecd36db Fixed bug FS#157 http://mc-server.org/support/index.php?do=details&task_id=157
git-svn-id: http://mc-server.googlecode.com/svn/trunk@370 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-03-06 13:25:14 +00:00
madmaxoft@gmail.com 0df305e226 Fixed a potential deadlock ( http://forum.mc-server.org/showthread.php?tid=374 )
git-svn-id: http://mc-server.googlecode.com/svn/trunk@369 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-03-05 17:15:56 +00:00
madmaxoft@gmail.com e4043be593 Using a fixed-size array instead of AString for conversion. Conversion now runs ~10x faster :) (in debug mode)
git-svn-id: http://mc-server.googlecode.com/svn/trunk@368 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-03-05 17:00:35 +00:00
madmaxoft@gmail.com 01c5d6e128 WSS conversion quickfix: reserving memory so that AString doesn't need to re-alloc (but still uses painfully slow push_back()s )
git-svn-id: http://mc-server.googlecode.com/svn/trunk@366 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-03-05 16:43:06 +00:00
madmaxoft@gmail.com 4d65ffffc0 ChunkSender: Chunks are now compressed and sent to clients from a separate threads, proper passive waiting between threads. Not much tested, just appears to work :)
git-svn-id: http://mc-server.googlecode.com/svn/trunk@365 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-03-05 16:41:57 +00:00
faketruth a655d7fdae Removed redstone debugging: powered dirt blocks change into stone
git-svn-id: http://mc-server.googlecode.com/svn/trunk@364 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-03-04 16:59:39 +00:00
faketruth ac5f1e8f30 Yay tiny commits XD fixed % sign
git-svn-id: http://mc-server.googlecode.com/svn/trunk@363 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-03-04 16:19:49 +00:00
faketruth e1b9fb1ab4 Lowered the amount of logging while converting chunks
git-svn-id: http://mc-server.googlecode.com/svn/trunk@362 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-03-04 16:18:32 +00:00
faketruth 85ecca1cfa Converted pak files were not marked 'dirty' and wouldn't be saved. Fixed now :)
git-svn-id: http://mc-server.googlecode.com/svn/trunk@361 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-03-04 16:15:04 +00:00
faketruth 9b7675f0e1 Forcing the use of the new redstone simulator
git-svn-id: http://mc-server.googlecode.com/svn/trunk@359 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-03-04 16:04:42 +00:00
faketruth 95eb3a7bd7 Should have complete support for 256 blocks high worlds. Old save files are converted to new ones at load.
BACK UP YOUR WORLD!

git-svn-id: http://mc-server.googlecode.com/svn/trunk@358 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-03-04 15:59:10 +00:00
faketruth f1f762c4fa The world can now truly be made higher by incrementing cChunk::c_ChunkHeight to 256. !!HOWEVER THIS WILL DESTROY YOUR SAVED WORLD!!
git-svn-id: http://mc-server.googlecode.com/svn/trunk@357 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-03-04 14:09:35 +00:00
faketruth fb7c60ec11 Changed signed char to unsigned char in block packets, so we can receive height up to 255
Blocks placed above 128 limit don't become obsidian anymore. This was due to the cChunk::MakeIndex() function return 0 when outside of bounds, it now returns an 'error constant'

git-svn-id: http://mc-server.googlecode.com/svn/trunk@356 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-03-04 13:54:33 +00:00
faketruth ad89cf88ba Got rid of some hardcoded numbers, now using hardcoded variables! woo
git-svn-id: http://mc-server.googlecode.com/svn/trunk@355 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-03-03 20:55:16 +00:00
faketruth f7b29dc727 That should not have been committed...
git-svn-id: http://mc-server.googlecode.com/svn/trunk@354 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-03-02 14:09:52 +00:00
faketruth 5179588b65 Chunk light and metadata are also sent now, should take a load off of the client
git-svn-id: http://mc-server.googlecode.com/svn/trunk@353 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-03-02 13:58:31 +00:00
faketruth eceead8394 Finally got the multiblock packet working! It seems the byte order was wrong
git-svn-id: http://mc-server.googlecode.com/svn/trunk@352 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-03-02 13:41:42 +00:00
faketruth 4dda2a5c2b MultiBlock packet is working partly.. I really don't understand what's wrong with this packet :/
git-svn-id: http://mc-server.googlecode.com/svn/trunk@351 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-03-02 01:22:06 +00:00
faketruth a2f6ab93b6 Chunks are successfully streamed to clients (in a bad a slow way, but whatever)
Fixed respawn packet for 1.2.2

git-svn-id: http://mc-server.googlecode.com/svn/trunk@350 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-03-01 18:56:56 +00:00
faketruth d24c07a550 Clients can join the server, but chunks are sent completely empty
git-svn-id: http://mc-server.googlecode.com/svn/trunk@349 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-03-01 18:08:53 +00:00
faketruth 4baa9e2709 Forgot to update packet size (though I'm not even sure it's used anymore)
git-svn-id: http://mc-server.googlecode.com/svn/trunk@348 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-03-01 17:14:23 +00:00
faketruth 957ef3b297 Started carefully moving to 1.2.2
Clients can get up to the login packet, after which the server tries to send chunks but in the wrong format and the client disconnects

git-svn-id: http://mc-server.googlecode.com/svn/trunk@347 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-03-01 17:07:41 +00:00
faketruth 867fc8ee0d New redstone simulator. Should work without crashes!
git-svn-id: http://mc-server.googlecode.com/svn/trunk@345 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-03-01 15:18:59 +00:00
madmaxoft@gmail.com 93d73ac520 Fixed the authenticator bug
git-svn-id: http://mc-server.googlecode.com/svn/trunk@344 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-29 20:25:11 +00:00
faketruth bba824a1c6 Making sure cClientHandle::m_Player was NULL after authentication completed
git-svn-id: http://mc-server.googlecode.com/svn/trunk@343 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-29 13:40:40 +00:00
madmaxoft@gmail.com 94132159be Added validity checks to world broadcasting. Also added logging to cPlayer deletion to catch that stupid BugByBoo.
git-svn-id: http://mc-server.googlecode.com/svn/trunk@342 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-29 08:40:15 +00:00
madmaxoft@gmail.com 5d0da9a2c0 Improved threading performance by reducing thread-hopping in queue locks (cs unlocked before event set)
git-svn-id: http://mc-server.googlecode.com/svn/trunk@341 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-28 16:59:59 +00:00
madmaxoft@gmail.com a4503ddb77 Setting the m_bDestroyed flag only after the cClienthandle is truly destroyed; cClientHandle's destructor now locks loaded chunk lists
git-svn-id: http://mc-server.googlecode.com/svn/trunk@340 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-28 14:58:07 +00:00
faketruth ac117959d3 Server uses ~40% less CPU now
git-svn-id: http://mc-server.googlecode.com/svn/trunk@339 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-28 14:22:03 +00:00
madmaxoft@gmail.com 0f88ed7c72 Linux compilation fix (y u no support const_iterator, gcc?)
git-svn-id: http://mc-server.googlecode.com/svn/trunk@338 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-28 12:37:46 +00:00
madmaxoft@gmail.com 013ae71c87 Chunk now has an indicator of load failure; Chunk generator uses cChunkStay
git-svn-id: http://mc-server.googlecode.com/svn/trunk@337 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-28 12:11:14 +00:00
madmaxoft@gmail.com 230f98a774 Implemented synchronous chunk loading; optimized cChunkStay interface for speed (though still unused ;)
git-svn-id: http://mc-server.googlecode.com/svn/trunk@336 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-28 10:45:53 +00:00
madmaxoft@gmail.com 67ffb8a1da ChunkGenerator: 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)
git-svn-id: http://mc-server.googlecode.com/svn/trunk@334 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-28 10:01:42 +00:00
madmaxoft@gmail.com 2c9198b208 Const-correctness for packet broadcasting (fixes GCC compilation)
git-svn-id: http://mc-server.googlecode.com/svn/trunk@333 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-28 08:10:51 +00:00
madmaxoft@gmail.com dee0a12029 Fix for the perpetual load issue
git-svn-id: http://mc-server.googlecode.com/svn/trunk@332 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-27 14:23:16 +00:00
madmaxoft@gmail.com 1f88db187b Implemented chunk loading without generating on load-failure
git-svn-id: http://mc-server.googlecode.com/svn/trunk@331 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-26 16:46:23 +00:00
madmaxoft@gmail.com b902546863 New 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.
git-svn-id: http://mc-server.googlecode.com/svn/trunk@330 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-26 16:15:09 +00:00
madmaxoft@gmail.com 7268a70902 Attempt at fixing crashes with disconnecting players
git-svn-id: http://mc-server.googlecode.com/svn/trunk@329 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-26 12:55:42 +00:00
madmaxoft@gmail.com 0e33c919dd Using cSocketThreads for client outgoing packets. Unfortunately had to put in one intermediate thread (cServer::cNotifyWriteThread) to avoid deadlocks. Still, seems we have a proper multithreading for clients and no more per-client threads, yay :)
git-svn-id: http://mc-server.googlecode.com/svn/trunk@328 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-26 00:36:51 +00:00
madmaxoft@gmail.com a14e015354 Extended SocketThreads for writing support (unusable in cClientHandle due to too many deadlock possibilities)
Extended the range of ignored packets in pre-game client states (fixes connection issues with some mods installed)

git-svn-id: http://mc-server.googlecode.com/svn/trunk@327 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-25 23:48:28 +00:00
madmaxoft@gmail.com bf19f7ae9c Made the viewdistance settable by users and default in settings.ini. The default is 9.
git-svn-id: http://mc-server.googlecode.com/svn/trunk@326 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-23 22:51:03 +00:00
madmaxoft@gmail.com 062b38b8b0 Plain pointer cChunkPtr finishing touches; removed cChunk's critical sections
git-svn-id: http://mc-server.googlecode.com/svn/trunk@325 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-23 21:21:37 +00:00
madmaxoft@gmail.com 9d3b837461 Made cChunkPtr a plain old pointer again, since it's safe now
git-svn-id: http://mc-server.googlecode.com/svn/trunk@324 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-23 21:02:38 +00:00
madmaxoft@gmail.com 8f85b9c625 cChunk: removed unused code
git-svn-id: http://mc-server.googlecode.com/svn/trunk@323 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-23 11:38:10 +00:00
madmaxoft@gmail.com 4455a1643d Added cmdline parameters "/cdg" and "/cdf" for crashdump flags "globals" and "full memory"
git-svn-id: http://mc-server.googlecode.com/svn/trunk@322 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-23 11:37:53 +00:00
madmaxoft@gmail.com 8cfcc2915c Rewritten ore generation from scratch, using a different (much faster) algorithm. Chunk generation now about 2x faster :)
git-svn-id: http://mc-server.googlecode.com/svn/trunk@321 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-22 21:20:20 +00:00
faketruth 3de5480191 That 2nd assert didn't make much sense...
git-svn-id: http://mc-server.googlecode.com/svn/trunk@320 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-22 20:40:32 +00:00
faketruth 3ca9b52ab2 Added some asserts to trace a bug
git-svn-id: http://mc-server.googlecode.com/svn/trunk@319 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-22 20:33:33 +00:00
faketruth 6015b59f13 Fixed a bug that no chunks were unloaded on the client. Now chunks are properly unloaded on the clients.
git-svn-id: http://mc-server.googlecode.com/svn/trunk@318 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-22 19:31:30 +00:00
madmaxoft@gmail.com 1cb756cbf2 Noise function optimization (chunk generation now about 1.5x faster :)
git-svn-id: http://mc-server.googlecode.com/svn/trunk@317 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-22 17:04:04 +00:00
madmaxoft@gmail.com a40ed8bd0d WorldGenerator: fixed small foliage - cacti now generate only at beaches, not underwater.
git-svn-id: http://mc-server.googlecode.com/svn/trunk@316 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-22 16:11:10 +00:00
faketruth 41d55ef86b Lua seems to have trouble with a combination of overloaded functions and class inheritance, so I renamed TeleportTo( cEntity* ) to TeleportToEntity
/tp command should work again :)

git-svn-id: http://mc-server.googlecode.com/svn/trunk@314 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-22 15:46:38 +00:00
madmaxoft@gmail.com 1d1b0fd00d Fixed a potential deadlock in cChunkMap::m_CSLayers vs cWorld::m_CSAllEntities
git-svn-id: http://mc-server.googlecode.com/svn/trunk@313 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-22 15:45:00 +00:00
faketruth d9c25a161e Added a crude way of disabling redstone. It's necessary though, redstone is completely broken, crashes the server all the time
git-svn-id: http://mc-server.googlecode.com/svn/trunk@312 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-22 15:35:10 +00:00
faketruth 42a3cd60d4 Added a CriticalSection to cPlugin_NewLua. Lua plugins are not threadsafe but they ARE accessed by multiple threads, this can create some hard to find errors, but I fixed it now :P
git-svn-id: http://mc-server.googlecode.com/svn/trunk@311 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-22 15:15:44 +00:00
madmaxoft@gmail.com e2e261dd17 Restricted windows crash dump generating code to 32-bit platforms only due to inline assembly
git-svn-id: http://mc-server.googlecode.com/svn/trunk@307 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-22 08:06:56 +00:00
madmaxoft@gmail.com 16da9e07ae Added code to produce dump files on Windows builds to aid with debugging server crashes
git-svn-id: http://mc-server.googlecode.com/svn/trunk@306 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-21 21:09:42 +00:00
faketruth be0a659153 Changed ASSERT() to not cause warnings during compile
Added VERIFY(); it's the same as ASSERT() but also works in release builds
VS2010 project uses warning level 4

git-svn-id: http://mc-server.googlecode.com/svn/trunk@305 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-21 16:42:24 +00:00
madmaxoft@gmail.com b653e6a012 Removed cChunkPtrs from everywhere but internal cChunkMap usage. Now we should finally be threadsafe :)
Also fixed a threading issue when a player connecting might have gotten stuck in "Downloading world" forever

git-svn-id: http://mc-server.googlecode.com/svn/trunk@304 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-21 16:27:30 +00:00
madmaxoft@gmail.com f0145ee9fa Fixed heightmap optimization from rev 302; removed a few more cChunkPtrs
git-svn-id: http://mc-server.googlecode.com/svn/trunk@303 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-21 15:18:02 +00:00
madmaxoft@gmail.com da4afc0cf3 Optimized hightmap recalc when setting a chunk's block
git-svn-id: http://mc-server.googlecode.com/svn/trunk@302 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-21 13:44:06 +00:00
madmaxoft@gmail.com b4a68e58a9 Fixed block-getting so that simulators work again
git-svn-id: http://mc-server.googlecode.com/svn/trunk@301 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-21 12:29:05 +00:00
madmaxoft@gmail.com d592882fe0 Removed some more cChunkPtr usage
git-svn-id: http://mc-server.googlecode.com/svn/trunk@298 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-20 16:39:00 +00:00
faketruth 0b616909e3 Using own ASSERT() that logs to file
git-svn-id: http://mc-server.googlecode.com/svn/trunk@297 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-19 23:00:00 +00:00
faketruth df39f12e30 Fixed assertion bug in NamedEntitySpawn packet, it used to assert when item ID is 0, but now 0 is allowed
git-svn-id: http://mc-server.googlecode.com/svn/trunk@296 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-19 19:31:38 +00:00
madmaxoft@gmail.com 3a8d2aa421 Substantial cWorld::FastSetBlock() speed up by queueing all such calls and processing them later chunk-wise (makes growing trees in the generator fast again)
git-svn-id: http://mc-server.googlecode.com/svn/trunk@295 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-18 20:10:57 +00:00
madmaxoft@gmail.com 993bdab1e8 Fixed previous commit: forgot to remove a debugging setting
git-svn-id: http://mc-server.googlecode.com/svn/trunk@294 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-18 19:20:05 +00:00
madmaxoft@gmail.com 76a92a21d1 Re-implemented tree-growing. May produce artefacts on old-world / new-world boundaries.
git-svn-id: http://mc-server.googlecode.com/svn/trunk@293 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-18 19:18:16 +00:00
madmaxoft@gmail.com 499745c1c7 Thread-safe chunk generation, storage and generator are queried for progress while initializing server
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-18 17:53:22 +00:00
madmaxoft@gmail.com 57dedd585c Logging: added thread ID to the log output in debug builds
git-svn-id: http://mc-server.googlecode.com/svn/trunk@291 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-18 17:51:34 +00:00
madmaxoft@gmail.com a0c29514d2 Logging: added LOGD macro that logs only in debug builds
git-svn-id: http://mc-server.googlecode.com/svn/trunk@290 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-18 17:49:02 +00:00
madmaxoft@gmail.com b173748c45 Moved stdarg.h inclusion into Globals.h
git-svn-id: http://mc-server.googlecode.com/svn/trunk@289 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-18 17:47:27 +00:00
madmaxoft@gmail.com d2b229d227 cIsThread: Added support for getting current thread ID
git-svn-id: http://mc-server.googlecode.com/svn/trunk@288 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-18 17:43:20 +00:00
madmaxoft@gmail.com 7a9925f982 Added the skeleton of the cLightingThread object
git-svn-id: http://mc-server.googlecode.com/svn/trunk@286 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-17 18:24:34 +00:00
madmaxoft@gmail.com 510133bd35 Chunk coords mostly "upgraded" to include the Y coord for future compatibility
git-svn-id: http://mc-server.googlecode.com/svn/trunk@285 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-17 17:56:25 +00:00
madmaxoft@gmail.com a97774624a Removed useless log messages
git-svn-id: http://mc-server.googlecode.com/svn/trunk@284 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-17 13:34:16 +00:00
madmaxoft@gmail.com 71097aa49b Lots of logging added
git-svn-id: http://mc-server.googlecode.com/svn/trunk@282 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-17 11:40:14 +00:00
faketruth 4a7883a5e3 git-svn-id: http://mc-server.googlecode.com/svn/trunk@281 0a769ca7-a7f5-676a-18bf-c427514a06d6 2012-02-16 22:28:19 +00:00
madmaxoft@gmail.com eefe71f593 New server command "unload" to manually unload unused chunks
git-svn-id: http://mc-server.googlecode.com/svn/trunk@280 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-16 19:32:31 +00:00
madmaxoft@gmail.com 2928cb6853 cWorldGenerator speedup - doesn't call GetChunk() anymore, not queueing the chunk it's generating to be loaded recursively.
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-16 17:45:26 +00:00
faketruth 008addf5d7 Got rid of dangerous GetEntity(), not using DoWithEntity()
git-svn-id: http://mc-server.googlecode.com/svn/trunk@278 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-16 17:20:28 +00:00
madmaxoft@gmail.com 415d4eaa68 Chunks are now marked as saved
git-svn-id: http://mc-server.googlecode.com/svn/trunk@277 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-16 16:50:11 +00:00
madmaxoft@gmail.com 44a6fd20c4 Marking chunk dirty after generating
git-svn-id: http://mc-server.googlecode.com/svn/trunk@276 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-16 15:53:52 +00:00
madmaxoft@gmail.com cd2bb55176 cPlayer empty-handed spawn fix
git-svn-id: http://mc-server.googlecode.com/svn/trunk@275 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-16 15:51:40 +00:00
faketruth bb396c8cc0 Heightmap is properly generated after loading chunks now, so /spawn and /top should work properly again
git-svn-id: http://mc-server.googlecode.com/svn/trunk@274 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-16 15:40:38 +00:00
madmaxoft@gmail.com 423f49d175 Chunk 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 properly
git-svn-id: http://mc-server.googlecode.com/svn/trunk@273 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-16 13:42:35 +00:00
faketruth 1c4122313f Chunks are properly saved before being unloaded now
numchunks server command works again

git-svn-id: http://mc-server.googlecode.com/svn/trunk@272 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-16 13:23:54 +00:00
faketruth 85db35a3ba cSocket::GetErrorString() now also compiles on Cygwin
git-svn-id: http://mc-server.googlecode.com/svn/trunk@270 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-16 11:15:00 +00:00
madmaxoft@gmail.com 3c4bfd9799 Fixed logging in cServer
git-svn-id: http://mc-server.googlecode.com/svn/trunk@269 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-16 09:35:33 +00:00
faketruth d15d40ad69 No longer using pointers for Vector3(f/d/i) in cEntity's and cTracer
git-svn-id: http://mc-server.googlecode.com/svn/trunk@268 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-15 22:50:00 +00:00
faketruth 57a97e8036 New players no longer cause an assert
git-svn-id: http://mc-server.googlecode.com/svn/trunk@267 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-15 22:11:56 +00:00
faketruth 7a26fbe471 Can use the 'restart' command again. cAuthenticator no longer asserts because it properly stops when the server is stopped.
git-svn-id: http://mc-server.googlecode.com/svn/trunk@266 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-15 21:47:21 +00:00
faketruth 5958478c59 Fixed a deadlock in WorldStorage
git-svn-id: http://mc-server.googlecode.com/svn/trunk@265 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-15 21:35:59 +00:00
madmaxoft@gmail.com 01341e2788 Fixed logging formatting error in cWorld
git-svn-id: http://mc-server.googlecode.com/svn/trunk@264 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-15 14:26:37 +00:00
madmaxoft@gmail.com 1aebcea095 Restored chest and furnace functionality as it was (it's basically working but joined chests show single-chest window)
git-svn-id: http://mc-server.googlecode.com/svn/trunk@263 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-15 14:22:44 +00:00
faketruth 5e1033c567 Can now pass any argument to cWorld:ForEachPlayer in Lua! But I'm not even using it.. lol
git-svn-id: http://mc-server.googlecode.com/svn/trunk@262 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-15 13:16:42 +00:00
madmaxoft@gmail.com 19e711a1e3 Slight cleanup - removed old code, some additional comments on dangerous functions
git-svn-id: http://mc-server.googlecode.com/svn/trunk@261 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-14 21:09:14 +00:00
faketruth e7ea352f41 Got rid of cWorld::GetAllPlayers() and implemented ForEachPlayer() more or less in Lua
Core now uses ForEachPlayer() to interact with connected players

git-svn-id: http://mc-server.googlecode.com/svn/trunk@260 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-14 19:14:23 +00:00
faketruth 9f38c219e2 Updated fluid simulators with geser's patch file!
Fluids should behave more like Minecraft's fluids, and lava+water creates stone/cobble/obsidian!

git-svn-id: http://mc-server.googlecode.com/svn/trunk@257 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-14 13:37:13 +00:00
faketruth 5aeae0fd6d m_World was never set in cBlockEntity's, now it is
git-svn-id: http://mc-server.googlecode.com/svn/trunk@255 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-02-14 13:15:09 +00:00