1
0
mirror of https://github.com/zenorogue/hyperrogue.git synced 2024-12-24 09:00:34 +00:00

Möbius transformations configurable

This commit is contained in:
Zeno Rogue 2018-11-06 15:54:55 +01:00
parent 8e7abf6292
commit b6f4220d47
3 changed files with 10 additions and 0 deletions

View File

@ -294,6 +294,8 @@ void initConfig() {
addsaver(vid.smart_range_detail, "smart-range-detail", 8); addsaver(vid.smart_range_detail, "smart-range-detail", 8);
addsaver(vid.cells_drawn_limit, "limit on cells drawn", 10000); addsaver(vid.cells_drawn_limit, "limit on cells drawn", 10000);
addsaver(vid.skiprope, "mobius", 0);
#if CAP_SHMUP #if CAP_SHMUP
shmup::initConfig(); shmup::initConfig();
#endif #endif

View File

@ -673,6 +673,9 @@ namespace conformal {
if(model_has_transition()) if(model_has_transition())
dialog::addSelItem(XLAT("model transition"), fts3(model_transition), 't'); dialog::addSelItem(XLAT("model transition"), fts3(model_transition), 't');
if(among(pmodel, mdJoukowsky, mdJoukowskyInverted))
dialog::addSelItem(XLAT("Möbius transformations"), fts3(vid.skiprope), 'S');
if(pmodel == mdHemisphere && euclid) { if(pmodel == mdHemisphere && euclid) {
dialog::addSelItem(XLAT("parameter"), fts3(vid.euclid_to_sphere), 'l'); dialog::addSelItem(XLAT("parameter"), fts3(vid.euclid_to_sphere), 'l');
} }
@ -739,6 +742,8 @@ namespace conformal {
dialog::editNumber(model_transition, 0, 1, 0.1, 1, XLAT("model transition"), dialog::editNumber(model_transition, 0, 1, 0.1, 1, XLAT("model transition"),
"You can change this parameter for a transition from another model to this one." "You can change this parameter for a transition from another model to this one."
); );
else if(uni == 'S')
dialog::editNumber(vid.skiprope, 0, 360, 15, 0, XLAT("Möbius transformations"), "");
else if(uni == 'b' && pmodel == mdHalfplane) else if(uni == 'b' && pmodel == mdHalfplane)
dialog::editNumber(model_orientation, 0, 2, 0.25, 1, XLAT("halfplane scale"), ""); dialog::editNumber(model_orientation, 0, 2, 0.25, 1, XLAT("halfplane scale"), "");
else if(uni == 's') { else if(uni == 's') {

View File

@ -652,6 +652,9 @@ void show() {
dialog::addBoolItem(XLAT("joukowsky_anim"), joukowsky_anim, 'j'); dialog::addBoolItem(XLAT("joukowsky_anim"), joukowsky_anim, 'j');
dialog::add_action([] () { joukowsky_anim = !joukowsky_anim; }); dialog::add_action([] () { joukowsky_anim = !joukowsky_anim; });
} }
if(among(pmodel, mdJoukowsky, mdJoukowskyInverted)) {
animator(XLAT("Möbius transformations"), skiprope_rotation, 'S');
}
dialog::addBoolItem(XLAT("circle"), ma == maCircle, '4'); dialog::addBoolItem(XLAT("circle"), ma == maCircle, '4');
dialog::add_action([] () { ma = maCircle; dialog::add_action([] () { ma = maCircle;
rotation_center_h = viewctr; rotation_center_h = viewctr;