Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /** Ceci est le coté client
- Contenu :
- Todo :
- Dans CPlayer :
- => Convertisseur char to wchar_t pour le billboard...
- => Voir le probleme avec la Font de la GUI
- //Initialisation systeme de log
- //Utilisation :
- // pLog->Write("Looped: %d times!", i);
- // pLog->Write("Going into our loop");
- Log * pLog = new Log("log.txt");
- */
- //System
- #include "irrlicht.h"
- #include "irrklang.h"
- //
- #include "CEventReceiver.h"
- #include "CPlayer.h"
- #include "CSound.h"
- //#include "CCamera.h"
- #include "CSceneNodeAnimatorCameraRPG.h"
- #ifdef _IRR_WINDOWS_
- #pragma comment(lib, "libIrrlicht.a")
- #pragma comment(lib, "libirrKlang.a")
- #pragma comment(linker, "/subsystem:windows /ENTRY:mainCRTStartup")
- #endif
- int main()
- {
- //Creation du recepteur d'event
- CEventReceiver EventReceiver;
- //Creation du device
- irr::IrrlichtDevice *Irr_Device = irr::createDevice(irr::video::EDT_OPENGL, irr::core::dimension2d<irr::u32>(800,600), 16, true, false, false, &EventReceiver);
- if(!Irr_Device)
- {
- return 1;
- }
- //rhombicuboctaèdre
- Irr_Device->setWindowCaption(L"RhombiWord");
- irr::video::IVideoDriver* VideoDriver = Irr_Device->getVideoDriver();
- irr::scene::ISceneManager* SceneManager = Irr_Device->getSceneManager();
- irr::gui::IGUIEnvironment* GUIEnv = Irr_Device->getGUIEnvironment();
- //Chargement de la police
- irr::gui::IGUIFont* Font = GUIEnv->getFont("./media/fontcourier.bmp");
- //Logo
- //Moteur Sond
- //irrklang::ISoundEngine* SoundEngine = irrklang::createIrrKlangDevice(irrklang::ESOD_AUTO_DETECT,irrklang::ESEO_MULTI_THREADED,0);
- irrklang::ISoundEngine* SoundEngine = irrklang::createIrrKlangDevice();
- if(!SoundEngine)
- {
- return EXIT_FAILURE;
- }
- irr::scene::ISceneNode* node = SceneManager->addCubeSceneNode();
- if (node)
- {
- node->setPosition(irr::core::vector3df(0,0,0));
- node->setMaterialTexture(0, VideoDriver->getTexture("./media/t351sml.jpg"));
- node->setMaterialFlag(irr::video::EMF_LIGHTING, false);
- SceneManager->addBillboardTextSceneNode(Font, L"TEST", node,irr::core::dimension2d<irr::f32>(20.f, 10.0f),node->getPosition()+ irr::core::vector3df(0,10,0));
- }
- irr::scene::ISceneNode* node_2 = SceneManager->addCubeSceneNode();
- if (node_2)
- {
- node_2->setPosition(irr::core::vector3df(0,-10,0));
- node_2->setMaterialTexture(0, VideoDriver->getTexture("./media/t351sml.jpg"));
- node_2->setMaterialFlag(irr::video::EMF_LIGHTING, false);
- SceneManager->addBillboardTextSceneNode(Font, L"node_2", node_2,irr::core::dimension2d<irr::f32>(20.f, 10.0f),node_2->getPosition()+ irr::core::vector3df(0,20,0));
- }
- //Ajoute une camera
- irr::scene::ICameraSceneNode* cam = SceneManager->addCameraSceneNode(0, irr::core::vector3df(0,20,-30),irr::core::vector3df(0,0,0));
- //CSceneNodeAnimatorCameraTrackball *cam_animator = new CSceneNodeAnimatorCameraTrackball(VideoDriver, Irr_Device->getCursorControl(), 50,4,6);
- irr::scene::CSceneNodeAnimatorCameraRPG *cam_animator = new irr::scene::CSceneNodeAnimatorCameraRPG(Irr_Device->getCursorControl());
- cam->addAnimator(cam_animator);
- cam_animator->drop();
- //Curseur OFF
- Irr_Device->getCursorControl()->setVisible(false);
- //Son
- CSound *Sound = new CSound(SoundEngine, node_2, SceneManager, 540, true);
- int lastFPS = -1;
- irr::u32 then = Irr_Device->getTimer()->getTime();
- const irr::f32 MOUV_SPEED = 5.f;
- while(Irr_Device->run())
- {
- const irr::u32 now = Irr_Device->getTimer()->getTime();
- const irr::f32 frameDeltaTime = (irr::f32)(now - then) / 1000.f;
- then = now;
- VideoDriver->beginScene(true, true, irr::video::SColor(255,100,101,140));
- SceneManager->drawAll();
- GUIEnv->drawAll();
- irr::core::stringw Title = "RhombiWord Driver : ";
- Title += VideoDriver->getName();
- Title += " FPS : ";
- Title += VideoDriver->getFPS();
- Irr_Device->setWindowCaption(Title.c_str());
- //cam->setTarget(node->getPosition());
- irr::core::vector3df nodePosition = irr::core::vector3df(0,0,0);
- VideoDriver->endScene();
- }
- SoundEngine->drop();
- Irr_Device->drop();
- return EXIT_SUCCESS;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement