From 144ff824025a45ccffb323725d2a1b0f2b818b32 Mon Sep 17 00:00:00 2001 From: Megamouse Date: Fri, 6 Sep 2024 09:45:05 +0200 Subject: [PATCH] Stub cellSysutilAvc --- rpcs3/Emu/Cell/Modules/cellSysutilAvc.cpp | 100 +++++++----- rpcs3/Emu/Cell/Modules/cellSysutilAvc.h | 155 +++++++++++++++++++ rpcs3/Emu/Cell/Modules/cellSysutilAvcExt.cpp | 111 ++++++------- rpcs3/emucore.vcxproj | 1 + rpcs3/emucore.vcxproj.filters | 3 + 5 files changed, 282 insertions(+), 88 deletions(-) create mode 100644 rpcs3/Emu/Cell/Modules/cellSysutilAvc.h diff --git a/rpcs3/Emu/Cell/Modules/cellSysutilAvc.cpp b/rpcs3/Emu/Cell/Modules/cellSysutilAvc.cpp index 13a57057ce..429eee1159 100644 --- a/rpcs3/Emu/Cell/Modules/cellSysutilAvc.cpp +++ b/rpcs3/Emu/Cell/Modules/cellSysutilAvc.cpp @@ -1,65 +1,91 @@ #include "stdafx.h" #include "Emu/Cell/PPUModule.h" +#include "Emu/Cell/Modules/cellSysutilAvc.h" LOG_CHANNEL(cellSysutil); -error_code cellSysutilAvcByeRequest() +template<> +void fmt_class_string::format(std::string& out, u64 arg) { - cellSysutil.todo("cellSysutilAvcByeRequest()"); + format_enum(out, arg, [](auto error) + { + switch (error) + { + STR_CASE(CELL_AVC_ERROR_UNKNOWN); + STR_CASE(CELL_AVC_ERROR_NOT_SUPPORTED); + STR_CASE(CELL_AVC_ERROR_NOT_INITIALIZED); + STR_CASE(CELL_AVC_ERROR_ALREADY_INITIALIZED); + STR_CASE(CELL_AVC_ERROR_INVALID_ARGUMENT); + STR_CASE(CELL_AVC_ERROR_OUT_OF_MEMORY); + STR_CASE(CELL_AVC_ERROR_BAD_ID); + STR_CASE(CELL_AVC_ERROR_INVALID_STATUS); + STR_CASE(CELL_AVC_ERROR_TIMEOUT); + STR_CASE(CELL_AVC_ERROR_NO_SESSION); + STR_CASE(CELL_AVC_ERROR_INCOMPATIBLE_PROTOCOL); + STR_CASE(CELL_AVC_ERROR_PEER_UNREACHABLE); + } + + return unknown; + }); +} + +error_code cellSysutilAvcByeRequest(vm::ptr request_id) +{ + cellSysutil.todo("cellSysutilAvcByeRequest(request_id=*0x%x)", request_id); return CELL_OK; } -error_code cellSysutilAvcCancelByeRequest() +error_code cellSysutilAvcCancelByeRequest(vm::ptr request_id) { - cellSysutil.todo("cellSysutilAvcCancelByeRequest()"); + cellSysutil.todo("cellSysutilAvcCancelByeRequest(request_id=*0x%x)", request_id); return CELL_OK; } -error_code cellSysutilAvcCancelJoinRequest() +error_code cellSysutilAvcCancelJoinRequest(vm::ptr request_id) { - cellSysutil.todo("cellSysutilAvcCancelJoinRequest()"); + cellSysutil.todo("cellSysutilAvcCancelJoinRequest(request_id=*0x%x)", request_id); return CELL_OK; } -error_code cellSysutilAvcEnumPlayers() +error_code cellSysutilAvcEnumPlayers(vm::ptr players_id, vm::ptr players_num) { - cellSysutil.todo("cellSysutilAvcEnumPlayers()"); + cellSysutil.todo("cellSysutilAvcEnumPlayers(players_id=*0x%x, players_num=*0x%x)", players_id, players_num); return CELL_OK; } -error_code cellSysutilAvcGetAttribute() +error_code cellSysutilAvcGetAttribute(CellSysUtilAvcAttribute attr_id, vm::pptr param) { - cellSysutil.todo("cellSysutilAvcGetAttribute()"); + cellSysutil.todo("cellSysutilAvcGetAttribute(attr_id=0x%x, param=*0x%x)", +attr_id, param); return CELL_OK; } -error_code cellSysutilAvcGetLayoutMode() +error_code cellSysutilAvcGetLayoutMode(vm::ptr layout) { - cellSysutil.todo("cellSysutilAvcGetLayoutMode()"); + cellSysutil.todo("cellSysutilAvcGetLayoutMode(layout=*0x%x)", layout); return CELL_OK; } -error_code cellSysutilAvcGetShowStatus() +error_code cellSysutilAvcGetShowStatus(vm::ptr is_visible) { - cellSysutil.todo("cellSysutilAvcGetShowStatus()"); + cellSysutil.todo("cellSysutilAvcGetShowStatus(is_visible=*0x%x)", is_visible); return CELL_OK; } -error_code cellSysutilAvcGetSpeakerVolumeLevel() +error_code cellSysutilAvcGetSpeakerVolumeLevel(vm::ptr volumeLevel) { - cellSysutil.todo("cellSysutilAvcGetSpeakerVolumeLevel()"); + cellSysutil.todo("cellSysutilAvcGetSpeakerVolumeLevel(volumeLevel=*0x%x)", volumeLevel); return CELL_OK; } -error_code cellSysutilAvcGetVideoMuting() +error_code cellSysutilAvcGetVideoMuting(vm::ptr is_muting) { - cellSysutil.todo("cellSysutilAvcGetVideoMuting()"); + cellSysutil.todo("cellSysutilAvcGetVideoMuting(is_muting=*0x%x)", is_muting); return CELL_OK; } -error_code cellSysutilAvcGetVoiceMuting() +error_code cellSysutilAvcGetVoiceMuting(vm::ptr is_muting) { - cellSysutil.todo("cellSysutilAvcGetVoiceMuting()"); + cellSysutil.todo("cellSysutilAvcGetVoiceMuting(is_muting=*0x%x)", is_muting); return CELL_OK; } @@ -69,45 +95,47 @@ error_code cellSysutilAvcHidePanel() return CELL_OK; } -error_code cellSysutilAvcJoinRequest() +error_code cellSysutilAvcJoinRequest(u32 ctx_id, vm::cptr room_id, vm::ptr request_id) { - cellSysutil.todo("cellSysutilAvcJoinRequest()"); + cellSysutil.todo("cellSysutilAvcJoinRequest(ctx_id=*0x%x, room_id=*0x%x, request_id=*0x%x)", ctx_id, room_id, request_id); return CELL_OK; } -error_code cellSysutilAvcLoadAsync() +error_code cellSysutilAvcLoadAsync(vm::ptr func, vm::ptr userdata, sys_memory_container_t container, + CellSysUtilAvcMediaType media, CellSysUtilAvcVideoQuality videoQuality, CellSysUtilAvcVoiceQuality voiceQuality, vm::ptr request_id) { - cellSysutil.todo("cellSysutilAvcLoadAsync()"); + cellSysutil.todo("cellSysutilAvcLoadAsync(func=*0x%x, userdata=*0x%x, container=0x%x, media=0x%x, videoQuality=0x%x, voiceQuality=0x%x, request_id=*0x%x)", + func, userdata, container, +media, +videoQuality, +voiceQuality, request_id); return CELL_OK; } -error_code cellSysutilAvcSetAttribute() +error_code cellSysutilAvcSetAttribute(CellSysUtilAvcAttribute attr_id, vm::ptr param) { - cellSysutil.todo("cellSysutilAvcSetAttribute()"); + cellSysutil.todo("cellSysutilAvcSetAttribute(attr_id=0x%x, param=*0x%x)", +attr_id, param); return CELL_OK; } -error_code cellSysutilAvcSetLayoutMode() +error_code cellSysutilAvcSetLayoutMode(CellSysutilAvcLayoutMode layout) { - cellSysutil.todo("cellSysutilAvcSetLayoutMode()"); + cellSysutil.todo("cellSysutilAvcSetLayoutMode(layout=0x%x)", +layout); return CELL_OK; } -error_code cellSysutilAvcSetSpeakerVolumeLevel() +error_code cellSysutilAvcSetSpeakerVolumeLevel(s32 volumeLevel) { - cellSysutil.todo("cellSysutilAvcSetSpeakerVolumeLevel()"); + cellSysutil.todo("cellSysutilAvcSetSpeakerVolumeLevel(volumeLevel=%d)", volumeLevel); return CELL_OK; } -error_code cellSysutilAvcSetVideoMuting() +error_code cellSysutilAvcSetVideoMuting(b8 is_muting) { - cellSysutil.todo("cellSysutilAvcSetVideoMuting()"); + cellSysutil.todo("cellSysutilAvcSetVideoMuting(is_muting=%d)", is_muting); return CELL_OK; } -error_code cellSysutilAvcSetVoiceMuting() +error_code cellSysutilAvcSetVoiceMuting(b8 is_muting) { - cellSysutil.todo("cellSysutilAvcSetVoiceMuting()"); + cellSysutil.todo("cellSysutilAvcSetVoiceMuting(is_muting=%d)", is_muting); return CELL_OK; } @@ -117,9 +145,9 @@ error_code cellSysutilAvcShowPanel() return CELL_OK; } -error_code cellSysutilAvcUnloadAsync() +error_code cellSysutilAvcUnloadAsync(vm::ptr request_id) { - cellSysutil.todo("cellSysutilAvcUnloadAsync()"); + cellSysutil.todo("cellSysutilAvcUnloadAsync(request_id=*0x%x)", request_id); return CELL_OK; } diff --git a/rpcs3/Emu/Cell/Modules/cellSysutilAvc.h b/rpcs3/Emu/Cell/Modules/cellSysutilAvc.h new file mode 100644 index 0000000000..b8580914b2 --- /dev/null +++ b/rpcs3/Emu/Cell/Modules/cellSysutilAvc.h @@ -0,0 +1,155 @@ +#pragma once + +#include "Emu/Cell/Modules/sceNp.h" + +enum CellAvcError : u32 +{ + CELL_AVC_ERROR_UNKNOWN = 0x8002b701, + CELL_AVC_ERROR_NOT_SUPPORTED = 0x8002b702, + CELL_AVC_ERROR_NOT_INITIALIZED = 0x8002b703, + CELL_AVC_ERROR_ALREADY_INITIALIZED = 0x8002b704, + CELL_AVC_ERROR_INVALID_ARGUMENT = 0x8002b705, + CELL_AVC_ERROR_OUT_OF_MEMORY = 0x8002b706, + CELL_AVC_ERROR_BAD_ID = 0x8002b707, + CELL_AVC_ERROR_INVALID_STATUS = 0x8002b70a, + CELL_AVC_ERROR_TIMEOUT = 0x8002b70b, + CELL_AVC_ERROR_NO_SESSION = 0x8002b70d, + CELL_AVC_ERROR_INCOMPATIBLE_PROTOCOL = 0x8002b70e, + CELL_AVC_ERROR_PEER_UNREACHABLE = 0x8002b710, +}; + +enum CellSysutilAvcTransitionType : u32 +{ + CELL_SYSUTIL_AVC_TRANSITION_LINEAR = 0x00000000, + CELL_SYSUTIL_AVC_TRANSITION_SLOWDOWN = 0x00000001, + CELL_SYSUTIL_AVC_TRANSITION_FASTUP = 0x00000002, + CELL_SYSUTIL_AVC_TRANSITION_ANGULAR = 0x00000003, + CELL_SYSUTIL_AVC_TRANSITION_EXPONENT = 0x00000004, + CELL_SYSUTIL_AVC_TRANSITION_NONE = 0xffffffff +}; + +enum CellSysutilAvcWindowZorderMode : u32 +{ + CELL_SYSUTIL_AVC_ZORDER_FORWARD_MOST = 0x00000002, + CELL_SYSUTIL_AVC_ZORDER_BEHIND_MOST = 0x00000003, +}; + +enum : u32 +{ + CELL_AVC_REQUEST_ID_SYSTEM_EVENT = 0x00000000, + + CELL_SYSUTIL_AVC_VIDEO_MEMORY_SIZE = 26 * 1024 * 1024, + CELL_SYSUTIL_AVC_VOICE_MEMORY_SIZE = 8 * 1024 * 1024, + CELL_SYSUTIL_AVC_EXTRA_MEMORY_SIZE_FOR_SHARING_VIDEO_BUFFER = 2 * 1024 * 1024, + + CELL_SYSUTIL_AVC_OPTION_PARAM_VERSION = 100, +}; + +enum CellSysutilAvcEvent : u32 +{ + CELL_AVC_EVENT_LOAD_SUCCEEDED = 0x00000001, + CELL_AVC_EVENT_LOAD_FAILED = 0x00000002, + CELL_AVC_EVENT_UNLOAD_SUCCEEDED = 0x00000003, + CELL_AVC_EVENT_UNLOAD_FAILED = 0x00000004, + CELL_AVC_EVENT_JOIN_SUCCEEDED = 0x00000005, + CELL_AVC_EVENT_JOIN_FAILED = 0x00000006, + CELL_AVC_EVENT_BYE_SUCCEEDED = 0x00000007, + CELL_AVC_EVENT_BYE_FAILED = 0x00000008, + + CELL_AVC_EVENT_SYSTEM_NEW_MEMBER_JOINED = 0x10000001, + CELL_AVC_EVENT_SYSTEM_MEMBER_LEFT = 0x10000002, + CELL_AVC_EVENT_SYSTEM_SESSION_ESTABLISHED = 0x10000003, + CELL_AVC_EVENT_SYSTEM_SESSION_CANNOT_ESTABLISHED = 0x10000004, + CELL_AVC_EVENT_SYSTEM_SESSION_DISCONNECTED = 0x10000005, + CELL_AVC_EVENT_SYSTEM_VOICE_DETECTED = 0x10000006, + CELL_AVC_EVENT_SYSTEM_MIC_DETECTED = 0x10000007, + CELL_AVC_EVENT_SYSTEM_CAMERA_DETECTED = 0x10000008, +}; + +enum CellSysUtilAvcEventParam : u64 +{ + CELL_AVC_EVENT_PARAM_ERROR_UNKNOWN = 0x00000001, + CELL_AVC_EVENT_PARAM_ERROR_NOT_SUPPORTED = 0x00000002, + CELL_AVC_EVENT_PARAM_ERROR_INVALID_ARGUMENT = 0x00000003, + CELL_AVC_EVENT_PARAM_ERROR_OUT_OF_MEMORY = 0x00000004, + CELL_AVC_EVENT_PARAM_ERROR_INVALID_STATUS = 0x00000005, + CELL_AVC_EVENT_PARAM_ERROR_TIMEOUT = 0x00000006, + CELL_AVC_EVENT_PARAM_ERROR_CONTEXT_DOES_NOT_EXIST = 0x00000007, + CELL_AVC_EVENT_PARAM_ERROR_ROOM_DOES_NOT_EXIST = 0x00000008, + CELL_AVC_EVENT_PARAM_ERROR_MEDIA_MISMATCHED = 0x00000009, + CELL_AVC_EVENT_PARAM_ERROR_MEMBER_EXCEEDED = 0x0000000A, + CELL_AVC_EVENT_PARAM_ERROR_MASTER_LEFT = 0x0000000B, + CELL_AVC_EVENT_PARAM_ERROR_NETWORK_ERROR = 0x0000000C, + CELL_AVC_EVENT_PARAM_ERROR_INCOMPATIBLE_PROTOCOL = 0x0000000D, +}; + +enum CellSysUtilAvcAttribute : u32 +{ + CELL_SYSUTIL_AVC_ATTRIBUTE_DEFAULT_TRANSITION_TYPE = 0x00000001, + CELL_SYSUTIL_AVC_ATTRIBUTE_DEFAULT_TRANSITION_DURATION = 0x00000002, + CELL_SYSUTIL_AVC_ATTRIBUTE_DEFAULT_INITIAL_SHOW_STATUS = 0x00000003, + CELL_SYSUTIL_AVC_ATTRIBUTE_VOICE_DETECT_EVENT_TYPE = 0x00000004, + CELL_SYSUTIL_AVC_ATTRIBUTE_VOICE_DETECT_INTERVAL_TIME = 0x00000005, + CELL_SYSUTIL_AVC_ATTRIBUTE_VOICE_DETECT_SIGNAL_LEVEL = 0x00000006, + CELL_SYSUTIL_AVC_ATTRIBUTE_ROOM_PRIVILEGE_TYPE = 0x00000007, + CELL_SYSUTIL_AVC_ATTRIBUTE_VIDEO_MAX_BITRATE = 0x00000008, +}; + +enum CellSysutilAvcLayoutMode : u32 +{ + CELL_SYSUTIL_AVC_LAYOUT_LEFT = 0x00000000, + CELL_SYSUTIL_AVC_LAYOUT_RIGHT = 0x00000001, + CELL_SYSUTIL_AVC_LAYOUT_TOP = 0x00000002, + CELL_SYSUTIL_AVC_LAYOUT_BOTTOM = 0x00000003, +}; + +enum CellSysUtilAvcMediaType : u32 +{ + CELL_SYSUTIL_AVC_VOICE_CHAT = 0x00000001, + CELL_SYSUTIL_AVC_VIDEO_CHAT = 0x00000002, +}; + +enum CellSysutilAvcRoomPrivilegeType : u32 +{ + CELL_SYSUTIL_AVC_ROOM_PRIVILEGE_TYPE_NO_AUTO_GRANT = 0x00000000, + CELL_SYSUTIL_AVC_ROOM_PRIVILEGE_TYPE_AUTO_GRANT = 0x00000001 +}; + +enum CellSysUtilAvcVideoQuality : u32 +{ + CELL_SYSUTIL_AVC_VIDEO_QUALITY_DEFAULT = 0x00000001 +}; + +enum CellSysutilAvcVoiceDetectEventType : u32 +{ + CELL_SYSUTIL_AVC_VOICE_DETECT_EVENT_TYPE_SIGNAL = 0x00000001, + CELL_SYSUTIL_AVC_VOICE_DETECT_EVENT_TYPE_SPEAK = 0x00000002 +}; + +enum CellSysutilAvcVoiceDetectSpeakData : u32 +{ + CELL_SYSUTIL_AVC_VOICE_DETECT_DATA_SPEAK_STOP = 0x00000000, + CELL_SYSUTIL_AVC_VOICE_DETECT_DATA_SPEAK_START = 0x00000001 +}; + +enum CellSysUtilAvcVoiceQuality : u32 +{ + CELL_SYSUTIL_AVC_VOICE_QUALITY_DEFAULT = 0x00000001 +}; + +struct CellSysutilAvcOptionParam +{ + be_t avcOptionParamVersion; + b8 sharingVideoBuffer; + be_t maxPlayers; // Not in FW 1.70 +}; + +struct CellSysutilAvcVoiceDetectData +{ + SceNpId npid; + be_t data; +}; + +typedef u32 CellSysutilAvcRequestId; + +using CellSysutilAvcCallback = void(CellSysutilAvcRequestId request_id, CellSysutilAvcEvent event_id, CellSysUtilAvcEventParam event_param, vm::ptr userdata); diff --git a/rpcs3/Emu/Cell/Modules/cellSysutilAvcExt.cpp b/rpcs3/Emu/Cell/Modules/cellSysutilAvcExt.cpp index 8d872a067c..2640a13d3e 100644 --- a/rpcs3/Emu/Cell/Modules/cellSysutilAvcExt.cpp +++ b/rpcs3/Emu/Cell/Modules/cellSysutilAvcExt.cpp @@ -1,185 +1,192 @@ #include "stdafx.h" #include "Emu/Cell/PPUModule.h" +#include "Emu/Cell/Modules/cellSysutilAvc.h" LOG_CHANNEL(cellSysutilAvcExt); -error_code cellSysutilAvcExtIsMicAttached() +error_code cellSysutilAvcExtIsMicAttached(vm::ptr status) { - UNIMPLEMENTED_FUNC(cellSysutilAvcExt); + cellSysutilAvcExt.todo("cellSysutilAvcExtIsMicAttached(status=*0x%x)", status); return CELL_OK; } error_code cellSysutilAvcExtStopCameraDetection() { - UNIMPLEMENTED_FUNC(cellSysutilAvcExt); + cellSysutilAvcExt.todo("cellSysutilAvcExtStopCameraDetection()"); return CELL_OK; } -error_code cellSysutilAvcExtSetWindowRotation() +error_code cellSysutilAvcExtSetWindowRotation(vm::ptr player_id, f32 rotation_x, f32 rotation_y, f32 rotation_z, CellSysutilAvcTransitionType transition_type) { - UNIMPLEMENTED_FUNC(cellSysutilAvcExt); + cellSysutilAvcExt.todo("cellSysutilAvcExtSetWindowRotation(player_id=*0x%x, rotation_x=%f, rotation_y=%f, rotation_z=%f, transition_type=0x%x)", player_id, rotation_x, rotation_y, rotation_z, +transition_type); return CELL_OK; } -error_code cellSysutilAvcExtGetWindowPosition() +error_code cellSysutilAvcExtGetWindowPosition(vm::ptr player_id, vm::ptr position_x, vm::ptr position_y, vm::ptr position_z) { - UNIMPLEMENTED_FUNC(cellSysutilAvcExt); + cellSysutilAvcExt.todo("cellSysutilAvcExtGetWindowPosition(player_id=*0x%x, position_x=*0x%x, position_y=*0x%x, position_z=*0x%x)", player_id, position_x, position_y, position_z); return CELL_OK; } error_code cellSysutilAvcExtSetHideNamePlate() { - UNIMPLEMENTED_FUNC(cellSysutilAvcExt); + cellSysutilAvcExt.todo("cellSysutilAvcExtSetHideNamePlate()"); return CELL_OK; } -error_code cellSysutilAvcExtSetWindowPosition() +error_code cellSysutilAvcExtSetWindowPosition(vm::ptr player_id, f32 position_x, f32 position_y, f32 position_z, CellSysutilAvcTransitionType transition_type) { - UNIMPLEMENTED_FUNC(cellSysutilAvcExt); + cellSysutilAvcExt.todo("cellSysutilAvcExtSetWindowPosition(player_id=*0x%x, position_x=%f, position_y=%f, position_z=%f, transition_type=0x%x)", player_id, position_x, position_y, position_z, +transition_type); return CELL_OK; } -error_code cellSysutilAvcExtGetWindowSize() +error_code cellSysutilAvcExtGetWindowSize(vm::ptr player_id, vm::ptr size_x, vm::ptr size_y) { - UNIMPLEMENTED_FUNC(cellSysutilAvcExt); + cellSysutilAvcExt.todo("cellSysutilAvcExtGetWindowSize(player_id=*0x%x, size_x=*0x%x, size_y=*0x%x)", player_id, size_x, size_y); return CELL_OK; } error_code cellSysutilAvcExtStartCameraDetection() { - UNIMPLEMENTED_FUNC(cellSysutilAvcExt); + cellSysutilAvcExt.todo("cellSysutilAvcExtStartCameraDetection()"); return CELL_OK; } -error_code cellSysutilAvcExtGetWindowShowStatus() +error_code cellSysutilAvcExtGetWindowShowStatus(vm::ptr player_id, vm::ptr is_visible) { - UNIMPLEMENTED_FUNC(cellSysutilAvcExt); + cellSysutilAvcExt.todo("cellSysutilAvcExtGetWindowShowStatus(player_id=*0x%x, is_visible=*0x%x)", player_id, is_visible); return CELL_OK; } -error_code cellSysutilAvcExtSetChatMode() +error_code cellSysutilAvcExtSetChatMode(vm::ptr func, vm::ptr userdata, sys_memory_container_t container, + CellSysUtilAvcMediaType media, CellSysUtilAvcVideoQuality videoQuality, CellSysUtilAvcVoiceQuality voiceQuality, vm::ptr option, vm::ptr request_id) { - UNIMPLEMENTED_FUNC(cellSysutilAvcExt); + cellSysutilAvcExt.todo("cellSysutilAvcExtSetChatMode(func=*0x%x, userdata=*0x%x, container=0x%x, media=0x%x, videoQuality=0x%x, voiceQuality=0x%x, option=*0x%x, request_id=*0x%x)", + func, userdata, container, +media, +videoQuality, +voiceQuality, option, request_id); return CELL_OK; } -error_code cellSysutilAvcExtGetNamePlateShowStatus() +error_code cellSysutilAvcExtGetNamePlateShowStatus(vm::ptr is_visible) { - UNIMPLEMENTED_FUNC(cellSysutilAvcExt); + cellSysutilAvcExt.todo("cellSysutilAvcExtGetNamePlateShowStatus(is_visible=*0x%x)", is_visible); return CELL_OK; } -error_code cellSysutilAvcExtSetWindowAlpha() +error_code cellSysutilAvcExtSetWindowAlpha(vm::ptr player_id, f32 alpha, CellSysutilAvcTransitionType transition_type) { - UNIMPLEMENTED_FUNC(cellSysutilAvcExt); + cellSysutilAvcExt.todo("cellSysutilAvcExtSetWindowAlpha(player_id=*0x%x, alpha=%f, transition_type=0x%x)", player_id, alpha, +transition_type); return CELL_OK; } -error_code cellSysutilAvcExtSetWindowSize() +error_code cellSysutilAvcExtSetWindowSize(vm::ptr player_id, f32 size_x, f32 size_y, CellSysutilAvcTransitionType transition_type) { - UNIMPLEMENTED_FUNC(cellSysutilAvcExt); + cellSysutilAvcExt.todo("cellSysutilAvcExtSetWindowSize(player_id=*0x%x, size_x=%f, size_y=%f, transition_type=0x%x)", player_id, size_x, size_y, +transition_type); return CELL_OK; } -error_code cellSysutilAvcExtShowPanelEx() +error_code cellSysutilAvcExtShowPanelEx(CellSysutilAvcTransitionType transition_type) { - UNIMPLEMENTED_FUNC(cellSysutilAvcExt); + cellSysutilAvcExt.todo("cellSysutilAvcExtShowPanelEx(transition_type=0x%x)", +transition_type); return CELL_OK; } -error_code cellSysutilAvcExtLoadAsyncEx() +error_code cellSysutilAvcExtLoadAsyncEx(vm::ptr func, vm::ptr userdata, sys_memory_container_t container, + CellSysUtilAvcMediaType media, CellSysUtilAvcVideoQuality videoQuality, CellSysUtilAvcVoiceQuality voiceQuality, vm::ptr option, vm::ptr request_id) { - UNIMPLEMENTED_FUNC(cellSysutilAvcExt); + cellSysutilAvcExt.todo("cellSysutilAvcExtLoadAsyncEx(func=*0x%x, userdata=*0x%x, container=0x%x, media=0x%x, videoQuality=0x%x, voiceQuality=0x%x, option=*0x%x, request_id=*0x%x)", + func, userdata, container, +media, +videoQuality, +voiceQuality, option, request_id); return CELL_OK; } error_code cellSysutilAvcExtSetShowNamePlate() { - UNIMPLEMENTED_FUNC(cellSysutilAvcExt); + cellSysutilAvcExt.todo("cellSysutilAvcExtSetShowNamePlate()"); return CELL_OK; } error_code cellSysutilAvcExtStopVoiceDetection() { - UNIMPLEMENTED_FUNC(cellSysutilAvcExt); + cellSysutilAvcExt.todo("cellSysutilAvcExtStopVoiceDetection()"); return CELL_OK; } -error_code cellSysutilAvcExtShowWindow() +error_code cellSysutilAvcExtShowWindow(vm::ptr player_id, CellSysutilAvcTransitionType transition_type) { - UNIMPLEMENTED_FUNC(cellSysutilAvcExt); + cellSysutilAvcExt.todo("cellSysutilAvcExtStopVoiceDetection(player_id=*0x%x, transition_type=0x%x)", player_id, +transition_type); return CELL_OK; } -error_code cellSysutilAvcExtIsCameraAttached() +error_code cellSysutilAvcExtIsCameraAttached(vm::ptr status) { - UNIMPLEMENTED_FUNC(cellSysutilAvcExt); + cellSysutilAvcExt.todo("cellSysutilAvcExtIsCameraAttached(status=*0x%x)", status); return CELL_OK; } -error_code cellSysutilAvcExtHidePanelEx() +error_code cellSysutilAvcExtHidePanelEx(CellSysutilAvcTransitionType transition_type) { - UNIMPLEMENTED_FUNC(cellSysutilAvcExt); + cellSysutilAvcExt.todo("cellSysutilAvcExtHidePanelEx(transition_type=0x%x)", +transition_type); return CELL_OK; } -error_code cellSysutilAvcExtHideWindow() +error_code cellSysutilAvcExtHideWindow(vm::ptr player_id, CellSysutilAvcTransitionType transition_type) { - UNIMPLEMENTED_FUNC(cellSysutilAvcExt); + cellSysutilAvcExt.todo("cellSysutilAvcExtHideWindow(player_id=*0x%x, transition_type=0x%x)", player_id, +transition_type); return CELL_OK; } -error_code cellSysutilAvcExtSetChatGroup() +error_code cellSysutilAvcExtSetChatGroup(vm::ptr func, vm::ptr userdata, sys_memory_container_t container, + CellSysUtilAvcMediaType media, CellSysUtilAvcVideoQuality videoQuality, CellSysUtilAvcVoiceQuality voiceQuality, vm::ptr option, vm::ptr request_id) { - UNIMPLEMENTED_FUNC(cellSysutilAvcExt); + cellSysutilAvcExt.todo("cellSysutilAvcExtSetChatGroup(func=*0x%x, userdata=*0x%x, container=0x%x, media=0x%x, videoQuality=0x%x, voiceQuality=0x%x, option=*0x%x, request_id=*0x%x)", + func, userdata, container, +media, +videoQuality, +voiceQuality, option, request_id); return CELL_OK; } -error_code cellSysutilAvcExtGetWindowRotation() +error_code cellSysutilAvcExtGetWindowRotation(vm::ptr player_id, vm::ptr rotation_x, vm::ptr rotation_y, vm::ptr rotation_z) { - UNIMPLEMENTED_FUNC(cellSysutilAvcExt); + cellSysutilAvcExt.todo("cellSysutilAvcExtGetWindowRotation(player_id=*0x%x, rotation_x=*0x%x, rotation_y=*0x%x, rotation_z=*0x%x)", player_id, rotation_x, rotation_y, rotation_z); return CELL_OK; } error_code cellSysutilAvcExtStartMicDetection() { - UNIMPLEMENTED_FUNC(cellSysutilAvcExt); + cellSysutilAvcExt.todo("cellSysutilAvcExtStartMicDetection()"); return CELL_OK; } -error_code cellSysutilAvcExtGetWindowAlpha() +error_code cellSysutilAvcExtGetWindowAlpha(vm::ptr player_id, vm::ptr alpha) { - UNIMPLEMENTED_FUNC(cellSysutilAvcExt); + cellSysutilAvcExt.todo("cellSysutilAvcExtGetWindowAlpha(player_id=*0x%x, alpha=*0x%x)", player_id, alpha); return CELL_OK; } error_code cellSysutilAvcExtStartVoiceDetection() { - UNIMPLEMENTED_FUNC(cellSysutilAvcExt); + cellSysutilAvcExt.todo("cellSysutilAvcExtStartVoiceDetection()"); return CELL_OK; } -error_code cellSysutilAvcExtGetSurfacePointer() +error_code cellSysutilAvcExtGetSurfacePointer(vm::ptr player_id, vm::pptr surface_ptr, vm::ptr surface_size, vm::ptr surface_size_x, vm::ptr surface_size_y) { - UNIMPLEMENTED_FUNC(cellSysutilAvcExt); + cellSysutilAvcExt.todo("cellSysutilAvcExtGetSurfacePointer(player_id=*0x%x, surface_ptr=*0x%x, surface_size=*0x%x, surface_size_x=*0x%x, surface_size_y=*0x%x)", player_id, surface_ptr, surface_size, surface_size_x, surface_size_y); return CELL_OK; } error_code cellSysutilAvcExtStopMicDetection() { - UNIMPLEMENTED_FUNC(cellSysutilAvcExt); + cellSysutilAvcExt.todo("cellSysutilAvcExtStopMicDetection()"); return CELL_OK; } -error_code cellSysutilAvcExtInitOptionParam() +error_code cellSysutilAvcExtInitOptionParam(s64 avcOptionParamVersion, vm::ptr option) { - UNIMPLEMENTED_FUNC(cellSysutilAvcExt); + cellSysutilAvcExt.todo("cellSysutilAvcExtInitOptionParam(avcOptionParamVersion=0x%x, option=*0x%x)", avcOptionParamVersion, option); return CELL_OK; } -error_code cellSysutilAvcExtSetWindowZorder() +error_code cellSysutilAvcExtSetWindowZorder(vm::ptr player_id, u32 zorder) { - UNIMPLEMENTED_FUNC(cellSysutilAvcExt); + cellSysutilAvcExt.todo("cellSysutilAvcExtSetWindowZorder(player_id=*0x%x, zorder=0x%x)", player_id, zorder); return CELL_OK; } diff --git a/rpcs3/emucore.vcxproj b/rpcs3/emucore.vcxproj index b1e96181b5..7b46c57b9f 100644 --- a/rpcs3/emucore.vcxproj +++ b/rpcs3/emucore.vcxproj @@ -534,6 +534,7 @@ + diff --git a/rpcs3/emucore.vcxproj.filters b/rpcs3/emucore.vcxproj.filters index b2b5e82239..151028d85d 100644 --- a/rpcs3/emucore.vcxproj.filters +++ b/rpcs3/emucore.vcxproj.filters @@ -2575,6 +2575,9 @@ Emu\NP + + Emu\Cell\Modules +