#pragma once #include "Emu/VFS.h" // Return Codes enum CellScreenShotError : u32 { CELL_SCREENSHOT_ERROR_INTERNAL = 0x8002d101, CELL_SCREENSHOT_ERROR_PARAM = 0x8002d102, CELL_SCREENSHOT_ERROR_DECODE = 0x8002d103, CELL_SCREENSHOT_ERROR_NOSPACE = 0x8002d104, CELL_SCREENSHOT_ERROR_UNSUPPORTED_COLOR_FORMAT = 0x8002d105, }; enum CellScreenShotParamSize { CELL_SCREENSHOT_PHOTO_TITLE_MAX_LENGTH = 64, CELL_SCREENSHOT_GAME_TITLE_MAX_LENGTH = 64, CELL_SCREENSHOT_GAME_COMMENT_MAX_SIZE = 1024, }; struct CellScreenShotSetParam { vm::bcptr photo_title; vm::bcptr game_title; vm::bcptr game_comment; vm::bptr reserved; }; struct screenshot_manager { atomic_t is_enabled{ false }; std::string photo_title; std::string game_title; std::string game_comment; atomic_t overlay_offset_x{ 0 }; atomic_t overlay_offset_y{ 0 }; std::string overlay_dir_name; std::string overlay_file_name; std::string get_overlay_path() const; std::string get_photo_title() const; std::string get_game_title() const; std::string get_screenshot_path() const; };