コード例 #1
0
ファイル: game.c プロジェクト: tivervac/UGentProjects
void update_movement(GameState * state) {
	register int i;

	if (((state->wave.spawn_counter % 10 == 0 && !state->wave.completed) || (state->wave.cool_down_counter % 10 == 0 && state->wave.cool_down_counter != 0)) && state->mana != MANA_MAX) {
		if (state->mana + MANA_UPDATE < MANA_MAX) {
			state->mana += MANA_UPDATE;
		} else {
			state->mana += MANA_MAX - state->mana;
		}
	}
	//als frost wave actief is is er geen movement
	if (!state->spells.frost_wave_active) {
		//pad moet herberekend worden
		if (state->refresh_paths) {
			for (i = 0; i < state->enemies_length; i++) {
				if (state->enemies[i].enemy.alive) {
					refresh_path(&state->enemies[i].enemy.path, &state->world);
				}
			}
			state->refresh_paths = 0;
		}
		move_enemies(state);
	}
	move_projectiles(state);
}
コード例 #2
0
// ZZZ: split out from update_world()'s loop.
static int
update_world_elements_one_tick()
{
	if (m1_solo_player_in_terminal()) 
	{
		update_m1_solo_player_in_terminal(GameQueue);
	} 
	else
	{
		L_Call_Idle();
		
		update_lights();
		update_medias();
		update_platforms();
		
		update_control_panels(); // don't put after update_players
		update_players(GameQueue, false);
		move_projectiles();
		move_monsters();
		update_effects();
		recreate_objects();
		
		handle_random_sound_image();
		animate_scenery();
		
		// LP additions:
		if (film_profile.animate_items)
		{
			animate_items();
		}
		
		AnimTxtr_Update();
		ChaseCam_Update();
		motion_sensor_scan();
		check_m1_exploration();
		
#if !defined(DISABLE_NETWORKING)
		update_net_game();
#endif // !defined(DISABLE_NETWORKING)
	}

        if(check_level_change()) 
        {
                return kUpdateChangeLevel;
        }

#if !defined(DISABLE_NETWORKING)
        if(game_is_over())
        {
                return kUpdateGameOver;
        }
#endif // !defined(DISABLE_NETWORKING)

        dynamic_world->tick_count+= 1;
        dynamic_world->game_information.game_time_remaining-= 1;
        
        return kUpdateNormalCompletion;
}