From c267a04de4430dbaa70e5fac7f002b6265c019eb Mon Sep 17 00:00:00 2001 From: Robear Selwans Date: Wed, 2 Jun 2021 08:00:52 +0200 Subject: [PATCH] Added missing JSONLoader.{h,c} Signed-off-by: Robear Selwans --- src/loaders/JSONLoader/JSONLoader.c | 36 +++++++++++++++++++++++++++++ src/loaders/JSONLoader/JSONLoader.h | 13 +++++++++++ 2 files changed, 49 insertions(+) create mode 100644 src/loaders/JSONLoader/JSONLoader.c create mode 100644 src/loaders/JSONLoader/JSONLoader.h diff --git a/src/loaders/JSONLoader/JSONLoader.c b/src/loaders/JSONLoader/JSONLoader.c new file mode 100644 index 0000000..754d840 --- /dev/null +++ b/src/loaders/JSONLoader/JSONLoader.c @@ -0,0 +1,36 @@ +#include +#define TYPE_MODULE evmod_assets +#include +#include + +#include "../LoaderCommon.h" +#include "JSONLoader.h" + +JSONAsset +ev_jsonloader_loadasset( + AssetHandle handle) +{ + const Asset *asset = ev_asset_getfromhandle(handle); + JSONAsset inter = (JSONAsset) { + .json_data = evjs_init(), + }; + evjs_loadjson(inter.json_data, asset->data); + + ev_asset_markas(handle, LoaderData.assetType, &inter); + + return inter; +} + +void +ev_jsonloader_jsonasset_destr( + JSONAsset json) +{ + evjs_fini(json.json_data); +} + +void +ev_jsonloader_setassettype( + GenericHandle type) +{ + LoaderData.assetType = type; +} diff --git a/src/loaders/JSONLoader/JSONLoader.h b/src/loaders/JSONLoader/JSONLoader.h new file mode 100644 index 0000000..3fd1e62 --- /dev/null +++ b/src/loaders/JSONLoader/JSONLoader.h @@ -0,0 +1,13 @@ +#pragma once + +JSONAsset +ev_jsonloader_loadasset( + AssetHandle handle); + +void +ev_jsonloader_jsonasset_destr( + JSONAsset json); + +void +ev_jsonloader_setassettype( + GenericHandle type);