diff options
author | Stijn Buys <ingar@osirion.org> | 2008-07-20 23:10:08 +0000 |
---|---|---|
committer | Stijn Buys <ingar@osirion.org> | 2008-07-20 23:10:08 +0000 |
commit | ac3ca340c9502e2e0c83c75d5aba5211429e25ae (patch) | |
tree | c274e47559cee9504af279d9c010c08214fd1691 /src/client/view.cc | |
parent | 6e7540c701059ca82de7cc5e2f5089578ab5c469 (diff) |
targetting
Diffstat (limited to 'src/client/view.cc')
-rw-r--r-- | src/client/view.cc | 69 |
1 files changed, 40 insertions, 29 deletions
diff --git a/src/client/view.cc b/src/client/view.cc index 1ee50ed..db0fa64 100644 --- a/src/client/view.cc +++ b/src/client/view.cc @@ -33,8 +33,8 @@ core::Cvar *draw_ui = 0; core::Cvar *draw_stats = 0; core::Cvar *draw_location = 0; -core::Cvar *cl_crosshaircolor = 0; - +core::Cvar *ui_pointercolor = 0; +core::Cvar *ui_pointerhovercolor =0; namespace view { @@ -51,8 +51,11 @@ void init() draw_ui = core::Cvar::get("draw_ui", "1", core::Cvar::Archive); draw_ui->set_info("[bool] draw the user interface"); - cl_crosshaircolor = core::Cvar::get("cl_crosshaircolor", "1 1 1", core::Cvar::Archive); - cl_crosshaircolor->set_info("[r g b] crosshairs color"); + ui_pointercolor = core::Cvar::get("ui_pointercolor", "0 .5 0", core::Cvar::Archive); + ui_pointercolor->set_info("[r g b] mouse pointer color"); + + ui_pointerhovercolor = core::Cvar::get("ui_pointerhovercolor", "0 1 0", core::Cvar::Archive); + ui_pointerhovercolor->set_info("[r g b] mouse pointer hover color"); targets::init(); } @@ -157,9 +160,9 @@ void draw_cursor() if (!core::localcontrol() || console()->visible()) return; - float crosshair_size = 48.0f; - float x = input::mouse_x - (crosshair_size /2); - float y = input::mouse_y - (crosshair_size /2); + float pointer_size = 48.0f; + float x = input::mouse_x - (pointer_size /2); + float y = input::mouse_y - (pointer_size /2); using namespace render; @@ -167,24 +170,32 @@ void draw_cursor() color.a = 0.5f; if (render::Camera::mode() == render::Camera::Overview) { - render::Textures::bind("bitmaps/crosshairs/aim"); + render::Textures::bind("bitmaps/pointers/aim"); } else { - if (input::mouse_control) { + if (!input::mouse_control_override && targets::hover()) { + + if (ui_pointerhovercolor) { + std::stringstream colorstr(ui_pointerhovercolor->str()); + colorstr >> color; + } + render::Textures::bind("bitmaps/pointers/target"); + + } else if (input::mouse_control) { - if (cl_crosshaircolor) { - std::stringstream colorstr(cl_crosshaircolor->str()); + if (ui_pointercolor) { + std::stringstream colorstr(ui_pointercolor->str()); colorstr >> color; } if (render::Camera::mode() == render::Camera::Cockpit || render::Camera::mode() == render::Camera::Track) { - render::Textures::bind("bitmaps/crosshairs/center"); + render::Textures::bind("bitmaps/pointers/center"); - x = (video::width - crosshair_size) /2; - y = (video::height - crosshair_size) /2; + x = (video::width - pointer_size) /2; + y = (video::height - pointer_size) /2; gl::color(color); gl::begin(gl::Quads); @@ -193,32 +204,32 @@ void draw_cursor() gl::vertex(x,y,0.0f); glTexCoord2f(1, 0); - gl::vertex(x+crosshair_size, y, 0.0f); + gl::vertex(x+pointer_size, y, 0.0f); glTexCoord2f(1, 1); - gl::vertex(x+crosshair_size, y+crosshair_size, 0.0f); + gl::vertex(x+pointer_size, y+pointer_size, 0.0f); glTexCoord2f(0, 1); - gl::vertex(x, y+crosshair_size, 0.0f); + gl::vertex(x, y+pointer_size, 0.0f); gl::end(); } - render::Textures::bind("bitmaps/crosshairs/control"); + render::Textures::bind("bitmaps/pointers/control"); - if (!input::mouse_deadzone) { - x = input::mouse_x - (crosshair_size /2); - y = input::mouse_y - (crosshair_size /2); +// if (!input::mouse_deadzone) { + x = input::mouse_x - (pointer_size /2); + y = input::mouse_y - (pointer_size /2); - } else { - x = (video::width - crosshair_size) /2; - y = (video::height - crosshair_size) /2; - } +// } else { +// x = (video::width - pointer_size) /2; +// y = (video::height - pointer_size) /2; +// } } else { - render::Textures::bind("bitmaps/crosshairs/aim"); + render::Textures::bind("bitmaps/pointers/aim"); } } @@ -230,13 +241,13 @@ void draw_cursor() gl::vertex(x,y,0.0f); glTexCoord2f(1, 0); - gl::vertex(x+crosshair_size, y, 0.0f); + gl::vertex(x+pointer_size, y, 0.0f); glTexCoord2f(1, 1); - gl::vertex(x+crosshair_size, y+crosshair_size, 0.0f); + gl::vertex(x+pointer_size, y+pointer_size, 0.0f); glTexCoord2f(0, 1); - gl::vertex(x, y+crosshair_size, 0.0f); + gl::vertex(x, y+pointer_size, 0.0f); gl::end(); } |