From 301d4664fe4473b28d60a44ba7346beecde0ef6f Mon Sep 17 00:00:00 2001 From: Zeno Rogue Date: Mon, 21 Oct 2019 22:45:38 +0200 Subject: [PATCH] rogueviz/magiccube:: works with gCrystal344 --- rogueviz/magiccube.cpp | 26 +++++++++++++++++--------- 1 file changed, 17 insertions(+), 9 deletions(-) diff --git a/rogueviz/magiccube.cpp b/rogueviz/magiccube.cpp index 9e125101..2d2ab5ff 100644 --- a/rogueviz/magiccube.cpp +++ b/rogueviz/magiccube.cpp @@ -16,17 +16,15 @@ int back = 0x202020; int magiccolors[14] = { 0xFFFFFF, 0xFFFF00, 0x0000FF, 0x00FF00, 0xFF0000, 0xFF8000, 0x800080, 0x808080, 0x00FFFF, 0x80FFFF, 0x4040C0, 0x40C040, 0xC04040, 0xC0A040 }; -int dim() { return ginf[gCrystal].sides / 2; } - void build(crystal::coord co, int at) { - if(at < dim()) { + if(at < crystal::get_dim()) { for(int z: {0,2,-2,4,-4}) co[at] = z, build(co, at+1); return; } for(int i=0; icmove(i); int twos = 0, index = 0; - for(int a=0; alandparam == back) { + if(GDIM == 2) for(int i=0; imove(i); if(c2->landparam != back) { @@ -83,24 +85,30 @@ bool magic_markers(cell *c, const transmatrix& V) { } } } - else c->wall = waInvisibleFloor; + else { + c->wall = GDIM == 2 ? waInvisibleFloor : waWaxWall; + } return false; } int readArgs() { using namespace arg; - + if(0) ; else if(argis("-magic")) { PHASEFROM(2); shift(); magic(argi()); } + else if(argis("-magic3")) { + PHASEFROM(2); + magic(-1); + } else return 1; return 0; } void twos_to_fours(vector& zeros, crystal::coord co, int d) { - if(d == dim()) { + if(d == crystal::get_dim()) { int facetable[5][5]; for(int x=0; x<5; x++) for(int y=0; y<5; y++) { @@ -130,7 +138,7 @@ bool magic_rotate(cell *c) { vector zeros; auto co = crystal::get_coord(c->master); println(hlog, "co = ", co); - for(int i=0; i