HoverRace  2.0
Public Member Functions | Protected Member Functions | Static Protected Member Functions | Private Types | Private Member Functions | Static Private Member Functions | Private Attributes | List of all members
HoverRace::MazeCompiler::LevelBuilder Class Reference

#include <LevelBuilder.h>

+ Inheritance diagram for HoverRace::MazeCompiler::LevelBuilder:

Public Member Functions

 LevelBuilder (Model::Track &track, const TrackCompilationLogPtr &log)
 
virtual ~LevelBuilder ()
 
bool InitFromFile (const Util::OS::path_t &filename)
 
bool InitFromStream (std::istream &in)
 
- Public Member Functions inherited from HoverRace::Model::Level
 Level (Track &track, BOOL pAllowRendering=FALSE, char pGameOpts=1)
 
 Level (const Level &)=delete
 
 ~Level ()
 
int FindRoomForPoint (const MR_2DCoordinate &pPosition, int pStartingRoom) const
 
void FlushPermElementPosCache ()
 
int GetFeature (int pRoomId, int pChildIndex) const
 
SurfaceElementGetFeatureBottomElement (int pFeatureId) const
 
MR_Int32 GetFeatureBottomLevel (int pFeatureId) const
 
BOOL GetFeatureContact (int pFeature, const ShapeInterface *pShape, ContactSpec &pAnswer)
 
BOOL GetFeatureContactOrientation (int pFeature, const ShapeInterface *pShape, MR_Angle &pAnswer)
 
int GetFeatureCount (int pRoomId) const
 
PolygonShapeGetFeatureShape (int pFeatureId) const
 
SurfaceElementGetFeatureTopElement (int pFeatureId) const
 
MR_Int32 GetFeatureTopLevel (int pFeatureId) const
 
const MR_2DCoordinateGetFeatureVertex (int pFeatureId, int pVertex) const
 
int GetFeatureVertexCount (int pFeatureId) const
 
SurfaceElementGetFeatureWallElement (int pFeatureId, size_t pVertex) const
 
MR_Int32 GetFeatureWallLen (int pFeatureId, int pVertex) const
 
MR_FreeElementHandle GetFirstFreeElement (int pRoom) const
 
int GetNbVisibleSurface (int pRoomId) const
 
int GetNeighbor (int pRoomId, int pVertex) const
 
int GetParent (int pFeatureId) const
 
MR_FreeElementHandle GetPermanentElementHandle (int pElem) const
 
int GetPlayerCount () const
 
int GetPlayerTeam (int pPlayerId) const
 
SurfaceElementGetRoomBottomElement (int pRoomId) const
 
MR_Int32 GetRoomBottomLevel (int pRoomId) const
 
void GetRoomContact (int pRoom, const ShapeInterface *pShape, RoomContactSpec &pAnswer)
 
int GetRoomCount () const
 
PolygonShapeGetRoomShape (int pRoomId) const
 
SurfaceElementGetRoomTopElement (int pRoomId) const
 
MR_Int32 GetRoomTopLevel (int pRoomId) const
 
const MR_2DCoordinateGetRoomVertex (int pRoomId, int pVertex) const
 
int GetRoomVertexCount (int pRoomId) const
 
BOOL GetRoomWallContactOrientation (int pRoom, int pWall, const ShapeInterface *pShape, MR_Angle &pAnswer)
 
SurfaceElementGetRoomWallElement (int pRoomId, size_t pVertex) const
 
MR_Int32 GetRoomWallLen (int pRoomId, int pVertex) const
 
MR_Angle GetStartingOrientation (int pPlayerId) const
 
const MR_3DCoordinateGetStartingPos (int pPlayerId) const
 
int GetStartingRoom (int pPlayerId) const
 
const SectionIdGetVisibleCeilingList (int pRoomId) const
 
const SectionIdGetVisibleFloorList (int pRoomId) const
 
const int * GetVisibleZones (int pRoomId, int &pNbVisibleZones) const
 
MR_FreeElementHandle InsertElement (std::shared_ptr< FreeElement > pElement, int pNewRoom, BOOL Broadcast=FALSE)
 
void MoveElement (MR_FreeElementHandle pHandle, int pNewRoom)
 
Leveloperator= (const Level &)=delete
 
void Serialize (Parcel::ObjStream &pArchive)
 
void SetBroadcastHook (void(*pCreationHook)(FreeElement *, int, void *), void(*pStateHook)(FreeElement *, int, int, void *), void *pHookData)
 
void SetPermElementPos (int pPermElement, int pRoom, const MR_3DCoordinate &pNewPos)
 

Protected Member Functions

bool ComputeAudibleZones ()
 
bool ComputeVisibleZones ()
 
void OrderVisibleSurfaces ()
 
bool Parse (std::istream &in)
 
- Protected Member Functions inherited from HoverRace::Model::Level
int GetRealRoomRecursive (const MR_2DCoordinate &pPosition, int pOriginalSection, int=-1) const
 

Static Protected Member Functions

static double ComputeShapeConst (Section *pSection)
 

Private Types

using SUPER = Model::Level
 

Private Member Functions

void TestForVisibility (VisibleStep *pPreviousStep, int *pDestArray, int &pDestIndex, int pNewLeftNodeIndex)
 

Static Private Member Functions

static int OrderCeiling (const void *pSurface0, const void *pSurface1)
 
static int OrderFloor (const void *pSurface0, const void *pSurface1)
 

Private Attributes

TrackCompilationLogPtr log
 

Additional Inherited Members

- Public Types inherited from HoverRace::Model::Level
enum  { eNonClassified = -1, eMustBeDeleted = -2 }
 
- Static Public Member Functions inherited from HoverRace::Model::Level
static void DeleteElement (MR_FreeElementHandle pHandle)
 
static FreeElementGetFreeElement (MR_FreeElementHandle pHandle)
 
static MR_FreeElementHandle GetNextFreeElement (MR_FreeElementHandle pHandle)
 
- Protected Attributes inherited from HoverRace::Model::Level
BOOL mAllowRendering
 
void * mBroadcastHookData
 
void(* mElementCreationBroadcastHook )(FreeElement *pElement, int pRoom, void *pHookData)
 
FeaturemFeatureList
 
FreeElementList ** mFreeElementClassifiedByRoomList
 
FreeElementListmFreeElementNonClassifiedList
 
char mGameOpts
 
int mNbFeature
 
int mNbPermNetActor
 
int mNbPlayer
 
int mNbRoom
 
int mPermActorCacheCount
 
int mPermActorIndexCache [MR_NB_PERNET_ACTORS]
 
int mPermActorNewRoomCache [MR_NB_PERNET_ACTORS]
 
void(* mPermElementStateBroadcastHook )(FreeElement *pElement, int pRoom, int pPermId, void *pHookData)
 
FreeElementListmPermNetActor [MR_NB_PERNET_ACTORS]
 
int mPlayerTeam [MR_NB_MAX_PLAYER]
 
RoommRoomList
 
MR_Angle mStartingOrientation [MR_NB_MAX_PLAYER]
 
MR_3DCoordinate mStartingPosition [MR_NB_MAX_PLAYER]
 
int mStartingRoom [MR_NB_MAX_PLAYER]
 

Member Typedef Documentation

Constructor & Destructor Documentation

HoverRace::MazeCompiler::LevelBuilder::LevelBuilder ( Model::Track track,
const TrackCompilationLogPtr log 
)
virtual HoverRace::MazeCompiler::LevelBuilder::~LevelBuilder ( )
inlinevirtual

Member Function Documentation

bool HoverRace::MazeCompiler::LevelBuilder::ComputeAudibleZones ( )
protected
double HoverRace::MazeCompiler::LevelBuilder::ComputeShapeConst ( Section pSection)
staticprotected
bool HoverRace::MazeCompiler::LevelBuilder::ComputeVisibleZones ( )
protected
bool HoverRace::MazeCompiler::LevelBuilder::InitFromFile ( const Util::OS::path_t filename)
bool HoverRace::MazeCompiler::LevelBuilder::InitFromStream ( std::istream &  in)
int HoverRace::MazeCompiler::LevelBuilder::OrderCeiling ( const void *  pSurface0,
const void *  pSurface1 
)
staticprivate
int HoverRace::MazeCompiler::LevelBuilder::OrderFloor ( const void *  pSurface0,
const void *  pSurface1 
)
staticprivate
void HoverRace::MazeCompiler::LevelBuilder::OrderVisibleSurfaces ( )
protected
bool HoverRace::MazeCompiler::LevelBuilder::Parse ( std::istream &  in)
protected
void HoverRace::MazeCompiler::LevelBuilder::TestForVisibility ( VisibleStep pPreviousStep,
int *  pDestArray,
int &  pDestIndex,
int  pNewLeftNodeIndex 
)
private

Member Data Documentation

TrackCompilationLogPtr HoverRace::MazeCompiler::LevelBuilder::log
private

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