Added comments

This commit is contained in:
Deathsbreed 2014-10-19 17:35:29 -05:00
parent 55f9b8b4f2
commit 9600522e10

View File

@ -10,32 +10,42 @@ int main() {
video::E_DRIVER_TYPE driverType = driverChoiceConsole(); video::E_DRIVER_TYPE driverType = driverChoiceConsole();
if(driverType == video::EDT_COUNT) return 1; if(driverType == video::EDT_COUNT) return 1;
// Create eventReceiver variable
EventReceiver eventReceiver; EventReceiver eventReceiver;
// Create the device we'll be using
IrrlichtDevice *device = createDevice(driverType, core::dimension2d<u32>(1280, 720), 32, true, false, false, &eventReceiver); IrrlichtDevice *device = createDevice(driverType, core::dimension2d<u32>(1280, 720), 32, true, false, false, &eventReceiver);
if(device == 0) return 1; if(device == 0) return 1;
// Create other variables we'll need
video::IVideoDriver *driver = device->getVideoDriver(); video::IVideoDriver *driver = device->getVideoDriver();
scene::ISceneManager *smgr = device->getSceneManager(); scene::ISceneManager *smgr = device->getSceneManager();
gui::IGUIEnvironment *guienv = device->getGUIEnvironment(); gui::IGUIEnvironment *guienv = device->getGUIEnvironment();
// Add text to game
guienv->addStaticText(L"Use WASD to move\nUse SPACE to jump\nUse ESC to exit", core::rect<s32>(30, 30, 120, 65), false, false, 0, -1, true); guienv->addStaticText(L"Use WASD to move\nUse SPACE to jump\nUse ESC to exit", core::rect<s32>(30, 30, 120, 65), false, false, 0, -1, true);
// Load map
device->getFileSystem()->addFileArchive("../res/map-20kdm2.pk3"); device->getFileSystem()->addFileArchive("../res/map-20kdm2.pk3");
scene::IAnimatedMesh *mapmesh = smgr->getMesh("20kdm2.bsp"); scene::IAnimatedMesh *mapmesh = smgr->getMesh("20kdm2.bsp");
scene::IMeshSceneNode *mapnode = 0; scene::IMeshSceneNode *mapnode = 0;
if(mapmesh) { if(mapmesh) {
mapnode = smgr->addOctreeSceneNode(mapmesh->getMesh(0)); // Create map octree node
mapnode = smgr->addOctreeSceneNode(mapmesh->getMesh(0), 0, -1, 2048);
} }
// Create Triangle selector for collision
scene::ITriangleSelector *tselector = 0; scene::ITriangleSelector *tselector = 0;
if(mapnode) { if(mapnode) {
// Set map position
mapnode->setPosition(core::vector3df(-1350, -130, -1400)); mapnode->setPosition(core::vector3df(-1350, -130, -1400));
// Define triangle selector
tselector = smgr->createOctreeTriangleSelector(mapnode->getMesh(), mapnode, 128); tselector = smgr->createOctreeTriangleSelector(mapnode->getMesh(), mapnode, 128);
// Set the mapnode's triangle selector
mapnode->setTriangleSelector(tselector); mapnode->setTriangleSelector(tselector);
} }
// Setup new keys // Setup new keys (not using default)
SKeyMap keyMap[6]; SKeyMap keyMap[6];
keyMap[0].Action = EKA_MOVE_FORWARD; keyMap[0].Action = EKA_MOVE_FORWARD;
keyMap[0].KeyCode = KEY_KEY_W; keyMap[0].KeyCode = KEY_KEY_W;
@ -48,6 +58,7 @@ int main() {
keyMap[4].Action = EKA_JUMP_UP; keyMap[4].Action = EKA_JUMP_UP;
keyMap[4].KeyCode = KEY_SPACE; keyMap[4].KeyCode = KEY_SPACE;
// Create camera
scene::ICameraSceneNode *cam = smgr->addCameraSceneNodeFPS(0, 100.0f, .3f, -1, keyMap, sizeof(keyMap) / sizeof(*keyMap), true, 3.0f); scene::ICameraSceneNode *cam = smgr->addCameraSceneNodeFPS(0, 100.0f, .3f, -1, keyMap, sizeof(keyMap) / sizeof(*keyMap), true, 3.0f);
cam->setPosition(core::vector3df(50, 50, -60)); cam->setPosition(core::vector3df(50, 50, -60));
cam->setTarget(core::vector3df(-70, 30, -60)); cam->setTarget(core::vector3df(-70, 30, -60));
@ -58,27 +69,33 @@ int main() {
cam->addAnimator(sanim); cam->addAnimator(sanim);
sanim->drop(); sanim->drop();
} }
// Hide cursor
device->getCursorControl()->setVisible(false); device->getCursorControl()->setVisible(false);
int lastFPS = -1; int lastFPS = -1;
while(device->run()) { while(device->run()) {
// Begin the scene
driver->beginScene(true, true, video::SColor(0, 255, 101, 255)); driver->beginScene(true, true, video::SColor(0, 255, 101, 255));
// Draw
smgr->drawAll(); smgr->drawAll();
guienv->drawAll(); guienv->drawAll();
// End the scene
driver->endScene(); driver->endScene();
// Check for ESC key
if(eventReceiver.IsKeyDown(KEY_ESCAPE)) { if(eventReceiver.IsKeyDown(KEY_ESCAPE)) {
device->closeDevice(); device->closeDevice();
} }
// Print FPS
int fps = driver->getFPS(); int fps = driver->getFPS();
if(lastFPS != fps) { if(lastFPS != fps) {
std::cout << "FPS: " << fps << std::endl; std::cout << "FPS: " << fps << std::endl;
lastFPS = fps; lastFPS = fps;
} }
} }
// Drop the device and quit
device->drop(); device->drop();
return 0; return 0;
} }