Merge branch 'master' into NetherFortGen
This commit is contained in:
commit
18dad36189
@ -128,6 +128,8 @@ public: // tolua_export
|
|||||||
class cCommandEnumCallback
|
class cCommandEnumCallback
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
virtual ~cCommandEnumCallback() {}
|
||||||
|
|
||||||
/** Called for each command; return true to abort enumeration
|
/** Called for each command; return true to abort enumeration
|
||||||
For console commands, a_Permission is not used (set to empty string)
|
For console commands, a_Permission is not used (set to empty string)
|
||||||
*/
|
*/
|
||||||
|
@ -4,6 +4,7 @@
|
|||||||
class cBroadcastInterface
|
class cBroadcastInterface
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
virtual ~cBroadcastInterface() {}
|
||||||
|
|
||||||
virtual void BroadcastUseBed (const cEntity & a_Entity, int a_BlockX, int a_BlockY, int a_BlockZ ) = 0;
|
virtual void BroadcastUseBed (const cEntity & a_Entity, int a_BlockX, int a_BlockY, int a_BlockZ ) = 0;
|
||||||
virtual void BroadcastSoundEffect(const AString & a_SoundName, int a_SrcX, int a_SrcY, int a_SrcZ, float a_Volume, float a_Pitch, const cClientHandle * a_Exclude = NULL) = 0;
|
virtual void BroadcastSoundEffect(const AString & a_SoundName, int a_SrcX, int a_SrcY, int a_SrcZ, float a_Volume, float a_Pitch, const cClientHandle * a_Exclude = NULL) = 0;
|
||||||
|
@ -9,6 +9,7 @@ class cItems;
|
|||||||
class cWorldInterface
|
class cWorldInterface
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
virtual ~cWorldInterface() {}
|
||||||
|
|
||||||
virtual Int64 GetTimeOfDay(void) const = 0;
|
virtual Int64 GetTimeOfDay(void) const = 0;
|
||||||
virtual Int64 GetWorldAge(void) const = 0;
|
virtual Int64 GetWorldAge(void) const = 0;
|
||||||
|
@ -24,6 +24,8 @@ class cBlockArea;
|
|||||||
class cForEachChunkProvider
|
class cForEachChunkProvider
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
virtual ~cForEachChunkProvider() {}
|
||||||
|
|
||||||
/** Calls the callback for each chunk in the specified range. */
|
/** Calls the callback for each chunk in the specified range. */
|
||||||
virtual bool ForEachChunkInRect(int a_MinChunkX, int a_MaxChunkX, int a_MinChunkZ, int a_MaxChunkZ, cChunkDataCallback & a_Callback) = 0;
|
virtual bool ForEachChunkInRect(int a_MinChunkX, int a_MaxChunkX, int a_MinChunkZ, int a_MaxChunkZ, cChunkDataCallback & a_Callback) = 0;
|
||||||
|
|
||||||
|
@ -264,11 +264,17 @@ template class SizeChecker<UInt16, 2>;
|
|||||||
#define assert_test(x) ( !!(x) || (assert(!#x), exit(1), 0))
|
#define assert_test(x) ( !!(x) || (assert(!#x), exit(1), 0))
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/// A generic interface used mainly in ForEach() functions
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/** A generic interface used mainly in ForEach() functions */
|
||||||
template <typename Type> class cItemCallback
|
template <typename Type> class cItemCallback
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
/// Called for each item in the internal list; return true to stop the loop, or false to continue enumerating
|
virtual ~cItemCallback() {}
|
||||||
|
|
||||||
|
/** Called for each item in the internal list; return true to stop the loop, or false to continue enumerating */
|
||||||
virtual bool Item(Type * a_Type) = 0;
|
virtual bool Item(Type * a_Type) = 0;
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
|
@ -37,6 +37,8 @@ public:
|
|||||||
class cCallbacks
|
class cCallbacks
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
virtual ~cCallbacks() {}
|
||||||
|
|
||||||
/** Called when a new request arrives over a connection and its headers have been parsed.
|
/** Called when a new request arrives over a connection and its headers have been parsed.
|
||||||
The request body needn't have arrived yet.
|
The request body needn't have arrived yet.
|
||||||
*/
|
*/
|
||||||
@ -50,7 +52,7 @@ public:
|
|||||||
} ;
|
} ;
|
||||||
|
|
||||||
cHTTPServer(void);
|
cHTTPServer(void);
|
||||||
~cHTTPServer();
|
virtual ~cHTTPServer();
|
||||||
|
|
||||||
/// Initializes the server on the specified ports
|
/// Initializes the server on the specified ports
|
||||||
bool Initialize(const AString & a_PortsIPv4, const AString & a_PortsIPv6);
|
bool Initialize(const AString & a_PortsIPv4, const AString & a_PortsIPv6);
|
||||||
|
@ -52,6 +52,8 @@ public:
|
|||||||
|
|
||||||
cInventory(cPlayer & a_Owner);
|
cInventory(cPlayer & a_Owner);
|
||||||
|
|
||||||
|
virtual ~cInventory() {}
|
||||||
|
|
||||||
// tolua_begin
|
// tolua_begin
|
||||||
|
|
||||||
/// Removes all items from the entire inventory
|
/// Removes all items from the entire inventory
|
||||||
|
@ -20,11 +20,13 @@ class cItemGrid
|
|||||||
public:
|
public:
|
||||||
// tolua_end
|
// tolua_end
|
||||||
|
|
||||||
/// This class is used as a callback for when a slot changes
|
/** This class is used as a callback for when a slot changes */
|
||||||
class cListener
|
class cListener
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
/// Called whenever a slot changes
|
virtual ~cListener() {}
|
||||||
|
|
||||||
|
/** Called whenever a slot changes */
|
||||||
virtual void OnSlotChanged(cItemGrid * a_ItemGrid, int a_SlotNum) = 0;
|
virtual void OnSlotChanged(cItemGrid * a_ItemGrid, int a_SlotNum) = 0;
|
||||||
} ;
|
} ;
|
||||||
typedef std::vector<cListener *> cListeners;
|
typedef std::vector<cListener *> cListeners;
|
||||||
@ -38,12 +40,12 @@ public:
|
|||||||
int GetHeight (void) const { return m_Height; }
|
int GetHeight (void) const { return m_Height; }
|
||||||
int GetNumSlots(void) const { return m_NumSlots; }
|
int GetNumSlots(void) const { return m_NumSlots; }
|
||||||
|
|
||||||
/// Converts XY coords into slot number; returns -1 on invalid coords
|
/** Converts XY coords into slot number; returns -1 on invalid coords */
|
||||||
int GetSlotNum(int a_X, int a_Y) const;
|
int GetSlotNum(int a_X, int a_Y) const;
|
||||||
|
|
||||||
// tolua_end
|
// tolua_end
|
||||||
|
|
||||||
/// Converts slot number into XY coords; sets coords to -1 on invalid slot number. Exported in ManualBindings.cpp
|
/** Converts slot number into XY coords; sets coords to -1 on invalid slot number. Exported in ManualBindings.cpp */
|
||||||
void GetSlotCoords(int a_SlotNum, int & a_X, int & a_Y) const;
|
void GetSlotCoords(int a_SlotNum, int & a_X, int & a_Y) const;
|
||||||
|
|
||||||
// tolua_begin
|
// tolua_begin
|
||||||
@ -62,16 +64,16 @@ public:
|
|||||||
void EmptySlot(int a_X, int a_Y);
|
void EmptySlot(int a_X, int a_Y);
|
||||||
void EmptySlot(int a_SlotNum);
|
void EmptySlot(int a_SlotNum);
|
||||||
|
|
||||||
/// Returns true if the specified slot is empty or the slot doesn't exist
|
/** Returns true if the specified slot is empty or the slot doesn't exist */
|
||||||
bool IsSlotEmpty(int a_SlotNum) const;
|
bool IsSlotEmpty(int a_SlotNum) const;
|
||||||
|
|
||||||
/// Returns true if the specified slot is empty or the slot doesn't exist
|
/** Returns true if the specified slot is empty or the slot doesn't exist */
|
||||||
bool IsSlotEmpty(int a_X, int a_Y) const;
|
bool IsSlotEmpty(int a_X, int a_Y) const;
|
||||||
|
|
||||||
/// Sets all items as empty
|
/** Sets all items as empty */
|
||||||
void Clear(void);
|
void Clear(void);
|
||||||
|
|
||||||
/// Returns number of items out of a_ItemStack that can fit in the storage
|
/** Returns number of items out of a_ItemStack that can fit in the storage */
|
||||||
int HowManyCanFit(const cItem & a_ItemStack, bool a_AllowNewStacks = true);
|
int HowManyCanFit(const cItem & a_ItemStack, bool a_AllowNewStacks = true);
|
||||||
|
|
||||||
/** Adds as many items out of a_ItemStack as can fit.
|
/** Adds as many items out of a_ItemStack as can fit.
|
||||||
@ -117,37 +119,37 @@ public:
|
|||||||
*/
|
*/
|
||||||
cItem RemoveOneItem(int a_X, int a_Y);
|
cItem RemoveOneItem(int a_X, int a_Y);
|
||||||
|
|
||||||
/// Returns the number of items of type a_Item that are stored
|
/** Returns the number of items of type a_Item that are stored */
|
||||||
int HowManyItems(const cItem & a_Item);
|
int HowManyItems(const cItem & a_Item);
|
||||||
|
|
||||||
/// Returns true if there are at least as many items of type a_ItemStack as in a_ItemStack
|
/** Returns true if there are at least as many items of type a_ItemStack as in a_ItemStack */
|
||||||
bool HasItems(const cItem & a_ItemStack);
|
bool HasItems(const cItem & a_ItemStack);
|
||||||
|
|
||||||
/// Returns the index of the first empty slot; -1 if all full
|
/** Returns the index of the first empty slot; -1 if all full */
|
||||||
int GetFirstEmptySlot(void) const;
|
int GetFirstEmptySlot(void) const;
|
||||||
|
|
||||||
/// Returns the index of the first non-empty slot; -1 if all empty
|
/** Returns the index of the first non-empty slot; -1 if all empty */
|
||||||
int GetFirstUsedSlot(void) const;
|
int GetFirstUsedSlot(void) const;
|
||||||
|
|
||||||
/// Returns the index of the last empty slot; -1 if all full
|
/** Returns the index of the last empty slot; -1 if all full */
|
||||||
int GetLastEmptySlot(void) const;
|
int GetLastEmptySlot(void) const;
|
||||||
|
|
||||||
/// Returns the index of the last used slot; -1 if all empty
|
/** Returns the index of the last used slot; -1 if all empty */
|
||||||
int GetLastUsedSlot(void) const;
|
int GetLastUsedSlot(void) const;
|
||||||
|
|
||||||
/// Returns the index of the first empty slot following a_StartFrom (a_StartFrom is not checked)
|
/** Returns the index of the first empty slot following a_StartFrom (a_StartFrom is not checked) */
|
||||||
int GetNextEmptySlot(int a_StartFrom) const;
|
int GetNextEmptySlot(int a_StartFrom) const;
|
||||||
|
|
||||||
/// Returns the index of the first used slot following a_StartFrom (a_StartFrom is not checked)
|
/** Returns the index of the first used slot following a_StartFrom (a_StartFrom is not checked) */
|
||||||
int GetNextUsedSlot(int a_StartFrom) const;
|
int GetNextUsedSlot(int a_StartFrom) const;
|
||||||
|
|
||||||
/// Copies the contents into a cItems object; preserves the original a_Items contents
|
/** Copies the contents into a cItems object; preserves the original a_Items contents */
|
||||||
void CopyToItems(cItems & a_Items) const;
|
void CopyToItems(cItems & a_Items) const;
|
||||||
|
|
||||||
/// Adds the specified damage to the specified item; returns true if the item broke (but the item is left intact)
|
/** Adds the specified damage to the specified item; returns true if the item broke (but the item is left intact) */
|
||||||
bool DamageItem(int a_SlotNum, short a_Amount);
|
bool DamageItem(int a_SlotNum, short a_Amount);
|
||||||
|
|
||||||
/// Adds the specified damage to the specified item; returns true if the item broke (but the item is left intact)
|
/** Adds the specified damage to the specified item; returns true if the item broke (but the item is left intact) */
|
||||||
bool DamageItem(int a_X, int a_Y, short a_Amount);
|
bool DamageItem(int a_X, int a_Y, short a_Amount);
|
||||||
|
|
||||||
// tolua_end
|
// tolua_end
|
||||||
@ -159,10 +161,10 @@ public:
|
|||||||
*/
|
*/
|
||||||
void GenerateRandomLootWithBooks(const cLootProbab * a_LootProbabs, size_t a_CountLootProbabs, int a_NumSlots, int a_Seed);
|
void GenerateRandomLootWithBooks(const cLootProbab * a_LootProbabs, size_t a_CountLootProbabs, int a_NumSlots, int a_Seed);
|
||||||
|
|
||||||
/// Adds a callback that gets called whenever a slot changes. Must not be called from within the listener callback!
|
/** Adds a callback that gets called whenever a slot changes. Must not be called from within the listener callback! */
|
||||||
void AddListener(cListener & a_Listener);
|
void AddListener(cListener & a_Listener);
|
||||||
|
|
||||||
/// Removes a slot-change-callback. Must not be called from within the listener callback!
|
/** Removes a slot-change-callback. Must not be called from within the listener callback! */
|
||||||
void RemoveListener(cListener & a_Listener);
|
void RemoveListener(cListener & a_Listener);
|
||||||
|
|
||||||
// tolua_begin
|
// tolua_begin
|
||||||
@ -177,7 +179,7 @@ protected:
|
|||||||
cCriticalSection m_CSListeners; ///< CS that guards the m_Listeners against multi-thread access
|
cCriticalSection m_CSListeners; ///< CS that guards the m_Listeners against multi-thread access
|
||||||
bool m_IsInTriggerListeners; ///< Set to true while TriggerListeners is running, to detect attempts to manipulate listener list while triggerring
|
bool m_IsInTriggerListeners; ///< Set to true while TriggerListeners is running, to detect attempts to manipulate listener list while triggerring
|
||||||
|
|
||||||
/// Calls all m_Listeners for the specified slot number
|
/** Calls all m_Listeners for the specified slot number */
|
||||||
void TriggerListeners(int a_SlotNum);
|
void TriggerListeners(int a_SlotNum);
|
||||||
|
|
||||||
/** Adds up to a_Num items out of a_ItemStack, as many as can fit, in specified slot
|
/** Adds up to a_Num items out of a_ItemStack, as many as can fit, in specified slot
|
||||||
|
@ -29,43 +29,45 @@ class cListenThread :
|
|||||||
typedef cIsThread super;
|
typedef cIsThread super;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
/// Used as the callback for connection events
|
/** Used as the callback for connection events */
|
||||||
class cCallback
|
class cCallback
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
/// This callback is called whenever a socket connection is accepted
|
virtual ~cCallback() {}
|
||||||
|
|
||||||
|
/** This callback is called whenever a socket connection is accepted */
|
||||||
virtual void OnConnectionAccepted(cSocket & a_Socket) = 0;
|
virtual void OnConnectionAccepted(cSocket & a_Socket) = 0;
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
cListenThread(cCallback & a_Callback, cSocket::eFamily a_Family, const AString & a_ServiceName = "");
|
cListenThread(cCallback & a_Callback, cSocket::eFamily a_Family, const AString & a_ServiceName = "");
|
||||||
~cListenThread();
|
~cListenThread();
|
||||||
|
|
||||||
/// Creates all the sockets, returns trus if successful, false if not.
|
/** Creates all the sockets, returns trus if successful, false if not. */
|
||||||
bool Initialize(const AString & a_PortsString);
|
bool Initialize(const AString & a_PortsString);
|
||||||
|
|
||||||
bool Start(void);
|
bool Start(void);
|
||||||
|
|
||||||
void Stop(void);
|
void Stop(void);
|
||||||
|
|
||||||
/// Call before Initialize() to set the "reuse" flag on the sockets
|
/** Call before Initialize() to set the "reuse" flag on the sockets */
|
||||||
void SetReuseAddr(bool a_Reuse = true);
|
void SetReuseAddr(bool a_Reuse = true);
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
typedef std::vector<cSocket> cSockets;
|
typedef std::vector<cSocket> cSockets;
|
||||||
|
|
||||||
/// The callback which to notify of incoming connections
|
/** The callback which to notify of incoming connections */
|
||||||
cCallback & m_Callback;
|
cCallback & m_Callback;
|
||||||
|
|
||||||
/// Socket address family to use
|
/** Socket address family to use */
|
||||||
cSocket::eFamily m_Family;
|
cSocket::eFamily m_Family;
|
||||||
|
|
||||||
/// Sockets that are being monitored
|
/** Sockets that are being monitored */
|
||||||
cSockets m_Sockets;
|
cSockets m_Sockets;
|
||||||
|
|
||||||
/// If set to true, the SO_REUSEADDR socket option is set to true
|
/** If set to true, the SO_REUSEADDR socket option is set to true */
|
||||||
bool m_ShouldReuseAddr;
|
bool m_ShouldReuseAddr;
|
||||||
|
|
||||||
/// Name of the service that's listening on the ports; for logging purposes only
|
/** Name of the service that's listening on the ports; for logging purposes only */
|
||||||
AString m_ServiceName;
|
AString m_ServiceName;
|
||||||
|
|
||||||
|
|
||||||
|
@ -29,7 +29,7 @@ class cRCONServer :
|
|||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
cRCONServer(cServer & a_Server);
|
cRCONServer(cServer & a_Server);
|
||||||
~cRCONServer();
|
virtual ~cRCONServer();
|
||||||
|
|
||||||
void Initialize(cIniFile & a_IniFile);
|
void Initialize(cIniFile & a_IniFile);
|
||||||
|
|
||||||
|
@ -33,6 +33,10 @@ public:
|
|||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
virtual ~cWindowOwner()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
void CloseWindow(void)
|
void CloseWindow(void)
|
||||||
{
|
{
|
||||||
m_Window = NULL;
|
m_Window = NULL;
|
||||||
|
Loading…
Reference in New Issue
Block a user