43 lines
888 B
C++
43 lines
888 B
C++
|
|
/* Author: Josh Holtrop
|
|
* DornerWorks screensaver
|
|
* A slightly more interesting screensaver mode involving
|
|
* towers of DW logos with randomly disappearing ones
|
|
*/
|
|
|
|
#ifndef TOWERS_H
|
|
#define TOWERS_H
|
|
|
|
#include "SSMain.h"
|
|
#include "SSMode.h"
|
|
#include "LogoBox.h"
|
|
#include <ode/ode.h>
|
|
#include <vector>
|
|
|
|
class Towers : public SSMode
|
|
{
|
|
public:
|
|
Towers(SSMain * _SSMain);
|
|
~Towers();
|
|
void update();
|
|
|
|
protected:
|
|
void createWorld();
|
|
void worldStep();
|
|
void drawLogos();
|
|
void drawGround();
|
|
friend void Towers_collide_callback(void * data, dGeomID o1, dGeomID o2);
|
|
|
|
dWorldID m_world;
|
|
dSpaceID m_space;
|
|
dJointGroupID m_contactJointGroup;
|
|
std::vector<LogoBox *> m_logos;
|
|
Uint32 m_lastElapsed;
|
|
GLuint m_groundTexture;
|
|
int m_logoToRemove;
|
|
Uint32 m_lastRemoveTime;
|
|
GLuint m_logosList;
|
|
};
|
|
|
|
#endif
|