Index: bindings.doc ================================================================== --- bindings.doc +++ bindings.doc @@ -139,10 +139,14 @@ 'lc' Set the level code number. This is a 16-bit number which can be used in the class codes of your puzzle set for whatever purpose you wish; the game engine does not use this value itself. +'lt' + Set the level title. The value must be unescaped; you can use the + HEROMESH_UNESCAPE function to do this. + 'lv' Set the level version number. This number is used to detect the validity of stored solutions. Normally, you do not need to set this; it will do so automatically once the level is saved, if any changes have been made which might invalidate the solution (although it doesn't know for sure, Index: edit.c ================================================================== --- edit.c +++ edit.c @@ -1031,11 +1031,11 @@ static inline Uint8 pick_character(void) { SDL_Rect r; SDL_Event ev; Uint8 buf[17]; int i,j; - Uint8 p=0; + static Uint8 p=0; redraw: r.x=r.y=4; r.w=r.h=0x9C; SDL_FillRect(screen,&r,0xF8); SDL_LockSurface(screen); @@ -1308,10 +1308,16 @@ return 0; case 'lc': // Set level code level_code=number; level_changed=1; return 0; + case 'lt': // Set level title + if(argc<2 || !sqlite3_column_text(args,1)) break; + free(level_title); + level_title=strdup(sqlite3_column_text(args,1)); + if(!level_title) fatal("Allocation failed\n"); + return 0; case 'lv': // Set level version level_version=number; level_changed=0; return 0; case 'mR': // Select MRU relative