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;
|
renderFpsAvgTest=0;
|
||||||
renderExtraTeamColor=0;
|
renderExtraTeamColor=0;
|
||||||
photoModeEnabled=false;
|
photoModeEnabled=false;
|
||||||
forcedHealthbars=false;
|
healthbarMode=hbvUndefined;
|
||||||
visibleHUD=false;
|
visibleHUD=false;
|
||||||
timeDisplay=false;
|
timeDisplay=false;
|
||||||
withRainEffect=false;
|
withRainEffect=false;
|
||||||
|
@ -236,7 +236,7 @@ void Game::resetMembers() {
|
||||||
|
|
||||||
scrollSpeed = Config::getInstance().getFloat("UiScrollSpeed","1.5");
|
scrollSpeed = Config::getInstance().getFloat("UiScrollSpeed","1.5");
|
||||||
photoModeEnabled = Config::getInstance().getBool("PhotoMode","false");
|
photoModeEnabled = Config::getInstance().getBool("PhotoMode","false");
|
||||||
forcedHealthbars = Config::getInstance().getBool("ForcedHealthbars","false");
|
healthbarMode = Config::getInstance().getInt("HealthbarMode","0");
|
||||||
visibleHUD = Config::getInstance().getBool("VisibleHud","true");
|
visibleHUD = Config::getInstance().getBool("VisibleHud","true");
|
||||||
timeDisplay = Config::getInstance().getBool("TimeDisplay","true");
|
timeDisplay = Config::getInstance().getBool("TimeDisplay","true");
|
||||||
withRainEffect = Config::getInstance().getBool("RainEffect","true");
|
withRainEffect = Config::getInstance().getBool("RainEffect","true");
|
||||||
|
@ -4659,7 +4659,32 @@ void Game::keyDown(SDL_KeyboardEvent key) {
|
||||||
}
|
}
|
||||||
//Toggle Healthbars
|
//Toggle Healthbars
|
||||||
else if(isKeyPressed(configKeys.getSDLKey("ToggleHealthbars"),key, false) == true) {
|
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
|
//Toggle music
|
||||||
//else if(key == configKeys.getCharKey("ToggleMusic")) {
|
//else if(key == configKeys.getCharKey("ToggleMusic")) {
|
||||||
|
@ -5259,7 +5284,7 @@ void Game::render3d(){
|
||||||
|
|
||||||
//renderOnTopBars (aka Healthbars)
|
//renderOnTopBars (aka Healthbars)
|
||||||
if(photoModeEnabled == false) {
|
if(photoModeEnabled == false) {
|
||||||
renderer.renderHealthBars(forcedHealthbars);
|
renderer.renderHealthBars(healthbarMode);
|
||||||
}
|
}
|
||||||
|
|
||||||
//particles
|
//particles
|
||||||
|
|
|
@ -141,7 +141,7 @@ private:
|
||||||
static const int renderTeamColorPlaneBit=2;
|
static const int renderTeamColorPlaneBit=2;
|
||||||
|
|
||||||
bool photoModeEnabled;
|
bool photoModeEnabled;
|
||||||
bool forcedHealthbars;
|
int healthbarMode;
|
||||||
bool visibleHUD;
|
bool visibleHUD;
|
||||||
bool timeDisplay;
|
bool timeDisplay;
|
||||||
bool withRainEffect;
|
bool withRainEffect;
|
||||||
|
|
|
@ -5610,7 +5610,7 @@ void Renderer::renderSelectionEffects() {
|
||||||
glPopAttrib();
|
glPopAttrib();
|
||||||
}
|
}
|
||||||
|
|
||||||
void Renderer::renderHealthBars(bool forceHealthbars){
|
void Renderer::renderHealthBars(int healthbarMode){
|
||||||
if(GlobalStaticFlags::getIsNonGraphicalModeEnabled() == true) {
|
if(GlobalStaticFlags::getIsNonGraphicalModeEnabled() == true) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -5641,7 +5641,7 @@ void Renderer::renderHealthBars(bool forceHealthbars){
|
||||||
|
|
||||||
float healthbarheight;
|
float healthbarheight;
|
||||||
float healthbarthickness;
|
float healthbarthickness;
|
||||||
int healthbarVisible;
|
int healthbarVisible=hbvUndefined;
|
||||||
const Texture2D *healthbarTexture;
|
const Texture2D *healthbarTexture;
|
||||||
const Texture2D *healthbarBackgroundTexture;
|
const Texture2D *healthbarBackgroundTexture;
|
||||||
bool healthbarLineBorder;
|
bool healthbarLineBorder;
|
||||||
|
@ -5649,7 +5649,12 @@ void Renderer::renderHealthBars(bool forceHealthbars){
|
||||||
//get settings of the faction
|
//get settings of the faction
|
||||||
healthbarheight=unit->getFaction()->getType()->getHealthbarHeight();
|
healthbarheight=unit->getFaction()->getType()->getHealthbarHeight();
|
||||||
healthbarthickness=unit->getFaction()->getType()->getHealthbarThickness();
|
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();
|
healthbarLineBorder=unit->getFaction()->getType()->isHealthbarLineBorder();
|
||||||
CoreData &coreData= CoreData::getInstance();
|
CoreData &coreData= CoreData::getInstance();
|
||||||
//First try faction texture then use core Texture
|
//First try faction texture then use core Texture
|
||||||
|
@ -5678,7 +5683,9 @@ void Renderer::renderHealthBars(bool forceHealthbars){
|
||||||
if(unit->getType()->getHealthbarThickness()!=-1.0f) {
|
if(unit->getType()->getHealthbarThickness()!=-1.0f) {
|
||||||
healthbarthickness=unit->getType()->getHealthbarThickness();
|
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))
|
bool settingsWantToRenderThem=!(healthbarVisible==hbvUndefined || (healthbarVisible&hbvOff))
|
||||||
|
@ -5686,7 +5693,7 @@ void Renderer::renderHealthBars(bool forceHealthbars){
|
||||||
|| ((healthbarVisible&hbvDamaged) && unit->getHp()!=unit->getType()->getMaxHp())
|
|| ((healthbarVisible&hbvDamaged) && unit->getHp()!=unit->getType()->getMaxHp())
|
||||||
|| ((healthbarVisible&hbvSelected) && game->getGui()->isSelected(unit)));
|
|| ((healthbarVisible&hbvSelected) && game->getGui()->isSelected(unit)));
|
||||||
|
|
||||||
if(unit->isAlive() && (settingsWantToRenderThem || forceHealthbars)) {
|
if(unit->isAlive() && (settingsWantToRenderThem)) {
|
||||||
Vec3f currVec= unit->getCurrVectorFlat();
|
Vec3f currVec= unit->getCurrVectorFlat();
|
||||||
if(healthbarheight==-100.0f) {
|
if(healthbarheight==-100.0f) {
|
||||||
currVec.y+=unit->getType()->getHeight();
|
currVec.y+=unit->getType()->getHeight();
|
||||||
|
|
|
@ -549,7 +549,7 @@ public:
|
||||||
void renderUnitsToBuild(const int renderFps);
|
void renderUnitsToBuild(const int renderFps);
|
||||||
|
|
||||||
void renderSelectionEffects();
|
void renderSelectionEffects();
|
||||||
void renderHealthBars(bool forceHealthbars=false);
|
void renderHealthBars(int forceHealthbars=hbvUndefined);
|
||||||
void renderWaterEffects();
|
void renderWaterEffects();
|
||||||
void renderHud();
|
void renderHud();
|
||||||
void renderMinimap();
|
void renderMinimap();
|
||||||
|
|
Loading…
Reference in New Issue
Block a user