1
0
Fork 0
blockofighter/src/legoblocks.h

146 lines
2.7 KiB
C++

/*
* $Id: legoblocks.h,v 1.14 2002/07/19 20:33:28 msell Exp $
*
*
* $Log: legoblocks.h,v $
* Revision 1.14 2002/07/19 20:33:28 msell
* #pragma once -> #ifndef
*
* Revision 1.13 2002/07/18 23:05:31 msell
* Partikkelit ja kakkospelaajan liike
*
* Revision 1.12 2002/07/17 20:32:47 msell
* Detail-optio toimii
*
* Revision 1.11 2002/07/16 17:16:34 msell
* Fontit ja valikot
*
* Revision 1.10 2002/07/16 00:42:43 msell
* Uusia skyboxeja ja areenan säätöä
*
* Revision 1.9 2002/07/15 20:32:35 msell
* Uudet valot ja ulkoasun parantelua
*
* Revision 1.8 2002/07/15 15:22:08 msell
* Parantelua
*
* Revision 1.7 2002/06/24 14:12:15 msell
* Nyt toimii sphere -> mesh -törmäykset, ihan tosi
*
* Revision 1.6 2002/06/20 00:21:01 jkaarlas
* materiaali- ja tekstuurihommia edistetty
*
* Revision 1.5 2002/06/17 20:49:04 msell
* free -> SDL_FreeSurface
*
* Revision 1.4 2002/06/05 18:39:05 msell
* Jotain pientä
*
* Revision 1.3 2002/06/05 15:00:41 msell
* Palikoihin lisää detailia, facet jaetaan halutun kokosiin osiin
*
* Revision 1.2 2002/06/04 16:28:32 msell
* #pragma once
*
* Revision 1.1 2002/06/03 23:06:38 msell
* no message
*
*
*
*
* $Date: 2002/07/19 20:33:28 $
*
*/
#ifndef __LEGOBLOCKS_H_INCLUDED__
#define __LEGOBLOCKS_H_INCLUDED__
//#include "mesh.h"
#include "object.h"
#include "material.h"
#include "mesh.h"
#define BLOCKHEIGHT 0.4
class BasicBlock : public MeshObject{
private:
int width, height, depth;
public:
BasicBlock(int width, int height, int depth);
void setColor(float red, float green, float blue);
};
class BasicBlockAppearance : public Appearance{
private:
int width, height, depth;
int gllist;
protected:
bool usematerial;
public:
float displacement[3];
BasicBlockAppearance(int width, int height, int depth);
virtual void prepare(void);
virtual void draw(void);
};
void drawDetailRectangle(float width, float height);
extern int knobgllist;
extern int knobdetail;
void initKnob(void);
void createKnob(int knobsegments = -1);
class HeadAppearance : public Appearance{
private:
int gllist;
public:
HeadAppearance(void);
void prepare(void);
void draw(void);
};
#define FLOWER_RED 1
#define FLOWER_YELLOW 2
#define FLOWER_WHITE 3
class FlowerAppearance : public Appearance{
private:
int gllist;
int color1, color2, color3;
public:
FlowerAppearance(int color1, int color2, int color3);
void prepare(void);
void draw(void);
};
class LampAppearance : public Appearance{
private:
int gllist;
public:
LampAppearance(void);
void prepare(void);
void draw(void);
};
#endif