/* client/targets.h This file is part of the Osirion project and is distributed under the terms of the GNU General Public License version 2 */ #ifndef __INCLUDED_CLIENT_TARGETS_H__ #define __INCLUDED_CLIENT_TARGETS_H__ #include "core/entity.h" #include "render/render.h" #include "render/gl.h" #include "render/text.h" namespace client { namespace targets { void init(); void shutdown(); void reset(); /// return true if the entity is a legal hud target bool is_valid_hud_target(core::Entity *entity); /// return true if the entity is a legal map target bool is_valid_map_target(core::Entity *entity); /// render targets and sounds void frame(); /// render sound listener properties void render_listener_sound(); /// render the sound for one entity void render_entity_sound(core::Entity *Entity); /// currently selected target, 0 if there is none core::Entity *current(); /// id of the currently selected target, 0 if there is none unsigned int current_id(); /// id if target the mouse is currently hovering, 0 if none unsigned int hover(); /// target a specific entity void select_target(unsigned int id); /// target a specific entity void select_target(core::Entity *entity); } } #endif //__INCLUDED_CLIENT_TARGETS_H__