projects
/
rocksndiamonds.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
rnd-20100218-2-src
[rocksndiamonds.git]
/
src
/
cartoons.c
diff --git
a/src/cartoons.c
b/src/cartoons.c
index b95525049e6cf613d8ea1b2a2a36f1ee16f30b14..8ca4bdd5efde9c2e81ffbf96bc1796d1a2adcf17 100644
(file)
--- a/
src/cartoons.c
+++ b/
src/cartoons.c
@@
-1,7
+1,7
@@
/***********************************************************
* Rocks'n'Diamonds -- McDuffin Strikes Back! *
*----------------------------------------------------------*
/***********************************************************
* Rocks'n'Diamonds -- McDuffin Strikes Back! *
*----------------------------------------------------------*
-* (c) 1995-200
2
Artsoft Entertainment *
+* (c) 1995-200
6
Artsoft Entertainment *
* Holger Schemel *
* Detmolder Strasse 189 *
* 33604 Bielefeld *
* Holger Schemel *
* Detmolder Strasse 189 *
* 33604 Bielefeld *
@@
-23,38
+23,31
@@
static struct ToonInfo toons[MAX_NUM_TOONS];
static void PrepareBackbuffer()
{
static void PrepareBackbuffer()
{
- /* Fill empty backbuffer for animation functions */
- if (setup.direct_draw && game_status == PLAYING)
- {
- int xx,yy;
-
- SetDrawtoField(DRAW_BACKBUFFER);
+ if (game_status != GAME_MODE_PLAYING)
+ return;
- for(xx=0; xx<SCR_FIELDX; xx++)
- for(yy=0; yy<SCR_FIELDY; yy++)
- DrawScreenField(xx,yy);
- DrawAllPlayers();
-
- SetDrawtoField(DRAW_DIRECT);
+ if (level.game_engine_type == GAME_ENGINE_TYPE_EM)
+ {
+ BlitScreenToBitmap_EM(backbuffer);
}
}
-
- if (setup.soft_scrolling && game_status == PLAYING)
+ else if (level.game_engine_type == GAME_ENGINE_TYPE_SP)
+ {
+ BlitScreenToBitmap_SP(backbuffer);
+ }
+ else if (setup.soft_scrolling) /* GAME_ENGINE_TYPE_RND */
{
int fx = FX, fy = FY;
fx += (ScreenMovDir & (MV_LEFT|MV_RIGHT) ? ScreenGfxPos : 0);
fy += (ScreenMovDir & (MV_UP|MV_DOWN) ? ScreenGfxPos : 0);
{
int fx = FX, fy = FY;
fx += (ScreenMovDir & (MV_LEFT|MV_RIGHT) ? ScreenGfxPos : 0);
fy += (ScreenMovDir & (MV_UP|MV_DOWN) ? ScreenGfxPos : 0);
- BlitBitmap(fieldbuffer, backbuffer, fx,
fy, SXSIZE,SYSIZE, SX,
SY);
+ BlitBitmap(fieldbuffer, backbuffer, fx,
fy, SXSIZE, SYSIZE, SX,
SY);
}
}
boolean ToonNeedsRedraw()
{
}
}
boolean ToonNeedsRedraw()
{
- return (game_status == HELPSCREEN ||
- (game_status == MAINMENU &&
- ((redraw_mask & REDRAW_MICROLEVEL) ||
- (redraw_mask & REDRAW_MICROLABEL))));
+ return TRUE;
}
void InitToons()
}
void InitToons()
@@
-62,13
+55,13
@@
void InitToons()
int num_toons = MAX_NUM_TOONS;
int i;
int num_toons = MAX_NUM_TOONS;
int i;
- if (global.num_toons > 0 && global.num_toons < MAX_NUM_TOONS)
+ if (global.num_toons >
=
0 && global.num_toons < MAX_NUM_TOONS)
num_toons = global.num_toons;
num_toons = global.num_toons;
- for (i
=
0; i < num_toons; i++)
+ for (i
=
0; i < num_toons; i++)
{
int graphic = IMG_TOON_1 + i;
{
int graphic = IMG_TOON_1 + i;
- struct FileInfo *image = getImageListEntry(graphic);
+ struct FileInfo *image = getImageListEntry
FromImageID
(graphic);
toons[i].bitmap = graphic_info[graphic].bitmap;
toons[i].bitmap = graphic_info[graphic].bitmap;
@@
-90,7
+83,11
@@
void InitToons()
toons[i].position = image->parameter[GFX_ARG_POSITION];
}
toons[i].position = image->parameter[GFX_ARG_POSITION];
}
+#if 1
+ InitToonScreen(bitmap_db_toons,
+#else
InitToonScreen(bitmap_db_door,
InitToonScreen(bitmap_db_door,
+#endif
BackToFront, PrepareBackbuffer, ToonNeedsRedraw,
toons, num_toons,
REAL_SX, REAL_SY, FULL_SXSIZE, FULL_SYSIZE,
BackToFront, PrepareBackbuffer, ToonNeedsRedraw,
toons, num_toons,
REAL_SX, REAL_SY, FULL_SXSIZE, FULL_SYSIZE,