mirror of
https://github.com/zenorogue/hyperrogue.git
synced 2025-02-24 23:10:09 +00:00
fixed a freeze in some Archimedean geometries
This commit is contained in:
parent
9b7ad345a9
commit
b88ef69f59
@ -116,12 +116,15 @@ vector<unique_ptr<drawqueueitem>> ptds;
|
|||||||
void hpcpush(hyperpoint h) {
|
void hpcpush(hyperpoint h) {
|
||||||
if(sphere) h = mid(h,h);
|
if(sphere) h = mid(h,h);
|
||||||
ld threshold = (DIM == 3 || last->flags & POLY_TRIANGLES) ? 100 : (sphere ? (ISMOBWEB || NONSTDVAR ? .04 : .001) : 0.1) * pow(.25, vid.linequality);
|
ld threshold = (DIM == 3 || last->flags & POLY_TRIANGLES) ? 100 : (sphere ? (ISMOBWEB || NONSTDVAR ? .04 : .001) : 0.1) * pow(.25, vid.linequality);
|
||||||
if(/*vid.usingGL && */!first && intval(hpc.back(), h) > threshold) {
|
if(/*vid.usingGL && */!first) {
|
||||||
|
ld i = intval(hpc.back(), h);
|
||||||
|
if(i > threshold && i < 10) {
|
||||||
hyperpoint md = mid(hpc.back(), h);
|
hyperpoint md = mid(hpc.back(), h);
|
||||||
hpcpush(md);
|
hpcpush(md);
|
||||||
hpcpush(h);
|
hpcpush(h);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
first = false;
|
first = false;
|
||||||
hpc.push_back(h);
|
hpc.push_back(h);
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user