mirror of
				https://github.com/zenorogue/hyperrogue.git
				synced 2025-10-26 19:37:40 +00:00 
			
		
		
		
	do not do walls if walls not implemented
This commit is contained in:
		| @@ -1372,6 +1372,10 @@ EX bool good_for_wall(cell *c) { | |||||||
|   return pseudohept(c); |   return pseudohept(c); | ||||||
|   } |   } | ||||||
|  |  | ||||||
|  | EX bool walls_not_implemented() { | ||||||
|  |   return WDIM == 3 && (cgflags & qIDEAL); | ||||||
|  |   } | ||||||
|  |    | ||||||
| EX void buildBigStuff(cell *c, cell *from) { | EX void buildBigStuff(cell *c, cell *from) { | ||||||
|   if(sphere || quotient || nonisotropic || (penrose && !binarytiling) || experimental) return; |   if(sphere || quotient || nonisotropic || (penrose && !binarytiling) || experimental) return; | ||||||
|   if(chaosmode > 1) return; |   if(chaosmode > 1) return; | ||||||
| @@ -1383,6 +1387,8 @@ EX void buildBigStuff(cell *c, cell *from) { | |||||||
|    |    | ||||||
|   if(hybri) ;  /* Great Walls generated via the underlying geometry */ |   if(hybri) ;  /* Great Walls generated via the underlying geometry */ | ||||||
|    |    | ||||||
|  |   else if(walls_not_implemented()); // walls not implemented here | ||||||
|  |    | ||||||
|   else if(geometry == gNormal && celldist(c) < 3 && !GOLDBERG) { |   else if(geometry == gNormal && celldist(c) < 3 && !GOLDBERG) { | ||||||
|     if(top_land && c == cwt.at->master->move(3)->c7) { |     if(top_land && c == cwt.at->master->move(3)->c7) { | ||||||
|       buildBarrierStrong(c, 6, true, top_land); |       buildBarrierStrong(c, 6, true, top_land); | ||||||
|   | |||||||
| @@ -345,7 +345,7 @@ void ge_land_selection() { | |||||||
|       }); |       }); | ||||||
|     } |     } | ||||||
|   dialog::addBreak(50); |   dialog::addBreak(50); | ||||||
|   if(chaosUnlocked && !quotient && !euclid && !sphere) { |   if(chaosUnlocked && !quotient && !euclid && !sphere && !walls_not_implemented()) { | ||||||
|     dialog::addItem(XLAT("Chaos mode"), '1'); |     dialog::addItem(XLAT("Chaos mode"), '1'); | ||||||
|     dialog::add_action(dual::mayboth([] { |     dialog::add_action(dual::mayboth([] { | ||||||
|       if(chaosUnlocked) dialog::do_if_confirmed([] { |       if(chaosUnlocked) dialog::do_if_confirmed([] { | ||||||
|   | |||||||
| @@ -659,6 +659,7 @@ namespace lv { | |||||||
|   land_validity_t sloppy_pattern = {1, q1 | one_and_half, "Somewhat sloppy pattern."}; |   land_validity_t sloppy_pattern = {1, q1 | one_and_half, "Somewhat sloppy pattern."}; | ||||||
|   land_validity_t no_fractal_landscapes = {1, q1 | one_and_half, "Fractal landscapes not implemented in this geometry."}; |   land_validity_t no_fractal_landscapes = {1, q1 | one_and_half, "Fractal landscapes not implemented in this geometry."}; | ||||||
|   land_validity_t simplified_walls = { 1, q1, "Only simplified walls implemented."};   |   land_validity_t simplified_walls = { 1, q1, "Only simplified walls implemented."};   | ||||||
|  |   land_validity_t no_walls = { 0, q0, "No walls implemented."};   | ||||||
|   land_validity_t disabled = {0, q0, "This land has been disabled with compilation flags."}; |   land_validity_t disabled = {0, q0, "This land has been disabled with compilation flags."}; | ||||||
|   land_validity_t pattern_special = {3, qm3, "Special pattern implemented for this geometry."};  |   land_validity_t pattern_special = {3, qm3, "Special pattern implemented for this geometry."};  | ||||||
|   land_validity_t not_3d = {0, q0, "This land does not make much sense in 3D."};  |   land_validity_t not_3d = {0, q0, "This land does not make much sense in 3D."};  | ||||||
| @@ -680,6 +681,9 @@ EX land_validity_t& land_validity(eLand l) { | |||||||
|  |  | ||||||
|   using namespace lv; |   using namespace lv; | ||||||
|    |    | ||||||
|  |   if(walls_not_implemented() && isCrossroads(l)) | ||||||
|  |     return no_walls; | ||||||
|  |    | ||||||
|   if(hybri || hybrid::pmap) { |   if(hybri || hybrid::pmap) { | ||||||
|     if(among(l, laPrincessQuest, laPrairie, laMirrorOld, laMirror, laDual, laWarpCoast, laKraken, laBrownian, laWhirlpool, laWestWall, laHive, laClearing, laWhirlwind, laBlizzard, laBull, laTerracotta, laCrossroads5, |     if(among(l, laPrincessQuest, laPrairie, laMirrorOld, laMirror, laDual, laWarpCoast, laKraken, laBrownian, laWhirlpool, laWestWall, laHive, laClearing, laWhirlwind, laBlizzard, laBull, laTerracotta, laCrossroads5, | ||||||
|       laEndorian, laDungeon, laMountain)) |       laEndorian, laDungeon, laMountain)) | ||||||
|   | |||||||
| @@ -496,6 +496,7 @@ EX void show_chaos() { | |||||||
|    |    | ||||||
|   if(chaosUnlocked) for(int a=1; a<5; a++) { |   if(chaosUnlocked) for(int a=1; a<5; a++) { | ||||||
|     if(a > 1 && ISWEB) continue; |     if(a > 1 && ISWEB) continue; | ||||||
|  |     if(a == 1 && walls_not_implemented()) continue; | ||||||
|     dialog::addBoolItem( |     dialog::addBoolItem( | ||||||
|       a == 1 ? XLATN("Crossroads IV") :  |       a == 1 ? XLATN("Crossroads IV") :  | ||||||
|       a == 2 ? XLATN("Palace") :  |       a == 2 ? XLATN("Palace") :  | ||||||
|   | |||||||
| @@ -1197,7 +1197,9 @@ EX void set_geometry(eGeometry target) { | |||||||
|       } |       } | ||||||
|     geometry = target; |     geometry = target; | ||||||
|    |    | ||||||
|     if(chaosmode && bounded) chaosmode = false; |     if(chaosmode && bounded) chaosmode = 0; | ||||||
|  |     if(chaosmode == 1 && walls_not_implemented()) chaosmode = 0; | ||||||
|  |  | ||||||
|     if(euclid6) variation = eVariation::bitruncated; |     if(euclid6) variation = eVariation::bitruncated; | ||||||
|     #if CAP_IRR |     #if CAP_IRR | ||||||
|     if(IRREGULAR) variation = eVariation::bitruncated; |     if(IRREGULAR) variation = eVariation::bitruncated; | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 Zeno Rogue
					Zeno Rogue