Exemple #1
0
void Level6_Load(struct Game *game) {
	Moonwalk_Load(game);
	TM_AddAction(&DoMoonwalk, NULL, "moonwalk");
	TM_AddBackgroundAction(&DoMoonwalk, NULL, 5000, "moonwalkDerp");
	TM_AddBackgroundAction(&PassLevel, NULL, 10000, "passlevel");
	FadeGameState(game, true);
}
Exemple #2
0
void Level4_Load(struct Game *game) {
	Moonwalk_Load(game);
	TM_AddAction(&DoMoonwalk, NULL, "moonwalk");
	TM_AddAction(&PassLevel, NULL, "passlevel");
	TM_AddBackgroundAction(&ShowMeter, NULL, 0, "showmeter");
	FadeGameState(game, true);
}
Exemple #3
0
void Level1_Load(struct Game *game) {
	Dodger_Load(game);
	TM_AddBackgroundAction(&FadeIn, NULL, 0, "fadein");
	TM_AddDelay(1000);
	TM_AddQueuedBackgroundAction(&Welcome, NULL, 0, "welcome");
	TM_AddDelay(1000);
	TM_AddAction(&Walk, NULL, "walk");
	TM_AddAction(&Move, NULL, "move");
	TM_AddAction(&Stop, NULL, "stop");
	TM_AddDelay(1000);
	TM_AddAction(&Letter, NULL, "letter");
	TM_AddDelay(200);
	TM_AddQueuedBackgroundAction(&Accelerate, NULL, 0, "accelerate");
	TM_AddAction(&Fly, NULL, "fly");
	TM_AddDelay(500);
	/* first part gameplay goes here */

	/* actions for generating obstacles should go here
	* probably as regular actions. When one ends, harder one
	* begins. After last one part with muffins starts. */
	TM_AddAction(&GenerateObstacles, NULL, "obstacles");
	TM_AddDelay(3*1000);
	/* wings disappear, deccelerate */
	TM_AddAction(&Run, NULL, "run");
	TM_AddDelay(3*1000);
	/* show Fluttershy's house

	// second part gameplay goes here

	// cutscene goes here */
	TM_AddAction(&PassLevel, NULL, "passlevel");

	// init level specific obstacle for Dodger module
	struct Obstacle *obst = malloc(sizeof(struct Obstacle));
	obst->prev = NULL;
	obst->next = NULL;
	obst->x = 83.5;
	obst->y = 55;
	obst->speed = 1;
	obst->points = 0;
	obst->hit = false;
	obst->rows = 1;
	obst->cols = 1;
	obst->pos = 0;
	obst->blanks = 0;
	obst->anim_speed = 0;
	obst->tmp_pos = 0;
	obst->angle = 0;
	obst->callback = NULL;
	obst->data = NULL;
	obst->bitmap = &(game->level.level1.owl);
	game->level.dodger.obstacles = obst;
}
Exemple #4
0
bool Fly(struct Game *game, struct TM_Action *action, enum TM_ActionState state) {
	if (state == TM_ACTIONSTATE_START) {
		SelectDerpySpritesheet(game, "fly");
		game->level.derpy_angle = -0.15;
		TM_AddBackgroundAction(&ShowMeter, NULL, 0, "showmeter");
	}
	else if (state == TM_ACTIONSTATE_DESTROY) {
		game->level.handle_input = true;
	}
	else if (state != TM_ACTIONSTATE_RUNNING) return false;
	game->level.derpy_y-=0.004;
	if (game->level.derpy_y<=0.2) return true;
	return false;
}
Exemple #5
0
bool Type(struct Game *game, struct TM_Action *action, enum TM_ActionState state) {
	struct GamestateResources *data = TM_GetArg(action->arguments, 0);
	if (state == TM_ACTIONSTATE_RUNNING) {
		strncpy(data->text, text, data->pos++);
		data->text[data->pos] = 0;
		if (strcmp(data->text, text) != 0) {
			TM_AddBackgroundAction(data->timeline, Type, TM_AddToArgs(NULL, 1, data), 60 + rand() % 60, "type");
		} else{
			al_stop_sample_instance(data->kbd);
		}
		return true;
	}
	return false;
}