-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathassetmanager.h
More file actions
77 lines (66 loc) · 1.58 KB
/
assetmanager.h
File metadata and controls
77 lines (66 loc) · 1.58 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
#ifndef __ASSETMANAGER_H__
#define __ASSETMANAGER_H__
#include "vulkan/vulkan.h"
#include "model/bmodel.h"
#include "audio/audio.h"
typedef enum
{
TEXTURE_ASTEROID1=0, TEXTURE_ASTEROID1_NORMAL,
TEXTURE_ASTEROID2, TEXTURE_ASTEROID2_NORMAL,
TEXTURE_ASTEROID3, TEXTURE_ASTEROID3_NORMAL,
TEXTURE_ASTEROID4, TEXTURE_ASTEROID4_NORMAL,
TEXTURE_CROSSHAIR,
TEXTURE_FIGHTER1, TEXTURE_FIGHTER1_NORMAL,
TEXTURE_FIGHTER2, TEXTURE_FIGHTER2_NORMAL,
TEXTURE_FIGHTER3, TEXTURE_FIGHTER3_NORMAL,
TEXTURE_FIGHTER4, TEXTURE_FIGHTER4_NORMAL,
TEXTURE_FIGHTER5, TEXTURE_FIGHTER5_NORMAL,
TEXTURE_FIGHTER6, TEXTURE_FIGHTER6_NORMAL,
TEXTURE_FIGHTER7, TEXTURE_FIGHTER7_NORMAL,
TEXTURE_FIGHTER8, TEXTURE_FIGHTER8_NORMAL,
TEXTURE_CUBE, TEXTURE_CUBE_NORMAL,
TEXTURE_CONSOLEBG,
TEXTURE_FOX,
MODEL_ASTEROID1,
MODEL_ASTEROID2,
MODEL_ASTEROID3,
MODEL_ASTEROID4,
MODEL_FIGHTER,
MODEL_CUBE,
SOUND_PEW1,
SOUND_PEW2,
SOUND_PEW3,
SOUND_STONE1,
SOUND_STONE2,
SOUND_STONE3,
SOUND_CRASH,
SOUND_EXPLODE1,
SOUND_EXPLODE2,
SOUND_EXPLODE3,
NUM_ASSETS
} AssetIDs;
typedef enum
{
ASSET_TEXTURE=0,
ASSET_MODEL,
ASSET_SOUND,
NUM_ASSETTYPE
} AssetType;
typedef struct
{
uint32_t index;
AssetType type;
const char *filename;
uint32_t flags;
union
{
VkuImage_t image;
BModel_t model;
Sample_t sound;
};
} AssetManager_t;
extern AssetManager_t assets[];
AssetManager_t *AssetManager_GetAsset(AssetManager_t *assets, uint32_t ID);
bool AssetManagerLoad(AssetManager_t *assets, uint32_t numAssets);
void AssetManagerDestroy(AssetManager_t *assets, uint32_t numAssets);
#endif