rnd-20061014-2-src
[rocksndiamonds.git] / src / main.c
index ccf8e42ab76e719ebbef4e5964d58ccf43b9f968..915ea749a8bd24b8d53cfe642ac4d75cf5a1723b 100644 (file)
@@ -104,6 +104,7 @@ struct TapeInfo             tape;
 struct SetupInfo       setup;
 struct GameInfo                game;
 struct GlobalInfo      global;
+struct BorderInfo      border;
 struct MenuInfo                menu;
 struct DoorInfo                door_1, door_2;
 struct PreviewInfo     preview;
@@ -3695,43 +3696,43 @@ struct ElementNameInfo element_name_info[MAX_NUM_ELEMENTS + 1] =
     "growing wall (horizontal, BD style)"
   },
   {
-    "last_ce_8",
-    "last_ce",
+    "prev_ce_8",
+    "prev_ce",
     "CE 8 positions earlier in list"
   },
   {
-    "last_ce_7",
-    "last_ce",
+    "prev_ce_7",
+    "prev_ce",
     "CE 7 positions earlier in list"
   },
   {
-    "last_ce_6",
-    "last_ce",
+    "prev_ce_6",
+    "prev_ce",
     "CE 6 positions earlier in list"
   },
   {
-    "last_ce_5",
-    "last_ce",
+    "prev_ce_5",
+    "prev_ce",
     "CE 5 positions earlier in list"
   },
   {
-    "last_ce_4",
-    "last_ce",
+    "prev_ce_4",
+    "prev_ce",
     "CE 4 positions earlier in list"
   },
   {
-    "last_ce_3",
-    "last_ce",
+    "prev_ce_3",
+    "prev_ce",
     "CE 3 positions earlier in list"
   },
   {
-    "last_ce_2",
-    "last_ce",
+    "prev_ce_2",
+    "prev_ce",
     "CE 2 positions earlier in list"
   },
   {
-    "last_ce_1",
-    "last_ce",
+    "prev_ce_1",
+    "prev_ce",
     "CE 1 position earlier in list"
   },
   {
@@ -4615,92 +4616,170 @@ struct ElementDirectionInfo element_direction_info[NUM_DIRECTIONS_FULL + 1] =
 
 struct SpecialSuffixInfo special_suffix_info[NUM_SPECIAL_GFX_ARGS + 1 + 1] =
 {
-  { ".[DEFAULT]",      GAME_MODE_DEFAULT,              },
-  { ".TITLE",          GAME_MODE_TITLE,                },
-  { ".MAIN",           GAME_MODE_MAIN,                 },
-  { ".LEVELS",         GAME_MODE_LEVELS                },
-  { ".SCORES",         GAME_MODE_SCORES,               },
-  { ".EDITOR",         GAME_MODE_EDITOR,               },
-  { ".INFO",           GAME_MODE_INFO,                 },
-  { ".SETUP",          GAME_MODE_SETUP,                },
-  { ".PLAYING",                GAME_MODE_PLAYING,              },
-  { ".DOOR",           GAME_MODE_PSEUDO_DOOR,          },
-  { ".PREVIEW",                GAME_MODE_PSEUDO_PREVIEW,       },
-  { ".CRUMBLED",       GAME_MODE_PSEUDO_CRUMBLED,      },
+  { ".[DEFAULT]",      GFX_SPECIAL_ARG_DEFAULT,        },
+  { ".TITLE",          GFX_SPECIAL_ARG_TITLE,          },
+  { ".MAIN",           GFX_SPECIAL_ARG_MAIN,           },
+  { ".LEVELS",         GFX_SPECIAL_ARG_LEVELS          },
+  { ".SCORES",         GFX_SPECIAL_ARG_SCORES,         },
+  { ".EDITOR",         GFX_SPECIAL_ARG_EDITOR,         },
+  { ".INFO",           GFX_SPECIAL_ARG_INFO,           },
+  { ".SETUP",          GFX_SPECIAL_ARG_SETUP,          },
+  { ".PLAYING",                GFX_SPECIAL_ARG_PLAYING,        },
+  { ".DOOR",           GFX_SPECIAL_ARG_DOOR,           },
+  { ".PREVIEW",                GFX_SPECIAL_ARG_PREVIEW,        },
+  { ".CRUMBLED",       GFX_SPECIAL_ARG_CRUMBLED,       },
 
   /* empty suffix always matches -- check as last entry in InitMusicInfo() */
-  { "",                        GAME_MODE_DEFAULT,              },
+  { "",                        GFX_SPECIAL_ARG_DEFAULT,        },
 
   { NULL,              0,                              }
 };
 
 struct TokenIntPtrInfo image_config_vars[] =
 {
-  { "global.num_toons",                &global.num_toons                           },
+  { "global.num_toons",                &global.num_toons                             },
 
-  { "menu.draw_xoffset",       &menu.draw_xoffset[GFX_SPECIAL_ARG_DEFAULT] },
-  { "menu.draw_yoffset",       &menu.draw_yoffset[GFX_SPECIAL_ARG_DEFAULT] },
-  { "menu.draw_xoffset.MAIN",  &menu.draw_xoffset[GFX_SPECIAL_ARG_MAIN]    },
-  { "menu.draw_yoffset.MAIN",  &menu.draw_yoffset[GFX_SPECIAL_ARG_MAIN]    },
-  { "menu.draw_xoffset.LEVELS",        &menu.draw_xoffset[GFX_SPECIAL_ARG_LEVELS]  },
-  { "menu.draw_yoffset.LEVELS",        &menu.draw_yoffset[GFX_SPECIAL_ARG_LEVELS]  },
-  { "menu.draw_xoffset.SCORES",        &menu.draw_xoffset[GFX_SPECIAL_ARG_SCORES]  },
-  { "menu.draw_yoffset.SCORES",        &menu.draw_yoffset[GFX_SPECIAL_ARG_SCORES]  },
-  { "menu.draw_xoffset.EDITOR",        &menu.draw_xoffset[GFX_SPECIAL_ARG_EDITOR]  },
-  { "menu.draw_yoffset.EDITOR",        &menu.draw_yoffset[GFX_SPECIAL_ARG_EDITOR]  },
-  { "menu.draw_xoffset.INFO",  &menu.draw_xoffset[GFX_SPECIAL_ARG_INFO]    },
-  { "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]   },
+  { "border.draw_masked.TITLE",         &border.draw_masked[GFX_SPECIAL_ARG_TITLE]   },
+  { "border.draw_masked.MAIN",  &border.draw_masked[GFX_SPECIAL_ARG_MAIN]    },
+  { "border.draw_masked.LEVELS", &border.draw_masked[GFX_SPECIAL_ARG_LEVELS]  },
+  { "border.draw_masked.SCORES", &border.draw_masked[GFX_SPECIAL_ARG_SCORES]  },
+  { "border.draw_masked.EDITOR", &border.draw_masked[GFX_SPECIAL_ARG_EDITOR]  },
+  { "border.draw_masked.INFO",  &border.draw_masked[GFX_SPECIAL_ARG_INFO]    },
+  { "border.draw_masked.SETUP",         &border.draw_masked[GFX_SPECIAL_ARG_SETUP]   },
+  { "border.draw_masked.PLAYING",&border.draw_masked[GFX_SPECIAL_ARG_PLAYING] },
+  { "border.draw_masked.DOOR",  &border.draw_masked[GFX_SPECIAL_ARG_DOOR]    },
 
-  { "menu.scrollbar_xoffset",  &menu.scrollbar_xoffset                     },
+  { "menu.draw_xoffset",       &menu.draw_xoffset[GFX_SPECIAL_ARG_DEFAULT]   },
+  { "menu.draw_yoffset",       &menu.draw_yoffset[GFX_SPECIAL_ARG_DEFAULT]   },
+  { "menu.draw_xoffset.MAIN",  &menu.draw_xoffset[GFX_SPECIAL_ARG_MAIN]      },
+  { "menu.draw_yoffset.MAIN",  &menu.draw_yoffset[GFX_SPECIAL_ARG_MAIN]      },
+  { "menu.draw_xoffset.LEVELS",        &menu.draw_xoffset[GFX_SPECIAL_ARG_LEVELS]    },
+  { "menu.draw_yoffset.LEVELS",        &menu.draw_yoffset[GFX_SPECIAL_ARG_LEVELS]    },
+  { "menu.draw_xoffset.SCORES",        &menu.draw_xoffset[GFX_SPECIAL_ARG_SCORES]    },
+  { "menu.draw_yoffset.SCORES",        &menu.draw_yoffset[GFX_SPECIAL_ARG_SCORES]    },
+  { "menu.draw_xoffset.EDITOR",        &menu.draw_xoffset[GFX_SPECIAL_ARG_EDITOR]    },
+  { "menu.draw_yoffset.EDITOR",        &menu.draw_yoffset[GFX_SPECIAL_ARG_EDITOR]    },
+  { "menu.draw_xoffset.INFO",  &menu.draw_xoffset[GFX_SPECIAL_ARG_INFO]      },
+  { "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[GFX_SPECIAL_ARG_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]       },
+  { "menu.scrollbar_xoffset",  &menu.scrollbar_xoffset                       },
 
-  { "menu.fade_delay",         &menu.fade_delay                            },
-  { "menu.post_delay",         &menu.post_delay                            },
+  { "menu.list_size",          &menu.list_size[GFX_SPECIAL_ARG_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_1.width",            &door_1.width                               },
-  { "door_1.height",           &door_1.height                              },
-  { "door_1.step_offset",      &door_1.step_offset                         },
-  { "door_1.step_delay",       &door_1.step_delay                          },
-  { "door_1.anim_mode",                &door_1.anim_mode                           },
-  { "door_2.width",            &door_2.width                               },
-  { "door_2.height",           &door_2.height                              },
-  { "door_2.step_offset",      &door_2.step_offset                         },
-  { "door_2.step_delay",       &door_2.step_delay                          },
-  { "door_2.anim_mode",                &door_2.anim_mode                           },
+  { "menu.fade_delay",         &menu.fade_delay                              },
+  { "menu.post_delay",         &menu.post_delay                              },
 
-  { "preview.x",               &preview.x                                  },
-  { "preview.y",               &preview.y                                  },
-  { "preview.xsize",           &preview.xsize                              },
-  { "preview.ysize",           &preview.ysize                              },
-  { "preview.tile_size",       &preview.tile_size                          },
-  { "preview.step_offset",     &preview.step_offset                        },
-  { "preview.step_delay",      &preview.step_delay                         },
+  { "main.button.name.x",      &menu.main.button.name.x                      },
+  { "main.button.name.y",      &menu.main.button.name.y                      },
+  { "main.button.levels.x",    &menu.main.button.levels.x                    },
+  { "main.button.levels.y",    &menu.main.button.levels.y                    },
+  { "main.button.scores.x",    &menu.main.button.scores.x                    },
+  { "main.button.scores.y",    &menu.main.button.scores.y                    },
+  { "main.button.editor.x",    &menu.main.button.editor.x                    },
+  { "main.button.editor.y",    &menu.main.button.editor.y                    },
+  { "main.button.info.x",      &menu.main.button.info.x                      },
+  { "main.button.info.y",      &menu.main.button.info.y                      },
+  { "main.button.game.x",      &menu.main.button.game.x                      },
+  { "main.button.game.y",      &menu.main.button.game.y                      },
+  { "main.button.setup.x",     &menu.main.button.setup.x                     },
+  { "main.button.setup.y",     &menu.main.button.setup.y                     },
+  { "main.button.quit.x",      &menu.main.button.quit.x                      },
+  { "main.button.quit.y",      &menu.main.button.quit.y                      },
+  { "main.button.prev_level.x",        &menu.main.button.prev_level.x                },
+  { "main.button.prev_level.y",        &menu.main.button.prev_level.y                },
+  { "main.button.next_level.x",        &menu.main.button.next_level.x                },
+  { "main.button.next_level.y",        &menu.main.button.next_level.y                },
 
-  { "game.panel.level.x",      &game.panel.level.x                         },
-  { "game.panel.level.y",      &game.panel.level.y                         },
-  { "game.panel.gems.x",       &game.panel.gems.x                          },
-  { "game.panel.gems.y",       &game.panel.gems.y                          },
-  { "game.panel.inventory.x",  &game.panel.inventory.x                     },
-  { "game.panel.inventory.y",  &game.panel.inventory.y                     },
-  { "game.panel.keys.x",       &game.panel.keys.x                          },
-  { "game.panel.keys.y",       &game.panel.keys.y                          },
-  { "game.panel.score.x",      &game.panel.score.x                         },
-  { "game.panel.score.y",      &game.panel.score.y                         },
-  { "game.panel.time.x",       &game.panel.time.x                          },
-  { "game.panel.time.y",       &game.panel.time.y                          },
+  { "main.text.name.x",                &menu.main.text.name.x                        },
+  { "main.text.name.y",                &menu.main.text.name.y                        },
+  { "main.text.name.width",    &menu.main.text.name.width                    },
+  { "main.text.name.height",   &menu.main.text.name.height                   },
+  { "main.text.levels.x",      &menu.main.text.levels.x                      },
+  { "main.text.levels.y",      &menu.main.text.levels.y                      },
+  { "main.text.levels.width",  &menu.main.text.levels.width                  },
+  { "main.text.levels.height", &menu.main.text.levels.height                 },
+  { "main.text.scores.x",      &menu.main.text.scores.x                      },
+  { "main.text.scores.y",      &menu.main.text.scores.y                      },
+  { "main.text.scores.width",  &menu.main.text.scores.width                  },
+  { "main.text.scores.height", &menu.main.text.scores.height                 },
+  { "main.text.editor.x",      &menu.main.text.editor.x                      },
+  { "main.text.editor.y",      &menu.main.text.editor.y                      },
+  { "main.text.editor.width",  &menu.main.text.editor.width                  },
+  { "main.text.editor.height", &menu.main.text.editor.height                 },
+  { "main.text.info.x",                &menu.main.text.info.x                        },
+  { "main.text.info.y",                &menu.main.text.info.y                        },
+  { "main.text.info.width",    &menu.main.text.info.width                    },
+  { "main.text.info.height",   &menu.main.text.info.height                   },
+  { "main.text.game.x",                &menu.main.text.game.x                        },
+  { "main.text.game.y",                &menu.main.text.game.y                        },
+  { "main.text.game.width",    &menu.main.text.game.width                    },
+  { "main.text.game.height",   &menu.main.text.game.height                   },
+  { "main.text.setup.x",       &menu.main.text.setup.x                       },
+  { "main.text.setup.y",       &menu.main.text.setup.y                       },
+  { "main.text.setup.width",   &menu.main.text.setup.width                   },
+  { "main.text.setup.height",  &menu.main.text.setup.height                  },
+  { "main.text.quit.x",                &menu.main.text.quit.x                        },
+  { "main.text.quit.y",                &menu.main.text.quit.y                        },
+  { "main.text.quit.width",    &menu.main.text.quit.width                    },
+  { "main.text.quit.height",   &menu.main.text.quit.height                   },
 
-  { "[player].boring_delay_fixed",     &game.player_boring_delay_fixed     },
-  { "[player].boring_delay_random",    &game.player_boring_delay_random    },
-  { "[player].sleeping_delay_fixed",   &game.player_sleeping_delay_fixed   },
-  { "[player].sleeping_delay_random",  &game.player_sleeping_delay_random  },
+  { "main.text.current_level.x",&menu.main.text.current_level.x                      },
+  { "main.text.current_level.y",&menu.main.text.current_level.y                      },
+  { "main.text.first_level.x", &menu.main.text.first_level.x                 },
+  { "main.text.first_level.y", &menu.main.text.first_level.y                 },
+  { "main.text.last_level.x",  &menu.main.text.last_level.x                  },
+  { "main.text.last_level.y",  &menu.main.text.last_level.y                  },
+  { "main.text.levelset_info.x",&menu.main.text.levelset_info.x                      },
+  { "main.text.levelset_info.y",&menu.main.text.levelset_info.y                      },
+  { "main.text.level_info.x",  &menu.main.text.level_info.x                  },
+  { "main.text.level_info.y",  &menu.main.text.level_info.y                  },
 
-  { NULL,                      NULL,                                       }
+  { "main.input.name.x",       &menu.main.input.name.x                       },
+  { "main.input.name.y",       &menu.main.input.name.y                       },
+
+  { "preview.x",               &preview.x                                    },
+  { "preview.y",               &preview.y                                    },
+  { "preview.xsize",           &preview.xsize                                },
+  { "preview.ysize",           &preview.ysize                                },
+  { "preview.tile_size",       &preview.tile_size                            },
+  { "preview.step_offset",     &preview.step_offset                          },
+  { "preview.step_delay",      &preview.step_delay                           },
+
+  { "door_1.width",            &door_1.width                                 },
+  { "door_1.height",           &door_1.height                                },
+  { "door_1.step_offset",      &door_1.step_offset                           },
+  { "door_1.step_delay",       &door_1.step_delay                            },
+  { "door_1.anim_mode",                &door_1.anim_mode                             },
+  { "door_2.width",            &door_2.width                                 },
+  { "door_2.height",           &door_2.height                                },
+  { "door_2.step_offset",      &door_2.step_offset                           },
+  { "door_2.step_delay",       &door_2.step_delay                            },
+  { "door_2.anim_mode",                &door_2.anim_mode                             },
+
+  { "game.panel.level.x",      &game.panel.level.x                           },
+  { "game.panel.level.y",      &game.panel.level.y                           },
+  { "game.panel.gems.x",       &game.panel.gems.x                            },
+  { "game.panel.gems.y",       &game.panel.gems.y                            },
+  { "game.panel.inventory.x",  &game.panel.inventory.x                       },
+  { "game.panel.inventory.y",  &game.panel.inventory.y                       },
+  { "game.panel.keys.x",       &game.panel.keys.x                            },
+  { "game.panel.keys.y",       &game.panel.keys.y                            },
+  { "game.panel.score.x",      &game.panel.score.x                           },
+  { "game.panel.score.y",      &game.panel.score.y                           },
+  { "game.panel.time.x",       &game.panel.time.x                            },
+  { "game.panel.time.y",       &game.panel.time.y                            },
+
+  { "[player].boring_delay_fixed",     &game.player_boring_delay_fixed       },
+  { "[player].boring_delay_random",    &game.player_boring_delay_random      },
+  { "[player].sleeping_delay_fixed",   &game.player_sleeping_delay_fixed     },
+  { "[player].sleeping_delay_random",  &game.player_sleeping_delay_random    },
+
+  { NULL,                      NULL,                                         }
 };