From 38baf6605acde1469e29a4439565a7827569585b Mon Sep 17 00:00:00 2001 From: Zeno Rogue Date: Mon, 7 Aug 2023 17:15:50 +0200 Subject: [PATCH] ads:: use lps --- rogueviz/ads/ads-game.cpp | 34 ++++++++++++++++++++++------------ rogueviz/ads/ds-game.cpp | 6 ++++++ rogueviz/ads/globals.cpp | 3 +++ rogueviz/ads/menu.cpp | 2 +- 4 files changed, 32 insertions(+), 13 deletions(-) diff --git a/rogueviz/ads/ads-game.cpp b/rogueviz/ads/ads-game.cpp index b3bff05c..5a1b131c 100644 --- a/rogueviz/ads/ads-game.cpp +++ b/rogueviz/ads/ads-game.cpp @@ -130,21 +130,30 @@ void run_ads_game() { restart(); } +local_parameter_set lps_relhell("relhell:"); + +void default_settings() { + set_default_keys(); + + lps_add_enum(lps_relhell, nohelp, 1); + lps_add(lps_relhell, nomenukey, true); + lps_add(lps_relhell, no_find_player, true); + lps_add(lps_relhell, showstartmenu, false); + lps_add(lps_relhell, mapeditor::drawplayer, false); + lps_add(lps_relhell, vid.drawmousecircle, false); + lps_add(lps_relhell, draw_centerover, false); + lps_add(lps_relhell, vid.axes3, false); + lps_add(lps_relhell, patterns::whichCanvas, 'r'); + lps_add(lps_relhell, patterns::rwalls, 0); + } + void set_config() { - nohelp = true; - nomenukey = true; - no_find_player = true; - showstartmenu = false; - mapeditor::drawplayer = false; - vid.drawmousecircle = false; - draw_centerover = false; - vid.axes3 = false; + lps_enable(&lps_relhell); enable_canvas(); - patterns::whichCanvas = 'r'; - patterns::rwalls = 0; } void run_ads_game_std() { + set_config(); set_geometry(gNormal); set_variation(eVariation::pure); run_ads_game(); @@ -256,14 +265,15 @@ auto shot_hooks = #ifdef RELHELL auto hook1= addHook(hooks_config, 100, [] { - set_config(); + lps_enable(&lps_relhell); + enable_canvas(); if(arg::curphase == 1) conffile = "relhell.ini"; if(arg::curphase == 3) pushScreen(pick_the_game); }); #endif -auto hook2 = addHook(hooks_configfile, 100, set_default_keys); +auto hook2 = addHook(hooks_configfile, 300, default_settings); } } diff --git a/rogueviz/ads/ds-game.cpp b/rogueviz/ads/ds-game.cpp index 95b9232e..e6975c8a 100644 --- a/rogueviz/ads/ds-game.cpp +++ b/rogueviz/ads/ds-game.cpp @@ -737,6 +737,12 @@ void run_ds_game() { rogueviz::rv_hook(anims::hooks_anim, 100, replay_animation); } +void run_ds_game_std() { + lps_enable(&lps_relhell); + enable_canvas(); + run_ds_game(); + } + auto ds_hooks = arg::add3("-ds-game", run_ds_game); diff --git a/rogueviz/ads/globals.cpp b/rogueviz/ads/globals.cpp index 31aab970..094eb44b 100644 --- a/rogueviz/ads/globals.cpp +++ b/rogueviz/ads/globals.cpp @@ -113,6 +113,8 @@ ads_object *main_rock; extern string copyright_shown; +extern local_parameter_set lps_relhell; + int XSCALE = 48; int YSCALE = 48; int talpha = 32; @@ -124,6 +126,7 @@ void reset_textures(); void ds_restart(); void run_ads_game_std(); void run_ds_game(); +void run_ds_game_std(); /** in the replay mode */ bool rev_replay; diff --git a/rogueviz/ads/menu.cpp b/rogueviz/ads/menu.cpp index 78c33e39..8acfa171 100644 --- a/rogueviz/ads/menu.cpp +++ b/rogueviz/ads/menu.cpp @@ -232,7 +232,7 @@ void pick_the_game() { dialog::addBreak(100); dialog::addBigItem("de Sitter space", '2'); - dialog::add_action([] { popScreen(); run_ds_game(); clearMessages(); }); + dialog::add_action([] { popScreen(); run_ds_game_std(); clearMessages(); }); dialog::addInfo(XLAT("avoid energy balls, but do not let the main star run away!")); dialog::addBreak(100);