#include "defines.h"
#include "world.h"
+texture_type img_distro[4];
void bouncy_distro_init(bouncy_distro_type* pbouncy_distro, float x, float y)
{
pbouncy_distro->base.alive = YES;
pbouncy_distro->base.x = x;
pbouncy_distro->base.y = y;
- pbouncy_distro->base.ym = -6;
+ pbouncy_distro->base.ym = -2;
}
void bouncy_distro_action(bouncy_distro_type* pbouncy_distro)
{
if (pbouncy_distro->base.alive)
{
- pbouncy_distro->base.y = pbouncy_distro->base.y + pbouncy_distro->base.ym;
+ pbouncy_distro->base.y = pbouncy_distro->base.y + pbouncy_distro->base.ym * frame_ratio;
- pbouncy_distro->base.ym++;
+ pbouncy_distro->base.ym += 0.1 * frame_ratio;
if (pbouncy_distro->base.ym >= 0)
pbouncy_distro->base.alive = NO;
pbroken_brick->base.y = y;
pbroken_brick->base.xm = xm;
pbroken_brick->base.ym = ym;
+ timer_init(&pbroken_brick->timer,YES);
timer_start(&pbroken_brick->timer,200);
}
void broken_brick_draw(broken_brick_type* pbroken_brick)
{
+SDL_Rect src, dest;
if (pbroken_brick->base.alive)
{
src.x = rand() % 16;
src.w = 16;
src.h = 16;
- dest.x = pbroken_brick->base.x - scroll_x;
- dest.y = pbroken_brick->base.y;
+ dest.x = (int)(pbroken_brick->base.x - scroll_x);
+ dest.y = (int)pbroken_brick->base.y;
dest.w = 16;
dest.h = 16;
void bouncy_brick_draw(bouncy_brick_type* pbouncy_brick)
{
int s;
-
+ SDL_Rect dest;
+
if (pbouncy_brick->base.alive)
{
if (pbouncy_brick->base.x >= scroll_x - 32 &&
pbouncy_brick->base.x <= scroll_x + screen->w)
{
- dest.x = pbouncy_brick->base.x - scroll_x;
- dest.y = pbouncy_brick->base.y;
+ dest.x = (int)(pbouncy_brick->base.x - scroll_x);
+ dest.y = (int)pbouncy_brick->base.y;
dest.w = 32;
dest.h = 32;
if(current_level.bkgd_image[0] == '\0')
{
fillrect(pbouncy_brick->base.x - scroll_x,pbouncy_brick->base.y,32,32,current_level.bkgd_red,current_level.bkgd_green,
- current_level.bkgd_blue);
+ current_level.bkgd_blue,0);
}
else
{
- s = scroll_x / 30;
+ s = (int)scroll_x / 30;
texture_draw_part(&img_bkgd,dest.x + s,dest.y,dest.x,dest.y,dest.w,dest.h,NO_UPDATE);
}
pfloating_score->base.alive = YES;
pfloating_score->base.x = x;
pfloating_score->base.y = y - 16;
+ timer_init(&pfloating_score->timer,YES);
timer_start(&pfloating_score->timer,1000);
pfloating_score->value = s;
}
{
char str[10];
sprintf(str, "%d", pfloating_score->value);
- text_draw(&gold_text, str, pfloating_score->base.x + 16 - strlen(str) * 8, pfloating_score->base.y, 1, NO_UPDATE);
+ text_draw(&gold_text, str, (int)pfloating_score->base.x + 16 - strlen(str) * 8, (int)pfloating_score->base.y, 1, NO_UPDATE);
}
}