ZoneCode: Add Action on loading a GfxImage to set the loadedSize property to 0 to indicate Texture data has not yet been loaded

This commit is contained in:
Jan 2020-02-06 21:26:34 +01:00
parent 75f6caab54
commit 55d5746650
4 changed files with 12 additions and 0 deletions

View File

@ -363,6 +363,7 @@ set reusable u::literalConst;
// GfxImage
// =========================================
use GfxImage;
set action OnImageLoaded(GfxImage);
set string name;
set name name;
set condition pixels never;

View File

@ -206,6 +206,10 @@ void $LoaderClassName(context.Asset)$::LoadPtr_$structure.Type.Name$(const bool
Load_$structure.Type.Name$(true);
$endif$
$if(structure.PostLoadAction)$
$CustomAction(structure.PostLoadAction)$
$endif$
$if(structure.IsAsset)$
LoadAsset_$structure.Type.Name$($TypePtrVarName(structure.Type)$);
$endif$

View File

@ -1,10 +1,16 @@
#include "gfximage_actions.h"
#include <cassert>
Actions_GfxImage::Actions_GfxImage(Zone* zone)
: AssetLoadingActions(zone)
{
}
void Actions_GfxImage::OnImageLoaded(T6::GfxImage* image) const
{
image->loadedSize = 0;
}
void Actions_GfxImage::LoadImageData(T6::GfxImageLoadDef* loadDef, T6::GfxImage* image) const
{
if(loadDef->resourceSize > 0)

View File

@ -8,5 +8,6 @@ class Actions_GfxImage final : public AssetLoadingActions
public:
explicit Actions_GfxImage(Zone* zone);
void OnImageLoaded(T6::GfxImage* image) const;
void LoadImageData(T6::GfxImageLoadDef* loadDef, T6::GfxImage* image) const;
};