diff --git a/src/common/logging/filter.cpp b/src/common/logging/filter.cpp index 166ffd06..bca23188 100644 --- a/src/common/logging/filter.cpp +++ b/src/common/logging/filter.cpp @@ -101,7 +101,7 @@ bool ParseFilterRule(Filter& instance, Iterator begin, Iterator end) { SUB(Lib, NpTrophy) \ SUB(Lib, Screenshot) \ SUB(Lib, LibCInternal) \ - SUB(Lib, LibRtc) \ + SUB(Lib, Rtc) \ CLS(Frontend) \ CLS(Render) \ SUB(Render, Vulkan) \ diff --git a/src/core/libraries/rtc/rtc.cpp b/src/core/libraries/rtc/rtc.cpp index b1c1e515..6bf6a91b 100644 --- a/src/core/libraries/rtc/rtc.cpp +++ b/src/core/libraries/rtc/rtc.cpp @@ -2,6 +2,7 @@ // SPDX-License-Identifier: GPL-2.0-or-later // Generated By moduleGenerator +#include #include "common/logging/log.h" #include "core/libraries/error_codes.h" #include "core/libraries/libs.h" @@ -94,8 +95,10 @@ int PS4_SYSV_ABI sceRtcGetCurrentRawNetworkTick() { return ORBIS_OK; } -int PS4_SYSV_ABI sceRtcGetCurrentTick() { - LOG_ERROR(Lib_Rtc, "(STUBBED) called"); +int PS4_SYSV_ABI sceRtcGetCurrentTick(OrbisRtcTick* pTick) { + pTick->tick = std::chrono::duration_cast( + std::chrono::high_resolution_clock::now().time_since_epoch()) + .count(); return ORBIS_OK; } diff --git a/src/core/libraries/rtc/rtc.h b/src/core/libraries/rtc/rtc.h index 74fc760e..ee6afa70 100644 --- a/src/core/libraries/rtc/rtc.h +++ b/src/core/libraries/rtc/rtc.h @@ -11,6 +11,10 @@ class SymbolsResolver; namespace Libraries::Rtc { +struct OrbisRtcTick { + u64 tick; +}; + int PS4_SYSV_ABI sceRtcCheckValid(); int PS4_SYSV_ABI sceRtcCompareTick(); int PS4_SYSV_ABI sceRtcConvertLocalTimeToUtc(); @@ -28,7 +32,7 @@ int PS4_SYSV_ABI sceRtcGetCurrentClockLocalTime(); int PS4_SYSV_ABI sceRtcGetCurrentDebugNetworkTick(); int PS4_SYSV_ABI sceRtcGetCurrentNetworkTick(); int PS4_SYSV_ABI sceRtcGetCurrentRawNetworkTick(); -int PS4_SYSV_ABI sceRtcGetCurrentTick(); +int PS4_SYSV_ABI sceRtcGetCurrentTick(OrbisRtcTick* pTick); int PS4_SYSV_ABI sceRtcGetDayOfWeek(); int PS4_SYSV_ABI sceRtcGetDaysInMonth(); int PS4_SYSV_ABI sceRtcGetDosTime();