[IGfxImage] Fix non-streamed image loading
This commit is contained in:
parent
9130a57465
commit
e5e164e9b5
@ -7,7 +7,7 @@ namespace Assets
|
||||
void IGfxImage::load(Game::XAssetHeader* header, std::string name, Components::ZoneBuilder::Zone* builder)
|
||||
{
|
||||
Game::GfxImage* image = Game::DB_FindXAssetHeader(Game::XAssetType::ASSET_TYPE_IMAGE, name.data()).image;
|
||||
if (image) return;
|
||||
if (image && name[0] != '*') return;
|
||||
|
||||
image = builder->getAllocator()->allocate<Game::GfxImage>();
|
||||
if (!image)
|
||||
@ -43,6 +43,12 @@ namespace Assets
|
||||
image->dataLen2 = image->dataLen1;
|
||||
|
||||
image->loadDef = reinterpret_cast<Game::GfxImageLoadDef*>(reader.readArray<char>(image->dataLen1 + 16));
|
||||
|
||||
image->height = image->loadDef->dimensions[0];
|
||||
image->width = image->loadDef->dimensions[1];
|
||||
image->depth = image->loadDef->dimensions[2];
|
||||
|
||||
image->loaded = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -81,6 +87,10 @@ namespace Assets
|
||||
image->loadDef->flags = 0;
|
||||
image->loadDef->levelCount = 0;
|
||||
|
||||
image->height = image->loadDef->dimensions[0];
|
||||
image->width = image->loadDef->dimensions[1];
|
||||
image->depth = image->loadDef->dimensions[2];
|
||||
|
||||
switch (iwiHeader->format)
|
||||
{
|
||||
case Game::IWI_COMPRESSION::IWI_ARGB:
|
||||
|
@ -3003,7 +3003,7 @@ namespace Game
|
||||
struct GfxPackedPlacement
|
||||
{
|
||||
float origin[3];
|
||||
PackedUnitVec axis[3];
|
||||
vec3_t/*PackedUnitVec*/ axis[3];
|
||||
float scale;
|
||||
};
|
||||
|
||||
@ -3011,7 +3011,7 @@ namespace Game
|
||||
{
|
||||
GfxPackedPlacement placement;
|
||||
|
||||
char pad[24];
|
||||
//char pad[24];
|
||||
|
||||
XModel *model; // 52
|
||||
float cullDist;
|
||||
|
Loading…
Reference in New Issue
Block a user