diff --git a/commandline.cpp b/commandline.cpp index 9354adba..2ac3266c 100644 --- a/commandline.cpp +++ b/commandline.cpp @@ -260,12 +260,13 @@ int arg::readCommon() { else if(argis("-draw")) { PHASE(3); start_game(); drawscreen(); } - else if(argis("-rotate")) { + else if(argis("-sview")) { PHASE(3); start_game(); - shift(); ld a = argf(); - shift(); ld b = argf(); - View = View * spin(TAU * a / b); playermoved = false; + transmatrix T = View; + shift(); View = parsematrix(args()); + println(hlog, "View is set to ", View); + current_display->which_copy = View * inverse(T) * current_display->which_copy; } else if(argis("-rotate-up")) { start_game(); @@ -273,13 +274,6 @@ int arg::readCommon() { View = spin90() * spintox(S.T*C0) * View; playermoved = false; } - else if(argis("-rotate3")) { - PHASE(3); start_game(); - shift(); ld a = argf(); - shift(); ld b = argf(); - View = View * cspin(1, 2, TAU * a / b); - playermoved = false; - } else if(argis("-face-vertex")) { PHASE(3); start_game(); auto &ss = currentmap->get_cellshape(cwt.at); @@ -290,20 +284,6 @@ int arg::readCommon() { PHASE(3); start_game(); View = cspin90(0, 2); } - else if(argis("-grotate")) { - PHASE(3); start_game(); - shift(); int i = argi(); - shift(); int j = argi(); - shift(); View = View * cspin(i, j, argf()); - playermoved = false; - } - else if(argis("-grotatei")) { - PHASE(3); start_game(); - shift(); int i = argi(); - shift(); int j = argi(); - shift(); rotate_view(cspin(i, j, argf())); - playermoved = false; - } else if(argis("-center-vertex")) { PHASE(3); shift(); int i = argi(); shift(); int j = argi(); @@ -320,10 +300,6 @@ int arg::readCommon() { rotate_view(cspin90(0, 2)); } } - else if(argis("-cview")) { - PHASE(3); start_game(); - View = Id; playermoved = false; - } else if(argis("-exit")) { PHASE(3); int t = SDL_GetTicks(); diff --git a/legacy.cpp b/legacy.cpp index 9961abb3..9ff1f923 100644 --- a/legacy.cpp +++ b/legacy.cpp @@ -326,6 +326,38 @@ int read_legacy_args() { stop_game(); land_structure = lsNiceWalls; } + else if(argis("-grotate")) { + PHASE(3); start_game(); + shift(); int i = argi(); + shift(); int j = argi(); + shift(); View = View * cspin(i, j, argf()); + playermoved = false; + } + else if(argis("-grotatei")) { + PHASE(3); start_game(); + shift(); int i = argi(); + shift(); int j = argi(); + shift(); rotate_view(cspin(i, j, argf())); + playermoved = false; + } + else if(argis("-rotate")) { + PHASE(3); start_game(); + shift(); ld a = argf(); + shift(); ld b = argf(); + View = View * spin(TAU * a / b); + playermoved = false; + } + else if(argis("-rotate3")) { + PHASE(3); start_game(); + shift(); ld a = argf(); + shift(); ld b = argf(); + View = View * cspin(1, 2, TAU * a / b); + playermoved = false; + } + else if(argis("-cview")) { + PHASE(3); start_game(); + View = Id; playermoved = false; + } else return 1; return 0; }