X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Finit.c;h=64b0ae4eebecbbf16f01283f7cbda7c35401b5ab;hb=370a25a79d2e8df1e6e3e4cb4be39496d0190c28;hp=daac63969d198c445b8bc923ab1acfac8c8d20d3;hpb=d2587727d750fdf2aae4eb8f4acb487a5c211041;p=rocksndiamonds.git diff --git a/src/init.c b/src/init.c index daac6396..64b0ae4e 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(); - InitGadgets(); + InitElementProperties(); /* initializes IS_CHAR() for el2gfx() */ + + InitLevelAndPlayerInfo(); + InitGadgets(); /* needs to know number of level series */ DrawMainMenu(); @@ -107,7 +111,7 @@ void InitLevelAndPlayerInfo() LoadLevelInfo(); /* global level info */ LoadSetup(); /* global setup info */ LoadLevelSetup_LastSeries(); /* last played series info */ - LoadLevelSetup_SeriesInfo(leveldir_nr); /* last played level info */ + LoadLevelSetup_SeriesInfo(); /* last played level info */ } void InitNetworkServer() @@ -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; @@ -483,8 +476,10 @@ void InitGfx() { "Toons", TRUE }, { "SP", TRUE }, { "DC", TRUE }, + { "More", TRUE }, { "Font", FALSE }, - { "Font2", FALSE } + { "Font2", FALSE }, + { "Font3", FALSE } }; #else static struct PictureFileInfo pic[NUM_PICTURES] = @@ -495,8 +490,10 @@ void InitGfx() { "RocksToons", TRUE }, { "RocksSP", TRUE }, { "RocksDC", TRUE }, + { "RocksMore", TRUE }, { "RocksFont", FALSE }, - { "RocksFont2", FALSE } + { "RocksFont2", FALSE }, + { "RocksFont3", FALSE } }; #endif @@ -818,6 +815,7 @@ void InitGadgets() CreateGameButtons(); CreateTapeButtons(); CreateToolButtons(); + CreateScreenGadgets(); } void InitElementProperties() @@ -964,7 +962,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 +1045,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 +1149,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 +1244,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 +1498,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 +1562,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);