static unsigned int last_update_time;
static unsigned int update_time;
-void display_credits();
+void display_text_file(char *filename);
std::vector<st_subset> contrib_subsets;
std::string current_contrib_subset;
{
st_subset subset;
subset.load(level_subsets.item[i]);
- contrib_menu->additem(MN_GOTO, subset.title.c_str(), i, contrib_subset_menu);
+ contrib_menu->additem(MN_GOTO, subset.title.c_str(), i,
+ contrib_subset_menu, i+1);
contrib_subsets.push_back(subset);
}
int index = contrib_menu->check();
if (index != -1)
{
- index -= 2; // FIXME: Hack
+ index -= 1;
if (index >= 0 && index <= int(contrib_subsets.size()))
{
if (current_subset != index)
{
Level level;
level.load(subset.name, i);
- contrib_subset_menu->additem(MN_ACTION, level.name, 0, 0);
+ contrib_subset_menu->additem(MN_ACTION, level.name, 0, 0, i);
}
contrib_subset_menu->additem(MN_HL,"",0,0);
contrib_subset_menu->additem(MN_BACK, "Back", 0, 0);
int index = contrib_subset_menu->check();
if (index != -1)
{
- if (contrib_subset_menu->get_item(index).kind == MN_ACTION)
+ if (contrib_subset_menu->get_item_by_id(index).kind == MN_ACTION)
{
- index -= 1; // FIXME: Hack
std::cout << "Sarting level: " << index << std::endl;
- halt_music();
GameSession session(current_contrib_subset, index, ST_GL_PLAY);
session.run();
Menu::set_current(main_menu);
}
global_frame_counter++;
- tux->key_event(SDLK_RIGHT,DOWN);
+ tux->key_event((SDLKey) keymap.right,DOWN);
if(random_timer.check())
{
if(walking)
- tux->key_event(SDLK_UP,UP);
+ tux->key_event((SDLKey) keymap.jump,UP);
else
- tux->key_event(SDLK_UP,DOWN);
+ tux->key_event((SDLKey) keymap.jump,DOWN);
}
else
{
{
switch (main_menu->check())
{
- case 0:
+ case MNID_STARTGAME:
// Start Game, ie. goto the slots menu
update_load_save_game_menu(load_game_menu);
break;
- case 1:
+ case MNID_CONTRIB:
// Contrib Menu
puts("Entering contrib menu");
generate_contrib_menu();
break;
- case 3:
- halt_music();
+ case MNID_LEVELEDITOR:
leveleditor(1);
Menu::set_current(main_menu);
break;
- case 4:
- display_credits();
+ case MNID_CREDITS:
+ display_text_file("CREDITS");
Menu::set_current(main_menu);
break;
- case 6:
+ case MNID_QUITMAINMENU:
Menu::set_current(0);
break;
}
#define SCROLL 60
#define ITEMS_SPACE 4
-void display_credits()
+void display_text_file(char *file)
{
int done;
int scroll, speed;
string_list_type names;
char filename[1024];
string_list_init(&names);
- sprintf(filename,"%s/CREDITS", datadir.c_str());
+ sprintf(filename,"%s/%s", datadir.c_str(), file);
if((fi = fopen(filename,"r")) != NULL)
{
while(fgets(temp, sizeof(temp), fi) != NULL)
draw_background();
- white_big_text->drawf("- Credits -", 0, screen->h-scroll, A_HMIDDLE, A_TOP, 2);
+ if (strcmp(file, "CREDITS") == 0)
+ white_big_text->drawf("- SuperTux " VERSION " -",
+ 0, screen->h-scroll, A_HMIDDLE, A_TOP, 2);
y = 0;
for(int i = 0; i < length; i++)