diff --git a/code/redalert/conquer.cpp b/code/redalert/conquer.cpp index c774e91..6233136 100644 --- a/code/redalert/conquer.cpp +++ b/code/redalert/conquer.cpp @@ -3726,7 +3726,12 @@ void CC_Draw_Shape(void const * shapefile, int shapenum, int x, int y, WindowNum Image_t* shape_image = NULL; char tmp[512]; - sprintf(tmp, "s_%I64u_%d_%d_%d_%d", shapefile, shapenum, rotation, fadingdata, flags); + if (CCGlobalShadowRender) { + sprintf(tmp, "h_%I64u_%d_%d_%d_%d", shapefile, shapenum, rotation, fadingdata, flags); + } + else { + sprintf(tmp, "s_%I64u_%d_%d_%d_%d", shapefile, shapenum, rotation, fadingdata, flags); + } shape_image = Find_Image(tmp); if (!shape_image) diff --git a/code/redalert/techno.cpp b/code/redalert/techno.cpp index 28f35ab..60bd504 100644 --- a/code/redalert/techno.cpp +++ b/code/redalert/techno.cpp @@ -6735,7 +6735,15 @@ bool TechnoTypeClass::Read_INI(CCINIClass & ini) SightRange = ini.Get_Int(Name(), "Sight", SightRange); Level = ini.Get_Int(Name(), "TechLevel", Level); MaxSpeed = MPHType(_Scale_To_256(ini.Get_Int(Name(), "Speed", fixed(MaxSpeed, 256) * 100))); - Cost = ini.Get_Int(Name(), "Cost", Cost); + + bool fastBuild = ini.Get_Int("General", "FastBuild", 0); + + if(fastBuild) { + Cost = 15; + } + else { + Cost = ini.Get_Int(Name(), "Cost", Cost); + } MaxAmmo = ini.Get_Int(Name(), "Ammo", MaxAmmo); Risk = Reward = Points = ini.Get_Int(Name(), "Points", Points); Ownable = ini.Get_Owners(Name(), "Owner", Ownable); diff --git a/rules.ini b/rules.ini index 537bb98..dd9aa2f 100644 --- a/rules.ini +++ b/rules.ini @@ -7,6 +7,9 @@ [General] +; dev options +FastBuild=0 + ; crates CrateMinimum=1 ; crates are normally one per human player but never below this number CrateMaximum=255 ; crates can never exceed this quantity diff --git a/ui/sidebar/icons/ngtslaicon.png b/ui/sidebar/icons/ngtslaicon.png new file mode 100644 index 0000000..ab4e249 Binary files /dev/null and b/ui/sidebar/icons/ngtslaicon.png differ