1
0
mirror of https://github.com/zenorogue/hyperrogue.git synced 2024-12-24 01:00:25 +00:00

more guard fixes

This commit is contained in:
Zeno Rogue 2022-05-10 08:53:58 +02:00
parent 319e316b55
commit 94c7cf6b03
2 changed files with 21 additions and 11 deletions

View File

@ -34,8 +34,12 @@ EX namespace fake {
if(arcm::in() && PURE) return true;
if(WDIM == 2) return false;
if(among(geometry, gBitrunc3)) return false;
#if MAXMDIM >= 4
if(reg3::in() && !among(variation, eVariation::pure, eVariation::subcubes, eVariation::coxeter, eVariation::bch_oct)) return false;
return euc::in() || reg3::in();
#else
return euc::in();
#endif
}
map<cell*, ld> random_order;
@ -133,7 +137,11 @@ EX namespace fake {
}
transmatrix S1, S2;
ld dist;
#if MAXMDIM >= 4
bool impure = reg3::in() && !PURE;
#else
bool impure = !PURE;
#endif
vector<int> mseq;
if(impure) {
mseq = FPIU ( currentmap->get_move_seq(c, d) );

View File

@ -11,7 +11,6 @@
#include "hyper.h"
namespace hr {
#if MAXMDIM >= 4
EX hyperpoint final_coords(hyperpoint h) {
if(sn::in() || !bt::in())
@ -68,6 +67,19 @@ void subcellshape::compute_hept() {
compute_common();
}
EX namespace reg3 {
EX void make_vertices_only(vector<hyperpoint>& vo, const vector<vector<hyperpoint>>& csh) {
vo.clear();
for(auto& v: csh)
for(hyperpoint h: v) {
bool found = false;
for(hyperpoint h2: vo) if(hdist(h, h2) < 1e-6) found = true;
if(!found) vo.push_back(h);
}
}
EX }
#if MAXMDIM >= 4
void subcellshape::compute_sub() {
hyperpoint gres = Hypc;
for(auto& face: faces) {
@ -167,16 +179,6 @@ EX namespace reg3 {
}
}
EX void make_vertices_only(vector<hyperpoint>& vo, const vector<vector<hyperpoint>>& csh) {
vo.clear();
for(auto& v: csh)
for(hyperpoint h: v) {
bool found = false;
for(hyperpoint h2: vo) if(hdist(h, h2) < 1e-6) found = true;
if(!found) vo.push_back(h);
}
}
EX void generate() {
if(fake::in()) {