mirror of
https://github.com/zenorogue/hyperrogue.git
synced 2025-04-29 06:03:11 +00:00
new linepattern for ultra, and also better edge drawer
This commit is contained in:
parent
4217c7ccc7
commit
9c4a1d6d4e
@ -843,10 +843,28 @@ void celldrawer::draw_grid() {
|
|||||||
dynamicval<color_t> g(poly_outline, gridcolor(c, c->move(t)));
|
dynamicval<color_t> g(poly_outline, gridcolor(c, c->move(t)));
|
||||||
if(fat_edges && reg3::in()) {
|
if(fat_edges && reg3::in()) {
|
||||||
for(int i=0; i<S7; i++) if(c < c->move(i)) {
|
for(int i=0; i<S7; i++) if(c < c->move(i)) {
|
||||||
for(int j=0; j<cgi.face-1; j++) {
|
for(int j=0; j<cgi.face; j++) {
|
||||||
gridline(V, cgi.cellshape[i*cgi.face+j], cgi.cellshape[i*cgi.face+j+1], gridcolor(c, c->move(t)), prec);
|
int jj = j == cgi.face-1 ? 0 : j+1;
|
||||||
|
int jjj = jj == cgi.face-1 ? 0 : jj+1;
|
||||||
|
hyperpoint a = cgi.cellshape[i*cgi.face+j];
|
||||||
|
hyperpoint b = cgi.cellshape[i*cgi.face+jj];
|
||||||
|
if(cgflags & qIDEAL) {
|
||||||
|
ld mm = cgi.ultra_mirror_part;
|
||||||
|
if((cgflags & qULTRA) && !reg3::ultra_mirror_in())
|
||||||
|
mm = lerp(1-cgi.ultra_material_part, cgi.ultra_material_part, .99);
|
||||||
|
tie(a, b) = make_pair(normalize(lerp(a, b, mm)), normalize(lerp(b, a, mm)));
|
||||||
|
}
|
||||||
|
gridline(V, a, b, gridcolor(c, c->move(t)), prec);
|
||||||
|
|
||||||
|
if(reg3::ultra_mirror_in()) {
|
||||||
|
hyperpoint a = cgi.cellshape[i*cgi.face+j];
|
||||||
|
hyperpoint b = cgi.cellshape[i*cgi.face+jj];
|
||||||
|
hyperpoint d = cgi.cellshape[i*cgi.face+jjj];
|
||||||
|
auto& mm = cgi.ultra_mirror_part;
|
||||||
|
tie(a, d) = make_pair(normalize(lerp(a, b, mm)), normalize(lerp(d, b, mm)));
|
||||||
|
gridline(V, a, d, stdgridcolor, prec);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
gridline(V, cgi.cellshape[i*cgi.face], cgi.cellshape[(i+1)*cgi.face-1], gridcolor(c, c->move(t)), prec);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
|
13
pattern2.cpp
13
pattern2.cpp
@ -2816,6 +2816,17 @@ EX namespace linepatterns {
|
|||||||
)
|
)
|
||||||
);
|
);
|
||||||
|
|
||||||
|
linepattern patUltra("ultra-connection", 0xFFFF8000, [] { return cgflags & qULTRA; },
|
||||||
|
ALLCELLS(
|
||||||
|
ignore(c);
|
||||||
|
color_t col2 = col;
|
||||||
|
if(col2 == 0xFF)
|
||||||
|
col2 = darkena(c->landparam, 0, 0xFF);
|
||||||
|
for(auto U: cgi.ultra_mirrors)
|
||||||
|
gridlinef(V, C0, V, mid(C0, U*C0), col2, 2 + vid.linequality);
|
||||||
|
)
|
||||||
|
);
|
||||||
|
|
||||||
#if HDR
|
#if HDR
|
||||||
extern linepattern patTriTree, patTriRings, patTriOther;
|
extern linepattern patTriTree, patTriRings, patTriOther;
|
||||||
#endif
|
#endif
|
||||||
@ -2827,7 +2838,7 @@ EX namespace linepatterns {
|
|||||||
&patVine, &patPalacelike, &patPalace, &patPower, &patHorocycles,
|
&patVine, &patPalacelike, &patPalace, &patPower, &patHorocycles,
|
||||||
&patTriRings, &patTriTree, &patTriOther,
|
&patTriRings, &patTriTree, &patTriOther,
|
||||||
&patGoldbergTree, &patIrregularMaster, &patGoldbergSep, &patHeawood, &patArcm,
|
&patGoldbergTree, &patIrregularMaster, &patGoldbergSep, &patHeawood, &patArcm,
|
||||||
&patCircles, &patRadii, &patMeridians, &patParallels, &patSublines
|
&patCircles, &patRadii, &patMeridians, &patParallels, &patSublines, &patUltra
|
||||||
};
|
};
|
||||||
|
|
||||||
EX void clearAll() {
|
EX void clearAll() {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user