6 struct GameInfo_SP game_sp_info;
7 struct LevelInfo_SP native_sp_level;
9 int GfxFrame[SP_MAX_PLAYFIELD_WIDTH][SP_MAX_PLAYFIELD_HEIGHT];
12 void InitGameEngine_SP()
16 gfx.anim_random_frame = -1; // (use simple, ad-hoc random numbers)
18 game_sp_info.LevelSolved = FALSE;
19 game_sp_info.GameOver = FALSE;
21 menBorder.Checked = setup.sp_show_border_elements;
23 for (x = 0; x < SP_MAX_PLAYFIELD_WIDTH; x++)
24 for (y = 0; y < SP_MAX_PLAYFIELD_HEIGHT; y++)
27 InitScrollPlayfield();
30 printf(":A: %d, %d [%d, %d]\n",
31 mScrollX, mScrollY, mScrollX_last, mScrollY_last);
41 printf(":B: %d, %d [%d, %d]\n",
42 mScrollX, mScrollY, mScrollX_last, mScrollY_last);
47 void BlitScreenToBitmap_SP(Bitmap *target_bitmap)
49 DDScrollBuffer_Blt_Ext(target_bitmap);
53 void RedrawPlayfield_SP(boolean force_redraw)
62 void GameActions_SP(byte action[MAX_PLAYERS], boolean warp_mode)
64 byte single_player_action = action[0];
67 subMainGameLoop_Main(single_player_action, warp_mode);
69 RedrawPlayfield_SP(FALSE);
71 for (x = 0; x < SP_MAX_PLAYFIELD_WIDTH; x++)
72 for (y = 0; y < SP_MAX_PLAYFIELD_HEIGHT; y++)