From a74403bfbf9816bb210033508e08bd765dbba80f Mon Sep 17 00:00:00 2001 From: Sebastian Krzyszkowiak Date: Wed, 16 May 2012 18:18:52 +0200 Subject: [PATCH] Discord-rock animation in intro, Qt Creator project files, better vsync handling --- Makefile | 2 ++ SuperDerpy.config | 1 + SuperDerpy.creator | 1 + SuperDerpy.files | 24 ++++++++++++++++++++++++ SuperDerpy.includes | 1 + src/intro.c | 4 ++-- src/loading.c | 1 + src/main.c | 6 +++--- 8 files changed, 35 insertions(+), 5 deletions(-) create mode 100644 SuperDerpy.config create mode 100644 SuperDerpy.creator create mode 100644 SuperDerpy.files create mode 100644 SuperDerpy.includes diff --git a/Makefile b/Makefile index 1a9fa92..48a090d 100644 --- a/Makefile +++ b/Makefile @@ -17,6 +17,8 @@ $(ODIR)/%.o: $(SRCDIR)/%.c $(OUTPUTDIR)/superderpy: $(OBJ) $(CC) -o $@ $^ $(CFLAGS) $(LIBS) +all: $(OUTPUTDIR)/superderpy + .PHONY: clean clean: diff --git a/SuperDerpy.config b/SuperDerpy.config new file mode 100644 index 0000000..8cec188 --- /dev/null +++ b/SuperDerpy.config @@ -0,0 +1 @@ +// ADD PREDEFINED MACROS HERE! diff --git a/SuperDerpy.creator b/SuperDerpy.creator new file mode 100644 index 0000000..e94cbbd --- /dev/null +++ b/SuperDerpy.creator @@ -0,0 +1 @@ +[General] diff --git a/SuperDerpy.files b/SuperDerpy.files new file mode 100644 index 0000000..f2e4693 --- /dev/null +++ b/SuperDerpy.files @@ -0,0 +1,24 @@ +src/about.c +src/about.h +src/allegro_utils.c +src/allegro_utils.h +src/config.c +src/config.h +src/intro.c +src/intro.h +src/level.c +src/level.h +src/loading.c +src/loading.h +src/main.c +src/main.h +src/map.c +src/map.h +src/menu.c +src/menu.h +src/moonwalk.c +src/moonwalk.h +src/pause.c +src/pause.h +src/timeline.c +src/timeline.h \ No newline at end of file diff --git a/SuperDerpy.includes b/SuperDerpy.includes new file mode 100644 index 0000000..913dd22 --- /dev/null +++ b/SuperDerpy.includes @@ -0,0 +1 @@ +/home/dos/git/SuperDerpy/src \ No newline at end of file diff --git a/src/intro.c b/src/intro.c index b8dc6ea..c923929 100644 --- a/src/intro.c +++ b/src/intro.c @@ -208,9 +208,9 @@ void Intro_Preload(struct Game *game) { game->intro.in_animation = false; game->intro.anim = 0; - game->intro.animsprites[0] = LoadScaledBitmap("intro/discord.png", al_get_display_width(game->display)*0.3125*3, al_get_display_height(game->display)*0.63*3); + game->intro.animsprites[0] = LoadScaledBitmap("intro/1.png", al_get_display_width(game->display)*0.3125*3, al_get_display_height(game->display)*0.63*3); game->intro.animsprites[1] = LoadScaledBitmap("levels/derpy/walk.png", al_get_display_width(game->display)*0.3125*3, al_get_display_height(game->display)*0.63*3); - game->intro.animsprites[2] = LoadScaledBitmap("intro/zombie.png", al_get_display_width(game->display)*0.3125*3, al_get_display_height(game->display)*0.63*3); + game->intro.animsprites[2] = LoadScaledBitmap("intro/3.png", al_get_display_width(game->display)*0.3125*3, al_get_display_height(game->display)*0.63*3); game->intro.animsprites[3] = LoadScaledBitmap("loading.png", al_get_display_width(game->display)*0.3125*3, al_get_display_height(game->display)*0.63*3); game->intro.animsprites[4] = LoadScaledBitmap("about/letter.png", al_get_display_width(game->display)*0.3125*3, al_get_display_height(game->display)*0.63*3); diff --git a/src/loading.c b/src/loading.c index 3ba33c6..90659f4 100644 --- a/src/loading.c +++ b/src/loading.c @@ -36,6 +36,7 @@ void Loading_Draw(struct Game *game) { PreloadGameState(game); + al_wait_for_vsync(); al_start_timer(game->timer); for(fadeloop=255; fadeloop>0; fadeloop-=tps(game, 600)){ diff --git a/src/main.c b/src/main.c index cb97d21..e0331f5 100644 --- a/src/main.c +++ b/src/main.c @@ -1,5 +1,4 @@ -/*! \file main.c - * \brief Main file of SuperDerpy engine. +/*! \file main.c * \brief Main file of SuperDerpy engine. * * Contains basic functions shared by all views. */ @@ -343,7 +342,7 @@ int main(int argc, char **argv){ if (game.fullscreen) al_set_new_display_flags(ALLEGRO_FULLSCREEN_WINDOW); else al_set_new_display_flags(ALLEGRO_WINDOWED); - al_set_new_display_option(ALLEGRO_VSYNC, atoi(GetConfigOptionDefault("SuperDerpy", "vsync", "1")), ALLEGRO_SUGGEST); + al_set_new_display_option(ALLEGRO_VSYNC, 2-atoi(GetConfigOptionDefault("SuperDerpy", "vsync", "1")), ALLEGRO_SUGGEST); al_set_new_display_option(ALLEGRO_OPENGL, atoi(GetConfigOptionDefault("SuperDerpy", "opengl", "1")), ALLEGRO_SUGGEST); al_set_new_display_option(ALLEGRO_SAMPLE_BUFFERS, 1, ALLEGRO_SUGGEST); al_set_new_display_option(ALLEGRO_SAMPLES, 8, ALLEGRO_SUGGEST); @@ -408,6 +407,7 @@ int main(int argc, char **argv){ return -1; } al_register_event_source(game.event_queue, al_get_timer_event_source(game.timer)); + al_wait_for_vsync(); al_start_timer(game.timer); setlocale(LC_NUMERIC, "C"); /* FIXME? */