From 3f16d776cf00830a7ec2b99720d601f3576d8f4d Mon Sep 17 00:00:00 2001 From: Sebastian Krzyszkowiak Date: Thu, 17 May 2012 00:18:19 +0200 Subject: [PATCH] some work on health meter --- SuperDerpy.creator.user | 184 ++++++++++++++++++++++++++++++++++++++++ src/level.c | 8 +- src/main.c | 2 +- src/main.h | 1 + 4 files changed, 193 insertions(+), 2 deletions(-) create mode 100644 SuperDerpy.creator.user diff --git a/SuperDerpy.creator.user b/SuperDerpy.creator.user new file mode 100644 index 0000000..651c34c --- /dev/null +++ b/SuperDerpy.creator.user @@ -0,0 +1,184 @@ + + + + + + GenericProjectManager.GenericProject.Toolchain + ProjectExplorer.ToolChain.Gcc:{2a0f2a2f-6b3a-4e88-a8f0-c4e642a21298} + + + ProjectExplorer.Project.ActiveTarget + 0 + + + ProjectExplorer.Project.EditorSettings + + true + false + true + + Cpp + + qt2 + + + + QmlJS + + QmlJSGlobal + + + 2 + UTF-8 + false + 2 + false + true + 1 + true + 0 + false + 0 + 2 + true + 1 + true + true + true + false + + + + ProjectExplorer.Project.PluginSettings + + + + ProjectExplorer.Project.Target.0 + + Desktop + + GenericProjectManager.GenericTarget + 0 + 0 + 0 + + /home/dos/git/SuperDerpy + ProjectExplorer.ToolChain.Gcc:{2a0f2a2f-6b3a-4e88-a8f0-c4e642a21298} + + + + false + + + true + Make + + GenericProjectManager.GenericMakeStep + + 1 + Build + + ProjectExplorer.BuildSteps.Build + + + + + clean + + true + + + true + Make + + GenericProjectManager.GenericMakeStep + + 1 + Clean + + ProjectExplorer.BuildSteps.Clean + + 2 + false + + + all + GenericProjectManager.GenericBuildConfiguration + + 1 + + + 0 + Deploy + + ProjectExplorer.BuildSteps.Deploy + + 1 + No deployment + + ProjectExplorer.DefaultDeployConfiguration + + 1 + + true + + false + false + false + false + true + 0.01 + 10 + true + 25 + + true + valgrind + + 0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + + + 2 + /home/dos/git/SuperDerpy/bin/superderpy + false + + %{buildDir} + Run /home/dos/git/SuperDerpy/bin/superderpy + + ProjectExplorer.CustomExecutableRunConfiguration + 3768 + true + false + false + false + + 1 + + + + ProjectExplorer.Project.TargetCount + 1 + + + ProjectExplorer.Project.Updater.EnvironmentId + {fc481edd-1ba5-4cbf-a13f-1230f28a6d76} + + + ProjectExplorer.Project.Updater.FileVersion + 11 + + diff --git a/src/level.c b/src/level.c index 4468a81..895d89e 100644 --- a/src/level.c +++ b/src/level.c @@ -291,6 +291,7 @@ void Level_Draw(struct Game *game) { free(t); } } + if (colision) game->level.hp-=0.0005; al_hold_bitmap_drawing(false); al_set_target_bitmap(game->level.derpy); @@ -327,9 +328,13 @@ void Level_Draw(struct Game *game) { al_set_target_bitmap(game->level.meter_bmp); al_clear_to_color(al_map_rgba(0,0,0,0)); - al_draw_horizontal_gradient_rect(al_get_bitmap_width(game->level.meter_bmp)-al_get_display_width(game->display)*0.215, (al_get_bitmap_height(game->level.meter_bmp)-al_get_display_height(game->display)*0.025)/2, al_get_display_width(game->display)*0.215, al_get_display_height(game->display)*0.025, al_map_rgb(255,0,0), al_map_rgb(0,255,0)); + al_draw_filled_rounded_rectangle(al_get_bitmap_width(game->level.meter_bmp)*0.1, al_get_bitmap_height(game->level.meter_bmp)*0.3, al_get_bitmap_width(game->level.meter_bmp), al_get_bitmap_height(game->level.meter_bmp)*0.7, + 7.5,7.5, al_map_rgb(232,234,239)); + al_draw_horizontal_gradient_rect(al_get_bitmap_width(game->level.meter_bmp)-al_get_display_width(game->display)*0.215, (al_get_bitmap_height(game->level.meter_bmp)-al_get_display_height(game->display)*0.025)/2, al_get_display_width(game->display)*0.215*0.975, al_get_display_height(game->display)*0.025, al_map_rgb(150,159,182), al_map_rgb(130,139,162)); + al_draw_filled_rectangle(al_get_bitmap_width(game->level.meter_bmp)-al_get_display_width(game->display)*0.215, (al_get_bitmap_height(game->level.meter_bmp)-al_get_display_height(game->display)*0.025)/2, al_get_bitmap_width(game->level.meter_bmp)-al_get_display_width(game->display)*0.215+(al_get_display_width(game->display)*0.215*0.975)*game->level.hp, (al_get_bitmap_height(game->level.meter_bmp)-al_get_display_height(game->display)*0.025)/2+al_get_display_height(game->display)*0.025, al_map_rgb(214,172,55)); al_draw_bitmap(game->level.meter_image, 0, 0, 0); al_set_target_bitmap(al_get_backbuffer(game->display)); + al_draw_tinted_bitmap(game->level.meter_bmp, al_map_rgba(game->level.meter_alpha,game->level.meter_alpha,game->level.meter_alpha,game->level.meter_alpha), al_get_display_width(game->display)*0.95-al_get_bitmap_width(game->level.meter_bmp), al_get_display_height(game->display)*0.975-al_get_bitmap_height(game->level.meter_bmp), 0); TM_Process(); @@ -437,6 +442,7 @@ bool PassLevel(struct Game *game, struct TM_Action *action, enum TM_ActionState } void Level_Load(struct Game *game) { + game->level.hp=1; game->level.cl_pos=0; game->level.bg_pos=0; game->level.fg_pos=0.2; diff --git a/src/main.c b/src/main.c index ebcf633..05d5bcb 100644 --- a/src/main.c +++ b/src/main.c @@ -65,7 +65,7 @@ void PrintConsole(struct Game *game, char* format, ...) { char text[255] = {}; vsprintf(text, format, vl); va_end(vl); - if (game->debug) { printf("%s\n", text); fflush(stdout); } + if (game->debug) { printf("%s\n", text); fflush(stdout); } ALLEGRO_BITMAP *con = al_create_bitmap(al_get_bitmap_width(game->console), al_get_bitmap_height(game->console)); al_set_target_bitmap(con); al_clear_to_color(al_map_rgba(0,0,0,80)); diff --git a/src/main.h b/src/main.h index 72678fc..ddfd7bc 100644 --- a/src/main.h +++ b/src/main.h @@ -76,6 +76,7 @@ struct Level { float speed; float bg_pos, st_pos, fg_pos, cl_pos; float derpy_x, derpy_y; + float hp; bool handle_input; bool flying; float meter_alpha;