struct MapDrawControl;
class MtEventManager;
struct PointedThing;
+class Database;
+class Server;
struct QueuedMeshUpdate
{
v2f *align;
v2f *offset;
v3f *world_pos;
+ v2s32 * size;
} hudadd;
struct{
u32 id;
std::string *sdata;
u32 data;
v3f *v3fdata;
+ v2s32 * v2s32data;
} hudchange;
struct{
video::SColor *bgcolor;
IrrlichtDevice *device,
const char *playername,
std::string password,
+ bool is_simple_singleplayer_game,
MapDrawControl &control,
IWritableTextureSource *tsrc,
IWritableShaderSource *shsrc,
int getCrackLevel();
void setCrack(int level, v3s16 pos);
+ void setHighlighted(v3s16 pos, bool show_higlighted);
+ v3s16 getHighlighted(){ return m_highlighted_pos; }
+
u16 getHP();
u16 getBreath();
virtual ICraftDefManager* getCraftDefManager();
virtual ITextureSource* getTextureSource();
virtual IShaderSource* getShaderSource();
+ virtual scene::ISceneManager* getSceneManager();
virtual u16 allocateUnknownNodeId(const std::string &name);
virtual ISoundManager* getSoundManager();
virtual MtEventManager* getEventManager();
LocalClientState getState() { return m_state; }
+ void makeScreenshot(IrrlichtDevice *device);
+
private:
// Virtual methods from con::PeerHandler
float m_inventory_from_server_age;
std::set<v3s16> m_active_blocks;
PacketCounter m_packetcounter;
+ bool m_show_highlighted;
// 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;
// own state
LocalClientState m_state;
+
+ // Used for saving server map to disk client-side
+ Database *localdb;
+ Server *localserver;
+
+ // TODO: Add callback to update this when g_settings changes
+ bool m_cache_smooth_lighting;
};
#endif // !CLIENT_HEADER