projects
/
oweals
/
minetest.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Node highlighting.
[oweals/minetest.git]
/
src
/
client.h
diff --git
a/src/client.h
b/src/client.h
index 01cd3a01c6904dbdcf2d2ebed09a26026696980a..8bffbd1db9e1c0ada2ab5bb040c6dc95b90da706 100644
(file)
--- a/
src/client.h
+++ b/
src/client.h
@@
-57,6
+57,12
@@
struct QueuedMeshUpdate
~QueuedMeshUpdate();
};
~QueuedMeshUpdate();
};
+enum LocalClientState {
+ LC_Created,
+ LC_Init,
+ LC_Ready
+};
+
/*
A thread-safe queue of mesh update tasks
*/
/*
A thread-safe queue of mesh update tasks
*/
@@
-209,6
+215,7
@@
struct ClientEvent
v2f *align;
v2f *offset;
v3f *world_pos;
v2f *align;
v2f *offset;
v3f *world_pos;
+ v2s32 * size;
} hudadd;
struct{
u32 id;
} hudadd;
struct{
u32 id;
@@
-220,6
+227,7
@@
struct ClientEvent
std::string *sdata;
u32 data;
v3f *v3fdata;
std::string *sdata;
u32 data;
v3f *v3fdata;
+ v2s32 * v2s32data;
} hudchange;
struct{
video::SColor *bgcolor;
} hudchange;
struct{
video::SColor *bgcolor;
@@
-319,14
+327,7
@@
public:
calling this, as it is sent in the initialization.
*/
void connect(Address address);
calling this, as it is sent in the initialization.
*/
void connect(Address address);
- /*
- returns true when
- m_con.Connected() == true
- AND m_server_ser_ver != SER_FMT_VER_INVALID
- throws con::PeerNotFoundException if connection has been deleted,
- eg. timed out.
- */
- bool connectedAndInitialized();
+
/*
Stuff that references the environment is valid only as
long as this is not called. (eg. Players)
/*
Stuff that references the environment is valid only as
long as this is not called. (eg. Players)
@@
-349,11
+350,12
@@
public:
const std::map<std::string, std::string> &fields);
void sendInventoryAction(InventoryAction *a);
void sendChatMessage(const std::wstring &message);
const std::map<std::string, std::string> &fields);
void sendInventoryAction(InventoryAction *a);
void sendChatMessage(const std::wstring &message);
- void sendChangePassword(const std::wstring oldpassword,
-
const std::wstring
newpassword);
+ void sendChangePassword(const std::wstring
&
oldpassword,
+
const std::wstring &
newpassword);
void sendDamage(u8 damage);
void sendBreath(u16 breath);
void sendRespawn();
void sendDamage(u8 damage);
void sendBreath(u16 breath);
void sendRespawn();
+ void sendReady();
ClientEnvironment& getEnv()
{ return m_env; }
ClientEnvironment& getEnv()
{ return m_env; }
@@
-393,6
+395,9
@@
public:
int getCrackLevel();
void setCrack(int level, v3s16 pos);
int getCrackLevel();
void setCrack(int level, v3s16 pos);
+ void setHighlighted(v3s16 pos, bool show_hud);
+ v3s16 getHighlighted(){ return m_highlighted_pos; }
+
u16 getHP();
u16 getBreath();
u16 getHP();
u16 getBreath();
@@
-409,7
+414,8
@@
public:
void addUpdateMeshTaskWithEdge(v3s16 blockpos, bool ack_to_server=false, bool urgent=false);
void addUpdateMeshTaskForNode(v3s16 nodepos, bool ack_to_server=false, bool urgent=false);
void addUpdateMeshTaskWithEdge(v3s16 blockpos, bool ack_to_server=false, bool urgent=false);
void addUpdateMeshTaskForNode(v3s16 nodepos, bool ack_to_server=false, bool urgent=false);
- void updateCameraOffset(v3s16 camera_offset){ m_mesh_update_thread.m_camera_offset = camera_offset; }
+ 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.
ClientEvent getClientEvent();
// Get event from queue. CE_NONE is returned if queue is empty.
ClientEvent getClientEvent();
@@
-432,6
+438,8
@@
public:
void afterContentReceived(IrrlichtDevice *device, gui::IGUIFont* font);
float getRTT(void);
void afterContentReceived(IrrlichtDevice *device, gui::IGUIFont* font);
float getRTT(void);
+ float getCurRate(void);
+ float getAvgRate(void);
// IGameDef interface
virtual IItemDefManager* getItemDefManager();
// IGameDef interface
virtual IItemDefManager* getItemDefManager();
@@
-454,6
+462,8
@@
public:
// Send a notification that no conventional media transfer is needed
void received_media();
// Send a notification that no conventional media transfer is needed
void received_media();
+ LocalClientState getState() { return m_state; }
+
private:
// Virtual methods from con::PeerHandler
private:
// Virtual methods from con::PeerHandler
@@
-493,10
+503,12
@@
private:
float m_inventory_from_server_age;
std::set<v3s16> m_active_blocks;
PacketCounter m_packetcounter;
float m_inventory_from_server_age;
std::set<v3s16> m_active_blocks;
PacketCounter m_packetcounter;
+ bool m_show_hud;
// Block mesh animation parameters
float m_animation_time;
int m_crack_level;
v3s16 m_crack_pos;
// Block mesh animation parameters
float m_animation_time;
int m_crack_level;
v3s16 m_crack_pos;
+ v3s16 m_highlighted_pos;
// 0 <= m_daynight_i < DAYNIGHT_CACHE_COUNT
//s32 m_daynight_i;
//u32 m_daynight_ratio;
// 0 <= m_daynight_i < DAYNIGHT_CACHE_COUNT
//s32 m_daynight_i;
//u32 m_daynight_ratio;
@@
-537,6
+549,9
@@
private:
// Storage for mesh data for creating multiple instances of the same mesh
std::map<std::string, std::string> m_mesh_data;
// Storage for mesh data for creating multiple instances of the same mesh
std::map<std::string, std::string> m_mesh_data;
+
+ // own state
+ LocalClientState m_state;
};
#endif // !CLIENT_HEADER
};
#endif // !CLIENT_HEADER