void le_drawlevel();
void le_drawinterface();
void le_checkevents();
-void le_change(float x, float y, unsigned char c);
+void le_change(float x, float y, int tm, unsigned int c);
void le_testlevel();
void le_showhelp();
void le_set_defaults(void);
static int le_frame;
static texture_type le_selection;
static int done;
-static char le_current_tile;
+static unsigned int le_current_tile;
static bool le_mouse_pressed[2];
static button_type le_save_level_bt;
static button_type le_test_level_bt;
static button_panel_type le_bkgd_panel;
static button_panel_type le_fgd_panel;
static button_panel_type le_bad_panel;
-static menu_type leveleditor_menu;
-static menu_type subset_load_menu;
-static menu_type subset_new_menu;
-static menu_type subset_settings_menu;
-static menu_type level_settings_menu;
+static Menu* leveleditor_menu;
+static Menu* subset_load_menu;
+static Menu* subset_new_menu;
+static Menu* subset_settings_menu;
+static Menu* level_settings_menu;
static square selection;
static int le_selection_mode;
static SDL_Event event;
-void le_activate_bad_guys(void)
-{
- int x,y;
-
- /* Activate bad guys: */
-
- /* as oposed to the gameloop.c func, this one doesn't remove
- the badguys from tiles */
-
- for (y = 0; y < 15; ++y)
- for (x = 0; x < le_current_level->width; ++x)
- if (le_current_level->tiles[y][x] >= '0' && le_current_level->tiles[y][x] <= '9')
- add_bad_guy(x * 32, y * 32, le_current_level->tiles[y][x] - '0');
-}
-
void le_set_defaults()
{
if(le_current_level != NULL)
if(show_menu)
{
menu_process_current();
- if(current_menu == &leveleditor_menu)
+ if(current_menu == leveleditor_menu)
{
- switch (menu_check(&leveleditor_menu))
+ switch (leveleditor_menu->check())
{
case 2:
show_menu = false;
break;
}
}
- else if(current_menu == &level_settings_menu)
+ else if(current_menu == level_settings_menu)
{
- switch (menu_check(&level_settings_menu))
+ switch (level_settings_menu->check())
{
case 13:
apply_level_settings_menu();
- menu_set_current(&leveleditor_menu);
+ Menu::set_current(leveleditor_menu);
break;
default:
show_menu = true;
break;
}
}
- else if(current_menu == &subset_load_menu)
+ else if(current_menu == subset_load_menu)
{
- switch (i = menu_check(&subset_load_menu))
+ switch (i = subset_load_menu->check())
{
case 0:
break;
if(i != -1)
{
le_level_subset.load(level_subsets.item[i-2]);
- leveleditor_menu.item[3].kind = MN_GOTO;
+ leveleditor_menu->item[3].kind = MN_GOTO;
le_level = 1;
arrays_init();
loadshared();
le_update_buttons(le_current_level->theme.c_str());
le_set_defaults();
level_load_gfx(le_current_level);
- le_activate_bad_guys();
show_menu = true;
}
break;
}
}
- else if(current_menu == &subset_new_menu)
+ else if(current_menu == subset_new_menu)
{
- if(subset_new_menu.item[2].input[0] == '\0')
- subset_new_menu.item[3].kind = MN_DEACTIVE;
+ if(subset_new_menu->item[2].input[0] == '\0')
+ subset_new_menu->item[3].kind = MN_DEACTIVE;
else
{
- subset_new_menu.item[3].kind = MN_ACTION;
+ subset_new_menu->item[3].kind = MN_ACTION;
- switch (i = menu_check(&subset_new_menu))
+ switch (i = subset_new_menu->check())
{
case 3:
- st_subset::create(subset_new_menu.item[2].input);
- le_level_subset.load(subset_new_menu.item[2].input);
- leveleditor_menu.item[3].kind = MN_GOTO;
+ st_subset::create(subset_new_menu->item[2].input);
+ le_level_subset.load(subset_new_menu->item[2].input);
+ leveleditor_menu->item[3].kind = MN_GOTO;
le_level = 1;
arrays_init();
loadshared();
le_update_buttons(le_current_level->theme.c_str());
le_set_defaults();
level_load_gfx(le_current_level);
- le_activate_bad_guys();
- menu_item_change_input(&subset_new_menu.item[2],"");
+ menu_item_change_input(&subset_new_menu->item[2],"");
show_menu = true;
break;
}
}
}
- else if(current_menu == &subset_settings_menu)
+ else if(current_menu == subset_settings_menu)
{
- if(le_level_subset.title.compare(subset_settings_menu.item[2].input) == 0 && le_level_subset.description.compare(subset_settings_menu.item[3].input) == 0 )
- subset_settings_menu.item[5].kind = MN_DEACTIVE;
+ if(le_level_subset.title.compare(subset_settings_menu->item[2].input) == 0 && le_level_subset.description.compare(subset_settings_menu->item[3].input) == 0 )
+ subset_settings_menu->item[5].kind = MN_DEACTIVE;
else
- subset_settings_menu.item[5].kind = MN_ACTION;
+ subset_settings_menu->item[5].kind = MN_ACTION;
- switch (i = menu_check(&subset_settings_menu))
+ switch (i = subset_settings_menu->check())
{
case 5:
save_subset_settings_menu();
le_level_changed = false;
le_current_level = NULL;
- le_current_tile = '.';
+ le_current_tile = 0;
le_mouse_pressed[LEFT] = false;
le_mouse_pressed[RIGHT] = false;
button_panel_additem(&le_bad_panel,button_create(filename, "Bad Guy",(SDLKey)((int)key+i),0,0),i);
}
- menu_init(&leveleditor_menu);
- menu_additem(&leveleditor_menu, MN_LABEL,"Level Editor Menu",0,0);
- menu_additem(&leveleditor_menu, MN_HL,"",0,0);
- menu_additem(&leveleditor_menu, MN_ACTION,"Return To Level Editor",0,0);
- menu_additem(&leveleditor_menu, MN_DEACTIVE,"Level Subset Settings",0,&subset_settings_menu);
- menu_additem(&leveleditor_menu, MN_GOTO,"Load Level Subset",0,&subset_load_menu);
- menu_additem(&leveleditor_menu, MN_GOTO,"New Level Subset",0,&subset_new_menu);
- menu_additem(&leveleditor_menu, MN_HL,"",0,0);
- menu_additem(&leveleditor_menu, MN_ACTION,"Quit Level Editor",0,0);
+ leveleditor_menu = new Menu();
+ subset_load_menu = new Menu();
+ subset_new_menu = new Menu();
+ subset_settings_menu = new Menu();
+ level_settings_menu = new Menu();
+
+ leveleditor_menu->additem(MN_LABEL,"Level Editor Menu",0,0);
+ leveleditor_menu->additem(MN_HL,"",0,0);
+ leveleditor_menu->additem(MN_ACTION,"Return To Level Editor",0,0);
+ leveleditor_menu->additem(MN_DEACTIVE,"Level Subset Settings",0,subset_settings_menu);
+ leveleditor_menu->additem(MN_GOTO,"Load Level Subset",0,subset_load_menu);
+ leveleditor_menu->additem(MN_GOTO,"New Level Subset",0,subset_new_menu);
+ leveleditor_menu->additem(MN_HL,"",0,0);
+ leveleditor_menu->additem(MN_ACTION,"Quit Level Editor",0,0);
menu_reset();
- menu_set_current(&leveleditor_menu);
+ Menu::set_current(leveleditor_menu);
show_menu = true;
- menu_init(&subset_load_menu);
- menu_additem(&subset_load_menu,MN_LABEL,"Load Level Subset",0,0);
- menu_additem(&subset_load_menu,MN_HL,"",0,0);
+ subset_load_menu->additem(MN_LABEL, "Load Level Subset", 0, 0);
+ subset_load_menu->additem(MN_HL, "", 0, 0);
+
for(i = 0; i < level_subsets.num_items; ++i)
{
- menu_additem(&subset_load_menu,MN_ACTION,level_subsets.item[i],0,0);
+ subset_load_menu->additem(MN_ACTION,level_subsets.item[i],0,0);
}
- menu_additem(&subset_load_menu,MN_HL,"",0,0);
- menu_additem(&subset_load_menu,MN_BACK,"Back",0,0);
-
- menu_init(&subset_new_menu);
- menu_additem(&subset_new_menu,MN_LABEL,"New Level Subset",0,0);
- menu_additem(&subset_new_menu,MN_HL,"",0,0);
- menu_additem(&subset_new_menu,MN_TEXTFIELD,"Enter Name",0,0);
- menu_additem(&subset_new_menu,MN_ACTION,"Create",0,0);
- menu_additem(&subset_new_menu,MN_HL,"",0,0);
- menu_additem(&subset_new_menu,MN_BACK,"Back",0,0);
-
- menu_init(&subset_settings_menu);
- menu_additem(&subset_settings_menu,MN_LABEL,"Level Subset Settings",0,0);
- menu_additem(&subset_settings_menu,MN_HL,"",0,0);
- menu_additem(&subset_settings_menu,MN_TEXTFIELD,"Title",0,0);
- menu_additem(&subset_settings_menu,MN_TEXTFIELD,"Description",0,0);
- menu_additem(&subset_settings_menu,MN_HL,"",0,0);
- menu_additem(&subset_settings_menu,MN_ACTION,"Save Changes",0,0);
- menu_additem(&subset_settings_menu,MN_HL,"",0,0);
- menu_additem(&subset_settings_menu,MN_BACK,"Back",0,0);
-
- menu_init(&level_settings_menu);
- level_settings_menu.arrange_left = true;
- menu_additem(&level_settings_menu,MN_LABEL,"Level Settings",0,0);
- menu_additem(&level_settings_menu,MN_HL,"",0,0);
- menu_additem(&level_settings_menu,MN_TEXTFIELD,"Name ",0,0);
- menu_additem(&level_settings_menu,MN_STRINGSELECT,"Theme ",0,0);
- menu_additem(&level_settings_menu,MN_STRINGSELECT,"Song ",0,0);
- menu_additem(&level_settings_menu,MN_STRINGSELECT,"Bg-Image",0,0);
- menu_additem(&level_settings_menu,MN_NUMFIELD,"Length ",0,0);
- menu_additem(&level_settings_menu,MN_NUMFIELD,"Time ",0,0);
- menu_additem(&level_settings_menu,MN_NUMFIELD,"Gravity",0,0);
- menu_additem(&level_settings_menu,MN_NUMFIELD,"Red ",0,0);
- menu_additem(&level_settings_menu,MN_NUMFIELD,"Green ",0,0);
- menu_additem(&level_settings_menu,MN_NUMFIELD,"Blue ",0,0);
- menu_additem(&level_settings_menu,MN_HL,"",0,0);
- menu_additem(&level_settings_menu,MN_ACTION,"Apply Changes",0,0);
+ subset_load_menu->additem(MN_HL,"",0,0);
+ subset_load_menu->additem(MN_BACK,"Back",0,0);
+
+ subset_new_menu->additem(MN_LABEL,"New Level Subset",0,0);
+ subset_new_menu->additem(MN_HL,"",0,0);
+ subset_new_menu->additem(MN_TEXTFIELD,"Enter Name",0,0);
+ subset_new_menu->additem(MN_ACTION,"Create",0,0);
+ subset_new_menu->additem(MN_HL,"",0,0);
+ subset_new_menu->additem(MN_BACK,"Back",0,0);
+
+ subset_settings_menu->additem(MN_LABEL,"Level Subset Settings",0,0);
+ subset_settings_menu->additem(MN_HL,"",0,0);
+ subset_settings_menu->additem(MN_TEXTFIELD,"Title",0,0);
+ subset_settings_menu->additem(MN_TEXTFIELD,"Description",0,0);
+ subset_settings_menu->additem(MN_HL,"",0,0);
+ subset_settings_menu->additem(MN_ACTION,"Save Changes",0,0);
+ subset_settings_menu->additem(MN_HL,"",0,0);
+ subset_settings_menu->additem(MN_BACK,"Back",0,0);
+
+ level_settings_menu->arrange_left = true;
+ level_settings_menu->additem(MN_LABEL,"Level Settings",0,0);
+ level_settings_menu->additem(MN_HL,"",0,0);
+ level_settings_menu->additem(MN_TEXTFIELD,"Name ",0,0);
+ level_settings_menu->additem(MN_STRINGSELECT,"Theme ",0,0);
+ level_settings_menu->additem(MN_STRINGSELECT,"Song ",0,0);
+ level_settings_menu->additem(MN_STRINGSELECT,"Bg-Image",0,0);
+ level_settings_menu->additem(MN_NUMFIELD,"Length ",0,0);
+ level_settings_menu->additem(MN_NUMFIELD,"Time ",0,0);
+ level_settings_menu->additem(MN_NUMFIELD,"Gravity",0,0);
+ level_settings_menu->additem(MN_NUMFIELD,"Red ",0,0);
+ level_settings_menu->additem(MN_NUMFIELD,"Green ",0,0);
+ level_settings_menu->additem(MN_NUMFIELD,"Blue ",0,0);
+ level_settings_menu->additem(MN_HL,"",0,0);
+ level_settings_menu->additem(MN_ACTION,"Apply Changes",0,0);
SDL_EnableKeyRepeat(SDL_DEFAULT_REPEAT_DELAY, SDL_DEFAULT_REPEAT_INTERVAL);
char str[80];
int i;
- menu_item_change_input(&level_settings_menu.item[2], le_current_level->name.c_str());
+ menu_item_change_input(&level_settings_menu->item[2], le_current_level->name.c_str());
sprintf(str,"%d",le_current_level->width);
- string_list_copy(level_settings_menu.item[3].list, dsubdirs("images/themes", "solid0.png"));
- string_list_copy(level_settings_menu.item[4].list, dfiles("music/",NULL, "-fast"));
- string_list_copy(level_settings_menu.item[5].list, dfiles("images/background",NULL, NULL));
- string_list_add_item(level_settings_menu.item[5].list,"");
- if((i = string_list_find(level_settings_menu.item[3].list,le_current_level->theme.c_str())) != -1)
- level_settings_menu.item[3].list->active_item = i;
- if((i = string_list_find(level_settings_menu.item[4].list,le_current_level->song_title.c_str())) != -1)
- level_settings_menu.item[4].list->active_item = i;
- if((i = string_list_find(level_settings_menu.item[5].list,le_current_level->bkgd_image.c_str())) != -1)
- level_settings_menu.item[5].list->active_item = i;
-
- menu_item_change_input(&level_settings_menu.item[6], str);
+ string_list_copy(level_settings_menu->item[3].list, dsubdirs("images/themes", "solid0.png"));
+ string_list_copy(level_settings_menu->item[4].list, dfiles("music/",NULL, "-fast"));
+ string_list_copy(level_settings_menu->item[5].list, dfiles("images/background",NULL, NULL));
+ string_list_add_item(level_settings_menu->item[5].list,"");
+ if((i = string_list_find(level_settings_menu->item[3].list,le_current_level->theme.c_str())) != -1)
+ level_settings_menu->item[3].list->active_item = i;
+ if((i = string_list_find(level_settings_menu->item[4].list,le_current_level->song_title.c_str())) != -1)
+ level_settings_menu->item[4].list->active_item = i;
+ if((i = string_list_find(level_settings_menu->item[5].list,le_current_level->bkgd_image.c_str())) != -1)
+ level_settings_menu->item[5].list->active_item = i;
+
+ menu_item_change_input(&level_settings_menu->item[6], str);
sprintf(str,"%d",le_current_level->time_left);
- menu_item_change_input(&level_settings_menu.item[7], str);
+ menu_item_change_input(&level_settings_menu->item[7], str);
sprintf(str,"%2.0f",le_current_level->gravity);
- menu_item_change_input(&level_settings_menu.item[8], str);
+ menu_item_change_input(&level_settings_menu->item[8], str);
sprintf(str,"%d",le_current_level->bkgd_red);
- menu_item_change_input(&level_settings_menu.item[9], str);
+ menu_item_change_input(&level_settings_menu->item[9], str);
sprintf(str,"%d",le_current_level->bkgd_green);
- menu_item_change_input(&level_settings_menu.item[10], str);
+ menu_item_change_input(&level_settings_menu->item[10], str);
sprintf(str,"%d",le_current_level->bkgd_blue);
- menu_item_change_input(&level_settings_menu.item[11], str);
+ menu_item_change_input(&level_settings_menu->item[11], str);
}
void update_subset_settings_menu()
{
- menu_item_change_input(&subset_settings_menu.item[2], le_level_subset.title.c_str());
- menu_item_change_input(&subset_settings_menu.item[3], le_level_subset.description.c_str());
+ menu_item_change_input(&subset_settings_menu->item[2], le_level_subset.title.c_str());
+ menu_item_change_input(&subset_settings_menu->item[3], le_level_subset.description.c_str());
}
void apply_level_settings_menu()
{
- int i,y,j;
+ int i;
i = false;
- le_current_level->name = level_settings_menu.item[2].input;
+ le_current_level->name = level_settings_menu->item[2].input;
- if(le_current_level->bkgd_image.compare(string_list_active(level_settings_menu.item[5].list)) != 0)
+ if(le_current_level->bkgd_image.compare(string_list_active(level_settings_menu->item[5].list)) != 0)
{
- le_current_level->bkgd_image = string_list_active(level_settings_menu.item[5].list);
+ le_current_level->bkgd_image = string_list_active(level_settings_menu->item[5].list);
i = true;
}
- if(le_current_level->theme.compare(string_list_active(level_settings_menu.item[3].list)) != 0)
+ if(le_current_level->theme.compare(string_list_active(level_settings_menu->item[3].list)) != 0)
{
- le_current_level->theme = string_list_active(level_settings_menu.item[3].list);
+ le_current_level->theme = string_list_active(level_settings_menu->item[3].list);
le_update_buttons(le_current_level->theme.c_str());
i = true;
}
- if(i == true)
+ if(i)
{
level_free_gfx();
level_load_gfx(le_current_level);
}
- le_current_level->song_title = string_list_active(level_settings_menu.item[4].list);
+ le_current_level->song_title = string_list_active(level_settings_menu->item[4].list);
- i = le_current_level->width;
- le_current_level->width = atoi(level_settings_menu.item[6].input);
- if(le_current_level->width < i)
- {
- if(le_current_level->width < 21)
- le_current_level->width = 21;
- for(y = 0; y < 15; ++y)
- {
- le_current_level->tiles[y] = (unsigned int*) realloc(le_current_level->tiles[y],(le_current_level->width+1)*sizeof(unsigned int));
- le_current_level->tiles[y][le_current_level->width] = (unsigned int) '\0';
- }
- }
- else if(le_current_level->width > i)
- {
- for(y = 0; y < 15; ++y)
- {
- le_current_level->tiles[y] = (unsigned int*) realloc(le_current_level->tiles[y],(le_current_level->width+1)*sizeof(unsigned int));
- for(j = 0; j < le_current_level->width - i; ++j)
- le_current_level->tiles[y][i+j] = (unsigned int) '.';
- le_current_level->tiles[y][le_current_level->width] = (unsigned int) '\0';
- }
- }
- le_current_level->time_left = atoi(level_settings_menu.item[7].input);
- le_current_level->gravity = atof(level_settings_menu.item[8].input);
- le_current_level->bkgd_red = atoi(level_settings_menu.item[9].input);
- le_current_level->bkgd_green = atoi(level_settings_menu.item[10].input);
- le_current_level->bkgd_blue = atoi(level_settings_menu.item[11].input);
+ level_change_size(le_current_level, atoi(level_settings_menu->item[6].input));
+ le_current_level->time_left = atoi(level_settings_menu->item[7].input);
+ le_current_level->gravity = atof(level_settings_menu->item[8].input);
+ le_current_level->bkgd_red = atoi(level_settings_menu->item[9].input);
+ le_current_level->bkgd_green = atoi(level_settings_menu->item[10].input);
+ le_current_level->bkgd_blue = atoi(level_settings_menu->item[11].input);
}
void save_subset_settings_menu()
{
- le_level_subset.title = subset_settings_menu.item[2].input;
- le_level_subset.description = subset_settings_menu.item[3].input;
+ le_level_subset.title = subset_settings_menu->item[2].input;
+ le_level_subset.description = subset_settings_menu->item[3].input;
le_level_subset.save();
}
level_free_gfx();
level_load_gfx(le_current_level);
-
- le_activate_bad_guys();
}
void le_quit(void)
SDL_EnableKeyRepeat(0, 0); // disables key repeating
texture_free(&le_selection);
- menu_free(&leveleditor_menu);
- menu_free(&subset_load_menu);
- menu_free(&subset_new_menu);
- menu_free(&subset_settings_menu);
- menu_free(&level_settings_menu);
+ delete leveleditor_menu;
+ delete subset_load_menu;
+ delete subset_new_menu;
+ delete subset_settings_menu;
+ delete level_settings_menu;
button_panel_free(&le_bkgd_panel);
button_panel_free(&le_fgd_panel);
button_panel_free(&le_bad_panel);
for (y = 0; y < 15; ++y)
for (x = 0; x < 20; ++x)
{
- drawshape(x * 32 - ((int)pos_x % 32), y * 32, le_current_level->tiles[y][x + (int)(pos_x / 32)]);
+ drawshape(x * 32 - ((int)pos_x % 32), y * 32, le_current_level->ia_tiles[y][x + (int)(pos_x / 32)]);
/* draw whats inside stuff when cursor is selecting those */
/* (draw them all the time - is this the right behaviour?) */
- switch(le_current_level->tiles[y][x + (int)(pos_x/32)])
+ switch(le_current_level->ia_tiles[y][x + (int)(pos_x/32)])
{
case 'B':
texture_draw(&img_mints, x * 32 - ((int)pos_x % 32), y*32);
case 'x':
case 'y':
case 'A':
- texture_draw(&img_distro[(frame / 5) % 4], x * 32 - ((int)pos_x % 32), y*32);
+ texture_draw(&img_distro[(global_frame_counter / 5) % 4], x * 32 - ((int)pos_x % 32), y*32);
break;
default:
break;
/* Draw the player: */
/* for now, the position is fixed at (0, 240) */
- texture_draw(&tux_right[(frame / 5) % 3], 0 - pos_x, 240);
+ texture_draw(&tux_right[(global_frame_counter / 5) % 3], 0 - pos_x, 240);
}
void le_checkevents()
key = event.key.keysym.sym;
if(show_menu)
{
- menu_event(&event.key.keysym);
+ menu_event(event);
if(key == SDLK_ESCAPE)
{
show_menu = false;
- menu_set_current(&leveleditor_menu);
+ Menu::set_current(leveleditor_menu);
}
break;
}
cursor_x = ((int)(pos_x + x) / 32) * 32;
cursor_y = ((int) y / 32) * 32;
- if(le_mouse_pressed[LEFT] == true)
+ if(le_mouse_pressed[LEFT])
{
selection.x2 = x + pos_x;
selection.y2 = y;
}
- if(le_mouse_pressed[RIGHT] == true)
+ if(le_mouse_pressed[RIGHT])
{
pos_x += -1 * event.motion.xrel;
}
}
button_event(&le_rubber_bt,&event);
if(button_get_state(&le_rubber_bt) == BUTTON_CLICKED)
- le_current_tile = '.';
+ le_current_tile = 0;
button_event(&le_select_mode_one_bt,&event);
if(button_get_state(&le_select_mode_one_bt) == BUTTON_CLICKED)
le_selection_mode = CURSOR;
if(show_menu == false)
{
update_level_settings_menu();
- menu_set_current(&level_settings_menu);
+ Menu::set_current(level_settings_menu);
show_menu = true;
}
else
{
- menu_set_current(&leveleditor_menu);
+ Menu::set_current(leveleditor_menu);
show_menu = false;
}
}
if(show_menu == false)
{
update_level_settings_menu();
- menu_set_current(&level_settings_menu);
+ Menu::set_current(level_settings_menu);
show_menu = true;
}
else
{
- menu_set_current(&leveleditor_menu);
+ Menu::set_current(leveleditor_menu);
show_menu = false;
}
}
if(le_mouse_pressed[LEFT])
{
- le_change(cursor_x, cursor_y, le_current_tile);
+ le_change(cursor_x, cursor_y, TM_IA, le_current_tile);
}
}
}
fillrect(x1*32-pos_x, y1*32,32* (x2 - x1 + 1),32 * (y2 - y1 + 1),173,234,177,103);
}
-void le_change(float x, float y, unsigned char c)
+void le_change(float x, float y, int tm, unsigned int c)
{
if(le_current_level != NULL)
{
switch(le_selection_mode)
{
case CURSOR:
- level_change(le_current_level,x,y,c);
+ level_change(le_current_level,x,y,tm,c);
yy = ((int)y / 32);
xx = ((int)x / 32);
/* if there is a bad guy over there, remove it */
for(i = 0; i < bad_guys.size(); ++i)
if(xx == bad_guys[i].base.x/32 && yy == bad_guys[i].base.y/32)
- bad_guys.erase(static_cast<std::vector<bad_guy_type>::iterator>(&bad_guys[i]));
+ bad_guys.erase(static_cast<std::vector<BadGuy>::iterator>(&bad_guys[i]));
if(c == '0') /* if it's a bad guy */
add_bad_guy(xx*32, yy*32, BAD_BSOD);
for(i = 0; i < bad_guys.size(); ++i)
if(bad_guys[i].base.x/32 >= x1 && bad_guys[i].base.x/32 <= x2
&& bad_guys[i].base.y/32 >= y1 && bad_guys[i].base.y/32 <= y2)
- bad_guys.erase(static_cast<std::vector<bad_guy_type>::iterator>(&bad_guys[i]));
+ bad_guys.erase(static_cast<std::vector<BadGuy>::iterator>(&bad_guys[i]));
for(xx = x1; xx <= x2; xx++)
for(yy = y1; yy <= y2; yy++)
{
- level_change(le_current_level, xx*32, yy*32, c);
+ level_change(le_current_level, xx*32, yy*32, tm, c);
if(c == '0') // if it's a bad guy
add_bad_guy(xx*32, yy*32, BAD_BSOD);
{
level_save(le_current_level,"test",le_level);
gameloop("test",le_level, ST_GL_TEST);
- menu_set_current(&leveleditor_menu);
+ Menu::set_current(leveleditor_menu);
arrays_init();
level_load_gfx(le_current_level);
loadshared();
- le_activate_bad_guys();
}
void le_showhelp()