[hle] Add missing service exports

This commit is contained in:
ParantezTech
2026-06-21 23:18:55 +03:00
parent 5512da9e12
commit 5afa5e1ffa
10 changed files with 591 additions and 0 deletions
@@ -0,0 +1,38 @@
// Copyright (C) 2026 SharpEmu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later
using System.Threading;
using SharpEmu.HLE;
namespace SharpEmu.Libs.CommonDialog;
public static class CommonDialogExports
{
private const int AlreadySystemInitialized = unchecked((int)0x80B80002);
private static int _initialized;
[SysAbiExport(
Nid = "uoUpLGNkygk",
ExportName = "sceCommonDialogInitialize",
Target = Generation.Gen4 | Generation.Gen5,
LibraryName = "libSceCommonDialog")]
public static int CommonDialogInitialize(CpuContext ctx)
{
var result = Interlocked.Exchange(ref _initialized, 1) == 0
? 0
: AlreadySystemInitialized;
ctx[CpuRegister.Rax] = unchecked((ulong)result);
return result;
}
[SysAbiExport(
Nid = "BQ3tey0JmQM",
ExportName = "sceCommonDialogIsUsed",
Target = Generation.Gen4 | Generation.Gen5,
LibraryName = "libSceCommonDialog")]
public static int CommonDialogIsUsed(CpuContext ctx)
{
ctx[CpuRegister.Rax] = 0;
return (int)OrbisGen2Result.ORBIS_GEN2_OK;
}
}