Added asset manager into the game engine itself.
This commit is contained in:
@ -101,18 +101,4 @@ int32_t assetBufferSkip(assetbuffer_t *buffer, long n) {
|
||||
|
||||
size_t assetBufferGetCurrentPosition(assetbuffer_t *buffer) {
|
||||
return ftell((FILE *)buffer);
|
||||
}
|
||||
|
||||
void assetScripterAppend(scripter_t *scripter, char *fileName) {
|
||||
char *data;
|
||||
|
||||
data = assetStringLoad(fileName);
|
||||
duk_push_global_object(scripter->context);
|
||||
duk_push_lstring(scripter->context, data, strlen(data));
|
||||
|
||||
if(duk_peval(scripter->context) != 0) {
|
||||
printf("Error running: %s\n", duk_safe_to_string(scripter->context, -1));
|
||||
}
|
||||
|
||||
free(data);
|
||||
}
|
@ -10,7 +10,6 @@
|
||||
#include "../display/shader.h"
|
||||
#include "../display/texture.h"
|
||||
#include "../display/font.h"
|
||||
#include "../script/scripter.h"
|
||||
|
||||
#if !defined(ASSET_PREFIX)
|
||||
#error Asset Prefix has not been defined.
|
||||
@ -88,7 +87,4 @@ int32_t assetBufferSkip(assetbuffer_t *buffer, long n);
|
||||
* @param buffer Buffer to get the position of.
|
||||
* @return Position (in bytes) that the current seek is at.
|
||||
*/
|
||||
size_t assetBufferGetCurrentPosition(assetbuffer_t *buffer);
|
||||
|
||||
/** @deprecated */
|
||||
void assetScripterAppend(scripter_t *scripter, char *fileName);
|
||||
size_t assetBufferGetCurrentPosition(assetbuffer_t *buffer);
|
@ -109,6 +109,22 @@ void assetManagerDisposeReleased(assetmanager_t *man) {
|
||||
}
|
||||
}
|
||||
|
||||
void assetManagerDispose(assetmanager_t *man) {
|
||||
uint8_t i;
|
||||
assetmanagerloader_t *disp;
|
||||
assetmanageritem_t *item;
|
||||
|
||||
for(i = 0; i < man->itemCount; i++) {
|
||||
item = man->items + i;
|
||||
disp = ASSET_MANAGER_LOADERS[item->type].dispose;
|
||||
if(item->holderCount > 0) continue;
|
||||
if(disp != NULL) disp(item);
|
||||
}
|
||||
|
||||
man->itemCount = 0;
|
||||
man->holderCount = 0;
|
||||
}
|
||||
|
||||
// Thread Management
|
||||
void assetManagerStart(assetmanager_t *manager) {
|
||||
threadStart(&manager->thread);
|
||||
|
@ -129,6 +129,7 @@ float assetManagerProgressGet(assetmanager_t *manager);
|
||||
uint8_t assetManagerHolderCreate(assetmanager_t *man);
|
||||
void assetManagerHolderRelease(assetmanager_t *man, uint8_t hold);
|
||||
void assetManagerDisposeReleased(assetmanager_t *man);
|
||||
void assetManagerDispose(assetmanager_t *man);
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
|
Reference in New Issue
Block a user