diff --git a/CMakeLists.txt b/CMakeLists.txt index a64e05d7..7704e95c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -278,7 +278,8 @@ ELSEIF (MSVC) libcef libcef_dll_wrapper rpcrt4 - comctl32) + comctl32 + Psapi) ENDIF () @@ -340,8 +341,8 @@ add_custom_command( COMMENT "Adding manifest..." ) -# Copy CEF DLLs. -FOREACH(cef_dll d3dcompiler_47.dll libEGL.dll libGLESv2.dll libcef.dll wow_helper.exe) +# Copy CEF binaries. +FOREACH(cef_dll libcef.dll natives_blob.bin snapshot_blob.bin d3dcompiler_47.dll libEGL.dll libGLESv2.dll wow_helper.exe) add_custom_command(TARGET LOOT POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy_if_different "${CMAKE_SOURCE_DIR}/${CEF_ROOT}/$/${cef_dll}" @@ -349,17 +350,15 @@ FOREACH(cef_dll d3dcompiler_47.dll libEGL.dll libGLESv2.dll libcef.dll wow_helpe ENDFOREACH() # Copy CEF resources. -FOREACH(cef_resource cef.pak cef_100_percent.pak cef_200_percent.pak devtools_resources.pak icudtl.dat) +FOREACH(cef_resource icudtl.dat cef.pak cef_100_percent.pak cef_200_percent.pak devtools_resources.pak) add_custom_command(TARGET LOOT POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy_if_different "${CMAKE_SOURCE_DIR}/${CEF_ROOT}/Resources/${cef_resource}" $) ENDFOREACH() -# Copy CEF locale resources. This is just to reduce error messages while debugging. -FOREACH(cef_resource en-US.pak) - add_custom_command(TARGET LOOT POST_BUILD - COMMAND ${CMAKE_COMMAND} -E copy_if_different - "${CMAKE_SOURCE_DIR}/${CEF_ROOT}/Resources/locales/${cef_resource}" - $/resources/l10n) -ENDFOREACH() +# Copy CEF en-US locale resource. +add_custom_command(TARGET LOOT POST_BUILD + COMMAND ${CMAKE_COMMAND} -E copy_if_different + "${CMAKE_SOURCE_DIR}/${CEF_ROOT}/Resources/locales/en-US.pak" + $/resources/l10n) diff --git a/README.md b/README.md index 58c1b606..d36f7ae8 100644 --- a/README.md +++ b/README.md @@ -18,11 +18,11 @@ LOOT is intended to make using mods easier, and mod users should still possess a LOOT uses [CMake](http://cmake.org) to generate build files, and requires the following libraries (version numbers used in latest development revision given): -* [Boost](http://www.boost.org) v1.58.0 -* [Chromium Embedded Framework](https://bitbucket.org/chromiumembedded/cef) branch 2272: Required to build the GUI, but not the API or tests. +* [Boost](http://www.boost.org) v1.59.0 +* [Chromium Embedded Framework](https://bitbucket.org/chromiumembedded/cef) branch 2454: Required to build the GUI, but not the API or tests. * [Google Test](https://code.google.com/p/googletest/) v1.7: Required to build the tests, but not the API or the GUI. * [Libespm](http://github.com/WrinklyNinja/libespm) -* [Libgit2](http://libgit2.github.com/) v0.23.0 +* [Libgit2](http://libgit2.github.com/) v0.23.1 * [Libloadorder](http://github.com/WrinklyNinja/libloadorder) * [yaml-cpp](http://github.com/WrinklyNinja/yaml-cpp): Use the `patched-for-loot` branch. diff --git a/install-step.travis.sh b/install-step.travis.sh index 9dc5f559..63f06d67 100644 --- a/install-step.travis.sh +++ b/install-step.travis.sh @@ -20,8 +20,8 @@ make yaml-cpp cd ../.. # Build libgit2 -wget https://github.com/libgit2/libgit2/archive/v0.23.0.tar.gz -O - | tar -xz -mv libgit2-0.23.0 libgit2 +wget https://github.com/libgit2/libgit2/archive/v0.23.1.tar.gz -O - | tar -xz +mv libgit2-0.23.1 libgit2 mkdir libgit2/build && cd libgit2/build cmake .. -DBUILD_SHARED_LIBS=OFF make git2 diff --git a/src/archive.py b/src/archive.py index 62801dad..21574f1f 100644 --- a/src/archive.py +++ b/src/archive.py @@ -140,6 +140,8 @@ def createAppArchive(archive_path): shutil.copy( os.path.join('..', 'build', 'Release', 'libGLESv2.dll'), temp_path ) shutil.copy( os.path.join('..', 'build', 'Release', 'libcef.dll'), temp_path ) shutil.copy( os.path.join('..', 'build', 'Release', 'wow_helper.exe'), temp_path ) + shutil.copy( os.path.join('..', 'build', 'Release', 'natives_blob.bin'), temp_path ) + shutil.copy( os.path.join('..', 'build', 'Release', 'snapshot_blob.bin'), temp_path ) shutil.copy( os.path.join('..', 'build', 'Release', 'cef.pak'), temp_path ) shutil.copy( os.path.join('..', 'build', 'Release', 'cef_100_percent.pak'), temp_path ) shutil.copy( os.path.join('..', 'build', 'Release', 'cef_200_percent.pak'), temp_path ) @@ -147,6 +149,8 @@ def createAppArchive(archive_path): shutil.copy( os.path.join('..', 'build', 'Release', 'icudtl.dat'), temp_path ) # Translation files. + os.makedirs(os.path.join(temp_path, 'resources', 'l10n')) + shutil.copy( os.path.join('..', 'build', 'Release', 'resources', 'l10n', 'en-US.pak'), os.path.join(temp_path, 'resources', 'l10n') ) for lang in ['es', 'ru', 'fr', 'zh_CN', 'pl', 'pt_BR', 'fi', 'de', 'da', 'ko']: os.makedirs(os.path.join(temp_path, 'resources', 'l10n', lang, 'LC_MESSAGES')) shutil.copy( os.path.join('..', 'resources', 'l10n', lang, 'LC_MESSAGES', 'loot.mo'), os.path.join(temp_path, 'resources', 'l10n', lang, 'LC_MESSAGES') ) diff --git a/src/backend/plugin/plugin_loader.cpp b/src/backend/plugin/plugin_loader.cpp index 80b10737..3000dfee 100644 --- a/src/backend/plugin/plugin_loader.cpp +++ b/src/backend/plugin/plugin_loader.cpp @@ -85,18 +85,18 @@ namespace loot { return; } - BOOST_LOG_TRIVIAL(trace) << filepath.filename() << ": " << "Checking master flag."; + BOOST_LOG_TRIVIAL(trace) << filepath.filename().string() << ": " << "Checking master flag."; _isMaster = file->isMaster(espmSettings); - BOOST_LOG_TRIVIAL(trace) << filepath.filename() << ": " << "Getting masters."; + BOOST_LOG_TRIVIAL(trace) << filepath.filename().string() << ": " << "Getting masters."; for (const auto& master : file->getMasters()) { _masters.push_back(boost::locale::conv::to_utf(master, "Windows-1252", boost::locale::conv::stop)); } - BOOST_LOG_TRIVIAL(trace) << filepath.filename() << ": " << "Number of masters: " << _masters.size(); + BOOST_LOG_TRIVIAL(trace) << filepath.filename().string() << ": " << "Number of masters: " << _masters.size(); if (!headerOnly) { - BOOST_LOG_TRIVIAL(trace) << filepath.filename() << ": " << "Getting CRC."; + BOOST_LOG_TRIVIAL(trace) << filepath.filename().string() << ": " << "Getting CRC."; _crc = file->crc; } diff --git a/src/gui/main_win.cpp b/src/gui/main_win.cpp index 2aba1f13..4ad90618 100644 --- a/src/gui/main_win.cpp +++ b/src/gui/main_win.cpp @@ -67,6 +67,9 @@ int APIENTRY wWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPTSTR lpCmd // Do all the standard CEF setup stuff. //------------------------------------- + // Enable High-DPI support on Windows 7 or newer. + CefEnableHighDPISupport(); + // Set up CEF sandbox. CefScopedSandboxInfo scoped_sandbox; void * sandbox_info = scoped_sandbox.sandbox_info(); diff --git a/src/installer.iss b/src/installer.iss index cb78dee6..83eadf76 100644 --- a/src/installer.iss +++ b/src/installer.iss @@ -83,6 +83,12 @@ Source: "build\Release\libGLESv2.dll"; \ DestDir: "{app}"; Flags: ignoreversion Source: "build\Release\wow_helper.exe"; \ DestDir: "{app}"; Flags: ignoreversion +Source: "build\Release\natives_blob.bin"; \ +DestDir: "{app}"; Flags: ignoreversion +Source: "build\Release\snapshot_blob.bin"; \ +DestDir: "{app}"; Flags: ignoreversion +Source: "build\Release\resources\l10n\en-US.pak"; \ +DestDir: "{app}\resources\l10n"; Flags: ignoreversion Source: "docs\LOOT Metadata Syntax.html"; \ DestDir: "{app}\docs"; Flags: ignoreversion