Example #1
0
void cEato::Update_Dying(void)
{
    m_counter += pFramerate->m_speed_factor;

    if (!Is_Float_Equal(m_rot_z, 180.0f))
    {
        Set_Active(0);
    }
    else
    {
        if (m_counter < 5.0f)
        {
            Move(0.0f, -5.0f);
        }
        else if (m_pos_y < game_res_h + m_col_rect.m_h)
        {
            Move(0.0f, 20.0f);
        }
        else
        {
            m_rot_z = 0.0f;
            Set_Active(0);
        }
    }
}
Example #2
0
void cStaticEnemy :: Update_Dying( void )
{
	m_counter += pFramerate->m_speed_factor * 0.1f;

	// falling death

	// a little bit upwards first
	if( m_counter < 0.3f )
	{
		Move( 0.0f, -5.0f );
	}
	// if not below the screen fall
	else if( m_pos_y < game_res_h + m_col_rect.m_h )
	{
		Move( 0.0f, 20.0f );

		Add_Scale( -pFramerate->m_speed_factor * 0.01f );
	}
	// if below disable
	else
	{
		m_rot_z = 0.0f;
		Set_Scale( 1.0f );
		Set_Active( 0 );
	}
}
Example #3
0
void cRokko :: Activate( void )
{
	pAudio->Play_Sound( "enemy/rokko/activate.wav" );

	m_state = STA_FLY;
	m_massive_type = MASS_MASSIVE;
	Set_Active( 1 );

	if( m_direction == DIR_LEFT )
	{
		Set_Velocity( -m_speed, 0.0f );
	}
	else	if( m_direction == DIR_RIGHT )
	{
		Set_Velocity( m_speed, 0.0f );
	}
	else if( m_direction == DIR_UP )
	{
		Set_Velocity( 0.0f, -m_speed );
	}
	else if( m_direction == DIR_DOWN )
	{
		Set_Velocity( 0.0f, m_speed );
	}
}
Example #4
0
void cRokko :: Init( void  )
{
	m_type = TYPE_ROKKO;
	m_massive_type = MASS_PASSIVE;
	m_pos_z = 0.03f;
	m_editor_pos_z = 0.09f;
	m_can_be_on_ground = 0;
	m_player_range = 4000;
	Set_Rotation_Affects_Rect( 1 );
	Set_Active( 0 );

	m_fire_resistant = 0;
	m_ice_resistance = 1;
	m_can_be_hit_from_shell = 0;

	Set_Direction( DIR_LEFT );
	Set_Speed( 8.5f );
	m_min_distance_front = 200;
	Set_Max_Distance_Front( 1000 );
	Set_Max_Distance_Sides( 400 );
	m_state = STA_STAY;

	m_smoke_counter = 0;

	m_kill_sound = "enemy/rokko/hit.wav";
	m_kill_points = 250;
	m_life_left = 500;
}
Example #5
0
void cRokko :: Update_Dying( void )
{
	// add gravity
	if( m_vely < 25 )
	{
		Add_Velocity( 0, 1.5f );
	}

	Move( m_velx, m_vely );

	if( m_rot_z - m_start_rot_z < 90 )
	{
		Add_Rotation_Z( pFramerate->m_speed_factor );
	}

	// generate smoke
	m_smoke_counter += pFramerate->m_speed_factor * 4;
	if( m_smoke_counter >= 2 )
	{
		Generate_Smoke( static_cast<int>(m_smoke_counter) );
		Generate_Sparks( static_cast<int>(m_smoke_counter * 0.5f) );
		m_smoke_counter -= static_cast<int>(m_smoke_counter);
	}

	// below ground
	if( m_col_rect.m_y - 200.0f > pActive_Camera->limit_rect.m_y + game_res_h )
	{
		m_rot_z = 0.0f;
		m_massive_type = MASS_PASSIVE;
		Set_Active( 0 );
		m_velx = 0.0f;
	}
}
Example #6
0
void cRokko::Update_Normal_Dying(void)
{
    if (m_vely < m_gravity_max) {
        Add_Velocity_Y_Max(1.5f, m_gravity_max);
    }

    if (m_dying_counter >= 5.0f && m_curr_img < 3)
        Set_Image_Num(3);
    else if (m_dying_counter >= 10.0f && m_curr_img == 3)
        Set_Image_Num(4);
    else if (m_dying_counter >= 15.0f && m_curr_img == 4)
        Set_Image_Num(5);

    Move(m_velx, m_vely);

    if (m_rot_z - m_start_rot_z < 90) {
        Add_Rotation_Z(pFramerate->m_speed_factor);
    }

    // generate smoke
    m_smoke_counter += pFramerate->m_speed_factor * 4;
    if (m_smoke_counter >= 2.0f) {
        Generate_Smoke(static_cast<int>(m_smoke_counter));
        Generate_Sparks(static_cast<int>(m_smoke_counter * 0.5f));
        m_smoke_counter -= static_cast<int>(m_smoke_counter);
    }

    // below ground
    if (m_col_rect.m_y - 200.0f > pActive_Camera->m_limit_rect.m_y + game_res_h) {
        m_rot_z = 0.0f;
        m_massive_type = MASS_PASSIVE;
        Set_Active(0);
        m_velx = 0.0f;
    }
}
Example #7
0
void cMouseCursor :: Double_Click( void )
{
	clickcounter = 0;
	
	Leveleditor_CollsionCheck( posx, posy );

	Set_Active( iCollisionType, iCollisionNumber );
}
Example #8
0
void cSpikeball :: Update_Dying( void )
{
	// stomp death
	if( !Is_Float_Equal( m_rot_z, 180.0f ) )
	{
		// scale out
		float speed = pFramerate->m_speed_factor * 0.05f;

		Add_Scale_X( -speed * 0.5f );
		Add_Scale_Y( -speed );

		if( m_scale_y < 0.01f )
		{
			Set_Scale( 1.0f );
			Set_Active( 0 );
		}
	}
	// falling death
	else
	{
		m_counter += pFramerate->m_speed_factor * 0.1f;

		// a little bit upwards first
		if( m_counter < 0.3f )
		{
			Move( 0.0f, -5.0f );
		}
		// if not below the ground : fall
		else if( m_col_rect.m_y < pActive_Camera->m_limit_rect.m_y )
		{
			Move( 0.0f, 20.0f );
			Add_Scale( -pFramerate->m_speed_factor * 0.01f );
		}
		// if below disable
		else
		{
			m_rot_z = 0.0f;
			Set_Scale( 1.0f );
			Set_Active( 0 );
		}
	}
}
Example #9
0
void cOverworld_Manager :: Reset( void )
{
	// default Overworld
	Set_Active( "World 1" );

	// Set Player to first Waypoint
	pOverworld_Player->Set_Waypoint( pActive_Overworld->m_player_start_waypoint );

	// Reset all Waypoints
	for( vector<cOverworld *>::iterator itr = objects.begin(); itr != objects.end(); ++itr )
	{
		(*itr)->Reset_Waypoints();
	}
}
Example #10
0
void cMenuHandler :: Add_Menu_Item( cMenu_Item *item, float shadow_pos /* = 0 */, Color shadow_color /* = static_cast<Uint8>(0) */ )
{
	if( !item )
	{
		printf( "Menu item is NULL ( current Menu size : %d )\n", Get_Size() );
		return;
	}

	item->Set_Shadow_Pos( shadow_pos );
	item->Set_Shadow_Color( shadow_color );
	item->Set_Image( item->image_default->m_image );
	items.push_back( item );

	if( active == -1 && Get_Size() == 1 )
	{
		Set_Active( 0 );
	}
}
Example #11
0
 void cStaticEnemy::Update_Dying(void)
 {
     m_counter += pFramerate->m_speed_factor * 0.1f;
     
     if (m_counter < 0.3f)
     {
         Move(0.0f, -5.0f);
     }
     else if (m_pos_y < game_res_h + m_col_rect.m_h)
     {
         Move(0.0f, 20.0f);
         Add_Scale(-pFramerate->m_speed_factor * 0.01f);
     }
     else
     {
         m_rot_z = 0.0f;
         Set_Scale(1.0f);
         Set_Active(0);
     }
 }
Example #12
0
 void cMoon::Activate(void)
 {
     if (!m_active)
     {
         return;
     }
     
     pPlayer->Get_Item(TYPE_MOON);
     
     pHud_Points->Add_Points(4000, m_pos_x + m_image->m_w / 2, m_pos_y);
     
     if (m_spawned)
     {
         Destroy();
     }
     else
     {
         Set_Active(0);
     }
 }
Example #13
0
 void cFirePlant::Activate(void)
 {
     if (!m_active)
     {
         return;
     }
     
     pPlayer->Get_Item(TYPE_FIREPLANT);
     
     pHud_Points->Add_Points(700, m_pos_x + m_image->m_w / 2, m_pos_y);
     
     if (m_spawned)
     {
         Destroy();
     }
     else
     {
         Set_Active(0);
     }
 }
Example #14
0
void cMushroom :: Activate( void )
{
	if( !m_active )
	{
		return;
	}

	pPlayer->Get_Item( m_type );

	if( m_type == TYPE_MUSHROOM_DEFAULT )
	{
		pHud_Points->Add_Points( 500, m_pos_x + (m_rect.m_w * 0.5f), m_pos_y + 3 );
	}
	else if( m_type == TYPE_MUSHROOM_LIVE_1 )
	{
		pHud_Points->Add_Points( 1000, m_pos_x + (m_rect.m_w * 0.5f), m_pos_y + 3 );
	}
	else if( m_type == TYPE_MUSHROOM_POISON )
	{
		// nothing
	}
	else if( m_type == TYPE_MUSHROOM_BLUE )
	{
		pHud_Points->Add_Points( 700, m_pos_x + (m_rect.m_w * 0.5f), m_pos_y + 3 );
	}
	else if( m_type == TYPE_MUSHROOM_GHOST )
	{
		pHud_Points->Add_Points( 800, m_pos_x + (m_rect.m_w * 0.5f), m_pos_y + 3 );
	}

	// if spawned destroy
	if( m_spawned )
	{
		Destroy();
	}
	// hide
	else
	{
		Set_Active( 0 );
	}
}
Example #15
0
void cRokko::Init(void)
{
    m_type = TYPE_ROKKO;
    m_name = "Rokko";
    m_massive_type = MASS_PASSIVE;
    m_pos_z = 0.03f;
    m_gravity_max = 0;
    m_editor_pos_z = 0.09f;
    m_can_be_on_ground = 0;
    m_camera_range = 4000;
    Set_Rotation_Affects_Rect(1);
    Set_Active(0);

    m_fire_resistant = 1;
    m_ice_resistance = 1;
    m_can_be_hit_from_shell = 0;

    Set_Direction(DIR_LEFT);
    Set_Speed(8.5f);
    m_min_distance_front = 200;
    Set_Max_Distance_Front(1000);
    Set_Max_Distance_Sides(400);
    m_state = STA_STAY;
    m_manual = false;

    m_smoke_counter = 0;

    m_kill_sound = "enemy/rokko/hit.wav";
    m_kill_points = 250;

    Add_Image(pVideo->Get_Surface("enemy/rokko/yellow/fly_1.png"));
    Add_Image(pVideo->Get_Surface("enemy/rokko/yellow/fly_2.png"));
    Add_Image(pVideo->Get_Surface("enemy/rokko/yellow/fly_3.png"));
    Add_Image(pVideo->Get_Surface("enemy/rokko/yellow/break_1.png"));
    Add_Image(pVideo->Get_Surface("enemy/rokko/yellow/break_2.png"));
    Add_Image(pVideo->Get_Surface("enemy/rokko/yellow/break_3.png"));
    Set_Image_Num(0, true);
    Set_Animation(true);
    Set_Animation_Image_Range(0, 2);
    Set_Time_All(130, true);
}
Example #16
0
void cMenuHandler :: Update_Mouse( void )
{
	int found = -1;

	// check
	for( unsigned int i = 0; i < items.size(); i++ )
	{
		if( items[i]->m_col_rect.Intersects( static_cast<float>(pMouseCursor->m_x), static_cast<float>(pMouseCursor->m_y) ) )
		{
			found = i;
			break;
		}
	}

	// ignore mouse init
	if( found < 0 && input_event.motion.x == pMouseCursor->m_x )
	{
		return;
	}

	Set_Active( found );
}
Example #17
0
void cFlyon::Update_Normal_Dying()
{
    // Immediately disappears
    Set_Active(false);
}
Example #18
0
 void cPowerUp::Load_From_Savegame(cSave_Level_Object* save_object)
 {
     bool save_visible = string_to_int(save_object->Get_Value("active")) > 0;
     Set_Active(save_visible);
 }
Example #19
0
bool cOverworld_Manager :: Set_Active( const std::string &str ) 
{
	return Set_Active( Get( str ) );
}