Healthbars
* Hotkey now toggles between Default/Off/Always/Damaged/Selected * Code clean up
This commit is contained in:
parent
791e1edec6
commit
2f60d179e9
|
@ -115,7 +115,7 @@ Game::Game() : ProgramState(NULL) {
|
|||
renderFpsAvgTest=0;
|
||||
renderExtraTeamColor=0;
|
||||
photoModeEnabled=false;
|
||||
forcedHealthbars=false;
|
||||
healthbarMode=hbvUndefined;
|
||||
visibleHUD=false;
|
||||
timeDisplay=false;
|
||||
withRainEffect=false;
|
||||
|
@ -236,7 +236,7 @@ void Game::resetMembers() {
|
|||
|
||||
scrollSpeed = Config::getInstance().getFloat("UiScrollSpeed","1.5");
|
||||
photoModeEnabled = Config::getInstance().getBool("PhotoMode","false");
|
||||
forcedHealthbars = Config::getInstance().getBool("ForcedHealthbars","false");
|
||||
healthbarMode = Config::getInstance().getInt("HealthbarMode","0");
|
||||
visibleHUD = Config::getInstance().getBool("VisibleHud","true");
|
||||
timeDisplay = Config::getInstance().getBool("TimeDisplay","true");
|
||||
withRainEffect = Config::getInstance().getBool("RainEffect","true");
|
||||
|
@ -4659,7 +4659,32 @@ void Game::keyDown(SDL_KeyboardEvent key) {
|
|||
}
|
||||
//Toggle Healthbars
|
||||
else if(isKeyPressed(configKeys.getSDLKey("ToggleHealthbars"),key, false) == true) {
|
||||
forcedHealthbars = !forcedHealthbars;
|
||||
switch (healthbarMode) {
|
||||
case hbvUndefined:
|
||||
healthbarMode=hbvOff;
|
||||
console.addLine(lang.getString("HealthbarsOff"));
|
||||
break;
|
||||
case hbvOff:
|
||||
healthbarMode=hbvAlways;
|
||||
console.addLine(lang.getString("HealthbarsAlways"));
|
||||
break;
|
||||
case hbvAlways:
|
||||
healthbarMode=hbvDamaged;
|
||||
console.addLine(lang.getString("HealthbarsDamaged"));
|
||||
break;
|
||||
case hbvDamaged:
|
||||
healthbarMode=hbvSelected;
|
||||
console.addLine(lang.getString("HealthbarsSelected"));
|
||||
break;
|
||||
case hbvSelected:
|
||||
healthbarMode=hbvUndefined;
|
||||
console.addLine(lang.getString("HealthbarsDefault"));
|
||||
break;
|
||||
default:
|
||||
printf("In [%s::%s Line: %d] Toggle Healthbars Hotkey - Invalid Value. Setting to default.\n",extractFileFromDirectoryPath(__FILE__).c_str(),__FUNCTION__,__LINE__);
|
||||
healthbarMode=hbvUndefined;
|
||||
break;
|
||||
}
|
||||
}
|
||||
//Toggle music
|
||||
//else if(key == configKeys.getCharKey("ToggleMusic")) {
|
||||
|
@ -5259,7 +5284,7 @@ void Game::render3d(){
|
|||
|
||||
//renderOnTopBars (aka Healthbars)
|
||||
if(photoModeEnabled == false) {
|
||||
renderer.renderHealthBars(forcedHealthbars);
|
||||
renderer.renderHealthBars(healthbarMode);
|
||||
}
|
||||
|
||||
//particles
|
||||
|
|
|
@ -141,7 +141,7 @@ private:
|
|||
static const int renderTeamColorPlaneBit=2;
|
||||
|
||||
bool photoModeEnabled;
|
||||
bool forcedHealthbars;
|
||||
int healthbarMode;
|
||||
bool visibleHUD;
|
||||
bool timeDisplay;
|
||||
bool withRainEffect;
|
||||
|
|
|
@ -5610,7 +5610,7 @@ void Renderer::renderSelectionEffects() {
|
|||
glPopAttrib();
|
||||
}
|
||||
|
||||
void Renderer::renderHealthBars(bool forceHealthbars){
|
||||
void Renderer::renderHealthBars(int healthbarMode){
|
||||
if(GlobalStaticFlags::getIsNonGraphicalModeEnabled() == true) {
|
||||
return;
|
||||
}
|
||||
|
@ -5641,7 +5641,7 @@ void Renderer::renderHealthBars(bool forceHealthbars){
|
|||
|
||||
float healthbarheight;
|
||||
float healthbarthickness;
|
||||
int healthbarVisible;
|
||||
int healthbarVisible=hbvUndefined;
|
||||
const Texture2D *healthbarTexture;
|
||||
const Texture2D *healthbarBackgroundTexture;
|
||||
bool healthbarLineBorder;
|
||||
|
@ -5649,7 +5649,12 @@ void Renderer::renderHealthBars(bool forceHealthbars){
|
|||
//get settings of the faction
|
||||
healthbarheight=unit->getFaction()->getType()->getHealthbarHeight();
|
||||
healthbarthickness=unit->getFaction()->getType()->getHealthbarThickness();
|
||||
healthbarVisible=unit->getFaction()->getType()->getHealthbarVisible();
|
||||
//check options (hotkey)
|
||||
if(healthbarMode==hbvUndefined) {
|
||||
healthbarVisible=unit->getFaction()->getType()->getHealthbarVisible();
|
||||
} else {
|
||||
healthbarVisible=healthbarMode;
|
||||
}
|
||||
healthbarLineBorder=unit->getFaction()->getType()->isHealthbarLineBorder();
|
||||
CoreData &coreData= CoreData::getInstance();
|
||||
//First try faction texture then use core Texture
|
||||
|
@ -5678,7 +5683,9 @@ void Renderer::renderHealthBars(bool forceHealthbars){
|
|||
if(unit->getType()->getHealthbarThickness()!=-1.0f) {
|
||||
healthbarthickness=unit->getType()->getHealthbarThickness();
|
||||
}
|
||||
healthbarVisible=unit->getType()->getHealthbarVisible();
|
||||
if(healthbarMode==hbvUndefined) { //don't override the visible setting when hotkey is not hbvUndefined
|
||||
healthbarVisible=unit->getType()->getHealthbarVisible();
|
||||
}
|
||||
}
|
||||
|
||||
bool settingsWantToRenderThem=!(healthbarVisible==hbvUndefined || (healthbarVisible&hbvOff))
|
||||
|
@ -5686,7 +5693,7 @@ void Renderer::renderHealthBars(bool forceHealthbars){
|
|||
|| ((healthbarVisible&hbvDamaged) && unit->getHp()!=unit->getType()->getMaxHp())
|
||||
|| ((healthbarVisible&hbvSelected) && game->getGui()->isSelected(unit)));
|
||||
|
||||
if(unit->isAlive() && (settingsWantToRenderThem || forceHealthbars)) {
|
||||
if(unit->isAlive() && (settingsWantToRenderThem)) {
|
||||
Vec3f currVec= unit->getCurrVectorFlat();
|
||||
if(healthbarheight==-100.0f) {
|
||||
currVec.y+=unit->getType()->getHeight();
|
||||
|
|
|
@ -549,7 +549,7 @@ public:
|
|||
void renderUnitsToBuild(const int renderFps);
|
||||
|
||||
void renderSelectionEffects();
|
||||
void renderHealthBars(bool forceHealthbars=false);
|
||||
void renderHealthBars(int forceHealthbars=hbvUndefined);
|
||||
void renderWaterEffects();
|
||||
void renderHud();
|
||||
void renderMinimap();
|
||||
|
|
Loading…
Reference in New Issue