This commit is contained in:
2025-11-07 19:19:17 -06:00
parent 1ce1fdff8d
commit 12c1fb6000
11 changed files with 149 additions and 3 deletions

View File

@@ -16,9 +16,14 @@ typedef enum {
ASSET_TYPE_COUNT,
} assettype_t;
typedef enum {
ASSET_LOAD_STRAT_ENTIRE,
} assetloadstrat_t;
typedef struct {
const char_t *header;
const size_t dataSize;
const assetloadstrat_t loadStrategy;
errorret_t (*load)(void *data, void *output);
} assettypedef_t;
@@ -29,12 +34,14 @@ static const assettypedef_t ASSET_TYPE_DEFINITIONS[ASSET_TYPE_COUNT] = {
[ASSET_TYPE_PALETTE_IMAGE] = {
.header = "DPI",
.loadStrategy = ASSET_LOAD_STRAT_ENTIRE,
.dataSize = sizeof(assetpaletteimage_t),
.load = assetPaletteImageLoad
},
[ASSET_TYPE_ALPHA_IMAGE] = {
.header = "DAI",
.loadStrategy = ASSET_LOAD_STRAT_ENTIRE,
.dataSize = sizeof(assetalphaimage_t),
.load = assetAlphaImageLoad
},

View File

@@ -0,0 +1,23 @@
/**
* Copyright (c) 2025 Dominic Masters
*
* This software is released under the MIT License.
* https://opensource.org/licenses/MIT
*/
#pragma once
#include "locale/language/keys.h"
#pragma pack(push, 1)
typedef struct {
uint32_t chunk;
uint32_t offset;
uint32_t length;
} assetlanguagestring_t;
#pragma pack(pop)
#pragma pack(push, 1)
typedef struct {
assetlanguagestring_t strings[LANG_KEY_COUNT];
} assetlanguageheader_t;
#pragma pack(pop)

View File

@@ -0,0 +1,18 @@
/**
* Copyright (c) 2025 Dominic Masters
*
* This software is released under the MIT License.
* https://opensource.org/licenses/MIT
*/
#pragma once
#include "dusk.h"
#define LANG_CHUNK_STRING_COUNT 64
#define LANG_CHUNK_STRING_MAX_LENGTH DUSK_LANG_STRING_MAX_LENGTH
#pragma pack(push, 1)
typedef struct {
char_t
} languagechunk_t;
#pragma pack(pop)

View File

@@ -74,7 +74,7 @@ int32_t stringFormatVA(
char_t *dest,
const size_t destSize,
const char_t *format,
const va_list args
va_list args
) {
assertNotNull(format, "format must not be NULL");

View File

@@ -97,7 +97,7 @@ int32_t stringFormatVA(
char_t *dest,
const size_t destSize,
const char_t *format,
const va_list args
va_list args
);
/**