mirror of
https://github.com/zenorogue/hyperrogue.git
synced 2024-12-24 01:00:25 +00:00
finalizer struct, and fixed animations breaking
This commit is contained in:
parent
ff4d86ee65
commit
0020957906
6
hyper.h
6
hyper.h
@ -628,6 +628,12 @@ template<class T> struct dynamicval {
|
||||
~dynamicval() { where = backup; }
|
||||
};
|
||||
|
||||
struct finalizer {
|
||||
reaction_t f;
|
||||
finalizer(reaction_t r) : f(r) {}
|
||||
~finalizer() { f(); }
|
||||
};
|
||||
|
||||
static const int MAXPLAYER = 7;
|
||||
|
||||
#define DEFAULTCONTROL (multi::players == 1 && !shmup::on && !multi::alwaysuse && !(rug::rugged && rug::renderonce))
|
||||
|
@ -771,7 +771,14 @@ EX void take(string fname, const function<void()>& what IS(default_screenshot_co
|
||||
#else
|
||||
int multiplier = shot_aa;
|
||||
#endif
|
||||
|
||||
|
||||
vector<bool> chg;
|
||||
for(auto ap: anims::aps) chg.push_back(*ap.value == ap.last);
|
||||
finalizer f([&] {
|
||||
for(int i=0; i<isize(anims::aps); i++)
|
||||
if(chg[i]) *anims::aps[i].value = anims::aps[i].last;
|
||||
});
|
||||
|
||||
dynamicval<videopar> v(vid, vid);
|
||||
dynamicval<bool> v2(inHighQual, true);
|
||||
dynamicval<bool> v6(auraNOGL, true);
|
||||
|
Loading…
Reference in New Issue
Block a user