From b691c43c44ff180d10e7d4a9afc83b98551ff586 Mon Sep 17 00:00:00 2001 From: daoge_cmd <3523206925@qq.com> Date: Sun, 1 Mar 2026 12:16:08 +0800 Subject: Initial commit --- .../Xbox/Sentient/Include/SenClientConfig.h | 116 +++++++++++++++++++++ 1 file changed, 116 insertions(+) create mode 100644 Minecraft.Client/Xbox/Sentient/Include/SenClientConfig.h (limited to 'Minecraft.Client/Xbox/Sentient/Include/SenClientConfig.h') diff --git a/Minecraft.Client/Xbox/Sentient/Include/SenClientConfig.h b/Minecraft.Client/Xbox/Sentient/Include/SenClientConfig.h new file mode 100644 index 00000000..81c2f3cc --- /dev/null +++ b/Minecraft.Client/Xbox/Sentient/Include/SenClientConfig.h @@ -0,0 +1,116 @@ +/******************************************************** +* * +* Copyright (C) Microsoft. All rights reserved. * +* * +********************************************************/ + +// Sentient Client ConfigFile API +// +// Include this to get access to all ConfigFile-related Sentient features. + +#pragma once + +#include "SenClientRawData.h" +#include "SenClientResource.h" +#include "SenClientSys.h" + + +namespace Sentient +{ + //==============================// + // // + // Game Config File Types // + // // + //==============================// + + /// @brief Basic config file information. + /// + /// @details This structure contains the original uploaded info plus any info implied by the raw data that was uploaded (e.g. data sizes). + /// + struct SenConfigInfo : public SenResourceInfo + { + SenRawDataTransferInfo config; ///< Points to a generic data block, whose format is determined by the game. + }; + + + //==================================// + // // + // Game Config File Functions // + // // + //==================================// + + /// @brief Find a config file by ID. + /// + /// @param[in] resourceID + /// Which config file to find, e.g. "SenResourceID_Config_0 + 4". + /// + /// @param[out] out_configInfo + /// The structure to fill in with the found information. + /// + /// @param[in] userCallback + /// If this call returns a success code, the userCallback will be called at the end of the asynchronous process. + /// + /// @param[in] userCallbackData + /// Data to be passed to the @a userCallback on completion. + /// + /// @return Check SUCCEEDED( hresult ) or FAILED( hresult ) to determine success. Specific values include: + /// SENTIENT_E_NOT_INITIALIZED: You did not call SentientInitialize() first. + /// E_POINTER: out_configInfo is NULL. + /// E_FAIL: Failed to spawn server call. + /// S_OK: Server call spawned successfully. + /// + /// @details Search the database for a specific config file at the current time. + /// + /// @deprecated This function is deprecated. Use SenDynamicConfigGetSize() instead + /// + /// @related SenConfigFileDownload() + /// + __declspec(deprecated("Use SenDynamicConfigGetSize() instead")) + HRESULT SenConfigFileFind( + SenResourceID resourceID, + SenConfigInfo *out_configInfo, + SenSysCompletedCallback userCallback, + void *userCallbackData ); + + /// @brief Download the raw config file data to the client. + /// + /// @param[in] configInfo + /// The info describing the attributes and data of the config file. + /// This is obtained from SenConfigFileFind(). + /// + /// @param[in] dataSizeMax + /// Used to indicate the size of the buffer pointed to by @a out_data. + /// If the actual size of the data exceeds this, you will receive an error. + /// It is assumed that this is at least @a configInfo.config.GetBufferSize() bytes. + /// + /// @param[out] out_data + /// The buffer to fill in with the raw image data. + /// + /// @param[in] userCallback + /// If this call returns a success code, the userCallback will be called at the end of the asynchronous process. + /// + /// @param[in] userCallbackData + /// Data to be passed to the @a userCallback on completion. + /// + /// @return Check SUCCEEDED( hresult ) or FAILED( hresult ) to determine success. Specific values include: + /// SENTIENT_E_NOT_INITIALIZED: You did not call SentientInitialize() first. + /// E_INVALIDARG: configInfo.resourceID or configInfo.config is invalid. + /// E_POINTER: out_data is NULL. + /// E_FAIL: Failed to spawn server call. + /// S_OK: Server call spawned successfully. + /// + /// @details The data format is determined entirely by the game code and is never examined or processed by Sentient. + /// + /// @deprecated This function is deprecated. Use SenDynamicConfigGetSize() instead + /// + /// @related SenConfigFileFind() + /// + __declspec(deprecated("Use SenDynamicConfigGetBytes() instead")) + HRESULT SenConfigFileDownload( + const SenConfigInfo &configInfo, + size_t dataSizeMax, + void *out_data, + SenSysCompletedCallback userCallback, + void *userCallbackData ); + +} // namespace Sentient -- cgit v1.2.3