#include "rogueviz.h" namespace hr { namespace recursive_house { // log(2) / vid.plevel_factor == 1.78379 // 0.38858115616745542 // commandline for Euclidean animation: // rogueviz -canvas 0 -geo beti -recursive-house -noplayer // commandline for S2xE // rogueviz -geo 2 -7 -product -prodperiod 1 -canvas 0 -lands 6 -recursive-house -noplayer plevel_factor=0.38858*2 // (warning: it is quite slow) bool draw_recursive_house_at(cell *c, const shiftmatrix& V) { if(c != currentmap->gamestart()) return false; for(int lv=-10; lv<=10; lv++) { if(!euclid && lv) continue; dynamicval g(geometry, gCubeTiling); check_cgi(); cgi.require_shapes(); auto cube = [&] (ld x, ld y, ld z, color_t wal, ld s = 1) { for(int i=0; i<6; i++) { auto& p = cgi.shWall3D[i]; for(int j=p.s; jgamestart(); anims::moved(); }); } auto house_hook = arg::add3("-recursive-house", enable); }}