PGE Engine
 All Classes Namespaces Files Functions Variables Enumerations Enumerator Macros Pages
obj_block.h
1 /*
2  * Platformer Game Engine by Wohlstand, a free platform for game making
3  * Copyright (c) 2015 Vitaly Novichkov <admin@wohlnet.ru>
4  *
5  * This program is free software: you can redistribute it and/or modify
6  * it under the terms of the GNU General Public License as published by
7  * the Free Software Foundation, either version 3 of the License, or
8  * any later version.
9  *
10  * This program is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13  * GNU General Public License for more details.
14  *
15  * You should have received a copy of the GNU General Public License
16  * along with this program. If not, see <http://www.gnu.org/licenses/>.
17  */
18 
19 #ifndef OBJ_BLOCK_H
20 #define OBJ_BLOCK_H
21 
22 #include "../graphics/graphics.h"
23 
24 #include <QString>
25 #include <QPixmap>
26 #include <QList>
27 
28 struct obj_block
29 {
30  unsigned long id;
31  QString image_n;
32  QString mask_n;
33  //QPixmap image;
34  //QPixmap mask;
35 
36  /* OpenGL */
37  bool isInit;
38  PGE_Texture * image;
39  GLuint textureID;
40  long textureArrayId;
41  long animator_ID;
42  /* OpenGL */
43 
44  QString name;
45  // grid=32 ; 32 | 16 Default="32"
46  unsigned int grid;
47  QString group;
48  QString category;
49  bool sizable;
50  int danger;
51  int collision;
52  bool slopeslide;
53  int phys_shape;
54  bool lava;
55  bool destroyable;
56  bool destroyable_by_bomb;
57  bool destroyable_by_fireball;
58 
59  bool spawn; //split string by "-" in != "0"
60  int spawn_obj; // 1 - NPC, 2 - block, 3 - BGO
61  unsigned long spawn_obj_id;
62 
63  unsigned long effect;
64  bool bounce;
65  bool hitable;
66  unsigned long transfororm_on_hit_into;
67  unsigned long algorithm;
68 
69  //Toggable Switch blocks
70  bool switch_Button;
71  bool switch_Block;
72  int switch_ID;
73  int switch_transform;
74 
75  //Playable character Switch/Filter blocks
76  bool plSwitch_Button;
77  int plSwitch_Button_id; //Target Character ID
78  QList<int> plSwitch_frames_true;
79  QList<int> plSwitch_frames_false;
80 
81  bool plFilter_Block; //Target Character ID
82  int plFilter_Block_id;//Target Character ID
83  QList<int> plFilter_frames_true;
84  QList<int> plFilter_frames_false;
85 
86  unsigned int view;
87  bool animated;
88  bool animation_rev; //Reverse animation
89  bool animation_bid; //Bidirectional animation
90  unsigned int frames;
91  int framespeed;
92  int hit_sound_id; //Play custom sound on hit
93  int destroy_sound_id; //Play custom sound on destroy
94 
95  unsigned int frame_h; //Hegth of the frame. Calculating automatically
96 
97  unsigned int display_frame;
98 
99  //Editor defaults
100  bool default_slippery; //Slippery flag
101  bool default_slippery_value;
102 
103  bool default_invisible; //Invisible flag
104  bool default_invisible_value;
105 
106  bool default_content; //Content value
107  long default_content_value;
108 
109 };
110 
111 
112 #endif // OBJ_BLOCK_H
Definition: pge_texture.h:32
Definition: obj_block.h:28