ResourceFontFileStream::ResourceFontFileStream(const char* resourceID) : refCount_(0), resourcePtr_(NULL), resourceSize_(0) { std::ifstream inStream; inStream.open((std::string("Data\\Fonts\\") + resourceID).c_str(), std::ios::in | std::ios::binary | std::ios::ate); if (inStream.good()) { size_t fileSize = 0; inStream.seekg(0, std::ios::end); fileSize = size_t(inStream.tellg()); inStream.seekg(0, std::ios::beg); resourceData_ = std::shared_ptr<char>(new char[fileSize]); inStream.read(resourceData_.get(), fileSize); resourceSize_ = static_cast<DWORD>(fileSize); resourcePtr_ = static_cast<void const*>(resourceData_.get()); inStream.close(); } else { DL_PRINT("Failed to open font file."); } }
void ConnectionInterface::RouteMessage ( PipelineMessage::Ptr msg, PipelineMessage::MessageSendStyle sendStyle, FlowDirection direction ) { DL_PRINT ( 8, "ROUTING MESSAGE : Conn=" << this << "; msgID=" << msg->msgID ); if ( _messageHook ) { _messageHook->ReceiveMessage ( msg, sendStyle, direction ); } if ( direction & FD_IN_FLOW ) { ConsumersMap::iterator it; for ( it = _consumers.begin(); it != _consumers.end(); ++it ) { it->second->ReceiveMessage ( msg, sendStyle, FD_IN_FLOW ); } } if ( direction & FD_AGAINST_FLOW ) { if ( _producer ) { _producer->ReceiveMessage ( msg, sendStyle, FD_AGAINST_FLOW ); } } }
void FillVTKImageFromM4DImage( vtkImageData *vtkImage, const Imaging::AImage &m4dImage ) { DL_PRINT( 8, "FillVTKImageFromM4DImage(), element ID " << m4dImage.GetElementTypeID() ); NUMERIC_TYPE_TEMPLATE_SWITCH_DEFAULT_MACRO( m4dImage.GetElementTypeID(), throw EImpossibleVTKConversion(), TryFillVTKImageFromM4DImage< TTYPE >( vtkImage, m4dImage ) ); /*switch ( m4dImage.GetElementTypeID() ) { case NTID_VOID: throw EImpossibleVTKConversion(); break; case NTID_SIGNED_CHAR: TryFillVTKImageFromM4DImage< signed char >( vtkImage, m4dImage ); break; case NTID_UNSIGNED_CHAR: TryFillVTKImageFromM4DImage< unsigned char >( vtkImage, m4dImage ); break; case NTID_SHORT: TryFillVTKImageFromM4DImage< short >( vtkImage, m4dImage ); break; case NTID_UNSIGNED_SHORT: TryFillVTKImageFromM4DImage< unsigned short >( vtkImage, m4dImage ); break; case NTID_INT: TryFillVTKImageFromM4DImage< int >( vtkImage, m4dImage ); break; case NTID_UNSIGNED_INT: TryFillVTKImageFromM4DImage< unsigned int >( vtkImage, m4dImage ); break; case NTID_LONG: TryFillVTKImageFromM4DImage< long >( vtkImage, m4dImage ); break; case NTID_UNSIGNED_LONG: TryFillVTKImageFromM4DImage< unsigned long >( vtkImage, m4dImage ); break; case NTID_LONG_LONG: TryFillVTKImageFromM4DImage< long long >( vtkImage, m4dImage ); break; case NTID_UNSIGNED_LONG_LONG: TryFillVTKImageFromM4DImage< unsigned long long >( vtkImage, m4dImage ); break; case NTID_FLOAT: TryFillVTKImageFromM4DImage< float >( vtkImage, m4dImage ); break; case NTID_DOUBLE: TryFillVTKImageFromM4DImage< double >( vtkImage, m4dImage ); break; default: throw EImpossibleVTKConversion(); break; }*/ return; }
void CGameWorld::Init() { Vector3f Vec1({ 1, 0, 0 }); Vector3f Vec2({ -1, 0, 0 }); //std::cout << "Angle in rad: " << Vec1.Angle(Vec2) << std::endl; //std::cout << "Angle in degrees: " << (Vec1.Angle(Vec2) * (180.0f / 3.14159265359f)) << std::endl; std::string name = ""; unsigned char timer = myTimerManager.CreateTimer(); myTimerManager.UpdateTimers(); myJson.Load("root.json", myRooms, this, name); myTimerManager.UpdateTimers(); double delta = myTimerManager.GetTimer(timer).GetTimeElapsed().GetMiliseconds(); std::cout << "Loading root.json and levels took " << delta << " milliseconds" << std::endl; myTimerManager.UpdateTimers(); myJson.LoadMusic("JSON/Music.json"); myTimerManager.UpdateTimers(); delta = myTimerManager.GetTimer(timer).GetTimeElapsed().GetMiliseconds(); std::cout << "Loading music took " << delta << " milliseconds" << std::endl; //myJson.LoadItems("JSON/items.json", myPlayer.GetInventory()); std::cout << "Level: " << CGame::myTestLevel << std::endl; if (CGame::myTestLevel.size() > 0) { DL_PRINT(CGame::myTestLevel.c_str()); ChangeLevel(CGame::myTestLevel); } else { ChangeLevel(name); } myDoQuit = false; myTalkIsOn = false; myPlayerCanMove = true; myTextFPS = new DX2D::CText("Text/PassionOne-Regular.ttf_sdf"); myTextFPS->myPosition = { 0.5f, 0.05f }; myTextFPS->myText = "FPS: "; myTextFPS->mySize = 0.8f; myRenderPasses.Init(32); myPlayer.Init(DX2D::Vector2f(0.5f, 0.8f), this); myFadeIn = 1.0f; myDoFadeIn = false; myShouldRenderDebug = false; myShouldRenderFPS = false; myShouldRenderNavPoints = false; #ifdef _DEBUG myShouldRenderFPS = true; myShouldRenderNavPoints = true; #endif myCurrentWaypoint = 0; myHasPath = false; myHasNewTargetPosition = false; myTargetPosition = { 0.0f, 0.0f }; myNewTargetPosition = myTargetPosition; #ifdef _DEBUG myDotSprites.Init(12000); for (int i = 0; i < 12000; ++i) { DX2D::CSprite* sprite = new DX2D::CSprite("Sprites/Dot.dds"); myDotSprites.Add(sprite); } #endif myOptionsMenu.Initialize(); }