diff options
author | Julian Laubstein <julianlaubstein@yahoo.de> | 2015-07-31 19:26:33 +0200 |
---|---|---|
committer | Julian Laubstein <julianlaubstein@yahoo.de> | 2015-07-31 19:26:33 +0200 |
commit | d19cde93fa3344f318fb0d4ffbf5bb0397a51a75 (patch) | |
tree | b5ee221d8a8e63c7d3b7868da1db19bf717a6ffd /src | |
parent | Merge pull request #2400 from cuberite/OffloadBadChunks (diff) | |
parent | Unified the doxy-comment format. (diff) | |
download | cuberite-d19cde93fa3344f318fb0d4ffbf5bb0397a51a75.tar cuberite-d19cde93fa3344f318fb0d4ffbf5bb0397a51a75.tar.gz cuberite-d19cde93fa3344f318fb0d4ffbf5bb0397a51a75.tar.bz2 cuberite-d19cde93fa3344f318fb0d4ffbf5bb0397a51a75.tar.lz cuberite-d19cde93fa3344f318fb0d4ffbf5bb0397a51a75.tar.xz cuberite-d19cde93fa3344f318fb0d4ffbf5bb0397a51a75.tar.zst cuberite-d19cde93fa3344f318fb0d4ffbf5bb0397a51a75.zip |
Diffstat (limited to '')
114 files changed, 869 insertions, 850 deletions
diff --git a/src/AllocationPool.h b/src/AllocationPool.h index e82f9807e..4815ab414 100644 --- a/src/AllocationPool.h +++ b/src/AllocationPool.h @@ -3,6 +3,10 @@ #include <memory> + + + + template <class T> class cAllocationPool { @@ -12,100 +16,109 @@ public: public: virtual ~cStarvationCallbacks() {} - /** Is called when the reserve buffer starts to be used **/ + /** Is called when the reserve buffer starts to be used */ virtual void OnStartUsingReserve() = 0; - /** Is called once the reserve buffer has returned to normal size **/ + /** Is called once the reserve buffer has returned to normal size */ virtual void OnEndUsingReserve() = 0; /** Is called when the allocation pool is unable to allocate memory. Will be repeatedly - called if it does not free sufficient memory **/ + called if it does not free sufficient memory */ virtual void OnOutOfReserve() = 0; }; virtual ~cAllocationPool() {} - /** Allocates a pointer to T **/ + /** Allocates a pointer to T */ virtual T * Allocate() = 0; - /** Frees the pointer passed in a_ptr, invalidating it **/ + /** Frees the pointer passed in a_ptr, invalidating it */ virtual void Free(T * a_ptr) = 0; }; + + + + /** Allocates memory storing unused elements in a linked list. Keeps at least NumElementsInReserve -elements in the list unless malloc fails so that the program has a reserve to handle OOM.**/ +elements in the list unless malloc fails so that the program has a reserve to handle OOM. */ template <class T, size_t NumElementsInReserve> -class cListAllocationPool : public cAllocationPool<T> +class cListAllocationPool: + public cAllocationPool<T> { - public: +public: - cListAllocationPool(std::unique_ptr<typename cAllocationPool<T>::cStarvationCallbacks> a_Callbacks) : - m_Callbacks(std::move(a_Callbacks)) + cListAllocationPool(std::unique_ptr<typename cAllocationPool<T>::cStarvationCallbacks> a_Callbacks): + m_Callbacks(std::move(a_Callbacks)) + { + for (size_t i = 0; i < NumElementsInReserve; i++) { - for (size_t i = 0; i < NumElementsInReserve; i++) + void * space = malloc(sizeof(T)); + if (space == nullptr) { - void * space = malloc(sizeof(T)); - if (space == nullptr) - { - m_Callbacks->OnStartUsingReserve(); - break; - } - m_FreeList.push_front(space); + m_Callbacks->OnStartUsingReserve(); + break; } + m_FreeList.push_front(space); } + } - virtual ~cListAllocationPool() + + virtual ~cListAllocationPool() + { + while (!m_FreeList.empty()) { - while (!m_FreeList.empty()) - { - free (m_FreeList.front()); - m_FreeList.pop_front(); - } + free (m_FreeList.front()); + m_FreeList.pop_front(); } + } - virtual T * Allocate() override + + virtual T * Allocate() override + { + if (m_FreeList.size() <= NumElementsInReserve) { - if (m_FreeList.size() <= NumElementsInReserve) + void * space = malloc(sizeof(T)); + if (space != nullptr) { - void * space = malloc(sizeof(T)); - if (space != nullptr) - { - return new(space) T; - } - else if (m_FreeList.size() == NumElementsInReserve) - { - m_Callbacks->OnStartUsingReserve(); - } - else if (m_FreeList.empty()) - { - m_Callbacks->OnOutOfReserve(); - // Try again until the memory is avalable - return Allocate(); - } + return new(space) T; } - // placement new, used to initalize the object - T * ret = new (m_FreeList.front()) T; - m_FreeList.pop_front(); - return ret; - } - virtual void Free(T * a_ptr) override - { - if (a_ptr == nullptr) + else if (m_FreeList.size() == NumElementsInReserve) { - return; + m_Callbacks->OnStartUsingReserve(); } - // placement destruct. - a_ptr->~T(); - m_FreeList.push_front(a_ptr); - if (m_FreeList.size() == NumElementsInReserve) + else if (m_FreeList.empty()) { - m_Callbacks->OnEndUsingReserve(); + m_Callbacks->OnOutOfReserve(); + // Try again until the memory is avalable + return Allocate(); } } + // placement new, used to initalize the object + T * ret = new (m_FreeList.front()) T; + m_FreeList.pop_front(); + return ret; + } + + + virtual void Free(T * a_ptr) override + { + if (a_ptr == nullptr) + { + return; + } + // placement destruct. + a_ptr->~T(); + m_FreeList.push_front(a_ptr); + if (m_FreeList.size() == NumElementsInReserve) + { + m_Callbacks->OnEndUsingReserve(); + } + } - private: - std::list<void *> m_FreeList; - std::unique_ptr<typename cAllocationPool<T>::cStarvationCallbacks> m_Callbacks; +private: + std::list<void *> m_FreeList; + std::unique_ptr<typename cAllocationPool<T>::cStarvationCallbacks> m_Callbacks; }; diff --git a/src/Bindings/LuaWindow.h b/src/Bindings/LuaWindow.h index d4fc58660..60d4f5792 100644 --- a/src/Bindings/LuaWindow.h +++ b/src/Bindings/LuaWindow.h @@ -31,8 +31,7 @@ To overcome this, this object overloads the Destroy functions, which doesn't let delete the window, but rather leaves it dangling, with only Lua having the reference to it. Additionally, to forbid Lua from deleting this object while it is used by players, the manual bindings for cPlayer:OpenWindow check if the window is of this class, and if so, make a global Lua reference for this object. -This reference needs to be unreferenced in the Destroy() function. -*/ +This reference needs to be unreferenced in the Destroy() function. */ // tolua_begin class cLuaWindow : public cWindow @@ -43,44 +42,43 @@ class cLuaWindow : typedef cWindow super; public: - /// Create a window of the specified type, with a slot grid of a_SlotsX * a_SlotsY size + /** Create a window of the specified type, with a slot grid of a_SlotsX * a_SlotsY size */ cLuaWindow(cWindow::WindowType a_WindowType, int a_SlotsX, int a_SlotsY, const AString & a_Title); virtual ~cLuaWindow(); - /// Returns the internal representation of the contents that are manipulated by Lua + /** Returns the internal representation of the contents that are manipulated by Lua */ cItemGrid & GetContents(void) { return m_Contents; } // tolua_end /** Sets the plugin reference and the internal Lua object reference index - used for preventing Lua's GC to collect this class while the window is open - */ + used for preventing Lua's GC to collect this class while the window is open. */ void SetLuaRef(cPluginLua * a_Plugin, int a_LuaRef); - /// Returns true if SetLuaRef() has been called + /** Returns true if SetLuaRef() has been called */ bool IsLuaReferenced(void) const; - /// Sets the callback function (Lua reference) to call when the window is about to close + /** Sets the callback function (Lua reference) to call when the window is about to close */ void SetOnClosing(cPluginLua * a_Plugin, int a_FnRef); - /// Sets the callback function (Lua reference) to call when a slot is changed + /** Sets the callback function (Lua reference) to call when a slot is changed */ void SetOnSlotChanged(cPluginLua * a_Plugin, int a_FnRef); protected: - /// Contents of the non-inventory part + /** Contents of the non-inventory part */ cItemGrid m_Contents; - /// The plugin that has opened the window and owns the m_LuaRef + /** The plugin that has opened the window and owns the m_LuaRef */ cPluginLua * m_Plugin; - /// The Lua object reference, used for keeping the object alive as long as any player has the window open + /** The Lua object reference, used for keeping the object alive as long as any player has the window open */ int m_LuaRef; - /// The Lua reference for the callback to call when the window is closing for any player + /** The Lua reference for the callback to call when the window is closing for any player */ int m_OnClosingFnRef; - /// The Lua reference for the callback to call when a slot has changed + /** The Lua reference for the callback to call when a slot has changed */ int m_OnSlotChangedFnRef; // cWindow overrides: diff --git a/src/Bindings/ManualBindings.cpp b/src/Bindings/ManualBindings.cpp index e4420c39a..4260d33c7 100644 --- a/src/Bindings/ManualBindings.cpp +++ b/src/Bindings/ManualBindings.cpp @@ -1945,7 +1945,7 @@ tolua_lerror: -/// Provides interface between a Lua table of callbacks and the cBlockTracer::cCallbacks +/** Provides interface between a Lua table of callbacks and the cBlockTracer::cCallbacks */ class cLuaBlockTracerCallbacks : public cBlockTracer::cCallbacks { diff --git a/src/Bindings/Plugin.h b/src/Bindings/Plugin.h index 48ba6a77c..956e99dd9 100644 --- a/src/Bindings/Plugin.h +++ b/src/Bindings/Plugin.h @@ -42,7 +42,7 @@ public: // Called each tick virtual void Tick(float a_Dt) = 0; - /** Calls the specified hook with the params given. Returns the bool that the hook callback returns.*/ + /** Calls the specified hook with the params given. Returns the bool that the hook callback returns. */ virtual bool OnBlockSpread (cWorld & a_World, int a_BlockX, int a_BlockY, int a_BlockZ, eSpreadSource a_Source) = 0; virtual bool OnBlockToPickups (cWorld & a_World, cEntity * a_Digger, int a_BlockX, int a_BlockY, int a_BlockZ, BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta, cItems & a_Pickups) = 0; virtual bool OnChat (cPlayer & a_Player, AString & a_Message) = 0; diff --git a/src/BiomeDef.h b/src/BiomeDef.h index 32d3a5cfd..48726123c 100644 --- a/src/BiomeDef.h +++ b/src/BiomeDef.h @@ -151,7 +151,7 @@ extern bool IsBiomeVeryCold(EMCSBiome a_Biome); Doesn't report Very Cold biomes, use IsBiomeVeryCold() for those. */ extern bool IsBiomeCold(EMCSBiome a_Biome); -/** Returns the height when a biome when a biome starts snowing.*/ +/** Returns the height when a biome when a biome starts snowing. */ extern int GetSnowStartHeight(EMCSBiome a_Biome); // tolua_end diff --git a/src/BlockArea.cpp b/src/BlockArea.cpp index eb25d624d..761a7b355 100644 --- a/src/BlockArea.cpp +++ b/src/BlockArea.cpp @@ -26,8 +26,8 @@ typedef void (CombinatorFunc)(BLOCKTYPE & a_DstType, BLOCKTYPE a_SrcType, NIBBLETYPE & a_DstMeta, NIBBLETYPE a_SrcMeta); -// This wild construct allows us to pass a function argument and still have it inlined by the compiler :) -/// Merges two blocktypes and blockmetas of the specified sizes and offsets using the specified combinator function +/** Merges two blocktypes and blockmetas of the specified sizes and offsets using the specified combinator function +This wild construct allows us to pass a function argument and still have it inlined by the compiler. */ template <bool MetasValid, CombinatorFunc Combinator> void InternalMergeBlocks( BLOCKTYPE * a_DstTypes, const BLOCKTYPE * a_SrcTypes, @@ -73,7 +73,7 @@ void InternalMergeBlocks( -/// Combinator used for cBlockArea::msOverwrite merging +/** Combinator used for cBlockArea::msOverwrite merging */ template <bool MetaValid> void MergeCombinatorOverwrite(BLOCKTYPE & a_DstType, BLOCKTYPE a_SrcType, NIBBLETYPE & a_DstMeta, NIBBLETYPE a_SrcMeta) { @@ -88,7 +88,7 @@ void MergeCombinatorOverwrite(BLOCKTYPE & a_DstType, BLOCKTYPE a_SrcType, NIBBLE -/// Combinator used for cBlockArea::msFillAir merging +/** Combinator used for cBlockArea::msFillAir merging */ template <bool MetaValid> void MergeCombinatorFillAir(BLOCKTYPE & a_DstType, BLOCKTYPE a_SrcType, NIBBLETYPE & a_DstMeta, NIBBLETYPE a_SrcMeta) { @@ -107,7 +107,7 @@ void MergeCombinatorFillAir(BLOCKTYPE & a_DstType, BLOCKTYPE a_SrcType, NIBBLETY -/// Combinator used for cBlockArea::msImprint merging +/** Combinator used for cBlockArea::msImprint merging */ template <bool MetaValid> void MergeCombinatorImprint(BLOCKTYPE & a_DstType, BLOCKTYPE a_SrcType, NIBBLETYPE & a_DstMeta, NIBBLETYPE a_SrcMeta) { @@ -126,7 +126,7 @@ void MergeCombinatorImprint(BLOCKTYPE & a_DstType, BLOCKTYPE a_SrcType, NIBBLETY -/// Combinator used for cBlockArea::msLake merging +/** Combinator used for cBlockArea::msLake merging */ template <bool MetaValid> void MergeCombinatorLake(BLOCKTYPE & a_DstType, BLOCKTYPE a_SrcType, NIBBLETYPE & a_DstMeta, NIBBLETYPE a_SrcMeta) { diff --git a/src/BlockEntities/BlockEntity.h b/src/BlockEntities/BlockEntity.h index 785ee978a..f1c470ec3 100644 --- a/src/BlockEntities/BlockEntity.h +++ b/src/BlockEntities/BlockEntity.h @@ -63,9 +63,9 @@ public: m_World = a_World; } - /// Creates a new block entity for the specified block type - /// If a_World is valid, then the entity is created bound to that world - /// Returns nullptr for unknown block types + /** Creates a new block entity for the specified block type + If a_World is valid, then the entity is created bound to that world + Returns nullptr for unknown block types. */ static cBlockEntity * CreateByBlockType(BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta, int a_BlockX, int a_BlockY, int a_BlockZ, cWorld * a_World = nullptr); static const char * GetClassStatic(void) // Needed for ManualBindings's ForEach templates @@ -102,15 +102,14 @@ public: // tolua_end - /// Called when a player uses this entity; should open the UI window + /** Called when a player uses this entity; should open the UI window */ virtual void UsedBy( cPlayer * a_Player) = 0; /** Sends the packet defining the block entity to the client specified. - To send to all eligible clients, use cWorld::BroadcastBlockEntity() - */ + To send to all eligible clients, use cWorld::BroadcastBlockEntity() */ virtual void SendTo(cClientHandle & a_Client) = 0; - /// Ticks the entity; returns true if the chunk should be marked as dirty as a result of this ticking. By default does nothing. + /** Ticks the entity; returns true if the chunk should be marked as dirty as a result of this ticking. By default does nothing. */ virtual bool Tick(std::chrono::milliseconds a_Dt, cChunk & a_Chunk) { UNUSED(a_Dt); @@ -118,10 +117,10 @@ public: } protected: - /// Position in absolute block coordinates + /** Position in absolute block coordinates */ int m_PosX, m_PosY, m_PosZ; - /// Position relative to the chunk, used to speed up ticking + /** Position relative to the chunk, used to speed up ticking */ int m_RelX, m_RelZ; BLOCKTYPE m_BlockType; diff --git a/src/BlockEntities/BlockEntityWithItems.h b/src/BlockEntities/BlockEntityWithItems.h index 30a09bc02..3810f4f04 100644 --- a/src/BlockEntities/BlockEntityWithItems.h +++ b/src/BlockEntities/BlockEntityWithItems.h @@ -64,12 +64,12 @@ public: void SetSlot(int a_SlotNum, const cItem & a_Item) { m_Contents.SetSlot(a_SlotNum, a_Item); } void SetSlot(int a_X, int a_Y, const cItem & a_Item) { m_Contents.SetSlot(a_X, a_Y, a_Item); } - /// Returns the ItemGrid used for storing the contents + /** Returns the ItemGrid used for storing the contents */ cItemGrid & GetContents(void) { return m_Contents; } // tolua_end - /// Const version of the GetContents() function for C++ type-safety + /** Const version of the GetContents() function for C++ type-safety */ const cItemGrid & GetContents(void) const { return m_Contents; } protected: diff --git a/src/BlockEntities/CommandBlockEntity.h b/src/BlockEntities/CommandBlockEntity.h index c525ebc26..959a40681 100644 --- a/src/BlockEntities/CommandBlockEntity.h +++ b/src/BlockEntities/CommandBlockEntity.h @@ -30,7 +30,7 @@ public: BLOCKENTITY_PROTODEF(cCommandBlockEntity) - /// Creates a new empty command block entity + /** Creates a new empty command block entity */ cCommandBlockEntity(int a_X, int a_Y, int a_Z, cWorld * a_World); virtual bool Tick(std::chrono::milliseconds a_Dt, cChunk & a_Chunk) override; @@ -43,29 +43,29 @@ public: // tolua_begin - /// Sets the internal redstone power flag to "on" or "off", depending on the parameter. Calls Activate() if appropriate + /** Sets the internal redstone power flag to "on" or "off", depending on the parameter. Calls Activate() if appropriate */ virtual void SetRedstonePower(bool a_IsPowered) override; - /// Sets the command block to execute a command in the next tick + /** Sets the command block to execute a command in the next tick */ void Activate(void); - /// Sets the command + /** Sets the command */ void SetCommand(const AString & a_Cmd); - /// Retrieves stored command + /** Retrieves stored command */ const AString & GetCommand(void) const; - /// Retrieves the last line of output generated by the command block + /** Retrieves the last line of output generated by the command block */ const AString & GetLastOutput(void) const; - /// Retrieves the result (signal strength) of the last operation + /** Retrieves the result (signal strength) of the last operation */ NIBBLETYPE GetResult(void) const; // tolua_end private: - /// Executes the associated command + /** Executes the associated command */ void Execute(); bool m_ShouldExecute; diff --git a/src/BlockEntities/DropSpenserEntity.h b/src/BlockEntities/DropSpenserEntity.h index 83500addb..5cdb59b28 100644 --- a/src/BlockEntities/DropSpenserEntity.h +++ b/src/BlockEntities/DropSpenserEntity.h @@ -53,28 +53,28 @@ public: // tolua_begin - /// Modifies the block coords to match the dropspenser direction given (where the dropspensed pickups should materialize) + /** Modifies the block coords to match the dropspenser direction given (where the dropspensed pickups should materialize) */ void AddDropSpenserDir(int & a_BlockX, int & a_BlockY, int & a_BlockZ, NIBBLETYPE a_Direction); - /// Sets the dropspenser to dropspense an item in the next tick + /** Sets the dropspenser to dropspense an item in the next tick */ void Activate(void); // tolua_end - /// Sets the internal redstone power flag to "on" or "off", depending on the parameter. Calls Activate() if appropriate + /** Sets the internal redstone power flag to "on" or "off", depending on the parameter. Calls Activate() if appropriate */ virtual void SetRedstonePower(bool a_IsPowered) override; protected: bool m_ShouldDropSpense; ///< If true, the dropspenser will dropspense an item in the next tick bool m_IsPowered; ///< Set to true when the dropspenser receives redstone power. - /// Does the actual work on dropspensing an item. Chooses the slot, calls DropSpenseFromSlot() and handles smoke / sound effects + /** Does the actual work on dropspensing an item. Chooses the slot, calls DropSpenseFromSlot() and handles smoke / sound effects */ void DropSpense(cChunk & a_Chunk); - /// Override this function to provide the specific behavior for item dropspensing (drop / shoot / pour / ...) + /** Override this function to provide the specific behavior for item dropspensing (drop / shoot / pour / ...) */ virtual void DropSpenseFromSlot(cChunk & a_Chunk, int a_SlotNum) = 0; - /// Helper function, drops one item from the specified slot (like a dropper) + /** Helper function, drops one item from the specified slot (like a dropper) */ void DropFromSlot(cChunk & a_Chunk, int a_SlotNum); } ; // tolua_export diff --git a/src/BlockEntities/DropperEntity.h b/src/BlockEntities/DropperEntity.h index c638dafa8..1ca396eb7 100644 --- a/src/BlockEntities/DropperEntity.h +++ b/src/BlockEntities/DropperEntity.h @@ -27,7 +27,7 @@ public: BLOCKENTITY_PROTODEF(cDropperEntity) - /// Constructor used for normal operation + /** Constructor used for normal operation */ cDropperEntity(int a_BlockX, int a_BlockY, int a_BlockZ, cWorld * a_World); protected: @@ -36,8 +36,7 @@ protected: /** Takes an item from slot a_SlotNum and puts it into the container in front of the dropper. Called when there's a container directly in front of the dropper, - so the dropper should store items there, rather than dropping. - */ + so the dropper should store items there, rather than dropping. */ void PutIntoContainer(cChunk & a_Chunk, int a_SlotNum, BLOCKTYPE a_ContainerBlock, int a_ContainerX, int a_ContainerY, int a_ContainerZ); } ; // tolua_export diff --git a/src/BlockEntities/HopperEntity.cpp b/src/BlockEntities/HopperEntity.cpp index 662212c4d..33ca974d5 100644 --- a/src/BlockEntities/HopperEntity.cpp +++ b/src/BlockEntities/HopperEntity.cpp @@ -28,9 +28,6 @@ cHopperEntity::cHopperEntity(int a_BlockX, int a_BlockY, int a_BlockZ, cWorld * -/** Returns the block coords of the block receiving the output items, based on the meta -Returns false if unattached -*/ bool cHopperEntity::GetOutputBlockPos(NIBBLETYPE a_BlockMeta, int & a_OutputX, int & a_OutputY, int & a_OutputZ) { a_OutputX = m_PosX; @@ -115,7 +112,6 @@ void cHopperEntity::UsedBy(cPlayer * a_Player) -/// Opens a new window UI for this hopper void cHopperEntity::OpenNewWindow(void) { OpenWindow(new cHopperWindow(m_PosX, m_PosY, m_PosZ, this)); @@ -125,7 +121,6 @@ void cHopperEntity::OpenNewWindow(void) -/// Moves items from the container above it into this hopper. Returns true if the contents have changed. bool cHopperEntity::MoveItemsIn(cChunk & a_Chunk, Int64 a_CurrentTick) { if (m_PosY >= cChunkDef::Height) @@ -180,7 +175,6 @@ bool cHopperEntity::MoveItemsIn(cChunk & a_Chunk, Int64 a_CurrentTick) -/// Moves pickups from above this hopper into it. Returns true if the contents have changed. bool cHopperEntity::MovePickupsIn(cChunk & a_Chunk, Int64 a_CurrentTick) { UNUSED(a_CurrentTick); @@ -273,7 +267,6 @@ bool cHopperEntity::MovePickupsIn(cChunk & a_Chunk, Int64 a_CurrentTick) -/// Moves items out from this hopper into the destination. Returns true if the contents have changed. bool cHopperEntity::MoveItemsOut(cChunk & a_Chunk, Int64 a_CurrentTick) { if (a_CurrentTick - m_LastMoveItemsOutTick < TICKS_PER_TRANSFER) @@ -352,7 +345,6 @@ bool cHopperEntity::MoveItemsOut(cChunk & a_Chunk, Int64 a_CurrentTick) -/// Moves items from a chest (dblchest) above the hopper into this hopper. Returns true if contents have changed. bool cHopperEntity::MoveItemsFromChest(cChunk & a_Chunk) { cChestEntity * MainChest = static_cast<cChestEntity *>(a_Chunk.GetBlockEntity(m_PosX, m_PosY + 1, m_PosZ)); @@ -419,7 +411,6 @@ bool cHopperEntity::MoveItemsFromChest(cChunk & a_Chunk) -/// Moves items from a furnace above the hopper into this hopper. Returns true if contents have changed. bool cHopperEntity::MoveItemsFromFurnace(cChunk & a_Chunk) { cFurnaceEntity * Furnace = static_cast<cFurnaceEntity *>(a_Chunk.GetBlockEntity(m_PosX, m_PosY + 1, m_PosZ)); @@ -479,7 +470,6 @@ bool cHopperEntity::MoveItemsFromGrid(cBlockEntityWithItems & a_Entity) -/// Moves one piece of the specified a_Entity's slot itemstack into this hopper. Returns true if contents have changed. Doesn't change the itemstack. bool cHopperEntity::MoveItemsFromSlot(cBlockEntityWithItems & a_Entity, int a_SlotNum) { cItem One(a_Entity.GetSlot(a_SlotNum).CopyOne()); @@ -521,7 +511,6 @@ bool cHopperEntity::MoveItemsFromSlot(cBlockEntityWithItems & a_Entity, int a_Sl -/// Moves items to the chest at the specified coords. Returns true if contents have changed bool cHopperEntity::MoveItemsToChest(cChunk & a_Chunk, int a_BlockX, int a_BlockY, int a_BlockZ) { // Try the chest directly connected to the hopper: @@ -589,7 +578,6 @@ bool cHopperEntity::MoveItemsToChest(cChunk & a_Chunk, int a_BlockX, int a_Block -/// Moves items to the furnace at the specified coords. Returns true if contents have changed bool cHopperEntity::MoveItemsToFurnace(cChunk & a_Chunk, int a_BlockX, int a_BlockY, int a_BlockZ, NIBBLETYPE a_HopperMeta) { cFurnaceEntity * Furnace = static_cast<cFurnaceEntity *>(a_Chunk.GetBlockEntity(a_BlockX, a_BlockY, a_BlockZ)); @@ -674,3 +662,7 @@ bool cHopperEntity::MoveItemsToSlot(cBlockEntityWithItems & a_Entity, int a_DstS return false; } } + + + + diff --git a/src/BlockEntities/HopperEntity.h b/src/BlockEntities/HopperEntity.h index 16d4cb6f9..ba0fe28f3 100644 --- a/src/BlockEntities/HopperEntity.h +++ b/src/BlockEntities/HopperEntity.h @@ -33,13 +33,12 @@ public: BLOCKENTITY_PROTODEF(cHopperEntity) - /// Constructor used for normal operation + /** Constructor used for normal operation */ cHopperEntity(int a_BlockX, int a_BlockY, int a_BlockZ, cWorld * a_World); /** Returns the block coords of the block receiving the output items, based on the meta Returns false if unattached. - Exported in ManualBindings.cpp - */ + Exported in ManualBindings.cpp. */ bool GetOutputBlockPos(NIBBLETYPE a_BlockMeta, int & a_OutputX, int & a_OutputY, int & a_OutputZ); protected: @@ -52,40 +51,40 @@ protected: virtual void SendTo(cClientHandle & a_Client) override; virtual void UsedBy(cPlayer * a_Player) override; - /// Opens a new chest window for this chest. Scans for neighbors to open a double chest window, if appropriate. + /** Opens a new chest window for this chest. Scans for neighbors to open a double chest window, if appropriate. */ void OpenNewWindow(void); - /// Moves items from the container above it into this hopper. Returns true if the contents have changed. + /** Moves items from the container above it into this hopper. Returns true if the contents have changed. */ bool MoveItemsIn(cChunk & a_Chunk, Int64 a_CurrentTick); - /// Moves pickups from above this hopper into it. Returns true if the contents have changed. + /** Moves pickups from above this hopper into it. Returns true if the contents have changed. */ bool MovePickupsIn(cChunk & a_Chunk, Int64 a_CurrentTick); - /// Moves items out from this hopper into the destination. Returns true if the contents have changed. + /** Moves items out from this hopper into the destination. Returns true if the contents have changed. */ bool MoveItemsOut(cChunk & a_Chunk, Int64 a_CurrentTick); - /// Moves items from a chest (dblchest) above the hopper into this hopper. Returns true if contents have changed. + /** Moves items from a chest (dblchest) above the hopper into this hopper. Returns true if contents have changed. */ bool MoveItemsFromChest(cChunk & a_Chunk); - /// Moves items from a furnace above the hopper into this hopper. Returns true if contents have changed. + /** Moves items from a furnace above the hopper into this hopper. Returns true if contents have changed. */ bool MoveItemsFromFurnace(cChunk & a_Chunk); - /// Moves items from the specified a_Entity's Contents into this hopper. Returns true if contents have changed. + /** Moves items from the specified a_Entity's Contents into this hopper. Returns true if contents have changed. */ bool MoveItemsFromGrid(cBlockEntityWithItems & a_Entity); - /// Moves one piece from the specified itemstack into this hopper. Returns true if contents have changed. Doesn't change the itemstack. + /** Moves one piece from the specified itemstack into this hopper. Returns true if contents have changed. Doesn't change the itemstack. */ bool MoveItemsFromSlot(cBlockEntityWithItems & a_Entity, int a_SrcSlotNum); - /// Moves items to the chest at the specified coords. Returns true if contents have changed + /** Moves items to the chest at the specified coords. Returns true if contents have changed */ bool MoveItemsToChest(cChunk & a_Chunk, int a_BlockX, int a_BlockY, int a_BlockZ); - /// Moves items to the furnace at the specified coords. Returns true if contents have changed + /** Moves items to the furnace at the specified coords. Returns true if contents have changed */ bool MoveItemsToFurnace(cChunk & a_Chunk, int a_BlockX, int a_BlockY, int a_BlockZ, NIBBLETYPE a_HopperMeta); - /// Moves items to the specified ItemGrid. Returns true if contents have changed + /** Moves items to the specified ItemGrid. Returns true if contents have changed */ bool MoveItemsToGrid(cBlockEntityWithItems & a_Entity); - /// Moves one piece to the specified entity's contents' slot. Returns true if contents have changed. + /** Moves one piece to the specified entity's contents' slot. Returns true if contents have changed. */ bool MoveItemsToSlot(cBlockEntityWithItems & a_Entity, int a_DstSlotNum); } ; // tolua_export diff --git a/src/BlockEntities/NoteEntity.h b/src/BlockEntities/NoteEntity.h index f350ef4c4..eb2e23fa2 100644 --- a/src/BlockEntities/NoteEntity.h +++ b/src/BlockEntities/NoteEntity.h @@ -36,7 +36,7 @@ public: BLOCKENTITY_PROTODEF(cNoteEntity) - /// Creates a new note entity. a_World may be nullptr + /** Creates a new note entity. a_World may be nullptr */ cNoteEntity(int a_X, int a_Y, int a_Z, cWorld * a_World); virtual ~cNoteEntity() {} diff --git a/src/BlockEntities/SignEntity.h b/src/BlockEntities/SignEntity.h index 9480537ed..373f5e294 100644 --- a/src/BlockEntities/SignEntity.h +++ b/src/BlockEntities/SignEntity.h @@ -27,18 +27,18 @@ public: BLOCKENTITY_PROTODEF(cSignEntity) - /// Creates a new empty sign entity at the specified block coords and block type (wall or standing). a_World may be nullptr + /** Creates a new empty sign entity at the specified block coords and block type (wall or standing). a_World may be nullptr */ cSignEntity(BLOCKTYPE a_BlockType, int a_X, int a_Y, int a_Z, cWorld * a_World); // tolua_begin - /// Sets all the sign's lines + /** Sets all the sign's lines */ void SetLines(const AString & a_Line1, const AString & a_Line2, const AString & a_Line3, const AString & a_Line4); - /// Sets individual line (zero-based index) + /** Sets individual line (zero-based index) */ void SetLine(int a_Index, const AString & a_Line); - /// Retrieves individual line (zero-based index) + /** Retrieves individual line (zero-based index) */ AString GetLine(int a_Index) const; // tolua_end diff --git a/src/BlockID.cpp b/src/BlockID.cpp index c598df0aa..b60ac0b4a 100644 --- a/src/BlockID.cpp +++ b/src/BlockID.cpp @@ -364,7 +364,7 @@ AString DimensionToString(eDimension a_Dimension) -/// Translates damage type constant to a string representation (built-in). +/** Translates damage type constant to a string representation (built-in) */ AString DamageTypeToString(eDamageType a_DamageType) { // Make sure to keep this alpha-sorted. @@ -399,7 +399,8 @@ AString DamageTypeToString(eDamageType a_DamageType) -/// Translates a damage type string to damage type. Takes either a number or a damage type alias (built-in). Returns -1 on failure +/** Translates a damage type string to damage type. Takes either a number or a damage type alias (built-in). +Returns -1 on failure. */ eDamageType StringToDamageType(const AString & a_DamageTypeString) { // First try decoding as a number: diff --git a/src/BlockID.h b/src/BlockID.h index 5de57a33c..b7d844057 100644 --- a/src/BlockID.h +++ b/src/BlockID.h @@ -982,7 +982,7 @@ enum -/// Dimension of a world +/** Dimension of a world */ enum eDimension { dimNether = -1, @@ -995,7 +995,7 @@ enum eDimension -/// Damage type, used in the TakeDamageInfo structure and related functions +/** Damage type, used in the TakeDamageInfo structure and related functions */ enum eDamageType { // Canonical names for the types (as documented in the plugin wiki): @@ -1099,36 +1099,35 @@ class cIniFile; // tolua_begin -/// Translates a blocktype string into blocktype. Takes either a number or an items.ini alias as input. Returns -1 on failure. +/** Translates a blocktype string into blocktype. Takes either a number or an items.ini alias as input. Returns -1 on failure. */ extern int BlockStringToType(const AString & a_BlockTypeString); -/// Translates an itemtype string into an item. Takes either a number, number^number, number:number or an items.ini alias as input. Returns true if successful. +/** Translates an itemtype string into an item. Takes either a number, number^number, number:number or an items.ini alias as input. Returns true if successful. */ extern bool StringToItem(const AString & a_ItemTypeString, cItem & a_Item); -/// Translates a full item into a string. If the ItemType is not recognized, the ItemType number is output into the string. +/** Translates a full item into a string. If the ItemType is not recognized, the ItemType number is output into the string. */ extern AString ItemToString(const cItem & a_Item); -/// Translates itemtype into a string. If the type is not recognized, the itemtype number is output into the string. +/** Translates itemtype into a string. If the type is not recognized, the itemtype number is output into the string. */ extern AString ItemTypeToString(short a_ItemType); -/// Translates a full item into a fully-specified string (including meta and count). If the ItemType is not recognized, the ItemType number is output into the string. +/** Translates a full item into a fully-specified string (including meta and count). If the ItemType is not recognized, the ItemType number is output into the string. */ extern AString ItemToFullString(const cItem & a_Item); -/// Translates a dimension string to dimension enum. Takes either a number or a dimension alias (built-in). Returns dimOverworld on failure +/** Translates a dimension string to dimension enum. Takes either a number or a dimension alias (built-in). Returns dimOverworld on failure */ extern eDimension StringToDimension(const AString & a_DimensionString); /** Translates a dimension enum to dimension string. -Takes an eDimension enum value and returns "Overworld" on failure -*/ +Takes an eDimension enum value and returns "Overworld" on failure. */ extern AString DimensionToString(eDimension a_Dimension); -/// Translates damage type constant to a string representation (built-in). +/** Translates damage type constant to a string representation (built-in). */ extern AString DamageTypeToString(eDamageType a_DamageType); -/// Translates a damage type string to damage type. Takes either a number or a damage type alias (built-in). Returns -1 on failure +/** Translates a damage type string to damage type. Takes either a number or a damage type alias (built-in). Returns -1 on failure */ extern eDamageType StringToDamageType(const AString & a_DamageString); -/// Returns a cItem representing the item described in an IniFile's value; if the value doesn't exist, creates it with the provided default. +/** Returns a cItem representing the item described in an IniFile's value; if the value doesn't exist, creates it with the provided default. */ extern cItem GetIniItemSet(cIniFile & a_IniFile, const char * a_Section, const char * a_Key, const char * a_Default); // tolua_end diff --git a/src/BlockTracer.h b/src/BlockTracer.h index c569b4ec6..ebc0668ee 100644 --- a/src/BlockTracer.h +++ b/src/BlockTracer.h @@ -88,7 +88,7 @@ public: } ; - /// Creates the BlockTracer parent with the specified callbacks + /** Creates the BlockTracer parent with the specified callbacks */ cBlockTracer(cWorld & a_World, cCallbacks & a_Callbacks) : m_World(&a_World), m_Callbacks(&a_Callbacks) @@ -96,7 +96,7 @@ public: } - /// Sets new world, returns the old one. Note that both need to be valid + /** Sets new world, returns the old one. Note that both need to be valid */ cWorld & SetWorld(cWorld & a_World) { cWorld & Old = *m_World; @@ -105,7 +105,7 @@ public: } - /// Sets new callbacks, returns the old ones. Note that both need to be valid + /** Sets new callbacks, returns the old ones. Note that both need to be valid */ cCallbacks & SetCallbacks(cCallbacks & a_NewCallbacks) { cCallbacks & Old = *m_Callbacks; @@ -114,10 +114,10 @@ public: } protected: - /// The world upon which to operate + /** The world upon which to operate */ cWorld * m_World; - /// The callback to use for reporting + /** The callback to use for reporting */ cCallbacks * m_Callbacks; } ; diff --git a/src/Blocks/BlockHandler.h b/src/Blocks/BlockHandler.h index 4a484dfad..c2a9e1769 100644 --- a/src/Blocks/BlockHandler.h +++ b/src/Blocks/BlockHandler.h @@ -26,15 +26,14 @@ public: virtual ~cBlockHandler() {} - /// Called when the block gets ticked either by a random tick or by a queued tick. - /// Note that the coords are chunk-relative! + /** Called when the block gets ticked either by a random tick or by a queued tick. + Note that the coords are chunk-relative! */ virtual void OnUpdate(cChunkInterface & cChunkInterface, cWorldInterface & a_WorldInterface, cBlockPluginInterface & a_BlockPluginInterface, cChunk & a_Chunk, int a_RelX, int a_RelY, int a_RelZ); /** Called before a block is placed into a world. The handler should return true to allow placement, false to refuse. Also, the handler should set a_BlockType and a_BlockMeta to correct values for the newly placed block. - Called by cItemHandler::GetPlacementBlockTypeMeta() if the item is a block - */ + Called by cItemHandler::GetPlacementBlockTypeMeta() if the item is a block */ virtual bool GetPlacementBlockTypeMeta( cChunkInterface & a_ChunkInterface, cPlayer * a_Player, int a_BlockX, int a_BlockY, int a_BlockZ, eBlockFace a_BlockFace, @@ -50,10 +49,10 @@ public: cChunkInterface & a_ChunkInterface, cWorldInterface & a_WorldInterface, cPlayer * a_Player, const sSetBlock & a_BlockChange ); - /// Called before the player has destroyed a block + /** Called before the player has destroyed a block */ virtual void OnDestroyedByPlayer(cChunkInterface & a_ChunkInterface, cWorldInterface & a_WorldInterface, cPlayer * a_Player, int a_BlockX, int a_BlockY, int a_BlockZ); - /// Called before a block gets destroyed / replaced with air + /** Called before a block gets destroyed / replaced with air */ virtual void OnDestroyed(cChunkInterface & a_ChunkInterface, cWorldInterface & a_WorldInterface, int a_BlockX, int a_BlockY, int a_BlockZ); /** Called when a direct neighbor of this block has been changed (The position is the block's own position, not the changing neighbor's position) @@ -71,13 +70,13 @@ public: /** Called when the player starts digging the block. */ virtual void OnDigging(cChunkInterface & cChunkInterface, cWorldInterface & a_WorldInterface, cPlayer * a_Player, int a_BlockX, int a_BlockY, int a_BlockZ) {} - /// Called if the user right clicks the block and the block is useable + /** Called if the user right clicks the block and the block is useable */ virtual void OnUse(cChunkInterface & a_ChunkInterface, cWorldInterface & a_WorldInterface, cPlayer * a_Player, int a_BlockX, int a_BlockY, int a_BlockZ, eBlockFace a_BlockFace, int a_CursorX, int a_CursorY, int a_CursorZ) {} /** Called when a right click to this block is cancelled */ virtual void OnCancelRightClick(cChunkInterface & a_ChunkInterface, cWorldInterface & a_WorldInterface, cPlayer * a_Player, int a_BlockX, int a_BlockY, int a_BlockZ, eBlockFace a_BlockFace) {} - /// <summary>Called when the item is mined to convert it into pickups. Pickups may specify multiple items. Appends items to a_Pickups, preserves its original contents</summary> + /** Called when the item is mined to convert it into pickups. Pickups may specify multiple items. Appends items to a_Pickups, preserves its original contents */ virtual void ConvertToPickups(cItems & a_Pickups, NIBBLETYPE a_BlockMeta); /** Handles the dropping, but not destruction, of a block based on what ConvertTo(Verbatim)Pickups() returns, including the spawning of pickups and alertion of plugins @@ -87,7 +86,7 @@ public: */ virtual void DropBlock(cChunkInterface & a_ChunkInterface, cWorldInterface & a_WorldInterface, cBlockPluginInterface & a_BlockPluginInterface, cEntity * a_Digger, int a_BlockX, int a_BlockY, int a_BlockZ, bool a_CanDrop = true); - /// Checks if the block can stay at the specified relative coords in the chunk + /** Checks if the block can stay at the specified relative coords in the chunk */ virtual bool CanBeAt(cChunkInterface & a_ChunkInterface, int a_RelX, int a_RelY, int a_RelZ, const cChunk & a_Chunk); /** Checks if the block can be placed at this point. @@ -130,24 +129,24 @@ public: /** Returns the base colour ID of the block, as will be represented on a map, as per documentation: http://minecraft.gamepedia.com/Map_item_format */ virtual ColourID GetMapBaseColourID(NIBBLETYPE a_Meta); - /// <summary>Rotates a given block meta counter-clockwise. Default: no change</summary> - /// <returns>Block meta following rotation</returns> + /** Rotates a given block meta counter-clockwise. Default: no change + Returns block meta following rotation */ virtual NIBBLETYPE MetaRotateCCW(NIBBLETYPE a_Meta) { return a_Meta; } - /// <summary>Rotates a given block meta clockwise. Default: no change</summary> - /// <returns>Block meta following rotation</returns> + /** Rotates a given block meta clockwise. Default: no change + Returns block meta following rotation */ virtual NIBBLETYPE MetaRotateCW(NIBBLETYPE a_Meta) { return a_Meta; } - /// <summary>Mirros a given block meta around the XY plane. Default: no change</summary> - /// <returns>Block meta following mirroring</returns> + /** Mirrors a given block meta around the XY plane. Default: no change + Returns block meta following rotation */ virtual NIBBLETYPE MetaMirrorXY(NIBBLETYPE a_Meta) { return a_Meta; } - /// <summary>Mirros a given block meta around the XZ plane. Default: no change</summary> - /// <returns>Block meta following mirroring</returns> + /** Mirros a given block meta around the XZ plane. Default: no change + Returns block meta following rotation */ virtual NIBBLETYPE MetaMirrorXZ(NIBBLETYPE a_Meta) { return a_Meta; } - /// <summary>Mirros a given block meta around the YZ plane. Default: no change</summary> - /// <returns>Block meta following mirroring</returns> + /** Mirros a given block meta around the YZ plane. Default: no change + Returns block meta following rotation */ virtual NIBBLETYPE MetaMirrorYZ(NIBBLETYPE a_Meta) { return a_Meta; } protected: diff --git a/src/Blocks/BlockPiston.h b/src/Blocks/BlockPiston.h index f915f0a8d..56f7f9951 100644 --- a/src/Blocks/BlockPiston.h +++ b/src/Blocks/BlockPiston.h @@ -90,13 +90,13 @@ public: private: - /// Returns true if the piston (specified by blocktype) is a sticky piston + /** Returns true if the piston (specified by blocktype) is a sticky piston */ static inline bool IsSticky(BLOCKTYPE a_BlockType) { return (a_BlockType == E_BLOCK_STICKY_PISTON); } - /// Returns true if the piston (with the specified meta) is extended + /** Returns true if the piston (with the specified meta) is extended */ static inline bool IsExtended(NIBBLETYPE a_PistonMeta) { return ((a_PistonMeta & 0x8) != 0x0); } - /// Returns true if the specified block can be pushed by a piston (and left intact) + /** Returns true if the specified block can be pushed by a piston (and left intact) */ static inline bool CanPush(BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta) { switch (a_BlockType) @@ -141,7 +141,7 @@ private: return true; } - /// Returns true if the specified block can be pulled by a sticky piston + /** Returns true if the specified block can be pulled by a sticky piston */ static inline bool CanPull(BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta) { if (cBlockInfo::IsPistonBreakable(a_BlockType)) @@ -152,7 +152,7 @@ private: return CanPush(a_BlockType, a_BlockMeta); } - /// Returns how many blocks the piston has to push (where the first free space is); < 0 when unpushable + /** Returns how many blocks the piston has to push (where the first free space is); < 0 when unpushable */ static int FirstPassthroughBlock(int a_PistonX, int a_PistonY, int a_PistonZ, NIBBLETYPE a_PistonMeta, cWorld * a_World); } ; diff --git a/src/BoundingBox.h b/src/BoundingBox.h index 8ea758ac7..1f9d0ebee 100644 --- a/src/BoundingBox.h +++ b/src/BoundingBox.h @@ -20,8 +20,7 @@ /** Represents two sets of coords, minimum and maximum for each direction. All the coords within those limits (inclusive the edges) are considered "inside" the box. For intersection purposes, though, if the intersection is "sharp" in any coord (i. e. zero volume), -the boxes are considered non-intersecting. -*/ +the boxes are considered non-intersecting. */ class cBoundingBox { public: @@ -30,54 +29,52 @@ public: cBoundingBox(const Vector3d & a_Pos, double a_Radius, double a_Height); cBoundingBox(const cBoundingBox & a_Orig); - /// Moves the entire boundingbox by the specified offset + /** Moves the entire boundingbox by the specified offset */ void Move(double a_OffX, double a_OffY, double a_OffZ); - /// Moves the entire boundingbox by the specified offset + /** Moves the entire boundingbox by the specified offset */ void Move(const Vector3d & a_Off); - /// Expands the bounding box by the specified amount in each direction (so the box becomes larger by 2 * Expand in each direction) + /** Expands the bounding box by the specified amount in each direction (so the box becomes larger by 2 * Expand in each direction) */ void Expand(double a_ExpandX, double a_ExpandY, double a_ExpandZ); - /// Returns true if the two bounding boxes intersect + /** Returns true if the two bounding boxes intersect */ bool DoesIntersect(const cBoundingBox & a_Other); - /// Returns the union of the two bounding boxes + /** Returns the union of the two bounding boxes */ cBoundingBox Union(const cBoundingBox & a_Other); - /// Returns true if the point is inside the bounding box + /** Returns true if the point is inside the bounding box */ bool IsInside(const Vector3d & a_Point); - /// Returns true if the point is inside the bounding box + /** Returns true if the point is inside the bounding box */ bool IsInside(double a_X, double a_Y, double a_Z); - /// Returns true if a_Other is inside this bounding box + /** Returns true if a_Other is inside this bounding box */ bool IsInside(cBoundingBox & a_Other); - /// Returns true if a boundingbox specified by a_Min and a_Max is inside this bounding box + /** Returns true if a boundingbox specified by a_Min and a_Max is inside this bounding box */ bool IsInside(const Vector3d & a_Min, const Vector3d & a_Max); - /// Returns true if the specified point is inside the bounding box specified by its min / max corners + /** Returns true if the specified point is inside the bounding box specified by its min / max corners */ static bool IsInside(const Vector3d & a_Min, const Vector3d & a_Max, const Vector3d & a_Point); - /// Returns true if the specified point is inside the bounding box specified by its min / max corners + /** Returns true if the specified point is inside the bounding box specified by its min / max corners */ static bool IsInside(const Vector3d & a_Min, const Vector3d & a_Max, double a_X, double a_Y, double a_Z); /** Returns true if this bounding box is intersected by the line specified by its two points Also calculates the distance along the line in which the intersection occurs (0 .. 1) - Only forward collisions (a_LineCoeff >= 0) are returned. - */ + Only forward collisions (a_LineCoeff >= 0) are returned. */ bool CalcLineIntersection(const Vector3d & a_Line1, const Vector3d & a_Line2, double & a_LineCoeff, eBlockFace & a_Face); /** Returns true if the specified bounding box is intersected by the line specified by its two points Also calculates the distance along the line in which the intersection occurs (0 .. 1) and the face hit (BLOCK_FACE_ constants) - Only forward collisions (a_LineCoeff >= 0) are returned. - */ + Only forward collisions (a_LineCoeff >= 0) are returned. */ static bool CalcLineIntersection(const Vector3d & a_Min, const Vector3d & a_Max, const Vector3d & a_Line1, const Vector3d & a_Line2, double & a_LineCoeff, eBlockFace & a_Face); // tolua_end - /// Calculates the intersection of the two bounding boxes; returns true if nonempty + /** Calculates the intersection of the two bounding boxes; returns true if nonempty */ bool Intersect(const cBoundingBox & a_Other, cBoundingBox & a_Intersection); double GetMinX(void) const { return m_Min.x; } diff --git a/src/ByteBuffer.cpp b/src/ByteBuffer.cpp index 7557a80db..7088b55f3 100644 --- a/src/ByteBuffer.cpp +++ b/src/ByteBuffer.cpp @@ -262,7 +262,6 @@ size_t cByteBuffer::GetFreeSpace(void) const -/// Returns the number of bytes that are currently in the ringbuffer. Note GetReadableBytes() size_t cByteBuffer::GetUsedSpace(void) const { CHECK_THREAD @@ -276,7 +275,6 @@ size_t cByteBuffer::GetUsedSpace(void) const -/// Returns the number of bytes that are currently available for reading (may be less than UsedSpace due to some data having been read already) size_t cByteBuffer::GetReadableSpace(void) const { CHECK_THREAD diff --git a/src/CheckBasicStyle.lua b/src/CheckBasicStyle.lua index fa20f18f7..9521534a8 100755 --- a/src/CheckBasicStyle.lua +++ b/src/CheckBasicStyle.lua @@ -127,6 +127,18 @@ local g_ViolationPatterns = -- Check that all "//"-style comments have at least one spaces after: {"%s//[^%s/*<]", "Needs a space after a \"//\"-style comment"}, + -- Check that doxy-comments are used only in the double-asterisk form: + {"/// ", "Use doxycomments in the form /** Comment */"}, + + -- Check that /* */ comments have whitespace around the insides: + {"%*%*/", "Wrong comment termination, use */"}, + {"/%*[^%s*/\"]", "Needs a space after /*"}, -- Need to take care of the special "//*/" comment ends + {"/%*%*[^%s*<]", "Needs a space after /**"}, + {"[^%s/*]%*/", "Needs a space before */"}, + + -- Check against MS XML doxycomments: + {"/%*%* <", "Remove the MS XML markers from comment"}, + -- Check that all commas have spaces after them and not in front of them: {" ,", "Extra space before a \",\""}, {",[^%s\"%%\']", "Needs a space after a \",\""}, -- Report all except >> "," << needed for splitting and >>,%s<< needed for formatting diff --git a/src/Chunk.cpp b/src/Chunk.cpp index e6d1d665e..ca7173262 100644 --- a/src/Chunk.cpp +++ b/src/Chunk.cpp @@ -442,7 +442,6 @@ void cChunk::WriteBlockArea(cBlockArea & a_Area, int a_MinBlockX, int a_MinBlock -/// Returns true if there is a block entity at the coords specified bool cChunk::HasBlockEntityAt(int a_BlockX, int a_BlockY, int a_BlockZ) { for (cBlockEntityList::iterator itr = m_BlockEntities.begin(); itr != m_BlockEntities.end(); ++itr) diff --git a/src/ChunkDataCallback.h b/src/ChunkDataCallback.h index 804299816..bc5be18d8 100644 --- a/src/ChunkDataCallback.h +++ b/src/ChunkDataCallback.h @@ -17,8 +17,7 @@ /** Interface class used for getting data out of a chunk using the GetAllData() function. Implementation must use the pointers immediately and NOT store any of them for later use -The virtual methods are called in the same order as they're declared here. -*/ +The virtual methods are called in the same order as they're declared here. */ class cChunkDataCallback abstract { public: @@ -27,26 +26,25 @@ public: /** Called before any other callbacks to inform of the current coords (only in processes where multiple chunks can be processed, such as cWorld::ForEachChunkInRect()). - If false is returned, the chunk is skipped. - */ + If false is returned, the chunk is skipped. */ virtual bool Coords(int a_ChunkX, int a_ChunkZ) { UNUSED(a_ChunkX); UNUSED(a_ChunkZ); return true; } - /// Called once to provide heightmap data + /** Called once to provide heightmap data */ virtual void HeightMap(const cChunkDef::HeightMap * a_HeightMap) { UNUSED(a_HeightMap); } - /// Called once to provide biome data + /** Called once to provide biome data */ virtual void BiomeData(const cChunkDef::BiomeMap * a_BiomeMap) { UNUSED(a_BiomeMap); } - /// Called once to let know if the chunk lighting is valid. Return value is ignored + /** Called once to let know if the chunk lighting is valid. Return value is ignored */ virtual void LightIsValid(bool a_IsLightValid) { UNUSED(a_IsLightValid); } - /// Called once to export block info + /** Called once to export block info */ virtual void ChunkData(const cChunkData & a_Buffer) { UNUSED(a_Buffer); } - /// Called for each entity in the chunk + /** Called for each entity in the chunk */ virtual void Entity(cEntity * a_Entity) { UNUSED(a_Entity); } - /// Called for each blockentity in the chunk + /** Called for each blockentity in the chunk */ virtual void BlockEntity(cBlockEntity * a_Entity) { UNUSED(a_Entity); } } ; @@ -54,8 +52,7 @@ public: -/** A simple implementation of the cChunkDataCallback interface that collects all block data into a buffer -*/ +/** A simple implementation of the cChunkDataCallback interface that collects all block data into a buffer */ class cChunkDataCollector : public cChunkDataCallback { @@ -75,8 +72,7 @@ protected: -/** A simple implementation of the cChunkDataCallback interface that collects all block data into a single buffer -*/ +/** A simple implementation of the cChunkDataCallback interface that collects all block data into a single buffer */ class cChunkDataArrayCollector : public cChunkDataCallback { diff --git a/src/ChunkDef.h b/src/ChunkDef.h index 57c4e6918..7af0ef630 100644 --- a/src/ChunkDef.h +++ b/src/ChunkDef.h @@ -39,13 +39,13 @@ typedef std::list<cBlockEntity *> cBlockEntityList; // tolua_begin -/// The datatype used by blockdata +/** The datatype used by blockdata */ typedef unsigned char BLOCKTYPE; -/// The datatype used by nibbledata (meta, light, skylight) +/** The datatype used by nibbledata (meta, light, skylight) */ typedef unsigned char NIBBLETYPE; -/// The type used by the heightmap +/** The type used by the heightmap */ typedef unsigned char HEIGHTTYPE; // tolua_end @@ -53,7 +53,7 @@ typedef unsigned char HEIGHTTYPE; -/// Constants used throughout the code, useful typedefs and utility functions +/** Constants used throughout the code, useful typedefs and utility functions */ class cChunkDef { public: @@ -61,22 +61,22 @@ public: static const int Width = 16; static const int Height = 256; static const int NumBlocks = Width * Height * Width; - /// If the data is collected into a single buffer, how large it needs to be: + + /** If the data is collected into a single buffer, how large it needs to be: */ static const int BlockDataSize = cChunkDef::NumBlocks * 2 + (cChunkDef::NumBlocks / 2); // 2.5 * numblocks - /// The type used for any heightmap operations and storage; idx = x + Width * z; Height points to the highest non-air block in the column + /** The type used for any heightmap operations and storage; idx = x + Width * z; Height points to the highest non-air block in the column */ typedef HEIGHTTYPE HeightMap[Width * Width]; /** The type used for any biomemap operations and storage inside MCServer, using MCServer biomes (need not correspond to client representation!) - idx = x + Width * z // Need to verify this with the protocol spec, currently unknown! - */ + idx = x + Width * z */ typedef EMCSBiome BiomeMap[Width * Width]; - /// The type used for block type operations and storage, AXIS_ORDER ordering + /** The type used for block type operations and storage, AXIS_ORDER ordering */ typedef BLOCKTYPE BlockTypes[NumBlocks]; - /// The type used for block data in nibble format, AXIS_ORDER ordering + /** The type used for block data in nibble format, AXIS_ORDER ordering */ typedef NIBBLETYPE BlockNibbles[NumBlocks / 2]; /** The storage wrapper used for compressed blockdata residing in RAMz */ @@ -86,7 +86,7 @@ public: typedef std::vector<NIBBLETYPE> COMPRESSED_NIBBLETYPE; - /// Converts absolute block coords into relative (chunk + block) coords: + /** Converts absolute block coords into relative (chunk + block) coords: */ inline static void AbsoluteToRelative(/* in-out */ int & a_X, int & a_Y, int & a_Z, /* out */ int & a_ChunkX, int & a_ChunkZ) { UNUSED(a_Y); @@ -116,7 +116,7 @@ public: } - /// Converts absolute block coords to chunk coords: + /** Converts absolute block coords to chunk coords: */ inline static void BlockToChunk(int a_X, int a_Z, int & a_ChunkX, int & a_ChunkZ) { a_ChunkX = a_X / Width; @@ -345,18 +345,17 @@ private: /** Interface class used for comparing clients of two chunks. -Used primarily for entity moving while both chunks are locked. -*/ +Used primarily for entity moving while both chunks are locked. */ class cClientDiffCallback { public: virtual ~cClientDiffCallback() {} - /// Called for clients that are in Chunk1 and not in Chunk2, + /** Called for clients that are in Chunk1 and not in Chunk2, */ virtual void Removed(cClientHandle * a_Client) = 0; - /// Called for clients that are in Chunk2 and not in Chunk1. + /** Called for clients that are in Chunk2 and not in Chunk1. */ virtual void Added(cClientHandle * a_Client) = 0; } ; @@ -418,6 +417,10 @@ public: typedef std::list<cChunkCoords> cChunkCoordsList; typedef std::vector<cChunkCoords> cChunkCoordsVector; + + + + /** A simple hash function for chunk coords, we assume that chunk coords won't use more than 16 bits, so the hash is almost an identity. Used for std::unordered_map<cChunkCoords, ...> */ class cChunkCoordsHash @@ -489,7 +492,7 @@ public: -/** Generic template that can store any kind of data together with a triplet of 3 coords*/ +/** Generic template that can store any kind of data together with a triplet of 3 coords */ template <typename X> class cCoordWithData { public: diff --git a/src/ChunkMap.cpp b/src/ChunkMap.cpp index 7f253ef6f..19ffd9b98 100644 --- a/src/ChunkMap.cpp +++ b/src/ChunkMap.cpp @@ -817,7 +817,6 @@ void cChunkMap::WakeUpSimulators(int a_BlockX, int a_BlockY, int a_BlockZ) -/// Wakes up the simulators for the specified area of blocks void cChunkMap::WakeUpSimulatorsInArea(int a_MinBlockX, int a_MaxBlockX, int a_MinBlockY, int a_MaxBlockY, int a_MinBlockZ, int a_MaxBlockZ) { // Limit the Y coords: diff --git a/src/ChunkMap.h b/src/ChunkMap.h index 916a3433d..53ec06475 100644 --- a/src/ChunkMap.h +++ b/src/ChunkMap.h @@ -103,7 +103,7 @@ public: /** Calls the callback for the chunk specified, with ChunkMapCS locked; returns false if the chunk doesn't exist, otherwise returns the same value as the callback */ bool DoWithChunk(int a_ChunkX, int a_ChunkZ, cChunkCallback & a_Callback); - /** Calls the callback for the chunk at the block position specified, with ChunkMapCS locked; returns false if the chunk doesn't exist, otherwise returns the same value as the callback **/ + /** Calls the callback for the chunk at the block position specified, with ChunkMapCS locked; returns false if the chunk doesn't exist, otherwise returns the same value as the callback */ bool DoWithChunkAt(Vector3i a_BlockPos, std::function<bool(cChunk &)> a_Callback); /** Wakes up simulators for the specified block */ diff --git a/src/ChunkSender.cpp b/src/ChunkSender.cpp index de886b497..674291c73 100644 --- a/src/ChunkSender.cpp +++ b/src/ChunkSender.cpp @@ -23,7 +23,7 @@ // cNotifyChunkSender: -/// Callback that can be used to notify chunk sender upon another chunkcoord notification +/** Callback that can be used to notify chunk sender upon another chunkcoord notification */ class cNotifyChunkSender : public cChunkCoordCallback { @@ -43,11 +43,22 @@ class cNotifyChunkSender : cChunkSender & m_ChunkSender; cWorld & m_World; + public: - cNotifyChunkSender(cChunkSender & a_ChunkSender, cWorld & a_World) : m_ChunkSender(a_ChunkSender), m_World(a_World) {} + cNotifyChunkSender(cChunkSender & a_ChunkSender, cWorld & a_World): + m_ChunkSender(a_ChunkSender), + m_World(a_World) + { + } +}; -}; + + + + +//////////////////////////////////////////////////////////////////////////////// +// cChunkSender: cChunkSender::cChunkSender(cWorld & a_World) : super("ChunkSender"), diff --git a/src/ChunkSender.h b/src/ChunkSender.h index fd9275794..7a6a56680 100644 --- a/src/ChunkSender.h +++ b/src/ChunkSender.h @@ -72,11 +72,11 @@ public: void Stop(void); - /// Queues a chunk to be sent to a specific client + /** Queues a chunk to be sent to a specific client */ void QueueSendChunkTo(int a_ChunkX, int a_ChunkZ, eChunkPriority a_Priority, cClientHandle * a_Client); void QueueSendChunkTo(int a_ChunkX, int a_ChunkZ, eChunkPriority a_Priority, std::list<cClientHandle *> a_Client); - /// Removes the a_Client from all waiting chunk send operations + /** Removes the a_Client from all waiting chunk send operations */ void RemoveClient(cClientHandle * a_Client); protected: @@ -98,7 +98,7 @@ protected: } }; - /// Used for sending chunks to specific clients + /** Used for sending chunks to specific clients */ struct sSendChunk { cChunkCoords m_Chunk; @@ -134,7 +134,7 @@ protected: virtual void Entity (cEntity * a_Entity) override; virtual void BlockEntity (cBlockEntity * a_Entity) override; - /// Sends the specified chunk to a_Client, or to all chunk clients if a_Client == nullptr + /** Sends the specified chunk to all the specified clients */ void SendChunk(int a_ChunkX, int a_ChunkZ, std::unordered_set<cClientHandle *> a_Clients); } ; diff --git a/src/ChunkStay.h b/src/ChunkStay.h index 29893befc..6572a3a98 100644 --- a/src/ChunkStay.h +++ b/src/ChunkStay.h @@ -56,8 +56,7 @@ public: All the contained chunks are queued for loading / generating. */ void Enable (cChunkMap & a_ChunkMap); - /** Disables the ChunkStay, the chunks are released and the ChunkStay - object can be edited with Add() and Remove() again*/ + /** Disables the ChunkStay, the chunks are released and the ChunkStay object can be edited with Add() and Remove() again */ virtual void Disable(void); /** Returns all the chunks that should be kept */ diff --git a/src/ClientHandle.h b/src/ClientHandle.h index 92c075131..618ade22a 100644 --- a/src/ClientHandle.h +++ b/src/ClientHandle.h @@ -108,7 +108,7 @@ public: // tolua_export If the string given is not a valid UUID, returns false. */ static bool IsUUIDOnline(const AString & a_UUID); // tolua_export - /** Formats the type of message with the proper color and prefix for sending to the client. **/ + /** Formats the type of message with the proper color and prefix for sending to the client. */ static AString FormatMessageType(bool ShouldAppendChatPrefixes, eMessageType a_ChatPrefix, const AString & a_AdditionalData); static AString FormatChatPrefix(bool ShouldAppendChatPrefixes, AString a_ChatPrefixS, AString m_Color1, AString m_Color2); diff --git a/src/CommandOutput.h b/src/CommandOutput.h index 6265b74ea..0c9641cde 100644 --- a/src/CommandOutput.h +++ b/src/CommandOutput.h @@ -9,20 +9,19 @@ /** Interface for a callback that receives command output The Out() function is called for any output the command has produced. -Descendants override that function to provide specific processing of the output. -*/ +Descendants override that function to provide specific processing of the output. */ class cCommandOutputCallback { public: virtual ~cCommandOutputCallback() {} // Force a virtual destructor in subclasses - /// Syntax sugar function, calls Out() with Printf()-ed parameters; appends a newline" + /** Syntax sugar function, calls Out() with Printf()-ed parameters; appends a newline" */ void Out(const char * a_Fmt, ...) FORMATSTRING(2, 3); - /// Called when the command wants to output anything; may be called multiple times + /** Called when the command wants to output anything; may be called multiple times */ virtual void Out(const AString & a_Text) = 0; - /// Called when the command processing has been finished + /** Called when the command processing has been finished */ virtual void Finished(void) {} } ; @@ -30,7 +29,7 @@ public: -/// Class that discards all command output +/** Class that discards all command output */ class cNullCommandOutputCallback : public cCommandOutputCallback { @@ -70,7 +69,7 @@ protected: -/// Sends all command output to a log, line by line, when the command finishes processing +/** Sends all command output to a log, line by line, when the command finishes processing */ class cLogCommandOutputCallback : public cStringAccumCommandOutputCallback { @@ -83,7 +82,7 @@ public: -/// Sends all command output to a log, line by line; deletes self when command finishes processing +/** Sends all command output to a log, line by line; deletes self when command finishes processing */ class cLogCommandDeleteSelfOutputCallback : public cLogCommandOutputCallback { diff --git a/src/CraftingRecipes.h b/src/CraftingRecipes.h index 778dd495a..81e3d111c 100644 --- a/src/CraftingRecipes.h +++ b/src/CraftingRecipes.h @@ -37,17 +37,17 @@ public: void SetItem (int x, int y, const cItem & a_Item); void Clear (void); - /// Removes items in a_Grid from m_Items[] (used by cCraftingRecipe::ConsumeIngredients()) + /** Removes items in a_Grid from m_Items[] (used by cCraftingRecipe::ConsumeIngredients()) */ void ConsumeGrid(const cCraftingGrid & a_Grid); - /// Dumps the entire crafting grid using LOGD() + /** Dumps the entire crafting grid using LOGD() */ void Dump(void); // tolua_end cItem * GetItems(void) const {return m_Items; } - /// Copies internal contents into the item array specified. Assumes that the array has the same dimensions as self + /** Copies internal contents into the item array specified. Assumes that the array has the same dimensions as self */ void CopyToItems(cItem * a_Items) const; protected: @@ -88,10 +88,10 @@ public: m_Ingredients.SetItem(x, y, a_Item); } - /// Consumes ingredients from the crafting grid specified + /** Consumes ingredients from the crafting grid specified */ void ConsumeIngredients(cCraftingGrid & a_CraftingGrid); - /// Dumps the entire recipe using LOGD() + /** Dumps the entire recipe using LOGD() */ void Dump(void); // tolua_end @@ -114,7 +114,7 @@ public: cCraftingRecipes(void); ~cCraftingRecipes(); - /// Returns the recipe for current crafting grid. Doesn't modify the grid. Clears a_Recipe if no recipe found. + /** Returns the recipe for current crafting grid. Doesn't modify the grid. Clears a_Recipe if no recipe found. */ void GetRecipe(cPlayer & a_Player, cCraftingGrid & a_CraftingGrid, cCraftingRecipe & a_Recipe); protected: @@ -127,8 +127,7 @@ protected: typedef std::vector<cRecipeSlot> cRecipeSlots; /** A single recipe, stored. Each recipe is normalized right after parsing (NormalizeIngredients()) - A normalized recipe starts at (0, 0) - */ + A normalized recipe starts at (0, 0) */ struct cRecipe { cRecipeSlots m_Ingredients; @@ -145,31 +144,31 @@ protected: void LoadRecipes(void); void ClearRecipes(void); - /// Parses the recipe line and adds it into m_Recipes. a_LineNum is used for diagnostic warnings only + /** Parses the recipe line and adds it into m_Recipes. a_LineNum is used for diagnostic warnings only */ void AddRecipeLine(int a_LineNum, const AString & a_RecipeLine); - /// Parses an item string in the format "<ItemType>[^<Damage>]", returns true if successful. + /** Parses an item string in the format "<ItemType>[^<Damage>]", returns true if successful. */ bool ParseItem(const AString & a_String, cItem & a_Item); - /// Parses one ingredient and adds it to the specified recipe. Returns true if successful. + /** Parses one ingredient and adds it to the specified recipe. Returns true if successful. */ bool ParseIngredient(const AString & a_String, cRecipe * a_Recipe); - /// Moves the recipe to top-left corner, sets its MinWidth / MinHeight + /** Moves the recipe to top-left corner, sets its MinWidth / MinHeight */ void NormalizeIngredients(cRecipe * a_Recipe); - /// Finds a recipe matching the crafting grid. Returns a newly allocated recipe (with all its coords set) or nullptr if not found. Caller must delete return value! + /** Finds a recipe matching the crafting grid. Returns a newly allocated recipe (with all its coords set) or nullptr if not found. Caller must delete return value! */ cRecipe * FindRecipe(const cItem * a_CraftingGrid, int a_GridWidth, int a_GridHeight); - /// Same as FindRecipe, but the grid is guaranteed to be of minimal dimensions needed + /** Same as FindRecipe, but the grid is guaranteed to be of minimal dimensions needed */ cRecipe * FindRecipeCropped(const cItem * a_CraftingGrid, int a_GridWidth, int a_GridHeight, int a_GridStride); - /// Checks if the grid matches the specified recipe, offset by the specified offsets. Returns a matched cRecipe * if so, or nullptr if not matching. Caller must delete the return value! + /** Checks if the grid matches the specified recipe, offset by the specified offsets. Returns a matched cRecipe * if so, or nullptr if not matching. Caller must delete the return value! */ cRecipe * MatchRecipe(const cItem * a_CraftingGrid, int a_GridWidth, int a_GridHeight, int a_GridStride, const cRecipe * a_Recipe, int a_OffsetX, int a_OffsetY); /** Searches for anything firework related, and does the data setting if appropriate */ void HandleFireworks(const cItem * a_CraftingGrid, cCraftingRecipes::cRecipe * a_Recipe, int a_GridStride, int a_OffsetX, int a_OffsetY); - /// Searches for anything dye related for leather, calculates the appropriate color value, and sets the resulting value. + /** Searches for anything dye related for leather, calculates the appropriate color value, and sets the resulting value. */ void HandleDyedLeather(const cItem * a_CraftingGrid, cCraftingRecipes::cRecipe * a_Recipe, int a_GridStride, int a_GridWidth, int a_GridHeight); } ; diff --git a/src/Cuboid.cpp b/src/Cuboid.cpp index 8891cfcb1..0a454a8f3 100644 --- a/src/Cuboid.cpp +++ b/src/Cuboid.cpp @@ -7,7 +7,7 @@ -/// Returns true if the two specified intervals have a non-empty union +/** Returns true if the two specified intervals have a non-empty union */ static bool DoIntervalsIntersect(int a_Min1, int a_Max1, int a_Min2, int a_Max2) { return ( diff --git a/src/DeadlockDetect.h b/src/DeadlockDetect.h index 57027e923..3d8e49a6d 100644 --- a/src/DeadlockDetect.h +++ b/src/DeadlockDetect.h @@ -34,32 +34,32 @@ public: protected: struct sWorldAge { - /// Last m_WorldAge that has been detected in this world + /** Last m_WorldAge that has been detected in this world */ Int64 m_Age; - /// Number of cycles for which the age has been the same + /** Number of cycles for which the age has been the same */ int m_NumCyclesSame; } ; - /// Maps world name -> sWorldAge + /** Maps world name -> sWorldAge */ typedef std::map<AString, sWorldAge> WorldAges; WorldAges m_WorldAges; - /// Number of secods for which the ages must be the same for the detection to trigger + /** Number of secods for which the ages must be the same for the detection to trigger */ int m_IntervalSec; // cIsThread overrides: virtual void Execute(void) override; - /// Sets the initial world age + /** Sets the initial world age */ void SetWorldAge(const AString & a_WorldName, Int64 a_Age); - /// Checks if the world's age has changed, updates the world's stats; calls DeadlockDetected() if deadlock detected + /** Checks if the world's age has changed, updates the world's stats; calls DeadlockDetected() if deadlock detected */ void CheckWorldAge(const AString & a_WorldName, Int64 a_Age); - /// Called when a deadlock is detected. Aborts the server. + /** Called when a deadlock is detected. Aborts the server. */ NORETURN void DeadlockDetected(void); } ; diff --git a/src/Defines.h b/src/Defines.h index f3b742e09..5ff583516 100644 --- a/src/Defines.h +++ b/src/Defines.h @@ -8,7 +8,7 @@ -/// List of slot numbers, used for inventory-painting +/** List of slot numbers, used for inventory-painting */ typedef std::vector<int> cSlotNums; @@ -18,7 +18,7 @@ typedef std::vector<int> cSlotNums; // tolua_begin -/// Experience Orb setup +/** Experience Orb setup */ enum { // Open to suggestion on naming convention here :) @@ -57,7 +57,7 @@ enum eBlockFace -/// PlayerDigging status constants +/** PlayerDigging status constants */ enum { DIG_STATUS_STARTED = 0, @@ -72,7 +72,7 @@ enum -/// Individual actions sent in the WindowClick packet +/** Individual actions sent in the WindowClick packet */ enum eClickAction { // Sorted by occurrence in the 1.5 protocol diff --git a/src/Entities/Entity.cpp b/src/Entities/Entity.cpp index 23cc487f6..4bad6b94c 100644 --- a/src/Entities/Entity.cpp +++ b/src/Entities/Entity.cpp @@ -1603,7 +1603,6 @@ void cEntity::HandleAir(void) -/// Called when the entity starts burning void cEntity::OnStartedBurning(void) { // Broadcast the change: @@ -1614,7 +1613,6 @@ void cEntity::OnStartedBurning(void) -/// Called when the entity finishes burning void cEntity::OnFinishedBurning(void) { // Broadcast the change: @@ -1625,7 +1623,6 @@ void cEntity::OnFinishedBurning(void) -/// Sets the maximum value for the health void cEntity::SetMaxHealth(int a_MaxHealth) { m_MaxHealth = a_MaxHealth; @@ -1638,7 +1635,6 @@ void cEntity::SetMaxHealth(int a_MaxHealth) -/// Sets whether the entity is fireproof void cEntity::SetIsFireproof(bool a_IsFireproof) { m_IsFireproof = a_IsFireproof; @@ -1648,7 +1644,6 @@ void cEntity::SetIsFireproof(bool a_IsFireproof) -/// Puts the entity on fire for the specified amount of ticks void cEntity::StartBurning(int a_TicksLeftBurning) { if (m_TicksLeftBurning > 0) @@ -1666,7 +1661,6 @@ void cEntity::StartBurning(int a_TicksLeftBurning) -/// Stops the entity from burning, resets all burning timers void cEntity::StopBurning(void) { bool HasBeenBurning = (m_TicksLeftBurning > 0); diff --git a/src/Entities/Entity.h b/src/Entities/Entity.h index f54e130eb..6024a5de5 100644 --- a/src/Entities/Entity.h +++ b/src/Entities/Entity.h @@ -173,7 +173,7 @@ public: bool IsItemFrame (void) const { return (m_EntityType == etItemFrame); } bool IsPainting (void) const { return (m_EntityType == etPainting); } - /// Returns true if the entity is of the specified class or a subclass (cPawn's IsA("cEntity") returns true) + /** Returns true if the entity is of the specified class or a subclass (cPawn's IsA("cEntity") returns true) */ virtual bool IsA(const char * a_ClassName) const; /** Returns the class name of this class */ @@ -255,16 +255,16 @@ public: inline UInt32 GetUniqueID(void) const { return m_UniqueID; } inline bool IsDestroyed(void) const { return !m_IsInitialized; } - /// Schedules the entity for destroying; if a_ShouldBroadcast is set to true, broadcasts the DestroyEntity packet + /** Schedules the entity for destroying; if a_ShouldBroadcast is set to true, broadcasts the DestroyEntity packet */ void Destroy(bool a_ShouldBroadcast = true); - /// Makes this pawn take damage from an attack by a_Attacker. Damage values are calculated automatically and DoTakeDamage() called + /** Makes this pawn take damage from an attack by a_Attacker. Damage values are calculated automatically and DoTakeDamage() called */ void TakeDamage(cEntity & a_Attacker); - /// Makes this entity take the specified damage. The final damage is calculated using current armor, then DoTakeDamage() called + /** Makes this entity take the specified damage. The final damage is calculated using current armor, then DoTakeDamage() called */ void TakeDamage(eDamageType a_DamageType, cEntity * a_Attacker, int a_RawDamage, double a_KnockbackAmount); - /// Makes this entity take the specified damage. The values are packed into a TDI, knockback calculated, then sent through DoTakeDamage() + /** Makes this entity take the specified damage. The values are packed into a TDI, knockback calculated, then sent through DoTakeDamage() */ void TakeDamage(eDamageType a_DamageType, cEntity * a_Attacker, int a_RawDamage, int a_FinalDamage, double a_KnockbackAmount); float GetGravity(void) const { return m_Gravity; } @@ -275,10 +275,10 @@ public: void SetAirDrag(float a_AirDrag) { m_AirDrag = a_AirDrag; } - /// Sets the rotation to match the speed vector (entity goes "face-forward") + /** Sets the rotation to match the speed vector (entity goes "face-forward") */ void SetYawFromSpeed(void); - /// Sets the pitch to match the speed vector (entity gies "face-forward") + /** Sets the pitch to match the speed vector (entity gies "face-forward") */ void SetPitchFromSpeed(void); // tolua_end @@ -290,56 +290,56 @@ public: // tolua_begin - /// Returns the hitpoints that this pawn can deal to a_Receiver using its equipped items + /** Returns the hitpoints that this pawn can deal to a_Receiver using its equipped items */ virtual int GetRawDamageAgainst(const cEntity & a_Receiver); - /** Returns whether armor will protect against the passed damage type **/ + /** Returns whether armor will protect against the passed damage type */ virtual bool ArmorCoversAgainst(eDamageType a_DamageType); - /// Returns the hitpoints out of a_RawDamage that the currently equipped armor would cover + /** Returns the hitpoints out of a_RawDamage that the currently equipped armor would cover */ virtual int GetArmorCoverAgainst(const cEntity * a_Attacker, eDamageType a_DamageType, int a_RawDamage); - /// Returns the knockback amount that the currently equipped items would cause to a_Receiver on a hit + /** Returns the knockback amount that the currently equipped items would cause to a_Receiver on a hit */ virtual double GetKnockbackAmountAgainst(const cEntity & a_Receiver); - /// Returns the curently equipped weapon; empty item if none + /** Returns the curently equipped weapon; empty item if none */ virtual cItem GetEquippedWeapon(void) const { return cItem(); } - /// Returns the currently equipped helmet; empty item if none + /** Returns the currently equipped helmet; empty item if none */ virtual cItem GetEquippedHelmet(void) const { return cItem(); } - /// Returns the currently equipped chestplate; empty item if none + /** Returns the currently equipped chestplate; empty item if none */ virtual cItem GetEquippedChestplate(void) const { return cItem(); } - /// Returns the currently equipped leggings; empty item if none + /** Returns the currently equipped leggings; empty item if none */ virtual cItem GetEquippedLeggings(void) const { return cItem(); } - /// Returns the currently equipped boots; empty item if none + /** Returns the currently equipped boots; empty item if none */ virtual cItem GetEquippedBoots(void) const { return cItem(); } - /// Called when the health drops below zero. a_Killer may be nullptr (environmental damage) + /** Called when the health drops below zero. a_Killer may be nullptr (environmental damage) */ virtual void KilledBy(TakeDamageInfo & a_TDI); - /// Called when the entity kills another entity + /** Called when the entity kills another entity */ virtual void Killed(cEntity * a_Victim) {} - /// Heals the specified amount of HPs + /** Heals the specified amount of HPs */ virtual void Heal(int a_HitPoints); - /// Returns the health of this entity + /** Returns the health of this entity */ int GetHealth(void) const { return m_Health; } - /// Sets the health of this entity; doesn't broadcast any hurt animation + /** Sets the health of this entity; doesn't broadcast any hurt animation */ void SetHealth(int a_Health); // tolua_end virtual void Tick(std::chrono::milliseconds a_Dt, cChunk & a_Chunk); - /// Handles the physics of the entity - updates position based on speed, updates speed based on environment + /** Handles the physics of the entity - updates position based on speed, updates speed based on environment */ virtual void HandlePhysics(std::chrono::milliseconds a_Dt, cChunk & a_Chunk); - /// Updates the state related to this entity being on fire + /** Updates the state related to this entity being on fire */ virtual void TickBurning(cChunk & a_Chunk); /** Detects the time for application of cacti damage */ @@ -380,8 +380,7 @@ public: // tolua_end /** Descendants override this function to send a command to the specified client to spawn the entity on the client. - To spawn on all eligible clients, use cChunkMap::BroadcastSpawnEntity() - */ + To spawn on all eligible clients, use cChunkMap::BroadcastSpawnEntity() */ virtual void SpawnOn(cClientHandle & a_Client) = 0; // tolua_begin @@ -413,22 +412,22 @@ public: /** Sets the world the entity will be leaving */ void SetWorldTravellingFrom(cWorld * a_World) { m_WorldTravellingFrom = a_World; } - /// Updates clients of changes in the entity. + /** Updates clients of changes in the entity. */ virtual void BroadcastMovementUpdate(const cClientHandle * a_Exclude = nullptr); - /// Attaches to the specified entity; detaches from any previous one first + /** Attaches to the specified entity; detaches from any previous one first */ void AttachTo(cEntity * a_AttachTo); - /// Detaches from the currently attached entity, if any + /** Detaches from the currently attached entity, if any */ virtual void Detach(void); - /// Makes sure head yaw is not over the specified range. + /** Makes sure head yaw is not over the specified range. */ void WrapHeadYaw(); - /// Makes sure rotation is not over the specified range. + /** Makes sure rotation is not over the specified range. */ void WrapRotation(); - /// Makes speed is not over 20. Max speed is 20 blocks / second + /** Makes speed is not over 20. Max speed is 20 blocks / second */ void WrapSpeed(); // tolua_begin @@ -443,8 +442,10 @@ public: /** Returns whether the player is swimming or not */ virtual bool IsSwimming(void) const{ return m_IsSwimming; } + /** Return whether the player is under water or not */ virtual bool IsSubmerged(void) const{ return m_IsSubmerged; } + /** Gets remaining air of a monster */ int GetAirLevel(void) const { return m_AirLevel; } @@ -462,10 +463,10 @@ public: // tolua_end - /// Called when the specified player right-clicks this entity + /** Called when the specified player right-clicks this entity */ virtual void OnRightClicked(cPlayer & a_Player) {} - /// Returns the list of drops for this pawn when it is killed. May check a_Killer for special handling (sword of looting etc.). Called from KilledBy(). + /** Returns the list of drops for this pawn when it is killed. May check a_Killer for special handling (sword of looting etc.). Called from KilledBy(). */ virtual void GetDrops(cItems & a_Drops, cEntity * a_Killer = nullptr) { UNUSED(a_Drops); @@ -476,6 +477,17 @@ public: void SetWorld(cWorld * a_World) { m_World = a_World; } protected: + /** Structure storing the portal delay timer and cooldown boolean */ + struct sPortalCooldownData + { + /** Ticks since entry of portal, used to delay teleportation */ + unsigned short m_TicksDelayed; + + /** Whether the entity has just exited the portal, and should therefore not be teleported again. + This prevents teleportation loops, and is reset when the entity has moved out of the portal. */ + bool m_ShouldPreventTeleportation; + }; + static cCriticalSection m_CSCount; static UInt32 m_EntityCount; @@ -490,10 +502,10 @@ protected: int m_Health; int m_MaxHealth; - /// The entity to which this entity is attached (vehicle), nullptr if none + /** The entity to which this entity is attached (vehicle), nullptr if none */ cEntity * m_AttachedTo; - /// The entity which is attached to this entity (rider), nullptr if none + /** The entity which is attached to this entity (rider), nullptr if none */ cEntity * m_Attachee; /** Stores whether head yaw has been set manually */ @@ -526,10 +538,9 @@ protected: /** True when entity is initialised (Initialize()) and false when destroyed pending deletion (Destroy()) */ bool m_IsInitialized; - /** World entity is travelling from - Set to a valid world pointer by MoveToWorld; reset to nullptr when the entity is removed from the old world - Can't be a simple boolean as context switches between worlds may leave the new chunk processing (and therefore immediately removing) the entity before the old chunk could remove it - */ + /** World entity is travelling from (such as when using portals). + Set to a valid world pointer by MoveToWorld; reset to nullptr when the entity is removed from the old world. + Can't be a simple boolean as context switches between worlds may leave the new chunk processing (and therefore immediately removing) the entity before the old chunk could remove it. */ cWorld * m_WorldTravellingFrom; eEntityType m_EntityType; @@ -560,6 +571,20 @@ protected: /** Time, in ticks, since the last damage dealt by the void. Reset to zero when moving out of the void. */ int m_TicksSinceLastVoidDamage; + /** If an entity is currently swimming in or submerged under water */ + bool m_IsSwimming, m_IsSubmerged; + + /** Air level of a mobile */ + int m_AirLevel; + int m_AirTickTimer; + + /** Portal delay timer and cooldown boolean data */ + sPortalCooldownData m_PortalCooldownData; + + /** The number of ticks this entity has been alive for */ + long int m_TicksAlive; + + /** Does the actual speed-setting. The default implementation just sets the member variable value; overrides can provide further processing, such as forcing players to move at the given speed. */ virtual void DoSetSpeed(double a_SpeedX, double a_SpeedY, double a_SpeedZ); @@ -568,8 +593,7 @@ protected: /** Applies friction to an entity @param a_Speed The speed vector to apply changes to - @param a_SlowdownMultiplier The factor to reduce the speed by - */ + @param a_SlowdownMultiplier The factor to reduce the speed by */ static void ApplyFriction(Vector3d & a_Speed, double a_SlowdownMultiplier, float a_Dt); /** Called in each tick to handle air-related processing i.e. drowning */ @@ -578,31 +602,6 @@ protected: /** Called once per tick to set IsSwimming and IsSubmerged */ virtual void SetSwimState(cChunk & a_Chunk); - /** If an entity is currently swimming in or submerged under water */ - bool m_IsSwimming, m_IsSubmerged; - - /** Air level of a mobile */ - int m_AirLevel; - int m_AirTickTimer; - - /** Structure storing the portal delay timer and cooldown boolean */ - struct sPortalCooldownData - { - /** Ticks since entry of portal, used to delay teleportation */ - unsigned short m_TicksDelayed; - - /** Whether the entity has just exited the portal, and should therefore not be teleported again - This prevents teleportation loops, and is reset when the entity has moved out of the portal - */ - bool m_ShouldPreventTeleportation; - }; - - /** Portal delay timer and cooldown boolean data */ - sPortalCooldownData m_PortalCooldownData; - - /** The number of ticks this entity has been alive for */ - long int m_TicksAlive; - private: /** Measured in degrees, [-180, +180) */ double m_HeadYaw; diff --git a/src/Entities/FallingBlock.h b/src/Entities/FallingBlock.h index 884938f4d..0027bfa2a 100644 --- a/src/Entities/FallingBlock.h +++ b/src/Entities/FallingBlock.h @@ -22,7 +22,7 @@ class cFallingBlock : public: CLASS_PROTODEF(cFallingBlock) - /// Creates a new falling block. a_BlockPosition is expected in world coords + /** Creates a new falling block. a_BlockPosition is expected in world coords */ cFallingBlock(const Vector3i & a_BlockPosition, BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta); BLOCKTYPE GetBlockType(void) const { return m_BlockType; } diff --git a/src/Entities/Floater.cpp b/src/Entities/Floater.cpp index c9e8167ee..29d59e6c4 100644 --- a/src/Entities/Floater.cpp +++ b/src/Entities/Floater.cpp @@ -54,10 +54,10 @@ public: return false; } - /// Returns the nearest entity that was hit, after the enumeration has been completed + /** Returns the nearest entity that was hit, after the enumeration has been completed */ cEntity * GetHitEntity(void) const { return m_HitEntity; } - /// Returns true if the callback has encountered a true hit + /** Returns true if the callback has encountered a true hit */ bool HasHit(void) const { return (m_MinCoeff < 1); } protected: diff --git a/src/Entities/ProjectileEntity.cpp b/src/Entities/ProjectileEntity.cpp index 8e2e412dd..064076456 100644 --- a/src/Entities/ProjectileEntity.cpp +++ b/src/Entities/ProjectileEntity.cpp @@ -29,7 +29,7 @@ -/// Converts an angle in radians into a byte representation used by the network protocol +/** Converts an angle in radians into a byte representation used by the network protocol */ #define ANGLE_TO_PROTO(X) static_cast<Byte>(X * 255 / 360) @@ -190,13 +190,13 @@ public: return false; } - /// Returns the nearest entity that was hit, after the enumeration has been completed + /** Returns the nearest entity that was hit, after the enumeration has been completed */ cEntity * GetHitEntity(void) const { return m_HitEntity; } - /// Returns the line coeff where the hit was encountered, after the enumeration has been completed + /** Returns the line coeff where the hit was encountered, after the enumeration has been completed */ double GetMinCoeff(void) const { return m_MinCoeff; } - /// Returns true if the callback has encountered a true hit + /** Returns true if the callback has encountered a true hit */ bool HasHit(void) const { return (m_MinCoeff < 1); } protected: diff --git a/src/Entities/SplashPotionEntity.cpp b/src/Entities/SplashPotionEntity.cpp index 926fd1abe..9d855dfa6 100644 --- a/src/Entities/SplashPotionEntity.cpp +++ b/src/Entities/SplashPotionEntity.cpp @@ -8,9 +8,13 @@ -/// Converts an angle in radians into a byte representation used by the network protocol +/** Converts an angle in radians into a byte representation used by the network protocol */ #define ANGLE_TO_PROTO(X) static_cast<Byte>(X * 255 / 360) + + + + //////////////////////////////////////////////////////////////////////////////// // cSplashPotionEntityCallback: diff --git a/src/Generating/BioGen.h b/src/Generating/BioGen.h index 44f1dfd2a..a5b8cc7e7 100644 --- a/src/Generating/BioGen.h +++ b/src/Generating/BioGen.h @@ -41,7 +41,7 @@ protected: -/// A simple cache that stores N most recently generated chunks' biomes; N being settable upon creation +/** A simple cache that stores N most recently generated chunks' biomes; N being settable upon creation */ class cBioGenCache : public cBiomeGen { @@ -112,7 +112,7 @@ protected: -/// Base class for generators that use a list of available biomes. This class takes care of the list. +/** Base class for generators that use a list of available biomes. This class takes care of the list. */ class cBiomeGenList : public cBiomeGen { @@ -124,7 +124,7 @@ protected: EMCSBiomes m_Biomes; int m_BiomesCount; // Pulled out of m_Biomes for faster access - /// Parses the INI file setting string into m_Biomes. + /** Parses the INI file setting string into m_Biomes. */ void InitializeBiomes(const AString & a_Biomes); } ; @@ -188,20 +188,20 @@ public: } protected: - /// Noise used for the distortion + /** Noise used for the distortion */ cNoise m_Noise; - /// The underlying Voronoi map of the biomes + /** The underlying Voronoi map of the biomes */ cVoronoiMap m_Voronoi; - /// Size of the Voronoi cells, also used for distortion amplitude + /** Size of the Voronoi cells, also used for distortion amplitude */ int m_CellSize; // cBiomeGen overrides: virtual void GenBiomes(int a_ChunkX, int a_ChunkZ, cChunkDef::BiomeMap & a_BiomeMap) override; virtual void InitializeBiomeGen(cIniFile & a_IniFile) override; - /// Distorts the coords using a Perlin-like noise + /** Distorts the coords using a Perlin-like noise */ void Distort(int a_BlockX, int a_BlockZ, int & a_DistortedX, int & a_DistortedZ); } ; @@ -241,30 +241,27 @@ protected: virtual void InitializeBiomeGen(cIniFile & a_IniFile) override; /** Step 1: Decides between ocean, land and mushroom, using a DistVoronoi with special conditions and post-processing for mushroom islands - Sets biomes to biOcean, -1 (i.e. land), biMushroomIsland or biMushroomShore - */ + Sets biomes to biOcean, -1 (i.e. land), biMushroomIsland or biMushroomShore. */ void DecideOceanLandMushroom(int a_ChunkX, int a_ChunkZ, cChunkDef::BiomeMap & a_BiomeMap); /** Step 2: Add rivers to the land - Flips some "-1" biomes into biRiver - */ + Flips some "-1" biomes into biRiver. */ void AddRivers(int a_ChunkX, int a_ChunkZ, cChunkDef::BiomeMap & a_BiomeMap); /** Step 3: Decide land biomes using a temperature / humidity map; freeze ocean / river in low temperatures. - Flips all remaining "-1" biomes into land biomes. Also flips some biOcean and biRiver into biFrozenOcean, biFrozenRiver, based on temp map. - */ + Flips all remaining "-1" biomes into land biomes. Also flips some biOcean and biRiver into biFrozenOcean, biFrozenRiver, based on temp map. */ void ApplyTemperatureHumidity(int a_ChunkX, int a_ChunkZ, cChunkDef::BiomeMap & a_BiomeMap); - /// Distorts the coords using a Perlin-like noise, with a specified cell-size + /** Distorts the coords using a Perlin-like noise, with a specified cell-size */ void Distort(int a_BlockX, int a_BlockZ, int & a_DistortedX, int & a_DistortedZ, int a_CellSize); - /// Builds two Perlin-noise maps, one for temperature, the other for humidity. Trims both into [0..255] range + /** Builds two Perlin-noise maps, one for temperature, the other for humidity. Trims both into [0..255] range */ void BuildTemperatureHumidityMaps(int a_ChunkX, int a_ChunkZ, IntMap & a_TemperatureMap, IntMap & a_HumidityMap); - /// Flips all remaining "-1" biomes into land biomes using the two maps + /** Flips all remaining "-1" biomes into land biomes using the two maps */ void DecideLandBiomes(cChunkDef::BiomeMap & a_BiomeMap, const IntMap & a_TemperatureMap, const IntMap & a_HumidityMap); - /// Flips biOcean and biRiver into biFrozenOcean and biFrozenRiver if the temperature is too low + /** Flips biOcean and biRiver into biFrozenOcean and biFrozenRiver if the temperature is too low */ void FreezeWaterBiomes(cChunkDef::BiomeMap & a_BiomeMap, const IntMap & a_TemperatureMap); } ; @@ -281,10 +278,10 @@ public: cBioGenTwoLevel(int a_Seed); protected: - /// The Voronoi map that decides the groups of biomes + /** The Voronoi map that decides the groups of biomes */ cVoronoiMap m_VoronoiLarge; - /// The Voronoi map that decides biomes inside individual biome groups + /** The Voronoi map that decides biomes inside individual biome groups */ cVoronoiMap m_VoronoiSmall; // The noises used for the distortion: @@ -308,9 +305,9 @@ protected: virtual void GenBiomes(int a_ChunkX, int a_ChunkZ, cChunkDef::BiomeMap & a_BiomeMap) override; virtual void InitializeBiomeGen(cIniFile & a_IniFile) override; - /// Selects biome from the specified biome group, based on the specified index. - /// Note that both params may overflow - /// a_DistLevel is either 0 or 1; zero when it is at the edge of the small Voronoi cell, 1 near the center + /** Selects biome from the specified biome group, based on the specified index. + Note that both params may overflow + a_DistLevel is either 0 or 1; zero when it is at the edge of the small Voronoi cell, 1 near the center */ EMCSBiome SelectBiome(int a_BiomeGroup, size_t a_BiomeIdx, int a_DistLevel); } ; diff --git a/src/Generating/Caves.cpp b/src/Generating/Caves.cpp index 05f95464c..6dd0eb4b6 100644 --- a/src/Generating/Caves.cpp +++ b/src/Generating/Caves.cpp @@ -64,7 +64,7 @@ typedef std::vector<cCaveDefPoint> cCaveDefPoints; -/// A single non-branching tunnel of a WormNestCave +/** A single non-branching tunnel of a WormNestCave */ class cCaveTunnel { // The bounding box, including the radii around defpoints: @@ -72,19 +72,19 @@ class cCaveTunnel int m_MinBlockY, m_MaxBlockY; int m_MinBlockZ, m_MaxBlockZ; - /// Generates the shaping defpoints for the ravine, based on the ravine block coords and noise + /** Generates the shaping defpoints for the cave, based on the cave block coords and noise */ void Randomize(cNoise & a_Noise); - /// Refines (adds and smooths) defpoints from a_Src into a_Dst; returns false if no refinement possible (segments too short) + /** Refines (adds and smooths) defpoints from a_Src into a_Dst; returns false if no refinement possible (segments too short) */ bool RefineDefPoints(const cCaveDefPoints & a_Src, cCaveDefPoints & a_Dst); - /// Does rounds of smoothing, two passes of RefineDefPoints(), as long as they return true + /** Does rounds of smoothing, two passes of RefineDefPoints(), as long as they return true */ void Smooth(void); - /// Linearly interpolates the points so that the maximum distance between two neighbors is max 1 block + /** Linearly interpolates the points so that the maximum distance between two neighbors is max 1 block */ void FinishLinear(void); - /// Calculates the bounding box of the points present + /** Calculates the bounding box of the points present */ void CalcBoundingBox(void); public: @@ -96,7 +96,7 @@ public: cNoise & a_Noise ); - /// Carves the tunnel into the chunk specified + /** Carves the tunnel into the chunk specified */ void ProcessChunk( int a_ChunkX, int a_ChunkZ, cChunkDef::BlockTypes & a_BlockTypes, @@ -115,7 +115,7 @@ typedef std::vector<cCaveTunnel *> cCaveTunnels; -/// A collection of connected tunnels, possibly branching. +/** A collection of connected tunnels, possibly branching. */ class cStructGenWormNestCaves::cCaveSystem : public cGridStructGen::cStructure { @@ -135,13 +135,13 @@ protected: void Clear(void); - /// Generates a_Segment successive tunnels, with possible branches. Generates the same output for the same [x, y, z, a_Segments] + /** Generates a_Segment successive tunnels, with possible branches. Generates the same output for the same [x, y, z, a_Segments] */ void GenerateTunnelsFromPoint( int a_OriginX, int a_OriginY, int a_OriginZ, cNoise & a_Noise, int a_Segments ); - /// Returns a radius based on the location provided. + /** Returns a radius based on the location provided. */ int GetRadius(cNoise & a_Noise, int a_OriginX, int a_OriginY, int a_OriginZ); // cGridStructGen::cStructure overrides: diff --git a/src/Generating/ChunkGenerator.cpp b/src/Generating/ChunkGenerator.cpp index f312d371d..741cdd7ae 100644 --- a/src/Generating/ChunkGenerator.cpp +++ b/src/Generating/ChunkGenerator.cpp @@ -12,10 +12,10 @@ -/// If the generation queue size exceeds this number, a warning will be output +/** If the generation queue size exceeds this number, a warning will be output */ const unsigned int QUEUE_WARNING_LIMIT = 1000; -/// If the generation queue size exceeds this number, chunks with no clients will be skipped +/** If the generation queue size exceeds this number, chunks with no clients will be skipped */ const unsigned int QUEUE_SKIP_LIMIT = 500; diff --git a/src/Generating/ChunkGenerator.h b/src/Generating/ChunkGenerator.h index 4af486ae1..b7968356f 100644 --- a/src/Generating/ChunkGenerator.h +++ b/src/Generating/ChunkGenerator.h @@ -46,16 +46,16 @@ public: cGenerator(cChunkGenerator & a_ChunkGenerator); virtual ~cGenerator() {} // Force a virtual destructor - /// Called to initialize the generator on server startup. + /** Called to initialize the generator on server startup. */ virtual void Initialize(cIniFile & a_IniFile); - /// Generates the biomes for the specified chunk (directly, not in a separate thread). Used by the world loader if biomes failed loading. + /** Generates the biomes for the specified chunk (directly, not in a separate thread). Used by the world loader if biomes failed loading. */ virtual void GenerateBiomes(int a_ChunkX, int a_ChunkZ, cChunkDef::BiomeMap & a_BiomeMap) = 0; - /// Returns the biome at the specified coords. Used by ChunkMap if an invalid chunk is queried for biome. Default implementation uses GenerateBiomes(). + /** Returns the biome at the specified coords. Used by ChunkMap if an invalid chunk is queried for biome. Default implementation uses GenerateBiomes(). */ virtual EMCSBiome GetBiomeAt(int a_BlockX, int a_BlockZ); - /// Called in a separate thread to do the actual chunk generation. Generator should generate into a_ChunkDesc. + /** Called in a separate thread to do the actual chunk generation. Generator should generate into a_ChunkDesc. */ virtual void DoGenerate(int a_ChunkX, int a_ChunkZ, cChunkDesc & a_ChunkDesc) = 0; protected: @@ -71,13 +71,11 @@ public: virtual ~cPluginInterface() {} /** Called when the chunk is about to be generated. - The generator may be partly or fully overriden by the implementation - */ + The generator may be partly or fully overriden by the implementation. */ virtual void CallHookChunkGenerating(cChunkDesc & a_ChunkDesc) = 0; /** Called after the chunk is generated, before it is handed to the chunk sink. - a_ChunkDesc contains the generated chunk data. Implementation may modify this data. - */ + a_ChunkDesc contains the generated chunk data. Implementation may modify this data. */ virtual void CallHookChunkGenerated(cChunkDesc & a_ChunkDesc) = 0; } ; @@ -92,19 +90,16 @@ public: /** Called after the chunk has been generated The interface may store the chunk, send it over network, whatever. The chunk is not expected to be modified, but the generator will survive if the implementation - changes the data within. All changes are ignored, though. - */ + changes the data within. All changes are ignored, though. */ virtual void OnChunkGenerated(cChunkDesc & a_ChunkDesc) = 0; /** Called just before the chunk generation is started, to verify that it hasn't been generated in the meantime. - If this callback returns true, the chunk is not generated. - */ + If this callback returns true, the chunk is not generated. */ virtual bool IsChunkValid(int a_ChunkX, int a_ChunkZ) = 0; /** Called when the generator is overloaded to skip chunks that are no longer needed. - If this callback returns false, the chunk is not generated. - */ + If this callback returns false, the chunk is not generated. */ virtual bool HasChunkAnyClients(int a_ChunkX, int a_ChunkZ) = 0; /** Called to check whether the specified chunk is in the queued state. @@ -126,7 +121,7 @@ public: If the generator becomes overloaded and skips this chunk, the callback is still called. */ void QueueGenerateChunk(int a_ChunkX, int a_ChunkZ, bool a_ForceGenerate, cChunkCoordCallback * a_Callback = nullptr); - /// Generates the biomes for the specified chunk (directly, not in a separate thread). Used by the world loader if biomes failed loading. + /** Generates the biomes for the specified chunk (directly, not in a separate thread). Used by the world loader if biomes failed loading. */ void GenerateBiomes(int a_ChunkX, int a_ChunkZ, cChunkDef::BiomeMap & a_BiomeMap); void WaitForQueueEmpty(void); @@ -151,7 +146,7 @@ private: /** Force the regeneration of an already existing chunk */ bool m_ForceGenerate; - /** Callback to call after generating.*/ + /** Callback to call after generating. */ cChunkCoordCallback * m_Callback; }; diff --git a/src/Generating/DungeonRoomsFinisher.cpp b/src/Generating/DungeonRoomsFinisher.cpp index c62da7492..7ee7f91f0 100644 --- a/src/Generating/DungeonRoomsFinisher.cpp +++ b/src/Generating/DungeonRoomsFinisher.cpp @@ -98,7 +98,7 @@ protected: /** Decodes the position index along the room walls into a proper 2D position for a chest. - The Y coord of the returned vector specifies the chest's meta value*/ + The Y coord of the returned vector specifies the chest's meta value. */ Vector3i DecodeChestCoords(int a_PosIdx, int a_SizeX, int a_SizeZ) { if (a_PosIdx < a_SizeX) diff --git a/src/Generating/EndGen.cpp b/src/Generating/EndGen.cpp index c559e765f..dc0837af2 100644 --- a/src/Generating/EndGen.cpp +++ b/src/Generating/EndGen.cpp @@ -77,7 +77,6 @@ void cEndGen::InitializeCompoGen(cIniFile & a_IniFile) -/// Unless the LastChunk coords are equal to coords given, prepares the internal state (noise array) void cEndGen::PrepareState(int a_ChunkX, int a_ChunkZ) { ASSERT(!IsChunkOutsideRange(a_ChunkX, a_ChunkZ)); // Should be filtered before calling this function @@ -97,7 +96,6 @@ void cEndGen::PrepareState(int a_ChunkX, int a_ChunkZ) -/// Generates the m_NoiseArray array for the current chunk void cEndGen::GenerateNoiseArray(void) { NOISE_DATATYPE NoiseData[DIM_X * DIM_Y * DIM_Z]; // [x + DIM_X * z + DIM_X * DIM_Z * y] @@ -140,7 +138,6 @@ void cEndGen::GenerateNoiseArray(void) -/// Returns true if the chunk is outside of the island's dimensions bool cEndGen::IsChunkOutsideRange(int a_ChunkX, int a_ChunkZ) { return ( diff --git a/src/Generating/EndGen.h b/src/Generating/EndGen.h index f9e3f6e53..f914dc340 100644 --- a/src/Generating/EndGen.h +++ b/src/Generating/EndGen.h @@ -25,10 +25,10 @@ public: protected: - /// Seed for the noise + /** Seed for the noise */ int m_Seed; - /// The Perlin noise used for generating + /** The Perlin noise used for generating */ cPerlinNoise m_Perlin; // XYZ size of the "island", in blocks: @@ -49,19 +49,22 @@ protected: int m_LastChunkX; int m_LastChunkZ; NOISE_DATATYPE m_NoiseArray[17 * 17 * 257]; // x + 17 * z + 17 * 17 * y - - /// Unless the LastChunk coords are equal to coords given, prepares the internal state (noise array) + + + /** Unless the LastChunk coords are equal to coords given, prepares the internal state (noise array) */ void PrepareState(int a_ChunkX, int a_ChunkZ); - /// Generates the m_NoiseArray array for the current chunk + /** Generates the m_NoiseArray array for the current chunk */ void GenerateNoiseArray(void); - /// Returns true if the chunk is outside of the island's dimensions + /** Returns true if the chunk is outside of the island's dimensions */ bool IsChunkOutsideRange(int a_ChunkX, int a_ChunkZ); - + + // cTerrainShapeGen overrides: virtual void GenShape(int a_ChunkX, int a_ChunkZ, cChunkDesc::Shape & a_Shape) override; + // cTerrainCompositionGen overrides: virtual void ComposeTerrain(cChunkDesc & a_ChunkDesc, const cChunkDesc::Shape & a_Shape) override; virtual void InitializeCompoGen(cIniFile & a_IniFile) override; diff --git a/src/Generating/FinishGen.h b/src/Generating/FinishGen.h index aa50335d4..aa2d0a12d 100644 --- a/src/Generating/FinishGen.h +++ b/src/Generating/FinishGen.h @@ -192,7 +192,7 @@ protected: cNoise m_Noise; int m_Seed; - /// Tries to place sugarcane at the coords specified, returns true if successful + /** Tries to place sugarcane at the coords specified, returns true if successful */ bool TryAddSugarcane(cChunkDesc & a_ChunkDesc, int a_RelX, int a_RelY, int a_RelZ); // Returns true is the specified biome is a desert or its variant @@ -209,8 +209,7 @@ protected: /** This class adds a single top block in random positions in the specified biome on top of specified allowed blocks. Used for: - Lilypads finisher -- DeadBushes finisher -*/ +- DeadBushes finisher */ class cFinishGenSingleTopBlock : public cFinishGen { @@ -258,17 +257,20 @@ public: protected: cNoise m_Noise; BLOCKTYPE m_BlockType; - int m_Amount; ///< Relative amount of blocks to try adding. 1 = one block per 256 biome columns. + + /** Relative amount of blocks to try adding. 1 = one block per 256 biome columns. */ + int m_Amount; + int GetNumToGen(const cChunkDef::BiomeMap & a_BiomeMap); - // Returns true if the given biome is a biome that is allowed. + /** Returns true if the given biome is a biome that is allowed. */ inline bool IsAllowedBiome(EMCSBiome a_Biome) { return m_IsBiomeAllowed[a_Biome]; } - // Returns true if the given blocktype may be below m_BlockType + /** Returns true if the given blocktype may be below m_BlockType */ inline bool IsAllowedBlockBelow(BLOCKTYPE a_BlockBelow) { return m_IsAllowedBelow[a_BlockBelow]; @@ -316,7 +318,7 @@ protected: bool m_PreSimulateWater; bool m_PreSimulateLava; - // Drops hanging sand and gravel down to the ground, recalculates heightmap + /** Drops hanging sand and gravel down to the ground, recalculates heightmap */ void CollapseSandGravel( cChunkDef::BlockTypes & a_BlockTypes, // Block types to read and change cChunkDef::HeightMap & a_HeightMap // Height map to update by the current data @@ -324,8 +326,7 @@ protected: /** For each fluid block: - if all surroundings are of the same fluid, makes it stationary; otherwise makes it flowing (excl. top) - - all fluid on the chunk's edge is made flowing - */ + - all fluid on the chunk's edge is made flowing */ void StationarizeFluid( cChunkDef::BlockTypes & a_BlockTypes, // Block types to read and change cChunkDef::HeightMap & a_HeightMap, // Height map to read diff --git a/src/Generating/HeiGen.cpp b/src/Generating/HeiGen.cpp index 6cfd53837..120efc504 100644 --- a/src/Generating/HeiGen.cpp +++ b/src/Generating/HeiGen.cpp @@ -390,7 +390,7 @@ void cHeiGenMountains::InitializeHeightGen(cIniFile & a_IniFile) const cHeiGenBiomal::sGenParam cHeiGenBiomal::m_GenParam[256] = { - /* Fast-changing | Middle-changing | Slow-changing |*/ + /* Fast-changing | Middle-changing | Slow-changing | */ /* Biome | Freq1 | Amp1 | Freq2 | Amp2 | Freq3 | Amp3 | BaseHeight */ /* biOcean */ { 0.1f, 2.0f, 0.05f, 10.0f, 0.01f, 8.0f, 50}, /* biPlains */ { 0.1f, 1.0f, 0.05f, 1.5f, 0.01f, 4.0f, 68}, diff --git a/src/Generating/MineShafts.cpp b/src/Generating/MineShafts.cpp index 4ba896ef6..ef06285ad 100644 --- a/src/Generating/MineShafts.cpp +++ b/src/Generating/MineShafts.cpp @@ -67,18 +67,17 @@ public: virtual ~cMineShaft() {} - /// Returns true if this mineshaft intersects the specified cuboid + /** Returns true if this mineshaft intersects the specified cuboid */ bool DoesIntersect(const cCuboid & a_Other) { return m_BoundingBox.DoesIntersect(a_Other); } /** If recursion level is not too large, appends more branches to the parent system, - using exit points specific to this class. - */ + using exit points specific to this class. */ virtual void AppendBranches(int a_RecursionLevel, cNoise & a_Noise) = 0; - /// Imprints this shape into the specified chunk's data + /** Imprints this shape into the specified chunk's data */ virtual void ProcessChunk(cChunkDesc & a_ChunkDesc) = 0; } ; @@ -141,16 +140,16 @@ protected: virtual void AppendBranches(int a_RecursionLevel, cNoise & a_Noise) override; virtual void ProcessChunk(cChunkDesc & a_ChunkDesc) override; - /// Places a chest, if the corridor has one + /** Places a chest, if the corridor has one */ void PlaceChest(cChunkDesc & a_ChunkDesc); - /// If this corridor has tracks, places them randomly + /** If this corridor has tracks, places them randomly */ void PlaceTracks(cChunkDesc & a_ChunkDesc); - /// If this corridor has a spawner, places the spawner + /** If this corridor has a spawner, places the spawner */ void PlaceSpawner(cChunkDesc & a_ChunkDesc); - /// Randomly places torches around the central beam block + /** Randomly places torches around the central beam block */ void PlaceTorches(cChunkDesc & a_ChunkDesc); } ; diff --git a/src/Generating/Noise3DGenerator.h b/src/Generating/Noise3DGenerator.h index 35b1e4c94..f9317abe2 100644 --- a/src/Generating/Noise3DGenerator.h +++ b/src/Generating/Noise3DGenerator.h @@ -58,13 +58,13 @@ protected: NOISE_DATATYPE m_FrequencyZ; NOISE_DATATYPE m_AirThreshold; - /// Generates the 3D noise array used for terrain generation; a_Noise is of ChunkData-size + /** Generates the 3D noise array used for terrain generation; a_Noise is of ChunkData-size */ void GenerateNoiseArray(int a_ChunkX, int a_ChunkZ, NOISE_DATATYPE * a_Noise); - /// Updates heightmap based on the chunk's contents + /** Updates heightmap based on the chunk's contents */ void UpdateHeightmap(cChunkDesc & a_ChunkDesc); - /// Composes terrain - adds dirt, grass and sand + /** Composes terrain - adds dirt, grass and sand */ void ComposeTerrain(cChunkDesc & a_ChunkDesc); } ; diff --git a/src/Generating/RainbowRoadsGen.h b/src/Generating/RainbowRoadsGen.h index 52d48ceca..75383e223 100644 --- a/src/Generating/RainbowRoadsGen.h +++ b/src/Generating/RainbowRoadsGen.h @@ -31,7 +31,7 @@ protected: /** The noise used for generating random numbers */ cNoise m_Noise; - /** Maximum depth of the generator tree*/ + /** Maximum depth of the generator tree */ int m_MaxDepth; /** Maximum size, in X / Z blocks, of the structure (radius from the origin) */ diff --git a/src/Generating/Ravines.cpp b/src/Generating/Ravines.cpp index 8c6316273..d15ad548d 100644 --- a/src/Generating/Ravines.cpp +++ b/src/Generating/Ravines.cpp @@ -64,7 +64,7 @@ public: cRavine(int a_GridX, int a_GridZ, int a_OriginX, int a_OriginZ, int a_Size, cNoise & a_Noise); #ifdef _DEBUG - /// Exports itself as a SVG line definition + /** Exports itself as a SVG line definition */ AString ExportAsSVG(int a_Color, int a_OffsetX = 0, int a_OffsetZ = 0) const; #endif // _DEBUG diff --git a/src/Generating/Trees.cpp b/src/Generating/Trees.cpp index 5da8fc44a..37afaaac6 100644 --- a/src/Generating/Trees.cpp +++ b/src/Generating/Trees.cpp @@ -95,7 +95,7 @@ static const sCoordsArr BigOs[] = -/// Pushes a specified layer of blocks of the same type around (x, h, z) into a_Blocks +/** Pushes a specified layer of blocks of the same type around (x, h, z) into a_Blocks */ inline void PushCoordBlocks(int a_BlockX, int a_Height, int a_BlockZ, sSetBlockVector & a_Blocks, const sCoords * a_Coords, size_t a_NumCoords, BLOCKTYPE a_BlockType, NIBBLETYPE a_Meta) { for (size_t i = 0; i < a_NumCoords; i++) diff --git a/src/Generating/Trees.h b/src/Generating/Trees.h index b0363e050..5b5a20b34 100644 --- a/src/Generating/Trees.h +++ b/src/Generating/Trees.h @@ -52,61 +52,61 @@ class cWorld; -/// Generates an image of a tree at the specified coords (lowest trunk block) in the specified biome +/** Generates an image of a tree at the specified coords (lowest trunk block) in the specified biome */ void GetTreeImageByBiome(int a_BlockX, int a_BlockY, int a_BlockZ, cNoise & a_Noise, int a_Seq, EMCSBiome a_Biome, sSetBlockVector & a_LogBlocks, sSetBlockVector & a_OtherBlocks); -/// Generates an image of a random apple tree +/** Generates an image of a random apple tree */ void GetAppleTreeImage(int a_BlockX, int a_BlockY, int a_BlockZ, cNoise & a_Noise, int a_Seq, sSetBlockVector & a_LogBlocks, sSetBlockVector & a_OtherBlocks); -/// Generates an image of a small (nonbranching) apple tree +/** Generates an image of a small (nonbranching) apple tree */ void GetSmallAppleTreeImage(int a_BlockX, int a_BlockY, int a_BlockZ, cNoise & a_Noise, int a_Seq, sSetBlockVector & a_LogBlocks, sSetBlockVector & a_OtherBlocks); -/// Generates an image of a large (branching) apple tree +/** Generates an image of a large (branching) apple tree */ void GetLargeAppleTreeImage(int a_BlockX, int a_BlockY, int a_BlockZ, cNoise & a_Noise, int a_Seq, sSetBlockVector & a_LogBlocks, sSetBlockVector & a_OtherBlocks); -/// Generates a branch for a large apple tree +/** Generates a branch for a large apple tree */ void GetLargeAppleTreeBranch(int a_BlockX, int a_BlockY, int a_BlockZ, int a_BranchLength, Vector3d a_StartDirection, Vector3d a_Direction, int a_TreeHeight, cNoise & a_Noise, sSetBlockVector & a_LogBlocks); -/// Returns the meta for a log from the given direction +/** Returns the meta for a log from the given direction */ NIBBLETYPE GetLogMetaFromDirection(NIBBLETYPE a_BlockMeta, Vector3d a_Direction); -/// Generates an image of a random birch tree +/** Generates an image of a random birch tree */ void GetBirchTreeImage(int a_BlockX, int a_BlockY, int a_BlockZ, cNoise & a_Noise, int a_Seq, sSetBlockVector & a_LogBlocks, sSetBlockVector & a_OtherBlocks); -/// Generates an image of a random acacia tree +/** Generates an image of a random acacia tree */ void GetAcaciaTreeImage(int a_BlockX, int a_BlockY, int a_BlockZ, cNoise & a_Noise, int a_Seq, sSetBlockVector & a_LogBlocks, sSetBlockVector & a_OtherBlocks); -/// Generates an image of a random darkoak tree +/** Generates an image of a random darkoak tree */ void GetDarkoakTreeImage(int a_BlockX, int a_BlockY, int a_BlockZ, cNoise & a_Noise, int a_Seq, sSetBlockVector & a_LogBlocks, sSetBlockVector & a_OtherBlocks); -/// Generates an image of a random large birch tree +/** Generates an image of a random large birch tree */ void GetTallBirchTreeImage(int a_BlockX, int a_BlockY, int a_BlockZ, cNoise & a_Noise, int a_Seq, sSetBlockVector & a_LogBlocks, sSetBlockVector & a_OtherBlocks); -/// Generates an image of a random conifer tree +/** Generates an image of a random conifer tree */ void GetConiferTreeImage(int a_BlockX, int a_BlockY, int a_BlockZ, cNoise & a_Noise, int a_Seq, sSetBlockVector & a_LogBlocks, sSetBlockVector & a_OtherBlocks); -/// Generates an image of a random spruce (short conifer, two layers of leaves) +/** Generates an image of a random spruce (short conifer, two layers of leaves) */ void GetSpruceTreeImage(int a_BlockX, int a_BlockY, int a_BlockZ, cNoise & a_Noise, int a_Seq, sSetBlockVector & a_LogBlocks, sSetBlockVector & a_OtherBlocks); -/// Generates an image of a random pine (tall conifer, little leaves at top) +/** Generates an image of a random pine (tall conifer, little leaves at top) */ void GetPineTreeImage(int a_BlockX, int a_BlockY, int a_BlockZ, cNoise & a_Noise, int a_Seq, sSetBlockVector & a_LogBlocks, sSetBlockVector & a_OtherBlocks); -/// Generates an image of a random swampland tree +/** Generates an image of a random swampland tree */ void GetSwampTreeImage(int a_BlockX, int a_BlockY, int a_BlockZ, cNoise & a_Noise, int a_Seq, sSetBlockVector & a_LogBlocks, sSetBlockVector & a_OtherBlocks); -/// Generates an image of a random apple bush (for jungles) +/** Generates an image of a random apple bush (for jungles) */ void GetAppleBushImage(int a_BlockX, int a_BlockY, int a_BlockZ, cNoise & a_Noise, int a_Seq, sSetBlockVector & a_LogBlocks, sSetBlockVector & a_OtherBlocks); -/// Generates an image of a random jungle tree +/** Generates an image of a random jungle tree */ void GetJungleTreeImage(int a_BlockX, int a_BlockY, int a_BlockZ, cNoise & a_Noise, int a_Seq, sSetBlockVector & a_LogBlocks, sSetBlockVector & a_OtherBlocks, bool a_Large); -/// Generates an image of a large jungle tree (2x2 trunk) +/** Generates an image of a large jungle tree (2x2 trunk) */ void GetLargeJungleTreeImage(int a_BlockX, int a_BlockY, int a_BlockZ, cNoise & a_Noise, int a_Seq, sSetBlockVector & a_LogBlocks, sSetBlockVector & a_OtherBlocks); -/// Generates an image of a small jungle tree (1x1 trunk) +/** Generates an image of a small jungle tree (1x1 trunk) */ void GetSmallJungleTreeImage(int a_BlockX, int a_BlockY, int a_BlockZ, cNoise & a_Noise, int a_Seq, sSetBlockVector & a_LogBlocks, sSetBlockVector & a_OtherBlocks); -/// Moves the x and z coordinants to the north-west corner of a 2x2 of saplings. Returns true if a 2x2 was found, otherwise it returns false +/** Moves the x and z coordinants to the north-west corner of a 2x2 of saplings. Returns true if a 2x2 was found, otherwise it returns false */ bool GetLargeTreeAdjustment(cWorld & a_World, int & a_X, int & a_Y, int & a_Z, NIBBLETYPE a_Meta); diff --git a/src/Generating/UnderwaterBaseGen.h b/src/Generating/UnderwaterBaseGen.h index 9433a1905..67551f3c4 100644 --- a/src/Generating/UnderwaterBaseGen.h +++ b/src/Generating/UnderwaterBaseGen.h @@ -31,7 +31,7 @@ protected: /** The noise used for generating random numbers */ cNoise m_Noise; - /** Maximum depth of the generator tree*/ + /** Maximum depth of the generator tree */ int m_MaxDepth; /** Maximum size, in X / Z blocks, of the structure (radius from the origin) */ diff --git a/src/Generating/VillageGen.h b/src/Generating/VillageGen.h index e7f9f2529..bda6b0312 100644 --- a/src/Generating/VillageGen.h +++ b/src/Generating/VillageGen.h @@ -48,7 +48,7 @@ protected: /** The noise used for generating random numbers */ cNoise m_Noise; - /** Maximum depth of the generator tree*/ + /** Maximum depth of the generator tree */ int m_MaxDepth; /** Maximum size, in X / Z blocks, of the village (radius from the origin) */ diff --git a/src/Globals.h b/src/Globals.h index 28cd6d163..1afcc928c 100644 --- a/src/Globals.h +++ b/src/Globals.h @@ -329,15 +329,15 @@ void inline LOG(const char * a_Format, ...) // Common definitions: -/// Evaluates to the number of elements in an array (compile-time!) +/** Evaluates to the number of elements in an array (compile-time!) */ #define ARRAYCOUNT(X) (sizeof(X) / sizeof(*(X))) -/// Allows arithmetic expressions like "32 KiB" (but consider using parenthesis around it, "(32 KiB)") +/** Allows arithmetic expressions like "32 KiB" (but consider using parenthesis around it, "(32 KiB)") */ #define KiB * 1024 #define MiB * 1024 * 1024 -/// Faster than (int)floorf((float)x / (float)div) -#define FAST_FLOOR_DIV( x, div) (((x) - (((x) < 0) ? ((div) - 1) : 0)) / (div)) +/** Faster than (int)floorf((float)x / (float)div) */ +#define FAST_FLOOR_DIV(x, div) (((x) - (((x) < 0) ? ((div) - 1) : 0)) / (div)) // Own version of assert() that writes failed assertions to the log for review #ifdef TEST_GLOBALS diff --git a/src/HTTPServer/HTTPFormParser.h b/src/HTTPServer/HTTPFormParser.h index d9d29d9bc..e72d4ef10 100644 --- a/src/HTTPServer/HTTPFormParser.h +++ b/src/HTTPServer/HTTPFormParser.h @@ -39,68 +39,67 @@ public: // Force a virtual destructor in descendants: virtual ~cCallbacks() {} - /// Called when a new file part is encountered in the form data + /** Called when a new file part is encountered in the form data */ virtual void OnFileStart(cHTTPFormParser & a_Parser, const AString & a_FileName) = 0; - /// Called when more file data has come for the current file in the form data + /** Called when more file data has come for the current file in the form data */ virtual void OnFileData(cHTTPFormParser & a_Parser, const char * a_Data, size_t a_Size) = 0; - /// Called when the current file part has ended in the form data + /** Called when the current file part has ended in the form data */ virtual void OnFileEnd(cHTTPFormParser & a_Parser) = 0; } ; - /// Creates a parser that is tied to a request and notifies of various events using a callback mechanism + /** Creates a parser that is tied to a request and notifies of various events using a callback mechanism */ cHTTPFormParser(cHTTPRequest & a_Request, cCallbacks & a_Callbacks); - /// Creates a parser with the specified content type that reads data from a string + /** Creates a parser with the specified content type that reads data from a string */ cHTTPFormParser(eKind a_Kind, const char * a_Data, size_t a_Size, cCallbacks & a_Callbacks); - /// Adds more data into the parser, as the request body is received + /** Adds more data into the parser, as the request body is received */ void Parse(const char * a_Data, size_t a_Size); /** Notifies that there's no more data incoming and the parser should finish its parsing. - Returns true if parsing successful - */ + Returns true if parsing successful. */ bool Finish(void); - /// Returns true if the headers suggest the request has form data parseable by this class + /** Returns true if the headers suggest the request has form data parseable by this class */ static bool HasFormData(const cHTTPRequest & a_Request); protected: - /// The callbacks to call for incoming file data + /** The callbacks to call for incoming file data */ cCallbacks & m_Callbacks; - /// The kind of the parser (decided in the constructor, used in Parse() + /** The kind of the parser (decided in the constructor, used in Parse() */ eKind m_Kind; - /// Buffer for the incoming data until it's parsed + /** Buffer for the incoming data until it's parsed */ AString m_IncomingData; - /// True if the information received so far is a valid form; set to false on first problem. Further parsing is skipped when false. + /** True if the information received so far is a valid form; set to false on first problem. Further parsing is skipped when false. */ bool m_IsValid; - /// The parser for the multipart data, if used + /** The parser for the multipart data, if used */ std::unique_ptr<cMultipartParser> m_MultipartParser; - /// Name of the currently parsed part in multipart data + /** Name of the currently parsed part in multipart data */ AString m_CurrentPartName; - /// True if the currently parsed part in multipart data is a file + /** True if the currently parsed part in multipart data is a file */ bool m_IsCurrentPartFile; - /// Filename of the current parsed part in multipart data (for file uploads) + /** Filename of the current parsed part in multipart data (for file uploads) */ AString m_CurrentPartFileName; - /// Set to true after m_Callbacks.OnFileStart() has been called, reset to false on PartEnd + /** Set to true after m_Callbacks.OnFileStart() has been called, reset to false on PartEnd */ bool m_FileHasBeenAnnounced; - /// Sets up the object for parsing a fpkMultipart request + /** Sets up the object for parsing a fpkMultipart request */ void BeginMultipart(const cHTTPRequest & a_Request); - /// Parses m_IncomingData as form-urlencoded data (fpkURL or fpkFormUrlEncoded kinds) + /** Parses m_IncomingData as form-urlencoded data (fpkURL or fpkFormUrlEncoded kinds) */ void ParseFormUrlEncoded(void); // cMultipartParser::cCallbacks overrides: diff --git a/src/HTTPServer/NameValueParser.h b/src/HTTPServer/NameValueParser.h index 9794614fa..c0643b139 100644 --- a/src/HTTPServer/NameValueParser.h +++ b/src/HTTPServer/NameValueParser.h @@ -17,22 +17,22 @@ class cNameValueParser : public std::map<AString, AString> { public: - /// Creates an empty parser + /** Creates an empty parser */ cNameValueParser(bool a_AllowsKeyOnly = true); - /// Creates an empty parser, then parses the data given. Doesn't call Finish(), so more data can be parsed later + /** Creates an empty parser, then parses the data given. Doesn't call Finish(), so more data can be parsed later */ cNameValueParser(const char * a_Data, size_t a_Size, bool a_AllowsKeyOnly = true); - /// Parses the data given + /** Parses the data given */ void Parse(const char * a_Data, size_t a_Size); - /// Notifies the parser that no more data will be coming. Returns true if the parser state is valid + /** Notifies the parser that no more data will be coming. Returns true if the parser state is valid */ bool Finish(void); - /// Returns true if the data parsed so far was valid + /** Returns true if the data parsed so far was valid */ bool IsValid(void) const { return (m_State != psInvalid); } - /// Returns true if the parser expects no more data + /** Returns true if the parser expects no more data */ bool IsFinished(void) const { return ((m_State == psInvalid) || (m_State == psFinished)); } protected: @@ -50,16 +50,16 @@ protected: psFinished, ///< The parser has already been instructed to finish and doesn't expect any more data } ; - /// The current state of the parser + /** The current state of the parser */ eState m_State; - /// If true, the parser will accept keys without an equal sign and the value + /** If true, the parser will accept keys without an equal sign and the value */ bool m_AllowsKeyOnly; - /// Buffer for the current Key + /** Buffer for the current Key */ AString m_CurrentKey; - /// Buffer for the current Value; + /** Buffer for the current Value; */ AString m_CurrentValue; diff --git a/src/IniFile.h b/src/IniFile.h index a05e8f734..00c4eea6e 100644 --- a/src/IniFile.h +++ b/src/IniFile.h @@ -48,25 +48,25 @@ private: std::vector<AString> names; std::vector<AString> comments; - /// If the object is case-insensitive, returns s as lowercase; otherwise returns s as-is + /** If the object is case-insensitive, returns s as lowercase; otherwise returns s as-is */ AString CheckCase(const AString & s) const; - /// Removes the UTF-8 BOMs (Byte order makers), if present. + /** Removes the UTF-8 BOMs (Byte order makers), if present. */ void RemoveBom(AString & a_line) const; public: - /// Creates a new instance with no data + /** Creates a new instance with no data */ cIniFile(void); -// tolua_end + // tolua_end virtual ~cIniFile() = default; virtual std::vector<std::pair<AString, AString>> GetValues(AString a_keyName) override; virtual bool KeyExists(const AString a_keyName) const override; -// tolua_begin + // tolua_begin // Sets whether or not keynames and valuenames should be case sensitive. // The default is case insensitive. @@ -76,31 +76,30 @@ public: /** Reads the contents of the specified ini file If the file doesn't exist and a_AllowExampleRedirect is true, tries to read <basename>.example.ini, and writes its contents as <basename>.ini, if successful. - Returns true if successful, false otherwise. - */ + Returns true if successful, false otherwise. */ bool ReadFile(const AString & a_FileName, bool a_AllowExampleRedirect = true); - /// Writes data stored in class to the specified ini file + /** Writes data stored in class to the specified ini file */ bool WriteFile(const AString & a_FileName) const; virtual bool Flush() override { return WriteFile(m_Filename); } - /// Deletes all stored ini data (but doesn't touch the file) + /** Deletes all stored ini data (but doesn't touch the file) */ void Clear(void); /** Returns true iff the specified value exists. */ bool HasValue(const AString & a_KeyName, const AString & a_ValueName) const override; - /// Returns index of specified key, or noID if not found + /** Returns index of specified key, or noID if not found */ int FindKey(const AString & keyname) const; - /// Returns index of specified value, in the specified key, or noID if not found + /** Returns index of specified value, in the specified key, or noID if not found */ int FindValue(const int keyID, const AString & valuename) const; - /// Returns number of keys currently in the ini + /** Returns number of keys currently in the ini */ int GetNumKeys(void) const { return static_cast<int>(keys.size()); } - /// Add a key name + /** Add a key name */ int AddKeyName(const AString & keyname) override; // Returns key names by index. @@ -172,19 +171,19 @@ public: // Header comment functions. // Header comments are those comments before the first key. - /// Returns the number of header comments + /** Returns the number of header comments */ int GetNumHeaderComments(void) {return static_cast<int>(comments.size());} - /// Adds a header comment + /** Adds a header comment */ void AddHeaderComment(const AString & comment); - /// Returns a header comment, or empty string if out of range + /** Returns a header comment, or empty string if out of range */ AString GetHeaderComment(const int commentID) const; - /// Deletes a header comment. Returns true if successful + /** Deletes a header comment. Returns true if successful */ bool DeleteHeaderComment(int commentID); - /// Deletes all header comments + /** Deletes all header comments */ void DeleteHeaderComments(void) {comments.clear();} @@ -194,19 +193,19 @@ public: // these comments will be moved to the top of the key definition when // the CIniFile::WriteFile() is called. - /// Get number of key comments + /** Get number of key comments */ int GetNumKeyComments(const int keyID) const; - /// Get number of key comments + /** Get number of key comments */ int GetNumKeyComments(const AString & keyname) const; - /// Add a key comment + /** Add a key comment */ bool AddKeyComment(const int keyID, const AString & comment); - /// Add a key comment + /** Add a key comment */ bool AddKeyComment(const AString & keyname, const AString & comment) override; - /// Return a key comment + /** Return a key comment */ AString GetKeyComment(const int keyID, const int commentID) const; AString GetKeyComment(const AString & keyname, const int commentID) const override; diff --git a/src/Item.cpp b/src/Item.cpp index 2a4accb58..97cda0b95 100644 --- a/src/Item.cpp +++ b/src/Item.cpp @@ -111,7 +111,6 @@ char cItem::GetMaxStackSize(void) const -/// Returns the cItemHandler responsible for this item type cItemHandler * cItem::GetHandler(void) const { return ItemHandler(m_ItemType); diff --git a/src/LightingThread.cpp b/src/LightingThread.cpp index a2f44c284..b5102c11b 100644 --- a/src/LightingThread.cpp +++ b/src/LightingThread.cpp @@ -14,7 +14,7 @@ -/// Chunk data callback that takes the chunk data and puts them into cLightingThread's m_BlockTypes[] / m_HeightMap[]: +/** Chunk data callback that takes the chunk data and puts them into cLightingThread's m_BlockTypes[] / m_HeightMap[]: */ class cReader : public cChunkDataCallback { diff --git a/src/LineBlockTracer.h b/src/LineBlockTracer.h index ccbb70ea6..155b3ab2a 100644 --- a/src/LineBlockTracer.h +++ b/src/LineBlockTracer.h @@ -35,46 +35,47 @@ class cLineBlockTracer : public: cLineBlockTracer(cWorld & a_World, cCallbacks & a_Callbacks); - /// Traces one line between Start and End; returns true if the entire line was traced (until OnNoMoreHits()) + /** Traces one line between Start and End; returns true if the entire line was traced (until OnNoMoreHits()) */ bool Trace(double a_StartX, double a_StartY, double a_StartZ, double a_EndX, double a_EndY, double a_EndZ); // Utility functions for simple one-line usage: - /// Traces one line between Start and End; returns true if the entire line was traced (until OnNoMoreHits()) + + /** Traces one line between Start and End; returns true if the entire line was traced (until OnNoMoreHits()) */ static bool Trace(cWorld & a_World, cCallbacks & a_Callbacks, double a_StartX, double a_StartY, double a_StartZ, double a_EndX, double a_EndY, double a_EndZ); - /// Traces one line between Start and End; returns true if the entire line was traced (until OnNoMoreHits()) + /** Traces one line between Start and End; returns true if the entire line was traced (until OnNoMoreHits()) */ static bool Trace(cWorld & a_World, cCallbacks & a_Callbacks, const Vector3d & a_Start, const Vector3d & a_End); protected: - // The start point of the trace + /** The start point of the trace */ double m_StartX, m_StartY, m_StartZ; - // The end point of the trace + /** The end point of the trace */ double m_EndX, m_EndY, m_EndZ; - // The difference in coords, End - Start + /** The difference in coords, End - Start */ double m_DiffX, m_DiffY, m_DiffZ; - // The increment at which the block coords are going from Start to End; either +1 or -1 + /** The increment at which the block coords are going from Start to End; either +1 or -1 */ int m_DirX, m_DirY, m_DirZ; - // The current block + /** The current block */ int m_CurrentX, m_CurrentY, m_CurrentZ; - // The face through which the current block has been entered + /** The face through which the current block has been entered */ char m_CurrentFace; - /// Adjusts the start point above the world to just at the world's top + /** Adjusts the start point above the world to just at the world's top */ void FixStartAboveWorld(void); - /// Adjusts the start point below the world to just at the world's bottom + /** Adjusts the start point below the world to just at the world's bottom */ void FixStartBelowWorld(void); - /// Calculates the XZ coords of an intersection with the specified Yconst plane; assumes that such an intersection exists + /** Calculates the XZ coords of an intersection with the specified Yconst plane; assumes that such an intersection exists */ void CalcXZIntersection(double a_Y, double & a_IntersectX, double & a_IntersectZ); - /// Moves m_Current to the next block on the line; returns false if no move is possible (reached the end) + /** Moves m_Current to the next block on the line; returns false if no move is possible (reached the end) */ bool MoveToNextBlock(void); // cChunkCallback overrides: diff --git a/src/LinearInterpolation.cpp b/src/LinearInterpolation.cpp index c7c690bd2..38404147f 100644 --- a/src/LinearInterpolation.cpp +++ b/src/LinearInterpolation.cpp @@ -151,7 +151,6 @@ void LinearInterpolate2DArray( -/// Puts linearly interpolated values from one array into another array. 3D version void LinearInterpolate3DArray( float * a_Src, int a_SrcSizeX, int a_SrcSizeY, int a_SrcSizeZ, diff --git a/src/LinearInterpolation.h b/src/LinearInterpolation.h index 4b798d9bc..a00b2c98a 100644 --- a/src/LinearInterpolation.h +++ b/src/LinearInterpolation.h @@ -23,7 +23,7 @@ const int MAX_INTERPOL_SIZEZ = 256; ///< Maximum Z-size of the interpolated arr -/// Puts linearly interpolated values from one array into another array. 1D version +/** Puts linearly interpolated values from one array into another array. 1D version */ void LinearInterpolate1DArray( float * a_Src, ///< Src array int a_SrcSizeX, ///< Count of the src array @@ -35,7 +35,7 @@ void LinearInterpolate1DArray( -/// Puts linearly interpolated values from one array into another array. 2D version +/** Puts linearly interpolated values from one array into another array. 2D version */ void LinearInterpolate2DArray( float * a_Src, ///< Src array, [x + a_SrcSizeX * y] int a_SrcSizeX, int a_SrcSizeY, ///< Count of the src array, in each direction @@ -47,7 +47,7 @@ void LinearInterpolate2DArray( -/// Puts linearly interpolated values from one array into another array. 3D version +/** Puts linearly interpolated values from one array into another array. 3D version */ void LinearInterpolate3DArray( float * a_Src, ///< Src array, [x + a_SrcSizeX * y + a_SrcSizeX * a_SrcSizeY * z] int a_SrcSizeX, int a_SrcSizeY, int a_SrcSizeZ, ///< Count of the src array, in each direction diff --git a/src/MobCensus.h b/src/MobCensus.h index 3dc7b2a8e..259f987ce 100644 --- a/src/MobCensus.h +++ b/src/MobCensus.h @@ -25,20 +25,20 @@ as side effect 2 : it also know the caps for mobs number and can compare census class cMobCensus { public: - /// Returns the nested proximity counter + /** Returns the nested proximity counter */ cMobProximityCounter & GetProximityCounter(void); // collect an elligible Chunk for Mob Spawning // MG TODO : code the correct rule (not loaded chunk but short distant from players) void CollectSpawnableChunk(cChunk & a_Chunk); - /// Collect a mob - its distance to player, its family ... + /** Collect a mob - its distance to player, its family ... */ void CollectMob(cMonster & a_Monster, cChunk & a_Chunk, double a_Distance); - /// Returns true if the family is capped (i.e. there are more mobs of this family than max) + /** Returns true if the family is capped (i.e. there are more mobs of this family than max) */ bool IsCapped(cMonster::eFamily a_MobFamily); - /// log the results of census to server console + /** log the results of census to server console */ void Logd(void); protected : @@ -47,10 +47,10 @@ protected : std::set<cChunk *> m_EligibleForSpawnChunks; - /// Returns the number of chunks that are elligible for spawning (for now, the loaded, valid chunks) + /** Returns the number of chunks that are elligible for spawning (for now, the loaded, valid chunks) */ int GetNumChunks(); - /// Returns the cap multiplier value of the given monster family + /** Returns the cap multiplier value of the given monster family */ static int GetCapMultiplier(cMonster::eFamily a_MobFamily); } ; diff --git a/src/MobSpawner.h b/src/MobSpawner.h index 8b651d6bf..3a2776df4 100644 --- a/src/MobSpawner.h +++ b/src/MobSpawner.h @@ -25,24 +25,23 @@ but it also has dynamic part depending on the world.ini settings. class cMobSpawner { public : - // constructor - // a_MobFamily is the Family of mobs that this spawner will spawn - // a_AllowedTypes is the set of types allowed for mobs it will spawn. Empty set - // would result in no spawn at all - // Allowed mobs thah are not of the right Family will not be include (no warning) + /** Constructor + a_MobFamily is the Family of mobs that this spawner will spawn + a_AllowedTypes is the set of types allowed for mobs it will spawn. Empty set would result in no spawn at all + Allowed mobs thah are not of the right Family will not be include (no warning). */ cMobSpawner(cMonster::eFamily MobFamily, const std::set<eMonsterType> & a_AllowedTypes); - /// Check if specified block can be a Pack center for this spawner + /** Check if specified block can be a Pack center for this spawner */ bool CheckPackCenter(BLOCKTYPE a_BlockType); - // Try to create a monster here - // if this is the first of a Pack : determine the type of monster - // BlockType & BlockMeta are used to decide what kind of Mob can Spawn here - // MaxPackSize is set to the maximal size for a pack this type of mob + /** Try to create a monster here + If this is the first of a Pack, determine the type of monster + a_Biome, BlockType & BlockMeta are used to decide what kind of Mob can Spawn here + a_MaxPackSize is set to the maximal size for a pack this type of mob */ cMonster * TryToSpawnHere(cChunk * a_Chunk, int A_RelX, int a_RelY, int a_RelZ, EMCSBiome a_Biome, int & a_MaxPackSize); - // mark the beginning of a new Pack - // all mobs of the same Pack are the same type + /** Mark the beginning of a new Pack. + All mobs of the same Pack are the same type */ void NewPack(void); // return true if there is at least one allowed type @@ -55,11 +54,11 @@ public : static bool CanSpawnHere(cChunk * a_Chunk, int a_RelX, int a_RelY, int a_RelZ, eMonsterType a_MobType, EMCSBiome a_Biome); protected : - // return a random type that can spawn on specified biome. - // returns E_ENTITY_TYPE_DONOTUSE if none is possible + /** Returns a random type that can spawn in the specified biome. + Returns mtInvalidType if none is possible. */ eMonsterType ChooseMobType(EMCSBiome a_Biome); - // add toAdd inside toAddIn, if toAdd is in m_AllowedTypes + /** Adds toAdd into toAddIn, if toAdd is in m_AllowedTypes */ void addIfAllowed(eMonsterType toAdd, std::set<eMonsterType> & toAddIn); cMonster::eFamily m_MonsterFamily; diff --git a/src/Mobs/MagmaCube.h b/src/Mobs/MagmaCube.h index b914dc867..3cd77f3e3 100644 --- a/src/Mobs/MagmaCube.h +++ b/src/Mobs/MagmaCube.h @@ -12,7 +12,7 @@ class cMagmaCube : typedef cAggressiveMonster super; public: - /// Creates a MagmaCube of the specified size; size is 1 .. 3, with 1 being the smallest + /** Creates a MagmaCube of the specified size; with 1 being the smallest */ cMagmaCube(int a_Size); CLASS_PROTODEF(cMagmaCube) @@ -26,7 +26,7 @@ public: protected: - /// Size of the MagmaCube, 1, 2 and 4, with 1 being the smallest + /** Size of the MagmaCube, with 1 being the smallest */ int m_Size; } ; diff --git a/src/Mobs/Monster.h b/src/Mobs/Monster.h index d5de3b19e..5438bb7d9 100644 --- a/src/Mobs/Monster.h +++ b/src/Mobs/Monster.h @@ -73,7 +73,7 @@ public: virtual void CheckEventSeePlayer(void); virtual void EventSeePlayer(cEntity * a_Player); - /// Reads the monster configuration for the specified monster name and assigns it to this object. + /** Reads the monster configuration for the specified monster name and assigns it to this object. */ void GetMonsterConfig(const AString & a_Name); /** Returns whether this mob is undead (skeleton, zombie, etc.) */ @@ -105,7 +105,7 @@ public: void SetDropChanceBoots(float a_DropChanceBoots) { m_DropChanceBoots = a_DropChanceBoots; } void SetCanPickUpLoot(bool a_CanPickUpLoot) { m_CanPickUpLoot = a_CanPickUpLoot; } - /// Sets whether the mob burns in daylight. Only evaluated at next burn-decision tick + /** Sets whether the mob burns in daylight. Only evaluated at next burn-decision tick */ void SetBurnsInDaylight(bool a_BurnsInDaylight) { m_BurnsInDaylight = a_BurnsInDaylight; } double GetRelativeWalkSpeed(void) const { return m_RelativeWalkSpeed; } // tolua_export @@ -278,19 +278,19 @@ protected: char m_Age; - /** Adds a random number of a_Item between a_Min and a_Max to itemdrops a_Drops*/ + /** Adds a random number of a_Item between a_Min and a_Max to itemdrops a_Drops */ void AddRandomDropItem(cItems & a_Drops, unsigned int a_Min, unsigned int a_Max, short a_Item, short a_ItemHealth = 0); - /** Adds a item a_Item with the chance of a_Chance (in percent) to itemdrops a_Drops*/ + /** Adds a item a_Item with the chance of a_Chance (in percent) to itemdrops a_Drops */ void AddRandomUncommonDropItem(cItems & a_Drops, float a_Chance, short a_Item, short a_ItemHealth = 0); - /** Adds one rare item out of the list of rare items a_Items modified by the looting level a_LootingLevel(I-III or custom) to the itemdrop a_Drops*/ + /** Adds one rare item out of the list of rare items a_Items modified by the looting level a_LootingLevel(I-III or custom) to the itemdrop a_Drops */ void AddRandomRareDropItem(cItems & a_Drops, cItems & a_Items, unsigned int a_LootingLevel); - /** Adds armor that is equipped with the chance saved in m_DropChance[...] (this will be greter than 1 if piccked up or 0.085 + (0.01 per LootingLevel) if born with) to the drop*/ + /** Adds armor that is equipped with the chance saved in m_DropChance[...] (this will be greter than 1 if picked up or 0.085 + (0.01 per LootingLevel) if born with) to the drop */ void AddRandomArmorDropItem(cItems & a_Drops, unsigned int a_LootingLevel); - /** Adds weapon that is equipped with the chance saved in m_DropChance[...] (this will be greter than 1 if piccked up or 0.085 + (0.01 per LootingLevel) if born with) to the drop*/ + /** Adds weapon that is equipped with the chance saved in m_DropChance[...] (this will be greter than 1 if picked up or 0.085 + (0.01 per LootingLevel) if born with) to the drop */ void AddRandomWeaponDropItem(cItems & a_Drops, unsigned int a_LootingLevel); diff --git a/src/Mobs/MonsterTypes.h b/src/Mobs/MonsterTypes.h index 02bec267b..c268b5ff6 100644 --- a/src/Mobs/MonsterTypes.h +++ b/src/Mobs/MonsterTypes.h @@ -1,9 +1,12 @@ #pragma once -/// This identifies individual monster type, as well as their network type-ID + + + // tolua_begin +/** Identifies individual monster type, as well as their network type-ID. */ enum eMonsterType { mtInvalidType = -1, diff --git a/src/Mobs/PassiveMonster.h b/src/Mobs/PassiveMonster.h index 2ed2cd21d..7f20c3092 100644 --- a/src/Mobs/PassiveMonster.h +++ b/src/Mobs/PassiveMonster.h @@ -17,8 +17,9 @@ public: virtual void Tick(std::chrono::milliseconds a_Dt, cChunk & a_Chunk) override; - /// When hit by someone, run away + /** When hit by someone, run away */ virtual bool DoTakeDamage(TakeDamageInfo & a_TDI) override; + /** Returns the item that the animal of this class follows when a player holds it in hand Return an empty item not to follow (default). */ virtual const cItem GetFollowedItem(void) const { return cItem(); } diff --git a/src/Mobs/Path.cpp b/src/Mobs/Path.cpp index d6de8de00..dd908c86b 100644 --- a/src/Mobs/Path.cpp +++ b/src/Mobs/Path.cpp @@ -387,7 +387,8 @@ void cPath::ProcessIfWalkable(const Vector3i & a_Location, cPathCell * a_Parent, } } - /*y =-1; + /* + y = -1; for (x = 0; x < m_BoundingBoxWidth; ++x) { for (z = 0; z < m_BoundingBoxWidth; ++z) @@ -398,7 +399,8 @@ void cPath::ProcessIfWalkable(const Vector3i & a_Location, cPathCell * a_Parent, } } } - ProcessCell(cell, a_Parent, a_Cost);*/ + ProcessCell(cell, a_Parent, a_Cost); + */ // Make sure there's at least 1 piece of solid below us. diff --git a/src/Mobs/Path.h b/src/Mobs/Path.h index d4ad066e3..04841f2b4 100644 --- a/src/Mobs/Path.h +++ b/src/Mobs/Path.h @@ -79,7 +79,7 @@ public: /** Performs part of the path calculation and returns the appropriate status. If NEARBY_FOUND is returned, it means that the destination is not reachable, but a nearby destination is reachable. If the user likes the alternative destination, they can call AcceptNearbyPath to treat the path as found, - and to make consequent calls to step return PATH_FOUND*/ + and to make consequent calls to step return PATH_FOUND */ ePathFinderStatus Step(cChunk & a_Chunk); /** Called after the PathFinder's step returns NEARBY_FOUND. @@ -87,7 +87,8 @@ public: the PathFinder found a path to. */ Vector3i AcceptNearbyPath(); - /* Point retrieval functions, inlined for performance. */ + // Point retrieval functions, inlined for performance: + /** Returns the next point in the path. */ inline Vector3d GetNextPoint() { @@ -95,17 +96,23 @@ public: Vector3i Point = m_PathPoints[m_PathPoints.size() - 1 - (++m_CurrentPoint)]; return Vector3d(Point.x + m_HalfWidth, Point.y, Point.z + m_HalfWidth); } + + /** Checks whether this is the last point or not. Never call getnextPoint when this is true. */ inline bool IsLastPoint() { ASSERT(m_Status == ePathFinderStatus::PATH_FOUND); return (m_CurrentPoint == m_PathPoints.size() - 1); } + + inline bool IsFirstPoint() { ASSERT(m_Status == ePathFinderStatus::PATH_FOUND); return (m_CurrentPoint == 0); } + + /** Get the point at a_index. Remark: Internally, the indexes are reversed. */ inline Vector3d GetPoint(size_t a_index) { @@ -114,6 +121,8 @@ public: Vector3i Point = m_PathPoints[m_PathPoints.size() - 1 - a_index]; return Vector3d(Point.x + m_HalfWidth, Point.y, Point.z + m_HalfWidth); } + + /** Returns the total number of points this path has. */ inline size_t GetPointCount() { diff --git a/src/Mobs/Villager.cpp b/src/Mobs/Villager.cpp index 7a1a6e448..2dc753f52 100644 --- a/src/Mobs/Villager.cpp +++ b/src/Mobs/Villager.cpp @@ -103,7 +103,8 @@ void cVillager::Tick(std::chrono::milliseconds a_Dt, cChunk & a_Chunk) //////////////////////////////////////////////////////////////////////////////// -// Farmer functions. +// Farmer functions: + void cVillager::HandleFarmerPrepareFarmCrops() { if (!m_World->VillagersShouldHarvestCrops()) @@ -112,15 +113,16 @@ void cVillager::HandleFarmerPrepareFarmCrops() } cBlockArea Surrounding; - /// Read a 11x7x11 area. + + // Read a 11x7x11 area: Surrounding.Read( m_World, - static_cast<int>(GetPosX()) - 5, - static_cast<int>(GetPosX()) + 6, - static_cast<int>(GetPosY()) - 3, - static_cast<int>(GetPosY()) + 4, - static_cast<int>(GetPosZ()) - 5, - static_cast<int>(GetPosZ()) + 6 + FloorC(GetPosX()) - 5, + FloorC(GetPosX()) + 6, + FloorC(GetPosY()) - 3, + FloorC(GetPosY()) + 4, + FloorC(GetPosZ()) - 5, + FloorC(GetPosZ()) + 6 ); for (int I = 0; I < 5; I++) diff --git a/src/Mobs/Villager.h b/src/Mobs/Villager.h index 2de79295c..dc356b4a6 100644 --- a/src/Mobs/Villager.h +++ b/src/Mobs/Villager.h @@ -34,17 +34,17 @@ public: virtual void Tick (std::chrono::milliseconds a_Dt, cChunk & a_Chunk) override; // cVillager functions - /** return true if the given blocktype are: crops, potatoes or carrots.*/ + /** return true if the given blocktype are: crops, potatoes or carrots. */ bool IsBlockFarmable(BLOCKTYPE a_BlockType); // Farmer functions - /** Searches in a 11x7x11 area for crops. If it found some it will navigate to them.*/ + /** Searches in a 11x7x11 area for crops. If it found some it will navigate to them. */ void HandleFarmerPrepareFarmCrops(); - /** Looks if the farmer has reached it's destination, and if it's still crops and the destination is closer then 2 blocks it will harvest them.*/ + /** Looks if the farmer has reached it's destination, and if it's still crops and the destination is closer then 2 blocks it will harvest them. */ void HandleFarmerTryHarvestCrops(); - /** Replaces the crops he harvested.*/ + /** Replaces the crops he harvested. */ void HandleFarmerPlaceCrops(); // Get and set functions. diff --git a/src/Noise/Noise.cpp b/src/Noise/Noise.cpp index d8cde6e3d..aa9f0412f 100644 --- a/src/Noise/Noise.cpp +++ b/src/Noise/Noise.cpp @@ -204,16 +204,16 @@ public: const NOISE_DATATYPE * a_FracY ///< Pointer to the attay that stores the Y fractional values ); - /// Uses current m_WorkRnds[] to generate part of the array + /** Uses current m_WorkRnds[] to generate part of the array */ void Generate( int a_FromX, int a_ToX, int a_FromY, int a_ToY ); - /// Initializes m_WorkRnds[] with the specified Floor values + /** Initializes m_WorkRnds[] with the specified Floor values */ void InitWorkRnds(int a_FloorX, int a_FloorY); - /// Updates m_WorkRnds[] for the new Floor values. + /** Updates m_WorkRnds[] for the new Floor values. */ void Move(int a_NewFloorX, int a_NewFloorY); protected: @@ -356,17 +356,17 @@ public: const NOISE_DATATYPE * a_FracZ ///< Pointer to the array that stores the Z fractional values ); - /// Uses current m_WorkRnds[] to generate part of the array + /** Uses current m_WorkRnds[] to generate part of the array */ void Generate( int a_FromX, int a_ToX, int a_FromY, int a_ToY, int a_FromZ, int a_ToZ ); - /// Initializes m_WorkRnds[] with the specified Floor values + /** Initializes m_WorkRnds[] with the specified Floor values */ void InitWorkRnds(int a_FloorX, int a_FloorY, int a_FloorZ); - /// Updates m_WorkRnds[] for the new Floor values. + /** Updates m_WorkRnds[] for the new Floor values. */ void Move(int a_NewFloorX, int a_NewFloorY, int a_NewFloorZ); protected: diff --git a/src/OSSupport/CriticalSection.h b/src/OSSupport/CriticalSection.h index a95a9a0cd..236a7d203 100644 --- a/src/OSSupport/CriticalSection.h +++ b/src/OSSupport/CriticalSection.h @@ -37,7 +37,7 @@ private: -/// RAII for cCriticalSection - locks the CS on creation, unlocks on destruction +/** RAII for cCriticalSection - locks the CS on creation, unlocks on destruction */ class cCSLock { cCriticalSection * m_CS; @@ -64,7 +64,7 @@ private: -/// Temporary RAII unlock for a cCSLock. Useful for unlock-wait-relock scenarios +/** Temporary RAII unlock for a cCSLock. Useful for unlock-wait-relock scenarios */ class cCSUnlock { cCSLock & m_Lock; diff --git a/src/OSSupport/GZipFile.h b/src/OSSupport/GZipFile.h index 286c98aff..d1728fd8e 100644 --- a/src/OSSupport/GZipFile.h +++ b/src/OSSupport/GZipFile.h @@ -27,16 +27,16 @@ public: cGZipFile(void); ~cGZipFile(); - /// Opens the file. Returns true if successful. Fails if a file has already been opened through this object. + /** Opens the file. Returns true if successful. Fails if a file has already been opened through this object. */ bool Open(const AString & a_FileName, eMode a_Mode); - /// Closes the file, flushing all buffers. This object may be then reused for a different file and / or mode + /** Closes the file, flushing all buffers. This object may be then reused for a different file and / or mode */ void Close(void); - /// Reads the rest of the file and decompresses it into a_Contents. Returns the number of decompressed bytes, <0 for error + /** Reads the rest of the file and decompresses it into a_Contents. Returns the number of decompressed bytes, <0 for error */ int ReadRestOfFile(AString & a_Contents); - /// Writes a_Contents into file, compressing it along the way. Returns true if successful. Multiple writes are supported. + /** Writes a_Contents into file, compressing it along the way. Returns true if successful. Multiple writes are supported. */ bool Write(const AString & a_Contents) { return Write(a_Contents.data(), static_cast<int>(a_Contents.size())); } bool Write(const char * a_Data, int a_Size); diff --git a/src/OSSupport/Queue.h b/src/OSSupport/Queue.h index afbde1b0d..00d21c49b 100644 --- a/src/OSSupport/Queue.h +++ b/src/OSSupport/Queue.h @@ -16,19 +16,18 @@ To create a queue of type T, instantiate a cQueue<T> object. You can also modify the behavior of the queue when deleting items and when adding items that are already in the queue by providing a second parameter, a class that implements the functions Delete() and Combine(). An example is given in -cQueueFuncs and is used as the default behavior. -*/ +cQueueFuncs and is used as the default behavior. */ -/// This empty struct allows for the callback functions to be inlined +/** This empty struct allows for the callback functions to be inlined */ template <class T> struct cQueueFuncs { public: - /// Called when an Item is deleted from the queue without being returned + /** Called when an Item is deleted from the queue without being returned */ static void Delete(T) {} - /// Called when an Item is inserted with EnqueueItemIfNotPresent and there is another equal value already inserted + /** Called when an Item is inserted with EnqueueItemIfNotPresent and there is another equal value already inserted */ static void Combine(T & a_existing, const T & a_new) { UNUSED(a_existing); @@ -54,7 +53,7 @@ public: ~cQueue() {} - /// Enqueues an item to the queue, may block if other threads are accessing the queue. + /** Enqueues an item to the queue, may block if other threads are accessing the queue. */ void EnqueueItem(ItemType a_Item) { cCSLock Lock(m_CS); @@ -63,7 +62,7 @@ public: } - /// Enqueues an item in the queue if not already present (as determined by operator ==). Blocks other threads from accessing the queue. + /** Enqueues an item in the queue if not already present (as determined by operator ==). Blocks other threads from accessing the queue. */ void EnqueueItemIfNotPresent(ItemType a_Item) { cCSLock Lock(m_CS); @@ -81,8 +80,8 @@ public: } - /// Dequeues an item from the queue if any are present. - /// Returns true if successful. Value of item is undefined if dequeuing was unsuccessful. + /** Dequeues an item from the queue if any are present. + Returns true if successful. Value of item is undefined if dequeuing was unsuccessful. */ bool TryDequeueItem(ItemType & item) { cCSLock Lock(m_CS); @@ -97,7 +96,7 @@ public: } - /// Dequeues an item from the queue, blocking until an item is available. + /** Dequeues an item from the queue, blocking until an item is available. */ ItemType DequeueItem(void) { cCSLock Lock(m_CS); @@ -113,7 +112,7 @@ public: } - /// Blocks until the queue is empty. + /** Blocks until the queue is empty. */ void BlockTillEmpty(void) { cCSLock Lock(m_CS); @@ -125,7 +124,7 @@ public: } - /// Removes all Items from the Queue, calling Delete on each of them. + /** Removes all Items from the Queue, calling Delete on each of them. */ void Clear(void) { cCSLock Lock(m_CS); @@ -137,8 +136,8 @@ public: } - /// Returns the size at time of being called. - /// Do not use to determine whether to call DequeueItem(), use TryDequeueItem() instead + /** Returns the size at time of being called. + Do not use to determine whether to call DequeueItem(), use TryDequeueItem() instead */ size_t Size(void) { cCSLock Lock(m_CS); @@ -146,8 +145,8 @@ public: } - /// Removes the item from the queue. If there are multiple such items, only the first one is removed. - /// Returns true if the item has been removed, false if no such item found. + /** Removes the item from the queue. If there are multiple such items, only the first one is removed. + Returns true if the item has been removed, false if no such item found. */ bool Remove(ItemType a_Item) { cCSLock Lock(m_CS); @@ -187,16 +186,16 @@ public: } private: - /// The contents of the queue + /** The contents of the queue */ QueueType m_Contents; - /// Mutex that protects access to the queue contents + /** Mutex that protects access to the queue contents */ cCriticalSection m_CS; - /// Event that is signalled when an item is added + /** Event that is signalled when an item is added */ cEvent m_evtAdded; - /// Event that is signalled when an item is removed (both dequeued or erased) + /** Event that is signalled when an item is removed (both dequeued or erased) */ cEvent m_evtRemoved; }; diff --git a/src/ProbabDistrib.h b/src/ProbabDistrib.h index ddaadd9b7..29442bce8 100644 --- a/src/ProbabDistrib.h +++ b/src/ProbabDistrib.h @@ -48,25 +48,29 @@ public: cProbabDistrib(int a_MaxValue); - /// Sets the distribution curve using an array of [value, probability] points, linearly interpolated. a_Points must not be empty. + /** Sets the distribution curve using an array of [value, probability] points, linearly interpolated. a_Points must not be empty. */ void SetPoints(const cPoints & a_Points); - /// Sets the distribution curve using a definition string; returns true on successful parse + /** Sets the distribution curve using a definition string; returns true on successful parse */ bool SetDefString(const AString & a_DefString); - /// Gets a random value from a_Rand, shapes it into the distribution curve and returns the value. + /** Gets a random value from a_Rand, shapes it into the distribution curve and returns the value. */ int Random(MTRand & a_Rand) const; - /// Maps value in range [0, m_Sum] into the range [0, m_MaxValue] using the stored probability + /** Maps value in range [0, m_Sum] into the range [0, m_MaxValue] using the stored probability */ int MapValue(int a_OrigValue) const; int GetSum(void) const { return m_Sum; } protected: - int m_MaxValue; - cPoints m_Cumulative; ///< Cumulative probability of the values, sorted, for fast bsearch lookup - int m_Sum; ///< Sum of all the probabilities across all values in the domain; -1 if not set + int m_MaxValue; + + /** Cumulative probability of the values, sorted, for fast bsearch lookup */ + cPoints m_Cumulative; + + /** Sum of all the probabilities across all values in the domain; -1 if not set */ + int m_Sum; } ; diff --git a/src/Protocol/Protocol.h b/src/Protocol/Protocol.h index 43c92989a..9153ec8ae 100644 --- a/src/Protocol/Protocol.h +++ b/src/Protocol/Protocol.h @@ -59,7 +59,7 @@ public: virtual ~cProtocol() {} - /// Called when client sends some data + /** Called when client sends some data */ virtual void DataReceived(const char * a_Data, size_t a_Size) = 0; // Sending stuff to clients (alphabetically sorted): @@ -150,7 +150,7 @@ public: virtual void SendWindowOpen (const cWindow & a_Window) = 0; virtual void SendWindowProperty (const cWindow & a_Window, short a_Property, short a_Value) = 0; - /// Returns the ServerID used for authentication through session.minecraft.net + /** Returns the ServerID used for authentication through session.minecraft.net */ virtual AString GetAuthServerID(void) = 0; protected: diff --git a/src/Protocol/ProtocolRecognizer.h b/src/Protocol/ProtocolRecognizer.h index 090e36799..d3cfd9bf7 100644 --- a/src/Protocol/ProtocolRecognizer.h +++ b/src/Protocol/ProtocolRecognizer.h @@ -41,13 +41,13 @@ public: cProtocolRecognizer(cClientHandle * a_Client); virtual ~cProtocolRecognizer(); - /// Translates protocol version number into protocol version text: 49 -> "1.4.4" + /** Translates protocol version number into protocol version text: 49 -> "1.4.4" */ static AString GetVersionTextFromInt(int a_ProtocolVersion); - /// Called when client sends some data: + /** Called when client sends some data: */ virtual void DataReceived(const char * a_Data, size_t a_Size) override; - /// Sending stuff to clients (alphabetically sorted): + /** Sending stuff to clients (alphabetically sorted): */ virtual void SendAttachEntity (const cEntity & a_Entity, const cEntity * a_Vehicle) override; virtual void SendBlockAction (int a_BlockX, int a_BlockY, int a_BlockZ, char a_Byte1, char a_Byte2, BLOCKTYPE a_BlockType) override; virtual void SendBlockBreakAnim (UInt32 a_EntityID, int a_BlockX, int a_BlockY, int a_BlockZ, char a_Stage) override; @@ -140,15 +140,19 @@ public: virtual void SendData(const char * a_Data, size_t a_Size) override; protected: - cProtocol * m_Protocol; ///< The recognized protocol - cByteBuffer m_Buffer; ///< Buffer for the incoming data until we recognize the protocol + /** The recognized protocol */ + cProtocol * m_Protocol; + + /** Buffer for the incoming data until we recognize the protocol */ + cByteBuffer m_Buffer; - /// Tries to recognize protocol based on m_Buffer contents; returns true if recognized + + /** Tries to recognize protocol based on m_Buffer contents; returns true if recognized */ bool TryRecognizeProtocol(void); /** Tries to recognize a protocol in the lengthed family (1.7+), based on m_Buffer; returns true if recognized. The packet length and type have already been read, type is 0 - The number of bytes remaining in the packet is passed as a_PacketLengthRemaining. **/ + The number of bytes remaining in the packet is passed as a_PacketLengthRemaining. */ bool TryRecognizeLengthedProtocol(UInt32 a_PacketLengthRemaining); /** Sends a single packet contained within the cPacketizer class. diff --git a/src/RCONServer.cpp b/src/RCONServer.cpp index 7b1c2dcf6..9ca8492a9 100644 --- a/src/RCONServer.cpp +++ b/src/RCONServer.cpp @@ -336,7 +336,6 @@ void cRCONServer::cConnection::UIntToBuffer(UInt32 a_Value, char * a_Buffer) -/// Sends a RCON packet back to the client void cRCONServer::cConnection::SendResponse(UInt32 a_RequestID, UInt32 a_PacketType, UInt32 a_PayloadLength, const char * a_Payload) { ASSERT((a_PayloadLength == 0) || (a_Payload != nullptr)); // Either zero data to send, or a valid payload ptr diff --git a/src/Root.h b/src/Root.h index 0eae21384..b29fe0a5e 100644 --- a/src/Root.h +++ b/src/Root.h @@ -78,10 +78,10 @@ public: } // tolua_end - /// Calls the callback for each world; returns true if the callback didn't abort (return true) + /** Calls the callback for each world; returns true if the callback didn't abort (return true) */ bool ForEachWorld(cWorldListCallback & a_Callback); // >> Exported in ManualBindings << - /// Writes chunkstats, for each world and totals, to the output callback + /** Writes chunkstats, for each world and totals, to the output callback */ void LogChunkStats(cCommandOutputCallback & a_Output); cMonsterConfig * GetMonsterConfig(void) { return m_MonsterConfig; } @@ -89,7 +89,7 @@ public: cCraftingRecipes * GetCraftingRecipes(void) { return m_CraftingRecipes; } // tolua_export cFurnaceRecipe * GetFurnaceRecipe (void) { return m_FurnaceRecipe; } // Exported in ManualBindings.cpp with quite a different signature - /// Returns the number of ticks for how long the item would fuel a furnace. Returns zero if not a fuel + /** Returns the number of ticks for how long the item would fuel a furnace. Returns zero if not a fuel */ static int GetFurnaceFuelBurnTime(const cItem & a_Fuel); // tolua_export /** The current time where the startup of the server has been completed */ @@ -115,28 +115,28 @@ public: */ void QueueExecuteConsoleCommand(const AString & a_Cmd); // tolua_export - /// Executes a console command through the cServer class; does special handling for "stop" and "restart". + /** Executes a console command through the cServer class; does special handling for "stop" and "restart". */ void ExecuteConsoleCommand(const AString & a_Cmd, cCommandOutputCallback & a_Output); - /// Kicks the user, no matter in what world they are. Used from cAuthenticator + /** Kicks the user, no matter in what world they are. Used from cAuthenticator */ void KickUser(int a_ClientID, const AString & a_Reason); - /// Called by cAuthenticator to auth the specified user + /** Called by cAuthenticator to auth the specified user */ void AuthenticateUser(int a_ClientID, const AString & a_Name, const AString & a_UUID, const Json::Value & a_Properties); - /// Executes commands queued in the command queue + /** Executes commands queued in the command queue */ void TickCommands(void); - /// Returns the number of chunks loaded + /** Returns the number of chunks loaded */ int GetTotalChunkCount(void); // tolua_export - /// Saves all chunks in all worlds + /** Saves all chunks in all worlds */ void SaveAllChunks(void); // tolua_export - /// Calls the callback for each player in all worlds + /** Calls the callback for each player in all worlds */ bool ForEachPlayer(cPlayerListCallback & a_Callback); // >> EXPORTED IN MANUALBINDINGS << - /// Finds a player from a partial or complete player name and calls the callback - case-insensitive + /** Finds a player from a partial or complete player name and calls the callback - case-insensitive */ bool FindAndDoWithPlayer(const AString & a_PlayerName, cPlayerListCallback & a_Callback); // >> EXPORTED IN MANUALBINDINGS << /** Finds the player over his uuid and calls the callback */ @@ -153,7 +153,7 @@ public: // tolua_begin - /// Sends a chat message to all connected clients (in all worlds) + /** Sends a chat message to all connected clients (in all worlds) */ void BroadcastChat (const AString & a_Message, eMessageType a_ChatPrefix = mtCustom); void BroadcastChat (const cCompositeChat & a_Message); void BroadcastChatDeath (const AString & a_Message) { BroadcastChat(a_Message, mtDeath); } @@ -165,13 +165,13 @@ public: void BroadcastChatSuccess(const AString & a_Message) { BroadcastChat(a_Message, mtSuccess); } void BroadcastChatWarning(const AString & a_Message) { BroadcastChat(a_Message, mtWarning); } - /// Returns the textual description of the protocol version: 49 -> "1.4.4". Provided specifically for Lua API + /** Returns the textual description of the protocol version: 49 -> "1.4.4". Provided specifically for Lua API */ static AString GetProtocolVersionTextFromInt(int a_ProtocolVersionNum); - /// Returns the amount of virtual RAM used, in KiB. Returns a negative number on error + /** Returns the amount of virtual RAM used, in KiB. Returns a negative number on error */ static int GetVirtualRAMUsage(void); - /// Returns the amount of virtual RAM used, in KiB. Returns a negative number on error + /** Returns the amount of virtual RAM used, in KiB. Returns a negative number on error */ static int GetPhysicalRAMUsage(void); // tolua_end @@ -220,19 +220,19 @@ private: void LoadGlobalSettings(); - /// Loads the worlds from settings.ini, creates the worldmap + /** Loads the worlds from settings.ini, creates the worldmap */ void LoadWorlds(cSettingsRepositoryInterface & a_Settings); - /// Starts each world's life + /** Starts each world's life */ void StartWorlds(void); - /// Stops each world's threads, so that it's safe to unload them + /** Stops each world's threads, so that it's safe to unload them */ void StopWorlds(void); - /// Unloads all worlds from memory + /** Unloads all worlds from memory */ void UnloadWorlds(void); - /// Does the actual work of executing a command + /** Does the actual work of executing a command */ void DoExecuteConsoleCommand(const AString & a_Cmd); static cRoot * s_Root; diff --git a/src/Server.cpp b/src/Server.cpp index fd3188b18..313db90e6 100644 --- a/src/Server.cpp +++ b/src/Server.cpp @@ -33,10 +33,10 @@ extern "C" -// For the "dumpmem" server command: -/// Synchronize this with main.cpp - the leak finder needs initialization before it can be used to dump memory -// _X 2014_02_20: Disabled for canon repo, it makes the debug version too slow in MSVC2013 -// and we haven't had a memory leak for over a year anyway. +/** Enable the memory leak finder - needed for the "dumpmem" server command: +Synchronize this with main.cpp - the leak finder needs initialization before it can be used to dump memory +_X 2014_02_20: Disabled for canon repo, it makes the debug version too slow in MSVC2013 +and we haven't had a memory leak for over a year anyway. */ // #define ENABLE_LEAK_FINDER #if defined(_MSC_VER) && defined(_DEBUG) && defined(ENABLE_LEAK_FINDER) diff --git a/src/SettingsRepositoryInterface.h b/src/SettingsRepositoryInterface.h index 443b90ff5..a40163dd9 100644 --- a/src/SettingsRepositoryInterface.h +++ b/src/SettingsRepositoryInterface.h @@ -18,29 +18,29 @@ public: /** Returns true iff the specified value exists. */ virtual bool HasValue(const AString & a_KeyName, const AString & a_ValueName) const = 0; - /** Add a key name. Return value is not required to mean anything **/ + /** Add a key name. Return value is not required to mean anything */ virtual int AddKeyName(const AString & keyname) = 0; - /** Add a key comment, will always fail if the repository does not support comments **/ + /** Add a key comment, will always fail if the repository does not support comments */ virtual bool AddKeyComment(const AString & keyname, const AString & comment) = 0; - /** Return a key comment, returns "" for repositories that do not return comments **/ + /** Return a key comment, returns "" for repositories that do not return comments */ virtual AString GetKeyComment(const AString & keyname, const int commentID) const = 0; - /** Delete a key comment, will always fail if the repository does not support comments **/ + /** Delete a key comment, will always fail if the repository does not support comments */ virtual bool DeleteKeyComment(const AString & keyname, const int commentID) = 0; /** Adds a new value to the specified key. - If a value of the same name already exists, creates another one **/ + If a value of the same name already exists, creates another one */ virtual void AddValue (const AString & a_KeyName, const AString & a_ValueName, const AString & a_Value) = 0; - /** returns a vector containing a name, value pair for each value under the key **/ + /** returns a vector containing a name, value pair for each value under the key */ virtual std::vector<std::pair<AString, AString>> GetValues(AString a_keyName) = 0; - /** Get the value at the specified key and value, returns defValue on failure **/ + /** Get the value at the specified key and value, returns defValue on failure */ virtual AString GetValue (const AString & keyname, const AString & valuename, const AString & defValue = "") const = 0; - /** Gets the value; if not found, write the default to the repository **/ + /** Gets the value; if not found, write the default to the repository */ virtual AString GetValueSet (const AString & keyname, const AString & valuename, const AString & defValue = "") = 0; virtual int GetValueSetI(const AString & keyname, const AString & valuename, const int defValue = 0) = 0; virtual Int64 GetValueSetI(const AString & keyname, const AString & valuename, const Int64 defValue = 0) = 0; @@ -48,14 +48,14 @@ public: /** Overwrites the value of the key, value pair Specify the optional parameter as false if you do not want the value created if it doesn't exist. - Returns true if value set, false otherwise. **/ + Returns true if value set, false otherwise. */ virtual bool SetValue (const AString & a_KeyName, const AString & a_ValueName, const AString & a_Value, const bool a_CreateIfNotExists = true) = 0; virtual bool SetValueI(const AString & a_KeyName, const AString & a_ValueName, const int a_Value, const bool a_CreateIfNotExists = true) = 0; - /** Deletes the specified key, value pair **/ + /** Deletes the specified key, value pair */ virtual bool DeleteValue(const AString & keyname, const AString & valuename) = 0; - /** Writes the changes to the backing store, if the repository has one **/ + /** Writes the changes to the backing store, if the repository has one */ virtual bool Flush() = 0; }; diff --git a/src/Simulator/DelayedFluidSimulator.h b/src/Simulator/DelayedFluidSimulator.h index e3182812d..05f70e2fd 100644 --- a/src/Simulator/DelayedFluidSimulator.h +++ b/src/Simulator/DelayedFluidSimulator.h @@ -22,10 +22,10 @@ public: class cSlot { public: - /// Returns true if the specified block is stored + /** Returns true if the specified block is stored */ bool HasBlock(int a_RelX, int a_RelY, int a_RelZ); - /// Adds the specified block unless already present; returns true if added, false if the block was already present + /** Adds the specified block unless already present; returns true if added, false if the block was already present */ bool Add(int a_RelX, int a_RelY, int a_RelZ); /** Array of block containers, each item stores blocks for one Z coord @@ -37,7 +37,7 @@ public: cDelayedFluidSimulatorChunkData(int a_TickDelay); virtual ~cDelayedFluidSimulatorChunkData(); - /// Slots, one for each delay tick, each containing the blocks to simulate + /** Slots, one for each delay tick, each containing the blocks to simulate */ cSlot * m_Slots; } ; @@ -67,13 +67,11 @@ protected: int m_TotalBlocks; // Statistics only: the total number of blocks currently queued - /* - Slots: + /* Slots: | 0 | 1 | ... | m_AddSlotNum | m_SimSlotNum | ... | m_TickDelay - 1 | - | adding blocks here ^ | ^ simulating here - */ + | adding blocks here ^ | ^ simulating here */ - /// Called from SimulateChunk() to simulate each block in one slot of blocks. Descendants override this method to provide custom simulation. + /** Called from SimulateChunk() to simulate each block in one slot of blocks. Descendants override this method to provide custom simulation. */ virtual void SimulateBlock(cChunk * a_Chunk, int a_RelX, int a_RelY, int a_RelZ) = 0; } ; diff --git a/src/Simulator/FireSimulator.h b/src/Simulator/FireSimulator.h index a40e29565..a59c66de5 100644 --- a/src/Simulator/FireSimulator.h +++ b/src/Simulator/FireSimulator.h @@ -31,35 +31,34 @@ public: static bool DoesBurnForever(BLOCKTYPE a_BlockType); protected: - /// Time (in msec) that a fire block takes to burn with a fuel block into the next step + /** Time (in msec) that a fire block takes to burn with a fuel block into the next step */ unsigned m_BurnStepTimeFuel; - /// Time (in msec) that a fire block takes to burn without a fuel block into the next step + /** Time (in msec) that a fire block takes to burn without a fuel block into the next step */ unsigned m_BurnStepTimeNonfuel; - /// Chance [0..100000] of an adjacent fuel to catch fire on each tick + /** Chance [0..100000] of an adjacent fuel to catch fire on each tick */ int m_Flammability; - /// Chance [0..100000] of a fuel burning out being replaced by a new fire block instead of an air block + /** Chance [0..100000] of a fuel burning out being replaced by a new fire block instead of an air block */ int m_ReplaceFuelChance; virtual void AddBlock(int a_BlockX, int a_BlockY, int a_BlockZ, cChunk * a_Chunk) override; - /// Returns the time [msec] after which the specified fire block is stepped again; based on surrounding fuels + /** Returns the time [msec] after which the specified fire block is stepped again; based on surrounding fuels */ int GetBurnStepTime(cChunk * a_Chunk, int a_RelX, int a_RelY, int a_RelZ); - /// Tries to spread fire to a neighborhood of the specified block + /** Tries to spread fire to a neighborhood of the specified block */ void TrySpreadFire(cChunk * a_Chunk, int a_RelX, int a_RelY, int a_RelZ); - /// Removes all burnable blocks neighboring the specified block + /** Removes all burnable blocks neighboring the specified block */ void RemoveFuelNeighbors(cChunk * a_Chunk, int a_RelX, int a_RelY, int a_RelZ); /** Returns true if a fire can be started in the specified block, that is, it is an air block and has fuel next to it. Note that a_NearChunk may be a chunk neighbor to the block specified! - The coords are relative to a_NearChunk but not necessarily in it. - */ + The coords are relative to a_NearChunk but not necessarily in it. */ bool CanStartFireInBlock(cChunk * a_NearChunk, int a_RelX, int a_RelY, int a_RelZ); } ; @@ -67,7 +66,7 @@ protected: -/// Stores individual fire blocks in the chunk; the int data is used as the time [msec] the fire takes to step to another stage (blockmeta++) +/** Stores individual fire blocks in the chunk; the int data is used as the time [msec] the fire takes to step to another stage (blockmeta++) */ typedef cCoordWithIntList cFireSimulatorChunkData; diff --git a/src/Simulator/FluidSimulator.h b/src/Simulator/FluidSimulator.h index 6d2c6a679..87a1361f1 100644 --- a/src/Simulator/FluidSimulator.h +++ b/src/Simulator/FluidSimulator.h @@ -24,8 +24,7 @@ enum Direction /** This is a base class for all fluid simulator data classes. -Needed so that cChunk can properly delete instances of fluid simulator data, no matter what simulator it's using -*/ +Needed so that cChunk can properly delete instances of fluid simulator data, no matter what simulator it's using. */ class cFluidSimulatorData { public: @@ -47,10 +46,10 @@ public: // cSimulator overrides: virtual bool IsAllowedBlock(BLOCKTYPE a_BlockType) override; - /// Gets the flowing direction. If a_Over is true also the block over the current block affects the direction (standard) + /** Gets the flowing direction. If a_Over is true also the block over the current block affects the direction (standard) */ virtual Direction GetFlowingDirection(int a_X, int a_Y, int a_Z, bool a_Over = true); - /// Creates a ChunkData object for the simulator to use. The simulator returns the correct object type. + /** Creates a ChunkData object for the simulator to use. The simulator returns the correct object type. */ virtual cFluidSimulatorData * CreateChunkData(void) { return nullptr; } bool IsFluidBlock (BLOCKTYPE a_BlockType) const { return (a_BlockType == m_FluidBlock); } @@ -62,7 +61,7 @@ public: bool IsSolidBlock (BLOCKTYPE a_BlockType); bool IsPassableForFluid(BLOCKTYPE a_BlockType); - /// Returns true if a_Meta1 is a higher fluid than a_Meta2. Takes source blocks into account. + /** Returns true if a_Meta1 is a higher fluid than a_Meta2. Takes source blocks into account. */ bool IsHigherMeta(NIBBLETYPE a_Meta1, NIBBLETYPE a_Meta2); protected: diff --git a/src/Simulator/IncrementalRedstoneSimulator.h b/src/Simulator/IncrementalRedstoneSimulator.h index 394250800..429bc6785 100644 --- a/src/Simulator/IncrementalRedstoneSimulator.h +++ b/src/Simulator/IncrementalRedstoneSimulator.h @@ -71,12 +71,11 @@ private: bool ShouldPowerOn; // What happens when the delay time is fulfilled? }; + /** Per-chunk data for the simulator, specified individual chunks to simulate */ class cIncrementalRedstoneSimulatorChunkData : public cRedstoneSimulatorChunkData { public: - /// Per-chunk data for the simulator, specified individual chunks to simulate - /** test */ std::unordered_map<Vector3i, std::pair<BLOCKTYPE, bool>, VectorHasher<int>> m_ChunkData; std::vector<sPoweredBlocks> m_PoweredBlocks; @@ -241,7 +240,7 @@ private: The only diffence between this and a normal AreCoordsPowered is that this function checks for a wire powering another wire */ static unsigned char IsWirePowered(Vector3i a_RelBlockPosition, cChunk * a_Chunk); - /** Handles delayed updates to repeaters **/ + /** Handles delayed updates to repeaters */ void HandleRedstoneRepeaterDelays(void); /** Returns if lever metadata marks it as emitting power */ diff --git a/src/Simulator/SandSimulator.h b/src/Simulator/SandSimulator.h index 8fff659ed..68ba718bd 100644 --- a/src/Simulator/SandSimulator.h +++ b/src/Simulator/SandSimulator.h @@ -3,13 +3,25 @@ #include "Simulator.h" -/// Per-chunk data for the simulator, specified individual chunks to simulate; Data is not used + + + + +// fwd: +class cChunk; + + + + + +/** Per-chunk data for the simulator, specified individual chunks to simulate; Data is not used */ typedef cCoordWithIntList cSandSimulatorChunkData; -#include "Chunk.h" -/// Despite the class name, this simulator takes care of all blocks that fall when suspended in the air. + + +/** Despite the class name, this simulator takes care of all blocks that fall when suspended in the air. */ class cSandSimulator : public cSimulator { @@ -21,23 +33,22 @@ public: virtual void SimulateChunk(std::chrono::milliseconds a_Dt, int a_ChunkX, int a_ChunkZ, cChunk * a_Chunk) override; virtual bool IsAllowedBlock(BLOCKTYPE a_BlockType) override; - /// Returns true if a falling-able block can start falling through the specified block type + /** Returns true if a falling-able block can start falling through the specified block type */ static bool CanStartFallingThrough(BLOCKTYPE a_BlockType); - /// Returns true if an already-falling block can pass through the specified block type (e. g. torch) + /** Returns true if an already-falling block can pass through the specified block type (e. g. torch) */ static bool CanContinueFallThrough(BLOCKTYPE a_BlockType); - /// Returns true if the falling block rematerializing will replace the specified block type (e. g. tall grass) + /** Returns true if the falling block rematerializing will replace the specified block type (e. g. tall grass) */ static bool IsReplacedOnRematerialization(BLOCKTYPE a_BlockType); - /// Returns true if the specified block breaks falling blocks while they fall through it (e. g. halfslabs) + /** Returns true if the specified block breaks falling blocks while they fall through it (e. g. halfslabs) */ static bool DoesBreakFallingThrough(BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta); /** Called when a block finishes falling at the specified coords, either by insta-fall, or through cFallingBlock entity. It either rematerializes the block (a_FallingBlockType) at the specified coords, or creates a pickup, - based on the block currently present in the world at the dest specified coords - */ + based on the block currently present in the world at the dest specified coords. */ static void FinishFalling( cWorld * a_World, int a_BlockX, int a_BlockY, int a_BlockZ, BLOCKTYPE a_FallingBlockType, NIBBLETYPE a_FallingBlockMeta @@ -50,7 +61,7 @@ protected: virtual void AddBlock(int a_BlockX, int a_BlockY, int a_BlockZ, cChunk * a_Chunk) override; - /// Performs the instant fall of the block - removes it from top, Finishes it at the bottom + /** Performs the instant fall of the block - removes it from top, Finishes it at the bottom */ void DoInstantFall(cChunk * a_Chunk, int a_RelX, int a_RelY, int a_RelZ); }; diff --git a/src/Simulator/Simulator.h b/src/Simulator/Simulator.h index c8066edfd..421960083 100644 --- a/src/Simulator/Simulator.h +++ b/src/Simulator/Simulator.h @@ -20,10 +20,10 @@ public: virtual ~cSimulator() {} - /// Called in each tick, a_Dt is the time passed since the last tick, in msec + /** Called in each tick, a_Dt is the time passed since the last tick, in msec */ virtual void Simulate(float a_Dt) = 0; - /// Called in each tick for each chunk, a_Dt is the time passed since the last tick, in msec; direct access to chunk data available + /** Called in each tick for each chunk, a_Dt is the time passed since the last tick, in msec; direct access to chunk data available */ virtual void SimulateChunk(std::chrono::milliseconds a_Dt, int a_ChunkX, int a_ChunkZ, cChunk * a_Chunk) { UNUSED(a_Dt); @@ -32,7 +32,7 @@ public: UNUSED(a_Chunk); } - /// Called when a block changes + /** Called when a block changes */ virtual void WakeUp(int a_BlockX, int a_BlockY, int a_BlockZ, cChunk * a_Chunk); virtual bool IsAllowedBlock(BLOCKTYPE a_BlockType) = 0; @@ -40,7 +40,7 @@ public: protected: friend class cChunk; // Calls AddBlock() in its WakeUpSimulators() function, to speed things up - /// Called to simulate a new block + /** Called to simulate a new block */ virtual void AddBlock(int a_BlockX, int a_BlockY, int a_BlockZ, cChunk * a_Chunk) = 0; cWorld & m_World; diff --git a/src/StringCompression.cpp b/src/StringCompression.cpp index dd22dd4d4..a7f2db2a9 100644 --- a/src/StringCompression.cpp +++ b/src/StringCompression.cpp @@ -10,7 +10,6 @@ -/// Compresses a_Data into a_Compressed; returns Z_XXX error constants same as zlib's compress2() int CompressString(const char * a_Data, size_t a_Length, AString & a_Compressed, int a_Factor) { uLongf CompressedSize = compressBound(static_cast<uLong>(a_Length)); @@ -32,7 +31,6 @@ int CompressString(const char * a_Data, size_t a_Length, AString & a_Compressed, -/// Uncompresses a_Data into a_Decompressed; returns Z_XXX error constants same as zlib's uncompress() int UncompressString(const char * a_Data, size_t a_Length, AString & a_Uncompressed, size_t a_UncompressedSize) { // HACK: We're assuming that AString returns its internal buffer in its data() call and we're overwriting that buffer! diff --git a/src/StringCompression.h b/src/StringCompression.h index dde17ce30..10c00a804 100644 --- a/src/StringCompression.h +++ b/src/StringCompression.h @@ -9,16 +9,16 @@ -/// Compresses a_Data into a_Compressed using ZLIB; returns Z_XXX error constants same as zlib's compress2() +/** Compresses a_Data into a_Compressed using ZLIB; returns Z_XXX error constants same as zlib's compress2() */ extern int CompressString(const char * a_Data, size_t a_Length, AString & a_Compressed, int a_Factor); -/// Uncompresses a_Data into a_Uncompressed; returns Z_XXX error constants same as zlib's decompress() +/** Uncompresses a_Data into a_Uncompressed; returns Z_XXX error constants same as zlib's decompress() */ extern int UncompressString(const char * a_Data, size_t a_Length, AString & a_Uncompressed, size_t a_UncompressedSize); -/// Compresses a_Data into a_Compressed using GZIP; returns Z_OK for success or Z_XXX error constants same as zlib +/** Compresses a_Data into a_Compressed using GZIP; returns Z_OK for success or Z_XXX error constants same as zlib */ extern int CompressStringGZIP(const char * a_Data, size_t a_Length, AString & a_Compressed); -/// Uncompresses a_Data into a_Uncompressed using GZIP; returns Z_OK for success or Z_XXX error constants same as zlib +/** Uncompresses a_Data into a_Uncompressed using GZIP; returns Z_OK for success or Z_XXX error constants same as zlib */ extern int UncompressStringGZIP(const char * a_Data, size_t a_Length, AString & a_Uncompressed); /** Uncompresses a_Data into a_Uncompressed using Inflate; returns Z_OK for success or Z_XXX error constants same as zlib */ diff --git a/src/StringUtils.cpp b/src/StringUtils.cpp index 34e25f379..337613674 100644 --- a/src/StringUtils.cpp +++ b/src/StringUtils.cpp @@ -782,7 +782,7 @@ AString ReplaceAllCharOccurrences(const AString & a_String, char a_From, char a_ -/// Converts one Hex character in a Base64 encoding into the data value +/** Converts one Hex character in a Base64 encoding into the data value */ static inline int UnBase64(char c) { if ((c >='A') && (c <= 'Z')) diff --git a/src/StringUtils.h b/src/StringUtils.h index 62767d007..f2a9e372b 100644 --- a/src/StringUtils.h +++ b/src/StringUtils.h @@ -94,25 +94,25 @@ extern AString EscapeString(const AString & a_Message); // tolua_export /** Removes all control codes used by MC for colors and styles. */ extern AString StripColorCodes(const AString & a_Message); // tolua_export -/// URL-Decodes the given string, replacing all "%HH" into the correct characters. Invalid % sequences are left intact +/** URL-Decodes the given string, replacing all "%HH" into the correct characters. Invalid % sequences are left intact */ extern AString URLDecode(const AString & a_String); // Cannot export to Lua automatically - would generated an extra return value -/// Replaces all occurrences of char a_From inside a_String with char a_To. +/** Replaces all occurrences of char a_From inside a_String with char a_To. */ extern AString ReplaceAllCharOccurrences(const AString & a_String, char a_From, char a_To); // Needn't export to Lua, since Lua doesn't have chars anyway -/// Decodes a Base64-encoded string into the raw data +/** Decodes a Base64-encoded string into the raw data */ extern AString Base64Decode(const AString & a_Base64String); // Exported manually due to embedded NULs and extra parameter -/// Encodes a string into Base64 +/** Encodes a string into Base64 */ extern AString Base64Encode(const AString & a_Input); // Exported manually due to embedded NULs and extra parameter -/// Reads two bytes from the specified memory location and interprets them as BigEndian short +/** Reads two bytes from the specified memory location and interprets them as BigEndian short */ extern short GetBEShort(const char * a_Mem); -/// Reads four bytes from the specified memory location and interprets them as BigEndian int +/** Reads four bytes from the specified memory location and interprets them as BigEndian int */ extern int GetBEInt(const char * a_Mem); -/// Writes four bytes to the specified memory location so that they interpret as BigEndian int +/** Writes four bytes to the specified memory location so that they interpret as BigEndian int */ extern void SetBEInt(char * a_Mem, Int32 a_Value); /** Splits a string that has embedded \0 characters, on those characters. diff --git a/src/Tracer.h b/src/Tracer.h index 55c21546b..d8422a7c6 100644 --- a/src/Tracer.h +++ b/src/Tracer.h @@ -22,48 +22,48 @@ class cTracer { public: - /// Contains the position of the block that caused the collision + /** Contains the position of the block that caused the collision */ Vector3f BlockHitPosition; - /// Contains which face was hit + /** Contains which face was hit */ Vector3f HitNormal; - /// Contains the exact position where a collision occured. (BlockHitPosition + Offset on block) + /** Contains the exact position where a collision occured. (BlockHitPosition + Offset on block) */ Vector3f RealHit; cTracer(cWorld * a_World); ~cTracer(); - /// Determines if a collision occures along a line. Returns true if a collision occurs. + /** Determines if a collision occures along a line. Returns true if a collision occurs. */ bool Trace(const Vector3f & a_Start, const Vector3f & a_Direction, int a_Distance) { return Trace(a_Start, a_Direction, a_Distance, false); } - /// Determines if a collision occures along a line. Returns true if a collision occurs. - /// When a_LineOfSight is true, we don't use the standard collision detection rules. Instead we use - /// the rules for monster vision. E.g. Only water and air do not block vision. - /// a_Distance is the number of iterations (blocks hits) that are tested. + /** Determines if a collision occures along a line. Returns true if a collision occurs. + When a_LineOfSight is true, we don't use the standard collision detection rules. Instead we use + the rules for monster vision. E.g. Only water and air do not block vision. + a_Distance is the number of iterations (blocks hits) that are tested. */ bool Trace(const Vector3f & a_Start, const Vector3f & a_Direction, int a_Distance, bool a_LineOfSight); private: - /// Preps Tracer object for call of Trace function. Only used internally. - void SetValues( const Vector3f & a_Start, const Vector3f & a_Direction); + /** Preps Tracer object for call of Trace function. Only used internally. */ + void SetValues(const Vector3f & a_Start, const Vector3f & a_Direction); - /// Calculates where on the block a collision occured, if it does occur - /// Returns 0 if no intersection occured - /// Returns 1 if an intersection occured at a single point - /// Returns 2 if the line segment lies in the plane being checked - int intersect3D_SegmentPlane( const Vector3f & a_Origin, const Vector3f & a_End, const Vector3f & a_PlanePos, const Vector3f & a_PlaneNormal); + /** Calculates where on the block a collision occured, if it does occur + Returns 0 if no intersection occured + Returns 1 if an intersection occured at a single point + Returns 2 if the line segment lies in the plane being checked */ + int intersect3D_SegmentPlane(const Vector3f & a_Origin, const Vector3f & a_End, const Vector3f & a_PlanePos, const Vector3f & a_PlaneNormal); - /// Determines which face on the block a collision occured, if it does occur - /// Returns 0 if the block is air, water or no collision occured - /// Return 1 through 6 for the following block faces, repectively: -x, -z, x, z, y, -y - int GetHitNormal( const Vector3f & start, const Vector3f & end, const Vector3i & a_BlockPos); + /** Determines which face on the block a collision occured, if it does occur + Returns 0 if the block is air, water or no collision occured + Return 1 through 6 for the following block faces, repectively: -x, -z, x, z, y, -y */ + int GetHitNormal(const Vector3f & start, const Vector3f & end, const Vector3i & a_BlockPos); - /// Signum function + /** Signum function */ int SigNum(float a_Num); cWorld * m_World; diff --git a/src/UI/SlotArea.h b/src/UI/SlotArea.h index cd340408a..b150c47a1 100644 --- a/src/UI/SlotArea.h +++ b/src/UI/SlotArea.h @@ -35,19 +35,19 @@ public: int GetNumSlots(void) const { return m_NumSlots; } - /// Called to retrieve an item in the specified slot for the specified player. Must return a valid cItem. + /** Called to retrieve an item in the specified slot for the specified player. Must return a valid cItem. */ virtual const cItem * GetSlot(int a_SlotNum, cPlayer & a_Player) const = 0; - /// Called to set an item in the specified slot for the specified player + /** Called to set an item in the specified slot for the specified player */ virtual void SetSlot(int a_SlotNum, cPlayer & a_Player, const cItem & a_Item) = 0; - /// Called when a player clicks in the window. Parameters taken from the click packet. + /** Called when a player clicks in the window. Parameters taken from the click packet. */ virtual void Clicked(cPlayer & a_Player, int a_SlotNum, eClickAction a_ClickAction, const cItem & a_ClickedItem); - /// Called from Clicked when the action is a shiftclick (left or right) + /** Called from Clicked when the action is a shiftclick (left or right) */ virtual void ShiftClicked(cPlayer & a_Player, int a_SlotNum, const cItem & a_ClickedItem); - /// Called from Clicked when the action is a caDblClick + /** Called from Clicked when the action is a caDblClick */ virtual void DblClicked(cPlayer & a_Player, int a_SlotNum); /** Called from Clicked when the action is a middleclick */ @@ -59,24 +59,23 @@ public: /** Called from Clicked when the action is a number click. */ virtual void NumberClicked(cPlayer & a_Player, int a_SlotNum, eClickAction a_ClickAction); - /// Called when a new player opens the same parent window. The window already tracks the player. CS-locked. + /** Called when a new player opens the same parent window. The window already tracks the player. CS-locked. */ virtual void OnPlayerAdded(cPlayer & a_Player); - /// Called when one of the players closes the parent window. The window already doesn't track the player. CS-locked. + /** Called when one of the players closes the parent window. The window already doesn't track the player. CS-locked. */ virtual void OnPlayerRemoved(cPlayer & a_Player); /** Called to store as much of a_ItemStack in the area as possible. a_ItemStack is modified to reflect the change. The default implementation searches each slot for available space and distributes the stack there. if a_ShouldApply is true, the changes are written into the slots; if a_ShouldApply is false, only a_ItemStack is modified to reflect the number of fits (for fit-testing purposes) - If a_KeepEmptySlots is true, empty slots will be skipped and won't be filled - */ + If a_KeepEmptySlots is true, empty slots will be skipped and won't be filled */ virtual void DistributeStack(cItem & a_ItemStack, cPlayer & a_Player, bool a_ShouldApply, bool a_KeepEmptySlots, bool a_BackFill); - /// Called on DblClicking to collect all stackable items into hand. - /// The items are accumulated in a_Dragging and removed from the slots immediately. - /// If a_CollectFullStacks is false, slots with full stacks are skipped while collecting. - /// Returns true if full stack has been collected in a_Dragging, false if there's space remaining to fill. + /** Called on DblClicking to collect all stackable items into hand. + The items are accumulated in a_Dragging and removed from the slots immediately. + If a_CollectFullStacks is false, slots with full stacks are skipped while collecting. + Returns true if full stack has been collected in a_Dragging, false if there's space remaining to fill. */ virtual bool CollectItemsToHand(cItem & a_Dragging, cPlayer & a_Player, bool a_CollectFullStacks); protected: @@ -88,7 +87,7 @@ protected: -/// Handles any part of the inventory, using parameters in constructor to distinguish between the parts +/** Handles any part of the inventory, using parameters in constructor to distinguish between the parts */ class cSlotAreaInventoryBase : public cSlotArea { @@ -111,7 +110,7 @@ protected: -/// Handles the main inventory of each player, excluding the armor and hotbar +/** Handles the main inventory of each player, excluding the armor and hotbar */ class cSlotAreaInventory : public cSlotAreaInventoryBase { @@ -128,7 +127,7 @@ public: -/// Handles the hotbar of each player +/** Handles the hotbar of each player */ class cSlotAreaHotBar : public cSlotAreaInventoryBase { @@ -145,7 +144,7 @@ public: -/// Handles the armor area of the player's inventory +/** Handles the armor area of the player's inventory */ class cSlotAreaArmor : public cSlotAreaInventoryBase { @@ -168,7 +167,7 @@ public: -/// Handles any slot area that is representing a cItemGrid; same items for all the players +/** Handles any slot area that is representing a cItemGrid; same items for all the players */ class cSlotAreaItemGrid : public cSlotArea, public cItemGrid::cListener @@ -196,8 +195,7 @@ protected: /** A cSlotArea with items layout that is private to each player and is temporary, such as a crafting grid or an enchantment table. -This common ancestor stores the items in a per-player map. It also implements tossing items from the map. -*/ +This common ancestor stores the items in a per-player map. It also implements tossing items from the map. */ class cSlotAreaTemporary : public cSlotArea { @@ -212,7 +210,7 @@ public: virtual void OnPlayerAdded (cPlayer & a_Player) override; virtual void OnPlayerRemoved(cPlayer & a_Player) override; - /// Tosses the player's items in slots [a_Begin, a_End) (ie. incl. a_Begin, but excl. a_End) + /** Tosses the player's items in slots [a_Begin, a_End) (ie. incl. a_Begin, but excl. a_End) */ void TossItems(cPlayer & a_Player, int a_Begin, int a_End); protected: @@ -220,7 +218,7 @@ protected: cItemMap m_Items; - /// Returns the pointer to the slot array for the player specified. + /** Returns the pointer to the slot array for the player specified. */ cItem * GetPlayerSlots(cPlayer & a_Player); } ; @@ -234,7 +232,7 @@ class cSlotAreaCrafting : typedef cSlotAreaTemporary super; public: - /// a_GridSize is allowed to be only 2 or 3 + /** a_GridSize is allowed to be only 2 or 3 */ cSlotAreaCrafting(int a_GridSize, cWindow & a_ParentWindow); // cSlotAreaTemporary overrides: @@ -450,7 +448,7 @@ protected: // cItemGrid::cListener overrides: virtual void OnSlotChanged(cItemGrid * a_ItemGrid, int a_SlotNum) override; - /// Called after an item has been smelted to handle statistics etc. + /** Called after an item has been smelted to handle statistics etc. */ void HandleSmeltItem(const cItem & a_Result, cPlayer & a_Player); } ; diff --git a/src/UI/Window.h b/src/UI/Window.h index 156028465..cb8f40767 100644 --- a/src/UI/Window.h +++ b/src/UI/Window.h @@ -81,35 +81,35 @@ public: cWindowOwner * GetOwner(void) { return m_Owner; } void SetOwner( cWindowOwner * a_Owner) { m_Owner = a_Owner; } - /// Returns the total number of slots + /** Returns the total number of slots */ int GetNumSlots(void) const; - /// Returns the number of slots, excluding the player's inventory (used for network protocols) + /** Returns the number of slots, excluding the player's inventory (used for network protocols) */ int GetNumNonInventorySlots(void) const { return GetNumSlots() - c_NumInventorySlots; } // tolua_begin - /// Returns the item at the specified slot for the specified player. Returns nullptr if invalid SlotNum requested + /** Returns the item at the specified slot for the specified player. Returns nullptr if invalid SlotNum requested */ const cItem * GetSlot(cPlayer & a_Player, int a_SlotNum) const; - /// Sets the item to the specified slot for the specified player + /** Sets the item to the specified slot for the specified player */ void SetSlot(cPlayer & a_Player, int a_SlotNum, const cItem & a_Item); - /// Returns true if the specified slot is in the Player Main Inventory slotarea + /** Returns true if the specified slot is in the Player Main Inventory slotarea */ bool IsSlotInPlayerMainInventory(int a_SlotNum) const; - /// Returns true if the specified slot is in the Player Hotbar slotarea + /** Returns true if the specified slot is in the Player Hotbar slotarea */ bool IsSlotInPlayerHotbar(int a_SlotNum) const; - /// Returns true if the specified slot is in the Player Main Inventory or Hotbar slotareas. Note that returns false for Armor. + /** Returns true if the specified slot is in the Player Main Inventory or Hotbar slotareas. Note that returns false for Armor. */ bool IsSlotInPlayerInventory(int a_SlotNum) const; // tolua_end - /// Fills a_Slots with the slots read from m_SlotAreas[], for the specified player + /** Fills a_Slots with the slots read from m_SlotAreas[], for the specified player */ void GetSlots(cPlayer & a_Player, cItems & a_Slots) const; - /// Handles a click event from a player + /** Handles a click event from a player */ void Clicked( cPlayer & a_Player, int a_WindowID, short a_SlotNum, eClickAction a_ClickAction, @@ -118,16 +118,16 @@ public: virtual void OpenedByPlayer(cPlayer & a_Player); - /// Called when a player closes this window; notifies all slot areas. Returns true if close accepted + /** Called when a player closes this window; notifies all slot areas. Returns true if close accepted */ virtual bool ClosedByPlayer(cPlayer & a_Player, bool a_CanRefuse); - /// Sends the specified slot's contents to all clients of this window; the slot is specified as local in an area + /** Sends the specified slot's contents to all clients of this window; the slot is specified as local in an area */ void BroadcastSlot(cSlotArea * a_Area, int a_LocalSlotNum); - /// Sends the contents of the whole window to the specified client + /** Sends the contents of the whole window to the specified client */ void SendWholeWindow(cClientHandle & a_Client); - /// Sends the contents of the whole window to all clients of this window. + /** Sends the contents of the whole window to all clients of this window. */ void BroadcastWholeWindow(void); // tolua_begin @@ -135,20 +135,20 @@ public: const AString & GetWindowTitle() const { return m_WindowTitle; } void SetWindowTitle(const AString & a_WindowTitle) { m_WindowTitle = a_WindowTitle; } - /// Sends the UpdateWindowProperty (0x69) packet to all clients of the window + /** Sends the UpdateWindowProperty (0x69) packet to all clients of the window */ virtual void SetProperty(short a_Property, short a_Value); - /// Sends the UpdateWindowPropert(0x69) packet to the specified player + /** Sends the UpdateWindowPropert(0x69) packet to the specified player */ virtual void SetProperty(short a_Property, short a_Value, cPlayer & a_Player); // tolua_end void OwnerDestroyed(void); - /// Calls the callback safely for each player that has this window open; returns true if all players have been enumerated + /** Calls the callback safely for each player that has this window open; returns true if all players have been enumerated */ bool ForEachPlayer(cItemCallback<cPlayer> & a_Callback); - /// Calls the callback safely for each client that has this window open; returns true if all clients have been enumerated + /** Calls the callback safely for each client that has this window open; returns true if all clients have been enumerated */ bool ForEachClient(cItemCallback<cClientHandle> & a_Callback); /** Called on shift-clicking to distribute the stack into other areas; Modifies a_ItemStack as it is distributed! @@ -168,7 +168,7 @@ public: Returns true if full stack has been collected, false if there's space remaining to fill. */ bool CollectItemsToHand(cItem & a_Dragging, cSlotArea & a_Area, cPlayer & a_Player, bool a_CollectFullStacks); - /// Used by cSlotAreas to send individual slots to clients, a_RelativeSlotNum is the slot number relative to a_SlotArea + /** Used by cSlotAreas to send individual slots to clients, a_RelativeSlotNum is the slot number relative to a_SlotArea */ void SendSlot(cPlayer & a_Player, cSlotArea * a_SlotArea, int a_RelativeSlotNum); protected: @@ -187,35 +187,33 @@ protected: static Byte m_WindowIDCounter; - /// Sets the internal flag as "destroyed"; notifies the owner that the window is destroying + /** Sets the internal flag as "destroyed"; notifies the owner that the window is destroying */ virtual void Destroy(void); /** Returns the correct slot area for the specified window-global SlotNum Also returns the area-local SlotNum corresponding to the GlobalSlotNum - If the global SlotNum is out of range, returns nullptr - */ + If the global SlotNum is out of range, returns nullptr */ cSlotArea * GetSlotArea(int a_GlobalSlotNum, int & a_LocalSlotNum); /** Returns the correct slot area for the specified window-global SlotNum Also returns the area-local SlotNum corresponding to the GlobalSlotNum If the global SlotNum is out of range, returns nullptr. - Const version. - */ + Const version. */ const cSlotArea * GetSlotArea(int a_GlobalSlotNum, int & a_LocalSlotNum) const; - /// Prepares the internal structures for inventory painting from the specified player + /** Prepares the internal structures for inventory painting from the specified player */ void OnPaintBegin(cPlayer & a_Player); - /// Adds the slot to the internal structures for inventory painting by the specified player + /** Adds the slot to the internal structures for inventory painting by the specified player */ void OnPaintProgress(cPlayer & a_Player, int a_SlotNum); - /// Processes the entire action stored in the internal structures for inventory painting; distributes as many items as possible + /** Processes the entire action stored in the internal structures for inventory painting; distributes as many items as possible */ void OnLeftPaintEnd(cPlayer & a_Player); - /// Processes the entire action stored in the internal structures for inventory painting; distributes one item into each slot + /** Processes the entire action stored in the internal structures for inventory painting; distributes one item into each slot */ void OnRightPaintEnd(cPlayer & a_Player); - /// Distributes a_NumToEachSlot items into the slots specified in a_SlotNums; returns the total number of items distributed + /** Distributes a_NumToEachSlot items into the slots specified in a_SlotNums; returns the total number of items distributed */ int DistributeItemToSlots(cPlayer & a_Player, const cItem & a_Item, int a_NumToEachSlot, const cSlotNums & a_SlotNums); } ; // tolua_export diff --git a/src/UI/WindowOwner.h b/src/UI/WindowOwner.h index 4dc3cf080..72a5348c4 100644 --- a/src/UI/WindowOwner.h +++ b/src/UI/WindowOwner.h @@ -4,20 +4,16 @@ #include "../Entities/Entity.h" #include "Window.h" -/* -Being a descendant of cWindowOwner means that the class can own one window. That window can be +/* Being a descendant of cWindowOwner means that the class can own one window. That window can be queried, opened by other players, closed by players and finally destroyed. Also, a cWindowOwner can be queried for the block coords where the window is displayed. That will be used -for entities / players in motion to close their windows when they get too far away from the window "source". -*/ +for entities / players in motion to close their windows when they get too far away from the window "source". */ -/** -Base class for the window owning -*/ +/** Base class for the window owning */ class cWindowOwner { public: @@ -46,7 +42,7 @@ public: return m_Window; } - /// Returns the block position at which the element owning the window is + /** Returns the block position at which the element owning the window is */ virtual Vector3i GetBlockPos(void) = 0; private: @@ -57,9 +53,7 @@ private: -/** -Window owner that is associated with a block entity (chest, furnace, ...) -*/ +/** Window owner that is associated with a block entity (chest, furnace, ...) */ class cBlockEntityWindowOwner : public cWindowOwner { @@ -82,9 +76,7 @@ private: -/** -Window owner that is associated with an entity (chest minecart) -*/ +/** Window owner that is associated with an entity (chest minecart etc.) */ class cEntityWindowOwner : public cWindowOwner { diff --git a/src/VoronoiMap.h b/src/VoronoiMap.h index a04a613d5..7700b1306 100644 --- a/src/VoronoiMap.h +++ b/src/VoronoiMap.h @@ -54,7 +54,7 @@ public: ); protected: - /// The noise used for generating Voronoi seeds + /** The noise used for generating Voronoi seeds */ cNoise m_Noise1; cNoise m_Noise2; cNoise m_Noise3; diff --git a/src/World.cpp b/src/World.cpp index 890d74166..f929e2d1a 100644 --- a/src/World.cpp +++ b/src/World.cpp @@ -1108,7 +1108,6 @@ void cWorld::WakeUpSimulators(int a_BlockX, int a_BlockY, int a_BlockZ) -/// Wakes up the simulators for the specified area of blocks void cWorld::WakeUpSimulatorsInArea(int a_MinBlockX, int a_MaxBlockX, int a_MinBlockY, int a_MaxBlockY, int a_MinBlockZ, int a_MaxBlockZ) { return m_ChunkMap->WakeUpSimulatorsInArea(a_MinBlockX, a_MaxBlockX, a_MinBlockY, a_MaxBlockY, a_MinBlockZ, a_MaxBlockZ); diff --git a/src/World.h b/src/World.h index ab2b197c5..1ee473970 100644 --- a/src/World.h +++ b/src/World.h @@ -316,7 +316,7 @@ public: bool HasChunkAnyClients(int a_ChunkX, int a_ChunkZ) const; - /** Queues a task to unload unused chunks onto the tick thread. The prefferred way of unloading*/ + /** Queues a task to unload unused chunks onto the tick thread. The prefferred way of unloading. */ void QueueUnloadUnusedChunks(void); // tolua_export void CollectPickupsByPlayer(cPlayer & a_Player); @@ -630,7 +630,8 @@ public: bool DoWithChunk(int a_ChunkX, int a_ChunkZ, cChunkCallback & a_Callback); bool DoWithChunk(int a_ChunkX, int a_ChunkZ, std::function<bool(cChunk &)> a_Callback); - /** Calls the callback for the chunk at the block position specified, with ChunkMapCS locked; returns false if the chunk doesn't exist, otherwise returns the same value as the callback **/ + /** Calls the callback for the chunk at the block position specified, with ChunkMapCS locked. + Returns false if the chunk isn't loaded, otherwise returns the same value as the callback */ bool DoWithChunkAt(Vector3i a_BlockPos, std::function<bool(cChunk &)> a_Callback); void GrowTreeImage(const sSetBlockVector & a_Blocks); @@ -1120,24 +1121,24 @@ private: /** Ticks all clients that are in this world */ void TickClients(float a_Dt); - /** Unloads all chunks immediately.*/ + /** Unloads all chunks immediately. */ void UnloadUnusedChunks(void); void UpdateSkyDarkness(void); - /** <summary>Generates a random spawnpoint on solid land by walking chunks and finding their biomes</summary> */ + /** Generates a random spawnpoint on solid land by walking chunks and finding their biomes */ void GenerateRandomSpawn(void); - /** Check if player starting point is acceptable **/ + /** Check if player starting point is acceptable */ bool CheckPlayerSpawnPoint(int a_PosX, int a_PosY, int a_PosZ); - /** Chooses a reasonable transition from the current weather to a new weather **/ + /** Chooses a reasonable transition from the current weather to a new weather */ eWeather ChooseNewWeather(void); /** Creates a new fluid simulator, loads its settings from the inifile (a_FluidName section) */ cFluidSimulator * InitializeFluidSimulator(cIniFile & a_IniFile, const char * a_FluidName, BLOCKTYPE a_SimulateBlock, BLOCKTYPE a_StationaryBlock); - /** Creates a new redstone simulator.*/ + /** Creates a new redstone simulator. */ cRedstoneSimulator * InitializeRedstoneSimulator(cIniFile & a_IniFile); /** Adds the players queued in the m_PlayersToAdd queue into the m_Players list. diff --git a/src/WorldStorage/EnchantmentSerializer.h b/src/WorldStorage/EnchantmentSerializer.h index 7d6546aad..5c12e01bc 100644 --- a/src/WorldStorage/EnchantmentSerializer.h +++ b/src/WorldStorage/EnchantmentSerializer.h @@ -5,13 +5,21 @@ class cEnchantments; class cFastNBTWriter; class cParsedNBT; + + + + namespace EnchantmentSerializer { - /// Writes the enchantments into the specified NBT writer; begins with the LIST tag of the specified name ("ench" or "StoredEnchantments") + /** Writes the enchantments into the specified NBT writer; begins with the LIST tag of the specified name ("ench" or "StoredEnchantments") */ void WriteToNBTCompound(const cEnchantments & a_Enchantments, cFastNBTWriter & a_Writer, const AString & a_ListTagName); - /// Reads the enchantments from the specified NBT list tag (ench or StoredEnchantments) + /** Reads the enchantments from the specified NBT list tag (ench or StoredEnchantments) */ void ParseFromNBT(cEnchantments & a_Enchantments, const cParsedNBT & a_NBT, int a_EnchListTagIdx); }; + + + + diff --git a/src/WorldStorage/NBTChunkSerializer.h b/src/WorldStorage/NBTChunkSerializer.h index f30cd59d5..956738911 100644 --- a/src/WorldStorage/NBTChunkSerializer.h +++ b/src/WorldStorage/NBTChunkSerializer.h @@ -67,7 +67,7 @@ public: cNBTChunkSerializer(cFastNBTWriter & a_Writer); - /// Close NBT tags that we've opened + /** Close NBT tags that we've opened */ void Finish(void); bool IsLightValid(void) const {return m_IsLightValid; } @@ -78,8 +78,7 @@ protected: - m_BlockTypes[] - m_BlockMetas[] - m_BlockLight[] - - m_BlockSkyLight[] - */ + - m_BlockSkyLight[] */ cFastNBTWriter & m_Writer; @@ -89,10 +88,10 @@ protected: bool m_IsLightValid; // True if the chunk lighting is valid - /// Writes an item into the writer, if slot >= 0, adds the Slot tag. The compound is named as requested. + /** Writes an item into the writer, if slot >= 0, adds the Slot tag. The compound is named as requested. */ void AddItem(const cItem & a_Item, int a_Slot, const AString & a_CompoundName = ""); - /// Writes an item grid into the writer; begins the stored slot numbers with a_BeginSlotNum. Note that it doesn't begin nor end the list tag + /** Writes an item grid into the writer; begins the stored slot numbers with a_BeginSlotNum. Note that it doesn't begin nor end the list tag */ void AddItemGrid(const cItemGrid & a_Grid, int a_BeginSlotNum = 0); // Block entities: diff --git a/src/WorldStorage/ScoreboardSerializer.h b/src/WorldStorage/ScoreboardSerializer.h index f9065b35f..8b3a2c8b6 100644 --- a/src/WorldStorage/ScoreboardSerializer.h +++ b/src/WorldStorage/ScoreboardSerializer.h @@ -27,10 +27,10 @@ public: cScoreboardSerializer(const AString & a_WorldName, cScoreboard * a_ScoreBoard); - /// Try to load the scoreboard + /** Try to load the scoreboard */ bool Load(void); - /// Try to save the scoreboard + /** Try to save the scoreboard */ bool Save(void); diff --git a/src/WorldStorage/WSSAnvil.cpp b/src/WorldStorage/WSSAnvil.cpp index 4eb10fcc8..dc1b7faff 100755 --- a/src/WorldStorage/WSSAnvil.cpp +++ b/src/WorldStorage/WSSAnvil.cpp @@ -1585,7 +1585,7 @@ void cWSSAnvil::LoadFallingBlockFromNBT(cEntityList & a_Entities, const cParsedN return; } - int Type = a_NBT.GetInt(TypeIdx); + BLOCKTYPE Type = static_cast<BLOCKTYPE>(a_NBT.GetInt(TypeIdx)); NIBBLETYPE Meta = static_cast<NIBBLETYPE>(a_NBT.GetByte(MetaIdx)); std::unique_ptr<cFallingBlock> FallingBlock = cpp14::make_unique<cFallingBlock>(Vector3i(0, 0, 0), Type, Meta); diff --git a/src/WorldStorage/WorldStorage.cpp b/src/WorldStorage/WorldStorage.cpp index 7e6cadb7e..19fc2be56 100644 --- a/src/WorldStorage/WorldStorage.cpp +++ b/src/WorldStorage/WorldStorage.cpp @@ -16,7 +16,7 @@ -/// Example storage schema - forgets all chunks ;) +/** Example storage schema - forgets all chunks */ class cWSSForgetful : public cWSSchema { diff --git a/src/WorldStorage/WorldStorage.h b/src/WorldStorage/WorldStorage.h index e9ba2a8e2..70cca9031 100644 --- a/src/WorldStorage/WorldStorage.h +++ b/src/WorldStorage/WorldStorage.h @@ -31,7 +31,7 @@ typedef cQueue<cChunkCoordsWithCallback> cChunkCoordsQueue; -/// Interface that all the world storage schemas need to implement +/** Interface that all the world storage schemas need to implement */ class cWSSchema abstract { public: @@ -53,7 +53,7 @@ typedef std::list<cWSSchema *> cWSSchemaList; -/// The actual world storage class +/** The actual world storage class */ class cWorldStorage : public cIsThread { @@ -87,26 +87,27 @@ protected: cChunkCoordsQueue m_LoadQueue; cChunkCoordsQueue m_SaveQueue; - /// All the storage schemas (all used for loading) + /** All the storage schemas (all used for loading) */ cWSSchemaList m_Schemas; - /// The one storage schema used for saving - cWSSchema * m_SaveSchema; + /** The one storage schema used for saving */ + cWSSchema * m_SaveSchema; + + /** Set when there's any addition to the queues */ + cEvent m_Event; - /// Loads the chunk specified; returns true on success, false on failure + /** Loads the chunk specified; returns true on success, false on failure */ bool LoadChunk(int a_ChunkX, int a_ChunkZ); void InitSchemas(int a_StorageCompressionFactor); virtual void Execute(void) override; - cEvent m_Event; // Set when there's any addition to the queues - - /// Loads one chunk from the queue (if any queued); returns true if there are more chunks in the load queue + /** Loads one chunk from the queue (if any queued); returns true if there are more chunks in the load queue */ bool LoadOneChunk(void); - /// Saves one chunk from the queue (if any queued); returns true if there are more chunks in the save queue + /** Saves one chunk from the queue (if any queued); returns true if there are more chunks in the save queue */ bool SaveOneChunk(void); } ; diff --git a/src/XMLParser.h b/src/XMLParser.h index 90e499785..bfd3c8c1c 100644 --- a/src/XMLParser.h +++ b/src/XMLParser.h @@ -690,7 +690,7 @@ protected: XML_Parser m_p; - /// Returns the value of the specified attribute, if found; nullptr otherwise + /** Returns the value of the specified attribute, if found; nullptr otherwise */ static const XML_Char * FindAttr(const XML_Char ** iAttrs, const XML_Char * iAttrToFind) { for (const XML_Char ** Attr = iAttrs; *Attr != nullptr; Attr += 2) |