Ability to change the crosshair using textures

This commit is contained in:
Esteban I. Ruiz Moreno 2013-04-20 22:39:31 -03:00 committed by kwolekr
parent d3f0ce6224
commit 43a388ec53
1 changed files with 13 additions and 1 deletions

View File

@ -297,7 +297,19 @@ void Hud::drawHotbar(v2s32 centerlowerpos, s32 halfheartcount, u16 playeritem) {
void Hud::drawCrosshair() {
if (player->hud_flags & HUD_FLAG_CROSSHAIR_VISIBLE) {
if (!(player->hud_flags & HUD_FLAG_CROSSHAIR_VISIBLE))
return;
ITextureSource *tsrc = gamedef->getTextureSource();
if (tsrc->isKnownSourceImage("crosshair.png")) {
video::ITexture *crosshair = tsrc->getTextureRaw("crosshair.png");
v2u32 size = crosshair->getOriginalSize();
v2s32 lsize = v2s32(displaycenter.X - (size.X / 2),
displaycenter.Y - (size.Y / 2));
driver->draw2DImage(crosshair, lsize,
core::rect<s32>(0, 0, size.X, size.Y),
0, crosshair_argb, true);
} else {
driver->draw2DLine(displaycenter - v2s32(10, 0),
displaycenter + v2s32(10, 0), crosshair_argb);
driver->draw2DLine(displaycenter - v2s32(0, 10),