summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorGravatar unknown2019-02-07 19:40:39 +0100
committerGravatar unknown2019-03-29 16:42:34 +0100
commit6a1a2d4aa54c314b372477bfaeb91e44cebe7df0 (patch)
tree143c14c57c33474294c6b90a8c74cbb016eebb63 /src
parentgl_shader_disk_cache: Use better compression for transferable and precompiled... (diff)
downloadyuzu-6a1a2d4aa54c314b372477bfaeb91e44cebe7df0.tar.gz
yuzu-6a1a2d4aa54c314b372477bfaeb91e44cebe7df0.tar.xz
yuzu-6a1a2d4aa54c314b372477bfaeb91e44cebe7df0.zip
core: Do not link LZ4 to core. Use common/data_compression for nso segment decompression instead.
Diffstat (limited to 'src')
-rw-r--r--src/core/CMakeLists.txt2
-rw-r--r--src/core/loader/nso.cpp17
2 files changed, 8 insertions, 11 deletions
diff --git a/src/core/CMakeLists.txt b/src/core/CMakeLists.txt
index 9e23afe85..c59107102 100644
--- a/src/core/CMakeLists.txt
+++ b/src/core/CMakeLists.txt
@@ -458,7 +458,7 @@ add_library(core STATIC
458create_target_directory_groups(core) 458create_target_directory_groups(core)
459 459
460target_link_libraries(core PUBLIC common PRIVATE audio_core video_core) 460target_link_libraries(core PUBLIC common PRIVATE audio_core video_core)
461target_link_libraries(core PUBLIC Boost::boost PRIVATE fmt lz4_static mbedtls opus unicorn open_source_archives) 461target_link_libraries(core PUBLIC Boost::boost PRIVATE fmt mbedtls opus unicorn open_source_archives)
462if (ENABLE_WEB_SERVICE) 462if (ENABLE_WEB_SERVICE)
463 target_compile_definitions(core PRIVATE -DENABLE_WEB_SERVICE) 463 target_compile_definitions(core PRIVATE -DENABLE_WEB_SERVICE)
464 target_link_libraries(core PRIVATE web_service) 464 target_link_libraries(core PRIVATE web_service)
diff --git a/src/core/loader/nso.cpp b/src/core/loader/nso.cpp
index 714d85a59..8aeabe409 100644
--- a/src/core/loader/nso.cpp
+++ b/src/core/loader/nso.cpp
@@ -4,7 +4,8 @@
4 4
5#include <cinttypes> 5#include <cinttypes>
6#include <vector> 6#include <vector>
7#include <lz4.h> 7
8#include "common/data_compression.h"
8#include "common/common_funcs.h" 9#include "common/common_funcs.h"
9#include "common/file_util.h" 10#include "common/file_util.h"
10#include "common/hex_util.h" 11#include "common/hex_util.h"
@@ -35,15 +36,11 @@ static_assert(sizeof(MODHeader) == 0x1c, "MODHeader has incorrect size.");
35 36
36std::vector<u8> DecompressSegment(const std::vector<u8>& compressed_data, 37std::vector<u8> DecompressSegment(const std::vector<u8>& compressed_data,
37 const NSOSegmentHeader& header) { 38 const NSOSegmentHeader& header) {
38 std::vector<u8> uncompressed_data(header.size); 39 const std::vector<u8> uncompressed_data =
39 const int bytes_uncompressed = 40 Compression::DecompressDataLZ4(compressed_data, header.size);
40 LZ4_decompress_safe(reinterpret_cast<const char*>(compressed_data.data()), 41
41 reinterpret_cast<char*>(uncompressed_data.data()), 42 ASSERT_MSG(uncompressed_data.size() == static_cast<int>(header.size),
42 static_cast<int>(compressed_data.size()), header.size); 43 "{} != {}", header.size, uncompressed_data.size());
43
44 ASSERT_MSG(bytes_uncompressed == static_cast<int>(header.size) &&
45 bytes_uncompressed == static_cast<int>(uncompressed_data.size()),
46 "{} != {} != {}", bytes_uncompressed, header.size, uncompressed_data.size());
47 44
48 return uncompressed_data; 45 return uncompressed_data;
49} 46}