creature_scale can now be changed in all geometries except standard non-cheater shmup

This commit is contained in:
Zeno Rogue 2019-07-21 23:12:16 +02:00
parent d1fb9f3564
commit a1e1240d33
2 changed files with 11 additions and 6 deletions

View File

@ -1313,6 +1313,8 @@ void show3D() {
dialog::addSelItem(XLAT("Human to wall ratio"), fts(vid.human_wall_ratio), 'h');
dialog::addSelItem(XLAT("Level of water surface"), fts(vid.lake_top), 'l');
dialog::addSelItem(XLAT("Level of water bottom"), fts(vid.lake_bottom), 'k');
if(scale_used())
dialog::addSelItem(XLAT("Creature scale"), fts(vid.creature_scale), 'C');
}
else {
dialog::addSelItem(XLAT("Creature scale"), fts(vid.creature_scale), 'c');
@ -1521,6 +1523,8 @@ void show3D() {
dialog::editNumber(vid.height_width, 0, 1, .1, .7, XLAT("Height to width"), "");
else if(uni == 'c' && WDIM == 3)
dialog::editNumber(vid.creature_scale, 0, 1, .1, .7, XLAT("Creature scale"), "");
else if(uni == 'C' && WDIM == 2 && scale_used())
dialog::editNumber(vid.creature_scale, 0, 1, .1, .7, XLAT("Creature scale"), "");
else if(uni == 'e')
pushScreen(showStereo);

View File

@ -14,6 +14,8 @@ ld hexf7 = 0.378077;
// the distance between two hexagon centers
bool scale_used() { return (shmup::on && geometry == gNormal && BITRUNCATED) ? (cheater || autocheat) : true; }
void geometry_information::prepare_basics() {
DEBBI(DF_INIT | DF_POLY | DF_GEOM, ("prepare_basics"));
@ -142,10 +144,10 @@ void geometry_information::prepare_basics() {
scalefactor = crossf / hcrossf7;
orbsize = crossf;
if(WDIM == 3) scalefactor *= vid.creature_scale;
if(scale_used()) scalefactor *= vid.creature_scale;
zhexf = BITRUNCATED ? hexf : crossf* .55;
if(WDIM == 3) zhexf *= vid.creature_scale;
if(scale_used()) zhexf *= vid.creature_scale;
if(WDIM == 2 && GDIM == 3) zhexf *= 1.5, orbsize *= 1.2;
floorrad0 = hexvdist* (GDIM == 3 ? 1 : 0.92);
@ -469,11 +471,10 @@ void check_cgi() {
V("3D", ONOFF(vid.always3));
if(WDIM == 3) {
V("CS", fts(vid.creature_scale));
V("HTW", fts(vid.height_width));
}
if(scale_used()) V("CS", fts(vid.creature_scale));
if(WDIM == 3) V("HTW", fts(vid.height_width));
V("LQ", its(vid.linequality));
cgip = &cgis[s];