OpenBarnyard
 
Loading...
Searching...
No Matches
ABYardTerrainManager Class Reference

#include <ABYardTerrainManager.h>

Classes

struct  TerrainInfo
 

Public Types

enum  Terrain_ : Terrain {
  Terrain_EnvMain , Terrain_GateCrash , Terrain_EnvBarnInt , Terrain_Golf1 ,
  Terrain_Golf2 , Terrain_Golf3 , Terrain_Golf4 , Terrain_Golf5 ,
  Terrain_Golf6 , Terrain_Golf7 , Terrain_Golf8 , Terrain_Golf9 ,
  Terrain_Golf10 , Terrain_Golf11 , Terrain_Golf12 , Terrain_Golf13 ,
  Terrain_Golf14 , Terrain_Golf15 , Terrain_Golf16 , Terrain_Golf17 ,
  Terrain_Golf18 , Terrain_PeckRange , Terrain_FrontEnd , Terrain_Statue ,
  Terrain_EnvBeadyInt , Terrain_EnvWoods , Terrain_EnvBarnIntDay , Terrain_EnvBlackMarket ,
  Terrain_CowTipping , Terrain_VeggieDef , Terrain_EnvPoolTable , Terrain_EnvPoolBoat ,
  Terrain_EnvWacARac , Terrain_Tappers , Terrain_EnvCarRace , Terrain_Kitchen ,
  Terrain_Cocktails , Terrain_ChasingChicks2 , Terrain_EnvBensHill , Terrain_EnvBeadyFarm ,
  Terrain_EnvCoopInt , Terrain_EnvFarmerInt , Terrain_EnvDartsLarge , Terrain_EnvSSDarts ,
  Terrain_test1 , Terrain_ss01 , Terrain_ss02 , Terrain_ss03 ,
  Terrain_ss04 , Terrain_ss05 , Terrain_ss06 , Terrain_ss07a ,
  Terrain_ss07b , Terrain_ss08 , Terrain_ss09 , Terrain_ss10 ,
  Terrain_ss11 , Terrain_NUMOF
}
 
using Terrain = TUINT32
 

Static Public Member Functions

static void SetTerrain (TINT a_eTerrain, TBOOL a_bLoadLater, TBOOL a_bStreamModels, TINT a_iUnused1, TINT a_iUnused2, TINT a_iPreloadTerrainBlockSize, TINT a_iStartVISGroup)
 
static void StartLoading ()
 
static constexpr const TCHARGetTerrainName (Terrain a_eTerrain)
 

Static Public Attributes

static constexpr TerrainInfo ms_aTerrains [Terrain_NUMOF]
 

Detailed Description

Definition at line 4 of file ABYardTerrainManager.h.

Member Typedef Documentation

◆ Terrain

Definition at line 7 of file ABYardTerrainManager.h.

Member Enumeration Documentation

◆ Terrain_

Enumerator
Terrain_EnvMain 
Terrain_GateCrash 
Terrain_EnvBarnInt 
Terrain_Golf1 
Terrain_Golf2 
Terrain_Golf3 
Terrain_Golf4 
Terrain_Golf5 
Terrain_Golf6 
Terrain_Golf7 
Terrain_Golf8 
Terrain_Golf9 
Terrain_Golf10 
Terrain_Golf11 
Terrain_Golf12 
Terrain_Golf13 
Terrain_Golf14 
Terrain_Golf15 
Terrain_Golf16 
Terrain_Golf17 
Terrain_Golf18 
Terrain_PeckRange 
Terrain_FrontEnd 
Terrain_Statue 
Terrain_EnvBeadyInt 
Terrain_EnvWoods 
Terrain_EnvBarnIntDay 
Terrain_EnvBlackMarket 
Terrain_CowTipping 
Terrain_VeggieDef 
Terrain_EnvPoolTable 
Terrain_EnvPoolBoat 
Terrain_EnvWacARac 
Terrain_Tappers 
Terrain_EnvCarRace 
Terrain_Kitchen 
Terrain_Cocktails 
Terrain_ChasingChicks2 
Terrain_EnvBensHill 
Terrain_EnvBeadyFarm 
Terrain_EnvCoopInt 
Terrain_EnvFarmerInt 
Terrain_EnvDartsLarge 
Terrain_EnvSSDarts 
Terrain_test1 
Terrain_ss01 
Terrain_ss02 
Terrain_ss03 
Terrain_ss04 
Terrain_ss05 
Terrain_ss06 
Terrain_ss07a 
Terrain_ss07b 
Terrain_ss08 
Terrain_ss09 
Terrain_ss10 
Terrain_ss11 
Terrain_NUMOF 

Definition at line 8 of file ABYardTerrainManager.h.

9 {
68 };

Member Function Documentation

◆ GetTerrainName()

static constexpr const TCHAR * ABYardTerrainManager::GetTerrainName ( Terrain a_eTerrain)
inlinestaticconstexpr

Definition at line 139 of file ABYardTerrainManager.h.

139{ return ms_aTerrains[ a_eTerrain ].szName; }
static constexpr TerrainInfo ms_aTerrains[Terrain_NUMOF]

◆ SetTerrain()

void ABYardTerrainManager::SetTerrain ( TINT a_eTerrain,
TBOOL a_bLoadLater,
TBOOL a_bStreamModels,
TINT a_iUnused1,
TINT a_iUnused2,
TINT a_iPreloadTerrainBlockSize,
TINT a_iStartVISGroup )
static

Definition at line 17 of file ABYardTerrainManager.cpp.

18{
19 TIMPLEMENT();
20
21 if ( a_eTerrain == ms_eCurrentLevel ) return;
22
23 ARootTask::GetSingleton()->SetRenderWorld( TFALSE );
24
25 if ( ms_pCurrentTerrain )
26 {
27 delete ms_pCurrentTerrain;
28 }
29
31
32 if ( a_eTerrain == Terrain_FrontEnd )
33 {
34 a_iStartVISGroup = 0;
35 }
36
37 ms_pCurrentTerrain = new ATerrainInterface(
38 a_iUnused1,
39 a_iUnused2,
40 a_iPreloadTerrainBlockSize < 1 ? 0x2200000 : a_iPreloadTerrainBlockSize,
41 a_iStartVISGroup
42 );
43
44 T2FormatString128 terrainFile;
45 terrainFile.Format( "Data\\Terrain\\%s\\%s.trb", GetTerrainName( a_eTerrain ), GetTerrainName( a_eTerrain ) );
46
47 ms_pCurrentTerrain->LoadFromFile( terrainFile.Get(), TTRUE, a_bPersistantCollision );
48 ms_eCurrentLevel = a_eTerrain;
49
50 if ( !a_bLoadLater )
51 {
53 }
54
55 ARootTask::GetSingleton()->SetRenderWorld( TTRUE );
56}
#define TIMPLEMENT()
Definition Defines.h:136
T2FormatString< 128, T2StringTraits< TCHAR > > T2FormatString128
Definition T2String.h:242
#define TFALSE
Definition Typedefs.h:24
#define TTRUE
Definition Typedefs.h:25
void Format(const CharType *a_szFormat,...)
Definition T2String.h:172
constexpr CharType * Get()
Definition T2String.h:204
static TFORCEINLINE TRenderInterface * GetSingleton()
Definition TSingleton.h:49
static constexpr const TCHAR * GetTerrainName(Terrain a_eTerrain)

◆ StartLoading()

void ABYardTerrainManager::StartLoading ( )
static

Definition at line 58 of file ABYardTerrainManager.cpp.

59{
61
62 auto pTerrain = ATerrainInterface::GetSingleton();
63 pTerrain->m_bIsLoaded = TFALSE;
64
65 if ( ATerrainInterface::ms_bAutoVIS )
66 {
67 pTerrain->m_fnGetCurrentVISGroup = ATerrainInterface::GetPersistantSectionID;
68 }
69
70 pTerrain->Update();
71
72 while ( !pTerrain->IsLoaded() )
73 {
74 TRenderInterface::GetSingleton()->Update( 1.0f / 1000.0f );
75 AAssetStreaming::GetSingleton()->Update();
76
77#ifndef BARNYARD_COMMUNITY_PATCH
78 ThreadSleep( 20 );
79#endif // BARNYARD_COMMUNITY_PATCH
80
81 pTerrain->Update();
83 }
84
85 pTerrain->m_bIsLoaded = TTRUE;
86
87 if ( ATerrainInterface::ms_bAutoVIS )
88 {
89 pTerrain->m_fnGetCurrentVISGroup = ATerrainInterface::GetCurrentSectionID;
90 }
91}
#define TPROFILER_SCOPE()
Definition Profiler.h:17
ALoadScreen g_oLoadScreen
void ThreadSleep(TUINT dwMilliseconds)
virtual TBOOL Update(float a_fDeltaTime)=0
void Update(TFLOAT a_fDeltaTime=1.0f, TBOOL a_bRender=true)

Member Data Documentation

◆ ms_aTerrains

TerrainInfo ABYardTerrainManager::ms_aTerrains[Terrain_NUMOF]
inlinestaticconstexpr

Definition at line 76 of file ABYardTerrainManager.h.

76 {
77 { "EnvMain", 0x400000 },
78 { "gatecrash", 0x500000 },
79 { "envbarnint", 0x400000 },
80 { "golf1", 0x600000 },
81 { "golf2", 0x600000 },
82 { "golf3", 0x600000 },
83 { "golf4", 0x600000 },
84 { "golf5", 0x600000 },
85 { "golf6", 0x600000 },
86 { "golf7", 0x600000 },
87 { "golf8", 0x600000 },
88 { "golf9", 0x600000 },
89 { "golf10", 0x600000 },
90 { "golf11", 0x600000 },
91 { "golf12", 0x600000 },
92 { "golf13", 0x600000 },
93 { "golf14", 0x600000 },
94 { "golf15", 0x600000 },
95 { "golf16", 0x600000 },
96 { "golf17", 0x600000 },
97 { "golf18", 0x600000 },
98 { "peckrange", 0x900000 },
99 { "frontend", 0x300000 },
100 { "statue", 0x400000 },
101 { "env_beadyint", 0x400000 },
102 { "envwoods", 0x800000 },
103 { "envbarnintday", 0x400000 },
104 { "envblackmarket", 0x100000 },
105 { "cowtipping", 0x600000 },
106 { "veggiedef", 0x600000 },
107 { "EnvPoolTable", 0x400000 },
108 { "envpoolboat", 0x400000 },
109 { "EnvWacARac", 0x100000 },
110 { "tappers", 0x500000 },
111 { "envcarrace", 0xB00000 },
112 { "kitchen", 0x400000 },
113 { "cocktail", 0x400000 },
114 { "chasingchicks2", 0x800000 },
115 { "envbenshill", 0x800000 },
116 { "envbeadyfarm", 0x800000 },
117 { "envcoopint", 0x400000 },
118 { "envfarmerint", 0x400000 },
119 { "envdarts_large", 0x400000 },
120 { "EnvSSDarts", 0x400000 },
121 { "test1", 0x400000 },
122 { "ss01", 0x400000 },
123 { "ss02", 0x400000 },
124 { "ss03", 0x400000 },
125 { "ss04", 0x400000 },
126 { "ss05", 0x400000 },
127 { "ss06", 0x400000 },
128 { "ss07a", 0x400000 },
129 { "ss07b", 0x400000 },
130 { "ss08", 0x400000 },
131 { "ss09", 0x400000 },
132 { "ss11", 0x400000 },
133 };

The documentation for this class was generated from the following files: