More OSX problems

If you are a new Irrlicht Engine user, and have a newbie-question, this is the forum for you. You may also post general programming questions here.
Post Reply
The Pie God
Posts: 8
Joined: Tue Oct 17, 2006 5:18 am

More OSX problems

Post by The Pie God »

I got my game and the engine compiling, but when the game starts my gun looks down and i cannot rotate at all. here is my code:

Code: Select all

                #include <irrlicht.h>
                #include <iostream>
#include <OpenGL/OpenGL.h>
                using namespace irr;
                /*
using namespace core;
using namespace scene;
using namespace video;
using namespace io;
using namespace gui;
*/
             #pragma comment(lib, "libMacOSX.a")






                int main()
                {

                 int health;
                 int ammo;
                 int weapon;


                    // Set Render


	video::E_DRIVER_TYPE driverType = video::EDT_OPENGL;


	IrrlichtDevice *device =
		createDevice(driverType, core::dimension2d<s32>(640, 480), 32, true     );

	if (device == 0)
		return 1; // could not create selected driver.



	video::IVideoDriver* driver = device->getVideoDriver();
	scene::ISceneManager* smgr = device->getSceneManager();

                  device->getFileSystem()->addZipFileArchive("map-20kdm2.zip");

                    scene::IAnimatedMesh* q3levelmesh = smgr->getMesh("20kdm2.bsp");


                    scene::ISceneNode* q3node = 0;

                    if (q3levelmesh)
                        q3node = smgr->addOctTreeSceneNode(q3levelmesh->getMesh(0));



                    scene::ITriangleSelector* selector = 0;

                    if (q3node)
                    {


                        selector = smgr->createOctTreeTriangleSelector(q3levelmesh->getMesh(0), q3node, 128);
                        q3node->setTriangleSelector(selector);
 selector->drop();

                    }

 q3node->setPosition(core::vector3df(-900,-500,-500));




//Add FPS Camera
scene::ICameraSceneNode* camera =NULL;
		SKeyMap keyMap[8];
		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;

			
			camera = smgr->addCameraSceneNodeFPS(0,0.1f,250.0f,-1,  keyMap,8  , false);

				

                    scene::ISceneNodeAnimator* anim = smgr->createCollisionResponseAnimator(
                        selector, camera, core::vector3df(7,45,7), //collision



                        core::vector3df(0,-0.7,0), //height
                        core::vector3df(0,30,0));
                    camera->addAnimator(anim);
                    anim->drop();


 	scene::ISceneNode* node = smgr->addLightSceneNode(0, core::vector3df(0,0,0),
		video::SColorf(1.0f, 0.6f, 0.7f, 1.0f), 600000.0f);
		  camera->addChild(node);

	

//Add Gun

 scene::ISceneNode*          gunNode = smgr->addAnimatedMeshSceneNode(smgr->getMesh("gloc.3ds"));

            gunNode->setParent(camera);
            gunNode->setPosition(core::vector3df(5,-30,10));
            gunNode->setMaterialFlag(video::EMF_LIGHTING, true);
            gunNode->setScale(core::vector3df(1,1,1));
            gunNode->setRotation(core::vector3df(0,-0,0));
  gunNode->setMaterialFlag(video::EMF_ZBUFFER,false);
       camera->addChild(gunNode);
gunNode->setMaterialTexture(0,	driver->getTexture("glocmap.jpg"));
core::vector3df start = camera->getPosition();
	core::vector3df end = (camera->getTarget() - start);
	end.normalize();
	start += end*5.0f;
	end = start + (end * camera->getFarValue());










	

	core::triangle3df triangle;

	core::line3d<f32> line(start, end);





device->getCursorControl()->setVisible(false);









//Add Crosshair
          scene::ISceneNode* crosshair = 0;

          crosshair = smgr->addBillboardSceneNode(crosshair,
          core::dimension2d<f32>(25, 25));
          crosshair->setMaterialFlag(video::EMF_LIGHTING, false);
          crosshair->setMaterialTexture(0, driver->getTexture
                                                   ("lol.bmp"));
          crosshair->setMaterialType(video::EMT_TRANSPARENT_ADD_COLOR);
          crosshair->setPosition(core::vector3df(-0,23,175));

          crosshair->setMaterialFlag(video::EMF_ZBUFFER,false);

       gunNode->addChild(crosshair);




//Add Health Icon
    scene::ISceneNode* Health = 0;

          Health = smgr->addBillboardSceneNode(Health,
          core::dimension2d<f32>(20, 20));
          Health->setMaterialFlag(video::EMF_LIGHTING, false);
          Health->setMaterialTexture(0, driver->getTexture
                                                   ("Health.bmp"));
          Health->setMaterialType(video::EMT_TRANSPARENT_ADD_COLOR);
          Health->setPosition(core::vector3df(-115,-90,150));
          //---NEW-----------
          Health->setMaterialFlag(video::EMF_ZBUFFER,false);
          //-------------------

       camera->addChild(Health);


//Add Ammo Icon
scene::ISceneNode* Ammo = 0;

          Ammo = smgr->addBillboardSceneNode(Ammo,
          core::dimension2d<f32>(20, 20));
          Ammo->setMaterialFlag(video::EMF_LIGHTING, false);
          Ammo->setMaterialTexture(0, driver->getTexture
                                                   ("Ammo.bmp"));
          Ammo->setMaterialType(video::EMT_TRANSPARENT_ADD_COLOR);
          Ammo->setPosition(core::vector3df(-60,-90,150));
          //---NEW-----------
          Ammo->setMaterialFlag(video::EMF_ZBUFFER,false);
          //-------------------

       camera->addChild(Ammo);

       	smgr->addSkyBoxSceneNode(
		driver->getTexture("irrlicht2_up.jpg"),
		driver->getTexture("irrlicht2_dn.jpg"),
		driver->getTexture("irrlicht2_lf.jpg"),
		driver->getTexture("irrlicht2_rt.jpg"),
		driver->getTexture("irrlicht2_ft.jpg"),
		driver->getTexture("irrlicht2_bk.jpg"));



















                    while(device->run())



                    if (device->isWindowActive())
                    {
                        driver->beginScene(true, true, 0);

                        smgr->drawAll();


                        driver->endScene();



                    }

                    device->drop();

                    return 0;
                }




The Pie God
Posts: 8
Joined: Tue Oct 17, 2006 5:18 am

Post by The Pie God »

DANG NAMMIT!! i have messed around a bit, and now it is stuck looking at the ground
Post Reply