X-Git-Url: https://git.verplant.org/?a=blobdiff_plain;f=src%2Fleveleditor.c;h=7f014b11cefabfcbabbaf7a3cc389b4050dd50b2;hb=6d9952207d28e19d3448c9e0f8859be19d3acc88;hp=1f95ff97eeba49ba072b41b11f858572d5a3034a;hpb=f9f9fbe54cef6c10191d68ff57b807ae76af4f4e;p=supertux.git diff --git a/src/leveleditor.c b/src/leveleditor.c index 1f95ff97e..7f014b11c 100644 --- a/src/leveleditor.c +++ b/src/leveleditor.c @@ -8,7 +8,7 @@ * * ***************************************************************************/ -/* December 28, 2003 - January 1st, 2004 */ +/* December 28, 2003 - February 1st, 2004 */ /* leveleditor.c - A built-in level editor for SuperTux by Ricardo Cruz */ @@ -135,7 +135,7 @@ int leveleditor() char str[LEVEL_NAME_MAX]; int done; int x, y, i; /* for cicles */ - int pos_x, cursor_x, cursor_y, fire; + int pos_x, cursor_x, cursor_y, cursor_tile, fire; SDL_Event event; SDLKey key; SDLMod keymod; @@ -190,7 +190,7 @@ int leveleditor() key = event.key.keysym.sym; if(show_menu) { - menu_event(key); + menu_event(&event.key.keysym); break; } switch(key) @@ -458,7 +458,7 @@ int leveleditor() drawshape(x * 32, y * 32, current_level.tiles[y][x + (pos_x / 32)]); /* draw whats inside stuff when cursor is selecting those */ -int cursor_tile = current_level.tiles[cursor_y/32][cursor_x/32]; +cursor_tile = current_level.tiles[cursor_y/32][cursor_x/32]; switch(cursor_tile) { case 'B': @@ -479,7 +479,6 @@ switch(cursor_tile) /* Draw the Bad guys: */ for (i = 0; i < num_bad_guys; ++i) { - /* printf("\nbad_guys[%i].alive = %i", i, bad_guys[i].alive); */ if(bad_guys[i].base.alive == NO) continue; /* to support frames: img_bsod_left[(frame / 5) % 4] */ @@ -503,14 +502,14 @@ if(show_grid) texture_draw(&selection, ((int)(cursor_x - pos_x)/32)*32, cursor_y, NO_UPDATE); sprintf(str, "%d", current_level.time_left); - drawtext("TIME", 324, 0, letters_blue, NO_UPDATE, 1); - drawtext(str, 404, 0, letters_gold, NO_UPDATE, 1); + text_draw(&blue_text, "TIME", 324, 0, 1, NO_UPDATE); + text_draw(&gold_text, str, 404, 0, 1, NO_UPDATE); sprintf(str, "%s", current_level.name); - drawtext("NAME", 0, 0, letters_blue, NO_UPDATE, 1); - drawtext(str, 80, 0, letters_gold, NO_UPDATE, 1); + text_draw(&blue_text, "NAME", 0, 0, 1, NO_UPDATE); + text_draw(&gold_text, str, 80, 0, 1, NO_UPDATE); - drawtext("F1 for Help", 10, 430, letters_blue, NO_UPDATE, 1); + text_draw(&blue_text, "F1 for Help", 10, 430, 1, NO_UPDATE); if(show_menu) { @@ -555,64 +554,10 @@ int xx, yy; bad_guys[i].base.alive = NO; } -/* Save data for this level: */ -void savelevel(void) -{ - FILE * fi; - char * filename; - int y; - char str[80]; - - /* Save data file: */ - - filename = (char *) malloc(sizeof(char) * (strlen(DATA_PREFIX) + 20) + strlen(level_subset)); - sprintf(filename, "%s/levels/%s/level%d.dat", DATA_PREFIX, level_subset, level); - fi = fopen(filename, "w"); - if (fi == NULL) - { - perror(filename); - st_shutdown(); - free(filename); - exit(-1); - } - free(filename); - - - /* sptrinf("# Level created by SuperTux built-in editor", fi); */ - - fputs(current_level.name, fi); - fputs("\n", fi); - fputs(current_level.theme, fi); - fputs("\n", fi); - sprintf(str, "%d\n", current_level.time_left); /* time */ - fputs(str, fi); - fputs(current_level.song_title, fi); /* song filename */ - sprintf(str, "\n%d\n", current_level.bkgd_red); /* red background color */ - fputs(str, fi); - sprintf(str, "%d\n", current_level.bkgd_green); /* green background color */ - fputs(str, fi); - sprintf(str, "%d\n", current_level.bkgd_blue); /* blue background color */ - fputs(str, fi); - sprintf(str, "%d\n", current_level.width); /* level width */ - fputs(str, fi); - - for(y = 0; y < 15; ++y) - { - fputs(current_level.tiles[y], fi); - fputs("\n", fi); - } - - fclose(fi); - - drawcenteredtext("SAVED!", 240, letters_gold, NO_UPDATE, 1); - flipscreen(); - SDL_Delay(1000); -} - void showhelp() { SDL_Event event; - int done; + int i, done; char *text[] = { "X/x - Brick0", "Y/y - Brick1", @@ -638,14 +583,13 @@ void showhelp() "Esc - Menu"}; - drawcenteredtext("- Help -", 30, letters_red, NO_UPDATE, 2); - drawtext("Keys:", 80, 60, letters_gold, NO_UPDATE, 1); - - int i; + text_drawf(&red_text, "- Help -", 0, 30, A_HMIDDLE, A_TOP, 2, NO_UPDATE); + text_draw(&gold_text, "Keys:", 80, 60, 1, NO_UPDATE); + for(i = 0; i < sizeof(text)/sizeof(char *); i++) - drawtext(text[i], 40, 90+(i*16), letters_blue, NO_UPDATE, 1); + text_draw(&blue_text, text[i], 40, 90+(i*16), 1, NO_UPDATE); - drawcenteredtext("Press Any Key to Continue", 460, letters_gold, NO_UPDATE, 1); + text_drawf(&gold_text, "Press Any Key to Continue", 0, 460, A_HMIDDLE, A_TOP, 1, NO_UPDATE); flipscreen();