diff --git a/code/redalert/building.cpp b/code/redalert/building.cpp index d56e183..6c312b2 100644 --- a/code/redalert/building.cpp +++ b/code/redalert/building.cpp @@ -504,7 +504,7 @@ void BuildingClass::Draw_It(int x, int y, WindowNumberType window) const // jmarshall idle/construction animation // Only play the idle animation if we have power! - if (!Class->IsPowered || (Class->IsPowered && House->Power_Fraction() >= 1)) { + if (Class->IdleAnimIgnorePowerState || !Class->IsPowered || (Class->IsPowered && House->Power_Fraction() >= 1)) { if (Class->IdleAnimShape != NULL) { int shapeNum = animFrameNum; int maxframes = Get_Build_Frame_Count(Class->IdleAnimShape); diff --git a/code/redalert/type.h b/code/redalert/type.h index 7c5eb07..c299461 100644 --- a/code/redalert/type.h +++ b/code/redalert/type.h @@ -823,6 +823,7 @@ class BuildingTypeClass : public TechnoTypeClass { const void* CustomTheatrePalette[3]; const void* IdleAnimShape; const void* ActiveAnimAnimShape; + int IdleAnimIgnorePowerState; int IdleHasShadowFrames; int IdleAnimNonDamagedStart; int IdleAnimNonDamagedFrames; @@ -831,8 +832,10 @@ class BuildingTypeClass : public TechnoTypeClass { int ActiveAnimNonDamagedStart; int ActiveAnimNonDamagedFrames; int ActiveAnimDamagedStart; - int ActiveAnimDamagedFrames; + int ActiveAnimDamagedFrames; private: + int tileW; + int tileH; /* ** This is a pointer to a list of offsets (from the upper left corner) that diff --git a/rules.ini b/rules.ini index dd9aa2f..bb471e2 100644 --- a/rules.ini +++ b/rules.ini @@ -1545,6 +1545,7 @@ Temperate=eapal1tem.pal Image=ngradr IdleAnim=ngradr_a.shp IdleHasShadowFrames=1 +IdleAnimIgnorePowerState=1 IdleAnimNonDamagedStart=0 IdleAnimNonDamagedFrames=45 IdleAnimDamagedStart=45