diff options
Diffstat (limited to 'examples/Demo')
| -rw-r--r-- | examples/Demo/CDemo.cpp | 815 | ||||
| -rw-r--r-- | examples/Demo/CDemo.h | 110 | ||||
| -rw-r--r-- | examples/Demo/CMainMenu.cpp | 378 | ||||
| -rw-r--r-- | examples/Demo/CMainMenu.h | 48 | ||||
| -rw-r--r-- | examples/Demo/Demo.vcproj | 223 | ||||
| -rw-r--r-- | examples/Demo/Demo_vc10.vcxproj | 283 | ||||
| -rw-r--r-- | examples/Demo/Demo_vc11.vcxproj | 283 | ||||
| -rw-r--r-- | examples/Demo/Demo_vc12.vcxproj | 283 | ||||
| -rw-r--r-- | examples/Demo/Demo_vc8.vcproj | 300 | ||||
| -rw-r--r-- | examples/Demo/Demo_vc9.vcproj | 300 | ||||
| -rw-r--r-- | examples/Demo/Makefile | 43 | ||||
| -rw-r--r-- | examples/Demo/demo.cbp | 68 | ||||
| -rw-r--r-- | examples/Demo/demo.dev | 99 | ||||
| -rw-r--r-- | examples/Demo/icon.ico | bin | 0 -> 2238 bytes | |||
| -rw-r--r-- | examples/Demo/main.cpp | 49 | ||||
| -rw-r--r-- | examples/Demo/resource.h | 16 | ||||
| -rw-r--r-- | examples/Demo/resscript.rc | 72 |
17 files changed, 3370 insertions, 0 deletions
diff --git a/examples/Demo/CDemo.cpp b/examples/Demo/CDemo.cpp new file mode 100644 index 0000000..8240025 --- /dev/null +++ b/examples/Demo/CDemo.cpp @@ -0,0 +1,815 @@ +// This is a Demo of the Irrlicht Engine (c) 2005-2009 by N.Gebhardt.
+// This file is not documented.
+
+#include "CDemo.h"
+
+CDemo::CDemo(bool f, bool m, bool s, bool a, bool v, bool fsaa, video::E_DRIVER_TYPE d)
+: fullscreen(f), music(m), shadows(s), additive(a), vsync(v), aa(fsaa),
+ driverType(d), device(0),
+#ifdef USE_IRRKLANG
+ irrKlang(0), ballSound(0), impactSound(0),
+#endif
+#ifdef USE_SDL_MIXER
+ stream(0), ballSound(0), impactSound(0),
+#endif
+ currentScene(-2), backColor(0), statusText(0), inOutFader(0),
+ quakeLevelMesh(0), quakeLevelNode(0), skyboxNode(0), model1(0), model2(0),
+ campFire(0), metaSelector(0), mapSelector(0), sceneStartTime(0),
+ timeForThisScene(0)
+{
+}
+
+
+CDemo::~CDemo()
+{
+ if (mapSelector)
+ mapSelector->drop();
+
+ if (metaSelector)
+ metaSelector->drop();
+
+#ifdef USE_IRRKLANG
+ if (irrKlang)
+ irrKlang->drop();
+#endif
+}
+
+
+void CDemo::run()
+{
+ core::dimension2d<u32> resolution (800, 600);
+
+ if ( driverType == video::EDT_BURNINGSVIDEO || driverType == video::EDT_SOFTWARE )
+ {
+ resolution.Width = 640;
+ resolution.Height = 480;
+ }
+
+ irr::SIrrlichtCreationParameters params;
+ params.DriverType=driverType;
+ params.WindowSize=resolution;
+ params.Bits=32;
+ params.Fullscreen=fullscreen;
+ params.Stencilbuffer=shadows;
+ params.Vsync=vsync;
+ params.AntiAlias=aa?8:0;
+ params.EventReceiver=this;
+
+ device = createDeviceEx(params);
+ if (!device)
+ return;
+
+ if (device->getFileSystem()->existFile("irrlicht.dat"))
+ device->getFileSystem()->addFileArchive("irrlicht.dat");
+ else
+ device->getFileSystem()->addFileArchive("../../media/irrlicht.dat");
+ if (device->getFileSystem()->existFile("map-20kdm2.pk3"))
+ device->getFileSystem()->addFileArchive("map-20kdm2.pk3");
+ else
+ device->getFileSystem()->addFileArchive("../../media/map-20kdm2.pk3");
+
+ video::IVideoDriver* driver = device->getVideoDriver();
+ scene::ISceneManager* smgr = device->getSceneManager();
+ gui::IGUIEnvironment* guienv = device->getGUIEnvironment();
+
+ device->setWindowCaption(L"Irrlicht Engine Demo");
+
+ // set ambient light
+ smgr->setAmbientLight ( video::SColorf ( 0x00c0c0c0 ) );
+
+ wchar_t tmp[255];
+
+ // draw everything
+
+ s32 now = 0;
+ s32 lastfps = 0;
+ sceneStartTime = device->getTimer()->getTime();
+ while(device->run() && driver)
+ {
+ if (device->isWindowActive())
+ {
+ #ifdef USE_IRRKLANG
+ // update 3D position for sound engine
+ scene::ICameraSceneNode* cam = smgr->getActiveCamera();
+ if (cam && irrKlang)
+ irrKlang->setListenerPosition(cam->getAbsolutePosition(), cam->getTarget());
+ #endif
+
+ // load next scene if necessary
+ now = device->getTimer()->getTime();
+ if (now - sceneStartTime > timeForThisScene && timeForThisScene!=-1)
+ switchToNextScene();
+
+ createParticleImpacts();
+
+ driver->beginScene(timeForThisScene != -1, true, backColor);
+
+ smgr->drawAll();
+ guienv->drawAll();
+ driver->endScene();
+
+ // write statistics
+ const s32 nowfps = driver->getFPS();
+
+ swprintf(tmp, 255, L"%ls fps:%3d triangles:%0.3f mio/s",
+ driver->getName(), driver->getFPS(),
+ driver->getPrimitiveCountDrawn(1) * (1.f / 1000000.f));
+
+ statusText->setText(tmp);
+ if ( nowfps != lastfps )
+ {
+ device->setWindowCaption(tmp);
+ lastfps = nowfps;
+ }
+ }
+ }
+
+ device->drop();
+}
+
+
+bool CDemo::OnEvent(const SEvent& event)
+{
+ if (!device)
+ return false;
+
+ if (event.EventType == EET_KEY_INPUT_EVENT &&
+ event.KeyInput.Key == KEY_ESCAPE &&
+ event.KeyInput.PressedDown == false)
+ {
+ // user wants to quit.
+ if (currentScene < 3)
+ timeForThisScene = 0;
+ else
+ device->closeDevice();
+ }
+ else
+ if (((event.EventType == EET_KEY_INPUT_EVENT &&
+ event.KeyInput.Key == KEY_SPACE &&
+ event.KeyInput.PressedDown == false) ||
+ (event.EventType == EET_MOUSE_INPUT_EVENT &&
+ event.MouseInput.Event == EMIE_LMOUSE_LEFT_UP)) &&
+ currentScene == 3)
+ {
+ // shoot
+ shoot();
+ }
+ else
+ if (event.EventType == EET_KEY_INPUT_EVENT &&
+ event.KeyInput.Key == KEY_F9 &&
+ event.KeyInput.PressedDown == false)
+ {
+ video::IImage* image = device->getVideoDriver()->createScreenShot();
+ if (image)
+ {
+ device->getVideoDriver()->writeImageToFile(image, "screenshot.bmp");
+ device->getVideoDriver()->writeImageToFile(image, "screenshot.png");
+ device->getVideoDriver()->writeImageToFile(image, "screenshot.tga");
+ device->getVideoDriver()->writeImageToFile(image, "screenshot.ppm");
+ device->getVideoDriver()->writeImageToFile(image, "screenshot.jpg");
+ device->getVideoDriver()->writeImageToFile(image, "screenshot.pcx");
+ image->drop();
+ }
+ }
+ else
+ if (device->getSceneManager()->getActiveCamera())
+ {
+ device->getSceneManager()->getActiveCamera()->OnEvent(event);
+ return true;
+ }
+
+ return false;
+}
+
+
+void CDemo::switchToNextScene()
+{
+ currentScene++;
+ if (currentScene > 3)
+ currentScene = 1;
+
+ scene::ISceneManager* sm = device->getSceneManager();
+ scene::ISceneNodeAnimator* sa = 0;
+ scene::ICameraSceneNode* camera = 0;
+
+ camera = sm->getActiveCamera();
+ if (camera)
+ {
+ sm->setActiveCamera(0);
+ camera->remove();
+ camera = 0;
+ }
+
+ switch(currentScene)
+ {
+ case -1: // loading screen
+ timeForThisScene = 0;
+ createLoadingScreen();
+ break;
+
+ case 0: // load scene
+ timeForThisScene = 0;
+ loadSceneData();
+ break;
+
+ case 1: // panorama camera
+ {
+ currentScene += 1;
+ //camera = sm->addCameraSceneNode(0, core::vector3df(0,0,0), core::vector3df(-586,708,52));
+ //camera->setTarget(core::vector3df(0,400,0));
+
+ core::array<core::vector3df> points;
+
+ points.push_back(core::vector3df(-931.473755f, 138.300003f, 987.279114f)); // -49873
+ points.push_back(core::vector3df(-847.902222f, 136.757553f, 915.792725f)); // -50559
+ points.push_back(core::vector3df(-748.680420f, 152.254501f, 826.418945f)); // -51964
+ points.push_back(core::vector3df(-708.428406f, 213.569580f, 784.466675f)); // -53251
+ points.push_back(core::vector3df(-686.217651f, 288.141174f, 762.965576f)); // -54015
+ points.push_back(core::vector3df(-679.685059f, 365.095612f, 756.551453f)); // -54733
+ points.push_back(core::vector3df(-671.317871f, 447.360107f, 749.394592f)); // -55588
+ points.push_back(core::vector3df(-669.468445f, 583.335632f, 747.711853f)); // -56178
+ points.push_back(core::vector3df(-667.611267f, 727.313232f, 746.018250f)); // -56757
+ points.push_back(core::vector3df(-665.853210f, 862.791931f, 744.436096f)); // -57859
+ points.push_back(core::vector3df(-642.649597f, 1026.047607f, 724.259827f)); // -59705
+ points.push_back(core::vector3df(-517.793884f, 838.396790f, 490.326050f)); // -60983
+ points.push_back(core::vector3df(-474.387299f, 715.691467f, 344.639984f)); // -61629
+ points.push_back(core::vector3df(-444.600250f, 601.155701f, 180.938095f)); // -62319
+ points.push_back(core::vector3df(-414.808899f, 479.691406f, 4.866660f)); // -63048
+ points.push_back(core::vector3df(-410.418945f, 429.642242f, -134.332687f)); // -63757
+ points.push_back(core::vector3df(-399.837585f, 411.498383f, -349.350983f)); // -64418
+ points.push_back(core::vector3df(-390.756653f, 403.970093f, -524.454407f)); // -65005
+ points.push_back(core::vector3df(-334.864227f, 350.065491f, -732.397400f)); // -65701
+ points.push_back(core::vector3df(-195.253387f, 349.577209f, -812.475891f)); // -66335
+ points.push_back(core::vector3df(16.255573f, 363.743134f, -833.800415f)); // -67170
+ points.push_back(core::vector3df(234.940964f, 352.957825f, -820.150696f)); // -67939
+ points.push_back(core::vector3df(436.797668f, 349.236450f, -816.914185f)); // -68596
+ points.push_back(core::vector3df(575.236206f, 356.244812f, -719.788513f)); // -69166
+ points.push_back(core::vector3df(594.131042f, 387.173828f, -609.675598f)); // -69744
+ points.push_back(core::vector3df(617.615234f, 412.002899f, -326.174072f)); // -70640
+ points.push_back(core::vector3df(606.456848f, 403.221954f, -104.179291f)); // -71390
+ points.push_back(core::vector3df(610.958252f, 407.037750f, 117.209778f)); // -72085
+ points.push_back(core::vector3df(597.956909f, 395.167877f, 345.942200f)); // -72817
+ points.push_back(core::vector3df(587.383118f, 391.444519f, 566.098633f)); // -73477
+ points.push_back(core::vector3df(559.572449f, 371.991333f, 777.689453f)); // -74124
+ points.push_back(core::vector3df(423.753204f, 329.990051f, 925.859741f)); // -74941
+ points.push_back(core::vector3df(247.520050f, 252.818954f, 935.311829f)); // -75651
+ points.push_back(core::vector3df(114.756012f, 199.799759f, 805.014160f));
+ points.push_back(core::vector3df(96.783348f, 181.639481f, 648.188110f));
+ points.push_back(core::vector3df(97.865623f, 138.905975f, 484.812561f));
+ points.push_back(core::vector3df(99.612457f, 102.463669f, 347.603210f));
+ points.push_back(core::vector3df(99.612457f, 102.463669f, 347.603210f));
+ points.push_back(core::vector3df(99.612457f, 102.463669f, 347.603210f));
+
+ timeForThisScene = (points.size()-3)* 1000;
+
+ camera = sm->addCameraSceneNode(0, points[0], core::vector3df(0 ,400,0));
+ //camera->setTarget(core::vector3df(0,400,0));
+
+ sa = sm->createFollowSplineAnimator(device->getTimer()->getTime(),
+ points);
+ camera->addAnimator(sa);
+ sa->drop();
+
+ model1->setVisible(false);
+ model2->setVisible(false);
+ campFire->setVisible(false);
+ inOutFader->fadeIn(7000);
+ }
+ break;
+
+ case 2: // down fly anim camera
+ camera = sm->addCameraSceneNode(0, core::vector3df(100,40,-80), core::vector3df(844,670,-885));
+ sa = sm->createFlyStraightAnimator(core::vector3df(94, 1002, 127),
+ core::vector3df(108, 15, -60), 10000, true);
+ camera->addAnimator(sa);
+ timeForThisScene = 9900;
+ model1->setVisible(true);
+ model2->setVisible(false);
+ campFire->setVisible(false);
+ sa->drop();
+ break;
+
+ case 3: // interactive, go around
+ {
+ model1->setVisible(true);
+ model2->setVisible(true);
+ campFire->setVisible(true);
+ timeForThisScene = -1;
+
+ SKeyMap keyMap[9];
+ keyMap[0].Action = EKA_MOVE_FORWARD;
+ keyMap[0].KeyCode = KEY_UP;
+ keyMap[1].Action = EKA_MOVE_FORWARD;
+ keyMap[1].KeyCode = KEY_KEY_W;
+
+ keyMap[2].Action = EKA_MOVE_BACKWARD;
+ keyMap[2].KeyCode = KEY_DOWN;
+ keyMap[3].Action = EKA_MOVE_BACKWARD;
+ keyMap[3].KeyCode = KEY_KEY_S;
+
+ keyMap[4].Action = EKA_STRAFE_LEFT;
+ keyMap[4].KeyCode = KEY_LEFT;
+ keyMap[5].Action = EKA_STRAFE_LEFT;
+ keyMap[5].KeyCode = KEY_KEY_A;
+
+ keyMap[6].Action = EKA_STRAFE_RIGHT;
+ keyMap[6].KeyCode = KEY_RIGHT;
+ keyMap[7].Action = EKA_STRAFE_RIGHT;
+ keyMap[7].KeyCode = KEY_KEY_D;
+
+ keyMap[8].Action = EKA_JUMP_UP;
+ keyMap[8].KeyCode = KEY_KEY_J;
+
+ camera = sm->addCameraSceneNodeFPS(0, 100.0f, .4f, -1, keyMap, 9, false, 3.f);
+ camera->setPosition(core::vector3df(108,140,-140));
+ camera->setFarValue(5000.0f);
+
+ scene::ISceneNodeAnimatorCollisionResponse* collider =
+ sm->createCollisionResponseAnimator(
+ metaSelector, camera, core::vector3df(25,50,25),
+ core::vector3df(0, quakeLevelMesh ? -10.f : 0.0f,0),
+ core::vector3df(0,45,0), 0.005f);
+
+ camera->addAnimator(collider);
+ collider->drop();
+ }
+ break;
+ }
+
+ sceneStartTime = device->getTimer()->getTime();
+}
+
+
+void CDemo::loadSceneData()
+{
+ // load quake level
+
+ video::IVideoDriver* driver = device->getVideoDriver();
+ scene::ISceneManager* sm = device->getSceneManager();
+
+ // Quake3 Shader controls Z-Writing
+ sm->getParameters()->setAttribute(scene::ALLOW_ZWRITE_ON_TRANSPARENT, true);
+
+ quakeLevelMesh = (scene::IQ3LevelMesh*) sm->getMesh("maps/20kdm2.bsp");
+
+ if (quakeLevelMesh)
+ {
+ u32 i;
+
+ //move all quake level meshes (non-realtime)
+ core::matrix4 m;
+ m.setTranslation(core::vector3df(-1300,-70,-1249));
+
+ for ( i = 0; i != scene::quake3::E_Q3_MESH_SIZE; ++i )
+ sm->getMeshManipulator()->transform(quakeLevelMesh->getMesh(i), m);
+
+ quakeLevelNode = sm->addOctreeSceneNode(
+ quakeLevelMesh->getMesh( scene::quake3::E_Q3_MESH_GEOMETRY));
+ if (quakeLevelNode)
+ {
+ //quakeLevelNode->setPosition(core::vector3df(-1300,-70,-1249));
+ quakeLevelNode->setVisible(true);
+
+ // create map triangle selector
+ mapSelector = sm->createOctreeTriangleSelector(quakeLevelMesh->getMesh(0),
+ quakeLevelNode, 128);
+
+ // if not using shader and no gamma it's better to use more lighting, because
+ // quake3 level are usually dark
+ quakeLevelNode->setMaterialType ( video::EMT_LIGHTMAP_M4 );
+
+ // set additive blending if wanted
+ if (additive)
+ quakeLevelNode->setMaterialType(video::EMT_LIGHTMAP_ADD);
+ }
+
+ // the additional mesh can be quite huge and is unoptimized
+ scene::IMesh * additional_mesh = quakeLevelMesh->getMesh ( scene::quake3::E_Q3_MESH_ITEMS );
+
+ for ( i = 0; i!= additional_mesh->getMeshBufferCount (); ++i )
+ {
+ scene::IMeshBuffer *meshBuffer = additional_mesh->getMeshBuffer ( i );
+ const video::SMaterial &material = meshBuffer->getMaterial();
+
+ //! The ShaderIndex is stored in the material parameter
+ s32 shaderIndex = (s32) material.MaterialTypeParam2;
+
+ // the meshbuffer can be rendered without additional support, or it has no shader
+ const scene::quake3::IShader *shader = quakeLevelMesh->getShader ( shaderIndex );
+ if ( 0 == shader )
+ {
+ continue;
+ }
+ // Now add the MeshBuffer(s) with the current Shader to the Manager
+ sm->addQuake3SceneNode ( meshBuffer, shader );
+ }
+ }
+
+ // load sydney model and create 2 instances
+
+ scene::IAnimatedMesh* mesh = 0;
+ mesh = sm->getMesh("../../media/sydney.md2");
+ if (mesh)
+ {
+ model1 = sm->addAnimatedMeshSceneNode(mesh);
+ if (model1)
+ {
+ model1->setMaterialTexture(0, driver->getTexture("../../media/spheremap.jpg"));
+ model1->setPosition(core::vector3df(100,40,-80));
+ model1->setScale(core::vector3df(2,2,2));
+ model1->setMD2Animation(scene::EMAT_STAND);
+ model1->setMaterialFlag(video::EMF_LIGHTING, false);
+ model1->setMaterialFlag(video::EMF_NORMALIZE_NORMALS, true);
+ model1->setMaterialType(video::EMT_SPHERE_MAP);
+ model1->addShadowVolumeSceneNode();
+ }
+
+ model2 = sm->addAnimatedMeshSceneNode(mesh);
+ if (model2)
+ {
+ model2->setPosition(core::vector3df(180,15,-60));
+ model2->setScale(core::vector3df(2,2,2));
+ model2->setMD2Animation(scene::EMAT_RUN);
+ model2->setMaterialTexture(0, device->getVideoDriver()->getTexture("../../media/sydney.bmp"));
+ model2->setMaterialFlag(video::EMF_LIGHTING, true);
+ model2->setMaterialFlag(video::EMF_NORMALIZE_NORMALS, true);
+ model2->addShadowVolumeSceneNode();
+ }
+ }
+
+ scene::ISceneNodeAnimator* anim = 0;
+
+ // create sky box
+ driver->setTextureCreationFlag(video::ETCF_CREATE_MIP_MAPS, false);
+ skyboxNode = sm->addSkyBoxSceneNode(
+ driver->getTexture("../../media/irrlicht2_up.jpg"),
+ driver->getTexture("../../media/irrlicht2_dn.jpg"),
+ driver->getTexture("../../media/irrlicht2_lf.jpg"),
+ driver->getTexture("../../media/irrlicht2_rt.jpg"),
+ driver->getTexture("../../media/irrlicht2_ft.jpg"),
+ driver->getTexture("../../media/irrlicht2_bk.jpg"));
+ driver->setTextureCreationFlag(video::ETCF_CREATE_MIP_MAPS, true);
+
+ // create walk-between-portals animation
+
+ core::vector3df waypoint[2];
+ waypoint[0].set(-150,40,100);
+ waypoint[1].set(350,40,100);
+
+ if (model2)
+ {
+ anim = device->getSceneManager()->createFlyStraightAnimator(
+ waypoint[0], waypoint[1], 2000, true);
+ model2->addAnimator(anim);
+ anim->drop();
+ }
+
+ // create animation for portals;
+
+ core::array<video::ITexture*> textures;
+ for (s32 g=1; g<8; ++g)
+ {
+ core::stringc tmp("../../media/portal");
+ tmp += g;
+ tmp += ".bmp";
+ video::ITexture* t = driver->getTexture( tmp );
+ textures.push_back(t);
+ }
+
+ anim = sm->createTextureAnimator(textures, 100);
+
+ // create portals
+
+ scene::IBillboardSceneNode* bill = 0;
+
+ for (int r=0; r<2; ++r)
+ {
+ bill = sm->addBillboardSceneNode(0, core::dimension2d<f32>(100,100),
+ waypoint[r]+ core::vector3df(0,20,0));
+ bill->setMaterialFlag(video::EMF_LIGHTING, false);
+ bill->setMaterialTexture(0, driver->getTexture("../../media/portal1.bmp"));
+ bill->setMaterialType(video::EMT_TRANSPARENT_ADD_COLOR);
+ bill->addAnimator(anim);
+ }
+
+ anim->drop();
+
+ // create cirlce flying dynamic light with transparent billboard attached
+
+ scene::ILightSceneNode* light = 0;
+
+ light = sm->addLightSceneNode(0,
+ core::vector3df(0,0,0), video::SColorf(1.0f, 1.0f, 1.f, 1.0f), 500.f);
+
+ anim = sm->createFlyCircleAnimator(
+ core::vector3df(100,150,80), 80.0f, 0.0005f);
+
+ light->addAnimator(anim);
+ anim->drop();
+
+ bill = device->getSceneManager()->addBillboardSceneNode(
+ light, core::dimension2d<f32>(40,40));
+ bill->setMaterialFlag(video::EMF_LIGHTING, false);
+ bill->setMaterialTexture(0, driver->getTexture("../../media/particlewhite.bmp"));
+ bill->setMaterialType(video::EMT_TRANSPARENT_ADD_COLOR);
+
+ // create meta triangle selector with all triangles selectors in it.
+ metaSelector = sm->createMetaTriangleSelector();
+ metaSelector->addTriangleSelector(mapSelector);
+
+ // create camp fire
+
+ campFire = sm->addParticleSystemSceneNode(false);
+ campFire->setPosition(core::vector3df(100,120,600));
+ campFire->setScale(core::vector3df(2,2,2));
+
+ scene::IParticleEmitter* em = campFire->createBoxEmitter(
+ core::aabbox3d<f32>(-7,0,-7,7,1,7),
+ core::vector3df(0.0f,0.06f,0.0f),
+ 80,100, video::SColor(1,255,255,255),video::SColor(1,255,255,255), 800,2000);
+
+ em->setMinStartSize(core::dimension2d<f32>(20.0f, 10.0f));
+ em->setMaxStartSize(core::dimension2d<f32>(20.0f, 10.0f));
+ campFire->setEmitter(em);
+ em->drop();
+
+ scene::IParticleAffector* paf = campFire->createFadeOutParticleAffector();
+ campFire->addAffector(paf);
+ paf->drop();
+
+ campFire->setMaterialFlag(video::EMF_LIGHTING, false);
+ campFire->setMaterialFlag(video::EMF_ZWRITE_ENABLE, false);
+ campFire->setMaterialTexture(0, driver->getTexture("../../media/fireball.bmp"));
+ campFire->setMaterialType(video::EMT_TRANSPARENT_ADD_COLOR);
+
+ // load music
+
+ #ifdef USE_IRRKLANG
+ if (music)
+ startIrrKlang();
+ #endif
+ #ifdef USE_SDL_MIXER
+ if (music)
+ startSound();
+ #endif
+}
+
+
+void CDemo::createLoadingScreen()
+{
+ core::dimension2d<u32> size = device->getVideoDriver()->getScreenSize();
+
+ device->getCursorControl()->setVisible(false);
+
+ // setup loading screen
+
+ backColor.set(255,90,90,156);
+
+ // create in fader
+
+ inOutFader = device->getGUIEnvironment()->addInOutFader();
+ inOutFader->setColor(backColor, video::SColor ( 0, 230, 230, 230 ));
+
+ // irrlicht logo
+ device->getGUIEnvironment()->addImage(device->getVideoDriver()->getTexture("../../media/irrlichtlogo2.png"),
+ core::position2d<s32>(5,5));
+
+ // loading text
+
+ const int lwidth = size.Width - 20;
+ const int lheight = 16;
+
+ core::rect<int> pos(10, size.Height-lheight-10, 10+lwidth, size.Height-10);
+
+ device->getGUIEnvironment()->addImage(pos);
+ statusText = device->getGUIEnvironment()->addStaticText(L"Loading...", pos, true);
+ statusText->setOverrideColor(video::SColor(255,205,200,200));
+
+ // load bigger font
+
+ device->getGUIEnvironment()->getSkin()->setFont(
+ device->getGUIEnvironment()->getFont("../../media/fonthaettenschweiler.bmp"));
+
+ // set new font color
+
+ device->getGUIEnvironment()->getSkin()->setColor(gui::EGDC_BUTTON_TEXT,
+ video::SColor(255,100,100,100));
+}
+
+
+void CDemo::shoot()
+{
+ scene::ISceneManager* sm = device->getSceneManager();
+ scene::ICameraSceneNode* camera = sm->getActiveCamera();
+
+ if (!camera || !mapSelector)
+ return;
+
+ SParticleImpact imp;
+ imp.when = 0;
+
+ // get line of camera
+
+ core::vector3df start = camera->getPosition();
+ core::vector3df end = (camera->getTarget() - start);
+ end.normalize();
+ start += end*8.0f;
+ end = start + (end * camera->getFarValue());
+
+ core::triangle3df triangle;
+
+ core::line3d<f32> line(start, end);
+
+ // get intersection point with map
+ scene::ISceneNode* hitNode;
+ if (sm->getSceneCollisionManager()->getCollisionPoint(
+ line, mapSelector, end, triangle, hitNode))
+ {
+ // collides with wall
+ core::vector3df out = triangle.getNormal();
+ out.setLength(0.03f);
+
+ imp.when = 1;
+ imp.outVector = out;
+ imp.pos = end;
+ }
+ else
+ {
+ // doesnt collide with wall
+ core::vector3df start = camera->getPosition();
+ core::vector3df end = (camera->getTarget() - start);
+ end.normalize();
+ start += end*8.0f;
+ end = start + (end * camera->getFarValue());
+ }
+
+ // create fire ball
+ scene::ISceneNode* node = 0;
+ node = sm->addBillboardSceneNode(0,
+ core::dimension2d<f32>(25,25), start);
+
+ node->setMaterialFlag(video::EMF_LIGHTING, false);
+ node->setMaterialTexture(0, device->getVideoDriver()->getTexture("../../media/fireball.bmp"));
+ node->setMaterialType(video::EMT_TRANSPARENT_ADD_COLOR);
+
+ f32 length = (f32)(end - start).getLength();
+ const f32 speed = 0.6f;
+ u32 time = (u32)(length / speed);
+
+ scene::ISceneNodeAnimator* anim = 0;
+
+ // set flight line
+
+ anim = sm->createFlyStraightAnimator(start, end, time);
+ node->addAnimator(anim);
+ anim->drop();
+
+ anim = sm->createDeleteAnimator(time);
+ node->addAnimator(anim);
+ anim->drop();
+
+ if (imp.when)
+ {
+ // create impact note
+ imp.when = device->getTimer()->getTime() + (time - 100);
+ Impacts.push_back(imp);
+ }
+
+ // play sound
+ #ifdef USE_IRRKLANG
+ if (ballSound)
+ irrKlang->play2D(ballSound);
+ #endif
+ #ifdef USE_SDL_MIXER
+ if (ballSound)
+ playSound(ballSound);
+ #endif
+}
+
+
+void CDemo::createParticleImpacts()
+{
+ u32 now = device->getTimer()->getTime();
+ scene::ISceneManager* sm = device->getSceneManager();
+
+ for (s32 i=0; i<(s32)Impacts.size(); ++i)
+ if (now > Impacts[i].when)
+ {
+ // create smoke particle system
+ scene::IParticleSystemSceneNode* pas = 0;
+
+ pas = sm->addParticleSystemSceneNode(false, 0, -1, Impacts[i].pos);
+
+ pas->setParticleSize(core::dimension2d<f32>(10.0f, 10.0f));
+
+ scene::IParticleEmitter* em = pas->createBoxEmitter(
+ core::aabbox3d<f32>(-5,-5,-5,5,5,5),
+ Impacts[i].outVector, 20,40, video::SColor(50,255,255,255),video::SColor(50,255,255,255),
+ 1200,1600, 20);
+
+ pas->setEmitter(em);
+ em->drop();
+
+ scene::IParticleAffector* paf = campFire->createFadeOutParticleAffector();
+ pas->addAffector(paf);
+ paf->drop();
+
+ pas->setMaterialFlag(video::EMF_LIGHTING, false);
+ pas->setMaterialFlag(video::EMF_ZWRITE_ENABLE, false);
+ pas->setMaterialTexture(0, device->getVideoDriver()->getTexture("../../media/smoke.bmp"));
+ pas->setMaterialType(video::EMT_TRANSPARENT_ADD_COLOR);
+
+ scene::ISceneNodeAnimator* anim = sm->createDeleteAnimator(2000);
+ pas->addAnimator(anim);
+ anim->drop();
+
+ // play impact sound
+ #ifdef USE_IRRKLANG
+ if (irrKlang)
+ {
+ irrklang::ISound* sound =
+ irrKlang->play3D(impactSound, Impacts[i].pos, false, false, true);
+
+ if (sound)
+ {
+ // adjust max value a bit to make to sound of an impact louder
+ sound->setMinDistance(400);
+ sound->drop();
+ }
+ }
+ #endif
+
+ #ifdef USE_SDL_MIXER
+ if (impactSound)
+ playSound(impactSound);
+ #endif
+
+ // delete entry
+ Impacts.erase(i);
+ i--;
+ }
+}
+
+
+#ifdef USE_IRRKLANG
+void CDemo::startIrrKlang()
+{
+ irrKlang = irrklang::createIrrKlangDevice();
+
+ if (!irrKlang)
+ return;
+
+ // play music
+
+ irrklang::ISound* snd = irrKlang->play2D("../../media/IrrlichtTheme.ogg", true, false, true);
+ if ( !snd )
+ snd = irrKlang->play2D("IrrlichtTheme.ogg", true, false, true);
+
+ if (snd)
+ {
+ snd->setVolume(0.5f); // 50% volume
+ snd->drop();
+ }
+
+ // preload both sound effects
+
+ ballSound = irrKlang->getSoundSource("../../media/ball.wav");
+ impactSound = irrKlang->getSoundSource("../../media/impact.wav");
+}
+#endif
+
+
+#ifdef USE_SDL_MIXER
+void CDemo::startSound()
+{
+ stream = NULL;
+ ballSound = NULL;
+ impactSound = NULL;
+
+ SDL_Init(SDL_INIT_AUDIO);
+
+ if (Mix_OpenAudio(22050, AUDIO_S16, 2, 128))
+ return;
+
+ stream = Mix_LoadMUS("../../media/IrrlichtTheme.ogg");
+ if (stream)
+ Mix_PlayMusic(stream, -1);
+
+ ballSound = Mix_LoadWAV("../../media/ball.wav");
+ impactSound = Mix_LoadWAV("../../media/impact.wav");
+}
+
+void CDemo::playSound(Mix_Chunk *sample)
+{
+ if (sample)
+ Mix_PlayChannel(-1, sample, 0);
+}
+
+void CDemo::pollSound(void)
+{
+ SDL_Event event;
+
+ while (SDL_PollEvent(&event))
+ ;
+}
+#endif
diff --git a/examples/Demo/CDemo.h b/examples/Demo/CDemo.h new file mode 100644 index 0000000..e2c564d --- /dev/null +++ b/examples/Demo/CDemo.h @@ -0,0 +1,110 @@ +// This is a Demo of the Irrlicht Engine (c) 2006 by N.Gebhardt.
+// This file is not documented.
+
+#ifndef __C_DEMO_H_INCLUDED__
+#define __C_DEMO_H_INCLUDED__
+
+//#define USE_IRRKLANG
+//#define USE_SDL_MIXER
+
+#include <irrlicht.h>
+
+#ifdef _IRR_WINDOWS_
+#include <windows.h>
+#endif
+
+using namespace irr;
+
+// audio support
+
+#ifdef USE_IRRKLANG
+ #include <irrKlang.h> // problem here? go to http://www.ambiera.com/irrklang and download
+ // the irrKlang library or undefine USE_IRRKLANG at the beginning
+ // of this file.
+ #ifdef _IRR_WINDOWS_
+ #pragma comment (lib, "irrKlang.lib")
+ #endif
+#endif
+#ifdef USE_SDL_MIXER
+ # include <SDL/SDL.h>
+ # include <SDL/SDL_mixer.h>
+#endif
+
+const int CAMERA_COUNT = 7;
+
+class CDemo : public IEventReceiver
+{
+public:
+
+ CDemo(bool fullscreen, bool music, bool shadows, bool additive, bool vsync, bool aa, video::E_DRIVER_TYPE driver);
+
+ ~CDemo();
+
+ void run();
+
+ virtual bool OnEvent(const SEvent& event);
+
+private:
+
+ void createLoadingScreen();
+ void loadSceneData();
+ void switchToNextScene();
+ void shoot();
+ void createParticleImpacts();
+
+ bool fullscreen;
+ bool music;
+ bool shadows;
+ bool additive;
+ bool vsync;
+ bool aa;
+ video::E_DRIVER_TYPE driverType;
+ IrrlichtDevice *device;
+
+#ifdef USE_IRRKLANG
+ void startIrrKlang();
+ irrklang::ISoundEngine* irrKlang;
+ irrklang::ISoundSource* ballSound;
+ irrklang::ISoundSource* impactSound;
+#endif
+
+#ifdef USE_SDL_MIXER
+ void startSound();
+ void playSound(Mix_Chunk *);
+ void pollSound();
+ Mix_Music *stream;
+ Mix_Chunk *ballSound;
+ Mix_Chunk *impactSound;
+#endif
+
+ struct SParticleImpact
+ {
+ u32 when;
+ core::vector3df pos;
+ core::vector3df outVector;
+ };
+
+ int currentScene;
+ video::SColor backColor;
+
+ gui::IGUIStaticText* statusText;
+ gui::IGUIInOutFader* inOutFader;
+
+ scene::IQ3LevelMesh* quakeLevelMesh;
+ scene::ISceneNode* quakeLevelNode;
+ scene::ISceneNode* skyboxNode;
+ scene::IAnimatedMeshSceneNode* model1;
+ scene::IAnimatedMeshSceneNode* model2;
+ scene::IParticleSystemSceneNode* campFire;
+
+ scene::IMetaTriangleSelector* metaSelector;
+ scene::ITriangleSelector* mapSelector;
+
+ s32 sceneStartTime;
+ s32 timeForThisScene;
+
+ core::array<SParticleImpact> Impacts;
+};
+
+#endif
+
diff --git a/examples/Demo/CMainMenu.cpp b/examples/Demo/CMainMenu.cpp new file mode 100644 index 0000000..aa963e5 --- /dev/null +++ b/examples/Demo/CMainMenu.cpp @@ -0,0 +1,378 @@ +// This is a Demo of the Irrlicht Engine (c) 2005-2009 by N.Gebhardt.
+// This file is not documented.
+
+#include "CMainMenu.h"
+
+
+
+CMainMenu::CMainMenu()
+: startButton(0), MenuDevice(0), selected(2), start(false), fullscreen(true),
+ music(true), shadows(false), additive(false), transparent(true), vsync(false), aa(false)
+{
+}
+
+
+bool CMainMenu::run(bool& outFullscreen, bool& outMusic, bool& outShadows,
+ bool& outAdditive, bool& outVSync, bool& outAA,
+ video::E_DRIVER_TYPE& outDriver)
+{
+ //video::E_DRIVER_TYPE driverType = video::EDT_DIRECT3D9;
+ //video::E_DRIVER_TYPE driverType = video::EDT_OPENGL;
+ video::E_DRIVER_TYPE driverType = video::EDT_BURNINGSVIDEO;
+ //video::E_DRIVER_TYPE driverType = video::EDT_SOFTWARE;
+
+ MenuDevice = createDevice(driverType,
+ core::dimension2d<u32>(512, 384), 16, false, false, false, this);
+
+ if (MenuDevice->getFileSystem()->existFile("irrlicht.dat"))
+ MenuDevice->getFileSystem()->addFileArchive("irrlicht.dat");
+ else
+ MenuDevice->getFileSystem()->addFileArchive("../../media/irrlicht.dat");
+
+ video::IVideoDriver* driver = MenuDevice->getVideoDriver();
+ scene::ISceneManager* smgr = MenuDevice->getSceneManager();
+ gui::IGUIEnvironment* guienv = MenuDevice->getGUIEnvironment();
+
+ core::stringw str = "Irrlicht Engine Demo v";
+ str += MenuDevice->getVersion();
+ MenuDevice->setWindowCaption(str.c_str());
+
+ // set new Skin
+ gui::IGUISkin* newskin = guienv->createSkin(gui::EGST_BURNING_SKIN);
+ guienv->setSkin(newskin);
+ newskin->drop();
+
+ // load font
+ gui::IGUIFont* font = guienv->getFont("../../media/fonthaettenschweiler.bmp");
+ if (font)
+ guienv->getSkin()->setFont(font);
+
+ // add images
+
+ const s32 leftX = 260;
+
+ // add tab control
+ gui::IGUITabControl* tabctrl = guienv->addTabControl(core::rect<int>(leftX,10,512-10,384-10),
+ 0, true, true);
+ gui::IGUITab* optTab = tabctrl->addTab(L"Demo");
+ gui::IGUITab* aboutTab = tabctrl->addTab(L"About");
+
+ // add list box
+
+ gui::IGUIListBox* box = guienv->addListBox(core::rect<int>(10,10,220,120), optTab, 1);
+ box->addItem(L"OpenGL 1.5");
+ box->addItem(L"Direct3D 8.1");
+ box->addItem(L"Direct3D 9.0c");
+ box->addItem(L"Burning's Video 0.47");
+ box->addItem(L"Irrlicht Software Renderer 1.0");
+ box->setSelected(selected);
+
+ // add button
+
+ startButton = guienv->addButton(core::rect<int>(30,295,200,324), optTab, 2, L"Start Demo");
+
+ // add checkbox
+
+ const s32 d = 50;
+
+ guienv->addCheckBox(fullscreen, core::rect<int>(20,85+d,130,110+d),
+ optTab, 3, L"Fullscreen");
+ guienv->addCheckBox(music, core::rect<int>(135,85+d,245,110+d),
+ optTab, 4, L"Music & Sfx");
+ guienv->addCheckBox(shadows, core::rect<int>(20,110+d,135,135+d),
+ optTab, 5, L"Realtime shadows");
+ guienv->addCheckBox(additive, core::rect<int>(20,135+d,230,160+d),
+ optTab, 6, L"Old HW compatible blending");
+ guienv->addCheckBox(vsync, core::rect<int>(20,160+d,230,185+d),
+ optTab, 7, L"Vertical synchronisation");
+ guienv->addCheckBox(aa, core::rect<int>(20,185+d,230,210+d),
+ optTab, 8, L"Antialiasing");
+
+ // add about text
+
+ const wchar_t* text2 = L"This is the tech demo of the Irrlicht engine. To start, "\
+ L"select a video driver which works best with your hardware and press 'Start Demo'.\n"\
+ L"What you currently see is displayed using the Burning Software Renderer (Thomas Alten).\n"\
+ L"The Irrlicht Engine was written by me, Nikolaus Gebhardt. The models, "\
+ L"maps and textures were placed at my disposal by B.Collins, M.Cook and J.Marton. The music was created by "\
+ L"M.Rohde and is played back by irrKlang.\n"\
+ L"For more informations, please visit the homepage of the Irrlicht engine:\nhttp://irrlicht.sourceforge.net";
+
+ guienv->addStaticText(text2, core::rect<int>(10, 10, 230, 320),
+ true, true, aboutTab);
+
+ // add md2 model
+
+ scene::IAnimatedMesh* mesh = smgr->getMesh("../../media/faerie.md2");
+ scene::IAnimatedMeshSceneNode* modelNode = smgr->addAnimatedMeshSceneNode(mesh);
+ if (modelNode)
+ {
+ modelNode->setPosition( core::vector3df(0.f, 0.f, -5.f) );
+ modelNode->setMaterialTexture(0, driver->getTexture("../../media/faerie2.bmp"));
+ modelNode->setMaterialFlag(video::EMF_LIGHTING, true);
+ modelNode->getMaterial(0).Shininess = 50.f;
+ modelNode->getMaterial(0).NormalizeNormals = true;
+ modelNode->setMD2Animation(scene::EMAT_STAND);
+ }
+
+ // set ambient light (no sun light in the catacombs)
+ smgr->setAmbientLight( video::SColorf(0.2f, 0.2f, 0.2f) );
+
+ scene::ILightSceneNode *light;
+ scene::ISceneNodeAnimator* anim;
+ scene::ISceneNode* bill;
+
+ enum eLightParticle
+ {
+ LIGHT_NONE,
+ LIGHT_GLOBAL,
+ LIGHT_RED,
+ LIGHT_BLUE
+ };
+ core::vector3df lightDir[2] = {
+ core::vector3df(0.f, 0.1f, 0.4f),
+ core::vector3df(0.f, 0.1f, -0.4f),
+ };
+
+ struct SLightParticle
+ {
+ eLightParticle type;
+ u32 dir;
+ };
+ const SLightParticle lightParticle[] =
+ {
+ //LIGHT_GLOBAL,0,
+ {LIGHT_RED,0},
+ {LIGHT_BLUE,0},
+ {LIGHT_RED,1},
+ {LIGHT_BLUE,1},
+ {LIGHT_NONE,0}
+ };
+
+ const SLightParticle *l = lightParticle;
+ while ( l->type != LIGHT_NONE )
+ {
+ switch ( l->type )
+ {
+ case LIGHT_GLOBAL:
+ // add illumination from the background
+ light = smgr->addLightSceneNode(0, core::vector3df(10.f,40.f,-5.f),
+ video::SColorf(0.2f, 0.2f, 0.2f), 90.f);
+ break;
+ case LIGHT_RED:
+ // add light nearly red
+ light = smgr->addLightSceneNode(0, core::vector3df(0,1,0),
+ video::SColorf(0.8f, 0.f, 0.f, 0.0f), 30.0f);
+ // attach red billboard to the light
+ bill = smgr->addBillboardSceneNode(light, core::dimension2d<f32>(10, 10));
+ if ( bill )
+ {
+ bill->setMaterialFlag(video::EMF_LIGHTING, false);
+ bill->setMaterialType(video::EMT_TRANSPARENT_ADD_COLOR);
+ bill->setMaterialTexture(0, driver->getTexture("../../media/particlered.bmp"));
+ }
+ // add fly circle animator to the light
+ anim = smgr->createFlyCircleAnimator(core::vector3df(0.f,0.f,-5.f),20.f,
+ 0.002f, lightDir [l->dir] );
+ light->addAnimator(anim);
+ anim->drop();
+ break;
+ case LIGHT_BLUE:
+ // add light nearly blue
+ light = smgr->addLightSceneNode(0, core::vector3df(0,1,0),
+ video::SColorf(0.f, 0.0f, 0.8f, 0.0f), 30.0f);
+ // attach blue billboard to the light
+ bill = smgr->addBillboardSceneNode(light, core::dimension2d<f32>(10, 10));
+ if (bill)
+ {
+ bill->setMaterialFlag(video::EMF_LIGHTING, false);
+ bill->setMaterialType(video::EMT_TRANSPARENT_ADD_COLOR);
+ bill->setMaterialTexture(0, driver->getTexture("../../media/portal1.bmp"));
+ }
+ // add fly circle animator to the light
+ anim = smgr->createFlyCircleAnimator(core::vector3df(0.f,0.f,-5.f),20.f,
+ -0.002f, lightDir [l->dir], 0.5f);
+ light->addAnimator(anim);
+ anim->drop();
+ break;
+ case LIGHT_NONE:
+ break;
+ }
+ l += 1;
+ }
+
+ // create a fixed camera
+ smgr->addCameraSceneNode(0, core::vector3df(45,0,0), core::vector3df(0,0,10));
+
+
+ // irrlicht logo and background
+ // add irrlicht logo
+ bool oldMipMapState = driver->getTextureCreationFlag(video::ETCF_CREATE_MIP_MAPS);
+ driver->setTextureCreationFlag(video::ETCF_CREATE_MIP_MAPS, false);
+
+ guienv->addImage(driver->getTexture("../../media/irrlichtlogo3.png"),
+ core::position2d<s32>(5,5));
+
+ video::ITexture* irrlichtBack = driver->getTexture("../../media/demoback.jpg");
+
+ driver->setTextureCreationFlag(video::ETCF_CREATE_MIP_MAPS, oldMipMapState);
+
+ // query original skin color
+ getOriginalSkinColor();
+
+ // set transparency
+ setTransparency();
+
+ // draw all
+
+ while(MenuDevice->run())
+ {
+ if (MenuDevice->isWindowActive())
+ {
+ driver->beginScene(false, true, video::SColor(0,0,0,0));
+
+ if (irrlichtBack)
+ driver->draw2DImage(irrlichtBack,
+ core::position2d<int>(0,0));
+
+ smgr->drawAll();
+ guienv->drawAll();
+ driver->endScene();
+ }
+ }
+
+ MenuDevice->drop();
+
+ outFullscreen = fullscreen;
+ outMusic = music;
+ outShadows = shadows;
+ outAdditive = additive;
+ outVSync = vsync;
+ outAA = aa;
+
+ switch(selected)
+ {
+ case 0: outDriver = video::EDT_OPENGL; break;
+ case 1: outDriver = video::EDT_DIRECT3D8; break;
+ case 2: outDriver = video::EDT_DIRECT3D9; break;
+ case 3: outDriver = video::EDT_BURNINGSVIDEO; break;
+ case 4: outDriver = video::EDT_SOFTWARE; break;
+ }
+
+ return start;
+}
+
+
+bool CMainMenu::OnEvent(const SEvent& event)
+{
+ if (event.EventType == EET_KEY_INPUT_EVENT &&
+ event.KeyInput.Key == KEY_F9 &&
+ event.KeyInput.PressedDown == false)
+ {
+ video::IImage* image = MenuDevice->getVideoDriver()->createScreenShot();
+ if (image)
+ {
+ MenuDevice->getVideoDriver()->writeImageToFile(image, "screenshot_main.jpg");
+ image->drop();
+ }
+ }
+ else
+ if (event.EventType == irr::EET_MOUSE_INPUT_EVENT &&
+ event.MouseInput.Event == EMIE_RMOUSE_LEFT_UP )
+ {
+ core::rect<s32> r(event.MouseInput.X, event.MouseInput.Y, 0, 0);
+ gui::IGUIContextMenu* menu = MenuDevice->getGUIEnvironment()->addContextMenu(r, 0, 45);
+ menu->addItem(L"transparent menus", 666, transparent == false);
+ menu->addItem(L"solid menus", 666, transparent == true);
+ menu->addSeparator();
+ menu->addItem(L"Cancel");
+ }
+ else
+ if (event.EventType == EET_GUI_EVENT)
+ {
+ s32 id = event.GUIEvent.Caller->getID();
+ switch(id)
+ {
+ case 45: // context menu
+ if (event.GUIEvent.EventType == gui::EGET_MENU_ITEM_SELECTED)
+ {
+ s32 s = ((gui::IGUIContextMenu*)event.GUIEvent.Caller)->getSelectedItem();
+ if (s == 0 || s == 1)
+ {
+ transparent = !transparent;
+ setTransparency();
+ }
+ }
+ break;
+ case 1:
+ if (event.GUIEvent.EventType == gui::EGET_LISTBOX_CHANGED ||
+ event.GUIEvent.EventType == gui::EGET_LISTBOX_SELECTED_AGAIN)
+ {
+ selected = ((gui::IGUIListBox*)event.GUIEvent.Caller)->getSelected();
+ //startButton->setEnabled(selected != 4);
+ startButton->setEnabled(true);
+ }
+ break;
+ case 2:
+ if (event.GUIEvent.EventType == gui::EGET_BUTTON_CLICKED )
+ {
+ MenuDevice->closeDevice();
+ start = true;
+ }
+ case 3:
+ if (event.GUIEvent.EventType == gui::EGET_CHECKBOX_CHANGED )
+ fullscreen = ((gui::IGUICheckBox*)event.GUIEvent.Caller)->isChecked();
+ break;
+ case 4:
+ if (event.GUIEvent.EventType == gui::EGET_CHECKBOX_CHANGED )
+ music = ((gui::IGUICheckBox*)event.GUIEvent.Caller)->isChecked();
+ break;
+ case 5:
+ if (event.GUIEvent.EventType == gui::EGET_CHECKBOX_CHANGED )
+ shadows = ((gui::IGUICheckBox*)event.GUIEvent.Caller)->isChecked();
+ break;
+ case 6:
+ if (event.GUIEvent.EventType == gui::EGET_CHECKBOX_CHANGED )
+ additive = ((gui::IGUICheckBox*)event.GUIEvent.Caller)->isChecked();
+ break;
+ case 7:
+ if (event.GUIEvent.EventType == gui::EGET_CHECKBOX_CHANGED )
+ vsync = ((gui::IGUICheckBox*)event.GUIEvent.Caller)->isChecked();
+ break;
+ case 8:
+ if (event.GUIEvent.EventType == gui::EGET_CHECKBOX_CHANGED )
+ aa = ((gui::IGUICheckBox*)event.GUIEvent.Caller)->isChecked();
+ break;
+ }
+ }
+
+ return false;
+}
+
+
+void CMainMenu::getOriginalSkinColor()
+{
+ irr::gui::IGUISkin * skin = MenuDevice->getGUIEnvironment()->getSkin();
+ for (s32 i=0; i<gui::EGDC_COUNT ; ++i)
+ {
+ SkinColor[i] = skin->getColor( (gui::EGUI_DEFAULT_COLOR)i );
+ }
+
+}
+
+
+void CMainMenu::setTransparency()
+{
+ irr::gui::IGUISkin * skin = MenuDevice->getGUIEnvironment()->getSkin();
+
+ for (u32 i=0; i<gui::EGDC_COUNT ; ++i)
+ {
+ video::SColor col = SkinColor[i];
+
+ if (false == transparent)
+ col.setAlpha(255);
+
+ skin->setColor((gui::EGUI_DEFAULT_COLOR)i, col);
+ }
+}
+
diff --git a/examples/Demo/CMainMenu.h b/examples/Demo/CMainMenu.h new file mode 100644 index 0000000..06a0d04 --- /dev/null +++ b/examples/Demo/CMainMenu.h @@ -0,0 +1,48 @@ +// This is a Demo of the Irrlicht Engine (c) 2005 by N.Gebhardt.
+// This file is not documentated.
+
+#ifndef __C_MAIN_MENU_H_INCLUDED__
+#define __C_MAIN_MENU_H_INCLUDED__
+
+#include <irrlicht.h>
+
+using namespace irr;
+
+class CMainMenu : public IEventReceiver
+{
+public:
+
+ CMainMenu();
+
+ bool run(bool& outFullscreen, bool& outMusic, bool& outShadows,
+ bool& outAdditive, bool &outVSync, bool& outAA,
+ video::E_DRIVER_TYPE& outDriver);
+
+ virtual bool OnEvent(const SEvent& event);
+
+private:
+
+ void setTransparency();
+
+ gui::IGUIButton* startButton;
+ IrrlichtDevice *MenuDevice;
+ s32 selected;
+ bool start;
+ bool fullscreen;
+ bool music;
+ bool shadows;
+ bool additive;
+ bool transparent;
+ bool vsync;
+ bool aa;
+
+ scene::IAnimatedMesh* quakeLevel;
+ scene::ISceneNode* lightMapNode;
+ scene::ISceneNode* dynamicNode;
+
+ video::SColor SkinColor [ gui::EGDC_COUNT ];
+ void getOriginalSkinColor();
+};
+
+#endif
+
diff --git a/examples/Demo/Demo.vcproj b/examples/Demo/Demo.vcproj new file mode 100644 index 0000000..fe55b37 --- /dev/null +++ b/examples/Demo/Demo.vcproj @@ -0,0 +1,223 @@ +<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="7.10"
+ Name="Demo"
+ ProjectGUID="{6F076455-D955-45D4-9C68-4AD4E45F2D47}"
+ SccProjectName=""
+ SccLocalPath="">
+ <Platforms>
+ <Platform
+ Name="Win32"/>
+ </Platforms>
+ <Configurations>
+ <Configuration
+ Name="Release|Win32"
+ OutputDirectory=".\Release"
+ IntermediateDirectory=".\Release"
+ ConfigurationType="1"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="FALSE"
+ CharacterSet="2">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ InlineFunctionExpansion="1"
+ AdditionalIncludeDirectories="..\..\include"
+ PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS"
+ StringPooling="TRUE"
+ RuntimeLibrary="4"
+ EnableFunctionLevelLinking="TRUE"
+ UsePrecompiledHeader="2"
+ PrecompiledHeaderFile=".\Release/Demo.pch"
+ AssemblerListingLocation=".\Release/"
+ ObjectFile=".\Release/"
+ ProgramDataBaseFileName=".\Release/"
+ WarningLevel="3"
+ SuppressStartupBanner="TRUE"
+ CompileAs="0"/>
+ <Tool
+ Name="VCCustomBuildTool"/>
+ <Tool
+ Name="VCLinkerTool"
+ OutputFile="..\..\bin\Win32-VisualStudio\Demo.exe"
+ LinkIncremental="0"
+ SuppressStartupBanner="TRUE"
+ AdditionalLibraryDirectories="..\..\lib\Win32-visualstudio"
+ ProgramDatabaseFile=".\Release/Demo.pdb"
+ SubSystem="2"
+ TargetMachine="1"/>
+ <Tool
+ Name="VCMIDLTool"
+ PreprocessorDefinitions="NDEBUG"
+ MkTypLibCompatible="TRUE"
+ SuppressStartupBanner="TRUE"
+ TargetEnvironment="1"
+ TypeLibraryName=".\Release/Demo.tlb"
+ HeaderFileName=""/>
+ <Tool
+ Name="VCPostBuildEventTool"/>
+ <Tool
+ Name="VCPreBuildEventTool"/>
+ <Tool
+ Name="VCPreLinkEventTool"/>
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="NDEBUG"
+ Culture="3079"/>
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"/>
+ <Tool
+ Name="VCXMLDataGeneratorTool"/>
+ <Tool
+ Name="VCWebDeploymentTool"/>
+ <Tool
+ Name="VCManagedWrapperGeneratorTool"/>
+ <Tool
+ Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
+ </Configuration>
+ <Configuration
+ Name="Debug|Win32"
+ OutputDirectory=".\Debug"
+ IntermediateDirectory=".\Debug"
+ ConfigurationType="1"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="FALSE"
+ CharacterSet="2">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="..\..\include"
+ PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="5"
+ UsePrecompiledHeader="2"
+ PrecompiledHeaderFile=".\Debug/Demo.pch"
+ AssemblerListingLocation=".\Debug/"
+ ObjectFile=".\Debug/"
+ ProgramDataBaseFileName=".\Debug/"
+ WarningLevel="3"
+ SuppressStartupBanner="TRUE"
+ DebugInformationFormat="4"
+ CompileAs="0"/>
+ <Tool
+ Name="VCCustomBuildTool"/>
+ <Tool
+ Name="VCLinkerTool"
+ OutputFile="..\..\bin\Win32-VisualStudio\Demo.exe"
+ LinkIncremental="0"
+ SuppressStartupBanner="TRUE"
+ AdditionalLibraryDirectories="..\..\lib\Win32-visualstudio"
+ GenerateDebugInformation="TRUE"
+ ProgramDatabaseFile=".\Debug/Demo.pdb"
+ SubSystem="2"
+ TargetMachine="1"/>
+ <Tool
+ Name="VCMIDLTool"
+ PreprocessorDefinitions="_DEBUG"
+ MkTypLibCompatible="TRUE"
+ SuppressStartupBanner="TRUE"
+ TargetEnvironment="1"
+ TypeLibraryName=".\Debug/Demo.tlb"
+ HeaderFileName=""/>
+ <Tool
+ Name="VCPostBuildEventTool"/>
+ <Tool
+ Name="VCPreBuildEventTool"/>
+ <Tool
+ Name="VCPreLinkEventTool"/>
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="_DEBUG"
+ Culture="3079"/>
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"/>
+ <Tool
+ Name="VCXMLDataGeneratorTool"/>
+ <Tool
+ Name="VCWebDeploymentTool"/>
+ <Tool
+ Name="VCManagedWrapperGeneratorTool"/>
+ <Tool
+ Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <File
+ RelativePath="CDemo.cpp">
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="CDemo.h">
+ </File>
+ <File
+ RelativePath="CMainMenu.cpp">
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="CMainMenu.h">
+ </File>
+ <File
+ RelativePath="icon.ico">
+ </File>
+ <File
+ RelativePath="main.cpp">
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="resscript.rc">
+ </File>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
diff --git a/examples/Demo/Demo_vc10.vcxproj b/examples/Demo/Demo_vc10.vcxproj new file mode 100644 index 0000000..c6d213f --- /dev/null +++ b/examples/Demo/Demo_vc10.vcxproj @@ -0,0 +1,283 @@ +ďťż<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup Label="ProjectConfigurations">
+ <ProjectConfiguration Include="Debug|Win32">
+ <Configuration>Debug</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Debug|x64">
+ <Configuration>Debug</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|Win32">
+ <Configuration>Release</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|x64">
+ <Configuration>Release</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ </ItemGroup>
+ <PropertyGroup Label="Globals">
+ <ProjectGuid>{6F076455-D955-45D4-9C68-4AD4E45F2D47}</ProjectGuid>
+ <ProjectName>Demo</ProjectName>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <CharacterSet>MultiByte</CharacterSet>
+ <PlatformToolset>Windows7.1SDK</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <CharacterSet>MultiByte</CharacterSet>
+ <PlatformToolset>Windows7.1SDK</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <CharacterSet>MultiByte</CharacterSet>
+ <PlatformToolset>Windows7.1SDK</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <CharacterSet>MultiByte</CharacterSet>
+ <PlatformToolset>Windows7.1SDK</PlatformToolset>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+ <ImportGroup Label="ExtensionSettings">
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
+ </ImportGroup>
+ <PropertyGroup Label="UserMacros" />
+ <PropertyGroup>
+ <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\bin\Win32-VisualStudio\</OutDir>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\bin\Win64-VisualStudio\</OutDir>
+ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
+ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\bin\Win32-VisualStudio\</OutDir>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\bin\Win64-VisualStudio\</OutDir>
+ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
+ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />
+ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
+ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
+ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
+ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />
+ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
+ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />
+ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
+ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
+ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
+ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
+ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
+ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
+ </PropertyGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <Midl>
+ <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <MkTypLibCompatible>true</MkTypLibCompatible>
+ <SuppressStartupBanner>true</SuppressStartupBanner>
+ <TargetEnvironment>Win32</TargetEnvironment>
+ <TypeLibraryName>.\Release/Demo.tlb</TypeLibraryName>
+ <HeaderFileName>
+ </HeaderFileName>
+ </Midl>
+ <ClCompile>
+ <Optimization>MaxSpeed</Optimization>
+ <InlineFunctionExpansion>Default</InlineFunctionExpansion>
+ <WholeProgramOptimization>false</WholeProgramOptimization>
+ <AdditionalIncludeDirectories>..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <StringPooling>true</StringPooling>
+ <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
+ <FunctionLevelLinking>true</FunctionLevelLinking>
+ <PrecompiledHeader>
+ </PrecompiledHeader>
+ <WarningLevel>Level3</WarningLevel>
+ </ClCompile>
+ <ResourceCompile>
+ <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <Culture>0x0c07</Culture>
+ </ResourceCompile>
+ <Link>
+ <OutputFile>..\..\bin\Win64-VisualStudio\Demo.exe</OutputFile>
+ <AdditionalLibraryDirectories>..\..\lib\Win32-visualstudio;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+ <SubSystem>Windows</SubSystem>
+ <DataExecutionPrevention>
+ </DataExecutionPrevention>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <Midl>
+ <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <MkTypLibCompatible>true</MkTypLibCompatible>
+ <SuppressStartupBanner>true</SuppressStartupBanner>
+ <TypeLibraryName>.\Release/Demo.tlb</TypeLibraryName>
+ <HeaderFileName>
+ </HeaderFileName>
+ </Midl>
+ <ClCompile>
+ <Optimization>MaxSpeed</Optimization>
+ <InlineFunctionExpansion>Default</InlineFunctionExpansion>
+ <WholeProgramOptimization>false</WholeProgramOptimization>
+ <AdditionalIncludeDirectories>..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>WIN32;WIN64;NDEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <StringPooling>true</StringPooling>
+ <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
+ <FunctionLevelLinking>true</FunctionLevelLinking>
+ <PrecompiledHeader>
+ </PrecompiledHeader>
+ <WarningLevel>Level3</WarningLevel>
+ </ClCompile>
+ <ResourceCompile>
+ <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <Culture>0x0c07</Culture>
+ </ResourceCompile>
+ <Link>
+ <OutputFile>$(OutDir)$(TargetName)$(TargetExt)</OutputFile>
+ <AdditionalLibraryDirectories>..\..\lib\Win64-visualstudio;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+ <SubSystem>Windows</SubSystem>
+ <DataExecutionPrevention>
+ </DataExecutionPrevention>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+ <Midl>
+ <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <MkTypLibCompatible>true</MkTypLibCompatible>
+ <SuppressStartupBanner>true</SuppressStartupBanner>
+ <TargetEnvironment>Win32</TargetEnvironment>
+ <TypeLibraryName>.\Debug/Demo.tlb</TypeLibraryName>
+ <HeaderFileName>
+ </HeaderFileName>
+ </Midl>
+ <ClCompile>
+ <Optimization>Disabled</Optimization>
+ <AdditionalIncludeDirectories>..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
+ <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
+ <PrecompiledHeader>
+ </PrecompiledHeader>
+ <WarningLevel>Level3</WarningLevel>
+ <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
+ </ClCompile>
+ <ResourceCompile>
+ <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <Culture>0x0c07</Culture>
+ </ResourceCompile>
+ <Link>
+ <AdditionalLibraryDirectories>..\..\lib\Win32-visualstudio;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <SubSystem>Windows</SubSystem>
+ <DataExecutionPrevention>
+ </DataExecutionPrevention>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+ <Midl>
+ <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <MkTypLibCompatible>true</MkTypLibCompatible>
+ <SuppressStartupBanner>true</SuppressStartupBanner>
+ <TypeLibraryName>.\Debug/Demo.tlb</TypeLibraryName>
+ <HeaderFileName>
+ </HeaderFileName>
+ </Midl>
+ <ClCompile>
+ <Optimization>Disabled</Optimization>
+ <AdditionalIncludeDirectories>..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>WIN32;WIN64;_DEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
+ <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
+ <PrecompiledHeader>
+ </PrecompiledHeader>
+ <WarningLevel>Level3</WarningLevel>
+ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+ </ClCompile>
+ <ResourceCompile>
+ <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <Culture>0x0c07</Culture>
+ </ResourceCompile>
+ <Link>
+ <AdditionalLibraryDirectories>..\..\lib\Win64-visualstudio;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <SubSystem>Windows</SubSystem>
+ <DataExecutionPrevention>
+ </DataExecutionPrevention>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemGroup>
+ <ClCompile Include="CDemo.cpp">
+ <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
+ <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
+ <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
+ <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
+ <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>
+ <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">MaxSpeed</Optimization>
+ <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ </ClCompile>
+ <ClCompile Include="CMainMenu.cpp">
+ <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
+ <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
+ <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
+ <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
+ <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>
+ <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">MaxSpeed</Optimization>
+ <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ </ClCompile>
+ <ClCompile Include="main.cpp">
+ <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
+ <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
+ <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
+ <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
+ <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>
+ <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">MaxSpeed</Optimization>
+ <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ </ClCompile>
+ </ItemGroup>
+ <ItemGroup>
+ <ClInclude Include="CDemo.h" />
+ <ClInclude Include="CMainMenu.h" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="icon.ico" />
+ </ItemGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+ <ImportGroup Label="ExtensionTargets">
+ </ImportGroup>
+</Project>
\ No newline at end of file diff --git a/examples/Demo/Demo_vc11.vcxproj b/examples/Demo/Demo_vc11.vcxproj new file mode 100644 index 0000000..f1db13d --- /dev/null +++ b/examples/Demo/Demo_vc11.vcxproj @@ -0,0 +1,283 @@ +ďťż<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup Label="ProjectConfigurations">
+ <ProjectConfiguration Include="Debug|Win32">
+ <Configuration>Debug</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Debug|x64">
+ <Configuration>Debug</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|Win32">
+ <Configuration>Release</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|x64">
+ <Configuration>Release</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ </ItemGroup>
+ <PropertyGroup Label="Globals">
+ <ProjectGuid>{6F076455-D955-45D4-9C68-4AD4E45F2D47}</ProjectGuid>
+ <ProjectName>Demo</ProjectName>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <CharacterSet>MultiByte</CharacterSet>
+ <PlatformToolset>Windows7.1SDK</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <CharacterSet>MultiByte</CharacterSet>
+ <PlatformToolset>Windows7.1SDK</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <CharacterSet>MultiByte</CharacterSet>
+ <PlatformToolset>Windows7.1SDK</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <CharacterSet>MultiByte</CharacterSet>
+ <PlatformToolset>Windows7.1SDK</PlatformToolset>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+ <ImportGroup Label="ExtensionSettings">
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
+ </ImportGroup>
+ <PropertyGroup Label="UserMacros" />
+ <PropertyGroup>
+ <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\bin\Win32-VisualStudio\</OutDir>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\bin\Win64-VisualStudio\</OutDir>
+ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
+ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\bin\Win32-VisualStudio\</OutDir>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\bin\Win64-VisualStudio\</OutDir>
+ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
+ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />
+ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
+ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
+ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
+ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />
+ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
+ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />
+ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
+ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
+ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
+ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
+ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
+ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
+ </PropertyGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <Midl>
+ <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <MkTypLibCompatible>true</MkTypLibCompatible>
+ <SuppressStartupBanner>true</SuppressStartupBanner>
+ <TargetEnvironment>Win32</TargetEnvironment>
+ <TypeLibraryName>.\Release/Demo.tlb</TypeLibraryName>
+ <HeaderFileName>
+ </HeaderFileName>
+ </Midl>
+ <ClCompile>
+ <Optimization>MaxSpeed</Optimization>
+ <InlineFunctionExpansion>Default</InlineFunctionExpansion>
+ <WholeProgramOptimization>false</WholeProgramOptimization>
+ <AdditionalIncludeDirectories>..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <StringPooling>true</StringPooling>
+ <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
+ <FunctionLevelLinking>true</FunctionLevelLinking>
+ <PrecompiledHeader>
+ </PrecompiledHeader>
+ <WarningLevel>Level3</WarningLevel>
+ </ClCompile>
+ <ResourceCompile>
+ <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <Culture>0x0c07</Culture>
+ </ResourceCompile>
+ <Link>
+ <OutputFile>..\..\bin\Win32-VisualStudio\Demo.exe</OutputFile>
+ <AdditionalLibraryDirectories>..\..\lib\Win32-visualstudio;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+ <SubSystem>Windows</SubSystem>
+ <DataExecutionPrevention>
+ </DataExecutionPrevention>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <Midl>
+ <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <MkTypLibCompatible>true</MkTypLibCompatible>
+ <SuppressStartupBanner>true</SuppressStartupBanner>
+ <TypeLibraryName>.\Release/Demo.tlb</TypeLibraryName>
+ <HeaderFileName>
+ </HeaderFileName>
+ </Midl>
+ <ClCompile>
+ <Optimization>MaxSpeed</Optimization>
+ <InlineFunctionExpansion>Default</InlineFunctionExpansion>
+ <WholeProgramOptimization>false</WholeProgramOptimization>
+ <AdditionalIncludeDirectories>..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>WIN32;WIN64;NDEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <StringPooling>true</StringPooling>
+ <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
+ <FunctionLevelLinking>true</FunctionLevelLinking>
+ <PrecompiledHeader>
+ </PrecompiledHeader>
+ <WarningLevel>Level3</WarningLevel>
+ </ClCompile>
+ <ResourceCompile>
+ <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <Culture>0x0c07</Culture>
+ </ResourceCompile>
+ <Link>
+ <OutputFile>..\..\bin\Win32-VisualStudio\Demo.exe</OutputFile>
+ <AdditionalLibraryDirectories>..\..\lib\Win64-visualstudio;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+ <SubSystem>Windows</SubSystem>
+ <DataExecutionPrevention>
+ </DataExecutionPrevention>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+ <Midl>
+ <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <MkTypLibCompatible>true</MkTypLibCompatible>
+ <SuppressStartupBanner>true</SuppressStartupBanner>
+ <TargetEnvironment>Win32</TargetEnvironment>
+ <TypeLibraryName>.\Debug/Demo.tlb</TypeLibraryName>
+ <HeaderFileName>
+ </HeaderFileName>
+ </Midl>
+ <ClCompile>
+ <Optimization>Disabled</Optimization>
+ <AdditionalIncludeDirectories>..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
+ <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
+ <PrecompiledHeader>
+ </PrecompiledHeader>
+ <WarningLevel>Level3</WarningLevel>
+ <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
+ </ClCompile>
+ <ResourceCompile>
+ <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <Culture>0x0c07</Culture>
+ </ResourceCompile>
+ <Link>
+ <AdditionalLibraryDirectories>..\..\lib\Win32-visualstudio;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <SubSystem>Windows</SubSystem>
+ <DataExecutionPrevention>
+ </DataExecutionPrevention>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+ <Midl>
+ <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <MkTypLibCompatible>true</MkTypLibCompatible>
+ <SuppressStartupBanner>true</SuppressStartupBanner>
+ <TypeLibraryName>.\Debug/Demo.tlb</TypeLibraryName>
+ <HeaderFileName>
+ </HeaderFileName>
+ </Midl>
+ <ClCompile>
+ <Optimization>Disabled</Optimization>
+ <AdditionalIncludeDirectories>..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>WIN32;WIN64;_DEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
+ <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
+ <PrecompiledHeader>
+ </PrecompiledHeader>
+ <WarningLevel>Level3</WarningLevel>
+ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+ </ClCompile>
+ <ResourceCompile>
+ <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <Culture>0x0c07</Culture>
+ </ResourceCompile>
+ <Link>
+ <AdditionalLibraryDirectories>..\..\lib\Win64-visualstudio;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <SubSystem>Windows</SubSystem>
+ <DataExecutionPrevention>
+ </DataExecutionPrevention>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemGroup>
+ <ClCompile Include="CDemo.cpp">
+ <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
+ <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
+ <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
+ <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
+ <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>
+ <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">MaxSpeed</Optimization>
+ <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ </ClCompile>
+ <ClCompile Include="CMainMenu.cpp">
+ <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
+ <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
+ <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
+ <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
+ <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>
+ <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">MaxSpeed</Optimization>
+ <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ </ClCompile>
+ <ClCompile Include="main.cpp">
+ <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
+ <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
+ <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
+ <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
+ <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>
+ <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">MaxSpeed</Optimization>
+ <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ </ClCompile>
+ </ItemGroup>
+ <ItemGroup>
+ <ClInclude Include="CDemo.h" />
+ <ClInclude Include="CMainMenu.h" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="icon.ico" />
+ </ItemGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+ <ImportGroup Label="ExtensionTargets">
+ </ImportGroup>
+</Project>
\ No newline at end of file diff --git a/examples/Demo/Demo_vc12.vcxproj b/examples/Demo/Demo_vc12.vcxproj new file mode 100644 index 0000000..320adde --- /dev/null +++ b/examples/Demo/Demo_vc12.vcxproj @@ -0,0 +1,283 @@ +ďťż<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup Label="ProjectConfigurations">
+ <ProjectConfiguration Include="Debug|Win32">
+ <Configuration>Debug</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Debug|x64">
+ <Configuration>Debug</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|Win32">
+ <Configuration>Release</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|x64">
+ <Configuration>Release</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ </ItemGroup>
+ <PropertyGroup Label="Globals">
+ <ProjectGuid>{6F076455-D955-45D4-9C68-4AD4E45F2D47}</ProjectGuid>
+ <ProjectName>Demo</ProjectName>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <CharacterSet>MultiByte</CharacterSet>
+ <PlatformToolset>Windows7.1SDK</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <CharacterSet>MultiByte</CharacterSet>
+ <PlatformToolset>Windows7.1SDK</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <CharacterSet>MultiByte</CharacterSet>
+ <PlatformToolset>Windows7.1SDK</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <CharacterSet>MultiByte</CharacterSet>
+ <PlatformToolset>Windows7.1SDK</PlatformToolset>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+ <ImportGroup Label="ExtensionSettings">
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
+ </ImportGroup>
+ <PropertyGroup Label="UserMacros" />
+ <PropertyGroup>
+ <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\..\bin\Win32-VisualStudio\</OutDir>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">..\..\bin\Win64-VisualStudio\</OutDir>
+ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
+ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\..\bin\Win32-VisualStudio\</OutDir>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">..\..\bin\Win64-VisualStudio\</OutDir>
+ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
+ <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />
+ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
+ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
+ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
+ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />
+ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />
+ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />
+ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
+ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
+ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
+ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
+ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />
+ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />
+ </PropertyGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <Midl>
+ <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <MkTypLibCompatible>true</MkTypLibCompatible>
+ <SuppressStartupBanner>true</SuppressStartupBanner>
+ <TargetEnvironment>Win32</TargetEnvironment>
+ <TypeLibraryName>.\Release/Demo.tlb</TypeLibraryName>
+ <HeaderFileName>
+ </HeaderFileName>
+ </Midl>
+ <ClCompile>
+ <Optimization>MaxSpeed</Optimization>
+ <InlineFunctionExpansion>Default</InlineFunctionExpansion>
+ <WholeProgramOptimization>false</WholeProgramOptimization>
+ <AdditionalIncludeDirectories>..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <StringPooling>true</StringPooling>
+ <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
+ <FunctionLevelLinking>true</FunctionLevelLinking>
+ <PrecompiledHeader>
+ </PrecompiledHeader>
+ <WarningLevel>Level3</WarningLevel>
+ </ClCompile>
+ <ResourceCompile>
+ <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <Culture>0x0c07</Culture>
+ </ResourceCompile>
+ <Link>
+ <OutputFile>..\..\bin\Win32-VisualStudio\Demo.exe</OutputFile>
+ <AdditionalLibraryDirectories>..\..\lib\Win32-visualstudio;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+ <SubSystem>Windows</SubSystem>
+ <DataExecutionPrevention>
+ </DataExecutionPrevention>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <Midl>
+ <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <MkTypLibCompatible>true</MkTypLibCompatible>
+ <SuppressStartupBanner>true</SuppressStartupBanner>
+ <TypeLibraryName>.\Release/Demo.tlb</TypeLibraryName>
+ <HeaderFileName>
+ </HeaderFileName>
+ </Midl>
+ <ClCompile>
+ <Optimization>MaxSpeed</Optimization>
+ <InlineFunctionExpansion>Default</InlineFunctionExpansion>
+ <WholeProgramOptimization>false</WholeProgramOptimization>
+ <AdditionalIncludeDirectories>..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>WIN32;WIN64;NDEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <StringPooling>true</StringPooling>
+ <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
+ <FunctionLevelLinking>true</FunctionLevelLinking>
+ <PrecompiledHeader>
+ </PrecompiledHeader>
+ <WarningLevel>Level3</WarningLevel>
+ </ClCompile>
+ <ResourceCompile>
+ <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <Culture>0x0c07</Culture>
+ </ResourceCompile>
+ <Link>
+ <OutputFile>$(OutDir)$(TargetName)$(TargetExt)</OutputFile>
+ <AdditionalLibraryDirectories>..\..\lib\Win64-visualstudio;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+ <SubSystem>Windows</SubSystem>
+ <DataExecutionPrevention>
+ </DataExecutionPrevention>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+ <Midl>
+ <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <MkTypLibCompatible>true</MkTypLibCompatible>
+ <SuppressStartupBanner>true</SuppressStartupBanner>
+ <TargetEnvironment>Win32</TargetEnvironment>
+ <TypeLibraryName>.\Debug/Demo.tlb</TypeLibraryName>
+ <HeaderFileName>
+ </HeaderFileName>
+ </Midl>
+ <ClCompile>
+ <Optimization>Disabled</Optimization>
+ <AdditionalIncludeDirectories>..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
+ <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
+ <PrecompiledHeader>
+ </PrecompiledHeader>
+ <WarningLevel>Level3</WarningLevel>
+ <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
+ </ClCompile>
+ <ResourceCompile>
+ <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <Culture>0x0c07</Culture>
+ </ResourceCompile>
+ <Link>
+ <AdditionalLibraryDirectories>..\..\lib\Win32-visualstudio;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <SubSystem>Windows</SubSystem>
+ <DataExecutionPrevention>
+ </DataExecutionPrevention>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+ <Midl>
+ <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <MkTypLibCompatible>true</MkTypLibCompatible>
+ <SuppressStartupBanner>true</SuppressStartupBanner>
+ <TypeLibraryName>.\Debug/Demo.tlb</TypeLibraryName>
+ <HeaderFileName>
+ </HeaderFileName>
+ </Midl>
+ <ClCompile>
+ <Optimization>Disabled</Optimization>
+ <AdditionalIncludeDirectories>..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>WIN32;WIN64;_DEBUG;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
+ <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
+ <PrecompiledHeader>
+ </PrecompiledHeader>
+ <WarningLevel>Level3</WarningLevel>
+ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+ </ClCompile>
+ <ResourceCompile>
+ <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <Culture>0x0c07</Culture>
+ </ResourceCompile>
+ <Link>
+ <AdditionalLibraryDirectories>..\..\lib\Win64-visualstudio;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <SubSystem>Windows</SubSystem>
+ <DataExecutionPrevention>
+ </DataExecutionPrevention>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemGroup>
+ <ClCompile Include="CDemo.cpp">
+ <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
+ <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
+ <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
+ <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
+ <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>
+ <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">MaxSpeed</Optimization>
+ <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ </ClCompile>
+ <ClCompile Include="CMainMenu.cpp">
+ <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
+ <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
+ <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
+ <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
+ <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>
+ <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">MaxSpeed</Optimization>
+ <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ </ClCompile>
+ <ClCompile Include="main.cpp">
+ <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Disabled</Optimization>
+ <Optimization Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Disabled</Optimization>
+ <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">EnableFastChecks</BasicRuntimeChecks>
+ <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">EnableFastChecks</BasicRuntimeChecks>
+ <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MaxSpeed</Optimization>
+ <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|x64'">MaxSpeed</Optimization>
+ <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|x64'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ </ClCompile>
+ </ItemGroup>
+ <ItemGroup>
+ <ClInclude Include="CDemo.h" />
+ <ClInclude Include="CMainMenu.h" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="icon.ico" />
+ </ItemGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+ <ImportGroup Label="ExtensionTargets">
+ </ImportGroup>
+</Project>
\ No newline at end of file diff --git a/examples/Demo/Demo_vc8.vcproj b/examples/Demo/Demo_vc8.vcproj new file mode 100644 index 0000000..5504310 --- /dev/null +++ b/examples/Demo/Demo_vc8.vcproj @@ -0,0 +1,300 @@ +<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="Demo_vc8"
+ ProjectGUID="{6F076455-D955-45D4-9C68-4AD4E45F2D47}"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Release|Win32"
+ OutputDirectory=".\Release"
+ IntermediateDirectory=".\Release"
+ ConfigurationType="1"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ PreprocessorDefinitions="NDEBUG"
+ MkTypLibCompatible="true"
+ SuppressStartupBanner="true"
+ TargetEnvironment="1"
+ TypeLibraryName=".\Release/Demo.tlb"
+ HeaderFileName=""
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ InlineFunctionExpansion="1"
+ AdditionalIncludeDirectories="..\..\include"
+ PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS"
+ StringPooling="true"
+ RuntimeLibrary="0"
+ EnableFunctionLevelLinking="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile=".\Release/Demo.pch"
+ AssemblerListingLocation=".\Release/"
+ ObjectFile=".\Release/"
+ ProgramDataBaseFileName=".\Release/"
+ WarningLevel="3"
+ SuppressStartupBanner="true"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="NDEBUG"
+ Culture="3079"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ OutputFile="..\..\bin\Win32-VisualStudio\Demo.exe"
+ LinkIncremental="0"
+ SuppressStartupBanner="true"
+ AdditionalLibraryDirectories="..\..\lib\Win32-visualstudio"
+ ProgramDatabaseFile=".\Release/Demo.pdb"
+ SubSystem="2"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Debug|Win32"
+ OutputDirectory=".\Debug"
+ IntermediateDirectory=".\Debug"
+ ConfigurationType="1"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ PreprocessorDefinitions="_DEBUG"
+ MkTypLibCompatible="true"
+ SuppressStartupBanner="true"
+ TargetEnvironment="1"
+ TypeLibraryName=".\Debug/Demo.tlb"
+ HeaderFileName=""
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="..\..\include"
+ PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="1"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile=".\Debug/Demo.pch"
+ AssemblerListingLocation=".\Debug/"
+ ObjectFile=".\Debug/"
+ ProgramDataBaseFileName=".\Debug/"
+ WarningLevel="3"
+ SuppressStartupBanner="true"
+ DebugInformationFormat="4"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="_DEBUG"
+ Culture="3079"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ OutputFile="..\..\bin\Win32-VisualStudio\Demo.exe"
+ LinkIncremental="0"
+ SuppressStartupBanner="true"
+ AdditionalLibraryDirectories="..\..\lib\Win32-visualstudio"
+ GenerateDebugInformation="true"
+ ProgramDatabaseFile=".\Debug/Demo.pdb"
+ SubSystem="2"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <File
+ RelativePath="CDemo.cpp"
+ >
+ <FileConfiguration
+ Name="Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="CDemo.h"
+ >
+ </File>
+ <File
+ RelativePath="CMainMenu.cpp"
+ >
+ <FileConfiguration
+ Name="Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="CMainMenu.h"
+ >
+ </File>
+ <File
+ RelativePath="icon.ico"
+ >
+ </File>
+ <File
+ RelativePath="main.cpp"
+ >
+ <FileConfiguration
+ Name="Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"
+ />
+ </FileConfiguration>
+ </File>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
diff --git a/examples/Demo/Demo_vc9.vcproj b/examples/Demo/Demo_vc9.vcproj new file mode 100644 index 0000000..e0052aa --- /dev/null +++ b/examples/Demo/Demo_vc9.vcproj @@ -0,0 +1,300 @@ +<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="9,00"
+ Name="Demo_vc9"
+ ProjectGUID="{6F076455-D955-45D4-9C68-4AD4E45F2D47}"
+ TargetFrameworkVersion="131072"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Release|Win32"
+ OutputDirectory=".\Release"
+ IntermediateDirectory=".\Release"
+ ConfigurationType="1"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ PreprocessorDefinitions="NDEBUG"
+ MkTypLibCompatible="true"
+ SuppressStartupBanner="true"
+ TargetEnvironment="1"
+ TypeLibraryName=".\Release/Demo.tlb"
+ HeaderFileName=""
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ InlineFunctionExpansion="0"
+ WholeProgramOptimization="false"
+ AdditionalIncludeDirectories="..\..\include"
+ PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS"
+ StringPooling="true"
+ RuntimeLibrary="0"
+ EnableFunctionLevelLinking="true"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile=".\Release/Demo.pch"
+ AssemblerListingLocation=".\Release/"
+ ObjectFile=".\Release/"
+ ProgramDataBaseFileName=".\Release/"
+ WarningLevel="3"
+ SuppressStartupBanner="true"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="NDEBUG"
+ Culture="3079"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ OutputFile="..\..\bin\Win32-VisualStudio\Demo.exe"
+ LinkIncremental="0"
+ SuppressStartupBanner="true"
+ AdditionalLibraryDirectories="..\..\lib\Win32-visualstudio"
+ ProgramDatabaseFile=".\Release/Demo.pdb"
+ SubSystem="2"
+ RandomizedBaseAddress="1"
+ DataExecutionPrevention="0"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Debug|Win32"
+ OutputDirectory=".\Debug"
+ IntermediateDirectory=".\Debug"
+ ConfigurationType="1"
+ InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
+ UseOfMFC="0"
+ ATLMinimizesCRunTimeLibraryUsage="false"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ PreprocessorDefinitions="_DEBUG"
+ MkTypLibCompatible="true"
+ SuppressStartupBanner="true"
+ TargetEnvironment="1"
+ TypeLibraryName=".\Debug/Demo.tlb"
+ HeaderFileName=""
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="..\..\include"
+ PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="1"
+ UsePrecompiledHeader="0"
+ PrecompiledHeaderFile=".\Debug/Demo.pch"
+ AssemblerListingLocation=".\Debug/"
+ ObjectFile=".\Debug/"
+ ProgramDataBaseFileName=".\Debug/"
+ WarningLevel="3"
+ SuppressStartupBanner="true"
+ DebugInformationFormat="4"
+ CompileAs="0"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ PreprocessorDefinitions="_DEBUG"
+ Culture="3079"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ OutputFile="..\..\bin\Win32-VisualStudio\Demo.exe"
+ LinkIncremental="0"
+ SuppressStartupBanner="true"
+ AdditionalLibraryDirectories="..\..\lib\Win32-visualstudio"
+ GenerateDebugInformation="true"
+ ProgramDatabaseFile=".\Debug/Demo.pdb"
+ SubSystem="2"
+ RandomizedBaseAddress="1"
+ DataExecutionPrevention="0"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <File
+ RelativePath="CDemo.cpp"
+ >
+ <FileConfiguration
+ Name="Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="CDemo.h"
+ >
+ </File>
+ <File
+ RelativePath="CMainMenu.cpp"
+ >
+ <FileConfiguration
+ Name="Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="CMainMenu.h"
+ >
+ </File>
+ <File
+ RelativePath="icon.ico"
+ >
+ </File>
+ <File
+ RelativePath="main.cpp"
+ >
+ <FileConfiguration
+ Name="Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories=""
+ PreprocessorDefinitions=""
+ BasicRuntimeChecks="3"
+ />
+ </FileConfiguration>
+ </File>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
diff --git a/examples/Demo/Makefile b/examples/Demo/Makefile new file mode 100644 index 0000000..1577ac9 --- /dev/null +++ b/examples/Demo/Makefile @@ -0,0 +1,43 @@ +# Irrlicht Engine Demo Makefile
+Target = Demo
+Sources = CDemo.cpp CMainMenu.cpp main.cpp
+
+CPPFLAGS = -I../../include -I/usr/X11R6/include
+CXXFLAGS = -Wall -O3 -ffast-math
+
+ifeq ($(HOSTTYPE), x86_64)
+LIBSELECT=64
+endif
+
+all: all_linux
+
+# target specific settings
+all_linux: SYSTEM=Linux
+all_linux: LDFLAGS = -L/usr/X11R6/lib$(LIBSELECT) -L../../lib/$(SYSTEM) -lIrrlicht -lGL -lXxf86vm -lXext -lX11 -lXcursor
+
+all_win32 clean_win32: SYSTEM=Win32-gcc
+all_win32: LDFLAGS = -L../../lib/$(SYSTEM) -lIrrlicht -lopengl32 -lm
+
+# if you enable sound add the proper library for linking
+#LDFLAGS += -lIrrKlang
+#LDFLAGS += -laudiere
+#LDFLAGS += -lSDL_mixer -lSDL
+
+all_win32 clean_win32: SUF=.exe
+# name of the binary - only valid for targets which set SYSTEM
+DESTPATH = ../../bin/$(SYSTEM)/$(Target)$(SUF)
+
+OBJ = $(Sources:.cpp=.o)
+
+all_linux all_win32: $(OBJ)
+ $(warning Building...)
+ $(CXX) $(CPPFLAGS) $(CXXFLAGS) $^ -o $(DESTPATH) $(LDFLAGS)
+
+clean: clean_linux clean_win32
+ $(warning Cleaning...)
+ @$(RM) $(OBJ)
+
+clean_linux clean_win32:
+ @$(RM) $(DESTPATH)
+
+.PHONY: all all_win32 clean clean_linux clean_win32
diff --git a/examples/Demo/demo.cbp b/examples/Demo/demo.cbp new file mode 100644 index 0000000..4c62040 --- /dev/null +++ b/examples/Demo/demo.cbp @@ -0,0 +1,68 @@ +<?xml version="1.0" encoding="UTF-8" standalone="yes" ?> +<CodeBlocks_project_file> + <FileVersion major="1" minor="6" /> + <Project> + <Option title="Irrlicht Tech Demo" /> + <Option pch_mode="0" /> + <Option compiler="gcc" /> + <Build> + <Target title="Windows"> + <Option platforms="Windows;" /> + <Option output="../../bin/Win32-gcc/Demo" prefix_auto="0" extension_auto="1" /> + <Option type="1" /> + <Option compiler="gcc" /> + <Option projectResourceIncludeDirsRelation="1" /> + <Compiler> + <Add option="-g" /> + </Compiler> + <Linker> + <Add directory="../../lib/Win32-gcc" /> + </Linker> + </Target> + <Target title="Linux"> + <Option platforms="Unix;" /> + <Option output="../../bin/Linux/Demo" prefix_auto="0" extension_auto="0" /> + <Option type="1" /> + <Option compiler="gcc" /> + <Compiler> + <Add option="-g" /> + <Add option="-D_IRR_STATIC_LIB_" /> + </Compiler> + <Linker> + <Add library="Xxf86vm" /> + <Add library="X11" /> + <Add library="Irrlicht" /> + <Add library="GL" /> + <Add directory="../../lib/Linux" /> + </Linker> + </Target> + </Build> + <VirtualTargets> + <Add alias="All" targets="Windows;Linux;" /> + </VirtualTargets> + <Compiler> + <Add option="-Wall" /> + <Add option="-g" /> + <Add directory="../../include" /> + </Compiler> + <Linker> + <Add library="Irrlicht" /> + <Add directory="../../lib/gcc" /> + </Linker> + <Unit filename="CDemo.cpp" /> + <Unit filename="CDemo.h" /> + <Unit filename="CMainMenu.cpp" /> + <Unit filename="CMainMenu.h" /> + <Unit filename="main.cpp" /> + <Unit filename="resource.h" /> + <Unit filename="resscript.rc"> + <Option compilerVar="WINDRES" /> + <Option target="Windows" /> + </Unit> + <Extensions> + <code_completion /> + <debugger /> + <envvars /> + </Extensions> + </Project> +</CodeBlocks_project_file> diff --git a/examples/Demo/demo.dev b/examples/Demo/demo.dev new file mode 100644 index 0000000..9e1b4c0 --- /dev/null +++ b/examples/Demo/demo.dev @@ -0,0 +1,99 @@ +[Project]
+FileName=demo.dev
+Name=Irrlicht Tech Demo
+UnitCount=5
+Type=1
+Ver=1
+ObjFiles=
+Includes=..\..\include
+Libs=
+PrivateResource=
+ResourceIncludes=
+MakeIncludes=
+Compiler=
+CppCompiler=
+Linker=../../lib/Win32-gcc/libIrrlicht.a_@@_
+IsCpp=1
+Icon=
+ExeOutput=../../bin/Win32-gcc
+ObjectOutput=obj
+OverrideOutput=1
+OverrideOutputName=Demo.exe
+HostApplication=
+Folders=
+CommandLine=
+IncludeVersionInfo=0
+SupportXPThemes=0
+CompilerSet=0
+CompilerSettings=0000000000000000000000
+UseCustomMakefile=0
+CustomMakefile=
+
+[Unit1]
+FileName=main.cpp
+CompileCpp=1
+Folder=Projekt1
+Compile=1
+Link=1
+Priority=1000
+OverrideBuildCmd=0
+BuildCmd=
+
+[VersionInfo]
+Major=0
+Minor=1
+Release=1
+Build=1
+LanguageID=1033
+CharsetID=1252
+CompanyName=
+FileVersion=
+FileDescription=Irrlicht Engine example compiled using DevCpp and gcc
+InternalName=
+LegalCopyright=
+LegalTrademarks=
+OriginalFilename=
+ProductName=
+ProductVersion=
+AutoIncBuildNr=0
+
+[Unit2]
+FileName=CDemo.h
+CompileCpp=1
+Folder=Irrlicht Tech Demo
+Compile=1
+Link=1
+Priority=1000
+OverrideBuildCmd=0
+BuildCmd=
+
+[Unit3]
+FileName=CMainMenu.cpp
+CompileCpp=1
+Folder=Irrlicht Tech Demo
+Compile=1
+Link=1
+Priority=1000
+OverrideBuildCmd=0
+BuildCmd=
+
+[Unit4]
+FileName=CMainMenu.h
+CompileCpp=1
+Folder=Irrlicht Tech Demo
+Compile=1
+Link=1
+Priority=1000
+OverrideBuildCmd=0
+BuildCmd=
+
+[Unit5]
+FileName=CDemo.cpp
+CompileCpp=1
+Folder=Irrlicht Tech Demo
+Compile=1
+Link=1
+Priority=1000
+OverrideBuildCmd=0
+BuildCmd=
+
diff --git a/examples/Demo/icon.ico b/examples/Demo/icon.ico Binary files differnew file mode 100644 index 0000000..49f8eab --- /dev/null +++ b/examples/Demo/icon.ico diff --git a/examples/Demo/main.cpp b/examples/Demo/main.cpp new file mode 100644 index 0000000..3d26999 --- /dev/null +++ b/examples/Demo/main.cpp @@ -0,0 +1,49 @@ +// This is a Demo of the Irrlicht Engine (c) 2005-2009 by N.Gebhardt.
+// This file is not documented.
+
+#include <irrlicht.h>
+#ifdef _IRR_WINDOWS_
+#include <windows.h>
+#endif
+
+#include <stdio.h>
+
+#include "CMainMenu.h"
+#include "CDemo.h"
+
+using namespace irr;
+
+#ifdef _WIN32
+
+#pragma comment(lib, "Irrlicht.lib")
+INT WINAPI WinMain( HINSTANCE hInst, HINSTANCE, LPSTR strCmdLine, INT )
+#else
+int main(int argc, char* argv[])
+#endif
+{
+ bool fullscreen = false;
+ bool music = true;
+ bool shadows = false;
+ bool additive = false;
+ bool vsync = false;
+ bool aa = false;
+
+#ifndef _IRR_WINDOWS_
+ video::E_DRIVER_TYPE driverType = video::EDT_OPENGL;
+#else
+ video::E_DRIVER_TYPE driverType = video::EDT_DIRECT3D9;
+#endif
+
+ CMainMenu menu;
+
+//#ifndef _DEBUG
+ if (menu.run(fullscreen, music, shadows, additive, vsync, aa, driverType))
+//#endif
+ {
+ CDemo demo(fullscreen, music, shadows, additive, vsync, aa, driverType);
+ demo.run();
+ }
+
+ return 0;
+}
+
diff --git a/examples/Demo/resource.h b/examples/Demo/resource.h new file mode 100644 index 0000000..eb3b976 --- /dev/null +++ b/examples/Demo/resource.h @@ -0,0 +1,16 @@ +//{{NO_DEPENDENCIES}}
+// Microsoft Developer Studio generated include file.
+// Used by resscript.rc
+//
+#define IDI_ICON1 101
+
+// Next default values for new objects
+//
+#ifdef APSTUDIO_INVOKED
+#ifndef APSTUDIO_READONLY_SYMBOLS
+#define _APS_NEXT_RESOURCE_VALUE 102
+#define _APS_NEXT_COMMAND_VALUE 40001
+#define _APS_NEXT_CONTROL_VALUE 1000
+#define _APS_NEXT_SYMED_VALUE 101
+#endif
+#endif
diff --git a/examples/Demo/resscript.rc b/examples/Demo/resscript.rc new file mode 100644 index 0000000..be12eb7 --- /dev/null +++ b/examples/Demo/resscript.rc @@ -0,0 +1,72 @@ +//Microsoft Developer Studio generated resource script.
+//
+#include "resource.h"
+
+#define APSTUDIO_READONLY_SYMBOLS
+/////////////////////////////////////////////////////////////////////////////
+//
+// Generated from the TEXTINCLUDE 2 resource.
+//
+#include "afxres.h"
+
+/////////////////////////////////////////////////////////////////////////////
+#undef APSTUDIO_READONLY_SYMBOLS
+
+/////////////////////////////////////////////////////////////////////////////
+// Deutsch (Österreich) resources
+
+#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_DEA)
+#ifdef _WIN32
+LANGUAGE LANG_GERMAN, SUBLANG_GERMAN_AUSTRIAN
+#pragma code_page(1252)
+#endif //_WIN32
+
+#ifdef APSTUDIO_INVOKED
+/////////////////////////////////////////////////////////////////////////////
+//
+// TEXTINCLUDE
+//
+
+1 TEXTINCLUDE DISCARDABLE
+BEGIN
+ "resource.h\0"
+END
+
+2 TEXTINCLUDE DISCARDABLE
+BEGIN
+ "#include ""afxres.h""\r\n"
+ "\0"
+END
+
+3 TEXTINCLUDE DISCARDABLE
+BEGIN
+ "\r\n"
+ "\0"
+END
+
+#endif // APSTUDIO_INVOKED
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
+// Icon
+//
+
+// Icon with lowest ID value placed first to ensure application icon
+// remains consistent on all systems.
+IDI_ICON1 ICON DISCARDABLE "icon.ico"
+#endif // Deutsch (Österreich) resources
+/////////////////////////////////////////////////////////////////////////////
+
+
+
+#ifndef APSTUDIO_INVOKED
+/////////////////////////////////////////////////////////////////////////////
+//
+// Generated from the TEXTINCLUDE 3 resource.
+//
+
+
+/////////////////////////////////////////////////////////////////////////////
+#endif // not APSTUDIO_INVOKED
+
|
