{ "global.busy.frames", "28" },
{ "global.busy.frames_per_line", "7" },
{ "global.busy.delay", "2" },
+ { "global.busy_playfield", "RocksBusy.png" },
+ { "global.busy_playfield.x", "0" },
+ { "global.busy_playfield.y", "0" },
+ { "global.busy_playfield.width", "32" },
+ { "global.busy_playfield.height", "32" },
+ { "global.busy_playfield.frames", "28" },
+ { "global.busy_playfield.frames_per_line", "7" },
+ { "global.busy_playfield.delay", "2" },
{ "global.tile_cursor", "RocksMore.png" },
{ "global.tile_cursor.xpos", "10" },
{ "init.busy.y", "-1" },
{ "init.busy.align", "center" },
{ "init.busy.valign", "middle" },
+ { "init.busy_playfield.x", "-1" },
+ { "init.busy_playfield.y", "-1" },
+ { "init.busy_playfield.align", "center" },
+ { "init.busy_playfield.valign", "middle" },
{ "menu.enter_menu.fade_mode", "none" },
{ "menu.enter_menu.fade_delay", "250" },
#define CONFIG_TOKEN_FONT_INITIAL "font.initial"
#define CONFIG_TOKEN_GLOBAL_BUSY_INITIAL "global.busy_initial"
#define CONFIG_TOKEN_GLOBAL_BUSY "global.busy"
+#define CONFIG_TOKEN_GLOBAL_BUSY_PLAYFIELD "global.busy_playfield"
#define CONFIG_TOKEN_BACKGROUND_LOADING_INITIAL "background.LOADING_INITIAL"
#define CONFIG_TOKEN_BACKGROUND_LOADING "background.LOADING"
#define INITIAL_IMG_GLOBAL_BUSY_INITIAL 0
#define INITIAL_IMG_GLOBAL_BUSY 1
+#define INITIAL_IMG_GLOBAL_BUSY_PLAYFIELD 2
-#define NUM_INITIAL_IMAGES_BUSY 2
+#define NUM_INITIAL_IMAGES_BUSY 3
-#define INITIAL_IMG_BACKGROUND_LOADING_INITIAL 2
-#define INITIAL_IMG_BACKGROUND_LOADING 3
+#define INITIAL_IMG_BACKGROUND_LOADING_INITIAL 3
+#define INITIAL_IMG_BACKGROUND_LOADING 4
-#define NUM_INITIAL_IMAGES 4
+#define NUM_INITIAL_IMAGES 5
static struct FontBitmapInfo font_initial[NUM_INITIAL_FONTS];
graphic_info = graphic_info_last;
}
-static void DrawInitAnim(void)
+static void DrawInitAnim(boolean only_when_loading)
{
struct GraphicInfo *graphic_info_last = graphic_info;
int graphic = (game_status_last_screen == -1 ?
INITIAL_IMG_GLOBAL_BUSY_INITIAL :
- INITIAL_IMG_GLOBAL_BUSY);
+ game_status == GAME_MODE_LOADING ?
+ INITIAL_IMG_GLOBAL_BUSY :
+ INITIAL_IMG_GLOBAL_BUSY_PLAYFIELD);
struct MenuPosInfo *busy = (game_status_last_screen == -1 ?
&init_last.busy_initial :
- &init_last.busy);
+ game_status == GAME_MODE_LOADING ?
+ &init_last.busy :
+ &init_last.busy_playfield);
static unsigned int action_delay = 0;
unsigned int action_delay_value = GameFrameDelay;
int sync_frame = FrameCounter;
int x, y;
-
// prevent OS (Windows) from complaining about program not responding
CheckQuitEvent();
- if (game_status != GAME_MODE_LOADING)
+ if (game_status != GAME_MODE_LOADING && only_when_loading)
return;
if (image_initial[graphic].bitmap == NULL || window == NULL)
return;
if (busy->x == -1)
- busy->x = WIN_XSIZE / 2;
+ busy->x = (game_status == GAME_MODE_LOADING ? WIN_XSIZE / 2 : SXSIZE / 2);
if (busy->y == -1)
- busy->y = WIN_YSIZE / 2;
+ busy->y = (game_status == GAME_MODE_LOADING ? WIN_YSIZE / 2 : SYSIZE / 2);
- x = ALIGNED_TEXT_XPOS(busy);
- y = ALIGNED_TEXT_YPOS(busy);
+ x = (game_status == GAME_MODE_LOADING ? 0 : SX) + ALIGNED_TEXT_XPOS(busy);
+ y = (game_status == GAME_MODE_LOADING ? 0 : SY) + ALIGNED_TEXT_YPOS(busy);
graphic_info = image_initial;
{
CONFIG_TOKEN_GLOBAL_BUSY_INITIAL,
CONFIG_TOKEN_GLOBAL_BUSY,
+ CONFIG_TOKEN_GLOBAL_BUSY_PLAYFIELD,
CONFIG_TOKEN_BACKGROUND_LOADING_INITIAL,
CONFIG_TOKEN_BACKGROUND_LOADING
};
struct MenuPosInfo *init_busy[NUM_INITIAL_IMAGES_BUSY] =
{
&init.busy_initial,
- &init.busy
+ &init.busy,
+ &init.busy_playfield
};
Bitmap *bitmap_font_initial = NULL;
int parameter[NUM_INITIAL_IMAGES][NUM_GFX_ARGS];
gfx.clip_height = height;
}
-void InitGfxDrawBusyAnimFunction(void (*draw_busy_anim_function)(void))
+void InitGfxDrawBusyAnimFunction(void (*draw_busy_anim_function)(boolean))
{
gfx.draw_busy_anim_function = draw_busy_anim_function;
}
#define UPDATE_BUSY_STATE() \
{ \
if (gfx.draw_busy_anim_function != NULL) \
- gfx.draw_busy_anim_function(); \
+ gfx.draw_busy_anim_function(TRUE); \
+}
+#define UPDATE_BUSY_STATE_NOT_LOADING() \
+{ \
+ if (gfx.draw_busy_anim_function != NULL) \
+ gfx.draw_busy_anim_function(FALSE); \
}
int anim_random_frame;
- void (*draw_busy_anim_function)(void);
+ void (*draw_busy_anim_function)(boolean);
void (*draw_global_anim_function)(int, int);
void (*draw_global_border_function)(int);
void (*draw_tile_cursor_function)(int);
void InitGfxWindowInfo(int, int);
void InitGfxScrollbufferInfo(int, int);
void InitGfxClipRegion(boolean, int, int, int, int);
-void InitGfxDrawBusyAnimFunction(void (*draw_busy_anim_function)(void));
+void InitGfxDrawBusyAnimFunction(void (*draw_busy_anim_function)(boolean));
void InitGfxDrawGlobalAnimFunction(void (*draw_global_anim_function)(int, int));
void InitGfxDrawGlobalBorderFunction(void (*draw_global_border_function)(int));
void InitGfxDrawTileCursorFunction(void (*draw_tile_cursor_function)(int));
{
struct MenuPosInfo busy_initial;
struct MenuPosInfo busy;
+ struct MenuPosInfo busy_playfield;
};
struct MenuInfo