From 09655ebf9f184f425af6476915e6cc5ad40f86e2 Mon Sep 17 00:00:00 2001 From: Zeno Rogue Date: Fri, 8 Oct 2021 11:29:30 +0200 Subject: [PATCH] intra:: improved be-square --- intra.cpp | 25 +++++++++++++++++++------ 1 file changed, 19 insertions(+), 6 deletions(-) diff --git a/intra.cpp b/intra.cpp index 1e6b65af..56b8c858 100644 --- a/intra.cpp +++ b/intra.cpp @@ -663,18 +663,31 @@ EX void load_saved_portals() { for(const auto& p: portals_to_save) connect_portal(p.cw1, p.cw2, p.spin); } +EX void be_ratio(ld v IS(1)) { + check_cgi(); + cgi.require_basics(); + PIU( vid.plevel_factor = v * cgi.edgelen / cgi.scalefactor ); + check_cgi(); + cgi.require_basics(); + } + +EX void be_ratio_edge(int i, ld v IS(1)) { + start_game(); + ld len = hdist(currentmap->get_corner(cwt.at, i), currentmap->get_corner(cwt.at, (i+1)%cwt.at->type)); + PIU( vid.plevel_factor = v * len / cgi.scalefactor ); + check_cgi(); + cgi.require_basics(); + } + auto hooks1 = addHook(hooks_o_key, 90, [] (o_funcs& v) { if(intra::in) v.push_back(named_dialog(XLAT("manage portals"), show_portals)); }) + arg::add3("-intra-add", [] { start_game(); become(); }) + arg::add3("-intra-start", [] { start_game(); become(); start(0); }) - + arg::add3("-be-square", [] { - check_cgi(); - cgi.require_basics(); - PIU( vid.plevel_factor = cgi.edgelen / cgi.scalefactor ); - check_cgi(); - cgi.require_basics(); + + arg::add3("-be-square", [] { be_ratio(); }) + + arg::add3("-be-square-edge", [] { + arg::shift(); int i = arg::argi(); be_ratio_edge(i); }) + arg::add3("-debug-portal", [] { arg::shift(); debug_portal = arg::argi(); });