Added tests for ROMs and decompression
This commit is contained in:
@@ -10,9 +10,8 @@
|
|||||||
#include <vector>
|
#include <vector>
|
||||||
|
|
||||||
#include "Core/Constants.h"
|
#include "Core/Constants.h"
|
||||||
#include "graphics/tile.h"
|
#include "Graphics/tile.h"
|
||||||
#include "compressions/alttpcompression.h"
|
#include "compressions/alttpcompression.h"
|
||||||
#include "compressions/stdnintendo.h"
|
|
||||||
#include "rommapping.h"
|
#include "rommapping.h"
|
||||||
#include "tile.h"
|
#include "tile.h"
|
||||||
|
|
||||||
|
|||||||
@@ -102,7 +102,6 @@ class TilePreset {
|
|||||||
uint32_t bpp;
|
uint32_t bpp;
|
||||||
|
|
||||||
TilesPattern tilesPattern;
|
TilesPattern tilesPattern;
|
||||||
std::string compression;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace Graphics
|
} // namespace Graphics
|
||||||
|
|||||||
@@ -59,7 +59,6 @@ add_executable(
|
|||||||
${IMGUI_COLOR_TEXT_EDIT_PATH}/TextEditor.cpp
|
${IMGUI_COLOR_TEXT_EDIT_PATH}/TextEditor.cpp
|
||||||
${SNESHACKING_PATH}/compressions/alttpcompression.c
|
${SNESHACKING_PATH}/compressions/alttpcompression.c
|
||||||
${SNESHACKING_PATH}/compressions/stdnintendo.c
|
${SNESHACKING_PATH}/compressions/stdnintendo.c
|
||||||
${SNESHACKING_PATH}/compressions/stdnintendo.c
|
|
||||||
${SNESHACKING_PATH}/tile.c
|
${SNESHACKING_PATH}/tile.c
|
||||||
${SNESHACKING_PATH}/tilepng.c
|
${SNESHACKING_PATH}/tilepng.c
|
||||||
${SNESHACKING_PATH}/palette.c
|
${SNESHACKING_PATH}/palette.c
|
||||||
@@ -71,7 +70,6 @@ target_include_directories(
|
|||||||
yaze PUBLIC
|
yaze PUBLIC
|
||||||
Library/
|
Library/
|
||||||
Application/
|
Application/
|
||||||
Resources/
|
|
||||||
"C:/msys64/mingw64/include/libpng16"
|
"C:/msys64/mingw64/include/libpng16"
|
||||||
"C:/msys64/mingw64/include/SDL2"
|
"C:/msys64/mingw64/include/SDL2"
|
||||||
"C:/msys64/mingw64/include"
|
"C:/msys64/mingw64/include"
|
||||||
|
|||||||
@@ -9,16 +9,41 @@ set(gtest_force_shared_crt ON CACHE BOOL "" FORCE)
|
|||||||
FetchContent_MakeAvailable(googletest)
|
FetchContent_MakeAvailable(googletest)
|
||||||
enable_testing()
|
enable_testing()
|
||||||
|
|
||||||
|
find_package(PNG REQUIRED)
|
||||||
|
|
||||||
|
set(SNESHACKING_PATH "../src/Library/sneshacking/src")
|
||||||
|
|
||||||
add_executable(
|
add_executable(
|
||||||
yaze_test
|
yaze_test
|
||||||
yaze_test.cc
|
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(
|
target_link_libraries(
|
||||||
yaze_test
|
yaze_test
|
||||||
${BOOST_LIBRARIES}
|
${PNG_LIBRARIES}
|
||||||
${SDL2_LIBRARIES}
|
${BOOST_LIBRARIES}
|
||||||
|
${SDL2_LIBRARIES}
|
||||||
${OPENGL_LIBRARIES}
|
${OPENGL_LIBRARIES}
|
||||||
|
NintendoCompression
|
||||||
gtest_main
|
gtest_main
|
||||||
gtest
|
gtest
|
||||||
)
|
)
|
||||||
|
|||||||
27
tests/rom_test.cc
Normal file
27
tests/rom_test.cc
Normal file
@@ -0,0 +1,27 @@
|
|||||||
|
#include "Data/rom.h"
|
||||||
|
|
||||||
|
#include <gtest/gtest.h>
|
||||||
|
|
||||||
|
#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
|
||||||
Reference in New Issue
Block a user