mirror of
https://github.com/zenorogue/hyperrogue.git
synced 2024-12-24 01:00:25 +00:00
rogueviz:: used args::add and made hypcity and hypocycloid enablable
This commit is contained in:
parent
ceb79290ae
commit
8a836fd1ea
@ -33,19 +33,12 @@ void drawExtra() {
|
||||
canmove = true; items[itOrbAether] = true;
|
||||
}
|
||||
|
||||
auto hooks =
|
||||
addHook(hooks_args, 100, [] {
|
||||
using namespace arg;
|
||||
if(argis("-net")) {
|
||||
PHASE(3);
|
||||
auto hooks = arg::add3("-net", [] {
|
||||
init(0);
|
||||
rv_hook(hooks_frame, 0, drawExtra);
|
||||
linepatterns::patTriTree.color = 0x30;
|
||||
linepatterns::patTriOther.color = 0x10;
|
||||
linepatterns::patTriRings.color = 0xFF;
|
||||
return 0;
|
||||
}
|
||||
return 1;
|
||||
});
|
||||
});
|
||||
|
||||
}}
|
||||
|
@ -6,15 +6,16 @@
|
||||
// see the results posted here:
|
||||
|
||||
// https://twitter.com/ZenoRogue/status/1375750351391981570
|
||||
// -noplayer -geo 4x5 -gp 1 1 -unrectified -switch-fpp -canvas 303030 camera=0 depth=0 -sr 3 -PM 0 -alpha 1 -zoom .95
|
||||
// -hypcity -noplayer -geo 4x5 -gp 1 1 -unrectified -switch-fpp -canvas 303030 camera=0 depth=0 -sr 3 -PM 0 -alpha 1 -zoom .95
|
||||
|
||||
// https://twitter.com/ZenoRogue/status/1375748835046215682
|
||||
// -noplayer -geo nil -canvas 303030 -back 44e4 -sight3 3
|
||||
// -hypcity -noplayer -geo nil -canvas 303030 -back 44e4 -sight3 3
|
||||
|
||||
// https://twitter.com/ZenoRogue/status/1375754422752575488
|
||||
// add -PM 0 -alpha 1
|
||||
// add -PM 0 -alpha 1
|
||||
|
||||
namespace hr {
|
||||
namespace hypcity {
|
||||
|
||||
using namespace rogueviz::objmodels;
|
||||
|
||||
@ -89,6 +90,8 @@ bool draw_city_at(cell *c, const shiftmatrix& V) {
|
||||
return false;
|
||||
}
|
||||
|
||||
auto hypcity_ah = addHook(hooks_drawcell, 100, draw_city_at);
|
||||
void enable() { rogueviz::rv_hook(hooks_drawcell, 100, draw_city_at); }
|
||||
|
||||
}
|
||||
auto hypcity_ah = arg::add3("-hypcity", enable);
|
||||
|
||||
}}
|
||||
|
@ -1,22 +1,24 @@
|
||||
// compile with mymake rogueviz/hypocycloid
|
||||
|
||||
// for https://twitter.com/ZenoRogue/status/1358464890978127875 :
|
||||
// hyper -shot-1000 -noscr -canvas i -noplayer -geo 1 circ1=1 circ2=2 show=.05 lw=20 -zoom .9 -animvideo 360 cycloid-2-euc.mp4
|
||||
// -hypocyc -shot-1000 -noscr -canvas i -noplayer -geo 1 circ1=1 circ2=2 show=.05 lw=20 -zoom .9 -animvideo 360 cycloid-2-euc.mp4
|
||||
// for https://twitter.com/ZenoRogue/status/1358464962088337410 :
|
||||
// hyper -shot-1000 -noscr -canvas i -noplayer -geo 0 "circ1=0../0..4../0..|4../0..0../0" "circ2=0../0..8../0..|8../0..0../0" show=.05 lw=3 loops=10 -zoom .9 -animvideo 3600 cycloid-2-hyp.mp4
|
||||
// -hypocyc -shot-1000 -noscr -canvas i -noplayer -geo 0 "circ1=0../0..4../0..|4../0..0../0" "circ2=0../0..8../0..|8../0..0../0" show=.05 lw=3 loops=10 -zoom .9 -animvideo 3600 cycloid-2-hyp.mp4
|
||||
// for https://twitter.com/ZenoRogue/status/1358465029876690948 :
|
||||
// hyper -shot-1000 -noscr -canvas i -noplayer -geo 0 "circ1=0../0..8../0..|8../0..0../0" "circ2=0../0..32../0..|32../0..0../0" prec=3600 show=.05 lw=3 loops=10 -zoom .9 -animvideo 3600 cycloid-4-hyp.mp4
|
||||
// -hypocyc -shot-1000 -noscr -canvas i -noplayer -geo 0 "circ1=0../0..8../0..|8../0..0../0" "circ2=0../0..32../0..|32../0..0../0" prec=3600 show=.05 lw=3 loops=10 -zoom .9 -animvideo 3600 cycloid-4-hyp.mp4
|
||||
|
||||
// for https://twitter.com/ZenoRogue/status/1358506225990828033 :
|
||||
// hyper -shot-1000 -noscr -canvas i -noplayer -geo 2 "circ1=0../0...5../0..|.5../0..0../0" "circ2=0../0..1../0..|1../0..0../0" show=.05 lw=3 loops=10 -zoom .9 -animvideo 1200 cycloid-2-sph.mp4
|
||||
// -hypocyc -shot-1000 -noscr -canvas i -noplayer -geo 2 "circ1=0../0...5../0..|.5../0..0../0" "circ2=0../0..1../0..|1../0..0../0" show=.05 lw=3 loops=10 -zoom .9 -animvideo 1200 cycloid-2-sph.mp4
|
||||
|
||||
// for https://twitter.com/ZenoRogue/status/1358505146553159682 :
|
||||
// hyper -shot-1000 -noscr -canvas i -noplayer -geo 0 circ1=1 circ2=2 show=.1 lw=5 -zoom .9 "ratio=2../0..8../0..|8../0..2../0" prec=3600 -animvideo 3600 half-radius.mp4
|
||||
// -hypocyc -shot-1000 -noscr -canvas i -noplayer -geo 0 circ1=1 circ2=2 show=.1 lw=5 -zoom .9 "ratio=2../0..8../0..|8../0..2../0" prec=3600 -animvideo 3600 half-radius.mp4
|
||||
|
||||
#include "../hyper.h"
|
||||
|
||||
namespace hr {
|
||||
|
||||
namespace hypocyc {
|
||||
|
||||
/* what to roll on: 0 = circle, 1 = horocycle, 2 = straight line, 3 = equidistant */
|
||||
int shape = 0;
|
||||
|
||||
@ -143,7 +145,11 @@ void circ_frame() {
|
||||
vid.linewidth /= lw;
|
||||
}
|
||||
|
||||
auto shot_hooks = addHook(hooks_frame, 100, circ_frame)
|
||||
void enable() {
|
||||
addHook(hooks_frame, 100, circ_frame);
|
||||
}
|
||||
|
||||
auto shot_hooks = arg::add2("-hypocyc", enable)
|
||||
+ addHook(hooks_configfile, 100, [] {
|
||||
param_f(circ1, "circ1");
|
||||
param_f(circ2, "circ2");
|
||||
@ -159,3 +165,4 @@ auto shot_hooks = addHook(hooks_frame, 100, circ_frame)
|
||||
});
|
||||
|
||||
}
|
||||
}
|
||||
|
@ -132,14 +132,8 @@ void create_janko() {
|
||||
gi.menu_displayed_name = "Janko group J1";
|
||||
}
|
||||
|
||||
auto shot_hooks = addHook(hooks_args, 100, [] {
|
||||
if(arg::argis("-janko1x")) {
|
||||
build();
|
||||
experiment();
|
||||
}
|
||||
else return true;
|
||||
return false;
|
||||
}) + addHook(hooks_initialize, 100, create_janko);
|
||||
auto shot_hooks = arg::add3("-janko1x", [] { build(); experiment(); })
|
||||
+ addHook(hooks_initialize, 100, create_janko);
|
||||
|
||||
}
|
||||
|
||||
|
@ -156,23 +156,7 @@ void magic(int sides) {
|
||||
rv_hook(hooks_handleKey, 150, magic_rugkey);
|
||||
}
|
||||
|
||||
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;
|
||||
}
|
||||
|
||||
auto magichook = addHook(hooks_args, 100, readArgs);
|
||||
auto magichook = arg::add2("-magic3", [] { magic(-1); }) + arg::add2("-magic", [] { magic(arg::shift_argi()); });
|
||||
|
||||
}
|
||||
#endif
|
||||
|
@ -281,26 +281,6 @@ void create_model() {
|
||||
|
||||
}
|
||||
|
||||
#if CAP_COMMANDLINE
|
||||
int readArgs() {
|
||||
using namespace arg;
|
||||
|
||||
if(0) ;
|
||||
else if(argis("-snub")) {
|
||||
PHASE(3);
|
||||
shift();
|
||||
run_snub(argi(), 3);
|
||||
}
|
||||
else if(argis("-snub4")) {
|
||||
PHASE(3);
|
||||
shift();
|
||||
run_snub(argi(), 4);
|
||||
}
|
||||
else return 1;
|
||||
return 0;
|
||||
}
|
||||
#endif
|
||||
|
||||
bool frame() {
|
||||
if(snubon && rug::rugged) {
|
||||
create_model();
|
||||
@ -343,7 +323,9 @@ bool handleKey(int sym, int uni) {
|
||||
}
|
||||
|
||||
|
||||
auto xhook = addHook(hooks_args, 100, readArgs)
|
||||
auto xhook =
|
||||
arg::add3("-snub", [] { run_snub(arg::shift_argi(), 3); })
|
||||
+ arg::add3("-snub4", [] { run_snub(arg::shift_argi(), 4); })
|
||||
+ addHook(hooks_handleKey, 0, handleKey)
|
||||
+ addHook(hooks_prestats, 0, frame)
|
||||
+ addHook(hooks_clearmemory, 40, [] () { snubon = false; } )
|
||||
|
@ -1,4 +1,4 @@
|
||||
#include "../hyper.h"
|
||||
#include "rogueviz.h"
|
||||
|
||||
// implementation of this demo: https://twitter.com/ZenoRogue/status/1304130700870901761
|
||||
|
||||
@ -12,9 +12,9 @@ namespace hr {
|
||||
|
||||
namespace pentaroll {
|
||||
|
||||
bool animated;
|
||||
void animate();
|
||||
|
||||
void create_pentaroll() {
|
||||
void create_pentaroll(bool animated) {
|
||||
start_game();
|
||||
/* get the list of all close cells */
|
||||
cell *c0 = currentmap->gamestart();
|
||||
@ -54,22 +54,8 @@ void create_pentaroll() {
|
||||
cw1.peek()->landparam = hrand(0x1000000) | 0x808080;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
int args() {
|
||||
using namespace arg;
|
||||
|
||||
if(0) ;
|
||||
|
||||
else if(argis("-pentaroll")) {
|
||||
PHASEFROM(3);
|
||||
|
||||
/* 1 = animated, 0 = not animated */
|
||||
shift(); animated = argi();
|
||||
}
|
||||
|
||||
else return 1;
|
||||
return 0;
|
||||
if(animated)
|
||||
rogueviz::rv_hook(anims::hooks_anim, 100, animate);
|
||||
}
|
||||
|
||||
/* currently not configurable */
|
||||
@ -79,12 +65,8 @@ ld how_far = 1;
|
||||
ld orig_distance = 1;
|
||||
ld far_distance = 1;
|
||||
|
||||
auto hooks =
|
||||
addHook(hooks_args, 100, args)
|
||||
+ addHook(hooks_clearmemory, 40, [] () { animated = false; })
|
||||
+ addHook(anims::hooks_anim, 100, [] {
|
||||
void animate() {
|
||||
|
||||
if(!animated) return;
|
||||
centerover = currentmap->gamestart();
|
||||
|
||||
ld t = ticks * 20. / anims::period;
|
||||
@ -141,7 +123,9 @@ auto hooks =
|
||||
View = spin((angle-M_PI) * int(t)) * View;
|
||||
|
||||
anims::moved();
|
||||
});
|
||||
}
|
||||
|
||||
auto hooks = arg::add3("-pentaroll", [] { create_pentaroll(arg::shift_argi()); });
|
||||
|
||||
}
|
||||
|
||||
|
@ -39,8 +39,7 @@ namespace bricks {
|
||||
}
|
||||
|
||||
namespace pentaroll {
|
||||
extern bool animated;
|
||||
extern void create_pentaroll();
|
||||
extern void create_pentaroll(bool);
|
||||
}
|
||||
|
||||
namespace ply {
|
||||
@ -656,8 +655,7 @@ slide dmv_slides[] = {
|
||||
set_geometry(gFieldQuotient);
|
||||
*/
|
||||
start_game();
|
||||
pentaroll::create_pentaroll();
|
||||
pentaroll::animated = true;
|
||||
pentaroll::create_pentaroll(true);
|
||||
tour::slide_backup(anims::period, 30000.);
|
||||
tour::slide_backup(sightranges[geometry], 4);
|
||||
start_game();
|
||||
|
@ -33,6 +33,9 @@
|
||||
#include "fifteen.cpp"
|
||||
#include "crystal-sokoban.cpp"
|
||||
|
||||
#include "hypcity.cpp"
|
||||
#include "hypocycloid.cpp"
|
||||
|
||||
#include "simple-impossible.cpp"
|
||||
#include "ascending-descending.cpp"
|
||||
#include "balls.cpp"
|
||||
|
@ -105,21 +105,7 @@ namespace tree {
|
||||
storeall();
|
||||
}
|
||||
|
||||
#if CAP_COMMANDLINE
|
||||
int readArgs() {
|
||||
using namespace arg;
|
||||
|
||||
if(0) ;
|
||||
|
||||
else if(argis("-tree")) {
|
||||
PHASE(3); shift(); tree::read(args());
|
||||
}
|
||||
|
||||
else return 1;
|
||||
return 0;
|
||||
}
|
||||
|
||||
int ah = addHook(hooks_args, 120, readArgs)
|
||||
int ah = arg::add3("-tree", [] { tree::read(arg::shift_args()); })
|
||||
+ addHook(pres::hooks_build_rvtour, 120, [] (string s, vector<tour::slide>& v) {
|
||||
if(s != "data") return;
|
||||
using namespace pres;
|
||||
@ -142,7 +128,6 @@ int ah = addHook(hooks_args, 120, readArgs)
|
||||
})}
|
||||
);
|
||||
});
|
||||
#endif
|
||||
}
|
||||
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user