X-Git-Url: https://git.artsoft.org/?p=rocksndiamonds.git;a=blobdiff_plain;f=src%2Finit.c;h=b8fe9cc7125afa26aa412c06c1215c0271848911;hp=daac63969d198c445b8bc923ab1acfac8c8d20d3;hb=c21cf4c301f745142f3cbb4987efe6446a3a8c4e;hpb=d2587727d750fdf2aae4eb8f4acb487a5c211041 diff --git a/src/init.c b/src/init.c index daac6396..b8fe9cc7 100644 --- a/src/init.c +++ b/src/init.c @@ -55,6 +55,10 @@ static void InitElementProperties(void); void OpenAll(int argc, char *argv[]) { +#ifdef MSDOS + initErrorFile(); +#endif + if (options.serveronly) { NetworkServer(options.server_port, options.serveronly); @@ -63,8 +67,6 @@ void OpenAll(int argc, char *argv[]) exit(0); } - InitLevelAndPlayerInfo(); - InitCounter(); InitSound(); InitSoundServer(); @@ -81,8 +83,10 @@ void OpenAll(int argc, char *argv[]) XFlush(display); InitGfx(); - InitElementProperties(); + InitElementProperties(); /* initializes IS_CHAR() for el2gfx() */ + InitGadgets(); + InitLevelAndPlayerInfo(); DrawMainMenu(); @@ -456,17 +460,6 @@ void InitWindow(int argc, char *argv[]) gc = XCreateGC(display, window, gc_valuemask, &gc_values); } -void DrawInitText(char *text, int ypos, int color) -{ - if (display && window && pix[PIX_SMALLFONT]) - { - XFillRectangle(display,window,gc,0,ypos, WIN_XSIZE,FONT2_YSIZE); - DrawTextExt(window,gc,(WIN_XSIZE-strlen(text)*FONT2_XSIZE)/2, - ypos,text,FS_SMALL,color); - XFlush(display); - } -} - void InitGfx() { int i,j; @@ -484,7 +477,8 @@ void InitGfx() { "SP", TRUE }, { "DC", TRUE }, { "Font", FALSE }, - { "Font2", FALSE } + { "Font2", FALSE }, + { "Font3", FALSE } }; #else static struct PictureFileInfo pic[NUM_PICTURES] = @@ -496,7 +490,8 @@ void InitGfx() { "RocksSP", TRUE }, { "RocksDC", TRUE }, { "RocksFont", FALSE }, - { "RocksFont2", FALSE } + { "RocksFont2", FALSE }, + { "RocksFont3", FALSE } }; #endif @@ -964,7 +959,19 @@ void InitElementProperties() EL_SIGN_EXIT, EL_SIGN_YINYANG, EL_SIGN_OTHER, - EL_STEEL_SLANTED + EL_STEEL_SLANTED, + EL_EMC_STEEL_WALL_1, + EL_EMC_STEEL_WALL_2, + EL_EMC_STEEL_WALL_3, + EL_EMC_STEEL_WALL_4, + EL_EMC_WALL_1, + EL_EMC_WALL_2, + EL_EMC_WALL_3, + EL_EMC_WALL_4, + EL_EMC_WALL_5, + EL_EMC_WALL_6, + EL_EMC_WALL_7, + EL_EMC_WALL_8 }; static int ep_solid_num = sizeof(ep_solid)/sizeof(int); @@ -1035,7 +1042,11 @@ void InitElementProperties() EL_SIGN_EXIT, EL_SIGN_YINYANG, EL_SIGN_OTHER, - EL_STEEL_SLANTED + EL_STEEL_SLANTED, + EL_EMC_STEEL_WALL_1, + EL_EMC_STEEL_WALL_2, + EL_EMC_STEEL_WALL_3, + EL_EMC_STEEL_WALL_4 }; static int ep_massive_num = sizeof(ep_massive)/sizeof(int); @@ -1135,7 +1146,19 @@ void InitElementProperties() EL_SP_TERMINAL, EL_SP_EXIT, EL_INVISIBLE_STEEL, - EL_STEEL_SLANTED + EL_STEEL_SLANTED, + EL_EMC_STEEL_WALL_1, + EL_EMC_STEEL_WALL_2, + EL_EMC_STEEL_WALL_3, + EL_EMC_STEEL_WALL_4, + EL_EMC_WALL_1, + EL_EMC_WALL_2, + EL_EMC_WALL_3, + EL_EMC_WALL_4, + EL_EMC_WALL_5, + EL_EMC_WALL_6, + EL_EMC_WALL_7, + EL_EMC_WALL_8 }; static int ep_mauer_num = sizeof(ep_mauer)/sizeof(int); @@ -1218,7 +1241,8 @@ void InitElementProperties() EL_DRACHE, EL_SONDE, EL_SP_SNIKSNAK, - EL_SP_ELECTRON + EL_SP_ELECTRON, + EL_BALLOON }; static int ep_can_move_num = sizeof(ep_can_move)/sizeof(int); @@ -1471,7 +1495,19 @@ void InitElementProperties() EL_SIGN_EXIT, EL_SIGN_YINYANG, EL_SIGN_OTHER, - EL_STEEL_SLANTED + EL_STEEL_SLANTED, + EL_EMC_STEEL_WALL_1, + EL_EMC_STEEL_WALL_2, + EL_EMC_STEEL_WALL_3, + EL_EMC_STEEL_WALL_4, + EL_EMC_WALL_1, + EL_EMC_WALL_2, + EL_EMC_WALL_3, + EL_EMC_WALL_4, + EL_EMC_WALL_5, + EL_EMC_WALL_6, + EL_EMC_WALL_7, + EL_EMC_WALL_8 }; static int ep_inactive_num = sizeof(ep_inactive)/sizeof(int); @@ -1523,7 +1559,8 @@ void InitElementProperties() EL_SONDE, EL_SP_ZONK, EL_SP_DISK_ORANGE, - EL_SP_DISK_YELLOW + EL_SP_DISK_YELLOW, + EL_BALLOON }; static int ep_pushable_num = sizeof(ep_pushable)/sizeof(int);