mirror of
https://github.com/Laupetin/OpenAssetTools.git
synced 2025-04-21 00:25:44 +00:00
53 lines
1.9 KiB
C++
53 lines
1.9 KiB
C++
#pragma once
|
|
|
|
#include "AssetLoading/AssetLoadingContext.h"
|
|
#include "SearchPath/ISearchPath.h"
|
|
#include "SearchPath/SearchPaths.h"
|
|
#include "Zone/Zone.h"
|
|
|
|
class ObjLoading
|
|
{
|
|
public:
|
|
static class Configuration_t
|
|
{
|
|
public:
|
|
bool Verbose = false;
|
|
bool MenuPermissiveParsing = false;
|
|
bool MenuNoOptimization = false;
|
|
} Configuration;
|
|
|
|
/**
|
|
* \brief Loads all containers that are being referenced by the specified zone.
|
|
* \param searchPath The search path to use to find the referenced containers.
|
|
* \param zone The zone to load all referenced containers of.
|
|
*/
|
|
static void LoadReferencedContainersForZone(ISearchPath& searchPath, Zone& zone);
|
|
|
|
/**
|
|
* \brief Unloads all containers that were referenced by a specified zone. If referenced by more than one zone a container will only be unloaded once all
|
|
* referencing zones were unloaded the container. \param zone The zone to unload all referenced containers for.
|
|
*/
|
|
static void UnloadContainersOfZone(Zone& zone);
|
|
|
|
/**
|
|
* \brief Loads all IWDs that can be found in a specified search path.
|
|
* \param searchPath The search path that contains IWDs to be loaded.
|
|
*/
|
|
static void LoadIWDsInSearchPath(ISearchPath& searchPath);
|
|
|
|
/**
|
|
* \brief Unloads all IWDs that were loaded from the specified search path.
|
|
* \param searchPath The search path that was used to load the IWDs to be unloaded.
|
|
*/
|
|
static void UnloadIWDsInSearchPath(ISearchPath& searchPath);
|
|
|
|
/**
|
|
* \brief Creates a \c SearchPaths object containing all IWDs that are currently loaded.
|
|
* \return A \c SearchPaths object containing all IWDs that are currently loaded.
|
|
*/
|
|
static SearchPaths GetIWDSearchPaths();
|
|
|
|
static bool LoadAssetForZone(AssetLoadingContext& context, asset_type_t assetType, const std::string& assetName);
|
|
static void FinalizeAssetsForZone(AssetLoadingContext& context);
|
|
};
|