Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: code/branches/FICN/src/orxonox/hud/HUD.cc @ 659

Last change on this file since 659 was 659, checked in by nicolasc, 16 years ago
  • a lot of inlining of getfunctions
  • set libaudio to shared (not sure, if related: audioplayer + ingame sound == crash!)
  • minor space cleanups
File size: 6.2 KB
Line 
1#include "HUD.h"
2// #include <Ogre.h>
3// #include <OIS/OIS.h>
4//#include <CEGUI/CEGUI.h>
5//#include <CEGUIRenderer.h>
6
7
8using namespace Ogre;
9
10namespace hud {
11  HUD::HUD( void ) {
12
13    init();
14
15    setTime(99,55);
16
17    setTargetWindowName("HURRA");
18    setTargetWindowDistance(12);
19    setTargetWindowStatus("Dead");
20    setTargetWindowDistance(30);
21
22    setEnergyValue(60.0);
23
24    setShieldLeftTopValue(true);
25    setShieldRightTopValue(false);
26    setShieldLeftBottomValue(false);
27    setShieldRightBottomValue(true);
28
29    setRocket1(11);
30    setRocket2(22);
31    setRocket3(33);
32    setRocket4(44);
33
34    setEnergyDistr(33,33,34);
35
36    setPrimar(3);
37
38    energyDistrPixelX_ = 100;
39    energyDistrPixelY_ = 86;
40
41  }
42
43
44  HUD::~HUD( void ){
45
46  }
47
48  void HUD::setTime(int i, int j){
49    timeMin_=i;
50    timeSec_=j;
51    timeText_->setCaption(StringConverter::toString(timeMin_) + ":" + StringConverter::toString(timeSec_));
52  }
53
54  void HUD::setTargetWindowName(String i){
55    targetWindowName_=i;
56    targetWindowNameText_->setCaption( targetWindowName_ );
57  }
58
59  void HUD::setTargetWindowStatus(String i){
60    targetWindowStatus_=i;
61    targetWindowStatusText_->setCaption( targetWindowStatus_ );
62  }
63
64  void HUD::setTargetWindowDistance(int i){
65    targetWindowDistance_=i;
66    targetWindowDistanceText_->setCaption(StringConverter::toString(targetWindowDistance_) + "km" );
67  }
68
69  void HUD::setTargetWindowHitRating(int i){
70    targetWindowHitRating_=i;
71    targetWindowHitRatingText_->setCaption(StringConverter::toString(targetWindowHitRating_) + "%" );
72  }
73
74  void HUD::setEnergyValue(int i){
75    energyValue_=i;
76    energyLength_->setWidth((int)((float)energyValue_/(float)100*200));
77  }
78
79  void HUD::setShieldLeftTopValue(bool i){
80    shieldLeftTopValue_=i;
81    if (shieldLeftTopValue_) shieldLeftTop_->show();
82    else shieldLeftTop_->hide();
83  }
84
85  void HUD::setShieldRightTopValue(bool i){
86    shieldRightTopValue_=i;
87    if (shieldRightTopValue_) shieldRightTop_->show();
88    else shieldRightTop_->hide();
89  }
90
91  void HUD::setShieldLeftBottomValue(bool i){
92    shieldLeftBottomValue_=i;
93    if (shieldLeftBottomValue_) shieldLeftBottom_->show();
94    else shieldLeftBottom_->hide();
95  }
96
97  void HUD::setShieldRightBottomValue(bool i){
98    shieldRightBottomValue_=i;
99    if (shieldRightBottomValue_) shieldRightBottom_->show();
100    else shieldRightBottom_->hide();
101  }
102
103  void HUD::setRocket1(int i){
104    rocket1_=i;
105    rocketNum1_->setCaption(StringConverter::toString(rocket1_));
106  }
107
108  void HUD::setRocket2(int i){
109    rocket2_=i;
110    rocketNum2_->setCaption(StringConverter::toString(rocket2_));
111  }
112
113  void HUD::setRocket3(int i){
114    rocket3_=i;
115    rocketNum3_->setCaption(StringConverter::toString(rocket3_));
116  }
117
118  void HUD::setRocket4(int i){
119    rocket4_=i;
120    rocketNum4_->setCaption(StringConverter::toString(rocket4_));
121  }
122
123  void HUD::setEnergyDistr(float s, float e, float l){
124    energyDistrShield_=s;
125    energyDistrEngine_=e;
126    energyDistrLaser_=l;
127
128    float energyDistrShieldInv_ = 100 - energyDistrShield_;
129    float energyDistrEngineInv_ = 100 - energyDistrEngine_;
130    float energyDistrLaserInv_ = 100 - energyDistrLaser_;
131
132    float energyDistrT_ = -energyDistrPixelX_/((energyDistrPixelX_-energyDistrPixelX_/2*energyDistrShieldInv_/(energyDistrShieldInv_+energyDistrEngineInv_))*energyDistrLaserInv_*(energyDistrShieldInv_+energyDistrEngineInv_)/energyDistrShieldInv_/(energyDistrLaserInv_+energyDistrEngineInv_)+energyDistrPixelX_/2+energyDistrPixelX_/2*energyDistrEngineInv_/(energyDistrEngineInv_+energyDistrLaserInv_));
133    float energyDistrX_ = (-energyDistrPixelX_/2-energyDistrPixelX_/2*energyDistrEngineInv_/(energyDistrEngineInv_+energyDistrLaserInv_))*energyDistrT_;
134    float energyDistrY_ = energyDistrPixelY_+energyDistrPixelY_*energyDistrLaserInv_/(energyDistrLaserInv_+energyDistrEngineInv_)*energyDistrT_;
135
136    energyDistrPoint_->setLeft((int)energyDistrX_-3);
137    energyDistrPoint_->setTop((int)energyDistrY_-3);
138
139  }
140
141  void HUD::setPrimar(int i){
142    primarValue_=i;
143    if(i==1){
144      primarChoice_->setLeft(2);
145      primarChoice_->setWidth(48);
146    }
147    if(i==2){
148      primarChoice_->setLeft(51);
149      primarChoice_->setWidth(49);
150    }
151    else{
152      primarChoice_->setLeft(101);
153      primarChoice_->setWidth(48);
154      }
155  }
156
157
158
159  void HUD::init(void)
160  {
161    timeText_ = OverlayManager::getSingleton().getOverlayElement("Orxonox/HUD1.2/Time/Text");
162
163    targetWindowNameText_ = OverlayManager::getSingleton().getOverlayElement("Orxonox/HUD1.2/TargetWindow/Name");
164    targetWindowDistanceText_ = OverlayManager::getSingleton().getOverlayElement("Orxonox/HUD1.2/TargetWindow/DistanceText");
165    targetWindowStatusText_ = OverlayManager::getSingleton().getOverlayElement("Orxonox/HUD1.2/TargetWindow/StatusText");
166    targetWindowHitRatingText_ = OverlayManager::getSingleton().getOverlayElement("Orxonox/HUD1.2/TargetWindow/HitRatingText");
167
168    energyLength_ = OverlayManager::getSingleton().getOverlayElement("Orxonox/HUD1.2/EnergyBackground");
169
170    shieldLeftTop_ = OverlayManager::getSingleton().getOverlayElement("Orxonox/HUD1.2/shieldLeftTop");
171    shieldRightTop_ = OverlayManager::getSingleton().getOverlayElement("Orxonox/HUD1.2/shieldRightTop");
172    shieldLeftBottom_ = OverlayManager::getSingleton().getOverlayElement("Orxonox/HUD1.2/shieldLeftBottom");
173    shieldRightBottom_ = OverlayManager::getSingleton().getOverlayElement("Orxonox/HUD1.2/shieldRightBottom");
174
175    rocketNum1_ = OverlayManager::getSingleton().getOverlayElement("Orxonox/HUD1.2/RocketNum1");
176    rocketNum2_ = OverlayManager::getSingleton().getOverlayElement("Orxonox/HUD1.2/RocketNum2");
177    rocketNum3_ = OverlayManager::getSingleton().getOverlayElement("Orxonox/HUD1.2/RocketNum3");
178    rocketNum4_ = OverlayManager::getSingleton().getOverlayElement("Orxonox/HUD1.2/RocketNum4");
179
180    float energyDistrPixelX_ = 100;
181    float energyDistrPixelY_ = 86;
182    energyDistrPoint_ = OverlayManager::getSingleton().getOverlayElement("Orxonox/HUD1.2/EnergyDistrPoint");
183
184    primarChoice_ = OverlayManager::getSingleton().getOverlayElement("Orxonox/HUD1.2/PrimarChoice");
185
186
187  }
188
189
190}
Note: See TracBrowser for help on using the repository browser.