1
0
Fork 0
Commit Graph

656 Commits

Author SHA1 Message Date
Lukas Pioch 4b1bc1cc5c Removed unnecessary check for lower and upper folder 2017-03-16 17:50:19 +01:00
mathiascode 330d66097f Removed a few default plugins (#3580) 2017-02-24 10:11:38 +01:00
Gareth Nelson 1c31cb7eec Add support for alternate config file locations (#3578) 2017-02-22 14:10:32 +01:00
Mattes D 7cc3fb098d DeadlockDetect now lists some tracked CS's stats. 2017-01-18 09:03:05 +01:00
Mattes D a52de8e8cd DeadlockDetect: Provide more information for debugging. 2017-01-17 18:35:12 +01:00
Mattes D e9547101b1 LuaState: Fixed untracking references.
One thread may untrack a ref while another thread was closing the LuaState, which had emptied the tracked refs.
2017-01-15 12:54:58 +01:00
Mattes D fb0fc07579 Fixed race conditions and forgotten clear in Lua ref tracking. (#3530)
This fixes occasional crashes on plugin reload.
2017-01-13 10:31:05 +01:00
Mattes D f62711f97c LuaState: Fixed race condition in ref tracking. (#3529) 2017-01-09 15:56:16 +01:00
Mattes D b3b723b453 Refactored to put URL Encoding / Decoding in a single place. (#3491) 2016-12-25 18:29:21 +01:00
Tiger Wang 8c6d0b51c7 Use CMake's Android generators to crosscompile 2016-12-12 14:32:32 +00:00
Lukas Pioch 0c10704d1f Export GetPosition and GetSpeed from cEntity as a copy instead of a pointer to lua. 2016-12-10 13:32:11 +01:00
Mattes D 9af17f7c39 LuaState: Fixed stack balance when calling functions (#3428) 2016-11-10 16:46:31 +01:00
Mattes D 9eff6f390d LuaJson: Report serialization errors instead of crashing. 2016-10-27 23:47:36 +02:00
Mattes D e0f158bba9 Fixed cRankManager API docs. 2016-10-06 21:24:31 +02:00
Mattes D b1530bb28e LuaAPI: Fixed possible crashes in HTTPRequest bindings. 2016-09-26 12:47:40 +02:00
Mattes D e169043a84 Fixed cCompositeChat's constructor LuaAPI bindings.
The tolua-generated constructor would return an extra string value.
2016-09-25 12:42:05 +02:00
Mattes D c83b051c1a Bindings: Fixed some function signatures comments. 2016-09-08 23:06:38 +02:00
Mattes D d3cf47cc5d APIDump: Removed trailing whitespace. 2016-09-08 23:05:52 +02:00
Mattes D 08110ae91b PluginLua: Removed unneeded assignment.
Duplicated in SetLoadError().
2016-09-05 15:05:25 +02:00
Mattes D 5ca371bb9a cUrlClient: Exported to Lua API. 2016-08-23 13:20:43 +02:00
Mattes D 641cb063bc cTCPLink supports TLS out of the box. 2016-08-22 23:44:36 +02:00
Mattes D 11682d1386 cLuaState: Moved function param counting to PushCallPop() template.
The Push() functions can be used not only for function params, but also returns or temporaries, so it doesn't make sense to count the params there.
2016-08-22 20:10:48 +02:00
Mattes D 9493488e48 cLuaState: Added direct support for pushing a nil constant. 2016-08-22 20:09:56 +02:00
Mattes D 89c9c6fe46 cLuaState: Added support for optional params and AStringMap values. 2016-08-22 20:01:23 +02:00
Mattes D d4aff474c2 cLuaState: Added template to push multiple values in a single call. (#3331) 2016-08-21 11:03:10 +02:00
ElNounch 787173351d Fix cWorld:QueueTask() Lua's binding
Manual binding expect three parameters : self, a number, a function
And then read self and a function...
Removing the extra check for the broken second argument
2016-08-17 23:27:26 +00:00
Mattes D 0f51f7e358 Fixed cWorld:ChunkStay bindings. (#3319)
Introduced new cLuaState::cOptionalCallback for representing optional callbacks (nil from Lua side).
Introduced new cLuaState::cStackTable class for easy access to Lua table's elements.

Fixes #3305.
2016-08-14 16:26:31 +02:00
Mattes D 2d58789d66 Converted cLuaState::cTableRef to use cTrackedRef.
This makes the table-based callbacks resistent to LuaState unloads and safer to use.
2016-08-13 21:16:21 +02:00
Mattes D ec235e7120 Removed debug log message.
Ref.: #3308
2016-08-11 21:15:54 +02:00
Mattes D c4578db4df Fixed LuaAPI library registrations. (#3308)
lsqlite3 didn't clean up the stack properly.
lxp didn't register itself properly.
2016-08-11 21:04:29 +02:00
Mattes D 778b29b6f4 Fixed cFile API bindings. 2016-08-06 22:08:18 +02:00
Mattes D f07dc71648 Commented out code_out.cpp generating.
Fixes #3296.
2016-08-06 18:28:57 +02:00
Mattes D d1dee3c909 Fixed RasPi builds of unit tests.
On RasPi with gcc 4.8.2, the asserts wouldn't compile when tests were enabled.
Enforced the assumption that ASSERT code is generated only in Debug builds.
2016-08-04 20:47:53 +02:00
Mattes D fc5fb03fec CMake: Fix system Lua usage for non-5.1 versions. (#3271) 2016-07-21 10:46:31 +01:00
Mattes D 8eaa8613da CMake: Remove needless minimum version specifications. 2016-07-18 22:11:42 +02:00
Mattes D 430b623223 Use system Lua, if available, to generate bindings.
Closes #1031.
2016-07-18 22:11:41 +02:00
Mattes D abf35f3976 DiffAPIDesc: Support optional params in desc. 2016-07-18 22:11:39 +02:00
Mattes D f0c53dbad4 LuaAPI: Fixed bindings for cChunkDesc:GetBlockTypeMeta 2016-07-18 22:11:38 +02:00
Mattes D b11605e951 Bindings: Added a script to generate a diff between APIDesc and ToLua.
This allows a simple copy operation from the DoxyComments into APIDesc.
2016-07-18 22:11:38 +02:00
Mattes D 984c0a2cef Bindings: Don't generate docs for private symbols, mark static symbols. 2016-07-18 22:11:38 +02:00
Mattes D 61f76dd7a5 Bindings: Output description is valid Lua file. 2016-07-18 22:11:37 +02:00
Mattes D 751d0d0736 Bindings: Extract unexported DoxyComments. 2016-07-18 22:11:36 +02:00
Mattes D c5714f6e4b Bindings: Extract DoxyComments 2016-07-18 22:11:36 +02:00
Mattes D 1a30c2262b Added a Pure-Lua implementation for bindings generation.
The BindingsProcessor.lua script can be opened in ZeroBraneStudio and debugged from there, it invokes the entire ToLua++ processing.
Also added docs-generation to the ToLua++ processor.
2016-07-18 22:11:35 +02:00
Mattes D 5095a9f48b Fixed Lua Json serializing a bool.
Fixes #3257.
2016-07-10 08:16:44 +02:00
Mattes D a184f57eb3 Bindings: Added missing dependencies.
Fixes #3245
2016-07-02 00:30:22 +02:00
Mattes D 0eea5c9fc5 CircleCI: Check for missing Bindings dependencies
This commit fails the CircleCI tests on purpose, so that we know that the check works.
2016-07-02 00:30:22 +02:00
Mattes D bf88312a16 Converted cLuaState::cCallbackPtr into a UniquePtr. 2016-06-27 20:51:53 +02:00
Mattes D 7a6670d1d1 Removed dead code related to callbacks. 2016-06-27 20:51:52 +02:00
Mattes D 257c5a1a54 cPluginManager: Use a callback for command handler registration. 2016-06-27 20:51:52 +02:00
Mattes D 24853397ef LuaState: Implemented proper locking for cCallback. 2016-06-27 20:51:51 +02:00
Mattes D fb4c3fc4d9 Changed cLuaWindow callbacks to use cLuaState::cCallback. 2016-06-27 20:51:50 +02:00
Mattes D a473725121 Removed the cPluginLua::cResettable class.
The functionality provided by that class has been superseded by cLuaState::cCallback, with better multithreading support.
2016-06-27 20:51:50 +02:00
Mattes D b7e1a66815 Changed world tasks to use cLuaState::cCallback. 2016-06-27 20:51:49 +02:00
Mattes D 4489a89fde Changed plugin hook registrations to use cLuaState::cCallback. 2016-06-27 20:51:49 +02:00
Mattes D af8c96026d Removed cWebPlugin, WebAdmin uses cLuaState::cCallback. 2016-06-27 20:51:48 +02:00
Mattes D 1f75d45222 Added cLuaState::cCallback for representing (resettable) Lua callbacks. 2016-06-27 20:51:48 +02:00
Mattes D ce30e3f666 Normalized Vector3 API to use the same capitalization as all else. 2016-06-10 17:59:33 +02:00
Mattes D c2759186c0 Bindings: Fixed cBoundingBox API. 2016-06-05 18:23:16 +02:00
Mattes D fbe9866524 Bindings: Add a const-ptr variant to all stack getter functions 2016-06-05 17:20:50 +02:00
Mattes D 5618e453e6 LuaState: Inter-plugin calls now support simple tables. (#3220) 2016-05-31 00:01:55 +01:00
PlasmaPower b4d9732fe9 Added GetTeamNames to cScoreboard (#3217)
Resolves #3210
2016-05-29 19:12:18 +02:00
Mattes D e3d34d9917 Revert "Lua callback" 2016-03-21 09:58:15 +01:00
Mattes D af200dfaae Changed cLuaWindow callbacks to use cLuaState::cCallback. 2016-03-17 19:29:03 +01:00
Mattes D 5dfcc15d1f Removed the cPluginLua::cResettable class.
The functionality provided by that class has been superseded by cLuaState::cCallback, with better multithreading support.
2016-03-17 19:29:02 +01:00
Mattes D d0a04a7a82 Changed world tasks to use cLuaState::cCallback. 2016-03-17 19:29:02 +01:00
Mattes D eb044e140e Changed plugin hook registrations to use cLuaState::cCallback. 2016-03-17 19:29:01 +01:00
Mattes D 62d81eb763 Removed cWebPlugin, WebAdmin uses cLuaState::cCallback. 2016-03-17 19:29:01 +01:00
Mattes D 3aa7656823 Added cLuaState::cCallback for representing (resettable) Lua callbacks. 2016-03-17 19:29:00 +01:00
Mattes D fea556ca1b Renamed HTTPServer folder to HTTP.
It contains client code as well.
2016-03-01 16:19:56 +01:00
Mattes D 98d3bdebb4 LuaTCPLink: Report data received via SSL just before connection closed. 2016-02-21 10:44:34 +01:00
LogicParrot ca6ef58b1e Bulk clearing of whitespace 2016-02-05 23:50:18 +02:00
Marvin Kopf 9840cc8218 Fix TabAutoComplete
For tab on '/command s' the server now returns 'subcommand' instead of '/command subcommand'.
2016-02-02 18:59:50 +01:00
Arnaud Meuret e19109465d Fix typo (ammount) 2016-01-02 22:02:02 +01:00
Mattes D 80e1eb37dd Renamed leftover strings to Cuberite / Server, as needed.
Also upgraded the user setting file for MSVC to 2013.
2016-01-01 21:05:09 +01:00
Mattes D 958df6ad91 Added the cUrlParser class, exported to Lua API. 2015-12-25 18:50:25 +01:00
Mattes D 122d824a8a Added a Json parser and serializer to Lua API. 2015-12-24 14:00:31 +01:00
Lukas Pioch 50a908fdc9 Fixes for clang-3.7 2015-12-19 22:43:37 +01:00
Alexander Harkness 8b851d5048 Added HTTPS links wherever they are supported. 2015-12-19 14:30:32 +00:00
Mattes D 086c8b1834 Revised the explosion-related Lua API and docs.
Fixes #2746.
2015-12-18 12:40:34 +01:00
Julian Laubstein 5af10b8cd3 Fixed warning regarding an uninitialized value 2015-12-15 17:20:34 +01:00
Julian Laubstein 8d5f4f2160 Fixed warning regarding an uninitialized value 2015-12-15 17:06:32 +01:00
Mattes D b8fbba5eb9 Added PieceStructures generator. 2015-12-01 10:35:07 +01:00
Lukas Pioch 9749c3aac9 Implemented brewing 2015-11-03 18:00:55 +01:00
Mattes D 6c7f51a008 Fixed bindings for cTCPLink:StartTLSClient().
The bindings used to enforce client cert, now it's optional.
2015-10-08 16:14:50 +02:00
Mattes D 9da404ea2d Fixed a race condition between chunk loader and generator.
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-10-04 14:06:37 +02:00
Mattes D 1c8e60f91a Added LuaState tracker and memory stats logging. 2015-09-28 21:30:31 +02:00
Mattes D 5614056640 Made Lua API check strings strictly.
Previously nil was accepted as a string in cLuaState::CheckParamString(), now it's reported as an error.
2015-09-28 14:53:50 +02:00
Mattes D ad57ce5f99 Extended and fixed the cFile API. 2015-09-26 22:54:18 +02:00
Tiger Wang a8bfe3a4c1 Prepared ScheduleTask for threading refactor
* Llama-ified and condensed Schedule/QueueTask
- Removed hackery done with piston animations
2015-09-25 18:56:49 +01:00
Lukas Pioch e56aa4032d Maked it compileable for clang-3.7 2015-09-25 17:09:19 +02:00
Mattes D 82d9ac1e1c Namechange to Cuberite 2015-09-25 10:14:17 +02:00
tycho b4f934b808 fixed cast 2015-09-24 15:54:32 +01:00
tycho 6e86d20f73 Add new "ForEach" function: ForEachLoadedChunk. 2015-09-24 15:54:32 +01:00
Tiger Wang 5751ba0c1c Use container-based infrastructure for Travis 2015-08-20 16:15:55 +01:00
Julian Laubstein dd5201c29e Some warning fixes 2015-08-18 08:49:00 +02:00
Matti Hänninen b20294604c Fix old style casts and implicit conversions 2015-08-12 16:51:38 +03:00
Samuel Barney 4996e53bf5 Refactored code to use cLuaState
Fixes #2377.
2015-08-07 21:17:21 +02:00
Mattes D 6e4122e551 Unified the doxy-comment format. 2015-07-31 16:49:10 +02:00
Samuel Barney 804805d35a Silenced and fixed many warning messages across multiple files. 2015-07-29 09:49:30 -06:00
Hax52 9f1d1c058f Buttons no longer click on when already on. Buttons now play sound when clicking off. 2015-06-24 13:52:56 -05:00
Mattes D e06dd8f20e Added basic support for loading village prefabs from files. 2015-06-20 15:37:41 +02:00
Mattes D 8df31067d4 Externalized cPrefabPiecePool self-test. 2015-06-19 16:15:59 +02:00
Mattes D c6012a95bd LuaState: Added support for config-style usage.
Globals and table values can be queried from the Lua state easily.
Use perfect forwarding.
2015-06-17 17:13:45 +02:00
Nounours Heureux d79f601d5a Added HOOK_KILLED 2015-06-13 10:00:31 +02:00
Mattes D 99b182b4be Added Build info to the cRoot API. 2015-06-05 10:34:13 +02:00
Mattes D a54fa15bc6 Merge pull request #2172 from mc-server/LightingCallbacks
Made cLightingThread own its callbacks
2015-06-01 15:02:42 +02:00
Mattes D 98df75d5ab ManualBindings: Fixed DoWithXYZ and ForEachInChunk signatures.
Fixes forum report http://forum.mc-server.org/showthread.php?tid=1993
2015-05-31 19:44:08 +02:00
tycho 06a74e45e2 Made cLightingThread own its callbacks 2015-05-30 11:11:17 +01:00
tycho b2fa71a32a Fix comments 2015-05-28 12:54:04 +01:00
tycho e19693e529 Merge branch 'master' into PreventNewWarnings
Conflicts:
	src/Inventory.cpp
2015-05-28 11:05:41 +01:00
worktycho 6735b0d534 Only add default plugins if there are not any plugins
Fixes #2082
2015-05-25 18:43:18 +01:00
tycho 76a3165f09 Fix comments 2015-05-24 14:58:24 +01:00
tycho dae9e5792a Made -Weverything an error. 2015-05-24 12:56:56 +01:00
tycho 81c0116cf1 Merge branch 'master' into PreventNewWarnings 2015-05-23 07:33:52 -07:00
Lukas Pioch e30b2ed487 Fixed missing overrides and added a ignore flag for reserved macro for clang version 3.6 and higher. 2015-05-23 16:28:37 +02:00
tycho 1577a080ee Merge branch 'master' into PreventNewWarnings 2015-05-23 11:31:03 +01:00
Alexander Harkness de5e056a88 TryGetHeight returns a bool
should fix #2099
2015-05-23 10:37:50 +01:00
Lukas Pioch bc838e5bd2 Renamed hook HOOK_ENTITY_CHANGE_WORLD 2015-05-21 12:27:54 +02:00
tycho 77f1f58c0a Make -Werror disabling file only
Ad fix a load of warnings
2015-05-19 19:32:10 +01:00
tycho 480052c058 Added LuaState support for all integral types
All so added error handling for out of range values
2015-05-19 17:09:05 +01:00
Alexander Harkness fff5efedc3 Merge pull request #2019 from mc-server/OverrideArgs
Initial Implementation of command line arguments
2015-05-19 10:53:44 +01:00
Lukas Pioch 4d4d1e9c69 Added hooks HOOK_ENTITY_CHANGE_WORLD and HOOK_ENTITY_CHANGED_WORLD
Fixes #1435.
2015-05-18 22:29:39 +02:00
Mattes D 1240c76cb4 Lua: Break into ZBS debugger on API errors. 2015-05-16 16:19:18 +02:00
tycho b9efa02c80 Initial implementation of IniFile overloading 2015-05-16 10:46:51 +01:00
Mattes D 163aebf8ca Fixed cPluginManager:ForEachCommand() and ForEachConsoleCommand()
The functions would leak one value on the Lua stack for each enumerated command.
Fixes #2017.
2015-05-14 19:46:18 +02:00
Mattes D 43fecf48e3 Merge pull request #2006 from mc-server/ManualBindingsWorld
Moved cWorld manual bindings out into a separate file.
2015-05-14 08:15:40 +02:00
Mattes D f36b00f4d4 All in-game commands go through the OnExecuteCommand hook.
Everything that has a slash at the beginning, doesn't matter if it is a registered command or not.
2015-05-13 18:31:01 +02:00
Mattes D 15771e4759 Moved cWorld manual bindings out into a separate file. 2015-05-13 11:30:57 +02:00
Mattes D 4b97569b3a ToLua now generates cLuaState::Push() and GetStackValue()
For classes exported through ToLua it generates the cLuaState::Push() and cLuaState::GetStackValue() functions, as well as the supporting forward declarations and typedefs.
Renamed virtual_method_hooks.lua to BindingsProcessor.lua since it no longer provides virtual method hooks and instead does additional processing when generating the bindings.
2015-05-12 09:20:54 +02:00
Mattes D 4083bc7005 AllToLua: Removed unneeded virtual method hooks. 2015-05-11 16:11:53 +02:00
Mattes D dd10ffb63a OnExecuteCommand hook can override the command result (crXXX). 2015-05-10 23:11:30 +02:00
Mattes D 693ffb689c Exported cPluginManager:ExecuteConsoleCommand() to Lua API.
Fixes #1999.
2015-05-10 22:51:16 +02:00
Mattes D 6c53abed23 Call HOOK_EXECUTE_COMMAND even for unknown console commands.
This allows plugins such as Aliases to intercept even unknown commands.
2015-05-10 21:46:25 +02:00
Mattes D cbb1eff17a Added the EntireCommand parameter to HOOK_EXECUTE_COMMAND.
Fixes #1996.
2015-05-10 21:37:46 +02:00
Tiger Wang 9c490293b8 Merge remote-tracking branch 'origin/master' into warnings
Conflicts:
	src/Mobs/Monster.cpp
	src/Vector3.h
2015-05-10 12:16:20 +01:00
Mattes D 846d16315a CheckBasicStyle: checks spaces around * and &. 2015-05-09 12:58:55 +02:00
Mattes D c13b1931ff More style checking.
Spaces around some operators are checked.
2015-05-09 12:58:54 +02:00
Tiger Wang 218010cd96 Fixed some Visual Studio warnings 2015-05-08 23:32:02 +01:00
Mattes D fee690a3d1 Fixed inter-plugin calls.
When an inter-plugin call failed due to function not found, the server would maul the LuaState and "yield".
Fixes #1959.
2015-05-07 23:03:04 +02:00
tycho 448df85e56 Added support for additional data in the ParticleEffect Packet
Also started refactoring how broadcasts are handled
2015-05-07 03:47:46 +01:00
Tiger Wang 2919d08883 Update submodules 2015-05-02 15:57:49 +01:00
Mattes D 8d4a87d2c4 Fixed bindings for cFile:ReadWholeFile().
Fixes #1914
2015-04-30 11:44:42 +02:00
Mattes D fc95501f68 Added cBlockArea:GetNonAirCropRelCoords() API function.
Fixes #1915.
2015-04-29 15:14:22 +02:00
Mattes D b5998873e4 cPlayer now checks restrictions.
Fixes #1331.
2015-04-25 21:05:43 +02:00
Mattes D 9c5797f27d Added player restrictions to the DB and API. 2015-04-25 21:05:35 +02:00
Mattes D b7d1d701b9 Plugin removes its command registrations and webtabs when unloaded.
Fixes #1890.
2015-04-25 18:11:14 +02:00
Mattes D a89d5f53fd Refactored ManualBindings' callbacks using templates.
This is a bit easier to read, has better error reporting and fixes a few subtle bugs.
Fixes #1889.
2015-04-23 22:20:31 +02:00
Mattes D 08624348f4 Implemented cPluginManager:DoWithPlugin(), fixed ForEachPlugin().
Both functions are exported as static.
2015-04-23 19:41:01 +02:00
Mattes D 4a946aa8c4 Added cPluginManager:IsPluginLoaded() API, better load error msgs. 2015-04-19 17:20:15 +02:00