mirror of
https://github.com/zenorogue/hyperrogue.git
synced 2025-10-18 23:47:40 +00:00
reg3:: included tree rules for most hyperbolic honeycombs
This commit is contained in:
1
honeycomb-rules-344.dat
Normal file
1
honeycomb-rules-344.dat
Normal file
@@ -0,0 +1 @@
|
||||
x<EFBFBD><EFBFBD><EFBFBD><EFBFBD>m<EFBFBD>0<0C><>:n<><6E>q<EFBFBD>t.<2E><><EFBFBD>:|<7C><>Ѳ<EFBFBD>C<EFBFBD><43>" :@M<><4D><EFBFBD>(<28><>s<EFBFBD>R<EFBFBD><52>V<EFBFBD>V<EFBFBD><56><EFBFBD>*<2A><>Y2<59>dǣRx<7F>v(x^*|>a饗<61><E9A597><EFBFBD>K=<3D>z<EFBFBD><7A>4<EFBFBD>s$揄<><E68F84>p<EFBFBD>rw<72><77><EFBFBD>\xDŽ<>4/<02>_j<5F>8/<2F><>7p<37><70><EFBFBD>yX<>|<07><>1<EFBFBD><31>>D~<7E><>c<EFBFBD><63><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>o<12><>6<EFBFBD><1C><0F>r<1F>'yy<0F><><0B>~<7E><><EFBFBD><EFBFBD><EFBFBD>K<EFBFBD><4B>h<EFBFBD>Nci5<69>ޡ<1D>[<5B><>ɵ<EFBFBD>E;Xrːe<06>`<60><><EFBFBD><EFBFBD>*<2A>VQ<56>W<EFBFBD><57><EFBFBD><EFBFBD><1A><>ثI5<49><35><06><><EFBFBD>kH<6B><48><EFBFBD>v#<23><><11>3<EFBFBD>Y;#<23><>D_<44><5F>?xhL<68><4C>
|
BIN
honeycomb-rules-354.dat
Normal file
BIN
honeycomb-rules-354.dat
Normal file
Binary file not shown.
BIN
honeycomb-rules-355.dat
Normal file
BIN
honeycomb-rules-355.dat
Normal file
Binary file not shown.
BIN
honeycomb-rules-436.dat
Normal file
BIN
honeycomb-rules-436.dat
Normal file
Binary file not shown.
BIN
honeycomb-rules-536.dat
Normal file
BIN
honeycomb-rules-536.dat
Normal file
Binary file not shown.
31
reg3.cpp
31
reg3.cpp
@@ -1033,10 +1033,7 @@ EX namespace reg3 {
|
||||
|
||||
hrmap_reg3_rule() : fp(0) {
|
||||
|
||||
if(S7 == 6) load_ruleset("honeycomb-rules-435.dat");
|
||||
else if(S7 == 20) load_ruleset("honeycomb-rules-353.dat");
|
||||
else if(ginf[geometry].vertex == 5) load_ruleset("honeycomb-rules-535.dat");
|
||||
else load_ruleset("honeycomb-rules-534.dat");
|
||||
load_ruleset(get_rule_filename());
|
||||
|
||||
origin = tailored_alloc<heptagon> (S7);
|
||||
heptagon& h = *origin;
|
||||
@@ -1065,11 +1062,15 @@ EX namespace reg3 {
|
||||
|
||||
if(geometry == gSpace535)
|
||||
quotient_map = new seifert_weber::hrmap_seifert_cover();
|
||||
else if(geometry == gSpace344)
|
||||
quotient_map = new hrmap_from_crystal;
|
||||
else
|
||||
quotient_map = new hrmap_field3(&fp);
|
||||
|
||||
if(geometry == gSpace535)
|
||||
emerald_map = new seifert_weber::hrmap_seifert_cover();
|
||||
else if(geometry == gSpace344)
|
||||
emerald_map = new hrmap_from_crystal;
|
||||
else
|
||||
emerald_map = new hrmap_field3(&currfp);
|
||||
h.emeraldval = 0;
|
||||
@@ -1264,9 +1265,29 @@ EX void link_structures(heptagon *h, heptagon *alt, hstate firststate) {
|
||||
}
|
||||
|
||||
EX bool reg3_rule_available = true;
|
||||
EX string other_rule = "";
|
||||
|
||||
EX string get_rule_filename() {
|
||||
if(other_rule != "") return other_rule;
|
||||
switch(geometry) {
|
||||
case gSpace336: return "honeycomb-rules-336.dat";
|
||||
case gSpace344: return "honeycomb-rules-344.dat";
|
||||
// case gSpace345: return "honeycomb-rules-345.dat";
|
||||
case gSpace353: return "honeycomb-rules-353.dat";
|
||||
case gSpace354: return "honeycomb-rules-354.dat";
|
||||
// case gSpace355: return "honeycomb-rules-355.dat";
|
||||
case gSpace435: return "honeycomb-rules-435.dat";
|
||||
case gSpace436: return "honeycomb-rules-436.dat";
|
||||
case gSpace534: return "honeycomb-rules-534.dat";
|
||||
case gSpace535: return "honeycomb-rules-535.dat";
|
||||
case gSpace536: return "honeycomb-rules-536.dat";
|
||||
|
||||
default: return "";
|
||||
}
|
||||
}
|
||||
|
||||
EX bool in_rule() {
|
||||
return reg3_rule_available && among(geometry, gSpace534, gSpace435, gSpace535, gSpace353);
|
||||
return reg3_rule_available && get_rule_filename() != "";
|
||||
}
|
||||
|
||||
EX int rule_get_root(int i) {
|
||||
|
Reference in New Issue
Block a user