Add defer_render to LoadAllGraphicsData, overworld test
This commit is contained in:
@@ -80,7 +80,7 @@ absl::Status Rom::LoadLinkGraphics() {
|
||||
return absl::OkStatus();
|
||||
}
|
||||
|
||||
absl::Status Rom::LoadAllGraphicsData() {
|
||||
absl::Status Rom::LoadAllGraphicsData(bool defer_render) {
|
||||
std::vector<uint8_t> sheet;
|
||||
bool bpp3 = false;
|
||||
|
||||
@@ -121,7 +121,10 @@ absl::Status Rom::LoadAllGraphicsData() {
|
||||
palette_groups_.dungeon_main[0], 0));
|
||||
}
|
||||
}
|
||||
graphics_sheets_[i].CreateTexture(Renderer::GetInstance().renderer());
|
||||
|
||||
if (!defer_render) {
|
||||
graphics_sheets_[i].CreateTexture(Renderer::GetInstance().renderer());
|
||||
}
|
||||
|
||||
for (int j = 0; j < graphics_sheets_[i].size(); ++j) {
|
||||
graphics_buffer_.push_back(graphics_sheets_[i].at(j));
|
||||
|
||||
@@ -177,7 +177,7 @@ class Rom : public core::ExperimentFlags {
|
||||
* | 218-222 | Compressed 2bpp | 0x800 chars | Decompressed each |
|
||||
*
|
||||
*/
|
||||
absl::Status LoadAllGraphicsData();
|
||||
absl::Status LoadAllGraphicsData(bool defer_render = false);
|
||||
|
||||
/**
|
||||
* Load Rom data from a file.
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
#include <gtest/gtest.h>
|
||||
|
||||
#include "app/rom.h"
|
||||
#include "app/zelda3/overworld/overworld.h"
|
||||
#include "app/zelda3/overworld/overworld_map.h"
|
||||
#include "test/core/testing.h"
|
||||
|
||||
@@ -39,13 +40,17 @@ TEST_F(OverworldTest, OverworldLoadNoRomDataError) {
|
||||
TEST_F(OverworldTest, OverworldLoadRomDataOk) {
|
||||
// Arrange
|
||||
EXPECT_OK(rom()->LoadFromFile("zelda3.sfc"));
|
||||
EXPECT_OK(rom()->LoadAllGraphicsData());
|
||||
EXPECT_OK(rom()->LoadAllGraphicsData(/*defer_render=*/true));
|
||||
|
||||
// Act
|
||||
auto status = overworld_.Load(*rom());
|
||||
|
||||
// Assert
|
||||
EXPECT_TRUE(status.ok());
|
||||
EXPECT_EQ(overworld_.overworld_maps().size(),
|
||||
app::zelda3::overworld::kNumOverworldMaps);
|
||||
EXPECT_EQ(overworld_.tiles16().size(),
|
||||
app::zelda3::overworld::kNumTile16Individual);
|
||||
}
|
||||
|
||||
} // namespace zelda3
|
||||
|
||||
Reference in New Issue
Block a user