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 "Emu/Cell/PPUModule.h"
#include "Emu/Cell/Modules/cellSysutilAvc.h"
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;
}
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;
}
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;
}
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;
}
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;
}
error_code cellSysutilAvcGetLayoutMode()
error_code cellSysutilAvcGetLayoutMode(vm::ptr<CellSysutilAvcLayoutMode> layout)
{
cellSysutil.todo("cellSysutilAvcGetLayoutMode()");
cellSysutil.todo("cellSysutilAvcGetLayoutMode(layout=*0x%x)", layout);
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;
}
error_code cellSysutilAvcGetSpeakerVolumeLevel()
error_code cellSysutilAvcGetSpeakerVolumeLevel(vm::ptr<s32> volumeLevel)
{
cellSysutil.todo("cellSysutilAvcGetSpeakerVolumeLevel()");
cellSysutil.todo("cellSysutilAvcGetSpeakerVolumeLevel(volumeLevel=*0x%x)", volumeLevel);
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;
}
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;
}
@ -69,45 +95,47 @@ error_code cellSysutilAvcHidePanel()
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;
}
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;
}
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;
}
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<CellSysutilAvcRequestId> request_id)
{
cellSysutil.todo("cellSysutilAvcUnloadAsync()");
cellSysutil.todo("cellSysutilAvcUnloadAsync(request_id=*0x%x)", request_id);
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 "Emu/Cell/PPUModule.h"
#include "Emu/Cell/Modules/cellSysutilAvc.h"
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;
}
error_code cellSysutilAvcExtStopCameraDetection()
{
UNIMPLEMENTED_FUNC(cellSysutilAvcExt);
cellSysutilAvcExt.todo("cellSysutilAvcExtStopCameraDetection()");
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;
}
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;
}
error_code cellSysutilAvcExtSetHideNamePlate()
{
UNIMPLEMENTED_FUNC(cellSysutilAvcExt);
cellSysutilAvcExt.todo("cellSysutilAvcExtSetHideNamePlate()");
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;
}
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;
}
error_code cellSysutilAvcExtStartCameraDetection()
{
UNIMPLEMENTED_FUNC(cellSysutilAvcExt);
cellSysutilAvcExt.todo("cellSysutilAvcExtStartCameraDetection()");
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;
}
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;
}
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;
}
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;
}
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;
}
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<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;
}
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<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;
}
error_code cellSysutilAvcExtIsCameraAttached()
error_code cellSysutilAvcExtIsCameraAttached(vm::ptr<s32> 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<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;
}
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;
}
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;
}
error_code cellSysutilAvcExtStartMicDetection()
{
UNIMPLEMENTED_FUNC(cellSysutilAvcExt);
cellSysutilAvcExt.todo("cellSysutilAvcExtStartMicDetection()");
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;
}
error_code cellSysutilAvcExtStartVoiceDetection()
{
UNIMPLEMENTED_FUNC(cellSysutilAvcExt);
cellSysutilAvcExt.todo("cellSysutilAvcExtStartVoiceDetection()");
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;
}
error_code cellSysutilAvcExtStopMicDetection()
{
UNIMPLEMENTED_FUNC(cellSysutilAvcExt);
cellSysutilAvcExt.todo("cellSysutilAvcExtStopMicDetection()");
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;
}
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;
}

View File

@ -534,6 +534,7 @@
<ClInclude Include="Emu\Cell\Modules\cellRemotePlay.h" />
<ClInclude Include="Emu\Cell\Modules\cellSsl.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\sys_crashdump.h" />
<ClInclude Include="Emu\config_mode.h" />

View File

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