X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Fmain.c;h=697d1b740fcf607994123ce00f5a25c56ef72b74;hb=268045d6b06349f1cf10d5cc6f9516b5caa20dea;hp=4f1b196dea116e6f95b9f656e82692f6ea33fba9;hpb=d5224fde97c235c903f631a4eccb9904c2ddf9c3;p=rocksndiamonds.git diff --git a/src/main.c b/src/main.c index 4f1b196d..697d1b74 100644 --- a/src/main.c +++ b/src/main.c @@ -27,8 +27,8 @@ Bitmap *bitmap_db_field, *bitmap_db_door; #if 0 Pixmap tile_clipmask[NUM_TILES]; #endif -DrawBuffer *fieldbuffer; -DrawBuffer *drawto_field; +DrawBuffer *fieldbuffer; +DrawBuffer *drawto_field; int game_status = -1; boolean level_editor_test_game = FALSE; @@ -40,15 +40,17 @@ boolean redraw[MAX_BUF_XSIZE][MAX_BUF_YSIZE]; int redraw_x1 = 0, redraw_y1 = 0; short Feld[MAX_LEV_FIELDX][MAX_LEV_FIELDY]; -short Ur[MAX_LEV_FIELDX][MAX_LEV_FIELDY]; short MovPos[MAX_LEV_FIELDX][MAX_LEV_FIELDY]; short MovDir[MAX_LEV_FIELDX][MAX_LEV_FIELDY]; short MovDelay[MAX_LEV_FIELDX][MAX_LEV_FIELDY]; +short ChangeDelay[MAX_LEV_FIELDX][MAX_LEV_FIELDY]; short Store[MAX_LEV_FIELDX][MAX_LEV_FIELDY]; short Store2[MAX_LEV_FIELDX][MAX_LEV_FIELDY]; short StorePlayer[MAX_LEV_FIELDX][MAX_LEV_FIELDY]; short Back[MAX_LEV_FIELDX][MAX_LEV_FIELDY]; boolean Stop[MAX_LEV_FIELDX][MAX_LEV_FIELDY]; +boolean Pushed[MAX_LEV_FIELDX][MAX_LEV_FIELDY]; +boolean Changing[MAX_LEV_FIELDX][MAX_LEV_FIELDY]; short JustStopped[MAX_LEV_FIELDX][MAX_LEV_FIELDY]; short AmoebaNr[MAX_LEV_FIELDX][MAX_LEV_FIELDY]; short AmoebaCnt[MAX_NUM_AMOEBA]; @@ -85,7 +87,7 @@ int TimeFrames, TimePlayed, TimeLeft; boolean network_player_action_received = FALSE; -struct LevelInfo level; +struct LevelInfo level, level_template; struct PlayerInfo stored_player[MAX_PLAYERS], *local_player = NULL; struct HiScore highscore[MAX_SCORE_ENTRIES]; struct TapeInfo tape; @@ -2796,6 +2798,11 @@ struct ElementInfo element_info[MAX_NUM_ELEMENTS + 1] = "-", "-" }, + { + "diamond_breaking", + "-", + "-" + }, { "acid_splash_left", "-", @@ -2916,11 +2923,36 @@ struct ElementInfo element_info[MAX_NUM_ELEMENTS + 1] = "-", "-" }, + { + "dynabomb", + "-", + "-" + }, { "dynabomb_active", "-", "-" }, + { + "dynabomb_player_1", + "-", + "-" + }, + { + "dynabomb_player_2", + "-", + "-" + }, + { + "dynabomb_player_3", + "-", + "-" + }, + { + "dynabomb_player_4", + "-", + "-" + }, { "shield_normal_active", "-", @@ -2931,6 +2963,26 @@ struct ElementInfo element_info[MAX_NUM_ELEMENTS + 1] = "-", "-" }, + { + "[default]", + "default", + "-" + }, + { + "[bd_default]", + "bd_default", + "-" + }, + { + "[sp_default]", + "sp_default", + "-" + }, + { + "[sb_default]", + "sb_default", + "-" + }, /* keyword to stop parser: "ELEMENT_INFO_END" <-- do not change! */ @@ -2957,6 +3009,7 @@ struct ElementActionInfo element_action_info[NUM_ACTIONS + 1] = { ".collecting", ACTION_COLLECTING, FALSE }, { ".dropping", ACTION_DROPPING, FALSE }, { ".pushing", ACTION_PUSHING, FALSE }, + { ".walking", ACTION_WALKING, FALSE }, { ".passing", ACTION_PASSING, FALSE }, { ".impact", ACTION_IMPACT, FALSE }, { ".breaking", ACTION_BREAKING, FALSE }, @@ -2975,6 +3028,9 @@ struct ElementActionInfo element_action_info[NUM_ACTIONS + 1] = { ".dying", ACTION_DYING, FALSE }, { ".other", ACTION_OTHER, FALSE }, + /* empty suffix always matches -- check as last entry in InitSoundInfo() */ + { "", ACTION_DEFAULT, TRUE }, + { NULL, 0, 0 } }; @@ -3005,6 +3061,7 @@ struct SpecialSuffixInfo special_suffix_info[NUM_SPECIAL_GFX_ARGS + 1] = struct TokenIntPtrInfo image_config_vars[] = { { "global.num_toons", &global.num_toons }, + { "menu.draw_xoffset", &menu.draw_xoffset_default }, { "menu.draw_yoffset", &menu.draw_yoffset_default }, { "menu.draw_xoffset.MAIN", &menu.draw_xoffset[GFX_SPECIAL_ARG_MAIN] }, @@ -3019,6 +3076,12 @@ struct TokenIntPtrInfo image_config_vars[] = { "menu.draw_yoffset.INFO", &menu.draw_yoffset[GFX_SPECIAL_ARG_INFO] }, { "menu.draw_xoffset.SETUP", &menu.draw_xoffset[GFX_SPECIAL_ARG_SETUP] }, { "menu.draw_yoffset.SETUP", &menu.draw_yoffset[GFX_SPECIAL_ARG_SETUP] }, + + { "menu.list_size", &menu.list_size_default }, + { "menu.list_size.LEVELS", &menu.list_size[GFX_SPECIAL_ARG_LEVELS] }, + { "menu.list_size.SCORES", &menu.list_size[GFX_SPECIAL_ARG_SCORES] }, + { "menu.list_size.INFO", &menu.list_size[GFX_SPECIAL_ARG_INFO] }, + { "door.step_offset", &door.step_offset }, { "door.step_delay", &door.step_delay }, @@ -3079,7 +3142,7 @@ int main(int argc, char *argv[]) COOKIE_PREFIX, FILENAME_PREFIX, GAME_VERSION_ACTUAL); InitExitFunction(CloseAllAndExit); - InitPlatformDependantStuff(); + InitPlatformDependentStuff(); GetOptions(argv); OpenAll();