projects
/
rocksndiamonds.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
rnd-19980927
[rocksndiamonds.git]
/
src
/
cartoons.c
diff --git
a/src/cartoons.c
b/src/cartoons.c
index 1c193f6f689ae3b334210ee8ed3c04b27530df27..4857e06fcc8a59cbb7e78499e5a8b0a76c3b2910 100644
(file)
--- a/
src/cartoons.c
+++ b/
src/cartoons.c
@@
-125,24
+125,31
@@
void HandleAnimation(int mode)
reset_delay = TRUE;
/* Fill empty backbuffer for animation functions */
reset_delay = TRUE;
/* Fill empty backbuffer for animation functions */
- if (direct_draw_on && game_status
==
PLAYING)
+ if (direct_draw_on && game_status
==
PLAYING)
{
int xx,yy;
SetDrawtoField(DRAW_BACKBUFFER);
{
int xx,yy;
SetDrawtoField(DRAW_BACKBUFFER);
- for(xx=0;
xx<SCR_FIELDX;
xx++)
- for(yy=0;
yy<SCR_FIELDY;
yy++)
+ for(xx=0;
xx<SCR_FIELDX;
xx++)
+ for(yy=0;
yy<SCR_FIELDY;
yy++)
DrawScreenField(xx,yy);
DrawScreenField(xx,yy);
- Draw
PlayerField
();
+ Draw
AllPlayers
();
SetDrawtoField(DRAW_DIRECT);
}
SetDrawtoField(DRAW_DIRECT);
}
- if (soft_scrolling_on && game_status==PLAYING)
+ if (soft_scrolling_on && game_status == PLAYING)
+ {
+ int fx = FX, fy = FY;
+
+ fx += (local_player->MovDir & (MV_LEFT|MV_RIGHT) ? ScreenMovPos : 0);
+ fy += (local_player->MovDir & (MV_UP|MV_DOWN) ? ScreenMovPos : 0);
+
XCopyArea(display,fieldbuffer,backbuffer,gc,
XCopyArea(display,fieldbuffer,backbuffer,gc,
-
FX,FY
, SXSIZE,SYSIZE,
+
fx,fy
, SXSIZE,SYSIZE,
SX,SY);
SX,SY);
+ }
return;
break;
return;
break;
@@
-168,13
+175,13
@@
void HandleAnimation(int mode)
if (reset_delay)
{
animstart_delay = Counter();
if (reset_delay)
{
animstart_delay = Counter();
- animstart_delay_value = SimpleRND(
5
00);
+ animstart_delay_value = SimpleRND(
30
00);
reset_delay = FALSE;
}
if (anim_restart)
{
reset_delay = FALSE;
}
if (anim_restart)
{
- if (!DelayReached(&animstart_delay,animstart_delay_value))
+ if (!DelayReached(&animstart_delay,
animstart_delay_value))
return;
toon_nr = SimpleRND(NUM_TOONS);
return;
toon_nr = SimpleRND(NUM_TOONS);
@@
-225,7
+232,7
@@
BOOL AnimateToon(int toon_nr, BOOL restart)
JUMPER_FPS,
JUMPER_STEPSIZE,
ANIM_NORMAL,
JUMPER_FPS,
JUMPER_STEPSIZE,
ANIM_NORMAL,
- ANIMDIR_
LEF
T,
+ ANIMDIR_
RIGH
T,
ANIMPOS_DOWN
},
{
ANIMPOS_DOWN
},
{
@@
-260,8
+267,8
@@
BOOL AnimateToon(int toon_nr, BOOL restart)
},
{
GAMETOON_XSIZE, GAMETOON_YSIZE,
},
{
GAMETOON_XSIZE, GAMETOON_YSIZE,
- ((GFX_SPIELER_LEFT - GFX_START_ROCKSHEROES) % HEROES_PER_LINE)*TILEX,
- ((GFX_SPIELER_LEFT - GFX_START_ROCKSHEROES) / HEROES_PER_LINE)*TILEY,
+ ((GFX_SPIELER
1
_LEFT - GFX_START_ROCKSHEROES) % HEROES_PER_LINE)*TILEX,
+ ((GFX_SPIELER
1
_LEFT - GFX_START_ROCKSHEROES) / HEROES_PER_LINE)*TILEY,
GAMETOON_FRAMES_4,
GAMETOON_FPS,
GAMETOON_STEPSIZE,
GAMETOON_FRAMES_4,
GAMETOON_FPS,
GAMETOON_STEPSIZE,
@@
-271,8
+278,8
@@
BOOL AnimateToon(int toon_nr, BOOL restart)
},
{
GAMETOON_XSIZE, GAMETOON_YSIZE,
},
{
GAMETOON_XSIZE, GAMETOON_YSIZE,
- ((GFX_SPIELER_RIGHT - GFX_START_ROCKSHEROES) % HEROES_PER_LINE)*TILEX,
- ((GFX_SPIELER_RIGHT - GFX_START_ROCKSHEROES) / HEROES_PER_LINE)*TILEY,
+ ((GFX_SPIELER
1
_RIGHT - GFX_START_ROCKSHEROES) % HEROES_PER_LINE)*TILEX,
+ ((GFX_SPIELER
1
_RIGHT - GFX_START_ROCKSHEROES) / HEROES_PER_LINE)*TILEY,
GAMETOON_FRAMES_4,
GAMETOON_FPS,
GAMETOON_STEPSIZE,
GAMETOON_FRAMES_4,
GAMETOON_FPS,
GAMETOON_STEPSIZE,
@@
-399,7
+406,7
@@
BOOL AnimateToon(int toon_nr, BOOL restart)
{
horiz_move = (anim->direction & (ANIMDIR_LEFT | ANIMDIR_RIGHT));
vert_move = (anim->direction & (ANIMDIR_UP | ANIMDIR_DOWN));
{
horiz_move = (anim->direction & (ANIMDIR_LEFT | ANIMDIR_RIGHT));
vert_move = (anim->direction & (ANIMDIR_UP | ANIMDIR_DOWN));
- anim_delay_value = 100/anim->frames_per_second;
+ anim_delay_value = 100
0
/anim->frames_per_second;
frame = 0;
if (horiz_move)
frame = 0;
if (horiz_move)
@@
-454,7
+461,7
@@
BOOL AnimateToon(int toon_nr, BOOL restart)
pos_y >= FULL_SYSIZE + anim->stepsize)
return(TRUE);
pos_y >= FULL_SYSIZE + anim->stepsize)
return(TRUE);
- if (!DelayReached(&anim_delay,anim_delay_value))
+ if (!DelayReached(&anim_delay,
anim_delay_value))
{
if (game_status==HELPSCREEN && !restart)
DrawAnim(anim_pixmap,anim_clip_gc,
{
if (game_status==HELPSCREEN && !restart)
DrawAnim(anim_pixmap,anim_clip_gc,