Stub cellSysutilAvc

This commit is contained in:
Megamouse 2024-09-06 09:45:05 +02:00
parent f285b0c053
commit 144ff82402
5 changed files with 282 additions and 88 deletions

View File

@ -1,65 +1,91 @@
#include "stdafx.h" #include "stdafx.h"
#include "Emu/Cell/PPUModule.h" #include "Emu/Cell/PPUModule.h"
#include "Emu/Cell/Modules/cellSysutilAvc.h"
LOG_CHANNEL(cellSysutil); LOG_CHANNEL(cellSysutil);
error_code cellSysutilAvcByeRequest() template<>
void fmt_class_string<CellAvcError>::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<CellSysutilAvcRequestId> request_id)
{
cellSysutil.todo("cellSysutilAvcByeRequest(request_id=*0x%x)", request_id);
return CELL_OK; return CELL_OK;
} }
error_code cellSysutilAvcCancelByeRequest() error_code cellSysutilAvcCancelByeRequest(vm::ptr<CellSysutilAvcRequestId> request_id)
{ {
cellSysutil.todo("cellSysutilAvcCancelByeRequest()"); cellSysutil.todo("cellSysutilAvcCancelByeRequest(request_id=*0x%x)", request_id);
return CELL_OK; return CELL_OK;
} }
error_code cellSysutilAvcCancelJoinRequest() error_code cellSysutilAvcCancelJoinRequest(vm::ptr<CellSysutilAvcRequestId> request_id)
{ {
cellSysutil.todo("cellSysutilAvcCancelJoinRequest()"); cellSysutil.todo("cellSysutilAvcCancelJoinRequest(request_id=*0x%x)", request_id);
return CELL_OK; return CELL_OK;
} }
error_code cellSysutilAvcEnumPlayers() error_code cellSysutilAvcEnumPlayers(vm::ptr<SceNpId> players_id, vm::ptr<s32> players_num)
{ {
cellSysutil.todo("cellSysutilAvcEnumPlayers()"); cellSysutil.todo("cellSysutilAvcEnumPlayers(players_id=*0x%x, players_num=*0x%x)", players_id, players_num);
return CELL_OK; return CELL_OK;
} }
error_code cellSysutilAvcGetAttribute() error_code cellSysutilAvcGetAttribute(CellSysUtilAvcAttribute attr_id, vm::pptr<void> param)
{ {
cellSysutil.todo("cellSysutilAvcGetAttribute()"); cellSysutil.todo("cellSysutilAvcGetAttribute(attr_id=0x%x, param=*0x%x)", +attr_id, param);
return CELL_OK; return CELL_OK;
} }
error_code cellSysutilAvcGetLayoutMode() error_code cellSysutilAvcGetLayoutMode(vm::ptr<CellSysutilAvcLayoutMode> layout)
{ {
cellSysutil.todo("cellSysutilAvcGetLayoutMode()"); cellSysutil.todo("cellSysutilAvcGetLayoutMode(layout=*0x%x)", layout);
return CELL_OK; return CELL_OK;
} }
error_code cellSysutilAvcGetShowStatus() error_code cellSysutilAvcGetShowStatus(vm::ptr<b8> is_visible)
{ {
cellSysutil.todo("cellSysutilAvcGetShowStatus()"); cellSysutil.todo("cellSysutilAvcGetShowStatus(is_visible=*0x%x)", is_visible);
return CELL_OK; return CELL_OK;
} }
error_code cellSysutilAvcGetSpeakerVolumeLevel() error_code cellSysutilAvcGetSpeakerVolumeLevel(vm::ptr<s32> volumeLevel)
{ {
cellSysutil.todo("cellSysutilAvcGetSpeakerVolumeLevel()"); cellSysutil.todo("cellSysutilAvcGetSpeakerVolumeLevel(volumeLevel=*0x%x)", volumeLevel);
return CELL_OK; return CELL_OK;
} }
error_code cellSysutilAvcGetVideoMuting() error_code cellSysutilAvcGetVideoMuting(vm::ptr<b8> is_muting)
{ {
cellSysutil.todo("cellSysutilAvcGetVideoMuting()"); cellSysutil.todo("cellSysutilAvcGetVideoMuting(is_muting=*0x%x)", is_muting);
return CELL_OK; return CELL_OK;
} }
error_code cellSysutilAvcGetVoiceMuting() error_code cellSysutilAvcGetVoiceMuting(vm::ptr<b8> is_muting)
{ {
cellSysutil.todo("cellSysutilAvcGetVoiceMuting()"); cellSysutil.todo("cellSysutilAvcGetVoiceMuting(is_muting=*0x%x)", is_muting);
return CELL_OK; return CELL_OK;
} }
@ -69,45 +95,47 @@ error_code cellSysutilAvcHidePanel()
return CELL_OK; return CELL_OK;
} }
error_code cellSysutilAvcJoinRequest() error_code cellSysutilAvcJoinRequest(u32 ctx_id, vm::cptr<SceNpRoomId> room_id, vm::ptr<CellSysutilAvcRequestId> 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; return CELL_OK;
} }
error_code cellSysutilAvcLoadAsync() error_code cellSysutilAvcLoadAsync(vm::ptr<CellSysutilAvcCallback> func, vm::ptr<void> userdata, sys_memory_container_t container,
CellSysUtilAvcMediaType media, CellSysUtilAvcVideoQuality videoQuality, CellSysUtilAvcVoiceQuality voiceQuality, vm::ptr<CellSysutilAvcRequestId> 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; return CELL_OK;
} }
error_code cellSysutilAvcSetAttribute() error_code cellSysutilAvcSetAttribute(CellSysUtilAvcAttribute attr_id, vm::ptr<void> param)
{ {
cellSysutil.todo("cellSysutilAvcSetAttribute()"); cellSysutil.todo("cellSysutilAvcSetAttribute(attr_id=0x%x, param=*0x%x)", +attr_id, param);
return CELL_OK; return CELL_OK;
} }
error_code cellSysutilAvcSetLayoutMode() error_code cellSysutilAvcSetLayoutMode(CellSysutilAvcLayoutMode layout)
{ {
cellSysutil.todo("cellSysutilAvcSetLayoutMode()"); cellSysutil.todo("cellSysutilAvcSetLayoutMode(layout=0x%x)", +layout);
return CELL_OK; return CELL_OK;
} }
error_code cellSysutilAvcSetSpeakerVolumeLevel() error_code cellSysutilAvcSetSpeakerVolumeLevel(s32 volumeLevel)
{ {
cellSysutil.todo("cellSysutilAvcSetSpeakerVolumeLevel()"); cellSysutil.todo("cellSysutilAvcSetSpeakerVolumeLevel(volumeLevel=%d)", volumeLevel);
return CELL_OK; 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; 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; return CELL_OK;
} }
@ -117,9 +145,9 @@ error_code cellSysutilAvcShowPanel()
return CELL_OK; return CELL_OK;
} }
error_code cellSysutilAvcUnloadAsync() error_code cellSysutilAvcUnloadAsync(vm::ptr<CellSysutilAvcRequestId> request_id)
{ {
cellSysutil.todo("cellSysutilAvcUnloadAsync()"); cellSysutil.todo("cellSysutilAvcUnloadAsync(request_id=*0x%x)", request_id);
return CELL_OK; return CELL_OK;
} }

View File

@ -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<s64> avcOptionParamVersion;
b8 sharingVideoBuffer;
be_t<s64> maxPlayers; // Not in FW 1.70
};
struct CellSysutilAvcVoiceDetectData
{
SceNpId npid;
be_t<s32> data;
};
typedef u32 CellSysutilAvcRequestId;
using CellSysutilAvcCallback = void(CellSysutilAvcRequestId request_id, CellSysutilAvcEvent event_id, CellSysUtilAvcEventParam event_param, vm::ptr<void> userdata);

View File

@ -1,185 +1,192 @@
#include "stdafx.h" #include "stdafx.h"
#include "Emu/Cell/PPUModule.h" #include "Emu/Cell/PPUModule.h"
#include "Emu/Cell/Modules/cellSysutilAvc.h"
LOG_CHANNEL(cellSysutilAvcExt); LOG_CHANNEL(cellSysutilAvcExt);
error_code cellSysutilAvcExtIsMicAttached() error_code cellSysutilAvcExtIsMicAttached(vm::ptr<s32> status)
{ {
UNIMPLEMENTED_FUNC(cellSysutilAvcExt); cellSysutilAvcExt.todo("cellSysutilAvcExtIsMicAttached(status=*0x%x)", status);
return CELL_OK; return CELL_OK;
} }
error_code cellSysutilAvcExtStopCameraDetection() error_code cellSysutilAvcExtStopCameraDetection()
{ {
UNIMPLEMENTED_FUNC(cellSysutilAvcExt); cellSysutilAvcExt.todo("cellSysutilAvcExtStopCameraDetection()");
return CELL_OK; return CELL_OK;
} }
error_code cellSysutilAvcExtSetWindowRotation() error_code cellSysutilAvcExtSetWindowRotation(vm::ptr<SceNpId> 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; return CELL_OK;
} }
error_code cellSysutilAvcExtGetWindowPosition() error_code cellSysutilAvcExtGetWindowPosition(vm::ptr<SceNpId> player_id, vm::ptr<f32> position_x, vm::ptr<f32> position_y, vm::ptr<f32> 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; return CELL_OK;
} }
error_code cellSysutilAvcExtSetHideNamePlate() error_code cellSysutilAvcExtSetHideNamePlate()
{ {
UNIMPLEMENTED_FUNC(cellSysutilAvcExt); cellSysutilAvcExt.todo("cellSysutilAvcExtSetHideNamePlate()");
return CELL_OK; return CELL_OK;
} }
error_code cellSysutilAvcExtSetWindowPosition() error_code cellSysutilAvcExtSetWindowPosition(vm::ptr<SceNpId> 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; return CELL_OK;
} }
error_code cellSysutilAvcExtGetWindowSize() error_code cellSysutilAvcExtGetWindowSize(vm::ptr<SceNpId> player_id, vm::ptr<f32> size_x, vm::ptr<f32> 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; return CELL_OK;
} }
error_code cellSysutilAvcExtStartCameraDetection() error_code cellSysutilAvcExtStartCameraDetection()
{ {
UNIMPLEMENTED_FUNC(cellSysutilAvcExt); cellSysutilAvcExt.todo("cellSysutilAvcExtStartCameraDetection()");
return CELL_OK; return CELL_OK;
} }
error_code cellSysutilAvcExtGetWindowShowStatus() error_code cellSysutilAvcExtGetWindowShowStatus(vm::ptr<SceNpId> player_id, vm::ptr<b8> is_visible)
{ {
UNIMPLEMENTED_FUNC(cellSysutilAvcExt); cellSysutilAvcExt.todo("cellSysutilAvcExtGetWindowShowStatus(player_id=*0x%x, is_visible=*0x%x)", player_id, is_visible);
return CELL_OK; return CELL_OK;
} }
error_code cellSysutilAvcExtSetChatMode() error_code cellSysutilAvcExtSetChatMode(vm::ptr<CellSysutilAvcCallback> func, vm::ptr<void> userdata, sys_memory_container_t container,
CellSysUtilAvcMediaType media, CellSysUtilAvcVideoQuality videoQuality, CellSysUtilAvcVoiceQuality voiceQuality, vm::ptr<CellSysutilAvcOptionParam> option, vm::ptr<CellSysutilAvcRequestId> 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; return CELL_OK;
} }
error_code cellSysutilAvcExtGetNamePlateShowStatus() error_code cellSysutilAvcExtGetNamePlateShowStatus(vm::ptr<b8> is_visible)
{ {
UNIMPLEMENTED_FUNC(cellSysutilAvcExt); cellSysutilAvcExt.todo("cellSysutilAvcExtGetNamePlateShowStatus(is_visible=*0x%x)", is_visible);
return CELL_OK; return CELL_OK;
} }
error_code cellSysutilAvcExtSetWindowAlpha() error_code cellSysutilAvcExtSetWindowAlpha(vm::ptr<SceNpId> 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; return CELL_OK;
} }
error_code cellSysutilAvcExtSetWindowSize() error_code cellSysutilAvcExtSetWindowSize(vm::ptr<SceNpId> 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; 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; return CELL_OK;
} }
error_code cellSysutilAvcExtLoadAsyncEx() error_code cellSysutilAvcExtLoadAsyncEx(vm::ptr<CellSysutilAvcCallback> func, vm::ptr<void> userdata, sys_memory_container_t container,
CellSysUtilAvcMediaType media, CellSysUtilAvcVideoQuality videoQuality, CellSysUtilAvcVoiceQuality voiceQuality, vm::ptr<CellSysutilAvcOptionParam> option, vm::ptr<CellSysutilAvcRequestId> 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; return CELL_OK;
} }
error_code cellSysutilAvcExtSetShowNamePlate() error_code cellSysutilAvcExtSetShowNamePlate()
{ {
UNIMPLEMENTED_FUNC(cellSysutilAvcExt); cellSysutilAvcExt.todo("cellSysutilAvcExtSetShowNamePlate()");
return CELL_OK; return CELL_OK;
} }
error_code cellSysutilAvcExtStopVoiceDetection() error_code cellSysutilAvcExtStopVoiceDetection()
{ {
UNIMPLEMENTED_FUNC(cellSysutilAvcExt); cellSysutilAvcExt.todo("cellSysutilAvcExtStopVoiceDetection()");
return CELL_OK; return CELL_OK;
} }
error_code cellSysutilAvcExtShowWindow() error_code cellSysutilAvcExtShowWindow(vm::ptr<SceNpId> 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; return CELL_OK;
} }
error_code cellSysutilAvcExtIsCameraAttached() error_code cellSysutilAvcExtIsCameraAttached(vm::ptr<s32> status)
{ {
UNIMPLEMENTED_FUNC(cellSysutilAvcExt); cellSysutilAvcExt.todo("cellSysutilAvcExtIsCameraAttached(status=*0x%x)", status);
return CELL_OK; 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; return CELL_OK;
} }
error_code cellSysutilAvcExtHideWindow() error_code cellSysutilAvcExtHideWindow(vm::ptr<SceNpId> 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; return CELL_OK;
} }
error_code cellSysutilAvcExtSetChatGroup() error_code cellSysutilAvcExtSetChatGroup(vm::ptr<CellSysutilAvcCallback> func, vm::ptr<void> userdata, sys_memory_container_t container,
CellSysUtilAvcMediaType media, CellSysUtilAvcVideoQuality videoQuality, CellSysUtilAvcVoiceQuality voiceQuality, vm::ptr<CellSysutilAvcOptionParam> option, vm::ptr<CellSysutilAvcRequestId> 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; return CELL_OK;
} }
error_code cellSysutilAvcExtGetWindowRotation() error_code cellSysutilAvcExtGetWindowRotation(vm::ptr<SceNpId> player_id, vm::ptr<f32> rotation_x, vm::ptr<f32> rotation_y, vm::ptr<f32> 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; return CELL_OK;
} }
error_code cellSysutilAvcExtStartMicDetection() error_code cellSysutilAvcExtStartMicDetection()
{ {
UNIMPLEMENTED_FUNC(cellSysutilAvcExt); cellSysutilAvcExt.todo("cellSysutilAvcExtStartMicDetection()");
return CELL_OK; return CELL_OK;
} }
error_code cellSysutilAvcExtGetWindowAlpha() error_code cellSysutilAvcExtGetWindowAlpha(vm::ptr<SceNpId> player_id, vm::ptr<f32> alpha)
{ {
UNIMPLEMENTED_FUNC(cellSysutilAvcExt); cellSysutilAvcExt.todo("cellSysutilAvcExtGetWindowAlpha(player_id=*0x%x, alpha=*0x%x)", player_id, alpha);
return CELL_OK; return CELL_OK;
} }
error_code cellSysutilAvcExtStartVoiceDetection() error_code cellSysutilAvcExtStartVoiceDetection()
{ {
UNIMPLEMENTED_FUNC(cellSysutilAvcExt); cellSysutilAvcExt.todo("cellSysutilAvcExtStartVoiceDetection()");
return CELL_OK; return CELL_OK;
} }
error_code cellSysutilAvcExtGetSurfacePointer() error_code cellSysutilAvcExtGetSurfacePointer(vm::ptr<SceNpId> player_id, vm::pptr<void> surface_ptr, vm::ptr<s32> surface_size, vm::ptr<s32> surface_size_x, vm::ptr<s32> 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; return CELL_OK;
} }
error_code cellSysutilAvcExtStopMicDetection() error_code cellSysutilAvcExtStopMicDetection()
{ {
UNIMPLEMENTED_FUNC(cellSysutilAvcExt); cellSysutilAvcExt.todo("cellSysutilAvcExtStopMicDetection()");
return CELL_OK; return CELL_OK;
} }
error_code cellSysutilAvcExtInitOptionParam() error_code cellSysutilAvcExtInitOptionParam(s64 avcOptionParamVersion, vm::ptr<CellSysutilAvcOptionParam> option)
{ {
UNIMPLEMENTED_FUNC(cellSysutilAvcExt); cellSysutilAvcExt.todo("cellSysutilAvcExtInitOptionParam(avcOptionParamVersion=0x%x, option=*0x%x)", avcOptionParamVersion, option);
return CELL_OK; return CELL_OK;
} }
error_code cellSysutilAvcExtSetWindowZorder() error_code cellSysutilAvcExtSetWindowZorder(vm::ptr<SceNpId> player_id, u32 zorder)
{ {
UNIMPLEMENTED_FUNC(cellSysutilAvcExt); cellSysutilAvcExt.todo("cellSysutilAvcExtSetWindowZorder(player_id=*0x%x, zorder=0x%x)", player_id, zorder);
return CELL_OK; return CELL_OK;
} }

View File

@ -534,6 +534,7 @@
<ClInclude Include="Emu\Cell\Modules\cellRemotePlay.h" /> <ClInclude Include="Emu\Cell\Modules\cellRemotePlay.h" />
<ClInclude Include="Emu\Cell\Modules\cellSsl.h" /> <ClInclude Include="Emu\Cell\Modules\cellSsl.h" />
<ClInclude Include="Emu\Cell\Modules\cellStorage.h" /> <ClInclude Include="Emu\Cell\Modules\cellStorage.h" />
<ClInclude Include="Emu\Cell\Modules\cellSysutilAvc.h" />
<ClInclude Include="Emu\Cell\Modules\libfs_utility_init.h" /> <ClInclude Include="Emu\Cell\Modules\libfs_utility_init.h" />
<ClInclude Include="Emu\Cell\Modules\sys_crashdump.h" /> <ClInclude Include="Emu\Cell\Modules\sys_crashdump.h" />
<ClInclude Include="Emu\config_mode.h" /> <ClInclude Include="Emu\config_mode.h" />

View File

@ -2575,6 +2575,9 @@
<ClInclude Include="Emu\NP\rpcn_countries.h"> <ClInclude Include="Emu\NP\rpcn_countries.h">
<Filter>Emu\NP</Filter> <Filter>Emu\NP</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="Emu\Cell\Modules\cellSysutilAvc.h">
<Filter>Emu\Cell\Modules</Filter>
</ClInclude>
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<None Include="Emu\RSX\Program\GLSLSnippets\GPUDeswizzle.glsl"> <None Include="Emu\RSX\Program\GLSLSnippets\GPUDeswizzle.glsl">