SDL_Texture streaming in ROM, dungeon housekeeping

This commit is contained in:
scawful
2023-11-26 16:50:29 -05:00
parent d2fa9c0c53
commit e529e6ca34
3 changed files with 21 additions and 8 deletions

View File

@@ -475,14 +475,27 @@ class ROM : public core::ExperimentFlags {
renderer_ = renderer;
}
void RenderBitmap(gfx::Bitmap* bitmap) const {
bitmap->CreateTexture(renderer_);
void RenderBitmap(gfx::Bitmap* bitmap) {
if (flags()->kLoadTexturesAsStreaming) {
// bitmaps_to_create_.emplace(bitmap);
bitmap->CreateTexture(renderer_.get());
} else {
bitmap->CreateTexture(renderer_);
}
}
void UpdateBitmap(gfx::Bitmap* bitmap) const {
bitmap->UpdateTexture(renderer_);
void UpdateBitmap(gfx::Bitmap* bitmap) {
if (flags()->kLoadTexturesAsStreaming) {
// bitmaps_to_render_.emplace(bitmap);
bitmap->UpdateTexture(renderer_.get());
} else {
bitmap->UpdateTexture(renderer_);
}
}
std::stack<gfx::Bitmap*> bitmaps_to_create_;
std::stack<gfx::Bitmap*> bitmaps_to_render_;
auto bitmap_manager() { return graphics_manager_; }
std::vector<std::vector<uint8_t>> main_blockset_ids;
@@ -604,7 +617,7 @@ class SharedROM {
return rom;
}
private:
// private:
static std::shared_ptr<ROM> shared_rom_;
};