mirror of
https://github.com/zenorogue/hyperrogue.git
synced 2024-11-24 05:17:17 +00:00
rv:: sunflower:: new options for colors, overlay, and yshift
This commit is contained in:
parent
998af473ca
commit
d92f7f6765
@ -33,6 +33,8 @@ ld qty = 100;
|
||||
ld density = 1, zdensity;
|
||||
ld range;
|
||||
|
||||
ld yshift;
|
||||
|
||||
ld distance_per_rug;
|
||||
|
||||
bool adjust_rug;
|
||||
@ -48,8 +50,10 @@ ld qfrac;
|
||||
|
||||
bool outward = false;
|
||||
|
||||
ld step_angle = M_PI * (3 - sqrt(5));
|
||||
|
||||
hyperpoint p(int i) {
|
||||
ld step = M_PI * (3 - sqrt(5));
|
||||
ld step = step_angle;
|
||||
return spin((outward ? i : i-iqty) * step) * xpush(sphere ? (acos(1 - (i+.5+qfrac) * density)) : euclid ? sqrt((i+.5+qfrac) * density) : acosh(1 + (i+.5+qfrac) * density)) * C0;
|
||||
}
|
||||
|
||||
@ -57,6 +61,12 @@ vector<int> inext, inext2;
|
||||
|
||||
vector<int> fibs = {1, 2};
|
||||
|
||||
color_t sunflower1 = 0xC04000FF;
|
||||
color_t sunflower2 = 0xFFD500FF;
|
||||
color_t sunflower3 = 0x000000FF;
|
||||
|
||||
bool overlay = false;
|
||||
|
||||
bool sunflower_cell(cell *c, shiftmatrix V) {
|
||||
density = zdensity / 100;
|
||||
|
||||
@ -120,25 +130,26 @@ bool sunflower_cell(cell *c, shiftmatrix V) {
|
||||
inext2[i] = bj;
|
||||
}
|
||||
|
||||
for(int i=0; i<iqty; i++) {
|
||||
if(sunflower1 || sunflower2 || sunflower3) for(int i=0; i<iqty; i++) {
|
||||
if(inext[inext[i]] == inext2[i] || inext2[inext[i]] == inext2[i] || inext[inext2[i]] == inext[i] || inext2[inext2[i]] == inext[i]) {
|
||||
curvepoint(ps[i]);
|
||||
curvepoint(ps[inext[i]]);
|
||||
curvepoint(ps[inext2[i]]);
|
||||
curvepoint(ps[inext[i]]);
|
||||
// queuecurve(0xFFFFFFFF, 0x00C000FF, PPR::LINE);
|
||||
queuecurve(V, 0x000000FF, 0xC04000FF, PPR::LINE);
|
||||
queuecurve(V * ypush(yshift), sunflower3, sunflower1, PPR::LINE);
|
||||
}
|
||||
else {
|
||||
curvepoint(ps[i]);
|
||||
curvepoint(ps[inext[i]]);
|
||||
curvepoint(ps[inext[i] + inext2[i] - i]);
|
||||
curvepoint(ps[inext2[i]]);
|
||||
queuecurve(V,0x000000FF, 0xFFD500FF, PPR::LINE);
|
||||
queuecurve(V * ypush(yshift), sunflower3, sunflower2, PPR::LINE);
|
||||
}
|
||||
if(nodes) queuepolyat(V * rgpushxto0(ps[i]), cgi.shSnowball, 0xFF, PPR::SUPERLINE);
|
||||
if(nodes) queuepolyat(V * ypush(yshift) * rgpushxto0(ps[i]), cgi.shSnowball, 0xFF, PPR::SUPERLINE);
|
||||
}
|
||||
}
|
||||
return true;
|
||||
|
||||
return !overlay;
|
||||
}
|
||||
|
||||
void insert_param() {
|
||||
@ -146,6 +157,7 @@ void insert_param() {
|
||||
param_f(qty, "sunq");
|
||||
param_f(range, "sunr");
|
||||
param_f(distance_per_rug, "sunf");
|
||||
param_f(yshift, "sunyshift");
|
||||
}
|
||||
|
||||
void show();
|
||||
@ -196,6 +208,16 @@ int readArgs() {
|
||||
adjust_rug = true;
|
||||
shift_arg_formula(distance_per_rug);
|
||||
}
|
||||
else if(argis("-sunflower-colors")) {
|
||||
PHASEFROM(2);
|
||||
shift(); sunflower1 = argcolor(32);
|
||||
shift(); sunflower2 = argcolor(32);
|
||||
shift(); sunflower3 = argcolor(32);
|
||||
}
|
||||
else if(argis("-sunflower-overlay")) {
|
||||
PHASEFROM(2);
|
||||
shift(); overlay = argi();
|
||||
}
|
||||
else return 1;
|
||||
return 0;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user