void run_display(int shown);

void run_underlay(void);

void level_display_init(void);


#define MEDIUM_ROTATIONS 128

struct RLE_STRUCT
{
 RLE_SPRITE *sprite;
 int x;
 int y;
};

enum
{
LARGE_BEAMER1_CENTRE,
LARGE_BEAMER1_LWING,
LARGE_BEAMER1_RWING,
LARGE_ERLES

};

enum
{
L_ENEMY_GLIDER1,
L_ENEMY_SHOTTER1,
L_ENEMY_ZAPPER1,
L_ENEMY_DIPPER1_1,
L_ENEMY_DIPPER1_2,
L_ENEMY_DIPPER1_3,
L_ENEMY_DIPPER2_1,
L_ENEMY_DIPPER2_2,
L_ENEMY_DIPPER2_3,
L_ENEMY_CARRIER,
L_ENEMY_CARRIER_LWING1,
L_ENEMY_CARRIER_RWING1,
L_ENEMY_CARRIER_LWING2,
L_ENEMY_CARRIER_RWING2,
L_ENEMY_BURSTER,
L_ENEMY_BURSTER_LWING1,
L_ENEMY_BURSTER_RWING1,
L_ENEMY_BURSTER_LWING2,
L_ENEMY_BURSTER_RWING2,
L_ENEMY_BEAMER1,
L_ENEMY_BEAMER1_LFIN,
L_ENEMY_BEAMER1_RFIN,
L_ENEMY_BEAMER1_LFIN2,
L_ENEMY_BEAMER1_RFIN2,
L_ENEMY_BOSS1,
L_ENEMY_BOSS1_L1,
L_ENEMY_BOSS1_L2,
L_ENEMY_BOSS1_R1,
L_ENEMY_BOSS1_R2,
L_ENEMY_FLOWER1,
L_ENEMY_WINGS_L,
L_ENEMY_WINGS_R,
L_ENEMY_MB2_L,
L_ENEMY_MB2_R,
L_ENEMY_MB1,
L_ENEMY_RLES
};

enum
{
S_ENEMY_BASIC1_CENTRE,
S_ENEMY_BASIC1_LWING,
S_ENEMY_BASIC1_RWING,
S_ENEMY_GLIDER1_LFOOT,
S_ENEMY_GLIDER1_RFOOT,
S_ENEMY_BASIC2_1,
S_ENEMY_BASIC2_2,
S_ENEMY_BASIC2_3,
S_ENEMY_BASIC2_4,
S_ENEMY_BASIC2_5,
S_ENEMY_CARRIER_LWING1,
S_ENEMY_CARRIER_RWING1,
S_ENEMY_CARRIER_LWING2,
S_ENEMY_CARRIER_RWING2,
S_ENEMY_BASIC3,
S_ENEMY_BASIC3_LFOOT,
S_ENEMY_BASIC3_RFOOT,
S_ENEMY_CROSS_L,
S_ENEMY_CROSS_R,
S_ENEMY_CROSS2_1,
S_ENEMY_CROSS2_2,
S_ENEMY_CROSS2_3,
S_ENEMY_BFIGHTER_1,
S_ENEMY_BFIGHTER_2,
S_ENEMY_BFIGHTER_3,
S_ENEMY_BFIGHTER_4,
S_ENEMY_BFIGHTER_5,
S_ENEMY_RLES

};

#define PLAT_Y 300

enum
{
FILE_PLATFORM_LR,
FILE_PLATFORM_UD,
FILE_PLATFORM_LR_TLR,
FILE_PLATFORM_UD_TUD,
FILE_PLATFORM_LR_TL,
FILE_PLATFORM_UD_TU,
FILE_PLATFORM_UL,
FILE_PLATFORM_UDL,
FILE_PLATFORM_ULR,
FILE_PLATFORM_NODE,
FILE_PLATFORM_L,
FILE_PLATFORM_U,
FILE_PLATFORM_RLES

};

enum
{
PLATFORM_EMPTY = -1,
PLATFORM_LR,
PLATFORM_UD,
PLATFORM_UL,
PLATFORM_DL,
PLATFORM_UR,
PLATFORM_DR,

PLATFORM_LR_TLR, // terminates L/R
PLATFORM_LR_TL,
PLATFORM_LR_TR,
PLATFORM_UD_TUD,
PLATFORM_UD_TU,
PLATFORM_UD_TD,

PLATFORM_UDL,
PLATFORM_UDR,
PLATFORM_ULR,
PLATFORM_DLR,
PLATFORM_L,
PLATFORM_R,
PLATFORM_U,
PLATFORM_D,
PLATFORM_NODE,
/*PLATFORM1_,
PLATFORM1_,
PLATFORM1_,
PLATFORM1_,*/
PLATFORM_RLES

};
