changes.. in android and quit code..

master
steffen 12 years ago
parent dc3b085f0f
commit fb279bdbb2

@ -1,6 +1,11 @@
Version 0.0.2: name changed to spOSMroute, since on there had been another Version 0.0.2: name changed to spOSMroute, since on there had been another
OSMroute already. OSMroute already.
============================================================================= =============================================================================
(2013-08-28):
- fixed: some search messages created a crash on 32bit systems.
- fixed: saving of last position works now from inside the main menu.
(2013-08-01): (2013-08-01):
- moving around the map works better. - moving around the map works better.

@ -34,7 +34,7 @@ include $(BUILD_STATIC_LIBRARY)
include $(CLEAR_VARS) include $(CLEAR_VARS)
FREETYPE_SRC_PATH := freetype2/ FREETYPE_SRC_PATH := freetype2/
LOCAL_MODULE := freetype2-static LOCAL_MODULE := freetype2-static
LOCAL_CFLAGS := -DANDROID_NDK -DFT2_BUILD_LIBRARY=1 LOCAL_CFLAGS := -DANDROID_NDK -DFT2_BUILD_LIBRARY=1 -DSPOSMROUTE
LOCAL_C_INCLUDES := \ LOCAL_C_INCLUDES := \
$(LOCAL_PATH)/$(FREETYPE_SRC_PATH)/include \ $(LOCAL_PATH)/$(FREETYPE_SRC_PATH)/include \
$(LOCAL_PATH)/$(FREETYPE_SRC_PATH)/src $(LOCAL_PATH)/$(FREETYPE_SRC_PATH)/src

@ -99,7 +99,6 @@ static int engine_init_display(struct engine* engine) {
engine->width = w; engine->width = w;
engine->height = h; engine->height = h;
engine->state.angle = 0; engine->state.angle = 0;
gfx_init (w, h); gfx_init (w, h);
return 0; return 0;
} }
@ -321,9 +320,12 @@ void android_main(struct android_app* state) {
app_init (0, NULL); app_init (0, NULL);
// loop waiting for stuff to do. // loop waiting for stuff to do.
while (1) { while (app.status != APPSTATUS_quit) {
main_event (); main_event ();
} }
d_printf ("shutdown?");
app_shutdown ();
exit (0);
} }

@ -103,14 +103,14 @@ void d_printf (char *fmt,...) {
// return; // return;
#endif #endif
va_start (args, fmt); va_start (args, fmt);
vsnprintf (text1, 1024, fmt, args); vsnprintf (text1, 1023, fmt, args);
va_end (args); va_end (args);
text1[1023] = 0; text1[1023] = 0;
text2[1023] = 0; text2[1023] = 0;
snprintf (fn, LEN_FILENAME, "%slogfile.txt", cfg.logpath); snprintf (fn, LEN_FILENAME, "%slogfile.txt", cfg.logpath);
snprintf (text2, 1024, "%-6d %s", (int)(time(NULL) - starttime), text1); snprintf (text2, 1023, "%-6d %s", (int)(time(NULL) - starttime), text1);
#ifndef COSMROUTE #ifndef COSMROUTE
fprintf (stderr, "%s\n", text2); fprintf (stderr, "%s\n", text2);

@ -1,4 +1,4 @@
/* $Id: gui_mainmenu.c,v 1.12 2013/06/18 22:24:21 steffen Exp $ */ /* $Id: gui_mainmenu.c,v 1.14 2013/08/28 09:42:46 steffen Exp $ */
/*************************************************************************** /***************************************************************************
* gui_mainmenu.c * gui_mainmenu.c
* *
@ -217,10 +217,7 @@ void gui_mainmenu_quit () {
#ifdef _WINDOWSCE_ #ifdef _WINDOWSCE_
wince_taskbar (hMainWnd, TRUE); wince_taskbar (hMainWnd, TRUE);
#endif #endif
route_stop (); app.status = APPSTATUS_quit;
map_save_all ();
config_save ();
exit (0);
}; };

@ -18,15 +18,11 @@ int app_init (int argc, char **argv) {
app.status = APPSTATUS_nothing; app.status = APPSTATUS_nothing;
config_init (); config_init ();
d_printf ("************ cfg.last_scale:%f", cfg.last_scale);
map_init (); map_init ();
d_printf ("************ cfg.last_scale:%f", cfg.last_scale);
#ifdef SPOSMROUTE #ifdef SPOSMROUTE
draw_init (); draw_init ();
d_printf ("************ cfg.last_scale:%f", cfg.last_scale);
fav_load (fav_getfilename ()); fav_load (fav_getfilename ());
d_printf ("************ cfg.last_scale:%f", cfg.last_scale);
#endif #endif
return 0; return 0;
}; };

@ -546,7 +546,7 @@ int map_search (char *name, struct map_search_data *data, int datasize) {
d_printf ("map_search something went wrong. realstart < 0 name:%s", name); d_printf ("map_search something went wrong. realstart < 0 name:%s", name);
return 0; return 0;
} }
d_printf ("search blocksize:%lld blockstart:%lld realstart:%d j:%d", blocksize, blockstart, realstart, j, data->name); d_printf ("search blocksize:%lld blockstart:%lld realstart:%lld j:%d", (long long int)blocksize, (long long int)blockstart, (long long int)realstart, j, data->name);
if ((cmpres = strncasecmp (name, data->name, strlen (name)))> 0) { if ((cmpres = strncasecmp (name, data->name, strlen (name)))> 0) {
/* name is lager than data */ /* name is lager than data */
blocksize = blocksize - (realstart+j-blockstart); blocksize = blocksize - (realstart+j-blockstart);
@ -561,14 +561,16 @@ int map_search (char *name, struct map_search_data *data, int datasize) {
/* find first data inside list, go backwards until no match found */ /* find first data inside list, go backwards until no match found */
d_printf ("found blockstart:%lld blocksize:%d, realstart:%ld text:'%-12s'", blockstart, blocksize, realstart, data->name); d_printf ("found blockstart:%lld blocksize:%lld, realstart:%lld text:'%-12s'", (long long int)blockstart,
(long long int)blocksize, (long long int)realstart, data->name);
j = 0; j = 0;
if (cmpres <= 0) { if (cmpres <= 0) {
blockstart = realstart; blockstart = realstart;
d_printf ("<=0 blockstart:%ld realstart:%ld name:%s", blockstart, realstart, name); d_printf ("<=0 blockstart:%lld realstart:%lld name:%s", (long long int)blockstart,
(long long int)realstart, name);
do { do {
realstart = maps_readpos (blockstart, data, &j); realstart = maps_readpos (blockstart, data, &j);
d_printf ("blockstart:%ld realstart:%ld data->name:%s", blockstart, realstart, data->name); d_printf ("blockstart:%lld realstart:%lld data->name:%s", (long long int) blockstart, (long long int) realstart, data->name);
blockstart = realstart-2; blockstart = realstart-2;
cmpres = strncasecmp (name, data->name, strlen (name)); cmpres = strncasecmp (name, data->name, strlen (name));
d_printf (" cmpres:%d", cmpres); d_printf (" cmpres:%d", cmpres);
@ -577,10 +579,10 @@ int map_search (char *name, struct map_search_data *data, int datasize) {
} }
else if (cmpres > 0) { else if (cmpres > 0) {
blockstart = realstart; blockstart = realstart;
d_printf (">0 blockstart:%ld realstart:%ld name:%s", blockstart, realstart, name); d_printf (">0 blockstart:%lld realstart:%lld name:%s", (long long int) blockstart, (long long int) realstart, name);
do { do {
realstart = maps_readpos (blockstart, data, &j); realstart = maps_readpos (blockstart, data, &j);
d_printf ("blockstart:%ld realstart:%ld data->name:%s", blockstart, realstart, data->name); d_printf ("blockstart:%lld realstart:%lld data->name:%s", (long long int)blockstart, (long long int)realstart, data->name);
blockstart = realstart+j; blockstart = realstart+j;
cmpres = strncasecmp (name, data->name, strlen (name)); cmpres = strncasecmp (name, data->name, strlen (name));
d_printf (" cmpres:%d", cmpres); d_printf (" cmpres:%d", cmpres);
@ -593,7 +595,7 @@ int map_search (char *name, struct map_search_data *data, int datasize) {
if (blockstart < 0) blockstart = 0; if (blockstart < 0) blockstart = 0;
for (i = 0, k = 0; i < datasize*2 && k < datasize; i++) { for (i = 0, k = 0; i < datasize*2 && k < datasize; i++) {
realstart = maps_readpos (blockstart, data+k, &j); realstart = maps_readpos (blockstart, data+k, &j);
d_printf ("create list: k:%d i:%d blockstart:%lld j:%d '%s'", k, i, blockstart, j, data[k].name); d_printf ("create list: k:%d i:%d blockstart:%lld j:%d '%s'", k, i, (long long int)blockstart, j, data[k].name);
if (realstart < 0) break; if (realstart < 0) break;
blockstart = realstart + j; blockstart = realstart + j;
if (strncasecmp (name, data[k].name, strlen (name)) == 0) k++; if (strncasecmp (name, data[k].name, strlen (name)) == 0) k++;

@ -64,6 +64,8 @@ void gfx_init (int width, int height) {
gfx_screensize.x = width; gfx_screensize.x = width;
gfx_screensize.y = height; gfx_screensize.y = height;
gfx_resize (width, height); gfx_resize (width, height);
font_init ();
font = font_load ("FreeSans.ttf"); font = font_load ("FreeSans.ttf");
}; };

@ -262,7 +262,7 @@ int main (int argc, char **argv) {
/* Initialize SDL for video output */ /* Initialize SDL for video output */
if (SDL_Init (SDL_INIT_VIDEO | SDL_INIT_TIMER) < 0) { if (SDL_Init (SDL_INIT_VIDEO | SDL_INIT_TIMER) < 0) {
fprintf (stderr, "Unable to initialize SDL: %s\n", fprintf (stderr, "Unable to initialize SDL: %s\n",
SDL_GetError ()); SDL_GetError ());
exit (1); exit (1);
} }
@ -276,7 +276,6 @@ int main (int argc, char **argv) {
SDL_EnableUNICODE(1); SDL_EnableUNICODE(1);
app_init (argc, argv); app_init (argc, argv);
font_init ();
gfx_init (RESOLUTION_X, RESOLUTION_Y); gfx_init (RESOLUTION_X, RESOLUTION_Y);
draw (); draw ();

Loading…
Cancel
Save