mirror of
https://github.com/suyu-emu/drippu-rep.git
synced 2026-09-21 14:44:58 -07:00
main
1
Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
24c562379b |
Fix building (#79)
* vcpkg overlay: remove vendored xbyak, disable warnings-as-errors; CI: ensure MSVC env is initialized before CMake and cleanup debug/share * CI: setup MSVC env + disable tests; vcpkg: add glslang tools * CI: disable Qt in main Windows job to avoid missing Qt dependency; keep MSVC env setup * DownloadExternals: don't claim bundled binaries when archive missing; add mcl overlay with versioned config; add sdl2 to manifest * Update cpp-httplib submodule to latest commit * Initial plan * Fix build: switch to Conan, add missing workflow files, fix Vulkan SDK hang * Fix codespell: skip vcpkg_installed directory * Initial plan * Address reviewer comments: fix find_program NAMES, mcl portfile REF/install/config, workflow CONAN_HOME and -UseBasicParsing, toJson log injection * Add Linux (GCC) and macOS (Apple Clang) build jobs to cmake-multi-platform.yml * Fix workflow cache variable names and document agentic workflows in README * Initial plan * fix: update auto-fix-workflows trigger branches and permissions for changed base branch * Initial plan * Fix workflow triggers, Conan 2.x cache variable, and agentic bot permissions * Add fix/dynarmic-vcpkg-msvc-ci to suyu-ci and suyu verify PR triggers * Fix duplicate shell key in cmake Configure CMake step, add Android build PR triggers * Fix cpp-httplib submodule, codespell infP false positive, and REUSE compliance for all 108 missing files * Fix Linux Conan xorg/system missing X11 dev packages and verify.yml container EACCES permission error * Fix Android duplicate drawable resources and macOS missing FFmpeg dependency * Add FFmpeg dev packages to Linux apt-get install for CMake FindFFmpeg * Switch Windows Vulkan SDK install from direct download (hangs) to chocolatey * Fix remaining workflow failures: Linux xcb-util pkgs, CMake policy compat, Vulkan SDK fallback, verify git safe.directory, Android layout root ID mismatch * Address code review: extract Vulkan SDK version to env var, add timeout comment * Strip trailing whitespace from 28 files to pass suyu verify format check * Remove src.bak.20251103_153257 backup dir (36MB) and eden_conflicts artifact * Fix Linux libudev-dev, autoupdate.yml missing run key, Android missing styles/strings, review feedback * Initial plan * Fix workflow bugs: runner labels, deprecated actions, broken step IDs, package names Agent-Logs-Url: https://github.com/suyu-emu/SuyuEclipse/sessions/b6faad50-85a4-4c00-b095-a13021d141ff * Remove vk_texture_manager stub, restore vcpkg.json, remove autoupdate no-op stub step Agent-Logs-Url: https://github.com/suyu-emu/SuyuEclipse/sessions/88f79c2b-e2ef-439f-bcc5-4d41f2eb80ab * Fix CI failures: conanfile sdl2→sdl, vcpkg remove boost-headers, clang-format fixes Agent-Logs-Url: https://github.com/suyu-emu/SuyuEclipse/sessions/4f31b9e3-cd49-438e-9c3a-18706b1838c3 * Fix CI: clang-format files, CMake duplicate subdirs, libglu, glslangValidator PATH, macOS zstd conflict, Android SUYU_TESTS Agent-Logs-Url: https://github.com/suyu-emu/SuyuEclipse/sessions/1af86774-b1eb-42e9-a1ee-09297035f409 * Fix CI: mesa-common-dev, ENABLE_QT=OFF all platforms, zstd 1.5.6, brew unlink zstd, clang-format 4 files, Android multiplayer strings from Eden Agent-Logs-Url: https://github.com/suyu-emu/SuyuEclipse/sessions/34369fa5-d1b3-48e1-b0b5-b95bc4a5470c * Update cpp-httplib * Enhance CMake configuration: update C++ standard to C++20, add platform and architecture detection modules, and improve build presets for optimized architecture targeting. * Add ModeSelector dialog for user mode selection with descriptions and settings persistence * Add new UI components: DecryptionFlowWidget, EmulatorCoreManager, McpServer, ProgrammerEnvironment, SocialSidebar, SteamIntegration, and UserManualWidget * Add new components: DecryptionFlowWidget, EmulatorCoreManager, McpServer, ProgrammerEnvironment, SocialSidebar, SteamIntegration, and UserManualWidget * Refactor firmware installation and decryption key handling: remove deprecated checks and update user prompts * Implement mode-specific UI adjustments: add ApplyAppMode function to manage visibility of UI components based on user mode selection. * Refactor code structure for improved readability and maintainability * Add CMake build scripts for MSVC configuration and logging * Enhance CMake configuration: add support for additional tests and features, handle missing dependencies, and improve error messaging for external downloads * Add SDL2 and FFmpeg support in CMake configuration and improve build scripts * Add build script for MSVC using CMake - Created a new batch file `run_build.bat` to automate the build process. - The script sets up the Visual Studio environment and navigates to the project directory. - It executes the CMake build command targeting the 'suyu' project. - Captures and displays the exit code of the build process. * update * Fix dynamic vcpkg integration for MSVC CI * Enhance CMake configuration and add compatibility files for improved build support * Add interface mode change action and update UI components * Add interface mode change handler to GMainWindow * Add build configuration scripts for MSVC integration * Add build script for MSVC4 configuration and test files - Created `build-msvc4-config2.cmd` to automate the build configuration process using CMake with specified options. - Added `build-msvc4-test.txt` as a placeholder for test output verification. - Introduced `testout2c.txt` for additional test output, currently containing binary data. * Add build script for MSVC4 configuration and test files - Created a new batch script `build-msvc4-config2.cmd` to automate the build configuration process for MSVC4, including setting up the environment and invoking CMake with specified options. - Added a test file `build-msvc4-test.txt` containing a simple "ok" message for verification purposes. - Introduced `testout2c.txt` with binary content for further testing. * Add ProcDump output files for process monitoring - Created procdump_output.txt to capture the output when no matching process is found. - Created procdump_output2.txt to log details of the monitored process 'suyu.exe', including exit information and dump settings. * Add new PNG image file win_0_12257664.png * Update subproject commit and adjust widget initialization in GMainWindow * Add GamerEnvironment and related UI components for enhanced gaming experience - Introduced GamerEnvironment class to manage the new gaming interface. - Implemented GameCardDelegate for rendering game cards with cover art and information. - Added UI elements including a sidebar for navigation and a main content area for game display. - Integrated functionality for searching games, adding directories, and loading games. - Restored ApplyAppMode function in main.cpp to handle switching between different application modes. - Updated main.h to include GamerEnvironment and its associated members. - Created fix_main.py script to automate the restoration of the ApplyAppMode function. * Enhance ModeSelector UI and functionality with improved layout and styling * Refactor code structure for improved readability and maintainability * Add automated tests for menu interactions and MCP server functionality - Created test_all_menus.ps1 to automate menu item interactions and capture dialog screenshots. - Implemented test_mcp.ps1 for testing JSON-RPC 2.0 protocol over TCP with various method calls. - Added test_mcp2.ps1 for additional MCP tool tests, including error handling for unknown methods and malformed JSON. - Introduced test_menu_async.ps1 to test menu interactions asynchronously and capture dialog outputs. - Developed test_single_menu.ps1 for single menu item invocation and dialog handling. - Created verify_menus.ps1 to verify the presence and state of menu items in the application. * Update URLs to new website domain for localization and application settings - Changed app disclaimer and help links in Vietnamese, Simplified Chinese, Traditional Chinese, and English strings to point to the new website domain. - Updated web API URL in settings to reflect the new domain. - Modified TAS configuration help link to use the new website. - Adjusted various navigation links in the gamer environment and main application to direct users to the new website. * Add multiplayer server management features and settings * Add ModBrowserDialog for mod management and update multiplayer connection handling * Add 'Add to Steam' option in game context menu and implement shortcut creation * Enhance loading screen UI and add agentic workflow documentation for GitHub Actions * Refactor library page layout and enhance UI components for better user experience * Enhance button styling in GamerEnvironment for improved UI responsiveness * Enhance loading screen with spinner animation and artwork type selection for Steam integration * build * Add game overlay feature with F1 shortcut and corresponding UI integration * Refactor Steam integration to use public Steam Store endpoints for artwork fetching and update related UI components for improved user experience * fix dlls * Add support for Hacker and Gamer modes in application startup and enhance MCP server tool registration * Refactor web service settings and UI components for Eden integration * Refactor settings and authentication to replace 'suyu' references with 'eden' for improved account integration * Fix build issues and warnings in Suyu project - Added missing Q_OBJECT macro in game_card.cpp and game_library.cpp to resolve AutoMoc warnings. - Addressed warning C4267 in configure_web.cpp regarding conversion from 'size_t' to 'int' by ensuring proper type handling. - Updated build output to reflect successful compilation of additional source files and linking of the executable. * better steam * Fix room creation logic by removing unused parameter and add include test file * Update archived About/Workflow links and apply current tracked changes * Refactor GMainWindow to support multiple application modes and improve MCP server handling - Updated OnEmulationStopped to show appropriate environment based on current mode (Gamer, Programmer). - Removed unnecessary checks in OnGameListShowList for Hacker mode. - Enhanced ToggleWindowMode to display the correct environment for Gamer and Programmer modes. - Refactored MCP server initialization to be available in all modes, ensuring correct state reporting for Gamer and Hacker environments. - Improved handling of game directory addition and listing in MCP server. - Added HactoolIntegration class for managing external decryption tools, including scanning for tools, extracting NCA, NSP, and XCI files, and detecting extracted content. - Implemented file and directory existence checks to ensure robust tool management. - Introduced progress callbacks for extraction operations to provide user feedback. - Enhanced Vulkan graphics pipeline to improve image handling and resource management. - Updated texture cache to synchronize aliases only when necessary, optimizing performance. * Implement random number generation utilities and refactor UUID and network components to use them * Refactor hactool integration to use pointer for VFS operations and clean up game list header includes * Add screenshot functionality for 'suyu' application using PowerShell - Created 'take_screenshot.ps1' to capture a screenshot of the 'suyu' window. - Utilized user32.dll for window manipulation and System.Drawing for image processing. - Implemented a delay before capturing the screenshot to ensure the window is fully rendered. Add UI Automation click functionality for 'suyu' application - Created 'uia_click.ps1' to find and invoke a button in the 'suyu' window using UI Automation. - Captured the window's screenshot after attempting to click the button. - Enumerated all UI elements to provide feedback if the target button is not found. * Add PowerShell script for UI flow verification and screenshot capture - Introduced `verify_ui_flows.ps1` to automate the verification of UI flows in the 'suyu' application. - Utilized UI Automation to interact with application windows and controls. - Implemented functionality to capture screenshots of the Social view, Multiplayer lobby, and Export dialog. - Added error handling and logging for invoked controls. * Add screenshot for public room verification and PowerShell script to set dialog text and click button - Added a PNG screenshot for verifying public rooms. - Created a PowerShell script `set_dialog_text_and_click.ps1` to automate setting text in a dialog and clicking a button using Windows API calls. * fix: update CPU configuration handling for improved compatibility with MSVC * Add PowerShell script for MCP UI testing and automation - Implement Send-McpRequest function to handle JSON-RPC requests over TCP. - Establish TCP connection to the MCP server on localhost at port 9742. - Send initialization and notification requests to the MCP server. - Create a series of tool calls to interact with the MCP UI, including setting app mode, navigating views, refreshing feeds, and capturing screenshots. - Output responses from the MCP server for each request. * feat: implement real ARM64 AOT basic block analysis in game_export Replace stub RunAotPrecompile() with real implementation that: - Opens ROM files via VFS (NSP/XCI/NCA container support) - Parses NSOHeader structs and decompresses .text segments via LZ4 - Performs two-pass ARM64 linear sweep basic block analysis - Detects all branch types: B, BL, BR, BLR, RET, CBZ/CBNZ, TBZ/TBNZ, B.cond, SVC - Extracts direct branch targets for block boundary discovery - Writes binary .blockmap files (AOTB format) for runtime JIT pre-warming - Generates JSON manifest v2 with real module data: build IDs, segment addresses, block counts, instruction counts - Falls back to disk-based ExeFS reading when VFS extraction unavailable - Saves extracted ExeFS content to cache for standalone packaging This enables the AOT export pipeline to produce real block maps that the runtime can use to pre-compile ARM64 code blocks on startup instead of lazily JIT-compiling on first execution. * feat: replace built-in decryption with external tool hook system - Add ExternalDecryptionTool class (external_decryption_tool.h/.cpp) supporting hactool, Ryujinx, Eden, Yuzu, and custom tools - QSettings persistence for tool selection and path - QProcess-based tool invocation with timeout and error handling - Auto-detect tools on PATH via QStandardPaths::findExecutable - Full dialog UI with tool picker, path editor, browse, status indicator - Hide action_Install_Keys in UI, add action_Configure_External_Decryption - Replace OnInstallDecryptionKeys body to redirect to external tool dialog - Add OnConfigureExternalDecryption to main.cpp/main.h - Update game launch warning to mention external tool option - Soften OnCheckFirmwareDecryption to INFO level - Update MCP get_keys_status to report external tool configuration - Disable old DecryptionFlowWidget via #if 0 in decryption_flow.h/.cpp - Remove decryption_flow from CMakeLists.txt, add external_decryption_tool * feat: update game export dialog for native export artifacts and improve user manual instructions * fix: reorder includes in game_export.cpp to resolve macro conflicts * fix(suyu): resolve C4458/C4005 in game_export.cpp + add mcl include path - Add explicit #include common/assert.h before #undef guards so #pragma once is set before Dynarmic/mcl headers are included (works with or without PCH) - Rename local var 'data' -> 'nso_bytes' to fix C4458 hiding QWidget::data - Add externals/dynarmic/externals/mcl/include to suyu target_include_directories since merry::mcl is LINK_ONLY in dynarmic's export, so its include path does not propagate to consumers like suyu * feat: add build script for MSVC using subprocess to automate build process * feat: enhance external decryption tool integration and improve UI feedback for SSL status * Remove obsolete scripts and logs; add build script for CMake configuration and Ninja build * conan * Refactor key management and enhance decryption flow - Updated KeyManager to support additional key types and improved key loading mechanism. - Removed legacy key file handling in ReloadKeys and integrated external content pipeline. - Enhanced LoadFromFile to handle key parsing more robustly. - Modified DecryptionFlowWidget to reflect changes in key management and provide clearer instructions for external decryption tools. - Updated main application logic to accommodate external decryption configurations and removed local key installation functionality. - Added new NAX0 processing functionality to handle encrypted content extraction. - Introduced new test data files for cryptographic operations. * fix: improve error logging for ROM loading and enhance key area key validation * feat: add logging for key presence during key reload * feat: implement PowerShell fallback for Reddit feed loading in social sidebar * fix: handle exceptions during disk shader cache loading * Refactor code structure for improved readability and maintainability * Add logging functionality and PowerShell script for MCP testing - Created a new log file 'suyu_combined.log' to capture application logs. - Implemented a PowerShell script 'test_mcp.ps1' to automate testing of the MCP interface. - The script initializes the MCP, captures screenshots in different modes, and outputs the results. * style: update loading screen UI and progress bar aesthetics; enhance error handling in game boot and command line * fix: add exception handling for emulation thread and game export; improve error reporting * fix: add exception handling for disk shader cache loading; ensure proper emulation thread management * fix: add exception handling and logging for time synchronization; implement game list population cancellation --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> |