X-Git-Url: https://git.lizzy.rs/?a=blobdiff_plain;f=src%2Fclient.h;h=e8db7de44e73ce963bcc0bd72ef5d735f1735e35;hb=bd921a7916f0fafc493b1c4d0eeb5e2bb1d6a7c2;hp=c55d7bcd5ec5326bcf5ed3f2f70fcd9f36acd6c8;hpb=cf37a5569002e83cc4d6916b39118ceba134da1b;p=minetest.git diff --git a/src/client.h b/src/client.h index c55d7bcd5..e8db7de44 100644 --- a/src/client.h +++ b/src/client.h @@ -49,7 +49,7 @@ class ClientMediaDownloader; struct MapDrawControl; class MtEventManager; struct PointedThing; -class Database; +class MapDatabase; class Minimap; struct MinimapMapblock; class Camera; @@ -77,6 +77,7 @@ enum ClientEventType CE_HUDCHANGE, CE_SET_SKY, CE_OVERRIDE_DAY_NIGHT_RATIO, + CE_CLOUD_PARAMS, }; struct ClientEvent @@ -178,6 +179,15 @@ struct ClientEvent bool do_override; float ratio_f; } override_day_night_ratio; + struct { + f32 density; + u32 color_bright; + u32 color_ambient; + f32 height; + f32 thickness; + f32 speed_x; + f32 speed_y; + } cloud_params; }; }; @@ -311,16 +321,14 @@ class Client : public con::PeerHandler, public InventoryManager, public IGameDef void handleCommand_HP(NetworkPacket* pkt); void handleCommand_Breath(NetworkPacket* pkt); void handleCommand_MovePlayer(NetworkPacket* pkt); - void handleCommand_PlayerItem(NetworkPacket* pkt); void handleCommand_DeathScreen(NetworkPacket* pkt); void handleCommand_AnnounceMedia(NetworkPacket* pkt); void handleCommand_Media(NetworkPacket* pkt); - void handleCommand_ToolDef(NetworkPacket* pkt); void handleCommand_NodeDef(NetworkPacket* pkt); - void handleCommand_CraftItemDef(NetworkPacket* pkt); void handleCommand_ItemDef(NetworkPacket* pkt); void handleCommand_PlaySound(NetworkPacket* pkt); void handleCommand_StopSound(NetworkPacket* pkt); + void handleCommand_FadeSound(NetworkPacket *pkt); void handleCommand_Privileges(NetworkPacket* pkt); void handleCommand_InventoryFormSpec(NetworkPacket* pkt); void handleCommand_DetachedInventory(NetworkPacket* pkt); @@ -334,6 +342,7 @@ class Client : public con::PeerHandler, public InventoryManager, public IGameDef void handleCommand_HudSetFlags(NetworkPacket* pkt); void handleCommand_HudSetParam(NetworkPacket* pkt); void handleCommand_HudSetSky(NetworkPacket* pkt); + void handleCommand_CloudParams(NetworkPacket* pkt); void handleCommand_OverrideDayNightRatio(NetworkPacket* pkt); void handleCommand_LocalPlayerAnimations(NetworkPacket* pkt); void handleCommand_EyeOffset(NetworkPacket* pkt); @@ -417,7 +426,8 @@ class Client : public con::PeerHandler, public InventoryManager, public IGameDef void updateCameraOffset(v3s16 camera_offset) { m_mesh_update_thread.m_camera_offset = camera_offset; } - // Get event from queue. CE_NONE is returned if queue is empty. + bool hasClientEvents() const { return !m_client_event_queue.empty(); } + // Get event from queue. If queue is empty, it triggers an assertion failure. ClientEvent getClientEvent(); bool accessDenied() const { return m_access_denied; } @@ -487,8 +497,6 @@ class Client : public con::PeerHandler, public InventoryManager, public IGameDef bool loadMedia(const std::string &data, const std::string &filename); // Send a request for conventional media transfer void request_media(const std::vector &file_requests); - // Send a notification that no conventional media transfer is needed - void received_media(); LocalClientState getState() { return m_state; } @@ -514,6 +522,8 @@ class Client : public con::PeerHandler, public InventoryManager, public IGameDef void showGameFog(const bool show = true); void showGameDebug(const bool show = true); + IrrlichtDevice *getDevice() const { return m_device; } + private: // Virtual methods from con::PeerHandler @@ -648,7 +658,7 @@ class Client : public con::PeerHandler, public InventoryManager, public IGameDef LocalClientState m_state; // Used for saving server map to disk client-side - Database *m_localdb; + MapDatabase *m_localdb; IntervalLimiter m_localdb_save_interval; u16 m_cache_save_interval;