Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //Serious Sam 2D - The Last Game Hero - AntonioR Software - Croatia - 2010
- #include "..\Engine\Advanced2D.h"
- #include <iostream>
- #include <fstream>
- #include <string.h>
- using namespace Advanced2D;
- using namespace std;
- #define NORMAL 999
- #define SERIOUS 1000
- #define STATE_CROTEAM 1
- #define STATE_ANTONIOR 2
- #define STATE_SS2DTLGH 3
- #define STATE_PLAY 4
- #define STATE_MENU 5
- #define STATE_LOSER 6
- #define STATE_EXIT 7
- #define STATE_END 8
- #define STATE_UPUTE 9
- #define STATE_INTRO 10
- #define STATE_TEZINA 11
- #define STATE_CREDITS 12
- #define STATE_CREDITS_K 13
- #define STATE_RESTART_L 14
- #define STATE_GAMEOVER 15
- #define BACKGROUND 50
- #define SKYBOX_1 51
- #define SKYBOX_2 52
- #define CURSOR 61
- #define START 62
- #define QUIT 63
- #define LOAD 64
- #define SAVE 65
- #define GLUPOST 66
- #define SPRITE_PADDLE 101
- #define SPRITE_NOGE 102
- #define SPRITE_META 103
- #define SPRITE_PUPAK 104
- #define SPRITE_LOF 105
- #define SACMA 110
- #define LASER 111
- #define LASER2 112
- #define METAK 113
- #define RAKETA 114
- #define TOPOVSKA_KUGLA 115
- #define CREDITSB 116
- #define HEALTH_100 150
- #define HEALTH_25 151
- #define MR 152
- #define MT 153
- #define ML 154
- #define MM 155
- #define MM2 156
- #define SSF 157
- #define CROWBAR 158
- #define GMAN 159
- #define N_KAMIKAZA 200
- #define N_SETACPLAVI 201
- #define N_SETACCRVENI 202
- #define N_GNAARFEMALE 203
- #define N_BIK 204
- #define N_HARPIJA 205
- #define N_GNAARMALE 206
- #define PTICA 301
- #define OBJECT_EXPLOSION 302
- #define N_LASER 303
- #define N_RAKETA 304
- #define N_HARPIJAPROJEKTIL 305
- #define OBJECT_KRV 306
- #define CREDITS 307
- #define OBJECT_PALMA 308
- #define OBJECT_STUP 309
- #define OBJECT_IKI 310
- #define OBJECT_LGB 311
- #define OBJECT_MISC 312
- #define MRTVAC 400
- #define MRTVAC_SAM 401
- #define KONZOLA 402
- #define BOSS 666
- #define BOSS_VATRA 667
- #define BOSS_ROG 668
- #define BOSS_OKO 669
- #define BOSS_METAG 670
- #define BOSS_METAD 671
- #define BOSS_HEAD 672
- #define BOSS_VATRENAKUGLA 673
- //******************************************************************************CONFIG.txt
- int SCREENW = 1280;
- int SCREENH = 768;
- int W_ili_FS;
- int Preskoci=0;
- int ShowCollisionBox = 0;
- int SmanjiLifeTime=0;
- int SmanjiLifeTime_U=100;
- bool konzola=false;
- int Tezina=NORMAL;
- int TezinaRazlika=1;
- bool ProciCu=true;
- bool SecondaryFire=false;
- int Level_End = 0;
- double NekiKut;
- double d;
- double polx;
- double poly;
- int BrojN[10]={0,20,20,140,70,50,50,115,0,0};
- //int BrojN[10]={0,0,0,0,0,0,50,0,0,0};
- int BrzinaOruzja[10]={375,800,70,650,135,1500};
- int BossEnergyTriger1=500;
- int BossEnergyTriger2=150;
- string CheatUlaz;
- string Cheat1="ARS_HEALTH25";
- string Cheat2="ARS_SSF";
- string Cheat3="CHEATER_I_AM";
- bool Cheater=false;
- //Brzine
- double KAMIKAZA_VEL = 11.0;
- double GNAAR_VEL = 10.0;
- double SETAC_VEL = 4.0;
- double BULLET_VEL = 28.0;
- double BIK_VEL = 13.0;
- double HARPIJA_VEL = 5.0;
- double pistoljV= 40;
- double sacmaricaV= 45;
- double minigunV= 45;
- double rocketV= 34;
- double laserV= 34;
- double kuglaV=35;
- //******************************************************************************CONFIG.txt KRAJ
- int QWERTZ = 0;
- int MunicijaRL = 0;
- int MunicijaT = 0;
- int MunicijaMG = 0;
- int MunicijaL = 0;
- bool MrtavBoss=false;
- int FireBoss3=-120;
- int FireBoss33=15;
- int FireBoss1i2=0;
- bool spustanje=true;
- bool VatraKraj=true;
- bool lijevoidesno=true;
- bool boss_krik=true;
- bool boss_krik2=true;
- //In-game trigeri
- bool mraketa=false;
- bool mtop=false;
- bool DieWhenIKillYou=false;
- bool domamami=true;
- bool LudePtice=false;
- //Menu trigeri
- bool menustart = true;
- bool menuquit = true;
- bool menuload = true;
- bool menusave = true;
- bool menunormal = true;
- bool menuserious = true;
- //Serious Sam razno
- bool LOF=false;
- bool LOF2=false;
- bool trcanjeL=true;
- bool trcanjeD=true;
- double Sam_BrzinaX = 3.5;
- double Sam_BrzinaY = 3.0;
- double SmanjiSamBrzinu = 0;
- double Kut_Pucanja;
- double paddle_angle;
- double paddleVelocity = 0.0f;
- double paddleVelocity2 = 0.0f;
- int Kretanje = 0;
- int KretanjeY = 0;
- //zbog problema sa zvukom
- bool WoundWeak=false;
- bool WoundStrong=false;
- int BossEnergy=0;
- int level=0;
- int score = 0;
- int gameState = STATE_ANTONIOR;
- int Sam_energy=100;
- int enemy_count=0;
- int enemy_spawn_count=0;
- int oruzje=0;
- int BrPtica=0;
- ////////////////////////////////RESTART LEVEL
- int RL_Level=0;
- int RL_Score=0;
- int RL_Sam_energy=100;
- int RL_enemy_count=15;
- int RL_enemy_spawn_count=150;
- int RL_oruzje=0;
- int RL_MunicijaRL = 0;
- int RL_MunicijaT = 0;
- int RL_MunicijaMG = 0;
- int RL_MunicijaL = 0;
- int RL_Tezina = NORMAL;
- ////////////////////////////////
- //Console *console;
- Font *times24;
- Font *verdana10;
- //******************************************************************************SPRITE
- Sprite *background;
- Sprite *SkyBox1_S;
- Sprite *SkyBox2_S;
- Sprite *paddle;
- Sprite *noge;
- Sprite *S_LOF;
- Sprite *META;
- Sprite *Pupak;
- Sprite *HUD;
- Sprite *cursor;
- Sprite *StartS;
- Sprite *QuitS;
- Sprite *LoadS;
- Sprite *SaveS;
- Sprite *boss = new Sprite();
- Sprite *MetaG = new Sprite();
- Sprite *MetaD = new Sprite();
- Sprite *PanelQuit;
- Sprite *Glupost;
- Sprite *Konzola;
- //******************************************************************************TEXTURE
- //BACKGROUND
- Texture *B_Croteam;
- Texture *B_AntonioR;
- Texture *B_SS2DTLGH;
- Texture *B_Menu;
- Texture *B_Upute;
- Texture *B_Intro;
- Texture *B_Level000;
- Texture *B_Level001;
- Texture *B_Level002;
- Texture *B_Level003;
- Texture *B_Level004;
- Texture *B_Level005;
- Texture *B_Level006;
- Texture *B_Level007;
- Texture *B_Level008;
- Texture *B_Level009;
- Texture *B_End;
- Texture *B_Credits;
- Texture *B_Credits2;
- //SKYBOX
- Texture *SB_Vedrosoblacima;
- Texture *SB_Vedrosoblacima2;
- //MENU
- Texture *M_Start_T;
- Texture *M_Quit_T;
- Texture *M_Load_T;
- Texture *M_NSG_T;
- Texture *M_ASO_T;
- Texture *M_Save_T;
- Texture *M_Yes_T;
- Texture *M_No_T;
- Texture *M_AreYouSerious_T;
- Texture *M_GameOver_T;
- Texture *M_Normal_T;
- Texture *M_Serious_T;
- Texture *M_Tezina_T;
- //NEPRIJATELJI
- Texture *N_KamikazaD_T;
- Texture *N_KamikazaL_T;
- Texture *N_GnaarFemale_T;
- Texture *N_Bik_T;
- Texture *N_SetacPlaviD_T;
- Texture *N_SetacPlaviL_T;
- Texture *N_SetacCrveniD_T;
- Texture *N_SetacCrveniL_T;
- Texture *N_HarpijaD_T;
- Texture *N_HarpijaL_T;
- Texture *N_GnaarMale_T;
- Texture *N_TheBoss;
- Texture *N_TheBossH;
- //NEPRIJATELJI MRTVI
- Texture *N_GnaarFemaleMrtav_T;
- Texture *N_BikMrtav_T;
- Texture *N_SetacPlaviMrtavD_T;
- Texture *N_SetacPlaviMrtavL_T;
- Texture *N_SetacCrveniMrtavD_T;
- Texture *N_SetacCrveniMrtavL_T;
- Texture *N_GnaarMaleMrtav_T;
- //SERIOUS SAM
- Texture *Sam_Desno;
- Texture *Sam_Lijevo;
- Texture *Noge_Desno;
- Texture *Noge_Lijevo;
- Texture *NogeT_Desno;
- Texture *NogeT_Lijevo;
- Texture *Noge_UnazadD;
- Texture *Noge_UnazadL;
- Texture *META_T;
- Texture *I_Knew_It;
- Texture *Sam_PupakD;
- Texture *Sam_PupakL;
- Texture *Sam_MrtavD_T;
- Texture *Sam_MrtavL_T;
- //PREDMETI
- Texture *Health100;
- Texture *I_Health25_T;
- Texture *I_RocketLauncher_T;
- Texture *I_Top_T;
- Texture *I_Laser_T;
- Texture *I_Minigun_T;
- Texture *MunicijaRaketa;
- Texture *MunicijaLaser;
- Texture *MunicijaMinigun;
- Texture *MunicijaTop;
- Texture *I_SeriousSecondaryFire_T;
- Texture *I_PticaL_T;
- Texture *I_PticaD_T;
- Texture *I_PalmaT;
- Texture *I_StupD_T;
- Texture *I_StupL_T;
- Texture *I_LOF_T;
- Texture *I_LGB_T;
- Texture *I_CB_T;
- Texture *I_GM_T;
- //PROJEKTILI
- Texture *A_Kugla_T;
- Texture *A_Raketa_T;
- Texture *A_BRaketa_T;
- Texture *A_RaketaSC_T;
- Texture *A_Laser_T;
- Texture *A_Laser2_T;
- Texture *A_Sacma_T;
- Texture *A_MetakP_T;
- Texture *A_Minigun_T;
- Texture *A_BOko_T;
- Texture *vatrena_kugla;
- Texture *FireBoss1;
- Texture *A_LaserSP_T;
- Texture *A_HarpijaP_T;
- //MISC
- Texture *HarpijaKrilo_T;
- Texture *Explosion_K;
- Texture *Explosion_R;
- Texture *Explosion_V;
- Texture *Krv_C;
- Texture *Krv_Z;
- Texture *IntroText_T;
- Texture *CreditsText;
- Texture *B_METAG_T;
- Texture *B_METAD_T;
- Texture *Ruka;
- Texture *Krilo;
- //******************************************************************************TIMERI
- Timer N_Timer1;
- Timer N_Timer2;
- Timer N_Timer3;
- Timer N_Timer4;
- Timer N_Timer5;
- Timer Sam_Pucaj;
- Timer Sam_PucajTop;
- //UREDJENO
- bool game_preload()
- {
- ifstream filein("config.txt");
- filein >> W_ili_FS >> ShowCollisionBox >> CheatUlaz;
- //filein >> W_ili_FS >> Preskoci >> ShowCollisionBox >> SmanjiLifeTime_U;
- g_engine->setAppTitle("Serious Sam 2D - The Last Game Hero by AntonioR Software");
- g_engine->setScreenWidth(SCREENW);
- g_engine->setScreenHeight(SCREENH);
- g_engine->setColorDepth(32);
- if (W_ili_FS == 0) g_engine->setFullscreen(false);
- else g_engine->setFullscreen(true);
- return true;
- }
- bool initMusic()
- {
- if (!g_engine->audio->Load("Music/Music_AntonioR.ogg","Music_AntonioR"))
- {
- g_engine->message("Error loading Music_AntonioR.ogg");
- return false;
- }
- if (!g_engine->audio->Load("Music/Music_SpaceIntro.ogg","Music_SpaceIntro"))
- {
- g_engine->message("Error loading Music_SpaceIntro.ogg");
- return false;
- }
- if (!g_engine->audio->Load("Music/Music_Level000.ogg","Music_Level000"))
- {
- g_engine->message("Error loading Music_Level000.ogg");
- return false;
- }
- if (!g_engine->audio->Load("Music/Music_Level001.ogg","Music_Level001"))
- {
- g_engine->message("Error loading Music_Level001.ogg");
- return false;
- }
- if (!g_engine->audio->Load("Music/Music_Level003.ogg","Music_Level003"))
- {
- g_engine->message("Error loading Music_Level003.ogg");
- return false;
- }
- if (!g_engine->audio->Load("Music/Music_Level004.ogg","Music_Level004"))
- {
- g_engine->message("Error loading Music_Level004.ogg");
- return false;
- }
- if (!g_engine->audio->Load("Music/Music_Level005.ogg","Music_Level005"))
- {
- g_engine->message("Error loading Music_Level005.ogg");
- return false;
- }
- if (!g_engine->audio->Load("Music/Music_Level006.ogg","Music_Level006"))
- {
- g_engine->message("Error loading Music_Level006.ogg");
- return false;
- }
- if (!g_engine->audio->Load("Music/Music_Level007.ogg","Music_Level007"))
- {
- g_engine->message("Error loading Music_Level007.ogg");
- return false;
- }
- if (!g_engine->audio->Load("Music/Music_Level008.ogg","Music_Level008"))
- {
- g_engine->message("Error loading Music_Level008.ogg");
- return false;
- }
- if (!g_engine->audio->Load("Music/Music_Level009.ogg","Music_Level009"))
- {
- g_engine->message("Error loading Music_Level009.ogg");
- return false;
- }
- if (!g_engine->audio->Load("Music/Music_Credits.ogg","Music_Credits"))
- {
- g_engine->message("Error loading Music_Credits.ogg");
- return false;
- }
- }
- bool initSound()
- {
- //ZVUK SERIOUS SAM
- if (!g_engine->audio->Load("Sound/Sam_LOF.wav","Sam_LOF"))
- {
- g_engine->message("Error loading Sam_LOF.wav");
- return false;
- }
- if (!g_engine->audio->Load("Sound/Sam_Now_I_Am_Seriously_Serious.wav","Sam_Now_I_Am_Seriously_Serious"))
- {
- g_engine->message("Error loading Sam_Now_I_Am_Seriously_Serious.wav");
- return false;
- }
- if (!g_engine->audio->Load("Sound/Sam_Hey.wav","Sam_Hey"))
- {
- g_engine->message("Error loading Sam_Hey.wav");
- return false;
- }
- if (!g_engine->audio->Load("Sound/Sam_Noooo.wav","Sam_Noooo"))
- {
- g_engine->message("Error loading Sam_Noooo.wav");
- return false;
- }
- if (!g_engine->audio->Load("Sound/Sam_WoundWeak.wav","Sam_WoundWeak"))
- {
- g_engine->message("Error loading Sam_WoundWeak.wav");
- return false;
- }
- if (!g_engine->audio->Load("Sound/Sam_WoundStrong.wav","Sam_WoundStrong"))
- {
- g_engine->message("Error loading Sam_WoundStrong.wav");
- return false;
- }
- if (!g_engine->audio->Load("Sound/Sam_Sam_I_Am.wav","Sam_Sam_I_Am"))
- {
- g_engine->message("Error loading Sam_Sam_I_Am.wav");
- return false;
- }
- if (!g_engine->audio->Load("Sound/Sam_Ready_For_Battle.wav","Sam_Ready_For_Battle"))
- {
- g_engine->message("Error loading Sam_Ready_For_Battle.wav");
- return false;
- }
- if (!g_engine->audio->Load("Sound/Sam_Aaa_Yourself.wav","Sam_Aaa_Yourself"))
- {
- g_engine->message("Error loading Sam_Aaa_Yourself.wav");
- return false;
- }
- if (!g_engine->audio->Load("Sound/Sam_Aaah_Its_Just_What_I_Have_Always_Wanted.wav","Sam_Aaah_Its_Just_What_I_Have_Always_Wanted"))
- {
- g_engine->message("Error loading Sam_Aaah_Its_Just_What_I_Have_Always_Wanted.wav");
- return false;
- }
- if (!g_engine->audio->Load("Sound/Sam_Die_When_I_Kill_You.wav","Sam_Die_When_I_Kill_You"))
- {
- g_engine->message("Error loading Sam_Die_When_I_Kill_You.wav");
- return false;
- }
- if (!g_engine->audio->Load("Sound/Sam_I_Knew_It.wav","Sam_I_Knew_It"))
- {
- g_engine->message("Error loading Sam_I_Knew_It.wav");
- return false;
- }
- if (!g_engine->audio->Load("Sound/Sam_Smrt.wav","Sam_Smrt"))
- {
- g_engine->message("Error loading Sam_Smrt.wav");
- return false;
- }
- if (!g_engine->audio->Load("Sound/Ammo.wav","Ammo"))
- {
- g_engine->message("Error loading Ammo.wav");
- return false;
- }
- if (!g_engine->audio->Load("Sound/Weapon.wav","Weapon"))
- {
- g_engine->message("Error loading Weapon.wav");
- return false;
- }
- //ZVUK ORUZJA
- if (!g_engine->audio->Load("Sound/BossFly.wav","BossFly"))
- {
- g_engine->message("Error loading BossFly.wav");
- return false;
- }
- if (!g_engine->audio->Load("Sound/Boss_B1.wav","B_B1"))
- {
- g_engine->message("Error loading Boss_B1.wav");
- return false;
- }
- if (!g_engine->audio->Load("Sound/fire.wav","fire"))
- {
- g_engine->message("Error loading fire.wav");
- return false;
- }
- if (!g_engine->audio->Load("Sound/FireSacmarica.wav","FireSacmarica"))
- {
- g_engine->message("Error loading FireSacmarica.wav");
- return false;
- }
- if (!g_engine->audio->Load("Sound/FireMinigun.wav","FireMinigun"))
- {
- g_engine->message("Error loading FireMinigun.wav");
- return false;
- }
- if (!g_engine->audio->Load("Sound/FireLaser.wav","FireLaser"))
- {
- g_engine->message("Error loading FireLaser.wav");
- return false;
- }
- if (!g_engine->audio->Load("Sound/FireLaser2.wav","FireLaser2"))
- {
- g_engine->message("Error loading FireLaser2.wav");
- return false;
- }
- if (!g_engine->audio->Load("Sound/FireTop.wav","FireTop"))
- {
- g_engine->message("Error loading FireTop.wav");
- return false;
- }
- if (!g_engine->audio->Load("Sound/rocket.wav","rocket"))
- {
- g_engine->message("Error loading rocket.wav");
- return false;
- }
- if (!g_engine->audio->Load("Sound/rocket3.wav","rocket3"))
- {
- g_engine->message("Error loading rocket3.wav");
- return false;
- }
- //ZVUK NEPRIJATELJI
- //BOSS
- if (!g_engine->audio->Load("Sound/Boss_Start.wav","B_Start"))
- {
- g_engine->message("Error loading Boss_Start.wav");
- return false;
- }
- if (!g_engine->audio->Load("Sound/Boss_EndClose.wav","B_EndClose"))
- {
- g_engine->message("Error loading Boss_EndClose.wav");
- return false;
- }
- if (!g_engine->audio->Load("Sound/Boss_Death.wav","B_Death"))
- {
- g_engine->message("Error loading Boss_Death.wav");
- return false;
- }
- //KAMIKAZA
- if (!g_engine->audio->Load("Sound/N_Kamikaza.wav","N_Kamikaza"))
- {
- g_engine->message("Error loading N_Kamikaza.wav");
- return false;
- }
- //HARPIJA
- if (!g_engine->audio->Load("Sound/N_Harpija_Sight.wav","N_Harpija_Sight"))
- {
- g_engine->message("Error loading N_Harpija_Sight.wav");
- return false;
- }
- if (!g_engine->audio->Load("Sound/N_Harpija_Fire.wav","N_Harpija_Fire"))
- {
- g_engine->message("Error loading N_Harpija_Fire.wav");
- return false;
- }
- if (!g_engine->audio->Load("Sound/N_Harpija_Death.wav","N_Harpija_Death"))
- {
- g_engine->message("Error loading N_Harpija_Death.wav");
- return false;
- }
- //GNAAR
- if (!g_engine->audio->Load("Sound/gnaar_sight.wav","gnaar_sight"))
- {
- g_engine->message("Error loading gnaar_sight.wav");
- return false;
- }
- if (!g_engine->audio->Load("Sound/Punch.wav","Punch"))
- {
- g_engine->message("Error loading Punch.wav");
- return false;
- }
- if (!g_engine->audio->Load("Sound/GnaarDeath.wav","GnaarDeath"))
- {
- g_engine->message("Error loading GnaarDeath.wav");
- return false;
- }
- //BIK
- if (!g_engine->audio->Load("Sound/BikSight.wav","BikSight"))
- {
- g_engine->message("Error loading BikSight.wav");
- return false;
- }
- if (!g_engine->audio->Load("Sound/N_BikRun.wav","N_BikRun"))
- {
- g_engine->message("Error loading N_BikRun.wav");
- return false;
- }
- if (!g_engine->audio->Load("Sound/BikDeath.wav","BikDeath"))
- {
- g_engine->message("Error loading BikDeath.wav");
- return false;
- }
- //SETACI
- if (!g_engine->audio->Load("Sound/Fire_Setac_plavi2.wav","Fire_Setac_plavi2"))
- {
- g_engine->message("Error loading Fire_Setac_plavi2.wav");
- return false;
- }
- if (!g_engine->audio->Load("Sound/Fire_Setac_plavi.wav","Fire_Setac_plavi"))
- {
- g_engine->message("Error loading Fire_Setac_plavi.wav");
- return false;
- }
- if (!g_engine->audio->Load("Sound/setac_plavi_sight.wav","setac_plavi_sight"))
- {
- g_engine->message("Error loading setac_plavi_sight.wav");
- return false;
- }
- if (!g_engine->audio->Load("Sound/SetacPlaviDeath.wav","SetacPlaviDeath"))
- {
- g_engine->message("Error loading SetacPlaviDeath.wav");
- return false;
- }
- //ZVUK MISC
- if (!g_engine->audio->Load("Sound/Select.wav","Select"))
- {
- g_engine->message("Error loading Select.wav");
- return false;
- }
- if (!g_engine->audio->Load("Sound/Press.wav","Press"))
- {
- g_engine->message("Error loading Press.wav");
- return false;
- }
- if (!g_engine->audio->Load("Sound/Health_100.wav","Health_100"))
- {
- g_engine->message("Error loading Health_100.wav");
- return false;
- }
- if (!g_engine->audio->Load("Sound/Health_25.wav","Health_25"))
- {
- g_engine->message("Error loading Health_25.wav");
- return false;
- }
- if (!g_engine->audio->Load("Sound/explode2.wav","explode2"))
- {
- g_engine->message("Error loading boom.wav");
- return false;
- }
- }
- bool initSprites()
- {
- HUD = new Sprite();
- if (!HUD->loadImage("Textures/HUD.tga"))
- {
- g_engine->message("Error loading HUD.tga");
- return false;
- }
- HUD->setCollidable(false);
- HUD->setPosition(0,SCREENH-45);
- HUD->setColor(0xDDFFFFFF);
- //SERIOUS SAM 2D
- paddle = new Sprite();
- paddle->setImage(Sam_Desno);
- paddle->setTotalFrames(1);
- paddle->setColumns(6);
- paddle->setSize(324,104);
- paddle->setFrameTimer(100);
- paddle->setPosition(0,0);
- paddle->setObjectType( SPRITE_PADDLE );
- paddle->setVisible(false);
- paddle->setCollidable(false);
- g_engine->addEntity( paddle );
- noge = new Sprite();
- noge->setImage(Noge_Desno);
- noge->setTotalFrames(1);
- noge->setColumns(5);
- noge->setSize(65,80);
- noge->setFrameTimer(65);
- noge->setPosition(0,0);
- noge->setCollidable(false);
- noge->setObjectType(SPRITE_NOGE);
- noge->setVisible(false);
- g_engine->addEntity( noge );
- Pupak=new Sprite();
- Pupak->setImage(Sam_PupakD);
- Pupak->setObjectType(SPRITE_PUPAK);
- Pupak->setCollidable(false);
- Pupak->setVisible(false);
- g_engine->addEntity( Pupak );
- META = new Sprite();
- META->setImage(META_T);
- META->setTotalFrames(1);
- META->setColumns(1);
- META->setSize(50,110);
- META->setPosition(0,0);
- META->setObjectType(SPRITE_META);
- META->setVisible(false);
- g_engine->addEntity(META);
- S_LOF=new Sprite();
- S_LOF->setObjectType(SPRITE_LOF);
- S_LOF->setImage(I_LOF_T);
- S_LOF->setPosition(90,375);
- S_LOF->setVisible(false);
- S_LOF->setCollidable(false);
- g_engine->addEntity(S_LOF);
- //**************************************************************************MAIN MENU
- StartS=new Sprite();
- StartS->setObjectType(START);
- StartS->setImage(M_Start_T);
- StartS->setPosition(g_engine->getScreenWidth()/2-75, g_engine->getScreenHeight()/2-105);
- StartS->setVisible(false);
- g_engine->addEntity(StartS);
- LoadS=new Sprite();
- LoadS->setObjectType(LOAD);
- LoadS->setImage(M_Load_T);
- LoadS->setSize(150,50);
- LoadS->setPosition(g_engine->getScreenWidth()/2-75, g_engine->getScreenHeight()/2-50);
- LoadS->setVisible(false);
- g_engine->addEntity(LoadS);
- SaveS=new Sprite();
- SaveS->setObjectType(SAVE);
- SaveS->setImage(M_Save_T);
- SaveS->setSize(150,50);
- SaveS->setPosition(g_engine->getScreenWidth()/2-75, g_engine->getScreenHeight()/2+5);
- SaveS->setVisible(false);
- g_engine->addEntity(SaveS);
- QuitS=new Sprite();
- QuitS->setObjectType(QUIT);
- QuitS->setImage(M_Quit_T);
- QuitS->setPosition(g_engine->getScreenWidth()/2-75, g_engine->getScreenHeight()/2+60);
- QuitS->setVisible(false);
- g_engine->addEntity(QuitS);
- Konzola=new Sprite();
- Konzola->setObjectType(KONZOLA);
- Konzola->loadImage("panel.tga");
- Konzola->setColor(0xAA448844);
- Konzola->setPosition(0,0);
- Konzola->setVisible(false);
- g_engine->addEntity(Konzola);
- PanelQuit=new Sprite();
- PanelQuit->setObjectType(QUIT);
- PanelQuit->loadImage("panel.tga");
- PanelQuit->setColor(0xDD222222);
- PanelQuit->setPosition(330, SCREENH/2-160);
- PanelQuit->setVisible(false);
- g_engine->addEntity(PanelQuit);
- Glupost=new Sprite();
- Glupost->setObjectType(QUIT);
- Glupost->loadImage("Textures/Glupost_T.tga");
- Glupost->setPosition(0,752);
- Glupost->setVisible(false);
- g_engine->addEntity(Glupost);
- //**************************************************************************IGRAC PREDMETI
- Sam_MrtavD_T = new Texture();
- if (!Sam_MrtavD_T->Load("Textures/Sam_MrtavD_T.tga")) {
- g_engine->message("Error loading Sam_MrtavD_T.tga");
- return false;
- }
- Sam_MrtavL_T = new Texture();
- if (!Sam_MrtavL_T->Load("Textures/Sam_MrtavL_T.tga")) {
- g_engine->message("Error loading Sam_MrtavL_T.tga");
- return false;
- }
- I_Knew_It = new Texture();
- if (!I_Knew_It->Load("Textures/I_Knew_It.tga")) {
- g_engine->message("Error loading I_Knew_It.tga");
- return false;
- }
- I_CB_T = new Texture();
- if (!I_CB_T->Load("Textures/I_CB_T.tga")) {
- g_engine->message("Error loading I_CB_T.tga");
- return false;
- }
- I_GM_T = new Texture();
- if (!I_GM_T->Load("Textures/I_GM_T.tga")) {
- g_engine->message("Error loading I_GM_T.tga");
- return false;
- }
- I_LGB_T = new Texture();
- if (!I_LGB_T->Load("Textures/I_LGB_T.tga")) {
- g_engine->message("Error loading I_LGB_T.tga");
- return false;
- }
- Health100 = new Texture();
- if (!Health100->Load("Textures/I_Health100_T.tga")) {
- g_engine->message("Error loading I_Health100_T.tga");
- return false;
- }
- I_Health25_T = new Texture();
- if (!I_Health25_T->Load("Textures/I_Health25_T.tga")) {
- g_engine->message("Error loading I_Health25_T.tga");
- return false;
- }
- I_SeriousSecondaryFire_T = new Texture();
- if (!I_SeriousSecondaryFire_T->Load("Textures/I_SeriousSecondaryFire_T.tga")) {
- g_engine->message("Error loading I_SeriousSecondaryFire_T.tga");
- return false;
- }
- MunicijaRaketa = new Texture();
- if (!MunicijaRaketa->Load("Textures/I_MunicijaRaketa_T.tga")) {
- g_engine->message("Error loading I_MunicijaRaketa_T.tga");
- return false;
- }
- MunicijaMinigun = new Texture();
- if (!MunicijaMinigun->Load("Textures/I_MunicijaMinigun_T.tga")) {
- g_engine->message("Error loading I_MunicijaMinigun_T.tga");
- return false;
- }
- MunicijaLaser = new Texture();
- if (!MunicijaLaser->Load("Textures/I_MunicijaLaser_T.tga")) {
- g_engine->message("Error loading I_MunicijaLaser_T.tga");
- return false;
- }
- MunicijaTop = new Texture();
- if (!MunicijaTop->Load("Textures/I_MunicijaTop_T.tga")) {
- g_engine->message("Error loading I_MunicijaTop_T.tga");
- return false;
- }
- I_RocketLauncher_T = new Texture();
- if (!I_RocketLauncher_T->Load("Textures/I_RocketLauncher_T.tga")) {
- g_engine->message("Error loading I_RocketLauncher_T.tga");
- return false;
- }
- I_Top_T = new Texture();
- if (!I_Top_T->Load("Textures/I_Top_T.tga")) {
- g_engine->message("Error loading I_Top_T.tga");
- return false;
- }
- I_Laser_T = new Texture();
- if (!I_Laser_T->Load("Textures/I_Laser_T.tga")) {
- g_engine->message("Error loading I_Laser_T.tga");
- return false;
- }
- I_Minigun_T = new Texture();
- if (!I_Minigun_T->Load("Textures/I_Minigun_T.tga")) {
- g_engine->message("Error loading I_Minigun_T.tga");
- return false;
- }
- //**************************************************************************IGRAC PROJEKTILI
- A_MetakP_T = new Texture();
- if (!A_MetakP_T->Load("Textures/A_MetakP_T.tga")) {
- g_engine->message("Error loading A_MetakP_T.tga");
- return false;
- }
- A_Raketa_T = new Texture();
- if (!A_Raketa_T->Load("Textures/A_Raketa_T.tga")) {
- g_engine->message("Error loading A_Raketa_T.tga");
- return false;
- }
- A_BRaketa_T = new Texture();
- if (!A_BRaketa_T->Load("Textures/A_BRaketa_T.tga")) {
- g_engine->message("Error loading A_BRaketa_T.tga");
- return false;
- }
- A_Kugla_T = new Texture();
- if (!A_Kugla_T->Load("Textures/A_Kugla_T.tga")) {
- g_engine->message("Error loading A_Kugla_T.tga");
- return false;
- }
- A_Laser_T = new Texture();
- if (!A_Laser_T->Load("Textures/A_Laser_T.tga")) {
- g_engine->message("Error loading A_Laser_T.tga");
- return false;
- }
- A_Laser2_T = new Texture();
- if (!A_Laser2_T->Load("Textures/A_Laser2_T.tga")) {
- g_engine->message("Error loading A_Laser2_T.tga");
- return false;
- }
- A_Minigun_T = new Texture();
- if (!A_Minigun_T->Load("Textures/A_Minigun_T.tga")) {
- g_engine->message("Error loading A_Minigun_T.tga");
- return false;
- }
- A_Sacma_T = new Texture();
- if (!A_Sacma_T->Load("Textures/A_Sacma_T.tga")) {
- g_engine->message("Error loading A_Sacma_T.tga");
- return false;
- }
- vatrena_kugla = new Texture();
- if (!vatrena_kugla->Load("Textures/A_BVatrenaKugla_T.tga")) {
- g_engine->message("Error loading A_BVatrenaKugla_T.tga");
- return false;
- }
- HarpijaKrilo_T = new Texture();
- if (!HarpijaKrilo_T->Load("Textures/HarpijaKrilo_T.tga")) {
- g_engine->message("Error loading HarpijaKrilo_T.tga");
- return false;
- }
- //**************************************************************************NEPRIJATELJI
- //BOSS
- N_TheBoss = new Texture();
- if (!N_TheBoss->Load("Textures/B_P.tga")) {
- g_engine->message("Error loading B_P.tga");
- return false;
- }
- N_TheBossH = new Texture();
- if (!N_TheBossH->Load("Textures/B_S.tga")) {
- g_engine->message("Error loading B_S.tga");
- return false;
- }
- FireBoss1 = new Texture();
- if (!FireBoss1->Load("Textures/A_BVatra_T.tga")) {
- g_engine->message("Error loading A_BVatra_T.tga");
- return false;
- }
- A_BOko_T = new Texture();
- if (!A_BOko_T->Load("Textures/A_BOko_T.tga")) {
- g_engine->message("Error loading A_BOko_T.tga");
- return false;
- }
- B_METAG_T = new Texture();
- if (!B_METAG_T->Load("Textures/B_METAG_T.tga")) {
- g_engine->message("Error loading B_METAG_T.tga");
- return false;
- }
- B_METAD_T = new Texture();
- if (!B_METAD_T->Load("Textures/B_METAD_T.tga")) {
- g_engine->message("Error loading B_METAD_T.tga");
- return false;
- }
- Ruka = new Texture();
- if (!Ruka->Load("Textures/B_Ruka.tga")) {
- g_engine->message("Error loading B_Ruka.tga");
- return false;
- }
- Krilo = new Texture();
- if (!Krilo->Load("Textures/B_Krilo.tga")) {
- g_engine->message("Error loading B_Krilo.tga");
- return false;
- }
- //KAMIKAZA
- N_KamikazaD_T = new Texture();
- if (!N_KamikazaD_T->Load("Textures/N_KamikazaD_T.tga")) {
- g_engine->message("Error loading N_KamikazaD_T.tga");
- return false;
- }
- N_KamikazaL_T = new Texture();
- if (!N_KamikazaL_T->Load("Textures/N_KamikazaL_T.tga")) {
- g_engine->message("Error loading N_KamikazaL_T.tga");
- return false;
- }
- //GNAARFEMALEEMALE
- N_GnaarFemale_T = new Texture();
- if (!N_GnaarFemale_T->Load("Textures/N_GnaarFemale_T.tga")) {
- g_engine->message("Error loading N_GnaarFemale_T.tga");
- return false;
- }
- //GNAARMALEEMALE
- N_GnaarMale_T = new Texture();
- if (!N_GnaarMale_T->Load("Textures/N_GnaarMale_T.tga")) {
- g_engine->message("Error loading N_GnaarMale_T.tga");
- return false;
- }
- //BIK
- N_Bik_T = new Texture();
- if (!N_Bik_T->Load("Textures/N_Bik_T.tga")) {
- g_engine->message("Error loading N_Bik_T.tga");
- return false;
- }
- //SETAC_PLAVI
- N_SetacPlaviD_T = new Texture();
- if (!N_SetacPlaviD_T->Load("Textures/N_SetacPlaviD_T.tga")) {
- g_engine->message("Error loading N_SetacPlaviD_T.tga");
- return false;
- }
- N_SetacPlaviL_T = new Texture();
- if (!N_SetacPlaviL_T->Load("Textures/N_SetacPlaviL_T.tga")) {
- g_engine->message("Error loading N_SetacPlaviL_T.tga");
- return false;
- }
- //SETAC_CRVENI
- N_SetacCrveniD_T = new Texture();
- if (!N_SetacCrveniD_T->Load("Textures/N_SetacCrveniD_T.tga")) {
- g_engine->message("Error loading N_SetacCrveniD_T.tga");
- return false;
- }
- N_SetacCrveniL_T = new Texture();
- if (!N_SetacCrveniL_T->Load("Textures/N_SetacCrveniL_T.tga")) {
- g_engine->message("Error loading N_SetacCrveniD_L.tga");
- return false;
- }
- //HARPIJA
- N_HarpijaD_T = new Texture();
- if (!N_HarpijaD_T->Load("Textures/N_HarpijaD_T.tga")) {
- g_engine->message("Error loading N_HarpijaD_T.tga");
- return false;
- }
- N_HarpijaL_T = new Texture();
- if (!N_HarpijaL_T->Load("Textures/N_HarpijaL_T.tga")) {
- g_engine->message("Error loading N_HarpijaL_T.tga");
- return false;
- }
- //**************************************************************************NEPRIJATELJI PROJEKTILI
- A_RaketaSC_T = new Texture();
- if (!A_RaketaSC_T->Load("Textures/A_RaketaSC_T.tga")) {
- g_engine->message("Error loading A_RaketaSC_T.tga");
- return false;
- }
- A_LaserSP_T = new Texture();
- if (!A_LaserSP_T->Load("Textures/A_LaserSP_T.tga")) {
- g_engine->message("Error loading A_LaserSP_T.tga");
- return false;
- }
- A_HarpijaP_T = new Texture();
- if (!A_HarpijaP_T->Load("Textures/A_HarpijaP_T.tga")) {
- g_engine->message("Error loading A_HarpijaP_T.tga");
- return false;
- }
- //**************************************************************************NEPRIJATELJI MRTVI
- N_BikMrtav_T = new Texture();
- if (!N_BikMrtav_T->Load("Textures/N_BikMrtav_T.tga")) {
- g_engine->message("Error loading N_BikMrtav_T.tga");
- return false;
- }
- N_SetacPlaviMrtavD_T = new Texture();
- if (!N_SetacPlaviMrtavD_T->Load("Textures/N_SetacPlaviMrtavD_T.tga")) {
- g_engine->message("Error loading N_SetacPlaviMrtavD_T.tga");
- return false;
- }
- N_SetacPlaviMrtavL_T = new Texture();
- if (!N_SetacPlaviMrtavL_T->Load("Textures/N_SetacPlaviMrtavL_T.tga")) {
- g_engine->message("Error loading N_SetacPlaviMrtavL_T.tga");
- return false;
- }
- N_SetacCrveniMrtavD_T = new Texture();
- if (!N_SetacCrveniMrtavD_T->Load("Textures/N_SetacCrveniMrtavD_T.tga")) {
- g_engine->message("Error loading N_SetacCrveniMrtavD_T.tga");
- return false;
- }
- N_SetacCrveniMrtavL_T = new Texture();
- if (!N_SetacCrveniMrtavL_T->Load("Textures/N_SetacCrveniMrtavL_T.tga")) {
- g_engine->message("Error loading N_SetacCrveniMrtavL_T.tga");
- return false;
- }
- N_GnaarFemaleMrtav_T = new Texture();
- if (!N_GnaarFemaleMrtav_T->Load("Textures/N_GnaarFemaleMrtav_T.tga")) {
- g_engine->message("Error loading N_GnaarFemaleMrtav_T.tga");
- return false;
- }
- N_GnaarMaleMrtav_T = new Texture();
- if (!N_GnaarMaleMrtav_T->Load("Textures/N_GnaarMaleMrtav_T.tga")) {
- g_engine->message("Error loading N_GnaarMaleMrtav_T.tga");
- return false;
- }
- //**************************************************************************MISC
- IntroText_T = new Texture();
- if (!IntroText_T->Load("Textures/IntroText_T.tga")) {
- g_engine->message("Error loading IntroText_T.tga");
- return false;
- }
- I_PalmaT = new Texture();
- if (!I_PalmaT->Load("Textures/I_PalmaT.tga")) {
- g_engine->message("Error loading I_PalmaT.tga");
- return false;
- }
- I_StupL_T = new Texture();
- if (!I_StupL_T->Load("Textures/I_StupL_T.tga")) {
- g_engine->message("Error loading I_StupL_T.tga");
- return false;
- }
- I_StupD_T = new Texture();
- if (!I_StupD_T->Load("Textures/I_StupD_T.tga")) {
- g_engine->message("Error loading I_StupD_T.tga");
- return false;
- }
- CreditsText = new Texture();
- if (!CreditsText->Load("Textures/CreditsText.tga")) {
- g_engine->message("Error loading CreditsText.tga");
- return false;
- }
- I_PticaL_T = new Texture();
- if (!I_PticaL_T->Load("Textures/I_PticaL_T.tga")) {
- g_engine->message("Error loading I_PticaL_T.tga");
- return false;
- }
- I_PticaD_T = new Texture();
- if (!I_PticaD_T->Load("Textures/I_PticaD_T.tga")) {
- g_engine->message("Error loading I_PticaD_T.tga");
- return false;
- }
- Explosion_R = new Texture();
- if (!Explosion_R->Load("Textures/Explosion_R.tga")) {
- g_engine->message("Error loading Explosion_R.tga");
- return false;
- }
- Explosion_K = new Texture();
- if (!Explosion_K->Load("Textures/Explosion_K.tga")) {
- g_engine->message("Error loading Explosion_K.tga");
- return false;
- }
- Explosion_V = new Texture();
- if (!Explosion_V->Load("Textures/Explosion_V.tga")) {
- g_engine->message("Error loading Explosion_V.tga");
- return false;
- }
- Krv_C = new Texture();
- if (!Krv_C->Load("Textures/Krv_C.tga")) {
- g_engine->message("Error loading Krv_C.tga");
- return false;
- }
- Krv_Z = new Texture();
- if (!Krv_Z->Load("Textures/Krv_Z.tga")) {
- g_engine->message("Error loading Krv_Z.tga");
- return false;
- }
- //load cursor
- cursor = new Sprite();
- cursor->loadImage("Textures/Cursor_Menu.tga");
- cursor->setVisible(false);
- cursor->setSize(24,24);
- cursor->setPosition(0,0);
- cursor->setObjectType(CURSOR);
- g_engine->addEntity(cursor);
- if (Preskoci == 1)
- {
- gameState=STATE_UPUTE;
- background->setImage(B_Upute);
- }
- else
- {
- gameState=STATE_ANTONIOR;
- background->setImage(B_AntonioR);
- g_engine->audio->Play("Music_AntonioR");
- }
- }
- bool game_init(HWND hwnd)
- {
- //**************************************************************************BACKGROUND
- B_AntonioR = new Texture();
- if (!B_AntonioR->Load("Textures/Background/B_AntonioR.tga")) {
- g_engine->message("Error loading B_AntonioR.tga");
- return false;
- }
- B_Croteam = new Texture();
- if (!B_Croteam->Load("Textures/Background/B_Croteam.tga")) {
- g_engine->message("Error loading B_Croteam.tga");
- return false;
- }
- B_SS2DTLGH = new Texture();
- if (!B_SS2DTLGH->Load("Textures/Background/B_SS2DTLGH.tga")) {
- g_engine->message("Error loading B_SS2DTLGH.tga");
- return false;
- }
- B_Menu = new Texture();
- if (!B_Menu->Load("Textures/Background/B_Menu.tga")) {
- g_engine->message("Error loading B_Menu.tga");
- return false;
- }
- B_Upute = new Texture();
- if (!B_Upute->Load("Textures/Background/B_Upute.tga")) {
- g_engine->message("Error loading B_Upute.tga");
- return false;
- }
- B_Intro = new Texture();
- if (!B_Intro->Load("Textures/Background/B_Intro.tga")) {
- g_engine->message("Error loading B_Intro.tga");
- return false;
- }
- B_Level000 = new Texture();
- if (!B_Level000->Load("Textures/Background/B_Level000.tga")) {
- g_engine->message("Error loading B_Level000.tga");
- return false;
- }
- B_Level001 = new Texture();
- if (!B_Level001->Load("Textures/Background/B_Level001.tga")) {
- g_engine->message("Error loading B_Level001.tga");
- return false;
- }
- B_Level002 = new Texture();
- if (!B_Level002->Load("Textures/Background/B_Level002.tga")) {
- g_engine->message("Error loading B_Level002.tga");
- return false;
- }
- B_Level003 = new Texture();
- if (!B_Level003->Load("Textures/Background/B_Level003.tga")) {
- g_engine->message("Error loading B_Level003.tga");
- return false;
- }
- B_Level004 = new Texture();
- if (!B_Level004->Load("Textures/Background/B_Level004.tga")) {
- g_engine->message("Error loading B_Level004.tga");
- return false;
- }
- B_Level005 = new Texture();
- if (!B_Level005->Load("Textures/Background/B_Level005.tga")) {
- g_engine->message("Error loading B_Level005.tga");
- return false;
- }
- B_Level006 = new Texture();
- if (!B_Level006->Load("Textures/Background/B_Level006.tga")) {
- g_engine->message("Error loading B_Level006.tga");
- return false;
- }
- B_Level007 = new Texture();
- if (!B_Level007->Load("Textures/Background/B_Level007.tga")) {
- g_engine->message("Error loading B_Level007.tga");
- return false;
- }
- B_Level008 = new Texture();
- if (!B_Level008->Load("Textures/Background/B_Level008.tga")) {
- g_engine->message("Error loading B_Level008.tga");
- return false;
- }
- B_Level009 = new Texture();
- if (!B_Level009->Load("Textures/Background/B_Level009.tga")) {
- g_engine->message("Error loading B_Level009.tga");
- return false;
- }
- SB_Vedrosoblacima = new Texture();
- if (!SB_Vedrosoblacima->Load("Textures/Background/SB_Vedrosoblacima.tga")) {
- g_engine->message("Error loading SB_Vedrosoblacima.tga");
- return false;
- }
- SB_Vedrosoblacima2 = new Texture();
- if (!SB_Vedrosoblacima2->Load("Textures/Background/SB_Vedrosoblacima2.tga")) {
- g_engine->message("Error loading SB_Vedrosoblacima2.tga");
- return false;
- }
- B_End = new Texture();
- if (!B_End->Load("Textures/Background/B_End.tga")) {
- g_engine->message("Error loading B_End.tga");
- return false;
- }
- B_Credits = new Texture();
- if (!B_Credits->Load("Textures/Background/B_Credits.tga")) {
- g_engine->message("Error loading B_Credits.tga");
- return false;
- }
- B_Credits2 = new Texture();
- if (!B_Credits2->Load("Textures/Background/B_Credits2.tga")) {
- g_engine->message("Error loading B_Credits2.tga");
- return false;
- }
- SkyBox1_S = new Sprite();
- SkyBox1_S->setImage(SB_Vedrosoblacima);
- SkyBox1_S->setObjectType(SKYBOX_1);
- SkyBox1_S->setVisible(false);
- SkyBox1_S->setCollidable(false);
- SkyBox1_S->setVelocity(-0.2+SmanjiSamBrzinu*0.1,0);
- g_engine->addEntity( SkyBox1_S );
- SkyBox2_S = new Sprite();
- SkyBox2_S->setImage(SB_Vedrosoblacima);
- SkyBox2_S->setObjectType(SKYBOX_2);
- SkyBox2_S->setVisible(false);
- SkyBox2_S->setCollidable(false);
- SkyBox2_S->setVelocity(-0.2+SmanjiSamBrzinu*0.1,0);
- SkyBox2_S->setPosition(SCREENW,0);
- g_engine->addEntity( SkyBox2_S );
- background = new Sprite();
- //if (!background->setImage("AntonioR.tga",0)) { cemu ova nula?????
- background->setImage(B_AntonioR);
- background->setObjectType(BACKGROUND);
- background->setSize(SCREENW,SCREENH);
- background->setCollidable(false);
- g_engine->addEntity( background );
- //**************************************************************************MAIN MENU
- M_Start_T = new Texture();
- if (!M_Start_T->Load("Textures/M_Start_T.tga")) {
- g_engine->message("Error loading M_Start_T.tga");
- return false;
- }
- M_Quit_T = new Texture();
- if (!M_Quit_T->Load("Textures/M_Quit_T.tga")) {
- g_engine->message("Error loading M_Quit_T.tga");
- return false;
- }
- M_Load_T = new Texture();
- if (!M_Load_T->Load("Textures/M_Load_T.tga")) {
- g_engine->message("Error loading M_Load_T.tga");
- return false;
- }
- M_NSG_T = new Texture();
- if (!M_NSG_T->Load("Textures/M_NSG_T.tga")) {
- g_engine->message("Error loading M_NSG_T.tga");
- return false;
- }
- M_ASO_T = new Texture();
- if (!M_ASO_T->Load("Textures/M_ASO_T.tga")) {
- g_engine->message("Error loading M_ASO_T.tga");
- return false;
- }
- M_No_T = new Texture();
- if (!M_No_T->Load("Textures/M_No_T.tga")) {
- g_engine->message("Error loading M_No_T.tga");
- return false;
- }
- M_Yes_T = new Texture();
- if (!M_Yes_T->Load("Textures/M_Yes_T.tga")) {
- g_engine->message("Error loading M_Yes_T.tga");
- return false;
- }
- M_Save_T = new Texture();
- if (!M_Save_T->Load("Textures/M_Save_T.tga")) {
- g_engine->message("Error loading M_Save_T.tga");
- return false;
- }
- M_AreYouSerious_T = new Texture();
- if (!M_AreYouSerious_T->Load("Textures/M_AreYouSerious_T.tga")) {
- g_engine->message("Error loading M_AreYouSerious_T.tga");
- return false;
- }
- M_GameOver_T = new Texture();
- if (!M_GameOver_T->Load("Textures/M_GameOver_T.tga")) {
- g_engine->message("Error loading M_GameOver_T.tga");
- return false;
- }
- M_Tezina_T = new Texture();
- if (!M_Tezina_T->Load("Textures/M_Tezina_T.tga")) {
- g_engine->message("Error loading M_Tezina_T.tga");
- return false;
- }
- M_Normal_T = new Texture();
- if (!M_Normal_T->Load("Textures/M_Normal_T.tga")) {
- g_engine->message("Error loading M_Normal_T.tga");
- return false;
- }
- M_Serious_T = new Texture();
- if (!M_Serious_T->Load("Textures/M_Serious_T.tga")) {
- g_engine->message("Error loading M_Serious_T.tga");
- return false;
- }
- I_LOF_T = new Texture();
- if (!I_LOF_T->Load("Textures/I_LOF_T.tga")) {
- g_engine->message("Error loading I_LOF_T.tga");
- return false;
- }
- //**************************************************************************SERIOUS SAM
- Sam_Lijevo = new Texture();
- if (!Sam_Lijevo->Load("Textures/Sam_Lijevo.tga")) {
- g_engine->message("Error loading Sam_Lijevo.tga");
- return false;
- }
- Sam_Desno = new Texture();
- if (!Sam_Desno->Load("Textures/Sam_Desno.tga")) {
- g_engine->message("Error loading Sam_Desno.tga");
- return false;
- }
- Noge_Lijevo = new Texture();
- if (!Noge_Lijevo->Load("Textures/Noge_Lijevo.tga")) {
- g_engine->message("Error loading Noge_Lijevo.tga");
- return false;
- }
- Noge_Desno = new Texture();
- if (!Noge_Desno->Load("Textures/Noge_Desno.tga")) {
- g_engine->message("Error loading Noge_Desno.tga");
- return false;
- }
- NogeT_Lijevo = new Texture();
- if (!NogeT_Lijevo->Load("Textures/NogeT_Lijevo.tga")) {
- g_engine->message("Error loading NogeT_Lijevo.tga");
- return false;
- }
- NogeT_Desno = new Texture();
- if (!NogeT_Desno->Load("Textures/NogeT_Desno.tga")) {
- g_engine->message("Error loading NogeT_Desno.tga");
- return false;
- }
- Noge_UnazadD = new Texture();
- if (!Noge_UnazadD->Load("Textures/Noge_UnazadD.tga")) {
- g_engine->message("Error loading Noge_UnazadD.tga");
- return false;
- }
- Noge_UnazadL = new Texture();
- if (!Noge_UnazadL->Load("Textures/Noge_UnazadL.tga")) {
- g_engine->message("Error loading Noge_UnazadL.tga");
- return false;
- }
- Sam_PupakD = new Texture();
- if (!Sam_PupakD->Load("Textures/Sam_PupakD.tga")) {
- g_engine->message("Error loading Sam_PupakD.tga");
- return false;
- }
- Sam_PupakL = new Texture();
- if (!Sam_PupakL->Load("Textures/Sam_PupakL.tga")) {
- g_engine->message("Error loading Sam_PupakL.tga");
- return false;
- }
- META_T = new Texture();
- if (!META_T->Load("Textures/META_T.tga")) {
- g_engine->message("Error loading META_T.tga");
- return false;
- }
- //BUG: Mora se barem jedan .ogg ucitati prije init console
- if (!initMusic()) return false;
- if (!initSound()) return false;
- /*
- //create the console
- console = new Console();
- if (!console->init()) {
- g_engine->message("Error loading console");
- return false;
- }
- console->hide();
- */
- //load the TimesNewRoman24 font
- times24 = new Font();
- if (!times24->loadImage("timesnewroman24.tga")) {
- g_engine->message("Error loading timesnewroman24.tga");
- return false;
- }
- if (!times24->loadWidthData("timesnewroman24.dat")) {
- g_engine->message("Error loading timesnewroman24.dat");
- return false;
- }
- times24->setColumns(16);
- times24->setCharSize(32,36);
- verdana10 = new Font();
- if (!verdana10->loadImage("verdana10.tga")) {
- g_engine->message("Error loading verdana10.tga");
- return false;
- }
- if (!verdana10->loadWidthData("verdana10.dat")) {
- g_engine->message("Error loading verdana10.dat");
- return false;
- }
- verdana10->setColumns(16);
- verdana10->setCharSize(20,16);
- //g_engine->setPaused(true); //??????? cemu ovo?
- if (!initSprites()) return false;
- return true;
- }
- //UREDJENO
- void game_end()
- {
- //brisanje iz memorije
- //if (console) delete console;
- if (times24) delete times24;
- delete Explosion_K;
- delete Explosion_R;
- delete Explosion_V;
- delete Krv_C;
- delete Krv_Z;
- delete A_MetakP_T;
- delete A_LaserSP_T;
- delete A_Kugla_T;
- delete A_Raketa_T;
- delete A_RaketaSC_T;
- delete N_GnaarFemaleMrtav_T;
- delete N_GnaarMaleMrtav_T;
- delete N_BikMrtav_T;
- delete A_Laser_T;
- delete A_Laser2_T;
- delete A_Minigun_T;
- delete A_Sacma_T;
- delete cursor;
- delete I_PticaL_T;
- delete I_PticaD_T;
- }
- //g-l tocka,d-d
- bool Unutra(Sprite* a, double Ax1, double Ay1 , double Ax2 ,double Ay2, Sprite* b)
- {
- double Ax = a->getX() + Ax1;
- double Ay = a->getY() + Ay1;
- double AW = Ax2-Ax1;
- double AH = Ay2-Ay1;
- double Bx = b->getX();
- double By = b->getY();
- double BW = b->getWidth();
- double BH = b->getHeight();
- //Svi vrhovi od A i vrh B-G-L
- //G-L,G-D,D-L,D-D
- if(((Bx > Ax) && (By > Ay)) && ((Bx < (Ax+AW)) && (By > Ay)) && ((Bx > Ax) && (By < (Ay+AH))) && ((Bx < (Ax+AW)) && (By < (Ay+AH)))) return true;
- //Svi vrhovi od A i B-G-D
- //G-L,G-D,D-L,D-D
- if ( (((Bx+BW) > Ax) && (By > Ay)) && (((Bx+BW) < (Ax+AW)) && (By > Ay)) && (((Bx+BW) > Ax) && (By < (Ay+AH))) && (((Bx+BW) < (Ax+AW)) && (By < (Ay+AH))) ) return true;
- //Svi vrhovi od A i B-D-L
- //G-L,G-D,D-L,D-D
- if ( ((Bx > Ax) && ((By+BH) > Ay)) && ((Bx < (Ax+AW)) && ((By+BH) > Ay)) && ((Bx > Ax) && ((By+BH) < (Ay+AH))) && ((Bx < (Ax+AW)) && ((By+BH) < (Ay+AH)))) return true;
- //Svi vrhovi od A i B-D-D
- //G-L,G-D,D-L,D-D
- if ( (((Bx+BW) > Ax) && ((By+BH) > Ay)) && (((Bx+BW) < (Ax+AW)) && ((By+BH) > Ay)) && (((Bx+BW) > Ax) && ((By+BH) < (Ay+AH))) && (((Bx+BW) < (Ax+AW)) && ((By+BH) < (Ay+AH)))) return true;
- return false;
- }
- void PratiMe(Sprite *EvoPratim)
- {
- double Kut;
- double brzina;
- //calculate angle to target
- Kut = g_engine->math->AngleToTarget(META->getX()+META->getWidth()/2,META->getY()+10,EvoPratim->getX(),EvoPratim->getY());
- switch ( EvoPratim->getObjectType() )
- {
- case BOSS_ROG:
- brzina=rocketV-5;
- break;
- case N_KAMIKAZA:
- brzina=KAMIKAZA_VEL;
- Kut = g_engine->math->AngleToTarget(META->getX()+META->getWidth()/2,META->getY()+5,EvoPratim->getX(),EvoPratim->getY());
- break;
- case N_SETACCRVENI:
- brzina=SETAC_VEL;
- break;
- case N_SETACPLAVI:
- brzina=SETAC_VEL+1;
- break;
- case N_GNAARMALE:
- Kut = g_engine->math->AngleToTarget(META->getX()+META->getWidth()/2,META->getY()+20,EvoPratim->getX(),EvoPratim->getY());
- brzina=GNAAR_VEL;
- break;
- case N_GNAARFEMALE:
- Kut = g_engine->math->AngleToTarget(META->getX()+META->getWidth()/2,META->getY()-5,EvoPratim->getX(),EvoPratim->getY());
- brzina=GNAAR_VEL;
- break;
- case N_BIK:
- Kut = g_engine->math->AngleToTarget(META->getX()+META->getWidth()/2,META->getY(),EvoPratim->getX(),EvoPratim->getY());
- brzina=BIK_VEL;
- break;
- case N_HARPIJA:
- brzina=HARPIJA_VEL;
- break;
- }
- Kut = 270 + g_engine->math->toDegrees( Kut );
- double pmx = g_engine->math->LinearVelocityX(Kut) * brzina;
- double pmy = g_engine->math->LinearVelocityY(Kut) * brzina;
- EvoPratim->setVelocity(pmx, pmy);
- if (EvoPratim->getObjectType() == BOSS_ROG)
- {
- EvoPratim->setRotation( g_engine->math->toRadians(Kut) );
- }
- if (Sam_energy > 0 && gameState == STATE_PLAY )
- {
- if (EvoPratim->getObjectType() == N_SETACPLAVI || EvoPratim->getObjectType() == N_BIK || EvoPratim->getObjectType() == N_SETACCRVENI || EvoPratim->getObjectType() == N_HARPIJA)
- {
- EvoPratim->setVelocity(-brzina,0);
- if (EvoPratim->getObjectType() == N_SETACCRVENI)
- {
- if (EvoPratim->Gledam=='D') EvoPratim->setVelocity(brzina,0);
- else EvoPratim->setVelocity(-brzina,0);
- }
- if (EvoPratim->getObjectType() == N_SETACPLAVI)
- {
- if (EvoPratim->Gledam=='D') EvoPratim->setVelocity(brzina,0);
- else EvoPratim->setVelocity(-brzina,0);
- }
- }
- }
- }
- void BotuniMenu()
- {
- g_engine->audio->StopAllExcept("Sam_Sam_I_Am");
- cursor->loadImage("Textures/Cursor_Menu.tga");
- cursor->setVisible(true);
- background->setImage(B_Menu);
- StartS->setImage(M_Start_T);
- StartS->setSize(150,50);
- StartS->setColor(0xFFFFFFFF);
- StartS->setPosition(g_engine->getScreenWidth()/2-75, g_engine->getScreenHeight()/2-105);
- LoadS->setImage(M_Load_T);
- LoadS->setSize(150,50);
- LoadS->setColor(0xFFFFFFFF);
- LoadS->setPosition(g_engine->getScreenWidth()/2-75, g_engine->getScreenHeight()/2-50);SaveS->setImage(M_Save_T);
- SaveS->setImage(M_Save_T);
- SaveS->setSize(150,50);
- SaveS->setColor(0xFFFFFFFF);
- SaveS->setPosition(g_engine->getScreenWidth()/2-75, g_engine->getScreenHeight()/2+5);QuitS->setImage(M_Quit_T);
- QuitS->setImage(M_Quit_T);
- QuitS->setSize(150,50);
- QuitS->setColor(0xFFFFFFFF);
- QuitS->setPosition(g_engine->getScreenWidth()/2-75, g_engine->getScreenHeight()/2+60);
- gameState=STATE_MENU;
- }
- void addPtica( char smjer)
- {
- Sprite *PticaS = new Sprite();
- int x=rand()%400+20;
- int y=rand()%50+10;
- if (smjer == 'L')
- {
- PticaS->setImage(I_PticaL_T);
- PticaS->setVelocity(-3+SmanjiSamBrzinu,0);
- PticaS->setPosition( x, y );
- }
- else if (smjer == 'D')
- {
- PticaS->setImage(I_PticaD_T);
- PticaS->setVelocity(3-SmanjiSamBrzinu,0);
- PticaS->setPosition( SCREENW-x, y );
- }
- else return;
- PticaS->setObjectType(PTICA);
- PticaS->setTotalFrames(4);
- PticaS->setColumns(4);
- PticaS->setSize(70,40);
- PticaS->LevelID=level;
- PticaS->setFrameTimer(200);
- if (level==3) PticaS->setColor(0xFFBBEEFF);
- if (level>=6 && level<8) PticaS->setColor(0xFFFFCCCC);
- g_engine->addEntity( PticaS );
- }
- void addKamikaza( char smjer)
- {
- int GornjaGranica;
- int DonjaGranica;
- int Y;
- int Dolje;
- if (level == 6 || level == 7) Dolje = 60;
- else Dolje=0;
- Sprite *block = new Sprite();
- if ( smjer == 'D')
- {
- block->setImage(N_KamikazaD_T);
- }
- else if ( smjer == 'L' )
- {
- block->setImage(N_KamikazaL_T);
- }
- else return;
- block->setObjectType(N_KAMIKAZA);
- block->setTotalFrames(12);
- block->setColumns(5);
- block->setSize(93,116);
- block->setFrameTimer(70);
- block->setCurrentFrame( rand()%10 );
- block->energy = 2;
- block->LevelID=level;
- GornjaGranica=325-block->getHeight()+Dolje;
- DonjaGranica=SCREENH-block->getHeight();
- Y = DonjaGranica - ( rand() % ( DonjaGranica - GornjaGranica ) );
- if ( smjer == 'D')
- {
- block->setPosition(SCREENW,Y);
- }
- else if ( smjer == 'L' )
- {
- block->setPosition(-89,Y);
- }
- else return;
- block->setVelocity(-KAMIKAZA_VEL,0);
- //upali se zvuk samo ako nema istog spritea i ako vec ne svira
- if ((g_engine->findEntity(N_KAMIKAZA) == NULL) || (g_engine->audio->IsPlaying("N_Kamikaza") == FALSE )) g_engine->audio->Play("N_Kamikaza");
- if (level==3) block->setColor(0xFFBBEEFF);
- if (level>=6 && level<8) block->setColor(0xFFFFCCCC);
- g_engine->addEntity( block );
- }
- void addHarpija( char smjer)
- {
- Sprite *block = new Sprite();
- if ( smjer == 'D')
- {
- block->setImage(N_HarpijaD_T);
- block->Gledam='L';
- }
- else if ( smjer == 'L' )
- {
- block->setImage(N_HarpijaL_T);
- block->Gledam='D';
- }
- else return;
- block->setObjectType(N_HARPIJA);
- block->setTotalFrames(9);
- block->setColumns(5);
- block->setSize(93,110);
- block->setFrameTimer(100);
- block->setCurrentFrame( rand()%8 );
- block->pucaj=2100 + (rand() % 500);
- block->energy = 4;
- block->LevelID=level;
- if ( smjer == 'D')
- {
- block->setPosition(SCREENW+rand()%100,-5+rand()%100);
- block->setVelocity(-HARPIJA_VEL, 0);
- }
- else if ( smjer == 'L' )
- {
- block->setPosition(-(rand()%100),-5+rand()%100);
- block->setVelocity(HARPIJA_VEL, 0);
- }
- else return;
- if (level==3) block->setColor(0xFFBBEEFF);
- if (level>=6 && level<8) block->setColor(0xFFFFCCCC);
- g_engine->addEntity( block );
- }
- void addSetacPlavi( char Polozaj)
- {
- int GornjaGranica;
- int DonjaGranica;
- int Y;
- int Dolje;
- if (level == 6 || level == 7) Dolje = 60;
- else Dolje=0;
- Sprite *block = new Sprite();
- block->setObjectType(N_SETACPLAVI);
- if (Polozaj == 'D')
- {
- block->setImage(N_SetacPlaviD_T);
- block->Gledam='L';
- }
- else
- {
- block->setImage(N_SetacPlaviL_T);
- block->Gledam='D';
- }
- block->setTotalFrames(16);
- block->setColumns(4);
- block->setSize(217,235);
- block->setFrameTimer(60);
- block->setCurrentFrame(rand()%15);
- block->energy = 10;
- block->pucaj = 1800 + (rand() % 950);
- block->LevelID=level;
- GornjaGranica=340-block->getHeight()+Dolje;
- DonjaGranica=SCREENH-block->getHeight();
- Y = DonjaGranica - ( rand() % ( DonjaGranica - GornjaGranica ) );
- if (Polozaj == 'D')
- {
- block->setPosition(SCREENW-15,Y);
- block->setVelocity(-(SETAC_VEL+1)+1*SmanjiSamBrzinu,0);
- // polozaj na ekranu dokle ce hodati
- block->PolozajX=(rand()%350)+650;
- }
- else
- {
- block->setPosition(-block->getWidth()+15,Y);
- block->setVelocity((SETAC_VEL+1)-1*SmanjiSamBrzinu,0);
- // polozaj na ekranu dokle ce hodati
- block->PolozajX=(rand()%100)+200;
- }
- if (level==3) block->setColor(0xFFBBEEFF);
- if (level>=6 && level<8) block->setColor(0xFFFFCCCC);
- g_engine->addEntity( block );
- }
- void addSetacCrveni( char Polozaj)
- {
- int GornjaGranica;
- int DonjaGranica;
- int Y;
- int Dolje;
- if (level == 6 || level == 7) Dolje = 60;
- else Dolje=0;
- Sprite *block = new Sprite();
- block->setObjectType(N_SETACCRVENI);
- if (Polozaj == 'D')
- {
- block->setImage(N_SetacCrveniD_T);
- block->Gledam='L';
- }
- else
- {
- block->setImage(N_SetacCrveniL_T);
- block->Gledam='D';
- }
- block->setTotalFrames(16);
- block->setColumns(5);
- block->setSize(295,345);
- block->setFrameTimer(80);
- block->setCurrentFrame(rand()%15);
- block->energy = 50;
- block->pucaj = 2500 + (rand()%1000);
- block->LevelID=level;
- GornjaGranica=340-block->getHeight()+Dolje;
- DonjaGranica=SCREENH-block->getHeight();
- Y = DonjaGranica - ( rand() % ( DonjaGranica - GornjaGranica ) );
- if (Polozaj == 'D')
- {
- block->setPosition(SCREENW-15,Y);
- block->setVelocity(-SETAC_VEL+1*SmanjiSamBrzinu,0);
- // polozaj na ekranu dokle ce hodati
- block->PolozajX=(rand()%200)+850;
- }
- else
- {
- block->setPosition(-block->getWidth()+15,Y);
- block->setVelocity(SETAC_VEL-1*SmanjiSamBrzinu,0);
- // polozaj na ekranu dokle ce hodati
- block->PolozajX=(rand()%100)+50;
- }
- if (level==3) block->setColor(0xFFBBEEFF);
- if (level>=6 && level<8) block->setColor(0xFFFFCCCC);
- g_engine->addEntity( block );
- }
- void addBik()
- {
- Sprite *block = new Sprite();
- int GornjaGranica;
- int DonjaGranica;
- double Y;
- int Dolje;
- if (level == 6 || level == 7) Dolje = 60;
- else Dolje=0;
- block->setObjectType(N_BIK);
- block->setImage(N_Bik_T);
- block->setTotalFrames(20);
- block->setColumns(5);
- block->setSize(239,149);
- block->setFrameTimer(30);
- block->setCurrentFrame(rand()%15);
- block->energy = 16;
- block->pucaj = 2500;
- block->LevelID=level;
- GornjaGranica=340-block->getHeight()+Dolje;
- DonjaGranica=SCREENH-block->getHeight();
- Y = DonjaGranica - ( rand() % ( DonjaGranica - GornjaGranica ) );
- block->setPosition(SCREENW, Y);
- block->setVelocity(-BIK_VEL,0);
- //upali se zvuk samo ako nema istog spritea i ako vec ne svira
- if ((g_engine->findEntity(N_BIK) == NULL) || (g_engine->audio->IsPlaying("N_BikRun") == FALSE )) g_engine->audio->Play("N_BikRun");
- if (level==3) block->setColor(0xFFBBEEFF);
- if (level>=6 && level<8) block->setColor(0xFFFFCCCC);
- g_engine->addEntity( block );
- }
- void addGnaarFemale()
- {
- Sprite *block = new Sprite();
- int GornjaGranica;
- int DonjaGranica;
- int Y;
- int Dolje;
- if (level == 6 || level == 7) Dolje = 60;
- else Dolje=0;
- block->setObjectType(N_GNAARFEMALE);
- block->setImage(N_GnaarFemale_T);
- block->setTotalFrames(9);
- block->setColumns(5);
- block->setSize(144,125);
- block->setFrameTimer(65);
- block->setCurrentFrame(rand()%7);
- block->energy = 6;
- block->pucaj = 500;
- block->LevelID=level;
- GornjaGranica=330-block->getHeight()+Dolje;
- DonjaGranica=SCREENH-block->getHeight();
- Y = DonjaGranica - ( rand() % ( DonjaGranica - GornjaGranica ) );
- block->setPosition(SCREENW,Y);
- Vector3 Gnaar_FPos = block->getPosition();
- block->setVelocity(-GNAAR_VEL,0);
- if (level==3) block->setColor(0xFFBBEEFF);
- if (level>=6 && level<8) block->setColor(0xFFFFCCCC);
- g_engine->addEntity( block );
- }
- void addGnaarMale()
- {
- Sprite *block = new Sprite();
- int GornjaGranica;
- int DonjaGranica;
- int Y;
- int Dolje;
- if (level == 6 || level == 7) Dolje = 60;
- else Dolje=0;
- block->setObjectType(N_GNAARMALE);
- block->setImage(N_GnaarMale_T);
- block->setTotalFrames(9);
- block->setColumns(5);
- block->setSize(109,89);
- block->setFrameTimer(65);
- block->setCurrentFrame(rand()%7);
- block->energy = 2;
- block->pucaj = 500;
- block->LevelID=level;
- GornjaGranica=330-block->getHeight()+Dolje;
- DonjaGranica=SCREENH-block->getHeight();
- Y = DonjaGranica - ( rand() % ( DonjaGranica - GornjaGranica ) );
- if ( rand()%2 == 0 ) block->setPosition(SCREENW,Y);
- else block->setPosition(SCREENW+50,Y);
- block->setVelocity(-GNAAR_VEL,0);
- if (level==3) block->setColor(0xFFBBEEFF);
- if (level>=6 && level<8) block->setColor(0xFFFFCCCC);
- g_engine->addEntity( block );
- }
- void addPalma(double x , double y, double velicina)
- {
- Sprite *palma = new Sprite();
- palma->setObjectType(OBJECT_PALMA);
- palma->setImage(I_PalmaT);
- palma->setTotalFrames(8);
- palma->setColumns(5);
- palma->setCollidable(false);
- palma->setSize(165,355);
- palma->setScale(velicina);
- palma->setCurrentFrame( rand()%4);
- palma->setFrameTimer(200);
- palma->setPosition(x,y);
- palma->LevelID=level;
- if (level==3) palma->setColor(0xFFBBEEFF);
- if (level>=6 && level<8) palma->setColor(0xFFFFCCCC);
- g_engine->addEntity( palma );
- }
- void addStup(double x , double y, double velicina , char smjer)
- {
- Sprite *stup = new Sprite();
- stup->setObjectType(OBJECT_STUP);
- if ( smjer =='D' ) stup->setImage(I_StupD_T);
- if ( smjer =='L' ) stup->setImage(I_StupL_T);
- stup->setCollidable(false);
- stup->setSize(60,126);
- stup->setScale(velicina);
- stup->setCurrentFrame( rand()%4);
- stup->setFrameTimer(200);
- stup->setPosition(x,y);
- stup->LevelID=level;
- if (level==3) stup->setColor(0xFFBBEEFF);
- if (level>=6 && level<8) stup->setColor(0xFFFFCCCC);
- g_engine->addEntity( stup );
- }
- void addLGB()
- {
- Sprite *LGB = new Sprite();
- LGB->setObjectType(OBJECT_LGB);
- LGB->setImage(I_LGB_T);
- LGB->setLifetime(3500);
- LGB->setCollidable(false);
- LGB->LevelID=level;
- LGB->setPosition(META->getX()+45,META->getY()-160);
- g_engine->addEntity( LGB );
- g_engine->audio->Play("Sam_Hey");
- }
- void addCreditsText()
- {
- Sprite *CreditsS = new Sprite();
- CreditsS->setObjectType(CREDITS);
- CreditsS->setImage(CreditsText);
- CreditsS->setCollidable(false);
- CreditsS->setSize(414,3600);
- CreditsS->setPosition(SCREENW/2-207,SCREENH-205);
- CreditsS->setVelocity(0,-1.7+SmanjiSamBrzinu*0.8);
- g_engine->addEntity( CreditsS );
- }
- void addCreditsB()
- {
- Sprite *CreditsB = new Sprite();
- CreditsB->setObjectType(CREDITSB);
- CreditsB->setImage(B_Credits2);
- CreditsB->setCollidable(false);
- CreditsB->setPosition(0,0);
- g_engine->addEntity( CreditsB );
- }
- void addIntroText()
- {
- Sprite *IntroText = new Sprite();
- IntroText->setObjectType(CREDITS);
- IntroText->setImage(IntroText_T);
- IntroText->setCollidable(false);
- IntroText->setVelocity(0,-2+SmanjiSamBrzinu);
- IntroText->setSize(425,400);
- IntroText->setPosition(SCREENW/2-212,SCREENH);
- g_engine->addEntity( IntroText );
- }
- void addExplosionR( double x, double y)
- {
- Sprite *expl = new Sprite();
- expl->setObjectType(OBJECT_EXPLOSION);
- expl->setImage(Explosion_R);
- expl->setColumns(5);
- expl->setCollidable(false);
- expl->setSize(107,150);
- expl->setPosition(x,y);
- expl->setTotalFrames(17);
- expl->setFrameTimer(40);
- expl->setLifetime(700-SmanjiLifeTime);
- expl->LevelID=level;
- g_engine->addEntity( expl );
- g_engine->audio->Play("explode2");
- }
- void addExplosionK(double x , double y)
- {
- Sprite *expl2 = new Sprite();
- expl2->setObjectType(OBJECT_EXPLOSION);
- expl2->setImage(Explosion_K);
- expl2->setColumns(5);
- expl2->setCollidable(false);
- expl2->setSize(272,204);
- expl2->setPosition(x,y);
- expl2->setTotalFrames(13);
- expl2->setFrameTimer(40);
- expl2->setLifetime(550-SmanjiLifeTime);
- expl2->LevelID=level;
- g_engine->addEntity( expl2 );
- g_engine->audio->Play("explode2");
- }
- void addExplosionV(double x , double y)
- {
- Sprite *expl2 = new Sprite();
- expl2->setObjectType(OBJECT_EXPLOSION);
- expl2->setImage(Explosion_V);
- expl2->setColumns(6);
- expl2->setCollidable(false);
- expl2->setSize(183,183);
- expl2->setPosition(x,y);
- expl2->setTotalFrames(18);
- expl2->setFrameTimer(25);
- expl2->setLifetime(430-SmanjiLifeTime);
- expl2->LevelID=level;
- g_engine->addEntity( expl2 );
- g_engine->audio->Play("explode2");
- }
- void addHarpijaKrila(double x , double y)
- {
- Sprite *HarpijaKrilo = new Sprite();
- HarpijaKrilo->setObjectType(OBJECT_KRV);
- HarpijaKrilo->setImage(HarpijaKrilo_T);
- HarpijaKrilo->setCollidable(false);
- HarpijaKrilo->setSize(38,67);
- HarpijaKrilo->setPosition(x,y);
- HarpijaKrilo->setLifetime(450);
- HarpijaKrilo->setRotation(g_engine->math->toRadians(rand()%360));
- HarpijaKrilo->setVelocity(-4+1*SmanjiSamBrzinu,5-1*SmanjiSamBrzinu);
- HarpijaKrilo->LevelID=level;
- g_engine->addEntity( HarpijaKrilo );
- Sprite *HarpijaKrilo2 = new Sprite();
- HarpijaKrilo2->setObjectType(OBJECT_KRV);
- HarpijaKrilo2->setImage(HarpijaKrilo_T);
- HarpijaKrilo2->setCollidable(false);
- HarpijaKrilo2->setSize(38,67);
- HarpijaKrilo2->setPosition(x,y);
- HarpijaKrilo2->setLifetime(450);
- HarpijaKrilo2->setRotation(g_engine->math->toRadians(rand()%360));
- HarpijaKrilo2->setVelocity(4-1*SmanjiSamBrzinu,5-1*SmanjiSamBrzinu);
- HarpijaKrilo2->LevelID=level;
- g_engine->addEntity( HarpijaKrilo2 );
- }
- void addKrilo(double x , double y, double r)
- {
- Sprite *krv = new Sprite();
- krv->setObjectType(OBJECT_MISC);
- krv->setImage(Krilo);
- krv->setCollidable(false);
- krv->setSize(357,150);
- krv->setPosition(boss->getX()+300,boss->getY()+150);
- krv->setLifetime(4000);
- krv->setRotation(g_engine->math->toRadians(r));
- krv->setVelocity(x,y);
- krv->LevelID=level;
- g_engine->addEntity( krv );
- }
- void addRuka(double x , double y, double r)
- {
- Sprite *krv = new Sprite();
- krv->setObjectType(OBJECT_MISC);
- krv->setImage(Ruka);
- krv->setCollidable(false);
- krv->setSize(184,86);
- krv->setPosition(boss->getX()+300,boss->getY()+150);
- krv->setLifetime(4000);
- krv->setRotation(g_engine->math->toRadians(r));
- krv->setVelocity(x,y);
- krv->LevelID=level;
- g_engine->addEntity( krv );
- }
- void addKrv(double x , double y , char boja)
- {
- Sprite *krv = new Sprite();
- krv->setObjectType(OBJECT_KRV);
- if ( boja == 'C' ) krv->setImage(Krv_C);
- if ( boja == 'Z' ) {krv->setImage(Krv_Z);krv->setScale(1.2);}
- krv->setTotalFrames(12);
- krv->setColumns(6);
- krv->setCollidable(false);
- krv->setSize(60,60);
- krv->setFrameTimer(25);
- krv->setPosition(x,y);
- krv->setLifetime(280-SmanjiLifeTime);
- krv->LevelID=level;
- if (level==3) krv->setColor(0xFFBBEEFF);
- if (level>=6) krv->setColor(0xFFFFCCCC);
- g_engine->addEntity( krv );
- }
- void addGMan()
- {
- Sprite *GMan = new Sprite();
- GMan->setImage(I_GM_T);
- GMan->setObjectType(GMAN);
- GMan->setSize(67,144);
- GMan->setTotalFrames(7);
- GMan->setColumns(5);
- GMan->setCollidable(false);
- GMan->setFrameTimer(150);
- GMan->setPosition(1150,400);
- GMan->setVelocity(4-SmanjiSamBrzinu*2,0);
- GMan->LevelID=level;
- g_engine->addEntity( GMan );
- }
- void addCrowbar(double x , double y )
- {
- Sprite *Crowbar = new Sprite();
- Crowbar->setImage(I_CB_T);
- Crowbar->setObjectType(CROWBAR);
- Crowbar->setRotation(0.5);
- Crowbar->setVelocity(0,9-SmanjiSamBrzinu*3);
- Crowbar->setPosition(x,y);
- Crowbar->LevelID=level;
- g_engine->addEntity( Crowbar );
- }
- void addSamMrtav(double x, double y, char gledam)
- {
- Sprite *Sam_mrtav=new Sprite();
- if (gledam=='D') Sam_mrtav->setImage(Sam_MrtavD_T);
- else Sam_mrtav->setImage(Sam_MrtavL_T);
- Sam_mrtav->setObjectType(MRTVAC_SAM);
- Sam_mrtav->setSize(133,62);
- Sam_mrtav->setPosition(x,y);
- Sam_mrtav->LevelID=level;
- Sam_mrtav->setCollidable(true);
- g_engine->addEntity(Sam_mrtav);
- }
- void addItem( int vrsta , double x , double y , bool oruzje, int kolicina)
- {
- Sprite *Item=new Sprite();
- Item->setTotalFrames(1);
- Item->setColumns(1);
- Item->LevelID=level;
- Item->setPosition(x,y);
- Item->energy=kolicina;
- switch(vrsta)
- {
- case 999:
- Item->setObjectType(SSF);
- Item->setImage(I_SeriousSecondaryFire_T);
- break;
- case 25:
- Item->setObjectType(HEALTH_25);
- Item->setImage(I_Health25_T);
- break;
- case 100:
- Item->setObjectType(HEALTH_100);
- Item->setImage(Health100);
- break;
- case 4:
- Item->setObjectType(MM);
- if ( oruzje == false )
- {
- Item->setImage(MunicijaMinigun);
- Item->Stanje=2;
- }
- else
- {
- Item->setImage(I_Minigun_T);
- Item->Stanje=1;
- }
- break;
- case 5:
- Item->setObjectType(MR);
- if ( oruzje == false )
- {
- Item->setImage(MunicijaRaketa);
- Item->Stanje=2;
- }
- else
- {
- Item->setImage(I_RocketLauncher_T);
- Item->Stanje=1;
- }
- break;
- case 7:
- Item->setObjectType(ML);
- if ( oruzje == false )
- {
- Item->setImage(MunicijaLaser);
- Item->Stanje=2;
- }
- else
- {
- Item->setImage(I_Laser_T);
- Item->Stanje=1;
- }
- break;
- case 8:
- Item->setObjectType(MT);
- if ( oruzje == false )
- {
- Item->setImage(MunicijaTop);
- Item->Stanje=2;
- }
- else
- {
- Item->setImage(I_Top_T);
- Item->Stanje=1;
- }
- break;
- }
- if (level==3) Item->setColor(0xFFBBEEFF);
- if (level>=6 && level<8) Item->setColor(0xFFFFCCCC);
- g_engine->addEntity(Item);
- }
- //UREDJENO
- void firebullet( int Mod ) //igrac puca
- {
- Sprite *bullet = new Sprite();
- int k;
- double brzina,pmx,pmy,x,y;
- //Kut za rotiranje metka i odreðivanje smjera
- Kut_Pucanja = -(g_engine->math->toDegrees(paddle_angle)) + 90 ;
- //Kut za odreðivanje položaja metka
- NekiKut = g_engine->math->toDegrees(paddle_angle);
- //Rotacija
- bullet->setRotation( g_engine->math->toRadians(Kut_Pucanja) );
- //NOVO 7.9.2010.- PUCANJE IZ VRHA ORUZJA
- switch(oruzje)
- {
- case 0:
- brzina=pistoljV;
- //Smjer metka
- pmx = g_engine->math->LinearVelocityX(Kut_Pucanja) * brzina;
- pmy = g_engine->math->LinearVelocityY(Kut_Pucanja) * brzina;
- bullet->setVelocity(pmx, pmy);
- x = META->getX() + META->getWidth()/2;
- y = META->getY() + META->getHeight()/2;
- d=g_engine->math->Distance(x,y,x+50,y-30);
- polx=d* ( cos(NekiKut*(3.141592654/180)));
- poly=d* ( sin(NekiKut*(3.141592654/180)));
- if (paddle->Gledam == 'D') bullet->setPosition( x+polx-20, y-poly-50 );
- if ((paddle->Gledam == 'D') && ((NekiKut<-50) && (NekiKut>-69))) bullet->setPosition( x+polx-5, y-poly-50 );
- if (paddle->Gledam == 'L') bullet->setPosition( x+polx-10, y-poly-50 );
- if ((paddle->Gledam == 'L') && ((NekiKut>110) && (NekiKut<125))) bullet->setPosition( x+polx+15, y-poly-20 );
- if ((paddle->Gledam == 'L') && ((NekiKut<-110) && (NekiKut>-150))) bullet->setPosition( x+polx-35, y-poly-40 );
- bullet->setObjectType(METAK);
- bullet->setImage(A_MetakP_T);
- bullet->setLifetime(2000);
- bullet->setSize(30,50);
- g_engine->audio->Play("fire");
- break;
- case 3:
- brzina=sacmaricaV;
- pmx = g_engine->math->LinearVelocityX(Kut_Pucanja) * brzina;
- pmy = g_engine->math->LinearVelocityY(Kut_Pucanja) * brzina;
- bullet->setVelocity(pmx, pmy);
- x = META->getX() + META->getWidth()/2;
- y = META->getY() + META->getHeight()/2;
- d=g_engine->math->Distance(x,y,x+60,y-30);
- polx=d* ( cos(NekiKut*(3.141592654/180)));
- poly=d* ( sin(NekiKut*(3.141592654/180)));
- if (paddle->Gledam == 'D') bullet->setPosition( x+polx-20, y-poly-45 );
- if ((paddle->Gledam == 'D') && ((NekiKut>47) && (NekiKut<69))) bullet->setPosition( x+polx-35, y-poly-45 );
- if ((paddle->Gledam == 'D') && ((NekiKut<-35) && (NekiKut>-69))) bullet->setPosition( x+polx-10, y-poly-30 );
- if (paddle->Gledam == 'L') bullet->setPosition( x+polx-20, y-poly-50 );
- if ((paddle->Gledam == 'L') && ((NekiKut>111) && (NekiKut<115))) bullet->setPosition( x+polx-15, y-poly-45 );
- if ((paddle->Gledam == 'L') && ((NekiKut<-110) && (NekiKut>-150))) bullet->setPosition( x+polx-40, y-poly-40 );
- bullet->setObjectType(SACMA);
- bullet->setImage(A_Sacma_T);
- bullet->setSize(48,48);
- bullet->setLifetime(2000);
- g_engine->audio->Play("FireSacmarica");
- break;
- case 4:
- brzina=minigunV;
- pmx = g_engine->math->LinearVelocityX(Kut_Pucanja) * brzina;
- pmy = g_engine->math->LinearVelocityY(Kut_Pucanja) * brzina;
- bullet->setVelocity(pmx, pmy);
- x = META->getX() + META->getWidth()/2;
- y = META->getY() + META->getHeight()*0.1;
- d=g_engine->math->Distance(x,y,x+125,y);
- polx=d* ( cos(NekiKut*(3.141592654/180)));
- poly=d* ( sin(NekiKut*(3.141592654/180)));
- if (Mod == 2)
- {
- k=rand()%10;
- pmx = g_engine->math->LinearVelocityX(-5+Kut_Pucanja+k) * brzina;
- pmy = g_engine->math->LinearVelocityY(-5+Kut_Pucanja+k) * brzina;
- }
- else
- {
- k=rand()%4;
- pmx = g_engine->math->LinearVelocityX(-2+Kut_Pucanja+k) * brzina;
- pmy = g_engine->math->LinearVelocityY(-2+Kut_Pucanja+k) * brzina;
- }
- bullet->setVelocity(pmx, pmy);
- bullet->setRotation( g_engine->math->toRadians(Kut_Pucanja) );
- bullet->setPosition( x+polx -10 , y-poly+35 );
- bullet->setObjectType(METAK);
- bullet->setImage(A_Minigun_T);
- bullet->setLifetime(2000);
- bullet->setSize(24,40);
- g_engine->audio->Play("FireMinigun");
- MunicijaMG--;
- break;
- case 5:
- brzina=rocketV;
- pmx = g_engine->math->LinearVelocityX(Kut_Pucanja) * brzina;
- pmy = g_engine->math->LinearVelocityY(Kut_Pucanja) * brzina;
- bullet->setVelocity(pmx, pmy);
- x = META->getX() + META->getWidth()/2;
- y = META->getY() + META->getHeight()*0.1;
- d=g_engine->math->Distance(x,y,x+30,y);
- polx=d* ( cos(NekiKut*(3.141592654/180)));
- poly=d* ( sin(NekiKut*(3.141592654/180)));
- bullet->setPosition( x+polx-10 , y-poly+5 );
- bullet->setObjectType(RAKETA);
- bullet->setImage(A_Raketa_T);
- bullet->setSize(21,68);
- bullet->setLifetime(2000);
- if (Mod==1)
- {
- bullet->setVelocity(pmx,pmy);
- g_engine->audio->Play("rocket");
- MunicijaRL--;
- }
- if (Mod==2 && MunicijaRL==1)
- {
- bullet->setVelocity(pmx,pmy);
- g_engine->audio->Play("rocket");
- MunicijaRL--;
- }
- if((Mod==2) && (MunicijaRL>1))
- {
- Sprite *bullet2 = new Sprite();
- pmx = g_engine->math->LinearVelocityX(Kut_Pucanja-3) * brzina;
- pmy = g_engine->math->LinearVelocityY(Kut_Pucanja-3) * brzina;
- bullet->setVelocity(pmx,pmy);
- pmx = g_engine->math->LinearVelocityX(Kut_Pucanja+3) * brzina;
- pmy = g_engine->math->LinearVelocityY(Kut_Pucanja+3) * brzina;
- bullet2->setObjectType(RAKETA);
- bullet2->setImage(A_Raketa_T);
- bullet2->setPosition( x+polx-10 , y-poly+5 );
- bullet2->setRotation( g_engine->math->toRadians(Kut_Pucanja));
- bullet2->setSize(21,68);
- bullet2->setLifetime(2000);
- bullet2->setVelocity(pmx,pmy);
- MunicijaRL--;
- MunicijaRL--;
- bullet2->LevelID=level;
- g_engine->addEntity(bullet2);
- g_engine->audio->Play("rocket3");
- }
- break;
- case 7:
- brzina=laserV;
- pmx = g_engine->math->LinearVelocityX(Kut_Pucanja) * brzina;
- pmy = g_engine->math->LinearVelocityY(Kut_Pucanja) * brzina;
- bullet->setVelocity(pmx, pmy);
- x = META->getX() + META->getWidth()/2;
- y = META->getY() + META->getHeight()/2;
- d=g_engine->math->Distance(x,y,x+60,y-30);
- polx=d* ( cos(NekiKut*(3.141592654/180)));
- poly=d* ( sin(NekiKut*(3.141592654/180)));
- if (paddle->Gledam == 'D') bullet->setPosition( x+polx-20, y-poly-45 );
- if ((paddle->Gledam == 'D') && ((NekiKut<-35) && (NekiKut>-69))) bullet->setPosition( x+polx-5, y-poly-50 );
- if (paddle->Gledam == 'L') bullet->setPosition( x+polx-10, y-poly-45 );
- if ((paddle->Gledam == 'L') && ((NekiKut>110) && (NekiKut<125))) bullet->setPosition( x+polx+10, y-poly-25 );
- if ((paddle->Gledam == 'L') && ((NekiKut<-110) && (NekiKut>-150))) bullet->setPosition( x+polx-30, y-poly-40 );
- bullet->setSize(24,40);
- bullet->setLifetime(2000);
- if (Mod==1)
- {
- bullet->setObjectType(LASER);
- bullet->setImage(A_Laser_T);
- g_engine->audio->Play("FireLaser");
- MunicijaL--;
- }
- if (Mod==2)
- {
- if ( MunicijaL <= 1 ) return;
- bullet->setObjectType(LASER2);
- bullet->setImage(A_Laser2_T);
- g_engine->audio->Play("FireLaser2");
- MunicijaL--;
- MunicijaL--;
- }
- break;
- case 8:
- brzina=kuglaV;
- pmx = g_engine->math->LinearVelocityX(Kut_Pucanja) * brzina;
- pmy = g_engine->math->LinearVelocityY(Kut_Pucanja) * brzina;
- bullet->setVelocity(pmx, pmy);
- x = META->getX() + META->getWidth()/2;
- y = META->getY() + META->getHeight()/2;
- d=g_engine->math->Distance(x,y,x+35,y);
- polx=d* ( cos(NekiKut*(3.141592654/180)));
- poly=d* ( sin(NekiKut*(3.141592654/180)));
- bullet->setPosition( x+polx , y-poly-15 );
- if ((paddle->Gledam == 'D') && ((NekiKut<69) && (NekiKut>25))) bullet->setPosition( x+polx-10 , y-poly-30 );
- if ((paddle->Gledam == 'D') && ((NekiKut<-10) && (NekiKut>-69))) bullet->setPosition( x+polx-10 , y-poly-5 );
- if (paddle->Gledam == 'L') bullet->setPosition( x+polx-30 , y-poly-15 );
- if ((paddle->Gledam == 'L') && ((NekiKut>110) && (NekiKut<175))) bullet->setPosition( x+polx-30 , y-poly-25 );
- if ((paddle->Gledam == 'L') && ((NekiKut<-110) && (NekiKut>-155))) bullet->setPosition( x+polx-20 , y-poly-5 );
- bullet->setObjectType(TOPOVSKA_KUGLA);
- bullet->setImage(A_Kugla_T);
- bullet->setSize(40,40);
- bullet->setLifetime(2000);
- g_engine->audio->Play("FireTop");
- MunicijaT--;
- break;
- }
- bullet->LevelID=level;
- g_engine->addEntity(bullet);
- }
- void N_FireSetacPlavi(Sprite *SetacPlavi)
- {
- double Kut;
- Sprite *bullet1 = new Sprite();
- bullet1->setObjectType(N_LASER);
- bullet1->setImage(A_LaserSP_T);
- bullet1->setSize(24,40);
- bullet1->setLifetime(2500);
- bullet1->LevelID=level;
- Sprite *bullet2 = new Sprite();
- bullet2->setObjectType(N_LASER);
- bullet2->setImage(A_LaserSP_T);
- bullet2->setSize(24,40);
- bullet2->setLifetime(2500);
- bullet2->LevelID=level;
- double pxK = SetacPlavi->getX();
- double pyK = SetacPlavi->getY();
- if (SetacPlavi->Gledam=='L')
- {
- bullet1->setPosition(pxK+60,pyK+100);
- bullet2->setPosition(pxK+30,pyK+90);
- }
- else
- {
- bullet1->setPosition(pxK+SetacPlavi->getWidth()-30,pyK+90);
- bullet2->setPosition(pxK+SetacPlavi->getWidth()-60,pyK+100);
- }
- //calculate angle to target
- Kut = g_engine->math->AngleToTarget(META->getX()+META->getWidth()/2,META->getY()+META->getHeight()/2,bullet1->getX()+bullet1->getWidth()/2,bullet1->getY()+bullet1->getHeight()/2);
- Kut = 270 + g_engine->math->toDegrees( Kut );
- double vvx = g_engine->math->LinearVelocityX(Kut)*BULLET_VEL;
- double vvy = g_engine->math->LinearVelocityY(Kut)*BULLET_VEL;
- bullet1->setVelocity(vvx, vvy);
- //pazi gdje trebaju radijani a gdje stupnjevi
- Kut = g_engine->math->toRadians(Kut);
- bullet1->setRotation(Kut);
- //calculate angle to target
- Kut = g_engine->math->AngleToTarget(META->getX()+META->getWidth()/2,META->getY()+META->getHeight()/2,bullet2->getX()+bullet2->getWidth()/2,bullet2->getY()+bullet2->getHeight()/2);
- Kut = 270 + g_engine->math->toDegrees( Kut );
- vvx = g_engine->math->LinearVelocityX(Kut)*BULLET_VEL;
- vvy = g_engine->math->LinearVelocityY(Kut)*BULLET_VEL;
- bullet2->setVelocity(vvx, vvy);
- //pazi gdje trebaju radijani a gdje stupnjevi
- Kut = g_engine->math->toRadians(Kut);
- bullet2->setRotation(Kut);
- //fire bullet
- g_engine->addEntity(bullet1);
- g_engine->addEntity(bullet2);
- g_engine->audio->Play("Fire_Setac_plavi2");
- SetacPlavi->pucaj = 0.0f;
- }
- void N_FireSetacCrveni(Sprite *SetacCrveni)
- {
- double Kut;
- //stvori raketu1
- Sprite *Rocket1 = new Sprite();
- Rocket1->setObjectType(N_RAKETA);
- Rocket1->setImage(A_RaketaSC_T);
- Rocket1->setSize(25,81);
- Rocket1->setLifetime(2500);
- Rocket1->energy=1;
- Rocket1->LevelID=level;
- //stvori raketu2
- Sprite *Rocket2 = new Sprite();
- Rocket2->setObjectType(N_RAKETA);
- Rocket2->setImage(A_RaketaSC_T);
- Rocket2->setSize(25,81);
- Rocket2->setLifetime(2500);
- Rocket2->energy=1;
- Rocket2->LevelID=level;
- //raketa krece sa pozicije neprijatelja
- double pxK = SetacCrveni->getX();
- double pyK = SetacCrveni->getY();
- if (SetacCrveni->Gledam=='L')
- {
- Rocket1->setPosition(pxK+30,pyK+125);
- Rocket2->setPosition(pxK+120,pyK+125);
- }
- else
- {
- Rocket1->setPosition(pxK+SetacCrveni->getWidth()-30,pyK+125);
- Rocket2->setPosition(pxK+SetacCrveni->getWidth()-120,pyK+125);
- }
- //calculate angle to target
- Kut = g_engine->math->AngleToTarget(META->getX()+META->getWidth()/2,META->getY()+META->getHeight()/2,Rocket1->getX()+Rocket1->getWidth()/2,Rocket1->getY()+Rocket1->getHeight()/2);
- Kut = 270 + g_engine->math->toDegrees( Kut );
- double vvx = g_engine->math->LinearVelocityX(Kut)*(rocketV-3-1*SmanjiSamBrzinu);
- double vvy = g_engine->math->LinearVelocityY(Kut)*(rocketV-3-1*SmanjiSamBrzinu);
- Rocket1->setVelocity(vvx, vvy);
- //pazi gdje trebaju radijani,a gdje stupnjevi
- Kut = g_engine->math->toRadians(Kut);
- Rocket1->setRotation(Kut);
- //calculate angle to target
- Kut = g_engine->math->AngleToTarget(META->getX()+META->getWidth()/2,META->getY()+META->getHeight()/2,Rocket2->getX()+Rocket2->getWidth()/2,Rocket2->getY()+Rocket2->getHeight()/2);
- Kut = 270 + g_engine->math->toDegrees( Kut );
- vvx = g_engine->math->LinearVelocityX(Kut)*(rocketV-3-1*SmanjiSamBrzinu);
- vvy = g_engine->math->LinearVelocityY(Kut)*(rocketV-3-1*SmanjiSamBrzinu);
- Rocket2->setVelocity(vvx, vvy);
- //pazi gdje trebaju radijani,a gdje stupnjevi
- Kut = g_engine->math->toRadians(Kut);
- Rocket2->setRotation(Kut);
- //fire bullet
- g_engine->addEntity(Rocket1);
- g_engine->addEntity(Rocket2);
- g_engine->audio->Play("rocket");
- g_engine->audio->Play("rocket");
- SetacCrveni->pucaj = 0.0f;
- }
- //UREDJENO
- void N_FireHarpija(Sprite *Harpija)//HARPIJA PUCA
- {
- double Kut;
- Sprite *bullet1 = new Sprite();
- bullet1->setObjectType(N_HARPIJAPROJEKTIL);
- bullet1->setImage(A_HarpijaP_T);
- bullet1->setSize(9,36);
- bullet1->setLifetime(2500);
- bullet1->LevelID=level;
- //metak krece sa pozicije neprijatelja
- double pxK = Harpija->getX();
- double pyK = Harpija->getY();
- if (Harpija->Gledam=='L')
- {
- bullet1->setPosition(pxK+20,pyK+80);
- }
- else
- {
- bullet1->setPosition(pxK+Harpija->getWidth()-20,pyK+80);
- }
- //calculate angle to target
- Kut = g_engine->math->AngleToTarget(META->getX()+META->getWidth()/2,META->getY()+META->getHeight()/2,bullet1->getX()+bullet1->getWidth()/2,bullet1->getY()+bullet1->getHeight()/2);
- Kut = 270 + g_engine->math->toDegrees( Kut );
- double vvx = g_engine->math->LinearVelocityX(Kut)*(rocketV-8);
- double vvy = g_engine->math->LinearVelocityY(Kut)*(rocketV-8);
- bullet1->setVelocity(vvx, vvy);
- //pazi gdje trebaju radijani, a gdje stupnjevi
- Kut = g_engine->math->toRadians(Kut);
- bullet1->setRotation(Kut);
- g_engine->addEntity(bullet1);
- g_engine->audio->Play("N_Harpija_Fire");
- //resetiranje brojaca
- Harpija->pucaj = 0.0f;
- }
- void fireB1( double x , double y )
- {
- Sprite *Vatra = new Sprite();
- Vatra->setObjectType(BOSS_VATRA);
- Vatra->setImage(FireBoss1);
- Vatra->setSize(74,521);
- Vatra->setColumns(5);
- Vatra->setTotalFrames(5);
- Vatra->setFrameTimer(50);
- Vatra->setLifetime(4500);
- Vatra->setPosition(x+189,y+280);
- Vatra->LevelID=level;
- g_engine->addEntity(Vatra);
- Sprite *Vatra2 = new Sprite();
- Vatra2->setObjectType(BOSS_VATRA);
- Vatra2->setImage(FireBoss1);
- Vatra2->setSize(74,521);
- Vatra2->setColumns(5);
- Vatra2->setTotalFrames(5);
- Vatra2->setFrameTimer(50);
- Vatra2->setLifetime(4500);
- Vatra2->setPosition(x+609,y+278);
- Vatra2->LevelID=level;
- g_engine->addEntity(Vatra2);
- FireBoss1i2=FireBoss1i2+1;
- if (FireBoss1i2==6)
- {
- boss->Stanje=2;
- FireBoss1i2=0;
- }
- if (g_engine->audio->IsPlaying("BossFly") == true ) g_engine->audio->Stop("BossFly");
- g_engine->audio->Play("B_B1");
- }
- void fireB11( double x , double y )
- {
- Sprite *Vatra = new Sprite();
- Vatra->setObjectType(BOSS_VATRA);
- Vatra->setImage(FireBoss1);
- Vatra->setSize(74,521);
- Vatra->setColumns(5);
- Vatra->setTotalFrames(5);
- Vatra->setFrameTimer(50);
- Vatra->setLifetime(2000);
- if (rand()%2==0)
- {
- Vatra->setPosition(x+189,y+280);
- }
- else
- {
- Vatra->setPosition(x+609,y+278);
- }
- Vatra->LevelID=level;
- g_engine->addEntity(Vatra);
- if (g_engine->audio->IsPlaying("BossFly") == true ) g_engine->audio->Stop("BossFly");
- g_engine->audio->Play("B_B1");
- }
- void fireB2(Sprite *SetacCrveni, int x1, int y1, int x2, int y2, int x3, int y3)
- {
- double Kut;
- //stvori raketu1
- Sprite *Rocket1 = new Sprite();
- Rocket1->setObjectType(BOSS_ROG);
- Rocket1->setImage(A_BRaketa_T);
- Rocket1->setSize(25,81);
- Rocket1->setLifetime(7000);
- Rocket1->energy=1;
- Rocket1->LevelID=level;
- //stvori raketu2
- Sprite *Rocket2 = new Sprite();
- Rocket2->setObjectType(BOSS_ROG);
- Rocket2->setImage(A_BRaketa_T);
- Rocket2->setSize(25,81);
- Rocket2->setLifetime(7000);
- Rocket2->energy=1;
- Rocket2->LevelID=level;
- //stvori raketu3
- Sprite *Rocket3 = new Sprite();
- Rocket3->setObjectType(BOSS_ROG);
- Rocket3->setImage(A_BRaketa_T);
- Rocket3->setSize(25,81);
- Rocket3->setLifetime(7000);
- Rocket3->energy=1;
- Rocket3->LevelID=level;
- //raketa krece sa pozicije neprijatelja
- double pxK = SetacCrveni->getX();
- double pyK = SetacCrveni->getY();
- Rocket1->setPosition(pxK+x1,pyK+y1);
- Rocket2->setPosition(pxK+x2,pyK+y2);
- Rocket3->setPosition(pxK+x3,pyK+y3);
- Kut = g_engine->math->toDegrees( -0.8 );
- double vvx = g_engine->math->LinearVelocityX(Kut)*(rocketV-4);
- double vvy = g_engine->math->LinearVelocityY(Kut)*(rocketV-4);
- Rocket1->setVelocity(vvx, vvy);
- //pazi gdje trebaju radijani,a gdje stupnjevi
- Kut = g_engine->math->toRadians(Kut);
- Rocket1->setRotation(Kut);
- Kut = g_engine->math->toDegrees( 0 );
- vvx = g_engine->math->LinearVelocityX(Kut)*(rocketV-2);
- vvy = g_engine->math->LinearVelocityY(Kut)*(rocketV-2);
- Rocket2->setVelocity(vvx, vvy);
- //pazi gdje trebaju radijani,a gdje stupnjevi
- Kut = g_engine->math->toRadians(Kut);
- Rocket2->setRotation(Kut);
- Kut = g_engine->math->toDegrees( 0.8 );
- vvx = g_engine->math->LinearVelocityX(Kut)*(rocketV-4);
- vvy = g_engine->math->LinearVelocityY(Kut)*(rocketV-4);
- Rocket3->setVelocity(vvx, vvy);
- //pazi gdje trebaju radijani,a gdje stupnjevi
- Kut = g_engine->math->toRadians(Kut);
- Rocket3->setRotation(Kut);
- //fire bullet
- g_engine->addEntity(Rocket1);
- g_engine->addEntity(Rocket2);
- g_engine->addEntity(Rocket3);
- g_engine->audio->Play("rocket");
- FireBoss1i2=FireBoss1i2+1;
- if (FireBoss1i2==6)
- {
- SetacCrveni->Stanje=2;
- FireBoss1i2=0;
- }
- }
- void fireB3(Sprite *SetacCrveni, int x1, int y1, int x2, int y2)
- {
- double Kut;
- //stvori raketu1
- Sprite *Rocket1 = new Sprite();
- Rocket1->setObjectType(BOSS_OKO);
- Rocket1->setImage(A_BOko_T);
- Rocket1->setSize(25,25);
- Rocket1->setLifetime(2000);
- Rocket1->LevelID=level;
- //stvori raketu2
- Sprite *Rocket2 = new Sprite();
- Rocket2->setObjectType(BOSS_OKO);
- Rocket2->setImage(A_BOko_T);
- Rocket2->setSize(25,25);
- Rocket2->setLifetime(2000);
- Rocket2->LevelID=level;
- //raketa krece sa pozicije neprijatelja
- double pxK = SetacCrveni->getX();
- double pyK = SetacCrveni->getY();
- Rocket1->setPosition(pxK+x1,pyK+y1);
- Rocket2->setPosition(pxK+x2,pyK+y2);
- if (SetacCrveni->getObjectType() == BOSS)
- {
- //calculate angle to target
- double vvx = g_engine->math->LinearVelocityX(FireBoss3)*(rocketV-3);
- double vvy = g_engine->math->LinearVelocityY(FireBoss3)*(rocketV-3);
- Rocket1->setVelocity(vvx, vvy);
- Rocket2->setVelocity(vvx, vvy);
- }
- if (SetacCrveni->getObjectType() == BOSS_HEAD && SetacCrveni->Stanje==1)
- {
- //calculate angle to target
- Kut = g_engine->math->AngleToTarget(META->getX()+META->getWidth()/2,META->getY()+META->getHeight()/2,Rocket1->getX()+Rocket1->getWidth()/2,Rocket1->getY()+Rocket1->getHeight()/2);
- Kut = 270 + g_engine->math->toDegrees( Kut );
- double vvx = g_engine->math->LinearVelocityX(Kut)*(rocketV-4);
- double vvy = g_engine->math->LinearVelocityY(Kut)*(rocketV-4);
- Rocket1->setVelocity(vvx, vvy);
- Rocket2->setVelocity(vvx, vvy);
- }
- g_engine->addEntity(Rocket1);
- g_engine->addEntity(Rocket2);
- g_engine->audio->Play("Fire_Setac_plavi");
- SetacCrveni->pucaj = 0.0f;
- FireBoss3=FireBoss3-FireBoss33;
- if ( FireBoss3 < -225 )
- {
- FireBoss33=-15;
- }
- if (FireBoss3 > -120)
- {
- FireBoss33=15;
- FireBoss3=-120;
- SetacCrveni->Stanje=1;
- }
- }
- void fireB4(Sprite *BossS, int x1, int y1)
- {
- double pxK = BossS->getX();
- double pyK = BossS->getY();
- Sprite *VatrenaKugla = new Sprite();
- VatrenaKugla->setObjectType(BOSS_VATRENAKUGLA);
- VatrenaKugla->setImage(vatrena_kugla);
- VatrenaKugla->setSize(89,116);
- VatrenaKugla->setLifetime(2000);
- VatrenaKugla->LevelID=level;
- VatrenaKugla->energy=2;
- VatrenaKugla->setPosition(pxK+x1,pyK+y1);
- VatrenaKugla->setVelocity(0, rocketV-4);
- g_engine->addEntity(VatrenaKugla);
- g_engine->audio->Play("FireLaser2");
- }
- void addBoss()
- {
- FireBoss3=-120;
- FireBoss33=15;
- FireBoss1i2=0;
- MrtavBoss=false;
- boss_krik=true;
- boss_krik2=true;
- spustanje=true;
- lijevoidesno=true;
- VatraKraj=true;
- ProciCu=false;
- BossEnergyTriger1=(rand()%100)+550;
- BossEnergyTriger2=(rand()%100)+250;;
- boss->setObjectType(BOSS);
- boss->setImage(N_TheBoss);
- boss->Stanje2=1;
- boss->setTotalFrames(8);
- boss->setColumns(3);
- boss->setSize(870,350);
- boss->setFrameTimer(110);
- boss->setPosition(200,-300);
- boss->LevelID=level;
- boss->setVelocity(0,2-SmanjiSamBrzinu);
- boss->energy=2000;
- boss->setCollidable(false);
- boss->setVisible(true);
- boss->setRotation(0);
- boss->Stanje=1;
- g_engine->audio->Play("B_Start");
- g_engine->audio->Play("BossFly");
- g_engine->addEntity( boss );
- //BOSS META 1 i 2
- MetaG = new Sprite();
- MetaG->setObjectType(BOSS_METAG);
- MetaG->setImage(B_METAG_T);
- MetaG->setSize(842,124);
- MetaG->setPosition(boss->getX()+12,boss->getY()+50);
- if (ShowCollisionBox == 0) MetaG->setVisible(false);
- MetaG->LevelID=level;
- MetaG->setCollidable(true);
- g_engine->addEntity(MetaG);
- MetaD = new Sprite();
- MetaD->setObjectType(BOSS_METAD);
- MetaD->setImage(B_METAD_T);
- MetaD->setSize(472,70);
- MetaD->setPosition(boss->getX()+200,boss->getY()+190);
- if (ShowCollisionBox == 0) MetaD->setVisible(false);
- MetaD->LevelID=level;
- MetaD->setCollidable(true);
- g_engine->addEntity(MetaD);
- }
- void addBossHead()
- {
- DieWhenIKillYou=false;
- Sprite *BossH = new Sprite();
- BossH->setObjectType(BOSS_HEAD);
- BossH->setImage(N_TheBossH);
- BossH->setTotalFrames(5);
- BossH->setColumns(5);
- BossH->setSize(154,150);
- BossH->setFrameTimer(100);
- BossH->setPosition(boss->getX()+300,boss->getY()+150);
- BossH->LevelID=level;
- BossH->setVelocity(12-(5*SmanjiSamBrzinu),4-(2*SmanjiSamBrzinu));
- BossH->energy=1000;
- BossEnergy=1000;
- BossH->Stanje=1;
- g_engine->audio->Play("B_Start");
- g_engine->addEntity( BossH );
- }
- void updateSam(Sprite *paddle)//obnavljanje pozicije igraca
- {
- if (oruzje == 0) paddle->setCurrentFrame(0);
- if (oruzje == 3) paddle->setCurrentFrame(4);
- if (oruzje == 4) paddle->setCurrentFrame(6);
- if (oruzje == 5) paddle->setCurrentFrame(2);
- if (oruzje == 7) paddle->setCurrentFrame(3);
- if (oruzje == 8) paddle->setCurrentFrame(1);
- //sve puno minusa tako da bude kao normalni krug u lijevo
- paddle_angle = -(g_engine->math->AngleToTarget(META->getX() + META->getWidth()/2,META->getY() + META->getHeight()/2,cursor->getX() + cursor->getWidth()/2,cursor->getY() + cursor->getWidth()/2));
- //ROTIRAJ SE KAD GLEDAS LIJEVO
- if ( cursor->getX() + cursor->getWidth()/2 <= META->getX()+META->getWidth()/2)
- {
- if( paddle_angle <= 2.13 && paddle_angle >= 1.1 ) paddle_angle=2.13;
- if( paddle_angle >= -2.4 && paddle_angle <= -0.74 ) paddle_angle=-2.4;
- paddle->setRotation( g_engine->math->toRadians(-(180 + g_engine->math->toDegrees( paddle_angle ))) );
- }
- //ROTIRAJ SE KAD GLEDAS DESNO
- if (cursor->getX() + cursor->getWidth()/2 >META->getX()+META->getWidth()/2)
- {
- if( paddle_angle < 2.13 && paddle_angle > 1.1 ) paddle_angle=1.1;
- if( paddle_angle > -2.4 && paddle_angle < -0.74 ) paddle_angle=-0.74;
- paddle->setRotation( g_engine->math->toRadians(-(g_engine->math->toDegrees( paddle_angle ))) );
- }
- //OKRENI SE LIJEVO
- if ( cursor->getX() + cursor->getWidth()/2 <= paddle->getX()+paddle->getWidth()/2 && paddle->Gledam=='D')
- {
- Pupak->setImage(Sam_PupakL);
- paddle->Gledam='L';
- paddle->setImage(Sam_Lijevo);
- paddle->setTotalFrames(1);
- paddle->setColumns(6);
- paddle->setSize(324,104);
- paddle->setFrameTimer(100);
- }
- //OKRENI SE DESNO
- if (cursor->getX() + cursor->getWidth()/2 >paddle->getX()+paddle->getWidth()/2 && paddle->Gledam=='L')
- {
- Pupak->setImage(Sam_PupakD);
- paddle->Gledam='D';
- paddle->setImage(Sam_Desno);
- paddle->setTotalFrames(1);
- paddle->setColumns(6);
- paddle->setSize(324,104);
- paddle->setFrameTimer(100);
- }
- if (level == 3)
- {
- paddle->setColor(0xFFBBEEFF);
- noge->setColor(0xFFBBEEFF);
- Pupak->setColor(0xFFBBEEFF);
- }
- else if (level >= 6 && level < 8)
- {
- paddle->setColor(0xFFFFCCCC);
- noge->setColor(0xFFFFCCCC);
- Pupak->setColor(0xFFFFCCCC);
- }
- else
- {
- paddle->setColor(0xFFFFFFFF);
- noge->setColor(0xFFFFFFFF);
- Pupak->setColor(0xFFFFFFFF);
- }
- switch( paddle->Gledam )
- {
- case 'D':
- if (Kretanje >= 0)
- {
- if ( trcanjeD == false )
- {
- noge->setImage(NogeT_Desno);
- noge->setSize(98,78);
- noge->setFrameTimer(55);
- }
- else
- {
- noge->setImage(Noge_Desno);
- noge->setSize(65,80);
- noge->setFrameTimer(65);
- }
- noge->setColumns(5);
- }
- else
- {
- if ( trcanjeL == false )
- {
- noge->setImage(Noge_UnazadD);
- noge->setSize(75,77);
- noge->setFrameTimer(55);
- }
- else
- {
- noge->setImage(Noge_UnazadD);
- noge->setSize(75,77);
- noge->setFrameTimer(75);
- }
- noge->setColumns(5);
- }
- break;
- case 'L':
- if (Kretanje <= 0)
- {
- if ( trcanjeL == false )
- {
- noge->setImage(NogeT_Lijevo);
- noge->setSize(98,78);
- noge->setFrameTimer(55);
- }
- else
- {
- noge->setImage(Noge_Lijevo);
- noge->setSize(65,80);
- noge->setFrameTimer(65);
- }
- noge->setColumns(5);
- }
- else
- {
- if ( trcanjeL == false )
- {
- noge->setImage(Noge_UnazadL);
- noge->setSize(75,77);
- noge->setFrameTimer(55);
- }
- else
- {
- noge->setImage(Noge_UnazadL);
- noge->setSize(75,77);
- noge->setFrameTimer(75);
- }
- noge->setColumns(5);
- }
- break;
- }
- if ( paddle->Gledam =='D' && Kretanje==0 && KretanjeY==0)
- {
- noge->setImage(Noge_Desno);
- noge->setSize(65,80);
- noge->setCurrentFrame(0);
- noge->setX(META->getX() + paddleVelocity - paddle->getWidth()/2 + META->getWidth()/2 + 133);Pupak->setX(META->getX() - paddle->getWidth()/2 + META->getWidth()/2 + 153);
- }
- if ( paddle->Gledam =='L' && Kretanje==0 && KretanjeY==0)
- {
- noge->setImage(Noge_Lijevo);
- noge->setSize(65,80);
- noge->setCurrentFrame(0);
- noge->setX(META->getX() + paddleVelocity - paddle->getWidth()/2 + META->getWidth()/2 + 127);Pupak->setX(META->getX() - paddle->getWidth()/2 + META->getWidth()/2 + 156);
- }
- double desno = g_engine->getScreenWidth() - META->getWidth() - 10;
- double dno = g_engine->getScreenHeight() - META->getHeight() - 20;
- double gore;
- if (level != 9) gore = 320-META->getHeight();
- else gore = 500 - META->getHeight();
- if (level == 6) gore = 375-META->getHeight();
- if (level == 7) gore = 380-META->getHeight();
- if ( level == 8 )
- {
- paddleVelocity2=0;
- }
- if ( level == 8 && META->getX()>=600 && Tezina == NORMAL)
- {
- paddleVelocity2=10-SmanjiSamBrzinu*1;
- dno=1100;
- LOF=true;
- }
- if ( level == 8 && META->getX()>=650 && Tezina == SERIOUS && LOF2==true)
- {
- g_engine->audio->Play("Sam_LOF");
- LOF2=false;
- }
- if ( LOF==true && LOF2==true)
- {
- g_engine->audio->Play("Sam_Noooo");
- LOF=false;
- LOF2=false;
- }
- if ( level == 8 && META->getY()>1000)
- {
- gameState=STATE_LOSER;
- boss->energy=0;
- BossEnergy=0;
- cursor->setVisible(false);
- StartS->setImage(M_GameOver_T);
- StartS->setPosition(g_engine->getScreenWidth()/2-150, g_engine->getScreenHeight()/2-150);
- StartS->setColor(0xFFFFFFFF);
- }
- //px,py -> stanje na x i y osi, igrac ne smije prijeci rubove ekrana
- double px = META->getX() + paddleVelocity;
- double py = META->getY() + paddleVelocity2;
- //GRANICA LIJEVO
- if (px < 10)
- {
- paddleVelocity = 0.0;
- px = 10;
- }
- //GRANICA DESNO
- if ( (g_engine->findEntity(BOSS_HEAD) == NULL) && (ProciCu==true) && (g_engine->findEntity(N_BIK) == NULL) && (g_engine->findEntity(N_KAMIKAZA) == NULL) && (g_engine->findEntity(N_GNAARMALE) == NULL) && (g_engine->findEntity(N_GNAARFEMALE) == NULL) && (g_engine->findEntity(N_SETACCRVENI) == NULL) && (g_engine->findEntity(N_SETACPLAVI) == NULL) && (g_engine->findEntity(N_HARPIJA) == NULL ))
- Level_End=1;
- else
- Level_End=0;
- if (enemy_spawn_count > 0 || Level_End == 0)
- {
- if (px > desno)
- {
- paddleVelocity = 0.0;
- px = desno;
- }
- }
- //GRANICA GORE
- if (py < gore)
- {
- paddleVelocity2 = 0.0;
- py = gore; //koliko moze gore
- }
- //GRANICA DOLJE
- if (py > dno)
- {
- paddleVelocity2 = 0.0;
- py = dno;
- }
- //Pozicija igraca
- META->setX( px );
- META->setY( py );
- paddle->setX( px - paddle->getWidth()/2 + META->getWidth()/2 );
- paddle->setY( py );
- Pupak->setY(py+41);
- switch( paddle->Gledam )
- {
- case 'D':
- if (Kretanje >= 0)
- {
- if ( trcanjeD == false )
- {
- noge->setX(px - paddle->getWidth()/2 + META->getWidth()/2 + 111);Pupak->setX(px - paddle->getWidth()/2 + META->getWidth()/2 + 152);
- }
- else
- {
- noge->setX(px - paddle->getWidth()/2 + META->getWidth()/2 + 133);Pupak->setX(px - paddle->getWidth()/2 + META->getWidth()/2 + 153);
- }
- }
- else
- {
- if ( trcanjeL == false )
- {
- noge->setX(px - paddle->getWidth()/2 + META->getWidth()/2 + 135);Pupak->setX(px - paddle->getWidth()/2 + META->getWidth()/2 + 154);
- }
- else
- {
- noge->setX(px - paddle->getWidth()/2 + META->getWidth()/2 + 135);Pupak->setX(px - paddle->getWidth()/2 + META->getWidth()/2 + 154);
- }
- }
- break;
- case 'L':
- if (Kretanje <= 0)
- {
- if ( trcanjeL == false )
- {
- noge->setX(px - paddle->getWidth()/2 + META->getWidth()/2 + 113);Pupak->setX(px - paddle->getWidth()/2 + META->getWidth()/2 + 154);
- }
- else
- {
- noge->setX(px - paddle->getWidth()/2 + META->getWidth()/2 + 127);Pupak->setX(px - paddle->getWidth()/2 + META->getWidth()/2 + 156);
- }
- }
- else
- {
- if ( trcanjeL == false )
- {
- noge->setX(px - paddle->getWidth()/2 + META->getWidth()/2 + 111);Pupak->setX(px - paddle->getWidth()/2 + META->getWidth()/2 + 154);
- }
- else
- {
- noge->setX(px - paddle->getWidth()/2 + META->getWidth()/2 + 111);Pupak->setX(px - paddle->getWidth()/2 + META->getWidth()/2 + 154);
- }
- }
- break;
- }
- if ( paddle->Gledam =='D' && Kretanje==0 && KretanjeY==0 )
- {
- noge->setImage(Noge_Desno);
- noge->setSize(65,80);
- noge->setCurrentFrame(0);
- noge->setX(META->getX() + paddleVelocity - paddle->getWidth()/2 + META->getWidth()/2 + 133);Pupak->setX(META->getX() - paddle->getWidth()/2 + META->getWidth()/2 + 153);
- }
- if ( paddle->Gledam =='L' && Kretanje==0 && KretanjeY==0 )
- {
- noge->setImage(Noge_Lijevo);
- noge->setSize(65,80);
- noge->setCurrentFrame(0);
- noge->setX(META->getX() + paddleVelocity - paddle->getWidth()/2 + META->getWidth()/2 + 127);Pupak->setX(META->getX() - paddle->getWidth()/2 + META->getWidth()/2 + 156);
- }
- noge->setY(py+49);
- /*ostringstream ostr;
- ostr << "Paddle pos [" << fixed << setprecision(0) << px << "] vel [" << setprecision(2) << paddleVelocity << "]";
- console->print(ostr.str(),27);*/
- }
- void IGES()
- {
- switch ( level )
- {
- //IGES0
- case 0:
- if (g_engine->audio->IsPlaying("Music_Level000") == false) g_engine->audio->Play("Music_Level000");
- break;
- //IGES1
- case 1:
- if (g_engine->audio->IsPlaying("Music_Level001") == false) g_engine->audio->Play("Music_Level001");
- if (g_engine->audio->IsPlaying("BossFly") == true ) g_engine->audio->Stop("BossFly");
- if (Tezina==NORMAL)
- {
- if ( enemy_spawn_count > 10 && N_Timer1.stopwatch(1850))
- {
- addGnaarMale();
- enemy_spawn_count--;
- if (enemy_spawn_count > 10)
- {
- addGnaarMale();
- enemy_spawn_count--;
- g_engine->audio->Play("gnaar_sight");
- }
- g_engine->audio->Play("gnaar_sight");
- }
- if (enemy_spawn_count <= 10 && enemy_spawn_count > 0 && N_Timer1.stopwatch(1850))
- {
- addKamikaza('L');
- enemy_spawn_count--;
- if (enemy_spawn_count > 0)
- {
- addKamikaza('L');
- enemy_spawn_count--;
- }
- }
- }
- else
- {
- if ( enemy_spawn_count > 10 && N_Timer1.stopwatch(2500))
- {
- addGnaarMale();
- enemy_spawn_count--;
- if (enemy_spawn_count > 10)
- {
- addGnaarMale();
- enemy_spawn_count--;
- }
- if (enemy_spawn_count > 10)
- {
- addKamikaza('D');
- enemy_spawn_count--;
- }
- g_engine->audio->Play("gnaar_sight");
- }
- if (enemy_spawn_count <= 10 && enemy_spawn_count > 0 && N_Timer1.stopwatch(2000))
- {
- addKamikaza('L');
- enemy_spawn_count--;
- if (enemy_spawn_count > 0)
- {
- addKamikaza('D');
- enemy_spawn_count--;
- }
- }
- }
- if (enemy_spawn_count < 0) enemy_spawn_count=0;
- break;
- //IGES2
- case 2:
- if (g_engine->audio->IsPlaying("Music_Level001") == false) g_engine->audio->Play("Music_Level001");
- if (enemy_spawn_count > 0 && enemy_spawn_count < 10 && (g_engine->findEntity(N_GNAARMALE)== NULL) && N_Timer1.stopwatch(3000+TezinaRazlika*250))
- {
- if ( rand()%2==0 )addHarpija('D');
- else addHarpija('L');
- enemy_spawn_count--;
- g_engine->audio->Play("N_Harpija_Sight");
- }
- if (enemy_spawn_count > 0 && N_Timer2.stopwatch(6000))
- {
- addSetacPlavi('D');
- enemy_spawn_count--;
- g_engine->audio->Play("setac_plavi_sight");
- }
- if (enemy_spawn_count > 10 && N_Timer3.stopwatch(2750))
- {
- if (Tezina==SERIOUS)
- {
- if (rand()%2) addGnaarMale();
- else addGnaarFemale();
- enemy_spawn_count--;
- g_engine->audio->Play("gnaar_sight");
- }
- else
- {
- addGnaarMale();
- enemy_spawn_count--;
- g_engine->audio->Play("gnaar_sight");
- }
- }
- if (enemy_spawn_count < 0) enemy_spawn_count=0;
- break;
- //IGES3
- case 3:
- if (g_engine->audio->IsPlaying("Music_Level003") == false) g_engine->audio->Play("Music_Level003");
- if (Tezina==SERIOUS)
- {
- if ( (enemy_spawn_count > 50 && enemy_spawn_count < 80) && QWERTZ==0)
- {
- addSetacCrveni('D');
- enemy_spawn_count--;
- addSetacCrveni('D');
- enemy_spawn_count--;
- addSetacPlavi('D');
- enemy_spawn_count--;
- addSetacPlavi('D');
- enemy_spawn_count--;
- g_engine->audio->Play("setac_plavi_sight");
- QWERTZ=QWERTZ+1;
- }
- }
- else
- {
- if ( (enemy_spawn_count > 50 && enemy_spawn_count < 80) && QWERTZ==0)
- {
- addSetacPlavi('D');
- enemy_spawn_count--;
- addSetacPlavi('D');
- enemy_spawn_count--;
- addSetacPlavi('D');
- enemy_spawn_count--;
- g_engine->audio->Play("setac_plavi_sight");
- QWERTZ=QWERTZ+1;
- }
- }
- if ( LudePtice==true && enemy_spawn_count > 0 && N_Timer2.stopwatch(1300))
- {
- addGnaarMale();
- enemy_spawn_count--;
- if (enemy_spawn_count > 0)
- {
- addGnaarMale();
- enemy_spawn_count--;
- }
- g_engine->audio->Play("gnaar_sight");
- }
- if (LudePtice==true && enemy_spawn_count > 0 && N_Timer3.stopwatch(1300))
- {
- addKamikaza('D');
- enemy_spawn_count--;
- if (enemy_spawn_count > 0)
- {
- addKamikaza('D');
- enemy_spawn_count--;
- }
- }
- if (LudePtice==true && enemy_spawn_count > 0 && N_Timer4.stopwatch(1200))
- {
- addKamikaza('D');
- enemy_spawn_count--;
- if (enemy_spawn_count > 0)
- {
- addKamikaza('D');
- enemy_spawn_count--;
- }
- }
- if (Tezina==SERIOUS)
- {
- if ( LudePtice==true && enemy_spawn_count > 0 && N_Timer5.stopwatch(2200))
- {
- addGnaarMale();
- enemy_spawn_count--;
- if (enemy_spawn_count > 0)
- {
- addGnaarFemale();
- enemy_spawn_count--;
- }
- g_engine->audio->Play("gnaar_sight");
- }
- }
- else
- {
- if ( LudePtice==true && enemy_spawn_count > 0 && N_Timer5.stopwatch(1300))
- {
- addGnaarMale();
- enemy_spawn_count--;
- if (enemy_spawn_count > 0)
- {
- addGnaarMale();
- enemy_spawn_count--;
- }
- g_engine->audio->Play("gnaar_sight");
- }
- }
- if (enemy_spawn_count < 0) enemy_spawn_count=0;
- break;
- //IGES4
- case 4:
- if (g_engine->audio->IsPlaying("Music_Level004") == false) g_engine->audio->Play("Music_Level004");
- if (QWERTZ==0)
- {
- addSetacPlavi('D');
- enemy_spawn_count--;
- addSetacPlavi('D');
- enemy_spawn_count--;
- addSetacPlavi('D');
- enemy_spawn_count--;
- addSetacPlavi('D');
- enemy_spawn_count--;
- addSetacPlavi('D');
- enemy_spawn_count--;
- g_engine->audio->Play("setac_plavi_sight");
- QWERTZ=1;
- }
- if ((g_engine->findEntity(N_SETACCRVENI)== NULL) && (g_engine->findEntity(N_SETACPLAVI)== NULL) && (g_engine->findEntity(N_BIK)== NULL) && (g_engine->findEntity(N_GNAARMALE)== NULL) && (QWERTZ==1 || QWERTZ==2))
- {
- addBik();
- enemy_spawn_count--;
- addBik();
- enemy_spawn_count--;
- addBik();
- enemy_spawn_count--;
- addGnaarMale();
- enemy_spawn_count--;
- addGnaarMale();
- enemy_spawn_count--;
- addSetacCrveni('D');
- enemy_spawn_count--;
- addSetacCrveni('D');
- enemy_spawn_count--;
- g_engine->audio->Play("BikSight");
- g_engine->audio->Play("gnaar_sight");
- g_engine->audio->Play("setac_plavi_sight");
- QWERTZ=QWERTZ+1;
- }
- if ( (g_engine->findEntity(N_SETACCRVENI)== NULL) && (g_engine->findEntity(N_BIK)== NULL) && (g_engine->findEntity(N_GNAARMALE)== NULL) && (g_engine->findEntity(N_KAMIKAZA)== NULL) && QWERTZ==3 )
- {
- addItem(25,700,550,false,0);
- addItem(25,780,550,false,0);
- QWERTZ=QWERTZ+1;
- }
- if ( (g_engine->findEntity(N_SETACCRVENI)== NULL) && (g_engine->findEntity(N_BIK)== NULL) && (g_engine->findEntity(N_GNAARMALE)== NULL) && QWERTZ>=5 && QWERTZ<=9 && N_Timer1.stopwatch(1450+TezinaRazlika*150) && enemy_spawn_count > 0 )
- {
- addKamikaza('D');
- enemy_spawn_count--;
- if (enemy_spawn_count > 0)
- {
- addKamikaza('L');
- enemy_spawn_count--;
- }
- if (enemy_spawn_count > 0)
- {
- addKamikaza('D');
- enemy_spawn_count--;
- }
- if (enemy_spawn_count > 0)
- {
- addKamikaza('L');
- enemy_spawn_count--;
- }
- QWERTZ=QWERTZ+1;
- }
- if ( (g_engine->findEntity(N_SETACCRVENI)== NULL) && (g_engine->findEntity(N_BIK)== NULL) && (g_engine->findEntity(N_GNAARMALE)== NULL) && (g_engine->findEntity(N_KAMIKAZA)== NULL) && QWERTZ>=10 && N_Timer1.stopwatch(1800+TezinaRazlika*400) && enemy_spawn_count > 0 )
- {
- addHarpija('D');
- enemy_spawn_count--;
- g_engine->audio->Play("N_Harpija_Sight");
- if (enemy_spawn_count > 0)
- {
- addHarpija('L');
- enemy_spawn_count--;
- }
- if (enemy_spawn_count > 0)
- {
- addHarpija('D');
- enemy_spawn_count--;
- }
- if (Tezina==SERIOUS)
- {
- if (rand()%2==0) addKamikaza('D');
- else addKamikaza('L');
- enemy_spawn_count--;
- }
- else
- {
- if (enemy_spawn_count > 0)
- {
- addHarpija('L');
- enemy_spawn_count--;
- }
- }
- QWERTZ=QWERTZ+1;
- }
- if (enemy_spawn_count < 0) enemy_spawn_count=0;
- break;
- //IGES5
- case 5:
- if (QWERTZ==1)
- {
- if (g_engine->audio->IsPlaying("Music_Level005") == false) g_engine->audio->Play("Music_Level005");
- }
- if (QWERTZ==1)
- {
- if (Tezina==SERIOUS)
- {
- if (enemy_spawn_count > 0 && N_Timer2.stopwatch(7500))
- {
- if (rand()%2==0)
- {
- addSetacCrveni('D');
- enemy_spawn_count--;
- addSetacPlavi('L');
- enemy_spawn_count--;
- addSetacPlavi('L');
- enemy_spawn_count--;
- g_engine->audio->Play("setac_plavi_sight");
- }
- else
- {
- addSetacCrveni('L');
- enemy_spawn_count--;
- addSetacPlavi('L');
- enemy_spawn_count--;
- g_engine->audio->Play("setac_plavi_sight");
- }
- }
- if (enemy_spawn_count > 0 && N_Timer3.stopwatch(1700))
- {
- addSetacPlavi('D');
- enemy_spawn_count--;
- g_engine->audio->Play("setac_plavi_sight");
- }
- }
- if (Tezina==NORMAL)
- {
- if (enemy_spawn_count > 0 && N_Timer2.stopwatch(8000))
- {
- addSetacCrveni('D');
- enemy_spawn_count--;
- g_engine->audio->Play("setac_plavi_sight");
- }
- if (enemy_spawn_count > 0 && N_Timer3.stopwatch(1400))
- {
- addSetacPlavi('D');
- enemy_spawn_count--;
- g_engine->audio->Play("setac_plavi_sight");
- }
- }
- }
- if (enemy_spawn_count < 0) enemy_spawn_count=0;
- break;
- //IGES6
- case 6:
- if (g_engine->audio->IsPlaying("Music_Level006") == false) g_engine->audio->Play("Music_Level006");
- if ( LudePtice==true && BrPtica > 0 && N_Timer1.stopwatch(2200))
- {
- addHarpija('D');
- BrPtica--;
- if (BrPtica > 0)
- {
- addHarpija('L');
- BrPtica--;
- }
- if (BrPtica > 0)
- {
- addHarpija('D');
- BrPtica--;
- }
- g_engine->audio->Play("N_Harpija_Sight");
- }
- if (enemy_spawn_count > 0 && N_Timer2.stopwatch(2300+TezinaRazlika*200))
- {
- addBik();
- enemy_spawn_count--;
- g_engine->audio->Play("BikSight");
- }
- if (enemy_spawn_count > 0 && N_Timer3.stopwatch(2900+TezinaRazlika*400))
- {
- addBik();
- enemy_spawn_count--;
- g_engine->audio->Play("BikSight");
- }
- if (Tezina==SERIOUS)
- {
- if (enemy_spawn_count > 0 && N_Timer4.stopwatch(5400))
- {
- addSetacPlavi('D');
- enemy_spawn_count--;
- g_engine->audio->Play("setac_plavi_sight");
- }
- if (enemy_spawn_count > 0 && N_Timer5.stopwatch(5100))
- {
- addSetacPlavi('D');
- enemy_spawn_count--;
- g_engine->audio->Play("setac_plavi_sight");
- }
- }
- else
- {
- if (enemy_spawn_count > 0 && N_Timer4.stopwatch(3800))
- {
- addKamikaza('D');
- enemy_spawn_count--;
- }
- if (enemy_spawn_count > 0 && N_Timer5.stopwatch(2900))
- {
- addKamikaza('D');
- enemy_spawn_count--;
- }
- }
- if (enemy_spawn_count < 0) enemy_spawn_count=0;
- break;
- //IGES7
- case 7:
- if (g_engine->audio->IsPlaying("Music_Level007") == false) g_engine->audio->Play("Music_Level007");
- if (META->getX() >= 200) QWERTZ=1;
- if (QWERTZ==1)
- {
- if (Tezina==SERIOUS)
- {
- if (enemy_spawn_count > 0 && N_Timer1.stopwatch(6500))
- {
- addSetacPlavi('D');
- enemy_spawn_count--;
- g_engine->audio->Play("setac_plavi_sight");
- }
- }
- else
- {
- if (enemy_spawn_count > 0 && N_Timer1.stopwatch(8000))
- {
- addSetacPlavi('D');
- enemy_spawn_count--;
- g_engine->audio->Play("setac_plavi_sight");
- }
- }
- if (enemy_spawn_count > 0 && N_Timer2.stopwatch(10000))
- {
- addSetacCrveni('D');
- enemy_spawn_count--;
- g_engine->audio->Play("setac_plavi_sight");
- }
- if ( enemy_spawn_count > 0 && N_Timer3.stopwatch(1600))
- {
- addGnaarFemale();
- enemy_spawn_count--;
- if (enemy_spawn_count > 0)
- {
- addGnaarMale();
- enemy_spawn_count--;
- }
- g_engine->audio->Play("gnaar_sight");
- }
- if (enemy_spawn_count > 0 && N_Timer4.stopwatch(1500))
- {
- addKamikaza('D');
- enemy_spawn_count--;
- if (enemy_spawn_count > 0)
- {
- addKamikaza('D');
- enemy_spawn_count--;
- }
- }
- if (enemy_spawn_count > 0 && N_Timer5.stopwatch(4000))
- {
- addBik();
- enemy_spawn_count--;
- g_engine->audio->Play("BikSight");
- }
- }
- if (enemy_spawn_count < 0) enemy_spawn_count=0;
- break;
- //IGES8
- case 8:
- if (g_engine->audio->IsPlaying("Music_Level008") == false) g_engine->audio->Play("Music_Level008");
- if (enemy_spawn_count < 0) enemy_spawn_count=0;
- break;
- //IGES9
- case 9:
- if (g_engine->audio->IsPlaying("Music_Level009") == false) g_engine->audio->Play("Music_Level009");
- if (enemy_spawn_count < 0) enemy_spawn_count=0;
- break;
- }
- }
- void ProvjeriFPS()
- {
- if ( g_engine->getFrameRate_real() > 64 )
- {
- SmanjiLifeTime=SmanjiLifeTime_U;
- }
- else
- {
- SmanjiLifeTime=0;
- }
- }
- void PrikaziKonzolu()
- {
- //print program title
- ostringstream title;
- title << "GAME TITLE [" << "Serious Sam 2D The Last Game Hero " << "]";
- verdana10->Print(10,10,title.str(),0xFFFFFFFF);
- ostringstream version;
- version << "VERSION [" << "1.2" << "]";
- verdana10->Print(10,30,version.str(),0xFFFFFFFF);
- ostringstream author;
- author << "AUTHOR [" << "AntonioR Software" << "]";
- verdana10->Print(10,50,author.str(),0xFFFFFFFF);
- ostringstream engine;
- engine << "ENGINE [" << "Advanced2D Engine" << "]";
- verdana10->Print(10,70,engine.str(),0xFFFFFFFF);
- //print screen resolution
- ostringstream screen;
- screen << "SCREEN RESOLUTION [" << g_engine->getScreenWidth() << "," << g_engine->getScreenHeight() << "] Depth [" << g_engine->getColorDepth() << "]";
- verdana10->Print(10,100,screen.str(),0xFFFFFFFF);
- ostringstream color;
- color << "COLOR DEPTH [" << g_engine->getColorDepth() << "]";
- verdana10->Print(10,120,color.str(),0xFFFFFFFF);
- //print core rate
- ostringstream core;
- core << "CORE UPDATE [" << fixed << setprecision(4) << 1000.0 / g_engine->getFrameRate_core() << "]";
- verdana10->Print(10,140,core.str(),0xFFFFFFFF);
- //print screen fps
- ostringstream fps;
- fps << "SCREEN REFRESH [" << fixed << setprecision(2) << g_engine->getFrameRate_real() << "]";
- verdana10->Print(10,160,fps.str(),0xFFFFFFFF);
- //print entity count
- ostringstream entities;
- entities << "ENTITY COUNT [" << g_engine->getEntityCount() << "]";
- verdana10->Print(10,180,entities.str(),0xFFFFFFFF);
- }
- void game_update()
- {
- ProvjeriFPS();
- SkyBox1_S->setVelocity(-0.2+SmanjiSamBrzinu*0.1,0);
- SkyBox2_S->setVelocity(-0.2+SmanjiSamBrzinu*0.1,0);
- if (SkyBox1_S->getX() <= -SCREENW ) SkyBox1_S->setPosition(SCREENW,0);
- if (SkyBox2_S->getX() <= -SCREENW ) SkyBox2_S->setPosition(SCREENW,0);
- switch (gameState)
- {
- case STATE_ANTONIOR:
- case STATE_CROTEAM:
- case STATE_SS2DTLGH:
- if ( g_engine->audio->IsPlaying("Music_AntonioR")==false ) g_engine->audio->Play("Music_AntonioR");
- break;
- case STATE_INTRO:
- if ( g_engine->audio->IsPlaying("Music_SpaceIntro")==false ) g_engine->audio->Play("Music_SpaceIntro");
- break;
- case STATE_PLAY:
- if (g_engine->findEntity(N_KAMIKAZA) == NULL) g_engine->audio->Stop("N_Kamikaza");
- if (g_engine->findEntity(N_BIK) == NULL) g_engine->audio->Stop("N_BikRun");
- if ((g_engine->findEntity(N_BIK) != NULL) && (g_engine->audio->IsPlaying("N_BikRun") == false )) g_engine->audio->Play("N_BikRun");
- if ((g_engine->findEntity(N_KAMIKAZA) != NULL) && (g_engine->audio->IsPlaying("N_Kamikaza") == false )) g_engine->audio->Play("N_Kamikaza");
- if ((g_engine->findEntity(BOSS_VATRA) == NULL) && (g_engine->audio->IsPlaying("B_B1") == true )) g_engine->audio->Stop("B_B1");
- if ((g_engine->findEntity(BOSS_VATRA) == NULL) && (g_engine->findEntity(BOSS) != NULL) && (g_engine->audio->IsPlaying("BossFly") == false ) && (BossEnergy > 0 )) g_engine->audio->Play("BossFly");
- if (BossEnergy <= 0 ) g_engine->audio->Stop("BossFly");
- noge->animate();
- IGES();
- if (Sam_energy <= 0)
- {
- if (g_engine->audio->IsPlaying("N_Kamikaza")) g_engine->audio->Stop("N_Kamikaza");
- if (g_engine->audio->IsPlaying("N_BikRun")) g_engine->audio->Stop("N_BikRun");
- g_engine->audio->Play("Sam_Smrt");
- if (level==9) g_engine->audio->Play("B_Start");
- if (paddle->Gledam=='D') addSamMrtav(META->getX()-100,META->getY()+80,'D');
- else addSamMrtav(META->getX(),META->getY()+80,'L');
- gameState=STATE_LOSER;
- cursor->setVisible(false);
- StartS->setImage(M_GameOver_T);
- StartS->setPosition(g_engine->getScreenWidth()/2-150, g_engine->getScreenHeight()/2-150);
- StartS->setColor(0xFFFFFFFF);
- }
- //print status info
- /*if (console->isShowing())
- {
- //print program title
- ostringstream title;
- title << "Game title [" << g_engine->getAppTitle() << "]";
- console->print(title.str(), 0);
- //print screen resolution
- ostringstream screen;
- screen << "Screen res [" << g_engine->getScreenWidth() << "," << g_engine->getScreenHeight() << "] depth [" << g_engine->getColorDepth() << "]";
- console->print(screen.str(), 2);
- //print engine version
- console->print(g_engine->getVersionText(), 4);
- //print core rate
- ostringstream core;
- core << "Core update [" << fixed << setprecision(4) << 1000.0 / g_engine->getFrameRate_core() << "]";
- console->print(core.str(), 6);
- //print screen fps
- ostringstream fps;
- fps << "Screen refresh [" << fixed << setprecision(2) << g_engine->getFrameRate_real() << "]";
- console->print(fps.str(), 8);
- //print entity count
- ostringstream entities;
- entities << "Entitiy count [" << g_engine->getEntityCount() << "]";
- console->print(entities.str(), 10);
- }*/
- break;
- case STATE_RESTART_L:
- case STATE_GAMEOVER:
- g_engine->audio->StopAll();
- SkyBox1_S->setVelocity(0,0);
- SkyBox2_S->setVelocity(0,0);
- break;
- case STATE_LOSER:
- if ((g_engine->findEntity(BOSS_VATRA) == NULL) && (g_engine->audio->IsPlaying("B_B1") == true )) g_engine->audio->Stop("B_B1");
- if ((g_engine->findEntity(BOSS_VATRA) == NULL) && (g_engine->findEntity(BOSS) != NULL) && (g_engine->audio->IsPlaying("BossFly") == false ) && (BossEnergy > 0 )) g_engine->audio->Play("BossFly");
- if (BossEnergy <= 0 ) g_engine->audio->Stop("BossFly");
- break;
- }
- }
- void game_render2d()
- {
- ostringstream loser,loser2,Boss_Energy,kut,pauza,sc,lvl,pow,energy,enemy_c,MunMG,MunL,MunRL,MunT,Varanje;
- static Timer timer;
- static D3DCOLOR color = 0xFFFFF000;
- static bool toggle = false;
- switch (gameState)
- {
- case STATE_RESTART_L:
- PanelQuit->draw();
- loser << "Loading complete";
- pauza << "PRESS ANY KEY TO CONTINUE ... ";
- times24->Print(350,SCREENH/2-145,loser.str(), 0xFFFF0000);
- times24->Print(400,SCREENH/2-50,pauza.str(), 0xFFFF0000);
- break;
- case STATE_PLAY:
- Pupak->draw();
- noge->draw();
- paddle->draw();
- if (ShowCollisionBox == 1) META->draw();
- HUD->draw();
- if (level == 8)
- {
- S_LOF->draw();
- S_LOF->setVisible(true);
- }
- else
- {
- S_LOF->setVisible(false);
- }
- cursor->draw();
- /*kut << paddle_angle << " "<< d<<" "<< polx << " "<< poly <<" " <<paddle->Gledam;
- times24->Print(600,100,kut.str(), 0xFFFF0000);*/
- //print score #,energy #,enemy_count #
- if ( level == 9 )
- {
- if ( BossEnergy < 0 ) BossEnergy=0;
- Boss_Energy << " BESHTIYA " << BossEnergy;
- times24->Print(SCREENW-260,20,Boss_Energy.str(), 0xFFFF0000);
- }
- Varanje << "CHEATER";
- if (Cheater==true) times24->Print(1025,SCREENH-42,Varanje.str(), 0xFFFF0000);
- sc << "SCORE " << score;
- times24->Print(20,20,sc.str(), color);
- energy <<Sam_energy;
- times24->Print(55,SCREENH-42,energy.str(), color);
- MunMG << MunicijaMG;
- times24->Print(380,SCREENH-42,MunMG.str(), color);
- MunRL << MunicijaRL;
- times24->Print(480,SCREENH-42,MunRL.str(), color);
- MunL << MunicijaL;
- times24->Print(865,SCREENH-42,MunL.str(), color);
- MunT << MunicijaT;
- times24->Print(965,SCREENH-42,MunT.str(), color);
- enemy_c << enemy_spawn_count;
- times24->Print(1220,SCREENH-42,enemy_c.str(), color);
- break;
- case STATE_END:
- if (Cheater==true)
- {
- Varanje << "THERE IS NO GLORY IN CHEATING !";
- times24->Print(20,SCREENH-42,Varanje.str(), 0xFFFF0000);
- }
- else
- {
- Varanje << "CONGRATULATIONS !";
- times24->Print(20,SCREENH-42,Varanje.str(), 0xFFFF0000);
- }
- break;
- case STATE_MENU:
- S_LOF->setVisible(false);
- StartS->draw();
- QuitS->draw();
- LoadS->draw();
- SaveS->draw();
- if ((cursor->getX() > StartS->getX()) && (cursor->getX() < StartS->getX()+StartS->getWidth()) && (cursor->getY() > StartS->getY()) && (cursor->getY() < StartS->getY()+StartS->getHeight()))
- {
- if ( menustart == true )
- {
- g_engine->audio->Play("Select");
- }
- menustart = false;
- StartS->setColor(0x55FFFFFF);
- }
- else {
- StartS->setColor(0xFFFFFFFF);
- menustart = true;
- }
- if ((cursor->getX() > QuitS->getX()) && (cursor->getX() < QuitS->getX()+QuitS->getWidth()) && (cursor->getY() > QuitS->getY()) && (cursor->getY() < QuitS->getY()+QuitS->getHeight()))
- {
- if ( menuquit == true )
- {
- g_engine->audio->Play("Select");
- }
- menuquit = false;
- QuitS->setColor(0x55FFFFFF);
- }
- else {
- QuitS->setColor(0xFFFFFFFF);
- menuquit = true;
- }
- if ((cursor->getX() > LoadS->getX()) && (cursor->getX() < LoadS->getX()+LoadS->getWidth()) && (cursor->getY() > LoadS->getY()) && (cursor->getY() < LoadS->getY()+LoadS->getHeight()))
- {
- if ( menuload == true )
- {
- g_engine->audio->Play("Select");
- }
- if ( RL_Level != 0 )
- {
- menuload = false;
- LoadS->setColor(0x55FFFFFF);
- LoadS->setSize(150,50);
- }
- else
- {
- menuload = false;
- LoadS->setImage(M_NSG_T);
- LoadS->setSize(150,50);
- }
- }
- else
- {
- if ( RL_Level != 0 )
- {
- LoadS->setColor(0xFFFFFFFF);
- LoadS->setSize(150,50);
- menuload = true;
- }
- else
- {
- menuload = true;
- LoadS->setImage(M_Load_T);
- LoadS->setSize(150,50);
- }
- }
- if ((cursor->getX() > SaveS->getX()) && (cursor->getX() < SaveS->getX()+SaveS->getWidth()) && (cursor->getY() > SaveS->getY()) && (cursor->getY() < SaveS->getY()+SaveS->getHeight()))
- {
- if ( menusave == true )
- {
- g_engine->audio->Play("Select");
- }
- menusave = false;
- SaveS->setImage(M_ASO_T);
- SaveS->setSize(150,50);
- }
- else
- {
- SaveS->setImage(M_Save_T);
- SaveS->setSize(150,50);
- menusave = true;
- }
- //times24->Print(SCREENW-100,5,"DEMO",0xFFFFF000);
- times24->Print(SCREENW/2-190 ,SCREENH-45,"antonior.software@gmail.com",0xFFFFF000);
- Glupost->draw();
- cursor->draw();
- break;
- //TEZINA
- case STATE_TEZINA:
- StartS->draw();
- LoadS->draw();
- SaveS->draw();
- //NORMAL
- if ((cursor->getX() > LoadS->getX()) && (cursor->getX() < LoadS->getX()+LoadS->getWidth()) && (cursor->getY() > LoadS->getY()) && (cursor->getY() < LoadS->getY()+LoadS->getHeight()))
- {
- if ( menunormal == true )
- {
- g_engine->audio->Play("Select");
- }
- menunormal = false;
- LoadS->setColor(0x55FFFFFF);
- }
- else
- {
- LoadS->setColor(0xFFFFFFFF);
- menunormal = true;
- }
- //SERIOUS
- if ((cursor->getX() > SaveS->getX()) && (cursor->getX() < SaveS->getX()+SaveS->getWidth()) && (cursor->getY() > SaveS->getY()) && (cursor->getY() < SaveS->getY()+SaveS->getHeight()))
- {
- if ( menuserious == true )
- {
- g_engine->audio->Play("Select");
- }
- menuserious = false;
- SaveS->setColor(0x55FFFFFF);
- }
- else
- {
- SaveS->setColor(0xFFFFFFFF);
- menuserious = true;
- }//TEZINA
- //times24->Print(SCREENW-100,5,"DEMO",0xFFFFF000);
- times24->Print(SCREENW/2-190 ,SCREENH-45,"antonior.software@gmail.com",0xFFFFF000);
- Glupost->draw();
- cursor->draw();
- break;
- case STATE_GAMEOVER:
- StartS->draw();
- PanelQuit->draw();
- loser << "ENTER - RESTART LEVEL";
- loser2 << "ESCAPE - MAIN MENU";
- times24->Print(452,SCREENH/2-25,loser.str(), 0xFFFF0000);
- times24->Print(470,SCREENH/2+25,loser2.str(), 0xFFFF0000);
- StartS->draw();
- break;
- case STATE_LOSER:
- if ( level == 9 && BossEnergy > 0 )
- {
- if ( BossEnergy < 0 ) BossEnergy=0;
- Boss_Energy << " BESHTIYA " << BossEnergy;
- times24->Print(SCREENW-260,20,Boss_Energy.str(), 0xFFFF0000);
- }
- HUD->draw();
- energy << 0;
- times24->Print(55,SCREENH-42,energy.str(), color);
- MunMG << MunicijaMG;
- times24->Print(380,SCREENH-42,MunMG.str(), color);
- MunRL << MunicijaRL;
- times24->Print(480,SCREENH-42,MunRL.str(), color);
- MunL << MunicijaL;
- times24->Print(865,SCREENH-42,MunL.str(), color);
- MunT << MunicijaT;
- times24->Print(965,SCREENH-42,MunT.str(), color);
- enemy_c << enemy_spawn_count;
- times24->Print(1220,SCREENH-42,enemy_c.str(), color);
- //game over
- StartS->draw();
- //print score #,energy #,enemy_count #
- sc << "SCORE " << score;
- times24->Print(20,20,sc.str(), color);
- PanelQuit->draw();
- loser << "ENTER - RESTART LEVEL";
- loser2 << "ESCAPE - MAIN MENU";
- times24->Print(452,SCREENH/2-25,loser.str(), 0xFFFF0000);
- times24->Print(470,SCREENH/2+25,loser2.str(), 0xFFFF0000);
- StartS->draw();
- break;
- case STATE_EXIT:
- LoadS->draw();
- SaveS->draw();
- StartS->draw();
- if ((cursor->getX() > LoadS->getX()) && (cursor->getX() < LoadS->getX()+LoadS->getWidth()) && (cursor->getY() > LoadS->getY()) && (cursor->getY() < LoadS->getY()+LoadS->getHeight()))
- {
- if ( menuload == true )
- {
- g_engine->audio->Play("Select");
- }
- menuload = false;
- LoadS->setColor(0x55FFFFFF);
- }
- else
- {
- LoadS->setColor(0xFFFFFFFF);
- menuload = true;
- }
- if ((cursor->getX() > SaveS->getX()) && (cursor->getX() < SaveS->getX()+SaveS->getWidth()) && (cursor->getY() > SaveS->getY()) && (cursor->getY() < SaveS->getY()+SaveS->getHeight()))
- {
- if ( menusave == true )
- {
- g_engine->audio->Play("Select");
- }
- menusave = false;
- SaveS->setColor(0x55FFFFFF);
- }
- else
- {
- SaveS->setColor(0xFFFFFFFF);
- menusave = true;
- }
- //times24->Print(SCREENW-100,5,"DEMO",0xFFFFF000);
- times24->Print(SCREENW/2-190 ,SCREENH-45,"antonior.software@gmail.com",0xFFFFF000);
- Glupost->draw();
- cursor->draw();
- break;
- }
- if (konzola)
- {
- Konzola->setVisible(true);
- Konzola->draw();
- PrikaziKonzolu();
- }
- else
- {
- Konzola->setVisible(false);
- }
- //console->draw();
- }
- void UpdateBoss()
- {
- if ( boss->energy > 0 ) BossEnergy = boss->energy;
- if ( boss->energy <= 0 && MrtavBoss==false)
- {
- VatraKraj=false;
- boss->Stanje2=2;
- score=score+3000;
- MrtavBoss=true;
- }
- if ( boss->Stanje2 == 2 )
- {
- BossEnergy = boss->energy;
- boss->setRotation(0.3);
- boss->setVelocity(0,-1);
- g_engine->audio->Play("B_Death");
- boss->Stanje2=3;
- }
- if ( boss->Stanje2 == 3)
- {
- if (boss->getY() >= -90)
- {
- if (N_Timer1.stopwatch(550)) addExplosionK(boss->getX()-50+(rand()%800),boss->getY()+(rand()%250)-120);
- }
- else
- {
- boss->Stanje2=4;
- MetaG->setCollidable(false);
- MetaD->setCollidable(false);
- boss->setVisible(false);
- addExplosionK(boss->getX()-50+(rand()%800),boss->getY()+(rand()%250)-120);
- addExplosionK(boss->getX()-50+(rand()%800),boss->getY()+(rand()%250)-120);
- addExplosionK(boss->getX()-50+(rand()%800),boss->getY()+(rand()%250)-120);
- if (g_engine->audio->IsPlaying("BossFly") == true ) g_engine->audio->Stop("BossFly");
- if (g_engine->audio->IsPlaying("B_B1") == true ) g_engine->audio->Stop("B_B1");
- addKrilo(-10,5,50);
- addRuka(5,-10,65);
- addKrilo(10,-5,-25);
- addRuka(10,5,-80);
- addBossHead();
- addItem(25,1200,450,false,0);
- addItem(25,80,450,false,0);
- addItem(5,600,500,false,50);
- if (Tezina==SERIOUS)
- {
- addItem(7,1200,650,false,200);
- addItem(8,80,650,false,3);
- }
- }
- }
- if (spustanje==true && boss->getY()>0 && boss->energy>0)
- {
- boss->setVelocity(-(2-SmanjiSamBrzinu),0);
- spustanje=false;
- }
- if (spustanje==false && boss->energy > BossEnergyTriger1 )
- {
- if (boss->getX()<-155) boss->setVelocity(2-SmanjiSamBrzinu,0);
- if (boss->getX()>555) boss->setVelocity(-(2-SmanjiSamBrzinu),0);
- if ( (g_engine->findEntity(BOSS_OKO) == NULL) && (boss->Stanje == 1) )
- {
- if (N_Timer1.stopwatch(8000)) fireB1(boss->getX(),boss->getY());
- if (N_Timer2.stopwatch(3000)) fireB2(boss,365,70,420,50,465,70);
- }
- if ( (g_engine->findEntity(BOSS_ROG) == NULL) && (g_engine->findEntity(BOSS_VATRA) == NULL) && (boss->Stanje == 2) )
- {
- if (N_Timer3.stopwatch(200)) fireB3(boss,415,120,450,120);
- }
- }
- if ( lijevoidesno==true && boss->energy <= BossEnergyTriger1 )
- {
- addExplosionK(boss->getX()+189-115,boss->getY()+230-110);
- addExplosionK(boss->getX()+609-115,boss->getY()+228-110);
- g_engine->audio->Play("B_EndClose");
- lijevoidesno=false;
- addItem(25,600,550,false,0);
- addItem(4,140,500,false,200);
- addItem(5,1100,500,false,50);
- }
- if( boss->energy <= BossEnergyTriger2 && boss_krik == true)
- {
- g_engine->audio->Play("B_EndClose");
- boss->setVelocity(2-SmanjiSamBrzinu,0);
- boss_krik=false;
- }
- //GASI SE VATRA U ENTITYUP
- if( boss->energy <= BossEnergyTriger1 && boss->energy > BossEnergyTriger2 )
- {
- if (boss->getY()<100)
- {
- VatraKraj=false;
- boss->setVelocity(0,2-SmanjiSamBrzinu);
- }
- else
- {
- VatraKraj=true;
- boss->setVelocity(0,0);
- if (N_Timer4.stopwatch(900)) fireB2(boss,365,70,420,50,465,70);
- if (N_Timer5.stopwatch(3500)) fireB11(boss->getX(),boss->getY());
- }
- }
- if( boss->energy <= BossEnergyTriger2 && boss->energy > 0)
- {
- VatraKraj=true;
- if (boss->getX()<-155) boss->setVelocity(2-SmanjiSamBrzinu,0);
- if (boss->getX()>555) boss->setVelocity(-(2-SmanjiSamBrzinu),0);
- if (N_Timer1.stopwatch(4000)) fireB11(boss->getX(),boss->getY());
- if ((g_engine->findEntity(BOSS_ROG)==NULL) && N_Timer2.stopwatch(300)) fireB3(boss,415,120,450,120);
- }
- }
- void UpdateHead(Sprite *head)
- {
- BossEnergy=head->energy;
- if (head->energy<600 && DieWhenIKillYou==false)
- {
- g_engine->audio->Play("Sam_Die_When_I_Kill_You");
- DieWhenIKillYou=true;
- }
- double vx = head->getVelocity().getX();
- double vy = head->getVelocity().getY();
- int rightEdge = g_engine->getScreenWidth() - head->getWidth() + 5;
- int bottomEdge = g_engine->getScreenHeight() - head->getHeight()-325;
- if ( head->Stanje == 1 )
- {
- if ( ( (g_engine->findEntity(OBJECT_MISC)== NULL) && (g_engine->findEntity(BOSS_ROG)== NULL) && ( g_engine->findEntity(BOSS_VATRENAKUGLA)== NULL) ) && N_Timer1.stopwatch(500)) fireB3(head,45,80,80,80);
- if (head->getX() < -5)//lijevo
- {
- vx = fabs(vx);
- head->setX(-2);
- head->Stanje2=head->Stanje2+1;
- if(head->Stanje2>=7)
- {
- vy=0;
- head->Stanje=2;
- if ( rand()%2 ) head->Stanje2=1;
- else head->Stanje2=2;
- }
- }
- if (head->getX() > rightEdge)//desno
- {
- vx = fabs(vx) * -1;
- head->setX(rightEdge-3);
- head->Stanje2=head->Stanje2+1;
- if(head->Stanje2>=7)
- {
- vy=0;
- head->Stanje=2;
- if ( rand()%2 ) head->Stanje2=1;
- else head->Stanje2=2;
- }
- }
- if (head->getY() < 10)
- {
- vy = fabs(vy);
- head->setY(10);
- head->Stanje2=head->Stanje2+1;
- }
- if (head->getY() > bottomEdge)
- {
- vy = fabs(vy) * -1;
- head->setY(bottomEdge);
- head->Stanje2=head->Stanje2+1;
- }
- //update head's velocity
- head->setVelocity(vx, vy);
- }//Stanje 1
- if ( head->Stanje == 2 )
- {
- if ( head->Stanje2 == 1 )
- {
- if (N_Timer2.stopwatch(170)) fireB4(head,35,40);
- }
- if ( head->Stanje2 == 2 )
- {
- if (N_Timer3.stopwatch(500)) fireB2(head,45,40,70,40,95,40);
- }
- //update ball velocity x
- if (head->getX() < -5)//lijevo
- {
- //update ball's velocity
- head->setVelocity(-(12-(5*SmanjiSamBrzinu)),-(4-(2*SmanjiSamBrzinu)));
- head->setX(-2);
- if (rand()%2==0) head->Stanje2=0;
- else head->Stanje2=1;
- head->Stanje=1;
- }
- if (head->getX() > rightEdge)//desno
- {
- head->setVelocity(12-(5*SmanjiSamBrzinu),4-(2*SmanjiSamBrzinu));
- head->setX(rightEdge-3);
- if (rand()%2==0) head->Stanje2=0;
- else head->Stanje2=1;
- head->Stanje=1;
- }
- }//Stanje 2
- }
- void Varalica()
- {
- //HEALTH25
- if (Cheat1.compare(CheatUlaz)==0)
- {
- Sam_energy=Sam_energy+25;
- Cheater=true;
- }
- //SSF
- if (Cheat2.compare(CheatUlaz)==0)
- {
- SecondaryFire=true;
- Cheater=true;
- }
- //CHEATER_I_AM
- if (Cheat3.compare(CheatUlaz)==0)
- {
- SecondaryFire=true;
- Sam_energy=199;
- MunicijaRL = 99;
- MunicijaT = 9;
- MunicijaMG = 999;
- MunicijaL = 499;
- Cheater=true;
- }
- }
- ////////////////////////////////////////////////////////////////////////////////Load Level And Items
- void LLAI( int level_X )
- {
- switch(level_X)
- {
- case 0:
- g_engine->audio->StopAll();
- g_engine->audio->Play("Music_Level000");
- if (Tezina==SERIOUS) TezinaRazlika=0;
- else TezinaRazlika=1;
- level=0;
- QWERTZ=0;
- ProciCu=true;
- SecondaryFire=false;
- paddleVelocity = 0.00;
- paddleVelocity2 = 0.00;
- Kretanje=0;
- KretanjeY=0;
- noge->setTotalFrames(1);
- paddle->setTotalFrames(1);
- Sam_BrzinaX = 3.5-SmanjiSamBrzinu;
- Sam_BrzinaY = 3.0-SmanjiSamBrzinu;
- META->setPosition(SCREENW/2-30,SCREENH/2);
- background->setImage(B_Level000);
- SkyBox1_S->setVisible(true);
- SkyBox2_S->setVisible(true);
- SkyBox1_S->setImage(SB_Vedrosoblacima);
- SkyBox2_S->setImage(SB_Vedrosoblacima);
- //addBossHead();
- /*addItem(4,100,600,false,500);
- addItem(5,200,600,false,500);
- addItem(7,800,600,false,500);
- addItem(8,900,600,false,500);*/
- gameState=STATE_PLAY;
- cursor->loadImage("Textures/Cursor_InGame.tga");
- cursor->setVisible(true);
- Level_End=0;
- Sam_energy = 100;
- level=0;
- score = 0;
- MunicijaT = 0;
- MunicijaRL = 0;
- MunicijaMG = 0;
- MunicijaL = 0;
- oruzje=0;
- enemy_count=0;
- enemy_spawn_count=0;
- addLGB();
- Varalica();
- break;
- case 1:
- g_engine->audio->StopAll();
- g_engine->audio->Play("Music_Level001");
- g_engine->audio->Play("Sam_Ready_For_Battle");
- level=1;
- QWERTZ=0;
- SecondaryFire=false;
- ProciCu=true;
- gameState=STATE_PLAY;
- background->setImage(B_Level001);
- SkyBox1_S->setImage(SB_Vedrosoblacima);
- SkyBox2_S->setImage(SB_Vedrosoblacima);
- cursor->loadImage("Textures/Cursor_InGame.tga");
- cursor->setVisible(true);
- addStup(100,130,1.3,'D');
- addStup(300,130,1.3,'D');
- addStup(500,130,1.3,'D');
- addStup(700,130,1.3,'D');
- addStup(900,130,1.3,'D');
- addStup(1100,130,1.3,'D');
- Level_End=0;
- domamami=true;
- if (Tezina==SERIOUS)
- {
- enemy_count=BrojN[level]+5;
- enemy_spawn_count=BrojN[level]+5;
- }
- else
- {
- enemy_count=BrojN[level];
- enemy_spawn_count=BrojN[level];
- }
- Varalica();
- break;
- case 2:
- g_engine->audio->StopAllExcept("Music_Level001");
- if (g_engine->audio->IsPlaying("Music_Level001") == false) g_engine->audio->Play("Music_Level001");
- level=2;
- QWERTZ=0;
- SecondaryFire=false;
- ProciCu=true;
- gameState=STATE_PLAY;
- Level_End=0;
- background->setImage(B_Level002);
- SkyBox1_S->setImage(SB_Vedrosoblacima);
- SkyBox2_S->setImage(SB_Vedrosoblacima);
- cursor->loadImage("Textures/Cursor_InGame.tga");
- cursor->setVisible(true);
- addPtica('D');
- addPtica('L');
- addItem(25,350,500,false,0);
- if (Tezina==SERIOUS)
- {
- enemy_count=BrojN[level];
- enemy_spawn_count=BrojN[level];
- }
- else
- {
- enemy_count=BrojN[level];
- enemy_spawn_count=BrojN[level];
- }
- background->setImage(B_Level002);
- Varalica();
- break;
- case 3://NOC
- g_engine->audio->StopAll();
- g_engine->audio->Play("Music_Level003");
- level=3;
- QWERTZ=0;
- SecondaryFire=false;
- Level_End=0;
- ProciCu=true;
- gameState=STATE_PLAY;
- LudePtice = false;
- background->setImage(B_Level003);
- cursor->loadImage("Textures/Cursor_InGame.tga");
- cursor->setVisible(true);
- addPtica('D');
- addItem(25,500,500,false,0);
- if (Tezina==SERIOUS)
- {
- enemy_count=BrojN[level]+45;
- enemy_spawn_count=BrojN[level]+45;
- addItem(4,450,600,true,450);
- }
- else
- {
- addItem(4,450,600,true,500);
- enemy_count=BrojN[level];
- enemy_spawn_count=BrojN[level];
- }
- Varalica();
- break;
- case 4:
- g_engine->audio->StopAll();
- g_engine->audio->Play("Music_Level004");
- level=4;
- QWERTZ=0;
- SecondaryFire=false;
- ProciCu=true;
- gameState=STATE_PLAY;
- Level_End=0;
- background->setImage(B_Level004);
- SkyBox1_S->setImage(SB_Vedrosoblacima2);
- SkyBox2_S->setImage(SB_Vedrosoblacima2);
- mraketa=false;
- cursor->loadImage("Textures/Cursor_InGame.tga");
- cursor->setVisible(true);
- addItem(5,400,500,true,50);
- addItem(25,300,500,false,0);
- if (Tezina==SERIOUS)
- {
- enemy_count=BrojN[level]+15;
- enemy_spawn_count=BrojN[level]+15;
- }
- else
- {
- enemy_count=BrojN[level];
- enemy_spawn_count=BrojN[level];
- }
- gameState=STATE_PLAY;
- Varalica();
- break;
- case 5:
- g_engine->audio->StopAll();
- level=5;
- QWERTZ=0;
- SecondaryFire=false;
- ProciCu=true;
- gameState=STATE_PLAY;
- Level_End=0;
- background->setImage(B_Level005);
- SkyBox1_S->setImage(SB_Vedrosoblacima2);
- SkyBox2_S->setImage(SB_Vedrosoblacima2);
- addItem(999,615,450,false,0);
- addItem(5,615,350,false,50);
- addItem(100,625,550,false,0);
- addGMan();
- cursor->loadImage("Textures/Cursor_InGame.tga");
- cursor->setVisible(true);
- if (Tezina==SERIOUS)
- {
- enemy_count=BrojN[level]+5;
- enemy_spawn_count=BrojN[level]+5;
- addItem(4,800,450,false,200);
- addItem(5,615,600,false,50);
- }
- else
- {
- addItem(4,800,450,false,200);
- enemy_count=BrojN[level];
- enemy_spawn_count=BrojN[level];
- }
- gameState=STATE_PLAY;
- Varalica();
- break;
- case 6:
- g_engine->audio->StopAll();
- g_engine->audio->Play("Music_Level006");
- level=6;
- QWERTZ=0;
- ProciCu=true;
- gameState=STATE_PLAY;
- Level_End=0;
- background->setImage(B_Level006);
- cursor->loadImage("Textures/Cursor_InGame.tga");
- cursor->setVisible(true);
- LudePtice = false;
- mtop=false;
- BrPtica=15;
- addPalma(50,200,0.2);
- addPalma(600,200,0.2);
- addPalma(795,200,0.2);
- addPalma(1215,200,0.2);
- addPalma(400,185,0.3);
- addPalma(750,185,0.3);
- addPalma(60,135,0.6);
- addPalma(430,135,0.6);
- addPalma(800,135,0.6);
- addPalma(1170,135,0.6);
- addItem(5,700,500,false,50);
- addItem(25,600,500,false,0);
- addItem(8,250,500,true,3);
- addPtica('L');
- if (Tezina==SERIOUS)
- {
- enemy_count=BrojN[level]+15;
- enemy_spawn_count=BrojN[level]+15;
- }
- else
- {
- enemy_count=BrojN[level];
- enemy_spawn_count=BrojN[level];
- }
- Varalica();
- break;
- case 7:
- g_engine->audio->StopAll();
- g_engine->audio->Play("Music_Level007");
- level=7;
- Level_End=0;
- ProciCu=true;
- QWERTZ=0;
- gameState=STATE_PLAY;
- background->setImage(B_Level007);
- cursor->loadImage("Textures/Cursor_InGame.tga");
- cursor->setVisible(true);
- addItem(7,600,450,true,500);
- addItem(5,620,550,false,50);
- addItem(8,350,450,false,3);
- if (Tezina==SERIOUS)
- {
- enemy_count=BrojN[level]+40;
- enemy_spawn_count=BrojN[level]+40;
- addItem(100,625,650,false,0);
- }
- else
- {
- enemy_count=BrojN[level];
- enemy_spawn_count=BrojN[level];
- addItem(25,620,650,false,0);
- }
- Varalica();
- break;
- case 8://LEAP OF FAITH
- LOF=false;
- LOF2=true;
- g_engine->audio->StopAll();
- g_engine->audio->Play("Music_Level008");
- level=8;
- Level_End=0;
- ProciCu=true;
- QWERTZ=0;
- gameState=STATE_PLAY;
- background->setImage(B_Level008);
- cursor->loadImage("Textures/Cursor_InGame.tga");
- cursor->setVisible(true);
- enemy_count=0;
- enemy_spawn_count=0;
- break;
- case 9://BOSS
- g_engine->audio->StopAll();
- g_engine->audio->Play("Music_Level009");
- level=9;
- Level_End=0;
- ProciCu=true;
- QWERTZ=0;
- gameState=STATE_PLAY;
- background->setImage(B_Level009);
- cursor->loadImage("Textures/Cursor_InGame.tga");
- cursor->setVisible(true);
- addBoss();
- addItem(100,620,450,false,0);
- addItem(7,800,650,false,200);
- addItem(8,1100,650,false,3);
- addItem(5,1200,650,false,50);
- enemy_count=0;
- enemy_spawn_count=0;
- break;
- case 10://KRAJ
- g_engine->audio->StopAll();
- level=10;
- gameState=STATE_END;
- background->setImage(B_End);
- cursor->setVisible(false);
- Sprite *expl = new Sprite();
- expl->setObjectType(OBJECT_IKI);
- expl->setImage(I_Knew_It);
- expl->setColumns(4);
- expl->setCollidable(false);
- expl->setSize(150,257);
- expl->setPosition(420,380);
- expl->setTotalFrames(4);
- expl->setFrameTimer(110);
- g_engine->addEntity( expl );
- g_engine->audio->Play("Sam_I_Knew_It");
- break;
- }
- }
- ////////////////////////////////////////////////////////////////////////////////Delete Level And Entities - DLAE
- void DLAE( Entity* entity, int L )
- {
- Sprite *IzbrisiMe = (Sprite*)entity;
- switch (entity->getObjectType())
- {
- case OBJECT_MISC:
- case CREDITSB:
- case SSF:
- case GMAN:
- case CROWBAR:
- case OBJECT_LGB:
- case BOSS_METAG:
- case BOSS_METAD:
- case BOSS_HEAD:
- case BOSS_VATRA:
- case BOSS_ROG:
- case BOSS_OKO:
- case BOSS_VATRENAKUGLA:
- case OBJECT_PALMA:
- case OBJECT_STUP:
- case OBJECT_EXPLOSION:
- case OBJECT_KRV:
- case N_LASER:
- case N_RAKETA:
- case N_HARPIJAPROJEKTIL:
- case SACMA:
- case PTICA:
- case METAK:
- case RAKETA:
- case LASER:
- case LASER2:
- case TOPOVSKA_KUGLA:
- case MRTVAC_SAM:
- case MRTVAC:
- case HEALTH_100:
- case HEALTH_25:
- case MR:
- case MM:
- case MM2:
- case ML:
- case MT:
- case N_BIK:
- case N_KAMIKAZA:
- case N_HARPIJA:
- case N_SETACPLAVI:
- case N_SETACCRVENI:
- case N_GNAARFEMALE:
- case N_GNAARMALE:
- case CREDITS:
- if ( L == 1 )
- {
- if (IzbrisiMe->LevelID != level) IzbrisiMe->setAlive(false);
- }
- else
- IzbrisiMe->setAlive(false);
- break;
- }
- }
- void UpdateSetacCrveni(Sprite *setac_crveni)
- {
- //okrece se ovisno o polozaju igraca
- if ((META->getX()+META->getWidth()/2) > (setac_crveni->getX()+setac_crveni->getWidth()/2))
- {
- if (setac_crveni->Gledam=='L')
- {
- setac_crveni->Gledam='D';
- setac_crveni->setImage(N_SetacCrveniL_T);
- setac_crveni->setSize(295,345);
- setac_crveni->setCurrentFrame(7);
- setac_crveni->PolozajX=setac_crveni->getX();
- }
- }
- else
- {
- if (setac_crveni->Gledam=='D')
- {
- setac_crveni->Gledam='L';
- setac_crveni->setImage(N_SetacCrveniD_T);
- setac_crveni->setSize(295,345);
- setac_crveni->setCurrentFrame(7);
- setac_crveni->PolozajX=setac_crveni->getX();
- }
- }
- //pucanje
- if (Sam_energy > 0 && gameState == STATE_PLAY)
- {
- setac_crveni->pucaj = setac_crveni->pucaj + 15;
- if ( setac_crveni->pucaj >= 4070 ) N_FireSetacCrveni(setac_crveni);
- }
- //zaustavljanje
- if (setac_crveni->Gledam=='L')
- {
- if (setac_crveni->getX() <= setac_crveni->PolozajX )
- {
- setac_crveni->setCurrentFrame(7);
- setac_crveni->setVelocity(0,0);
- }
- else PratiMe(setac_crveni);
- }
- else
- {
- if (setac_crveni->getX() >= setac_crveni->PolozajX )
- {
- setac_crveni->setCurrentFrame(7);
- setac_crveni->setVelocity(0,0);
- }
- else PratiMe(setac_crveni);
- }
- }
- void UpdateSetacPlavi(Sprite *setac_plavi)
- {
- //okrece se ovisno o polozaju igraca
- if ((META->getX()+META->getWidth()/2) > (setac_plavi->getX()+setac_plavi->getWidth()/2))
- {
- if (setac_plavi->Gledam=='L')
- {
- setac_plavi->Gledam='D';
- setac_plavi->setImage(N_SetacPlaviL_T);
- setac_plavi->setSize(217,235);
- setac_plavi->setCurrentFrame(0);
- setac_plavi->PolozajX=setac_plavi->getX();
- }
- }
- else
- {
- if (setac_plavi->Gledam=='D')
- {
- setac_plavi->Gledam='L';
- setac_plavi->setImage(N_SetacPlaviD_T);
- setac_plavi->setSize(217,235);
- setac_plavi->setCurrentFrame(0);
- setac_plavi->PolozajX=setac_plavi->getX();
- }
- }
- if (Sam_energy > 0 && gameState == STATE_PLAY)
- {
- setac_plavi->pucaj = setac_plavi->pucaj + 15;
- if ( setac_plavi->pucaj >= 3150 ) N_FireSetacPlavi(setac_plavi);
- }
- //zaustavljanje
- if (setac_plavi->Gledam=='L')
- {
- if (setac_plavi->getX() <= setac_plavi->PolozajX )
- {
- setac_plavi->setCurrentFrame(0);
- setac_plavi->setVelocity(0,0);
- }
- else PratiMe(setac_plavi);
- }
- else
- {
- if (setac_plavi->getX() >= setac_plavi->PolozajX )
- {
- setac_plavi->setCurrentFrame(0);
- setac_plavi->setVelocity(0,0);
- }
- else PratiMe(setac_plavi);
- }
- }
- void UpdateHarpija(Sprite* harpija)
- {
- if (harpija->getX() <= -10)
- {
- harpija->setVelocity(HARPIJA_VEL,0);
- harpija->setImage(N_HarpijaL_T);
- harpija->setTotalFrames(9);
- harpija->setColumns(5);
- harpija->setSize(93,110);
- harpija->Gledam='D';
- }
- if (harpija->getX() >= 1180)
- {
- harpija->setVelocity(-HARPIJA_VEL,0);
- harpija->setImage(N_HarpijaD_T);
- harpija->setTotalFrames(9);
- harpija->setColumns(5);
- harpija->setSize(93,110);
- harpija->Gledam='L';
- }
- if (Sam_energy > 0 && gameState == STATE_PLAY)
- {
- harpija->pucaj = harpija->pucaj + 15;
- if ( harpija->pucaj >= 2800 ) N_FireHarpija(harpija);
- }
- }
- void game_entityUpdate(Entity* entity)
- {
- }
- void game_entityUpdateFPS(Entity* entity)
- {
- Sprite *Objekt;
- if (gameState == STATE_INTRO)
- {
- switch (entity->getObjectType())
- {
- case CREDITS:
- Objekt = (Sprite*)entity;
- if ( Objekt->getY() <= -425 )
- {
- gameState=STATE_UPUTE;
- background->setImage(B_Upute);
- Objekt->setAlive(false);
- g_engine->audio->Stop("Music_SpaceIntro");
- boss->setVisible(false);
- boss->setCollidable(false);
- boss->energy=0;
- BossEnergy=0;
- }
- break;
- default:
- DLAE(entity,0);
- boss->setVisible(false);
- boss->setCollidable(false);
- boss->energy=0;
- BossEnergy=0;
- break;
- }
- }
- if (gameState == STATE_RESTART_L || gameState == STATE_UPUTE ||gameState == STATE_MENU || gameState == STATE_END || gameState == STATE_GAMEOVER)
- {
- boss->setVisible(false);
- boss->setCollidable(false);
- boss->energy=0;
- //Delete Level And Entities - DLAE
- DLAE(entity,0);
- }
- if (gameState == STATE_MENU || gameState == STATE_CREDITS_K)
- {
- if (entity->getObjectType()==OBJECT_IKI) entity->setAlive(false);
- }
- if (gameState == STATE_PLAY)
- {
- DLAE(entity,1); //mozda dodati return u dlae i ovdje takodjer
- switch(entity->getObjectType())
- {
- case SPRITE_PADDLE:
- updateSam(paddle);
- break;
- case SPRITE_META:
- if ( META->getX() >= SCREENW-10 && enemy_count <= 0 )
- {
- level=level+1;
- boss->setVisible(false);
- boss->setCollidable(false);
- if (level != 8 ) META->setPosition(10,META->getY());
- else META->setPosition(10,390);
- if ( level != 10 )
- {
- RL_Level=level;
- RL_Score=score;
- RL_Sam_energy=Sam_energy;
- RL_oruzje=oruzje;
- RL_MunicijaRL = MunicijaRL;
- RL_MunicijaT = MunicijaT;
- RL_MunicijaMG = MunicijaMG;
- RL_MunicijaL = MunicijaL;
- RL_Tezina = Tezina;
- }
- //Load Level And Items - LLAI
- LLAI (level);
- }
- break;
- case N_HARPIJAPROJEKTIL:
- case BOSS_OKO:
- case METAK:
- case LASER:
- case LASER2:
- case SACMA:
- Objekt=(Sprite*)entity;
- if (Objekt->getX()<0 || Objekt->getX()>SCREENW || Objekt->getY()<0 || Objekt->getY()>SCREENH ) Objekt->setAlive(false);
- break;
- case OBJECT_MISC:
- Objekt=(Sprite*)entity;
- if (Objekt->getX()<-150 || Objekt->getX()>SCREENW || Objekt->getY()<-150 || Objekt->getY()>SCREENH ) Objekt->setAlive(false);
- break;
- case TOPOVSKA_KUGLA:
- Objekt = (Sprite*)entity;
- if ( Objekt->getY() > SCREENH-30 )
- {
- Objekt->setY(SCREENH-35);
- Objekt->setVelocity(Objekt->getVelocity().getX(), fabs(Objekt->getVelocity().getY()) * -1);
- }
- if (Objekt->getX()<-30 || Objekt->getX()>1280) Objekt->setAlive(false);
- break;
- case RAKETA:
- case N_RAKETA:
- Objekt = (Sprite*)entity;
- if (Objekt->getY()>=SCREENH-20)
- {
- addExplosionR(Objekt->getX()-55,SCREENH-80);
- Objekt->setAlive(false);
- }
- if (Objekt->getX()<-40 || Objekt->getX()>1300) Objekt->setAlive(false);
- break;
- case BOSS_METAG:
- Objekt = (Sprite*)entity;
- Objekt->setPosition(boss->getX()+12,boss->getY()+50);
- break;
- case BOSS_METAD:
- Objekt = (Sprite*)entity;
- Objekt->setPosition(boss->getX()+200,boss->getY()+190);
- break;
- case BOSS_VATRENAKUGLA:
- Objekt = (Sprite*)entity;
- if (Objekt->getY()>=SCREENH-25)
- {
- addExplosionV(Objekt->getX()-45,SCREENH-125);
- Objekt->setAlive(false);
- }
- break;
- case BOSS_ROG:
- Objekt = (Sprite*)entity;
- if (Objekt->getY()<-250) PratiMe(Objekt);
- if (Objekt->getY()>=SCREENH-20)
- {
- addExplosionR(Objekt->getX()-55,SCREENH-80);
- Objekt->setAlive(false);
- }
- if ((Objekt->getX()<-20 || Objekt->getX()>1300) && (Objekt->getY()>500)) Objekt->setAlive(false);
- break;
- case BOSS_VATRA:
- Objekt = (Sprite*)entity;
- if( VatraKraj==false) Objekt->setAlive(false);
- if (g_engine->findEntity(BOSS)) Objekt->setVelocity(boss->getVelocityX(),boss->getVelocityY());
- break;
- case BOSS_HEAD:
- Objekt = (Sprite*)entity;
- UpdateHead(Objekt);
- break;
- case BOSS:
- if ( level == 9 ) UpdateBoss();
- break;
- case PTICA:
- Objekt = (Sprite*)entity;
- if (Objekt->getX() > SCREENW-Objekt->getWidth()+5)
- {
- Objekt->setImage(I_PticaL_T);
- Objekt->setTotalFrames(4);
- Objekt->setColumns(4);
- Objekt->setSize(70,40);
- Objekt->setVelocity(-3+SmanjiSamBrzinu,0);
- }
- if (Objekt->getX() < -5)
- {
- Objekt->setImage(I_PticaD_T);
- Objekt->setTotalFrames(4);
- Objekt->setColumns(4);
- Objekt->setSize(70,40);
- Objekt->setVelocity(3-SmanjiSamBrzinu,0);
- }
- break;
- case N_KAMIKAZA:
- Objekt = (Sprite*)entity;
- PratiMe(Objekt);
- break;
- case N_GNAARFEMALE:
- case N_GNAARMALE:
- Objekt = (Sprite*)entity;
- if (Sam_energy > 0 && gameState == STATE_PLAY)
- {
- Objekt->pucaj = Objekt->pucaj + 15;
- }
- PratiMe(Objekt);
- break;
- case N_BIK:
- Objekt = (Sprite*)entity;
- if (Objekt->getX() <= -225)
- {
- if ( META->getY() < 340-Objekt->getHeight() ) Objekt->setPosition(SCREENW+rand()%80, 340-Objekt->getHeight());
- else if ( META->getY() > SCREENH-Objekt->getHeight() ) Objekt->setPosition(SCREENW+rand()%80, SCREENH-Objekt->getHeight());
- else Objekt->setPosition(SCREENW+rand()%80, META->getY());
- }
- if (Sam_energy > 0 && gameState == STATE_PLAY) Objekt->pucaj = Objekt->pucaj + 15;
- break;
- case N_HARPIJA:
- Objekt = (Sprite*)entity;
- UpdateHarpija(Objekt);
- break;
- case N_SETACPLAVI:
- Objekt = (Sprite*)entity;
- UpdateSetacPlavi(Objekt);
- break;
- case N_SETACCRVENI:
- Objekt = (Sprite*)entity;
- UpdateSetacCrveni(Objekt);
- break;
- case GMAN:
- Objekt=(Sprite*)entity;
- if (Objekt->getX() > SCREENW ) Objekt->setAlive(false);
- break;
- case OBJECT_LGB:
- Objekt=(Sprite*)entity;
- Objekt->setPosition(META->getX()+45,META->getY()-160);
- break;
- case CROWBAR:
- Objekt = (Sprite*)entity;
- if (Objekt->getY()>=550) Objekt->setVelocity(0,0);
- break;
- }
- }
- if (gameState == STATE_LOSER )
- {
- Objekt = (Sprite*)entity;
- switch (Objekt->getObjectType())
- {
- case N_HARPIJA:
- UpdateHarpija(Objekt);
- break;
- case BOSS_HEAD:
- case BOSS:
- Objekt->setVelocity(0,0);
- break;
- case BOSS_VATRA:
- if( VatraKraj==false) Objekt->setAlive(false);
- if (g_engine->findEntity(BOSS)) Objekt->setVelocity(boss->getVelocityX(),boss->getVelocityY());
- break;
- case N_SETACCRVENI:
- Objekt->setVelocity(0,0);
- Objekt->setCurrentFrame(7);
- break;
- case N_SETACPLAVI:
- Objekt->setVelocity(0,0);
- Objekt->setCurrentFrame(0);
- break;
- case N_KAMIKAZA:
- Objekt->setVelocity(0,0);
- Objekt->setCurrentFrame(12);
- break;
- case N_GNAARMALE:
- case N_GNAARFEMALE:
- Objekt->setVelocity(0,0);
- Objekt->setCurrentFrame(3);
- break;
- case N_BIK:
- Objekt->setVelocity(0,0);
- Objekt->setCurrentFrame(7);
- break;
- case CROWBAR:
- Objekt = (Sprite*)entity;
- if (Objekt->getY()>=550) Objekt->setVelocity(0,0);
- break;
- }
- }
- if (gameState == STATE_CREDITS_K)
- {
- switch (entity->getObjectType())
- {
- case CREDITS:
- Objekt = (Sprite*)entity;
- if ( Objekt->getY() <= -3200 )
- {
- Objekt->setVelocity(0,0);
- }
- break;
- }
- }
- if (gameState == STATE_CREDITS)
- {
- switch (entity->getObjectType())
- {
- case CREDITS:
- Objekt = (Sprite*)entity;
- if ( Objekt->getY() <= -3200 )
- {
- Objekt->setVelocity(0,0);
- }
- break;
- }
- }
- }
- void addMrtvac(Sprite *block, double x, double y, double xx, double yy)
- {
- Sprite *Mrtvac = new Sprite();
- switch(block->getObjectType())
- {
- case N_HARPIJA:
- addHarpijaKrila(xx-20,yy-30);
- g_engine->audio->Play("N_Harpija_Death");
- score=score+25;
- break;
- case N_KAMIKAZA:
- addExplosionK(xx-135,yy-102);
- score=score+20;
- break;
- case N_GNAARMALE:
- Mrtvac = new Sprite();
- Mrtvac->setImage(N_GnaarMaleMrtav_T);
- Mrtvac->setObjectType(MRTVAC);
- Mrtvac->setTotalFrames(8);
- Mrtvac->setColumns(5);
- Mrtvac->setCollidable(false);
- Mrtvac->setSize(94,139);
- Mrtvac->setFrameTimer(100);
- Mrtvac->setPosition(xx-47,yy-70);
- Mrtvac->setLifetime(750-SmanjiLifeTime);
- Mrtvac->setVelocity(4-2*SmanjiSamBrzinu,0);
- Mrtvac->LevelID=level;
- if (level == 3 ) Mrtvac->setColor(0xFFBBEEFF);
- if (level>=6 && level<8) Mrtvac->setColor(0xFFFFCCCC);
- g_engine->addEntity( Mrtvac );
- g_engine->audio->Play("GnaarDeath");
- score=score+15;
- break;
- case N_GNAARFEMALE:
- Mrtvac = new Sprite();
- Mrtvac->setImage(N_GnaarFemaleMrtav_T);
- Mrtvac->setObjectType(MRTVAC);
- Mrtvac->setTotalFrames(8);
- Mrtvac->setColumns(5);
- Mrtvac->setCollidable(false);
- Mrtvac->setSize(123,180);
- Mrtvac->setFrameTimer(100);
- Mrtvac->setPosition(xx-61,yy-90);
- Mrtvac->setLifetime(750-SmanjiLifeTime);
- Mrtvac->setVelocity(4-2*SmanjiSamBrzinu,0);
- Mrtvac->LevelID=level;
- if (level == 3 ) Mrtvac->setColor(0xFFBBEEFF);
- if (level>=6 && level<8) Mrtvac->setColor(0xFFFFCCCC);
- g_engine->addEntity( Mrtvac );
- g_engine->audio->Play("GnaarDeath");
- score=score+25;
- break;
- case N_SETACPLAVI:
- Mrtvac = new Sprite();
- if (block->Gledam=='L') Mrtvac->setImage(N_SetacPlaviMrtavD_T);
- else Mrtvac->setImage(N_SetacPlaviMrtavL_T);
- Mrtvac->setObjectType(MRTVAC);
- Mrtvac->setTotalFrames(12);
- Mrtvac->setColumns(4);
- Mrtvac->setPosition(xx-82,yy-115);
- Mrtvac->setSize(165,231);
- Mrtvac->setFrameTimer(100);
- Mrtvac->setLifetime(1200-SmanjiLifeTime);
- Mrtvac->LevelID=level;
- if (level == 3 ) Mrtvac->setColor(0xFFBBEEFF);
- if (level>=6 && level<8) Mrtvac->setColor(0xFFFFCCCC);
- g_engine->addEntity( Mrtvac );
- g_engine->audio->Play("SetacPlaviDeath");
- score=score+40;
- break;
- case N_SETACCRVENI:
- Mrtvac = new Sprite();
- if (block->Gledam=='L') Mrtvac->setImage(N_SetacCrveniMrtavD_T);
- else Mrtvac->setImage(N_SetacCrveniMrtavL_T);
- Mrtvac->setObjectType(MRTVAC);
- Mrtvac->setTotalFrames(14);
- Mrtvac->setColumns(5);
- Mrtvac->setPosition(xx-130,yy-172);
- Mrtvac->setSize(260,345);
- Mrtvac->setFrameTimer(100);
- Mrtvac->setLifetime(1400-SmanjiLifeTime);
- Mrtvac->LevelID=level;
- if (level == 3 ) Mrtvac->setColor(0xFFBBEEFF);
- if (level>=6 && level<8) Mrtvac->setColor(0xFFFFCCCC);
- g_engine->addEntity( Mrtvac );
- g_engine->audio->Play("SetacPlaviDeath");
- score=score+100;
- break;
- case N_BIK:
- Mrtvac = new Sprite();
- Mrtvac->setImage(N_BikMrtav_T);
- Mrtvac->setObjectType(MRTVAC);
- Mrtvac->setColumns(5);
- Mrtvac->setCollidable(false);
- Mrtvac->setSize(267,171);
- Mrtvac->setVelocity(-BIK_VEL+3,0);
- Mrtvac->setPosition(xx-134,yy-85);
- Mrtvac->setTotalFrames(18);
- Mrtvac->setFrameTimer(40);
- Mrtvac->setLifetime(750-SmanjiLifeTime);
- Mrtvac->LevelID=level;
- if (level == 3 ) Mrtvac->setColor(0xFFBBEEFF);
- if (level>=6 && level<8) Mrtvac->setColor(0xFFFFCCCC);
- g_engine->addEntity( Mrtvac );
- g_engine->audio->Play("BikDeath");
- score=score+50;
- break;
- case BOSS_VATRENAKUGLA:
- addExplosionV(xx-91,yy-91);
- break;
- case BOSS_ROG:
- case N_RAKETA:
- addExplosionR(xx-55,yy-85);
- break;
- case PTICA:
- LudePtice=true;
- if (level==6)
- {
- addItem(5,1000,450,false,50);
- addItem(25,1100,450,false,0);
- }
- break;
- case BOSS_HEAD:
- g_engine->audio->Play("B_EndClose");
- addCrowbar(xx-47,yy-12);
- addExplosionK(xx-75,yy-75);
- BossEnergy=0;
- ProciCu=true;
- score=score+5000;
- break;
- }
- if ( (block->getObjectType()!=BOSS_METAG) && (block->getObjectType()!=BOSS_METAD)) block->setAlive(false);
- enemy_count=enemy_count-1;
- }
- void hitBlock(Sprite *block,Sprite *bullet)
- {
- if (bullet->getObjectType()==N_KAMIKAZA) return;
- //pozicija metka
- double x = bullet->getX() + bullet->getWidth()/2;
- double y = bullet->getY() + bullet->getHeight()/2 ;
- double xx = block->getX() + block->getWidth()/2;
- double yy = block->getY() + block->getHeight()/2;
- if ( block->getObjectType() == BOSS_VATRA )
- {
- switch (bullet->getObjectType())
- {
- case SACMA:
- case METAK:
- bullet->setAlive(false);
- break;
- case RAKETA:
- addExplosionR(x-55,y-85);
- bullet->setAlive(false);
- break;
- case TOPOVSKA_KUGLA:
- addExplosionK(x-135,y-102);
- bullet->setAlive(false);
- break;
- }
- return;
- }
- switch (bullet->getObjectType())
- {
- case METAK:
- block->energy=block->energy - 1;
- bullet->setAlive(false);
- if((block->getObjectType() == BOSS_METAG) || (block->getObjectType() == BOSS_METAD)) boss->energy=boss->energy - 1;
- if (block->energy <= 0 )
- {
- addMrtvac(block,x,y,xx,yy);
- if (block->getObjectType()!=N_KAMIKAZA && block->getObjectType()!=N_RAKETA && block->getObjectType()!=BOSS_ROG && block->getObjectType()!=BOSS_VATRENAKUGLA)
- addKrv(x-30,y-30,'C');
- }
- else if (block->getObjectType()!=BOSS_VATRENAKUGLA) addKrv(x-30,y-30,'C');
- break;
- case SACMA:
- block->energy=block->energy - 2;
- bullet->setAlive(false);
- if((block->getObjectType() == BOSS_METAG) || (block->getObjectType() == BOSS_METAD)) boss->energy=boss->energy - 2;
- if (block->energy <= 0 )
- {
- addMrtvac(block,x,y,xx,yy);
- if (block->getObjectType()!=N_KAMIKAZA && block->getObjectType()!=N_RAKETA && block->getObjectType()!=BOSS_ROG && block->getObjectType()!=BOSS_VATRENAKUGLA)
- {
- addKrv(x-30,y-30,'C');
- addKrv(x-20,y-20,'C');
- addKrv(x-25,y-10,'C');
- }
- }
- else
- {
- addKrv(x-30,y-30,'C');
- addKrv(x-20,y-20,'C');
- addKrv(x-25,y-10,'C');
- }
- break;
- case RAKETA:
- block->energy=block->energy - 10;
- bullet->setAlive(false);
- if((block->getObjectType() == BOSS_METAG) || (block->getObjectType() == BOSS_METAD)) boss->energy=boss->energy - 10;
- if (block->energy <= 0 )
- {
- addMrtvac(block,x,y,xx,yy);
- if (block->getObjectType()!=N_KAMIKAZA && block->getObjectType()!=N_RAKETA && block->getObjectType()!=BOSS_ROG && block->getObjectType()!=BOSS_VATRENAKUGLA)
- addExplosionR(x-55,y-85);
- }
- else addExplosionR(x-55,y-85);
- break;
- case LASER:
- block->energy=block->energy - 2;
- bullet->setAlive(false);
- if((block->getObjectType() == BOSS_METAG) || (block->getObjectType() == BOSS_METAD)) boss->energy=boss->energy - 2;
- if (block->energy <= 0 )
- {
- addMrtvac(block,x,y,xx,yy);
- if (block->getObjectType()!=N_KAMIKAZA && block->getObjectType()!=N_RAKETA && block->getObjectType()!=BOSS_ROG && block->getObjectType()!=BOSS_VATRENAKUGLA)
- addKrv(x-32,y-32,'Z');
- }
- else addKrv(x-32,y-32,'Z');
- break;
- case LASER2:
- block->energy=block->energy - 4;
- bullet->setAlive(false);
- if((block->getObjectType() == BOSS_METAG) || (block->getObjectType() == BOSS_METAD)) boss->energy=boss->energy - 4;
- if (block->energy <= 0 )
- {
- addMrtvac(block,x,y,xx,yy);
- if (block->getObjectType()!=N_KAMIKAZA && block->getObjectType()!=N_RAKETA && block->getObjectType()!=BOSS_ROG && block->getObjectType()!=BOSS_VATRENAKUGLA)
- addKrv(x-32,y-32,'Z');
- }
- else addKrv(x-32,y-32,'Z');
- break;
- case TOPOVSKA_KUGLA:
- block->energy=block->energy - 80;
- if((block->getObjectType() == BOSS_METAG) || (block->getObjectType() == BOSS_METAD))
- {
- boss->energy=boss->energy - 75;
- addExplosionK(x-135,y-102);
- bullet->setAlive(false);
- break;
- }
- if (block->getObjectType()== BOSS_HEAD || block->getObjectType()== N_SETACCRVENI)
- {
- addExplosionK(x-135,y-102);
- bullet->setAlive(false);
- if (block->energy <= 0 )
- {
- addMrtvac(block,x,y,xx,yy);
- }
- break;
- }
- else
- {
- addMrtvac(block,x,y,xx,yy);
- if (block->getObjectType()!=N_KAMIKAZA && block->getObjectType()!=N_RAKETA && block->getObjectType()!=BOSS_ROG && block->getObjectType()!=BOSS_VATRENAKUGLA)
- {
- addKrv(x-30,y-30,'C');
- addKrv(x-20,y-20,'C');
- addKrv(x-25,y-10,'C');
- }
- }
- break;
- }
- if (level==1 && enemy_count==0 && domamami==true)
- {
- g_engine->audio->Play("Sam_Aaa_Yourself");
- domamami=false;
- }
- }
- void hitSam( Sprite *b , Sprite *a )
- {
- double SamSredinaX = a->getX() + a->getWidth()/2;
- double SamSredinaY = a->getY() + a->getHeight()/2;
- double ObjektSredinaX = b->getX() + b->getWidth()/2;
- double ObjektSredinaY = b->getY() + b->getHeight()/2;
- if (Tezina==SERIOUS) TezinaRazlika=0;
- else TezinaRazlika=1;
- switch( b->getObjectType() )
- {
- //NEPRIJATELJI
- case N_KAMIKAZA:
- addExplosionK(ObjektSredinaX-135,ObjektSredinaY-102);
- b->setAlive(false);
- if (g_engine->findEntity(N_KAMIKAZA) == NULL) g_engine->audio->Stop("N_Kamikaza");
- enemy_count=enemy_count-1;
- Sam_energy=Sam_energy-(20-TezinaRazlika*5);
- if ((Sam_energy>0) && (WoundStrong == false )) {g_engine->audio->Play("Sam_WoundStrong");WoundStrong =true;}
- if ((Sam_energy>0) && (g_engine->audio->IsPlaying("Sam_WoundStrong") == false )) g_engine->audio->Play("Sam_WoundStrong");
- break;
- case N_GNAARFEMALE:
- if(b->pucaj >= 1000)
- {
- g_engine->audio->Play("Punch");
- Sam_energy=Sam_energy-(5-TezinaRazlika*1);
- b->pucaj=0;
- }
- break;
- case N_GNAARMALE:
- if(b->pucaj >= 1000)
- {
- g_engine->audio->Play("Punch");
- Sam_energy=Sam_energy-(3-TezinaRazlika*1);
- b->pucaj=0;
- }
- break;
- case N_BIK:
- if(b->pucaj >= 3500)
- {
- if (Unutra(b,30,45,205,120,a) || Unutra(b,75,5,155,125,a))
- {
- if ((Sam_energy>0) && (WoundStrong == false )) {g_engine->audio->Play("Sam_WoundStrong");WoundStrong =true;}
- if ((Sam_energy>0) && (g_engine->audio->IsPlaying("Sam_WoundStrong") == false )) g_engine->audio->Play("Sam_WoundStrong");
- Sam_energy=Sam_energy-(10-TezinaRazlika*2);
- addKrv(SamSredinaX-35,SamSredinaY-50,'C');
- addKrv(SamSredinaX-20,SamSredinaY-35,'C');
- addKrv(SamSredinaX-25,SamSredinaY,'C');
- addKrv(SamSredinaX,SamSredinaY+10,'C');
- b->pucaj=2500;
- }
- }
- break;
- //N_PROJEKTILI
- case BOSS_OKO:
- Sam_energy=Sam_energy-9;
- addKrv(b->getX(),b->getY(),'C');
- b->setAlive(false);
- if ((Sam_energy>0) && (WoundWeak == false )) {g_engine->audio->Play("Sam_WoundWeak");WoundWeak =true;}
- if ((Sam_energy>0) && (g_engine->audio->IsPlaying("Sam_WoundWeak") == false )) g_engine->audio->Play("Sam_WoundWeak");
- break;
- case BOSS_VATRA:
- Sam_energy=Sam_energy-2;
- if ((Sam_energy>0) && (WoundStrong == false )) {g_engine->audio->Play("Sam_WoundStrong");WoundStrong =true;}
- if ((Sam_energy>0) && (g_engine->audio->IsPlaying("Sam_WoundStrong") == false )) g_engine->audio->Play("Sam_WoundStrong");
- break;
- case BOSS_ROG:
- case N_RAKETA:
- addExplosionR(ObjektSredinaX-55,ObjektSredinaY-85);
- b->setAlive(false);
- Sam_energy=Sam_energy-(15-TezinaRazlika*5);
- if ((Sam_energy>0) && (WoundStrong == false )) {g_engine->audio->Play("Sam_WoundStrong");WoundStrong =true;}
- if ((Sam_energy>0) && (g_engine->audio->IsPlaying("Sam_WoundStrong") == false )) g_engine->audio->Play("Sam_WoundStrong");
- break;
- case BOSS_VATRENAKUGLA:
- addExplosionV(ObjektSredinaX-91,ObjektSredinaY-91);
- b->setAlive(false);
- Sam_energy=Sam_energy-20;
- if ((Sam_energy>0) && (WoundStrong == false )) {g_engine->audio->Play("Sam_WoundStrong");WoundStrong =true;}
- if ((Sam_energy>0) && (g_engine->audio->IsPlaying("Sam_WoundStrong") == false )) g_engine->audio->Play("Sam_WoundStrong");
- break;
- case N_HARPIJAPROJEKTIL:
- addKrv(b->getX(),b->getY(),'C');
- b->setAlive(false);
- Sam_energy=Sam_energy-(5-TezinaRazlika*1);
- if ((Sam_energy>0) && (WoundWeak == false )) {g_engine->audio->Play("Sam_WoundWeak");WoundWeak =true;}
- if ((Sam_energy>0) && (g_engine->audio->IsPlaying("Sam_WoundWeak") == false )) g_engine->audio->Play("Sam_WoundWeak");
- break;
- case N_LASER:
- addKrv(b->getX(),b->getY(),'C');
- b->setAlive(false);
- Sam_energy=Sam_energy-(5-TezinaRazlika*1);
- if ((Sam_energy>0) && (WoundWeak == false )) {g_engine->audio->Play("Sam_WoundWeak");WoundWeak =true;}
- if ((Sam_energy>0) && (g_engine->audio->IsPlaying("Sam_WoundWeak") == false )) g_engine->audio->Play("Sam_WoundWeak");
- break;
- //PREDMETI
- case HEALTH_100:
- if ( Sam_energy == 200 ) break;
- else
- {
- Sam_energy = Sam_energy + 100;
- if (Sam_energy>200) Sam_energy = 200;
- g_engine->audio->Play("Health_100");
- b->setAlive(false);
- break;
- }
- case HEALTH_25:
- if ( level==4 && QWERTZ==4 ) QWERTZ=QWERTZ+1;
- if ( Sam_energy == 200 ) break;
- else
- {
- Sam_energy = Sam_energy + 25;
- if (Sam_energy>200) Sam_energy = 200;
- g_engine->audio->Play("Health_25");
- b->setAlive(false);
- break;
- }
- case MM:
- if (b->Stanje==2)
- {
- if (MunicijaMG == 999 ) break;
- else
- {
- MunicijaMG = MunicijaMG + b->energy;
- if (MunicijaMG>999) MunicijaMG=999;
- g_engine->audio->Play("Ammo");
- b->setAlive(false);
- break;
- }
- }
- else
- {
- MunicijaMG = MunicijaMG + b->energy;
- if (MunicijaMG>999) MunicijaMG=999;
- g_engine->audio->Play("Weapon");
- g_engine->audio->Play("Sam_Aaah_Its_Just_What_I_Have_Always_Wanted");
- if (Tezina==SERIOUS) addItem(4,150,400,false,200);
- b->setAlive(false);
- break;
- }
- case MR:
- if ( level==4 && mraketa==false)
- {
- mraketa=true;
- addItem(5,600,500,false,50);
- addItem(4,200,500,false,200);
- }
- if (MunicijaRL == 100) break;
- else
- {
- if (b->Stanje==2) g_engine->audio->Play("Ammo");
- else g_engine->audio->Play("Weapon");
- MunicijaRL = MunicijaRL + b->energy;
- if (MunicijaRL>100) MunicijaRL=100;
- b->setAlive(false);
- break;
- }
- case ML:
- if (MunicijaL == 500 ) break;
- else
- {
- if (b->Stanje==2) g_engine->audio->Play("Ammo");
- else g_engine->audio->Play("Weapon");
- MunicijaL = MunicijaL + b->energy;
- if (MunicijaL>500) MunicijaL=500;
- b->setAlive(false);
- break;
- }
- case MT:
- if ( level==6 && mtop==false)
- {
- mtop=true;
- }
- if (MunicijaT == 10 ) break;
- else
- {
- if (b->Stanje==2) g_engine->audio->Play("Ammo");
- else g_engine->audio->Play("Weapon");
- MunicijaT = MunicijaT + b->energy;
- if (MunicijaT>10) MunicijaT=10;
- b->setAlive(false);
- break;
- }
- case SSF:
- b->setAlive(false);
- SecondaryFire=true;
- QWERTZ=1;
- g_engine->audio->Play("Sam_Now_I_Am_Seriously_Serious");
- if (level==5)g_engine->audio->Play("Music_Level005");
- break;
- case CROWBAR:
- g_engine->audio->Play("Weapon");
- b->setAlive(false);
- break;
- }
- }
- void game_entityCollision(Entity* entity1,Entity* entity2)
- {
- Sprite *a = (Sprite*)entity1;
- Sprite *b = (Sprite*)entity2;
- if ( a->getAlive()==false || b->getAlive()==false ) return;
- if ( gameState == STATE_PLAY )
- {
- switch (a->getObjectType())
- {
- case N_SETACCRVENI:
- switch (b->getObjectType())
- {
- case METAK:
- case RAKETA:
- case TOPOVSKA_KUGLA:
- case LASER:
- case LASER2:
- case SACMA:
- if (a->Gledam=='L')
- {
- if (Unutra(a,150,40,220,105,b) || Unutra(a,80,105,220,330,b))
- {
- hitBlock(a,b);
- break;
- }
- }
- else
- {
- if (Unutra(a,70,40,150,105,b) || Unutra(a,70,105,210,330,b))
- {
- hitBlock(a,b);
- break;
- }
- }
- break;
- }
- break;
- case N_SETACPLAVI:
- switch (b->getObjectType())
- {
- case METAK:
- case RAKETA:
- case TOPOVSKA_KUGLA:
- case LASER:
- case LASER2:
- case SACMA:
- if (a->Gledam=='L')
- {
- if (Unutra(a,110,15,170,65,b) || Unutra(a,75,65,170,220,b) )
- {
- hitBlock(a,b);
- break;
- }
- }
- else
- {
- if (Unutra(a,50,15,105,65,b) || Unutra(a,50,65,140,220,b))
- {
- hitBlock(a,b);
- break;
- }
- }
- break;
- }
- break;
- case N_BIK:
- switch (b->getObjectType())
- {
- case METAK:
- case RAKETA:
- case TOPOVSKA_KUGLA:
- case LASER:
- case LASER2:
- case SACMA:
- if (Unutra(a,30,45,205,120,b) || Unutra(a,75,5,155,125,b))
- {
- hitBlock(a,b);
- break;
- }
- break;
- case SPRITE_META:
- hitSam(a,b);
- break;
- }
- break;
- case N_HARPIJA:
- switch (b->getObjectType())
- {
- case METAK:
- case RAKETA:
- case TOPOVSKA_KUGLA:
- case LASER:
- case LASER2:
- case SACMA:
- if (a->Gledam=='L')
- {
- if (Unutra(a,5,25,50,60,b) || Unutra(a,5,60,85,85,b) )
- {
- hitBlock(a,b);
- break;
- }
- }
- else
- {
- if (Unutra(a,45,25,85,60,b) || Unutra(a,5,60,85,85,b))
- {
- hitBlock(a,b);
- break;
- }
- }
- }
- break;
- case N_GNAARMALE:
- switch (b->getObjectType())
- {
- case METAK:
- case RAKETA:
- case TOPOVSKA_KUGLA:
- case LASER:
- case LASER2:
- case SACMA:
- if (Unutra(a,25,5,105,85,b))
- {
- hitBlock(a,b);
- break;
- }
- break;
- case SPRITE_META:
- hitSam(a,b);
- break;
- }
- break;
- case N_GNAARFEMALE:
- switch (b->getObjectType())
- {
- case METAK:
- case RAKETA:
- case TOPOVSKA_KUGLA:
- case LASER:
- case LASER2:
- case SACMA:
- if (Unutra(a,25,10,140,115,b))
- {
- hitBlock(a,b);
- break;
- }
- break;
- case SPRITE_META:
- hitSam(a,b);
- break;
- }
- break;
- case N_KAMIKAZA:
- switch (b->getObjectType())
- {
- case METAK:
- case RAKETA:
- case TOPOVSKA_KUGLA:
- case LASER:
- case LASER2:
- case SACMA:
- if (Unutra(a,10,10,60,95,b))
- {
- hitBlock(a,b);
- break;
- }
- break;
- case SPRITE_META:
- hitSam(a,b);
- break;
- }
- break;
- case BOSS_HEAD:
- switch (b->getObjectType())
- {
- case METAK:
- case RAKETA:
- case TOPOVSKA_KUGLA:
- case LASER:
- case LASER2:
- case SACMA:
- if (Unutra(a,0,0,153,55,b) || Unutra(a,25,55,125,150,b))
- {
- hitBlock(a,b);
- break;
- }
- }
- break;
- case HEALTH_100:
- case HEALTH_25:
- case MM:
- case MM2:
- case ML:
- case MR:
- case MT:
- case SSF:
- case CROWBAR:
- if (b->getObjectType()==SPRITE_META) hitSam(a,b);
- break;
- case N_RAKETA:
- case BOSS_METAG:
- case BOSS_METAD:
- case PTICA:
- case BOSS_VATRA:
- case BOSS_ROG:
- case BOSS_VATRENAKUGLA:
- switch (b->getObjectType())
- {
- case METAK:
- case RAKETA:
- case TOPOVSKA_KUGLA:
- case LASER:
- case LASER2:
- case SACMA:
- hitBlock(a,b);
- break;
- case SPRITE_META:
- hitSam(a,b);
- break;
- }
- break;
- case SPRITE_META:
- switch (b->getObjectType())
- {
- case BOSS_ROG:
- case BOSS_OKO:
- case BOSS_VATRENAKUGLA:
- case BOSS_VATRA:
- case N_RAKETA:
- case N_HARPIJAPROJEKTIL:
- case N_LASER:
- case HEALTH_100:
- case HEALTH_25:
- case MM:
- case MM2:
- case ML:
- case MR:
- case MT:
- case SSF:
- case CROWBAR:
- case N_GNAARMALE:
- case N_GNAARFEMALE:
- case N_BIK:
- hitSam(b,a);
- break;
- }
- break;
- }
- }
- if ( gameState == STATE_LOSER )
- {
- switch (a->getObjectType())
- {
- case N_SETACCRVENI:
- switch (b->getObjectType())
- {
- case METAK:
- case RAKETA:
- case TOPOVSKA_KUGLA:
- case LASER:
- case LASER2:
- case SACMA:
- if (Unutra(a,150,40,220,100,b))
- {
- hitBlock(a,b);
- break;
- }
- if (Unutra(a,80,90,220,330,b))
- {
- hitBlock(a,b);
- break;
- }
- break;
- }
- break;
- case N_KAMIKAZA:
- case N_GNAARFEMALE:
- case N_GNAARMALE:
- case N_SETACPLAVI:
- case N_BIK:
- case N_HARPIJA:
- case N_RAKETA:
- case BOSS_METAG:
- case BOSS_METAD:
- case PTICA:
- case BOSS_VATRA:
- case BOSS_ROG:
- case BOSS_HEAD:
- case BOSS_VATRENAKUGLA:
- switch (b->getObjectType())
- {
- case METAK:
- case RAKETA:
- case TOPOVSKA_KUGLA:
- case LASER:
- case LASER2:
- case SACMA:
- hitBlock(a,b);
- break;
- }
- break;
- case MRTVAC_SAM:
- switch (b->getObjectType())
- {
- case BOSS_ROG:
- case BOSS_OKO:
- case BOSS_VATRENAKUGLA:
- case N_RAKETA:
- case N_HARPIJAPROJEKTIL:
- case N_LASER:
- hitSam(b,a);
- break;
- }
- break;
- }
- }
- }
- void ProvjeriSama()
- {
- switch( paddle->Gledam )
- {
- case 'D':
- if (Kretanje >= 0)
- {
- if ( trcanjeD == false ) noge->setTotalFrames(12);
- else noge->setTotalFrames(12);
- }
- else
- {
- if ( trcanjeL == false ) noge->setTotalFrames(10);
- else noge->setTotalFrames(10);
- }
- break;
- case 'L':
- if (Kretanje <= 0)
- {
- if ( trcanjeL == false ) noge->setTotalFrames(12);
- else noge->setTotalFrames(12);
- }
- else
- {
- if ( trcanjeL == false ) noge->setTotalFrames(10);
- else noge->setTotalFrames(10);
- }
- break;
- }
- }
- void game_keyPress(int key)
- {
- double px = META->getX() + paddleVelocity;
- double py = META->getY() + paddleVelocity2;
- switch (gameState)
- {
- case STATE_PLAY:
- switch (key)
- {
- //UPRAVLJANJE IGRACEM
- //KRETANJE
- //lijevo (-)
- case DIK_A:
- paddleVelocity = -(Sam_BrzinaX);
- Kretanje = -1;
- ProvjeriSama();
- break;
- //desno (+)
- case DIK_D:
- paddleVelocity = (Sam_BrzinaX);
- Kretanje = 1;
- ProvjeriSama();
- break;
- //gore (-)
- case DIK_W:
- paddleVelocity2 = -(Sam_BrzinaY);
- KretanjeY=1;
- ProvjeriSama();
- break;
- //dolje (+)
- case DIK_S:
- paddleVelocity2 = (Sam_BrzinaY);
- KretanjeY=1;
- ProvjeriSama();
- break;
- //TRCANJE
- case DIK_LSHIFT:
- Sam_BrzinaX = 5-(2*SmanjiSamBrzinu);
- Sam_BrzinaY = 4-(2*SmanjiSamBrzinu);
- //TRCI LIJEVO
- if ( cursor->getX() + cursor->getWidth()/2 <= paddle->getX()+paddle->getWidth()/2 && trcanjeL == true)
- {
- trcanjeL=false;
- break;
- }
- //TRCI DESNO
- if (cursor->getX() + cursor->getWidth()/2 >=paddle->getX()+paddle->getWidth()/2 && trcanjeD == true)
- {
- trcanjeD=false;
- break;
- }
- break;
- }
- break;
- }
- }
- void LoadLevel()
- {
- if (RL_Level == 10) RL_Level = 9;
- g_engine->audio->StopAll();
- level=RL_Level;
- score=RL_Score;
- Sam_energy=RL_Sam_energy;
- oruzje=RL_oruzje;
- MunicijaRL=RL_MunicijaRL;
- MunicijaT=RL_MunicijaT;
- MunicijaMG=RL_MunicijaMG;
- MunicijaL=RL_MunicijaL;
- Tezina=RL_Tezina;
- if (RL_Tezina==SERIOUS) TezinaRazlika=0;
- else TezinaRazlika=1;
- enemy_count=BrojN[level];
- enemy_spawn_count=BrojN[level];
- noge->setTotalFrames(1);
- paddle->setTotalFrames(1);
- META->setPosition(100,400);
- paddleVelocity = 0.00;
- paddleVelocity2 = 0.00;
- Kretanje=0;
- KretanjeY=0;
- Sam_BrzinaX = 3.5-SmanjiSamBrzinu;
- Sam_BrzinaY = 3.0-SmanjiSamBrzinu;
- trcanjeD=true;
- trcanjeL=true;
- switch(RL_Level)
- {
- case 0:
- SkyBox1_S->setImage(SB_Vedrosoblacima);
- SkyBox2_S->setImage(SB_Vedrosoblacima);
- background->setImage(B_Level000);
- break;
- case 1:
- SkyBox1_S->setImage(SB_Vedrosoblacima);
- SkyBox2_S->setImage(SB_Vedrosoblacima);
- background->setImage(B_Level001);
- break;
- case 2:
- SkyBox1_S->setImage(SB_Vedrosoblacima);
- SkyBox2_S->setImage(SB_Vedrosoblacima);
- background->setImage(B_Level002);
- break;
- case 3:
- background->setImage(B_Level003);
- break;
- case 4:
- SkyBox1_S->setImage(SB_Vedrosoblacima2);
- SkyBox2_S->setImage(SB_Vedrosoblacima2);
- background->setImage(B_Level004);
- break;
- case 5:
- SkyBox1_S->setImage(SB_Vedrosoblacima2);
- SkyBox2_S->setImage(SB_Vedrosoblacima2);
- background->setImage(B_Level005);
- break;
- case 6:
- background->setImage(B_Level006);
- break;
- case 7:
- background->setImage(B_Level007);
- break;
- case 8:
- background->setImage(B_Level008);
- break;
- case 9:
- background->setImage(B_Level009);
- break;
- }
- if (level == 8 ) META->setPosition(10,390);
- cursor->setVisible(false);
- gameState = STATE_RESTART_L;
- }
- void game_keyRelease(int key)
- {
- switch (gameState)
- {
- case STATE_ANTONIOR:
- switch (key)
- {
- case DIK_ESCAPE:
- case DIK_RETURN:
- case DIK_SPACE:
- background->setImage(B_Croteam);
- gameState=STATE_CROTEAM;
- break;
- }
- break;
- case STATE_CROTEAM:
- switch (key)
- {
- case DIK_ESCAPE:
- case DIK_RETURN:
- case DIK_SPACE:
- g_engine->audio->Play("Sam_Sam_I_Am");
- background->setImage(B_SS2DTLGH);
- gameState=STATE_SS2DTLGH;
- break;
- }
- break;
- case STATE_SS2DTLGH:
- switch (key)
- {
- case DIK_ESCAPE:
- case DIK_RETURN:
- case DIK_SPACE:
- if ( g_engine->audio->IsPlaying("Music_AntonioR")==true ) g_engine->audio->Stop("Music_AntonioR");
- background->setImage(B_Menu);
- cursor->setVisible(true);
- gameState=STATE_MENU;
- break;
- }
- break;
- case STATE_INTRO:
- switch (key)
- {
- case DIK_ESCAPE:
- case DIK_RETURN:
- case DIK_SPACE:
- g_engine->audio->Stop("Music_SpaceIntro");
- background->setImage(B_Upute);
- gameState=STATE_UPUTE;
- break;
- }
- break;
- case STATE_UPUTE:
- switch (key)
- {
- default:
- LLAI(0);
- break;
- }
- break;
- case STATE_PLAY:
- switch (key)
- {
- //UPRAVLJANJE IGRACEM
- //HODANJE
- case DIK_LSHIFT:
- Sam_BrzinaX = 3.5-SmanjiSamBrzinu;
- Sam_BrzinaY = 3.0-SmanjiSamBrzinu;
- trcanjeD=true;
- trcanjeL=true;
- break;
- //BIRANJE ORUŽJA
- case DIK_2:
- oruzje=0;
- break;
- case DIK_3:
- oruzje=3;
- break;
- case DIK_4:
- if ( MunicijaMG > 0 ) oruzje=4;
- break;
- case DIK_5:
- if ( MunicijaRL > 0 ) oruzje=5;
- break;
- case DIK_7:
- if ( MunicijaL > 0 ) oruzje=7;
- break;
- case DIK_8:
- if ( MunicijaT > 0 ) oruzje=8;
- break;
- //BRZO BIRANJE NAJJACEG ORUZJA
- case DIK_Q:
- if ( MunicijaL > 0 ) {oruzje=7;break;}
- if ( MunicijaMG > 0 ) {oruzje=4;break;}
- oruzje=0;
- break;
- case DIK_E:
- if ( MunicijaT > 0 ) {oruzje=8;break;}
- if ( MunicijaRL > 0 ) {oruzje=5;break;}
- oruzje=3;
- break;
- //ZAUSTAVLJANJE
- case DIK_D:
- case DIK_A:
- paddleVelocity = 0.00;
- Kretanje = 0;
- noge->setTotalFrames(1);
- break;
- case DIK_S:
- case DIK_W:
- paddleVelocity2 = 0.00;
- KretanjeY=0;
- noge->setTotalFrames(1);
- break;
- case DIK_F9:
- g_engine->audio->StopAll();
- LoadLevel();
- break;
- //PREKID IGRE
- case DIK_ESCAPE:
- g_engine->audio->StopAll();
- gameState=STATE_GAMEOVER;
- boss->energy=0;
- BossEnergy=0;
- cursor->loadImage("Textures/Cursor_Menu.tga");
- cursor->setVisible(false);
- StartS->setImage(M_GameOver_T);
- StartS->setPosition(g_engine->getScreenWidth()/2-150, g_engine->getScreenHeight()/2-150);
- StartS->setColor(0xFFFFFFFF);
- break;
- /*case DIK_J:
- addBik();
- break;
- case DIK_T:
- addKamikaza('D');
- break;
- case DIK_Z:
- addGnaarFemale();
- break;
- case DIK_U:
- addGnaarMale();
- break;
- case DIK_I:
- addHarpija('D');
- break;
- case DIK_O:
- addSetacPlavi('D');
- break;
- case DIK_K:
- addSetacPlavi('L');
- break;
- case DIK_P:
- addSetacCrveni('D');
- break;
- case DIK_L:
- addSetacCrveni('L');
- break;
- case DIK_M:
- addBossHead();
- break;*/
- }//case STATE_PLAY
- break;
- case STATE_RESTART_L:
- switch (key)
- {
- default:
- LLAI(level);
- }
- break;
- case STATE_END:
- switch (key)
- {
- case DIK_RETURN:
- case DIK_ESCAPE:
- case DIK_SPACE:
- background->setImage(B_Credits);
- addCreditsText();
- addCreditsB();
- g_engine->audio->StopAll();
- g_engine->audio->Play("Music_Credits");
- gameState = STATE_CREDITS_K;
- break;
- }
- break;
- case STATE_TEZINA:
- switch (key)
- {
- case DIK_ESCAPE:
- g_engine->audio->Play("Press");
- BotuniMenu();
- break;
- }
- break;
- case STATE_GAMEOVER:
- case STATE_LOSER:
- switch (key)
- {
- case DIK_RETURN:
- LoadLevel();
- break;
- case DIK_ESCAPE:
- BotuniMenu();
- break;
- }
- break;
- case STATE_CREDITS:
- switch (key)
- {
- case DIK_ESCAPE:
- case DIK_RETURN:
- case DIK_SPACE:
- g_engine->Close();
- break;
- }
- break;
- case STATE_CREDITS_K:
- switch (key)
- {
- case DIK_SPACE:
- case DIK_RETURN:
- case DIK_ESCAPE:
- BotuniMenu();
- g_engine->audio->StopAll();
- break;
- }
- break;
- }//switch gamestate
- switch (key)
- {
- case DIK_F12:
- konzola=!konzola;
- break;
- }
- }
- //UREDJENO
- void game_render3d()
- {
- g_engine->ClearScene(D3DCOLOR_XRGB(0,0,0));
- }
- void game_mouseButton(int button)
- {
- switch(button)
- {
- case 1:
- if (SecondaryFire==true)
- {
- //DESNI BOTUN - SECONDARY FIRE
- //MINIGUN
- if (gameState == STATE_PLAY && oruzje == 4 && MunicijaMG > 0 && Sam_Pucaj.stopwatch(BrzinaOruzja[2]-25))
- {
- firebullet(2);
- break;
- }
- //ROCKET LAUNCHER
- if (gameState == STATE_PLAY && oruzje == 5 && MunicijaRL > 0 && Sam_Pucaj.stopwatch(BrzinaOruzja[3]+150))
- {
- firebullet(2);
- break;
- }
- //LASER
- if (gameState == STATE_PLAY && oruzje == 7 && MunicijaL > 0 && Sam_Pucaj.stopwatch(BrzinaOruzja[4]+20))
- {
- firebullet(2);
- break;
- }
- }
- break;
- case 0:
- //LIJEVI BOTUN - PRIMARY FIRE
- if (gameState==STATE_PLAY)
- {
- if (oruzje == 0 && Sam_Pucaj.stopwatch(BrzinaOruzja[0])) firebullet(1);
- if (oruzje == 3 && Sam_Pucaj.stopwatch(BrzinaOruzja[1])) firebullet(1);
- if (oruzje == 4 && MunicijaMG > 0 && Sam_Pucaj.stopwatch(BrzinaOruzja[2])) firebullet(1);
- if (oruzje == 5 && MunicijaRL > 0 && Sam_Pucaj.stopwatch(BrzinaOruzja[3])) firebullet(1);
- if (oruzje == 7 && MunicijaL > 0 && Sam_Pucaj.stopwatch(BrzinaOruzja[4])) firebullet(1);
- if (oruzje == 8 && MunicijaT > 0 && Sam_PucajTop.stopwatch(BrzinaOruzja[5]))
- {
- firebullet(1);
- }
- }
- //MAIN MENU
- if (gameState==STATE_MENU)
- {
- //MENU START
- if ((cursor->getX() > StartS->getX()) && (cursor->getX() < StartS->getX()+StartS->getWidth()) && (cursor->getY() > StartS->getY()) && (cursor->getY() < StartS->getY()+StartS->getHeight()))
- {
- g_engine->audio->Play("Press");
- StartS->setImage(M_Tezina_T);
- StartS->setPosition(g_engine->getScreenWidth()/2-150, g_engine->getScreenHeight()/2-150);
- StartS->setColor(0xFFFFFFFF);
- LoadS->setImage(M_Normal_T);
- LoadS->setSize(150,50);
- LoadS->setColor(0xFFFFFFFF);
- SaveS->setImage(M_Serious_T);
- SaveS->setSize(150,50);
- SaveS->setColor(0xFFFFFFFF);
- gameState = STATE_TEZINA;
- }
- //MENU LOAD
- if ((cursor->getX() > LoadS->getX()) && (cursor->getX() < LoadS->getX()+LoadS->getWidth()) && (cursor->getY() > LoadS->getY()) && (cursor->getY() < LoadS->getY()+LoadS->getHeight()))
- {
- if (RL_Level != 0)
- {
- g_engine->audio->Play("Press");
- LoadLevel();
- }
- }
- //MENU QUIT
- if ((cursor->getX() > QuitS->getX()) && (cursor->getX() < QuitS->getX()+QuitS->getWidth()) && (cursor->getY() > QuitS->getY()) && (cursor->getY() < QuitS->getY()+QuitS->getHeight()))
- {
- g_engine->audio->Play("Press");
- StartS->setImage(M_AreYouSerious_T);
- StartS->setSize(300,50);
- StartS->setPosition(g_engine->getScreenWidth()/2-150, g_engine->getScreenHeight()/2-105);
- StartS->setColor(0xFFFFFFFF);
- LoadS->setImage(M_Yes_T);
- LoadS->setSize(150,50);
- LoadS->setColor(0xFFFFFFFF);
- SaveS->setImage(M_No_T);
- SaveS->setSize(150,50);
- SaveS->setColor(0xFFFFFFFF);
- gameState=STATE_EXIT;
- }
- }
- //TEZINA
- if (gameState==STATE_TEZINA)
- {
- //NORMAL
- if ((cursor->getX() > LoadS->getX()) && (cursor->getX() < LoadS->getX()+LoadS->getWidth()) && (cursor->getY() > LoadS->getY()) && (cursor->getY() < LoadS->getY()+LoadS->getHeight()))
- {
- background->setImage(B_Intro);
- Tezina=NORMAL;
- cursor->setVisible(false);
- g_engine->audio->Play("Press");
- gameState = STATE_INTRO;
- g_engine->audio->Play("Music_SpaceIntro");
- addIntroText();
- }
- //SERIOUS
- if ((cursor->getX() > SaveS->getX()) && (cursor->getX() < SaveS->getX()+SaveS->getWidth()) && (cursor->getY() > SaveS->getY()) && (cursor->getY() < SaveS->getY()+SaveS->getHeight()))
- {
- background->setImage(B_Intro);
- Tezina=SERIOUS;
- cursor->setVisible(false);
- g_engine->audio->Play("Press");
- gameState = STATE_INTRO;
- g_engine->audio->Play("Music_SpaceIntro");
- addIntroText();
- }
- }//TEZINA
- //EXIT GAME MENU
- if (gameState==STATE_EXIT)
- {
- //EXIT YES
- if ((cursor->getX() > LoadS->getX()) && (cursor->getX() < LoadS->getX()+LoadS->getWidth()) && (cursor->getY() > LoadS->getY()) && (cursor->getY() < LoadS->getY()+LoadS->getHeight()))
- {
- g_engine->audio->Play("Press");
- cursor->setVisible(false);
- background->setImage(B_Credits);
- addCreditsText();
- addCreditsB();
- g_engine->audio->Play("Music_Credits");
- gameState=STATE_CREDITS;
- }
- //EXIT NO
- if ((cursor->getX() > SaveS->getX()) && (cursor->getX() < SaveS->getX()+SaveS->getWidth()) && (cursor->getY() > SaveS->getY()) && (cursor->getY() < SaveS->getY()+SaveS->getHeight()))
- {
- g_engine->audio->Play("Press");
- BotuniMenu();
- }
- }
- break;
- }
- }
- void game_mouseMove(int x,int y)
- {
- float fx = (float)x;
- float fy = (float)y;
- cursor->setPosition(fx,fy);
- }
- void game_mouseWheel(int wheel){ }
- void game_mouseMotion(int x,int y) { }
- void game_entityRender(Entity* entity){ }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement