KrDataBlock::Append(std::string) now correctly handles null termination in output KRDataBlock when used multiple times. Implemented KrGetResourceData API call. KrCompileAllShaders now outputs shader compilation logs as a KRResource. kraken_convert now outputs shader compile logs when failure occurs.

This commit is contained in:
2020-08-09 20:34:21 -07:00
parent eefa3718ef
commit 2b0482e1c6
8 changed files with 111 additions and 9 deletions

View File

@@ -64,6 +64,7 @@ typedef enum {
KR_STRUCTURE_TYPE_LOAD_RESOURCE = 0x00010000,
KR_STRUCTURE_TYPE_UNLOAD_RESOURCE,
KR_STRUCTURE_TYPE_GET_RESOURCE_DATA,
KR_STRUCTURE_TYPE_SAVE_RESOURCE,
KR_STRUCTURE_TYPE_MAP_RESOURCE,
KR_STRUCTURE_TYPE_UNMAP_RESOURCE,
@@ -139,6 +140,19 @@ typedef struct {
KrResourceMapIndex resourceHandle;
} KrUnloadResourceInfo;
typedef struct {
KrStructureType sType;
KrResourceMapIndex resourceHandle;
} KrGetResourceDataInfo;
typedef struct {
KrResult result;
void* data;
size_t length;
} KrGetResourceDataResult;
typedef void (*KrGetResourceDataCallback)(const KrGetResourceDataResult&);
typedef struct {
KrStructureType sType;
const char* pResourceName;
@@ -396,6 +410,7 @@ KrResult KrDeleteWindowSurface(const KrDeleteWindowSurfaceInfo* pDeleteWindowSur
KrResult KrLoadResource(const KrLoadResourceInfo* pLoadResourceInfo);
KrResult KrUnloadResource(const KrUnloadResourceInfo* pUnloadResourceInfo);
KrResult KrGetResourceData(const KrGetResourceDataInfo* pGetResourceDataInfo, KrGetResourceDataCallback callback);
KrResult KrSaveResource(const KrSaveResourceInfo* pSaveResourceInfo);
KrResult KrMapResource(const KrMapResourceInfo* pMapResourceInfo);
KrResult KrUnmapResource(const KrUnmapResourceInfo* pUnmapResourceInfo);