#include "general.h"
#include "Space3D.h"
#include "Shape.h"
Include dependency graph for BuildWorld.h:
This graph shows which files directly or indirectly include this file:
Classes | |
class | BuildDimension |
BuildDimension contains the raw data of a single dimention of tiles in BuildWorld. More... | |
class | BuildDimension::BuildPage |
BuildPage is a single page in the dimention. More... | |
struct | SqrLimits |
SqrLimits contains limits of single dimention. More... | |
struct | CoordBuild |
CoordBuild is a full coordniate designator for a tile in BuildWorld. More... | |
class | BuildWorld |
BuildWorld holds the raw data from the design editor. More... | |
struct | BuildWorld::WorldLimits |
WorldLimits contains the actual limits of BuildWorld in its 3 dimentions. More... | |
struct | BuildWorld::TransSqr |
TransSqr is the datum of the transp internal lookup table used doTransparent(). More... | |
Defines | |
#define | BUILD_SIZE 50 |
the size of a single dimention of the build. | |
#define | FACE_NORM 0x00000201 |
normal white | |
#define | FACE_STRT 0x00000202 |
starting, yellow | |
#define | FACE_NORM_SELR 0x00020201 |
show for selected to be removed | |
#define | FACE_STRT_SELR 0x00020202 |
#define | FACE_TRANS 0x00000101 |
blue ones, possible to put there a tile | |
#define | FACE_TRANS_NONE 0x00010101 |
should be blue, but not shown. | |
#define | FACE_DONT_TRANS 0x00000102 |
impossible to put there | |
#define | FACE_TRANS_SEL 0x00000103 |
shown where its possible to put a new cube | |
#define | TYPE_REAL 0x00000200 |
real tiles | |
#define | TYPE_VIR 0x00000100 |
virtual tiles | |
#define | SHOW_REOMOVE 0x00020000 |
can happen only to REAL tiles | |
#define | SHOW_DONT 0x00010000 |
can happen only to TRANS tiles | |
#define | SHOW_DO 0x00000000 |
#define | GET_TYPE(face) ((face) & 0x0000FF00) |
#define | GET_VAL(face) ((face) & 0x0000FFFF) |
#define | GET_SHOW(face) ((face) & 0x00FF0000) |
#define | GET_VAL_SHOW(face) ((face) & 0x00FFFFFF) |
#define | GET_INTENSITY(face) (((face) >> 24) & 0xFF) |
#define | SET_INTENSITY(face, in) ((face & 0x00FFFFFF) | ((in) << 24)) |
BuildWorld is used by CubeDoc to hold the state of the design editor BuildWorld uses BuildDimension internally to hold the data and SqrLimits to hold the boundaries of the current structure. this file also defines various #define constacts such as FACE_NORM and FACE_STRT that are used as the tile values in the array of BuildDimension and various macros such as GET_TYPE() and GET_VAL() that are used to make sense of these values.
#define BUILD_SIZE 50 |
the size of a single dimention of the build.
should be under 255 for MAKE_NAME
#define FACE_DONT_TRANS 0x00000102 |
impossible to put there
#define FACE_NORM 0x00000201 |
normal white
#define FACE_NORM_SELR 0x00020201 |
show for selected to be removed
#define FACE_STRT 0x00000202 |
starting, yellow
#define FACE_STRT_SELR 0x00020202 |
#define FACE_TRANS 0x00000101 |
blue ones, possible to put there a tile
#define FACE_TRANS_NONE 0x00010101 |
should be blue, but not shown.
#define FACE_TRANS_SEL 0x00000103 |
shown where its possible to put a new cube
#define GET_INTENSITY | ( | face | ) | (((face) >> 24) & 0xFF) |
#define GET_SHOW | ( | face | ) | ((face) & 0x00FF0000) |
#define GET_TYPE | ( | face | ) | ((face) & 0x0000FF00) |
#define GET_VAL | ( | face | ) | ((face) & 0x0000FFFF) |
#define GET_VAL_SHOW | ( | face | ) | ((face) & 0x00FFFFFF) |
#define SET_INTENSITY | ( | face, | |||
in | ) | ((face & 0x00FFFFFF) | ((in) << 24)) |
#define SHOW_DO 0x00000000 |
#define SHOW_DONT 0x00010000 |
can happen only to TRANS tiles
#define SHOW_REOMOVE 0x00020000 |
can happen only to REAL tiles
#define TYPE_REAL 0x00000200 |
real tiles
#define TYPE_VIR 0x00000100 |
virtual tiles