X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Fcartoons.c;h=e572b043b118bd9f0cd503a2a5450b708b88a768;hb=013e137cafaa16827d0f27e10538b6e90ee0aed0;hp=2e74c72b92a5683da4063eb88a88ff1fd6381775;hpb=2176d1de29652bc9e8db1baa283fdc1c4e99e674;p=rocksndiamonds.git diff --git a/src/cartoons.c b/src/cartoons.c index 2e74c72b..e572b043 100644 --- a/src/cartoons.c +++ b/src/cartoons.c @@ -161,11 +161,8 @@ static void HandleGlobalAnim(int, int); static void DoAnimationExt(void); static struct GlobalAnimControlInfo global_anim_ctrl[NUM_GAME_MODES]; -static struct ToonInfo toons[MAX_NUM_TOONS]; static unsigned int anim_sync_frame = 0; -static unsigned int anim_sync_frame_delay = 0; -static unsigned int anim_sync_frame_delay_value = GAME_FRAME_DELAY; static int game_mode_anim_classes[NUM_GAME_MODES]; static int anim_class_game_modes[NUM_ANIM_CLASSES]; @@ -223,59 +220,6 @@ static int compareGlobalAnimMainControlInfo(const void *obj1, const void *obj2) return compare_result; } -static void PrepareBackbuffer() -{ - if (game_status != GAME_MODE_PLAYING) - return; - - BlitScreenToBitmap(backbuffer); -} - -boolean ToonNeedsRedraw() -{ - return TRUE; -} - -void InitToons() -{ - int num_toons = MAX_NUM_TOONS; - int i; - - if (global.num_toons >= 0 && global.num_toons < MAX_NUM_TOONS) - num_toons = global.num_toons; - - for (i = 0; i < num_toons; i++) - { - int graphic = IMG_TOON_1 + i; - struct FileInfo *image = getImageListEntryFromImageID(graphic); - - toons[i].bitmap = graphic_info[graphic].bitmap; - - toons[i].src_x = graphic_info[graphic].src_x; - toons[i].src_y = graphic_info[graphic].src_y; - - toons[i].width = graphic_info[graphic].width; - toons[i].height = graphic_info[graphic].height; - - toons[i].anim_frames = graphic_info[graphic].anim_frames; - toons[i].anim_delay = graphic_info[graphic].anim_delay; - toons[i].anim_mode = graphic_info[graphic].anim_mode; - toons[i].anim_start_frame = graphic_info[graphic].anim_start_frame; - - toons[i].step_offset = graphic_info[graphic].step_offset; - toons[i].step_delay = graphic_info[graphic].step_delay; - - toons[i].direction = image->parameter[GFX_ARG_DIRECTION]; - toons[i].position = image->parameter[GFX_ARG_POSITION]; - } - - InitToonScreen(bitmap_db_toons, - BackToFront, PrepareBackbuffer, ToonNeedsRedraw, - toons, num_toons, - REAL_SX, REAL_SY, FULL_SXSIZE, FULL_SYSIZE, - GAME_FRAME_DELAY); -} - static void InitToonControls() { int mode_nr_toons = GAME_MODE_PSEUDO_TOONS; @@ -354,8 +298,6 @@ void InitGlobalAnimControls() anim_sync_frame = 0; - ResetDelayCounter(&anim_sync_frame_delay); - for (m = 0; m < NUM_GAME_MODES; m++) { mode_nr = m; @@ -496,7 +438,7 @@ void InitGlobalAnimations() InitGlobalAnimControls(); } -void DrawGlobalAnimExt(int drawing_stage) +void DrawGlobalAnimationsExt(int drawing_stage) { int mode_nr; @@ -647,9 +589,9 @@ void DrawGlobalAnimExt(int drawing_stage) } } -void DrawGlobalAnim(int drawing_stage) +void DrawGlobalAnimations(int drawing_stage) { - DrawGlobalAnimExt(drawing_stage); + DrawGlobalAnimationsExt(drawing_stage); } boolean SetGlobalAnimPart_Viewport(struct GlobalAnimPartControlInfo *part) @@ -1111,14 +1053,6 @@ static void HandleGlobalAnim(int action, int game_mode) HandleGlobalAnim_Mode(&global_anim_ctrl[game_mode], action); } -void InitAnimation() -{ -} - -void StopAnimation() -{ -} - static void DoAnimationExt() { int i; @@ -1127,13 +1061,8 @@ static void DoAnimationExt() printf("::: DoAnimation [%d, %d]\n", anim_sync_frame, Counter()); #endif -#if 1 - WaitUntilDelayReached(&anim_sync_frame_delay, anim_sync_frame_delay_value); + // global animations now synchronized with frame delay of screen update anim_sync_frame++; -#else - if (DelayReached(&anim_sync_frame_delay, anim_sync_frame_delay_value)) - anim_sync_frame++; -#endif for (i = 0; i < NUM_GAME_MODES; i++) HandleGlobalAnim(ANIM_CONTINUE, i); @@ -1143,13 +1072,3 @@ static void DoAnimationExt() redraw_mask = REDRAW_ALL; #endif } - -void DoAnimation() -{ - // HandleAnimation(ANIM_CONTINUE); - -#if 1 - // force screen redraw in next frame to continue drawing global animations - redraw_mask = REDRAW_ALL; -#endif -}