mirror of
https://github.com/zenorogue/hyperrogue.git
synced 2025-10-13 21:47:38 +00:00
more header shifting
This commit is contained in:
@@ -6,6 +6,70 @@ namespace hr {
|
||||
|
||||
EX namespace arcm {
|
||||
|
||||
#if HDR
|
||||
struct archimedean_tiling {
|
||||
|
||||
int coloring;
|
||||
|
||||
string symbol;
|
||||
|
||||
vector<int> faces;
|
||||
vector<int> adj;
|
||||
vector<bool> invert;
|
||||
vector<int> nflags;
|
||||
|
||||
bool have_ph, have_line, have_symmetry;
|
||||
int real_faces;
|
||||
int real_face_type;
|
||||
|
||||
int repetition;
|
||||
int N;
|
||||
|
||||
ld euclidean_angle_sum;
|
||||
|
||||
vector<int> flags;
|
||||
|
||||
vector<vector<pair<int, int>>> adjacent;
|
||||
vector<vector<pair<ld, ld>>> triangles;
|
||||
|
||||
void make_match(int a, int i, int b, int j);
|
||||
void prepare();
|
||||
void compute_geometry();
|
||||
|
||||
void parse();
|
||||
void parse(string s) { symbol = s; parse(); }
|
||||
|
||||
ld edgelength;
|
||||
|
||||
vector<ld> inradius, circumradius, alphas;
|
||||
|
||||
int matches[30][30];
|
||||
int periods[30];
|
||||
int tilegroup[30], groupoffset[30], tilegroups;
|
||||
|
||||
int errors;
|
||||
string errormsg;
|
||||
|
||||
pair<int, int>& get_adj(heptagon *h, int cid);
|
||||
pair<int, int>& get_adj(heptspin hs) { return get_adj(hs.at, hs.spin); }
|
||||
pair<ld, ld>& get_triangle(heptagon *h, int cid);
|
||||
pair<ld, ld>& get_triangle(heptspin hs) { return get_triangle(hs.at, hs.spin); }
|
||||
pair<ld, ld>& get_triangle(const pair<int, int>& p, int delta = 0);
|
||||
pair<int, int>& get_adj(const pair<int, int>& p, int delta = 0);
|
||||
|
||||
int support_threecolor();
|
||||
int support_threecolor_bitruncated();
|
||||
int support_football();
|
||||
bool support_chessboard();
|
||||
void regroup();
|
||||
string world_size();
|
||||
|
||||
eGeometryClass get_class();
|
||||
|
||||
ld scale();
|
||||
};
|
||||
#endif
|
||||
|
||||
#if CAP_ARCM
|
||||
|
||||
static const int sfPH = 1;
|
||||
@@ -351,7 +415,7 @@ ld archimedean_tiling::scale() {
|
||||
|
||||
map<heptagon*, vector<pair<heptagon*, transmatrix> > > altmap;
|
||||
|
||||
map<heptagon*, pair<heptagon*, transmatrix>> archimedean_gmatrix;
|
||||
EX map<heptagon*, pair<heptagon*, transmatrix>> archimedean_gmatrix;
|
||||
|
||||
hrmap *current_altmap;
|
||||
|
||||
@@ -703,7 +767,7 @@ transmatrix adjcell_matrix(heptagon *h, int d) {
|
||||
return spin(-t1.first) * xpush(t1.second) * spin(M_PI + t2.first);
|
||||
}
|
||||
|
||||
int fix(heptagon *h, int spin) {
|
||||
EX int fix(heptagon *h, int spin) {
|
||||
int type = isize(current.adjacent[id_of(h)]);
|
||||
spin %= type;
|
||||
if(spin < 0) spin += type;
|
||||
|
Reference in New Issue
Block a user