From 22ca57b1f21c9a08d675196e220bc77892d4c7a2 Mon Sep 17 00:00:00 2001 From: rainmakerv2 <30595646+rainmakerv3@users.noreply.github.com> Date: Sun, 23 Feb 2025 16:00:24 +0800 Subject: [PATCH] Trophy pop-up and viewer enhancements (#2493) * Include trophy rarity icons in pop up, remove newlines from viewer Fix layout Update platinum.png Fix linux and apple * Smaller type icons, center text vertically * use original icons * MacOS fixes * Address Review comments Update build.yml Update build.yml Update build.yml Update build.yml Update build.yml Update build.yml Update build.yml test * Move trophy type to leftmost and trophy art to rightmost * Embed resources * Revert packaging of resources with builds --------- Co-authored-by: rainmakerv2 <30595646+jpau02@users.noreply.github.com> --- CMakeLists.txt | 19 + REUSE.toml | 8 + Resources/bronze.png | Bin 0 -> 40833 bytes Resources/gold.png | Bin 0 -> 43997 bytes Resources/platinum.png | Bin 0 -> 44931 bytes Resources/silver.png | Bin 0 -> 33459 bytes cmake/CMakeRC.cmake | 666 +++++++++++++++++++++ src/core/libraries/np_trophy/np_trophy.cpp | 4 +- src/core/libraries/np_trophy/trophy_ui.cpp | 72 ++- src/core/libraries/np_trophy/trophy_ui.h | 11 +- src/qt_gui/trophy_viewer.cpp | 30 +- src/qt_gui/trophy_viewer.h | 12 +- 12 files changed, 795 insertions(+), 27 deletions(-) create mode 100644 Resources/bronze.png create mode 100644 Resources/gold.png create mode 100644 Resources/platinum.png create mode 100644 Resources/silver.png create mode 100644 cmake/CMakeRC.cmake diff --git a/CMakeLists.txt b/CMakeLists.txt index 9b1c0082b..820d46f9d 100755 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -195,6 +195,7 @@ endif() add_subdirectory(externals) include_directories(src) +include_directories(Resources) if(ENABLE_QT_GUI) find_package(Qt6 REQUIRED COMPONENTS Widgets Concurrent LinguistTools Network Multimedia) @@ -953,6 +954,12 @@ set(QT_GUI src/qt_gui/about_dialog.cpp ) endif() +set(RESOURCEFOLDER Resources/bronze.png + Resources/gold.png + Resources/platinum.png + Resources/silver.png +) + if (ENABLE_QT_GUI) qt_add_executable(shadps4 ${AUDIO_CORE} @@ -964,6 +971,7 @@ if (ENABLE_QT_GUI) ${SHADER_RECOMPILER} ${VIDEO_CORE} ${EMULATOR} + ${RESOURCEFOLDER} src/images/shadPS4.icns ) else() @@ -976,6 +984,7 @@ else() ${SHADER_RECOMPILER} ${VIDEO_CORE} ${EMULATOR} + ${RESOURCEFOLDER} src/main.cpp src/emulator.cpp src/emulator.h @@ -1102,6 +1111,16 @@ add_subdirectory(${HOST_SHADERS_INCLUDE}) add_dependencies(shadps4 host_shaders) target_include_directories(shadps4 PRIVATE ${HOST_SHADERS_INCLUDE}) +# embed resources + +include(CMakeRC) +cmrc_add_resource_library(embedded-resources + ALIAS res::embedded + NAMESPACE res + ${RESOURCEFOLDER}) + +target_link_libraries(shadps4 PRIVATE res::embedded) + # ImGui resources add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/src/imgui/renderer) add_dependencies(shadps4 ImGui_Resources) diff --git a/REUSE.toml b/REUSE.toml index 3bc09e328..9c6ada42a 100644 --- a/REUSE.toml +++ b/REUSE.toml @@ -19,6 +19,10 @@ path = [ "documents/Screenshots/*", "documents/Screenshots/Linux/*", "externals/MoltenVK/MoltenVK_icd.json", + "Resources/bronze.png", + "Resources/gold.png", + "Resources/platinum.png", + "Resources/silver.png", "scripts/ps4_names.txt", "src/images/about_icon.png", "src/images/controller_icon.png", @@ -103,3 +107,7 @@ path = "externals/gcn/include/**" SPDX-FileCopyrightText = "NONE" SPDX-License-Identifier = "CC0-1.0" +[[annotations]] +path = "cmake/CMakeRC.cmake" +SPDX-FileCopyrightText = "Copyright (c) 2017 vector-of-bool " +SPDX-License-Identifier = "MIT" \ No newline at end of file diff --git a/Resources/bronze.png b/Resources/bronze.png new file mode 100644 index 0000000000000000000000000000000000000000..65aa2fb695121ab29fa68c37e35553afcbae3e2d GIT binary patch literal 40833 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 literal 0 HcmV?d00001 diff --git a/Resources/gold.png b/Resources/gold.png new file mode 100644 index 0000000000000000000000000000000000000000..1af7023f5854f5778dd4f52bb4da51bbf1ec83c3 GIT binary patch literal 43997 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 z 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

i^px{0jsNL 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 RWME)m@O1TaS?83{1OSE8({um; literal 0 HcmV?d00001 diff --git a/Resources/platinum.png b/Resources/platinum.png new file mode 100644 index 0000000000000000000000000000000000000000..c217fdd024371812ef6286d00920a9beb766129e GIT binary patch literal 44931 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∾^r^^Z`%qcj;slMcbZe+|74q^B3U6=i4=g5dG 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 literal 0 HcmV?d00001 diff --git a/cmake/CMakeRC.cmake b/cmake/CMakeRC.cmake new file mode 100644 index 000000000..cea12fba7 --- /dev/null +++ b/cmake/CMakeRC.cmake @@ -0,0 +1,666 @@ +# MIT License +# +# Copyright (c) 2017 vector-of-bool +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to deal +# in the Software without restriction, including without limitation the rights +# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in all +# copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. + +# This block is executed when generating an intermediate resource file, not when +# running in CMake configure mode +if(_CMRC_GENERATE_MODE) + # Read in the digits + file(READ "${INPUT_FILE}" bytes HEX) + # Format each pair into a character literal. Heuristics seem to favor doing + # the conversion in groups of five for fastest conversion + string(REGEX REPLACE "(..)(..)(..)(..)(..)" "'\\\\x\\1','\\\\x\\2','\\\\x\\3','\\\\x\\4','\\\\x\\5'," chars "${bytes}") + # Since we did this in groups, we have some leftovers to clean up + string(LENGTH "${bytes}" n_bytes2) + math(EXPR n_bytes "${n_bytes2} / 2") + math(EXPR remainder "${n_bytes} % 5") # <-- '5' is the grouping count from above + set(cleanup_re "$") + set(cleanup_sub ) + while(remainder) + set(cleanup_re "(..)${cleanup_re}") + set(cleanup_sub "'\\\\x\\${remainder}',${cleanup_sub}") + math(EXPR remainder "${remainder} - 1") + endwhile() + if(NOT cleanup_re STREQUAL "$") + string(REGEX REPLACE "${cleanup_re}" "${cleanup_sub}" chars "${chars}") + endif() + string(CONFIGURE [[ + namespace { const char file_array[] = { @chars@ 0 }; } + namespace cmrc { namespace @NAMESPACE@ { namespace res_chars { + extern const char* const @SYMBOL@_begin = file_array; + extern const char* const @SYMBOL@_end = file_array + @n_bytes@; + }}} + ]] code) + file(WRITE "${OUTPUT_FILE}" "${code}") + # Exit from the script. Nothing else needs to be processed + return() +endif() + +set(_version 2.0.0) + +cmake_minimum_required(VERSION 3.12) +include(CMakeParseArguments) + +if(COMMAND cmrc_add_resource_library) + if(NOT DEFINED _CMRC_VERSION OR NOT (_version STREQUAL _CMRC_VERSION)) + message(WARNING "More than one CMakeRC version has been included in this project.") + endif() + # CMakeRC has already been included! Don't do anything + return() +endif() + +set(_CMRC_VERSION "${_version}" CACHE INTERNAL "CMakeRC version. Used for checking for conflicts") + +set(_CMRC_SCRIPT "${CMAKE_CURRENT_LIST_FILE}" CACHE INTERNAL "Path to CMakeRC script") + +function(_cmrc_normalize_path var) + set(path "${${var}}") + file(TO_CMAKE_PATH "${path}" path) + while(path MATCHES "//") + string(REPLACE "//" "/" path "${path}") + endwhile() + string(REGEX REPLACE "/+$" "" path "${path}") + set("${var}" "${path}" PARENT_SCOPE) +endfunction() + +get_filename_component(_inc_dir "${CMAKE_BINARY_DIR}/_cmrc/include" ABSOLUTE) +set(CMRC_INCLUDE_DIR "${_inc_dir}" CACHE INTERNAL "Directory for CMakeRC include files") +# Let's generate the primary include file +file(MAKE_DIRECTORY "${CMRC_INCLUDE_DIR}/cmrc") +set(hpp_content [==[ +#ifndef CMRC_CMRC_HPP_INCLUDED +#define CMRC_CMRC_HPP_INCLUDED + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#if !(defined(__EXCEPTIONS) || defined(__cpp_exceptions) || defined(_CPPUNWIND) || defined(CMRC_NO_EXCEPTIONS)) +#define CMRC_NO_EXCEPTIONS 1 +#endif + +namespace cmrc { namespace detail { struct dummy; } } + +#define CMRC_DECLARE(libid) \ + namespace cmrc { namespace detail { \ + struct dummy; \ + static_assert(std::is_same::value, "CMRC_DECLARE() must only appear at the global namespace"); \ + } } \ + namespace cmrc { namespace libid { \ + cmrc::embedded_filesystem get_filesystem(); \ + } } static_assert(true, "") + +namespace cmrc { + +class file { + const char* _begin = nullptr; + const char* _end = nullptr; + +public: + using iterator = const char*; + using const_iterator = iterator; + iterator begin() const noexcept { return _begin; } + iterator cbegin() const noexcept { return _begin; } + iterator end() const noexcept { return _end; } + iterator cend() const noexcept { return _end; } + std::size_t size() const { return static_cast(std::distance(begin(), end())); } + + file() = default; + file(iterator beg, iterator end) noexcept : _begin(beg), _end(end) {} +}; + +class directory_entry; + +namespace detail { + +class directory; +class file_data; + +class file_or_directory { + union _data_t { + class file_data* file_data; + class directory* directory; + } _data; + bool _is_file = true; + +public: + explicit file_or_directory(file_data& f) { + _data.file_data = &f; + } + explicit file_or_directory(directory& d) { + _data.directory = &d; + _is_file = false; + } + bool is_file() const noexcept { + return _is_file; + } + bool is_directory() const noexcept { + return !is_file(); + } + const directory& as_directory() const noexcept { + assert(!is_file()); + return *_data.directory; + } + const file_data& as_file() const noexcept { + assert(is_file()); + return *_data.file_data; + } +}; + +class file_data { +public: + const char* begin_ptr; + const char* end_ptr; + file_data(const file_data&) = delete; + file_data(const char* b, const char* e) : begin_ptr(b), end_ptr(e) {} +}; + +inline std::pair split_path(const std::string& path) { + auto first_sep = path.find("/"); + if (first_sep == path.npos) { + return std::make_pair(path, ""); + } else { + return std::make_pair(path.substr(0, first_sep), path.substr(first_sep + 1)); + } +} + +struct created_subdirectory { + class directory& directory; + class file_or_directory& index_entry; +}; + +class directory { + std::list _files; + std::list _dirs; + std::map _index; + + using base_iterator = std::map::const_iterator; + +public: + + directory() = default; + directory(const directory&) = delete; + + created_subdirectory add_subdir(std::string name) & { + _dirs.emplace_back(); + auto& back = _dirs.back(); + auto& fod = _index.emplace(name, file_or_directory{back}).first->second; + return created_subdirectory{back, fod}; + } + + file_or_directory* add_file(std::string name, const char* begin, const char* end) & { + assert(_index.find(name) == _index.end()); + _files.emplace_back(begin, end); + return &_index.emplace(name, file_or_directory{_files.back()}).first->second; + } + + const file_or_directory* get(const std::string& path) const { + auto pair = split_path(path); + auto child = _index.find(pair.first); + if (child == _index.end()) { + return nullptr; + } + auto& entry = child->second; + if (pair.second.empty()) { + // We're at the end of the path + return &entry; + } + + if (entry.is_file()) { + // We can't traverse into a file. Stop. + return nullptr; + } + // Keep going down + return entry.as_directory().get(pair.second); + } + + class iterator { + base_iterator _base_iter; + base_iterator _end_iter; + public: + using value_type = directory_entry; + using difference_type = std::ptrdiff_t; + using pointer = const value_type*; + using reference = const value_type&; + using iterator_category = std::input_iterator_tag; + + iterator() = default; + explicit iterator(base_iterator iter, base_iterator end) : _base_iter(iter), _end_iter(end) {} + + iterator begin() const noexcept { + return *this; + } + + iterator end() const noexcept { + return iterator(_end_iter, _end_iter); + } + + inline value_type operator*() const noexcept; + + bool operator==(const iterator& rhs) const noexcept { + return _base_iter == rhs._base_iter; + } + + bool operator!=(const iterator& rhs) const noexcept { + return !(*this == rhs); + } + + iterator& operator++() noexcept { + ++_base_iter; + return *this; + } + + iterator operator++(int) noexcept { + auto cp = *this; + ++_base_iter; + return cp; + } + }; + + using const_iterator = iterator; + + iterator begin() const noexcept { + return iterator(_index.begin(), _index.end()); + } + + iterator end() const noexcept { + return iterator(); + } +}; + +inline std::string normalize_path(std::string path) { + while (path.find("/") == 0) { + path.erase(path.begin()); + } + while (!path.empty() && (path.rfind("/") == path.size() - 1)) { + path.pop_back(); + } + auto off = path.npos; + while ((off = path.find("//")) != path.npos) { + path.erase(path.begin() + static_cast(off)); + } + return path; +} + +using index_type = std::map; + +} // detail + +class directory_entry { + std::string _fname; + const detail::file_or_directory* _item; + +public: + directory_entry() = delete; + explicit directory_entry(std::string filename, const detail::file_or_directory& item) + : _fname(filename) + , _item(&item) + {} + + const std::string& filename() const & { + return _fname; + } + std::string filename() const && { + return std::move(_fname); + } + + bool is_file() const { + return _item->is_file(); + } + + bool is_directory() const { + return _item->is_directory(); + } +}; + +directory_entry detail::directory::iterator::operator*() const noexcept { + assert(begin() != end()); + return directory_entry(_base_iter->first, _base_iter->second); +} + +using directory_iterator = detail::directory::iterator; + +class embedded_filesystem { + // Never-null: + const cmrc::detail::index_type* _index; + const detail::file_or_directory* _get(std::string path) const { + path = detail::normalize_path(path); + auto found = _index->find(path); + if (found == _index->end()) { + return nullptr; + } else { + return found->second; + } + } + +public: + explicit embedded_filesystem(const detail::index_type& index) + : _index(&index) + {} + + file open(const std::string& path) const { + auto entry_ptr = _get(path); + if (!entry_ptr || !entry_ptr->is_file()) { +#ifdef CMRC_NO_EXCEPTIONS + fprintf(stderr, "Error no such file or directory: %s\n", path.c_str()); + abort(); +#else + throw std::system_error(make_error_code(std::errc::no_such_file_or_directory), path); +#endif + } + auto& dat = entry_ptr->as_file(); + return file{dat.begin_ptr, dat.end_ptr}; + } + + bool is_file(const std::string& path) const noexcept { + auto entry_ptr = _get(path); + return entry_ptr && entry_ptr->is_file(); + } + + bool is_directory(const std::string& path) const noexcept { + auto entry_ptr = _get(path); + return entry_ptr && entry_ptr->is_directory(); + } + + bool exists(const std::string& path) const noexcept { + return !!_get(path); + } + + directory_iterator iterate_directory(const std::string& path) const { + auto entry_ptr = _get(path); + if (!entry_ptr) { +#ifdef CMRC_NO_EXCEPTIONS + fprintf(stderr, "Error no such file or directory: %s\n", path.c_str()); + abort(); +#else + throw std::system_error(make_error_code(std::errc::no_such_file_or_directory), path); +#endif + } + if (!entry_ptr->is_directory()) { +#ifdef CMRC_NO_EXCEPTIONS + fprintf(stderr, "Error not a directory: %s\n", path.c_str()); + abort(); +#else + throw std::system_error(make_error_code(std::errc::not_a_directory), path); +#endif + } + return entry_ptr->as_directory().begin(); + } +}; + +} + +#endif // CMRC_CMRC_HPP_INCLUDED +]==]) + +set(cmrc_hpp "${CMRC_INCLUDE_DIR}/cmrc/cmrc.hpp" CACHE INTERNAL "") +set(_generate 1) +if(EXISTS "${cmrc_hpp}") + file(READ "${cmrc_hpp}" _current) + if(_current STREQUAL hpp_content) + set(_generate 0) + endif() +endif() +file(GENERATE OUTPUT "${cmrc_hpp}" CONTENT "${hpp_content}" CONDITION ${_generate}) + +add_library(cmrc-base INTERFACE) +target_include_directories(cmrc-base INTERFACE $) +# Signal a basic C++11 feature to require C++11. +target_compile_features(cmrc-base INTERFACE cxx_nullptr) +set_property(TARGET cmrc-base PROPERTY INTERFACE_CXX_EXTENSIONS OFF) +add_library(cmrc::base ALIAS cmrc-base) + +function(cmrc_add_resource_library name) + set(args ALIAS NAMESPACE TYPE) + cmake_parse_arguments(ARG "" "${args}" "" "${ARGN}") + # Generate the identifier for the resource library's namespace + set(ns_re "[a-zA-Z_][a-zA-Z0-9_]*") + if(NOT DEFINED ARG_NAMESPACE) + # Check that the library name is also a valid namespace + if(NOT name MATCHES "${ns_re}") + message(SEND_ERROR "Library name is not a valid namespace. Specify the NAMESPACE argument") + endif() + set(ARG_NAMESPACE "${name}") + else() + if(NOT ARG_NAMESPACE MATCHES "${ns_re}") + message(SEND_ERROR "NAMESPACE for ${name} is not a valid C++ namespace identifier (${ARG_NAMESPACE})") + endif() + endif() + set(libname "${name}") + # Check that type is either "STATIC" or "OBJECT", or default to "STATIC" if + # not set + if(NOT DEFINED ARG_TYPE) + set(ARG_TYPE STATIC) + elseif(NOT "${ARG_TYPE}" MATCHES "^(STATIC|OBJECT)$") + message(SEND_ERROR "${ARG_TYPE} is not a valid TYPE (STATIC and OBJECT are acceptable)") + set(ARG_TYPE STATIC) + endif() + # Generate a library with the compiled in character arrays. + string(CONFIGURE [=[ + #include + #include + #include + + namespace cmrc { + namespace @ARG_NAMESPACE@ { + + namespace res_chars { + // These are the files which are available in this resource library + $, + > + } + + namespace { + + const cmrc::detail::index_type& + get_root_index() { + static cmrc::detail::directory root_directory_; + static cmrc::detail::file_or_directory root_directory_fod{root_directory_}; + static cmrc::detail::index_type root_index; + root_index.emplace("", &root_directory_fod); + struct dir_inl { + class cmrc::detail::directory& directory; + }; + dir_inl root_directory_dir{root_directory_}; + (void)root_directory_dir; + $, + > + $, + > + return root_index; + } + + } + + cmrc::embedded_filesystem get_filesystem() { + static auto& index = get_root_index(); + return cmrc::embedded_filesystem{index}; + } + + } // @ARG_NAMESPACE@ + } // cmrc + ]=] cpp_content @ONLY) + get_filename_component(libdir "${CMAKE_CURRENT_BINARY_DIR}/__cmrc_${name}" ABSOLUTE) + get_filename_component(lib_tmp_cpp "${libdir}/lib_.cpp" ABSOLUTE) + string(REPLACE "\n " "\n" cpp_content "${cpp_content}") + file(GENERATE OUTPUT "${lib_tmp_cpp}" CONTENT "${cpp_content}") + get_filename_component(libcpp "${libdir}/lib.cpp" ABSOLUTE) + add_custom_command(OUTPUT "${libcpp}" + DEPENDS "${lib_tmp_cpp}" "${cmrc_hpp}" + COMMAND ${CMAKE_COMMAND} -E copy_if_different "${lib_tmp_cpp}" "${libcpp}" + COMMENT "Generating ${name} resource loader" + ) + # Generate the actual static library. Each source file is just a single file + # with a character array compiled in containing the contents of the + # corresponding resource file. + add_library(${name} ${ARG_TYPE} ${libcpp}) + set_property(TARGET ${name} PROPERTY CMRC_LIBDIR "${libdir}") + set_property(TARGET ${name} PROPERTY CMRC_NAMESPACE "${ARG_NAMESPACE}") + target_link_libraries(${name} PUBLIC cmrc::base) + set_property(TARGET ${name} PROPERTY CMRC_IS_RESOURCE_LIBRARY TRUE) + if(ARG_ALIAS) + add_library("${ARG_ALIAS}" ALIAS ${name}) + endif() + cmrc_add_resources(${name} ${ARG_UNPARSED_ARGUMENTS}) +endfunction() + +function(_cmrc_register_dirs name dirpath) + if(dirpath STREQUAL "") + return() + endif() + # Skip this dir if we have already registered it + get_target_property(registered "${name}" _CMRC_REGISTERED_DIRS) + if(dirpath IN_LIST registered) + return() + endif() + # Register the parent directory first + get_filename_component(parent "${dirpath}" DIRECTORY) + if(NOT parent STREQUAL "") + _cmrc_register_dirs("${name}" "${parent}") + endif() + # Now generate the registration + set_property(TARGET "${name}" APPEND PROPERTY _CMRC_REGISTERED_DIRS "${dirpath}") + _cm_encode_fpath(sym "${dirpath}") + if(parent STREQUAL "") + set(parent_sym root_directory) + else() + _cm_encode_fpath(parent_sym "${parent}") + endif() + get_filename_component(leaf "${dirpath}" NAME) + set_property( + TARGET "${name}" + APPEND PROPERTY CMRC_MAKE_DIRS + "static auto ${sym}_dir = ${parent_sym}_dir.directory.add_subdir(\"${leaf}\")\;" + "root_index.emplace(\"${dirpath}\", &${sym}_dir.index_entry)\;" + ) +endfunction() + +function(cmrc_add_resources name) + get_target_property(is_reslib ${name} CMRC_IS_RESOURCE_LIBRARY) + if(NOT TARGET ${name} OR NOT is_reslib) + message(SEND_ERROR "cmrc_add_resources called on target '${name}' which is not an existing resource library") + return() + endif() + + set(options) + set(args WHENCE PREFIX) + set(list_args) + cmake_parse_arguments(ARG "${options}" "${args}" "${list_args}" "${ARGN}") + + if(NOT ARG_WHENCE) + set(ARG_WHENCE ${CMAKE_CURRENT_SOURCE_DIR}) + endif() + _cmrc_normalize_path(ARG_WHENCE) + get_filename_component(ARG_WHENCE "${ARG_WHENCE}" ABSOLUTE) + + # Generate the identifier for the resource library's namespace + get_target_property(lib_ns "${name}" CMRC_NAMESPACE) + + get_target_property(libdir ${name} CMRC_LIBDIR) + get_target_property(target_dir ${name} SOURCE_DIR) + file(RELATIVE_PATH reldir "${target_dir}" "${CMAKE_CURRENT_SOURCE_DIR}") + if(reldir MATCHES "^\\.\\.") + message(SEND_ERROR "Cannot call cmrc_add_resources in a parent directory from the resource library target") + return() + endif() + + foreach(input IN LISTS ARG_UNPARSED_ARGUMENTS) + _cmrc_normalize_path(input) + get_filename_component(abs_in "${input}" ABSOLUTE) + # Generate a filename based on the input filename that we can put in + # the intermediate directory. + file(RELATIVE_PATH relpath "${ARG_WHENCE}" "${abs_in}") + if(relpath MATCHES "^\\.\\.") + # For now we just error on files that exist outside of the soure dir. + message(SEND_ERROR "Cannot add file '${input}': File must be in a subdirectory of ${ARG_WHENCE}") + continue() + endif() + if(DEFINED ARG_PREFIX) + _cmrc_normalize_path(ARG_PREFIX) + endif() + if(ARG_PREFIX AND NOT ARG_PREFIX MATCHES "/$") + set(ARG_PREFIX "${ARG_PREFIX}/") + endif() + get_filename_component(dirpath "${ARG_PREFIX}${relpath}" DIRECTORY) + _cmrc_register_dirs("${name}" "${dirpath}") + get_filename_component(abs_out "${libdir}/intermediate/${ARG_PREFIX}${relpath}.cpp" ABSOLUTE) + # Generate a symbol name relpath the file's character array + _cm_encode_fpath(sym "${relpath}") + # Get the symbol name for the parent directory + if(dirpath STREQUAL "") + set(parent_sym root_directory) + else() + _cm_encode_fpath(parent_sym "${dirpath}") + endif() + # Generate the rule for the intermediate source file + _cmrc_generate_intermediate_cpp(${lib_ns} ${sym} "${abs_out}" "${abs_in}") + target_sources(${name} PRIVATE "${abs_out}") + set_property(TARGET ${name} APPEND PROPERTY CMRC_EXTERN_DECLS + "// Pointers to ${input}" + "extern const char* const ${sym}_begin\;" + "extern const char* const ${sym}_end\;" + ) + get_filename_component(leaf "${relpath}" NAME) + set_property( + TARGET ${name} + APPEND PROPERTY CMRC_MAKE_FILES + "root_index.emplace(" + " \"${ARG_PREFIX}${relpath}\"," + " ${parent_sym}_dir.directory.add_file(" + " \"${leaf}\"," + " res_chars::${sym}_begin," + " res_chars::${sym}_end" + " )" + ")\;" + ) + endforeach() +endfunction() + +function(_cmrc_generate_intermediate_cpp lib_ns symbol outfile infile) + add_custom_command( + # This is the file we will generate + OUTPUT "${outfile}" + # These are the primary files that affect the output + DEPENDS "${infile}" "${_CMRC_SCRIPT}" + COMMAND + "${CMAKE_COMMAND}" + -D_CMRC_GENERATE_MODE=TRUE + -DNAMESPACE=${lib_ns} + -DSYMBOL=${symbol} + "-DINPUT_FILE=${infile}" + "-DOUTPUT_FILE=${outfile}" + -P "${_CMRC_SCRIPT}" + COMMENT "Generating intermediate file for ${infile}" + ) +endfunction() + +function(_cm_encode_fpath var fpath) + string(MAKE_C_IDENTIFIER "${fpath}" ident) + string(MD5 hash "${fpath}") + string(SUBSTRING "${hash}" 0 4 hash) + set(${var} f_${hash}_${ident} PARENT_SCOPE) +endfunction() diff --git a/src/core/libraries/np_trophy/np_trophy.cpp b/src/core/libraries/np_trophy/np_trophy.cpp index ccd8ab710..91dd5b4b4 100644 --- a/src/core/libraries/np_trophy/np_trophy.cpp +++ b/src/core/libraries/np_trophy/np_trophy.cpp @@ -941,7 +941,7 @@ int PS4_SYSV_ABI sceNpTrophyUnlockTrophy(OrbisNpTrophyContext context, OrbisNpTr std::filesystem::path current_icon_path = trophy_dir / "trophy00" / "Icons" / trophy_icon_file; - AddTrophyToQueue(current_icon_path, current_trophy_name); + AddTrophyToQueue(current_icon_path, current_trophy_name, current_trophy_type); } } } @@ -978,7 +978,7 @@ int PS4_SYSV_ABI sceNpTrophyUnlockTrophy(OrbisNpTrophyContext context, OrbisNpTr trophy_dir / "trophy00" / "Icons" / platinum_icon_file; *platinumId = platinum_trophy_id; - AddTrophyToQueue(platinum_icon_path, platinum_trophy_name); + AddTrophyToQueue(platinum_icon_path, platinum_trophy_name, "P"); } } diff --git a/src/core/libraries/np_trophy/trophy_ui.cpp b/src/core/libraries/np_trophy/trophy_ui.cpp index 4bb8c8240..e5c11f4cb 100644 --- a/src/core/libraries/np_trophy/trophy_ui.cpp +++ b/src/core/libraries/np_trophy/trophy_ui.cpp @@ -3,6 +3,7 @@ #include #include +#include #include #include "common/assert.h" #include "common/config.h" @@ -10,6 +11,8 @@ #include "imgui/imgui_std.h" #include "trophy_ui.h" +CMRC_DECLARE(res); + using namespace ImGui; namespace Libraries::NpTrophy { @@ -17,14 +20,34 @@ std::optional current_trophy_ui; std::queue trophy_queue; std::mutex queueMtx; -TrophyUI::TrophyUI(const std::filesystem::path& trophyIconPath, const std::string& trophyName) - : trophy_name(trophyName) { +TrophyUI::TrophyUI(const std::filesystem::path& trophyIconPath, const std::string& trophyName, + const std::string_view& rarity) + : trophy_name(trophyName), trophy_type(rarity) { + if (std::filesystem::exists(trophyIconPath)) { trophy_icon = RefCountedTexture::DecodePngFile(trophyIconPath); } else { LOG_ERROR(Lib_NpTrophy, "Couldnt load trophy icon at {}", fmt::UTF(trophyIconPath.u8string())); } + + std::string pathString; + if (trophy_type == "P") { + pathString = "Resources/platinum.png"; + } else if (trophy_type == "G") { + pathString = "Resources/gold.png"; + } else if (trophy_type == "S") { + pathString = "Resources/silver.png"; + } else if (trophy_type == "B") { + pathString = "Resources/bronze.png"; + } + + auto resource = cmrc::res::get_filesystem(); + auto trophytypefile = resource.open(pathString); + std::filesystem::path trophyTypePath = pathString; + if (std::filesystem::exists(trophyTypePath)) + trophy_type_icon = RefCountedTexture::DecodePngFile(trophyTypePath); + AddLayer(this); } @@ -42,29 +65,49 @@ void TrophyUI::Draw() { float AdjustWidth = io.DisplaySize.x / 1280; float AdjustHeight = io.DisplaySize.y / 720; const ImVec2 window_size{ - std::min(io.DisplaySize.x, (300 * AdjustWidth)), + std::min(io.DisplaySize.x, (350 * AdjustWidth)), std::min(io.DisplaySize.y, (70 * AdjustHeight)), }; SetNextWindowSize(window_size); SetNextWindowCollapsed(false); - SetNextWindowPos(ImVec2(io.DisplaySize.x - (300 * AdjustWidth), (50 * AdjustHeight))); + SetNextWindowPos(ImVec2(io.DisplaySize.x - (370 * AdjustWidth), (50 * AdjustHeight))); KeepNavHighlight(); if (Begin("Trophy Window", nullptr, ImGuiWindowFlags_NoDecoration | ImGuiWindowFlags_NoSavedSettings | ImGuiWindowFlags_NoInputs)) { - if (trophy_icon) { - Image(trophy_icon.GetTexture().im_id, ImVec2((50 * AdjustWidth), (50 * AdjustHeight))); - ImGui::SameLine(); + if (trophy_type_icon) { + SetCursorPosY((window_size.y * 0.5f) - (25 * AdjustHeight)); + Image(trophy_type_icon.GetTexture().im_id, + ImVec2((50 * AdjustWidth), (50 * AdjustHeight))); } else { // placeholder const auto pos = GetCursorScreenPos(); - ImGui::GetWindowDrawList()->AddRectFilled(pos, pos + ImVec2{50.0f}, + ImGui::GetWindowDrawList()->AddRectFilled(pos, pos + ImVec2{50.0f * AdjustHeight}, GetColorU32(ImVec4{0.7f})); - ImGui::Indent(60); } + + ImGui::SameLine(); + SetWindowFontScale((1.2 * AdjustHeight)); + char earned_text[] = "Trophy earned!\n%s"; + const float text_height = + ImGui::CalcTextSize(std::strcat(earned_text, trophy_name.c_str())).y; + SetCursorPosY((window_size.y - text_height) * 0.5f); + + ImGui::PushTextWrapPos(window_size.x - (60 * AdjustWidth)); TextWrapped("Trophy earned!\n%s", trophy_name.c_str()); + ImGui::SameLine(window_size.x - (60 * AdjustWidth)); + + if (trophy_icon) { + SetCursorPosY((window_size.y * 0.5f) - (25 * AdjustHeight)); + Image(trophy_icon.GetTexture().im_id, ImVec2((50 * AdjustWidth), (50 * AdjustHeight))); + } else { + // placeholder + const auto pos = GetCursorScreenPos(); + ImGui::GetWindowDrawList()->AddRectFilled(pos, pos + ImVec2{30.0f * AdjustHeight}, + GetColorU32(ImVec4{0.7f})); + } } End(); @@ -74,14 +117,16 @@ void TrophyUI::Draw() { if (!trophy_queue.empty()) { TrophyInfo next_trophy = trophy_queue.front(); trophy_queue.pop(); - current_trophy_ui.emplace(next_trophy.trophy_icon_path, next_trophy.trophy_name); + current_trophy_ui.emplace(next_trophy.trophy_icon_path, next_trophy.trophy_name, + next_trophy.trophy_type); } else { current_trophy_ui.reset(); } } } -void AddTrophyToQueue(const std::filesystem::path& trophyIconPath, const std::string& trophyName) { +void AddTrophyToQueue(const std::filesystem::path& trophyIconPath, const std::string& trophyName, + const std::string_view& rarity) { std::lock_guard lock(queueMtx); if (Config::getisTrophyPopupDisabled()) { @@ -90,10 +135,11 @@ void AddTrophyToQueue(const std::filesystem::path& trophyIconPath, const std::st TrophyInfo new_trophy; new_trophy.trophy_icon_path = trophyIconPath; new_trophy.trophy_name = trophyName; + new_trophy.trophy_type = rarity; trophy_queue.push(new_trophy); } else { - current_trophy_ui.emplace(trophyIconPath, trophyName); + current_trophy_ui.emplace(trophyIconPath, trophyName, rarity); } } -} // namespace Libraries::NpTrophy \ No newline at end of file +} // namespace Libraries::NpTrophy diff --git a/src/core/libraries/np_trophy/trophy_ui.h b/src/core/libraries/np_trophy/trophy_ui.h index ce7a1c63a..16e707059 100644 --- a/src/core/libraries/np_trophy/trophy_ui.h +++ b/src/core/libraries/np_trophy/trophy_ui.h @@ -17,7 +17,8 @@ namespace Libraries::NpTrophy { class TrophyUI final : public ImGui::Layer { public: - TrophyUI(const std::filesystem::path& trophyIconPath, const std::string& trophyName); + TrophyUI(const std::filesystem::path& trophyIconPath, const std::string& trophyName, + const std::string_view& rarity); ~TrophyUI() override; void Finish(); @@ -26,15 +27,19 @@ public: private: std::string trophy_name; + std::string_view trophy_type; float trophy_timer = 5.0f; ImGui::RefCountedTexture trophy_icon; + ImGui::RefCountedTexture trophy_type_icon; }; struct TrophyInfo { std::filesystem::path trophy_icon_path; std::string trophy_name; + std::string_view trophy_type; }; -void AddTrophyToQueue(const std::filesystem::path& trophyIconPath, const std::string& trophyName); +void AddTrophyToQueue(const std::filesystem::path& trophyIconPath, const std::string& trophyName, + const std::string_view& rarity); -}; // namespace Libraries::NpTrophy \ No newline at end of file +}; // namespace Libraries::NpTrophy diff --git a/src/qt_gui/trophy_viewer.cpp b/src/qt_gui/trophy_viewer.cpp index 4fa5ee5e2..697840268 100644 --- a/src/qt_gui/trophy_viewer.cpp +++ b/src/qt_gui/trophy_viewer.cpp @@ -2,9 +2,12 @@ // SPDX-License-Identifier: GPL-2.0-or-later #include +#include #include "common/path_util.h" #include "trophy_viewer.h" +CMRC_DECLARE(res); + TrophyViewer::TrophyViewer(QString trophyPath, QString gameTrpPath) : QMainWindow() { this->setWindowTitle(tr("Trophy Viewer")); this->setAttribute(Qt::WA_DeleteOnClose); @@ -115,13 +118,34 @@ void TrophyViewer::PopulateTrophyWidget(QString title) { item->setData(Qt::DecorationRole, icon); item->setFlags(item->flags() & ~Qt::ItemIsEditable); tableWidget->setItem(row, 1, item); + + const std::string filename = GetTrpType(trpType[row].at(0)); + QTableWidgetItem* typeitem = new QTableWidgetItem(); + + auto resource = cmrc::res::get_filesystem(); + std::string resourceString = "Resources/" + filename; + auto trophytypefile = resource.open(resourceString); + + QImage type_icon = + QImage(QString::fromStdString(resourceString)) + .scaled(QSize(64, 64), Qt::KeepAspectRatio, Qt::SmoothTransformation); + typeitem->setData(Qt::DecorationRole, type_icon); + typeitem->setFlags(typeitem->flags() & ~Qt::ItemIsEditable); + tableWidget->setItem(row, 6, typeitem); + + std::string detailString = trophyDetails[row].toStdString(); + std::size_t newline_pos = 0; + while ((newline_pos = detailString.find("\n", newline_pos)) != std::string::npos) { + detailString.replace(newline_pos, 1, " "); + ++newline_pos; + } + if (!trophyNames.isEmpty() && !trophyDetails.isEmpty()) { SetTableItem(tableWidget, row, 0, trpUnlocked[row]); SetTableItem(tableWidget, row, 2, trophyNames[row]); - SetTableItem(tableWidget, row, 3, trophyDetails[row]); + SetTableItem(tableWidget, row, 3, QString::fromStdString(detailString)); SetTableItem(tableWidget, row, 4, trpId[row]); SetTableItem(tableWidget, row, 5, trpHidden[row]); - SetTableItem(tableWidget, row, 6, GetTrpType(trpType[row].at(0))); SetTableItem(tableWidget, row, 7, trpPid[row]); } tableWidget->verticalHeader()->resizeSection(row, icon.height()); @@ -157,7 +181,7 @@ void TrophyViewer::SetTableItem(QTableWidget* parent, int row, int column, QStri label->setGraphicsEffect(shadowEffect); // Apply shadow effect to the QLabel layout->addWidget(label); - if (column != 1 && column != 2) + if (column != 1 && column != 2 && column != 3) layout->setAlignment(Qt::AlignCenter); widget->setLayout(layout); parent->setItem(row, column, item); diff --git a/src/qt_gui/trophy_viewer.h b/src/qt_gui/trophy_viewer.h index 81b9b1adc..089de433e 100644 --- a/src/qt_gui/trophy_viewer.h +++ b/src/qt_gui/trophy_viewer.h @@ -32,17 +32,17 @@ private: QString gameTrpPath_; TRP trp; - QString GetTrpType(const QChar trp_) { + std::string GetTrpType(const QChar trp_) { switch (trp_.toLatin1()) { case 'B': - return "Bronze"; + return "bronze.png"; case 'S': - return "Silver"; + return "silver.png"; case 'G': - return "Gold"; + return "gold.png"; case 'P': - return "Platinum"; + return "platinum.png"; } return "Unknown"; } -}; \ No newline at end of file +};