1
0
Commit Graph

654 Commits

Author SHA1 Message Date
Tiger Wang
590a8c45c5 Really did what xoft wanted 2014-01-16 21:41:08 +00:00
Tiger Wang
d3bc92c65d Fixed #535 2014-01-16 21:51:30 +01:00
madmaxoft
4da8818291 Fixed SIGPIPE on cSocket::Send(). 2014-01-16 21:08:17 +01:00
Tiger Wang
7eb3cabd19 Fixed #535 2014-01-16 19:55:21 +00:00
madmaxoft
a085319455 Protocol 1.7: Unknown packets are dumped to log in Debug mode. 2014-01-16 20:39:59 +01:00
madmaxoft
de4ac55398 Disabled excessive entity-related logging in Debug mode. 2014-01-16 20:31:06 +01:00
madmaxoft
c44ce84497 Fixed whitespace in previous commit. 2014-01-16 20:30:25 +01:00
Tiger Wang
74645fdfaa Removed obsoleted functions 2014-01-16 19:00:49 +00:00
madmaxoft
343136a2ae Finished exporting cWorld:ScheduleTask() to Lua API. 2014-01-16 19:56:08 +01:00
Tiger Wang
5d03e49c13 Possibly did what xoft wanted 2014-01-16 18:44:11 +00:00
Tiger Wang
3373daca26 Merge remote-tracking branch 'origin/master' into customnames 2014-01-16 18:37:46 +00:00
madmaxoft
dab37db562 CMake: Fixed output paths for all MSVC versions. 2014-01-16 18:33:28 +01:00
STRWarrior
ca835a0565 Changed GetContent function. 2014-01-16 16:54:22 +01:00
madmaxoft
e29749b35e Added packet diagnostics to 1.7 protocol.
When the packet is mis-interpreted, a log message is output about the packet type and lengths.
2014-01-16 15:26:58 +01:00
madmaxoft
6f739359e3 Yet another attempt at VarArgs. 2014-01-16 09:01:12 +01:00
madmaxoft
ba49a32c3a Another VarArgs fix.
This time using va_copy() on platforms that have it and simple assignment on platforms that don't.
2014-01-16 08:34:10 +01:00
Tiger Wang
f3baf31563 OBSOLETE'd obsolete functions 2014-01-15 22:38:15 +00:00
Tiger Wang
fcafd5a2e0 Implemented custom names and lore
+ Added custom names and lore
+ Added saving and loading
+ Added writing and parsing of NBT
2014-01-15 22:38:03 +00:00
Tiger Wang
3c31f2d8d8 Implemented Ctrl-Q drop stack
Also fixed an issue with TossItems not respecting count.
2014-01-15 22:36:19 +00:00
madmaxoft
dd6c5779ec Using a 2nd argument instead of va_copy().
This seems to be the only reasonable C++03-only solution.
2014-01-15 18:28:51 +01:00
madmaxoft
3fd19df9fd Fixed varargs modification.
Ref.: #541.
2014-01-15 17:46:29 +01:00
STRWarrior
72dcd70f22 Furnace minecarts now stop being active after a while. 2014-01-15 14:38:54 +01:00
STRWarrior
bdfe31f917 First implementation for furnace minecarts. 2014-01-15 14:03:09 +01:00
Mattes D
eb89de4c88 Merge pull request #542 from worktycho/schedular
added cWorld::ScheduleTask Function
2014-01-15 02:45:25 -08:00
Mattes D
457e93f1ed Merge pull request #538 from mc-server/minecarts
Minecarts
2014-01-15 02:42:24 -08:00
Tycho
292ccdc09e added cWorld::ScheduleTask Function
ScheduleTask schedules a SceduledTask object to be run x ticks in the future.
In is exported to lua, fixes #150
2014-01-14 12:17:03 -08:00
Tiger Wang
e3b839b69f Yes newline at end of file :D 2014-01-14 18:16:13 +00:00
madmaxoft
b263d55a2d CMake: Added postfix for profiled exe 2014-01-14 09:32:43 +01:00
Tiger Wang
a66e154b90 Final improvements to Minecarts
* Fixed curved rails being a little broken
+ Implemented detector rails
+ Implemented block collisions on rails
* Fixed snapping to rail
- Removed minecart physics conditions in Entity.cpp as minecarts use
their own simulator when on rails

Fixes #148 and #217; partially implemented #215.

This is Cave Johnson, and we're done here.
2014-01-13 22:37:09 +00:00
madmaxoft
5407cec41c Removed shutdown() from socket closing.
It's not there for Windows and everything seems fine, the client doesn't shutdown either, so why should we be polite.
Fixes #537.
2014-01-13 20:54:58 +01:00
madmaxoft
ada54b79d7 Added handshake processing to protocol 1.7.
This fixes #495
2014-01-13 20:32:15 +01:00
madmaxoft
7e59296157 Generating the bindings outputs a message at the end. 2014-01-13 19:57:19 +01:00
madmaxoft
332c1c59eb cCreeper is no longer available in API.
Has been replaced by cMonster.
2014-01-13 17:25:16 +01:00
madmaxoft
0a3fae7c35 CMake: Removed leftover debugging output. 2014-01-13 17:22:01 +01:00
madmaxoft
89e641071e CMake: Added resources to windows projects. 2014-01-13 17:15:34 +01:00
madmaxoft
b9eb38a17f Added a generic .user file for MSVC.
This brings in the default debugging settings for the MSVC project, when generated by CMake.
2014-01-13 16:49:49 +01:00
Tiger Wang
edefa27a48 Detaching improvements
* Players now search for an area around themselves to teleport to when
detaching from something
2014-01-12 23:23:36 +00:00
Tiger Wang
1d81db6446 Fixed wire, rail, and pressure plate unpowering 2014-01-12 23:19:08 +00:00
STRWarrior
c7d556afaf Fixed server crash. 2014-01-12 18:15:54 +01:00
STRWarrior
f11427e8cd Renamed cEmptyMinecart to cRideableMinecart 2014-01-12 18:04:41 +01:00
madmaxoft
118b7a121b Moved the win resources into a separate subfolder.
This will allow us to use them in CMake builds.
2014-01-12 17:57:29 +01:00
madmaxoft
2ca06cc213 CMake generates Bindings when not existant (win) 2014-01-12 17:20:29 +01:00
STRWarrior
c5603ce064 EmptyMinecarts should be able to get a block inside of them. 2014-01-12 15:27:50 +01:00
Tiger Wang
e114008559 Fixed settings plugin generation after IniFile 2014-01-12 14:03:50 +00:00
STRWarrior
6ff375273b Added cWorld::SpawnMinecart. 2014-01-12 14:33:32 +01:00
Tiger Wang
ec6c510bd4 Multiple enhancements and fixes to minecarts
+ They are destroyed instantly by creative mode
* Physics is much improved
+ Basic implementation of powered rails
2014-01-12 13:28:37 +00:00
Alexander Harkness
273db55bdf Merge pull request #529 from mc-server/derpstonerefactor
Major refactoring of redstone
2014-01-12 04:38:41 -08:00
madmaxoft
328b2db252 Disabled a useless MSVC warning in Bindings.cpp. 2014-01-12 08:43:13 +01:00
Mattes D
751c53ecc6 Merge pull request #532 from mc-server/LuaStateErrorHandler
Lua state error handler
2014-01-11 23:33:29 -08:00
madmaxoft
023ba17688 Lua errors display stack trace.
Fixes #418.
2014-01-11 23:10:40 +01:00
madmaxoft
b2b7e45757 Removed internal methods from public cLuaState interface.
PushFunction(), CallFunction() and GetReturn() are not to be called independently, but rather only by using the Call() templated overrides.
Push() needs to be left in the public part, it is used for pushing results in the ManualBindings.

Preparation for #418.
2014-01-11 22:51:10 +01:00
Tiger Wang
318c353ee4 Fixed rails powering 2014-01-11 21:32:42 +00:00
madmaxoft
acfebab027 Removed an unused file. 2014-01-11 21:22:40 +01:00
Mattes D
498fb5b675 Merge pull request #527 from derouinw/biomessplit
Biomessplit
2014-01-11 12:20:41 -08:00
madmaxoft
2634261a28 Removed unused variables.
The Lua API calls had no side-effects, either.
2014-01-11 20:29:56 +01:00
Mattes D
5417f7bd2d Merge pull request #530 from mc-server/GeneratorDecouple
Decoupled cChunkGenerator from cWorld and cRoot.
2014-01-11 11:26:09 -08:00
Tiger Wang
ff57381631 Did some stuff with the vectors 2014-01-11 14:26:18 +00:00
andrew
05e22dccf2 Fixed glowstone drop count 2014-01-11 11:38:34 +02:00
Tiger Wang
6b25ef4fa3 Fixed a door bug and reduced code
Doors wouldn't get powered by repeaters, and some blocks, like glass,
were viable middle blocks when they shouldn't have been.
2014-01-11 01:52:14 +00:00
Tiger Wang
b068b73ad9 Renamed g_TorchPlaceable...
...to g_FullyOccupiesVoxel, as recommended by @bearbin
2014-01-11 01:51:24 +00:00
Bill Derouin
af89794d76 Globals.h needs to be first include 2014-01-10 15:50:52 -06:00
Tiger Wang
d5b38402ed Fixed doors, fixes #453 2014-01-10 21:35:41 +00:00
madmaxoft
cea997426b Decoupled cChunkGenerator from cWorld and cRoot.
Now the chunk generator can be used by other projects without depending on the two hugest structures in MCS.
2014-01-10 22:22:54 +01:00
Tiger Wang
e7fba08e6c Major refactoring of redstone
This commit is a refactoring of the redstone code, mainly the functions
handling the removal of invalid blocks from power supplier data
structures. Its aim is to improve performance and potentially reduce the
memory footprint of the data structures.

It works to reduce the amount of GetBlock()s triggered every tick.
Before, a GetBlock() was requested for every single item in the data
lists, as well as for every single redstone block in a chunk. Following
these changes, the AddBlock() event is utilised more effectively to only
update the lists when needed (a block is changed), as well as to insert
the block type (and update it when needed) alongside the coordinates
into the main redstone simulator chunkdata list.

In short, a single GetBlock() is now cached, with this cache being
updated when the simulator is awoken due to a block change.

At least, I *hope* that this is what it does :P
2014-01-10 20:31:05 +00:00
Bill Derouin
fe48f62575 Include Biome enum in ChunkDef
Can't forward declare an enum
2014-01-10 10:30:56 -06:00
Bill Derouin
ee74411024 Added newlines at ends of files 2014-01-10 10:10:24 -06:00
madmaxoft
712e6e0bb2 Fixed generator adding values to ini file. 2014-01-10 16:34:09 +01:00
STRWarrior
82a06725bd Added cFinishGenNetherSprinkleFoliage. 2014-01-10 16:31:45 +01:00
Bill Derouin
1c2004dfbb Fixed missing externals
Turns out you actually have to include the .cpp in the project file
2014-01-10 09:23:53 -06:00
Mattes D
6943a4df74 Merge pull request #520 from mc-server/SoulSand
NetherGen: Now generates SoulSand.
2014-01-10 07:14:19 -08:00
STRWarrior
36c100a53e Fixed recurring pattern. 2014-01-10 16:12:45 +01:00
Bill Derouin
cee76f1ace Move biome definition to separate files 2014-01-09 15:21:46 -06:00
madmaxoft
bb96737f45 Exported cClientHandle::SendPluginMessage() to Lua. 2014-01-09 14:25:37 +01:00
madmaxoft
f3bedb3c32 Fixed wrong packet number for PluginMessage packet. 2014-01-09 14:24:57 +01:00
STRWarrior
6c75cbc8d7 Fixed chunk borders. 2014-01-09 13:30:04 +01:00
madmaxoft
fe978f0d1e Added cClientHandle::SendPluginMessage().
It is not yet exported in the API, though.
2014-01-09 11:39:42 +01:00
madmaxoft
bd17662412 Composition generator creating moved to a separate function.
Also it forces the defaults into the INI file.
2014-01-09 10:35:51 +01:00
madmaxoft
1ef20e858f Height generator creating moved info HeiGen.cpp.
The generator also explicitly sets the default back into the INI file.
2014-01-09 10:21:26 +01:00
Mattes D
91d70b87e5 Merge pull request #517 from derouinw/master
Add missing plugin error
2014-01-08 23:51:32 -08:00
STRWarrior
d462085108 Speed-up. I got about 40 extra ch/s 2014-01-08 22:23:26 +01:00
Bill Derouin
154d6b989a A couple touchups 2014-01-08 13:45:16 -06:00
STRWarrior
5aa34cf77d WormNestCaves now remove soul sand. 2014-01-08 15:34:49 +01:00
STRWarrior
ca8421fe26 NetherGen: Now generates SoulSand. 2014-01-08 15:26:43 +01:00
madmaxoft
38d0bdf00a Fixed AppendVPrintf() handling for large strings.
This caused a failure in server favicons.
2014-01-08 14:23:15 +01:00
Tiger Wang
f578dbfc54 Graceful shutdown on SIGTERM 2014-01-07 21:23:26 +00:00
Bill Derouin
e0d94e0f06 Add missing plugin error
Previously, if a plugin was included but the folder had no lua files,
the error given was ambiguous. Now, it explicitly describes lack of lua
files.

See issue #512

P.S. This probably isn't the best way, but this is where the fix can be
made.
2014-01-07 13:47:15 -06:00
Alexander Harkness
01fcf2fecb Merge pull request #516 from mc-server/favicon
Fixed favicons
2014-01-07 09:09:57 -08:00
Tiger Wang
1d96a615b5 Fixed favicons 2014-01-07 16:53:40 +00:00
madmaxoft
e353f29d4a Plugin messages are received and handed to plugins.
Note that MCS doesn't currently handle any channel registrations, this will come later on.
2014-01-07 17:47:20 +01:00
Mattes D
a87daa969e Merge pull request #514 from derouinw/master
Implement favicon for 1.7.2
2014-01-07 08:41:13 -08:00
Bill Derouin
5012b81578 Avoid making copies of favicon string 2014-01-07 10:26:56 -06:00
madmaxoft
a33b157dc9 Disabled an unneeded MSVC warning.
Also sorted the enabled warnings by their numerical code for easier searching..
2014-01-07 17:15:08 +01:00
madmaxoft
8b9b09bf60 Removed a debugging log output in cPluginManager:AddHook(). 2014-01-07 17:07:49 +01:00
madmaxoft
39a1bcdea0 More MSVC warning fixes. 2014-01-07 17:07:49 +01:00
madmaxoft
bcd41dc1aa LuaState can push strings with embedded NULs.
This also marginally improves performance, since a strlen() isn't called (inside lua_pushstring()), the string length is stored in the AString object directly.
2014-01-07 17:07:48 +01:00
Bill Derouin
1c2eb4a1c0 A few more touch ups 2014-01-07 09:49:52 -06:00
Bill Derouin
ede6757f67 A few touch ups 2014-01-07 09:40:59 -06:00
Bill Derouin
5fd62f9cd7 Removed unused line 2014-01-07 09:38:51 -06:00
Bill Derouin
913841f501 Implement favicon for 1.7.2
Favicon data is a png encoded in base64 which is stored in the server
and sent in the server response packet
2014-01-07 09:31:06 -06:00
madmaxoft
934b90c121 Fixed a few MSVC warnings. 2014-01-07 14:24:25 +01:00
madmaxoft
e3bb82d95a Added Base64Encode(). 2014-01-07 12:36:36 +01:00
madmaxoft
778c329ad2 Disabled the type conversion MSVC warning.
It was hitting way too many false positives.
2014-01-06 22:23:03 +01:00
madmaxoft
9c8af58b75 Fixed a few MSVC warnings. 2014-01-06 22:22:33 +01:00
Mattes D
db978fc687 Merge pull request #511 from mc-server/CmakeOutput
Output dir set to $/MCServer.
2014-01-06 11:12:50 -08:00
Mattes D
6dd44e6230 Merge pull request #509 from Diusrex/master
Added #pragma for warnings in MSVC warnings
2014-01-06 09:15:41 -08:00
madmaxoft
0d5a5cc990 Exported cWorld::BroadcastBlockAction().
As requested in #508; no guarantees about it.
2014-01-06 16:01:20 +01:00
madmaxoft
4b54f3e3ea Output dir set to $/MCServer.
Ref.: #510.
2014-01-06 10:13:19 +01:00
madmaxoft
c9c71fe5a7 Fixed wrong enqueueing.
Fixes #505.
2014-01-06 10:09:00 +01:00
Diusrex
487c1a24de Added fake functions into cCriticalSection because of the change to ASSERT 2014-01-05 15:08:30 -07:00
Diusrex
1acbf07445 Changed the release version of ASSERT.
This was so a variable only used in ASSERT statements will not give a warning about not being used.
2014-01-05 15:07:46 -07:00
Diusrex
2dbe5033ca Added warning(push) and warning(pop) around all of the inclusions of cryptopp/*.h
I also added a warning(push)/(pop) around crpytlib.cpp because it would go crazy with warnings.

So now, the only warning from cryptopp that is not blocked is 'unreferenced local function has been removed', which also occurs at a single function.
2014-01-05 15:06:17 -07:00
Diusrex
0d5b581fcd Making all of the useful level 4 warnings be active. 2014-01-05 14:42:22 -07:00
madmaxoft
84bf32f857 Fixed cPluginManager:AddHook() binding.
Fixes #401. Old formats are still accepted, for compatibility reasons.
2014-01-05 15:46:45 +01:00
madmaxoft
0a712931b1 Fixed a race condition in the cQueue class.
Fixes #505.
2014-01-05 15:15:59 +01:00
Tycho
d26c0e3815 Fixed Documentation 2014-01-03 09:42:35 -08:00
Tycho
13bbb3d99d derp 2014-01-03 08:56:20 -08:00
Tycho
14ec68d8d3 actual fix 2014-01-03 08:49:14 -08:00
Tycho
0e8bb3bf41 fixed failure to return a value from Remove 2014-01-03 08:34:41 -08:00
Tycho Bickerstaff
6f3c5b806e implement xsofts recommendations 2014-01-03 11:22:01 +00:00
Tycho Bickerstaff
ea6f94f6cb Merge branch 'master' into threadsafequeue 2014-01-02 17:49:55 +00:00
Tycho Bickerstaff
d522619ce2 added documentation 2014-01-02 17:43:57 +00:00
Tycho Bickerstaff
bbdb34252e fixed a few remaining issues with worldstorage 2014-01-02 17:37:34 +00:00
Mattes D
d3dc12815b Merge pull request #479 from mc-server/cmake-win
Cmake-win
2014-01-02 09:16:11 -08:00
madmaxoft
15dddc7701 More memory alignment fixes.
Ref.: #420.
2014-01-02 18:08:38 +01:00
madmaxoft
c510683d2a Fixed unaligned memory access in FastNBT.
This should fix #420.
2014-01-02 17:33:18 +01:00
Tycho Bickerstaff
042b72bc17 rewrote queue not to use promises for waits 2014-01-02 12:32:55 +00:00
Tycho Bickerstaff
7694a0788c Merge branch 'master' into threadsafequeue
Conflicts:
	src/OSSupport/Queue.h
2013-12-31 16:32:08 +00:00
Tycho Bickerstaff
c52a46a5e3 merged changes from upstream 2013-12-31 16:24:53 +00:00
madmaxoft
d4e29a0d18 Merge branch 'FishingHook' 2014-01-01 15:31:57 +01:00
STRWarrior
db00a36ff8 OnPlayerFishing doesn't have a const cItems anymore 2014-01-01 15:09:53 +01:00
andrew
852c52bee9 Fixed GetPhysicalRAMUsage on Linux 2014-01-01 11:18:56 +02:00
Tycho Bickerstaff
098ed91a48 fogot to add promise classes 2013-12-31 16:13:13 +00:00
Tycho Bickerstaff
512d1b9ebe clean up code for patching 2013-12-31 15:58:21 +00:00
Tycho Bickerstaff
18fb814c34 Merge branch 'master' into threadsafequeue 2013-12-31 15:53:17 +00:00
Tycho Bickerstaff
173ed0e653 Merge branch 'master' into cmake-fixes 2013-12-31 15:52:51 +00:00
Tycho Bickerstaff
f3736b1eb7 refactored chunk Queue to seperate class 2013-12-31 15:48:57 +00:00
STRWarrior
020a8b457d implemented the recommendations Xoft gave. 2013-12-31 14:53:10 +01:00
Tycho Bickerstaff
c3e34ee81a removed unneccisary cast 2013-12-31 09:16:44 +01:00
Tycho Bickerstaff
1957f982bc fixed warnings in LineBlockTracer.cpp 2013-12-31 09:16:44 +01:00
Tycho Bickerstaff
8e7e990cfe fixed warnings in LightingThread.cpp 2013-12-31 09:16:43 +01:00
Tycho Bickerstaff
3da41de553 take Z axis into account when calculating neighboors in LightingThread::ChunkReady 2013-12-31 09:16:43 +01:00
Tycho Bickerstaff
2e1588820d fixed warnings in World.cpp 2013-12-31 09:16:42 +01:00
Tycho Bickerstaff
2e113c63f9 fixxed warnings in Server.cpp 2013-12-31 09:16:42 +01:00
Tycho Bickerstaff
3152c72959 fixed warnings in Inventory.cpp 2013-12-31 09:16:42 +01:00
Tycho Bickerstaff
c83dfdb66e fixed warnings in bytebuffer.cpp 2013-12-31 09:16:41 +01:00
Tycho Bickerstaff
e41dec458c fixed ClientHandle warnings 2013-12-31 09:16:41 +01:00
Tycho Bickerstaff
9ebc623a0a fixed warnings in webadmin.cpp 2013-12-31 09:16:41 +01:00
Tycho Bickerstaff
25d42c44d5 fixed warnings in BlockArea.cpp 2013-12-31 09:16:40 +01:00
Morgan Redshaw
782818ffb5 Fixed a cPlayer::IsGameModeAdventure. It was determined based off of gmCreate rather than gmAdventure. 2013-12-30 21:30:20 -07:00
STRWarrior
cd435ffca9 Implented OnPlayerFishing and OnPlayerFished. 2013-12-30 22:56:08 +01:00