1 /** 2 * @file supervisor_guards_level.h 3 * @brief Guardians level supervisor 4 * @created 2003-01-11 5 * @date 2007-10-17 6 * @copyright 1991-2014 TLK Games 7 * @author Bruno Ethvignot 8 * @version $Revision: 24 $ 9 */ 10 /* 11 * copyright (c) 1991-2014 TLK Games all rights reserved 12 * $Id: supervisor_guards_level.h 24 2014-09-28 15:30:04Z bruno.ethvignot@gmail.com $ 13 * 14 * TecnoballZ is free software; you can redistribute it and/or modify 15 * it under the terms of the GNU General Public License as published by 16 * the Free Software Foundation; either version 3 of the License, or 17 * (at your option) any later version. 18 * 19 * TecnoballZ is distributed in the hope that it will be useful, but 20 * WITHOUT ANY WARRANTY; without even the implied warranty of 21 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 22 * GNU General Public License for more details. 23 * 24 * You should have received a copy of the GNU General Public License 25 * along with this program; if not, write to the Free Software 26 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 27 * MA 02110-1301, USA. 28 */ 29 #ifndef __SUPERVISOR_GUARDS_LEVEL__ 30 #define __SUPERVISOR_GUARDS_LEVEL__ 31 class supervisor_guards_level; 32 #include "../include/tilesmap_scrolling.h" 33 #include "../include/sprite_bullet.h" 34 #include "../include/handler_display.h" 35 #include "../include/handler_keyboard.h" 36 #include "../include/supervisor.h" 37 #include "../include/controller_guardians.h" 38 #include "../include/controller_bullets.h" 39 #include "../include/controller_paddles.h" 40 #include "../include/controller_balls.h" 41 #include "../include/controller_moneys.h" 42 #include "../include/controller_capsules.h" 43 #include "../include/controller_indicators.h" 44 #include "../include/controller_gigablitz.h" 45 #include "../include/controller_explosions.h" 46 #include "../include/controller_viewfinders.h" 47 #include "../include/controller_game_over.h" 48 #include "../include/controller_spheres.h" 49 #include "../include/handler_popup_menu.h" 50 #include "../include/controller_font_game.h" 51 52 53 class supervisor_guards_level:public virtual supervisor 54 { 55 friend class controller_font_game; 56 57 private: 58 controller_gigablitz * gigablitz; 59 tilesmap_scrolling *tiles_map; 60 controller_guardians *guards; 61 controller_bullets *bullets; 62 controller_paddles *paddles; 63 controller_balls *balls; 64 controller_viewfinders *viewfinders_paddles; 65 controller_moneys *money_capsules; 66 controller_capsules *power_up_capsules; 67 controller_indicators *player_indicators; 68 controller_explosions *explosions; 69 /** Sprite of the money capsule to the left of amount money */ 70 sprite_object *money_indicator; 71 sprite_object *sprite_playername; 72 sprite_capsule *ptBobLifes; 73 handler_popup_menu *popup_menu; 74 /** Area number from 1 to 5 */ 75 Uint32 area_number; 76 /** Current level number 6, 12 or 13 */ 77 Uint32 level_number; 78 const guardians_level_desc *level_desc; 79 /** Delay time before the scrolling starts */ 80 Uint32 scroll_start_delay; 81 /** Behavior type of scrolling */ 82 Uint32 scroll_type; 83 /** Speed of the scrolling */ 84 Sint32 scroll_speed; 85 controller_game_over *game_over; 86 /** Mettalic spheres used in congratulisation */ 87 controller_spheres *metallic_spheres; 88 Uint32 gameover_counter; 89 /** Delay counter before next phase */ 90 Sint32 count_next; 91 /** If true game is finished, play game over with congratulations */ 92 bool is_victory; 93 /** If true congratulations was already initialized */ 94 bool is_victory_initialized; 95 controller_font_game *font_game; 96 97 private: 98 void init_level (); 99 void run_scroll (); 100 void cheat_keys (); 101 102 public: 103 supervisor_guards_level (); 104 ~supervisor_guards_level (); 105 void first_init (); 106 Uint32 main_loop (); 107 }; 108 #endif 109