#include <cstring>
#include <cstdlib>
-#include "globals.h"
+#include "app/globals.h"
#include "high_scores.h"
-#include "menu.h"
-#include "screen/drawing_context.h"
-#include "screen/screen.h"
-#include "screen/surface.h"
-#include "setup.h"
-#include "lispreader.h"
+#include "gui/menu.h"
+#include "video/drawing_context.h"
+#include "video/screen.h"
+#include "video/surface.h"
+#include "app/setup.h"
+#include "utils/lispreader.h"
+#include "resources.h"
+
+using namespace SuperTux;
#ifdef WIN32
const char * highscore_filename = "/st_highscore.dat";
SDL_Event event;
DrawingContext context;
- bkgd = new Surface(datadir + "/images/highscore/highscore.png", IGNORE_ALPHA);
+ bkgd = new Surface(datadir + "/images/highscore/highscore.png", false);
hs_score = score;
Menu::set_current(highscore_menu);
- if(!highscore_menu->item[0].input)
- highscore_menu->item[0].input = (char*) malloc(strlen(hs_name.c_str()) + 1);
-
- strcpy(highscore_menu->item[0].input,hs_name.c_str());
+ highscore_menu->item[0].input = hs_name;
/* ask for player's name */
while(Menu::current())
{
context.draw_surface(bkgd, Vector(0, 0), LAYER_BACKGROUND0);
- context.draw_text_center(blue_text, "Congratulations",
- Vector(0, 130), LAYER_FOREGROUND1);
+ context.draw_text(blue_text, "Congratulations",
+ Vector(screen->w/2, 130), CENTER_ALLIGN, LAYER_FOREGROUND1);
context.draw_text(blue_text, "Your score:", Vector(150, 180),
- LAYER_FOREGROUND1);
+ LEFT_ALLIGN, LAYER_FOREGROUND1);
sprintf(str, "%d", hs_score);
- context.draw_text(yellow_nums, str, Vector(250, 170), LAYER_FOREGROUND1);
+ context.draw_text(yellow_nums, str, Vector(250, 170), LEFT_ALLIGN, LAYER_FOREGROUND1);
Menu::current()->draw(context);
Menu::current()->action();
switch (highscore_menu->check())
{
case 0:
- if(highscore_menu->item[0].input != NULL)
- hs_name = highscore_menu->item[0].input;
+ hs_name = highscore_menu->item[0].input;
break;
}
/* Save data file: */
filename = highscore_filename;
- fcreatedir(filename.c_str());
- if(fwriteable(filename.c_str()))
+ FileSystem::fcreatedir(filename.c_str());
+ if(FileSystem::fwriteable(filename.c_str()))
{
fi = fopen(filename.c_str(), "w");
if (fi == NULL)