1
0
mirror of https://github.com/zenorogue/hyperrogue.git synced 2025-09-10 14:26:01 +00:00

using new setCanvas function in RogueViz presentations

This commit is contained in:
Zeno Rogue
2024-06-16 16:16:56 +02:00
parent e76e32e214
commit 263ee56427
22 changed files with 77 additions and 113 deletions

View File

@@ -91,7 +91,7 @@ struct dmv_grapher : grapher {
void nil_screen(presmode mode, int id) {
use_angledir(mode, id == 0);
setCanvas(mode, '0');
setPlainCanvas(mode);
if(mode == pmStart) {
slide_backup(pmodel);
slide_backup(pconf.clip_min);
@@ -287,7 +287,7 @@ void geodesic_screen(presmode mode, int id) {
use_angledir(mode, id == 0);
setCanvas(mode, '0');
setPlainCanvas(mode);
if(mode == pmStart) {
slide_backup(pmodel);
slide_backup(pconf.clip_min);
@@ -471,7 +471,7 @@ void geodesic_screen(presmode mode, int id) {
void brick_slide(int i, presmode mode, eGeometry geom, eModel md, int anim) {
using namespace tour;
setCanvas(mode, '0');
setPlainCanvas(mode);
if(mode == pmStart) {
set_geometry(geom);
start_game();
@@ -511,7 +511,7 @@ void ply_slide(tour::presmode mode, eGeometry geom, eModel md, bool anim) {
check_cgi();
cgi.require_shapes();
}
setCanvas(mode, '0');
setPlainCanvas(mode);
if(mode == pmStart) {
set_geometry(geom);
start_game();
@@ -534,7 +534,7 @@ void ply_slide(tour::presmode mode, eGeometry geom, eModel md, bool anim) {
void impossible_ring_slide(tour::presmode mode) {
using namespace tour;
setCanvas(mode, '0');
setPlainCanvas(mode);
if(mode == pmStart) {
set_geometry(gCubeTiling);
start_game();
@@ -626,20 +626,14 @@ slide dmv_slides[] = {
"The sum of angles of a triangle is 180 degrees.\n\n",
[] (presmode mode) {
if(mode == pmStartAll) enable_canvas();
setCanvas(mode, 'F');
if(mode == pmStart) {
stop_game();
slide_backup(firstland, laCanvas);
slide_backup(specialland, laCanvas);
setCanvas(mode, &ccolor::football, [] {
set_geometry(gArchimedean); arcm::current.parse("3^6");
set_variation(eVariation::pure);
slide_backup(ccolor::football.ctab[0], 0xC0FFC0);
slide_backup(ccolor::football.ctab[1], 0x80FF80);
slide_backup(ccolor::which->ctab, colortable{0xC0FFC0, 0x80FF80});
});
if(mode == pmStart) {
slide_backup(pconf.alpha, 1);
slide_backup(pconf.scale, 1);
start_game();
slide_backup(patterns::whichShape, '9');
slide_backup(vid.use_smart_range, 2);
slide_backup(mapeditor::drawplayer, false);
@@ -664,7 +658,7 @@ slide dmv_slides[] = {
"For creatures restricted to just this surface, they are indeed striaght lines!\n\n"
,
[] (presmode mode) {
setCanvas(mode, '0');
setPlainCanvas(mode);
if(mode == pmStart) {
tour::slide_backup(mapeditor::drawplayer, false);
enable_earth();
@@ -701,19 +695,15 @@ slide dmv_slides[] = {
"In hyperbolic geometry, the sum of angles of a triangle is less than 180 degrees.\n\n",
[] (presmode mode) {
if(mode == pmStartAll) enable_canvas();
setCanvas(mode, 'F');
if(mode == pmStart) {
stop_game();
slide_backup(firstland, laCanvas);
slide_backup(specialland, laCanvas);
setCanvas(mode, &ccolor::football, [] {
set_geometry(gNormal);
set_variation(eVariation::bitruncated);
slide_backup(ccolor::football.ctab[0], 0xC0FFC0);
slide_backup(ccolor::football.ctab[1], 0x80FF80);
slide_backup(ccolor::which->ctab, colortable{0xC0FFC0, 0x80FF80});
});
if(mode == pmStart) {
slide_backup(pconf.alpha, 1);
slide_backup(pconf.scale, 1);
slide_backup(rug::mouse_control_rug, true);
start_game();
slide_backup(patterns::whichShape, '9');
}
if(mode == pmStart) {
@@ -759,10 +749,9 @@ slide dmv_slides[] = {
slide_backup(vid.fov, 120);
}
setCanvas(mode, '0');
setPlainCanvas(mode, [] { set_geometry(gSpace534); });
if(mode == pmStart) {
set_geometry(gSpace534);
/*
static bool solved = false;
if(!solved) {
@@ -917,12 +906,10 @@ slide dmv_slides[] = {
"(press Home/End and arrow keys to move)",
[] (presmode mode) {
setCanvas(mode, '0');
setWhiteCanvas(mode, [] { set_geometry(gNil); });
slidecommand = "highlight dimensions";
if(mode == pmStart) {
tour::slide_backup(pmodel, mdGeodesic);
set_geometry(gNil);
start_game();
rogueviz::rv_hook(hooks_drawcell, 100, rogueviz::nilcompass::draw_compass);
View = Id;
shift_view(ztangent(.5));
@@ -1199,22 +1186,19 @@ slide dmv_slides[] = {
"Here is how it looks in Nil. Press '5' to animate.\n",
[] (presmode mode) {
setCanvas(mode, '0');
setWhiteCanvas(mode, [] {
set_geometry(gNil);
tour::on_restore(nilv::set_flags);
tour::slide_backup(nilv::nilperiod, make_array(3, 3, 3));
nilv::set_flags();
});
slidecommand = "animation";
if(mode == pmKey) {
tour::slide_backup(rogueviz::cylon::cylanim, !rogueviz::cylon::cylanim);
}
if(mode == pmStart) {
stop_game();
set_geometry(gNil);
rogueviz::cylon::enable();
tour::on_restore(nilv::set_flags);
tour::slide_backup(nilv::nilperiod, make_array(3, 3, 3));
nilv::set_flags();
start_game();
}
if(mode == pmStart) rogueviz::cylon::enable();
non_game_slide_scroll(mode);
}},
@@ -1261,13 +1245,8 @@ slide dmv_slides[] = {
[] (presmode mode) {
slide_url(mode, 'y', "YouTube link", "https://www.youtube.com/watch?v=mxvUAcgN3go");
slide_url(mode, 'n', "Nil Rider", "https://zenorogue.itch.io/nil-rider");
setCanvas(mode, '0');
setWhiteCanvas(mode, [] { set_geometry(gNil); });
if(mode == pmStart) {
stop_game();
set_geometry(gNil);
check_cgi();
cgi.require_shapes();
start_game();
rogueviz::balls::initialize(1);
rogueviz::balls::balls.resize(3);
pmodel = mdEquidistant;