From 51c64dec45d9768707cb2d3e9cc22dcac6a9dadf Mon Sep 17 00:00:00 2001 From: Zeno Rogue Date: Tue, 20 Aug 2024 10:33:31 +0200 Subject: [PATCH] nilrider:: fixed loading a level multiple times --- rogueviz/nilrider/level.cpp | 1 + rogueviz/nilrider/nilrider.h | 7 ++++++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/rogueviz/nilrider/level.cpp b/rogueviz/nilrider/level.cpp index 92cd3147..8745a60b 100644 --- a/rogueviz/nilrider/level.cpp +++ b/rogueviz/nilrider/level.cpp @@ -620,6 +620,7 @@ void load_level(const string& fname) { } for(auto& l: all_levels) if(l->name == lev.name) { if(l->flags & nrlUserCreated) { + cgi.ext.erase("nillevel-" + l->name); swap(*l, lev); curlev = l; if(on) l->init(); diff --git a/rogueviz/nilrider/nilrider.h b/rogueviz/nilrider/nilrider.h index 68007d00..15797040 100644 --- a/rogueviz/nilrider/nilrider.h +++ b/rogueviz/nilrider/nilrider.h @@ -120,7 +120,12 @@ struct level { bool initialized; level(string name, char hotkey, flagtype flags, string longdesc, ld minx, ld miny, ld maxx, ld maxy, const vector& mt, ld sx, ld sy, const vector subs, const std::function& surf, vector g) : - name(name), hotkey(hotkey), longdesc(longdesc), flags(flags), minx(minx), miny(miny), maxx(maxx), maxy(maxy), map_tiles(mt), startx(sx), starty(sy), sublevels(subs), surface(surf), goals(g) { initialized = false; } + name(name), hotkey(hotkey), longdesc(longdesc), flags(flags), minx(minx), miny(miny), maxx(maxx), maxy(maxy), map_tiles(mt), startx(sx), starty(sy), sublevels(subs), surface(surf), goals(g) { + initialized = false; + unil_texture = nullptr; + unil_texture_stepped = nullptr; + unil_texture_levels = nullptr; + } ld real_minx, real_miny, real_maxx, real_maxy;