From a10dbb59f1f1e2fc10bd7e27f43bcf0893e0e6f4 Mon Sep 17 00:00:00 2001 From: Justin Scofield Date: Mon, 13 Jun 2022 00:02:02 -0400 Subject: [PATCH] Added tests for ROMs and decompression --- src/Application/Data/rom.h | 3 +-- src/Application/Graphics/tile.h | 1 - src/CMakeLists.txt | 2 -- tests/CMakeLists.txt | 29 +++++++++++++++++++++++++++-- tests/rom_test.cc | 27 +++++++++++++++++++++++++++ 5 files changed, 55 insertions(+), 7 deletions(-) create mode 100644 tests/rom_test.cc diff --git a/src/Application/Data/rom.h b/src/Application/Data/rom.h index be7e221d..bbf53b9a 100644 --- a/src/Application/Data/rom.h +++ b/src/Application/Data/rom.h @@ -10,9 +10,8 @@ #include #include "Core/Constants.h" -#include "graphics/tile.h" +#include "Graphics/tile.h" #include "compressions/alttpcompression.h" -#include "compressions/stdnintendo.h" #include "rommapping.h" #include "tile.h" diff --git a/src/Application/Graphics/tile.h b/src/Application/Graphics/tile.h index afff098b..a2add7f1 100644 --- a/src/Application/Graphics/tile.h +++ b/src/Application/Graphics/tile.h @@ -102,7 +102,6 @@ class TilePreset { uint32_t bpp; TilesPattern tilesPattern; - std::string compression; }; } // namespace Graphics diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 43c8c699..fc56402d 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -59,7 +59,6 @@ add_executable( ${IMGUI_COLOR_TEXT_EDIT_PATH}/TextEditor.cpp ${SNESHACKING_PATH}/compressions/alttpcompression.c ${SNESHACKING_PATH}/compressions/stdnintendo.c - ${SNESHACKING_PATH}/compressions/stdnintendo.c ${SNESHACKING_PATH}/tile.c ${SNESHACKING_PATH}/tilepng.c ${SNESHACKING_PATH}/palette.c @@ -71,7 +70,6 @@ target_include_directories( yaze PUBLIC Library/ Application/ - Resources/ "C:/msys64/mingw64/include/libpng16" "C:/msys64/mingw64/include/SDL2" "C:/msys64/mingw64/include" diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index 3c505d3d..bbab5229 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -9,16 +9,41 @@ set(gtest_force_shared_crt ON CACHE BOOL "" FORCE) FetchContent_MakeAvailable(googletest) enable_testing() +find_package(PNG REQUIRED) + +set(SNESHACKING_PATH "../src/Library/sneshacking/src") + add_executable( yaze_test yaze_test.cc + rom_test.cc + ../src/Application/Data/rom.cc + ../src/Application/Graphics/tile.cc + ../src/Application/Graphics/tile.cc + ../src/Application/Graphics/palette.cc + ${SNESHACKING_PATH}/compressions/alttpcompression.c + ${SNESHACKING_PATH}/compressions/stdnintendo.c + ${SNESHACKING_PATH}/tile.c + ${SNESHACKING_PATH}/tilepng.c + ${SNESHACKING_PATH}/palette.c + ${SNESHACKING_PATH}/rommapping.c + ${SNESHACKING_PATH}/mapping_lorom.c +) + +target_include_directories( + yaze_test PUBLIC + ../src/Library/ + ../src/Application/ + ${SNESHACKING_PATH} ) target_link_libraries( yaze_test - ${BOOST_LIBRARIES} - ${SDL2_LIBRARIES} + ${PNG_LIBRARIES} + ${BOOST_LIBRARIES} + ${SDL2_LIBRARIES} ${OPENGL_LIBRARIES} + NintendoCompression gtest_main gtest ) diff --git a/tests/rom_test.cc b/tests/rom_test.cc new file mode 100644 index 00000000..cc37cef3 --- /dev/null +++ b/tests/rom_test.cc @@ -0,0 +1,27 @@ +#include "Data/rom.h" + +#include + +#include "Data/rom.h" +#include "Graphics/tile.h" + +namespace YazeTests { +namespace ROMTestSuite { + +TEST(ROMTest, decompress_basic_test) { + yaze::Application::Data::ROM rom; + rom.LoadFromFile("C:/alttp.sfc"); + yaze::Application::Graphics::TilePreset current_set; + current_set.bpp = 4; + current_set.length = 28672; + current_set.pcTilesLocation = 0x80000; + current_set.SNESTilesLocation = 0x0000; + current_set.pcPaletteLocation = 0xDD326; + current_set.SNESPaletteLocation = 0x0000; + current_set.compression = "zelda3"; + auto tiles_ = rom.ExtractTiles(current_set); + auto current_palette_ = rom.ExtractPalette(current_set); +} + +} // namespace ROMTestSuite +} // namespace YazeTests \ No newline at end of file