#include <ATerrainInterface.h>
Public Types | |
using | JobSlot = Toshi::T2SListNodeWrapper<AMainThreadJob> |
using | t_GetCurrentVISGroup = TINT ( * )() |
using | t_OnVISGroupChanged = void ( * )( ATerrainSection* a_pCurrent, ATerrainSection* a_pPrevious ) |
using | t_OnModelNodeReady = void ( * )( ATerrainSection::ModelNode* a_pModelNode ) |
Public Member Functions | |
ATerrainInterface (TINT a_iUnused1, TINT a_iUnused2, TINT a_iPreloadTerrainBlockSize, TINT a_iStartVISGroup) | |
virtual | ~ATerrainInterface () |
void | Update () |
void | Render () |
TBOOL | IsLoaded () const |
void | LoadFromFile (const TCHAR *a_szFilePath, TBOOL a_bLoadLater, TBOOL a_bStreamCollision) |
Loads information about terrain. | |
void | WaitUntilLoaded () |
void | DestroyModelData (ATerrainSection::ModelNode *a_pModelData) |
void | UpdateUsedBlocks (ATerrainLODType a_eLODType) |
Sets visible blocks of specified LOD type to be used. | |
void | QueueStreamingAssets () |
void | UnqueueStreamingAssets () |
TBOOL | HasAnyLODsQueued () |
void | CancelUnrequiredJobs () |
ATerrainSection::ModelNode * | CreateModelInstance (ATerrainSection::ModelNode *a_pModelNode, const char *a_szModelName, const char *a_szType) |
ATerrainLODBlock * | AllocateLODBlock (ATerrainLODType a_eLODType, ATerrainSection *a_pVISGroup) |
Allocates free LODBlock of specified type and assigns it to the section. | |
TBOOL | IsCollisionStreamed () const |
ATerrainVIS * | GetVIS () const |
void | GetLocatorTransform (const TCHAR *a_pszLocatorName, Toshi::TMatrix44 &a_rOutTransform) |
Finds a locator (bone) by the specified name and obtains it current transform if found. | |
Toshi::TVector4 | GetLocatorPos (const TCHAR *a_pszLocatorName) |
Finds a locator (bone) by the specified name and obtains it current position if found. | |
void | GetLocatorPosAndRot (const TCHAR *a_pszLocatorName, Toshi::TVector4 &a_rOutPosition, Toshi::TQuaternion &a_rOutRotation) |
Finds a locator (bone) by the specified name and obtains it current position and rotation if found. | |
ATerrainLocator * | FindLocator (const TCHAR *a_pszLocatorName) |
Finds a locator (bone) by the specified name and returns it if found. | |
ATRBLoaderJob * | GetFreeTRBLoaderJob () |
ASkeletonDoneJob * | GetFreeSkeletonLoaderJob () |
AMatLibLoaderJob * | GetFreeMatlibLoaderJob () |
ACollisionDoneJob * | GetFreeCollisionLoaderJob () |
AModelLoaderJob * | GetFreeModelLoaderJob () |
ASectionDoneJob * | GetFreeSectionLoaderJob () |
ATerrainLocatorList * | GetLocatorList () const |
const Toshi::TVector4 & | GetDefaultShadowColor () const |
const Toshi::TVector4 & | GetDefaultAmbientColor () const |
const Toshi::TVector4 & | GetLitShadowColor () const |
const Toshi::TVector4 & | GetLitAmbientColor () const |
t_OnModelNodeReady | GetOnModelNodeReadyCallback () const |
Public Attributes | |
friend | ATerrainVIS |
Static Public Attributes | |
static constexpr TUINT | MAX_NUM_MODEL_LOADER_JOBS = 128 |
static constexpr TUINT | MAX_NUM_MATLIB_LOADER_JOBS = 10 |
static constexpr TUINT | MAX_NUM_KEYLIB_LOADER_JOBS = 10 |
static constexpr TUINT | MAX_NUM_SECTION_LOADER_JOBS = 32 |
static constexpr TUINT | MAX_NUM_TRB_LOADER_JOBS = 2 |
static constexpr TUINT | MAX_NUM_SKELETON_LOADER_JOBS = 2 |
static constexpr TUINT | MAX_NUM_COLLISION_LOADER_JOBS = 64 |
static constexpr TUINT | NUM_TOTAL_JOBS |
Friends | |
class | ABYardTerrainManager |
Definition at line 10 of file ATerrainInterface.h.
using ATerrainInterface::JobSlot = Toshi::T2SListNodeWrapper<AMainThreadJob> |
Definition at line 29 of file ATerrainInterface.h.
using ATerrainInterface::t_GetCurrentVISGroup = TINT ( * )() |
Definition at line 34 of file ATerrainInterface.h.
using ATerrainInterface::t_OnModelNodeReady = void ( * )( ATerrainSection::ModelNode* a_pModelNode ) |
Definition at line 36 of file ATerrainInterface.h.
using ATerrainInterface::t_OnVISGroupChanged = void ( * )( ATerrainSection* a_pCurrent, ATerrainSection* a_pPrevious ) |
Definition at line 35 of file ATerrainInterface.h.
ATerrainInterface::ATerrainInterface | ( | TINT | a_iUnused1, |
TINT | a_iUnused2, | ||
TINT | a_iPreloadTerrainBlockSize, | ||
TINT | a_iStartVISGroup ) |
Definition at line 23 of file ATerrainInterface.cpp.
|
virtual |
Definition at line 94 of file ATerrainInterface.cpp.
ATerrainLODBlock * ATerrainInterface::AllocateLODBlock | ( | ATerrainLODType | a_eLODType, |
ATerrainSection * | a_pVISGroup ) |
Allocates free LODBlock of specified type and assigns it to the section.
a_eLODType | type of the block you want to allocate |
a_pVISGroup | section you allocate the block for |
Definition at line 599 of file ATerrainInterface.cpp.
void ATerrainInterface::CancelUnrequiredJobs | ( | ) |
Definition at line 1075 of file ATerrainInterface.cpp.
ATerrainSection::ModelNode * ATerrainInterface::CreateModelInstance | ( | ATerrainSection::ModelNode * | a_pModelNode, |
const char * | a_szModelName, | ||
const char * | a_szType ) |
Definition at line 992 of file ATerrainInterface.cpp.
void ATerrainInterface::DestroyModelData | ( | ATerrainSection::ModelNode * | a_pModelData | ) |
Definition at line 488 of file ATerrainInterface.cpp.
ATerrainLocator * ATerrainInterface::FindLocator | ( | const TCHAR * | a_pszLocatorName | ) |
Finds a locator (bone) by the specified name and returns it if found.
Definition at line 757 of file ATerrainInterface.cpp.
|
inline |
Definition at line 140 of file ATerrainInterface.h.
|
inline |
Definition at line 139 of file ATerrainInterface.h.
ACollisionDoneJob * ATerrainInterface::GetFreeCollisionLoaderJob | ( | ) |
Definition at line 816 of file ATerrainInterface.cpp.
AMatLibLoaderJob * ATerrainInterface::GetFreeMatlibLoaderJob | ( | ) |
Definition at line 799 of file ATerrainInterface.cpp.
AModelLoaderJob * ATerrainInterface::GetFreeModelLoaderJob | ( | ) |
Definition at line 833 of file ATerrainInterface.cpp.
ASectionDoneJob * ATerrainInterface::GetFreeSectionLoaderJob | ( | ) |
Definition at line 850 of file ATerrainInterface.cpp.
ASkeletonDoneJob * ATerrainInterface::GetFreeSkeletonLoaderJob | ( | ) |
Definition at line 782 of file ATerrainInterface.cpp.
ATRBLoaderJob * ATerrainInterface::GetFreeTRBLoaderJob | ( | ) |
Definition at line 765 of file ATerrainInterface.cpp.
|
inline |
Definition at line 142 of file ATerrainInterface.h.
|
inline |
Definition at line 141 of file ATerrainInterface.h.
|
inline |
Definition at line 133 of file ATerrainInterface.h.
Finds a locator (bone) by the specified name and obtains it current position if found.
Definition at line 715 of file ATerrainInterface.cpp.
void ATerrainInterface::GetLocatorPosAndRot | ( | const TCHAR * | a_pszLocatorName, |
Toshi::TVector4 & | a_rOutPosition, | ||
Toshi::TQuaternion & | a_rOutRotation ) |
Finds a locator (bone) by the specified name and obtains it current position and rotation if found.
Definition at line 735 of file ATerrainInterface.cpp.
void ATerrainInterface::GetLocatorTransform | ( | const TCHAR * | a_pszLocatorName, |
Toshi::TMatrix44 & | a_rOutTransform ) |
Finds a locator (bone) by the specified name and obtains it current transform if found.
Definition at line 696 of file ATerrainInterface.cpp.
|
inline |
Definition at line 144 of file ATerrainInterface.h.
|
inline |
Definition at line 104 of file ATerrainInterface.h.
TBOOL ATerrainInterface::HasAnyLODsQueued | ( | ) |
Definition at line 584 of file ATerrainInterface.cpp.
|
inline |
Definition at line 99 of file ATerrainInterface.h.
TBOOL ATerrainInterface::IsLoaded | ( | ) | const |
Definition at line 328 of file ATerrainInterface.cpp.
void ATerrainInterface::LoadFromFile | ( | const TCHAR * | a_szFilePath, |
TBOOL | a_bLoadLater, | ||
TBOOL | a_bStreamCollision ) |
Loads information about terrain.
a_szFilePath | path to the terrain info file |
a_bLoadLater | if TFALSE, doesn't pause thread to load all resources |
a_bPreloadCollision | if TFALSE, loads all collision objects at once |
Definition at line 351 of file ATerrainInterface.cpp.
void ATerrainInterface::QueueStreamingAssets | ( | ) |
Definition at line 546 of file ATerrainInterface.cpp.
void ATerrainInterface::Render | ( | ) |
Definition at line 271 of file ATerrainInterface.cpp.
void ATerrainInterface::UnqueueStreamingAssets | ( | ) |
Definition at line 576 of file ATerrainInterface.cpp.
void ATerrainInterface::Update | ( | ) |
Definition at line 119 of file ATerrainInterface.cpp.
void ATerrainInterface::UpdateUsedBlocks | ( | ATerrainLODType | a_eLODType | ) |
Sets visible blocks of specified LOD type to be used.
a_eLODType | type of LODs to load (can be ATerrainLODType_High or ATerrainLODType_Low) |
Definition at line 503 of file ATerrainInterface.cpp.
void ATerrainInterface::WaitUntilLoaded | ( | ) |
Definition at line 470 of file ATerrainInterface.cpp.
|
friend |
Definition at line 32 of file ATerrainInterface.h.
friend ATerrainInterface::ATerrainVIS |
Definition at line 31 of file ATerrainInterface.h.
|
staticconstexpr |
Definition at line 19 of file ATerrainInterface.h.
|
staticconstexpr |
Definition at line 15 of file ATerrainInterface.h.
|
staticconstexpr |
Definition at line 14 of file ATerrainInterface.h.
|
staticconstexpr |
Definition at line 13 of file ATerrainInterface.h.
|
staticconstexpr |
Definition at line 16 of file ATerrainInterface.h.
|
staticconstexpr |
Definition at line 18 of file ATerrainInterface.h.
|
staticconstexpr |
Definition at line 17 of file ATerrainInterface.h.
|
staticconstexpr |
Definition at line 20 of file ATerrainInterface.h.