In file apps/blocks/blocks.h:

## class Blocks : public SysSystemDriver

## Inheritance:

### Public Methods

void add_cube(int dx, int dy, int dz, int x, int y, int z)
void add_cube_template()
void add_pilar(int x, int y)
void add_pilar_template()
Blocks()
bool check_new_shape_location(int dx, int dy, int dz)
  Return true if free.
bool check_new_shape_rotation(const csMatrix3& rot)
  Return true if free.
csMatrix3 create_rotate_x(float angle)
csMatrix3 create_rotate_y(float angle)
csMatrix3 create_rotate_z(float angle)
void dump_shape()
void eatkeypress(int key, bool shift, bool alt, bool ctrl)
void freeze_shape()
bool get_cube(int x, int y, int z)
void init_game()
void move_camera()
void move_cubes(long elapsed_time)
void move_shape_internal(int dx, int dy, int dz)
virtual void NextFrame(long elapsed_time, long current_time)
void rotate_shape_internal(const csMatrix3& rot)
void set_cube(int x, int y, int z, bool v)
void set_cube_room(csSector* s)
void set_cube_texture(csTextureHandle* ct)
void set_pilar_texture(csTextureHandle* ct)
void start_horizontal_move(int dx, int dy)
void start_rotation(BlRotType type)
void start_shape(BlShapeType type, int x, int y, int z)

### Private Fields

float cam_move_dist
  How much distance does the camera still need to move (with 1 being the full distance to move)?
float move_down_todo
  How much do we have to move down before we reach another cube-level?
float move_hor_todo
  How much distance do we have to move horizontally and in what direction?
int move_right_dx
  The following four flags indicate how the movement keys work
bool pause
  If true we are paused.
float rot_px_todo
  How much rotation around the specified axis do we still need to do for the current cube?

### Inherited from SysSystemDriver:

### Public Classes

class XBeLibSystemDriver: public IBeLibSystemDriver
class XDosSystemDriver: public IDosSystemDriver

STDMETHOD (SetMousePosition)(int x, int y)
  Set mouse position since mouse driver is part of system driver

### Inherited from csSystemDriver:

### Public Fields

IConfig* cfg_engine
csColOption* com_options
csConsole* Console
static int debug_level
static bool DemoReady
int Depth
csEventQueue* EventQueue
static bool ExitLoop
int FrameHeight
int FrameWidth
bool FullScreen
bool IsFocused
csKeyboardDriver* Keyboard
csMouseDriver* Mouse
IGraphics2D* piG2D
IGraphics3D* piG3D
IGraphicsInfo* piGI
INetworkDriver* piNetDrv
INetworkManager* piNetMan
ISoundRender* piSound
static bool Shutdown

### Public Methods

virtual void Close()
static void debugprintf(bool flush, const char* str, ...)
static FILE* fopen(const char* filename, const char* mode)
virtual void Help()
virtual bool InitGraphics()
virtual bool Initialize(int argc, char *argv[], IConfig* cfg_engine)
virtual bool InitKeyboard()
virtual bool InitMouse()
virtual bool InitNetwork()
virtual bool InitSound()
virtual void Loop()
virtual bool Open(char *Title)
bool ParseCmdLine(int argc, char* argv[])
bool ParseCmdLineDriver(int argc, char* argv[])
static void Printf(int mode, const char* str, ...)
static void printf_init()
virtual void SetSystemDefaults()
virtual void Sleep(int )
static long Time()

### Protected Methods

virtual void Alert(const char* msg)
csColOption* CollectOptions(IConfig* config, csColOption* already_collected)
virtual void DemoWrite(const char* msg)
void do_focus(int enable)
void Help(IConfig* piConf)
virtual bool ParseArg(int argc, char* argv[], int& i)
virtual bool ParseArgDriver(int argc, char* argv[], int& i)
void SetMode(const char* mode)
virtual void Warn(const char* msg)

## Documentation

`float cam_move_dist`
  How much distance does the camera still need to move (with 1 being the full distance to move)?

`float rot_px_todo`
  How much rotation around the specified axis do we still need to do for the current cube?

`float move_down_todo`
  How much do we have to move down before we reach another cube-level?

`float move_hor_todo`
  How much distance do we have to move horizontally and in what direction?

`int move_right_dx`
  The following four flags indicate how the movement keys work. This is to make sure that pressing the right arrow key will always move the block to the right for example.

`bool pause`
  If true we are paused.

`Blocks()`

`virtual void NextFrame(long elapsed_time, long current_time)`

`void eatkeypress(int key, bool shift, bool alt, bool ctrl)`

`void add_cube(int dx, int dy, int dz, int x, int y, int z)`

`void add_pilar(int x, int y)`

`void add_cube_template()`

`void add_pilar_template()`

`void set_cube_texture(csTextureHandle* ct)`

`void set_pilar_texture(csTextureHandle* ct)`

`void set_cube_room(csSector* s)`

`void move_cubes(long elapsed_time)`

`void move_camera()`

`csMatrix3 create_rotate_x(float angle)`

`csMatrix3 create_rotate_y(float angle)`

`csMatrix3 create_rotate_z(float angle)`

`void start_rotation(BlRotType type)`

`void start_horizontal_move(int dx, int dy)`

`void start_shape(BlShapeType type, int x, int y, int z)`

`void move_shape_internal(int dx, int dy, int dz)`

`void rotate_shape_internal(const csMatrix3& rot)`

`bool check_new_shape_location(int dx, int dy, int dz)`
  Return true if free.

`bool check_new_shape_rotation(const csMatrix3& rot)`
  Return true if free.

`void freeze_shape()`

`void dump_shape()`

`void init_game()`

`bool get_cube(int x, int y, int z)`

`void set_cube(int x, int y, int z, bool v)`

This class has no child classes.

alphabetic index hierarchy of classes

this page has been generated automatically by doc++

(c)opyright by Malte Zöckler, Roland Wunderling
contact: doc++@zib.de