mirror of
https://github.com/HarbourMasters/Shipwright.git
synced 2024-08-13 17:03:47 -04:00
d24c8453db
subrepo: subdir: "libultraship" merged: "a484cda98" upstream: origin: "https://github.com/HarbourMasters/libultraship.git" branch: "main" commit: "a484cda98" git-subrepo: version: "0.4.1" origin: "???" commit: "???"
71 lines
2.4 KiB
C++
71 lines
2.4 KiB
C++
#include "OTRResourceLoader.h"
|
|
#include "OTRMaterialFactory.h"
|
|
#include "OTRSceneFactory.h"
|
|
#include "OTRCollisionHeaderFactory.h"
|
|
#include "OTRDisplayListFactory.h"
|
|
#include "OTRPlayerAnimationFactory.h"
|
|
#include "OTRSkeletonFactory.h"
|
|
#include "OTRSkeletonLimbFactory.h"
|
|
#include "OTRAnimationFactory.h"
|
|
#include "OTRVtxFactory.h"
|
|
#include "OTRCutsceneFactory.h"
|
|
#include "OTRArrayFactory.h"
|
|
#include "OTRPathFactory.h"
|
|
|
|
namespace OtrLib
|
|
{
|
|
OTRResource* OTRResourceLoader::LoadResource(BinaryReader* reader)
|
|
{
|
|
Endianess endianess = (Endianess)reader->ReadByte();
|
|
|
|
// TODO: Setup the binaryreader to use the resource's endianess
|
|
|
|
ResourceType resourceType = (ResourceType)reader->ReadUInt32();
|
|
OTRResource* result = nullptr;
|
|
|
|
switch (resourceType)
|
|
{
|
|
case ResourceType::OTRMaterial:
|
|
result = OTRMaterialFactory::ReadMaterial(reader);
|
|
break;
|
|
case ResourceType::OTRRoom:
|
|
result = OTRSceneFactory::ReadScene(reader);
|
|
break;
|
|
case ResourceType::OTRCollisionHeader:
|
|
result = OTRCollisionHeaderFactory::ReadCollisionHeader(reader);
|
|
break;
|
|
case ResourceType::OTRDisplayList:
|
|
result = OTRDisplayListFactory::ReadDisplayList(reader);
|
|
break;
|
|
case ResourceType::OTRPlayerAnimation:
|
|
result = OTRPlayerAnimationFactory::ReadPlayerAnimation(reader);
|
|
break;
|
|
case ResourceType::OTRSkeleton:
|
|
result = OTRSkeletonFactory::ReadSkeleton(reader);
|
|
break;
|
|
case ResourceType::OTRSkeletonLimb:
|
|
result = OTRSkeletonLimbFactory::ReadSkeletonLimb(reader);
|
|
break;
|
|
case ResourceType::OTRVtx:
|
|
result = OTRVtxFactory::ReadVtx(reader);
|
|
break;
|
|
case ResourceType::OTRAnimation:
|
|
result = OTRAnimationFactory::ReadAnimation(reader);
|
|
break;
|
|
case ResourceType::OTRCutscene:
|
|
result = OTRCutsceneFactory::ReadCutscene(reader);
|
|
break;
|
|
case ResourceType::OTRArray:
|
|
result = OTRArrayFactory::ReadArray(reader);
|
|
break;
|
|
case ResourceType::OTRPath:
|
|
result = OTRPathFactory::ReadPath(reader);
|
|
break;
|
|
default:
|
|
// RESOURCE TYPE NOT SUPPORTED
|
|
break;
|
|
}
|
|
|
|
return result;
|
|
}
|
|
} |