gnurobbo-0.66+dfsg/0002755000175000017500000000000011474701667013256 5ustar stevestevegnurobbo-0.66+dfsg/locales.c0000644000175000017500000011075411467102250015033 0ustar stevesteve/* GNU Robbo * Copyright (C) 2002-2010 The GNU Robbo Team (see AUTHORS). * * GNU Robbo is free software - you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2, or (at your option) * any later version. * * GNU Robbo is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the impled warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with GNU CC; see the file COPYING. If not, write to the * Free Software Foundation, 59 Temple Place - Suite 330, * Boston, MA 02111-1307, USA. * */ #include "game.h" /* Defines */ /* #define DEBUG_LOAD_SELECTED_LOCALE #define DEBUG_READ_LOCALERC_FILE #define DEBUG_SET_LOCALE_TO_LANG */ #define LOCALES_DIR "locales" #define LOCALERC_FILE "localerc" #define LOCALE_TEXT_FILE "text" /* Variables */ extern char *data_state[]; /* Function prototypes */ /*************************************************************************** * Find All Locales * ***************************************************************************/ /* Searches PACKAGE_DATA_DIR LOCALES_DIR for locale folders. On exit: returns 1 on error */ int find_all_locales (void) { FILE *fp; char filename[256]; DIR *dir; struct dirent *currentdirent; int default_locale_found = FALSE; /* Open the locales directory */ if ((dir = opendir (PACKAGE_DATA_DIR "/" LOCALES_DIR)) == NULL) { fprintf (stdout, "Couldn't open locales folder: %s\n", PACKAGE_DATA_DIR "/" LOCALES_DIR); return 1; } /* Now search the directory for locale folders */ while ((currentdirent = readdir (dir)) != NULL) { if ((strcmp (currentdirent->d_name, ".")) && (strcmp (currentdirent->d_name, ".."))) { if (locale_count < MAX_LOCALES) { /* Attempt to open currentdirent->d_name/localerc to verify it's a valid locale folder */ strcpy (filename, PACKAGE_DATA_DIR "/" LOCALES_DIR "/"); strcat (filename, currentdirent->d_name); strcat (filename, "/"); strcat (filename, LOCALERC_FILE); if ((fp = fopen (filename, "r")) != NULL) { if (!strcmp (currentdirent->d_name, DEFAULT_LOCALE)) { default_locale_found = TRUE; } else { strncpy (locales[locale_count].foldername, currentdirent->d_name, 100); locales[locale_count].foldername[99] = 0; /* Just in case we read all chars */ locale_count++; } fclose (fp); } } } } closedir (dir); if (!default_locale_found) { fprintf (stdout, "Cannot find the default locale: %s\n", PACKAGE_DATA_DIR "/" LOCALES_DIR "/" DEFAULT_LOCALE); return 1; } else { return 0; } } /*************************************************************************** * Sort Locales * ***************************************************************************/ /* Sorts found locales alphanumerically by name remembering to preserve the selected locale :) This must be done last after find_all_locales(), read_localerc_files() and read_resource_file() */ void sort_locales (void) { struct locale swap_locale; int swapped, count; /* Bubble sort */ do { swapped = FALSE; for (count = 0; count < locale_count - 1; count++) { if (strcmp (locales[count].name, locales[count + 1].name) > 0) { swapped = TRUE; swap_locale = locales[count + 1]; locales[count + 1] = locales[count]; locales[count] = swap_locale; /* Preserve selected locale */ if (selected_locale == count + 1) { selected_locale = count; } else if (selected_locale == count) { selected_locale = count + 1; } } } } while (swapped); } /*************************************************************************** * Read localerc Files * ***************************************************************************/ /* Reads all localerc files and populates the locale list. At the time this is called, we already know that the default locale has been found so nothing here is fatal. Anything not found will be set to SINGLE_SPACE */ void read_localerc_files (void) { FILE *fp; char filename[256], line[1024]; /* 1024 because if fgets returns a partial line then line_count will be incremented again */ int count, count2, line_count = 0; int name_read = DATA_UNREAD; int author_read = DATA_UNREAD; #ifdef DEBUG_READ_LOCALERC_FILE printf ("*** Start %s ***\n", __func__); #endif for (count = 0; count < locale_count; count++) { /* Reset these because we'll be using them more than once */ line_count = 0; name_read = DATA_UNREAD; author_read = DATA_UNREAD; /* Initialise everything to some defaults */ strcpy (locales[count].name, SINGLE_SPACE); strcpy (locales[count].author, SINGLE_SPACE); /* Attempt to open the localerc file */ strcpy (filename, PACKAGE_DATA_DIR "/" LOCALES_DIR "/"); strcat (filename, locales[count].foldername); strcat (filename, "/"); strcat (filename, LOCALERC_FILE); if ((fp = fopen (filename, "r")) == NULL) { fprintf (stdout, "Cannot read from file %s\n", filename); } else { /* Read lines including the [CR]LFs until we have what we need or reach the end of file (line == NULL). We are looking for all of these things :- [name] [author] */ while ((fgets (line, 1024, fp)) != NULL) { line_count++; /* fgets will get [CR]LFs too so they should be removed */ for (count2 = strlen (line) - 1; count2 >= 0; count2--) if (line[count2] == 13 || line[count2] == 10) line[count2] = 0; /* Use the tags as switches so we know what to read */ /* NOTE: Reading consecutive (dataless) tags means that the previous tag may still be marked as DATA_READING */ if ((!strncmp (line, "[name]", 6)) || (!strncmp (line, "[author]", 8))) { /* If a tag is being read and we read another tag then mark it as something else */ if (name_read == DATA_READING) { name_read = DATA_INCOMPLETE; } else if (author_read == DATA_READING) { author_read = DATA_INCOMPLETE; } /* If the found tag is DATA_UNREAD then mark it for DATA_READING */ if (!strncmp (line, "[name]", 6)) { if (name_read == DATA_UNREAD) name_read = DATA_READING; } else if (!strncmp (line, "[author]", 8)) { if (author_read == DATA_UNREAD) author_read = DATA_READING; } } else { /* It's not a tag but data (or newline) so we need to find what to do with it */ if (name_read == DATA_READING) { if (strlen (line) != 0) { strncpy (locales[count].name, line, 60); /* Prevent overruns */ locales[count].name[59] = 0; /* Just in case we read all chars */ } name_read = DATA_READ; #ifdef DEBUG_READ_LOCALERC_FILE printf ("%i: name=%s\n", line_count, line); #endif } else if (author_read == DATA_READING) { if (strlen (line) != 0) { strncpy (locales[count].author, line, 60); /* Prevent overruns */ locales[count].author[59] = 0; /* Just in case we read all chars */ } author_read = DATA_READ; #ifdef DEBUG_READ_LOCALERC_FILE printf ("%i: author=%s\n", line_count, line); #endif } } } /* Dump info to the console */ fprintf (stdout, "Locale found: %s\n", locales[count].foldername); fclose (fp); #ifdef DEBUG_READ_LOCALERC_FILE printf ("name_read=%s\n", data_state[name_read]); printf ("author_read=%s\n\n", data_state[author_read]); #endif } } #ifdef DEBUG_READ_LOCALERC_FILE printf ("*** Stop %s ***\n", __func__); #endif } /*************************************************************************** * Load Selected Locale * ***************************************************************************/ /* Loads all text data from the selected locale folder. * Now fixes all strings to the size TXT_MAX_COLS to make the code easier to * read and to make initialisation of the config_items less prone to errors. * We're only dealing with 6KB of memory so even if half of it's empty it * won't matter :) * * This function :- * * Won't write further than the bounds of the array (strings will be * * chopped off) * * Can place one or more strings into a char array * * Will at least place a space into each destination so not to cause seg * faults with SDL_ttf * * Records what was unread, read and partially read (incomplete) if you * require this information */ void load_selected_locale (void) { FILE *fp; /* line[1024] because if fgets returns a partial line then line_count * will be incremented again */ char filename[256], line[1024]; int count, count2, line_count = 0, tag_found, tag_index, row = 0; #define CONFIG_ITEM_COUNT (6+7+59+6+2+5+5+41+49) struct config_item { char name[60]; int state; /* Points to an array of chars which could hold more than one string */ char *destination; /* 1 or more rows within this array of chars of fixed length TXT_MAX_COLS */ int max_rows; }; struct config_item config_items[CONFIG_ITEM_COUNT]; /* Initialise the state and most common max_rows to reduce the * initialisation code below */ for (count = 0; count < CONFIG_ITEM_COUNT; count++) { config_items[count].state = DATA_UNREAD; config_items[count].max_rows = 1; } /* Initialise config_item struct with search and destination data */ row = -1; strcpy (config_items[++row].name, "[txt_intro_story]"); config_items[row].destination = txt_intro_story; config_items[row].max_rows = TXT_INTRO_STORY_ROWS; #if defined(PLATFORM_WIN32) || defined(PLATFORM_PC) strcpy (config_items[++row].name, "[txt_intro_keys_PLATFORM_PC]"); config_items[row].destination = txt_intro_keys; config_items[row].max_rows = TXT_INTRO_KEYS_ROWS; #elif defined(PLATFORM_GP2X) strcpy (config_items[++row].name, "[txt_intro_keys_PLATFORM_GP2X]"); config_items[row].destination = txt_intro_keys; config_items[row].max_rows = TXT_INTRO_KEYS_ROWS; #elif defined(PLATFORM_ZAURUS) strcpy (config_items[++row].name, "[txt_intro_keys_PLATFORM_ZAURUS]"); config_items[row].destination = txt_intro_keys; config_items[row].max_rows = TXT_INTRO_KEYS_ROWS; #elif defined(PLATFORM_FREMANTLE) strcpy (config_items[++row].name, "[txt_intro_keys_PLATFORM_FREMANTLE]"); config_items[row].destination = txt_intro_keys; config_items[row].max_rows = TXT_INTRO_KEYS_ROWS; #elif defined(PLATFORM_PSP) strcpy (config_items[++row].name, "[txt_intro_keys_PLATFORM_PSP]"); config_items[row].destination = txt_intro_keys; config_items[row].max_rows = TXT_INTRO_KEYS_ROWS; #endif strcpy (config_items[++row].name, "[txt_intro_keys_description]"); config_items[row].destination = txt_intro_keys_description; config_items[row].max_rows = TXT_INTRO_KEYS_DESCRIPTION_ROWS; strcpy (config_items[++row].name, "[txt_intro_menu]"); config_items[row].destination = txt_intro_menu; config_items[row].max_rows = TXT_INTRO_MENU_ROWS; strcpy (config_items[++row].name, "[txt_of]"); config_items[row].destination = txt_of; strcpy (config_items[++row].name, "[txt_intro_credits]"); config_items[row].destination = txt_intro_credits; config_items[row].max_rows = TXT_INTRO_CREDITS_ROWS; strcpy (config_items[++row].name, "[txt_help_page0]"); config_items[row].destination = txt_help_page0; config_items[row].max_rows = TXT_HELP_PAGE0_ROWS; strcpy (config_items[++row].name, "[txt_help_page1]"); config_items[row].destination = txt_help_page1; config_items[row].max_rows = TXT_HELP_PAGE1_ROWS; strcpy (config_items[++row].name, "[txt_help_page2]"); config_items[row].destination = txt_help_page2; config_items[row].max_rows = TXT_HELP_PAGE2_ROWS; strcpy (config_items[++row].name, "[txt_help_page3]"); config_items[row].destination = txt_help_page3; config_items[row].max_rows = TXT_HELP_PAGE3_ROWS; strcpy (config_items[++row].name, "[txt_Back]"); config_items[row].destination = txt_Back; strcpy (config_items[++row].name, "[txt_Next]"); config_items[row].destination = txt_Next; strcpy (config_items[++row].name, "[txt_Exit]"); config_items[row].destination = txt_Exit; strcpy (config_items[++row].name, "[txt_options_page1]"); config_items[row].destination = txt_options_page1; config_items[row].max_rows = TXT_OPTIONS_PAGE1_ROWS; strcpy (config_items[++row].name, "[txt_Save]"); config_items[row].destination = txt_Save; strcpy (config_items[++row].name, "[txt_Game_Speed]"); config_items[row].destination = txt_Game_Speed; strcpy (config_items[++row].name, "[txt_Fast]"); config_items[row].destination = txt_Fast; strcpy (config_items[++row].name, "[txt_Normal]"); config_items[row].destination = txt_Normal; strcpy (config_items[++row].name, "[txt_Slow]"); config_items[row].destination = txt_Slow; strcpy (config_items[++row].name, "[txt_Key_Repeat]"); config_items[row].destination = txt_Key_Repeat; strcpy (config_items[++row].name, "[txt_Delay]"); config_items[row].destination = txt_Delay; strcpy (config_items[++row].name, "[txt_Interval]"); config_items[row].destination = txt_Interval; strcpy (config_items[++row].name, "[txt_Default_Joystick]"); config_items[row].destination = txt_Default_Joystick; strcpy (config_items[++row].name, "[txt_No_joystick_found]"); config_items[row].destination = txt_No_joystick_found; strcpy (config_items[++row].name, "[txt_Joystick_Axes_Dead_Zone]"); config_items[row].destination = txt_Joystick_Axes_Dead_Zone; strcpy (config_items[++row].name, "[txt_Language]"); config_items[row].destination = txt_Language; strcpy (config_items[++row].name, "[txt_Translation_by]"); config_items[row].destination = txt_Translation_by; strcpy (config_items[++row].name, "[txt_Save_Frequency]"); config_items[row].destination = txt_Save_Frequency; strcpy (config_items[++row].name, "[txt_On_Exit]"); config_items[row].destination = txt_On_Exit; strcpy (config_items[++row].name, "[txt_On_Change]"); config_items[row].destination = txt_On_Change; strcpy (config_items[++row].name, "[txt_Move_Up]"); config_items[row].destination = txt_Move_Up; strcpy (config_items[++row].name, "[txt_Move_Up_Right]"); config_items[row].destination = txt_Move_Up_Right; strcpy (config_items[++row].name, "[txt_Move_Right]"); config_items[row].destination = txt_Move_Right; strcpy (config_items[++row].name, "[txt_Move_Down_Right]"); config_items[row].destination = txt_Move_Down_Right; strcpy (config_items[++row].name, "[txt_Move_Down]"); config_items[row].destination = txt_Move_Down; strcpy (config_items[++row].name, "[txt_Move_Down_Left]"); config_items[row].destination = txt_Move_Down_Left; strcpy (config_items[++row].name, "[txt_Move_Left]"); config_items[row].destination = txt_Move_Left; strcpy (config_items[++row].name, "[txt_Move_Up_Left]"); config_items[row].destination = txt_Move_Up_Left; strcpy (config_items[++row].name, "[txt_Shoot_Up]"); config_items[row].destination = txt_Shoot_Up; strcpy (config_items[++row].name, "[txt_Shoot_Down]"); config_items[row].destination = txt_Shoot_Down; strcpy (config_items[++row].name, "[txt_Shoot_Left]"); config_items[row].destination = txt_Shoot_Left; strcpy (config_items[++row].name, "[txt_Shoot_Right]"); config_items[row].destination = txt_Shoot_Right; strcpy (config_items[++row].name, "[txt_Restart]"); config_items[row].destination = txt_Restart; strcpy (config_items[++row].name, "[txt_Confirm]"); config_items[row].destination = txt_Confirm; strcpy (config_items[++row].name, "[txt_Help]"); config_items[row].destination = txt_Help; strcpy (config_items[++row].name, "[txt_Options]"); config_items[row].destination = txt_Options; strcpy (config_items[++row].name, "[txt_Previous_Level]"); config_items[row].destination = txt_Previous_Level; strcpy (config_items[++row].name, "[txt_Next_Level]"); config_items[row].destination = txt_Next_Level; strcpy (config_items[++row].name, "[txt_Previous_Pack]"); config_items[row].destination = txt_Previous_Pack; strcpy (config_items[++row].name, "[txt_Next_Pack]"); config_items[row].destination = txt_Next_Pack; strcpy (config_items[++row].name, "[txt_Toggle_Fullscreen]"); config_items[row].destination = txt_Toggle_Fullscreen; strcpy (config_items[++row].name, "[txt_Home]"); config_items[row].destination = txt_Home; strcpy (config_items[++row].name, "[txt_End]"); config_items[row].destination = txt_End; strcpy (config_items[++row].name, "[txt_Page_Up]"); config_items[row].destination = txt_Page_Up; strcpy (config_items[++row].name, "[txt_Page_Down]"); config_items[row].destination = txt_Page_Down; strcpy (config_items[++row].name, "[txt_Volume_Up]"); config_items[row].destination = txt_Volume_Up; strcpy (config_items[++row].name, "[txt_Volume_Down]"); config_items[row].destination = txt_Volume_Down; strcpy (config_items[++row].name, "[txt_Modifier]"); config_items[row].destination = txt_Modifier; strcpy (config_items[++row].name, "[txt_Restore_Default_Controls]"); config_items[row].destination = txt_Restore_Default_Controls; strcpy (config_items[++row].name, "[txt_Toggle_Designer]"); config_items[row].destination = txt_Toggle_Designer; strcpy (config_items[++row].name, "[txt_Scroll_Up]"); config_items[row].destination = txt_Scroll_Up; strcpy (config_items[++row].name, "[txt_Scroll_Down]"); config_items[row].destination = txt_Scroll_Down; strcpy (config_items[++row].name, "[txt_Primary_Click]"); config_items[row].destination = txt_Primary_Click; strcpy (config_items[++row].name, "[txt_System_Pointer"); config_items[row].destination = txt_System_Pointer; strcpy (config_items[++row].name, "[txt_Disabled]"); config_items[row].destination = txt_Disabled; strcpy (config_items[++row].name, "[txt_Enabled]"); config_items[row].destination = txt_Enabled; strcpy (config_items[++row].name, "[txt_Pointer_Controls_Pad_Type]"); config_items[row].destination = txt_Pointer_Controls_Pad_Type; strcpy (config_items[++row].name, "[txt_Viewport]"); config_items[row].destination = txt_Viewport; strcpy (config_items[++row].name, "[txt_Screen]"); config_items[row].destination = txt_Screen; strcpy (config_items[++row].name, "[txt_Sound]"); config_items[row].destination = txt_Sound; strcpy (config_items[++row].name, "[txt_Sfx_Volume]"); config_items[row].destination = txt_Sfx_Volume; strcpy (config_items[++row].name, "[txt_Simulated_Pointer]"); config_items[row].destination = txt_Simulated_Pointer; strcpy (config_items[++row].name, "[txt_Key]"); config_items[row].destination = txt_Key; strcpy (config_items[++row].name, "[txt_Joy]"); config_items[row].destination = txt_Joy; strcpy (config_items[++row].name, "[txt_Ptr]"); config_items[row].destination = txt_Ptr; strcpy (config_items[++row].name, "[txt_Mod]"); config_items[row].destination = txt_Mod; strcpy (config_items[++row].name, "[txt_Skin]"); config_items[row].destination = txt_Skin; strcpy (config_items[++row].name, "[txt_By]"); config_items[row].destination = txt_By; strcpy (config_items[++row].name, "[txt_Level_Author]"); config_items[row].destination = txt_Level_Author; strcpy (config_items[++row].name, "[txt_endscreen_congrats]"); config_items[row].destination = txt_endscreen_congrats; config_items[row].max_rows = TXT_ENDSCREEN_CONGRATS_ROWS; strcpy (config_items[++row].name, "[txt_Volume]"); config_items[row].destination = txt_Volume; strcpy (config_items[++row].name, "[txt_Changes_saved]"); config_items[row].destination = txt_Changes_saved; strcpy (config_items[++row].name, "[txt_Default_controls_restored]"); config_items[row].destination = txt_Default_controls_restored; strcpy (config_items[++row].name, "[txt_Press_something_and_release]"); config_items[row].destination = txt_Press_something_and_release; strcpy (config_items[++row].name, "[txt_No_input_was_detected]"); config_items[row].destination = txt_No_input_was_detected; strcpy (config_items[++row].name, "[txt_ptr_BtnLeft]"); config_items[row].destination = txt_ptr_BtnLeft; strcpy (config_items[++row].name, "[txt_ptr_BtnMiddle]"); config_items[row].destination = txt_ptr_BtnMiddle; strcpy (config_items[++row].name, "[txt_ptr_BtnRight]"); config_items[row].destination = txt_ptr_BtnRight; strcpy (config_items[++row].name, "[txt_ptr_WheelUp]"); config_items[row].destination = txt_ptr_WheelUp; strcpy (config_items[++row].name, "[txt_ptr_WheelDown]"); config_items[row].destination = txt_ptr_WheelDown; strcpy (config_items[++row].name, "[txt_key_Backspace]"); config_items[row].destination = txt_key_Backspace; strcpy (config_items[++row].name, "[txt_key_Tab]"); config_items[row].destination = txt_key_Tab; strcpy (config_items[++row].name, "[txt_key_Clear]"); config_items[row].destination = txt_key_Clear; strcpy (config_items[++row].name, "[txt_key_Return]"); config_items[row].destination = txt_key_Return; strcpy (config_items[++row].name, "[txt_key_Pause]"); config_items[row].destination = txt_key_Pause; strcpy (config_items[++row].name, "[txt_key_Escape]"); config_items[row].destination = txt_key_Escape; strcpy (config_items[++row].name, "[txt_key_Space]"); config_items[row].destination = txt_key_Space; strcpy (config_items[++row].name, "[txt_key_Delete]"); config_items[row].destination = txt_key_Delete; strcpy (config_items[++row].name, "[txt_key_KP]"); config_items[row].destination = txt_key_KP; strcpy (config_items[++row].name, "[txt_key_Up]"); config_items[row].destination = txt_key_Up; strcpy (config_items[++row].name, "[txt_key_Down]"); config_items[row].destination = txt_key_Down; strcpy (config_items[++row].name, "[txt_key_Right]"); config_items[row].destination = txt_key_Right; strcpy (config_items[++row].name, "[txt_key_Left]"); config_items[row].destination = txt_key_Left; strcpy (config_items[++row].name, "[txt_key_Insert]"); config_items[row].destination = txt_key_Insert; strcpy (config_items[++row].name, "[txt_key_Home]"); config_items[row].destination = txt_key_Home; strcpy (config_items[++row].name, "[txt_key_End]"); config_items[row].destination = txt_key_End; strcpy (config_items[++row].name, "[txt_key_PgUp]"); config_items[row].destination = txt_key_PgUp; strcpy (config_items[++row].name, "[txt_key_PgDn]"); config_items[row].destination = txt_key_PgDn; strcpy (config_items[++row].name, "[txt_key_NumLk]"); config_items[row].destination = txt_key_NumLk; strcpy (config_items[++row].name, "[txt_key_CapsLk]"); config_items[row].destination = txt_key_CapsLk; strcpy (config_items[++row].name, "[txt_key_ScrlLk]"); config_items[row].destination = txt_key_ScrlLk; strcpy (config_items[++row].name, "[txt_key_RShift]"); config_items[row].destination = txt_key_RShift; strcpy (config_items[++row].name, "[txt_key_LShift]"); config_items[row].destination = txt_key_LShift; strcpy (config_items[++row].name, "[txt_key_RCtrl]"); config_items[row].destination = txt_key_RCtrl; strcpy (config_items[++row].name, "[txt_key_LCtrl]"); config_items[row].destination = txt_key_LCtrl; strcpy (config_items[++row].name, "[txt_key_RAlt]"); config_items[row].destination = txt_key_RAlt; strcpy (config_items[++row].name, "[txt_key_LAlt]"); config_items[row].destination = txt_key_LAlt; strcpy (config_items[++row].name, "[txt_key_RMeta]"); config_items[row].destination = txt_key_RMeta; strcpy (config_items[++row].name, "[txt_key_LMeta]"); config_items[row].destination = txt_key_LMeta; strcpy (config_items[++row].name, "[txt_key_LSuper]"); config_items[row].destination = txt_key_LSuper; strcpy (config_items[++row].name, "[txt_key_RSuper]"); config_items[row].destination = txt_key_RSuper; #if defined(PLATFORM_FREMANTLE) strcpy (config_items[++row].name, "[txt_key_AltGr_PLATFORM_FREMANTLE]"); config_items[row].destination = txt_key_AltGr; #else strcpy (config_items[++row].name, "[txt_key_AltGr]"); config_items[row].destination = txt_key_AltGr; #endif strcpy (config_items[++row].name, "[txt_key_Compose]"); config_items[row].destination = txt_key_Compose; strcpy (config_items[++row].name, "[txt_key_Help]"); config_items[row].destination = txt_key_Help; strcpy (config_items[++row].name, "[txt_key_PrScr]"); config_items[row].destination = txt_key_PrScr; strcpy (config_items[++row].name, "[txt_key_SysRq]"); config_items[row].destination = txt_key_SysRq; strcpy (config_items[++row].name, "[txt_key_Break]"); config_items[row].destination = txt_key_Break; strcpy (config_items[++row].name, "[txt_key_Menu]"); config_items[row].destination = txt_key_Menu; strcpy (config_items[++row].name, "[txt_key_Power]"); config_items[row].destination = txt_key_Power; strcpy (config_items[++row].name, "[txt_key_Euro]"); config_items[row].destination = txt_key_Euro; strcpy (config_items[++row].name, "[txt_key_Undo]"); config_items[row].destination = txt_key_Undo; strcpy (config_items[++row].name, "[txt_konstruktor_Ground]"); config_items[row].destination = txt_konstruktor_Ground; strcpy (config_items[++row].name, "[txt_konstruktor_Stop]"); config_items[row].destination = txt_konstruktor_Stop; strcpy (config_items[++row].name, "[txt_konstruktor_Radioactive_Field]"); config_items[row].destination = txt_konstruktor_Radioactive_Field; strcpy (config_items[++row].name, "[txt_konstruktor_Push_Box]"); config_items[row].destination = txt_konstruktor_Push_Box; strcpy (config_items[++row].name, "[txt_konstruktor_Capsule]"); config_items[row].destination = txt_konstruktor_Capsule; strcpy (config_items[++row].name, "[txt_konstruktor_Bomb]"); config_items[row].destination = txt_konstruktor_Bomb; strcpy (config_items[++row].name, "[txt_konstruktor_Bomb2]"); config_items[row].destination = txt_konstruktor_Bomb2; strcpy (config_items[++row].name, "[txt_konstruktor_Door]"); config_items[row].destination = txt_konstruktor_Door; strcpy (config_items[++row].name, "[txt_konstruktor_Box]"); config_items[row].destination = txt_konstruktor_Box; strcpy (config_items[++row].name, "[txt_konstruktor_Empty_Field]"); config_items[row].destination = txt_konstruktor_Empty_Field; strcpy (config_items[++row].name, "[txt_konstruktor_Butterfly]"); config_items[row].destination = txt_konstruktor_Butterfly; strcpy (config_items[++row].name, "[txt_konstruktor_Gun_Fire]"); config_items[row].destination = txt_konstruktor_Gun_Fire; strcpy (config_items[++row].name, "[txt_konstruktor_Force_Field]"); config_items[row].destination = txt_konstruktor_Force_Field; strcpy (config_items[++row].name, "[txt_konstruktor_Screw]"); config_items[row].destination = txt_konstruktor_Screw; strcpy (config_items[++row].name, "[txt_konstruktor_Wall]"); config_items[row].destination = txt_konstruktor_Wall; strcpy (config_items[++row].name, "[txt_konstruktor_Black_Wall]"); config_items[row].destination = txt_konstruktor_Black_Wall; strcpy (config_items[++row].name, "[txt_konstruktor_Teleport]"); config_items[row].destination = txt_konstruktor_Teleport; strcpy (config_items[++row].name, "[txt_konstruktor_Gun]"); config_items[row].destination = txt_konstruktor_Gun; strcpy (config_items[++row].name, "[txt_konstruktor_Magnet]"); config_items[row].destination = txt_konstruktor_Magnet; strcpy (config_items[++row].name, "[txt_konstruktor_Bear]"); config_items[row].destination = txt_konstruktor_Bear; strcpy (config_items[++row].name, "[txt_konstruktor_Black_Bear]"); config_items[row].destination = txt_konstruktor_Black_Bear; strcpy (config_items[++row].name, "[txt_konstruktor_Bird]"); config_items[row].destination = txt_konstruktor_Bird; strcpy (config_items[++row].name, "[txt_konstruktor_Key]"); config_items[row].destination = txt_konstruktor_Key; strcpy (config_items[++row].name, "[txt_konstruktor_Bullets]"); config_items[row].destination = txt_konstruktor_Bullets; strcpy (config_items[++row].name, "[txt_konstruktor_on_map]"); config_items[row].destination = txt_konstruktor_on_map; strcpy (config_items[++row].name, "[txt_konstruktor_Laser_Gun]"); config_items[row].destination = txt_konstruktor_Laser_Gun; strcpy (config_items[++row].name, "[txt_konstruktor_Blaster_Gun]"); config_items[row].destination = txt_konstruktor_Blaster_Gun; strcpy (config_items[++row].name, "[txt_konstruktor_Regular_Gun]"); config_items[row].destination = txt_konstruktor_Regular_Gun; strcpy (config_items[++row].name, "[txt_konstruktor_Fixed]"); config_items[row].destination = txt_konstruktor_Fixed; strcpy (config_items[++row].name, "[txt_konstruktor_Moveable]"); config_items[row].destination = txt_konstruktor_Moveable; strcpy (config_items[++row].name, "[txt_konstruktor_Rotating]"); config_items[row].destination = txt_konstruktor_Rotating; strcpy (config_items[++row].name, "[txt_konstruktor_Moveable_Rotating]"); config_items[row].destination = txt_konstruktor_Moveable_Rotating; strcpy (config_items[++row].name, "[txt_konstruktor_Direction_right]"); config_items[row].destination = txt_konstruktor_Direction_right; strcpy (config_items[++row].name, "[txt_konstruktor_Direction_down]"); config_items[row].destination = txt_konstruktor_Direction_down; strcpy (config_items[++row].name, "[txt_konstruktor_Direction_left]"); config_items[row].destination = txt_konstruktor_Direction_left; strcpy (config_items[++row].name, "[txt_konstruktor_Direction_up]"); config_items[row].destination = txt_konstruktor_Direction_up; strcpy (config_items[++row].name, "[txt_konstruktor_Welcome_to_GNU_Robbo_Designer]"); config_items[row].destination = txt_konstruktor_Welcome_to_GNU_Robbo_Designer; strcpy (config_items[++row].name, "[txt_konstruktor_Exit_designer_select_again_to_exit]"); config_items[row].destination = txt_konstruktor_Exit_designer_select_again_to_exit; strcpy (config_items[++row].name, "[txt_konstruktor_Reload_level_select_again_to_reload]"); config_items[row].destination = txt_konstruktor_Reload_level_select_again_to_reload; strcpy (config_items[++row].name, "[txt_konstruktor_Level_reloaded]"); config_items[row].destination = txt_konstruktor_Level_reloaded; strcpy (config_items[++row].name, "[txt_konstruktor_New_level_select_again_to_create]"); config_items[row].destination = txt_konstruktor_New_level_select_again_to_create; strcpy (config_items[++row].name, "[txt_konstruktor_Level_created]"); config_items[row].destination = txt_konstruktor_Level_created; strcpy (config_items[++row].name, "[txt_konstruktor_Save_select_again_to_save_new_level]"); config_items[row].destination = txt_konstruktor_Save_select_again_to_save_new_level; strcpy (config_items[++row].name, "[txt_konstruktor_New_level_appended_to_pack]"); config_items[row].destination = txt_konstruktor_New_level_appended_to_pack; strcpy (config_items[++row].name, "[txt_konstruktor_Clear_level_select_again_to_clear]"); config_items[row].destination = txt_konstruktor_Clear_level_select_again_to_clear; strcpy (config_items[++row].name, "[txt_konstruktor_Level_cleared]"); config_items[row].destination = txt_konstruktor_Level_cleared; strcpy (config_items[++row].name, "[txt_konstruktor_Save_select_again_to_save_changes]"); config_items[row].destination = txt_konstruktor_Save_select_again_to_save_changes; strcpy (config_items[++row].name, "[txt_konstruktor_Changes_saved]"); config_items[row].destination = txt_konstruktor_Changes_saved; strcpy (config_items[++row].name, "[txt_konstruktor_Level_resized_to]"); config_items[row].destination = txt_konstruktor_Level_resized_to; #ifdef DEBUG_LOAD_SELECTED_LOCALE printf ("*** Start %s ***\n", __func__); #endif /* Initialise all the config_item destination strings to SINGLE_SPACE */ for (count = 0; count < CONFIG_ITEM_COUNT; count++) { for (row = 0; row < config_items[count].max_rows; row++) { strcpy (&(config_items[count].destination) [TXT_MAX_COLS * row], SINGLE_SPACE); #ifdef DEBUG_LOAD_SELECTED_LOCALE printf ("%s: %p=\"%s\"\n", config_items[count].name, &(config_items[count].destination)[TXT_MAX_COLS * row], &(config_items[count].destination[TXT_MAX_COLS * row])); #endif } } #ifdef DEBUG_LOAD_SELECTED_LOCALE printf ("\n"); #endif /* Attempt to open the text file */ strcpy (filename, PACKAGE_DATA_DIR "/" LOCALES_DIR "/"); strcat (filename, locales[selected_locale].foldername); strcat (filename, "/"); strcat (filename, LOCALE_TEXT_FILE); if ((fp = fopen (filename, "r")) == NULL) { fprintf (stdout, "Cannot read from file %s\n", filename); } else { /* Read lines including the [CR]LFs until we have what we need * or reach the end of file (line == NULL) */ while ((fgets (line, 1024, fp)) != NULL) { line_count++; /* fgets will get [CR]LFs too so they should be removed */ for (count2 = strlen (line) - 1; count2 >= 0; count2--) if (line[count2] == 13 || line[count2] == 10) line[count2] = 0; /* Are we reading a tag? */ tag_found = FALSE; for (tag_index = 0; tag_index < CONFIG_ITEM_COUNT; tag_index++) { if (!strncmp (line, config_items[tag_index].name, strlen (config_items[tag_index].name))) { tag_found = TRUE; break; } } if (tag_found) { /* If a tag is being read and we read another tag * then mark it as something else */ for (count = 0; count < CONFIG_ITEM_COUNT; count++) { if (config_items[count].state == DATA_READING) config_items[count].state = DATA_INCOMPLETE; } /* If the found tag is DATA_UNREAD then mark it for DATA_READING */ if (config_items[tag_index].state == DATA_UNREAD) { config_items[tag_index].state = DATA_READING; row = 0; } } else { /* It's not a tag but data (or newline) so we need * to find what to do with it */ for (count = 0; count < CONFIG_ITEM_COUNT; count++) { if (config_items[count].state == DATA_READING) { if (strlen (line) > 0) { /* We've already set the strings to * SINGLE_SPACE, don't empty them here */ strncpy (&(config_items[count].destination) [TXT_MAX_COLS * row], line, TXT_MAX_COLS); /* Prevent overruns */ config_items[count].destination[TXT_MAX_COLS * (row + 1) - 1] = 0; /* Just in case we read all chars */ } #ifdef DEBUG_LOAD_SELECTED_LOCALE printf ("%s: %p=\"%s\"\n", config_items[count].name, &(config_items[count].destination)[TXT_MAX_COLS * row], &(config_items[count].destination[TXT_MAX_COLS * row])); #endif if (++row == config_items[count].max_rows) config_items[count].state = DATA_READ; break; } } } } fclose (fp); #ifdef DEBUG_LOAD_SELECTED_LOCALE printf ("\n"); for (count = 0; count < CONFIG_ITEM_COUNT; count++) { printf ("%s=%s\n", config_items[count].name, data_state[config_items[count].state]); } printf ("\n"); #endif } #ifdef DEBUG_LOAD_SELECTED_LOCALE printf ("*** Stop %s ***\n", __func__); #endif } /*************************************************************************** * Set Locale to LANG * ***************************************************************************/ /* This will attempt to set the default locale to something equivalent to * whatever is present within the LANG environment variable. This must be * called after read_localerc_files and before read_resource_file so that * if an rcfile is found and a locale is set within it then that will * override any default set here */ void set_locale_to_LANG(void) { int count, length = 0, found = FALSE; char *envlang = getenv("LANG"); #ifdef DEBUG_SET_LOCALE_TO_LANG printf("%s: locales[selected_locale].foldername=%s\n", __func__, locales[selected_locale].foldername); printf("%s: LANG=%s\n", __func__, envlang); #endif /* On my GP2X getenv("LANG") returns NULL and using any string * functions on NULL will cause a segfault. Actually this is an * issue for any platform and really the return value from getenv * should always be checked for NULL before using it in any string * functions */ if (envlang != NULL) length = strlen(envlang); if (length >= 5) { length = 5; /* en_GB is 5 chars */ } else if (length >= 2) { length = 2; /* en is 2 chars */ } else { length = 0; } while (!found && length) { for (count = 0; count < locale_count; count++) { if (!strncmp(locales[count].foldername, envlang, length)) { found = TRUE; selected_locale = count; #ifdef DEBUG_SET_LOCALE_TO_LANG printf("%s: A %i-char match was found\n", __func__, length); #endif } } if (length > 2) { length = 2; } else { length = 0; } } #ifdef DEBUG_SET_LOCALE_TO_LANG printf("%s: locales[selected_locale].foldername=%s\n", __func__, locales[selected_locale].foldername); if (!found) printf("%s: No match was found\n", __func__); #endif } gnurobbo-0.66+dfsg/README.psp0000644000175000017500000000145711310663370014727 0ustar stevesteveCompilation =========== In order to compile GNU Robbo for Sony PSP, please install psptoolchain first. For further instructions please read COMPILING file. Installation ============ Copy "EBOOT.PBP" file and "data" directory to the destination directory (e.g. ms0:/psp/game/gnu_robbo/) on Memory Stick. Default key mappings ==================== X - confirm D-PAD - move D-PAD + X - shoot SELECT - exit game and return to main screen START - restart current level LEFT TRIGGER - previous level RIGHT TRIGGER - next level Firmware version ================ Should work without problems for firmware versions 3.xx and above. Following is the desktop Linux README which you may find interesting. ----------------------------------------------------------------------- gnurobbo-0.66+dfsg/TODO0000644000175000017500000004520411435206605013736 0ustar stevestevex = done p = partially - = not done >>> What was remaining within this TODO (which were mostly bugs and new features anyway) have been migrated to the SF bug or feature requests trackers https://sourceforge.net/tracker/?group_id=64186 since the project has now grown up :) I think we should leave this as the Translation TODO and use it only to manage ticking the little boxes unless somebody has a better way to achieve this <<< [ ] - New translations needed for :- [ ] - txt_Pointer_Controls_Pad_Type [x]en [ ]de [x]pl [ ]sk [ ]sv [ ]ru [x]id [ ] - txt_Viewport [x]en [ ]de [x]pl [ ]sk [ ]sv [ ]ru [x]id [ ] - txt_Screen [x]en [ ]de [x]pl [ ]sk [ ]sv [ ]ru [x]id [ ] - txt_Save_Frequency [x]en [x]de [x]pl [ ]sk [ ]sv [ ]ru [ ] - txt_On_Exit [x]en [x]de [x]pl [ ]sk [ ]sv [x]ru [ ] - txt_On_Change [x]en [x]de [x]pl [ ]sk [ ]sv [x]ru [ ] - txt_Primary_Click [x]en [ ]de [x]pl [ ]sk [ ]sv [ ]ru [ ] - txt_Ptr [x]en [ ]de [x]pl [ ]sk [ ]sv [ ]ru [ ] - txt_System_Pointer [x]en [ ]de [x]pl [ ]sk [ ]sv [x]ru [ ] - txt_Disabled [x]en [ ]de [x]pl [ ]sk [ ]sv [x]ru [ ] - txt_Enabled [x]en [ ]de [x]pl [ ]sk [ ]sv [x]ru [ ] - txt_ptr_BtnLeft [x]en [ ]de [x]pl [ ]sk [ ]sv [ ]ru [ ] - txt_ptr_BtnMiddle [x]en [ ]de [x]pl [ ]sk [ ]sv [ ]ru [ ] - txt_ptr_BtnRight [x]en [ ]de [x]pl [ ]sk [ ]sv [ ]ru [ ] - txt_ptr_WheelUp [x]en [ ]de [x]pl [ ]sk [ ]sv [ ]ru [ ] - txt_ptr_WheelDown [x]en [ ]de [x]pl [ ]sk [ ]sv [ ]ru [ ] - txt_Toggle_Designer [x]en [ ]de [x]pl [ ]sk [ ]sv [x]ru ----------------------------------------------------------------------- [-] - Thunor: Moved to SF feature requests: I think that starting screen has to be updated to more modern. Maybe some nice-looking image, and reimplementation of text area (more information has to be put there). [-] - Thunor: Moved to SF feature requests: Also option navigation windows are not certain for some users (esp. music and skins options are hard to find first time...) [-] - Thunor: Moved to SF feature requests: gamepad handling with SDL (not joystick but similar ;) [p] - Creator for manually edit and testing the planets by user i.e. a level editor. Thunor: This would be very useful for creating GPL level packs that are not converted from the Atari Robbo game. Although the engine, the new Tronic skin (and the forthcoming sounds) are truly original content, the levels are not and this may disuade certain distros and users from playing GNU Robbo. [p] - Sound and sound effects. Most of the sound effects present. User can enable/disable sound in the options menu. User can also set sound effects volume in the options menu. It is possible to set the sound efx volume using +/- keys. Sound skins are also supported, now an user can set up soundskin variable in the skin definition (check oily skin). I think it would be nice to have also custom music playing, but it takes time to find some apropriate and free content. [-] - Thunor: Moved to SF bug tracker: The exploding bomb animation is slightly different in the Atari Robbo. There seems to be some randomness to the actual animation frames being used. This would be possible with GNU Robbo as when a BIG_BOOM object is created it has an array of animation frames that could be modified so that explosions look more chaotic. It does look as though the exploding bomb animation is different to the exploding targets around a bomb. The atari800 is useful for creating screenshots by pressing F10 rapidly. [-] - Thunor: Moved to SF feature requests: Research making objects transit tiles in smaller units. Robbo moves in 4 frames, so at 32x32 that would be 4x8px units and would look much smoother. Actually everything that moves uses a delay of 4. This could be in Options with the sensible flags. This was a suggestion from a user via a forum. Whether it's worth implementing is another matter. [p] - Once 0.64 is out, all the level packs will need playtesting as only some of the new ones have been tested, and some of the object behaviours have been changed which could affect the playability and completability of some levels. [x] Robbo97 levels are not completable as there's no capsule :- [x] 7 - I think original expected capsule from question mark. [x] 22 - Missing from dump (several capsules behind doors). [x] 24 - Was missing from dump. [x] 25 - Was missing from dump. [x] 48 - I think original expected capsule from question mark. [x] 67 - Was missing from dump. [-] Thunor: Moved to SF bug tracker: Robbo97:17 is impossible from the very start. [-] - Thunor: Moved to SF feature requests: I think it would be a good idea in the future to grade the level packs because there is no way to know which packs are suitable for children, adults or Mensa members. It would be nice to show this on-screen when selecting level packs, but at the moment there is no more room for this. This of course will change if and when the main screen is redesigned. Maybe add a tag to level packs "[difficulty]". [x] - Note that the designer won't be using ROB and so the following text items are now redundant (I've disabled the controls as they may be used later so it's best not to remove the text yet) :- [-] - txt_Scroll_Up [x]en [-]de [x]pl [-]sk [-]sv [-]ru [-] - txt_Scroll_Down [x]en [-]de [-]pl [-]sk [-]sv [-]ru [-] - txt_Simulated_Pointer [x]en [-]de [x]pl [-]sk [-]sv [x]ru [-] - txt_Move_Up_Right [x]en [-]de [x]pl [-]sk [-]sv [x]ru [-] - txt_Move_Up_Left [x]en [-]de [x]pl [-]sk [-]sv [x]ru [-] - txt_Move_Down_Right [x]en [-]de [x]pl [-]sk [-]sv [x]ru [-] - txt_Move_Down_Left [x]en [-]de [x]pl [-]sk [-]sv [x]ru [x] - Now that the designer won't be using ROB, these controls are redundant and can be removed from Options (they would have been used to control a simulated pointer for handhelds that don't have a touchscreen) :- [-] Move Up-Right (disabled, maybe used later, maybe not) [-] Move Down-Right (disabled, maybe used later, maybe not) [-] Move Down-Left (disabled, maybe used later, maybe not) [-] Move Up-Left (disabled, maybe used later, maybe not) [-] Move Up-Right (disabled, maybe used later, maybe not) [x] - Designer :- Note that the designer won't be using ROB and so the simulated pointer is redundant. [x] ROB. [x] Add "Toggle Designer" to Options. [x] Add Designer to Intro Screen menu. [x] Implement a simulated pointer for devices with no pointer. Add to Options :- [-] Simulated Pointer < { Disabled | Enabled } > [-] Speed Low < 4px > [-] Speed High < 8px > [-] Speed Threshold < 6 > [x] - Pixmap font: Add Russian characters. [x] - Tronic skin: [x] Theme new Millenium icons. [x] Add small background images. [x] Update level_colour_overrides for new levels to vary somewhat. [x] - Loose ends that need tidying-up before next 0.64 release :- [x] - Why isn't sound enabled by default? [x] - Why is volume 0 by default? Maybe 30 is a good starting vol. [-] - I noticed that data/sounds/skins/sounds_oily.dat would be better named oily.dat to match the graphical skin name. It's not show-stopping, but the "sounds_" prefix is unnecessary. [x] - Check that Restore Default Controls is doing what it should. [x] - Review Options entries and texts. [x] - Tronic: Override (generally) level colours in skinrc as many are too bright and some too dark. [x] - In Options: Sound < 0/1 > is not very human readable. As to distinguish it with possible Music options, I recommend Sound FX < Disabled/Enabled > [txt_Sound_FX] Sound FX Volume < 0-128 > [txt_Sound_FX_Volume] [x] - Oily: [about] info really needs updating because it's more now than just a Gimped copy of Original. This sells it better:- "A skin based on the original Atari Robbo and Robbo Millenium graphics applied with an oily effect. Includes level background image and Oily soundskin." [x] - Cannot load PNG image ./data//skins/*/background.png is annoying because it's optional. Only display warning for files that aren't background.png. [x] - Home and End don't work on the sound options. [x] - Fix Sound and volume "<" ">" colour change bugs. [x] - Need to identify the licences of the sounds (Free Sound Project says Creative Commons but which one) and place a copy of the licence into the root folder. UPDATE: All the sounds are http://creativecommons.org/licenses/sampling+/1.0/ but the authors may need to be attributed for their work. Which authors? Ask neurocyp. GOT INFO: Will update in morning. [X] - 017-R653924: unplayable - rmoved this level [X] - 002-ROBBOXI: robbo11.dat level 2 not found.- fixed lvldump, and converted the levels [x] - ROBBO V: 87, 88 missing, or maybe incorrect level count. [x] - ROBBO II: 89, 90 missing, or maybe incorrect level count. [x] - 039-ROBBO III: "F**K YOU" written within the map although it can't be viewed unless maximising the screen and viewport. [x] - Sound: segfaults (for me) when repeatedly opening and closing audio. My version of SDL_mixer-1.2.7 may not be so happy about (or may not even support) repeatedly calling Mix_OpenAudio and Mix_CloseAudio as these are initialising and unloading the library and resources. In the SDL_mixer example sdlwav-2.c Mix_OpenAudio is executed at the start and Mix_CloseAudio is executed at the end, just before SDL is shutdown. As I have 60+ open source games on my computer and I haven't knowingly experienced this issue before, I am assuming that this is how other developers are using SDL_mixer. The trouble is GNU Robbo runs (or did run) on devices with older SDL_mixer libraries and so sound is going to have to be reorganised to make it more compatible. For the record :- neurocyp is using SDL_mixer 1.2.8 I (Thunor) am using 1.2.7 Willem-Jan's Nokia N8x0 (OS2008) Port is using 1.2.6 My GPH GP2X F100 uses 1.2.6 My Sharp Zaurus uses 1.2.5 [x] - RobboI: [colour]s are missing and there's no default set. [x] - RobboIV: [colour]s are missing and there's no default set. [x] - RobboXI: [colour]s are missing and there's no default set. [x] - RobboXII: [colour]s are missing and there's no default set. [x] - RobboXIII: [colour]s are missing and there's no default set. [x] - Robbo2001: [colour]s are missing for levels 3, 4 and 6 and there's no default set. [x] - ROBBO 98: unrecognised object " " "1" "5" [x] - Demos: robboviii.dat is no more; find levels and fix: I found the levels in robbo03.dat. [x] - Level filenames: would be sensible not to use UPPERCASE because of the SD cards on Linux devices. [x] - Level pack [name]s: should remove spaces, invalid characters and standardise. [x] - Level pack [name]s: is "Robb0 IV" valid? [x] - ROBBO IV: unrecognised object "2" "c" " " [x] - ROBBO 2009: unrecognised object [x] - ROBBO 97: unrecognised object "2" "c" " " "f" "1" "5" [x] - ROBBO B: level count is wrong [x] - ROBBO I: unrecognised object "2" "c" " " [x] - ROBBO II: unrecognised object "2" "c" " " "f" "1" "5" [x] - 033-ROBBO III: Attributed to J&P Wardzynscy but was in fact made by myself (Thunor) and was one of my level pack bonus endings. I think it was the end of robboviii.dat which is why it's now in robbo03.dat. [x] - ROBBO V: unrecognised object "2" "c" " " [x] - ROBBO VIII: Maybe in authorline "adn" should be "and"? [x] - Unrecognised object "+" is a life which GNU Robbo no longer supports and so I have stopped these error messages. [x] - Port the levels from RobboX and RobboXI. [x] - Pointer Controls :- [x] Design some themed toolbar icons. [x] End Screen: only the toolbar exit button is visible. [x] There needs to be a restart button. There does not appear to be a method of detecting the availability of a mouse/stylus within SDL. Therefore these options will be available on all devices :- [x] Primary Click Ptr:BtnLeft <--> [x] System Pointer < { Disabled | Enabled } > [x] The pointer controls will only be available in game_on mode as elsewhere there will be hittable rectangles (hotspots) to operate the menus. The system pointer only will be available and visible if selected in Options. [x] There should be a parent toolbar with icons for many required tasks. [x] - Options really needs an overhaul now as it's become unwieldly. [x] - Create a BMP font and remove libSDL_ttf for the Sharp Zaurus. The problem with this is that it will make internationalisation a bit more complicated as a UTF-8 bitmap could be extensive. I'll seperate the text first and then worry about this later. The benefits are more control over graphical positioning, and wider compatibility. [x] - Research saving rcfile on new level start for GP2X. GP2X can run out of battery power, therefore progress doesn't get saved. [x] - Dump vm usage to the console, not to a file in the binary folder. [x] - Update Sourceforge website HTML, or use new wiki instead. [x] - 0.60 release. Win32 package and rc1 source releases. [x] - Better graphics (and bigger)... (bigger as for now completed) Tronic skin: [x] BEAR_B, [x] BIRD and [x] BUTTERFLY to finish. [x] - Set some level colour overrides for the Tronic skin if needed for all the level packs so far. [x] - Re-do the demos across all packs. Modify demo_mode() to store and select packs based on their name, not their level_packs index. [x] - Fix set_video_mode() to not fall back to the same mode, or to attempt to set hi-res on the GP2X. FIXED: It's designed to try the defaults so leave that. Have forced GP2X to 320x240 -ts 16. [-] - XML format for levels (and maybe separate files would be better) Thunor: The levels are seperated into packs. Their format is fine in my opinion and easier to understand than looking at raw XML. I think this would be a lot of work for little reward. [-] - Better scrolling (now is SCROLL_RATE jumping - not working perfect) Thunor: To achieve smoother scrolling is difficult because the basic unit of the game is the size of the tiles (field_size) and even if you reduce scroll_rate, show_game_area only draws in tile units. [x] - Seperate the text from the code for easy internationalisation. UPDATE: Did some research: GNU/Linux and C is good-to-go for UTF-8 by default. The Polish alphabet is printed correctly by TTF_RenderUTF8_Shaded() both from char arrays and text loaded from a file with fgets(). So shall I store the text in text.c or read it in from data/locale/en_GB/text and data/locale/pl/text etc. ? English, German, Spanish and Polish would be a good start. I've decided to read it from files because languages can be added and text changed without recompilation. DONE: Arkadiusz is doing the Polish translation. I've half done the German one which assisted me in making sure all the text was removed from the code and that there was enough space on-screen to write something other than English, but from feedback I got from Germans I'm not sure that it's really a necessary translation. Anyway, I'll leave it in SVN and if a native German speaker wants to finish it then I'll add it to the release. [x] - Add a language selection interface in Options. English, German, Polish, Spanish :) (English and Polish first) [x] - Need to read in multiple lines for the skinrc [about]. [x] - Add a skin selection interface in Options. [x] - Check the bear start directions on the newly converted packs. Should be easy now with ./gnurobbo -800x600 -ts 16 -vpx :D [x] - RobboIX [x] - RobboVII [x] - RobboVIII [x] - The project would benefit now from being reorganised into more files. game.h needs to be seperated into other header files and there's now a huge amount of old code marked "Redundant". [x] - Adjust the yellow colour tile as it's too bright for the GP2X. [x] - Allow the selection of any resolution via the command line whereby the various parts of the program will relocate/resize to accommodate them. The game will already easily do this, but the intro/help/options I think may need x/yoffset anchor points. UPDATE: Any resolution, 16 & 32 field size forcing, centred :) Great for getting it running on widescreen devices. Also added maximising of the viewport which is great for level designing. Try "./gnurobbo -800x600 -ts 16 -vpx" :D Awesome! It's cheating of course, that's why I'm not including it in Options. [x] - Add MECHANIC_SENSIBLE_BEARS and MECHANIC_SENSIBLE_QUESTIONMARKS in Options or not? No, not Options, just add them to the rcfile so that they can be modified if the user wishes. There may be more of these as the project progresses. [x] - Store the various colours used in global variables which will be read from the skinrc. DONE: Colours are read once at the start and stored in the skins list. [x] - Create a dedicated teleport animation instead of using BIG_BOOM. [x] - Remove the SDL_Delay in the main loop and instead check a flag that is cleared by an SDL timer function. Make the game speed affect the main loop cycles which will likely mean that the object delay defines will need adjusting. [x] - Add level background colour overrides to the skinrc files. Also declare a default level colour and a default pack level colour. [x] - Reimplementing some functions for making them better and faster. Thunor: I've reenginered quite a few functions and the only one I haven't touched is update_game. I am familiar with writing optimised SDL code and I can run this game on my GP2X at 90MHz so I think this can be considered done. [x] - Port all available levels from Atari Thunor: RobboVII to RobboIX are now complete. [x] - Speed should be configurable from 2 onwards, not 1: 2 to 8 incl. [x] - End screen (after completing the game) [x] - Demo mode :) [x] - Too much structures (remove something...) Thunor: Well I've removed board_copy and I don't see a problem with anything else so I guess this qualifies as done :) [x] - Remove lives from maps and game [x] - Fine level changing with scrolling effect [x] - Reconfigurable controls in Options [x] - Add joystick dead zone to Options [x] - Save/restore controls to/from rc file [x] - Tidy-up RobboVIII levels 17 to 24 [x] - Finish porting 8 levels from Robbo VIII [x] - Sort found level packs [x] - Show visual indication of Options save [x] - Scoreline ammo should be 3 digits [x] - Reposition the scoreline objects [x] - Implement joystick axes into actions [x] - Adding the joystick [x] - Start sequence (needs some moving, help, polishing etc..) [x] - game objects IDs and icons [x] - Teleportation [x] - Moving algorithms for birds [x] - Moving algorithms for bears (Thanks to Zbigniew Chyla) [x] - Moving butterflies [x] - Questionmark implementing (needs really random objects generation) [x] - Solid laser [x] - Rotating guns [x] - Moving guns [x] - Gun shooting [x] - Merging all little icons into big one [x] - Blasters [x] - Shooting birds [x] - Magnets' behaviour [x] - Score more similar to original game [x] - GameSaving or codes for planets [x] - Remember last done level in .gnurobborc file in user home dir [x] - Energetic barrier gnurobbo-0.66+dfsg/Makefile.fremantle0000644000175000017500000000074111435040066016654 0ustar stevesteve# This is intended to build a debian package under the scratchbox sdk. # http://wiki.maemo.org/Documentation/Maemo_5_Developer_Guide/Development_Environment/Maemo_SDK # gives more information. To build manually, copy fremantle to this # directory and run make. Something like: # cp fremantle/Makefile . # make # (optionally) make install all: cp -pr fremantle/debian . cp fremantle/Makefile ./Makefile.fremantle2 dpkg-buildpackage -rfakeroot rm -rf debian Makefile.fremantle2 gnurobbo-0.66+dfsg/screen.c0000644000175000017500000047177511437444027014715 0ustar stevesteve/* GNU Robbo * Copyright (C) 2002-2010 The GNU Robbo Team (see AUTHORS). * * GNU Robbo is free software - you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2, or (at your option) * any later version. * * GNU Robbo is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the impled warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with GNU CC; see the file COPYING. If not, write to the * Free Software Foundation, 59 Temple Place - Suite 330, * Boston, MA 02111-1307, USA. * */ #include "game.h" /* Defines */ /* #define DEBUG_VIDEO #define DEBUG_MESSAGE_BOX #define DEBUG_CLEAR_SCREEN */ #define BANNER_COLOURS 22 * 3 #define DELAY_BANNER 2 #define REGISTER_HOTSPOT_OPTIONS_SCREEN_OPT if (options[optionid]) register_hotspot(HOTSPOTS_ID, HOTSPOTS_ID + 1 + optionid, destrect) #define REGISTER_HOTSPOT_OPTIONS_SCREEN_DEC if (options[optionid]) register_hotspot(HOTSPOTS_ID, HOTSPOTS_ID + 1 + optionid + OPTIONS_COUNT, destrect) #define REGISTER_HOTSPOT_OPTIONS_SCREEN_INC if (options[optionid]) register_hotspot(HOTSPOTS_ID, HOTSPOTS_ID + 1 + optionid + OPTIONS_COUNT * 2, destrect) /* Variables */ SDL_Color bgcolor, fgcolor; /* General purpose colours */ SDL_Surface *image; /* General purpose surface */ /* Used for animating banners */ int bannerstate = 0; int bannerframe = 0; int bannercolour[BANNER_COLOURS] = { 0x00ff00, 0x00f010, 0x00e020, 0x00d030, 0x00c040, 0x00b050, 0x00a060, 0x009070, 0x008080, 0x007090, 0x0060a0, 0x0050b0, 0x0060a0, 0x007090, 0x008080, 0x009070, 0x00a060, 0x00b050, 0x00c040, 0x00d030, 0x00e020, 0x00f010, 0x00ff00, 0x10f000, 0x20e000, 0x30d000, 0x40c000, 0x50b000, 0x60a000, 0x709000, 0x808000, 0x907000, 0xa06000, 0xb05000, 0xa06000, 0x907000, 0x808000, 0x709000, 0x60a000, 0x50b000, 0x40c000, 0x30d000, 0x20e000, 0x10f000, 0x00ff00, 0x10f010, 0x20e020, 0x30d030, 0x40c040, 0x50b050, 0x60a060, 0x709070, 0x808080, 0x907090, 0xa060a0, 0xb050b0, 0xa060a0, 0x907090, 0x808080, 0x709070, 0x60a060, 0x50b050, 0x40c040, 0x30d030, 0x20e020, 0x10f010 }; /* Used for animating icons */ int capsulestate = 0; int capsuleframe = 0; int capsuleoffsets[2 * 2] = { 86, 18, 103, 18 }; int teleportstate = 0; int teleportframe = 0; int teleportoffsets[2 * 2] = { 1, 69, 18, 69 }; int barrierstate = 0; int barrierframe = 0; int barrieroffsets[2 * 2] = { 154, 52, 154, 69 }; int butterflystate = 0; int butterflyframe = 0; int butterflyoffsets[2 * 2] = { 137, 35, 154, 35 }; int bearstate = 0; int bearframe = 0; int bearoffsets[2 * 2] = { 18, 18, 35, 18 }; int blackbearstate = 0; int blackbearframe = 0; int blackbearoffsets[2 * 2] = { 103, 35, 120, 35 }; int birdstate = 0; int birdframe = 0; int birdoffsets[2 * 2] = { 52, 18, 69, 18 }; int gunstate = 0; int gunframe = 0; int gunoffsets[2 * 5 * 5] = { 1, 52, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 52, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 52, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 52, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 52 }; int laserstate = 0; int laserframe = 0; int laseroffsets[2 * 5 * 14] = { 1, 35, 0, 0, 0, 0, 0, 0, 0, 0, 1, 35, 1, 35, 0, 0, 0, 0, 0, 0, 1, 35, 1, 35, 1, 35, 0, 0, 0, 0, 1, 35, 1, 35, 1, 35, 1, 35, 0, 0, 1, 35, 1, 35, 1, 35, 1, 35, 1, 35, 1, 35, 1, 35, 1, 35, 1, 35, 0, 0, 1, 35, 1, 35, 1, 35, 0, 0, 0, 0, 1, 35, 1, 35, 0, 0, 0, 0, 0, 0, 1, 35, 0, 0, 0, 0, 0, 0, 0, 0, 35, 35, 0, 0, 0, 0, 0, 0, 0, 0, 18, 35, 0, 0, 0, 0, 0, 0, 0, 0, 35, 35, 0, 0, 0, 0, 0, 0, 0, 0, 52, 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; int blasterstate = 0; int blasterframe = 0; int blasteroffsets[2 * 5 * 9] = { 35, 69, 0, 0, 0, 0, 0, 0, 0, 0, 52, 69, 35, 69, 0, 0, 0, 0, 0, 0, 69, 69, 52, 69, 35, 69, 0, 0, 0, 0, 52, 69, 69, 69, 52, 69, 35, 69, 0, 0, 35, 69, 52, 69, 69, 69, 52, 69, 35, 69, 0, 0, 35, 69, 52, 69, 69, 69, 52, 69, 0, 0, 0, 0, 35, 69, 52, 69, 69, 69, 0, 0, 0, 0, 0, 0, 35, 69, 52, 69, 0, 0, 0, 0, 0, 0, 0, 0, 35, 69 }; int robbostate = 0; int robboframe = 0; int robbooffsets[2 * 2] = { 35, 86, 52, 86 }; /* Screen banners */ char *banner[8] = { ".OOOOO...OO...OOO..OOO..OOO.....oO#$oO..............oO#.......#$o...............", /* 80 wide */ "OOOOOOO..OOO..OOO..OOO..OOO.....O#$..#$.....O#$o....O#$.......$oO.........$oO#..", "OOO..OO..OOO..OOO..OOO..OOO.....#$o...oO...O#$.O#...#$oO#$....oO#$oO.....$oO.$o.", "OOO......OOOO.OOO..OOO..OOO.....$oO...O#..O#$...$o..$oO..oO...O#$..#$...$oO...O#", "OOO.OOO..OOOOOOOO..OOO..OOO.....oO#..O#...#$o...oO..oO#...#$..#$o...oO..oO#...#$", "OOO..OO..OOO.OOOO..OOO..OOO.....O#$oO#....$oO...O#..O#$...$o..$oO...O#..O#$...$o", "OOOOOOO..OOO..OOO..OOOOOOOO.....#$o..$o...oO#...#$..#$o...oO..oO#...#$..#$o...oO", ".OOOOO...OOO..OOO...OOOOOO......$oO...O#...#$oO#$...$oO#$oO...O#$oO#$....oO#$oO." }; char *helpscreenbanner[10] = { "OOO..OOO............oO#..........", /* 33 wide */ "OOO..OOO....O#$o....O#$..........", "OOO..OOO...O#$.O#...#$o..OOOOOO..", "OOO..OOO..O#$...$o..$oO..OOO..OO.", "OOOOOOOO..#$oOOOoO..oO#..OOO...OO", "OOO..OOO..$oO.......$oO..OOO...OO", "OOO..OOO..oO#...#$..oO#..OOO..OO.", "OOO..OOO...#$oO#$...O#$..OOOOOO..", ".........................OOO.....", ".........................OOO....." }; char *optionsscreenbanner[10] = { ".OOOOOO.............oO#....OOO..............................", /* 60 wide */ "OOOOOOOO............O#$....OOO....O#$o....ooo.........O#$o..", "OOO..OOO..OOOOOO....#$ooo........O#$.O#...#$oO#$.....O#$.O#.", "OOO..OOO..OOO..OO...$oO....OOO..O#$...$o..$oO..oO...O#$.....", "OOO..OOO..OOO...OO..oO#....OOO..#$o...oO..oO#...#$...O$oooO.", "OOO..OOO..OOO...OO..$oO....OOO..$oO...O#..O#$...$o........O#", "OOOOOOOO..OOO..OO...oO#....OOO..oO#...#$..#$o...oO..OO#...#$", ".OOOOOO...OOOOOO.....#$oo..OOO...#$oO#$...$oO...oO...OO$o#$.", "..........OOO...............................................", "..........OOO..............................................." }; /* Function prototypes */ void show_scoreline (void); Uint32 getpixel (SDL_Surface * surface, int x, int y); void show_banner (char *banner[], int xpos, int ypos, int width, int height); void write_lcd_char (char lcdchar, int xpos, int ypos); void register_hotspot (int pid, int id, SDL_Rect destrect); /*************************************************************************** * Show Game Area * ***************************************************************************/ /* Rewritten to use a viewport that can reposition itself at Robbo's destination in as many cycles as requested. game_area.redraw now specifies how much is redrawn */ int show_game_area (void) { int retval=0; int x, y, xoffset = viewport.xoffset, yoffset = viewport.yoffset; SDL_Rect srcrect, destrect, emptyrect; Uint32 level_colour; int vpepx, vpepy; if (game_area.redraw >= REDRAW_INITIALISE) { /* Maximum key/button repeat for all movement keys */ user_controls[ACTION_UP].delay = 0; user_controls[ACTION_UP].interval = 0; user_controls[ACTION_UP_RIGHT].delay = 0; user_controls[ACTION_UP_RIGHT].interval = 0; user_controls[ACTION_RIGHT].delay = 0; user_controls[ACTION_RIGHT].interval = 0; user_controls[ACTION_DOWN_RIGHT].delay = 0; user_controls[ACTION_DOWN_RIGHT].interval = 0; user_controls[ACTION_DOWN].delay = 0; user_controls[ACTION_DOWN].interval = 0; user_controls[ACTION_DOWN_LEFT].delay = 0; user_controls[ACTION_DOWN_LEFT].interval = 0; user_controls[ACTION_LEFT].delay = 0; user_controls[ACTION_LEFT].interval = 0; user_controls[ACTION_UP_LEFT].delay = 0; user_controls[ACTION_UP_LEFT].interval = 0; user_controls[ACTION_PRIMARY_CLICK].delay = 0; user_controls[ACTION_PRIMARY_CLICK].interval = 0; /* Set a useable repeat for Robbo shoot keys */ user_controls[ACTION_SHOOT_UP].delay = ACTION_SHOOT_REPEAT_DELAY_PERIOD; user_controls[ACTION_SHOOT_UP].interval = ACTION_SHOOT_REPEAT_DELAY_PERIOD; user_controls[ACTION_SHOOT_DOWN].delay = ACTION_SHOOT_REPEAT_DELAY_PERIOD; user_controls[ACTION_SHOOT_DOWN].interval = ACTION_SHOOT_REPEAT_DELAY_PERIOD; user_controls[ACTION_SHOOT_LEFT].delay = ACTION_SHOOT_REPEAT_DELAY_PERIOD; user_controls[ACTION_SHOOT_LEFT].interval = ACTION_SHOOT_REPEAT_DELAY_PERIOD; user_controls[ACTION_SHOOT_RIGHT].delay = ACTION_SHOOT_REPEAT_DELAY_PERIOD; user_controls[ACTION_SHOOT_RIGHT].interval = ACTION_SHOOT_REPEAT_DELAY_PERIOD; /* Free all existing hotspots including the pob */ ROB_FreeAllDescendantObjects (ROB_GetObject (HOTSPOTS_ID), TRUE); /* Point the event processor to manage pointer controls events */ gnurobbo_op_env.event_processor = &pointer_controls_event_processor; if (ROB_SetOpEnvEventProcessor (gnurobbo_op_env.event_processor)) printf ("%s: %s\n", __func__, ROB_GetError ()); /* Pointer controls are created the once only */ if (ROB_GetObject (POINTER_CONTROLS_ID) == NULL) create_pointer_controls (); } #ifdef DEBUG_ROB_HOTSPOTS game_area.redraw |= REDRAW_EVERYTHING; #endif /* Manage the pointer controls */ if (pointer_controls.state == POINTER_CONTROLS_MODE_ON) { /* Hide the pad for now until Robbo gets drawn */ hide_pointer_controls_pad (); /* What needs to be redrawn? */ if (pointer_controls.pad_type == POINTER_CONTROLS_PAD_TYPE_VIEWPORT) { /* The viewport will always need redrawing as alpha * rectangles need to be combined with the tiles */ viewport_needs_redrawing (); } else if (pointer_controls.pad_type == POINTER_CONTROLS_PAD_TYPE_SCREEN) { /* Everything will require redrawing as alpha * rectangles extend right up to the screen edges */ game_area.redraw |= REDRAW_EVERYTHING; } } if (game_area.redraw >= REDRAW_EVERYTHING) { viewport_needs_redrawing (); clear_screen (); scoreline.redraw = 0xff; /* The Intro, Help and Options screens hide the pointer controls * parent and so the parent's visibility is maintained here * (it must always be visible in-game so that it can be activated * with a click) */ show_pointer_controls (); /* Maintain the toolbar button colours to match the level, image * surface pointers (user may change skin) and visibility of the * buttons (end screen hides some buttons) */ update_pointer_controls_toolbar (); } /* Calculate the valid expected position of the viewport */ vpepx = robbo.x - viewport.w / 2; if (vpepx < 0) { vpepx = 0; } else if (vpepx + viewport.w > level.w) { vpepx = level.w - viewport.w; } vpepy = robbo.y - viewport.h / 2; if (vpepy < 0) { vpepy = 0; } else if (vpepy + viewport.h > level.h) { vpepy = level.h - viewport.h; } /* If viewport.cycles_to_dest > 0 then move the viewport towards the * expected position. viewport.cycles_to_dest tells us how many cycles * we have to get the viewport over to the expected position and this * is set to 1 on exit from this function. It is possible to lock the * viewport at a set location by setting viewport.cycles_to_dest to 0 * before calling this function. It's also possible to instantly place * the viewport at its expected position by setting * viewport.cycles_to_dest to 1 */ if ((viewport.x != vpepx || viewport.y != vpepy) && viewport.cycles_to_dest > 0) { if (viewport.x != vpepx) { if (viewport.x < vpepx) { viewport.x += ceil ((float) (vpepx - viewport.x) / viewport.cycles_to_dest); } else { viewport.x -= ceil ((float) (viewport.x - vpepx) / viewport.cycles_to_dest); } } if (viewport.y != vpepy) { if (viewport.y < vpepy) { viewport.y += ceil ((float) (vpepy - viewport.y) / viewport.cycles_to_dest); } else { viewport.y -= ceil ((float) (viewport.y - vpepy) / viewport.cycles_to_dest); } } viewport.cycles_to_dest--; viewport_needs_redrawing (); } else { viewport.cycles_to_dest = 1; } /* Iterate through the board locations in the viewport * and draw the objects if required */ for (y = viewport.y; y < viewport.y + viewport.h; y++) { for (x = viewport.x; x < viewport.x + viewport.w; x++) { destrect = set_rect (xoffset + (x - viewport.x) * video.field_size, yoffset + (y - viewport.y) * video.field_size, video.field_size, video.field_size); /* If the location is outside the dimensions of the level * then draw a BACKGROUND_COLOUR tile instead */ if (x < 0 || y < 0 || x >= level.w || y >= level.h) { SDL_FillRect (screen, &destrect, SDL_MapRGB (screen->format, skins[selected_skin].background_colour >> 16 & 0xff, skins[selected_skin].background_colour >> 8 & 0xff, skins[selected_skin].background_colour & 0xff)); } else { /* The location is valid but only draw locations * that have been marked for redrawing */ if (board[x][y].redraw) { board[x][y].redraw = FALSE; if (level.now_is_blinking > 1) { /* If the level is blinking then draw a white tile */ level_colour = 0xffffff; } else { if (level.colour_override != UNDEFINED) { level_colour = level.colour_override; } else if (level.colour != UNDEFINED) { level_colour = level.colour; } else { level_colour = DEFAULT_LEVEL_COLOUR; } } SDL_FillRect (screen, &destrect, SDL_MapRGB (screen->format, level_colour >> 16 & 0xff, level_colour >> 8 & 0xff, level_colour & 0xff)); /* Get icon surface offsets for object's current * animation frame */ /* Now first, let's manage the background file, we * cut it into 4 pieces, so we would change * backgrounds in different levels */ if (bgrnd != NULL) { int bgx = bgrnd->w / 2, bgy = bgrnd->h / 2; switch (level_packs[selected_pack].level_selected % 4) { case 0: emptyrect = set_rect ((video.field_size * x) % bgx, (video.field_size * y) % bgy, video.field_size, video.field_size); break; case 1: emptyrect = set_rect (((video.field_size * x) % bgx) + bgx, (video.field_size * y) % bgy, video.field_size, video.field_size); break; case 2: emptyrect = set_rect ((video.field_size * x) % bgx, ((video.field_size * y) % bgy) + bgy, video.field_size, video.field_size); break; case 3: emptyrect = set_rect (((video.field_size * x) % bgx) + bgx, ((video.field_size * y) % bgy) + bgy, video.field_size, video.field_size); break; } SDL_BlitSurface (bgrnd, &emptyrect, screen, &destrect); } /* now we draw empty field */ if (board[x][y].type != EMPTY_FIELD) { srcrect = set_rect (board[x][y].icon[board[x][y].state].x, board[x][y].icon[board[x][y].state].y, video.field_size, video.field_size); if (SDL_BlitSurface (icons, &srcrect, screen, &destrect) < 0) { fprintf (stdout, "BlitSurface error: %s\n", SDL_GetError ()); } } /* Are we drawing Robbo? */ if (robbo.x == x && robbo.y == y && robbo.alive && /* Is this his location and is he alive? */ (!robbo.teleporting || (robbo.teleporting && robbo.moved <= DELAY_TELEPORTING))) { /* Is he either not teleporting or just about to materialise from teleporting? */ srcrect = set_rect (robbo_images_srcrect [robbo.direction + robbo.state].x, robbo_images_srcrect[robbo.direction + robbo.state].y, robbo_images_srcrect[robbo.direction + robbo.state].w, robbo_images_srcrect[robbo.direction + robbo.state].h); if (SDL_BlitSurface (icons, &srcrect, screen, &destrect) < 0) { fprintf (stdout, "BlitSurface error: %s\n", SDL_GetError ()); } /* Reposition/resize the pointer controls pad over Robbo */ if (pointer_controls.state == POINTER_CONTROLS_MODE_ON) { show_pointer_controls_pad (); update_pointer_controls_pad (destrect.x, destrect.y); } } } } } } /* If the level is blinking then mark the viewport for redrawing */ if (level.now_is_blinking > 1) { level.now_is_blinking--; if (level.now_is_blinking == 1) { viewport_needs_redrawing (); } } /* Redraw the parts of the scoreline that have been requested */ if (scoreline.redraw) show_scoreline (); game_area.redraw = 0; return retval; } /*************************************************************************** * Show Game Area Fade * ***************************************************************************/ /* Simulates the screen fading in. I think fades can become annoying, so I don't fade when manually changing levels and packs. On entry: subfunction = FADE_SUB_INITIALISE to initialise with type = 1 to 17 for a specific fade type subfunction = FADE_SUB_SHOW to show the fade (type is ignored) subfunction = FADE_SUB_KILL with type = 0 to kill an existing fade */ int show_game_area_fade (int subfunction, int type) { int xoffset = viewport.xoffset, yoffset = viewport.yoffset, x, y; static int fadesize = 0, fadetype; SDL_Rect destrect; if (subfunction == FADE_SUB_INITIALISE) { /* Initialise a fade */ fadetype = type; if (fadetype == 0) { fadesize = 0; } else if (fadetype == 16) { fadesize = viewport.w; } else { fadesize = video.field_size; } } else if (subfunction == FADE_SUB_SHOW) { if (fadesize > 0) { for (y = 0; y < viewport.h; y++) { for (x = 0; x < viewport.w; x++) { if (fadetype == 0) { /* No fade */ } else if (fadetype == 1) { /* Fade middle dot */ destrect = set_rect (x * video.field_size + xoffset + (video.field_size - fadesize) / 2, y * video.field_size + yoffset + (video.field_size - fadesize) / 2, fadesize, fadesize); } else if (fadetype == 2) { /* Fade bottom right */ destrect = set_rect (x * video.field_size + xoffset + video.field_size - fadesize, y * video.field_size + yoffset + video.field_size - fadesize, fadesize, fadesize); } else if (fadetype == 3) { /* Fade top left and bottom right */ if (x % 2 == 0) { destrect = set_rect (x * video.field_size + xoffset, y * video.field_size + yoffset, fadesize, fadesize); } else if (x % 2 == 1) { destrect = set_rect (x * video.field_size + xoffset + video.field_size - fadesize, y * video.field_size + yoffset + video.field_size - fadesize, fadesize, fadesize); } } else if (fadetype == 4) { /* Fade bottom left and top right */ if (x % 2 == 0) { destrect = set_rect (x * video.field_size + xoffset, y * video.field_size + yoffset + video.field_size - fadesize, fadesize, fadesize); } else if (x % 2 == 1) { destrect = set_rect (x * video.field_size + xoffset + video.field_size - fadesize, y * video.field_size + yoffset, fadesize, fadesize); } } else if (fadetype == 5) { /* Fade bottom */ destrect = set_rect (x * video.field_size + xoffset, y * video.field_size + yoffset + video.field_size - fadesize, video.field_size, fadesize); } else if (fadetype == 6) { /* Fade top left */ destrect = set_rect (x * video.field_size + xoffset, y * video.field_size + yoffset, fadesize, fadesize); } else if (fadetype == 7) { /* Fade top right */ destrect = set_rect (x * video.field_size + xoffset + video.field_size - fadesize, y * video.field_size + yoffset, fadesize, fadesize); } else if (fadetype == 8) { /* Fade bottom left */ destrect = set_rect (x * video.field_size + xoffset, y * video.field_size + yoffset + video.field_size - fadesize, fadesize, fadesize); } else if (fadetype == 9) { /* Intermittent fade top left and bottom right */ if (fadesize % 4 == 0) { destrect = set_rect (x * video.field_size + xoffset, y * video.field_size + yoffset, fadesize, fadesize); } else if (fadesize % 4 == 2) { destrect = set_rect (x * video.field_size + xoffset + video.field_size - fadesize, y * video.field_size + yoffset + video.field_size - fadesize, fadesize, fadesize); } } else if (fadetype == 10) { /* Fade left */ destrect = set_rect (x * video.field_size + xoffset, y * video.field_size + yoffset, fadesize, video.field_size); } else if (fadetype == 11) { /* Fade middle tall */ destrect = set_rect (x * video.field_size + xoffset + (video.field_size - fadesize) / 2, y * video.field_size + yoffset, fadesize, video.field_size); } else if (fadetype == 12) { /* Fade middle wide */ destrect = set_rect (x * video.field_size + xoffset, y * video.field_size + yoffset + (video.field_size - fadesize) / 2, video.field_size, fadesize); } else if (fadetype == 13) { /* Fade top */ destrect = set_rect (x * video.field_size + xoffset, y * video.field_size + yoffset, video.field_size, fadesize); } else if (fadetype == 14) { /* Fade right */ destrect = set_rect (x * video.field_size + xoffset + video.field_size - fadesize, y * video.field_size + yoffset, fadesize, video.field_size); } else if (fadetype == 15) { /* Intermittent fade bottom left and top right */ if (fadesize % 4 == 0) { destrect = set_rect (x * video.field_size + xoffset, y * video.field_size + yoffset + video.field_size - fadesize, fadesize, fadesize); } else if (fadesize % 4 == 2) { destrect = set_rect (x * video.field_size + xoffset + video.field_size - fadesize, y * video.field_size + yoffset, fadesize, fadesize); } } else if (fadetype == 16) { /* Board fades from the right */ if (x < fadesize) destrect = set_rect (x * video.field_size + xoffset, y * video.field_size + yoffset, video.field_size, video.field_size); } else if (fadetype == 17) { /* Fade top left, top right, bottom left and bottom right */ if (x % 2 == 0 && y % 2 == 0) { destrect = set_rect (x * video.field_size + xoffset, y * video.field_size + yoffset, fadesize, fadesize); } else if (x % 2 == 1 && y % 2 == 0) { destrect = set_rect (x * video.field_size + xoffset + video.field_size - fadesize, y * video.field_size + yoffset, fadesize, fadesize); } else if (x % 2 == 0 && y % 2 == 1) { destrect = set_rect (x * video.field_size + xoffset, y * video.field_size + yoffset + video.field_size - fadesize, fadesize, fadesize); } else if (x % 2 == 1 && y % 2 == 1) { destrect = set_rect (x * video.field_size + xoffset + video.field_size - fadesize, y * video.field_size + yoffset + video.field_size - fadesize, fadesize, fadesize); } } SDL_FillRect (screen, &destrect, SDL_MapRGB (screen->format, skins[selected_skin]. fade_colour >> 16 & 0xff, skins[selected_skin]. fade_colour >> 8 & 0xff, skins[selected_skin]. fade_colour & 0xff)); } } if (fadetype == 16) { fadesize--; } else { fadesize -= video.field_size / 16; } viewport_needs_redrawing (); return 1; } } return 0; } /*************************************************************************** * Show Scoreline * ***************************************************************************/ /* Now each item can be individually redrawn by the setting of bits in the global variable scoreline.redraw prior to calling this function */ void show_scoreline (void) { int xoffset, count, number; int yoffset = scoreline.yoffset; char tempstring[256]; SDL_Rect destrect; if (scoreline.redraw & SCORELINE_ICONS) { xoffset = scoreline.xoffset; /* First erase the area occupied by the icons */ destrect = set_rect (xoffset, yoffset, video.field_size * 10.5, video.field_size); SDL_FillRect (screen, &destrect, SDL_MapRGB (screen->format, skins[selected_skin]. background_colour >> 16 & 0xff, skins[selected_skin]. background_colour >> 8 & 0xff, skins[selected_skin]. background_colour & 0xff)); /* Draw screw icon */ destrect = set_rect (xoffset, yoffset, video.field_size, video.field_size); if (SDL_BlitSurface (icons, &score_screw_srcrect, screen, &destrect) < 0) { fprintf (stdout, "BlitSurface error: %s\n", SDL_GetError ()); } xoffset = xoffset + video.field_size * 2 + video.field_size / 4; /* Draw key icon */ destrect = set_rect (xoffset, yoffset, video.field_size, video.field_size); if (SDL_BlitSurface (icons, &score_key_srcrect, screen, &destrect) < 0) { fprintf (stdout, "BlitSurface error: %s\n", SDL_GetError ()); } xoffset = xoffset + video.field_size * 2 + video.field_size / 2; /* Draw bullet icon */ destrect = set_rect (xoffset, yoffset, video.field_size, video.field_size); if (SDL_BlitSurface (icons, &score_bullet_srcrect, screen, &destrect) < 0) { fprintf (stdout, "BlitSurface error: %s\n", SDL_GetError ()); } xoffset = xoffset + video.field_size * 3; /* Draw level icon */ destrect = set_rect (xoffset, yoffset, video.field_size, video.field_size); if (SDL_BlitSurface (icons, &score_level_srcrect, screen, &destrect) < 0) { fprintf (stdout, "BlitSurface error: %s\n", SDL_GetError ()); } } if (scoreline.redraw & SCORELINE_SCREWS) { xoffset = scoreline.xoffset + video.field_size; /* Does the area occupied by the digits require erasing? */ if (!(scoreline.redraw & SCORELINE_ICONS)) { destrect = set_rect (xoffset, yoffset, video.field_size, video.field_size); SDL_FillRect (screen, &destrect, SDL_MapRGB (screen->format, skins[selected_skin]. background_colour >> 16 & 0xff, skins[selected_skin]. background_colour >> 8 & 0xff, skins[selected_skin]. background_colour & 0xff)); } /* Draw screw count */ number = 10; for (count = 0; count < 2; count++) { sprintf (tempstring, "%i", (robbo.screws / number) % 10); write_lcd_char (tempstring[0], xoffset, yoffset); xoffset = xoffset + video.field_size / 2; number = number / 10; } } if (scoreline.redraw & SCORELINE_KEYS) { xoffset = scoreline.xoffset + video.field_size * 3 + video.field_size / 2; /* Does the area occupied by the digits require erasing? */ if (!(scoreline.redraw & SCORELINE_ICONS)) { destrect = set_rect (xoffset, yoffset, video.field_size, video.field_size); SDL_FillRect (screen, &destrect, SDL_MapRGB (screen->format, skins[selected_skin]. background_colour >> 16 & 0xff, skins[selected_skin]. background_colour >> 8 & 0xff, skins[selected_skin]. background_colour & 0xff)); } /* Draw key count */ number = 10; for (count = 0; count < 2; count++) { sprintf (tempstring, "%i", (robbo.keys / number) % 10); write_lcd_char (tempstring[0], xoffset, yoffset); xoffset = xoffset + video.field_size / 2; number = number / 10; } } if (scoreline.redraw & SCORELINE_BULLETS) { xoffset = scoreline.xoffset + video.field_size * 6; /* Does the area occupied by the digits require erasing? */ if (!(scoreline.redraw & SCORELINE_ICONS)) { destrect = set_rect (xoffset, yoffset, video.field_size + video.field_size / 2, video.field_size); SDL_FillRect (screen, &destrect, SDL_MapRGB (screen->format, skins[selected_skin]. background_colour >> 16 & 0xff, skins[selected_skin]. background_colour >> 8 & 0xff, skins[selected_skin]. background_colour & 0xff)); } /* Draw bullet count */ number = 100; for (count = 0; count < 3; count++) { sprintf (tempstring, "%i", (robbo.bullets / number) % 10); write_lcd_char (tempstring[0], xoffset, yoffset); xoffset = xoffset + video.field_size / 2; number = number / 10; } } if (scoreline.redraw & SCORELINE_LEVEL) { xoffset = scoreline.xoffset + video.field_size * 9; /* Does the area occupied by the digits require erasing? */ if (!(scoreline.redraw & SCORELINE_ICONS)) { destrect = set_rect (xoffset, yoffset, video.field_size + video.field_size / 2, video.field_size); SDL_FillRect (screen, &destrect, SDL_MapRGB (screen->format, skins[selected_skin]. background_colour >> 16 & 0xff, skins[selected_skin]. background_colour >> 8 & 0xff, skins[selected_skin]. background_colour & 0xff)); } /* Draw level count */ number = 100; for (count = 0; count < 3; count++) { sprintf (tempstring, "%i", (level_packs[selected_pack].level_selected / number) % 10); write_lcd_char (tempstring[0], xoffset, yoffset); xoffset = xoffset + video.field_size / 2; number = number / 10; } } if (scoreline.redraw & SCORELINE_PACK) { xoffset = scoreline.xoffset + video.field_size * 10 + video.field_size / 2; /* First erase the area occupied by the digits */ destrect = set_rect (xoffset, yoffset, video.field_size * 5 + video.field_size / 2, video.field_size); SDL_FillRect (screen, &destrect, SDL_MapRGB (screen->format, skins[selected_skin]. background_colour >> 16 & 0xff, skins[selected_skin]. background_colour >> 8 & 0xff, skins[selected_skin]. background_colour & 0xff)); /* Draw "-" */ tempstring[0] = '-'; write_lcd_char (tempstring[0], xoffset, yoffset); /* Draw pack name */ for (count = 0; count < strlen (level_packs[selected_pack].name); count++) { write_lcd_char (level_packs[selected_pack].name[count], xoffset + (count + 1) * video.field_size / 2, yoffset); } } if (scoreline.redraw & SCORELINE_AUTHOR) { fgcolor.r = skins[selected_skin].author_text_colour >> 16 & 0xff; fgcolor.g = skins[selected_skin].author_text_colour >> 8 & 0xff; fgcolor.b = skins[selected_skin].author_text_colour & 0xff; bgcolor.r = skins[selected_skin].background_colour >> 16 & 0xff; bgcolor.g = skins[selected_skin].background_colour >> 8 & 0xff; bgcolor.b = skins[selected_skin].background_colour & 0xff; /* Draw level author */ if (level.author[0] == '_') { sprintf (tempstring, "%s", &level.author[1]); } else if (strlen (level.author) > 0) { sprintf (tempstring, "%s: %s", txt_Level_Author, level.author); } else { strcpy (tempstring, ""); } if (strlen (tempstring) > 0) { image = TTF_RenderUTF8_Shaded (font, tempstring, fgcolor, bgcolor); destrect = set_rect (authorline.xoffset, authorline.yoffset, image->w, image->h); SDL_BlitSurface (image, NULL, screen, &destrect); SDL_FreeSurface (image); } } scoreline.redraw = 0; } /*************************************************************/ /* Set Rect **************************************************/ /*************************************************************/ SDL_Rect set_rect (int x, int y, int w, int h) { SDL_Rect rect; rect.x = x; rect.y = y; rect.w = w; rect.h = h; return rect; } /*************************************************************/ /* Get Pixel *************************************************/ /*************************************************************/ /* Not used in this project anymore */ Uint32 getpixel (SDL_Surface * surface, int x, int y) { int bpp = surface->format->BytesPerPixel; /* Here p is the address to the pixel we want to retrieve */ Uint8 *p = (Uint8 *) surface->pixels + y * surface->pitch + x * bpp; switch (bpp) { case 1: return *p; case 2: return *(Uint16 *) p; case 3: if (SDL_BYTEORDER == SDL_BIG_ENDIAN) return p[0] << 16 | p[1] << 8 | p[2]; else return p[0] | p[1] << 8 | p[2] << 16; case 4: return *(Uint32 *) p; default: return 0; /* shouldn't happen, but avoids warnings */ } } /*************************************************************************** * Clear Screen * ***************************************************************************/ /* To save CPU usage -- which varies greatly between platforms/devices and video resolution -- not all parts of the screen need erasing and so this function now erases only what is required. The main reason for this optimisation is to accommodate the new ROB engine which will introduce draggable objects and possibly a simulated pointer over a game that was never designed for it. I'm simply preventing unnecessary layering */ void clear_screen (void) { SDL_Rect destrect; SDL_Color colour; colour.r = skins[selected_skin].background_colour >> 16 & 0xff; colour.g = skins[selected_skin].background_colour >> 8 & 0xff; colour.b = skins[selected_skin].background_colour & 0xff; switch (game_mode) { case GAME_ON: /* Clear the left-hand area */ destrect = set_rect (0, 0, viewport.xoffset, screen->h); #ifdef DEBUG_CLEAR_SCREEN colour.r = 0x80; colour.g = 0; colour.b = 0; #endif SDL_FillRect (screen, &destrect, SDL_MapRGB (screen->format, colour.r, colour.g, colour.b)); /* Clear the right-hand area */ destrect = set_rect (viewport.xoffset + viewport.w * video.field_size, 0, screen->w - viewport.xoffset + viewport.w * video.field_size, screen->h); #ifdef DEBUG_CLEAR_SCREEN colour.r = 0; colour.g = 0x80; colour.b = 0; #endif SDL_FillRect (screen, &destrect, SDL_MapRGB (screen->format, colour.r, colour.g, colour.b)); /* Clear the area occupied by the authorline */ destrect = set_rect (viewport.xoffset, 0, viewport.w * video.field_size, viewport.yoffset); #ifdef DEBUG_CLEAR_SCREEN colour.r = 0; colour.g = 0; colour.b = 0x80; #endif SDL_FillRect (screen, &destrect, SDL_MapRGB (screen->format, colour.r, colour.g, colour.b)); /* Clear the area occupied between the bottom of the viewport and the scoreline */ destrect = set_rect (viewport.xoffset, viewport.yoffset + viewport.h * video.field_size, viewport.w * video.field_size, video.field_size / 4); #ifdef DEBUG_CLEAR_SCREEN colour.r = 0x80; colour.g = 0; colour.b = 0x80; #endif SDL_FillRect (screen, &destrect, SDL_MapRGB (screen->format, colour.r, colour.g, colour.b)); /* Clear the area occupied below the bottom of the scoreline */ destrect = set_rect (viewport.xoffset, scoreline.yoffset + video.field_size, viewport.w * video.field_size, screen->h - scoreline.yoffset - video.field_size); #ifdef DEBUG_CLEAR_SCREEN colour.r = 0; colour.g = 0x80; colour.b = 0x80; #endif SDL_FillRect (screen, &destrect, SDL_MapRGB (screen->format, colour.r, colour.g, colour.b)); break; case INTRO_SCREEN: case END_SCREEN: case HELP_SCREEN: case OPTIONS_SCREEN: default: #ifdef DEBUG_CLEAR_SCREEN colour.r = 0x80; colour.g = 0x80; colour.b = 0; #endif SDL_FillRect (screen, NULL, SDL_MapRGB (screen->format, colour.r, colour.g, colour.b)); break; } } /*************************************************************************** * Set Video Mode * ***************************************************************************/ /* Now allows the setting of any resolution with a choice of field_sizes. This function works thus :- * There is a user requested mode, a hi-res mode (640x480) and a lo-res mode (320x240) * ROB needs software surfaces for alpha blits. * The GP2X using the GPH SDK is forced to 320x240 software surface fullscreen * The Zaurus is forced fullscreen * An attempt is made to set the user requested mode * If that fails then an attempt is made to set the hi-res mode (640x480) * If that fails then an attempt is made to set the lo-res mode (320x240) * If that fails then the program quits */ /* On exit: returns 1 on error */ int set_video_mode (void) { SDL_Rect **modes; int hwsurface[3], count, flags; #ifdef DEBUG_VIDEO const SDL_VideoInfo *videoinfo; #endif char description[256]; /* Initialise all 3 modes to use software surfaces by default */ for (count = 0; count < 3; count++) hwsurface[count] = SDL_SWSURFACE; /* Validate the screen resolution and field_size that the user may have requested */ if (video.xres == UNDEFINED || video.yres == UNDEFINED) { video.xres = 640; video.yres = 480; if (video.field_size == UNDEFINED) video.field_size = 32; } else { if (video.field_size == UNDEFINED) video.field_size = 32; if (video.xres < 480 || video.yres < 480) video.field_size = 16; } #if defined(PLATFORM_WIN32) || defined(PLATFORM_PC) #elif defined(PLATFORM_GP2X) /* Force GP2X screen resolution as there is no option. */ video.xres = 320; video.yres = 240; video.field_size = 16; #elif defined(PLATFORM_ZAURUS) #elif defined(PLATFORM_PSP) #endif /* Validate fullscreen that the user may have requested */ if (video.fullscreen == UNDEFINED) video.fullscreen = 0; #if defined(PLATFORM_WIN32) || defined(PLATFORM_PC) #elif defined(PLATFORM_GP2X) video.fullscreen = SDL_FULLSCREEN; #elif defined(PLATFORM_ZAURUS) video.fullscreen = SDL_FULLSCREEN; #elif defined(PLATFORM_FREMANTLE) video.fullscreen = SDL_FULLSCREEN; #elif defined(PLATFORM_PSP) video.fullscreen = SDL_FULLSCREEN; #endif /* Validate the viewport dimensions */ if (viewport.max_w == UNDEFINED || viewport.max_h == UNDEFINED) { viewport.max_w = DEFAULT_VIEWPORT_WIDTH; viewport.max_h = DEFAULT_VIEWPORT_HEIGHT; } if (viewport.maximise == UNDEFINED) viewport.maximise = FALSE; /* Query available fullscreen hwsurface modes */ #ifdef DEBUG_VIDEO printf ("*** Start %s ***\n", __func__); printf ("Fullscreen hwsurfaces :-\n"); #endif modes = SDL_ListModes (NULL, SDL_FULLSCREEN | SDL_HWSURFACE); if (modes == NULL) { #ifdef DEBUG_VIDEO printf ("None found\n"); #endif } else if (modes == (SDL_Rect **) - 1) { #ifdef DEBUG_VIDEO printf ("Any dimension is okay\n"); #endif for (count = 0; count < 3; count++) hwsurface[count] = SDL_HWSURFACE; } else { for (count = 0; modes[count]; ++count) { #ifdef DEBUG_VIDEO printf ("%dx%d\n", modes[count]->w, modes[count]->h); #endif if (modes[count]->w == video.xres && modes[count]->h == video.yres) { hwsurface[0] = SDL_HWSURFACE; } else if (modes[count]->w == 640 && modes[count]->h == 480) { hwsurface[1] = SDL_HWSURFACE; } else if (modes[count]->w == 320 && modes[count]->h == 240) { hwsurface[2] = SDL_HWSURFACE; } } } /* Query available fullscreen swsurface modes */ #ifdef DEBUG_VIDEO printf ("Fullscreen swsurfaces :-\n"); #endif modes = SDL_ListModes (NULL, SDL_FULLSCREEN | SDL_SWSURFACE); if (modes == NULL) { #ifdef DEBUG_VIDEO printf ("None found\n"); #endif } else if (modes == (SDL_Rect **) - 1) { #ifdef DEBUG_VIDEO printf ("Any dimension is okay\n"); #endif } else { for (count = 0; modes[count]; ++count) { #ifdef DEBUG_VIDEO printf ("%dx%d\n", modes[count]->w, modes[count]->h); #endif } } #ifdef DEBUG_VIDEO videoinfo = SDL_GetVideoInfo (); printf ("Best video mode info :-\n"); printf ("hw_available: %u\n", videoinfo->hw_available); printf ("wm_available: %u\n", videoinfo->wm_available); printf ("blit_hw: %u\n", videoinfo->blit_hw); printf ("blit_hw_CC: %u\n", videoinfo->blit_hw_CC); printf ("blit_hw_A: %u\n", videoinfo->blit_hw_A); printf ("blit_sw: %u\n", videoinfo->blit_sw); printf ("blit_sw_CC: %u\n", videoinfo->blit_sw_CC); printf ("blit_sw_A: %u\n", videoinfo->blit_sw_A); printf ("blit_fill: %u\n", videoinfo->blit_fill); printf ("video_mem: %uKB\n", videoinfo->video_mem); printf ("BitsPerPixel: %u\n", videoinfo->vfmt->BitsPerPixel); printf ("BytesPerPixel: %u\n", videoinfo->vfmt->BytesPerPixel); #endif #if defined(PLATFORM_WIN32) || defined(PLATFORM_PC) #elif defined(PLATFORM_GP2X) /* Well after all that clever video mode detection code the GPH GP2X * SDL states it has hwsurface support and then seg faults ;) */ for (count = 0; count < 3; count++) hwsurface[count] = SDL_SWSURFACE; #elif defined(PLATFORM_ZAURUS) #elif defined(PLATFORM_PSP) #endif /* First attempt to set the user requested mode, then hi-res, then lo-res, then quit */ for (count = 0; count < 3; count++) { /* Set the hi-res or lo-res modes if the user requested mode failed */ if (count == 1) { video.xres = 640; video.yres = 480; video.field_size = 32; } else if (count == 2) { video.xres = 320; video.yres = 240; video.field_size = 16; } /* Set the SDL flags and prepare the description string */ flags = SDL_SWSURFACE | SDL_ANYFORMAT | video.fullscreen; strcpy (description, "software"); /* Tell the user what we're about to do */ if (count == 0) { fprintf (stdout, "Setting video mode %ix%i 16bpp %s surface.\n", video.xres, video.yres, description); } else if (count == 1) { fprintf (stdout, "Trying default hi-res video mode %ix%i 16bpp %s surface.\n", video.xres, video.yres, description); } else if (count == 2) { fprintf (stdout, "Trying default lo-res video mode %ix%i 16bpp %s surface.\n", video.xres, video.yres, description); } /* We have enough info to set the correct mode now */ screen = SDL_SetVideoMode (video.xres, video.yres, 16, flags); if (screen != NULL) { break; } else if (count < 2) { fprintf (stdout, "Failed: %s\n", SDL_GetError ()); } else { return 1; } } /* It's safe to initialise these now as video.field_size has been decided */ video.xshift = 0; video.yshift = 0; #ifdef DEBUG_VIDEO videoinfo = SDL_GetVideoInfo (); printf ("Current video mode info :-\n"); printf ("hw_available: %u\n", videoinfo->hw_available); printf ("wm_available: %u\n", videoinfo->wm_available); printf ("blit_hw: %u\n", videoinfo->blit_hw); printf ("blit_hw_CC: %u\n", videoinfo->blit_hw_CC); printf ("blit_hw_A: %u\n", videoinfo->blit_hw_A); printf ("blit_sw: %u\n", videoinfo->blit_sw); printf ("blit_sw_CC: %u\n", videoinfo->blit_sw_CC); printf ("blit_sw_A: %u\n", videoinfo->blit_sw_A); printf ("blit_fill: %u\n", videoinfo->blit_fill); printf ("video_mem: %uKB\n", videoinfo->video_mem); printf ("BitsPerPixel: %u\n", videoinfo->vfmt->BitsPerPixel); printf ("BytesPerPixel: %u\n", videoinfo->vfmt->BytesPerPixel); printf ("*** Stop %s ***\n", __func__); #endif return 0; } /*************************************************************************** * Toggle Fullscreen * ***************************************************************************/ /* Toggles between a window and fullscreen on supported platforms */ void toggle_fullscreen (int *fullscreen) { if (!(SDL_WM_ToggleFullScreen (screen))) { fprintf (stdout, "Unable to toggle fullscreen: %s\n", SDL_GetError ()); } /* Be careful to record the current fullscreen state */ if (*fullscreen != SDL_FULLSCREEN) { *fullscreen = SDL_FULLSCREEN; } else { *fullscreen = 0; } } /*************************************************************************** * Show Level Colour * ***************************************************************************/ /* Used for debugging */ void show_level_colour (int debug_colour_select_r, int debug_colour_select_g, int debug_colour_select_b, int debug_colour_select_component) { char tempstring[60]; int xoffset, yoffset; SDL_Rect destrect; xoffset = authorline.xoffset + video.field_size * 13.5; yoffset = authorline.yoffset; /* Display red component */ if (debug_colour_select_component == 0) { bgcolor.r = 0xff; bgcolor.g = 0; bgcolor.b = 0; fgcolor.r = 0; fgcolor.g = 0; fgcolor.b = 0; } else { bgcolor.r = 0; bgcolor.g = 0; bgcolor.b = 0; fgcolor.r = 0xff; fgcolor.g = 0xff; fgcolor.b = 0xff; } sprintf (tempstring, "%02X", debug_colour_select_r); image = TTF_RenderUTF8_Shaded (font, tempstring, fgcolor, bgcolor); destrect = set_rect (xoffset, yoffset, image->w, image->h); SDL_BlitSurface (image, NULL, screen, &destrect); xoffset += image->w; SDL_FreeSurface (image); /* Display green component */ if (debug_colour_select_component == 1) { bgcolor.r = 0; bgcolor.g = 0xff; bgcolor.b = 0; fgcolor.r = 0; fgcolor.g = 0; fgcolor.b = 0; } else { bgcolor.r = 0; bgcolor.g = 0; bgcolor.b = 0; fgcolor.r = 0xff; fgcolor.g = 0xff; fgcolor.b = 0xff; } sprintf (tempstring, "%02X", debug_colour_select_g); image = TTF_RenderUTF8_Shaded (font, tempstring, fgcolor, bgcolor); destrect = set_rect (xoffset, yoffset, image->w, image->h); SDL_BlitSurface (image, NULL, screen, &destrect); xoffset += image->w; SDL_FreeSurface (image); /* Display blue component */ if (debug_colour_select_component == 2) { bgcolor.r = 0; bgcolor.g = 0; bgcolor.b = 0xff; fgcolor.r = 0; fgcolor.g = 0; fgcolor.b = 0; } else { bgcolor.r = 0; bgcolor.g = 0; bgcolor.b = 0; fgcolor.r = 0xff; fgcolor.g = 0xff; fgcolor.b = 0xff; } sprintf (tempstring, "%02X", debug_colour_select_b); image = TTF_RenderUTF8_Shaded (font, tempstring, fgcolor, bgcolor); destrect = set_rect (xoffset, yoffset, image->w, image->h); SDL_BlitSurface (image, NULL, screen, &destrect); SDL_FreeSurface (image); } /*************************************************************************** * Inc Colour Component * ***************************************************************************/ /* Used for debugging */ void inc_colour_component (int *colour_component) { if (*colour_component == 0xf8) { *colour_component = 0xff; } else if (*colour_component == 0xff) { *colour_component = 0x0; } else { *colour_component += 0x8; } } /*************************************************************************** * Dec Colour Component * ***************************************************************************/ /* Used for debugging */ void dec_colour_component (int *colour_component) { if (*colour_component == 0x0) { *colour_component = 0xff; } else if (*colour_component == 0xff) { *colour_component = 0xf8; } else { *colour_component -= 0x8; } } /*************************************************************************** * Show Intro Screen * ***************************************************************************/ /* intro_screen.redraw now specifies how much is redrawn */ void show_introscreen (void) { int count, xoffset, yoffset; ROB_Object rob_object; SDL_Rect destrect; char tempstring[256]; static int txtversionw = 0; xoffset = (screen->w - video.field_size * 15) / 2 + video.xshift; yoffset = (screen->h - video.field_size * 15) / 2 + video.yshift; bgcolor.r = skins[selected_skin].background_colour >> 16 & 0xff; bgcolor.g = skins[selected_skin].background_colour >> 8 & 0xff; bgcolor.b = skins[selected_skin].background_colour & 0xff; if (intro_screen.redraw >= REDRAW_INITIALISE) { /* Reinitialise some variables */ /* Restore normal key/button repeat values for these keys */ user_controls[ACTION_UP].delay = KEY_REPEAT_DELAY; user_controls[ACTION_UP].interval = KEY_REPEAT_INTERVAL; user_controls[ACTION_UP_RIGHT].delay = KEY_REPEAT_DELAY; user_controls[ACTION_UP_RIGHT].interval = KEY_REPEAT_INTERVAL; user_controls[ACTION_RIGHT].delay = KEY_REPEAT_DELAY; user_controls[ACTION_RIGHT].interval = KEY_REPEAT_INTERVAL; user_controls[ACTION_DOWN_RIGHT].delay = KEY_REPEAT_DELAY; user_controls[ACTION_DOWN_RIGHT].interval = KEY_REPEAT_INTERVAL; user_controls[ACTION_DOWN].delay = KEY_REPEAT_DELAY; user_controls[ACTION_DOWN].interval = KEY_REPEAT_INTERVAL; user_controls[ACTION_DOWN_LEFT].delay = KEY_REPEAT_DELAY; user_controls[ACTION_DOWN_LEFT].interval = KEY_REPEAT_INTERVAL; user_controls[ACTION_LEFT].delay = KEY_REPEAT_DELAY; user_controls[ACTION_LEFT].interval = KEY_REPEAT_INTERVAL; user_controls[ACTION_UP_LEFT].delay = KEY_REPEAT_DELAY; user_controls[ACTION_UP_LEFT].interval = KEY_REPEAT_INTERVAL; user_controls[ACTION_SHOOT_UP].delay = KEY_REPEAT_DELAY; user_controls[ACTION_SHOOT_UP].interval = KEY_REPEAT_INTERVAL; user_controls[ACTION_SHOOT_DOWN].delay = KEY_REPEAT_DELAY; user_controls[ACTION_SHOOT_DOWN].interval = KEY_REPEAT_INTERVAL; user_controls[ACTION_SHOOT_LEFT].delay = KEY_REPEAT_DELAY; user_controls[ACTION_SHOOT_LEFT].interval = KEY_REPEAT_INTERVAL; user_controls[ACTION_SHOOT_RIGHT].delay = KEY_REPEAT_DELAY; user_controls[ACTION_SHOOT_RIGHT].interval = KEY_REPEAT_INTERVAL; user_controls[ACTION_PRIMARY_CLICK].delay = KEY_REPEAT_DELAY; user_controls[ACTION_PRIMARY_CLICK].interval = KEY_REPEAT_INTERVAL; /* Free all existing hotspots including the pob */ ROB_FreeAllDescendantObjects (ROB_GetObject (HOTSPOTS_ID), TRUE); /* Hide the pointer controls */ hide_pointer_controls (); /* Point the event processor to manage Intro Screen events */ gnurobbo_op_env.event_processor = &intro_screen_event_processor; if (ROB_SetOpEnvEventProcessor (gnurobbo_op_env.event_processor)) printf ("%s: %s\n", __func__, ROB_GetError ()); /* Create the hotspot parent object which will be used to identify the group */ if (ROB_SetObjectDefaults (&rob_object)) printf ("%s: %s\n", __func__, ROB_GetError ()); rob_object.id = HOTSPOTS_ID; if (ROB_CreateObject (&rob_object)) printf ("%s: %s\n", __func__, ROB_GetError ()); } #ifdef DEBUG_ROB_HOTSPOTS intro_screen.redraw |= REDRAW_EVERYTHING; #endif if (intro_screen.redraw >= REDRAW_EVERYTHING) { /* Reinitialise some variables */ /* Set entire screen to a colour */ clear_screen (); /* Draw the version */ fgcolor.r = skins[selected_skin].version_text_colour >> 16 & 0xff; fgcolor.g = skins[selected_skin].version_text_colour >> 8 & 0xff; fgcolor.b = skins[selected_skin].version_text_colour & 0xff; image = TTF_RenderUTF8_Shaded (font, VERSION, fgcolor, bgcolor); txtversionw = image->w; if (video.field_size == 16) { destrect = set_rect (xoffset + video.field_size * 15 - image->w, yoffset + 37, image->w, image->h); } else if (video.field_size == 32) { destrect = set_rect (xoffset + video.field_size * 15 - image->w, yoffset + 74, image->w, image->h); } SDL_BlitSurface (image, NULL, screen, &destrect); SDL_FreeSurface (image); /* Draw the intro story */ fgcolor.r = skins[selected_skin].general_text_colour >> 16 & 0xff; fgcolor.g = skins[selected_skin].general_text_colour >> 8 & 0xff; fgcolor.b = skins[selected_skin].general_text_colour & 0xff; for (count = 0; count < TXT_INTRO_STORY_ROWS; count++) { image = TTF_RenderUTF8_Shaded (font, &txt_intro_story[count * TXT_MAX_COLS], fgcolor, bgcolor); SDL_SetColorKey (image, SDL_SRCCOLORKEY, SDL_MapRGB (image->format, bgcolor.r, bgcolor.g, bgcolor.b)); if (video.field_size == 16) { destrect = set_rect (xoffset + 2, yoffset + 48 + count * (FONTSIZE16 + video.field_size / 8), image->w, image->h); } else if (video.field_size == 32) { destrect = set_rect (xoffset + 4, yoffset + 96 + count * (FONTSIZE32 + video.field_size / 8), image->w, image->h); } SDL_BlitSurface (image, NULL, screen, &destrect); SDL_FreeSurface (image); } /* Draw the intro keys */ fgcolor.r = skins[selected_skin].default_controls_text_colour >> 16 & 0xff; fgcolor.g = skins[selected_skin].default_controls_text_colour >> 8 & 0xff; fgcolor.b = skins[selected_skin].default_controls_text_colour & 0xff; for (count = 0; count < TXT_INTRO_KEYS_ROWS; count++) { image = TTF_RenderUTF8_Shaded (font, &txt_intro_keys[count * TXT_MAX_COLS], fgcolor, bgcolor); SDL_SetColorKey (image, SDL_SRCCOLORKEY, SDL_MapRGB (image->format, bgcolor.r, bgcolor.g, bgcolor.b)); if (video.field_size == 16) { destrect = set_rect (xoffset + 6, yoffset + 105 + count * (FONTSIZE16 + video.field_size / 8), image->w, image->h); } else if (video.field_size == 32) { destrect = set_rect (xoffset + 12, yoffset + 210 + count * (FONTSIZE32 + video.field_size / 8), image->w, image->h); } SDL_BlitSurface (image, NULL, screen, &destrect); SDL_FreeSurface (image); } /* Draw the intro keys description */ fgcolor.r = skins[selected_skin].default_controls_text_colour >> 16 & 0xff; fgcolor.g = skins[selected_skin].default_controls_text_colour >> 8 & 0xff; fgcolor.b = skins[selected_skin].default_controls_text_colour & 0xff; for (count = 0; count < TXT_INTRO_KEYS_DESCRIPTION_ROWS; count++) { image = TTF_RenderUTF8_Shaded (font, &txt_intro_keys_description[count * TXT_MAX_COLS], fgcolor, bgcolor); SDL_SetColorKey (image, SDL_SRCCOLORKEY, SDL_MapRGB (image->format, bgcolor.r, bgcolor.g, bgcolor.b)); if (video.field_size == 16) { destrect = set_rect (xoffset + 79, yoffset + 105 + count * (FONTSIZE16 + video.field_size / 8), image->w, image->h); } else if (video.field_size == 32) { destrect = set_rect (xoffset + 158, yoffset + 210 + count * (FONTSIZE32 + video.field_size / 8), image->w, image->h); } SDL_BlitSurface (image, NULL, screen, &destrect); SDL_FreeSurface (image); } /* Draw the intro credits */ fgcolor.r = skins[selected_skin].credits_text_colour >> 16 & 0xff; fgcolor.g = skins[selected_skin].credits_text_colour >> 8 & 0xff; fgcolor.b = skins[selected_skin].credits_text_colour & 0xff; for (count = 0; count < TXT_INTRO_CREDITS_ROWS; count++) { image = TTF_RenderUTF8_Shaded (font, &txt_intro_credits[count * TXT_MAX_COLS], fgcolor, bgcolor); SDL_SetColorKey (image, SDL_SRCCOLORKEY, SDL_MapRGB (image->format, bgcolor.r, bgcolor.g, bgcolor.b)); if (video.field_size == 16) { destrect = set_rect (xoffset + video.field_size * 15 / 2 - image->w / 2, yoffset + 199 + count * (FONTSIZE16 + video.field_size / 8), image->w, image->h); } else if (video.field_size == 32) { destrect = set_rect (xoffset + video.field_size * 15 / 2 - image->w / 2, yoffset + 398 + count * (FONTSIZE32 + video.field_size / 8), image->w, image->h); } SDL_BlitSurface (image, NULL, screen, &destrect); SDL_FreeSurface (image); } } if (intro_screen.redraw >= REDRAW_INTERMEDIATE) { /* Does the menu text area only require erasing? */ if (intro_screen.redraw <= REDRAW_INTERMEDIATE) { destrect = set_rect (xoffset + 125 * video.field_size / 16, yoffset + 104 * video.field_size / 16, 113 * video.field_size / 16, 90 * video.field_size / 16); SDL_FillRect (screen, &destrect, SDL_MapRGB (screen->format, skins[selected_skin]. background_colour >> 16 & 0xff, skins[selected_skin]. background_colour >> 8 & 0xff, skins[selected_skin]. background_colour & 0xff)); } /* Draw the intro menu text */ for (count = 0; count < TXT_INTRO_MENU_ROWS; count++) { /*#ifndef HAVE_DESIGNER*/ if (count == 5) continue; /* Skip it */ /*#endif*/ if (count == introscreenselecteditem) { fgcolor.r = skins[selected_skin].menu_selected_text_colour >> 16 & 0xff; fgcolor.g = skins[selected_skin].menu_selected_text_colour >> 8 & 0xff; fgcolor.b = skins[selected_skin].menu_selected_text_colour & 0xff; } else { fgcolor.r = skins[selected_skin].menu_text_colour >> 16 & 0xff; fgcolor.g = skins[selected_skin].menu_text_colour >> 8 & 0xff; fgcolor.b = skins[selected_skin].menu_text_colour & 0xff; } image = TTF_RenderUTF8_Shaded (font, &txt_intro_menu[count * TXT_MAX_COLS], fgcolor, bgcolor); SDL_SetColorKey (image, SDL_SRCCOLORKEY, SDL_MapRGB (image->format, bgcolor.r, bgcolor.g, bgcolor.b)); if (video.field_size == 16) { destrect = set_rect (xoffset + 129, yoffset + 105 + count * (FONTSIZE16 + video.field_size / 8), image->w, image->h); } else if (video.field_size == 32) { destrect = set_rect (xoffset + 258, yoffset + 210 + count * (FONTSIZE32 + video.field_size / 8), image->w, image->h); } SDL_BlitSurface (image, NULL, screen, &destrect); register_hotspot (HOTSPOTS_ID, HOTSPOTS_ID + 1 + count, destrect); SDL_FreeSurface (image); } /* Draw the current level */ /* < */ strcpy (tempstring, "< "); if (level_packs[selected_pack].level_selected > 1) { fgcolor.r = skins[selected_skin].menu_selected_text_colour >> 16 & 0xff; fgcolor.g = skins[selected_skin].menu_selected_text_colour >> 8 & 0xff; fgcolor.b = skins[selected_skin].menu_selected_text_colour & 0xff; } else { fgcolor.r = skins[selected_skin].menu_selected_limit_text_colour >> 16 & 0xff; fgcolor.g = skins[selected_skin].menu_selected_limit_text_colour >> 8 & 0xff; fgcolor.b = skins[selected_skin].menu_selected_limit_text_colour & 0xff; } image = TTF_RenderUTF8_Shaded (font, tempstring, fgcolor, bgcolor); SDL_SetColorKey (image, SDL_SRCCOLORKEY, SDL_MapRGB (image->format, bgcolor.r, bgcolor.g, bgcolor.b)); if (video.field_size == 16) { destrect = set_rect (xoffset + 164, yoffset + 117, image->w, image->h); } else if (video.field_size == 32) { destrect = set_rect (xoffset + 330, yoffset + 234, image->w, image->h); } SDL_BlitSurface (image, NULL, screen, &destrect); register_hotspot (HOTSPOTS_ID, HOTSPOTS_ID + 1 + INTRO_SCREEN_MENU_ITEM_LEVEL + INTRO_SCREEN_MENU_ITEM_COUNT, destrect); destrect.x += image->w; SDL_FreeSurface (image); /* 999 */ sprintf (tempstring, "%i %s %i", level_packs[selected_pack].level_selected, txt_of, level_packs[selected_pack].last_level); fgcolor.r = skins[selected_skin].general_text_colour >> 16 & 0xff; fgcolor.g = skins[selected_skin].general_text_colour >> 8 & 0xff; fgcolor.b = skins[selected_skin].general_text_colour & 0xff; image = TTF_RenderUTF8_Shaded (font, tempstring, fgcolor, bgcolor); SDL_SetColorKey (image, SDL_SRCCOLORKEY, SDL_MapRGB (image->format, bgcolor.r, bgcolor.g, bgcolor.b)); destrect.w = image->w; destrect.h = image->h; SDL_BlitSurface (image, NULL, screen, &destrect); destrect.x += image->w; SDL_FreeSurface (image); /* > */ strcpy (tempstring, " >"); if (level_packs[selected_pack].level_selected < level_packs[selected_pack].level_reached) { fgcolor.r = skins[selected_skin].menu_selected_text_colour >> 16 & 0xff; fgcolor.g = skins[selected_skin].menu_selected_text_colour >> 8 & 0xff; fgcolor.b = skins[selected_skin].menu_selected_text_colour & 0xff; } else { fgcolor.r = skins[selected_skin].menu_selected_limit_text_colour >> 16 & 0xff; fgcolor.g = skins[selected_skin].menu_selected_limit_text_colour >> 8 & 0xff; fgcolor.b = skins[selected_skin].menu_selected_limit_text_colour & 0xff; } image = TTF_RenderUTF8_Shaded (font, tempstring, fgcolor, bgcolor); SDL_SetColorKey (image, SDL_SRCCOLORKEY, SDL_MapRGB (image->format, bgcolor.r, bgcolor.g, bgcolor.b)); destrect.w = image->w; destrect.h = image->h; SDL_BlitSurface (image, NULL, screen, &destrect); register_hotspot (HOTSPOTS_ID, HOTSPOTS_ID + 1 + INTRO_SCREEN_MENU_ITEM_LEVEL + INTRO_SCREEN_MENU_ITEM_COUNT * 2, destrect); SDL_FreeSurface (image); /* Draw the current pack */ /* < */ strcpy (tempstring, "< "); if (selected_pack > 0) { fgcolor.r = skins[selected_skin].menu_selected_text_colour >> 16 & 0xff; fgcolor.g = skins[selected_skin].menu_selected_text_colour >> 8 & 0xff; fgcolor.b = skins[selected_skin].menu_selected_text_colour & 0xff; } else { fgcolor.r = skins[selected_skin].menu_selected_limit_text_colour >> 16 & 0xff; fgcolor.g = skins[selected_skin].menu_selected_limit_text_colour >> 8 & 0xff; fgcolor.b = skins[selected_skin].menu_selected_limit_text_colour & 0xff; } image = TTF_RenderUTF8_Shaded (font, tempstring, fgcolor, bgcolor); SDL_SetColorKey (image, SDL_SRCCOLORKEY, SDL_MapRGB (image->format, bgcolor.r, bgcolor.g, bgcolor.b)); if (video.field_size == 16) { destrect = set_rect (xoffset + 165, yoffset + 129, image->w, image->h); } else if (video.field_size == 32) { destrect = set_rect (xoffset + 330, yoffset + 258, image->w, image->h); } SDL_BlitSurface (image, NULL, screen, &destrect); register_hotspot (HOTSPOTS_ID, HOTSPOTS_ID + 1 + INTRO_SCREEN_MENU_ITEM_PACK + INTRO_SCREEN_MENU_ITEM_COUNT, destrect); destrect.x += image->w; SDL_FreeSurface (image); /* "Original" */ fgcolor.r = skins[selected_skin].general_text_colour >> 16 & 0xff; fgcolor.g = skins[selected_skin].general_text_colour >> 8 & 0xff; fgcolor.b = skins[selected_skin].general_text_colour & 0xff; image = TTF_RenderUTF8_Shaded (font, level_packs[selected_pack].name, fgcolor, bgcolor); SDL_SetColorKey (image, SDL_SRCCOLORKEY, SDL_MapRGB (image->format, bgcolor.r, bgcolor.g, bgcolor.b)); destrect.w = image->w; destrect.h = image->h; SDL_BlitSurface (image, NULL, screen, &destrect); destrect.x += image->w; SDL_FreeSurface (image); /* > */ strcpy (tempstring, " >"); if (selected_pack < found_pack_count - 1) { fgcolor.r = skins[selected_skin].menu_selected_text_colour >> 16 & 0xff; fgcolor.g = skins[selected_skin].menu_selected_text_colour >> 8 & 0xff; fgcolor.b = skins[selected_skin].menu_selected_text_colour & 0xff; } else { fgcolor.r = skins[selected_skin].menu_selected_limit_text_colour >> 16 & 0xff; fgcolor.g = skins[selected_skin].menu_selected_limit_text_colour >> 8 & 0xff; fgcolor.b = skins[selected_skin].menu_selected_limit_text_colour & 0xff; } image = TTF_RenderUTF8_Shaded (font, tempstring, fgcolor, bgcolor); SDL_SetColorKey (image, SDL_SRCCOLORKEY, SDL_MapRGB (image->format, bgcolor.r, bgcolor.g, bgcolor.b)); destrect.w = image->w; destrect.h = image->h; SDL_BlitSurface (image, NULL, screen, &destrect); register_hotspot (HOTSPOTS_ID, HOTSPOTS_ID + 1 + INTRO_SCREEN_MENU_ITEM_PACK + INTRO_SCREEN_MENU_ITEM_COUNT * 2, destrect); SDL_FreeSurface (image); } if (intro_screen.redraw >= REDRAW_ANIMATED) { /* Draw the horizontal line under the GNU Robbo banner */ if (video.field_size == 16) { destrect = set_rect (xoffset + 0, yoffset + 43, 240 - txtversionw, video.field_size / 8); } else if (video.field_size == 32) { destrect = set_rect (xoffset + 0, yoffset + 86, 480 - txtversionw, video.field_size / 8); } SDL_FillRect (screen, &destrect, SDL_MapRGB (screen->format, bannercolour[bannerframe] >> 16 & 0xff, bannercolour[bannerframe] >> 8 & 0xff, bannercolour[bannerframe] & 0xff)); /* Draw the horizontal line above the controls area */ destrect = set_rect (xoffset + 0, yoffset + 102 * video.field_size / 16, 240 * video.field_size / 16, video.field_size / 8); SDL_FillRect (screen, &destrect, SDL_MapRGB (screen->format, bannercolour[bannerframe] >> 16 & 0xff, bannercolour[bannerframe] >> 8 & 0xff, bannercolour[bannerframe] & 0xff)); /* Draw the horizontal line below the controls area */ destrect = set_rect (xoffset + 0, yoffset + 194 * video.field_size / 16, 240 * video.field_size / 16, video.field_size / 8); SDL_FillRect (screen, &destrect, SDL_MapRGB (screen->format, bannercolour[bannerframe] >> 16 & 0xff, bannercolour[bannerframe] >> 8 & 0xff, bannercolour[bannerframe] & 0xff)); /* Draw the vertical line to the left of the controls area */ destrect = set_rect (xoffset + 0, yoffset + 102 * video.field_size / 16, video.field_size / 8, 92 * video.field_size / 16); SDL_FillRect (screen, &destrect, SDL_MapRGB (screen->format, bannercolour[bannerframe] >> 16 & 0xff, bannercolour[bannerframe] >> 8 & 0xff, bannercolour[bannerframe] & 0xff)); /* Draw the vertical line in the middle of the controls area */ destrect = set_rect (xoffset + 123 * video.field_size / 16, yoffset + 102 * video.field_size / 16, video.field_size / 8, 92 * video.field_size / 16); SDL_FillRect (screen, &destrect, SDL_MapRGB (screen->format, bannercolour[bannerframe] >> 16 & 0xff, bannercolour[bannerframe] >> 8 & 0xff, bannercolour[bannerframe] & 0xff)); /* Draw the vertical line to the right of the controls area */ destrect = set_rect (xoffset + 238 * video.field_size / 16, yoffset + 102 * video.field_size / 16, video.field_size / 8, 92 * video.field_size / 16); SDL_FillRect (screen, &destrect, SDL_MapRGB (screen->format, bannercolour[bannerframe] >> 16 & 0xff, bannercolour[bannerframe] >> 8 & 0xff, bannercolour[bannerframe] & 0xff)); /* Draw the GNU Robbo banner */ if (video.field_size == 16) { show_banner (banner, xoffset + 0, yoffset + 6, 80, 8); } else if (video.field_size == 32) { show_banner (banner, xoffset + 40, yoffset + 19, 80, 8); } /* Update the banner colour frame */ if (--bannerstate <= 0) { bannerstate = DELAY_BANNER; if (++bannerframe >= BANNER_COLOURS) bannerframe = 0; } } intro_screen.redraw = 0; } /*************************************************************************** * Show Help Screen * ***************************************************************************/ /* help_screen.redraw now specifies how much is redrawn */ void show_helpscreen (void) { int xoffset, yoffset, yincrement = video.field_size + video.field_size / 4; int iconoffsets1[7 * 2] = { 52, 1, 103, 1, 137, 18, 86, 103, 120, 1, 137, 1, 1, 18 }; int iconoffsets2[7 * 2] = { 86, 1, 1, 1, 69, 1, 0, 0, 0, 0, 0, 0, 0, 0 }; int iconoffsets3[7 * 2] = { 0, 0, 0, 0, 0, 0, 86, 69, 86, 69, 86, 69, 0, 0 }; Uint32 tilecolour = skins[selected_skin].help_tile_colour; SDL_Rect srcrect, destrect; static int lastpage = 0; ROB_Object rob_object; char tempstring[256]; int count, tempframe; xoffset = (screen->w - video.field_size * 15) / 2 + video.xshift; yoffset = (screen->h - video.field_size * 15) / 2 + video.yshift; bgcolor.r = skins[selected_skin].background_colour >> 16 & 0xff; bgcolor.g = skins[selected_skin].background_colour >> 8 & 0xff; bgcolor.b = skins[selected_skin].background_colour & 0xff; fgcolor.r = skins[selected_skin].general_text_colour >> 16 & 0xff; fgcolor.g = skins[selected_skin].general_text_colour >> 8 & 0xff; fgcolor.b = skins[selected_skin].general_text_colour & 0xff; if (help_screen.redraw >= REDRAW_INITIALISE) { /* Reinitialise some variables */ /* Restore normal key/button repeat values for these keys */ user_controls[ACTION_UP].delay = KEY_REPEAT_DELAY; user_controls[ACTION_UP].interval = KEY_REPEAT_INTERVAL; user_controls[ACTION_UP_RIGHT].delay = KEY_REPEAT_DELAY; user_controls[ACTION_UP_RIGHT].interval = KEY_REPEAT_INTERVAL; user_controls[ACTION_RIGHT].delay = KEY_REPEAT_DELAY; user_controls[ACTION_RIGHT].interval = KEY_REPEAT_INTERVAL; user_controls[ACTION_DOWN_RIGHT].delay = KEY_REPEAT_DELAY; user_controls[ACTION_DOWN_RIGHT].interval = KEY_REPEAT_INTERVAL; user_controls[ACTION_DOWN].delay = KEY_REPEAT_DELAY; user_controls[ACTION_DOWN].interval = KEY_REPEAT_INTERVAL; user_controls[ACTION_DOWN_LEFT].delay = KEY_REPEAT_DELAY; user_controls[ACTION_DOWN_LEFT].interval = KEY_REPEAT_INTERVAL; user_controls[ACTION_LEFT].delay = KEY_REPEAT_DELAY; user_controls[ACTION_LEFT].interval = KEY_REPEAT_INTERVAL; user_controls[ACTION_UP_LEFT].delay = KEY_REPEAT_DELAY; user_controls[ACTION_UP_LEFT].interval = KEY_REPEAT_INTERVAL; user_controls[ACTION_SHOOT_UP].delay = KEY_REPEAT_DELAY; user_controls[ACTION_SHOOT_UP].interval = KEY_REPEAT_INTERVAL; user_controls[ACTION_SHOOT_DOWN].delay = KEY_REPEAT_DELAY; user_controls[ACTION_SHOOT_DOWN].interval = KEY_REPEAT_INTERVAL; user_controls[ACTION_SHOOT_LEFT].delay = KEY_REPEAT_DELAY; user_controls[ACTION_SHOOT_LEFT].interval = KEY_REPEAT_INTERVAL; user_controls[ACTION_SHOOT_RIGHT].delay = KEY_REPEAT_DELAY; user_controls[ACTION_SHOOT_RIGHT].interval = KEY_REPEAT_INTERVAL; user_controls[ACTION_PRIMARY_CLICK].delay = KEY_REPEAT_DELAY; user_controls[ACTION_PRIMARY_CLICK].interval = KEY_REPEAT_INTERVAL; /* Free all existing hotspots including the pob */ ROB_FreeAllDescendantObjects (ROB_GetObject (HOTSPOTS_ID), TRUE); /* Hide the pointer controls */ hide_pointer_controls (); /* Point the event processor to manage Help Screen events */ gnurobbo_op_env.event_processor = &help_screen_event_processor; if (ROB_SetOpEnvEventProcessor (gnurobbo_op_env.event_processor)) printf ("%s: %s\n", __func__, ROB_GetError ()); /* Create the hotspot parent object which will be used to identify the group */ if (ROB_SetObjectDefaults (&rob_object)) printf ("%s: %s\n", __func__, ROB_GetError ()); rob_object.id = HOTSPOTS_ID; if (ROB_CreateObject (&rob_object)) printf ("%s: %s\n", __func__, ROB_GetError ()); } #ifdef DEBUG_ROB_HOTSPOTS help_screen.redraw |= REDRAW_EVERYTHING; #endif if (help_screen.redraw >= REDRAW_EVERYTHING) { /* Monitor page changes and free any existing hotspots */ if (lastpage != helppage) { /* Free the existing hotspots from the last page */ ROB_FreeAllDescendantObjects (ROB_GetObject (HOTSPOTS_ID), FALSE); } lastpage = helppage; /* Set entire screen to a colour */ clear_screen (); if (helppage == 0) { /* Draw the help text */ for (count = 0; count < TXT_HELP_PAGE0_ROWS; count++) { image = TTF_RenderUTF8_Shaded (font, &txt_help_page0[count * TXT_MAX_COLS], fgcolor, bgcolor); SDL_SetColorKey (image, SDL_SRCCOLORKEY, SDL_MapRGB (image->format, bgcolor.r, bgcolor.g, bgcolor.b)); if (video.field_size == 16) { destrect = set_rect (xoffset + 2, yoffset + 57 + count * (FONTSIZE16 + video.field_size / 8), image->w, image->h); } else if (video.field_size == 32) { destrect = set_rect (xoffset + 4, yoffset + 104 + count * (FONTSIZE32 + video.field_size / 8), image->w, image->h); } SDL_BlitSurface (image, NULL, screen, &destrect); SDL_FreeSurface (image); } } else if (helppage == 1) { for (count = 0; count < TXT_HELP_PAGE1_ROWS; count++) { /* Draw the background tiles for the icons */ destrect = set_rect (xoffset + 2 * video.field_size / 16, yoffset + 57 * video.field_size / 16 + count * yincrement, video.field_size, video.field_size); SDL_FillRect (screen, &destrect, SDL_MapRGB (screen->format, tilecolour >> 16 & 0xff, tilecolour >> 8 & 0xff, tilecolour & 0xff)); /* Draw the icons */ srcrect = set_rect (iconoffsets1[count * 2] * video.field_size / 16, iconoffsets1[count * 2 + 1] * video.field_size / 16, video.field_size, video.field_size); destrect = set_rect (xoffset + 2 * video.field_size / 16, yoffset + 57 * video.field_size / 16 + count * yincrement, video.field_size, video.field_size); SDL_BlitSurface (icons, &srcrect, screen, &destrect); if (count == 4) { /* Draw the background tile for the door icon */ destrect = set_rect (xoffset + 2 * video.field_size / 16 + video.field_size * 1.5, yoffset + 57 * video.field_size / 16 + count * yincrement, video.field_size, video.field_size); SDL_FillRect (screen, &destrect, SDL_MapRGB (screen->format, tilecolour >> 16 & 0xff, tilecolour >> 8 & 0xff, tilecolour & 0xff)); /* Draw the door icon */ srcrect = set_rect (154 * video.field_size / 16, 1 * video.field_size / 16, video.field_size, video.field_size); SDL_BlitSurface (icons, &srcrect, screen, &destrect); } /* Draw the text for the icons */ image = TTF_RenderUTF8_Shaded (font, &txt_help_page1[count * TXT_MAX_COLS], fgcolor, bgcolor); if (count == 4) { destrect = set_rect (xoffset + 2 * video.field_size / 16 + video.field_size * 3, yoffset + 57 * video.field_size / 16 + count * yincrement, image->w, image->h); } else { destrect = set_rect (xoffset + 2 * video.field_size / 16 + video.field_size * 1.5, yoffset + 57 * video.field_size / 16 + count * yincrement, image->w, image->h); } SDL_BlitSurface (image, NULL, screen, &destrect); SDL_FreeSurface (image); } } else if (helppage == 2) { for (count = 0; count < TXT_HELP_PAGE2_ROWS; count++) { if (count < 3) { /* Draw the background tiles for the icons */ destrect = set_rect (xoffset + 2 * video.field_size / 16, yoffset + 57 * video.field_size / 16 + count * yincrement, video.field_size, video.field_size); SDL_FillRect (screen, &destrect, SDL_MapRGB (screen->format, tilecolour >> 16 & 0xff, tilecolour >> 8 & 0xff, tilecolour & 0xff)); /* Draw the icons */ srcrect = set_rect (iconoffsets2[count * 2] * video.field_size / 16, iconoffsets2[count * 2 + 1] * video.field_size / 16, video.field_size, video.field_size); destrect = set_rect (xoffset + 2 * video.field_size / 16, yoffset + 57 * video.field_size / 16 + count * yincrement, video.field_size, video.field_size); SDL_BlitSurface (icons, &srcrect, screen, &destrect); } /* Draw the text for the icons */ image = TTF_RenderUTF8_Shaded (font, &txt_help_page2[count * TXT_MAX_COLS], fgcolor, bgcolor); destrect = set_rect (xoffset + 2 * video.field_size / 16 + video.field_size * 1.5, yoffset + 57 * video.field_size / 16 + count * yincrement, image->w, image->h); SDL_BlitSurface (image, NULL, screen, &destrect); SDL_FreeSurface (image); } } else if (helppage == 3) { for (count = 0; count < TXT_HELP_PAGE3_ROWS; count++) { if (count > 2 && count < 6) { /* Draw the background tiles for the icons */ destrect = set_rect (xoffset + 2 * video.field_size / 16, yoffset + 57 * video.field_size / 16 + count * yincrement, video.field_size, video.field_size); SDL_FillRect (screen, &destrect, SDL_MapRGB (screen->format, tilecolour >> 16 & 0xff, tilecolour >> 8 & 0xff, tilecolour & 0xff)); /* Draw the icons */ srcrect = set_rect (iconoffsets3[count * 2] * video.field_size / 16, iconoffsets3[count * 2 + 1] * video.field_size / 16, video.field_size, video.field_size); destrect = set_rect (xoffset + 2 * video.field_size / 16, yoffset + 57 * video.field_size / 16 + count * yincrement, video.field_size, video.field_size); SDL_BlitSurface (icons, &srcrect, screen, &destrect); } /* Draw the text for the icons */ image = TTF_RenderUTF8_Shaded (font, &txt_help_page3[count * TXT_MAX_COLS], fgcolor, bgcolor); if (count >= 3 && count <= 5) { destrect = set_rect (xoffset + 2 * video.field_size / 16 + video.field_size * 6.5, yoffset + 57 * video.field_size / 16 + count * yincrement, image->w, image->h); } else { destrect = set_rect (xoffset + 2 * video.field_size / 16 + video.field_size * 1.5, yoffset + 57 * video.field_size / 16 + count * yincrement, image->w, image->h); } SDL_BlitSurface (image, NULL, screen, &destrect); SDL_FreeSurface (image); } } } if (help_screen.redraw >= REDRAW_INTERMEDIATE) { /* Exit */ if (helppageselecteditem == 1) { fgcolor.r = skins[selected_skin].menu_selected_text_colour >> 16 & 0xff; fgcolor.g = skins[selected_skin].menu_selected_text_colour >> 8 & 0xff; fgcolor.b = skins[selected_skin].menu_selected_text_colour & 0xff; } else { fgcolor.r = skins[selected_skin].menu_text_colour >> 16 & 0xff; fgcolor.g = skins[selected_skin].menu_text_colour >> 8 & 0xff; fgcolor.b = skins[selected_skin].menu_text_colour & 0xff; } sprintf (tempstring, "%s", txt_Exit); image = TTF_RenderUTF8_Shaded (font, tempstring, fgcolor, bgcolor); destrect = set_rect (xoffset + 240 * video.field_size / 16 / 2 - image->w / 2, yoffset + 220 * video.field_size / 16, image->w, image->h); SDL_BlitSurface (image, NULL, screen, &destrect); register_hotspot (HOTSPOTS_ID, HOTSPOTS_ID + 1 + 1, destrect); SDL_FreeSurface (image); if (helppage < HELP_SCREEN_PAGES - 1) { /* Next > */ if (helppageselecteditem == 2) { fgcolor.r = skins[selected_skin].menu_selected_text_colour >> 16 & 0xff; fgcolor.g = skins[selected_skin].menu_selected_text_colour >> 8 & 0xff; fgcolor.b = skins[selected_skin].menu_selected_text_colour & 0xff; } else { fgcolor.r = skins[selected_skin].menu_text_colour >> 16 & 0xff; fgcolor.g = skins[selected_skin].menu_text_colour >> 8 & 0xff; fgcolor.b = skins[selected_skin].menu_text_colour & 0xff; } sprintf (tempstring, "%s >", txt_Next); image = TTF_RenderUTF8_Shaded (font, tempstring, fgcolor, bgcolor); destrect = set_rect (xoffset + 238 * video.field_size / 16 - image->w, yoffset + 220 * video.field_size / 16, image->w, image->h); SDL_BlitSurface (image, NULL, screen, &destrect); register_hotspot (HOTSPOTS_ID, HOTSPOTS_ID + 1 + 2, destrect); SDL_FreeSurface (image); } if (helppage > 0) { /* < Back */ if (helppageselecteditem == 0) { fgcolor.r = skins[selected_skin].menu_selected_text_colour >> 16 & 0xff; fgcolor.g = skins[selected_skin].menu_selected_text_colour >> 8 & 0xff; fgcolor.b = skins[selected_skin].menu_selected_text_colour & 0xff; } else { fgcolor.r = skins[selected_skin].menu_text_colour >> 16 & 0xff; fgcolor.g = skins[selected_skin].menu_text_colour >> 8 & 0xff; fgcolor.b = skins[selected_skin].menu_text_colour & 0xff; } sprintf (tempstring, "< %s", txt_Back); image = TTF_RenderUTF8_Shaded (font, tempstring, fgcolor, bgcolor); destrect = set_rect (xoffset + 2 * video.field_size / 16, yoffset + 220 * video.field_size / 16, image->w, image->h); SDL_BlitSurface (image, NULL, screen, &destrect); register_hotspot (HOTSPOTS_ID, HOTSPOTS_ID + 1 + 0, destrect); SDL_FreeSurface (image); } } if (help_screen.redraw >= REDRAW_ANIMATED) { if (helppage == 2) { /* Animate the capsule */ srcrect = set_rect (capsuleoffsets[capsuleframe * 2] * video.field_size / 16, capsuleoffsets[capsuleframe * 2 + 1] * video.field_size / 16, video.field_size, video.field_size); destrect = set_rect (xoffset + 2 * video.field_size / 16, yoffset + 57 * video.field_size / 16 + 3 * yincrement, video.field_size, video.field_size); SDL_FillRect (screen, &destrect, SDL_MapRGB (screen->format, tilecolour >> 16 & 0xff, tilecolour >> 8 & 0xff, tilecolour & 0xff)); SDL_BlitSurface (icons, &srcrect, screen, &destrect); /* Update the capsule frame */ if (--capsulestate <= 0) { capsulestate = DELAY_CAPSULE; if (++capsuleframe > 1) capsuleframe = 0; } /* Animate the teleport */ srcrect = set_rect (teleportoffsets[teleportframe * 2] * video.field_size / 16, teleportoffsets[teleportframe * 2 + 1] * video.field_size / 16, video.field_size, video.field_size); destrect = set_rect (xoffset + 2 * video.field_size / 16, yoffset + 57 * video.field_size / 16 + 4 * yincrement, video.field_size, video.field_size); SDL_FillRect (screen, &destrect, SDL_MapRGB (screen->format, tilecolour >> 16 & 0xff, tilecolour >> 8 & 0xff, tilecolour & 0xff)); SDL_BlitSurface (icons, &srcrect, screen, &destrect); /* Update the teleport frame */ if (--teleportstate <= 0) { teleportstate = DELAY_TELEPORT; if (++teleportframe > 1) teleportframe = 0; } /* Animate the barrier */ srcrect = set_rect (barrieroffsets[barrierframe * 2] * video.field_size / 16, barrieroffsets[barrierframe * 2 + 1] * video.field_size / 16, video.field_size, video.field_size); destrect = set_rect (xoffset + 2 * video.field_size / 16, yoffset + 57 * video.field_size / 16 + 5 * yincrement, video.field_size, video.field_size); SDL_FillRect (screen, &destrect, SDL_MapRGB (screen->format, tilecolour >> 16 & 0xff, tilecolour >> 8 & 0xff, tilecolour & 0xff)); SDL_BlitSurface (icons, &srcrect, screen, &destrect); /* Update the barrier frame */ if (--barrierstate <= 0) { barrierstate = DELAY_BARRIER; if (++barrierframe > 1) barrierframe = 0; } /* Animate the butterfly */ srcrect = set_rect (butterflyoffsets[butterflyframe * 2] * video.field_size / 16, butterflyoffsets[butterflyframe * 2 + 1] * video.field_size / 16, video.field_size, video.field_size); destrect = set_rect (xoffset + 2 * video.field_size / 16, yoffset + 57 * video.field_size / 16 + 6 * yincrement, video.field_size, video.field_size); SDL_FillRect (screen, &destrect, SDL_MapRGB (screen->format, tilecolour >> 16 & 0xff, tilecolour >> 8 & 0xff, tilecolour & 0xff)); SDL_BlitSurface (icons, &srcrect, screen, &destrect); /* Update the butterfly frame */ if (--butterflystate <= 0) { butterflystate = DELAY_BUTTERFLY; if (++butterflyframe > 1) butterflyframe = 0; } } else if (helppage == 3) { /* Animate the bear */ srcrect = set_rect (bearoffsets[bearframe * 2] * video.field_size / 16, bearoffsets[bearframe * 2 + 1] * video.field_size / 16, video.field_size, video.field_size); destrect = set_rect (xoffset + 2 * video.field_size / 16, yoffset + 57 * video.field_size / 16, video.field_size, video.field_size); SDL_FillRect (screen, &destrect, SDL_MapRGB (screen->format, tilecolour >> 16 & 0xff, tilecolour >> 8 & 0xff, tilecolour & 0xff)); SDL_BlitSurface (icons, &srcrect, screen, &destrect); /* Update the bear frame */ if (--bearstate <= 0) { bearstate = DELAY_BEAR; if (++bearframe > 1) bearframe = 0; } /* Animate the blackbear */ srcrect = set_rect (blackbearoffsets[blackbearframe * 2] * video.field_size / 16, blackbearoffsets[blackbearframe * 2 + 1] * video.field_size / 16, video.field_size, video.field_size); destrect = set_rect (xoffset + 2 * video.field_size / 16, yoffset + 57 * video.field_size / 16 + 1 * yincrement, video.field_size, video.field_size); SDL_FillRect (screen, &destrect, SDL_MapRGB (screen->format, tilecolour >> 16 & 0xff, tilecolour >> 8 & 0xff, tilecolour & 0xff)); SDL_BlitSurface (icons, &srcrect, screen, &destrect); /* Update the blackbear frame */ if (--blackbearstate <= 0) { blackbearstate = DELAY_BEAR; if (++blackbearframe > 1) blackbearframe = 0; } /* Animate the bird */ srcrect = set_rect (birdoffsets[birdframe * 2] * video.field_size / 16, birdoffsets[birdframe * 2 + 1] * video.field_size / 16, video.field_size, video.field_size); destrect = set_rect (xoffset + 2 * video.field_size / 16, yoffset + 57 * video.field_size / 16 + 2 * yincrement, video.field_size, video.field_size); SDL_FillRect (screen, &destrect, SDL_MapRGB (screen->format, tilecolour >> 16 & 0xff, tilecolour >> 8 & 0xff, tilecolour & 0xff)); SDL_BlitSurface (icons, &srcrect, screen, &destrect); /* Update the bird frame */ if (--birdstate <= 0) { birdstate = DELAY_BIRD; if (++birdframe > 1) birdframe = 0; } /* Animate the gun */ tempframe = gunframe; destrect = set_rect (xoffset + 2 * video.field_size / 16 + video.field_size, yoffset + 57 * video.field_size / 16 + 3 * yincrement, video.field_size * 5, video.field_size); SDL_FillRect (screen, &destrect, SDL_MapRGB (screen->format, tilecolour >> 16 & 0xff, tilecolour >> 8 & 0xff, tilecolour & 0xff)); for (count = 0; count < 5; count++) { if (gunoffsets[tempframe * 2] != 0 && gunoffsets[tempframe * 2 + 1] != 0) { srcrect = set_rect (gunoffsets[tempframe * 2] * video.field_size / 16, gunoffsets[tempframe * 2 + 1] * video.field_size / 16, video.field_size, video.field_size); destrect = set_rect (xoffset + 2 * video.field_size / 16 + (count + 1) * video.field_size, yoffset + 57 * video.field_size / 16 + 3 * yincrement, video.field_size, video.field_size); SDL_BlitSurface (icons, &srcrect, screen, &destrect); } tempframe++; if (tempframe >= 25) tempframe = 0; } /* Update the gun frame */ if (--gunstate <= 0) { gunstate = DELAY_LASER; gunframe += 5; if (gunframe >= 25) gunframe = 0; } /* Animate the laser */ tempframe = laserframe; destrect = set_rect (xoffset + 2 * video.field_size / 16 + video.field_size, yoffset + 57 * video.field_size / 16 + 4 * yincrement, video.field_size * 5, video.field_size); SDL_FillRect (screen, &destrect, SDL_MapRGB (screen->format, tilecolour >> 16 & 0xff, tilecolour >> 8 & 0xff, tilecolour & 0xff)); for (count = 0; count < 5; count++) { if (laseroffsets[tempframe * 2] != 0 && laseroffsets[tempframe * 2 + 1] != 0) { srcrect = set_rect (laseroffsets[tempframe * 2] * video.field_size / 16, laseroffsets[tempframe * 2 + 1] * video.field_size / 16, video.field_size, video.field_size); destrect = set_rect (xoffset + 2 * video.field_size / 16 + (count + 1) * video.field_size, yoffset + 57 * video.field_size / 16 + 4 * yincrement, video.field_size, video.field_size); SDL_BlitSurface (icons, &srcrect, screen, &destrect); } tempframe++; if (tempframe >= 70) tempframe = 0; } /* Update the laser frame */ if (--laserstate <= 0) { laserframe += 5; if (laserframe >= 70) laserframe = 0; if (laserframe >= 45) laserstate = DELAY_LITTLE_BOOM; if (laserframe < 45) laserstate = DELAY_LASER; } /* Animate the blaster */ tempframe = blasterframe; destrect = set_rect (xoffset + 2 * video.field_size / 16 + video.field_size, yoffset + 57 * video.field_size / 16 + 5 * yincrement, video.field_size * 5, video.field_size); SDL_FillRect (screen, &destrect, SDL_MapRGB (screen->format, tilecolour >> 16 & 0xff, tilecolour >> 8 & 0xff, tilecolour & 0xff)); for (count = 0; count < 5; count++) { if (blasteroffsets[tempframe * 2] != 0 && blasteroffsets[tempframe * 2 + 1] != 0) { srcrect = set_rect (blasteroffsets[tempframe * 2] * video.field_size / 16, blasteroffsets[tempframe * 2 + 1] * video.field_size / 16, video.field_size, video.field_size); destrect = set_rect (xoffset + 2 * video.field_size / 16 + (count + 1) * video.field_size, yoffset + 57 * video.field_size / 16 + 5 * yincrement, video.field_size, video.field_size); SDL_BlitSurface (icons, &srcrect, screen, &destrect); } tempframe++; if (tempframe >= 45) tempframe = 0; } /* Update the blaster frame */ if (--blasterstate <= 0) { blasterstate = DELAY_LASER; blasterframe += 5; if (blasterframe >= 45) blasterframe = 0; } /* Animate Robbo */ srcrect = set_rect (robbooffsets[robboframe * 2] * video.field_size / 16, robbooffsets[robboframe * 2 + 1] * video.field_size / 16, video.field_size, video.field_size); destrect = set_rect (xoffset + 2 * video.field_size / 16, yoffset + 57 * video.field_size / 16 + 6 * yincrement, video.field_size, video.field_size); SDL_FillRect (screen, &destrect, SDL_MapRGB (screen->format, tilecolour >> 16 & 0xff, tilecolour >> 8 & 0xff, tilecolour & 0xff)); SDL_BlitSurface (icons, &srcrect, screen, &destrect); /* Update the Robbo frame */ if (--robbostate <= 0) { robbostate = DELAY_ROBBO; if (++robboframe > 1) robboframe = 0; } } /* Animate the Help banner */ /* Draw the horizontal line under the banner */ destrect = set_rect (xoffset + 0, yoffset + 43 * video.field_size / 16, 240 * video.field_size / 16, video.field_size / 8); SDL_FillRect (screen, &destrect, SDL_MapRGB (screen->format, bannercolour[bannerframe] >> 16 & 0xff, bannercolour[bannerframe] >> 8 & 0xff, bannercolour[bannerframe] & 0xff)); /* Draw the Help banner */ if (video.field_size == 16) { show_banner (helpscreenbanner, xoffset + video.field_size * 15 / 2 - 33 * 3 / 2, yoffset + 6, 33, 10); } else if (video.field_size == 32) { show_banner (helpscreenbanner, xoffset + video.field_size * 15 / 2 - 33 * 5 / 2, yoffset + 19, 33, 10); } /* Update the banner colour frame */ if (--bannerstate <= 0) { bannerstate = DELAY_BANNER; if (++bannerframe >= BANNER_COLOURS) bannerframe = 0; } } help_screen.redraw = 0; } /*************************************************************************** * Show Options Screen * ***************************************************************************/ /* Note that this function was becoming very large and so I've dispensed * with many of the if-then-else statements and simply started with a default * and then overridden it. Also I've placed certain related things together on * the same line and standardised everything to attempt to find patterns that * can be procedurised * * options_screen.redraw now specifies how much is redrawn */ void show_optionsscreen (void) { SDL_Color menu_text_colour, menu_greyed_text_colour; SDL_Color menu_selected_text_colour, menu_selected_limit_text_colour; SDL_Color fgcolour, bgcolour, general_text_colour; int xoffset, yoffset, count, optionid, action; SDL_Surface *icons_preview; static int lastpage = 0; ROB_Object rob_object; char tempstring[256]; SDL_Rect destrect; xoffset = (screen->w - video.field_size * 15) / 2 + video.xshift; yoffset = (screen->h - video.field_size * 15) / 2 + video.yshift; bgcolour.r = skins[selected_skin].background_colour >> 16 & 0xff; bgcolour.g = skins[selected_skin].background_colour >> 8 & 0xff; bgcolour.b = skins[selected_skin].background_colour & 0xff; general_text_colour.r = skins[selected_skin].general_text_colour >> 16 & 0xff; general_text_colour.g = skins[selected_skin].general_text_colour >> 8 & 0xff; general_text_colour.b = skins[selected_skin].general_text_colour & 0xff; menu_text_colour.r = skins[selected_skin].menu_text_colour >> 16 & 0xff; menu_text_colour.g = skins[selected_skin].menu_text_colour >> 8 & 0xff; menu_text_colour.b = skins[selected_skin].menu_text_colour & 0xff; menu_greyed_text_colour.r = skins[selected_skin].menu_greyed_text_colour >> 16 & 0xff; menu_greyed_text_colour.g = skins[selected_skin].menu_greyed_text_colour >> 8 & 0xff; menu_greyed_text_colour.b = skins[selected_skin].menu_greyed_text_colour & 0xff; menu_selected_text_colour.r = skins[selected_skin].menu_selected_text_colour >> 16 & 0xff; menu_selected_text_colour.g = skins[selected_skin].menu_selected_text_colour >> 8 & 0xff; menu_selected_text_colour.b = skins[selected_skin].menu_selected_text_colour & 0xff; menu_selected_limit_text_colour.r = skins[selected_skin].menu_selected_limit_text_colour >> 16 & 0xff; menu_selected_limit_text_colour.g = skins[selected_skin].menu_selected_limit_text_colour >> 8 & 0xff; menu_selected_limit_text_colour.b = skins[selected_skin].menu_selected_limit_text_colour & 0xff; if (options_screen.redraw >= REDRAW_INITIALISE) { /* Reinitialise some variables */ temp_game_cycle_limit = game_cycle_limit; temp_key_repeat_delay = key_repeat_delay; temp_key_repeat_interval = key_repeat_interval; temp_default_joystick = default_joystick; temp_joystick_dead_zone = joystick_dead_zone; temp_selected_locale = selected_locale; temp_rcfile_save_frequency = rcfile.save_frequency; temp_gnurobbo_op_env = gnurobbo_op_env; temp_pointer_controls = pointer_controls; temp_game_sound = sound; temp_sfx_vol = sfx_vol; temp_selected_skin = selected_skin; for (count = 0; count < USER_CONTROLS; count++) { temp_user_controls[count].device = user_controls[count].device; temp_user_controls[count].id = user_controls[count].id; temp_user_controls[count].mod = user_controls[count].mod; } /* Restore normal key/button repeat values for these keys */ user_controls[ACTION_UP].delay = KEY_REPEAT_DELAY; user_controls[ACTION_UP].interval = KEY_REPEAT_INTERVAL; user_controls[ACTION_UP_RIGHT].delay = KEY_REPEAT_DELAY; user_controls[ACTION_UP_RIGHT].interval = KEY_REPEAT_INTERVAL; user_controls[ACTION_RIGHT].delay = KEY_REPEAT_DELAY; user_controls[ACTION_RIGHT].interval = KEY_REPEAT_INTERVAL; user_controls[ACTION_DOWN_RIGHT].delay = KEY_REPEAT_DELAY; user_controls[ACTION_DOWN_RIGHT].interval = KEY_REPEAT_INTERVAL; user_controls[ACTION_DOWN].delay = KEY_REPEAT_DELAY; user_controls[ACTION_DOWN].interval = KEY_REPEAT_INTERVAL; user_controls[ACTION_DOWN_LEFT].delay = KEY_REPEAT_DELAY; user_controls[ACTION_DOWN_LEFT].interval = KEY_REPEAT_INTERVAL; user_controls[ACTION_LEFT].delay = KEY_REPEAT_DELAY; user_controls[ACTION_LEFT].interval = KEY_REPEAT_INTERVAL; user_controls[ACTION_UP_LEFT].delay = KEY_REPEAT_DELAY; user_controls[ACTION_UP_LEFT].interval = KEY_REPEAT_INTERVAL; user_controls[ACTION_SHOOT_UP].delay = KEY_REPEAT_DELAY; user_controls[ACTION_SHOOT_UP].interval = KEY_REPEAT_INTERVAL; user_controls[ACTION_SHOOT_DOWN].delay = KEY_REPEAT_DELAY; user_controls[ACTION_SHOOT_DOWN].interval = KEY_REPEAT_INTERVAL; user_controls[ACTION_SHOOT_LEFT].delay = KEY_REPEAT_DELAY; user_controls[ACTION_SHOOT_LEFT].interval = KEY_REPEAT_INTERVAL; user_controls[ACTION_SHOOT_RIGHT].delay = KEY_REPEAT_DELAY; user_controls[ACTION_SHOOT_RIGHT].interval = KEY_REPEAT_INTERVAL; user_controls[ACTION_PRIMARY_CLICK].delay = KEY_REPEAT_DELAY; user_controls[ACTION_PRIMARY_CLICK].interval = KEY_REPEAT_INTERVAL; /* Initialise the options array; items can be enabled/disabled * here at runtime. Set everything to TRUE and then disable the few */ for (count = 0; count < OPTIONS_COUNT; count++) { options[count] = TRUE; } options[0 * 13 + OPTIONS_MENUPOS_LEFT] = FALSE; options[OPTIONS_LANGUAGE + 1] = FALSE; options[0 * 13 + 2] = FALSE; /* Not currently used */ options[0 * 13 + 5] = FALSE; /* Not currently used */ options[0 * 13 + 8] = FALSE; /* Not currently used */ for (count = 1; count < OPTIONS_MENUPOS_LEFT; count++) { options[OPTIONS_SKIN + count] = FALSE; } #ifndef PLATFORM_PSP if (joystick_count == 0) #endif { options[OPTIONS_DEFAULT_JOYSTICK] = FALSE; options[OPTIONS_JOYSTICK_AXES_DEAD_ZONE] = FALSE; } options[OPTIONS_KEY_REPEAT_DELAY - 1] = FALSE; options[2 * 13 + 7] = FALSE; /* Not currently used */ for (count = 0; count < OPTIONS_MENUPOS_LEFT; count++) { options[OPTIONS_RECONFIGURATION_HELP + count] = FALSE; } options[(OPTIONS_SCREEN_PAGES - 1) * 13 + OPTIONS_MENUPOS_RIGHT] = FALSE; /* Disable Toggle Fullscreen on platforms that don't support this */ #if defined(PLATFORM_WIN32) || defined(PLATFORM_PC) #elif defined(PLATFORM_GP2X) options[OPTIONS_ACTION_TOGGLE_FULLSCREEN] = FALSE; #elif defined(PLATFORM_ZAURUS) options[OPTIONS_ACTION_TOGGLE_FULLSCREEN] = FALSE; #elif defined(PLATFORM_PSP) options[OPTIONS_ACTION_TOGGLE_FULLSCREEN] = FALSE; #endif /* Disable pointer options on platforms that don't support the mouse */ #if defined(PLATFORM_WIN32) || defined(PLATFORM_PC) #elif defined(PLATFORM_GP2X) #ifndef HAVE_DESIGNER /* F100 doesn't support the mouse, F200 does (or can) so * what happens here depends on HAVE_DESIGNER in the Makefile */ options[OPTIONS_ACTION_SCROLL_UP] = FALSE; options[OPTIONS_ACTION_SCROLL_DOWN] = FALSE; options[OPTIONS_ACTION_PRIMARY_CLICK] = FALSE; options[OPTIONS_SYSTEM_POINTER] = FALSE; options[OPTIONS_POINTER_CONTROLS_PAD_TYPE] = FALSE; #endif #elif defined(PLATFORM_ZAURUS) #elif defined(PLATFORM_PSP) options[OPTIONS_ACTION_SCROLL_UP] = FALSE; options[OPTIONS_ACTION_SCROLL_DOWN] = FALSE; options[OPTIONS_ACTION_PRIMARY_CLICK] = FALSE; options[OPTIONS_SYSTEM_POINTER] = FALSE; options[OPTIONS_POINTER_CONTROLS_PAD_TYPE] = FALSE; #endif /* Disable Toggle Designer if not enabled in the Makefile */ #ifndef HAVE_DESIGNER options[OPTIONS_ACTION_TOGGLE_DESIGNER] = FALSE; #endif /* Disable the diagonal controls for now as they're not currently * implemented and possibly they never will be (they were going * to be used by the ROB engine in the designer) */ options[4 * 13 + 1] = FALSE; options[4 * 13 + 3] = FALSE; options[4 * 13 + 5] = FALSE; options[4 * 13 + 7] = FALSE; /* If the currently selected item on any page is disabled * then advance it until an enabled one is found. This will be * the case only from the outset when each page's selected * item is set to 0 and this code helps to make the Options * behemoth more self configuring */ for (count = 0; count < OPTIONS_SCREEN_PAGES; count++) { while (!options[count * 13 + optionspageselecteditem[count]]) { optionspageselecteditem[count]++; if (optionspageselecteditem[count] >= OPTIONS_MENUPOS_LEFT) optionspageselecteditem[count] = OPTIONS_MENUPOS_EXIT; } } /* Free all existing hotspots including the pob */ ROB_FreeAllDescendantObjects (ROB_GetObject (HOTSPOTS_ID), TRUE); /* Hide the pointer controls */ hide_pointer_controls (); /* Point the event processor to manage Options Screen events */ gnurobbo_op_env.event_processor = &options_screen_event_processor; if (ROB_SetOpEnvEventProcessor (gnurobbo_op_env.event_processor)) printf ("%s: %s\n", __func__, ROB_GetError ()); /* Create the hotspot parent object which will be used to identify the group */ if (ROB_SetObjectDefaults (&rob_object)) printf ("%s: %s\n", __func__, ROB_GetError ()); rob_object.id = HOTSPOTS_ID; if (ROB_CreateObject (&rob_object)) printf ("%s: %s\n", __func__, ROB_GetError ()); } #ifdef DEBUG_ROB_HOTSPOTS options_screen.redraw |= REDRAW_EVERYTHING; #endif if (options_screen.redraw >= REDRAW_EVERYTHING) { /* Monitor page changes and free any existing hotspots */ if (lastpage != optionspage) { /* Free the existing hotspots from the last page */ ROB_FreeAllDescendantObjects (ROB_GetObject (HOTSPOTS_ID), FALSE); } lastpage = optionspage; /* Set entire screen to a colour */ clear_screen (); } if (options_screen.redraw >= REDRAW_INTERMEDIATE) { for (optionid = optionspage * 13; optionid < (optionspage + 1) * 13; optionid++) { if (optionid % 13 == OPTIONS_MENUPOS_LEFT) { if (options[optionid]) { /* < Back */ fgcolour = menu_text_colour; if (optionid % 13 == optionspageselecteditem[optionspage]) fgcolour = menu_selected_text_colour; sprintf (tempstring, "< %s", txt_Back); image = TTF_RenderUTF8_Shaded (font, tempstring, fgcolour, bgcolour); destrect = set_rect (xoffset + 2 * video.field_size / 16, yoffset + 220 * video.field_size / 16, image->w, image->h); SDL_BlitSurface (image, NULL, screen, &destrect); REGISTER_HOTSPOT_OPTIONS_SCREEN_OPT; destrect.x += image->w; SDL_FreeSurface (image); } } else if (optionid % 13 == OPTIONS_MENUPOS_SAVE) { /* Save */ fgcolour = menu_text_colour; if (optionid % 13 == optionspageselecteditem[optionspage]) fgcolour = menu_selected_text_colour; image = TTF_RenderUTF8_Shaded (font, txt_Save, fgcolour, bgcolour); destrect = set_rect (xoffset + 90 * video.field_size / 16 - image->w / 2, yoffset + 220 * video.field_size / 16, image->w, image->h); SDL_BlitSurface (image, NULL, screen, &destrect); REGISTER_HOTSPOT_OPTIONS_SCREEN_OPT; destrect.x += image->w; SDL_FreeSurface (image); } else if (optionid % 13 == OPTIONS_MENUPOS_EXIT) { /* Exit */ fgcolour = menu_text_colour; if (optionid % 13 == optionspageselecteditem[optionspage]) fgcolour = menu_selected_text_colour; image = TTF_RenderUTF8_Shaded (font, txt_Exit, fgcolour, bgcolour); destrect = set_rect (xoffset + 150 * video.field_size / 16 - image->w / 2, yoffset + 220 * video.field_size / 16, image->w, image->h); SDL_BlitSurface (image, NULL, screen, &destrect); REGISTER_HOTSPOT_OPTIONS_SCREEN_OPT; destrect.x += image->w; SDL_FreeSurface (image); } else if (optionid % 13 == OPTIONS_MENUPOS_RIGHT) { if (options[optionid]) { /* Page > */ fgcolour = menu_text_colour; if (optionid % 13 == optionspageselecteditem[optionspage]) fgcolour = menu_selected_text_colour; sprintf (tempstring, "%s >", txt_Next); image = TTF_RenderUTF8_Shaded (font, tempstring, fgcolour, bgcolour); destrect = set_rect (xoffset + 238 * video.field_size / 16 - image->w, yoffset + 220 * video.field_size / 16, image->w, image->h); SDL_BlitSurface (image, NULL, screen, &destrect); REGISTER_HOTSPOT_OPTIONS_SCREEN_OPT; destrect.x += image->w; SDL_FreeSurface (image); } } else if (optionid == OPTIONS_GAME_SPEED) { /***************************/ /* Game Speed */ /***************************/ fgcolour = menu_text_colour; if (optionid % 13 == optionspageselecteditem[optionspage]) fgcolour = menu_selected_text_colour; image = TTF_RenderUTF8_Shaded (font, txt_Game_Speed, fgcolour, bgcolour); destrect = set_rect (xoffset + 2 * video.field_size / 16, yoffset + 57 * video.field_size / 16 + (optionid % 13) * video.field_size, image->w, image->h); /* As this is the first hotspot being registered here, and in * fact the first one I coded I will explain how they work :- * The optionid (as listed in game.h) is added to the parentid * + 1, and so hotspotid - 1 - parentid returns the optionid. * Because the option text is just one part of the option, we * need to create ids for the "<" and ">" parts. I decided on * using "<" = optionid + OPTIONS_COUNT and ">" = optionid + * OPTIONS_COUNT * 2 because the three parts can be easily * identified with "n / OPTIONS_COUNT" and "n % OPTIONS_COUNT". * * When the user clicks these hotspots, the ROB engine will * send events to the event processor which in this case is * options_screen_event_processor() where they will be * processed and the relevant code executed. I recommend * enabling DEBUG_ROB_HOTSPOTS to see this in action :) */ SDL_BlitSurface (image, NULL, screen, &destrect); REGISTER_HOTSPOT_OPTIONS_SCREEN_OPT; destrect.x += image->w; SDL_FreeSurface (image); /* +< */ fgcolour = menu_selected_limit_text_colour; if (temp_game_cycle_limit < GAME_CYCLE_LIMIT_MAX) fgcolour = menu_selected_text_colour; image = TTF_RenderUTF8_Shaded (font, " +< ", fgcolour, bgcolour); destrect.w = image->w; destrect.h = image->h; SDL_BlitSurface (image, NULL, screen, &destrect); REGISTER_HOTSPOT_OPTIONS_SCREEN_DEC; destrect.x += image->w; SDL_FreeSurface (image); /* n */ fgcolour = general_text_colour; sprintf (tempstring, "%iHz", temp_game_cycle_limit); if (temp_game_cycle_limit == 33) sprintf (tempstring, "%s", txt_Fast); if (temp_game_cycle_limit == 25) sprintf (tempstring, "%s", txt_Normal); if (temp_game_cycle_limit == 20) sprintf (tempstring, "%s", txt_Slow); image = TTF_RenderUTF8_Shaded (font, tempstring, fgcolour, bgcolour); destrect.w = image->w; destrect.h = image->h; SDL_BlitSurface (image, NULL, screen, &destrect); destrect.x += image->w; SDL_FreeSurface (image); /* >- */ fgcolour = menu_selected_limit_text_colour; if (temp_game_cycle_limit > GAME_CYCLE_LIMIT_MIN) fgcolour = menu_selected_text_colour; image = TTF_RenderUTF8_Shaded (font, " >- ", fgcolour, bgcolour); destrect.w = image->w; destrect.h = image->h; SDL_BlitSurface (image, NULL, screen, &destrect); REGISTER_HOTSPOT_OPTIONS_SCREEN_INC; destrect.x += image->w; SDL_FreeSurface (image); } else if (optionid == OPTIONS_DEFAULT_JOYSTICK) { /***************************/ /* Default Joystick */ /***************************/ fgcolour = menu_text_colour; if (optionid % 13 == optionspageselecteditem[optionspage]) fgcolour = menu_selected_text_colour; if (!options[optionid]) fgcolour = menu_greyed_text_colour; image = TTF_RenderUTF8_Shaded (font, txt_Default_Joystick, fgcolour, bgcolour); destrect = set_rect (xoffset + 2 * video.field_size / 16, yoffset + 57 * video.field_size / 16 + (optionid % 13) * video.field_size, image->w, image->h); SDL_BlitSurface (image, NULL, screen, &destrect); REGISTER_HOTSPOT_OPTIONS_SCREEN_OPT; destrect.x += image->w; SDL_FreeSurface (image); /* < */ fgcolour = menu_selected_limit_text_colour; if (temp_default_joystick > 0) fgcolour = menu_selected_text_colour; if (!options[optionid]) fgcolour = menu_greyed_text_colour; image = TTF_RenderUTF8_Shaded (font, " < ", fgcolour, bgcolour); destrect.w = image->w; destrect.h = image->h; SDL_BlitSurface (image, NULL, screen, &destrect); REGISTER_HOTSPOT_OPTIONS_SCREEN_DEC; destrect.x += image->w; SDL_FreeSurface (image); /* Joystick name */ fgcolour = general_text_colour; if (joystick_count == 0) { strcpy (tempstring, txt_No_joystick_found); } else if (strlen (joystick_list[temp_default_joystick]) <= 28) { sprintf (tempstring, "%i:", temp_default_joystick); strcat (tempstring, joystick_list[temp_default_joystick]); } else { sprintf (tempstring, "%i:", temp_default_joystick); strncat (tempstring, joystick_list[temp_default_joystick], 28 - 3); /* Force string null termination in case max chars were copied */ tempstring[28 + 2 - 4] = 0; strcat (tempstring, "..."); } if (!options[optionid]) fgcolour = menu_greyed_text_colour; image = TTF_RenderUTF8_Shaded (font, tempstring, fgcolour, bgcolour); /* Does the area require erasing first? */ if (options_screen.redraw <= REDRAW_INTERMEDIATE) { destrect.w = video.field_size * 10; destrect.h = video.field_size; SDL_FillRect (screen, &destrect, SDL_MapRGB (screen->format, bgcolour.r, bgcolour.g, bgcolour.b)); } destrect.w = image->w; destrect.h = image->h; SDL_BlitSurface (image, NULL, screen, &destrect); destrect.x += image->w; SDL_FreeSurface (image); /* > */ fgcolour = menu_selected_limit_text_colour; if (temp_default_joystick < joystick_count - 1) fgcolour = menu_selected_text_colour; if (!options[optionid]) fgcolour = menu_greyed_text_colour; image = TTF_RenderUTF8_Shaded (font, " > ", fgcolour, bgcolour); destrect.w = image->w; destrect.h = image->h; SDL_BlitSurface (image, NULL, screen, &destrect); REGISTER_HOTSPOT_OPTIONS_SCREEN_INC; destrect.x += image->w; SDL_FreeSurface (image); } else if (optionid == OPTIONS_JOYSTICK_AXES_DEAD_ZONE) { /***************************/ /* Joystick Axes Dead Zone */ /***************************/ fgcolour = menu_text_colour; if (optionid % 13 == optionspageselecteditem[optionspage]) fgcolour = menu_selected_text_colour; if (!options[optionid]) fgcolour = menu_greyed_text_colour; image = TTF_RenderUTF8_Shaded (font, txt_Joystick_Axes_Dead_Zone, fgcolour, bgcolour); destrect = set_rect (xoffset + 2 * video.field_size / 16, yoffset + 57 * video.field_size / 16 + (optionid % 13) * video.field_size, image->w, image->h); SDL_BlitSurface (image, NULL, screen, &destrect); REGISTER_HOTSPOT_OPTIONS_SCREEN_OPT; destrect.x += image->w; SDL_FreeSurface (image); /* < */ fgcolour = menu_selected_limit_text_colour; if (temp_joystick_dead_zone > 1) fgcolour = menu_selected_text_colour; if (!options[optionid]) fgcolour = menu_greyed_text_colour; image = TTF_RenderUTF8_Shaded (font, " < ", fgcolour, bgcolour); destrect.w = image->w; destrect.h = image->h; SDL_BlitSurface (image, NULL, screen, &destrect); REGISTER_HOTSPOT_OPTIONS_SCREEN_DEC; destrect.x += image->w; SDL_FreeSurface (image); /* n% */ fgcolour = general_text_colour; if (!options[optionid]) fgcolour = menu_greyed_text_colour; sprintf (tempstring, "%i%%", temp_joystick_dead_zone); image = TTF_RenderUTF8_Shaded (font, tempstring, fgcolour, bgcolour); destrect.w = image->w; destrect.h = image->h; SDL_BlitSurface (image, NULL, screen, &destrect); destrect.x += image->w; SDL_FreeSurface (image); /* > */ fgcolour = menu_selected_limit_text_colour; if (temp_joystick_dead_zone < 99) fgcolour = menu_selected_text_colour; if (!options[optionid]) fgcolour = menu_greyed_text_colour; image = TTF_RenderUTF8_Shaded (font, " > ", fgcolour, bgcolour); destrect.w = image->w; destrect.h = image->h; SDL_BlitSurface (image, NULL, screen, &destrect); REGISTER_HOTSPOT_OPTIONS_SCREEN_INC; destrect.x += image->w; SDL_FreeSurface (image); } else if (optionid == OPTIONS_KEY_REPEAT_DELAY) { /***************************/ /* Key Repeat: */ /* Delay */ /***************************/ fgcolour = menu_text_colour; image = TTF_RenderUTF8_Shaded (font, txt_Key_Repeat, fgcolour, bgcolour); destrect = set_rect (xoffset + 2 * video.field_size / 16, yoffset + 57 * video.field_size / 16 + (optionid % 13 - 1) * video.field_size, image->w, image->h); SDL_BlitSurface (image, NULL, screen, &destrect); destrect.x += image->w; SDL_FreeSurface (image); /* Delay */ fgcolour = menu_text_colour; if (optionid % 13 == optionspageselecteditem[optionspage]) fgcolour = menu_selected_text_colour; image = TTF_RenderUTF8_Shaded (font, txt_Delay, fgcolour, bgcolour); destrect = set_rect (xoffset + 12 * video.field_size / 16, yoffset + 57 * video.field_size / 16 + (optionid % 13) * video.field_size, image->w, image->h); SDL_BlitSurface (image, NULL, screen, &destrect); REGISTER_HOTSPOT_OPTIONS_SCREEN_OPT; destrect.x += image->w; SDL_FreeSurface (image); /* < */ fgcolour = menu_selected_limit_text_colour; if (temp_key_repeat_delay > KEY_REPEAT_MIN) fgcolour = menu_selected_text_colour; image = TTF_RenderUTF8_Shaded (font, " +< ", fgcolour, bgcolour); destrect.w = image->w; destrect.h = image->h; SDL_BlitSurface (image, NULL, screen, &destrect); REGISTER_HOTSPOT_OPTIONS_SCREEN_DEC; destrect.x += image->w; SDL_FreeSurface (image); /* n */ fgcolour = general_text_colour; sprintf (tempstring, "%ims", temp_key_repeat_delay); image = TTF_RenderUTF8_Shaded (font, tempstring, fgcolour, bgcolour); destrect.w = image->w; destrect.h = image->h; SDL_BlitSurface (image, NULL, screen, &destrect); destrect.x += image->w; SDL_FreeSurface (image); /* > */ fgcolour = menu_selected_limit_text_colour; if (temp_key_repeat_delay < KEY_REPEAT_MAX) fgcolour = menu_selected_text_colour; image = TTF_RenderUTF8_Shaded (font, " >- ", fgcolour, bgcolour); destrect.w = image->w; destrect.h = image->h; SDL_BlitSurface (image, NULL, screen, &destrect); REGISTER_HOTSPOT_OPTIONS_SCREEN_INC; destrect.x += image->w; SDL_FreeSurface (image); } else if (optionid == OPTIONS_KEY_REPEAT_INTERVAL) { /***************************/ /* Key Repeat: */ /* Interval */ /***************************/ fgcolour = menu_text_colour; if (optionid % 13 == optionspageselecteditem[optionspage]) fgcolour = menu_selected_text_colour; image = TTF_RenderUTF8_Shaded (font, txt_Interval, fgcolour, bgcolour); destrect = set_rect (xoffset + 12 * video.field_size / 16, yoffset + 57 * video.field_size / 16 + (optionid % 13) * video.field_size, image->w, image->h); SDL_BlitSurface (image, NULL, screen, &destrect); REGISTER_HOTSPOT_OPTIONS_SCREEN_OPT; destrect.x += image->w; SDL_FreeSurface (image); /* < */ fgcolour = menu_selected_limit_text_colour; if (temp_key_repeat_interval > KEY_REPEAT_MIN) fgcolour = menu_selected_text_colour; image = TTF_RenderUTF8_Shaded (font, " +< ", fgcolour, bgcolour); destrect.w = image->w; destrect.h = image->h; SDL_BlitSurface (image, NULL, screen, &destrect); REGISTER_HOTSPOT_OPTIONS_SCREEN_DEC; destrect.x += image->w; SDL_FreeSurface (image); /* n */ fgcolour = general_text_colour; sprintf (tempstring, "%ims", temp_key_repeat_interval); image = TTF_RenderUTF8_Shaded (font, tempstring, fgcolour, bgcolour); destrect.w = image->w; destrect.h = image->h; SDL_BlitSurface (image, NULL, screen, &destrect); destrect.x += image->w; SDL_FreeSurface (image); /* > */ fgcolour = menu_selected_limit_text_colour; if (temp_key_repeat_interval < KEY_REPEAT_MAX) fgcolour = menu_selected_text_colour; image = TTF_RenderUTF8_Shaded (font, " >- ", fgcolour, bgcolour); destrect.w = image->w; destrect.h = image->h; SDL_BlitSurface (image, NULL, screen, &destrect); REGISTER_HOTSPOT_OPTIONS_SCREEN_INC; destrect.x += image->w; SDL_FreeSurface (image); } else if (optionid == OPTIONS_LANGUAGE) { /***************************/ /* Language */ /***************************/ fgcolour = menu_text_colour; if (optionid % 13 == optionspageselecteditem[optionspage]) fgcolour = menu_selected_text_colour; image = TTF_RenderUTF8_Shaded (font, txt_Language, fgcolour, bgcolour); destrect = set_rect (xoffset + 2 * video.field_size / 16, yoffset + 57 * video.field_size / 16 + (optionid % 13) * video.field_size, image->w, image->h); SDL_BlitSurface (image, NULL, screen, &destrect); REGISTER_HOTSPOT_OPTIONS_SCREEN_OPT; destrect.x += image->w; SDL_FreeSurface (image); /* < */ fgcolour = menu_selected_limit_text_colour; if (temp_selected_locale > 0) fgcolour = menu_selected_text_colour; image = TTF_RenderUTF8_Shaded (font, " < ", fgcolour, bgcolour); destrect.w = image->w; destrect.h = image->h; SDL_BlitSurface (image, NULL, screen, &destrect); REGISTER_HOTSPOT_OPTIONS_SCREEN_DEC; destrect.x += image->w; SDL_FreeSurface (image); /* Locale name */ fgcolour = general_text_colour; image = TTF_RenderUTF8_Shaded (font, locales[temp_selected_locale].name, fgcolour, bgcolour); destrect.w = image->w; destrect.h = image->h; SDL_BlitSurface (image, NULL, screen, &destrect); destrect.x += image->w; SDL_FreeSurface (image); /* > */ fgcolour = menu_selected_limit_text_colour; if (temp_selected_locale < locale_count - 1) fgcolour = menu_selected_text_colour; image = TTF_RenderUTF8_Shaded (font, " > ", fgcolour, bgcolour); destrect.w = image->w; destrect.h = image->h; SDL_BlitSurface (image, NULL, screen, &destrect); REGISTER_HOTSPOT_OPTIONS_SCREEN_INC; destrect.x += image->w; SDL_FreeSurface (image); /* By */ fgcolour = menu_text_colour; sprintf (tempstring, "%s ", txt_Translation_by); image = TTF_RenderUTF8_Shaded (font, tempstring, fgcolour, bgcolour); destrect = set_rect (xoffset + 2 * video.field_size / 16, yoffset + 57 * video.field_size / 16 + (optionid % 13 + 1) * video.field_size, image->w, image->h); SDL_BlitSurface (image, NULL, screen, &destrect); destrect.x += image->w; SDL_FreeSurface (image); /* Locale author */ fgcolour = general_text_colour; image = TTF_RenderUTF8_Shaded (font, locales[temp_selected_locale]. author, fgcolour, bgcolour); /* Does the area require erasing first? */ if (options_screen.redraw <= REDRAW_INTERMEDIATE) { destrect.w = video.field_size * 12; destrect.h = video.field_size; SDL_FillRect (screen, &destrect, SDL_MapRGB (screen->format, bgcolour.r, bgcolour.g, bgcolour.b)); } destrect.w = image->w; destrect.h = image->h; SDL_BlitSurface (image, NULL, screen, &destrect); destrect.x += image->w; SDL_FreeSurface (image); } else if (optionid == OPTIONS_SAVE_FREQUENCY) { /***************************/ /* Save Frequency */ /***************************/ fgcolour = menu_text_colour; if (optionid % 13 == optionspageselecteditem[optionspage]) fgcolour = menu_selected_text_colour; image = TTF_RenderUTF8_Shaded (font, txt_Save_Frequency, fgcolour, bgcolour); destrect = set_rect (xoffset + 2 * video.field_size / 16, yoffset + 57 * video.field_size / 16 + (optionid % 13) * video.field_size, image->w, image->h); SDL_BlitSurface (image, NULL, screen, &destrect); REGISTER_HOTSPOT_OPTIONS_SCREEN_OPT; destrect.x += image->w; SDL_FreeSurface (image); /* < */ fgcolour = menu_selected_limit_text_colour; if (temp_rcfile_save_frequency > 0) fgcolour = menu_selected_text_colour; image = TTF_RenderUTF8_Shaded (font, " < ", fgcolour, bgcolour); destrect.w = image->w; destrect.h = image->h; SDL_BlitSurface (image, NULL, screen, &destrect); REGISTER_HOTSPOT_OPTIONS_SCREEN_DEC; destrect.x += image->w; SDL_FreeSurface (image); /* On Exit / On Change */ fgcolour = general_text_colour; if (temp_rcfile_save_frequency == RCFILE_SAVE_ON_EXIT) sprintf (tempstring, "%s", txt_On_Exit); if (temp_rcfile_save_frequency == RCFILE_SAVE_ON_CHANGE) sprintf (tempstring, "%s", txt_On_Change); image = TTF_RenderUTF8_Shaded (font, tempstring, fgcolour, bgcolour); destrect.w = image->w; destrect.h = image->h; SDL_BlitSurface (image, NULL, screen, &destrect); destrect.x += image->w; SDL_FreeSurface (image); /* > */ fgcolour = menu_selected_limit_text_colour; if (temp_rcfile_save_frequency < 1) fgcolour = menu_selected_text_colour; image = TTF_RenderUTF8_Shaded (font, " > ", fgcolour, bgcolour); destrect.w = image->w; destrect.h = image->h; SDL_BlitSurface (image, NULL, screen, &destrect); REGISTER_HOTSPOT_OPTIONS_SCREEN_INC; destrect.x += image->w; SDL_FreeSurface (image); } else if (optionid == OPTIONS_RECONFIGURATION_HELP) { /********************************/ /* Control Reconfiguration Help */ /********************************/ fgcolour = general_text_colour; for (count = 0; count < TXT_OPTIONS_PAGE1_ROWS; count++) { image = TTF_RenderUTF8_Shaded (font, &txt_options_page1[count * TXT_MAX_COLS], fgcolour, bgcolour); SDL_SetColorKey (image, SDL_SRCCOLORKEY, SDL_MapRGB (image->format, bgcolour.r, bgcolour.g, bgcolour.b)); destrect.x = xoffset + 2 * video.field_size / 16; destrect.y = yoffset + 57 * video.field_size / 16 + (optionid % 13) * video.field_size; if (video.field_size == 16) destrect.y += count * (FONTSIZE16 + video.field_size / 8); if (video.field_size == 32) destrect.y += count * (FONTSIZE32 + video.field_size / 8); destrect.w = image->w; destrect.h = image->h; SDL_BlitSurface (image, NULL, screen, &destrect); destrect.x += image->w; SDL_FreeSurface (image); } } else if (optionid == OPTIONS_RESTORE_DEFAULT_CONTROLS) { /****************************/ /* Restore Default Controls */ /****************************/ fgcolour = menu_text_colour; if (optionid % 13 == optionspageselecteditem[optionspage]) fgcolour = menu_selected_text_colour; image = TTF_RenderUTF8_Shaded (font, txt_Restore_Default_Controls, fgcolour, bgcolour); destrect = set_rect (xoffset + 2 * video.field_size / 16, yoffset + 57 * video.field_size / 16 + (optionid % 13) * video.field_size, image->w, image->h); SDL_BlitSurface (image, NULL, screen, &destrect); REGISTER_HOTSPOT_OPTIONS_SCREEN_OPT; destrect.x += image->w; SDL_FreeSurface (image); } else if (optionid == OPTIONS_SYSTEM_POINTER) { /***************************/ /* System Pointer */ /***************************/ fgcolour = menu_text_colour; if (optionid % 13 == optionspageselecteditem[optionspage]) fgcolour = menu_selected_text_colour; if (!options[optionid]) fgcolour = menu_greyed_text_colour; image = TTF_RenderUTF8_Shaded (font, txt_System_Pointer, fgcolour, bgcolour); destrect = set_rect (xoffset + 2 * video.field_size / 16, yoffset + 57 * video.field_size / 16 + (optionid % 13) * video.field_size, image->w, image->h); SDL_BlitSurface (image, NULL, screen, &destrect); REGISTER_HOTSPOT_OPTIONS_SCREEN_OPT; destrect.x += image->w; SDL_FreeSurface (image); /* < */ fgcolour = menu_selected_limit_text_colour; if (!options[optionid]) fgcolour = menu_greyed_text_colour; if (temp_gnurobbo_op_env.systempointer > 0) fgcolour = menu_selected_text_colour; image = TTF_RenderUTF8_Shaded (font, " < ", fgcolour, bgcolour); destrect.w = image->w; destrect.h = image->h; SDL_BlitSurface (image, NULL, screen, &destrect); REGISTER_HOTSPOT_OPTIONS_SCREEN_DEC; destrect.x += image->w; SDL_FreeSurface (image); /* Disabled / Enabled */ fgcolour = general_text_colour; if (!options[optionid]) fgcolour = menu_greyed_text_colour; if (temp_gnurobbo_op_env.systempointer == FALSE) sprintf (tempstring, "%s", txt_Disabled); if (temp_gnurobbo_op_env.systempointer == TRUE) sprintf (tempstring, "%s", txt_Enabled); image = TTF_RenderUTF8_Shaded (font, tempstring, fgcolour, bgcolour); destrect.w = image->w; destrect.h = image->h; SDL_BlitSurface (image, NULL, screen, &destrect); destrect.x += image->w; SDL_FreeSurface (image); /* > */ fgcolour = menu_selected_limit_text_colour; if (temp_gnurobbo_op_env.systempointer < TRUE) fgcolour = menu_selected_text_colour; if (!options[optionid]) fgcolour = menu_greyed_text_colour; image = TTF_RenderUTF8_Shaded (font, " > ", fgcolour, bgcolour); destrect.w = image->w; destrect.h = image->h; SDL_BlitSurface (image, NULL, screen, &destrect); REGISTER_HOTSPOT_OPTIONS_SCREEN_INC; destrect.x += image->w; SDL_FreeSurface (image); } else if (optionid == OPTIONS_POINTER_CONTROLS_PAD_TYPE) { /*****************************/ /* Pointer Controls Pad Type */ /*****************************/ fgcolour = menu_text_colour; if (optionid % 13 == optionspageselecteditem[optionspage]) fgcolour = menu_selected_text_colour; if (!options[optionid]) fgcolour = menu_greyed_text_colour; image = TTF_RenderUTF8_Shaded (font, txt_Pointer_Controls_Pad_Type, fgcolour, bgcolour); destrect = set_rect (xoffset + 2 * video.field_size / 16, yoffset + 57 * video.field_size / 16 + (optionid % 13) * video.field_size, image->w, image->h); SDL_BlitSurface (image, NULL, screen, &destrect); REGISTER_HOTSPOT_OPTIONS_SCREEN_OPT; destrect.x += image->w; SDL_FreeSurface (image); /* < */ fgcolour = menu_selected_limit_text_colour; if (!options[optionid]) fgcolour = menu_greyed_text_colour; if (temp_pointer_controls.pad_type > POINTER_CONTROLS_PAD_TYPE_VIEWPORT) fgcolour = menu_selected_text_colour; image = TTF_RenderUTF8_Shaded (font, " < ", fgcolour, bgcolour); destrect.w = image->w; destrect.h = image->h; SDL_BlitSurface (image, NULL, screen, &destrect); REGISTER_HOTSPOT_OPTIONS_SCREEN_DEC; destrect.x += image->w; SDL_FreeSurface (image); /* Viewport / Screen */ fgcolour = general_text_colour; if (!options[optionid]) fgcolour = menu_greyed_text_colour; if (temp_pointer_controls.pad_type == POINTER_CONTROLS_PAD_TYPE_VIEWPORT) sprintf (tempstring, "%s", txt_Viewport); if (temp_pointer_controls.pad_type == POINTER_CONTROLS_PAD_TYPE_SCREEN) sprintf (tempstring, "%s", txt_Screen); image = TTF_RenderUTF8_Shaded (font, tempstring, fgcolour, bgcolour); destrect.w = image->w; destrect.h = image->h; SDL_BlitSurface (image, NULL, screen, &destrect); destrect.x += image->w; SDL_FreeSurface (image); /* > */ fgcolour = menu_selected_limit_text_colour; if (temp_pointer_controls.pad_type < POINTER_CONTROLS_PAD_TYPE_SCREEN) fgcolour = menu_selected_text_colour; if (!options[optionid]) fgcolour = menu_greyed_text_colour; image = TTF_RenderUTF8_Shaded (font, " > ", fgcolour, bgcolour); destrect.w = image->w; destrect.h = image->h; SDL_BlitSurface (image, NULL, screen, &destrect); REGISTER_HOTSPOT_OPTIONS_SCREEN_INC; destrect.x += image->w; SDL_FreeSurface (image); } else if (optionid == OPTIONS_SOUND) { /***************************/ /* Enable SOUND option */ /***************************/ fgcolour = menu_text_colour; if (optionid % 13 == optionspageselecteditem[optionspage]) fgcolour = menu_selected_text_colour; sprintf (tempstring, "%s", txt_Sound); image = TTF_RenderUTF8_Shaded (font, tempstring, fgcolour, bgcolour); destrect = set_rect (xoffset + 2 * video.field_size / 16, yoffset + 57 * video.field_size / 16 + (optionid % 13) * video.field_size, image->w, image->h); SDL_BlitSurface (image, NULL, screen, &destrect); REGISTER_HOTSPOT_OPTIONS_SCREEN_OPT; destrect.x += image->w; SDL_FreeSurface (image); fgcolour = menu_selected_limit_text_colour; if (temp_game_sound > 0) fgcolour = menu_selected_text_colour; image = TTF_RenderUTF8_Shaded (font, " < ", fgcolour, bgcolour); destrect.w = image->w; destrect.h = image->h; SDL_BlitSurface (image, NULL, screen, &destrect); REGISTER_HOTSPOT_OPTIONS_SCREEN_DEC; destrect.x += image->w; SDL_FreeSurface (image); fgcolour = general_text_colour; if (temp_game_sound == 0) sprintf (tempstring, "%s", txt_Disabled); if (temp_game_sound == 1) sprintf (tempstring, "%s", txt_Enabled); image = TTF_RenderUTF8_Shaded (font, tempstring, fgcolour, bgcolour); destrect.w = image->w; destrect.h = image->h; SDL_BlitSurface (image, NULL, screen, &destrect); destrect.x += image->w; SDL_FreeSurface (image); /* >- */ fgcolour = menu_selected_limit_text_colour; if (temp_game_sound < 1) fgcolour = menu_selected_text_colour; image = TTF_RenderUTF8_Shaded (font, " > ", fgcolour, bgcolour); destrect.w = image->w; destrect.h = image->h; SDL_BlitSurface (image, NULL, screen, &destrect); REGISTER_HOTSPOT_OPTIONS_SCREEN_INC; destrect.x += image->w; SDL_FreeSurface (image); } else if (optionid == OPTIONS_SFX_VOL) { /***************************/ /* Sound FX volume option */ /***************************/ fgcolour = menu_text_colour; if (optionid % 13 == optionspageselecteditem[optionspage]) fgcolour = menu_selected_text_colour; sprintf (tempstring, "%s", txt_Sfx_Volume); image = TTF_RenderUTF8_Shaded (font, tempstring, fgcolour, bgcolour); destrect = set_rect (xoffset + 2 * video.field_size / 16, yoffset + 57 * video.field_size / 16 + (optionid % 13) * video.field_size, image->w, image->h); SDL_BlitSurface (image, NULL, screen, &destrect); REGISTER_HOTSPOT_OPTIONS_SCREEN_OPT; destrect.x += image->w; SDL_FreeSurface (image); fgcolour = menu_selected_limit_text_colour; if (temp_sfx_vol > 0) fgcolour = menu_selected_text_colour; image = TTF_RenderUTF8_Shaded (font, " < ", fgcolour, bgcolour); destrect.w = image->w; destrect.h = image->h; SDL_BlitSurface (image, NULL, screen, &destrect); REGISTER_HOTSPOT_OPTIONS_SCREEN_DEC; destrect.x += image->w; SDL_FreeSurface (image); fgcolour = general_text_colour; sprintf (tempstring, "%d", temp_sfx_vol); image = TTF_RenderUTF8_Shaded (font, tempstring, fgcolour, bgcolour); destrect.w = image->w; destrect.h = image->h; SDL_BlitSurface (image, NULL, screen, &destrect); destrect.x += image->w; SDL_FreeSurface (image); fgcolour = menu_selected_limit_text_colour; if (temp_sfx_vol < 128) fgcolour = menu_selected_text_colour; image = TTF_RenderUTF8_Shaded (font, " > ", fgcolour, bgcolour); destrect.w = image->w; destrect.h = image->h; SDL_BlitSurface (image, NULL, screen, &destrect); REGISTER_HOTSPOT_OPTIONS_SCREEN_INC; destrect.x += image->w; SDL_FreeSurface (image); } else if (optionid >= OPTIONS_ACTION_UP && optionid <= OPTIONS_ACTION_PRIMARY_CLICK) { /***************************/ /* Action */ /***************************/ fgcolour = menu_text_colour; if (optionid % 13 == optionspageselecteditem[optionspage]) fgcolour = menu_selected_text_colour; if (!options[optionid]) fgcolour = menu_greyed_text_colour; action = optionid - OPTIONS_ACTION_UP - ((optionid - OPTIONS_ACTION_UP) / 13) * 4; if (action == ACTION_UP) { sprintf (tempstring, "%s ", txt_Move_Up); } else if (action == ACTION_UP_RIGHT) { sprintf (tempstring, "%s ", txt_Move_Up_Right); } else if (action == ACTION_RIGHT) { sprintf (tempstring, "%s ", txt_Move_Right); } else if (action == ACTION_DOWN_RIGHT) { sprintf (tempstring, "%s ", txt_Move_Down_Right); } else if (action == ACTION_DOWN) { sprintf (tempstring, "%s ", txt_Move_Down); } else if (action == ACTION_DOWN_LEFT) { sprintf (tempstring, "%s ", txt_Move_Down_Left); } else if (action == ACTION_LEFT) { sprintf (tempstring, "%s ", txt_Move_Left); } else if (action == ACTION_UP_LEFT) { sprintf (tempstring, "%s ", txt_Move_Up_Left); } else if (action == ACTION_RESTART) { sprintf (tempstring, "%s ", txt_Restart); } else if (action == ACTION_SHOOT_UP) { sprintf (tempstring, "%s ", txt_Shoot_Up); } else if (action == ACTION_SHOOT_DOWN) { sprintf (tempstring, "%s ", txt_Shoot_Down); } else if (action == ACTION_SHOOT_LEFT) { sprintf (tempstring, "%s ", txt_Shoot_Left); } else if (action == ACTION_SHOOT_RIGHT) { sprintf (tempstring, "%s ", txt_Shoot_Right); } else if (action == ACTION_SELECT) { sprintf (tempstring, "%s ", txt_Confirm); } else if (action == ACTION_EXIT) { sprintf (tempstring, "%s ", txt_Exit); } else if (action == ACTION_HELP) { sprintf (tempstring, "%s ", txt_Help); } else if (action == ACTION_OPTIONS) { sprintf (tempstring, "%s ", txt_Options); } else if (action == ACTION_TOGGLE_FULLSCREEN) { sprintf (tempstring, "%s ", txt_Toggle_Fullscreen); } else if (action == ACTION_PREVIOUS_LEVEL) { sprintf (tempstring, "%s ", txt_Previous_Level); } else if (action == ACTION_NEXT_LEVEL) { sprintf (tempstring, "%s ", txt_Next_Level); } else if (action == ACTION_PREVIOUS_PACK) { sprintf (tempstring, "%s ", txt_Previous_Pack); } else if (action == ACTION_NEXT_PACK) { sprintf (tempstring, "%s ", txt_Next_Pack); } else if (action == ACTION_HOME) { sprintf (tempstring, "%s ", txt_Home); } else if (action == ACTION_END) { sprintf (tempstring, "%s ", txt_End); } else if (action == ACTION_PAGEUP) { sprintf (tempstring, "%s ", txt_Page_Up); } else if (action == ACTION_PAGEDOWN) { sprintf (tempstring, "%s ", txt_Page_Down); } else if (action == ACTION_TOGGLE_DESIGNER) { sprintf (tempstring, "%s ", txt_Toggle_Designer); } else if (action == ACTION_VOLUP) { sprintf (tempstring, "%s ", txt_Volume_Up); } else if (action == ACTION_VOLDOWN) { sprintf (tempstring, "%s ", txt_Volume_Down); } else if (action >= ACTION_MODIFIER1 && action <= ACTION_MODIFIER4) { sprintf (tempstring, "%s%i ", txt_Modifier, action - ACTION_MODIFIER1 + 1); } else if (action == ACTION_SCROLL_UP) { sprintf (tempstring, "%s ", txt_Scroll_Up); } else if (action == ACTION_SCROLL_DOWN) { sprintf (tempstring, "%s ", txt_Scroll_Down); } else if (action == ACTION_PRIMARY_CLICK) { sprintf (tempstring, "%s ", txt_Primary_Click); } else { sprintf (tempstring, "%s %i", "Unknown", action); } image = TTF_RenderUTF8_Shaded (font, tempstring, fgcolour, bgcolour); destrect = set_rect (xoffset + 2 * video.field_size / 16, yoffset + 57 * video.field_size / 16 + (optionid % 13) * video.field_size, image->w, image->h); SDL_BlitSurface (image, NULL, screen, &destrect); REGISTER_HOTSPOT_OPTIONS_SCREEN_OPT; destrect.x += image->w; SDL_FreeSurface (image); /* device */ fgcolour = general_text_colour; if (!options[optionid]) fgcolour = menu_greyed_text_colour; destrect.x = xoffset + 110 * video.field_size / 16; if (temp_user_controls[action].device == UNDEFINED) sprintf (tempstring, "%s", "-"); if (temp_user_controls[action].device == DEVICE_KEYBOARD) sprintf (tempstring, "%s: ", txt_Key); if (temp_user_controls[action].device == DEVICE_JOYSTICK) sprintf (tempstring, "%s: ", txt_Joy); if (temp_user_controls[action].device == DEVICE_MOUSE) sprintf (tempstring, "%s: ", txt_Ptr); image = TTF_RenderUTF8_Shaded (font, tempstring, fgcolour, bgcolour); /* Does the area require erasing first? */ if (options_screen.redraw <= REDRAW_INTERMEDIATE) { destrect.w = 130 * video.field_size / 16; destrect.h = image->h; SDL_FillRect (screen, &destrect, SDL_MapRGB (screen->format, bgcolour.r, bgcolour.g, bgcolour.b)); } destrect.w = image->w; destrect.h = image->h; SDL_BlitSurface (image, NULL, screen, &destrect); destrect.x += image->w; SDL_FreeSurface (image); /* id */ if (temp_user_controls[action].id == UNDEFINED) { sprintf (tempstring, "%s ", "-"); } else { if (joystick_count > 0) { get_input_device_text (temp_user_controls[action].device, temp_user_controls[action].id, joystick_list [temp_default_joystick], tempstring); } else { get_input_device_text (temp_user_controls[action].device, temp_user_controls[action].id, "", tempstring); } sprintf (tempstring, "%s ", tempstring); } image = TTF_RenderUTF8_Shaded (font, tempstring, fgcolour, bgcolour); destrect.w = image->w; destrect.h = image->h; SDL_BlitSurface (image, NULL, screen, &destrect); destrect.x += image->w; SDL_FreeSurface (image); /* < */ if (action < ACTION_MODIFIER1 || action > ACTION_MODIFIER4) { destrect.x = xoffset + 190 * video.field_size / 16; fgcolour = menu_selected_limit_text_colour; if (temp_user_controls[action].mod != UNDEFINED) fgcolour = menu_selected_text_colour; if (temp_user_controls[action].device == UNDEFINED) fgcolour = menu_greyed_text_colour; if (!options[optionid]) fgcolour = menu_greyed_text_colour; image = TTF_RenderUTF8_Shaded (font, "< ", fgcolour, bgcolour); destrect.w = image->w; destrect.h = image->h; SDL_BlitSurface (image, NULL, screen, &destrect); REGISTER_HOTSPOT_OPTIONS_SCREEN_DEC; destrect.x += image->w; SDL_FreeSurface (image); /* mod */ fgcolour = general_text_colour; if (temp_user_controls[action].device == UNDEFINED) fgcolour = menu_greyed_text_colour; if (!options[optionid]) fgcolour = menu_greyed_text_colour; if (temp_user_controls[action].mod == UNDEFINED) { sprintf (tempstring, "%s", "--"); } else { sprintf (tempstring, "%s%i", txt_Mod, temp_user_controls[action].mod - ACTION_MODIFIER1 + 1); } image = TTF_RenderUTF8_Shaded (font, tempstring, fgcolour, bgcolour); destrect.w = image->w; destrect.h = image->h; SDL_BlitSurface (image, NULL, screen, &destrect); destrect.x += image->w; SDL_FreeSurface (image); /* > */ fgcolour = menu_selected_limit_text_colour; if (temp_user_controls[action].mod < ACTION_MODIFIER4) fgcolour = menu_selected_text_colour; if (temp_user_controls[action].device == UNDEFINED) fgcolour = menu_greyed_text_colour; if (!options[optionid]) fgcolour = menu_greyed_text_colour; image = TTF_RenderUTF8_Shaded (font, " > ", fgcolour, bgcolour); destrect.w = image->w; destrect.h = image->h; SDL_BlitSurface (image, NULL, screen, &destrect); REGISTER_HOTSPOT_OPTIONS_SCREEN_INC; destrect.x += image->w; SDL_FreeSurface (image); } } else if (optionid == OPTIONS_SKIN) { /***************************/ /* Skin */ /***************************/ fgcolour = menu_text_colour; if (optionid % 13 == optionspageselecteditem[optionspage]) fgcolour = menu_selected_text_colour; image = TTF_RenderUTF8_Shaded (font, txt_Skin, fgcolour, bgcolour); destrect = set_rect (xoffset + 2 * video.field_size / 16, yoffset + 57 * video.field_size / 16 + (optionid % 13) * video.field_size, image->w, image->h); SDL_BlitSurface (image, NULL, screen, &destrect); REGISTER_HOTSPOT_OPTIONS_SCREEN_OPT; destrect.x += image->w; SDL_FreeSurface (image); /* < */ fgcolour = menu_selected_limit_text_colour; if (temp_selected_skin > 0) fgcolour = menu_selected_text_colour; image = TTF_RenderUTF8_Shaded (font, " < ", fgcolour, bgcolour); destrect.w = image->w; destrect.h = image->h; SDL_BlitSurface (image, NULL, screen, &destrect); REGISTER_HOTSPOT_OPTIONS_SCREEN_DEC; destrect.x += image->w; SDL_FreeSurface (image); /* Skin name */ fgcolour = general_text_colour; image = TTF_RenderUTF8_Shaded (font, skins[temp_selected_skin].name, fgcolour, bgcolour); /* Does the area require erasing first? */ if (options_screen.redraw <= REDRAW_INTERMEDIATE) { destrect.w = video.field_size * 13; destrect.h = video.field_size; SDL_FillRect (screen, &destrect, SDL_MapRGB (screen->format, bgcolour.r, bgcolour.g, bgcolour.b)); } destrect.w = image->w; destrect.h = image->h; SDL_BlitSurface (image, NULL, screen, &destrect); destrect.x += image->w; SDL_FreeSurface (image); /* > */ fgcolour = menu_selected_limit_text_colour; if (temp_selected_skin < skin_count - 1) fgcolour = menu_selected_text_colour; image = TTF_RenderUTF8_Shaded (font, " > ", fgcolour, bgcolour); destrect.w = image->w; destrect.h = image->h; SDL_BlitSurface (image, NULL, screen, &destrect); REGISTER_HOTSPOT_OPTIONS_SCREEN_INC; destrect.x += image->w; SDL_FreeSurface (image); /* By */ fgcolour = menu_text_colour; sprintf (tempstring, "%s ", txt_By); image = TTF_RenderUTF8_Shaded (font, tempstring, fgcolour, bgcolour); destrect = set_rect (xoffset + 2 * video.field_size / 16, yoffset + 57 * video.field_size / 16 + (optionid % 13 + 1) * video.field_size, image->w, image->h); SDL_BlitSurface (image, NULL, screen, &destrect); destrect.x += image->w; SDL_FreeSurface (image); /* Skin author */ fgcolour = general_text_colour; image = TTF_RenderUTF8_Shaded (font, skins[temp_selected_skin].author, fgcolour, bgcolour); /* Does the area require erasing first? */ if (options_screen.redraw <= REDRAW_INTERMEDIATE) { destrect.w = video.field_size * 14; destrect.h = video.field_size; SDL_FillRect (screen, &destrect, SDL_MapRGB (screen->format, bgcolour.r, bgcolour.g, bgcolour.b)); } destrect.w = image->w; destrect.h = image->h; SDL_BlitSurface (image, NULL, screen, &destrect); destrect.x += image->w; SDL_FreeSurface (image); /* Skin about */ fgcolour = general_text_colour; destrect = set_rect (xoffset + 2 * video.field_size / 16, yoffset + 57 * video.field_size / 16 + (optionid % 13 + 2) * video.field_size, 240 * video.field_size / 16, 3 * video.field_size); /* Does the area require erasing first? */ if (options_screen.redraw <= REDRAW_INTERMEDIATE) { SDL_FillRect (screen, &destrect, SDL_MapRGB (screen->format, bgcolour.r, bgcolour.g, bgcolour.b)); } for (count = 0; count < 3; count++) { image = TTF_RenderUTF8_Shaded (font, skins[temp_selected_skin]. about[count], fgcolour, bgcolour); SDL_SetColorKey (image, SDL_SRCCOLORKEY, SDL_MapRGB (image->format, bgcolour.r, bgcolour.g, bgcolour.b)); destrect.w = image->w; destrect.h = image->h; SDL_BlitSurface (image, NULL, screen, &destrect); SDL_FreeSurface (image); if (video.field_size == 16) destrect.y += FONTSIZE16 + video.field_size / 8; if (video.field_size == 32) destrect.y += FONTSIZE32 + video.field_size / 8; } /* Draw the icons preview image */ icons_preview = create_skin_preview (); destrect = set_rect (xoffset + video.field_size * 15 / 2 - icons_preview->w / 2, yoffset + 57 * video.field_size / 16 + (optionid % 13 + 5) * video.field_size, icons_preview->w, icons_preview->h); SDL_BlitSurface (icons_preview, NULL, screen, &destrect); SDL_FreeSurface (icons_preview); } } } if (options_screen.redraw >= REDRAW_ANIMATED) { /* Animate the Options banner */ /* Draw the horizontal line under the banner */ destrect = set_rect (xoffset + 0, yoffset + 43 * video.field_size / 16, 240 * video.field_size / 16, video.field_size / 8); SDL_FillRect (screen, &destrect, SDL_MapRGB (screen->format, bannercolour[bannerframe] >> 16 & 0xff, bannercolour[bannerframe] >> 8 & 0xff, bannercolour[bannerframe] & 0xff)); /* Draw the Options banner */ if (video.field_size == 16) { show_banner (optionsscreenbanner, xoffset + video.field_size * 15 / 2 - 60 * 3 / 2, yoffset + 6, 60, 10); } else if (video.field_size == 32) { show_banner (optionsscreenbanner, xoffset + video.field_size * 15 / 2 - 60 * 5 / 2, yoffset + 19, 60, 10); } /* Update the banner colour frame */ if (--bannerstate <= 0) { bannerstate = DELAY_BANNER; if (++bannerframe >= BANNER_COLOURS) bannerframe = 0; } } options_screen.redraw = 0; } /*************************************************************************** * Show Message Box * ***************************************************************************/ /* This displays one very simple msgbox over the screen at once. Drawing a new msgbox will automatically kill any existing one. Examples -------- To initialise :- strcpy(temp_msg_box.name, "id101"); strcpy(temp_msg_box.message, "my message"); temp_msg_box.timeout = 33; temp_msg_box.dynamic = FALSE; temp_msg_box.w = 6 * video.field_size; temp_msg_box.h = 2 * video.field_size; show_message_box(MESSAGE_BOX_SUB_INITIALISE, &temp_msg_box); To redraw after you've rebuilt your screen :- show_message_box(MESSAGE_BOX_SUB_SHOW, NULL); To kill an existing box :- show_message_box(MESSAGE_BOX_SUB_KILL, NULL); */ void show_message_box (int subfunction, MSG_Box * msg_box) { static int bannerstate = 0, bannerframe = 0; static MSG_Box the_box; SDL_Rect destrect; if (subfunction == MESSAGE_BOX_SUB_INITIALISE && msg_box != NULL) { /* If there's currently an existing msgbox active then kill it first */ if (the_box.timeout > 0) show_message_box (MESSAGE_BOX_SUB_KILL, NULL); /* Create a local copy of the passed msgbox */ the_box = *msg_box; if (strlen (the_box.message) == 0) strcpy (the_box.message, " "); /* This stops SDL_ttf from seg faulting on NULL strings >( */ /* Render the text so we can get its size in image->w and image->h */ bgcolor.r = skins[selected_skin].background_colour >> 16 & 0xff; bgcolor.g = skins[selected_skin].background_colour >> 8 & 0xff; bgcolor.b = skins[selected_skin].background_colour & 0xff; fgcolor.r = skins[selected_skin].general_text_colour >> 16 & 0xff; fgcolor.g = skins[selected_skin].general_text_colour >> 8 & 0xff; fgcolor.b = skins[selected_skin].general_text_colour & 0xff; image = TTF_RenderUTF8_Shaded (font, the_box.message, fgcolor, bgcolor); /* Calculate some dimensions */ if (the_box.dynamic) { the_box.w = image->w + video.field_size; the_box.h = image->h + video.field_size; } SDL_FreeSurface (image); the_box.x = (screen->w - the_box.w) / 2; the_box.y = (screen->h - the_box.h) / 2; the_box.bartopleftx = the_box.x + video.field_size / 8; the_box.bartoplefty = the_box.y + video.field_size / 8; the_box.barbottomrightx = the_box.x + the_box.w - video.field_size / 4; the_box.barbottomrighty = the_box.y + the_box.h - video.field_size / 4; #ifdef DEBUG_MESSAGE_BOX printf ("*** Start %s ***\n", __func__); printf ("the_box.w=%i the_box.h=%i\n", the_box.w, the_box.h); printf ("*** Stop %s ***\n", __func__); #endif } else if ((subfunction == MESSAGE_BOX_SUB_SHOW || subfunction == MESSAGE_BOX_SUB_KILL) && the_box.timeout > 0) { /* Kill the box if requested by showing one last time and rebuilding the screen */ if (subfunction == MESSAGE_BOX_SUB_KILL) the_box.timeout = 1; /* Draw box background */ bgcolor.r = skins[selected_skin].background_colour >> 16 & 0xff; bgcolor.g = skins[selected_skin].background_colour >> 8 & 0xff; bgcolor.b = skins[selected_skin].background_colour & 0xff; destrect = set_rect (the_box.x, the_box.y, the_box.w, the_box.h); SDL_FillRect (screen, &destrect, SDL_MapRGB (screen->format, bgcolor.r, bgcolor.g, bgcolor.b)); /* Draw top bar */ destrect = set_rect (the_box.bartopleftx, the_box.bartoplefty, the_box.barbottomrightx - the_box.bartopleftx, video.field_size / 8); SDL_FillRect (screen, &destrect, SDL_MapRGB (screen->format, bannercolour[bannerframe] >> 16 & 0xff, bannercolour[bannerframe] >> 8 & 0xff, bannercolour[bannerframe] & 0xff)); /* Draw bottom bar */ destrect = set_rect (the_box.bartopleftx, the_box.barbottomrighty, the_box.barbottomrightx - the_box.bartopleftx, video.field_size / 8); SDL_FillRect (screen, &destrect, SDL_MapRGB (screen->format, bannercolour[bannerframe] >> 16 & 0xff, bannercolour[bannerframe] >> 8 & 0xff, bannercolour[bannerframe] & 0xff)); /* Draw left bar */ destrect = set_rect (the_box.bartopleftx, the_box.bartoplefty, video.field_size / 8, the_box.barbottomrighty - the_box.bartoplefty); SDL_FillRect (screen, &destrect, SDL_MapRGB (screen->format, bannercolour[bannerframe] >> 16 & 0xff, bannercolour[bannerframe] >> 8 & 0xff, bannercolour[bannerframe] & 0xff)); /* Draw right bar */ destrect = set_rect (the_box.barbottomrightx, the_box.bartoplefty, video.field_size / 8, the_box.barbottomrighty - the_box.bartoplefty + video.field_size / 8); SDL_FillRect (screen, &destrect, SDL_MapRGB (screen->format, bannercolour[bannerframe] >> 16 & 0xff, bannercolour[bannerframe] >> 8 & 0xff, bannercolour[bannerframe] & 0xff)); /* Update the banner colour frame */ if (--bannerstate <= 0) { bannerstate = DELAY_BANNER; if (++bannerframe >= BANNER_COLOURS) bannerframe = 0; } /* Write message */ fgcolor.r = skins[selected_skin].general_text_colour >> 16 & 0xff; fgcolor.g = skins[selected_skin].general_text_colour >> 8 & 0xff; fgcolor.b = skins[selected_skin].general_text_colour & 0xff; image = TTF_RenderUTF8_Shaded (font, the_box.message, fgcolor, bgcolor); destrect = set_rect (the_box.x + (the_box.w - image->w) / 2, the_box.y + (the_box.h - image->h) / 2, image->w, image->h); SDL_BlitSurface (image, NULL, screen, &destrect); SDL_FreeSurface (image); /* Decrement the timeout and rebuild the screen if it times out */ if (--the_box.timeout == 0) { the_box.timeout--; /* Restore/rebuild the screen */ if (game_mode == DESIGNER_ON) { game_area.redraw |= REDRAW_EVERYTHING; } else if (game_mode == INTRO_SCREEN) { intro_screen.redraw |= REDRAW_EVERYTHING; } else if (game_mode == GAME_ON) { game_area.redraw |= REDRAW_EVERYTHING; } else if (game_mode == END_SCREEN) { /* show_endscreen(); Redundant */ } else if (game_mode == HELP_SCREEN) { help_screen.redraw |= REDRAW_EVERYTHING; } else if (game_mode == OPTIONS_SCREEN) { options_screen.redraw |= REDRAW_EVERYTHING; } } } } /*************************************************************************** * Show Banner * ***************************************************************************/ /* On entry: banner points to the banner array xpos and ypos are the screen offsets to draw it width and height are the dimensions of the banner array */ void show_banner (char *banner[], int xpos, int ypos, int width, int height) { SDL_Rect destrect; int x, y, frame = bannerframe; for (y = 0; y < height; y++) { for (x = 0; x < width; x++) { if (banner[y][x] != '.') { if (video.field_size == 16) { destrect = set_rect (x * 3 + xpos, y * 4 + ypos, 2, 3); } else { destrect = set_rect (x * 5 + xpos, y * 7 + ypos, 4, 6); } SDL_FillRect (screen, &destrect, SDL_MapRGB (screen->format, bannercolour[frame] >> 16 & 0xff, bannercolour[frame] >> 8 & 0xff, bannercolour[frame] & 0xff)); } } frame++; if (frame >= BANNER_COLOURS) frame = 0; } } /*************************************************************************** * Write LCD Char * ***************************************************************************/ /* As we only have uppercase letters, numbers and a hyphon spread across multiple surfaces, this function will manage them. On entry: lcdchar = char to write xpos and ypos are the screen offsets to draw it */ void write_lcd_char (char lcdchar, int xpos, int ypos) { SDL_Rect srcrect, destrect; destrect = set_rect (xpos, ypos, video.field_size / 2, video.field_size); /* Force lowercase uppercase */ if (lcdchar >= 'a' && lcdchar <= 'z') lcdchar -= 0x20; if (lcdchar >= 'A' && lcdchar <= 'Z') { srcrect = set_rect ((lcdchar - 'A') * (video.field_size / 2 + video.field_size / 16), 0, video.field_size / 2, video.field_size); SDL_BlitSurface (alpha, &srcrect, screen, &destrect); } else if (lcdchar >= '0' && lcdchar <= '9') { srcrect = set_rect ((lcdchar - '0') * (video.field_size / 2 + video.field_size / 16), 0, video.field_size / 2, video.field_size); SDL_BlitSurface (ciphers, &srcrect, screen, &destrect); } else if (lcdchar == '-') { srcrect = set_rect (26 * (video.field_size / 2 + video.field_size / 16), 0, video.field_size / 2, video.field_size); SDL_BlitSurface (alpha, &srcrect, screen, &destrect); } else { /* Drop everything else */ } } /*************************************************************************** * Show End Screen * ***************************************************************************/ /* Currently this only shows a congratulatory message although I may add some funny animations such as Robbo being chased across the screen by bears and the capsule zooming up screen etc. */ void show_endscreen (void) { int count, xoffset, yoffset; SDL_Rect destrect; xoffset = (screen->w - video.field_size * 15) / 2 + video.xshift; yoffset = (screen->h - video.field_size * 15) / 2 + video.field_size * 15 / 2 - video.field_size * 3 / 2 + video.yshift; /* Manage the pointer controls which will have been created by now */ show_pointer_controls (); if (pointer_controls.state == POINTER_CONTROLS_MODE_ON) { /* Hide the pad as it won't be needed here */ hide_pointer_controls_pad (); /* Hide most of the toolbar buttons as they won't be needed here */ ROB_GetObject (POINTER_CONTROLS_TOOLBAR_OPTIONS_ID)->visible = FALSE; ROB_GetObject (POINTER_CONTROLS_TOOLBAR_DESIGNER_ID)->visible = FALSE; ROB_GetObject (POINTER_CONTROLS_TOOLBAR_RESTART_ID)->visible = FALSE; ROB_GetObject (POINTER_CONTROLS_TOOLBAR_HIDE_ID)->visible = FALSE; } clear_screen (); bgcolor.r = skins[selected_skin].background_colour >> 16 & 0xff; bgcolor.g = skins[selected_skin].background_colour >> 8 & 0xff; bgcolor.b = skins[selected_skin].background_colour & 0xff; fgcolor.r = skins[selected_skin].general_text_colour >> 16 & 0xff; fgcolor.g = skins[selected_skin].general_text_colour >> 8 & 0xff; fgcolor.b = skins[selected_skin].general_text_colour & 0xff; for (count = 0; count < TXT_ENDSCREEN_CONGRATS_ROWS; count++) { image = TTF_RenderUTF8_Shaded (font, &txt_endscreen_congrats[count * TXT_MAX_COLS], fgcolor, bgcolor); destrect = set_rect (xoffset + video.field_size * 15 / 2 - image->w / 2, yoffset + count * video.field_size, image->w, image->h); SDL_BlitSurface (image, NULL, screen, &destrect); SDL_FreeSurface (image); } } /*************************************************************************** * Register Hotspot * ***************************************************************************/ /* This function registers transparent pointer hotspots that are placed over menu items. Technically it is creating ROB objects and attaching them to an already existing parent object. Note that this will be called again to register the same objects as the calling function will be rebuilding the screen, therefore the existence of the object is checked for first before being updated with the latest coords and dimensions. If you enable DEBUG_ROB_HOTSPOTS you will be able to see the semi-opaque hotspots over the menu items and you can drag them around the screen */ /* On entry: pid = the parent object id id = the id for this new object destrect = the object dimensions */ void register_hotspot (int pid, int id, SDL_Rect destrect) { ROB_Object rob_object, *hotspot; /* Create the object if it doesn't already exist */ if ((hotspot = ROB_GetObject (id)) == NULL) { if (ROB_SetObjectDefaults (&rob_object)) printf ("%s: %s\n", __func__, ROB_GetError ()); rob_object.id = id; rob_object.pid = pid; if (ROB_CreateObject (&rob_object)) printf ("%s: %s\n", __func__, ROB_GetError ()); #ifdef DEBUG_ROB_HOTSPOTS if ((hotspot = ROB_GetObject (id)) != NULL) { hotspot->x = destrect.x; hotspot->y = destrect.y; hotspot->w = destrect.w; hotspot->h = destrect.h; hotspot->alpha = 128; hotspot->bgcolour = 0x808000; hotspot->bgcolour_over = 0xff8000; hotspot->draggable = ROB_DRAG_ANYWHERE; } #endif } /* Update the object properties */ if ((hotspot = ROB_GetObject (id)) != NULL) { #ifndef DEBUG_ROB_HOTSPOTS hotspot->x = destrect.x; hotspot->y = destrect.y; hotspot->w = destrect.w; hotspot->h = destrect.h; #endif } } gnurobbo-0.66+dfsg/konstruktor.c0000644000175000017500000013715111437444027016026 0ustar stevesteve/* * GNU Robbo Copyright (C) 2002-2010 The GNU Robbo Team (see AUTHORS). * GNU Robbo is free software - you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by the * Free Software Foundation; either version 2, or (at your option) any * later version. GNU Robbo is distributed in the hope that it will be * useful, but WITHOUT ANY WARRANTY; without even the impled warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. You should have received a * copy of the GNU General Public License along with GNU CC; see the file * COPYING. If not, write to the Free Software Foundation, 59 Temple Place * - Suite 330, Boston, MA 02111-1307, USA. */ #include "game.h" int viewh; /* * first we declare all the objects on the objects bar */ struct k_icon_init K_icons_list[] = { {12, 8, KGAMEOBJ, EMPTY_FIELD, -1}, {3, 6, KGAMEOBJ, ROBBO, 0}, {1, 1, KGAMEOBJ, MAGNET, 0}, {2, 1, KGAMEOBJ, MAGNET, 2}, {1, 7, KGAMEOBJ, MAGNET, 1}, {2, 7, KGAMEOBJ, MAGNET, 3}, {6, 5, KGAMEOBJ, GUN, 0,}, {8, 5, KGAMEOBJ, GUN, 2}, {7, 5, KGAMEOBJ, GUN, 1}, {9, 5, KGAMEOBJ, GUN, 3}, {2, 2, KGAMEOBJ, BEAR, -1}, {7, 3, KGAMEOBJ, BEAR_B, -1}, {9, 3, KGAMEOBJ, BUTTERFLY, -1}, {4, 2, KGAMEOBJ, BIRD, -1}, {1, 2, KGAMEOBJ, QUESTIONMARK, -1}, {5, 1, KGAMEOBJ, SCREW, -1}, {6, 1, KGAMEOBJ, BULLET, -1}, {7, 1, KGAMEOBJ, BOX, -1}, {8, 1, KGAMEOBJ, KEY, -1}, {9, 1, KGAMEOBJ, BOMB, -1}, {10, 1, KGAMEOBJ, DOOR, -1}, {6, 2, KGAMEOBJ, CAPSULE, -1}, {7, 7, KGAMEOBJ, PUSH_BOX, -1}, {3, 7, KGAMEOBJ, RADIOACTIVE_FIELD, -1}, {5, 7, KGAMEOBJ, STOP, -1}, {10, 4, KGAMEOBJ, BARRIER, -1}, {1, 5, KGAMEOBJ, TELEPORT, -1}, {6, 7, KGAMEOBJ, GROUND, -1}, {3, 1, KGAMEOBJ, WALL, -1}, {1, 4, KGAMEOBJ, K_LASER, -1}, {0, 0, KOBJ_S, K_LTYPE, -1}, {0, 0, KOBJ_S, K_RMSTATE, -1}, {0, 0, KOBJ_S, K_DIRECTION, -1}, {6, 2, KOBJ_S, K_ERASER, -1}, {6, 4, KOBJ_S, K_INSERT, -1}, {6, 3, KOBJ_S, K_SAVE, -1}, {8, 7, KOBJ_S, K_RELOAD, -1}, {6, 5, KOBJ_S, K_SIZE, -1}, {8, 5, KOBJ_V, K_EXIT, 0}, {1, 1, KOBJ_V, -1, 0}, {8, 3, KOBJ_V, K_SCROLL2, 0}, {8, 1, KOBJ_V, K_SCROLL, 0}, {8, 2, KOBJ_V, K_SCROLL, 2}, {8, 4, KOBJ_V, K_SCROLL2, 2}, /* * horizontal scrolls should at the end */ {9, 4, KOBJ_V, K_SCROLL2, 1}, {9, 2, KOBJ_V, K_SCROLL, 1}, {9, 1, KOBJ_V, K_SCROLL, 3}, {9, 3, KOBJ_V, K_SCROLL2, 3}, {-1, -1, -1, -1, -1,} }; struct k_icons K_icons[K_MAXICONS]; /* * designer state variables */ /* * I decided to use global config for all objects added to the board, this * way writting of the designer is easier */ int teleportnr = 1; /* teleport number */ int direction = 0; /* direction, it is the movement direction */ int ltype = 0; /* laser type */ int rotable = 0; /* gun rotable */ int shooting = 0; /* bird shooting flag */ int movable = 0; /* movable flag */ int rmstate = 0; int eraser = 0; /* unused */ int insert = 0; /* flag that shows if we would insert * level, during save, or replace */ int gsize = 0; int bombtype=0; /* regular bomb */ int wallnumber = 0; int selected = -1; /* selected icon */ int txt_x, txt_y; int lastselected = 0; void k_init_icons() { int x1 = 0, x2 = k_view.w, y1 = k_view.h, y2 = 0; int cnt = 0; for (cnt = 0; K_icons_list[cnt].x != -1; cnt++) { /* * if horizontal scroll icons not needed, not draw them */ if (K_icons_list[cnt].type == KOBJ_V && (K_icons_list[cnt].game_obj == K_SCROLL || K_icons_list[cnt].game_obj == K_SCROLL2) && (K_icons_list[cnt].state % 2 == 1)) { if (level.w <= k_view.w) { K_icons[cnt].x = -1; continue; } } if (K_icons_list[cnt].type == KBREAKLINE) { y1++; x1 = 0; continue; } if (K_icons_list[cnt].game_obj == EMPTY_FIELD) selected = cnt; K_icons[cnt].x = K_icons_list[cnt].x; K_icons[cnt].y = K_icons_list[cnt].y; K_icons[cnt].game_obj = K_icons_list[cnt].game_obj; K_icons[cnt].redraw = 1; K_icons[cnt].type = K_icons_list[cnt].type; K_icons[cnt].blink = 0; K_icons[cnt].direction = K_icons_list[cnt].state; switch (K_icons_list[cnt].type) { case KGAMEOBJ: K_icons[cnt].blink2 = 0; case KOBJ_S: if (x1 >= k_view.w) { x1 = 0; y1++; } K_icons[cnt].scrx = x1++; K_icons[cnt].scry = y1; break; case KOBJ_V: K_icons[cnt].scrx = x2; K_icons[cnt].scry = y2++; break; } } K_icons[cnt].x = -1; K_icons[cnt].y = -1; } /* * this will initialize konstruktor viewport * a bit copied from level_init from level.h. */ void konstruktor_viewport_init() { int icons; int designersize; /* Count the number of icons used at the bottom of the screen */ for (icons = 0; K_icons_list[icons].x != -1 && K_icons_list[icons].type != KOBJ_V; icons++); /* Set viewport as wide as possible */ k_view.w = level.w; /* Enforce a minimum width */ if (k_view.w < DEFAULT_VIEWPORT_WIDTH - 2) k_view.w = DEFAULT_VIEWPORT_WIDTH - 2; /* Now adjust it to fit within the dimensions of the * screen allowing for the scroll controls column */ if (k_view.w >= screen->w / video.field_size - 1) k_view.w = screen->w / video.field_size - 1; /* Set the xoffset and centre the viewport */ k_view.offsetx = (screen->w - (k_view.w + 1) * video.field_size) / 2 + video.xshift; /* Calculate the depth of the icons and text area */ designersize = icons / k_view.w + 1; if ((icons % k_view.w) && (k_view.w - icons % k_view.w < DEFAULT_VIEWPORT_WIDTH - 1)) designersize++; /* Set viewport as high as possible */ k_view.h = level.h; /* Enforce a minimum height */ if (k_view.h < DEFAULT_VIEWPORT_HEIGHT - 1 - designersize) k_view.h = DEFAULT_VIEWPORT_HEIGHT - 1 - designersize; /* Now adjust it to fit within the dimensions of the screen * allowing for the authorline, scoreline, icons and text area */ if (k_view.h >= screen->h / video.field_size - 3 - designersize) k_view.h = screen->h / video.field_size - 3 - designersize; /* Set the yoffset and centre the viewport */ k_view.offsety = (screen->h - (k_view.h + designersize) * video.field_size) / 2 + video.yshift; /* Calculate the position of the text area */ txt_x = icons % k_view.w; if (k_view.w - icons % k_view.w < DEFAULT_VIEWPORT_WIDTH - 1) txt_x = 0; txt_y = k_view.h + designersize - 1; /* Set the authorline yoffset */ authorline.yoffset = k_view.offsety - video.field_size * 1.25; /* Set the scoreline yoffset */ scoreline.yoffset = k_view.offsety + (k_view.h + designersize + 0.25) * video.field_size; } /* * * initialize Designer * * */ int konstruktor_init() { hide_pointer_controls(); /* hide pointer controls, so it will not * go in the way */ gsize = -1; /* -1 means custom size, this can happen */ inforedraw = 1; lastclick = 0; clear_screen(); level_init(); if (level.w == 16 && level.h == 31) gsize = 0; else if (level.w == 32 && level.h == 31) gsize = 1; inforedraw = 1; sprintf(infostring, txt_konstruktor_Welcome_to_GNU_Robbo_Designer); robbo.keys = k_count_obj(KEY); /* count keys on a map */ robbo.bullets = k_count_obj(BULLET) * 9; /* count bullets */ game_area.redraw = REDRAW_EVERYTHING; k_view.x = 0; k_view.y = 0; konstruktor_viewport_init(); k_init_icons(); k_redraw_all(); konstruktor_show_game_area(); return 0; } /* * prepare everything for finishing designer */ int konstruktor_end() { clear_screen(); level_init(); game_area.redraw |= REDRAW_EVERYTHING; insert = 0; /* we will forget if we wanted to insert a * new level */ selected = -1; lastselected = 0; return 0; } /*************************************************************************** * konstruktor animate * ***************************************************************************/ /* * this is the animate function for the designer, it should be run in * every cycle this function is based on update_game function form * board.c, the difference is that most of its functionality is being * cut, as we do not want the game to go on here, we just want that nice * feeling of game paused. */ void konstruktor_animate(void) { int temp_direction, x, y; /* * Now iterate through every board location updating objects */ for (y = 0; y < level.h; y++) { for (x = 0; x < level.w; x++) { /* * decrement rotation delay counter if it is a gun, and needs * it */ if ((board[x][y].type == GUN || board[x][y].type==MAGNET) && (board[x][y].rotated > 0)) board[x][y].rotated--; /* Decrement rotation delay */ /* * Decrement the object's delay and then check if it needs * processing */ if (board[x][y].moved > 0) board[x][y].moved--; if (board[x][y].moved <= 0) { /* * animate all the necessary objects */ switch (board[x][y].type) { case BEAR: case BEAR_B: case BARRIER: case BIRD: case BUTTERFLY: case CAPSULE: case RADIOACTIVE_FIELD: board[x][y].moved = DELAY_KONSTRUKTOR; negate_state(x, y); break; /* * teleport has different blinking frequency, than * others, so we leave it as it is here */ case TELEPORT: negate_state(x, y); board[x][y].moved = DELAY_TELEPORT; break; /* * GUN logic */ case GUN: if (board[x][y].rotable) if (board[x][y].rotated == 0) { if (board[x][y].randomrotated) { temp_direction=rand() & 0x03; if(board[x][y].movable==1) { board[x][y].direction2=abs(board[x][y].direction2+(temp_direction-board[x][y].direction)) % 4; } board[x][y].direction = temp_direction; } else board[x][y].direction = (board[x][y].direction + 1) & 0x03; board[x][y].rotated = DELAY_ROTATION; redraw_field(x, y); } board[x][y].state = board[x][y].direction; break; case MAGNET: if (board[x][y].rotable) if (board[x][y].rotated == 0) { temp_direction=rand() & 0x03; board[x][y].direction = temp_direction; board[x][y].rotated = DELAY_ROTATION; redraw_field(x, y); } board[x][y].state = board[x][y].direction; break; } } } } } /* * change left upper corner's coordinates */ void konstruktor_scroll(int direction) { game_area.redraw = REDRAW_EVERYTHING; k_redraw_all(); switch (direction) { case 0: if (k_view.y > 0) k_view.y--; break; case 3: if (k_view.x < level.w - k_view.w) k_view.x++; break; case 2: if (k_view.y < level.h - k_view.h) k_view.y++; break; case 1: if (k_view.x > 0) k_view.x--; } }; /* * this one is almost all taken from screen file */ void konstruktor_show_game_area(void) { int x, y, xoffset = k_view.offsetx, yoffset = k_view.offsety; SDL_Rect srcrect, destrect, emptyrect; Uint32 level_colour; int nx, ny; if (lastclick > 0) lastclick--; play_music(); if (game_area.redraw >= REDRAW_EVERYTHING) { k_redraw_all(); clear_screen(); scoreline.redraw = 0xff; } /* * the viewport and draw the objects if required */ for (y = k_view.y; y < k_view.y + k_view.h; y++) { for (x = k_view.x; x < k_view.x + k_view.w; x++) { destrect = set_rect(xoffset + (x - k_view.x) * video.field_size, yoffset + (y - k_view.y) * video.field_size, video.field_size, video.field_size); /* * If the location is outside the dimensions of the level then * draw a BACKGROUND_COLOUR tile instead */ if (x < 0 || y < 0 || x >= level.w || y >= level.h) { if (game_area.redraw & REDRAW_EVERYTHING) SDL_FillRect(screen, &destrect, SDL_MapRGB(screen->format, skins [selected_skin]. background_colour >> 16 & 0xff, skins[selected_skin]. background_colour >> 8 & 0xff, skins[selected_skin]. background_colour & 0xff)); } else { /* * we will not redraw everything all the time */ if (board[x][y].redraw == FALSE && game_area.redraw != REDRAW_EVERYTHING) continue; board[x][y].redraw = FALSE; /* * The location is valid but only draw locations that have * been marked for redrawing */ if (level.colour_override != UNDEFINED) { level_colour = level.colour_override; } else if (level.colour != UNDEFINED) { level_colour = level.colour; } else { level_colour = DEFAULT_LEVEL_COLOUR; } SDL_FillRect(screen, &destrect, SDL_MapRGB(screen->format, level_colour >> 16 & 0xff, level_colour >> 8 & 0xff, level_colour & 0xff)); /* * Get icon surface offsets for object's current animation * frame */ /* * now first, let's manage the background file, we cut it * into 4 pieces, so we would change backgrounds in * different levels */ if (bgrnd != NULL) { int bgx = bgrnd->w / 2, bgy = bgrnd->h / 2; switch (level_packs[selected_pack].level_selected % 4) { case 0: emptyrect = set_rect((video.field_size * x) % bgx, (video.field_size * y) % bgy, video.field_size, video.field_size); break; case 1: emptyrect = set_rect(((video.field_size * x) % bgx) + bgx, (video.field_size * y) % bgy, video.field_size, video.field_size); break; case 2: emptyrect = set_rect((video.field_size * x) % bgx, ((video.field_size * y) % bgy) + bgy, video.field_size, video.field_size); break; case 3: emptyrect = set_rect(((video.field_size * x) % bgx) + bgx, ((video.field_size * y) % bgy) + bgy, video.field_size, video.field_size); break; } SDL_BlitSurface(bgrnd, &emptyrect, screen, &destrect); }; k_geticoncoords(6, 7, &emptyrect); SDL_BlitSurface(k_icons, &emptyrect, screen, &destrect); /* * now we draw empty field */ if (board[x][y].type != EMPTY_FIELD) { if ((board[x][y].shooting != 0) && (board[x][y].type == BIRD)) { k_geticoncoords(3, 4, &srcrect); SDL_BlitSurface(k_icons, &srcrect, screen, &destrect); } if(board[x][y].type==GUN && board[x][y].movable==1) board[x][y].state=board[x][y].direction+4; srcrect = set_rect(board[x][y].icon[board[x][y].state].x, board[x][y].icon[board[x][y].state].y, video.field_size, video.field_size); if (SDL_BlitSurface(icons, &srcrect, screen, &destrect) < 0) { fprintf(stdout, "BlitSurface error: %s\n", SDL_GetError()); } switch (board[x][y].type) { case LASER_L: case LASER_D: k_geticoncoords(5, (board[x][y].direction) + 5, &srcrect); SDL_BlitSurface(k_icons, &srcrect, screen, &destrect); break; case BARRIER: k_geticoncoords(5, (board[x][y].direction) + 5, &srcrect); SDL_BlitSurface(k_icons, &srcrect, screen, &destrect); break; case TELEPORT: nx = 4 + (board[x][y].teleportnumber / 9); ny = (board[x][y].teleportnumber % 9) + ((board[x][y].teleportnumber > 8) ? 1 : 0); k_geticoncoords(nx, ny, &srcrect); SDL_BlitSurface(k_icons, &srcrect, screen, &destrect); break; case MAGNET: if (board[x][y].rotable) { k_geticoncoords(6, 1, &srcrect); SDL_BlitSurface(k_icons, &srcrect, screen, &destrect); } break; case GUN: nx = 7; ny = ((board[x][y].solidlaser + 2) % 3) + 1; k_geticoncoords(nx, ny, &srcrect); SDL_BlitSurface(k_icons, &srcrect, screen, &destrect); if (board[x][y].movable) { k_geticoncoords(5, board[x][y].direction2 + 5, &srcrect); SDL_BlitSurface(k_icons, &srcrect, screen, &destrect); } if (board[x][y].rotable) { k_geticoncoords(6, 1, &srcrect); SDL_BlitSurface(k_icons, &srcrect, screen, &destrect); } break; case BEAR: case BEAR_B: k_geticoncoords(5, board[x][y].direction + 5, &srcrect); SDL_BlitSurface(k_icons, &srcrect, screen, &destrect); break; case BIRD: k_geticoncoords(5, board[x][y].direction + 5, &srcrect); SDL_BlitSurface(k_icons, &srcrect, screen, &destrect); break; } } /* * Are we drawing Robbo? */ if (robbo.x == x && robbo.y == y) { /* Is this his * location and is * * * * * * * * * * * * * he * alive? */ k_geticoncoords(3, 6, &srcrect); if (SDL_BlitSurface(icons, &srcrect, screen, &destrect) < 0) { fprintf(stdout, "BlitSurface error: %s\n", SDL_GetError()); } } } } } konstruktor_draw_icons(); /* * Redraw the parts of the scoreline that have been requested */ if (scoreline.redraw) show_scoreline(); game_area.redraw = 0; } /* * manage designer clicks */ void konstruktor_click() { /* * precalculate where we acually clicked */ int nx = (kmx - k_view.offsetx) / video.field_size; int ny = ((kmy - k_view.offsety) / video.field_size); int cnt; /* * refresh all the icons */ if (kmx - k_view.offsetx < 0 || kmy - k_view.offsety < 0) return; k_redraw_all(); if (nx >= 0 && ny >= 0 && nx < k_view.w && ny < k_view.h) { /* * ok, we have to handle map click. now we have to find out the * position */ lastselected = -1; nx = nx + k_view.x; ny = ny + k_view.y; if (selected != -1) { sprintf(infostring, " "); inforedraw = 1; if (K_icons[selected].game_obj == ROBBO) { redraw_field(robbo.x, robbo.y); sprintf(infostring, "Robbo"); } /* * do we try to delete one of the counted objects? */ switch (board[nx][ny].type) { case BULLET: game_area.redraw = REDRAW_EVERYTHING; robbo.bullets = robbo.bullets - 9; /* bullets */ break; case KEY: game_area.redraw = REDRAW_EVERYTHING; robbo.keys--; /* keys */ break; case SCREW: game_area.redraw = REDRAW_EVERYTHING; robbo.screws--; /* screws */ } if (K_icons[selected].game_obj != K_LASER) create_object(nx, ny, K_icons[selected].game_obj); if(K_icons[selected].game_obj == BOMB && bombtype==1) create_object(nx, ny, BOMB2 ); switch (K_icons[selected].game_obj) { case GROUND: sprintf(infostring, txt_konstruktor_Ground); break; case STOP: sprintf(infostring, "%s (%d %s)", txt_konstruktor_Stop, k_count_obj(STOP), txt_konstruktor_on_map); break; case RADIOACTIVE_FIELD: sprintf(infostring, "%s (%d %s)", txt_konstruktor_Radioactive_Field, k_count_obj(RADIOACTIVE_FIELD), txt_konstruktor_on_map); break; case PUSH_BOX: sprintf(infostring, "%s (%d %s)", txt_konstruktor_Push_Box, k_count_obj(PUSH_BOX), txt_konstruktor_on_map); break; case CAPSULE: sprintf(infostring, "%s (%d %s)", txt_konstruktor_Capsule, k_count_obj(CAPSULE), txt_konstruktor_on_map); break; case BOMB: if (bombtype==0) { sprintf(infostring, "%s (%d %s)", txt_konstruktor_Bomb, k_count_obj(BOMB), txt_konstruktor_on_map); } else { sprintf(infostring, "%s (%d %s)", txt_konstruktor_Bomb2, k_count_obj(BOMB2), txt_konstruktor_on_map); } break; case DOOR: sprintf(infostring, "%s (%d %s)", txt_konstruktor_Door, k_count_obj(DOOR), txt_konstruktor_on_map); break; case BOX: sprintf(infostring, "%s (%d %s)", txt_konstruktor_Box, k_count_obj(BOX), txt_konstruktor_on_map); break; case QUESTIONMARK: sprintf(infostring, "? (%d %s)", k_count_obj(QUESTIONMARK), txt_konstruktor_on_map); break; case EMPTY_FIELD: sprintf(infostring, txt_konstruktor_Empty_Field); break; case BUTTERFLY: sprintf(infostring, "%s (%d %s)", txt_konstruktor_Butterfly, k_count_obj(BUTTERFLY), txt_konstruktor_on_map); break; case K_LASER: if (direction == 0 || direction == 2) { create_object(nx, ny, LASER_L); } else { create_object(nx, ny, LASER_D); } board[nx][ny].direction = direction; sprintf(infostring, "%s (%d %s)", txt_konstruktor_Gun_Fire, k_count_obj(LASER_L) + k_count_obj(LASER_D), txt_konstruktor_on_map); break; case BARRIER: board[nx][ny].direction = (direction >= 2) ? 2 : 0; sprintf(infostring, "%s (%d %s)", txt_konstruktor_Force_Field, k_count_obj(BARRIER), txt_konstruktor_on_map); break; case SCREW: robbo.screws++; sprintf(infostring, "%s (%d %s)", txt_konstruktor_Screw, k_count_obj(SCREW), txt_konstruktor_on_map); game_area.redraw = REDRAW_EVERYTHING; break; case WALL: board[nx][ny].state = wallnumber; if (wallnumber != 3) sprintf(infostring, txt_konstruktor_Wall); else sprintf(infostring, txt_konstruktor_Black_Wall); break; case TELEPORT: board[nx][ny].teleportnumber = teleportnr; sprintf(infostring, "%s (%d %s)", txt_konstruktor_Teleport, k_count_obj(TELEPORT), txt_konstruktor_on_map); break; case GUN: board[nx][ny].solidlaser = (ltype + 1) % 3; board[nx][ny].movable = movable; board[nx][ny].direction2 = direction; board[nx][ny].direction = K_icons[selected].direction; board[nx][ny].state = K_icons[selected].direction; board[nx][ny].rotated = 0; board[nx][ny].rotable = rotable; board[nx][ny].randomrotated = 1; sprintf(infostring, "%s (%d %s)", txt_konstruktor_Gun, k_count_obj(GUN), txt_konstruktor_on_map); break; case MAGNET: board[nx][ny].direction = K_icons[selected].direction; board[nx][ny].state = K_icons[selected].direction; board[nx][ny].rotable=rotable; sprintf(infostring, "%s (%d %s)", txt_konstruktor_Magnet, k_count_obj(MAGNET), txt_konstruktor_on_map); break; case BEAR: case BEAR_B: board[nx][ny].direction = direction; board[nx][ny].state = 0; if (board[nx][ny].type == BEAR) sprintf(infostring, "%s (%d %s)", txt_konstruktor_Bear, k_count_obj(BEAR), txt_konstruktor_on_map); else sprintf(infostring, "%s (%d %s)", txt_konstruktor_Black_Bear, k_count_obj(BEAR_B), txt_konstruktor_on_map); break; case BIRD: board[nx][ny].direction = direction; board[nx][ny].direction2 = 1; board[nx][ny].state = 0; board[nx][ny].shooting = shooting; sprintf(infostring, "%s (%d %s)", txt_konstruktor_Bird, k_count_obj(BIRD), txt_konstruktor_on_map); break; case KEY: robbo.keys++; sprintf(infostring, "%s (%d %s)", txt_konstruktor_Key, k_count_obj(KEY), txt_konstruktor_on_map); game_area.redraw = REDRAW_EVERYTHING; break; case BULLET: robbo.bullets = robbo.bullets + 9; sprintf(infostring, "%s (%dx9 %s)", txt_konstruktor_Bullets, k_count_obj(BULLET), txt_konstruktor_on_map); game_area.redraw = REDRAW_EVERYTHING; break; }; } return; } if (lastclick > 0) { return; } lastclick = 5; /* * toolbar clicks */ for (cnt = 0; K_icons[cnt].x != -1; cnt++) { if (nx == K_icons[cnt].scrx && ny == K_icons[cnt].scry) { K_icons[cnt].blink = DELAY_K_BLINK2; /* here we should blink clicked object, so it would not get negative index */ switch (K_icons[cnt].game_obj) { case -1: return; case RADIOACTIVE_FIELD: sprintf(infostring, "%s (%d %s)", txt_konstruktor_Radioactive_Field, k_count_obj(RADIOACTIVE_FIELD), txt_konstruktor_on_map); inforedraw = 1; break; case K_RELOAD: if (cnt == lastselected) { sprintf(infostring, txt_konstruktor_Level_reloaded); clear_screen(); level_init(); konstruktor_viewport_init(); if (level.w == 16 && level.h == 31) gsize = 0; else if (level.w == 32 && level.h == 31) gsize = 1; robbo.keys = k_count_obj(KEY); /* count keys on a map */ robbo.bullets = k_count_obj(BULLET) * 9; /* count bullets */ game_area.redraw = REDRAW_EVERYTHING; k_view.x = 0; k_view.y = 0; k_init_icons(); k_redraw_all(); cnt = -1; } else { sprintf(infostring, txt_konstruktor_Reload_level_select_again_to_reload); lastclick = 50; }; inforedraw = 1; break; case STOP: sprintf(infostring, "%s (%d %s)", txt_konstruktor_Stop, k_count_obj(STOP), txt_konstruktor_on_map); inforedraw = 1; break; case BARRIER: sprintf(infostring, "%s (%d %s)", txt_konstruktor_Force_Field, k_count_obj(BARRIER), txt_konstruktor_on_map); inforedraw = 1; break; case MAGNET: sprintf(infostring, "%s (%d %s)", txt_konstruktor_Magnet, k_count_obj(MAGNET), txt_konstruktor_on_map); inforedraw = 1; break; case ROBBO: sprintf(infostring, "Robbo"); inforedraw = 1; break; case GUN: sprintf(infostring, "%s (%d %s)", txt_konstruktor_Gun, k_count_obj(GUN), txt_konstruktor_on_map); inforedraw = 1; break; case BEAR: sprintf(infostring, "%s (%d %s)", txt_konstruktor_Bear, k_count_obj(BEAR), txt_konstruktor_on_map); inforedraw = 1; break; case BEAR_B: sprintf(infostring, "%s (%d %s)", txt_konstruktor_Black_Bear, k_count_obj(BEAR_B), txt_konstruktor_on_map); inforedraw = 1; break; case BUTTERFLY: sprintf(infostring, "%s (%d %s)", txt_konstruktor_Butterfly, k_count_obj(BUTTERFLY), txt_konstruktor_on_map); inforedraw = 1; break; case BOMB: if (cnt== selected) bombtype=(bombtype+1) %2; if(bombtype==0) { sprintf(infostring, "%s (%d %s)", txt_konstruktor_Bomb, k_count_obj(BOMB), txt_konstruktor_on_map); } else { sprintf(infostring, "%s (%d %s)", txt_konstruktor_Bomb2, k_count_obj(BOMB2), txt_konstruktor_on_map); } inforedraw = 1; break; case DOOR: sprintf(infostring, "%s (%d %s)", txt_konstruktor_Door, k_count_obj(DOOR), txt_konstruktor_on_map); inforedraw = 1; break; case BULLET: sprintf(infostring, "%s (%dx9 %s)", txt_konstruktor_Bullets, k_count_obj(BULLET), txt_konstruktor_on_map); inforedraw = 1; break; case BOX: sprintf(infostring, "%s (%d %s)", txt_konstruktor_Box, k_count_obj(BOX), txt_konstruktor_on_map); inforedraw = 1; break; case KEY: sprintf(infostring, "%s (%d %s)", txt_konstruktor_Key, k_count_obj(KEY), txt_konstruktor_on_map); inforedraw = 1; break; case CAPSULE: sprintf(infostring, "%s (%d %s)", txt_konstruktor_Capsule, k_count_obj(CAPSULE), txt_konstruktor_on_map); inforedraw = 1; break; case PUSH_BOX: sprintf(infostring, "%s (%d %s)", txt_konstruktor_Push_Box, k_count_obj(PUSH_BOX), txt_konstruktor_on_map); inforedraw = 1; break; case SCREW: sprintf(infostring, "%s (%d %s)", txt_konstruktor_Screw, k_count_obj(SCREW), txt_konstruktor_on_map); inforedraw = 1; break; case EMPTY_FIELD: sprintf(infostring, txt_konstruktor_Empty_Field); inforedraw = 1; break; case WALL: if (cnt == selected) wallnumber = (wallnumber + 1) % 9; if (wallnumber != 3) sprintf(infostring, txt_konstruktor_Wall); else sprintf(infostring, txt_konstruktor_Black_Wall); inforedraw = 1; break; case K_LASER: sprintf(infostring, "%s (%d %s)", txt_konstruktor_Gun_Fire, k_count_obj(LASER_L) + k_count_obj(LASER_D), txt_konstruktor_on_map); inforedraw = 1; break; case TELEPORT: sprintf(infostring, "%s (%d %s)", txt_konstruktor_Teleport, k_count_obj(TELEPORT), txt_konstruktor_on_map); inforedraw = 1; if (cnt == selected) teleportnr = (teleportnr % 11) + 1; break; case GROUND: sprintf(infostring, txt_konstruktor_Ground); inforedraw = 1; break; case BIRD: sprintf(infostring, "%s (%d %s)", txt_konstruktor_Bird, k_count_obj(BIRD), txt_konstruktor_on_map); inforedraw = 1; if (cnt == selected) shooting = (shooting + 1) % 2; break; case QUESTIONMARK: sprintf(infostring, "? (%d %s)", k_count_obj(QUESTIONMARK), txt_konstruktor_on_map); inforedraw = 1; break; case K_DIRECTION: direction = (direction + 1) % 4; switch (direction) { case 0: sprintf(infostring, txt_konstruktor_Direction_right); break; case 1: sprintf(infostring, txt_konstruktor_Direction_down); break; case 2: sprintf(infostring, txt_konstruktor_Direction_left); break; case 3: sprintf(infostring, txt_konstruktor_Direction_up); break; } inforedraw = 1; break; case K_LTYPE: ltype = (ltype + 1) % 3; switch (ltype) { case 0: sprintf(infostring, txt_konstruktor_Laser_Gun); break; case 1: sprintf(infostring, txt_konstruktor_Blaster_Gun); break; case 2: sprintf(infostring, txt_konstruktor_Regular_Gun); break; } inforedraw = 1; break; case K_RMSTATE: rmstate = (rmstate + 1) % 4; rotable = (rmstate & 2) / 2; movable = (rmstate & 1); switch (rmstate) { case 0: sprintf(infostring, txt_konstruktor_Fixed); break; case 1: sprintf(infostring, txt_konstruktor_Moveable); break; case 2: sprintf(infostring, txt_konstruktor_Rotating); break; case 3: sprintf(infostring, txt_konstruktor_Moveable_Rotating); break; } inforedraw = 1; break; case K_INSERT: if (lastselected == cnt) { sprintf(infostring, txt_konstruktor_Level_created); insert = 1; /* * Clear board */ robbo.screws = 0; robbo.keys = 0; robbo.bullets = 0; /* Thunor: I added this as it was missing */ scoreline.redraw = 0xff; /* Thunor: I added this as it was missing */ switch (gsize) { /* if gsize is different than 0,1, * we leave the map size as it is */ case 0: level.w = 16; level.h = 31; break; case 1: level.w = 32; level.h = 31; break; } clear_entire_board(); cnt = -1; } else { sprintf(infostring, txt_konstruktor_New_level_select_again_to_create); lastclick = 50; } inforedraw = 1; break; case K_ERASER: /* * Clear board */ if (lastselected == cnt) { sprintf(infostring, txt_konstruktor_Level_cleared); robbo.screws = 0; robbo.keys = 0; robbo.bullets = 0; /* Thunor: I added this as it was missing */ scoreline.redraw = 0xff; /* Thunor: I added this as it was missing */ switch (gsize) { /* if gsize is different than 0,1, * we leave the map size as it is */ case 0: level.w = 16; level.h = 31; break; case 1: level.w = 32; level.h = 31; break; } clear_entire_board(); cnt = -1; } else { sprintf(infostring, txt_konstruktor_Clear_level_select_again_to_clear); lastclick = 50; } inforedraw = 1; break; case K_SAVE: if (lastselected == cnt) { if (insert == 1) sprintf(infostring, txt_konstruktor_New_level_appended_to_pack); else sprintf(infostring, txt_konstruktor_Changes_saved); cnt = -1; k_save_map(); insert = 0; /* since we saved the level, now we will * not try to insert another one */ } else { lastclick = 50; if (insert == 1) sprintf(infostring, txt_konstruktor_Save_select_again_to_save_new_level); else sprintf(infostring, txt_konstruktor_Save_select_again_to_save_changes); } inforedraw = 1; /* * unless user wants differently */ break; case K_SIZE: /* this would set up map size, after * cleaning it */ gsize = (gsize + 1) % 2; switch (gsize) { case 0: level.w = 16; level.h = 31; k_view.x = 0; sprintf(infostring, "%s 16x31", txt_konstruktor_Level_resized_to); konstruktor_viewport_init(); break; case 1: level.w = 32; level.h = 31; sprintf(infostring, "%s 32x31", txt_konstruktor_Level_resized_to); konstruktor_viewport_init(); break; } robbo.screws = k_count_obj(SCREW); /* Thunor: I added this as it was missing */ robbo.keys = k_count_obj(KEY); /* Thunor: I added this as it was missing */ robbo.bullets = k_count_obj(BULLET) * 9; /* Thunor: I added this as it was missing */ k_init_icons(); game_area.redraw = REDRAW_EVERYTHING; inforedraw = 1; break; case K_SCROLL: lastclick = 3; konstruktor_scroll(K_icons[cnt].direction); break; case K_SCROLL2: lastclick = 3; game_area.redraw = REDRAW_EVERYTHING; switch (K_icons[cnt].direction) { case 0: k_view.y = 0; break; case 1: k_view.x = 0; break; case 2: k_view.y = level.h - k_view.h; break; case 3: k_view.x = level.w - k_view.w; break; } break; case K_EXIT: if (lastselected == cnt) { game_mode = GAME_ON; konstruktor_end(); cnt = -1; } else { sprintf(infostring, txt_konstruktor_Exit_designer_select_again_to_exit); lastclick = 50; /* very long click is used as * another click */ inforedraw = 1; }; break; } if (cnt >= 0) /* that if added by Thunor should not hurt, and it should help with negative index thing */ { if (K_icons[cnt].type == KGAMEOBJ) { selected = cnt; } /* K_icons[cnt].blink = DELAY_K_BLINK2; */ } lastselected = cnt; break; } } } /* * simple translator betweem icon coordinates it is easier to manage icons * this way */ void k_geticoncoords(int x, int y, SDL_Rect * rect) { int nx, ny; nx = ((video.field_size / 16) * x) + ((x - 1) * video.field_size); ny = ((video.field_size / 16) * y) + ((y - 1) * video.field_size); rect->x = nx; rect->y = ny; rect->w = video.field_size; rect->h = video.field_size; } /* * draw designer icons */ void konstruktor_draw_icons() { int nx, ny; unsigned int color = 0; int cnt; SDL_Surface *image; SDL_Color bgcolor, fgcolor; SDL_Rect dst, src; if (K_icons[selected].blink == 0) K_icons[selected].blink = 1; for (cnt = 0; K_icons[cnt].x != -1; cnt++) { if (K_icons[cnt].game_obj == -1) continue; if (K_icons[cnt].blink > 0) { K_icons[cnt].blink--; if (K_icons[cnt].blink <= 0) if (cnt == selected) { K_icons[cnt].blink = DELAY_K_BLINK; K_icons[selected].blink2 = (K_icons[selected].blink2 + 1) % 2; } K_icons[cnt].redraw = 1; } if (K_icons[cnt].redraw <= 0) continue; /* no redraw? what a pity */ K_icons[cnt].redraw = 0; dst.h = video.field_size; dst.w = video.field_size; switch (K_icons[cnt].type) { case KGAMEOBJ: dst.x = K_icons[cnt].scrx * video.field_size + k_view.offsetx; dst.y = K_icons[cnt].scry * video.field_size + k_view.offsety; color = skins[selected_skin].designer_GAMEOBJ_tile_colour; break; case KOBJ_S: dst.y = K_icons[cnt].scry * video.field_size + k_view.offsety; dst.x = K_icons[cnt].scrx * video.field_size + k_view.offsetx; color = skins[selected_skin].designer_OBJS_tile_colour; break; case KOBJ_V: dst.x = K_icons[cnt].scrx * video.field_size + k_view.offsetx; dst.y = K_icons[cnt].scry * video.field_size + k_view.offsety; color = skins[selected_skin].designer_OBJV_tile_colour; break; } SDL_FillRect(screen, &dst, SDL_MapRGB(screen->format, color >> 16 & 0xff, color >> 8 & 0xff, color & 0xff)); switch (K_icons[cnt].game_obj) { case BOMB: if(bombtype==1) { k_geticoncoords(8,7,&src); } else k_geticoncoords(9,1,&src); SDL_BlitSurface(icons, &src, screen, &dst); break; case WALL: switch (wallnumber) { case 0: k_geticoncoords(3, 1, &src); break; case 1: k_geticoncoords(4, 1, &src); break; case 2: k_geticoncoords(6, 3, &src); break; case 3: k_geticoncoords(8, 2, &src); break; case 4: k_geticoncoords(10, 2, &src); break; case 5: k_geticoncoords(9, 6, &src); break; case 6: k_geticoncoords(10, 6, &src); break; case 7: k_geticoncoords(11, 1, &src); break; case 8: k_geticoncoords(11, 2, &src); break; } SDL_BlitSurface(icons, &src, screen, &dst); break; case K_LTYPE: k_geticoncoords(6, 8, &src); SDL_BlitSurface(k_icons, &src, screen, &dst); k_geticoncoords(3, ltype + 1, &src); SDL_BlitSurface(k_icons, &src, screen, &dst); break; case K_DIRECTION: k_geticoncoords(2, direction + 4, &src); SDL_BlitSurface(k_icons, &src, screen, &dst); break; case K_RMSTATE: k_geticoncoords(6, 8, &src); SDL_BlitSurface(k_icons, &src, screen, &dst); if (movable == 1) { if (rotable == 1) k_geticoncoords(7, 7, &src); else k_geticoncoords(3, 7, &src); } else if (rotable == 1) { k_geticoncoords(2, 8, &src); } else { k_geticoncoords(7, 8, &src); } SDL_BlitSurface(k_icons, &src, screen, &dst); break; case K_ERASER: case K_SAVE: case K_INSERT: nx = K_icons[cnt].x; ny = K_icons[cnt].y; k_geticoncoords(nx, ny, &src); SDL_BlitSurface(k_icons, &src, screen, &dst); break; case K_SIZE: if (gsize >= 0 && gsize < 2) { nx = 6; ny = gsize + 5; } else { nx = 7; ny = 5; } k_geticoncoords(nx, ny, &src); SDL_BlitSurface(k_icons, &src, screen, &dst); break; case K_LASER: if (direction == 0 || direction == 2) { /* * vertical laser */ k_geticoncoords(1, 4, &src); SDL_BlitSurface(icons, &src, screen, &dst); } else { k_geticoncoords(3, 4, &src); SDL_BlitSurface(icons, &src, screen, &dst); } k_geticoncoords(5, direction + 5, &src); SDL_BlitSurface(k_icons, &src, screen, &dst); break; case GUN: k_geticoncoords(K_icons[cnt].x, K_icons[cnt].y, &src); SDL_BlitSurface(icons, &src, screen, &dst); nx = 7; ny = ltype + 1; k_geticoncoords(nx, ny, &src); SDL_BlitSurface(k_icons, &src, screen, &dst); if (movable) { k_geticoncoords(5, direction + 5, &src); SDL_BlitSurface(k_icons, &src, screen, &dst); } if (rotable) { k_geticoncoords(6, 1, &src); SDL_BlitSurface(k_icons, &src, screen, &dst); } break; case MAGNET: k_geticoncoords(K_icons[cnt].x, K_icons[cnt].y, &src); SDL_BlitSurface(icons, &src, screen, &dst); if (rotable) { k_geticoncoords(6, 1, &src); SDL_BlitSurface(k_icons, &src, screen, &dst); } break; case TELEPORT: k_geticoncoords(K_icons[cnt].x, K_icons[cnt].y, &src); SDL_BlitSurface(icons, &src, screen, &dst); nx = 1 + (teleportnr / 9); ny = (teleportnr % 9) + ((teleportnr > 8) ? 1 : 0); k_geticoncoords(nx, ny, &src); SDL_BlitSurface(k_icons, &src, screen, &dst); break; case BEAR: case BEAR_B: k_geticoncoords(K_icons[cnt].x, K_icons[cnt].y, &src); SDL_BlitSurface(icons, &src, screen, &dst); k_geticoncoords(5, direction + 5, &src); SDL_BlitSurface(k_icons, &src, screen, &dst); break; case BIRD: k_geticoncoords(K_icons[cnt].x, K_icons[cnt].y, &src); SDL_BlitSurface(icons, &src, screen, &dst); k_geticoncoords(5, direction + 5, &src); SDL_BlitSurface(k_icons, &src, screen, &dst); if (shooting) { k_geticoncoords(3, 4, &src); SDL_BlitSurface(k_icons, &src, screen, &dst); } break; case BARRIER: k_geticoncoords(K_icons[cnt].x, K_icons[cnt].y, &src); SDL_BlitSurface(icons, &src, screen, &dst); k_geticoncoords(5, ((direction >= 2) ? 2 : 0) + 5, &src); SDL_BlitSurface(k_icons, &src, screen, &dst); break; default: k_geticoncoords(K_icons[cnt].x, K_icons[cnt].y, &src); if (K_icons[cnt].type == KGAMEOBJ) SDL_BlitSurface(icons, &src, screen, &dst); else SDL_BlitSurface(k_icons, &src, screen, &dst); } /* * manage blinks */ if (K_icons[cnt].blink > 0) { /* draw * blink */ switch (K_icons[cnt].blink2) { case 0: k_geticoncoords(3, 6, &src); break; case 1: k_geticoncoords(3, 5, &src); break; }; SDL_BlitSurface(k_icons, &src, screen, &dst); } } if (inforedraw) { inforedraw = 0; fgcolor.r = skins[selected_skin].designer_text_colour >> 16 & 0xff; fgcolor.g = skins[selected_skin].designer_text_colour >> 8 & 0xff; fgcolor.b = skins[selected_skin].designer_text_colour & 0xff; bgcolor.r = skins[selected_skin].background_colour >> 16 & 0xff; bgcolor.g = skins[selected_skin].background_colour >> 8 & 0xff; bgcolor.b = skins[selected_skin].background_colour & 0xff; image = TTF_RenderUTF8_Shaded(font, infostring, fgcolor, bgcolor); dst.h = image->h; dst.x = (txt_x) * video.field_size + k_view.offsetx + video.field_size / 8; dst.y = (txt_y) * video.field_size + k_view.offsety; /* I've centred the text vertically within field_size */ if (dst.h < video.field_size) dst.y += (video.field_size - dst.h) / 2; dst.w = (DEFAULT_VIEWPORT_WIDTH - 1) * video.field_size - video.field_size / 8; SDL_FillRect(screen, &dst, SDL_MapRGB(screen->format, bgcolor.r, bgcolor.g, bgcolor.b)); dst.w = image->w; dst.h = image->h; SDL_BlitSurface(image, NULL, screen, &dst); SDL_FreeSurface(image); } } /* * helper function, used for save */ char k_transform_char(int c, int state) { char walls[] = "OQo-qpPsS"; switch (c) { case LASER_L: return 'L'; case LASER_D: return 'l'; case STOP: return 'X'; case RADIOACTIVE_FIELD: return 'k'; case EMPTY_FIELD: return '.'; case ROBBO: return 'R'; case WALL: return walls[state]; case SCREW: return 'T'; case BULLET: return '\''; case BOX: return '#'; case KEY: return '%'; case BOMB2: return 'B'; case BOMB: return 'b'; case DOOR: return 'D'; case QUESTIONMARK: return '?'; case BEAR: return '@'; case BIRD: return '^'; case CAPSULE: return '!'; case GROUND: return 'H'; case BEAR_B: return '*'; case BUTTERFLY: return 'V'; case TELEPORT: return '&'; case GUN: return '}'; case MAGNET: return 'M'; case PUSH_BOX: return '~'; case BARRIER: return '='; } return '.'; } /* * Saves level the way it does it depends on variable insert, if it is * zero it would replace current level, if it is 1 it will append edited * level at the end of the set it needs handler to opne file and level * number */ void k_save_level(FILE * fdesc, int lvl) { int x, y; char line[1024]; int adds = 0; int tn = 0; fprintf(fdesc, "%d\n", lvl); fprintf(fdesc, "[colour]\n"); if (level.colour != UNDEFINED) /* This means not set */ fprintf(fdesc, "%06x\n", level.colour); fprintf(fdesc, "[size]\n%d.%d\n", level.w, level.h); fprintf(fdesc, "[author]\n"); if (level.author[0] != 0) fprintf(fdesc, "%s\n", level.author); fprintf(fdesc, "[level_notes]\n"); /* level.notes is terminated by an enforced newline */ if (level.notes[0] != 0) fprintf(fdesc, "%s", level.notes); fprintf(fdesc, "[data]\n"); for (y = 0; y < level.h; y++) { for (x = 0; x < level.w; x++) { if (robbo.x == x && robbo.y == y) { line[x] = k_transform_char(ROBBO, 0); } else { line[x] = k_transform_char(board[x][y].type, board[x][y].state); switch (board[x][y].type) { case BARRIER: case LASER_L: case LASER_D: case GUN: case BIRD: case TELEPORT: case MAGNET: case BEAR: case BEAR_B: adds++; }; } } line[x] = '\0'; fprintf(fdesc, "%s\n", line); } fprintf(fdesc, "[additional]\n%d\n", adds); for (y = 0; y < level.h; y++) { for (x = 0; x < level.w; x++) { switch (board[x][y].type) { case LASER_L: fprintf(fdesc, "%d.%d.L.%d\n", x, y, board[x][y].direction); break; case LASER_D: fprintf(fdesc, "%d.%d.l.%d\n", x, y, board[x][y].direction); break; case BARRIER: fprintf(fdesc, "%d.%d.=.%d\n", x, y, board[x][y].direction); break; case GUN: fprintf(fdesc, "%d.%d.}.%d.%d.%d.%d.%d.%d\n", x, y, board[x][y].direction, board[x][y].direction2, board[x][y].solidlaser, board[x][y].movable, board[x][y].rotable, board[x][y].randomrotated); break; case BIRD: fprintf(fdesc, "%d.%d.^.%d.%d.%d\n", x, y, board[x][y].direction, board[x][y].direction2, board[x][y].shooting); break; case BEAR: fprintf(fdesc, "%d.%d.@.%d\n", x, y, board[x][y].direction); break; case BEAR_B: fprintf(fdesc, "%d.%d.*.%d\n", x, y, board[x][y].direction); break; case MAGNET: if(board[x][y].rotable==0) /* neurocyp: non rotated magnets are saved as usual, rotated ones we save extended */ fprintf(fdesc, "%d.%d.M.%d\n", x, y, board[x][y].state); else fprintf(fdesc, "%d.%d.M.%d.%d\n", x, y, board[x][y].state,board[x][y].rotable); break; case TELEPORT: fprintf(fdesc, "%d.%d.&.%d.%d\n", x, y, board[x][y].teleportnumber, tn++); break; } } } fprintf(fdesc, "[end]\n\n"); } /* * this is kind of a functional stub */ void k_save_map() { FILE *fdesc, *fdescr; int empty = 0; int maxlevel = K_UNDEFINED; int lvl = K_UNDEFINED; int skip_level = 0; char line[1024]; char fname[1024]; char fname2[1024]; sprintf(fname, "%s", level_packs[selected_pack].filename); sprintf(fname2, "%s%s", level_packs[selected_pack].filename, ".tmp"); fdescr = fopen(fname, "r"); fdesc = fopen(fname2, "w+"); if ((fdesc == NULL) || (fdescr == NULL)) { /* * oops it seems we cannot write the file */ if (fdesc) fclose(fdesc); if (fdescr) fclose(fdescr); return; }; while (!feof(fdescr)) { fgets(line, 1023, fdescr); if (line[0] == '\n' || line[0] == '\r') { empty++; } else empty = 0; /* Thunor: This is discarding a series of newlines which will * remove them from level_notes. This isn't a problem now but * it might be in the future so I'll mark it temp temp */ if (empty > 2) continue; if (skip_level == 1) { if (!strncmp(line, "[end]", 5)) skip_level = 0; continue; } if ((lvl == K_FOUND) && (insert == 0)) { sscanf(line, "%d\n", &lvl); if (lvl == level_packs[selected_pack].level_selected) { k_save_level(fdesc, lvl); skip_level = 1; lvl = K_WRITTEN; continue; } lvl = K_UNDEFINED; } if (maxlevel == K_FOUND) { sscanf(line, "%d\n", &maxlevel); if (insert == 1) maxlevel++; sprintf(line, "%d\n", maxlevel); } if (!strncmp(line, "[last_level]", 12)) maxlevel = K_FOUND; if (!strncmp(line, "[level]", 7) && lvl != K_WRITTEN) lvl = K_FOUND; fprintf(fdesc, "%s", line); } if (insert == 1) { /* * ok, now we have to add our level */ fprintf(fdesc, "[level]\n"); k_save_level(fdesc, maxlevel); level_packs[selected_pack].last_level++; } fclose(fdesc); fclose(fdescr); /* * now all that is left to do is exchange the files */ unlink(fname); rename(fname2, fname); } /* * count objects on the map - comes in handy, when counting keys, or * bullets */ int k_count_obj(int obj) { int x, y, res = 0; for (y = 0; y < level.h; y++) for (x = 0; x < level.w; x++) if (board[x][y].type == obj) res++; return res; }; /* * mark all icons to be redrawn */ void k_redraw_all() { int cnt; int x, y; for (y = k_view.x; y < k_view.x + k_view.h; y++) for (x = k_view.y; x < k_view.y + k_view.w; x++) { redraw_field(x, y); } for (cnt = 0; K_icons[cnt].x != -1; cnt++) K_icons[cnt].redraw = 1; }; gnurobbo-0.66+dfsg/konstruktor.h0000644000175000017500000000635111324353351016022 0ustar stevesteve/* GNU Robbo * Copyright (C) 2002-2010 The GNU Robbo Team (see AUTHORS). * * GNU Robbo is free software - you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2, or (at your option) * any later version. * * GNU Robbo is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the impled warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with GNU CC; see the file COPYING. If not, write to the * Free Software Foundation, 59 Temple Place - Suite 330, * Boston, MA 02111-1307, USA. * */ #define DELAY_KONSTRUKTOR 6 #define DELAY_K_BLINK 3 #define DELAY_K_BLINK2 3 #define K_MAXICONS 60 #define K_RESETLSELECT -10 /* reset last selected */ #define K_NOTSELECTED -1 /* nothing selected */ #define KGAMEOBJ 1 /* game objects */ #define KOBJ_S 2 /* control objects */ #define KOBJ_V 3 /* vertical objects like scroll bars and so on */ #define KBREAKLINE 4 #define K_RELOAD 127 /* reload level */ #define K_LTYPE 117 #define K_DIRECTION 118 #define K_RMSTATE 119 /* ratable/movable */ #define K_ERASER 120 /* clear level */ #define K_SAVE 121 /* save level */ #define K_INSERT 122 /* Insert new level */ #define K_SIZE 123 #define K_SCROLL 124 #define K_SCROLL2 125 #define K_EXIT 130 #define K_LASER 131 /* we want also shots to be included, so we create a laser object */ #define K_GAMECOLOR 0x0000f0 #define K_OBJSCOLOR 0x6f006f #define K_OBJVCOLOR 0x202020 #define K_FOUND -5 #define K_UNDEFINED -10 #define K_WRITTEN -11 /* * one object can be type: game object, action icon, this determines the * source surface, that would be used */ struct k_icons { int x; int y; int type; int game_obj; /* this is a game object it could be * wall,capsule and so on... */ int direction; int scrx; int scry; int blink; int blink2; int redraw; }; struct k_icon_init { int x; /* coordinates on the k_icons file */ int y; int type; int game_obj; int state; }; /* * direction 0 -> 1 \/ 2 <- 3 /\ */ /* Thunor: This is now being defined and declared at the same * time since we only require one of them */ struct { int x; int y; int w; int h; int offsetx; int offsety; } k_view; SDL_Surface *k_icons; /* * variables */ int K_exit; int lastclick; int K_direction; char infostring[255]; int inforedraw; int kmx, kmy; /* * prototypes */ int konstruktor_init(); int konstruktor_end(); void konstruktor_animate(void); void konstruktor_scroll(int direction); void konstruktor_show_game_area(void); void konstruktor_click(); void konstruktor_draw_icons(); void k_geticoncoords(int x, int y, SDL_Rect * rect); void k_save_map(); int k_count_obj(int obj); void k_redraw_all(); gnurobbo-0.66+dfsg/VERSION0000644000175000017500000000000511434556345014314 0ustar stevesteve0.66 gnurobbo-0.66+dfsg/sound.h0000644000175000017500000000706211340010021014523 0ustar stevesteve/* GNU Robbo * Copyright (C) 2002-2010 The GNU Robbo Team (see AUTHORS). * * GNU Robbo is free software - you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2, or (at your option) * any later version. * * GNU Robbo is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the impled warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with GNU CC; see the file COPYING. If not, write to the * Free Software Foundation, 59 Temple Place - Suite 330, * Boston, MA 02111-1307, USA. * */ /* * Defines */ #define SND_FULL 3 #define SND_NORM 2 #define SND_HALF 1 #define SND_MUTE 0 #define SND_QUIET 4 #define SND_CHANNELS 16 #define SND_RATE 44100 /* * sound effects types */ #define SFX_BULLET 1 #define SFX_SCREW 2 #define SFX_BOMB 3 #define SFX_BOX 4 #define SFX_DOOR 5 #define SFX_GUN 6 #define SFX_KEY 7 #define SFX_SHOOT 8 #define SFX_BIRD 9 #define SFX_TELEPORT 10 #define SFX_ROBBO 11 #define SFX_CAPSULE 12 #define SFX_KILL 13 #define SFX_MAGNET 14 #define SFX_EXIT_OPEN 15 #define MUS_MAXSONGS 40 #define SND_SFX_DEFAULT_VOLUME 30 #define SND_MUS_DEFAULT_VOLUME SND_SFX_DEFAULT_VOLUME struct snd_sample { int initialized; int type; Mix_Chunk *s_sample; char *fname; char *rctag; }; struct snd_music { int present; Mix_Music *music; int playing; char fname[128]; }; /* * Variables */ int sound; int temp_game_sound; int sfx_vol; int temp_sfx_vol; /* * if we do not support music, we assume, that volume is sfx_volume */ #ifdef HAVE_MUSIC int volume; #else #define volume sfx_vol #endif /* * Function prototypes */ void volume_up(void); void volume_down(void); void load_soundskin(char *fname); void audio_init(void); /* this one initializes sound * system - shuld be run only once */ void audio_destroy(void); /* this one destroys all audio * content from the memory, and * sets sound variable to 0 */ /* * if you want to use audio again, set sound * variable to 1 and call audio_init */ void load_samples(void); /* loads samples into memory */ void play_sound(int event, int vol); /* this one plays sounds */ /* * vol can take 3 values: SND_NORM - * sound is played with volume set in * sfx_vol */ /* * SND_HALF which is half of sfx_vol, * and SND_MUTE - which means mute * sound or no sound at all */ int audio_opened(); /* returns 0 if mixer is not initialized */ void audio_open(); /* initializes mixer should be the first * thing before playing any sound */ void audio_close(); /* closes mixer - done befere exit */ #ifndef HAVE_MUSIC #define music_stop() #define make_playlist() #define music_finished() #define destroy_playlist() #define play_music() #else void make_playlist(void); void play_music(void); void music_finished(void); void destroy_playlist(void); void music_stop(void); #endif gnurobbo-0.66+dfsg/AUTHORS0000644000175000017500000000544411466302613014320 0ustar stevesteve Janusz Pelc =========== The original ATARI XE/XL Robbo game that GNU Robbo is based upon. Arkadiusz Lipiec 2002-2010 ============================================================ The game was originally created in 1989 by Janusz Pelc and LK Avalon and was working on ATARI XE/XL. I missed this game so much so I decided to start my own project which would be a reimplementation of the game. It was not so easy because all I had was only a working game. I had no code or algorithms. Another reason was that I'd like to write a program based on the SDL library. This was my first project that uses SDL. Additionally I am also responsible for the Win32 port. Thunor 2007-2010 ============================================= In 2005 I ported this to the Sharp Zaurus and converted some more levels. Arkadiusz Lipiec included me as a developer on the GNU Robbo Sourceforge project and now I've incorporated my additional work into this game. I also decided to continue developing the project to a more complete level with the inclusion of in-game help, options, new graphics, a demo mode and reconfigurable controls. Additionally I am also responsible for the Sharp Zaurus and GP2X ports. neurocyp 2009-2010 ============================================ neurocyp joined the GNU Robbo team in October 2009 and greatly enhanced it by implementing sound and music, converting many more level packs and fine tuning compatibility with the original Atari Robbo game. Bombel 2009-2010 ========================================= Bombel joined the GNU Robbo team in October 2009 and introduced code to enable a Sony PlayStation PSP port. Patch Contributors ================== We've received many patches for GNU Robbo and this is the place where we acknowledge the individuals involved and say thanks for contributing. PatchID Summary Submitter ------------------------------------------------------------------------ 2659264 German translation Chris Zeiler Slovak translation Viliam Búr 2677615 Swedish translation Niklas 'Nille' Åkerström Russian translation Alexander Voikov Indonesian translation Auriza Akbar Czech translation Radek Pavle 2938808 Original:36 wrong magnet Pff 3006727 More portable Makefile Dmitry Marakasov 3051878 Maemo 5 Fremantle Support Paul Houghton 3052629 German text update Nobody/Anonymous 3096404 Maemo 5 Fremantle update Paul Houghton gnurobbo-0.66+dfsg/rcfile.h0000644000175000017500000000277011435040066014661 0ustar stevesteve/* GNU Robbo * Copyright (C) 2002-2010 The GNU Robbo Team (see AUTHORS). * * GNU Robbo is free software - you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2, or (at your option) * any later version. * * GNU Robbo is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the impled warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with GNU CC; see the file COPYING. If not, write to the * Free Software Foundation, 59 Temple Place - Suite 330, * Boston, MA 02111-1307, USA. * */ /* Defines */ #if defined(PLATFORM_WIN32) #define RESOURCE_FILE "gnurobborc" #elif defined(PLATFORM_PC) #define RESOURCE_FILE ".gnurobborc" #elif defined(PLATFORM_GP2X) #define RESOURCE_FILE "gnurobborc" #elif defined(PLATFORM_ZAURUS) #define RESOURCE_FILE ".gnurobborc" #elif defined(PLATFORM_FREMANTLE) #define RESOURCE_FILE "gnurobborc" #elif defined(PLATFORM_PSP) #define RESOURCE_FILE ".gnurobborc" #endif #define RCFILE_SAVE_ON_EXIT 0 #define RCFILE_SAVE_ON_CHANGE 1 /* Variables */ char path_resource_file[100]; struct { int save_frequency; } rcfile; int temp_rcfile_save_frequency; /* Function prototypes */ int read_resource_file(char *filename); int save_resource_file(char *filename, int inform); gnurobbo-0.66+dfsg/game.h0000644000175000017500000001263211437207421014326 0ustar stevesteve/* GNU Robbo * Copyright (C) 2002-2010 The GNU Robbo Team (see AUTHORS). * * GNU Robbo is free software - you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2, or (at your option) * any later version. * * GNU Robbo is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the impled warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with GNU CC; see the file COPYING. If not, write to the * Free Software Foundation, 59 Temple Place - Suite 330, * Boston, MA 02111-1307, USA. * */ //defines for Windows //#define PLATFORM_WIN32 //#define PLATFORM_PC #ifdef PLATFORM_WIN32 #define PACKAGE_DATA_DIR "./data" #define VERSION "0.66" #define __func__ "" /* unfortunatelly under vs6 is nothing like this macro ;( */ #endif //#define HAVE_DESIGNER #include #include #ifndef PLATFORM_ZAURUS #include #endif #ifdef USE_PIXMAP_FONT #include "font.h" #else #include #endif #include #include #include #include /* For ceil() */ #include /* For random data */ #include /* For time_t struct */ #ifndef PLATFORM_WIN32 #include /* For getpid() */ #include /* For dir functions */ #else #include "win32/dirent.h" /* For dir functions windows has no such library */ #endif #include "ROB_engine.h" #include "screen.h" #include "board.h" #include "controls.h" #include "levels.h" #include "skins.h" #include "rcfile.h" #include "sound.h" #include "locales.h" #include "pointer_controls.h" #include "konstruktor.h" /* Defines */ /* #define DEBUG_RECORD_DEMO #define DEBUG_COLOUR_SELECT */ #define TRUE 1 #define FALSE 0 #define UNDEFINED -1 #define SINGLE_SPACE " " #define DATA_UNREAD 0 #define DATA_READING 1 #define DATA_READ 2 #define DATA_INCOMPLETE 3 #define GAME_CYCLE_LIMIT_MAX 33 #define GAME_CYCLE_LIMIT_MIN 20 #define DEFAULT_GAME_CYCLE_LIMIT 25 /* Game modes */ #define INTRO_SCREEN 0 #define GAME_ON 1 #define END_SCREEN 2 #define HELP_SCREEN 3 #define OPTIONS_SCREEN 4 #define DESIGNER_ON 5 /* Hotspot ids */ #define HOTSPOTS_ID 100 /* Requires at most OPTIONS_COUNT * 3 unique ids */ /* Help and Options page counts */ #define HELP_SCREEN_PAGES 4 #define OPTIONS_SCREEN_PAGES 8 /* Option page locations */ #define OPTIONS_MENUPOS_LEFT 9 #define OPTIONS_MENUPOS_SAVE 10 #define OPTIONS_MENUPOS_EXIT 11 #define OPTIONS_MENUPOS_RIGHT 12 /* Option count */ #define OPTIONS_COUNT 104 /* Option ids */ #define OPTIONS_LANGUAGE (0 * 13 + 0) #define OPTIONS_SOUND (0 * 13 + 3) #define OPTIONS_SFX_VOL (0 * 13 + 4) #define OPTIONS_SAVE_FREQUENCY (0 * 13 + 6) #define OPTIONS_GAME_SPEED (0 * 13 + 7) #define OPTIONS_SKIN (1 * 13 + 0) #define OPTIONS_DEFAULT_JOYSTICK (2 * 13 + 0) #define OPTIONS_JOYSTICK_AXES_DEAD_ZONE (2 * 13 + 1) #define OPTIONS_SYSTEM_POINTER (2 * 13 + 2) #define OPTIONS_POINTER_CONTROLS_PAD_TYPE (2 * 13 + 3) #define OPTIONS_KEY_REPEAT_DELAY (2 * 13 + 5) #define OPTIONS_KEY_REPEAT_INTERVAL (2 * 13 + 6) #define OPTIONS_RESTORE_DEFAULT_CONTROLS (2 * 13 + 8) #define OPTIONS_RECONFIGURATION_HELP (3 * 13 + 0) #define OPTIONS_ACTION_UP (4 * 13 + 0) #define OPTIONS_ACTION_TOGGLE_FULLSCREEN (5 * 13 + 8) #define OPTIONS_ACTION_TOGGLE_DESIGNER (6 * 13 + 8) #define OPTIONS_ACTION_MODIFIER1 (7 * 13 + 2) #define OPTIONS_ACTION_MODIFIER4 (7 * 13 + 5) #define OPTIONS_ACTION_SCROLL_UP (7 * 13 + 6) #define OPTIONS_ACTION_SCROLL_DOWN (7 * 13 + 7) #define OPTIONS_ACTION_PRIMARY_CLICK (7 * 13 + 8) /* Intro screen menu item count */ #define INTRO_SCREEN_MENU_ITEM_COUNT 7 /* Intro screen menu item ids */ #define INTRO_SCREEN_MENU_ITEM_START 0 #define INTRO_SCREEN_MENU_ITEM_LEVEL 1 #define INTRO_SCREEN_MENU_ITEM_PACK 2 #define INTRO_SCREEN_MENU_ITEM_HELP 3 #define INTRO_SCREEN_MENU_ITEM_OPTIONS 4 #define INTRO_SCREEN_MENU_ITEM_DESIGNER 5 #define INTRO_SCREEN_MENU_ITEM_EXIT 6 /* demo_mode subfunctions */ #define DEMO_MODE_INITIALISE 0 #define DEMO_MODE_TIMEOUT_INITIALISE 1 #define DEMO_MODE_TIMEOUT_DECREMENT 2 #define DEMO_MODE_ACTIVATE 3 #define DEMO_MODE_IS_ACTIVE 4 #define DEMO_MODE_DEACTIVATE 5 #define DEMO_MODE_RECORD_INITIALISE 6 #define DEMO_MODE_RECORD 7 #define DEMO_MODE_PLAYBACK 8 #define DEMO_MODE_DUMP 9 /* Variables */ #ifdef DEBUG_COLOUR_SELECT int debug_colour_select_r; int debug_colour_select_g; int debug_colour_select_b; int debug_colour_select_component; #endif int sound; int game_mode; int game_cycle_delay; /* Defaults to 10ms */ int game_cycle_limit; /* 20, 25, 33 Hz */ int temp_game_cycle_limit; /* 20, 25, 33 Hz */ int cycle_count; /* A running cycle count used for time stamping objects */ int temp_game_sound; int temp_sfx_vol; int introscreenselecteditem; int helppage; int helppageselecteditem; int options[104]; int optionspage; int optionspageselecteditem[OPTIONS_SCREEN_PAGES]; /* Function prototypes */ int my_rand (); void my_srand (unsigned int seed); int demo_mode (int demo_mode_state, int actionid); void manage_game_on_input (int actionid); /* Event processors */ void intro_screen_event_processor (ROB_Event * rob_event); void help_screen_event_processor (ROB_Event * rob_event); void options_screen_event_processor (ROB_Event * rob_event); gnurobbo-0.66+dfsg/Makefile.zaurus0000644000175000017500000000517211467300751016240 0ustar stevesteve# Notes About This Port # ===================== # Since GNU Robbo now has moved on from requiring only libSDL, my port # for the Sharp Zaurus isn't going to happen unless I remove the # dependencies on libSDL_image, libpng, libjpeg and the libraries # necessary for ogg playback. These libraries and accompanying devel # packages either cannot be or are very difficult to find now for these # aging devices, and from previous experience I've found that libSDL # plus libSDL_mixer can both be easily located which gives uers the # best chance of being able to experience this game. # # Since now this port can be considered a hack there are some things # that I've had to do and some decisions I've made :- # # * Added some PLATFORM_ZAURUS specific code which I've commited to SVN. # * I'm not including the Oily skin (it uses alpha) within the package. # * Redesigned the designer k_icons (uses alpha) for the Tronic skin # and converted to bmp which I will commit to SVN as the default # Tronic k_icon*.png set (no alpha). # * Only included the Tronic skin since everything I do to the Tronic # skin I'd have to do to the Original skin and it would also help to # offset the extra data from converting the oggs to wavs. # * I've reconverted the Tronic icons*.pngs back to bmps which I won't # be committing to SVN (no point, anyone can do this themselves). # * Converted the oggs to wavs (I used "oggdec *" under Linux) which I # won't be committing to SVN. # # You won't need to alter these for the Sharp ROM TARGET=$(shell cat TARGET) SOURCES=$(wildcard *.c) OBJECTS=$(patsubst %.c, %.o, $(SOURCES)) VERSION=$(shell cat VERSION) export PREFIX=/opt/QtPalmtop # Comment out the line below if you want to disable music support #MUSIC=-DHAVE_MUSIC # Comment out the line below if you want to disable the designer DESIGNER=-DHAVE_DESIGNER # This uses the default cross compiler directory of /opt/Embedix and the default QPE directory of /opt/Qtopia DEVPREFIX=/opt/Qtopia/sharp SDL_CONFIG=$(DEVPREFIX)/bin/sdl-config CC=/opt/Embedix/tools/bin/arm-linux-gcc CFLAGS=-O3 -pipe -Wall -fomit-frame-pointer \ -I$(DEVPREFIX)/include `$(SDL_CONFIG) --prefix=$(DEVPREFIX) --cflags` -DNO_DEBUG -DQWS \ -DPLATFORM_ZAURUS -DVERSION=\"$(VERSION)\" \ -DPACKAGE_DATA_DIR=\"$(PREFIX)/share/$(TARGET)\" -DUSE_PIXMAP_FONT $(MUSIC) $(DESIGNER) LINK=$(CC) LDFLAGS=-L$(DEVPREFIX)/lib LIBS=`$(SDL_CONFIG) --prefix=$(DEVPREFIX) --libs` -lSDL_mixer # You won't need to alter anything below all: $(SOURCES) $(TARGET) $(TARGET): $(OBJECTS) $(LINK) $(LDFLAGS) $(OBJECTS) $(LIBS) -o $@ zaurus/build-$(TARGET) %.o: %.c $(CC) $(CFLAGS) -c $< -o $@ .PHONY: all clean clean: rm -f *.o gnurobbo-0.66+dfsg/README0000644000175000017500000002005411355415450014123 0ustar stevesteve+-------+ | About | +-------+ GNU Robbo is a free open source reimplementation of Janusz Pelc's Robbo for the Atari XE/XL which was distributed by LK Avalon in 1989. +---------+ | History | +---------+ The first version of Robbo was released in 1989 by LK Avalon, and in a short time became very popular in "little" Atari's world. Their main developer Janusz Pelc did a very good job. There are rumours that he wrote the game just three months before his graduation exam ;) In 1990 Janusz Pelc and LK Avalon released their next product Robbo Konstruktor which enabled people to create their own levels. In 1991, Maciej Miasik (http://www.linkedin.com/in/tosiabunio) developed The Adventures of Robbo for XLanD Games -- an updated PC-DOS port of the Atari version -- and published by Epic Games. In 2006 Maciej Miasik declared that the idea and code of the PC-DOS version to be licenced under the Creative Commons Attribution-Share Alike 2.5 Generic licence (http://www.miasik.net/archive/2006/06/moje-gry-dla-kazdego/). I (Alus) just ported it to Linux trying to set Robbo's behaviour as similar as it is possible. You can still buy Windows version of Robbo in "LK Avalon", with better graphics and new objects and levels. Thunor joined the project in 2007 and completely rebuilt first version. +------------------------------------------+ | A More Complicated History, Allegedly :p | +------------------------------------------+ Janusz Pelc's company XLanD Games created the Atari Robbo game and it was distributed by LK Avalon, a promoter of independent developers. In 1991 whilst working for XLanD Games, Maciej Miasik created the PC version. In 1994 XLanD Games agreed to sell the rights to the PC version to LK Avalon and then XLanD Games went out of business. Later in 1996, Maciej Miasik joined LK Avalon and worked on several projects until 2001. In 2006 with the permission of past and present LK Avalon employees he released the PC version under a Creative Commons licence. As far as licencing goes, any agreements between Janusz Pelc/XLanD and LK Avalon regarding the Atari version disappeared with the demise of XLanD Games, but the GNU Robbo team have been told that the Atari Robbo game was the property of Janusz Pelc/XLanD Games and Janusz Pelc has no problems with the existence of the GNU Robbo project. +--------------+ | Requirements | +--------------+ libSDL libSDL_mixer libSDL_image and accompanying devel packages. Optional: libSDL_ttf and accompanying devel package. Most Linux distributions come pre-installed with these libraries but you will likely have to install the development versions yourself. For more information about the SDL libraries, please visit http://www.libsdl.org/ http://www.libsdl.org/projects/SDL_mixer/ http://www.libsdl.org/projects/SDL_image/ http://www.libsdl.org/projects/SDL_ttf/ +--------------+ | Installation | +--------------+ See COMPILING. +------+ | Keys | +------+ Default PC controls :- Enter Confirm Cursors Move Cursors + RShift Shoot R Restart Escape Exit All keys are reconfigurable and are listed in Options. Digital and analogue joysticks are also supported and it's possible to mix input devices. +-----------------+ | Pointer Support | +-----------------+ The game can be controlled entirely with a pointing device (mouse or stylus). By default the menu items throughout the game can be clicked, and to activate the in-game control pad and toolbar you should simply click anywhere on the screen. To shoot use either of these methods :- * Drag from Robbo to a direction to shoot once and remain in walk mode. * Click Robbo to toggle shoot mode on, press a direction to shoot one or more bullets and then click Robbo again to toggle shoot mode off. +---------------+ | Music Support | +---------------+ Now GNU Robbo supports playing music. The way it does it, it plays ogg files during the game, if you go back to the main screen, music stops, and it is resumed when you get back. If music is on, volume keys control music volume, if it is disabled they control sound fx volume. If you want to have music, there are some things you should do: First of all, music support must have been compiled in (the default is to enable music support - see COMPILING), then find some music in ogg format, you want to be played in the game. Place the ogg files in GNU Robbo's data directory within the music folder and you should have music playing. +----------------+ | Level Designer | +----------------+ Now GNU Robbo includes a level designer. The level designer can be activated in-game via the Toggle Designer control (PC default F9). Primarily it is mouse driven and there are a set of icons top-right that control map scrolling, but you can also scroll using the up, down, left and right controls. Additionally the previous level, next level, previous pack and next pack controls function as expected. The most effective way to use the designer is to use a high resolution video mode with a maximised viewport, or by forcing the smaller 16x16 tile set to utilise lower resolutions. Try any of the following: gnurobbo -800x600 -vpx -ts 16 gnurobbo -1152x864 -vpx gnurobbo -1280x1024 -vpx It has pretty basic functionality: * User can edit existing levels or add new levels to existing level sets * User can create/edit levels in two sizes - 16x31 and 32x31 * User can add GNU Robbo specific objects such as rotating laser / blaster guns, shooting vertical birds, moving and rotating guns * User can add shots that will be shot at level start It has some limitations: * User cannot create new level sets * User cannot edit the level author information * User cannot edit the level colors * User cannot edit the level set name Currently the above limitations can be overcome by manually creating empty level files outside of the game, and by editing them with your favourite text editor. Whether or not the user has permission to write to the packaged level files depends on the target platform and the installation location, but the level file "MyLevels" is always maintained to be writable. Designer Usage Example ---------------------- Whilst in-game, press the Toggle Designer control (PC default F9). Now the user can edit the existing level or add a new one at the end of the level set. If the user wants to add a new level, they should double-click on the "clean page" icon. If the user wants to clear the level, they should double-click on the "eraser" icon. If the user clicks certain icons once (such as clear/insert) then a hint is displayed that explains that the user should click again to trigger the action (nothing will be committed until selecting "save"). To test the level, the user should save it first and then exit the designer by using either the keyboard (PC default ESC) or by clicking the "X" in the top-right upper corner (black cross on red background). The icons on purple backgrounds are control icons, and they are: * Gun type (laser/blaster/regular) * Guns movable, rotable or movable and rotable * Direction - this controls direction of bears, birds, shots, and gun movement * Eraser (double-click) - clears current level * New level (double-click) - clears level data and triggers that the level will be appended to the level set * Save level (double-click) * Reload level * Level size 16x31 or 32x31 +----------------------+ | Command Line Options | +----------------------+ GNU Robbo version 0.xx Usage: gnurobbo [options] Options: -XRESxYRES e.g. -800x480 -ts n Tile size 16 or 32 -vpx Maximise the viewport -f Run the game fullscreen The tile size of 16 is used in video modes less than 480x480. On suitably large video modes, maximising the viewport will enable you to see more of the level but this is considered cheating and is only meant for level design and testing. If you are interested in designing levels then please see the Level Designer section above. Homepage of this game is available at: http://gnurobbo.sourceforge.net -- The GNU Robbo Team gnurobbo-0.66+dfsg/gnurobbo.spec0000644000175000017500000001055111322150701015722 0ustar stevesteve%define name gnurobbo %define version 0.65 %define release %mkrel 1 Summary: Logic game ported from ATARI XE/XL Name: %{name} Version: %{version} Release: %{release} License: GPLv2+ Group: Games/Arcade Source: http://prdownloads.sourceforge.net/gnurobbo/%{name}-%{version}-source.tar.gz Source10: %{name}.16.png.bz2 Source11: %{name}.32.png.bz2 Source12: %{name}.48.png.bz2 URL: http://gnurobbo.sourceforge.net BuildRoot: %{_tmppath}/%{name}-buildroot BuildRequires: libSDL-devel BuildRequires: libSDL_ttf-devel BuildRequires: libSDL_image-devel BuildRequires: libSDL_mixer-devel #Requires: libSDL1.2 >= 1.2.5 #Requires: libSDL_ttf2.0_0 >= 2.0.5 %description GNU Robbo is a very addictive logic game. You must help little robot to get out of an unfriendly planet, collecting parts of an emergency capsule. %prep rm -rf $RPM_BUILD_ROOT %setup -q %build %make PACKAGE_DATA_DIR=%{_datadir}/%{name} %install rm -rf $RPM_BUILD_ROOT %makeinstall BINDIR=$RPM_BUILD_ROOT/%{_bindir} \ PACKAGE_DATA_DIR=$RPM_BUILD_ROOT/%{_datadir}/%{name} \ DOCDIR=$RPM_BUILD_ROOT/%{_docdir}/%{name} mkdir -p $RPM_BUILD_ROOT%{_datadir}/applications cat > $RPM_BUILD_ROOT%{_datadir}/applications/mandriva-%{name}.desktop << EOF [Desktop Entry] Name=GNU Robbo Comment=%{summary} Exec=%{_bindir}/%{name} Icon=%{name} Terminal=false Type=Application StartupNotify=true Categories=Game;ArcadeGame; EOF mkdir -p $RPM_BUILD_ROOT/%{_miconsdir} mkdir -p $RPM_BUILD_ROOT/%{_liconsdir} bzcat %{SOURCE10} > $RPM_BUILD_ROOT%{_miconsdir}/%{name}.png bzcat %{SOURCE11} > $RPM_BUILD_ROOT%{_iconsdir}/%{name}.png bzcat %{SOURCE12} > $RPM_BUILD_ROOT%{_liconsdir}/%{name}.png %if %mdkversion < 200900 %post %{update_menus} %endif %if %mdkversion < 200900 %postun %{clean_menus} %endif %clean rm -rf $RPM_BUILD_ROOT %files %defattr(-, root, root) %{_bindir}/* %{_datadir}/%{name} %{_datadir}/applications/mandriva-%{name}.desktop %defattr(644,root,root,755) %doc README ChangeLog AUTHORS %{_miconsdir}/%{name}.png %{_iconsdir}/%{name}.png %{_liconsdir}/%{name}.png %changelog * Wed Dec 30 2009 Crispin Boylan 0.65-1mdv2010.1 + Revision: 483836 - BuildRequires SDL_mixer - New release * Fri May 15 2009 Samuel Verschelde 0.62-1mdv2010.0 + Revision: 376151 - new version 0.62 * Tue Mar 03 2009 Crispin Boylan 0.61-1mdv2009.1 + Revision: 347659 - New version, does not use configure * Thu Jul 24 2008 Thierry Vignaud 0.57-13mdv2009.0 + Revision: 246501 - rebuild + Pixel - rpm filetriggers deprecates update_menus/update_scrollkeeper/update_mime_database/update_icon_cache/update_desktop_database/post_install_gconf_schemas * Wed Mar 19 2008 Emmanuel Andry 0.57-11mdv2008.1 + Revision: 189023 - Drop useless requires * Mon Feb 18 2008 Thierry Vignaud 0.57-10mdv2008.1 + Revision: 170871 - rebuild - fix "foobar is blabla" summary (=> "blabla") so that it looks nice in rpmdrake * Tue Jan 22 2008 Crispin Boylan 0.57-9mdv2008.1 + Revision: 156329 - Fix requires * Mon Jan 21 2008 Crispin Boylan 0.57-8mdv2008.1 + Revision: 155922 - Rebuild + Olivier Blin - restore BuildRoot + Thierry Vignaud - kill re-definition of %%buildroot on Pixel's request * Fri Dec 14 2007 Funda Wang 0.57-7mdv2008.1 + Revision: 119618 - rebuild to fix menu + Thierry Vignaud - kill desktop-file-validate's error: string list key "Categories" in group "Desktop Entry" does not have a semicolon (";") as trailing character - kill desktop-file-validate's 'warning: key "Encoding" in group "Desktop Entry" is deprecated' * Mon Apr 30 2007 Crispin Boylan 0.57-6mdv2008.0 + Revision: 19463 - XDG menu - Import gnurobbo * Mon Apr 28 2005 Giuseppe Ghib 0.57-5mdk - Fixed dep for x86-64. * Thu Sep 02 2004 Lenny Cartier 0.57-4mdk - fix menu * Thu Jun 03 2004 Lenny Cartier 0.57-1mdk - 0.57 * Fri Nov 08 2002 Lenny Cartier 0.56-1mdk - add menu - from Arkadiusz Lipiec : - Created gnurobbo-0.66+dfsg/board.c0000644000175000017500000021252711437207421014504 0ustar stevesteve/* GNU Robbo * Copyright (C) 2002-2010 The GNU Robbo Team (see AUTHORS). * * GNU Robbo is free software - you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2, or (at your option) * any later version. * * GNU Robbo is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the impled warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with GNU CC; see the file COPYING. If not, write to the * Free Software Foundation, 59 Temple Place - Suite 330, * Boston, MA 02111-1307, USA. * */ #include "game.h" /* Defines */ /* #define DEBUG_MONITOR_OBJECT_PROCESSING #define DEBUG_INSPECT_OBJECT_CONTENTS #define DEBUG_BEAR_LOGIC */ #define MAX_TELEPORT_IDS 15 /* max number of teleports of one kind at level */ /* * Variables */ /* * Function prototypes */ int random_id(void); int update_coords(struct Coords *coords, int direction); void set_images(int type, int x, int y); int can_move(struct Coords coords, int direction); void move_object(int x, int y, struct Coords coords); void shoot_object(int x, int y, int direction); void blow_bomb(int x, int y); void check_object_if_blowed(int x, int y); int find_teleport(struct Coords *coords, int teleportnumber, int teleportnumber2); int is_robbo_killed(void); void kill_robbo(void); /*************************************************************************** * Update Game * ***************************************************************************/ /* * Main function for the game - called every game cycle. * * Thunor: Objects that I have 'processed' checked that required it :- [x] * - BEAR/_B [x] - BARRIER [x] - BIRD [x] - BUTTERFLY [x] - BLASTER [x] - * LASER_L/D [x] - PUSH_BOX [x] - GUN * */ void update_game(void) { int x_tmp, flag, sflag, temp_state = 0, temp_blowed = 0, temp_direction = 0; struct Coords coords, coords_temp, dest, coords_side_behind, coords_behind; int x, y, i, forceforward; dest.x = 0; /* to avoid warnings */ dest.y = 0; play_music(); /* * Firstly, update Robbo */ if (is_robbo_killed()) kill_robbo(); /* If Robbo has been killed then mark everything to be blown-up */ if (robbo.shooted > 0) robbo.shooted--; /* Decrement shot delay */ if (robbo.moved > 0) robbo.moved--; /* Decrement movement delay */ if (robbo.moved == 0) { robbo.teleporting = FALSE; redraw_field(robbo.x, robbo.y); /* * Is Robbo currently being pulled by a magnet? */ if (robbo.blocked == 1) { set_coords(&coords, robbo.x, robbo.y); if (can_move(coords, robbo.blocked_direction)) { play_sound(SFX_MAGNET, SND_NORM); /* play magnet sound */ switch (robbo.blocked_direction) { case 0: robbo.x++; break; case 2: robbo.x--; break; case 1: robbo.y++; break; case 3: robbo.y--; break; } robbo.moved = DELAY_MAGNET_ATTRACT; redraw_field(robbo.x, robbo.y); } else { kill_robbo(); return; /* Thunor: this was already here; I didn't add this, but I did add some lower down */ } } } else if (robbo.moved == DELAY_ROBBO_ANIMATE) { robbo.state = !robbo.state; /* Toggle Robbo's image */ redraw_field(robbo.x, robbo.y); } /* * Now iterate through every board location updating objects */ for (y = 0; y < level.h; y++) { /* Thunor: I have swapped these around to process by rows */ for (x = 0; x < level.w; x++) { /* Thunor: I have swapped these around to process by rows */ /* * Thunor: I've added this check to filter out already * processed objects. Additionally the object logic updates * other objects and I have modified the code to mark those as * processed too. The reason I am doing this is because objects * can get moved ahead of the x/y loop resulting in them having * at least their shooted/rotated/moved properties decremented * more than once for this cycle and they go out of sync */ if (board[x][y].processed != cycle_count) { board[x][y].processed = cycle_count; /* * GUN and BIRD objects can rotate and shoot so update * their delays here */ if (board[x][y].type == GUN || board[x][y].type == BIRD || board[x][y].type==MAGNET) { if (board[x][y].shooted > 0) board[x][y].shooted--; /* Decrement shot delay */ if (board[x][y].rotated > 0) board[x][y].rotated--; /* Decrement rotation delay */ } /* * Decrement the object's delay and then check if it needs * processing */ if (board[x][y].moved > 0) board[x][y].moved--; if (board[x][y].moved <= 0) { check_object_if_blowed(x, y); /* blow objects marked for blowing */ set_coords(&coords, x, y); switch (board[x][y].type) { /*********************/ /* BEAR/_B logic */ /*********************/ case BEAR: case BEAR_B: /* * Left/right-hand rule maze traversal: this is * the exact same way that the original Robbo does * it. The bears will attempt to manoeuvre around * all obstacles but this takes time and they will * get killed by laser fire and push boxes * especially if they meet them head-on */ set_coords(&coords, x, y); if (game_mode == GAME_ON) { if (board[x][y].type == BEAR) { update_coords(&coords, (board[x][y].direction + 3) & 3); /* Get coords of left board location */ } else { update_coords(&coords, (board[x][y].direction + 1) & 3); /* Get coords of right board location */ } } forceforward = FALSE; /* * Are we implementing sensible_bears? In the * Atari Robbo, there are two conditions that * place bears into irritating states that become * annoying: single bears in empty space going * around themselves and two bears of the same * type going around one another. * * |N| | = If this is a BEAR_B taking rights, it * will go clockwise forever. | | | N is north. * * | |N| = If these are BEARs taking lefts, they * will go anti-clockwise forever. |S| | N is * north, S is south. * * sensible_bears detects the conditions that lead * to these problems and fixes them by forcing the * bears to go forward until they find another * obstacle to navigate around */ if (game_mechanics.sensible_bears) { set_coords(&coords_side_behind, coords.x, coords.y); update_coords(&coords_side_behind, (board[x][y].direction + 2) & 3); /* Get coords of side-behind board location */ set_coords(&coords_behind, coords_side_behind.x, coords_side_behind.y); if (board[x][y].type == BEAR) { update_coords(&coords_behind, (board[x][y].direction + 1) & 3); /* Get coords of behind board location */ } else { update_coords(&coords_behind, (board[x][y].direction + 3) & 3); /* Get coords of behind board location */ } if (board[coords.x][coords.y].type == EMPTY_FIELD && board[coords_behind.x][coords_behind.y]. type == EMPTY_FIELD && (board[coords_side_behind.x] [coords_side_behind.y].type == EMPTY_FIELD || board[x][y].type == board[coords_side_behind.x] [coords_side_behind.y].type)) { forceforward = TRUE; } } #ifdef DEBUG_BEAR_LOGIC if (board[x][y].type == BEAR) { printf("|%02i| @| %06i: BEAR at %03i.%03i\n", board[coords.x][coords.y].type, cycle_count, x, y); printf("|%02i|%02i|\n", board[coords_side_behind.x] [coords_side_behind.y].type, board[coords_behind.x][coords_behind.y]. type); } else if (board[x][y].type == BEAR_B) { printf("| *|%02i| %06i: BEAR_B at %03i.%03i\n", board[coords.x][coords.y].type, cycle_count, x, y); printf("|%02i|%02i|\n", board[coords_behind.x][coords_behind.y]. type, board[coords_side_behind.x] [coords_side_behind.y].type); } #endif /* * Check left/right and if it's clear then take it */ if (board[coords.x][coords.y].type == EMPTY_FIELD && !forceforward) { /* * Left/right is clear so change to that * direction and move there */ if (board[x][y].type == BEAR) { board[x][y].direction = (board[x][y].direction + 3) & 3; /* Go left */ } else { board[x][y].direction = (board[x][y].direction + 1) & 3; /* Go right */ } board[x][y].moved = DELAY_BEAR; negate_state(x, y); move_object(x, y, coords); } else { /* * Left/right is not clear so check forward * and if it's clear then take it */ set_coords(&coords, x, y); update_coords(&coords, board[x][y].direction); /* Get coords of forward board location */ if (board[coords.x][coords.y].type == EMPTY_FIELD) { /* * Forward is clear so move there */ board[x][y].moved = DELAY_BEAR; negate_state(x, y); move_object(x, y, coords); } else { /* * Forward is not clear so rotate * rightward but don't move */ if (board[x][y].type == BEAR) { board[x][y].direction = (board[x][y].direction + 1) & 3; /* Go forward */ } else { board[x][y].direction = (board[x][y].direction + 3) & 3; /* Go forward */ } board[x][y].moved = DELAY_BEAR; board[x][y].processed = cycle_count; /* Because we're not moving, we do this manually */ negate_state(x, y); } } break; /*********************/ /* BARRIER logic */ /*********************/ case BARRIER: flag = 0; x_tmp = x; if (board[x][y].direction == 0) { /* East -> */ while (x_tmp < level.w && board[x_tmp][y].type != WALL) x_tmp++; x_tmp--; if (board[x_tmp][y].type == BARRIER) { temp_state = board[x_tmp][y].state; temp_blowed = board[x_tmp][y].blowed; temp_direction = board[x_tmp][y].direction; clear_field(x_tmp, y); negate_state(x_tmp, y); flag = 1; } while (x_tmp >= 0 && board[x_tmp][y].type != WALL) { x_tmp--; /* * Thunor: I added "x_tmp >= 0 && " below * to prevent referencing invalid array * elements as x_tmp can be -1 here if the * barrier is up against the left map * edge. Following this block of code, * x_tmp is incremented and so this is the * most suitable solution */ if (x_tmp >= 0 && board[x_tmp][y].type == BARRIER) { check_object_if_blowed(x_tmp, y); dest.x = x_tmp + 1; dest.y = y; if ((dest.x == robbo.x) && (dest.y == robbo.y)) { kill_robbo(); return; /* Thunor: Exiting here stops new barriers from being created */ } move_object(x_tmp, y, dest); /* * board[dest.x][dest.y].direction = * 0; */ board[dest.x][dest.y].moved = DELAY_BARRIER; board[dest.x][dest.y].processed = cycle_count; /* Thunor: Prevents this object from being processed again this cycle */ negate_state(dest.x, dest.y); } } x_tmp++; if (flag == 1) { if ((dest.x == robbo.x) && (dest.y == robbo.y)) { kill_robbo(); return; /* Thunor: Exiting here stops new barriers from being created */ } if (robbo.x == x_tmp && robbo.y == y) { kill_robbo(); return; } create_object(x_tmp, y, BARRIER); board[x_tmp][y].state = temp_state; board[x_tmp][y].blowed = temp_blowed; board[x_tmp][y].direction = temp_direction; board[x_tmp][y].moved = DELAY_BARRIER; negate_state(x_tmp, y); } } else if (board[x][y].direction == 2) { /* <- West */ while (x_tmp >= 0 && board[x_tmp][y].type != WALL) x_tmp--; x_tmp++; if (board[x_tmp][y].type == BARRIER) { temp_state = board[x_tmp][y].state; temp_blowed = board[x_tmp][y].blowed; temp_direction = board[x_tmp][y].direction; clear_field(x_tmp, y); negate_state(x_tmp, y); flag = 1; } while (x_tmp < level.w && board[x_tmp][y].type != WALL) { x_tmp++; /* * Thunor: I added "x_tmp < level.w && " * below to prevent referencing invalid * array elements as x_tmp can be level.w * here if the barrier is up against the * right map edge. Following this block of * code, x_tmp is decremented and so this * is the most suitable solution */ if (x_tmp < level.w && board[x_tmp][y].type == BARRIER) { check_object_if_blowed(x_tmp, y); dest.x = x_tmp - 1; dest.y = y; if ((dest.x == robbo.x) && (dest.y == robbo.y)) { kill_robbo(); return; /* Thunor: Exiting here stops new barriers from being created */ } move_object(x_tmp, y, dest); /* * board[dest.x][dest.y].direction = * 2; */ board[dest.x][dest.y].moved = DELAY_BARRIER; board[dest.x][dest.y].processed = cycle_count; /* Thunor: Prevents this object from being processed again this cycle */ negate_state(dest.x, dest.y); } } x_tmp--; if (flag == 1 && temp_blowed == 0) { if ((dest.x == robbo.x) && (dest.y == robbo.y)) { kill_robbo(); return; /* Thunor: Exiting here stops new barriers from being created */ } if (robbo.x == x_tmp && robbo.y == y) { kill_robbo(); return; } create_object(x_tmp, y, BARRIER); board[x_tmp][y].state = temp_state; board[x_tmp][y].moved = DELAY_BARRIER; board[x_tmp][y].direction = temp_direction; negate_state(x_tmp, y); } } break; /*********************/ /* BIRD logic */ /*********************/ case BIRD: if (can_move(coords, board[x][y].direction)) { update_coords(&coords, board[x][y].direction); move_object(x, y, coords); } else board[x][y].direction = (board[x][y].direction + 2) & 0x03; if (board[coords.x][coords.y].shooting) { if (board[coords.x][coords.y].shooted == 0) { if ((my_rand() & 0x07) == 0) { /* bird shoots */ shoot_object(coords.x, coords.y, board[coords.x][coords.y]. direction2); if (in_viewport(x, y)) play_sound(SFX_BIRD, SND_NORM); else play_sound(SFX_BIRD,SND_QUIET); } else board[coords.x][coords.y].shooted = DELAY_LASER; } } board[coords.x][coords.y].moved = DELAY_BIRD; negate_state(coords.x, coords.y); break; /*********************/ /* BUTTERFLY logic */ /*********************/ case BUTTERFLY: if (can_move(coords, board[x][y].direction)) { update_coords(&coords, board[x][y].direction); move_object(x, y, coords); } if (!(rand() & 0x07)) /* chances for random move */ board[coords.x][coords.y].direction = rand() & 0x03; else if ((rand() & 0x01) == 0) { /* if butterfly flies horizontally */ if (robbo.x > coords.x) board[coords.x][coords.y].direction = 0; else if (robbo.x < coords.x) board[coords.x][coords.y].direction = 2; } else { /* if butterfly flies vertically */ if (robbo.y > coords.y) board[coords.x][coords.y].direction = 1; else if (robbo.y < coords.y) board[coords.x][coords.y].direction = 3; } board[coords.x][coords.y].moved = DELAY_BUTTERFLY; negate_state(coords.x, coords.y); break; /*********************/ /* BLASTER logic */ /*********************/ case BLASTER: set_coords(&coords, x, y); redraw_field(x, y); set_coords(&coords_temp, x, y); /* * neurocyp now we will check if the gun was removed during blaster shot, if so, we have to react */ temp_state = board[coords_temp.x][coords_temp.y].state; while (board[coords_temp.x][coords_temp.y].type == BLASTER) { temp_state = board[coords_temp.x][coords_temp.y].state; update_coords(&coords_temp, (board[coords_temp.x] [coords_temp.y].direction + 2) % 4); } if (temp_state < 3 && board[coords_temp.x][coords_temp.y].type != GUN) { create_object(coords.x, coords.y, LITTLE_BOOM); /* so the gun was removed during shot? ok, clear it out */ board[coords.x][coords.y].moved = DELAY_BLASTER; break; } if (!update_coords (&coords, board[coords.x][coords.y].direction) && board[x][y].state == 0) { if (robbo.x == coords.x && robbo.y == coords.y) { kill_robbo(); return; /* Thunor: Exiting here stops new blasters from being created */ } switch (board[coords.x][coords.y].type) { case DOOR: case WALL: case MAGNET: case BOX: case TELEPORT: case PUSH_BOX: case RADIOACTIVE_FIELD: case STOP: case GUN: case LASER_D: case LASER_L: case BLASTER: case SCREW: case KEY: case CAPSULE: break; case BOMB: case BOMB2: board[coords.x][coords.y].blowed = DELAY_BLASTER; break; default: clear_field(coords.x, coords.y); create_object(coords.x, coords.y, BLASTER); board[coords.x][coords.y].direction = board[x][y].direction; board[coords.x][coords.y].direction2 = board[x][y].direction2; board[coords.x][coords.y].moved = DELAY_BLASTER; } } if (board[x][y].state < 4) { board[x][y].state++; board[x][y].moved = DELAY_BLASTER; } else { clear_field(x, y); } break; /*********************/ /* CAPSULE logic */ /*********************/ case CAPSULE: if (robbo.exitopened) { negate_state(x, y); board[x][y].moved = DELAY_CAPSULE; } break; /*********************/ /* LITTLE_BOOM logic */ /*********************/ case LITTLE_BOOM: redraw_field(x, y); if (board[x][y].state < 3) { board[x][y].state++; board[x][y].moved = DELAY_LITTLE_BOOM; } else clear_field(x, y); break; /*********************/ /* LASER_L/D logic */ /*********************/ case LASER_L: case LASER_D: redraw_field(x, y); update_coords(&coords, board[x][y].direction); board[x][y].moved = DELAY_LASER; if ((coords.x == robbo.x) && (coords.y == robbo.y) && !board[x][y].returnlaser) { kill_robbo(); return; /* Thunor: Exiting here stops new lasers from being created */ } set_coords(&coords, x, y); if (board[x][y].solidlaser == 0) { negate_state(x, y); if (can_move(coords, board[x][y].direction)) { /* normal shooting */ update_coords(&coords, board[x][y].direction); move_object(x, y, coords); board[coords.x][coords.y].moved = DELAY_LASER; } else { /* blow object if it's destroyable */ if (!update_coords (&coords, board[x][y].direction) && board[coords.x][coords. y].destroyable) { if ((board[coords.x][coords.y].type != BOMB) && (board[coords.x][coords.y].type != BOMB2)) { if (in_viewport(x, y)) { play_sound(SFX_KILL, SND_NORM); } else { play_sound(SFX_KILL,SND_QUIET);} } clear_field(x, y); board[coords.x][coords.y].blowed = 1; redraw_field(coords.x, coords.y); } else { clear_field(x, y); /* clear lasertrack */ create_object(x, y, LITTLE_BOOM); board[x][y].moved = DELAY_LITTLE_BOOM; break; } } } else { /* **************************** laser is solid ********************** */ set_coords(&coords_temp, x, y); /* first let's check that laser starts from a gun, if not, means gun was moved, or blown */ while (board[coords_temp.x][coords_temp.y].type == board[x][y].type && coords_temp.x>=0 && coords_temp.y>=0 && coords_temp.x<=level.w && coords_temp.y<=level.h) { /* move * on * laser */ if(update_coords(&coords_temp, (board[x][y].direction + 2) & 0x03)) break; } if (board[coords_temp.x][coords_temp.y].type != GUN) { /* ok, now we are at the beginning of laser beam if it is not a gun, which is there, destroy laser */ create_object(x, y, LITTLE_BOOM); break; } /* neurocyp: set the state for the whole beam (begin)*/ set_coords(&coords_temp, x, y); update_coords(&coords_temp, (board[x][y].direction+2) & 0x03); if(board[coords_temp.x][coords_temp.y].type==GUN) { /* are we at the beginning of the laser? */ temp_state=(board[x][y].state==3)?2:3; set_coords(&coords_temp, x, y); /* first let's check that laser starts from a gun, if not, means gun was moved, or blown */ while ((board[coords_temp.x][coords_temp.y].type == board[x][y].type) && board[coords_temp.x][coords_temp.y].direction==board[x][y].direction && coords_temp.x>=0 && coords_temp.y>=0 && coords_temp.x<=level.w && coords_temp.y<=level.h) { /* move * on * laser with the same direction and all */ redraw_field(coords_temp.x, coords_temp.y); /* we will have to redraw the whole beam, as we changed it's state*/ board[coords_temp.x][coords_temp.y].state=temp_state; if(update_coords(&coords_temp, board[x][y].direction)) break; /* just in case, if we are unable to update coords then we quit the loop */ } } /* neurocyp: set the state for the whole beam (end)*/ if (can_move(coords, board[x][y].direction) && board[x][y].returnlaser == 0) { /* if can shoot */ update_coords(&coords, board[x][y].direction); shoot_object(x, y, board[x][y].direction); board[coords.x][coords.y].moved = DELAY_LASER; } else { if (board[x][y].returnlaser == 1) { set_coords(&coords, x, y); /* checking if laser is near gun */ update_coords(&coords, (board[x][y].direction + 2) & 0x03); clear_field(x, y); if (board[coords.x][coords.y].type == GUN) { create_object(x, y, LITTLE_BOOM); break; } if (board[coords.x][coords.y].type == LASER_D || board[coords.x][coords. y].type == LASER_L) { board[coords.x][coords. y].returnlaser = 1; board[coords.x][coords.y].moved = DELAY_LASER; board[coords.x][coords.y].processed = cycle_count; /* Thunor: Prevents this object from being processed again this cycle */ } } else { set_coords(&coords, x, y); if (!update_coords (&coords, board[x][y].direction)) { if (board[coords.x][coords.y].type == LASER_D || board[coords.x][coords. y].type == LASER_L) { if (board[coords.x] [coords.y].direction == board[x][y].direction) { break; } } if (board[coords.x] [coords.y].destroyable) { board[coords.x][coords. y].blowed = 1; if ((board[coords.x][coords.y].type != BOMB) && (board[coords.x][coords.y].type != BOMB2)) { if (in_viewport(x, y)) play_sound(SFX_KILL, SND_NORM); else play_sound(SFX_KILL,SND_QUIET); } } } board[x][y].returnlaser = 1; } } } break; /*********************/ /* BIG_BOOM logic */ /*********************/ case BIG_BOOM: redraw_field(x, y); if (board[x][y].state < 4) { board[x][y].state++; board[x][y].moved = DELAY_BIGBOOM; } else { i = board[x][y].id_questionmark; /* This is why create_object() doesn't clear this property */ if ((i > 0) && robbo.alive) { clear_field(x, y); if (i == QUESTIONMARK) board[x][y].id_questionmark = random_id(); create_object(x, y, i); switch (i) { case CAPSULE: open_exit(); break; case GUN: board[x][y].rotable = 1; board[x][y].randomrotated = 1; board[x][y].direction = rand() & 0x03; break; default: break; } } else clear_field(x, y); } break; /*********************/ /* RADIOACTIVE_FIELD logic */ /*********************/ case RADIOACTIVE_FIELD: negate_state(x, y); board[x][y].moved = DELAY_RADIOACTIVE_FIELD; break; /*********************/ /* TELEPORT logic */ /*********************/ case TELEPORT: negate_state(x, y); board[x][y].moved = DELAY_TELEPORT; break; /*********************/ /* TELEPORTING logic */ /*********************/ case TELEPORTING: redraw_field(x, y); if (board[x][y].state < 4) { board[x][y].state++; board[x][y].moved = DELAY_TELEPORTING; } else { clear_field(x, y); } break; /*********************/ /* PUSH_BOX logic */ /*********************/ case PUSH_BOX: if (board[x][y].state == 1) { /* box is moving */ set_coords(&coords, x, y); if (!update_coords (&coords, board[x][y].direction)) { if (board[coords.x][coords.y].type == EMPTY_FIELD) { move_object(x, y, coords); } else { shoot_object(x, y,board[x][y].direction); board[x][y].state = 0; board[x][y].redraw= 1; } } else board[x][y].state = 0; board[x][y].redraw= 1; if (in_viewport(x, y)) play_sound(SFX_BOX, SND_NORM); /* play the sound */ else play_sound(SFX_BOX,SND_QUIET); board[coords.x][coords.y].moved =DELAY_PUSHBOX; } break; /*********************/ /* MAGNET logic */ /*********************/ case MAGNET: i = 0; if (robbo.blocked == 1) break; /* *neurocyp we are already locked on a magnet we ignore other blocks */ if (board[x][y].rotable) { /* *neurocyp: we will not rotate, when we shoot */ if (board[x][y].rotated == 0) { temp_direction=rand() & 0x03; board[x][y].direction = temp_direction; board[x][y].state = temp_direction; board[coords.x][coords.y].rotated = DELAY_ROTATION; redraw_field(coords.x, coords.y); } } while (i == 0) { if (!update_coords (&coords, board[x][y].direction)) { if (robbo.x == coords.x && robbo.y == coords.y) { robbo.blocked = 1; robbo.blocked_direction = (board[x][y].direction + 2) & 0x03; } else switch (board[coords.x][coords.y].type) { /* * this things don't protect from * magnet */ case EMPTY_FIELD: break; default: i = 1; break; } } else i = 1; } break; /*********************/ /* GUN logic */ /*********************/ case GUN: set_coords(&coords, x, y); #ifdef DEBUG_MONITOR_OBJECT_PROCESSING printf ("cycle_count=%i: board[%i][%i].processed=%i\n", cycle_count, x, y, board[x][y].processed); #endif sflag = 0; /* shooting flag */ /* * we need to make sure this would not rotate nor * move, when it is shooting solid laser */ set_coords(&coords_temp, coords.x, coords.y); update_coords(&coords_temp, board[coords.x][coords.y].direction); if (board[coords_temp.x][coords_temp.y].direction == board[coords.x][coords.y].direction) switch (board[coords_temp.x] [coords_temp.y].type) { case BLASTER: case SOLID_LASER_L: case SOLID_LASER_D: case LASER_L: case LASER_D: sflag = 1; /* *neurocyp: we are not supposed to move nor rotate */ break; } if (sflag == 0) { if (board[coords.x][coords.y].movable) { /* *neurocyp: no move during solid laser or blaster shot */ if (can_move(coords, board[x][y].direction2)) { /* *neurocyp: here probably we should implement stopping during solid laser or blaster shot */ update_coords(&coords, board[x][y].direction2); move_object(x, y, coords); board[coords.x][coords.y].moved = DELAY_GUN; board[coords.x][coords.y].state = board[x][y].direction|0x04; } else { board[coords.x][coords.y].direction2 = (board[coords.x] [coords.y].direction2 + 2) & 0x03; board[coords.x][coords.y].state = board[x][y].direction|0x04; board[coords.x][coords.y].moved = DELAY_GUN; } } if (board[coords.x][coords.y].rotable) { /* *neurocyp: we will not rotate, when we shoot */ if (board[coords.x][coords.y].rotated == 0) { if (board[coords.x] [coords.y].randomrotated) { temp_direction=rand() & 0x03; if(board[coords.x][coords.y].movable==1) { board[coords.x][coords.y].direction2=abs(board[coords.x][coords.y].direction2+(temp_direction-board[coords.x][coords. y].direction)) % 4; } board[coords.x][coords. y].direction = temp_direction; } else { board[coords.x][coords. y].direction = (board[coords.x] [coords.y].direction + 1) & 0x03; } board[coords.x][coords.y].rotated = DELAY_ROTATION; redraw_field(coords.x, coords.y); } } } if (board[coords.x][coords.y].shooted == 0) { if (board[coords.x][coords.y].solidlaser == 2) { if (((rand()) & 0x07) == 0) { /* it's blaster */ if (in_viewport(x, y)) play_sound(SFX_GUN, SND_NORM); else play_sound(SFX_GUN,SND_QUIET); set_coords(&coords_temp, coords.x, coords.y); update_coords(&coords_temp, board[coords.x][coords. y].direction); if (robbo.x == coords_temp.x && robbo.y == coords_temp.y) { kill_robbo(); return; /* Thunor: Exiting here stops new blasters from being created */ } switch (board[coords_temp.x] [coords_temp.y].type) { case BLASTER: case TELEPORT: case MAGNET: case WALL: case BOX: case PUSH_BOX: case CAPSULE: case SCREW: case STOP: case RADIOACTIVE_FIELD: case KEY: case DOOR: case GUN: board[coords.x][coords.y].shooted = DELAY_LASER; break; case BOMB2: case BOMB: board[coords_temp. x][coords_temp.y].blowed = DELAY_LASER; break; default: clear_field(coords_temp.x, coords_temp.y); create_object(coords_temp.x, coords_temp.y, BLASTER); board[coords_temp.x][coords_temp.y].direction = board[coords.x][coords.y].direction; /* we allow moving blaster guns! */ board[coords_temp.x][coords_temp. y].direction2 = board[coords.x][coords. y].direction; board[coords_temp.x][coords_temp. y].moved = DELAY_BLASTER; board[coords.x][coords.y].shooted = DELAY_LASER; } } else board[coords.x][coords.y].shooted = DELAY_LASER; } else { if ((rand() & 0x07) == 0) { /* * gun shoots */ if (in_viewport(x, y)) play_sound(SFX_GUN, SND_NORM); else play_sound(SFX_GUN,SND_QUIET); shoot_object(coords.x, coords.y, board[coords.x][coords.y]. direction); } else board[coords.x][coords.y].shooted = DELAY_LASER; #ifdef DEBUG_MONITOR_OBJECT_PROCESSING printf ("--cycle_count=%i: board[coords.x=%i][coords.y=%i].processed=%i\n", cycle_count, coords.x, coords.y, board[coords.x][coords.y].processed); if (board[coords.x][coords.y].processed != cycle_count) printf ("--OBJECT NOT MARKED AS PROCESSED FOR THIS CYCLE! <<<<<<<<<<\n"); /* * printf("--cycle_count=%i: * board[dest.x=%i][dest.y=%i].processed=%i\n", * cycle_count, dest.x, dest.y, * board[dest.x][dest.y].processed); */ /* * if (board[dest.x][dest.y].processed != * cycle_count) printf("--OBJECT NOT * MARKED AS PROCESSED FOR THIS CYCLE! * <<<<<<<<<<\n"); */ #endif } } if (board[coords.x][coords.y].type==GUN && board[coords.x][coords.y].movable==1) board[coords.x][coords.y].state = board[coords.x][coords.y].direction +0x04; /* neurocyp: we want movable guns to have different icons */ else board[coords.x][coords.y].state = board[coords.x][coords.y].direction; break; } } } /* .processed check */ } } } /************************************************************/ /********** Init questionmark objects **********************/ /************************************************************/ void init_questionmarks(void) { int i, j; for (i = 0; i < level.w; i++) for (j = 0; j < level.h; j++) { if (board[i][j].type == QUESTIONMARK) { board[i][j].id_questionmark = random_id(); } } } /*************************************************************************** * Returning really random object * ***************************************************************************/ /* * Function returning random object id */ int random_id(void) { int ids[11] = { EMPTY_FIELD, PUSH_BOX, SCREW, BULLET, KEY, BOMB, GROUND, BUTTERFLY, GUN, QUESTIONMARK, CAPSULE }; if (game_mechanics.sensible_questionmarks) { return ids[my_rand() % 10]; } else { return ids[my_rand() % 11]; } } /******************************************************/ /* * Update Coords ************************************* */ /******************************************************/ /* * Note that if modifying the coords results in them going off-board then * the coords returned are the same as passed */ int update_coords(struct Coords *coords, int direction) { struct Coords coords_temp; coords_temp.x = coords->x; coords_temp.y = coords->y; if (direction == 0) coords->x++; else if (direction == 1) coords->y++; else if (direction == 2) coords->x--; else coords->y--; if (coords->x < 0 || coords->y < 0 || coords->x >= level.w || coords->y >= level.h) { set_coords(coords, coords_temp.x, coords_temp.y); return 1; } return 0; } /******************************************************/ /* * Set Coords **************************************** */ /******************************************************/ void set_coords(struct Coords *coords, int x, int y) { coords->x = x; coords->y = y; } /******************************************************/ /* * Coords Out Of Range ******************************* */ /******************************************************/ int coords_out_of_range(struct Coords coords) { if (coords.x < 0 || coords.x >= level.w || coords.y < 0 || coords.y >= level.h) return 1; else return 0; } /*************************************************************/ /* * Negating object state (birds waves their wings etc.. ***** */ /*************************************************************/ void negate_state(int x, int y) { if (x < level.w && y < level.h) { board[x][y].state = !board[x][y].state; board[x][y].redraw = TRUE; } } /******************************************************/ /* * Set Images **************************************** */ /******************************************************/ /* * translate coordinates in the icons file, so we do not have to know the * precise values, just where the icon is located */ int gcoord(int a) { /* this should be a macro, but if we would change the border sizes, we should include it now for tile size 16 border size is 1 and for ts=32 the border size is 2 */ return ((video.field_size / 16) * a) + ((a - 1) * video.field_size); } /* * Neurocyp: refactored it a bit, so it could be ready to increase the * tile size in the future */ void set_images(int type, int x, int y) { switch (type) { case EMPTY_FIELD: set_coords(&board[x][y].icon[0], 0, 0); break; case WALL: /* setting coords for icon */ set_coords(&board[x][y].icon[0], gcoord(3), gcoord(1)); /* WALL */ set_coords(&board[x][y].icon[1], gcoord(4), gcoord(1)); /* WALL_RED */ set_coords(&board[x][y].icon[2], gcoord(6), gcoord(3)); /* WALL_GREEN */ set_coords(&board[x][y].icon[3], gcoord(8), gcoord(2)); /* BLACK_WALL */ set_coords(&board[x][y].icon[4], gcoord(10), gcoord(2));/* FAT_WALL */ set_coords(&board[x][y].icon[5], gcoord(9), gcoord(6)); /* ROUND_WALL */ set_coords(&board[x][y].icon[6], gcoord(10), gcoord(6));/* BOULDER_WALL */ set_coords(&board[x][y].icon[7], gcoord(11), gcoord(1));/* SQUARE_WALL */ set_coords(&board[x][y].icon[8], gcoord(11), gcoord(2));/* LATTICE_WALL */ break; case SCREW: set_coords(&board[x][y].icon[0], gcoord(5), gcoord(1)); break; case BULLET: set_coords(&board[x][y].icon[0], gcoord(6), gcoord(1)); break; case BOX: set_coords(&board[x][y].icon[0], gcoord(7), gcoord(1)); break; case PUSH_BOX: set_coords(&board[x][y].icon[0], gcoord(7), gcoord(7)); set_coords(&board[x][y].icon[1], gcoord(9), gcoord(2)); /* pushed box changes state */ break; case KEY: set_coords(&board[x][y].icon[0], gcoord(8), gcoord(1)); break; case BOMB2: set_coords(&board[x][y].icon[0], gcoord(8), gcoord(7)); break; case BOMB: set_coords(&board[x][y].icon[0], gcoord(9), gcoord(1)); break; case DOOR: set_coords(&board[x][y].icon[0], gcoord(10), gcoord(1)); break; case QUESTIONMARK: set_coords(&board[x][y].icon[0], gcoord(1), gcoord(2)); break; case CAPSULE: set_coords(&board[x][y].icon[0], gcoord(6), gcoord(2)); set_coords(&board[x][y].icon[1], gcoord(7), gcoord(2)); break; case BEAR: set_coords(&board[x][y].icon[0], gcoord(2), gcoord(2)); set_coords(&board[x][y].icon[1], gcoord(3), gcoord(2)); break; case BIRD: set_coords(&board[x][y].icon[0], gcoord(4), gcoord(2)); set_coords(&board[x][y].icon[1], gcoord(5), gcoord(2)); break; case LITTLE_BOOM: set_coords(&board[x][y].icon[0], gcoord(2), gcoord(3)); set_coords(&board[x][y].icon[1], gcoord(3), gcoord(3)); set_coords(&board[x][y].icon[2], gcoord(4), gcoord(3)); set_coords(&board[x][y].icon[3], gcoord(5), gcoord(3)); break; case GROUND: set_coords(&board[x][y].icon[0], gcoord(6), gcoord(7)); break; case BEAR_B: set_coords(&board[x][y].icon[0], gcoord(7), gcoord(3)); set_coords(&board[x][y].icon[1], gcoord(8), gcoord(3)); break; case BUTTERFLY: set_coords(&board[x][y].icon[0], gcoord(9), gcoord(3)); set_coords(&board[x][y].icon[1], gcoord(10), gcoord(3)); break; case LASER_L: set_coords(&board[x][y].icon[0], gcoord(1), gcoord(4)); set_coords(&board[x][y].icon[1], gcoord(2), gcoord(4)); set_coords(&board[x][y].icon[2], gcoord(1), gcoord(3)); /* Thunor: Added for solid lasers */ set_coords(&board[x][y].icon[3], gcoord(6), gcoord(8)); break; case LASER_D: set_coords(&board[x][y].icon[0], gcoord(3), gcoord(4)); set_coords(&board[x][y].icon[1], gcoord(4), gcoord(4)); set_coords(&board[x][y].icon[2], gcoord(6), gcoord(4)); /* Thunor: Added for solid lasers */ set_coords(&board[x][y].icon[3], gcoord(7), gcoord(8)); /* Thunor: Added for solid lasers */ break; case TELEPORT: set_coords(&board[x][y].icon[0], gcoord(1), gcoord(5)); set_coords(&board[x][y].icon[1], gcoord(2), gcoord(5)); break; case TELEPORTING: /* Thunor: Added for dedicated teleport animation */ set_coords(&board[x][y].icon[0], gcoord(11), gcoord(4)); set_coords(&board[x][y].icon[1], gcoord(11), gcoord(5)); set_coords(&board[x][y].icon[2], gcoord(11), gcoord(6)); set_coords(&board[x][y].icon[3], gcoord(11), gcoord(7)); set_coords(&board[x][y].icon[4], gcoord(11), gcoord(8)); break; case BIG_BOOM: set_coords(&board[x][y].icon[0], gcoord(1), gcoord(8)); /* Neurocyp: Added to distinguish booms from blasters */ set_coords(&board[x][y].icon[1], gcoord(2), gcoord(8)); set_coords(&board[x][y].icon[2], gcoord(3), gcoord(8)); set_coords(&board[x][y].icon[3], gcoord(4), gcoord(8)); set_coords(&board[x][y].icon[4], gcoord(5), gcoord(8)); break; case GUN: set_coords(&board[x][y].icon[0], gcoord(6), gcoord(5)); set_coords(&board[x][y].icon[1], gcoord(7), gcoord(5)); set_coords(&board[x][y].icon[2], gcoord(8), gcoord(5)); set_coords(&board[x][y].icon[3], gcoord(9), gcoord(5)); set_coords(&board[x][y].icon[4], gcoord(9), gcoord(8)); set_coords(&board[x][y].icon[5], gcoord(10), gcoord(7)); set_coords(&board[x][y].icon[6], gcoord(10), gcoord(8)); set_coords(&board[x][y].icon[7], gcoord(9), gcoord(7)); break; case MAGNET: set_coords(&board[x][y].icon[0], gcoord(1), gcoord(1)); set_coords(&board[x][y].icon[1], gcoord(1), gcoord(7)); set_coords(&board[x][y].icon[2], gcoord(2), gcoord(1)); set_coords(&board[x][y].icon[3], gcoord(2), gcoord(7)); break; case BLASTER: set_coords(&board[x][y].icon[0], gcoord(3), gcoord(5)); set_coords(&board[x][y].icon[1], gcoord(4), gcoord(5)); set_coords(&board[x][y].icon[2], gcoord(5), gcoord(5)); set_coords(&board[x][y].icon[3], gcoord(4), gcoord(5)); set_coords(&board[x][y].icon[4], gcoord(3), gcoord(5)); break; case BARRIER: set_coords(&board[x][y].icon[0], gcoord(10), gcoord(4)); set_coords(&board[x][y].icon[1], gcoord(10), gcoord(5)); break; case RADIOACTIVE_FIELD: set_coords(&board[x][y].icon[0], gcoord(3), gcoord(7)); set_coords(&board[x][y].icon[1], gcoord(4), gcoord(7)); break; case STOP: set_coords(&board[x][y].icon[0], gcoord(5), gcoord(7)); break; } } /************************************************************/ /* * This function checks if object can move on the field **** */ /* * described by direction and coordinates, if not returns 0 */ /************************************************************/ int can_move(struct Coords coords, int direction) { if (update_coords(&coords, direction) || (board[coords.x][coords.y].type != EMPTY_FIELD) || ((robbo.x == coords.x) && (robbo.y == coords.y)) || board[coords.x][coords.y].moved > 0) return 0; else return 1; } /**************************************************/ /* * Function moves object deleting object data **** */ /* * from one field and moves them to another ****** */ /**************************************************/ void move_object(int x, int y, struct Coords coords) { int x1, y1; if ((x == coords.x) && (y == coords.y)) /* move to the same place */ return; x1 = coords.x; y1 = coords.y; board[x1][y1].type = board[x][y].type; board[x1][y1].state = board[x][y].state; board[x1][y1].direction = board[x][y].direction; board[x1][y1].destroyable = board[x][y].destroyable; board[x1][y1].blowable = board[x][y].blowable; board[x1][y1].killing = board[x][y].killing; board[x1][y1].moved = board[x][y].moved; board[x1][y1].blowed = board[x][y].blowed; board[x1][y1].shooted = board[x][y].shooted; board[x1][y1].rotated = board[x][y].rotated; board[x1][y1].solidlaser = board[x][y].solidlaser; board[x1][y1].rotable = board[x][y].rotable; board[x1][y1].randomrotated = board[x][y].randomrotated; /* * NOTE: teleportnumber is not being moved */ /* * NOTE: teleportnumber2 is not being moved */ board[x1][y1].id_questionmark = board[x][y].id_questionmark; board[x1][y1].direction2 = board[x][y].direction2; board[x1][y1].movable = board[x][y].movable; /* * NOTE: returnlaser is not being moved */ board[x1][y1].shooting = board[x][y].shooting; board[x1][y1].processed = board[x][y].processed; board[x1][y1].redraw = TRUE; set_images(board[x1][y1].type, x1, y1); clear_field(x, y); } /*************************************************************/ /******* If objects shoots... ********************************/ /*************************************************************/ void shoot_object(int x, int y, int direction) { struct Coords coords; if (board[x][y].shooted > 0) return; set_coords(&coords, x, y); if (update_coords(&coords, direction)) { board[coords.x][coords.y].shooted = DELAY_LASER; return; } if ((coords.x == robbo.x) && (coords.y == robbo.y)) { kill_robbo(); return; /* This prevents more lasers being created after Robbo dies */ } switch (board[coords.x][coords.y].destroyable) { case 1: if ((board[coords.x][coords.y].type != BOMB) && (board[coords.x][coords.y].type != BOMB2)){ if (in_viewport(x, y)) play_sound(SFX_KILL, SND_NORM); else play_sound(SFX_KILL, SND_QUIET); } board[coords.x][coords.y].blowed = 1; board[coords.x][coords.y].shooted = DELAY_LASER; if (board[x][y].solidlaser == 1) { board[x][y].moved = DELAY_LASER; } return; default: break; } switch (board[coords.x][coords.y].type) { case EMPTY_FIELD: if (direction == 0 || direction == 2) { clear_field(coords.x, coords.y); create_object(coords.x, coords.y, LASER_L); } else { clear_field(coords.x, coords.y); create_object(coords.x, coords.y, LASER_D); } board[coords.x][coords.y].direction = direction; board[coords.x][coords.y].solidlaser = board[x][y].solidlaser; board[x][y].shooted = DELAY_LASER; board[coords.x][coords.y].moved = DELAY_LASER; /* * Thunor: I decided to use different animation frame(s) for the * solid laser fire to make the graphics more interesting */ if (board[coords.x][coords.y].solidlaser == 1) board[coords.x][coords.y].state=(board[x][y].state==3)?board[x][y].state:(rand()%2)+2; break; case LASER_D: case LASER_L: break; } } /****************************************************************/ /* * Function marks all objects blowed around the bomb *********** */ /****************************************************************/ void blow_bomb(int x, int y) { struct Coords coords, laserpath; int i,x1,y1; if (robbo.alive) { if (in_viewport(x, y)) play_sound(SFX_BOMB, SND_NORM); else play_sound(SFX_BOMB, SND_QUIET); } if(!robbo.alive) { /* neurocyp: Robbo is not alive, we do not blow the bomb, we just create BIG_BOOM in its place */ create_object(x, y, BIG_BOOM); board[x][y].moved = DELAY_BIGBOOM; return; } for (i = 0; i < 9; i++) { /* neurocyp: here there was an ugly switch statement, now replaced with a little formula */ x1=(((i%3)>1)?-1:(i%3)); y1=((((i/3)%3)>1)?-1:((i/3)%3)); coords.x=x+x1; coords.y=y+y1; /* * Robbo was near blowing up */ if ((robbo.x == coords.x) && (robbo.y == coords.y)) { kill_robbo(); } /* * Blow-up the object */ if (!coords_out_of_range(coords) && !board[coords.x][coords.y].blowed && board[coords.x][coords.y].blowable) { if (board[coords.x][coords.y].type == GUN) { board[coords.x][coords.y].blowed = 1; board[coords.x][coords.y].moved = DELAY_BOMB_TARGET; /* * Thunor: In Atari Robbo the solid laser fire is left * live when the gun is destroyed which is a bit * nonsensical so I have introduced an rcfile overrideable * game_mechanic.sensible_solid_lasers */ if (board[coords.x][coords.y].solidlaser && game_mechanics.sensible_solid_lasers) { set_coords(&laserpath, coords.x, coords.y); while (!update_coords(&laserpath,(board[coords.x][coords.y].direction)) && (board[laserpath.x][laserpath.y].type == LASER_D || board[laserpath.x][laserpath.y].type == LASER_L) && board[laserpath.x][laserpath.y].solidlaser && board[laserpath.x][laserpath.y].direction == board[coords.x][coords.y].direction) { board[laserpath.x][laserpath.y].blowed = 1; board[laserpath.x][laserpath.y].moved = DELAY_BOMB_TARGET; } } /* * Thunor: In Atari Robbo the solid laser is not blowable * but in GNU Robbo there is no solid laser type, so I * need to check the solidlaser property here */ } else if (! ((board[coords.x][coords.y].type == LASER_D || board[coords.x][coords.y].type == LASER_L) && board[coords.x][coords.y].solidlaser)) { board[coords.x][coords.y].blowed = 1; board[coords.x][coords.y].moved = DELAY_BOMB_TARGET; board[coords.x][coords.y].id_questionmark = 0; /* blowed questionmark doesn't uncover */ } } } } /* Robbo Alex has at leas two different bomb types, here is the place, where we blow these */ /* routine is very similar to regular bomb */ void blow_bomb2(int x, int y) { struct Coords coords, laserpath; int i,direction=-1,x1,y1; if (robbo.alive) { if (in_viewport(x, y)) play_sound(SFX_BOMB, SND_NORM); else play_sound(SFX_BOMB, SND_QUIET); } if(!robbo.alive) { /* neurocyp: Robbo is not alive, we do not blow the bomb, we just create BIG_BOOM in its place */ create_object(x, y, BIG_BOOM); board[x][y].moved = DELAY_BIGBOOM; return; } for (i = 0; i < 9; i++) { x1=(((i%3)>1)?-1:(i%3)); /* neurocyp: move on x axis */ y1=((((i/3)%3)>1)?-1:((i/3)%3)); /* neurocyp: move on y axis */ coords.x=x+x1; coords.y=y+y1; if(x1==0 || y1==0) direction=(x1!=0)?(-x1+1):(-y1+2); /* calculate a direction */ /* Robbo was near the bomb */ if ((robbo.x == coords.x) && (robbo.y == coords.y)) { kill_robbo(); } /* * Blow-up the object */ if(x1!=0 && y1!=0) { if (!coords_out_of_range(coords) && !board[coords.x][coords.y].blowed && board[coords.x][coords.y].blowable) { if (board[coords.x][coords.y].type == GUN) { board[coords.x][coords.y].blowed = 1; board[coords.x][coords.y].moved = DELAY_BOMB_TARGET; /* * Thunor: In Atari Robbo the solid laser fire is left * live when the gun is destroyed which is a bit * nonsensical so I have introduced an rcfile overrideable * game_mechanic.sensible_solid_lasers */ if (board[coords.x][coords.y].solidlaser && game_mechanics.sensible_solid_lasers) { set_coords(&laserpath, coords.x, coords.y); while (!update_coords(&laserpath,(board[coords.x][coords.y].direction)) && (board[laserpath.x][laserpath.y].type == LASER_D || board[laserpath.x][laserpath.y].type == LASER_L) && board[laserpath.x][laserpath.y].solidlaser && board[laserpath.x][laserpath.y].direction == board[coords.x][coords.y].direction) { board[laserpath.x][laserpath.y].blowed = 1; board[laserpath.x][laserpath.y].moved = DELAY_BOMB_TARGET; } } /* * Thunor: In Atari Robbo the solid laser is not blowable * but in GNU Robbo there is no solid laser type, so I * need to check the solidlaser property here */ } else if (!((board[coords.x][coords.y].type == LASER_D || board[coords.x][coords.y].type == LASER_L) && board[coords.x][coords.y].solidlaser)) { board[coords.x][coords.y].blowed = 1; board[coords.x][coords.y].moved = DELAY_BOMB_TARGET; board[coords.x][coords.y].id_questionmark = 0; /* blowed questionmark doesn't uncover */ } } } else { /* we have to shoot in 4 directions */ shoot_object(x ,y, direction); board[coords.x][coords.y].moved = DELAY_BOMB_TARGET; if(i<7) board[x][y].shooted=0; /* yes, we want to shoot again this tiime, really fast, that is why we reset this */ } } } /*****************************************************/ /**** Check Object If Blowed *************************/ /*****************************************************/ /* * Thunor: NOTE that the object that is being created here is not cleared * beforehand. The reason for this I have found is because once it has * blown-up, its id_questionmark property is checked to see if it was a * questionmark and if it needs to be recreated */ void check_object_if_blowed(int x, int y) { if (board[x][y].blowed && board[x][y].type != BIG_BOOM) { if (board[x][y].type == BOMB) blow_bomb(x, y); if (board[x][y].type== BOMB2) blow_bomb2(x, y); create_object(x, y, BIG_BOOM); board[x][y].moved = DELAY_BIGBOOM; } } /**********************************************************/ /** If Robbo collects the last screw exit opens ***********/ /**********************************************************/ void open_exit(void) { robbo.exitopened = 1; level.now_is_blinking = DELAY_BLINKSCREEN; viewport_needs_redrawing(); } /*************************************************************/ /**** Function returning coords of finding teleport **********/ /**** Updates coords of found teleport of 0 if not found *****/ /*************************************************************/ int find_teleport(struct Coords *coords, int teleportnumber, int teleportnumber2) { int i, j; for (i = 0; i < level.w; i++) for (j = 0; j < level.h; j++) { if (board[i][j].type == TELEPORT) { if (teleportnumber == board[i][j].teleportnumber) { /* found the same kind */ if (teleportnumber2 == board[i][j].teleportnumber2) { /* next teleport */ set_coords(coords, i, j); return 1; /* found exact_teleport */ } } } } return 0; /* teleport with this number has not been found... */ } /*************************************************************************** * Robbo initialisation * ***************************************************************************/ /* * Clear everything */ void init_robbo(void) { robbo.x = 0; robbo.y = 0; robbo.alive = 1; robbo.state = 0; robbo.direction = 0; robbo.screws = 0; robbo.keys = 0; robbo.bullets = 0; robbo.moved = DELAY_ROBBO; robbo.shooted = 0; robbo.exitopened = 0; robbo.blocked = 0; robbo.blocked_direction = 0; robbo.teleporting = 0; } /********************************************************************/ /*** Robbo moving function ******************************************/ /********************************************************************/ void move_robbo(int x, int y) { int x_tmp, y_tmp, x2_tmp, y2_tmp; int i, j, k; int dir_tmp; struct Coords coords; if(robbo.blocked || robbo.moved>0) { return; } // if (robbo.moved > 0) // /* robbo cannot move yet */ // return; x_tmp = robbo.x + x; y_tmp = robbo.y + y; if ((x == 1) && (y == 0)) robbo.direction = 0; else if ((x == 0) && (y == 1)) robbo.direction = 2; else if ((x == -1) && (y == 0)) robbo.direction = 4; else if ((x == 0) && (y == -1)) robbo.direction = 6; if (x_tmp < 0 || x_tmp >= level.w || y_tmp < 0 || y_tmp >= level.h) return; redraw_field(robbo.x, robbo.y); /* Redraw the source field */ switch (board[x_tmp][y_tmp].type) { case STOP: clear_field(x_tmp, y_tmp); break; case RADIOACTIVE_FIELD: clear_field(x_tmp, y_tmp); kill_robbo(); break; case EMPTY_FIELD: case ROBBO: /* Robbo can move there */ redraw_field(x_tmp, y_tmp); /* Redraw destination field */ break; case SCREW: if (robbo.screws > 0) { robbo.screws--; } if (robbo.screws == 0) { /* play sound for open exit */ play_sound(SFX_EXIT_OPEN, SND_NORM); open_exit(); } else play_sound(SFX_SCREW, SND_NORM); /* play sound for collected screw */ scoreline.redraw |= SCORELINE_SCREWS; clear_field(x_tmp, y_tmp); break; case BULLET: play_sound(SFX_BULLET, SND_NORM); /* play sound for collected ammo */ robbo.bullets += 9; scoreline.redraw |= SCORELINE_BULLETS; clear_field(x_tmp, y_tmp); break; case KEY: play_sound(SFX_KEY, SND_NORM); /* play sound for collected key */ robbo.keys++; scoreline.redraw |= SCORELINE_KEYS; clear_field(x_tmp, y_tmp); break; case DOOR: /* Robbo cannot move */ if (robbo.keys > 0) { /* should open the door first */ robbo.keys--; scoreline.redraw |= SCORELINE_KEYS; clear_field(x_tmp, y_tmp); robbo.moved = DELAY_ROBBO; play_sound(SFX_DOOR, SND_NORM); /* play sound for door open */ } return; case TELEPORT: if (board[x_tmp][y_tmp].teleportnumber == 0) break; play_sound(SFX_TELEPORT, SND_NORM); /* teleport sound */ i = 0; j = board[x_tmp][y_tmp].teleportnumber2; while (i == 0) { j++; if (((find_teleport (&coords, board[x_tmp][y_tmp].teleportnumber, j)) == 0) && j != board[x_tmp][y_tmp].teleportnumber2) { /* teleport not found */ if (j > MAX_TELEPORT_IDS) j = -1; continue; } dir_tmp = (robbo.direction / 2); /* neurocyp * new teleport logic now it should be the same as original robbo logic */ for (k = 0; k < 4; k++) { /* first time, the direction, where robbo tries to go is checked */ if (can_move(coords, dir_tmp)) { create_object(robbo.x, robbo.y, TELEPORTING); /* Create src teleporting animation */ update_coords(&coords, dir_tmp); x_tmp = coords.x; y_tmp = coords.y; robbo.direction = (dir_tmp * 2); create_object(x_tmp, y_tmp, TELEPORTING); /* Create dest teleporting animation */ robbo.moved = DELAY_TELEPORTING * 5; /* 5 frames of teleporting animation */ viewport.cycles_to_dest = robbo.moved; robbo.teleporting = TRUE; i = 1; break; } dir_tmp = dir_tmp ^ (((k + 1) % 2) + 2); } if (j == board[x_tmp][y_tmp].teleportnumber2 && i == 0) { /* protect from freezing the game */ create_object(robbo.x, robbo.y, TELEPORTING); /* Create src/dest teleporting animation */ robbo.moved = DELAY_TELEPORTING * 5; /* 5 frames of teleporting animation */ viewport.cycles_to_dest = robbo.moved; robbo.teleporting = TRUE; i = 1; return; } } break; case CAPSULE: if (robbo.exitopened) { play_sound(SFX_CAPSULE, SND_NORM); /* * Check for pack completion */ if (level_packs[selected_pack].level_selected >= level_packs[selected_pack].last_level) { game_mode = END_SCREEN; return; } else { level_packs[selected_pack].level_selected++; if (level_packs[selected_pack].level_selected > level_packs[selected_pack].level_reached) { level_packs[selected_pack].level_reached = level_packs[selected_pack].level_selected; /* * Save rcfile now if requested -- recommended for * battery operated or unstable devices */ if (rcfile.save_frequency == RCFILE_SAVE_ON_CHANGE) { save_resource_file(path_resource_file, FALSE); #if defined(PLATFORM_WIN32) || defined(PLATFORM_PC) #elif defined(PLATFORM_GP2X) system("sync"); #elif defined(PLATFORM_ZAURUS) #elif defined(PLATFORM_PSP) #endif } } if (level_init()) { game_mode = INTRO_SCREEN; music_stop(); intro_screen.redraw |= REDRAW_INITIALISE; } else { game_area.redraw |= REDRAW_EVERYTHING; /* * Initialise the fade */ show_game_area_fade(FADE_SUB_INITIALISE, 16); } return; } } case BOX: /* Moveable objects */ case PUSH_BOX: case BOMB: case BOMB2: case QUESTIONMARK: case GUN: if ((board[x_tmp][y_tmp].type == GUN) && (board[x_tmp][y_tmp].movable == 0)) return; y2_tmp = robbo.y + (2 * y); x2_tmp = robbo.x + (2 * x); if (x2_tmp < 0 || x2_tmp >= level.w || y2_tmp < 0 || y2_tmp >= level.h) return; coords.x = x2_tmp; coords.y = y2_tmp; if (board[x2_tmp][y2_tmp].type == EMPTY_FIELD) { play_sound(SFX_BOX, SND_NORM); if (board[x_tmp][y_tmp].type == PUSH_BOX) { board[x_tmp][y_tmp].state = 1; /* box is pushed */ board[x_tmp][y_tmp].direction = (robbo.direction / 2); } move_object(x_tmp, y_tmp, coords); if (board[coords.x][coords.y].type != GUN) board[coords.x][coords.y].moved = DELAY_PUSHBOX; } else { robbo.moved = DELAY_ROBBO; return; } break; default: /* every else objects */ return; } robbo.x = x_tmp; robbo.y = y_tmp; if (robbo.moved == 0) { robbo.moved = DELAY_ROBBO; /* delay robbo */ if(!robbo.blocked) play_sound(SFX_ROBBO, SND_NORM); } } /*********************************************************/ /** Robbo shoots - x, y means coords of Robbo ************/ /*********************************************************/ void shoot_robbo(int x, int y) { int x_tmp, y_tmp; if (robbo.shooted > 0) return; /* * Is Robbo currently being pulled by a magnet or teleporting? */ if (robbo.blocked || robbo.teleporting) return; /* Matches original Robbo */ x_tmp = robbo.x + x; y_tmp = robbo.y + y; if ((x == 1) && (y == 0)) robbo.direction = 0; else if ((x == 0) && (y == 1)) robbo.direction = 2; else if ((x == -1) && (y == 0)) robbo.direction = 4; else if ((x == 0) && (y == -1)) robbo.direction = 6; redraw_field(robbo.x, robbo.y); if (robbo.bullets == 0) return; if (x_tmp < 0 || x_tmp >= level.w || y_tmp < 0 || y_tmp >= level.h) { robbo.bullets--; robbo.shooted = DELAY_LASER; return; } switch (board[x_tmp][y_tmp].destroyable) { case 1: /* objects can be destroyed */ board[x_tmp][y_tmp].blowed = 1; play_sound(SFX_SHOOT, SND_QUIET); if (board[x_tmp][y_tmp].type != BOMB) { // printf("%d\n", board[x_tmp][y_tmp].type); play_sound(SFX_KILL, SND_NORM); } robbo.shooted = DELAY_LASER; robbo.bullets--; scoreline.redraw |= SCORELINE_BULLETS; return; case 0: play_sound(SFX_SHOOT, SND_NORM); robbo.shooted = DELAY_LASER; robbo.bullets--; scoreline.redraw |= SCORELINE_BULLETS; break; } switch (board[x_tmp][y_tmp].type) { case EMPTY_FIELD: if (robbo.direction == 0 || robbo.direction == 4) create_object(x_tmp, y_tmp, LASER_L); else create_object(x_tmp, y_tmp, LASER_D); board[x_tmp][y_tmp].moved = DELAY_LASER; board[x_tmp][y_tmp].direction = robbo.direction / 2; break; } } /*************************************************************************** * Is Robbo Killed * ***************************************************************************/ /* * This function checks to see if Robbo is next to an object that can kill * i.e. killing = 1. It is called every cycle from update_game() */ /* * On exit: returns TRUE if Robbo is next to an object that can kill else * returns FALSE */ int is_robbo_killed(void) { int retval = FALSE; if (!robbo.teleporting) { if ((robbo.x < level.w - 1 && board[robbo.x + 1][robbo.y].killing == 1) || /* Robbo's right */ (robbo.x > 0 && board[robbo.x - 1][robbo.y].killing == 1) || /* Robbo's left */ (robbo.y < level.h - 1 && board[robbo.x][robbo.y + 1].killing == 1) || /* Robbo's bottom */ (robbo.y > 0 && board[robbo.x][robbo.y - 1].killing == 1)) { /* Robbo's top */ retval = TRUE; } } return retval; } /*************************************************/ /*** Robbo doesn't like this function :) *********/ /*************************************************/ /* * Everything except EMPTY_FIELDs and WALLs is blown-up here. Once this * has been executed the once, repeated calls to this function do nothing. */ void kill_robbo(void) { int x, y; if (robbo.alive == 0) return; robbo.alive = 0; robbo.blocked = 0; play_sound(SFX_BOMB, SND_NORM); create_object(robbo.x, robbo.y, BIG_BOOM); board[robbo.x][robbo.y].moved = DELAY_BIGBOOM; for (x = 0; x < level.w; x++) for (y = 0; y < level.h; y++) switch (board[x][y].type) { case EMPTY_FIELD: case WALL: break; default: board[x][y].moved = DELAY_BIGBOOM; board[x][y].blowed = 1; } viewport_needs_redrawing(); restart_timeout = DELAY_RESTART; } /*************************************************************************** * Viewport Needs Redrawing * ***************************************************************************/ /* * This function marks every field for redrawing/refreshing in * show_game_area() */ void viewport_needs_redrawing(void) { int x, y; for (y = viewport.y; y < viewport.y + viewport.h; y++) { for (x = viewport.x; x < viewport.x + viewport.w; x++) { redraw_field(x, y); } } } /*************************************************************************** * Redraw Field * ***************************************************************************/ /* * Marks an object for redrawing/refreshing in show_game_area() */ void redraw_field(int x, int y) { if (x >= 0 && y >= 0 && x < level.w && y < level.h) board[x][y].redraw = TRUE; } /*************************************************************************** * Field clearing * ***************************************************************************/ /* * This creates a blowable EMPTY_FIELD. This function clears * id_questionmark whereas create_object() doesn't */ void clear_field(int x, int y) { create_object(x, y, EMPTY_FIELD); board[x][y].id_questionmark = 0; } /*************************************************************************** * Create Object * ***************************************************************************/ /* * Thunor: I have found that most of the time clear_field() has been * called before this function, but there are times when it hasn't such as * via check_object_if_blowed(). The reason for this is that the * id_questionmark property needs to be retained so that questionmarks can * be recreated, and that is why some property clearing is also done below * to compensate for this. * * What I have decided to do seeing as this is such an important function, * is to clear everything as in clear_field() EXCEPT id_questionmark. */ void create_object(int x, int y, int type) { int count; #ifdef DEBUG_INSPECT_OBJECT_CONTENTS if (board[x][y].icon[0].x != 0) { printf("*** Start %s ***\n", __func__); printf("type=%i\n", board[x][y].type); printf("state=%i\n", board[x][y].state); printf("direction=%i\n", board[x][y].direction); printf("destroyable=%i\n", board[x][y].destroyable); printf("blowable=%i\n", board[x][y].blowable); printf("killing=%i\n", board[x][y].killing); printf("moved=%i\n", board[x][y].moved); printf("blowed=%i\n", board[x][y].blowed); printf("shooted=%i\n", board[x][y].shooted); printf("rotated=%i\n", board[x][y].rotated); printf("solidlaser=%i\n", board[x][y].solidlaser); printf("rotable=%i\n", board[x][y].rotable); printf("randomrotated=%i\n", board[x][y].randomrotated); printf("teleportnumber=%i\n", board[x][y].teleportnumber); printf("teleportnumber2=%i\n", board[x][y].teleportnumber2); printf("id_questionmark=%i\n", board[x][y].id_questionmark); printf("direction2=%i\n", board[x][y].direction2); printf("movable=%i\n", board[x][y].movable); printf("returnlaser=%i\n", board[x][y].returnlaser); printf("shooting=%i\n", board[x][y].shooting); printf("processed=%i\n", board[x][y].processed); printf("icon[0].x=%i icon[0].y=%i\n", board[x][y].icon[0].x, board[x][y].icon[0].y); printf("icon[1].x=%i icon[1].y=%i\n", board[x][y].icon[1].x, board[x][y].icon[1].y); printf("icon[2].x=%i icon[2].y=%i\n", board[x][y].icon[2].x, board[x][y].icon[2].y); printf("icon[3].x=%i icon[3].y=%i\n", board[x][y].icon[3].x, board[x][y].icon[3].y); printf("icon[4].x=%i icon[4].y=%i\n", board[x][y].icon[4].x, board[x][y].icon[4].y); printf("icon[5].x=%i icon[5].y=%i\n", board[x][y].icon[5].x, board[x][y].icon[5].y); printf("icon[6].x=%i icon[6].y=%i\n", board[x][y].icon[6].x, board[x][y].icon[6].y); printf("icon[7].x=%i icon[7].y=%i\n", board[x][y].icon[7].x, board[x][y].icon[7].y); printf("icon[8].x=%i icon[8].y=%i\n", board[x][y].icon[8].x, board[x][y].icon[8].y); printf("*** Stop %s ***\n", __func__); } #endif board[x][y].type = type; board[x][y].state = 0; board[x][y].direction = 0; board[x][y].destroyable = 0; board[x][y].blowable = 0; board[x][y].killing = 0; board[x][y].moved = 0; board[x][y].blowed = 0; board[x][y].shooted = 0; board[x][y].rotated = 0; board[x][y].solidlaser = 0; board[x][y].rotable = 0; board[x][y].randomrotated = 0; board[x][y].teleportnumber = 0; board[x][y].teleportnumber2 = 0; /* * NOTE id_questionmark's value is retained */ board[x][y].direction2 = 0; board[x][y].movable = 0; board[x][y].returnlaser = 0; board[x][y].shooting = 0; board[x][y].processed = cycle_count; board[x][y].redraw = TRUE; for (count = 0; count < MAX_ICONS; count++) { board[x][y].icon[count].x = 0; board[x][y].icon[count].y = 0; } switch (type) { case ROBBO: robbo.x = x; robbo.y = y; robbo.state = 0; board[x][y].type = EMPTY_FIELD; /* Robbo isn't a board location, so set it to EMPTY_FIELD */ board[x][y].id_questionmark = 0; /* May as well clear this as it's not required to be kept */ return; /* QUIT NOW */ case BEAR: case BEAR_B: case BIRD: case BUTTERFLY: board[x][y].killing = 1; /* Via their closeness */ case BULLET: /* The breaks have been ommitted for a reason */ case BOMB: case BOMB2: case QUESTIONMARK: case GROUND: case BARRIER: board[x][y].destroyable = 1; /* Via a shot or push box */ case SCREW: case PUSH_BOX: case BOX: case KEY: case DOOR: case LASER_L: case LASER_D: case TELEPORT: case GUN: case EMPTY_FIELD: board[x][y].blowable = 1; /* Via a bomb */ break; case STOP: case RADIOACTIVE_FIELD: // it probably would have its own logic board[x][y].blowable = 1; board[x][y].destroyable = 0; break; } set_images(board[x][y].type, x, y); } /*************************************************************************** * Clear Entire Board * ***************************************************************************/ /* * Clear everything */ void clear_entire_board(void) { int xpos, ypos; /* * Fill the game board with EMPTY_FIELD objects */ for (ypos = 0; ypos < MAX_H; ypos++) { for (xpos = 0; xpos < MAX_W; xpos++) { clear_field(xpos, ypos); } } } /* * this will return zero if x/y is in viewport and non zero otherwise */ int in_viewport(int x, int y) { if (x - viewport.x <= viewport.w && x - viewport.x >= 0 && y - viewport.y <= viewport.h && y - viewport.y >= 0) { return 1; } return 0; } gnurobbo-0.66+dfsg/controls.h0000644000175000017500000001022611320502537015252 0ustar stevesteve/* GNU Robbo * Copyright (C) 2002-2010 The GNU Robbo Team (see AUTHORS). * * GNU Robbo is free software - you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2, or (at your option) * any later version. * * GNU Robbo is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the impled warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with GNU CC; see the file COPYING. If not, write to the * Free Software Foundation, 59 Temple Place - Suite 330, * Boston, MA 02111-1307, USA. * */ /* Defines */ #define MAX_JOYSTICKS 10 #define MAX_JOYSTICK_NAME_LENGTH 256 #define DEVICE_KEYBOARD 1 #define DEVICE_JOYSTICK 2 #define DEVICE_MOUSE 3 #define DEFAULT_KEY_REPEAT_DELAY 300 /* This is ms */ #define DEFAULT_KEY_REPEAT_INTERVAL 100 /* This is ms */ #define KEY_REPEAT_MIN 20 /* This is ms */ #define KEY_REPEAT_MAX 1000 /* This is ms */ #define KEY_REPEAT_DELAY (ceil((float)key_repeat_delay / (1000 / game_cycle_limit))) /* This equates to cycles */ #define KEY_REPEAT_INTERVAL (ceil((float)key_repeat_interval / (1000 / game_cycle_limit))) /* This equates to cycles */ #define JOYSTICK_DEAD_ZONE 50 #define USER_CONTROLS 37 /* User actions. These are used as an index into user_controls */ #define ACTION_UP 0 #define ACTION_UP_RIGHT 1 #define ACTION_RIGHT 2 #define ACTION_DOWN_RIGHT 3 #define ACTION_DOWN 4 #define ACTION_DOWN_LEFT 5 #define ACTION_LEFT 6 #define ACTION_UP_LEFT 7 #define ACTION_RESTART 8 #define ACTION_SHOOT_UP 9 #define ACTION_SHOOT_DOWN 10 #define ACTION_SHOOT_LEFT 11 #define ACTION_SHOOT_RIGHT 12 #define ACTION_SELECT 13 #define ACTION_EXIT 14 #define ACTION_HELP 15 #define ACTION_OPTIONS 16 #define ACTION_TOGGLE_FULLSCREEN 17 #define ACTION_PREVIOUS_LEVEL 18 #define ACTION_NEXT_LEVEL 19 #define ACTION_PREVIOUS_PACK 20 #define ACTION_NEXT_PACK 21 #define ACTION_HOME 22 #define ACTION_END 23 #define ACTION_PAGEUP 24 #define ACTION_PAGEDOWN 25 #define ACTION_TOGGLE_DESIGNER 26 #define ACTION_VOLUP 27 #define ACTION_VOLDOWN 28 #define ACTION_MODIFIER1 29 #define ACTION_MODIFIER2 30 #define ACTION_MODIFIER3 31 #define ACTION_MODIFIER4 32 #define ACTION_SCROLL_UP 33 #define ACTION_SCROLL_DOWN 34 #define ACTION_PRIMARY_CLICK 35 #define ACTION_NOT_USED1 36 /* Restore Default Controls */ #define ACTION_SHOOT_REPEAT_DELAY_PERIOD (game_cycle_limit / 2) /* Variables */ SDL_Joystick *joystick; char default_joystick_name[MAX_JOYSTICK_NAME_LENGTH]; int joystick_count; char joystick_list[MAX_JOYSTICKS][MAX_JOYSTICK_NAME_LENGTH]; /* Configurable options */ int key_repeat_delay; /* 20 to 1000 ms */ int temp_key_repeat_delay; /* 20 to 1000 ms */ int key_repeat_interval; /* 20 to 1000 ms */ int temp_key_repeat_interval; /* 20 to 1000 ms */ int default_joystick; int temp_default_joystick; int joystick_dead_zone; int temp_joystick_dead_zone; struct control { int device; /* Keyboard, joystick or mouse */ int id; /* Key or button id */ int mod; /* Modifier control */ int state; /* Pressed or released */ int cyclesactive; /* How many cycles this has been pressed for */ int delay; /* The initial delay in cycles before repeating - 0 disables the delay */ int interval; /* The repeat interval in cycles - 0 disables the interval */ }; struct control user_controls[USER_CONTROLS]; struct control temp_user_controls[USER_CONTROLS]; ROB_OpEnv gnurobbo_op_env; ROB_OpEnv temp_gnurobbo_op_env; /* Function prototypes */ int get_user_action(int *actionid, int pollall, int *device, int *id, int *state); void show_user_action(int *action_found); void set_default_user_controls(struct control user_controls[USER_CONTROLS]); int initialise_joystick(int joyid, char *joyname, int show); int get_joystick_name(int joyid, char *joyname); int get_joystick_list(char joystick_list[MAX_JOYSTICKS][MAX_JOYSTICK_NAME_LENGTH], int show); void get_input_device_text(int device, int id, char *joyname, char *text); int set_key_repeat(int delay, int interval); gnurobbo-0.66+dfsg/Bugs0000644000175000017500000002725611315166761014105 0ustar stevestevex = fixed p = partially - = not fixed >>> neurocyp asked if we could use the SF bug tracker from now onwards, so please use that now to record and manage bugs <<< [-] - The Original skin's robbo.ttf doesn't show 'ñ'. It's not a problem at the moment because there's no Spanish translation yet. [X] - The designer appears to be remembering settings from previous editing sessions. Try this :- * Play the Designer level set and press F9. * Single-click the Save icon and it says "overwrite on save". * Single-click the New icon and it says "clear & insert on save". * Single-click again the New icon so that the level is cleared. * Double-click the "X" icon top-right and play another level/pack. * Press F9 to activate the designer. * Single-click the Save icon and it says "Click again to insert on save" i.e. the previous settings of the designer are not being cleared so that "insert" becomes the only option. Notice too that I haven't actually saved anything to file. * neurocyp: well, now, when you leave designer all settings like lastclick,insert on save are cleared. so this should be ok now [x] - Not initialising game_timer_id to NULL and not checking that it is not NULL before removing it which causes a segfault when quitting early due to a file not being found. [x] - I've just noticed that the window manager icon has disappeared. I think it's about time the wm_icon was set as per SDL docs i.e. before setting the video mode. This code really hasn't been touched since the start of the project. [x] - k_icons is being ignored if not found i.e. like bgrnd. [x] - bgrnd (if one was loaded) isn't being freed on exit. [x] - k_icons isn't being initialised to NULL before load_selected_skin attempts to free non-NULL surfaces, nor is it being freed on exit. [x] - Robbo2009 levels 10, 15, 16 and 17 crash the game on my GP2X. [x] - Robbo98:12 crashes my GP2X. Maybe this will help with the above. UPDATE: I have noticed all the above levels have one thing in common: >> they all have force fields bordering the map edges << UPDATE: 20091218-1208 I've found the bug and I'm going to attempt to fix it now. FIXED: It was a combination of missing boundary checks and referencing invalid array elements before checking that the index was valid. I tested east and west barriers and they work. [x] - Original:6 and RobboVII:2 demos are now out of sync due to teleport modifications. They will require fixing at some point. [x] - Sound: The Volume +/- message box is limiting the volume to 100 and needs to go up to 128. [x] - It really should be updating Sfx Volume when Options is shown and HAVE_MUSIC hasn't been defined. [x] - Is sound supposed to be enabled by default? "int sound" isn't being initialised anywhere so I don't know. There should be a "sound = 0;" or "sound = 1;" in game.c:195 to accompany volume. [x] - Delete or rename ~/.gnurobborc so that the game starts from the beginning. Now go to Options and enable sound. You can hear the sfx but it says "0". Exit Options and play the game. You will hear loud sfx. Go back to Options and Sfx Volume is 0. If you press the +/- keys to see the volume messagebox you can see the real value of the volume (see following bug for possible answer). [x] - The volume controls +/- do not synchronise with int sfx_vol. Setting sfx_vol updates volume, but setting volume does not update sfx_vol. Also in Options, using +/- to modify the volume does not update the Sfx Volume on-screen. [x] - rcfile.save_frequency isn't being initialised at the start. [x] - Disable Options: Primary Click for the GP2X. [x] - Having the rcfile called .gnurobborc on the GP2X is not such a good idea because if Linux users look at their SD card they won't know it's there and they'll delete it. From now on look for gnurobborc first, then .gnurobborc and save gnurobborc. [x] - Ok as Zaurus Confirm isn't much use to non SL-5500 users, so set Confirm by default to be something common like SPACE. [x] - Fix incredibly fast Help Screen with redraw_everything always on [x] - Fixed the problem with the colour cycling cycling too fast when holding down controls. [x] - In Atari Robbo the bomb blows-up empty space but not in GNU Robbo. [x] - Solid Lasers: In Atari Robbo the solid lasers are not blowable but in GNU Robbo they are. In Atari Robbo the solid lasers are left live when the gun is destroyed (same as GNU Robbo) which is a bit nonsensical. FIXED: Added an rcfile overrideable game_mechanic.sensible_solid_lasers; defaults to true. [x] - Bears again ;) Fix bears of the same type going around one another forever. I think a courtesy protocol should make one of them wait for another DELAY_BEAR. The other bear can check his moved property and say hey, he's letting me pass, let's go. FIXED: It was easier to fix than expected, simply checking for empty space with another bear of the same type in the opposite corner. [x] - Teleporting short distances should not feel sluggish. [x] - Since forcing speed to 1 and using a new game_cycle_limit to control the game's speed, the Robbo-drawn-in-the-borders-when- teleporting-large-distances bug has reappeared. I think that the reason this wasn't happening was because the screen always finished scrolling before Robbo was being drawn in his new location. Obviously nothing should be being drawn off-board so this bug is likely to be in show_game_area(). In fact I have experienced this problem before when playing with deeper boards and this is to do with x/y_rest and mapoffsetx/y. Even so, care should be taken to limit the area sprites are being drawn to. Looking at show_game_area() now, I'd say it's due for a rewrite. I am going to study mapoffsetx/y now which is actually screen offsets and it looks as though part of the logic is in set_mapoffset() with the remainder in show_game_area(). FIXED: I rewrote show_game_area() and implemented a new viewport. [x] - There's a bug whereby Robbo is not killed if under a bird that is at the very top of the board i.e. where the wall mostly is. The level is RobboVII-008 at the top. FIXED: is_robbo_killed() bugs. [x] - Bears are being weird, going around in loops one space apart. I think it's time I looked at the bear logic as they could benefit from not chasing their tails. BEAR: Follow left-hand rule maze traversal with start direction dictating their rotation around the board. BLACK_B: Follow right-hand rule maze traversal with start direction dictating their rotation around the board. In the original Robbo, both bears do nothing more than rotate whilst looking for exits when blocked. Original-054 (52 in Robbo VI) is a good place to study BEARs at the start, and also Original-014 (13) and Original-021 (20). [x] - The bear can end up in a tight circle if blocked (same as original). It would be nice though to make it more intelligent. I created MECHANIC_SENSIBLE_BEARS which would be nice in Options. [x] - The black bear can end up in a tight circle if blocked (same as original). It would be nice though to make it more intelligent. I created MECHANIC_SENSIBLE_BEARS which would be nice in Options. [x] - Since tweaking the delays, RobboIX-003 is just too difficult and in fact impossible using the joystick on the GP2X. It needs one or two bombs at the bottom to be moved left to slow it slightly. The other beat-the-bomb levels are Original-020 and RobboVIII-016 and they are fine. [x] - Questionmarks seem to be empty for some reason. FIXED: It's because id_questionmark must be retained in create_object() and I was forcing a clear_field(). I have documented the code. [x] - The rightward retreating solid laser is slightly faster than it should be. FIXED: The reason for this was that the solidlaser logic was modifying other objects and these objects also needed to be marked as processed. I watched the cycle_limit when these objects were being processed (DELAY_LASER is 4) and the cycle_limit started being dumped in units less than 4 which caused timing problems. [x] - The right and leftward barriers are both slightly faster than they should be. FIXED: Same reason as above. [x] - After fixing some timing issues in update_game() I found that the Help animations were slower than they should have been so I've fixed those. [x] - The bears moving around the blocks on Original-044 go out of sync a little on the opposite side that they started from, eventually returning to sync again. The code responsible for this is in update_game() near the top (search for DELAY_BEAR). The same thing can be seen with the birds on Original-009. I have noticed that all the board locations (objects) are processed in an x/y loop (cols are processed, then rows), but what happens when an object is moved from one board location to another that has not been processed yet? Does it get processed again? This would cause objects moving down and/or right to have their .moved delays decremented again at the top of the x/y loop! This needs debugging. FIXED: Indeed there was a bug so I have introduced another object property called processed that marks objects that have been processed already during that cycle. I also fixed another bug at the top of update_game() that decremented rotating objects twice. Just found another bug in there that caused objects to be slower than Robbo. It appears as though decrementing their delays but not processing them on zero within the same cycle caused Robbo to be a little faster than birds etc. that have the same delay values. [x] - Delay parameters are not perfect :- GNU Robbo is attracted to magnets too slowly: DELAY_ROBBO works. [x] - Delay parameters are not perfect :- Linked bombs blow slower in GNU Robbo: DELAY_BIGBOOM + 1 works. UPDATE: Since fixing some bugs in update_game() I have found that this should now be DELAY_BIGBOOM + 2 :) [x] - I've noticed SDL_FreeSurface isn't called on any of the loaded images or created ones for that matter. [x] - Syntax of level are volunerable for any inconsequences and errors. load_level_data() (previously load_from_file()) has been made more robust. Also level_init() has been tidied-up and I've made sure that the program can cope with failed level loads. [x] - Force fields that kill Robbo don't go boom themselves. Thunor: same solution as blaster below. [x] - Blasters that kill Robbo don't go boom themselves. Thunor: I simply added some returns after kill_robbo() to prevent objects from being created after everything has been blown-up. [x] - On level 28 - RobboVIII occassionally killing a bear behaves like shooting a questionmark. I haven't seen this for some time now. I've seen this again. I think it might be a side-effect of changing level packs. I saw it whilst flipping between the end screen levels. I now think it might be related to what I was doing creating the end screen levels i.e. running incomplete or not-so-valid levels. This problem is currently happening on RobboVII level 8 with the ground underneath the blaster. It seems to occur only when navigating to the level via F5/F6 but I can't see why at the moment. FIXED! clear_field() was only zeroising id_questionmark if type=QUESTIONMARK. The problem is that an object of type QUESTIONMARK becomes an object of type BIG_BOOM when it is first destroyed and so update_game() checks for id_questionmark > 0 to identify a previous QUESTIONMARK object. [x] - The restart_timeout needs clearing if Robbo dies and the user immediately changes the level or pack. I also cancelled existing fades when viewing options or help whilst playing. [x] - Opening a door doesn't update the scoreline [x] - If Robbo dies whilst firing then the firing continues [x] - Continously shooting uses more bullets than fired [x] - Fixed missing [author]s from original.dat levels 13 to 16 gnurobbo-0.66+dfsg/zaurus/0002755000175000017500000000000011467303356014602 5ustar stevestevegnurobbo-0.66+dfsg/zaurus/ipkg-build0000755000175000017500000001016011467300751016547 0ustar stevesteve#!/bin/sh # ipkg-build -- construct a .ipk from a directory # Carl Worth # based on a script by Steve Redler IV, steve@sr-tech.com 5-21-2001 set -e ipkg_extract_value() { sed -e "s/^[^:]*:[[:space:]]*//" } required_field() { field=$1 value=`grep "^$field:" < $CONTROL/control | ipkg_extract_value` if [ -z "$value" ]; then echo "*** Error: $CONTROL/control is missing field $field" >&2 return 1 fi echo $value return 0 } pkg_appears_sane() { local pkg_dir=$1 local owd=`pwd` cd $pkg_dir PKG_ERROR=0 # large_uid_files=`find . -uid +99` # if [ -n "$large_uid_files" ]; then # echo "*** Warning: The following files have a UID greater than 99. #You probably want to chown these to a system user: " >&2 # ls -ld $large_uid_files # echo >&2 # fi if [ ! -f "$CONTROL/control" ]; then echo "*** Error: Control file $pkg_dir/$CONTROL/control not found." >&2 cd $owd return 1 fi pkg=`required_field Package` [ "$?" -ne 0 ] && PKG_ERROR=1 version=`required_field Version | sed 's/.*://;'` [ "$?" -ne 0 ] && PKG_ERROR=1 arch=`required_field Architecture` [ "$?" -ne 0 ] && PKG_ERROR=1 required_field Maintainer >/dev/null [ "$?" -ne 0 ] && PKG_ERROR=1 required_field Description >/dev/null [ "$?" -ne 0 ] && PKG_ERROR=1 section=`required_field Section` [ "$?" -ne 0 ] && PKG_ERROR=1 if [ -z "$section" ]; then echo "The Section field should have one of the following values:" >&2 echo "admin, base, comm, editors, extras, games, graphics, kernel, libs, misc, net, text, web, x11" >&2 fi priority=`required_field Priority` [ "$?" -ne 0 ] && PKG_ERROR=1 if [ -z "$priority" ]; then echo "The Priority field should have one of the following values:" >&2 echo "required, important, standard, optional, extra." >&2 echo "If you don't know which priority value you should be using, then use \`optional'" >&2 fi if echo $pkg | egrep '[^a-zA-Z0-9.+-]'; then echo "*** Error: Package name $name contains illegal characters, (other than [a-z0-9.+-])" >&2 PKG_ERROR=1; fi local bad_fields=`sed -ne 's/^\([^[:space:]][^:[:space:]]\+[[:space:]]\+\)[^:].*/\1/p' < $CONTROL/control | sed -e 's/\\n//'` if [ -n "$bad_fields" ]; then bad_fields=`echo $bad_fields` echo "*** Error: The following fields in $CONTROL/control are missing a ':'" >&2 echo " $bad_fields" >&2 echo "ipkg-build: This may be due to a missing initial space for a multi-line field value" >&2 PKG_ERROR=1 fi for script in $CONTROL/preinst $CONTROL/postinst $CONTROL/prerm $CONTROL/postrm; do if [ -f $script -a ! -x $script ]; then echo "*** Error: package script $script is not executable" >&2 PKG_ERROR=1 fi done if [ -f $CONTROL/conffiles ]; then for cf in `cat $CONTROL/conffiles`; do if [ ! -f ./$cf ]; then echo "*** Error: $CONTROL/conffiles mentions conffile $cf which does not exist" >&2 PKG_ERROR=1 fi done fi cd $owd return $PKG_ERROR } ### # ipkg-build "main" ### case $# in 1) dest_dir=. ;; 2) dest_dir=$2 ;; *) echo "Usage: ipkg-build []" >&2 exit 1 ;; esac pkg_dir=$1 if [ ! -d $pkg_dir ]; then echo "*** Error: Directory $pkg_dir does not exist" >&2 exit 1 fi # CONTROL is second so that it takes precedence CONTROL= [ -d $pkg_dir/DEBIAN ] && CONTROL=DEBIAN [ -d $pkg_dir/CONTROL ] && CONTROL=CONTROL if [ -z "$CONTROL" ]; then echo "*** Error: Directory $pkg_dir has no CONTROL subdirectory." >&2 exit 1 fi if ! pkg_appears_sane $pkg_dir; then echo >&2 echo "ipkg-build: Please fix the above errors and try again." >&2 exit 1 fi tmp_dir=/tmp/IPKG_BUILD.$$ mkdir $tmp_dir tar -C $pkg_dir -cpf $tmp_dir/data.tar . --exclude=$CONTROL gzip -9 $tmp_dir/data.tar tar -C $pkg_dir/$CONTROL -cf $tmp_dir/control.tar . gzip -9 $tmp_dir/control.tar echo "2.0" > $tmp_dir/debian-binary pkg_file=${pkg}_${version}_${arch}.ipk tar -C $tmp_dir -cf $tmp_dir/$pkg_file ./debian-binary ./data.tar.gz ./control.tar.gz gzip -9 $tmp_dir/$pkg_file mv $tmp_dir/$pkg_file.gz $dest_dir/$pkg_file rm $tmp_dir/debian-binary $tmp_dir/data.tar.gz $tmp_dir/control.tar.gz rmdir $tmp_dir echo "Packaged contents of $pkg_dir into $pkg_file" gnurobbo-0.66+dfsg/zaurus/rungnurobbo0000755000175000017500000000002611113570267017061 0ustar stevesteve#!/bin/sh gnurobbo $@ gnurobbo-0.66+dfsg/zaurus/control0000644000175000017500000000037611436757703016216 0ustar stevestevePackage: gnurobbo Priority: optional Section: Games Version: 0.66 Architecture: arm Maintainer: Thunor Depends: libSDL libSDL_mixer License: GPL Description: GNU Robbo for the Sharp Zaurus Source: http://gnurobbo.sourceforge.net/ gnurobbo-0.66+dfsg/zaurus/build-gnurobbo0000755000175000017500000000712411467300751017440 0ustar stevesteve#!/bin/sh # This builds an ipk for the Zaurus. # NOTE: This is run when executing 'make -f Makefile.zaurus'. if test -a VERSION ; then VERSION="$(cat VERSION)" if test -a TARGET ; then TARGET="$(cat TARGET)" if [ -n "$PREFIX" ] ; then #------------------------------------------------------------- echo "Building ipk..." mkdir -p ipk/CONTROL mkdir -p ipk/${PREFIX}/apps/Games mkdir -p ipk/${PREFIX}/bin mkdir -p ipk/${PREFIX}/pics mkdir -p ipk/${PREFIX}/share/${TARGET}/levels mkdir -p ipk/${PREFIX}/share/${TARGET}/sounds/default mkdir -p ipk/${PREFIX}/share/${TARGET}/sounds/skins mkdir -p ipk/${PREFIX}/share/${TARGET}/rob mkdir -p ipk/${PREFIX}/share/${TARGET}/skins/tronic mkdir -p ipk/${PREFIX}/share/${TARGET}/locales/cz_CZ mkdir -p ipk/${PREFIX}/share/${TARGET}/locales/de_DE mkdir -p ipk/${PREFIX}/share/${TARGET}/locales/en_GB mkdir -p ipk/${PREFIX}/share/${TARGET}/locales/id_ID mkdir -p ipk/${PREFIX}/share/${TARGET}/locales/pl_PL mkdir -p ipk/${PREFIX}/share/${TARGET}/locales/ru_RU mkdir -p ipk/${PREFIX}/share/${TARGET}/locales/sk_SK mkdir -p ipk/${PREFIX}/share/${TARGET}/locales/sv_SE # GNU Robbo uses oggs but we'll convert them to wavs here. oggdec data/sounds/default/*.ogg sed -i.orig -e 's/.ogg/.wav/' data/sounds/skins/default.dat cp data/levels/* ipk/${PREFIX}/share/${TARGET}/levels/ cp data/sounds/default/*.wav ipk/${PREFIX}/share/${TARGET}/sounds/default/ cp data/sounds/skins/default.dat ipk/${PREFIX}/share/${TARGET}/sounds/skins/ cp data/rob/*.bmp ipk/${PREFIX}/share/${TARGET}/rob/ # GNU Robbo uses pngs but we'll use bmps which should have already been converted. cp data/skins/tronic/*.bmp data/skins/tronic/skinrc ipk/${PREFIX}/share/${TARGET}/skins/tronic/ cp data/locales/cz_CZ/* ipk/${PREFIX}/share/${TARGET}/locales/cz_CZ/ cp data/locales/de_DE/* ipk/${PREFIX}/share/${TARGET}/locales/de_DE/ cp data/locales/en_GB/* ipk/${PREFIX}/share/${TARGET}/locales/en_GB/ cp data/locales/id_ID/* ipk/${PREFIX}/share/${TARGET}/locales/id_ID/ cp data/locales/pl_PL/* ipk/${PREFIX}/share/${TARGET}/locales/pl_PL/ cp data/locales/ru_RU/* ipk/${PREFIX}/share/${TARGET}/locales/ru_RU/ cp data/locales/sk_SK/* ipk/${PREFIX}/share/${TARGET}/locales/sk_SK/ cp data/locales/sv_SE/* ipk/${PREFIX}/share/${TARGET}/locales/sv_SE/ cat < zaurus/control Package: ${TARGET} Priority: optional Section: Games Version: ${VERSION} Architecture: arm Maintainer: Thunor Depends: libSDL libSDL_mixer License: GPL Description: GNU Robbo for the Sharp Zaurus Source: http://gnurobbo.sourceforge.net/ EOF cp zaurus/control ipk/CONTROL/ cp zaurus/${TARGET}.desktop ipk/${PREFIX}/apps/Games/ cp icon32.png ipk/${PREFIX}/pics/${TARGET}.png cp ${TARGET} zaurus/run${TARGET} ipk/${PREFIX}/bin/ cat README.zaurus README > ipk/${PREFIX}/share/${TARGET}/README cp ChangeLog NEWS COPYING LICENSE-sound ipk/${PREFIX}/share/${TARGET}/ zaurus/ipkg-build ipk rm -rf ipk mv ${TARGET}_${VERSION}_arm.ipk ${TARGET}_${VERSION}_zaurus.ipk # Restore the ogg default.dat and remove the wavs we created above. rm data/sounds/default/*.wav mv -f data/sounds/skins/default.dat.orig data/sounds/skins/default.dat echo "All done." #------------------------------------------------------------- else echo "ERROR: Variable \"PREFIX\" has not been set/exported." fi else echo "ERROR: File \"TARGET\" not found. This is a text file with the project name inside it." fi else echo "ERROR: File \"VERSION\" not found. This is a text file with the version number inside it." fi gnurobbo-0.66+dfsg/zaurus/gnurobbo.desktop0000644000175000017500000000023611113570267020004 0ustar stevesteve[Desktop Entry] Comment=GNU Robbo for Zaurus Exec=rungnurobbo Icon=gnurobbo Type=Application Name=GNURobbo Display=640x480/144dpi,480x640/144dpi GenericName= gnurobbo-0.66+dfsg/controls.c0000644000175000017500000014434711462017201015255 0ustar stevesteve/* GNU Robbo * Copyright (C) 2002-2010 The GNU Robbo Team (see AUTHORS). * * GNU Robbo is free software - you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2, or (at your option) * any later version. * * GNU Robbo is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the impled warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with GNU CC; see the file COPYING. If not, write to the * Free Software Foundation, 59 Temple Place - Suite 330, * Boston, MA 02111-1307, USA. * */ #include "game.h" /* Defines */ /* #define DEBUG_CONTROLS #define DEBUG_SDL_JOYAXISMOTION #define DEBUG_SDL_ACTIVEEVENT */ #define JOYDEADZONE (32767 * joystick_dead_zone / 100) #define MAX_JOY_AXES 20 /* GP2X button IDs */ #define GP2X_JOY_N 0x00 #define GP2X_JOY_NW 0x01 #define GP2X_JOY_W 0x02 #define GP2X_JOY_SW 0x03 #define GP2X_JOY_S 0x04 #define GP2X_JOY_SE 0x05 #define GP2X_JOY_E 0x06 #define GP2X_JOY_NE 0x07 #define GP2X_START 0x08 #define GP2X_SELECT 0x09 #define GP2X_LTRIG 0x0A #define GP2X_RTRIG 0x0B #define GP2X_BTN_A 0x0C #define GP2X_BTN_B 0x0D #define GP2X_BTN_X 0x0E #define GP2X_BTN_Y 0x0F #define GP2X_VOL_UP 0x10 #define GP2X_VOL_DN 0x11 #define GP2X_BTN_JOY 0x12 /* Zaurus button IDs */ #define ZAURUS_UP SDLK_UP #define ZAURUS_DOWN SDLK_DOWN #define ZAURUS_LEFT SDLK_LEFT #define ZAURUS_RIGHT SDLK_RIGHT #define ZAURUS_SPACE SDLK_SPACE #define ZAURUS_CANCEL SDLK_ESCAPE #define ZAURUS_OK 0 #define ZAURUS_CALENDAR SDLK_F9 #define ZAURUS_ADDRESS SDLK_F10 #define ZAURUS_HOME SDLK_F12 #define ZAURUS_MENU SDLK_F11 #define ZAURUS_EMAIL SDLK_F13 /* PSP button IDs */ #define PSP_TRIANGLE 0 #define PSP_CIRCLE 1 #define PSP_CROSS 2 #define PSP_SQUARE 3 #define PSP_LEFT_TRIGGER 4 #define PSP_RIGHT_TRIGGER 5 #define PSP_DOWN 6 #define PSP_LEFT 7 #define PSP_UP 8 #define PSP_RIGHT 9 #define PSP_SELECT 10 #define PSP_START 11 #define PSP_HOME 12 #define PSP_HOLD 13 /* Variables */ SDL_Event event; /* Function prototypes */ /*************************************************************************** * Get User Action v5.4 * ***************************************************************************/ /* This reports whether an action has been triggered via user input. * Controls with modifiers take precedence over single key controls. * Controls must be unique although you can combine actions in your code. * Mixing of input devices and control reconfiguration is trivial. * user_controls holds all the controls. Each control has its pressed state * recorded so you won't need to do it yourself. It's also possible to * gain access to the device, id and state of individual events but in normal * operation you should only need to know the action triggered. * This function manages key/button repeat which can be different for each * control. If you don't want key/button repeat then set delay to -1. * It's designed to be called every game cycle because it counts in * game cycle units for key/button repeat calculation. * The event loop code in END SCREEN in main is almost empty and makes a good * template. * * To debug this function, define one or all of the following :- * DEBUG_CONTROLS, DEBUG_SDL_ACTIVEEVENT, DEBUG_SDL_JOYAXISMOTION * * UPDATE: Joystick axis support added. Axes are converted into additional * virtual buttons (two per axis) and require a dead zone to be set up which * should be user configurable. For example, if a joystick has 10 physical * buttons then axis0 will be virtual buttons 10 and 11, axis1 12 and 13 etc. * * v5.1 UPDATE: pollall now breaks when an action is triggered to prevent the * possibility that an action is pressed and released before exiting (as * experienced on my Zaurus). * * v5.2 UPDATE: Added mouse support. Initially I was intending to substitute * this version with another from an event/object based SDL engine I've been * working on but it won't work. In the end adding mouse/stylus support was * easier than I was expecting. I've added a ACTION_PRIMARY_CLICK action that * can be set-up for use with a mouse or stylus. * * v5.3 UPDATE: Added hooks to the GNU Robbo Rectangular Object Engine (ROB). * ROB likes to be informed of released and triggered actions so that it can * generate events and manage the simulated pointer via the cursor events. * * v5.4 UPDATE: Modified the code that deals with analogue axis events so * that they become remapped as SDL_JOYBUTTONUP/DOWN virtual button events. * * struct control { * int device; Keyboard, joystick or mouse * int id; Key or button id * int mod; Modifier control * int state; Pressed or released * int cyclesactive; How many cycles this has been pressed for * int delay; The initial delay in cycles before repeating - * 0 disables the delay * int interval; The repeat interval in cycles - 0 disables the interval * }; * struct control user_controls[USER_CONTROLS]; Holds the assignment of user controls * * On entry: actionid will hold any actionid found * pollall = TRUE to poll all events until an action is triggered * pollall = FALSE to poll one event (used to retrieve the device, * id and state for each polled event) * device will hold the device of the last event or UNDEFINED (-1) * id will hold the id of the last event or UNDEFINED * state will hold the state of the last event or UNDEFINED * On exit: actionid will contain an actionid or UNDEFINED * returns 1 on SDL_QUIT else 0 */ int get_user_action (int *actionid, int pollall, int *device, int *id, int *state) { static int axisstates[MAX_JOY_AXES * 2], init = FALSE; int found = FALSE, quitfound = FALSE; SDL_Event virtualevent; int axis_end = 0; int rob_actionid; int count; /* Do some first time variable initialisation */ if (!init) { init = TRUE; for (count = 0; count < MAX_JOY_AXES; count++) { axisstates[count * 2] = axisstates[count * 2 + 1] = SDL_RELEASED; } } *actionid = UNDEFINED; /* Get and process some (not necessarily all) SDL events */ while (SDL_PollEvent (&event)) { *device = *id = *state = UNDEFINED; switch (event.type) { case SDL_KEYUP: case SDL_KEYDOWN: *device = DEVICE_KEYBOARD; *id = event.key.keysym.sym; *state = event.key.state; break; case SDL_JOYBUTTONUP: case SDL_JOYBUTTONDOWN: *device = DEVICE_JOYSTICK; *id = event.jbutton.button; *state = event.jbutton.state; break; case SDL_MOUSEBUTTONUP: lastclick=0; /* Added by neurocyp for the designer */ case SDL_MOUSEBUTTONDOWN: *device = DEVICE_MOUSE; *id = event.button.button; *state = event.button.state; break; case SDL_MOUSEMOTION: rob_lyr_pointer->x = event.motion.x; rob_lyr_pointer->y = event.motion.y; kmx = event.motion.x; /* Added by neurocyp for the designer */ kmy = event.motion.y; /* Added by neurocyp for the designer */ break; case SDL_QUIT: quitfound = TRUE; break; #ifdef DEBUG_SDL_ACTIVEEVENT case SDL_ACTIVEEVENT: printf ("%i: states: ", cycle_count); if (event.active.state & SDL_APPMOUSEFOCUS) printf ("SDL_APPMOUSEFOCUS "); if (event.active.state & SDL_APPINPUTFOCUS) printf ("SDL_APPINPUTFOCUS "); if (event.active.state & SDL_APPACTIVE) printf ("SDL_APPACTIVE "); printf (": gain=%i\n", event.active.gain); break; #endif case SDL_JOYAXISMOTION: /* The axis motion will be reported as a value from -32768 to +32767 * with 0 being the theoretical middle point. Some analogue joysticks * are actually digital and offer limited analogue functionality by * firing off a few values throughout this range (these joysticks will * tend to rest at 0) whilst a truly analogue joystick will fire lots * of different values with the middle firing anything but 0. The * JOYDEADZONE offers us a reasonable user configurable middle region. * * To simulate digital on/off button functionality from an analogue * axis we need to record previous axis motion activity so that we can * see if we've already generated an SDL_JOYBUTTONDOWN/UP event. This * activity is stored within the axisstates array as pairs of values * representing both ends of an axis, with each value belonging to a * virtual button. The first integer records the up/down state of the * negative end of an axis with the positive end stored in the other. * * Following are the situations that this code will account for :- * SDL_JOYBUTTONDOWN - axis middle to any axis end * SDL_JOYBUTTONDOWN - one axis end to another axis end with the * opposite end generating SDL_JOYBUTTONUP * SDL_JOYBUTTONUP - any axis end to the middle */ #ifdef DEBUG_SDL_JOYAXISMOTION printf ("%i: axis=%i value=%i\n", cycle_count, event.jaxis.axis, event.jaxis.value); #endif if (abs (event.jaxis.value) >= JOYDEADZONE) { /* Identify which end of the axis we are operating upon: * 0 for -32768 to JOYDEADZONE, 1 for JOYDEADZONE to +32767 */ axis_end = 0; if (event.jaxis.value >= JOYDEADZONE) axis_end = 1; if (axisstates[event.jaxis.axis * 2 + axis_end] == SDL_RELEASED) { /* Generate a virtual joystick button event */ virtualevent.jbutton.button = event.jaxis.axis * 2 + axis_end + SDL_JoystickNumButtons (joystick); virtualevent.type = SDL_JOYBUTTONDOWN; virtualevent.jbutton.state = SDL_PRESSED; SDL_PushEvent(&virtualevent); /* Record its SDL_PRESSED state within axisstates */ axisstates[event.jaxis.axis * 2 + axis_end] = SDL_PRESSED; } /* Do we need to release the opposite end of the axis? */ if (axisstates[event.jaxis.axis * 2 + (1 - axis_end)] == SDL_PRESSED) { /* Generate a virtual joystick button event */ virtualevent.jbutton.button = event.jaxis.axis * 2 + (1 - axis_end) + SDL_JoystickNumButtons (joystick); virtualevent.type = SDL_JOYBUTTONUP; virtualevent.jbutton.state = SDL_RELEASED; SDL_PushEvent(&virtualevent); /* Record its SDL_RELEASED state within axisstates */ axisstates[event.jaxis.axis * 2 + (1 - axis_end)] = SDL_RELEASED; } } else { /* Do we need to release either end of the axis? */ for (count = 0; count < 2; count++) { if (axisstates[event.jaxis.axis * 2 + count] == SDL_PRESSED) { /* Generate a virtual joystick button event */ virtualevent.jbutton.button = event.jaxis.axis * 2 + count + SDL_JoystickNumButtons (joystick); virtualevent.type = SDL_JOYBUTTONUP; virtualevent.jbutton.state = SDL_RELEASED; SDL_PushEvent(&virtualevent); /* Record its SDL_RELEASED state within axisstates */ axisstates[event.jaxis.axis * 2 + count] = SDL_RELEASED; } } } break; default: break; } found = FALSE; if (*device != UNDEFINED) { /* Iterate through user_controls and record the state for all matching controls */ #ifdef DEBUG_CONTROLS printf ("device=%i; id=%03i; state=%i; all control states:", *device, *id, *state); #endif for (count = 0; count < USER_CONTROLS; count++) { if (user_controls[count].device == *device && user_controls[count].id == *id) { user_controls[count].state = *state; if (*state == SDL_RELEASED) { user_controls[count].cyclesactive = 0; /* ROB will want to know what action was released. Actually this * isn't reporting action releases but control releases which is * not the same thing. The reporting of action releases was not * part of the requirements when designing this version of * get_user_action() for GNU Robbo, but what is done here more * than suffices */ rob_actionid = count | 0x80; ROB_GenerateEvents (&rob_actionid); } found = TRUE; } #ifdef DEBUG_CONTROLS printf (" %i", user_controls[count].state); #endif } #ifdef DEBUG_CONTROLS printf ("\n"); #endif if (found || !pollall) break; /* Stop polling events now as we've got something to work with */ } } /* Now we know what's pressed we can see if an action has been triggered. * Controls with modifiers take precedence so search for these first */ found = FALSE; for (count = 0; count < USER_CONTROLS; count++) { if (user_controls[count].state == SDL_PRESSED && user_controls[count].mod != UNDEFINED && user_controls[user_controls[count].mod].state == SDL_PRESSED) { found = TRUE; *actionid = count; #ifdef DEBUG_CONTROLS show_user_action (actionid); #endif break; } } if (!found) { /* Now search for controls without modifiers */ for (count = 0; count < USER_CONTROLS; count++) { if (user_controls[count].state == SDL_PRESSED && user_controls[count].mod == UNDEFINED) { found = TRUE; *actionid = count; #ifdef DEBUG_CONTROLS show_user_action (actionid); #endif break; } } } /* Because this function is called every game cycle, if the user * is pressing a control then it would trigger an action every game * cycle. cyclesactive, delay and interval are used to decide the * frequency of individual key/button repeats */ if (found) { if (user_controls[*actionid].cyclesactive == 0) { /* Allow this action */ } else if (user_controls[*actionid].cyclesactive == user_controls[*actionid].delay) { /* Allow this action */ } else if (user_controls[*actionid].cyclesactive > user_controls[*actionid].delay) { if (user_controls[*actionid].interval == 0) { /* Allow this action */ } else if ((user_controls[*actionid].cyclesactive - user_controls[*actionid].delay) % user_controls[*actionid].interval == 0) { /* Allow this action */ } else { found = FALSE; } } else { found = FALSE; } user_controls[*actionid].cyclesactive++; if (!found) *actionid = UNDEFINED; } /* ROB will want to know what action was triggered */ ROB_GenerateEvents (actionid); return quitfound; } /*************************************************************************** * Show User Action * ***************************************************************************/ /* Used for debugging */ void show_user_action (int *actionid) { switch (*actionid) { case ACTION_UP: printf ("ACTION_UP"); break; case ACTION_UP_RIGHT: printf ("ACTION_UP_RIGHT"); break; case ACTION_RIGHT: printf ("ACTION_RIGHT"); break; case ACTION_DOWN_RIGHT: printf ("ACTION_DOWN_RIGHT"); break; case ACTION_DOWN: printf ("ACTION_DOWN"); break; case ACTION_DOWN_LEFT: printf ("ACTION_DOWN_LEFT"); break; case ACTION_LEFT: printf ("ACTION_LEFT"); break; case ACTION_UP_LEFT: printf ("ACTION_UP_LEFT"); break; case ACTION_SHOOT_UP: printf ("ACTION_SHOOT_UP"); break; case ACTION_SHOOT_DOWN: printf ("ACTION_SHOOT_DOWN"); break; case ACTION_SHOOT_LEFT: printf ("ACTION_SHOOT_LEFT"); break; case ACTION_SHOOT_RIGHT: printf ("ACTION_SHOOT_RIGHT"); break; case ACTION_SELECT: printf ("ACTION_SELECT"); break; case ACTION_EXIT: printf ("ACTION_EXIT"); break; case ACTION_HELP: printf ("ACTION_HELP"); break; case ACTION_OPTIONS: printf ("ACTION_OPTIONS"); break; case ACTION_RESTART: printf ("ACTION_RESTART"); break; case ACTION_PREVIOUS_LEVEL: printf ("ACTION_PREVIOUS_LEVEL"); break; case ACTION_NEXT_LEVEL: printf ("ACTION_NEXT_LEVEL"); break; case ACTION_PREVIOUS_PACK: printf ("ACTION_PREVIOUS_PACK"); break; case ACTION_NEXT_PACK: printf ("ACTION_NEXT_PACK"); break; case ACTION_TOGGLE_FULLSCREEN: printf ("ACTION_TOGGLE_FULLSCREEN"); break; case ACTION_HOME: printf ("ACTION_HOME"); break; case ACTION_END: printf ("ACTION_END"); break; case ACTION_PAGEUP: printf ("ACTION_PAGEUP"); break; case ACTION_PAGEDOWN: printf ("ACTION_PAGEDOWN"); break; case ACTION_TOGGLE_DESIGNER: printf ("ACTION_TOGGLE_DESIGNER"); break; case ACTION_VOLUP: printf ("ACTION_VOLUP"); break; case ACTION_VOLDOWN: printf ("ACTION_VOLDOWN"); break; case ACTION_MODIFIER1: printf ("ACTION_MODIFIER1"); break; case ACTION_MODIFIER2: printf ("ACTION_MODIFIER2"); break; case ACTION_MODIFIER3: printf ("ACTION_MODIFIER3"); break; case ACTION_MODIFIER4: printf ("ACTION_MODIFIER4"); break; case ACTION_SCROLL_UP: printf ("ACTION_SCROLL_UP"); break; case ACTION_SCROLL_DOWN: printf ("ACTION_SCROLL_DOWN"); break; case ACTION_PRIMARY_CLICK: printf ("ACTION_PRIMARY_CLICK"); break; case ACTION_NOT_USED1: printf ("ACTION_NOT_USED1"); break; case UNDEFINED: printf ("UNDEFINED"); break; default: printf ("Unknown action"); break; } printf (": cyclesactive=%i\n", user_controls[*actionid].cyclesactive); } /*************************************************************************** * Set Default User Controls * ***************************************************************************/ void set_default_user_controls (struct control user_controls[USER_CONTROLS]) { int count; /* Set some defaults */ for (count = 0; count < USER_CONTROLS; count++) { #if defined(PLATFORM_WIN32) || defined(PLATFORM_PC) user_controls[count].device = DEVICE_KEYBOARD; #elif defined(PLATFORM_GP2X) user_controls[count].device = DEVICE_JOYSTICK; #elif defined(PLATFORM_ZAURUS) user_controls[count].device = DEVICE_KEYBOARD; #elif defined(PLATFORM_FREMANTLE) user_controls[count].device = DEVICE_KEYBOARD; #elif defined(PLATFORM_PSP) user_controls[count].device = DEVICE_JOYSTICK; #endif user_controls[count].id = UNDEFINED; user_controls[count].mod = UNDEFINED; user_controls[count].state = SDL_RELEASED; user_controls[count].cyclesactive = 0; user_controls[count].delay = KEY_REPEAT_DELAY; user_controls[count].interval = KEY_REPEAT_INTERVAL; } /* Now tune to a platform. NOTE that so far device is the only property * that has been initialised to something (keyboard or joystick) so if * you don't want to use a control then just set its device to UNDEFINED * (id and mod are already set to UNDEFINED from the above code) otherwise * within Options you'll see the device shown on its own which looks weird */ #if defined(PLATFORM_WIN32) || defined(PLATFORM_PC) user_controls[ACTION_UP].id = SDLK_UP; user_controls[ACTION_UP_RIGHT].device = UNDEFINED; user_controls[ACTION_RIGHT].id = SDLK_RIGHT; user_controls[ACTION_DOWN_RIGHT].device = UNDEFINED; user_controls[ACTION_DOWN].id = SDLK_DOWN; user_controls[ACTION_DOWN_LEFT].device = UNDEFINED; user_controls[ACTION_LEFT].id = SDLK_LEFT; user_controls[ACTION_UP_LEFT].device = UNDEFINED; user_controls[ACTION_RESTART].id = SDLK_r; user_controls[ACTION_SHOOT_UP].id = SDLK_UP; user_controls[ACTION_SHOOT_UP].mod = ACTION_MODIFIER2; user_controls[ACTION_SHOOT_DOWN].id = SDLK_DOWN; user_controls[ACTION_SHOOT_DOWN].mod = ACTION_MODIFIER2; user_controls[ACTION_SHOOT_LEFT].id = SDLK_LEFT; user_controls[ACTION_SHOOT_LEFT].mod = ACTION_MODIFIER2; user_controls[ACTION_SHOOT_RIGHT].id = SDLK_RIGHT; user_controls[ACTION_SHOOT_RIGHT].mod = ACTION_MODIFIER2; user_controls[ACTION_SELECT].id = SDLK_RETURN; user_controls[ACTION_EXIT].id = SDLK_ESCAPE; user_controls[ACTION_HELP].id = SDLK_F1; user_controls[ACTION_OPTIONS].id = SDLK_F4; user_controls[ACTION_TOGGLE_FULLSCREEN].id = SDLK_RETURN; user_controls[ACTION_TOGGLE_FULLSCREEN].mod = ACTION_MODIFIER1; user_controls[ACTION_PREVIOUS_LEVEL].id = SDLK_F5; user_controls[ACTION_NEXT_LEVEL].id = SDLK_F6; user_controls[ACTION_PREVIOUS_PACK].id = SDLK_F7; user_controls[ACTION_NEXT_PACK].id = SDLK_F8; user_controls[ACTION_HOME].id = SDLK_HOME; user_controls[ACTION_END].id = SDLK_END; user_controls[ACTION_PAGEUP].id = SDLK_PAGEUP; user_controls[ACTION_PAGEDOWN].id = SDLK_PAGEDOWN; user_controls[ACTION_TOGGLE_DESIGNER].id = SDLK_F9; user_controls[ACTION_VOLUP].id = SDLK_EQUALS; user_controls[ACTION_VOLDOWN].id = SDLK_MINUS; user_controls[ACTION_MODIFIER1].id = SDLK_LALT; user_controls[ACTION_MODIFIER2].id = SDLK_RSHIFT; user_controls[ACTION_MODIFIER3].device = UNDEFINED; user_controls[ACTION_MODIFIER4].device = UNDEFINED; user_controls[ACTION_SCROLL_UP].device = DEVICE_MOUSE; user_controls[ACTION_SCROLL_UP].id = SDL_BUTTON_WHEELUP; user_controls[ACTION_SCROLL_DOWN].device = DEVICE_MOUSE; user_controls[ACTION_SCROLL_DOWN].id = SDL_BUTTON_WHEELDOWN; user_controls[ACTION_PRIMARY_CLICK].device = DEVICE_MOUSE; user_controls[ACTION_PRIMARY_CLICK].id = SDL_BUTTON_LEFT; user_controls[ACTION_NOT_USED1].device = UNDEFINED; #elif defined(PLATFORM_GP2X) user_controls[ACTION_UP].id = GP2X_JOY_N; user_controls[ACTION_UP_RIGHT].device = UNDEFINED; user_controls[ACTION_RIGHT].id = GP2X_JOY_E; user_controls[ACTION_DOWN_RIGHT].device = UNDEFINED; user_controls[ACTION_DOWN].id = GP2X_JOY_S; user_controls[ACTION_DOWN_LEFT].device = UNDEFINED; user_controls[ACTION_LEFT].id = GP2X_JOY_W; user_controls[ACTION_UP_LEFT].device = UNDEFINED; user_controls[ACTION_RESTART].id = GP2X_SELECT; user_controls[ACTION_SHOOT_UP].id = GP2X_JOY_N; user_controls[ACTION_SHOOT_UP].mod = ACTION_MODIFIER1; user_controls[ACTION_SHOOT_DOWN].id = GP2X_JOY_S; user_controls[ACTION_SHOOT_DOWN].mod = ACTION_MODIFIER1; user_controls[ACTION_SHOOT_LEFT].id = GP2X_JOY_W; user_controls[ACTION_SHOOT_LEFT].mod = ACTION_MODIFIER1; user_controls[ACTION_SHOOT_RIGHT].id = GP2X_JOY_E; user_controls[ACTION_SHOOT_RIGHT].mod = ACTION_MODIFIER1; user_controls[ACTION_SELECT].id = GP2X_BTN_B; user_controls[ACTION_EXIT].id = GP2X_BTN_X; user_controls[ACTION_HELP].id = GP2X_BTN_Y; user_controls[ACTION_HELP].mod = ACTION_MODIFIER1; user_controls[ACTION_OPTIONS].id = GP2X_START; user_controls[ACTION_TOGGLE_FULLSCREEN].device = UNDEFINED; user_controls[ACTION_PREVIOUS_LEVEL].id = GP2X_LTRIG; user_controls[ACTION_PREVIOUS_LEVEL].mod = ACTION_MODIFIER1; user_controls[ACTION_NEXT_LEVEL].id = GP2X_RTRIG; user_controls[ACTION_NEXT_LEVEL].mod = ACTION_MODIFIER1; user_controls[ACTION_PREVIOUS_PACK].id = GP2X_LTRIG; user_controls[ACTION_PREVIOUS_PACK].mod = ACTION_MODIFIER2; user_controls[ACTION_NEXT_PACK].id = GP2X_RTRIG; user_controls[ACTION_NEXT_PACK].mod = ACTION_MODIFIER2; user_controls[ACTION_HOME].id = GP2X_VOL_DN; user_controls[ACTION_HOME].mod = ACTION_MODIFIER1; user_controls[ACTION_END].id = GP2X_VOL_UP; user_controls[ACTION_END].mod = ACTION_MODIFIER1; user_controls[ACTION_PAGEUP].id = GP2X_LTRIG; user_controls[ACTION_PAGEDOWN].id = GP2X_RTRIG; user_controls[ACTION_TOGGLE_DESIGNER].device = UNDEFINED; user_controls[ACTION_VOLUP].id = GP2X_VOL_UP; user_controls[ACTION_VOLDOWN].id = GP2X_VOL_DN; user_controls[ACTION_MODIFIER1].id = GP2X_BTN_A; user_controls[ACTION_MODIFIER2].id = GP2X_BTN_Y; user_controls[ACTION_MODIFIER3].device = UNDEFINED; user_controls[ACTION_MODIFIER4].device = UNDEFINED; user_controls[ACTION_SCROLL_UP].device = UNDEFINED; user_controls[ACTION_SCROLL_DOWN].device = UNDEFINED; #ifdef HAVE_DESIGNER /* F100 doesn't support the mouse, F200 does (or can) so * what happens here depends on HAVE_DESIGNER in the Makefile */ user_controls[ACTION_PRIMARY_CLICK].device = DEVICE_MOUSE; user_controls[ACTION_PRIMARY_CLICK].id = SDL_BUTTON_LEFT; #else user_controls[ACTION_PRIMARY_CLICK].device = UNDEFINED; #endif user_controls[ACTION_NOT_USED1].device = UNDEFINED; #elif defined(PLATFORM_ZAURUS) user_controls[ACTION_UP].id = ZAURUS_UP; user_controls[ACTION_UP_RIGHT].device = UNDEFINED; user_controls[ACTION_RIGHT].id = ZAURUS_RIGHT; user_controls[ACTION_DOWN_RIGHT].device = UNDEFINED; user_controls[ACTION_DOWN].id = ZAURUS_DOWN; user_controls[ACTION_DOWN_LEFT].device = UNDEFINED; user_controls[ACTION_LEFT].id = ZAURUS_LEFT; user_controls[ACTION_UP_LEFT].device = UNDEFINED; user_controls[ACTION_RESTART].id = ZAURUS_HOME; user_controls[ACTION_SHOOT_UP].id = ZAURUS_UP; user_controls[ACTION_SHOOT_UP].mod = ACTION_MODIFIER1; user_controls[ACTION_SHOOT_DOWN].id = ZAURUS_DOWN; user_controls[ACTION_SHOOT_DOWN].mod = ACTION_MODIFIER1; user_controls[ACTION_SHOOT_LEFT].id = ZAURUS_LEFT; user_controls[ACTION_SHOOT_LEFT].mod = ACTION_MODIFIER1; user_controls[ACTION_SHOOT_RIGHT].id = ZAURUS_RIGHT; user_controls[ACTION_SHOOT_RIGHT].mod = ACTION_MODIFIER1; user_controls[ACTION_SELECT].id = ZAURUS_SPACE; user_controls[ACTION_EXIT].id = ZAURUS_CANCEL; user_controls[ACTION_HELP].id = ZAURUS_MENU; user_controls[ACTION_OPTIONS].id = ZAURUS_EMAIL; user_controls[ACTION_TOGGLE_FULLSCREEN].device = UNDEFINED; user_controls[ACTION_PREVIOUS_LEVEL].id = ZAURUS_CALENDAR; user_controls[ACTION_PREVIOUS_LEVEL].mod = ACTION_MODIFIER1; user_controls[ACTION_NEXT_LEVEL].id = ZAURUS_ADDRESS; user_controls[ACTION_NEXT_LEVEL].mod = ACTION_MODIFIER1; user_controls[ACTION_PREVIOUS_PACK].device = UNDEFINED; user_controls[ACTION_NEXT_PACK].device = UNDEFINED; user_controls[ACTION_HOME].device = UNDEFINED; user_controls[ACTION_END].device = UNDEFINED; user_controls[ACTION_PAGEUP].id = ZAURUS_CALENDAR; user_controls[ACTION_PAGEDOWN].id = ZAURUS_ADDRESS; user_controls[ACTION_TOGGLE_DESIGNER].device = UNDEFINED; user_controls[ACTION_VOLUP].device = UNDEFINED; user_controls[ACTION_VOLDOWN].device = UNDEFINED; user_controls[ACTION_MODIFIER1].id = ZAURUS_SPACE; user_controls[ACTION_MODIFIER2].device = UNDEFINED; user_controls[ACTION_MODIFIER3].device = UNDEFINED; user_controls[ACTION_MODIFIER4].device = UNDEFINED; user_controls[ACTION_SCROLL_UP].device = UNDEFINED; user_controls[ACTION_SCROLL_DOWN].device = UNDEFINED; user_controls[ACTION_PRIMARY_CLICK].device = DEVICE_MOUSE; user_controls[ACTION_PRIMARY_CLICK].id = SDL_BUTTON_LEFT; user_controls[ACTION_NOT_USED1].device = UNDEFINED; #elif defined(PLATFORM_FREMANTLE) user_controls[ACTION_UP].id = SDLK_UP; user_controls[ACTION_UP_RIGHT].device = UNDEFINED; user_controls[ACTION_RIGHT].id = SDLK_RIGHT; user_controls[ACTION_DOWN_RIGHT].device = UNDEFINED; user_controls[ACTION_DOWN].id = SDLK_DOWN; user_controls[ACTION_DOWN_LEFT].device = UNDEFINED; user_controls[ACTION_LEFT].id = SDLK_LEFT; user_controls[ACTION_UP_LEFT].device = UNDEFINED; user_controls[ACTION_RESTART].id = SDLK_r; user_controls[ACTION_SHOOT_UP].id = SDLK_UP; user_controls[ACTION_SHOOT_UP].mod = ACTION_MODIFIER2; user_controls[ACTION_SHOOT_DOWN].id = SDLK_DOWN; user_controls[ACTION_SHOOT_DOWN].mod = ACTION_MODIFIER2; user_controls[ACTION_SHOOT_LEFT].id = SDLK_LEFT; user_controls[ACTION_SHOOT_LEFT].mod = ACTION_MODIFIER2; user_controls[ACTION_SHOOT_RIGHT].id = SDLK_RIGHT; user_controls[ACTION_SHOOT_RIGHT].mod = ACTION_MODIFIER2; user_controls[ACTION_SELECT].id = SDLK_KP_ENTER; user_controls[ACTION_EXIT].id = SDLK_BACKSPACE; user_controls[ACTION_HELP].id = SDLK_h; user_controls[ACTION_OPTIONS].id = SDLK_o; user_controls[ACTION_TOGGLE_FULLSCREEN].id = SDLK_RETURN; user_controls[ACTION_TOGGLE_FULLSCREEN].mod = ACTION_MODIFIER1; user_controls[ACTION_PREVIOUS_LEVEL].id = SDLK_F5; user_controls[ACTION_NEXT_LEVEL].id = SDLK_F6; user_controls[ACTION_PREVIOUS_PACK].id = SDLK_F7; user_controls[ACTION_NEXT_PACK].id = SDLK_F8; user_controls[ACTION_HOME].id = SDLK_HOME; user_controls[ACTION_END].id = SDLK_END; user_controls[ACTION_PAGEUP].id = SDLK_PAGEUP; user_controls[ACTION_PAGEDOWN].id = SDLK_PAGEDOWN; user_controls[ACTION_TOGGLE_DESIGNER].id = SDLK_F9; user_controls[ACTION_VOLUP].id = SDLK_EQUALS; user_controls[ACTION_VOLDOWN].id = SDLK_MINUS; user_controls[ACTION_MODIFIER1].id = SDLK_MODE; user_controls[ACTION_MODIFIER2].id = SDLK_LSHIFT; user_controls[ACTION_MODIFIER3].device = UNDEFINED; user_controls[ACTION_MODIFIER4].device = UNDEFINED; user_controls[ACTION_SCROLL_UP].device = DEVICE_MOUSE; user_controls[ACTION_SCROLL_UP].id = SDL_BUTTON_WHEELUP; user_controls[ACTION_SCROLL_DOWN].device = DEVICE_MOUSE; user_controls[ACTION_SCROLL_DOWN].id = SDL_BUTTON_WHEELDOWN; user_controls[ACTION_PRIMARY_CLICK].device = DEVICE_MOUSE; user_controls[ACTION_PRIMARY_CLICK].id = SDL_BUTTON_LEFT; user_controls[ACTION_NOT_USED1].device = UNDEFINED; #elif defined(PLATFORM_PSP) user_controls[ACTION_UP].id = PSP_UP; user_controls[ACTION_UP_RIGHT].device = UNDEFINED; user_controls[ACTION_RIGHT].id = PSP_RIGHT; user_controls[ACTION_DOWN_RIGHT].device = UNDEFINED; user_controls[ACTION_DOWN].id = PSP_DOWN; user_controls[ACTION_DOWN_LEFT].device = UNDEFINED; user_controls[ACTION_LEFT].id = PSP_LEFT; user_controls[ACTION_UP_LEFT].device = UNDEFINED; user_controls[ACTION_RESTART].id = PSP_START; user_controls[ACTION_SHOOT_UP].id = PSP_UP; user_controls[ACTION_SHOOT_UP].mod = ACTION_MODIFIER1; user_controls[ACTION_SHOOT_DOWN].id = PSP_DOWN; user_controls[ACTION_SHOOT_DOWN].mod = ACTION_MODIFIER1; user_controls[ACTION_SHOOT_LEFT].id = PSP_LEFT; user_controls[ACTION_SHOOT_LEFT].mod = ACTION_MODIFIER1; user_controls[ACTION_SHOOT_RIGHT].id = PSP_RIGHT; user_controls[ACTION_SHOOT_RIGHT].mod = ACTION_MODIFIER1; user_controls[ACTION_SELECT].id = PSP_CROSS; user_controls[ACTION_EXIT].id = PSP_SELECT; user_controls[ACTION_HELP].device = UNDEFINED; user_controls[ACTION_OPTIONS].device = UNDEFINED; user_controls[ACTION_TOGGLE_FULLSCREEN].device = UNDEFINED; user_controls[ACTION_PREVIOUS_LEVEL].id = PSP_LEFT_TRIGGER; user_controls[ACTION_NEXT_LEVEL].id = PSP_RIGHT_TRIGGER; user_controls[ACTION_PREVIOUS_PACK].device = UNDEFINED; user_controls[ACTION_NEXT_PACK].device = UNDEFINED; user_controls[ACTION_HOME].device = UNDEFINED; user_controls[ACTION_END].device = UNDEFINED; user_controls[ACTION_PAGEUP].device = UNDEFINED; user_controls[ACTION_PAGEDOWN].device = UNDEFINED; user_controls[ACTION_TOGGLE_DESIGNER].device = UNDEFINED; user_controls[ACTION_VOLUP].device = UNDEFINED; user_controls[ACTION_VOLDOWN].device = UNDEFINED; user_controls[ACTION_MODIFIER1].id = PSP_CROSS; user_controls[ACTION_MODIFIER2].device = UNDEFINED; user_controls[ACTION_MODIFIER3].device = UNDEFINED; user_controls[ACTION_MODIFIER4].device = UNDEFINED; user_controls[ACTION_SCROLL_UP].device = UNDEFINED; user_controls[ACTION_SCROLL_DOWN].device = UNDEFINED; user_controls[ACTION_PRIMARY_CLICK].device = UNDEFINED; user_controls[ACTION_NOT_USED1].device = UNDEFINED; #endif } /*************************************************************************** * Set Key Repeat * ***************************************************************************/ /* Enable or disable keyboard key repeat. * * On entry: delay = the delay before repeating or 0 to disable * interval = the repeat interval * On exit: returns 1 on error else 0 */ int set_key_repeat (int delay, int interval) { if (SDL_EnableKeyRepeat (delay, interval) != 0) { fprintf (stdout, "Error setting key repeat: %s\n", SDL_GetError ()); return 1; } return 0; } /*************************************************************************** * Initialise Joystick * ***************************************************************************/ /* Enable a joystick for input. It's designed so that it's possible to restore * a saved joyid and joyname from an rc file and attempt to match them up * taking into account somebody might have two joysticks that may have been * switched. * * On entry: joyid = UNDEFINED (-1) for any joystick with joyname irrelevant * joyid = 0 to n for a specific joystick by joyid only (joyname = "-1") * joyid = 0 to n for a specific joystick by joyid and/or joyname with * joyname taking priority (joyname != "-1") * show = TRUE to dump output to the terminal * On exit: returns the joyid if successful (zero based) with joyname = joystick name * returns UNDEFINED (-1) if unsuccessful with joyname = "-1" */ int initialise_joystick (int joyid, char *joyname, int show) { int count, number_found, found = FALSE; number_found = SDL_NumJoysticks (); /* Get number of joysticks attached */ /* Are any joysticks available? */ if (number_found > 0) { /* WARNING: attempting to close joystick 0 on the GP2X * using the GPH SDK causes a seg fault */ #if defined(PLATFORM_WIN32) || defined(PLATFORM_PC) if (joystick) { #elif defined(PLATFORM_GP2X) if ((joystick) && ((SDL_JoystickIndex (joystick)) > 0)) { #elif defined(PLATFORM_ZAURUS) if (joystick) { #elif defined(PLATFORM_FREMANTLE) if (joystick) { #elif defined(PLATFORM_PSP) if (joystick) { #endif if (show) fprintf (stdout, "Joystick closed: %i:%s\n", SDL_JoystickIndex (joystick), SDL_JoystickName (SDL_JoystickIndex (joystick))); SDL_JoystickClose (joystick); } /* Enable joystick event processing */ SDL_JoystickEventState (SDL_ENABLE); /* Enable any joystick? */ if (joyid == UNDEFINED) { for (count = 0; count < number_found; count++) { if ((joystick = SDL_JoystickOpen (count))) { if (show) fprintf (stdout, "Joystick opened: %i:%s\n", count, SDL_JoystickName (count)); joyid = count; found = TRUE; break; } else { if (show) fprintf (stdout, "Couldn't open joystick %i:%s!\n", count, SDL_JoystickName (count)); } } if (!found) { if (show) fprintf (stdout, "Couldn't open any of %i joystick(s)!\n", number_found); joyid = UNDEFINED; } } else if (!strcmp (joyname, "-1")) /* Enable a joystick by joyid only? */ { if ((joystick = SDL_JoystickOpen (joyid))) { if (show) fprintf (stdout, "Joystick opened: %i:%s\n", joyid, SDL_JoystickName (joyid)); } else { if (show) fprintf (stdout, "Couldn't open joystick %i\n", joyid); joyid = UNDEFINED; } } else /* Enable a joystick by joyid and/or joyname */ { /* Firstly, attempt to find an exact match on joyid and joyname */ for (count = 0; count < number_found; count++) { if ((joystick = SDL_JoystickOpen (count))) { if (joyid == count && !strcmp (joyname, SDL_JoystickName (count))) { if (show) fprintf (stdout, "Joystick opened: %i:%s\n", count, SDL_JoystickName (count)); joyid = count; found = TRUE; break; } } } if (!found) { /* Exact match not found so search for joyname only */ for (count = 0; count < number_found; count++) { if ((joystick = SDL_JoystickOpen (count))) { if (!strcmp (joyname, SDL_JoystickName (count))) { if (show) fprintf (stdout, "Joystick opened: %i:%s\n", count, SDL_JoystickName (count)); joyid = count; found = TRUE; break; } } } if (!found) { if (show) fprintf (stdout, "Couldn't find joystick %i:%s\n", joyid, joyname); joyid = UNDEFINED; } } } } else { if (show) fprintf (stdout, "There is no joystick to initialise\n"); joyid = UNDEFINED; } /* Flush events as opening a joystick releases all the buttons */ if (joystick) while (SDL_PollEvent (&event)); get_joystick_name (joyid, joyname); return joyid; } /*************************************************************************** * Get Joystick Name * ***************************************************************************/ /* Gets a joystick name that isn't NULL ;) It's also truncated to * MAX_JOYSTICK_NAME_LENGTH which is currently 256 characters. * * On entry: joyid = 0 to n for a specific joystick * On exit: returns 0 if successful with joyname = joystick name * returns 1 on error with joyname = "-1" */ int get_joystick_name (int joyid, char *joyname) { if (SDL_JoystickName (joyid) != NULL) { strncpy (joyname, SDL_JoystickName (joyid), MAX_JOYSTICK_NAME_LENGTH); /* Force string null termination if max characters were copied */ joyname[MAX_JOYSTICK_NAME_LENGTH - 1] = 0; return 0; } else { strcpy (joyname, "-1"); return 1; } } /*************************************************************************** * Get Joystick List * ***************************************************************************/ /* Get a list of attached joysticks if any. I have found that SDL does not * update the list if you subsequently plug or unplug a joystick. * * On entry: joystick_list is an array of strings * show = TRUE to dump output to the terminal * On exit: returns number of joysticks found */ int get_joystick_list (char joystick_list[MAX_JOYSTICKS][MAX_JOYSTICK_NAME_LENGTH], int show) { int count, number_found; for (count = 0; count < MAX_JOYSTICKS; count++) strcpy (joystick_list[count], ""); number_found = SDL_NumJoysticks (); /* Get number of joysticks attached */ if (number_found > MAX_JOYSTICKS) number_found = MAX_JOYSTICKS; if (number_found) { SDL_JoystickEventState (SDL_ENABLE); /* Enable joystick event processing */ /* Initialise joystick_list */ for (count = 0; count < number_found; count++) { get_joystick_name (count, joystick_list[count]); if (show) fprintf (stdout, "Joystick found: %i:%s\n", count, joystick_list[count]); } } else { if (show) fprintf (stdout, "No joystick found\n"); } #ifdef DEBUG_CONTROLS strcpy (joystick_list[number_found++], "Micro Shaft Pretend Joystick"); strcpy (joystick_list[number_found++], "Grevious Gamepad Pro"); strcpy (joystick_list[number_found++], "Cheapo Joypad"); #endif return number_found; } /*************************************************************************** * Get Input Device Text * ***************************************************************************/ /* Translates an SDLKey value into a string for display in Options. * * On entry: device = input device * id = keysym.sym * joyname = a string containing a possible joystick name * text = the return string * On exit: text = either a key/button legend or the id in text */ void get_input_device_text (int device, int id, char *joyname, char *text) { if (device == DEVICE_MOUSE) { switch (id) { case SDL_BUTTON_LEFT: strcpy (text, txt_ptr_BtnLeft); break; case SDL_BUTTON_MIDDLE: strcpy (text, txt_ptr_BtnMiddle); break; case SDL_BUTTON_RIGHT: strcpy (text, txt_ptr_BtnRight); break; case SDL_BUTTON_WHEELUP: strcpy (text, txt_ptr_WheelUp); break; case SDL_BUTTON_WHEELDOWN: strcpy (text, txt_ptr_WheelDown); break; default: sprintf (text, "%i", id); break; } } else if (device == DEVICE_KEYBOARD) { switch (id) { case SDLK_UNKNOWN: strcpy (text, "SDLUnknown"); break; case SDLK_BACKSPACE: strcpy (text, txt_key_Backspace); break; case SDLK_TAB: strcpy (text, txt_key_Tab); break; case SDLK_CLEAR: strcpy (text, txt_key_Clear); break; case SDLK_RETURN: strcpy (text, txt_key_Return); break; case SDLK_PAUSE: strcpy (text, txt_key_Pause); break; case SDLK_ESCAPE: strcpy (text, txt_key_Escape); break; case SDLK_SPACE: strcpy (text, txt_key_Space); break; case SDLK_EXCLAIM: strcpy (text, "!"); break; case SDLK_QUOTEDBL: strcpy (text, "\""); break; case SDLK_HASH: strcpy (text, "#"); break; case SDLK_DOLLAR: strcpy (text, "$"); break; case SDLK_AMPERSAND: strcpy (text, "&"); break; case SDLK_QUOTE: strcpy (text, "'"); break; case SDLK_LEFTPAREN: strcpy (text, "("); break; case SDLK_RIGHTPAREN: strcpy (text, ")"); break; case SDLK_ASTERISK: strcpy (text, "*"); break; case SDLK_PLUS: strcpy (text, "+"); break; case SDLK_COMMA: strcpy (text, ","); break; case SDLK_MINUS: strcpy (text, "-"); break; case SDLK_PERIOD: strcpy (text, "."); break; case SDLK_SLASH: strcpy (text, "/"); break; case SDLK_0: strcpy (text, "0"); break; case SDLK_1: strcpy (text, "1"); break; case SDLK_2: strcpy (text, "2"); break; case SDLK_3: strcpy (text, "3"); break; case SDLK_4: strcpy (text, "4"); break; case SDLK_5: strcpy (text, "5"); break; case SDLK_6: strcpy (text, "6"); break; case SDLK_7: strcpy (text, "7"); break; case SDLK_8: strcpy (text, "8"); break; case SDLK_9: strcpy (text, "9"); break; case SDLK_COLON: strcpy (text, ":"); break; case SDLK_SEMICOLON: strcpy (text, ";"); break; case SDLK_LESS: strcpy (text, "<"); break; case SDLK_EQUALS: strcpy (text, "="); break; case SDLK_GREATER: strcpy (text, ">"); break; case SDLK_QUESTION: strcpy (text, "?"); break; case SDLK_AT: strcpy (text, "@"); break; case SDLK_LEFTBRACKET: strcpy (text, "["); break; case SDLK_BACKSLASH: strcpy (text, "\\"); break; case SDLK_RIGHTBRACKET: strcpy (text, "]"); break; case SDLK_CARET: strcpy (text, "^"); break; case SDLK_UNDERSCORE: strcpy (text, "_"); break; case SDLK_BACKQUOTE: strcpy (text, "`"); break; case SDLK_a: strcpy (text, "A"); break; case SDLK_b: strcpy (text, "B"); break; case SDLK_c: strcpy (text, "C"); break; case SDLK_d: strcpy (text, "D"); break; case SDLK_e: strcpy (text, "E"); break; case SDLK_f: strcpy (text, "F"); break; case SDLK_g: strcpy (text, "G"); break; case SDLK_h: strcpy (text, "H"); break; case SDLK_i: strcpy (text, "I"); break; case SDLK_j: strcpy (text, "J"); break; case SDLK_k: strcpy (text, "K"); break; case SDLK_l: strcpy (text, "L"); break; case SDLK_m: strcpy (text, "M"); break; case SDLK_n: strcpy (text, "N"); break; case SDLK_o: strcpy (text, "O"); break; case SDLK_p: strcpy (text, "P"); break; case SDLK_q: strcpy (text, "Q"); break; case SDLK_r: strcpy (text, "R"); break; case SDLK_s: strcpy (text, "S"); break; case SDLK_t: strcpy (text, "T"); break; case SDLK_u: strcpy (text, "U"); break; case SDLK_v: strcpy (text, "V"); break; case SDLK_w: strcpy (text, "W"); break; case SDLK_x: strcpy (text, "X"); break; case SDLK_y: strcpy (text, "Y"); break; case SDLK_z: strcpy (text, "Z"); break; case SDLK_DELETE: strcpy (text, txt_key_Delete); break; case SDLK_KP0: sprintf (text, "%s0", txt_key_KP); break; case SDLK_KP1: sprintf (text, "%s1", txt_key_KP); break; case SDLK_KP2: sprintf (text, "%s2", txt_key_KP); break; case SDLK_KP3: sprintf (text, "%s3", txt_key_KP); break; case SDLK_KP4: sprintf (text, "%s4", txt_key_KP); break; case SDLK_KP5: sprintf (text, "%s5", txt_key_KP); break; case SDLK_KP6: sprintf (text, "%s6", txt_key_KP); break; case SDLK_KP7: sprintf (text, "%s7", txt_key_KP); break; case SDLK_KP8: sprintf (text, "%s8", txt_key_KP); break; case SDLK_KP9: sprintf (text, "%s9", txt_key_KP); break; case SDLK_KP_PERIOD: sprintf (text, "%s.", txt_key_KP); break; case SDLK_KP_DIVIDE: sprintf (text, "%s/", txt_key_KP); break; case SDLK_KP_MULTIPLY: sprintf (text, "%s*", txt_key_KP); break; case SDLK_KP_MINUS: sprintf (text, "%s-", txt_key_KP); break; case SDLK_KP_PLUS: sprintf (text, "%s+", txt_key_KP); break; case SDLK_KP_ENTER: sprintf (text, "%sEnter", txt_key_KP); break; case SDLK_KP_EQUALS: sprintf (text, "%s=", txt_key_KP); break; case SDLK_UP: strcpy (text, txt_key_Up); break; case SDLK_DOWN: strcpy (text, txt_key_Down); break; case SDLK_RIGHT: strcpy (text, txt_key_Right); break; case SDLK_LEFT: strcpy (text, txt_key_Left); break; case SDLK_INSERT: strcpy (text, txt_key_Insert); break; case SDLK_HOME: strcpy (text, txt_key_Home); break; case SDLK_END: strcpy (text, txt_key_End); break; case SDLK_PAGEUP: strcpy (text, txt_key_PgUp); break; case SDLK_PAGEDOWN: strcpy (text, txt_key_PgDn); break; case SDLK_F1: strcpy (text, "F1"); break; case SDLK_F2: strcpy (text, "F2"); break; case SDLK_F3: strcpy (text, "F3"); break; case SDLK_F4: strcpy (text, "F4"); break; case SDLK_F5: strcpy (text, "F5"); break; case SDLK_F6: strcpy (text, "F6"); break; case SDLK_F7: strcpy (text, "F7"); break; case SDLK_F8: strcpy (text, "F8"); break; case SDLK_F9: strcpy (text, "F9"); break; case SDLK_F10: strcpy (text, "F10"); break; case SDLK_F11: strcpy (text, "F11"); break; case SDLK_F12: strcpy (text, "F12"); break; case SDLK_F13: strcpy (text, "F13"); break; case SDLK_F14: strcpy (text, "F14"); break; case SDLK_F15: strcpy (text, "F15"); break; case SDLK_NUMLOCK: strcpy (text, txt_key_NumLk); break; case SDLK_CAPSLOCK: strcpy (text, txt_key_CapsLk); break; case SDLK_SCROLLOCK: strcpy (text, txt_key_ScrlLk); break; case SDLK_RSHIFT: strcpy (text, txt_key_RShift); break; case SDLK_LSHIFT: strcpy (text, txt_key_LShift); break; case SDLK_RCTRL: strcpy (text, txt_key_RCtrl); break; case SDLK_LCTRL: strcpy (text, txt_key_LCtrl); break; case SDLK_RALT: strcpy (text, txt_key_RAlt); break; case SDLK_LALT: strcpy (text, txt_key_LAlt); break; case SDLK_RMETA: strcpy (text, txt_key_RMeta); break; case SDLK_LMETA: strcpy (text, txt_key_LMeta); break; case SDLK_LSUPER: strcpy (text, txt_key_LSuper); break; case SDLK_RSUPER: strcpy (text, txt_key_RSuper); break; case SDLK_MODE: strcpy (text, txt_key_AltGr); break; case SDLK_COMPOSE: strcpy (text, txt_key_Compose); break; case SDLK_HELP: strcpy (text, txt_key_Help); break; case SDLK_PRINT: strcpy (text, txt_key_PrScr); break; case SDLK_SYSREQ: strcpy (text, txt_key_SysRq); break; case SDLK_BREAK: strcpy (text, txt_key_Break); break; case SDLK_MENU: strcpy (text, txt_key_Menu); break; case SDLK_POWER: strcpy (text, txt_key_Power); break; case SDLK_EURO: strcpy (text, txt_key_Euro); break; case SDLK_UNDO: strcpy (text, txt_key_Undo); break; default: sprintf (text, "%i", id); /*strcpy(text, "Unknown"); */ break; } } else if (device == DEVICE_JOYSTICK) { if (strcmp (joyname, "Microsoft SideWinder Game Pad Pro USB version 1.0") == 0) { /* Has a pseudo analogue (digital) D-pad with 2 axes * that's good for testing with but not much else ;) */ switch (id) { case 0: strcpy (text, "A"); break; case 1: strcpy (text, "B"); break; case 2: strcpy (text, "C"); break; case 3: strcpy (text, "X"); break; case 4: strcpy (text, "Y"); break; case 5: strcpy (text, "Z"); break; case 6: strcpy (text, "LTrig"); break; case 7: strcpy (text, "RTrig"); break; case 8: strcpy (text, "Shift"); break; case 10: strcpy (text, "Left"); break; case 11: strcpy (text, "Right"); break; case 12: strcpy (text, "Up"); break; case 13: strcpy (text, "Down"); break; default: sprintf (text, "%i", id); /*strcpy(text, "Unknown"); */ break; } } else if (strcmp (joyname, "MM809 Commander Pad") == 0) { /* Manta MM-809 */ switch (id) { case 0: strcpy (text, "1"); break; case 1: strcpy (text, "2"); break; case 2: strcpy (text, "3"); break; case 3: strcpy (text, "4"); break; case 4: strcpy (text, "5"); break; case 5: strcpy (text, "6"); break; case 6: strcpy (text, "7"); break; case 7: strcpy (text, "8"); break; case 8: strcpy (text, "9"); break; case 9: strcpy (text, "10"); break; case 10: strcpy (text, "11"); break; case 11: strcpy (text, "12"); break; case 12: strcpy (text, "Left"); break; case 13: strcpy (text, "Right"); break; case 14: strcpy (text, "Up"); break; case 15: strcpy (text, "Down"); break; default: sprintf (text, "%i", id); break; } } else if ((strcmp (joyname, "PEP Joy") == 0) || (strcmp (joyname, "GP2X_JOYSTICK") == 0)) { /* GP2X F100/F200 joystick */ switch (id) { case GP2X_JOY_N: strcpy (text, "Up"); break; case GP2X_JOY_NW: strcpy (text, "UpLeft"); break; case GP2X_JOY_W: strcpy (text, "Left"); break; case GP2X_JOY_SW: strcpy (text, "DownLeft"); break; case GP2X_JOY_S: strcpy (text, "Down"); break; case GP2X_JOY_SE: strcpy (text, "DownRight"); break; case GP2X_JOY_E: strcpy (text, "Right"); break; case GP2X_JOY_NE: strcpy (text, "UpRight"); break; case GP2X_START: strcpy (text, "Start"); break; case GP2X_SELECT: strcpy (text, "Select"); break; case GP2X_LTRIG: strcpy (text, "LTrig"); break; case GP2X_RTRIG: strcpy (text, "RTrig"); break; case GP2X_BTN_A: strcpy (text, "A"); break; case GP2X_BTN_B: strcpy (text, "B"); break; case GP2X_BTN_X: strcpy (text, "X"); break; case GP2X_BTN_Y: strcpy (text, "Y"); break; case GP2X_VOL_UP: strcpy (text, "VolUp"); break; case GP2X_VOL_DN: strcpy (text, "VolDn"); break; case GP2X_BTN_JOY: strcpy (text, "JoyPush"); break; default: sprintf (text, "%i", id); /*strcpy(text, "Unknown"); */ break; } } else { sprintf (text, "%i", id); } } else { sprintf (text, "%i", device); } } gnurobbo-0.66+dfsg/pointer_controls.h0000644000175000017500000000460011324353351017013 0ustar stevesteve/* GNU Robbo * Copyright (C) 2002-2010 The GNU Robbo Team (see AUTHORS). * * GNU Robbo is free software - you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2, or (at your option) * any later version. * * GNU Robbo is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the impled warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with GNU CC; see the file COPYING. If not, write to the * Free Software Foundation, 59 Temple Place - Suite 330, * Boston, MA 02111-1307, USA. * */ /* Defines */ /* Pointer controls ids */ #define POINTER_CONTROLS_ID 500 #define POINTER_CONTROLS_SHOOT_ID 501 #define POINTER_CONTROLS_UP_ID 502 #define POINTER_CONTROLS_RIGHT_ID 503 #define POINTER_CONTROLS_DOWN_ID 504 #define POINTER_CONTROLS_LEFT_ID 505 #define POINTER_CONTROLS_TOOLBAR_ID 510 #define POINTER_CONTROLS_TOOLBAR_INTRO_SCREEN_ID 511 #define POINTER_CONTROLS_TOOLBAR_OPTIONS_ID 512 #define POINTER_CONTROLS_TOOLBAR_DESIGNER_ID 513 #define POINTER_CONTROLS_TOOLBAR_RESTART_ID 514 #define POINTER_CONTROLS_TOOLBAR_HIDE_ID 515 /* Pointer controls operation modes */ #define POINTER_CONTROLS_MODE_OFF 0 #define POINTER_CONTROLS_MODE_ON 1 /* Pointer controls pad types */ #define POINTER_CONTROLS_PAD_TYPE_VIEWPORT 0 #define POINTER_CONTROLS_PAD_TYPE_SCREEN 1 /* Pointer controls pad shoot states */ #define POINTER_CONTROLS_SHOOT_OFF 0 #define POINTER_CONTROLS_SHOOT_OFF_DRAG 1 #define POINTER_CONTROLS_SHOOT_CLICK_DRAG 2 #define POINTER_CONTROLS_SHOOT_CLICK 3 /* Variables */ struct pointercontrols { int state; int shoot_state; int pad_type; }; struct pointercontrols pointer_controls; struct pointercontrols temp_pointer_controls; /* Function prototypes */ void pointer_controls_event_processor(ROB_Event *rob_event); void create_pointer_controls(void); void show_pointer_controls(void); void show_pointer_controls_pad(void); void show_pointer_controls_toolbar(void); void hide_pointer_controls(void); void hide_pointer_controls_pad(void); void hide_pointer_controls_toolbar(void); void update_pointer_controls_pad(int robbo_xoffset, int robbo_yoffset); void update_pointer_controls_toolbar(void); gnurobbo-0.66+dfsg/board.h0000644000175000017500000001525111436757703014520 0ustar stevesteve/* GNU Robbo * Copyright (C) 2002-2010 The GNU Robbo Team (see AUTHORS). * * GNU Robbo is free software - you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2, or (at your option) * any later version. * * GNU Robbo is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the impled warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with GNU CC; see the file COPYING. If not, write to the * Free Software Foundation, 59 Temple Place - Suite 330, * Boston, MA 02111-1307, USA. * */ /* Defines */ #define MAX_W 32 /* max width of the board */ #define MAX_H 31 /* max height of the board */ #define MAX_ICONS 9 #define DEFAULT_VIEWPORT_WIDTH 16 #define DEFAULT_VIEWPORT_HEIGHT 12 /* Object delays */ #define DELAY_RADIOACTIVE_FIELD 3 #define DELAY_BIRD 4 #define DELAY_LITTLE_BOOM 2 /* Thunor: I changed this from 1, as it's more like half a BIG_BOOM */ #define DELAY_BEAR 4 #define DELAY_BUTTERFLY 4 #define DELAY_BIGBOOM 3 #define DELAY_ROBBO 4 #define DELAY_TELEPORT 8 /* Thunor: was 15, 8 is similar to Robbo */ #define DELAY_LASER 4 #define DELAY_CAPSULE 10 #define DELAY_GUN 8 #define DELAY_ROTATION 20 #define DELAY_BLASTER 4 #define DELAY_PUSHBOX 4 #define DELAY_BARRIER 4 #define DELAY_TELEPORTING 3 #define DELAY_BOMB_TARGET (DELAY_BIGBOOM + 2) /* Was DELAY_BIGBOOM * 2 (6) but 5 is spot on: use RobboIX-003 and Original-020 to test */ #define DELAY_ROBBO_ANIMATE (DELAY_ROBBO / 2) #define DELAY_MAGNET_ATTRACT DELAY_ROBBO /* Was DELAY_ROBBO * 2 but it's the same as Robbo moving: use Original-011 to test */ #define DELAY_BLINKSCREEN 6 /* how long screen should blink after exit opening */ #define DELAY_RESTART (DELAY_BIGBOOM * 8) /* Object ids */ #define EMPTY_FIELD 0 #define ROBBO 1 #define WALL 2 #define WALL_RED 3 #define SCREW 4 #define BULLET 5 #define BOX 6 #define KEY 7 #define BOMB 8 #define DOOR 9 #define QUESTIONMARK 10 #define BEAR 11 #define BIRD 13 #define CAPSULE 15 #define LITTLE_BOOM 21 #define GROUND 24 #define WALL_GREEN 25 #define BEAR_B 26 #define BUTTERFLY 28 #define LASER_L 30 #define LASER_D 32 #define SOLID_LASER_L 34 /* Thunor: The solid laser uses only one frame so I'm seperating it so that I can create different laser/gun images for skins */ #define SOLID_LASER_D 36 /* Thunor: The solid laser uses only one frame so I'm seperating it so that I can create different laser/gun images for skins */ #define TELEPORT 40 #define TELEPORTING 41 #define BIG_BOOM 42 #define GUN 50 #define MAGNET 54 #define BLASTER 58 #define BLACK_WALL 59 #define PUSH_BOX 60 #define BARRIER 61 #define FAT_WALL 63 #define ROUND_WALL 64 #define BOULDER_WALL 65 #define SQUARE_WALL 66 #define LATTICE_WALL 67 #define RADIOACTIVE_FIELD 68 #define STOP 69 #define BOMB2 70 /* neurocyp: Robbo alex has two types of bombs, we'd like to support it */ #define MECHANIC_SENSIBLE_BEARS TRUE #define MECHANIC_SENSIBLE_QUESTIONMARKS TRUE #define MECHANIC_SENSIBLE_SOLID_LASERS TRUE /* Variables */ int restart_timeout; /* Time to wait before restarting a level after Robbo dies */ struct Coords { int x; int y; }; struct object { int type; int state; /* This is for animation and is used as an index into the icon Coords array lower down */ int direction; /* 0r 1d 2l 3u */ int destroyable; /* can be destroyed */ int blowable; /* can be blowed up */ int killing; /* is object dangerous for robbo */ int moved; /* When last object was moved (all movable) */ int blowed; /* Should object be blowed up? */ int shooted; /* When lately object shooted (guns) */ int rotated; /* When object lately was rotated (guns) */ int solidlaser; /* Does gun shoots solid or normal laser */ int rotable; /* If object can be rotated ? (guns) */ int randomrotated; /* When object has undetermining rotation */ int teleportnumber; /* Number of teleport (kind of theleport) */ int teleportnumber2; /* ID of teleport (for teleports with the same number */ int id_questionmark; /* What object is covered under questionmark */ int direction2; /* direction of moveing (for guns) (if direction2 for birds != (direction+-1) bird shoots */ int movable; /* Is object moving (only for guns all animals do) */ int returnlaser; /* only for solid lasers... */ int shooting; /* if birds can shoot */ int processed; /* Time stamped with cycle_count once processed in update_game() */ int redraw; /* Set to 1 if this object/board location needs redrawing in show_game_area() */ struct Coords icon[MAX_ICONS]; /* Coords of left-up point of icons drawed on bitmap */ }; struct object board[MAX_W][MAX_H]; /* This is the game area. Each board location holds one and only one of the above objects */ struct { int x; /* Board x position */ int y; /* Board y position */ int alive; /* if Robbo is alive */ int state; /* Robbo's state (0 or 1 for exchange 2 icons for each direction) */ int direction; /* Robbo's direction 0,2,4,6 + state => icon */ int screws; /* The initial number of screws to collect at level start */ int keys; /* Keys collected */ int bullets; /* Bullets collected */ int moved; /* A delay countdown till next move */ int shooted; /* A delay countdown till next shot */ int exitopened; /* Set to TRUE when all the required screws are collected */ int blocked; /* robbo cannot move - possible magnet moving */ int blocked_direction; /* where robbo should be moved after blocking */ int teleporting; /* Set to TRUE when Robbo is teleporting */ } robbo; /* What is shown of the board is seen through this viewport */ struct { int x; /* Board x position */ int y; /* Board y position */ int w; int h; int max_w; int max_h; int xoffset; int yoffset; int cycles_to_dest; int maximise; } viewport; /* Some game mechanics that I have made available for modification via the rcfile */ struct { int sensible_bears; int sensible_questionmarks; int sensible_solid_lasers; } game_mechanics; /* Function prototypes */ void update_game (void); void init_questionmarks (void); void open_exit (void); void init_robbo (void); void move_robbo (int x, int y); void shoot_robbo (int x, int y); void viewport_needs_redrawing (void); void create_object (int x, int y, int type); void clear_entire_board (void); void set_coords (struct Coords *coords, int x, int y); int coords_out_of_range (struct Coords coords); void negate_state (int x, int y); void redraw_field (int x, int y); void clear_field (int x, int y); int in_viewport(int x, int y); gnurobbo-0.66+dfsg/COMPILING0000644000175000017500000000617311435040066014511 0ustar stevesteveRequirements ============ libSDL libSDL_mixer libSDL_image and accompanying devel packages. Optional: libSDL_ttf and accompanying devel package. Desktop Linux ============= Firstly make sure that you have the necessary devel libraries installed (plus the libSDL_ttf-devel library if you are not using the pixmap font option) and then type "make". If you are editing the source code and modify any header files then type "make clean && make". The build system has been set-up so that by default GNU Robbo runs from the installation folder. If you want to install this software then you should simply comment the existing PACKAGE_DATA_DIR, BINDIR and DOCDIR group towards the top of the Makefile and uncomment the ones that interest you. Then type :- make clean make (If installing system-wide then login as root now) make install Sharp Zaurus ============ Type "make -f Makefile.zaurus". This creates an ipk. GP2X ==== Type "make -f Makefile.gp2x" or "make -f Makefile.open2x". This creates a tarball. Sony PlayStation Portable (PSP) =============================== Type "make -f Makefile.psp". This creates an EBOOT.PBP. FONT_USE_PIXMAP/FONT_USE_SDL_TTF ================================ The project renders the text using SDL_ttf by default, but there are similar pixmap fonts available that can be enabled by selecting FONT_USE_PIXMAP instead of FONT_USE_SDL_TTF in the Makefile. You may want to use the pixmap fonts if the target platform... * uses a lower resolution or has a smaller screen (pixmap is crisper). * would benefit from the speed advantage of rendering simple pixmaps. * doesn't accept the Bitstream Vera Fonts licence LICENSE-ttf. * doesn't have (or can't locate) the SDL_ttf library or devel package. MUSIC ===== There is support for music which can be enabled/disabled by [un]commenting the line MUSIC=-DHAVE_MUSIC within the Makefile (please see the README for more information about configuring music). DESIGNER ======== There is support for a mouse driven level designer which can be enabled/disabled by [un]commenting the line DESIGNER=-DHAVE_DESIGNER within the Makefile (please see the README for more information about the level designer). Porting to Other Platforms ========================== The build system and this project have been designed to make it as easy as possible to port to other platforms and devices. The source code has official support for Win32, PC (Linux desktop), GPH GP2X, Sharp Zaurus, Maemo 5 Fremantle and the Sony PlayStation PSP. Platform dependent code is wrapped in PLATFORM_WIN32, PLATFORM_PC, PLATFORM_GP2X, PLATFORM_ZAURUS, PLATFORM_FREMANTLE and PLATFORM_PSP compiler directives respectively, so initially you'll want to append these #if #elif... #endif conditional groups with a suitable directive for your platform and either copy and paste the code from one of the others or add your own. This project will run centred in any resolution greater than 240x240 via the -XRESxYRES command line option, therefore it can be run on anything from a portrait orientated mobile/cellular phone to a widescreen internet tablet or netbook without having to reengineer the graphics rendering code. gnurobbo-0.66+dfsg/levels.c0000644000175000017500000010047211436757703014716 0ustar stevesteve/* GNU Robbo * Copyright (C) 2002-2010 The GNU Robbo Team (see AUTHORS). * * GNU Robbo is free software - you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2, or (at your option) * any later version. * * GNU Robbo is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the impled warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with GNU CC; see the file COPYING. If not, write to the * Free Software Foundation, 59 Temple Place - Suite 330, * Boston, MA 02111-1307, USA. * */ #include "game.h" /* Defines */ /* #define DEBUG_LOAD_LEVEL_DATA */ #define DELAY_LEVEL_INIT_SCROLL (2 * game_cycle_limit) /* Variables */ extern char *data_state[]; /* Function prototypes */ int transform_char (char c); /*************************************************************************** * Level Initialisation * ***************************************************************************/ /* Initialises a level (and Robbo) and reads level data from a dat file. * * On exit: returns 0 if successful * returns 1 if level not found */ int level_init (void) { int retval = FALSE; /* Initialise Robbo */ init_robbo (); /* Initialise the level */ level.w = 0; level.h = 0; level.author[0] = 0; level.notes[0] = 0; level.now_is_blinking = 0; /* This is Uint32 so -1 == 0xffffffff and I won't be using that colour */ level.colour = UNDEFINED; /* This is Uint32 so -1 == 0xffffffff and I won't be using that colour */ level.colour_override = UNDEFINED; /* Reset the pointer controls shoot state */ pointer_controls.shoot_state = POINTER_CONTROLS_SHOOT_OFF; /* Clear board */ clear_entire_board (); /* Attempt to load the level */ if (load_level_data (level_packs[selected_pack].level_selected)) { retval = TRUE; } else { read_skin_level_colour_override (); #ifdef DEBUG_LOAD_LEVEL_DATA printf ("*** Start %s ***\n", __func__); printf ("level.colour=%08X\n", level.colour); printf ("level.colour_override=%08X\n", level.colour_override); printf ("*** Stop %s ***\n", __func__); #endif #ifdef DEBUG_COLOUR_SELECT debug_colour_select_r = (level.colour_override >> 16) & 0xff; debug_colour_select_g = (level.colour_override >> 8) & 0xff; debug_colour_select_b = level.colour_override & 0xff; #endif /* This is only going to happen on levels with no screws */ if (robbo.screws == 0) open_exit (); /* Set the id_questionmark property for all questionmarks */ init_questionmarks (); /* Set the size of the viewport */ /* Set viewport width */ if (level.w >= viewport.max_w && !viewport.maximise) { viewport.w = viewport.max_w; } else { viewport.w = level.w; } /* Now adjust it to fit within the dimensions of the screen */ if (viewport.w > screen->w / video.field_size) viewport.w = screen->w / video.field_size; /* Set the xoffset and centre the viewport */ viewport.xoffset = (screen->w - viewport.w * video.field_size) / 2 + video.xshift; /* Set viewport height */ if (level.h >= viewport.max_h && !viewport.maximise) { viewport.h = viewport.max_h; } else { viewport.h = level.h; } /* Now adjust it to fit within the dimensions of the screen */ if (viewport.h > screen->h / video.field_size - 3) viewport.h = screen->h / video.field_size - 3; /* Set the yoffset and centre the viewport */ viewport.yoffset = (screen->h - viewport.h * video.field_size) / 2 + video.yshift; /* Set the scoreline screen offset */ scoreline.xoffset = (screen->w - video.field_size * DEFAULT_VIEWPORT_WIDTH) / 2 + video.xshift; /* A special case when screen->w = 240 or 480 */ if (scoreline.xoffset < 0) scoreline.xoffset = 0; scoreline.yoffset = screen->h / 2 + video.field_size * viewport.h / 2 + video.field_size / 4 + video.yshift; /* Set the authorline screen offset */ authorline.xoffset = scoreline.xoffset + 2 * video.field_size / 16; authorline.yoffset = screen->h / 2 - video.field_size * viewport.h / 2 - video.field_size - video.field_size / 4 + video.yshift; /* Start scrolling from the opposite end of the board to Robbo */ if (robbo.x < level.w / 2) { viewport.x = level.w - viewport.w; } else { viewport.x = 0; } if (robbo.y < level.h / 2) { viewport.y = level.h - viewport.h; } else { viewport.y = 0; } viewport.cycles_to_dest = DELAY_LEVEL_INIT_SCROLL; #ifdef DEBUG_RECORD_DEMO demo_mode (DEMO_MODE_RECORD_INITIALISE, 0); #endif } return retval; } /*************************************************************************** * Create User Pack * ***************************************************************************/ /* This will create the default user level pack for use with the designer * (it needs to be writeable and so its location is platform dependent). * If the target platform requires a local folder structure to accommodate * this file then it will be created too, otherwise the user pack will be * created within the normal location of PACKAGE_DATA_DIR LEVELS_DIR */ void create_userpack (void) { FILE *fp; char fullpath[256]; #if defined(PLATFORM_WIN32) #elif defined(PLATFORM_PC) || defined(PLATFORM_ZAURUS) || defined(PLATFORM_FREMANTLE) char foldername[256]; #elif defined(PLATFORM_GP2X) #elif defined(PLATFORM_PSP) #endif /* Build a platform dependent full path to the DEFAULT_USER_LEVEL_PACK */ fullpath[0] = 0; #if defined(PLATFORM_WIN32) #elif defined(PLATFORM_PC) || defined(PLATFORM_ZAURUS) || defined(PLATFORM_FREMANTLE) strcpy (fullpath, getenv ("HOME")); strcat (fullpath, "/" LOCAL_DATA_DIR "/" LEVELS_DIR "/" DEFAULT_USER_LEVEL_PACK); #elif defined(PLATFORM_GP2X) || defined(PLATFORM_PSP) strcpy (fullpath, PACKAGE_DATA_DIR "/" LEVELS_DIR "/" DEFAULT_USER_LEVEL_PACK); #endif if (fullpath[0] != 0) { /* Attempt to open the DEFAULT_USER_LEVEL_PACK to test its presence */ if ((fp = fopen (fullpath, "r")) == NULL) { /* Failure, so attempt to create everything necessary */ fprintf (stdout, "Creating %s\n", fullpath); /* Create directory structure ignoring errors */ #if defined(PLATFORM_WIN32) #elif defined(PLATFORM_PC) || defined(PLATFORM_ZAURUS) || defined(PLATFORM_FREMANTLE) strcpy (foldername, getenv ("HOME")); strcat (foldername, "/" LOCAL_DATA_DIR); mkdir (foldername, 0755); strcat (foldername, "/" LEVELS_DIR); mkdir (foldername, 0755); #elif defined(PLATFORM_GP2X) #elif defined(PLATFORM_PSP) #endif /* Create and populate the DEFAULT_USER_LEVEL_PACK */ if ((fp = fopen (fullpath, "w")) == NULL) { fprintf (stdout, "Cannot write to file: %s\n", fullpath); } else { fprintf (fp, "%s\n", "[name]\nMyLevels\n\n" "[last_level]\n1\n\n" "[default_level_colour]\n608050\n\n" "[notes]\nDefault user level pack for use with the designer.\n\n\n" "[level]\n1\n" "[colour]\n608050\n" "[size]\n16.31\n" "[author]\n" "[level_notes]\n" "[data]\n" "................\n" ".R..............\n" "................\n" "................\n" "................\n" "................\n" "................\n" "................\n" "................\n" "................\n" "................\n" "................\n" "................\n" "................\n" "........T.......\n" "................\n" "................\n" "................\n" "................\n" "................\n" "................\n" "................\n" "................\n" "................\n" "................\n" "................\n" "................\n" "................\n" "................\n" "..............!.\n" "................\n" "[additional]\n0\n" "[end]\n\n"); fclose (fp); } } else { fclose (fp); } } } /*************************************************************************** * Find All DAT Files * ***************************************************************************/ /* This will search either one or two locations (platform dependent) for dat * files. Searching PACKAGE_DATA_DIR LEVELS_DIR is mandatory but if the * LOCAL_DATA_DIR LEVELS_DIR needs searching too then this should be set-up * below by the maintainer of the particular build. * On exit: returns 1 on error */ int find_all_dat_files (void) { DIR *dir; struct dirent *currentdirent; int default_dat_found = FALSE; char foldername[256]; int count; #if defined(PLATFORM_WIN32) for (count = 0; count < 1; count++) #elif defined(PLATFORM_PC) || defined(PLATFORM_ZAURUS) || defined(PLATFORM_FREMANTLE) for (count = 0; count < 2; count++) #elif defined(PLATFORM_GP2X) || defined(PLATFORM_PSP) for (count = 0; count < 1; count++) #endif { if (count == 0) { strcpy (foldername, PACKAGE_DATA_DIR "/" LEVELS_DIR); } else if (count == 1) { #if defined(PLATFORM_WIN32) #elif defined(PLATFORM_PC) || defined(PLATFORM_ZAURUS) || defined(PLATFORM_FREMANTLE) strcpy (foldername, getenv ("HOME")); strcat (foldername, "/" LOCAL_DATA_DIR "/" LEVELS_DIR); #elif defined(PLATFORM_GP2X) #elif defined(PLATFORM_PSP) #endif } /* Open the installation or current directory */ if ((dir = opendir (foldername)) != NULL) { /* Now search the directory for dat files */ while ((currentdirent = readdir (dir)) != NULL) { #if defined(PLATFORM_PSP) if ((strstr (currentdirent->d_name, ".dat") != NULL) || (strstr (currentdirent->d_name, ".DAT") != NULL)) #else if (strstr (currentdirent->d_name, ".dat") != NULL) #endif { if (level_pack_count < MAX_LEVEL_PACKS) { #if defined(PLATFORM_PSP) if (strcasecmp (currentdirent->d_name, DEFAULT_LEVEL_PACK) == 0) #else if (strcmp (currentdirent->d_name, DEFAULT_LEVEL_PACK) == 0) #endif { default_dat_found = TRUE; } else { strcpy (level_packs[level_pack_count].filename, foldername); strcat (level_packs[level_pack_count].filename, "/"); strcat (level_packs[level_pack_count].filename, currentdirent->d_name); level_pack_count++; found_pack_count++; } } } } closedir (dir); } else { fprintf (stdout, "Couldn't open levels folder: %s\n", foldername); } } if (!default_dat_found) { fprintf (stdout, "Cannot find the default level file: %s\n", PACKAGE_DATA_DIR "/" LEVELS_DIR "/" DEFAULT_LEVEL_PACK); return 1; } return 0; } /*************************************************************************** * Read Level Packs * ***************************************************************************/ /* Reads all level packs and populates the level pack list */ void read_level_packs (void) { FILE *fp; char line[1024]; char filename[256]; int name_found, last_level_found, count, count2; for (count = 0; count < level_pack_count; count++) { strcpy (filename, level_packs[count].filename); if ((fp = fopen (filename, "r")) == NULL) { fprintf (stdout, "Cannot read from file %s\n", filename); /* Set everything to uninitialised */ strcpy (level_packs[count].name, SINGLE_SPACE); level_packs[count].last_level = DEFAULT_LEVEL_START; level_packs[count].level_reached = DEFAULT_LEVEL_START; level_packs[count].level_selected = DEFAULT_LEVEL_START; level_packs[count].selected = FALSE; } else { name_found = last_level_found = FALSE; while ((fgets (line, 1024, fp)) != NULL) { if (!strncmp (line, "[name]", 6)) { fgets (line, 1024, fp); /* fgets will get [CR]LFs too so they should be removed */ for (count2 = strlen (line) - 1; count2 >= 0; count2--) if (line[count2] == 13 || line[count2] == 10) line[count2] = 0; strncpy (level_packs[count].name, line, 20); level_packs[count].name[19] = 0; /* Just in case we read all chars */ name_found = TRUE; } else if (!strncmp (line, "[last_level]", 12)) { fgets (line, 1024, fp); sscanf (line, "%i", &level_packs[count].last_level); last_level_found = TRUE; } if (name_found && last_level_found) break; } if (!name_found || !last_level_found) { if (!name_found) { fprintf (stdout, "[name] is missing from %s\n", filename); /* Default the name */ strcpy (level_packs[count].name, SINGLE_SPACE); } if (!last_level_found) { fprintf (stdout, "[last_level] is missing from %s\n", filename); /* Default last_level */ level_packs[count].last_level = DEFAULT_LEVEL_START; } } /* Default the rest */ level_packs[count].level_reached = DEFAULT_LEVEL_START; level_packs[count].level_selected = DEFAULT_LEVEL_START; if (count) level_packs[count].selected = FALSE; /* Dump info to the console */ fprintf (stdout, "Level pack found: %s with %i levels\n", level_packs[count].name, level_packs[count].last_level); fclose (fp); } } } /*************************************************************************** * Sort Level Packs * ***************************************************************************/ /* Sorts found level packs alphanumerically by name remembering to * preserve the selected pack :) This must be done last after * find_all_dat_files(), read_level_packs() and read_resource_file() */ void sort_level_packs (void) { struct pack swap_pack; int swapped, count; /* Bubble sort found level packs by name */ do { swapped = FALSE; for (count = 0; count < found_pack_count - 1; count++) { if (strcmp (level_packs[count].name, level_packs[count + 1].name) > 0) { swapped = TRUE; swap_pack = level_packs[count + 1]; level_packs[count + 1] = level_packs[count]; level_packs[count] = swap_pack; } } } while (swapped); /* Find the selected pack */ for (count = 0; count < found_pack_count; count++) { if (level_packs[count].selected) selected_pack = count; } } /*************************************************************************** * Load Level Data * ***************************************************************************/ /* This function is called every time we need a new level. * It has been rewritten to be more tolerant of incomplete data and to * display warnings via the console when something is missing. * * On entry: level_number is a level within the currently selected pack * On exit: returns 0 if successful * returns 1 if level not found */ int load_level_data (int level_number) { FILE *fp; /* line[1024] because if fgets returns a partial line * then line_count will be incremented again */ char filename[256], symbol, line[1024]; int count, line_count = 0, x, y = 0, rows = UNDEFINED; int additional_count = UNDEFINED, value_count; int value_read[6]; int default_level_colour_read = DATA_UNREAD; int level_read = DATA_UNREAD; int colour_read = DATA_UNREAD; int size_read = DATA_UNREAD; int author_read = DATA_UNREAD; int data_read = DATA_UNREAD; int additional_read = DATA_UNREAD; int notes_read = DATA_UNREAD; /*int screws_read= DATA_UNREAD; Thunor: redundant: not used - neurocyp: * we want to have different number of screws, than default, some levels * in robbo have different number for level, than real screws number */ /* Attempt to open the level pack */ strcpy (filename, level_packs[selected_pack].filename); if ((fp = fopen (filename, "r")) == NULL) { fprintf (stdout, "Cannot read from file: %s\n", filename); return TRUE; } #ifdef DEBUG_LOAD_LEVEL_DATA printf ("*** Start %s ***\n", __func__); #endif /* Read lines including the [CR]LFs until we have what we need * or reach the end of file (line == NULL). * We are looking for some or all of these things :- * [default_level_colour] - OPTIONAL * [level] * [colour] - OPTIONAL * [size] * [author] - OPTIONAL * [level_notes] - OPTIONAL * [data] * [additional] - if not applicable, this may be missing * [end] */ while ((fgets (line, 1024, fp)) != NULL) { line_count++; /* fgets will get [CR]LFs too so they should be removed */ for (count = strlen (line) - 1; count >= 0; count--) if (line[count] == 13 || line[count] == 10) line[count] = 0; /* Use the tags as switches so we know what to read. * NOTE: Reading consecutive (dataless) tags means that the * previous tag may still be marked as DATA_READING */ if ((!strncmp (line, "[default_level_colour]", 22)) || (!strncmp (line, "[level]", 7) && level_read == DATA_UNREAD) || (!strncmp (line, "[level_notes]", 13) && level_read == DATA_READ) || (!strncmp (line, "[colour]", 8) && level_read == DATA_READ) || (!strncmp (line, "[size]", 6) && level_read == DATA_READ) || (!strncmp (line, "[author]", 8) && level_read == DATA_READ) || (!strncmp (line, "[data]", 6) && level_read == DATA_READ) || (!strncmp (line, "[additional]", 12) && level_read == DATA_READ) || (!strncmp (line, "[end]", 5) && level_read == DATA_READ)) { /* If a tag is being read and we read another tag then * mark it as something else */ if (notes_read == DATA_READING) { notes_read = DATA_INCOMPLETE; } else if (default_level_colour_read == DATA_READING) { default_level_colour_read = DATA_INCOMPLETE; } else if (level_read == DATA_READING) { level_read = DATA_UNREAD; /* We need to keep reading these tags */ } else if (colour_read == DATA_READING) { colour_read = DATA_INCOMPLETE; } else if (size_read == DATA_READING) { size_read = DATA_INCOMPLETE; fprintf (stdout, "%s:%i: Incomplete size data: width or " "height or both were found to be missing.\n", level_packs[selected_pack].filename, line_count); } else if (author_read == DATA_READING) { author_read = DATA_INCOMPLETE; } else if (data_read == DATA_READING) { data_read = DATA_INCOMPLETE; fprintf (stdout, "%s:%i: Insufficient data for declared " "height of %i.\n", level_packs[selected_pack].filename, line_count, level.h); } else if (additional_read == DATA_READING) { additional_read = DATA_INCOMPLETE; if (additional_count != UNDEFINED) fprintf (stdout, "%s:%i: Insufficient additional data " "objects for declared count of %i.\n", level_packs[selected_pack].filename, line_count, additional_count); } /* If the found tag is DATA_UNREAD then mark it for DATA_READING */ if (!strncmp (line, "[default_level_colour]", 22)) { if (default_level_colour_read == DATA_UNREAD) default_level_colour_read = DATA_READING; } else if (!strncmp (line, "[level]", 7)) { if (level_read == DATA_UNREAD) { level_read = DATA_READING; } else if (level_read == DATA_READ) { break; /* We've already read this; something is wrong */ } } else if (!strncmp (line, "[colour]", 8)) { if (colour_read == DATA_UNREAD) colour_read = DATA_READING; } else if (!strncmp (line, "[size]", 6)) { if (size_read == DATA_UNREAD) size_read = DATA_READING; } else if (!strncmp (line, "[author]", 8)) { if (author_read == DATA_UNREAD) author_read = DATA_READING; } else if (!strncmp (line, "[data]", 6)) { if (data_read == DATA_UNREAD) { data_read = DATA_READING; /* This is a good place to reset variables * before reading the data */ y = 0; } } else if (!strncmp (line, "[additional]", 12)) { if (additional_read == DATA_UNREAD) { additional_read = DATA_READING; additional_count = rows = UNDEFINED; } } else if (!strncmp(line,"[level_notes]",13)) { if (notes_read == DATA_UNREAD) notes_read = DATA_READING; } else if (!strncmp (line, "[end]", 5)) { break; /* Stop reading the file now */ } } else { /* It's not a tag but data (or newline) so we * need to find what to do with it */ if (notes_read == DATA_READING) { if (strlen(level.notes) < 1024 - 3) { /* Append some or all line data */ count = 1024 - 3 - strlen(level.notes); if (strlen(line) <= count) { strcat (level.notes, line); } else { strncat (level.notes, line, count); /* Force termination when using strncat */ level.notes[1024 - 1] = 0; } /* Enforce a newline else it causes problems. * 3 chars have been reserved for buffer termination */ strcat (level.notes, "\n"); } else { notes_read = DATA_READ; } #ifdef DEBUG_LOAD_LEVEL_DATA printf ("%i: level_notes=\"%s\"\n", line_count, level.notes); #endif } else if (default_level_colour_read == DATA_READING) { if (sscanf (line, "%x", &value_read[0]) == 1) { level.colour = value_read[0]; default_level_colour_read = DATA_READ; #ifdef DEBUG_LOAD_LEVEL_DATA printf ("%i: default_level_colour=0x%06X\n", line_count, value_read[0]); #endif } else { /* Read once, found to be incomplete, the end :) */ default_level_colour_read = DATA_INCOMPLETE; } } else if (level_read == DATA_READING) { if (sscanf (line, "%i", &value_read[0]) == 1) { if (value_read[0] == level_number) { level_read = DATA_READ; #ifdef DEBUG_LOAD_LEVEL_DATA printf ("%i: level=%i\n", line_count, value_read[0]); #endif } else { level_read = DATA_UNREAD; } } else { level_read = DATA_UNREAD; /* We need to keep reading these tags */ } } else if (colour_read == DATA_READING) { if (sscanf (line, "%x", &value_read[0]) == 1) { level.colour = value_read[0]; colour_read = DATA_READ; #ifdef DEBUG_LOAD_LEVEL_DATA printf ("%i: colour=0x%06X\n", line_count, value_read[0]); #endif } else { colour_read = DATA_INCOMPLETE; } } else if (size_read == DATA_READING) { if (sscanf (line, "%i.%i", &value_read[0], &value_read[1]) == 2) { if ((value_read[0] > 0 && value_read[0] <= MAX_W) && (value_read[1] > 0 && value_read[1] <= MAX_H)) { level.w = value_read[0]; level.h = value_read[1]; size_read = DATA_READ; #ifdef DEBUG_LOAD_LEVEL_DATA printf ("%i: size w=%i h=%i\n", line_count, value_read[0], value_read[1]); #endif } else { size_read = DATA_INCOMPLETE; fprintf (stdout, "%s:%i: Invalid size data: width " "must be <= %i and height <= %i.\n", level_packs[selected_pack].filename, line_count, MAX_W, MAX_H); } } else { size_read = DATA_INCOMPLETE; fprintf (stdout, "%s:%i: Incomplete size data: width " "or height or both were found to be missing.\n", level_packs[selected_pack].filename, line_count); } } else if (author_read == DATA_READING) { strncpy (level.author, line, 60); /* Prevent overruns */ level.author[59] = 0; /* Just in case we read all chars */ author_read = DATA_READ; #ifdef DEBUG_LOAD_LEVEL_DATA printf ("%i: author=%s\n", line_count, line); #endif } else if (data_read == DATA_READING) { /* Only the quantity of data declared by size must be read. * x and y will be used exclusively here whilst reading the data */ x = 0; while (TRUE) { if (line[x] == 0) { /* No data, end of string */ data_read = DATA_INCOMPLETE; fprintf (stdout, "%s:%i: Insufficient data for " "declared width of %i.\n", level_packs[selected_pack].filename, line_count, level.w); break; } else { board[x][y].type = transform_char (line[x]); create_object (x, y, board[x][y].type); switch (board[x][y].type) { case SCREW: robbo.screws++; break; case WALL_RED: create_object (x, y, WALL); board[x][y].state = 1; break; case WALL_GREEN: create_object (x, y, WALL); board[x][y].state = 2; break; case BLACK_WALL: create_object (x, y, WALL); board[x][y].state = 3; break; case FAT_WALL: create_object (x, y, WALL); board[x][y].state = 4; break; case ROUND_WALL: create_object (x, y, WALL); board[x][y].state = 5; break; case BOULDER_WALL: create_object (x, y, WALL); board[x][y].state = 6; break; case SQUARE_WALL: create_object (x, y, WALL); board[x][y].state = 7; break; case LATTICE_WALL: create_object (x, y, WALL); board[x][y].state = 8; break; } #ifdef DEBUG_LOAD_LEVEL_DATA printf ("%c", line[x]); #endif } if (++x >= level.w) break; } #ifdef DEBUG_LOAD_LEVEL_DATA printf ("\n"); #endif if (++y >= level.h) data_read = DATA_READ; } else if (additional_read == DATA_READING) { /* rows is used exclusively here whilst reading the data. * Are we reading the additional count? */ if (additional_count == UNDEFINED) { /* If we read 2 then it's a data object and not a count */ if (sscanf (line, "%i.%i", &value_read[0], &value_read[1]) == 1) { if (value_read[0] > 0) { additional_count = rows = value_read[0]; #ifdef DEBUG_LOAD_LEVEL_DATA printf ("%i: additional=%i\n", line_count, value_read[0]); #endif } else { additional_read = DATA_INCOMPLETE; } } else { additional_read = DATA_INCOMPLETE; fprintf (stdout, "%s:%i: The additional data object " "count is missing. This should be directly below " "the [additional] tag.\n", level_packs[selected_pack].filename, line_count); } } else { /* It's not the additional count, * so read the additional data objects */ value_count = sscanf (line, "%i.%i.%c.%i.%i.%i.%i.%i.%i", &x, &y, &symbol, &value_read[0], &value_read[1], &value_read[2], &value_read[3], &value_read[4], &value_read[5]); #ifdef DEBUG_LOAD_LEVEL_DATA printf ("%i: %s\n", line_count, line); #endif /* Validate the values read */ if (value_count <= 0) { additional_read = DATA_INCOMPLETE; fprintf (stdout, "%s:%i: Insufficient additional " "data objects for declared count of %i.\n", level_packs[selected_pack].filename, line_count, additional_count); } else if (value_count < 4) { fprintf (stdout, "%s:%i: Insufficient number of " "values defining additional data object.\n", level_packs[selected_pack].filename, line_count); } else if (x < 0 || x >= MAX_W) { fprintf (stdout, "%s:%i: Invalid value for x in " "additional data object.\n", level_packs[selected_pack].filename, line_count); } else if (y < 0 || y >= MAX_H) { fprintf (stdout, "%s:%i: Invalid value for y in " "additional data object.\n", level_packs[selected_pack].filename, line_count); } else { switch (transform_char (symbol)) { case LASER_L: case LASER_D: board[x][y].direction=value_read[0]; break; case TELEPORT: board[x][y].teleportnumber = value_read[0]; board[x][y].teleportnumber2 = value_read[1]; break; case GUN: board[x][y].direction = value_read[0]; board[x][y].state = value_read[0]; board[x][y].direction2 = value_read[1]; board[x][y].solidlaser = value_read[2]; board[x][y].movable = value_read[3]; board[x][y].rotable = value_read[4]; board[x][y].randomrotated = value_read[5]; if(board[x][y].movable==1) { board[x][y].state+=4; } break; case MAGNET: board[x][y].state = value_read[0]; if(value_count>4) /* we would like to have rotable magnets */ board[x][y].rotable=value_read[1]; else board[x][y].rotable=0; case BARRIER: board[x][y].direction = value_read[0]; break; case BIRD: board[x][y].direction2 = value_read[1]; board[x][y].shooting = value_read[2]; case BEAR_B: case BEAR: board[x][y].direction = value_read[0]; break; default: fprintf (stdout, "%s:%i: Invalid value for " "symbol in additional data object.\n", level_packs[selected_pack].filename, line_count); break; } } if (--rows <= 0) additional_read = DATA_READ; } } } } fclose (fp); #ifdef DEBUG_LOAD_LEVEL_DATA printf ("default_level_colour_read=%s\n", data_state[default_level_colour_read]); printf ("level_read=%s\n", data_state[level_read]); printf ("colour_read=%s\n", data_state[colour_read]); printf ("size_read=%s\n", data_state[size_read]); printf ("author_read=%s\n", data_state[author_read]); printf ("notes_read=%s\n", data_state[notes_read]); printf ("data_read=%s\n", data_state[data_read]); printf ("additional_read=%s\n", data_state[additional_read]); printf ("*** Stop %s ***\n", __func__); #endif if (level_read == DATA_READ && size_read == DATA_READ && data_read == DATA_READ) { return FALSE; } else { /* Show the user generally what caused the load abort. More * descriptive messages may have already been displayed from * the above code */ fprintf (stdout, "Loading of pack %s level %i has been aborted due " "to :-\n", level_packs[selected_pack].filename, level_number); if (level_read != DATA_READ) { fprintf (stdout, "* The level was not found.\n"); } else { if (size_read == DATA_UNREAD) { fprintf (stdout, "* The [size] tag was not found.\n"); } else if (size_read == DATA_INCOMPLETE) { fprintf (stdout, "* Incomplete or invalid size data.\n"); } if (data_read == DATA_UNREAD) { fprintf (stdout, "* The [data] tag was not found.\n"); } else if (data_read == DATA_INCOMPLETE) { fprintf (stdout, "* Incomplete level data.\n"); } } } return TRUE; } /****************************************************/ /*** Transformation char for object value ***********/ /****************************************************/ int transform_char (char c) { switch (c) { case 'X': return STOP; case 'k': return RADIOACTIVE_FIELD; case '.': return EMPTY_FIELD; case 'R': return ROBBO; case 'O': return WALL; case 'Q': return WALL_RED; case 'T': return SCREW; case '\'': return BULLET; case '#': return BOX; case '%': return KEY; case 'B': return BOMB2; /* robbo alex has at least two types of bombs */ case 'b': return BOMB; case 'D': return DOOR; case '?': return QUESTIONMARK; case '@': return BEAR; case '^': return BIRD; case '!': return CAPSULE; case 'H': return GROUND; case 'o': return WALL_GREEN; case '*': return BEAR_B; case 'V': return BUTTERFLY; case '&': return TELEPORT; case '}': return GUN; case 'M': return MAGNET; case '-': /* Thunor: I changed spaces to "-" * because spaces are difficult to manage */ return BLACK_WALL; case '~': return PUSH_BOX; case '=': return BARRIER; case 'q': return FAT_WALL; case 'p': return ROUND_WALL; case 'P': return BOULDER_WALL; case 's': return SQUARE_WALL; case 'S': return LATTICE_WALL; case '+': /* Thunor: "+" is a life which we don't support * but remains in some levels */ return EMPTY_FIELD; case 'L': return LASER_L; case 'l': return LASER_D; default: fprintf (stdout, "Unrecognised object identifier: \"%c\". " "Setting to EMPTY_FIELD\n", c); return EMPTY_FIELD; } } gnurobbo-0.66+dfsg/Makefile.open2x0000644000175000017500000000255311467300751016122 0ustar stevesteve# You won't need to alter these TARGET=$(shell cat TARGET) SOURCES=$(wildcard *.c) OBJECTS=$(patsubst %.c, %.o, $(SOURCES)) VERSION=$(shell cat VERSION) export PACKAGE_DATA_DIR=./data export TOOLCHAIN=open2x # Comment out the line below if you want to disable music support #MUSIC=-DHAVE_MUSIC # Comment out the line below if you want to disable the designer DESIGNER=-DHAVE_DESIGNER # Choose ONE of these and comment the other export FONT_USE_PIXMAP=-DUSE_PIXMAP_FONT #export FONT_USE_SDL_TTF=-lSDL_ttf -lfreetype # This uses the Open2x toolchain-new installed into the default folder # /opt/open2x DEVPREFIX=/opt/open2x/gcc-4.1.1-glibc-2.3.6 SDL_CONFIG=$(DEVPREFIX)/bin/sdl-config CC=$(DEVPREFIX)/arm-open2x-linux/bin/arm-open2x-linux-gcc CFLAGS=-O3 -pipe -Wall -fomit-frame-pointer \ -I$(DEVPREFIX)/include `$(SDL_CONFIG) --cflags` \ -DPLATFORM_GP2X -DTOOLCHAIN_OPEN2X -DVERSION=\"$(VERSION)\" \ -DPACKAGE_DATA_DIR=\"$(PACKAGE_DATA_DIR)\" $(FONT_USE_PIXMAP) $(MUSIC) $(DESIGNER) LINK=$(CC) LDFLAGS=-L$(DEVPREFIX)/lib LIBS=$(FONT_USE_SDL_TTF) -lSDL_image -lpng -ljpeg -lz -lSDL_mixer -lsmpeg -lstdc++ `$(SDL_CONFIG) --static-libs` # You won't need to alter anything below all: $(SOURCES) $(TARGET) $(TARGET): $(OBJECTS) $(LINK) -static $(LDFLAGS) $(OBJECTS) $(LIBS) -o $@ gp2x/build-$(TARGET) %.o: %.c $(CC) $(CFLAGS) -c $< -o $@ .PHONY: all clean clean: rm -f *.o gnurobbo-0.66+dfsg/Makefile0000755000175000017500000001040211434556345014711 0ustar stevesteve# Comment/uncomment these to choose an installation destination # Generic system wide installation #PACKAGE_DATA_DIR?=/usr/local/share/$(TARGET) #BINDIR?=/usr/local/bin #DOCDIR?=/usr/local/share/$(TARGET) # GNU Debian system wide installation #PACKAGE_DATA_DIR?=/usr/share/games/$(TARGET) #BINDIR?=/usr/games #DOCDIR?=/usr/share/games/$(TARGET) # Local installation within your home folder #PACKAGE_DATA_DIR?=$(HOME)/Games/$(TARGET) #BINDIR?=$(HOME)/Games/$(TARGET) #DOCDIR?=$(HOME)/Games/$(TARGET) # Run from current folder i.e. no installation (default) PACKAGE_DATA_DIR?=./data BINDIR?=. DOCDIR?=. # Comment out the line below if you want to disable music support MUSIC=-DHAVE_MUSIC # Comment out the line below if you want to disable the designer DESIGNER=-DHAVE_DESIGNER # Choose ONE of these and comment out the other #FONT_USE_PIXMAP=-DUSE_PIXMAP_FONT FONT_USE_SDL_TTF=-lSDL_ttf # You won't need to alter these TARGET=$(shell cat TARGET) SOURCES=$(wildcard *.c) OBJECTS=$(patsubst %.c, %.o, $(SOURCES)) VERSION=$(shell cat VERSION) # These should be ok for most SDL_CONFIG?=sdl-config CFLAGS?=-O3 -pipe CFLAGS+=-Wall `$(SDL_CONFIG) --cflags` -DPLATFORM_PC -DVERSION=\"$(VERSION)\" \ -DPACKAGE_DATA_DIR=\"$(PACKAGE_DATA_DIR)\" $(FONT_USE_PIXMAP) $(MUSIC) $(DESIGNER) LDFLAGS= # Use these instead for debugging and/or profiling (mainly intended for GNU Robbo developers) #CFLAGS?=-O0 -pipe -g -pg #CFLAGS+=-Wall `$(SDL_CONFIG) --cflags` -DPLATFORM_PC -DVERSION=\"$(VERSION)\" \ # -DPACKAGE_DATA_DIR=\"$(PACKAGE_DATA_DIR)\" $(FONT_USE_PIXMAP) $(MUSIC) $(DESIGNER) #LDFLAGS=-pg LINK=$(CC) LIBS=`$(SDL_CONFIG) --libs` -lSDL_image -lSDL_mixer $(FONT_USE_SDL_TTF) # You won't need to alter anything below all: $(SOURCES) $(TARGET) $(TARGET): $(OBJECTS) $(LINK) $(LDFLAGS) $(OBJECTS) $(LIBS) -o $@ %.o: %.c $(CC) $(CFLAGS) -c $< -o $@ .PHONY: all clean install clean: rm -f *.o install: @if [ "$(PACKAGE_DATA_DIR)" = ./data ] ; then \ echo "Installing into the current folder is not allowed."; \ exit 2; \ fi mkdir -p $(PACKAGE_DATA_DIR)/levels mkdir -p $(PACKAGE_DATA_DIR)/sounds/default mkdir -p $(PACKAGE_DATA_DIR)/sounds/free mkdir -p $(PACKAGE_DATA_DIR)/sounds/oily mkdir -p $(PACKAGE_DATA_DIR)/sounds/skins mkdir -p $(PACKAGE_DATA_DIR)/rob mkdir -p $(PACKAGE_DATA_DIR)/skins/original mkdir -p $(PACKAGE_DATA_DIR)/skins/tronic mkdir -p $(PACKAGE_DATA_DIR)/skins/oily mkdir -p $(PACKAGE_DATA_DIR)/locales/cz_CZ mkdir -p $(PACKAGE_DATA_DIR)/locales/de_DE mkdir -p $(PACKAGE_DATA_DIR)/locales/en_GB mkdir -p $(PACKAGE_DATA_DIR)/locales/id_ID mkdir -p $(PACKAGE_DATA_DIR)/locales/pl_PL mkdir -p $(PACKAGE_DATA_DIR)/locales/ru_RU mkdir -p $(PACKAGE_DATA_DIR)/locales/sk_SK mkdir -p $(PACKAGE_DATA_DIR)/locales/sv_SE mkdir -p $(BINDIR) mkdir -p $(DOCDIR) cp data/levels/* $(PACKAGE_DATA_DIR)/levels/ cp data/sounds/default/* $(PACKAGE_DATA_DIR)/sounds/default/ cp data/sounds/free/* $(PACKAGE_DATA_DIR)/sounds/free/ cp data/sounds/oily/* $(PACKAGE_DATA_DIR)/sounds/oily/ cp data/sounds/skins/* $(PACKAGE_DATA_DIR)/sounds/skins/ cp data/rob/*.bmp $(PACKAGE_DATA_DIR)/rob/ cp data/skins/original/*.bmp data/skins/original/*.png data/skins/original/skinrc $(PACKAGE_DATA_DIR)/skins/original/ cp data/skins/tronic/*.bmp data/skins/tronic/*.png data/skins/tronic/skinrc $(PACKAGE_DATA_DIR)/skins/tronic/ cp data/skins/oily/*.bmp data/skins/oily/*.png data/skins/oily/skinrc $(PACKAGE_DATA_DIR)/skins/oily/ @if [ -n "$(FONT_USE_SDL_TTF)" ] ; then \ cp data/skins/original/robbo.ttf $(PACKAGE_DATA_DIR)/skins/original/; \ cp data/skins/tronic/robbo.ttf $(PACKAGE_DATA_DIR)/skins/tronic/; \ cp data/skins/oily/robbo.ttf $(PACKAGE_DATA_DIR)/skins/oily/; \ fi cp data/locales/cz_CZ/* $(PACKAGE_DATA_DIR)/locales/cz_CZ/ cp data/locales/de_DE/* $(PACKAGE_DATA_DIR)/locales/de_DE/ cp data/locales/en_GB/* $(PACKAGE_DATA_DIR)/locales/en_GB/ cp data/locales/id_ID/* $(PACKAGE_DATA_DIR)/locales/id_ID/ cp data/locales/pl_PL/* $(PACKAGE_DATA_DIR)/locales/pl_PL/ cp data/locales/ru_RU/* $(PACKAGE_DATA_DIR)/locales/ru_RU/ cp data/locales/sk_SK/* $(PACKAGE_DATA_DIR)/locales/sk_SK/ cp data/locales/sv_SE/* $(PACKAGE_DATA_DIR)/locales/sv_SE/ cp $(TARGET) $(BINDIR)/ cp ChangeLog NEWS COPYING README LICENSE-sound $(DOCDIR)/ @if [ -n "$(FONT_USE_SDL_TTF)" ] ; then \ cp LICENSE-ttf $(DOCDIR)/; \ fi gnurobbo-0.66+dfsg/levels.h0000644000175000017500000000502111435040066014677 0ustar stevesteve/* GNU Robbo * Copyright (C) 2002-2010 The GNU Robbo Team (see AUTHORS). * * GNU Robbo is free software - you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2, or (at your option) * any later version. * * GNU Robbo is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the impled warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with GNU CC; see the file COPYING. If not, write to the * Free Software Foundation, 59 Temple Place - Suite 330, * Boston, MA 02111-1307, USA. * */ /* Defines */ #define MAX_LEVEL_PACKS 84 #define LOCAL_DATA_DIR ".gnurobbo" #if defined(PLATFORM_FREMANTLE) #define LOCAL_DATA_DIR "MyDocs/.gnurobbo/" #endif #define LEVELS_DIR "levels" #define DEFAULT_USER_LEVEL_PACK "mylevels.dat" #define DEFAULT_LEVEL_PACK "original.dat" #define DEFAULT_LEVEL_START 1 /* Start level for Robbo */ #define DEFAULT_LEVEL_COLOUR 0x608050 /* Variables */ struct { int w; int h; char author[60]; /* The text displayed on the authorline above the viewport */ int now_is_blinking; /* When TRUE this will change the level background colour to white */ Uint32 colour; /* The colour if found or the default_level_colour if found in the level pack */ Uint32 colour_override; /* The colour if found or the default_level_colour if found in the skinrc */ char notes[1024]; /* This is displayed nowhere now, but contains information about notes */ } level; struct pack { char filename[256]; /* e.g. /usr/local/share/gnurobbo/levels/original.dat or ~/.gnurobbo/levels/mylevels.dat */ char name[20]; /* e.g. Original */ int last_level; /* e.g. 53 */ int level_reached; /* e.g. 14 */ int level_selected; /* e.g. 3 is currently selected by the user */ int selected; /* e.g. This pack is currently selected by the user */ }; struct pack level_packs[MAX_LEVEL_PACKS]; int found_pack_count; /* How many packs were physically found */ int level_pack_count; /* How many packs are in the list (historical entries from the rc are added to the end) */ int selected_pack; /* Which pack in the list is currently selected */ /* Function prototypes */ int level_init(void); void create_userpack(void); int find_all_dat_files(void); void read_level_packs(void); void sort_level_packs(void); int load_level_data(int level_number); gnurobbo-0.66+dfsg/skins.c0000644000175000017500000012126611434556345014554 0ustar stevesteve/* GNU Robbo * Copyright (C) 2002-2010 The GNU Robbo Team (see AUTHORS). * * GNU Robbo is free software - you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2, or (at your option) * any later version. * * GNU Robbo is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the impled warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with GNU CC; see the file COPYING. If not, write to the * Free Software Foundation, 59 Temple Place - Suite 330, * Boston, MA 02111-1307, USA. * */ #include "game.h" /* Defines */ /* #define DEBUG_READ_SKIN_LEVEL_COLOUR_OVERRIDE #define DEBUG_READ_SKINRC_FILE #define DEBUG_READ_SKIN_PROJECT_COLOURS */ #define SKINS_DIR "skins" #define SKINRC_FILE "skinrc" #ifdef PLATFORM_ZAURUS #define IMG_ICONS32 "icons32.bmp" #define IMG_ICONS16 "icons16.bmp" #define IMG_KICONS32 "k_icons32.bmp" #define IMG_KICONS16 "k_icons16.bmp" #define IMG_BGRD32 "background32.bmp" #define IMG_BGRD16 "background16.bmp" #else #define IMG_ICONS32 "icons32.png" #define IMG_ICONS16 "icons16.png" #define IMG_KICONS32 "k_icons32.png" #define IMG_KICONS16 "k_icons16.png" #define IMG_BGRD32 "background32.png" #define IMG_BGRD16 "background16.png" #endif #define IMG_CIPHERS16 "ciphers16.bmp" #define IMG_CIPHERS32 "ciphers32.bmp" #define IMG_ALPHA16 "alpha16.bmp" #define IMG_ALPHA32 "alpha32.bmp" #define TTF_ROBBO "robbo.ttf" #define IMG_FONT_LOWRES "font12x16.bmp" #define IMG_FONT_HIRES "font24x32.bmp" #define IMG_WM_ICON "wm_icon.bmp" /* Variables */ char *data_state[] = { "DATA_UNREAD", "DATA_READING", "DATA_READ", "DATA_INCOMPLETE" }; /* Function prototypes */ void read_skin_project_colours (void); /*************************************************************************** * Find All Skins * ***************************************************************************/ /* Searches PACKAGE_DATA_DIR SKINS_DIR for skin folders. On exit: returns 1 on error */ int find_all_skins (void) { FILE *fp; char filename[256]; DIR *dir; struct dirent *currentdirent; int default_skin_found = FALSE; /* Open the skins directory */ if ((dir = opendir (PACKAGE_DATA_DIR "/" SKINS_DIR)) == NULL) { fprintf (stdout, "Couldn't open skins folder: %s\n", PACKAGE_DATA_DIR "/" SKINS_DIR); return 1; } /* Now search the directory for skin folders */ while ((currentdirent = readdir (dir)) != NULL) { if ((strcmp (currentdirent->d_name, ".")) && (strcmp (currentdirent->d_name, ".."))) { if (skin_count < MAX_SKINS) { /* Attempt to open currentdirent->d_name/skinrc to verify it's a valid skin folder */ strcpy (filename, PACKAGE_DATA_DIR "/" SKINS_DIR "/"); strcat (filename, currentdirent->d_name); strcat (filename, "/"); strcat (filename, SKINRC_FILE); if ((fp = fopen (filename, "r")) != NULL) { #if defined(PLATFORM_PSP) if (!strcasecmp (currentdirent->d_name, DEFAULT_SKIN)) #else if (!strcmp (currentdirent->d_name, DEFAULT_SKIN)) #endif { default_skin_found = TRUE; } else { strncpy (skins[skin_count].foldername, currentdirent->d_name, 100); skins[skin_count].foldername[99] = 0; /* Just in case we read all chars */ skin_count++; } fclose (fp); } } } } closedir (dir); if (!default_skin_found) { fprintf (stdout, "Cannot find the default skin: %s\n", PACKAGE_DATA_DIR "/" SKINS_DIR "/" DEFAULT_SKIN); return 1; } else { return 0; } } /*************************************************************************** * Read skinrc Files * ***************************************************************************/ /* Reads all skinrc files and populates the skin list. At the time this is called, we already know that the default skin has been found so nothing here is fatal. Anything not found will be initialised with some defaults */ void read_skinrc_files (void) { FILE *fp; char filename[256], line[1024]; /* 1024 because if fgets returns a partial line then line_count will be incremented again */ int count, count2, line_count = 0, row = 0; int value_read[1]; int name_read = DATA_UNREAD; int author_read = DATA_UNREAD; int about_read = DATA_UNREAD; int project_colours_read = DATA_UNREAD; int help_tile_read = DATA_UNREAD; int soundskin_read = DATA_UNREAD; #ifdef DEBUG_READ_SKINRC_FILE printf ("*** Start %s ***\n", __func__); #endif for (count = 0; count < skin_count; count++) { /* Reset these because we'll be using them more than once */ line_count = 0; name_read = DATA_UNREAD; author_read = DATA_UNREAD; about_read = DATA_UNREAD; project_colours_read = DATA_UNREAD; help_tile_read = DATA_UNREAD; soundskin_read = DATA_UNREAD; /* Initialise everything to some defaults */ strcpy (skins[count].name, SINGLE_SPACE); strcpy (skins[count].author, SINGLE_SPACE); strcpy (skins[count].about[0], SINGLE_SPACE); strcpy (skins[count].about[1], SINGLE_SPACE); strcpy (skins[count].about[2], SINGLE_SPACE); strcpy (skins[count].soundskin, SINGLE_SPACE); skins[count].help_tile_colour = HELP_TILE_COLOUR; /* Attempt to open the skinrc file */ strcpy (filename, PACKAGE_DATA_DIR "/" SKINS_DIR "/"); strcat (filename, skins[count].foldername); strcat (filename, "/"); strcat (filename, SKINRC_FILE); if ((fp = fopen (filename, "r")) == NULL) { fprintf (stdout, "Cannot read from file %s\n", filename); } else { /* Read lines including the [CR]LFs until we have what we need or reach the end of file (line == NULL). We are looking for all of these things :- [name] [author] [about] [project_colours] [help_tile] [project_colours_end] */ while ((fgets (line, 1024, fp)) != NULL) { line_count++; /* fgets will get [CR]LFs too so they should be removed */ for (count2 = strlen (line) - 1; count2 >= 0; count2--) if (line[count2] == 13 || line[count2] == 10) line[count2] = 0; /* Use the tags as switches so we know what to read */ /* NOTE: Reading consecutive (dataless) tags means that the previous tag may still be marked as DATA_READING */ if ((!strncmp (line, "[name]", 6)) || (!strncmp (line, "[author]", 8)) || (!strncmp (line, "[about]", 7)) || (!strncmp (line, "[project_colours]", 17)) || (!strncmp (line, "[soundskin]", 11)) || (!strncmp (line, "[help_tile]", 11) && project_colours_read != DATA_UNREAD)) { /* If a tag is being read and we read another tag then mark it as something else */ if (name_read == DATA_READING) { name_read = DATA_INCOMPLETE; } else if (author_read == DATA_READING) { author_read = DATA_INCOMPLETE; } else if (about_read == DATA_READING) { about_read = DATA_INCOMPLETE; } else if (project_colours_read == DATA_READING) { project_colours_read = DATA_READ; /* A dataless tag */ } else if (help_tile_read == DATA_READING) { help_tile_read = DATA_INCOMPLETE; } else if (soundskin_read == DATA_READING) { soundskin_read = DATA_INCOMPLETE; } /* If the found tag is DATA_UNREAD then mark it for DATA_READING */ if (!strncmp (line, "[name]", 6)) { if (name_read == DATA_UNREAD) name_read = DATA_READING; } else if (!strncmp (line, "[author]", 8)) { if (author_read == DATA_UNREAD) author_read = DATA_READING; } else if (!strncmp (line, "[about]", 7)) { if (about_read == DATA_UNREAD) { about_read = DATA_READING; row = 0; /* This is a good place to reset variables before reading the data */ } } else if (!strncmp (line, "[soundskin]", 10)) { if (soundskin_read == DATA_UNREAD) soundskin_read = DATA_READING; } else if (!strncmp (line, "[project_colours]", 17)) { if (project_colours_read == DATA_UNREAD) project_colours_read = DATA_READING; } else if (!strncmp (line, "[help_tile]", 11)) { if (help_tile_read == DATA_UNREAD) help_tile_read = DATA_READING; } else if (!strncmp (line, "[project_colours_end]", 21)) { break; /* Stop reading the file now */ } } else { /* It's not a tag but data (or newline) so we need to find what to do with it */ if (name_read == DATA_READING) { if (strlen (line) != 0) { strncpy (skins[count].name, line, 60); /* Prevent overruns */ skins[count].name[59] = 0; /* Just in case we read all chars */ } name_read = DATA_READ; #ifdef DEBUG_READ_SKINRC_FILE printf ("%i: name=%s\n", line_count, line); #endif } else if (author_read == DATA_READING) { if (strlen (line) != 0) { strncpy (skins[count].author, line, 60); /* Prevent overruns */ skins[count].author[59] = 0; /* Just in case we read all chars */ } author_read = DATA_READ; #ifdef DEBUG_READ_SKINRC_FILE printf ("%i: author=%s\n", line_count, line); #endif } else if (about_read == DATA_READING) { /* row is used exclusively here whilst reading this data */ if (strlen (line) != 0) { strncpy (skins[count].about[row], line, 60); /* Prevent overruns */ skins[count].about[row][59] = 0; /* Just in case we read all chars */ } #ifdef DEBUG_READ_SKINRC_FILE printf ("%i: about[%i]=%s\n", line_count, row, line); #endif if (++row >= 3) about_read = DATA_READ; } else if (soundskin_read == DATA_READING) { /* sound skin file reading */ if (strlen (line) != 0) { strncpy (skins[count].soundskin, line, 60); /* Prevent overruns */ skins[count].soundskin[59] = 0; /* just in case we read all chars */ } } else if (help_tile_read == DATA_READING) { if (sscanf (line, "%x", &value_read[0]) == 1) { skins[count].help_tile_colour = value_read[0]; help_tile_read = DATA_READ; #ifdef DEBUG_READ_SKINRC_FILE printf ("%i: help_tile_colour=0x%06X\n", line_count, value_read[0]); #endif } else { help_tile_read = DATA_INCOMPLETE; } } } } /* Dump info to the console */ fprintf (stdout, "Skin found: %s\n", skins[count].name); fclose (fp); #ifdef DEBUG_READ_SKINRC_FILE printf ("name_read=%s\n", data_state[name_read]); printf ("author_read=%s\n", data_state[author_read]); printf ("about_read=%s\n", data_state[about_read]); printf ("project_colours_read=%s\n", data_state[project_colours_read]); printf ("help_tile_read=%s\n\n", data_state[help_tile_read]); #endif } } #ifdef DEBUG_READ_SKINRC_FILE printf ("*** Stop %s ***\n", __func__); #endif } /*************************************************************************** * Read Skin Project Colours * ***************************************************************************/ /* Reads the projects colours from the skinrc file for the selected skin. All the colours will be preset with some defaults in case they are missing. This function is the final (for now) rc reader that is needed for this project and is an accumulation of experience from writing the others (the last being load_selected_locale). If I need to write another of these then I'd be close to having a universal rc reader which is what I could have done with from the outset :) The only thing this isn't doing is selecting a tag or group of tags that equal a certain value as in reading a record but it's not difficult to fix that */ void read_skin_project_colours (void) { FILE *fp; char filename[256], line[1024]; /* 1024 because if fgets returns a partial line then line_count will be incremented again */ int count, count2, line_count = 0, tag_found, tag_index, row, quit = FALSE; Uint32 value_read; #define CONFIG_ITEM_COUNT 18 #define CONFIG_ITEM_DATALESS 1 /* Only a tag, no following data */ #define CONFIG_ITEM_DEPENDENT 2 /* Dependent on another tag being DATA_READ first */ #define CONFIG_ITEM_QUIT_ON_READ 4 /* Quit once tag has been DATA_READ */ #define CONFIG_ITEM_TYPE_UINT32_HEX 8 #define CONFIG_ITEM_TYPE_STRING 16 struct config_item { char name[60]; int state; Uint32 *destination; /* If we were reading other types too then this would have to be a void pointer */ int flags; /* An ORed combination of CONFIG_ITEM_* bits */ int depends_on; /* If CONFIG_ITEM_DEPENDENT then this is an index into this struct */ }; struct config_item config_items[CONFIG_ITEM_COUNT]; /* Initialise the struct with some defaults and most common settings to reduce the initialisation code below */ for (count = 0; count < CONFIG_ITEM_COUNT; count++) { config_items[count].state = DATA_UNREAD; config_items[count].flags = CONFIG_ITEM_DEPENDENT | CONFIG_ITEM_TYPE_UINT32_HEX; config_items[count].depends_on = 0; /* Would normally default to UNDEFINED */ } /* Initialise config_item struct with search and destination data */ row = -1; strcpy (config_items[++row].name, "[project_colours]"); config_items[row].flags = CONFIG_ITEM_DATALESS; strcpy (config_items[++row].name, "[background]"); config_items[row].destination = &skins[selected_skin].background_colour; strcpy (config_items[++row].name, "[version_text]"); config_items[row].destination = &skins[selected_skin].version_text_colour; strcpy (config_items[++row].name, "[general_text]"); config_items[row].destination = &skins[selected_skin].general_text_colour; strcpy (config_items[++row].name, "[menu_text]"); config_items[row].destination = &skins[selected_skin].menu_text_colour; strcpy (config_items[++row].name, "[menu_selected_text]"); config_items[row].destination = &skins[selected_skin].menu_selected_text_colour; strcpy (config_items[++row].name, "[menu_selected_limit_text]"); config_items[row].destination = &skins[selected_skin].menu_selected_limit_text_colour; strcpy (config_items[++row].name, "[menu_greyed_text]"); config_items[row].destination = &skins[selected_skin].menu_greyed_text_colour; strcpy (config_items[++row].name, "[default_controls_text]"); config_items[row].destination = &skins[selected_skin].default_controls_text_colour; strcpy (config_items[++row].name, "[credits_text]"); config_items[row].destination = &skins[selected_skin].credits_text_colour; strcpy (config_items[++row].name, "[help_tile]"); config_items[row].destination = &skins[selected_skin].help_tile_colour; strcpy (config_items[++row].name, "[fade]"); config_items[row].destination = &skins[selected_skin].fade_colour; strcpy (config_items[++row].name, "[author_text]"); config_items[row].destination = &skins[selected_skin].author_text_colour; strcpy (config_items[++row].name, "[designer_text]"); config_items[row].destination = &skins[selected_skin].designer_text_colour; strcpy (config_items[++row].name, "[designer_GAMEOBJ_tile]"); config_items[row].destination = &skins[selected_skin].designer_GAMEOBJ_tile_colour; strcpy (config_items[++row].name, "[designer_OBJS_tile]"); config_items[row].destination = &skins[selected_skin].designer_OBJS_tile_colour; strcpy (config_items[++row].name, "[designer_OBJV_tile]"); config_items[row].destination = &skins[selected_skin].designer_OBJV_tile_colour; strcpy (config_items[++row].name, "[project_colours_end]"); config_items[row].flags = CONFIG_ITEM_DATALESS | CONFIG_ITEM_DEPENDENT | CONFIG_ITEM_QUIT_ON_READ; #ifdef DEBUG_READ_SKIN_PROJECT_COLOURS printf ("*** Start %s ***\n", __func__); #endif /* Set some default colours */ skins[selected_skin].background_colour = BACKGROUND_COLOUR; skins[selected_skin].version_text_colour = VERSION_TEXT_COLOUR; skins[selected_skin].general_text_colour = GENERAL_TEXT_COLOUR; skins[selected_skin].menu_text_colour = MENU_TEXT_COLOUR; skins[selected_skin].menu_selected_text_colour = MENU_SELECTED_TEXT_COLOUR; skins[selected_skin].menu_selected_limit_text_colour = MENU_SELECTED_LIMIT_TEXT_COLOUR; skins[selected_skin].menu_greyed_text_colour = MENU_GREYED_TEXT_COLOUR; skins[selected_skin].default_controls_text_colour = DEFAULT_CONTROLS_TEXT_COLOUR; skins[selected_skin].credits_text_colour = CREDITS_TEXT_COLOUR; skins[selected_skin].help_tile_colour = HELP_TILE_COLOUR; skins[selected_skin].fade_colour = FADE_COLOUR; skins[selected_skin].author_text_colour = AUTHOR_TEXT_COLOUR; skins[selected_skin].designer_text_colour = DESIGNER_TEXT_COLOUR; skins[selected_skin].designer_GAMEOBJ_tile_colour = DESIGNER_GAMEOBJ_TILE_COLOUR; skins[selected_skin].designer_OBJS_tile_colour = DESIGNER_OBJS_TILE_COLOUR; skins[selected_skin].designer_OBJV_tile_colour = DESIGNER_OBJV_TILE_COLOUR; /* Attempt to open the skinrc file */ strcpy (filename, PACKAGE_DATA_DIR "/" SKINS_DIR "/"); strcat (filename, skins[selected_skin].foldername); strcat (filename, "/"); strcat (filename, SKINRC_FILE); if ((fp = fopen (filename, "r")) == NULL) { fprintf (stdout, "Cannot read from file %s\n", filename); } else { /* Read lines including the [CR]LFs until we have what we need or reach the end of file (line == NULL) */ while (((fgets (line, 1024, fp)) != NULL) && !quit) { line_count++; /* fgets will get [CR]LFs too so they should be removed */ for (count2 = strlen (line) - 1; count2 >= 0; count2--) if (line[count2] == 13 || line[count2] == 10) line[count2] = 0; /* Are we reading a tag? */ tag_found = FALSE; for (tag_index = 0; tag_index < CONFIG_ITEM_COUNT; tag_index++) { if (!strncmp (line, config_items[tag_index].name, strlen (config_items[tag_index].name))) { if ((! (config_items[tag_index].flags & CONFIG_ITEM_DEPENDENT)) || ((config_items[tag_index].flags & CONFIG_ITEM_DEPENDENT) && config_items[tag_index].depends_on >= 0 && config_items[config_items[tag_index]. depends_on].state == DATA_READ)) { tag_found = TRUE; break; } } } if (tag_found) { /* If a tag is being read and we read another tag then mark it as DATA_INCOMPLETE */ for (count = 0; count < CONFIG_ITEM_COUNT; count++) { if (config_items[count].state == DATA_READING) { if (config_items[count].flags & CONFIG_ITEM_DATALESS) { config_items[count].state = DATA_READ; } else { config_items[count].state = DATA_INCOMPLETE; } } } /* If the found tag is DATA_UNREAD then mark it for DATA_READING */ if (config_items[tag_index].state == DATA_UNREAD) { if (config_items[tag_index].flags & CONFIG_ITEM_DATALESS) { config_items[tag_index].state = DATA_READ; if (config_items[tag_index].flags & CONFIG_ITEM_QUIT_ON_READ) quit = TRUE; } else { config_items[tag_index].state = DATA_READING; } } } else { /* It's not a tag but data (or newline) so we need to find what to do with it */ for (count = 0; count < CONFIG_ITEM_COUNT; count++) { if (config_items[count].state == DATA_READING) { if (config_items[count].flags & CONFIG_ITEM_TYPE_UINT32_HEX) { if (sscanf (line, "%x", &value_read) == 1) { *config_items[count].destination = value_read; config_items[count].state = DATA_READ; #ifdef DEBUG_READ_SKIN_PROJECT_COLOURS printf ("%s: %p=%08X\n", config_items[count].name, config_items[count].destination, *config_items[count].destination); #endif } else { config_items[count].state = DATA_INCOMPLETE; } } else if (config_items[count].flags & CONFIG_ITEM_TYPE_STRING) { /* For the future */ } if (config_items[count].state == DATA_READ && (config_items[count].flags & CONFIG_ITEM_QUIT_ON_READ)) quit = TRUE; break; } } } } fclose (fp); #ifdef DEBUG_READ_SKIN_PROJECT_COLOURS printf ("\n"); for (count = 0; count < CONFIG_ITEM_COUNT; count++) { printf ("%s=%s\n", config_items[count].name, data_state[config_items[count].state]); } printf ("\n"); #endif } #ifdef DEBUG_READ_SKIN_PROJECT_COLOURS printf ("*** Stop %s ***\n", __func__); #endif } /*************************************************************************** * Sort Skins * ***************************************************************************/ /* Sorts found skins alphanumerically by name remembering to preserve the selected skin :) This must be done last after find_all_skins(), read_skinrc_files() and read_resource_file() */ void sort_skins (void) { struct skin swap_skin; int swapped, count; /* Bubble sort */ do { swapped = FALSE; for (count = 0; count < skin_count - 1; count++) { if (strcmp (skins[count].name, skins[count + 1].name) > 0) { swapped = TRUE; swap_skin = skins[count + 1]; skins[count + 1] = skins[count]; skins[count] = swap_skin; /* Preserve selected skin */ if (selected_skin == count + 1) { selected_skin = count; } else if (selected_skin == count) { selected_skin = count + 1; } } } } while (swapped); } /*************************************************************************** * Read Skin Level Colour Override * ***************************************************************************/ /* This will attempt to fetch a level colour override for the current pack/level from the selected skinrc. On exit: returns 0 if successful with level.colour_override set to the found colour returns 1 if not found with level.colour_override unchanged */ int read_skin_level_colour_override (void) { FILE *fp; char filename[256], line[1024]; /* 1024 because if fgets returns a partial line then line_count will be incremented again */ int count, line_count = 0; int value_read[1]; int level_colour_overrides_read = DATA_UNREAD; int default_level_colour_read = DATA_UNREAD; int level_pack_name_read = DATA_UNREAD; int level_read = DATA_UNREAD; int colour_read = DATA_UNREAD; /* Attempt to open the skinrc file */ strcpy (filename, PACKAGE_DATA_DIR "/" SKINS_DIR "/"); strcat (filename, skins[selected_skin].foldername); strcat (filename, "/"); strcat (filename, SKINRC_FILE); if ((fp = fopen (filename, "r")) == NULL) { fprintf (stdout, "Cannot read from file: %s\n", filename); return TRUE; } #ifdef DEBUG_READ_SKIN_LEVEL_COLOUR_OVERRIDE printf ("*** Start %s ***\n", __func__); #endif /* Read lines including the [CR]LFs until we have what we need or reach the end of file (line == NULL). We are looking for some or all of these things :- [level_colour_overrides] [level_pack_name] [default_level_colour] - OPTIONAL [level] - OPTIONAL [colour] - may be missing [level_colour_overrides_end] */ while ((fgets (line, 1024, fp)) != NULL) { line_count++; /* fgets will get [CR]LFs too so they should be removed */ for (count = strlen (line) - 1; count >= 0; count--) if (line[count] == 13 || line[count] == 10) line[count] = 0; /* Use the tags as switches so we know what to read */ /* NOTE: Reading consecutive (dataless) tags means that the previous tag may still be marked as DATA_READING */ if ((!strncmp (line, "[level_colour_overrides]", 24)) || (!strncmp (line, "[level_pack_name]", 17) && level_colour_overrides_read != DATA_UNREAD) || (!strncmp (line, "[default_level_colour]", 22) && level_pack_name_read == DATA_READ) || (!strncmp (line, "[level]", 7) && level_pack_name_read == DATA_READ) || (!strncmp (line, "[colour]", 8) && level_read == DATA_READ) || (!strncmp (line, "[level_colour_overrides_end]", 28) && level_read == DATA_READ)) { /* If a tag is being read and we read another tag then mark it as something else */ if (level_colour_overrides_read == DATA_READING) { level_colour_overrides_read = DATA_READ; /* A dataless tag */ } else if (default_level_colour_read == DATA_READING) { default_level_colour_read = DATA_INCOMPLETE; } else if (level_pack_name_read == DATA_READING) { level_pack_name_read = DATA_UNREAD; /* May need to read another later */ } else if (level_read == DATA_READING) { level_read = DATA_UNREAD; /* May need to read another later */ } else if (colour_read == DATA_READING) { colour_read = DATA_INCOMPLETE; } /* If the found tag is DATA_UNREAD then mark it for DATA_READING */ if (!strncmp (line, "[level_colour_overrides]", 24)) { if (level_colour_overrides_read == DATA_UNREAD) level_colour_overrides_read = DATA_READING; } else if (!strncmp (line, "[level_pack_name]", 17)) { if (level_pack_name_read == DATA_UNREAD) { level_pack_name_read = DATA_READING; } else if (level_pack_name_read == DATA_READ) { break; /* We've already read this; something is wrong */ } } else if (!strncmp (line, "[default_level_colour]", 22)) { if (default_level_colour_read == DATA_UNREAD) default_level_colour_read = DATA_READING; } else if (!strncmp (line, "[level]", 7)) { if (level_read == DATA_UNREAD) { level_read = DATA_READING; } else if (level_read == DATA_READ) { break; /* We've already read this; something is wrong */ } } else if (!strncmp (line, "[colour]", 8)) { if (colour_read == DATA_UNREAD) colour_read = DATA_READING; } else if (!strncmp (line, "[level_colour_overrides_end]", 28)) { break; /* Stop reading the file now */ } } else { /* It's not a tag but data (or newline) so we need to find what to do with it */ /* level_colour_overrides_read is not here because it has no data */ if (default_level_colour_read == DATA_READING) { if (sscanf (line, "%x", &value_read[0]) == 1) { level.colour_override = value_read[0]; default_level_colour_read = DATA_READ; #ifdef DEBUG_READ_SKIN_LEVEL_COLOUR_OVERRIDE printf ("%i: default_level_colour=0x%06X\n", line_count, value_read[0]); #endif } else { default_level_colour_read = DATA_INCOMPLETE; } } else if (level_pack_name_read == DATA_READING) { if (!strcmp (level_packs[selected_pack].name, line)) { level_pack_name_read = DATA_READ; #ifdef DEBUG_READ_SKIN_LEVEL_COLOUR_OVERRIDE printf ("%i: level_pack_name=%s\n", line_count, line); #endif } else { level_pack_name_read = DATA_UNREAD; /* We need to keep reading these tags */ } } else if (level_read == DATA_READING) { if (sscanf (line, "%i", &value_read[0]) == 1) { if (value_read[0] == level_packs[selected_pack].level_selected) { level_read = DATA_READ; #ifdef DEBUG_READ_SKIN_LEVEL_COLOUR_OVERRIDE printf ("%i: level=%i\n", line_count, value_read[0]); #endif } else { level_read = DATA_UNREAD; } } else { level_read = DATA_UNREAD; /* We need to keep reading these tags */ } } else if (colour_read == DATA_READING) { if (sscanf (line, "%x", &value_read[0]) == 1) { level.colour_override = value_read[0]; colour_read = DATA_READ; #ifdef DEBUG_READ_SKIN_LEVEL_COLOUR_OVERRIDE printf ("%i: colour=0x%06X\n", line_count, value_read[0]); #endif } else { colour_read = DATA_INCOMPLETE; } } } } fclose (fp); #ifdef DEBUG_READ_SKIN_LEVEL_COLOUR_OVERRIDE printf ("level_colour_overrides_read=%s\n", data_state[level_colour_overrides_read]); printf ("level_pack_name_read=%s\n", data_state[level_pack_name_read]); printf ("default_level_colour_read=%s\n", data_state[default_level_colour_read]); printf ("level_read=%s\n", data_state[level_read]); printf ("colour_read=%s\n", data_state[colour_read]); printf ("*** Stop %s ***\n", __func__); #endif if (default_level_colour_read == DATA_READ || colour_read == DATA_READ) return FALSE; return TRUE; } /*************************************************************************** * Load Selected Skin * ***************************************************************************/ /* Loads all image data from the selected skin folder. If any of the SDL surfaces are found to contain non NULL pointers then these surfaces will be freed first. */ void load_selected_skin (void) { char filename[256]; int count; SDL_Surface *unconverted, *converted; /* Free SDL surfaces first if they are not NULL */ if (icons) SDL_FreeSurface (icons); if (ciphers) SDL_FreeSurface (ciphers); if (alpha) SDL_FreeSurface (alpha); if (font) TTF_CloseFont (font); if (bgrnd) SDL_FreeSurface (bgrnd); bgrnd = NULL; /* Because the background tile is optional, this now invalid pointer is nullified */ if (k_icons) SDL_FreeSurface (k_icons); for (count = 0; count < 6; count++) { strcpy (filename, PACKAGE_DATA_DIR "/" SKINS_DIR "/"); strcat (filename, skins[selected_skin].foldername); strcat (filename, "/"); if (count == 0) { /* Load the icons (sprites) */ if (video.field_size == 16) { strcat (filename, IMG_ICONS16); } else if (video.field_size == 32) { strcat (filename, IMG_ICONS32); } } else if (count == 1) { /* Load the ciphers (numbers) */ if (video.field_size == 16) { strcat (filename, IMG_CIPHERS16); } else if (video.field_size == 32) { strcat (filename, IMG_CIPHERS32); } } else if (count == 2) { /* Load the alphabet (A to Z and some miscellaneous chars) */ if (video.field_size == 16) { strcat (filename, IMG_ALPHA16); } else if (video.field_size == 32) { strcat (filename, IMG_ALPHA32); } } else if (count == 3) { /* Load the font */ load_TTF_font (); } else if (count == 4) { /* Load the background (optional) */ if(video.field_size==32) strcat (filename, IMG_BGRD32); else strcat(filename,IMG_BGRD16); } else if (count == 5) { /* Load the konstruktor icons */ if (video.field_size == 32) strcat (filename, IMG_KICONS32); else if (video.field_size == 16) strcat (filename, IMG_KICONS16); } /* now we have the icons files in the PNG format, so we treat these differently */ #ifndef PLATFORM_ZAURUS if (count == 0 || count == 4 || count == 5) { if ((unconverted = IMG_Load (filename)) == NULL) { fprintf (stdout, "Cannot load PNG image %s\n", filename); if (count == 0 || count == 5) exit (1); bgrnd = NULL; /* no background file? well, this is not important, let's skip this one */ continue; } converted = SDL_DisplayFormatAlpha (unconverted); SDL_FreeSurface (unconverted); if (converted == NULL) { fprintf (stdout, "Cannot create surface: %s\n", SDL_GetError ()); if (count == 0 || count == 5) exit (1); bgrnd = NULL; /* no background file? well, this is not important, let's skip this one */ break; } if (count == 0) { icons = converted; } else if (count == 4) { bgrnd = converted; } else if (count == 5) { k_icons = converted; } } else if (count == 1 || count == 2) #else if (count != 3) #endif { /* Load the bitmap */ if ((unconverted = SDL_LoadBMP (filename)) == NULL) { fprintf (stdout, "Cannot load bitmap: %s\n", filename); exit (1); } /* Set the transparent colour */ if (SDL_SetColorKey (unconverted, SDL_SRCCOLORKEY, SDL_MapRGB (unconverted->format, 0xff, 0x00, 0xff)) < 0) { fprintf (stdout, "Cannot set surface colour key: %s\n", SDL_GetError ()); exit (1); } /* Convert the loaded surface to the same pixel format as the screen for fast blitting */ converted = SDL_DisplayFormat (unconverted); SDL_FreeSurface (unconverted); if (converted == NULL) { fprintf (stdout, "Cannot create surface: %s\n", SDL_GetError ()); exit (1); } if (count == 1) { ciphers = converted; } else if (count == 2) { alpha = converted; } #ifdef PLATFORM_ZAURUS else if (count == 0) { icons = converted; } else if (count == 4) { bgrnd = converted; if ((SDL_SetAlpha(bgrnd, SDL_SRCALPHA, 31)) < 0) { /* 12% */ fprintf(stdout, "Cannot set surface alpha: %s\n", SDL_GetError()); exit (1); } } else if (count == 5) { k_icons = converted; } #endif } } /* Read the colours used throughout the project from the skinrc */ read_skin_project_colours (); /* This is what is left of load_bitmaps() */ /* These SDL_Rects replace the previous duplication of surfaces */ if (video.field_size == 16) { score_screw_srcrect = set_rect (69, 52, video.field_size, video.field_size); score_key_srcrect = set_rect (103, 52, video.field_size, video.field_size); score_bullet_srcrect = set_rect (120, 52, video.field_size, video.field_size); score_level_srcrect = set_rect (137, 52, video.field_size, video.field_size); } else if (video.field_size == 32) { score_screw_srcrect = set_rect (138, 104, video.field_size, video.field_size); score_key_srcrect = set_rect (206, 104, video.field_size, video.field_size); score_bullet_srcrect = set_rect (240, 104, video.field_size, video.field_size); score_level_srcrect = set_rect (274, 104, video.field_size, video.field_size); } for (count = 0; count < 8; count++) { robbo_images_srcrect[count] = set_rect ((video.field_size / 16 + count * (video.field_size + video.field_size / 16)), ((video.field_size + video.field_size / 16) * 5 + video.field_size / 16), video.field_size, video.field_size); } for (count = 0; count < 10; count++) { score_images_srcrect[count] = set_rect (count * (video.field_size / 2 + video.field_size / 16), 0, video.field_size / 2 + video.field_size / 16, video.field_size); } /* and the last, but not least, we are to call soundskin init */ /* ***** disabled sound_init(skins[selected_skin].soundskin); ***** disabled */ } /*************************************************************************** * Set Window Manager Icon * ***************************************************************************/ /* This will load and set a themed icon from the currently selected skin * folder as a window manager icon. This is done just the once before * calling SDL_SetVideoMode (as per SDL docs instructions) and so changing * the skin won't change the icon until quitting the program and restarting */ void set_wm_icon (void) { char filename[256]; strcpy (filename, PACKAGE_DATA_DIR "/" SKINS_DIR "/"); strcat (filename, skins[selected_skin].foldername); strcat (filename, "/"); strcat (filename, IMG_WM_ICON); /* Load the bitmap */ if ((wm_icon = SDL_LoadBMP(filename)) == NULL) { fprintf(stdout,"Cannot load window manager icon: %s\n", filename); } else { /* Set the transparent colour */ if (SDL_SetColorKey(wm_icon, SDL_SRCCOLORKEY, SDL_MapRGB(wm_icon->format, 0xff, 0x00, 0xff)) < 0) { fprintf(stdout,"Cannot set surface colour key: %s\n", SDL_GetError()); } else { SDL_WM_SetIcon (wm_icon, NULL); } } } /*************************************************************************** * Create Skin Preview * ***************************************************************************/ /* Creates a 9 x 3 sprite preview of the temp_selected_skin. On exit: returns an SDL_Surface pointer if successful which the caller is responsible for freeing with SDL_FreeSurface(). returns NULL on error */ SDL_Surface * create_skin_preview (void) { int iconoffsets1[9 * 2] = { 52, 1, 1, 1, 103, 1, 18, 18, 69, 1, 137, 35, 154, 1, 1, 18, 171, 1 }; int iconoffsets2[9 * 2] = { 1, 69, 1, 52, 69, 69, 103, 18, 52, 86, 137, 1, 18, 35, 1, 35, 120, 69 }; int iconoffsets3[9 * 2] = { 86, 35, 69, 35, 120, 1, 52, 18, 86, 1, 103, 35, 137, 18, 154, 52, 154,86 }; Uint32 tilecolour = skins[temp_selected_skin].help_tile_colour; SDL_Surface *unconverted, *preview = NULL; SDL_Surface *converted; SDL_Rect srcrect, destrect; char filename[256]; int xpos, ypos; strcpy (filename, PACKAGE_DATA_DIR "/" SKINS_DIR "/"); strcat (filename, skins[temp_selected_skin].foldername); strcat (filename, "/"); /* Load the icons (sprites) */ if (video.field_size == 16) { strcat (filename, IMG_ICONS16); } else if (video.field_size == 32) { strcat (filename, IMG_ICONS32); } #ifndef PLATFORM_ZAURUS if ((unconverted = IMG_Load (filename)) != NULL) { /* Set the transparent colour */ converted = SDL_DisplayFormatAlpha (unconverted); SDL_FreeSurface (unconverted); if (converted != NULL) { #else if ((converted = SDL_LoadBMP(filename)) != NULL) { unconverted = converted; /* Simply stops messages about unused variables */ /* Set the transparent colour */ if (SDL_SetColorKey(converted, SDL_SRCCOLORKEY, SDL_MapRGB(converted->format, 0xff, 0x00, 0xff)) == 0) { #endif /* Create a surface for the preview */ if ((preview = SDL_CreateRGBSurface (screen->flags, video.field_size * 9 + video.field_size / 4 * 8, video.field_size * 3 + video.field_size / 4 * 2, screen->format->BitsPerPixel, screen->format->Rmask, screen->format->Gmask, screen->format->Bmask, screen->format->Amask)) != NULL) { /* Fill it with the current background colour */ SDL_FillRect (preview, NULL, SDL_MapRGB (screen->format, skins[selected_skin].background_colour >> 16 & 0xff, skins[selected_skin].background_colour >> 8 & 0xff, skins[selected_skin].background_colour & 0xff)); /* Draw a selection of icons on the preview surface */ for (ypos = 0; ypos < 3; ypos++) { for (xpos = 0; xpos < 9; xpos++) { /* Draw the background tiles for the icons */ destrect = set_rect (xpos * (video.field_size + video.field_size / 4), ypos * (video.field_size + video.field_size / 4), video.field_size, video.field_size); SDL_FillRect (preview, &destrect, SDL_MapRGB (screen->format, tilecolour >> 16 & 0xff, tilecolour >> 8 & 0xff, tilecolour & 0xff)); /* Draw the icons */ if (ypos == 0) { srcrect = set_rect (iconoffsets1[xpos * 2] * video.field_size / 16, iconoffsets1[xpos * 2 + 1] * video.field_size / 16, video.field_size, video.field_size); } else if (ypos == 1) { srcrect = set_rect (iconoffsets2[xpos * 2] * video.field_size / 16, iconoffsets2[xpos * 2 + 1] * video.field_size / 16, video.field_size, video.field_size); } else if (ypos == 2) { srcrect = set_rect (iconoffsets3[xpos * 2] * video.field_size / 16, iconoffsets3[xpos * 2 + 1] * video.field_size / 16, video.field_size, video.field_size); } SDL_BlitSurface (converted, &srcrect, preview, &destrect); } } } else { fprintf (stdout, "Cannot create RGB surface: %s\n", SDL_GetError ()); } } else { fprintf (stdout, "Cannot set surface colour key: %s\n", SDL_GetError ()); } SDL_FreeSurface (converted); } else { fprintf (stdout, "Cannot load bitmap: %s\n", filename); } return preview; } /*************************************************************************** * Load TTF Font * ***************************************************************************/ void load_TTF_font () { char filename[256]; int fontsize = 0; strcpy (filename, PACKAGE_DATA_DIR "/" SKINS_DIR "/"); strcat (filename, skins[selected_skin].foldername); strcat (filename, "/"); #ifdef USE_PIXMAP_FONT fontsize = 0; /* Not used */ if (video.field_size == 16) { strcat (filename, IMG_FONT_LOWRES); } else if (video.field_size == 32) { strcat (filename, IMG_FONT_HIRES); } #else strcat (filename, TTF_ROBBO); if (video.field_size == 16) { fontsize = FONTSIZE16; } else if (video.field_size == 32) { fontsize = FONTSIZE32; } #endif if ((font = TTF_OpenFont (filename, fontsize)) == NULL) { fprintf (stdout, "Cannot load font: %s\n", filename); exit (1); } } gnurobbo-0.66+dfsg/screen.h0000644000175000017500000000627111354433264014702 0ustar stevesteve/* GNU Robbo * Copyright (C) 2002-2010 The GNU Robbo Team (see AUTHORS). * * GNU Robbo is free software - you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2, or (at your option) * any later version. * * GNU Robbo is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the impled warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with GNU CC; see the file COPYING. If not, write to the * Free Software Foundation, 59 Temple Place - Suite 330, * Boston, MA 02111-1307, USA. * */ /* Defines */ /* Redraw bits */ #define REDRAW_INITIALISE 15 #define REDRAW_EVERYTHING 7 #define REDRAW_INTERMEDIATE 3 #define REDRAW_ANIMATED 1 /* Scoreline redraw bits */ #define SCORELINE_ICONS 1 #define SCORELINE_SCREWS 2 #define SCORELINE_KEYS 4 #define SCORELINE_BULLETS 8 #define SCORELINE_LEVEL 16 #define SCORELINE_PACK 32 #define SCORELINE_AUTHOR 64 /* Message box subfunctions */ #define MESSAGE_BOX_SUB_INITIALISE 1 #define MESSAGE_BOX_SUB_SHOW 2 #define MESSAGE_BOX_SUB_KILL 3 /* Game area fade subfunctions */ #define FADE_SUB_INITIALISE 3 #define FADE_SUB_SHOW 1 #define FADE_SUB_KILL FADE_SUB_INITIALISE /* Variables */ SDL_Surface *screen; struct { int redraw; /* An ORed combination of REDRAW_* bits */ } intro_screen; struct { int redraw; /* An ORed combination of REDRAW_* bits */ } help_screen; struct { int redraw; /* An ORed combination of REDRAW_* bits */ } options_screen; struct { int redraw; /* An ORed combination of REDRAW_* bits */ } game_area; struct { int xoffset; int yoffset; int redraw; /* An ORed combination of SCORELINE_* bits */ } scoreline; struct { int xoffset; int yoffset; } authorline; struct { int xres; int yres; int field_size; int fullscreen; /* 0 or SDL_FULLSCREEN */ int xshift; int yshift; } video; typedef struct msgbox { char name[256]; /* A unique name */ char message[256]; /* A message on a single line */ int timeout; /* Units of main loop cycles */ int dynamic; /* TRUE to size the box around the text, FALSE to specify the size */ int w, h; /* The msgbox size if dynamic = FALSE */ /* The properties below are set by the system when the msgbox is created */ int x, y; int bartopleftx, bartoplefty; int barbottomrightx, barbottomrighty; } MSG_Box; /* Function prototypes */ int show_game_area(void); int show_game_area_fade(int subfunction, int type); SDL_Rect set_rect(int x, int y, int w, int h); void clear_screen(void); int set_video_mode(void); void toggle_fullscreen(int *fullscreen); void show_level_colour(int debug_colour_select_r, int debug_colour_select_g, int debug_colour_select_b, int debug_colour_select_component); void inc_colour_component(int *colour_component); void dec_colour_component(int *colour_component); void show_introscreen(void); void show_helpscreen(void); void show_optionsscreen(void); void show_message_box(int subfunction, MSG_Box *msg_box); void show_endscreen(void); void show_scoreline (void); gnurobbo-0.66+dfsg/README.gp2x0000644000175000017500000000126111313201634014770 0ustar stevesteveGame help and default keys for this device are explained in-game. Save Frequency < { On Exit | On Change } > ========================================== In Options you can choose to save the rcfile gnurobborc whenever important settings are changed. You may experience a slight delay whilst the data is being saved and synced (depending on platform, backup media type, CPU underclocking etc.) but if you are running GNU Robbo on a battery powered or generally unstable device then you won't lose your level progress or your modified settings. Following is the desktop Linux README which you may find interesting. ----------------------------------------------------------------------- gnurobbo-0.66+dfsg/ROB_engine.h0000644000175000017500000001112711324422223015354 0ustar stevesteve/* GNU Robbo * Copyright (C) 2002-2010 The GNU Robbo Team (see AUTHORS). * * GNU Robbo is free software - you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2, or (at your option) * any later version. * * GNU Robbo is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the impled warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with GNU CC; see the file COPYING. If not, write to the * Free Software Foundation, 59 Temple Place - Suite 330, * Boston, MA 02111-1307, USA. * */ /* Defines */ /* #define DEBUG_ROB_HOTSPOTS */ /* Miscellaneous defines */ #define ROB_UNDEFINED -1 #define ROB_INHERITED -2 /* System objects */ #define ROB_LYR_ROOT 0 #define ROB_LYR_CANVAS 1 #define ROB_REC_POINTER 98 #define ROB_LYR_POINTER 99 /* Hit points */ #define ROB_HIT_POINT_TOP_LEFT 0 #define ROB_HIT_POINT_CENTRE 1 /* Object drag points */ #define ROB_DRAG_POINT_ANYWHERE 0 #define ROB_DRAG_POINT_MIDDLE 1 /* Object drag types */ #define ROB_DRAG_ANYWHERE 1 #define ROB_DRAG_RESTRICT_TO_PARENT 2 #define ROB_DRAG_RESTRICT_TO_PARENT_ORIGIN 3 /* ZOrder positions */ #define ROB_ZORDER_ABOVE_ALL 0 #define ROB_ZORDER_ABOVE 1 #define ROB_ZORDER_BELOW 2 /* Pointer modes */ #define ROB_POINTER_MODE_OFF 0 #define ROB_POINTER_MODE_PHYSICAL 1 #define ROB_POINTER_MODE_SIMULATED 2 /* Events */ #define ROB_EVENT_SEND_PRE_RENDER #define ROB_EVENT_OVER 10 #define ROB_EVENT_OUT 11 #define ROB_EVENT_PRESS 12 #define ROB_EVENT_CLICK 13 #define ROB_EVENT_RELEASE 14 #define ROB_EVENT_DRAG 15 #define ROB_EVENT_SELECT 38 /* Error codes */ #define ROB_ERROR_NONE 0 #define ROB_ERROR_TOO_MANY_OBJECTS 100 #define ROB_ERROR_INVALID_OBJECT 200 #define ROB_ERROR_INVALID_OBJECT_ID 300 #define ROB_ERROR_INVALID_TARGET_OBJECT 400 #define ROB_ERROR_CANNOT_SET_SURFACE_ALPHA 500 #define ROB_ERROR_CANNOT_FILL_SURFACE 600 #define ROB_ERROR_CANNOT_BLIT_SURFACE 700 #define ROB_ERROR_INVALID_EVENT 800 /* Variables */ typedef struct robobject { int id; int pid; /* Once object is loaded, use *pob instead; the engine does not use this after loading */ int visible; /* -2 (inherited), 0 or 1: Invisible objects are not manipulatable */ int enabled; /* -2 (inherited), 0 or 1: Disabled objects are not manipulatable */ int alpha; /* -2 (inherited) or 0 (transparent) to 255 (opaque) */ int alpha_over; int alpha_press; int bgcolour; int bgcolour_over; int bgcolour_press; int x; /* Object coordinates and dimensions */ int y; int w; int h; SDL_Surface *img_surface; int img_x; /* Image region */ int img_y; int img_w; int img_h; SDL_Surface *img_over_surface; int img_over_x; /* Image over region */ int img_over_y; int img_over_w; int img_over_h; SDL_Surface *img_press_surface; int img_press_x; /* Image press region */ int img_press_y; int img_press_w; int img_press_h; int draggable; int drag_point; int drag_granularity; /* The properties below are set by the system when the object is created */ int zorder; void *pob; /* Parent object pointer */ } ROB_Object; ROB_Object *rob_lyr_pointer; typedef struct robevent { ROB_Object *rob_object; int klasse; } ROB_Event; typedef struct robopenv { int systempointer; /* True or false */ int pointer; /* True or false */ int pointer_mode; /* Pointer mode */ int pointer_move_unit_low; /* Unit pointer should move unaccelerated */ int pointer_move_unit_high; /* Unit pointer should move accelerated */ int pointer_move_unit_threshold; /* Number of units marking the low/high threshold */ void (*event_processor)(ROB_Event *rob_event); /* The function that receives events */ } ROB_OpEnv; /* Function prototypes */ void ROB_Init(ROB_OpEnv *op_env); ROB_Object *ROB_GetObject(int id); int ROB_CreateObject(ROB_Object *rob_object); int ROB_SetObjectDefaults(ROB_Object *rob_object); char *ROB_GetError(void); int ROB_Quit(void); int ROB_FreeAllChildObjects(ROB_Object *pob, int free_pob); int ROB_FreeAllDescendantObjects(ROB_Object *ancestor, int free_ancestor); int ROB_FreeObject(ROB_Object *rob_object, int free_images_only); int ROB_RenderObjects(void); void ROB_GenerateEvents(int *actionid); int ROB_ShowEvent(ROB_Event *rob_event, const char *func); int ROB_SetOpEnvSystemPointer(int systempointer); int ROB_SetOpEnvPointer(int pointer, int pointer_mode); int ROB_SetOpEnvEventProcessor(void (*event_processor)(ROB_Event *rob_event)); gnurobbo-0.66+dfsg/TARGET0000644000175000017500000000001111113570267014143 0ustar stevestevegnurobbo gnurobbo-0.66+dfsg/fremantle/0002755000175000017500000000000011467303356015226 5ustar stevestevegnurobbo-0.66+dfsg/fremantle/debian/0002755000175000017500000000000011467303356016450 5ustar stevestevegnurobbo-0.66+dfsg/fremantle/debian/rules0000644000175000017500000000343011435040066017512 0ustar stevesteve#!/usr/bin/make -f # -*- makefile -*- # Sample debian/rules that uses debhelper. # This file was originally written by Joey Hess and Craig Small. # As a special exception, when this file is copied by dh-make into a # dh-make output file, you may use that output file without restriction. # This special exception was added by Craig Small in version 0.37 of dh-make. # Uncomment this to turn on verbose mode. export DH_VERBOSE=1 CFLAGS = -Wall -g ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS))) CFLAGS += -O0 else CFLAGS += -O2 endif build: build-stamp build-stamp: dh_testdir # Add here commands to compile the package. $(MAKE) -f Makefile.fremantle2 #docbook-to-man debian/gnurobbo.sgml > gnurobbo.1 touch $@ clean: dh_testdir dh_testroot rm -f build-stamp # Add here commands to clean up after the build process. -$(MAKE) -f Makefile.fremantle2 clean dh_clean install: build dh_testdir dh_testroot dh_clean -k dh_installdirs # Add here commands to install the package into debian/gnurobbo. $(MAKE) -f Makefile.fremantle2 DESTDIR=$(CURDIR)/debian/gnurobbo install # Build architecture-independent files here. binary-indep: build install # We have nothing to do by default. # Build architecture-dependent files here. binary-arch: build install dh_testdir dh_testroot dh_installchangelogs ChangeLog dh_installdocs dh_installexamples # dh_install # dh_installmenu # dh_installdebconf # dh_installlogrotate # dh_installemacsen # dh_installpam # dh_installmime # dh_python # dh_installinit # dh_installcron # dh_installinfo dh_installman dh_link dh_strip dh_compress dh_fixperms # dh_perl # dh_makeshlibs dh_installdeb dh_shlibdeps dh_gencontrol dh_md5sums dh_builddeb binary: binary-indep binary-arch .PHONY: build clean binary-indep binary-arch binary install gnurobbo-0.66+dfsg/fremantle/debian/gnurobbo.substvars0000644000175000017500000000000511435040066022223 0ustar stevesteve0100 gnurobbo-0.66+dfsg/fremantle/debian/compat0000644000175000017500000000000211435040066017633 0ustar stevesteve5 gnurobbo-0.66+dfsg/fremantle/debian/control0000644000175000017500000000233111462017201020032 0ustar stevesteveSource: gnurobbo Section: user/games Priority: extra Maintainer: Paul Houghton Build-Depends: debhelper (>= 5), libsdl1.2-dev (>= 1.2.13), libsdl-image1.2-dev (>= 1.2.4), libsdl-mixer1.2-dev (>= 1.2.6) Standards-Version: 3.7.2 Package: gnurobbo Architecture: any Depends: ${shlibs:Depends}, ${misc:Depends}, suspendprocess Description: logic game ported from ATARI XE/XL GNU Robbo is very addictive logic game. You must help a little robot to get out of an unfriendly planet, collecting parts of an emergency capsule. . Originally written for Atari XE/XL by Janusz Pelc from "LK. Avalon". XB-Maemo-Icon-26: iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABmJLR0QA/wD/ AP+gvaeTAAAACXBIWXMAAAhMAAAITAHzz8NlAAAAB3RJTUUH2QEGACUa9H+4 tgAAAB10RVh0Q29tbWVudABDcmVhdGVkIHdpdGggVGhlIEdJTVDvZCVuAAAB GklEQVRYw+1XwQ3CMAw8o7JHyyLNBqwAc/Dhw58RWIEBkMoiKJuYB0lRnLRJ kVBdxP2aupF8vsulxGCUgEAMAAymkjqPXP0KM4NyDPSduzKidGeyrl+ncSZm Z6Aqpsp30jMhZi0YWowGqrzqoxcvdOl1nugefQz0PvYdmvSQ60stvrRpMbh9 yKSZ0MOA7PzdoU3LO2cXhPvYziaZ0HMSRrP/Fkx4PujLAplmESKNOKXsbOia DH5fA9yWmUVhFpjxWRejdb6/C/WzthuRDzDOXA2b/YuJdXMDABy2GwDA6foI no/npsgdelwgGSCR917NnoGpkAyoS8N/FlRSlT6vhzJg8Kz/kLkFa0DMMpui 0O6C4vtA4R/PYjTwBBBIgtcM6SeZAAAAAElFTkSuQmCC gnurobbo-0.66+dfsg/fremantle/debian/changelog0000644000175000017500000000105311462017201020301 0ustar stevestevegnurobbo (0.66) unstable; urgency=low * New upstream version -- Paul Houghton Sat, 14 Aug 2010 20:47:37 +0100 gnurobbo (0.65.6-4) unstable; urgency=low * Fix help key. -- Paul Houghton Sat, 14 Aug 2010 20:47:37 +0100 gnurobbo (0.65.6-3) unstable; urgency=low * Fix Enter key and correct spelling of fremantle. -- Paul Houghton Mon, 24 May 2010 23:16:26 +0100 * Initial release -- Paul Houghton Mon, 24 May 2010 23:16:26 +0100 gnurobbo-0.66+dfsg/fremantle/debian/copyright0000644000175000017500000000217011435040066020370 0ustar stevesteveThis package was debianized by Paul Houghton on Mon, 24 May 2010 23:16:26 +0100. It was downloaded from http://gnurobbo.sourceforge.net/ Upstream Authors: * Arkadiusz Lipiec * Thunor * neurocyp * Bombel License: Copyright 2002-2010 The GNU Robbo Team GNU Robbo is free software - you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. GNU Robbo is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the impled warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. The Debian packaging is (C) 2010, Paul Houghton and is licensed under the GPL, see `/usr/share/common-licenses/GPL'. # Please also look if there are files or directories which have a # different copyright/license attached and list them here. gnurobbo-0.66+dfsg/fremantle/Makefile0000644000175000017500000001012011466272226016656 0ustar stevesteve# Change these to install somewhere else # System wide: #PACKAGE_DATA_DIR=/usr/local/share/$(TARGET)/ #BINDIR=/usr/local/bin/ #DOCDIR=/usr/local/share/$(TARGET)/ # Local: #PACKAGE_DATA_DIR=$(HOME)/Games/$(TARGET)/ #BINDIR=$(HOME)/Games/$(TARGET)/ #DOCDIR=$(HOME)/Games/$(TARGET)/ # The current folder: INSTDIR=/opt/gnurobbo PACKAGE_DATA_DIR=$(DESTDIR)$(INSTDIR)/data/ BINDIR=$(DESTDIR)$(INSTDIR)/ DOCDIR=$(DESTDIR)$(INSTDIR)/ ROOTDIR=$(DESTDIR)/ # Uncomment the line below if you want to have music support #MUSIC=-DHAVE_MUSIC # Comment the line below if you want to disable the designer DESIGNER=-DHAVE_DESIGNER # Choose ONE of these and comment the other FONT_USE_PIXMAP=-DUSE_PIXMAP_FONT #FONT_USE_SDL_TTF=-lSDL_ttf # You won't need to alter these TARGET=$(shell cat TARGET) SOURCES=$(wildcard *.c) OBJECTS=$(patsubst %.c, %.o, $(SOURCES)) VERSION=$(shell cat VERSION) # These should be ok for most SDL_CONFIG=sdl-config CFLAGS=-O3 -pipe -Wall -fomit-frame-pointer `$(SDL_CONFIG) --cflags` -DPLATFORM_FREMANTLE -DVERSION=\"$(VERSION)\" -DPACKAGE_DATA_DIR=\"$(PACKAGE_DATA_DIR)/\" $(FONT_USE_PIXMAP) $(MUSIC) $(DESIGNER) LINK=$(CC) LDFLAGS= LIBS=`$(SDL_CONFIG) --libs` -lSDL_image -lSDL_mixer $(FONT_USE_SDL_TTF) # You won't need to alter anything below all: $(SOURCES) $(TARGET) $(TARGET): $(OBJECTS) $(LINK) $(LDFLAGS) $(OBJECTS) $(LIBS) -o $@ %.o: %.c $(CC) $(CFLAGS) -c $< -o $@ .PHONY: all clean install clean: rm $(OBJECTS) gnurobbo install: @if [[ "$(PACKAGE_DATA_DIR)" == ./* ]] ; then \ echo "Installing into the current folder is not allowed."; \ exit 2; \ fi mkdir -p $(PACKAGE_DATA_DIR)/levels mkdir -p $(PACKAGE_DATA_DIR)/sounds/default mkdir -p $(PACKAGE_DATA_DIR)/sounds/free mkdir -p $(PACKAGE_DATA_DIR)/sounds/oily mkdir -p $(PACKAGE_DATA_DIR)/sounds/skins mkdir -p $(PACKAGE_DATA_DIR)/rob mkdir -p $(PACKAGE_DATA_DIR)/skins/original mkdir -p $(PACKAGE_DATA_DIR)/skins/tronic mkdir -p $(PACKAGE_DATA_DIR)/skins/oily mkdir -p $(PACKAGE_DATA_DIR)/locales/cz_CZ mkdir -p $(PACKAGE_DATA_DIR)/locales/de_DE mkdir -p $(PACKAGE_DATA_DIR)/locales/en_GB mkdir -p $(PACKAGE_DATA_DIR)/locales/id_ID mkdir -p $(PACKAGE_DATA_DIR)/locales/pl_PL mkdir -p $(PACKAGE_DATA_DIR)/locales/ru_RU mkdir -p $(PACKAGE_DATA_DIR)/locales/sk_SK mkdir -p $(PACKAGE_DATA_DIR)/locales/sv_SE mkdir -p $(BINDIR) mkdir -p $(DOCDIR) mkdir -p $(ROOTDIR)/usr/share/applications/hildon mkdir -p $(ROOTDIR)/usr/share/pixmaps cp icon32.png $(ROOTDIR)/usr/share/pixmaps/gnurobbo.png cp fremantle/gnurobbo.desktop $(ROOTDIR)/usr/share/applications/hildon cp data/levels/* $(PACKAGE_DATA_DIR)/levels/ cp data/sounds/default/* $(PACKAGE_DATA_DIR)/sounds/default/ cp data/sounds/free/* $(PACKAGE_DATA_DIR)/sounds/free/ cp data/sounds/oily/* $(PACKAGE_DATA_DIR)/sounds/oily/ cp data/sounds/skins/* $(PACKAGE_DATA_DIR)/sounds/skins/ cp data/rob/*.bmp $(PACKAGE_DATA_DIR)/rob/ cp data/skins/original/*.bmp data/skins/original/*.png data/skins/original/skinrc $(PACKAGE_DATA_DIR)/skins/original/ cp data/skins/tronic/*.bmp data/skins/tronic/*.png data/skins/tronic/skinrc $(PACKAGE_DATA_DIR)/skins/tronic/ cp data/skins/oily/*.bmp data/skins/oily/*.png data/skins/oily/skinrc $(PACKAGE_DATA_DIR)/skins/oily/ @if [ -n "$(FONT_USE_SDL_TTF)" ] ; then \ cp data/skins/original/robbo.ttf $(PACKAGE_DATA_DIR)/skins/original/; \ cp data/skins/tronic/robbo.ttf $(PACKAGE_DATA_DIR)/skins/tronic/; \ cp data/skins/oily/robbo.ttf $(PACKAGE_DATA_DIR)/skins/oily/; \ fi cp data/locales/cz_CZ/* $(PACKAGE_DATA_DIR)/locales/cz_CZ/ cp data/locales/de_DE/* $(PACKAGE_DATA_DIR)/locales/de_DE/ cp data/locales/en_GB/* $(PACKAGE_DATA_DIR)/locales/en_GB/ cp data/locales/id_ID/* $(PACKAGE_DATA_DIR)/locales/id_ID/ cp data/locales/pl_PL/* $(PACKAGE_DATA_DIR)/locales/pl_PL/ cp data/locales/ru_RU/* $(PACKAGE_DATA_DIR)/locales/ru_RU/ cp data/locales/sk_SK/* $(PACKAGE_DATA_DIR)/locales/sk_SK/ cp data/locales/sv_SE/* $(PACKAGE_DATA_DIR)/locales/sv_SE/ cp fremantle/launchrobbo.sh $(BINDIR)/ cp $(TARGET) $(BINDIR)/ cp ChangeLog NEWS COPYING README LICENSE-sound $(DOCDIR)/ @if [ -n "$(FONT_USE_SDL_TTF)" ] ; then \ cp LICENSE-ttf $(DOCDIR)/; \ fi gnurobbo-0.66+dfsg/fremantle/gnurobbo.desktop0000644000175000017500000000033711462017201020421 0ustar stevesteve[Desktop Entry] Encoding=UTF-8 Version=0.7.0 Type=Application Name=GNURobbo Exec=/opt/gnurobbo/launchrobbo.sh Icon=gnurobbo X-Window-Icon=gnurobbo X-Osso-Type=application/x-executable StartupWMClass=gnurobbo Terminal=false gnurobbo-0.66+dfsg/ROB_engine.c0000644000175000017500000015265011434556345015375 0ustar stevesteve/* GNU Robbo * Copyright (C) 2002-2010 The GNU Robbo Team (see AUTHORS). * * GNU Robbo is free software - you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2, or (at your option) * any later version. * * GNU Robbo is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the impled warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with GNU CC; see the file COPYING. If not, write to the * Free Software Foundation, 59 Temple Place - Suite 330, * Boston, MA 02111-1307, USA. * */ #include "game.h" /* The GNU Robbo Rectangular Object Engine ======================================= The purpose of this engine is to manage a GUI and widget set capable of assisting in the development of a level designer. It's a cut down version of ENG, a project I've been working on and only recently (2009-03-22) published on Sourceforge. The main differences between this and ENG are :- * No objects will be loaded from a file, only created in code * There is no image subsystem although ROB_FreeObject will free attached images * There is no actions subsystem as it already exists within GNU Robbo in a simpler form * No screen or viewport system objects, just a screen sized canvas * The sorted id array is dispensed with because there won't be many objects * Only GNU Robbo developers will be creating objects, not users * Much of the idiot-proof error checking is no longer necessary :) */ /* Defines */ /* #define DEBUG_ROB_OBJECTS #define DEBUG_ROB_OBJECT_ZORDER #define DEBUG_ROB_OBJECTS_ALL_DRAGGABLE #define DEBUG_ROB_GET_VISIBILITY #define DEBUG_ROB_GET_ENABILITY #define DEBUG_ROB_EVENTS #define DEBUG_ROB_PROGRESS_DUMP */ #define ROB_MAX_OBJECTS 1000 #define ROB_FILE_LENGTH 256 #define ROB_ERROR_LENGTH 256 #define ROB_DIR "rob" #define ROB_SPRITES "robsprites.bmp" #define ROB_SPRITES_POINTER_XOFFSET 0 #define ROB_SPRITES_POINTER_W 13 #define ROB_SPRITES_POINTER_H 19 #define ROB_SPRITES_POINTER_SHADOW_XOFFSET 13 #define ROB_SPRITES_POINTER_SHADOW_ALPHA 50 #define ROB_SPRITES_POINTER_SHADOW_X 4 #define ROB_SPRITES_POINTER_SHADOW_Y 4 #define ROB_SPRITES_POINTER_SHADOW_W 13 #define ROB_SPRITES_POINTER_SHADOW_H 19 /* Variables */ ROB_OpEnv rob_op_env; SDL_Surface *rob_blend_screen = NULL; SDL_Surface *rob_sprites = NULL; ROB_Object *rob_objects[ROB_MAX_OBJECTS]; ROB_Object *rob_lyr_root = NULL; ROB_Object *rob_lyr_canvas = NULL; ROB_Object *rob_rec_pointer = NULL; ROB_Object *rob_oup = NULL; ROB_Object *rob_pressed_object = NULL; int rob_object_count = 0; char rob_last_error[ROB_ERROR_LENGTH]; /* Function prototypes */ int ROB_SetObjectZOrder(ROB_Object *rob_object, int position, ROB_Object *target); void ROB_FreeAllObjects(void); int ROB_FillRectA(SDL_Surface *surface, SDL_Rect *dstrect, Uint32 colour, Uint8 alpha); int ROB_GetCanvasOffset(ROB_Object *rob_object, int *cx, int *cy); int ROB_GetVisibility(ROB_Object *rob_object); int ROB_GetEnability(ROB_Object *rob_object); int ROB_GetAlpha(ROB_Object *rob_object); ROB_Object *ROB_GetObjectUnderObject(ROB_Object *rob_object, int hitpoint); int ROB_FindAncestor(ROB_Object *rob_object, ROB_Object *target); void ROB_ManagePointerInput(int pxu, int pyu); int ROB_SendEvent(ROB_Event *rob_event); /*************************************************************************** * Initialise * ***************************************************************************/ /* On entry: op_env points to the operating environment data which is copied locally */ void ROB_Init(ROB_OpEnv *op_env) { SDL_Surface *unconverted, *converted; ROB_Object rob_object; char filename[256]; #ifdef DEBUG_ROB_PROGRESS_DUMP printf("%s: Initialising\n", __func__); #endif /* Create a local copy of the passed op_env */ rob_op_env = *op_env; /* Initialise some defaults */ rob_lyr_pointer = NULL; rob_last_error[0] = 0; /* Duplicate the screen surface for making alpha rectangles only */ rob_blend_screen = SDL_CreateRGBSurface(screen->flags | SDL_SRCALPHA, screen->w, screen->h, screen->format->BitsPerPixel, screen->format->Rmask, screen->format->Gmask, screen->format->Bmask, screen->format->Amask); if (rob_blend_screen == NULL) { fprintf(stdout, "%s: Cannot create blend surface: %s", __func__, SDL_GetError()); exit(1); } /* Load the ROB system images */ strcpy(filename, PACKAGE_DATA_DIR "/" ROB_DIR "/"); strcat(filename, ROB_SPRITES); /* Load the bitmap */ if ((unconverted = SDL_LoadBMP(filename)) == NULL) { fprintf(stdout, "Cannot load bitmap: %s\n", filename); exit(1); } /* Set the transparent colour */ if (SDL_SetColorKey(unconverted, SDL_SRCCOLORKEY, SDL_MapRGB(unconverted->format, 0xff, 0x00, 0xff)) < 0) { fprintf(stdout, "Cannot set surface colour key: %s\n", SDL_GetError()); exit(1); } /* Convert the loaded surface to the same pixel format as the screen for fast blitting */ converted = SDL_DisplayFormat(unconverted); SDL_FreeSurface(unconverted); if (converted == NULL) { fprintf(stdout, "Cannot create surface: %s\n", SDL_GetError()); exit(1); } rob_sprites = converted; /* Create the system objects */ /* Create a root object */ if (ROB_SetObjectDefaults(&rob_object)) printf("%s: %s\n", __func__, ROB_GetError()); rob_object.id = ROB_LYR_ROOT ; rob_object.pid = ROB_LYR_ROOT; rob_object.visible = TRUE; rob_object.enabled = TRUE; rob_object.alpha = 255; if (ROB_CreateObject(&rob_object)) printf("%s: %s\n", __func__, ROB_GetError()); /* Create a canvas object */ if (ROB_SetObjectDefaults(&rob_object)) printf("%s: %s\n", __func__, ROB_GetError()); rob_object.id = ROB_LYR_CANVAS; rob_object.pid = ROB_LYR_ROOT; rob_object.visible = TRUE; rob_object.enabled = TRUE; rob_object.alpha = 255; rob_object.w = screen->w; rob_object.h = screen->h; if (ROB_CreateObject(&rob_object)) printf("%s: %s\n", __func__, ROB_GetError()); /* Create a pointer shadow */ if (ROB_SetObjectDefaults(&rob_object)) printf("%s: %s\n", __func__, ROB_GetError()); rob_object.id = ROB_REC_POINTER; rob_object.pid = ROB_LYR_POINTER; rob_object.alpha = ROB_SPRITES_POINTER_SHADOW_ALPHA; rob_object.x = ROB_SPRITES_POINTER_SHADOW_X; rob_object.y = ROB_SPRITES_POINTER_SHADOW_Y; rob_object.w = ROB_SPRITES_POINTER_SHADOW_W; rob_object.h = ROB_SPRITES_POINTER_SHADOW_H; rob_object.img_surface = rob_sprites; rob_object.img_x = ROB_SPRITES_POINTER_SHADOW_XOFFSET; rob_object.img_y = 0; rob_object.img_w = rob_object.w; rob_object.img_h = rob_object.h; if (ROB_CreateObject(&rob_object)) printf("%s: %s\n", __func__, ROB_GetError()); /* Create a pointer */ if (ROB_SetObjectDefaults(&rob_object)) printf("%s: %s\n", __func__, ROB_GetError()); rob_object.id = ROB_LYR_POINTER; rob_object.pid = ROB_LYR_CANVAS; rob_object.visible = FALSE; rob_object.enabled = TRUE; rob_object.alpha = 255; rob_object.x = screen->w / 2; rob_object.y = screen->h / 2; rob_object.w = ROB_SPRITES_POINTER_W; rob_object.h = ROB_SPRITES_POINTER_H; rob_object.img_surface = rob_sprites; rob_object.img_x = ROB_SPRITES_POINTER_XOFFSET; rob_object.img_y = 0; rob_object.img_w = rob_object.w; rob_object.img_h = rob_object.h; if (ROB_CreateObject(&rob_object)) printf("%s: %s\n", __func__, ROB_GetError()); #ifdef DEBUG_ROB_OBJECTS printf("%s: rob_lyr_root=%p\n", __func__, rob_lyr_root); printf("%s: rob_lyr_canvas=%p\n", __func__, rob_lyr_canvas); printf("%s: rob_rec_pointer=%p\n", __func__, rob_rec_pointer); printf("%s: rob_lyr_pointer=%p\n", __func__, rob_lyr_pointer); #endif /* Process the operating environment */ ROB_SetOpEnvEventProcessor(rob_op_env.event_processor); ROB_SetOpEnvSystemPointer(rob_op_env.systempointer); ROB_SetOpEnvPointer(rob_op_env.pointer, rob_op_env.pointer_mode); } /*************************************************************************** * Set Object ZOrder * ***************************************************************************/ /* User objects must be above ROB_LYR_CANVAS and below ROB_REC_POINTER to be accessible via the pointer. This function does not place any restrictions on the destinaton of any objects. Positions :- ROB_ZORDER_ABOVE_ALL -------------------- The object will be moved above the target and above all other objects who's pob is also the target. If the object is or results in being the target then it is not moved. ROB_ZORDER_ABOVE ---------------- The object will be moved above the target. If the object is the target then it is moved above itself. ROB_ZORDER_BELOW ---------------- The object will be moved below the target. If the object is the target then it is moved below itself */ /* On entry: object is the object to move position is one of the zorder positions detailed above target is the target object of the move On exit: returns ROB_ERROR_NONE on success else any one of the error codes in ROB_engine.h */ int ROB_SetObjectZOrder(ROB_Object *rob_object, int position, ROB_Object *target) { int count, retval = ROB_ERROR_NONE; int index = rob_object->zorder, targetindex = ROB_UNDEFINED, direction = 0; ROB_Object *swap_object; if (rob_object == NULL || sizeof(*rob_object) != sizeof(ROB_Object)) { sprintf(rob_last_error, "%s: object is invalid", __func__); retval = ROB_ERROR_INVALID_OBJECT; } else if (target == NULL || sizeof(*target) != sizeof(ROB_Object)) { sprintf(rob_last_error, "%s: target is invalid", __func__); retval = ROB_ERROR_INVALID_TARGET_OBJECT; } else { /* Set the target index */ if (position == ROB_ZORDER_ABOVE_ALL) { /* Find the topmost object equal to target or its pob is equal to target */ for (count = 0; count < rob_object_count; count++) { if (rob_objects[count] == target || rob_objects[count]->pob == target) targetindex = count; } /* Make some positional adjustments to the target index */ if (targetindex == ROB_UNDEFINED) { targetindex = rob_object->zorder; /* No seg faults please :) */ } else if (rob_object->zorder > targetindex) { targetindex++; } } else if (position == ROB_ZORDER_ABOVE) { /* The target index is the zorder within the target */ targetindex = target->zorder; /* Make some positional adjustments to the target index */ if (rob_object->zorder == targetindex && targetindex < rob_object_count - 1) { targetindex++; } else if (rob_object->zorder > targetindex) { targetindex++; } } else if (position == ROB_ZORDER_BELOW) { /* The target index is the zorder within the target */ targetindex = target->zorder; /* Make some positional adjustments to the target index */ if (rob_object->zorder == targetindex && targetindex > 0) { targetindex--; } else if (rob_object->zorder < targetindex) { targetindex--; } } /* Set move direction */ if (index < targetindex) { direction = 1; } else if (rob_object->zorder > targetindex) { direction = -1; } #ifdef DEBUG_ROB_OBJECT_ZORDER printf("%s: Moving id=%i zorder=%i targetindex=%i (rob_object_count=%i)\n", __func__, rob_object->id, rob_object->zorder, targetindex, rob_object_count); #endif while (index != targetindex) { #ifdef DEBUG_ROB_OBJECT_ZORDER printf(" id=%i pob=%p zorder=%i <--> id=%i pob=%p zorder=%i\n", rob_objects[index]->id, rob_objects[index]->pob, rob_objects[index]->zorder, rob_objects[index + direction]->id, rob_objects[index + direction]->pob, rob_objects[index + direction]->zorder); #endif swap_object = rob_objects[index]; rob_objects[index] = rob_objects[index + direction]; rob_objects[index]->zorder -= direction; index += direction; rob_objects[index] = swap_object; rob_objects[index]->zorder += direction; } } return retval; } /*************************************************************************** * Get Object * ***************************************************************************/ /* On entry: id is the object id On exit: returns a pointer to the object on success else NULL */ ROB_Object *ROB_GetObject(int id) { int count; /* Linear search for id */ for (count = 0; count < rob_object_count; count++) { if (rob_objects[count]->id == id) return rob_objects[count]; } return NULL; } /*************************************************************************** * Create Object * ***************************************************************************/ /* This will create the object. There may be existing objects within rob_objects whose pob is NULL because their parent was recently freed or hasn't been created yet. This function will attempt to fix these NULL pobs on introduction of this new object */ /* On exit: returns ROB_ERROR_NONE on success else any one of the error codes in ROB_engine.h */ int ROB_CreateObject(ROB_Object *rob_object) { int retval = ROB_ERROR_NONE, count; ROB_Object *newobject; if (rob_object == NULL || sizeof(*rob_object) != sizeof(ROB_Object)) { sprintf(rob_last_error, "%s: object is invalid", __func__); retval = ROB_ERROR_INVALID_OBJECT; } else if (rob_object_count >= ROB_MAX_OBJECTS) { sprintf(rob_last_error, "%s: Too many objects (max %i)", __func__, ROB_MAX_OBJECTS); retval = ROB_ERROR_TOO_MANY_OBJECTS; } else { /* Check uniqueness of id */ for (count = 0; count < rob_object_count; count++) { if (rob_object->id == rob_objects[count]->id) { sprintf(rob_last_error, "%s: Invalid duplicate id property", __func__); retval = ROB_ERROR_INVALID_OBJECT_ID; break; } } if (!retval) { /* Allocate memory for the new object */ newobject = (ROB_Object*) malloc(sizeof(ROB_Object)); *newobject = *rob_object; #ifdef DEBUG_ROB_OBJECTS_ALL_DRAGGABLE if (newobject->draggable == FALSE) newobject->draggable = ROB_DRAG_ANYWHERE; #endif #ifdef DEBUG_ROB_OBJECTS printf("*** Start %s ***\n", __func__); printf("%s: Creating %p (%i)\n", __func__, newobject, newobject->id); #endif /* Store the object pointer in the array */ rob_objects[rob_object_count] = newobject; /* Set the zorder */ newobject->zorder = rob_object_count; /* Update the array element count now */ rob_object_count++; /* Store pointers to system objects */ if (newobject->id == ROB_LYR_ROOT) { rob_lyr_root = newobject; } else if (newobject->id == ROB_LYR_CANVAS) { rob_lyr_canvas = newobject; } else if (newobject->id == ROB_REC_POINTER) { rob_rec_pointer = newobject; } else if (newobject->id == ROB_LYR_POINTER) { rob_lyr_pointer = newobject; } /* Iterate through rob_objects and fix the pob */ for (count = 0; count < rob_object_count; count++) { if (rob_objects[count]->pob == NULL) { /* This may still result in a NULL pob if the parent never exists */ rob_objects[count]->pob = ROB_GetObject(rob_objects[count]->pid); } } /* Maintain the highest zorder for the pointer and shadow */ if (rob_lyr_pointer != NULL && rob_rec_pointer != NULL) { ROB_SetObjectZOrder(rob_lyr_pointer, ROB_ZORDER_ABOVE, newobject); ROB_SetObjectZOrder(rob_rec_pointer, ROB_ZORDER_BELOW, rob_lyr_pointer); } #ifdef DEBUG_ROB_OBJECTS printf("newobject :-\n"); printf("id=%i\n", newobject->id); printf("pid=%i\n", newobject->pid); printf("visible=%i\n", newobject->visible); printf("enabled=%i\n", newobject->enabled); printf("alpha=%i\n", newobject->alpha); printf("alpha_over=%i\n", newobject->alpha_over); printf("alpha_press=%i\n", newobject->alpha_press); printf("bgcolour=%03X\n", newobject->bgcolour); printf("bgcolour_over=%03X\n", newobject->bgcolour_over); printf("bgcolour_press=%03X\n", newobject->bgcolour_press); printf("x=%i\n", newobject->x); printf("y=%i\n", newobject->y); printf("w=%i\n", newobject->w); printf("h=%i\n", newobject->h); printf("img_surface=%p\n", newobject->img_surface); printf("img_x=%i\n", newobject->img_x); printf("img_y=%i\n", newobject->img_y); printf("img_w=%i\n", newobject->img_w); printf("img_h=%i\n", newobject->img_h); printf("img_over_surface=%p\n", newobject->img_over_surface); printf("img_over_x=%i\n", newobject->img_over_x); printf("img_over_y=%i\n", newobject->img_over_y); printf("img_over_w=%i\n", newobject->img_over_w); printf("img_over_h=%i\n", newobject->img_over_h); printf("img_press_surface=%p\n", newobject->img_press_surface); printf("img_press_x=%i\n", newobject->img_press_x); printf("img_press_y=%i\n", newobject->img_press_y); printf("img_press_w=%i\n", newobject->img_press_w); printf("img_press_h=%i\n", newobject->img_press_h); printf("draggable=%i\n", newobject->draggable); printf("drag_point=%i\n", newobject->drag_point); printf("drag_granularity=%i\n", newobject->drag_granularity); printf("zorder=%i\n", newobject->zorder); printf("pob=%p\n", newobject->pob); printf("*** Stop %s ***\n", __func__); #endif } } return retval; } /*************************************************************************** * Set Object Defaults * ***************************************************************************/ /* On exit: returns ROB_ERROR_NONE on success else any one of the error codes in ROB_engine.h */ int ROB_SetObjectDefaults(ROB_Object *rob_object) { int retval = ROB_ERROR_NONE; if (rob_object == NULL || sizeof(*rob_object) != sizeof(ROB_Object)) { sprintf(rob_last_error, "%s: object is invalid", __func__); retval = ROB_ERROR_INVALID_OBJECT; } else { rob_object->id = ROB_UNDEFINED; rob_object->pid = ROB_LYR_CANVAS; rob_object->visible = ROB_INHERITED; rob_object->enabled = ROB_INHERITED; rob_object->alpha = ROB_INHERITED; rob_object->alpha_over = ROB_UNDEFINED; rob_object->alpha_press = ROB_UNDEFINED; rob_object->bgcolour = ROB_UNDEFINED; rob_object->bgcolour_over = ROB_UNDEFINED; rob_object->bgcolour_press = ROB_UNDEFINED; rob_object->x = 0; rob_object->y = 0; rob_object->w = 0; rob_object->h = 0; rob_object->img_surface = NULL; rob_object->img_x = ROB_UNDEFINED; rob_object->img_y = ROB_UNDEFINED; rob_object->img_w = ROB_UNDEFINED; rob_object->img_h = ROB_UNDEFINED; rob_object->img_over_surface = NULL; rob_object->img_over_x = ROB_UNDEFINED; rob_object->img_over_y = ROB_UNDEFINED; rob_object->img_over_w = ROB_UNDEFINED; rob_object->img_over_h = ROB_UNDEFINED; rob_object->img_press_surface = NULL; rob_object->img_press_x = ROB_UNDEFINED; rob_object->img_press_y = ROB_UNDEFINED; rob_object->img_press_w = ROB_UNDEFINED; rob_object->img_press_h = ROB_UNDEFINED; rob_object->draggable = FALSE; rob_object->drag_point = ROB_DRAG_POINT_ANYWHERE; rob_object->drag_granularity = 1; rob_object->zorder = ROB_UNDEFINED; rob_object->pob = NULL; } return retval; } /*************************************************************************** * Get Error * ***************************************************************************/ /* On exit: returns a pointer to a string containing the last internal error plus the contents of SDL_GetError if relevant */ char *ROB_GetError(void) { static char last_error[ROB_ERROR_LENGTH]; strcpy (last_error, rob_last_error); strcpy (rob_last_error, ""); return last_error; } /*************************************************************************** * Quit (ROB) * ***************************************************************************/ /* On exit: returns ROB_ERROR_NONE on success else any one of the error codes in ROB_engine.h */ int ROB_Quit(void) { int retval = ROB_ERROR_NONE; #ifdef DEBUG_ROB_PROGRESS_DUMP printf("%s: Quitting\n", __func__); #endif ROB_FreeAllObjects(); if (rob_sprites) SDL_FreeSurface(rob_sprites); if (rob_blend_screen) SDL_FreeSurface(rob_blend_screen); return retval; } /*************************************************************************** * Free All Objects * ***************************************************************************/ /* This mops-up any remaining objects before shutting down */ void ROB_FreeAllObjects(void) { int count; if (rob_object_count > 0) { #ifdef DEBUG_ROB_PROGRESS_DUMP printf("%s: Freeing %i objects\n", __func__, rob_object_count); #endif /* Free all remaining objects (ignoring errors) */ for (count = rob_object_count - 1; count >= 0; count--) { ROB_FreeObject(rob_objects[count], FALSE); } } } /*************************************************************************** * Free All Child Objects * ***************************************************************************/ /* This frees all child objects of a parent if any exist. This can be viewed as a way of freeing a group of objects that share a common parent */ /* On entry: pob is a pointer to a parent object free_pob = TRUE to free the parent object also */ /* On exit: returns ROB_ERROR_NONE on success else any one of the error codes in ROB_engine.h */ int ROB_FreeAllChildObjects(ROB_Object *pob, int free_pob) { int retval = ROB_ERROR_NONE, count, free_count = 0; if (pob == NULL || sizeof(*pob) != sizeof(ROB_Object)) { sprintf(rob_last_error, "%s: pob is invalid", __func__); retval = ROB_ERROR_INVALID_OBJECT; } else if (rob_object_count > 0) { for (count = rob_object_count - 1; count >= 0; count--) { if (rob_objects[count]->pob == pob) { ROB_FreeObject(rob_objects[count], FALSE); free_count++; } } #ifdef DEBUG_ROB_PROGRESS_DUMP printf("%s: Freeing %i objects", __func__, free_count); if (free_pob) printf(" and parent id=%i", pob->id); printf("\n"); #endif if (free_pob) { ROB_FreeObject(pob, FALSE); } } return retval; } /*************************************************************************** * Free All Descendant Objects * ***************************************************************************/ /* This frees all descendant objects of an ancestor if any exist. This can be viewed as a way of freeing a group of objects that share a common ancestor */ /* On entry: ancestor is a pointer to an ancestor object free_ancestor = TRUE to free the ancestor object also */ /* On exit: returns ROB_ERROR_NONE on success else any one of the error codes in ROB_engine.h */ int ROB_FreeAllDescendantObjects(ROB_Object *ancestor, int free_ancestor) { int retval = ROB_ERROR_NONE, count, free_count = 0; if (ancestor == NULL || sizeof(*ancestor) != sizeof(ROB_Object)) { sprintf(rob_last_error, "%s: ancestor is invalid", __func__); retval = ROB_ERROR_INVALID_OBJECT; } else if (rob_object_count > 0) { for (count = rob_object_count - 1; count >= 0; count--) { if (rob_objects[count] != ancestor && ROB_FindAncestor(rob_objects[count], ancestor)) { ROB_FreeObject(rob_objects[count], FALSE); free_count++; } } #ifdef DEBUG_ROB_PROGRESS_DUMP printf("%s: Freeing %i objects", __func__, free_count); if (free_ancestor) printf(" and ancestor id=%i", ancestor->id); printf("\n"); #endif if (free_ancestor) { ROB_FreeObject(ancestor, FALSE); } } return retval; } /*************************************************************************** * Free Object * ***************************************************************************/ /* When freeing a parent object, the child objects will have their pob nullified up until the point when (or if) the parent is reinstated. Images declared within the object are freed and any objects that are also referencing these images through img_surface and img_over_surface will have these properties nullified */ /* On entry: object is the object to free free_images_only = TRUE to free ONLY any declared images */ /* On exit: returns ROB_ERROR_NONE on success else any one of the error codes in ROB_engine.h */ int ROB_FreeObject(ROB_Object *rob_object, int free_images_only) { int retval = ROB_ERROR_NONE, count, count2; SDL_Surface *img_surface; if (rob_object_count <= 0) { sprintf(rob_last_error, "%s: There is no object to free", __func__); retval = ROB_ERROR_INVALID_OBJECT; } else if (rob_object == NULL || sizeof(*rob_object) != sizeof(ROB_Object)) { sprintf(rob_last_error, "%s: object is invalid", __func__); retval = ROB_ERROR_INVALID_OBJECT; } else { #ifdef DEBUG_ROB_OBJECTS printf("%s: Freeing %p (%i)\n", __func__, rob_object, rob_object->id); #endif /* Free img_surface and img_over_surface if either are declared */ for (count = 0; count < 2; count++) { if (count == 0) { img_surface = rob_object->img_surface; } else { img_surface = rob_object->img_over_surface; } if (img_surface != NULL) { /* Nullify all surface pointers within rob_objects that reference this surface */ for (count2 = 0; count2 < rob_object_count; count2++) { if (rob_objects[count2]->img_surface == img_surface) { rob_objects[count2]->img_surface = NULL; } if (rob_objects[count2]->img_over_surface == img_surface) { rob_objects[count2]->img_over_surface = NULL; } } /* Free the SDL surface but not rob_sprites or GNU Robbo images */ if (img_surface != rob_sprites && img_surface != wm_icon && img_surface != icons && img_surface != ciphers && img_surface != alpha && img_surface != bgrnd && img_surface != k_icons) { SDL_FreeSurface(img_surface); } } } if (!free_images_only) { /* If the current object is the parent to other objects then nullify their pob */ for (count = 0; count < rob_object_count; count++) { if (rob_objects[count]->pob == rob_object) rob_objects[count]->pob = NULL; } /* If anything is above the current object then move it down the array */ for (count = rob_object->zorder; count < rob_object_count - 1; count++) { rob_objects[count] = rob_objects[count + 1]; rob_objects[count]->zorder--; } /* Nullify rob_oup if it's the same object */ if (rob_oup == rob_object) rob_oup = NULL; /* Nullify rob_pressed_object if it's the same object */ if (rob_pressed_object == rob_object) rob_pressed_object = NULL; /* Free the memory and update the array element count now */ free(rob_object); rob_object_count--; } } return retval; } /*************************************************************************** * Render Objects * ***************************************************************************/ /* On exit: returns ROB_ERROR_NONE on success else any one of the error codes in ROB_engine.h */ int ROB_RenderObjects(void) { int cx, cy, ix = 0, iy = 0, iw = 0, ih = 0, alpha; int overeventfound, presseventfound, use_rleaccel = 0; int count, retval = ROB_ERROR_NONE; SDL_Surface *img_surface = NULL; SDL_Rect srcrect, dstrect; Uint32 bgcolour = 0; /* Iterate through the objects */ for (count = 0; count < rob_object_count; count++) { /* Get the object's visibility */ if (ROB_GetVisibility(rob_objects[count])) { /* Is there an over event waiting for this object? */ overeventfound = presseventfound = FALSE; if (rob_objects[count] == rob_oup && ROB_GetEnability(rob_objects[count])) { overeventfound = TRUE; /* Is there a press event waiting for this object? */ if (rob_objects[count] == rob_pressed_object) presseventfound = TRUE; } /* Get object's canvas offset */ ROB_GetCanvasOffset(rob_objects[count], &cx, &cy); /* Get object's alpha and alpha_{over|press} */ alpha = ROB_GetAlpha(rob_objects[count]); if (overeventfound && rob_objects[count]->alpha_over != ROB_UNDEFINED) alpha = rob_objects[count]->alpha_over; if (presseventfound && rob_objects[count]->alpha_press != ROB_UNDEFINED) alpha = rob_objects[count]->alpha_press; /* Get object's bgcolour and bgcolour_{over|press} */ bgcolour = rob_objects[count]->bgcolour; if (overeventfound && rob_objects[count]->bgcolour_over != ROB_UNDEFINED) bgcolour = rob_objects[count]->bgcolour_over; if (presseventfound && rob_objects[count]->bgcolour_press != ROB_UNDEFINED) bgcolour = rob_objects[count]->bgcolour_press; /* Get object's img_{over_|press_}surface */ img_surface = rob_objects[count]->img_surface; ix = rob_objects[count]->img_x; iy = rob_objects[count]->img_y; iw = rob_objects[count]->img_w; ih = rob_objects[count]->img_h; if (overeventfound && rob_objects[count]->img_over_surface != NULL) { img_surface = rob_objects[count]->img_over_surface; ix = rob_objects[count]->img_over_x; iy = rob_objects[count]->img_over_y; iw = rob_objects[count]->img_over_w; ih = rob_objects[count]->img_over_h; } if (presseventfound && rob_objects[count]->img_press_surface != NULL) { img_surface = rob_objects[count]->img_press_surface; ix = rob_objects[count]->img_press_x; iy = rob_objects[count]->img_press_y; iw = rob_objects[count]->img_press_w; ih = rob_objects[count]->img_press_h; } /** Is there a colour to fill? */ if (bgcolour != ROB_UNDEFINED) { bgcolour = SDL_MapRGB(screen->format, bgcolour >> 16 & 0xff, bgcolour >> 8 & 0xff, bgcolour & 0xff); if (alpha == 255) { /* Fill rectangle */ dstrect.x = cx; dstrect.y = cy; dstrect.w = rob_objects[count]->w; dstrect.h = rob_objects[count]->h; if ((SDL_FillRect(screen, &dstrect, bgcolour)) < 0) { sprintf(rob_last_error, "%s: Cannot fill surface: %s", __func__, SDL_GetError()); retval = ROB_ERROR_CANNOT_FILL_SURFACE; break; } } else { /* Fill rectangle */ dstrect.x = cx; dstrect.y = cy; dstrect.w = rob_objects[count]->w; dstrect.h = rob_objects[count]->h; retval = ROB_FillRectA(screen, &dstrect, bgcolour, alpha); if (retval) break; } } /** Is there an image to attach? */ if (img_surface != NULL) { /* If image region is unused then use entire image */ if (ix == ROB_UNDEFINED && iy == ROB_UNDEFINED && iw == ROB_UNDEFINED && ih == ROB_UNDEFINED) { ix = 0; iy = 0; iw = img_surface->w; ih = img_surface->h; } if (alpha != 255) { /* Record surface's use of SDL_RLEACCEL. Because the surface is not compressed until the first blit, SDL_RLEACCELOK must be checked for too, I imagine as compression is pending */ if (img_surface->flags & (SDL_RLEACCEL | SDL_RLEACCELOK)) use_rleaccel = SDL_RLEACCEL; /* Set the image surface alpha. */ /* Note that this removes SDL_RLEACCEL because using it with alpha is very very slow; it's restored at the end of the function */ if ((SDL_SetAlpha(img_surface, SDL_SRCALPHA, alpha)) < 0) { sprintf(rob_last_error, "%s: Cannot set surface alpha: %s", __func__, SDL_GetError()); retval = ROB_ERROR_CANNOT_SET_SURFACE_ALPHA; break; } } srcrect.x = ix; srcrect.y = iy; srcrect.w = iw; srcrect.h = ih; dstrect.x = cx; dstrect.y = cy; dstrect.w = rob_objects[count]->w; dstrect.h = rob_objects[count]->h; /* Blit surface */ if ((SDL_BlitSurface(img_surface, &srcrect, screen, &dstrect)) < 0) { sprintf(rob_last_error, "%s: Cannot blit surface: %s", __func__, SDL_GetError()); retval = ROB_ERROR_CANNOT_BLIT_SURFACE; break; } if (alpha != 255) { /* Disable the image surface alpha and restore SDL_RLEACCEL if set. Note that officially NOT passing the SDL_SRCALPHA flag disables alpha blits from this surface but then it's not possible to reenable SDL_RLEACCEL, so I simply set the alpha value to SDL_ALPHA_OPAQUE (255) which achieves the same result. */ if ((SDL_SetAlpha(img_surface, SDL_SRCALPHA | use_rleaccel, 255)) < 0) { sprintf(rob_last_error, "%s: Cannot set surface alpha: %s", __func__, SDL_GetError()); retval = ROB_ERROR_CANNOT_SET_SURFACE_ALPHA; break; } } } } } return retval; } /*************************************************************************** * FillRectA * ***************************************************************************/ /* SDL_BlitSurface alpha blends, so an alpha rectangle first needs to become a surface with per-surface-alpha set and then blitted to the screen */ /* On exit: returns ROB_ERROR_NONE on success else any one of the error codes in ROB_engine.h */ int ROB_FillRectA(SDL_Surface *surface, SDL_Rect *dstrect, Uint32 colour, Uint8 alpha) { int retval = ROB_ERROR_NONE; /* Set the blend surface alpha */ if ((SDL_SetAlpha(rob_blend_screen, SDL_SRCALPHA, alpha)) < 0) { sprintf(rob_last_error, "%s: Cannot set surface alpha: %s", __func__, SDL_GetError()); retval = ROB_ERROR_CANNOT_SET_SURFACE_ALPHA; } if (!retval) { /* Fill rectangle */ if ((SDL_FillRect(rob_blend_screen, dstrect, colour)) < 0) { sprintf(rob_last_error, "%s: Cannot fill surface: %s", __func__, SDL_GetError()); retval = ROB_ERROR_CANNOT_FILL_SURFACE; } } if (!retval) { /* Blit surface */ if ((SDL_BlitSurface(rob_blend_screen, dstrect, surface, dstrect)) < 0) { sprintf(rob_last_error, "%s: Cannot blit surface: %s", __func__, SDL_GetError()); retval = ROB_ERROR_CANNOT_BLIT_SURFACE; } } return retval; } /*************************************************************************** * Get Canvas Offset * ***************************************************************************/ /* This gets an object's canvas offset. If a NULL pob is found then it will be interpreted as rob_lyr_canvas */ int ROB_GetCanvasOffset(ROB_Object *rob_object, int *cx, int *cy) { int retval = ROB_ERROR_NONE; if (rob_object == NULL || sizeof(*rob_object) != sizeof(ROB_Object)) { sprintf(rob_last_error, "%s: object is invalid", __func__); retval = ROB_ERROR_INVALID_OBJECT; } else { *cx = rob_object->x; *cy = rob_object->y; while (rob_object != rob_lyr_canvas && rob_object != rob_lyr_root) { if (rob_object->pob == NULL) { rob_object = rob_lyr_canvas; } else { rob_object = rob_object->pob; } *cx += rob_object->x; *cy += rob_object->y; } } return retval; } /*************************************************************************** * Get Visibility * ***************************************************************************/ /* This gets an object's visibility. If a NULL pob is found then it will be interpreted as rob_lyr_canvas */ /* On exit: returns TRUE or FALSE */ int ROB_GetVisibility(ROB_Object *rob_object) { if (rob_object == NULL || sizeof(*rob_object) != sizeof(ROB_Object)) { sprintf(rob_last_error, "%s: object is invalid", __func__); return TRUE; /* If NULL object this stops segfaults */ } else { #ifdef DEBUG_ROB_GET_VISIBILITY printf("\n%s: Visibility for object %i\n", __func__, rob_object->id); printf("%s: id=%i pob=%p visible=%i\n", __func__, rob_object->id, rob_object->pob, rob_object->visible); #endif while (rob_object->visible == ROB_INHERITED) { if (rob_object == rob_lyr_root || rob_object == rob_lyr_canvas) { break; } else { if (rob_object->pob == NULL) { rob_object = rob_lyr_canvas; } else { rob_object = rob_object->pob; } } #ifdef DEBUG_ROB_GET_VISIBILITY printf("%s: id=%i pob=%p visible=%i\n", __func__, rob_object->id, rob_object->pob, rob_object->visible); #endif } } /* Something valid must be returned and this may not be the case if the user has been fiddling with the system objects */ if (rob_object->visible < 0 || rob_object->visible > 1) { return TRUE; } else { return rob_object->visible; } } /*************************************************************************** * Get Enability * ***************************************************************************/ /* This gets an object's enability. If a NULL pob is found then it will be interpreted as rob_lyr_canvas */ /* On exit: returns TRUE or FALSE */ int ROB_GetEnability(ROB_Object *rob_object) { if (rob_object == NULL || sizeof(*rob_object) != sizeof(ROB_Object)) { sprintf(rob_last_error, "%s: object is invalid", __func__); return TRUE; /* If NULL object this stops segfaults */ } else { #ifdef DEBUG_ROB_GET_ENABILITY printf("\n%s: Enability for object %i\n", __func__, rob_object->id); printf("%s: id=%i pob=%p enabled=%i\n", __func__, rob_object->id, rob_object->pob, rob_object->enabled); #endif while (rob_object->enabled == ROB_INHERITED) { if (rob_object == rob_lyr_root || rob_object == rob_lyr_canvas) { break; } else { if (rob_object->pob == NULL) { rob_object = rob_lyr_canvas; } else { rob_object = rob_object->pob; } } #ifdef DEBUG_ROB_GET_ENABILITY printf("%s: id=%i pob=%p enabled=%i\n", __func__, rob_object->id, rob_object->pob, rob_object->enabled); #endif } } /* Something valid must be returned and this may not be the case if the user has been fiddling with the system objects */ if (rob_object->enabled < 0 || rob_object->enabled > 1) { return TRUE; } else { return rob_object->enabled; } } /*************************************************************************** * Get Alpha * ***************************************************************************/ /* This gets an object's alpha. If a NULL pob is found then it will be interpreted as rob_lyr_canvas */ /* On exit: returns 0 to 255 */ int ROB_GetAlpha(ROB_Object *rob_object) { if (rob_object == NULL || sizeof(*rob_object) != sizeof(ROB_Object)) { sprintf(rob_last_error, "%s: object is invalid", __func__); return SDL_ALPHA_OPAQUE; /* If NULL object this stops segfaults */ } else { while (rob_object->alpha == ROB_INHERITED) { if (rob_object == rob_lyr_root || rob_object == rob_lyr_canvas) { break; } else { if (rob_object->pob == NULL) { rob_object = rob_lyr_canvas; } else { rob_object = rob_object->pob; } } } } /* Something valid must be returned and this may not be the case if the user has been fiddling with the system objects */ if (rob_object->alpha < 0 || rob_object->alpha > SDL_ALPHA_OPAQUE) { return SDL_ALPHA_OPAQUE; } else { return rob_object->alpha; } } /*************************************************************************** * Get Object Under Object * ***************************************************************************/ /* On exit: returns a pointer to the visible object under object on success else NULL */ ROB_Object *ROB_GetObjectUnderObject(ROB_Object *rob_object, int hitpoint) { int count, cx, cy, cx2, cy2; if (rob_object == NULL || sizeof(*rob_object) != sizeof(ROB_Object)) { sprintf(rob_last_error, "%s: object is invalid", __func__); } else if (hitpoint != ROB_HIT_POINT_TOP_LEFT && hitpoint != ROB_HIT_POINT_CENTRE) { sprintf(rob_last_error, "%s: hitpoint is invalid", __func__); } else { /* Get hit point of source object */ ROB_GetCanvasOffset(rob_object, &cx, &cy); if (hitpoint == ROB_HIT_POINT_TOP_LEFT) { /* cx and cy are ok */ } else if (hitpoint == ROB_HIT_POINT_CENTRE) { cx += rob_object->w / 2; cy += rob_object->h / 2; } for (count = rob_object_count - 1; count >= 0; count--) { if (ROB_GetVisibility(rob_objects[count]) && count < rob_object->zorder) { ROB_GetCanvasOffset(rob_objects[count], &cx2, &cy2); if (cx >= cx2 && cx < cx2 + rob_objects[count]->w && cy >= cy2 && cy < cy2 + rob_objects[count]->h) { return rob_objects[count]; } } } } return NULL; } /*************************************************************************** * Find Ancestor * ***************************************************************************/ /* This traces back from (and including) an object looking for a particular ancestor. If a NULL pob is found then it will be interpreted as rob_lyr_canvas */ /* On exit: returns TRUE if found else FALSE */ int ROB_FindAncestor(ROB_Object *rob_object, ROB_Object *target) { if (rob_object == NULL || sizeof(*rob_object) != sizeof(ROB_Object)) { sprintf(rob_last_error, "%s: object is invalid", __func__); } else if (target == NULL || sizeof(*target) != sizeof(ROB_Object)) { sprintf(rob_last_error, "%s: target is invalid", __func__); } else { #ifdef DEBUG_ROB_FIND_ANCESTOR printf("\n%s: Looking for object %i's ancestor %i\n", __func__, rob_object->id, target->id); printf("%s: id=%i pob=%p\n", __func__, rob_object->id, rob_object->pob); #endif while (rob_object != target) { if (rob_object == rob_lyr_root || rob_object == rob_lyr_canvas) { return FALSE; } else { if (rob_object->pob == NULL) { rob_object = rob_lyr_canvas; } else { rob_object = rob_object->pob; } } #ifdef DEBUG_ROB_FIND_ANCESTOR printf("%s: id=%i pob=%p\n", __func__, rob_object->id, rob_object->pob); #endif } } return TRUE; } /*************************************************************************** * Generate Events * ***************************************************************************/ void ROB_GenerateEvents(int *actionid) { static int last_pointer_x = 0, last_pointer_y = 0; static int press_point_x = 0, press_point_y = 0; int mx, my, px, py, pxu = 0, pyu = 0; ROB_Object *new_oup, *pob; ROB_Event rob_event; if (rob_op_env.pointer_mode == ROB_POINTER_MODE_OFF) { rob_oup = rob_lyr_root; } else { /* Get or set the object currently under the pointer. If an object is currently being pressed and it's enabled and draggable then it is attached to the pointer */ if (rob_pressed_object != NULL && ROB_GetEnability(rob_pressed_object) && rob_pressed_object->draggable) { /* Force it as rob_oup to prevent dragging-off through latency */ rob_oup = rob_pressed_object; ROB_GetCanvasOffset(rob_oup->pob, &px, &py); /* Attach the object to the pointer */ ROB_GetCanvasOffset(rob_lyr_pointer, &mx, &my); rob_oup->x = mx - px - press_point_x; rob_oup->y = my - py - press_point_y; /* Adjust x/y for the granularity: n = n + (n % g) / (g / 2) * g - (n % g) */ if (rob_oup->drag_granularity > 1) { rob_oup->x += rob_oup->x % rob_oup->drag_granularity / (rob_oup->drag_granularity / 2) * rob_oup->drag_granularity - rob_oup->x % rob_oup->drag_granularity; rob_oup->y += rob_oup->y % rob_oup->drag_granularity / (rob_oup->drag_granularity / 2) * rob_oup->drag_granularity - rob_oup->y % rob_oup->drag_granularity; } /* Is dragging restricted in any way? */ if (rob_oup->draggable == ROB_DRAG_RESTRICT_TO_PARENT || rob_oup->draggable == ROB_DRAG_RESTRICT_TO_PARENT_ORIGIN) { pob = rob_oup->pob; if (rob_oup->draggable == ROB_DRAG_RESTRICT_TO_PARENT) { if (rob_oup->x + rob_oup->w > pob->w) rob_oup->x = pob->w - rob_oup->w; if (rob_oup->y + rob_oup->h > pob->h) rob_oup->y = pob->h - rob_oup->h; } if (rob_oup->x < 0) rob_oup->x = 0; if (rob_oup->y < 0) rob_oup->y = 0; } } else { new_oup = ROB_GetObjectUnderObject(rob_lyr_pointer, ROB_HIT_POINT_TOP_LEFT); /* rob_oup could be NULL here because it may have been a freed object but new_oup will most definitely contain at least a system object */ if (rob_oup != new_oup) { /* Send one out event if the object is not NULL and enabled */ if (rob_oup != NULL && ROB_GetEnability(rob_oup)) { rob_event.rob_object = rob_oup; rob_event.klasse = ROB_EVENT_OUT; ROB_SendEvent(&rob_event); } rob_oup = new_oup; /* Send one over event if the object is enabled */ if (ROB_GetEnability(rob_oup)) { rob_event.rob_object = rob_oup; rob_event.klasse = ROB_EVENT_OVER; ROB_SendEvent(&rob_event); } } ROB_GetCanvasOffset(rob_oup->pob, &px, &py); } /* Detect dragging of the pointer across enabled objects */ if (rob_pressed_object != NULL && rob_pressed_object == rob_oup && ROB_GetEnability(rob_oup)) { if (last_pointer_x != rob_lyr_pointer->x || last_pointer_y != rob_lyr_pointer->y) { rob_event.rob_object = rob_oup; rob_event.klasse = ROB_EVENT_DRAG; ROB_SendEvent(&rob_event); } } /* Record current pointer offsets for later comparison */ last_pointer_x = rob_lyr_pointer->x; last_pointer_y = rob_lyr_pointer->y; /* Process any reported action */ if (*actionid != ROB_UNDEFINED) { switch (*actionid) { case ACTION_UP: if (rob_op_env.pointer_mode == ROB_POINTER_MODE_SIMULATED) { pyu = -1; } break; case ACTION_UP_RIGHT: if (rob_op_env.pointer_mode == ROB_POINTER_MODE_SIMULATED) { pyu = -1; pxu = 1; } break; case ACTION_RIGHT: if (rob_op_env.pointer_mode == ROB_POINTER_MODE_SIMULATED) { pxu = 1; } break; case ACTION_DOWN_RIGHT: if (rob_op_env.pointer_mode == ROB_POINTER_MODE_SIMULATED) { pyu = 1; pxu = 1; } break; case ACTION_DOWN: if (rob_op_env.pointer_mode == ROB_POINTER_MODE_SIMULATED) { pyu = 1; } break; case ACTION_DOWN_LEFT: if (rob_op_env.pointer_mode == ROB_POINTER_MODE_SIMULATED) { pyu = 1; pxu = -1; } break; case ACTION_LEFT: if (rob_op_env.pointer_mode == ROB_POINTER_MODE_SIMULATED) { pxu = -1; } break; case ACTION_UP_LEFT: if (rob_op_env.pointer_mode == ROB_POINTER_MODE_SIMULATED) { pyu = -1; pxu = -1; } break; case ACTION_SELECT: if (rob_op_env.pointer_mode == ROB_POINTER_MODE_PHYSICAL) break; case ACTION_PRIMARY_CLICK: if (rob_pressed_object == NULL) { rob_pressed_object = rob_oup; /* Only generate events for enabled objects */ if (ROB_GetEnability(rob_oup)) { rob_event.rob_object = rob_oup; rob_event.klasse = ROB_EVENT_PRESS; ROB_SendEvent(&rob_event); rob_event.rob_object = rob_oup; rob_event.klasse = ROB_EVENT_SELECT; ROB_SendEvent(&rob_event); /* For draggable [enabled] objects, calculate the drag points */ if (rob_oup->draggable) { /* Get the current pointer coordinates */ ROB_GetCanvasOffset(rob_lyr_pointer, &mx, &my); if (rob_oup->drag_point == ROB_DRAG_POINT_ANYWHERE) { press_point_x = mx - px - rob_oup->x; press_point_y = my - py - rob_oup->y; } else if (rob_oup->drag_point == ROB_DRAG_POINT_MIDDLE) { press_point_x = rob_oup->w / 2; press_point_y = rob_oup->h / 2; } } } } else { /* Something is already being pressed */ /* Only generate events for enabled objects */ if (rob_pressed_object == rob_oup && ROB_GetEnability(rob_oup)) { rob_event.rob_object = rob_oup; rob_event.klasse = ROB_EVENT_SELECT; ROB_SendEvent(&rob_event); } } break; case ACTION_SELECT | 0x80: if (rob_op_env.pointer_mode == ROB_POINTER_MODE_PHYSICAL) break; case ACTION_PRIMARY_CLICK | 0x80: if (rob_pressed_object != NULL) { if (rob_pressed_object == rob_oup) { /* Only generate events for enabled objects */ if (ROB_GetEnability(rob_oup)) { rob_event.rob_object = rob_oup; rob_event.klasse = ROB_EVENT_CLICK; ROB_SendEvent(&rob_event); } } else { /* Only generate events for enabled objects */ if (ROB_GetEnability(rob_pressed_object)) { rob_event.rob_object = rob_oup; rob_event.klasse = ROB_EVENT_RELEASE; ROB_SendEvent(&rob_event); } } } rob_pressed_object = NULL; break; } /* Manage pointer input if required */ if (rob_op_env.pointer_mode == ROB_POINTER_MODE_SIMULATED) ROB_ManagePointerInput(pxu, pyu); } } } /*************************************************************************** * Manage Pointer Input * ***************************************************************************/ void ROB_ManagePointerInput(int pxu, int pyu) { static int lastpxu = 0, lastpyu = 0, unitcount = 0; int xmov, ymov; /* Is the x or y unit the same as last time? */ if ((pxu != 0 && pxu == lastpxu) || (pyu != 0 && pyu == lastpyu)) { unitcount++; /* If the count reaches a threshold then change gear */ if (unitcount < rob_op_env.pointer_move_unit_threshold) { xmov = pxu * rob_op_env.pointer_move_unit_low; ymov = pyu * rob_op_env.pointer_move_unit_low; } else { xmov = pxu * rob_op_env.pointer_move_unit_high; ymov = pyu * rob_op_env.pointer_move_unit_high; } } else { unitcount = 0; xmov = pxu * rob_op_env.pointer_move_unit_low; ymov = pyu * rob_op_env.pointer_move_unit_low; } lastpxu = pxu; lastpyu = pyu; /* Now move the pointer */ rob_lyr_pointer->x += xmov; rob_lyr_pointer->y += ymov; /* Keep it within the bounds of the screen */ if (rob_lyr_pointer->x < 0) { rob_lyr_pointer->x = 0; } else if (rob_lyr_pointer->x > screen->w - 1) { rob_lyr_pointer->x = screen->w - 1; } if (rob_lyr_pointer->y < 0) { rob_lyr_pointer->y = 0; } else if (rob_lyr_pointer->y > screen->h - 1) { rob_lyr_pointer->y = screen->h - 1; } } /*************************************************************************** * Send Event * ***************************************************************************/ /* On exit: returns ROB_ERROR_NONE on success else any one of the error codes in ROB_engine.h */ int ROB_SendEvent(ROB_Event *rob_event) { int retval = ROB_ERROR_NONE; if (rob_event == NULL || sizeof(*rob_event) != sizeof(ROB_Event)) { sprintf(rob_last_error, "%s: event is invalid", __func__); retval = ROB_ERROR_INVALID_EVENT; } else { #ifdef DEBUG_ROB_EVENTS ROB_ShowEvent(rob_event, __func__); #endif rob_op_env.event_processor(rob_event); } return retval; } /*************************************************************************** * Show Event * ***************************************************************************/ int ROB_ShowEvent(ROB_Event *rob_event, const char *func) { int retval = ROB_ERROR_NONE; if (rob_event == NULL || sizeof(*rob_event) != sizeof(ROB_Event)) { sprintf(rob_last_error, "%s: event is invalid", func); retval = ROB_ERROR_INVALID_EVENT; } else { printf("%i: ", cycle_count); switch (rob_event->klasse) { case ROB_EVENT_OVER: printf("%s: ROB_EVENT_OVER", func); break; case ROB_EVENT_OUT: printf("%s: ROB_EVENT_OUT", func); break; case ROB_EVENT_PRESS: printf("%s: ROB_EVENT_PRESS", func); break; case ROB_EVENT_CLICK: printf("%s: ROB_EVENT_CLICK", func); break; case ROB_EVENT_RELEASE: printf("%s: ROB_EVENT_RELEASE", func); break; case ROB_EVENT_DRAG: printf("%s: ROB_EVENT_DRAG", func); break; case ROB_EVENT_SELECT: printf("%s: ROB_EVENT_SELECT", func); break; default: printf("%s: Unknown", func); break; } printf(" object=%p id=%i x=%i y=%i w=%i h=%i\n", rob_event->rob_object, rob_event->rob_object->id, rob_event->rob_object->x, rob_event->rob_object->y, rob_event->rob_object->w, rob_event->rob_object->h); } return retval; } /*************************************************************************** * Set Operating Environment - System Pointer * ***************************************************************************/ /* On entry: systempointer is true or false */ /* On exit: returns ROB_ERROR_NONE on success else any one of the error codes in ROB_engine.h */ int ROB_SetOpEnvSystemPointer(int systempointer) { int retval = ROB_ERROR_NONE; #ifdef DEBUG_ROB_PROGRESS_DUMP printf("%s: systempointer=%i\n", __func__, systempointer); #endif /* Store new value(s) */ rob_op_env.systempointer = systempointer; SDL_ShowCursor(systempointer); return retval; } /*************************************************************************** * Set Operating Environment - Pointer * ***************************************************************************/ /* On entry: pointer's visibility is true or false pointer_mode is one of the modes as listed in ROB_engine.h */ /* On exit: returns ROB_ERROR_NONE on success else any one of the error codes in ROB_engine.h */ int ROB_SetOpEnvPointer(int pointer, int pointer_mode) { int retval = ROB_ERROR_NONE; #ifdef DEBUG_ROB_PROGRESS_DUMP char *pointer_modes[] = {"off", "physical", "simulated"}; #endif #ifdef DEBUG_ROB_PROGRESS_DUMP printf("%s: pointer=%i pointer_mode=%s\n", __func__, pointer, pointer_modes[pointer_mode]); #endif /* Store new value(s) */ rob_op_env.pointer = pointer; rob_op_env.pointer_mode = pointer_mode; if (rob_object_count > 0) rob_lyr_pointer->visible = pointer; return retval; } /*************************************************************************** * Set Operating Environment - Event Processor * ***************************************************************************/ /* On entry: event_processor is a pointer to a function that receives events */ /* On exit: returns ROB_ERROR_NONE on success else any one of the error codes in ROB_engine.h */ int ROB_SetOpEnvEventProcessor(void (*event_processor)(ROB_Event *rob_event)) { int retval = ROB_ERROR_NONE; #ifdef DEBUG_ROB_PROGRESS_DUMP printf("%s: %p\n", __func__, event_processor); #endif /* Store new value(s) */ rob_op_env.event_processor = event_processor; return retval; } gnurobbo-0.66+dfsg/font.c0000644000175000017500000007337411355415450014372 0ustar stevesteve#ifdef USE_PIXMAP_FONT /* GNU Robbo * Copyright (C) 2002-2010 The GNU Robbo Team (see AUTHORS). * * GNU Robbo is free software - you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2, or (at your option) * any later version. * * GNU Robbo is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the impled warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with GNU CC; see the file COPYING. If not, write to the * Free Software Foundation, 59 Temple Place - Suite 330, * Boston, MA 02111-1307, USA. * */ #include "game.h" /* Defines */ /* #define DEBUG_RECORD_FONT_DIMENSIONS */ #define FONT_WIDTH_MARKER_COLOUR 0x081828 /* 16 bit colours have a common granularity of 8 */ #define FONT_CHAR_COLOUR 0xf8e8d8 #define FONT_CHAR_COUNT 223 /* There's currently an extra slot at pixmap end */ #define FONT_UNSUPPORTED_CODE_POINT 95 #define FONT_CODE_POINT_C3_84 96 /* Ä */ #define FONT_CODE_POINT_C3_96 97 /* Ö */ #define FONT_CODE_POINT_C3_9C 98 /* Ü */ #define FONT_CODE_POINT_C3_9F 99 /* ß */ #define FONT_CODE_POINT_C3_A4 100 /* ä */ #define FONT_CODE_POINT_C3_B6 101 /* ö */ #define FONT_CODE_POINT_C3_BC 102 /* ü German <^ */ #define FONT_CODE_POINT_C4_84 103 /* Ą */ #define FONT_CODE_POINT_C4_86 104 /* Ć */ #define FONT_CODE_POINT_C4_98 105 /* Ę */ #define FONT_CODE_POINT_C5_81 106 /* Ł */ #define FONT_CODE_POINT_C5_83 107 /* Ń */ #define FONT_CODE_POINT_C3_93 108 /* Ó */ #define FONT_CODE_POINT_C5_9A 109 /* Ś */ #define FONT_CODE_POINT_C5_B9 110 /* Ź */ #define FONT_CODE_POINT_C5_BB 111 /* Ż */ #define FONT_CODE_POINT_C4_85 112 /* ą */ #define FONT_CODE_POINT_C4_87 113 /* ć */ #define FONT_CODE_POINT_C4_99 114 /* ę */ #define FONT_CODE_POINT_C5_82 115 /* ł */ #define FONT_CODE_POINT_C5_84 116 /* ń */ #define FONT_CODE_POINT_C3_B3 117 /* ó */ #define FONT_CODE_POINT_C5_9B 118 /* ś */ #define FONT_CODE_POINT_C5_BA 119 /* ź */ #define FONT_CODE_POINT_C5_BC 120 /* ż Polish <^ */ #define FONT_CODE_POINT_C3_81 121 /* Á */ #define FONT_CODE_POINT_C4_8C 122 /* Č */ #define FONT_CODE_POINT_C4_8E 123 /* Ď */ #define FONT_CODE_POINT_C3_89 124 /* É */ #define FONT_CODE_POINT_C3_8D 125 /* Í */ #define FONT_CODE_POINT_C4_B9 126 /* Ĺ */ #define FONT_CODE_POINT_C4_BD 127 /* Ľ */ #define FONT_CODE_POINT_C5_87 128 /* Ň */ #define FONT_CODE_POINT_C3_94 129 /* Ô */ #define FONT_CODE_POINT_C5_94 130 /* Ŕ */ #define FONT_CODE_POINT_C5_A0 131 /* Š */ #define FONT_CODE_POINT_C5_A4 132 /* Ť */ #define FONT_CODE_POINT_C3_9A 133 /* Ú */ #define FONT_CODE_POINT_C3_9D 134 /* Ý */ #define FONT_CODE_POINT_C5_BD 135 /* Ž */ #define FONT_CODE_POINT_C3_A1 136 /* á */ #define FONT_CODE_POINT_C4_8D 137 /* č */ #define FONT_CODE_POINT_C4_8F 138 /* ď */ #define FONT_CODE_POINT_C3_A9 139 /* é */ #define FONT_CODE_POINT_C3_AD 140 /* í */ #define FONT_CODE_POINT_C4_BA 141 /* ĺ */ #define FONT_CODE_POINT_C4_BE 142 /* ľ */ #define FONT_CODE_POINT_C5_88 143 /* ň */ #define FONT_CODE_POINT_C3_B4 144 /* ô */ #define FONT_CODE_POINT_C5_95 145 /* ŕ */ #define FONT_CODE_POINT_C5_A1 146 /* š */ #define FONT_CODE_POINT_C5_A5 147 /* ť */ #define FONT_CODE_POINT_C3_BA 148 /* ú */ #define FONT_CODE_POINT_C3_BD 149 /* ý */ #define FONT_CODE_POINT_C5_BE 150 /* ž Slovak <^ */ #define FONT_CODE_POINT_C3_85 151 /* Å */ #define FONT_CODE_POINT_C3_A5 152 /* å Swedish <^ */ #define FONT_CODE_POINT_D0_90 153 /* A */ #define FONT_CODE_POINT_D0_91 154 /* Б */ #define FONT_CODE_POINT_D0_92 155 /* В */ #define FONT_CODE_POINT_D0_93 156 /* Г */ #define FONT_CODE_POINT_D0_94 157 /* Д */ #define FONT_CODE_POINT_D0_95 158 /* Е */ #define FONT_CODE_POINT_D0_96 159 /* Ж */ #define FONT_CODE_POINT_D0_97 160 /* З */ #define FONT_CODE_POINT_D0_98 161 /* И */ #define FONT_CODE_POINT_D0_99 162 /* Й */ #define FONT_CODE_POINT_D0_9A 163 /* К */ #define FONT_CODE_POINT_D0_9B 164 /* Л */ #define FONT_CODE_POINT_D0_9C 165 /* М */ #define FONT_CODE_POINT_D0_9D 166 /* Н */ #define FONT_CODE_POINT_D0_9E 167 /* О */ #define FONT_CODE_POINT_D0_9F 168 /* П */ #define FONT_CODE_POINT_D0_A0 169 /* Р */ #define FONT_CODE_POINT_D0_A1 170 /* С */ #define FONT_CODE_POINT_D0_A2 171 /* Т */ #define FONT_CODE_POINT_D0_A3 172 /* У */ #define FONT_CODE_POINT_D0_A4 173 /* Ф */ #define FONT_CODE_POINT_D0_A5 174 /* Х */ #define FONT_CODE_POINT_D0_A6 175 /* Ц */ #define FONT_CODE_POINT_D0_A7 176 /* Ч */ #define FONT_CODE_POINT_D0_A8 177 /* Ш */ #define FONT_CODE_POINT_D0_A9 178 /* Щ */ #define FONT_CODE_POINT_D0_AA 179 /* Ъ */ #define FONT_CODE_POINT_D0_AB 180 /* Ы */ #define FONT_CODE_POINT_D0_AC 181 /* Ь */ #define FONT_CODE_POINT_D0_AD 182 /* Э */ #define FONT_CODE_POINT_D0_AE 183 /* Ю */ #define FONT_CODE_POINT_D0_AF 184 /* Я */ #define FONT_CODE_POINT_D0_B0 185 /* а */ #define FONT_CODE_POINT_D0_B1 186 /* б */ #define FONT_CODE_POINT_D0_B2 187 /* в */ #define FONT_CODE_POINT_D0_B3 188 /* г */ #define FONT_CODE_POINT_D0_B4 189 /* д */ #define FONT_CODE_POINT_D0_B5 190 /* е */ #define FONT_CODE_POINT_D0_B6 191 /* ж */ #define FONT_CODE_POINT_D0_B7 192 /* з */ #define FONT_CODE_POINT_D0_B8 193 /* и */ #define FONT_CODE_POINT_D0_B9 194 /* й */ #define FONT_CODE_POINT_D0_BA 195 /* к */ #define FONT_CODE_POINT_D0_BB 196 /* л */ #define FONT_CODE_POINT_D0_BC 197 /* м */ #define FONT_CODE_POINT_D0_BD 198 /* н */ #define FONT_CODE_POINT_D0_BE 199 /* о */ #define FONT_CODE_POINT_D0_BF 200 /* п */ #define FONT_CODE_POINT_D1_80 201 /* р */ #define FONT_CODE_POINT_D1_81 202 /* с */ #define FONT_CODE_POINT_D1_82 203 /* т */ #define FONT_CODE_POINT_D1_83 204 /* у */ #define FONT_CODE_POINT_D1_84 205 /* ф */ #define FONT_CODE_POINT_D1_85 206 /* х */ #define FONT_CODE_POINT_D1_86 207 /* ц */ #define FONT_CODE_POINT_D1_87 208 /* ч */ #define FONT_CODE_POINT_D1_88 209 /* ш */ #define FONT_CODE_POINT_D1_89 210 /* щ */ #define FONT_CODE_POINT_D1_8A 211 /* ъ */ #define FONT_CODE_POINT_D1_8B 212 /* ы */ #define FONT_CODE_POINT_D1_8C 213 /* ь */ #define FONT_CODE_POINT_D1_8D 214 /* э */ #define FONT_CODE_POINT_D1_8E 215 /* ю */ #define FONT_CODE_POINT_D1_8F 216 /* я */ #define FONT_CODE_POINT_D0_81 217 /* Ё */ #define FONT_CODE_POINT_D1_91 218 /* ё Russian <^ */ #define FONT_CODE_POINT_C4_9B 219 /* ě */ #define FONT_CODE_POINT_C5_99 220 /* ř */ #define FONT_CODE_POINT_C5_AF 221 /* ů Czech <^ */ /* Variables */ int char_dimensions[FONT_CHAR_COUNT][2]; /* Character in font, width marker x1 and width marker x2 */ /* Function prototypes */ SDL_Rect get_code_point_srcrect(SDL_Surface *font, const unsigned char *utf8); Uint32 get_pixel(SDL_Surface *surface, int x, int y); void set_pixel(SDL_Surface *surface, int x, int y, Uint32 pixel); /*************************************************************************** * TTF Init * ***************************************************************************/ int TTF_Init(void) { return FALSE; /* Hello, this is SDL_ttf and everything is fine, really ;) */ } /*************************************************************************** * TTF Quit * ***************************************************************************/ void TTF_Quit(void) { } /*************************************************************************** * TTF OpenFont * ***************************************************************************/ /* This function :- * Loads a pixmap font * Sets the transparent colour 0xff00ff * Converts the surface to the same format as the screen for fast blitting * Sets a default maximum width for each character * Records the variable widths of each character if width markers exist in row 0 */ SDL_Surface *TTF_OpenFont(const char *file, int ptsize) { SDL_Surface *unconverted, *converted; int count, cx, x12; /* Load the bitmap */ if ((unconverted = SDL_LoadBMP(file)) == NULL) { fprintf(stdout,"Cannot load bitmap: %s\n", file); return NULL; } /* Set the transparent colour */ if (SDL_SetColorKey(unconverted, SDL_SRCCOLORKEY, SDL_MapRGB(unconverted->format, 0xff, 0x00, 0xff)) < 0) { fprintf(stdout,"Cannot set surface colour key: %s\n", SDL_GetError()); return NULL; } /* Convert the loaded surface to the same pixel format as the screen for fast blitting */ converted = SDL_DisplayFormat(unconverted); SDL_FreeSurface(unconverted); if (converted == NULL) { fprintf(stdout, "Cannot create surface: %s\n", SDL_GetError()); return NULL; } /* Record the dimensions of each individual character within the font */ if (SDL_MUSTLOCK(converted)) SDL_LockSurface(converted); for (count = 0; count < FONT_CHAR_COUNT; count++) { /* Set default fixed width dimensions */ char_dimensions[count][0] = count * converted->w / FONT_CHAR_COUNT; char_dimensions[count][1] = (count + 1) * converted->w / FONT_CHAR_COUNT - 1; x12 = 0; /* If width markers exist then use those */ for (cx = char_dimensions[count][0]; cx <= char_dimensions[count][1]; cx++) { if (get_pixel(converted, cx, 0) == SDL_MapRGB(converted->format, FONT_WIDTH_MARKER_COLOUR >> 16 & 0xff, FONT_WIDTH_MARKER_COLOUR >> 8 & 0xff, FONT_WIDTH_MARKER_COLOUR & 0xff)) { if (x12 == 0) { char_dimensions[count][x12] = cx; /* Adjust to compensate for the x2 scaled-up font with double width markers */ if (video.field_size == 32) cx++; } else if (x12 == 1) { /* Adjust to compensate for the x2 scaled-up font with double width markers */ if (video.field_size == 32) cx++; char_dimensions[count][x12] = cx; } if (++x12 > 1) break; } } #ifdef DEBUG_RECORD_FONT_DIMENSIONS printf("char %i: %i -> %i\n", count, char_dimensions[count][0], char_dimensions[count][1]); #endif } if (SDL_MUSTLOCK(converted)) SDL_UnlockSurface(converted); return converted; } /*************************************************************************** * TTF CloseFont * ***************************************************************************/ void TTF_CloseFont(SDL_Surface *font) { if (font) SDL_FreeSurface(font); } /*************************************************************************** * TTF RenderUTF8 Shaded * ***************************************************************************/ /* This function renders UTF-8 text using a pixmap font and then fills the * text with the foreground colour. To achieve this it requires that the * pixmap font is drawn using FONT_CHAR_COLOUR and so this colour should not * be used as the background colour. I have chosen a unique enough colour not * to cause a problem */ SDL_Surface *TTF_RenderUTF8_Shaded(SDL_Surface *font, const char *text, SDL_Color fg, SDL_Color bg) { int code_point_size, text_offset, character_spacing = -video.field_size / 16; int rendered_text_width, rendered_text_height; SDL_Surface *rendered_text = NULL; const unsigned char *utf8 = text; SDL_Rect srcrect, destrect; int fillx, filly; /* First calculate dimensions of rendered text */ rendered_text_height = font->h - video.field_size / 16; rendered_text_width = text_offset = 0; while (*(utf8 + text_offset) != 0) { srcrect = get_code_point_srcrect(font, utf8 + text_offset); rendered_text_width += srcrect.w; rendered_text_width += character_spacing; /* Point to next code point being careful not to go past the terminating zero */ if (*(utf8 + text_offset) >= 0xc2 && *(utf8 + text_offset) <= 0xdf) { code_point_size = 2; } else if (*(utf8 + text_offset) >= 0xe0 && *(utf8 + text_offset) <= 0xef) { code_point_size = 3; } else if (*(utf8 + text_offset) >= 0xf0 && *(utf8 + text_offset) <= 0xf4) { code_point_size = 4; } else { code_point_size = 1; } while (code_point_size--) { text_offset++; if (*(utf8 + text_offset) == 0) { rendered_text_width -= character_spacing; /* We don't want character spacing adjustments after the last char */ break; } } } /* Create a surface for the rendered text */ if ((rendered_text = SDL_CreateRGBSurface(screen->flags, rendered_text_width, rendered_text_height, screen->format->BitsPerPixel, screen->format->Rmask, screen->format->Gmask, screen->format->Bmask, screen->format->Amask)) != NULL) { /* Fill it with the background colour */ SDL_FillRect(rendered_text, NULL, SDL_MapRGB(rendered_text->format, bg.r, bg.g, bg.b)); /* Render the text */ destrect.x = destrect.y = text_offset = 0; while (*(utf8 + text_offset) != 0) { srcrect = get_code_point_srcrect(font, utf8 + text_offset); destrect.w = srcrect.w; destrect.h = srcrect.h; SDL_BlitSurface(font, &srcrect, rendered_text, &destrect); destrect.x += destrect.w + character_spacing; /* Point to next code point being careful not to go past the terminating zero */ if (*(utf8 + text_offset) >= 0xc2 && *(utf8 + text_offset) <= 0xdf) { code_point_size = 2; } else if (*(utf8 + text_offset) >= 0xe0 && *(utf8 + text_offset) <= 0xef) { code_point_size = 3; } else if (*(utf8 + text_offset) >= 0xf0 && *(utf8 + text_offset) <= 0xf4) { code_point_size = 4; } else { code_point_size = 1; } while (code_point_size--) { text_offset++; if (*(utf8 + text_offset) == 0) break; } } /* Fill the text with the foreground colour */ if (SDL_MUSTLOCK(rendered_text)) SDL_LockSurface(rendered_text); for (filly = 0; filly < rendered_text->h; filly++) { for (fillx = 0; fillx < rendered_text->w; fillx++) { if (get_pixel(rendered_text, fillx, filly) == SDL_MapRGB(rendered_text->format, FONT_CHAR_COLOUR >> 16 & 0xff, FONT_CHAR_COLOUR >> 8 & 0xff, FONT_CHAR_COLOUR & 0xff)) { set_pixel(rendered_text, fillx, filly, SDL_MapRGB(rendered_text->format, fg.r, fg.g, fg.b)); } } } if (SDL_MUSTLOCK(rendered_text)) SDL_UnlockSurface(rendered_text); } else { fprintf(stdout,"Cannot create RGB surface: %s\n", SDL_GetError()); } return rendered_text; } /*************************************************************************** * Get Code Point SrcRect * ***************************************************************************/ /* This translates a UTF-8 code point into an SDL_Rect within the font */ SDL_Rect get_code_point_srcrect(SDL_Surface *font, const unsigned char *utf8) { SDL_Rect srcrect; int index = FONT_UNSUPPORTED_CODE_POINT; srcrect.y = video.field_size / 16; srcrect.h = font->h - video.field_size / 16; /* Translate the code point to a rectangle within the font surface */ if (*utf8 < 0x80) { /* < 0x80 is ASCII */ index = *utf8 - 0x20; } else if (*utf8 == 0xc3 && *(utf8 + 1) == 0x84) { /* Ä */ index = FONT_CODE_POINT_C3_84; } else if (*utf8 == 0xc3 && *(utf8 + 1) == 0x96) { /* Ö */ index = FONT_CODE_POINT_C3_96; } else if (*utf8 == 0xc3 && *(utf8 + 1) == 0x9c) { /* Ü */ index = FONT_CODE_POINT_C3_9C; } else if (*utf8 == 0xc3 && *(utf8 + 1) == 0x9f) { /* ß */ index = FONT_CODE_POINT_C3_9F; } else if (*utf8 == 0xc3 && *(utf8 + 1) == 0xa4) { /* ä */ index = FONT_CODE_POINT_C3_A4; } else if (*utf8 == 0xc3 && *(utf8 + 1) == 0xb6) { /* ö */ index = FONT_CODE_POINT_C3_B6; } else if (*utf8 == 0xc3 && *(utf8 + 1) == 0xbc) { /* ü */ index = FONT_CODE_POINT_C3_BC; } else if (*utf8 == 0xc4 && *(utf8 + 1) == 0x84) { /* Ą */ index = FONT_CODE_POINT_C4_84; } else if (*utf8 == 0xc4 && *(utf8 + 1) == 0x86) { /* Ć */ index = FONT_CODE_POINT_C4_86; } else if (*utf8 == 0xc4 && *(utf8 + 1) == 0x98) { /* Ę */ index = FONT_CODE_POINT_C4_98; } else if (*utf8 == 0xc5 && *(utf8 + 1) == 0x81) { /* Ł */ index = FONT_CODE_POINT_C5_81; } else if (*utf8 == 0xc5 && *(utf8 + 1) == 0x83) { /* Ń */ index = FONT_CODE_POINT_C5_83; } else if (*utf8 == 0xc3 && *(utf8 + 1) == 0x93) { /* Ó */ index = FONT_CODE_POINT_C3_93; } else if (*utf8 == 0xc5 && *(utf8 + 1) == 0x9a) { /* Ś */ index = FONT_CODE_POINT_C5_9A; } else if (*utf8 == 0xc5 && *(utf8 + 1) == 0xb9) { /* Ź */ index = FONT_CODE_POINT_C5_B9; } else if (*utf8 == 0xc5 && *(utf8 + 1) == 0xbb) { /* Ż */ index = FONT_CODE_POINT_C5_BB; } else if (*utf8 == 0xc4 && *(utf8 + 1) == 0x85) { /* ą */ index = FONT_CODE_POINT_C4_85; } else if (*utf8 == 0xc4 && *(utf8 + 1) == 0x87) { /* ć */ index = FONT_CODE_POINT_C4_87; } else if (*utf8 == 0xc4 && *(utf8 + 1) == 0x99) { /* ę */ index = FONT_CODE_POINT_C4_99; } else if (*utf8 == 0xc5 && *(utf8 + 1) == 0x82) { /* ł */ index = FONT_CODE_POINT_C5_82; } else if (*utf8 == 0xc5 && *(utf8 + 1) == 0x84) { /* ń */ index = FONT_CODE_POINT_C5_84; } else if (*utf8 == 0xc3 && *(utf8 + 1) == 0xb3) { /* ó */ index = FONT_CODE_POINT_C3_B3; } else if (*utf8 == 0xc5 && *(utf8 + 1) == 0x9b) { /* ś */ index = FONT_CODE_POINT_C5_9B; } else if (*utf8 == 0xc5 && *(utf8 + 1) == 0xba) { /* ź */ index = FONT_CODE_POINT_C5_BA; } else if (*utf8 == 0xc5 && *(utf8 + 1) == 0xbc) { /* ż */ index = FONT_CODE_POINT_C5_BC; } else if (*utf8 == 0xc3 && *(utf8 + 1) == 0x81) { /* Á */ index = FONT_CODE_POINT_C3_81; } else if (*utf8 == 0xc4 && *(utf8 + 1) == 0x8c) { /* Č */ index = FONT_CODE_POINT_C4_8C; } else if (*utf8 == 0xc4 && *(utf8 + 1) == 0x8e) { /* Ď */ index = FONT_CODE_POINT_C4_8E; } else if (*utf8 == 0xc3 && *(utf8 + 1) == 0x89) { /* É */ index = FONT_CODE_POINT_C3_89; } else if (*utf8 == 0xc3 && *(utf8 + 1) == 0x8d) { /* Í */ index = FONT_CODE_POINT_C3_8D; } else if (*utf8 == 0xc4 && *(utf8 + 1) == 0xb9) { /* Ĺ */ index = FONT_CODE_POINT_C4_B9; } else if (*utf8 == 0xc4 && *(utf8 + 1) == 0xbd) { /* Ľ */ index = FONT_CODE_POINT_C4_BD; } else if (*utf8 == 0xc5 && *(utf8 + 1) == 0x87) { /* Ň */ index = FONT_CODE_POINT_C5_87; } else if (*utf8 == 0xc3 && *(utf8 + 1) == 0x94) { /* Ô */ index = FONT_CODE_POINT_C3_94; } else if (*utf8 == 0xc5 && *(utf8 + 1) == 0x94) { /* Ŕ */ index = FONT_CODE_POINT_C5_94; } else if (*utf8 == 0xc5 && *(utf8 + 1) == 0xa0) { /* Š */ index = FONT_CODE_POINT_C5_A0; } else if (*utf8 == 0xc5 && *(utf8 + 1) == 0xa4) { /* Ť */ index = FONT_CODE_POINT_C5_A4; } else if (*utf8 == 0xc3 && *(utf8 + 1) == 0x9a) { /* Ú */ index = FONT_CODE_POINT_C3_9A; } else if (*utf8 == 0xc3 && *(utf8 + 1) == 0x9d) { /* Ý */ index = FONT_CODE_POINT_C3_9D; } else if (*utf8 == 0xc5 && *(utf8 + 1) == 0xbd) { /* Ž */ index = FONT_CODE_POINT_C5_BD; } else if (*utf8 == 0xc3 && *(utf8 + 1) == 0xa1) { /* á */ index = FONT_CODE_POINT_C3_A1; } else if (*utf8 == 0xc4 && *(utf8 + 1) == 0x8d) { /* č */ index = FONT_CODE_POINT_C4_8D; } else if (*utf8 == 0xc4 && *(utf8 + 1) == 0x8f) { /* ď */ index = FONT_CODE_POINT_C4_8F; } else if (*utf8 == 0xc3 && *(utf8 + 1) == 0xa9) { /* é */ index = FONT_CODE_POINT_C3_A9; } else if (*utf8 == 0xc3 && *(utf8 + 1) == 0xad) { /* í */ index = FONT_CODE_POINT_C3_AD; } else if (*utf8 == 0xc4 && *(utf8 + 1) == 0xba) { /* ĺ */ index = FONT_CODE_POINT_C4_BA; } else if (*utf8 == 0xc4 && *(utf8 + 1) == 0xbe) { /* ľ */ index = FONT_CODE_POINT_C4_BE; } else if (*utf8 == 0xc5 && *(utf8 + 1) == 0x88) { /* ň */ index = FONT_CODE_POINT_C5_88; } else if (*utf8 == 0xc3 && *(utf8 + 1) == 0xb4) { /* ô */ index = FONT_CODE_POINT_C3_B4; } else if (*utf8 == 0xc5 && *(utf8 + 1) == 0x95) { /* ŕ */ index = FONT_CODE_POINT_C5_95; } else if (*utf8 == 0xc5 && *(utf8 + 1) == 0xa1) { /* š */ index = FONT_CODE_POINT_C5_A1; } else if (*utf8 == 0xc5 && *(utf8 + 1) == 0xa5) { /* ť */ index = FONT_CODE_POINT_C5_A5; } else if (*utf8 == 0xc3 && *(utf8 + 1) == 0xba) { /* ú */ index = FONT_CODE_POINT_C3_BA; } else if (*utf8 == 0xc3 && *(utf8 + 1) == 0xbd) { /* ý */ index = FONT_CODE_POINT_C3_BD; } else if (*utf8 == 0xc5 && *(utf8 + 1) == 0xbe) { /* ž */ index = FONT_CODE_POINT_C5_BE; } else if (*utf8 == 0xc3 && *(utf8 + 1) == 0x85) { /* Å */ index = FONT_CODE_POINT_C3_85; } else if (*utf8 == 0xc3 && *(utf8 + 1) == 0xa5) { /* å */ index = FONT_CODE_POINT_C3_A5; } else if (*utf8 == 0xd0 && *(utf8 + 1) == 0x90) { /* A */ index = FONT_CODE_POINT_D0_90; } else if (*utf8 == 0xd0 && *(utf8 + 1) == 0x91) { /* Б */ index = FONT_CODE_POINT_D0_91; } else if (*utf8 == 0xd0 && *(utf8 + 1) == 0x92) { /* В */ index = FONT_CODE_POINT_D0_92; } else if (*utf8 == 0xd0 && *(utf8 + 1) == 0x93) { /* Г */ index = FONT_CODE_POINT_D0_93; } else if (*utf8 == 0xd0 && *(utf8 + 1) == 0x94) { /* Д */ index = FONT_CODE_POINT_D0_94; } else if (*utf8 == 0xd0 && *(utf8 + 1) == 0x95) { /* Е */ index = FONT_CODE_POINT_D0_95; } else if (*utf8 == 0xd0 && *(utf8 + 1) == 0x96) { /* Ж */ index = FONT_CODE_POINT_D0_96; } else if (*utf8 == 0xd0 && *(utf8 + 1) == 0x97) { /* З */ index = FONT_CODE_POINT_D0_97; } else if (*utf8 == 0xd0 && *(utf8 + 1) == 0x98) { /* И */ index = FONT_CODE_POINT_D0_98; } else if (*utf8 == 0xd0 && *(utf8 + 1) == 0x99) { /* Й */ index = FONT_CODE_POINT_D0_99; } else if (*utf8 == 0xd0 && *(utf8 + 1) == 0x9a) { /* К */ index = FONT_CODE_POINT_D0_9A; } else if (*utf8 == 0xd0 && *(utf8 + 1) == 0x9b) { /* Л */ index = FONT_CODE_POINT_D0_9B; } else if (*utf8 == 0xd0 && *(utf8 + 1) == 0x9c) { /* М */ index = FONT_CODE_POINT_D0_9C; } else if (*utf8 == 0xd0 && *(utf8 + 1) == 0x9d) { /* Н */ index = FONT_CODE_POINT_D0_9D; } else if (*utf8 == 0xd0 && *(utf8 + 1) == 0x9e) { /* О */ index = FONT_CODE_POINT_D0_9E; } else if (*utf8 == 0xd0 && *(utf8 + 1) == 0x9f) { /* П */ index = FONT_CODE_POINT_D0_9F; } else if (*utf8 == 0xd0 && *(utf8 + 1) == 0xa0) { /* Р */ index = FONT_CODE_POINT_D0_A0; } else if (*utf8 == 0xd0 && *(utf8 + 1) == 0xa1) { /* С */ index = FONT_CODE_POINT_D0_A1; } else if (*utf8 == 0xd0 && *(utf8 + 1) == 0xa2) { /* Т */ index = FONT_CODE_POINT_D0_A2; } else if (*utf8 == 0xd0 && *(utf8 + 1) == 0xa3) { /* У */ index = FONT_CODE_POINT_D0_A3; } else if (*utf8 == 0xd0 && *(utf8 + 1) == 0xa4) { /* Ф */ index = FONT_CODE_POINT_D0_A4; } else if (*utf8 == 0xd0 && *(utf8 + 1) == 0xa5) { /* Х */ index = FONT_CODE_POINT_D0_A5; } else if (*utf8 == 0xd0 && *(utf8 + 1) == 0xa6) { /* Ц */ index = FONT_CODE_POINT_D0_A6; } else if (*utf8 == 0xd0 && *(utf8 + 1) == 0xa7) { /* Ч */ index = FONT_CODE_POINT_D0_A7; } else if (*utf8 == 0xd0 && *(utf8 + 1) == 0xa8) { /* Ш */ index = FONT_CODE_POINT_D0_A8; } else if (*utf8 == 0xd0 && *(utf8 + 1) == 0xa9) { /* Щ */ index = FONT_CODE_POINT_D0_A9; } else if (*utf8 == 0xd0 && *(utf8 + 1) == 0xaa) { /* Ъ */ index = FONT_CODE_POINT_D0_AA; } else if (*utf8 == 0xd0 && *(utf8 + 1) == 0xab) { /* Ы */ index = FONT_CODE_POINT_D0_AB; } else if (*utf8 == 0xd0 && *(utf8 + 1) == 0xac) { /* Ь */ index = FONT_CODE_POINT_D0_AC; } else if (*utf8 == 0xd0 && *(utf8 + 1) == 0xad) { /* Э */ index = FONT_CODE_POINT_D0_AD; } else if (*utf8 == 0xd0 && *(utf8 + 1) == 0xae) { /* Ю */ index = FONT_CODE_POINT_D0_AE; } else if (*utf8 == 0xd0 && *(utf8 + 1) == 0xaf) { /* Я */ index = FONT_CODE_POINT_D0_AF; } else if (*utf8 == 0xd0 && *(utf8 + 1) == 0xb0) { /* а */ index = FONT_CODE_POINT_D0_B0; } else if (*utf8 == 0xd0 && *(utf8 + 1) == 0xb1) { /* б */ index = FONT_CODE_POINT_D0_B1; } else if (*utf8 == 0xd0 && *(utf8 + 1) == 0xb2) { /* в */ index = FONT_CODE_POINT_D0_B2; } else if (*utf8 == 0xd0 && *(utf8 + 1) == 0xb3) { /* г */ index = FONT_CODE_POINT_D0_B3; } else if (*utf8 == 0xd0 && *(utf8 + 1) == 0xb4) { /* д */ index = FONT_CODE_POINT_D0_B4; } else if (*utf8 == 0xd0 && *(utf8 + 1) == 0xb5) { /* е */ index = FONT_CODE_POINT_D0_B5; } else if (*utf8 == 0xd0 && *(utf8 + 1) == 0xb6) { /* ж */ index = FONT_CODE_POINT_D0_B6; } else if (*utf8 == 0xd0 && *(utf8 + 1) == 0xb7) { /* з */ index = FONT_CODE_POINT_D0_B7; } else if (*utf8 == 0xd0 && *(utf8 + 1) == 0xb8) { /* и */ index = FONT_CODE_POINT_D0_B8; } else if (*utf8 == 0xd0 && *(utf8 + 1) == 0xb9) { /* й */ index = FONT_CODE_POINT_D0_B9; } else if (*utf8 == 0xd0 && *(utf8 + 1) == 0xba) { /* к */ index = FONT_CODE_POINT_D0_BA; } else if (*utf8 == 0xd0 && *(utf8 + 1) == 0xbb) { /* л */ index = FONT_CODE_POINT_D0_BB; } else if (*utf8 == 0xd0 && *(utf8 + 1) == 0xbc) { /* м */ index = FONT_CODE_POINT_D0_BC; } else if (*utf8 == 0xd0 && *(utf8 + 1) == 0xbd) { /* н */ index = FONT_CODE_POINT_D0_BD; } else if (*utf8 == 0xd0 && *(utf8 + 1) == 0xbe) { /* о */ index = FONT_CODE_POINT_D0_BE; } else if (*utf8 == 0xd0 && *(utf8 + 1) == 0xbf) { /* п */ index = FONT_CODE_POINT_D0_BF; } else if (*utf8 == 0xd1 && *(utf8 + 1) == 0x80) { /* р */ index = FONT_CODE_POINT_D1_80; } else if (*utf8 == 0xd1 && *(utf8 + 1) == 0x81) { /* с */ index = FONT_CODE_POINT_D1_81; } else if (*utf8 == 0xd1 && *(utf8 + 1) == 0x82) { /* т */ index = FONT_CODE_POINT_D1_82; } else if (*utf8 == 0xd1 && *(utf8 + 1) == 0x83) { /* у */ index = FONT_CODE_POINT_D1_83; } else if (*utf8 == 0xd1 && *(utf8 + 1) == 0x84) { /* ф */ index = FONT_CODE_POINT_D1_84; } else if (*utf8 == 0xd1 && *(utf8 + 1) == 0x85) { /* х */ index = FONT_CODE_POINT_D1_85; } else if (*utf8 == 0xd1 && *(utf8 + 1) == 0x86) { /* ц */ index = FONT_CODE_POINT_D1_86; } else if (*utf8 == 0xd1 && *(utf8 + 1) == 0x87) { /* ч */ index = FONT_CODE_POINT_D1_87; } else if (*utf8 == 0xd1 && *(utf8 + 1) == 0x88) { /* ш */ index = FONT_CODE_POINT_D1_88; } else if (*utf8 == 0xd1 && *(utf8 + 1) == 0x89) { /* щ */ index = FONT_CODE_POINT_D1_89; } else if (*utf8 == 0xd1 && *(utf8 + 1) == 0x8a) { /* ъ */ index = FONT_CODE_POINT_D1_8A; } else if (*utf8 == 0xd1 && *(utf8 + 1) == 0x8b) { /* ы */ index = FONT_CODE_POINT_D1_8B; } else if (*utf8 == 0xd1 && *(utf8 + 1) == 0x8c) { /* ь */ index = FONT_CODE_POINT_D1_8C; } else if (*utf8 == 0xd1 && *(utf8 + 1) == 0x8d) { /* э */ index = FONT_CODE_POINT_D1_8D; } else if (*utf8 == 0xd1 && *(utf8 + 1) == 0x8e) { /* ю */ index = FONT_CODE_POINT_D1_8E; } else if (*utf8 == 0xd1 && *(utf8 + 1) == 0x8f) { /* я */ index = FONT_CODE_POINT_D1_8F; } else if (*utf8 == 0xd0 && *(utf8 + 1) == 0x81) { /* Ё */ index = FONT_CODE_POINT_D0_81; } else if (*utf8 == 0xd1 && *(utf8 + 1) == 0x91) { /* ё */ index = FONT_CODE_POINT_D1_91; } else if (*utf8 == 0xc4 && *(utf8 + 1) == 0x9b) { /* ě */ index = FONT_CODE_POINT_C4_9B; } else if (*utf8 == 0xc5 && *(utf8 + 1) == 0x99) { /* ř */ index = FONT_CODE_POINT_C5_99; } else if (*utf8 == 0xc5 && *(utf8 + 1) == 0xaf) { /* ů */ index = FONT_CODE_POINT_C5_AF; } else { /* Unsupported code point */ index = FONT_UNSUPPORTED_CODE_POINT; } srcrect.x = char_dimensions[index][0]; srcrect.w = char_dimensions[index][1] - srcrect.x + 1; return srcrect; } /*************************************************************************** * Get Pixel * ***************************************************************************/ /* This function is based upon getpixel() from the SDL documentation. * If surfaces must be locked/unlocked then the caller is responsible for this. * * On exit: returns a value which can be converted to RGB using SDL_GetRGB() */ Uint32 get_pixel(SDL_Surface *surface, int x, int y) { Uint32 retpixel; int bpp; Uint8 *offset; bpp = surface->format->BytesPerPixel; offset = (Uint8*)surface->pixels + y * surface->pitch + x * bpp; if (bpp == 1) { retpixel = *offset; } else if (bpp == 2) { retpixel = *(Uint16*)offset; } else if (bpp == 3) { if (SDL_BYTEORDER == SDL_BIG_ENDIAN) { retpixel = offset[0] << 16 | offset[1] << 8 | offset[2]; } else { retpixel = offset[0] | offset[1] << 8 | offset[2] << 16; } } else if (bpp == 4) { retpixel = *(Uint32*)offset; } else { retpixel = 0; } return retpixel; } /*************************************************************************** * Set Pixel * ***************************************************************************/ /* This function is based upon putpixel() from the SDL documentation. * If surfaces must be locked/unlocked then the caller is responsible for this. * * The pixel being put should be mapped to the surface format first using SDL_MapRGB() */ void set_pixel(SDL_Surface *surface, int x, int y, Uint32 pixel) { int bpp; Uint8 *offset; bpp = surface->format->BytesPerPixel; offset = (Uint8 *)surface->pixels + y * surface->pitch + x * bpp; switch (bpp) { case 1: *offset = pixel; break; case 2: *(Uint16 *)offset = pixel; break; case 3: if (SDL_BYTEORDER == SDL_BIG_ENDIAN) { offset[0] = (pixel >> 16) & 0xff; offset[1] = (pixel >> 8) & 0xff; offset[2] = pixel & 0xff; } else { offset[0] = pixel & 0xff; offset[1] = (pixel >> 8) & 0xff; offset[2] = (pixel >> 16) & 0xff; } break; case 4: *(Uint32 *)offset = pixel; break; } } #endif /* USE_PIXMAP_FONT */ gnurobbo-0.66+dfsg/COPYING0000644000175000017500000004307611113570267014307 0ustar stevesteve GNU GENERAL PUBLIC LICENSE Version 2, June 1991 Copyright (C) 1989, 1991 Free Software Foundation, Inc. 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. Preamble The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This General Public License applies to most of the Free Software Foundation's software and to any other program whose authors commit to using it. (Some other Free Software Foundation software is covered by the GNU Library General Public License instead.) You can apply it to your programs, too. When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things. To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it. For example, if you distribute copies of such a program, whether gratis or for a fee, you must give the recipients all the rights that you have. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights. We protect your rights with two steps: (1) copyright the software, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the software. Also, for each author's protection and ours, we want to make certain that everyone understands that there is no warranty for this free software. If the software is modified by someone else and passed on, we want its recipients to know that what they have is not the original, so that any problems introduced by others will not reflect on the original authors' reputations. Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that redistributors of a free program will individually obtain patent licenses, in effect making the program proprietary. To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all. The precise terms and conditions for copying, distribution and modification follow. GNU GENERAL PUBLIC LICENSE TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 0. This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License. The "Program", below, refers to any such program or work, and a "work based on the Program" means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language. (Hereinafter, translation is included without limitation in the term "modification".) Each licensee is addressed as "you". Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does. 1. You may copy and distribute verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and give any other recipients of the Program a copy of this License along with the Program. You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee. 2. You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions: a) You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change. b) You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License. c) If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the most ordinary way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this License. (Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.) These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it. Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program. In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License. 3. You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following: a) Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, b) Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, c) Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.) The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable. If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code. 4. You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance. 5. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Program or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it. 6. Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License. 7. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all. For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program. If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply and the section as a whole is intended to apply in other circumstances. It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system, which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice. This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License. 8. If the distribution and/or use of the Program is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Program under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License. 9. The Free Software Foundation may publish revised and/or new versions of the General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Program specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation. 10. If you wish to incorporate parts of the Program into other free programs whose distribution conditions are different, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally. NO WARRANTY 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. END OF TERMS AND CONDITIONS How to Apply These Terms to Your New Programs If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms. To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. Copyright (C) This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA Also add information on how to contact you by electronic and paper mail. If the program is interactive, make it output a short notice like this when it starts in an interactive mode: Gnomovision version 69, Copyright (C) year name of author Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, the commands you use may be called something other than `show w' and `show c'; they could even be mouse-clicks or menu items--whatever suits your program. You should also get your employer (if you work as a programmer) or your school, if any, to sign a "copyright disclaimer" for the program, if necessary. Here is a sample; alter the names: Yoyodyne, Inc., hereby disclaims all copyright interest in the program `Gnomovision' (which makes passes at compilers) written by James Hacker. , 1 April 1989 Ty Coon, President of Vice This General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Library General Public License instead of this License. gnurobbo-0.66+dfsg/README.zaurus0000644000175000017500000000370211313471771015456 0ustar stevesteveGame help and default keys for this device are explained in-game. Pointer Support =============== To enable playing GNU Robbo on devices with limited input facilities, the game can be controlled entirely by using a pointing device such as a stylus. By default the menu items throughout the game can be clicked, and to activate the in-game control pad and toolbar you should simply click anywhere on the screen. To shoot use either of these methods :- * Drag from Robbo to a direction to shoot once and remain in walk mode. * Click Robbo to toggle shoot mode on, press a direction to shoot one or more bullets and then click Robbo again to toggle shoot mode off. Save Frequency < { On Exit | On Change } > ========================================== In Options you can choose to save the rcfile .gnurobborc whenever important settings are changed. You may experience a slight delay whilst the data is being saved and synced (depending on platform, backup media type, CPU underclocking etc.) but if you are running GNU Robbo on a battery powered or generally unstable device then you won't lose your level progress or your modified settings. Video Mode Selection ==================== Depending on platform, video mode initialisation works thus :- * A user requested video mode via the commandline is attempted * If that fails then the default hi-res 640x480 mode is attempted * If that fails then the default lo-res 320x240 mode is attempted * If that fails then the program quits If you are using a device with a portrait orientated screen or you prefer this orientation then you should pass it via the commandline :- e.g. ./gnurobbo -600x800 e.g. ./gnurobbo -480x640 e.g. ./gnurobbo -240x320 Additionally you can pass the -vpx option to expand the viewport to fill the screen vertically by 40%. See Command Line Options below. Following is the desktop Linux README which you may find interesting. ----------------------------------------------------------------------- gnurobbo-0.66+dfsg/skins.h0000644000175000017500000000604111320502537014536 0ustar stevesteve/* GNU Robbo * Copyright (C) 2002-2010 The GNU Robbo Team (see AUTHORS). * * GNU Robbo is free software - you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2, or (at your option) * any later version. * * GNU Robbo is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the impled warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with GNU CC; see the file COPYING. If not, write to the * Free Software Foundation, 59 Temple Place - Suite 330, * Boston, MA 02111-1307, USA. * */ /* Defines */ #define MAX_SKINS 10 #define DEFAULT_SKIN "tronic" #define FONTSIZE16 10 #define FONTSIZE32 20 /* Default colours used throughout */ #define BACKGROUND_COLOUR 0x000000 #define VERSION_TEXT_COLOUR 0xFF8000 #define GENERAL_TEXT_COLOUR 0xFFFFFF #define MENU_TEXT_COLOUR 0xFFFFFF #define MENU_SELECTED_TEXT_COLOUR 0x639ACE #define MENU_SELECTED_LIMIT_TEXT_COLOUR 0xFF0000 #define MENU_GREYED_TEXT_COLOUR 0x909090 #define DEFAULT_CONTROLS_TEXT_COLOUR 0xFF0000 #define CREDITS_TEXT_COLOUR 0xFF8000 #define HELP_TILE_COLOUR 0x709070 #define FADE_COLOUR 0x000000 #define AUTHOR_TEXT_COLOUR 0xFFFFFF #define DESIGNER_TEXT_COLOUR 0xFFFF00 #define DESIGNER_GAMEOBJ_TILE_COLOUR 0x0000F0 #define DESIGNER_OBJS_TILE_COLOUR 0x6F006F #define DESIGNER_OBJV_TILE_COLOUR 0x202020 /* Variables */ SDL_Surface *wm_icon; SDL_Surface *icons; SDL_Surface *ciphers; SDL_Surface *alpha; SDL_Surface *bgrnd; TTF_Font *font; SDL_Rect robbo_images_srcrect[8]; SDL_Rect score_images_srcrect[10]; SDL_Rect score_screw_srcrect; SDL_Rect score_key_srcrect; SDL_Rect score_bullet_srcrect; SDL_Rect score_level_srcrect; struct skin { char foldername[100]; /* e.g. tronic */ char name[60]; /* e.g. Tronic */ char author[60]; char about[3][60]; /* Up to 3 lines of text */ char soundskin[60]; /* file name of the sound skin */ Uint32 background_colour; Uint32 version_text_colour; Uint32 general_text_colour; Uint32 menu_text_colour; Uint32 menu_selected_text_colour; Uint32 menu_selected_limit_text_colour; Uint32 menu_greyed_text_colour; Uint32 default_controls_text_colour; Uint32 credits_text_colour; Uint32 help_tile_colour; Uint32 fade_colour; Uint32 author_text_colour; Uint32 designer_text_colour; Uint32 designer_GAMEOBJ_tile_colour; Uint32 designer_OBJS_tile_colour; Uint32 designer_OBJV_tile_colour; }; struct skin skins[MAX_SKINS]; int skin_count; /* How many skins are in the list */ int selected_skin; /* Which skin in the list is currently selected */ int temp_selected_skin; /* Function prototypes */ int find_all_skins (void); void read_skinrc_files (void); void sort_skins (void); int read_skin_level_colour_override (void); void load_selected_skin (void); void set_wm_icon (void); SDL_Surface *create_skin_preview (void); void load_TTF_font (void); gnurobbo-0.66+dfsg/game.c0000644000175000017500000032264411440216355014330 0ustar stevesteve/* GNU Robbo * Copyright (C) 2002-2010 The GNU Robbo Team (see AUTHORS). * * GNU Robbo is free software - you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2, or (at your option) * any later version. * * GNU Robbo is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the impled warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with GNU CC; see the file COPYING. If not, write to the * Free Software Foundation, 59 Temple Place - Suite 330, * Boston, MA 02111-1307, USA. * */ #include #include "game.h" #ifdef PLATFORM_PSP #include #include PSP_HEAP_SIZE_KB (8 * 1024); PSP_MAIN_THREAD_ATTR (0); PSP_MAIN_THREAD_STACK_SIZE_KB (2 * 1024); #endif /* Defines */ /* #define DEBUG_MAIN #define DEBUG_DEMO_MODE #define DEBUG_DUMP_VM_USAGE */ #define MESSAGE_BOX_GETKEY_ID "getkey" #define MESSAGE_BOX_GETKEY_ERROR_ID "getkeyerror" #define MESSAGE_BOX_SAVING_ID "saving" #define MESSAGE_BOX_RESTORE_ID "restore" #define DELAY_MESSAGE_BOX_GETKEY (5 * game_cycle_limit) /* ms */ #define DELAY_MESSAGE_BOX_GETKEY_ERROR (1.5 * game_cycle_limit) /* ms */ #define DELAY_MESSAGE_BOX_SAVING (1.5 * game_cycle_limit) /* ms */ #define DELAY_MESSAGE_BOX_RESTORE (1.5 * game_cycle_limit) /* ms */ #define DELAY_DEMO (8 * game_cycle_limit) /* ms */ #define DEMO_MODE_LENGTH 128 #define DEMO_MODE_DEMO_COUNT 13 /* Equal to number of demos + 1 */ #define DEMO_MODE_RECORD_SLOT DEMO_MODE_DEMO_COUNT - 1 /* Variables */ SDL_TimerID game_timer_id; /* For timing */ int game_next_cycle; /* A flag which will be set to TRUE by the timer */ int quit_game = 0; /* Exits the main loop when TRUE */ unsigned int next_rand; /* seed for random function */ int calling_game_mode; /* So we don't lose the calling state */ int getkey_timeout = 0; /* For [re]assigning controls */ int getkey_count = 0; /* For [re]assigning controls */ int getkey_state = SDL_RELEASED; /* For [re]assigning controls */ int gua_device; /* Used when getting actions */ int gua_id; /* Used when getting actions */ int gua_state; /* Used when getting actions */ /* Function prototypes */ Uint32 game_timer (Uint32 interval, void *param); void clean_up_before_exit (void); void manage_intro_screen_select (int menuitemid); void manage_intro_screen_decrement (int menuitemid); void manage_intro_screen_increment (int menuitemid); void manage_help_select (int selecteditem); void manage_options_select (int optionid); void manage_options_first (int optionid); void manage_options_last (int optionid); void manage_options_decrement (int optionid); void manage_options_increment (int optionid); #ifdef PLATFORM_PSP static int setup_callbacks (); #endif /***************************************************/ /* Random number choosing **************************/ /***************************************************/ int my_rand (void) { next_rand = next_rand * 103515245 + 12345; return (next_rand >> 7); } /***************************************************/ /*** Random generator init :) **********************/ /***************************************************/ void my_srand (unsigned int seed) { next_rand += seed; } /*************************************************************************** * Main * ***************************************************************************/ /* Main loop */ #ifdef __cplusplus extern "C" #endif int main (int argc, char *argv[]) { int count, result, actionid; #ifdef DEBUG_SOUND2 int scnt; #endif #ifdef DEBUG_DUMP_VM_USAGE char vmusage[80]; #endif MSG_Box temp_msg_box; time_t t; #ifdef DEBUG_MAIN printf ("*** Start %s ***\n", __func__); printf ("size of int: %i\n", sizeof (int)); printf ("SDL_PRESSED=%i\n", SDL_PRESSED); printf ("SDL_RELEASED=%i\n", SDL_RELEASED); printf ("*** Stop %s ***\n", __func__); #endif wm_icon = NULL; /* This is no longer loaded with the skin */ /* It is important that these surfaces are initialised to NULL here * because load_selected_skin will free them before loading another * skin if they are not NULL, and clean_up_before_exit will free them * if they are not NULL before returning to the OS */ icons = NULL; ciphers = NULL; alpha = NULL; bgrnd = NULL; k_icons = NULL; font = NULL; #ifdef PLATFORM_PSP /* Set up PSP exit and power callbacks */ setup_callbacks (); #endif /* Set some defaults */ time (&t); my_srand (t); /* random generator init */ /* Initialise game properties */ game_mode = INTRO_SCREEN; game_cycle_delay = 10; game_cycle_limit = DEFAULT_GAME_CYCLE_LIMIT; game_next_cycle = TRUE; game_timer_id = NULL; cycle_count = 0; restart_timeout = -1; /* Initialise menu properties */ introscreenselecteditem = 0; helppage = 0; helppageselecteditem = 1; optionspage = 0; for (count = 0; count < OPTIONS_SCREEN_PAGES; count++) optionspageselecteditem[count] = 0; /* Initialise control properties */ key_repeat_delay = DEFAULT_KEY_REPEAT_DELAY; key_repeat_interval = DEFAULT_KEY_REPEAT_INTERVAL; default_joystick = UNDEFINED; strcpy (default_joystick_name, "-1"); joystick_dead_zone = JOYSTICK_DEAD_ZONE; pointer_controls.state = POINTER_CONTROLS_MODE_OFF; pointer_controls.shoot_state = POINTER_CONTROLS_SHOOT_OFF; pointer_controls.pad_type = POINTER_CONTROLS_PAD_TYPE_VIEWPORT; /* POINTER_CONTROLS_PAD_TYPE_SCREEN; */ #if defined(PLATFORM_WIN32) || defined(PLATFORM_PC) gnurobbo_op_env.systempointer = TRUE; #elif defined(PLATFORM_GP2X) gnurobbo_op_env.systempointer = FALSE; #elif defined(PLATFORM_ZAURUS) gnurobbo_op_env.systempointer = FALSE; #elif defined(PLATFORM_FREMANTLE) gnurobbo_op_env.systempointer = FALSE; #elif defined(PLATFORM_PSP) gnurobbo_op_env.systempointer = FALSE; #endif gnurobbo_op_env.pointer = FALSE; gnurobbo_op_env.pointer_mode = ROB_POINTER_MODE_PHYSICAL; gnurobbo_op_env.pointer_move_unit_low = UNDEFINED; gnurobbo_op_env.pointer_move_unit_high = UNDEFINED; gnurobbo_op_env.pointer_move_unit_threshold = UNDEFINED; /* Initialise game mechanics properties */ game_mechanics.sensible_bears = MECHANIC_SENSIBLE_BEARS; game_mechanics.sensible_questionmarks = MECHANIC_SENSIBLE_QUESTIONMARKS; game_mechanics.sensible_solid_lasers = MECHANIC_SENSIBLE_SOLID_LASERS; /* Initialise video properties */ video.xres = video.yres = video.field_size = video.fullscreen = UNDEFINED; viewport.max_w = viewport.max_h = viewport.maximise = UNDEFINED; intro_screen.redraw |= REDRAW_INITIALISE; /* Initialise sound properties */ sound=1; #ifdef HAVE_MUSIC volume = SND_MUS_DEFAULT_VOLUME; sfx_vol = SND_SFX_DEFAULT_VOLUME; #else volume = SND_SFX_DEFAULT_VOLUME; sfx_vol = SND_SFX_DEFAULT_VOLUME; #endif /* Initialise miscellaneous properties */ rcfile.save_frequency = RCFILE_SAVE_ON_EXIT; K_exit=FALSE; /* Set-up the default user controls */ set_default_user_controls (user_controls); /* Process any command line arguments. These will override any found in any resource file. */ if (argc > 1) { for (count = 1; count < argc; count++) { if (!strcmp (argv[count], "--help")) { /* 1234567890123456789012345678901234567890 <- Formatting for small terminal. */ fprintf (stdout, "GNU Robbo version %s\n", VERSION); fprintf (stdout, "Usage: gnurobbo [options]\n"); fprintf (stdout, "\nOptions:\n"); fprintf (stdout, " -XRESxYRES e.g. -800x480\n"); fprintf (stdout, " -ts n Tile size 16 or 32\n"); fprintf (stdout, " -vpx Maximise the viewport\n"); fprintf (stdout, " -f Run the game fullscreen\n"); fprintf (stdout, "\nReport bugs to :-\n"); fprintf (stdout, "http://sourceforge.net/projects/gnurobbo\n"); return 1; } else if (!strcmp (argv[count], "-f")) { video.fullscreen = SDL_FULLSCREEN; } else if (!strcmp (argv[count], "-vpx")) { viewport.maximise = TRUE; } else if (!strcmp (argv[count], "-ts")) { if (count < argc - 1 && sscanf (argv[count + 1], "%i", &video.field_size) == 1 && (video.field_size == 16 || video.field_size == 32)) { count++; } else { fprintf (stdout, "Invalid tile size: Valid sizes are 16 and 32.\n"); return 1; } } else if (sscanf (argv[count], "-%ix%i", &video.xres, &video.yres) == 2) { if (video.xres < 240 || video.yres < 240) { fprintf (stdout, "Invalid resolution: A minimum of 240x240 is required.\n"); return 1; } } else { fprintf (stdout, "Unrecognised option %s.\n", argv[count]); return 1; } } /* Now we can check that the field_size is valid for the requested resolution if any */ if (video.field_size == 32 && ((video.xres != UNDEFINED && video.xres < 480) || (video.yres != UNDEFINED && video.yres < 480))) { fprintf (stdout, "Invalid tile size: A size of 32 requires a minimum resolution of 480x480.\n"); return 1; } } #ifdef DEBUG_MAIN printf ("*** Start %s ***\n", __func__); printf ("video.fullscreen=%i\n", video.fullscreen); printf ("video.xres=%i\n", video.xres); printf ("video.yres=%i\n", video.yres); printf ("video.field_size=%i\n", video.field_size); printf ("viewport.maximise=%i\n", viewport.maximise); printf ("*** Stop %s ***\n", __func__); #endif printf ("PACKAGE_DATA_DIR is %s\n", PACKAGE_DATA_DIR); /* Create the default user level pack if it is not found to exist and if the * target platform requires it also create the local data folder structure */ create_userpack(); /* Initialise the level pack list and currently selected pack and level */ found_pack_count = level_pack_count = 1; selected_pack = 0; strcpy (level_packs[selected_pack].filename, PACKAGE_DATA_DIR "/" LEVELS_DIR "/" DEFAULT_LEVEL_PACK); strcpy (level_packs[selected_pack].name, "-1"); /* We don't know yet */ level_packs[selected_pack].last_level = DEFAULT_LEVEL_START; /* We don't know yet */ level_packs[selected_pack].level_reached = DEFAULT_LEVEL_START; /* The player hasn't reached any further than 1 yet */ level_packs[selected_pack].level_selected = DEFAULT_LEVEL_START; /* Level 1 is selected for play */ level_packs[selected_pack].selected = TRUE; /* Original pack is selected for play */ /* Find all level packs */ if (find_all_dat_files ()) return 1; /* Read values from the level packs */ read_level_packs (); /* Initialise the skin list and currently selected skin */ skin_count = 1; selected_skin = 0; strcpy (skins[selected_skin].foldername, DEFAULT_SKIN); /* Find all skins */ if (find_all_skins ()) return 1; /* Read values from the skinrc files */ read_skinrc_files (); /* Initialise the locale list and currently selected locale */ locale_count = 1; selected_locale = 0; strcpy (locales[selected_locale].foldername, DEFAULT_LOCALE); /* Find all locales */ if (find_all_locales ()) return 1; /* Read values from the localerc files */ read_localerc_files (); /* If possible, change the default locale to something * that is equivalent to the LANG environment variable */ set_locale_to_LANG(); /* Set-up the resource file path for the required platform and read it now */ #if defined(PLATFORM_WIN32) strcpy (path_resource_file, getenv("TEMP")); #elif defined(PLATFORM_PC) strcpy (path_resource_file, getenv ("HOME")); strcat (path_resource_file, "/"); #elif defined(PLATFORM_GP2X) strcpy (path_resource_file, "./"); #elif defined(PLATFORM_ZAURUS) strcpy (path_resource_file, getenv ("HOME")); strcat (path_resource_file, "/"); #elif defined(PLATFORM_FREMANTLE) strcpy (path_resource_file, getenv ("HOME")); strcat (path_resource_file, "/MyDocs/.gnurobbo/"); #elif defined(PLATFORM_PSP) strcpy (path_resource_file, "./"); #endif strcat (path_resource_file, RESOURCE_FILE); printf ("RESOURCE_FILE is %s\n", path_resource_file); result = read_resource_file (path_resource_file); if (result == 1) { /* rc file was not found so write new default rc file */ save_resource_file (path_resource_file, TRUE); } else if (result == 2) { /* rc file data is corrupt */ return 1; } #ifdef DEBUG_MAIN printf ("*** Start %s ***\n", __func__); printf ("skin_count=%i\n", skin_count); printf ("selected_skin=%i\n", selected_skin); for (count = 0; count < skin_count; count++) { printf ("skins[%i].foldername=%s\n", count, skins[count].foldername); printf ("skins[%i].name=%s\n", count, skins[count].name); printf ("skins[%i].author=%s\n", count, skins[count].author); printf ("skins[%i].about=%s\n", count, skins[count].about); printf ("skins[%i].background_colour=0x%06X\n", count, skins[count].background_colour); printf ("skins[%i].version_text_colour=0x%06X\n", count, skins[count].version_text_colour); printf ("skins[%i].general_text_colour=0x%06X\n", count, skins[count].general_text_colour); printf ("skins[%i].menu_text_colour=0x%06X\n", count, skins[count].menu_text_colour); printf ("skins[%i].menu_selected_text_colour=0x%06X\n", count, skins[count].menu_selected_text_colour); printf ("skins[%i].menu_selected_limit_text_colour=0x%06X\n", count, skins[count].menu_selected_limit_text_colour); printf ("skins[%i].menu_greyed_text_colour=0x%06X\n", count, skins[count].menu_greyed_text_colour); printf ("skins[%i].default_controls_text_colour=0x%06X\n", count, skins[count].default_controls_text_colour); printf ("skins[%i].credits_text_colour=0x%06X\n", count, skins[count].credits_text_colour); printf ("skins[%i].help_tile_colour=0x%06X\n", count, skins[count].help_tile_colour); printf ("skins[%i].fade_colour=0x%06X\n", count, skins[count].fade_colour); printf ("skins[%i].author_text_colour=0x%06X\n", count, skins[count].author_text_colour); } printf ("*** Stop %s ***\n", __func__); printf ("*** Start %s ***\n", __func__); printf ("found_pack_count=%i\n", found_pack_count); printf ("level_pack_count=%i\n", level_pack_count); printf ("selected_pack=%i\n", selected_pack); for (count = 0; count < level_pack_count; count++) { printf ("level_packs[%i].filename=%s\n", count, level_packs[count].filename); printf ("level_packs[%i].name=%s\n", count, level_packs[count].name); printf ("level_packs[%i].last_level=%i\n", count, level_packs[count].last_level); printf ("level_packs[%i].level_reached=%i\n", count, level_packs[count].level_reached); printf ("level_packs[%i].level_selected=%i\n", count, level_packs[count].level_selected); printf ("level_packs[%i].selected=%i\n", count, level_packs[count].selected); } printf ("*** Stop %s ***\n", __func__); #endif /* Sort level packs here */ sort_level_packs (); /* Sort skins here */ sort_skins (); /* Sort locales here */ sort_locales (); /* Initialise SDL */ if (SDL_Init (SDL_INIT_EVERYTHING)) { fprintf (stdout, "Cannot initialise SDL: %s", SDL_GetError ()); return 1; } atexit (clean_up_before_exit); /* Initialise the joystick list and attempt to open one */ if ((joystick_count = get_joystick_list (joystick_list, TRUE))) { /* Set default joystick */ if ((default_joystick = initialise_joystick (default_joystick, default_joystick_name, TRUE)) == UNDEFINED) default_joystick = initialise_joystick (UNDEFINED, default_joystick_name, TRUE); } #if defined(PLATFORM_WIN32) || defined(PLATFORM_PC) /* Load the window manager icon and set caption */ set_wm_icon(); SDL_WM_SetCaption ("GNU Robbo", "gnurobbo"); #elif defined(PLATFORM_GP2X) #elif defined(PLATFORM_ZAURUS) #elif defined(PLATFORM_PSP) #endif /* Set the video mode */ if (set_video_mode ()) { fprintf (stdout, "Cannot initialise screen: %s\n", SDL_GetError ()); exit (1); } /* Initiate a 10ms timer */ game_timer_id = SDL_AddTimer (10, game_timer, NULL); /* Font initialisation */ if (TTF_Init ()) { fprintf (stdout, "Cannot initialise SDL_ttf module\n"); exit (1); } /* Load selected skin */ load_selected_skin (); /* this initializes audio and the beginning of the game and loads sound skin */ audio_init(); load_soundskin (skins[selected_skin].soundskin); make_playlist (); /* Load selected locale */ load_selected_locale (); /* Disable key repeat (key repeating is handled by get_user_action() ) */ set_key_repeat (0, SDL_DEFAULT_REPEAT_INTERVAL); /* Initialise the GNU Robbo Rectangular Object Engine */ if (gnurobbo_op_env.pointer_move_unit_low == UNDEFINED) gnurobbo_op_env.pointer_move_unit_low = 4 * video.field_size / 16; if (gnurobbo_op_env.pointer_move_unit_high == UNDEFINED) gnurobbo_op_env.pointer_move_unit_high = 8 * video.field_size / 16; if (gnurobbo_op_env.pointer_move_unit_threshold == UNDEFINED) gnurobbo_op_env.pointer_move_unit_threshold = 6 * video.field_size / 16; gnurobbo_op_env.event_processor = &intro_screen_event_processor; ROB_Init (&gnurobbo_op_env); demo_mode (DEMO_MODE_INITIALISE, 0); #ifdef DEBUG_DUMP_VM_USAGE printf ("*** Start %s ***\n", __func__); sprintf (vmusage, "cat /proc/%u/status | grep Vm", getpid ()); system (vmusage); printf ("*** Stop %s ***\n", __func__); #endif while (!quit_game) { /*************************************************************************** * DESIGNER_ON * ***************************************************************************/ if (game_mode == DESIGNER_ON) { quit_game |= get_user_action (&actionid, TRUE, &gua_device, &gua_id, &gua_state); if (actionid == ACTION_EXIT) { if(K_exit==TRUE) { konstruktor_end (); game_mode = GAME_ON; K_exit=FALSE; } else { K_exit=TRUE; sprintf(infostring, "Exit designer - select again to exit"); inforedraw = 1; } } else { if(actionid!=-1) { if(K_exit==TRUE) { inforedraw=1; sprintf(infostring," "); } K_exit=FALSE; } } switch (actionid) { case ACTION_TOGGLE_FULLSCREEN: toggle_fullscreen (&video.fullscreen); break; case ACTION_PREVIOUS_LEVEL: if (level_packs[selected_pack].level_selected > 1) { level_packs[selected_pack].level_selected--; /* Cancel any active or pending fades */ restart_timeout = -1; show_game_area_fade (FADE_SUB_KILL, 0); konstruktor_init (); } break; case ACTION_NEXT_LEVEL: if (level_packs[selected_pack].level_selected < level_packs[selected_pack].last_level) { level_packs[selected_pack].level_selected++; /* Cancel any active or pending fades */ restart_timeout = -1; show_game_area_fade (FADE_SUB_KILL, 0); konstruktor_init (); } break; case ACTION_PREVIOUS_PACK: if (selected_pack > 0) { level_packs[selected_pack].selected = FALSE; selected_pack--; level_packs[selected_pack].selected = TRUE; /* Cancel any active or pending fades */ restart_timeout = -1; show_game_area_fade (FADE_SUB_KILL, 0); konstruktor_init (); } break; case ACTION_NEXT_PACK: if (selected_pack < found_pack_count - 1) { level_packs[selected_pack].selected = FALSE; selected_pack++; level_packs[selected_pack].selected = TRUE; /* Cancel any active or pending fades */ restart_timeout = -1; show_game_area_fade (FADE_SUB_KILL, 0); konstruktor_init (); } break; case ACTION_PRIMARY_CLICK: konstruktor_click (); break; case ACTION_SCROLL_UP: for (count = 0; count < 4; count++) konstruktor_scroll (0); break; case ACTION_UP: konstruktor_scroll (0); break; case ACTION_SCROLL_DOWN: for (count = 0; count < 4; count++) konstruktor_scroll (2); break; case ACTION_DOWN: konstruktor_scroll (2); break; case ACTION_LEFT: konstruktor_scroll (1); break; case ACTION_RIGHT: konstruktor_scroll (3); break; /* case ACTION_EXIT: konstruktor_end (); game_mode = GAME_ON; break; */ case ACTION_VOLUP: #ifdef DEBUG_COLOUR_SELECT if (debug_colour_select_component == 0) { inc_colour_component (&debug_colour_select_r); } else if (debug_colour_select_component == 1) { inc_colour_component (&debug_colour_select_g); } else if (debug_colour_select_component == 2) { inc_colour_component (&debug_colour_select_b); } level.colour_override = debug_colour_select_r << 16 | debug_colour_select_g << 8 | debug_colour_select_b; game_area.redraw |= REDRAW_EVERYTHING; #else volume_up (); #endif break; case ACTION_VOLDOWN: #ifdef DEBUG_COLOUR_SELECT if (debug_colour_select_component == 0) { dec_colour_component (&debug_colour_select_r); } else if (debug_colour_select_component == 1) { dec_colour_component (&debug_colour_select_g); } else if (debug_colour_select_component == 2) { dec_colour_component (&debug_colour_select_b); } level.colour_override = debug_colour_select_r << 16 | debug_colour_select_g << 8 | debug_colour_select_b; game_area.redraw |= REDRAW_EVERYTHING; #else volume_down (); #endif break; } } else if (game_mode == GAME_ON) { /*************************************************************************** * GAME ON * ***************************************************************************/ /* Get none or one user action and quit on SDL_QUIT */ quit_game |= get_user_action (&actionid, TRUE, &gua_device, &gua_id, &gua_state); #ifdef DEBUG_RECORD_DEMO if (actionid != UNDEFINED && !demo_mode (DEMO_MODE_IS_ACTIVE, 0) && robbo.moved == 0) demo_mode (DEMO_MODE_RECORD, actionid); #endif /* The restart timeout counts down to a forced restart such as following a BIG_BOOM */ if (restart_timeout) { restart_timeout--; } else if (restart_timeout == 0) { restart_timeout--; actionid = ACTION_RESTART; } /* If demo mode is active then substitute the actionid with one from the demo */ if (demo_mode (DEMO_MODE_IS_ACTIVE, 0)) { if (actionid == UNDEFINED) { if (robbo.moved == 0) actionid = demo_mode (DEMO_MODE_PLAYBACK, 0); } else { actionid = ACTION_EXIT; /* Quit demo mode on any action */ } } switch (actionid) { case ACTION_UP: case ACTION_DOWN: case ACTION_LEFT: case ACTION_RIGHT: case ACTION_RESTART: case ACTION_SHOOT_UP: case ACTION_SHOOT_DOWN: case ACTION_SHOOT_LEFT: case ACTION_SHOOT_RIGHT: case ACTION_SELECT: case ACTION_EXIT: case ACTION_HELP: case ACTION_OPTIONS: #ifdef HAVE_DESIGNER case ACTION_TOGGLE_DESIGNER: #endif manage_game_on_input (actionid); break; case ACTION_TOGGLE_FULLSCREEN: toggle_fullscreen (&video.fullscreen); break; case ACTION_PREVIOUS_LEVEL: if (level_packs[selected_pack].level_selected > 1) { level_packs[selected_pack].level_selected--; /* Cancel any active or pending fades */ restart_timeout = -1; show_game_area_fade (FADE_SUB_KILL, 0); if (level_init ()) { game_mode = INTRO_SCREEN; intro_screen.redraw |= REDRAW_INITIALISE; } else { game_area.redraw |= REDRAW_EVERYTHING; } } break; case ACTION_NEXT_LEVEL: if (level_packs[selected_pack].level_selected < level_packs[selected_pack].level_reached) { level_packs[selected_pack].level_selected++; /* Cancel any active or pending fades */ restart_timeout = -1; show_game_area_fade (FADE_SUB_KILL, 0); if (level_init ()) { game_mode = INTRO_SCREEN; intro_screen.redraw |= REDRAW_INITIALISE; } else { game_area.redraw |= REDRAW_EVERYTHING; } } break; case ACTION_PREVIOUS_PACK: if (selected_pack > 0) { level_packs[selected_pack].selected = FALSE; selected_pack--; level_packs[selected_pack].selected = TRUE; /* Cancel any active or pending fades */ restart_timeout = -1; show_game_area_fade (FADE_SUB_KILL, 0); if (level_init ()) { game_mode = INTRO_SCREEN; intro_screen.redraw |= REDRAW_INITIALISE; } else { game_area.redraw |= REDRAW_EVERYTHING; } } break; case ACTION_NEXT_PACK: if (selected_pack < found_pack_count - 1) { level_packs[selected_pack].selected = FALSE; selected_pack++; level_packs[selected_pack].selected = TRUE; /* Cancel any active or pending fades */ restart_timeout = -1; show_game_area_fade (FADE_SUB_KILL, 0); if (level_init ()) { game_mode = INTRO_SCREEN; intro_screen.redraw |= REDRAW_INITIALISE; } else { game_area.redraw |= REDRAW_EVERYTHING; } } break; case ACTION_HOME: case ACTION_END: break; case ACTION_PAGEUP: #ifdef DEBUG_COLOUR_SELECT debug_colour_select_component--; /* R = 0, G = 1, B = 2 */ if (debug_colour_select_component < 0) debug_colour_select_component = 2; #endif break; case ACTION_PAGEDOWN: #ifdef DEBUG_COLOUR_SELECT debug_colour_select_component++; /* R = 0, G = 1, B = 2 */ if (debug_colour_select_component > 2) debug_colour_select_component = 0; #endif break; case ACTION_VOLUP: #ifdef DEBUG_COLOUR_SELECT if (debug_colour_select_component == 0) { inc_colour_component (&debug_colour_select_r); } else if (debug_colour_select_component == 1) { inc_colour_component (&debug_colour_select_g); } else if (debug_colour_select_component == 2) { inc_colour_component (&debug_colour_select_b); } level.colour_override = debug_colour_select_r << 16 | debug_colour_select_g << 8 | debug_colour_select_b; game_area.redraw |= REDRAW_EVERYTHING; #else volume_up (); #endif break; case ACTION_VOLDOWN: #ifdef DEBUG_COLOUR_SELECT if (debug_colour_select_component == 0) { dec_colour_component (&debug_colour_select_r); } else if (debug_colour_select_component == 1) { dec_colour_component (&debug_colour_select_g); } else if (debug_colour_select_component == 2) { dec_colour_component (&debug_colour_select_b); } level.colour_override = debug_colour_select_r << 16 | debug_colour_select_g << 8 | debug_colour_select_b; game_area.redraw |= REDRAW_EVERYTHING; #else volume_down (); #endif break; case ACTION_MODIFIER1: case ACTION_MODIFIER2: case ACTION_MODIFIER3: case ACTION_MODIFIER4: break; default: break; } } else if (game_mode == INTRO_SCREEN) { /*************************************************************************** * INTRO SCREEN * ***************************************************************************/ /* Get none or one user action and quit on SDL_QUIT */ quit_game |= get_user_action (&actionid, TRUE, &gua_device, &gua_id, &gua_state); /* Reset the demo mode timeout if a key was pressed */ if (actionid != UNDEFINED) demo_mode (DEMO_MODE_TIMEOUT_INITIALISE, 0); /* Decrement the demo mode timeout which will automatically force demo mode after a predetermined period of time */ demo_mode (DEMO_MODE_TIMEOUT_DECREMENT, 0); switch (actionid) { case ACTION_UP: introscreenselecteditem--; /*#ifndef HAVE_DESIGNER*/ if (introscreenselecteditem == INTRO_SCREEN_MENU_ITEM_DESIGNER) introscreenselecteditem--; /*#endif*/ if (introscreenselecteditem < 0) introscreenselecteditem = INTRO_SCREEN_MENU_ITEM_COUNT - 1; intro_screen.redraw |= REDRAW_INTERMEDIATE; break; case ACTION_DOWN: introscreenselecteditem++; /*#ifndef HAVE_DESIGNER*/ if (introscreenselecteditem == INTRO_SCREEN_MENU_ITEM_DESIGNER) introscreenselecteditem++; /*#endif*/ if (introscreenselecteditem >= INTRO_SCREEN_MENU_ITEM_COUNT) introscreenselecteditem = 0; intro_screen.redraw |= REDRAW_INTERMEDIATE; break; case ACTION_LEFT: if (introscreenselecteditem == INTRO_SCREEN_MENU_ITEM_LEVEL || introscreenselecteditem == INTRO_SCREEN_MENU_ITEM_PACK) { manage_intro_screen_decrement (introscreenselecteditem); } break; case ACTION_RIGHT: if (introscreenselecteditem == INTRO_SCREEN_MENU_ITEM_LEVEL || introscreenselecteditem == INTRO_SCREEN_MENU_ITEM_PACK) { manage_intro_screen_increment (introscreenselecteditem); } break; case ACTION_RESTART: break; case ACTION_SHOOT_UP: case ACTION_SHOOT_DOWN: case ACTION_SHOOT_LEFT: case ACTION_SHOOT_RIGHT: break; case ACTION_SELECT: manage_intro_screen_select (introscreenselecteditem); break; case ACTION_EXIT: introscreenselecteditem = INTRO_SCREEN_MENU_ITEM_EXIT; intro_screen.redraw |= REDRAW_INTERMEDIATE; break; case ACTION_HELP: manage_intro_screen_select (INTRO_SCREEN_MENU_ITEM_HELP); break; case ACTION_OPTIONS: manage_intro_screen_select (INTRO_SCREEN_MENU_ITEM_OPTIONS); break; case ACTION_TOGGLE_FULLSCREEN: toggle_fullscreen (&video.fullscreen); break; case ACTION_PREVIOUS_LEVEL: manage_intro_screen_decrement (INTRO_SCREEN_MENU_ITEM_LEVEL); break; case ACTION_NEXT_LEVEL: manage_intro_screen_increment (INTRO_SCREEN_MENU_ITEM_LEVEL); break; case ACTION_PREVIOUS_PACK: manage_intro_screen_decrement (INTRO_SCREEN_MENU_ITEM_PACK); break; case ACTION_NEXT_PACK: manage_intro_screen_increment (INTRO_SCREEN_MENU_ITEM_PACK); break; case ACTION_HOME: if (introscreenselecteditem == INTRO_SCREEN_MENU_ITEM_LEVEL) { /* First level */ level_packs[selected_pack].level_selected = 1; intro_screen.redraw |= REDRAW_INTERMEDIATE; } else if (introscreenselecteditem == INTRO_SCREEN_MENU_ITEM_PACK) { /* First pack */ level_packs[selected_pack].selected = FALSE; selected_pack = 0; level_packs[selected_pack].selected = TRUE; intro_screen.redraw |= REDRAW_INTERMEDIATE; } break; case ACTION_END: if (introscreenselecteditem == INTRO_SCREEN_MENU_ITEM_LEVEL) { /* Last level */ level_packs[selected_pack].level_selected = level_packs[selected_pack].level_reached; intro_screen.redraw |= REDRAW_INTERMEDIATE; } else if (introscreenselecteditem == INTRO_SCREEN_MENU_ITEM_PACK) { /* Last pack */ level_packs[selected_pack].selected = FALSE; selected_pack = found_pack_count - 1; level_packs[selected_pack].selected = TRUE; intro_screen.redraw |= REDRAW_INTERMEDIATE; } break; case ACTION_PAGEUP: case ACTION_PAGEDOWN: break; case ACTION_TOGGLE_DESIGNER: manage_intro_screen_select (INTRO_SCREEN_MENU_ITEM_DESIGNER); break; case ACTION_VOLUP: volume_up (); break; case ACTION_VOLDOWN: volume_down (); break; case ACTION_MODIFIER1: case ACTION_MODIFIER2: case ACTION_MODIFIER3: case ACTION_MODIFIER4: break; default: break; } } else if (game_mode == END_SCREEN) { /*************************************************************************** * END SCREEN * ***************************************************************************/ /* Get none or one user action and quit on SDL_QUIT */ quit_game |= get_user_action (&actionid, TRUE, &gua_device, &gua_id, &gua_state); switch (actionid) { case ACTION_UP: case ACTION_DOWN: case ACTION_LEFT: case ACTION_RIGHT: case ACTION_RESTART: case ACTION_SHOOT_UP: case ACTION_SHOOT_DOWN: case ACTION_SHOOT_LEFT: case ACTION_SHOOT_RIGHT: case ACTION_SELECT: break; case ACTION_EXIT: game_mode = INTRO_SCREEN; intro_screen.redraw |= REDRAW_INITIALISE; break; case ACTION_HELP: case ACTION_OPTIONS: break; case ACTION_TOGGLE_FULLSCREEN: toggle_fullscreen (&video.fullscreen); break; case ACTION_PREVIOUS_LEVEL: case ACTION_NEXT_LEVEL: case ACTION_PREVIOUS_PACK: case ACTION_NEXT_PACK: case ACTION_HOME: case ACTION_END: case ACTION_PAGEUP: case ACTION_PAGEDOWN: case ACTION_TOGGLE_DESIGNER: break; case ACTION_VOLUP: volume_up (); break; case ACTION_VOLDOWN: volume_down (); break; case ACTION_MODIFIER1: case ACTION_MODIFIER2: case ACTION_MODIFIER3: case ACTION_MODIFIER4: break; default: break; } } else if (game_mode == HELP_SCREEN) { /*************************************************************************** * HELP SCREEN * ***************************************************************************/ /* Get none or one user action and quit on SDL_QUIT */ quit_game |= get_user_action (&actionid, TRUE, &gua_device, &gua_id, &gua_state); switch (actionid) { case ACTION_UP: case ACTION_DOWN: break; case ACTION_LEFT: helppageselecteditem--; if (helppage > 0 && helppageselecteditem < 0) { helppage--; helppageselecteditem = 2; help_screen.redraw |= REDRAW_EVERYTHING; } else { if (helppage == 0 && helppageselecteditem < 1) helppageselecteditem = 1; help_screen.redraw |= REDRAW_INTERMEDIATE; } break; case ACTION_RIGHT: helppageselecteditem++; if (helppage < HELP_SCREEN_PAGES - 1 && helppageselecteditem > 2) { helppage++; helppageselecteditem = 0; help_screen.redraw |= REDRAW_EVERYTHING; } else { if (helppage == HELP_SCREEN_PAGES - 1 && helppageselecteditem > 1) helppageselecteditem = 1; help_screen.redraw |= REDRAW_INTERMEDIATE; } break; case ACTION_RESTART: case ACTION_SHOOT_UP: case ACTION_SHOOT_DOWN: case ACTION_SHOOT_LEFT: case ACTION_SHOOT_RIGHT: break; case ACTION_SELECT: manage_help_select (helppageselecteditem); break; case ACTION_EXIT: manage_help_select (1); break; case ACTION_HELP: case ACTION_OPTIONS: break; case ACTION_TOGGLE_FULLSCREEN: toggle_fullscreen (&video.fullscreen); break; case ACTION_PREVIOUS_LEVEL: case ACTION_NEXT_LEVEL: case ACTION_PREVIOUS_PACK: case ACTION_NEXT_PACK: break; case ACTION_HOME: /* First page */ if (helppage != 0) { helppage = 0; helppageselecteditem = 1; help_screen.redraw |= REDRAW_EVERYTHING; } break; case ACTION_END: /* Last page */ if (helppage != HELP_SCREEN_PAGES - 1) { helppage = HELP_SCREEN_PAGES - 1; helppageselecteditem = 1; help_screen.redraw |= REDRAW_EVERYTHING; } break; case ACTION_PAGEUP: /* Previous page */ manage_help_select (0); break; case ACTION_PAGEDOWN: /* Next page */ manage_help_select (2); break; case ACTION_TOGGLE_DESIGNER: break; case ACTION_VOLUP: volume_up (); break; case ACTION_VOLDOWN: volume_down (); break; case ACTION_MODIFIER1: case ACTION_MODIFIER2: case ACTION_MODIFIER3: case ACTION_MODIFIER4: break; default: break; } } else if (game_mode == OPTIONS_SCREEN) { /*************************************************************************** * OPTIONS SCREEN * ***************************************************************************/ /* All the screens are laid out like this no matter what's displayed :- -------------------- | 0 | options[OPTIONS_COUNT] is an array of all the options spread across all | . | the pages. Each element is either TRUE if there is a selectable option | . | present or FALSE if it is non-selectable i.e. a piece of text or something | 8 | that occupies that space. Each option has a unique id which is an index into | | this array and is used to identify the option when the user presses a control | 9 10 11 12 | that may modify it. This array is also used in screen.c to assist in building | < Save Exit > | the pages. Additionally the selected menu item is recorded for each page in -------------------- optionspageselecteditem[] with the current page recorded in optionspage. */ /* Are we waiting for a key/button press to assign to a control? */ if (getkey_timeout) { getkey_timeout--; if (getkey_timeout == 0) { strcpy (temp_msg_box.name, MESSAGE_BOX_GETKEY_ERROR_ID); strcpy (temp_msg_box.message, txt_No_input_was_detected); temp_msg_box.timeout = DELAY_MESSAGE_BOX_GETKEY_ERROR; temp_msg_box.dynamic = TRUE; temp_msg_box.w = temp_msg_box.h = 0; show_message_box (MESSAGE_BOX_SUB_INITIALISE, &temp_msg_box); } else { /* Get none or one user action and quit on SDL_QUIT */ quit_game |= get_user_action (&actionid, FALSE, &gua_device, &gua_id, &gua_state); /* Record the pressed/released state changes and look for a release. This is how it works :- If the user pressed the confirm control to initialise reassignment then the initial state is pressed and so to register a new key we will be looking for a release as the 3rd state change. If the user pressed and released the primary click control to initialise reassignment then the initial state is released and so to register a new key we will be looking for a release as the 2nd state change. The difference is because click activates on release */ if ((gua_state == SDL_PRESSED || gua_state == SDL_RELEASED) && getkey_state != gua_state) { getkey_state = gua_state; getkey_count++; /* Count the state changes */ if (getkey_state == SDL_RELEASED && getkey_count >= 2) { show_message_box (MESSAGE_BOX_SUB_KILL, NULL); /* Kill the message box */ getkey_timeout = 0; /* Kill the timeout */ /* Store the new control */ temp_user_controls[optionspageselecteditem [optionspage] + (optionspage - OPTIONS_ACTION_UP / 13) * 9].device = gua_device; temp_user_controls[optionspageselecteditem [optionspage] + (optionspage - OPTIONS_ACTION_UP / 13) * 9].id = gua_id; options_screen.redraw |= REDRAW_INTERMEDIATE; } } } /* No, so resume normal action servicing */ } else { /* Get none or one user action and quit on SDL_QUIT */ quit_game |= get_user_action (&actionid, TRUE, &gua_device, &gua_id, &gua_state); switch (actionid) { case ACTION_UP: do { if (optionspageselecteditem[optionspage] > 8) optionspageselecteditem[optionspage] = OPTIONS_MENUPOS_LEFT; optionspageselecteditem[optionspage]--; if (optionspageselecteditem[optionspage] < 0) optionspageselecteditem[optionspage] = OPTIONS_MENUPOS_SAVE; } while (!options [optionspage * 13 + optionspageselecteditem[optionspage]]); options_screen.redraw |= REDRAW_INTERMEDIATE; break; case ACTION_DOWN: do { if (optionspageselecteditem[optionspage] > 8) optionspageselecteditem[optionspage] = -1; optionspageselecteditem[optionspage]++; if (optionspageselecteditem[optionspage] > 8) optionspageselecteditem[optionspage] = OPTIONS_MENUPOS_SAVE; } while (!options [optionspage * 13 + optionspageselecteditem[optionspage]]); options_screen.redraw |= REDRAW_INTERMEDIATE; break; case ACTION_LEFT: if (optionspageselecteditem[optionspage] > OPTIONS_MENUPOS_LEFT) { if (options [optionspage * 13 + optionspageselecteditem[optionspage] - 1]) optionspageselecteditem[optionspage]--; options_screen.redraw |= REDRAW_INTERMEDIATE; } else if (optionspageselecteditem[optionspage] == OPTIONS_MENUPOS_LEFT) { /* Previous page */ if (optionspage > 0) { optionspageselecteditem[--optionspage] = OPTIONS_MENUPOS_RIGHT; options_screen.redraw |= REDRAW_EVERYTHING; } } else if (optionspageselecteditem[optionspage] < OPTIONS_MENUPOS_LEFT) { manage_options_decrement (optionspage * 13 + optionspageselecteditem [optionspage]); } break; case ACTION_RIGHT: if (optionspageselecteditem[optionspage] >= OPTIONS_MENUPOS_LEFT && optionspageselecteditem[optionspage] < OPTIONS_MENUPOS_RIGHT) { if (options [optionspage * 13 + optionspageselecteditem[optionspage] + 1]) optionspageselecteditem[optionspage]++; options_screen.redraw |= REDRAW_INTERMEDIATE; } else if (optionspageselecteditem[optionspage] == OPTIONS_MENUPOS_RIGHT) { /* Next page */ if (optionspage < OPTIONS_SCREEN_PAGES - 1) { optionspageselecteditem[++optionspage] = OPTIONS_MENUPOS_LEFT; options_screen.redraw |= REDRAW_EVERYTHING; } } else if (optionspageselecteditem[optionspage] < OPTIONS_MENUPOS_LEFT) { manage_options_increment (optionspage * 13 + optionspageselecteditem [optionspage]); } break; case ACTION_RESTART: if (optionspageselecteditem[optionspage] < OPTIONS_MENUPOS_LEFT) { /* Reset a control */ if (optionspage * 13 + optionspageselecteditem[optionspage] >= OPTIONS_ACTION_UP && optionspage * 13 + optionspageselecteditem[optionspage] <= OPTIONS_ACTION_PRIMARY_CLICK) { temp_user_controls[optionspage * 13 + optionspageselecteditem [optionspage] - OPTIONS_ACTION_UP - (optionspage - 4) * 4].device = UNDEFINED; temp_user_controls[optionspage * 13 + optionspageselecteditem [optionspage] - OPTIONS_ACTION_UP - (optionspage - 4) * 4].id = UNDEFINED; temp_user_controls[optionspage * 13 + optionspageselecteditem [optionspage] - OPTIONS_ACTION_UP - (optionspage - 4) * 4].mod = UNDEFINED; } options_screen.redraw |= REDRAW_INTERMEDIATE; } break; case ACTION_SHOOT_UP: case ACTION_SHOOT_DOWN: case ACTION_SHOOT_LEFT: case ACTION_SHOOT_RIGHT: break; case ACTION_SELECT: /* Unlike the others, this will also need to be entirely manipulatable via the pointer and so it is additionally sent OPTIONS_MENUPOS_LEFT to OPTIONS_MENUPOS_RIGHT */ manage_options_select (optionspage * 13 + optionspageselecteditem [optionspage]); break; case ACTION_EXIT: manage_options_select (OPTIONS_MENUPOS_EXIT); /* Any enabled exit will suffice */ break; case ACTION_HELP: case ACTION_OPTIONS: break; case ACTION_TOGGLE_FULLSCREEN: toggle_fullscreen (&video.fullscreen); break; case ACTION_PREVIOUS_LEVEL: case ACTION_NEXT_LEVEL: case ACTION_PREVIOUS_PACK: case ACTION_NEXT_PACK: break; case ACTION_HOME: if (optionspageselecteditem[optionspage] >= OPTIONS_MENUPOS_LEFT && optionspageselecteditem[optionspage] <= OPTIONS_MENUPOS_RIGHT) { optionspage = 0; optionspageselecteditem[optionspage] = OPTIONS_MENUPOS_SAVE; options_screen.redraw |= REDRAW_EVERYTHING; } else if (optionspageselecteditem[optionspage] < OPTIONS_MENUPOS_LEFT) { manage_options_first (optionspage * 13 + optionspageselecteditem [optionspage]); } break; case ACTION_END: if (optionspageselecteditem[optionspage] >= OPTIONS_MENUPOS_LEFT && optionspageselecteditem[optionspage] <= OPTIONS_MENUPOS_RIGHT) { optionspage = OPTIONS_SCREEN_PAGES - 1; optionspageselecteditem[optionspage] = OPTIONS_MENUPOS_EXIT; options_screen.redraw |= REDRAW_EVERYTHING; } else if (optionspageselecteditem[optionspage] < OPTIONS_MENUPOS_LEFT) { manage_options_last (optionspage * 13 + optionspageselecteditem [optionspage]); } break; case ACTION_PAGEUP: /* Previous page */ manage_options_select (13 + OPTIONS_MENUPOS_LEFT); /* Use will suffice */ break; case ACTION_TOGGLE_DESIGNER: break; case ACTION_VOLUP: volume_up (); break; case ACTION_VOLDOWN: volume_down (); break; case ACTION_MODIFIER1: case ACTION_MODIFIER2: case ACTION_MODIFIER3: case ACTION_MODIFIER4: break; default: break; } } } /* [Re]draw the screen and update the game objects if GAME_ON */ if (game_mode == GAME_ON) { /* Update all the game objects */ update_game (); /* [Re]draw the screen */ game_area.redraw |= REDRAW_ANIMATED; show_game_area (); /* This happens here and nowhere else */ /* If the fade is active then show it */ show_game_area_fade (FADE_SUB_SHOW, 0); #ifdef DEBUG_COLOUR_SELECT show_level_colour (debug_colour_select_r, debug_colour_select_g, debug_colour_select_b, debug_colour_select_component); #endif } else if (game_mode == DESIGNER_ON) { /* animate konstruktor stuff */ konstruktor_animate (); game_area.redraw |= REDRAW_ANIMATED; konstruktor_show_game_area (); } else if (game_mode == INTRO_SCREEN) { /* [Re]draw the screen */ intro_screen.redraw |= REDRAW_ANIMATED; show_introscreen (); /* This happens here and nowhere else */ } else if (game_mode == END_SCREEN) { /* [Re]draw the screen */ show_endscreen (); /* This happens here and nowhere else */ } else if (game_mode == HELP_SCREEN) { /* [Re]draw the screen */ help_screen.redraw |= REDRAW_ANIMATED; show_helpscreen (); /* This happens here and nowhere else */ } else if (game_mode == OPTIONS_SCREEN) { /* [Re]draw the screen */ options_screen.redraw |= REDRAW_ANIMATED; show_optionsscreen (); /* This happens here and nowhere else */ } /* Render any ROB engine objects */ ROB_RenderObjects (); /* If there's a message box active then show it */ show_message_box (MESSAGE_BOX_SUB_SHOW, NULL); /* Update the screen */ SDL_Flip (screen); /* I think I should explain how the timing works as people may think I'm simply calling SDL_Delay(10) every cycle and then continuing which would be OKish if the workload was always the same. There is an SDL timer that sets the game_next_cycle flag every 20Hz (slow), 25Hz (normal) or 33Hz (fast). This game is far from being CPU intensive especially since only small portions of the screen are being updated when needed, so 90%+ of the time is spent in the while loop waiting for the game_next_cycle flag to be set by the SDL timer. The SDL_Delay(game_cycle_delay) within the while loop is simply passing control to the OS to service other tasks. If there was no delay here then this game would be a CPU hog. I should mention that on my computer I can do SDL_Delay(0) but other computers will need a minimum of 10ms, therefore game_cycle_delay is set to 10ms by default but can be set to something else by modifying [game_cycle_delay] in the .gnurobborc file in your home folder. I expect this will never be modified */ /* Is there a cycle limit in place? */ if (game_cycle_limit) { /* Wait until the timer sets the flag before proceeding */ while (!game_next_cycle) SDL_Delay (game_cycle_delay); /* Robbo spends 90%+ of his time in this loop :) */ game_next_cycle = FALSE; } cycle_count++; if (game_mode != INTRO_SCREEN) demo_mode (DEMO_MODE_TIMEOUT_INITIALISE, 0); /* Easier to do it once here */ } #ifdef DEBUG_RECORD_DEMO demo_mode (DEMO_MODE_DUMP, 0); #endif save_resource_file (path_resource_file, TRUE); /* atexit() will call clean_up_before_exit() on return */ return 0; } /*************************************************************************** * Clean Up Before Exit * ***************************************************************************/ /* This is registered with atexit() once SDL is initialised */ void clean_up_before_exit (void) { if (game_timer_id) SDL_RemoveTimer (game_timer_id); /* WARNING: attempting to close joystick 0 on the GP2X using the GPH * SDK causes a seg fault and it may do the same on similar devices */ #if defined(PLATFORM_WIN32) || defined(PLATFORM_PC) if (joystick) SDL_JoystickClose (joystick); #elif defined(PLATFORM_GP2X) if ((joystick) && (SDL_JoystickIndex (joystick)) > 0) SDL_JoystickClose (joystick); #elif defined(PLATFORM_ZAURUS) if (joystick) SDL_JoystickClose (joystick); #elif defined(PLATFORM_FREMANTLE) if (joystick) SDL_JoystickClose (joystick); #elif defined(PLATFORM_PSP) if (joystick) SDL_JoystickClose (joystick); #endif /* Shutdown the GNU Robbo Rectangular Object Engine */ if (ROB_Quit ()) printf ("%s: %s\n", __func__, ROB_GetError ()); /* Free SDL surfaces if they are not NULL */ if (wm_icon) SDL_FreeSurface (wm_icon); if (icons) SDL_FreeSurface (icons); if (ciphers) SDL_FreeSurface (ciphers); if (alpha) SDL_FreeSurface (alpha); if (bgrnd) SDL_FreeSurface (bgrnd); if (k_icons) SDL_FreeSurface (k_icons); /* Free the font if not NULL */ if (font) TTF_CloseFont (font); /* kill audio content if it is necessary */ audio_destroy (); TTF_Quit (); SDL_Quit (); } /*************************************************************************** * Game Timer * ***************************************************************************/ Uint32 game_timer (Uint32 interval, void *param) { static int intervals = 0; /* Count the units of 10ms and set a flag which enables the main loop to proceed */ if (game_cycle_limit) { intervals++; if (intervals >= 100 / game_cycle_limit) { game_next_cycle = TRUE; intervals = 0; } } else { intervals = 0; } return interval; } /*************************************************************************** * Demo Mode * ***************************************************************************/ /* Because of the randomness of certain objects it is advisable to record demos of Robbo interacting with simple things such as boxes, doors and teleports. Interacting with monsters and guns early on could end the demo prematurely so do it towards the end where unpredictability is not an issue. On entry: subfunction = DEMO_MODE_INITIALISE to initialise at program start subfunction = DEMO_MODE_TIMEOUT_INITIALISE to reset the timeout subfunction = DEMO_MODE_TIMEOUT_DECREMENT to decrement the timeout subfunction = DEMO_MODE_ACTIVATE to activate demo mode subfunction = DEMO_MODE_IS_ACTIVE to report if currently active subfunction = DEMO_MODE_DEACTIVATE to deactivate demo mode if active subfunction = DEMO_MODE_RECORD_INITIALISE to initialise prior to recording subfunction = DEMO_MODE_RECORD to record a demo with actionid = actionid subfunction = DEMO_MODE_PLAYBACK to playback a demo subfunction = DEMO_MODE_DUMP to dump a recorded demo to the console on program exit On exit: returns an actionid for DEMO_MODE_PLAYBACK returns TRUE or FALSE for DEMO_MODE_IS_ACTIVATED returns TRUE or FALSE for DEMO_MODE_TIMEOUT_DECREMENT indicating if demo mode was automatically activated or not else UNDEFINED (-1) */ int demo_mode(int subfunction, int actionid) { static int demo_mode_active; /* It's ON */ static int demo_mode_timeout; /* Time to wait before activating demo mode */ static int demo_mode_frame; /* Input frame pointer */ static int *demo_mode_demo_data[DEMO_MODE_DEMO_COUNT]; /* Pointers to playback input data + 1 for the record slot */ static int demo_mode_demos[DEMO_MODE_DEMO_COUNT - 1][2]; /* Available demos [pack][level] */ static int demo_mode_demos_index; /* Index into demo_mode_demos */ static int demo_mode_original_selected_pack; /* The current user selected pack which the demo will replace */ static int demo_mode_original_level_selected; /* The current user level selected which the demo will replace */ /* Playback input data: record at any speed, it doesn't make any difference */ static int demo_mode_demo_data_Forever_level4[] = { ACTION_LEFT, ACTION_RIGHT, ACTION_RIGHT, ACTION_DOWN, ACTION_DOWN, ACTION_LEFT, ACTION_LEFT, ACTION_UP, ACTION_LEFT, ACTION_DOWN, ACTION_RIGHT, ACTION_RIGHT, ACTION_RIGHT, ACTION_UP, ACTION_UP, ACTION_LEFT, ACTION_DOWN, ACTION_RIGHT, ACTION_DOWN, ACTION_LEFT, ACTION_UP, ACTION_UP, ACTION_DOWN, ACTION_DOWN, ACTION_LEFT, ACTION_LEFT, ACTION_LEFT, ACTION_LEFT, ACTION_DOWN, ACTION_LEFT, ACTION_LEFT, ACTION_RIGHT, ACTION_DOWN, ACTION_DOWN, ACTION_LEFT, ACTION_LEFT, ACTION_LEFT, ACTION_DOWN, ACTION_DOWN, ACTION_DOWN, ACTION_RIGHT, ACTION_RIGHT, ACTION_DOWN, ACTION_DOWN, ACTION_DOWN, ACTION_DOWN, ACTION_RIGHT, ACTION_RIGHT, ACTION_UP, ACTION_UP, ACTION_LEFT, ACTION_LEFT, ACTION_UP, ACTION_UP, ACTION_UP, ACTION_UP, ACTION_UP, ACTION_RIGHT, ACTION_UP, ACTION_UP, ACTION_LEFT, ACTION_UP, ACTION_LEFT, ACTION_LEFT, ACTION_LEFT, ACTION_DOWN, ACTION_RIGHT, ACTION_RIGHT, ACTION_RIGHT, ACTION_EXIT }; static int demo_mode_demo_data_K_Robbo_level17[] = { ACTION_LEFT, ACTION_LEFT, ACTION_UP, ACTION_UP, ACTION_LEFT, ACTION_LEFT, ACTION_LEFT, ACTION_DOWN, ACTION_LEFT, ACTION_LEFT, ACTION_UP, ACTION_LEFT, ACTION_LEFT, ACTION_LEFT, ACTION_LEFT, ACTION_RIGHT, ACTION_DOWN, ACTION_LEFT, ACTION_LEFT, ACTION_UP, ACTION_LEFT, ACTION_DOWN, ACTION_DOWN, ACTION_UP, ACTION_UP, ACTION_MODIFIER2, ACTION_SHOOT_DOWN, ACTION_RIGHT, ACTION_RIGHT, ACTION_RIGHT, ACTION_RIGHT, ACTION_RIGHT, ACTION_RIGHT, ACTION_DOWN, ACTION_LEFT, ACTION_LEFT, ACTION_LEFT, ACTION_LEFT, ACTION_LEFT, ACTION_UP, ACTION_LEFT, ACTION_DOWN, ACTION_DOWN, ACTION_DOWN, ACTION_UP, ACTION_UP, ACTION_UP, ACTION_MODIFIER2, ACTION_SHOOT_DOWN, ACTION_RIGHT, ACTION_RIGHT, ACTION_RIGHT, ACTION_DOWN, ACTION_LEFT, ACTION_LEFT, ACTION_LEFT, ACTION_DOWN, ACTION_DOWN, ACTION_DOWN, ACTION_DOWN, ACTION_DOWN, ACTION_DOWN, ACTION_DOWN, ACTION_RIGHT, ACTION_RIGHT, ACTION_RIGHT, ACTION_RIGHT, ACTION_RIGHT, ACTION_RIGHT, ACTION_RIGHT, ACTION_RIGHT, ACTION_RIGHT, ACTION_RIGHT, ACTION_RIGHT, ACTION_LEFT, ACTION_LEFT, ACTION_LEFT, ACTION_LEFT, ACTION_MODIFIER2, ACTION_SHOOT_DOWN, ACTION_LEFT, ACTION_LEFT, ACTION_LEFT, ACTION_RIGHT, ACTION_RIGHT, ACTION_RIGHT, ACTION_EXIT }; static int demo_mode_demo_data_R653924_level2[] = { ACTION_RIGHT, ACTION_RIGHT, ACTION_DOWN, ACTION_DOWN, ACTION_DOWN, ACTION_DOWN, ACTION_UP, ACTION_UP, ACTION_UP, ACTION_LEFT, ACTION_LEFT, ACTION_LEFT, ACTION_LEFT, ACTION_LEFT, ACTION_DOWN, ACTION_MODIFIER2, ACTION_SHOOT_DOWN, ACTION_RIGHT, ACTION_RIGHT, ACTION_LEFT, ACTION_LEFT, ACTION_MODIFIER2, ACTION_SHOOT_DOWN, ACTION_RIGHT, ACTION_RIGHT, ACTION_LEFT, ACTION_LEFT, ACTION_DOWN, ACTION_DOWN, ACTION_DOWN, ACTION_DOWN, ACTION_RIGHT, ACTION_RIGHT, ACTION_DOWN, ACTION_DOWN, ACTION_RIGHT, ACTION_DOWN, ACTION_LEFT, ACTION_LEFT, ACTION_RIGHT, ACTION_RIGHT, ACTION_MODIFIER2, ACTION_SHOOT_LEFT, ACTION_RIGHT, ACTION_RIGHT, ACTION_RIGHT, ACTION_UP, ACTION_RIGHT, ACTION_UP, ACTION_UP, ACTION_UP, ACTION_RIGHT, ACTION_LEFT, ACTION_DOWN, ACTION_DOWN, ACTION_DOWN, ACTION_LEFT, ACTION_LEFT, ACTION_LEFT, ACTION_LEFT, ACTION_LEFT, ACTION_UP, ACTION_UP, ACTION_RIGHT, ACTION_DOWN, ACTION_DOWN, ACTION_DOWN, ACTION_LEFT, ACTION_DOWN, ACTION_DOWN, ACTION_DOWN, ACTION_DOWN, ACTION_LEFT, ACTION_LEFT, ACTION_RIGHT, ACTION_RIGHT, ACTION_RIGHT, ACTION_RIGHT, ACTION_RIGHT, ACTION_RIGHT, ACTION_RIGHT, ACTION_RIGHT, ACTION_RIGHT, ACTION_RIGHT, ACTION_RIGHT, ACTION_DOWN, ACTION_DOWN, ACTION_DOWN, ACTION_DOWN, ACTION_DOWN, ACTION_DOWN, ACTION_DOWN, ACTION_EXIT }; static int demo_mode_demo_data_Robbo2009_level9[] = { ACTION_RIGHT, ACTION_RIGHT, ACTION_RIGHT, ACTION_DOWN, ACTION_DOWN, ACTION_UP, ACTION_RIGHT, ACTION_UP, ACTION_RIGHT, ACTION_RIGHT, ACTION_DOWN, ACTION_DOWN, ACTION_UP, ACTION_LEFT, ACTION_LEFT, ACTION_DOWN, ACTION_RIGHT, ACTION_UP, ACTION_RIGHT, ACTION_DOWN, ACTION_LEFT, ACTION_LEFT, ACTION_RIGHT, ACTION_RIGHT, ACTION_DOWN, ACTION_UP, ACTION_UP, ACTION_LEFT, ACTION_LEFT, ACTION_LEFT, ACTION_LEFT, ACTION_LEFT, ACTION_LEFT, ACTION_RIGHT, ACTION_RIGHT, ACTION_RIGHT, ACTION_RIGHT, ACTION_RIGHT, ACTION_RIGHT, ACTION_RIGHT, ACTION_RIGHT, ACTION_RIGHT, ACTION_DOWN, ACTION_DOWN, ACTION_DOWN, ACTION_LEFT, ACTION_LEFT, ACTION_RIGHT, ACTION_RIGHT, ACTION_RIGHT, ACTION_RIGHT, ACTION_LEFT, ACTION_LEFT, ACTION_LEFT, ACTION_DOWN, ACTION_DOWN, ACTION_LEFT, ACTION_LEFT, ACTION_LEFT, ACTION_DOWN, ACTION_LEFT, ACTION_DOWN, ACTION_LEFT, ACTION_DOWN, ACTION_LEFT, ACTION_DOWN, ACTION_DOWN, ACTION_RIGHT, ACTION_DOWN, ACTION_DOWN, ACTION_LEFT, ACTION_RIGHT, ACTION_DOWN, ACTION_DOWN, ACTION_LEFT, ACTION_RIGHT, ACTION_DOWN, ACTION_DOWN, ACTION_LEFT, ACTION_DOWN, ACTION_DOWN, ACTION_DOWN, ACTION_DOWN, ACTION_RIGHT, ACTION_DOWN, ACTION_DOWN, ACTION_RIGHT, ACTION_EXIT }; static int demo_mode_demo_data_RobboXI_level3[] = { ACTION_LEFT, ACTION_LEFT, ACTION_LEFT, ACTION_LEFT, ACTION_LEFT, ACTION_LEFT, ACTION_LEFT, ACTION_LEFT, ACTION_LEFT, ACTION_LEFT, ACTION_RIGHT, ACTION_DOWN, ACTION_DOWN, ACTION_DOWN, ACTION_UP, ACTION_UP, ACTION_UP, ACTION_RIGHT, ACTION_RIGHT, ACTION_MODIFIER2, ACTION_SHOOT_DOWN, ACTION_RIGHT, ACTION_DOWN, ACTION_DOWN, ACTION_DOWN, ACTION_MODIFIER2, ACTION_SHOOT_LEFT, ACTION_DOWN, ACTION_DOWN, ACTION_DOWN, ACTION_MODIFIER2, ACTION_SHOOT_RIGHT, ACTION_UP, ACTION_UP, ACTION_UP, ACTION_UP, ACTION_LEFT, ACTION_LEFT, ACTION_LEFT, ACTION_LEFT, ACTION_LEFT, ACTION_LEFT, ACTION_DOWN, ACTION_DOWN, ACTION_MODIFIER2, ACTION_SHOOT_UP, ACTION_DOWN, ACTION_DOWN, ACTION_DOWN, ACTION_UP, ACTION_UP, ACTION_UP, ACTION_UP, ACTION_UP, ACTION_UP, ACTION_UP, ACTION_RIGHT, ACTION_RIGHT, ACTION_RIGHT, ACTION_RIGHT, ACTION_RIGHT, ACTION_MODIFIER2, ACTION_SHOOT_RIGHT, ACTION_LEFT, ACTION_LEFT, ACTION_LEFT, ACTION_RIGHT, ACTION_RIGHT, ACTION_RIGHT, ACTION_RIGHT, ACTION_RIGHT, ACTION_MODIFIER2, ACTION_SHOOT_RIGHT, ACTION_LEFT, ACTION_LEFT, ACTION_RIGHT, ACTION_RIGHT, ACTION_RIGHT, ACTION_MODIFIER2, ACTION_SHOOT_RIGHT, ACTION_LEFT, ACTION_LEFT, ACTION_LEFT, ACTION_MODIFIER2, ACTION_SHOOT_RIGHT, ACTION_LEFT, ACTION_LEFT, ACTION_RIGHT, ACTION_RIGHT, ACTION_RIGHT, ACTION_RIGHT, ACTION_RIGHT, ACTION_RIGHT, ACTION_RIGHT, ACTION_RIGHT, ACTION_RIGHT, ACTION_RIGHT, ACTION_RIGHT, ACTION_EXIT }; static int demo_mode_demo_data_Robbo98_level10[] = { ACTION_RIGHT, ACTION_RIGHT, ACTION_RIGHT, ACTION_RIGHT, ACTION_RIGHT, ACTION_RIGHT, ACTION_RIGHT, ACTION_RIGHT, ACTION_RIGHT, ACTION_RIGHT, ACTION_RIGHT, ACTION_RIGHT, ACTION_RIGHT, ACTION_DOWN, ACTION_DOWN, ACTION_UP, ACTION_MODIFIER2, ACTION_SHOOT_DOWN, ACTION_LEFT, ACTION_LEFT, ACTION_LEFT, ACTION_LEFT, ACTION_LEFT, ACTION_LEFT, ACTION_LEFT, ACTION_LEFT, ACTION_LEFT, ACTION_MODIFIER2, ACTION_SHOOT_RIGHT, ACTION_LEFT, ACTION_LEFT, ACTION_LEFT, ACTION_LEFT, ACTION_DOWN, ACTION_DOWN, ACTION_MODIFIER2, ACTION_SHOOT_DOWN, ACTION_UP, ACTION_MODIFIER2, ACTION_SHOOT_RIGHT, ACTION_DOWN, ACTION_DOWN, ACTION_DOWN, ACTION_DOWN, ACTION_UP, ACTION_UP, ACTION_UP, ACTION_UP, ACTION_MODIFIER2, ACTION_SHOOT_RIGHT, ACTION_DOWN, ACTION_DOWN, ACTION_DOWN, ACTION_DOWN, ACTION_DOWN, ACTION_RIGHT, ACTION_MODIFIER2, ACTION_SHOOT_UP, ACTION_LEFT, ACTION_DOWN, ACTION_DOWN, ACTION_DOWN, ACTION_DOWN, ACTION_RIGHT, ACTION_MODIFIER2, ACTION_SHOOT_UP, ACTION_LEFT, ACTION_DOWN, ACTION_DOWN, ACTION_DOWN, ACTION_DOWN, ACTION_DOWN, ACTION_RIGHT, ACTION_MODIFIER2, ACTION_SHOOT_UP, ACTION_LEFT, ACTION_MODIFIER2, ACTION_SHOOT_UP, ACTION_RIGHT, ACTION_MODIFIER2, ACTION_SHOOT_UP, ACTION_LEFT, ACTION_MODIFIER2, ACTION_SHOOT_UP, ACTION_RIGHT, ACTION_MODIFIER2, ACTION_SHOOT_UP, ACTION_LEFT, ACTION_MODIFIER2, ACTION_SHOOT_UP, ACTION_RIGHT, ACTION_MODIFIER2, ACTION_SHOOT_UP, ACTION_LEFT, ACTION_MODIFIER2, ACTION_SHOOT_UP, ACTION_RIGHT, ACTION_EXIT }; static int demo_mode_demo_data_Robbo_B_level4[] = { ACTION_LEFT, ACTION_LEFT, ACTION_RIGHT, ACTION_DOWN, ACTION_DOWN, ACTION_LEFT, ACTION_UP, ACTION_LEFT, ACTION_LEFT, ACTION_DOWN, ACTION_RIGHT, ACTION_LEFT, ACTION_LEFT, ACTION_UP, ACTION_LEFT, ACTION_LEFT, ACTION_UP, ACTION_DOWN, ACTION_DOWN, ACTION_UP, ACTION_RIGHT, ACTION_RIGHT, ACTION_DOWN, ACTION_LEFT, ACTION_UP, ACTION_LEFT, ACTION_DOWN, ACTION_RIGHT, ACTION_DOWN, ACTION_DOWN, ACTION_RIGHT, ACTION_UP, ACTION_UP, ACTION_RIGHT, ACTION_RIGHT, ACTION_DOWN, ACTION_LEFT, ACTION_UP, ACTION_LEFT, ACTION_LEFT, ACTION_DOWN, ACTION_RIGHT, ACTION_RIGHT, ACTION_RIGHT, ACTION_DOWN, ACTION_DOWN, ACTION_DOWN, ACTION_LEFT, ACTION_LEFT, ACTION_LEFT, ACTION_LEFT, ACTION_LEFT, ACTION_LEFT, ACTION_UP, ACTION_UP, ACTION_DOWN, ACTION_DOWN, ACTION_LEFT, ACTION_LEFT, ACTION_LEFT, ACTION_LEFT, ACTION_LEFT, ACTION_MODIFIER2, ACTION_SHOOT_UP, ACTION_RIGHT, ACTION_MODIFIER2, ACTION_SHOOT_UP, ACTION_RIGHT, ACTION_SHOOT_UP, ACTION_MODIFIER2, ACTION_RIGHT, ACTION_RIGHT, ACTION_MODIFIER2, ACTION_SHOOT_UP, ACTION_LEFT, ACTION_UP, ACTION_UP, ACTION_UP, ACTION_UP, ACTION_UP, ACTION_UP, ACTION_UP, ACTION_UP, ACTION_RIGHT, ACTION_RIGHT, ACTION_RIGHT, ACTION_RIGHT, ACTION_RIGHT, ACTION_RIGHT, ACTION_RIGHT, ACTION_RIGHT, ACTION_RIGHT, ACTION_RIGHT, ACTION_UP, ACTION_UP, ACTION_UP, ACTION_UP, ACTION_UP, ACTION_EXIT }; static int demo_mode_demo_data_RobboBoss_level12[] = { ACTION_DOWN, ACTION_UP, ACTION_RIGHT, ACTION_DOWN, ACTION_LEFT, ACTION_DOWN, ACTION_DOWN, ACTION_RIGHT, ACTION_DOWN, ACTION_DOWN, ACTION_DOWN, ACTION_DOWN, ACTION_LEFT, ACTION_LEFT, ACTION_LEFT, ACTION_UP, ACTION_LEFT, ACTION_LEFT, ACTION_DOWN, ACTION_LEFT, ACTION_LEFT, ACTION_UP, ACTION_LEFT, ACTION_LEFT, ACTION_LEFT, ACTION_UP, ACTION_UP, ACTION_RIGHT, ACTION_UP, ACTION_RIGHT, ACTION_RIGHT, ACTION_RIGHT, ACTION_RIGHT, ACTION_RIGHT, ACTION_RIGHT, ACTION_UP, ACTION_UP, ACTION_DOWN, ACTION_MODIFIER2, ACTION_MODIFIER2, ACTION_SHOOT_UP, ACTION_MODIFIER2, ACTION_DOWN, ACTION_LEFT, ACTION_LEFT, ACTION_RIGHT, ACTION_RIGHT, ACTION_UP, ACTION_UP, ACTION_UP, ACTION_MODIFIER2, ACTION_SHOOT_LEFT, ACTION_DOWN, ACTION_MODIFIER2, ACTION_SHOOT_LEFT, ACTION_UP, ACTION_MODIFIER2, ACTION_SHOOT_LEFT, ACTION_DOWN, ACTION_MODIFIER2, ACTION_SHOOT_LEFT, ACTION_LEFT, ACTION_UP, ACTION_MODIFIER2, ACTION_SHOOT_LEFT, ACTION_DOWN, ACTION_MODIFIER2, ACTION_SHOOT_LEFT, ACTION_LEFT, ACTION_UP, ACTION_LEFT, ACTION_LEFT, ACTION_LEFT, ACTION_LEFT, ACTION_LEFT, ACTION_LEFT, ACTION_LEFT, ACTION_LEFT, ACTION_LEFT, ACTION_DOWN, ACTION_EXIT }; static int demo_mode_demo_data_RobboII_level8[] = { ACTION_LEFT, ACTION_LEFT, ACTION_LEFT, ACTION_RIGHT, ACTION_DOWN, ACTION_DOWN, ACTION_LEFT, ACTION_LEFT, ACTION_LEFT, ACTION_LEFT, ACTION_LEFT, ACTION_DOWN, ACTION_LEFT, ACTION_DOWN, ACTION_DOWN, ACTION_DOWN, ACTION_LEFT, ACTION_LEFT, ACTION_DOWN, ACTION_DOWN, ACTION_DOWN, ACTION_DOWN, ACTION_DOWN, ACTION_DOWN, ACTION_LEFT, ACTION_LEFT, ACTION_LEFT, ACTION_UP, ACTION_UP, ACTION_UP, ACTION_RIGHT, ACTION_RIGHT, ACTION_RIGHT, ACTION_UP, ACTION_UP, ACTION_LEFT, ACTION_UP, ACTION_DOWN, ACTION_RIGHT, ACTION_DOWN, ACTION_DOWN, ACTION_LEFT, ACTION_LEFT, ACTION_UP, ACTION_UP, ACTION_UP, ACTION_RIGHT, ACTION_RIGHT, ACTION_RIGHT, ACTION_RIGHT, ACTION_RIGHT, ACTION_RIGHT, ACTION_RIGHT, ACTION_RIGHT, ACTION_LEFT, ACTION_LEFT, ACTION_LEFT, ACTION_LEFT, ACTION_LEFT, ACTION_LEFT, ACTION_LEFT, ACTION_UP, ACTION_UP, ACTION_UP, ACTION_RIGHT, ACTION_RIGHT, ACTION_UP, ACTION_UP, ACTION_DOWN, ACTION_DOWN, ACTION_LEFT, ACTION_LEFT, ACTION_EXIT }; static int demo_mode_demo_data_RobboIV_level7[] = { ACTION_UP, ACTION_UP, ACTION_UP, ACTION_UP, ACTION_UP, ACTION_UP, ACTION_RIGHT, ACTION_RIGHT, ACTION_DOWN, ACTION_DOWN, ACTION_DOWN, ACTION_LEFT, ACTION_UP, ACTION_UP, ACTION_UP, ACTION_UP, ACTION_UP, ACTION_UP, ACTION_RIGHT, ACTION_RIGHT, ACTION_RIGHT, ACTION_RIGHT, ACTION_RIGHT, ACTION_RIGHT, ACTION_RIGHT, ACTION_LEFT, ACTION_LEFT, ACTION_LEFT, ACTION_LEFT, ACTION_LEFT, ACTION_LEFT, ACTION_LEFT, ACTION_DOWN, ACTION_MODIFIER2, ACTION_SHOOT_UP, ACTION_RIGHT, ACTION_DOWN, ACTION_DOWN, ACTION_DOWN, ACTION_DOWN, ACTION_LEFT, ACTION_MODIFIER2, ACTION_SHOOT_DOWN, ACTION_RIGHT, ACTION_UP, ACTION_UP, ACTION_LEFT, ACTION_DOWN, ACTION_DOWN, ACTION_DOWN, ACTION_DOWN, ACTION_DOWN, ACTION_DOWN, ACTION_RIGHT, ACTION_UP, ACTION_UP, ACTION_UP, ACTION_UP, ACTION_UP, ACTION_UP, ACTION_LEFT, ACTION_LEFT, ACTION_UP, ACTION_MODIFIER2, ACTION_SHOOT_UP, ACTION_DOWN, ACTION_DOWN, ACTION_DOWN, ACTION_UP, ACTION_UP, ACTION_UP, ACTION_UP, ACTION_UP, ACTION_UP, ACTION_UP, ACTION_UP, ACTION_RIGHT, ACTION_DOWN, ACTION_LEFT, ACTION_UP, ACTION_LEFT, ACTION_DOWN, ACTION_DOWN, ACTION_DOWN, ACTION_DOWN, ACTION_DOWN, ACTION_RIGHT, ACTION_RIGHT, ACTION_UP, ACTION_UP, ACTION_UP, ACTION_RIGHT, ACTION_RIGHT, ACTION_DOWN, ACTION_EXIT }; static int demo_mode_demo_data_RobboV_level6[] = { ACTION_RIGHT, ACTION_RIGHT, ACTION_DOWN, ACTION_RIGHT, ACTION_RIGHT, ACTION_UP, ACTION_RIGHT, ACTION_LEFT, ACTION_UP, ACTION_UP, ACTION_UP, ACTION_LEFT, ACTION_LEFT, ACTION_LEFT, ACTION_DOWN, ACTION_DOWN, ACTION_RIGHT, ACTION_RIGHT, ACTION_RIGHT, ACTION_UP, ACTION_LEFT, ACTION_UP, ACTION_RIGHT, ACTION_UP, ACTION_LEFT, ACTION_UP, ACTION_UP, ACTION_RIGHT, ACTION_RIGHT, ACTION_DOWN, ACTION_DOWN, ACTION_DOWN, ACTION_RIGHT, ACTION_RIGHT, ACTION_RIGHT, ACTION_RIGHT, ACTION_RIGHT, ACTION_EXIT }; static int demo_mode_demo_data_RobboX_level2[] = { ACTION_RIGHT, ACTION_RIGHT, ACTION_DOWN, ACTION_RIGHT, ACTION_DOWN, ACTION_DOWN, ACTION_DOWN, ACTION_DOWN, ACTION_LEFT, ACTION_UP, ACTION_UP, ACTION_LEFT, ACTION_UP, ACTION_RIGHT, ACTION_LEFT, ACTION_MODIFIER2, ACTION_SHOOT_RIGHT, ACTION_DOWN, ACTION_LEFT, ACTION_DOWN, ACTION_DOWN, ACTION_UP, ACTION_RIGHT, ACTION_RIGHT, ACTION_DOWN, ACTION_RIGHT, ACTION_UP, ACTION_UP, ACTION_LEFT, ACTION_UP, ACTION_RIGHT, ACTION_LEFT, ACTION_LEFT, ACTION_LEFT, ACTION_RIGHT, ACTION_DOWN, ACTION_DOWN, ACTION_UP, ACTION_UP, ACTION_LEFT, ACTION_LEFT, ACTION_RIGHT, ACTION_UP, ACTION_MODIFIER2, ACTION_SHOOT_RIGHT, ACTION_DOWN, ACTION_DOWN, ACTION_DOWN, ACTION_UP, ACTION_UP, ACTION_UP, ACTION_RIGHT, ACTION_RIGHT, ACTION_RIGHT, ACTION_RIGHT, ACTION_RIGHT, ACTION_RIGHT, ACTION_RIGHT, ACTION_DOWN, ACTION_LEFT, ACTION_LEFT, ACTION_DOWN, ACTION_DOWN, ACTION_RIGHT, ACTION_RIGHT, ACTION_DOWN, ACTION_DOWN, ACTION_DOWN, ACTION_DOWN, ACTION_DOWN, ACTION_DOWN, ACTION_LEFT, ACTION_MODIFIER2, ACTION_SHOOT_DOWN, ACTION_LEFT, ACTION_LEFT, ACTION_RIGHT, ACTION_RIGHT, ACTION_RIGHT, ACTION_LEFT, ACTION_DOWN, ACTION_EXIT }; static int demo_mode_demo_data_recorded[DEMO_MODE_LENGTH]; int returnval = UNDEFINED, count; if (subfunction == DEMO_MODE_INITIALISE) { demo_mode_active = FALSE; demo_mode_timeout = DELAY_DEMO; demo_mode_frame = 0; demo_mode_demos_index = -1; /* Will be incremented first before use */ /* Initialise the demo data */ for (count = 0; count < level_pack_count - 1; count++) if (!strcmp(level_packs[count].name, "Forever")) break; demo_mode_demos[0][0] = count; demo_mode_demos[0][1] = 4; demo_mode_demo_data[0] = demo_mode_demo_data_Forever_level4; for (count = 0; count < level_pack_count - 1; count++) if (!strcmp(level_packs[count].name, "K-Robbo")) break; demo_mode_demos[1][0] = count; demo_mode_demos[1][1] = 17; demo_mode_demo_data[1] = demo_mode_demo_data_K_Robbo_level17; for (count = 0; count < level_pack_count - 1; count++) if (!strcmp(level_packs[count].name, "R653924")) break; demo_mode_demos[2][0] = count; demo_mode_demos[2][1] = 2; demo_mode_demo_data[2] = demo_mode_demo_data_R653924_level2; for (count = 0; count < level_pack_count - 1; count++) if (!strcmp(level_packs[count].name, "Robbo2009")) break; demo_mode_demos[3][0] = count; demo_mode_demos[3][1] = 9; demo_mode_demo_data[3] = demo_mode_demo_data_Robbo2009_level9; for (count = 0; count < level_pack_count - 1; count++) if (!strcmp(level_packs[count].name, "RobboXI")) break; demo_mode_demos[4][0] = count; demo_mode_demos[4][1] = 3; demo_mode_demo_data[4] = demo_mode_demo_data_RobboXI_level3; for (count = 0; count < level_pack_count - 1; count++) if (!strcmp(level_packs[count].name, "Robbo98")) break; demo_mode_demos[5][0] = count; demo_mode_demos[5][1] = 10; demo_mode_demo_data[5] = demo_mode_demo_data_Robbo98_level10; for (count = 0; count < level_pack_count - 1; count++) if (!strcmp(level_packs[count].name, "Robbo-B")) break; demo_mode_demos[6][0] = count; demo_mode_demos[6][1] = 4; demo_mode_demo_data[6] = demo_mode_demo_data_Robbo_B_level4; for (count = 0; count < level_pack_count - 1; count++) if (!strcmp(level_packs[count].name, "RobboBoss")) break; demo_mode_demos[7][0] = count; demo_mode_demos[7][1] = 12; demo_mode_demo_data[7] = demo_mode_demo_data_RobboBoss_level12; for (count = 0; count < level_pack_count - 1; count++) if (!strcmp(level_packs[count].name, "RobboII")) break; demo_mode_demos[8][0] = count; demo_mode_demos[8][1] = 8; demo_mode_demo_data[8] = demo_mode_demo_data_RobboII_level8; for (count = 0; count < level_pack_count - 1; count++) if (!strcmp(level_packs[count].name, "RobboIV")) break; demo_mode_demos[9][0] = count; demo_mode_demos[9][1] = 7; demo_mode_demo_data[9] = demo_mode_demo_data_RobboIV_level7; for (count = 0; count < level_pack_count - 1; count++) if (!strcmp(level_packs[count].name, "RobboV")) break; demo_mode_demos[10][0] = count; demo_mode_demos[10][1] = 6; demo_mode_demo_data[10] = demo_mode_demo_data_RobboV_level6; for (count = 0; count < level_pack_count - 1; count++) if (!strcmp(level_packs[count].name, "RobboX")) break; demo_mode_demos[11][0] = count; demo_mode_demos[11][1] = 2; demo_mode_demo_data[11] = demo_mode_demo_data_RobboX_level2; /* The record slot is the last pointer */ demo_mode_demo_data[DEMO_MODE_RECORD_SLOT] = demo_mode_demo_data_recorded; } else if (subfunction == DEMO_MODE_TIMEOUT_INITIALISE) { demo_mode_timeout = DELAY_DEMO; } else if (subfunction == DEMO_MODE_TIMEOUT_DECREMENT) { if (!--demo_mode_timeout) demo_mode(DEMO_MODE_ACTIVATE, 0); returnval = demo_mode_active; } else if (subfunction == DEMO_MODE_ACTIVATE) { demo_mode_active = TRUE; demo_mode_frame = 0; /* * Store the currently selected pack * Select the demo pack * Store level_selected for the demo pack * Select the demo level */ demo_mode_original_selected_pack = selected_pack; if (++demo_mode_demos_index >= DEMO_MODE_DEMO_COUNT - 1) demo_mode_demos_index = 0; selected_pack = demo_mode_demos[demo_mode_demos_index][0]; demo_mode_original_level_selected = level_packs[selected_pack].level_selected; level_packs[selected_pack].level_selected = demo_mode_demos[demo_mode_demos_index][1]; #ifdef DEBUG_DEMO_MODE printf("*** Start %s ***\n", __func__); printf("Playing demo: pack %i level %i\n", demo_mode_demos[demo_mode_demos_index][0], demo_mode_demos[demo_mode_demos_index][1]); printf("*** Stop %s ***\n", __func__); #endif if (level_init()) { demo_mode(DEMO_MODE_DEACTIVATE, 0); /* Restore user selected pack and level */ demo_mode(DEMO_MODE_TIMEOUT_INITIALISE, 0); /* Restart timer */ game_mode = INTRO_SCREEN; intro_screen.redraw |= REDRAW_INITIALISE; } else { /* Game on */ game_mode = GAME_ON; game_area.redraw |= REDRAW_INITIALISE; /* Initialise the fade */ show_game_area_fade(FADE_SUB_INITIALISE, 16); } } else if (subfunction == DEMO_MODE_IS_ACTIVE) { returnval = demo_mode_active; } else if (subfunction == DEMO_MODE_DEACTIVATE) { if (demo_mode_active) { demo_mode_active = FALSE; /* * Restore level_selected for the demo pack * Restore the selected pack */ level_packs[selected_pack].level_selected = demo_mode_original_level_selected; selected_pack = demo_mode_original_selected_pack; } } else if (subfunction == DEMO_MODE_RECORD_INITIALISE) { for (count = 0; count < DEMO_MODE_LENGTH; count++) *(demo_mode_demo_data[DEMO_MODE_RECORD_SLOT] + count) = UNDEFINED; demo_mode_frame = 0; } else if (subfunction == DEMO_MODE_RECORD) { if (demo_mode_frame >= DEMO_MODE_LENGTH) { printf("Demo recording reached end of buffer\n"); *(demo_mode_demo_data[DEMO_MODE_RECORD_SLOT] + DEMO_MODE_LENGTH - 1) = ACTION_EXIT; } else { *(demo_mode_demo_data[DEMO_MODE_RECORD_SLOT] + demo_mode_frame++) = actionid; } } else if (subfunction == DEMO_MODE_PLAYBACK) { returnval = *(demo_mode_demo_data[demo_mode_demos_index] + demo_mode_frame++); } else if (subfunction == DEMO_MODE_DUMP) { printf("\nstatic int demo_mode_demo_data_%s_level%i[] = { ", level_packs[selected_pack].name, level_packs[selected_pack].level_selected); for (count = 0; count < DEMO_MODE_LENGTH; count++) { if (*(demo_mode_demo_data[DEMO_MODE_RECORD_SLOT] + count) != UNDEFINED) printf("%i, ", *(demo_mode_demo_data[DEMO_MODE_RECORD_SLOT] + count)); } printf("%c%c };\n\n", 8, 8); } return returnval; } /*************************************************************************** * Manage Game On Input * ***************************************************************************/ /* This is required to activate things with a pointer and since there is no in-game menu equivalent we can reference everything by actionid as normal */ void manage_game_on_input (int actionid) { switch (actionid) { case ACTION_UP: /* Quit scrolling when Robbo is not teleporting and not in demo mode */ if (!demo_mode (DEMO_MODE_IS_ACTIVE, 0) && !robbo.teleporting && viewport.cycles_to_dest > 1) viewport.cycles_to_dest = 1; /* Attempt to move Robbo to his intended destination */ if (robbo.alive) move_robbo (0, -1); break; case ACTION_DOWN: /* Quit scrolling when Robbo is not teleporting and not in demo mode */ if (!demo_mode (DEMO_MODE_IS_ACTIVE, 0) && !robbo.teleporting && viewport.cycles_to_dest > 1) viewport.cycles_to_dest = 1; /* Attempt to move Robbo to his intended destination */ if (robbo.alive) move_robbo (0, 1); break; case ACTION_LEFT: /* Quit scrolling when Robbo is not teleporting and not in demo mode */ if (!demo_mode (DEMO_MODE_IS_ACTIVE, 0) && !robbo.teleporting && viewport.cycles_to_dest > 1) viewport.cycles_to_dest = 1; /* Attempt to move Robbo to his intended destination */ if (robbo.alive) move_robbo (-1, 0); break; case ACTION_RIGHT: /* Quit scrolling when Robbo is not teleporting and not in demo mode */ if (!demo_mode (DEMO_MODE_IS_ACTIVE, 0) && !robbo.teleporting && viewport.cycles_to_dest > 1) viewport.cycles_to_dest = 1; /* Attempt to move Robbo to his intended destination */ if (robbo.alive) move_robbo (1, 0); break; case ACTION_RESTART: restart_timeout = -1; if (level_init ()) { game_mode = INTRO_SCREEN; music_stop (); intro_screen.redraw |= REDRAW_INITIALISE; } else { game_area.redraw |= REDRAW_EVERYTHING; /* Initialise the fade */ show_game_area_fade (FADE_SUB_INITIALISE, 17); } break; case ACTION_SHOOT_UP: if (robbo.alive) shoot_robbo (0, -1); break; case ACTION_SHOOT_DOWN: if (robbo.alive) shoot_robbo (0, 1); break; case ACTION_SHOOT_LEFT: if (robbo.alive) shoot_robbo (-1, 0); break; case ACTION_SHOOT_RIGHT: if (robbo.alive) shoot_robbo (1, 0); break; case ACTION_SELECT: break; case ACTION_EXIT: /* If demo mode is active then deactivate it */ demo_mode (DEMO_MODE_DEACTIVATE, 0); /* Cancel any active or pending fades */ restart_timeout = -1; show_game_area_fade (FADE_SUB_KILL, 0); game_mode = INTRO_SCREEN; music_stop (); intro_screen.redraw |= REDRAW_INITIALISE; break; case ACTION_HELP: /* Cancel any active fade */ show_game_area_fade (FADE_SUB_KILL, 0); calling_game_mode = game_mode; game_mode = HELP_SCREEN; help_screen.redraw |= REDRAW_INITIALISE; break; case ACTION_OPTIONS: /* Cancel any active fade */ show_game_area_fade (FADE_SUB_KILL, 0); calling_game_mode = game_mode; game_mode = OPTIONS_SCREEN; options_screen.redraw |= REDRAW_INITIALISE; break; case ACTION_TOGGLE_DESIGNER: /* ok, we will have to initialize designer mode */ game_mode = DESIGNER_ON; konstruktor_init (); break; } } /*************************************************************************** * Manage Intro Screen Select * ***************************************************************************/ void manage_intro_screen_select (int menuitemid) { if (menuitemid == INTRO_SCREEN_MENU_ITEM_START || menuitemid == INTRO_SCREEN_MENU_ITEM_LEVEL || menuitemid == INTRO_SCREEN_MENU_ITEM_PACK) { /* Game on */ game_mode = GAME_ON; if (level_init ()) { game_mode = INTRO_SCREEN; music_stop (); intro_screen.redraw |= REDRAW_INITIALISE; } else { game_area.redraw |= REDRAW_INITIALISE; /* Initialise the fade */ show_game_area_fade (FADE_SUB_INITIALISE, 16); } } else if (menuitemid == INTRO_SCREEN_MENU_ITEM_HELP) { calling_game_mode = game_mode; game_mode = HELP_SCREEN; help_screen.redraw |= REDRAW_INITIALISE; } else if (menuitemid == INTRO_SCREEN_MENU_ITEM_OPTIONS) { calling_game_mode = game_mode; game_mode = OPTIONS_SCREEN; options_screen.redraw |= REDRAW_INITIALISE; } else if (menuitemid == INTRO_SCREEN_MENU_ITEM_DESIGNER) { /* It won't work from here */ } else if (menuitemid == INTRO_SCREEN_MENU_ITEM_EXIT) { quit_game |= 1; } } /*************************************************************************** * Manage Intro Screen Decrement * ***************************************************************************/ void manage_intro_screen_decrement (int menuitemid) { if (menuitemid == INTRO_SCREEN_MENU_ITEM_LEVEL) { if (level_packs[selected_pack].level_selected > 1) level_packs[selected_pack].level_selected--; } else if (menuitemid == INTRO_SCREEN_MENU_ITEM_PACK) { if (selected_pack > 0) { level_packs[selected_pack].selected = FALSE; level_packs[--selected_pack].selected = TRUE; } } intro_screen.redraw |= REDRAW_INTERMEDIATE; } /*************************************************************************** * Manage Intro Screen Increment * ***************************************************************************/ void manage_intro_screen_increment (int menuitemid) { if (menuitemid == INTRO_SCREEN_MENU_ITEM_LEVEL) { if (level_packs[selected_pack].level_selected < level_packs[selected_pack].level_reached) level_packs[selected_pack].level_selected++; } else if (menuitemid == INTRO_SCREEN_MENU_ITEM_PACK) { if (selected_pack < found_pack_count - 1) { level_packs[selected_pack].selected = FALSE; level_packs[++selected_pack].selected = TRUE; } } intro_screen.redraw |= REDRAW_INTERMEDIATE; } /*************************************************************************** * Manage Help Select * ***************************************************************************/ void manage_help_select (int selecteditem) { if (selecteditem == 0) { /* Previous page */ if (helppage > 0) { helppage--; helppageselecteditem = 1; help_screen.redraw |= REDRAW_EVERYTHING; } } else if (selecteditem == 1) { /* Return to calling state */ game_mode = calling_game_mode; if (game_mode == INTRO_SCREEN) { intro_screen.redraw |= REDRAW_INITIALISE; } else if (game_mode == GAME_ON) { game_area.redraw |= REDRAW_INITIALISE; } } else if (selecteditem == 2) { /* Next page */ if (helppage < HELP_SCREEN_PAGES - 1) { helppage++; helppageselecteditem = 1; help_screen.redraw |= REDRAW_EVERYTHING; } } } /*************************************************************************** * Manage Options Select * ***************************************************************************/ /* This function makes it easy to manage the modification of dozens of options across dozens of pages either using an up/down menu item selector or by targeting the items directly with a pointer */ void manage_options_select (int optionid) { char temp_default_joystick_name[MAX_JOYSTICK_NAME_LENGTH]; MSG_Box temp_msg_box; int count, result; if (options[optionid]) { if (optionid % 13 == OPTIONS_MENUPOS_LEFT) { /* Previous page */ if (optionspage > 0) { optionspage--; options_screen.redraw |= REDRAW_EVERYTHING; } } else if (optionid % 13 == OPTIONS_MENUPOS_SAVE) { /* Save options */ game_cycle_limit = temp_game_cycle_limit; if (joystick_count > 0) { if (default_joystick != temp_default_joystick) { strcpy (temp_default_joystick_name, "-1"); if ((result = initialise_joystick (temp_default_joystick, temp_default_joystick_name, TRUE)) != UNDEFINED) { default_joystick = result; get_joystick_name (default_joystick, default_joystick_name); } } joystick_dead_zone = temp_joystick_dead_zone; } key_repeat_delay = temp_key_repeat_delay; key_repeat_interval = temp_key_repeat_interval; if (selected_locale != temp_selected_locale) { selected_locale = temp_selected_locale; load_selected_locale (); } rcfile.save_frequency = temp_rcfile_save_frequency; for (count = 0; count < USER_CONTROLS; count++) { user_controls[count].device = temp_user_controls[count].device; user_controls[count].id = temp_user_controls[count].id; user_controls[count].mod = temp_user_controls[count].mod; user_controls[count].state = SDL_RELEASED; /* Stops controls becoming stuck in a pressed state */ user_controls[count].cyclesactive = 0; /* Stops controls becoming stuck in a pressed state */ user_controls[count].delay = KEY_REPEAT_DELAY; user_controls[count].interval = KEY_REPEAT_INTERVAL; } if (gnurobbo_op_env.systempointer != temp_gnurobbo_op_env.systempointer) { gnurobbo_op_env.systempointer = temp_gnurobbo_op_env.systempointer; ROB_SetOpEnvSystemPointer (gnurobbo_op_env.systempointer); } pointer_controls.pad_type = temp_pointer_controls.pad_type; if (selected_skin != temp_selected_skin) { selected_skin = temp_selected_skin; load_selected_skin (); level.colour_override = UNDEFINED; /* Important ;) */ read_skin_level_colour_override (); load_soundskin (skins[selected_skin].soundskin); } /* Save rcfile now if requested; recommended for battery operated or unstable devices */ if (rcfile.save_frequency == RCFILE_SAVE_ON_CHANGE) { save_resource_file (path_resource_file, FALSE); #if defined(PLATFORM_WIN32) || defined(PLATFORM_PC) #elif defined(PLATFORM_GP2X) system ("sync"); #elif defined(PLATFORM_ZAURUS) #elif defined(PLATFORM_PSP) #endif } /* Some of the above will require the entire page to be redrawn so always redraw everything on save */ options_screen.redraw |= REDRAW_EVERYTHING; strcpy (temp_msg_box.name, MESSAGE_BOX_SAVING_ID); strcpy (temp_msg_box.message, txt_Changes_saved); temp_msg_box.timeout = DELAY_MESSAGE_BOX_SAVING; temp_msg_box.dynamic = TRUE; temp_msg_box.w = temp_msg_box.h = 0; show_message_box (MESSAGE_BOX_SUB_INITIALISE, &temp_msg_box); } else if (optionid % 13 == OPTIONS_MENUPOS_EXIT) { /* Return to calling state */ game_mode = calling_game_mode; if (game_mode == INTRO_SCREEN) { intro_screen.redraw |= REDRAW_INITIALISE; } else if (game_mode == GAME_ON) { game_area.redraw |= REDRAW_INITIALISE; } } else if (optionid % 13 == OPTIONS_MENUPOS_RIGHT) { /* Next page */ if (optionspage < OPTIONS_SCREEN_PAGES - 1) { optionspage++; options_screen.redraw |= REDRAW_EVERYTHING; } } else if (optionid == OPTIONS_RESTORE_DEFAULT_CONTROLS) { /* Restore default controls */ set_default_user_controls (temp_user_controls); options_screen.redraw |= REDRAW_INTERMEDIATE; strcpy (temp_msg_box.name, MESSAGE_BOX_RESTORE_ID); strcpy (temp_msg_box.message, txt_Default_controls_restored); temp_msg_box.timeout = DELAY_MESSAGE_BOX_RESTORE; temp_msg_box.dynamic = TRUE; temp_msg_box.w = temp_msg_box.h = 0; show_message_box (MESSAGE_BOX_SUB_INITIALISE, &temp_msg_box); } else if (optionid >= OPTIONS_ACTION_UP && optionid <= OPTIONS_ACTION_PRIMARY_CLICK) { /* Initiate assigning a new key or button to a control */ getkey_timeout = DELAY_MESSAGE_BOX_GETKEY - 1; /* Minus one makes the transition smooth if the error box gets shown */ getkey_state = gua_state; getkey_count = 0; options_screen.redraw |= REDRAW_INTERMEDIATE; strcpy (temp_msg_box.name, MESSAGE_BOX_GETKEY_ID); strcpy (temp_msg_box.message, txt_Press_something_and_release); temp_msg_box.timeout = DELAY_MESSAGE_BOX_GETKEY; temp_msg_box.dynamic = TRUE; temp_msg_box.w = temp_msg_box.h = 0; show_message_box (MESSAGE_BOX_SUB_INITIALISE, &temp_msg_box); } else { options_screen.redraw |= REDRAW_INTERMEDIATE; } } } /*************************************************************************** * Manage Options First * ***************************************************************************/ /* This function makes it easy to manage the modification of dozens of * options across dozens of pages either using an up/down menu item selector * or by targeting the items directly with a pointer */ void manage_options_first (int optionid) { if (options[optionid]) { if (optionid % 13 >= OPTIONS_MENUPOS_LEFT && optionid % 13 <= OPTIONS_MENUPOS_RIGHT) { /* Do nothing; these should have been dealt with before this function */ } else if (optionid == OPTIONS_GAME_SPEED) { temp_game_cycle_limit = GAME_CYCLE_LIMIT_MAX; } else if (optionid == OPTIONS_DEFAULT_JOYSTICK) { temp_default_joystick = 0; } else if (optionid == OPTIONS_JOYSTICK_AXES_DEAD_ZONE) { temp_joystick_dead_zone = 1; } else if (optionid == OPTIONS_KEY_REPEAT_DELAY) { temp_key_repeat_delay = KEY_REPEAT_MIN; } else if (optionid == OPTIONS_KEY_REPEAT_INTERVAL) { temp_key_repeat_interval = KEY_REPEAT_MIN; } else if (optionid == OPTIONS_LANGUAGE) { temp_selected_locale = 0; } else if (optionid == OPTIONS_SAVE_FREQUENCY) { temp_rcfile_save_frequency = RCFILE_SAVE_ON_EXIT; } else if (optionid >= OPTIONS_ACTION_UP && optionid <= OPTIONS_ACTION_PRIMARY_CLICK) { if (temp_user_controls[optionid - OPTIONS_ACTION_UP - ((optionid - OPTIONS_ACTION_UP) / 13) * 4].device != UNDEFINED && (optionid - OPTIONS_ACTION_UP - ((optionid - OPTIONS_ACTION_UP) / 13) * 4 < ACTION_MODIFIER1 || optionid - OPTIONS_ACTION_UP - ((optionid - OPTIONS_ACTION_UP) / 13) * 4 > ACTION_MODIFIER4)) { temp_user_controls[optionid - OPTIONS_ACTION_UP - ((optionid - OPTIONS_ACTION_UP) / 13) * 4].mod = UNDEFINED; } } else if (optionid == OPTIONS_SYSTEM_POINTER) { temp_gnurobbo_op_env.systempointer = FALSE; } else if (optionid == OPTIONS_POINTER_CONTROLS_PAD_TYPE) { temp_pointer_controls.pad_type = POINTER_CONTROLS_PAD_TYPE_VIEWPORT; } else if (optionid == OPTIONS_SOUND) { temp_game_sound = sound = 0; #ifdef HAVE_MUSIC music_stop(); #endif } else if (optionid == OPTIONS_SFX_VOL) { temp_sfx_vol = sfx_vol = 0; play_sound (SFX_SCREW, SND_NORM); } else if (optionid == OPTIONS_SKIN) { temp_selected_skin = 0; } options_screen.redraw |= REDRAW_INTERMEDIATE; } } /*************************************************************************** * Manage Options Last * ***************************************************************************/ /* This function makes it easy to manage the modification of dozens of * options across dozens of pages either using an up/down menu item selector * or by targeting the items directly with a pointer */ void manage_options_last (int optionid) { if (options[optionid]) { if (optionid % 13 >= OPTIONS_MENUPOS_LEFT && optionid % 13 <= OPTIONS_MENUPOS_RIGHT) { /* Do nothing; these should have been dealt with before this function */ } else if (optionid == OPTIONS_GAME_SPEED) { temp_game_cycle_limit = GAME_CYCLE_LIMIT_MIN; } else if (optionid == OPTIONS_DEFAULT_JOYSTICK) { temp_default_joystick = joystick_count - 1; } else if (optionid == OPTIONS_JOYSTICK_AXES_DEAD_ZONE) { temp_joystick_dead_zone = 99; } else if (optionid == OPTIONS_KEY_REPEAT_DELAY) { temp_key_repeat_delay = KEY_REPEAT_MAX; } else if (optionid == OPTIONS_KEY_REPEAT_INTERVAL) { temp_key_repeat_interval = KEY_REPEAT_MAX; } else if (optionid == OPTIONS_LANGUAGE) { temp_selected_locale = locale_count - 1; } else if (optionid == OPTIONS_SAVE_FREQUENCY) { temp_rcfile_save_frequency = RCFILE_SAVE_ON_CHANGE; } else if (optionid >= OPTIONS_ACTION_UP && optionid <= OPTIONS_ACTION_PRIMARY_CLICK) { if (temp_user_controls [optionid - OPTIONS_ACTION_UP - ((optionid - OPTIONS_ACTION_UP) / 13) * 4].device != UNDEFINED && (optionid - OPTIONS_ACTION_UP - ((optionid - OPTIONS_ACTION_UP) / 13) * 4 < ACTION_MODIFIER1 || optionid - OPTIONS_ACTION_UP - ((optionid - OPTIONS_ACTION_UP) / 13) * 4 > ACTION_MODIFIER4)) { temp_user_controls[optionid - OPTIONS_ACTION_UP - ((optionid - OPTIONS_ACTION_UP) / 13) * 4].mod = ACTION_MODIFIER4; } } else if (optionid == OPTIONS_SYSTEM_POINTER) { temp_gnurobbo_op_env.systempointer = TRUE; } else if (optionid == OPTIONS_POINTER_CONTROLS_PAD_TYPE) { temp_pointer_controls.pad_type = POINTER_CONTROLS_PAD_TYPE_SCREEN; } else if (optionid == OPTIONS_SOUND) { temp_game_sound = sound = 1; play_sound (SFX_SCREW, SND_NORM); } else if (optionid == OPTIONS_SFX_VOL) { temp_sfx_vol = sfx_vol = 128; play_sound (SFX_SCREW, SND_NORM); } else if (optionid == OPTIONS_SKIN) { temp_selected_skin = skin_count - 1; } options_screen.redraw |= REDRAW_INTERMEDIATE; } } /*************************************************************************** * Manage Options Decrement * ***************************************************************************/ /* This function makes it easy to manage the modification of dozens of * options across dozens of pages either using an up/down menu item selector * or by targeting the items directly with a pointer */ void manage_options_decrement (int optionid) { if (options[optionid]) { if (optionid % 13 >= OPTIONS_MENUPOS_LEFT && optionid % 13 <= OPTIONS_MENUPOS_RIGHT) { /* Do nothing; these should have been dealt with before this function */ } else if (optionid == OPTIONS_GAME_SPEED) { if (temp_game_cycle_limit < GAME_CYCLE_LIMIT_MAX) temp_game_cycle_limit = 100 / (100 / temp_game_cycle_limit - 1); } else if (optionid == OPTIONS_DEFAULT_JOYSTICK) { if (temp_default_joystick > 0) temp_default_joystick--; } else if (optionid == OPTIONS_JOYSTICK_AXES_DEAD_ZONE) { if (temp_joystick_dead_zone > 1) temp_joystick_dead_zone--; } else if (optionid == OPTIONS_KEY_REPEAT_DELAY) { if (temp_key_repeat_delay > KEY_REPEAT_MIN) temp_key_repeat_delay -= 20; } else if (optionid == OPTIONS_KEY_REPEAT_INTERVAL) { if (temp_key_repeat_interval > KEY_REPEAT_MIN) temp_key_repeat_interval -= 20; } else if (optionid == OPTIONS_LANGUAGE) { if (temp_selected_locale > 0) temp_selected_locale--; } else if (optionid == OPTIONS_SAVE_FREQUENCY) { if (temp_rcfile_save_frequency > 0) temp_rcfile_save_frequency--; } else if (optionid >= OPTIONS_ACTION_UP && optionid <= OPTIONS_ACTION_PRIMARY_CLICK) { if (temp_user_controls [optionid - OPTIONS_ACTION_UP - ((optionid - OPTIONS_ACTION_UP) / 13) * 4].device != UNDEFINED && (optionid - OPTIONS_ACTION_UP - ((optionid - OPTIONS_ACTION_UP) / 13) * 4 < ACTION_MODIFIER1 || optionid - OPTIONS_ACTION_UP - ((optionid - OPTIONS_ACTION_UP) / 13) * 4 > ACTION_MODIFIER4)) { if (temp_user_controls [optionid - OPTIONS_ACTION_UP - ((optionid - OPTIONS_ACTION_UP) / 13) * 4].mod > ACTION_MODIFIER1) { temp_user_controls[optionid - OPTIONS_ACTION_UP - ((optionid - OPTIONS_ACTION_UP) / 13) * 4].mod--; } else if (temp_user_controls [optionid - OPTIONS_ACTION_UP - ((optionid - OPTIONS_ACTION_UP) / 13) * 4].mod == ACTION_MODIFIER1) { temp_user_controls[optionid - OPTIONS_ACTION_UP - ((optionid - OPTIONS_ACTION_UP) / 13) * 4].mod = UNDEFINED; } } } else if (optionid == OPTIONS_SYSTEM_POINTER) { if (temp_gnurobbo_op_env.systempointer == TRUE) temp_gnurobbo_op_env.systempointer = FALSE; } else if (optionid == OPTIONS_POINTER_CONTROLS_PAD_TYPE) { if (temp_pointer_controls.pad_type == POINTER_CONTROLS_PAD_TYPE_SCREEN) temp_pointer_controls.pad_type = POINTER_CONTROLS_PAD_TYPE_VIEWPORT; } else if (optionid == OPTIONS_SOUND) { if (temp_game_sound > 0) temp_game_sound--; if (temp_game_sound == 0 && sound == 1) sound=0; #ifdef HAVE_MUSIC music_stop(); #endif } else if (optionid == OPTIONS_SFX_VOL) { if (temp_sfx_vol > 0) temp_sfx_vol--; sfx_vol = temp_sfx_vol; play_sound (SFX_SCREW, SND_NORM); } else if (optionid == OPTIONS_SKIN) { if (temp_selected_skin > 0) temp_selected_skin--; } options_screen.redraw |= REDRAW_INTERMEDIATE; } } /*************************************************************************** * Manage Options Increment * ***************************************************************************/ /* This function makes it easy to manage the modification of dozens of * options across dozens of pages either using an up/down menu item selector * or by targeting the items directly with a pointer */ void manage_options_increment (int optionid) { if (options[optionid]) { if (optionid % 13 >= OPTIONS_MENUPOS_LEFT && optionid % 13 <= OPTIONS_MENUPOS_RIGHT) { /* Do nothing; these should have been dealt with before this function */ } else if (optionid == OPTIONS_GAME_SPEED) { if (temp_game_cycle_limit > GAME_CYCLE_LIMIT_MIN) temp_game_cycle_limit = 100 / (100 / temp_game_cycle_limit + 1); } else if (optionid == OPTIONS_DEFAULT_JOYSTICK) { if (temp_default_joystick < joystick_count - 1) temp_default_joystick++; } else if (optionid == OPTIONS_JOYSTICK_AXES_DEAD_ZONE) { if (temp_joystick_dead_zone < 99) temp_joystick_dead_zone++; } else if (optionid == OPTIONS_KEY_REPEAT_DELAY) { if (temp_key_repeat_delay < KEY_REPEAT_MAX) temp_key_repeat_delay += 20; } else if (optionid == OPTIONS_KEY_REPEAT_INTERVAL) { if (temp_key_repeat_interval < KEY_REPEAT_MAX) temp_key_repeat_interval += 20; } else if (optionid == OPTIONS_LANGUAGE) { if (temp_selected_locale < locale_count - 1) temp_selected_locale++; } else if (optionid == OPTIONS_SAVE_FREQUENCY) { if (temp_rcfile_save_frequency < 1) temp_rcfile_save_frequency++; } else if (optionid >= OPTIONS_ACTION_UP && optionid <= OPTIONS_ACTION_PRIMARY_CLICK) { if (temp_user_controls [optionid - OPTIONS_ACTION_UP - ((optionid - OPTIONS_ACTION_UP) / 13) * 4].device != UNDEFINED && (optionid - OPTIONS_ACTION_UP - ((optionid - OPTIONS_ACTION_UP) / 13) * 4 < ACTION_MODIFIER1 || optionid - OPTIONS_ACTION_UP - ((optionid - OPTIONS_ACTION_UP) / 13) * 4 > ACTION_MODIFIER4)) { if (temp_user_controls [optionid - OPTIONS_ACTION_UP - ((optionid - OPTIONS_ACTION_UP) / 13) * 4].mod == UNDEFINED) { temp_user_controls[optionid - OPTIONS_ACTION_UP - ((optionid - OPTIONS_ACTION_UP) / 13) * 4].mod = ACTION_MODIFIER1; } else if (temp_user_controls [optionid - OPTIONS_ACTION_UP - ((optionid - OPTIONS_ACTION_UP) / 13) * 4].mod < ACTION_MODIFIER4) { temp_user_controls[optionid - OPTIONS_ACTION_UP - ((optionid - OPTIONS_ACTION_UP) / 13) * 4].mod++; } } } else if (optionid == OPTIONS_SYSTEM_POINTER) { if (temp_gnurobbo_op_env.systempointer == FALSE) temp_gnurobbo_op_env.systempointer = TRUE; } else if (optionid == OPTIONS_POINTER_CONTROLS_PAD_TYPE) { if (temp_pointer_controls.pad_type == POINTER_CONTROLS_PAD_TYPE_VIEWPORT) temp_pointer_controls.pad_type = POINTER_CONTROLS_PAD_TYPE_SCREEN; } else if (optionid == OPTIONS_SOUND) { if (temp_game_sound < 1) temp_game_sound = 1; if (sound == 0 && temp_game_sound == 1) { sound=1; play_sound (SFX_SCREW, SND_NORM); } } else if (optionid == OPTIONS_SFX_VOL) { if (temp_sfx_vol < 128) temp_sfx_vol++; sfx_vol = temp_sfx_vol; play_sound (SFX_SCREW, SND_NORM); } else if (optionid == OPTIONS_SKIN) { if (temp_selected_skin < skin_count - 1) temp_selected_skin++; } options_screen.redraw |= REDRAW_INTERMEDIATE; } } /*************************************************************************** * Intro Screen Event Processor * ***************************************************************************/ /* This receives events from the ROB engine for the hotspots */ void intro_screen_event_processor (ROB_Event * rob_event) { int menuitemid, selected = FALSE; /* We're only interested in Intro Screen hotspots */ if (rob_event->rob_object->id > HOTSPOTS_ID && rob_event->rob_object->id < HOTSPOTS_ID + 1 + INTRO_SCREEN_MENU_ITEM_COUNT * 3) { /* We're only interested in click and select events */ if (rob_event->klasse == ROB_EVENT_CLICK || rob_event->klasse == ROB_EVENT_SELECT) { /* Calculate the raw menuitemid from the object id */ menuitemid = rob_event->rob_object->id - 1 - HOTSPOTS_ID; #ifdef DEBUG_ROB_HOTSPOTS ROB_ShowEvent (rob_event, __func__); printf ("%i: menuitemid=%i\n", cycle_count, menuitemid); #endif if (menuitemid / INTRO_SCREEN_MENU_ITEM_COUNT == 0) { /* This will be the textual part of a menu item */ if (rob_event->klasse == ROB_EVENT_CLICK) { /* Records item's current selected state */ if (introscreenselecteditem == menuitemid) selected = TRUE; /* Change the selected item to that which was clicked */ introscreenselecteditem = menuitemid; /* Single click to activate everything except pack and * level */ if (menuitemid < INTRO_SCREEN_MENU_ITEM_LEVEL || menuitemid > INTRO_SCREEN_MENU_ITEM_PACK) { manage_intro_screen_select (menuitemid); } else if (!selected) { /* For pack and level, the first click selects * it to allow for adjusting */ intro_screen.redraw |= REDRAW_INTERMEDIATE; } else { /* For pack and level, the second click activates * the code */ manage_intro_screen_select (menuitemid); } } } else if (menuitemid / INTRO_SCREEN_MENU_ITEM_COUNT == 1) { /* This will be the "<" part of a menu item if it exists */ if (rob_event->klasse == ROB_EVENT_SELECT) { manage_intro_screen_decrement (menuitemid % INTRO_SCREEN_MENU_ITEM_COUNT); } } else if (menuitemid / INTRO_SCREEN_MENU_ITEM_COUNT == 2) { /* This will be the ">" part of a menu item if it exists */ if (rob_event->klasse == ROB_EVENT_SELECT) { manage_intro_screen_increment (menuitemid % INTRO_SCREEN_MENU_ITEM_COUNT); } } } } } /*************************************************************************** * Help Screen Event Processor * ***************************************************************************/ /* This receives events from the ROB engine for the hotspots */ void help_screen_event_processor (ROB_Event * rob_event) { int selecteditem; /* We're only interested in Help Screen hotspots */ if (rob_event->rob_object->id > HOTSPOTS_ID && rob_event->rob_object->id < HOTSPOTS_ID + 1 + 3) { /* We're only interested in click events */ if (rob_event->klasse == ROB_EVENT_CLICK) { /* Calculate the selecteditem from the object id */ selecteditem = rob_event->rob_object->id - 1 - HOTSPOTS_ID; #ifdef DEBUG_ROB_HOTSPOTS ROB_ShowEvent (rob_event, __func__); printf ("%i: selecteditem=%i\n", cycle_count, selecteditem); #endif manage_help_select (selecteditem); } } } /*************************************************************************** * Options Screen Event Processor * ***************************************************************************/ /* This receives events from the ROB engine for the hotspots. * * I've just finished this function (20090405) and even though I put a * lot of effort into the design and preparation of the system, I wasn't * expecting it to result in something so simple! I am pleasantly surprised :) */ void options_screen_event_processor (ROB_Event * rob_event) { int optionid, selected = FALSE; /* We're only interested in Options Screen hotspots */ if (rob_event->rob_object->id > HOTSPOTS_ID && rob_event->rob_object->id < HOTSPOTS_ID + 1 + OPTIONS_COUNT * 3) { /* We're only interested in click and select events */ if (rob_event->klasse == ROB_EVENT_CLICK || rob_event->klasse == ROB_EVENT_SELECT) { /* Calculate the raw optionid from the object id */ optionid = rob_event->rob_object->id - 1 - HOTSPOTS_ID; #ifdef DEBUG_ROB_HOTSPOTS ROB_ShowEvent (rob_event, __func__); printf ("%i: optionid=%i\n", cycle_count, optionid); #endif if (optionid / OPTIONS_COUNT == 0) { /* This will be the textual part of an option */ if (rob_event->klasse == ROB_EVENT_CLICK) { /* Records item's current selected state */ if (optionspageselecteditem[optionspage] == optionid % 13) selected = TRUE; /* Change the selected item to that which was clicked */ optionspageselecteditem[optionspage] = optionid % 13; /* Single click to activate non-actions */ if (optionid < OPTIONS_ACTION_UP || optionid > OPTIONS_ACTION_PRIMARY_CLICK || optionid % 13 >= OPTIONS_MENUPOS_LEFT) { manage_options_select (optionid); } else if (!selected) { /* For actions, the first click selects it to * allow for resetting */ options_screen.redraw |= REDRAW_INTERMEDIATE; } else { /* For actions, the second click activates the code */ manage_options_select (optionid); } } } else if (optionid / OPTIONS_COUNT == 1) { /* This will be the "<" part of an option if it exists */ if (rob_event->klasse == ROB_EVENT_SELECT) { manage_options_decrement (optionid % OPTIONS_COUNT); } } else if (optionid / OPTIONS_COUNT == 2) { /* This will be the ">" part of an option if it exists */ if (rob_event->klasse == ROB_EVENT_SELECT) { manage_options_increment (optionid % OPTIONS_COUNT); } } } } } #ifdef PLATFORM_PSP /*************************************************************************** * Exit Callback * ***************************************************************************/ int exit_callback (int arg1, int arg2, void *common) { sceKernelExitGame (); return 0; } /*************************************************************************** * Power Callback * ***************************************************************************/ int power_callback (int unknown, int pwrflags, void *common) { if (pwrflags & PSP_POWER_CB_POWER_SWITCH) { if (font) TTF_CloseFont (font); } else if (pwrflags & PSP_POWER_CB_RESUME_COMPLETE) { load_TTF_font (); } return 0; } /*************************************************************************** * Callback Thread * ***************************************************************************/ static int callback_thread (SceSize args, void *argp) { int cbid; cbid = sceKernelCreateCallback ("exit callback", exit_callback, NULL); sceKernelRegisterExitCallback (cbid); cbid = sceKernelCreateCallback ("power callback", power_callback, NULL); scePowerRegisterCallback (0, cbid); sceKernelSleepThreadCB (); return 0; } /*************************************************************************** * Setup Callbacks * ***************************************************************************/ static int setup_callbacks (void) { int thid = 0; thid = sceKernelCreateThread ("update_thread", callback_thread, 0x11, 0xFA0, PSP_THREAD_ATTR_USER, 0); if (thid >= 0) { sceKernelStartThread (thid, 0, 0); } return thid; } #endif gnurobbo-0.66+dfsg/font.h0000644000175000017500000000221411320502537014353 0ustar stevesteve#ifdef USE_PIXMAP_FONT /* GNU Robbo * Copyright (C) 2002-2010 The GNU Robbo Team (see AUTHORS). * * GNU Robbo is free software - you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2, or (at your option) * any later version. * * GNU Robbo is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the impled warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with GNU CC; see the file COPYING. If not, write to the * Free Software Foundation, 59 Temple Place - Suite 330, * Boston, MA 02111-1307, USA. * */ /* Defines */ /* Variables */ typedef SDL_Surface TTF_Font; /* Function prototypes */ int TTF_Init(void); void TTF_Quit(void); SDL_Surface *TTF_OpenFont(const char *file, int ptsize); void TTF_CloseFont(SDL_Surface *font); SDL_Surface *TTF_RenderUTF8_Shaded(SDL_Surface *font, const char *text, SDL_Color fg, SDL_Color bg); #endif gnurobbo-0.66+dfsg/win32/0002755000175000017500000000000011467303356014213 5ustar stevestevegnurobbo-0.66+dfsg/win32/gnurobbo_tlo.bmp0000644000175000017500000045566011321047014017405 0ustar stevesteveBM[6(:  % >  # ;;FF:<>EE5 _ ??EEE$k$??EE"f"%o%>>DD33#i#<>11$$,,--&&y""""$$Q   <!" (223D477CC;;  00GGFFEE77((3344))s [ ' ?  ` Jhl"&*H 177CC77   " +  (  +q5 ; Ppr_SVD 2 $ 66CC;;%o%EECCCC77((1122++!NO!!&/22# 44BBEEK>>==@@77**00..%%ztkt!,/- %*~*??EE   * %   !$< FZ@? 7 7 ^ <>EEAA55&&--3311$ ^"!"""-34wB::DD's' $ 77CCCC99))1111-- WeM!z%-,/88CC//  008888//!!))''!! < G B ([k y1~%%v)77CC22  //3333(x(~%%%% B [ M!!++/88CC//)::::::--##--//''U$$""""##' b O$""(22x ?99DD)z) AEEDDCC44))3344## B "".$;p = Doyv ! 7Q;;DD!d!,"e"YM5 8 ( 1 ?)}a7YFH Tu V&!b!<>EE;?tM"f"??EES8G n Uq S&%n%??EE*}*5 ( !  # ' $ ! J N  0 x{"%m%==DD==7  88777700((!!$$))))))d  %x#"'//*!b!;;CCEE*}*22CCDDAA8800&&..2222 ""$$ V eO@Rw% nF+k*33&P88AADD??< @(w( a RD<H_vv 4 F  S    pXQi Tt E 1T_ 5:55>>CCFF[ " 77==AA??33%%##&&&& 2 ##!!$$H ; !!"! / & 00<>22**//++P""####O 0#"! \ 0,,<>EE2p"" `  i'd  v*O;;DD _  ( 33++R* , S C $$""!!"" \ L,#f799CC,, " 88CCDD::**2222,, A A G W_!"# U+88CC11  --6688//""**(( ; : I  !"+88CC11 " 333333(v(%%%% I !!!!!!##D f  U O# 699CC--9DDBB??..##..00&&X%%####%%H  x ;S#*[ H::DD%o%-;;FFDD44))3344"" 6 h H G g/  U N*24 :Z<>BB    " L V `$[km[ldTYST] U Y N,K{J&p&BB// 677++#h#K]&&z""!!## W  Q ? !#}W44CCT  55DDCC55''2222{4 ky."!#121 *88DD & A66@@44$$$$q O i~#twnMHL=/<?A@ : A CJ|# " ::EE  ! $ >. B / ##""""$$- jw hn 7 :<>>>11--44S ( *;;EE8DFFBBy"0<>EE5 _ ??EEE$k$??EE"f"%o%>>DD33#i#< j!! !+22/ &*~*??EE   4;;??BB99**0000'' 0  ] Q b4zO u [tbgnr}(,-> ^ <>@@AA..+ 2$k$==EE@O==8844#k#F)J} ` < ( ::EEK,,1122l""!!"" [  M -23b<==FF 0 --4444####$$ ^  ,0$o <AQpH]@@99  000#!('*Mp6D--$ )--CC%o%""!!##T  S*23:66DD<z?  $Ct"99EE! ,C_] /<>EE;d  |  m"" vq &"f"??EES !!$$  T z~)223&%n%??EE*}* | + b''%%m%==DD==7 ( - ( xk   k%%!!b!;;CCEE*}*:""((++**s"" m  3t#"'/.#P88AADD??<|--3333q!!## L,#(Es, h=*g,33 :55>>CCFF[BTT' B zEj{ 0 & 00<>EE2-  ] @ %k X h79u#$$'X O;;DD _  % y82! ) ]9+22799CC,,$ K em#2 Nerd$+88CC11  \  %# U +88CC11= inw ^`!""699CC--)>NZ>+D8H::DD%o%; U T%Z<>55''))**))BN D 7#%& 0 " 99DD  (w(3333--"y"!!%%&&MzI b  w[(*(E 0;;EE  ){)==::55((%%--..q""!!"" [  f4"" -10[K>>BB"d"GGDDBB22))3333 G  &.34a&p&BB// B$l$--%m%svU E T b%_mmU]ng])70/643#$K{&E 44CCT 'u'"f"I2An""k""!!##P u}-!bB 88DD & (x(DDCC55((2233a* v 8"!'22' " ::EEPDDCC44))**, Y u !"-1<"/^__F* R V JSv V:<>EE5 ^>% 7m v _ ??EEE _M  z]UX_z$k$??EE"f"  I !"*332%%o%>>DD33 % d%.,'#i#<477CC;;^0000--"f"h!!i!!wn j;'Q 5$+**@177CC77  +~+CCBBBB33&&//11((u####$$> %  ~!"(122h $ 66CC;;%m%BBAADD::++3311%% E w I , F  ~ {mu%-1$ 44BBEE0* #  + ?';S5k  3vhN@ 6 )!*~*??EE   :AACCCC77((//22// F ##!!!!$$ ^  p%[=;Y }"!!'023H ^ < $$""""##2C-23 (!b!< !! .34g]@@99% 8 =r;L 8 --CC%o%'T}Pq p/ O66DD<xh/0 "99EE~} * /<>EE;  yB5MRT+7u Mr5"f"??EES5  \ "" #$$+ )%n%??EE*}*##""  3 i(220!%m%==DD==7k  X''"!b!;;CCEE*}*=?; : *  Y  * g%%zP88AADD??<n((,,,,d!!"": 9z#"(.-p :55>>CCFF[o..3344>%%2#3Y5 }E ;{!-34T & 00<= . X l  )\#++::BBEE:$$..,,""!!""oeI ){);;CCCC!((2222\$$! (*22$,,<>EE2###!!!!$$ a e n"!! RF[PO;;DD _ ,h9.!g ? g?% U!!q$y799CC,,' i')<)y F0$~(22#+88CC11'  `'s I D}vS+88CC11!   ml"q Q699CC-- b [  K"""H::DD%o%QZaoP"!Vb @tZ<>BB&p&BB//,,77Fgnurobbo-0.66+dfsg/win32/gnurobbo.dsw0000644000175000017500000000103511321047014016525 0ustar stevesteveMicrosoft Developer Studio Workspace File, Format Version 6.00 # WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE! ############################################################################### Project: "gnurobbo"=".\gnurobbo.dsp" - Package Owner=<4> Package=<5> {{{ }}} Package=<4> {{{ }}} ############################################################################### Global: Package=<5> {{{ }}} Package=<3> {{{ }}} ############################################################################### gnurobbo-0.66+dfsg/win32/dirent.h0000644000175000017500000000542711314651176015654 0ustar stevesteve/* * DIRENT.H (formerly DIRLIB.H) * This file has no copyright assigned and is placed in the Public Domain. * This file is a part of the mingw-runtime package. * No warranty is given; refer to the file DISCLAIMER within the package. * */ #ifndef _DIRENT_H_ #define _DIRENT_H_ #include #include #ifndef RC_INVOKED #ifdef __cplusplus extern "C" { #endif struct dirent { long d_ino; /* Always zero. */ unsigned short d_reclen; /* Always zero. */ unsigned short d_namlen; /* Length of name in d_name. */ char d_name[FILENAME_MAX]; /* File name. */ }; /* * This is an internal data structure. Good programmers will not use it * except as an argument to one of the functions below. * dd_stat field is now int (was short in older versions). */ typedef struct { /* disk transfer area for this dir */ struct _finddata_t dd_dta; /* dirent struct to return from dir (NOTE: this makes this thread * safe as long as only one thread uses a particular DIR struct at * a time) */ struct dirent dd_dir; /* _findnext handle */ long dd_handle; /* * Status of search: * 0 = not started yet (next entry to read is first entry) * -1 = off the end * positive = 0 based index of next entry */ int dd_stat; /* given path for dir with search pattern (struct is extended) */ char dd_name[1]; } DIR; DIR* __cdecl opendir (const char*); struct dirent* __cdecl readdir (DIR*); int __cdecl closedir (DIR*); void __cdecl rewinddir (DIR*); long __cdecl telldir (DIR*); void __cdecl seekdir (DIR*, long); /* wide char versions */ struct _wdirent { long d_ino; /* Always zero. */ unsigned short d_reclen; /* Always zero. */ unsigned short d_namlen; /* Length of name in d_name. */ wchar_t d_name[FILENAME_MAX]; /* File name. */ }; /* * This is an internal data structure. Good programmers will not use it * except as an argument to one of the functions below. */ typedef struct { /* disk transfer area for this dir */ struct _wfinddata_t dd_dta; /* dirent struct to return from dir (NOTE: this makes this thread * safe as long as only one thread uses a particular DIR struct at * a time) */ struct _wdirent dd_dir; /* _findnext handle */ long dd_handle; /* * Status of search: * 0 = not started yet (next entry to read is first entry) * -1 = off the end * positive = 0 based index of next entry */ int dd_stat; /* given path for dir with search pattern (struct is extended) */ wchar_t dd_name[1]; } _WDIR; _WDIR* __cdecl _wopendir (const wchar_t*); struct _wdirent* __cdecl _wreaddir (_WDIR*); int __cdecl _wclosedir (_WDIR*); void __cdecl _wrewinddir (_WDIR*); long __cdecl _wtelldir (_WDIR*); void __cdecl _wseekdir (_WDIR*, long); #ifdef __cplusplus } #endif #endif /* Not RC_INVOKED */ #endif /* Not _DIRENT_H_ */ gnurobbo-0.66+dfsg/win32/dirent.lib0000644000175000017500000001365211314651176016172 0ustar stevesteve! / 1157124861 0 178 `  __wclosedir__wopendir__wreaddir__wrewinddir__wseekdir__wtelldir_closedir_opendir_readdir_rewinddir_seekdir_telldir/ 1157124861 0 166 `  __wclosedir__wopendir__wreaddir__wrewinddir__wseekdir__wtelldir_closedir_opendir_readdir_rewinddir_seekdir_telldirwdirent.obj/ 1157124791 100666 2790 ` LRD .drectve( .text. P`.data@0-defaultlib:MSVCRT -defaultlib:OLDNAMES UV}u3E3fu3URE}u3Eu3shMQR Phh6:QE}u 3RE4PM3f4t_E4PM3fA2/t;E4PM3fA2\thE4PhM4QUǂ,Eǀ0MǁUfǂ Efǀ"hjM$Q E^]UQ}u3.E0}3M0uIURE4PM,U,uEǀ0 Mǁ0zURE,QtJE}u U,PMǁ,Uǂ0E0U0E0~>MQUf"EPM$QE3]UQE}u2E,tM,REEPE]U}u9E,tM,REǀ,Mǁ0]U}u E0]U}u} }m} u;E,tM,REǀ,Mǁ0,URE0;M }URt] =Tc=a{    !`)Mj+=\n\*\*.filegwdirent.c@comp.id_" .drectve(fz.text. ix _memset .data{P$SG18459  $SG18458 + $SG18454$SG184539 G Y u       d   &  W __wopendir__imp__wcscat__imp__wcscpy__imp__malloc__imp__wcslen__imp___wfullpath__imp__GetFileAttributesW@4__imp___errno__wreaddir__imp___findclose__imp__GetLastError@0__imp___wfindnext__imp___wfindfirst__wclosedir__imp__free__wrewinddir__wtelldir__wseekdirdirent.obj/ 1157124791 100666 2675 ` LRDz .drectve( .text. P`.datal@0-defaultlib:MSVCRT -defaultlib:OLDNAMES U V}u3Eu3URE}u3Eu3chMQR Phh1QE}u 3RE,PM,tXE,PM+/t7E,PM+\thE,PhM,QUǂ$Eǀ(MǁUfǂEfǀhjM Q E^]UQ}u3,E(}3M(uIURE,PM$U$uEǀ( Mǁ(zURE$QtJE}u U$PMǁ$Uǂ(E(U(E(~.text.!_opendir _memset .dataJ$SG18294 _strcat $SG18293_strcpy  $SG18289$SG18288_strlen  # ? _readdir M _ u  P   _telldir _seekdirC __imp__malloc__imp___fullpath__imp__GetFileAttributesA@4__imp___errno__imp___findclose__imp__GetLastError@0__imp___findnext__imp___findfirst_closedir__imp__free_rewinddir gnurobbo-0.66+dfsg/win32/setup.iss0000644000175000017500000000331011321047014016047 0ustar stevesteve; -- Example1.iss -- ; Demonstrates copying 3 files and creating an icon. ; SEE THE DOCUMENTATION FOR DETAILS ON CREATING .ISS SCRIPT FILES! #define MyAppName "Gnurobbo" #define MyAppPublisher "GNU Robbo Team" #define MyAppURL "http://gnurobbo.sf.net" #define MyAppVerName "Gnurobbo 0.65" [Setup] AppName={#MyAppName} AppVerName={#MyAppVerName} AppPublisher={#MyAppPublisher} AppSupportURL={#MyAppURL} AppUpdatesURL={#MyAppURL} DefaultDirName={pf}\Gnurobbo DefaultGroupName=GNU Robbo UninstallDisplayIcon={app}\gnurobbo.exe Compression=lzma SolidCompression=true WizardImageFile=gnurobbo_tlo.bmp OutputBaseFilename=gnurobbo AppID={{1F6F2370-B667-4DA8-85A0-FE5603872038} [Files] Source: gnurobbo.exe; DestDir: {app} Source: data/*; DestDir: {app}/data; Flags: recursesubdirs createallsubdirs Source: SDL.dll; DestDir: {app} Source: SDL_image.dll; DestDir: {app} Source: SDL_mixer.dll; DestDir: {app} Source: SDL_ttf.dll; DestDir: {app} Source: zlib1.dll; DestDir: {app} Source: libogg-0.dll; DestDir: {app} Source: libpng12-0.dll; DestDir: {app} Source: libogg-0.dll; DestDir: {app} Source: libfreetype-6.dll; DestDir: {app} Source: mikmod.dll; DestDir: {app} Source: gnurobbo.ico; DestDir: {app} Source: README; DestDir: {app} Source: LICENSE.txt; DestDir: {app} [Icons] Name: {group}\gnurobbo; Filename: {app}\gnurobbo.exe; WorkingDir: {app}; IconFilename: {app}/gnurobbo.ico Name: {group}\{cm:UninstallProgram, GNU Robbo}; Filename: {uninstallexe} [Run] Filename: {app}\LICENSE.txt; Description: View the GPL license file; Flags: postinstall shellexec skipifsilent unchecked Filename: {app}\gnurobbo.exe; Description: Launch application; Flags: postinstall nowait skipifsilent gnurobbo-0.66+dfsg/win32/gnurobbo.dsp0000644000175000017500000001440011321047014016516 0ustar stevesteve# Microsoft Developer Studio Project File - Name="gnurobbo" - Package Owner=<4> # Microsoft Developer Studio Generated Build File, Format Version 6.00 # ** DO NOT EDIT ** # TARGTYPE "Win32 (x86) Application" 0x0101 CFG=gnurobbo - Win32 Debug !MESSAGE This is not a valid makefile. To build this project using NMAKE, !MESSAGE use the Export Makefile command and run !MESSAGE !MESSAGE NMAKE /f "gnurobbo.mak". !MESSAGE !MESSAGE You can specify a configuration when running NMAKE !MESSAGE by defining the macro CFG on the command line. For example: !MESSAGE !MESSAGE NMAKE /f "gnurobbo.mak" CFG="gnurobbo - Win32 Debug" !MESSAGE !MESSAGE Possible choices for configuration are: !MESSAGE !MESSAGE "gnurobbo - Win32 Release" (based on "Win32 (x86) Application") !MESSAGE "gnurobbo - Win32 Debug" (based on "Win32 (x86) Application") !MESSAGE # Begin Project # PROP AllowPerConfigDependencies 0 # PROP Scc_ProjName "" # PROP Scc_LocalPath "" CPP=cl.exe MTL=midl.exe RSC=rc.exe !IF "$(CFG)" == "gnurobbo - Win32 Release" # PROP BASE Use_MFC 0 # PROP BASE Use_Debug_Libraries 0 # PROP BASE Output_Dir "Release" # PROP BASE Intermediate_Dir "Release" # PROP BASE Target_Dir "" # PROP Use_MFC 0 # PROP Use_Debug_Libraries 0 # PROP Output_Dir "Release" # PROP Intermediate_Dir "Release" # PROP Target_Dir "" # ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /YX /FD /c # ADD CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /YX /FD /c # ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32 # ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32 # ADD BASE RSC /l 0x415 /d "NDEBUG" # ADD RSC /l 0x415 /d "NDEBUG" BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.exe # ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /machine:I386 # ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /machine:I386 !ELSEIF "$(CFG)" == "gnurobbo - Win32 Debug" # PROP BASE Use_MFC 0 # PROP BASE Use_Debug_Libraries 1 # PROP BASE Output_Dir "Debug" # PROP BASE Intermediate_Dir "Debug" # PROP BASE Target_Dir "" # PROP Use_MFC 0 # PROP Use_Debug_Libraries 1 # PROP Output_Dir "Debug" # PROP Intermediate_Dir "Debug" # PROP Ignore_Export_Lib 0 # PROP Target_Dir "" # ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /YX /FD /GZ /c # ADD CPP /nologo /MD /W3 /Gm /GX /ZI /Od /I "D:\data\Documents and Settings\arkadiusz.lipiec\workspace\gnurobbo\SDL-1.2.13\include" /I "D:\moje\gnurobbo\SDL-1.2.13-win32\SDL_ttf-2.0.9" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /YX /FD /GZ /c # ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32 # ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32 # ADD BASE RSC /l 0x415 /d "_DEBUG" # ADD RSC /l 0x415 /d "_DEBUG" BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.exe # ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept # ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept !ENDIF # Begin Target # Name "gnurobbo - Win32 Release" # Name "gnurobbo - Win32 Debug" # Begin Group "Source Files" # PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" # Begin Source File SOURCE=.\board.c # End Source File # Begin Source File SOURCE=.\board.h # End Source File # Begin Source File SOURCE=.\controls.c # End Source File # Begin Source File SOURCE=.\controls.h # End Source File # Begin Source File SOURCE=.\game.c # End Source File # Begin Source File SOURCE=.\game.h # End Source File # Begin Source File SOURCE=.\konstruktor.c # End Source File # Begin Source File SOURCE=.\konstruktor.h # End Source File # Begin Source File SOURCE=.\levels.c # End Source File # Begin Source File SOURCE=.\levels.h # End Source File # Begin Source File SOURCE=.\locales.c # End Source File # Begin Source File SOURCE=.\locales.h # End Source File # Begin Source File SOURCE=.\pointer_controls.c # End Source File # Begin Source File SOURCE=.\pointer_controls.h # End Source File # Begin Source File SOURCE=.\rcfile.c # End Source File # Begin Source File SOURCE=.\rcfile.h # End Source File # Begin Source File SOURCE=.\ROB_engine.c # End Source File # Begin Source File SOURCE=.\ROB_engine.h # End Source File # Begin Source File SOURCE=.\screen.c # End Source File # Begin Source File SOURCE=.\screen.h # End Source File # Begin Source File SOURCE=.\skins.c !IF "$(CFG)" == "gnurobbo - Win32 Release" !ELSEIF "$(CFG)" == "gnurobbo - Win32 Debug" # ADD CPP /I "D:\data\Documents and Settings\arkadiusz.lipiec\workspace\gnurobbo\SDL_ttf-2.0.9\include" # SUBTRACT CPP /I "D:\moje\gnurobbo\SDL-1.2.13-win32\SDL_ttf-2.0.9" !ENDIF # End Source File # Begin Source File SOURCE=.\skins.h # End Source File # Begin Source File SOURCE=.\sound.c # End Source File # Begin Source File SOURCE=.\sound.h # End Source File # End Group # Begin Group "Header Files" # PROP Default_Filter "h;hpp;hxx;hm;inl" # End Group # Begin Group "Resource Files" # PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe" # Begin Source File SOURCE=.\gnurobbo.ico # End Source File # Begin Source File SOURCE=.\zlib1.dll # End Source File # Begin Source File SOURCE=".\SDL-1.2.13\lib\SDL.lib" # End Source File # Begin Source File SOURCE=".\SDL-1.2.13\lib\SDLmain.lib" # End Source File # Begin Source File SOURCE=".\SDL_ttf-2.0.9\lib\SDL_ttf.lib" # End Source File # Begin Source File SOURCE=.\SDL_image.lib # End Source File # Begin Source File SOURCE=.\SDL_mixer.lib # End Source File # End Group # Begin Source File SOURCE=.\dirent.lib # End Source File # End Target # End Project gnurobbo-0.66+dfsg/rcfile.c0000644000175000017500000012311511325077260014655 0ustar stevesteve/* GNU Robbo * Copyright (C) 2002-2010 The GNU Robbo Team (see AUTHORS). * * GNU Robbo is free software - you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2, or (at your option) * any later version. * * GNU Robbo is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the impled warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with GNU CC; see the file COPYING. If not, write to the * Free Software Foundation, 59 Temple Place - Suite 330, * Boston, MA 02111-1307, USA. * */ #include "game.h" /* Defines */ /* #define DEBUG_READ_RESOURCE_FILE */ #define UNDEFINED2 -2 /* Variables */ /* Function prototypes */ /*************************************************************************** * Read Resource File * ***************************************************************************/ /* Reads resource file data. * On entry: filename is the full path to the rc file * On exit: returns 0 if successful * returns 1 if file not found * returns 2 if rc data corrupt */ int read_resource_file (char *filename) { FILE *fp; char line[1024]; int read_game_cycle_limit = UNDEFINED, read_game_cycle_delay = UNDEFINED; int read_default_joystick = UNDEFINED, read_joystick_dead_zone = UNDEFINED; char read_default_joystick_name[MAX_JOYSTICK_NAME_LENGTH]; int read_key_repeat_delay = UNDEFINED, read_key_repeat_interval = UNDEFINED; char read_selected_skin[100], read_selected_locale[100]; int read_sensible_bears = UNDEFINED, read_sensible_questionmarks = UNDEFINED, read_sensible_solid_lasers = UNDEFINED; int read_save_frequency = UNDEFINED; struct pack read_level_packs[MAX_LEVEL_PACKS]; int read_pack_count = 0, count, count2, error_found = FALSE, found; struct control read_user_controls[USER_CONTROLS]; ROB_OpEnv read_op_env; char error_setting[50]; struct pointercontrols read_pointer_controls; int read_sound = UNDEFINED; int read_volume = UNDEFINED; int read_sfx_vol = UNDEFINED; strcpy (read_default_joystick_name, "-1"); strcpy (read_selected_skin, "-1"); strcpy (read_selected_locale, "-1"); fprintf (stdout, "Reading from %s\n", filename); if ((fp = fopen (filename, "r")) == NULL) { fprintf (stdout, "%s not found\n", filename); return 1; } /* Reset read_level_packs so we can test for missing settings */ for (count = 0; count < MAX_LEVEL_PACKS; count++) { strcpy (read_level_packs[count].filename, "-1"); read_level_packs[count].level_reached = UNDEFINED; read_level_packs[count].level_selected = UNDEFINED; read_level_packs[count].selected = UNDEFINED; } /* Reset read_user_controls so we can test for missing settings */ for (count = 0; count < USER_CONTROLS; count++) { /* Note use of UNDEFINED2 (-2) as UNDEFINED (-1) is used */ read_user_controls[count].device = UNDEFINED2; read_user_controls[count].id = UNDEFINED2; read_user_controls[count].mod = UNDEFINED2; } /* Reset read_op_env so we can test for missing settings */ read_op_env.systempointer = UNDEFINED; read_op_env.pointer = UNDEFINED; read_op_env.pointer_mode = UNDEFINED; read_op_env.pointer_move_unit_low = UNDEFINED; read_op_env.pointer_move_unit_high = UNDEFINED; read_op_env.pointer_move_unit_threshold = UNDEFINED; /* Reset read_pointer_controls so we can test for missing settings */ read_pointer_controls.state = UNDEFINED; read_pointer_controls.shoot_state = UNDEFINED; read_pointer_controls.pad_type = UNDEFINED; /* Read the rc data */ while (fscanf (fp, "%s", line) == 1) { if (!strncmp (line, "[game_cycle_limit]", 18)) { fscanf (fp, "%i", &read_game_cycle_limit); } else if (!strncmp (line, "[sfx_vol]", 9)) { fscanf (fp, "%i", &read_sfx_vol); } else if (!strncmp(line,"[volume]",8)) { fscanf(fp,"%i",&read_volume); } else if (!strncmp (line, "[sound]", 7)) { fscanf (fp, "%i", &read_sound); #ifdef DEBUG_SOUND printf ("sound %d %s\n", read_sound, line); #endif } else if (!strncmp (line, "[game_cycle_delay]", 18)) { fscanf (fp, "%i", &read_game_cycle_delay); } else if (!strncmp (line, "[default_joystick]", 18)) { fscanf (fp, "%i", &read_default_joystick); } else if (!strncmp (line, "[default_joystick_name]", 23)) { /* Have to use fgets here although it isn't perfect either. * The problem is the name can have spaces in it and fgets * gets [CR]LFs too so we have to clean up the line end */ /* Reads the [CR]LF at the end of the previous line */ fgets (read_default_joystick_name, MAX_JOYSTICK_NAME_LENGTH, fp); /* Reads the name + one or more [CR]LFs */ fgets (read_default_joystick_name, MAX_JOYSTICK_NAME_LENGTH, fp); /* MacOSX and Unix is LF, Win and Mac is CRLF */ for (count = strlen (read_default_joystick_name) - 1; count >= 0; count--) if (read_default_joystick_name[count] == 13 || read_default_joystick_name[count] == 10) read_default_joystick_name[count] = 0; } else if (!strncmp (line, "[joystick_dead_zone]", 20)) { fscanf (fp, "%i", &read_joystick_dead_zone); } else if (!strncmp (line, "[key_repeat_delay]", 18)) { fscanf (fp, "%i", &read_key_repeat_delay); } else if (!strncmp (line, "[key_repeat_interval]", 21)) { fscanf (fp, "%i", &read_key_repeat_interval); } else if (!strncmp (line, "[selected_skin]", 15)) { fscanf (fp, "%s", read_selected_skin); } else if (!strncmp (line, "[selected_locale]", 17)) { fscanf (fp, "%s", read_selected_locale); } else if (!strncmp (line, "[save_frequency]", 16)) { fscanf (fp, "%i", &read_save_frequency); } else if (!strncmp (line, "[op_env.systempointer]", 22)) { fscanf (fp, "%i", &read_op_env.systempointer); } else if (!strncmp (line, "[pointer_controls.state]", 24)) { fscanf (fp, "%i", &read_pointer_controls.state); } else if (!strncmp (line, "[pointer_controls.pad_type]", 27)) { fscanf (fp, "%i", &read_pointer_controls.pad_type); } else if (!strncmp (line, "[sensible_bears]", 16)) { fscanf (fp, "%i", &read_sensible_bears); } else if (!strncmp (line, "[sensible_questionmarks]", 24)) { fscanf (fp, "%i", &read_sensible_questionmarks); } else if (!strncmp (line, "[sensible_solid_lasers]", 23)) { fscanf (fp, "%i", &read_sensible_solid_lasers); } else if (!strncmp (line, "[filename]", 10)) { if (read_pack_count < MAX_LEVEL_PACKS) fscanf (fp, "%s", read_level_packs[read_pack_count].filename); } else if (!strncmp (line, "[level_reached]", 15)) { if (read_pack_count < MAX_LEVEL_PACKS) fscanf (fp, "%i", &read_level_packs[read_pack_count].level_reached); } else if (!strncmp (line, "[level_selected]", 16)) { if (read_pack_count < MAX_LEVEL_PACKS) fscanf (fp, "%i", &read_level_packs[read_pack_count].level_selected); } else if (!strncmp (line, "[selected]", 10)) { if (read_pack_count < MAX_LEVEL_PACKS) { fscanf (fp, "%i", &read_level_packs[read_pack_count].selected); read_pack_count++; if (read_pack_count >= MAX_LEVEL_PACKS) fprintf (stdout, "There are too many level packs recorded " "within the rcfile (max %i). Possibly there are some " "historical entries that you can delete.\n", MAX_LEVEL_PACKS); } } else if (!strncmp (line, "[ACTION_UP.device]", 18)) { fscanf (fp, "%i", &read_user_controls[ACTION_UP].device); } else if (!strncmp (line, "[ACTION_UP.id]", 14)) { fscanf (fp, "%i", &read_user_controls[ACTION_UP].id); } else if (!strncmp (line, "[ACTION_UP.mod]", 15)) { fscanf (fp, "%i", &read_user_controls[ACTION_UP].mod); } /* else if (!strncmp (line, "[ACTION_UP_RIGHT.device]", 24)) { fscanf (fp, "%i", &read_user_controls[ACTION_UP_RIGHT].device); } else if (!strncmp (line, "[ACTION_UP_RIGHT.id]", 20)) { fscanf (fp, "%i", &read_user_controls[ACTION_UP_RIGHT].id); } else if (!strncmp (line, "[ACTION_UP_RIGHT.mod]", 21)) { fscanf (fp, "%i", &read_user_controls[ACTION_UP_RIGHT].mod); } temp temp Not currently implemented but maybe in future */ else if (!strncmp (line, "[ACTION_RIGHT.device]", 21)) { fscanf (fp, "%i", &read_user_controls[ACTION_RIGHT].device); } else if (!strncmp (line, "[ACTION_RIGHT.id]", 17)) { fscanf (fp, "%i", &read_user_controls[ACTION_RIGHT].id); } else if (!strncmp (line, "[ACTION_RIGHT.mod]", 18)) { fscanf (fp, "%i", &read_user_controls[ACTION_RIGHT].mod); } /* else if (!strncmp (line, "[ACTION_DOWN_RIGHT.device]", 26)) { fscanf (fp, "%i", &read_user_controls[ACTION_DOWN_RIGHT].device); } else if (!strncmp (line, "[ACTION_DOWN_RIGHT.id]", 22)) { fscanf (fp, "%i", &read_user_controls[ACTION_DOWN_RIGHT].id); } else if (!strncmp (line, "[ACTION_DOWN_RIGHT.mod]", 23)) { fscanf (fp, "%i", &read_user_controls[ACTION_DOWN_RIGHT].mod); } temp temp Not currently implemented but maybe in future */ else if (!strncmp (line, "[ACTION_DOWN.device]", 20)) { fscanf (fp, "%i", &read_user_controls[ACTION_DOWN].device); } else if (!strncmp (line, "[ACTION_DOWN.id]", 16)) { fscanf (fp, "%i", &read_user_controls[ACTION_DOWN].id); } else if (!strncmp (line, "[ACTION_DOWN.mod]", 17)) { fscanf (fp, "%i", &read_user_controls[ACTION_DOWN].mod); } /* else if (!strncmp (line, "[ACTION_DOWN_LEFT.device]", 25)) { fscanf (fp, "%i", &read_user_controls[ACTION_DOWN_LEFT].device); } else if (!strncmp (line, "[ACTION_DOWN_LEFT.id]", 21)) { fscanf (fp, "%i", &read_user_controls[ACTION_DOWN_LEFT].id); } else if (!strncmp (line, "[ACTION_DOWN_LEFT.mod]", 22)) { fscanf (fp, "%i", &read_user_controls[ACTION_DOWN_LEFT].mod); } temp temp Not currently implemented but maybe in future */ else if (!strncmp (line, "[ACTION_LEFT.device]", 20)) { fscanf (fp, "%i", &read_user_controls[ACTION_LEFT].device); } else if (!strncmp (line, "[ACTION_LEFT.id]", 16)) { fscanf (fp, "%i", &read_user_controls[ACTION_LEFT].id); } else if (!strncmp (line, "[ACTION_LEFT.mod]", 17)) { fscanf (fp, "%i", &read_user_controls[ACTION_LEFT].mod); } /* else if (!strncmp (line, "[ACTION_UP_LEFT.device]", 23)) { fscanf (fp, "%i", &read_user_controls[ACTION_UP_LEFT].device); } else if (!strncmp (line, "[ACTION_UP_LEFT.id]", 19)) { fscanf (fp, "%i", &read_user_controls[ACTION_UP_LEFT].id); } else if (!strncmp (line, "[ACTION_UP_LEFT.mod]", 20)) { fscanf (fp, "%i", &read_user_controls[ACTION_UP_LEFT].mod); } temp temp Not currently implemented but maybe in future */ else if (!strncmp (line, "[ACTION_RESTART.device]", 23)) { fscanf (fp, "%i", &read_user_controls[ACTION_RESTART].device); } else if (!strncmp (line, "[ACTION_RESTART.id]", 19)) { fscanf (fp, "%i", &read_user_controls[ACTION_RESTART].id); } else if (!strncmp (line, "[ACTION_RESTART.mod]", 20)) { fscanf (fp, "%i", &read_user_controls[ACTION_RESTART].mod); } else if (!strncmp (line, "[ACTION_SHOOT_UP.device]", 24)) { fscanf (fp, "%i", &read_user_controls[ACTION_SHOOT_UP].device); } else if (!strncmp (line, "[ACTION_SHOOT_UP.id]", 20)) { fscanf (fp, "%i", &read_user_controls[ACTION_SHOOT_UP].id); } else if (!strncmp (line, "[ACTION_SHOOT_UP.mod]", 21)) { fscanf (fp, "%i", &read_user_controls[ACTION_SHOOT_UP].mod); } else if (!strncmp (line, "[ACTION_SHOOT_DOWN.device]", 26)) { fscanf (fp, "%i", &read_user_controls[ACTION_SHOOT_DOWN].device); } else if (!strncmp (line, "[ACTION_SHOOT_DOWN.id]", 22)) { fscanf (fp, "%i", &read_user_controls[ACTION_SHOOT_DOWN].id); } else if (!strncmp (line, "[ACTION_SHOOT_DOWN.mod]", 23)) { fscanf (fp, "%i", &read_user_controls[ACTION_SHOOT_DOWN].mod); } else if (!strncmp (line, "[ACTION_SHOOT_LEFT.device]", 26)) { fscanf (fp, "%i", &read_user_controls[ACTION_SHOOT_LEFT].device); } else if (!strncmp (line, "[ACTION_SHOOT_LEFT.id]", 22)) { fscanf (fp, "%i", &read_user_controls[ACTION_SHOOT_LEFT].id); } else if (!strncmp (line, "[ACTION_SHOOT_LEFT.mod]", 23)) { fscanf (fp, "%i", &read_user_controls[ACTION_SHOOT_LEFT].mod); } else if (!strncmp (line, "[ACTION_SHOOT_RIGHT.device]", 27)) { fscanf (fp, "%i", &read_user_controls[ACTION_SHOOT_RIGHT].device); } else if (!strncmp (line, "[ACTION_SHOOT_RIGHT.id]", 23)) { fscanf (fp, "%i", &read_user_controls[ACTION_SHOOT_RIGHT].id); } else if (!strncmp (line, "[ACTION_SHOOT_RIGHT.mod]", 24)) { fscanf (fp, "%i", &read_user_controls[ACTION_SHOOT_RIGHT].mod); } else if (!strncmp (line, "[ACTION_SELECT.device]", 22)) { fscanf (fp, "%i", &read_user_controls[ACTION_SELECT].device); } else if (!strncmp (line, "[ACTION_SELECT.id]", 18)) { fscanf (fp, "%i", &read_user_controls[ACTION_SELECT].id); } else if (!strncmp (line, "[ACTION_SELECT.mod]", 19)) { fscanf (fp, "%i", &read_user_controls[ACTION_SELECT].mod); } else if (!strncmp (line, "[ACTION_EXIT.device]", 20)) { fscanf (fp, "%i", &read_user_controls[ACTION_EXIT].device); } else if (!strncmp (line, "[ACTION_EXIT.id]", 16)) { fscanf (fp, "%i", &read_user_controls[ACTION_EXIT].id); } else if (!strncmp (line, "[ACTION_EXIT.mod]", 17)) { fscanf (fp, "%i", &read_user_controls[ACTION_EXIT].mod); } else if (!strncmp (line, "[ACTION_HELP.device]", 20)) { fscanf (fp, "%i", &read_user_controls[ACTION_HELP].device); } else if (!strncmp (line, "[ACTION_HELP.id]", 16)) { fscanf (fp, "%i", &read_user_controls[ACTION_HELP].id); } else if (!strncmp (line, "[ACTION_HELP.mod]", 17)) { fscanf (fp, "%i", &read_user_controls[ACTION_HELP].mod); } else if (!strncmp (line, "[ACTION_OPTIONS.device]", 23)) { fscanf (fp, "%i", &read_user_controls[ACTION_OPTIONS].device); } else if (!strncmp (line, "[ACTION_OPTIONS.id]", 19)) { fscanf (fp, "%i", &read_user_controls[ACTION_OPTIONS].id); } else if (!strncmp (line, "[ACTION_OPTIONS.mod]", 20)) { fscanf (fp, "%i", &read_user_controls[ACTION_OPTIONS].mod); } else if (!strncmp (line, "[ACTION_TOGGLE_FULLSCREEN.device]", 33)) { fscanf (fp, "%i", &read_user_controls[ACTION_TOGGLE_FULLSCREEN].device); } else if (!strncmp (line, "[ACTION_TOGGLE_FULLSCREEN.id]", 29)) { fscanf (fp, "%i", &read_user_controls[ACTION_TOGGLE_FULLSCREEN].id); } else if (!strncmp (line, "[ACTION_TOGGLE_FULLSCREEN.mod]", 30)) { fscanf (fp, "%i", &read_user_controls[ACTION_TOGGLE_FULLSCREEN].mod); } else if (!strncmp (line, "[ACTION_PREVIOUS_LEVEL.device]", 30)) { fscanf (fp, "%i", &read_user_controls[ACTION_PREVIOUS_LEVEL].device); } else if (!strncmp (line, "[ACTION_PREVIOUS_LEVEL.id]", 26)) { fscanf (fp, "%i", &read_user_controls[ACTION_PREVIOUS_LEVEL].id); } else if (!strncmp (line, "[ACTION_PREVIOUS_LEVEL.mod]", 27)) { fscanf (fp, "%i", &read_user_controls[ACTION_PREVIOUS_LEVEL].mod); } else if (!strncmp (line, "[ACTION_NEXT_LEVEL.device]", 26)) { fscanf (fp, "%i", &read_user_controls[ACTION_NEXT_LEVEL].device); } else if (!strncmp (line, "[ACTION_NEXT_LEVEL.id]", 22)) { fscanf (fp, "%i", &read_user_controls[ACTION_NEXT_LEVEL].id); } else if (!strncmp (line, "[ACTION_NEXT_LEVEL.mod]", 23)) { fscanf (fp, "%i", &read_user_controls[ACTION_NEXT_LEVEL].mod); } else if (!strncmp (line, "[ACTION_PREVIOUS_PACK.device]", 29)) { fscanf (fp, "%i", &read_user_controls[ACTION_PREVIOUS_PACK].device); } else if (!strncmp (line, "[ACTION_PREVIOUS_PACK.id]", 25)) { fscanf (fp, "%i", &read_user_controls[ACTION_PREVIOUS_PACK].id); } else if (!strncmp (line, "[ACTION_PREVIOUS_PACK.mod]", 26)) { fscanf (fp, "%i", &read_user_controls[ACTION_PREVIOUS_PACK].mod); } else if (!strncmp (line, "[ACTION_NEXT_PACK.device]", 25)) { fscanf (fp, "%i", &read_user_controls[ACTION_NEXT_PACK].device); } else if (!strncmp (line, "[ACTION_NEXT_PACK.id]", 21)) { fscanf (fp, "%i", &read_user_controls[ACTION_NEXT_PACK].id); } else if (!strncmp (line, "[ACTION_NEXT_PACK.mod]", 22)) { fscanf (fp, "%i", &read_user_controls[ACTION_NEXT_PACK].mod); } else if (!strncmp (line, "[ACTION_HOME.device]", 20)) { fscanf (fp, "%i", &read_user_controls[ACTION_HOME].device); } else if (!strncmp (line, "[ACTION_HOME.id]", 16)) { fscanf (fp, "%i", &read_user_controls[ACTION_HOME].id); } else if (!strncmp (line, "[ACTION_HOME.mod]", 17)) { fscanf (fp, "%i", &read_user_controls[ACTION_HOME].mod); } else if (!strncmp (line, "[ACTION_END.device]", 19)) { fscanf (fp, "%i", &read_user_controls[ACTION_END].device); } else if (!strncmp (line, "[ACTION_END.id]", 15)) { fscanf (fp, "%i", &read_user_controls[ACTION_END].id); } else if (!strncmp (line, "[ACTION_END.mod]", 16)) { fscanf (fp, "%i", &read_user_controls[ACTION_END].mod); } else if (!strncmp (line, "[ACTION_PAGEUP.device]", 22)) { fscanf (fp, "%i", &read_user_controls[ACTION_PAGEUP].device); } else if (!strncmp (line, "[ACTION_PAGEUP.id]", 18)) { fscanf (fp, "%i", &read_user_controls[ACTION_PAGEUP].id); } else if (!strncmp (line, "[ACTION_PAGEUP.mod]", 19)) { fscanf (fp, "%i", &read_user_controls[ACTION_PAGEUP].mod); } else if (!strncmp (line, "[ACTION_PAGEDOWN.device]", 24)) { fscanf (fp, "%i", &read_user_controls[ACTION_PAGEDOWN].device); } else if (!strncmp (line, "[ACTION_PAGEDOWN.id]", 20)) { fscanf (fp, "%i", &read_user_controls[ACTION_PAGEDOWN].id); } else if (!strncmp (line, "[ACTION_PAGEDOWN.mod]", 21)) { fscanf (fp, "%i", &read_user_controls[ACTION_PAGEDOWN].mod); } else if (!strncmp (line, "[ACTION_TOGGLE_DESIGNER.device]", 31)) { fscanf (fp, "%i", &read_user_controls[ACTION_TOGGLE_DESIGNER].device); } else if (!strncmp (line, "[ACTION_TOGGLE_DESIGNER.id]", 27)) { fscanf (fp, "%i", &read_user_controls[ACTION_TOGGLE_DESIGNER].id); } else if (!strncmp (line, "[ACTION_TOGGLE_DESIGNER.mod]", 28)) { fscanf (fp, "%i", &read_user_controls[ACTION_TOGGLE_DESIGNER].mod); } else if (!strncmp (line, "[ACTION_VOLUP.device]", 21)) { fscanf (fp, "%i", &read_user_controls[ACTION_VOLUP].device); } else if (!strncmp (line, "[ACTION_VOLUP.id]", 17)) { fscanf (fp, "%i", &read_user_controls[ACTION_VOLUP].id); } else if (!strncmp (line, "[ACTION_VOLUP.mod]", 18)) { fscanf (fp, "%i", &read_user_controls[ACTION_VOLUP].mod); } else if (!strncmp (line, "[ACTION_VOLDOWN.device]", 23)) { fscanf (fp, "%i", &read_user_controls[ACTION_VOLDOWN].device); } else if (!strncmp (line, "[ACTION_VOLDOWN.id]", 19)) { fscanf (fp, "%i", &read_user_controls[ACTION_VOLDOWN].id); } else if (!strncmp (line, "[ACTION_VOLDOWN.mod]", 20)) { fscanf (fp, "%i", &read_user_controls[ACTION_VOLDOWN].mod); } else if (!strncmp (line, "[ACTION_MODIFIER1.device]", 25)) { fscanf (fp, "%i", &read_user_controls[ACTION_MODIFIER1].device); } else if (!strncmp (line, "[ACTION_MODIFIER1.id]", 21)) { fscanf (fp, "%i", &read_user_controls[ACTION_MODIFIER1].id); } else if (!strncmp (line, "[ACTION_MODIFIER1.mod]", 22)) { fscanf (fp, "%i", &read_user_controls[ACTION_MODIFIER1].mod); } else if (!strncmp (line, "[ACTION_MODIFIER2.device]", 25)) { fscanf (fp, "%i", &read_user_controls[ACTION_MODIFIER2].device); } else if (!strncmp (line, "[ACTION_MODIFIER2.id]", 21)) { fscanf (fp, "%i", &read_user_controls[ACTION_MODIFIER2].id); } else if (!strncmp (line, "[ACTION_MODIFIER2.mod]", 22)) { fscanf (fp, "%i", &read_user_controls[ACTION_MODIFIER2].mod); } else if (!strncmp (line, "[ACTION_MODIFIER3.device]", 25)) { fscanf (fp, "%i", &read_user_controls[ACTION_MODIFIER3].device); } else if (!strncmp (line, "[ACTION_MODIFIER3.id]", 21)) { fscanf (fp, "%i", &read_user_controls[ACTION_MODIFIER3].id); } else if (!strncmp (line, "[ACTION_MODIFIER3.mod]", 22)) { fscanf (fp, "%i", &read_user_controls[ACTION_MODIFIER3].mod); } else if (!strncmp (line, "[ACTION_MODIFIER4.device]", 25)) { fscanf (fp, "%i", &read_user_controls[ACTION_MODIFIER4].device); } else if (!strncmp (line, "[ACTION_MODIFIER4.id]", 21)) { fscanf (fp, "%i", &read_user_controls[ACTION_MODIFIER4].id); } else if (!strncmp (line, "[ACTION_MODIFIER4.mod]", 22)) { fscanf (fp, "%i", &read_user_controls[ACTION_MODIFIER4].mod); } else if (!strncmp (line, "[ACTION_SCROLL_UP.device]", 25)) { fscanf (fp, "%i", &read_user_controls[ACTION_SCROLL_UP].device); } else if (!strncmp (line, "[ACTION_SCROLL_UP.id]", 21)) { fscanf (fp, "%i", &read_user_controls[ACTION_SCROLL_UP].id); } else if (!strncmp (line, "[ACTION_SCROLL_UP.mod]", 22)) { fscanf (fp, "%i", &read_user_controls[ACTION_SCROLL_UP].mod); } else if (!strncmp (line, "[ACTION_SCROLL_DOWN.device]", 27)) { fscanf (fp, "%i", &read_user_controls[ACTION_SCROLL_DOWN].device); } else if (!strncmp (line, "[ACTION_SCROLL_DOWN.id]", 23)) { fscanf (fp, "%i", &read_user_controls[ACTION_SCROLL_DOWN].id); } else if (!strncmp (line, "[ACTION_SCROLL_DOWN.mod]", 24)) { fscanf (fp, "%i", &read_user_controls[ACTION_SCROLL_DOWN].mod); } else if (!strncmp (line, "[ACTION_PRIMARY_CLICK.device]", 29)) { fscanf (fp, "%i", &read_user_controls[ACTION_PRIMARY_CLICK].device); } else if (!strncmp (line, "[ACTION_PRIMARY_CLICK.id]", 25)) { fscanf (fp, "%i", &read_user_controls[ACTION_PRIMARY_CLICK].id); } else if (!strncmp (line, "[ACTION_PRIMARY_CLICK.mod]", 26)) { fscanf (fp, "%i", &read_user_controls[ACTION_PRIMARY_CLICK].mod); } } fclose (fp); #ifdef DEBUG_READ_RESOURCE_FILE printf ("*** Start %s ***\n", __func__); printf ("read_game_cycle_limit=%i\n", read_game_cycle_limit); printf ("read_game_cycle_delay=%i\n", read_game_cycle_delay); printf ("read_default_joystick=%i\n", read_default_joystick); printf ("read_default_joystick_name=%s\n", read_default_joystick_name); printf ("read_joystick_dead_zone=%i\n", read_joystick_dead_zone); printf ("read_key_repeat_delay=%i\n", read_key_repeat_delay); printf ("read_key_repeat_interval=%i\n", read_key_repeat_interval); printf ("read_selected_skin=%s\n", read_selected_skin); printf ("read_selected_locale=%s\n", read_selected_locale); printf ("read_save_frequency=%i\n", read_save_frequency); printf ("read_op_env.systempointer=%i\n", read_op_env.systempointer); printf ("read_pointer_controls.state=%i\n", read_pointer_controls.state); printf ("read_pointer_controls.pad_type=%i\n", read_pointer_controls.pad_type); printf ("read_sensible_bears=%i\n", read_sensible_bears); printf ("read_sensible_questionmarks=%i\n", read_sensible_questionmarks); printf ("read_sensible_solid_lasers=%i\n", read_sensible_solid_lasers); printf ("read_sound=%i\n", read_sound); printf ("read_sfx_vol=%i\n", read_sfx_vol); printf ("read_volume=%i\n", read_volume); for (count = 0; count < read_pack_count; count++) { printf ("read_level_packs[%i].filename=%s\n", count, read_level_packs[count].filename); printf ("read_level_packs[%i].level_reached=%i\n", count, read_level_packs[count].level_reached); printf ("read_level_packs[%i].level_selected=%i\n", count, read_level_packs[count].level_selected); printf ("read_level_packs[%i].selected=%i\n", count, read_level_packs[count].selected); } for (count = 0; count < USER_CONTROLS; count++) { printf ("read_user_controls[%i].device=%i\n", count, read_user_controls[count].device); printf ("read_user_controls[%i].id=%i\n", count, read_user_controls[count].id); printf ("read_user_controls[%i].mod=%i\n", count, read_user_controls[count].mod); } printf ("*** Stop %s ***\n", __func__); #endif /* Now verify that there are no FATAL missing settings. * Forcing the defaults here would erase historical data so we'll * just get the user to fix it */ for (count = 0; count < read_pack_count; count++) { if (strcmp (read_level_packs[count].filename, "-1") == 0) { error_found = TRUE; strcpy (error_setting, "[filename]"); } else if (read_level_packs[count].level_reached == UNDEFINED) { error_found = TRUE; strcpy (error_setting, "[level_reached]"); } else if (read_level_packs[count].level_selected == UNDEFINED) { error_found = TRUE; strcpy (error_setting, "[level_selected]"); } else if (read_level_packs[count].selected == UNDEFINED) { error_found = TRUE; strcpy (error_setting, "[selected]"); } if (error_found) { /* Missing setting found */ fprintf (stdout, "There is a missing %s setting in %s. ", error_setting, filename); fprintf (stdout, "Please fix it or delete the file to have gnurobbo create a new one. "); fprintf (stdout, "Deleting the file will reset all levels reached for all packs played!\n"); return 2; } } /* Store settings */ /* sound stuff */ if (read_sound != UNDEFINED) sound = read_sound; if (read_sfx_vol != UNDEFINED) sfx_vol = read_sfx_vol; if (read_volume != UNDEFINED) volume = read_volume; /* game_cycle_limit */ if (read_game_cycle_limit != UNDEFINED) game_cycle_limit = read_game_cycle_limit; /* game_cycle_delay */ if (read_game_cycle_delay != UNDEFINED) game_cycle_delay = read_game_cycle_delay; /* Joystick */ if (read_default_joystick != UNDEFINED) default_joystick = read_default_joystick; if ((strcmp (read_default_joystick_name, "-1")) != 0) strcpy (default_joystick_name, read_default_joystick_name); if (read_joystick_dead_zone != UNDEFINED) joystick_dead_zone = read_joystick_dead_zone; /* Key repeat */ if (read_key_repeat_delay != UNDEFINED) { key_repeat_delay = read_key_repeat_delay; for (count = 0; count < USER_CONTROLS; count++) user_controls[count].delay = KEY_REPEAT_DELAY; } if (read_key_repeat_interval != UNDEFINED) { key_repeat_interval = read_key_repeat_interval; for (count = 0; count < USER_CONTROLS; count++) user_controls[count].interval = KEY_REPEAT_INTERVAL; } /* Selected skin */ if ((strcmp (read_selected_skin, "-1")) != 0) { for (count = 0; count < skin_count; count++) { if (!strcmp (skins[count].foldername, read_selected_skin)) { selected_skin = count; break; } } } /* Selected locale */ if ((strcmp (read_selected_locale, "-1")) != 0) { for (count = 0; count < locale_count; count++) { if (!strcmp (locales[count].foldername, read_selected_locale)) { selected_locale = count; break; } } } /* rcfile save frequency */ if (read_save_frequency != UNDEFINED) rcfile.save_frequency = read_save_frequency; /* System pointer state */ if (read_op_env.systempointer != UNDEFINED) gnurobbo_op_env.systempointer = read_op_env.systempointer; /* Pointer controls */ if (read_pointer_controls.state != UNDEFINED) pointer_controls.state = read_pointer_controls.state; if (read_pointer_controls.pad_type != UNDEFINED) pointer_controls.pad_type = read_pointer_controls.pad_type; /* Game mechanics */ if (read_sensible_bears != UNDEFINED) game_mechanics.sensible_bears = read_sensible_bears; if (read_sensible_questionmarks != UNDEFINED) game_mechanics.sensible_questionmarks = read_sensible_questionmarks; if (read_sensible_solid_lasers != UNDEFINED) game_mechanics.sensible_solid_lasers = read_sensible_solid_lasers; /* User controls */ for (count = 0; count < USER_CONTROLS; count++) { if (read_user_controls[count].device != UNDEFINED2) user_controls[count].device = read_user_controls[count].device; if (read_user_controls[count].id != UNDEFINED2) user_controls[count].id = read_user_controls[count].id; if (read_user_controls[count].mod != UNDEFINED2) user_controls[count].mod = read_user_controls[count].mod; } /* Now we need to match up the filenames with those already in the pack * list and amend the entries. Any that don't match will be historical * entries i.e. the user played a pack that's now been deleted and we * don't want to lose these */ for (count = 0; count < read_pack_count; count++) { found = FALSE; for (count2 = 0; count2 < level_pack_count; count2++) { if (strcmp(level_packs[count2].filename, read_level_packs[count].filename) == 0) { /* A pack from the rc matches with one found so update the pack list */ level_packs[count2].level_reached = read_level_packs[count].level_reached; level_packs[count2].level_selected = read_level_packs[count].level_selected; level_packs[count2].selected = read_level_packs[count].selected; found = TRUE; } } if (!found && level_pack_count < MAX_LEVEL_PACKS) { /* The pack from the rc hasn't been found so add it to * the end of the pack list as an historical entry */ strcpy (level_packs[level_pack_count].filename, read_level_packs[count].filename); strcpy (level_packs[level_pack_count].name, "-1"); level_packs[level_pack_count].last_level = UNDEFINED; level_packs[level_pack_count].level_reached = read_level_packs[count].level_reached; level_packs[level_pack_count].level_selected = read_level_packs[count].level_selected; level_packs[level_pack_count].selected = read_level_packs[count].selected; level_pack_count++; } } /* There may be more than one, none or a missing pack selected so we'll fix that here */ found = FALSE; for (count = 0; count < level_pack_count; count++) { /* If a missing pack is selected then deselect it */ if (level_packs[count].selected == TRUE && level_packs[count].last_level == UNDEFINED) { level_packs[count].selected = FALSE; } else if (level_packs[count].selected == TRUE) { /* A found pack is selected so deselect all the others */ selected_pack = count; for (count2 = 0; count2 < level_pack_count; count2++) { /* Don't deselect the selected pack! */ if (count2 != count) level_packs[count2].selected = FALSE; } found = TRUE; } if (found) break; } /* If no pack was found to be selected then select the default pack */ if (!found) { level_packs[0].selected = TRUE; selected_pack = 0; } /* It's also possible that level_selected > level_reached or both * are greater than last_level for found packs so we'll fix that here */ for (count = 0; count < level_pack_count; count++) { if (level_packs[count].last_level != UNDEFINED) { if (level_packs[count].level_reached > level_packs[count].last_level) level_packs[count].level_reached = level_packs[count].last_level; if (level_packs[count].level_selected > level_packs[count].level_reached) level_packs[count].level_selected = level_packs[count].level_reached; } } return 0; } /*************************************************************************** * Save Resource File * ***************************************************************************/ /* Saves resource file data. * * On entry: filename is the full path to the rc file * inform = true to inform the user via the console * On exit: returns 1 on error */ int save_resource_file (char *filename, int inform) { FILE *fp; int count; if ((fp = fopen (filename, "w")) == NULL) { fprintf (stdout, "Cannot write to file: %s\n", filename); return 1; } if (inform) fprintf (stdout, "Writing to %s\n", filename); fprintf (fp, "[version]\n%s\n", VERSION); fprintf (fp, "[sound]\n%d\n", sound); fprintf (fp, "[sfx_vol]\n%d\n", sfx_vol); fprintf (fp, "[volume]\n%d\n",volume); fprintf (fp, "[game_cycle_limit]\n%i\n", game_cycle_limit); fprintf (fp, "[game_cycle_delay]\n%i\n", game_cycle_delay); fprintf (fp, "[default_joystick]\n%i\n", default_joystick); if (default_joystick == UNDEFINED) { fprintf (fp, "[default_joystick_name]\n%s\n", "-1"); } else { fprintf (fp, "[default_joystick_name]\n%s\n", default_joystick_name); } fprintf (fp, "[joystick_dead_zone]\n%i\n", joystick_dead_zone); fprintf (fp, "[key_repeat_delay]\n%i\n", key_repeat_delay); fprintf (fp, "[key_repeat_interval]\n%i\n", key_repeat_interval); fprintf (fp, "[selected_skin]\n%s\n", skins[selected_skin].foldername); fprintf (fp, "[selected_locale]\n%s\n", locales[selected_locale].foldername); fprintf (fp, "[save_frequency]\n%i\n", rcfile.save_frequency); fprintf (fp, "[op_env.systempointer]\n%i\n", gnurobbo_op_env.systempointer); fprintf (fp, "[pointer_controls.state]\n%i\n", pointer_controls.state); fprintf (fp, "[pointer_controls.pad_type]\n%i\n", pointer_controls.pad_type); fprintf (fp, "[sensible_bears]\n%i\n", game_mechanics.sensible_bears); fprintf (fp, "[sensible_questionmarks]\n%i\n", game_mechanics.sensible_questionmarks); fprintf (fp, "[sensible_solid_lasers]\n%i\n", game_mechanics.sensible_solid_lasers); for (count = 0; count < level_pack_count; count++) { fprintf (fp, "[filename]\n%s\n", level_packs[count].filename); fprintf (fp, "[level_reached]\n%i\n", level_packs[count].level_reached); fprintf (fp, "[level_selected]\n%i\n", level_packs[count].level_selected); fprintf (fp, "[selected]\n%i\n", level_packs[count].selected); } fprintf (fp, "[ACTION_UP.device]\n%i\n", user_controls[ACTION_UP].device); fprintf (fp, "[ACTION_UP.id]\n%i\n", user_controls[ACTION_UP].id); fprintf (fp, "[ACTION_UP.mod]\n%i\n", user_controls[ACTION_UP].mod); fprintf (fp, "[ACTION_UP_RIGHT.device]\n%i\n", user_controls[ACTION_UP_RIGHT].device); fprintf (fp, "[ACTION_UP_RIGHT.id]\n%i\n", user_controls[ACTION_UP_RIGHT].id); fprintf (fp, "[ACTION_UP_RIGHT.mod]\n%i\n", user_controls[ACTION_UP_RIGHT].mod); fprintf (fp, "[ACTION_RIGHT.device]\n%i\n", user_controls[ACTION_RIGHT].device); fprintf (fp, "[ACTION_RIGHT.id]\n%i\n", user_controls[ACTION_RIGHT].id); fprintf (fp, "[ACTION_RIGHT.mod]\n%i\n", user_controls[ACTION_RIGHT].mod); fprintf (fp, "[ACTION_DOWN_RIGHT.device]\n%i\n", user_controls[ACTION_DOWN_RIGHT].device); fprintf (fp, "[ACTION_DOWN_RIGHT.id]\n%i\n", user_controls[ACTION_DOWN_RIGHT].id); fprintf (fp, "[ACTION_DOWN_RIGHT.mod]\n%i\n", user_controls[ACTION_DOWN_RIGHT].mod); fprintf (fp, "[ACTION_DOWN.device]\n%i\n", user_controls[ACTION_DOWN].device); fprintf (fp, "[ACTION_DOWN.id]\n%i\n", user_controls[ACTION_DOWN].id); fprintf (fp, "[ACTION_DOWN.mod]\n%i\n", user_controls[ACTION_DOWN].mod); fprintf (fp, "[ACTION_DOWN_LEFT.device]\n%i\n", user_controls[ACTION_DOWN_LEFT].device); fprintf (fp, "[ACTION_DOWN_LEFT.id]\n%i\n", user_controls[ACTION_DOWN_LEFT].id); fprintf (fp, "[ACTION_DOWN_LEFT.mod]\n%i\n", user_controls[ACTION_DOWN_LEFT].mod); fprintf (fp, "[ACTION_LEFT.device]\n%i\n", user_controls[ACTION_LEFT].device); fprintf (fp, "[ACTION_LEFT.id]\n%i\n", user_controls[ACTION_LEFT].id); fprintf (fp, "[ACTION_LEFT.mod]\n%i\n", user_controls[ACTION_LEFT].mod); fprintf (fp, "[ACTION_UP_LEFT.device]\n%i\n", user_controls[ACTION_UP_LEFT].device); fprintf (fp, "[ACTION_UP_LEFT.id]\n%i\n", user_controls[ACTION_UP_LEFT].id); fprintf (fp, "[ACTION_UP_LEFT.mod]\n%i\n", user_controls[ACTION_UP_LEFT].mod); fprintf (fp, "[ACTION_RESTART.device]\n%i\n", user_controls[ACTION_RESTART].device); fprintf (fp, "[ACTION_RESTART.id]\n%i\n", user_controls[ACTION_RESTART].id); fprintf (fp, "[ACTION_RESTART.mod]\n%i\n", user_controls[ACTION_RESTART].mod); fprintf (fp, "[ACTION_SHOOT_UP.device]\n%i\n", user_controls[ACTION_SHOOT_UP].device); fprintf (fp, "[ACTION_SHOOT_UP.id]\n%i\n", user_controls[ACTION_SHOOT_UP].id); fprintf (fp, "[ACTION_SHOOT_UP.mod]\n%i\n", user_controls[ACTION_SHOOT_UP].mod); fprintf (fp, "[ACTION_SHOOT_DOWN.device]\n%i\n", user_controls[ACTION_SHOOT_DOWN].device); fprintf (fp, "[ACTION_SHOOT_DOWN.id]\n%i\n", user_controls[ACTION_SHOOT_DOWN].id); fprintf (fp, "[ACTION_SHOOT_DOWN.mod]\n%i\n", user_controls[ACTION_SHOOT_DOWN].mod); fprintf (fp, "[ACTION_SHOOT_LEFT.device]\n%i\n", user_controls[ACTION_SHOOT_LEFT].device); fprintf (fp, "[ACTION_SHOOT_LEFT.id]\n%i\n", user_controls[ACTION_SHOOT_LEFT].id); fprintf (fp, "[ACTION_SHOOT_LEFT.mod]\n%i\n", user_controls[ACTION_SHOOT_LEFT].mod); fprintf (fp, "[ACTION_SHOOT_RIGHT.device]\n%i\n", user_controls[ACTION_SHOOT_RIGHT].device); fprintf (fp, "[ACTION_SHOOT_RIGHT.id]\n%i\n", user_controls[ACTION_SHOOT_RIGHT].id); fprintf (fp, "[ACTION_SHOOT_RIGHT.mod]\n%i\n", user_controls[ACTION_SHOOT_RIGHT].mod); fprintf (fp, "[ACTION_SELECT.device]\n%i\n", user_controls[ACTION_SELECT].device); fprintf (fp, "[ACTION_SELECT.id]\n%i\n", user_controls[ACTION_SELECT].id); fprintf (fp, "[ACTION_SELECT.mod]\n%i\n", user_controls[ACTION_SELECT].mod); fprintf (fp, "[ACTION_EXIT.device]\n%i\n", user_controls[ACTION_EXIT].device); fprintf (fp, "[ACTION_EXIT.id]\n%i\n", user_controls[ACTION_EXIT].id); fprintf (fp, "[ACTION_EXIT.mod]\n%i\n", user_controls[ACTION_EXIT].mod); fprintf (fp, "[ACTION_HELP.device]\n%i\n", user_controls[ACTION_HELP].device); fprintf (fp, "[ACTION_HELP.id]\n%i\n", user_controls[ACTION_HELP].id); fprintf (fp, "[ACTION_HELP.mod]\n%i\n", user_controls[ACTION_HELP].mod); fprintf (fp, "[ACTION_OPTIONS.device]\n%i\n", user_controls[ACTION_OPTIONS].device); fprintf (fp, "[ACTION_OPTIONS.id]\n%i\n", user_controls[ACTION_OPTIONS].id); fprintf (fp, "[ACTION_OPTIONS.mod]\n%i\n", user_controls[ACTION_OPTIONS].mod); fprintf (fp, "[ACTION_TOGGLE_FULLSCREEN.device]\n%i\n", user_controls[ACTION_TOGGLE_FULLSCREEN].device); fprintf (fp, "[ACTION_TOGGLE_FULLSCREEN.id]\n%i\n", user_controls[ACTION_TOGGLE_FULLSCREEN].id); fprintf (fp, "[ACTION_TOGGLE_FULLSCREEN.mod]\n%i\n", user_controls[ACTION_TOGGLE_FULLSCREEN].mod); fprintf (fp, "[ACTION_PREVIOUS_LEVEL.device]\n%i\n", user_controls[ACTION_PREVIOUS_LEVEL].device); fprintf (fp, "[ACTION_PREVIOUS_LEVEL.id]\n%i\n", user_controls[ACTION_PREVIOUS_LEVEL].id); fprintf (fp, "[ACTION_PREVIOUS_LEVEL.mod]\n%i\n", user_controls[ACTION_PREVIOUS_LEVEL].mod); fprintf (fp, "[ACTION_NEXT_LEVEL.device]\n%i\n", user_controls[ACTION_NEXT_LEVEL].device); fprintf (fp, "[ACTION_NEXT_LEVEL.id]\n%i\n", user_controls[ACTION_NEXT_LEVEL].id); fprintf (fp, "[ACTION_NEXT_LEVEL.mod]\n%i\n", user_controls[ACTION_NEXT_LEVEL].mod); fprintf (fp, "[ACTION_PREVIOUS_PACK.device]\n%i\n", user_controls[ACTION_PREVIOUS_PACK].device); fprintf (fp, "[ACTION_PREVIOUS_PACK.id]\n%i\n", user_controls[ACTION_PREVIOUS_PACK].id); fprintf (fp, "[ACTION_PREVIOUS_PACK.mod]\n%i\n", user_controls[ACTION_PREVIOUS_PACK].mod); fprintf (fp, "[ACTION_NEXT_PACK.device]\n%i\n", user_controls[ACTION_NEXT_PACK].device); fprintf (fp, "[ACTION_NEXT_PACK.id]\n%i\n", user_controls[ACTION_NEXT_PACK].id); fprintf (fp, "[ACTION_NEXT_PACK.mod]\n%i\n", user_controls[ACTION_NEXT_PACK].mod); fprintf (fp, "[ACTION_HOME.device]\n%i\n", user_controls[ACTION_HOME].device); fprintf (fp, "[ACTION_HOME.id]\n%i\n", user_controls[ACTION_HOME].id); fprintf (fp, "[ACTION_HOME.mod]\n%i\n", user_controls[ACTION_HOME].mod); fprintf (fp, "[ACTION_END.device]\n%i\n", user_controls[ACTION_END].device); fprintf (fp, "[ACTION_END.id]\n%i\n", user_controls[ACTION_END].id); fprintf (fp, "[ACTION_END.mod]\n%i\n", user_controls[ACTION_END].mod); fprintf (fp, "[ACTION_PAGEUP.device]\n%i\n", user_controls[ACTION_PAGEUP].device); fprintf (fp, "[ACTION_PAGEUP.id]\n%i\n", user_controls[ACTION_PAGEUP].id); fprintf (fp, "[ACTION_PAGEUP.mod]\n%i\n", user_controls[ACTION_PAGEUP].mod); fprintf (fp, "[ACTION_PAGEDOWN.device]\n%i\n", user_controls[ACTION_PAGEDOWN].device); fprintf (fp, "[ACTION_PAGEDOWN.id]\n%i\n", user_controls[ACTION_PAGEDOWN].id); fprintf (fp, "[ACTION_PAGEDOWN.mod]\n%i\n", user_controls[ACTION_PAGEDOWN].mod); fprintf (fp, "[ACTION_TOGGLE_DESIGNER.device]\n%i\n", user_controls[ACTION_TOGGLE_DESIGNER].device); fprintf (fp, "[ACTION_TOGGLE_DESIGNER.id]\n%i\n", user_controls[ACTION_TOGGLE_DESIGNER].id); fprintf (fp, "[ACTION_TOGGLE_DESIGNER.mod]\n%i\n", user_controls[ACTION_TOGGLE_DESIGNER].mod); fprintf (fp, "[ACTION_VOLUP.device]\n%i\n", user_controls[ACTION_VOLUP].device); fprintf (fp, "[ACTION_VOLUP.id]\n%i\n", user_controls[ACTION_VOLUP].id); fprintf (fp, "[ACTION_VOLUP.mod]\n%i\n", user_controls[ACTION_VOLUP].mod); fprintf (fp, "[ACTION_VOLDOWN.device]\n%i\n", user_controls[ACTION_VOLDOWN].device); fprintf (fp, "[ACTION_VOLDOWN.id]\n%i\n", user_controls[ACTION_VOLDOWN].id); fprintf (fp, "[ACTION_VOLDOWN.mod]\n%i\n", user_controls[ACTION_VOLDOWN].mod); fprintf (fp, "[ACTION_MODIFIER1.device]\n%i\n", user_controls[ACTION_MODIFIER1].device); fprintf (fp, "[ACTION_MODIFIER1.id]\n%i\n", user_controls[ACTION_MODIFIER1].id); fprintf (fp, "[ACTION_MODIFIER1.mod]\n%i\n", user_controls[ACTION_MODIFIER1].mod); fprintf (fp, "[ACTION_MODIFIER2.device]\n%i\n", user_controls[ACTION_MODIFIER2].device); fprintf (fp, "[ACTION_MODIFIER2.id]\n%i\n", user_controls[ACTION_MODIFIER2].id); fprintf (fp, "[ACTION_MODIFIER2.mod]\n%i\n", user_controls[ACTION_MODIFIER2].mod); fprintf (fp, "[ACTION_MODIFIER3.device]\n%i\n", user_controls[ACTION_MODIFIER3].device); fprintf (fp, "[ACTION_MODIFIER3.id]\n%i\n", user_controls[ACTION_MODIFIER3].id); fprintf (fp, "[ACTION_MODIFIER3.mod]\n%i\n", user_controls[ACTION_MODIFIER3].mod); fprintf (fp, "[ACTION_MODIFIER4.device]\n%i\n", user_controls[ACTION_MODIFIER4].device); fprintf (fp, "[ACTION_MODIFIER4.id]\n%i\n", user_controls[ACTION_MODIFIER4].id); fprintf (fp, "[ACTION_MODIFIER4.mod]\n%i\n", user_controls[ACTION_MODIFIER4].mod); fprintf (fp, "[ACTION_SCROLL_UP.device]\n%i\n", user_controls[ACTION_SCROLL_UP].device); fprintf (fp, "[ACTION_SCROLL_UP.id]\n%i\n", user_controls[ACTION_SCROLL_UP].id); fprintf (fp, "[ACTION_SCROLL_UP.mod]\n%i\n", user_controls[ACTION_SCROLL_UP].mod); fprintf (fp, "[ACTION_SCROLL_DOWN.device]\n%i\n", user_controls[ACTION_SCROLL_DOWN].device); fprintf (fp, "[ACTION_SCROLL_DOWN.id]\n%i\n", user_controls[ACTION_SCROLL_DOWN].id); fprintf (fp, "[ACTION_SCROLL_DOWN.mod]\n%i\n", user_controls[ACTION_SCROLL_DOWN].mod); fprintf (fp, "[ACTION_PRIMARY_CLICK.device]\n%i\n", user_controls[ACTION_PRIMARY_CLICK].device); fprintf (fp, "[ACTION_PRIMARY_CLICK.id]\n%i\n", user_controls[ACTION_PRIMARY_CLICK].id); fprintf (fp, "[ACTION_PRIMARY_CLICK.mod]\n%i\n", user_controls[ACTION_PRIMARY_CLICK].mod); fclose (fp); return 0; } gnurobbo-0.66+dfsg/Makefile.psp0000644000175000017500000000220511434556345015511 0ustar stevestevePACKAGE_DATA_DIR=./data BINDIR=. DOCDIR=. # Choose ONE of these and comment the other #FONT_USE_PIXMAP=-DUSE_PIXMAP_FONT FONT_USE_SDL_TTF=-lSDL_ttf # Comment out the line below if you want to disable music support MUSIC=-DHAVE_MUSIC # Comment out the line below if you want to disable the designer #DESIGNER=-DHAVE_DESIGNER SOURCES=$(wildcard *.c) OBJS=$(patsubst %.c, %.o, $(SOURCES)) VERSION=$(shell cat VERSION) TARGET=$(shell cat TARGET) EXTRA_TARGETS=EBOOT.PBP PSP_EBOOT_TITLE=GNU Robbo $(VERSION) PSP_EBOOT_ICON=icon32.png PSP_LARGE_MEMORY=1 PSP_FW_VERSION=390 BUILD_PRX=1 CFLAGS = -O2 -G0 -Wall -DPLATFORM_PSP -DVERSION=\"$(VERSION)\" -DPACKAGE_DATA_DIR=\"$(PACKAGE_DATA_DIR)\" $(FONT_USE_PIXMAP) $(MUSIC) $(DESIGNER) CXXFLAGS = $(CFLAGS) -fno-exceptions -fno-rtti ASFLAGS = $(CFLAGS) LIBDIR = LIBS = $(FONT_USE_SDL_TTF) -lfreetype -lSDL_mixer -lvorbisidec -lSDL_image -lpng -ljpeg -lz LDFLAGS = PSPSDK=$(shell psp-config --pspsdk-path) PSPBIN = $(PSPSDK)/../bin CFLAGS += $(shell $(PSPBIN)/sdl-config --cflags) CXXFLAGS += $(shell $(PSPBIN)/sdl-config --cflags) LIBS += $(shell $(PSPBIN)/sdl-config --libs) include $(PSPSDK)/lib/build.mak gnurobbo-0.66+dfsg/sound.c0000644000175000017500000004460311434556345014554 0ustar stevesteve/* GNU Robbo * Copyright (C) 2002-2010 The GNU Robbo Team (see AUTHORS). * * GNU Robbo is free software - you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2, or (at your option) * any later version. * * GNU Robbo is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the impled warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with GNU CC; see the file COPYING. If not, write to the * Free Software Foundation, 59 Temple Place - Suite 330, * Boston, MA 02111-1307, USA. * */ #include "game.h" /* * Defines */ #define MESSAGE_BOX_VOLUME_ID "volume" #define DELAY_MESSAGE_BOX_VOLUME (1 * game_cycle_limit) /* ms */ /* * files and stuff */ #define SOUNDS_DIR "sounds" #define MUSIC_DIR "music" /* * tags for the soundskin */ #define AMMO_TAG "[ammo]" #define SCREW_TAG "[screw]" #define KEY_TAG "[key]" #define DOOR_TAG "[door]" #define BOMB_TAG "[bomb]" #define GUN_TAG "[gun]" #define BOX_TAG "[box]" #define BIRD_TAG "[bird]" #define TELEPORT_TAG "[teleport]" #define WALK_TAG "[walk]" #define CAPSULE_TAG "[capsule]" #define KILL_TAG "[kill]" #define MAGNET_TAG "[magnet]" #define EXIT_OPEN_TAG "[exit-open]" #define SHOOT_TAG "[robbo-shoots]" #define SND_READING 128 #define SND_MISSING 129 #define SND_INIT 100 #define SND_NOINIT 200 #define SND_FILEPRESENT 64 #define SND_SAMPLELOADED 63 #define SND_ABSENT 60 #define SND_PLAYING 1 #define SND_PAUSED 2 #define SND_NOTPLAYING 0 #define MAXFNAMELEN 1024 /* * Variables */ char ammo_file[MAXFNAMELEN]; char screw_file[MAXFNAMELEN]; char bomb_file[MAXFNAMELEN]; char box_file[MAXFNAMELEN]; char door_file[MAXFNAMELEN]; char gun_file[MAXFNAMELEN]; char key_file[MAXFNAMELEN]; char shoot_file[MAXFNAMELEN]; char bird_file[MAXFNAMELEN]; char teleport_file[MAXFNAMELEN]; char walk_file[MAXFNAMELEN]; char capsule_file[MAXFNAMELEN]; char kill_file[MAXFNAMELEN]; char magnet_file[MAXFNAMELEN]; char exit_open_file[MAXFNAMELEN]; int allocated_channels=-1; int destroyed_playlist = 0; int next_song = 0; int absent = 1; int tempvol = 0; /*******************/ /* * table of sounds */ /*******************/ /* * format is simple: initialized, event_type,sample_hook, file_name */ struct snd_sample sounds[] = { {0, SFX_BULLET, NULL, ammo_file, AMMO_TAG}, {0, SFX_SCREW, NULL, screw_file, SCREW_TAG}, {0, SFX_BOMB, NULL, bomb_file, BOMB_TAG}, {0, SFX_BOX, NULL, box_file, BOX_TAG}, {0, SFX_DOOR, NULL, door_file, DOOR_TAG}, {0, SFX_GUN, NULL, gun_file, GUN_TAG}, {0, SFX_KEY, NULL, key_file, KEY_TAG}, {0, SFX_SHOOT, NULL, shoot_file, SHOOT_TAG}, {0, SFX_BIRD, NULL, bird_file, BIRD_TAG}, {0, SFX_TELEPORT, NULL, teleport_file, TELEPORT_TAG}, {0, SFX_ROBBO, NULL, walk_file, WALK_TAG}, {0, SFX_CAPSULE, NULL, capsule_file, CAPSULE_TAG}, {0, SFX_KILL, NULL, kill_file, KILL_TAG}, {0, SFX_MAGNET, NULL, magnet_file, MAGNET_TAG}, {0, SFX_EXIT_OPEN, NULL, exit_open_file, EXIT_OPEN_TAG}, {0, 0, NULL, NULL, NULL} /* this always should be at the end */ }; struct snd_music playlist[MUS_MAXSONGS]; /* * Function prototypes */ /*************************************************************************** * Volume Up * ***************************************************************************/ void volume_up(void) { char tempstring[256]; MSG_Box temp_msg_box; if (volume < 128) { volume++; sprintf(tempstring, "%s: %i", txt_Volume, volume); strcpy(temp_msg_box.name, MESSAGE_BOX_VOLUME_ID); strcpy(temp_msg_box.message, tempstring); temp_msg_box.timeout = DELAY_MESSAGE_BOX_VOLUME; temp_msg_box.dynamic = FALSE; temp_msg_box.w = 6 * video.field_size; temp_msg_box.h = 2 * video.field_size; show_message_box(MESSAGE_BOX_SUB_INITIALISE, &temp_msg_box); #ifndef HAVE_MUSIC /* If the Options screen is currently showing the Sfx Volume * then this will update temp_sfx_vol and the screen text */ if (game_mode == OPTIONS_SCREEN && optionspage == OPTIONS_SFX_VOL / 13) { temp_sfx_vol = volume; options_screen.redraw |= REDRAW_INTERMEDIATE; } #endif } } /*************************************************************************** * Volume Down * ***************************************************************************/ void volume_down(void) { char tempstring[256]; MSG_Box temp_msg_box; if (volume > 0) { volume--; sprintf(tempstring, "%s: %i", txt_Volume, volume); strcpy(temp_msg_box.name, MESSAGE_BOX_VOLUME_ID); strcpy(temp_msg_box.message, tempstring); temp_msg_box.timeout = DELAY_MESSAGE_BOX_VOLUME; temp_msg_box.dynamic = FALSE; temp_msg_box.w = 6 * video.field_size; temp_msg_box.h = 2 * video.field_size; show_message_box(MESSAGE_BOX_SUB_INITIALISE, &temp_msg_box); #ifndef HAVE_MUSIC /* If the Options screen is currently showing the Sfx Volume * then this will update temp_sfx_vol and the screen text */ if (game_mode == OPTIONS_SCREEN && optionspage == OPTIONS_SFX_VOL / 13) { temp_sfx_vol = volume; options_screen.redraw |= REDRAW_INTERMEDIATE; } #endif } } #ifdef HAVE_MUSIC /* * destroy existing playlist */ void destroy_playlist(void) { int c = 0; destroyed_playlist = 1; Mix_HaltMusic(); /* * printf("destroy playlist ["); */ absent = 1; for (c = 0; c < MUS_MAXSONGS; c++) { if (playlist[c].present == SND_SAMPLELOADED) { Mix_FreeMusic(playlist[c].music); } playlist[c].playing = SND_NOTPLAYING; playlist[c].music = NULL; playlist[c].present = SND_ABSENT; /* * printf("."); */ } next_song = 0; /* * printf("]\n"); */ } /* clean up the song after it stopped playing */ void music_finished(void) { int c; #ifdef DEBUG_SOUND printf("music finished\n"); #endif for (c = 0; c < MUS_MAXSONGS; c++) { if (playlist[c].music != NULL) { playlist[c].playing = SND_NOTPLAYING; playlist[c].present = SND_FILEPRESENT; Mix_FreeMusic(playlist[c].music); playlist[c].music = NULL; break; } } } void music_stop(void) { int c = 0; int f=0; for (c = 0; c < MUS_MAXSONGS; c++) { if((f==0) && ((playlist[c].playing==SND_PLAYING) || (playlist[c].playing==SND_PAUSED))) { f=1; /* make sure, we call that only once */ Mix_HaltMusic(); } playlist[c].playing = SND_NOTPLAYING; if(playlist[c].present == SND_SAMPLELOADED) { playlist[c].present = SND_FILEPRESENT; Mix_FreeMusic(playlist[c].music); playlist[c].music = NULL; } } } /* * this is music playing engine, it is supposed to be called onec a while, * for eg. with screen refresh */ void play_music(void) { int c = 0; int current_song = -1; char fname[1024]; int absents = 0; if ((sound == 0) || ((absent == 1) && (destroyed_playlist == 0))) /* check if we play sound at all, and if * there are any music files present */ return; /* or if not, did we just destroyed playlist? */ if (destroyed_playlist) { /* we destroyed playlist recently, so recreate it */ make_playlist(); destroyed_playlist = SND_NOTPLAYING; } /* * ok, now search which song is playing (if any) */ for (c = 0; c < MUS_MAXSONGS; c++) { if (playlist[c].playing == SND_PAUSED) { /* music is paused */ if (volume > 0) { /* should we resume music */ playlist[c].playing = SND_PLAYING; Mix_ResumeMusic(); }; return; } if (playlist[c].playing == SND_PLAYING) { if (volume == 0) { playlist[c].playing = SND_PAUSED; Mix_PauseMusic(); } else { if (tempvol != volume) { Mix_VolumeMusic(volume); tempvol = volume; } } return; /* music is still playing, no point of * doing anything */ } if (playlist[c].present == SND_ABSENT) absents++; if (playlist[c].music != NULL) current_song = c; /* this way we can determine the current * song */ } if (absents == MUS_MAXSONGS) { absent = 1; /* no hope, no music */ return; /* no song present */ } /* * we are still here, so, there is a need of song change */ /* search for available music */ while (playlist[next_song].present != SND_FILEPRESENT) next_song = ((next_song+1) % MUS_MAXSONGS); sprintf(fname, "%s/%s/%s", PACKAGE_DATA_DIR, MUSIC_DIR,playlist[next_song].fname); playlist[next_song].music = Mix_LoadMUS(fname); if (playlist[next_song].music != NULL) { playlist[next_song].present = SND_SAMPLELOADED; playlist[next_song].playing = SND_PLAYING; Mix_VolumeMusic(volume); Mix_PlayMusic(playlist[next_song].music, 0); Mix_HookMusicFinished(music_finished); /* hook up a handler that will clean up after a song play*/ } else { playlist[next_song].present = SND_ABSENT; /* oops, meanwhile, somebody deleted the song file? */ } next_song = ((next_song+1) % MUS_MAXSONGS); } void make_playlist(void) { DIR *dir = NULL; struct dirent *dentry; char musicpath[1024]; int song_count = 0; destroy_playlist(); sprintf(musicpath, "%s/%s/", PACKAGE_DATA_DIR, MUSIC_DIR); next_song = 0; if ((dir = opendir(musicpath)) == NULL) { /* no music, means we will * not play any */ return; } while (((dentry = readdir(dir)) != NULL) && (song_count < MUS_MAXSONGS)) { if ((strstr(dentry->d_name, ".ogg")) != NULL) { /* we have got an * ogg file */ strncpy(playlist[song_count].fname, dentry->d_name, 128); playlist[song_count].fname[127] = 0; playlist[song_count].present = SND_FILEPRESENT; playlist[song_count].playing = SND_NOTPLAYING; song_count++; absent = 0; } } closedir(dir); } #endif /********************** * Load the soundskin * **********************/ void load_soundskin(char *fname) { char name[1024]; char line[1024]; int c = 0, c1 = 0; int notag = 0; FILE *fd; // if (sound == 0) /* there is nothing to do here, why // * bother? */ // return; /* * unload all samples */ for (c = 0; sounds[c].type != 0; c++) { if (sounds[c].initialized == SND_INIT) { if (sounds[c].s_sample != NULL) Mix_FreeChunk(sounds[c].s_sample); /* the ones that * are initialized * should be * removed */ } sounds[c].s_sample = NULL; /* set null on the sample hook, so * it will not be removed twice */ sounds[c].initialized = SND_MISSING; } sprintf(name, "%s/%s/skins/%s", PACKAGE_DATA_DIR, SOUNDS_DIR, fname); if ((fd = fopen(name, "r")) == NULL) { /* no skin file, well, * what a pity, let's try * the default one */ sprintf(name, "%s/%s/skins/default.dat", PACKAGE_DATA_DIR, SOUNDS_DIR); if ((fd = fopen(name, "r")) == NULL) /* hmmm no default sound * * skin, how strange */ return; } /* * ok, so let's read the soundskin file */ while ((fgets(line, 1024, fd)) != NULL) { for (c = strlen(line) - 1; c >= 0; c--) /* fgets will get [CR]LFs * * too so they should be * * removed, the spaces at * * the end also */ if (line[c] == 13 || line[c] == 10 || line[c] == ' ') line[c] = 0; else break; /* we don't read many lines, just one */ /* * checking if we have a tag */ notag = 1; for (c = 0; sounds[c].type != 0; c++) if (!strncmp(sounds[c].rctag, line, strlen(sounds[c].rctag))) { /* we * got * a * tag * check, * if * we * processed * anything */ notag = 0; for (c1 = 0; sounds[c1].type != 0; c1++) if ((sounds[c1].initialized == SND_READING) && (c1 != c)) /* data * missing */ sounds[c1].initialized = SND_MISSING; sounds[c].initialized = SND_READING; break; } if (notag == 1) { /* ok, so we have data */ for (c = 0; sounds[c].type != 0; c++) if (sounds[c].initialized == SND_READING) { strncpy(sounds[c].fname, line, MAXFNAMELEN); sounds[c].fname[MAXFNAMELEN - 1] = 0; sounds[c].initialized = SND_NOINIT; #ifdef DEBUG_SOUND printf(" %s reading as <%s>\n", sounds[c].rctag, sounds[c].fname); #endif break; } } } fclose(fd); for (c = 0; sounds[c].type != 0; c++) if (sounds[c].initialized == SND_READING) sounds[c].initialized = SND_MISSING; /* a bit of * cleaning */ load_samples(); } /* * remove audio from the memory */ void audio_destroy() { int c = 0; /* * we don't want to destroy already destroyed */ #ifdef DEBUG_SOUND printf("*** Audio destroy\n"); printf("*** sound=%i\n", sound); #endif for (c = 0; sounds[c].type != 0; c++) { if (sounds[c].initialized == SND_INIT) { if (sounds[c].s_sample != NULL) Mix_FreeChunk(sounds[c].s_sample); /* the ones that * are initialized * should be * removed */ } sounds[c].s_sample = NULL; /* set null on the sample hook, so * it will not be removed twice */ sounds[c].initialized = SND_MISSING; } /* * if we support music, we have to handle it */ #ifdef HAVE_MUSIC destroy_playlist(); #endif sound = 0; #ifdef DEBUG_SOUND printf("*** sound=%i audio_destroy end\n", sound); #endif audio_close(); } /* * this will load the samples to the memory */ void load_samples(void) { int c = 0; char fullpath[1024]; #ifdef DEBUG_SOUND printf("sound setting %d\n", sound); #endif /* * Samples init */ for (c = 0; sounds[c].type != 0; c++) { /** If any of the samples is missing, we will not try to use it **/ if (sounds[c].initialized == SND_MISSING) /* skip missing * * samples */ continue; sprintf(fullpath, "%s/%s/%s", PACKAGE_DATA_DIR, SOUNDS_DIR, sounds[c].fname); #ifdef DEBUG_SOUND printf("*** load samples from %s\n", fullpath); #endif sounds[c].s_sample = Mix_LoadWAV(fullpath); if (sounds[c].s_sample == NULL) /* it seems the sample isn't * * present, so mark it as not * * usable */ sounds[c].initialized = SND_NOINIT; else sounds[c].initialized = SND_INIT; } } /* * check if audio was open, returns 0 if not opened, or returns the number * of times it was opened */ int audio_opened() { int audio_rate = 0; Uint16 audio_format = 0; int channels = 0; int retval = 0; retval = Mix_QuerySpec(&audio_rate, &audio_format, &channels); #ifdef DEBUG_SOUND printf("num audio open %d\n", retval); printf("*** sound=%i\n", sound); #endif return retval; } /* * make the sound system to be ready for loading samples and music */ void audio_init(void) { int c = 0; #ifdef DEBUG_SOUND printf("** audio init %d\n", sound); printf("*** sound=%i\n", sound); #endif audio_open(); for (c = 0; sounds[c].type != 0; c++) { /* this will mark all of the samples as not initialized, but will not do anything else */ sounds[c].s_sample = NULL; sounds[c].initialized = SND_MISSING; strcpy(sounds[c].fname, SINGLE_SPACE); } /* * if we want to support music */ #ifdef HAVE_MUSIC /* * initialize the music table */ for (c = 0; c < MUS_MAXSONGS; c++) { playlist[c].present = SND_ABSENT; playlist[c].playing = SND_NOTPLAYING; playlist[c].music = NULL; } destroyed_playlist=1; #endif } /************** * Play Sound * **************/ /* * the argument is type of an object, which is defined in board.h * and * volume definition. there are some prefedined values (check sound.h) * * if we want to set the volume of a sample manually we do it this way: * play_sound(SCREW,SND_FULL+new_volume) * and now the volume would be * sfx_vol/new_volume */ void play_sound(int event, int vol) { int chan = 0; int c = 0; int channels=Mix_Playing(-1); if (sound == 0) /* no sound, means no sound */ return; if (sfx_vol == 0) return; /* * just in case, if play_sound would be called with an invalid value */ switch (vol) { case SND_FULL: vol = 128; break; case SND_HALF: vol = sfx_vol / 2; if(channels>allocated_channels-5) /* We want at least 5 channels to be available, in order to play quiet sounds */ return; break; case SND_QUIET: vol = sfx_vol / 8; if(channels>allocated_channels-5) return; break; case SND_MUTE: vol = 0; break; case SND_NORM: vol = sfx_vol; break; default: /* * OK, so we have other value set, so we assume someone wanted to * divide sfx_vol by other value */ vol = sfx_vol / (vol - SND_FULL); break; } for (c = 0; sounds[c].type != 0; c++) { if (sounds[c].type == event) { if (sounds[c].initialized == SND_INIT) { //Mix_VolumeChunk(sounds[c].s_sample, vol); chan = Mix_PlayChannel(-1, sounds[c].s_sample, 0); Mix_Volume(chan,vol); } break; } } return; } void audio_open() { int audio_rate = SND_RATE; Uint16 audio_format = AUDIO_S16SYS; int audio_channels = 2; #if defined(PLATFORM_GP2X) && defined(TOOLCHAIN_OPEN2X) int audio_buffers = 256; #else int audio_buffers = 1024; #endif if (audio_opened() == 0) { /* check if we already initialized sound * subsystem */ #ifdef DEBUG_SOUND printf ("audio_rate=%i audio_format=%i audio_channels=%i audio_buffers=%i\n", audio_rate, audio_format, audio_channels, audio_buffers); #endif if (Mix_OpenAudio (audio_rate, audio_format, audio_channels, audio_buffers) != 0) { /* it seems we will not have the sound * after all */ fprintf(stderr, "Unable to initialize audio: %s\n", Mix_GetError()); sound = 0; } else { allocated_channels=Mix_AllocateChannels(SND_CHANNELS); printf("Managed to allocate %d sound channels \n",allocated_channels); } } } void audio_close() { if (audio_opened() > 0) Mix_CloseAudio(); } gnurobbo-0.66+dfsg/gp2x/0002755000175000017500000000000011467303356014131 5ustar stevestevegnurobbo-0.66+dfsg/gp2x/gnurobbo.gpe0000755000175000017500000000011611440216355016433 0ustar stevesteve#!/bin/sh ./gnurobbo 2>&1 > gnurobbolog.txt sync cd /usr/gp2x exec ./gp2xmenu gnurobbo-0.66+dfsg/gp2x/build-gnurobbo0000755000175000017500000001371511467300751016772 0ustar stevesteve#!/bin/sh # This creates a binary tarball for the GP2X. # NOTE: This is run when executing 'make -f Makefile.gp2x' or # 'make -f Makefile.open2x'. It also expects PACKAGE_DATA_DIR and # TOOLCHAIN to have been exported. if test -a VERSION ; then VERSION="$(cat VERSION)" if test -a TARGET ; then TARGET="$(cat TARGET)" if [ -n "$PACKAGE_DATA_DIR" ] ; then if [ -n "$TOOLCHAIN" ] ; then #------------------------------------------------------------- echo "Building GP2X binary tarball..." mkdir -p ${TARGET}_${VERSION}_${TOOLCHAIN}/${PACKAGE_DATA_DIR}/levels mkdir -p ${TARGET}_${VERSION}_${TOOLCHAIN}/${PACKAGE_DATA_DIR}/sounds/default mkdir -p ${TARGET}_${VERSION}_${TOOLCHAIN}/${PACKAGE_DATA_DIR}/sounds/free mkdir -p ${TARGET}_${VERSION}_${TOOLCHAIN}/${PACKAGE_DATA_DIR}/sounds/oily mkdir -p ${TARGET}_${VERSION}_${TOOLCHAIN}/${PACKAGE_DATA_DIR}/sounds/skins mkdir -p ${TARGET}_${VERSION}_${TOOLCHAIN}/${PACKAGE_DATA_DIR}/rob mkdir -p ${TARGET}_${VERSION}_${TOOLCHAIN}/${PACKAGE_DATA_DIR}/skins/original mkdir -p ${TARGET}_${VERSION}_${TOOLCHAIN}/${PACKAGE_DATA_DIR}/skins/tronic mkdir -p ${TARGET}_${VERSION}_${TOOLCHAIN}/${PACKAGE_DATA_DIR}/skins/oily mkdir -p ${TARGET}_${VERSION}_${TOOLCHAIN}/${PACKAGE_DATA_DIR}/locales/cz_CZ mkdir -p ${TARGET}_${VERSION}_${TOOLCHAIN}/${PACKAGE_DATA_DIR}/locales/de_DE mkdir -p ${TARGET}_${VERSION}_${TOOLCHAIN}/${PACKAGE_DATA_DIR}/locales/en_GB mkdir -p ${TARGET}_${VERSION}_${TOOLCHAIN}/${PACKAGE_DATA_DIR}/locales/id_ID mkdir -p ${TARGET}_${VERSION}_${TOOLCHAIN}/${PACKAGE_DATA_DIR}/locales/pl_PL mkdir -p ${TARGET}_${VERSION}_${TOOLCHAIN}/${PACKAGE_DATA_DIR}/locales/ru_RU mkdir -p ${TARGET}_${VERSION}_${TOOLCHAIN}/${PACKAGE_DATA_DIR}/locales/sk_SK mkdir -p ${TARGET}_${VERSION}_${TOOLCHAIN}/${PACKAGE_DATA_DIR}/locales/sv_SE if [ "$TOOLCHAIN" = "open2x" ] ; then oggdec data/sounds/default/*.ogg oggdec data/sounds/free/*.ogg oggdec data/sounds/oily/*.ogg sed -i.orig -e 's/.ogg/.wav/' data/sounds/skins/default.dat sed -i.orig -e 's/.ogg/.wav/' data/sounds/skins/free.dat sed -i.orig -e 's/.ogg/.wav/' data/sounds/skins/oily.dat fi cp data/levels/* ${TARGET}_${VERSION}_${TOOLCHAIN}/${PACKAGE_DATA_DIR}/levels/ if [ "$TOOLCHAIN" = "open2x" ] ; then cp data/sounds/default/*.wav ${TARGET}_${VERSION}_${TOOLCHAIN}/${PACKAGE_DATA_DIR}/sounds/default/ cp data/sounds/free/*.wav ${TARGET}_${VERSION}_${TOOLCHAIN}/${PACKAGE_DATA_DIR}/sounds/free/ cp data/sounds/oily/*.wav ${TARGET}_${VERSION}_${TOOLCHAIN}/${PACKAGE_DATA_DIR}/sounds/oily/ else cp data/sounds/default/*.ogg ${TARGET}_${VERSION}_${TOOLCHAIN}/${PACKAGE_DATA_DIR}/sounds/default/ cp data/sounds/free/*.ogg ${TARGET}_${VERSION}_${TOOLCHAIN}/${PACKAGE_DATA_DIR}/sounds/free/ cp data/sounds/oily/*.ogg ${TARGET}_${VERSION}_${TOOLCHAIN}/${PACKAGE_DATA_DIR}/sounds/oily/ fi cp data/sounds/skins/*.dat ${TARGET}_${VERSION}_${TOOLCHAIN}/${PACKAGE_DATA_DIR}/sounds/skins/ cp data/rob/*.bmp ${TARGET}_${VERSION}_${TOOLCHAIN}/${PACKAGE_DATA_DIR}/rob/ cp data/skins/original/*16.bmp data/skins/original/*16.png data/skins/original/skinrc ${TARGET}_${VERSION}_${TOOLCHAIN}/${PACKAGE_DATA_DIR}/skins/original/ cp data/skins/tronic/*16.bmp data/skins/tronic/*16.png data/skins/tronic/skinrc ${TARGET}_${VERSION}_${TOOLCHAIN}/${PACKAGE_DATA_DIR}/skins/tronic/ cp data/skins/oily/*16.bmp data/skins/oily/*16.png data/skins/oily/skinrc ${TARGET}_${VERSION}_${TOOLCHAIN}/${PACKAGE_DATA_DIR}/skins/oily/ if [ -n "$FONT_USE_SDL_TTF" ] ; then cp data/skins/original/robbo.ttf ${TARGET}_${VERSION}_${TOOLCHAIN}/${PACKAGE_DATA_DIR}/skins/original/ cp data/skins/tronic/robbo.ttf ${TARGET}_${VERSION}_${TOOLCHAIN}/${PACKAGE_DATA_DIR}/skins/tronic/ cp data/skins/oily/robbo.ttf ${TARGET}_${VERSION}_${TOOLCHAIN}/${PACKAGE_DATA_DIR}/skins/oily/ fi cp data/locales/cz_CZ/* ${TARGET}_${VERSION}_${TOOLCHAIN}/${PACKAGE_DATA_DIR}/locales/cz_CZ/ cp data/locales/de_DE/* ${TARGET}_${VERSION}_${TOOLCHAIN}/${PACKAGE_DATA_DIR}/locales/de_DE/ cp data/locales/en_GB/* ${TARGET}_${VERSION}_${TOOLCHAIN}/${PACKAGE_DATA_DIR}/locales/en_GB/ cp data/locales/id_ID/* ${TARGET}_${VERSION}_${TOOLCHAIN}/${PACKAGE_DATA_DIR}/locales/id_ID/ cp data/locales/pl_PL/* ${TARGET}_${VERSION}_${TOOLCHAIN}/${PACKAGE_DATA_DIR}/locales/pl_PL/ cp data/locales/ru_RU/* ${TARGET}_${VERSION}_${TOOLCHAIN}/${PACKAGE_DATA_DIR}/locales/ru_RU/ cp data/locales/sk_SK/* ${TARGET}_${VERSION}_${TOOLCHAIN}/${PACKAGE_DATA_DIR}/locales/sk_SK/ cp data/locales/sv_SE/* ${TARGET}_${VERSION}_${TOOLCHAIN}/${PACKAGE_DATA_DIR}/locales/sv_SE/ cp icon32.png ${TARGET}_${VERSION}_${TOOLCHAIN}/${TARGET}.png cp ${TARGET} gp2x/${TARGET}.gpe ${TARGET}_${VERSION}_${TOOLCHAIN}/ cat README.gp2x README > ${TARGET}_${VERSION}_${TOOLCHAIN}/readme.txt cp ChangeLog NEWS COPYING LICENSE-sound ${TARGET}_${VERSION}_${TOOLCHAIN}/ if [ -n "$FONT_USE_SDL_TTF" ] ; then cp LICENSE-ttf ${TARGET}_${VERSION}_${TOOLCHAIN}/ fi tar czvf ${TARGET}_${VERSION}_${TOOLCHAIN}.tar.gz ${TARGET}_${VERSION}_${TOOLCHAIN} rm -rf ${TARGET}_${VERSION}_${TOOLCHAIN} if [ "$TOOLCHAIN" = "open2x" ] ; then rm data/sounds/default/*.wav rm data/sounds/free/*.wav rm data/sounds/oily/*.wav mv -f data/sounds/skins/default.dat.orig data/sounds/skins/default.dat mv -f data/sounds/skins/free.dat.orig data/sounds/skins/free.dat mv -f data/sounds/skins/oily.dat.orig data/sounds/skins/oily.dat fi echo "All done." #------------------------------------------------------------- else echo "ERROR: Variable \"TOOLCHAIN\" has not been set/exported." fi else echo "ERROR: Variable \"PACKAGE_DATA_DIR\" has not been set/exported." fi else echo "ERROR: File \"TARGET\" not found. This is a text file with the project name inside it." fi else echo "ERROR: File \"VERSION\" not found. This is a text file with the version number inside it." fi gnurobbo-0.66+dfsg/icon32.png0000644000175000017500000000066611130767440015055 0ustar stevestevePNG  IHDR szzbKGD pHYsLLetIME%tEXtCommentCreated with The GIMPd%nIDATXW 0 K-i1}ȤÀݡM;g&sFLx>f"8l ~_ܖEaYu 0\ usz\  ^͞ KTR>2`k@2@b4H 'IENDB`gnurobbo-0.66+dfsg/NEWS0000644000175000017500000000507311467300751013747 0ustar stevesteveThis file is designed for creating user readable summaries of the major changes from the ChangeLog since last release. The information gathered here is used for news announcements both within Sourceforge and across open-source game and project related websites. 2010-11-12 * 0.66 released * Significantly reduced the memory usage * Added localisation to the level designer * Added support for Maemo 5 Fremantle * Added preliminary support for Alex (a Robbo clone) * Added Czech translation by Radek Pavle * Fixed a few bugs and outstanding issues * Applied various graphical and usability tweaks 2010-01-16 * 0.65.6 released * Added a writeable MyLevels level pack for use with the designer * Added mouse wheel support for scrolling within the designer * Added Indonesian translation by Auriza Akbar * Fixed several bugs 2009-12-23 * 0.65 released * Added a level designer for platforms with pointer support * Added a new set of 12 demos using the latest level packs * Added the Russian alphabet to the pixmap fonts * Applied various graphical tweaks * Fixed several bugs 2009-12-07 * 0.64 released * Modified some objects to be more similar to Atari Robbo * Added 19 level packs * Added preliminary music support * Added sound and sound-skin support * Added support for tiled level background images * Added Oily graphical skin * Added support for Robbo Millenium objects * Added PlayStation PSP support * Added Russian translation by Alexander Voikov * Added an in-game pointer control pad and toolbar * Added extensive pointer support for menus and game 2009-09-03 * 0.63 * Exclusive Nokia N8x0 (OS2008) package release by Willem-Jan de Hoog 2009-03-18 * 0.62 released * Created Sharp Zaurus Sharp ROM ipk * Added option to save rcfile on change for battery powered devices * Modified the exploding bomb to be more similar to Atari Robbo * Added pixmap fonts and the option to use them over SDL_ttf * Swedish translation added by Niklas 'Nille' Åkerström * Slovak translation added by Viliam Búr * German translation added by Chris Zeiler 2009-03-02 * 0.61 released * Added graphical skin support * Added a newly created graphical skin: Tronic * 15 additional levels converted from RobboVII * 32 additional levels converted from RobboVIII * 32 additional levels converted from RobboIX * Added in-game help * Added reconfigurable options * Added reconfigurable controls * Added analogue and digital joystick support * Added centering of game within any resolution * Added support for different locales * Added a Polish translation * Many bug fixes 2009-02-26 * 0.60 test release gnurobbo-0.66+dfsg/locales.h0000644000175000017500000002155711440216355015045 0ustar stevesteve/* GNU Robbo * Copyright (C) 2002-2010 The GNU Robbo Team (see AUTHORS). * * GNU Robbo is free software - you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2, or (at your option) * any later version. * * GNU Robbo is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the impled warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with GNU CC; see the file COPYING. If not, write to the * Free Software Foundation, 59 Temple Place - Suite 330, * Boston, MA 02111-1307, USA. * */ /* Defines */ #define MAX_LOCALES 12 #define DEFAULT_LOCALE "en_GB" #define TXT_INTRO_STORY_ROWS 4 #define TXT_INTRO_KEYS_ROWS 7 #define TXT_INTRO_KEYS_DESCRIPTION_ROWS 6 #define TXT_INTRO_MENU_ROWS 7 #define TXT_INTRO_CREDITS_ROWS 3 #define TXT_HELP_PAGE0_ROWS 12 #define TXT_HELP_PAGE1_ROWS 7 #define TXT_HELP_PAGE2_ROWS 7 #define TXT_HELP_PAGE3_ROWS 7 #define TXT_OPTIONS_PAGE1_ROWS 12 #define TXT_ENDSCREEN_CONGRATS_ROWS 3 #define TXT_MAX_COLS 100 /* Variables */ char txt_intro_story[TXT_INTRO_STORY_ROWS * TXT_MAX_COLS]; char txt_intro_keys[TXT_INTRO_KEYS_ROWS * TXT_MAX_COLS]; char txt_intro_keys_description[TXT_INTRO_KEYS_DESCRIPTION_ROWS * TXT_MAX_COLS]; char txt_intro_menu[TXT_INTRO_MENU_ROWS * TXT_MAX_COLS]; char txt_of[TXT_MAX_COLS]; char txt_intro_credits[TXT_INTRO_CREDITS_ROWS * TXT_MAX_COLS]; char txt_help_page0[TXT_HELP_PAGE0_ROWS * TXT_MAX_COLS]; char txt_help_page1[TXT_HELP_PAGE1_ROWS * TXT_MAX_COLS]; char txt_help_page2[TXT_HELP_PAGE2_ROWS * TXT_MAX_COLS]; char txt_help_page3[TXT_HELP_PAGE3_ROWS * TXT_MAX_COLS]; char txt_Back[TXT_MAX_COLS]; char txt_Next[TXT_MAX_COLS]; char txt_Exit[TXT_MAX_COLS]; char txt_options_page1[TXT_OPTIONS_PAGE1_ROWS * TXT_MAX_COLS]; char txt_Save[TXT_MAX_COLS]; char txt_Game_Speed[TXT_MAX_COLS]; char txt_Fast[TXT_MAX_COLS]; char txt_Normal[TXT_MAX_COLS]; char txt_Slow[TXT_MAX_COLS]; char txt_Key_Repeat[TXT_MAX_COLS]; char txt_Delay[TXT_MAX_COLS]; char txt_Interval[TXT_MAX_COLS]; char txt_Default_Joystick[TXT_MAX_COLS]; char txt_No_joystick_found[TXT_MAX_COLS]; char txt_Joystick_Axes_Dead_Zone[TXT_MAX_COLS]; char txt_Language[TXT_MAX_COLS]; char txt_Translation_by[TXT_MAX_COLS]; char txt_Save_Frequency[TXT_MAX_COLS]; char txt_On_Exit[TXT_MAX_COLS]; char txt_On_Change[TXT_MAX_COLS]; char txt_Move_Up[TXT_MAX_COLS]; char txt_Move_Up_Right[TXT_MAX_COLS]; char txt_Move_Right[TXT_MAX_COLS]; char txt_Move_Down_Right[TXT_MAX_COLS]; char txt_Move_Down[TXT_MAX_COLS]; char txt_Move_Down_Left[TXT_MAX_COLS]; char txt_Move_Left[TXT_MAX_COLS]; char txt_Move_Up_Left[TXT_MAX_COLS]; char txt_Shoot_Up[TXT_MAX_COLS]; char txt_Shoot_Down[TXT_MAX_COLS]; char txt_Shoot_Left[TXT_MAX_COLS]; char txt_Shoot_Right[TXT_MAX_COLS]; char txt_Restart[TXT_MAX_COLS]; char txt_Confirm[TXT_MAX_COLS]; char txt_Help[TXT_MAX_COLS]; char txt_Options[TXT_MAX_COLS]; char txt_Previous_Level[TXT_MAX_COLS]; char txt_Next_Level[TXT_MAX_COLS]; char txt_Previous_Pack[TXT_MAX_COLS]; char txt_Next_Pack[TXT_MAX_COLS]; char txt_Toggle_Fullscreen[TXT_MAX_COLS]; char txt_Home[TXT_MAX_COLS]; char txt_End[TXT_MAX_COLS]; char txt_Page_Up[TXT_MAX_COLS]; char txt_Page_Down[TXT_MAX_COLS]; char txt_Volume_Up[TXT_MAX_COLS]; char txt_Volume_Down[TXT_MAX_COLS]; char txt_Modifier[TXT_MAX_COLS]; char txt_Restore_Default_Controls[TXT_MAX_COLS]; char txt_Toggle_Designer[TXT_MAX_COLS]; char txt_Scroll_Up[TXT_MAX_COLS]; char txt_Scroll_Down[TXT_MAX_COLS]; char txt_Primary_Click[TXT_MAX_COLS]; char txt_System_Pointer[TXT_MAX_COLS]; char txt_Disabled[TXT_MAX_COLS]; char txt_Enabled[TXT_MAX_COLS]; char txt_Pointer_Controls_Pad_Type[TXT_MAX_COLS]; char txt_Viewport[TXT_MAX_COLS]; char txt_Screen[TXT_MAX_COLS]; char txt_Sound[TXT_MAX_COLS]; char txt_Sfx_Volume[TXT_MAX_COLS]; char txt_Simulated_Pointer[TXT_MAX_COLS]; char txt_Key[TXT_MAX_COLS]; char txt_Joy[TXT_MAX_COLS]; char txt_Ptr[TXT_MAX_COLS]; char txt_Mod[TXT_MAX_COLS]; char txt_Skin[TXT_MAX_COLS]; char txt_By[TXT_MAX_COLS]; char txt_Level_Author[TXT_MAX_COLS]; char txt_endscreen_congrats[TXT_ENDSCREEN_CONGRATS_ROWS * TXT_MAX_COLS]; char txt_Volume[TXT_MAX_COLS]; char txt_Changes_saved[TXT_MAX_COLS]; char txt_Default_controls_restored[TXT_MAX_COLS]; char txt_Press_something_and_release[TXT_MAX_COLS]; char txt_No_input_was_detected[TXT_MAX_COLS]; char txt_ptr_BtnLeft[TXT_MAX_COLS]; char txt_ptr_BtnMiddle[TXT_MAX_COLS]; char txt_ptr_BtnRight[TXT_MAX_COLS]; char txt_ptr_WheelUp[TXT_MAX_COLS]; char txt_ptr_WheelDown[TXT_MAX_COLS]; char txt_key_Backspace[TXT_MAX_COLS]; char txt_key_Tab[TXT_MAX_COLS]; char txt_key_Clear[TXT_MAX_COLS]; char txt_key_Return[TXT_MAX_COLS]; char txt_key_Pause[TXT_MAX_COLS]; char txt_key_Escape[TXT_MAX_COLS]; char txt_key_Space[TXT_MAX_COLS]; char txt_key_Delete[TXT_MAX_COLS]; char txt_key_KP[TXT_MAX_COLS]; char txt_key_Up[TXT_MAX_COLS]; char txt_key_Down[TXT_MAX_COLS]; char txt_key_Right[TXT_MAX_COLS]; char txt_key_Left[TXT_MAX_COLS]; char txt_key_Insert[TXT_MAX_COLS]; char txt_key_Home[TXT_MAX_COLS]; char txt_key_End[TXT_MAX_COLS]; char txt_key_PgUp[TXT_MAX_COLS]; char txt_key_PgDn[TXT_MAX_COLS]; char txt_key_NumLk[TXT_MAX_COLS]; char txt_key_CapsLk[TXT_MAX_COLS]; char txt_key_ScrlLk[TXT_MAX_COLS]; char txt_key_RShift[TXT_MAX_COLS]; char txt_key_LShift[TXT_MAX_COLS]; char txt_key_RCtrl[TXT_MAX_COLS]; char txt_key_LCtrl[TXT_MAX_COLS]; char txt_key_RAlt[TXT_MAX_COLS]; char txt_key_LAlt[TXT_MAX_COLS]; char txt_key_RMeta[TXT_MAX_COLS]; char txt_key_LMeta[TXT_MAX_COLS]; char txt_key_LSuper[TXT_MAX_COLS]; char txt_key_RSuper[TXT_MAX_COLS]; char txt_key_AltGr[TXT_MAX_COLS]; char txt_key_Compose[TXT_MAX_COLS]; char txt_key_Help[TXT_MAX_COLS]; char txt_key_PrScr[TXT_MAX_COLS]; char txt_key_SysRq[TXT_MAX_COLS]; char txt_key_Break[TXT_MAX_COLS]; char txt_key_Menu[TXT_MAX_COLS]; char txt_key_Power[TXT_MAX_COLS]; char txt_key_Euro[TXT_MAX_COLS]; char txt_key_Undo[TXT_MAX_COLS]; char txt_konstruktor_Ground[TXT_MAX_COLS]; char txt_konstruktor_Stop[TXT_MAX_COLS]; char txt_konstruktor_Radioactive_Field[TXT_MAX_COLS]; char txt_konstruktor_Push_Box[TXT_MAX_COLS]; char txt_konstruktor_Capsule[TXT_MAX_COLS]; char txt_konstruktor_Bomb[TXT_MAX_COLS]; char txt_konstruktor_Bomb2[TXT_MAX_COLS]; char txt_konstruktor_Door[TXT_MAX_COLS]; char txt_konstruktor_Box[TXT_MAX_COLS]; char txt_konstruktor_Empty_Field[TXT_MAX_COLS]; char txt_konstruktor_Butterfly[TXT_MAX_COLS]; char txt_konstruktor_Gun_Fire[TXT_MAX_COLS]; char txt_konstruktor_Force_Field[TXT_MAX_COLS]; char txt_konstruktor_Screw[TXT_MAX_COLS]; char txt_konstruktor_Wall[TXT_MAX_COLS]; char txt_konstruktor_Black_Wall[TXT_MAX_COLS]; char txt_konstruktor_Teleport[TXT_MAX_COLS]; char txt_konstruktor_Gun[TXT_MAX_COLS]; char txt_konstruktor_Magnet[TXT_MAX_COLS]; char txt_konstruktor_Bear[TXT_MAX_COLS]; char txt_konstruktor_Black_Bear[TXT_MAX_COLS]; char txt_konstruktor_Bird[TXT_MAX_COLS]; char txt_konstruktor_Key[TXT_MAX_COLS]; char txt_konstruktor_Bullets[TXT_MAX_COLS]; char txt_konstruktor_on_map[TXT_MAX_COLS]; char txt_konstruktor_Laser_Gun[TXT_MAX_COLS]; char txt_konstruktor_Blaster_Gun[TXT_MAX_COLS]; char txt_konstruktor_Regular_Gun[TXT_MAX_COLS]; char txt_konstruktor_Fixed[TXT_MAX_COLS]; char txt_konstruktor_Moveable[TXT_MAX_COLS]; char txt_konstruktor_Rotating[TXT_MAX_COLS]; char txt_konstruktor_Moveable_Rotating[TXT_MAX_COLS]; char txt_konstruktor_Direction_right[TXT_MAX_COLS]; char txt_konstruktor_Direction_down[TXT_MAX_COLS]; char txt_konstruktor_Direction_left[TXT_MAX_COLS]; char txt_konstruktor_Direction_up[TXT_MAX_COLS]; char txt_konstruktor_Welcome_to_GNU_Robbo_Designer[TXT_MAX_COLS]; char txt_konstruktor_Exit_designer_select_again_to_exit[TXT_MAX_COLS]; char txt_konstruktor_Reload_level_select_again_to_reload[TXT_MAX_COLS]; char txt_konstruktor_Level_reloaded[TXT_MAX_COLS]; char txt_konstruktor_New_level_select_again_to_create[TXT_MAX_COLS]; char txt_konstruktor_Level_created[TXT_MAX_COLS]; char txt_konstruktor_Save_select_again_to_save_new_level[TXT_MAX_COLS]; char txt_konstruktor_New_level_appended_to_pack[TXT_MAX_COLS]; char txt_konstruktor_Clear_level_select_again_to_clear[TXT_MAX_COLS]; char txt_konstruktor_Level_cleared[TXT_MAX_COLS]; char txt_konstruktor_Save_select_again_to_save_changes[TXT_MAX_COLS]; char txt_konstruktor_Changes_saved[TXT_MAX_COLS]; char txt_konstruktor_Level_resized_to[TXT_MAX_COLS]; struct locale { char foldername[100]; /* e.g. de_DE, en_GB, es_ES, pl_PL ... */ char name[60]; /* e.g. Deutsch, English, Español, Polski ... */ char author[60]; /* Enables translators to get recognition for their work */ }; struct locale locales[MAX_LOCALES]; int locale_count; int selected_locale; int temp_selected_locale; /* Function prototypes */ int find_all_locales(void); void read_localerc_files(void); void sort_locales(void); void load_selected_locale(void); void set_locale_to_LANG(void); gnurobbo-0.66+dfsg/pointer_controls.c0000644000175000017500000006016011324422223017004 0ustar stevesteve/* GNU Robbo * Copyright (C) 2002-2010 The GNU Robbo Team (see AUTHORS). * * GNU Robbo is free software - you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2, or (at your option) * any later version. * * GNU Robbo is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the impled warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with GNU CC; see the file COPYING. If not, write to the * Free Software Foundation, 59 Temple Place - Suite 330, * Boston, MA 02111-1307, USA. * */ #include "game.h" /* Defines */ /* #define DEBUG_POINTER_CONTROLS */ #define BUTTON_ALPHA_NORMAL 48 #define BUTTON_ALPHA_MOVE_SHOOT 80 #define BUTTON_COLOUR_SHOOT_PRESS 0xff8000 #define BUTTON_COLOUR_SHOOT_CLICK 0xff0000 #define BUTTON_COLOUR_DIRECTIONS 0xffffff #define BUTTON_COLOUR_HIGHLIGHT 0x505050 /* Variables */ SDL_Rect toolbar_intro_screen_image_srcrect; SDL_Rect toolbar_options_image_srcrect; SDL_Rect toolbar_designer_image_srcrect; SDL_Rect toolbar_restart_image_srcrect; SDL_Rect toolbar_hide_image_srcrect; /* Function prototypes */ /*************************************************************************** * Pointer Controls Event Processor * ***************************************************************************/ /* This receives events from the ROB engine for the pointer controls */ void pointer_controls_event_processor(ROB_Event *rob_event) { int move_actionid = 0, shoot_actionid = 0, set = FALSE; #ifdef DEBUG_POINTER_CONTROLS ROB_ShowEvent(rob_event, __func__); #endif /* We're only interested in pointer controls events */ if (rob_event->rob_object->id >= POINTER_CONTROLS_ID && rob_event->rob_object->id <= POINTER_CONTROLS_TOOLBAR_HIDE_ID) { /* Most of this is state changing but if something needs to be executed on-click then it is done from here */ switch (rob_event->rob_object->id) { case POINTER_CONTROLS_ID: if (rob_event->klasse == ROB_EVENT_CLICK) { pointer_controls.state = POINTER_CONTROLS_MODE_ON; show_pointer_controls_toolbar(); } else if (rob_event->klasse == ROB_EVENT_RELEASE) { if (pointer_controls.shoot_state == POINTER_CONTROLS_SHOOT_OFF_DRAG) { pointer_controls.shoot_state = POINTER_CONTROLS_SHOOT_OFF; } else if (pointer_controls.shoot_state == POINTER_CONTROLS_SHOOT_CLICK_DRAG) { pointer_controls.shoot_state = POINTER_CONTROLS_SHOOT_CLICK; } } break; case POINTER_CONTROLS_SHOOT_ID: if (rob_event->klasse == ROB_EVENT_PRESS) { if (pointer_controls.shoot_state == POINTER_CONTROLS_SHOOT_OFF) { pointer_controls.shoot_state = POINTER_CONTROLS_SHOOT_OFF_DRAG; } else if (pointer_controls.shoot_state == POINTER_CONTROLS_SHOOT_CLICK) { pointer_controls.shoot_state = POINTER_CONTROLS_SHOOT_CLICK_DRAG; } } else if (rob_event->klasse == ROB_EVENT_CLICK) { if (pointer_controls.shoot_state == POINTER_CONTROLS_SHOOT_OFF_DRAG) { pointer_controls.shoot_state = POINTER_CONTROLS_SHOOT_CLICK; } else if (pointer_controls.shoot_state == POINTER_CONTROLS_SHOOT_CLICK_DRAG) { pointer_controls.shoot_state = POINTER_CONTROLS_SHOOT_OFF; } } break; case POINTER_CONTROLS_UP_ID: move_actionid = ACTION_UP; shoot_actionid = ACTION_SHOOT_UP; set = TRUE; case POINTER_CONTROLS_RIGHT_ID: if (!set) { move_actionid = ACTION_RIGHT; shoot_actionid = ACTION_SHOOT_RIGHT; set = TRUE; } case POINTER_CONTROLS_DOWN_ID: if (!set) { move_actionid = ACTION_DOWN; shoot_actionid = ACTION_SHOOT_DOWN; set = TRUE; } case POINTER_CONTROLS_LEFT_ID: if (!set) { move_actionid = ACTION_LEFT; shoot_actionid = ACTION_SHOOT_LEFT; set = TRUE; } if (rob_event->klasse == ROB_EVENT_RELEASE) { if (pointer_controls.shoot_state == POINTER_CONTROLS_SHOOT_OFF_DRAG) { pointer_controls.shoot_state = POINTER_CONTROLS_SHOOT_OFF; manage_game_on_input(shoot_actionid); } else if (pointer_controls.shoot_state == POINTER_CONTROLS_SHOOT_CLICK_DRAG) { pointer_controls.shoot_state = POINTER_CONTROLS_SHOOT_CLICK; manage_game_on_input(shoot_actionid); } } else if (rob_event->klasse == ROB_EVENT_SELECT) { if (pointer_controls.shoot_state == POINTER_CONTROLS_SHOOT_CLICK) { manage_game_on_input(shoot_actionid); } else { manage_game_on_input(move_actionid); } } break; case POINTER_CONTROLS_TOOLBAR_ID: if (rob_event->klasse == ROB_EVENT_CLICK) { } break; case POINTER_CONTROLS_TOOLBAR_INTRO_SCREEN_ID: if (rob_event->klasse == ROB_EVENT_CLICK) { manage_game_on_input(ACTION_EXIT); } break; case POINTER_CONTROLS_TOOLBAR_OPTIONS_ID: if (rob_event->klasse == ROB_EVENT_CLICK) { manage_game_on_input(ACTION_OPTIONS); } break; case POINTER_CONTROLS_TOOLBAR_DESIGNER_ID: if (rob_event->klasse == ROB_EVENT_CLICK) { manage_game_on_input(ACTION_TOGGLE_DESIGNER); } break; case POINTER_CONTROLS_TOOLBAR_RESTART_ID: if (rob_event->klasse == ROB_EVENT_CLICK) { manage_game_on_input(ACTION_RESTART); } break; case POINTER_CONTROLS_TOOLBAR_HIDE_ID: if (rob_event->klasse == ROB_EVENT_CLICK) { pointer_controls.state = POINTER_CONTROLS_MODE_OFF; hide_pointer_controls_pad(); hide_pointer_controls_toolbar(); game_area.redraw |= REDRAW_EVERYTHING; } break; } } } /*************************************************************************** * Create Pointer Controls * ***************************************************************************/ /* ---------------------------------------- There's a transparent rectangle that covers the entire screen | |#|#|#|#| which is always manipulatable in-game. This rectangle is the | ---------------------------------- | ancestor of all the pointer controls and when clicked will | | | | | | make visible the pointer controls pad and toolbar. | | | | | | | | | | | | Centred over Robbo is a shoot rectangle that is the parent to | | | | | | the four directional rectangles that extend to the viewport | |--------------|--|--------------| | edges. Pressing the directional buttons sends Robbo off in the | | | | | | corresponding direction. Dragging from the shoot button to one | |--------------|--|--------------| | of the direction buttons shoots once. Clicking the shoot button | | | | | | toggles shoot mode on and off. If shoot mode is on then pressing | | | | | | a direction makes Robbo repeatedly shoot instead of walk. | | | | | | | | | | | | Top right is a toolbar parent with currently four buttons that | ---------------------------------- | perform useful and necessary tasks. Clicking the left-most button | | will make invisible the pad and toolbar. ---------------------------------------- Note that when the pointer controls are visible, the entire viewport must be redrawn every frame which is not the norm and increases CPU usage. Normally only the tiles that have changed are redrawn. If the direction buttons extend outside of the viewport then the entire screen must be redrawn every frame which increases CPU usage even more and that is the reason why the default boundary is the viewport. */ void create_pointer_controls(void) { ROB_Object rob_object; if (video.field_size == 16) { toolbar_intro_screen_image_srcrect = set_rect(188, 1, video.field_size, video.field_size); toolbar_options_image_srcrect = set_rect(188, 18, video.field_size, video.field_size); toolbar_designer_image_srcrect = set_rect(188, 69, video.field_size, video.field_size); toolbar_restart_image_srcrect = set_rect(188, 35, video.field_size, video.field_size); toolbar_hide_image_srcrect = set_rect(188, 52, video.field_size, video.field_size); } else if (video.field_size == 32) { toolbar_intro_screen_image_srcrect = set_rect(376, 2, video.field_size, video.field_size); toolbar_options_image_srcrect = set_rect(376, 36, video.field_size, video.field_size); toolbar_designer_image_srcrect = set_rect(376, 138, video.field_size, video.field_size); toolbar_restart_image_srcrect = set_rect(376, 70, video.field_size, video.field_size); toolbar_hide_image_srcrect = set_rect(376, 104, video.field_size, video.field_size); } /* Create the parent object which will be used to identify the group */ if (ROB_SetObjectDefaults(&rob_object)) printf("%s: %s\n", __func__, ROB_GetError()); rob_object.id = POINTER_CONTROLS_ID; rob_object.w = screen->w; rob_object.h = screen->h; if (ROB_CreateObject(&rob_object)) printf("%s: %s\n", __func__, ROB_GetError()); /* Create the pointer controls pad */ /* Create the shoot button which will be the parent to the directions */ if (ROB_SetObjectDefaults(&rob_object)) printf("%s: %s\n", __func__, ROB_GetError()); rob_object.id = POINTER_CONTROLS_SHOOT_ID; rob_object.pid = POINTER_CONTROLS_ID; rob_object.alpha = BUTTON_ALPHA_NORMAL; rob_object.alpha_press = BUTTON_ALPHA_MOVE_SHOOT; rob_object.bgcolour_press = BUTTON_COLOUR_SHOOT_PRESS; rob_object.x = 0; rob_object.y = 0; rob_object.w = video.field_size * 2; rob_object.h = video.field_size * 2; if (ROB_CreateObject(&rob_object)) printf("%s: %s\n", __func__, ROB_GetError()); /* Create the up button */ if (ROB_SetObjectDefaults(&rob_object)) printf("%s: %s\n", __func__, ROB_GetError()); rob_object.id = POINTER_CONTROLS_UP_ID; rob_object.pid = POINTER_CONTROLS_SHOOT_ID; rob_object.alpha = BUTTON_ALPHA_NORMAL; rob_object.alpha_press = BUTTON_ALPHA_MOVE_SHOOT; rob_object.bgcolour = BUTTON_COLOUR_DIRECTIONS; rob_object.x = 0; rob_object.y = 0; rob_object.w = video.field_size * 2; rob_object.h = 0; if (ROB_CreateObject(&rob_object)) printf("%s: %s\n", __func__, ROB_GetError()); /* Create the right button */ rob_object.id = POINTER_CONTROLS_RIGHT_ID; rob_object.x = video.field_size * 2; rob_object.y = 0; rob_object.w = 0; rob_object.h = video.field_size * 2; if (ROB_CreateObject(&rob_object)) printf("%s: %s\n", __func__, ROB_GetError()); /* Create the down button */ rob_object.id = POINTER_CONTROLS_DOWN_ID; rob_object.x = 0; rob_object.y = video.field_size * 2; rob_object.w = video.field_size * 2; rob_object.h = 0; if (ROB_CreateObject(&rob_object)) printf("%s: %s\n", __func__, ROB_GetError()); /* Create the left button */ rob_object.id = POINTER_CONTROLS_LEFT_ID; rob_object.x = 0; rob_object.y = 0; rob_object.w = 0; rob_object.h = video.field_size * 2; if (ROB_CreateObject(&rob_object)) printf("%s: %s\n", __func__, ROB_GetError()); /* Create the pointer controls toolbar */ /* Create the toolbar which will be the parent to the toolbar buttons */ if (ROB_SetObjectDefaults(&rob_object)) printf("%s: %s\n", __func__, ROB_GetError()); rob_object.id = POINTER_CONTROLS_TOOLBAR_ID; rob_object.pid = POINTER_CONTROLS_ID; rob_object.w = video.field_size * 5 + video.field_size / 4 * 6; rob_object.h = video.field_size + video.field_size / 4 * 2; rob_object.x = screen->w - rob_object.w; if (ROB_CreateObject(&rob_object)) printf("%s: %s\n", __func__, ROB_GetError()); /* Create the Intro Screen button */ if (ROB_SetObjectDefaults(&rob_object)) printf("%s: %s\n", __func__, ROB_GetError()); rob_object.id = POINTER_CONTROLS_TOOLBAR_INTRO_SCREEN_ID; rob_object.pid = POINTER_CONTROLS_TOOLBAR_ID; rob_object.w = rob_object.h = video.field_size; rob_object.x = ROB_GetObject(POINTER_CONTROLS_TOOLBAR_ID)->w - rob_object.w - video.field_size / 4; rob_object.y = video.field_size / 4; rob_object.img_surface = icons; rob_object.img_x = toolbar_intro_screen_image_srcrect.x; rob_object.img_y = toolbar_intro_screen_image_srcrect.y; rob_object.img_w = toolbar_intro_screen_image_srcrect.w; rob_object.img_h = toolbar_intro_screen_image_srcrect.h; if (ROB_CreateObject(&rob_object)) printf("%s: %s\n", __func__, ROB_GetError()); /* Create the Options button */ rob_object.id = POINTER_CONTROLS_TOOLBAR_OPTIONS_ID; rob_object.x = ROB_GetObject(POINTER_CONTROLS_TOOLBAR_ID)->w - rob_object.w * 2 - video.field_size / 4 * 2; rob_object.img_x = toolbar_options_image_srcrect.x; rob_object.img_y = toolbar_options_image_srcrect.y; if (ROB_CreateObject(&rob_object)) printf("%s: %s\n", __func__, ROB_GetError()); /* Create the Designer button */ rob_object.id = POINTER_CONTROLS_TOOLBAR_DESIGNER_ID; rob_object.x = ROB_GetObject(POINTER_CONTROLS_TOOLBAR_ID)->w - rob_object.w * 3 - video.field_size / 4 * 3; rob_object.img_x = toolbar_designer_image_srcrect.x; rob_object.img_y = toolbar_designer_image_srcrect.y; if (ROB_CreateObject(&rob_object)) printf("%s: %s\n", __func__, ROB_GetError()); /* Create the Restart button */ rob_object.id = POINTER_CONTROLS_TOOLBAR_RESTART_ID; rob_object.x = ROB_GetObject(POINTER_CONTROLS_TOOLBAR_ID)->w - rob_object.w * 4 - video.field_size / 4 * 4; rob_object.img_x = toolbar_restart_image_srcrect.x; rob_object.img_y = toolbar_restart_image_srcrect.y; if (ROB_CreateObject(&rob_object)) printf("%s: %s\n", __func__, ROB_GetError()); /* Create the hide button */ rob_object.id = POINTER_CONTROLS_TOOLBAR_HIDE_ID; rob_object.x = ROB_GetObject(POINTER_CONTROLS_TOOLBAR_ID)->w - rob_object.w * 5 - video.field_size / 4 * 5; rob_object.img_x = toolbar_hide_image_srcrect.x; rob_object.img_y = toolbar_hide_image_srcrect.y; if (ROB_CreateObject(&rob_object)) printf("%s: %s\n", __func__, ROB_GetError()); /* Set-up the controls depending on pointer_controls.state */ hide_pointer_controls(); if (pointer_controls.state == POINTER_CONTROLS_MODE_ON) { show_pointer_controls_pad(); show_pointer_controls_toolbar(); } else { hide_pointer_controls_pad(); hide_pointer_controls_toolbar(); } update_pointer_controls_toolbar(); } /*************************************************************************** * Show Pointer Controls * ***************************************************************************/ /* This shows the parent which could reveal the pad and toolbar if they haven't been independently hidden. It also currently enables/disables the parent depending on the demo_mode state */ void show_pointer_controls(void) { ROB_Object *rob_object; if ((rob_object = ROB_GetObject(POINTER_CONTROLS_ID)) != NULL) { rob_object->visible = rob_object->enabled = ROB_INHERITED; if (demo_mode(DEMO_MODE_IS_ACTIVE, 0)) rob_object->enabled = FALSE; } } /*************************************************************************** * Show Pointer Controls Pad * ***************************************************************************/ /* This shows the pad only */ void show_pointer_controls_pad(void) { ROB_Object *rob_object; if ((rob_object = ROB_GetObject(POINTER_CONTROLS_SHOOT_ID)) != NULL) rob_object->visible = ROB_INHERITED; } /*************************************************************************** * Show Pointer Controls Toolbar * ***************************************************************************/ /* This shows the toolbar only */ void show_pointer_controls_toolbar(void) { ROB_Object *rob_object; if ((rob_object = ROB_GetObject(POINTER_CONTROLS_TOOLBAR_ID)) != NULL) rob_object->visible = ROB_INHERITED; } /*************************************************************************** * Hide Pointer Controls * ***************************************************************************/ /* This will hide all the pointer controls because the visible property will be inherited */ void hide_pointer_controls(void) { ROB_Object *rob_object; if ((rob_object = ROB_GetObject(POINTER_CONTROLS_ID)) != NULL) rob_object->visible = FALSE; } /*************************************************************************** * Hide Pointer Controls Pad * ***************************************************************************/ /* This hides the pad only */ void hide_pointer_controls_pad(void) { ROB_Object *rob_object; if ((rob_object = ROB_GetObject(POINTER_CONTROLS_SHOOT_ID)) != NULL) rob_object->visible = FALSE; } /*************************************************************************** * Hide Pointer Controls Toolbar * ***************************************************************************/ /* This hides the toolbar only */ void hide_pointer_controls_toolbar(void) { ROB_Object *rob_object; if ((rob_object = ROB_GetObject(POINTER_CONTROLS_TOOLBAR_ID)) != NULL) rob_object->visible = FALSE; } /*************************************************************************** * Update Pointer Controls Pad * ***************************************************************************/ /* This function :- * Centres the pad's shoot button over Robbo and adjusts it when he's up against the viewport edges if required * Extends the visible pad direction buttons right up to the viewport or screen boundary * Maintains object properties affected by the shoot state */ void update_pointer_controls_pad(int robbo_xoffset, int robbo_yoffset) { ROB_Object *pob, *rob_object; if (ROB_GetObject(POINTER_CONTROLS_ID) != NULL) { /* Update shoot button position */ if (pointer_controls.pad_type == POINTER_CONTROLS_PAD_TYPE_VIEWPORT) { /* Centre the shoot button over Robbo and offset it at the viewport edges */ pob = rob_object = ROB_GetObject(POINTER_CONTROLS_SHOOT_ID); if (robbo.x - viewport.x < 2) { rob_object->x = robbo_xoffset; } else if (robbo.x > viewport.x + viewport.w - 3) { rob_object->x = robbo_xoffset - rob_object->w / 2; } else { rob_object->x = robbo_xoffset - rob_object->w / 4; } if (robbo.y - viewport.y < 2) { rob_object->y = robbo_yoffset; } else if (robbo.y > viewport.y + viewport.h - 3) { rob_object->y = robbo_yoffset - rob_object->h / 2; } else { rob_object->y = robbo_yoffset - rob_object->h / 4; } } else { /* if (pointer_controls.pad_type == POINTER_CONTROLS_PAD_TYPE_SCREEN) { */ /* Centre the shoot button over Robbo */ pob = rob_object = ROB_GetObject(POINTER_CONTROLS_SHOOT_ID); rob_object->x = robbo_xoffset - rob_object->w / 4; rob_object->y = robbo_yoffset - rob_object->h / 4; } /* Update direction button positions and dimensions */ if (pointer_controls.pad_type == POINTER_CONTROLS_PAD_TYPE_VIEWPORT) { /* Stretch the up button all the way to the edge of the viewport */ rob_object = ROB_GetObject(POINTER_CONTROLS_UP_ID); rob_object->y = 0 - (pob->y - viewport.yoffset); rob_object->h = pob->y - viewport.yoffset; /* Stretch the right button all the way to the edge of the viewport */ rob_object = ROB_GetObject(POINTER_CONTROLS_RIGHT_ID); rob_object->w = viewport.xoffset + viewport.w * video.field_size - pob->x - pob->w; /* Stretch the down button all the way to the edge of the viewport */ rob_object = ROB_GetObject(POINTER_CONTROLS_DOWN_ID); rob_object->h = viewport.yoffset + viewport.h * video.field_size - pob->y - pob->h; /* Stretch the left button all the way to the edge of the viewport */ rob_object = ROB_GetObject(POINTER_CONTROLS_LEFT_ID); rob_object->x = 0 - (pob->x - viewport.xoffset); rob_object->w = pob->x - viewport.xoffset; } else if (pointer_controls.pad_type == POINTER_CONTROLS_PAD_TYPE_SCREEN) { /* Stretch the up button all the way to the edge of the screen */ rob_object = ROB_GetObject(POINTER_CONTROLS_UP_ID); rob_object->y = 0 - pob->y; rob_object->h = pob->y; /* Stretch the right button all the way to the edge of the screen */ rob_object = ROB_GetObject(POINTER_CONTROLS_RIGHT_ID); rob_object->w = screen->w - pob->x - pob->w; /* Stretch the down button all the way to the edge of the screen */ rob_object = ROB_GetObject(POINTER_CONTROLS_DOWN_ID); rob_object->h = screen->h - pob->y - pob->h; /* Stretch the left button all the way to the edge of the screen */ rob_object = ROB_GetObject(POINTER_CONTROLS_LEFT_ID); rob_object->x = 0 - pob->x; rob_object->w = pob->x; } /* Update some of the object properties for the current shoot state */ switch (pointer_controls.shoot_state) { case POINTER_CONTROLS_SHOOT_OFF: rob_object = ROB_GetObject(POINTER_CONTROLS_SHOOT_ID); rob_object->bgcolour = rob_object->bgcolour_over = ROB_UNDEFINED; user_controls[ACTION_PRIMARY_CLICK].delay = 0; user_controls[ACTION_PRIMARY_CLICK].interval = 0; case POINTER_CONTROLS_SHOOT_CLICK: ROB_GetObject(POINTER_CONTROLS_UP_ID)->alpha_over = ROB_UNDEFINED; ROB_GetObject(POINTER_CONTROLS_RIGHT_ID)->alpha_over = ROB_UNDEFINED; ROB_GetObject(POINTER_CONTROLS_DOWN_ID)->alpha_over = ROB_UNDEFINED; ROB_GetObject(POINTER_CONTROLS_LEFT_ID)->alpha_over = ROB_UNDEFINED; if (pointer_controls.shoot_state == POINTER_CONTROLS_SHOOT_OFF) break; rob_object = ROB_GetObject(POINTER_CONTROLS_SHOOT_ID); rob_object->bgcolour = BUTTON_COLOUR_SHOOT_CLICK; user_controls[ACTION_PRIMARY_CLICK].delay = ACTION_SHOOT_REPEAT_DELAY_PERIOD; user_controls[ACTION_PRIMARY_CLICK].interval = ACTION_SHOOT_REPEAT_DELAY_PERIOD; break; case POINTER_CONTROLS_SHOOT_OFF_DRAG: case POINTER_CONTROLS_SHOOT_CLICK_DRAG: ROB_GetObject(POINTER_CONTROLS_UP_ID)->alpha_over = BUTTON_ALPHA_MOVE_SHOOT; ROB_GetObject(POINTER_CONTROLS_RIGHT_ID)->alpha_over = BUTTON_ALPHA_MOVE_SHOOT; ROB_GetObject(POINTER_CONTROLS_DOWN_ID)->alpha_over = BUTTON_ALPHA_MOVE_SHOOT; ROB_GetObject(POINTER_CONTROLS_LEFT_ID)->alpha_over = BUTTON_ALPHA_MOVE_SHOOT; user_controls[ACTION_PRIMARY_CLICK].delay = ACTION_SHOOT_REPEAT_DELAY_PERIOD; user_controls[ACTION_PRIMARY_CLICK].interval = ACTION_SHOOT_REPEAT_DELAY_PERIOD; break; } } } /*************************************************************************** * Update Pointer Controls Toolbar * ***************************************************************************/ /* This function :- * Maintains the toolbar button colours to match the level * Maintains the toolbar button image surface pointers * Maintains the visibility of the toolbar buttons */ void update_pointer_controls_toolbar(void) { ROB_Object *rob_object; Uint32 level_colour; if (ROB_GetObject(POINTER_CONTROLS_ID) != NULL) { if (level.colour_override != UNDEFINED) { level_colour = level.colour_override; } else if (level.colour != UNDEFINED) { level_colour = level.colour; } else { level_colour = DEFAULT_LEVEL_COLOUR; } rob_object = ROB_GetObject(POINTER_CONTROLS_TOOLBAR_INTRO_SCREEN_ID); rob_object->bgcolour = level_colour; rob_object->bgcolour_over = level_colour | BUTTON_COLOUR_HIGHLIGHT; rob_object->img_surface = icons; rob_object->visible = ROB_INHERITED; rob_object = ROB_GetObject(POINTER_CONTROLS_TOOLBAR_OPTIONS_ID); rob_object->bgcolour = level_colour; rob_object->bgcolour_over = level_colour | BUTTON_COLOUR_HIGHLIGHT; rob_object->img_surface = icons; rob_object->visible = ROB_INHERITED; rob_object = ROB_GetObject(POINTER_CONTROLS_TOOLBAR_DESIGNER_ID); rob_object->bgcolour = level_colour; rob_object->bgcolour_over = level_colour | BUTTON_COLOUR_HIGHLIGHT; rob_object->img_surface = icons; rob_object->visible = ROB_INHERITED; rob_object = ROB_GetObject(POINTER_CONTROLS_TOOLBAR_RESTART_ID); rob_object->bgcolour = level_colour; rob_object->bgcolour_over = level_colour | BUTTON_COLOUR_HIGHLIGHT; rob_object->img_surface = icons; rob_object->visible = ROB_INHERITED; rob_object = ROB_GetObject(POINTER_CONTROLS_TOOLBAR_HIDE_ID); rob_object->bgcolour = level_colour; rob_object->bgcolour_over = level_colour | BUTTON_COLOUR_HIGHLIGHT; rob_object->img_surface = icons; rob_object->visible = ROB_INHERITED; } } gnurobbo-0.66+dfsg/README.win320000644000175000017500000000153411321050124015050 0ustar stevesteveCompilation ========================================== To compile gnurobbo package you need to have Visual Studio 6 (or higher) and use special .dsw and .dsp files opened. They have to be copied to main directory. You'll also need SDL, SDL_ttf, SDL_image and SDL_mixer development libraries that can be downloaded from www.libsdl.org and copied to main project directory. * SDL - http://www.libsdl.org * SDL_ttf - http://www.libsdl.org/projects/SDL_ttf/ * SDL_image - http://www.libsdl.org/projects/SDL_image/ * SDL_mixer http://www.libsdl.org/projects/SDL_mixer/ Then in game.h you have to uncomment PLATFORM_WIN32 and PLATFORM_PC definitions. It should work now. Setup package creation =========================================== You have to download inno setup from http://www.jrsoftware.org/isinfo.php Then open iss file (now in win32/ directory). gnurobbo-0.66+dfsg/data/0002755000175000017500000000000011467303356014162 5ustar stevestevegnurobbo-0.66+dfsg/data/music/0002755000175000017500000000000011467303356015302 5ustar stevestevegnurobbo-0.66+dfsg/data/locales/0002755000175000017500000000000011467303356015604 5ustar stevestevegnurobbo-0.66+dfsg/data/locales/sk_SK/0002755000175000017500000000000011467303356016616 5ustar stevestevegnurobbo-0.66+dfsg/data/locales/sk_SK/localerc0000644000175000017500000000007311154573342020320 0ustar stevesteve [name] Slovenčina [author] Viliam Búr gnurobbo-0.66+dfsg/data/locales/sk_SK/text0000644000175000017500000002465111437444027017531 0ustar stevesteve# --------------------------------------------------------------------- # The following text is used within the Intro screen. # --------------------------------------------------------------------- [txt_intro_story] Robbo uviazol na neobývateľnej planéte. Pomôžte mu zachrániť sa pozbieraním častí potrebných na opravu rakety, a unikať smrtiacim zvieratám, delám, bombám, laserom, a iným nepríjemnostiam. [txt_intro_keys_PLATFORM_PC] Štandardné ovládanie: Enter Šípky Šípky + Pr.Shift R Escape Všetky klávesy viď Možn. [txt_intro_keys_PLATFORM_GP2X] Štandardné ovládanie: B Joystick Joystick + A Select X Všetky klávesy viď Možn. [txt_intro_keys_PLATFORM_ZAURUS] Štandardné ovládanie: Medzera Šípky Šípky + Medz. Home Cancel Všetky klávesy viď Možn. [txt_intro_keys_PLATFORM_FREMANTLE] Štandardné ovládanie: Enter Šípky Šípky + LShift R Backspace Všetky klávesy viď Možn. [txt_intro_keys_PLATFORM_PSP] Štandardné ovládanie: X D-Pad D-Pad + X Start Select Všetky klávesy viď Možn. [txt_intro_keys_description] Potvrdiť Pohyb Streľba Reštart Koniec [txt_intro_menu] Štart Úroveň Balík Návod Možnosti Designer Koniec [txt_of] z [txt_intro_credits] ATARI Game: 1989 Janusz Pelc, LK AVALON Linux Game: 2002-2010 The GNU Robbo Team http://gnurobbo.sourceforge.net/ # --------------------------------------------------------------------- # The following text is used within the Help screens. # --------------------------------------------------------------------- [txt_help_page0] Keď pozbierate všetky skrutky (a obrazovka zabliká), choďte odštartovať do rakety. Prísť do kontaktu s hociktorou formou miestnej fauny, alebo vojsť do dráhy magnetu, dela, či silového poľa, je pre Robbovo zdravie veľmi zlé. Mnohé objekty sa dajú použiť spôsobom, ktorý vám možno nenapadne. Skúste posúvať pohyblivé delá, strieľať laserom, blokovať magnety, a východy z teleportov. [txt_help_page1] Stena - pevná a nezničiteľná Krabica - dá sa posúvať Posúvacia krabica - šmýka sa, dokáže ničiť Zem - dá sa zničiť Kľúč - otvorí dvere Bomba - dá sa tlačiť, môže vybuchnúť! ? - po zničení sa objaví prekvapenie [txt_help_page2] Náboje - pás nábojov pre Robbovu zbraň Magnet - veľmi ho priťahuje Robbo Skrutka - pozbieraj ich na opravu rakety Raketa - Robbova nádej na únik Teleport - presúva Robba medzi miestnosťami Silové pole - musí byť zničené! Motýľ - veľmi nebezpečný a naháňa Robba [txt_help_page3] Medveď - malý zlatý macko ... Čierny medveď - ... a jeho starší brat Vták - veľmi agresívny a niekedy strieľa Delo Laser Blaster - veľmi ničivý Robbo - nakoniec to najlepšie, náš hrdina [txt_Back] Späť [txt_Next] Ďalej [txt_Exit] Koniec # --------------------------------------------------------------------- # The following text is used within the Options Screens. # --------------------------------------------------------------------- [txt_options_page1] Návod na konfiguráciu ovládania: Stlačte tlačidlo Potvrdiť, aby ste nastavili ovládanie, a potom stlačte a pustite klávesu alebo tlačidlo joysticku. Ak má ovládanie mať modifikátor, potom vyberte dva pre každé ovládanie. Ovládanie vymažete tlačidlom Reštart. Každé ovládanie musí byť iné; duplicitné sa ignoruje. Nakoniec stlačte Save a uložte všetky zmeny. [txt_Save] Uložiť [txt_Game_Speed] Rýchlosť hry [txt_Fast] Rýchla [txt_Normal] Normálna [txt_Slow] Pomalá [txt_Key_Repeat] Key Repeat: [txt_Delay] Delay [txt_Interval] Interval [txt_Default_Joystick] Default Joystick [txt_No_joystick_found] [No joystick found] [txt_Joystick_Axes_Dead_Zone] Joystick Axes Dead Zone [txt_Language] Jazyk [txt_Translation_by] Preložil [txt_Save_Frequency] Save Frequency [txt_On_Exit] On Exit [txt_On_Change] On Change [txt_Move_Up] Pohyb hore [txt_Move_Up_Right] Move Up-Right [txt_Move_Right] Pohyb vpravo [txt_Move_Down_Right] Move Down-Right [txt_Move_Down] Pohyb dole [txt_Move_Down_Left] Move Down-Left [txt_Move_Left] Pohyb vľavo [txt_Move_Up_Left] Move Up-Left [txt_Shoot_Up] Streľba hore [txt_Shoot_Down] Streľba dole [txt_Shoot_Left] Streľba vľavo [txt_Shoot_Right] Streľba vpravo [txt_Restart] Reštart [txt_Confirm] Potvrdenie [txt_Help] Návod [txt_Options] Možnosti [txt_Previous_Level] Predchádzajúca úroveň [txt_Next_Level] Nasledujúca úroveň [txt_Previous_Pack] Predchádzajúci balík [txt_Next_Pack] Nasledujúci balík [txt_Toggle_Fullscreen] Prepni na celú obrazov. [txt_Home] Home [txt_End] End [txt_Page_Up] Page Up [txt_Page_Down] Page Down [txt_Volume_Up] Volume Up [txt_Volume_Down] Volume Down [txt_Modifier] Modifier [txt_Toggle_Designer] Toggle Designer [txt_Scroll_Up] Scroll Up [txt_Scroll_Down] Scroll Down [txt_Primary_Click] Primary Click [txt_Restore_Default_Controls] Restore Default Controls [txt_System_Pointer] System Pointer [txt_Disabled] Disabled [txt_Enabled] Enabled [txt_Pointer_Controls_Pad_Type] Pointer Controls Pad Type [txt_Viewport] Viewport [txt_Screen] Screen [txt_Sound] Sound [txt_Sfx_Volume] Sfx Volume [txt_Simulated_Pointer] Simulated Pointer [txt_Key] Key [txt_Joy] Joy [txt_Ptr] Ptr [txt_Mod] Mod [txt_Skin] Skin [txt_By] By # --------------------------------------------------------------------- # The following text is used within the game. # --------------------------------------------------------------------- [txt_Level_Author] Autor úrovne [txt_endscreen_congrats] Blahoželéme. Dokončili ste tento balík úrovní. Pokračujte stlačením Esc. # --------------------------------------------------------------------- # The following text is used within message boxes. # --------------------------------------------------------------------- [txt_Volume] Hlasitosť [txt_Changes_saved] Zmeny uložené [txt_Default_controls_restored] Nastavené štandardné ovládanie [txt_Press_something_and_release] Stlačte niečo a pustite... [txt_No_input_was_detected] Nezaregistroval som žiaden vstup! # --------------------------------------------------------------------- # The following text is used within Options describing the keyboard keys. # --------------------------------------------------------------------- [txt_ptr_BtnLeft] BtnLeft [txt_ptr_BtnMiddle] BtnMiddle [txt_ptr_BtnRight] BtnRight [txt_ptr_WheelUp] WheelUp [txt_ptr_WheelDown] WheelDown [txt_key_Backspace] Backspace [txt_key_Tab] Tab [txt_key_Clear] Clear [txt_key_Return] Return [txt_key_Pause] Pauza [txt_key_Escape] Escape [txt_key_Space] Medzera [txt_key_Delete] Delete [txt_key_KP] KP [txt_key_Up] Up [txt_key_Down] Down [txt_key_Right] Right [txt_key_Left] Left [txt_key_Insert] Insert [txt_key_Home] Home [txt_key_End] End [txt_key_PgUp] PgUp [txt_key_PgDn] PgDn [txt_key_NumLk] NumLk [txt_key_CapsLk] CapsLk [txt_key_ScrlLk] ScrlLk [txt_key_RShift] RShift [txt_key_LShift] LShift [txt_key_RCtrl] RCtrl [txt_key_LCtrl] LCtrl [txt_key_RAlt] RAlt [txt_key_LAlt] LAlt [txt_key_RMeta] RMeta [txt_key_LMeta] LMeta [txt_key_LSuper] LSuper [txt_key_RSuper] RSuper [txt_key_AltGr] AltGr [txt_key_AltGr_PLATFORM_FREMANTLE] Fn [txt_key_Compose] Compose [txt_key_Help] Help [txt_key_PrScr] PrScr [txt_key_SysRq] SysRq [txt_key_Break] Break [txt_key_Menu] Menu [txt_key_Power] Power [txt_key_Euro] Euro [txt_key_Undo] Späť # --------------------------------------------------------------------- # The following text is used within the level designer (konstruktor). # --------------------------------------------------------------------- [txt_konstruktor_Ground] Zem [txt_konstruktor_Stop] Stop [txt_konstruktor_Radioactive_Field] Rádioaktívne pole [txt_konstruktor_Push_Box] Posúvacia krabica [txt_konstruktor_Capsule] Raketa [txt_konstruktor_Bomb] Bomba [txt_konstruktor_Bomb2] Bomba2 [txt_konstruktor_Door] Dvere [txt_konstruktor_Box] Krabica [txt_konstruktor_Empty_Field] Prázdne pole [txt_konstruktor_Butterfly] Motýľ [txt_konstruktor_Gun_Fire] Gun Fire [txt_konstruktor_Force_Field] Silové pole [txt_konstruktor_Screw] Skrutka [txt_konstruktor_Wall] Stena [txt_konstruktor_Black_Wall] Čierny stena [txt_konstruktor_Teleport] Teleport [txt_konstruktor_Gun] Delo [txt_konstruktor_Magnet] Magnet [txt_konstruktor_Bear] Medveď [txt_konstruktor_Black_Bear] Čierny medveď [txt_konstruktor_Bird] Vták [txt_konstruktor_Key] Kľúč [txt_konstruktor_Bullets] Náboje [txt_konstruktor_on_map] on map [txt_konstruktor_Laser_Gun] Laser delo [txt_konstruktor_Blaster_Gun] Blaster delo [txt_konstruktor_Regular_Gun] Pravidelné delo [txt_konstruktor_Fixed] Fixed [txt_konstruktor_Moveable] Moveable [txt_konstruktor_Rotating] Rotating [txt_konstruktor_Moveable_Rotating] Moveable Rotating [txt_konstruktor_Direction_right] Direction right [txt_konstruktor_Direction_down] Direction down [txt_konstruktor_Direction_left] Direction left [txt_konstruktor_Direction_up] Direction up [txt_konstruktor_Welcome_to_GNU_Robbo_Designer] Welcome to GNU Robbo Designer [txt_konstruktor_Exit_designer_select_again_to_exit] Exit designer - select again to exit [txt_konstruktor_Reload_level_select_again_to_reload] Reload level - select again to reload [txt_konstruktor_Level_reloaded] Level reloaded [txt_konstruktor_New_level_select_again_to_create] New level - select again to create [txt_konstruktor_Level_created] Level created [txt_konstruktor_Save_select_again_to_save_new_level] Save - select again to save new level [txt_konstruktor_New_level_appended_to_pack] New level appended to pack [txt_konstruktor_Clear_level_select_again_to_clear] Clear level - select again to clear [txt_konstruktor_Level_cleared] Level cleared [txt_konstruktor_Save_select_again_to_save_changes] Save - select again to save changes [txt_konstruktor_Changes_saved] Changes saved [txt_konstruktor_Level_resized_to] Level resized to gnurobbo-0.66+dfsg/data/locales/sv_SE/0002755000175000017500000000000011467303356016623 5ustar stevestevegnurobbo-0.66+dfsg/data/locales/sv_SE/localerc0000644000175000017500000000007111155460466020326 0ustar stevesteve [name] Svenska [author] Niklas 'Nille' Åkerström gnurobbo-0.66+dfsg/data/locales/sv_SE/text0000644000175000017500000002403211437444027017527 0ustar stevesteve# --------------------------------------------------------------------- # The following text is used within the Intro screen. # --------------------------------------------------------------------- [txt_intro_story] Robbo är strandad på en ogästvänlig planet. Hjälp honom att fly genom att samla ihop resevdelarna som krävs för att reparera rymdkapseln samtidigt som du undviker dödliga djur, bomber och andra otrevligheter. [txt_intro_keys_PLATFORM_PC] Standard kontroller: Enter Piltangenter Pil+högra-shift R Escape Övriga se inställningar [txt_intro_keys_PLATFORM_GP2X] Standard kontroller: B Styrspak Styrspak + A Välj X Övriga se inställningar [txt_intro_keys_PLATFORM_ZAURUS] Standard kontroller: Mellanslag Piltangenter Pil. + Mellans. Home Cancel Övriga se inställningar [txt_intro_keys_PLATFORM_FREMANTLE] Standard kontroller: Enter Piltangenter Pil+Vänster-shift R Backstegst. Övriga se inställningar [txt_intro_keys_PLATFORM_PSP] Standard kontroller: X D-Pad D-Pad + X Start Select Övriga se inställningar [txt_intro_keys_description] Bekräfta Förflyttn. Skjuta Omstart Avsluta [txt_intro_menu] Start Nivå Tillägg Hjälp Inställningar Designer Avsluta [txt_of] av [txt_intro_credits] ATARI Game: 1989 Janusz Pelc, LK AVALON Linux Game: 2002-2010 The GNU Robbo Team http://gnurobbo.sourceforge.net/ # --------------------------------------------------------------------- # The following text is used within the Help screens. # --------------------------------------------------------------------- [txt_help_page0] När du har samlat ihop samtliga skruvar (nivån blinkar till), så ska du ta dig till rymdkapseln för avfärd. Att komma i kontakt med det lokala vildlivet eller stå ivägen för magneter, pistoler eller kraftfält är verkligen skadligt för Robbo's hälsa. Många av spelets föremål kan användas på sätt du kanske inte är medveten om. Försök flytta på lösa pistoler, skjutande lasrar, blockera magneter och teleport plattformar. [txt_help_page1] Vägg - solid och oförstörbar Låda - går att flytta på Glid låda - glider och kan vara förstörande Jord - kan förstöras Nyckel - Öppnar dörr Bomb - kan förflyttas och är explosiv! ? - slumpvist föremål uppstår om den förstörs [txt_help_page2] Kulor - ammunition till Robbos pistol Magnet - finner Robbo väldigt tilldragande Skruv - samla dessa för att laga rymdkapseln Rymdkapsel - Robbos enda flyktväg Teleport - förflyttar Robbo mellan platser Kraftfält - måste förstöras! Fjäril - mycket farliga och jagar Robbo [txt_help_page3] Björn - söt liten nalle ... Brunbjörn - ... och hans storebror Fågel - väldigt aggressiv och skjuter även ibland Kanon Laserkanon Sprängkanon - väldigt förstörande Robbo - och sist men inte minst våran hjälte [txt_Back] Föregående [txt_Next] Nästa [txt_Exit] Huvudmeny # --------------------------------------------------------------------- # The following text is used within the Options Screens. # --------------------------------------------------------------------- [txt_options_page1] Kontrollinställnings hjälp: Tryck på bekräftelseknappen för att ställa in en kontrolltangent, tryck sedan på en tangent eller styrspaksknapp och släpp. Om kontrolltangenten även ska ha en modifierare så välj mellan mod1 och mod2 för varje kontroll med V/H pil. För att ta bort en kontroll, tryck på omstartstangenten. En kontrolltangent måste vara unik! dubbletter ignoreras. Välj spara för att verkställa ändringarna. [txt_Save] Spara [txt_Game_Speed] Spelhastighet [txt_Fast] Snabb [txt_Normal] Normal [txt_Slow] Långsam [txt_Key_Repeat] Key Repeat: [txt_Delay] Fördröjning [txt_Interval] Interval [txt_Default_Joystick] Standard styrspak [txt_No_joystick_found] [Inga styrspakar hittades] [txt_Joystick_Axes_Dead_Zone] Joystick Axes Dead Zone [txt_Language] Språk [txt_Translation_by] Översatt av [txt_Save_Frequency] Save Frequency [txt_On_Exit] On Exit [txt_On_Change] On Change [txt_Move_Up] Förflyttning uppåt [txt_Move_Up_Right] Move Up-Right [txt_Move_Right] Högerförflyttning [txt_Move_Down_Right] Move Down-Right [txt_Move_Down] Förflyttning nedåt [txt_Move_Down_Left] Move Down-Left [txt_Move_Left] Vänsterförflyttning [txt_Move_Up_Left] Move Up-Left [txt_Shoot_Up] Skjut uppåt [txt_Shoot_Down] Skjut nedåt [txt_Shoot_Left] Skjut vänster [txt_Shoot_Right] Skjut höger [txt_Restart] Omstart [txt_Confirm] Bekräfta [txt_Help] Hjälp [txt_Options] Inställningar [txt_Previous_Level] Föregående nivå [txt_Next_Level] Nästa nivå [txt_Previous_Pack] Föregående tillägg [txt_Next_Pack] Nästa tillägg [txt_Toggle_Fullscreen] Växla fullskärmsläge [txt_Home] Home [txt_End] End [txt_Page_Up] Page Up [txt_Page_Down] Page Down [txt_Volume_Up] Volym + [txt_Volume_Down] Volym - [txt_Modifier] Modifierare [txt_Toggle_Designer] Toggle Designer [txt_Scroll_Up] Scroll Up [txt_Scroll_Down] Scroll Down [txt_Primary_Click] Primary Click [txt_Restore_Default_Controls] Återställ kontroller till förvalda inställningar [txt_System_Pointer] System Pointer [txt_Disabled] Disabled [txt_Enabled] Enabled [txt_Pointer_Controls_Pad_Type] Pointer Controls Pad Type [txt_Viewport] Viewport [txt_Screen] Screen [txt_Sound] Sound [txt_Sfx_Volume] Sfx Volume [txt_Simulated_Pointer] Simulated Pointer [txt_Key] Tan [txt_Joy] Joy [txt_Ptr] Ptr [txt_Mod] Mod [txt_Skin] Skin [txt_By] By # --------------------------------------------------------------------- # The following text is used within the game. # --------------------------------------------------------------------- [txt_Level_Author] Nivå Author [txt_endscreen_congrats] Gratulerar. Du har fullföljt alla nivåer för detta tillägg. Tryck på avslutningsknappen för att fortsätta. # --------------------------------------------------------------------- # The following text is used within message boxes. # --------------------------------------------------------------------- [txt_Volume] Volym [txt_Changes_saved] Ändringarna sparades [txt_Default_controls_restored] Återställde kontrollerna till förvalda inställningar [txt_Press_something_and_release] Tryck något och släpp sedan... [txt_No_input_was_detected] Ingen inmatning registrerades! # --------------------------------------------------------------------- # The following text is used within Options describing the keyboard keys. # --------------------------------------------------------------------- [txt_ptr_BtnLeft] BtnLeft [txt_ptr_BtnMiddle] BtnMiddle [txt_ptr_BtnRight] BtnRight [txt_ptr_WheelUp] WheelUp [txt_ptr_WheelDown] WheelDown [txt_key_Backspace] Backstegst. [txt_key_Tab] Tabb [txt_key_Clear] Clear [txt_key_Return] Return [txt_key_Pause] Pause [txt_key_Escape] Escape [txt_key_Space] Mellanslag [txt_key_Delete] Delete [txt_key_KP] KP [txt_key_Up] Upp [txt_key_Down] Ner [txt_key_Right] Höger [txt_key_Left] Vänster [txt_key_Insert] Insert [txt_key_Home] Home [txt_key_End] End [txt_key_PgUp] PgUp [txt_key_PgDn] PgDn [txt_key_NumLk] NumLk [txt_key_CapsLk] CapsLk [txt_key_ScrlLk] ScrlLk [txt_key_RShift] Höger Shift [txt_key_LShift] Vänster Shift [txt_key_RCtrl] Höger Ctrl [txt_key_LCtrl] Vänster Ctrl [txt_key_RAlt] Höger Alt [txt_key_LAlt] Vänster Alt [txt_key_RMeta] Höger Meta [txt_key_LMeta] Vänster Meta [txt_key_LSuper] Vänster Super [txt_key_RSuper] Höger Super [txt_key_AltGr] AltGr [txt_key_AltGr_PLATFORM_FREMANTLE] Fn [txt_key_Compose] Compose [txt_key_Help] Hjälp [txt_key_PrScr] PrScr [txt_key_SysRq] SysRq [txt_key_Break] Break [txt_key_Menu] Meny [txt_key_Power] Power [txt_key_Euro] Euro [txt_key_Undo] Ångra # --------------------------------------------------------------------- # The following text is used within the level designer (konstruktor). # --------------------------------------------------------------------- [txt_konstruktor_Ground] Jord [txt_konstruktor_Stop] Stop [txt_konstruktor_Radioactive_Field] Radioaktiva fält [txt_konstruktor_Push_Box] Glid låda [txt_konstruktor_Capsule] Rymdkapsel [txt_konstruktor_Bomb] Bomb [txt_konstruktor_Bomb2] Bomb2 [txt_konstruktor_Door] Dörr [txt_konstruktor_Box] Låda [txt_konstruktor_Empty_Field] Tom fält [txt_konstruktor_Butterfly] Fjäril [txt_konstruktor_Gun_Fire] Gun Fire [txt_konstruktor_Force_Field] Kraftfält [txt_konstruktor_Screw] Skruv [txt_konstruktor_Wall] Vägg [txt_konstruktor_Black_Wall] Svarta vägg [txt_konstruktor_Teleport] Teleport [txt_konstruktor_Gun] Kanon [txt_konstruktor_Magnet] Magnet [txt_konstruktor_Bear] Björn [txt_konstruktor_Black_Bear] Brunbjörn [txt_konstruktor_Bird] Fågel [txt_konstruktor_Key] Nyckel [txt_konstruktor_Bullets] Kulor [txt_konstruktor_on_map] on map [txt_konstruktor_Laser_Gun] Laserkanon [txt_konstruktor_Blaster_Gun] Sprängkanon [txt_konstruktor_Regular_Gun] Regelbunden kanon [txt_konstruktor_Fixed] Fixed [txt_konstruktor_Moveable] Moveable [txt_konstruktor_Rotating] Rotating [txt_konstruktor_Moveable_Rotating] Moveable Rotating [txt_konstruktor_Direction_right] Direction right [txt_konstruktor_Direction_down] Direction down [txt_konstruktor_Direction_left] Direction left [txt_konstruktor_Direction_up] Direction up [txt_konstruktor_Welcome_to_GNU_Robbo_Designer] Welcome to GNU Robbo Designer [txt_konstruktor_Exit_designer_select_again_to_exit] Exit designer - select again to exit [txt_konstruktor_Reload_level_select_again_to_reload] Reload level - select again to reload [txt_konstruktor_Level_reloaded] Level reloaded [txt_konstruktor_New_level_select_again_to_create] New level - select again to create [txt_konstruktor_Level_created] Level created [txt_konstruktor_Save_select_again_to_save_new_level] Save - select again to save new level [txt_konstruktor_New_level_appended_to_pack] New level appended to pack [txt_konstruktor_Clear_level_select_again_to_clear] Clear level - select again to clear [txt_konstruktor_Level_cleared] Level cleared [txt_konstruktor_Save_select_again_to_save_changes] Save - select again to save changes [txt_konstruktor_Changes_saved] Changes saved [txt_konstruktor_Level_resized_to] Level resized to gnurobbo-0.66+dfsg/data/locales/cz_CZ/0002755000175000017500000000000011467303356016614 5ustar stevestevegnurobbo-0.66+dfsg/data/locales/cz_CZ/localerc0000644000175000017500000000007111340533757020317 0ustar stevesteve [name] Čeština [author] Radek PAVLE gnurobbo-0.66+dfsg/data/locales/cz_CZ/text0000644000175000017500000002466711437444027017536 0ustar stevesteve# --------------------------------------------------------------------- # The following text is used within the Intro screen. # --------------------------------------------------------------------- [txt_intro_story] Robbo uvázl na nehostinné planetě. Pomozte mu zachránit se posbíráním částí potřebných na opravu rakety, a uniknout smrtícím bestijím, dělům, bombám, laserům, a dalším nepříjemnostem. [txt_intro_keys_PLATFORM_PC] Standardní ovládání: Enter Šipky Šipky + Pr.Shift R Escape Další v menu Nastavení [txt_intro_keys_PLATFORM_GP2X] Standardní ovládání: B Joystick Joystick + A Select X Další v menu Nastavení [txt_intro_keys_PLATFORM_ZAURUS] Standardní ovládání: Medzera Šipky Šipky + Mez. Home Cancel Další v menu Nastavení [txt_intro_keys_PLATFORM_FREMANTLE] Standardní ovládání: Enter Šipky Šipky + LShift R Backspace Další v menu Nastavení [txt_intro_keys_PLATFORM_PSP] Standardní ovládání: X D-Pad D-Pad + X Start Select Další v menu Nastavení [txt_intro_keys_description] Potvrdit Pohyb Střelba Restart Konec [txt_intro_menu] Start Úroveň Balík Návod Nastavení Designer Konec [txt_of] z [txt_intro_credits] ATARI Game: 1989 Janusz Pelc, LK AVALON Linux Game: 2002-2010 The GNU Robbo Team http://gnurobbo.sourceforge.net/ # --------------------------------------------------------------------- # The following text is used within the Help screens. # --------------------------------------------------------------------- [txt_help_page0] Když posbíráte všechny šrouby (a obrazovka zabliká), běžte do rakety a odleťte. Pokud přijdete do kontaktu s kteroukoli formou místní fauny, nebo vstoupíte do dráhy magnetu, děla, či silového pole, je to pro Robbův život velmi špatné. Mnohé objekty sa dají použít způsobem, který vás možná nenapadne. Zkuste posouvat pohyblivé děla, stříelet laserem, blokovat magnety, a východy z teleportů. [txt_help_page1] Stěna - pevná a nezničitelná Krabice - dá sa posunovat Posuvná krabice - klouže se, dokáže ničit Zem - dá sa zničit Klíč - otevře dveře Bomba - dá sa tlačit, může vybouchnout! ? - po zničení se objeví překvapení [txt_help_page2] Náboje - pás nábojů pro Robbovu zbraň Magnet - Robbo ho velmi přtahuje Šrouby - díly na opravu rakety Raketa - Robbova naděje na únik Teleport - přesouvá Robba mezi místnostmi Silové pole - musí být zničeno! Motýl - velmi nebezpečný a pronásleduje Robba [txt_help_page3] Medvěd - malý roztomilý méďa ... Černý medvěd - ... a jeho starší bratr Pták - velmi agresivní a někdy střílí Dělo Laser Blaster - velmi ničivý Robbo - nakonec to nejlepší, náš hrdina [txt_Back] Zpět [txt_Next] Další [txt_Exit] Konec # --------------------------------------------------------------------- # The following text is used within the Options Screens. # --------------------------------------------------------------------- [txt_options_page1] Návod na nastavení ovládaní: Stiskněte tlačítko Potvrdit pro nastavení ovládání, a potom stiskněte a pusťte tlačítko nebo směr joysticku. Pokud má mít ovládání dvě možnosti, pak zvolte dvě tlačítka pro každou variantu. Ovládání vymažete tlačítkem Restart. Každé nastavení musí být jiné; duplicití se ignorují. Nakonec zvolte Uložit a uložte všechny změny. [txt_Save] Uložit [txt_Game_Speed] Rychlost hry [txt_Fast] Rychlá [txt_Normal] Normální [txt_Slow] Pomalá [txt_Key_Repeat] Opakování: [txt_Delay] Zpoždění [txt_Interval] Interval [txt_Default_Joystick] Standardní Joy. [txt_No_joystick_found] [Joystick nenalezen] [txt_Joystick_Axes_Dead_Zone] Joystick Axes Dead Zone [txt_Language] Jazyk [txt_Translation_by] Přeložil [txt_Save_Frequency] Frekvence ukládání [txt_On_Exit] na konci [txt_On_Change] při změně [txt_Move_Up] Pohyb nahoru [txt_Move_Up_Right] Pohyb Up-Right [txt_Move_Right] Pohyb vpravo [txt_Move_Down_Right] Pohyb Down-Right [txt_Move_Down] Pohyb dolů [txt_Move_Down_Left] Pohyb Down-Left [txt_Move_Left] Pohyb vlevo [txt_Move_Up_Left] Pohyb Up-Left [txt_Shoot_Up] Střelba nahoru [txt_Shoot_Down] Střelba dolů [txt_Shoot_Left] Střelba vlevo [txt_Shoot_Right] Střelba vpravo [txt_Restart] Restart [txt_Confirm] Potvrzení [txt_Help] Návod [txt_Options] Nastavení [txt_Previous_Level] Předchozí úroveň [txt_Next_Level] Následující úroveň [txt_Previous_Pack] Předchozí balík [txt_Next_Pack] Nasledující balík [txt_Toggle_Fullscreen] Přepni na Fullscreen [txt_Home] Home [txt_End] End [txt_Page_Up] Page Up [txt_Page_Down] Page Down [txt_Volume_Up] Volume Up [txt_Volume_Down] Volume Down [txt_Modifier] Modifier [txt_Toggle_Designer] Toggle Designer [txt_Scroll_Up] Scroll Up [txt_Scroll_Down] Scroll Down [txt_Primary_Click] Primary Click [txt_Restore_Default_Controls] Obnovit původní nastavení [txt_System_Pointer] System Pointer [txt_Disabled] zakázat [txt_Enabled] povolit [txt_Pointer_Controls_Pad_Type] Pointer Controls Pad Type [txt_Viewport] Viewport [txt_Screen] Screen [txt_Sound] Zvuk [txt_Sfx_Volume] Hlasitost Sfx [txt_Simulated_Pointer] Simulated Pointer [txt_Key] Key [txt_Joy] Joy [txt_Ptr] Ptr [txt_Mod] Mod [txt_Skin] Skin [txt_By] By # --------------------------------------------------------------------- # The following text is used within the game. # --------------------------------------------------------------------- [txt_Level_Author] Autor úrovně [txt_endscreen_congrats] Gratuluji. Dokončil jste tento balík úrovní. Pokračujte stisknutím Esc. # --------------------------------------------------------------------- # The following text is used within message boxes. # --------------------------------------------------------------------- [txt_Volume] Hlasitost [txt_Changes_saved] Změny uloženy [txt_Default_controls_restored] Nastaveno standardní ovládání [txt_Press_something_and_release] Stiskněte nečo a pusťte... [txt_No_input_was_detected] Nezaregistroval jsem žádný vstup! # --------------------------------------------------------------------- # The following text is used within Options describing the keyboard keys. # --------------------------------------------------------------------- [txt_ptr_BtnLeft] BtnLeft [txt_ptr_BtnMiddle] BtnMiddle [txt_ptr_BtnRight] BtnRight [txt_ptr_WheelUp] WheelUp [txt_ptr_WheelDown] WheelDown [txt_key_Backspace] Backspace [txt_key_Tab] Tab [txt_key_Clear] Clear [txt_key_Return] Return [txt_key_Pause] Pauza [txt_key_Escape] Escape [txt_key_Space] Mezerník [txt_key_Delete] Delete [txt_key_KP] KP [txt_key_Up] Up [txt_key_Down] Down [txt_key_Right] Right [txt_key_Left] Left [txt_key_Insert] Insert [txt_key_Home] Home [txt_key_End] End [txt_key_PgUp] PgUp [txt_key_PgDn] PgDn [txt_key_NumLk] NumLk [txt_key_CapsLk] CapsLk [txt_key_ScrlLk] ScrlLk [txt_key_RShift] RShift [txt_key_LShift] LShift [txt_key_RCtrl] RCtrl [txt_key_LCtrl] LCtrl [txt_key_RAlt] RAlt [txt_key_LAlt] LAlt [txt_key_RMeta] RMeta [txt_key_LMeta] LMeta [txt_key_LSuper] LSuper [txt_key_RSuper] RSuper [txt_key_AltGr] AltGr [txt_key_AltGr_PLATFORM_FREMANTLE] Fn [txt_key_Compose] Compose [txt_key_Help] Help [txt_key_PrScr] PrScr [txt_key_SysRq] SysRq [txt_key_Break] Break [txt_key_Menu] Menu [txt_key_Power] Power [txt_key_Euro] Euro [txt_key_Undo] Zpět # --------------------------------------------------------------------- # The following text is used within the level designer (konstruktor). # --------------------------------------------------------------------- [txt_konstruktor_Ground] Zem [txt_konstruktor_Stop] Stop [txt_konstruktor_Radioactive_Field] Radioaktivní pole [txt_konstruktor_Push_Box] Posuvná krabice [txt_konstruktor_Capsule] Raketa [txt_konstruktor_Bomb] Bomba [txt_konstruktor_Bomb2] Bomba2 [txt_konstruktor_Door] Dveře [txt_konstruktor_Box] Krabice [txt_konstruktor_Empty_Field] Prázdné pole [txt_konstruktor_Butterfly] Motýl [txt_konstruktor_Gun_Fire] Gun Fire [txt_konstruktor_Force_Field] Silové pole [txt_konstruktor_Screw] Šrouby [txt_konstruktor_Wall] Stěna [txt_konstruktor_Black_Wall] Černý stěna [txt_konstruktor_Teleport] Teleport [txt_konstruktor_Gun] Dělo [txt_konstruktor_Magnet] Magnet [txt_konstruktor_Bear] Medvěd [txt_konstruktor_Black_Bear] Černý medvěd [txt_konstruktor_Bird] Pták [txt_konstruktor_Key] Klíč [txt_konstruktor_Bullets] Náboje [txt_konstruktor_on_map] on map [txt_konstruktor_Laser_Gun] Laser dělo [txt_konstruktor_Blaster_Gun] Blaster dělo [txt_konstruktor_Regular_Gun] Pravidelné dělo [txt_konstruktor_Fixed] Fixed [txt_konstruktor_Moveable] Moveable [txt_konstruktor_Rotating] Rotating [txt_konstruktor_Moveable_Rotating] Moveable Rotating [txt_konstruktor_Direction_right] Direction right [txt_konstruktor_Direction_down] Direction down [txt_konstruktor_Direction_left] Direction left [txt_konstruktor_Direction_up] Direction up [txt_konstruktor_Welcome_to_GNU_Robbo_Designer] Welcome to GNU Robbo Designer [txt_konstruktor_Exit_designer_select_again_to_exit] Exit designer - select again to exit [txt_konstruktor_Reload_level_select_again_to_reload] Reload level - select again to reload [txt_konstruktor_Level_reloaded] Level reloaded [txt_konstruktor_New_level_select_again_to_create] New level - select again to create [txt_konstruktor_Level_created] Level created [txt_konstruktor_Save_select_again_to_save_new_level] Save - select again to save new level [txt_konstruktor_New_level_appended_to_pack] New level appended to pack [txt_konstruktor_Clear_level_select_again_to_clear] Clear level - select again to clear [txt_konstruktor_Level_cleared] Level cleared [txt_konstruktor_Save_select_again_to_save_changes] Save - select again to save changes [txt_konstruktor_Changes_saved] Changes saved [txt_konstruktor_Level_resized_to] Level resized to gnurobbo-0.66+dfsg/data/locales/en_GB/0002755000175000017500000000000011467303356016556 5ustar stevestevegnurobbo-0.66+dfsg/data/locales/en_GB/localerc0000644000175000017500000000004511147333563020260 0ustar stevesteve [name] English [author] Thunor gnurobbo-0.66+dfsg/data/locales/en_GB/text0000644000175000017500000002265011437444027017466 0ustar stevesteve # --------------------------------------------------------------------- # The following text is used within the Intro screen. # --------------------------------------------------------------------- [txt_intro_story] Robbo is stranded on an inhospitable planet. Help him to escape by collecting the parts to repair his capsule whilst avoiding the deadly animals, guns, bombs, lasers and other unpleasant things. [txt_intro_keys_PLATFORM_PC] Default controls: Enter Cursors Cur. + RShift R Escape See Options for all keys [txt_intro_keys_PLATFORM_GP2X] Default controls: B Joystick Joystick + A Select X See Options for all keys [txt_intro_keys_PLATFORM_ZAURUS] Default controls: Space Cursors Cur. + Space Home Cancel See Options for all keys [txt_intro_keys_PLATFORM_FREMANTLE] Default controls: Enter Cursors Cur. + LShift R Backspace See Options for all keys [txt_intro_keys_PLATFORM_PSP] Default controls: X D-Pad D-Pad + X Start Select See Options for all keys [txt_intro_keys_description] Confirm Move Shoot Restart Exit [txt_intro_menu] Start Level Pack Help Options Designer Exit [txt_of] of [txt_intro_credits] ATARI Game: 1989 Janusz Pelc, LK AVALON Linux Game: 2002-2010 The GNU Robbo Team http://gnurobbo.sourceforge.net/ # --------------------------------------------------------------------- # The following text is used within the Help screens. # --------------------------------------------------------------------- [txt_help_page0] Once you've collected all the screws (the level will flash), make your way to the capsule for takeoff. Coming into contact with any of the local wildlife or straying into the path of magnets, guns or force fields is seriously bad for Robbo's wellbeing. Many of the game objects can be used in ways that you may not be aware of. Try pushing moveable guns, shooting laser fire, blocking magnets and teleport exits. [txt_help_page1] Wall - solid and unbreakable Box - can be pushed Push Box - slides and can be destructive Ground - can be destroyed Key - opens a door Bomb - can be pushed and is explosive! ? - a random object appears if destroyed [txt_help_page2] Bullets - an ammo clip for Robbo's gun Magnet - finds Robbo very attractive Screw - collect these to repair the capsule Capsule - Robbo's means of escape Teleport - moves Robbo between locations Force Field - must be destroyed! Butterfly - highly dangerous and hunts Robbo [txt_help_page3] Bear - little, cute bear ... Black Bear - ... and its older brother Bird - very aggressive and sometimes shoots Gun Laser Blaster - very destructive Robbo - last but not least our hero [txt_Back] Back [txt_Next] Next [txt_Exit] Exit # --------------------------------------------------------------------- # The following text is used within the Options Screens. # --------------------------------------------------------------------- [txt_options_page1] Control Reconfiguration Help: Press the Confirm control to set a control and then press a key or joystick button and release it. If the control is to have a modifier then choose between two for each control. To delete a control press the Restart control. Controls must be unique; duplicates are ignored. Finally select Save to commit all changed options. [txt_Save] Save [txt_Game_Speed] Game Speed [txt_Fast] Fast [txt_Normal] Normal [txt_Slow] Slow [txt_Key_Repeat] Key Repeat: [txt_Delay] Delay [txt_Interval] Interval [txt_Default_Joystick] Default Joystick [txt_No_joystick_found] [No joystick found] [txt_Joystick_Axes_Dead_Zone] Joystick Axes Dead Zone [txt_Language] Language [txt_Translation_by] Translation by [txt_Save_Frequency] Save Frequency [txt_On_Exit] On Exit [txt_On_Change] On Change [txt_Move_Up] Move Up [txt_Move_Up_Right] Move Up-Right [txt_Move_Right] Move Right [txt_Move_Down_Right] Move Down-Right [txt_Move_Down] Move Down [txt_Move_Down_Left] Move Down-Left [txt_Move_Left] Move Left [txt_Move_Up_Left] Move Up-Left [txt_Shoot_Up] Shoot Up [txt_Shoot_Down] Shoot Down [txt_Shoot_Left] Shoot Left [txt_Shoot_Right] Shoot Right [txt_Restart] Restart [txt_Confirm] Confirm [txt_Help] Help [txt_Options] Options [txt_Previous_Level] Previous Level [txt_Next_Level] Next Level [txt_Previous_Pack] Previous Pack [txt_Next_Pack] Next Pack [txt_Toggle_Fullscreen] Toggle Fullscreen [txt_Home] Home [txt_End] End [txt_Page_Up] Page Up [txt_Page_Down] Page Down [txt_Volume_Up] Volume Up [txt_Volume_Down] Volume Down [txt_Modifier] Modifier [txt_Toggle_Designer] Toggle Designer [txt_Scroll_Up] Scroll Up [txt_Scroll_Down] Scroll Down [txt_Primary_Click] Primary Click [txt_Restore_Default_Controls] Restore Default Controls [txt_System_Pointer] System Pointer [txt_Disabled] Disabled [txt_Enabled] Enabled [txt_Pointer_Controls_Pad_Type] Pointer Controls Pad Type [txt_Viewport] Viewport [txt_Screen] Screen [txt_Sound] Sound [txt_Sfx_Volume] Sfx Volume [txt_Simulated_Pointer] Simulated Pointer [txt_Key] Key [txt_Joy] Joy [txt_Ptr] Ptr [txt_Mod] Mod [txt_Skin] Skin [txt_By] By # --------------------------------------------------------------------- # The following text is used within the game. # --------------------------------------------------------------------- [txt_Level_Author] Level Author [txt_endscreen_congrats] Congratulations. You have completed this level pack. Press the Exit key to continue. # --------------------------------------------------------------------- # The following text is used within message boxes. # --------------------------------------------------------------------- [txt_Volume] Volume [txt_Changes_saved] Changes saved [txt_Default_controls_restored] Default controls restored [txt_Press_something_and_release] Press something and release... [txt_No_input_was_detected] No input was detected! # --------------------------------------------------------------------- # The following text is used within Options describing the keyboard keys. # --------------------------------------------------------------------- [txt_ptr_BtnLeft] BtnLeft [txt_ptr_BtnMiddle] BtnMiddle [txt_ptr_BtnRight] BtnRight [txt_ptr_WheelUp] WheelUp [txt_ptr_WheelDown] WheelDown [txt_key_Backspace] Backspace [txt_key_Tab] Tab [txt_key_Clear] Clear [txt_key_Return] Return [txt_key_Pause] Pause [txt_key_Escape] Escape [txt_key_Space] Space [txt_key_Delete] Delete [txt_key_KP] KP [txt_key_Up] Up [txt_key_Down] Down [txt_key_Right] Right [txt_key_Left] Left [txt_key_Insert] Insert [txt_key_Home] Home [txt_key_End] End [txt_key_PgUp] PgUp [txt_key_PgDn] PgDn [txt_key_NumLk] NumLk [txt_key_CapsLk] CapsLk [txt_key_ScrlLk] ScrlLk [txt_key_RShift] RShift [txt_key_LShift] LShift [txt_key_RCtrl] RCtrl [txt_key_LCtrl] LCtrl [txt_key_RAlt] RAlt [txt_key_LAlt] LAlt [txt_key_RMeta] RMeta [txt_key_LMeta] LMeta [txt_key_LSuper] LSuper [txt_key_RSuper] RSuper [txt_key_AltGr] AltGr [txt_key_AltGr_PLATFORM_FREMANTLE] Fn [txt_key_Compose] Compose [txt_key_Help] Help [txt_key_PrScr] PrScr [txt_key_SysRq] SysRq [txt_key_Break] Break [txt_key_Menu] Menu [txt_key_Power] Power [txt_key_Euro] Euro [txt_key_Undo] Undo # --------------------------------------------------------------------- # The following text is used within the level designer (konstruktor). # --------------------------------------------------------------------- [txt_konstruktor_Ground] Ground [txt_konstruktor_Stop] Stop [txt_konstruktor_Radioactive_Field] Radioactive Field [txt_konstruktor_Push_Box] Push Box [txt_konstruktor_Capsule] Capsule [txt_konstruktor_Bomb] Bomb [txt_konstruktor_Bomb2] Bomb2 [txt_konstruktor_Door] Door [txt_konstruktor_Box] Box [txt_konstruktor_Empty_Field] Empty Field [txt_konstruktor_Butterfly] Butterfly [txt_konstruktor_Gun_Fire] Gun Fire [txt_konstruktor_Force_Field] Force Field [txt_konstruktor_Screw] Screw [txt_konstruktor_Wall] Wall [txt_konstruktor_Black_Wall] Black Wall [txt_konstruktor_Teleport] Teleport [txt_konstruktor_Gun] Gun [txt_konstruktor_Magnet] Magnet [txt_konstruktor_Bear] Bear [txt_konstruktor_Black_Bear] Black Bear [txt_konstruktor_Bird] Bird [txt_konstruktor_Key] Key [txt_konstruktor_Bullets] Bullets [txt_konstruktor_on_map] on map [txt_konstruktor_Laser_Gun] Laser Gun [txt_konstruktor_Blaster_Gun] Blaster Gun [txt_konstruktor_Regular_Gun] Regular Gun [txt_konstruktor_Fixed] Fixed [txt_konstruktor_Moveable] Moveable [txt_konstruktor_Rotating] Rotating [txt_konstruktor_Moveable_Rotating] Moveable Rotating [txt_konstruktor_Direction_right] Direction right [txt_konstruktor_Direction_down] Direction down [txt_konstruktor_Direction_left] Direction left [txt_konstruktor_Direction_up] Direction up [txt_konstruktor_Welcome_to_GNU_Robbo_Designer] Welcome to GNU Robbo Designer [txt_konstruktor_Exit_designer_select_again_to_exit] Exit designer - select again to exit [txt_konstruktor_Reload_level_select_again_to_reload] Reload level - select again to reload [txt_konstruktor_Level_reloaded] Level reloaded [txt_konstruktor_New_level_select_again_to_create] New level - select again to create [txt_konstruktor_Level_created] Level created [txt_konstruktor_Save_select_again_to_save_new_level] Save - select again to save new level [txt_konstruktor_New_level_appended_to_pack] New level appended to pack [txt_konstruktor_Clear_level_select_again_to_clear] Clear level - select again to clear [txt_konstruktor_Level_cleared] Level cleared [txt_konstruktor_Save_select_again_to_save_changes] Save - select again to save changes [txt_konstruktor_Changes_saved] Changes saved [txt_konstruktor_Level_resized_to] Level resized to gnurobbo-0.66+dfsg/data/locales/pl_PL/0002755000175000017500000000000011467303356016612 5ustar stevestevegnurobbo-0.66+dfsg/data/locales/pl_PL/localerc0000644000175000017500000000005611151535773020320 0ustar stevesteve [name] Polski [author] Arkadiusz Lipiec gnurobbo-0.66+dfsg/data/locales/pl_PL/text0000644000175000017500000002365211437753530017527 0ustar stevesteve# --------------------------------------------------------------------- # The following text is used within the Intro screen. # --------------------------------------------------------------------- [txt_intro_story] Robbo został uwięziony na niegościnnej planecie. Pomóż mu w ucieczce zbierając części potrzebne do naprawy kapsuły unikając zabójczych zwierząt, dział, laserów oraz innych niefajnych rzeczy. [txt_intro_keys_PLATFORM_PC] Sterowanie: Enter Strzałki Strz. + RShift R Escape Opcje - inne klawisze [txt_intro_keys_PLATFORM_GP2X] Sterowanie: B Joystick Joystick + A Select X Opcje - inne klawisze [txt_intro_keys_PLATFORM_ZAURUS] Sterowanie Space Strzałki Strz. + Space Home Cancel Opcje - inne klawisze [txt_intro_keys_PLATFORM_FREMANTLE] Sterowanie: Enter Strzałki Strz. + LShift R Backspace Opcje - inne klawisze [txt_intro_keys_PLATFORM_PSP] Sterowanie: X D-Pad D-Pad + X Start Select Opcje - inne klawisze [txt_intro_keys_description] Wybór Ruch Strzał Restart Wyjście [txt_intro_menu] Start Poziom Pakiet Pomoc Opcje Designer Wyjście [txt_of] z [txt_intro_credits] ATARI: 1989 Janusz Pelc, LK AVALON Linux: 2002-2010 The GNU Robbo Team http://gnurobbo.sourceforge.net/ # --------------------------------------------------------------------- # The following text is used within the Help screens. # --------------------------------------------------------------------- [txt_help_page0] Po zebraniu wszystkich śrubek (tło planszy zamiga), znajdź kapsułę aby się ewakuować. Zetknięcie się z jakąkolwiek formą życia lub napotkanie magnesów, dział oraz pól siłowych powoduje poważne następstwa dla życia Robbo. Wiele obiektów gry może być używanych na różne, czasem dziwne sposoby. Próbuj popychać ruchome działa, strzelać do lasera, blokować magnesy oraz wyjścia z teleportów. [txt_help_page1] Ściana - choćbyś walił głową, nie przebijesz Skrzynka - można ją przesuwać Skrzynka ruchoma - ślizga się i rozbija Grunt - można zniszczyć Klucz - otwiera drzwi Bomba - można ją przesuwać i wybucha! ? - losowy obiekt pojawia się po zniszczeniu [txt_help_page2] Naboje - amunicja do pistoletu Robbo Magnes - bardzo lubi przyciągać Robbo Śrubka - zbieraj takie aby naprawić kapsułę Kapsuła - droga ratunku Teleport - przenosi Robbo po planszy Pole energetyczne - musi być zniszczone! Motylek - bardzo zły, poluje na Robbo [txt_help_page3] Miś - mały, pluszowy miś ... Czarny miś - ... jego starszy brat Ptaszek - bardzo niedobry i czasem strzela Działo - strzela Laser - strzela światłem Blaster - bardzo destrukcyjny Robbo - w końcu nie mniej ważny, nasz bohater [txt_Back] Powrót [txt_Next] Dalej [txt_Exit] Wyjście # --------------------------------------------------------------------- # The following text is used within the Options Screens. # --------------------------------------------------------------------- [txt_options_page1] Pomoc w zmianie sterowania: Naciśnij przycisk wyboru aby ustawić sterowanie a potem wybierz klawisz albo przycisk joysticka i zwolnij go. Jeśli sterowanie ma mieć przełącznik, wówczas wybierz pomiędzy dwoma możliwymi opcjami. Aby usunąć sterowanie naciśnij przycisk restart. Klawisze nie mogą się powtarzać; powtórki ignorowane. Na końcu wybierz zapis aby zatwierdzić zmienione opcje. [txt_Save] Zapis [txt_Game_Speed] Szybkość gry [txt_Fast] Szybka [txt_Normal] Normalna [txt_Slow] Wolna [txt_Key_Repeat] Powtarzalność klawiszy: [txt_Delay] Opóźnienie [txt_Interval] Interwał [txt_Default_Joystick] Domyślny Joystick [txt_No_joystick_found] [Brak joysticka] [txt_Joystick_Axes_Dead_Zone] Strefa wychylenia joysticka [txt_Language] Język [txt_Translation_by] Tłumaczenie [txt_Save_Frequency] Zapis stanu gry [txt_On_Exit] Przy wyjściu [txt_On_Change] Po zmianie [txt_Move_Up] Ruch w górę [txt_Move_Up_Right] Ruch prawo-góra [txt_Move_Right] Ruch w prawo [txt_Move_Down_Right] Ruch prawo-dół [txt_Move_Down] Ruch w dół [txt_Move_Down_Left] Ruch dół-lewo [txt_Move_Left] Ruch w lewo [txt_Move_Up_Left] Ruch góra-lewo [txt_Shoot_Up] Strzał w górę [txt_Shoot_Down] Strzał w dół [txt_Shoot_Left] Strzał w lewo [txt_Shoot_Right] Strzał w prawo [txt_Restart] Restart [txt_Confirm] Zatwierdź [txt_Help] Pomoc [txt_Options] Opcje [txt_Previous_Level] Poprz. poziom [txt_Next_Level] Następny poziom [txt_Previous_Pack] Poprz. pakiet [txt_Next_Pack] Następny pakiet [txt_Toggle_Fullscreen] Przełącz pełny ekran [txt_Home] Home [txt_End] End [txt_Page_Up] Page Up [txt_Page_Down] Page Down [txt_Volume_Up] Podgłośnienie [txt_Volume_Down] Ściszenie [txt_Modifier] Przełącznik [txt_Toggle_Designer] Przełączenie designera [txt_Scroll_Up] Scroll Up [txt_Scroll_Down] Scroll Down [txt_Primary_Click] Podstawowy klik [txt_Restore_Default_Controls] Przywróć domyślne [txt_System_Pointer] Wskaźnik systemowy [txt_Disabled] Wyłączone [txt_Enabled] Włączone [txt_Pointer_Controls_Pad_Type] Wskaźnik steruje typem pada [txt_Viewport] Viewport [txt_Screen] Ekran [txt_Sound] Dźwięk [txt_Sfx_Volume] Głośność efektów dźwiękowych [txt_Simulated_Pointer] Symulowany wskaźnik [txt_Key] Klawisz [txt_Joy] Joystick [txt_Ptr] Wskaźnik [txt_Mod] Mod [txt_Skin] Skórka [txt_By] przez # --------------------------------------------------------------------- # The following text is used within the game. # --------------------------------------------------------------------- [txt_Level_Author] Autor poziomu [txt_endscreen_congrats] Gratulacje. Ukończono ten pakiet poziomów. Naciśnij Wyjdź aby kontynuować. # --------------------------------------------------------------------- # The following text is used within message boxes. # --------------------------------------------------------------------- [txt_Volume] Głośność [txt_Changes_saved] Zapisano zmiany [txt_Default_controls_restored] Przywrócono domyślne sterowanie [txt_Press_something_and_release] Naciśnij coś i zwolnij... [txt_No_input_was_detected] Nie wykryto żadnego wejścia! # --------------------------------------------------------------------- # The following text is used within Options describing the keyboard keys. # --------------------------------------------------------------------- [txt_ptr_BtnLeft] LewyPrzyc [txt_ptr_BtnMiddle] ŚrodPrzyc [txt_ptr_BtnRight] PrawyPrzyc [txt_ptr_WheelUp] KółkoGóra [txt_ptr_WheelDown] KółkoDół [txt_key_Backspace] Backspace [txt_key_Tab] Tab [txt_key_Clear] Clear [txt_key_Return] Return [txt_key_Pause] Pause [txt_key_Escape] Escape [txt_key_Space] Space [txt_key_Delete] Delete [txt_key_KP] KP [txt_key_Up] Góra [txt_key_Down] Dół [txt_key_Right] Prawo [txt_key_Left] Lewo [txt_key_Insert] Insert [txt_key_Home] Home [txt_key_End] End [txt_key_PgUp] PgUp [txt_key_PgDn] PgDn [txt_key_NumLk] NumLk [txt_key_CapsLk] CapsLk [txt_key_ScrlLk] ScrlLk [txt_key_RShift] RShift [txt_key_LShift] LShift [txt_key_RCtrl] RCtrl [txt_key_LCtrl] LCtrl [txt_key_RAlt] RAlt [txt_key_LAlt] LAlt [txt_key_RMeta] RMeta [txt_key_LMeta] LMeta [txt_key_LSuper] LSuper [txt_key_RSuper] RSuper [txt_key_AltGr] AltGr [txt_key_AltGr_PLATFORM_FREMANTLE] Fn [txt_key_Compose] Compose [txt_key_Help] Help [txt_key_PrScr] PrScr [txt_key_SysRq] SysRq [txt_key_Break] Break [txt_key_Menu] Menu [txt_key_Power] Power [txt_key_Euro] Euro [txt_key_Undo] Undo # --------------------------------------------------------------------- # The following text is used within the level designer (konstruktor). # --------------------------------------------------------------------- [txt_konstruktor_Ground] Teren [txt_konstruktor_Stop] Stop [txt_konstruktor_Radioactive_Field] Pole radioaktywnych [txt_konstruktor_Push_Box] Skrzynka ruchoma [txt_konstruktor_Capsule] Kapsuła [txt_konstruktor_Bomb] Bomba [txt_konstruktor_Bomb2] Bomba2 [txt_konstruktor_Door] Drzwi [txt_konstruktor_Box] Skrzynka [txt_konstruktor_Empty_Field] Puste pole [txt_konstruktor_Butterfly] Motylek [txt_konstruktor_Gun_Fire] Działo ogniowe [txt_konstruktor_Force_Field] Pole energetyczne [txt_konstruktor_Screw] Śrubka [txt_konstruktor_Wall] Ściana [txt_konstruktor_Black_Wall] Czarny ściana [txt_konstruktor_Teleport] Teleport [txt_konstruktor_Gun] Działo [txt_konstruktor_Magnet] Magnes [txt_konstruktor_Bear] Miś [txt_konstruktor_Black_Bear] Czarny miś [txt_konstruktor_Bird] Ptaszek [txt_konstruktor_Key] Klucz [txt_konstruktor_Bullets] Naboje [txt_konstruktor_on_map] on map [txt_konstruktor_Laser_Gun] Laser działo [txt_konstruktor_Blaster_Gun] Blaster działo [txt_konstruktor_Regular_Gun] Regularny działo [txt_konstruktor_Fixed] Stałe [txt_konstruktor_Moveable] Ruchome [txt_konstruktor_Rotating] Obracające [txt_konstruktor_Moveable_Rotating] Obracające ruchome [txt_konstruktor_Direction_right] Kierunek prawo [txt_konstruktor_Direction_down] Kierunek dół [txt_konstruktor_Direction_left] Kierunek lewo [txt_konstruktor_Direction_up] Kierunek góra [txt_konstruktor_Welcome_to_GNU_Robbo_Designer] Witaj w konstruktorze GNU Robbo [txt_konstruktor_Exit_designer_select_again_to_exit] Opuść konstruktor - wybierz ponownie aby wyjść [txt_konstruktor_Reload_level_select_again_to_reload] Przeładuj poziom - wybierz ponownie aby przeładować [txt_konstruktor_Level_reloaded] Poziom przeładowany [txt_konstruktor_New_level_select_again_to_create] Nowy poziom - wybierz ponownie aby utworzyć [txt_konstruktor_Level_created] Poziom utworzony [txt_konstruktor_Save_select_again_to_save_new_level] Zapisz - wybierz ponownie aby zapisać nowy poziom [txt_konstruktor_New_level_appended_to_pack] Nowy poziom dodany do paczki [txt_konstruktor_Clear_level_select_again_to_clear] Czyść poziom - wybierz ponownie aby wyczyścić [txt_konstruktor_Level_cleared] Poziom wyczyszczony [txt_konstruktor_Save_select_again_to_save_changes] Zapisz - wybierz ponownie aby zapisać zmiany [txt_konstruktor_Changes_saved] Zmiany zapisane [txt_konstruktor_Level_resized_to] Zmiana rozmiaru poziomu do gnurobbo-0.66+dfsg/data/locales/de_DE/0002755000175000017500000000000011467303356016544 5ustar stevestevegnurobbo-0.66+dfsg/data/locales/de_DE/localerc0000644000175000017500000000010111436045421020231 0ustar stevesteve[name] Deutsch [author] Chris Zeiler gnurobbo-0.66+dfsg/data/locales/de_DE/text0000644000175000017500000002367211437444027017461 0ustar stevesteve# --------------------------------------------------------------------- # Der folgende Text wird im Introbildschirm angezeigt. # --------------------------------------------------------------------- [txt_intro_story] Robbo ist mit seiner Raumkapsel auf einem unwirtlichen Planeten gestrandet. Hilf ihm zu entkommen, indem du die Kapselteile einsammelst. Achte auf wilde Tiere, Kanonen, Bomben, Laser und andere Gefahren. [txt_intro_keys_PLATFORM_PC] Standardkontrollen: Enter Pfeiltasten Pfeil. + RShift R Escape "Optionen" für alle [txt_intro_keys_PLATFORM_GP2X] Standardkontrollen: B Joystick Joystick + A Select X "Optionen" für alle [txt_intro_keys_PLATFORM_ZAURUS] Standardkontrollen: Leertaste Pfeiltasten Pfeil. + Leer. Home Cancel "Optionen" für alle [txt_intro_keys_PLATFORM_FREMANTLE] Standardkontrollen: Enter Pfeiltasten Pfeil. + LShift R Rückschrit "Optionen" für alle [txt_intro_keys_PLATFORM_PSP] Standardkontrollen: X D-Pad D-Pad + X Start Select "Optionen" für alle [txt_intro_keys_description] OK Bewegen Schießen Neustart Beenden [txt_intro_menu] Start Karten Thema Hilfe Optionen Designer Beenden [txt_of] von [txt_intro_credits] ATARI-Port: 1989 Janusz Pelc, LK AVALON Linux-Port: 2002-2010 The GNU Robbo Team http://gnurobbo.sourceforge.net # --------------------------------------------------------------------- # Folgende Texte werden auf den Hilfsbildschirmen verwendet. # --------------------------------------------------------------------- [txt_help_page0] Wenn du alle Schrauben eingesammelt hast, blinkt der Bildschirm kurz auf. Begib dich dann zur Kapsel, um das Level zu beenden. Jeglicher Kontakt mit der Fauna des Planeten, aber auch mit Magneten, Schusswaffen und Kraftfeldern wirkt sich negativ auf Robbos Gesundheit aus. Viele Dinge im Spiel können in einer Weise genutzt werden, die anfangs noch verborgen ist. Versuche, Kanonen zu verschieben, Laserfeuer zu beschießen oder Magneten und Teleporter zu blockieren. [txt_help_page1] Wand - Grundsolide und unzerstörbar Kiste - Kann verschoben werden Druck-Kiste - Rutschig, manchmal tödlich Boden - Kann zerstört werden Schlüssel - Öffnet Tür Bombe - Kann verschoben werden, explosiv! ? - Hinterlässt ein zufälliges Objekt [txt_help_page2] Kugeln - Munition für Robbos Waffe Magnet - Fühlt sich von Robbo angezogen Schraube - Für die Kapselreparatur notwendig Kapsel - Robbos einziges Mittel zur Flucht Teleporter - Transportiert Robbo von Ort zu Ort Kraftfeld - Muss zerstört werden! Falter - Verfolgt Robbo, hochgefährlich [txt_help_page3] Bär - So ein kleiner, süßer Bär ... Schwarzbär - ... und sein großer Bruder Vogel - Sehr agressiv, schießt manchmal Kanone Laser Blaster - Extrem zerstörerisch Robbo - Unser strahlender Held [txt_Back] Zurück [txt_Next] Weiter [txt_Exit] Beenden # --------------------------------------------------------------------- # Folgener Text wird auf dem Optionsbildschirm verwendet. # --------------------------------------------------------------------- [txt_options_page1] Hilfe zum Einstellen der Steuerung: Drücke die OK-Taste, um eine Belegung zu ändern. Drücke nun die gewünschte Taste auf der Tastatur oder dem Joystick. Zusätzlich kannst du für jede Aktion noch einen Modifikator wählen. Drücke die Neustart-Taste, um eine Belegung zu löschen. Doppelbelegungen werden ignoriert. Wähle "Speichern", wenn du fertig bist. [txt_Save] Speichern [txt_Game_Speed] Spielgeschwindigkeit [txt_Fast] Schnell [txt_Normal] Normal [txt_Slow] Langsam [txt_Key_Repeat] Tastenwiederholung: [txt_Delay] Verzögerung [txt_Interval] Geschwindigkeit [txt_Default_Joystick] Standard-Joystick [txt_No_joystick_found] [Kein Joystick gefunden] [txt_Joystick_Axes_Dead_Zone] Joystickachsen Toter Bereich [txt_Language] Sprache [txt_Translation_by] Sprachübersetzung von [txt_Save_Frequency] Speicherfrequenz [txt_On_Exit] beim Beenden [txt_On_Change] bei Veränderung [txt_Move_Up] Nach oben bewegen [txt_Move_Up_Right] Nach oben rechts bew. [txt_Move_Right] Nach rechts bewegen [txt_Move_Down_Right] Nach unten rechts bew. [txt_Move_Down] Nach unten bewegen [txt_Move_Down_Left] Nach unten links bew. [txt_Move_Left] Nach links bewegen [txt_Move_Up_Left] Nach oben links bew. [txt_Shoot_Up] Nach oben schießen [txt_Shoot_Down] Nach unten schießen [txt_Shoot_Left] Nach links schießen [txt_Shoot_Right] Nach rechts schießen [txt_Restart] Neu starten [txt_Confirm] Bestätigen [txt_Help] Hilfe [txt_Options] Optionen [txt_Previous_Level] Vorheriges Level [txt_Next_Level] Nächste Karte [txt_Previous_Pack] Vorheriger Kartensatz [txt_Next_Pack] Nächster Kartensatz [txt_Toggle_Fullscreen] Vollbildmodus [txt_Home] Position Eins [txt_End] Ende [txt_Page_Up] Bild Auf [txt_Page_Down] Bild Ab [txt_Volume_Up] Lauter [txt_Volume_Down] Leiser [txt_Modifier] Modifikator [txt_Toggle_Designer] Toggle Designer [txt_Scroll_Up] Scroll Up [txt_Scroll_Down] Scroll Down [txt_Primary_Click] Primary Click [txt_Restore_Default_Controls] Standardbelegung wiederherstellen [txt_System_Pointer] System Pointer [txt_Disabled] Disabled [txt_Enabled] Enabled [txt_Pointer_Controls_Pad_Type] Pointer Controls Pad Type [txt_Viewport] Viewport [txt_Screen] Screen [txt_Sound] Ton [txt_Sfx_Volume] Sfx Volume [txt_Simulated_Pointer] Simulated Pointer [txt_Key] Tas [txt_Joy] Joy [txt_Ptr] Ptr [txt_Mod] Mod [txt_Skin] Thema [txt_By] Von # --------------------------------------------------------------------- # Der folgende Text wird direkt im Spiel verwendet. # --------------------------------------------------------------------- [txt_Level_Author] Kartendesigner [txt_endscreen_congrats] Herzlichen Glückwunsch! Sie haben diesen Kartensatz abgeschlossen. (Beenden-Taste drücken.) # --------------------------------------------------------------------- # Wird in den Textboxen benutzt. # --------------------------------------------------------------------- [txt_Volume] Lautstärke [txt_Changes_saved] Änderungen gespeichert [txt_Default_controls_restored] Standardkontrollen wiederhergestellt [txt_Press_something_and_release] Taste drücken und wieder loslassen... [txt_No_input_was_detected] Es wurde keine Eingabe registriert! # --------------------------------------------------------------------- # Der folgende Text beschreibt die Tastenbelegung im Optionsbildschirm. # --------------------------------------------------------------------- [txt_ptr_BtnLeft] BtnLeft [txt_ptr_BtnMiddle] BtnMiddle [txt_ptr_BtnRight] BtnRight [txt_ptr_WheelUp] WheelUp [txt_ptr_WheelDown] WheelDown [txt_key_Backspace] Rückschritt [txt_key_Tab] Tab [txt_key_Clear] Clear [txt_key_Return] Enter [txt_key_Pause] Pause [txt_key_Escape] Escape [txt_key_Space] Leertaste [txt_key_Delete] Entf [txt_key_KP] NT [txt_key_Up] Oben [txt_key_Down] Unten [txt_key_Right] Rechts [txt_key_Left] Links [txt_key_Insert] Einfg [txt_key_Home] Pos1 [txt_key_End] Ende [txt_key_PgUp] Bild Auf [txt_key_PgDn] Bild Ab [txt_key_NumLk] NumLock [txt_key_CapsLk] UmschLock [txt_key_ScrlLk] Rollen [txt_key_RShift] R-Umsch [txt_key_LShift] L-Umsch [txt_key_RCtrl] R-Strg [txt_key_LCtrl] L-Strg [txt_key_RAlt] R-Alt [txt_key_LAlt] L-Alt [txt_key_RMeta] R-Meta [txt_key_LMeta] L-Meta [txt_key_LSuper] L-Super [txt_key_RSuper] R-Super [txt_key_AltGr] AltGr [txt_key_AltGr_PLATFORM_FREMANTLE] Fn [txt_key_Compose] Compose [txt_key_Help] Hilfe [txt_key_PrScr] Druck [txt_key_SysRq] S-Abf [txt_key_Break] Unterbrechung [txt_key_Menu] Menü [txt_key_Power] Leistung [txt_key_Euro] Euro [txt_key_Undo] Rückgängig # --------------------------------------------------------------------- # The following text is used within the level designer (konstruktor). # --------------------------------------------------------------------- [txt_konstruktor_Ground] Boden [txt_konstruktor_Stop] Stop [txt_konstruktor_Radioactive_Field] Radioaktives Feld [txt_konstruktor_Push_Box] Druck-Kiste [txt_konstruktor_Capsule] Kapsel [txt_konstruktor_Bomb] Bombe [txt_konstruktor_Bomb2] Bombe2 [txt_konstruktor_Door] Tür [txt_konstruktor_Box] Kiste [txt_konstruktor_Empty_Field] Empty Field [txt_konstruktor_Butterfly] Falter [txt_konstruktor_Gun_Fire] Kanonfeuer [txt_konstruktor_Force_Field] Kraftfeld [txt_konstruktor_Screw] Schraube [txt_konstruktor_Wall] Wand [txt_konstruktor_Black_Wall] Schwarze Wand [txt_konstruktor_Teleport] Teleporter [txt_konstruktor_Gun] Kanone [txt_konstruktor_Magnet] Magnet [txt_konstruktor_Bear] Bär [txt_konstruktor_Black_Bear] Schwarze Bär [txt_konstruktor_Bird] Vogel [txt_konstruktor_Key] Schlüssel [txt_konstruktor_Bullets] Kugeln [txt_konstruktor_on_map] on map [txt_konstruktor_Laser_Gun] Laser-Kanon [txt_konstruktor_Blaster_Gun] Blaster-Kanon [txt_konstruktor_Regular_Gun] Normaler Kanon [txt_konstruktor_Fixed] Fixed [txt_konstruktor_Moveable] Moveable [txt_konstruktor_Rotating] Rotating [txt_konstruktor_Moveable_Rotating] Moveable Rotating [txt_konstruktor_Direction_right] Direction right [txt_konstruktor_Direction_down] Direction down [txt_konstruktor_Direction_left] Direction left [txt_konstruktor_Direction_up] Direction up [txt_konstruktor_Welcome_to_GNU_Robbo_Designer] Welcome to GNU Robbo Designer [txt_konstruktor_Exit_designer_select_again_to_exit] Exit designer - select again to exit [txt_konstruktor_Reload_level_select_again_to_reload] Reload level - select again to reload [txt_konstruktor_Level_reloaded] Level reloaded [txt_konstruktor_New_level_select_again_to_create] New level - select again to create [txt_konstruktor_Level_created] Level created [txt_konstruktor_Save_select_again_to_save_new_level] Save - select again to save new level [txt_konstruktor_New_level_appended_to_pack] New level appended to pack [txt_konstruktor_Clear_level_select_again_to_clear] Clear level - select again to clear [txt_konstruktor_Level_cleared] Level cleared [txt_konstruktor_Save_select_again_to_save_changes] Save - select again to save changes [txt_konstruktor_Changes_saved] Changes saved [txt_konstruktor_Level_resized_to] Level resized to gnurobbo-0.66+dfsg/data/locales/es_ES/0002755000175000017500000000000011467303356016602 5ustar stevestevegnurobbo-0.66+dfsg/data/locales/es_ES/_localerc0000644000175000017500000000006011152470667020443 0ustar stevesteve [name] Español [author] "Your name here" gnurobbo-0.66+dfsg/data/locales/es_ES/text0000644000175000017500000000000111150266337017472 0ustar stevesteve gnurobbo-0.66+dfsg/data/locales/ru_RU/0002755000175000017500000000000011467303356016640 5ustar stevestevegnurobbo-0.66+dfsg/data/locales/ru_RU/localerc0000644000175000017500000000006611315166761020346 0ustar stevesteve [name] Русский [author] Alexander Voikov gnurobbo-0.66+dfsg/data/locales/ru_RU/text0000644000175000017500000002754611437444027017561 0ustar stevesteve# --------------------------------------------------------------------- # The following text is used within the Intro screen. # --------------------------------------------------------------------- [txt_intro_story] Robbo заброшен на недружелюбную планету. Помоги ему выбраться, собирая детали для ремонта его капсулы, вместе с этим избегая смертельных животных, пушек, бомб, лазеров и других неприятных вещей. [txt_intro_keys_PLATFORM_PC] Стандартное управл.: Enter Курсор Кур.+Пр.Shift R Escape Остальное в опциях [txt_intro_keys_PLATFORM_GP2X] Стандартное управл.: B Joystick Joystick + A Select X Остальное в опциях [txt_intro_keys_PLATFORM_ZAURUS] Стандартное управл.: Space Cursors Cur. + Space Home Cancel Остальное в опциях [txt_intro_keys_PLATFORM_FREMANTLE] Стандартное управл.: Enter Курсор Кур.+LShift R Backspace Остальное в опциях [txt_intro_keys_PLATFORM_PSP] Стандартное управл.: X D-Pad D-Pad + X Start Select Остальное в опциях [txt_intro_keys_description] Подтв. Двигат. Стрел. Снова Выход [txt_intro_menu] Начать Уров. Набор Помощь Опции Designer Выход [txt_of] of [txt_intro_credits] ATARI Game: 1989 Janusz Pelc, LK AVALON Linux Game: 2002-2010 The GNU Robbo Team http://gnurobbo.sourceforge.net/ # --------------------------------------------------------------------- # The following text is used within the Help screens. # --------------------------------------------------------------------- [txt_help_page0] Собрав все шурупы (экран замерцает), держи путь к капсуле для побега. Контакт с любым представителем здешней дикой природы, нахождение поблизости от магнитов, пушек или силовых полей может нанести вред Robbo. Множество игровых объектов может быть использовано не по прямому назначению. Попробуй толкать передвижные пушки, стрелять лазерным огнём, блокировать магниты и выходы телепортов. [txt_help_page1] Стена - твёрдая и неуничтожима Ящик - можно двигать Скользкий ящик - скользит и уничтожим Земля - уничтожима Ключ - откр. двери Бомба - можно двигать и взрывоопасна! ? - при уничтожении появляется случ. объект [txt_help_page2] Патроны - обойма для пушки Robbo Магнит - находит Robbo очень привлекательным Шуруп - собирай их для ремонта капсулы Капсула - Способ побега Robbo Телепорт - перемещает Robbo Силовое поле - must be destroyed! Бабочка - очень опасна и охотится за Robbo [txt_help_page3] Медведь - маленький милый медведь ... Чёрный медведь - ... и его старший брат Птица - очень агрессивна и иногда стреляет Пушка Лазер Бластер - очень разрушительный Robbo - не самый плохой наш последний герой [txt_Back] Назад [txt_Next] Дальше [txt_Exit] Выход # --------------------------------------------------------------------- # The following text is used within the Options Screens. # --------------------------------------------------------------------- [txt_options_page1] Помощь по управлению перенастройки: Нажмите подтверждение, чтобы установить управление, а затем нажмите клавишу или кнопку на джойстике и отпустите её. Если управление должно иметь модификатор,выберите один из вариантов для каждой клавиши. Чтобы удалить нажмите Restart управление. Управление должно быть уникально; повторы игнор. В конце выберите Сохранить для подтверждения. [txt_Save] Сохранить [txt_Game_Speed] Скорость игры [txt_Fast] Быстро [txt_Normal] Нормально [txt_Slow] Медленно [txt_Key_Repeat] Повтор клавиши: [txt_Delay] Задержка [txt_Interval] Интервал [txt_Default_Joystick] Стандартный джойстик [txt_No_joystick_found] [Джойстики не найдены] [txt_Joystick_Axes_Dead_Zone] Мёртвая зона осей джойстика [txt_Language] Язык [txt_Translation_by] Перевёл: [txt_Save_Frequency] Save Frequency [txt_On_Exit] При выходе [txt_On_Change] При изменении [txt_Move_Up] Двиг. Вверх [txt_Move_Up_Right] Двиг. Вверх-Вправо [txt_Move_Right] Двиг. Вправо [txt_Move_Down_Right] Двиг. Вниз-Вправо [txt_Move_Down] Двиг. Вниз [txt_Move_Down_Left] Двиг. Вниз-Влево [txt_Move_Left] Двиг. Влево [txt_Move_Up_Left] Двиг. Вверх-Влево [txt_Shoot_Up] Стрелять Вверх [txt_Shoot_Down] Стрелять Вниз [txt_Shoot_Left] Стрелять Влево [txt_Shoot_Right] Стрелять Вправо [txt_Restart] Заново [txt_Confirm] Подтвердить [txt_Help] Помощь [txt_Options] Опции [txt_Previous_Level] Пред. Уровень [txt_Next_Level] След. Уровень [txt_Previous_Pack] Пред. Набор [txt_Next_Pack] След. Набор [txt_Toggle_Fullscreen] Вкл. Во Весь Экран [txt_Home] Home [txt_End] End [txt_Page_Up] Page Up [txt_Page_Down] Page Down [txt_Volume_Up] Volume Up [txt_Volume_Down] Volume Down [txt_Modifier] Modifier [txt_Toggle_Designer] Вкл. Дизайнер [txt_Scroll_Up] Scroll Up [txt_Scroll_Down] Scroll Down [txt_Primary_Click] Основной Щелчок [txt_Restore_Default_Controls] Восстановить Стандартное Управление [txt_System_Pointer] Системный Указатель [txt_Disabled] Выключен [txt_Enabled] Включен [txt_Pointer_Controls_Pad_Type] Pointer Controls Pad Type [txt_Viewport] Viewport [txt_Screen] Screen [txt_Sound] Sound [txt_Sfx_Volume] Sfx Volume [txt_Simulated_Pointer] Псевдоуказатель [txt_Key] Клав. [txt_Joy] Joy [txt_Ptr] Ptr [txt_Mod] Mod [txt_Skin] Тема [txt_By] By # --------------------------------------------------------------------- # The following text is used within the game. # --------------------------------------------------------------------- [txt_Level_Author] Автор уровня [txt_endscreen_congrats] Поздравляем. Вы закончили этот набор уровней. Нажмите Exit для выхода. # --------------------------------------------------------------------- # The following text is used within message boxes. # --------------------------------------------------------------------- [txt_Volume] Громкость [txt_Changes_saved] Изменения сохранены [txt_Default_controls_restored] Стандартное управление восстановлено [txt_Press_something_and_release] Нажмите любую кнопку и отпустите... [txt_No_input_was_detected] No input was detected! # --------------------------------------------------------------------- # The following text is used within Options describing the keyboard keys. # --------------------------------------------------------------------- [txt_ptr_BtnLeft] BtnLeft [txt_ptr_BtnMiddle] BtnMiddle [txt_ptr_BtnRight] BtnRight [txt_ptr_WheelUp] WheelUp [txt_ptr_WheelDown] WheelDown [txt_key_Backspace] Backspace [txt_key_Tab] Tab [txt_key_Clear] Clear [txt_key_Return] Return [txt_key_Pause] Pause [txt_key_Escape] Escape [txt_key_Space] Space [txt_key_Delete] Delete [txt_key_KP] KP [txt_key_Up] Up [txt_key_Down] Down [txt_key_Right] Right [txt_key_Left] Left [txt_key_Insert] Insert [txt_key_Home] Home [txt_key_End] End [txt_key_PgUp] PgUp [txt_key_PgDn] PgDn [txt_key_NumLk] NumLk [txt_key_CapsLk] CapsLk [txt_key_ScrlLk] ScrlLk [txt_key_RShift] RShift [txt_key_LShift] LShift [txt_key_RCtrl] RCtrl [txt_key_LCtrl] LCtrl [txt_key_RAlt] RAlt [txt_key_LAlt] LAlt [txt_key_RMeta] RMeta [txt_key_LMeta] LMeta [txt_key_LSuper] Лв.Super [txt_key_RSuper] Пр.Super [txt_key_AltGr] AltGr [txt_key_AltGr_PLATFORM_FREMANTLE] Fn [txt_key_Compose] Compose [txt_key_Help] Help [txt_key_PrScr] PrScr [txt_key_SysRq] SysRq [txt_key_Break] Break [txt_key_Menu] Menu [txt_key_Power] Power [txt_key_Euro] Euro [txt_key_Undo] Undo # --------------------------------------------------------------------- # The following text is used within the level designer (konstruktor). # --------------------------------------------------------------------- [txt_konstruktor_Ground] Земля [txt_konstruktor_Stop] Stop [txt_konstruktor_Radioactive_Field] Radioactive Field [txt_konstruktor_Push_Box] Скользкий ящик [txt_konstruktor_Capsule] Капсула [txt_konstruktor_Bomb] Бомба [txt_konstruktor_Bomb2] Бомба2 [txt_konstruktor_Door] Двери [txt_konstruktor_Box] Ящик [txt_konstruktor_Empty_Field] Empty Field [txt_konstruktor_Butterfly] Бабочка [txt_konstruktor_Gun_Fire] Gun Fire [txt_konstruktor_Force_Field] Силовое поле [txt_konstruktor_Screw] Шуруп [txt_konstruktor_Wall] Стена [txt_konstruktor_Black_Wall] Чёрный cтена [txt_konstruktor_Teleport] Телепорт [txt_konstruktor_Gun] Пушка [txt_konstruktor_Magnet] Магнит [txt_konstruktor_Bear] Медведь [txt_konstruktor_Black_Bear] Чёрный медведь [txt_konstruktor_Bird] Птица [txt_konstruktor_Key] Ключ [txt_konstruktor_Bullets] Патроны [txt_konstruktor_on_map] on map [txt_konstruktor_Laser_Gun] Лазер пушка [txt_konstruktor_Blaster_Gun] Бластер пушка [txt_konstruktor_Regular_Gun] Регулярн пушка [txt_konstruktor_Fixed] Fixed [txt_konstruktor_Moveable] Moveable [txt_konstruktor_Rotating] Rotating [txt_konstruktor_Moveable_Rotating] Moveable Rotating [txt_konstruktor_Direction_right] Direction right [txt_konstruktor_Direction_down] Direction down [txt_konstruktor_Direction_left] Direction left [txt_konstruktor_Direction_up] Direction up [txt_konstruktor_Welcome_to_GNU_Robbo_Designer] Welcome to GNU Robbo Designer [txt_konstruktor_Exit_designer_select_again_to_exit] Exit designer - select again to exit [txt_konstruktor_Reload_level_select_again_to_reload] Reload level - select again to reload [txt_konstruktor_Level_reloaded] Level reloaded [txt_konstruktor_New_level_select_again_to_create] New level - select again to create [txt_konstruktor_Level_created] Level created [txt_konstruktor_Save_select_again_to_save_new_level] Save - select again to save new level [txt_konstruktor_New_level_appended_to_pack] New level appended to pack [txt_konstruktor_Clear_level_select_again_to_clear] Clear level - select again to clear [txt_konstruktor_Level_cleared] Level cleared [txt_konstruktor_Save_select_again_to_save_changes] Save - select again to save changes [txt_konstruktor_Changes_saved] Changes saved [txt_konstruktor_Level_resized_to] Level resized to gnurobbo-0.66+dfsg/data/locales/id_ID/0002755000175000017500000000000011467303356016554 5ustar stevestevegnurobbo-0.66+dfsg/data/locales/id_ID/localerc0000644000175000017500000000010511315114102020232 0ustar stevesteve [name] Indonesia [author] Auriza Akbar gnurobbo-0.66+dfsg/data/locales/id_ID/text0000644000175000017500000002313211437444027017460 0ustar stevesteve# --------------------------------------------------------------------- # The following text is used within the Intro screen. # --------------------------------------------------------------------- [txt_intro_story] Robbo tersesat di planet asing! Bantulah dia keluar dengan mengumpulkan sekrup untuk memperbaiki kapsulnya sambil menghindari hewan mematikan, tembakan, bom, laser, dan hal berbahaya lainnya. [txt_intro_keys_PLATFORM_PC] Kontrol default: Enter Panah Panah+RShift R Esc Selainnya lihat Opsi [txt_intro_keys_PLATFORM_GP2X] Kontrol default: B Joystick Joystick+A Select X Selainnya lihat Opsi [txt_intro_keys_PLATFORM_ZAURUS] Kontrol default: Spasi Panah Panah+Spasi Home Cancel Selainnya lihat Opsi [txt_intro_keys_PLATFORM_FREMANTLE] Kontrol default: Enter Panah Panah+LShift R Backspace Selainnya lihat Opsi [txt_intro_keys_PLATFORM_PSP] Kontrol default: X D-Pad D-Pad+X Start Select Selainnya lihat Opsi [txt_intro_keys_description] OK Gerak Tembak Ulang Keluar [txt_intro_menu] Mulai Level Paket Bantuan Opsi Desainer Keluar [txt_of] dari [txt_intro_credits] ATARI Game: 1989 Janusz Pelc, LK AVALON Linux Game: 2002-2010 The GNU Robbo Team http://gnurobbo.sourceforge.net/ # --------------------------------------------------------------------- # The following text is used within the Help screens. # --------------------------------------------------------------------- [txt_help_page0] Setelah semua sekrup terkumpul (layar berkedip), segera menuju ke kapsul untuk berangkat. Bersentuhan dengan hewan liar atau berkeliaran dalam jalur magnet, tembakan atau medan energi berakibat sangat buruk bagi kesehatan Robbo. Banyak objek yang dapat digunakan dengan cara yang tidak terduga. Coba dorong tembakan-gerak, menembak tembakan laser, menghalangi magnet dan pintu keluar teleport. [txt_help_page1] Tembok - keras dan tak bisa dihancurkan Kotak - bisa didorong Kotak Luncur - meluncur dan bisa menghancurkan Tanah - bisa dihancurkan Kunci - membuka pintu Bom - bisa didorong dan bisa meledak! ? - berisi objek acak jika dihancurkan [txt_help_page2] Peluru - amunisi untuk tembakan Robbo Magnet - sangat tertarik pada Robbo Sekrup - kumpulkan untuk memperbaiki kapsul Kapsul - alat Robbo untuk melarikan diri Teleport - memindahkan Robbo antar lokasi Medan Energi - harus dihancurkan! Kupu-kupu - sangat berbahaya, memburu Robbo [txt_help_page3] Beruang - beruang kecil, lucu ... Beruang Hitam - ... dan kakaknya Burung - sangat agresif dan kadang menembak Kanon Laser Blaster - sangat mematikan Robbo - dan tidak lupa, pahlawan kita [txt_Back] Balik [txt_Next] Lanjut [txt_Exit] Keluar # --------------------------------------------------------------------- # The following text is used within the Options Screens. # --------------------------------------------------------------------- [txt_options_page1] Bantuan Rekonfigurasi Kontrol: Tekan kontrol OK untuk menetapkan kontrol, lalu tekan tombol papan ketik / joystick dan lepaskan. Jika kontrol memiliki modifier maka pilih antara keduanya untuk tiap kontrol. Untuk menghapus kontrol tekan kontrol Start Ulang. Kontrol harus unik; duplikasi akan diabaikan. Terakhir, pilih Simpan untuk menyimpan semua perubahan opsi. [txt_Save] Simpan [txt_Game_Speed] Kecepatan [txt_Fast] Cepat [txt_Normal] Normal [txt_Slow] Lambat [txt_Key_Repeat] Pengulangan Tombol: [txt_Delay] Waktu Tunda [txt_Interval] Interval [txt_Default_Joystick] Joystick Default [txt_No_joystick_found] [Joystick tidak ditemukan] [txt_Joystick_Axes_Dead_Zone] Daerah Mati Sumbu Joystick [txt_Language] Bahasa [txt_Translation_by] Terjemahan oleh [txt_Save_Frequency] Frekuensi Simpan [txt_On_Exit] Tiap Keluar [txt_On_Change] Tiap Berubah [txt_Move_Up] Gerak Atas [txt_Move_Up_Right] Gerak Atas-Kanan [txt_Move_Right] Gerak Kanan [txt_Move_Down_Right] Gerak Bawah-Kanan [txt_Move_Down] Gerak Bawah [txt_Move_Down_Left] Gerak Bawah-Kiri [txt_Move_Left] Gerak Kiri [txt_Move_Up_Left] Gerak Atas-Kiri [txt_Shoot_Up] Tembak Atas [txt_Shoot_Down] Tembak Bawah [txt_Shoot_Left] Tembak Kiri [txt_Shoot_Right] Tembak Kanan [txt_Restart] Start Ulang [txt_Confirm] OK [txt_Help] Bantuan [txt_Options] Opsi [txt_Previous_Level] Level Sebelumnya [txt_Next_Level] Level Selanjutnya [txt_Previous_Pack] Paket Sebelumnya [txt_Next_Pack] Paket Selanjutnya [txt_Toggle_Fullscreen] Layar Penuh [txt_Home] Awal [txt_End] Akhir [txt_Page_Up] Halaman Sebelumnya [txt_Page_Down] Halaman Selanjutnya [txt_Volume_Up] Volume Tambah [txt_Volume_Down] Volume Kurang [txt_Modifier] Modifier [txt_Toggle_Designer] Desainer [txt_Scroll_Up] Gulung Atas [txt_Scroll_Down] Gulung Bawah [txt_Primary_Click] Klik Utama [txt_Restore_Default_Controls] Kembalikan Kontrol Default [txt_System_Pointer] Pointer Sistem [txt_Disabled] Mati [txt_Enabled] Aktif [txt_Pointer_Controls_Pad_Type] Jenis Pad Kontrol Pointer [txt_Viewport] Area Tilik [txt_Screen] Layar [txt_Sound] Suara [txt_Sfx_Volume] Volume Suara [txt_Simulated_Pointer] Pointer Disimulasikan [txt_Key] Key [txt_Joy] Joy [txt_Ptr] Ptr [txt_Mod] Mod [txt_Skin] Tema [txt_By] oleh # --------------------------------------------------------------------- # The following text is used within the game. # --------------------------------------------------------------------- [txt_Level_Author] Penulis Level [txt_endscreen_congrats] Selamat! Anda telah menyelesaikan paket level ini. Tekan tombol Keluar untuk melanjutkan. # --------------------------------------------------------------------- # The following text is used within message boxes. # --------------------------------------------------------------------- [txt_Volume] Volume [txt_Changes_saved] Perubahan sudah disimpan [txt_Default_controls_restored] Kontrol default sudah dikembalikan [txt_Press_something_and_release] Tekan sesuatu dan lepaskan... [txt_No_input_was_detected] Tak ada input terdeteksi! # --------------------------------------------------------------------- # The following text is used within Options describing the keyboard keys. # --------------------------------------------------------------------- [txt_ptr_BtnLeft] KlikKiri [txt_ptr_BtnMiddle] KlikTengah [txt_ptr_BtnRight] KlikKanan [txt_ptr_WheelUp] PutarAtas [txt_ptr_WheelDown] PutarBawah [txt_key_Backspace] Backspace [txt_key_Tab] Tab [txt_key_Clear] Clear [txt_key_Return] Enter [txt_key_Pause] Pause [txt_key_Escape] Esc [txt_key_Space] Spasi [txt_key_Delete] Del [txt_key_KP] KP [txt_key_Up] Atas [txt_key_Down] Bawah [txt_key_Right] Kanan [txt_key_Left] Kiri [txt_key_Insert] Insert [txt_key_Home] Home [txt_key_End] End [txt_key_PgUp] PgUp [txt_key_PgDn] PgDn [txt_key_NumLk] NumLock [txt_key_CapsLk] CapsLock [txt_key_ScrlLk] ScrlLock [txt_key_RShift] ShiftKanan [txt_key_LShift] ShiftKiri [txt_key_RCtrl] CtrlKanan [txt_key_LCtrl] CtrlKiri [txt_key_RAlt] AltKanan [txt_key_LAlt] AltKiri [txt_key_RMeta] MetaKanan [txt_key_LMeta] MetaKiri [txt_key_LSuper] SuperKiri [txt_key_RSuper] SuperKanan [txt_key_AltGr] AltGr [txt_key_AltGr_PLATFORM_FREMANTLE] Fn [txt_key_Compose] Compose [txt_key_Help] Help [txt_key_PrScr] PrintScr [txt_key_SysRq] SysRq [txt_key_Break] Break [txt_key_Menu] Menu [txt_key_Power] Power [txt_key_Euro] Euro [txt_key_Undo] Undo # --------------------------------------------------------------------- # The following text is used within the level designer (konstruktor). # --------------------------------------------------------------------- [txt_konstruktor_Ground] Tanah [txt_konstruktor_Stop] Stop [txt_konstruktor_Radioactive_Field] Medan Radioaktif [txt_konstruktor_Push_Box] Kotak Luncur [txt_konstruktor_Capsule] Kapsul [txt_konstruktor_Bomb] Bom [txt_konstruktor_Bomb2] Bom2 [txt_konstruktor_Door] Pintu [txt_konstruktor_Box] Kotak [txt_konstruktor_Empty_Field] Empty Field [txt_konstruktor_Butterfly] Kupa-kupa [txt_konstruktor_Gun_Fire] Tembakan [txt_konstruktor_Force_Field] Medan Energi [txt_konstruktor_Screw] Sekrup [txt_konstruktor_Wall] Tembok [txt_konstruktor_Black_Wall] Tembok Hitam [txt_konstruktor_Teleport] Teleport [txt_konstruktor_Gun] Kanon [txt_konstruktor_Magnet] Magnet [txt_konstruktor_Bear] Beruang [txt_konstruktor_Black_Bear] Beruang Hitam [txt_konstruktor_Bird] Burung [txt_konstruktor_Key] Kunci [txt_konstruktor_Bullets] Peluru [txt_konstruktor_on_map] on map [txt_konstruktor_Laser_Gun] Laser Kanon [txt_konstruktor_Blaster_Gun] Blaster Kanon [txt_konstruktor_Regular_Gun] Reguler Kanon [txt_konstruktor_Fixed] Fixed [txt_konstruktor_Moveable] Moveable [txt_konstruktor_Rotating] Rotating [txt_konstruktor_Moveable_Rotating] Moveable Rotating [txt_konstruktor_Direction_right] Direction right [txt_konstruktor_Direction_down] Direction down [txt_konstruktor_Direction_left] Direction left [txt_konstruktor_Direction_up] Direction up [txt_konstruktor_Welcome_to_GNU_Robbo_Designer] Welcome to GNU Robbo Designer [txt_konstruktor_Exit_designer_select_again_to_exit] Exit designer - select again to exit [txt_konstruktor_Reload_level_select_again_to_reload] Reload level - select again to reload [txt_konstruktor_Level_reloaded] Level reloaded [txt_konstruktor_New_level_select_again_to_create] New level - select again to create [txt_konstruktor_Level_created] Level created [txt_konstruktor_Save_select_again_to_save_new_level] Save - select again to save new level [txt_konstruktor_New_level_appended_to_pack] New level appended to pack [txt_konstruktor_Clear_level_select_again_to_clear] Clear level - select again to clear [txt_konstruktor_Level_cleared] Level cleared [txt_konstruktor_Save_select_again_to_save_changes] Save - select again to save changes [txt_konstruktor_Changes_saved] Changes saved [txt_konstruktor_Level_resized_to] Level resized to gnurobbo-0.66+dfsg/data/skins/0002755000175000017500000000000011467303356015311 5ustar stevestevegnurobbo-0.66+dfsg/data/skins/oily/0002755000175000017500000000000011474701627016266 5ustar stevestevegnurobbo-0.66+dfsg/data/skins/oily/k_icons32.png0000644000175000017500000023153111337502226020561 0ustar stevestevePNG  IHDRsRGBbKGDC pHYsLLetIME / IDATxyleW/p{\5%5T I5 !IuàK>>zQ!4$ 2UZ2AHvel\vyx泇:v\%]˾u{ִBABԤ&5IDԤ&5IIt'==mu#"`J)W%r^kk[*%u]("  pd>r|ѤwGӤ&5iٗ_IX?G ]dxxX9|944d#۶ 6!Dc\,+쬯Y^fe˖ RIaW^y%o>g| (Jg|fgI+hfw5UP*L@{^400ۧ߿Uj4hY嚦]RA{۶_ PUV9;vpwR$O<9u3q.k-yy+Yh z-ThmTlg/Mɢ 8o%żn/GFa6gc!cwLOOjJ sR0 =\e]]]7p~ cccE?zr~ߡbZ[[yOOغu+<hrr2 Ð !_L>Oa\0@EskEQ EOO<gI+hNR/Nll a QИ#?%_P/sU8J'SA*x`eBhkk__"}0@^Ggɾ"!òl===wq* f#tr?yy^EE~Pɉ'DooLԺŋ!t:E QEooH}&J}1>FRG):Hr(37CMļxyIY碼/Q8~j")k3Ld*P{*Y`)w&EQ1Rۋ@)md2|~[gggߎ6n\:~ߺ\8cf9Ʋb\/DNxF]NpjͲ:a hB 2q;)k!%1BT8AlV,C (Ք.RzI) 8ƍ ^j|?m+<χhf9yJibaOA0r<#DQBRZRFr1V:BX2](C% !4͹\k*V60Mt]q`ڵtffz~IX fsz{{=ܳ ZMDb(I(m,ܛY;teY7qiR- ZZ-<eX=K)RWeݔdiVcƘ8Iq^<0 < |"&xo.&{+0[ڹ@ 9JZ˲4aUՃ F.»;SJ[(=emd2ݚc);sa}9"$DQb9LIVHE)g2|>oV0MTUR7|3 jA洊<.*Rפdb5o1B1Ƽ(xI@pyVL&뮻nmf޽mذB7nD`8"8_*YWCUիܽ{wu}v0 &''ᗿew5Yy9`~\ ] 먂VSaQc< 1%"iym *Bdv]wu;n6-%l,A-A RR(JNU |ݻw뮻 9'-!?슦ie2bP0h||Q&b߀ϝqgϞK}6SO=ǎMJKN8 CH8l6yժUT*aP*NNNnn4G=fMp|&áhbb۷Oj dA蘦<|P(d20B:BsA0y j c̍4:@)meػwov (BZDH&B4?r7я~j6UV??w~_s>y^9;GM(*YڎU 0=*#NKP$D Jiֲ{I©< H v%4xkE֯_s^-Fha8E+xz}E}+GIBIP?# 4OQalf1&0v]Xp] c8 NhV$a'.pO8!_z%ꫯ½;"RJNU,%̅g!]Lf׾5U4ؿ?{ѣbӦM7tڳgO# '`vZ=(`PmJ].(xbIéjt6BQ[kRܹ+czoL‚ Z WZMoC# ]r l4qX.'lm{r߿X__kw{z'>nO~kZX TSIe#r.LE)U4M4ꫯFm/ R ֮] cT*p(˰}v`IӴ6J <.OMMi'O̔eR5M39BL)1VccGBB(~߄Rvtt|#8}ttezzzs^__V߬j\Uc6m lz8c. ,L͝ӈiV peP!_4I XJ@(Ȥgfc‰"r!)ALwE9JQ0Xl cz85UU7 ,"XD.&B9.;h7e<ȁ%SQo y7w1mPPJAQRc3Hx<E###r||R Pq]V*RdEQ;;;SJ/c:1PJRR)!RDQy߿r-P(K.O8q811c555FQa&Ь<jpOp)tF, . o{:zao|V(".$gMMD9sUc:dh3&%FͨիζvdxI95گ:94k-5gi]UmE5@"xs˜9cJiX嗙$p)AߟME;za@.!,x^%0 ' 3~Kwl߾G){u!XG8B(R0 8011!( ٬))%!q E!a!p^h.o,듦in4PJ#UU54(3$Rd2P*hƍA4耎Qݻf!Du]qΛVX R`©:9+4.\Z*Eq۶?X}^~&9xW@UU_(/TX$GN9}Ͼ8oMOM1gE¦ Vwe.qwת+ޟv}qT9:`O9n?ݵj2f\fS3YI-,}9L85۶'~\;(BKҪdC\Ammm*!D-~{oa!$R{ h4z0Ji3D1֡Z;Rl%pO"rIKBxDBG"cK_9\%qW\}7_yҦM(K/4lxxcuWZaА+A&!G}\˲8OpB@NѨ?frsJ"O!c I0 %ˁeY P*4E&݀(s|(s !_ !y)(4Ѭ8Iʷ`0+,[D -`=;(|կUU504M/c,C[2MʑN@)$B _L1!Xy]|Rc7 R&t8})1x7"<˥1Fi/(%s,!i|`ۗ5]]]XJ ###?qqϞ=n$۷o(̖˾穫KPJ"Q5<;9؂ju2)SZ2"϶cR)8!XNI`e|o7<ϋq9hvF!y1!yuj ${pMYA@x0UU݌1ޥfEQ>RJE x'ȒrbD -@ض]gK77?Q;)Ԓj!LHʗ%grjzU^ _xӓQ39O.3^u "6:;OP0TUUUSQ Q]>K_"$!m˲ں}^. l0F# FGGeErhΝrh||w}{(:AqQ׬z 1ƋRFU=Ԁś. 6i\. !ٶpB)RJMB+ΨBEiijRIufYexappMLLggff^<g (\Ck'L΂ݰa} 70DQ 7@nc=#xs_@&e9+Y N,lQ3w};Q`L\}a3Rr[K 6\yޱZ`EQnF.c `q{Q/^{-پ}{FUUta_yGQt 6VDC+R^B0b [17.)*9k/:4YX bVZBY).0!j\ڬJ)3!KӴl6{yP(B ;vzJ^xeSSSz~Zjo;:GӬ:[a@#I J}z7pw?nذ 7|~>z(1ƦTH^}/b݋C2:\K_L0 IMBg1ɻᄏ<] ώף(d5Th)Tp_ki@A912%ytp!#XR9fˡx)/LE4sNQ^1M3p]EQ=Pe!nҌnIM:ض sAr·Tϥ#Ùc1ny+pM%b7R]3c@.}^䜗a['gy{4M+\۶\=`Åxg"O}|j/]/bC?p0BcLDQ$} HJ)C/;飪hii֬Y_r%(M !RJ9쩧2:q߶c;wt_פ8) `8o`;a-b\A(qa(& *BHNu$<{1ٞIb`,W\HY@ϛugc$̖ׄl/x$Ql \׋]!*pkLVwW4 !B!.VR J1GᧀFy PE.llٲjGTF܎c($<EQh?륔fc uơ8D2V`~%80?+᭡_nѤ 4Mpjz`Mhz7kgarr2Jh40R0~MF  C: y&]$ϏC\. 4(hQQQ.- /O(c Zy,|+[hRhVLE: :Ho(j&8tNt*z1vu@HKzK&B0۹=scub|4ݪeA &5IMZ!t*t&a9]|$a  F @P48\ѐc aNV#%M11Um]KV,pNՅt:>v$bHS.J>Fk>]Kg|-y}c("!v]O<ϣ1ÔRϒas4BQA)g !ydbbOMMewsc)L|4黓f YЭʥMߜӕU.rU)hHN2_BRdmKwkaͥ능TM#;pB}G"f+IT;t0ۉ:1n(\.+SSSZRyaQ. bD EQa" Z*###Çsty(p>_,|4]4i1B0(- LW ͝[ִZBk!Q:2ജY:! dli`MECYȭ߶Wk֭Uq#UMRatѬ8'CclRJQ=]|] vlvwfg1UZʊ]ȑ#А~d6"SB13M+իW;k֬ltttpuT* 0 А+\HhfffP}vr3Yh \H:[rZem;[B)浆+CGA5l_iw[ֶj[;2+ 0|V5`TlWB_\@ӴM>L)0;ߑK~>vmjEȑ#&s<9X!^<00ۧ9rDFZPEUU[QMKJiA0!0 #K[lwD'xB}sg ౱1{3s0 %zzzl}Ѥ4IrA V+'.g2(Iku^U@#݀yJѸ߈κ%Jetj/[LJZT FOsSP,3Z|K.\4rE;o!-j>~uݗBy^s㪗t{zzXɷ~CKC%iV{𫯾J2}_FQDM-\Sin7MSq]7✿iZw]>x|xKKKsN |?hrr2 Ð !3<#pVQ0 1aR)wC)ea&SEy#.Ѥ4Ky'7RLK ['iK\xKpDǙ CQ @ک"U/h>Ɛ5-Եt,}}4 PQy f NԊ 54ը7#W/l;V"r >ˢRKQΛ7UUu˲6mꪫrK?[VO_'co_fapGض߶m5ٓJ?dy]g2mwq^+/{EQTHu]+'σEeGoo/7YIMtD>aoo/Z)J~vMx' &=&iw1#{&Ò)8+ޛ eKԌ!@r&X CIbDlPT fA6 KӨH -BU,l&llEȚVeTJ 0 \U& :gM©PiM[k XjX~IRBjpc&B[[B`ڵ>LLL_^!"<;Nxf1+)%7u]o?@nUx{OE<&<+l4 ec 4MÄ < s=au&{s0d@~0uqФ4RE@v@c !")e5lOL&[^./.B.wRJ[0 cCql8S^ꢔ!4)eR1ƆԤ3dJ@JpXDraADF "WT<*$H Lb K.$AHkG*^0ֈpC3n芢B%JiL1Bp)Lh&[Xy8O)0DJa8y4)-4RJkH)r+)-ׯ6> k5ǎ BtyWᜇa.`Kgyu,3o&4c~&&&RI)qw- \2j411AۧTչs (JR麮QJsq=a6b KL 3xMzM"X]QEQd2MBϣ{wq-ꞷUURSqi(AԪ3m?xaTU4͛,˺4Us;b+& Ã逐J40u?*36noS_I $ MoӞR@«GDv q !`iGt (Kzrpt:=Qv3B(S'ɼ4n]-B{78a!@<:D   yJ]׷4͜($Zm ji,hfB9u݊mp4'8ݚ) c#ͮBd2RBfXz50`lllݱcǾ<44z>`/ !;y^"@G 8@ggԔJ<">V9A4iZ0 +tj֎1K)YEe{<==epP 7{h !#rٳӟsN(Jy;v'XST4Bw%4BݙL]wݞnڽ{7ڰa 7nH\}ѲOtww[nAb* ׿{֎fmۖam1\j=:ٙ)v3d5E ;|s|1UHFgШe/"b3JN9m78q?rğ׼e{0:"!TrWٳgǧ?iu\O!$J"b\M o& =+cclI J%C&! XO@ןK1.ÇAsn@RڢiZIӴ\.ڲ͆al4R0mp1mqtIMMrjVGPJKa\H,عs'|W ¥ 8urJm.˲vݻ7Ma1P$(]m\s;D===mg>Eѐb1BI' EÈ|&)#`M֩5xurvEs3GTgjê|b[QK^\mH N4ɲ;e`CBs 2 ?zBuo ` fm 4l-Zw^}<d!DӴ---~fO#g>mQ(eFM6A6r F#9R(Jl6 R4s͛a MG۶#_B~;n113W4/}^2,9ԧ>ВDh4I)7>[Nyf+ pr1 ,@0%Bq+A2/|C @Excxb ݄Պ C )'xujB¸`bFc䞧cFy#s]Ji@Y r1$ bUTUݜ/G`!]4=%(3FcBJOwy@ _f턐=7n˲`ff<ϛKB,Ckk+`azz,j5}qEQ1I@ڵk\U94(W$dlpkibg?Y pq9s 4"ްu PJ !n\$!RE0<;߿PEE鋂)N;UWmhD0(?dӡuŽ&)x llz:6ݠZȈ_.Ոr7I6x 3qn#1VLӴb,J眧^贝<4SJ[bBH\XeTX.! F,:::<4uLӄ(BcBRiP.A^v`AKK B`rrrض 1, 6o ###<)yVN333x``;뺞u:!ĥBaݪccs(vEQ[jUǧ>)ahkk4c _k׮Rj;u]xG3zk(4ԬYZK eYW|s\8p>ms~2V"6S-Tx^k0dXYRO:#TU1:[HOtA[be 玔BuY @cDh-w%#kx?`}EanūxNqn}\xL= ˲u--->)p۶'9e_!/~IeX}kcP.>Bq@.-YE @Qm{PZ[[4M0 BjmCrS4u<ϛ UUeYy]attap`;Snll ǃ-U0Eɚy BB@ems~)!smp7Xp믿yd@UURsg=B@)N( @)0Jix4IyEQ6qSkkM_#{W>Î"'/S@(;+!i"q dpBȳYi ַuPX](ZމH&ax;8m@J5]Q+^j(tV.k HEr:'rU΢N( hυ(JaZ[[} _/Kq~!x'^3Ecg2@.zZa0MC6mL&a8PTr/B|MRT* bZ Z[[ `Z}^RBlae[[;v cݼ0LJ㜮2[ozCEQ+m iyM7O=1~u#pԘY!8!& k֬Z 4M)%` 5* ?i.6B* C[[xEM-Wk&@X*UUbͥR֯|+_WB\.yBV' Y0{˄6r4 # 1VT 6lؠ9r;WӴ6lP20")ghBe> IDATUM-LlaMkV]URue%Sþ#$99#дipeWy6aOgtг$=90llM>]\rB(Pֽ$*p!Nk)8nI-ZΰtcMvvVZݽ^{zXJp(]uնRqbWqG@Q@!<`FE)B;<5徔K/rIAuJ^nZA0-|+zdciRt0s.2BO<EQlFPJUFP(0 XJa`YTURi1 1J%PJA^]q<mQ-j bjZJéS@R?\s(!$`B,MӺŢQ*Pww7eRHcZ zTR E3$iĀ͵iƄi SSS>h}݇<σ^{ N< ϟWiBFu}S&"8z׵88\w-W(;-`wwRJ??7ͨ^q}B18u/@ L).5RMv !Bax){{Y{ӧ!c;dYݷk8庼g"1V ̯]tdL8q>gLuo+/ J;ʝ K#qhÏat>B5tJieYox-9 !csE 2}ݔmRiZ)H,/_p=@f_Ԛ1$ug:dj5kP*T*B* B`ff2xQAWW)eYKi2AG*ˠ:LOOi0>>? 'IKQJiJ)E|z{{qFJӜ|)GŢiڞ zpgf`kK 0 .˿Y,{tԭm^ah?;O?|G?яg3hqR$oiA*uRAaN$TʣRH-ڪS (cY,`I.F;}yDa<[Fe~zgTcP TX,^WiZwzNDZV 6SeS(n,.Łcvo^0\;q/?o|̾ XV1ZME>}u]۷ٛ, WU4 (z`E$) z{{ĉ`!ı[%ldRJI)|#7ޠJ,M4Mؾ};,^wui}ds (wlI< BEQ <_\\jbbs``y@믿fgg88quA&!bB!*y1%1_O[bZ!(!#}3A_>O'?t-qȑdU~ߦ!dG\?8J ~y{K_ҊK/? rI+{*^vH$hxCr# t)ڌGV aP\` OBQЍ1"IFUi&ĆY4 !\.W^c_Roߑ#GF`&c}AɻU./:CCCraaa?A/fZ `TJYVdy?<0Y,>}gΜ|۷þ}`Ϟ=K,eٶ Ba)͹\ׅZ˲`~~~oF6{< 0[* s΢( p^'>>я8\'|RqE<MoEVT¾>[4'1GQ4imW wr <ض{챜h/L2Jc^rfSm;hTMF(!f\;jQJ1ؙs{/t{ィ:<k_Q9M^U_TϏBD3E+P}DruunZDFUOz1_4)k] b1*T W [N*%ڍ &E"cs >/| U]\\<E|VIʼ>aac8q#N/|;v,NX]ס89_*L& C)R,q_Beɑ!ĜaVۄ\.kP4馛`aajTUyވI| kS4-폦i'ڵk[.ٹs0 0 ]0ڶǶ}gϞ$\gnR^rak6gTԔRP\ٹ땨Vvrec+:D`vzegkD#_h ǁXQY`Bz~|xxXK(`"0(f⭦7+Bmdžiy1nh4Np0D/~7{<'8e.*1@E~5=~='OxPt hƏB hB4MBѣGqSm˹b_M j<>Oa`YV0 s=뺧(Oh^҄t?V%u]vuu?1|ι9oDQysܫaB93q'Ԓb,{s,3׍l͕4(Fc`%gfmĬr>)8gy2s9㌱DZclJ)C!|\ [[,Bb̌4SlpQ!`Ry̜ݼ@/@ X@lU#|u-Ӎ(>Jus&@p`E̒\JiK)9"z/{7)X`Փ} tV+b5)%B8E!Dʊp!U nC;v잓'OBp;`k.(K\9m0 zp(j838ΩjJ,Ez7EQji4MSܹ]?0LlysqsijR$~4N6lZ^tܖܢEѱD"ae˼0[Qh9 t:ʜig8q !Faeд_- \5>r5_s?jU>>oO|~ u /A4,_wC-\RZ$pގԴ ;߈3~̏KIP&^E)M+}lٛ!꾤҂9Y8@!ae+l͋qʀΫeyGĉ/ ܹs tL>@4 Q'L |߿lrRR4<, 㜙Ol]J'm' IܗnLJ4M~۶M`1f1 :lFP5!MNj[3Wd7e^@rk*48dH%k+`%KbuSm|24 qh4Ny7E|b܎{CnY}~b||\U&lًPNƙ66\@U .R2/dڸ'a_jփ0_hŐ4WbK> ͖ۧI8  (u)ҍ$89444Y~ \=bBE~B\e ,`Y:_ѣG?^, mc=~po988(:2Ds<88pJjvvvq]ם/@3~jl7JEաC,>sXو-{)KZU hR61V:Z76)a wq!V]F2* s-KeM+Υf,t vT!ʩZtV;9K,!ȜVktu\s5s2䜠U^Xkw:reۭ.vދ] X N..,[I侑$%BB \ޗtcAi #aTJe)nPő6SK{еqAEQ٤KluHb) !G\v/`F'-9iYUK-8XVȑ#\W_-?07714&"985!04M+3QMA$?d2>l@i3JXFp5і6м%΀J6x)Xl 蠖{+Ot/^(OMMǏR<4Vt69qy<$?>B$MXt+iuq)du 4DYqYRH*׮hEѣGK055!M3$n2KvZLeR)M&Rzu`Dw\][ҖIj[ҖҚK_ZVuױ:|~oOOY,r%cr!$&(0A0hE]]*Jr2TR !JW]םnvH`۶C^yd.-lqqfv^hfp,Ɲy<݅J#Q xvv;wN;qDnbb033\׵p{:tTP]vv  R8ĄK/> ssstulF[@q ~u F+~_$c0*t F B@i%0@k+@I &R` 1(`4c! %ƲJoRJM;wtZ}% RzA8>tŇxԔh40c2 P(`>LE/ZEiN\f_|lppPV*933~?XpuzG4N\޴!Q ll}088(Ϟ= M і+̢YK,Uj"ưUs덽 _]䘋ݛ.ѾǮ*,5ƘP" B 4 !^HIBc PZqBHC u^r/o|ߑ)F2uCzH^Q!E,k[>\.wo?a3tLOOwah,.."ܹsǽuvvn188(g477q̥|u$_//08J),\a @n IP pB4 #r,eرck-WФ $_)9^+5|+Cz |ekemMUHa+pB`Ҏ᫭#8JE- l}~ɱIJ$c×`t]DM͚VM+(PJ8$B%ǚ˜5~@^J ӟ?nF򗿜חYr)n+ޟ'|R:t(} htBz bصk~GwA%-Xad6O 2{vtX& bA;s&a32O߳10͗v4*c3yeNl/D˽%b:w:'MIMo XMM[hJp .QL}2%hR'V@̯g@Z@9:gsώ61vg 1,D뚈@!hBZ@zϒO|YsXAPH"k* ÇnF{{֮]:rCTiA)}}}}wRm}݇oys73{7:tk_KǗu_$sHMy2.(c) XYږ+ h4(hMJG)݉"V/B!ĴRj16 lp7Z9>Jiwι|$"Bq2'cGiw7i cA3먘|䠈2OB3h6^!`jVR)Pb$"cuT16Wc681B*21&J)?㹄n>}4ە-bQ2v>o&!%J!9~Ƞ?i:[ˢ  \R),$!;lYyW*FRYЫJ^frYrJջwr ݻնmA0Fu xtt+0^Ji c\&R:p΁sRRHSP ! !;y?R~@ޖw8Р2ۦi{,˺;˽4nM @BEQuݓaL) lҜRJo2M#eݐz5MӢ(j']=E)`U4M4ͻh!t51>M;@#YcRNrd z5 :d3G#`e,Y5M,\.4͂iZb(|u6ф>`+s^2MZ˲vri$^u](f@hV4mi׬1WQ_l~R[?@:[7@*4 d ꗴQWKJ\.P(/]z+aϟJ)p![̙3]\na3aօ6l~YraZb@,k.4 4=k!!aFiiJrnrs IDATg0ðEQ]QM.pl[A)Js7|31u8vXϷO=znAq7w|-K!=;?>444m`"|>_ 4a6>&ls*=Rfџ1RSo1&I2_0ncrOξ倸@&Rtw}߯/oەz^kADs9uPg>;y֥aZ|>:cJZ৔BJI$R!:uJԞy155%`eGK&8LxJat\..JFa.0PTܻrܙ0 '}_H.G>,ʮ*1!>yqI3 Ci7yoP*s0l;y9vyj`y#?'am[g[QJ-˺η~pw_y衇J9+KsB ,$t'B6ۓX dÏuY+#n`@=?qg u'`H\ޓz4O:l|6 a ^dYv]LMMA^۶T*AGG !,†a ra|ߧd>+1SJ'xBT*ׇ>򑏠O|H}Y0??&''A4wnfT(ѣGjGm{o8h4}_ɹڪhGQMض]w8)\'XsssZ=cP*caps۶~=p8>gSz"`xTE0YPlv% 5 (B PJ[%e(m>K>c9'}nnΨj$/cL/bt۶&Ϻ_lT98m[g,醈X>ղG͌6l<@TZWO>M|A77W7A.a !lCbQJ!{E0:: RJ3<055{{NJ6q.-rfZS! CRՌZVTJrj0h6L)%RS7x>яB\OӰO<:{,,,,(tuuAX}c /ΙA˲L6\Ys>8AxBr|u.r9zW~ %i[8K!|Ҷs! 0^שagXfϞ=B, (qKRkY6s9BD)ZE_i@utY裏M%E)r>Ji4iu4Wd-7CCC\.ѡ='nk`Blf6*-P`eFc lunF!!ȓıF]Bc\)Th%Ň-=yh4Ɔdc{|O$pV T@b-όx\p )J@jϬ4Kj/DJȤp@"Xρ&a0kccwH!DEUJBvBwwT*p8:s c-FQTBdfzV TRJ%!Nq-KZ4i4MBH)!m<3P* ˥ RJ9c@raaAJ%r??FǏ8)ϙeBr7bҍx``@WJ8Uzu_) 7uttQ,W~q5u(hY0/Uz!ԙgv(FkLHs5'L'3)|f̬0|k .I5 R,{}Q T*oK1nFOP\.X,HYԻ\/ ;::cFQ5MYv7 c$cI -A%%΁qԢBLeeC;?G|\(U*LNN 7B\ׅ^{ "BR^q Q)!db4ؘ):;;NhV(vvttR r9mjs$,,,0 Auw^ mK/"mjq۶j#fh*r,D)eB:n6|mRd.|_ ]}s>*PqQ.?422u? sppqr###;CCC p6_&8 T bh̤$b&y>3Mk|+4BHnCv۪:1d VѫBU###5]qr<ܚ2244tU՚=c|c TӀR  !1Yl(@!(!VjmcļHI@)4;L,~u]xRݻc Z N< j:X4Rj+$񞞞hǎ^.|߷cJ2su]x'JmۦuuuA\M*nӾ+J)Y6Z2z,NY(JLf+9g+ԧ5%:rȘGR)Ј={a|%k'h:F݄1NE0!m4 ڔRJiq'TC(`A099 333jffnVD)EmcZz$ˮ.k׮pΝαccLWJ:(.D-$]G)J/ne 4YH b^l Kh+̛·2V+ ~#Z+lRU"/5.RX3`lvRJdY)VH 0xR'S;1^Md{]2*2p NrΟ@]1,kx51&\='VJaB4.hi֕JE>#2:ߑ^HI;IZw(?Xg~z[k_V}?_zhŒfe& BibIorp9J\ z1 ܫGy,#ag-l|Û.2cZ8yhXWؖwv/mCCC}llAT9uXCJܘ`15c[,,,Pq'?~pƘ8qcC"}8c^FX hf:XO(o\G[LiK[VVy6 xR|ZP*J)IMjd-BQ|#ƁlJ9b_}O? sssYh 08J80BcEQ c-&J\(yi+A3:6#֒5і6д--GRJI)eX.[׿uӃ{zzPww7T* B \fff`||8cccZ ds')R^x<55ŏ?&&&J O\hcLg0 3,X)U1F1VJ ֱYleu 4miE !%JҖfia0 iNӗsBc ҿēIK1Cq0~ROrYΎ=Z)EB n CR4sͬ?RJ JPJ#$XG6cu}h˅޽ccі 4miK[Җ_,L:6nj㸇s_)u;cS^MR1; bMi0&0;cpr{Jd45Msqci$_NcZM\.5Mҥ%DAYܹsOfѺ Sfy<юѴi' iZi;RõZ,*y@Ӵ7l2q|Vfggɓ' srr2_Պ&@\.tvڵ+ܿ+RMLLh/R077G7$][*ih4\{%Qf5ߗ^ik'&&~R>_W|>Ozzz`۶mP( 674sp](P(q뗫E@MgQ|aɓsy5Mu}!(pccqGI˲;w:of688(o933~?Xp38tЛ3GGGLֺr˺:rMkd*ٚ"ٖd0 DmI!D4͝Bᚉtvv}+_* 4M/i B\]by〕ēKW^yVUb\./Wt]_ uUo::e˓ !6}0\K[.鐡ۛ44~f$M! abh0DƶFk8:󞇵[ڒe[e#>~u:{;^]ZڦiO=rE]w}p=|>ﺮ3 TUf,shjjb!w}'GC" &̿>f(TK*}}}Gi5C"^RD)Cf{|owppCwqG,5$!82,ҫ'W^٤(ʦd2y 7ܐH4MŶ۷%g%_|!ګho 9K&\,qYI*望X'׏D3n/|tT IZEi%8.43"ΊO|>tn˺gɮJiصssB@16o*-TUPe,B.KQ ׯOoFWW&5MIQLpz뺃AO07X, 3nGl$̐deuLJ-B+Pg?Є, (dt:-HyU*Г{K .!_Hgn t4#)EQtD"<ϮT*{<4*XnMJi< >d$Y cpḧ́boPQEQlcՒ$SYţPTj-!dl6c%qh&;|P(B%bMah둹gev7,!X4Izbضo+΍7i 3l㼸4Vm#;"=訧YsA,i$)kiivs0/M7nLS +ѪA%((ʊ,UU eLD(7(dĆT*ۿۉ{ʲ PUUEQŇzW e LȔ̎$I^rhPII$).BBE9J)2B$Fq(&F):s$NhBYB.I߼曻/'978)Qgim/׿AY-M`2)cCQDpݝ"IR$Ioyμ$DQL?9U=Ee1F;Hss3I$-4EyLEQLڜNL&CZZZx:lH$YI&!tZmq9 RT,Ȳ,)yز$)ѓeLِJ~c˖-|ӟ~a} MpsN֚#@ޗ?WPs^穊s bo,&PѳlHLBS[l?M̋9W("HfMgV|}h@9*YQ$Itvv4I2a T*!H LBQ@֌:+J%yxx8666&RJ%IjUUEU՞D"*L+B3cLpɲ\EqVϽU ysIwrbexVB,#^x!t]oO-\Niii!]v}aV۷o_K@;?4gЄ.nEQf2mG[7#Wykme< ^Lu[ۗeωΕt68/#U3euuݍ"7K} f Y0ˬYQL漏~`^x>ǜyh_|Q9 E4h'7u+nQavqڳ>kW_ M܌D"6oތt:Z۶]mG]fTMb xG& ld2e2\KKtCuy:tX,7ʫWJ] ^, Դy &so\|> si6Z/L"Dhd._ݜMΩ)V扒 ݼjbҼZ=#?Qw\b4YIlh%_꣨VU2KB:_|q?q fswz,1' e"@Ct]5M,͔RfqF455AQȲ.SSS((\aU+aȅB!z\Ud2yiSSӻ:::֮]+mݺ ZZb`` `ժUdݺuIPT4MxeYL&7_l>i+sP4d[4"$ImDⲶNȑ#;fF47*Y{<ϛ;XO~uDo*ybr3'd !G;:̆A $;/!祷Bخc#ח/FQO1:]g$ID"ֶ;yaIDIeYyWLيg hȌ+H=0R>Sb1T۶>|IJ%0 R\f'iʵZ-@LRoN$Wv^eV,1^\FKK 8lrL$tZ}_d000𻚦L8AЬ| m:N[omڴ JիW+]]] K5 b18NTU'rS$;z@=p ]".s"X3Q6CTҐSд?tw|e`TiC=&<\ќlgJ83 * $b15˩T ccc$2 jA[[ɤ@ ,J]$*Bs>slOOPՠ*$ d2ܹ===_لBuT*XuEi,|0CWX#+u>6tZ>qF)U$IRwwCx{<8UTR:6->ijv@ui'~W%2i}'tşK *BmiT9ly%GL:&+POqֱ,a}QsEYxLT\F=GvjՄ QJKjuƍx<w$y*AJi5F/LxL&A|E2\UUԄB@"v1mUT*رB,t: UUnL30̓&/˲+I҄8O7o߾'öm8x)Me& 9E)cLe2\p(b۶mعs'J$6l1J 9koI$^&p]wٶzo}[k׮n Q8166&fiEbLdxS,kPӴW(nw?;,@qA&#Ŷj `m`N9yPw 4k@An]zՏlNU]=mK`úmv~_{y0dc6̀)R$c:MQgi8A&o袋'>s饗&DQ䯽u}~M@slw*.ac偁/`ll J۷oG&ի QK/qJi J<3)SH&^kkJqbaeY[yr9i˖-E6lݻ166Ƌ"ɪUpUWAE\xᅘDV#Ml]ׇ\}"< hc%lAD`(1ƄjPVs4bA?CEW XQj]3TdsCFqoo(#SR^jω̦UqǕ=43g`|N}F#?]9tV{z{{7s~3"7fժU??Y}WdyVT 6\rI?A]e8,jMRb&Aoo/,˂iH$p'0uٶ=~tfbwvvdY,r-LVrys>?gttt`ƍ4T*8ᓴfԋ+/Ѿ\?;ʑTslRR.Zp8RibL5 Bk{r.!݂@~P{GTEva w]uݱ,@0/%q{dNU2g>ZF2,7v'a654~uݼat]ߴo߾=fә^8*}Y^6 P G֌c9˲ڜ5kMMMȈy~MCd뽊NLL\g0 }P&*J"Ϸ 4\g\4` Y hBfܶQVL̸2MsDŸ 2PJ9O!ܶ7%R1V}?,Oh9ِ4ryݒIltԃٳZ9Ga V &~\g}$&M~uxd71#3xO9 *d Z6B)5ٽ{7ɞ??lݳgOWUЂQO)1T^ʍIshZi(SZVKeY/٬_V}YChQq6c`E\x$llB@s,i@h(0k ӛ;Rsne* yB)}_}eO\&PφL~"<|>vMӔ.9Ш^w}~u>m_u}V흜ܰcǎ7pj0h5s\Y<g6l`thh( xnZ2f8KS9'4 4g\-3e1xx|cW*2f1Ic&:\!v+wy|#kݛؽ{Nwu8糎hoԜK}#뒉 _{(//ر# sR4_QJ08|p'cl0K.4Lvˍ5}Eǁ9ucoUsq44gDӛ pp=I qgAH AЄzKjnYꫯZ_oݺNPJ1< O˱|>oz'99ޓ0-MʾŎH}beYVrA")"˲y^&XDZc.`<̉hHhfB=\=/=g7}vv*?A3oh./]v>,, IDATܵkW!PlUz`AuED"QTiF*LUGS)7HIi;su(ƒRT9< gj I_Kn)mtõ&- o5dix?uR?]෋hQ7!ظs*oJ) ib\2>>ǧr9QTw<˜EK4Ues^2K84Gq_~|CQTEQ`;6\9sN7d048OѧPVb8S ahVwm:|@9_B09,JQm :u8EӺ>8~n]z}2=|?BDg\f!sk:8 kPW^su^_ o5øLhՄ`'"RX%) illL'&&r,~2nsF6 ;"[q[R6z6  f28T25 @`IBA)> ¬s䳮'@2]CCCpas T(G'{ Ǘ6 p,xSQs]،Ӛaxwy.t߇7[6d]gYЬFA6 Ёz!;8AԋR9QV;.'J*a Y}}}"ƟxXD?XEŢ866& ӡ!211!EE4϶>$H.B p~c,8dpO8Yo2rr<(稻($ _K9H0>cp#V hCV&HnLRf̈́!XԶrZ} L~/QôZϜLp eIIȣΠ-l<@4N/h|߇mۤ\.!i``kŢR<˲hb-MEUT*l6%'"l6;3tL\ h0yej{W100 e_uj&;9FGGSO=E>̋"u;|A?9 f!&ι"ǡary:'FP4 m`]ߩY m4*$eӐ3 4<5Rx۶8!-9܍+܄OYJ9Kv^h[>#[~ƕ^t2~+O&|x;L&w]DXZ_mk֬iصk*!, mwwԄ~s(<+lht)ERL}lKkz$/\j4M+d0#5\g 9Ewb9=ϛ!26mڄo|mI$o3pU-EK}euCG,6$D # 꿋 jCCG,_+lcf[-d|ιyym֑H$ ڊrYVgmpVd(Q0͛4p7CZ u]p24dhmp`]/|1f {p?zYEAB$ 9@_16ec=FoFoO}Ae|WRfQP1?-ʂ$oQ0%r8Uvis̺!ƚ!ƚѴ=t~&˞VD=_dJ (>cooyRT(Y\ 2/72:k/"dYF20}QZC8pe.1`6.VTf.8bۑZd22 ișhy" ޽{w0$A%550:}Ge^-MUԶK6BOdse^- SDf!WDkiU#dA޽;" ?G{DQr\rA{;v?aiA))5Rb4sEEOtsk4mݏ$-GZCX AF$=L-1ضB2L֭[@)caQ)y__CP`7y:ԳDyITݨǮU3K}FqmFH$eX,1&ٶBL&uV튺l 4m0MNC 'LBXUWڱ:7x#Rc AO2m}N sTNlS ̯#7Ј4LY4EL&?я.{kJ)*[o% /"2t-KA g#F\ݸtّgzw@Z뺕d&Qobv6Il&7N)%W]u0g^tiyhٹZ >`&(jkq&0 0pעWn<ӉekU9Z;Ynu4I9ǚT SMВ3o6 ișQ,/\ˏzJ6 wg0P [ &`Hd)R9#%jɒ0`,uM[ Ȳ,'.r!3/aÎHR" TrxUU9iJНytMх^#LR믿~:#"zzzpW"Hȑ#`6|ۇ ^yc4 !IH}MhklڃND-rP5 '>ޛn)v \.wm޽Y˲ RKDIq90I[|[7O1VL:w :IcI`," ꩧBP`8^_yiFDM7$3/ݻYO*]],_{w@[X,4zJСC@瞋͛7#͢ tj+\(ՊHgSk X\g] 2CCa+ag?0oMss7Ms5!h¦Y6|0G٢(JVERYUu׶m<|uTf:Upoo_?X" cE(>{Qo^V 5x0ƈRJB8dxx>|۷<䓋>NJNtڦa?GV)EQR˲4]ׇl~h3*l|?0HLիQghk֬0pyM39wttk:zjtwwOBJ0Fӻc<,_e{Q`SW:k8rpOuG5M[-b+1fSJSJG 00r$X54x {K}/_nΝ/`_pIY31m+TUb9|o>w^attt! lSp58nYӴfQc̣)8+Ս:.**8M\,eU0ƦuUє^5sU;MԴ \כ5ؤT <0Z/ 1dc<`:k:shAy uʰb9$h3 Afo@&xL>RJ|'mZMw^ìR,hBh(2Y @?<:kșQ4ZDARSͱjt7La(Xz2qD˲j*헥ÇCatt/ܲwO#bg d[O QQ]N&6rFKxQvƴ(GAAs&H)LI4/n4A}t4tdC0D]5"(3/D 9гU'[7㺮`뺔山1epp appP, ,ZZEZ0ug@rye?@68QOp#.Y.e1\EXKdyMc,!Owl AА%W5f hn~zcwKɅBAFFFFGGRW*f i4LA .| s2w |ݖU1:]ϱ}uڊ 4QO%]/Gc#5؝ *S9'qǙ?6\ÀMC}X#y…y}06#l.ce >c J!9㠲Y5 C*rPP'&&&''J(/܁M``3 4wX}:z׻'})2!I_կԿI4֑u_[pRM=6 qXL( %&}X<Y)۶ Od! ͎,qG12 ]Gɶ@OJ&?%q`Q:hs6dH'9j5\.SSST\.kZ4&8MlR:92R=`e?AU$x B <u׋f/L7l @gIwy'yX{4lAϹO<:οR/}鋸;bkۇ/j4 FME㖅 D{xL& j4,lMCMӔr̋"JPTZ3 zGcӝ1i̵jdb3-7YoA/ȪG+MC&WfRZ4l0:2J;v&y*N ۗV|?1e0kaXqH0a> β'.cp0-EӐМ.kMHV4M-=ϣR0,e[4O.bd(p1BaKmBB1N99$bFL\s~^(Q(`βP` :&|8iHG L) 4! 9\wuYGÆ"A`\EEs uґPΒ}ڲΨQTiF*LUGS)7HIi;sulHC2RZ//,6Ku*1zRxyhQg6PϪ9QI<'lVhook֭[Ittt$[ZZ"ϞļDs9@"_/MkƝe- EQEE,p=C:F[ތY>GB)16Ʊ DZX&Tb f8bPԇJGsB;fN|,v?pAQ!J lVPigg'Z[[f%L'ińO1xFGuN ahp)H=!'g)UEO^>l|㮧>ctlHC -r!d(]&A$JiR:9?yE{!ehYrBENhТV ($L" \N\zvZӃ.]NR{b,g!9Q! AJM)-sΧ<ϫ谹Tl %NuiJ|`ac963z}X7e*2 HE~CҐ%$IEQߕJUU5+qG7MU0yN"q B++a@6, Ϣqn(IJHkk+YnvZatww^SSǩ,ˋr%IjQeC<??Ju8i EЖ&$1ԏtvv"ɠV!4M@"@gg':::@A\ ɀsB0092d2VMCrZF$GUw777w]~c?{o&Wy lWW[[#h6#V L ɄOn33Ͻ~7j;$u56ƈU`1ChoI-{Ww92ԩ,@@9Ouumnöm߿;N?< jb6C G&eX<S$4pz4L&CzzzڵkUoo/zzzX[[H$ҶmiY䜿v;朷X>NWt~A/|;P/Ө -OG}WўhO<9j* attF5cE]qSOahhZktvvBJ)3Ò%KpE4MKF mMSrJXRaL&?xmK_b/ڵk]wݵscҋ 0 h me0 * d07'<.oUgXpҡT*EVXAU___zFA۶a6\>1-[u]|AP(4є"{PJ;O}ʉD"?i~Z[U  bL!bX`)ށ$["x[+~O%Vա!uJZ=zyeÆ3puBh:UY'>QSR6s1<([@)'?I(`&*J 4a6oki)_Mi)9q .>JS)LJ"´HHaz.&` -VK͚J#m)ü悤Ѳ&L˰ cDBz'fB YD } _ 'z\?od규sp'~^J2_**B'r:n-Xv9}w?_>Xt)>~;kU8 =ۛI:|,1f,n_s4|s&!0 y!Fphtz+z!|>1&4)̇{R}ض J)nV}G?ϑ3<m۶.vy:ABlH'¬$(xmQWWjn73NsḚ4WpsK D񳧙Em۶uԦ`OSC(ˀqyЈD"H$~۶qu!Hࢋ.P{{;(ػw/\Ekk+FFj#-:W)MibMdֺf''g-Jґ#Gb.j*ضg%@OnF@i qzJRȑ#V^lƘH˝?dY!f$@)kYH$B @{{;rr0MZ)bΝU9vaS=e)M(2A~Ϟ=l ^vI@OΈo4H{. 7mP.23 .3UBHEϕ R pٓ8N/8^Nk|y?+lۆR jW"8||?b&ldſ˿=@b1(A2Gl+jMi)yo@Uk=YT{/r+_Jlhh(G?ؽ{7jQJ9!֬7J fvL'd;Z_Y,$\XFxÛF+cd*uG3Ic0`rv828b8-4q.T*{キ/g^!ެzQtwgqÇo܏;PTpM7AJr ۶`>>O}tMDOOp7/p]7pzzzfo>TU(恬)Miʩ Rjugxu7xM6G?Q@-կ~կT*;"ɢ688CB2j42;@}hиzG#_ʛnWhΜa^:8#SQJk$L2TN3IRju<@o4QTJ)P!:>xs⪫c as60p7Γd]?R RJ `ŊFR0ccŦMNQ*qoBHnb4)8tVBLz\.ۯg>~Ҷ6TU7m߾rz5` V8`806'rɖcn#{e7l}F_̭`j\iz9lL9¹2Go޼O|; ky\.g>kqz۷o?\.whsxYS.b_} /;3\vehok'dCbhhG֭êUL&H$1>>p}3091?ն:MiʛwܡofRo~;9Q4;9]D9RJy7W.wT*<{Zq'[F{q $j4: f}$2gTSR(+/`nYP#u/cB Ø,˪bj& VX!զM͛Od"5tI> ffqXlM$IsιRJ{W)G+. !rX(9WT/qh `m8|0*s|wmFo 0559Atuuzccl =k/>t3TQ&[whNg,YԚC n>>z2 YEc0 DX,t-_]VJDcqVguUB_1y:|FЩC`@A =;1t׫#iO/OB`[{Bhϼ3iA=rcBF}Ts{qQdG9ij6F&1;;;Ke˖aҥ,Ns۶u-M=Gc@&u?^+Q 6`.l\5CÇCB3P_=CCq@݅xc횵ؽk#1<ȥ7ܚsNt5j1Z!F cʲd4u"uȡv8Kgxe$|ujjJ߾DR !^x!oh/o]/P 0RԾmdhdM;m;9fz9sYX4Z[M2J 13(5۸Tcvfru<ˉ`rһ㲋^)< @c)~Dd BR4MDQ޲}XJA˴+X‡6tR:x ֮뒶6266Fׯ_wܩZk&:¬[e2LƘaYV1/_. j`۶_Ӛ)%)'%7F81Cx'U$>eJ(9'S4KP 2U@DN*Zi4wa14, B,FQL&,sX*Opeb$EŹ3jNE#('dP!*DʕJܹS7o? /~s8-KRfKKST]AiReBh4:ylٲiLڔh%hdjRZ >+t]Kڜd2<) E0}p"Gj3&vؿ[Z[%^ ;~Z:su$w:zKur !asn%x<7|3=pmmmhPM:>H'?H(RH?DICπIM$tRӂš5k\) p FGG7L{9>})RjI<'ZkDBЯz?%t@Z@ JO1hp1Nd2  SYrz 9x]sC^Ybe1Sj_{5ܥG.}|V٢5KHPC9gJMJiK)+a).j_q<i#_)aٵ^cT+{e=_BvttT&&&N1M9=Yn/n.ڰ , ?+?7@U :U ```@9TE(S˪iۏhZZu>.=s7~5*u"$.gGA;8vh7urZM bcaC; g!>j9/.k A gGA)4%]+ȅ^hvtt.;s7<tΝC,s~{U /g<, }㍌(4G2XoL ŕs|egRRIin3.+bMoB6E*}p^J/ H=5dZvܸ[J9ņ`bb;UȦ)24RJ۴֑F!R)ԐyC|Q E@': Q<6f$tv6f'Ujj(er"TkJ)p;%J;DʈR*ΉcvGd(A&9o5MRZ@C ԤyF@NM:{dTg:h! ^:L<(0F:;$=>!?pQe)QTki/kqs}GFpxl1DQBkO9W*+n{RĎل2 J ;ᖪ8H2?^hJihR Q ^].l80/Dc{zzHsnBShDzxd2ym-Ɲ3uݙyǻ  w)hS0jS}v"`-y `ϭk m[ J0 O=I~_[(k3^PR 4q77''}eYmxd2 zQ^y hz6D@`a z-7T%BPJuXvtt2Ƣ'x\pKIӵ*f_}މVH&] >^;~b(o%ob*WcX1h`v*T3i[ 1+ Ӱ&(W䋟)RLO{Pf|hz4M9E3s?44J\w])Ԧ-H} yhlh<\?&CT<_?44z\R?'Y}d5n:Ѓ)6 t& p 0k A3UPu"LӔrJӍ )T$I)Rhhi#}'LU 83́ ӲpVd| Î2TH$椔SBBX(Ӵ`pAQ;R-]?6]dS{X{={$ZX޷ 6`UwR$R,n8o71(ӾO|GGG015\E@sҲw^0"Zh96^W,u֪n{}#?J22Z˃0_I mWlS!F7zPWH 1SH)#I /)]"7ʾ@ ɰ&*#,W0rV"PcT!ӞO@}LqSk]~?58i" wՋR!ak*qnW0*C;*X(0 !i*3ma̿W}h{ f,R. &r0tRH gLuŗ^'c67,]H w6+%(kaٺiNaʅ_m7^!\v# Hɖ,ǒ:Ї=bچ\y$.sБ@k: omݻcJ=qΛs@xBbتU,۶[!&0/}ؾ}VJ)w1Cfy3V F2/&^?8z [.bu:;.,jj֓f!U>"sLLf'+(h-J D) hR)ˤ] qN )L\Q,-GI%)ee^OC} &4 BUVq۶N)e8R>N^X^jx-t$$|h;kY nc`m;NRm^ HAH=o-:gN4?Uݩ qﷷ8(%К'?^5PJhba%d6_rIDfu?E6=<7>rA5:V]RI!S3 @SHm~Y.j׉݃{إ\2,~}Wcbʌ{}r6e1^zwr@eYgF"֭C u !9?CvJvXjީa-_+E6~" QpV;ms2B>)[d{f+ɐGt" Xr2 PBH!]Dk,OGgvҸm}S {L 6tŋVj[ӷ&<_.BXD:֭[B(uEK-r:y4 \g0@W?j: @ uk{{RHeY>|ޣi%q^wO1s#/( ax (hemQrY/EOOh2irnmmխ¯t&8 8\߅ RI)R:0R>Gqǡ^pΤ?~@>%m; t;qvj[xڔ<ۍZEA9ht_lÇk׮ !*3@iea^XBhꍐ 3b8D]zuK¸nþ>ҽ"T"9JB%T=-V騅58i/[DkP"6 9cIs_?r >jPr4+#߳TWD/@049_F_~9mKIBH]hdh2 ~:@Ё5r B7o:ZDʆa$^~? Eҫo/ꫯo HG-펣lAk~nxa"pJZxbvr6<]좁:+}9"VPqtzX~A) dAu A(q+vQJzrOnu|5HEcEX]$?QlSBKhSNEL4,|@sNh~կP.' B^ZҶwe#kuGxKEڱa䫏F@WK@F`vI:ѻvco>Iv%:Q9by0DP8Z#l>![]>!ݹ>ʾ@71y&pKirɷ49`sFҠ hR*$BNKo{ yE7 A ?C1c h4:_{2A/W]u+_Y<'k}aJL#a8&U*/VJeEְN?+_Eޏ:*2*J*RR)p΃rx%M !Ulvdv㣏>/X- v X ^V-Z7Ц,6Р0$ N$}m۶ u^`B4a l@-iL0Ù"3V@R4f-zPD /r2pґkV 7k%g"Y-hb%; BA(e刵. ӂΡ6 ,ČU+-^gh7 #H$" zNky4Y _ cnx< i,Щ3XCha(.uT*od7|?㏓x<>i_=~ƒ'gc?,OI2Z#݉d[' !*^Wva]zT2ʳe I c̵,˛1ad='rCGv# ;j1l]bS7W$ %)h׶(mټys$cjj ?|ZVJM?ըb-Y;悤aA9^ks*3SpIЄЃ,j7 Ҋ ix9 MӇ aAX: %|r#)<0P`Q8()@( @ꦷŔSJtm޼lЋ_VǔR,~_ӻi! o^NM±,hz_2c0؇a]tdÆ C!(BOw~+CI Y {h|dqBm&i BPx &N+_k])ʯ9-sd{Jgv}E(*߶ >!ĘW3$lDԊ3A%1Nx)hHgp;YzUW1xꩧP*u p#Y6얾(!ې^a@aa$\57Ѷ?J j0O(|F$qR#LIeg8;]/>_:b% @g!W^G486y:PB< PJ:ꪫh^ aEt 5Hc(+5<^ AZ 6\ \$4MaYFavy!PJb BpbffRw7~IAheMj0fP8K091J 㥒_G60B8C q J!TcGǙPCԊ1B@kMiʩhcKcX /4FQ( /@,lbhT>4w;q'Uc V^1Vke01B93@4()Ķ1hxѻO#d Ϗ I{B?/RQ[>Lkm۶ݹqFA/^Z 3隟 n8/Vo.߳2  9.cߧ `=c#˲yv؏L0>|< ~vpQ\s58sqWnOS9Ja" HL~ Ǝ $iea4!G/Q/l"D%g.M8vÉ?H*niy}&Bsn3P 6I).+bK#XљZB4Цaiq3(}[~<68^HCIRɎJM ȸkw.۰RI8=k'EQlmҶm~w oD[2V/*4Bc]z8$c>z6 ӳYBЙ{q{rJd2[%܀[u116_<gO(g MFK%Y)fz !Z~%v32w2Dұ4J{8 9X1vs>Y /}|K_ɪZ+D{&7Q1WΗv¯4B&KhSNH F//2s(CZGh :bV0532H&&>.Ymw1;jƊ?pYD`n`jHhZޱc8s]1evle3A'-ճ>іnv ̊Bi}cs#TURCP(AB-VGF$A.ry\.n2OgF*Mcڿ΃7nгh9)NGSHx}}|n>d^̎IfBCTΘ\Y䬋S;vс38===xSػg/ziMm?@R>/8XBPmNDѱrCz%C{IGQ;D$.žWfxYJy4͔PAg%N:[;)G,)Ʌ_rC{qdցD"c%) h$bP(yZk[ZAP,vY;  ʎu(fu33ږJZWg2 `(|mM^xA"?&,¯: IDATh:ZЮ_{L'ÊB ORDs .ȡ@Ӽ ^NjOLc= 6R<- /zwDkm!JZ 8˚C1C`33BP4G@ηB_5x/utR>+PAĕR'GOO&'XE!Z%pEۏNUOΞ$gffai"NNra3Qm%u` }i[,+Jb5{+}X$zzp( O>9 p ˌ: 8Zi,۰ V|貛I&n3s=B ڔS:SG;7Sy^M^FR1.H2J&i e<|D:h;v(ct:mJ*?:]vPZ&cw]J$'R)]i1P=6>Sny OGF}zܲ(cvvSMcc%ϫ>@{ Rþ3Bs*'V !G)3Ղ׿{po#n#]|=Ln!Mce*|O`~lKx 8|c:?9>(/A0y^)4G#0pU]swE#-fiVݣvjC&Bp*xS6xИ@`- EG:Z?yy'.W*s=SAwGO p@R{%Uމnu˲%?$IxˎeB&cb&8f&k $0V 0kė!7f g1#b²dzuKRqԥd%QZztWͪƔ™hw<@Z5Fo5ӍMػIÒist`qf*ilZ4֤1@T]y^}χVq] ȑD{:޹;ˋnW߾w6?_}gVU( m4`Z@@6nHTw* ;ջ ˋ)8wܩ΂"T)2k^CD#OvM:#o9েpZϚVC*RN|תu$9 X `BҋA}.POR@Ca?:ˮ3ԋp3vໂV *߸&zr @|(L&cy )JOQqR9'gGn ;8hb*eHBus>+V*jT [,WদymۻLh?:0ί=5Gݮ'z@.C.EO/ʅ2Tac9B"妐ZJbT檤c8R*>֦6N@K;w7n s̄Snt$UNT PѣP+;L sLLJgBc̹bl1QfJWRu6N7x; D={K~.}W9=C{WGg hR`5SmyXKa~9G(9'u1cea 5 d16KD:"cY'"$mKy*,-P0V&-jg>LwϦh"^r5+=d>6:p KRע)Tqٲx\M#{&wo=W:'ff _vبԢja h0t;wތ_ӧ>+*~u[u>why45B&N`n%?QgqW#Q(Eב-ie%PQJS!㹨W|V X1\O\Eq\kl:sZݥmN9u!+Xdcj !0Գ9qwd2bZ$9181RzBni! &*hy#=͈d㖔\p Uh]aVM*1LM)k8Zxx7b)QatWr?+V^ )%$!<۵āű= 196NP }$I2.y]U1Vm_g< *M? &;B= GP6L8* )IP@ #$FsA!3]zbW Z 2HG?79 RJ!f]-cBRs7\k$N[IRvoonVJٜsms9 c "^V{|T* feYicLzG+˗( T]#Z1SKHU#$k]Z%)J!I.֭Kکd3`bfBbG;j};^;;Y3٩$4?]J2LT|+Uc@@D0 C})RL)Qs~ oE i_K٤ƍir=+~vN*hFk֬aȳ]]<֚BP%=gff\3Z\Xv@XE6s+.?IU_m dQucaGGGAk\ 1RJlj(rlj\MR\Ji&Ʉq8e'XA !LN:gfflIxl6n<[h2LsQE-f8z`6ME9Ʊe3DD"Q3bFh>9;;[P sZM733m{ErQ7x'+PwD -_3==?R, (L&p]7 ,b),rǾm.!h^?efCC DMccR"]㗜s hw͂ 5vM76::*orKR\;v$ǎ[z׃D;u>@svٝ0Ϻ$6^O*^Aoڸle^(d26̱-ӱ$IM+B*gXVhm>@w."{{6l[jVa(8$ UWWڽ{Y~=ٳr5 faEFb9@svb],&:;2kP|bI% l&ϖg7xn~?-ll:Dž`Fp8TItm&("j6<bmq ;)hv'}݋ClbjjJvvrWCDJ0Hk0 q@oٲ۶m;|zg[u1\7ّy4MZ&j [8$ ļhDZWZ: [fyQXٜݗMޗL0H8L.H*Esmێk+6mNgk{F4~M7qX~=FGG׿.5vO1Ft*%99!` FdJDaŲ@k߿_0[la 9Q z:q093G`^c'0ӟ"w鮟FrI'\ p90IBRܜD tv$WgIVY>eNR; t˜jUv[}嵠|_-;۴\ǍNѽrX !RӁLWٿm֙y;k,t^j5<7}&{nq嗳IG7[Ѭ\MTq.LqKBR#DhӬeX8::w]'HX׃cVWMLao*/ _r~_(=-EҔMh δ94쩽`@OqN8[_ɦky]/O$fiٲg?{`dY؛RT FGG}Zl?v;|餿Yº^]߼ '(~?gf| uf)Z־lMiv4n`-riΥ}yYG΍ +yٚSuO`=?H9"xj򨅮*1͊ о>Fe*0 O$$՝^Oo示n9#M^~5W4Ṽ2<skO^̌9mj9E YsaNJ99B !H2ƔzNk}3BU4c Aꫯ;}Qd uddDJ%7ݑH3^FZjeͺҵ3;vS .KHDD۞ 9V\P@Z+" |W=7[DFV$e333<ϣ  7otMSBծ=N_JָKcðRjjړZ'qٜ؃>fzzzq,WU˶mW',|o'?iLNNkkb ᡞM-p)dl ߯R3y饗mL3X7A{ش h6cqO5D\?sUPv&2 %s]wm:$Jp΅1ƄajZrV۫F}h]r)5#d`C4gO ؤDP-2pl5] PmJ|I[l=LRq$q$8RJumҙL{߅nя~tW[BY69-uf vh%m'er뛀 d wyg'?Iv }s(o5}Ƃ@KָW@S߭P6CR3.`bn1&_"yXjR YN^4 2T6t@ iA YƐ&$"\dž icL {?ljPd"ʊri^*EClgMдf3Bt:}m?9B+V`'u][o_^^,PI[GUV.|Bd-ps)&Xؠur_k.e|?}oDnkVZ5C&(RرckcEdh(g()ȥn- VX/]b1$W9H'7%if )L{N  ɬ cݔtX¹jܭVu,mIz^ ] bVٿ*0XM9"i(َ̾9~ڵe˗/JgW~ Qa:2cfx7RڪM 8aIwyUV̌u뮻T 1kic?CmذAd2GJwg8IZJ>M1& Ιc3V+Umۈw}lٲeشi>cccd29rL\>a9+o\91&TU=33#^"8925-"HjPS@G`B$@9RoCj} "c@rcI3^=+z1&e81&% ƻc`%Iq>\#B__k[9Nְ̈#)J,_vJV7:ӾŤA0Oqظqq6m$>x APZWivY2˔RWr+qv&}td;Ի8[|?aĶ<߿> zl0 P0z9"r֯X:zRQ"kӦM|\|u ${ɘkjVB3'"}ԟ r؃69͍ Z)XOϱKVvw tgS}To_.Φθdm,<Gz-K9չKs#/nڰc%Xqlfmզ Ѣi&JbR9|f֭[xzT·-ٟYPT*4^GFFeYym TO'7ވ'xvb/2v Ӆicv$-y3s M|Io>lڴ ׯG*Dg8LF5c``KQOKN`J.ǭ1_T?oW*TmS EؙNuDd0,=,]̦:=,/?r3ys\OwqM12!qV$*QgӬy)iӹi}0 s6)RTjӅ:;HON[3˭mIDATaMZZL&`0Q%q]}_koQ,> <` ,~\ǛK#" !J1u@NA ^ #&L>9r)b, a!^9c` 'd9G=BnRaf{w X" " jLO1!+SN X*G\ڜ `\Ig b aY؉D [QK9u=ۚM묵wRve2՟[b׮][o}[^֭[GG^&Y)l(X~'RmTJ\u;f_k6p 7ࣷhw{ \c;D%(J`X,¶m((rRb͚58o HӦm7ݍkѸVLi˥L&O^$Z$;J)S81vv"WOA|:.NC1c(}*$2 yInhH>\3d4$F&E TR#T@Z" !b6]  t:ݽuk}tg?Yھ}{ZV2Z-o]HR=B|{N3r"茢hmmog_~ 1Re˖axh==llt)eFpY"=cM IRDqΗ>Uƨs5,k P/0߸ϓ|^:,KTVñ1V9-r!yM @ЙU਻J9-P`C!q5OpXl'dN"ׂVKW-7ôQ5&:J.C$X099T*cf9~\~E|$CELga훮JkQcccho>{ڵl\Fһ8{DB0jOq0[05sd KN(#%䏏M::m׋J~f|I-ѣCژ8f] A 3 &bpY]><3(ZEY,f1Ƈ|۷oǷ&&&w7oƵ^n =&'_ s>ksLLL_:ys'R8۶U+_tU%6\XPOx Β%3ݸn6{~5բZ?yws=E.l\ZNly^WkBFSqonRBUVf}]1ԋN@I:9:.i}豇0LNm,DA :Y diu)tyXl38UDY1׶htZ4B}zVۭK.T Z {<wG9WeTH2ahUBax`[3BlFTA"4(60 w16CPOXp1D.1۶!`Zky5RM+앛7 w^s='?{zJM-Swnh+60д*F% 8ET8,QJ,+rReDt)]nYiVcdSc,BT(zD=Z#:RZkdrRN\ Rk9/8PЯz0C e`T"YbDhҍ 3KQZt:r9E_ܖܷܳV+._\L{L"LYm s|ǰb39jRIcf~~[Z hN++1@ &֮]ǑaRd0tRTNOD#匱^yZJٴ@b!D44N 27д"\N\,_E}@;9Gl{=LS5w֜   s גa`▃ҙZ~Ifb"vԴhZ`\yG,19 !Ƙsc1&$ J/Ja QΎ\f;.x 6~{q*ƩSŗ0g۰!-k5s:lƺd*gF(Peߩwזl+6@sQvq(r,r-˲Ҳ;ƘZ$Ibq8)jo%M}n@[UDge7p}  ؜yrD+dP%6/@HK36@v=7zb(I<*?ڽ{AO|g|HZ) IOO86q'(D3Êsn8Z)Hyךv޷[y.]OP2KbwX}gՅ}T#MeصyR"Μ{7ytT8 JbFX(/*wmpnSL`Z,B&I"la" C!T>I!Xn]wަba>kFF27UϠ `gYׯ2`?7p4AD5u]k! 3ѡWtfLҴ m8n6]t.(SMvM;@E n<;̠ވrAG6m>Θ hj|V7,4< 6ЋN6mԗ?{Gm>|,56Mmj/z3gbvNJtʒeҢ۹s甇y9*g1Tyڵ+Eh"è<ɏU'2i|FJAh!:e܇֬Yw AY09Au,[}ҥTފ}wyGMGp8$ *r-Ah kwdӀt AK6HiNV~UKl~JLBH6} 4nB@h<}}ьܶ{w?^˲$)3~3ʳ:"J*ED_2Y`6V_Uk:٫U_T_#>`U'?Wua*Z"]s׎B#X1h Y9YBL5f̘˗bR[[sաjIQ" F}:AIH; f) U樿gB՟W09z@5|LKdU`VVUV'v Ch@GEU8[Td xB!&,d="<u5440x nZl, h4Xl&]E)mWS/:|0ޓd2|1NvPJw*g0M)MGe(9:)@s--ۚ?sxug@0ɀ^r*+y x^l! ͔.*-ZTDŭQ_87@i0f\vv7΅/b";1\3!:Mh ! )))E7;8Nttt`3fLqGG&uV^0S70oL&***l%{nIY;D{09JSJB] YP̘09E;G?JwNsx$B%&~DV2(fVX td~j^TU^"Xp@( H%sqZ0S&ԌzoZZiiihE Wh\ D)e/[l͛w F%Kh8 XzO2رc4???nFM;8dǧLdY60A8V;ɓb넣G~O?(WЬ3u_5צ6vд9&zM[-5[]` 8o^x7nTB6(  D1 9t`0@w#tn40iҤ>n ?!`jbbb(Ǐӆ(zI<>}A\!u6 `pٳ_JLLfdd~,8UVaٲe_|۷+̩ѳՄDէYMx&p LӭOd(?aKs_?? ,ӂ0+aciQ"pCCYR'6؝[T_u`=t:'abccg?yު:tFm6lUn*H4(t:?ܴio9,z۶mM~?zCCeeea0 g8$&&h4"))Ν;ܹsB#u' GTc0:.˨VZ!Nྲྀlp9:G%鲇&p6FV1<`Jơt Ⅺ]ϟ*/dyxg>d ))At{ۭV/ ܋rss%P(dmmmq8P0^xy2]R8]"_ h}!DUb Rj4!Ommsןon[@HZz7;0s R@H|aw~B6c{oM26+<"xhʶY\?1rϽL8z#ʚ-ZWkӞHh൰8@`8X M0y s8o۶-#@!ĥjsss[V\ˏwjhdB-\I&9@Vx ,)'잣  #Eʵ|$89xe60“K"Kw[78ܶV!],`18U "LDo sR]x]XpWq]$SJs޶\KGX*,/m8H)Ue\Y5<7{l8N²l*5ka&h4NHII)2 y`Ptk[ZZPJ;#_DW mI^'03! Ԝn 8+!(nh{ጘ cǎ]6nܸ7t9>>Ǐ6m,Ky(Ji$I\4OsL]ϫ;P$!:x-,<6Ji\#w#=uM{ZTb2"rQ7ܡNnn$l/"oF,q'@4uSk2a@<b"`on@L,%:p,cb·5m :YèMcU $(6BdY"GjkLPh܌33-[ÁիW ɓ'L4)"! 9~Sssn&WקUSk8ɖ2(q*ɒ,oMdo wygEHP@~_;=nZ[8}]&CާU.|yEE $Z䪒L-*=J#w.![\~b w# -Q׬?u:b8Z 0'@!@(KNaXy-}_kŪ>Fj:u8.199&Yo#a nj2XSKՙnX|95t'dDQԇ7TJ)PVVڼ?xjF}Z5Ψ(k*Ȣ5=;=`$K\L\:!X=߱bAzOѮ#e=hrvV7)h&TΝQ,`0=df8Typ~7ݸWG|. x&$ؚA))! 攱x=ح1ͻP``څkt $=w `e78cǎ{G-<3 /qwd_O8CGGJKK$,# 3pݨ6M2#$$>&*4S2XlDxpFRc&~u93ڱ,ɧ&M Gۄ$c#̩ڷϘ;wn 怽M>N^cd:#$"'2HM;74t>o޽ zauzSZUD] z+ BSk0,x̜9B!..T/ &=# ڵT[[{n.,,Dyy9=xnWe],{)VY:FY ?Cm@C^k0~}s_f,6aG"\^ uAS%h@ e[it$Ux: ublNW{I!HUeeBNV|H&/S3Qk]3 `Z)MoL$ bpv<˯[`W><.xV茱xahouk@\45B$}> >eժULbb"Hvv6Ojw\j! ƍ󧥥5UVVkN455-LNN!???>77װm۶&.6r%*@;W§ ^[/` Й#,;5r@`W()k4LLx|\\BjH()o Թ4Fy8崞hey Yfd+,jPvh@4&m'5耲RKX`y64l<\O;/X@рENxHʘ@_۲@hiM& PJmݻ_966,b˖-hoo?v{*ym|Ip\6׏nqajeYGrJQCzGD G pLUY`K- [ĺk>d菞k= poVJx`ԼQ8$Q<8Ң4+͡OeJq>HL $ RTC DoMg>:ڤ0xR\1*6ڨi9#8_p_5m yEy$I4Msd!77?{챌{7kjjޥRC@Pk>EIi4p*N6!E0\[19a0Њ"Z` bXu<Xe.]xɚL32zf=iw@/l?fT\Xs/ /OBiu1h FYMK7ߐTMgZyv IDATo?eQIiwNE)j_F>8=T<8reޮ(-B"AhZ5yZׄatV I2 #X}N)|LkA=g% "pHS#Y#gIp>wuY|9n<㴽B!6©ݮ0~ѢE+$8#<, ٿ?nV,:5lxʒ$I> !$=W^7d EMF:kkk[nQJa6QTTeaQRRB!l6rHt_pv 嚇a40.he QݻO}(Sv(~:孅R0fby7U~ <}! P6Q@hjF`yjTF+ڃadhQp$! !$I:/@@z8~…LdwBۉ\%Ǐiڦ|/%$$le_2 CLm۶СC]uuu콚f6;j :hl`)-\ijnhV5Ul]mƚrjӟ߽wBRcS@ʕ+~w۷oϥNWEp8,zϤW 46@,Z;EG*QDfBCՀxS 46 FDJ6 @C`0t3,˂ar24&MRj6lؠIcYBfl޼?j~4yd vKn N'׻d `E\P*?627 u37FŬW5R}p'wwV:ODvV#q.iFBXn%0LwH0Max@);v )γ l6??ڀ35"'D>0-\CV?W!^ѳ/ A ȯ--=ƦBQ|͈`YR |H-֣V2J'4,ˡׯ_OVjS9F C9R]ЮA. `ޜ;cF(o-UH҈Ž;p4ݸq\S[#.SЖzq3{miih:(i:aIbUQx EJ'4]ipk h<(`渰aO ['x v 6rM\bSsƵD^'t:&ZsIաP臣uuB|lSS! 1@s 60nߕEeJKKK.((xڼqFG7q~:_Ѽ^Ξ=ˮY&ĉ`*!$ŋw{:f^ 4 >=I_ڼ }`It <6jLLL|◿ec='IIIP'd2AՎmDvBSRR&۾}ᇞotZ8?-aѾ~gfW# `81xl׫Φ%fD)E0q بiqiq---]bEҺuxe q`Y3eA2E20LEzzE,YB?~N)($:lBOFtF*Ui ϴjİin 5X [QQ!}LUFmRj:V1L^S]d]hќ'OT#ZV;߿plЄyl٢Sa), Xq!xn)݊+K3 #8P3Έ?7߱c`lUڄCZV8_[QQ&[|7,*/7cEP# 11<σnv3X)FɄbl68dff23f )u]:OS!)&iFBB-קaZ;RSS f2nl޼>+,-7 ɉڄ}~ vv 'd/.>˭9_ޘ;8VUޛ:??pEEE; K۫+(`+)?ӂeYz^~?I`8Nc#00t׮]t }&,XO?6lذYYYxꩧHJJ Z[[1k,B۷osYYQ.3 Ocz9OD)Q ) gīS!SH5SzSUyy|^A'F{ 9fedQ$Xׯ_O-[FB>SnV^V ,˓n$$$PFl6͛xF$''(eYzy݉'D(hMW4LE7v_Y&3;~!\_.\̘1PJ 64X֟˲zM~s1rS***B: g:5y "!z u7iwWu|'?ӰLo-eɢG襦vGT ?#d 8Ȭr ؅æGɯt/Czv\zw@nc֭Nv@-@D ]wu;w@ss fc|>ߙd2e PJɲ|V5ycNh0QÈsI1($RaQJ VhiNڔrQgFO=TO~k֬Is^}#˲>( 6mǡC|AKBB}7IGGn_S/BEnvSβ'Ip8eEB*XO7z F c ~앱rbo-?cd 2 x@u]tM3;;hyW{`' '0Pq4nOoԷnR@wL(5kE38)M(jѓG$=ltu?*՝vx<(HΓUf$Xj@E=Ye'? !I~?<O|E .;f۷owܹsRWWFʁ$3-<~>K@ܕ B2IOuDWi!nM1e9*;{wN$RS\ M +89 (--~T^|Ŝ={QنN?@n V'+Mh.(+2T`:.}7ax\ |^> ,D/.QwŬ. ̕BdQP=]^~1!7 [yY`˵4MaXqT\JDI rnG3+/峌GS_?|o @ ;Q 2d ?7YQc ꎨy[n` +:= $yx}uMm:X@B2HnB!vk5Ֆ#eDz0PqQrZ7m;>ہI&`ǎ4i;wbʔڹsxh~u<@W}R,#hٳ8pE7.O΂=B7q~vҧMIpkSLV;ODQgtO0:y*u9͍?xt8H4blvV*>Hohh-Y%g֪Amm]鋉aDXA%>٧=ESѣ8r1C8 ɲP(e,ˏ^<Qa^<(1+36$"0êVP~YFw7k4+ t.435 zs8fޤqXXtTAg-?#Kl^ojsTdg % %2oSS9`ZCB_@H,x,Lii򙲲L. *p6f!~ś$I D).I^/̙_ L.مx ZՏJ!S ]HBxӟz DL~O0]E j+L򒇜)&/4Fh3iw޾yj•Ϗ%?)t,GST,I,RȒ(Ig~?x|瓂,KR<` d-,d9@n+>9ViʎhQZ HJ)ϟwM !IR0-;exp)G#$` 9_s@%-g%=l5M_iZ- ;w ,ђN4cfvtp!vN*Sо$˔JL $I+(H hgEh̫kHM ϛ7!jʨfVx_M&7l$|=b'_IB gU54 sM*.PhEFfO~p(hNYu-現+s%^/{OjBi h9Z$ Q S̩Mcю5Ig$&&b  `ѢEB׃ya޼y @WE iF y(͋]?zQ,"¶' kRqBRBS_~p&a_leu%%wJ #a|)u3܂EEީTiY'O(Y oN>)S WxZR۷PjQJQRRv `"lFIFc+P%@Rq`0ׄ&4H_g(R;GNut7߰Ǫ;lB!_@9' 9 %38X84BHٳg֭[SwܙI WxZR FP(BJJJ`4a4qB 4M?5M-?)sA)L HYz㜯шf6;:Nh#q؝UWw68vjYNT9$ I\/E~?QMب<_Zeiw[ 5P'4QENwinݚw_wuu5>>0J/fPM4VL<BHw-Kӄ3)yYF,$փm?zm!n FE.0zv"M(??Dޛs@k{F!!.W$˽1vrq$i73;灳SF bbby6nt:ݺuXr-Ov߂RO,zf0PVV^!&&eee~L{g]h858xm) p*F# Wp@]EI$NK}ss > rqzAjeYD T;y "@@ Bwgff>ܹ>9P-%WU3SXxdY![K9} K软s j恏/<0jK_-k xm!5_X,odeeswr<Bxk`^r;ʾhn/v{lV#\Ȯh{%0jLbb&'''fڴi<@ڏF[j}hasM%t//@6:`8-*\n=7_R0fűYfY&M4v3Mx`Ҁt !=h, HWx8s2\<%x2۫f$i”.UmʀZ/I邲xF8.==]8V+EٛS,x ,)ޗI@ P( ( tnV+J"fy:6lZaMc5] g;Y%8o4}cǎFceپf;HGEUΕTe 16UYgp&0ج=N IDAT'N'z!wӀ-AV~(Hha1d.R2w'\y7/]iצI$?? "Hdu3eN`zq%$Lª҄EE*n IIIB^oHqhooYڑ)0xꩧ(MiO^@JJ ,ˀkt M8ڿk.Xt7O &UMOV3;Z ^JO/y #7yOc9E˘Us1ԋ?233?{bbb Ph `ɓ Z:2 ~ Zrss}ͧ 6hz=sw{sss_ B-"-'@^x0-L/RS6.Ao5fY .f6W_j_e~ѷ2_w ~S8,ox #0 C8qeYW0Բ%QLM9shIhoor\]PȤtPHp\] TI *d2aKx'w/ƌ5f>ng.WYMITMLu1?eCuɼ˕i ئ]SJi=ʫ"6Nt:666e > 4@RSSYi4wU]Sh4h4%ɲmٱmKbbS/B MB.=K@x@(!܄z'6E,ɒQg9{?fƖ-!$O}ڿ^{9.o Xw6nPANIBlUVWW?v_/huuc--->|O4?稭8Us?Y.*7lM;EI5]RIK Ig PXiJJ)( G*6BUvcA0u=FodϪ2nDE[hLGKqt:f&Ògw<+Gn)ހ~ #ǔS oQv ,P8T(\ee&V]] sĩquב@hYx;|ʶWebw]# }Wmb7[L$VI+6 ހ@gtm_y=+a c<P-JdJx6X*g KNCۄ={.)_mN2DgzJ 禔9 ǩt}%Ջ+vaVMZx<:SD P{˖ dh8\5'EȟXMt?;=TL>w:Ҵi(IAҹ3mJM mݵ鍗LV/M f w+T5rd1Ϛ0]8zhV,՞Hx?+Z o8\55⏕K䕿z/8g]#.h6B>iʲ4h[ҩpVy{g!~\;ī98)(_jIpY5LOfh*esª<N?nys1+Ofڴ 9۶(8QI-A&Npf.6$KGZL0!=qĴfYW4Iq]JKLND})>twrFk[/ vٲWw5( 5Eω(_?v& c}4%^m{*^̾tc᝸C;xp"'A>Yd"LS<]ϕO`l|pM ݹh֘RYE60LhPZ˻M*IMBO8ېO[P xC%{ie6[>`.**򖗗5jԨndocx8z衇 v0LTE v @{I5 HwM]ї{zuɕMᚋPxŸ3kc71!4L3`%3ϙ([mޣzg6Q7(ż[=盷N?ˋtp &_YPoZHCwI6 Xj6P7['M''0,RYYjVxޚƻ)Azzz ŢGƣ?w\R!@{MڏR}$ɎyƮ 4wM,Xȍ/FtvtBKk흝n{unq2;s444rB7W9 `3ΟHWvɦDTp%09|i' jty"Ξ 1"|8BH0tRi! J ; ƀK!"Oc&477K)XzUUUuܹLpktE5G[^r5D"fY߄#t]'(`h_ `Xl=E8StLDJ)Ua;,E))F'ȧjhjK'WHsop=]C11a/3K+D|e!BC|b-6L"G=%/Z6omk2v|Ź )dlv z|X[[>wsbTN (\fME)Lҫ:jX3UY}k{揕Jr%Wf?8Y߁q*63<uN"fD`֒dD2,F[ԏ9΋!b0p \ЙD2Xz"?z &utOG?|@qb2+/ 3퍝6t͒]vE`.!ѿ8nGܲ$49/lkL6(pZM3G*z)bl"xbҗNx^g (9IBn|mmmW^_a O2Ɇ@Ö I.-`o}{$ù쒅ؽFɻx(ڛ:f]?EBہea,, 1J=Y8M]C#09=n%ZV],uj~K,{=df!wEFbk%$aDŽN_p ԟw2bťYnHo8DӰ& tp@tgX'XL***&^x8Nb (?-Z'BbY ($IAE\.t:%/| Pn7ox')"l6^41ח=IbNqY5e5Z} gウMNgbI3_x{`oweo[nSѧo =Ed]q)j[rm(0 /a9D@󬡡A2eبąJMWE҇}BD%wN;5wAi:Si n!9۬XMBSLrivNv6D) v;>λn;_y/͟?Vg^d喩SZ,X`4G& Y#U  wʊtncϟ~y^13cZaYP A_RP0εL'>WGǂq+>[npQ[cLMBC| oM&{F )@OIDkhh,޳ĝHkn=#ɔMVv\\wl?)<wA-vok `N'KĎiX,VPP̛7nJ)I6(5(׎nguuulҤI|yyf<͙d6ƃ%Ԏ>[='_)HXP$5S״@8>'FGC"eO71j.F]\Nw9ՠ?և&ҽa@ӹ?$6-o#c,&Pa$̀y,P{$+0lf.wt3DGG8hZt]g======:555Β}̘1TEIJt\M*L&Lu'w}`P!YX;cOkH`BգqEQh8UF`  lΟjug9NllE'NzI] 00VA) @$1Do/pG|ANc#S~^)..TTT^oP$\D4""L- 'gj<!Zk7i7AP-$SX);dI~`Fj$6T% a5u5 '#* Jv\-߽AO6:ρŎyΡwc3U_`(7Rqk6e|["˗AdⰤRqR:DzN P9!DO@;ỳG)KTQuf q$q~rOz6m/V+J*ZKSjmҫE_6Nelm2dzk/ c@fB@nѢ}' ( #dl̡Ӝ1y 6+}(r1EŹ~=_K?~x'sH|=D_p'6hCȤOXeee  V+/%W0Yp9{OXsEEVi[b[~=p8!3x릡13u`ʕ\uPȣfAX }Rߟsl, /^򗳇m) ?lC*4 w^g{\O\.p}A.32-.)r0^^wYDab<,.p</@N)c@< y\o"՜bEfHP(֬e ۝?pa#Ψsb.D"96р >Z8c`h_%'.n ǁRw̙T&󱝙b7ic:@k;p0ʐ2QcJYF<[nޚ@0LR" Μab Lnڪ(߬HyZ:oŁ1Vn6QPP~i]5ǁF600`tq,Qr5`n71w܋zŦBA^g Aw~E4jQ(4nPXS_/HKB2Bdkyϰ$3k6v%Za@'H(Z#Edx_lJLSJk1@:mgWy]۷Q%Є{kd^H$i9Pdqf7xE`k뮻@Me>C_n $ZLg*ʤسrOdLy 1$!k@JtH!] ~jYgH'7cҹʊ̷T6h5,Brݭ r_5b@ӴPɺE)QU[o[n~ؽk_EA")ז,Y2! !fYUU5 i |/iJ(96[9NOHVuT2|l6ǛqCJOR ) h)@2 ٚQqwߌՓ]Wee7)N2iR)I*ϚE@l<пO_܎LNl6j2B<LcV\ ]7&\vy̚= ˞_ ݅s jD^lt-lJR6ɔo^D[O\Z+Pv[̜iΜ9S߽nf?>9ǎ;QQرc'9O@RA4 Shjw;Q=jJ)3Q‰fS FMHiT֨!쥝au2$Jմ6^/.#Wnf?qi|Y&-Dd SLc>ֺ}͚MNm G=!sd%$Dy@Bs.-B} HoQ?lڴ̝;y_NPh0 u2ѳ9nTІh{׬YclҊ+w޽6mutttoӰK^\/١8CJA|8(л N- }pTٰi[1a +3;6G7oڲN5JzhZ_U\@9jr[QgjX2ē`OWd?҈|232, L:bZ%vwwQp<_q\$IT>Sԁx<M&G>/ pvF4zUV

9F2?D?!IENDB`gnurobbo-0.66+dfsg/data/skins/oily/icons32.png0000644000175000017500000036044211354433264020257 0ustar stevestevePNG  IHDRxm?sRGBbKGDC pHYsLLetIME!=" IDATxyeWuk>^U_RBH `D'M 8;y8q71M qgacilYBR)ӟݮ{[RgQUgf}Zߚ͹b\q1.x»x .Ÿho竳"rI7ʲ 0Ɛg9Z+xR"J yn1&KRA)'N듦)Oa4&)AgyyVVV8rAu7.f4%)91Ɛcrs ,5rGdYZ{:^|(JpHf8Az]>~`@e*#]0݄~KB[A=Oψ+*^[Bfj5mD'YL _%0c޽ɝGp~α0h"D0%$c:_bEP{4O/FL}>>ɔ5*{ P&%Q !\2XȗOPQs_;^қ^댵dysB'Dg-%m_K<kg߮8m:eN y굯}bwio sW9<\:S}K6=S`4/>O;;p?^rȐ>ɥq WWE$u@XqSR{!Dv<^T&jPTY]}(Z%gi$qc7'T>o{}/w}7_W67 VWWG?ʧ?'h.c2Zz's"Ib!)ie*a)1~333C:GgC%c4%cQ4VDw]Nz{8}$'Obqyz! JiQvfG [dU}bO$O ko _|[kύ64Mk^ʧowOz)a',&`jxј]%q\}IJ虜8N-=(ɏFnϹc 3[8/>9t8$YCS 0yaJ2^giN^EwLA5cVig%fgdyekVU8'Xg>|odvv1|h~w11<h.RgZX[['21r1H,˰֐qH$# LLL#6Yf}m$IV\>ԅR*Ow8g9f|bM|g7ƜEr٤%ls>$X )2 #aV/'>ڐ\hMr$iFg!!1 ?صg?;}uLy`-' 9hOh|+azyz=_x^l on9ԅgMW8w[c/{) =0e9XHƬ/ x|`o|Nx~[]8'6ȉ9y!#J̐1!R>ZL6`=u5cbM3C"Q\w9Q< NtiznF~~}C޽n>O򖷼S79FAUZO*#e }cN6>Ղ{ֿZ[[D)9]es9Nי=.sٛ$jZgfv`>\74f_KQ$d<97eJS8) X<X^^f01FLnX__gdyFeXcٵ{N>Iܐ)X GCR4 &P(>NAs&5.dD@ 0q=l. XđY7oGRYF(ОG}֚ <155c J (u E+'LML~wq?y8pW< *Q=+6@f+ؼv|S?啍kM2t<}SsNL^Yhf2E;M8%D*bo8eT,e1I0Yf[`۽M|rpzȦF vNVY/e4͝V3r + JY3(8'eD838rc~<Ԫd##Ktd l&sNdi-t#9BRZ8Z>ڵk97u~nKch &''iZA:15cXK#}&PrɞZ|hh]h!Q C^dJ>&zCkJ=ev;(<ӄaH$ CYtF"TUߧ$+5arrm__R@F ߧ" G#bӔAYa$"O]kVVbE'9$Z`ЧRP Czht0հIVaCJ%Ib18O{(QE )y=RsU= ^S!NPJc-h}&O9C Jm @[(rpxhc1l7 _ۯNWչ`v |J%2 l=y_rJ0NJ Gk< {k}1&,F/xQz1΀1<0 P"j J]`S~_ ^J8=Hyy4Df.cie 'D( `F*8_Z MTE^gm}n :d.b:p! sL;|םL(̒G)e PiJZ FE5Lx0z^N4wX9WEU\Vd;:,BTzT Υb\a$oVMU@ng49_f={lj6ir'[jKsO"bф5o"WLekM<+EU)*"ܱ9 nO8hZO" Cjd{8e~abb5ܱ!sDVr"rdk]̲]_s/'oQW]jPi48tA9kĤԪo|| ?dw]}>~ @p>Oq\^ wl Qc()zy1&@H3!K$D,*KCwlQNh5LMUfWZ{Z'9C$ F(W)uYrmMJ U+TYDUG)|A|tvv6(y)V õmqLCNC8珄JZ=&&NL8%{lϟRd?\]}/_r s  >M;q3uLn1ta($yfEkzQ\d:O']1IV8Բ+)3-eHWtok2KEJQqsm Y6`*l8P(MOɩowC.//S21kYx&_0Hn9(Ri"7'ZtNիU1;z?1&5>я//&d w[@Ww ${q(O b#<X?j2u93P#;LKT+i qٷVcO/^x:rނVmc:"~iJLac#(g3DUK=' dv0&eLڵ7 O9P=yz+a,yCs"~N|8}D3t91_½zNǻ8pR`RHӴ^ o0 ^'FAI[k8qH sssߺ뮻N|Tt09| !`0AdΔ/(Xt9y0P:,?|UU Ojmm y8 ֌q&m&x 뒭 +N<]]ىǰ-+O;9f5Z?LQƟ#OH VVV;|zVD13 IDATs}W+XX u6*3md i@_5dtQǚyAfqqcd]wmic=CPN$s=.拽lQG)JTG l ̤8,&eAa^m.{!i}BFK.yV&dıc_%$izI&'EZǏ~-iJ%ٵ{ais<"'Pn~6=5ѣGRUIlaXC!i2PJsY`taH6.-RRq>SRdr֒RA4b"8 :Ǯ(Ii߼i Vkc-UϿf3n xiXl4:7fnG?ԩ'{Na( χȱn!ZxúBBdJ0QK=uPy1lgaldvAx8Qe&CE|q.rgq 83FI!Zs! lx?#?».7QTU>vަO@H^߫fT?,E,l&_~enw nc#'9rlff=d:Ex$Vw0 aX+`jj%!yYYCjuFN^&ў.ڱAZ:qm[h1h5`Á–en[S7.M`e 8uESN6z2G(_%JyX1T7jlYWUL:zooOgwo'7]7*g";я}o}/Yl2یMĹT`5'1Jl,U:y :j[fG 9H&ƱIDlh jV}j`lȬ+e&3yXp8CaU*4pXK1Yr-al9i]w]Zby{fI5ȹS Yv0d njO7w=߳g%I\sssWرr;NK.񦦦~?t:tyy9[׽un{nXYYy(+O~|ֿ͔?Xϓ8&rp}A/XV۫!ˊ+0d׮]Y ~#iA jlii38,JiqR4TJq1!YHd/\V!05**,Jdc 'ggC/DDQVsfA3ܓɩ)719aN熢`9<6`-~ś|;qLEyltM[/_{ܿ/9{FkB+2cQ :<'0*T4bCe/2PJB-j\}NMLҘѬ@F36Bz8Lqf 6+\hEgJѦ5 ӧ}7,1q+/hpǗF7DorS^$ퟏ?9ߛ|jvvou:{#xyn+sx=];kr9zժZ)"WwFNbرw )u8p7wWᏍouZ| KMx#Pᷖ C6J)*HXJWV+] ;fvB(`@$E(ZW"TҍG6#Sj0<6A`s+Q6;sT?p8\_WiZg㱻bKsןRy}d OF#lعBX}AkZ-kXG#ǼD[ؘðds$ u$t9Zɲ(2dsJ«zI;9Y;+Ob[%ə!%o9gK)YZiDy+;wkwwebK^RY__G)  0}'Gklƹeh +~?"8_ky3%lP6FJK 3]ι-~S>oU[GMsJ:fν:u4gg.EL5 _ATEͶ,"TK JObmS(su_]]VHSY^>N}WE$q+V Vi1AWL)~29\6_=ʥ^Jl|,>;A9ٳ9z(vg sT}]Y "Ysd+&`L8oqV.#Q~v̛݈nb50SgƘs=iֿy:'&ܜKGP@l|reBh J n*;gvMVqL$,+mݶ2===799ZJE0Cףhg^LiMH~P)hMl5+E_2o +qBV6fEVZ f "dY"R/:MذA߆ Ouo }fw̢fHlmJEgm<,M(M 3`0d7EVQDQ48vd<9h멢_q9EMD WqPAV88Ńَ']bJ 8^lm^.lbh-ե ڬ&s664R.,m\X7 :OaǽtZ[cGm:kb#58NG;3y9A = #) `$a"s++ZY Ȳ씵v>ιJde7(O7ÍF veYϲlp8ܳ/MSQj1 0Z2jJ12jiJhyN"·u\N9>GSgŵ۷nK%M38"r(v-۩LQ CF!{l+卞1ј$I7ӑjRȲh4BkM&gVI,;mݚe[ 2pmt#=ypZՅaRl6;T[k<cm#oZsb<{ L>a!*|FD bX"*Cb Mx+4jDz˧ b9v&রlh+IJS8;,g*jQdp/Iqf? <{lϞ=O񍘝eqj.W*ZTf(1ڡ9F%E5-X6f䉜tJ^Uwq1IiMv:==9sOc t]T25=M3Jj`8kbEIiuu]ZV #s6(JP!6S;%<凋616iLoÕ圅т JR,lY)4&kR6՜h4GOSca>0qdYVlTO+EHtOp2%Diy j-)}E$ѕ`(;DALS0Fpm-xVBĎ!(U/:7+]KV,̰0:JװN-"Ԉqc .4(c /yyju]ww5<7{ikfoI^\#B׹"w9MZ,N(I-,د}眵F@4^^^u=|$*-/g5asWrRs +R环X{Wט?;vo.-%#y?ȣ=Y\ZEۇ,˨7jdYFQ{T!jxX犍ь)jZVeYCsΑfE d[(<堇`Ð MUvc $h%YBSS>@bS<|,b[6gs?׹nK_Λ&>OxiQoMМl:Ok=}ovq6`YWYʮF݄41I3r–ܵp:Jjb ,#XхX:XŖqR9Ak֫[wrK+wɇޛqws.ݷwE7,[Xı!1d2$I~N``9$0&ya081I@l Ʋ%/%˶vz_~omUu{QjYLO{ֽ~ݾ(Z8NrLVDTAF; Z:NGc ,P)˘s3QgdJPgnI!u림)ڵ )=9"h(oCd##~(#ÔeR$9JјrL zcV!|2̤ɡA0",EE?S$tڣqUq1XDFT2l di7H[8h8lEU,!&=|.'~ͣyP}AxҪIZZp-hJ +c~U<}StWC! &^ź砳u,4tY5 O6îQ3:ꃑ8 |5"j' EXVR# x&TL1D%2JkIRxql%dZ!<)}6_|y b| 3D*m &*b/ؼ|OfFO#'TV)`5q P752 fG1Z%YQBt/kZUYUYWWVGڿ***TIȷrc3y]ws^5%,vѣGMBD9A#J5&&U!DMhZZZ( lڴ 7<u8`RrV}ҖZ=;+ҭ{5]kh41>JFgo޸2feb*SZžWeU^Cdx饗IEaWWy$RS Htl6huppQ$uoe}ݭV@Y-?SC' ea捤4#l7r|ƛHsK1 !CJ*6ƭѭbM*M75nHR,DK.hvo~W IDATHoj4^:=f+#ϲi˱Tj k}{Bu+77 Wv~nVyfz{{yسg8ɓ62(f|ߟuLr>X~K]{JK,mUYnT +۶mѣH)$"bW !mmmNg(˔\W, eΝ?~|Rѣ`L=tŞ~ȑGpr|Bs8Z8FDZ:=v]f=qg m1?,Ч&ޱp[ٱ 67mKxiuO &~SOHY{YM/ک<7K/hoFsv]+bۛןV\q=tYkS߉ln|A;%|Oxș6 pLgtvv6:;;ٽ{9qwr7&mNnL@'l6˺ufnyB_g[̺h6(|>X!G6BXGL)\.cYT*aS5~'["d`` &DUSBqmފ =c#'Ɔ8#TMcEl-RM(7ķ~!tٰS( Z =\m8%C~ب(J&|z{% cc8^Mh_海j U?POiK4 ؿ1E5?60=E7UКIl,SV.cgCPA>^ݻ?Ow͡CwDnY&ὤFjkռS[tQi̤^Kgꇊ&EkpV $0ƇF }Z%azZ~=u|7ඞ ώNzx9L?0\s|6$,ǢT)/ȏ kGsZ!*VG R:eM 4&3}xiagl}=M5pF<~ tŭ|䘵RTK})0#բ)RKMo[|fLiǦlh!ٜ)*y}ڴoMs(h~^6oןf }Ɓc].|C+E W,fpp4+ s]a4J)֯_@#ƞ9uTiZb_vaT:K0n7.ipELɈًyx1a-!@bBP&DhDCh b&=lo7WpKiX]aZb].1XvOP1DKjLwv4W%yvRxSR9),̀Q*!͓I¨a+)[Xf 9@s<zdvB`K KkVxTDUhB2L9!mMgWfDZި c tttGVrATmf9^o|Tʼ]o>贙h\#pj3MLAAg<iHZLo0,%-㯜][aCFkzZ BOCQSCpip$CՖփ' 2@CzRoTkfs>W%o;3;cxv⮻⮻۷oq\n5xjO֖z5X ƚG9cK۾pV-Wܤus6 nF QOx-ޫ Jt:*FXu]޽}5[EkMVk_JRo))/۾\?˂ }^^4RM 2XmCZ^\pzdY\ץ7Rgy0 ٴiSAIBnRJ|ߧvlf``FUR~Rb=,[T*P t%U@ B?e"? LD2\Gv{N+Ɨ j@6}Ҷ@sb۰aÔyŅΦ5sd5LR:Y&!VN53hǠ-["H Y4&YCAX$ C*Nԓ'O"`˖-R),˚rwNB14Z6 2|"r0u<^|Ə!-JK95رO`lhm@TD[Oa zia(;9v̗-ݞdTFkKN=j76;;2ZJQ80TR*t;m-p0}@3O6m---

k5^ˌR2?;904( ’ -ec[)DVIDUUqpgF5[n5YdF#"f/Alx`S{Y8 _9Iؕj1uhҫC y𤗦qR %R)#G T@-_ Ppb6y-BD$ ~2g9)hb13CҚ/>Yve2-qNH A>:[`N°V,Pi3"Umbh4-nUc`Q-]h~n>{aϞ=w}ܹs P8p~s[o[ne>O,{\L˒Yĝ|}~fkW_Y+ꫯf41,[Nf?BM_<ΣAq)zt?Xx3 jb1+!2(flËEILO=c.xNfng31{Uc>L1-K5K媐[{qԗT|Qa1" D@n0('TФA,DJȺF@%}GVkᥗ^"Rsԩ33 Ð0 䮵ReY JB,LsMhqriVh+Oōvg!$I##M=YPL~i8t3AG39W*s kj =u GNUVjN`άMz}.Җ*^Pwi+mPNxhK@n̉G2hLT\Lȁ8p@׿uvܹUOL<"[Hiz$:$go 2MM~ 0Jk lDVAXl`RDW6|'g行׊Gm$F^Ie?c&,⤾&LKԔp␛-g0 \f+][z8U/jJu^j{k!cUs]VPA_)-oiOmRoТm/Hw:GtDwy8E1Pz҆Qʿ7c(TY8w4s6vf{֭cmI*"N!dY)ˍ>)e#rf6z:K؝|nó8yd;FJ뺜={œJؾ};gϞE)?;{l#, t=\cM2s؋5헡+_!p,a[Fވ"jRxv2Rq̏s0V IDATُ+I"IOjήzS[X=U#jIt!Ya p@D 8`)hj`(!!# iͮn2 |^z!v=~ٻwϗ+TS lM^k>Y #:y.IQCj45d2RcǎTssRM8p0 IRS*&BBϣ'6MfZǪQ#&꟱ΚD3$!xLfydZϏYY'sN]r2^ v h)Z] ʀ_cUzڲznhlLi.mn]Zl{Z#c 9s~qlٲ~sJ[rيO3 `. p9wp]۶ʑ#G&BQ0'h ٦u$D0ڸq#gΜY?3U!xXe$ˡ8DE?& 8늽R̈́\GӢ=mjxy札%)YM)f-)ZPpmޔIN")qTشeK'ű80ZMdܽ{7G@s= /{^x9=^xaNhɡ\pe.P 8̒d0Px饗f&ɽc$Jc#xL&Css3LFsnKvV) X =kZMI\'ʽ$D=1x+ISf)nԴ}g0eCsi*7Yep`+[lH=mk)ү+/о-e.94Xڐ Y%, 7hL͙SR\^"?5n^d^xsٖ h.\_gΪ,x2yx6I#˲eZT*՘Wy^qJ5/c?^x:_QE%Le0D5oK(j>ٛ8G/B] V}r)2BZD44t+1W;J-k鴀#T}DtweS҈/dh[>RTmddow޽lܸA73>>>'3i=A-]cU=.t\.m Moo/t1z7)YB8RT*]=dFZN<oN?~c b~;&>_w8?D2B1,H* se 'L NIBm WM`Cޥ>ԨbH]AID=vWF!2W^b̷)7 F#N쯑qME.Gj˫!Z\VI^^S( OXS}$aLPXT%|~zJnI@_D_SSnՅ05T6ʹ<54ziW*,r!P0 N;^Պ1MLk1LTYfNDt]C+{W/UY׶F+?? ۶y{{;zAQ3~ƘF.(Y?i]ix'j=ZG3RfAV2N'xA4hLy#9֩%[?%V7QƩDjEx-]UYUYEE[.)VeUVeUVeU.ؓo5ɺNJ3R^- TԐ蛄% X 1A@(df28T0 c;ɾ!*u_)Cݜ.|-ezLW."U9q8%ڻ\ n <.u(b5&k*ҩLB!cTjiEZ4`72i\ :j@i Z.rYɩt*cdSopl 5\Cgg9䙷z+y{ؼyCΒ<7Wfy%qLHZA^m J1Ŕ/~aɀKJJe偧w-l~iFK"鐿دx}ͥ}OØ3 A~"f6AZ6_a|jBbs]1#(#1ijԱ3]r~!r#eĂԪeG)E0>R$5&`||K/[TI&{8sM|h{MY1F-BM3 MHc;6br(ZH;RVS+2 JY'J%o}3D%1E{e}ر 45Z8`ؘѼi]$ff~7sI@IŽuEWf@ah='XB68`,@D]<SuR!?6NVíT(qw|FT |AB\NikBHIstb5zVfK@[1W+Si&=az|ۗYodYShKc6C=^+\O&7oizп;&ns>?̒א|a'ɷm,mo{ۜmr0o>9?|kԣ"4 sy?!!lĭl-~q;'<(ydAfok2{k5?j:7wߙ ?_i׹7iLwi) Cџh繸4=iALpxťPPTP*9A#G 5lX,^V c mBƬūtaϳz|){!33x#_[5>u>mƺu9;o9 4к沛{X?Tf3~7|C/XdIqB:FCo_ҫL`+ kcE?:)!77A:enL_=L?Zl, ,XoC}w xn$?eDE:v:|H nOd%R@ʁZH57 aa^ODX$Jkj rcTLZB.8,J[8y:54%/>%4X/-6*2QdIߞ97/SN朔yw7kb&ϫi4mѵϖw}wf1'OߡG~׾r}~׍?ٙeheJ7uX_r7=-oo\k/?Ym6ًU1KҼ}XU`s|;wJ֧~Y 5썙hNl6>K޹M@w9PR_/Jan4!c݂[$o$rl\]Mϟ%h{GýCLQ!C*ӆS-* 0JQ/8҇[.j3 >~t+>ä=se%'NIJl,˞12UY*5vѐl6Ν;gggw9;.}ݗۃ0bv7//rL:'dٶݡT1px^JvyIOv2إZѨu־k乚yMӳP|8>>@O=UuS/{o ~μKL9B.qGQZ~ὙNV\9;%\'3\G^Ĥj?Ń>S#X ڴfAKP@hE?KCLR,U8=TSV9vLJ$,"t `hP! =05"``|; .$)4^焾c\PL[[z~1{r9nYߵk׌}935g^̞}kBl#>?_8sh(+>wQkot(Wl1)ѫ?矷5LkHz 69Fc,)[1씰%Em'81)b?ca[KWs3 ~7߳S \nesMxj dB_S_sq߿7=쳌G*tvvk./g/hf׹o~Ou7{i܌8߹W_sMdM 6KMAW>}xw͗_MW%7 hsV5?n>qPFlC}0# փ$B$ mX'9,AeT:8Ypb놚7@IQ̀Cdk?jb*rjO*f> )KLb#o~{l[ b^"E%}wj%lyyQ|BzљYW#D6Z Nhr\:3jҙ)ba_w1Ja۱Kt!P~VfZ#t֑szsKkTD̟.hYEdg/sO1/qe8{€_C")%$o춟c@#?|f㟫>kg _|~7+x+?Iy|\g}~Ι9gnmeK/N=@BCHX 4@/Ц(z-.rmXiIHȾ;۱ﲵf4q$[q[B}HssyΙnA:=O*n!B~d&)U̴si^ܕMaL~#Wz9AVGG$hϸt^0rt ON:~8h~VK55iS_l^W:d ((պE:0}nd2P;hAdB@z/&q, (z5:.Q&2;QmOtqq%HzPH?RJ6׶>DZ7DT] ZB۲nRzg:L[2iI8=is9G |Ǹ?Oyy9\#,(( v":+c#wy҃{ߝӯ? FIJǑ64N+vC.:'K`݁Qr1!qLۗ1Brl|6ܨ.ҖȀ_q~~rcSkg_c=qZ#9E(j})BϡȈ.tJ󎻨ʃʋY& "mh^WP tFהSJ Mei(a`(^ &xKEC9,ZH@rb]2pZ[6(ilAhY_tza)m8"w!%B|[Q@0ݳϏpc*"NjmLGs۾l8Ͳ .Xrw|ӟꫯfAL{gN 1v'Q;c,{YjJb)~,$EUJ Ss'2ŕE.u{1,~&SCg;E(2ĽOc gpӚ9,)3=ld;)~F2EjCʁW31M~%~iiÞϽ6~ /_:j j|1$Q:(\Y4i<`nR^iK3 =[$Tylp&~b.|~ܱH kbgW2'|\WcaY\ŪJр>v1`VYdG7Md@>/(~^t!ktU1GY 7dHG$cgI0v842eY;V6k؆fuJWÄK USN`)/9_>K؟:\u|oqioD77N.bfϞMmm-s=+,^۰뾒 5gҷϏLv@4Q}g3@Sͧt>R3xE5-ۇm)X>UU`tٱ`z9 O$H)I&EtN@6 G8Lbzfq{ta׮?uJl[WN0Dgy-iRCs<2!r벿e~,]{>?dI$ Ɔɥ3 t$;뱽)*f.Pa ({ Ao3epm{@B( TVCEQk7?C'UV+L˹dݯ??VO 3 隸u(6ЙOt(d+gꫯRUUEQQI;gHV\th4\gO)YU^f%;;;N/&2,~V~G1p/:465vS㿥RP4#X@"RmUQfR v뢇"h(H2 )A,H1;FZ98fovrIʙ9.|LNWkZvx6+,,<){@2d|{{{;iAМ ,Y*~OA&StKME-H씳]t,ka[&O6ױL{`>-*~N21rgՌ_Q!BQ> \}8r˻Y1픜w9lLf@g==4+tbIR d3B%XߧaC/YQQV>KftiH)mWEA:2TH o+ja `·.)ywM>Ƕ8Dk,]TՇ$aP}>f>!sUք2F)46R|+ĒRgNwu㳳1]2%g#.Xi {bpGљ:X792oxTLL̔LCEcogUfJdJ X-O\%M2s2cMl}1!@0s|#&~êy?Ƙr__pa8>kbkyַJ"ZpuWfPEQ ܱ/ll]ws!z8tw08cFv꣤tYWչѕDKk2 dDAtDKn_899̹hXU]G>EԇAYYBH ;FM$fV2Ku%Nvz]< ܠTC5~uBNG,+W\Fq]Mś'gs3sL| _?М?EmoN`-fL =ZUUQKml۶M455hqKYu`skp}mϾ[6m/S[)Q k}>%խъu Ճ!?,],V6+D '| m1d"KELzzvq%pŕ+DMJeBXShۜcލcWD6F@"GAȇ1Gp8 e>7JFXCظK#&½YFcEG UW[>!j%;WۙUPDTV}w߈1溘Co>xcǎ7trf… TVVy| hΗ>n%qiqeH70"]n=D2aXĊ gS]]q&f>MQULVx==5D*Uuɲ̺a;YAYU w$(HI0 d2IqY+ a,? |k^'% %.o/z\`i),,).Ja g1~N`Q5^%puA{ >blwt>дL[?J0BmH#yd@cc#|s:sw{1%m1<X iC.kp߯z{y;ELheb!0RܾÃX&VE \wYkkm{HQLfz6~?q~O-ե>P_ ayL#a!z\2Nz X5?EӒcϳB(T^$=i3Ofxp(~Mj^ɦ}O:5Xʠ`W\Z`7'dp$)Q: GdYGP{y@MPExP4!e&㈐lPؐO  қXkp*Ā|΍|9չnmx%W0 xqke!,Ge7H,CQaG0'&L$Ŝx8͛7MǍKoo/GRԧfJJ/h",EqnMvƐ7K[v@aH%!`ılxA=mŲGϤ>_,~Er -}3mw֧}U7^v%յڟݻkZ?ߕo1'>AAh(XVpB%,K\6P/jmQIk.|mqi=fz43=g uU9Tk`pHRD*&b]tIP vc:.-C6gWY_?6g3>A)(( b&7Q4ٱcX_GFnƏ%v؜$~-_A p]`2eMjb[4.)ظur8#WvN'Yyt,* ~~p'4]+_}_̢M5\ZU5ϾY.oTuaڴ\O[ltEDjEmg*nI~Es:%ߊ([Y55]d3iR8B2`kVׄqͿlCg־7Kgk*=~Yc';0vmӕoS("j1\Px-ԯ\b ʎ,%5Xt lxmĴٻr I Fnm{& ltIPU|Z 9/cKp>qhPw?O3b::QH\u,YR1$ĵ$9Dͪn={)TT| ı-Pl8bPYI8mUBOct6ُq W=s$ut;;g8FXʷN 43~v7OW)=d316oO mٲu#CBܖu]BZ⧮a>]{̞=Nr /D"AE Z%DJǖcӕ4ܬ/}3\ Y <~#`6RXZ=mFkonlj.ecy .(vhBh,vx@߮ON`+@1)iCd\|g:[NeѸҨ DutVIR {#-\L$(u4|jQYK+]]]9 7vmY6biih m ғ4SrNv՜82d2qPj%~-xe(\\EѸж̞sacZ&Y(N ӢQ>oݹXװ}7En)lG,]!_~MvXs^lMlۼVBq`Eu.]qct/ZY @U"~?۷bqSͭ˗~ c- XEiY5?J|@>6߻+)珰׊E>hʟӒknСnl{<$uјVUzejĘN ;%?;0i-EEE]YHIg^,p]= 30ɴUC6vd>Bz;ؐ_ +)Czm$XPXf¯C{rEe6:S_)#=j楫jý{`A cF%BL;"#4.XF@ "F.3vlu\u i ;%./3x@6jھhK/-yFVeaVS`{os@hT@(󲫊J5 z?miU啍f_x5fT% >ht*7gϞ?mRv{ۑR"DUs# Y.%UEc8Ƒ%ˮիjyY0GwO0]Q\UMqXLV^- >yDr_"-u %Gz"l32$OH)Rҽwg.7m!M @R=4Mx wRJs y )D YwMYt8)87My\.֭[ߺuhN3>UlϷpMb09O_= A+6r+O7!fΨeVKBGbi_Rg7BB# bKgK(*i Ñ}1H!TF*o\2xD\+CW5b]q;3)@Ici5(((FQuPl/ơ*do{Z)>/Wg,  9Fג!ٰyαz#7^.5{ݜYB$HPC2%y4>º6 Xj|( 4aېL>mz+RRQق_ƌf5H hOm²Fp@@% R̖d.<U54dEP 6=AuAdkU| 4쌅 VR!`, oE[P5Fdu%UAf,i{s2&ٙxI~ I]u3oۼ|,\|rɚ+1 ں uAEcsP]SUcM;:C?ְ(|v];@a`&6oh {RO '#nvUʄ|29Ɇ}򾫦eZBS'ٽ{/dHQhi56Fd.,# Z W۵NyX݃LQ㏭/emt̛9/WRdV!*Q 4`/.`~ Q'dzas F7_X*^W4< ak|sn:Nl=y'*E࣫k>3ϧp Q`i/P妇ν`)5ឍ8@XzEUi5%^*'VPP_nM~Q\.ƍB}2Ŗ=̜9GcPyyyPǾ}LJشF*ѷm,Ck k//~qm`~!3 1t2s?}*jЧ}RٺEgŝmn:˚fգ%Ef=n)10mŅ 5 %:cx$Fyes"7ťi2)?}}YʊoXI.ߍG "q, 3j/+1h;F=[ү@S$L"!_:,ЭqaoE5aĈ#Bxm3E4"+ayCSnjh{v3,TZ?~4oVy!tVEG|3ٱt:c[if5{6ޞ$G;c>v>c4ozyE ˶7lҠ柼DZqpoqb\@ϱi.Em\7᪕-~Q^)قe9lw5ٶןr B<@bZy2鸝Nou35usy n}<|Z!\?äRqF #3i݇ =id@ķ=`>Op,G3fU1Pq]\< ,@DK.䢋.b2j=` a1ϲoE Ӛs͡ae[–Mg+뷀3v |alؗ#ͮ`v!ZƮ;"*0;3+Z~~P ! QaP-A+Cp!H{v;/Ff4>LyE+.(aeߞM8뺤CD"Dl҅w$dod][^`o o**՜-), pKZnX)1-DQDKtBII y޽XgW>}i gxh?c>WktD?@SKӦy[%ˠh$Vu%hOi<>T82fÉl^h+O5^KC4yeˡ۱ _Mqq17^^Fy@ pF`罤 H"?-T֬fxp:L: ZZ044Ďh_ؕvs}(奒g %LjF@6TQᶇ4QPr_n|Ak*p]Y֝Ԅ!gK{@| ۼ2M͔kek'HaӴe 8 ZXoٽs=O1j::EGќw]?=Kj 1TP\,{v 'FwU9;wz3tD@Tk-5lu͚n611V , H2 4ϝ)@zҙ9{|?}#d bߛ XD"xIEwX&f13&+6ָnjXyI|X͑hmY2mw]bJ;xik}@0tʇ t2ӊX J9[yktR;|"`[cm F#i ؖC5b=TJ!RRIկib</-ؽm/4ơ1.t.z`;_O34X3:{Phǁ85ut4~ȕWJIi!;6m!A6-͛)/M;5N"V_I]P4ȭ1:7C&,[k/?"w56]w?:!%H3(**f8 2dQ,{wD) GBDr?'dzlo\NO=mV0~%\{DƎe) oQ=7qB(J)fYC2F k>LH:L"vtrH 4ۇi.TǺJ*|oJZa#3c +, xS[7K;ll*,o/Sݭ!\-MF DLŸ.ݻ6*?LXly4;w<4Կ\Yk/~zˮ%Og2׹,Zo45ui+H'5Zxɧ]Ȣ;v%<|1'jO?ٳڰaWCMDžY?1ׯ%ýh`j55G*ჭ/Ѽ+bؙ6Gj^Ͳ[ߘ>?tWݏ#z.ĒiPɳD6kdɝ;FRyԖ*\^9鉩O Sg6h{7+h$E&  )A*+Q* :Jϔiu?hb\|kIf +VŎ;@ONJʪ:r.#*gĉlٲwtʹhK?mo 'm=RjڬM7ݍy wt0#OJ #9F_YWiuEW&,(jvGhn*_RǏգFB&ιY|t4 ᄚni|օ"{>*Nrpue idk"Xώfvoꪫزemɓ0a .V~:>Xb{Sd }/7q>GlԘЗ \C,];Wm|ه |Lz}rILU+n/Z~˖]nWL'82J);YVlv_Y)~]*]\R4SDc=N&6o Ƃl>rBS\5T555y[ \~tf R0. ܧ#hjjm4}xt]qigckV-e3vI>we{۶h&]kZw104<\R4~|UÆsZwbe٤ceR4bDN?1SQ7c3ΜpbiiY\udai:r˄Y>_Vwy}ŸW|,/z㴾}%YHhzLxG >;5NP@s '0iҤ#zmvT@suvvΆMΆL1PH$eQJIoGtNNo}K~vn|lfFMJJ+/kG@ԑdA*uEG˼壿1(**a֬:ο`<])S47Ԗng=y-ZL6ՅD,NǙ4i ;w,۶7R\T.l;J__ tw5FcOc[uއe  sfP+KJǕNDT+DU֞~<~~/^xݵiٺ]w,K{[PʇRuճ~J[Wzt{5l۶ml۶;33f $8X 6_.\)*Gs? 4ݰ3nxޞ&"]_|­]p hfT@GcA nzhf/u߼ -BcL /ӐKɘN-  IDAT.Yim3mڹCuphjXDo*JfXTͰ߫D<FZ@'rm(Buy&B)nLێMW'W^. `OSMݶB/L~M[)U>YꟈgիW3bA&O Hy`cЪ']M|TMMPyM0`Xem 7 /.Y .'{%oܠH=Լ|p_y%vy(8wnp`!<@B)TJ%J)Z!"ׅ.Rʽ"g_Q,NMqsgGƞqh8|gů<ɴhm7^"6ں]Rټ@vU2n5'L<8bW}۞Cک\QK{h ,8!p\ENlƲ,ZyhߟVR}hq:N8))D¢HzC8E,ֆU$@׊udٽgtMGco0  {=*yM0-gKBǁ8tL@^nht=8h ^PG 2˶wG:S@`i!*Fʇ9[qHypZ ',>s?R.5y=1SrY5x[\~_y wh>/:.4\H$U_SJǃFӴAk"͒J׎y5T؀RJ \ Ć/T|y94` b!!so(B} \|gc>0%tk|b4tҵtIgm\ϣc0mG'Kså؎Ĵ,Iƌ1m±aI9[V;);ޱ"+Z·Ő:G]:Ö^7n?7xjb"odhN_龁} !|e<@LDoWJЯg\BZVGaD/xq*˲hkkgeʕ\7m46nxldߡ{V .C#w# it5#m>wǑKs+.鮋 }m:’/#nf<()e>c'HhA&R5 vJwy.Kfұw~M1|JM+ <ݧ}s]KI~CdQ 'j.륦w#e$S&Ph YvWuZ]{|O5 *vg_VTLf2/w0r I'!*0Zw#ZѷmC+pQU3g߱}5f .;ƞG PvzbVI*Q-+ۣAȅ1NN As"T&6߲nvk6!f4adDnQ^ 2 /2+Qs+50<%?l9ٸ^Y7LNjzh(A3M`XԌ5Yp u]TWWA}}=ht[;̙mmm}i-$1iMCY?B~7^A^G4!I$ŹS}Xg݂߹TMYKs]IN|]|k׹USC4FcXY\M^M>$i.ɰ0d \]t^3BL;Jb<+Nq7Z.&횂?1}jej^vj&3g;,hB{W^OH4E "ʓYYZzF~Hwg:ǹÞ}DͯC醳g^l/B#ʎ:ijv#2Xaoy]S6WP6qN`GUF u =2J( Ւp X;;ipwD2Y*.ÃxnR_.$ѽLVWN)svӱ)hQx!L:Nt dS'sk7q0[o宻b̘1̚5fĞ;pg93=z4:ϧe˖ES1jFN~їĹC}s^k)zKυ‘R*4mϔؖM64@Uy1&'*FW#zƒR{ ިz~دe?걬=jC6+nDMw*q4Dv1M3He#1Lo .X2 jkM%(.x)2cJiI4XƲok "To<l MG&6$H=en22A>xo%Tk.j)F+7aÝOq1Wfkʢ}W}Mﭥ},{簅n.⥔0z=uUߔIW7IϬ͜^r'~ո-t|F"Jv|젶ډSMįTOݞ4Ț#33OEK;F?{ۿ6l YYZڱY[Ͻ  wJ`) |E>=M>zV_LƉ_&\6\ Mq mҏӟEhTx}XR62bB8 #hAp(2τ>qj3|mu01fQٟ%ܕmYe5cikA>bLvkE^N9zfLG,Ho_K{#vξ|Pyy9fODKK ѣGNgg.ѣGe˖Z6tBJf,fNn_}~?ǞϏc~\pEy =>F eDG65ֻiȰjo*/Keʈ8-<ݱg%ps{-|0.k7@e:nګ(TZ"t}hw?Jmf[af pFV κXs6GΧUs^4AJ_eϩl@oD[Vnd< zeoS|9EwuʲtKak!+ W]Onn/vYK`E:M{0HitFQT3F3N"syX\UU\^_T??Nexӟ/#b&b<$S2,d_eWEyԍؚǛ@2kSRk[<~M=*nk Dn;rGCq''ӫ.$ibdr7^[;|[mjut\bannYygb+. G* cC^F©5">X-JKLZ "f#} hI;p<[,M]X)䛝h~lmnЄpR\|1k,ZOM׿Ni)lwr]vY2fO< -D"qs_s~hTUU`YtfȘ91 B/~/j$7b֫#i9ĺ݃w>FySN1O'~6XvG6WÓ=ꊾژŶ Giܺ:ZXR DGrFa#j~%IbzoEz$J[L~`W/Afoѻ8 _O2qw3>C$˴g\G 2N遟E˨9`i6Vmd63[s5Ũ6^?,kv㛂5b.RN]Vy/mܴogbtү@*њbTwEi(~:\5ky*!Jo7PDLCǣHsP>2u!'wPE܆J [5gxKOU/dB x&ڶȶHtntcng?8TL;<3躎mۤ!3M :L> 6 i JDY J CS-_Y. /N 1H 4MMS{|[[~kbҰWV`> WuösՉe7QQo4'T5eV$zcP2vy{v& ʑn ݫ<Ǥ q!4e|?6 yykU)]~AZ,W6KUqK>0>hJMlݵ)l !4TFun7N*Keȃ^``}y<`7qϒ%iJ6ݳ=BJ;ИL1߷=~PE /]3wG)#r=ܶ [8 #|_u(oheHsVxK+)}*O;u6tI7߅rbOCM1g -ZmA?}poƍimmK.ŋpE1i$z)R,Xwygl!U{ӈ<ԆAN 8wW,~}_!/-!`ߒ rl3>5MBC%AJX+O)(!PQDbF!ueDGLqͮ-~؊sj `5>gQV5*|cƉnT]; h 6wvy4!;Gة .S(8fe?^W ?Yw$|f|$Ijj*'Ӧ**P40t Q\[ #{2. lGx.b1Kdۥ*\.۟͆> j V)堄\TU'BI4"1an^bK x´c|+3<;:V۶`RAF=T{nj&4K8٨maIK8uK\VXBG,z=e' \Zn]p>{xp |8{ĸzedtKlrӛ=n{ou=hMlruw%,}?!il锂= mw IDATɗSwNEIgIz1lx5⑨^7Ꞃa%U%OXdU51Ô57W?@EޏׇmCx}g` '\Qaҏwn).JBÔd,q\޷&Kbo4ྦྷݴ=Oǒ6=x6]4l%dq+wl[6ZnF%Xtu<3JmgJUMM RiLBy閻`$n~R糱5OYaDc# |~ТeC[7 'ЅXYc P MFJGJloXX(--=kI tiM!S:׾G/[ئ1D0UNkB:nK[HJ[kQYS8(m\f>,wؑ]b2 U}q>|n3wy< :R'˕|!N;YB5XXL{3615qL.O ܗ}۷rUdČ7x櫷!⥋q]45r$ H0 A24&E8cISt0\@ZY<1/i_ 4p)J)%LF֒25 ='W$lf2SIq4=|A.]mJQ$R k?=KQ/<===!T$ShϤ ecKGK#M8 aHSqD2Q,l,D)5P@&e CJ"+knKϘi UP*B:BYY ݗ%d1,c8W;Zm7/Qi_Ҫeb}V=uݒ%dR}; jd '*FHNR~G3Sq\^qnDz7ڛu]կ?bfSQּ'QOxW% P]#P ZR2(%%Y.7oGWr_>dҥKٰa ,>(h,*}9Cy|COe,Q.BhAhDQhf*]jףj_VVt/ehnrxG:[^[Lk,~s)%bG(y?zw֤x# Nɴ[Fzg` KJ5CS.=?v; J@.<5"^NZF8i+i 3oLko@χσX_[@{1AבDI-%HM"- p&V`{RPVaj )4wv%%} EEEE >6:::BNw}Mi%V>Z h>L3&hP|(%QI \uݚrm6&\'(~l]:bï㑹)cO}ǻbX:>,BT`䪧睭qyC̉1c Ūф(S JdB8s T>X'DΣf4tr] e.:$*BRiTP_Hq %A6RG3o<*SXX])ihѸ̍Uj׊RRBJДD"aڽ}8x4 eIk{DI3v t@76DYh/VZ[ C>"'ahc"b_ABB($Bq\.`PL#KT>7d,AA>{ Vtpp"\n@5YJI4 ^L 2*HƽhZN9mgd<0n4jBnKKGM<]]ui\Ҿ.I|FÈwP=_qj٥tldL$V\kMPN3e/}-whvU:ּ1$+^oiux5xb_dĕxERc_.}ų?7Qy14֭cJ3م?}st(&׌၃|UU(\n%5*ڇ&= .SA)TN&*^hT`PHaN|V]H !&DB,But]q$^/h ]8'?r>=;윇@; ZJ`dBf3J(k8YT.uej{^JvPu߉<)21B\Vj/Kb&B<ʹgfx$48'B`llڼZw8tk tayyòdhL>u2Pΰarr3b8v"h/ 4ku >2^L&2tzc0. SϝZV7Zڦ??b]^U 9 [&I]om:LY6;zt:Q_g{{Zg^gpgLy`W_ "/'g!,{8XDN謿)\wW~wk%ߥ"H8']tphD&T҅]cwN_u#US3{^q:i Ͷ--M9n߫c:˻}%v-;'B–6eZxM^<|JmCR  =$NlvxW#F?i4Y%_#3sks~ת ;uѲuKPzqԄ{Fu"M<D}yD#$]&h7(Y%ßj@hFcc#h_+`0:FBG2W%"hE]ƮbVHMg{D+BS྘ߒ{۬"BB& #fV`ul3p.چ-Xfb ֕] ,^ 6# 4#c6K$ѤO"ګ]h4U}y;eH?'j|VCwuaL̄dZZZ8sfU'S1*(3X0zr9+יekRi m Lwӗjg^{ntūVdF˙=GzoK:Dțʹ$Gϣ|>4X_Ŷ}_^hO{OF:QοLar&m\KޞCu}ꭾgaF2\ĻYznrr.ȅ7u}(lW)74?oc7N_+0ĂGl߰XRфax_Dz V(HK? Qt¶ʋ aax쎬5pN)4B0% eK)=8$AhPjb42Ta^@i %c-ȎB&h`+8ͨqojKͲÿ 9snȶ,&V<9&J."B!dAS֡ü(\[G0˰kx3“w6W ^AB]`m v2۳[w#5nSbY++dŊ"k /Nf&2f*qc)l:P x{Qp94T^<8T GǛ+Y3ήY (=3W;-/45FKDg=z:14Sv}#Oc7S7FVmBho{x5?&o#R`eOsǦ4Њ)e1E8&o=DeX{~~lڻg1D -=Hdxd<1JQU4*.ތZt4C0(2PuT4B ]3~O*7GK e3Qmk!RPUUj!u,P(t1r94-H%,W +fڱ.*D@}}!/m_dI) '51rG:>}Ee$˰ Im@M>KPɄ! 1XI^G#DwP0+=»cAIǺLϱgJBAQaۂeqlϧ.-gYǛxJWWGɜwyNfފ&j~L$B1A` ۶Y[/R H qgL|Hd ҩi)}v7F,@ϲC;~yg\6ZoYO)d:«xg>r&99vym7L&{?o.^s]_;؞niܿ*EXuC EYKaӂd`n:{xݻ );Lߪ10D#^I`Ɗ* Rj%>yo?18<|8 ؾ$bj薎#RHMLEՂ>t Q ΘEQʓG4-_UjGAHg(֑$f-Hp}FR) nu@x 4 XcE&kppP,+aYVM߳oYG"(hR!K*D5 B\yf>&\W^]7꨸ItHCLʹ By8E S F4Aj\ݩk1\؂|aeyxD̓8O Ӑ!8qV#wiϣtT"=9ZB=>L8Vsha<+|v5װi&.gdo0:::oS]EW˔l,Lhxb+Gq@&wecR%L zFSQZ?ע}︸bV|@d4|Ң||>g^sa| v^RQKi\ r[i7r%Ylxt|r,=3Ko}DoB!X+I QV"&RD4'%}ܳQ#3T(?Qr4p-Cgpé] lކcq=_sn`uC#Pym;KnGW,j$>ly r Bt%-q.nlc '¬nR_ƍY=Zj$ (T&SvvC,KgI|ulg0Ala &PMkP^G-.m#iBK |%.A;bzl5;Q͇D&d{0 }^!ueG(x [$YH=hsi2솵4iN.*;kx,0%Q8pf!Tч!;3DÂquEtУ:d`})]_މZkpV~C&*x"WeҹO[#{˕?ʹ M-s} QFfU̥Y9[$s"JfY&e~)K F:5ϳ}q(`*ؼ~X}ixTG;fRyQQ(JE& =5|zy#1OF֚xdE'~vczFiH|}?p;:fU/칻/nyY4y_+Iy&XϢ .]=][^(|w)~^0WW`k<H 受g1@\/}!Т:Q@YhB[}u U ]Qx g?Z*-aFkRcx R۟n7-''D3$)caʴAoBZ#qqG= )2~ ؘpGۿ&hl$1 " Ђ4+8%J.٩3} Fu:/`,8ڋ |oln\10Q$JF\`*P4ހ {}@aWˇ"HGnCRj%Q"hS*g-(&x  Ϗ+'/0+ui Z%M.7s}8|D7s9 dQ4ν.R*3V|+wSKmp_>=e{,"ih-tv;/G?S(ws|J}Cw~o7?#2<'GزEg( X뷼 vo6OCm?-p^`3]ڃS?T|YSkAn()-c=&%=ȒB: ͆zچȡPu[ߏ4 Vdb<2/u,.gwzz:|\K. IDAT+St0F_D* Wy *JYvP׀ Q.ٿ0&njK2k2]ln j~jP}Vcy.rcUv|0ppql6pdQ0) Ϧkx%FzG%8|#!V?3jJuLRC;9K4RKF;>U[|9H?z?t+crnMFi=js-ަNg^{-J%9z(+V`!8hJ^($SufF-GK؟0!;kS=RBWN PE\Ic~h|]+k.|JvX V[?K%is ~+G=kmy/'[]g׷ 98rn۸Cz[viN|?PJ!6*B/STK[Lu| :6>,6p5dU))/@1(S&*߫xyP <&!RTQ7q*Q}`bҠ 2{l/TtX=wd5J$-Ȉѻ"A)34MVZEss3BJ{/| NQ1fJG;.'Cs) ( R!EӐj^ǩNoz)EuVY xݏf [o5A>ѳ򒁳^@P(6#\Ybac@6T0r|ہ JF}Ӥ_L<44d T% W1%VTW \G0%諡7+N4z?< Gѐ+5þkS` %M&u DcR~>um6qn]o+7|O<'l&n>Z0.lt +.f5][$#姶\)[צFFY?{[-~NgՕQ.}SΝ;d4M;Vg Ḿ 7dj^q&F$c= ]23VlD 50 }&0I*4C j. 9,PB={\:Bb]WTR5Mhg#4UJ]2B=90rBgj~ء~o7d**L(^+*~ˮAQ*cC3|!tպj6]uŅW_H6ERa;6ٽ/2&`8nDMf;ϸ]Ϲ~ V9]h%cC_\oۃ#Z] hM嗑케T**619lS5voUb n; SOq磔 _I\&L3>>ηdNGmmm|g|| j:Eҩ(#"‹)r"&u _*VޑTceO͍*0d4-*#|QSs>=?CsBΤ  GC!Ua;tSl BZ~\*") %@)v*b([ !T C6D9 _mN!Z\.9IU7"L>=\XfJ)˚&ܐkFɻ5{oɱ#?KO>{G>ϟQ2iߴ#3?. Ǣq? yޙ-+$?B=V1BIYL?uD 擟$w :8;wd4M;n%IV^͙gۏhXF/몣9N,b.R)|&*. 3Q@E̠_TΖ('9u1͒qI,)1: <߿^5=@WZwO !D:o]V Brcڵa(}۶ѣGM5~|Q PǫPBf+gh9Rн "Hqssab?448BR !/0R"Z+JgjT:*YRB뗁T-zw+Zi\nYFֳ) Am(;@F^CcWukfe2^|Eصk_צ^򖷼UVM6b455i&۹뮻x"ZM%r,%%WtRM Ĥ?PL#ģMkXhdU盻fu0O>NP綾-ش3)(v.5O;8A)_ԸrRh4*G !&)dN 0M%"%t]4-RHDy^` 2H)@4RYVf(+O_)eB/(jaOR4MSTLJiR4P; )eN!eU'|>wqV¶mf/h)%\۷3>>]wuLWMSgHLFkZVظ4uaD1RQ:Z8:KOũiZ$j_M .9C$ga\]0h&E:׉|ߗ˹ YЧ09"JR7}J>WY#%\ !:R1)>RWBϾo|gTUwX-[e˖1zN:.պfγo;nd:_[G3(Fxb6%4͛a4WNoiZHE3KWZ҆ C,]4Yk>~US5,yu:RC9X/a{>ф4b#%ґ4%cl?Ubk .BA;v=ؓ~Ƕ>KW_}uiQ϶l&îlmsjJ% ˖!Plߵ/Du䆆\ f qIg*%zIHM[v-6vm̳_17vBqRHBҹjv 7-:upڰa|}iOq2R!y>+| +2>^"7Ǖ RYbC(iM+bQ-&E7:.PeH$"FQ sy^P uǶAښLXzB!hOֆ5вb sB)^zyWsj=}8 :B>p5ܵ2ŢBXlk;罭~nxxA_*٭LɰnonᦓzuBb"ܗhRYˑ͕.E)<>lځZ}.MgQP6"l1|M+S@Q^z>E8 Jʲ-3~#z\&W.e Zhyg0O<z pҢ"_)ÑmSohko#39RZ*w,ۿ4'|Tf8C[{[ N}9Ue1x^^z)ÑaFȍx8ҵ8n*a9Pegj0B&IWQ(1Rxa$';z-|G~X׿MT캓=nDSqė2&"&b60MtMCc5SmStRX7DU{xobd}=o32ƙ~ W(Fs_W=]jU2'*P]~I/H[{]~]~jF[{쟩d3q2KE,(-\YƑJ9\ua6tسyx/)7<C7M\BOoy[o?tbn5ڷo=/"g>gs6U6vT ?r7nkgA]Uש oo6l5+׽C:V߇^1Q։1e]'rBE|^!6|""?>]ΡiTQ-"i6q3& RkiQ͌{60]0:Rʌ6%#t=P6mȾ}-[(T\cRXdsb R+({EU:ćJi߫) ̳_@4eF€Koq nٯXCD2r2*zP`WAj xW\>a5׻B*jARb u-b9{BQpNmVG=tg[n9)d >U* ]~ 4JH): #P:Dch2+W慇&J9dbZ2irm8q}vvk Q|m.]G[8zʷpo:8}E!-2Z(MVOp 7!t뒨PB?Bڵgԛoy۾>5gݏ]WB4@W q"F$BG34&&э800gXrB/BWaFhJoq 8~O4lܵkguu13 FT\LX!2kbbJUuA-EO|@ 09fo޻uWCCMLΟq:6WϾDP95fh"c.¬{}q-υ(\6'jIOW0>ۘ|OD>;^뻏[JODUGŽм繝+ bFE*Ѝ(Ј'[0#IpJ э8SDq|i&wZ>ݴ#҄> uX gQ*%L XjR uWE=T+MTQQ5(f?D5p +߽C7l.ͩ::5mU Ϫx|TSV/Ia1gL}TQ݃<=\υ|VWT^UJ=UQ{ Og`YsZ+磲'7npPaFFF\g7`qf,+n<=`AVYno_[R]\]+Tm-(% EPb5B"K$քi`Ȗ%' ]HG7DNdˀ ӛ%JILhoǵ,2JF(GTh5F==OS_ :/9օX.}'tcτ,fzbk BQOeq"4u_^mTRM gLcBE0 X,mFHs fS(Ja ҷ))B* ;™ݍ)z*ixaW JFscQ™C[|=,wOcve{S:˯4o=#3I&Z1840HSGR|4RJ\k@IDbēѦP+4=fUSGG>D1JUUU1 (UCB~hXQ藀2<[Z5PL4WTZ+B',=<[u!֪9WrO•ZaGAXO+hm?x]H ݶtmA IDAT6@ !Mkhn=TZR]4mĈĈ$l\NS@hhnfmoeUiҒhBLzʥ&uO6vjmfK qIzS2=sV4S9h9]~I/N;Y_h7ART *Azu7,T߷^B 63F)Gфzƈ45!ݲX2Mq%M$:X308RJhm;dj. F4ތksKvLd*oqMQ WH&15HϬ3FQՂF@Q#Y5N=Ds$Pf+|VۿqIkXRdn/ֹwN5bNDЄRsbTNix/K\|xXÌaIr))q1k Z @Oxu=S192*͹2TȪɦdU2`ÀN38~e:RtHeM:_k:!Ԃd Fȡ9UjRzt<46$ѣ44#hŌ$uB(S0cُmF-!p!Fw;BK5cFPnj&))2HgUqJI4ZVqiU e ь&LN_ZZ6ִKcbMPBq4]AߺDu9U-b {LZQ{J!j4L8=T|l|1|GQJ`Yx^ ;DXwtÈy;kJ#dxϳ'$|PK&Acc#cc 3MΡ* Tfc2ϪOSV-+lthghNHT [lKހB Z PjHD/=Z"-9F7KŃKtMx(5xvrq-!:B1J t3B{6FMK`2H9`(W*%TCBl\.GT8 mgTjY Le+Nf5ѣ7?6%VeoW֨;lkHE4=-(m6jDu]l|G=ʟ Or^h%S[TTS|tHsB!STF2Վ*EJ@ףؖECc K8y12 H 0௓lX}l+(l+)daHMCGJlϛP.ŚUN( ͔nd$6l'qJζ8d?_nŗ_q XͳyC,5oF@EɜlN5*_q dݗ"'My,F$qmh͈O.#A<B匓d9(Ik!rW*9΄i>|{+n;DC=zڍ]t3ICj #x$cW¶rXPlf'!t#GYu%hQ,ډ} E`?#ُ`UA4vYuMI6+8('%^8BUݛ?L >Xk>*] -ϾA:11lʌc>ݛOөCDA$?c3e[D-s}DS$3f#OrhFrisq" z$A<ކa&ai 3D1ߋ$p1D\kR45 *Y+ TKVpL4Oʉip+bRќ͒Y3\֝U{ ٻd}W*ߵ|#ǽo}g:9Oϋu_;)txMh^:E|n&}X Mxf)|| A3L\/.e@Ǥ7nJsK(.52h*jWؔ65tVTj_dIS!wz/d6\t9O@@3%%,fLWi(o݂e; |F csJjxn ߈a[Q%N:^b%p9AAUzs\ÇKO= \ :Wĸ81*ו C8T\-Y* xsח[~)b+S׾~W|,ral3v !EI4ߵq_ V2od5 ?}6c /D\7)vTK_Sq4B9R_vh?6|vNi:M%)RHT2X4MzԘ;<|*1Q53BFdkL"x@J)O4լT׾:56ZUCĔo`cNgKMYg4tFc&ug؈9VfH?hNi:Mi)Rͣ3炭qR,,|q~wU,i.GfW)\.+u~ uh[oڴ?/"Rݻm۶G*u/ؘB0>>O~۷9! BЦtE"kְa&PP{{i-H$(Y+4 #4ҽwT 6kdvh*#5ϗζcv[87J.o1u to\ۏģ>g"#P4iޔg?G~xC%eWFb usw7WE"ع62˖qYCCPaiLV, |u64NJ6>[9<Rzx`i;v<5pHfk;!P(xQKʶlYlkYGS熦8!08gg`4-]_&lǣop;@nxr~u] |-+ˀ7sl Ctیr.>0n_N:R*,u$d2M(SJJ&4l|Gş mҴzJJw|ƤݍՈH$"HqƍBq>M$G"*D":,_i?ڈӜW*Yw߭3I $ҡ\ շ~a0QJv~+O\w)N= <c-y.ı8eWꁭ7'Y?xGin`xxpZ; Itv}}C.:B]qy+_;}RrblduP8A!˲|_(u]芩)qH߂.8}xhn31^g/6!e[num{yӧi4 80d: ԭeD~i :,,P:v )jr&'ܴg+ ⤵=DmdFz-ei( j+BϓB*pGd=kRqsCq+6C/RAGoz=g <ka. @}!);ٔTRvKR4;241iK:ko{?|:h,v'w&;pj6k5/q\Clq"頺]laDjuLef3;˯Ra|C{ޟꪫro+y^GWW- ;;/첟_+Cc=U | 9U _5:iDYx3{/ZɌZ$打pƊ02c,C"(sT*9Q1jgifY3j;~`7MR?O=Eߣ'3:^ `w*WzsrenL$l3^ihia-hMkE젾 !' qr)]blFRY.CUWZ~[v)MEm/ C~+JѝCu[zRBm1Y,JaȰ o(;vNMMsJϰVkӋS)JQ},6.d'O % %0py~7sd$q$Iee](F9S j\--=}78`^1:V,ˊ-emaKAU:ݔXS[jvb K/'pŨua}"{kʑjkyt=UT 0Ww녲cZ/pҾW$&ݒ7{(/:I(Z^l>W9 =L=o4n,umWj /9^@s aӔ=7'Ҕy?8~m>j x'/ +ATdq4FT 좁fzzzkeS(x)8É'zwkKp]FAPnOAt 3SS̎s#DH *B[`mωDD9rj-oݳ== $09Hc-vl71"Y^e/Pd7\jmtzN@e}$XE* dDJR&<(#("1ZFkD&}8$!c%=s}{. ,C)Տw/|Z7 { $aA>q7桇;x%IU-pC|j9u89%͌S 5]imadWDŕ&nzpLO?39_SP;6#R-\/z?&PjwiO]X4[|)JD#nkl*%UB +GU9uJOI)VZiUJ5xk.[)v8TJRuDLRǾqvwxja^^ٞPf+ZoMSw{^s_y{ xmv =+b 47 R^s_\R|,}5zqΆ"X˥'jrǹ{fĉ'&ߏ8chZ( N>t4GP(P*X[[Z?/fl}X`vLGíV|*hK) ØaaK1`.B%.'q& `ue,/'$m6kXo=^w)7R,۲֭DNۄu^@l$YziCz|v'|nnS鄾I!JWhmlcZS,,7PbﻌL?ql9QRrZ}\^')BZ(FJ2|n͐5wߋ{fHB#Wfü`6bdzHvb z@E$*Y,&C'RL uqwɴ$I1ha1c̃Ƙ5v* ާؕeZdƊ-ƄC;` !QptvrJQʉLc+\N[<ωc-VG O/F[j웹o?M&{ٓ{Gѽ7أ IDAT.s`΂R `-E; %:XͲ%ɾ·Q!vς1پcQ1,--U?y3^BJݮ[#$I8#%+0c F܉ԕP*!ffPO,/j5RJFGM22W.hy`xk1G%M'0/9&96f_ (B Bt_V kI6V>Ruѣ o4\exUb`1Ͳr͖-\16u??g,G_>>>Nԫ?Ċ>D2Tdrrcs#>wNXukmVڔJ=]u0?Z_Q,nds& 9oץj,;,E(x8qEW!U|ˮ)cz.}+x{$I%R;5?"`ڥ)z1,8RlFi\4~[Al[ufiZn2yRONۖ} ʯwn3;;//us77ZD(wzbf6dhj(rAC5^k:3J)|is?C'. sN2ʠȱ_% I%5kY6,Eg)dݮp_f鴵vSG,Օ的RKjחT[UۤNGE҈EX?u`L)67)y4 gG?7M*##8o~w_YːR[*a07;]..ߥ\CSJ))e eK.aXCD66S(jM)C-)Q֒928(lK^>(2_U8gy5yk 4GzZͰI$Wֳ6J.;(Xz+p%xS |cl8 0T!͌[wp6Ky 2uV=k.l.pTj&n,r (,iʛBchr!vP@JdrKm&цS$v=YsFF ~O(d.ƀgYV9Eoh&L^s4ZMZ's}gkx:_8 $9l+vD<~t3p!LvyuSS sbL _k5OQ> P6GَdIIhĞ0<ׇwoIbEwu]c0KKd?ԁJ S ء56L6 <qh v)=0v~qvy]%yM>O~ak;R۾ghR!bxX$VQ(>ZAʛEW)Wb.Ν%&." Q vˊE:\%%1[w\b $A |Z˒֝?KӋik=C 4PZn+O_sGޱ2"I"ŷvf uk/MMO8w8]c^FQD{(k4pz$I7aRq>b [FF5f'ȥi*t"GQLE֭NUaP"1bU|n1?E`㘲rgL$ Qy|6PHRq(:'@JɳW>OǞm6R7oOSJOؾ},]`~< h p&j+++022+S֛ݫ{IFcZ 3[1lxBg% )eP[xq 4R28H]*8Jv1Rq,E5%f ~Q62,DDO%Ѡ(!$QD.t(B> Nc1eʷD.t& cc05۶aUwLSxQ.\[#QE.p Yv%BXGJd>ϕqqUl!cctK%|\T""<򩧐++>o~sz%3#xk- qG2uAgoRJ+LY֗q [bgx(=˻7LZcH IA-F9_D0!@Xۨ\m7; 6W$%Y$iFTWgm\RƜYF5H;.oeq̓6':ֺ]zYr.hF]w˲~;})CRS؅'#hz*B\v y2}"p]RHn2],Rʯ;w8bzW ^pA,O * ^*"G1|6 c#9k,Rsa01:\ى˶=T)j)e~⫞\K'vT9>{ef25W[:bxbаi'[AN_Gd>2iMIU^b4It8SJl :I6Yl"˙@ 2T*0Dm"Hi-1d#GL>XZ\{-!&L)F*o "8Fӹѣ+;vo>qOˈguβf6W φO1YItsP&+T8ŕ:IY^mu˰ z1IUeZ]S*ǚz].5uo?(o-dڼZq׷;1:\K&Na =# 3R!9$ټf:WE$,} W _B Yc6ʠZ[fanlG#Hܨ9=U"Q|$% /2mQꠣ/za%t_ iFҩѭcFn~b!2T.魿w~{۶~0r/jnAvCXXέ5fw/~zu=vb="ixrF'Eyt\{̬4]_e4Y uOXq]e޹CF9Q&>E0#Xp}( !8FM=3eZ-ˋ,<~4PlOH<&>WX.4ZOe"QQc cc,--\p5ly&n7ˬB OOSY_У߼ދb8tGM$Li}Vm!İHS|au#I8HϩqANQI$ )VkQD/M KIX$IA+]$ Q3K NSR7#Q~; ,o;:b#V8 X.cQ?y2idYJU,}eJ#Z}cay&ϼ/+++}Sz]r|?? k`aya=|f#?&8un>Ovxf~`a 0Q?oힸ7:ՎP}9剹'* 'Wy;1>ZqRjjգyvӎ99)ϤQO ㉨durUT& UQZM\^`m$IԵ:KV(֊,5V@ IDAT{ZnZv eF몏ekK3:*K-R*F=ۮQ _ͅ!Y=ںM!@ 3iX{1v݊5>{>@#4a>vQ0u]DZO8ZcrѣZ-8Ekd[Z˴R3c_08p<`Ӌ`ZY{BǞ>!(e7gQ+##f{F4s]FEj}Rr{&8Z## cc;xIwq8>wm~ө;vV"ozKřOomOFJɝwɗ<|lcVIУȒ$ں\@>֢ z)TC>8{[$#|Pўy Wo^ %G/\YdRu"K)/uT +Ҩ$qZbtT 1V[)qJ k]ػ[kNK鑙Noq'WH*ct&{5)@q$^H}FV[#1lwm:=iN333TU8pg( lݺWٿ)r9<]Q}O E3gǣ_\2+LRjh}]|*MOy۔8cX|CroDl@SkjY&rR^ 㠲 FFP##efBFG#X$uaq*IӾo(!QJJ%eH涅UNѳB5Asmx7 @Y5YZXySss,ͲlCVjl4>W]$ZJqTN\E|Cs{iz/LOOzM7^\\''q]=Wܽ"n177B<_'OR,Y__?p8_q7;cw$ǁYsusݎ0fs]*RJ96R|W WZ#d=pUxcէ. 8sKMs$qѯR[=WceebZ)_JJ#4aZmciMWkk.b{)))R@_:Q,΄IS]۴GY+FJcż5A'Ki>ʦ>{kZ:11Qӊ>CgFFZk8~8^^7W׿'` 'kA p]F@[WV޵.tPk4o3W16BhncU?~ (u+qD3E=F",؁3:Jˁ,D.W\_+ȊE\c둻wzCxAlviZz۹XdˁV$:c:gәiz~9!7nQA"ZiJX$H{#rEb,I8s(,..~qzRJJ%#D a~o#0??el+n|_w7_\C lWF|p.ܲԒ}3$%T0֑j9oC?!I{}{8;ro[U}3sfdd_IB@DEEܯunO_qz*zB $dߗ9s^GWgNBBa'99OWu?zTyu#+b%˶h)\D8?gBv DR5I>`Ҁ_A {Bpb?q ocqDR0f :4Vscqwl !wBmi-Og 4VCCC28(F0M>KKKm19H);ߐFe gl{)մ!d41؞|.'{ӑ@e*  B@c`PϥR$+%l)#eqhv6xWEM3}:{{PY*b1P}) 1_e$S˂$``0kk:}"xyZ9煃4\e+WΎL><| k"ˈl6Ux0FQRt;JlV6TK Zzz@œnYhpq?H$|ҥKc`Ոb(++^ythmm=ܓ܊GJ1S*K6OE3!ms^^iN5 MR+[r/H$!/Vn2340:c?4ND4?8d*u"44 8'ųer p@cQG5A.6 !KF MǢ$m[l\<*_-8U!i<'luSJ.tyJ婧Q2eN= \2VѱjU?*!.V;6{i' پ9*ch:;;\.eY/QJu/wRxx%%!`4M|β2s`` 1LB|)&I^Ґ c1{ѢiBl#BBB!HYotp$$Gxg !Ҝp>_M)ЛP?oNQjЂA 8c("G7c:"0TT Hd2hze_7%%4HBK vmB iuQTx\r'{s暉zMM ֬YgvWWWs"&;]݄(- \'M:''_i롒ɜ@&I }&Օ(m\!l!ULN3OFWRF)rvaxdVr9/O(EDJ|:~%s=2N3Mqhhĝms{q`mT4PE&UTu aur8x1heeOz bmX1O~2c;9RTP@Z^ ۶mK8Lr%%Ga ǘ[^dl g$ؙC_w7itH2]$L*t#IO݋ Qol*sy jn!lz$_c#MB`X1adɵkn>fzHUcfRʂm}}}r738ob\F~̞YGfMH<"̈34ԕ$Dkp4mՖbJZR6G"ϧG9S8߯QJARwI3*~ ~FH  fN2q>д:s_;!+N|֭{e3Ʀb1ca}e>>8xun(EGG̖RvENg-x>VX:{vw0~mo߽;={P]Z 'f04 e9jMBӃmc߾}8qþ PDss͋>O`i)Hzi)D:DW JF@}=CooKضv-VSXpY&$kO/X$${{!űco/ my۩i0! AQBO?HbAFF%;mp29!s2'j[5N4N4NJz{?tAqqzf+੊^}ZpUSD}/bXVips#)h 0Q8b T %#E?̵ 7Ǜ|`>:?̞DKF[n_}ew* hf)2`YÔU U3~L e^2 n4)%J(J$;x'Y כգX`Ea,Xu:;/~鹩s[6VqIm/N>]Tzii`ɼ n+H aH [՟:N!TV@sUJGJ^_7)0Bir w!þL f`6 7h~n)J>2|ss[ϛ\xc-^&9P4S,pn ޕeG5AI ?DyK V7~--[ &}ps'd@ $$ 9r4NnnNuwwnOðX28h!\#u,\3ScU*M& q^Y) uOH1>(o8H/閒XtZb!hF4+- 0⳸-ٴ筁d"L0s\ ۡ э6{>vT}yO XUɯesf7qe:nvP]ϐK=;ZK7v>}/_ᴷnʗԮÝײ 5 M~hAiH۱1$)7R LZbAg`n_ϫKcRJ+ keԽ9G_MuM^xB,0tVRn׻{ƣ|ђuM7Xi(>(!šp %i5X7  9'!+@DM a]#1F(4]`طB 4K)3}@U( pH;Ujƛ=?5 _vSOkx+?6qt${[t ?f `08x2SR ~3ׯpNUUg>iPFzp 0Cew޵"!,HM$%֡Mx@RЙοwf޸u۳g5삛Yá5u9Vğ7PccL5kңqf7Gi,DBQ_H'=5_DQw@D B%R HrIl E+wh6k泙?>&|Eա1+_H|/LJR)K He-?mɲBI%Yp3aĀl[@הCXg}liJgM"' O| 2ib@欳V|/nӦ ʤ4 %%Ky2+^xq5k<7@6448eb]ȣؙ30P^ngꚝ|'/7|d"h^Hi }Mp\=RchVVu[.«kf  eC[ݫ1VOmW4ǛG$@"@]0lN4m&eC N *v3*q/pq.lbY|e9]#H|B$֣^({ LA7` mpjocY nߵ!\JHh2#v|֭Ze: nvu2j׫:雟.042ٳI d/), )NJa|Pڋ]w~ 7Ey"/*0ƠC&0Y֠4U?_6!鏭B bϞxfOW߹[DGPh< e-9OmJ ۩U Um)؁k1N" G%1UF`MZH*̇P:m(/`D!28"#N!tt$1<@)]QV_W#t }b!)4P0j_QFO?sNCOk34Λ0i@HY. >= ңJcј R_IL hغ\ʬ ~7{{9ha/_jpɮ>Mz^݈{/P>O:n=s6`P(v8jRE`׿pgGT@ eE[:j?f5v+-)pEEBt|EsUn0߸qvϚE z8Ka̸}kʧ(FVG@R/ =hpjNhA)9C:~$Trj{_p}'s$*R $&r.h0GhBD#T+A?J pd,z% $[G}p'M)imaġ}j&1$I蹂aP2$<b1I! !&jCkT-($1UPsηZ(J IDAT6,^EP&m4?qş&TUR:iw!á[;H%0_ocFM8x@L_f"? @~>Go(P5TOǟe펝֨aM8S9Bky\_b_g1]Yѵ2î+]8)J40&Y4]K߿  yƹ>{inDJɫ{J`MA8gB者G hDddrm [,էÁYH4'Lc$:sIyEq&tdFO;6|:a$XR+ |hI<Kq^z=m >s5B!Q |3i Bi}>9bШ̘ZFg{ Q s7%r;;m 9@@ᛝ1@@') !TUB2++~̭xx8J (@ … ŦM{]}0^RRh#μΫPwelؠ[偝t0<}[OoRLPkYއVVB>h:^<-922Ǟ:N͍i)k4sO}US O9kk MϿ ٴq\xU(XJsOnH+>/(Am8Luw،KNv56-5=M+$)ǦQj| FnxFa3p, ;UTH ,KS}TdIJ*Ɏ#*FFk^X|z ݧ G<'d` ς,HL'`r 0‚[D 1CJ&AMӞ.<b:, m i{9 ï'h0и"' O/|+ѽw(Wn,1Z5|ӦMWT`Ն yj%KVoڼ@]E#z<3@dGvn0G^0+kW@a 4)`+ v"_࣏f-pV7yѾ^sõHK̋N~$d?ԕ).V*MhXk/uP]̓`bA"syL_K9_tra:jSs%1oE\ا +sĊ E>>a,Q]4/kO6L(`yKۣuPʄAP4h"paңE=NnjPk>HHDBRBu./>Ѽ2DիN$O~ D"7iRR ̜TL'فiN6hY!(  P!=4Ha %u\Up!v%@1!TlGg,niB6 u]E998tPI%P!S__Z @4RlbK޻wv.2M#)7ib;R6RcHX7ơ| /,࣏nSȪ| RZ΍?w'L_m!#b[ [jDp&3C RK.(+QV>q[j{<z9yb[a/,D)p6Ez< iG;[x_&.J=;swr-jn(\~Cw {n~=[ @C2'G`fRE]p!8mC^1eܱ!&'PR:kNu%_]?~<&oƥKbyCO$XB(|qPAJ !8@j IOe! "Lit1Nuhܤ]#oPәpoe0 _Ćv%SZ] %EX% }yG8Gv]+jGGGյ0V/A@4 (F|U\"81H.&('7H3 駟VXԘJz;~߿{:Jc0҆a4Xծv"Z1XM5-'ܘrs\Դ~IسC];~͛ 07M_|FէΜ~~"˕CֶDi/s…8S̟"Ȍt:7f'@.ZRj^:MOX̚0wZRRB|"[뺿<^F}pRJzZ;s>c2jJd Օ%%%cR?b:3&8J3/nWts~8%V٣#HWWWW)* eF0 ݗP[)|e瞿9tn޼eY3^45m`pP` Ib-#gxo:[RRz{Ys}cK{ ȄK `?q:F(P h2<<Tc y! C!]0aY!V.Omx[3th!{+鄖m,5G )~@Rtd$k.!2x9#i#+|즳ة>L3!!~{I|Tz#p#K<Z߲,#h*@C`I}?p ?яt9ėut FcE7.{zÄP 1u19fCRM=7.2ՄF@-k@R2%>zkՀcI#=<)%(,!p"j TJ_ff jJ5FBafBs0CaTe7A姤"83D ,MPZ@/by&@\Õy}vg̚5ɶmࣣPU6%BHsܹ c~XAPVw\}EMQޗe`%!DT`Pn=XJPVPZx_#I˕+{S%Rx74ݍȡvz/{{ռR~4zv܊;^q26 jњk_L +.BÄӪ_s|7/nzfK[ϙ={rM$板ko(//}+R7|Κu>.U&d|M No{7)QH׿;d _BJ)  r!8U#N@p]gz&-)$Sc$!T:% B"9SȻRf91FWN*'>V P@I;&frhm!h\ /uؼ)SuڌLm* `l1]]ZR-h #XÔ2Wd V<-P>/[J w%D<_AIY&B-2隮cuwBCwdΝ/y\%H493^\8 @"T+@܏,!0{{T_6|Ϥ4VR@{ҖdMu:>O޼g/@{9xw%[krOOoh Z)%[:ǡfڄ-අƪkNz9,kCc(QJ%, B@ܵEPiЭSv?yřeQۓ7ҚU{#0]Ti=5/Գipgn?|\ =,ߏZT Ql “# TOЯM_^8 BK6- H[oiڡ4τ@}KK iH QoU끵7a,, }[||W& BD=Smؔ[ŝ8AfB.lwd;FI06t{0Lĩ.>ݟw`qLT  %&(mxtM8 n[n@O탓Xd@[sN B5)2@rhuswQ m83,cq++e C;lBC %1L[ GF'555ZZZL%O18er+ٳg[LC Pt4o[rR$+/qsYAVfJsR=f[' 5 8E_>1lfN Jt(7l@_(AR>|-g_Y^=oh8~(N}.,_>N:˓ԋ-O83[9Id[E-g֬Y3q͚51W wBx DzXN<)4 <7^"a#u]+? 6eS\; #LA)qMU5I5mZa2)dIn ejDrX3 `}߃lmg#:)cJ-cCGRh~V6\*3 p>7@oM㳷)Np`DAp ͊N·?8 RO-SIȔ@kJ%p{'\~\uۈ8fѷ{7c.":+JT e΂[:gVNͦ\"4Hoo3?$[?@ݻTpvЃ XpJu5n2M0҅M[9ǞbCaH *@"^t{#kU:OⵉCyId!]L8|h_5F*W~{c9綳~ЗJ^~9FKO/Hȯs7үNyׯz`s929:7CdeQǍBÃ&C\ps4#e>KL0Գ?ƌܔO\p~yD# 9۶`؅Z v S0`> ئ r.4s|Mm=xxuE 3OƲؿPBM8f1J;0z/v+ǓpjU/ n%3 p>R:o7wRn;np+J#(cLWnu'ϮmǷF,!v:>W (JPb~P3u=4{ ~{WmjvώZ pCɥJˣBUT1N FV|ߣwnVu{; c Ҡ;}"P,}III>6~w%-Eȕ_ط9rzA5'^CiG%/OGUm})teD0eA7bdJcua}U}ntBpf.Ct;BrGR91⣪&K)O&_-~F@pIPL3AMt8B;[mY# p.$wt0(% EM~7x P5L%N`@٨P+/{˗vP %RB=z׮p{,N=yRQys®sPr'sך}s?qB | 6 ^ { g25 yѻm`ڷ_3=ohqs#8|2KZe._Nd Μ w>{Psg~7;x}YJ =/V,!^cyTb-n:attO{jkk_ $octbͅ *(m۸a]@ CpI4_!D+kHi"QPC¶I1 3UMLBc)! #s!6AH);fsB*I t_H8V@>p8r d@6; p$DJ)#vs.~,S 'm7ԴGn|v"h\T7_?/Q '4_4MH/V4Y{|?A uOusJehxf֎[ۧG lLyvƵ^)%m띝otPN?u˫!Ef9&8MԞ\YZ̥ eRjfpl0w:c0ئԈi"l#D8|e `goPBTVsH!PȤvm@@؅8w@f6)gPB8BwZ1ͣuA&oZ&fe z++Ԯz˲JWxsW6-2 Mї;W&o D/k+YQ?Ӿ 465+ uv&r{ H$80Wtt$@NxP^{R%oԻ]&Ht^_Vx| X=^zEi NeЃ )[Y/ln>wEId=9G2'@o}jv᯾E/BfO. 7(<ґ1MHqWOݻ8ap |aUN`E*Y[EHu+>|ܩ-oI~w6ؒ1I)B"JlG\rIIc @ @J'FA)G>8ٶxhRX4J؅ F7ѸV>͠KͰ(BF%!BB a !Cύ IDAT$rW#6,]* 4̜zJׯU uPIU)rIBHkh%wl^}_߲nݺ/- `O6͊Da/C 6)!U]+W^PB)mʺc=[B9e+ CQU]%c;mӋMT~J7kʔ)jnezC}}}}e 8ت,wh꾊5q?kvQ&3%;^.{ze;}> #R]gi9ٶ *`mY.%2" )%vxXJhN-~L?E Rr !q!wql@RJB"$BJ xJJ<8b߶x w!ذ B'y ݷ"W Tx=@S4 l(ysO_g.)JkG}v>1V1sŵ"\b7m]geWj`G+rkV5nU;==Z* 7b->V3mqٲҧk0u%m|vwzѧ>TxW~z~M8Tv}͛;:Ʒؠ@3[ $c C~/ kLy,_Fdy~H;)Hh5VI~814&8?}̇ϯiFГG iR4; .e92Rbmt>g7ʇ?B1ROHyctc$L#0LĹ#&N cˇa9͇`ρgwHnӲ\[' >#7-;1Y[q2;ϻy@'!e'-dZ g7>7vGo}m؀,(+ /^T~?`{Z7knZ8gI 1i!r' y駅m^gԘqc%,7uY(y-k `^sbƁO9I}CHe}O|CNϬX>͂Մ=`@IitJi tBͼMJ) =R)mk3cvJ* ;b$`RBG\~)˶WJ)rcpo|FB>/DL rb Ӧ͋I' 4mw,^e4֘? BX9o}te5aY71&d*H J|H_JnϚ@ r4&dRʸeYY*UbThY+8J 䲹$/3Zƫ`5w ޻w=KS*kJCwZy|]u|'ZN[RyMˎэ66"IC|\ шa JJJESF,'O )y uџڹwf3JYemF~ łf@kk<E֦~kU)p-5̂y4 D$j^5 <8t>޼*os)fޏp66 'x$tP!:@rX.,d=?!-P,estf5WHrJ , OzvuO7Zrcq>!|hCQs&F\ `2gݬ~nIIn7 ^fI;AC p4h#EGqPd`*`cq>hiiiƧmJi4N4Nru*\/4;̯:qn^rg]G=C\$\bc Կ @vwƊCCeZ-T+ݽ%>.oKZQrsQ_/TP%)Z;izHKZ$H|Qkot`{H!]H Kx M g4͇tڕ x]E: ض>0?plC{1r4]C$LP1< xUl9xO|˞]{7ԉF.׺c;>g}{fa,fF@~T U(%$ MEN*@qREj4) )&,1[5)~ow̜a?w}̮ŽGy~?ߋ\ƖOжI8;p yFxXk < ƓQ+1r~]==MX8ָ}6~ lP%Mٽg|Rp:߃w=ŝwv X#k᳘ᳩ}FOȿNa@$*<3y(zOJ0PKmx*{Ow"ugB)^W{spl}^݋)~JO`D9fy..^:FGBpbЩqg]$ wP ;T Iq&#a3 㼃!0XG<1 փEYvx.h` /KB3Uɻ8r{mTZGhctAkdwb>hgRphc{X5jه` sC<HP\9;o>bxߡ+(n^VHU03$8h"XrCHl UZ*0``lC( x?~_AlCyFZXrANϋ5X{gqB3u#XpfPK[/^/ԪY,*Xy5nC4iSHJ DsElst ;CQѯkM +pgk8\lWy;΢R1x{fMhR RA6R@\qF qsfo^L}ه2%iT)8.΋16HD֨EX֚x.x%a40dsf`|bR.~/>k>,uVu9Af~1BR0y#s?\Doϓ/;WIX)o.HM-Q0IQږl04.  ͏}]%MxB* [ ,:]+1 z/!!B 7`}\/3ax?.o6^%M!+Qp:Q:;`yn>XrT\(1jὃ6&+R4#,&[zϷnnQp_`cb]g _4K-^RB輓O^N^CBXԩ+{z q7+IA Kkj{V'jl4?Q!Q֯MQ c-4?mp8ë߽ }x/ HM]e󛼛Lv, Q\aƨe?#y88mTrBVC4}W/e>e cIQC0A%0+.Vm66r΁֌69OzΉH U8J 6+^f2#<֑d4c9K4^ٓLB$ )!V#ۧ0\5yÍ_7LaB"0.  En=L^[c$YxD5Ք`h1ư>Xǩ[8~b5ރ<Mкy%їz6c!{yLz k ' |Q]{R!Q׾kP%K]IE^+bQ PV-%K:)tLD6%_'֚`dmiRp!A@ާ.W atS락Oo?Dfډ%c$&nZZkJ\ +TcGgv!E4/Xy]d%ѫk:q3Nx^Q8cEu]I2KF,:ƕXY[;,rώ"{ =AC5zD۪oEd8QJ <U,iP>:jq+~(sM.IY'S V^Xf%-EFmZZ)dIf_8*(8D;{iyŻ\ mZLBY]%í8y/}JFrR8VSX7S I%r-û/]Jjф"!̔L)hĉPksR;j5ÖD 3nteƳ"r`I-ZG5ugA(cEL1K+'Ի8 !n ps]$*"]~m\AsϢy oB85?sFrWEx}FGʵ[X{YAJCst3C14O;FPi0o=~gcMj2ˎR5*]G`P``eu܂4jEڅiH[ɲպܔYYg^7'n,udE~.Y\ EUPpTܵxM@*@Ŷ-Via+XdTǜgCSxbN4G)E^xS=DɭB$Uɽ{YMr]ŽNk]{DB{'jˎ'_#zӁ۝ )ÀP硬ZH .b 1 \$v, FSRH!`^(h74*<*Ľ7BpY}uù Ua}eQ):h]# Di$BZB?mLjgI#b]HwJ9>? 8"'] yl'dNG@:((cr6s˽&%:6Z)q,I"!/"ʛK:9 mgq#p0ImhZPs΅n1*.e⛨u^umӡcA\Xf@@&Pk}Y }>s a/ozanUԲһnʅbŪ}}쩛ZtrږOn' .7Q`}a'  x9iVY5mJ\цh8%V7i(IAyBOUc-j.K/8й^IL)YxpI`yt!w]5V uvAQIqdo֊ɴc<_AM7Z(J~=px%+Q' aWsm׏%ZB\gvUB>)%."Y^.J=E 85]QJ+h(8:$q 3aG;ʊ4㮥l4 !͆;}&f-Cc4 Z4 =/iL0{gX,#>ݬk^3vnk6Klhj!мH3RڛDCf8{ {'BE=l*E7YzZ,ixIs7PwD=sxc+&X5fK,Tjc> (F "|uCAp\*!4,gL`WV4IXiUB5NH>|q:FH!&)zs͉D.bSÖVZcQ@RSW1bU?5HLY&“rmN:r-sgPp# H~.ćAn$˚л*!ݯtfDX4^"]$I4A)F%_Y}?D8^ϕenFhKf*Psw44[λxkXpܙ7lck: 55>wݵ-岬f1E&[!Ԏyd JRMj3Q[8w|~I- 5z 8rmn5N^{ɟeyNkM_GmZN֫E Qk^c<aF 0Sj.r}H&XuR= ts5_xO_l0(c+݃4m`abT^#7TU1ۂwXnW. <%j"Umf c$|Ә (kdw8]nz /xM{#Բ%diNo󒀦&NiWE74K2)1B`"MSRXLX(=iB ,'1V&?<@A\iVѺ., \R]W_Mo|ZaF(zPU2~,kZk0۝6gPc&acgXCYKM7J#Zp2%jn*lX3΅Uq%yÙo|ϳ72༇*O2w3:v#ZRsC$3mnMl^[p;XG} &X .b=Qs<<.|>{߯k "4M<>S?‡Ji&auvAO7kue-aHM<иCf!?S_kE#څ.LF!*\c8~C45$$ꪆdX@%茶]c7gvq3Q`Pv@FUҩk'u\FPdw)aġG~w&puON=8E#Y-чl77Yx21<dH"|}t*x%)܏t!I4)~ݩoҹ^6iTM0e\^fn̟o<ثv_PBHѽ#d#^>9 y:6ֻETB0@Bq u$!ao=ky54FC+)Q_t >6EWp+<<$dCvͼ$<{de yG":[.((((8Z(cUt׶CÂ܌3L2~ w~Soҏ>꧿LklsE(ܱ*>{1/`e`u2X(:'z\)FQ cᡡ1UGquu|h{ j)dHIw[V[}P4Skb"d݅BH5$z+}a^;АP)j=lwn C+܊ul:!WQ2@)/ wkMli#Ӹ!yBx|㻮_H}TkF6e}m"2۝sM#Z?J&bqJL@4F"H::]gT[1܈H@F]J  cuB:"BmCѢ6 )dF f#T!8騛V&kR6k``q +Aw`$8磬RgBm2LN:S]-06&د5=ݬbƠ.ZƣD:mj a9XT+ nϣZTp4,yīHh6'c,~oL0.DA5(%{u ZyR |irYZt4C{|9yO'0 .F(ze)2rn@f8Fr8\ERʬfe5=1fFjTzۇh~o/_mM.c= c z_7Q[hjه>ZdRl'J{.OŚ e0N*c)((8D{Ƀ"BHdTh3o2ZW;m>F/Ŋ@?x}9X\^g; ERXx]۳ԺYj[G]h-tmλl3` h`#+?}nn OcVzN\xt|Hg)h/]1LБ`ɉ6QeDݼb@ VU;a.η G Uf2'7F{&0mAB¬bU1@(՞NFALur-`Rp/E3W2a0=%\"VXll s|XX뽓r~v{N{ーn_,\(9CT2eҸCW[t1REHU佇 2ea >%)]# YR;F'c|OE7#K3h/GDUNKƓт2Z?&D3r!Kw֚88'2,(8D8MEL.m建3BV%aDj &+SO{r>}ܶ~;0 n V YG]f$߽K6 1]jy!*|/?r汏=>G7h )ɴK}F<z|vOz>ڮ2Bi{xhhP{}ugw삂kr.&JOM2w1ƞ t :pFڴ<~F]8r 7d[ {rH.ˊ4tA.1 0l?zǧ?'cMwk̨O-NkBהQ_;'Ӛ數t&Y4]#S!箑0ѷnӠjmT( ;\D!DvL$@KмG98]hqeG$15ƖʭW! &mGnw !%O1) 챹.] IY _V-HGL63%-8 R ~;rsv{HCNI>Q"?"t\$m̺#H4R%%yXkY&Ӕe%8/?M%Y ?cA&1<ꪆt5z<'>0ouE[ ;mC̹ږѲw^Y9Y1@tljRy4ZFi^rإ!Q32!2 \"̳ر,&-֌1U`k`Z.+NbTC6k02{0*7ȼX﯃UjHppXMsLvc5B$ifmSh3I g |^oˎgcHڻZdXdZ7YU /((x;8aL&eZ&5ٌ!ы-BΚɼ'Zp%Y\neAb"yEAhzoBejC*߳=N%#!K$H.횆;}5AZ#f?]e=-eKTp(wgAs{`&rPqb[KbUg FhJM)ܲ0"pt0o 8TA.H'RKd O[ߘѢGHv9|zBEԬ]}^%#z@A PO3Ţ)(xY4k3BW2Z0:̲_㽘MuYϛk^p 86,K'Y Φ*k* +#銯dݥj#bxbѴc^jJ1Hre AC2޻!unVx]eR vT،|5{VPPp, D~ʬ شC?>:!q[0ccyuL A:,]>z4Ƭ4<;t]U}l#>_`V,KqP2BN]c-͓`|;Řiw75i)ׂrHak{ !m퓹*H=ڭTm\z )>k Uk fY e!NYmkcb(on9$v:Q YY @(:WmkiztZk{%1nQs.G".K V'hep<$<WdSPPpĈ&3yꩰH`ʪNa 4{Lm6srՓj$#oOu8nkXc$*O7R"k[43ZWMs*'F1:gd]ͨ J,q 89јJy ^ N ^HN4]u~ - D>0r/tUފ&mnSϫ|bbB)1Β[ǟ.ѡZNjyeyɘȘ]rrVCDWk$&o]/z5TPPptq]DҟT{9 u,ڨؒ; P]x/@:쏂ePfX)VWi>]$$Qc=M$s9u"cȹ @ )80b\cH2lgJzڦYKjQ@ukC+((8BDCEt~壄j T~e`=c\Dim qM@0H[k`;,p=5׫kxY5HFSzqjˬ]lN 豮 yg1uteSIAH2S*ifygz-ΞMFWh2do tj"Үɋ1x # +ixۂp%ˇIpnv v䇗&SkE$΂N%<ם/6sp"8B2 Yk\JjYRG{=,]UFdR\d ͳ ۴ -waFcMPSe jfP-dٛM{iCH) bbKd5̈s dhfGC-nt.S ly:|O*{&@ޅ \f1G)BuΡOӦ1ve}REO#x g~dům}Va<{Z*iS_]S:hM?0I]~ͮ6R*D &SY*cU UQAjkXL)Lx2q-W~<ƹ,Ӫ "fnA(%U¨I:;鷾]op_ormFq䯛qsbTV-~X|zP{}),6)nA xOծIבYC k5(lJgL &;a03doMG82>scM{{$@,R))1n$j_{0W1m,5sfՉ =@ %!;D1mxI`kZ &C` ;󇨗̨rI R q!+K׍xTԧZx#hMKf$}W4)]$SX;p>_5M*p1^z?{u-xmf;XnzC2my&, 5ȗ%,!q%fqډah]ºVر6޹r% 1~e]PzRPzs.^ˌJЕ :TQ7grU?v齧?ģ߾'СI "y")jhzh-WmPMڔ׶fGz`lUk[vYA!Ci˄RH3zm.+"nZ} w  DʩA 6%qN [  UPz5ô! ǮI44vLh:QZ46Dq!P[L8aUpGF 3\e*$󱮪S< }6yl"‡/]9r>ߦ!4e+1ũyϭ-gA_3^>G;nSl~lv׫Bk7j_ڿ&6N-#zQڤpq 3@T2ks`÷Uл).-(8*D}7W i1:"֎~_3~fƣOi!";n[,94Ey?݃.'xְ.c6_r#[ O7+[QPPpm˱sWTQQQQqQ傂o* )(((((DSPPPPPPMAAAAA!B4h )(((((DSPPPPPMAAAAA!B4h )(((((DSPPPPPMAAAAA!B4h )(((((DSPPPPPMAAAAA!{e ESPPPPpM3p;hIENDB`gnurobbo-0.66+dfsg/data/skins/oily/font12x16.bmp0000644000175000017500000005447611355415450020446 0ustar stevesteveBM>YB(t X  (""""!"""!!!!!""!!!!!!!!!!!!!!!"!"!!!!"!"!"!"!""!!"!"!"!!"!!"!""!"""!!!!"!"!!!""!!"!"""!"""!!""!!!!!"!"!""!"!!"!!!""!"!!!"!!"!"!"!!!""""!"!"""""!"!"!!"!"!""""!!!"!""""""!"!"!"""!"!"""!!"!!"!!"!""!!"!!"!"!!""!!"!!!!!!!""!!"""!"""""!"!"!"""!"!""!!!"!"!!"!"!!""""!""""!"!"!""!"!"""!"!!"!!!!!!!!!!!!!!!!!!!!!!!!!"!!!!!!!!!!!!!!!!!!!!!!!!!!!!""!!!!!!!"!!!!!!!!!!!"!!!!!!!!!!!!!!!!!!!!!!!!!!""!!!!!!!!!!!!!"!!!!!!!!!!!!!!!!!!!!!!!!!!!""!!!!!!!!!!""!!""!!!!""!!!!!!!"!!!!!!!!!!!!!!!!!"!!!!!!!!!!!!"!""""!!!""!!"!!!!!!""!!!!"!!!!!!!!!!""!""""!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"!!!!!"!"!!!!!!"!!!"""!"!!!!!""!!!!!!!!!!!!!!"!!"!!!!!!!"!!!""!!"!!!!!!!!!!""!""!!!"!!!!!"!"""!!!!!!!!""!""!!!!!!"!!!!!!!!!!!"!"!!!!!!!!!!!!"!""!"!!"""!"!!"!!!!!!!"!"!"""!!!""""!!!!"!!!!"!!""!"!!""!!!!"!"!!"""!""!!!!!!!!"!!!!!!!!!!!!!!!!!!"!!!!!!!!"!"""!!!!!!!!"""!"!!!!!!!!""!!!!"!!!"!!!!!!!!"!"!!"""!"!!!!!""!!!!!!!!!!!"!"!"!""!!!!!!!""!!"!!!!!!!!!!!!!"""!!!""!!!!!!!"!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""!"""!""""!!"!""!"!"!""!!!"!!!!!""""!"!!!""!!!!!!!!!!!""!"!"!"!!""""!!!!!!!!!!!!""!"""!"!"!!!!"!!!""!!"!!!!""!!!!!!!!!!!!!!!!!!""!""!"!"!!!"!""!"!"!"!"!""!""!!!!"!""!!"!"!!!!!!!!"!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""!!!!!!!""!!!!!!!!!!!!!!!!!"!"""!"!!"!"!"!!""!"!!"!"""""!!!"!!""!""!!"""!"!!!!!!!!!"!!!!""!!"!""""!!"!""!!!!""!""""!!!!!!!!"!"!""""""!!"""!!!"""!!""!!!!!!!"!""""!""!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!gnurobbo-0.66+dfsg/data/skins/oily/background32.png0000644000175000017500000042774711316702701021270 0ustar stevestevePNG  IHDR@@͐sRGB pHYsLLetIME  2c+ bKGD/gIDATx̽isir\ZiM$?sSKm"; r(G0= 4/7wV;==Iu~m;ښloo7xe??0Nwwwܻw'O6wwxF|;>>u{G;[,r܋ϟijlDhKu#ڒ^Ǐ}x5ƛ; ~!E{;Ҹ=~[@hǏ?kǛ7o~kޏc6u9q߿r?oy8C\wefq_簾x5D;X\1<gګkp}wuEbNx:57%9>D^^.Ox,<}V ύ׽;<X棋XEόK󙃪 sb2gW 36{lUqs ~$'`3[n:aƽ6؏6uƋxvlU\s8 ؜!YGchW#&$Tmky1v3T>_myA$ξr5>~ 5iW1Af-281ܫBP6yq1 ƜJ04Nش-&7ߨ )+2`kkUBWnLqEbWeV!&c{ MG+.6J 9Y2ܳf^Zb^Ϝ{;Z6ܘZ1iaF@(Uhrl0g [:(ZZxАF{,#=o's7o ¯FmOaH_]hlo3@.USw9TFCϻ '/Z` ReQ/>*Z{}e_9y-4/34܏NY~}8ߍɺۉ{Lټh4BG˸9ZL~/,zJIq9o>0d.P6} >Eʯ~UX9'mmb&Zg"( B".]{=[d&,?E]ty}.M'a<~S{,;x//ϋĽaPm{{Xb/eL$._5gƜc_?nY#&g<6 aB7%&']*>6'^|f^v<q *b.'̏~ "(?9ÂsqNDεSq V,MڈY4mM<} !xnTd6e;xA0іU˝x}Xkr9X$󡓎-tDl>x#6擃unkfFxc:ZX;f qŏ7B#!"6lt~Ƙ3 ay/ ®>ޠɇ7ewcNoO{c0Cվg iAc"6զ·50܏碅7_dp n3vn+/ϊ5A>5G)s !í=̾D)ї3ky]cg {eG'>(k? %zx5E@ ¸W1obJlE߶yLFm!_L:dMmHԗqf_(6C?}ޏy/I}Z5#K #؝v1v,g0w8AdFl{wcB,x,t@~wb1ܵN?ǀ\E3>|Oďތ6X~hg+|J/c}O^ o4 Dms7`F~;Fp&%mQwgϢ}Bq܌kvyCQk~BX-07q.ih^82v^//XDuކ{C@dT{5,EkkcsE޸:m >zL{=b|*iAj|WW,ƷhF|N|v3k?L+*޻͛?62D۸Ѥa7>z}ډĜ&Ɔc@],ø-+/`U곰r;F9r^b%f#ˀ6SbAdžlDP/lוO4rAɄ3W|hADm Mә,e|D>(R\ĤysB_7uPnlEU3}(J{+{ϸŅ;FѦ_e$ߌ1`F|9ջI=@Ww^Q:}k!y)]_L/ˍg; 6>o.!(*mԦLā :"gK/^A6Fepy[8meq:}Y"k5L2|B{9aÿgfſƬ"B̝ڋi0{N3BcrQ\Ƃ>fԃ )_(d&qbr|IȿiN5cǂh*4+OM:G8+=Ș°UYph}`mDxN Es~hsu>.J[XH9Q0 )H =;q56ݪ*+švċ4[GiEasá8P#Chhqh# 4Ȯ4pP!4:Lu080Fłl?62xN Xc0bd3f*{XVZpY# zxz|}; ԗ61w.Y3Kf rN|!p?&g1-xl  ث??pv}Y)qL?0uAي_DA^U Rn2h6YucZ&48F` g],bҜ{x&3@6'0^sMlW;rwtiY|LU2iLÝh$>Abt}QDg1 *" q XTՅ"xup3)OfFbzfIEȅ@؇_ހ4Ǜ58юXgD%s?&q)X(Y-َ"n,.8G"Ycq >l4>T MT4dpgXnh@f̘ ^f|![de2}'1= jDq@ GX[D 4Bၶsm3h(a%|sxtb#r&qHHjl,db18ѥ1]ftd3Fe D3vW)?& .`C x5 ڀe.D4G]sӣJDK7L@~a҇hcxo0Z;1abs^]N-^wp963X0 !/^pjɨol=+{c(eABbx,%0YXx{ՑHZ&C?x'<@<{>e?1Cs<,zZC pU! G܈H!C<7ѱj8,"Ag9r2"6R`м}"J"|vvq@N4?F@H; KQ(c0bMNP|>mYRaZMءG}btxfo ! 'k`4 ~*MؑD (L?PЀ|b8 'ǽ]GaX.שZN5ϠMɎ&E;>bhaTP``8yh< TxqD O}.U`]KAsyŁ~hak%٦Y 02_#W0ZF]]Fל@ d4 `;~ߢ%mE!2' gZhLB罟$*ԨfY5ijJ&/0kAh{E"]XX6 J lK?ZE0v?^Ÿq:+fZ+fV*^KC=fO2,﫨|x*0;4@nstx2{@DS#@k"À} ~9(\I(aآ!ds@i]ϟ?'E--`/`LD,A;7:8\: s{ۨ@t?q6oC(]|;0=khy78w*㳟R}=BMM}\rn؏ث2r<dî݆~c['{'pp4KWX L )c>/ ɥ@_s"9{$/?`&ќجc%#  Lba)th&zn}*u侮=X[TT4OJ_Vze i7WO  LӾ!#zF|7<0`8>h)-8L~BCvW ɦ6 m򥞷/_.c#oH @iԊD{7P-k <`4\+KlNݡ Bc$gS=M=kG?tIsFIclWJzA.oڢ|ȸφ $;fNI Z/eAYqk/ `0E8uJ.4Rz^So_@q{{vvZ+ՖODdz")c Seb:AE6x.̒% 'c`BטDA:(fTHm$#|I~>3.ܣi.m6Q\?4 g5 l|u<ۂFCF"hY\yF9o(6ϷZتe'9y]94/Sř:[˖,=煼"nc&< Ssfe@lB^J/dXߩυhSi=㥗'="s6?c8ch}\IQD@>P6zcvUkxnb0+B5b37hi34g2DX9f :yP'c$g>=iΌ ;4i 1\W_"5&7#KWqkuhPCb9߿ -$$֭H"g}$ /&9c'K)+KQh. 0Q{{!h@;O<Azc.d_`:<|L}S&%õ1 D7 \.wAՍh7KA9Rb|o`4O֚UdNBݻwg7 oإSv\s)0mp?S~r=_z[M[WGx2|C>kFO Mb% ̃̎^#fCUTט X[ @kJ_*,4YidikڈKGKT-=r1~kywDaf %ki|T^:6":V ,eSTǦE5"(й ~}؍6>w .qE[c~kE5d55Ԫh̃Bokv=Tg֪E0ˢB(RzZ{ԁ&bb%рMl2ϔdr_pD7Ms+<ʘXw+pNnK@G!P1;X|b_n4!<"bIhe|Gt7&:4'7m^* Ng'ى`-\fď?Ikll #1SA5,%*c!#gu/`DZ9zGps'zl^<՚2dC(P' ە^ ZrBr#Kfȝ4521~:WQ_`Oz\?g03g&(i2Y 9Mr,"4"y$JШXbV ʌ0W^BHAu #rzy`_xZ "sr;589og;1 "oo$-j"/@FMI *a֦%{<&GJ?8~ 2IKL&`أ 9LS|Ф}]YiY#pR.0GU?$&+M@D,f"AY*r [8 @D+LïgN褝[Fj@JmEGάy/ mHP +M;6cA%Hx AAVZ V v8OcXD@z9eb5Z%FPStN,k VmTѵGDd5\bԟËش)r1~B!o뼬n_pqX% Кh>]^DTL>|?!G+ ч Q ^"bn_l+uTDCkybB?N S&^/ƞ䚭gf\h g3m͠T#9~T6 >${"DŽD֛BFhgNSK@SĔ >S]^`^r#JDBF 4}ÓnX@2X3a:%A@96K~gEKZ$AU G_ъH@E7Ԅ]5pNʘ+j`Z|CbLh~?A].alF=ph^/cCH B8B3 ?`  *?hs79rQXvr @w}U^u\]Zy$?i#\^`ύ?lJ5e'xl5W&}g" 20IubMXlbC^81 B섶g <̦ϵHb٠Up5P>r #t_|za[D9ڙYH9a~-Mc*^ ,A ? fKf~p\ez@ HPČ5KPqA kCZV SPBRtқ,j/H—&(&5ŸOuِYW6L>+"=זϭQ;>n,R{d5|6JV<ٟؿgXYQwlUGCJOOI>mj?6)í:FpHTo̒{L%hW1h7cѓv&` 60-R 3 _)WWYz 2*;^bфEa> |ȟKjeGm' MVyƅauaݻwI$ h-sta'e9WqRkC 2+Ȋ 3Kn6pi1aLmTl+Y&_J'{,LE)[;0{s`ѸF,\㓤t /hثL \:q=5v+;E#tK WK樋E˞l߈a}[R͘ 2ʅ5"]SR_ 5rC{څұJژA!cnł-<}YS fv虀(. ޷М,tps /|d( $`M 0|C{mX1԰h!"w .MaMǬX~Dώ '-8axxpXw?_4CDafBo89+:DܖɢAtC3!FG9|c+%Te?6G2ߑ5u!^"T#X8vȌ}he=S@1`:r, ͢aUAؕ@XؔCx@z(%Gϴ`wp! A9%=JMm-Io|:z32@,c)Qz nA\fqc-lò`;O UՕSs-1~3Bp~jP^ E0Õe7|QUD2<'~T@ )6֦$>xV92)h,v|Ud Ul]#cjPWvԌ {!şEh#S8c QVXš) 2VDr܂?7c՜ ]iSqqބUR?209}'Kdw?Y!M0{'C`3\!pK=) B̄rKEaFDk{.&\c{Q f aBL&}n"fg,$HEZ}#L C) Aߡ7 I5^VcYc,Okmr2>s(\J_zYceSI|I?|ʰ<ogXT8<}1`ؘ)uJ '4SIRF$ :'T 4afB2jP("#kI'kރA5+FK(Nʮ.<N*a9ʚF&%uOGjࠧ/4Xp:54̀s\2Z8(b>|>e|h7e(TIB[)7mnT45y$-lb? @{pyZ0ȚkC+Y Lx @+dE/çU0jO:sPgÃJdZ1>zo(^dk\HQ\kMH\?jvGר94蓅PGb9SzN^@HgjՠT}@1foxBUIn"FS8ѓa "'hq:+/,|"z K:V-.Bq-#7A8CCC(r9q3ۂ|3tM2@QnSjڣsB0O2DŽL >>,$Gpvw;r}2X!6e7 6-LA&ˇj$5Zi4+hD:c"Eq,L"ERa}H#?ϴHu`1, mti^g2SP3 1AQw&TGF`-I?0|53#K2׊Rs Z)J9f[J@bLY5 A#>vFܹ ]cdhZ$܅wπ>Rk#%29AYIRZ>K59g3WFӧO @؟Ԫol\ }(hx~^ބq ((inI|/e85Jl. *M%7d0s1MiL:~c&Ls0kXAhy#ã3ijC9bl_Iр3 ?Gۏ^pƋE.XFKeދ}p2~mϿoʡ4=p&Zs>ćoaxQn 8_N3]‘V<, )"Hp4} R-@q|&D\LI-*JPb ٰݾ^r(q`h\ŀ f:Dk4c;n"*b#$qBlc p{SiD١(6 A%R*i$ehEl|3h4e jsaL+`Ʀ2jߥ V6\_L7ѯW`h]1<S`]-yY#c|WX@s6<xȴ*5?U@#9(KS_VVAJ>IRACW NqQ5?1=( N%V|`z܇AZte6 C>W/u~={ |'+.F&X:{a20gMpŦM3Mwr]1JjH#ZsP7CPlJf(\pTCXɹ:5>ooxΆkFhMQMSmc`Z+(@_H/T0 TTʀČo:M ȧk9D5V#pdNEl#6I;PZ7;c늩䚰j;׹!"?b~pĿlm&Ajx9j/ 5Ԍ"HǺse!zmuL1N|tgcYWBݳL^SN-%*h0d#ؤfҷ>%;WԁM[e1nrBJe>sc/ sߘ16dL@c 6@2M\WO!7~,;P) D+sL3<71UHa{ "T ;ч 1ɧeZ[Ț~JhD4)ۑQgiiVm|$Z\c~ :{P <;WF4'ɌP#kƎ65t4c$KS2dϡ+X]_G;Q\قa&fro.ֻW3 ,LAV<֌gZY͐o)ͨ`<t0,]KvMk}9`OGji`}="AQ&~0Kv,̗e@ca JoL~1eKBfr0kaA@h&83CFuRCX\6 kՐO(oZBP>9G~]_q"q9C\]Uo /V7EL- s,)'MHNYrR*UUN2hC1ףGYPe'$E!v>RV;=f2k-' o۲s&[9,R&|; jdyj _g% ^D)s L`4: U51\k:dQ"I75X_ f(03ZTw/ NiY &}FK_šϐU"p897;*sN#wC*Yj3Tipz 'B@8ĸ@9}OQ%cd%KA*p,eCxM6᭭~rC$h Peq nOo9>:$=+I~(1ШnPQ&k}| $ǒCoan!˪iE!7dd%aL$σa/'hb6*AUӮ/eJ̤ 3b?j=]=3N$!cY5ajÛL4OR'U~zU/}j$4:ǁ[BSI]mm~YLJA !~AAhԯN>k"N&F([T5'`V3A)H/A͗ EK$9&t~>riLƇ [Y2}l;놵xbzg\Mx Pn]t\TM4B ^ :6s碴0O>˶TLP3;!]ODB"N0MOjNlolQ>N6I5vbo3ǭp(Y%-Z+>}psJ!*ƩϦwVZ-@X=יr)5Vu9|% Ov%NѬ% N0O+@&5CQl KD:EcQƘܥGROXX3(Z>X_Bq%p%D\%8v= aG@Df H#ՑX 32}Y&N&j$Pa[6)̀3q'6y3}Ge4..`HCznJ1 Ҿ Qa^mSjڑ:LD7eڒ؁קqȀjf'@lGnalZX\e XIb! s٣q> {|do|Y|XutJ;C"x.L#%Y &0eAM?\N;edO>J>`h1sMR,-d8nV2) SOX6%I#j:y]̡F)7(D<Q6JMjc{9 x@}/"ڤwzJUՠڔLkr\:C0I||G~KfS%+G @G; rL2=cL57h;:8惄||w>Cz`4h~24j+##6>8Eb#*sunE?Cȸ5Amͼ5)m:IWekuh3<.|Z4bTR{B6fv , 9R@܎zެ^k_8_/v:{U4W`>s`W pɭv#(S/ѧzF?$'0Gq]457@<}|zlF~m(̟L]&8qmWI*sɁ!Y 61 ؅*MYa]MǓ'O2==fEeǽRgf6?[lUh)YUoTq׸9=ϓ{\-FY_ͤRB %.X (e!3^Ro*(kHCH|Q>]!Pdh@ RcRO 87b,+<ӧOIcW 97F* >k Bj ;\y=&z\.;pzu2IM7;/2F7E+Ji[0;KOed ZxoWڙo'e \ҋ{ڇNa{e.ZXRdRפzFŰ窿:@ Qȱ_EdaqeEMlm ClT\w7#<6NB@6*_:  -JߧX:PLʻF.1URnЏ"&41D=e 8@BKamI\{â4 @d'uDh+_Ƙ4bOR==f墅(?!nI=~Z%ծ"+|]lθ?f(؛Ν1tIR|H1!rLIpp`sQ S1Y*KR#$J2-fWt1܀Eh''p_0uߏ?~zig#I$좜XVBP 0xG*!ЯD˽$dȞKp@ ߻3e7IY\ӯYs4ٿsFssL0T&u 8\=eujĢUJ(6,V?LgfÁVέ2\`̤Δ|sM!oUব6,/+dޭR[& 1+ޤږ<#E;R≩(^7YT`\Ss8DuDH\gfz\*FsDQezLM Exny6^ gzݎ0ʫ)=qqeԘ|"U'aB&Lܙ?/r@HhݠG~L+ip qYTxd{.503ְi{e?FXamI aL5 \1i-s)sq&wѷ JՖXz_);EP<p[l0cx@G'~bD+x+}i *L ?@ȩZS3ϝ?ze/+sh3ҪPTd vzVaI0`|<̜<~"w1 ʸݩ\bJnқg`a6̲bLQ4<",^cϛDE״ 6fȪ]iACS[5A b*^n:qvG_C L:x~[Pu M )E tubkD[$ꐚ)~I"_:{GihyZf.كfV?$'a"3{r0r|fҩl.MbS7[gڋ59?#8Gټa$$>xtI`R4,=jy,);NdJrPQp j0w&O jxVD_GCFG'qǫIޖ/he7 O*De“C*ʥl} S\\Ts40Q8Tq9eZ%53짓JTnN~拉ӛGC/uNN UBq; RbZau@'LedxwJՇ\e!tݻw ̉NYH/1yg̢d>'>Hz}a,Fu6l͠Ոp ˻|AE/QYAl* ނ=pX+7 ]@Fmi{-߈yC Bg[YW`43/0!Ӏg/6E}]Eu0:!ЮeƭEjaSץqLV#,`䢝KZVJ2WkӈWpXR˳ fPp%oۣ+* ͎qȬ"0&8+-=Jߩdi7屐F)FWfٳh1@h/#X9-/|'ʤ|ht-xD~? U*FmJp5Lt&zkfӫW)]aL_&0fZm(';_EFH~8wkTЈ>}$>i+X% Y#(#:@hBVJoQYU䢂 S1dNXlcug:~8F?D&%>)NU2MFf?)'y$x g1j60pEi\2;/ sh!iiyg]F-yx冋k!k1n|ԧ/M^({4Q|PX{E00<_K M 8>smŜge^ #![D$xJ% XCRA<$E2H "X/#K'Ia{f2 1l T \mʊB{d[ wR~)H?8(G2;e)" tQ'&5`(@ڴ2T L,DM{vƅy6 @gҼ^9tk}PD;SDl100Fepj2  Bgyam%p5Y'k s4RBxa}ɴNA,j5ocelvB SW=A$VHRZ?`v x' zG̮xzzLYb Y,DX)\QLzN2?ѩR DIzXT.aN!@ *&LDB`i=UJДƚ-]7طe59k( ^uQ.0G H PUp-bؑOgѐRp2^.+isB e9+^BVچ =5uRp;a]i-4Do)[-?T 6|CҚ_ԙH, -hXyq z-n[+YӬ.6';eN;S4A +5@4kW4*WMan`n?sR sdRZU3+ =ZuOΦNWa~i^.HCX-A5!ejwc֠U% )Ӣ=)jpHP-D#tĦZ $UzD٪Jfz-ْ~6V̺P{򦣯` CyXni#mHas"OE#P`o\G6gJ>/oš忌6.kSq(b\Z2}=PT}.cܠ}dB6dMd$7ne6߿7s 8N+cJLϤy}{%b熗47 Զ8zߐ躩tF&$Oְӟ0z^f)t: Q9ո]5s{p637` 8v>ŞaLI@ڍ.{ x*tڵPiV.Q >-|``o3q4AJwrnHOŜZmH>ϩw|q EkS]t#TFH+o*:'?0vr֚;CTP= E(/ؽ/uc@/-׵%WJ],4@/ Tƃ?ԆPNp)|U?Hpĥcn\>I bn0sOoie|A U7S5"™Mut%N7٩TT_[:`y0ocP>=Z 7Ìa/sZ0G!Uy. Sn ׃:ؤ\ro.5|a{AxK8=s$hr1dy=lH0`anI@@T@iZ^} (W-;V3X4v2y+&وk,fMܹs/0ѨdB8xH()p${ G|#4;8w1;1&8jr-hͰon8ӎ))Jör񿫤'g\ؔbu&aͽ %d)t[ AEb 4 @>3c0Vm-Uxn,/9"EI-+ժh}bL2B'v* UW#͒cG6%=0@۩|}6 rҪ rJ& }RIoĂ@P4h avR`G#M%pr_i+؝ yUv6= %h m'5X} {d~4U5{"ܹ|: -"`66uj,%+up\4&יKGE05 Q+FXd6.pȢ)ʇSm<5Huo%807xeEYuYF}[: dɭVn1"dVў4h4Moo֋7/}lW1l+xPIKAS3 8p3ixPNvPItо8A[G.Z*ue'ZE4F'fhl +0 *ٿDlk9|وA SeRg%CإPb~ppOC$(hkL,Aֆ8`6+`X4 4& `%Ql_f0x15JOLТ-*Z$Ͽi6zxػs,ĜB,-)[5s#*# Mο tw Ă|t3$3џ{ 8K@&ikw]i#]-%x2G( Voakԫ6S*0<@1Hs<&2 jo1ֵ=`W9؟|Nn0=^>T'ʵM<>RsG;`䶛u4;^C>& k˳*/ˉ4`_w$%A}'\EƟ] i(>HyMR e3܆.aZr)6\tÇV?]'Ol 5uirE\JH9 fbTWz"ygΘ)"w 2$a}1/ v峬c8rp /Vi.<v qQ*ٽ0+fFKN;B shhȶ;N##!2dxq 1̇K:0B6,hcv`M) N?pX#ic&fӌbA6&֜y1X&XS=LE͒|?ags?6BT$:3sŵz#Ab%$<~1Ϗ9] :EcI6c( elh3,p0>C0$CT&(`m<_&e&nm{L6ClY`ETo!ʡY!iL/qk'cH\"89imՙ\KNzÅ?CBfEȼ/ >\(&P?F.x"O$ ҄`PV{S"f$"$6 8L" &QPROAeQ@zz7 9)$j%fxofwڏUv< DYDO[G`ߠ9E#kYIޫ2F|ɏ EYcZ-jG+gb4WYN5#g`10=60ѮrTp* %'x:@X2S!qD|' x|yKJ$;)'a-JDy* w}PqW^|UC&_N|߈i5kasEDMW3$ LR2Aep!3/l^Q o@O T K1mʔXϟ?_@ h]_Ɵ@DBgʲ|y?xJEvs͊o(œXZm iVbOY6Wv7@ yBg5|D٤af&ÈSf( Ai΍`ҪQP=W QSi} ]&1pM7Tk:Lp`cbӹ 1¸)JE>J2bj[hs"jZ1aWGDm*{8z@?3(( A3E!u:2V!vD/w0`Q 8q L={h E|nL(OM~.0bgLL.έ]}DZCJ 5b &56Rgb}\4٬ 1C^i'W,.$G16mhj1`zC/G >8B%P׶T/V h!cZ)<$BEf <]Q>0lLKZ&MN+(dEM1&"}d ֦3ؙ2&W6GR267"0&8T#,]1#i[DcH 3t $`ƶfe(G!c46ΔuIa1HI_U]+78߷S_ (E\ ̯+Ӣɲ5ѯEdnr\=smޥLLMi^9 if˗E[~}kvΕ\(Ӛ`__6Frx?DDK @ea4_2}XTןa!s8}w\ߓ} d?)á ѴεYj\-U!ē!u[2<4qH'8RC)`s9\ `PM{7 c0.R#8>3AUZP~ kߢ_)!"4|n=F "ΠxWEfYӃώ sjp~5Oc΁8$f+ DG?c65thDmK7dP$g_7\W[#],'*J-Rh;+֎1#)ef%!94]+ *Yэh]i%(Z!@oqR6/;9;K03ـh=KaSЖKWb+,ZӜ-5Ze;`p2\.bWPփuiJqIy5ma)SxER,tWnrn8Wgj GֽTRc`nImEjsQ]LB6^vؐO+!::[򊓟kU4z1ظF:q1LZFyeM1<*ܦјrL{q?k=E/\}Z)Lp~UseTE84gJx(|X;ag ƺY]2_ XK}fh 1–\[ˬh0$/o|,BD|Gbs%ܖI+*YTmvQ#,Tsmu"Vi Z^S+?UqwdN!AAYNq,Gp-A=Y)Aaof6Gnm&j:IUu%žPS[Uf=|?5SK65 | zWY U*i>,ݒλa3hL6ֲ҆}u, pRqh̦2d>m4CL6~#K:#:G[6UmGuN@2NAnٶ}FҳH }3j]ӗahLֶ@Q>/rA#'‘Rby8uˆ %u$ @M{R2Һ>ztB{k\Br`ޘh<%ŎR'Ol!lmhjJX}k Pƞ4RISRCJd2ON)G)!| x ,b7B]铊hbx’5AR|⨵M/`R+e <.ҏ"NO ~?3%G`dgfj$@+*cj6˖?i=6 9^Mwo7)ϡ q GژNJ$JccxOep9۪/*M[ƁxF$h+fhc (wœH/n*)Ҁz YWhA06 e؛߼X]oW @{4D`!}?ouR@)(HyPR> 7, f+mϚb:Wr ǧd6A}6{ZUJ?W-h7MT0'͠9b<Sml2aC3kgn10HfC%3wb5%h,IGtv'}Z=[iЮ :_1Z'L(6|O5ec)3s#V EH&wJ~'-/Q_/l>Wmt$"S:07UѸ[(q4‹{adas&hr܀3k״;h5ۍ(*lZSӭi-5]$)frSu*},"VJ:Ci, b=d4cIMO''9~kx$S]%^ʡ(| fH420rO_3os]^>YP|KɡUV4JD<&&|q͘Pu4UUkOl6=cH_J)B8[;պҞL$ħ(">_SD~-?~b3$JDMG$ɸ$x] (SmEl+ʑg7 |)0s lHcrQ7Ur:r(ƽoטgYV< ş2W>=WM Rc$@?=sov}VU7Vrȣמ81ax-$"y/twM]AKv #$Fwթs|ˢ@hp_†%0Wdv4nSjk~ =Fsp1^#vsgs&:"$ ;k?%;յeD&kN \5_Yg:rUSXR͒1h8aހ !D- +^qŋWZU8OTA;;S4+E]3U*NX%z?#a10"⼧8sf 0kÚu<`ʨ -9}1 t[csN72ؤ bgF8+ڬ2'iaԍEt" #7.g(u>q @6Lc\ϐ~ZޏkFLK=y* u%S7e8nw{坎\G=i8YRbwEͅ1ZBRq7lS)sܡo²rQ͌΍{.b%`*{\){ h/w*ݗr`9H08US>G[ƃIO0~aZb|Lexm+}"I]Jrkdq{:*e>uǟ>(sknJgn CL0s$4kϒ4H7^A?ޯJл3eR\y~Ko|/)wGŸ9!Ă~˛mfΔ<Ӽy'Zק=NMAt\~_3Q!'X0&QCsj*3߮!9`IJ3JUS.L(5$>p̸Q2U-`r>~yqo$q8>zCMaɼ`5SWZ@K *I]ѹWvpXȼóg(NVR\6D}*Yqb|_[׳'dyCIIQ9.m;n1.LJA}"PBIy+Eh&Ns Lʫ泑QL- 2S/kʸohyޙ#1ѻFxpAO@ӽ+m zuag6%sPB^qЎ{!%:ЃXo-> |[_[Sv(@4ו]Bs5RkVMCvtX _gMGuy^p"R][̧ڹW؜an* sc?1/8Ù}%JUuԭx0+űLB, i }-XwRq0`7)1. B+dnX?GYQ܋gD>ҎmHPNS!CmQݣG5fP\5cUZtȠ 6 ;P貙P#Gy7yf э漍@+S6Qx·_zcjח." 9.u<,<${O@9FlN &H((Zd i%Dk @xĆY/ L*IẑlGҿ5Fl &)r[o a㹦q"F5L2Q&x&ܼA ~.@5!<"L,US-`Wk~:;MS!kB|㿦π<Ո#  齎'皂JQ̮YߘTZo D+V_Ϲ!LVX̮d1 )x gX{T'iى֌?.oSe}_db8f{hG }rFw,U~(Px\'&7~Jeh)? x ag7͐oU]b,)7e̯.30ٌ~cUχ3 |̐,t5i4X]@ﮚ6'xsP8~b,&Qˇ wJel},t:߭T6sѣG5LP"'VLO *\F*W|2ͣM M"^S&hZ4q(L!T^"Αv&Oc:O))5Hu5)is^%XL[}rdbࢸX%tJbxa'3:fv6ta CޝQ,_o?CM%uq|aaq8ū >7Θ,ߢ +6d5M7]ͪa/֩~d#d:zw X)sP)A1ƌ%Ł_YfLiTq7LWE/hƙg[qA9/?s14@zTs=FmL:xX9ٙCZ?^cR:Ν;xf*:lbrLk/rjq~V Wı]ͳ?cGVj%Ś9zPv.Wv~KL9w7`7 uL2ffh/Uz,#{ 4ZP6/ 9f1W#+[N(ʟs(Gִ,5l66060/,ÇdSڪmv{bSMLU$rp}mv}8{457|G5U\kM3Qqs߸S#>)?s7&oO| <֦V{1E'O{>cK.;2G@'߲b*EtyfJj AݬKv1 FyVZ`6oj@z18>(l"!QJ`A1 xDquYR*-Ad%c3+ƹg%#C&ZElhH-Qj5XBa- 0K\C\Oۈ@dpShfCGgc0q7]eek]H-r W'Y?Ғ_v*呄hRb;{, my%ރ@k2&#ٱZXMi 6dsKMLb+*HL$nJY:Df #pσx3%%[O28>'\ ~c?/ ;Ӥi'ͮ?H΋ &) I ~+'k'O6XnV3*'J MKf;u/1*EGu:sTS1Գ[Rp ӼZԻ[c3z"Vȍx=u-%[M@mގJKCwܝ[PbQ o $2o#"@_\z_-s -Ͽgc /&:6WSy 6+Ps-8;rD]l/GXN)Zk8۰~(YIqGd&Ze~]m. {c&H6ˮ,Qp^džL&:(o; BxN:Qg8Wg4k̅puܝ)e/iGW5 :cD>(6C(M#ZMŧ֨A'@  ppМƟ oќݖJ(A(;z8S@f:A<dJ'O\J|ߘ6TI%K3vs ;S3J m0; 'J~<(O>l 2,Ɨ.S q 0- 17қk37\tb:#P N B p9ȅm#QCяCXR'B-)vYEޥ*8%lkjr % O ̐(-mgݎIvǟ&Th7;{q" 5,0\Δ ۔# ]fR@Z^~h6ͅCl=ZTb'[WYRի뤋=Ua։_5 ;:a[ya+Y&^wM]k J\1'D*,pl0BjΈA%1o2} VxO崐u/>1 6ME yO}i'ș}qSLT#9hs=fe'  2Ce.y?3#Ѕ7ZE[̅H?#&\/1Aezn7]o\ \uYwbȢ6?[ |Ϻ$U%7:T$3&+;7{"/ؕTr66(FM>T97ѥfنP&7MA*~l?M_ݼYLsk&UCN*w:1W% Z7$%Klujwq2h.ྸo 2f^fR1O):81^Ԋ\ yBQG[s !vb# BfSv7͂6A 'Km:2BsY/`Ua MĶ W8 f3a@#c`|,(lrm"_'͌^ ocA\,Z\'PNK: %rc20hG r?#C;`Tj^(M#O6G ϕ3lhspVPѕ֦;@@Au$ ꒷>z)rif lXZJhv~ RJfԣp]ARٶ&Hg wuZ[xnH-(MJ`ȤΩcg>=;(6WhJ,ψuu,1gna>7 l6*>9,s7 K`a= A PBJYtBdPxw]I ql'X͚'H..õ Mf4cZ :X ⬦Xp&ӂN'̴h̴#}y},4:(2MyU|\Bv!`(Ƒu%ٛCI`aI.uuH% ٕtRE^xA+/ QT4,2z!<8lpYxsI`W |%KT&eUj־!@l8O=H?)̇(€,Qx"I1|@O0ݭeX`ƟG0<9c;ɋDPuS2{r 4 5g`t,IlL )JmAaъJφϰ㛃 bPwډp:WHBw˪h2@gkoGuN:IpY{1_9Q7q 16}},&L (Aɦ Dem(h`2qNqGD?>X I77/H BjKw)cY0w T1ey]gAm͌dL/Ѽ+#6E)~Ihaߏ]~}hǯAGoce^{|l>Q5gΉ8θ'd7z'4g +#\$u\bw`xo܏RcqxðK[SVs?^u͒z %9' _(Ēg^ɨjN$Rj쐛 @7p%ikI m}]ݕ Q}[:`=$#Zad$+wHd/!x*{ t.Ɛb=stkq۰I̚MI 7V :UłIjMgrf$QyLz| S~,^ o wqC˕N#7̷jg xm[6d#H 4אTcHY\u.t0E8>\Osl^S5_7#ʁj= >>M,gqmVD{3` S@vLa O/xf7l?&'l 938.{H2)bc1wHPw]!v3cTLM-x5,^s^_:z:먗!,28d9qcO'<J77Zlx FkYJE1Y'kl?*>4o>{l0i:LErb_ȡ4T`Fss̥Ոr2BǏ/o޼IӿslY :Ll{:]07;+Sj;!?ӳH3.>8N)tk 0`f4۫c0(8,0vȈ ݧ7x.5Prg`g+%&trh &NT'!Dҋ7]"pne67_1pDayQةV}CQ\8w7w*u\0g?w*yHߗ,NAPO+w!t|V>"C/-/f9cRKueNc%:^׭w+嫦ViPePl;LL t^gB:f/&cz1c@_C҄!!x-1肕x]lBZQz|uֱklN}a ;P6}l+#Chd_geM0F:uwcEe/p7tUۙN{?2HɕMHؑkuA}n\dČNqϙ7u[vl'۾ͦh"?۷1&u?g,`}|J&6ܝfcwbȣL}q$ĝnrCĝj:, )3鍘kFAkxVyLaChzNj]]AYy>HNWJ$ ?8  ˮh?t0Q `R,AzsS7tpȮB{iQN s X GP]RxgLq[ UبەupQ-D͵ 5zXd< o ܊Â^[v9`HA_dQz^64u8|x,~Vi>W]3RXF'x  b crph>|>L{`\Til\¡LVڬx]p*ͮsk31>YEJ͕n$OIj PZ#!T>gqlohui=7| 7iƘ)WƗ>xGҝZ:3>s҂{gS*NwdWS//amoq OVuAcu1Gei!Bt@&T}4 ƹv|7=77r|3{6 %4t 㚾qV;nۀ <7;dEkDdA{#X Z&KN$c\r$wȜ ~ٴzuvp$1D$L ?4{k%WtduQrۼ4.Zx"x( |oFeZ۸Ⱦ$9} DzLfnӝ2əL&g^EWbH^dTD\w_ǿU)Tp6yRMbb4IϡZ8K=1&1yQ9~τ:̚#4}:>2VZ!uOE %5]eCMW%>Z= qMӋyQ&Y}XyͶ<_Wo1Z#* ՘-!=x|snĎ`D;MZ+^ɡ璹=8_zkCՀd^5%7J]p6- q;$F2DgFIgg yS#O0٥j=Ճ&ߟR'U`lcRe,}Ts LrJώqA ݥ)͔j9e&㑑xD]lY{n+;$~ peL\"R+ H I_fzesŠQ+$tA ,Uw){UJjetK3AT_ο8Ƙ/-l[h5;d <}w|9~3՝d`P1rmW3#Kp˗gӐA =&!i%? (tЈɘB8+/hb|%A̐WU]Ls5ُcn>#(XI~(v#e?Am0nlxK*@`L3e7MZ3{!}pBݓ#!+2Cda,N+eU3c҉S&BB -ugo?h1|t1|JkydkK3:βU܀L=#' s9-FMF)VL-6 0xj/ c$Tq_@hyODc_6Eyd @ sc1AnR7#X><?C?*mt>A2 pGȊ$CCG04w21,6ek\IsͲu`Fq\us)XtsM^Al'! IuO7un; @Ӫ1@әq}DXl3.^҅XLlȜF>W- سDB a9,fFv4ls_, 96kԳL <H+Y9bQaQ$C!;C]x|9&6AI5Nb 7({:(H8/KaxR9s~'圙*K1U<{_8@o$%8#J,Htx9־D@#_e9*-,`^rSyb7v@ .RC@u" (zLp ©]uZ`Rܹ*v/,V/Q>'ύSfCc-KM6ǎF_}w{cJc/۷><^:ZuCA#pnJRaCrx6Y4B(*O]-hJݻwgHSs,(3^rFsX1vu-2^DB)]i)T/^?ʵ!J@MnlwmduX9ij'cB ’I W?ðɲcn\ش>׻GSu[ yQRS2\>#Yy6_<ٕO=(b{\/ <' r?tYASNξXw9@rJ¹n- vgXG!2J9?}ZqsmTL M@>6F:&-To)8۟ۥ'/^!K6Ex*|M`F w$('➣ RX@@56چ;Y*ƙ5lKڎ)MF!8pTƸ5 ? ?xЕ% ;?.Jgݑsv bqn&̈́ε.o?yC7dg|8_q3O#<.L\o}u7!8##0bGp~|qPzH:~*m*v C}ƔԜ,0njp2qx~޽-ݱk77+2vX8@wLtm7_ĮYiН^,>$# ;h"Sfv1#zSWn./&b2b ux5.Y@aY+1mE[٬)SX#{k r,j#`=Ԝ}nUj&2-kxZ]Yt9.a6 ٲ@B18aŔ= 'L }@5Bl!)nAG~BQi]J  $;T Xf@̍ivy^ s:g4޿A|-6^׬9+`SF b);J xjLqW*EC$ 9L,JT ҜÇoqOt%+\^+6FP0rv|poycU#nla h"KiG5(9) ʹl`(~%բ;1Z ZP%4{Xtݖo+Xw*lT-,.I$kT j.gcDVE+Y@ᮘd#*Hj_Y)HД P_\k=43Йvs j4nߕ\\VHA#\ZAP3'q^ DYż{Ν}?Im-TՇ y#E̢J/uQ.~`+;чސ9h% e]Vm2>d^5gg$jTm^ݧfuaxܔ9SSH/  ZW`ơ#@4K y y.,0PN^33P{WAVGy>rV C6Qиy1H a-ApQDʛ -k^~1E QeQZI$Jl1{7`8:P阀"o4tzg]Q4up:E(l0XUȱLױWt`]^NrBmD'JEO5C|FtI7g⯫8D<æKHFeظ#.Gğa .M!+ vc^\emœ3qu*?z/X9k>x*tpIH/\c|YKf޸DR@٤E%g`䜱`0 1Eʹ/@(C(U6;{ozW",=s춾_jCϐډ?ξ$j$J|emcgC91Δ¨-^'(NyϤelcn1[u3Yx *" w_W摒,__3h@Z,@1LX$B,n ?U=V\-]H} _1>Bc)TRoѦvE},R)rucq  ~4 qZ(8@~ZD>E0YD`A1ۤJ9Ш<5`w9uVd$; {|%1L|?o&p]u 1Ep= 8^"~<[zѝG=++ʥc0-[3-woLiw;UMʦߠcr}T_rTMNv.x 2YWZNʦ {8L`ca`cN3~ie&ѦQPg)Dctb؍nU P6q2 nqpBٺ2-؜Nv+%7hhtsMYywF MuAdo!}2܇j˂x0M7[=Dn#ObͶ). Ex\L#E}tT&5֦w1G T 2T B.]WEaPc`jQf۝2ELj ޤh#,G1Y! =A~ax(e%;jX/OT?r;(/(̕j,NlRLp%#iO@+*Rap,v9$$&Nb K-Nt!ڞr 1_vf)ʨ8>)~,G'H\asfvm*t&aqfmAhR Ё֝U4؉R@Jy3[ bƈu$M)15xRtЕba*uvxD&' lR2,{AM\:6!oQ]c'#u+([PvM)n@ LtcAckKd/&Av@[ezdU'})<8ߔS:d1bs^얬#ٵWx礇w5Q"tgtG_5,YΤ/d@5 `4D,>n[Xx_K`V1X0XHfε|6ZQh* 6'“u9Lr>oWpGRhF ?G\Md.7 5{n\[1:uFy:f@ntMѫ7<&6YGR >U YdgP)VF2Xt(,CGX6_1ț ^΢xKKb+G̨{Hð{!Ø2^mp\6p@N1%d5$, ; `7fx_})ޡ 8 x dk {4Ksf`@1.Ԓfefr ~x`ZFF9$D0 l.[z͡38ܴ@|1t{)uzNc7,VfsK Seg$d yw@ˍ5>|l1DcN׳o`3떇d %lUkqXr>(+`]  >a'~ԉ)qJCl1;BF nV9؅V(JDڑd!`HLdƈh X$Ho_c Qq]toA_eQ2W΀xOFF z_c@ ,3FF]}4-0K&;bX!,-O +ÃfJ0֛Ff^x֯]"wZ@a0nC<;TfC&ǴSf=P=\^Љ9AH#!S72eÈz]nv){U-[59ukh'3:lX1V$ Caf6@Ҳ9X M@3egS'Yas2ˌFM:!8`%x9czÙwY5WZZ+P>rjܔ`H>QTiys@c==I [>!(R(!ⷔn"S ]e8mqj"ᐪu.dF + IdfTUf,0Ai0:T:5oFYX2FBEL3F|123dkG,%P󀇤ͦf2)Z•]auƽ0#TjѥS/z wؕҺCʸhSUFXL^5무FK36mjyLclSӍ:aKmd*UյyKNfnnkVk+/۬7&2Law5Nܠ(] ƍE.%@rٮ,߬zÙjgu^~o͸yzeOc};Al?$/b%(&_U÷~Q9`(hYL,6DaLх2`K'q6ԺhjΚtEz좚 BpWiv~qFf̀ P!)J4\oLԠ OX\~1iTL.޳Z5,Zo|0@6Cf1ς8TRLK @r6Ĭ* icm.3+L`&ӗtGcb=]y$%dZ"dN#PnB#eTwMEOH֘l ϓt̸)" CН80.RnL$ۄq"ó6-z>c" q\Tƍ$Xgܸ6\fz*7j1fCT~:i(@f >; y2ȶ:UK^dH}#zL1> i\6XR`F]*fye3}1p?\h |`F j00>L 4ว}WzڌzǗ綾9IC 5zjV>J5\Xm|(h=9ZCM{eZS98wQ+Wl2l0mi fɳyvY9ڧ Yj|}3) )K{Q̆b31}sρ% 6{| 9؈ $pͼ>s`oG^x/llR~6UFhYRBJ\(l)6Z7Iu }i Fb<$#tq]Hje==x<@pdLˋ+ QֺgbVLtԣYd~[Duc 1TD^ ܸ.𸰘`,|= dmB]$0;tk dPc[@g1a9"V "*˵Ƙ阜 4);1O4?&/N?6д?:g''5ߖ#k*% AkQͺ58Sr~], V>ÆkY/M<>8VN f>xlv| w"!c#?n[ʪ6M #8K^l#~`:l59/y|6N 47niN$f\LHO#Zm*@0BJ|3nRgjI`kWܹ00'@"l KE2,I5rP,d5HW^$dZ2~'HI]cѻkIA,b:Jil09'_bθ!َ\4?+a}:݆yBbj ƶ ̗b4t:p|cdj`ҲNW݆[g?HQwC Uv\ _曺 hp3s Y@l+LWीJ7e+@8fCiȽNcI֙iD ]l.`GPpo:Ʊ2,SF#N8-M6܌5amQ P~Ў (W~5).WkaaCkH6h<3#]g E|L&oo {E1:RSx@0D<<Uӣ"n J&"t ]rߒ=l=Rm3EW薱kɰjlg%a=kA m"wa]zYV q{xb0bn68\DHYHc+_ (k.IlOjsB8Uw:qNQV ƪsCX_!c q}J[X:o:0d"Uuޏ`!7~O0@IfFԏfv&V<̹ ^%m&(Ygfjs_1}-1'4X1wn}5̍jirm "!xqk #mKgO̿7xPY(BkWuj3~y"kX 13]hS@5Y{wD|]12fQjF>f54,> W" !icfRڥRńX%.Nh?=ر^6>&` T&cd :&Ȍٍd侀ShJwj_ +Ԉ &YJ9>zJr}W.8(Xם5CuԞ#mƅmܢ2UT_ sʑ&黋?]a.*/^FE?Ƴ| 61"k!}T`] aNs?BFǩZp_4}MvV\?q {)2RR{ϣuvFp[]ue:O\6k=e#V˱ݻwo1]L*lhƃx\z2YURa%6.Xʆ $rt?\hGϣ(3uZFE hjW}dXT&xgϞewU\W \:}vX|:" I KLsp5xТ)h t\r;LD$-"@HNd(RD_INpŎEF]ViP2d`2H}:b`qUS0o@F]cP4@ I2~OxP/y^4(`{j< &}Zf3Pwdo=\, k': V=e?W3qU 1h^XșT/|[ b5R/ͩ{?l,dKaPټG5+ $@.݌ceV9DeQ'2j{>LSd+Yãrw-- 2֬f8菪{P6"yPBͨ4=_C4~ 6h:4:,u>? &(i[,*PRD*B5XE^!64 24=Incd=r UWuFL q/WcPCJN0ׇ`>1PduIA@* ]X2*IL_3Eje<ʷ2n9  0.W;7$xoꐅ5@,wӍ9?L t"g}H =LL i8;!^g GFM\ϜsE%f_QnI)vL2Aa330&$j'@ã Y&4cV^ds׶k'hB nh<{mOGp.@;]*n;=2_zՅwkJݻwoprϻrt b OEd#ߗz&W` +#u薱aHlWqȻxl 8Sq&^;RI܀,,!fwqX%33Aԍn *O*$6$@`k&ɠK*"ۘ*';l%3'o+1Y+i(,tpҳncRnj3K@_D' ־kV߉GϘ-ش p2@{s0VML b+DGh39U&ȐJYyJ@ :JQ: Nu2R*kج6,^Gc#ҫ2=?:h3x(x\UIYkf3Ÿ7!ޮafh`& 2dZюŊ$>zf-:I۷FqutQR#+Ni8>)t;-3v3j~ xnBQ3糩ik-I*BD.<|0/>4;'@y}sZU9ŎIBX{<[@9Ž+K>8@259`{Qu6O2mл%Kt̔Lc.!mвrcJh*sN2IoxQA)7UR񃩔7~Oa@^ͰBO8I,or2["DmiY+ezx\ +}qiC#-sN^l.ävd BeV/j؍NVGM Wi'CDcO/e0+Rߙ%$ @LI՟ h]?B Ejwvn ġ̄B(9Ec AσƉ@< #  ic.RΙȞԚk搂[#HvxK=v،Kl(:8 O"hD-j]NБ,ιZ];p'8Ig@ :2FM9؄ fMSK *t#[$yFb}>D\+&3R^a- tqyZA|nm ~2e𜏔-$jdK'=2 ^G'&Z\Nfy#K~W Yo{Cb耦/дbg8r ӳy='^:eH (Ov-{RT;4z- O ., :i$@#B; 3b:.h4>[.e N*vu]~l1Uoˑ̑ +XJ`;BMc)bhKW&j"L6:-AA6O 2sglx_`oJy1e2WPMVKp4ˣ|XiZ ^N֨ Cw^} \Yfܪfo=@C۬Ri,[lH$ЇZL&5oJt9?N6d炂8 %zh H h%oOMN,թ&U#Nqu8C7b4Dll{p>$Ыo_]`m@d` sSaG0<?kek>zQy&䩚Į}us:yi3^RUkiQګ;J'y9¸C7+Gk5f̫?@/5}=r ț:֟bnL5ϮΨ[}fY<~kbnPJ3{5ߘ찷+\Ϲw޽+wlqo+?ˁ /1nd0B,,SKӌuB7c%g4v@mg]ļÿp#񭞛V|Od{`E/>[ oʒ&0,xuZX'Z 0#HibQ!vCa %83pG9F7eym\Wg4d/&jU]ѩz=f-?uzz sIۣ LJ*s+qmgϞ562_1ŋߚIʪY's'FP@G*/'KEri9R(j{{[3\#QLC`&U_p|`XsA4 +1ͻ[  ^!8o +_ϵJM;(CDŽa"_ &)+0]Cky.3Dƌ7 ߳|?ͼ8*\0Ϫ,Pu2&@@^q.q|Q {\ƄB2vi1 \u8/P]Qܐ !xӢz(E@ i4KKU:_d}lҚMu6n:: 5{_SSf@X%Fb27pKsYq (V h|~~>_U5 3)a!/ςMUdYJ:UA %0+~7ba:iݿw},^)1"23Nsb($|/W˸ 0Ni摓/ZZy݀lPa.P? dgCMߘ4JV;NfVU' .<IF b PPo0<6#6ݮenzMA8h{\/U" *bBs| &&4])!\|Z,eLM5k7C]֧-Tu9+R`y}jۛ&͸jRI-%+M`] 8G Ԥp-^Ϩqv[_<% 뷹M=j')s}j<7LrCǟG Yus\Xfyp>&@74M-'D'~ d>D VrfAi|܃8bT]}(ayF q=}rxdqPs9}bąrJXh#IN/tSwЫ#9ґk|z~(#0ǽit{gl^A> Ae d&b{q'fڛ8j. Μ(S#fĎ4M7XǪF=r3Dd[n>n 4ԩL't 97WPPwkGVHdT\IRݭm((Wj526੬chp?ga c?S `o8 uÃF-G^%P(M֟cH(cX"BVE*LJ&r?Q_#Lcz1y"hǸ̗pkމO^xfnhk̸6U( *M9!c ZF먭ЍewFfJfOϟ?RpU}S'+J.s#4.#|a q%53h?S7fb ܥK.&z-9;-F2iX~FA[$m 5c7T"Yxh>h0*Io>/w~aƇwk?wSk$d\`[n>}9X95{6^j?@qC#?7ٴ,F@vgw\F3K(=V)e11_yq#pktd}h^e,I[0צ@yMڒ3ջ:3]M]52S:W2ڨ N=$nVG@@|ds -6j !^DԨP[8~ `ɲe\Y'- @N@^ y%DƓ]1 C:Eo*Gk;L^[O/MH4H^?mmsKA\U5>3 1 ysͮV )생g&/5_Sԥ\ \5|z] ܃O;. 7! @ⳒC 0Pk\h@ }mGc5UNB'jq# a/=B㎶@fbTkfLln[|Nuw` q "G;dp%@d"'k-hk*vñL!\Y!*`Q8W_nScz1>3Z7O{A@\CR/mR"&GE,r?W3K4ǨzK{(w5r$> B[wL^'pR 'Yl߯oK8 LIJ3p;[}|϶vbtRcTi@Lc-lIC nz"5maQ(L3 O,$WGF6Ŋ~C 1իWg$L:Y܋ГG`˕;jk׿3}~$Ϋ%3Yv=g>&1M0R83rn n _4Tn>Ҍ#NˁoRBзjRRGdQ2&zv2N1KEWEQhċ N'yo͝ .=uqT9v܇j^|jo9>/Z 71XgPVg/%j Z{sHmRQ7Ѥ^HL-"z.,js 3Vq&Ҧ: ;UH}ť2+ 54#Щ 5ԜVG0Vq0/,8NsļS3 A qgJ 5W-sRRc&~߽^1I1;\+.rlH4۪v>yhnୡ9TI<$Gκ+M|67fqOac<tg=*p&rkNb!uGRuG gyU-]Q}+\5 d-֜5% 0 zULwu,nœlJ+21I+K5/`o|wcg X* džtvkrn؇PR|7H%]NcgHJF'L-&$KI c(McjXSL8-"udBLϾ0H?өFpx/rh>k'5Nv9~HQUf،Ȭ´9BkS4O2߿`ll|B9ۗ~.u#ʬb*;vƜkLtZdnx{&Ijx$AQ"E1D.+(B҅$Re@C`xTUٽVtvU *Mee6k]wv厀 uJ뽫J{y@W9H{Z\XӳrMU&an((VQ&`5Aca{S$їE)权`m!hUOOte*],Dͧryh}ֲ\*t/7eɍh/ߧmNĵ#8ؼژR8?.ǫs *׀i"3l2DZ-S(eL6ݸq4Eu!yk@oe ]BHPIGhpROR{4]|O:5ĺ0>M Af{-$ĉHo;!bH^lFŷ$r";b__L-4d#^ZPy8,TV@c:(ѤѶr f":Oꟿc lϽGۗhZ|4kUۓH4y -`C$70V@RڿRF >`MaE73(9)*25ԾU^RCfע1좱g 8;a 7 V 4Ν;W"HЋaʩC]Y1:kS)YCWۭ3MLוZ޸ @z 8}=T/<;!ϟʶp3%-G)D*.? 8k/9فu瓒/ ~[2!}5AM5U 4#DbMHj)ojd^֊}ҙXG$SF!PDtT <d>D'#*4Rr=R>"s A0 .o{\c"ͭ Tե`+Ń4JDB`P~Qnq 8ְƬ;bL^. BH,R.9s⹜g~`MZxHVQy٨NyC܌<|Yǰ!c+EpVLϙFC%KD ɋYjVj-`wd+m`sX7zv JUZ zfe?rIz~4f^e>]hH"Fwb_|~? qZ\ǁMcD[ 50Vص '# N~2m-TD=Ld?|d$C)Gu5'rxO -=:-zZJQǒ  Droh\r/u&B w .ө7YA2XY)N\aq27oMA oaC-eY*=oh:mFիWpdwbkZFTQ23Fɰ4k4ң*V1C!$9Dho{2k_l L`R}Mfdc|öI2ǘg`: 6>EYU3Te9@@1lE{MQĬq2uZC*=p{F s8wS15C_Qf%OBкo X PMǠ*,PG-m]R'S( ft|ڐPg\5zD)}guΨ@$4 c9._]kDO-OqJUE'DH /bl㹤w۰?pF#*|^&p9!PJ{I{5!mD4B,t? I3GS1C o߾5AXS B'E'~>O`kv&{c*_K[4BnjyMgE@jy= Y(mu|'cb׍ q%uU%pU?v\ Nu l_N ѤJ{EO`b^o󫄅i#r2 =s2J X~?kҤx%&/Ysĭ |IMOE;o8 B?J gp:rRq228'MSQ>[;IDTZO-g}3*F nq4NJEϓ`O;+a*RmڞlJLh qf\qU Z2n_%H1v>AkJ=,"6 -3_ s/cFJje,٨rLpJ|*:8? QAǏIkYncрnicߏ*C{1FhU/얼ޑFoںoIbLe mߧrZ0ƘER@kgR I}yHXT0(J&; wBHrdea05(/cǨfO|8(AaڞN=u>0h}*44ư"R<*7"w90Uì!& Op%Kb|=^̘ K,`Á"h %9r:XADk?J25A2M~8S1hL4ktv->@k.ƓrtoAu+"ȝhe=`啰GF/!OsJAKzX 8@ݼ}![cc S0er%{q@,w(A׿\\"`dCɉV=gdg!2zb9 -~H ׂ dFQؔт:Ň="[D3x֥LD!N @ -p8\QLZ<~__w]?0`?}T(͸\\KR-dvYE [Ԭ Y) 4e DƷ(,/d&5ښWXնƓL=r$uEq"Tw!!p);ʓN2ל~}6;EI? "{*Y Gq;Lº~n=X4>a&%i{L4'C@ ;Tq9g/] GJ+  z͍:'C&gFc`Fo#Ԣ!FixͰca0~!Sf *y%Z歹'F4ﺷui!Pq,C^ y$WV#aZ.Q] yՀqs\ m.Nvθ<}cRMJpmy\ЇgN"a)fySl+e6DOiw"ld_ AfLghqkE6ۅ|.69$ЇX&eOmagss C)Dמ336v _vDk\0+ߚ5 {ޛ "BOQӘSH4)^*YKTRD늉:Ǹo~82x¸(Ԝ…;VZ];8h= USv"d} S:)L_%5"֠ⱬXEI׭+E}iSAv/ $\j ù7gؑ_̰/+Mw||o0 ʃ>>E *S s`dcϘEkXMh4^1sGX3Cn8( ZsYέ*3]u"}r϶|AA_u9}+c$! M ^-3>Zy;_ۙN#0ISI8Sﮣj 9^l )Y4;JnA,a*I_Mb>5?H= Z7W;05 -I 8pHR]?d6JaiTXs(-d`Rs} SYP['nb= ?{lf0>MFjӤ=+X+pf jF,M"aFV& qa')`~|NۯxgdL]ay׮~oĉ,@RΟ?73k~ y}EN9s .~.j3 M'^Tg}ot䂿|rPJ|ĉw~?H?ߥӧ;7F`F^& NՍpgQS-&+Spp{zLxR!0+stqaO<ѿvZ _3<B$ҥKDB3١_x1}\'< >kqT|ϼ}_?[яb-9@}b^?"l#1'BSs=EtEovbC4bb{9u 3>*[&3A{aSL{w[X~'~w<1O8{'I4m܏gMk5co}h<sys>23%@ Rs$erw]]nOA+ ,6kf_L_z=}2/se4=VnRfPRL?b6@sb\Sm m٘tv܆$3f_{~O~H < Xb#!͢EC̡#¿5"+mK3 ~m#*6oPUn\c;xt2!, K=LmE? ܜM_$woCx |u-|=A SӺC/<} \ ܕ_>P _! ,ANԝu'-qo7q?LSd%TR駟 6-\lU!bo2wYs0]6v%h~2*\>"qCS ȿc1WqEfzeyø8rU+֪RU> U)+i89c_{/a.Ł{'0h~K$QiE[>>hIe!SG4d,; f+mFl$h}Wb H ['Ovvc"`uY_%GMqq+Dݾz<X>O '`gL(4L}'| y4!Rܯe|x9//B+v%G1ZfP6sa#~1<}vߞ{=\ACBUtd` w~PUEvN /tfcEĵ"7n`N3jw:(ZL2bl:hߍߢ})&cA|~;ɪk Lh[x·?q{ȬDs6}~5m|s¦>0iNTl A y@q+rg/zyifR|bΪ6076SO"k;_(\l 6T{оu=ODF9>/*鸢';03:Z)ƷnN L>Fqu2r,~;YBc1q* 8ӆG A5$_tO߶} ܬC)=.ߢ_6 Y),]6u>6&΄`[5f'3By hx[bFHY(+h"ey }hБ C?iFlzF)e3V*!Y˅DRnVg s5cd"XdVFsyf `'=M[=k_XU{lww4^Ճ>ƪl^Jܜ 5D3ι(jh#aFbz)kpGڵ &Aز /0zwrm{$!Z%j;}r\?jqVE"{&0fG)_)ڎ3kvm Ecrz FfX,=$cbMigh" ˃Ēz>l5I|,OԜ \Y+D yA{1j{='|s?TH{!˰>Ҫ\'8̙3ӱ,W^R?#?8 QT;kzٳ+&j?uOܽ=8nxխ8ߢY8I 3LbHZH0גf3E1̲ :fbP!DH ߞV<{:;ߟ|TlVgR:]v1isW)X1_{`1@zypN99nϒ`bM}sa"B e\W15/F4A/b&sY3 7)-ƤjV%Dx+:7 圃ՎcI\e15΅6кIN W){YF߷V޲.+%moDྙ!8ĜР#P372e邯3睱v kgdN_'f/}X56+'SDN9,t>w  ڤ]fBAJTӍsWWP=~!mhN96X'!ۻbтrA)/3LB8vbg^ݞ943Tq_~:SUՕ7hg4(O6:6-8N??Nh_9qDu~_+K.uIü(*jH!`zj-(E/F{1Cg45 1f6Ai#)ㅿ1W 5XXݒf}nx笵Y[as.9Kvqy &'J46#A2J!l1dv_k@l` AZ5kP(U'w tq p9Qm$ ˼qGBٕ!yoM*e϶}}!jP;CAy+" aEm`pΑ0`X1}jp82]ě, LcgC1{7| Ȅ3I\: !(E3@Ty&=k:vn{'7t;Vfشظ 1TFF!Y1F}Hy- hڐ>*Zjk7TmHJmL|!W I"& Ź%>𽜏qw^@h68L(M:D@/Z\wl&oorIlp|Vl<@^S:po1Ǡ*/U )ڌABH R"H (9 C T-t"5MJW|d;Ɂ mq-38X4RN"wXx"n&ixS r~y~==}X#iJ"^L܏ߊ_? fЖx6t(LLIͺ™#NgJZg3xv&zO6G&{, NHbV6PT"63}@?=oţ] Jh[!"i}vVF%$nZӜA1q10nܾ5\w*[âb/4ovν֝Cہi!<${CB'M{ PP1!7$^{ RO!rmp ، ~E83UliiDkV|6lTVw>pnPó.S4`6=nO@Y@K<Y'3oM2p@cE#EÉB]@iJ#UV^$Y"9 Ԡ'=( <=T)5NY%杲 ^u3y¬AwRW,c 9%Oe9^MA+L +!>tD!/ Iyu T-l)dhLz<~hCtAo#pRƳ8HTff ;fE !b~McʂM5

|4Uh\D hLb@D 48\NPoK|B~RdtCra)'ٷ]6m#і1+a9)E_N~PVO1~t0Ԇ99o1&r$8H2nPRLPk=f,~gsy;0"|jTc$*a}8 q1*HF\VEL6 ,+ ǰp܀> XΒS ,mVEAڷ}3r~z$|Kܠu ʴk#e)pH~ɍ W;md#eQ^NUuBcdDb'6F=e+,nO> Y{hC؀sixr x],. 4`VQŶ#KMUŸBx]B6;`.\>{1z6-x 3G9.l )CԒ[D0_|:f1h(GOc7)vFPl(Ո9TVuAqpa؞,!%,fO5c|Fz'[$W]'uj0;mՆl\k7Ez-mQeMCOE\&(VҼMATE%U'D.n pjS5cuWZM!) iδʵe N(Ϲ87KKXwtrLJ52f}͗EKۦ硵)wþzꩌ88YV?3hT6hyQhYϣm'?-[:EALq B% Nc73c@M놊4L`Wŋ\v5+3UF2"OqT, Mh#ϮTUPN38>gX`fʽwd͒qcU$@;7*}Aĥ'xl4 (h70k{3ܵ`ފjۊ (y{m\c%!1m;Žp%E6, ሱ=[C%) jQia]LN1aPF,ˍ[ ]~#)7gA`Usکe3 u>qmri.{ o,C+mή i`A7f}C o3I{̍bv]~*|'遒ť~ņKt R"~B޻[oŴ@ӗk6p=_Ou q)2LE ̹ 讝]6wd~X{T/L ڨҹqt@dc`c[_dSh(@!XŁUs&wme;37oƀC}uDEŋ+hd$"bJ빟eTopHɌJ&8Ag:sg:9/n!(Pxʚ={pn#gv 7,#[xiqoSS1} '\_Er=0s3_;7ntU욀Naq80,6,gp>5Z={wv>eWUWLgxlku\RT)f<`.1ƹ!p܊Q@<ߧlldb=A,eKp iG ӡ+gYx;cPG!7.]žs59܆nXD8ʟ :|pD EM; 'WBgNJ|-I{ݖRS-C),%\s{ S AMr4Id=& d>A7rfnƹ :(1'x! 9 |c*[5Ll@n]I4 Vt eOLڇ`rߣn9#8NyBqP!P8,~1^2}rcp~ 5XOLQ1*'V<$x3g_ƀO_9{zTu 8;KLZ:A5QpCU}uM9aYU.NX_!'4klMuGiPh81epGD]Xmm~eED 1`_0n@b@MeFi<$@`+Pp{@ʠ+5E-rc0Rer- Wg@e@0oPk4 AgLLSA@r852 Ν8gM!{P3g,^x! k`SjO4ɧ.H1dP}/b-EqON!n"Vu,A-i[~?3&jT{d,~E3좍RS*a0~^Zi:YNG fRK˚/k+?kZtO4* Do v*eOޚ{ǘ] 뜭j.Zf&bs.%Ў $!{")X'T 7]@ 5D}ƽu7Lw Df2i RF gR/V׶v*ltJ<\C\lT-q=#TWNbc 5$h}1[?j 0xqa܇;[ssR*ѿ@y Z(49@̤*lT ŧc&> rQ!Ir)hP@}@ۣ1v6gk g? j*Uh)ص@u_>a*ܙon`ب6mǾ53@9rKH&VĹ9(;[F:0XE322EĎC] Mk,̚ӕ%3-N+ 3JQT+3|[2U؊PyHd(rW q]Uߎo&Ҽ^9# 〼 'Sndl.zʥ׎jzǙdBhǁ?܎ʹ6^RhW._lmo$NQiD,.7jZ)s15-Ahn?3Y"Ri3&0&2|A uJc}H~k.5=ڮ;u*(b =yxv3D< \ *5|MRmn*ڷFa"X_xD͘M9NE懗>41cϼ6j`lZwť ]SM57/I#%!x3{|ژu/NYCL32%|q`:*mni96پ;E2Hc>4DLdM:!:x̬Ԥ׵3bIX%i1TOfhFZm2jOhiarodnmq82&@J8߷j7BB )LXSkh9@3dm0ǴQփ4] JR]|qݘO?ġr^U`|sヒɇ78_fY:rjʟdo3~B=+ .v#!8h_ ІTg{D&b/IKJ3>yp3>_merXtK !qz쏁 ɓ ZdI7s TX,YÀN?ܐZ`䞢ċ|.sA8t…aa _E9&{AƍfbrGjƳ7/1q"ɋ&O&v b 5<(H`矧*];,Uigx&]3[hh|(kq5& [4ȥKjZ64.ohRKzGl+,?SÃ<橳g;{t3a#Øpka\-. Cf%wM!qO G.тɂD6ݒD/ըNxʌBojQX5e?tQ2Lu4+ϔhoW89"+2~ޖ0vt8Y U&S9oّ2MAQm)`ea`h)dKwF6*vI%=QBZJ8# c#7ߠTk2: 44 V ׾<2NqigZAۃ2Ã~6*'5Кik~w4 %kMu2zg h[>)PYd< !6lSE6Кˤ mIAQN9u)oqc!)=)1h: W&_UFG/ p*7՞LXs\_ ʜd^f/TgAGݕf?f>jcKIk8B/O5?cs}]9%i3=|!61}&yLMoآte *UfnA:oʵ:{ %@s0:++ƕd2x0("~$.S/`P8uUZVvNs7UƈWuש],l:i<(ϻ9i v0ܽs97'q&0 qfҋ!`Jr `6AspRK- 5q!뺽%f)±ksW^M3LHޠEfiGTV̾5 {5:7~\\ƱpG+[.ǯj?(H87 aU9ݰM(aҲ潠/ E-"]M:܆vFCGN7ȕ+.1!!J$3*瀶<p4޳L DH:/(G&s:bp>Σh2pVJcy6Jh_Wpp'-sI - eƋȑ~|phi& Q\W'LL#Ōj _}`m2׎zke. n ,Ef6H= +J%k 6=>=E}ZBH<`G=%* w-}M7'#8Xg]0 2?` }cT4*B(DˆNقH'5X7/Ć8۪AUEF,iżhwTcup<%w\{G3D`^[1ixߗq@͍d`şY_G*ئgMm8Ch[m3Ce-&'m')IH!y$Nۣt謴E-=c /$CB yqX' |Cբ*c2}9͉ԥ>KoJO s(„=Z0*;P:?U<ճq`.eƃ|~Զ5FB.{;9F|y,o,} jݵ#\6XӡIZ3>i}Ȭ‹)*u Q4(7+7?BuDdbj|FR74|X]lɢ(6M$ 5`25X>!F,EG)`)j޸YTnX D 3mR q=o~ 6wl52gt/!4@c0JbhIpEJu[=))Iw{abţ:|oN/ E#2gƼ]˵zўDϫK.M}AЦ?~C -Z_yM G6g r/˅Çvhx08ykqLm BF3 ~O>9}gt1W16SG1~vb^?³p}Sy> 8zyOq$-mR$瑱q 8<`Ik*&f]NO|wӜ͡zh6ln,Im~{ Kp~'SNۑ.fТxk|E4Kq@vbyI?5O|WgtJQw[h J{k؃@͇ucltBRېD@,**qh#J4mh0E}x3:G6![x7Tn_r*Q0r6 ~;ڏP$۸>!q5MDflK=0ҾL݄h> P׃zg8u"^;|0z,Eǟq'X 1y-T<mRES#9dkrd# m53_$Yr5H7ZؤżQ.WP=Łs|~>R疼VEYF2bٔו X h. W!q@fSy z 2RBV4sS (_ƭdi77ĜekQ^*Y%huNzp кIZN)Y+H5PHHr^?\Wl@`ˈͷn+6' !;{!a&[neH VfS]= [!hz|mI@T]BRQV SG,AxIr܎ 1 EHrA0;ButDOL*;دhqu"4]/V)L!;{%u"nAkBq^cs;t*ŜдEկ10̯0 _ev?ǹL;zsmA lpdm%Wbc ōW.0[T5A uzJ( 2,XM]W`Me!e ;G=L,,Ve)ɲNźжy6mPA=,@}4~ s,a.c9X\tcUVU>b@GD5h(36 `AY7N,:DC¬'m6W.&1bh'|1E.Ob*Dj|_R@c큵C&dndNd8q[dBøy[~.MC=X]G8rPq2tEF vIb΃Č4 LgTgbEc>8$E);w J0{!t ΝP!ohx1c\?gZnT^!f%95C/^8F=NX9 װƸ[{(MX(2<:|enIxLI{%^p[&^8ߣ+@vusq~]Vo+eئ` q{nvq AU@viM3)NS- W !O#!4'<$ԓ?vx tB& ظ{Qlzn9hB7Hq?Ob*& A,wx+q=v4of"f11- hu*&4L'EY‰6M;uwk}X+uiRs& dvHo2 o4#}uq]k\07Ѥo{$ e h?d^Zc6qs4N3hn4=ew30 aH&vZ{IDz0= cdU}Ǭ&eH?ywT7 c-1- p1=cெC43A8%X2UA`u03u"&v ]C0ۿѤB*8 lg2Bd嘭eR7(0,MC|4mPhA/BU=1s`ОHfl+ Zk%H\c$J_v7Bo۝&a_hӹB`ɌpqN_s*W (24 jEL> ٿۿe1vU{àBeµ3(Ծߥby]=)x2FTNF`3.h m~Z$=s]`Dz i1) f )npx]yhdU30ncA1T + 'XF؛ I w} qQZ{8 +v<[k&x|~=P9©(Ip'+L^*}MP-ur[\XJ>[LcڜtW¡L#ev/qa$L8HÐiIUD-?j0a&~$k,a!,q3-V :㕼`X >i$"[u zg`m7|LFBjwD_FQ3ijP=G=M2 aR)YxE~Ԗ⽀DQl0dD_bҡ͙aٷ)HGFC!$KHԘ4tk145j'e?$ 0(aϸe-Eeh=hqܠ^ 3WB[;eje@lnm+&+}n,p\@G]@[ͷ2w]imBoO1+:J:t\ߥ\AE0DLKTjZu5s_>~)ƗI~f ˪k2h1M#wvOu`,zn2boxGƛ -j"õ_B҈[C4bϟgh -J)28Mi1Yn+gkK/J* uQN @fA4/qTaS̡#ylu%*i׭9B=8,#2O $"GT?sj駟?P>r"Ge6p@ t-m=Q\^=.._t2Lv+)p~X_CZP>2F>oi7-.:**֤sI qv%>{ϑinjpE'6?_ UMrWBi!w (KEi0Wc추Y҂=3' n,Bk K^2,+82qc$0u78¯F!3o -B K0XSZ\vpg/P7p`hɘKO?twC!Ocz=,Y &dHYߙCEI*N Pد0g/GcSsB&4Z=S%/2^o$AK007C J^|Dz#qYNxy;]zu)J/|W$6;&9&$Jcv's|v_⺬ :q"84v\O j4/\%0{3O%O` hMI kƢK; 0USce37 c3IO$TjvpEX)2sj *޴'* @F˂LIN9Q2ٌUpvX (ۇ\)q(H(^@3v#[+>*4]94TVQԚX\`Q`(c@GA'm6L l1m1Μ?)O=ToFW0/@9@T6~2 &nܗb@lP$pd*xQQecgQ1{efE_rlA7۹rڥ>/_aۭњns MfB!m 9f0;qP@B %FK<h.NKO4}qhPQCd$cx" dDY ~ .tZ$ 9.կV?я hjD D 1~ǛS\#y<D6Yŷ82+2Ӯ#XR'GUqy$@2TM~Wʚ.Q9hcL$0qv #g{~s, p|\%מ²l+$^ÌdQnid3zйl`rCƘ@fMe D٠ͱ1 \sH0TM;C@6)4Ť>5Sƽ^rϓUQh^:H,.]cLB$$-,,Uz>d!*&$tu?Ꮐmuj_J-͈G JQhP/IO%$3F4飧%:Šj]f4D M&_z٭[g'Gn҈=pGTO# -Ct#2( ZCKw'վ|CsJ\OaysߏS:@aDi)DX۪%Mχ̉/ֿwobX!7XwH9XMwcmp6W"yı,`hۺ%db R @8c`2}2ڵ~9RKI Ån(qtfmfP~&eB'ÜCscssؘ3N&۰,X%Ö́ÏY>b)ݓ~S]&W3ךF$\|1n)u~7X𹧀a| 'XC(*N -p1:(<. "HAE"@xsdXXoMQh$aPm ?xšr*Q֠?GHtjW_ookOƈcGNWȆA FsUQ`AE@/(Y ,D[;mǵ,v|Pm[oR ?Yf?q/F#xek!`>E2>EXp!h_\d[S/ۉՉ ݻu?*e҇A@ڝ7b|lh;OF͓WMVB[~+S3b*C/CmPD>yYq>Yk& 7p7cď9oPh|~t-:FO\pVT=6vψi;o_Wz5- HდG 6n"Vq[~_/ǂ=%I Ml2~J|_mik4G3{jν=@oP/1aƕNFi(?nKߟV[!v.BLx,~& Ss(W:G,&Hp;ĜxE ڍ1X2F`DYɳ3&_E6R8iK'R_qJV{I7sČ~_ aDr!@pF_kǁYc8ЙY> 0 i% */ӧ}YA pnW0BsHu0ЮoQTrjYGXo@#Db !hN#>#=tNJX9íZpLaРrjzQ50j ʪe&`p;L'鮈c'g?ԾT#ǗYE0ƭ`Sɧk4 qK̳ d8w1NFoD_d=?(Sr&~LYyLgPƄ|+s#k"htExTl"Wp #gxQ4I} IYH& ,÷f LTBk2i(pc`}RJHKij PJy fY",3A*1Ͳʴs?F{E&p6|`>\Wֻ"Ɖgm>RtM旬)foڑ5),eGiHǚ$1zPXƗh*|aˢ%Nr`%qqr ,ܢ&u5kR6-z(\("(}Ss5]wTx,iL9U'e  +n}c |4iԶqy|*8r L8' HEoiP#Ի%[JSrx L)WC 'AL3%KH5a=L R>?`L"KBxi<Л fvz 5(0P/Wg[o@{#ATi 0DG+cE)cd~wGz3 -k\ ZK|6odv hߺReF03p7y,jRfc?O9 `5FX  `  @ <nl|VBh @miKck|u]W^#tV8%eM5UߥK ͍Дw6A'k.Y@S68|r GR7`ݺbRo%tejue8 }}r K\ @R";2oatWV%ar1v:$ҚlsI|\?rsũ+],Xb67Mbӝѿ|F#MtZ k_>5z>2 }p.wd!^nL߳ ;*48,D!qC ]mmѩ:IS$*s5Z8~84\pcKvNt`X?& `{@DўjT*ʜG?z)v2>Zu^2BĻiտ/3uC(M07W80Y,R9B㩕ٍC'{s]l)Kp;tέ"AoQ֊ Q`#;Rb `Ddh#jp^%bI]ۉOrxBF7N4dwLvo'O& $,%J,ЕpOuX]%<H"RsCu[ iJ4qnXҢfs7t%%ڳd\3OZ9fy3<&^1A@" AQ$9ҡN + !8`,SN ьORpxRIeI_}3iwcD# V S=/}#ԛ=@_ ]̟ l\GX:vxio t G<“zD& zf/9ss_vcp抉$VFb҆bXNhńxsF_H!&=IuIRNX.~5 8Ca+'hc bK/^6~<̹ֆٚEиveany_xazO<Wpx™3gW;4VIP+TI}FgbQ {3ZwEJa%d Nq^EXnR3p4[qV:;cƲiXa|뒇E .;!PuՎ6YM_ppDlMk0~u d68H $[1v< e}O Ƨ(`$ml$ S>T©LbQI'?WSa?L6% c-p`zB qOb5Z0)`ܷhR,/dV>'a4զDՁIs ++fhbN Pp&3h +g[!@@RsB< {IfnG7MFҒXjp9Pe&dkB7u9HtpiV FUZ9wSHgeLA>f)<%6"р$~=@fs4o$;GӺ_gD˂SLN6bh }e4ձRA,~EG28>Y qeb#`BHgc1XZ'(=BCa31XO(ׄ# $Hh\|'mAN'9JDMy4AU(o}+S`Lgԓ|L$ fqZ7q~p]#bQԳUx8I Gეﰠsa!SЖ]" qLE6Qc®SI܂BKiB9LCs]hiν|)`iVڰ:\b!,1p)pMD%Jy8I'ۊ3P/Q\dVh-Def[A1?CWB;-Cghk(,-b,X_{թGL5?df 8pB&?(?HJ>QЎf/^xy AEm poE UW/2$lj.[ڈY_B<8`#FB¼m8`&=ŋ8;zW2_C%>>KZ[s&J-Y3 pNz89v$\bـ׊`]NjJnM|B̗.*|t(h8׻j((؈[83U]ʏ~_|yS 6-:kIKDEn1NҬc{k%EÄϏz+ V`+! ÿmS :-~BN5yO1ګE0iCGWF[mV}]H,dO_Ƹ62'>IϦaH dq0{:j_m޺yUjPʺ)ߠd*{h{ wЋX_f@) g'V `6 s L+]t|C589]Lю @ybM-k$.̢H$_!Nlum& 7:#!Mb>&{|' c0eG<4#ݩ 'L(ӏ" p8t2YƉ/PbHrrto&떞?=pwzM85F=aDŽqBU1{L~nό)4JeK Uo,ڱ!BTv gP @΄->#rH9{8Cj!L.KCսE4Vc^Ŋ0'eQOxi(>k%^k-ؖ猃T8')%P٢$ݯKs^~?YgWU7Y㞋6QN [@xXH`8 1+67bqi-c0Ɯ?Yl^4JDs`Vo<&-J(hY|(Q9 V_w)=u4~^xѸڤY\cr ^:kub(Kp K +IkOj-d' *;@cH:^xݦq{;' w db$. @;(A!h?S;P8=KCH6f1থֺ[nK!i9Xoe[!bE'dy=Cvle̩.+BT4ս4yNcVs,TC7_CO56 *_kI ue`>1؉ HBR__fmƇ3E_ IHMT`3RCJK~yϐubdhc Nw_ƅG%N=e0r аkBr=؋y& aZ  z}gc`#F5nj"v2B^f5^!gϞ@RUr,t1xѣG&F*;s2Pl.tu Ѵa rk'7UφG?8s#6[z|)4 X\mI9'c..޽.TQWO:;(y?58xAĥP}pxc:UB{]ޓat<`-˗xh~ΛoI׳J EvL|BoBf'|r VivOi+5,, g-$9zpa(tҍ͹ٽ:̉p+؃Y isWkZ}1W5 |uzu ]vMҼj^Vipp&m̶xv,{8lNOT CܮmCHix.wbn17~1b 0%:,fr'o+oKm7[GlJr#7 і NPD$f$hӿ% "HCz(Aɣx䛡JD$@GCMEخ "n"{BΌ;#t&bZp%uq, !W?,O>SIa "2 (E{GM TԵQ-hċX)HBp5H ߔMX0bgy + f@EgW35G׆?L'+qb-eiPo0Y䓨 q\1~6~X wy1tF9;)uA,_ӟRKw.yЄ2vGo n@a4{ EhxxR>>\c`:$).#>r>#d=21ލnX(Gg_\׏H- ? 4gq%z_RIt`^ aPqѧ,hF zYMGƂH%R}BԱv{zR.J2Ӂ r)y "B ܊yƳ#d0*JM[ Ƚ;(Rm-} 0X|/ X,"r g!(H ?{gUrZ`e~Wpu1E tE0@|&qr4ոՌwu:g%**-QH:s[h޴\񉳭uoہtڍlV^}U?$~G]h߸ w9+WrXׄ亡ZnouzA'lm^^!2s^qq3<ʦqk=LSF <@'"!mLxrMfRE-K  ɅB--*W@)_P%m_*n*^Pމ\uqd/HEɧ) nqB tr:x^b'>V$%@m@ƒaGA{`P^)롾obRUtbES;4<#ٹ큭(߲ς9b( ?rl `&.a y1!Y`N5>=AT'mA: -n2pY|+8@T,6E"3H+aY/R g8gc`P!tjt{Iq[XAn<C9n8M{4/+>Fuʌ9>DԤ/CKt]?[x~Ç};oX o [x q͞~顔况+Suz5 UqG%X]!(Վ\ٯ/֧U1c^`X8ÇGc>1&-0KC.z_,d*xn8G^C򍋞NM 8/\~& 9Q:vYHʽvfÌE:,JQg]ntWK cGJyEPQ޽+8o,jRG (=^04l*%lP7-&#-%:`/gx_^ȩEoX9dG1rVSUML_M\ETuU\kr|6 MIeMr = +zOIJK/<SلǮ{!կKZ~"Ub DFK| ]댠y "8uP> vV>ˌ|\ܺ6_:Z ؍~mkKlB^fg3:2($w N$1{q9|A,7ZY0 ?DM`4"4` hV$A,:fCV>x6Z/SKdV\n8B˱?("&VGy5IR=J`06/*fU_ OxuMC=?ZPqFN+lQdϟa<>t ;q0A)j5FsvPぐ8gl0f[%TP2Ŏ8}O1aǴJh?><~lIn&Xngi{8cFDsv;@^ 8h~G$>=L !xE}i$wdA֘*^sE43kƥ-M DcslL P'_6'a"g^z_ =KvL'm=řau#Atmu"H.Q[ySE{gP;\NG ]_]/_[!ckîDYtas%Fy4AŶx7*)4iy"hїihxƌIx2ŕʧ6vr>?X 8zgW!ES7ꢷ60?I} O)i+T-p/貶C8{~xb<Pϙ_ ';CmV4u(MӜExSǏ.,޼<gyf`\wG܎"A׺@t OX(z_|syA~A8OTFo=i`Qw Na7$T'OF-E(-S=QBݏzsѧ=:}8n\xi6Ϯ{0V}S5 Ѓ;}wZ-k9n۵̚<`L{gszٱlѴy=^ n+i:D_:c CTS`؎WH U)hA @V6 L%#b? 8E#1@M$]aqr'I9+W-"ʉ4IOP"uGDVcӍu^q+ ӘgN[t_8+ [ wGK YVmrj5D?so7֙=xe1Jqw~΅"!%7 d]+|(r q.NQgN+th<Et7@bB<6':)v t.t.} 9TY|>p>p{qH'"hǡA"ua!+kNx%o:Np8".xD+^u<v!dR,Qu|RkLIE, d7p; j9-NJ쉸Z P+KvG"aF_SzЖx&=9HwK0R,D".&?\uFy@5S9`&!B+aMBh [!M7$^_LuX:.a(bK@|G Ōc00FGJ&^`( R~L#90f ǣ6ROp5$Y3MP\?mv{g+kXgh㳫>V'v 2gƾVr):Z7޸ߎB]jP;V]k{k;;/^͖DRT?V*R;q |,iaۼ¡D%r4xbcyWUH6$ ;!=ܢAr& Rpti@71&AbUGN o\dAܼNc;&Lb=_6O= ݀ȕڸEqlI?{fHKtQ؄Dd>!txSv>:Q mN?SOyh`|AD,HiV0<#}xcYc-IĶ:Rc/[חՃ"+H8>v1a7J{ANׇ1!ZCI E6 deɳv]Ƈ{d|&N~gwdGT0Xyݟo DKENryDD"Ov-ySΡBЌXdW>}x7y,XhNJ-Om\{܊jl%4"i?c7? }x qsw^>A8WWStMl|>B+e8 8/<}k9<LTlRմHU1x^Q7,ÓѼZA7)Xق]5O1\emp< VUa VQN@RI 1&.*Zx!ʙ^Vx(}:XT>y6Na6(_/!Dkjvu¤ 0ygcNù0@MXL ƍcGLA zE#VĊ 7tC&ςy,b|9 *WY;hDu#"c 㗈ZWp&э8b^d@@b!CAdm[ h]ܭQx1mBoMI^C8vʝ|˯뮳jOg4AWW1'H&1EukFR!͇ 9W6&C)l(̃m n sP@Ј]GB#*B2" ^Y彲 FsLRx3/kba# 9X{M#mduX_ΟtC\jn`0DxD^gD7t#RxeGT!ëA|.i s%Z3x 2ga~~p|:Aby<=v!mbky,6Uќb!nZr , ֛& ?FL0~]*p!8`i /y5t|/^n-#ܪ.E9^"PR ƠuJ:2_"X$|8}z bGLtKo!-xSF6Ann/r=O1;Kw.0 !P&_'$vdJu&#@(9_=!b^UfC!b|,o f^Dt'bޘ29ėsyLOEM֎׹PigsQkXE#l;7Hyh2yxh:B2Ѱ@^m]8b4 cC)> G6#(d:{忕 )zo#)R5\t=7$2ݾ/żT_[m%N苢h=)jGu>q_xil48% rA| {bb0=Pl+Ar<4l,Y˝%,~5s^N`FGR)h;3Qx$H'D0gZ9ָ|`oi꤉V\` sƉFP j ^><_~kA?qX:F-N}K17g< 0ۭ0nK\;I#|{>=T8\ͥ~ \K^jt}k|}݈pzs3)rT`2/( [:A}b|Tq U#Oeؐ"J&xHCn<9ѹֵ4|N>MŽECja(5 #K\ÃPX`h\"|;<$NWȴ-P{2izLݤ 2d0Q;O?-1U;kMADƌXA͘\sﲁHN g6c<~w=Wi=k0m8Ɓ(| k:?x\8:?p/Bkͦe;a,XEa%uvxʄ9`]WxtTt`=vPd_N%DHI&Y31<`fHnw˽A,8ܟ<9%`A19X~ߌ+ϛ͏ %CKx?cǵ1<'rJۨ壽.q°@HvfÙ+Α6឴q-n@!.89˩zk&`Bf3$tp|lhF88O:p=X!@Q*p R9w 1t+qM `i~߸Jn Gr`#IdNA!*Ğa'&, )f$9WKEhGEݠ+wLcȽ`iI%Yaa0t +uĮ + ާ\(>-xl/%{&(c&罼ƿ1| Ci-1.Ё×;{ E׉}'%͑>m>+:5u@ s9jP70 AHgoxGƘ32,@Ǚc8/`L|70xu8:r2'c3/! ׃0]=񄩽J9/s<AiD#%7k6hGe&qmo~8vlP@믿^Ӕ`'wl+MΖkPB+c q͎Yrq47gp0h0Q EَHϪB0Zl6j ]$M01:K4z ̰umjr>κK:U_Q6dyݱv~.jAga!r/ է|':~ЍE p(s U1< GVO0p|CQHy 87`ɉbnW=^ ם*"]r\*(VkV.=M Ǹ1`@θ?~'E {!|`Ӣl/p{Aq< =!!q?Vbw[.aW4eC:s;aY q_o eg- 8'hu. &\\+H8ˊ9:#ItnM/0$?;߇)&De#yG=ĄƧNWqj?_{Q jnki^ zFFG6 E|s^">F>هu(\-US+Oh t%1. 2ӄck2ܜ V~׳~nV8 |T+ |W5wSE v7uW`~(E+Zw[$t'`v_7;\2@_3:AX*Dַj vzMS*bEO%nza @5:*_֊TG@h' BlfDgzZ|p* apÈDD fU*cʇN$J}m @Mq]pvS g3zBbީH!_$ʁJt*(DUe|*HjD*3_M҉""k.;6ު^;r>",&{h4]`uDQ54%6 IxKN/yƯ݄/Dg+(tP&Ƶs;@ɷ=pbJrȌpUf KG#j;JjZl8Ź/*#Vզ3^_?Q/*ɺ^R!͙":4O \68aKTy)uBrn4,"XP0.dⒽg(x>mY[Gcd\޻M͎B(BlZe$ҟ##TT89B:@fbgtTw AHӑh뫰d|; m*u ӫO \#D v]*vMR}>=%yz}~'P@#A:F!r5x~BLrD!?C(bU B#I1IvufgvJ&6ʀe$ }8B0ɍno|w_9āzݎ}֞aQu'ZВ=:;M*xԯ?,3hG+~>7<U϶I,*T[{}J-E*V)zC"u"b+=偧0?A9Ũ,`^xv.f73}0LFs&ȟ1Ʈ}~.x`oLA"-8:3ȧrLP͕.͒ ah/1Dr{D<UHTϞ=õwTI-nzlLR&&hd׾vA[Ɓ ZbQ+.}v=.rL|+]ػ) sp<mf[VEx1)vŅ}|}uEx2w=r,Щ# P09XI; (2&#fS8MP.ҭO8Ѓ k?  ٱzbАIdG"7⸎'xm/h0LÛy)h X7 9ki#Drg8+cy.a$Kb8+7w?&Lz_=v#=~Tp捝+ӊw}k_7+*=F f hm>U70AE?yMsgmj~;M/wBσ1;r_9.cq0Ɓ.^Fwֽڎk5W ~c /&:<88yۛ8.PcQ>ΑrNsy_/6i "B݌?Ǭ{ց$MG02WVP2&ܣd3CFt(T7(d#"n"C.;3_wnnWI Cs VбrcM薋PWH% ϶ZWzSӈ8"^39/Mxp_[[͙Sv X |A`8ȷ 6(7xK%k&Cr":3< Њ8,W Dnݺk^@ ><$ɹ_|_w3<Ȱ ?,h٫IT}x[KudwWbM1~+G]xFf#fQ$ú ,ѫZZQ^fhC_~y R!r]l1έGk'p451>-޾M]7|/_S,?<`u}~F, FȲ2ep7E|މ7iTΉKYF܋3 J@JGªP"}!!ZmM90 uETꙛ!֖Ppclpnbak̓[1NW8k(jl#I景5{x<6@[4A\k UBJWҌ$ m[m $xqʝ;Ri*D̼[lwڭ͕r{dv5q='FRO>ٳEA~cП"'!0}Xm;o7  ^Z|td]`H$t,n ,cx| ̅yP\u`L tdٵD1=HGjUi~XyfU%X\R"C%fmc} wl\twCPP6Y<+ފ2Fkپ7JYYC/8i}%Da@6ю -y,9P&GϺSb?@[dƓ76'ɼI?T yu=IAtu'M.* 򨠶kOo/ĵ}ocN" c_"p?/] `ؽwa 2o}:!hv" \9v)㦱D9Q.4gu!-,-P쒻EG`eMwfO^bkSmƂ)Xu_};$g{  iS㼴܈-U&rJ|fk/,RD8ɢ#ü>y5BXBGLM Or/S%kxFHkj% eʙ˩z1xv)˂@y]ŶmD_ݶPao*3^b dܺD%]2_Gv^l[[.n"Dd|sbQ򋹱_X ^;"E -3o=Eq=_x+*H?Qۜ`:OxF'e4fE+||fOE].8Ʉl ߎq%{{#O]xl4E"pOD`O#JQl}ߊ )_"t0 ?{;3tz߈$eqzMp/c9"-Wm˧Ro@{5g$CxZ x )IrT1N0טtd8BZ\%t{֟ty]^3F0nAs40P-"MRZ'bsD*ڢW[˅~|>s< ^.mOTrU1P^R&1c5W[i+s`j?=氼~R 09j.-;`W_4JayU0\a(~FF;F;wafo\FNnEeUsn`1Yz%,(7>vqjFoOSܨ58 E`_zW'UsYMW/uɿ*̲v}ޜ|jyEew9MKFhi5l y3azD[نXXPyoEN.ptQûUr(OyE3/_uڎ.xIGPq[, Ra'og.Y(BSSv=ĕhk=.TL]pr͵Kݻ1[Б.Jc,ٽ-yB,ؼ}T A( ڹAi6kvOf\ 09=h Μta챨PP9 7WkGaq'rK fN6bw3CPsA轴 ٤غfgb TgQy%9ymoMЗmc=latHdlKg޳nNxxկ*2v{60~1js-4}v U)Tk޳ ԌPGC-7Fld~Þ k=KIaveW7pvfr67qt|@c5dfDQ_k|ٗi{PYۀsgz)yf\J𘂅3M*s%Z4DEw?FՌ3@73ZH1LYfl`cxgӼcq!8hrBw` ~q:1A򕯐GW sypԸ0I9NSl1JuÏtqч^{cG}|xrzQ:-_8"2a` HY`ɯf?G pڞ͢{n_&T餡M* F~ɞ6lqC & 졼=79w1h[5/.h"h f]Zڔ"0`fm̆jsfG=/mM7xv=!!wT{܊$(Y(ΩabrBR,II(R3=^; ٢{I a('%l{<`8ElsϏ-z728߯_/* Wc%]poL%?.!ǁQkތOt\;̣=:qz|!,I#ǎuOgy^ 6 #ʡ߹Z0\yP<͒>`pt11.x9z&O1o'ۦz<ƎX0;ُ2t^+ ? ]T0`b1>vN0}}\xOwCEw63{h_GD0&=dsvy-)eŷ͞B4E|>AZ"w3R8f#]#zɗlP%UkOp|>|nk R)#Iq^PsI׹l!{Fj%K)hv![7)p4Rs~6v=Pr0L4+9w1AhwC/b@T#Oa*H>K(-9޶fL4! 3^ܟ8]mnҤUmEMqrK\ſۿy Ƈ8 mt?Z+7,.Aoo{7Љ^Fܻ|tknr뢇|,W^a.ψ0qM[}{" `\:.x©O0qqp:|OF%ƒLFO8{La]x{myS„lH/aE$G*YbHDVb#*mM?lF( }g_aQoܦrww>T kDpgJF+[:SAE`d-j!/Bp<蓼׾5$ic-3pNg7@l}z`x{Ad IA{I8($#j$j~?c|H>DQLy3XCR75E" D!cYp:IiznU]2EayJ`řU۩&kX7v^;{ϲ1Rϟs D,㜲lرcPɴ٭n7! ,w*@~mfI^~7[蟀8XCv,\3Swؑ+wT<ز;d5~}hc]p%CY1Pvo$ccw^8^;YX]zڃM7M*o}j;l}fxxnOԵ!l.0O֖>J1>|.^<,X^]t#Ϩde 6-Zpl7D l*98>R<\ amW YR{u*!kkTؼ[)T- -ـ*:Jbв2]ϯVEQt0D-j+K bJp0>7\t Η8iq<ۖ6$]bF_RNq 4xEYÃ^Y LSapdinpˎxA@l0O>ݵPZ*]V:*>8 `Sv}= [;ZxW] f =X = ) 8H7u>⃧_W/Cb"36~,]- ꫯ\˻qS`b3A~k ;r58z({+ Ը`pm|MbYMH48لGJv#AtF0d$ mTA01j|U[]yb|z Ņ,ȟ93TI\3`ky>\ tIz/— "d E8'+ees2;B1F ρk%Hf%v\&OX|M>6q9"'M!<ϳ!/ӓC:AeG?/x`}jrP' DsvSEZ `~cF<m4I#I<޸vK|$+-[<#o;m]M:=/~ .dHAl(OlE;; [:yA '0gTS^"7|+EZhŐjC+>;<:Txlߙ{žsa&gd@}x1.1MF<i#1&>Qٜύ{Wut/YWYWu|=(x>0t[$ߣ|=חIerсͲ;&5.9'#6Ke[hYHE/˦qfÃ]hDBЍN__Ԟ(TJMn54p*:uV lUtÃPyW}y w[ou70|q$vkh~2 }E_̕2nMeoAW\1j=5ac JE ƿ8x F$g27Qe&^\TM|MH BZǥ)0ŜG.q(#Sp. @h2)1(ʺ$̺`m=TǛ5 =[r峵'x\0&<,#MW_V84eo~yrVWm%Y=Qyr-YxHxICq-1l@amE${":}yvmzN 3ѻc3}Jnj#nϩSk@1#5q7Ts9EM(0b쑮y&N"V}KSQW8E ⵻^)| םLA^6БKFۮH$Ui_tTO%tEqK/bPR;܋S@b.)pς   i[<Т1g' ٫v]@A|*|q~0l.=s и>Z'.G#NP!wƞXњF5{6x+^yqrPt y}y"#-""27^g*@)?YRi-b_E pmf ~^c,K4)d)!hTCyWĺ/UN{)FZaW%`6>ptw x /@ `B1|ɜXmjNkoΪRHmr8*O/=Х!w>H5!*pf@?K/MvE0N@fX,ߺN.p3 F:'@loD,  "YH |BxgvYf0[Ƃzc^iBo^`85}@ L%O NA"rVvՠY4w; Q Rq^ X֨H6cCVm7A\Z; xJ˵ؽN?Ob̹hml ԕӶ_WUǑ*Z6A At)DžN@ޑ9Z> MLM >?!Q)!TN HGBy(|FqF2l~` BrL!dl^:,|"M4k`M?ȒThH!=-rYvu$h{ v $ƶCs7 ٝ*RNC:26wZQa!e,2r@~ >b{3{l,^+ i{xc_MXIH/BC<&!I>8mݢW=5WL8]ST{sE $&i= "Ř1s!$9^+Fxrm2:."ar\;tΛH{'믏Jyq% c Ź^O:yxct쐃ccb=;ttw٠Bӄ6@Ѱq`g'%nJL R4BC,y@Qe?(̹`T vPv 2-zl` ')5:%XX^ù~x@y f-//0Z:N.:I$TLϏBkOŸ̈́ 둃yIP UHZȷ, T Qk83=9ܝ0;p_`jwkT*Y,tq1/BAƆp}#̷7VO7v%9.15 e2.PD,Dv0 ';uM3aR8JjbHO)B+:+^B 7\^ !a5=HQi&nx= &+](uT610\$I 7iD٣Plb0Zx|ɁDRP~0$cb1ˮsѮ4Q$ŸE?A>/ g BQ,L"Z!,8w8F;*VJ0NfTxJm*؊Qxi=T_e!_C %Q9; {hs(mN@bXƒթ̷`+D#B~uUU:<0dP2ܰcL=x୵A\a^!rklzӉXq B$\rP&-L}O`3)mm+S фڹ(xwZiPҎh4uQrsí󛯾ZO~4Y@A,XȿoavT,Bf{mPށB2<;vat1Ccxɞ$xpv,.ë&D9>9FLl6JX0/cDZP QZYԤUa֝n/߉2N03%2 Fal-GW8:`ߩmbx(. [\{T//ڨM ]o'`tWz m斤 {|ɟrN<~_V^8w_YE_$YQϖp2Ij0&q ժ蓘KW"x11I'p=JHF$hw4g q cN PZ5pU Ax0_RTND+VD@8?lQF2#7 ˔ɢN-2BCST٭'ћi'ܚZ4XIZ4 $$ִHBcĉ&^1X8~$@‹1]r2k>Ǥ/M4M m2#Jq"x^ᘖ4V:iJa<'TN\*:PDa?{A!A)~2~IyfIZzxւp Rk9-n߀MM1$=!E8ٹO"g8a fGISjGM%s[ƭltb|58 IO] }>_St ԱD'C9,[钇c  3 {^1ٵ,لE==-.-T\M$)E%APE tjEuQ0EboN[ ȼ2vH4!DDPELP=[H͒#fU{>GRe&30d=$JѩAO?̉T;S*< ԄPtZpL4HeAc$}v{Ͱj(ܸGQ#1;鋼q9T嗸Np;;p@x|БPxdLLqOwGIH)z"OBl K]O`ă*=g`DAf$Y oFM>4Cی<# 3>9n >D@%0`D\εvZ @6. A`RuAxOGudo/㹒(.p\bIFCϛ(aWbׄ| Ivv]0SMY\ /BE*x86)ky:sr<%M0 #J\8_,8Xq!<+/_c{\u$$#DŽ#8;ZN-nDžniE!XnB\;HE.W=RL󉁺:Z|U yvqrBehܓFih9CXm:f2Kej45Vp ((S` F~#9 i9_eN6StV+|;:"Vߜj|\10W3Pׂ1w0U~` h<8gw,s[^{5^59@[lTG?AOn-6nDEg`2v,oKw;sp g?ƍ[sjUaG>1?~|rXҕi[]A."piQAtظ޷Sps=GACN鏇|D7&/קWZ,~9&"㾥S'(IJyMX(Ӫ32ܸ'\G}H7 S6ϗ*g?)B#8/~ gN|oE}aՍS6t>E?Z006"sC~ԍg |wcu `CI&25CkJ>B`T9Q.%Z+Șc ƑkgKAbOϩA˜o1Bx"pj2(Ui(79BL$BD qlQɏN8aG\9EO xh;Al1]KZ:nr ,]{șt)怙7ԎMVWo6/=_uAy i٭MGSBsC.ߪU`rϴ,ք 縊󢪛Ma~^DhW"kφ@ "K͑gU5z3kc3mT#(;h1[Fkvk;Q}!A4_yR7Ë~o!q^rf+menl7ϲ3C|wť7undcfgǦڙ>QѾY4h$! !B &#l 0 7cXڥٷ^/dqz$[wɛ79OF2Ѹ&m*!A&Ƌ81Z/ѳ{_K J3zH`gpBaRz{a\#M<,(J>ͽ*-sQ652/gQޒÇ_u{23G;P竕 `~ZS6_%wX@<|6?{)w9@܈#5MZvo.-V_{H܊bm;̬\♦Y*K8\_;.X`<%k&`5QOK6r7?lɸ.s}0ڂwFG%)QdA۬_韬bX\W؞w?-&GLT|цOEFȀH\ egP3"{5'oIvH p{$Y 0tJU#{J<_+Tj*b#Shq}dPIԘ}# xR}UhnP=<MxQq2*p}NHC|JY5`swم&*(p$Cj*7\CkN r&M18qߨwM> P$5P+&3 zCQ'TqZsyrdU""9@2"8bj *%+uDUh_97o[8lr =dK5Z>=8='aJAlK^oVHt= H=<7ZqėnR$xuA3 #u _8ɢC7'Sc-FW+焺@bW#Mt f`5oBEMM0R4FעfBYYjdXIn;ȨSI-N Ik@yvQ%Yf&ٹQ ;^bd~eIK {γ7hYƽs! c |#É #bW@xlS:@Xy[^ĢXϱbVv:~ "Gbw3p|J̸0Ԅ7 ;昋+hS WyΉ>;@[qӮW&AhVlGeaU80Eb\J4>2v_Ë 3]9b Lܑ~1<@!XDAVX̝6qgT"BLd1Ua=|a~Ί+{X}LAiЅgfs.hK ^$QjpyH5j`c>&\~韺_*3g8WGeWB^A8T!̎Q+Zy`wCYR9ݸA?2@bvѴI0ݎzZx s)_U+-۾νACFǨL+|%sv_¡1/1~ցG:YT@r̫ݧ*BfW6= u>zR\jd,01='ݭH';gmtSBc,cC;7dv-8{<~~{ESHٟ]ߟFRidmwJXX ?O{xd43spBľGE>J[u2^y`9U05YO?tSP"b vw0,qrA+ tB!< =>q eja' m,XtR *]:'&ebpܟ UYe/94Z>E-2/Gs#IWzy.(Vs 㰱6fkŀ6}3!1$$.2]e>S˃qBsiS1>a_/N2勌/ I za&4LΝC{q 2 .~>%^>7A$ݎ?X &!)S>s ]Hn0Y m}6%BdJڷ2-q,Xǜ fFp i&WZXOX|䉣'|?\`1#D]{NX$t|->39N>}vLIpo60? }gZ.\i_0i=cQBx5,<郣c3m<abx><^N zbelH$g@^9~^hu cqg\C@pl*Kh<'`_Gw"B̂Ω5f^ V/)T͆ b'DIGyx)iDƓ%DR,^&Oe_۲v:ؑ~d{p{gW%O1 c0A_R"{_J?Q`:u8 wgPnO{Q"7?  JCU=G}K"@H_3s7s";hz/cJڕuJE$d21=m`E8ѣbFəta|衇}BĦ4q\CDh:B<řfSV35xϦRWch]f P1^˘,"d̅ *(}~NU0͘O"`s7xl\~yX>dUYK<<2cd8C%O1 v7ϲ^GyavvnțN7uF(lRJV22GS;yE`QP[)T(OlhOV8tejp `rb]1ӑim8Ii6<_ת!,ML\n)؉,/ lLNL@؅cݔ$.=êk3@_M ^8pYPڠ23I8q@a+|8lbduƧ5t&(tcܗM|U㝋qfcxˊx l=$ mb_Ӗy1۶if2gǛ^0UFr(|שsP68 mgϞ^~U:vv'$+tȆ_ݴ#ȼ5%DDNJX5 " juK1> L;ڶ '(y3]<\<.oܼi1K}.$;V~òoAiD/2flEH~EĮ8%!nVH2yưn, .e);t}@!“K6ܑ*8kG2dD;ͅ4dA1DH:)Vq*GaA\"DXZU!OvjMwI /e湩ؚクa D]\3̏-# 4dVU0t.vBMd(=@vs)MhUH6 }\RSH` f U(DYD ??2÷enV12{eyΎSdjb Z>(w}(`^xᅩDi%CLRI/qۥUط\@0@jjb3*Nͳkzʶ]庪 Ɂ|,^URBg8ZK <`"0t}Q Y;dQj)^.!Te0 i-%mAk1OBo|:(.ǬeDYAm}ر9A!U+#/-/M8p&!VbԽQaF9dA06*E;~Į20,c"E> tqT&ޥ ]h} @_R*7 '?RVɵЙJ41ObIz"g 0Vuz ʗb(|k+겕/i.$L^Ϭ F]\9eL m-pv ϓO#%^ReT\S0IA0@_0vq}7;8 Ĩ{z&Pr&b"&!84TAVש͔oPLC#,%~j /,8%@[0ف0.0'1<`'ĺCO Զ&RB$C1ܔʵA9%#bRH^5Lҟ9nog퇵\UqcTw2{wIf-r [ ugw;^N#! * +$VFYiAŌ/jgBh/')֗t㴋)v^hdY2,X6i1J (yq rA[54)^bZR40 r1Yڀo}VqK&x=50sPy$xcM[KVd.+)@E݁3 5HM1\lq1xγ>KOTpO.Ϸ6Wz@N64}XF1~*ॕ@g{`ڋW)Pg ),a QE3Rw֮.YuƅBw`ϟ=,#}*ubu(Kƕ~FiH4St →*2OS %KM, sdF"IQk"tk. &㨗BH)=rOM58|M+H\ e)U^Hf!\L06pv}e|D4' .b]jm<oj.ڬuy?ƹe |=b)Y68-3gTp!xmƼ{5`4AP *-*9pX3} yS1n/:ƹ/TX'*Pk5{|{U@ڔ4L#"VZ؄q 0cgt<wMl v3obM-H(~h_|DYw_ʽؿ9AyY%`%hC>\S2 1'Q5Ƒi|Ac -ZݘGdJ$*nN: (!:J#LMRW!8רP;KlgUeB^[[-")ʬXplTVWVkׯeW\"qj08|*ڸ5 $I= Å!8fFb;qCIvX>d# >FK#džfrR=yF: :c=Wcc${֝|\=X7I JY}lk_Nxu-fЎhl%Ij|g(?~8ظy ȣDћoQDžGy/loqYNdq @ pDCQnԽ0`؝xNa hآM]w6шL"뷁m]޼.iN9cP[nw~!|~gϞEjK/,w>?~pnG{~IP>xl-2مu{8^% sMQzK_w:2 bblbDQAho84`j9gXwNFVXPlSJ@xي}F3d€Z&-oU%o`NjS1n/IDi93SB͟ö{oOutv9cECd!&HC&/{E& p_*RƟp|[ OT<IiNE!C+':=娍DQchɧ8VFyb9vbsZN&(8EvQǃM.ہ0,|_qjt~DrcڳFi O1u\xQqCdz6|ɨ?R&@]넛6_>7bǛo~Oc>rE 4:ǎe3?l6Iڲr0p㹙\6Ƈvq?_GY[MabqoxPa 20y*pi8Jaq-VW7Çw=u!A[XY#<6g1:/26$gE lMP*z'Дf.-߽4A '-hiK$ "XCz.AY)XQWuoL+F&12k4S52BK{pgzXp_b@D>ͳ2dCaT>9S\pڞVGy%v7| öOە"J*)xPsT lh HmQI3_8⭱F'=c9$p1l |]JKK\d :x*:V(uoRA[0>7b1)}Tp~7Kk1♽=ɧdɞަK 1=>L3Xp;E*k UD6d>r/H D kHf`eoME؂juVOf.x3L^'>W9/^]dbZ[Ĕ!wytbΒMZDz{HD,QK+*HA"&WVdW¨lu1LJ0d4ʣ~0NĒ45ot ģdk4gT_ K.|Kc7 !|i7*I~j;כ~pֱ9$q >@Itj,M x~[ٿڹ;q"{Nl|N.:%,J}]Ƌ pT2`R5>\se^ -CCyR܎ӽO3xڵH'_x&8ĺ9k/ڗMOg6+k\eI]$1@<+ʨm#fKܮgtP-;cP8.K!ˑŮ {ldx4C`]?lhո\#!">CQWH>~R0)KJ9-MVyum 2* `bqg׌[9& ƞ"׭KqCHI<GaR EUb ]31^yaϱM( h'uk#thF#*51Kpt@MDp>M.q(#;OM$HcqqX\KP1MQHAɳTB8 {~xP7 yR3gYDBN:m}.1O>j$(ͣg y'`vvƎ zy%0Ƭ /ny,Jq6XxzBCADiE(r~G$H8q|^xfww:ߟp\%=v 2ቈ8h&ABw72œ-]]Lef1f`踾}U^^#t8<*=r"vqy~(E34.ƒ&9iy溙ܘ,AhwcPvF5O'd}ao%2 vf7/{ pkʖ CyPV'$0~8ߤj6mWalzڠ„_w72(Yc~h&b~}W;Cu>?RLVዼM9];_"؀- =w0!P. ~D@O;6/~Dl$~ٰfB_^n~d szāaޚkH ]WN:m3 3\k(oۛc0'o֫9g^r y HKvx^.Mw>,gG3 ͭ8?;j>FSff؆6n16'<] N>[{f*)G;zxqb+|T}05 #GR9Tٳ1vW?\he;P*  dN .2ZPưjJ]a|tNǩ`RE@U"ǫYq9^ 0| iI_l&sgH_!eji 7mD|)3ˀ["%nD]s_q>O0-]9ı0go-?s43Cy;?~ %\x[0=%.FA:gT C% ,A@.O'8ɺ /%r(Y[1Kv?ASݜZF)'o3L޼{uof,>+87"_$#=.LCĉ0l's2@|r@CF9`'kpx?eIx'N"RBSYyfYamHv?WE?E{'L)]Lzˉ&aH(^|<]!XcW IX~JfؕLy4?T5T +'n0U&wؐD&z6B 2^mR„<9)kk,^$}& Ez ':\l6)'dQpF 1d"{] R,믿?vj*ߥ$K7lxdXia"Y^^<;F,EbK|ov1j@5튍u3xG iBK|bla}j/^oa;5{9LE&Rmh'}2.r*d @~&=1Ɖx.0Nu-&H`M-*Bpw~ @wh}vg݌=ڣu7/Msхݬf11-;<4ʟfS#Mp#v, e@~"1dp</ɏRf'^h)7eDx:,  o)*~ga Z}gnX PV0pM0qAЙ8"Dwx6h# 4`UMyBƳDENTtӍ('NhF^9ZW"[o.!=6T%أ gҁve⋫"K}-Rx ^1aY0#wpm>8UDT#0߆]Ҿ۱Dqŝ-TVl(Dr/y x7lmƫD?`yxH#4(̎Wؼ/q:+o";jC`{ԁe]u,$0~쪌t\7[< &}}iFl?Ve{g,*%TkJ ).0 $<}h cv}`1eЮ ֙` z.6%w;p}/w 1ڎl9U; IɪͯJM:xp ^~j$c]^M cx01r"R eK''tNv:fEbdCuG#&N>_WۜOv Q *ӃYL]WgIH}¸E2j4qۯo''ezUl9A_P@bR766cXQ b?p|-!>}L GAI L'Aj~#sѹP QmϜ9C6jt)٥חJ}$-_͠fڇ.AK2gfm1mmd~VsU"rzp[)ݔrѼH<}]͹ aH] T8"iVP7`R:L0DO8_ھp;j\u]q/ `_$oL#hp",)2`4AT( `od f,g?ª`6הCETɀ,S fS$4~O|'֑#G@S@q*A,U!uU7F0$cێo``&3{sk5~MG}GYL4ú#0x!`0Hڥb<" $('L+#6n\q"ĥ<,V7Vr%Y+ӑlH *'eve0cr#$sE68fK|ti(gے&Fol03_*E_DOXs)}S]i_UIn[+ Z)gOqߘx&ȄveM`ip1FTOO ixLɓ-Qq7ϝ;K Usvl/G-cQ.SO= vaРxߑ\/qf<Eo@a`w:nBo68^Z[.@fi,lgN=X/}X'Cٶ|T鳝K ^;9IJ5!]uØ tw #{h1KꀇN!y-Tj7 *@7PsOT:*Hr53~3a~[{LH!3~E}o^,+^DZ/KR𨛁gM`::i*D&8F$^ֲgٿQ~x~ :_^kؑ]G`U9m6MdB];bj>BgHXt½gvHsG:tNd87hh$_,"*K" gy+U@7=GF{뭷f~Q ױg`H܏E ;[it\_|bG*UT :>th?3]牷dP ecSNr_xfblq6k? ~W7dl(CN` اO9T>y0|,3b,&9#FҾpm2(085&6։V҄Tvj4(*qv5s-5q>9揘L*>.q`xXQq]:/3VT g}Y]3 ptc8xN)ƈɃPφ;?@5XHg0fC qr`_p\2Idc 4[ڀ}1~|F|n;X/n-VTwPK `9k0'.6Ū ]͡3΅k#cȞƦ-M{敒i?Ϻ2 ]mq֯NDwPwK2͗FGy?PIw7k$Dd01n/6)) cZe;zNSYGp:юcdŇY" >ߡ]؝2:Lc7IENDB`gnurobbo-0.66+dfsg/data/skins/oily/alpha32.bmp0000644000175000017500000001731611340536656020226 0ustar stevesteveBMN(  333fff30300$$0D30D@"C04DBC430DD300002$D00"B##"000" 3D002B#30$C3003@20#3300D004#4"C02#BCC3C0C2@#5R$04"$"D2""%"$DB""$#0@4""#"@0200"#"$040"B"R""3@04"""$0@BU#02@R0BU"DC@"UR0004 #D"C"@@0"B"U#2""B$"$0"@2$@#UR 03""#0CBU" @0BUUR#CC2%R#3$0"0B0#BUU#2#0" %R" "0"0DC03B%R 0C0EU@0230S34%U#3" 0UT@02##B32CB 2#"00%UU$40@2UR"#"@2"0 ""3004"@33"B 2@0D"" "0 4"4C40#2R02"@2#B""030R@2R@4@"$B@"@2"0"0"002C$020S0C4"002"$C2""C402R @"D@2 2"02$0#32 2@2$0R0B0B0403@4"""0T04" BT3" C@4"0B#020C0B"0$02"@$02R0R@#333302R@2R@2#430%@"02R@R0330" 2R0"0333R0B#"C"@2R02$C"@R0R0"@33"@P02"@B@2BC3R@U 2R0"0T R0BR0R0"0BR "02T2"0BR@U #02#@2U 2U02"0"0R02R@R2$0"@2T02"03020"@2U@"02"@R02R@" P$0"00S02R@2R0"@"0R@2R02R0R0U@TBR0"@U0"3"0#2" R@U@ U0R 2R@R@4R#U0R@U02T02"@"02R@03"@"@2R@"@2% "02R@2"@40#303"02@P02R@4"02"#BD0R02S@2R0U02U0 2"3R 2R 2"0"0"04U 2R0U@ 2U0R@BR R0" U02R 2U02R@2%@2R@4R 2R@"@2T4B02"02#2R0BR 2"@2T@2R02 R@"@2$2"0" R02R@"0U@2U002"@R0R 2R04R#2"@" 2%"@2"0"@2R "0"@2" R@2U0"@U02R@"@$04" "@0BT0"2U2R 2" U 2"@ S0BD0"@"@" S0BU@"@U02U@2" R0R@2TB"@BR T0"@T02R R0R0"02T@BU 2"02S"@U R0"04#@2"@"0BR0" R02R 2%0U "0CBR0BU0"02R@32 R0BR0R0"0R2U 2R@U02S2S02U@2"@$0"0R@2U@2R02R0"02U 2T02U@"02R@2"0"2$0R02R@2R0" BR02S0U@2R02"02 2"02"R@2U0#0"0#02$2%0PU@2"R0#02#02R 2"04"0"0" 2"2"0#$"@2$02" $02$02302"0" 2"$02T" B"04 02"04"0D0 2"0"@2"@%@R0$202 B@ 2#020 0B R 02@2 @2#3B@  B 434B@2CB0202 B0 2"0B@B#3D@ 20@0CB @20"00@4@200 3300"@04002@30 4040440002"0400@004020"0"304D"33C@4$34D340D323004 3@2""B$@42" 044D32003DB2$$334"""$4"""$2U"C04B""D04"@2"$%C%$E$@32B""$0"""#0"%R#0"U$""""C02RU#0C2R"#300BUR@32US0@2"C2""@332"% 30003ER%#00033BUR00BR"C0000BU% 0"02"U0#C"#2@C$$C300@0B"C0@"D02 #0""004040C2""@@2002#040 B00"""#004432$"2 02""3040000@@40402@@$$00"@""RC2" 2#33$0$0@" B"@$@32 00C3332@"" $#3$02C0"0#" 2#02"0DC33B@@"0$CB@343330B@$"@"0B0003$0"0$0#330"@"33U 2R@2"0" "02$0R $$0$R0"0"02"@2"@B"@2"32S2"0R 2$@2$B$0R02$0RC"@2"02RC"@2"0"0U0"@B "@"R@"#2U "@R BR2T2" 2S2"2U@2SR02R0U0R02R$02R@@R 2R0302T2U0U@2R#4"0BR0R@"@"0"@U02R $@2"@R@2R02"CBSR "0R@#@2R0B$"@2#2#2R@BR0R0U0R02"02U02"R0R@2S02R0$0"02R00T2U@R@2R0"@BRBR "02"0R@2U@2S04"02R02U02"02"#BR0R@B""#"4R0BR0U@2"02"@R02U0C0R02"0R@4"#2"0R02T0R@2R@2"02#R02R020#U0R@$0"@R@2R@2" 2T@2U0R02T0C02T2R2RR@2R@U02S0B@""02R2U02"0R02"@R 2T@2S02R@R@2U@R02"@2"2R@2"0R $@2R@2"0#0BU@20$0R2U@R@R 2R0B"02" "U@TR0"02"02R02$02" 4U@U02R@2"02"4"@2R0"@"@2"02" "02T2" 2R0U 2R02"@R@2R@2%02U R02R@U0T0P202"@#2U@R@"@2$02R0" #0BU@"@R0R@0R@#" 2U@2U@U@2R0#2"02S02#"#""D04" R@2" R0%02"04R 2$00U R02U S02U 2%0"@#00B"0$02"@" 3B"0#" 4$0"0"0"0"@0R@R02R U@U0U@2R@"U0R@2"0$D"D0B02$2$"#2 2#2CB@#2$322 330C3$0B@2$0#3B0"@U R@B"0R@B30R 03CB@$34$3@2 DC@@2#032CB0$2#4@2@4C3"$0B0 3$33B@3C@302R 2" R "02$@R@2"0R0R0U0D3332@0"#030"2UR0@@%T#4@2 B"#302 4""$@02"2" 2C2U""0"0U "@"@"@"0S2C2#33B#2""04040B%R @4@%URC300"$#@304""C202""002U"#30R0" R0#04C0"@4"0"""B"""030BURD04C%UR304%UT3@2"%UT30D%"U""02D%"UU#0EU%%C0@B0@202#0R0 """"B"0B"URB@"UU#2"%RR#2%U"02D"%R"#%U"C3%U"""# 2@#40302@2#B@#3"%RU"$2"UU"@RUUR$0UUU$0""UR"@RUUUUR02R%UUU"@4%UUU$00B@@002R02 2"%UU"" "%UR"@UUU"0BUUUU"0UUU"0B""UUR 2"RU"C2%UR"%"0 @002@2 2@C@2UUUUUR@gnurobbo-0.66+dfsg/data/skins/oily/background16.png0000644000175000017500000003230511316702701021250 0ustar stevestevePNG  IHDRsRGB pHYsLLetIME !0{yPLTE  !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~tvtRNSDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD}obKGDߞi 0IDATxڍ]g} Ssιν53iԥf0`68`BzkIY8@\dWWZHlB6 1&T nH.hzwn;f=>K崯HX]DRHOZӏg)=p'S"~O}c\zFe9?8'-QL}qS>%d2~Qgи-,d“fRSUoL0^'3-rH7ok5/~b80zbO4k(}yqh9(<#ͧ88^GvZ!k͇%*·65"- -fm,06dBvk>+u)<DqLiۘn|;- IvD!;`8MgK=ꝱG֩`l[ٛ=*5UaDq<clW6{.( hO8ʟlj:?OSũW/xPΎ?ڏ=/G>kEϤK4t8>߮t%Otp >넩ƴ;IkNV3i/k]Se6FX\+z0ƪּ9ԮnjfX9m<{6m؅}?)ݗךּ?lLO;# ݫ<S)8r|8F"#&q462g5^u9kA#즘-2D4N^[VX;^h8x3 >?30io6?C[߇-oз _[9]se]9~jy]PǕuLBGl_hLrM6,1k] utHlGV.{R7x|a.IQ}Lv?jأ3s@\licO~wڱUԝD[oJ\s}=[8 \N22 b!$ǜKm7L*U{*⍫d! xOѧZ^3~=ʯ_k3|pϳzFϿ` u໧7JʡXR&EG\,1ejld^.}Vi;qa/ ıݺm$7U$7߈7j b*`$pލEXP_dܰo.}bSg*?0u߽{ݱ^A_}x{o=Oش&,krs]X\äJ )i'J TyZk&0S.D :FSo㭴')leCׯT2}fHOoSهm$<{pƽu`tsSO7f{O}h߱4YjUML-/늮w.Z'lrs|+U',n 6 x|D,zOxs箅[oKc7z_]ٟz:h>:jw~jo=ȶOLכVG+]2}й1ĶӹuЪ^o ǕB{mӢ)1㱡{6Q`ljdq>; _*} w鶞w~o|X-oo ^MǼU I& M7J!8T<4`U2\5')Z[A܃ea-2) 6R'ie~,/|8$R'_GDTIɓ}䑣(\E)۪յ֒A>FFkBBtMʚ]X(hU!^Z {"Ç F?7l/'. RVZdsc0>ONon|yF!s9qo|McKߐbQ^%zu./iS˖NFL\7rF(=#T)C:WRe"0E`j%F۲)\8Ddܞ ƞ{[w߉n۾;釥G$|޺SwCF3|埽~dWS0?kCEt ]OK \cxsf>cn]R]$!\+ <8e jV&>Ԙ}Bԯ7>/_^;p=#A|i#z @^[ _m CsaHLGnj򤢛3*޸f٣XCeTTX̡eqM+T-(XewXN1g8{U2GzLWw=;`lm5V٢x:Kb\_5qa3m: 3 %7k)3vh O\h3Ŝ`*]Y_% \7X~@dx<{ލkϿGwݩkW5zyG[D@<6!F 7/ڳL8XCUHl#Kڐp;[k0Lnk|ryϒgk9cT'׶~gk~Vi2o~<:>w?,j(́ <ٖ=;~nff` ƻLlBRUu%6 χ.Fɋ㜉kԪMfP`5.Fe %7miM3/&_ ?~|9ſ}K_;N4{VNg}$Jn_/ߧP^ ;')>z= 3WT ^08 q1Lc ' (#nH kio2fWΰ=9Nd[Vs:~2Vbf}헴':o]\QzoVK:Lq}ZQ6yo"H0>+B.E# osӅ6z|K'_*ӯza}%F:pĩwD bϷz ]_ msT]vuV:5V怅DJa}T!{XI ݽӋq+k[|QEt˹n:>J5" s='ڎ?R֯_xkE,U%GcD(fIjS21&>C(Zjo,schKCz+AVRsp/oydF?Uc<uҕɿxB6<翢ҿŵO6TO}|?L G̺} ~0`+=tBt.Gt"U^5fc(J Mb qU5,U+\5H mg=+MWNhm\>쩧)uK[GS ̅w;C_|O/Cq ٌtJ/4cJ9XT$QI@l0Luv*-ne[H՗+ۿ۵y{v}eCjbqvLS }jtӞߙydxwÏo9l=>E1YfZeV׉FCDMmcq9-gh`#4 u fZY'R@3]7r.K8z>lj?1g'a~;~.Pw2RŸVlkOhiF@BLiy2|7>١6M-eʑȺ+Ai :+f!Gvsz\1ѱbt! o |׷3OUmd'­} tT\T|KYp %s_|JJ*ywl+){:jB>p8?;xns=m\#ARl}$JV[椭㏆%/TA?^+>e}ؾQv}ĪڗAf+x~ ~ sy6Q[58u&UxW7iz?%#+ʣas H=<'}hYzfo;* `!پzˡAVirM qI-ue]$z<_{h!o[ٲE}(w1| [Yќp=(}Uw/V2,5nd8deMZ/pkHhMxLaGǸ߄㢳qª2r%z}G]'z쬔8ez.<;~8kI/j0LDkez>зvx}7-NlԄ>VsyocGۋ86 MZ\nїh,:39Çw|V`01 [P.SifkAS R*'L6kz!rBD? mߦyEȘ"4l6&E6F̞br,gvyn('7 UvO!&C`֑uyVj;F^F>[& غ>pBNxj2u7=~#{d6%nÊ(5#|l+۵xM @E{ĎYEjg3BPΏgY:E}qOQB[ƄA#OYAp: ݅"~l>q᥆߈-C@hbvCNΖs6LXZӳ^]ք J)vGݹ5RoOd8Shu'BHC ?e5N)7G\$BGOdAqO9΄Sh >?R ?W$Ax6J>E׏'B߈yQO) Sd>嶤SMl '{GO O)դ~ 'qn% XOd!} =$F?h'&BGK$Kvmނ˜׶ }nLc*bLyf頻2:M@ۄEz :{6ڻ \m#Pq">MD2jJI XYu7Q#bhk\H&[L2*qTnet@kيߠĶ- i xs #E!42FqD;u60UH)5CE m9~;5^Vc[T* XeRu AA,rRBrli$ }<ʫ;.jtw)NM_H묦ؒ%{*D&\OCS2L, f8SAxje/og1w$x ^hhok WVD}װs憥McƒR*ĵ( e|e XN^dPhlcd"~MGy(., bX(6"KlbI%cq R !㊈`"IpGPzoa3cq~TU'W(Vvϳ^6kxCpQqшxͼCibrv͉Q2G ΪH|m/7˖Vk3``RmavSX}5ŷ{䫰kpK&HPNHj,y10P Q(鼊H{CuA24Yy9-H z{=Sx:aqHDͩJ+ J\CjD^vXf2Hx }/36GF#v7piY/]]\999Fe݊&6udRk Zg$FKmsRhMuyBܝABKc@YhNg8}22FvzkfAR㤅0E4ׄ!aai!L2کB1eB$PH7FD ( c,j70PL0m1#Ʉ\D88M]u;tFtf\gmE:rmB1kb"]t^w63lUͺϚ t͛/xB~g-'hє Ŵe ^vE+馴% l2ȅx^v*ٻ0^gjBs !s:7s%Vܴ*o5KpC .k hLHzL ~Oc-ѿQ@XS @0 S* ?혲0QL3ݫBjݳmbX7[,qS˜):d ÖgI@AUgImq֊@DbP!Mqi>I+tL͘;@:[RdH*wVM,?_n7e)6SP(xM .R) jCn{Izۆoa4.7fVWJ-)U7k]3Kv܎)%ZH!)>ԊikZ3יuSL7 ؕ>s;#mɅ.n/rndϹ-NZ\9ʙeU ͈U$q='0fmz9;OҟzRtT(%T I6bRŗPȳ3Kq{dSޫEΎuȏ 2Ö @nG2^oCUBMi1LKHּ 4SA>3WwFUJH!jh(IeS%iBqm_fT[i'VX҈uhUj@)WK42)q i6Y ɻ:Rc{VFZ )mA0TtXq.{!++22 5":tOl>Ը9cR)Cu7n[a87I(C^ ׬5Z,Mxy7q88׵EEˊB(=]ު]+)#Wa-}c@-Bnkz6 iG2› q @ n5# (jlVb? i3G4ۓ^'mKqUu±C+_V5"J[3Dfmr|X0U ȬlW08vwS8YLm bKՕ؀LSy+zVNdfN7̉ա>9 Ee]gVn:.aonF}bmݺrY zKy$>O1;dyW`Ȳu*\Sa[ƒb$El*hƫ"*1ML]#Cv0͑-A7_TYw&)&$Jimk%,RdpMi 1'\W> 3!{R36ݚ9`uvBZk@.gnYHoǤOw\ԝU*SY߲Kc  Iۃw_kRMP,/؃^vlL@[N$֪*?` Awc mKB:ȡ,j6v'ί%Kl.Z|qbZD[x#Zs6YjiRkJ(68|~e'[toBjKJf=on-i/aFĪf xʭh^Hg4`K_WW- EĮ`ҕp ksxk86rRZ7g4TcW,`,:غ&+^r8p^_m#D:UP1ub lm &Q@$X(il ;h"FKr 1wK{Qes6<bl1&6*ͽ 6F6*[e,}cPduj׆EW}l4vigŠ נꞶZ X3U!\e,˨69#ݴ=n} qe-f K9"0ۉf%v7V!G۔jוeܘ jtGPE!eZu(D˜le&Av52iva{Wgu5]) ۥ5-Z.u< iRƀ,Kùo-0ƟxeE`~yZ ˾=3`՚#m]hL^!Kvq-׉{݂W)s H qGUoVI0AZS1bl)A[pCV*kY-ơ I7Sih״E B#5@" &1 LqdԄG5г)&(Rֶ̻Xw,!V aC=%K妭6veu|unGΛܦb.anIֻRz|pM際Z0G>{:%? m 9w%M[o+j/ Y,E92 RDhy2IR)- ^iȗ)TzHR:f!Zlr*^`nL!饚#(\) ҝ:CYCVMqv&mFXbk\)+R*:#751!@!)slo7gw>8GE %P{]}~^+2aK:2 ETw6 Lތs 9l(U'f97Ӳ$d7@bh*i.e@7'Ա e8&@t *֤} lF"ewP8VBk6-P`)Mm!lCAE͛rgSjg0I08PT"λ$mPSVFNcDvՏzʷvsBpͫyazZelnqWϛͥ6pJ3!I޿NXW&7%K (CҪ4a.KY厘J{qµE+UQ + s׹ފr]^8߰;vfn}:6ȯ[Rm&1:E7/<ߞkl4D!B^O'DY5ϳ͒0AڋRF[ȥnvnb"^ԎHbnom \{m,""kUQkxozn^H#zEccabNsʆI0ǒ]˅a(mx+5+yPGcczUF>2yz)YUc#GxY'P0~ 1N:|8oBR7Qm6l؀mC\SRo,FjI[\"/K/ݵmkᅍMvCU%z de^6[V\p/4iI&I즦%ceĉv4V2bݡnLz*H&m$):ʹ2cߴ1 lو ty'uP9"7W[m+`s=!N\t]g}Dqn-R)XɘQ|kU"[7LTTTJOW}…2 y 4הF*b6":=#Ft=vwؔVWҵmjj؉={_FJ\p"TY¶7$U<㊦@4tZU)+  DgEL4N89w+T7J[F~EQd*a2{A%(B8vXkrBN|օ^/νg j@(R@ 4m6hT+JDuE,XWX6uuu{,[ 9|Q0RGz˵f8'L&;^Os(j+WU]V R))= riI^ xEf%i>Cvء$qҖէa-yhcXs|.WF*v2|pvŴSlٲywF]nKlk#lwNrդ S߯' 0Q%UE2S2ed{݊zs8RL<0n y9AZ:3K-YvZ|>k$- ';f +5[oeׅ^]wUW]-jxGvW1\1_==uW=鲲2O,#(-pg_?a$(ptZgjgQY2◮|4ɗ%*+B!V^a;:Nq-Ʋl2p/^.ܝ#>u9]&HKMhi[cy(w_DS8JF8i¶%>%alLE4'LO'E]]}?z[CU.b;3(TU<W~/v,f 0 ,pȑ1eRƌh"%]ZEdA V;Kh%N h]/?ȑG /ȿ_~9-X@(.n?LK:3VRe*8Q15ޞzݞ<)^樣J@JGGe,vN76f5`YPl$\1@/oq436|4̀ uĴM=X7&PI%6D)( ʇ!#]kCi~#-U6Iٓŋu^ XRJH)H$cK@1ckS:P\n^󜊑1qǖ"4tiLVe#j@jffpJEE}s[n7o^͛… ~OV4; )x$5lx/+B;1;|US#v$ǫ)--ETRK.MmxӖw'N~ThvaBtGQ%(G[w4cEe%e]^78;VZZj4543#6ښ01S)­$RqZEBDZ;(b~ʫFTqɬM,mz|v< q=4 IJK\.)Ķm[~-$:-nyaɕYH=?n>e6SBͲiJ 29k,r |\˖kW\MQItS : Z#k"P'l 1Cٵfi-|aFB`$3uyeѢE\s-V^p}} *Mh|Uz%[R+jrR%.G[q`X;w.if"_Yёcw5q$4lR]tEݑcբ.wCm=\xʛc Y~}ΧqLSu;v0܉RMM'g申xbH&i0FDd|53A%&mbMSx<Ҵ,x^Zw\pҜo\]sS)k)ٳ[l^W p UQГ1;M(\pdg=n<9ɓ'{ƌÔs-04EƗnNkP1B>L>mƍ)dJK,bQ5dM3Gu@ - @XHd%\*>px Nʒ%K8餓vF6le%9?(JiNHEKL'WO:ܫM`ZnQx @,i|4qzRQۺt6&*H]p]]]Xǧ1-X4BYyE pI'6eDq@Ay@]P>j}xݱ):kJqʏc&ӪYLӱ̲iӦOަXbSZm9h7%XE,Չ Ajlۦ3ьI2DH˶IS{U!D +鑶}{/g.wb:9˟K6li;04__P85F&8#FkB 4BdȌQ)@ Fk۰F濷 ʙk LjOzWr;mM3BNE4U T=㘫*L>˲CroӦR>#\/t3SnZL$&OCij{m˶1mhHQt҈*\TTU+ܢ?Zu5T46`ڧٗ* Sؘ2qIZ`2cPI&zE({bض$wg-x0DyVOc.˧Gak2d@l3 : p,>>M0%>?Ӈyq|4%.rr]y\5 *nCWW]T*{gTTTȲ2O*e#Fp QWrrZzle l48q6o;WPUR>Fpѓ ttt]2_]>4FJS7>HҳحY8M^pQ~… P(냥s#)ME`ۃgd(xcKaKh;rZov `ٵqcDb"$'Z'ma <4=T*E8}#h]G'(̛ɟ\+:O G"@gK~NL ̨ml_i2kuu5^?!%;o`r,<4[[A"mleFihÜ~4H,No9_ ld`32]򃕎F6fydvgJ|rgH}`3~; p +0d[քs!DC Bb*KKKEuu5Xŋ3i4Xk>x<.CPA[E~ %?f6ϋ˿{ǫzA@f²,z|evj%H`&RY-L҆:ľz_L (OG|gŕ13S2,PyD(JzH/&}Q/!O3# iB(`YRm\Sݶm`'9CIx2GƔ)xKK t|}nIcc-ֽlkUqU6;e|{}Oxھ@MR}WU!`ZRap)ene̋ĄX۶>@G)S>mޣضm|ykr>ޣ+?b,/^uj m*-YfwV)"{ZV-]|;CI?pg?W4oJ-;::â;o`<21wPePe{ŷZƲ+8` |EGUk7kw̙cW&Tv۵쨃\[;:ii32\[{q3u0V?_T$@cf5*- .xW5j*1ݡV}o%;H#ـp0K2@okEJ-994/4"Ȧr|y(®YzIZ1t&g|%x\k방ㅔA`xFu*˶IB1e|iu=&H蠥 gAQ0 ϘG<-i4;ޑ/ȉcpWǮv)okE"&eZ %e*nSy5R2錆z,y(W`VUm)Xi=7~ ,UaYS yOviXi+mJHR*E,B:(FAAtK_[}O͕oO26H29 ?{Ma"ڭ;B9ydGϞ9D6|$LѹhtbRč4& ?KwALӐ4v#s%!hW{*?m11hmjlE`Nm'P v.SDլm(c џRĠ[bW*("BH[ kd0{lN=nnM~Pi4Çx4N̞3ifre1_HK8C@UT=K؛}U`|էw$GӐceؿ%lH'ҿǁ2{v?Xd \MxMN:Bu[>P8gEv `$K2T)?ge% ~xʰ*E Ri5 IDATBJ]FwTiZmj-0$&Y| XJIh_Se E?MwgEq㵐^bE{Xw[^vBR|3[:b?9g JPQnMJgGVe";1O^ymyfwkvp p89vN~ڔ 09|م42`z3 K˰]i3s+N) do+??zmQu/߁}KWSp_umlJ?gg2voksHMeKܓ,X\ɤB&RF'IMҴ©EwR2pIgśc8sr%۷?;O'.TUlo+K3)/2/VF?9jayJ^fUtvH6lBff11TcݺKnzzP-mZظ=G)x<侧u biq_JC. 0e$m[L%S8Ni4e,_\aKd"ܹssXx2| 1[LF95=YuG |%Zgқs>M]]3fL'?9YI;{2(X{/JĴnM^=|g$DBӎǛF5wTμ=JaUy4] x~aɔ:Lxܪ8}뙷ZJs|9Pq3L=n([w<|9 >Zh¡FB*Bs aUUH|rY]]mx=^rkBk(ٲeliiᤓNΒ%Kañ],'#Me r'xs E +^Yz|@9G*yK @`qhfۍ^dk-n. O:!%=KخZWEN:G7 *N]i+, bShc/ ~ʒ\΂ZÒow`wB?aH p{X$А ~PL3eʴo]u ©믔d'6)L$PFJό;gǛg=&ʱ*wuuEccFv V1 p4Oo,=/ zͪ4^yUyE]ʂ Qd;_J;kOUN1`}U׶߹`vzI҃iU`uۈ;G`YQCQF5`nnΌ+PUr^`Y{"W$߂zw߯ wg^*zI4pX?l]Tq+7nw/MΗj\nSURj>4'AzI+ԏ/v3ZH;rb<ln먫Hr{_1o&}hn7ǜ4sMM5V| 8 N?t_ߣgn~r L7{f&α @$a?O>d{L 2Rfiy]8,flڴ9bBw;,]Y2l^HǏ84Jl" _wGjaYXR .MCdxdf.q3S(Җvd(;?E&J{j*}|ҋIT EQ^}5.'g en7x`3_>T2hYPH)1 F$4/Ϭ{&a})eg\Vrb;c ivű餋`aVs]5M#32e |/]H(t]sNUqKgfʺ4M2-a!7iɒ%9@4i}5x\j(Æ v3~x}'sxܵ>[# ;y[=OES̚fOU;sNU՘t._{M3se[6sC[Ÿkvؖva?ŸHtaYg;(_z\2Uy"U5d,som8tSs/_.[vrL$9x{2>S};D8GOضM4Ŷ%FUqMO<43fL'mV .NZQ!"į<`s[G]ڒ+ HXNci:W>ꬕ~ |qU2e c=|>TؐLcf=҉4iukP8QG'EQ^pK'NV# 9J^5Ν;tM)~ (Ө>4%.UuTOMrw=祎v2m8 ^_39 Ѹٝd9dc$Lnb۶r"vw>;`ڲ'NmbZ}f=3m@9G,zfOMæM4iٳ(^A5QÒ<)rVIϼ|cO.a/#XI\fzg%m헸\ҡ3ZO>X#ò9{n:9|7&4eѢEq,_|k'E) aj߭iޯ%uWZn%MVՇ `H6U  D( ضm`-Y &9sr`&l^|E4h)M5y)[%k (`:X2gi>ok-Ge6*sDW\qE_"`2&`fPWK%usݯ'ysAREl۾:0J-m2ľ }ݖ{q?d`():_u^a|c5Hi/sݪR+V qe7?r:سE wX[33ߍ;ue7R]S k({IDgd@&FQA6`z7aw*+c)t3E:fֵE|y|nG~cUhUQP3PZ&- ʫ`?ܫ(J#)ٶv@s 0 8F̼5-^|?@@5J 6ؼy#K Cg>Ih6 p,2A%۹d${^AFu-[cw_ٓԻo%A^?Ô(=m= 6Zuk83ٺm |tvg:&qœWh M-Z&S~]ɭ5寉@-n}z[څKYhXꜳdYT ,x{̘6u$B]@9꨹h49q"&Am.B[4 e,]f͜kWrȬXa5G~ /rn,#ZM8ܣ?18J V/qYny1>X6ggS5]k YWI#]qn٘"Vo{3ŗVSOHiY%9s.~׺Ko9w5w2f`e2>pL(W NJ !RqlLB+Zięg:K/&/-xQ2;7}c#㣏rW$2qLTN#h~-}~׌>`\[tnQij_`dWnO?u#{u*;K/G}Ttiqp3nʴT p!m6/1cAn%X][n21y34ԗ܇)DA &ne_{wMKyv%bs>xl3c[,Yz+e,[ 9tg}xDKO"NROdX Gc[_{#/s=x]ƙǝ3Q]Q{W>M8=nO<Kض} p\z飼߿{TUVDc4MS`cRF1ɓn}2eXu5?8/>X9_<1/}fRi$j,2fCl[q^,0VW/Ž<2)2SLrM ް۶x9dΡ+Hq^I*%>X,Ʀ-hE,7풖idZ/ͲW2sJ@jCT7an;GA{k'euĩ_mm!(~G(/`ݖOxgeWrȁs7qѰ5yAfΚAgeM4Yi{᷿Kf.]שL*a䍢pԉ|dxwWf5?ON0Isw6XA!T"wW&BNtZSjןeil.|vշ_b҄lڲo]x-Wά _ oDse6;{[p\' LtB{c9az8p7`0Pɢ5G9IhY*4_ iy>?9| DWJ 5Xg<䓔Wj,Q}p-dp"Jx< N~omB|NwuQRhSH {~q# (&`bsJF7ފt;ili$R t=/0:]~IfLO>bY9fd$\k̔Xqӧo@(zor>FdeYgOw"' pSݘ)4M4^O+{<3a'_h$#8NoØcQp4LWWӜw7h'M=OiOXsa֝zNI`c->z.ՅPzv w9LȘL%%XR/el裏Xߖ8aаNo.✯ǜYsx罿sXfk>ůpSYq]Pz*X"ƹw/cŅ2c0MΜcK~~3K[ǀ t{K;M9^z ޳g(ic%w)C =|4hnG>X@:^~8j67W\cK*X=>w6cۻSFt]~ap?#뗿f6ʛN-$:Ν˽o4K#J  qlh)%|+l3g!ZKw\`60g!lXqx' )ۗӽ(g3rSW*PNWyE=˶3 [9@Tx'HŧYF@S@j {o$mifp&/"(H%0 XQ#`5QB(_9O?z硇fK:pCOW su7޲JxcKڷ28VmNYއm؝a|PDd gMBl Y}I2 (9xKQ[ou3Nck=O-Z _:[ksfѬZ;4lB(ʹ̉|ʹܼ3-alrltJ,,zʋRN-Cɟ`ƌPH8φO^x!O=ԿhV?)J69[Bu@P0-ɖΚq=!9+,F ;xNQc_Xu@%ir-mOr1]Ǘ%Y76,kb*۷z*,nTeJ^1e89_x5991KPU:^0#?݉Ćb>ͿNhg6h t@=sF4T|6vRA}TSg'쟘}& QUڶS @!, "} 9u_~:W/g;TvECi\mIڶS",pf IDAT"z=>3-4ϔcIp@f"m("QYu yQT=Wb&z+*+)N[( : MEQP4Bݳ9߬?;Z)Bx!_ވ~[^8HޠYWKKK iW^yE}E}(U/4ZHU\ RYWB 9p$5ZL?|\{pm/k ϼLA8(۶/2_Zs4CȞ/ ,}FֶY8L;HևQGY,1gk,_>Ѓ};+8Mޗ7UMn&MӽtR2:Ψ(*n##3 (;E+Bw/ss~$i(y=O>ܛo=9,yC@A p( G h$*ׇ+#q6,09[qt>MxM?u6:Iz#\)#V6iI et+5 /vHB~v |}3T,n7o˟yEuz޽W_=e':D0k7ދ|"K1XtՈ8`ztBB;F4iR'ә>&K uM0mrns[ڳ& >GJN,&F{S?o, B%;V-χt) ,`3TE9Ģ;HJak/X[tw8n 2Ulm~?Yx1^xE4&SaR2tJA>qכl}#,FT8 㧔(g#5΄ €Q#`w6<t0Fy#ah9CdB ,hDHw~m6t~OJ8W'/FAք4r$X }? 5(~бQ0j*IӽxE%M8&鞈-: ڀ1>{ m CW亰 F%q@y_>FRKa6<g~( 6/vQΧ`-f!qzb1x0^WckTK=81] }R[[4j)P_o-u)?w'wm-SCT* ; 0Tdsz7ϻ OiQ 霑æ|gre`Es&${HKNnWD /(>w>]aYՁJ+4y8mtӾ[˿10nǴ Gƿɱ8[;1]aH>aܰ;ۣah^`DI> 6wL^7 EWl Pd1v]o0B ^!F墻`1n1& R`%%%Z2${E̞ȞzjQ{^@qpX_b^O)C) F8ADHe!^+|R'Q1l8 A V˙R0t9?"kT 2 ;{~ $f8}LD֨o?hqJ)D@LD0G:%JJJ0`d!akę02iz{Ba'UsB5OPX vjN(Xi4Vn&fPpnNGţ ܺ@m[ZqJ)ݻqXyy%Ynu;xy2L63i7-:7.p#on>qq1؂u|I|Ü0h(O*!V6`e??E;s7RK5-/tF*wul[ԓдSQIط1Ƙ$ J3i$-QR~QQH"CO%&tm'JnQRu'k`$aú5olC>' Il'kqѴB\~)!F)g|ք^W^`8rʳ" 7=`}brO dڴi֯_DQdW^yeyy9dJ vE૯bFc ~ vm[ uĈ %//㮻[[[ g;I8HNNBW-6,sUxh9N`W=ze?"Y8SM7k/tD<-',zIepH c@IDŽ.(1pu\ L:!3濟 eo漌2(ΉzfZaK^v 7x#>ǎ b- &+v|8 :ٳ[ܷo'22rd7ވnOlV۩;S `Dϐ>c=V#HhĘ1cW_;ڪ׉>}G+ tW .%NJv] f!ywwz&SDlo  2$ W;'s@pԩ?gHpu"^G8*' cH7wd匂}l /9I 6n܆3j^ם FB283Mq}C0jp N`8ҵw01< Cןe<U92iƼf8:wrC~"}˾ g;g*?`b[oʃnjHqi4Jff?55UoZ9Պ3fhm۶md۶m,--l6nb広YFF/$$$ !!8[l]lժUp\p\A~]ahvrJzICC{e?Bl!!!fh^s |0)qO }0ߢoSD$%Ѧ}pnH@x/u:MB urI{0GViߎ]t*+E"NDL4effD\Ξ=c uTLڸqX^^<^sB~QXXv;0XrJ w.1k3fc K,i7kjj  O,z[9s&+++kE{Th4;g+W 4| 7\}MA9G hoaT AAf7 5WI'05ŷ]QcN;$vc~p[R n$''&)+7 Y\\.} U|х.Ln}|d6 3ƈe˖¨bxGAўd4d4u w1꣏.d̪Y{fH:/iAP)F>`(4oCI4RiP|Ob¸x~ҭv8'b1f۱kp|QUi-$_ {x`ĀO4 ý?gw wuRfΥxGиu- Ā !}\ŀ:Q$_>Ͻ@SKJ2~_C2w8n9 ؼ˔TSO=ŌF#Һm7řL0[,X,+̙3ƚ5k!/BA]n]k2ϯr6Ly f#j;;sL룎W`LHd>qx<8(0{2 or)`:r<`Ki{W_Y8a.^c+;'v]g#''}c.^ݍpX,x]аocL1:5=6[_OT(8㍤;w|P&Mdlg˯DV̾{&;?_lZRI+VHD~U98#3x'IaϞ=_w1$J|ShW4NM r~);xR3T}Ұ0;[XSUmcc O;ȾST;SH-^8b 蝡׬W1g]ّ5vGu]iXIkk?y>'Ӻ ǫ4h:Dz8任\z*==F{FEEO!g)P,|/=wsnB$A0;Z[&t:}pK"M_(s\+{y-kN?䎿nimŻg\QP0CnysU^%#FA}]+aY8xghL/\L"~#iEYT SF=ܾ5\Qz;ҭ׻OPp+ :)))0 08ׄI䄂x}΋%t WSx/#cRgƵ= e%J\S*Ya 0-mf[2z(o2thNRo{\.v%Cԣl vc/q b&,XP9 q{_5NʻTZßĻ[!N*3zgJG>; F^CAA=u[E =D[qkGؒ= PHlCr2T5jjZ~xHo-"J%F\N'Zn8^9\Cau8F r{/͸M?3kX2̪]B`ӳgIӾq }`)SRl >޸_g<)Li8c &byGxEi;[ H#JggvbNX] hsK{-;ލN9 qW9}#@ *Kt ͚yvKͳ$; \c} C&>fr)(ɒlBUQ GD}CzWQ,/8FfH̲WC]}.JmGaPJw"̪OKO {fh1?Ie?霐Êboq:%INak9ovEQRkH3ysd>]N4ѧ۹kL2JRM#g+ܦyqq旂.pAK4fd-{ʒS<|y14ѷ\J=,9I{gmpJhdgNgݚ` b7Ru3l?ӖJWլ9{\4B7ciH3Vccq ~ȞdIDATգJb2sm> ka#1=ş9P\t`0Irw/fsBWzMIq{O N' Z]o0d]l'皛&QeY/6;iI~U'e|mXԘW85HK]=kEPRT`-AuE"6˃ꃗGL($%s> DO60A0h^PrJ+ #N,u-aULAe 2~GEKɩBJ#dJT o>_ԠQh%\;J~wx{q^5Ϙ@'ie!T+T4VSV4ԩ)Ir} P5'<ꛙ0)[ 4 O=WmA+]:_kݸld3&3 $YS]^T0Ԙʫ.%.pqfk'Xŝ .wylhp s.$ !F6hyWx=mAȦ$ʠ(2VT Umm S[FŐ$[#I8Kg?{Ύ44~abNƠ& )IlxAJH+g4&@( P9❾Y[ 3P^ 73 8Vp : iyn4(73^xz3ϾY >n>}[c (鷓d99|=]O__TW fLv/hD&Er!JWW9ջ{NZ^DYꂎԪDm0]4hH q[7ofǍ%C4 s.# xy_ۤgUVY:Jo@5S* NGc TPET`2,w޲ccB_Dowmdz:r7 &<ߖINrgeds?Y\,altOKRRӱHc=WqJIPo]zlxW(uʑYkNTKkmŻ"cf!NdMl;w/y AkWϘ;6+䕑$ ?U SRCRםz_{}.:4_@q0]c^q+[W6)z'\n?ePHVR:B>`G1ZI0=ѓ!1Y\nnޑA^b?׈>LIMMOoDc͗G'nP\eѸS5Օ_~ 6&PJKIUc?qlSwyG<Nh#ʠ7i)}dJJB Mdڿ>)uhz+tJ@ sg,"CvP*X4͡QŢצ$[tK{+ gc=3Jm7)[_?uz}z| )GuO)(qk]ḱ&SknGG˾k}?Rr?bضm˾NR| ICUyqqfpHwY&SbcLJ-07;=慌Is:7H Icƌ_{*5#As.嗓~i3Q4ex|EC2Gwڍw~MT'Շ҄30;[td`8ۗq]PxL8M;N҃/e2Fḱ$U6޹S~ï}=O(֛W\VS[$B~? ݦ37\1dZhLg *"%|9nMFZҢ׾-6DJB=zd2rI׫31Z]*6o,&9>LJ Ǎ5]i9jqole읅J$čˆpBݖ4v[Ɣ-P_+n<5TyOIhs|xݔe=+!4̘@%Gj:mIS8n~O`SEU`$RF 7l-u,zp݋^Z‰3*ݜs5SgxSV!z{r#(/wEW?@[fܼ>BtIB?a!8SQsxTT 2TŋO}Q]zhn)j f٨Ek5u-p:hiu #GpSU:ٱ"H~Hc2b&ŢGz4FQge7q:(er)F?l^d2{ f""y(c)~7-ՙ^Ƹdh(_feU5dk{ x4 >9`m<fOP'&n2k35yswt% lJ.q~5vIPwp r] [m :W/#'u-N @II-\>eZa,q1f)Xh=E$P[ɀ9P @?C0ᄂue;zvE6ҙ`$gxA+8BIQ`sָݳWz3)Fa1'qfUG$i${3KL'ehݱ7&SEI?%V$os6>hrIJ˷X3*|>Y4Z-j>}w߻$U"?_$㝱S{gB@`vaH?ad-{ʰqgdU9c{1'_iحT,֋EXtYбM%XM GImISJSgOhQ#yOK$U~_#`ͶD*(c8K ~fo^} 8?|{t Nq~RIPÞSp/['u[ x0n{\b bJ0i+T$}f9(vwVF`1J`$yT D=V{@ng1i^z}5x`>xCA8(^%%pNdZRY5XXF(xk`)4iw~?'qT ltFay#y7_~oeK&=.|yEݎ&Fc91AQU|*]yGgyZ*6n]\M`+ɣ`obI_A)u # %D`MF=xlIb|W hC dBSSӅ3f̅VzJeXF@X ql1z\m4.sX|(eq$U U,{¬%L;8'({䷳?~}F4o,ox~ p^P_3PR$ d߹@޶s>J%Lx'19ua5c R>ABpU\uhwO >^ πdBZZ*++Q__E&Z7W`qT Ee?c9Ue?Ցp:p~UtDQļΪs5 F %TD?.|`/[L+2:'1+X汶Va%2s|Gmjzi(K%a[b]v^U¯bڂ`LAR͚gۨ*Ag a|j $`r]]=UDyyW'N@]]|ȊQ ŭ#?/+%Z,L:B@c`uma5Fn`ك_lm?çM8u/T75^}_25=C oGu-D#lޟ>5.j<(T)?ڏڊf:TO AB`'ݿ5[2qTᄂ۩x1B %ͱf~sS tUU/-zwWYn-Geg6 fk"' Ds2M)ǜt}CHoXYfSsmC^_n:'8vC[v4ȯTM1T)Dq.&;Ӽb,'+`L$m;tE3]aa o@'cxسDZ4uSzSу۾MT%F)e"3UU$KJ=E 5G|¯{y,>*UʲDݎ&Zvhg%/:<[9?5=֡%/:-ycRv4ѦFv4Ѫ}_nʸJVLǣ'\`01)c vƢ9?Yb@!F"6bTl`ZO=fT9gHWO.}u z45Q"8OKSş-+ iꈆ7]hLx׳ҩH"L;|>/ZKEgCsۗ141g6qc07[͊}uoyKkj1vP~A9byS`HMM%IIј&9xZzo>;R|PW$MR /Ih_iVm2DIENDB`gnurobbo-0.66+dfsg/data/skins/oily/alpha16.bmp0000644000175000017500000000403211340252607020206 0ustar stevesteveBMZ( fff33̙333AaUTaUFUEAFsDASVaE4AaAEdFQadf5aaDUFfDFDFAFFfE56DA5A3Aa5Q35AA31aASAUva3QTaAXa3QaAA5ATq3QAVA3AaTAAQQAaD3Aa3Q3aQXVQQUUQTaA3AAV4Q4QA5TAQVAA1TQ4UA5ATA3QA4aQ34aA84Q6aA3Q64aA5AA65aa6AAaVA45AQV4QQTQF41144A84Q4aA5A84aQ4AA65Aa4Q5A45qA64AFAQ45AQ46A46A6aa4A45aaTQ84AA4a1Ua44aA4VA4aAaQQAQAaaAaAQQAAaAAQAaAfdeTA5VfDaQAf5AUTVdaDDaUAaSTUTA3Aa4aA3q4T4QA3AaaAa4aa5A3TaAAaA3Qae3QDq6va5UAVADADUATaADDaAT4AQTUDDaQTDQ4aUQ57Q44144aWQ6Qv5qATAA66AQ45QA4556A65QTA7AA5QA83AQ86Q714a46FA4Aa65AQ441a47A64AA45aQV7aQ4aA66AA4Ta6A4133514AA64A64QQ46Q4Aa33aa84AVADQAEAdAADQETTAQEFA6A66AAQAAADAAADQDQAEQDAaEAaTaQ46QA66a5t5USUA3TS4AS35aS7T34aAQAuDUAU5A3TE5q3TU5A3T3DFQaQQAQ35Tgnurobbo-0.66+dfsg/data/skins/oily/ciphers32.bmp0000644000175000017500000000572211340536656020574 0ustar stevesteveBM R(  333fff"""""""""!" "!!! "! " "!"!!" "!"!!" 3f1 " "fUf2"fD3 " "3Uf "c62 " "ff2 "3Uf 33 ""fUV"3D3 " "5Uf "3f " "ff "eU3 !"3"  " "3" "  "3" " "D"" "D"" "D" " 3 f"D"3 "3"D"3"3 c"D"3 f"64e"D"C"4"D"4"Cd"T"C4"VDT"D"D"T"D"D"DT"T"DD"UTU"D"D"D"T"D"DT"T"DT"U4U"D"D"T"T"T"DT"T"DD"Vc 6"3"3"c"c"c"33"c"3 3"f1  " "1" " "" " " " " "" " " "  " " "  "" "" " "  " " " """ """"" "" """""""33 "33"361"33"!332""!33"!33 " "33 "33 "eV"33"33""33 " 33   " " " " ""!""! " !  " " " " "1""""c f"3"f"c"3 3"c "c"f"3 3"3 6eU"D"e"e"S4"S"C"U"C4"CeUT"D"U"T"TD"U"D"T"DD"DUUT"D"U"U"TT"T"D"U"DA"DUeT"D"T"E"TT"C"S"U"CD"CVcc"d"c"f"dd"3 "f "f"3 3"3f1"T" " "DT""1"" "1 !"c"! " "3 c"! "! "! " " ! 4S " "4DC "eEC " " eUC" 4DC"eTC " 4C " 4C4S2 " "5DC "efV " "eUV "!eUC "eDC "4C "dC  " "! " "  "" "! " "!" "" """""""""gnurobbo-0.66+dfsg/data/skins/oily/skinrc0000644000175000017500000000135711440216355017476 0ustar stevesteve [name] Oily [author] Cyprian Zawadzki # Up to three lines of text are allocated for this tag. [about] A skin based on the original Atari Robbo and Robbo Millenium graphics applied with an oily effect. [soundskin] free.dat [project_colours] [background] 000000 [version_text] FF8000 [general_text] FFFFFF [menu_text] FFFFFF [menu_selected_text] 639ACE [menu_selected_limit_text] FF0000 [menu_greyed_text] 909090 [default_controls_text] FF0000 [credits_text] FF8000 [help_tile] 709070 [fade] 000010 [author_text] FFFFFF [designer_text] [designer_GAMEOBJ_tile] [designer_OBJS_tile] [designer_OBJV_tile] [project_colours_end] [level_colour_overrides] 0000ff [level_pack_name] [default_level_colour] [level] [colour] [level_colour_overrides_end] gnurobbo-0.66+dfsg/data/skins/oily/ciphers16.bmp0000644000175000017500000000156611340252607020567 0ustar stevesteveBMvv(Y f3̙f33f3̙f3ff̙f3""'!!"!"""'"""""""""""w!!""""'!"'wwy2!;qTڭ.کCrsc$Cr42!6247$B C!f1eMS#Vr8C%IV2eIEg!D2eJEg%T 29c!fQfW"!""sh28""ufRW4!D2D78"'s0qTC!f1fQ!h28!fRh14C!DRH1X!D0q*!1fQ!h28!f2h14C!D2HQ8!IpDqt!Qf1!hR8!fRfQ8!H2QX!IpC!#B!QZUcI=x//߾yVVBGŹBkXga\y>=N//a\Yz>N5ee]ılhKXJHYjNX; m=JYI4qkq+O^c])Y tauHX@[y.c%pp|`(:eXbj++sHj尢@ 55 Kp'%BȆ5UݻVӉu V|U75&׵vaBRc!A6l>E!V䃕8{./\XDL"l 1.*&p6Vi H].x`+o|KYZ%uc II a5O V-\'HIuDN |[O(jUn{8H>ּ$fY%b z}oY+kc`kTg]XjɀʰmM8k !ڍsRd.?y{ĹXa5HyN:n'߉UXGyXқ-VPI2qy'`frsXGÚwB-X[{ 8k'064 cwY\Rk#!&vZD(s5K^iPvbR'Pua`$ZZY)1X }W 5hZnƒ Cw>u`T_}XchΏQhP jNz-X/!yT UW`jYc%P.V(;~aʻ\'"êaV-M㱒p͖`XC,8m]c9ZZaK'`jT` k*2'Lw5[2F 겔}@ J`m:x PqאP0{.%5 XW |:ָn'`'9y6X`dS X: mhy3aMHP\P$NIêƭz0tA[6ˆS54}ajYЖL^k qa[;P} ,\ul(Pco-7,N`:0݀uXZSa`VY $(sub4 z=X%K*n'P, B`ִD?T^1ukXCKRV$XI,l^J sq+.$ -b KLVN $nXI,l^6euN dE&mr:z}sq v 'PX6yM Bw k<:|D Y!ƚg$lZ%qmbYN7j.XI4 scE{kj5now_cF:0z+ Ҁu҉z%wOMz +`MW4H' Wd\-ݱJ+%ɱ•OX1lb-O/&y' )ʀu^cSǓXuƺId3MGXk8-Yf/y`E;qS-^/V.c+p˄R'@wAw.[zc`0q7`OiocN@9rsTlbE<ּ66RǐuaC;y am5y]aݺPG?VN~ u|nޢK Çv.ݥza'7jk޶ RX;aEjM)B=`\ X5].QwVKɤ&U4+]\-C>o%֋>?k|/g?8W1XU^n>VVy}\*g`C.>Xv/c/UX%+[sXC+4ݮUZb-٦s`%ŸVk]T&%$nw+ Ͼ(*: @z׏5iÃ`ב/K4cf X՝詁9KfmgLU]c2A k˩7kZk(37:Z^X(}r+ X56VƞMw5IENDB`gnurobbo-0.66+dfsg/data/skins/tronic/k_icons16.png0000644000175000017500000000457511317411452021111 0ustar stevestevePNG  IHDRdR8cPLTE`  #$"0 0'(%808@0@P@P Pp`p%W+tRNS@fbKGDH pHYsLLetIME ]]&2IDATx c6Y]6)_Y}[$ImIl:gQc7Ǹbmwde6뫋Z:lȑTX!~hp=o7E&PgQG2&`GLJC +Qiz'_+4?!ӬV2i.$L?d ͊_}VC[J Y٤(k2G5qXlVA[U511㵂5WN 5Y.jʚW#'2&!ªI3~\a=Ogv5YW~7!Zimn(6 FV9ھ ҄eՁIkw#2|@ Wo[f&CY͈gGVL`Ŋ_C}&3:ˑ6ȪLt@į/`Ҥ>qmCrNSJaP!hBMeEŊpFPdMWX:.A싺IyټY1̋ *:7״ eEE̴(ꝛ<4aM xhW  =(V@#P8(}0JS]kߵGڞGIk \-#nbzKEDw[kk95.HX=MhЫׯ!LXzV$WR}*kVFyn ީI: &hǬ& e=zGWdⳖֵūc~X3Y~-Y9Vo_v_@H~- 1] k~ qيk.!n.jm'gyxNkiiVXaK;[[VmLkmaZjM KWAB:*X1"z9 rud'W[c~uL}/PVJTv>똈W}>&:j}:U6jEEEወYG:.gG:Vw2F5q ~'וNZ>f+aemYbm~Un0/ uy@ X_|DW:)˯XWw?ίu_s+xu0jFڅIJ# YM8V/>]{*6asV`-Y) ?[jXn ȍ 2:kj6f(UR1hJ҄_]~ܭY׵~uLB1 v+c_}]̖: Uq wW[k?YRZKv%ǘU~ t&TwKi=YS}l/k];.vٱ+^ zE׏KX5+RZ\]s,XcEjOI_csdmfMM(kدDչ_f`mybktrG5Uϡ7Zbag'"~&Iۀ+fO\O,lȯ*OzKbbM&V{nȯKFʘ׉U7esF{! ` X@XX`"u<&^Eg,Z&__SsǑ~5y\X.귪x[!QjMy޵;ֵ:s~gzECb BZ|^%,4tޤoػFDX/Ut hQv! gp׋f ?/&c$hcfhpf(2:g{Qd?ixd宥XJaXYs!r =. h8(R?D4ZMhBo5kvFcMg0T{k:72BETx#D#3hl>c0,H4+ASv%Fh4MO zwDQ iWhă45VZY,cgm6̀Bcq02RjǢn2OI6P{CZSSg3 64p Mw|rj,FS~K4k@c#]Nl@` A2UiuٽI(n^J)+4kDshPIP@ 0t( k:[4P\5 17]q8>7CiĠ9>i,6ǧm\\lچ'Je+7a2sSóX!5Λh֎&E/VSz )̓"XD4'֞S:U*,=̌&KJr̨%[fUiDzÔ"R}ȷG%EaC:`_{q/7>ˎx8֪_ĺ?>]g ϵ?V4bK [0_4PY>1h<܈͍N^_JMx").އ Ob2Q0, БuE¦%O:"J\,+Gv$Ɲz)ha4P`,I\ ZF+D4±CH4 RYM~ʭno=>z4-OE,=Q= zU"Iw5saxڔ%8T aTx$\(Hj#5Fє4vNm mp TY8"$Bc4??Ǐb&{x__-~<\f11 =Vh|6fCiɪ?ҿ0ryx!ረ *xPl8$4v:rH~/f5YCc\fhZB%+t(eZkXxZ AsZ³"xטMƢrjSY0 H 0U4Mh֊Ƃ@ktWN¦؛?fcp20X脇Pat9G^_aE&f@9'4Hk'*.VQ5x ʞO zQ&){z:jD~L4D#f@4(-x19T50EzM E4ZP{6> "J%hMd.ZO4DdCYi՘/m6l m mc& -hf~s>q-v%7B4erjG $EɒҲ3*-<5Zhȸ|x}V<ϒhMhEǒGyO+tS)=%sD|mpw$r>\z.H,>4Dd4fEʨ'x)Vh5XSP]PR| SgLl^\ԏ^oӍ`bS!&% [[MhkԍQI$x, HР(G'KD4@ikZ(&XY/Ziay,e~pd_MC[jJDX4ʡŧ̀iшEwgѰYYH >YOOVMAhfT'_Q5 ЂSA;EC,^yxڼi͒ь=4n˩M1!;Uj]N]csv(=hDX4ZwwD -Fѩhw9K8=4e,òhOÛObьO\WhR 9 h^%]FS4+$yi#uVhJ)Xa,>m#Jtf@ д'n1B (4PE7MkPK[fhX*jg<0d/od^*W22kN4 Gâ6T՘G5傩c+fOʀ]dhjO:%uы {5,ߡsWFhќBcjwhZќ 4ķ톖*Hį i]@Dv4qԜBiuVK*GMkPKY?Ÿ[w\gZ(TK4fNVsͫ43J8UyOhWh$ڇ"XK D,%vgLG?4YrTZCF֘Ӕx{ewMY(bטO%/N"F} 6%-O[@CY5أR9O)""AӖ3kԯzϴ4qbm]JY xwUx5ACǹ>{\H@Z>*^bxEQV}J4 F0Z5cѐI]$=9-I')kX&&b L4F{)x]pTIRyL^Z<^zԈkxC^̇'Jh<'ELvL<Ь\V$,h25Fט^0h `AD4K7]/U£c5,1eD5kjٺ4Ѭ̀D.]ҨSj4ti_kB(eEB`D 4Ǚ57rF]R,v P÷e<ϫz8j`嬻i&rpcZne|5F`:ތ0 LI c4Xr5bgfm2̌Jkjnx& D]Ft9{Z((zK0f-hK%8Ë)8x<-m v&9uhϾ$*^0UO TU:mDl4KKG';GIII4D%Ge9dTw__uU Վ~܎:_;Z~<&5Zhv0pD 4g!e^]ְ˼{QڅkC ~v0_,۠x4= D64hr4N&D5ER!wF;J% sC?i0!&3h$IaZP󾿔b\OslXAOc^]VLXFhd#JMr_v=[M4k@Bz)MP৭s8Kʨ]S!5.WLAh6y.fC.Ni0 $_,z͢ M3ik#֐;b5u|RjXSp }F c`Bm0E?{ţ_h4x.M$1sueX&EAO\k5k:7<c'Sw4b8%h&']S :%T5E+iG[  &FDh/zy2(Dt4AiěQ$qOPi ZE}iImGT#2n5ZnQF38Ѭ ͊=>p7QTC.h ]Nm]NmMMc5҆-,M&z*Z*6mZ4 $u1M $IGwHA0oMgq4Љfh6ՆtX8v\[$[z\;qs#XFi`AMmDڢÝdD`45D"Bh5?r~Ki|)dnbmY,p^k\|=|'ev̗>eɋD4YrTZG5T7cCSeO@Z,<: 8V| Z+ѬNЋR{Cw,ps7ShBGVE%Pha<czJPz)\fh0]V5|h8@K yGHPDM ƻ}WhО{S 0{Lޱ)޽) P@x 3ME r%Pp)/l^+ќVRF?c$qQKh';{!Df4#)q$))wh`+(0"O2C2&,H\ 뇥{cs/6Dz_3H4 C%Ge9f1ha0$ l]h'GF5d@Qy!fh^.OZxs(4睊-ݪ1XDX4=q4#G 9)c(Wh-Qc9bpvK$T<Ь<4r^;i3)23L4 F㕑qhjhܿF$6B34 Gdh֍wA:M ̊6Bԏz NɏF<#u%QFWhӍgU&s@SwX7Lb575+û L4 FSwȻXJ1^׎S:j|5ZnDs.h4I0v6(u*]Nڼ[TK4FOpciV@,fehN#S%;|z{5zDsvh7]JJYB(t X  (""""!"""!!!!!""!!!!!!!!!!!!!!!"!"!!!!"!"!"!"!""!!"!"!"!!"!!"!""!"""!!!!"!"!!!""!!"!"""!"""!!""!!!!!"!"!""!"!!"!!!""!"!!!"!!"!"!"!!!""""!"!"""""!"!"!!"!"!""""!!!"!""""""!"!"!"""!"!"""!!"!!"!!"!""!!"!!"!"!!""!!"!!!!!!!""!!"""!"""""!"!"!"""!"!""!!!"!"!!"!"!!""""!""""!"!"!""!"!"""!"!!"!!!!!!!!!!!!!!!!!!!!!!!!!"!!!!!!!!!!!!!!!!!!!!!!!!!!!!""!!!!!!!"!!!!!!!!!!!"!!!!!!!!!!!!!!!!!!!!!!!!!!""!!!!!!!!!!!!!"!!!!!!!!!!!!!!!!!!!!!!!!!!!""!!!!!!!!!!""!!""!!!!""!!!!!!!"!!!!!!!!!!!!!!!!!"!!!!!!!!!!!!"!""""!!!""!!"!!!!!!""!!!!"!!!!!!!!!!""!""""!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"!!!!!"!"!!!!!!"!!!"""!"!!!!!""!!!!!!!!!!!!!!"!!"!!!!!!!"!!!""!!"!!!!!!!!!!""!""!!!"!!!!!"!"""!!!!!!!!""!""!!!!!!"!!!!!!!!!!!"!"!!!!!!!!!!!!"!""!"!!"""!"!!"!!!!!!!"!"!"""!!!""""!!!!"!!!!"!!""!"!!""!!!!"!"!!"""!""!!!!!!!!"!!!!!!!!!!!!!!!!!!"!!!!!!!!"!"""!!!!!!!!"""!"!!!!!!!!""!!!!"!!!"!!!!!!!!"!"!!"""!"!!!!!""!!!!!!!!!!!"!"!"!""!!!!!!!""!!"!!!!!!!!!!!!!"""!!!""!!!!!!!"!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""!"""!""""!!"!""!"!"!""!!!"!!!!!""""!"!!!""!!!!!!!!!!!""!"!"!"!!""""!!!!!!!!!!!!""!"""!"!"!!!!"!!!""!!"!!!!""!!!!!!!!!!!!!!!!!!""!""!"!"!!!"!""!"!"!"!"!""!""!!!!"!""!!"!"!!!!!!!!"!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""!!!!!!!""!!!!!!!!!!!!!!!!!"!"""!"!!"!"!"!!""!"!!"!"""""!!!"!!""!""!!"""!"!!!!!!!!!"!!!!""!!"!""""!!"!""!!!!""!""""!!!!!!!!"!"!""""""!!"""!!!"""!!""!!!!!!!"!""""!""!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!gnurobbo-0.66+dfsg/data/skins/tronic/background32.png0000644000175000017500000000113511310762671021573 0ustar stevestevePNG  IHDR@@iqbKGDC pHYsLLetIME #w "tEXtCommentCreated with The GIMPd%nIDATxK0 DEs"d358Hφ U qm@xv,ܜۄksDD˲lgʟB3cpՑU~(UpՁp@ (UZ60Nu:'  rkU0U9cn@kF2stxvRVzEJ !o98.8' x^n11DZ.9'ͥlg OxׂAlb^╊T RR%dmA$yg:z`{42J9 u8GEg2݂pf\2q-ۢ"iBwm*} B*W^1(S$fˎdAs9&.y{gǥ;.G, R:'IENDB`gnurobbo-0.66+dfsg/data/skins/tronic/icons16.png0000644000175000017500000001173511436045421020574 0ustar stevestevePNG  IHDRL!uPLTEq0P`@O% .OO(000h0@@h@@@ PPPPUX@`%stRNS@fbKGDH pHYs  tIME(­IDATx] 87ˑ P(i}x˖yv=I#Kl9mw* 4Y:,-uu=N"O,+fRGElC ], h,QFy$Z _i 27|Ҷע|ˎ&qS]n>D_bXrq+>O( a%xH:iIG@ߣn1a<iGP:ai ǻD 69MKl6}a8 ug9ry6hn7݁Hfd4ZO(Bpa4 g?RlQBs(& 4& -3rو1F4#s@rk(h[йn|jE#dC46tш`0?~͖lU'@So hȬg$hHiǀ1-y6v 4 &e3z^gR6pJLj&!4{&mimil<g4mKhvsN6d:e+7(6ܠMa IvPو`9NW&6l `_sf8 éˆEc\ (}:M2H3}oEmV&jGRP, mZ68 z'ID&,޳9lf<'eؕhrϦTo B٠yvn[yJxxNxBAO^gr>W\~h-6 x" JTPrRJha:Zw}WTG:Ӟtbyd 3@7*@U;=-b̞6mk#gv A_lTwC_rሰeˉrO1m^K(2~ 2l@uPGCFA2i[up=GP: KHь G0z»Я:` S4aJ4Sh8eV/MZE6 qDFu^.u\)j/ }hI mhdAD |1I6Dx4ODʢ>=}xπX= rD;D{lskLLh$̢]v $z#.}\#6hdX(Q@J# ?M$s=*LC/ o/wDZgbBV`MCh" 0ߐM<=A~Q=3n$s˄kZ5fƊ5!%̼z ezXs Bh?CV@Bfkx|yE{6)}6^ ^Av~z, *>|ZŦh^2+Pki1Ϙ'ynզm.A*#sϼ+P=дv 'I !E[k= 3~M⢕n(wMJX`3v& 63ngVR`U Ѐ<;7B93a_7Á^IhbG8!w|iuG39y496\;}G-¨Bq03hr}4#:x(#G+E+_?X`m|*tTb\ 14)B`hXnh8]G8`4%,M t${<&lH e‡EduZسI~@TaZ1߸r+ل1Wń|"o̺`҅chiic;J2Ec@0yr1\کqr~ƞQ7q< 7**SݗoxDy~0>M{`6BSɈE#54Y|Sf?a{>:5a;D#RSY1f'MXg ~[9gT*`!%4kØT6ځ(g$m jh9-f($[ WxB{^e5BD#O^ȖW#$l5D49fb-@LVy.F7+hhɶ6lS&39Alb8IlXYhifλ5i d&Me3ެM$ꫭ@bĄE@fҚI+ 1ل2XV M cAHR7hVYjMZk{kΦ=Rc7=d[/M0=/`gƞE׹X zar֓Kb::Ą$ -i܀N+2o)ź:>e E@Wu.I$@>ׄ k^vyͪ:H.CGpӟXI9je} 1OӚH*qN@8Cҁ4!*#⩫PW]{6. Ob2Џc$PJUTO#1Z?#DjGS>pl:hXoB{CQ^!A(`SBSf Cu\6vq'>$I|eY+Ց"a0`15w,~dZ.m7zp w$B6穎OK+SPRFREEc7uEQِ{휈tuvf3D4iTYc̅"+Ea 5 `_g8F64^V.jý'2Q _*'wȉP'UPz6Nleߩg]13i`qc$E֊cיDvO($-+ۊ'R.cUD0_;FkEH&p.!Ҥ)C\+X WOyOze3^?r5vmn 0MG~&/9Jǂ%_i[Qb:n2|M|TK)eE^x &lj<6"M2VLUhfd#`w: ɍlT늨id>EcZjNGCh0ZCsMQPM~ eѝ~EC KUUФLꔾ@, d~Z̽ {?δxeLdf"՗!EX[[z?q9v!h<,'.'OA@e3? =s̮[6 o^{>]Q_J (҈\yYW˦熮os]Q}uɂl*ɓYM*6muc労KdS$O湒/7y,ϱrEZG% )'\ŗgggd`` t\X2[;JlR*B>cGBFLpQ2:<<3 ccc~G $:%UUULuuu"67l"Huuu ===sc9^xvєJq!,y2x0b f(Uk` UUlzyOYYYn)#e˖lmmg Hspڪ >vR{(bQ4l6-`H$АܵkWjd /(mmmaPfvg̡9sf={L9Q*+ hQwՎ?4&44(Hmng?yɓob|b9.xC jXt]kVk@믿^ݷo_yOOO4дj:A J?~x t:n>G zc@tɃ&8N.hW|wP- MNIi'1ؒ6/"A[nETUUY b[YY){GGGj#Ӆqb "fFNjzQ:tKSq4ss^A{(n+2 r$䜱AGS奲€I#\smwqGٵ^lذA*q?)1b^ K/zw)`(x|;M8b|JG[U׺ԜȸY-ͳy{gff >? ]v.^]B.kaJKHKۥ&l]Dk@W]AJpؠ_شUOdd ꍃIKvb2fqmm, }੧S~2xp 8_c34AZ 8>pp&m{cc 4O4:Z:[P.vCЊL.&]Ah#a0$>.c G| dcR8KIKZ4Y J5{P0\xI[biö0 Wt7^ooLhg>[_DRe] U5.j&b0՝KdS_M.!e⛆.%$&ױ&t]\E]"Ne Р |K]hC=͛7oݵkWŎ;i7>yC2C cq}cOwwrN枞L ȬF]w'5>,]+4q}t 5ۼan徝'N&C{-aMzhvjܳ39v܆cQPZbrm4+ hlN{{/+P?E3M/&=Id&3v~K_@lyIcӦMʗeoV Uփ\AJ-WLWBi\Uxõk/L_oHFУ<g-)+/HFﵸ o_'8f!Y trHS@jV.".K9t5갽/yuݻw7doo"0 Aݑ/vѣĸRi_ A;t0{\_uC&Ѹ#Ξ=+.bD_[o%u|907Tys8S _1.u~{Y8VoV;^}Yx]w.$Cky{/fwYZdEvszzsRjKwsܯȉX] .@NrGft."d $]4ХK9^Wp=---oquZ)Hgn(mF27SPܼƺQonv(qY`ln//ю 7.;杢.bIH5_[O>s $>GA:@#Ĥw;Roozt 4n2}:Ȉ{2F#(1f]]]fooC^/+1hyqSWWoDFb?MAˇ{jw̗BHpz뭂|V^MGO?]M=25h9#V4@qH8Pւ30(1) `UdZ￿ɓ 6_W)qc@/f(?@_>؛\P('1_;۝Kdx =ae\+*\捬6T׺*<~ቍׇK 4t22ˤJ*/r x@.LˠZGqC{<Z Z )@CvW'1^r}ѷ'If0i< ph?K` ?õ+~ۜYiBg\ꆲV͈ Pw u8\ [ eZ'c "ׇWh9@tC3]M^iPJJVL8&%&'PY|,#}E֛H$N}_~EC=dOpFl G ylOz8~)䍄˭$Vxm}%ǁd'y |Ş r_\u` Z(]F/&7fNm[|.}KttQ.c`\`X +F,UԎ; 6s? nA< e0"!X0f͙44]eb|HY '39[D R0&1£>j7is&UV)mQK, Y)࠙|VBN ݑ14gnǁa ;;%2@={윀\(c_dh`.uB% x.*8%lM-};POS}}="M.^y6qn}뭷F $Y Del8>oai씩cd|3Zs3qFqahl@lЯSMA>e hhB3ݱ.^s=ԞW4Cfb3nikx ]U &7v'6@$sLQ = 9>Zp4#3|-Krh9t0o`~PǧdRqvA:e Ϡ 5:Ig3}b?X 5&."іC8oֆPp 'N@:m./]&<4. (Et#bj 1ODId0-K]?19.VDN9f >ciC0GG 3]pi R@fq8PmiJgt 7 c#u/@D0D\駟fB___?;44tgTϔ4f:f0uT8} |I{/Ha0-bo`rPJ@JpLUE0@oǎkF^ŵT308,bj \Ù. 587D:mTjUU  4tT@ V)i-]`b.=hC+.ၖj(f^yOӾZ۹s'cj)INM0@VD@O&Vgb)$%# QlE/}v*3&fqh:P2s*3 -#Њ]vYf2i900@X,v=aϱu€,2\Y}_^WWt#Gg}`(q퀘\/2YYELIfXJf;`Bb.Ԋ{LN0S T."@^- Sٶӿok;;;oc`\7T۠Xu g ;5YCdZlN4}0VJ1wL> ofK@a8 C`\e2>Gd+_Y@c/nܸjn)lY&;b; J `0sd[CL L>h>c!n$zsCϠ b2Rù3(ٸ9ûHxGAc ta.dɰXAmE. Wz6@z 63lbJ S_Wc*1R.^vj,#Kcr %/nFxaTTT䛚2W4[ƥ*:cmO=(Xg>1#T@3AV#3/SlY`Aԋ{X` sy &6s_؜-/o Dxs5Qvn/fk$y)ɞ^ ЅAVi:11C&+1م83͒9 0m=q#exC,`K57Ɩ-[82?zb2}=#f T-7)88115zR@v\DmwŪSLĶg҆cPAZ)4 gZÙofE}oJ曱5+.CZ v" }lYT&%Y>3Ud10+01@ qjn{.hcwS",{.96 hnk%MRSK@Mg$Ź4͢^X=3;5+ 骜SN9鷔)k(#3 Sk}HZmr>ܹS;f à ^ziΰ;)hX!.c vZvgMXiɬlF8k L (PbqyE,#]{j(1e!&rX8-P0֫s}3]A{0$)1դ`c8N-dlS0МEIY@d<{'tmCdd<|R%,l/?Hy衇lFwK3:L"8 01ǏlNu[spzG*E&sBҎbk!vt ݡf;%8K{hV0\LJt+d2noow7<裊ۋ@/0㪪>yzuwb[J&&=jLE-/!\ӯxiQ*+hJe񥤁y#Gofgw%heL1vހ9槑׆p”1/7vylflGf%D`A3P0Rgy饗"9q#,c9FqhdMd2MLu.Odi.hD YЊ91ߢ,̣Q*%Y :&(3s;SGiTU=`7<@4aǧzS!FaPݎ%]ӵT.T橖D9(JJZebbS*R*Bʤxg[aɸX AQFf֩(4.*Q⺮ޝs=xw۱4y%~otwmEW-Wa&X`c4Y87 E]%\"z4( TfS7QX]čq>g!5JqmFK.f<22L̸e )*龌{>gggd`` t|ڱevَoB@Fǽ># Td6fB0/ ;[Fk\%ni*oں6ZnEK[+5Me^ȺUn !E_[n<~?I|\v@x 7hGGS.4ewuGF>\sկ~™3gL=Lu`3|jkk FF[|訟OPqޤiZìۉvg3hYgfd2s?y0"3W;3C8EuV4~f^xv  m(Eu;LċfFA%X[SkU%rC]1DQU˕]pn\- 4eUP-ojUV³ѯԬsku5OvE:g,ErELC1]4[p(7}!ld2`8h0t :5`;lѣGW]׿u8#MK;t}r q1ڴ% w+rt$H< {d&4d2Vİ2> "}2L1S;x޽{ uZVqf B4>DsQpz(46|'Hf\"f/}o&v>ms>ǭy۟QRE`D^i5ΣW+QX:[2*B2~jw֋|jW)\7DyKY*Td@|L2#NF/b.!]tvß:emTlq嗇jԶBX,vRy= 8^rȕɄчEmmm9>c3CNǀq恱ON;YObzR4&}(v<ǚ0Q`e3WțfNU!4"TD(ftGu4S ,V-7C75JSBiU LB0ZnnJC D36GLƀrS=_!@o@SQ(8Mq b2t|a>̕j7b͚5D+ ? 4iS)sTN<@_\AB@կz/zy~V9n=r{>N5h@mi_kg"ַ.D-fppPs/v cg9G |TV L -35a7{L|1;~ig\t/.dX͌J_d鐶a;OE׬Fqًkz7[L&[ɚH.ak%9jGwNٙ-AlJ]*L"!Ǧl#m,g@GfSĵD'-qϙ(/|֭2H\}մ7:u5gt12'1gdx{ @@B~p9?|ڗ U^%@oH7j\V9av1FC\SCxOHfBvDa:f\*q KfVr߷C*Ĭx2̉d22`xj1(/E]7Q/f{ģ|R0ߊknv%L!CajX\aPsvf‚dcBWq1pt>JywzSP]]ɬ):3f˙?d3 FM!b#z|BK YuC4:S)Ό:';b}ɎdJo`wq].;7MAKt]U3E:&ԵtiBl Q+s̀.qcמ(-ۓi̔3ծP(Y"͠ AƉ>`\ MMMbժUӳy:h_3'vCsu700;C>4w+c.̈́w294W^)u1/3ڦ&ν:t촜@w`AQ2Чk(PøO:^CpᝦrD\bPkɟK/K"fI\&㷄ZL.N?lk;(k 6PzٸqJ F0B{ﭺ[HVnuwߚ m15 76h㡡 a͝ yUf->ޙ%L+o!^13tt&$F!vjD{{|xxhpbp$iK' 1c1}j2% .SDRT\-#cQ鋔E3 ]v.^]  (RB5(,.AA"D@*'Sr1Q3ڵk- zk$.nx,J }փ~x<~ CM`z6?dSsT*ג\3Իئg7@xW5?3PCau?ckNsss̙3n<&(5XJ%*hf&|Hj0$ϭ:tmu(b2^`IYae~#{ܾ18BDx{,T|堦f|yEEM?)مO|?O;9r'pm2;3hLt~(si::n$RB%o蝺i:gh4Wb^j*-QV־q/Nܙ\8n3IIf5olX,͉}L-ZCiUu*@#P溻;UdNU 7hDVN^ybly3vW(l!GY{ҬY8sʱSӖ{h&<0 ) 9rxꩧ/\}vWe˖-s|h ?nLsuRZn>СCpMf"N犏|#dfd(_|ѤUW]% }`o f)1Nf{%rF/Q0f,IOw)ne# B[(:wet=<x;Ys׬j}fl?nfϤ 93wվ>%j24bJ..*RDĤbbi. t͟Nt"@KtYI̊U4Q[D"}~@@B5*qHM?jjj40uuum`}܉{٦TϾ}~Ƹn y❍ȭ:Tx썚ŸCӉ+ωyл>qAA Η:^޽{M}{L58Mik)sk-$nuЬHܗTOvmi _&B3woD#S<EB!lԳ`(v19,g?C[ e裏?OXlp?a/urbd')' 2|_6?n0 Le c0W(]Ҍb' Y#SP35˘c!) zu4>*tt.9 Ԁ.!]bjJ^st]JA-THX̋RhdA$].RD8>DMcOq'|F̔R6' S'0!8x8^#($t?m<K+*귳/q) R*'Kz.;؛4ŤKIgi<+i1I6N]s-|9:|ڵk7|eB{h+f:?k *be$~aV@?&kRX@`Ob%F0VAIjR\Bsqb<F=ZHyf~n و*ae^UK3b'c@Ũ"8Ȉ! 1"'"'kZ)nM4`!a((NgpmdJ2}`\aɍ]~jyoɱ.S,Wv ͠΢t~.>]hB{М|o] Eo:f54 $F >`5M0s<ӨP{&$?2ˤ%p֯_O@rwtt9~&^O"g?T2'emgcm)xGv6s~Q{%ap-:s<`Vo,b]]wݥ Cp'C3'ꌎ?ij`FQ:0aPnD-{ ;F]@e4˿Kk൵q@1} CN1< EnєnFXN>ܳhkUv pZli[U^gk{JfɌ 9S$$خBNtFGRW]_]hAʌgc>j԰\7'BX!]ܠK"(dN*&i[(]l#S`p*ЅLۃ5]Ys-zLZ0i)\`B̌ͅ1 4vqQ{?A`,;EABjZ8bfRx_pD3[n\2gBhd|'6Et 55 ,j>-gjpQ iЀ$m (<=Τdh,\Yr ҩضXro^A@cG00x3&]Zľ'|c?J|t HvgK तKƀIFG^mԀܪoGWV__^ЈQ^{j-EgO2|`OqDz eeJaK]V][1%6*kmeWlVG1sj{]6RPk,Jf| g8pjtet9w?Mse}d^_|1}4n?ΰ't.S7-NajQ-pɞ꫼ZeA(ׅ¬ԄkCP n-#P6s! "ׇ|k`BUVL0Ӄ#AȨ~5y+'R8&[jwa`oL6k DAcP.c$ 6pw7r r.dtkAZ9(8KtQ%] ]hbվ\>G-E+\!l! djr:;zֈ(Qpx?mnn@ uBPE`H/:O2-馛ÇY ߳QwΝ;Ef1q& @&!'v,U=Aa>obL@K>a,pXc1'A%s hbh(AI}JeƩXR,I9:23iǭzx\uU9rd?>yfh=;} H 6胃'_UyU}7߿_׿ǀ~ *d+5N5U~UdMF 1ᬵ"%bQaED†BI"V-瑬(@BÆ>Ш }t@]6.ܭ˰!"Bt.V 702Xt 9"]ZA( z>m[ZZ>FGt%04^e0#n4琱RҖڒŀƖIٓgBL &CX1hcѿwyr뭷ZfC8Apf^c(1.pӇh:g`1=.9<,{ vd={Ь?GFUc>5̤ٶ=4f$C9]Zcڙs} m(-`j|3W~+_BeW8(r_}kh/&~L>9pTNj1=!"\ASu`x il02Kgs&%SN$s!K[ך6+Bo}sڥ͌9HL`!ΘI<$bxwnΓ.;Ln]rF%0 ]Q*f-] )k|&y-4 fxtDib2PcӤٌm.L*{ $Kk2&AAMjpNɀtωC4M1o٦LQőXojϜ9S)c&\׵B$Bp: Q, tf`s؇b1Ɩcp4Z0b͖k3ݤ1@An )&d=B<&+\u׿:;z3&P/c?v5}+qtȵ1ueBq7iJ5ZC$Ҋ3k8=?ؒ+tfiBg*eGBUDkvUO CGr桎1eh$1-t@S4h^DgQ!`tai+/ֽLK7i]赤Ūti]T.@>q0z/#&c\&Bxh%?~'it`tOPCMg2_F9z(9ɴx…c^6Xk D?s5w&b,%>a0ShdaƦǴBZ3rnݺ5АFӴ~; FqhRo t67ۈ,lGm6kwv4+ hxD8qAScfY@f]L38adbS+LG2S/c1w<g;Mz r"TLfMU EoioȜ;GSz+B(N$y_O.ቜ O~Ӛ83GƛGmc=\K0O`3Πlׂ}@v%Vf,1udS;|tpԩ~gFI>R.݇p",$Y: :ot ǎ#|Y :41}A6͚zAG͞`´„&×}3`]Eo{o)|5F6V^ߵkW_T\;:Q8&A<r]9&Nqn>蘨R,~q\ XC$!&&f1 YgLFtOS3'M,ܘ*f3ҌJr]# l\iޑtv#\p<>0vv$U8M!q?L"節V]DXSh6Ӓqxj4'GvFmxtn \: ]a@LM̰y>tVtބ0PninnLqtlO,2a MIpz!Qcꂝȕ 0|S%i( -4Y=5tp'/ ð@ +͗ ǜ2g&ƳuhVz4Yl6~'Ct6bj@bg9ͬ0q9jdh%8 a׫P.Wu^W -zk<{bÚ+Qrd'Ldd6ם'[!۠=tk93g pԻDl&5L='Cꫯ.'?Lh]N1s5fi̛L ΋W8ضhN2t`vDVԼ{`852у`'1_Ң\6SioVZGW~{gS>cXB??b BEYMk39/7۷B۹⦦hkks3^{챴(M)i*{[裏{hMCɎ @ꠉK_k3s҆]\S9C4g0RYy\Ԍbtf5Q(FC9BU;5ټ9l_O r+իBEo,?;#tShcq3'bz32bk&{F!jıG"%dTzx-WQ{g U&3tttq#%4.3y54rUUc&4dGf˖-Y.cXfL<ǽ욫s57|LEIܬsTVnT޽b>CyWixs& cL%LM6C}<{7m_=gxq{f+V0U`n?mw@2ؓC));7[Uv>|8@O02pzQ8_(J^KI˘O!(̻w3 = J[[[~Cڊ\!g" Pčg>`gΜa9Q*+L.ԖuW)@Rdy^s.b2;vڒ܌eY_rͨ3#2 bcO]-Ŝ%LEq+:|0+w?F; ]LF=ܩ1m733.wM0<^{׫+GLWI˘OhJ'gX|P>恚0/t!) YĸB$n̯#׋Lj:lk0C;Je4yCGH6iY_qf1keb@<%fg{Gtp&2.΍OYDFUuk7_[$xRqhLffz}_œWn&͐ %vd&~qd/ﶿk͔e2M?{e0K{sb`ڵ ncPMf8mjjRunO\0 C3 餑9ADZ!A:!]Cw;3Y =Wh,Ϯq2䓃NeN(;DN,>]KckKy1®Gǵn}c M6Nly }n:Ŏd9JQG"͋C,N&2k0DUU0YUD|aO 2fz&0 T Ŝ4IiJyw$~0r1rxY!JQ_r*@#Qr]w)L̜4Lg?SF hR+l}g_!tcSqGc>d&CSԍ€ jl $: ՐZ* -kL@; O{d)AۻϨfM[%9 2[^5Ec C)СC>::\k1a& Bu  `ٶfwCCyw|>iV?CY&MZtB -”͠u4G;n4`q.xQd pf]M4 9*hjpF ԋ0PbhD0^@9-jNz) ^zkQ'bQ|fKq qkBchv{ˤ6JszG-Ǔ\FLLpA{QUa 90-, cy;y5ޟ[j9-!2q okTb1u.&Ե60PW}}|?в=v ׾]jb1 ħ?04lS`=YB{oQ8uTz޽6/k.{.d8'vuMYYh4]vY1,n8&LSͨA=; =0<Nꌢw)vJmv|{kJLdEK$ɓ'ӧOӻu15#j05i׃opxdgJW&\ۂς&R8Jɀn垝'Nxq0; @! w< 5? `wJv^G+|^v*gRY!@c14H(z`EUUU3| ~+ubrs! _pJN渶Zj L_< #+~v+6\m]c.-g_-ŭm~4!Fy͚-P[vOwJk=r-$bk]4.AniXnNz7M_I#R>ǵa1QiX"uM̉38t 2ѿ}ߨx+|99F cOS&cKÃc|zuvvFp>&Ls8)}C;::|x]Y ;Ў5Ї&Jha'5Q7FQ[[[ XvlF;OJ3SMӬg~o hV8=ITmw n@2!(>)+40 ` 5٨s1Yioo7_~eСC5 Z\R,X֍$TC lrJ}Bڶ-fCǴ*")wWlUxWf7R&oXAAAtU$m S=}溘9u^shӷ̔h:s{B\r/ to.|n-\Ǚ}wH5H @s6`AM&UfeYCG2u2xPu*6BhCGk}ٳASЋpM՟~i -[馛;3vь{MKrE jGѣUr{ڻ83y.4枮| 7@) 3&G02::W{jOaS}kڷ=zw]m'37AyކP9n:a!|E\TTT{G۷O|p b>-haq(`D"mx5nZ#(z+7O|\_"26}nn67ިE *)%YYrP^8\۶mS/ºYp͈t\Ǚmgy4m7Ƶ[=n/FkþuZןFr|D&U@]uᲲj fXN5ߊ#&XǙOSrk/whš.J]nv>I Y{Ir伳I XE$!Pkx&ɂ}A$_g0>`$ |&`2HYͫ]ms >gճ;iW=:ݧNw/ӽ .Tʜc8DcWyXH3#m?6y3uSc LB dJ=(C  b/S|"jf׶ohk+ىlH026Z[kuv{c>3$p4 K&"\(X84D%4]Q5f{-.\"UDƹ6 0Na삐%@C a"+3<à\9f.w%q8޶g ;$^boЗeH1A߳ҐQx*H)o m`(nUѰo &xaJ7x. m'0 կA(U6!CzNےDgww^wN~)zYܶ:Tg+a`ǢryHɲ~ 8rV؋4hii՚:Xݫ{czM%+ף5oTqa߳IdLO$Jct[NRa>f),FN"xekR7 6̇&´mV-3L!JL(sC&Tki5YCq%rqh:)I^<\ ^v-Gϡ‚<܏ B-e;-{.@ IBpLbuvv&2>$M\rdkKYpVL`{S 6(shV8-vD֡ceZCJ;#vYðflx7p$q˲tK gjҌߛ LNtǘ!2$`#0<Ơ DHti"t=ԙ((K6~96(T%TdjF'BH (Gny?+lffA QgUմk `\׆DB`ts`P_666fCGfh C4 Ǐ$駟@2{3yfvӇ)iF|t8qB~ox1*T3*nҍ|H3N4B)» k G) UQޥf ȴX/nu,pl\Fs!%VjcAb9m㥢54>cb = <3Rw5]鳉~Nt1r,хI]:^Ѓxʭ泞㧞z\c.)HiW[f A@ ͤWMQx3|^keL $2XhL,etYEyDj0`SS~5pK7W_ qGuY+$H At:k{=Y<3Fc |k%Lʜ=j߻^&#tjs 隭tw E>]׈Y:u'~GtDCs 쥱pi/P̉(*f`SO=1o;=?͎9htK5KUU 2[0IP P1k;W9ü]~Rh4w6lp oHg97ˌҦ͔\Y}M^`N_H<ɠ`2Pm1A:尳םA$6Sohq")6yZ:)[8lik~NNTU?ݘhJ8" ~^AHAlBp+zꍰiD&^ayB-Fce5q>M9LUBur =8@&M{ę5-@u&b@W$$i܁q|A qȑOLG# ,֯_o]xѣG" ᬰξ::c-*x,a Ʃ22N Ƚq) &Zv\W^Oq6t2#+RwDtƸHP-)EyZs9VS #+S 㴷Lq#svNd.uvvZ®I!6`c5 C;1} h 4Yu]:9TXZNqRp 4THP-eٰAlcR2߱vC%y0szggE{tfy'zn,Ez9 BVqj;rEz;Plýp$$I%RGCq pxF4󘋾NXVc*p-._Vм\ڮ**$I0j mذ/i79*8g"3m=NRTضjMNNz2;w}Q$o)Q^x5mīPy48]Sy\7smhsڢhZv777L}`$co~ADq4RqJ4pw Ѥ،SMQpp 5D;pH7Qn~'oH "j: &kyc>n6<ܶFoDsm+576>@KK}ڪRW轂*8G /pN#xlb!B:B6MYyC)"Oh q}AЦC5S= ٞN6䬣[$).uydkssnsmn[r#( Dn˦+~D# 5\˰HɤJAuL.CMG2$D2@{ԩ /`84iU@9Wy33m5-,~^ZS y5҅ 1FLʶ?-[nQi*(fh (=@j5݊8va#P5jKy)e)tČ$I>S =\=G&&:vym^Rt]W<]9r!ȼU>7'6,64p @hlQ'OT?3! D'Ie#tٛ!3K5e$/yq4di<О}ٗgbn8~U4.UEmdT6;]3Ob2iT#@ K@@&څw4 gNuѡ>[`,Ff@ Voxrmݦ>h4S#Ka Mo$9PS*4dbFLB(`iz׻T *\I$ ^iN\o|ymApߙ}Yێ;^5vJP3C@ Dv"23_$el]ZZZ2Ĭ5)W\@V3_N`6Էo Ij?F` 0%؉xԔAqNFŞUAnKLY@ |L*U4r`FN뢎Tblq0Uw|W(8S.-DC2 gE'=m$?F ɠ t9Qy>GjEVhk|v<Nޯ_n];;;O=Tͣt:& 2қ7c3juyLL!9D\F23H0M(zz%I/{Dzr142˄29^ k@Ǚf$LtŽ貅RʹD.Qd+X 1B_!Fʳˌ2 JF If @`B{d$5v3(Yp:cI}@wHSD%G*%.~cn[@ESOﵴyۿu_uU ~ǓȽa2 Y97 _ VꍎQZt;Yg.MD-D.. DP $k(xDH7]@MĚpm z @6-o >C!T_w}(,֌̔l͡D78b1)X bD; $QT`;ψ>Q 5vUB*3e:_B;yuO?ɴ{j8)yB`6hڽbzʊA"LPzRTEU 8rwM#l#4Vvxِ 7|7fYa{1 2 @~dq53,@MhcGM(" bҩJRZДʜskҬ**3,Fִްm۶>O?{[*EpK+-V@F skγdxڰ6,9E3,f:ʣ۟Sl{O,K;E RAA| @YzIZWP,BEɏB!gK^ H;kFsY:P kD+`+$iKso!-5fA%$Z"MpPh1|PH { %YZhQ}B[=@dfu`^OrKֿN34dխm,Xn&D"_Y?O? R?xzqTy۔v"J3& dfǎ貉貎AUPʝ8'2nuX 3ʾV!tK1o|3N 3nW.ڍ8m>D4a0zNKGks3}#]O]nL&y`,]OosKGiHp5[9n؎cʶC4ReE%$Z_|UzЇ>d"%S q]\֏\ 7fTԞ-XiW5-G7 u\~aZOŽO'b֋}ڨٙa#tQ?fU@?2Jbe %,b]X]5W6*2"ҍYIDʴZ:'aꩧ+_=D4 v7o` _¦c"ۿSeVEzjjʏ`J’@;Էa]Ro"lݺc 7z{zzW_}5)`t>ks }(9jvظV8]0<ڝᢋ.Z} ASc=fF"WgB U z#u=ؽf@8-vFazon_"q;yo>tI-~'==}Lg`3h孭r-SNhI)ܺiq"3fG񖞭*ز oX,E?oUֽ^HQ/\1OO39zJ+h +; ;Z጖Q貁GtDY@UH>D&d%f3g+>Sf_kKT"-zF⣏>j3dp*1o.WB"&T<4GK@8~57lq 7(]]]<%s)g==ؒHҠCC2iSvhD"k>O6mڴ}3Q%qW^xU+J(-El血KChj׷ ,(F>bJ%Pod34Fue#߸'tx i ۴DCti"'tQ.⠋豉Ne3qNn[ +`h"ŋ:eP'!BI ZĂ|q  L cq;p\`K[I[7ިLs54X$(-!{Ye۳gONysJ-qͬ"K馛_nVZ@W"x~6R}nuРDԼLN ;%P. ]..X9n9X뗻UdCHh!7$L -R@}s얖H'kR5N $;Z9\CJNZl2C+<:.!a<7`qfMZ5{O\`#H7 Ηb3j5Ugϓ=Db/6nAP8;jOWW~}7>z-'a6Mv^aO'w=.-5ƌΩDOQ춦z]ߴt՟`6s,9oXNeaՌ"+8`EC^ǎݛk$d H/=] #26VA:Jf` >21_H-c3!A@EsiL! `g`s$ӔUq[kA]Hwm4b^U}m4(n7˜={Çs5p`ĉ c3}ݶ )'e\Su6WH&A;/h܃g M~$`C _ܴiM4=Ha?x:QT)KI4!{A!]y-Ǚ([//;1_6r>]l-[&_2=Ht=T젿7H5ѥHt9H]9V35mmm؈GGGGhXE]d}=Y"&aAؾ};wîZ.] K3$:0i8bTYk$To}[}}}^x@?$(oUzVܵ֬EA1ߣq^g4;AC2NEG^K`h}Bq҂@ӻiB=vPuJv:}plN$|"]J#`sK]~޷aVA^:vLHج$QhBDD ]R4̲/7o ?{e!M/.~YDUޠB%T_T="*qz]tEHC=$H{ΆKǍkN<3&;MTl8F:Sj -ǎkٶmm޽ (kj -<X?m q4(&Lw%lafa3QH$=6lx=߿FqVv#ΰР -dؔu<1/ihz^7u7\ga$(NhHjl#8 8uV\U4I''3Q\l;r03S0e0J vDHU&]& PEx6zlƭ_C7l?o ,7VfNJ]1zL(䈆")Pӹ_k% #4? ެ3dJfVH9jU۲,z !9x,|,|&ӺLǹxn@gk>v1l j*v/2я~T?'Q3;Bd~/*bSI iva qh lSUM!pz{{K\pAC4tzN+2IШE [ AR- aH#%<ȵBKTat`) *J9;_q ԻY)Y}矎l^e(+ೡ_vRj??w^0֭[o{GԲo߾n0K)y41ERJ?͡aOe }^G.l&) W‡S͋.D 0E̺,3/;*R| AΡSLw Tjg 1@^'ݛ;:>gsݶ}o|C{~gxÍ3fSBHvϞ=[MMM~F}/ATiUTI*$ܹ)bq4Ȕ cq@sH3eETbp9(@ "8{XEqgL^A@sYe]'_gZoIu[ ;Df\"ִZa˖-}C}TA%׿ȵ[gA7(ߨsU?u< )Aww@,BGv;R<#TqcR$(s̓ `eYg*=PXfmh^MI ?=yh6 @B7?OGj 0iq \]o~z O/x5Y9os%ԠyyZMNN"Y>d"wjZ `W@Ǐwm~,m،G%Yj3<<ielЕN.XYU<jlN97MyxVc3SFxa+fB \)iVl{r_җ_r% @v٣՘aȆ@Bn^* 4'tB$7<((V`{B\ /H7SH `\a9^A86S :c *>H0gjsm.Ьf@\1zϮ˶͗_nGwޓlα &"s`l`Nyx`D t% #J sII&{c5 R V"y<=G-)h-Lf[Qҵ07Rg\msm.Ьfq}+VOSS'4}{񱽼4gԽ} =%U:%??9r5q^ jCRµjjQJiӐ*+ⳐPGٌmycyWy6BK mmn[y26Wq[MlwܶLN6ٹz3Vl;v]rݎ(Q&Slph};`c~688!VKK_9JE0Jm[m|6!}oZm4m̢‡ ?Q~xTUgHr][ɲגɤ7JytzwTsQ> $S_`cg=|<ydb1rRXTŢMnkZ_*XXy.L I8̲靍FGxQ~B-5V9d| ڂAukSSφ #YtfK6RFy=*S|> ࢄdi ρh4(l|>% hW2﬊4V%ၒ7c(X",2ϒaTjNd,P(pi1:1 3]Vf=fXi1& n1 ސoil{{L~^f$\QE zX0% _9lw:>I$U6tt=榁q<uyɣ Ό[xhHZ|׽y+w|hخ~ѩ_m(ݽ{9_ GYFHE+32oH1"1 I/>22 gx<{珛-ƪ9Wfs^XьGرtGE|!Kz_*xIEd?g,:^V[f,SR#vVOZ]SeT#XHϔM.4"e>88h"%)g1j>yO$m|Mc39يl D[,gy@8 #Fm,7b`YtNY=k72r"&%}EMe2&j6ͼt"b@Qǃ+%s>2f{yﲙ OX<c*ǬP-A_DB] P(:o{Tn uz|d2;:1QB@CT)46l~΃Gu DdDd@ґ(6=+ ~ -1xn;+@AL8~w$yc hE I2H$S;Ȗld ŠK+aHr+eǂF* gdMs@j`cUvc@@it"xN8alddD$M:p,T2D]]Xt 2]tav5`IzPn`fѾ董lr|uww&1Τ;::  uXH946gY6<6R?V5Um#&LI: Vz>ԓ 3ײ|ok_ E&.y9OTc;TLUgiǕ!vA`C cCju C](UEt$3.6c7g؉p8~o}[r1h?1 ۺu+\޳\|;Ν;k|uEg\J\J֌h 2Mv6:ܸNThhs5BǓi֑tJ/5LNb$@cZVJp8uD",_bt4O|^<`=ojoOL^9Ҫ)eiFE1a÷mPYk4L.}ΓlRw2 @bzOKgß~ 8p>~M&IƆ ED=\o PMt5LK2D-3]idCOv0x)bmx'| 7H̞={4IR~??;ZPY(FCm4źj~Jm{l@*naҎ7 8dCd:U?1Ꮦ%OT --ًD"SG"k=dIz7n;+@X ll(Eexq,wʊAô©[Yd|GK?řuØaq Rp6ðs ECS=b.<%'袮TY&eʾu^H2hoYkk+W!̻n p/o|ܰ?Ef<^F  W*YV.gЂ* 54@KӤdS$hCmJNEAH-629S) #uuFOssvkgg|kSMM#-kJI&KYdx [\mghH̷-ب8q{dvχiwyRWl"6^Yz/L6J{{h>>/RbaLk$=0qm(ӻ;b49v*g$e7n=~[ߚb1dt +9 D#%cDvyDdd sښ:,w,As3 2>Tj$i}sy3 H<>T_oȓ$4_ I$,/Tl]$ت6DXXEZL2}k??c7ki`4V=-ʼ0BoYH{gkguo*k,V,ɏ \ `CJ].$t]:.V.p..//#ovPswp\]v.`M^$1_si4'g-/F"#s`M 5*I4xRvtDذ!}tWkk1DS0j\>~V Y]--K6mJ^qc5|dQd l gInsr6N7E!?у^Qٶm 􀂡yTƘh %T3M9zD<^ hb+f@tǰVD#ܣ]D/]Z5 kl<uәiGK"0\n]z{wW$=|w*kiilZ%V*fMV6EFba1a7M#B`6[ccV"a]]ڛKHq[WWzeE@;ʏ\qYgJ(1]@G4z޽{,vkBMo2e v!N}?N1&i1d ͤAWkK qRO4], %NYQBf?ޝv"ܴG?w_馛qRGvTUTբ;3V`)̂PI0 ,g kՒ6bXWЃ:Zz>/loKʄN}/l /lW@Qj.tqוwq繧DhP *S@ZjDDMȈT6Dѥ8lWԽokvQ}: 04$C g~? 2>{tn1a)͚G-hl/kϧEO$B/dÁѩ)o6=T=zzzxFoCKGܢj d`ט5ZyX}mL ?Q(j=>xpx8|j|\Oe2hhh;0ܟt6yR jX@)T_o@}I8QM鶳4лԮJK΁oo. 'swNyJhF_3cQsȝzyJXwC}tͦM)& Be2V:#Q<(@wN|R) غu블)1P{:uQgFޠV[+6^K!q_V$d lܟN7??:ڼwxb"@ i Q 7i4I?fٛTIAkm(d!kdWt|vYۖhxY?}F"C׿ٻwS%1QzlR;g>Cޮ#|#^z~$}67Ū͸zkPNDZDK?_`8]ŀ/4qK[.1A- Kq%JwP{١ح_gkr; bf t` zsfd@ ZRM UES.f_߳\re`z}zIUnrqP 8iwV/IFaxʘR82G`e 6Ez/Ǐ+T@QeMS".6ѥzM t?d@Z.)6*n{sl)~:)7[l A|4X8H4K͆X%/0+) R܂O=eYR&&Zl#6K6lm!L A`#71QŶ6% I$xke.Ixv|CT)#N .SĐuHe9 JlI`39[:}"yPY4Nt~H$b@:p f [l%H8<cDF <#0wN]UҤRՈ ?L0 20WJV/NwҶIcm,l%S)͚G-h:#T+0jTeH P!ɔִfutD/io F"45E>ڨYuuE]&V2HSS(<$h(L2VmP)hܶ@THƥTahhL` Nƺظ2 ryǽ2:=(}g J4R9{+$0E`̌KPp e]HM\-7AP"Q7eIF!I5 [Z& #J*$ja/f VAidC`jBAɤ f0chk$;#֖ёYҒ$@zxrf.W=ͪnTJ'`AeFUdt?=Dΰʘ h*?3Z[?/y}޿zJA^1ޟrCByd9%ny3lhpJ dcHYe/,{3db}ϱhj`E|-PI״\4=Rߟ]M 5Q]QKREt/\=;L,y+žH$)%)nsf-N{B{8H[Ci&FasW+ISg2S.pK׬6$Ϝݟ/'AL+_)~\PsXP󱰮[# i5*ڶ>J@^MP0m6'׫P=>v^gg6V(nަU׋$j2 nsf|g,أg^ bA6o螯\W{ dflIeB2ճufflb&kkYNz?f?2zv#]*xцūiTdVe] Y$X U1Jm]ɔ!(<9'e"044W!W04r ow#՚ t%9MuU#60j/pjL*YJ )jpNmy΀fK8ˋjg̴K#Od__#+5 6Y|F&6xr6yO^yX5<!MFs;-WYř^g^4M|J0T"y{{{uw^\j-O>!4F.O}x.mn[D) &QLPtWl`#w׫[__Wu%Kz_t lrjMMN2oY^-X\+}KJ2xmn;@S9uvZQLNyATQCF!knnQkLjp#SRLCBod@>f=fXi1& gWtܶp] 6Lu/(F\6ĄdD !՜ I1Pmmm.o__ڵ`{{{'u5|ztq@c9R2cdž^d 1u3E~gBaIKWhvYB}JsΣPF21j]xdzɔԣ9c۱cKn"l:ej3VJ`!` lLniiHI1)ȬOM|g:~ɗCy=9A9"O?  2 ՙIL#Kng$ư[ OwvvTg RyvzQa^>lR[)6\jZ92 4*4vF i@զ&&I2(/%/h :.D&^.(1%!~QasROYt2bSqzF)$,\YYFّXsf3,>c ^6m)4q _#xP(lL&s?1[-c "yRҠcyPJ3Ƙ ;nW I.ڵk9Ȭ_e5`4 (̙k4]yҵ:./]F.`/uHBfdMVWgƠ%~n7#ɐA*G"T6>>S!WG,c;_m<KXeXyMJ5ns0:bf]wGm۶qcZn;&v cRr ,^56Sy\)5O@c:G3J4477+$ɨI{A Ϥg}5.4O5[.]:.].AkcmvNl!~_sf7ndGe( +>+4`O>$(/3QS_f O͞<+ #,h1@6 Tfqvo{{߻K_\6bk_syKXFI֯z.;v#/j1g=쪮{OMoҌ4 Y`J0c[{8^ʼn;q5`Ӌ(`0EBBehF۽s=uΜ3s5H0^{^kR@۝vTފ.ʍ:b %^|b 3 Jؗ624N4ҥuҥ "B R߇.ͼ/t{ൽLHjЇ>`{n:$ꇛoz):}t~J6F@s 78eLЖ<3.ǵR*R΄DC ͇WYf9 ꫯw]a\!> md<R kfz%A\2k^;˺j0ڷh p \Us}' 826`ccrwUg2^C{7"]tet) ]̅<``|t~ᮻG-Sp@8 X;" yG H8CNTJY mݧ>)?)?y~ȑbTuvvj?'u'HPz.k I@:\}K҅o‹֯ ]Q9ͦM=y8(pGN+e~*L)uQ_3EAiQBH{ ROeݺpuׂeNGb*>0\ۋy衇!:@C B4O`3KHdJ9#@S^EX wNNb N($\.mStHa4^ L+v<@C, drbMBeXzTDf\'J'B No1\Tg_lxS"H ND.:ҥt`-DV#][̚I!@YxBo62p$>}:qq{qd]Ch4 ғj TJ1fj/'_eCCCOO|k_p~a~&&NA.?m} kdeXPCucn`X0lK |NeZy<>\d`Hrٽ{ -DH! 裏:6 VR*)u%d&F>,[n_[f-xӝ^4 JM]\|7W2 $JxJ8VѶYIA,qɗ;e㉎J3&ftHVFRt!˼x}}8 | 4hob~_:}@̔˴?PmmOr o2ئa+R*e [2 CO&WK/p†F 8YøʦT2o?.kΠd)!]|H.d='] !9B OE8j*αcǜӐ_:I@ʱ>SNvcTJf) ]<@e]&}K_bַB* _)'~8O`MQ,Ćv'7ސ]hL>6XnΙ6,BM+bmdd( &BRO}B鯊)&d6Y2lAI3@d.#HjEE(:A{9.4MMpÍ7w|GVc7t#yDHmp|w>yu͛=hd@@h>|1*R*̨Έ)q D|Z~pvm?Sh2z:N`ӕB7(T'Seg\g{'u'͛ D_ 3_Z_jzߨޏ+Ё@3\ ht@t!].Ueta3b"].Gdw>/\uU E^&iL/^LOE;t'0"3GFot*t D}H|@R*Rάꬄqdsܵ_jZ&9 ۷8iw)v#1np)d4qtoiS>?qk}x.!L \a3dcsP2NΘe~2'+3ތ@d(%t9 At1.ǐ..Ix jgg붻K/ښک ^LOEH |cs>^ډF1d,@9gȼyfPMd|rXwZL.u*RNRP7|seSo-A"X(BB%816ŜѴ bd8i_@ s5C;f A4%8 Y5"4%1 I,1'%_B`"˲. I5*!8dY̨Z.UUU*(v~#Ȕ!V2iy#҅BDɓ(x3ҥr?t!)\O.oIq3v?c=ǠEft\lbbQ  DiHQ}*4l?qȏm^Tl-qǯ+,g>#ȴv*'e?8Y8IAf6 I٩,Nwle֝&SA5 9^gdf^AĐyS fX[[9ET3˭rO|agvB HcHYQl3G&IW`q&tn 8e'#*;{jy~r)B6&KC&;ި,M+RΠS].F~eRHAw5-zjΰd)I06#XUU%544H0)4O%,bYN;xpLF Ι,k=zkOsm9 Z|r53̛' /U'0K*g53J/E 2R__RfV ()Ѐǽ4JtL<.pt> CvܭTJNIWjrދk? /?ÌM:>(^IzV)M9boȚ2 KMM dVE1[ZZ8_F6ꙹWyauFz]FѤ][qrhQU^yCg񏀬(0i7Etgc*3"^,3gNOгX5MpJh~2GySEb4>HuV]] Ƣe.+xX&]&g.gR$3EodHpq̷}a]J9^&h ˂PT>dYMg0T*:1{2BO nUh*RN.8qYhܬч5 B&F#>/"r%( $NRe5֐[e6,=9hj682 2vo;L:{ܣ?#!X~5,^Z ,Z-Ds ge?}AumVJT[+ѼӁF ÜK03+a RF9X9_a}`* i*Q(M緻9tJ9 4:R*Rpf79{ мIqu_*S)'dHѼ,NeT;L*Ag3ӦMB__$Y*(ZCU,lJɓNNkݑ#k%Xڱj*8x Ю|#=ˎ{lNi|*xFH{qFi錏Z!*03udż=:j]~y$iF.Lvi Zo8^N.Dž@jnnmfe9ד@y4( 2N+x3ќuƍb6lZAA/dAPj$˶ФP@n zR*LBrn͗)ܫ.xw^ϔ,2:J1dD10TLJj`!6z^HTKin1nh"$IMQ ,/p0-#Y`,/ %8tzm۶կmwcH$x&Ĕ0-ٛ`vfcJ4$]){gBECߍt+-yUDڋ-E" 2q?Q6o,tuu R:,eJq]H (_,0>L4¸<R1)|vfʕEAIX8SD|6{J @?ɴ~/^ 2,e`{棢 v·)qa6dn`VJY@f1Lv͌r`G < X܊ZM0q@6シMlVn叾< [?DAR G kp.9mBWqq#2?R} ´?PhS S b|B["bdv%-^XŒlbkVqW>4lq`c ȾcȺ}>_XTʐdALAƾꫥ[ϾtC=?wJr 6Tb$"NG t4:̮ %* _a%FA7͒yi(n{lWeg]]]OKcccK3Q+My@|*/OlƗy;i58 Wny%jͲXP\&!6UKFajSCò $S6C1m/y{A\ƄSa:e%;J&.ȺҎĔtR:k{/ڣ}l2.b}};r| Dvq 9vsu=)|ݎHDKMA744CNeU\Ï7U EVbPAQQ bj Kk|ps ]Ȱn8!z=.CQbr 9Λd7L1 Xl[%zaPxpˀe% c \JF~ƊJ~<,,nVL?ɼ{f'k>I)~>3}`Ed5['Iw[A&xdCKI w}+W-vnI \G񦹹Y볡,za2, YV%JxA2CRThqAԀ"@cU#q-?2f SWGS,͌dKR,!`F"hgjY)@S>VW$@9f"Q蝚u|^e C !(#}(H5MJWPSSCaAJ3Me(=l|||e[WJu9|!DJW͠鍦2 nG̒*+ :`0 VC^vRxP\ S_[&V!5ȗ쫷|U9?Ɵyi^@A+BuPbh a xMЊm߷]zV&qLH4rTg*sىN_tw0m1\/tu25URe3N]5X3ifNR²e$_ɒl D5*pVg6*|x:ꗞWJs6DbqW&Ir)EfvI!#IZgg C g|"(Mn$H4xm Rt "]h!pĕJsMu楬\Ⱥ͕`h%\i炐鞯ôfe{ڊP|>rce21f"(61hjqɎDG峌-1$F_ TȳyDHg"mS S2ldFʿl %[QTPXAir˲>G;aq;X:vHuږB{:Xִb4`b#8 ~/? c2#';| y9C35>c>eEXm1vֲ&ߢ|$w&jgLF# :xOj2ގLl&DVӶZL\4q#SBך<_hpDn$ VJ6c` \E>A ʘ4.]l iR.Ȯknlƪ[tիEWjHr+Yp !CV˲>V ۟]ŋ y~_!xU_;*1 MD@7xOv$|їOV_чYkK/ KρxTNƁn6}dw"۴;P"$k d"c(>9TgdN @Սo|}ٰ}v^*R.Χl4C 1W:pE ]Tg.c)EtQ,al:27-kYPƳy)hi&Lki$3R-ܶڴxeSb-͆L\[S_IfRbUe{t@fR`'Q9+|KrYe|A7 &EA%n1 ~oV,뵵chhKᜁLSyTJpE,\}}V4;nM>C(A`Z@@ xGa*tSwnlt:@ jhnl3\G/b@P2"+u5۽P//*޳B+e>ƳZ*JTa}8Жͪ+V^G5Qd~?V6[l`c]B EWlEu;#b]\6daW%FVSe}q$U(,L~^cSG#,n\_*ĎKvwil'+LDgӗe3&Q >vUvv*$Rcj@i>.B2.dҏҥRt]>% LJYHӱ2.`D]I=/~? x^LSxRVI{$þq?%є657>oÞ)C8>` i#ch@qh|gՃ;>`ϑ477(!&.y[*@/DEY+jdgzvJp6 xn|pRjC3G۟LA?jZ @}{uR)C{UXh7D@v&-;' DJ{18p@CM`h$E(koKpOCMº%* Ife*4L ]y@DD&wYӊ qrg6#p CsHjYƃ*l ڼJOik˲xO޽{_~"orǪ0Uf˻ɝ PQ#DeDEGl{@ ?dͫG\+X@) % ,k\MKXz8[cv;.j^J93Ѥ #Cc}{Iϒn\9O̘6#9mڶlH쮋jgs(jAT“/p'uU*< tψ! ʢ,^UײꂖoƕC(V1mݎɪùa^h-2z7i0 8Z h\.H4ڶs!^-oyB]ML6h1EKs`|M9S?ȹAb,$hЀ(_ +xaiZ>he\R)L]F;y2>X"᪫rοᢋ.T*=\op9Dd"ض1erQFYs!8PKɧᡗ\9-L[Ub+{ BQq\H(Bp[CO P5%ÖK;nhDkdRX-kPC>8Fjccc~{ U*YT;X>>Xbl =&zB+L UrD{M4FGGaǎRtWZğ/_ OmF`шL/_s~TZ,&InFa;gX oQC=6398h ^JЋX3[ #P ot$\&ejdn$ԁc1qirN)j1^nt @1S2#].J]t 55e*4(Sܣ'$g,l8>h˯# p(s>tuM%1#i %HModögM0'֌ ,ht3/䊶^Г/Ao(1cw(FfPU{ V^A54U5! ĤJJ9#@$ ?zdh*GpZE^R1wJ+"U/sѭ_qs~1,+ojkkIH}F*EC7b*fm˂ֳ!<lpc~v%iuZ׮c+n1hkUrb@GԻxŗHubئs ]*ڒ<0*tBetɸ6++XO + sAP-1OjR4 KC҈AFj{;;;#%K8xl. Gҙ=9˘\/"И$S4DQAtM-ۆQ( <3!YV\ d2徑(cUE&; npLڃCiO6 pD9ByTʙhq-&/w=ghoy~gfJ4(Ĺ.mKW0! ](P,Ҳ-m;jjxhih 9DJ;{%;s.NB> Otht3r?Sw^fѦ+2#ixr irv؆n۞ .cGEFl)IݧBHP]۹; ]CȐ?/Ҟm4 jFP}t8>l|ێ"q%51`a>hRE /f%QxylVwS>l_E@ $ Ⳣ$ M|ܖDPar$hpPQ^q(v^ mLG>^h! J/AҜC;Pyг„6<,lz,* =iZ%/R( L Ց#@ħpqSmUHl `o7;;cwG,SE5%SVX.j]4R3Bݟq )EpǛ$qӋ2^!e !}V)׋זa%6~n=0{H6Z^|EظqcpwB_?dleX0V`/m!onigt] (hoDGXaB(ISpNhKkM˼FP(:\$P" j@f2a+>Gr&7 3GC(r7zj3TFqBv NΗl^~ K,^|`yHuܡ5-=_)%:'6.9WSW9|dOI\KvA2ӻ:V}0*Cd"ӄ 篪hu#H 4y+pxd0&rzԇwaU{^c:lW,Y7&8Єt "]b̥K2fr^L".3~wLzҬLeL6YIRf$]zb1R\so"Sg###(3 ~$e~_Nڃ'xB}}Q-KBUU^ڹ˝`7\,P,ax`l|}^-s@.g2ԔC/қȎCۿk` 'sx(W\q;+ u IQX{&hMQo/ d=~;d`:(еZG)0|гZ)gh<3R ']2/Rو>۝Hn3bcCb7<m Ҽ ƭɌ>xXfŜt LZ#9։h&r߾}ƍ T}TlU5dafeAy)k^qM Q߃:! K7>0%p& #mvr"`I""]?UX%J0h C{q`:,̌텣'J5-( 2`N핏+m8>\aml>dll^ 쬋:8ڵkpGP! /8 p2.RvXyTRLT3H :'dMӊFϲw_y\~ '|:F, 34Gi}84m @'?3ζ{_b* _6ըM|%58g#{Ǘrj{m|lΝ;whoo7ӃR4!CRA-AB z< uMK@G@F!Hxq x%\HuSWMI7nZxx<^A/1W.HJߛ#Aa5@EfNEiV\˹c.ƿ]&xQ.Hy~V#@LL9T 3ns2ld;H(ʏS A>3#\7L[U E]X⑼a´_fd]i/eK["/m\li(h{c=x쉢*AB@JкKoh#dώ uP7 3:Bd~L?L;ݕITNS.!@,$rf**2;IZsLc*IPVB_ZqcOU?R4tlX;ds6j*0nz҆7 .!H 7b̹xgr{놮E6s.=.228L'H P%3H)Df}}}XgEMZ\X ֡| LJDCRU*R)abbYH 1he%i4؇?&9XSٔ:D-^,eE_(ʪ'є.dkN5q;8 (l!- Bo]u{u: ch;61\l;]=x֛rwa`^s{ot%3R4;v W9b08ӓJ<3j}GmzɷDY*-FODF}>Q]5=;o߯o~?oe #dFtq mV7)@i*q SFCl_) n0K{GBNE6,=we~Ȍf/srP¡PH9|( d*aDEx,"<8>|+g$Zm07qݲXdRl6G5$-M({]k##G?Uf:4juzg& e|m^πiXط (Ap@&[:*zdb(P}R*  r B)VE ՌؙL ( c\Vm1;'A Ģ(zqIǼ1i,]mv= YO?V_ ,w0֋dlR9[@7x9swK̽zހJ"=SebQLL8eYU% B$4.4If/{MJ !Y)&(t@RvFy   }1 s!a5bƄn[bѢdTdt8/jj(deQ?G?W ^~'?)lYkN@4l1 aBYQ͛.0\ſy-J*%[%*eۡxB#76Ga{a:U|ßR%͊d4E&|tL$d3ț7t=ټ.vvΫ[S[E+o xwZSۂ  gtnyU!&opUmyBuYV^P@p!R2۞JDH98WS$<zPr?/!.Hi٬c\,%IO R4,-+](҅FpPʍÔ37r}}}F]]p=kcrÑWwƮr> /?bgԮ?`$:#ΐdCt )ʴP6ܛY+,R FX>5 N@(A>J?8jhOQ2Gj~\ê%[emXJ Bzۻz"<$9R0~}cX51I4a,d FtWVCі *!s5JMMEtJ 3AЩF)&Dd~q|$e 99ǩ7m!%cQUE>K*Ʊ!.i`He(E} n+W4:::#̦>sv}(G^Z߄6qqa"CJ.΢0 )3I`HMJ?[Y6s@@̚mˆRsG|&|&FɦT͛Tt1DIEH}\x$~TK hT1'Y腟d>UN6Rd(yO7o}Q)ળcg)K;M;u$=3OLKB5 VJ\J>9lƹ^pM7Z"IG!36M۶mNiWDߙ#A[*1vx 6mbddd2PH=="^3Thv4sjWV,o|5͛Mwwt73E>BA߹s1888w9A(4y~h?^ٽ=K$$x?9H&M?g;sJ`qʲR*߲v6e%k|_JbT"UʫQ1I֬Y_9ZrIi4 z~hgg%Fxx<*E)f&džJҦapk384_ bGQ>EEɊSU f.S2KaF߿Ht炨X+x 4NhY-UqFqxxXe(*I&1nzQUF__㏀+Mضmۉ'Ɂ|ڪʶ+ NF2. +38P. h/l]-;늞ˏs7n3.-[&Zi9im]4Qj~te%ôҦf&OJ1H k۶Mť0J;*@p>N'w]҄͛7; ~ w (վmqNAyɥn94YYuxѣ Lb LCٯi0KP2'd珌@mo@S4 xLxU2)=Ь s}*c%-qMΚ5* tu5[tźB16,P{*_q`[QߓAx ̑9Vi;hs{gF vR.éErv6K׭[džZ~]w}>yjSPe|L($rn :L櫯Zܺu+HZ[xH=xLT#9́`/`SIq{]6)"'Ir5y~"quL z|^'$gpN4(0##k|4ޠrK񖶕pY۴RCCGzEJ`v.`A6:z\NVijtʗMG*!/Ǥ*tn o,͊J+{h2FM>AUU%, -n}era0,Fq={=A9((鴖B* y b|w|/o~6 1]{N_X>^~-0%r Jhuq<"{9X2xyiZ~T0ㆴvY@ŠbL0uMT6C!EJ4?79ۇdH藐Z3'E+o|oHa惐`0mBί-6͵);,5m!,0+hhZB QM+RVE:Efe6HTRy7bMP[J??u~4)LiX,{9e˖l BLӾ`,3 45%8 !)]zrm}wIǦ ~@aF(+g ٜ 7INqB^5CnYx5~u$]w@yO 2x>I6)傳TAGP8$Fч˛̼ɛ7>"3V%3kR0&<8s(rRBDqB=c)8J>]]kp2!swuC駟v J3h蜛̰LR" e Yi9cY&idMĕXJܖr9N1֠,)99͋שy+Ra@13'4;2>`0xY XF1p"Qh Cwbݎi4GfQٜ4nvh4j (>˰(>:C7oرc? 6KNc||ܮ p6J(^0_|>+E*?'w2RXtYtU E-&p-!=ځtWyλ`+^D5 7Nfqm=Cp>ut;B\tE3B$.Ut ~Gɫ Ίn]Qr(2( h)GAskyQ H >$C%LC}>xqGnpIدXrKҹޓbEkEY !%tÒp#ۊıгW|S qg l kz) ,UyLV 닣BA:\#R~W%A_º**8f\Y"c _²˿<'_ܼ_uUC925$rz۵kDH$|0T'QmB!v͕W] xq7?MbQY%3yD%iIV@;Egnl'm) iG!] " ].H>W-@+-IQ@:`, _dMWɽ}.ؐABNAi„L޵uTyK[C8!leqX CŵU q.ڟBBm~HARbS:!ΒTd(Heͮ!$lYoiFgsgF=2r{鹧;}Ec{oÒ/E@S5[4Ke:XQP( ƊL,7)MJU`: IcIvXBl亜w57#>.)03DԢEa-JH.#7I?9=x'!8.ݸ0N7=$krul/.jS<ƸӕHwR8_i@ ڮ7&̙wii4?;JOd;n&===HtGp[Z6vYW0X휭־D~.P]A٨3Ɔaq07_]\\t|GF&l 2tC/~RE`*nnk ,f+-"m8iJO>[ōh, cd޽{!>(q..H(%1WQ.?Z 0q\8H F.hmH=O*u> xy4pLLEg$/B#=qIU\$YoSc [zSFHP(tL/et貘(KbVidAm'fڦ̨+%:͉e[esQ FPZ uKR_o#G`2O.}qo NfQq\B}xNf7|mX_s2z']$9Օ.;= 20 ? P QߓB`|r :tV'ȅɥx^@=?+hP$#ȫ;錨 lMZu]IЖ!7':KFmPk*Jd4Z)S]UdFFR"jԳiGo]ޞJBNM[4M ý@gf VP6"=M^Z|>+_B`q;\:@=J'xS~&El& qO(ミ~ %Rd2xb4H%:斶h(mZH1S;D)-^KTd'^Uewr˭nXʐe@psӑ}I,QhA@tscxQFo\WIP%/V.{л r4Jl\"ur@,&Eh5r@zYY3#XWTӀ0+ZnƖu92bq /Dm0XnXœH\7 fOw0?7,}v [#E=sؘ .,v#<9;tߋˊ܍.m۩N( /iK6IVu*3Cse@v2^R>R']= e䲮WbgQ4QǬahf EJf%$ta&'tQT٦Ȅ(L(m' @ =9[|dֶJpȲ=.vťRn>S8yv6*j9"'(j4A@Ai`܂L_*}#[/| F&Vx=baAO0T MdxFg?{7o&<~I6r>Gv~")|?GCjSYf7} p)W_USZ7~DZ buA.F.E:ƣ8_{Es4XB踽OT6"P2xsYV\r# #DYUU?qW7<3~`is8`z{6abOwkh p|{S\֣ҳi" k͸ "Bl* >h7 ~TcOU|{s<&堚ylʰ86-#Ǐ'G8J&&&G><0;?9f Bgf.C?~g>r,?caB^c9`<%PnIJmY1s!8UO#: 5әSa23>[H9j5_U-b0y E 0:w]< t:_0X`=t0;Y-|͹$sw581aXBDg5ϞSSOL32=1xE_caJjǥn`U#lr&Jy`P8xLЮ߶=ܜR{mMSeI k@8iNұstsCoCTur-8XS %4m!ATQ P}6OfcL3W*N2{ ћ+b7W>C[wn^s:]藺r'dV,2}sD"_ۯ0 Cd28RqQV11:o7͹\ B ޼a<= ~7)o!˩Vg4`3T-|nIn>lMW0I%S~鲉dT*y\[zoO§[BM d s{qqavGʛWrwCiQ[9̙  V04Mm>=nw@mO#̢y 8hrUVZ Y 0 @+g>g'(PfYw}~ݻwnG+~WSO!LV~weFGGK5,hDG\0j5 zޡ>Ĩy4!^t|4hC#*ouqMa^t?f\s^f>_&2d/e3ڲw^XWSc8nF),h16A$%۶)$4E0tq6 E{ft4c?\[^F*nҺ^tg2J)6cM-ج5&oD#ɡ8Q<݋D(aQԄ@@w|(ԃ%4555&3۶}) èO8ṕ~X͟,+Sw؅k(鵕 fجzU3lVvپvS9ӞòD4yuDY[:)"`1-eyoFKĝ=d0tdrKȠ)3q z|ZTqIWͭwN6-,>eفHԐ~&;wy>W K^=rCЂql`UjUDjr*4F~*kvEa;?`lϳ(LU"1x< J`l@6"Z?##ji` R>K# cnP'+ ~ b0-Z ~[a$,]x܎*3 Pť QeVPPZ)U.9pÖH"dX>1Z YbY-+r0#C -[Bk\|l . &4 ,-,,> p? Cܐ= # TeUwUڍBv*Ҫ V."r!k˅͙%m`J:L{_zԲ9draL!2uˀ҄0fV&+!Q֭R~mɮlE3|:n9j;δ- H["-)y K?)JWԄؼ*#Oȅ]m\ҨS05Wsl$I:q:%Wk <N pi%( _-:!`L_,kA3s4ȍ˶mۜSNU ,(+<V_ qc"dxӅ-Ͻ@cc1%`9t s "Eڼ]ǘzMDmUhY_ `eÖktv޻ouTh0g'ͤ|uH3 u=qƱq2]jQ>X6[YtH/KmqVUG.8qz,~qP/X{"rIENDB`gnurobbo-0.66+dfsg/data/skins/original/k_icons16.png0000644000175000017500000005235611316702701021416 0ustar stevestevePNG  IHDRusRGB pHYsLLetIME #WobKGDCTnIDATx]|S׾I^J]vY 2e[2D? ą"7((̶-h<ɛIBP;ޛg9GĂ=!2ݏ*D!(_<2cmǠ$Iԇܺuaaa7ne˖'Nh>)--mpԩ}H>H1S|FD"!1[Q57# [3~HIF,[#ݗq۶m JOO'55u]5تy|7޽{SNmhC\z Oc|h=ЈIl7E!Cﭫ1 AH-6c??^khHU&^Zl$1vvv,?c֭[7H$j $%|) C׵6^XDchG9|c|۵1wbSUg:4-%&NfD_&Sq|.OߝEOv lxHDIeQy`"9W4\._[o .(JJJXڵ888 c Xsֶ@["Dx19)Y2~y2? ՍKzW 4 Cy޽iEi_4 B9ضol1~`I?+H:sXT]%&!jպ Ů\ 6M8̵Aӎk;~෷7dݓO\i9#/oW @-~1 % IyÜA=>`n)K2Z,0hwHn`  fȐ!ۻURh 5)**Fs ]+$$dф o.]Ċ͛Yff4{sma C8`qI{yyܹ3ׯƸLttt"s8>PK4~4+vhD;_U#(&4 V$DZ&`k<0ԩsMp?6 O󻦶nذQ>Z>>R{Y>d2ٞ[ւGOZ-75̓@h5yp_I~skgmN릁?@ B8XLx1_Ŗk]>MfJ&~H@SA0$nOT=mDDLֆzƀ2>͡4WԫW̙3M-4e%h>6##ƍߡ)Ə|M$ւnMy *+ =%brpH@pL}Ow/uagbA)74 ̴d၀*?|1@'A#J$4-`bY9dY!Z3YD-KDLaQ;ى^+C|lgٴ?\32rVZ18 T.?tP10Nj矏c5Fe/i2ϞՀ]{kQji?!N;-$BH/eg8;UzXGz@8.ZՄcy4:3HA 54e$4D:nժUlVVV3ٽի rrHh 4Ef"OVHֹnoZ]جx˔%3"[J{8Z uϏ[9iquuHd@fA NKI> &(Ɓσ/fd6#Ùx 4XBB@k[͟Ш}/Փ\^>f!e:Y tunk Hk<&%ZY?D; L QE.L6GH(~d;0h˰❓K^?AB,J=lgoύi^cӒ53$\F:4M T?7m du P=mƯ"y"z%枺^@yF.lX1c;;QHm,jmL4kƊ8i M~]5Fӧ۠ xk׾ i俠`}.JHs9m 7!tת,1z waGۣѢxM L"Lļפ%SܣGG@>kǸBCW)Өk7 phϴ"ըL"=|ȿZ$5:;@ o2 jF#F\.j4:Ѡ'9 ]ϣ4'jMe+>/LǟV^"r΍+2i͊Kf(y[0?%te{+ˉu"[146)+U}mГ? ;^#LS-늞+i^BتsEBnzȵ5غo +NߥsaL /+{v], :}'^I@&jL:;;Fb8jm3dMk џYDOPU$"r?SoLLt u)YoCIhjb.c47_D)f󓪧=ߊtѥK:dj@Y'4:˗buA'ab"33$ssH'&iIېxN],[4& M* @D$CbXX^ʳ*m!oz#D) :;&։^ 8BӸz6N2m/pfq2؈D+,bEBOCu@ooo?"##ښ5k4J;v,*duf ;s$00gg RW`|~1sF3@j"H_)W&f^}}Bފ@$F~~ΐwrS ,g)L(hLp 4]vEe0G,g{"` ]CҺu>޽DZ`grrrzZmhk[D6Ǫ hP'oAVA<=V4mAa{-r5S\dpQWy1וFC&y#8?Xn)SJQmj@Y3(I^tVchb9hl+rpaGlseൽ +ub, H̝UrOZM`E L)hYI$Q02fq;#AH8a @d!:Ƙq"?}a.W1Y^<{_~F>yr#HM&*Ms(C&hcvg5g1dFd,0K6ڶ@ cb #ۖUh .&&34M )Ӡ`ff+5[S `GBp?O;>oYת&@#Fy҄A-$͕lg5Mea2㾌8,իJ̙3̎>#<=[!B=+#g L-hU & u_6-nv2EB3MyM}$7KVYkYQQQhCbR*$?dY&A㈅I l((0AA )\#%o56-x9Ǟ bFSGT ${tAfk4SihL6-.0 `FP"L*7n(#NL&7O5 s_EPhYU M69'%~΃e}bhIH$MQ@OC^P{Cyh|l̘1MODnAV,d +@eIh겴ͱ,d +|BxΘ9XyL3*XdH|CR"3;նd.ʷ9=3)𣈘nq>MQ&ʇ1{JcF;OrIR  4Cΐ<4!/ i\ o ye/C͐w3䡩 C 9L9 h` Ϛߌvn;G_:s;gaW/;N'$<&-co2J_4mVhn晭nv+n\9?){?I.?eᅳ}IMr~o,ecY lA͙3gcYO)̀Q\pn j82ʀ3 84TM 0Eyz:6$O@ 4" :P^Iy@3Z {47}FɹTMИqUE;GJMQT6ݽ[ٟ&B%bfdHOhx%\A`RAC`ƒu '؜`uqhPT5+ ,M !MG@8hMOSy !i n5^vssŝs*ͳVDl2jTU3pG N<|XL/T4}uKtTAT4h(v->k.zi~f);%A.5BrGkEuJ|=m{ae4H^&ik 9ϙ3QF#Mܧ"\y&Yv37Aj`L0 !X93hMhAoYdà#;[yxG&:EVӴRː>SI j_KFR===_YE7$-X|F@0*Mab‹ei˓$| ;nIy@Mm{O]A0& jl#|iM(sW}Y~׏LLLlC{qM}ru(ƏF'w<*Šj~(^&UEBs>j1. j2M#Nﳻ/)؝X|gԵ'ouZ;:::t8'NTƌ  FTBBC (T$=]$4& ]:K M26ɨkWhBf74DT*MMynڢ{%Hh1~Od զ2_~㫓g;w 2K[_\}GO::cfGYX-]5[i۴O3xcq-5pر;~5zoԵ;v\ Ե]ȑ֍SbԨߎ҉~r* O^)Rrt Ɗur'x'N=zKѵN (ۄLm"7W 4_/^̖.]ʖ,Ye˖)E=>|rx54X7$4X2ldSRNn{fL{9goK5k27Wty APU c`HA.8 6N4 sʕWj?kv/ł{ Mͪ-= ꌀS 5: 4pg_/RQdʕJQgѢEUشʴz_/d+V0HX3rd5j'w]W8|P4hҡg, 8cˆ +0p=ch  ɛz]<L2h<]v WM9vۏm8퍠[Hhg  hFwmEa!r)K^g>4jE,b9;rϔĆ5=z}}%-Qia(h4ttY13Yk:?:Tsst,1ʗ_͠A?@c8hSzjݚfa@9={;Ӯ݇Yܧ^CJpzmS.tmz-?߹G `ͣZAc3$k"i`rXMVH_)8bFOˮnhH& k @\U+b=?~[ ig|ĉJDƾǏ>H ck;ME.(<0/K 'd8}6<_zj~ט@PY׀@&A PiT5< Yi"iQgY{$z3sπD$777v4U5?Ijڶ]~<2SJ{x [qg3y_e6#H*CY) 5:k`թc2Ϫ uB sPTWɺJ?.=rçιH4]^ Iͪ4( H Y[_ӣi,5닠KK#G"'@uY3zvL} `zfSkNin[P_V$/7irB knS/={:ݳ&TO|TF3 j3j@x{}'sҕYvƶ=VF ZESY|>AIjx#мeNhX'?fd/i_xQARzwyqX,^PDfUEϠU u>14i6 qK/ꜞ~/8*{^{m#Aȹ~L̙E;oZ>>4gW,^Z^ViT4k2 'gms!Sm~އ0`yquC7C5OI9t0SF@5ASkey`J'" 1]ze)[4&4 #cnmNh~FBY4wᄂOHZfqfh5^M|B9M1!ϰUX5x]RSm,,8;ꚑqLo.E MVm۾O%OSFE_8dHS9'dޘIƾб{̺"|mo عz5gNh:gDEEehcHlץQϺl,_#hUc5a? $m3a[tY~m<ƹjzbNnmKGŝߴ<] '3OG}?=k{wD3'R$6[lk1 MPPP2,l\bď28IV17G.?`2e|{trQ۶+m⛎W.sݲC_5rˆaN8p<= $ᾺyQ7 M8g5@&>qM&H)V&ox-O]'%$_|J1GnG;;;*ɾlݺY42?cjcX$H (k%U^nGfSu0`;vXsƐΏ&g4#}iNM&%i 5Ӓ{|ƌKJJ=K@3"htȰf^ Ly@c:ؠ/\Kpw`PL&&x9#G]֢E_=>tȑwhӜfDh ]櫯R ^cU 43]s{23Jʑ Jx6 ٩cY$KA9FҬjkkٷo_G}Fgi`=ƶmI@@)Z\7J3 [(.6;wR}8\4vG4*=C&A$40:AY,$s`IS݆`+WxĉYz ,whN9C!yȀtPaEN{{P6دl4…Jv& Pi1|F;g 4#+P,sdMd9. i`r(j5($WGM?ױcLMht#M$Uf 7@e d>c?WfSNӠ柺@>c41_ܑf MPQ36Ujl=hO4>l}e_vFo&GpppFv&44t/2A~*fG44K6Fyd_FEBSfL)l: :4($DA4UR<H$r⛴ǫI<9YZ3 4P\UiP uP@PYyIgyH 5*%y mfHD =Q||=onW:86j 2N,A#^H$+#J 眜*@f+Ti|||lfPDž**gӟfT?,5Yfa ϴ47hM`ڶmo/^f͚v:@S1l M5Dm [LMcZy>@?I]"9-[0`l(2a&]Mkv"\L)Y5 M5YE&΀t&xoi1&k}2h-_9WW׹%Cj̔)Sr͛FK2L0m`6n|Æ 4sEB[Kfl 2ed&Mc!cyHD.RcҏK, YnÇp* ֌zlmQ2hLr{o!80dǏ _Eth^|ϑD&j@%AAOM'4 * '}b.atw 9k>"HAHkVi]< OEO1PPQ7DuY*6С@}s_۾cc\ ?=e2G&24&&y[FEJ۳{ˏskDNIJvsoF~Njq`P133s5jߞ={uDgdFHۣ{q2R"Ǥću Ě&Mz %NV;sssGgsqq-fkPP 8:F27@#њlzmzquD"`^i'pqtxcV̈́yn?;g%JH [3!PfeV8z: b"cX_?_5cu{}GB>ۋjשcB~޳Jy?R ?&..:=88ةccCB˃M' 35$A~vbB3-ӂ 4 4M:_4KNK5Uw4 r{u&i~$+\95Ȑ&G:YXi[x@8L>T13g6hr$i<ҬgOψ`Κcݏvl@ފ4$2*"Q}?|q,&JTnFuQ֍)G~g -`&糈I"%17p :i40>{60ؽdYN'IJ]R,!;11Zb|7cְ=XhWa̭E>6RhH  ɛL14A'ޏ`ݔi޴fHH+5"0\ZNڻQ9&]uq2  (<"Jh77n;t k=Neͣˏi£S'lm}dT뫴o"͐.=k>)mkd2vX*֧e"8ؕe$xocİ0>5Қ%EiET|O39@M͝P@͞PSʍ!] 21٤/+~X!"PP~kH eѡsb21\L|[!kX&Oncgv`A~~~H&uxrwcgaKa!hh 4h0ȧQ%j%4f; ?{AVikXv ѣuzܔyNc߉u,v'4"((`?A HA;g"8BBcwSΚBΞ~[ 1k1£7JcG<6';̯ gچ˃_4Vl:|eIgpXkMAS mշھYBvNvmlֽ53ڠ_3~p̣cOS|= {kH=sleh9>{lcvd́XiwSbemsN!9 X8-iڤDʁ͠DDD1 NNz5 Q\v*ͱC+Yv?G),*<觸AR浖l/o y\~W[;[GoooYpppиM9|&T4Ukݠqnn?tV?wFBn_(dK/5KC_n7g,pv/x"#Q2v{<_zGw{]k`c#kԼ" 0/LW;c8# I<<4 Gh$ͳnm2k~ڣ]&0`<ggg teguOWȃ|Xxh%%Ef_iN]9>1 v򮗷W$]o ߥACSB}g>;}4k8>j%bMASU@}oRӹYŇ6{`jقK7{qBs'!1&h`njm'\?8|b[^?V;S~L.\b u"\+%95Un™"Qc?#T4HDv3hӀNhfOh*5O:/>-%LZ wσxAYy<&Bdy)΋kvJ.>,(8@PP d~?=]:H|G4T4fa5z?[CZWc@Xt 5|ĄzZ%˝b}#\]9];{,;hOBo@k|U`n]z5MjzF$-W$J*4H 9#"dub#d3Fv&|/55 0@ϳ},[pP!|oe)p@YY5؅;?eiSMӜGq?Q uО&ZYK^m/6q҂KAgfiii&2Yْy}YؼhEtHڃ?~dWpdH["PmͣEdljXl]gn/~.tu۾(:g${~Ԩ@$w3ӄz@#јl81^z%I !ZEGG14T?,,ullT\ j$==]\6d "@x* -nԨ+ 9WY_st˝}ܖA[t퍹ҩ|1Miɉ1s_i,amjBp_G'46~$IJH^G`HOH9رc]7nlmm%2y{K/aY5Ybbԕڵ3 t掎Z&{' ٤M$6^ȥ}HY k~| UwB3XQ~y}B`t;][Ֆޖ}--{s-{ ӵY 1pK=MMK O 9^FɣuЦg.}6.;I4iX[[+EbhAQJhvkNOi5 = 8%o>?(;"""Q6H9DĄǩ&{ @.mĨZ>ภky|;ӟlY,3{,#nͼ'Y3בV̡3 ̦ kkqJL nr_oig%3Cvege4i-=[lm}Lw KXal ]M 133.a4"r !e~ og!!!"##''2h v]8D򜜜l"kf`A9\K"c@B؉\mǫ2x2M7b+RK毲esSc5[TDkYY4i#z?_˒'dh眢IM8C ;4O~?)FfyFBiR)4M]mM#HTiY5kr]A۷͛7ii7F|ٷ__FADZ6d(AU)ybrATVSB1Y!͞\p\IxdF֠"Q JDcͼ[3* f}U' Jh^ м̘mg#;} f͋;~̈S&*>~Ю_EF&?􁁁m۶ J HOmt637cW\$$$ z睙`={lu|o-]ڵ EJ-&J̱3>;@/MXNh'uBSn+6<>]7k-{{-K% C`qMZĎ4`2tVF#bm4&8=5QC uި>uS-IY:rE}:6Br> ϛgS,,,npܓ6**}Wz&M:u(#fWt҅hقS*Zhh}F@И .>pM%r~Lp8፝C5v1SosmـwlXhrY1ǁ$]06̺!ƍN&&sՁhϺ1~mZ6߷=xQ{c~om۪W{~H{T_MwZ5Ϯ2mG,VG#CBI`;֩S'EIIb,;;ݓW&̱lQ:Nj-`چGa.N$qA@9"],[[2]Y3f6,L[GDGvEs`$%528T۳c7mwyc/n2>8;8_joa!hPL80H\oqS, +2씷7 `4rkU=i\H=G&nV 3oV[QXl&r"PLk$t"dy9D͕`Fɽ Zyxg:+VRWZ%Nbb.BBB6::4U[Z J22>drMffb*~.%݇bҪ8ܫ5SheYOl^Ogk|9CN# ID>58BϓGc4kLΦS|e6BG#Qhl6Ey(E+ >geЩT 3%/d944s,4I48,G&|cƦA!DQqA OtLag"a&=z94S,Kb[lyQ4ļ T|ؠ XeSF &Ġͨap_z lhأ Mm6 b9yXL4|3|d9;'kTtfv5VŪ@m<&hdmhLY&  K5̎VF92q^͎ZbMl Æ Ҵ Cˠh҂܁*!'!7`Md攑pxjS{uE]`܀6nbt;- _YBJM &ZZkEc:ANlzYS!t/ n<[5@#M[p44d;@gvL=hoBKĕfhȬ3e6xpTbj@l^h 7@Z{Lgv<9v#"ChdO F? C!\^kB{NMN4?4?,!4_6 rnQ@|hmy 54 0Ψ?d$Il<t u==ڈox`#[nԸ1'jL2AhV xq/ xn>hdUvhnA4⚾LldGy\Jh芢Xd,71]0X-.hl_:E5k^n\ bД*%=j2` HloW"WslP$4Q4hxG"<]z 4hWДa!-y"g6[64M;AQ/vrO3h3Vxq4Uf6mds4G 6h|g)hжQSDMm6[ gZ/n4z!< G婱dV9iy6%v 4Ra4DZ[|EB|cTy{hW\b{) rAhz5+835hS UJw6&ZZBc37ĠeؐlfHs4{Pi44QP4„́RGC4lb4ɤC\f\4fe lxșfp,:wzS/(X<? pz Ekg(,poxv4F #ihghv7hB&@m[N|4D#$ѝ:4FFh0hhtԇp6 # pk9mHY͵sDM#(.\I *zĦ i ;'4"h c+xyר ݏ(Ho0 H[ПlvhF֠ }샯h7FWhsE hƆƾ@A/Y F4L"{@рG3mL:42r%(yhƌnjt/(m|^Ƚ7h|u71OQ Mmcm׵Cc4R3ь}h (=Mn}2X41FD$;tƺ-5`XDŽz8^_׈Ʒ\>4k(9PVD( /}EFq( ͚ES?!4PAc'hl"Cs< '5{p4=Oޖď/Z->"gb &$~5 ?:4{ "g (d<2u@h.h:;*4%)jɇE3 O܀D8f$K%ۀ +rhYp7NB#16Ǐ8JI&=I|9"j|Ac7B4{ kximZI͑4n G6yhjA oK룢u {fRsn@s]i`Th|`(Yhs`]{j4QC804g <Pkl؎>l4i) D4D׼&B~ McB$y4q4ӆ<h֔QVmW҆UEvȏiz !daM"%7sh͵fȩK4B4k nh?JE4$As#f͐5Z1 ·UoDQ ϸ^Wl> Zl@zDҢ﮴k"{#í5͕S]V7ZDŸ ㎨XgDxto|GDzܴ&hM{ y?n x| BD4Mht8Mz 0 |MoF4=qƶ%zg_nT{caǮ+ 9#/5C@ x\GFuK}FkfМaЄlJ.cMf &ǖB}h0L^=h"h+ 46hRyzӖhƎJi 43u޴MD] 'j Xfn@Dt* ؠ%=D$D4]Gp%` y9T 47ҽ%Pʿ,Zm_!<&1kk M)0V4Q⮴(mv_C/jܣӯ:Ah?Qu[F!ZێZ#QD34,OOkYGn4%jԫ`qD3|4'Fȁw}H^*5wѼ(`^BܣͰp3O`nT y͊\vxǫ\kwW+ӠͰAШ!'>k,5v'{ f'ȦL5fAhM3F6hq+k7گEwT' hBrDCED4mR{=>4 ;#qӸ5ZlNsDXh[}LD9ӛWkьјEMRڵח,wVMf`">ktն?UKLXl`"1XkGSlW ޔ[UhƂFo6Ѹ5xEh SKRh&Jܕͮ4WC[HsUlid#1s ?nflhCְ%J5ڼJCƢǯLd<>۸"{AMi@Xd<ԠjؠeL#Џ4k\>W#ICT4bzDs/hiȏ4!? ?[C~_< w|qّD4Dri菺 pȡ'yь8g?\НeݙV/ӨE4c@gҔP4Io ьp5VgEOCx4AshFNyljV-h.\R}>ƌs&j"fhCNFoݍhM}4IьM䥻{MȘnrڠD4A\ cQ߶5a4A[#jף5 ͞77j{A(Qnvh]t ۙ+;sCxvt(No۸"qwEi+MNk;g4!mUcKE]UrB"C|m'aM'C\l/wҝyKRe,t*ow.V M!sGkй%C\:]Y%%<ۢ$;4t4DEUėKt,4 c5 u $h6bhYZScc_cY#)0ȸ'"%capC+шg3DTrj杍6_24@Z6WhO F+I r3fd4]b$eIP8u:BO?݃\f+$rQ26o 4oH~6gNX4rhW9\)fWe\ΚL $ͳ@s ͘߾u=T"Мrl:35 Dc[7ٌѴr=X'\@s%>K]bAC1 27ՠF??="Z0(n%7@Bf@ݿ~?M/:NZgyJjӂ!~4t4Π NC4rPXY*-|4Kپ(!}MR4΄YLg:=D T@ 'jn.D3ٙiM䮪lxzd>8緒my+ ~GhvʤIUF8{2!. Tüȅ MjmΉ(tIYJk޼:&hF-K!V9mh4a4<)@Ga <4;@31kE]FIMm(M8zۆ=Q(poh0(,ϻt'F9eE\7^df£zM"&j -Jf",;hcAlm(U]X ?s54p"RYkXw\noi|[IKuǪp ͍7qDҢO[gZ#Cq_U{x|okFWâ<&ohFhZ6;]# Q3V^[$FhM-GܠujND47Bi~Xo!W#1֯2v4ofDhzo P,!4fhZ7;B2QSR-G>;N#(MMmߦ5A#7 |DYB(t X  (""""!"""!!!!!""!!!!!!!!!!!!!!!"!"!!!!"!"!"!"!""!!"!"!"!!"!!"!""!"""!!!!"!"!!!""!!"!"""!"""!!""!!!!!"!"!""!"!!"!!!""!"!!!"!!"!"!"!!!""""!"!"""""!"!"!!"!"!""""!!!"!""""""!"!"!"""!"!"""!!"!!"!!"!""!!"!!"!"!!""!!"!!!!!!!""!!"""!"""""!"!"!"""!"!""!!!"!"!!"!"!!""""!""""!"!"!""!"!"""!"!!"!!!!!!!!!!!!!!!!!!!!!!!!!"!!!!!!!!!!!!!!!!!!!!!!!!!!!!""!!!!!!!"!!!!!!!!!!!"!!!!!!!!!!!!!!!!!!!!!!!!!!""!!!!!!!!!!!!!"!!!!!!!!!!!!!!!!!!!!!!!!!!!""!!!!!!!!!!""!!""!!!!""!!!!!!!"!!!!!!!!!!!!!!!!!"!!!!!!!!!!!!"!""""!!!""!!"!!!!!!""!!!!"!!!!!!!!!!""!""""!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"!!!!!"!"!!!!!!"!!!"""!"!!!!!""!!!!!!!!!!!!!!"!!"!!!!!!!"!!!""!!"!!!!!!!!!!""!""!!!"!!!!!"!"""!!!!!!!!""!""!!!!!!"!!!!!!!!!!!"!"!!!!!!!!!!!!"!""!"!!"""!"!!"!!!!!!!"!"!"""!!!""""!!!!"!!!!"!!""!"!!""!!!!"!"!!"""!""!!!!!!!!"!!!!!!!!!!!!!!!!!!"!!!!!!!!"!"""!!!!!!!!"""!"!!!!!!!!""!!!!"!!!"!!!!!!!!"!"!!"""!"!!!!!""!!!!!!!!!!!"!"!"!""!!!!!!!""!!"!!!!!!!!!!!!!"""!!!""!!!!!!!"!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""!"""!""""!!"!""!"!"!""!!!"!!!!!""""!"!!!""!!!!!!!!!!!""!"!"!"!!""""!!!!!!!!!!!!""!"""!"!"!!!!"!!!""!!"!!!!""!!!!!!!!!!!!!!!!!!""!""!"!"!!!"!""!"!"!"!"!""!""!!!!"!""!!"!"!!!!!!!!"!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""!!!!!!!""!!!!!!!!!!!!!!!!!"!"""!"!!"!"!"!!""!"!!"!"""""!!!"!!""!""!!"""!"!!!!!!!!!"!!!!""!!"!""""!!"!""!!!!""!""""!!!!!!!!"!"!""""""!!"""!!!"""!!""!!!!!!!"!""""!""!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!gnurobbo-0.66+dfsg/data/skins/original/alpha32.bmp0000644000175000017500000001730211113570267021043 0ustar stevesteveBMB(  """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""gnurobbo-0.66+dfsg/data/skins/original/icons16.png0000644000175000017500000001544411342511470021101 0ustar stevestevePNG  IHDRusRGBbKGD pHYs  tIME  ,I=pt`;DN% 1q Yr ,`pA @6JDFل1r65ꩮϮꙞð]>*(~_ay^ٳg0?_$ںg$p Jwvjx. 󐿋;l,oQ7L~;t};" +;Y,(#x<`yrBcU]]/WjZnά ܻw꛾/pcUVP)iHAv2lzahȃdӒ.倇ܧiE?|߷xm ݷPx~|ٵDUht$ѣGCFupaofs3@@^XWS+Xh:\BkU:Q\9yT!yL OfJPcPZEohݜ?K`hI_ m:׆a5u(KAZPbvv*]g$]Kѕn/<`N2f@Ezި#4|G@@Ij.Z[ m\ a6WN%Q-3ҫ?:D8j]* d$"l}m@,/[h5prf;KVVgnߨq;8ÈipRy}g0BeqIgu Z&]D*m)mt `SAW1n&%ut &:ݎT4WCL{>zV╽.:NS4 e<YPYvy!/үKF:'ݝL+Z$ (\it]j` 2V[xzn : QV8Μ!o(6FSbݔZ w T0DQb %NB7SDŽz>1UtuPVpLлVMzj4t:C_&'i2l 6iww U5Z 44it(ΪJw!id9] [ٟ2zj.^" zTkb <igiß'gN!T'"@sh4=BлFZe#ϢLүάnw:n4kBnz#JҤlkI nx9M<̮aծ6>85h!NC{\|.F* VoGqHekWxeh@{mcnn.*HiwQFri@~eq4/4Cil nTRIfꙫD6B>m4IoS.O|iKG_x?{8_..6ip݆yDl֐dN*G{F'># 609Ey2+8 A . ?u`Bu(YʇIl|.yȾ0hyڝg(Ќ8"hÕ@gpQ$O"&(_yeHdܽ& \DMOŸ.H-yo7 즤}NB+.-_P,$@$=ڭ_014ҦVqc#_*#tx!-oţ*%-JOπ+Qz׸nMJӧCqu!3e H}YIԸRO(II8}1"#T.~EV`tYY;tG<^:QhV{`E:J s@T5پ=\Y:Z^wР.=`txĖAHdHveMr*;z~튪,H=˃ٍyny8h۬'I?FD4:4iX 9EJ+mTq4Yx4 NýMs]<+mt v(υz&RR3#PD \{k j<,լkψџT,T,K9\X\8DjVj%eɢee`'?6.g"u%hJ k-AE[:G@ 7 2ƒR4r DG?JЈx3N7[ 8|`em .f{Woߨ.npGx1ܚE #MH?1u6,Ԧ-n59|Tz#pfx, : EKP<[ Gh@% y?w1gWJյضhB׍|]=,Ⲉ::KlϋbrDK0ӳds a#4@ O:9 q.T8Tȉ̭u x\C "2*ܽzI{<[KhF/=v<)BG:w#iL0cc⇺ lGOQ3]&֖\4j$,7cbp|N+܏Gnt|f~x7/y8zxoѣ0SOU0w$жGy/K}w +\ˡner d^{p'wt?ôR65tHJe"D`1?2Ǹx xeڵhD_[9 jzd*0$L^+2b+H=':<|Okh4:xUÛ'NUWY_e478r }DIh3[ϗXȳI/#g(WY|Y|;{&M;Gk{DJiA'1-uܹ ___WƤ#c!Aߙ P]]6 }<&nq-TFEY6pnӌb/)t<_^<#M-ZP7*%hJX3n%hJQ) N"J2S%SIENDB`gnurobbo-0.66+dfsg/data/skins/original/alpha16.bmp0000644000175000017500000000400211113570267021036 0ustar stevesteveBMB( !!""!""""!"""!""!""!!!"""!!"""!!""""""""!"""""""!"!"!!"!""!!"!!!"!""!"!"!!"!"!!!!"!"!"!!"!"!!"!!!!!!""!!"!"!!""!!""!"!!"!!""!!"!!""!!"!!!!"!""!"!"!!"!!"!!""!!""!"!!"!""!!"!!""!!"!!!"!""!!""!!"!""!!""!""!"!!"!""!!"!!""!!"!!"!""!!""!"!!""!!""!""!"!!"!""!!"!!""!!"!!"!""!!""!"!!!!!!!!!!!!!!!!!!!!!!!!!""""!""""!!!""!""""!""!"!!""""!"!!"!!"!"!""!!"!!!!!"!!"!""!!!!!"!!""!"!!""!""!"!"!""!"!!""!!""!!""""!!""!"!"!""!!""!""!"!"!""!!"!!""!!""!!""""!!""!"!"!!"!!""!!""!"!"!"""!"!!""!!""!!""!""!!""!!""!!"!!""!!""!"!"!"""!"!!""!!""!!""!"!!""!!""!"!"!!"!"!!"!"""!!""!"!""!!!!!!"!"!!"!"!!"!"!!"!!"!!""!!""!""""""!""""!"""!"""""!!!!"""!""!""""!""""!"""""!!!!!!"""gnurobbo-0.66+dfsg/data/skins/original/ciphers32.bmp0000644000175000017500000000570211113570267021414 0ustar stevesteveBM B(  """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""gnurobbo-0.66+dfsg/data/skins/original/skinrc0000644000175000017500000000125711317761365020336 0ustar stevesteve [name] Original [author] Arkadiusz Lipiec # Up to three lines of text are allocated for this tag. [about] Original GNU Robbo skin based on the Atari Robbo graphics. [project_colours] [background] 000000 [version_text] FF8000 [general_text] FFFFFF [menu_text] FFFFFF [menu_selected_text] 639ACE [menu_selected_limit_text] FF0000 [menu_greyed_text] 909090 [default_controls_text] FF0000 [credits_text] FF8000 [help_tile] 709070 [fade] 000000 [author_text] FFFFFF [designer_text] [designer_GAMEOBJ_tile] [designer_OBJS_tile] [designer_OBJV_tile] [project_colours_end] [level_colour_overrides] [level_pack_name] [default_level_colour] [level] [colour] [level_colour_overrides_end] gnurobbo-0.66+dfsg/data/skins/original/ciphers16.bmp0000644000175000017500000000150211113570267021410 0ustar stevesteveBMBB(Y """"!""!!""!""""""!!"!!"!""""!""!"!!"!"!!"""!"""!""!""!""!"""!""!""!""!"""!""!""!""!"""!""!""!"!!!!!!!!""""!""""!""""""!!!"!!"!"!!"!"!!"!!""!"!""!!"""!!""!"!""!!"""!!""!"!""!!"""!!""!"!""!!"""!!"!"!!""!!"""!"!!""""!"!!""""""""!!!"""""!""!""""!gnurobbo-0.66+dfsg/data/skins/original/wm_icon.bmp0000644000175000017500000000110611313166061021232 0ustar stevesteveBMFF( LL""33""33""33""33""33""33""33""33""3333""333333""3333333333""3333333333""33333333""33""33333333""33""33333333""33""33333333""33""33333333""33""33333333""""""333333""""333333""""33""""33""33333333""33333333""3333""3333""""333333""""333333""""""""3333""""3333gnurobbo-0.66+dfsg/data/skins/original/font24x32.bmp0000644000175000017500000026165211355415450021273 0ustar stevesteveBMcB("hc  (""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""gnurobbo-0.66+dfsg/data/sounds/0002755000175000017500000000000011467303356015475 5ustar stevestevegnurobbo-0.66+dfsg/data/sounds/free/0002755000175000017500000000000011474701657016422 5ustar stevestevegnurobbo-0.66+dfsg/data/sounds/oily/0002755000175000017500000000000011474701657016455 5ustar stevestevegnurobbo-0.66+dfsg/data/sounds/skins/0002755000175000017500000000000011467303356016624 5ustar stevestevegnurobbo-0.66+dfsg/data/sounds/skins/free.dat0000644000175000017500000000063511340251506020226 0ustar stevestevethis is a skin which should be read [screw] free/screw2.ogg [ammo] free/ammo2.ogg [bomb] free/bomb2.ogg [capsule] free/capsule2.ogg [exit-open] free/exit2.ogg [gun] free/shoot2.ogg [kill] free/kill2.ogg [walk] free/walk2.ogg [bird] free/shoot2.ogg [box] free/box2.ogg [door] free/door2.ogg [key] free/key2.ogg [magnet] free/magnet.ogg [robbo-shoots] free/shoot3.ogg [teleport] free/teleport2.ogg gnurobbo-0.66+dfsg/data/sounds/skins/oily.dat0000644000175000017500000000070711435303137020264 0ustar stevestevethis is a skin which should be read [screw] default/screw.ogg [ammo] default/ammo.ogg [bomb] default/bomb.ogg [capsule] default/capsule.ogg [exit-open] default/capsule.ogg [gun] oily/gun.ogg [kill] default/kill.ogg [walk] oily/walk.ogg [bird] default/bird.ogg [box] default/box.ogg [door] oily/door.ogg [capsule] oily/end.ogg [key] default/key.ogg [magnet] default/magnet.ogg [robbo-shoots] oily/shoot.ogg [teleport] default/teleport.ogg gnurobbo-0.66+dfsg/data/sounds/skins/default.dat0000644000175000017500000000103411307010202020710 0ustar stevesteveThis is default sound skin, used when custom sound skin is missing [screw] default/screw.ogg [ammo] default/ammo.ogg [bomb] default/bomb.ogg [capsule] default/capsule.ogg [exit-open] default/capsule.ogg [gun] default/gun_default.ogg [kill] default/kill.ogg [walk] default/walk_default.ogg [bird] default/bird.ogg [box] default/box.ogg [door] default/door_default.ogg [capsule] default/end_default.ogg [key] default/key.ogg [magnet] default/magnet.ogg [robbo-shoots] default/shoot_default.ogg [teleport] default/teleport.ogg gnurobbo-0.66+dfsg/data/sounds/default/0002755000175000017500000000000011474701657017125 5ustar stevestevegnurobbo-0.66+dfsg/data/rob/0002755000175000017500000000000011467303356014744 5ustar stevestevegnurobbo-0.66+dfsg/data/rob/robsprites.bmp0000644000175000017500000000056211174673200017632 0ustar stevesteveBMrB(0 "! !" ! ! !  ""  !  !  !  !  !"gnurobbo-0.66+dfsg/data/levels/0002755000175000017500000000000011467303356015454 5ustar stevestevegnurobbo-0.66+dfsg/data/levels/robbo13.dat0000644000175000017500000006353611324353351017420 0ustar stevesteve[name] RobboXIII [last_level] 32 [default_level_colour] 608050 [offset] 508C [level] 1 [colour] [size] 16.31 [author] ROBOsoft [data] ssssssssssssssss s&....s....s...s s.#.T.D...}s...s s..T..s....sVb.s sssssss....s...s s..........D.TVs s.T..?.....s...s s.....?....sV..s s}.%.......s...s ssssssssssDsssss s@.@.*.*.*.@.@.s s.....!........s s.........^....s s.@.@..*.*.*..@s ssssssssHsssssss s.......H.^...}s s..T....s......s s}...T.?s.T..T.s s..T....s..T..Ts s.......s......s ssssssssssssssss s#.#.#.#.#.#.#.s s.#.#&#.#.#.#.#s s#.#.#.#.#.#.#.s s.#.#.#.#'#.#.#s s#.#.#.#.#.#.#.s s.#.#.#.#.#.#.#s s#.#.#.#.#.#.#.s s.#.#.#.#.#.#T#s s#%#.#.#T#.#.#Rs ssssssssssssssss [additional] 21 1.1.&.2.0 10.2.}.2.0.1.0.0.0 1.8.}.0.0.2.0.0.0 1.10.@.0 3.10.@.0 5.10.*.2 7.10.*.2 9.10.*.2 11.10.@.0 13.10.@.0 10.12.^.2.0.0 2.13.@.2 4.13.@.2 7.13.*.0 9.13.*.0 11.13.*.0 14.13.@.2 10.15.^.2.0.0 14.15.}.1.0.2.0.0.0 1.17.}.0.0.2.0.0.0 5.22.&.2.1 [end] [offset] 528C [level] 2 [colour] [size] 16.31 [author] ROBOsoft [data] pppppppppppppppp pT.H?.......p.&p pT.H.*......p.%p pTVHHHHHH...D''p pTVH'''TH...pppp pTVHHHHHH......& pT.H?..........p pppppppppppppppp p......pppR&p.%p p....~~..pppp..p p..&.....M.....p p..............p p}......pppDp}pp p!...?..p......p p}......pTTTTTTp pppppppppppppppp p.V..p&...p..V.p p..V.pppDpp.V..p p..............p pppppppHHppppppp pbM........bH.?p pbb.......b.bHTp p.ppppDppppppp%p ppp...........pp pp......^.....pp pp....b....b..pp pp...p.....'p^pp pp...pp}...pp.pp pp......p.p'D.pp pp.^....p&p%D.pp pppppppppppppppp [additional] 16 14.1.&.2.0 5.2.*.0 15.5.&.5.0 11.8.&.1.0 3.10.&.5.1 9.10.M.0 1.12.}.0.0.2.0.0.0 13.12.}.3.0.1.0.0.0 1.14.}.0.0.2.0.0.0 6.16.&.2.1 2.20.M.0 8.24.^.0.0.0 13.26.^.1.0.0 7.27.}.0.0.2.0.0.0 3.29.^.1.0.0 9.29.&.1.1 [end] [offset] 548C [level] 3 [colour] [size] 16.31 [author] ROBOsoft [data] QQQQQQQQ-------- QT....TQ-------- Q@.....Q-------- Q..R...Q-------- Q......QQQQQQQQQ QT....T&.......Q QQQQQQQQQ}Q}QQ.Q -------------Q.Q QQQQQQQQQQQQQQ.Q Q.^..'.........Q QQQQQQ...QQQQQ}Q -----Q.^.Q------ -----Q...Q------ -----Q...Q------ -----Q...Q------ QQQQQQ...QQQQQQQ Q..............Q Q..............Q Q..T*......*T..Q Q..............Q Q...&QQQQQQ....Q Q...Q.TT.DD....} Q...Q.TT.QD....Q Q...&QQQQQ&....Q Q#####QQQQQQQ..Q Q.....QTT!Q....Q Q..T.@QTTQ.....Q Q.T%T.QTb......Q Q..T..QTQQQQHQHQ Q.....QT.&QTTTTQ QQQQQQQQQQQQQQQQ [additional] 15 1.2.@.0 7.5.&.1.0 9.6.}.3.0.1.0.0.0 11.6.}.3.0.1.0.0.0 2.9.^.0.0.0 14.10.}.3.0.1.0.0.0 7.11.^.3.0.0 4.18.*.1 11.18.*.3 4.20.&.6.0 15.21.}.2.0.2.0.0.0 4.23.&.3.0 10.23.&.2.0 5.26.@.1 9.29.&.3.1 [end] [offset] 568C [level] 4 [colour] [size] 16.31 [author] ROBOsoft [data] PPPPPPPPPPPPPPPP PR..P.T.....#.%P P.~.P...b..'b##P PPP.Pbbbb.....bP Pbbbbb.bb.....bP PVbbbbVbb..b..MP P.b.bbbbbP.....P PbbVbV.bbP.....P Pbbbbbbbb......P PPPPPPPPPPPDPPPP ----------P&P--- ---PPPPPPPP!PPPP ---P...........P ---P...........P ---P...TTTTT..*P ---P...........P ---P.*.........P ---PPPPPDPPPPPPP -------P.P------ -------P.P------ PPPPPPPP.PPPPPPP P..............P P...b..........P P..b.b....PPDPPP P.b.V.b...P....P PPPPPPP...P.T..P P&....P...P.T.%P PT....P..^P.T..P P...^.P..PP....P P.....D...}...}P PPPPPPPPPPPPPPPP [additional] 9 14.5.M.2 11.10.&.2.0 14.14.*.3 5.16.*.0 1.26.&.2.1 9.27.^.3.0.0 4.28.^.2.0.0 10.29.}.2.0.2.0.0.0 14.29.}.3.0.2.0.0.0 [end] [offset] 588C [level] 5 [colour] [size] 16.31 [author] ROBOsoft [data] ssssssssss&sss&s s..}}}}..s..R..s s........s.....s s..TTTT..sssDsss s........s.....s ssssssss.s.....s s........^.....s ssss.sssss.....s s..T.T...s?....s sHHHHHHH}s.?...s sTTTTTTTTs..?..s sHHHHHHH}s.?...s s.T.T.T..s?....s ssssssssssss.sss s.b.b.b........s sT.b.b.b.......s s.b.b.b......T.s s..b.b.b....T..s s.b.b.b....T...s s..b.b.b.....#.s s.b.b.b....####s s!.b.b.b...''##s ssssssssssssssss ss......ssT...Ts s.}..%..s.s..}.s s..s..%.s..s...s s.......s...sT.s s....s..s....sDs s.....}.s?.....s s&.....ss&.....s ssssssssssssssss [additional] 14 10.0.&.2.0 14.0.&.1.0 3.1.}.1.0.1.0.0.0 4.1.}.1.0.1.0.0.0 5.1.}.1.0.1.0.0.0 6.1.}.1.0.1.0.0.0 9.6.^.0.0.0 8.9.}.2.0.2.0.0.0 8.11.}.2.0.2.0.0.0 2.24.}.0.0.2.0.0.0 13.24.}.0.0.0.0.1.1 6.28.}.3.0.2.0.0.0 1.29.&.2.1 9.29.&.1.1 [end] [offset] 5A8C [level] 6 [colour] [size] 16.31 [author] ROBOsoft [data] oooooooooooooooo oHHHHHHHHHHHHHHo oHHTHHH%%HHTHHHo oHHHHHTHH%HHHHHo oHHHHHHHHHHHHHHo o..............o o..............o o...........}..o o..............o ooooooooooooDooo o.....o.o......o o.....o.D..T...o o..%..o.o}..TTTo o....^o.o......o o...ooo.oooo...o o^ooo......ooooo o.D....R....D..o oooo......%ooo.o o!To......%o.o.o o..ooooDoooo.o.o o..*....o....D.o ooooooooooDo}ooo o.....o..#.#.#.o o...T...#.#.#.#o o.....o..#.#.#.o o.T.....#.#.#.#o o.....o..#.#.#.o o...T...#.#.#.#o o..^..o..#.#.#.o o.T.....#.#.#.%o oooooooooooooooo [additional] 7 12.7.}.3.0.0.1.0.0 9.12.}.0.0.2.0.0.0 5.13.^.1.0.0 1.15.^.1.0.0 3.20.*.0 12.21.}.3.0.1.0.0.0 3.28.^.3.0.0 [end] [offset] 5C8C [level] 7 [colour] [size] 16.31 [author] ROBOsoft [data] OOOOOOOOOOOOOOOO O..#...........O O.R'#.........#O O..#....*....#.O OOOOOOOOOOOO#..T OT%T.....V.O...O O%T%T......O...O OOOOOOO.OOOO...T O?.............O O.......O......O OOOODOOOOOOO}}}O OT.O.O.........} O..O...OOOODOOOO O..OOOOO.......O O##............O O@............@O O......OOO.....O O......O&O.....O O..............O O..............O OTOTOTOTOTOTOTOO OOTOTOTOTOTOTOTO O!.............O O..............O O..............O O....OOO&OOO...O O....}.....}...O O....OOODOOO...O O....O.....O...O O.^..O&....O..^O OOOOOOOOOOOOOOOO [additional] 14 8.3.*.0 12.10.}.3.0.1.0.0.0 13.10.}.3.0.1.0.0.0 14.10.}.3.0.1.0.0.0 15.11.}.2.0.1.0.0.0 1.15.@.0 14.15.@.1 8.17.&.2.0 8.25.&.1.0 5.26.}.0.0.1.0.0.0 11.26.}.2.0.1.0.0.0 2.29.^.3.0.0 6.29.&.2.1 14.29.^.3.0.0 [end] [offset] 5E8C [level] 8 [colour] [size] 16.31 [author] ROBOsoft [data] QQQQQQQQQQQQQQQQ Q.......Q......Q Q...R...Q...!..Q Q%............%Q QQQQQQQQ.QQQQQQQ -------Q.Q------ QQQQQQQQ.QQQQQQQ Q.......'......Q Q..............Q Q...@Q.....QT..Q Q...QQQ...QQQ..T Q...TQ.....Q@..Q T..............Q Q..............Q Q..............Q QQQQQQQQQQQQQQDQ QV.H.^H.^H.*H..Q QDQQQQQQQQQQQQQQ Q...........b..Q Q...TTTTTTT.b..Q Q............b.Q Q...Q@Q@Q@Q..bTQ Q...TQ.Q.QT..bTQ Q............b.Q Q...TTTTTTT.b..Q Q&..........b..Q QQQQQQQQQQQQQQQQ Q.....TQQ&.....Q &..T..Q.^Q..T..& Q......QQ......Q QQQQQQQQQQQQQQQQ [additional] 13 4.9.@.2 12.11.@.0 5.16.^.0.0.0 8.16.^.0.1.1 11.16.*.0 5.21.@.2 7.21.@.2 9.21.@.2 1.25.&.2.0 9.27.&.4.0 0.28.&.4.1 8.28.^.0.0.0 15.28.&.2.1 [end] [offset] 608C [level] 9 [colour] [size] 16.31 [author] ROBOsoft [data] PPPPPPPPPPPPPPPP P'.............P P..............P P.....PPPPPP...P P.....PTHTHPPPDP Pb..^.PHHHHPPT.P PHPPPPPTHTHPTP.P PbbbbHHHHHHP.P.P PPPPPPPPPPPPVP.P P....%...P.....P P........M...P.P M.....V..P....TP P....V...PPPDPPP P...V....P.....P P..V.....D.....P P.V.?....P...b.P P........P..?..P PPPPPPPPPP.....P P....P.........P P..T.P.........P P....P...'b#...P P...@P...b#....P PPPP&P...#.....P P.............}P P........PPPPPPP P........P%....P PPPPDPPPPP*....P P........P..!..P P.R..?...P*....P P........&....TP PPPPPPPPPPPPPPPP [additional] 9 4.5.^.3.0.0 9.10.M.2 0.11.M.0 4.21.@.2 4.22.&.3.0 14.23.}.2.0.1.0.0.0 10.26.*.2 10.28.*.1 9.29.&.2.0 [end] [offset] 628C [level] 10 [colour] [size] 16.31 [author] ROBOsoft [data] -.V.------------ --.--OOOOOOO---- -OOOOO.....O--.- -O&HbR..~..O--^- -OOOOO....?O--.- -----OOOOOOO---- -------------.-- -.^.----?---.*.- -------------.-- OOOOOOOOOOOOOOOO OTTTTT........?O O.....O}...T...O O^^^^^O...T.T..O O.....O}...T...O O^^^^^OOO......O O......'&......O O.....OOO......O O.....OOO......O O......TO.O?O..O O.....OOO.?!?..O O.....O...O?O..O O.....O........O O.....OOOOOOOOOO O.........O...#O O......#..D....O O.........O....O OOOOOOOOOOO..T.M O%....O....O...O &.....O...^.O..O O....^&......&.O OOOOOOOOOOOOOOOO [additional] 23 2.3.&.1.0 14.3.^.1.0.0 2.7.^.0.0.0 13.7.*.1 7.11.}.0.0.2.0.0.0 1.12.^.3.0.0 2.12.^.3.0.0 3.12.^.3.0.0 4.12.^.3.0.0 5.12.^.3.0.0 7.13.}.0.0.2.0.0.0 1.14.^.1.0.0 2.14.^.1.0.0 3.14.^.1.0.0 4.14.^.1.0.0 5.14.^.1.0.0 8.15.&.4.0 15.26.M.2 0.28.&.1.1 10.28.^.3.0.0 5.29.^.1.0.0 6.29.&.5.0 13.29.&.6.0 [end] [offset] 648C [level] 11 [colour] [size] 16.31 [author] ROBOsoft [data] ssssssssssssssss sR#.#........s&s s#.#H...HHH..sDs s.#.H...HTHH...s s#.#H.....TH*..s s.#......HHH...s s#.#H...HH%.*..s s.#.H....HHHH..s s#.#H..........s ssssssssssssssss s.T.~....^...bHs sssDss......bHbs s.b..sssssssHbHs s....s.....sssbs sssDss..#*..TsHs &....s......Ts!s s.T..sss.....sss s..T...ssss?ssss s....b.s...^...s s?}.#..sss.sssss s..............s ssssssssssssssss s}Ts?..........s s..s.....T.....s s..s....T.T....s s..D...T.^.T...s s..s....T.T..##s s%.s.....T.####s s..s.......#..#s s..s.......#.&#s s&ssssssssssssss [additional] 12 14.1.&.5.0 12.4.*.1 12.6.*.0 9.10.^.2.0.0 9.14.*.1 0.15.&.2.0 11.18.^.2.0.0 2.19.}.3.0.0.1.0.0 1.22.}.1.0.2.0.0.0 9.25.^.2.0.0 13.29.&.2.1 1.30.&.5.1 [end] [offset] 668C [level] 12 [colour] [size] 16.31 [author] ROBOsoft [data] oooo&ooooooooooo o.......##.....o o..T...##RT....o o.....b.##.....o M.b....##......o o...T...##.....o o......##......o o.......##.....o o..@...##...*.'o ooooDooooooDoooo o.......o......o o.......o......o o...^...o......o o.......o......o o.......o...@..o ooooDoooooo#o&oo o....o..T.o.o.To o....o.V..o.oT.o o....o.VV.o.o.To o.T..D.V..o.oT.o o...^oT...o.o.To o....o...?o.oT.o ooooooooooo.oooo oT...T.........o o..}...........o oT...T.oooo.oooo o......o--ooo-oo o...?..o------&o o......ooooooo.o o}.........%%o!o oooooooooooooooo [additional] 11 4.0.&.4.0 0.4.M.0 3.8.@.2 12.8.*.0 4.12.^.2.0.0 12.14.@.2 13.15.&.3.0 4.20.^.3.0.0 3.24.}.0.0.0.0.1.1 14.27.&.4.1 1.29.}.0.0.1.0.0.0 [end] [offset] 688C [level] 13 [colour] [size] 16.31 [author] ROBOsoft [data] pppppppppppppppp p'.....HVbVbVb!p p.~R...HbVbVbVbp p......HVbVbVbVp p&ppppppppppbppp p..H.^.HVH%pVbVp ppppppppppppbVbp p...D%.bVbVbVbVp p.T.p.*.b.bVbVbp p..'pppppppppppp }.........D....p ppppppppppp..b.p p...........b..p p.............^p pHHHHHHHHHHHHHHp pHHHHHHHTHHHTHHp pppDpppHHTHTHHHp p.....pHHHTHHH?p p.....pppppppppp p..........^..Tp p............}.p p%....pppppp..Tp p.?...D....ppppp p.....p........p ppppppp...T..T.p }..............p pppppppppp.....p p........p.??..p pT.......&.....p pT......*ppppppp pppppppppp------ [additional] 10 1.4.&.5.0 5.5.^.0.0.0 6.8.*.0 0.10.}.0.0.1.0.0.0 14.13.^.2.1.1 11.19.^.2.0.0 13.20.}.0.0.0.0.1.1 0.25.}.0.0.2.0.0.0 9.28.&.1.0 8.29.*.0 [end] [offset] 6A8C [level] 14 [colour] [size] 16.31 [author] ROBOsoft [data] OOOOOOOOOOOOOOOO O%....O.....D.'O O..*..D.....O%RO OOOOOOO.....OOOO O!.............O O.T.T.......O..O O..T.....T..O..O OOOOOO}..O..O..O O...TOOOOOOOO..O O...........O..O O.T.........^..O O..b...........O O....OOOOO.....O O....O...OOOOOOO O....D..b.HTHTHO O....O..#.HHTHHO OT.T.OOOOO}.V..O O....OO..OOV.V.O O....O....D.V.VO O....O....OOO&OO OT}.}O..T.O....O OOOOOO....O.%..O O.........O....O O.T.......O..@.O O....^....OOOOOO OOODOO.........O O....O.........O O.V..O...^.^...O O.TV.O....?....O O....O........TO OOOOOOOOOOOOOOOO [additional] 11 3.2.*.0 6.7.}.3.0.1.0.0.0 12.10.^.0.0.0 10.16.}.3.0.0.1.0.0 13.19.&.6.0 2.20.}.3.0.2.0.0.0 4.20.}.3.0.2.0.0.0 13.23.@.2 5.24.^.3.0.0 9.27.^.0.0.0 11.27.^.1.0.0 [end] [offset] 6C8C [level] 15 [colour] [size] 16.31 [author] ROBOsoft [data] PPPPPPPPPPPPPPPP PR.............P P..P......^P...P P..P.....^.P.'.P P..P....^..P.!.P P..P...^...P...P P..P..^....PPPPP P..P.^........TP P...^.........%P PDPPPPPPPPPPPPPP P.............TP P..............P P.....P*.......P P....PPP...P*..P P....TP...PPP..P P..........PT..P P...P%.TT......P P..PPP.........P P..@P...TPT....P P.......PPP....P P.......@.....TP PPPPPPPPPDPPPPPP P...........P%TP P...P.......P.VP P..TP..PPP..PP.P P.PPP...P*..PP.P P.........?....P P...........P..P PDPPP.PP.PPPPP.P P..TPTP}.......P PPPPPPPPPPPPPPPP [additional] 13 10.2.^.1.0.0 9.3.^.1.0.0 8.4.^.1.0.0 7.5.^.1.0.0 6.6.^.1.0.0 5.7.^.1.0.0 4.8.^.1.0.0 7.12.*.0 12.13.*.0 3.18.@.0 8.20.@.2 9.25.*.2 7.29.}.0.0.1.0.0.0 [end] [offset] 6E8C [level] 16 [colour] [size] 16.31 [author] ROBOsoft [data] pppppppppppppppp pR......^......p p.T....^.......p p.....^...pppp.p p....^....p}.p.p p...^.....p.'p.p p.%^......p.pp.p ppppppppppp..pDp p}....??.....p.p p..T..?......p.p p.T.T..........p p.........pppp&p p.........pT...p p.........p....& p.pp.#.~..p.^..p pTpp......pp&ppp pp.............p -ppppppppD..T..p -p}......D.....p -p.......p.....p -p....ppppppDppp -p....p@.@.@.@Tp -p.T..pT@.@.@..p -p....pppppppppp -p..p.p..p#...'p -p.....?.&#....p -p..p.p..p#....p -p&pp.pppppppp.p -p.b...b.p%..p%p -p...b...p!..&pp -ppppppppppppppp [additional] 23 8.1.^.1.0.0 7.2.^.1.0.0 6.3.^.1.0.0 5.4.^.1.0.0 11.4.}.0.0.0.0.1.1 4.5.^.1.0.0 3.6.^.1.0.0 1.8.}.1.0.2.0.0.0 14.11.&.5.0 15.13.&.4.0 12.14.^.1.0.0 12.15.&.6.0 2.18.}.0.0.2.0.0.0 7.21.@.2 9.21.@.0 11.21.@.0 13.21.@.0 8.22.@.2 10.22.@.2 12.22.@.2 9.25.&.2.0 2.27.&.3.0 13.29.&.4.1 [end] [offset] 708C [level] 17 [colour] [size] 16.31 [author] ROBOsoft [data] oooooooooooooooo o....o........Ro o...^&......}..o o.b..oo.b......o o....'ooooooDooo o.T...o....o...o o.b...o....o.?.o o....%o..o.o...o ooooooo..obD...} o.Tb..D..boooooo o...V.o....b.b#o ooooooo...b.b#Vo o....HH....boooo o...Tooooooob.bo o..T..........bb ooo............M o'o.oooDoo.ooooo o.oTo.........%o o.ooo...T....ooo o........T...oVo o............o.o oHo...oooooHoo~o o^o...ob.b.boobo oHo..#o.b.b.b.bo o.o...ob.bTb.b.o o@ooooo.b.b.b.bo oHoT.ToDoooooooo oVo......o..*.*o oHo.^....&....To o!o......o.....o ooooooo}oooooooo [additional] 12 4.2.^.1.0.0 5.2.&.1.0 12.2.}.0.0.0.0.1.1 15.8.}.2.0.0.0.0.0 15.15.M.2 1.22.^.3.0.0 1.25.@.2 12.27.*.2 14.27.*.0 4.28.^.3.0.0 9.28.&.5.0 7.30.}.3.0.1.0.0.0 [end] [offset] 728C [level] 18 [colour] [size] 16.31 [author] ROBOsoft [data] -.--oooooooooooo -.--}..T.......o -.--o..o..R....o -^--o........T.} -.--o.'..o&o.o.o ----o....o-o.%.o ----oooooo-o...o -----------ooooo ---------------- ----.V.V..------ ---------------- --oooooooo---ooo --o.o....o---o!o --o.o^....&--o.o --&.D....o---o&o --o.o....o------ --ooo&oooo------ ---------------- oooooooooooooooo o'o.......o....o oVH.......&.b..o o.o.......ob.b.o oHoooooo..oo...o o@o%oTTo...ooooo oHo.o..o.......o o^oDoDDo....?..o oHo....o...?...o T*o............o ooo............o &.D............} oooooooooooooooo [additional] 15 4.1.}.0.0.2.0.0.0 1.3.^.1.0.0 15.3.}.2.0.2.0.0.0 10.4.&.3.0 5.13.^.1.0.0 10.13.&.3.1 2.14.&.2.0 14.14.&.2.1 5.16.&.1.0 10.20.&.4.0 1.23.@.2 1.25.^.3.0.0 1.27.*.0 0.29.&.1.1 15.29.}.2.0.0.0.0.0 [end] [offset] 748C [level] 19 [colour] [size] 16.31 [author] ROBOsoft [data] ooooo}oooooooooo oT.....%o.T.T..o o.....ooo..T...o oT....oM.......o o.....ooo......o ooo.oooooooo#ooo o.......o......o o.T^....o......o oT.............o oT......o.^....o oooooooooooo&ooo oo......o......o oo......o......o oo..!...o..R...o oo......o......o oo.....*o@.....o oo*.*.*.o.@.@.@o ooooo&ooooo&oooo o..#....o......o o......?o......o o...T..oo......o o......o&......} o..~...oo......o o......?o......o o&oooooooooooDoo o.....T&o.%....o o.....T.oT.....o o...^.T.oT.....o o.....T.oT.....o o.....T.o......o ooooooooooooo}oo [additional] 21 5.0.}.1.0.1.0.0.0 7.3.M.0 3.7.^.1.0.0 10.9.^.3.0.0 12.10.&.4.0 7.15.*.3 9.15.@.3 2.16.*.0 4.16.*.0 6.16.*.0 10.16.@.2 12.16.@.2 14.16.@.2 5.17.&.1.0 11.17.&.2.0 8.21.&.3.0 15.21.}.2.0.1.0.0.0 1.24.&.6.0 7.25.&.3.1 4.27.^.0.1.1 13.30.}.3.0.1.0.0.0 [end] [offset] 768C [level] 20 [colour] [size] 16.31 [author] ROBOsoft [data] OOOOOOOOOOOOOOOO O............T.O O...T.......T..O O......^.......O O.......%%.....O O.........^....O O..............O OOO&OOO........O O.....O&......?O O.....OOOOOOOOOO O.........D....O O..TTT....OOOO.O O...T.....OT.O.O O........@O.bO.O O.@.@.@.@.O..D.O OOOOOOOOOOOb.O.O OT..TO.......O}O O.TT.O.......OOO O....O.........O O..^.DD........O OHHH#HOHHHHHHHHO OHHH#!O?H?H?H?TO OOOOOOOOOOOOOOOO O...........'R#O O.'.........##.O O.............VO OOOOODOOOOOOH..O OT.O..OTH^H*H..O O..D.^OOOOOOH..O O&.O.%O%H*H^H..O OOOOOOOOOOOOOOOO [additional] 17 7.3.^.0.0.0 10.5.^.2.0.0 3.7.&.1.0 7.8.&.2.0 9.13.@.1 2.14.@.2 4.14.@.2 6.14.@.2 8.14.@.2 14.16.}.3.0.1.0.0.0 3.19.^.0.1.1 9.27.^.0.0.0 11.27.*.0 5.28.^.1.0.0 1.29.&.2.1 9.29.*.0 11.29.^.2.0.0 [end] [offset] 788C [level] 21 [colour] [size] 16.31 [author] ROBOsoft [data] sssss..sssssssss s.............!s s......ssssss..s s.TTT..s....s..s s......s..s.s..s sM.'...s..sVs..s s......s..s%s..s s.....#s..sss..s s.............Rs ssssssssssDsssss s&...&s...^....s sssssss&ssssssss s....}.........s s.%............s s............T.s sM..........T.^s s..........T...s s..............s sssssssssDssssss s.............?s s.^...........ss s...........Ts's s..sssT....Ts..s s....ssT...s...s s.s..&ss.}s....s ssssssssss.....s sHHHHTHHHs..}..s sHTHTHTHHs.....s sTHTHHHTHs.....s sHTHHHHHTH....&s ssssssssssssssss [additional] 13 1.5.M.0 1.10.&.1.0 5.10.&.6.0 10.10.^.2.0.0 7.11.&.5.0 5.12.}.1.0.1.0.0.0 1.15.M.0 14.15.^.1.0.0 2.20.^.1.0.0 5.24.&.1.1 9.24.}.3.0.2.0.0.0 12.26.}.0.0.0.0.1.1 14.29.&.6.1 [end] [offset] 7A8C [level] 22 [colour] [size] 16.31 [author] ROBOsoft [data] ssssssssssssssss s&s............s sDs..........T.s s....!......R.Ts s...b........T.s s..............s sssssss..sssssss s.....s..s.....s s.....s..s...T.s s..T..s..D..T.^s s.....D..s..T..s s..T..s..s.T...s s....*s..s....^s sssssss^^sssssss s&............&s s..............s s......TT......s s..............s ssssssssssssssss s......s......Ts s.T...}s.~.....s s..ss..s&..b...s s}...T.ss.b.b..s s......&s..b.#.s s.......s......s s.......s......s s...^...ssssDsss s..T.T..s......s s.T.%.T.s.%...}s s.......s...T..s ssssssssssssssss [additional] 14 1.1.&.2.0 14.9.^.0.0.0 5.12.*.0 14.12.^.3.0.0 7.13.^.1.0.0 8.13.^.1.0.0 1.14.&.1.0 14.14.&.4.0 6.20.}.2.0.2.0.0.0 8.21.&.4.1 1.22.}.0.0.2.0.0.0 7.23.&.1.1 4.26.^.2.1.1 14.28.}.2.0.2.0.0.0 [end] [offset] 7C8C [level] 23 [colour] [size] 16.31 [author] ROBOsoft [data] pppppppppppppppp pHHpVVVp.....T&p pHppVVVp.T.....p pH!pVVVp.'.....p pHppVVVp.%.....p pH.....p.......p ppppDpppppppp}pp p..........##ppp pT.........#.p'p pT.....~....bD.p p............p.p pppppppppppppp&p &pp............p DTp............p RTp............p &pp.*.*.*.*.*..p ppppppppDppppppp p..T...........p p.............Tp pT.}.Tpppppp.T.p p.....pT.T.pT..p p..T..p.T.Tp...p ppppppp........p p..........p...p p.........^p...p p.ppp.p....p}}}p p.....p....ppppp p..?..p....%.%.p p.....p..VV.T.Tp p....&p........p ppppppppppp}p}pp [additional] 18 14.1.&.2.0 13.6.}.3.0.2.0.0.0 14.11.&.5.0 0.12.&.1.0 0.15.&.2.1 4.15.*.0 6.15.*.0 8.15.*.0 10.15.*.0 12.15.*.0 3.19.}.0.0.0.0.1.1 10.24.^.2.0.0 12.25.}.3.0.1.0.0.0 13.25.}.3.0.1.0.0.0 14.25.}.3.0.1.0.0.0 5.29.&.1.1 11.30.}.3.0.1.0.0.0 13.30.}.3.0.1.0.0.0 [end] [offset] 7E8C [level] 24 [colour] [size] 16.31 [author] ROBOsoft [data] ooooooooooooo&oo oT''b....o....!o oT..b..V.o.^...o o.R.b....oT....o o...b.bbbooooooo obbbb........b.o o......T.....b.o o.bbbbbbbb...b.o o.b.....b.b..b.o o.b..T..bV.b.b.o o.b....bb.V.bb.o o.bbbbbbbbbbbb.o o.b............o oVb.&..bbbbb.b.o o.b....bbbbb.b.o o.bbbbbbb..b.b.o ob...bb....bbb.o ob.Vb.....V.bb.o obbbbbbbbb..bb.o obb.b....bbbbb.o o.b.b.bb.....b.o o.b.b..b.....bbo o.b.bbbbbbbbbbbo o.bbb....bbb...o o..b..b.b..bbbbo o..b..bbb..b...o obbbbb.....b.T.o oooooooooooooooo o....&..^..o...o &..^.o.....&...& ooooooooooooo}oo [additional] 10 13.0.&.1.0 11.2.^.3.0.0 4.13.&.6.0 5.28.&.3.0 8.28.^.3.0.0 0.29.&.6.1 3.29.^.3.0.0 11.29.&.2.0 15.29.&.1.1 13.30.}.3.0.1.0.0.0 [end] [offset] 808C [level] 25 [colour] [size] 16.31 [author] ROBOsoft [data] oooooooooooooooo o.....^........o o........oooHooo o...HHHHHo.....o o...HTHTHo.....o oooHoooooo..T..o o....o&..~.....o &....o...~.*.*.o oooooooooooooooo o..H........o.To o.Vo........o?.o oV.o........o*.o oTVo..o#o...oHoo oooo..oRo@....'o o.....ooo.....'o &.............'o o.............oo o..............o o.oooo.oooo.%..M oT.*..ToT.D....o oooooooooooooooo oTo.oTo@o*o....o o.o*oVo.o.o....o o*H.o.o*oVH....o o.o.o.H.o.o#.#.o oVo^o*oVo^o''#.o o.o.o.o.o.o###.o o^oVH^o^H*o....o o.o.o.o.o.o....o o!o.o@oToTo....o oooooooooooooo&o [additional] 24 6.1.^.0.0.0 6.6.&.1.0 0.7.&.3.0 11.7.*.0 13.7.*.0 13.11.*.0 9.13.@.3 0.15.&.1.1 15.18.M.2 3.19.*.0 7.21.@.0 9.21.*.2 3.22.*.3 1.23.*.3 7.23.*.3 3.25.^.1.0.0 5.25.*.3 9.25.^.1.0.0 1.27.^.1.0.0 5.27.^.1.0.0 7.27.^.1.0.0 9.27.*.3 5.29.@.2 14.30.&.3.1 [end] [offset] 828C [level] 26 [colour] [size] 16.31 [author] ROBOsoft [data] QQQQQQQQQQQQQQQQ QR.!Q@.@.@.@.@.Q Q...Q.........@Q Q.~.Q..........Q Q...Q....TT....Q QHQQQ..%'......Q Q..............Q Q........QQQ&QQQ Q........Q.....Q QQQQQQQQQQ.....Q Q...HV.V.H.....Q QT.TH.V.VH...*.Q Q.T.QQQQQQQQQQQQ M...QT........^Q Q...Q.T....Q..QQ Q...Q.........TQ Q...QQQQQQQ&QQQQ Q.}#Q&QQQQQQQQQQ Q..#HTHHHHTHHTHQ Q..#HHTHHTHHHTHQ Q..#HHHHHHHHHHHQ Q..#......}...QQ Q..#..........'Q QQQQQQQQQQQQQQ&Q Q......Q...#.#.Q Q..TT..&..#.#..Q Q.....@QQ#.#.#.Q QQQQDQQQQQ#.#.#Q Q?.....T.QQ#.#.Q Q?....T.TQQQ#Q#Q QQQQQQQQQQQQQQQQ [additional] 17 5.1.@.0 7.1.@.0 9.1.@.0 11.1.@.0 13.1.@.0 14.2.@.1 12.7.&.2.0 13.11.*.0 0.13.M.0 14.13.^.2.1.1 11.16.&.4.0 2.17.}.3.0.1.0.0.0 5.17.&.4.1 10.21.}.3.0.0.1.0.0 14.23.&.6.0 7.25.&.5.0 6.26.@.2 [end] [offset] 848C [level] 27 [colour] [size] 16.31 [author] ROBOsoft [data] PPPPPPPPPPPPPPPP P.~.bVbVbVbVb.*P PR.~.bVbVbVb.*%P PPDPPPPPPPPPPPPP P.....'-....PT.P P.....--....P..P P.....-b....PP!P P.PPPPPP.......P P...^..P...^...P P......PPPPPP..P P..............P PHPPPPPPPHP####P P...TP....P....P &..P^P.T?.PT..TP P..P.P.?T.P....P P...TP....P....P PPPPPPPPPPPP}}&P T..............P P..............P P*.*.*.*.*.*.*.P PPPPPPPPPPPPPPPP ---------------- -.V.------------ -.---..--.--..-- -V.--.@--^--.@-- -.-------------- -.V.---.*..----- ---------------- PPPPPPPPPPPPPPPP P.*PT.........&P PPPPPPPPPPPPPPPP [additional] 22 14.1.*.0 13.2.*.0 4.8.^.2.0.0 11.8.^.2.0.0 0.13.&.6.0 4.13.^.3.0.0 12.16.}.3.0.2.0.0.0 13.16.}.3.0.2.0.0.0 14.16.&.3.0 1.19.*.0 3.19.*.0 5.19.*.0 7.19.*.0 9.19.*.0 11.19.*.0 13.19.*.0 6.24.@.2 9.24.^.1.0.0 13.24.@.2 8.26.*.0 2.29.*.0 14.29.&.6.1 [end] [offset] 868C [level] 28 [colour] [size] 16.31 [author] ROBOsoft [data] PPPPPPPPPPPPPP&P P.HTPVHTP.HTP..P PVP^P.P.PVP^P..P P.PVP^P.P^P.P..P P.P.P.P^P.PVP..P &%P.HTPVHTP.H..P PPPPPPPPPPPPPPPP P''H..........RP P''H..PPP*.....P PHHH..P&P......? P....*PDP...!..P P..............P M..b........bHHP P...}.~......H'P PPPPPPPPPPPPPPPP P&.P......HVVVVP P..P......PPPPTP P..D....^....PPP P..P...........P PPPP...........P PHHHHHHHHHHHHHTP PHHTHHHH^HHHHHHP PHHHHHHHHHHHHH}P PHHPPPPHHH^HHHHP PTHHH}PHHHHHHHHP PHHHHHPHHPPPHTHP PHHHHHPHHHHHHHHP P}HHHHPTHHHHHHHP PHHHTHPHHHHHHHHP P}HHHHHHHH}HHHHP PPPPPPPPPPPPPPPP [additional] 21 14.0.&.1.0 3.2.^.1.0.0 11.2.^.1.0.0 5.3.^.1.0.0 9.3.^.1.0.0 7.4.^.1.0.0 0.5.&.2.0 9.8.*.1 7.9.&.1.1 5.10.*.3 0.12.M.0 4.13.}.3.0.1.0.0.0 1.15.&.2.1 8.17.^.0.1.1 8.21.^.2.0.0 14.22.}.1.0.1.0.0.0 10.23.^.1.0.0 5.24.}.1.0.1.0.0.0 1.27.}.0.0.2.0.0.0 1.29.}.0.0.0.0.0.0 10.29.}.3.0.2.0.0.0 [end] [offset] 888C [level] 29 [colour] [size] 16.31 [author] ROBOsoft [data] pppppppppppTpppp p.RpT}pTTHHHHHH} p.pp%.p}HHHHHTTp p.pp'.pHHHHHHHHp p.p.p.pTTHHHHH}p p.p...ppppppHHHp p.p........&...p p.pppppppppp...p p..............p p....?.?.?.....p p}.............p ppppppppppp..p.p pHHHHHHHH!p.p*.p pHHHHTHHHHp....p pHHHTHHHppp....p pHHTHHppp'}####p p.pppppT...p...p p.pTp.^.T..p...p p.p.pppppp.p...p p.p...V..p.M.T.M p.p..VVV.p.p...p p.p..VVV.p.p...p p.p}.....p.p...p p&pppp&pppDp###p p...p..p...^...p p...p..pp......p p...p...p......p p..@p..^^......p ppp&ppppppppD..p }...........Dbbp ppppppppppppDppp [additional] 20 5.1.}.1.0.2.0.0.0 15.1.}.2.0.0.0.0.0 7.2.}.0.0.0.0.0.0 14.4.}.2.0.0.0.0.0 11.6.&.1.0 1.10.}.3.0.1.0.0.0 13.12.*.2 10.15.}.1.0.1.0.0.0 6.17.^.2.0.0 11.19.M.0 15.19.M.2 3.22.}.3.0.1.0.0.0 1.23.&.3.0 6.23.&.6.0 11.24.^.0.0.0 3.27.@.2 7.27.^.2.0.0 8.27.^.2.0.0 3.28.&.2.0 0.29.}.0.0.1.0.0.0 [end] [offset] 8A8C [level] 30 [colour] [size] 16.31 [author] ROBOsoft [data] OOOOOOOO!OOOOOOO }......TRT.....} OOOOOOOO.OOOOOOO O&............&O OOOOOOOOOOOOOOOO O&.O.%O&.O.%O&.O O..O..O..O..O..O O..O..O..O..O..O O..O..O..O..O..O O..O..O..O..O..O O.TO&.O.TO&.O.TO OOO}}}}OOOOOOOOO O&......O.....&O O.......O.TT...O O......TO......O OOOOOOOOVOOOOOOO O.....?.O......O O.'..?'?O..^.T.O O.....?.O......O O&......O.....&O OOOO&OOOOOODOOOO O........O.....O O.....T..O..b..O O.**.....O.....O OOOOOOOOOOOOOO.O OT#b*bb^bb@bbbTO OOOOODOOOOOOOOOO O.........T.OT.O O.TVVVVVV...O..O O.........T.D..O OOOOOOOOOOOOOOOO [additional] 24 0.1.}.0.0.2.0.0.0 15.1.}.2.0.2.0.0.0 1.3.&.2.0 14.3.&.1.0 1.5.&.2.1 7.5.&.2.2 13.5.&.2.3 4.10.&.1.1 10.10.&.1.2 3.11.}.1.0.1.0.0.0 4.11.}.1.0.1.0.0.0 5.11.}.1.0.1.0.0.0 6.11.}.1.0.1.0.0.0 1.12.&.1.3 14.12.&.2.4 11.17.^.1.0.0 1.19.&.2.5 14.19.&.1.4 4.20.&.6.0 2.23.*.0 3.23.*.0 4.25.*.0 7.25.^.0.0.0 10.25.@.2 [end] [offset] 8C8C [level] 31 [colour] [size] 16.31 [author] ROBOsoft [data] OOOOOOOOOOOOOOOO O.............}O O..OOOO.?.?..O.O O..OT'%....}O..O O..OOOOOOO#O...O }.........&..%RO O..OOOOOOO#O...O O..OT'%....}O..O O..OOOO.?.?..O.O O.............}O OOOOOOOODOOOOOOO O}....T...T...}O OOOOOOOODOOOOOOO O......O......TO O.OOOO.O..OOO..O O.O^.%.D..O^O..O O.OOOO.O..O.O..O O..@...O..OOO*.O O......Ob......O OT....TOT.....TO OOOOOODOOOOOOOOO O.H.....'HV.H.TO O^OOOOOOOOOOOOHO O'O.H.T..H'.*..O OHO.OOOOOOOOOOOO O.OVO^H.T.H...VO O@O.O.OOOOOOOOHO OHOHOHOVH^.H'T.O OVO.O^OTOOOOOOOO OTOTH.O.H^H^H.!O OOOOOOOOOOOOOOOO [additional] 20 14.1.}.2.0.2.0.0.0 11.3.}.2.0.0.0.0.0 0.5.}.0.0.1.0.0.0 10.5.&.1.0 11.7.}.2.0.0.0.0.0 14.9.}.2.0.2.0.0.0 1.11.}.0.0.2.0.0.0 14.11.}.2.0.2.0.0.0 3.15.^.0.0.0 11.15.^.1.0.0 3.17.@.0 13.17.*.1 1.22.^.3.0.0 12.23.*.0 5.25.^.3.0.0 1.26.@.2 9.27.^.2.0.0 5.28.^.3.0.0 9.29.^.2.0.0 11.29.^.2.0.0 [end] [offset] 8E8C [level] 32 [colour] [size] 16.31 [author] ROBOsoft [data] PPPP&PPPPPPPPPPP PR...PT.......!P P....D.........P PPPDPPT....}...P P....PPP.......P P....P.D.......P P..?.P.PPPP?T??P P.?..P..VTPTTTTP P....P.VV.PPPPPP P....P.V.TP&...P M....MPPPPP....P P.......TPPPPP%P P........P...P.P P.....^..P...P.P P....^..TP..#P.P PDPPPPPPPP...P.P P..P}....&...P.P P..P.}...PPPDP&P P.TP.....P.....P PTTPT....P@.TT.P PT.P.T...P.....P PPPPPP&PPP@.TT.P P.*.*....P.....P P*.......P@.TT.P P........P.....P P*.%%....P@.TT.P P..%%....P.....P P*.......P@.TT.P P........P.....P P*.*.....P@....P PPPPPPPPPPPPPPPP [additional] 25 4.0.&.1.0 11.3.}.0.0.0.0.1.1 11.9.&.1.1 0.10.M.0 5.10.M.2 6.13.^.3.0.0 5.14.^.3.0.0 4.16.}.1.0.2.0.0.0 9.16.&.6.0 5.17.}.1.0.2.0.0.0 14.17.&.2.0 10.19.@.3 6.21.&.3.0 10.21.@.3 2.22.*.2 4.22.*.2 1.23.*.1 10.23.@.3 1.25.*.1 10.25.@.3 1.27.*.1 10.27.@.3 1.29.*.0 3.29.*.0 10.29.@.2 [end] gnurobbo-0.66+dfsg/data/levels/robbo2009.dat0000644000175000017500000004305211306516562017563 0ustar stevesteve[name] Robbo2009 [last_level] 19 [notes] This is robbo 20 years levels file some changes had to applied. I noticed, that level 15 is either buggy, or incorrectly converted, so I removed it, so the game is possible to walk through. [offset] 508C [level] 1 [colour] 78c67f [size] 16.31 [author] _Happy Birthday Robbo by: Lukas Bezdek [data] qqq}qqq}qqq}qqqq q..............q q.R#...#...#...q q..............q .--.---.---.---. ..-.-.-.-.-.-.-. .--.-.-.-.-.---. .-..-.-.-.-..T-. .--.---.---.---. q..^...........q q.qq#qqqqq.q.q~q qVTq.....b.q#qqq qqqT.qT.~qqq..%q q..#.bqq..T.~q}q q.qqqqqT~qqq...q q....^.....&q..M q.q#.qqqqqqqT~.q q.......D......q qqqHq~q~qqqqq.qq q........##....q q.}.q&qqqbq.}&.q q.q.....+q....qq q..qDqqqq..b.qq- q~.q...TqT.?qq-- q%.#qqqqTq%qq--q qb...^...Hqq--qq qqqq#.q.&q---q}q q!..qT..q--qq^.& qqDq&q.qq-q.?q&q -q.}...q--q.HT.q -qqqqqqq-qq&qqqq [additional] 21 3.0.}.1.0.0.0.0.0 7.0.}.1.0.0.0.0.0 11.0.}.1.0.0.0.0.0 3.9.^.0.1.1 14.13.}.1.0.2.0.0.0 5.15.^.2.1.1 11.15.&.2.0 15.15.M.2 2.20.}.0.0.0.0.1.1 5.20.&.1.0 12.20.}.0.0.0.0.1.1 13.20.&.1.1 5.25.^.2.0.0 8.26.&.2.1 14.26.}.1.0.2.0.0.0 13.27.^.1.0.0 15.27.&.2.2 4.28.&.3.0 14.28.&.3.1 3.29.}.3.0.0.1.0.0 11.30.&.1.2 [end] [offset] 528C [level] 2 [colour] 7176a9 [size] 16.31 [author] Lukas Bezdek [data] qqqqqqqq&qqqqqqq q.....q....%%%%q q.q'q.q#q~Tqqq#q q*qHq.#~b##H.q#q q.....qbq~..q.Tq qDqqqqqbqqqqqDqq q....H.........M qDqq.qqqqDq.qqqq qHHq..q...q....- q'Hq..D.%TqTT-.- qqqq.qqqqqq-qq.q ----.-------q.^q ----..^.----q^.q qqqq.qqqqqqqqq.q q%Tq.....TTqV..q qT.D...}q.Tq..Vq qqqqqqqqq..q.V.q --------qq.q.qqq ...T------.-.--- .qqqqqqqq-.-.--- .q'H..D....-.--- .qH!..q.q---.--- .q...Tq.qqqq.qqq .qqqDqq.qT.q.#.q .q~bb~q.q.}q.#Tq .Db~~~q.H..H.#.q -qqqqqq.qqqqTqqq -q....D.D.T~q.%q -q@T%.q.q.#q%.qq -q....q.qR...H&q -qqqqqq}qqqqqqqq [additional] 11 8.0.&.1.0 1.3.*.2 15.6.M.2 14.11.^.0.0.0 6.12.^.0.1.1 13.12.^.0.0.0 7.15.}.2.0.1.0.0.0 10.24.}.3.0.0.1.0.0 2.28.@.2 14.29.&.2.0 7.30.}.0.0.0.0.1.1 [end] [offset] 548C [level] 3 [colour] a98058 [size] 16.31 [author] Lukas Bezdek [data] qqqqqqqqqq------ &.....TRH&------ q..^..qqqq----q- q...^.q--------- q....^q--------- qqqqqqq--------- ---------------- ------------qqqq ------------&.Hq -qq-----qqqqq.Hq -qq-----q.....Hq --------q.HHHHHq --------q.HVVVVq --------q.HVVVTq qqqqqq--q&qqqqqq &.T.@.q--------- q..qqq---------- qT.&------------ q.qq------------ q*q---qqqqqq---- q.q---&.##.q---- -q----q##..qqqqq ------q.#####.'q ------q........q --q---qqqqqqqqqq ---------------- ---------------- qqqqqqq--------- q'TTT@q-----qq-- &.!...q-----qq-- qqqqqqq--------- [additional] 14 0.1.&.1.0 9.1.&.4.0 3.2.^.1.0.0 4.3.^.1.0.0 5.4.^.1.0.0 12.8.&.1.1 9.14.&.2.0 0.15.&.2.1 4.15.@.2 3.17.&.3.0 1.19.*.2 6.20.&.3.1 5.28.@.2 0.29.&.4.1 [end] [offset] 568C [level] 4 [colour] 719d8d [size] 16.31 [author] Lukas Bezdek [data] ~~######~#####~~ #R........D.%%%~ ##~#~D###D##~~## #......~....#.## #.bbb..........# ~.#.b.@####~#..~ #.~.b..~....~..# #.#.b.@#.TT.#..# #.#.b..#....#..# #.~.b.@##~###..# #.~............# ##~..~~HHHH.~..# ~##..~...H~###.~ #T#T#~#..H%.~..~ ##~~##~#.H..#..# #......#.D..~.## ~.#~~~.#.HHHH..# #..#...D.......# #.~..~.#######~~ #...#..........~ ##~~##~~~#~#D### #TTT.........### #.#...##.#..#~#~ #...#.....####~# ##.#..#..#~~~#~# #......####~#### ##D#~###~~##~~~# ##D###~~######## ~#.#.DDDDDDDD..# #T.V.##~~#~##.!# ~###~####~~~#### [additional] 3 6.5.@.2 6.7.@.2 6.9.@.2 [end] [offset] 588C [level] 5 [colour] b2b05f [size] 16.31 [author] Lukas Bezdek [data] qqqqqqqqqqqqqqqq q.........#....q q*q.qTq..#.qRq.q q..............q q.q..*q.b.q..qqq qTqT..........%q qqqqqqqq..~.q.qq qTqTqTq........q qTq}q}q...^....q q.......#.#.#.#q q+q}q}q........q qqqqqqqqqqq&qqqq q.'~MVM~..#...#q qDqqqqqq.#.##.#q q.!q---q.##.##.q &..q---q##.....q qqDq---qqq#D###q q..qqq---q.....q q.##.q---q###D#q q.##.q---q.....q q....qqqqq#D###q q.~............q q..#.qqqqqqqqqqq q.....q........q qqq...q....#...q q.....T..@qqqq.q q...qqq...qT...q qTq...........#q q.q...#qq....b#q q}q#........###q qqqqqqqqqqqqqq&q [additional] 14 1.2.*.2 5.4.*.2 3.8.}.0.0.0.0.1.1 5.8.}.0.0.0.0.1.1 10.8.^.0.0.0 3.10.}.0.0.0.0.1.1 5.10.}.0.0.0.0.1.1 11.11.&.1.0 4.12.M.0 6.12.M.2 0.15.&.2.0 9.25.@.2 1.29.}.3.0.0.1.0.0 14.30.&.2.1 [end] [offset] 5A8C [level] 6 [colour] 77a4ac [size] 16.31 [author] Lukas Bezdek [data] qqqqqqqq~~~~~~~~ q...D.Tq~TTT&q.~ }...~..q~...!..~ q..~~~.q~qqqqb.~ q.T~~~Rq~......~ q.~~~~~q~q.qqq.~ q......q~..qqb.~ q.^...^q~.qq}..~ qb~~~~.q~.q&qqq~ q~~%~~.q~.q...q% q~~~~~.q~...T.q~ qT...DTq~..T~..~ q....qqq~@q&qq.~ q.T~...q~.q....~ q.~~~~.q~.qT.T.~ q.~~~~.q~@&~.q^~ q@~T~..q~.q..q.~ q......q~.....T~ q...T..q~}.qqqb~ q~~~~~~q~..D.qq~ q......q~T.q...~ M.T....q~q&..T.~ q......H~..q...~ q..#...q~.}q^..~ M......q~.TD...~ q}}..}}q~qqqqq.~ q......DD......~ q.~~~~~q~D~D~~~~ q~.~..~q~.~.~T&~ q~.%~%~q~'~T~..~ qqqqqqqq~~~~~~~~ [additional] 23 12.1.&.2.0 0.2.}.0.0.0.0.0.0 2.7.^.2.0.0 6.7.^.1.0.0 12.7.}.0.0.0.0.0.0 11.8.&.2.1 9.12.@.2 11.12.&.3.0 9.15.@.2 10.15.&.1.0 14.15.^.0.1.1 1.16.@.2 9.18.}.1.0.0.0.0.0 0.21.M.0 10.21.&.6.0 10.23.}.2.0.0.0.0.0 12.23.^.0.0.0 0.24.M.0 1.25.}.3.0.2.0.0.0 2.25.}.3.0.1.0.0.0 5.25.}.3.0.1.0.0.0 6.25.}.3.0.2.0.0.0 14.28.&.4.0 [end] [offset] 5C8C [level] 7 [colour] 819663 [size] 16.31 [author] Lukas Bezdek [data] qqq&qqqqqqqqqqqq qT~~qR...~~~~T~q q~~.qq.##%~~~~~q q..#.#.#.q...#.q q.q#.#'..#.#.b#q q.#..#q.b.#.q..q q..q..&q..#...~q q.b...#.qq##.~~q q...#.......~~Tq qqqqqqqqqqqqqqqq ---------------- HHHHHHHHHHHHHHHH ---------------- -qq-qqq-qqq-qqq- --q-q-q-q-q-q-q- -qq-q-q-q-q-qqq- -q--q-q-q-q---q- -qq-qqq-qqq-qqq- ---------------- HHHHHHHHHHHHHHHH ---------------- qqqqqqqqqqqqqqqq q&qT#Tq.^...q!Tq q.q.&.q.#q&.q?Vq q.^.qDq.q%q.#q.q q.q.q..Tq.q.q..q qTq.&.qq&..^#Hqq q%q.....qTq.qT.q qq#qqq^#qq#.qqDq &...D...'Tq.D..q qqqqqqqqqqqqqqqq [additional] 12 3.0.&.4.0 6.6.&.5.0 1.22.&.3.0 8.22.^.0.0.0 4.23.&.2.0 10.23.&.6.0 2.24.^.0.1.1 4.26.&.1.0 8.26.&.2.1 11.26.^.1.0.0 6.28.^.1.0.0 0.29.&.4.1 [end] [offset] 5E8C [level] 8 [colour] 9551b9 [size] 16.31 [author] Lukas Bezdek [data] qqqqqqqqqqq----- q.......##qqqqqq q@q.q~.#.#q&.~%q q.qTT..##.D.~Tbq q.qqqq.#.Rq~TbVq q.Tq%q.qqqqqqqqq q..DTq.q-------- q..qqq.q-------- qq.qT..q-qqqqq-- -q.qT..q-q%.~qqq -q.qqq.q-q&T..~q -q@T.q.qqqqq...M -q.......T&&...M -qqq.~.b.qqq...M ---qqq...qb~...M -----qq~.q.~..~q ------qq.qDqq}qq -------q.q....%q -------q.q.&q~.q -------q.q..q.~q ----qqqqDqqDq!.q ----q.......qqqq ----q*TTTTT.q--- ----q.T#.#T.q--- ----q.T.#.T.qqq- ----&.T#%#T...q- ----q.T.#.TTT.q- ----q.T#.#.bT.q- ----q*TTTTTTT.q- ----q.........q- ----qqqqqqqq&qq- [additional] 16 1.2.@.2 11.2.&.5.0 10.10.&.4.0 2.11.@.2 15.11.M.2 10.12.&.4.1 11.12.&.2.0 15.12.M.2 15.13.M.2 15.14.M.2 13.16.}.3.0.1.0.0.0 11.18.&.3.0 5.22.*.2 4.25.&.1.0 5.28.*.2 12.30.&.6.0 [end] [offset] 608C [level] 9 [colour] 6d61b1 [size] 16.31 [author] Lukas Bezdek [data] qqqqqqqqqqqqqqqq qR......bbbqT^Tq qqqqTT~.#.bqM..q ---q%qqDq^bqM.Tq ---qqqb^bbbqM..q ---q#b^bqqqqM.Tq --qq@..........q -qq..QqqQQQq.?#q qq..q.....Tq.#%q q..QT.....#Q.D%q q.#q..*&..qM...q q..Q......#q.T.q q#.Q......TQ.?.q qT.q.qQQqqQQ..~q q#.q.D.......T.q qT.q.QT#~T~#.}.q q#.Q.Qqq&Qqq.T.q q..Q.T.&.&.M.}.q q.#qqQqq&qTQ...q q.Q&..#QQqQq.T.q q.q}T.===+!q...q q..qQqQQqqQQ..Tq qq...@#...#..qqq -q.T#...#...TTq- --DQQQQQ#QQQQQq- ...Q!.#..Q%.#Qq- .-qQ###..Q.#TQq- .-qQ.^..#Q#.#Qq- .-qQQ#.#....!Qq- %-qqQQQQQQQQQQq- T--qqqqqqqqqqqq- [additional] 23 13.1.^.0.0.0 12.2.M.0 9.3.^.2.0.0 12.3.M.0 7.4.^.0.0.0 12.4.M.0 6.5.^.0.0.0 12.5.M.0 4.6.@.2 6.10.*.2 7.10.&.2.0 11.10.M.0 13.15.}.3.0.1.0.0.0 8.16.&.2.1 7.17.&.3.0 9.17.&.3.1 11.17.M.0 13.17.}.3.0.2.0.0.0 8.18.&.1.0 3.19.&.1.1 3.20.}.0.0.0.0.0.0 5.22.@.2 5.27.^.0.0.0 [end] [offset] 628C [level] 10 [colour] a28352 [size] 16.31 [author] Lukas Bezdek [data] qqqqqqqq======== q.....+q=qqqq=== q.qqq.~q=q%.q=== q*qT...q=q..q=== q.qq..Rq=q#.qq== q....qqq=q#!#q== q^...q===q###qqq qq.q.q===q.....& =q.qTq===qq}q.qq =q.T.q======q.q= qq.q.qqqqqq=q.q= q...^..%T'q=q.q= q.qqqqqqqqq=q.q= qHq=========q.q= qTq===qqqqqqq.q= qHq===q''''DD.q= qTq===qqqqqqq.q= qHqqq======Tq.q= qT&Tq=====qqq.qq q.qqq=====q...#q q^q===qqqqq.##Tq q.q===q&.^...T.q q^q===qqqqqqq..q q.q========Tq.#q q^q====qqqqqq#.q q.q====q..#....q q^q====q..qqq..q q.qqTqTq.bq=q..q qbbqqqqq.Tqqq#.q qqbbbbb#..#....q =qqqqqqqqqqqqqqq [additional] 12 1.3.*.2 1.6.^.0.1.1 15.7.&.2.0 11.8.}.3.0.1.0.0.0 4.11.^.0.0.0 2.18.&.1.0 1.20.^.1.0.0 7.21.&.2.1 9.21.^.0.0.0 1.22.^.1.0.0 1.24.^.1.0.0 1.26.^.1.0.0 [end] [offset] 648C [level] 11 [colour] 7accb0 [size] 16.31 [author] Lukas Bezdek [data] qqqqqQQQQqqqqqqq q~.~qqqqqq...D.q q.~.#...~..qqq&q q~..~..b.~.qQq.q q..~qqqq%..qQqTq q.~.qQQqqqqqQq!q q~..qQQQQQQQQq.q qR.~qQHHHHHQqq&q qqqqqQH..*HQq}.q QQQQQQH.!.HQqT.q HHHHHHH*..HQq%Tq HHHHHHHHHHHQq.qq QQHHHQQQQQQQq@qQ QQHHHQQQqqqQq.qQ QqqDqqqqq^qqq.qQ Qq...~.~......qQ Qqb.....~~.qqqqQ Qq~T~..~.~.qQQQQ Qq.#~TqqqqqqqqqQ Qq..~q====q''.qQ Qq&.q======q..qQ Qq&.q======q##qq QqqDq=====q....q Qq..qq===qq@%q.q QM...&qqqq.....q Qq...}q%TD.qqqqq QM...&q?qq.q--qQ Qq.q.qqqqT.q--qQ D...^......qqqqQ QqqqqqqqqqqqQQQQ QQQQQQQQQQQQQQQQ [additional] 16 14.2.&.1.0 14.7.&.1.1 9.8.*.2 13.8.}.1.0.0.0.0.0 7.10.*.2 13.12.@.2 9.14.^.2.0.0 2.20.&.2.0 2.21.&.3.0 11.23.@.2 1.24.M.0 5.24.&.3.1 5.25.}.0.0.0.0.1.1 1.26.M.0 5.26.&.2.1 4.28.^.0.0.0 [end] [offset] 668C [level] 12 [colour] a5b8a0 [size] 16.31 [author] Lukas Bezdek [data] QQQQQQQQQQQQQQQQ QR.#........#..Q Q...*#..#T#....Q Q#.#b.QQQQQDQ#.Q Q..#.TQ-----Q..Q Q..QQQQ-QQQQQ.#Q Q..Q----QM.....Q Q.#Q-QQQQQQQ##.Q Q.*Q-------Q.#.Q Q#.QQQQQQQ-Q.#.Q Q...MQ-----Q##.Q Q.%QQQ-QQQQQ.#.Q Q.QQ---Q.T#....Q Q.Q!TQQQ.#~#.#.Q Q.QQQQM...#..##Q Q*......#....T#Q QQQQQQQQQQQQQQ.Q HHHHHHHHHHHHHQ.Q H.D..D......HQ.Q H.HTTHHHHHH.HQ.Q H.HHHH......HQ.Q HDHHqqDqqqqqqqDq ...Hq..#.#q&...q .%.Hq.#.#&q.b%.q ...Hq###.#q.bb.q HHHHq....&q.%b.q .qqqq~qqqqq.bb.q .D......&q.b!.^q .qqqqqqqqq.b.^.q .D..........^..q .qqqqqqqqqqqqqqq [additional] 13 4.2.*.2 9.6.M.0 2.8.*.2 4.10.M.2 6.14.M.0 1.15.*.2 11.22.&.2.0 9.23.&.2.1 9.25.&.1.0 8.27.&.1.1 14.27.^.1.0.0 13.28.^.1.0.0 12.29.^.1.0.0 [end] [offset] 688C [level] 13 [colour] b3b06d [size] 16.31 [author] Lukas Bezdek [data] ---------------- -T~..++.#bbbb#T- -T-#T#-.b##-##T- -.----.b---b#-.- -.-#Tb..##-#-b.- -.-..b.--b-.-T.- -...b-.#T.-.--.- -.-#b-..##-.##.- -.---b.b.-.....- -...........b..- -.-D-b@~--#-...- -.-%b-..#--..-.- -.-%b-...b...-}- -.---b.......D-- -..b...-D--b-##- -....#-b%bb-b#T- -}--.----------- -}..........T..- ---+-T--%-T---.- ------------&-.- --...........-.- --*---------.-.- --....*....*.-.- ---.--------!-.- QQQDQQQQQqqqqqDq Q......TQq%.TqRq QDQ%.......^.#.q Q.QQQQQQQq.....q Q..b.##TQq++qqqq Q#T#~~#.Q&T+qV.q QQQQQQQ&QqqqqqDq [additional] 11 6.10.@.2 14.12.}.3.0.1.0.0.0 1.16.}.3.0.1.0.0.0 1.17.}.0.0.0.0.0.0 12.19.&.2.0 2.21.*.2 6.22.*.2 11.22.*.2 11.26.^.0.1.1 9.29.&.2.1 7.30.&.1.0 [end] [offset] 6A8C [level] 14 [colour] a75c6c [size] 16.31 [author] Lukas Bezdek [data] ~~~~~~~~~~~~~~~~ ~############~~~ ~#T#........#~~~ ~##.*##TT##.###~ ~#.b.bb..bb...#~ ~#T..bb%Tbb.#D#~ ~###.######.#.#~ ~~~#...bb...#R#~ ~~~#.*bbbb..###~ ~~~#T......T#~~~ ~~~##########~~~ ~~~~~#.T..T.#~~~ ~~~~~##########~ ~~~###...^....#~ ~~~#..T.......#~ ~~~#..?..T....## ~~~#.....?...T}# ~~~##}......T..# ~~~~#####...?..# ~~~~~~~~##....}# ~~~~~~~~~##}.}## ~~~~~~~~~~#####~ ~####~~~~~~~~~~~ ~#.############~ ~#T##..}......#~ ~#.###...~.~.T#~ ~####.#.b.^..##~ ~~~~#..#.#.#}#~~ ~~~~#D########~~ ~~~~#...!#~~~~~~ ~~~~######~~~~~~ [additional] 11 4.3.*.2 5.8.*.2 9.13.^.0.1.1 14.16.}.0.0.0.0.1.1 5.17.}.0.0.0.0.1.1 14.19.}.0.0.0.0.1.1 11.20.}.2.0.0.0.0.0 13.20.}.0.0.0.0.0.0 7.24.}.3.0.0.1.0.0 10.26.^.1.0.0 12.27.}.3.0.1.0.0.0 [end] [offset] 6E8C [level] 15 [colour] b9944e [size] 16.31 [author] Lukas Bezdek [data] ---------------- --------#######- -------######### --------qqqqqqq- --------q...&.q- ---HHHHHq.D...qH -HHHHHHHHH.HHHHH QQQQQQQQQQDQQQQQ &.Q............T ..Q.QTTQQ}QQQQQQ .!Q.QQQQ........ QQQ....}..#####. .........#%####. .}...T...######. ..........b..b.. .......T........ ..T........#-##. .....}....###### ###.....T..b..b. ##%#............ ####........}... ..b...T.qDqqqqqq .......}q......T .##-#...q.HHHHHH ######..q.HHHHHH .b..b...q.HHHH== ...R....qTHH==@= qqqqqqqqq#H===== %.......##HH===@ HH^.HHH^H#HHHH== HHH}HHHHH#HHHHHH [additional] 13 12.4.&.1.0 0.8.&.1.1 9.9.}.0.0.0.0.1.1 7.11.}.0.0.0.0.1.1 1.13.}.0.0.0.0.1.1 5.17.}.0.0.0.0.1.1 12.20.}.0.0.0.0.1.1 7.22.}.0.0.0.0.1.1 14.26.@.2 15.28.@.2 2.29.^.0.0.0 7.29.^.0.0.0 3.30.}.3.0.1.0.0.0 [end] [offset] 708C [level] 16 [colour] 8faac7 [size] 16.31 [author] Lukas Bezdek [data] ---------------- ---------q-q---- ----qqqqqq!qq--- ---qqM......qq-- --qq.....R..Tqq- --QQ.Q}..QQQQQQ- --QQTQQT....%QQ- --QQ}....QT..QQ- TTQQQQQQQQQQDQQT ....^..^..^..... .&..=======Q.Q== ...========Q.Q== ..===........... .===....^.....-. ===..........--. ==...&...^...--- =..^.qqq......-. ..^..qDq......-. .^.............. ...QQQQQDQQ.^... .TQHHT.HHHHQ.... .Q%.HHHH.THHQ... .QHH..HHHHHHQ... ..QHHHH..HHQ.... ^..QQQDQQQQ...&^ ...T..^...T..... .-....%.-.....-. --.-...--.-.-.-- T-.-.-^----.---- .-^---..-.}...-. &-^..-..-.....-. [additional] 23 5.3.M.0 6.5.}.0.0.0.0.0.0 4.7.}.0.0.0.0.1.1 4.9.^.0.0.0 7.9.^.0.0.0 10.9.^.0.0.0 1.10.&.1.0 8.13.^.0.0.0 5.15.&.2.0 9.15.^.2.0.0 3.16.^.1.0.0 2.17.^.1.0.0 1.18.^.1.0.0 12.19.^.0.0.0 0.24.^.1.0.0 14.24.&.2.1 15.24.^.1.0.0 6.25.^.0.1.1 6.28.^.1.0.0 2.29.^.1.0.0 10.29.}.3.0.0.1.0.0 0.30.&.1.1 2.30.^.0.0.0 [end] [offset] 728C [level] 17 [colour] 6da77a [size] 16.31 [author] Lukas Bezdek [data] -.....---------- .......---.....- qqqqqqq--....... q--qqqq--QQQQQQQ q##qq&q--Q--QQ&Q qqqqq&q~~QQQQQ&Q HHHHH.HHHHHHHH.H DR.HH.HHHHHHHH.H HH......T.T.^..H HHDHHHHHHHHHHHHH HH.HHHHHHHHHH=== HH.HHHHHHHH===== HH.HHHH======T@= HH.HH=========== HH.HH=====@===== HH...H========== HHHH.HHHHH====@= HQQQ.HHHHHHHH=== HQ'QDHHHHHHHHHHT HT......^......D qqqqqqqqqqqqqqqq ---------------- ---------------- qq..q&q-QQ..QQ&Q q#..#.q-QT..D..Q q.#.%#q-Q.%.Q..Q q####.q-Q^?.M..Q q...##q-Q.%.Q.!Q q#%#..q-QT..Q}QQ q##..#q-QQQQQQQ- qqqqqqq--------- [additional] 14 5.4.&.2.0 14.4.&.1.0 5.5.&.2.1 14.5.&.1.1 12.8.^.2.0.0 14.12.@.2 10.14.@.2 14.16.@.2 8.19.^.2.0.0 5.23.&.2.2 14.23.&.1.2 9.26.^.1.0.0 12.26.M.0 13.28.}.3.0.1.0.0.0 [end] [offset] 748C [level] 18 [colour] a08750 [size] 16.31 [author] Lukas Bezdek [data] q&q&&q&q&&q&q&&q &?.R.?.????????& &???????..'????& q????.?.?.????.q &????.?'?...b?.& &.?????????????q q.?????????????& &.b?.'????????.& q..?????.???'??& &??????????.???q &'???????'??.??& q???b??..???.?.q &.??.???.?????.& &???.'??????.?'q q?????.??????.?& &.??????'??????& &.?????????..??q &.?????????.???& q'?.???.?b..?.?& &????????.?????& &?b?????..?????q q??????'??..?b?& &?...?.?.???...& &????.??.??'???q q?'????.???.?..& &.??.??b?.?????& &???????'.???..q q....??.???'???& &.!.????????.?.q &?..???..??...?& q&q&&q&&q&&&q&&q [additional] 58 1.0.&.1.0 3.0.&.3.0 4.0.&.6.0 6.0.&.2.0 8.0.&.1.1 9.0.&.4.0 11.0.&.3.1 13.0.&.4.1 14.0.&.5.0 0.1.&.4.2 15.1.&.1.2 0.2.&.2.1 15.2.&.2.2 0.4.&.3.2 15.4.&.6.1 0.5.&.5.1 15.6.&.5.2 0.7.&.2.3 15.7.&.3.3 15.8.&.4.3 0.9.&.5.3 0.10.&.2.4 15.10.&.1.3 0.12.&.3.4 15.12.&.1.4 0.13.&.1.5 15.14.&.1.6 0.15.&.4.4 15.15.&.6.2 0.16.&.2.5 0.17.&.1.7 15.17.&.1.8 15.18.&.2.6 0.19.&.4.5 15.19.&.3.5 0.20.&.1.9 15.21.&.5.4 0.22.&.1.10 15.22.&.1.11 0.23.&.3.6 15.24.&.1.12 0.25.&.4.6 15.25.&.2.7 0.26.&.4.7 15.27.&.1.13 0.28.&.5.5 0.29.&.6.3 15.29.&.3.7 1.30.&.1.14 3.30.&.3.8 4.30.&.5.6 6.30.&.2.8 7.30.&.1.15 9.30.&.3.9 10.30.&.1.16 11.30.&.4.8 13.30.&.2.9 14.30.&.6.4 [end] [offset] 768C [level] 19 [colour] 75ae7f [size] 16.31 [author] Lukas Bezdek [data] qqqqqqqqqqqqqqqq qR''bb&&bbTTD^Hq q&&b^^^}#TbDD^&q q.&^^&#T^#H?&&^q q&H^.}HDb}#TT&&q q&&&~#'%D}T}&&^q q&Db#~D'^^%+DT&q q&&??DD+''+%D&&q q'&+??~&&^'bT&Hq q'TD}T??&.?'&&.q q^.DDb}??}&&''&q q^&&TD}&~}H&^'&q q#~}??DD.^??#&Tq q^~??^&+^~^TT?#q q+?}^^##%^~~^?Tq q+?&.~TT^?%+}}Tq q+T'????&?}b&?#q qb&'~~H&}T#%^+#q q+&'DT^!.&#%}~#q q+&''~}&+#H++~&q q&^#}''b''&%?~Hq q&^#}bD~~???Db&q q&}H&^?#T~#%#~&q q&bH??~&^#}~T~&q q&b?&H~#}^^?D^&q q&?%bD~T#TT?#^&q q&.?}D~&#???T^&q q'###''%#%%%#+}q q'&?^#~&'T}'&b?q qTTT?b###&&H&b&q qqqqqqqqqqqqqqqq [additional] 140 6.1.&.2.0 7.1.&.6.0 13.1.^.1.0.0 1.2.&.4.0 2.2.&.4.1 4.2.^.0.0.0 5.2.^.0.0.0 6.2.^.0.0.0 7.2.}.0.0.0.0.1.1 13.2.^.1.0.0 14.2.&.5.0 2.3.&.6.1 3.3.^.0.0.0 4.3.^.0.0.0 5.3.&.4.2 8.3.^.0.0.0 12.3.&.6.2 13.3.&.5.1 14.3.^.1.0.0 1.4.&.6.3 3.4.^.0.0.0 5.4.}.0.0.0.0.1.1 9.4.}.0.0.0.0.1.1 13.4.&.6.4 14.4.&.5.2 1.5.&.6.5 2.5.&.2.1 3.5.&.2.2 9.5.}.0.0.0.0.1.1 11.5.}.0.0.0.0.1.1 12.5.&.3.0 13.5.&.6.6 14.5.^.1.0.0 1.6.&.6.7 8.6.^.1.0.0 9.6.^.1.0.0 14.6.&.5.3 1.7.&.2.3 2.7.&.2.4 13.7.&.5.4 14.7.&.5.5 2.8.&.2.5 7.8.&.3.1 8.8.&.1.0 9.8.^.1.0.0 13.8.&.5.6 4.9.}.0.0.0.0.1.1 8.9.&.1.1 12.9.&.6.8 13.9.&.5.7 1.10.^.1.0.0 6.10.}.0.0.0.0.1.1 9.10.}.0.0.0.0.1.1 10.10.&.2.6 11.10.&.2.7 14.10.&.4.3 1.11.^.1.0.0 2.11.&.6.9 3.11.&.2.8 6.11.}.0.0.0.0.1.1 7.11.&.3.2 9.11.}.0.0.0.0.1.1 11.11.&.2.9 12.11.^.1.0.0 14.11.&.5.8 3.12.}.0.0.0.0.1.1 9.12.^.1.0.0 13.12.&.6.10 1.13.^.1.0.0 5.13.^.1.0.0 6.13.&.3.3 8.13.^.1.0.0 10.13.^.1.0.0 3.14.}.0.0.0.0.1.1 4.14.^.1.0.0 5.14.^.1.0.0 9.14.^.1.0.0 12.14.^.1.0.0 3.15.&.3.4 8.15.^.1.0.0 12.15.}.0.0.0.0.1.1 13.15.}.0.0.0.0.1.1 8.16.&.1.2 10.16.}.0.0.0.0.1.1 12.16.&.3.5 2.17.&.6.11 7.17.&.1.3 8.17.}.0.0.0.0.1.1 12.17.^.1.0.0 2.18.&.1.4 6.18.^.1.0.0 9.18.&.1.5 12.18.}.0.0.0.0.1.1 2.19.&.1.6 6.19.}.0.0.0.0.1.1 7.19.&.1.7 14.19.&.1.8 1.20.&.1.9 2.20.^.1.0.0 4.20.}.0.0.0.0.1.1 10.20.&.3.6 1.21.&.1.10 2.21.^.1.0.0 4.21.}.0.0.0.0.1.1 14.21.&.2.10 1.22.&.1.11 2.22.}.0.0.0.0.1.1 4.22.&.2.11 5.22.^.1.0.0 14.22.&.2.12 1.23.&.1.12 7.23.&.3.7 8.23.^.1.0.0 10.23.}.0.0.0.0.1.1 14.23.&.2.13 1.24.&.6.12 4.24.&.3.8 8.24.}.0.0.0.0.1.1 9.24.^.1.0.0 10.24.^.1.0.0 13.24.^.0.0.0 14.24.&.3.9 1.25.&.6.13 13.25.^.0.0.0 14.25.&.2.14 1.26.&.3.10 4.26.}.0.0.0.0.1.1 7.26.&.1.13 13.26.^.0.0.0 14.26.&.6.14 14.27.}.2.0.1.0.0.0 2.28.&.6.15 4.28.^.1.0.0 7.28.&.3.11 10.28.}.0.0.0.0.1.1 12.28.&.2.15 9.29.&.1.14 10.29.&.1.15 12.29.&.6.16 14.29.&.2.16 [end] gnurobbo-0.66+dfsg/data/levels/millenium_demo.dat0000644000175000017500000000252711324353351021141 0ustar stevesteveI decided to remove previous version of millenium demo, as it was almost without change taken from Robbo Millenium, which is sold by LK Avalon (if you want to have it, please buy it at their web page http://www.lkavalon.com/sklep/catalog/product_info.php?products_id=47&osCsid=54c96cb0f7c90f1c13354603defc3f35 and convert the dta file using lvldump_millenium tool), and I thought they would mind. Instead I placed a simple map, that I made with GNU Robbo level designer. Enjoy. [name] Mil-Demo [last_level] 1 [offset] D90 [level] 1 [size] 16.31 [author] neurocyp [level_notes] Millenium Demo [data] QQQQQQQQQQQQQQQQ QR.Q..MMM.....&Q Q..#..........}Q Q..Q......MMM.'Q QQQQQQQQQQQQQQQQ Q.............&Q Q.bb...QQQQQQQQQ Q......Q......TQ Q..QQQkQ.QQQQQQQ Q......##b#b...} QQQQQQkQQQQQQQQQ Q..............Q Q.......@......Q Q....QQQQQQQQQDQ Q....Q&........Q QT...D........!Q QQQQQQQQQQQQQQQQ ---------------- ---------------- ---------------- ---------------- QQQQQQQQQQQQQQQQ QT....Q.....Q.&Q Q.^...Q.Q...Q..Q Q..^..Q.Q.}.Q..Q Q...^.Q.Q...QHHQ Q.......Q......Q QQQDQ...QQQQ...Q Q...Q.QQQVQ..QQQ QT*.Q...Q....H%Q QQQQQQQQQQQQQQQQ [additional] 18 6.1.M.1 7.1.M.1 8.1.M.1 14.1.&.1.0 14.2.}.2.0.1.0.0.1 10.3.M.3 11.3.M.3 12.3.M.3 14.5.&.1.1 15.9.}.2.0.1.0.0.1 8.12.@.1 6.14.&.2.2 14.22.&.2.3 2.23.^.1.1.0 3.24.^.1.1.0 10.24.}.3.1.0.0.1.1 4.25.^.1.1.0 2.29.*.1 [end] gnurobbo-0.66+dfsg/data/levels/robbo98.dat0000644000175000017500000021646611337270540017441 0ustar stevesteve[name] Robbo98 [last_level] 56 [notes] This is Robbo 98 file, partially tested, but not finished [offset] 388C [level] 1 [colour] 78c67f [size] 16.31 [author] Svetla n Saz [data] QQQQQQQQQQQQQQQQ Q....&Q.....%.TQ Q.QQQQQQ^......Q Q.QTTTTQQQQQ...Q Q.Q........Q...Q Q.Q......^.Q!..Q Q.Q.......^QQQ.Q Q.Q.b.......MQ.Q Q.Q..........Q.Q Q.Q..........Q.Q Q.Q........@#Q.Q Q.Q........#~Q.Q QDQQ......#~#Q.Q Q..Q}QQDQQ~#~Q.Q Q..QQQb.bQQQQQ.Q Q......R.......Q Q..QQQb.bQQQQQQQ Q..Q+QQDQQ%...^Q QQ.QTQ.......^.Q Q..Q.Q......^..Q Q.QQ.Q.....^...Q Q.Q..Q....^....Q Q.Q.QQ...^.....Q Q...QT..^......Q QQQQQ?.^.......Q Q}^...^........Q Q}.^.^.........Q Q}..^..........Q QQQQQQQQQQQ.QQQQ Q&............TQ QQQQQQQQQQQQQQQQ [additional] 24 5.1.&.10.0 8.2.^.2.0.0 9.5.^.2.0.0 10.6.^.2.0.0 12.7.M.2 11.10.@.3 4.13.}.3.0.1.0.0.0 14.17.^.3.0.0 13.18.^.3.0.0 12.19.^.3.0.0 11.20.^.3.0.0 10.21.^.3.0.0 9.22.^.3.0.0 8.23.^.3.0.0 7.24.^.3.0.0 1.25.}.0.0.1.0.0.0 2.25.^.3.0.0 6.25.^.3.0.0 1.26.}.0.0.1.0.0.0 3.26.^.3.0.0 5.26.^.3.0.0 1.27.}.0.0.1.0.0.0 4.27.^.3.0.0 1.29.&.10.1 [end] [offset] 3A8C [level] 2 [colour] 7176a9 [size] 16.31 [author] Svietla n Saz [data] QQQQQQQQQQQQQQQQ QRQ%Q^QTQ?QTQ&QQ Q.Q.Q.Q?Q.Q.Q.QQ Q.QbQ.Q.Q.Q.Q.QQ Q.Q.Q.Q.Q.Q.Q.QQ Q.Q.Q.Q.Q.Q.Q.QQ Q.Q.Q.Q.Q.Q.Q.QQ Q.......}......Q QQQQQQQQQQQQQQQQ Q&Q&..Q?Q&....&Q Q.QVVVQ.QVVVVVVQ Q.QQQQQ.QQQQQQQQ Q.....HHH.....TQ QQQQQQQbQQQQQQQQ Q.....QHQ....D.Q Q.Q..TQbQ.TT.Q.Q Q.Q..TQHQ.TT.Q.Q Q.Q..TQbQ.TT.Q.Q Q.Q...QHQ....Q.Q Q.Q^.QQbQQ@..Q.Q Q.QQQQ...QQQQQ.Q QHbHbH.}.HbHbHbQ QQQQQQ...QQQQQQQ Q.T.!QQbQQT...%Q Q.....QHQT.....Q Q.....QbQ......Q Q....^QHQ......Q Q.....QbQ*.....Q QDQQQQQHQQQQQQ.Q Q......b....*..Q QQQQQQQQQQQQQQQQ [additional] 13 5.1.^.3.0.0 13.1.&.10.0 8.7.}.3.0.0.1.0.0 1.9.&.10.1 3.9.&.1.0 9.9.&.1.1 14.9.&.1.2 3.19.^.3.0.0 10.19.@.3 7.21.}.0.0.0.0.1.1 5.26.^.2.0.0 9.27.*.1 12.29.*.1 [end] [offset] 3C8C [level] 3 [colour] a98058 [size] 16.31 [author] Svietla n Saz [level_notes] [data] QQQQQQQQQQQQQQQQ QT}.^..........Q Q..............Q Q~....QQQ.....TQ Q.....##Q.....MQ Q.....#RQ@.....Q Q.....QQQ......Q Q..............Q Q..............Q Q.QQDQQQQQQQQQQQ Q.QHHb%HHH#bHHH} Q.QHHDb'H.bHHHH} Q.QHHH'bHb.HHHH} Q.QHHHH*bHHHHHH} Q.QQQQQQQDQQQQQQ Q.Q}..........%Q Q.QQQQQQQQQQQQQQ Q.Q^^^^^^^^^^^^Q Q.Q^^^^^^T^^^^^Q Q.Q^^^^^^^^^^^^Q Q.Q^^^^^^^^^^^^Q Q.Q^^^^^^^^^^^^Q Q.Q............Q Q.Q...........!Q Q.D............Q Q.Q............Q Q.QQ.Q.Q.Q.Q.Q.Q QbQ............Q QVQ............Q QTQ}}}}}}}}}}}}Q QQQQQQQQQQQQQQQQ [additional] 81 2.1.}.1.0.1.0.0.0 4.1.^.2.1.1 14.4.M.2 9.5.@.3 15.10.}.2.0.1.0.0.0 15.11.}.2.0.1.0.0.0 15.12.}.2.0.1.0.0.0 7.13.*.1 15.13.}.2.0.1.0.0.0 3.15.}.0.0.0.0.1.1 3.17.^.2.1.1 4.17.^.2.1.1 5.17.^.2.1.1 6.17.^.2.1.1 7.17.^.2.1.1 8.17.^.2.1.1 9.17.^.2.1.1 10.17.^.2.1.1 11.17.^.2.1.1 12.17.^.2.1.1 13.17.^.2.1.1 14.17.^.2.1.1 3.18.^.2.0.0 4.18.^.2.0.0 5.18.^.2.0.0 6.18.^.2.0.0 7.18.^.2.0.0 8.18.^.2.0.0 10.18.^.2.0.0 11.18.^.2.0.0 12.18.^.2.0.0 13.18.^.2.0.0 14.18.^.2.0.0 3.19.^.2.1.1 4.19.^.2.1.1 5.19.^.2.1.1 6.19.^.2.1.1 7.19.^.2.1.1 8.19.^.2.1.1 9.19.^.2.1.1 10.19.^.2.1.1 11.19.^.2.1.1 12.19.^.2.1.1 13.19.^.2.1.1 14.19.^.2.1.1 3.20.^.2.0.0 4.20.^.2.0.0 5.20.^.2.0.0 6.20.^.2.0.0 7.20.^.2.0.0 8.20.^.2.0.0 9.20.^.2.0.0 10.20.^.2.0.0 11.20.^.2.0.0 12.20.^.2.0.0 13.20.^.2.0.0 14.20.^.2.0.0 3.21.^.2.1.1 4.21.^.2.1.1 5.21.^.2.1.1 6.21.^.2.1.1 7.21.^.2.1.1 8.21.^.2.1.1 9.21.^.2.1.1 10.21.^.2.1.1 11.21.^.2.1.1 12.21.^.2.1.1 13.21.^.2.1.1 14.21.^.2.1.1 3.29.}.3.0.0.1.0.0 4.29.}.3.0.0.1.0.0 5.29.}.3.0.0.1.0.0 6.29.}.3.0.0.1.0.0 7.29.}.3.0.0.1.0.0 8.29.}.3.0.0.1.0.0 9.29.}.3.0.0.1.0.0 10.29.}.3.0.0.1.0.0 11.29.}.3.0.0.1.0.0 12.29.}.3.0.0.1.0.0 13.29.}.3.0.0.1.0.0 14.29.}.3.0.0.1.0.0 [end] [offset] 3E8C [level] 4 [colour] 719d8d [size] 16.31 [author] Svietla n Saz [data] QQQQQQQQQQQQQQQQ Q...&##.#.##&.}Q Q.QQ##.#.#.##..Q Q.QV###.R.###..Q Q.QVV#.#.#.#...Q Q.QVV#######..TQ Q.QQQQQ.##....QQ Q.......QQ.....Q Q.QQQQQ.%QT.T.TQ Q.Q....Q.Q.....Q Q.Q.QQ.Q.QT.T.TQ Q.Q.Q}...Q.....Q Q...QQQQQQT.T.TQ QQQQQ..........Q Q..............Q Q~~~~~~~~~~~~~~Q Q..............Q QbbbbbbbbbbbbbbQ QVVVVVVVVVVVVVVQ Q##############Q Q..............Q QDDDDDD.DDDDDDDQ Q.....D.D......Q Q.DDD.D.D.DDDD.Q Q.D!D.D.D.D%TD.Q Q.D.D.D.D.D..D.Q Q.D.D.D.D.DD.D.Q Q.D...D.D....D.Q Q.DDDDD.DDDDDD.Q Q.....D.D......Q QQQQQQQQQQQQQQQQ [additional] 4 4.1.&.10.0 12.1.&.10.1 14.1.}.1.0.1.0.0.0 5.11.}.0.0.0.0.1.1 [end] [offset] 408C [level] 5 [colour] b2b05f [size] 16.31 [author] Svietla n Saz [data] QQQQQQQQQQQQQQQQ QR.....Q'+.DT.!Q Q}.....QQDQQQQQQ Q%.....Q.......Q Q}.....Q&bHHHHD} Q......QQQHbHbHQ Q}.....Q.QbbHHHQ Q......QQQbbbHbQ Q}.^...Q&QbbbHbQ Q...^..Q.QHHHHHQ Q}...^.Q.QbbbHbQ Q.....^Q.QHHH.HQ Q}.....Q.Qbbb.bQ Q......Q.QHHHHHQ Q}.^...Q.Qbbb.bQ Q...^..Q.QHHH.HQ Q....^.Q.Qbbb.bQ Q.....^Q.QHHH.HQ Q......Q.Qbbb.bQ Q.QQQQQQ.QHHH.HQ Q.bbbbbQ.Qbbb.bQ Q..bbbbQ.QHHHHHQ Qb..bbbQ.QbbbHbQ Qbb..bbQ.Qbbb.bQ Qbbb..bQ.Qbbb.bQ Qbbbb..Q.Qbbb.bQ Qbbbbb.Q.Qbbb.bQ Qbbbbb.Q.Qbbb.bQ QHHbbb.Q.Qbbb.bQ Q%Hbbb...HHHH}HQ QQQQQQQQQQQQQQQQ [additional] 19 1.2.}.0.0.1.0.0.0 1.4.}.0.0.1.0.0.0 8.4.&.10.0 15.4.}.2.0.1.0.0.0 1.6.}.0.0.1.0.0.0 1.8.}.0.0.1.0.0.0 3.8.^.3.0.0 8.8.&.10.1 4.9.^.3.0.0 1.10.}.0.0.1.0.0.0 5.10.^.3.0.0 6.11.^.3.0.0 1.12.}.0.0.1.0.0.0 1.14.}.0.0.1.0.0.0 3.14.^.3.0.0 4.15.^.3.0.0 5.16.^.3.0.0 6.17.^.3.0.0 13.29.}.3.0.1.0.0.0 [end] [offset] 428C [level] 6 [colour] 77a4ac [size] 16.31 [author] Svietla n Saz [data] QQQQQQQQQQQQQQQQ Q.............VQ Q.QQQ...QQ.....Q Q.Q&.Q.QTTQ....Q Q.QQQ..Q#DQ.QQ.Q Q.QQ&..Q..Q....Q Q.Q.Q..Q.&Q....Q Q.Q..Q..QQ&....Q Q..............Q Q.QQQ..QQQ.....Q Q.Q..Q.Q..Q....Q Q.QQQ..QQQ..QQ.Q Q.QT%Q.QT%Q....Q Q.Q.&Q.Q.&Q....Q Q.QQQ&.QQQ&....Q Q..............Q Q.....QQ.......Q Q....QTTQ......Q Q....QbDQ......Q Q....Q..Q......Q Q....Q.&Q......Q Q....&QQ.......Q Q.............&Q QQQQQQQQQQQQQQQQ Q..&.DDDQD.D..%Q QQDQQQQ+D+QQQ.%Q Q...D.QQQDQQQQ%Q Q.QQQ+.D...DD.%Q Q...QQQQQDQQQQ%Q Q!..DDD+D..D..RQ QQQQQQQQQQQQQQQQ [additional] 12 3.3.&.1.0 4.5.&.4.0 9.6.&.2.0 10.7.&.5.0 4.13.&.5.1 9.13.&.4.1 5.14.&.2.1 10.14.&.3.0 7.20.&.3.1 5.21.&.1.1 14.22.&.10.0 3.24.&.10.1 [end] [offset] 448C [level] 7 [colour] 819663 [size] 16.31 [author] Svietla n Saz [data] QQQQQQQQQQQQQQQQ QR............^Q Q...........^..Q Q.............^Q Q...........b##Q Q...........b#&Q QQQQQQQQQQQQQQQQ Q&.DD...Q..TTQ&Q Q..DD.Q...QTTQ.Q Q..QQQQQQQQQQQ.Q Q..............Q Q..............Q Q..............Q Q...........^..Q Q..........^...Q Q.........^....Q Q........^.....Q Q.......^......Q Q......^.......Q Q.....^........Q Q....^.........Q Q...^.........%Q QQQQQQQQQQQQQQQQ Q&..........##.Q Q....b.b.b..#Q%Q Q.....b.b.b.#Q.Q Q....b.b.b..#Q.Q Q.....b.b.b.#Q.Q Q...........#Q.Q Q}.........##Q!Q QQQQQQQQQQQQQQQQ [additional] 17 14.1.^.2.1.1 12.2.^.2.1.1 14.3.^.2.1.1 14.5.&.10.0 1.7.&.10.1 14.7.&.1.0 12.13.^.3.0.0 11.14.^.3.0.0 10.15.^.3.0.0 9.16.^.3.0.0 8.17.^.3.0.0 7.18.^.3.0.0 6.19.^.3.0.0 5.20.^.3.0.0 4.21.^.3.0.0 1.23.&.1.1 1.29.}.0.0.1.0.0.0 [end] [offset] 468C [level] 8 [colour] 9551b9 [size] 16.31 [author] Svietla n Saz [data] QQQQQQQQQQQQQQQQ QRQ...QT..TT..TQ Q.Q.Q+QM......MQ Q.Q.QbQ########Q Q...QbQ.#%#.#.#Q QQQQQbQ########Q Q'.............Q Q............b.Q Q&...}........VQ QQQQQQQQQQQQQQQQ Q&.....^......&Q QQQQQQQQQQQQQQQQ Q.....?.......&Q QT.............Q Qbbbbbbbbbbbbb}Q Q..............Q Q.#.#.#VVVVVVVVQ Q.#.#.#........Q QQQQQQQQDQQQQQQQ Q'............'Q Q..............Q QM............MQ QM............MQ QM............MQ Q........@.....Q QO============OO QO============OQ QT...@.....@..TQ Q..............Q QT.@.........@!Q QQQQQQQQQQQQQQQQ [additional] 20 7.2.M.0 14.2.M.2 1.8.&.1.0 5.8.}.3.0.1.0.0.0 1.10.&.8.0 7.10.^.2.0.0 14.10.&.1.1 14.12.&.8.1 14.14.}.3.0.0.1.0.0 1.21.M.0 14.21.M.2 1.22.M.0 14.22.M.2 1.23.M.0 14.23.M.2 9.24.@.3 5.27.@.3 11.27.@.3 3.29.@.3 13.29.@.3 [end] [offset] 488C [level] 9 [colour] 6d61b1 [size] 16.31 [author] Svietla n Saz [data] QQQQQQQQQQQQQQQQ QR+.Q*..V...'''Q Q##.Q..?....'''Q Q.#.Q.T..b..'''Q Q###QT......'''Q Q..#Q.......'''Q Q%.#Q'''..@.T'TQ Q.##QQQQQDQQQQQQ Q..............Q Q.Q}QQQQQQQQQQ.Q Q.Q..........Q.Q Q.QHQQQ.QQQQ.Q.Q Q.QHQ......Q.Q.Q Q.QHQ......Q.Q.Q Q.QH.......Q.Q.Q Q^QHQ......Q.Q.Q Q.QHQ......Q.Q.Q Q.QHQQQQQQQQ.Q.Q Q.Q.Q........Q.Q Q.Q.Q.QQQQQQQQ.Q Q.Q.Q.Q........Q Q.Q*Q.Q.QQQQQQQQ Q.Q*Q.Q.Q******Q Q.Q*Q.Q.Q*QQQQ*Q Q.Q*Q.Q.Q*Q*@**Q Q.Q*Q.Q.Q*Q@@**Q Q.Q*Q.Q.Q*Q@@**Q Q.QQQ.Q.Q*Q@@**Q Q.....Q.Q*Q@@**Q Q}HHHHHHH*Q*@*!Q QQQQQQQQQQQQQQQQ [additional] 48 5.1.*.1 10.6.@.3 3.9.}.1.0.0.0.0.0 1.15.^.3.0.0 3.21.*.1 3.22.*.1 9.22.*.1 10.22.*.1 11.22.*.1 12.22.*.1 13.22.*.1 14.22.*.1 3.23.*.1 9.23.*.1 14.23.*.1 3.24.*.1 9.24.*.1 11.24.*.1 12.24.@.3 13.24.*.1 14.24.*.1 3.25.*.1 9.25.*.1 11.25.@.3 12.25.@.3 13.25.*.1 14.25.*.1 3.26.*.1 9.26.*.1 11.26.@.3 12.26.@.3 13.26.*.1 14.26.*.1 9.27.*.1 11.27.@.3 12.27.@.3 13.27.*.1 14.27.*.1 9.28.*.1 11.28.@.3 12.28.@.3 13.28.*.1 14.28.*.1 1.29.}.0.0.0.0.0.0 9.29.*.1 11.29.*.1 12.29.@.3 13.29.*.1 [end] [offset] 4A8C [level] 10 [colour] a28352 [size] 16.31 [author] Svietla n Saz [data] QQQQQQQQQQQQQQQQ QR+'''''''''''%Q Q..QQQQQQQQQQQ%Q QD#^^^^^^^^^TQDQ Q.bQQQQQQQQQQQbQ Q..QT^^^^^^^b^^Q Q..QQQQQQQQQQQ.Q Q.#VVVVVVVVVTQ.Q Q.bQQQQQQQQQQQ.Q Q..QT.@@@@@....Q Q..QQQQQQQQQQQ.Q Q.#.********TQ.Q Q.bQQQQQQQQQQQ.Q Q..QT.******...Q Q..QQQQQQQQQQ..Q Q@.bVVVVVVTTQ..Q QQQQQVVVVVTTQ..Q Q....QQQVVTTQ..Q Q...QQQQQQQQ...Q Q..Q?..........Q Q..QQQQQQQ.....Q Q....Q......Q..Q Q.*.Q......@Q.*Q Q..Q........Q..Q Q...........Q..Q Q...QQQQQQQQ...Q Q..............Q Q.......?.&.&.&Q QQQQQQQQQQQQQQQQ Q&.&.&.......!.Q QQQQQQQQQQQQQQQQ [additional] 47 3.3.^.2.0.0 4.3.^.2.0.0 5.3.^.2.0.0 6.3.^.2.0.0 7.3.^.2.0.0 8.3.^.2.0.0 9.3.^.2.0.0 10.3.^.2.0.0 11.3.^.2.0.0 5.5.^.3.0.0 6.5.^.3.0.0 7.5.^.3.0.0 8.5.^.3.0.0 9.5.^.3.0.0 10.5.^.3.0.0 11.5.^.3.0.0 13.5.^.3.0.0 14.5.^.3.0.0 6.9.@.3 7.9.@.3 8.9.@.3 9.9.@.3 10.9.@.3 4.11.*.1 5.11.*.1 6.11.*.1 7.11.*.1 8.11.*.1 9.11.*.1 10.11.*.1 11.11.*.1 6.13.*.1 7.13.*.1 8.13.*.1 9.13.*.1 10.13.*.1 11.13.*.1 1.15.@.3 2.22.*.1 11.22.@.3 14.22.*.1 10.27.&.2.0 12.27.&.1.0 14.27.&.10.0 1.29.&.10.1 3.29.&.1.1 5.29.&.2.1 [end] [offset] 4C8C [level] 11 [colour] 7accb0 [size] 16.31 [author] Svietla n Saz [data] QQQQQQQQQQQQQQQQ Q.........Q...'Q Q.R.......Q..#.Q Q.........Q....Q Q...^...^.Q.^..Q Q.........Q....Q Q..............Q QQQQQQ..QQQQQQQQ QM......D.....TQ QQQQQQ.QQQQQQQQQ Q..............Q Q..............Q Q..............Q Q..............Q Q..............Q Q..............Q Q..............Q Q..............Q Q}..}....}....}Q Q..............Q Q..........??..Q Q}......}QQQQQQQ Q..}..}..Q....%Q Q}......}Q^QQQQQ Q...}....Q..^..Q Q}......}Q....!Q Q........Q.....Q Q...}....Q.....Q Q........Q.....Q Q..............Q QQQQQQQQQQQQQQQQ [additional] 20 4.4.^.3.0.0 8.4.^.3.0.0 12.4.^.3.0.0 1.8.M.0 1.18.}.0.0.0.0.1.1 4.18.}.0.0.0.0.1.1 9.18.}.0.0.0.0.1.1 14.18.}.0.0.0.0.1.1 1.21.}.0.0.1.0.0.0 8.21.}.2.0.1.0.0.0 3.22.}.3.0.1.0.0.0 6.22.}.3.0.1.0.0.0 1.23.}.0.0.1.0.0.0 8.23.}.2.0.1.0.0.0 10.23.^.3.0.0 4.24.}.3.0.1.0.0.0 12.24.^.3.0.0 1.25.}.0.0.2.0.0.0 8.25.}.2.0.2.0.0.0 4.27.}.0.0.0.0.1.1 [end] [offset] 4E8C [level] 12 [colour] a5b8a0 [size] 16.31 [author] Svietla n Saz [data] QQQQQQQQQ}QQQQQQ Q...TQ........%Q Q.QQQQ.QQQQQ.QQQ Q.........}Q.Q'Q QQQQQQQ.QQ...D.Q QR.....}.}..QQ.Q QQQQQQQQQQQQQQ.Q Q...^........Q.Q Q.QQQQQQQQ.Q...Q Q^.......Q.QQQ.Q Q.QQQQQQ.Q.Q.Q.Q Q.QQQQQQ...D.QbQ QT^......QHQ.Q.Q QQQ.Q.QQQQHQ.Q.Q Q^....Q..QHQ.Q.Q QQQHQQQQQQHQ.Q.Q QHHHHHHHHHHQ.Q.Q QHHHHHHHHHHQ.Q.Q QHHHHHHHHHHQ.Q.Q QHHHHHHHHHHQ^Q.Q QHHHHHHHHHHQ&Q.Q QQ%QQQQQQQQQQQ.Q QT..}}}QT....Q.Q Q......}Q....Q.Q Q......}Q....Q.Q QT.....Q&....Q.Q QQQ}...&Q....QDQ =T&Q....Q....Q.Q =..Q}.}.Q....Q'Q =&.Q}..}Q&..@Q!Q =QQQQQQQQQQQQQQ= [additional] 26 9.0.}.1.0.0.0.0.0 10.3.}.2.0.1.0.0.0 7.5.}.3.0.0.1.0.0 9.5.}.3.0.0.1.0.0 4.7.^.2.0.0 1.9.^.2.0.0 2.12.^.2.0.0 1.14.^.2.0.0 12.19.^.3.0.0 12.20.&.8.0 4.22.}.1.0.0.0.0.0 5.22.}.1.0.1.0.0.0 6.22.}.1.0.0.0.0.0 7.23.}.2.0.2.0.0.0 7.24.}.2.0.2.0.0.0 8.25.&.1.0 3.26.}.0.0.2.0.0.0 7.26.&.1.1 2.27.&.7.0 4.28.}.3.0.1.0.0.0 6.28.}.3.0.1.0.0.0 1.29.&.8.1 4.29.}.0.0.2.0.0.0 7.29.}.3.0.1.0.0.0 9.29.&.7.1 12.29.@.3 [end] [offset] 508C [level] 13 [size] 16.31 [author] Svietla n Saz [level_notes] [data] QQQQQQQQQQQQQQQQ QRQ...Q...Q....Q Q.Q.Q.Q.Q.Q.QQ.Q Q...Q...Q...Q&.Q QQQQQQQQQQQQQQQQ Q}HHHHHHHHHHHHHb Q}HHHHHHHHHHHHHQ Q}HHHHHHHHHHHHHb Q}HHHHHHHHHHHHHQ Q}HHHHHHHHHHHHHb Q}HHHHHHHHHHHHHQ Q}HHHHHHHHHHHHHb Q}HHHHHHHHHHHHHQ Q}HHHHHHHHHHHHHb Q}HHHHHHHHHHHHHQ Q}HHHHHHHHHHHHHb Q}HHHHHHHHHHHHHQ Q}HHHHHHHHHHHHHb QQ.QQQQQ}QbbbbbQ Q.......QT^....Q Q.b.b.b.Q..^...Q Qb.b.b..Q...^..Q Q.......Q^.....Q Q.b.b.b.QQQQQQDQ Q.~............Q Q..b.b.b.......Q Q.~...........#Q Q}}}}}}}}}}DQ.#Q Q'..........Q#.Q Q!..........Q.&Q QQQQQQQQQQQQQQQQ [additional] 30 13.3.&.10.0 1.5.}.0.0.1.0.0.0 1.6.}.0.0.1.0.0.0 1.7.}.0.0.1.0.0.0 1.8.}.0.0.1.0.0.0 1.9.}.0.0.1.0.0.0 1.10.}.0.0.1.0.0.0 1.11.}.0.0.1.0.0.0 1.12.}.0.0.1.0.0.0 1.13.}.0.0.1.0.0.0 1.14.}.0.0.1.0.0.0 1.15.}.0.0.1.0.0.0 1.16.}.0.0.1.0.0.0 1.17.}.0.0.1.0.0.0 8.18.}.2.0.0.0.1.1 10.19.^.3.0.0 11.20.^.3.0.0 12.21.^.3.0.0 9.22.^.3.0.0 1.27.}.1.0.1.0.0.0 2.27.}.1.0.1.0.0.0 3.27.}.1.0.1.0.0.0 4.27.}.1.0.1.0.0.0 5.27.}.1.0.1.0.0.0 6.27.}.1.0.1.0.0.0 7.27.}.1.0.1.0.0.0 8.27.}.1.0.1.0.0.0 9.27.}.1.0.1.0.0.0 10.27.}.1.0.1.0.0.0 14.29.&.10.1 [end] [offset] 528C [level] 14 [size] 16.31 [author] Svietla n Saz [level_notes] [data] QQQQQQQQQQQQQQQQ Q.....Q...Q..D.Q QRQQQ*..Q...QQ.Q -Q...QQQ..QQ%Q.Q -Q.Q....Q.Q&.Q.Q -Q.Q.QQQ..QQ.Q.Q QQ.Q.Q...QQQ.Q.Q Q.......QQ-Q.Q.Q Q.Q.Q.Q..QQQ.Q.Q Q.Q.Q..Q..QQ.Q.Q Q.Q.QQ..Q..Q.Q.Q Q.Q}Q&Q..Q.Q.Q.Q Q.QQQ..Q.Q.Q.Q.Q Q.....}Q.Q.Q.Q.Q Q......Q.Q.Q.Q.Q Q.....}Q.Q.Q.Q.Q Q......Q.Q.Q.Q.Q Q.....}Q.Q.Q.Q.Q Q......Q.Q.Q.Q.Q Q.....}Q.Q.Q.Q.Q Q......Q.Q.Q.Q.Q Q.....}Q.Q.Q.Q.Q Q......Q.Q.Q.Q.Q Q.....}Q.Q.Q.Q.Q Q......Q.Q.Q.Q.Q Q.....}Q.Q.Q.Q.Q Q......Q.Q.Q.Q.Q Q.....}Q.Q.Q.Q.Q Q.QQQQQQQTQQ.Q.Q Q............Q.! QQQQQQQQQQQQQQQQ [additional] 12 5.2.*.1 11.4.&.6.0 3.11.}.3.0.1.0.0.0 5.11.&.10.1 6.13.}.0.0.0.0.1.1 6.15.}.2.0.1.0.0.0 6.17.}.2.0.1.0.0.0 6.19.}.2.0.1.0.0.0 6.21.}.2.0.1.0.0.0 6.23.}.2.0.1.0.0.0 6.25.}.2.0.1.0.0.0 6.27.}.2.0.0.0.1.1 [end] [offset] 548C [level] 15 [colour] b9944e [size] 16.31 [author] Svietla n Saz [data] HHHHHHHHHHHHHHHH H&HVH^HR'HbHbH&H QHQbbbQHHQbbbQHQ 'QHQQQ====QQQbQ' HHQ==========QbH QbHQH^H.&H^HV&bQ HQbHHHHHHHHHHHQb &.QQQQQQQQQQQQbH HHQHHHHHHHHHHbHH H'HQHDQ^!QDHbH#H HHHHQHQDDQHbHHHH H%#bHQH%%HbH##.& HH#HbHQHHbHHH#HH HD#.HbHbbHbH.#.H HH#H&HbHHHHHH#HH H@#.HbHTTH@H.#@H HH#HbHHHHHHHH#HH MbHbHbHVVbbH@HbM HHbHHHbbbHHbHbHH H&H?HHHTTHHHbH&H HH&HHHHHHHHbH&HH HVH&HbHTTHbH'HVH HHHHHHbHHbHHHHHH HQH&&bHTTHbH.&QH HHTHHHHHHHHHHTHH HQHQHQH&.HQHQHQH HHHHHHHHHHHHHHHH H'H}HQH&.HQH}H'H HDHHHHHHHHHHHHDH H&D%HQH.&HQH%D&H HHHHHHHHHHHHHHHH [additional] 32 1.1.&.10.0 5.1.^.3.0.0 14.1.&.8.0 5.5.^.3.0.0 8.5.&.1.0 10.5.^.3.0.0 13.5.&.2.0 0.7.&.2.1 7.9.^.2.0.0 15.11.&.5.0 4.14.&.5.1 1.15.@.3 10.15.@.3 14.15.@.3 0.17.M.0 12.17.@.3 15.17.M.2 1.19.&.6.0 14.19.&.6.1 2.20.&.6.2 13.20.&.6.3 3.21.&.8.1 3.23.&.1.1 4.23.&.1.2 13.23.&.7.0 7.25.&.7.1 3.27.}.0.0.0.0.1.1 7.27.&.8.2 12.27.}.0.0.0.0.1.1 1.29.&.8.3 8.29.&.10.1 14.29.&.8.4 [end] [offset] 568C [level] 16 [colour] 8faac7 [size] 16.31 [author] Svietla n Saz [data] QRH..&.#..&.H#!Q Q.H..}..#.}.H#DQ Q'H*QHs==sHQHHHQ Q'HQTH.&QTHTQ'DQ Q'QTHHTQ&.HHTQTQ QQ'HTHQ..QHTH'QQ Q%QTHH.&QTHHTQ'Q QTTQTHTQ&.HTQTTQ s===sVQ..QVs===s s====sb..bs====s s==============s QQQ.T.QbbQ.T.QQQ Q..QQQVQQVQQQ..Q Q.~b.Q....Q.b~.Q Q....Q.&&.Q....Q Q.@...Q..Q...@.Q QQQQ.&.HH.&.QQQQ Q&..Q&.^..&Q..&Q Q.~.Q&..^.&Q.~.Q Q...QQQQQQQQ...Q M......}}......M QTTTTTT}}TTTTTTQ QQQQQQQQQQQQQQQQ QT....&Q&.^^^^TQ QT.#.D.Q..^^^^%Q Qb...~.Q.~^^^^bQ QQ}Q}QQQQQQQQQQQ Q#.#.#.&Q&.H#.#Q Q.#.#.#.Q.H#.#.Q Q#.#.#.#QH#.#.#Q M.%TTT.MQM.TTT.M [additional] 51 5.0.&.10.0 10.0.&.1.0 5.1.}.1.0.1.0.0.0 10.1.}.1.0.1.0.0.0 3.2.*.1 7.3.&.8.0 8.4.&.8.1 7.6.&.8.2 8.7.&.8.3 7.14.&.8.4 8.14.&.8.5 2.15.@.3 13.15.@.3 5.16.&.2.0 10.16.&.5.0 1.17.&.2.1 5.17.&.3.0 7.17.^.2.0.0 10.17.&.6.0 14.17.&.5.1 5.18.&.4.0 8.18.^.2.0.0 10.18.&.7.0 0.20.M.0 7.20.}.2.0.2.0.0.0 8.20.}.0.0.2.0.0.0 15.20.M.2 7.21.}.0.0.0.0.1.1 8.21.}.0.0.0.0.1.1 6.23.&.7.1 8.23.&.4.1 10.23.^.3.0.0 11.23.^.3.0.0 12.23.^.3.0.0 13.23.^.2.0.0 10.24.^.3.0.0 11.24.^.3.0.0 12.24.^.3.0.0 13.24.^.3.0.0 10.25.^.3.0.0 11.25.^.3.0.0 12.25.^.3.0.0 13.25.^.2.0.0 2.26.}.3.0.1.0.0.0 4.26.}.3.0.1.0.0.0 7.27.&.3.1 9.27.&.6.1 0.30.M.0 7.30.M.2 9.30.M.0 15.30.M.2 [end] [offset] 588C [level] 17 [colour] 6da77a [size] 16.31 [author] Svietla n Saz [data] Q&QQQQQQQQQR'HHQ Q.Q&*.*.*.*QQQHQ QHQ........QbHHQ Q'.QT.....*QHQQQ Q...QTT....QbHH& Q@...QQT...HQQQQ s======s...HH..Q QT.....TQ+%'Q..M QVVQQQQ..QQQQ..M QVQ'..&.....D..Q QTQ...Qs=====s.Q QQ&Q.Q!TQVVVQT}Q QT.Q.QHHQVVVQHHQ Q^.Q.Q..^Q&Q^..Q Q.TQ.Q...^Q^...Q Q.Q@.@Q...T....Q Q.Q...Q......T.Q QDQ.@.Q........Q Q~.Q%QT..#.T...Q Q.HHQT.#..?#...Q QH#HQ....b.....Q Q&HHQ....#.....Q QQQQ+..T.......Q QTTT#.........#Q Q..............Q Q..............Q QQQQQQQQQQQQQQ}Q Qb.....^b....^.Q Q.QQQQQQQQQQQQQQ QH^....H^....H.& QQQQQQQQQQQQQQQQ [additional] 30 1.0.&.8.0 3.1.&.10.0 4.1.*.1 6.1.*.1 8.1.*.1 10.1.*.1 10.3.*.1 15.4.&.8.1 1.5.@.3 15.7.M.2 15.8.M.2 6.9.&.7.0 2.11.&.10.1 14.11.}.3.0.1.0.0.0 1.13.^.3.0.0 8.13.^.2.1.1 10.13.&.6.0 12.13.^.2.1.1 9.14.^.3.0.0 11.14.^.3.0.0 3.15.@.3 5.15.@.3 4.17.@.3 1.21.&.5.0 14.26.}.3.0.0.1.0.0 7.27.^.2.0.0 13.27.^.2.0.0 2.29.^.2.0.0 8.29.^.2.0.0 15.29.&.5.1 [end] [offset] 5A8C [level] 18 [colour] a08750 [size] 16.31 [author] Svietla n Saz [data] QQQQQQQQQQQQQQQQ Q%''H..@H..@H..Q Q...Q@..Q@..Q@.Q QQRQTQTQTQTQTQ&Q Q&Q...Q...Q...QQ Q.H*..H*..HHbH%Q Q####}~~~~}####Q Q####D....D####Q M..............M QMDDM......MDDMQ QHTHM......MHTHQ QHHHM......MHHHQ MDDDM......MDDDM QT~TM......MT~TQ QT.TM......MT.TQ QT.TM......MT.TQ QT.TM......MT.TQ QT.TM......MT.TQ QT.TM......MT.TQ QT.TM......MT.TQ QT.TM......MT.TQ QT.TM......MT.TQ QT.TM......MT.TQ QT.TM......MT.TQ QTbTM......MT.TQ Q#THD.b...TD+b+Q Q%Q###QbTbQ}.&QQ QQ!QTQTQbQTQTQ&Q Q^^^Q^^^Q^^^Q'.Q Q...^...^...D%'Q QQQQQQQQQQQQQQQQ [additional] 63 7.1.@.3 11.1.@.3 5.2.@.3 9.2.@.3 13.2.@.3 14.3.&.7.0 1.4.&.7.1 3.5.*.1 7.5.*.1 5.6.}.1.0.2.0.0.0 10.6.}.1.0.2.0.0.0 0.8.M.0 15.8.M.2 1.9.M.0 4.9.M.0 11.9.M.2 14.9.M.2 4.10.M.0 11.10.M.2 4.11.M.0 11.11.M.2 0.12.M.0 4.12.M.2 11.12.M.0 15.12.M.2 4.13.M.0 11.13.M.2 4.14.M.0 11.14.M.2 4.15.M.0 11.15.M.2 4.16.M.0 11.16.M.2 4.17.M.0 11.17.M.2 4.18.M.0 11.18.M.2 4.19.M.0 11.19.M.2 4.20.M.0 11.20.M.2 4.21.M.0 11.21.M.2 4.22.M.0 11.22.M.2 4.23.M.0 11.23.M.2 4.24.M.0 11.24.M.2 11.26.}.0.0.0.0.1.1 13.26.&.8.0 14.27.&.8.1 1.28.^.3.0.0 2.28.^.3.0.0 3.28.^.3.0.0 5.28.^.3.0.0 6.28.^.3.0.0 7.28.^.3.0.0 9.28.^.3.0.0 10.28.^.3.0.0 11.28.^.3.0.0 4.29.^.2.0.0 8.29.^.2.0.0 [end] [offset] 5C8C [level] 19 [colour] 75ae7f [size] 16.31 [author] Svietla n Saz [data] QQQQQQQQQQQQQQQQ M.............^Q Q'QQHbH..HQQHHH} QHHHQQQ..Q+DQ@.Q }........Q&TQ..Q Q..&QQ&..HQQHHH} Q.^..^..Q#.....Q Q...^..^Q......Q }...&QQQ&......} Q......^.......M Q..Q#.QQQQQQT..Q Q..Q.......&Q..Q Q..QR......&Q..Q Q..QQQ#..^QQT..Q Q^.............Q Q..QQQQQQQQQ%Q.Q Q.Q&...*DVHTHQ.Q Q.HQ&...QQQQQ}.Q Q.bHQQQQ^......Q Q.........H}.Q.Q Q.QQQQQ.T.QT...Q Q.%D.%Q.T.QQQ}.Q Q.%DVVQ.T.Db.Q.Q Q.QQbVQ.T.D..Q.Q Q.Q!QbQ.T.DbQT.Q Q.Q.^Qb.T.DQ^..Q Q.~.^.Q.b.Q.~~~Q Q.'~~~bQQQbbbbbQ o==============o o==============o MbTTbTTbbTTbTTbM [additional] 35 0.1.M.0 14.1.^.2.0.0 15.2.}.0.0.0.0.1.1 13.3.@.3 0.4.}.0.0.1.0.0.0 10.4.&.8.0 3.5.&.10.0 6.5.&.5.0 15.5.}.0.0.0.0.1.1 2.6.^.2.0.0 5.6.^.2.0.0 4.7.^.2.0.0 7.7.^.2.0.0 0.8.}.0.0.1.0.0.0 4.8.&.5.1 8.8.&.6.0 15.8.}.2.0.1.0.0.0 7.9.^.2.0.0 15.9.M.2 11.11.&.7.0 11.12.&.6.1 9.13.^.2.0.0 1.14.^.2.0.0 3.16.&.7.1 7.16.*.1 4.17.&.8.1 13.17.}.0.0.0.0.1.1 8.18.^.2.0.0 11.19.}.0.0.0.0.1.1 13.21.}.0.0.0.0.1.1 4.25.^.3.0.0 12.25.^.2.1.1 4.26.^.2.1.1 0.30.M.0 15.30.M.2 [end] [offset] 5E8C [level] 20 [colour] 8a8d56 [size] 16.31 [author] Svietla n Saz [data] }}}}}}}}}}}}}}}} MH............^} }H&}}}}}}}}}}&.} }H}----------}.} }b}-Q&QQQQ&Q-}.} }H}-Q......Q-}.} }H}-Q@QQQQ.Q-}.} }H}-Q.QR'Q.Q-}.} }H}-Q@Q'TQ.Q-}.} }b}-Q.QHHQ.Q-}.} }b}-Q@QHHQ.Q-}.} }H}-Q.QVVQ.Q-}.} }H}-Q@QVVQ.Q-}.} }H}-Q.Mb%Q.Q-}.} }H}-Q@MDDQ.Q-}.} }b}-Q.Q++Q.Q-}.} }b}-Q@Q^.M.Q-}.} }b}-Q.Q.^Q.Q-}.} }H}-Q@Q^.Q.Q-}.} }H}-Q.Q.^Q.Q-}.} }H}-Q@Q^.Q.Q-}.} }H}-Q.Q.^Q.Q-}.} }b}-Q@Q^.Q.Q-}.} }b}-Q.Q.^Q.Q-}.} }b}-Q@Q&}Q.Q-}.} }b}-Q......Q-}.} }H}-QQQQQQQQ-}.} }H}----------}.} }H&}}}}}}}}}}&.} }b.THVVVVVVHT.!} }}}}}}}}}}}}}}}} [additional] 190 0.0.}.1.0.1.0.0.0 1.0.}.1.0.1.0.0.0 2.0.}.1.0.1.0.0.0 3.0.}.1.0.1.0.0.0 4.0.}.1.0.1.0.0.0 5.0.}.1.0.1.0.0.0 6.0.}.1.0.1.0.0.0 7.0.}.1.0.1.0.0.0 8.0.}.1.0.1.0.0.0 9.0.}.1.0.1.0.0.0 10.0.}.1.0.1.0.0.0 11.0.}.1.0.1.0.0.0 12.0.}.1.0.1.0.0.0 13.0.}.1.0.1.0.0.0 14.0.}.1.0.1.0.0.0 15.0.}.1.0.1.0.0.0 0.1.M.0 14.1.^.3.0.0 15.1.}.1.0.1.0.0.0 0.2.}.1.0.1.0.0.0 2.2.&.1.0 3.2.}.1.0.1.0.0.0 4.2.}.1.0.1.0.0.0 5.2.}.1.0.1.0.0.0 6.2.}.1.0.1.0.0.0 7.2.}.1.0.1.0.0.0 8.2.}.1.0.1.0.0.0 9.2.}.1.0.1.0.0.0 10.2.}.1.0.1.0.0.0 11.2.}.1.0.1.0.0.0 12.2.}.1.0.1.0.0.0 13.2.&.7.0 15.2.}.1.0.1.0.0.0 0.3.}.1.0.1.0.0.0 2.3.}.1.0.1.0.0.0 13.3.}.1.0.1.0.0.0 15.3.}.1.0.1.0.0.0 0.4.}.1.0.1.0.0.0 2.4.}.1.0.1.0.0.0 5.4.&.6.0 10.4.&.1.1 13.4.}.1.0.1.0.0.0 15.4.}.1.0.1.0.0.0 0.5.}.1.0.1.0.0.0 2.5.}.1.0.1.0.0.0 13.5.}.1.0.1.0.0.0 15.5.}.1.0.1.0.0.0 0.6.}.1.0.1.0.0.0 2.6.}.1.0.1.0.0.0 5.6.@.3 13.6.}.1.0.1.0.0.0 15.6.}.1.0.1.0.0.0 0.7.}.1.0.1.0.0.0 2.7.}.1.0.1.0.0.0 13.7.}.1.0.1.0.0.0 15.7.}.1.0.1.0.0.0 0.8.}.1.0.1.0.0.0 2.8.}.1.0.1.0.0.0 5.8.@.3 13.8.}.1.0.1.0.0.0 15.8.}.1.0.1.0.0.0 0.9.}.1.0.1.0.0.0 2.9.}.1.0.1.0.0.0 13.9.}.1.0.1.0.0.0 15.9.}.1.0.1.0.0.0 0.10.}.1.0.1.0.0.0 2.10.}.1.0.1.0.0.0 5.10.@.3 13.10.}.1.0.1.0.0.0 15.10.}.1.0.1.0.0.0 0.11.}.1.0.1.0.0.0 2.11.}.1.0.1.0.0.0 13.11.}.1.0.1.0.0.0 15.11.}.1.0.1.0.0.0 0.12.}.1.0.1.0.0.0 2.12.}.1.0.1.0.0.0 5.12.@.3 13.12.}.1.0.1.0.0.0 15.12.}.1.0.1.0.0.0 0.13.}.1.0.1.0.0.0 2.13.}.1.0.1.0.0.0 6.13.M.0 13.13.}.1.0.1.0.0.0 15.13.}.1.0.1.0.0.0 0.14.}.1.0.1.0.0.0 2.14.}.1.0.1.0.0.0 5.14.@.3 6.14.M.2 13.14.}.1.0.1.0.0.0 15.14.}.1.0.1.0.0.0 0.15.}.1.0.1.0.0.0 2.15.}.1.0.1.0.0.0 13.15.}.1.0.1.0.0.0 15.15.}.1.0.1.0.0.0 0.16.}.1.0.1.0.0.0 2.16.}.1.0.1.0.0.0 5.16.@.3 7.16.^.2.0.0 9.16.M.2 13.16.}.1.0.1.0.0.0 15.16.}.1.0.1.0.0.0 0.17.}.1.0.1.0.0.0 2.17.}.1.0.1.0.0.0 8.17.^.2.0.0 13.17.}.1.0.1.0.0.0 15.17.}.1.0.1.0.0.0 0.18.}.1.0.1.0.0.0 2.18.}.1.0.1.0.0.0 5.18.@.3 7.18.^.2.0.0 13.18.}.1.0.1.0.0.0 15.18.}.1.0.1.0.0.0 0.19.}.1.0.1.0.0.0 2.19.}.1.0.1.0.0.0 8.19.^.2.0.0 13.19.}.1.0.1.0.0.0 15.19.}.1.0.1.0.0.0 0.20.}.1.0.1.0.0.0 2.20.}.1.0.1.0.0.0 5.20.@.3 7.20.^.2.0.0 13.20.}.1.0.1.0.0.0 15.20.}.1.0.1.0.0.0 0.21.}.1.0.1.0.0.0 2.21.}.1.0.1.0.0.0 8.21.^.2.0.0 13.21.}.1.0.1.0.0.0 15.21.}.1.0.1.0.0.0 0.22.}.1.0.1.0.0.0 2.22.}.1.0.1.0.0.0 5.22.@.3 7.22.^.2.0.0 13.22.}.1.0.1.0.0.0 15.22.}.1.0.1.0.0.0 0.23.}.1.0.1.0.0.0 2.23.}.1.0.1.0.0.0 8.23.^.2.0.0 13.23.}.1.0.1.0.0.0 15.23.}.1.0.1.0.0.0 0.24.}.1.0.1.0.0.0 2.24.}.1.0.1.0.0.0 5.24.@.3 7.24.&.10.0 8.24.}.3.0.1.0.0.0 13.24.}.1.0.1.0.0.0 15.24.}.1.0.1.0.0.0 0.25.}.1.0.1.0.0.0 2.25.}.1.0.1.0.0.0 13.25.}.1.0.1.0.0.0 15.25.}.1.0.1.0.0.0 0.26.}.1.0.1.0.0.0 2.26.}.1.0.1.0.0.0 13.26.}.1.0.1.0.0.0 15.26.}.1.0.1.0.0.0 0.27.}.1.0.1.0.0.0 2.27.}.1.0.1.0.0.0 13.27.}.1.0.1.0.0.0 15.27.}.1.0.1.0.0.0 0.28.}.1.0.1.0.0.0 2.28.&.2.0 3.28.}.1.0.1.0.0.0 4.28.}.1.0.1.0.0.0 5.28.}.1.0.1.0.0.0 6.28.}.1.0.1.0.0.0 7.28.}.1.0.1.0.0.0 8.28.}.1.0.1.0.0.0 9.28.}.1.0.1.0.0.0 10.28.}.1.0.1.0.0.0 11.28.}.1.0.1.0.0.0 12.28.}.1.0.1.0.0.0 13.28.&.2.1 15.28.}.1.0.1.0.0.0 0.29.}.1.0.1.0.0.0 15.29.}.1.0.1.0.0.0 0.30.}.1.0.1.0.0.0 1.30.}.1.0.1.0.0.0 2.30.}.1.0.1.0.0.0 3.30.}.1.0.1.0.0.0 4.30.}.1.0.1.0.0.0 5.30.}.1.0.1.0.0.0 6.30.}.1.0.1.0.0.0 7.30.}.1.0.1.0.0.0 8.30.}.1.0.1.0.0.0 9.30.}.1.0.1.0.0.0 10.30.}.1.0.1.0.0.0 11.30.}.1.0.1.0.0.0 12.30.}.1.0.1.0.0.0 13.30.}.1.0.1.0.0.0 14.30.}.1.0.1.0.0.0 15.30.}.1.0.1.0.0.0 [end] [offset] 608C [level] 21 [colour] 6b7566 [size] 16.31 [author] Svietla n Saz [data] QQQQQQQQQQQQQQQQ QR.......TTT..#Q Q..............} Q...&..TT......Q Q....#~VVTTT~..Q Q..##VV..VVT...Q Q.#VVDDD...VT..Q Q#V..&.'D...V?.Q Q.#VVDDD...VT..Q Q..##VV..VVT...Q Q....#~VVTT....Q Q.....TTTT.....Q }.........*****Q Q.QQQQQQQQQQQQQQ Q..............} QQQQQQQQQQQQQQ.Q }..............Q Q.QQQQQQQQQQQQQQ Q.&.........^..Q Q.!T...........Q Q.b..T....T...TQ o==============o QTTTTTTTTTTTTTTQ QTTTTTTTTTTTTTTQ QTTo===========o QTHVVVVVVVVVVVVQ QTHVVVVVVVVVVVVQ QTHVVVVVVVVVVVVQ QTHVVV..}..VVVVQ QTHTTTVVVVVVTTTQ QQQQQQQQQQQQQQQQ [additional] 14 15.2.}.2.0.2.0.0.0 4.3.&.8.0 5.7.&.8.1 0.12.}.0.0.1.0.0.0 10.12.*.1 11.12.*.1 12.12.*.1 13.12.*.1 14.12.*.1 15.14.}.2.0.1.0.0.0 0.16.}.0.0.1.0.0.0 2.18.&.8.2 12.18.^.2.1.1 8.28.}.3.0.0.1.0.0 [end] [offset] 628C [level] 22 [colour] 8698ab [size] 16.31 [author] Svietla n Saz [data] QQ&QQQQ&QQQQQQ&Q %T+T}!THH+T}~~'T Q+#DM.QHbM.}bb~Q QQ+H}.M~QM.}bbbQ Q}}}........}}}Q Q}...}..QQT....Q Q.QQ..}.....}Q.Q Q.Q....}.}..}Q.Q Q.Q#......}}?~.Q Q.Q..}.~....bQ'M Q.Q...}#}.QQQQ.Q o==============o Q....bV.....Vb.Q Q...bbV.....Vb.Q Q....bV..%..Vb.Q Q....bV.....Vb.& Q.b..bV.....Vb.Q V&b}}b}}}}}}}b}V -.b-b-bT....Tb%- -..b-.-bT...Tb%- -.-...-.bT.Tb-.- -...-...-bTb..D- V&.-'--.-.b.-.-V -..-..D...-...-V -.----.-.-..-..- -...-...-.-D...- V&.-..-..R...-.- -..-.-DD---.-..- -.-..-T-DTT-D.-V -...-TTTT-TTT-.- &---V----V-----& [additional] 47 2.0.&.10.0 7.0.&.1.0 14.0.&.10.1 4.1.}.1.0.1.0.0.0 11.1.}.1.0.1.0.0.0 4.2.M.0 9.2.M.0 11.2.}.1.0.1.0.0.0 4.3.}.1.0.1.0.0.0 6.3.M.0 9.3.M.2 11.3.}.1.0.1.0.0.0 1.4.}.1.0.1.0.0.0 2.4.}.1.0.1.0.0.0 3.4.}.1.0.1.0.0.0 12.4.}.1.0.1.0.0.0 13.4.}.1.0.1.0.0.0 14.4.}.1.0.1.0.0.0 1.5.}.1.0.1.0.0.0 5.5.}.1.0.1.0.0.0 6.6.}.1.0.1.0.0.0 12.6.}.1.0.1.0.0.0 7.7.}.1.0.1.0.0.0 9.7.}.0.0.0.0.1.1 12.7.}.1.0.1.0.0.0 10.8.}.1.0.1.0.0.0 11.8.}.1.0.1.0.0.0 5.9.}.1.0.1.0.0.0 15.9.M.2 6.10.}.1.0.1.0.0.0 8.10.}.1.0.1.0.0.0 15.15.&.1.1 1.17.&.1.2 3.17.}.1.0.1.0.0.0 4.17.}.1.0.1.0.0.0 6.17.}.1.0.1.0.0.0 7.17.}.1.0.1.0.0.0 8.17.}.1.0.1.0.0.0 9.17.}.1.0.1.0.0.0 10.17.}.1.0.1.0.0.0 11.17.}.1.0.1.0.0.0 12.17.}.1.0.1.0.0.0 14.17.}.1.0.1.0.0.0 1.22.&.10.2 1.26.&.1.3 0.30.&.8.0 15.30.&.8.1 [end] [offset] 648C [level] 23 [colour] 9f826a [size] 16.31 [author] Svietla n Saz [data] &}QQQQQQQQQQQQ}& &.T.b..R.'.b.T.& &.}}}}}}}}}}}}.& }...}.????.}...} &.%....}}....%.& &..............& &~..########..#& &...########...& M^.............& &.......^......M &.......@......& &......bb......& Qb---...b...@..Q QD-T+-.....---bQ Q.TT-QQQQQ-!T-DQ Q---TTTTTTT-TT.Q Q..TTTTTTTTT---Q Q....=======...& Q.....}.=VV=HHoQ Q.....+..=V=*..Q Q.....+...==...Q QVV......VV=...Q QVV...#..VV=...Q QVV..#+#..~=*..Q QVV..QQQQQQQ...Q QVV.Q.++++.Q...Q Q??Q.++++++Q...Q Q.}}}}}}}}}}.*.Q o==============o o==============o QQQQQQQQQQQQQQQQ [additional] 61 0.0.&.8.0 1.0.}.1.0.1.0.0.0 14.0.}.1.0.1.0.0.0 15.0.&.8.1 0.1.&.8.2 15.1.&.8.3 0.2.&.8.4 2.2.}.1.0.1.0.0.0 3.2.}.1.0.1.0.0.0 4.2.}.1.0.1.0.0.0 5.2.}.1.0.1.0.0.0 6.2.}.1.0.1.0.0.0 7.2.}.1.0.1.0.0.0 8.2.}.1.0.1.0.0.0 9.2.}.1.0.1.0.0.0 10.2.}.1.0.1.0.0.0 11.2.}.1.0.1.0.0.0 12.2.}.1.0.1.0.0.0 13.2.}.1.0.1.0.0.0 15.2.&.8.5 0.3.}.0.0.1.0.0.0 4.3.}.1.0.1.0.0.0 11.3.}.1.0.1.0.0.0 15.3.}.2.0.1.0.0.0 0.4.&.8.6 7.4.}.2.0.1.0.0.0 8.4.}.0.0.1.0.0.0 15.4.&.8.7 0.5.&.8.8 15.5.&.8.9 0.6.&.8.10 15.6.&.8.11 0.7.&.8.12 15.7.&.8.13 0.8.M.0 1.8.^.2.0.0 15.8.&.7.0 0.9.&.8.14 8.9.^.2.0.0 15.9.M.2 0.10.&.8.15 8.10.@.3 15.10.&.8.16 0.11.&.8.17 15.11.&.8.18 12.12.@.3 15.17.&.7.1 6.18.}.1.0.0.0.0.0 12.19.*.1 12.23.*.1 2.27.}.1.0.1.0.0.0 3.27.}.1.0.1.0.0.0 4.27.}.1.0.1.0.0.0 5.27.}.1.0.1.0.0.0 6.27.}.1.0.1.0.0.0 7.27.}.1.0.1.0.0.0 8.27.}.1.0.1.0.0.0 9.27.}.1.0.1.0.0.0 10.27.}.1.0.1.0.0.0 11.27.}.1.0.1.0.0.0 13.27.*.1 [end] [offset] 668C [level] 24 [colour] 7cd092 [size] 16.31 [author] Svietla n Saz [data] Q}QQ}QQ--Q}QQ}QQ Q..^.TQ--Q.^..TQ Q.^...Q--Q..^..Q Q.....Q--Q.....Q Q.....Q--Q.....Q &.....&--&.....& QQQQQQQ--QQQQQQQ ---------------- QQ}}}QQ--QQ}QQQQ QT...TQ--QT.^..Q Q.....Q--Q...^.Q Q.....Q--Q....^Q Q.....Q--Q.....Q &.....&--&.....& QQQQQQQ--QQQQQQQ ---------------- QQQQQQQ--QQQQQQQ &.....&--&....RQ Q.~.bbQ--Qb....Q Q...b+Q--Qb....Q Q...b+T--Qbb...Q QT++bQQ--Q!bbbbb QQQQQQb--bQQQQ.H -------bb---+bQH QQQQQQb--bQQQQbH Q.....Q--QbbbbDQ Q.....Q--Q.***.Q Q.~...Q--Q.T+T.Q Q.b...Q--Q.....Q &.....&--&.....Q QQQQQQQ--QQQQQQQ [additional] 32 1.0.}.1.0.1.0.0.0 4.0.}.1.0.1.0.0.0 10.0.}.1.0.1.0.0.0 13.0.}.1.0.1.0.0.0 3.1.^.3.0.0 11.1.^.3.0.0 2.2.^.3.0.0 12.2.^.3.0.0 0.5.&.5.0 6.5.&.4.0 9.5.&.4.1 15.5.&.3.0 2.8.}.1.0.1.0.0.0 3.8.}.1.0.2.0.0.0 4.8.}.1.0.1.0.0.0 11.8.}.1.0.1.0.0.0 12.9.^.3.0.0 13.10.^.3.0.0 14.11.^.3.0.0 0.13.&.1.0 6.13.&.2.0 9.13.&.2.1 15.13.&.3.1 0.17.&.1.1 6.17.&.10.0 9.17.&.10.1 11.26.*.1 12.26.*.1 13.26.*.1 0.29.&.5.1 6.29.&.6.0 9.29.&.6.1 [end] [offset] 688C [level] 25 [colour] 6cd99b [size] 16.31 [author] Svietla n Saz [data] QQQQQQQQQQQQQQQQ Q.............^Q Q...!..........Q QQQQQQQQQQQQQ..Q ------------Q#.Q QQQQQQQQQQQQQ..Q Q.............#} Q..............Q Q..QQQQQQQQQQQQQ Q..Q------------ Q..QQQQQQQQQQQQQ Q..............Q Q..............Q QQQQQQQQQQQQQ..Q ------------Q..Q QQQQQQQQQQQQQ..Q Q..............Q Q..............Q Q..QQQQQQQQQQQQQ Q..Q------------ QR.QQQQQQQQQQQQQ Q..............Q Q...~..#..~....Q QQQQQQQQQQQQ...Q -----------Q...Q QQQQQQQQQQQQ...Q QVVVVVVVVVVVVVVQ QVVVVVVVVVVVVVVM MVVVVVVVVVVVVVVQ QTTTTTTTTTTTTTTQ QQQQQQQQQQQQQQQQ [additional] 4 14.1.^.2.1.1 15.6.}.2.0.2.0.0.0 15.27.M.2 0.28.M.0 [end] [offset] 6A8C [level] 26 [colour] ad414f [size] 16.31 [author] Svietla n Saz [data] QQQQQQQQQQQQQQQQ Q..@.@.@.@.@...Q Q.QQQQQQQQQQQQ.Q Q.Q&&&&&&&&&&Q.Q Q.Q&QQQQQQQQ&Q.Q Q.Q&}...b#VQ&Q.Q Q.Q&Q...b##Q&Q.Q Q.Q&QR..bbbQ&Q.Q Q.Q&Q......Q&Q.Q Q.Q&&&&&&&&&&Q.Q Q.Q&Q......Q&Q.Q Q.Q&Q.TTTT.Q&Q.Q Q.Q&Q.TTTT.Q&Q.Q Q.Q&Q......Q&Q.Q Q.Q&&&&&&&&&&Q.Q Q.Q&Q......Q&Q.Q Q.Q&Q.TTTT.Q&Q.Q Q.Q&Q.TTTT.Q&Q.Q Q.Q&Q......Q&Q.Q Q.Q&&&&&&&&&&Q.Q Q.Q&Q}.....Q&Q.Q Q.Q&Q......Q&Q.Q Q.Q&Q......Q&Q.Q Q.Q&Q......Q&Q.Q Q.Q&Q......Q&Q.Q Q.Q&Q!.....}&Q.Q Q.Q&QQQQQQQQ&Q.Q Q.Q&&&&&&&&&&Q.Q Q.QQQQQQQQQQQQ.Q Q...@.@.@.@.@..Q QQQQQQQQQQQQQQQQ [additional] 103 3.1.@.3 5.1.@.3 7.1.@.3 9.1.@.3 11.1.@.3 3.3.&.7.0 4.3.&.7.1 5.3.&.7.2 6.3.&.7.3 7.3.&.7.4 8.3.&.7.5 9.3.&.7.6 10.3.&.7.7 11.3.&.7.8 12.3.&.7.9 3.4.&.7.10 12.4.&.7.11 3.5.&.7.12 4.5.}.0.0.0.0.1.1 12.5.&.7.13 3.6.&.7.14 12.6.&.7.15 3.7.&.7.16 12.7.&.7.17 3.8.&.7.18 12.8.&.7.19 3.9.&.7.20 4.9.&.7.21 5.9.&.10.0 6.9.&.1.0 7.9.&.2.0 8.9.&.3.0 9.9.&.4.0 10.9.&.5.0 11.9.&.7.22 12.9.&.7.23 3.10.&.7.24 12.10.&.7.25 3.11.&.7.26 12.11.&.7.27 3.12.&.7.28 12.12.&.7.29 3.13.&.7.30 12.13.&.7.31 3.14.&.7.32 4.14.&.7.33 5.14.&.2.1 6.14.&.1.1 7.14.&.3.1 8.14.&.1.2 9.14.&.8.0 10.14.&.10.1 11.14.&.7.34 12.14.&.7.35 3.15.&.7.36 12.15.&.7.37 3.16.&.7.38 12.16.&.7.39 3.17.&.7.40 12.17.&.7.41 3.18.&.7.42 12.18.&.7.43 3.19.&.7.44 4.19.&.7.45 5.19.&.5.1 6.19.&.3.2 7.19.&.5.2 8.19.&.2.2 9.19.&.8.1 10.19.&.5.3 11.19.&.7.46 12.19.&.7.47 3.20.&.7.48 5.20.}.0.0.0.0.1.1 12.20.&.7.49 3.21.&.7.50 12.21.&.7.51 3.22.&.7.52 12.22.&.7.53 3.23.&.7.54 12.23.&.7.55 3.24.&.7.56 12.24.&.7.57 3.25.&.7.58 11.25.}.0.0.0.0.1.1 12.25.&.7.59 3.26.&.7.60 12.26.&.7.61 3.27.&.7.62 4.27.&.7.63 5.27.&.7.64 6.27.&.7.65 7.27.&.7.66 8.27.&.7.67 9.27.&.7.68 10.27.&.7.69 11.27.&.7.70 12.27.&.7.71 4.29.@.3 6.29.@.3 8.29.@.3 10.29.@.3 12.29.@.3 [end] [offset] 6C8C [level] 27 [colour] 7892c9 [size] 16.31 [author] Svietla n Saz [data] QQQQ--Q&&Q--QQQQ QTTQ--QT%Q--QTTQ QTTQQQQTTQQQQTTQ Q..............Q M^............^M Q..............Q Q......R.......Q QQQQQQ....QQQQQQ -----Q....Q----- -----Q....Q----- Q&Q--Q....Q--Q&Q Q.Q--Q....Q--Q.Q Q.Q--Q....Q--Q.Q Q!Q--Q....Q--Q^Q QQQ--Q....Q--QQQ -----Q....Q----- -----Q....Q----- QQQQQQ....QQQQQQ Q..............Q Q..............Q Q....#....#....Q Q...}}}}}}}}...Q Q...}------}...Q Q...}------}...Q Q...}------}...Q Q...}------}...Q Q...}}}}}}}}...Q Q.....*.*.*....Q QQQQQQQDDQQQQQQQ QTT........@@@'Q QQQQQQQQQQQQQQQQ [additional] 39 7.0.&.10.0 8.0.&.1.0 0.4.M.0 1.4.^.2.0.0 14.4.^.2.0.0 15.4.M.2 1.10.&.10.1 14.10.&.1.1 14.13.^.3.0.0 4.21.}.1.0.1.0.0.0 5.21.}.1.0.1.0.0.0 6.21.}.1.0.1.0.0.0 7.21.}.1.0.1.0.0.0 8.21.}.1.0.1.0.0.0 9.21.}.1.0.1.0.0.0 10.21.}.1.0.1.0.0.0 11.21.}.1.0.1.0.0.0 4.22.}.1.0.1.0.0.0 11.22.}.1.0.1.0.0.0 4.23.}.1.0.1.0.0.0 11.23.}.1.0.1.0.0.0 4.24.}.1.0.1.0.0.0 11.24.}.1.0.1.0.0.0 4.25.}.1.0.1.0.0.0 11.25.}.1.0.1.0.0.0 4.26.}.1.0.1.0.0.0 5.26.}.1.0.1.0.0.0 6.26.}.1.0.1.0.0.0 7.26.}.1.0.1.0.0.0 8.26.}.1.0.1.0.0.0 9.26.}.1.0.1.0.0.0 10.26.}.1.0.1.0.0.0 11.26.}.1.0.1.0.0.0 6.27.*.1 8.27.*.1 10.27.*.1 11.29.@.3 12.29.@.3 13.29.@.3 [end] [offset] 6E8C [level] 28 [colour] a674b3 [size] 16.31 [author] Svietla n Saz [data] QQQQQQQQQQQQQQQQ Q^............^Q Q..^.........^.Q Q^............^Q Q.^.........^..Q QHHHHHHHHHHHHHHQ QHHHHHHHHHHHHHHQ QHHHHHHHHHHHHHHQ QHHHHHHHHHHHHHHQ QHHHHHHHHHHHHHHQ QTTTTTT%.......& &QQQQQQQQQQQQQQQ .#......}T#b..?Q Q#....Q*QT#....Q Q#....Q.QQQQQQDQ Q.....Q.Q.HHHHHQ Q.....Q.Q.....+Q Q..R..Q*QDQQQQQQ Q.....Q.Q^^^^^bQ Q.....Q.Q^^^^b^Q Q..!..Q.Qb^^b^^Q Q.....Q*Q^bb^^^Q Q.....Q.QHbbHHHQ Q.....Q.QbHHbHHQ Q.....Q.QHHHHbHQ Q.....Q*QHHHHHbQ Q..............Q Q..............Q Q......b}b.....Q Q..............Q QQQQQQQQQQQQQQQQ [additional] 34 1.1.^.2.1.1 14.1.^.2.1.1 3.2.^.2.1.1 13.2.^.2.1.1 1.3.^.2.1.1 14.3.^.2.1.1 2.4.^.2.1.1 12.4.^.2.1.1 15.10.&.8.0 0.11.&.8.1 8.12.}.2.0.1.0.0.0 7.13.*.1 7.17.*.1 9.18.^.2.0.0 10.18.^.2.0.0 11.18.^.2.0.0 12.18.^.2.0.0 13.18.^.2.0.0 9.19.^.2.0.0 10.19.^.2.0.0 11.19.^.2.0.0 12.19.^.2.0.0 14.19.^.2.0.0 10.20.^.2.0.0 11.20.^.2.0.0 13.20.^.2.0.0 14.20.^.2.0.0 7.21.*.1 9.21.^.2.0.0 12.21.^.2.0.0 13.21.^.2.0.0 14.21.^.2.0.0 7.25.*.1 8.28.}.3.0.0.1.0.0 [end] [offset] 708C [level] 29 [colour] b5a7a2 [size] 16.31 [author] Svietla n Saz [data] QQQ---QQQQQQQQQQ Q!Q---Q^.....TTQ QRQ---Q.QQQQQQQQ Q.Q---Q.Q------- Q.Q---QTQ------- Q.Q---Q.Q------- Q.QQQQQDQQQQQQQQ Q..............Q QQQQQQQDQQQQQQ.Q QTQ---Q.Q----Q.Q Q.Q---Q.Q----Q.Q Q.Q---Q.Q----Q.Q Q.Q---Q.Q----Q.Q Q.Q---Q.Q----Q.Q Q.Q---Q.Q----Q.Q Q^QQQQQ.QQQQQQ.Q Q'...^D........& QQQQQQQQQQQQQQQQ ---------------- --QQQQQQQQQQQQ-- --Q..^....^TTQ-- --Q...^..^.TTQ-- --&....^^..TT&-- --QQQQQQQQQQQQ-- ---------------- QQQQQQQQQQQQQQQQ Q......@..@....& Q.T.T.T.T.T.T..Q Q..T.T%T%T.T.T.Q Q..............& QQQQQQQQQQQQQQQQ [additional] 16 7.1.^.2.0.0 1.15.^.3.0.0 5.16.^.2.0.0 15.16.&.10.0 5.20.^.3.0.0 10.20.^.3.0.0 6.21.^.3.0.0 9.21.^.3.0.0 2.22.&.1.0 7.22.^.3.0.0 8.22.^.3.0.0 13.22.&.10.1 7.26.@.3 10.26.@.3 15.26.&.10.2 15.29.&.1.1 [end] [offset] 728C [level] 30 [colour] b58887 [size] 16.31 [author] Svietla n Saz [data] QQQQQQQQQQQQQQQQ QR..'HHHHHH....! Q.b..QQQQQ.....Q s====s.........Q Q.bQQQ.........Q Q.Qb...........Q Q.Q.b..........Q Q.Q..b.........Q Q.Q..^b........Q Q.QT..^b.......Q Q.QT...^b......Q Q.QT....^...b..Q Q.QT.....^b....Q Q.QT......^b...Q Q.QT.......^b..Q Q.QT........^b.Q Q.QT..........bQ Q.QT..........bQ Q.QT.........b.Q Q.QT..........bQ Q.QT.........b.Q Q.Q...........bQ Q.Qbbbbb.....b.Q Q}Q.....b.....bQ Q.bQQQQb.b...b.Q Qb.b@bbQ..b.b..Q Qb@....@Q..b...Q Qb......bQb....Q Q.b@.@.@.bQQQQQQ Q..bbbbbb.#.TTTQ QQQQQQQQQQQQQQQQ [additional] 15 5.8.^.3.0.0 6.9.^.3.0.0 7.10.^.3.0.0 8.11.^.3.0.0 9.12.^.3.0.0 10.13.^.3.0.0 11.14.^.3.0.0 12.15.^.3.0.0 1.23.}.3.0.1.0.0.0 4.25.@.3 2.26.@.3 7.26.@.3 3.28.@.3 5.28.@.3 7.28.@.3 [end] [offset] 748C [level] 31 [colour] 7fca8c [size] 16.31 [author] Svietla n Saz [data] QQQQQQQQQQQQQQQQ Q!......'......Q Q.............RQ o==============o QQ.QQQ.QQQ.QQVVQ QQ.QQQ.QQQ.QQVVQ QQ.QQQ.QQQ.QQVVQ QQ.QQQ.QQQ.QQVVQ QQ.QQQ.QQQ.QQ..Q QQ.QQQ.QQQ.QQb.Q QQ.QQQ.QQQ.QQ..Q Q@}@Q@}@Q@}@Q..Q QbbbQbbbQbbbQ..Q Qb@@bQ@@bQ@@bQQQ Q@@@Q@@@Q@@@Q+%Q QTTTQTTTQTTT&.+Q QQQQQQQQQQQQQQDQ Q...*.......*..Q Q..............Q Q..b.'...}.....Q Q........#.....Q Q.......Q.Q....Q Q.......Q.Q....Q Q.......Q.Q....Q Q.......Q.Q....Q QQQQQQQQQ.QQQQQQ o==============o QT#VVVVVVVVVVVVQ QT#VVVVVVVVVVVVQ QT#VVVVVVVVVVVVQ QQQQQQQQQQQQQQQQ [additional] 28 1.11.@.3 2.11.}.3.0.1.0.0.0 3.11.@.3 5.11.@.3 6.11.}.3.0.1.0.0.0 7.11.@.3 9.11.@.3 10.11.}.3.0.1.0.0.0 11.11.@.3 2.13.@.3 3.13.@.3 6.13.@.3 7.13.@.3 10.13.@.3 11.13.@.3 1.14.@.3 2.14.@.3 3.14.@.3 5.14.@.3 6.14.@.3 7.14.@.3 9.14.@.3 10.14.@.3 11.14.@.3 12.15.&.10.0 4.17.*.1 12.17.*.1 9.19.}.1.0.1.0.0.0 [end] [offset] 768C [level] 32 [colour] 72bbc8 [size] 16.31 [author] Svietla n Saz [data] QQQQQQQQQQQQQQQQ Q%........Q..R!Q Q%..Q.Q...Q....Q QTTTQ.QTTTQb...Q QQQQT.TQQQQ....Q Q....}....D....} Q.QQT.TQQQQQQQQQ Q.TTQ.Q..@.@...& Q.TTQ.Q.TTTTTT.Q QQQQQ.Q.TTTTTT.Q Q.....Q........& QQQDQQQQQQQQQQQQ &TT......}Q....& QQQQQQQQQQQ....Q }........TT....Q QQQ.QQQQQQQQQQQQ QTT............} QQQQQQQQQQQQ.QQQ Q..............Q Q....@....@....Q Q..##########..Q Q..#........#..Q Q..#..@....'#..Q Q..#TTTTTTTT#..Q Q..#TTTTTTTT#..Q Q..#TTTTTTTT#..Q Q..#TTTTTTTT#..Q Q..##########..Q Q..............Q Q..............Q QQQQQQQQQQQQQQQQ [additional] 14 5.5.}.0.0.0.0.1.1 15.5.}.0.0.0.0.1.1 9.7.@.3 11.7.@.3 15.7.&.1.0 15.10.&.10.0 0.12.&.10.1 9.12.}.2.0.0.0.0.0 15.12.&.1.1 0.14.}.0.0.1.0.0.0 15.16.}.2.0.1.0.0.0 5.19.@.3 10.19.@.3 6.22.@.3 [end] [offset] 788C [level] 33 [colour] 8e5f6a [size] 16.31 [author] Svietla n Saz [data] QQQQQQQQQQQQQQQQ Qbbbbbbbb.....!Q Qb.............Q Qb.R..Q..Q.....Q Qb....Q@.Q@....Q Qb....Q..Q.....Q Qb.QQQQ..QQQQ..Q Qb.............M Qb.QQ......QQ..Q Qb...TTTTTT....Q Qb...HHHHHH....Q Qb...HHHHHH....Q Qb...HHHHHH....Q Qb...HHHHHH....Q Qb.............Q Qb.............Q Qb.............Q Qb.............Q Qb.............Q Qb.............Q Qb.............Q Qb.............Q Qb.............Q Qb.............Q Qb.............Q Qb...}}}}}}....Q Qb...QQbbQQ....Q Qb.TTTTbb.TTTT.Q Qb.TTTTbb.TTTT.Q Qbbbbbbbb......Q QQQQQQQQQQQQQQQQ [additional] 9 7.4.@.3 10.4.@.3 15.7.M.2 5.25.}.3.0.1.0.0.0 6.25.}.3.0.1.0.0.0 7.25.}.3.0.1.0.0.0 8.25.}.3.0.1.0.0.0 9.25.}.3.0.1.0.0.0 10.25.}.3.0.1.0.0.0 [end] [offset] 7A8C [level] 34 [colour] 688c99 [size] 16.31 [author] Svietla n Saz [data] QQQQQQQQQQQQQQQQ QR............!Q Q..............Q QQQQQQQ&QQQQQQQQ Q...b.~.-.????.Q }#.b.--H-......Q }#b...b.???????Q }#.b.b..???????Q Q...b..........Q QQQQQQQ&QQQQQQQQ Q..............Q Q..............Q QQQQQQQ&QQQQQQQQ Q...b.~.-.????.Q }#.b.--H-......Q }#b...b.???????Q }#.b.b..???????Q Q...b..........Q QQQQQQQ&QQQQQQQQ Q..............Q Q..............Q QQQQQQQ&QQQQQQQQ Q...b.~.-.????.Q }#.b.--H-......Q }#b...b.???????Q }#.b.b..???????Q Q...b..........Q QQQQQQQ&QQQQQQQQ Q.......DDDDDDTQ Q.......DDDDDDTQ QQQQQQQQQQQQQQQQ [additional] 15 7.3.&.10.0 0.5.}.0.0.1.0.0.0 0.6.}.0.0.1.0.0.0 0.7.}.0.0.1.0.0.0 7.9.&.1.0 7.12.&.2.0 0.14.}.0.0.1.0.0.0 0.15.}.0.0.1.0.0.0 0.16.}.0.0.1.0.0.0 7.18.&.3.0 7.21.&.4.0 0.23.}.0.0.1.0.0.0 0.24.}.0.0.1.0.0.0 0.25.}.0.0.1.0.0.0 7.27.&.5.0 [end] [offset] 7C8C [level] 35 [colour] 6daf97 [size] 16.31 [author] Svietla n Saz [data] }}}}}------}}}}} }&.&}------}..R} }}}}}}}}}}}}.&.} }!}............} }.}}}}}}}}}}.}}} }.}........}.}-- }.}..?.?.?.}.}-- }.}.?.?.?..}.}-- }.}..?.?.?.}.}-- }.}.?.?.?..}.}-- }.}..?.?.?.}.}-- }.}.?.?.?..}.}-- }.}..?.?.?.}.}-- }.}.......}}.}}} }.}............} }.}&...........} }.}}}}}}}D}}}}}} }.}............} }.}..@.....@...} }.}..~~....~~..} }.D..~~....~~..} }.}...@.....@..} }.}............} }.}..@.....@...} }.}..~~....~~..} }.}..~~....~~..} }.}...@.....@..} }.}............} }.}...TTTTTT...} }^}............} }}}}}}}}}}}}}}}} [additional] 170 0.0.}.1.0.1.0.0.0 1.0.}.1.0.1.0.0.0 2.0.}.1.0.1.0.0.0 3.0.}.1.0.1.0.0.0 4.0.}.1.0.1.0.0.0 11.0.}.1.0.1.0.0.0 12.0.}.1.0.1.0.0.0 13.0.}.1.0.1.0.0.0 14.0.}.1.0.1.0.0.0 15.0.}.1.0.1.0.0.0 0.1.}.1.0.1.0.0.0 1.1.&.10.0 3.1.&.1.0 4.1.}.1.0.1.0.0.0 11.1.}.1.0.1.0.0.0 15.1.}.1.0.1.0.0.0 0.2.}.1.0.1.0.0.0 1.2.}.1.0.1.0.0.0 2.2.}.1.0.1.0.0.0 3.2.}.1.0.1.0.0.0 4.2.}.1.0.1.0.0.0 5.2.}.1.0.1.0.0.0 6.2.}.1.0.1.0.0.0 7.2.}.1.0.1.0.0.0 8.2.}.1.0.1.0.0.0 9.2.}.1.0.1.0.0.0 10.2.}.1.0.1.0.0.0 11.2.}.1.0.1.0.0.0 13.2.&.10.1 15.2.}.1.0.1.0.0.0 0.3.}.1.0.1.0.0.0 2.3.}.0.0.1.0.0.0 15.3.}.1.0.1.0.0.0 0.4.}.1.0.1.0.0.0 2.4.}.1.0.1.0.0.0 3.4.}.1.0.1.0.0.0 4.4.}.1.0.1.0.0.0 5.4.}.1.0.1.0.0.0 6.4.}.1.0.1.0.0.0 7.4.}.1.0.1.0.0.0 8.4.}.1.0.1.0.0.0 9.4.}.1.0.1.0.0.0 10.4.}.1.0.1.0.0.0 11.4.}.1.0.1.0.0.0 13.4.}.1.0.1.0.0.0 14.4.}.1.0.1.0.0.0 15.4.}.1.0.1.0.0.0 0.5.}.1.0.1.0.0.0 2.5.}.1.0.1.0.0.0 11.5.}.1.0.1.0.0.0 13.5.}.1.0.1.0.0.0 0.6.}.1.0.1.0.0.0 2.6.}.1.0.1.0.0.0 11.6.}.1.0.1.0.0.0 13.6.}.1.0.1.0.0.0 0.7.}.1.0.1.0.0.0 2.7.}.1.0.1.0.0.0 11.7.}.1.0.1.0.0.0 13.7.}.1.0.1.0.0.0 0.8.}.1.0.1.0.0.0 2.8.}.1.0.1.0.0.0 11.8.}.1.0.1.0.0.0 13.8.}.1.0.1.0.0.0 0.9.}.1.0.1.0.0.0 2.9.}.1.0.1.0.0.0 11.9.}.1.0.1.0.0.0 13.9.}.1.0.1.0.0.0 0.10.}.1.0.1.0.0.0 2.10.}.1.0.1.0.0.0 11.10.}.1.0.1.0.0.0 13.10.}.1.0.1.0.0.0 0.11.}.1.0.1.0.0.0 2.11.}.1.0.1.0.0.0 11.11.}.1.0.1.0.0.0 13.11.}.1.0.1.0.0.0 0.12.}.1.0.1.0.0.0 2.12.}.1.0.1.0.0.0 11.12.}.1.0.1.0.0.0 13.12.}.1.0.1.0.0.0 0.13.}.1.0.1.0.0.0 2.13.}.1.0.1.0.0.0 10.13.}.1.0.1.0.0.0 11.13.}.1.0.1.0.0.0 13.13.}.1.0.1.0.0.0 14.13.}.1.0.1.0.0.0 15.13.}.1.0.1.0.0.0 0.14.}.1.0.1.0.0.0 2.14.}.1.0.1.0.0.0 15.14.}.1.0.1.0.0.0 0.15.}.1.0.1.0.0.0 2.15.}.1.0.1.0.0.0 3.15.&.1.1 15.15.}.1.0.1.0.0.0 0.16.}.1.0.1.0.0.0 2.16.}.1.0.1.0.0.0 3.16.}.1.0.1.0.0.0 4.16.}.1.0.1.0.0.0 5.16.}.1.0.1.0.0.0 6.16.}.1.0.1.0.0.0 7.16.}.1.0.1.0.0.0 8.16.}.1.0.1.0.0.0 10.16.}.1.0.1.0.0.0 11.16.}.1.0.1.0.0.0 12.16.}.1.0.1.0.0.0 13.16.}.1.0.1.0.0.0 14.16.}.1.0.1.0.0.0 15.16.}.1.0.1.0.0.0 0.17.}.1.0.1.0.0.0 2.17.}.1.0.1.0.0.0 15.17.}.1.0.1.0.0.0 0.18.}.1.0.1.0.0.0 2.18.}.1.0.1.0.0.0 5.18.@.3 11.18.@.3 15.18.}.1.0.1.0.0.0 0.19.}.1.0.1.0.0.0 2.19.}.1.0.1.0.0.0 15.19.}.1.0.1.0.0.0 0.20.}.1.0.1.0.0.0 15.20.}.1.0.1.0.0.0 0.21.}.1.0.1.0.0.0 2.21.}.1.0.1.0.0.0 6.21.@.3 12.21.@.3 15.21.}.1.0.1.0.0.0 0.22.}.1.0.1.0.0.0 2.22.}.1.0.1.0.0.0 15.22.}.1.0.1.0.0.0 0.23.}.1.0.1.0.0.0 2.23.}.1.0.1.0.0.0 5.23.@.3 11.23.@.3 15.23.}.1.0.1.0.0.0 0.24.}.1.0.1.0.0.0 2.24.}.1.0.1.0.0.0 15.24.}.1.0.1.0.0.0 0.25.}.1.0.1.0.0.0 2.25.}.1.0.1.0.0.0 15.25.}.1.0.1.0.0.0 0.26.}.1.0.1.0.0.0 2.26.}.1.0.1.0.0.0 6.26.@.3 12.26.@.3 15.26.}.1.0.1.0.0.0 0.27.}.1.0.1.0.0.0 2.27.}.1.0.1.0.0.0 15.27.}.1.0.1.0.0.0 0.28.}.1.0.1.0.0.0 2.28.}.1.0.1.0.0.0 15.28.}.1.0.1.0.0.0 0.29.}.1.0.1.0.0.0 1.29.^.3.0.0 2.29.}.1.0.1.0.0.0 15.29.}.1.0.1.0.0.0 0.30.}.1.0.1.0.0.0 1.30.}.1.0.1.0.0.0 2.30.}.1.0.1.0.0.0 3.30.}.1.0.1.0.0.0 4.30.}.1.0.1.0.0.0 5.30.}.1.0.1.0.0.0 6.30.}.1.0.1.0.0.0 7.30.}.1.0.1.0.0.0 8.30.}.1.0.1.0.0.0 9.30.}.1.0.1.0.0.0 10.30.}.1.0.1.0.0.0 11.30.}.1.0.1.0.0.0 12.30.}.1.0.1.0.0.0 13.30.}.1.0.1.0.0.0 14.30.}.1.0.1.0.0.0 15.30.}.1.0.1.0.0.0 [end] [offset] 7E8C [level] 36 [colour] 9988ae [size] 16.31 [author] Svietla n Saz [data] QQQQQQQQQQQQQQQQ QTTTVVVVVVVVVV!Q QTTTVVVVVVVVVVVQ QQQQQQVVQQQQQQQQ }............}RQ }............}.Q }............}.Q }............}'Q }............}.Q }............}.Q }............}.Q }............}.Q }............}.Q }............}.Q }............}.Q }............}.Q }............}.Q }............}%Q }............}DQ Q@@@@@@@@@@@@@@Q Q@b@b@b@b@b@b@@Q Q@@VVVVVVVVV@@@Q Q***********b@@Q Q@@VVVVVVVVV@@@Q Q***********b@@Q Q@@VVVVVVVVV@@@Q Q@###########@@Q Q@@VVVVVVVVV@@@Q Q@###########@@Q Q@@VVVVVVVVV@@@Q QQQQQQQQQQQQQQQQ [additional] 109 0.4.}.0.0.2.0.0.0 13.4.}.2.0.2.0.0.0 0.5.}.0.0.2.0.0.0 13.5.}.2.0.2.0.0.0 0.6.}.0.0.2.0.0.0 13.6.}.2.0.2.0.0.0 0.7.}.0.0.2.0.0.0 13.7.}.2.0.2.0.0.0 0.8.}.0.0.2.0.0.0 13.8.}.2.0.2.0.0.0 0.9.}.0.0.2.0.0.0 13.9.}.2.0.2.0.0.0 0.10.}.0.0.2.0.0.0 13.10.}.2.0.2.0.0.0 0.11.}.0.0.2.0.0.0 13.11.}.2.0.2.0.0.0 0.12.}.0.0.2.0.0.0 13.12.}.2.0.2.0.0.0 0.13.}.0.0.2.0.0.0 13.13.}.2.0.2.0.0.0 0.14.}.0.0.2.0.0.0 13.14.}.2.0.2.0.0.0 0.15.}.0.0.2.0.0.0 13.15.}.2.0.2.0.0.0 0.16.}.0.0.2.0.0.0 13.16.}.2.0.2.0.0.0 0.17.}.0.0.0.0.0.0 13.17.}.2.0.0.0.0.0 0.18.}.0.0.0.0.0.0 13.18.}.2.0.0.0.0.0 1.19.@.3 2.19.@.3 3.19.@.3 4.19.@.3 5.19.@.3 6.19.@.3 7.19.@.3 8.19.@.3 9.19.@.3 10.19.@.3 11.19.@.3 12.19.@.3 13.19.@.3 14.19.@.3 1.20.@.3 3.20.@.3 5.20.@.3 7.20.@.3 9.20.@.3 11.20.@.3 13.20.@.3 14.20.@.3 1.21.@.3 2.21.@.3 12.21.@.3 13.21.@.3 14.21.@.3 1.22.*.1 2.22.*.1 3.22.*.1 4.22.*.1 5.22.*.1 6.22.*.1 7.22.*.1 8.22.*.1 9.22.*.1 10.22.*.1 11.22.*.1 13.22.@.3 14.22.@.3 1.23.@.3 2.23.@.3 12.23.@.3 13.23.@.3 14.23.@.3 1.24.*.1 2.24.*.1 3.24.*.1 4.24.*.1 5.24.*.1 6.24.*.1 7.24.*.1 8.24.*.1 9.24.*.1 10.24.*.1 11.24.*.1 13.24.@.3 14.24.@.3 1.25.@.3 2.25.@.3 12.25.@.3 13.25.@.3 14.25.@.3 1.26.@.3 13.26.@.3 14.26.@.3 1.27.@.3 2.27.@.3 12.27.@.3 13.27.@.3 14.27.@.3 1.28.@.3 13.28.@.3 14.28.@.3 1.29.@.3 2.29.@.3 12.29.@.3 13.29.@.3 14.29.@.3 [end] [offset] 808C [level] 37 [colour] b98cb0 [size] 16.31 [author] Svietla n Saz [data] *QQQQQ*}*QQQQQQ* QR....Q.QTTTVV!Q Q.....Q.QTVVVbVQ Q.....Q.QTVVVVVQ Q.....Q.QVVVVVVQ Q.......QVVVVVVQ Q.......QVVVVVVQ Q.###...QVVVVVVQ Q.......QVVVVVVQ Q.###...QVVVVVVQ Q.......QQQQ...Q Q.###...Q}}Q...Q Q.......QQQQ...Q Q.###..........Q Q..............Q Q..............Q Q..............Q Q..............Q Q..............} Q..............} *QQQQQQ........} Q&....H........Q *QQQQQQQQQQQQQQ* ---------------- ---------*QQQQQ* ---------Q...*.Q *QQQQ&*--Q*TT'.Q Q.....QQQQ.T?T.Q &..b....&..TTT.Q Q.....QQQQ.....Q *QQQQQ*--*QQQQQ* [additional] 27 0.0.*.1 6.0.*.1 7.0.}.1.0.2.0.0.0 8.0.*.1 15.0.*.1 9.11.}.1.0.1.0.0.0 10.11.}.1.0.1.0.0.0 15.18.}.2.0.0.0.0.0 15.19.}.2.0.0.0.0.0 0.20.*.1 15.20.}.2.0.0.0.0.0 1.21.&.8.0 0.22.*.1 15.22.*.1 9.24.*.1 15.24.*.1 13.25.*.1 0.26.*.1 5.26.&.8.1 6.26.*.1 10.26.*.1 0.28.&.8.2 8.28.&.8.3 0.30.*.1 6.30.*.1 9.30.*.1 15.30.*.1 [end] [offset] 828C [level] 38 [colour] a486bf [size] 16.31 [author] Svietla n Saz [data] QQQQQQQQQQQQQQQQ Q......QT}%QT}TQ Q.%Q}..D+&.....} Q.}QT*}QQQ&}}}}Q Q.TQ}.}..T+T...Q Q.}QT.}.}}}}}}@Q Q.TQ}.}........Q Q.}Q%.}QQQQQQ}&Q Q............}.Q }..........?.D.Q Qbb.bb#bbbb..Q.Q QbbR#...b#b..Q.Q Q#..}#Tb#}.#bQ.Q Q....bbbb..bbQ.Q Qb....#...bbbQ.Q Q}b.....?.bb}Q.Q QTQb......bQTQ.Q Q..}D^...D}.~..Q Qbb}.QQQQ.}..Q.} QbQb###.##bQ.Q.Q Q.Q}}}D}}}}QQQ.} Q..#.%#......Q.} Q#......##.#.Q.Q Q.#..##.#b.~.Q.} Q..~..#.~.#.bQ.Q Q...##...#...Q.} QbQ}}}}}}}}}#Q.Q Q..TT..*.....Q.} .bQ&}}}}}}}}}QTQ }bbbbbbb^^^#!Q.Q QQQQQQQQQQ}QQQQQ [additional] 79 9.1.}.1.0.1.0.0.0 13.1.}.1.0.1.0.0.0 4.2.}.1.0.1.0.0.0 9.2.&.10.0 15.2.}.0.0.0.0.1.1 2.3.}.1.0.1.0.0.0 5.3.*.1 6.3.}.1.0.1.0.0.0 10.3.&.8.0 11.3.}.1.0.1.0.0.0 12.3.}.1.0.1.0.0.0 13.3.}.1.0.1.0.0.0 14.3.}.1.0.1.0.0.0 4.4.}.1.0.1.0.0.0 6.4.}.1.0.1.0.0.0 2.5.}.1.0.1.0.0.0 6.5.}.1.0.1.0.0.0 8.5.}.1.0.1.0.0.0 9.5.}.1.0.1.0.0.0 10.5.}.1.0.1.0.0.0 11.5.}.1.0.1.0.0.0 12.5.}.1.0.1.0.0.0 13.5.}.1.0.1.0.0.0 14.5.@.3 4.6.}.1.0.1.0.0.0 6.6.}.1.0.1.0.0.0 2.7.}.1.0.1.0.0.0 6.7.}.1.0.1.0.0.0 13.7.}.1.0.1.0.0.0 14.7.&.6.0 13.8.}.1.0.1.0.0.0 0.9.}.0.0.1.0.0.0 4.12.}.0.0.0.0.1.1 9.12.}.0.0.0.0.1.1 1.15.}.1.0.1.0.0.0 12.15.}.1.0.1.0.0.0 3.17.}.1.0.1.0.0.0 5.17.^.2.0.0 10.17.}.1.0.1.0.0.0 3.18.}.1.0.1.0.0.0 10.18.}.1.0.1.0.0.0 15.18.}.2.0.0.0.0.0 3.20.}.1.0.1.0.0.0 4.20.}.1.0.1.0.0.0 5.20.}.1.0.1.0.0.0 7.20.}.1.0.1.0.0.0 8.20.}.1.0.1.0.0.0 9.20.}.1.0.1.0.0.0 10.20.}.1.0.1.0.0.0 15.20.}.2.0.0.0.0.0 15.21.}.2.0.2.0.0.0 15.23.}.2.0.0.0.0.0 15.25.}.2.0.2.0.0.0 3.26.}.1.0.1.0.0.0 4.26.}.1.0.1.0.0.0 5.26.}.1.0.1.0.0.0 6.26.}.1.0.1.0.0.0 7.26.}.1.0.1.0.0.0 8.26.}.1.0.1.0.0.0 9.26.}.1.0.1.0.0.0 10.26.}.1.0.1.0.0.0 11.26.}.1.0.1.0.0.0 7.27.*.1 15.27.}.2.0.1.0.0.0 3.28.&.7.0 4.28.}.1.0.1.0.0.0 5.28.}.1.0.1.0.0.0 6.28.}.1.0.1.0.0.0 7.28.}.1.0.1.0.0.0 8.28.}.1.0.1.0.0.0 9.28.}.1.0.1.0.0.0 10.28.}.1.0.1.0.0.0 11.28.}.1.0.1.0.0.0 12.28.}.1.0.1.0.0.0 0.29.}.0.0.0.0.1.1 8.29.^.2.0.0 9.29.^.2.0.0 10.29.^.2.0.0 10.30.}.3.0.1.0.0.0 [end] [offset] 848C [level] 39 [colour] 77c281 [size] 16.31 [author] Svietla n Saz [data] QQQQQQQQQQQQQQQQ Q&+b.....#...#.Q Q++b}}#...}}...Q Qbb}..}..}HT}... Q.#.#.}..}HH}#.Q Q#...}.#.DHH}.^Q ..#.}%...}}.}..Q Q#.}}}}.#.}}...Q Q#..........#..Q Q.#.....#.....bQ Q....^.#^...~... M...#.#...##...Q Q###.#..#...#..Q Q.#.#R##.#.#..%Q .###.#..#.##..H} .#..#.#.Q..^..b& .##.#.##Q...^.b& .#.#.#..QT.^..b& .##.#.#}Q.^...b& .#.#T.#.QT.^..b& QQQQQQQQQQQQDQQQ -----------Q.Q-- -----------Q.Q-- ---QQQQQ-QQQDQ}Q ---Q&.TQ-Q....#Q ---Q!.+Q-}#..#.. QQ-QQQQQ-Q.#b..Q TQ-------Q...#.Q %QQQQQQQQQ.b.b.Q .........~...... QQQQQQQQQQQQQQQQ [additional] 43 1.1.&.10.0 4.2.}.1.0.1.0.0.0 5.2.}.1.0.1.0.0.0 10.2.}.1.0.1.0.0.0 11.2.}.1.0.1.0.0.0 3.3.}.1.0.1.0.0.0 6.3.}.1.0.1.0.0.0 9.3.}.1.0.1.0.0.0 12.3.}.1.0.1.0.0.0 6.4.}.1.0.1.0.0.0 9.4.}.1.0.1.0.0.0 12.4.}.1.0.1.0.0.0 5.5.}.1.0.1.0.0.0 12.5.}.1.0.1.0.0.0 14.5.^.3.0.0 4.6.}.1.0.1.0.0.0 9.6.}.1.0.1.0.0.0 10.6.}.3.0.0.1.0.0 12.6.}.1.0.1.0.0.0 3.7.}.1.0.1.0.0.0 4.7.}.1.0.1.0.0.0 5.7.}.1.0.1.0.0.0 6.7.}.1.0.1.0.0.0 10.7.}.1.0.1.0.0.0 11.7.}.1.0.1.0.0.0 5.10.^.2.0.0 8.10.^.2.0.0 0.11.M.2 15.14.}.2.0.1.0.0.0 11.15.^.2.0.0 15.15.&.8.0 12.16.^.2.0.0 15.16.&.8.1 11.17.^.2.0.0 15.17.&.8.2 7.18.}.3.0.0.1.0.0 10.18.^.2.0.0 15.18.&.8.3 11.19.^.2.0.0 15.19.&.8.4 14.23.}.1.0.0.0.0.0 4.24.&.10.1 9.25.}.0.0.1.0.0.0 [end] [offset] 868C [level] 40 [colour] 65da88 [size] 16.31 [author] Svietla n Saz [data] QQQQ&QQQQQQQQQQQ QT}T%.........#Q Q%}QQQQb}.~b.#.Q Q.}%..D......#.Q QD}Q..Q...Q#}.#Q Q.TQ..}.%.Q#bQ.Q Q..D..}...Q##.}Q QT}QQ.}DQDQ%#.TQ QD}%..}.Q.}}}}}Q Q.......Q......Q Q..QQQ..Q.QQT}*Q Q...^+.........Q Q...}}}D}Qb.Q..Q QT.!Q...}...Q}DQ Q%}}Q.......QT.Q QQT.QDQ.}..}Q}DQ Q....%Q....TQT.Q Q.}}}}QD}}}}}}}Q Q.QT.Q..#...&+.Q Q.Q}...#.#..Q..} Q^Q...#.#}%.Q..} Q.QD}&QQQbQ&Q..Q QTQ.}....}%.Q..} Q.Q.}}#....bQTTQ Q.Q.}..#....}}}Q Q.Q%TQ.......QTQ Q.}}}}}.Q.Q..D.Q Q.%QTQ.......}DQ Q.b..D.~.%.#.D.Q Q....}R..T...QTQ QQQQQQQQQQQQQQQQ [additional] 69 4.0.&.3.0 2.1.}.1.0.1.0.0.0 2.2.}.1.0.1.0.0.0 8.2.}.1.0.1.0.0.0 2.3.}.1.0.1.0.0.0 2.4.}.1.0.1.0.0.0 12.4.}.1.0.1.0.0.0 6.5.}.1.0.1.0.0.0 6.6.}.1.0.1.0.0.0 14.6.}.1.0.1.0.0.0 2.7.}.1.0.1.0.0.0 6.7.}.1.0.1.0.0.0 2.8.}.1.0.1.0.0.0 6.8.}.1.0.1.0.0.0 10.8.}.1.0.1.0.0.0 11.8.}.1.0.1.0.0.0 12.8.}.1.0.1.0.0.0 13.8.}.1.0.1.0.0.0 14.8.}.1.0.1.0.0.0 13.10.}.1.0.1.0.0.0 14.10.*.1 4.11.^.2.0.0 4.12.}.1.0.1.0.0.0 5.12.}.1.0.1.0.0.0 6.12.}.1.0.1.0.0.0 8.12.}.1.0.1.0.0.0 8.13.}.1.0.1.0.0.0 13.13.}.1.0.1.0.0.0 2.14.}.1.0.1.0.0.0 3.14.}.1.0.1.0.0.0 8.15.}.0.0.0.0.1.1 11.15.}.1.0.1.0.0.0 13.15.}.1.0.1.0.0.0 2.17.}.1.0.1.0.0.0 3.17.}.1.0.1.0.0.0 4.17.}.1.0.1.0.0.0 5.17.}.1.0.1.0.0.0 8.17.}.1.0.1.0.0.0 9.17.}.1.0.1.0.0.0 10.17.}.1.0.1.0.0.0 11.17.}.1.0.1.0.0.0 12.17.}.1.0.1.0.0.0 13.17.}.1.0.1.0.0.0 14.17.}.1.0.1.0.0.0 12.18.&.2.0 3.19.}.1.0.1.0.0.0 15.19.}.2.0.2.0.0.0 1.20.^.3.0.0 9.20.}.1.0.1.0.0.0 15.20.}.2.0.0.0.0.0 4.21.}.1.0.1.0.0.0 5.21.&.1.0 11.21.&.10.0 4.22.}.1.0.1.0.0.0 9.22.}.1.0.1.0.0.0 15.22.}.2.0.1.0.0.0 4.23.}.1.0.1.0.0.0 5.23.}.0.0.0.0.1.1 4.24.}.1.0.1.0.0.0 12.24.}.1.0.1.0.0.0 13.24.}.1.0.1.0.0.0 14.24.}.1.0.1.0.0.0 2.26.}.1.0.1.0.0.0 3.26.}.1.0.1.0.0.0 4.26.}.1.0.1.0.0.0 5.26.}.1.0.1.0.0.0 6.26.}.1.0.1.0.0.0 13.27.}.1.0.1.0.0.0 5.29.}.1.0.1.0.0.0 [end] [offset] 888C [level] 41 [colour] 84c489 [size] 16.31 [author] Svietla n Saz [data] QQQQQQQQQQQQ-QQQ }T.......}T}-}T} }......b.}.}Q}.} }.....b..D.&-..& }T.......QQ}Q}.} }QQQQ&}}}}T}-}V} }TT}?..+&..}-}*} }'.}....Q..}-}.} }..}....Q..QQQ.} }..&....Q..D-DV} }..Q.^..Q..}}}.} }..Q.b..QTTQ-Q@} }.%P====P}}Q-Q.} }~}P====P''Q-Q.} }.TQ}..?...Q-Q.} }..T}~.....Q-Q#} }...}.#~.%.Q}QT} }??###...!.....} }?###...Q.RQ}Q^} }QQQQQ&}}}}Q-Q.} }?.........Q-Q.} &...#..##.#Q-QT} }#.#.##...#Q-Q.} }.#.#.##~#.Q-Q^} }T.#.#.~#.TQ-Q.} QQQQ}DQ}}}}}-Q.} ----}'Q------QT} ----}.Q------Q^} }QQQ}D}}}}}}}}.} }TT.^..T.^.T.^.} }QQQQQQQQQQQQQQQ [additional] 123 0.1.}.1.0.1.0.0.0 9.1.}.2.0.1.0.0.0 11.1.}.1.0.1.0.0.0 13.1.}.1.0.1.0.0.0 15.1.}.1.0.1.0.0.0 0.2.}.1.0.1.0.0.0 9.2.}.1.0.1.0.0.0 11.2.}.1.0.1.0.0.0 13.2.}.1.0.1.0.0.0 15.2.}.1.0.1.0.0.0 0.3.}.1.0.1.0.0.0 11.3.&.8.0 15.3.&.7.0 0.4.}.1.0.1.0.0.0 11.4.}.1.0.1.0.0.0 13.4.}.1.0.1.0.0.0 15.4.}.1.0.1.0.0.0 0.5.}.1.0.1.0.0.0 5.5.&.2.0 6.5.}.1.0.1.0.0.0 7.5.}.1.0.1.0.0.0 8.5.}.1.0.1.0.0.0 9.5.}.1.0.1.0.0.0 11.5.}.1.0.1.0.0.0 13.5.}.1.0.1.0.0.0 15.5.}.1.0.1.0.0.0 0.6.}.1.0.1.0.0.0 3.6.}.1.0.1.0.0.0 8.6.&.3.0 11.6.}.1.0.1.0.0.0 13.6.}.1.0.1.0.0.0 14.6.*.1 15.6.}.1.0.1.0.0.0 0.7.}.1.0.1.0.0.0 3.7.}.1.0.1.0.0.0 11.7.}.1.0.1.0.0.0 13.7.}.1.0.1.0.0.0 15.7.}.1.0.1.0.0.0 0.8.}.1.0.1.0.0.0 3.8.}.1.0.1.0.0.0 15.8.}.1.0.1.0.0.0 0.9.}.1.0.1.0.0.0 3.9.&.1.0 15.9.}.1.0.1.0.0.0 0.10.}.1.0.1.0.0.0 5.10.^.2.0.0 11.10.}.1.0.1.0.0.0 12.10.}.1.0.1.0.0.0 13.10.}.1.0.1.0.0.0 15.10.}.1.0.1.0.0.0 0.11.}.1.0.1.0.0.0 14.11.@.3 15.11.}.1.0.1.0.0.0 0.12.}.1.0.1.0.0.0 9.12.}.1.0.1.0.0.0 10.12.}.1.0.1.0.0.0 15.12.}.1.0.1.0.0.0 0.13.}.1.0.1.0.0.0 2.13.}.1.0.1.0.0.0 15.13.}.1.0.1.0.0.0 0.14.}.1.0.1.0.0.0 4.14.}.1.0.1.0.0.0 15.14.}.1.0.1.0.0.0 0.15.}.1.0.1.0.0.0 4.15.}.1.0.1.0.0.0 15.15.}.1.0.1.0.0.0 0.16.}.1.0.1.0.0.0 4.16.}.1.0.1.0.0.0 12.16.}.1.0.1.0.0.0 15.16.}.1.0.1.0.0.0 0.17.}.1.0.1.0.0.0 15.17.}.1.0.1.0.0.0 0.18.}.1.0.1.0.0.0 12.18.}.1.0.1.0.0.0 14.18.^.3.0.0 15.18.}.1.0.1.0.0.0 0.19.}.1.0.1.0.0.0 6.19.&.10.0 7.19.}.1.0.1.0.0.0 8.19.}.1.0.1.0.0.0 9.19.}.1.0.1.0.0.0 10.19.}.1.0.1.0.0.0 15.19.}.1.0.1.0.0.0 0.20.}.1.0.1.0.0.0 15.20.}.1.0.1.0.0.0 0.21.&.3.1 15.21.}.1.0.1.0.0.0 0.22.}.1.0.1.0.0.0 15.22.}.1.0.1.0.0.0 0.23.}.1.0.1.0.0.0 14.23.^.3.0.0 15.23.}.1.0.1.0.0.0 0.24.}.1.0.1.0.0.0 15.24.}.1.0.1.0.0.0 4.25.}.1.0.1.0.0.0 7.25.}.1.0.1.0.0.0 8.25.}.1.0.1.0.0.0 9.25.}.1.0.1.0.0.0 10.25.}.1.0.1.0.0.0 11.25.}.1.0.1.0.0.0 15.25.}.1.0.1.0.0.0 4.26.}.1.0.1.0.0.0 15.26.}.1.0.1.0.0.0 4.27.}.1.0.1.0.0.0 14.27.^.3.0.0 15.27.}.1.0.1.0.0.0 0.28.}.1.0.1.0.0.0 4.28.}.1.0.1.0.0.0 6.28.}.1.0.1.0.0.0 7.28.}.1.0.1.0.0.0 8.28.}.1.0.1.0.0.0 9.28.}.1.0.1.0.0.0 10.28.}.1.0.1.0.0.0 11.28.}.1.0.1.0.0.0 12.28.}.1.0.1.0.0.0 13.28.}.1.0.1.0.0.0 15.28.}.1.0.1.0.0.0 0.29.}.1.0.1.0.0.0 4.29.^.2.0.0 9.29.^.2.0.0 13.29.^.2.0.0 15.29.}.1.0.1.0.0.0 0.30.}.1.0.1.0.0.0 [end] [offset] 8A8C [level] 42 [colour] b54fba [size] 16.31 [author] Svietla n Saz [data] QQQQQQQQQQQQQQQQ QTT%......}TTQTQ Q}}}%..}@.}.}QDQ Q%&+TQ....}.TQDQ Q&%QTQ...TQ....Q Q.TQ&Q...TQ....Q Q...}Q....}..}*Q Q.}*.Q.}@.}....Q Q....Q...%}....Q Q....Q}}}&}&QD}Q }....}...T}T...Q Q....QT#..}QQQDQ Q...}.....}T...Q Q.Q*}.QQQ@}QD}}Q Q...}.....}T...Q Q...}.....}QT..Q Q...}T.R..%Q}%%Q Q...}.###..%}Q&Q Q%.Q.....~..TQTQ Q.bQ.QQb}..}}}TQ Q}.Q.....Q.....Q Q.TQ.}@..%Q...^Q QD}Q...Q..Q....Q Q.....%Q..&....Q QQQ.}}}QDQQQQQDQ QT.&...QD}.D.D.Q Q}}}}T.QD}.Q.}.Q Q.T!QQ.QD}.Q.}.Q Q.}}}T.Q+&.Q.}.Q Q.&....QT}TQT}TQ QQQQQQQQQQQQQQQQ [additional] 81 10.1.}.1.0.1.0.0.0 1.2.}.1.0.1.0.0.0 2.2.}.1.0.1.0.0.0 3.2.}.1.0.1.0.0.0 7.2.}.1.0.1.0.0.0 8.2.@.3 10.2.}.1.0.1.0.0.0 12.2.}.1.0.1.0.0.0 2.3.&.8.0 10.3.}.1.0.1.0.0.0 1.4.&.2.0 4.5.&.7.0 4.6.}.1.0.1.0.0.0 10.6.}.1.0.1.0.0.0 13.6.}.1.0.1.0.0.0 14.6.*.1 2.7.}.1.0.1.0.0.0 3.7.*.1 7.7.}.1.0.1.0.0.0 8.7.@.3 10.7.}.1.0.1.0.0.0 10.8.}.1.0.1.0.0.0 6.9.}.1.0.1.0.0.0 7.9.}.1.0.1.0.0.0 8.9.}.1.0.1.0.0.0 9.9.&.6.0 10.9.}.1.0.1.0.0.0 11.9.&.7.1 14.9.}.1.0.1.0.0.0 0.10.}.1.0.1.0.0.0 5.10.}.1.0.1.0.0.0 10.10.}.1.0.1.0.0.0 10.11.}.1.0.1.0.0.0 4.12.}.1.0.1.0.0.0 10.12.}.1.0.1.0.0.0 3.13.*.1 4.13.}.1.0.1.0.0.0 9.13.@.3 10.13.}.1.0.1.0.0.0 13.13.}.1.0.1.0.0.0 14.13.}.1.0.1.0.0.0 4.14.}.1.0.1.0.0.0 10.14.}.1.0.1.0.0.0 4.15.}.1.0.1.0.0.0 10.15.}.1.0.1.0.0.0 4.16.}.1.0.1.0.0.0 12.16.}.1.0.1.0.0.0 4.17.}.1.0.1.0.0.0 12.17.}.1.0.1.0.0.0 14.17.&.5.0 8.19.}.1.0.1.0.0.0 11.19.}.1.0.1.0.0.0 12.19.}.1.0.1.0.0.0 13.19.}.1.0.1.0.0.0 1.20.}.0.0.0.0.1.1 5.21.}.1.0.1.0.0.0 6.21.@.3 14.21.^.2.0.0 2.22.}.1.0.1.0.0.0 10.23.&.10.0 4.24.}.1.0.1.0.0.0 5.24.}.1.0.1.0.0.0 6.24.}.1.0.1.0.0.0 3.25.&.1.0 9.25.}.1.0.1.0.0.0 1.26.}.1.0.1.0.0.0 2.26.}.1.0.1.0.0.0 3.26.}.1.0.1.0.0.0 4.26.}.1.0.1.0.0.0 9.26.}.1.0.1.0.0.0 13.26.}.1.0.1.0.0.0 9.27.}.1.0.1.0.0.0 13.27.}.1.0.1.0.0.0 2.28.}.1.0.1.0.0.0 3.28.}.1.0.1.0.0.0 4.28.}.1.0.1.0.0.0 9.28.&.4.0 13.28.}.1.0.1.0.0.0 2.29.&.3.0 9.29.}.1.0.1.0.0.0 13.29.}.1.0.1.0.0.0 [end] [offset] 8C8C [level] 43 [colour] 93b06b [size] 16.31 [author] Svietla n Saz [data] QQQQQQQQQQQQQQQQ Q!.&.bT...}....Q QQQQ....#.}...^Q Q..^...#..}..^.Q Q....^....}....Q Q...^#..#@}%...Q Q..^#.....}'...Q Q}}}}&}}QQQQQQQQ QT..#.#.##...}TQ Q.Q##...#.#..}.Q Q.Q..####..#.D.Q QVD#...#.#.#.QQQ Q}}...~#...#.#&Q Q.#.##..#...#.TQ QT.#.##}}}Q#.#&Q Q&Q}}}}}##Q}}}}Q Q&QT%...##&}TQ%Q Q&QQQQQ..#.}.Q%Q Q...T}}..?.}.Q.Q Q....QQQQQQQDQDQ Q..............Q Q.~....#.......} Q....b.........Q Q........}...^.Q Q....^...M..b..M Q}}}}..~#Q.....Q Q..&.....#.#..+Q Q.QQ.b}Q##..}}}Q Q.Q.....b.~.}T.Q QTQR........&..Q QQQQQQQQQQQQQQQQ [additional] 65 3.1.&.7.0 10.1.}.0.0.0.0.1.1 10.2.}.1.0.1.0.0.0 14.2.^.3.0.0 3.3.^.2.1.1 10.3.}.1.0.1.0.0.0 13.3.^.3.0.0 5.4.^.3.0.0 10.4.}.1.0.1.0.0.0 4.5.^.2.0.0 9.5.@.3 10.5.}.1.0.1.0.0.0 3.6.^.2.0.0 10.6.}.1.0.1.0.0.0 1.7.}.1.0.1.0.0.0 2.7.}.1.0.1.0.0.0 3.7.}.1.0.1.0.0.0 4.7.}.1.0.1.0.0.0 5.7.&.3.0 6.7.}.1.0.1.0.0.0 7.7.}.1.0.1.0.0.0 13.8.}.1.0.1.0.0.0 13.9.}.1.0.1.0.0.0 1.12.}.0.0.0.0.1.1 2.12.}.1.0.1.0.0.0 14.12.&.4.0 7.14.}.1.0.1.0.0.0 8.14.}.1.0.1.0.0.0 9.14.}.1.0.1.0.0.0 14.14.&.4.1 1.15.&.2.0 3.15.}.1.0.1.0.0.0 4.15.}.1.0.1.0.0.0 5.15.}.1.0.1.0.0.0 6.15.}.1.0.1.0.0.0 7.15.}.1.0.1.0.0.0 11.15.}.1.0.1.0.0.0 12.15.}.1.0.1.0.0.0 13.15.}.1.0.1.0.0.0 14.15.}.1.0.1.0.0.0 1.16.&.1.0 10.16.&.2.1 11.16.}.1.0.1.0.0.0 1.17.&.10.0 11.17.}.1.0.1.0.0.0 5.18.}.2.0.0.0.0.0 6.18.}.3.0.0.1.0.0 11.18.}.1.0.1.0.0.0 15.21.}.2.0.2.0.0.0 9.23.}.1.0.1.0.0.0 13.23.^.2.0.0 5.24.^.2.0.0 9.24.M.0 15.24.M.2 1.25.}.1.0.1.0.0.0 2.25.}.1.0.1.0.0.0 3.25.}.1.0.1.0.0.0 4.25.}.1.0.1.0.0.0 3.26.&.5.0 6.27.}.1.0.1.0.0.0 12.27.}.1.0.1.0.0.0 13.27.}.1.0.1.0.0.0 14.27.}.3.0.1.0.0.0 12.28.}.1.0.1.0.0.0 12.29.&.6.0 [end] [offset] 8E8C [level] 44 [colour] 8b6aae [size] 16.31 [author] Svietla n Saz [data] QQQQQQQQQQQQQQQQ Q..T....QbQ...TQ Qb.#.b.#.Qb.b..Q Q.b......Q.b.#bQ Q#..~....Q..b.bQ QQQQQQQ.QQQQQDQQ QTbQ%Q.b.QR....Q Q...........T.bQ QQQQQQDQQQQQQQQQ Q#....&....+.Q%Q Q..#Q.##..?..D.Q Q..QQQ.QQQ...}.Q Q..DTQ^DTQ...Q.Q Q.QQQQ.QQQ#QTQTQ Q#.DTQ.QTD.QQQDQ Q.#QQQ.QQQ##...Q Q#..#.#Q.#b.Q.QQ Q...~.b.#....#.Q QQQQQ.T~..%...#Q Q..%Q....QQQQ@#Q Q#..QT##...%..#Q Q##.Q#.T.#....TQ Qb#Q#..#.~T.#.#Q Qb.........#..QQ Q..%.#.#.#....Q& Q.............#. Q.Q*.Q*.Q@.Q*QQT Q.............Q' Q.Q@.Q..Q..Q@QQQ Q...#&........!Q QQQQQQQQQQQQQQQQ [additional] 12 6.9.&.8.0 13.11.}.2.0.1.0.0.0 6.12.^.3.0.0 13.19.@.3 15.24.&.1.0 3.26.*.1 6.26.*.1 9.26.@.3 12.26.*.1 3.28.@.3 12.28.@.3 5.29.&.1.1 [end] [offset] 908C [level] 45 [colour] 8dbec6 [size] 16.31 [author] Svietla n Saz [data] QQQQQQQQQQQQQQQQ Q.#...T..}V#?.TQ Q#b.##*~#}.T#.'Q Q#.#..#'#}##.#'Q Q#T.b.#b#&b.~#.Q Q.}+##...Q.~..~Q QQbQQQ}~TQ###..Q QT.b##}.}}}}}}bQ Q.#.bb}TQT..'QbQ Q...#.&.Q%.}}QbQ Q.b##}Q.Q.bD..+Q Q..Q.TQ.Db.}.QQQ QT.Q}}}RQQQQ#b#Q Q}}Q....&%T...TQ Q.&Q.QQ.}}}}}.#Q QTTQ..}@Q&?#&.&Q Q}}b}...Q.#.Q.#Q QT#.....Q#T%Q.#Q Q.#.TQ*..}}}}.bQ QQQ.}&.%......#Q Q#..TQ..T.....#Q Q.'....?.^..?.&Q Q....}........+} }.....bQ.......} Q....Q...b.....} Q}}}}}}DQQQQQQQQ QTTb.HHHH??.~.'Q QHHH.bH?H?..~.'Q QHbH#+HHH?#b}}}Q QHHHHHHHH?.bDD!Q Q}}}}}}}QQQQQQQQ [additional] 70 9.1.}.1.0.1.0.0.0 6.2.*.1 9.2.}.1.0.1.0.0.0 9.3.}.1.0.1.0.0.0 9.4.&.1.0 2.5.}.1.0.1.0.0.0 6.6.}.1.0.1.0.0.0 6.7.}.1.0.1.0.0.0 8.7.}.1.0.1.0.0.0 9.7.}.1.0.1.0.0.0 10.7.}.1.0.1.0.0.0 11.7.}.1.0.1.0.0.0 12.7.}.1.0.1.0.0.0 13.7.}.1.0.1.0.0.0 6.8.}.1.0.1.0.0.0 6.9.&.3.0 11.9.}.1.0.1.0.0.0 12.9.}.1.0.1.0.0.0 5.10.}.1.0.1.0.0.0 11.11.}.1.0.1.0.0.0 4.12.}.1.0.1.0.0.0 5.12.}.1.0.1.0.0.0 6.12.}.1.0.1.0.0.0 1.13.}.1.0.1.0.0.0 2.13.}.1.0.1.0.0.0 8.13.&.6.0 2.14.&.2.0 8.14.}.1.0.1.0.0.0 9.14.}.1.0.1.0.0.0 10.14.}.1.0.1.0.0.0 11.14.}.1.0.1.0.0.0 12.14.}.1.0.1.0.0.0 6.15.}.1.0.1.0.0.0 7.15.@.3 9.15.&.1.1 12.15.&.2.1 14.15.&.2.2 1.16.}.1.0.1.0.0.0 2.16.}.1.0.1.0.0.0 4.16.}.1.0.1.0.0.0 6.18.*.1 9.18.}.1.0.1.0.0.0 10.18.}.1.0.1.0.0.0 11.18.}.1.0.1.0.0.0 12.18.}.1.0.1.0.0.0 4.19.}.1.0.1.0.0.0 5.19.&.3.1 9.21.^.2.1.1 14.21.&.6.1 5.22.}.1.0.1.0.0.0 15.22.}.0.0.0.0.1.1 0.23.}.0.0.1.0.0.0 15.23.}.2.0.1.0.0.0 15.24.}.2.0.1.0.0.0 1.25.}.1.0.1.0.0.0 2.25.}.1.0.1.0.0.0 3.25.}.1.0.1.0.0.0 4.25.}.1.0.1.0.0.0 5.25.}.1.0.1.0.0.0 6.25.}.1.0.1.0.0.0 12.28.}.1.0.1.0.0.0 13.28.}.1.0.1.0.0.0 14.28.}.1.0.1.0.0.0 1.30.}.3.0.2.0.0.0 2.30.}.3.0.1.0.0.0 3.30.}.3.0.1.0.0.0 4.30.}.3.0.1.0.0.0 5.30.}.3.0.0.1.0.0 6.30.}.3.0.2.0.0.0 7.30.}.3.0.1.0.0.0 [end] [offset] 928C [level] 46 [colour] b5686f [size] 16.31 [author] Svietla n Saz [data] QQQQ}QQQQQQQ&QQQ Q%!Q......D....Q Q..Q..#...QQ.Q*Q Q&QQ.#.#...Q...Q ---Q..###.QT.Q.Q QQQQ.##..#.Q...Q Q#b.~..###.Q.Q*Q QV#b.T#.#..Q...Q QVV#bs.#.#.Q...Q QVVV#b.#...QQ..Q QTVVV#b.T##Q-Q.Q QVVV#b...#.QQQ.Q QVV#b.###.?..Q&Q QV#bT#.#.#.#.Q.Q Q#b........QQQ.Q QQQQQQQQQQQ.T..Q -Q...&.........Q -Q.QQQQQ.Q*Q.Q*Q -Q.QTR?Q.......Q QQDQQ..QQQQQQQQQ Qb.......D#..#TQ Q...b.bbbQ.#...Q Q.bb.b.@.Q#.#.#Q Q%b.b.QQQQ.#..%Q Q.bb.@Q#.#.#.#.Q Q.bbbbQ.#.#.#.TQ Qb....Q#.#QQQQQQ Q*b...D#..Q----- Q..b.QQQQQQ----- Q...TQ---------- QQQQQQ---------- [additional] 12 4.0.}.1.0.1.0.0.0 12.0.&.10.0 14.2.*.1 1.3.&.10.1 14.6.*.1 14.12.&.7.0 5.16.&.8.0 10.17.*.1 14.17.*.1 7.22.@.3 5.24.@.3 1.27.*.1 [end] [offset] 948C [level] 47 [colour] 758785 [size] 16.31 [author] Svietla n Saz [data] -QQQQQQQQQQQQQQ- Q.............Q- Q.Q*Q@Q*Q@Q*Q@Q- Q.............QQ Q.Q*..Q*..Q@QT!Q Q...........QQQQ QQQ#.b.#...#Q--- --Q.#%.#R..TQ--- --QDQQQQQDQQQ--- --Q.Q---Q.Q----- --Q.Q---Q.Q----- --Q.Q---Q.Q----- --QTQ---QTQ----- --Q%Q---Q.Q--QQQ --Q.Q---Q.Q--QTQ --Q.Q-QQQ.QQQQ.Q --Q.QQQ......##Q QQQ.Q...QQQQ#b.Q Q.......Q#bbb#.Q Q.Q.Q.QQQb#.b.#Q Q......#b.#.b..Q QTQQQ.#b.##.b'?Q Q#Q-Q.b###.b.QQQ Q#Q-Q##....TQQ-- Q#QQQ.QQQQQQQ--- Q#?...Q--------- QQQ.QQQ--------- --QTQ---QQQQQQQQ QQQ.QQQQ??...'TQ QT..*^@..#..MQQQ QQQQQQQQQQQQQ--- [additional] 13 3.2.*.1 5.2.@.3 7.2.*.1 9.2.@.3 11.2.*.1 13.2.@.3 3.4.*.1 7.4.*.1 11.4.@.3 4.29.*.1 5.29.^.2.0.0 6.29.@.3 12.29.M.2 [end] [offset] 968C [level] 48 [colour] 95bc84 [size] 16.31 [author] Svietla n Saz [data] QQQQQQQQQQQ}QQQQ Q........&#.TQRQ Q.}..#.#.#...Q.Q Q.Q.Q.#..##.#Q.Q Q...QT.#..#..!.Q Q&}.Q}}Q}}}}}}}Q Q.}....QT.QT%.&Q Q.}.Q}DQ..Q%...Q Q.}.T}.Q##Q~#~#Q Q.}.Q}.Q}DQ}}}}Q Q%}.T}TQ?.....&Q Q.}.Q}Q%....b..Q Q.}.T}~}}}}.QT.Q Q.}^Q}...Q..T}.Q Q.}.Q}.........Q Q.}.#..T..QQQQ.Q QTQ.}#Q..#.}#..Q Q.Q.}.....##...Q Q%Q.}D}}Q.}QQQDQ Q.Q.}.%TQ.}T%..Q QTQ.}QQQ...QQQQQ Q.}......Q*....Q Q.}.Q}}}...}}DQQ Q.}^Q...Q.QTQ.TQ Q.}.Q.}@Q#}DQ}}Q Q.}.Q...Q...#..Q Q.}^QT#.#.Q&}##Q Q.}.Q#..&.#...+& Q.}.Q}}}}}}}QD}Q Q.}^D.....%TQT.Q QQQQQQQQQQQQQQQQ [additional] 90 11.0.}.0.0.0.0.1.1 9.1.&.10.0 2.2.}.1.0.1.0.0.0 1.5.&.10.1 2.5.}.1.0.1.0.0.0 5.5.}.1.0.1.0.0.0 6.5.}.1.0.1.0.0.0 8.5.}.1.0.1.0.0.0 9.5.}.1.0.1.0.0.0 10.5.}.1.0.1.0.0.0 11.5.}.1.0.1.0.0.0 12.5.}.1.0.1.0.0.0 13.5.}.1.0.1.0.0.0 14.5.}.1.0.1.0.0.0 2.6.}.1.0.1.0.0.0 14.6.&.1.0 2.7.}.1.0.1.0.0.0 5.7.}.1.0.1.0.0.0 2.8.}.1.0.1.0.0.0 5.8.}.1.0.1.0.0.0 2.9.}.1.0.1.0.0.0 5.9.}.1.0.1.0.0.0 8.9.}.1.0.1.0.0.0 11.9.}.1.0.1.0.0.0 12.9.}.1.0.1.0.0.0 13.9.}.1.0.1.0.0.0 14.9.}.1.0.1.0.0.0 2.10.}.1.0.1.0.0.0 5.10.}.1.0.1.0.0.0 14.10.&.1.1 2.11.}.1.0.1.0.0.0 5.11.}.1.0.1.0.0.0 2.12.}.1.0.1.0.0.0 5.12.}.1.0.1.0.0.0 7.12.}.1.0.1.0.0.0 8.12.}.1.0.1.0.0.0 9.12.}.1.0.1.0.0.0 10.12.}.1.0.1.0.0.0 2.13.}.1.0.1.0.0.0 3.13.^.3.0.0 5.13.}.1.0.1.0.0.0 13.13.}.1.0.1.0.0.0 2.14.}.1.0.1.0.0.0 5.14.}.1.0.1.0.0.0 2.15.}.1.0.1.0.0.0 4.16.}.1.0.1.0.0.0 11.16.}.3.0.0.1.0.0 4.17.}.1.0.1.0.0.0 4.18.}.1.0.1.0.0.0 6.18.}.1.0.1.0.0.0 7.18.}.1.0.1.0.0.0 10.18.}.1.0.1.0.0.0 4.19.}.1.0.1.0.0.0 10.19.}.1.0.1.0.0.0 4.20.}.1.0.1.0.0.0 2.21.}.1.0.1.0.0.0 10.21.*.1 2.22.}.1.0.1.0.0.0 5.22.}.1.0.1.0.0.0 6.22.}.1.0.1.0.0.0 7.22.}.1.0.1.0.0.0 11.22.}.1.0.1.0.0.0 12.22.}.1.0.1.0.0.0 2.23.}.1.0.1.0.0.0 3.23.^.3.0.0 2.24.}.1.0.1.0.0.0 6.24.}.1.0.1.0.0.0 7.24.@.3 10.24.}.1.0.1.0.0.0 13.24.}.1.0.1.0.0.0 14.24.}.1.0.1.0.0.0 2.25.}.1.0.1.0.0.0 2.26.}.1.0.1.0.0.0 3.26.^.3.0.0 11.26.&.2.0 12.26.}.1.0.1.0.0.0 2.27.}.1.0.1.0.0.0 8.27.&.3.0 15.27.&.3.1 2.28.}.1.0.1.0.0.0 5.28.}.1.0.1.0.0.0 6.28.}.1.0.1.0.0.0 7.28.}.1.0.1.0.0.0 8.28.}.1.0.1.0.0.0 9.28.}.1.0.1.0.0.0 10.28.}.1.0.1.0.0.0 11.28.}.1.0.1.0.0.0 14.28.}.1.0.1.0.0.0 2.29.}.1.0.1.0.0.0 3.29.^.3.0.0 [end] [offset] 988C [level] 49 [colour] 9bbb8b [size] 16.31 [author] Svietla n Saz [data] QQ}Q}QQQQQQQQQQQ Q#....}R}T#....& Q..}....}#.#.#.Q Q&.T..Q.}..b..bQ Q.......&#.....Q Q.##....Q..#.#.Q Q.#}.Q.TQ#T}T#TQ Q.....M}}}}}}}}Q Q...Q......#~#.} Q.}&Q...#+#@...Q Q..#..#.#...#..Q Q....#~#..#..##Q Q..T...#.#?..#.Q Q}}}}}Q}*.#.#.TQ Q&.%TTQ+QQQ&}}}Q Q}}}}}Q........Q }..............M Q......QQQQQQ&*Q Q..}&Q.}##..T}.Q Q.T}}T.}#...Q}.Q Q.Q..........}*Q Q..............Q Q...M}..#######Q QDQQQQD}}}}}}}}Q Q....}.Q.......Q QQQQT}...}}TQQ@Q }....}.........Q QTQQQ}#b#bQbTbbQ Q...%}bT.#Q.b#bQ Q.}T!}.b.#QT.bTQ Q}QQQQQQQQQQQQQQ [additional] 78 2.0.}.1.0.1.0.0.0 4.0.}.1.0.0.0.0.0 6.1.}.1.0.1.0.0.0 8.1.}.1.0.1.0.0.0 15.1.&.10.0 3.2.}.1.0.1.0.0.0 8.2.}.1.0.1.0.0.0 1.3.&.10.1 8.3.}.1.0.1.0.0.0 8.4.&.1.0 3.6.}.1.0.1.0.0.0 11.6.}.3.0.0.1.0.0 6.7.M.2 7.7.}.1.0.1.0.0.0 8.7.}.1.0.1.0.0.0 9.7.}.1.0.1.0.0.0 10.7.}.1.0.1.0.0.0 11.7.}.1.0.1.0.0.0 12.7.}.1.0.1.0.0.0 13.7.}.1.0.1.0.0.0 14.7.}.1.0.1.0.0.0 15.8.}.0.0.0.0.1.1 2.9.}.1.0.1.0.0.0 3.9.&.2.0 11.9.@.3 1.13.}.1.0.1.0.0.0 2.13.}.1.0.1.0.0.0 3.13.}.1.0.1.0.0.0 4.13.}.1.0.1.0.0.0 5.13.}.1.0.1.0.0.0 7.13.}.1.0.1.0.0.0 8.13.*.1 1.14.&.2.1 11.14.&.3.0 12.14.}.1.0.1.0.0.0 13.14.}.1.0.1.0.0.0 14.14.}.1.0.1.0.0.0 1.15.}.1.0.1.0.0.0 2.15.}.1.0.1.0.0.0 3.15.}.1.0.1.0.0.0 4.15.}.1.0.1.0.0.0 5.15.}.1.0.1.0.0.0 0.16.}.0.0.0.0.0.0 15.16.M.2 13.17.&.4.0 14.17.*.1 3.18.}.1.0.1.0.0.0 4.18.&.4.1 7.18.}.1.0.1.0.0.0 13.18.}.1.0.1.0.0.0 3.19.}.1.0.1.0.0.0 4.19.}.1.0.1.0.0.0 7.19.}.1.0.1.0.0.0 13.19.}.1.0.1.0.0.0 13.20.}.1.0.1.0.0.0 14.20.*.1 4.22.M.2 5.22.}.1.0.1.0.0.0 7.23.}.1.0.1.0.0.0 8.23.}.1.0.1.0.0.0 9.23.}.1.0.1.0.0.0 10.23.}.1.0.1.0.0.0 11.23.}.1.0.1.0.0.0 12.23.}.1.0.1.0.0.0 13.23.}.1.0.1.0.0.0 14.23.}.1.0.1.0.0.0 5.24.}.2.0.1.0.0.0 5.25.}.1.0.1.0.0.0 9.25.}.1.0.1.0.0.0 10.25.}.1.0.1.0.0.0 14.25.@.3 0.26.}.0.0.1.0.0.0 5.26.}.1.0.1.0.0.0 5.27.}.1.0.1.0.0.0 5.28.}.1.0.1.0.0.0 2.29.}.1.0.1.0.0.0 5.29.}.1.0.1.0.0.0 1.30.}.0.0.0.0.1.1 [end] [offset] 9A8C [level] 50 [colour] ac7d92 [size] 16.31 [author] Svietla n Saz [data] QQQQQQQQQQQQQQQQ QR...Q!........} QQQQTQQQTQQQT..Q Q..............} Q^^QQQTQQQTQQQTQ Q..............} QoooQT.TQ...Q.%Q &..TQQDQQ.}.QQQQ QoQQQT..QQQQQT'Q Q~~~Q...Q#~#Q#.Q }..............Q QQ.Q&&&&&&&&Q.QQ }..............Q Q.~b.......~bb.Q Q.Q#o======o#Q*Q Q.Qbo======obQ.Q Q.Q#o======o#Q.Q Q.Qbo======obQ*Q Q.Q#Q......Q#Q.Q Q.QTQT+}+T+QTQ.Q Q.QQQQQQQQQQQQ*Q Q.?.?.?.?.?.?..Q Q..............Q QQQ}Q}QQQ&Q}QQQQ QTT...........TQ Q~~.Q.#Q..Q.#Q.Q M..............M Q.}..TQ..QT.}..Q M...........#..M QT.~.##.#####.TQ QQQQ&Q..QQQQQQQQ [additional] 32 15.1.}.2.0.1.0.0.0 15.3.}.2.0.1.0.0.0 1.4.^.3.0.0 2.4.^.3.0.0 15.5.}.2.0.1.0.0.0 0.7.&.3.0 10.7.}.3.0.0.1.0.0 0.10.}.0.0.2.0.0.0 4.11.&.10.0 5.11.&.10.1 6.11.&.10.2 7.11.&.10.3 8.11.&.10.4 9.11.&.10.5 10.11.&.10.6 11.11.&.10.7 0.12.}.0.0.0.0.1.1 14.14.*.1 14.17.*.1 7.19.}.3.0.0.1.0.0 14.20.*.1 3.23.}.1.0.1.0.0.0 5.23.}.0.0.0.0.1.1 9.23.&.1.0 11.23.}.1.0.1.0.0.0 0.26.M.0 15.26.M.2 2.27.}.0.0.0.0.1.1 12.27.}.0.0.0.0.1.1 0.28.M.0 15.28.M.2 4.30.&.3.1 [end] [offset] 9C8C [level] 51 [colour] 88a053 [size] 16.31 [author] Svietla n Saz [data] QQQQQQQQQQQQQQ}Q M..............M Q.~.bQQQQ&QQQb.Q Q...QTT....TTQ.Q Q...Q..^.....Q.} Q.Q@&...^^...&.} Q.Q.Q....^^^^Q.} Q.Q.Q........Q.} Q.Q.QTT.+..TTQ.} Q.Q@bQQ&}}}}Q..} Q..............Q Q....b}QQb.....Q QR...}T.T}.....} QQ}&}b...Q..!..Q Q......~.b}}}Q}Q Q......#......'Q Q..TQ..........Q Q.TQb..b}}b..~.Q Q.}b...}TT}..}@Q Q.}...}....Q.}.Q Q.}..}T.??.Q.}.Q Q.}...}....Q.}.Q Q.}bb.#}...Q.}.Q Q.T}b...}..Q.}.Q Q..T}...}@.Q.}.Q Q...Q...}..Q.}.Q }...Q...}..QT}.Q }...QTTQ...QT}.Q }...TQQb.#.b}..Q Q.............TQ Q&QQ&Q&QQ&Q&Q&QQ [additional] 78 14.0.}.1.0.2.0.0.0 0.1.M.0 15.1.M.2 9.2.&.3.0 7.4.^.2.0.0 15.4.}.0.0.0.0.1.1 3.5.@.3 4.5.&.5.0 8.5.^.3.0.0 9.5.^.2.0.0 13.5.&.4.0 15.5.}.0.0.0.0.1.1 9.6.^.2.0.0 10.6.^.3.0.0 11.6.^.3.0.0 12.6.^.2.0.0 15.6.}.0.0.0.0.1.1 15.7.}.0.0.0.0.1.1 15.8.}.0.0.0.0.1.1 3.9.@.3 7.9.&.2.0 8.9.}.1.0.1.0.0.0 9.9.}.1.0.1.0.0.0 10.9.}.1.0.1.0.0.0 11.9.}.1.0.1.0.0.0 15.9.}.0.0.0.0.1.1 6.11.}.1.0.1.0.0.0 5.12.}.1.0.1.0.0.0 9.12.}.0.0.0.0.0.0 15.12.}.2.0.2.0.0.0 2.13.}.1.0.1.0.0.0 3.13.&.10.0 4.13.}.1.0.1.0.0.0 10.14.}.1.0.1.0.0.0 11.14.}.1.0.1.0.0.0 12.14.}.1.0.1.0.0.0 14.14.}.1.0.1.0.0.0 8.17.}.1.0.1.0.0.0 9.17.}.1.0.1.0.0.0 2.18.}.1.0.1.0.0.0 7.18.}.1.0.1.0.0.0 10.18.}.1.0.1.0.0.0 13.18.}.1.0.1.0.0.0 14.18.@.3 2.19.}.1.0.1.0.0.0 6.19.}.1.0.1.0.0.0 13.19.}.1.0.1.0.0.0 2.20.}.1.0.1.0.0.0 5.20.}.1.0.1.0.0.0 13.20.}.1.0.1.0.0.0 2.21.}.1.0.1.0.0.0 6.21.}.1.0.1.0.0.0 13.21.}.1.0.1.0.0.0 2.22.}.1.0.1.0.0.0 7.22.}.1.0.1.0.0.0 13.22.}.1.0.1.0.0.0 3.23.}.1.0.1.0.0.0 8.23.}.1.0.1.0.0.0 13.23.}.1.0.1.0.0.0 4.24.}.1.0.1.0.0.0 8.24.}.1.0.1.0.0.0 9.24.@.3 13.24.}.1.0.1.0.0.0 8.25.}.1.0.1.0.0.0 13.25.}.1.0.1.0.0.0 0.26.}.0.0.1.0.0.0 8.26.}.1.0.1.0.0.0 13.26.}.1.0.1.0.0.0 0.27.}.0.0.0.0.0.0 13.27.}.1.0.1.0.0.0 0.28.}.0.0.2.0.0.0 12.28.}.1.0.1.0.0.0 1.30.&.8.0 4.30.&.4.1 6.30.&.6.0 9.30.&.7.0 11.30.&.8.1 13.30.&.8.2 [end] [offset] 9E8C [level] 52 [colour] b35d69 [size] 16.31 [author] Svietla n Saz [data] -------'-------- -TR.....+......- -----T----.---@- -T.T----T-.-...- --.-!.-?.-.-.--- --............T& -------.-------- -T-...T...T&--&- -.-----}-----&.- -..........----- -----.----.-&.&- --?T-T-T-&.----- --..---.--bbbbb- --...D..--#---b- --.}.--....-...- --...-------.-.- --T..----....-.- ----.D..-T----.- --}----.----T-.- -.....-......-~- -.%T*.------.-.- &............-.- -??????---.---.- ---------'.-T..- ----------.---'- -..T........T--- --------TT-...-- ---....------.-- --..-.........&- --T%-T-----'---- ---------------- [additional] 14 14.2.@.3 15.5.&.3.0 11.7.&.1.0 14.7.&.3.1 7.8.}.0.0.0.0.1.1 13.8.&.2.0 12.10.&.1.1 14.10.&.10.0 9.11.&.2.1 3.14.}.0.0.0.0.1.1 2.18.}.1.0.0.0.0.0 4.20.*.1 0.21.&.8.0 14.28.&.10.1 [end] [offset] A08C [level] 53 [colour] 87d072 [size] 16.31 [author] Svietla n Saz [data] QQ'QQQQQQQQQQQQQ QT.}...}TQT.!QTQ Q..}.Q@}.Q....TQ Q.#}...}.Q.Q}}}Q Q#.Q.}.Q...QT.'Q Q.#..}.Q.}*D..#Q Q#.#.}&Q...}##.Q Q.#.#}.R}.Q....Q Q.b..}T.&..#.#.Q Q#'#'#QQQQ###..Q Q.#.##.T}T#..~#Q Q.#..#.b}.##b..Q s=======s.s====s s=.=.=.=sTs==.=s s=======ss=====s s.==.==.ss=.==.s Q#.T#..T}}T...'Q Q....#.QTTs====s Q'#..#.Q.?Q....Q Q}}}}D}QD}QbbbbQ QT..Q.}+.~.####Q Q.##Q.}+#......Q Q##.Q#}Q...#.}bQ Q#.#..TQ##...}.Q QQQQQ.}..#.#T}TQ QT^.####.QQQQQQQ QT^.#..###}.T#.Q QT^..#...#}.#..Q QT^...~..#}###.Q QT^...#...#...%Q QQQQQQQQQQQQQQQQ [additional] 46 3.1.}.1.0.1.0.0.0 7.1.}.1.0.1.0.0.0 3.2.}.1.0.1.0.0.0 6.2.@.3 7.2.}.1.0.1.0.0.0 3.3.}.1.0.1.0.0.0 7.3.}.1.0.1.0.0.0 12.3.}.1.0.1.0.0.0 13.3.}.1.0.1.0.0.0 14.3.}.1.0.1.0.0.0 5.4.}.1.0.1.0.0.0 5.5.}.1.0.1.0.0.0 9.5.}.1.0.1.0.0.0 10.5.*.1 5.6.}.1.0.1.0.0.0 6.6.&.7.0 11.6.}.1.0.1.0.0.0 5.7.}.1.0.1.0.0.0 8.7.}.1.0.1.0.0.0 5.8.}.1.0.1.0.0.0 8.8.&.8.0 8.10.}.1.0.1.0.0.0 8.11.}.1.0.1.0.0.0 8.16.}.1.0.1.0.0.0 9.16.}.1.0.1.0.0.0 1.19.}.1.0.1.0.0.0 2.19.}.1.0.1.0.0.0 3.19.}.1.0.1.0.0.0 4.19.}.1.0.1.0.0.0 6.19.}.1.0.1.0.0.0 9.19.}.1.0.1.0.0.0 6.20.}.1.0.1.0.0.0 6.21.}.1.0.1.0.0.0 6.22.}.1.0.1.0.0.0 13.22.}.1.0.1.0.0.0 13.23.}.1.0.1.0.0.0 6.24.}.1.0.1.0.0.0 13.24.}.1.0.1.0.0.0 2.25.^.2.0.0 2.26.^.2.0.0 10.26.}.1.0.1.0.0.0 2.27.^.2.0.0 10.27.}.1.0.1.0.0.0 2.28.^.2.0.0 10.28.}.1.0.1.0.0.0 2.29.^.2.0.0 [end] [offset] A28C [level] 54 [colour] 8cb7a7 [size] 16.31 [author] Svietla n Saz [data] QQQQQQQQQQQQQQQQ Q%%Q..#..#..Q.TQ QTTQT.#.#....#.Q Q..QQQQQ..QQ..#Q Q.#..Q###.#.##.Q Q....D.#.#.#.~.Q Q#.##QT.#....#.Q Q.##.QQQQQQ#..#Q Q#..#Q####bQ.#.Q Q#.#Q......bQ..Q Q..Q..QQQQ..bQTQ QTD..QT...Q..bQQ QQ..Q...Q@.Q..bQ -o.o..Q.....QDDQ -Q...QTQ#.Q..QTQ QQ..#.#.Q.....QQ Q..Q...Q.Q#.Q@T. QT.....&.#Q...QQ QQ...Q#QT.#Q#.Q- Q...Q..QQQ..Q.QQ Q#.Q.#.Q??Q*QT.Q Q..Q..Q...?QTQ.Q Q..QTQQ.~.?Q.Q.Q Q...Q.#...Q#.Q!Q Q....#...D...QQQ Q#..Q.#.Q#.#~QRQ QT%QTQTQT...#Q.Q QQQ&.&QQQQ.QQQ.Q Q.##....T...b..Q Q^^............Q QQQQQQQQQQQQQQQQ [additional] 8 9.12.@.3 13.16.@.3 7.17.&.1.0 11.20.*.1 3.27.&.1.1 5.27.&.10.0 1.29.^.3.0.0 2.29.^.2.1.1 [end] [offset] A48C [level] 55 [colour] ad8d63 [size] 16.31 [author] Svietla n Saz [data] QQQQQQQQQQQQ&QQQ QR#.#.~~#.~.#T.& Q.#..#~#.#.##~#Q Q.b.#.#.####~#~Q Q.##.#Q#.#~####Q Q#.#b&#.###TQ~#Q Q.!.#..#~#~#~#~Q Q..~###.##~####Q &.##~.b#.###b.#Q Q#.#b#b#.#.#.b~Q Q~.#b~#.#.###.~Q Q~..##~#.#..#..Q Q~..#.####.###~Q Q~##.#~Q..#.#.~Q Q~#.#.#.&##...&Q Q###.#.#.#~##Q#Q Q..##.###~#..#.Q Q##.#..#...#.#.Q Q~#..#b#.##.#.#Q Q.##.#.b#~#.#~#Q Q#.##b##.b..##~Q Q..#.#&~#~#.#bbQ &.##.#.#Q#.#QbTQ Q..###b##~.b#b.& Q#..#...#..#.#bQ Q#.Q.##~.~##.b#Q Q~#..#~~.#.#b#.Q Q#.##..#..#b..#Q Q##.b.##b.bbbQ#Q Q~~~'..##bbT.b~Q QQQQQQQQQQQQ&QQQ [additional] 10 12.0.&.2.0 15.1.&.7.0 5.5.&.1.0 0.8.&.8.0 8.14.&.7.1 14.14.&.6.0 6.21.&.10.0 0.22.&.5.0 15.23.&.4.0 12.30.&.3.0 [end] [offset] A68C [level] 56 [colour] a0a757 [size] 16.31 [author] Svietla n Saz [data] -QQQQQQ&Q------- Q#.#.#...&------ Q.#...Q!.TQ----- Q#T#.Q-Q..TQ---- &...Q---Q.^.&--- Q#.Q-----Q.T.Q-- Q.Q-------Q..TQ- Q.Q--------Q...Q Q.Q--&.+T&--QR.Q Q.Q----------QDQ Q#Q----------QDQ &.TQ-------QQ..Q Q.Q?Q-----Q....Q Q....Q----Q.TT.Q Q.Q@..Q---Q.bb.Q Q.%&...Q--Q....Q Q.Q.Q@.TQ--QQQQ- Q.Q......Q------ Q.&.%.....Q----- Q.Q.Q..&@..Q---- Q.&@.Q..QT..Q-Q- Q..Q..&..&..bQbQ Q...Q@....Q.QbTQ Q...T&...&@.Q..Q Q...Q....TQ..b.Q Q..&......Q.Q.bQ Q.Q.......&@QbTQ Q..QT&..&.Q.Q..Q Q...Q...TQ@.QTbQ Q...........Q..Q -QQQQQQQQQQQ-QQ- [additional] 28 7.0.&.4.0 9.1.&.10.0 0.4.&.7.0 10.4.^.2.0.0 12.4.&.10.1 5.8.&.8.0 9.8.&.4.1 0.11.&.7.1 3.14.@.3 3.15.&.2.0 5.16.@.3 2.18.&.1.0 7.19.&.1.1 8.19.@.3 2.20.&.5.0 3.20.@.3 6.21.&.5.1 9.21.&.1.2 5.22.@.3 5.23.&.2.1 9.23.&.6.0 10.23.@.3 3.25.&.1.3 10.26.&.3.0 11.26.@.3 5.27.&.3.1 8.27.&.8.1 10.28.@.3 [end] [end] [end] [end] [end] [end] gnurobbo-0.66+dfsg/data/levels/robbo11.dat0000644000175000017500000011274111324353351017407 0ustar stevesteveagain levels are made by Ela and Dawid Borowiec [name] RobboXI [last_level] 32 [offset] 508C [level] 1 [colour] [size] 16.31 [author] Ela & Dawid [data] QQQQQQQQ&QQQQQQQ Q*'........''''Q Q..............Q Q..............Q Q....@.........Q Q...~~~~~......Q Q..............Q Q..............Q Q............bRQ QQQQQDQQQQQQQQQQ Q....~...QTTTTTQ Q........QTTTTTQ QHHHHHHHHQHH}^^Q QHH%HHHHH&.....Q ????..VV.Q.....Q Q???..V..Q.....Q Q???.....QVVVVVQ Q???.b..bQ.....Q QQQQDQQQQQ.....Q QbbbbbbbbQ.....Q Qb######bQ.....Q Qbb@*@*#bQ.....Q QbV*T*@bbQ.....Q QbV@@@*#bQ.....Q QbVVVb@bbQ.....Q Qbbbbb*#bQ.....Q QQQQQb@bbQVVVVVQ Q&.?Qb*VbQH}H^^Q Q'.?QbbbbQTTTTTQ Q!??QbbbbQTTTTTQ QQQQQQQQQQQQQQQQ [additional] 26 8.0.&.1.0 1.1.*.2 5.4.@.2 12.12.}.0.0.0.0.1.1 13.12.^.1.0.0 14.12.^.1.0.0 9.13.&.1.1 3.21.@.2 4.21.*.0 5.21.@.2 6.21.*.0 3.22.*.0 5.22.*.0 6.22.@.2 3.23.@.2 4.23.@.2 5.23.@.2 6.23.*.0 6.24.@.2 6.25.*.0 6.26.@.2 1.27.&.1.2 6.27.*.0 11.27.}.0.0.0.0.1.1 13.27.^.3.0.0 14.27.^.3.0.0 [end] [offset] 528C [level] 2 [colour] [size] 16.31 [author] Ela & Dawid [data] PPPPPPPPPPPPPPTP PT*b..~T.......P PT*b..~T....'.RP PT*b..~T.......P P&*b..~T.......P M--------T-----M M?------------?M ^^^^^^^^^^^^^^^^ }}}}}}}}}}}}}}}} }}}}}}}}}}}}}}}} }}}}}}}}}}}}}}}} }}}}}}}}}}}}}}}} }}}}}}}}}}}}}}}} }}}}}}}}}}}}}}}} }}}}}}}}}}}}}}}} }}}}}}}}}}}}}}}} '''''''''''''''' '''''''''''''''' VVVVVVVVVVVVVVVV **************** *@@@@@@@@@@@@@@@ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ################ ~~~~~~~~~~~~~~~~ ~~~~~~~~~~~&~~~~ PT^TT^........TP PT....!......T}P PPPPPPPPPPPPTPPP [additional] 253 2.1.*.0 2.2.*.0 2.3.*.0 1.4.&.5.0 2.4.*.0 0.5.M.0 15.5.M.2 0.6.M.0 15.6.M.2 0.7.^.0.1.1 1.7.^.0.1.1 2.7.^.0.1.1 3.7.^.0.1.1 4.7.^.0.1.1 5.7.^.0.1.1 6.7.^.0.1.1 7.7.^.0.1.1 8.7.^.0.1.1 9.7.^.0.1.1 10.7.^.0.1.1 11.7.^.0.1.1 12.7.^.0.1.1 13.7.^.0.1.1 14.7.^.0.1.1 15.7.^.0.1.1 0.8.}.3.0.0.1.0.0 1.8.}.3.0.0.1.0.0 2.8.}.3.0.0.1.0.0 3.8.}.3.0.0.1.0.0 4.8.}.3.0.0.1.0.0 5.8.}.3.0.0.1.0.0 6.8.}.3.0.0.1.0.0 7.8.}.3.0.0.1.0.0 8.8.}.3.0.0.1.0.0 9.8.}.3.0.0.1.0.0 10.8.}.3.0.0.1.0.0 11.8.}.3.0.0.1.0.0 12.8.}.3.0.0.1.0.0 13.8.}.3.0.0.1.0.0 14.8.}.3.0.0.1.0.0 15.8.}.3.0.0.1.0.0 0.9.}.3.0.0.1.0.0 1.9.}.3.0.0.1.0.0 2.9.}.3.0.0.1.0.0 3.9.}.3.0.0.1.0.0 4.9.}.3.0.0.1.0.0 5.9.}.3.0.0.1.0.0 6.9.}.3.0.0.1.0.0 7.9.}.3.0.0.1.0.0 8.9.}.3.0.0.1.0.0 9.9.}.3.0.0.1.0.0 10.9.}.3.0.0.1.0.0 11.9.}.3.0.0.1.0.0 12.9.}.3.0.0.1.0.0 13.9.}.3.0.0.1.0.0 14.9.}.3.0.0.1.0.0 15.9.}.3.0.0.1.0.0 0.10.}.0.0.0.0.1.1 1.10.}.0.0.0.0.1.1 2.10.}.0.0.0.0.1.1 3.10.}.0.0.0.0.1.1 4.10.}.0.0.0.0.1.1 5.10.}.0.0.0.0.1.1 6.10.}.0.0.0.0.1.1 7.10.}.0.0.0.0.1.1 8.10.}.0.0.0.0.1.1 9.10.}.0.0.0.0.1.1 10.10.}.0.0.0.0.1.1 11.10.}.0.0.0.0.1.1 12.10.}.0.0.0.0.1.1 13.10.}.0.0.0.0.1.1 14.10.}.0.0.0.0.1.1 15.10.}.0.0.0.0.1.1 0.11.}.0.0.0.0.1.1 1.11.}.0.0.0.0.1.1 2.11.}.0.0.0.0.1.1 3.11.}.0.0.0.0.1.1 4.11.}.0.0.0.0.1.1 5.11.}.0.0.0.0.1.1 6.11.}.0.0.0.0.1.1 7.11.}.0.0.0.0.1.1 8.11.}.0.0.0.0.1.1 9.11.}.0.0.0.0.1.1 10.11.}.0.0.0.0.1.1 11.11.}.0.0.0.0.1.1 12.11.}.0.0.0.0.1.1 13.11.}.0.0.0.0.1.1 14.11.}.0.0.0.0.1.1 15.11.}.0.0.0.0.1.1 0.12.}.2.0.0.0.0.0 1.12.}.2.0.0.0.0.0 2.12.}.2.0.0.0.0.0 3.12.}.2.0.0.0.0.0 4.12.}.2.0.0.0.0.0 5.12.}.2.0.0.0.0.0 6.12.}.2.0.0.0.0.0 7.12.}.2.0.0.0.0.0 8.12.}.2.0.0.0.0.0 9.12.}.2.0.0.0.0.0 10.12.}.2.0.0.0.0.0 11.12.}.2.0.0.0.0.0 12.12.}.2.0.0.0.0.0 13.12.}.2.0.0.0.0.0 14.12.}.2.0.0.0.0.0 15.12.}.2.0.0.0.0.0 0.13.}.2.0.0.0.0.0 1.13.}.2.0.0.0.0.0 2.13.}.2.0.0.0.0.0 3.13.}.2.0.0.0.0.0 4.13.}.2.0.0.0.0.0 5.13.}.2.0.0.0.0.0 6.13.}.2.0.0.0.0.0 7.13.}.2.0.0.0.0.0 8.13.}.2.0.0.0.0.0 9.13.}.2.0.0.0.0.0 10.13.}.2.0.0.0.0.0 11.13.}.2.0.0.0.0.0 12.13.}.2.0.0.0.0.0 13.13.}.2.0.0.0.0.0 14.13.}.2.0.0.0.0.0 15.13.}.2.0.0.0.0.0 0.14.}.2.0.1.0.0.0 1.14.}.2.0.1.0.0.0 2.14.}.2.0.1.0.0.0 3.14.}.2.0.1.0.0.0 4.14.}.2.0.1.0.0.0 5.14.}.2.0.1.0.0.0 6.14.}.2.0.1.0.0.0 7.14.}.2.0.1.0.0.0 8.14.}.2.0.1.0.0.0 9.14.}.2.0.1.0.0.0 10.14.}.2.0.1.0.0.0 11.14.}.2.0.1.0.0.0 12.14.}.2.0.1.0.0.0 13.14.}.2.0.1.0.0.0 14.14.}.2.0.1.0.0.0 15.14.}.2.0.1.0.0.0 0.15.}.2.0.1.0.0.0 1.15.}.2.0.1.0.0.0 2.15.}.2.0.1.0.0.0 3.15.}.2.0.1.0.0.0 4.15.}.2.0.1.0.0.0 5.15.}.2.0.1.0.0.0 6.15.}.2.0.1.0.0.0 7.15.}.2.0.1.0.0.0 8.15.}.2.0.1.0.0.0 9.15.}.2.0.1.0.0.0 10.15.}.2.0.1.0.0.0 11.15.}.2.0.1.0.0.0 12.15.}.2.0.1.0.0.0 13.15.}.2.0.1.0.0.0 14.15.}.2.0.1.0.0.0 15.15.}.2.0.1.0.0.0 0.19.*.0 1.19.*.0 2.19.*.0 3.19.*.0 4.19.*.0 5.19.*.0 6.19.*.0 7.19.*.0 8.19.*.0 9.19.*.0 10.19.*.0 11.19.*.0 12.19.*.0 13.19.*.0 14.19.*.0 15.19.*.0 0.20.*.0 1.20.@.2 2.20.@.2 3.20.@.2 4.20.@.2 5.20.@.2 6.20.@.2 7.20.@.2 8.20.@.2 9.20.@.2 10.20.@.2 11.20.@.2 12.20.@.2 13.20.@.2 14.20.@.2 15.20.@.2 0.21.^.2.0.0 1.21.^.2.0.0 2.21.^.2.0.0 3.21.^.2.0.0 4.21.^.2.0.0 5.21.^.2.0.0 6.21.^.2.0.0 7.21.^.2.0.0 8.21.^.2.0.0 9.21.^.2.0.0 10.21.^.2.0.0 11.21.^.2.0.0 12.21.^.2.0.0 13.21.^.2.0.0 14.21.^.2.0.0 15.21.^.2.0.0 0.22.^.3.0.0 1.22.^.3.0.0 2.22.^.3.0.0 3.22.^.3.0.0 4.22.^.3.0.0 5.22.^.3.0.0 6.22.^.3.0.0 7.22.^.3.0.0 8.22.^.3.0.0 9.22.^.3.0.0 10.22.^.3.0.0 11.22.^.3.0.0 12.22.^.3.0.0 13.22.^.3.0.0 14.22.^.3.0.0 15.22.^.3.0.0 0.23.^.0.0.0 1.23.^.0.0.0 2.23.^.0.0.0 3.23.^.0.0.0 4.23.^.0.0.0 5.23.^.0.0.0 6.23.^.0.0.0 7.23.^.0.0.0 8.23.^.0.0.0 9.23.^.0.0.0 10.23.^.0.0.0 11.23.^.0.0.0 12.23.^.0.0.0 13.23.^.0.0.0 14.23.^.0.0.0 15.23.^.0.0.0 0.24.^.1.0.0 1.24.^.1.0.0 2.24.^.1.0.0 3.24.^.1.0.0 4.24.^.1.0.0 5.24.^.1.0.0 6.24.^.1.0.0 7.24.^.1.0.0 8.24.^.1.0.0 9.24.^.1.0.0 10.24.^.1.0.0 11.24.^.1.0.0 12.24.^.1.0.0 13.24.^.1.0.0 14.24.^.1.0.0 15.24.^.1.0.0 11.27.&.5.1 2.28.^.1.0.0 5.28.^.1.0.0 14.29.}.2.0.1.0.0.0 [end] [offset] 548C [level] 3 [colour] [size] 16.31 [author] Ela & Dawid [data] oooooooooooooooo o&H'''^......R&o oHH#...........o oT^b...........o oT^b...........o oTVb...#.......o oT^b.......HHH.o oTVb.......H&H.o oT^b.M.....HHH.o oooooooooooooToo -------------&-- ---------------- ---------------- &.T.T.T.b.HbVVTT ---------------- &.........b#@@@T ---------------- &..T.T.T.....HV& ---------------- &........T...HV& ---------------- &......T.T.T.H*T --T-T----------- --------*--*---- #T-T-T--------*- -#?#?#--!--&---- -b-b-b--b--..??? o.....HHHHHHHHHo o.............Ho o}.T....T...T.}o oooooooooooooooo [additional] 27 1.1.&.1.0 6.1.^.1.0.0 14.1.&.6.0 2.3.^.1.0.0 2.4.^.0.0.0 2.6.^.3.0.0 12.7.&.2.0 2.8.^.2.0.0 5.8.M.0 13.10.&.3.0 0.13.&.1.1 0.15.&.2.1 12.15.@.2 13.15.@.2 14.15.@.2 0.17.&.3.1 15.17.&.4.0 0.19.&.4.1 15.19.&.5.0 0.21.&.5.1 14.21.*.0 8.23.*.0 11.23.*.0 14.24.*.0 11.25.&.6.1 1.29.}.0.0.2.0.0.0 14.29.}.2.0.0.0.0.0 [end] [offset] 568C [level] 4 [colour] [size] 16.31 [author] Ela & Dawid [data] pppppppppppppppp M##&.%.T.T.T.TRp ###############p p&.Hb.bHbHbHbH!p pppppppppppppppp p'''THHVVVVVVp&p p''TTHHVVVVVVpTp p&&..HHVVVVVVDTp pppppppppppppppp VVVVVVVVVVVVVVVV VVVVVVVVVVVVVVVV VVVVVVVVVVVVVVVV VVVVVVVVVVVVVVVV VVVVVVVVVVVVVVVV VVVVVVVVVVVVVVVV VVVVVVVVVVVVVVVV VVVVVVVVVVVVVVVV VVVVVVVVVVVVVVVV VVVVVVVVVVVVVVVV VVVVVVVVVVVVVVVV VVVVVVVVVVVVVVVV VVVVVVVVVVVVVVVV VVVVVVVVVVVVVVVV VVVVVVVVVVVVVVVV ---------------- &.T.T.THH@V@V@&- ---------------- -TT???---------- -TVVVV---------- pTVVVVH.......&p pTTTpppppppppppp [additional] 12 0.1.M.0 3.1.&.4.0 1.3.&.1.0 14.5.&.2.0 1.7.&.1.1 2.7.&.4.1 0.25.&.2.1 9.25.@.2 11.25.@.2 13.25.@.2 14.25.&.3.0 14.29.&.3.1 [end] [offset] 588C [level] 5 [colour] [size] 16.31 [author] Ela & Dawid [data] QQQQQQQQQQQQQQQQ QR.'''.b..b....Q Q......b..b....Q Q..bbbbb..b....Q QbbbbbbbbbbbbbbQ Q..b.b.bb......Q Q..b.b..bb.....Q Q..b.b...b.....Q bbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbb QV...b.bb..VV.bQ Q.VVVbVbbV.VVVbQ Q..VV..VVVbbbbbQ Q#####bVVVbbbbbQ Q.....bbbbb....Q Q.....bbbbb....Q Q.............!Q QHHHHHHHHHHHHHHQ Q?.?.......bbbbQ Q.........b.*.?Q Q........bb...*Q Q........b.....Q Q........b*.@..Q Q......bb......Q Q......b*.....*Q QHHHHHHb.......Q QVVVVVVb*......Q QHHHHHHb......TQ QVVVVVVb.....??Q QVVVVVVb......TQ QQQQQQbbQQQQQQQQ [additional] 7 12.19.*.2 14.20.*.2 10.22.*.1 12.22.@.3 8.24.*.2 14.24.*.3 8.26.*.1 [end] [offset] 5A8C [level] 6 [colour] [size] 16.31 [author] Ela & Dawid [data] ssssssssssssssss s&DD...........s ss'%-%-'-'--!-Rs ssssssssssssssss ---------------- -%-------------- &.TTTTTTTTHVVTD& ---------------- MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM VVVVVVVVVVVVVVVV VVVVVVVVVVVVVVVV VVVVVVVVVVVVVVVV VVVVVVVVVVVVVVVV ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ }}}}}}}}}}}}}}}} ################ ~~~~~~~~~~~~~~~~ ???????????????? bbbbbbbbbbbbbbbb ^^^^^^^^^^^^^^^^ @@@@@@@@@@@@@@@@ **************** ---------------- ---------T-T-T-- -&......HVHVHT&- ---------------- -&.....HVHVH@@&- ---------------- &....T.T.HVVVVTT [additional] 138 1.1.&.1.0 0.6.&.1.1 15.6.&.2.0 0.8.M.2 1.8.M.2 2.8.M.2 3.8.M.2 4.8.M.2 5.8.M.2 6.8.M.2 7.8.M.2 8.8.M.2 9.8.M.2 10.8.M.2 11.8.M.2 12.8.M.2 13.8.M.2 14.8.M.2 15.8.M.2 0.9.M.0 1.9.M.0 2.9.M.0 3.9.M.0 4.9.M.0 5.9.M.0 6.9.M.0 7.9.M.0 8.9.M.0 9.9.M.0 10.9.M.0 11.9.M.0 12.9.M.0 13.9.M.0 14.9.M.0 15.9.M.0 0.14.^.2.1.1 1.14.^.2.1.1 2.14.^.2.1.1 3.14.^.2.1.1 4.14.^.2.1.1 5.14.^.2.1.1 6.14.^.2.1.1 7.14.^.2.1.1 8.14.^.2.1.1 9.14.^.2.1.1 10.14.^.2.1.1 11.14.^.2.1.1 12.14.^.2.1.1 13.14.^.2.1.1 14.14.^.2.1.1 15.14.^.2.1.1 0.15.^.2.1.1 1.15.^.2.1.1 2.15.^.2.1.1 3.15.^.2.1.1 4.15.^.2.1.1 5.15.^.2.1.1 6.15.^.2.1.1 7.15.^.2.1.1 8.15.^.2.1.1 9.15.^.2.1.1 10.15.^.2.1.1 11.15.^.2.1.1 12.15.^.2.1.1 13.15.^.2.1.1 14.15.^.2.1.1 15.15.^.2.1.1 0.16.}.0.0.0.0.1.1 1.16.}.0.0.0.0.1.1 2.16.}.0.0.0.0.1.1 3.16.}.0.0.0.0.1.1 4.16.}.0.0.0.0.1.1 5.16.}.0.0.0.0.1.1 6.16.}.0.0.0.0.1.1 7.16.}.0.0.0.0.1.1 8.16.}.0.0.0.0.1.1 9.16.}.0.0.0.0.1.1 10.16.}.0.0.0.0.1.1 11.16.}.0.0.0.0.1.1 12.16.}.0.0.0.0.1.1 13.16.}.0.0.0.0.1.1 14.16.}.0.0.0.0.1.1 15.16.}.0.0.0.0.1.1 0.21.^.1.0.0 1.21.^.1.0.0 2.21.^.1.0.0 3.21.^.1.0.0 4.21.^.1.0.0 5.21.^.1.0.0 6.21.^.1.0.0 7.21.^.1.0.0 8.21.^.1.0.0 9.21.^.1.0.0 10.21.^.1.0.0 11.21.^.1.0.0 12.21.^.1.0.0 13.21.^.1.0.0 14.21.^.1.0.0 15.21.^.1.0.0 0.22.@.2 1.22.@.2 2.22.@.2 3.22.@.2 4.22.@.2 5.22.@.2 6.22.@.2 7.22.@.2 8.22.@.2 9.22.@.2 10.22.@.2 11.22.@.2 12.22.@.2 13.22.@.2 14.22.@.2 15.22.@.2 0.23.*.0 1.23.*.0 2.23.*.0 3.23.*.0 4.23.*.0 5.23.*.0 6.23.*.0 7.23.*.0 8.23.*.0 9.23.*.0 10.23.*.0 11.23.*.0 12.23.*.0 13.23.*.0 14.23.*.0 15.23.*.0 1.26.&.2.1 14.26.&.3.0 1.28.&.3.1 12.28.@.2 13.28.@.2 14.28.&.4.0 0.30.&.4.1 [end] [offset] 5C8C [level] 7 [colour] [size] 16.31 [author] Ela & Dawid [data] oooooooooooooooo o&oR%T%..T%T.DTo o}ooooooooooooTo o.bT'..D..T....o oooooooooooooooo o!o'..}HHHHH&HHo oToo&.....b...%o o}}oooooooooooDo o..bD..}b.}b..To o--------------o o--------------- ---------------- ---------------- ---------------- TTTTT----------- T^^^^HHHH------- o....H...&^..T'o o........o.....o o........o.....o o........o.....o o^^^^##^^o^....o oooooooooooo&ooo oT^^^H^.bb.....o oT......b......o oT^^^..Hb.&#^.^o oooooooooooooooo oM.T..T.....T.Mo o....#.#....^..o o..............o o..#....^..'.b}o o&oooooooo&ooooo [additional] 40 1.1.&.1.0 1.2.}.1.0.0.0.0.0 6.5.}.0.0.1.0.0.0 12.5.&.2.0 4.6.&.1.1 1.7.}.1.0.1.0.0.0 2.7.}.1.0.1.0.0.0 7.8.}.3.0.0.1.0.0 10.8.}.3.0.0.1.0.0 1.15.^.1.0.0 2.15.^.1.0.0 3.15.^.1.0.0 4.15.^.1.0.0 9.16.&.6.0 10.16.^.1.0.0 1.20.^.3.0.0 2.20.^.3.0.0 3.20.^.3.0.0 4.20.^.3.0.0 7.20.^.2.0.0 8.20.^.3.0.0 10.20.^.3.0.0 12.21.&.4.0 2.22.^.1.0.0 3.22.^.1.0.0 4.22.^.1.0.0 6.22.^.0.1.1 2.24.^.3.0.0 3.24.^.3.0.0 4.24.^.3.0.0 10.24.&.3.0 12.24.^.0.0.0 14.24.^.3.0.0 1.26.M.0 14.26.M.2 12.27.^.1.0.0 8.29.^.0.0.0 14.29.}.3.0.0.1.0.0 1.30.&.2.1 10.30.&.3.1 [end] [offset] 5E8C [level] 8 [colour] [size] 16.31 [author] Ela & Dawid [data] PPPPPPPPPPPPPPPP PT....@@....bT.P P......b.b..b..P P....b@....bb.bP P..b..b....b...P P.b............P P....########### PPP&PP#########P P'&.TP########## PTT.&P%TTTTT%TTP PPPPPPPDPPPPPPPP PHP%P^..TP%PT^.P PTPDP..%PP^PP..P PTDD...D.....P.P PHPTP#P#..P...HP PPPPPPPP....PPHT PPPPPPPPT^.T.^TP PPTPTPTPPPPPPPPP P?......PR?.&PTP P?##T##.&...?PVP PM.....MP?..!PHP PM..T..MPPPPPP}P PPPPPPPPPT'P.b.P P&.....%'T.&.%.P PPPPPDPPPPPPPPPP PTPTTDTTTT~...'P P.............*P P.PPPPPPPPPPPP.P P.......HVVVH..P P~~~~~~~HHHHH..P PPPPPPPPPTTTTPPP [additional] 21 6.1.@.0 7.1.@.2 6.3.@.2 3.7.&.5.0 2.8.&.1.0 4.9.&.2.0 5.11.^.0.0.0 13.11.^.0.0.0 10.12.^.1.0.0 9.16.^.0.0.0 13.16.^.2.0.0 12.18.&.1.1 8.19.&.3.0 1.20.M.0 7.20.M.2 1.21.M.0 7.21.M.2 14.21.}.1.0.2.0.0.0 1.23.&.2.1 11.23.&.4.0 14.26.*.2 [end] [offset] 608C [level] 9 [colour] [size] 16.31 [author] Ela & Dawid [data] OOOOOOOOOOOOOOOO OO&.T...----&.!- O&?.....-------- O...T...--R&---- O.......-------- O?T..T..'------- OOOHOOOOOOOOOOOO O...'OOOOOOOOOOO O.b.'OOOOOOOOOOO O...'OOOOOOOOOTT O...'OOOOOOOOOTT O..HHOOOOOOOOOVV O.bHHHHHVVVVVHVV OObOOOOOOOOOOOOO O............#TO O....#.......#VO O.......#....#VO ObbbbbbbOObOH#HO OOOOOOOOOObOHHHO OOTVVVHHHObOVVTO OOTVVVHHH#bOOOOO OOTVVVHHHObbHHTT OOOOOOOOOOOHOOOO O}}O?''..bHHHb.O O..TO..#.bbbbb.O O..TOO.........O O..H?OO.....O..O O..HHTOOM.TTO..O O..HHHTOOOOOO..O OTTHHHHHHHb....O OOOOOTTOOOOOOOOO [additional] 7 2.1.&.2.0 12.1.&.2.1 1.2.&.1.0 11.3.&.1.1 1.23.}.1.0.2.0.0.0 2.23.}.1.0.2.0.0.0 8.27.M.0 [end] [offset] 628C [level] 10 [colour] [size] 16.31 [author] Ela & Dawid [data] ssssssssssssssss s&.TT!V#V#&'R'&s ssssssssssssssss sM#.......^....s s..............s s..............s s..............s s.THHHHHHHHHHHTs s.THTHHTHTHHTHTs s.THHHHHHHHHHH&s s.T......b..b..s s..&...........s s}ssssssssssssss s##sTT....HHHV&s sTTs......HHHVTs sTTs&?????HHHVTs sTTsssssssssssss ssssssssssssssss ssssssssssssssss s&...........T&s ssssssssssssssss ---------------- ---------------- ---------------- ---------------- ---------------- ---------------- ---------------- ssssssssssssssss s&............Ts ssssssssssssssss [additional] 13 1.1.&.5.0 10.1.&.5.1 14.1.&.4.0 1.3.M.0 10.3.^.2.1.1 14.9.&.6.0 3.11.&.4.1 1.12.}.1.0.1.0.0.0 14.13.&.1.0 4.15.&.6.1 1.19.&.1.1 14.19.&.3.0 1.29.&.3.1 [end] [offset] 648C [level] 11 [colour] [size] 16.31 [author] Ela & Dawid [data] ssssssssssssssss s&T.......b}..Rs sTT.bbbbbbb}.T.s sTT.b}}}}}}}.T.s ssssssssssssssss ---------------- ssssssssssssssss s&...........%&s ssssssssssssDsss ------------D-T- ---TTTTTTTTTDTT- ---T--------!--- -TTT------------ TT-------------- ---------------- s&.......TTT.%&s ssssssssssssssss ---------------- -sssssssssssssss -s&....T.T.T...& -sssssssssssssss ---------------- ---------------- ---------------- ---------------- ---------------- ---------------- ---------------- ssssssssssssssss s&.........TTT%s ssssssssssssssss [additional] 17 1.1.&.1.0 11.1.}.2.0.2.0.0.0 11.2.}.2.0.2.0.0.0 5.3.}.2.0.2.0.0.0 6.3.}.2.0.2.0.0.0 7.3.}.2.0.2.0.0.0 8.3.}.2.0.2.0.0.0 9.3.}.2.0.2.0.0.0 10.3.}.2.0.2.0.0.0 11.3.}.2.0.2.0.0.0 1.7.&.1.1 14.7.&.2.0 1.15.&.2.1 14.15.&.3.0 2.19.&.3.1 15.19.&.4.0 1.29.&.4.1 [end] [offset] 668C [level] 12 [colour] [size] 16.31 [author] Ela & Dawid [data] ---pppp-p%%%-%%% ---p&TDDDTTDDDTR ---ppDp-pppp-ppp -----!pppppppppp -----p}}}}}}}}}p -----p}VVVVVVV}p ------}VVVVVVV}p ------}VVVVVVV}p -------VVVVVVV}p -------VVVVVVV}p ------}VVVVVVV}p ------}}}}}}}}}p ------pppppppppp ---------------- ---------------- ---------------- ---------------- ---------------- ---------------- ---------------- ---------------- ---------------- ---------------- **************** **************** ???????????????? ???????????????? HHHHHHHHHHHHHHHH ppppppppppHHHppp p&.'''HHHHHHHHT% pppppppppppppppp [additional] 62 4.1.&.1.0 6.4.}.1.0.2.0.0.0 7.4.}.1.0.2.0.0.0 8.4.}.1.0.2.0.0.0 9.4.}.1.0.2.0.0.0 10.4.}.1.0.2.0.0.0 11.4.}.1.0.2.0.0.0 12.4.}.1.0.2.0.0.0 13.4.}.1.0.2.0.0.0 14.4.}.1.0.2.0.0.0 6.5.}.0.0.2.0.0.0 14.5.}.2.0.2.0.0.0 6.6.}.0.0.2.0.0.0 14.6.}.2.0.2.0.0.0 6.7.}.0.0.2.0.0.0 14.7.}.2.0.2.0.0.0 14.8.}.2.0.2.0.0.0 14.9.}.2.0.2.0.0.0 6.10.}.0.0.2.0.0.0 14.10.}.2.0.2.0.0.0 6.11.}.3.0.2.0.0.0 7.11.}.3.0.2.0.0.0 8.11.}.3.0.2.0.0.0 9.11.}.3.0.2.0.0.0 10.11.}.3.0.2.0.0.0 11.11.}.3.0.2.0.0.0 12.11.}.3.0.2.0.0.0 13.11.}.3.0.2.0.0.0 14.11.}.3.0.2.0.0.0 0.23.*.0 1.23.*.0 2.23.*.0 3.23.*.0 4.23.*.0 5.23.*.0 6.23.*.0 7.23.*.0 8.23.*.0 9.23.*.0 10.23.*.0 11.23.*.0 12.23.*.0 13.23.*.0 14.23.*.0 15.23.*.0 0.24.*.0 1.24.*.0 2.24.*.0 3.24.*.0 4.24.*.0 5.24.*.0 6.24.*.0 7.24.*.0 8.24.*.0 9.24.*.0 10.24.*.0 11.24.*.0 12.24.*.0 13.24.*.0 14.24.*.0 15.24.*.0 1.29.&.1.1 [end] [offset] 688C [level] 13 [colour] [size] 16.31 [author] Ela & Dawid [data] oooooooooooooooo o'.!VVVbb.....'o o&..VVVbb.....Ro oooooooooooooooo o&VVH.T.T.T...&o oooooooooooooooo }}}}}}}}}}}}}}}} }}}}}}}}}}}}}}}} }}}}}}}}}}}}}}}} MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM VVVVVVVVVVVVVVVV @@@@@@@@@@@@@@@@ **************** bbbbbbbbbbbbbbbb ################ ~~~~~~~~~~~~~~~~ ^^^^^^^^^^^^^^^^ ^^^^^^^ooooooooo oooooooo???%%ooo o&..........DDTo oooooooooooooooo ---------------- VVV-VVVVVVVV--V- VVV-VVVVVVVVVVVV VVV-VVVVV-VVV-V- VVV-VVV---VVV--- -------------?-- ooooooooooooo?oo o&......TTTHVV&o oooooooooooooooo [additional] 141 1.2.&.1.0 1.4.&.3.0 14.4.&.2.0 0.6.}.0.0.0.0.1.1 1.6.}.0.0.0.0.1.1 2.6.}.0.0.0.0.1.1 3.6.}.0.0.0.0.1.1 4.6.}.0.0.0.0.1.1 5.6.}.0.0.0.0.1.1 6.6.}.0.0.0.0.1.1 7.6.}.0.0.0.0.1.1 8.6.}.0.0.0.0.1.1 9.6.}.0.0.0.0.1.1 10.6.}.0.0.0.0.1.1 11.6.}.0.0.0.0.1.1 12.6.}.0.0.0.0.1.1 13.6.}.0.0.0.0.1.1 14.6.}.0.0.0.0.1.1 15.6.}.0.0.0.0.1.1 0.7.}.0.0.0.0.1.1 1.7.}.0.0.0.0.1.1 2.7.}.0.0.0.0.1.1 3.7.}.0.0.0.0.1.1 4.7.}.0.0.0.0.1.1 5.7.}.0.0.0.0.1.1 6.7.}.0.0.0.0.1.1 7.7.}.0.0.0.0.1.1 8.7.}.0.0.0.0.1.1 9.7.}.0.0.0.0.1.1 10.7.}.0.0.0.0.1.1 11.7.}.0.0.0.0.1.1 12.7.}.0.0.0.0.1.1 13.7.}.0.0.0.0.1.1 14.7.}.0.0.0.0.1.1 15.7.}.0.0.0.0.1.1 0.8.}.3.0.0.1.0.0 1.8.}.3.0.0.1.0.0 2.8.}.3.0.0.1.0.0 3.8.}.3.0.0.1.0.0 4.8.}.3.0.0.1.0.0 5.8.}.3.0.0.1.0.0 6.8.}.3.0.0.1.0.0 7.8.}.3.0.0.1.0.0 8.8.}.3.0.0.1.0.0 9.8.}.3.0.0.1.0.0 10.8.}.3.0.0.1.0.0 11.8.}.3.0.0.1.0.0 12.8.}.3.0.0.1.0.0 13.8.}.3.0.0.1.0.0 14.8.}.3.0.0.1.0.0 15.8.}.3.0.0.1.0.0 0.9.M.2 1.9.M.2 2.9.M.2 3.9.M.2 4.9.M.2 5.9.M.2 6.9.M.2 7.9.M.2 8.9.M.2 9.9.M.2 10.9.M.2 11.9.M.2 12.9.M.2 13.9.M.2 14.9.M.2 15.9.M.2 0.10.M.0 1.10.M.0 2.10.M.0 3.10.M.0 4.10.M.0 5.10.M.0 6.10.M.0 7.10.M.0 8.10.M.0 9.10.M.0 10.10.M.0 11.10.M.0 12.10.M.0 13.10.M.0 14.10.M.0 15.10.M.0 0.12.@.2 1.12.@.2 2.12.@.2 3.12.@.2 4.12.@.2 5.12.@.2 6.12.@.2 7.12.@.2 8.12.@.2 9.12.@.2 10.12.@.2 11.12.@.2 12.12.@.2 13.12.@.2 14.12.@.2 15.12.@.2 0.13.*.0 1.13.*.0 2.13.*.0 3.13.*.0 4.13.*.0 5.13.*.0 6.13.*.0 7.13.*.0 8.13.*.0 9.13.*.0 10.13.*.0 11.13.*.0 12.13.*.0 13.13.*.0 14.13.*.0 15.13.*.0 0.17.^.0.1.1 1.17.^.0.1.1 2.17.^.0.1.1 3.17.^.0.1.1 4.17.^.0.1.1 5.17.^.0.1.1 6.17.^.0.1.1 7.17.^.0.1.1 8.17.^.0.1.1 9.17.^.0.1.1 10.17.^.0.1.1 11.17.^.0.1.1 12.17.^.0.1.1 13.17.^.0.1.1 14.17.^.0.1.1 15.17.^.0.1.1 0.18.^.0.1.1 1.18.^.0.1.1 2.18.^.0.1.1 3.18.^.0.1.1 4.18.^.0.1.1 5.18.^.0.1.1 6.18.^.0.1.1 1.20.&.3.1 1.29.&.1.1 14.29.&.2.1 [end] [offset] 6A8C [level] 14 [colour] [size] 16.31 [author] Ela & Dawid [data] PPPPPPPPPPPPPPPP PTVVVHbbb.....RP PTVVVPbbb..####P PTVVVPbbb.....'P PTVVVPbbb.....'P PTVVVPbbb.....'P PTVVVPbbb.....'P PTVVVPbbb.....'P P&VVVPbbb.....TP PPPPPPPPPPPPPPPP ~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~ ################ ################ VVVVVVVVVVVVVVVV VVVVVVVVVVVVVVVV @@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@ **************** **************** ???????????????? ???????????????? ................ bbbbbbbbbbbbbbbb PPPPPPPPPPPPPPbP PVVb...^TTT..HTP Pbbb.........HHP P..........T..TP P.............TP P&}..T...!T...}P PPPPPPPPPPPPPPPP [additional] 69 1.8.&.1.0 0.16.@.2 1.16.@.2 2.16.@.2 3.16.@.2 4.16.@.2 5.16.@.2 6.16.@.2 7.16.@.2 8.16.@.2 9.16.@.2 10.16.@.2 11.16.@.2 12.16.@.2 13.16.@.2 14.16.@.2 15.16.@.2 0.17.@.2 1.17.@.2 2.17.@.2 3.17.@.2 4.17.@.2 5.17.@.2 6.17.@.2 7.17.@.2 8.17.@.2 9.17.@.2 10.17.@.2 11.17.@.2 12.17.@.2 13.17.@.2 14.17.@.2 15.17.@.2 0.18.*.0 1.18.*.0 2.18.*.0 3.18.*.0 4.18.*.0 5.18.*.0 6.18.*.0 7.18.*.0 8.18.*.0 9.18.*.0 10.18.*.0 11.18.*.0 12.18.*.0 13.18.*.0 14.18.*.0 15.18.*.0 0.19.*.0 1.19.*.0 2.19.*.0 3.19.*.0 4.19.*.0 5.19.*.0 6.19.*.0 7.19.*.0 8.19.*.0 9.19.*.0 10.19.*.0 11.19.*.0 12.19.*.0 13.19.*.0 14.19.*.0 15.19.*.0 7.25.^.2.0.0 1.29.&.1.1 2.29.}.0.0.2.0.0.0 14.29.}.2.0.2.0.0.0 [end] [offset] 6C8C [level] 15 [colour] [size] 16.31 [author] Ela & Dawid [data] o&...T..TDT%T'Ro ooooooooo!oooooo ---------------- ???????????????? ???????????????? ???????????????? ???????????????? }}}}}}}}}}}}}}}} }}}}}}}}}}}}}}}} ???????????????? ???????????????? ???????????????? ???????????????? bbbbbbbbbbbbbbbb ???????????????? ???????????????o oooooooooooooooo o&.'..'..T..TTTo oooooooooHoooooo o?TTTT..HHH.TT?o oooooooooHoooooo o?TTTT..HHH.TT?o oooooooooHoooooo TTTTTTTTHHHTTTTo oooooooooHoooooo ???????????????? ?????????????T?? ????????????TTT? oooooooooooooHoo o&....T..T.T..&o oooooooooooooooo [additional] 36 1.0.&.1.0 0.7.}.0.0.0.0.1.1 1.7.}.0.0.0.0.1.1 2.7.}.0.0.0.0.1.1 3.7.}.0.0.0.0.1.1 4.7.}.0.0.0.0.1.1 5.7.}.0.0.0.0.1.1 6.7.}.0.0.0.0.1.1 7.7.}.0.0.0.0.1.1 8.7.}.0.0.0.0.1.1 9.7.}.0.0.0.0.1.1 10.7.}.0.0.0.0.1.1 11.7.}.0.0.0.0.1.1 12.7.}.0.0.0.0.1.1 13.7.}.0.0.0.0.1.1 14.7.}.0.0.0.0.1.1 15.7.}.0.0.0.0.1.1 0.8.}.0.0.0.0.1.1 1.8.}.0.0.0.0.1.1 2.8.}.0.0.0.0.1.1 3.8.}.0.0.0.0.1.1 4.8.}.0.0.0.0.1.1 5.8.}.0.0.0.0.1.1 6.8.}.0.0.0.0.1.1 7.8.}.0.0.0.0.1.1 8.8.}.0.0.0.0.1.1 9.8.}.0.0.0.0.1.1 10.8.}.0.0.0.0.1.1 11.8.}.0.0.0.0.1.1 12.8.}.0.0.0.0.1.1 13.8.}.0.0.0.0.1.1 14.8.}.0.0.0.0.1.1 15.8.}.0.0.0.0.1.1 1.17.&.2.0 1.29.&.1.1 14.29.&.2.1 [end] [offset] 6E8C [level] 16 [colour] [size] 16.31 [author] Ela & Dawid [data] QQQQQQQQQQQQQQQQ Q..'.....T....R! Q...b''....b...Q Q....bb'.....b.Q Q.....bb.T.T...Q Q......bb'...b.Q Q.......bb.....Q Q........bb....Q Q..b.....bb...TQ Q............T.Q ################ ################ ################ ################ ################ TTTTTTTTTTTTTTTT &TTTTTTTTTTTTTTT QQQQQQQQQQQQQQQQ Q&.T.T.T.T...T.& QQQQQQQQQQQQQQQQ VVVVVVVVVVVVVVVV ---------------- QQQQQQQQQQQQ&TT? Q'TTT.........?? QQQQQQQQQQQHTQQQ Q???????.b....?Q QQQQQQQ?.......Q QTVV###..bbbbb.Q QTVV###........Q QTVV###.......?Q QQQQQQQQQQQQQQQQ [additional] 4 0.16.&.1.0 1.18.&.1.1 15.18.&.2.0 12.22.&.2.1 [end] [offset] 708C [level] 17 [colour] [size] 16.31 [author] Ela & Dawid [data] ---------------- oooooooooooooooo o&.....HVVVTTToo oooooooooooooooo VVVVVVVVVVVVVVVV @@@@@@@@@@@@@@@@ **************** }}}}}}}}}}}}}}}} }}}}}}}}}}}}}}}} }}}}}}}}}}}}}}}} }}}}}}}}}}}}}}}} ???????????????? ################ ~~~~~~~~~~~~~~~~ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ bbbbbbbbbbbbbbbb MMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMM DDDDDDDDDDDDDDDD %%%%%%%%%%%%%%%% }}}}}}}}}}}}}}}} HHHHHHHHHHHHHHHH HHHHHHHHHHHHHHHH ???????????????? ???????????????? ------------D--- o&ooooooooo????? o.'%TTTTTTT????? oR'ooooooo!ooooo oooooooooooooooo [additional] 178 1.2.&.1.0 0.5.@.2 1.5.@.2 2.5.@.2 3.5.@.2 4.5.@.2 5.5.@.2 6.5.@.2 7.5.@.2 8.5.@.2 9.5.@.2 10.5.@.2 11.5.@.2 12.5.@.2 13.5.@.2 14.5.@.2 15.5.@.2 0.6.*.0 1.6.*.0 2.6.*.0 3.6.*.0 4.6.*.0 5.6.*.0 6.6.*.0 7.6.*.0 8.6.*.0 9.6.*.0 10.6.*.0 11.6.*.0 12.6.*.0 13.6.*.0 14.6.*.0 15.6.*.0 0.7.}.0.0.1.0.0.0 1.7.}.0.0.1.0.0.0 2.7.}.0.0.1.0.0.0 3.7.}.0.0.1.0.0.0 4.7.}.0.0.1.0.0.0 5.7.}.0.0.1.0.0.0 6.7.}.0.0.1.0.0.0 7.7.}.0.0.1.0.0.0 8.7.}.0.0.1.0.0.0 9.7.}.0.0.1.0.0.0 10.7.}.0.0.1.0.0.0 11.7.}.0.0.1.0.0.0 12.7.}.0.0.1.0.0.0 13.7.}.0.0.1.0.0.0 14.7.}.0.0.1.0.0.0 15.7.}.0.0.1.0.0.0 0.8.}.2.0.2.0.0.0 1.8.}.2.0.0.0.0.0 2.8.}.2.0.0.0.0.0 3.8.}.2.0.0.0.0.0 4.8.}.2.0.0.0.0.0 5.8.}.2.0.0.0.0.0 6.8.}.2.0.0.0.0.0 7.8.}.2.0.0.0.0.0 8.8.}.2.0.0.0.0.0 9.8.}.2.0.0.0.0.0 10.8.}.2.0.0.0.0.0 11.8.}.2.0.0.0.0.0 12.8.}.2.0.0.0.0.0 13.8.}.2.0.0.0.0.0 14.8.}.2.0.0.0.0.0 15.8.}.2.0.0.0.0.0 0.9.}.2.0.2.0.0.0 1.9.}.2.0.2.0.0.0 2.9.}.2.0.2.0.0.0 3.9.}.2.0.2.0.0.0 4.9.}.2.0.2.0.0.0 5.9.}.2.0.2.0.0.0 6.9.}.2.0.2.0.0.0 7.9.}.2.0.2.0.0.0 8.9.}.2.0.2.0.0.0 9.9.}.2.0.2.0.0.0 10.9.}.2.0.2.0.0.0 11.9.}.2.0.2.0.0.0 12.9.}.2.0.2.0.0.0 13.9.}.2.0.2.0.0.0 14.9.}.2.0.2.0.0.0 15.9.}.2.0.2.0.0.0 0.10.}.2.0.2.0.0.0 1.10.}.2.0.2.0.0.0 2.10.}.2.0.2.0.0.0 3.10.}.2.0.2.0.0.0 4.10.}.2.0.2.0.0.0 5.10.}.2.0.2.0.0.0 6.10.}.2.0.2.0.0.0 7.10.}.2.0.2.0.0.0 8.10.}.2.0.2.0.0.0 9.10.}.2.0.2.0.0.0 10.10.}.2.0.2.0.0.0 11.10.}.2.0.2.0.0.0 12.10.}.2.0.2.0.0.0 13.10.}.2.0.2.0.0.0 14.10.}.2.0.2.0.0.0 15.10.}.2.0.2.0.0.0 0.14.^.0.1.1 1.14.^.0.1.1 2.14.^.0.1.1 3.14.^.0.1.1 4.14.^.0.1.1 5.14.^.0.1.1 6.14.^.0.1.1 7.14.^.0.1.1 8.14.^.0.1.1 9.14.^.0.1.1 10.14.^.0.1.1 11.14.^.0.1.1 12.14.^.0.1.1 13.14.^.0.1.1 14.14.^.0.1.1 15.14.^.0.1.1 0.15.^.2.0.0 1.15.^.2.0.0 2.15.^.2.0.0 3.15.^.2.0.0 4.15.^.2.0.0 5.15.^.2.0.0 6.15.^.2.0.0 7.15.^.2.0.0 8.15.^.2.0.0 9.15.^.2.0.0 10.15.^.2.0.0 11.15.^.2.0.0 12.15.^.2.0.0 13.15.^.2.0.0 14.15.^.2.0.0 15.15.^.2.0.0 0.17.M.0 1.17.M.0 2.17.M.0 3.17.M.0 4.17.M.0 5.17.M.0 6.17.M.0 7.17.M.0 8.17.M.0 9.17.M.0 10.17.M.0 11.17.M.0 12.17.M.0 13.17.M.0 14.17.M.0 15.17.M.0 0.18.M.2 1.18.M.2 2.18.M.2 3.18.M.2 4.18.M.2 5.18.M.2 6.18.M.2 7.18.M.2 8.18.M.2 9.18.M.2 10.18.M.2 11.18.M.2 12.18.M.2 13.18.M.2 14.18.M.2 15.18.M.2 0.21.}.3.0.0.1.0.0 1.21.}.3.0.0.1.0.0 2.21.}.3.0.0.1.0.0 3.21.}.3.0.0.1.0.0 4.21.}.3.0.0.1.0.0 5.21.}.3.0.0.1.0.0 6.21.}.3.0.0.1.0.0 7.21.}.3.0.0.1.0.0 8.21.}.3.0.0.1.0.0 9.21.}.3.0.0.1.0.0 10.21.}.3.0.0.1.0.0 11.21.}.3.0.0.1.0.0 12.21.}.3.0.0.1.0.0 13.21.}.3.0.0.1.0.0 14.21.}.3.0.0.1.0.0 15.21.}.3.0.0.1.0.0 1.27.&.1.1 [end] [offset] 728C [level] 18 [colour] [size] 16.31 [author] Ela & Dawid [data] PPPPPPPPP&PPPPPP P......%.......P P.P............P P.PRP.PPPP.PPP.P P.P&P.P!TP.PTP.P P.....P..P.P^P.P P.....PPDP.....P P........^.....P PPPPPPPPPPPPPPDP ------T%%%%%-P.P ----------H--PTP -----&----H--P.P -----D&-%-H--P.P -----D--'DH--P.P -----D----H--P.P -----D----H--P.P PPPPPDPPPPDPPP.P P.............TP P....T.T.T.T...P P...T?T?T?T?T..P P^^PPPPPPPPPPP^P P..P&........P.P P..PTTTTTTTTTP.P PTTPPPPPPPPPPPTP PPPPPPPPPPPPPPPP &....T..T%.}bH'P PPPPPPPPPPPPPPPP &...THb}...}bHTP PPPPPPPPPPPPPPPP P&....T..T...T%P PPPPPPPPPPPPPPPP [additional] 16 9.0.&.2.0 3.4.&.1.0 12.5.^.0.0.0 9.7.^.0.0.0 5.11.&.3.0 6.12.&.4.0 1.20.^.1.0.0 2.20.^.1.0.0 14.20.^.1.0.0 4.21.&.4.1 0.25.&.1.1 11.25.}.0.0.0.0.1.1 0.27.&.2.1 7.27.}.2.0.2.0.0.0 11.27.}.0.0.2.0.0.0 1.29.&.3.1 [end] [offset] 748C [level] 19 [colour] [size] 16.31 [author] Ela & Dawid [data] --------PPPPPPPP ---&.H!-Pb&...#P --------Pbb-.#.P --------P##-R#.P ---PPPPPP..-.-bP ---P######b#b### ---P#####b#b##b# ---&^.^.......^P ---PPPPPP..^-..P --------P}}}}}}P ----PPP-PbbbbbbP ----PTPPPPPP.}.P --PPPHHHHHHHHHHP --PHHHHHHHHHHHHP --PPPPPPPPPPPHHH ----TTTTTTT.'PH. ------------'PP& ????????????'-PP ????????????.--P ??????????...--P ------.....bb--- ------D---b----- ------.----b---- ------.-----b--- ------.-##bb##b# ------.-bb##bb## ------T-##bb##bb ------T------b## PPPPPPTPPPPPPPPP P&...T.T.T.%b&TP PPPPPPPPPPPPPPPP [additional] 17 3.1.&.1.0 10.1.&.2.0 3.7.&.1.1 4.7.^.3.0.0 6.7.^.3.0.0 14.7.^.2.0.0 11.8.^.3.0.0 9.9.}.3.0.2.0.0.0 10.9.}.3.0.2.0.0.0 11.9.}.3.0.2.0.0.0 12.9.}.3.0.2.0.0.0 13.9.}.3.0.2.0.0.0 14.9.}.3.0.2.0.0.0 13.11.}.0.0.0.0.1.1 15.16.&.2.1 1.29.&.2.2 13.29.&.3.0 [end] [offset] 768C [level] 20 [colour] [size] 16.31 [author] Ela & Dawid [data] pppppppppppppppp pp'pTp&p&p!pRppp pTT.T.T.T.T.T.Tp pT.T.T.T.T.T.TTp pppppppppppppppp p--------------p ppppp-?T....---p p^TTp------.---p p..bp------.---p p..TD.......---p p..bp------.---p p..Tp------.T?-p p..%p----------p ppHppppppppppppp pTT.T###b..b..&p p'T%T#b#b.b.b..p ppppppppppppppDp pM..#..........p p..T..b..@b....p p..b..bbTbb..b.p p.....b...b....p pT..T.......T.Tp pppppppppppppppp pTTp..?T?T?T?..p p..p...........p p..p.pppppppp?.p p..p.p....*.p?.p p..p.p.pppp.p?.p p..p.p.pTTp.p..p p^^H.p......&.&p pppppppppppppppp [additional] 11 6.1.&.2.0 8.1.&.1.0 1.7.^.1.0.0 14.14.&.2.1 1.17.M.0 9.18.@.2 10.26.*.0 1.29.^.3.0.0 2.29.^.3.0.0 12.29.&.3.0 14.29.&.1.1 [end] [offset] 788C [level] 21 [colour] [size] 16.31 [author] Ela & Dawid [data] OOOOOOOOOOOOOOOO O?TTT^^H......&O O?TTT^^H......TO O?TTT^^H....%..O O?TTT^^HT?T?T?TO OOOOOOOOOOOOOODO --------------.- --------------T- -TTT.T.T.T.T..T- ---------------- ---------------- ---------------- ---------------- -&........H^^^T& ---------------- ---------------- ---------------- ---------------- ---------------- ---------------- ---------------- ---------------- ---------------- ---------------- OOOOOOOOOOOOOOOO OT............RO OT............'O OT.........T..'O OT........TT..'O O!^^^^^^^...&.TO OOOOOOOOOOOOOOOO [additional] 22 5.1.^.0.0.0 6.1.^.0.0.0 14.1.&.2.0 5.2.^.0.0.0 6.2.^.0.0.0 5.3.^.0.0.0 6.3.^.0.0.0 5.4.^.0.0.0 6.4.^.0.0.0 1.13.&.1.0 11.13.^.0.1.1 12.13.^.0.1.1 13.13.^.3.0.0 15.13.&.2.1 2.29.^.3.0.0 3.29.^.3.0.0 4.29.^.3.0.0 5.29.^.3.0.0 6.29.^.3.0.0 7.29.^.3.0.0 8.29.^.3.0.0 12.29.&.1.1 [end] [offset] 7A8C [level] 22 [colour] [size] 16.31 [author] Ela & Dawid [data] ppppppp-pppppppp p}}}}}p-pT....Rp p}VVV}p-p!.....& p}VVV}p-}......p p}VVV}p-}......p p}VVV}p-}......p p}VVV}p-pHH....p p}VVV}p-pTH.'''p p}}}}}p-pDpppp&p ppppppp--...^--- ------------.--- ------------.--- ---------^...--- ---------.------ pppp-----^------ p.Tp-----^--pppp p..&-----^--p..& pppp-----^--p.%p ---------^--pppp ---------^------ ---------^------ ---------%------ ppppppppDDpppppp ppTTTTTT.TTTTTpp ppT....H^H...Tpp ppT....H^H...Tpp ppT....H^H...Tpp ppTTTTTTTTTTTTpp pppppppppppppppp pppppppppppppppp pppppppppppppppp [additional] 41 1.1.}.1.0.0.0.0.0 2.1.}.1.0.0.0.0.0 3.1.}.1.0.0.0.0.0 4.1.}.1.0.0.0.0.0 5.1.}.1.0.0.0.0.0 1.2.}.0.0.0.0.0.0 5.2.}.2.0.0.0.0.0 15.2.&.2.0 1.3.}.0.0.0.0.0.0 5.3.}.2.0.0.0.0.0 8.3.}.0.0.2.0.0.0 1.4.}.0.0.0.0.0.0 5.4.}.2.0.0.0.0.0 8.4.}.0.0.2.0.0.0 1.5.}.0.0.0.0.0.0 5.5.}.2.0.0.0.0.0 8.5.}.0.0.2.0.0.0 1.6.}.0.0.0.0.0.0 5.6.}.2.0.0.0.0.0 1.7.}.0.0.0.0.0.0 5.7.}.2.0.0.0.0.0 1.8.}.3.0.1.0.0.0 2.8.}.3.0.1.0.0.0 3.8.}.3.0.1.0.0.0 4.8.}.3.0.1.0.0.0 5.8.}.3.0.1.0.0.0 14.8.&.1.0 12.9.^.0.0.0 9.12.^.0.0.0 9.14.^.0.0.0 9.15.^.0.0.0 3.16.&.1.1 9.16.^.0.0.0 15.16.&.2.1 9.17.^.0.0.0 9.18.^.0.0.0 9.19.^.0.0.0 9.20.^.0.0.0 8.24.^.0.0.0 8.25.^.0.0.0 8.26.^.0.0.0 [end] [offset] 7C8C [level] 23 [colour] [size] 16.31 [author] Ela & Dawid [data] ppppppppp&&pppRp p.bVVb.........p p.TbbT.........p p.TTTT###..###.p pM............Mp pM............Mp pM......TT....Mp pppppppp}}pppppp VVVVVVVVVVVVVVVV VVVVVVVVVVVVVVVV VVVVVVVVVVVVVVVV VVVVVVVVVVVVVVVV VVVVVVVVVVp!VVVV VVVVVVVVVp&.pVVV VVVVVVVVVppppVVV VVVVVVVVVVVVVVVV VVVVVVVVVVVVVVVV VVVVVVVVVppppVVV VVVVVVVVV&.%&VVV VVVppppVVppppVVV VVV&.%&VVVVVVVVV VVVppDpVVVVVVVVV VVVppDpVppppVVVV VV&TT.pV&.TpVVVV VVpppppVppppVVVV VVVVVVVVVVVVVVVV VVVVVVVVVVVVVVVV VVVVVVVVVVVVVVVV pppppppppppppppp p&.........}bHTp pppppppppppppppp [additional] 19 9.0.&.1.0 10.0.&.2.0 1.4.M.0 14.4.M.2 1.5.M.0 14.5.M.2 1.6.M.0 14.6.M.2 8.7.}.3.0.2.0.0.0 9.7.}.3.0.2.0.0.0 10.13.&.1.1 9.18.&.2.1 12.18.&.3.0 3.20.&.3.1 6.20.&.4.0 2.23.&.5.0 8.23.&.5.1 1.29.&.4.1 11.29.}.0.0.0.0.1.1 [end] [offset] 7E8C [level] 24 [colour] [size] 16.31 [author] Ela & Dawid [data] PPPPPPPPPPPPPPPP PTTTTT...######P PHHHHHP..#HHHH#P P.....P..#?..?#P P.....P..#H..!#P P.....P..#?..?#P P^^^^^P..######P PHHHHHP.......'P P.......#####..P P.....P..#..#..P P.....P........P P.....P........P P.....P###.####P P.....PPPP.PPPTP P.....PPPP...PTP P.....PPPP...PTP P.....PPPP...PTP P.....P.bbbb.PTP P.....P%.....PDP P.....PPPPPPDDDP P.....P.T.TT...P P......P..T...TP P.....P%.......P P.....PPPPPPPPPP P.....PTTTTTTTTP P.....P^^^....TP P.....P.......TP P.....P........P P^^^^.P.......'P bTTTT^.^^^^^..RP PPPPPPPPPPPPPPPP [additional] 18 1.6.^.3.0.0 2.6.^.3.0.0 3.6.^.3.0.0 4.6.^.3.0.0 5.6.^.3.0.0 7.25.^.1.0.0 8.25.^.1.0.0 9.25.^.1.0.0 1.28.^.3.0.0 2.28.^.3.0.0 3.28.^.3.0.0 4.28.^.3.0.0 5.29.^.1.0.0 7.29.^.1.0.0 8.29.^.1.0.0 9.29.^.1.0.0 10.29.^.1.0.0 11.29.^.3.0.0 [end] [offset] 808C [level] 25 [colour] [size] 16.31 [author] Ela & Dawid [data] OOOOOOOOOOOOOOOO O#T#T#T#T#T#T#TO OT#T#T#T#T#T#T#O O..............O O......TTTTT...O O..............O O..............O O....T.H.H@T@b.O O...H.H.T.H.H@.O OOO............O OOO............O O..O...........O O..O#........#.& O..O...........O OT.M..........MO O..#######T##### OT.#######T##### O..#######T##### O..OOOOOOOOOOOOO O..OOOOOOOOOO&OO O..O&..bb.....TO O..O...bbbb....O O..O...bbbb....O O..O......bb...O O..OT......bb..O O..OT.......bbbO O.^OOOOOOOOOOOOO OT#OOOOOOOOOOOOO OO.OOOOOOOOOO!OO OT......''.R...& OOOOOOOOOOOOOOOO [additional] 10 10.7.@.2 12.7.@.2 13.8.@.0 15.12.&.2.0 3.14.M.0 14.14.M.2 13.19.&.2.1 4.20.&.1.0 2.26.^.3.0.0 15.29.&.1.1 [end] [offset] 828C [level] 26 [colour] [size] 16.31 [author] Ela & Dawid [data] ???????????????? PR~.....#'#....T P'P...#V.......? PPPb..##..####.? !T}...........?? PPHHHHHHHHHHHHHP PM............MP PM............MP PM............MP PT.......%....TP PPPPPPPPPDPPPPPP PVVVVPT....T..TP PVVVVPT....^..TP PVVVVPT...^...TP PVVVVPT..^....TP PVVVVPT.^.....?P PPPPPPPPPPPPbPPP PT.T......VbbbVP P....T.T.T.....P P^...HTHTH.....P P^...THTHT....^P P^....T.T.....^P PP&PPPPPPPPPPPPP ~~~~~~~~?~?~~~~~ ?~?~??~~~~~~~~~% ~??????~~&.TTTT% ~~~~~~~~~~~~~~~~ P&PPPPPPPPPPPPP? P...T.T.T.T....& PPPPPPPPPPPPDPPP ??????????TTDTT? [additional] 20 2.4.}.0.0.0.0.0.0 1.6.M.0 14.6.M.2 1.7.M.0 14.7.M.2 1.8.M.0 14.8.M.2 11.12.^.0.0.0 10.13.^.0.0.0 9.14.^.0.0.0 8.15.^.0.0.0 1.19.^.0.0.0 1.20.^.0.0.0 14.20.^.0.0.0 1.21.^.0.0.0 14.21.^.0.0.0 2.22.&.1.0 9.25.&.2.0 1.27.&.1.1 15.28.&.2.1 [end] [offset] 848C [level] 27 [colour] [size] 16.31 [author] Ela & Dawid [data] QQQQQQQQQQQQQQQQ Q.T....T%T...T.Q Q.TT........TT.Q Q...T.T.T.T..T.Q Q....T.T....T..Q Q.#...T...T..T.Q Q..#..T.T...T..Q Q.#..T....@T.#.Q Q.....TTTTT....Q Q.#.#.#.#.#.#.#Q Q~b~b~b~b~b~b~bQ Qb~b~b~b~b~b~b~Q Q#.#.#.#.#.#.#.Q Q??..T..?.....?Q QTT?T..?.?..T?.Q Q.?...?...?.?..Q QT.?.?..?..?...Q Q...}..........} QT....?.?..?...Q Q........QQQ...Q Q.b......QTQ...Q Q..##....QDQ...Q Q..}........R..Q Q....QQQ!T.....Q Q}..}TTVQ....?.Q Q....TVVDT..?.?Q QM..%QQQQ..?.T.Q QM..%QQQQ...?.?Q Q?...TVVQ..?.?.Q QT...TVVDT....'Q QQQQQQQQQQQQQQQQ [additional] 8 10.7.@.2 4.17.}.0.0.2.0.0.0 15.17.}.2.0.2.0.0.0 3.22.}.0.0.0.0.0.0 1.24.}.0.0.0.0.0.0 4.24.}.2.0.0.0.0.0 1.26.M.0 1.27.M.0 [end] [offset] 868C [level] 28 [colour] [size] 16.31 [author] Ela & Dawid [data] ---------------- ---------------- ---------------- ---'.&---------- ---------------- ---------------- ---------------- ---------------- ---------------- ---------------- ---------------- ---------&------ --------&.T&---- ---------------- ---------------- ---------------- ---------------- ---------------- ---------------- ---------------- ---------------- &sssssssssssssss T.&?????????R??? ???????????????? ???..........??? ??............?? ??............?? ??............?? ???..........??? ???&????????&??? b?b?b?b?b!.&b?b? [additional] 9 5.3.&.4.0 9.11.&.4.1 8.12.&.3.0 11.12.&.2.0 0.21.&.3.1 2.22.&.1.0 3.29.&.4.2 12.29.&.1.1 11.30.&.2.1 [end] [offset] 888C [level] 29 [colour] [size] 16.31 [author] Ela & Dawid [data] PPPPPPPPPPPPPPPP P&..H&Hb*.VVH*TP PPPPPPbPbPPPPPPP --.............- ---------}------ -----&......---- ---------------- ---------------- ---------------- ---------------- ---------------- ---------------- ---------------- ---------------- ---------------- ---------------- ---------------- ---------------- ---------------- ---------------- ---------------- PPPPPPPPPPPPPPPP P!?^???H???????P PT?^???H???????P PT?^...H....'??P PT?^...H....'??P PT?^...H.....#RP PT?^...H....'??P PT?^.?.H???????P PT?^.?.H???????P P&PPPPPPPPPPPPPP [additional] 15 1.1.&.1.0 5.1.&.4.0 8.1.*.0 13.1.*.0 9.4.}.3.0.0.1.0.0 5.5.&.4.1 3.22.^.0.0.0 3.23.^.0.0.0 3.24.^.0.0.0 3.25.^.0.0.0 3.26.^.0.0.0 3.27.^.0.0.0 3.28.^.0.0.0 3.29.^.0.0.0 1.30.&.1.1 [end] [offset] 8A8C [level] 30 [colour] [size] 16.31 [author] Ela & Dawid [data] oooooooooooooooo &T...bVbVbTT..Ro oT..bVbVVVbT..'o oooooooooooooooo ---------------- ---------------- oooooooooooooooo &..T.T.T.HHHHHT& oooooooooooo}ooo ---------------- ---------------- -----------ooooo -----------o?T?o -----------o&.&o -----------ooooo ---------------- ---------------- ---------------- ---------------- ---------------- ---------------- ---------------- ---------------- ---------------- ---------------- ---------------- ---------------- ---------------- oooooooooooooooo o&...........T!o oooooooooooooooo [additional] 7 0.1.&.1.0 0.7.&.1.1 15.7.&.2.0 12.8.}.3.0.0.1.0.0 12.13.&.2.1 14.13.&.3.0 1.29.&.3.1 [end] [offset] 8C8C [level] 31 [colour] [size] 16.31 [author] Ela & Dawid [data] oooooooooooooooo oT.bbbbbT.HHH'!o &T.bVVVb..HHH'Ro oT.bbbbbT.HHH'oo oooooooooooooooo ---------------- ---------------- ---------------- ---------------- ---------------- -------oooooooo- -------oo&TTT&o- -------oo..??oo- -------oooooooo- oooooo---------- o&.T&o---------- oooooo---------- ---------------- ---------------- ---------------- oooooooooooooooo o&..T.T.T..HVVV& oooooooooooooooo ---------------- ---------------- ---------------- ---------------- ---------------- oooooooooooooooo o&..H@V@VV@VVHTo oooooooooooooooo [additional] 11 0.2.&.1.0 9.11.&.1.1 13.11.&.2.0 1.15.&.2.1 4.15.&.3.0 1.21.&.3.1 15.21.&.4.0 1.29.&.4.1 5.29.@.2 7.29.@.2 10.29.@.2 [end] [offset] 8E8C [level] 32 [colour] [size] 16.31 [author] Ela & Dawid [data] oooooooooooooooo o????TTTTTTT..Ro &'....TTTTTT.&oo oooooooooooooooo bbb?b???b?bbbb?? b?.?b???b?b??b?? bb.?b???b?bbbb?? b???b?b?b?b??b?? bbb?bb?bb?b??b?? ???????????????? ???????????????? bbbbbbbbbbbbbbbb ###############b }}}}}}}}}}}}}}}b }}}}}}}}}}}}}}}b VVVVVVVVVVVVVVVb VVVVVVVVVVVVVVVb ***************b ***************b @@@@@@@@@@@@@@@b @@@@@@@@@@@@@@@b DDDDDDDDDDDDDDDb DDDDDDDDDDDDDDDb ###############b ###############b &.........~....b ~~~~~~~~~~~~~~~~ ooooooooo&oooooo o?...........'?o }.......T.T....} ooooooooT!Tooooo [additional] 96 0.2.&.4.0 13.2.&.6.0 0.13.}.3.0.0.1.0.0 1.13.}.3.0.0.1.0.0 2.13.}.3.0.0.1.0.0 3.13.}.3.0.0.1.0.0 4.13.}.3.0.0.1.0.0 5.13.}.3.0.0.1.0.0 6.13.}.3.0.0.1.0.0 7.13.}.3.0.0.1.0.0 8.13.}.3.0.0.1.0.0 9.13.}.3.0.0.1.0.0 10.13.}.3.0.0.1.0.0 11.13.}.3.0.0.1.0.0 12.13.}.3.0.0.1.0.0 13.13.}.3.0.0.1.0.0 14.13.}.3.0.0.1.0.0 0.14.}.3.0.0.1.0.0 1.14.}.3.0.0.1.0.0 2.14.}.3.0.0.1.0.0 3.14.}.3.0.0.1.0.0 4.14.}.3.0.0.1.0.0 5.14.}.3.0.0.1.0.0 6.14.}.3.0.0.1.0.0 7.14.}.3.0.0.1.0.0 8.14.}.3.0.0.1.0.0 9.14.}.3.0.0.1.0.0 10.14.}.3.0.0.1.0.0 11.14.}.3.0.0.1.0.0 12.14.}.3.0.0.1.0.0 13.14.}.3.0.0.1.0.0 14.14.}.3.0.0.1.0.0 0.17.*.0 1.17.*.0 2.17.*.0 3.17.*.0 4.17.*.0 5.17.*.0 6.17.*.0 7.17.*.0 8.17.*.0 9.17.*.0 10.17.*.0 11.17.*.0 12.17.*.0 13.17.*.0 14.17.*.0 0.18.*.0 1.18.*.0 2.18.*.0 3.18.*.0 4.18.*.0 5.18.*.0 6.18.*.0 7.18.*.0 8.18.*.0 9.18.*.0 10.18.*.0 11.18.*.0 12.18.*.0 13.18.*.0 14.18.*.0 0.19.@.2 1.19.@.2 2.19.@.2 3.19.@.2 4.19.@.2 5.19.@.2 6.19.@.2 7.19.@.2 8.19.@.2 9.19.@.2 10.19.@.2 11.19.@.2 12.19.@.2 13.19.@.2 14.19.@.2 0.20.@.2 1.20.@.2 2.20.@.2 3.20.@.2 4.20.@.2 5.20.@.2 6.20.@.2 7.20.@.2 8.20.@.2 9.20.@.2 10.20.@.2 11.20.@.2 12.20.@.2 13.20.@.2 14.20.@.2 0.25.&.6.1 9.27.&.4.1 0.29.}.0.0.2.0.0.0 15.29.}.2.0.2.0.0.0 [end] gnurobbo-0.66+dfsg/data/levels/robbo2001.dat0000644000175000017500000003264711324353351017556 0ustar stevesteve[name] Robbo2001 [last_level] 14 [default_level_colour] 608050 [notes] This is Robbo 2001 levelset It was tested by: neurocyp (at) gmail(dot)com It is possible to finish all the levels in this set Enjoy! [offset] 5097 [level] 1 [colour] 454045 [size] 16.31 [author] robbo2001 [data] OOOOOOOOOOOOOOOO O..TO..H..'TD%RO O...O..D.M..~DDO Ob@.O.%DDDDDDDDO ObOOO.HHHHHH..TO Ob..D.HHHHHH..HO OOOOOOOOOOOOOO.O O}HHHHHHHHHHHHbO ObH}H}H}H}HHHHbO ObbbbbbbbbbbbbbO OHHHHHHHHHHHHHHO OTH.H.H.H.H'##.O OOOOOOOOOOO..##O OT.T.OOOOOOb..TO O.T.TOOOOOOM..TO OT.T.T.OOOOb..TO O%TODOT.T.OM..TO OT%O%O.T.TO...TO O%TODOOOOOOM..TO OT%O%D%D%D%D%..O ODDOOOOOOOOOOOOO ODDDD.MM...@..DO OOOOO.MM.OOOOOHO O.....MM....'OHO O..O...OOOOO.OHO ODOOT..H...O.OHO O..O.OOOOO@O.OHO O%TO....O%.O%OHO OOOOOOO.O.OO.O%O O!.D@...O...DOTO OOOOOOOOOOOOOOOO [additional] 19 9.2.M.0 2.3.@.2 1.7.}.0.0.0.0.0.0 3.8.}.3.0.1.0.0.0 5.8.}.3.0.1.0.0.0 7.8.}.3.0.1.0.0.0 9.8.}.3.0.1.0.0.0 11.14.M.0 11.16.M.0 11.18.M.0 6.21.M.0 7.21.M.2 11.21.@.2 6.22.M.0 7.22.M.2 6.23.M.0 7.23.M.2 10.26.@.1 4.29.@.2 [end] [offset] 5297 [level] 2 [colour] a0a020 [size] 16.31 [author] robbo2001 [data] PPPPPPPPPPPPPPPP PRTTTTTTTTTTTTTP PPPPPPPPPPPPPPTP PD%TD%TD%TD%TD%P PTPPPPPPPPPPPPPP P%DT%DT%DT%DT%DP PPPPPPPPPPPPPPTP PD%TD%TD%TD%TD%P PTPPPPPPPPPPPPPP P%DT%DT%DT%DT%DP PPPPPPPPPPPPPPTP PD%TD%TD%TD%TD%P PTPPPPPPPPPPPPPP P%DT%DT%DT%DT%DP PPPPPPPPPPPPPPTP P%TD%TD%TD%TDP%P PDPPPPPPPPPP%TDP PT%DT%DT%DTPPPPP PPPPPPPPPP%DT%DP PTD%TD%TDPPPPPTP P%PPPPPP%TD%TD%P PDT%DT%PPPPPPPPP PPPPPPDT%DT%DT%P PD%TDPPPPPPPPPDP PTPP%TD%TD%TD%TP P%DPPPPPPPPPPPPP PPT%DT%DT%DT%DTP PPPPPPPPPPPPPP.P P..............P P!.............P PPPPPPPPPPPPPPPP [additional] 0 [end] [offset] 5497 [level] 3 [colour] [size] 16.31 [author] robbo2001 [data] QQQQQQQQQQQQQQQQ QR........T....Q QQ.............Q Q^..^^.^.^..^^.Q Q..^......^....Q Q....^..^...^..Q Q^..^.....^..^.Q Q...^.^...^.^.^Q Q.^.^.^.^.^.^.^Q Q^.^.^.^.^.^.^.Q Q^^^^^^^^^^^^^^Q QHHHHHHHHHHHHHHQ QHHHHHHHHHHHHHHQ QHHHHHHHHHHHHHHQ QHHHHHHHHHHHHHHQ Q#############HQ QbbbbbbbbbbbbbbQ Q#############.Q Q}}}}}}}}}}}}}'Q Qbbbbbbbbbbbbb'Q Q............''Q Q.?..?.?.?.....Q QQQ...?.?......Q QTQQ...?...?...Q %TTD.?..?.?.?..Q QTQQ...?...?...Q QQQ?..?..?.....Q QT............TQ Q.QQQQQQQQQQQQQQ Q.D........@..!Q QQQQQQQQQQQQQQQQ [additional] 63 1.3.^.0.1.1 4.3.^.0.1.1 5.3.^.0.1.1 7.3.^.0.1.1 9.3.^.0.1.1 12.3.^.0.1.1 13.3.^.0.1.1 3.4.^.0.1.1 10.4.^.0.1.1 5.5.^.0.1.1 8.5.^.0.1.1 12.5.^.0.1.1 1.6.^.0.1.1 4.6.^.0.1.1 10.6.^.0.1.1 13.6.^.0.1.1 4.7.^.0.1.1 6.7.^.0.1.1 10.7.^.0.1.1 12.7.^.0.1.1 14.7.^.0.1.1 2.8.^.0.1.1 4.8.^.0.1.1 6.8.^.0.1.1 8.8.^.0.1.1 10.8.^.0.1.1 12.8.^.0.1.1 14.8.^.0.1.1 1.9.^.0.1.1 3.9.^.0.1.1 5.9.^.0.1.1 7.9.^.0.1.1 9.9.^.0.1.1 11.9.^.0.1.1 13.9.^.0.1.1 1.10.^.0.1.1 2.10.^.0.1.1 3.10.^.0.1.1 4.10.^.0.1.1 5.10.^.0.1.1 6.10.^.0.1.1 7.10.^.0.1.1 8.10.^.0.1.1 9.10.^.0.1.1 10.10.^.0.1.1 11.10.^.0.1.1 12.10.^.0.1.1 13.10.^.0.1.1 14.10.^.0.1.1 1.18.}.3.0.1.0.0.0 2.18.}.3.0.1.0.0.0 3.18.}.3.0.1.0.0.0 4.18.}.3.0.1.0.0.0 5.18.}.3.0.1.0.0.0 6.18.}.3.0.1.0.0.0 7.18.}.3.0.1.0.0.0 8.18.}.3.0.1.0.0.0 9.18.}.3.0.1.0.0.0 10.18.}.3.0.1.0.0.0 11.18.}.3.0.1.0.0.0 12.18.}.3.0.1.0.0.0 13.18.}.3.0.1.0.0.0 11.29.@.2 [end] [offset] 5697 [level] 4 [colour] [size] 16.31 [author] robbo2001 [data] OOOOOOOOOOOOOOOO OR..........D..O O..}}}}}}}}}}..O O.}.VVVVVV..V}.O O.}VVVVV.VVVV}'O O.}V...VVV.VV}.O O.}VVVVV.V.VV}DO O.}VVVVVVV.VV}.O O.}VVVVVVVVVV}.O O.}VVV.VVVVV.}.O O..}}}}}}}}}.}.O O...........#..O O............H.O O......#.....H.O O...#........H.O O............H.O O...#.#......H.O O.##%##......H.O O..##........H.O O.....#.....bO.O O.OOOOOOOOOObO.O O.O*.*.*.*.*.O.O O.O..........O.O O.O*.TTTTTT..O.O O.O..TTTTTT..O.O O.O*.TTTTTT..O.O O.O..........O.O O.O*.*.*.*.*.O.O O.OOOOOOOOOOOO.O O.............!O OOOOOOOOOOOOOOOO [additional] 46 3.2.}.1.0.0.0.0.0 4.2.}.1.0.0.0.0.0 5.2.}.1.0.0.0.0.0 6.2.}.1.0.0.0.0.0 7.2.}.1.0.0.0.0.0 8.2.}.1.0.0.0.0.0 9.2.}.1.0.0.0.0.0 10.2.}.1.0.0.0.0.0 11.2.}.1.0.0.0.0.0 12.2.}.1.0.0.0.0.0 2.3.}.0.0.0.0.0.0 13.3.}.2.0.0.0.0.0 2.4.}.0.0.0.0.0.0 13.4.}.2.0.0.0.0.0 2.5.}.0.0.0.0.0.0 13.5.}.2.0.0.0.0.0 2.6.}.0.0.0.0.0.0 13.6.}.2.0.0.0.0.0 2.7.}.0.0.0.0.0.0 13.7.}.2.0.0.0.0.0 2.8.}.0.0.0.0.0.0 13.8.}.2.0.0.0.0.0 2.9.}.0.0.0.0.0.0 13.9.}.2.0.0.0.0.0 3.10.}.3.0.1.0.0.0 4.10.}.3.0.1.0.0.0 5.10.}.3.0.1.0.0.0 6.10.}.3.0.1.0.0.0 7.10.}.3.0.1.0.0.0 8.10.}.3.0.1.0.0.0 9.10.}.3.0.1.0.0.0 10.10.}.3.0.1.0.0.0 11.10.}.3.0.1.0.0.0 13.10.}.2.0.0.0.0.0 3.21.*.2 5.21.*.2 7.21.*.2 9.21.*.2 11.21.*.2 3.23.*.1 3.25.*.1 3.27.*.0 5.27.*.0 7.27.*.0 9.27.*.0 11.27.*.0 [end] [offset] 5897 [level] 5 [colour] 006080 [size] 16.31 [author] robbo2001 [data] R............... ....bbbbbbb..... ..bbbbbbbbbbb... .bbbb.....bbbb.. .bbb..V....bbb.. .bbb............ .bbb..bbbbbbb... .bbb..bbbbbb.... .bbb..bbbbb..... .bbb..HHHHH..... .bbb..HH!HHH.... .bbb..HHHHHHH... .bbb............ .bbb.......bbb.. .bbbb.V...bbbb.. ..bbbbbbbbbbb... ....bbbbbbb..... ................ ................ ................ ................ ................ ......'''''''''' ......'''''''''' ......'''''''''' ......'''''''''' ......'''''''''' ......'''''''''' ......'''''''''' ......'''''''''' ................ [additional] 0 [end] [offset] 5A97 [level] 6 [colour] [size] 16.31 [author] robbo2001 [data] PPPPPPPPPPPPPPPP P...D%TP..R...%P P..PPPPP.....'.P P}.........#...P Pb}............P Pb}.....H......P Pb}..........H.P Pb}.H..........P Pb}............P Pb}.......H....P Pb}............P Pb}..H.......H.P Pb}.........H..P Pb}............P Pb}..H.........P Pb}............P Pb}............P Pb}.HHHHHHHHHHbP Pb}.PPPPPPPPPPbP Pb}.PbbbbbbbbbbP Pb}.PbPPPPPPPPPP Pb}.PbbbbbbbbbbP Pb}.PPPPPPPPPPbP Pb}.PbbbbbbbbbbP Pb}.PbPPPPPPPPPP PbbbPbbbbbbbbbbP P.?bPPPPPPPPPPbP P?.bbbbbbbbbbbbP PPPPP........?.P P!..D....?.?...P PPPPPPPPPPPPPPPP [additional] 22 1.3.}.3.0.1.0.0.0 2.4.}.0.0.0.0.0.0 2.5.}.0.0.0.0.0.0 2.6.}.0.0.0.0.0.0 2.7.}.0.0.0.0.0.0 2.8.}.0.0.0.0.0.0 2.9.}.0.0.0.0.0.0 2.10.}.0.0.0.0.0.0 2.11.}.0.0.0.0.0.0 2.12.}.0.0.0.0.0.0 2.13.}.0.0.0.0.0.0 2.14.}.0.0.0.0.0.0 2.15.}.0.0.0.0.0.0 2.16.}.0.0.0.0.0.0 2.17.}.0.0.0.0.0.0 2.18.}.0.0.0.0.0.0 2.19.}.0.0.0.0.0.0 2.20.}.0.0.0.0.0.0 2.21.}.0.0.0.0.0.0 2.22.}.0.0.0.0.0.0 2.23.}.0.0.0.0.0.0 2.24.}.0.0.0.0.0.0 [end] [offset] 5C97 [level] 7 [colour] 000090 [size] 16.31 [author] robbo2001 [data] ---------------- -TTTT.&--TTTT--- ---TT---TT--.&-- ---TT---TT------ ---TT---TT------ ---TT---TT------ ---TT---TT--TT-- ---TT-&--TTTT--& ---------------- ---------------- pppppppppppppppp pR!............p p..............p p....?..?......p p....?..?......p p....?..?......p p.???}??}?????.p p....?..?......p p....?..?......p p....?..?......p p....?..?......p p..............p p..............p p..............p p..............p p..............p p..............p p..............p p..............p p.???}........&p pppppppppppppppp [additional] 8 6.1.&.1.0 13.2.&.1.1 6.7.&.1.2 15.7.&.1.3 5.16.}.0.0.0.0.1.1 8.16.}.0.0.0.0.1.1 5.29.}.2.0.0.0.0.0 14.29.&.1.4 [end] [offset] 5E97 [level] 8 [colour] 008000 [size] 16.31 [author] robbo2001 [data] pppppppppppppppp pbVVV..%TpbbbT.p p.ppppppppb.b..p pT.ppbbbbbb.b%.p pb.pbbp.pp..pppp p..pb.p.#pp.p.Tp p.ppb......#..pp pT.pp.p.ppp.p..p pb.p...T......pp p..pppp.p.ppp..p pHpppp..p.ppp.pp pHp.....p.p.#..p pHp...p.p.p#..#p pHp..#p}p.p.###p pHp.ppppp.p#..Tp p#...p....p..#.p p.p....p.^p.#..p p.p.pp.p...###.p p.p..R....p.#.#p p.p.pp.p..p....p p}p......pppp.Tp ppp.pppp.*..pppp p......pppp....p pTpppp....pppp.p p.Tp.pppp..pT..p p..p!.'.p......p p..p.p#%pp#pDppp p}#p.&pDp......} pppppp#?p'pDpppp pV??????pTp&pVVV ppppppppppppVVVV [additional] 8 7.13.}.3.0.1.0.0.0 9.16.^.1.0.0 1.20.}.3.0.1.0.0.0 9.21.*.0 1.27.}.3.0.1.0.0.0 5.27.&.1.0 15.27.}.2.0.0.0.0.0 11.29.&.1.1 [end] [offset] 6097 [level] 9 [colour] 400060 [size] 16.31 [author] robbo2001 [data] ssssssssssssssss sR.#..#.#.#.##.s s.#..#..#...#.#s s.#.#..#.#..#..s s..#..#..#...#.s ssssssssssssss.s s..............s s...b...b...s'ss s.....%.....sT}s sDsDs.#.sDsDsT}s s%sTs.#.sTsTsT}s s%sTs.#.sTsTs%ss ssssss.sssssssss s.^..#....^..s}s sss.ssssssssss.s sTs............} sDsssssss.ssss.s s...........}s.s s.ssssssssssssss s#.D.DTTs%D....s s..s.ssss.s.ss.s ssDs.D%D.D..}s.s s%.s.sbsssssss.s sDss.DTD.D..s..s s..sDssssssDs..s s.bs..s..%sDs..s s.%sb.s.!.sDs..s s.bs..s...s....s s..D.sss.ssDssss s..s.sTD....%TTs ssssssssssssssss [additional] 9 14.8.}.2.0.0.0.0.0 14.9.}.2.0.0.0.0.0 14.10.}.2.0.0.0.0.0 2.13.^.2.0.0 10.13.^.2.0.0 14.13.}.1.0.2.0.0.0 15.15.}.2.0.0.0.0.0 12.17.}.2.0.0.0.0.0 12.21.}.2.0.2.0.0.0 [end] [offset] 6297 [level] 10 [colour] 404000 [size] 16.31 [author] robbo2001 [data] PPPPPPPPPPPPPPPP PT.}..P..}...}.P P.....P....R...P PM.......#..#..P P.....P........P P....MPPM.TPP.PP P.....PT..PP...P PM..T.P.#.PM...P PT.#..P#..PM...P PM###MP.#.PP...P Pbb...P...MP...P Pb....P...PP...P Pbb...P'..P...MP PPPbPPPPP.P....P PP..b..TP.P.P.PP P....b..P.P.P.PP P..#..b.P.P.P.PP PP..#.bbP.P.P.PP PT..b.bMP.P.P.PP PPbbb..%P.T.P.PP PPPPPDPPPPPPP.PP P..........@P.PP P.PP..?..PP.P.PP P.PPP.*.PPP.P.PP P..PPPDPPP..P.PP P?*TPT!TP.*?P.PP P..PPPDPPP..P.PP P.PPP.*.PPP.P.PP P.PP..b..PP.P.PP P@........@.P.PP PPPPPPPPPPPPPPPP [additional] 21 3.1.}.1.0.1.0.0.0 9.1.}.1.0.1.0.0.0 13.1.}.1.0.1.0.0.0 1.3.M.0 5.5.M.2 8.5.M.0 1.7.M.0 11.7.M.0 11.8.M.0 1.9.M.0 5.9.M.2 10.10.M.2 14.12.M.2 7.18.M.2 11.21.@.0 6.23.*.0 2.25.*.3 10.25.*.3 6.27.*.0 1.29.@.2 10.29.@.2 [end] [offset] 6C97 [level] 11 [colour] 000070 [size] 16.31 [author] robbo2001 [data] &}.............. R............... .#..}}}}}}}}}}}} #..}bbbbbbbbbbbb ...}bbbbbbbbbbbb ...}bbbbbbbbbbbb ...}bbbbbbbbbbbb ...}bbbbbbbbbbbb ...}bbbbbbbbbbbb ...}bbbbbbbbbbbb ...}bbbbbbbbbbbb ...}bbbbbbbbbbbb ...}bbbbbbbbbbbb ...}bbbbbbbbbbbb ...}bbbbbbbbbbbb ...}bbbbb&.bbbbb ...}bbbbbbbbbbbb ...}bbbbbbbbbbbb ...}bbbbbbbbbbbb ...}bbbbbbbbbbbb ...}bbbbbbbbbbbb ...}bbbbbbbbbbbb ...}bbbbbbbbbbbb ...}bbbbbbbbbbbb ....}}}}}}}}}}}b ................ ................ ................ }H.............. ...OOOO........O ...O.&O........! [additional] 49 0.0.&.1.0 1.0.}.1.0.2.0.0.0 4.2.}.3.0.1.0.0.0 5.2.}.3.0.1.0.0.0 6.2.}.3.0.1.0.0.0 7.2.}.3.0.1.0.0.0 8.2.}.3.0.1.0.0.0 9.2.}.3.0.1.0.0.0 10.2.}.3.0.1.0.0.0 11.2.}.3.0.1.0.0.0 12.2.}.3.0.1.0.0.0 13.2.}.3.0.1.0.0.0 14.2.}.3.0.1.0.0.0 15.2.}.3.0.1.0.0.0 3.3.}.2.0.0.0.0.0 3.4.}.2.0.0.0.0.0 3.5.}.2.0.0.0.0.0 3.6.}.2.0.0.0.0.0 3.7.}.2.0.0.0.0.0 3.8.}.2.0.0.0.0.0 3.9.}.2.0.0.0.0.0 3.10.}.2.0.0.0.0.0 3.11.}.2.0.0.0.0.0 3.12.}.2.0.0.0.0.0 3.13.}.2.0.0.0.0.0 3.14.}.2.0.0.0.0.0 3.15.}.2.0.0.0.0.0 9.15.&.1.1 3.16.}.2.0.0.0.0.0 3.17.}.2.0.0.0.0.0 3.18.}.2.0.0.0.0.0 3.19.}.2.0.0.0.0.0 3.20.}.2.0.0.0.0.0 3.21.}.2.0.0.0.0.0 3.22.}.2.0.0.0.0.0 3.23.}.2.0.0.0.0.0 4.24.}.1.0.0.0.0.0 5.24.}.1.0.0.0.0.0 6.24.}.1.0.0.0.0.0 7.24.}.1.0.0.0.0.0 8.24.}.1.0.0.0.0.0 9.24.}.1.0.0.0.0.0 10.24.}.1.0.0.0.0.0 11.24.}.1.0.0.0.0.0 12.24.}.1.0.0.0.0.0 13.24.}.1.0.0.0.0.0 14.24.}.1.0.0.0.0.0 0.28.}.3.0.0.1.0.0 5.30.&.1.2 [end] [offset] 6E97 [level] 12 [colour] 502020 [size] 16.31 [author] robbo2001 [data] MMMMMMMMMMMMMMMM MR!#%..#.DDD%#.M M..#.###.#####.M M..#.#...#.....M M......#####.#DM M#.#####..%#.#%M M#.......#.#.#.M M..#.#####.#.#.M M..#.#.#...#.#DM MD.......#.#.#.M MT####.###...#.M M%#......#####.M MD#.#..###...D.M MT#.#....#.#.##M M%#.####.#.#...M MD#......#.###.M MT#.#D#.%#.#T#.M M%#.#%####b#.#.M MD###%.....}...M MT#.#.#########M M%#T.T.T.T.T.T.M MD############.M MT#.#T#...%#...M M%#.#.#.#.##.##M MD#T....#..#...M MT###...#}...#DM M%#..D########.M MD#T#T..T.#...TM MT#.#.#####.##.M M%#T#T...%T.#T.M MVMMMMMMMMMMMMMM [additional] 91 0.0.M.0 1.0.M.0 2.0.M.0 3.0.M.0 4.0.M.0 5.0.M.0 6.0.M.0 7.0.M.0 8.0.M.0 9.0.M.0 10.0.M.0 11.0.M.0 12.0.M.0 13.0.M.0 14.0.M.0 15.0.M.0 0.1.M.2 15.1.M.0 0.2.M.2 15.2.M.0 0.3.M.2 15.3.M.0 0.4.M.2 15.4.M.0 0.5.M.2 15.5.M.0 0.6.M.2 15.6.M.0 0.7.M.2 15.7.M.0 0.8.M.2 15.8.M.0 0.9.M.2 15.9.M.0 0.10.M.2 15.10.M.0 0.11.M.2 15.11.M.0 0.12.M.2 15.12.M.0 0.13.M.2 15.13.M.0 0.14.M.2 15.14.M.0 0.15.M.2 15.15.M.0 0.16.M.2 15.16.M.0 0.17.M.2 15.17.M.0 0.18.M.2 11.18.}.2.0.0.0.0.0 15.18.M.0 0.19.M.2 15.19.M.0 0.20.M.2 15.20.M.0 0.21.M.2 15.21.M.0 0.22.M.2 15.22.M.0 0.23.M.2 15.23.M.0 0.24.M.2 15.24.M.0 0.25.M.2 9.25.}.0.0.1.0.0.0 15.25.M.0 0.26.M.2 15.26.M.0 0.27.M.2 15.27.M.0 0.28.M.2 15.28.M.0 0.29.M.2 15.29.M.0 0.30.M.2 2.30.M.2 3.30.M.2 4.30.M.2 5.30.M.2 6.30.M.2 7.30.M.2 8.30.M.2 9.30.M.2 10.30.M.2 11.30.M.2 12.30.M.2 13.30.M.2 14.30.M.2 15.30.M.0 [end] [offset] 7097 [level] 13 [colour] 200070 [size] 16.31 [author] robbo2001 [data] QQQQQQQQQQQQQQQQ QR.!.....bbbbb.Q Q.......b.....bQ Q....bbb..bbb.bQ Q....b}b..b.b.bQ Q....bbb.b..b.bQ Q........b..b.bQ Q...bbbb.bb.b.bQ Q..b...b..b.b.bQ 'Hbb...b..b.b.bQ THVb..b...b.b.bQ QHb..b....b.b.bQ Q...b.....b.b.bQ Q..b......b.b.bQ Q.b......bb.b.bQ Q.b.....b...b.bQ Q.b....b...bb.bQ Q.b...b...bb..bQ Q.b..b...b....bQ Q.b.b...b.....bQ Q.bb...b....bbbQ Q......bb..b...Q Q.?......bbb...Q Q......?.......Q Q...?.b.b....?.Q Q......?..?....Q Q..?..b...b?.b'Q Q.T.?...?...T.?Q Q..b..?...?..?.Q Q.?..?.T.?..?b.Q QQQQQQQQQQQQQQQQ [additional] 1 6.4.}.0.0.0.0.1.1 [end] [offset] 7297 [level] 14 [colour] 300060 [size] 16.31 [author] robbo2001 [data] R..........@.... .------..----... ...--...--@.--@. ...--...--.....T ...--...--@..... ...--...--..--@. ...--.-..----..- '............... HHHHHHHHHHHHHHHH ...^.........^.. ....#........... ....#........#.. ....#........M.. ....M........... ..........M..... ...M......b..... .?....?.?...?.?. PPPPPPPPPPPPPPP. ...H.H.~.....H'. .TP......VVP..P. .HHHHHHHVP...... H......HH.HH.HH. #TV#~..#PH.H~.H# #HH.PH..HH...... ..HH..HH..H..P.. #..##H....##.##T #...P..~...HHH.P H..#T.P!...V.~.. ##HHHHHHH..V..HH ......V~..HHH..H .HH.P...P..TPHH. [additional] 11 11.0.@.2 10.2.@.0 14.2.@.3 10.4.@.3 14.5.@.3 3.9.^.0.1.1 13.9.^.0.1.1 13.12.M.2 4.13.M.0 10.14.M.2 3.15.M.0 [end] gnurobbo-0.66+dfsg/data/levels/robbo02.dat0000644000175000017500000022055611306562617017422 0ustar stevesteve[name] RobboII [last_level] 88 [offset] 388C [level] 1 [colour] 78c67f [size] 16.31 [author] Robosoft [data] OOOOOOOOOOOOOOOO O....T.OOO++b..O O@#..#.DDD+bH.}O O..#.#.OOO...R.O O&#....O*.~....O OOOOOOOOb......O O!.T.TO........O O.#............O O.....OOOOOOOOOO O^..bHO.......MO O...HHO@O.#....O O.^.%%O.......&O OOOOOOOTOOOOOOOO O............}TO O.bb...b..bb...O O.b.b.b.b.b+b..O O.bb&.bbb.bTb..O O.b.b.b.b.bb...O &..............M O.bbb.b.b..bb..O O.bb..bb..b...TO O^b...bbM.Mb...O O.bbb#b.b.bbb..O O..............O O..b..bbbDbbb..O O.b.b.b?..Tb...O O.b.b.bbTTTb..}O O..b+Tb#...b#&TO O&OOOOOO&OOOOOOO OTT^...........O OOOOOOOOOOOOOOOO [additional] 21 1.2.@.3 14.2.}.2.0.2.0.0.0 1.4.&.10.0 8.4.*.1 1.9.^.3.0.0 14.9.M.2 7.10.@.1 2.11.^.2.0.0 14.11.&.10.1 13.13.}.1.0.1.0.0.0 4.16.&.1.0 0.18.&.3.0 15.18.M.2 1.21.^.3.0.0 8.21.M.0 10.21.M.2 14.26.}.3.0.1.0.0.0 13.27.&.1.1 1.28.&.3.1 8.28.&.2.0 3.29.^.0.0.0 [end] [offset] 3A8C [level] 2 [colour] 7176a9 [size] 16.31 [author] Robosoft [data] PPPPPPPPPPPPPPPP P.......P......P P.bbbb..P.T..PDP P.bT#Vb.P+...PDP P.b##.b.PPPPPPDP P.bbbb..P}.....P P.b+b.....bbbT.P P.b..b...b###b.P P.b...b..b#%#b.P P.^......b#T#b.P P.bbbb...b#T#b.P P.bT#.b..b###b.P P.b#..b...bbbT.P P.bbbb...^.....P P.b#..b..bbbb..P P.b#..b..b#V.b.P P.bbbb...b#..b.P P.....^..bbbb..P P..bbb...b#V.b.P P.b###b..b#..b.P P.b#%#b..bbbb..P P.b#T#b.....#..P P.b#T#bPP###.PPP P.b###b...}....P P..bbbTPP...PPPP P....#..P...P!TP }.......PPPPP..P P..............} P..PPP..PPP...+P PR.PT..........} PPPPPPPPPPPPPPPP [additional] 8 9.5.}.0.0.1.0.0.0 2.9.^.2.0.0 9.13.^.2.0.0 6.17.^.2.0.0 10.23.}.3.0.0.1.0.0 0.26.}.0.0.1.0.0.0 15.27.}.2.0.1.0.0.0 15.29.}.2.0.0.0.0.0 [end] [offset] 3C8C [level] 3 [colour] a98058 [size] 16.31 [author] Robosoft [data] ooooooooo}oooooo o....o....o....o o.R..D..o.o..T.o o....o.To.##...o o....o.oo.o##..o ooo..oooo.oooooo o.bb.o....o....o o....o....o..T.o o....#..&.o....o o#...o....o...#o oooo}oooooooDooo o+........o...#o o.ooooooo.o.&..o o.?....#o.o....o o....T..o.o....o o...&...o.ooo.oo o.....%.o*o.##.o o.......o.o.T..o o.ooooooo.o#.#.o o.........o..#%o oooooooooooboooo oT%^......o....o ooo.o.o.o...oo@o o....!....o.#..o o.o.o.o.o.o.oo.o o.o...^...o..#.o o.o.ooooooo.oo.o o.o.o.D...o....o o.o.o.o.'.oooo.o o.....o...o&...o oooooooooooooooo [additional] 10 9.0.}.1.0.0.0.0.0 8.8.&.1.0 4.10.}.3.0.1.0.0.0 12.12.&.1.1 4.15.&.2.0 9.16.*.1 3.21.^.3.0.0 14.22.@.3 6.25.^.2.0.0 11.29.&.2.1 [end] [offset] 3E8C [level] 4 [colour] 719d8d [size] 16.31 [author] Robosoft [data] pppppppppppppppp p}........T.%.!p p}.....T..ppp..p p}........T.'.Rp ppppDppppppppppp p....T.........M p.............}p p}..#..........p p....b+b+b.##.Tp p..........?...p p..............p p==============p p..............p p..@.@..@.@...*p p*.*T.*..@.@..@p pT.@.*.*.*.*...p p##############p p..............p p.p............p p.......T......M p.p..}....}....p ppppppp..ppppppp p........p....Tp p........D.....p p...pppppppppppp M...........T..p p..............p p###...........p p###...........p pT##.......Mp+.M pppppppppppppppp [additional] 28 1.1.}.0.0.2.0.0.0 1.2.}.0.0.2.0.0.0 1.3.}.0.0.2.0.0.0 15.5.M.2 14.6.}.0.0.0.0.1.1 1.7.}.0.0.0.0.0.0 3.13.@.3 5.13.@.1 8.13.@.0 10.13.@.2 14.13.*.1 1.14.*.3 3.14.*.2 6.14.*.0 9.14.@.3 11.14.@.1 14.14.@.0 3.15.@.2 5.15.*.1 7.15.*.3 9.15.*.2 11.15.*.0 15.19.M.2 5.20.}.0.0.0.0.1.1 10.20.}.0.0.0.0.1.1 0.25.M.0 11.29.M.2 15.29.M.2 [end] [offset] 408C [level] 5 [colour] b2b05f [size] 16.31 [author] Robosoft [data] s}ssssssssssssss s.sb...~.bbb.bbs sHsb...sssss.sbs sH&&bb......bT.s sHs&.bbbbbbb#.bs sHsbbbbbbb....bs s+.HsH'R.....bbs sssHHHsssDssssss s#sssss.sDssb#Vs sT...Ts..~b...Vs s+##b.s.s.sb##Vs s%#b+...s.sb###s sTb##ssss.b###bs sTb#..}}..#bbb#s sb###ssss.b###bs s#bbbbb##.##bbbs }######b#b#bb##s s#bbbb#b#b#b###} sb####b##b##bb#s s#bbb####b####bs }####b##b#b###bs s#bbb##bs#sb##bs sb####bssDssb#bs s#bbbbssTTTssb#s ssssssssssssssss s&..THHH..#.T##s sss!.sss^s.##b#s s&Ts^s&s.#.b#.#s s#%s.sTs.s.s..#s s.##T...T......} sssssssssssss.ss [additional] 15 1.0.}.1.0.0.0.0.0 2.3.&.1.0 3.3.&.3.0 3.4.&.2.0 6.13.}.2.0.1.0.0.0 7.13.}.0.0.1.0.0.0 0.16.}.0.0.1.0.0.0 15.17.}.2.0.0.0.0.0 0.20.}.0.0.1.0.0.0 1.25.&.1.1 8.26.^.3.0.0 1.27.&.3.1 4.27.^.3.0.0 6.27.&.2.1 15.29.}.2.0.1.0.0.0 [end] [offset] 428C [level] 6 [colour] 77a4ac [size] 16.31 [author] Robosoft [data] OOOOOOOTOOOOOOOO O#....~.......bO O..OOO&ObbbbbbOO O#..O&.bOOOOOOOO OT#.OObOObbbbbOO O...ObOObOOOOb#' O..ObOObOObbbbOO O.OObObOObOOO.#& O.ObObOOOObbbO#O O..#b##^.#...b#O O#OOOOOOOOOOOObO O.......^.....bO OOO.OOOOOOOOOObO O.....^..##!##bO O.OOOOOOObOOOObO O.O.DD~.b.TO&ObO O.O.OOOOOOOO.ObO O.O.O%....^..ObO ORO.OOOOOOOOOObO O#.....@.....ObO O..OOTO.OOOO.ObO O.........*...bO OOOOOOOOOOOOOObO OT++...%.&bOObOO O.bb.bOOObOObOOO O.bbTbbObO.bOOTO OT.+b..b..bOOHHO OOOOObOOObOOHHHO O..#.ObOb.O.HHHO O&T&...b..T...}O OOOOOOOOOOOOOOOO [additional] 14 6.2.&.1.0 5.3.&.2.0 15.7.&.4.0 7.9.^.2.0.0 8.11.^.2.0.0 6.13.^.2.0.0 12.15.&.3.0 10.17.^.2.0.0 7.19.@.3 10.21.*.1 9.23.&.2.1 1.29.&.4.1 3.29.&.3.1 14.29.}.2.0.0.0.0.0 [end] [offset] 448C [level] 7 [colour] 819663 [size] 16.31 [author] Robosoft [data] oooooooooooooooo oRo...o....o!o'o o.o.o.#..&....+o o.......M##....M oooo.}ooo..oooHo o.......o..o.&Ho o..##.....oo.oHo o#.o.T.o*.o.#oHo o..ooo.o..o..o.o o.#o...o+.o..o.o o..o.ooo..o.#'.o o..o.T+o..o#.o.o o.#o.o.o..o..o.o o..o.o.o..o..o}o o.bo.o.o*.o.oooo o..o......o+^..o o.ooooo#oooooo#o o.o.&.o.o?b.^..o o.o.o.o.o.Tooo.o o.o.o.o.o.o.#..o o.o.o.o.o.}o#o.o o.o.o^o.o......o o.o}o.o.o..#oT.o o.ooo.o.o...oooo o.o+o.o.o.#...?o o.o.o&o.oooooooo o#o.ooo.oHHb.T#o o....Mo.HHHHHb.o oT..#.o.boooo.Ho o...o.........Ho oo}ooooooooooooo [additional] 17 9.2.&.10.0 8.3.M.2 15.3.M.2 5.4.}.3.0.1.0.0.0 13.5.&.1.0 8.7.*.1 14.13.}.3.0.1.0.0.0 8.14.*.1 12.15.^.2.0.0 4.17.&.10.1 12.17.^.2.0.0 10.20.}.0.0.0.0.1.1 5.21.^.3.0.0 3.22.}.3.0.1.0.0.0 5.25.&.1.1 5.27.M.2 2.30.}.3.0.1.0.0.0 [end] [offset] 468C [level] 8 [colour] 9551b9 [size] 16.31 [author] Robosoft [data] ssssssssssssssss s.............Rs s.!b.sssssss.--s s.sb.s?*.....-Ts s.&b.s..#b#---.s s.sb.s.s#b&-&..s s.sb*s.s.#.----s s.&b...s.#.-&.Ts s.sb.s.s..b-...s s.sb.s@s#..-...s s.&b.s..sss---^s s.sb.s?......-.s s.sb.sssssss.-+s s............-&s ss....---------s s...}.-&......Ts s.sb..---------s s.sb.--&.#..T-Ts s.&b.----.#..-.s sssb..--------.s s.sb##-M.......s s.&b..-&..#.#.#s s.sb.#-M.......s s.sb..--.###.-.s s.&b..-..#...-+s s.sb##-b.##.---s s.sb..-+..#.-'.s s.sb..-#..#.-..s s....---}----##s s}........+-&..s ssssssssssssssss [additional] 23 7.3.*.1 2.4.&.10.0 10.5.&.6.0 12.5.&.10.1 4.6.*.1 2.7.&.1.0 12.7.&.5.0 6.9.@.3 2.10.&.2.0 14.10.^.3.0.0 14.13.&.6.1 4.15.}.2.0.0.0.0.0 7.15.&.1.1 7.17.&.4.0 2.18.&.3.0 7.20.M.0 2.21.&.4.1 7.21.&.3.1 7.22.M.0 2.24.&.5.1 8.28.}.3.0.1.0.0.0 1.29.}.3.0.1.0.0.0 12.29.&.2.1 [end] [offset] 488C [level] 9 [colour] 6d61b1 [size] 16.31 [author] Robosoft [data] PPPPPPPPPPPPPPPP P.R..P?.......'P PPP..PPPP.....MP P..............P P.PM.^...PPM...P P..............P PPPP......MP...P P....P....**...P P..b.MP........P P.~......!##.}.P PP.PPP..P##b.P.P P.......P#.b..+P PP..PP..P......P P......@..PPP..P PP..PPPPPP.bT..P P..........bb.^P P......PPPHHHP.P PPTP.P.PbbHHbP.P PPPP.P.P..#..P.P P..b.P.P.P#T.P.P P...#P.P.P###P.P P.b.#P.P.P...P.P P#.P.P.P.P..TP.P P..T.P...P.....P P....P.P.~.....P PPPPPP.PPP.....P P.#.....}P..P..P P.....#PPP..P#.P PHPPPP...b##P#.P PHHHTP.....T...P PPPPPPPPPPPPPPPP [additional] 12 14.2.M.2 3.4.M.0 5.4.^.3.0.0 11.4.M.0 10.6.M.2 10.7.*.1 11.7.*.1 5.8.M.2 13.9.}.3.0.1.0.0.0 7.13.@.3 14.15.^.3.0.0 8.26.}.2.0.0.0.0.0 [end] [offset] 4A8C [level] 10 [colour] a28352 [size] 16.31 [author] Robosoft [data] ssssssssssssssss s.!.#.#.....#.#s s....#.b.##....s s.~.bss#.s..###s sT...ss..sT....s ssssss}..sss###s sT.#.....}ss###s s&..#..R...#...s sssss}.......sss sT+.ss.s}sss.s+s sM...s.sssTs.s+s sTs..s..Ts.s.s^s s.s.#sDsss...s.s s.s#..^...#s.s.s s....s.s^s.s.s.s s###.s.....#.#.s s.##.s.s.s.s.s.s sT.#.s.....sss.s sssT^..'.s.^...s sTss.s........#s s..s.s.sssss.sTs s..^....^....sss ss.ss.sssss.ssTs s}.............s s%.ssssss.ssssss s..s^.+T...#..&s s....^......#..s s#.#..^......#Ts s.#....^...#..#s sT..........#..s ssssssssssssssss [additional] 19 6.5.}.1.0.1.0.0.0 9.6.}.2.0.1.0.0.0 1.7.&.10.0 5.8.}.0.0.1.0.0.0 8.9.}.3.0.1.0.0.0 1.10.M.0 14.11.^.3.0.0 6.13.^.1.0.0 8.14.^.3.0.0 4.18.^.3.0.0 11.18.^.2.0.0 3.21.^.2.0.0 8.21.^.0.0.0 1.23.}.0.0.2.0.0.0 4.25.^.3.0.0 14.25.&.10.1 5.26.^.3.0.0 6.27.^.3.0.0 7.28.^.3.0.0 [end] [offset] 4C8C [level] 11 [colour] 7accb0 [size] 16.31 [author] Robosoft [data] oooooooooooooooo o........^.D..%o o.o.o.o^o.oo...o o.o^o.o.o.ooo&oo o.o.o^o.o.oT.#%o o.ooooooooo.?..o o..............o o^.ooooooooooo.o o..oT........o.o o..o.........D.o o..o+...@....o.o o..ooooooooooo.o o}.............o o#####.bb.#####o o.#.#......#.#.o oT.#.#..%.#.#.To oooooooooooooooo o.......^.....#o o+ooo.b#oooo.}}o o#o.....oT'o...o o&o....oo..o##.o o#.....o..^o#T.o oT...ooo...oo.To o#...o.....o...o o&oooo.@o..o#b?o o..#...o...o...o o.#.#......oDooo o..#..#.......Do ooooo.oooo.oooD! o%.^..oRT..^...o oooooooooooooooo [additional] 17 9.1.^.3.0.0 7.2.^.3.0.0 3.3.^.3.0.0 13.3.&.1.0 5.4.^.3.0.0 1.7.^.3.0.0 8.10.@.3 1.12.}.0.0.0.0.0.0 8.17.^.2.0.0 13.18.}.1.0.0.0.0.0 14.18.}.1.0.1.0.0.0 1.20.&.1.1 10.21.^.1.0.0 1.24.&.10.0 7.24.@.3 3.29.^.2.0.0 11.29.^.0.0.0 [end] [offset] 4E8C [level] 12 [colour] a5b8a0 [size] 16.31 [author] Robosoft [data] OOOOOOOOOOOOOOOO O..^..^......D!O O............##O OHHHHHHHHHHHHHHO OHHHHHHHHHHHHHHO OHHHHHHHHHHHHHHO OT..b........R.O O.............}O O....#.........O O.........?.OOOO O...........D.%O O#OOOOOOOOOOOOOO O.............}O OOOOOOOOOOOO..+O O#............}O O#.OOOOOOOOOOOOO O}.............O OOOOOOOOOOOOOO.O O..........}...O M@bbbbb........O O.bOOOOb.......O O.bOTD.b*..#...O O.bOOOOb.^..^..O M.bbbbb........O O.b%bT.........O O@b.Tb*........O O.b...b........O O.b....b..#..##O M........######O O.............TO OOOOOOOOOOOOOOOO [additional] 16 3.1.^.2.1.1 6.1.^.2.1.1 14.7.}.2.0.2.0.0.0 14.12.}.2.0.1.0.0.0 14.14.}.2.0.1.0.0.0 1.16.}.0.0.1.0.0.0 11.18.}.1.0.0.0.0.0 0.19.M.0 1.19.@.3 8.21.*.1 9.22.^.2.0.0 12.22.^.3.0.0 0.23.M.0 1.25.@.3 6.25.*.1 0.28.M.0 [end] [offset] 508C [level] 13 [colour] b3b06d [size] 16.31 [author] Robosoft [data] ssssssssssssssss s%DTsss.s...s.ss s}#...........^s s}#bsss.ssss..^s s}#b....sTTs.s^s s}#'.......s...s s...s......sT..M s.s.sssss....s.s s.s..........s.s s.s@ssss.sss.sss s.s.s.#........s s.s.s....sssss.s s.s.s..s.s.*...s s.s.ss.T...@...s s.s..s...sssss.s s.s....s.......s s.ssT..s.......s s..ss..s.sssss.s s..s.......*...s s.....s.^...Ts.s s.s@s.ssssss.s.s s.+.s........s.s s...s....ss..s.s ssssssss#.s.ss.s s.b.+.....sRsT.s sHHHHH~HHHs#s..s sHHHHHH+HHs....s sHHHHHHHHHs..sss s..}.......?.s!s s............DTs ssssssssssssssss [additional] 15 1.2.}.0.0.2.0.0.0 14.2.^.3.0.0 1.3.}.0.0.2.0.0.0 14.3.^.3.0.0 1.4.}.0.0.2.0.0.0 14.4.^.3.0.0 1.5.}.0.0.2.0.0.0 15.6.M.2 3.9.@.3 11.12.*.1 11.13.@.3 11.18.*.1 8.19.^.2.0.0 3.20.@.3 3.28.}.3.0.0.1.0.0 [end] [offset] 528C [level] 14 [colour] a75c6c [size] 16.31 [author] Robosoft [data] ssssssssssssssss s}.............M s###.ssssss...!s s###.s....s....s s###.s.ss....s.s s###.s.sssssss.s s.#..s.s.....s.s s.ssTs.s.sss.s.s s.ssss.s.sTs.s.s s.s....s.s+s.s@s s.s@ssss.s+s.s.s s.s.s....sT..s.s s.s.s.sssss.ss.s s.s.s.sT.+s....s s.s.s.ss.sssss.s s.s.s..........s s#s.ssssssssss.s s.s.......sTTT.s s.sssssss.ssss.s s.&.....s.s....s s.s.s+s.s.s.ss.s s.s.sss*s.s.ss.s s.s*s&s.s.s....s s.s.s.s.s.ssss@s s.s.....s......s s.ssssssssssssss s#...#..#.#....s s..#.b#..#.#...s s...#.#.##..##}& sR.....#...#...s ssssssssssssssss [additional] 11 1.1.}.0.0.0.0.0.0 15.1.M.2 14.9.@.3 3.10.@.1 2.19.&.1.0 7.21.*.1 3.22.*.3 5.22.&.10.0 14.23.@.3 14.28.}.3.0.0.1.0.0 15.28.&.10.1 [end] [offset] 548C [level] 15 [colour] b9944e [size] 16.31 [author] Robosoft [data] PPPPPPPPPPPPPPPP P'#^........}.TP PM##...........P PR.........P...P PPP........P..#P P+D...#....P..#P PPP...b....P..#P P..........P..#P P.PPPPPPPP.P..#P P.T..^...T.P..#P PPPPPPPPPPPP..#P P%V#bT.........P PTV#b..~......PP PTV#b.........PP PTV#b...#.....PP PTV#b.........PP P+V#b.#........P PPPP&PPPPPPP..#P P!.........P..#P P&PP.PPPPP.P..#P P..P.....P.P..#P P#.PPPPP.P@P..#P P.#.#T#P@P.P..#P P.#....P.P.P..#P P#.###.P.P.P..#P PT###..P.P.P..#P P..#.#.P.P.P...P P#..##.P.P.P...P P..#..#P.P.P...P P..#..TP.....}TP PPPPPPPPPPPPPPPP [additional] 9 3.1.^.2.1.1 12.1.}.1.0.1.0.0.0 1.2.M.0 5.9.^.2.0.0 4.17.&.10.0 1.19.&.10.1 10.21.@.3 8.22.@.1 13.29.}.3.0.1.0.0.0 [end] [offset] 568C [level] 16 [colour] 8faac7 [size] 16.31 [author] Robosoft [data] pppppppppppppppp p.............bp p'.#p.........bM p.#Rp.........bp ppppp.........bp M.....T.....+.bp pT......T.....bp M.........T.+.bp pT............bp M.............bp pT..........T.bp M.............bp p....}}}}}}}}}bp p...bbbbbbbbbb.p pT&.###########p ppppp}.}.}.}.}.p pTp#.VVVVVVVVVVp pTp#.VVVVVVVVVVp pTp############p pTppp##########p p#.%#T..^......p p.##.......b...p p.pppp.ppppppp.p p...T.^.T......p p%p.p.p.p.pppppp p...p.&.p...b.Tp p.p.p.p.p.p.pDpp p.p.......p.p.+p p@pppp.pppp@p.!p p...........D..p pppppppppppppppp [additional] 25 15.2.M.2 0.5.M.0 0.7.M.0 0.9.M.0 0.11.M.0 5.12.}.3.0.1.0.0.0 6.12.}.3.0.1.0.0.0 7.12.}.3.0.1.0.0.0 8.12.}.3.0.1.0.0.0 9.12.}.3.0.1.0.0.0 10.12.}.3.0.1.0.0.0 11.12.}.3.0.1.0.0.0 12.12.}.3.0.1.0.0.0 13.12.}.3.0.1.0.0.0 2.14.&.10.0 5.15.}.3.0.1.0.0.0 7.15.}.3.0.1.0.0.0 9.15.}.3.0.1.0.0.0 11.15.}.3.0.1.0.0.0 13.15.}.3.0.1.0.0.0 8.20.^.2.0.0 6.23.^.2.0.0 6.25.&.10.1 1.28.@.1 11.28.@.3 [end] [offset] 588C [level] 17 [colour] 6da77a [size] 16.31 [author] Robosoft [data] ssssssssssssssss s..............s s..*s....sss@..s s..Ts%...s%.#..s s..sss...sss...s sT............Rs sDssssssssssssss sD......D......s ss..sss.s......s ss..?^s.s.TTTT.s ss@ssss@s*ssss.s ss.#sss.s.TTTT.s ss..%+s.s.ssss.s ss.#sss.s.TTTT.s ss.ssss.s*ssss.s ss......s......s ssssssssssssss&s s!.....^.......s s..........ssV.s s...V...#...s..s s....?......ss.s ssssM....T..Ts.s s..........sss.s s.....V........s s..V...}}..V...s s......}}......s s...........V..s sV.T....??.....s sssssss.......+s s&.'.....V.....s ssssssssssssssss [additional] 15 3.2.*.3 12.2.@.3 5.9.^.2.0.0 2.10.@.1 7.10.@.3 9.10.*.3 9.14.*.3 14.16.&.10.0 7.17.^.2.1.1 4.21.M.0 7.24.}.2.0.0.0.0.0 8.24.}.3.0.1.0.0.0 7.25.}.1.0.0.0.0.0 8.25.}.0.0.0.0.0.0 1.29.&.10.1 [end] [offset] 5A8C [level] 18 [colour] a08750 [size] 16.31 [author] Robosoft [data] QQQQQQQQQQQQQQQQ Q..RQ.T..T.Q!..Q Q.QQQ..QQ..QQQ.Q Q.Q....##....Q.Q Q......MM......Q Q.Q....QQ....Q.Q Q.QT...QQ...TQ^Q Q^QQQ..QQ..QQQ.Q Q..&Q..QQ..Q&..Q Q.QQQ.}QQ}.QQQ.Q Q.Q...QQQQ...Q.Q Q.Q.Q......Q.Q.Q Q.Q@Q.@QQ..Q.Q.Q Q...Q..Q%..Q...Q Q.Q.Q.TQQT.Q.Q.Q Q.Q.QQQQQQQQ.Q.Q Q.Q..........Q.Q Q^QQQQQQQQQQQQ.Q Q.QT.^....TQ&Q.Q Q.Q..QQQQ..Q...Q Q.Q..QT+Q..QQQ.Q Q.Q........#.Q.Q Q.QDQQQQQQQQ.Q.Q Q.Q......Q?Q.Q.Q QQQ.##.Q.QTQ.Q.Q QT..##.Q...Q.Q.Q QT.....Q...Q.Q.Q QQQQT..&.....Q.Q Q..QQQQ.QQ...Q.Q Q&......TQ}T}Q}Q QQQQQQQQQQQQQQQQ [additional] 18 7.4.M.2 8.4.M.0 14.6.^.1.0.0 1.7.^.3.0.0 3.8.&.10.0 12.8.&.10.1 6.9.}.3.0.1.0.0.0 9.9.}.3.0.1.0.0.0 3.12.@.1 6.12.@.1 1.17.^.1.0.0 5.18.^.2.1.1 12.18.&.1.0 7.27.&.2.0 1.29.&.1.1 10.29.}.3.0.1.0.0.0 12.29.}.3.0.1.0.0.0 14.29.}.3.0.1.0.0.0 [end] [offset] 5C8C [level] 19 [colour] 75ae7f [size] 16.31 [author] Robosoft [data] ssssssssssssssss s}...........sRs s....^.......s.s sT..bbb.#..#.#.s s##b...b.....#.s s##b.T.b###.##%s sssssssssss&ssss s...#.##..#Tbbbs sTT#....#.#.bbbs sssssssssss.bbbs s&..^.....s..bbs s...~....bs?.#bs sssssssss#s..#bs s.....s#......bs s?....D....}..bs s#.T..s#......bs s#....s+#.....bs M.....s#......bs s@T...s.......bs s.....s.???+#.}s M..............s s...T.s......T.s s.....ssssssssss s^...T....^....s s..............s s.............#s s#sDs.........#s s#s.sbbbbbbbbbbs ss...s......b..s sT.!+TsVT+TTT.#s ssssssssssssssss [additional] 12 1.1.}.0.0.0.0.0.0 5.2.^.2.0.0 11.6.&.10.0 1.10.&.10.1 4.10.^.2.0.0 11.14.}.2.0.0.0.0.0 0.17.M.0 1.18.@.1 14.19.}.2.0.0.0.0.0 0.20.M.0 1.23.^.2.1.1 10.23.^.2.0.0 [end] [offset] 5E8C [level] 20 [colour] 8a8d56 [size] 16.31 [author] Robosoft [data] pppppppppppppppp p+Vbp......pbV+p p..bp.b..b.pb.!p p.bTp^.....pTb.p pp.ppppppDppp.pp p..b.%p...b^...p p.b...pb.....#.p p.bbb.D.....pppp p.....pb..b.p#Tp ppppppp.....D.&p pT..??pb..b.p#Tp p..?#.p.....pppp p#.#.#pb^.b..b.p p.#.#.p....^...p p.#.##pb..b.pppp p####.pb....p.*p p.....p#..b.p.*p p.##.#p.....pp.p p..#..p...b..b.p p?###.p^b..^...p p.##.#p.p}pppDpp p...#.p.p^.....p ppp.#.p.p.b.b.bp p&p.##p.p..b.b.p p.p.#.p.p.b.b.bp p.p..#D.p......p p.pppppppppppppp p.............Rp ppppppp.pppppppp p%%%..^.......'p pppppppppppppppp [additional] 13 5.3.^.2.0.0 11.5.^.3.0.0 14.9.&.10.0 8.12.^.3.0.0 11.13.^.3.0.0 14.15.*.1 14.16.*.1 7.19.^.3.0.0 11.19.^.1.0.0 9.20.}.3.0.1.0.0.0 9.21.^.0.0.0 1.23.&.10.1 6.29.^.0.0.0 [end] [offset] 608C [level] 21 [colour] 6b7566 [size] 16.31 [author] Robosoft [data] oooooooooooooooo o}.....To......o o...#T..o..^.R.o o.'....Mo#.....o o.......o...oooo oooM........b.#o o.......o.....#o o.ooooo.o.....#o oT.@...To.....#o oooooooooooooo#o o............o.o o.oooooo.o.&.o.o o.....Mo*o...o.o o.oooooo.ooooo.o o*oM.....o.....o o.oooooo.o#....M o........o..#..o o.oooooooo...ooo o.o....oM.....Mo o.o..&.ooooo.ooo o.o....o.}.o...o o.o@T#.o...o...o o..........o.&.o ooo&oooo...o...o o......o...ooooo o.T....o...o...o o......ooDoo.&.o o.....*o...o...o o....T.o@!.o.T.o o.%....o...o...o oooooooooooooooo [additional] 21 1.1.}.0.0.0.0.0.0 11.2.^.3.0.0 7.3.M.2 3.5.M.0 3.8.@.3 11.11.&.10.0 6.12.M.2 8.12.*.1 1.14.*.3 3.14.M.0 15.15.M.2 8.18.M.0 14.18.M.2 5.19.&.1.0 9.20.}.1.0.0.0.0.0 3.21.@.1 13.22.&.1.1 3.23.&.2.0 13.26.&.10.1 6.27.*.3 8.28.@.1 [end] [offset] 628C [level] 22 [colour] 8698ab [size] 16.31 [author] Robosoft [data] ssssssssssssssss s............}Rs s.ssssTTssss...s s.s..ssss..s..bs s.s........s...s s*s.s+!++s.s..bs s.s.ss..ss.s...s s.s........s..bs s.s.b.b.b.*s...s s.s.s.ss.s.s..bs s.....s........s s#####s.bbbbb.bs s#####s.....b..s s#####s.bbbbb.bs s#####s.....b..s sT####s.bbbbb.bs sT####s.....b..s sT####s.bbbbb.bs s#####s.....b..s s#####s.bbbbb..s s#####s........s s#####Tssssss.ss s..........ss.ss s.sss...sb.b..ss s...b.....s.s.ss s.ss.ssbs.s.s.ss s...b...s.sb...s s.ss.ssss.s.ss.s s.?s...........s s....sssssssTsss ssssssssssssssss [additional] 3 13.1.}.1.0.1.0.0.0 1.5.*.3 10.8.*.3 [end] [offset] 648C [level] 23 [colour] 9f826a [size] 16.31 [author] Robosoft [data] QQQQQQQQQQQQQ&QQ QR..Q..........Q Q.&.Q.?.^...Q..Q Q...Q......QQ..Q QQQQQ....^.....Q Q...QQQQQ..#...Q Q...Q...Q..QQ..Q Q...&.&.Q...Q..Q Q...Q...Q.#.Q..Q Q...QQQQQ......Q Q.......QQQQQ..Q Q.^.....Q...Q..Q Q...QQQ.Q.&.Q..Q Q.......Q...Q..Q Q.......QQ&QQ..Q Q.........^....Q Q..QQQQQ.......Q Q..Q!..Q.Q.Q...Q Q..Q.&.Q.Q~Q.^.Q Q..Q...Q.Q.Q...Q Q..Q.QQQ.......Q Q..Q...QQQQQ...Q Q..QQQ.Q+.+Q...Q Q.....&..&.Q...Q QQ.QQQQQ+.+Q...Q Q.Q..QQQ&QQQ...Q Q^...QQ....QQ&QQ Q+..+Q&.Q@.Q...Q Q..&.QQ....Q.&.Q Q+..+QQ....Q...Q QQQQQQQ&QQ&QQQQQ [additional] 23 13.0.&.6.0 2.2.&.10.0 8.2.^.3.0.0 9.4.^.2.0.0 4.7.&.4.0 6.7.&.2.0 2.11.^.1.0.0 10.12.&.1.0 10.14.&.3.0 10.15.^.0.0.0 5.18.&.8.0 13.18.^.1.0.0 6.23.&.7.0 9.23.&.6.1 8.25.&.1.1 1.26.^.2.0.0 13.26.&.5.0 6.27.&.2.1 9.27.@.3 3.28.&.8.1 13.28.&.4.1 7.30.&.3.1 10.30.&.10.1 [end] [offset] 668C [level] 24 [colour] 7cd092 [size] 16.31 [author] Robosoft [data] pppppppppppppppp p!DDDDDR..pV...p ppppppppp.pbbbbp &........^.....p p.#.ppppppppp.pp pppbHHHHHHH..#.} p'pTHHHHHHH....p p.pbHHHHHHH..#.} p.pTHHHHHHH....p p.pbHHHHHHH..#.} p.pTHHHHHHH....p p.pbHHHHHHH..#.} p.pTHHHHHHH....p p^pbHHHHHHH..#.} p.pp}p#pppp.pp.p p.pppp.........p p.T.....ppppp..p p.ppppp...#....p p.#pT.p.pppp...p p#%&.%#......p.p p..p#.ppp.pp.p.p pppp...........p p....pppp.pppp.p p.............^p p.bpp.ppppppp..p pT............pp pp.pp..pDpDppppp p......p.p....%p pDppppTpTp@T.ppp p%p%.D.p%p...D+p pppppppppppppppp [additional] 12 0.3.&.10.0 9.3.^.2.0.0 15.5.}.2.0.1.0.0.0 15.7.}.2.0.1.0.0.0 15.9.}.2.0.1.0.0.0 15.11.}.2.0.1.0.0.0 1.13.^.3.0.0 15.13.}.2.0.1.0.0.0 4.14.}.3.0.1.0.0.0 3.19.&.10.1 14.23.^.2.0.0 10.28.@.3 [end] [offset] 688C [level] 25 [colour] 6cd99b [size] 16.31 [author] Robosoft [data] OOOOOOOOOOOOOOOO O.}.}.}}....&.RO O}...........#.O O%.............O OOOOOOOOOOOOODOO O!'O}..........O OODO}..........O O..............O O.......???...^O OOOOOO.........O O%??.O.........O O.#..O...%.....O O....O@OOOOOOO@O O....O....O....O O....O....O....O O.}.&O....O....O OOOOOO.........O O..........OOOOO O....^.....OTT&O O..........OTT*O OM..^......O+@*O O..........OVVVO OM.....^...D^^^O O..........OOOOO OTHHHHH........O ObHHHHH#......}O OTHHHHH...OOOOOO ObHHHHH#.}O++VVO O..^.^.^..OV.&VO OT'.^.^.&.O+VV+O OOOOOOOOOOOOOOOO [additional] 34 2.1.}.1.0.0.0.0.0 4.1.}.1.0.0.0.0.0 6.1.}.1.0.0.0.0.0 7.1.}.1.0.0.0.0.0 12.1.&.10.0 1.2.}.0.0.0.0.0.0 4.5.}.0.0.2.0.0.0 4.6.}.0.0.2.0.0.0 14.8.^.0.0.0 6.12.@.1 14.12.@.3 2.15.}.3.0.1.0.0.0 4.15.&.1.0 5.18.^.2.0.0 14.18.&.4.0 14.19.*.0 1.20.M.0 4.20.^.0.0.0 13.20.@.1 14.20.*.1 1.22.M.0 7.22.^.2.0.0 12.22.^.2.0.0 13.22.^.0.0.0 14.22.^.2.0.0 14.25.}.2.0.1.0.0.0 9.27.}.2.0.1.0.0.0 3.28.^.3.0.0 5.28.^.1.0.0 7.28.^.3.0.0 13.28.&.10.1 4.29.^.3.0.0 6.29.^.1.0.0 8.29.&.1.1 [end] [offset] 6A8C [level] 26 [colour] ad414f [size] 16.31 [author] Robosoft [data] oooooooooooooooo oR.#.#.#.......o o.#..##..@b%...o o####.#.#.%b...o o!.#.#.#.......o ooooooooooooo#oo o..D...o.......o o..o@#.o...*o..o oT.o...D..~....o oooooDoooooooooo o..............} o.........b...~o o.ooooooo......o o......oooo@...o o..ooo+o+.b....o o.@oooooooo....o o..o%..........o o..ooooooo.....o o...b.To.......o o...b..........o o...bbbbbbb....o o..............o o######.#######o obbbbbbDbbbbbbbo oVVVVV#D#VVVVVVo oVVVVVoDoVVVVVVo oVVVVo...oVVVVVo oVVVo.^T..oVVVVo oVVo..^T...oVVVo oVo+...^T..%oV'o oooooooooooooooo [additional] 9 9.2.@.1 4.7.@.1 11.7.*.3 15.10.}.2.0.2.0.0.0 11.13.@.3 2.15.@.1 6.27.^.2.0.0 6.28.^.0.0.0 7.29.^.2.0.0 [end] [offset] 6C8C [level] 27 [colour] 7892c9 [size] 16.31 [author] Robosoft [data] pppppppppppppppp p..^....#####TTp p}......####.?.p p}......######.p p.....^.####..%p ppppppp.pppppppp p%.TT.p.p......p p.#..#p.p@Tpp'@p p..###p.p.p..p.p p#....p.p......p p..p#.p.ppppDppp p!Tp..p.p......p pppp.#p.p^p..p.p p.b.#.p.p....p.p pR....p.p....p.p p...b.p.p%b..p.p p#.#ppp.ppp..p.p p.#.p#.#.#pb.p^p p..#p.###.p..p.p p...p.#.#.pb.p.p pDpDppp.ppp..p.p p.#.#%p.pppp...p p#.b#.D##....#.p p.#.#.p##ppp.p.p p#.#..pppp...p.p p.....D.#.#p.p.p ppppppp.#..p.p.p p+#+#.#..b.D.p.p p..#.##.#.#p...p p%.....#...p..Tp pppppppppppp}ppp [additional] 9 3.1.^.2.0.0 1.2.}.0.0.0.0.0.0 1.3.}.0.0.0.0.0.0 6.4.^.0.0.0 9.7.@.1 14.7.@.3 9.12.^.3.0.0 14.17.^.3.0.0 12.30.}.3.0.1.0.0.0 [end] [offset] 6E8C [level] 28 [colour] a674b3 [size] 16.31 [author] Robosoft [data] ssssssssssssssss sR...sT......D+s s....ssssM...s!s sM......s....sss s....+.bsM.....s sM......s......s s.......sM.....s sM......s......s s.......sM.....s sM......s......s s.......sM.....s sM..b...s......s s....^..sM.....s sM......s......s s.......sM.....s sM......s......s s.......sM.....s sM......s......s s.......sM.....s sM...b..s......s s.......sM.....s sM......s......s s.......sM.....s sM......s......s s.......sM.....s sM......s......s s.......sM.....s sM......D......s s.......sss....s s%......s+.....s sss}sssssss}ssss [additional] 29 9.2.M.0 1.3.M.0 9.4.M.0 1.5.M.0 9.6.M.0 1.7.M.0 9.8.M.0 1.9.M.0 9.10.M.0 1.11.M.0 5.12.^.3.0.0 9.12.M.0 1.13.M.0 9.14.M.0 1.15.M.0 9.16.M.0 1.17.M.0 9.18.M.0 1.19.M.0 9.20.M.0 1.21.M.0 9.22.M.0 1.23.M.0 9.24.M.0 1.25.M.0 9.26.M.0 1.27.M.0 3.30.}.3.0.1.0.0.0 11.30.}.3.0.1.0.0.0 [end] [offset] 708C [level] 29 [colour] b5a7a2 [size] 16.31 [author] Robosoft [data] PPPPPPPPPPPPP&PP PR.....PPPPP...P PPPPP}.....P.P.P P%....PPPP.P.P@P PPPPP......P.P.P P...P.PPPPPP...P P.+.P.P.......}P P.P.PDP.PPPPPPPP P*P.....P##T.#'P P.T.P.PPPT#.b##P P...P.........}P PPPPPDPPPPPPPPPP P#.......^...PPP P..#.#.#.......P P.##PPPPP.^P.PTP P..#TP%.PPPP#P.P P.b..P.......P.P PP...P@P@PPP.PTP PPPPPP.P.....D.P P...PT.P.P.P.PPP P..#D....P....#P P#.#P.PP.PPPP.#P P..#P.P........P P!.TP.P@PPPPP.#P PPPPP.P.....P.#P P...........P.#P P.P.PPPPPPP.P@#P P.P#..^..%P...#P P.PbPPPPPPP.P.TP P.PT........#.TP P&PPPPPPPPPPPPPP [additional] 14 13.0.&.10.0 5.2.}.0.0.0.0.1.1 14.3.@.3 14.6.}.2.0.1.0.0.0 1.8.*.3 14.10.}.2.0.0.0.0.0 9.12.^.3.0.0 10.14.^.1.0.0 6.17.@.1 8.17.@.1 7.23.@.1 13.26.@.3 6.27.^.2.0.0 1.30.&.10.1 [end] [offset] 728C [level] 30 [colour] b58887 [size] 16.31 [author] Robosoft [data] oooooooooooooooo o...%####...###o o@!.#.^...#....o o...oooooooooo.o ooooo.o....^.o.o o...o^o.'?...o.o o.oTo.o....}.o.o o.o.o.ooo.oo^o.o o.#&.+++.&oT.o.o o.o.oo.oo.oo.o.o o....oTo...o.o.o o....ooo^....o.o ooo....oo.o.oo.o oTo..#.oo..&...o o.ooo.ooT.o.oT}o o....&......oooo o.ooo.ooo......o o.......o...oo.o oo.oo...ooo.To.o o...ooo...o.oo.o ooo.......o....o o}...........o.o oo.ooooo..oo.o.o oo........}o.o.o oooo..oo.ooo.o.o o.To.oo........o o..o.oT@oo.ooooo o.?o.o.....o...o o..#.ooooo.o.o.o o..D.o.^....+oRo oooooooooooooooo [additional] 16 1.2.@.1 6.2.^.2.0.0 11.4.^.2.0.0 5.5.^.3.0.0 11.6.}.2.0.0.0.0.0 12.7.^.3.0.0 3.8.&.10.0 9.8.&.1.0 8.11.^.0.0.0 11.13.&.2.0 14.14.}.3.0.1.0.0.0 5.15.&.3.0 1.21.}.0.0.1.0.0.0 10.23.}.2.0.1.0.0.0 7.26.@.1 7.29.^.0.0.0 [end] [offset] 748C [level] 31 [colour] 7fca8c [size] 16.31 [author] Robosoft [data] pppppppppppppppp p!R.....p.....Tp ppppp@p....p.*.p p.....p..ppppp.p p..ppppp....p..p p....p@.....p.pp pT.p.p...Tp*p.pp pppp.....pp...pp p'pppppppp....pp p.....#..#.ppppp p*p.p..........p p...p@ppp...pp.p ppppp...pppppT@p p.....p........p p#ppTppppppppppp p..............M p..p.ppppppppppp pp............Tp pppp.ppppbppp.pp pTTp...........p p.#p}pppp.Tpp..p p..p....ppppT.pp p..p#p..p......p p#.pTp..p......p p.#ppp..p.@ppp@p p...pp..p......p p@#@p..........p p.p.pp..p...TT.p p.@....*ppp.TT.p p...##.........p pppppppppppppppp [additional] 15 5.2.@.1 13.2.*.1 6.5.@.3 11.6.*.3 1.10.*.3 5.11.@.1 14.12.@.3 15.15.M.2 4.20.}.3.0.1.0.0.0 10.24.@.1 14.24.@.3 1.26.@.1 3.26.@.3 2.28.@.1 7.28.*.3 [end] [offset] 768C [level] 32 [colour] 72bbc8 [size] 16.31 [author] Robosoft [data] QQQQQQQQQQQQQQQQ Q............'bQ QRQQQQQQQQQQQQbQ Q..............M Q.#####+QQQQQQ.Q Q..Q.Q..Q%QTTQ.Q Q.....b.QDQDQQHQ Q.bQQQQ.Q.....HQ Q.......QQQQQQHQ Q..QQQb.Q......Q Q.......QTbb.b.Q Q.bQQQQQQQ.QQQ.Q Q.......QT..Qb#Q QH.QQQb.Q.T.Qb#Q QH.b....Q.QQQb#Q QH......Q...b..Q QHQHHHb.Q.QQbQ}Q QHQHHH..Q.Q#bQQQ QH......Q.Q#.bbQ QH...QQQQ..T..bM Qbbb#}Q%Q...#.bQ Q..b#}QTQ.QQ..bQ Q}.b#}Q...QTTQbQ Q..b#}Q...QQQQbQ Q#bb#}Q.T.....bQ Q.Q..QQ...QQQQbQ QHQ.......DT!QbQ QH.bbb..?QQQQQbQ QHbQQQb..QQT+QbQ Qb..}..#HbHHHHbQ QQQQQQQQQQQQQQQQ [additional] 10 15.3.M.2 14.16.}.3.0.1.0.0.0 15.19.M.2 5.20.}.2.0.0.0.0.0 5.21.}.2.0.0.0.0.0 1.22.}.1.0.0.0.0.0 5.22.}.2.0.0.0.0.0 5.23.}.2.0.0.0.0.0 5.24.}.2.0.0.0.0.0 4.29.}.0.0.0.0.0.0 [end] [offset] 788C [level] 33 [colour] 8e5f6a [size] 16.31 [author] Robosoft [data] pppppppppppppppp p..............p p.pppppppppppp.p p.p..@.T..!p+p.p p.pDpppppppp+p.p p.p..###...p.p.p p.p..#T#@p.p.p.p p.p..###...p.p.p p.p........}.p.p p.p...p..p.p.p.p p.pp....pp.p.p.p p.ppp..pp..p.p.p p.p.pp.....?.p.p p.#....ppp.p.p.p p.p......#.....p p.p.ppp.pppppp.p p.p.....T....M.p p.p.'ppppppp.p.p p.p...p%p....p.p p.p@p.p^p.p.#p.p p.p.p.p.p*p.#p.p p.p.p@....p..p.p p.p.p.ppp.p*#p.p p.p.p.....p.#p.p p.p@p.*pppp..p.p p.p.........#p+p p.pbppp.pppppppp p.pTT.D.D+TT%p*p p.pppppppppppp.p pR.............p pppppppppppppppp [additional] 12 5.3.@.1 8.6.@.1 11.8.}.2.0.1.0.0.0 13.16.M.2 3.19.@.1 7.19.^.3.0.0 9.20.*.3 5.21.@.3 11.22.*.1 3.24.@.1 6.24.*.3 14.27.*.1 [end] [offset] 7A8C [level] 34 [colour] 688c99 [size] 16.31 [author] Robosoft [data] pppppppppppppppp p!bbbbbbpTTT...p pbbbbbbbp@p*pp*p pb..b.bbp......p pb..R.bbpHHHHHHp pb#...bbpHHHHHHp p..bbbbbpHHHHHHp pHbbbbbppHHHHHHp pHppppppT......p pH&.ppppp.....^p pHp.+pp}D.#....p p.p..pppp.pp##.p p}p..p.....ppp.p pT........pbpp.p pppp..p.ppp?Tp.p pT.p.......~.#.p p.bp...........p p..b...ppppppp.p p....ppp....Tp.p pT.....p.....p.p p..ppp...pp..p.p p.....b.....pp.p p...pppp..p..p.p p.p.......p..p.p p.p@pp%pp.p..p~p p.p.......p....p p.p.ppppb.p..p.p p.b..pTp..pbpp.p p.p#.pDp..p..&.p p............p.p pppppppppppppppp [additional] 9 9.2.@.1 11.2.*.3 14.2.*.1 2.9.&.10.0 14.9.^.3.0.0 7.10.}.3.0.0.1.0.0 1.12.}.3.0.1.0.0.0 3.24.@.1 13.28.&.10.1 [end] [offset] 7C8C [level] 35 [colour] 6daf97 [size] 16.31 [author] Robosoft [data] QQQQQQQQQQQQQQQQ Q%%%.DDD^QTQ...Q Q.R..DDD.Q%Q@Q.Q QDDDDDDD.QDQ.Q.Q QDDDDDDD.......Q QDDDDDDD.QQQQQ#Q Q..^.....Q..#..Q QQQQ.QQQ.Q##.#.Q QT.Q..Q..Q##.#.Q Q.@Q.#Q..Q###..Q Q..Q.....Q+##..Q Q........Q..##.Q QQQQQQQQ.Q.#.#.Q Q!TTD..Q.Q#.#..Q QQQQQ..Q.Q}...#Q Q%Q.QQ.Q.Q}....Q QTQ#..#Q.QT####Q QDQ.##.Q.Q.##..Q Q...#.TQ.Q%....Q Q&QQQQQQ.QQQQQ&Q Q..............Q QQQ..QQ..QQQ.QQQ QT..^.........TQ QQQQ.QQQ..QQQ.QQ Q..............Q QQ..QQ.QQ.QQQ.QQ Q.........^....Q Q..QQQ.QQQ.QQQQQ Q.....^........M Q.......T....TTQ QQQQQQ}QQQQQQQQQ [additional] 13 8.1.^.3.0.0 12.2.@.1 3.6.^.2.0.0 2.9.@.1 10.14.}.0.0.0.0.0.0 10.15.}.0.0.0.0.0.0 1.19.&.10.0 14.19.&.10.1 4.22.^.2.0.0 10.26.^.3.0.0 6.28.^.1.0.0 15.28.M.2 6.30.}.3.0.1.0.0.0 [end] [offset] 7E8C [level] 36 [colour] 9988ae [size] 16.31 [author] Robosoft [data] oooooooooooooooo o..^...###.....o o.....##.#HHHHHo o.....##.#HHHHHo o..o...o.o.....o o......o.o.....o o.ooo..o.o.....o o......o.o=====o o..ooo.o.o.....o o......o.o.ooooo o#oooooo.o.....o o......o.ooooo.o ooooooDo.o.....o o......o.o.ooooo oT.....o.o.^...o oooooooo.oo.oooo o........o.....o o..#.#.#.o.#.b.o obbbbbbb.o.....o o...bbbb.o.....o o...b!bb.o=====o oTTbbbbb.o.%..To obbbbbbb.ooooooo o+o............o o..............o o^o.oooDooo....o o.o.o...}.o....o o.o.o.....o????o o...ooo&ooo..R.o o%o............o oooooooooooooooo [additional] 5 3.1.^.2.1.1 11.14.^.2.1.1 1.25.^.3.0.0 8.26.}.3.0.0.1.0.0 7.28.&.10.0 [end] [offset] 808C [level] 37 [colour] b98cb0 [size] 16.31 [author] Robosoft [data] oooooooooooooooo o'To..#.#.#...To o.%o.#.#...#.o.o oDoo&oTooo###o.o o....oooTT#..o.o o.o.#oToo..#.o.o o.o..o.+o.#.To.o o@o..D.+o..T#o.o o.oo.ooooo.oo..o o.o..o#..#.o.b.o o........#o....} oo....o#To..o..o oTo...o#o.b.o..o o..o..oo..o.o..o o.#.o.o........o o#.#.&#..o.o.o.o o.#.#..#.o.o.o.o o.......#....#.o o.oooo.oo#..o..o o@M....To.#.o..o o.oooo.oo..#...o o........R..#o.o o..............o o...^........#.o o...oo####oo.#*o o...oVVVVVVo.#.o o%..oVVVVVVo.'.o oooDoVV!%VVo.'.o o+..oVVVVVVo.'.o oT..oTVVVVTo...o oooooooooooooooo [additional] 8 4.3.&.10.0 1.7.@.1 15.10.}.2.0.2.0.0.0 5.15.&.10.1 1.19.@.1 2.19.M.0 4.23.^.2.0.0 14.24.*.1 [end] [offset] 828C [level] 38 [colour] a486bf [size] 16.31 [author] Robosoft [data] pppppppppppppppp p.&.#.&..&.#.&.p p###.######.###p pR............+p pppppppppppppppp pTHH^.^........p p#HH......~....p pppp....&..##..p p....+.p.p###HHp p&..'pTp.p...bHp pppppppp.ppppppp p}............}p pppppp.ppppp.ppp p}........}....M p.~...ppppp...+p p..........?pppp pppppb.pDp#%pT!p pTT.D..pTp%Tp..p ppppppppppppp..p p..##....#p^...p p.&.##.#..p..p.p p..#....#Tp..&.p ppppppppppppp.pp p.b.......D....p p...T....Tp.pp*p pTbbppp#.#p.pT.p p}........p....p pppppppppDpppppp p..............p p&.^..........Tp pppppppppppppppp [additional] 20 2.1.&.3.0 6.1.&.2.0 9.1.&.1.0 13.1.&.10.0 4.5.^.3.0.0 6.5.^.2.0.0 8.7.&.1.1 1.9.&.10.1 1.11.}.0.0.0.0.0.0 14.11.}.2.0.0.0.0.0 1.13.}.0.0.0.0.0.0 10.13.}.2.0.0.0.0.0 15.13.M.2 11.19.^.0.0.0 2.20.&.2.1 13.21.&.4.0 14.24.*.1 1.26.}.0.0.1.0.0.0 1.29.&.3.1 3.29.^.2.0.0 [end] [offset] 848C [level] 39 [colour] 77c281 [size] 16.31 [author] Robosoft [data] PPPPPPPPPPPPPPPP PHD..........}TP PHP..........#.M PHPPPPPb#b....#M P.....P....b..#M P@P+P.Pb#b..H.#M P.PPP.P....bH.#M P..P..Pb#b..H.#M P.HTP@P....bH.#M P.PPP.Pb#b..H.#M P.TPT.P....bH.#M P.PPP.Pb#b..HH#M P@PTH.P....bH%#M P..P..Pb#b..HT#M P.PPP.}.....PPbM P.P.P@PP}PHHP..M P.....PTTPHH...M PPPDPPPT##..P.#P PP..P^..##.....P PP.PP.PP##.PPP.P P.^.....##...^.P P.b..P.PVVP.P..P P!..TP.PVVP.P'TP PPPPPPDPPPPDPPPP P..*...........P P....#.........P P.PPPPPPPPPP...P P...R........PPP P.~......~..bb+P P.............+P PPPPPPPPPPPPPPPP [additional] 26 13.1.}.2.0.1.0.0.0 15.2.M.2 15.3.M.2 15.4.M.2 1.5.@.1 15.5.M.2 15.6.M.2 15.7.M.2 5.8.@.3 15.8.M.2 15.9.M.2 15.10.M.2 15.11.M.2 1.12.@.1 15.12.M.2 15.13.M.2 6.14.}.0.0.1.0.0.0 15.14.M.2 5.15.@.3 8.15.}.3.0.1.0.0.0 15.15.M.2 15.16.M.2 5.18.^.2.0.0 2.20.^.2.0.0 13.20.^.0.0.0 3.24.*.1 [end] [offset] 868C [level] 40 [colour] 65da88 [size] 16.31 [author] Robosoft [data] QQQQQQQQQQQQQQQQ Q..............Q Q.@QQQ.QDQ.Q.Q*Q Q..Q+..Q%Q.QTQ.Q Q..QQQ@QQ..*Q..Q Q...TQ.QTQ..Q..Q Q..QQQ.QDQ..Q.!Q Q.............%Q QRQQQQQQQQQQQQQQ }..............Q QQQQQQQQQQQQQQ.Q Q.......#DDD...} Q.#QQQQQQQQQ...Q Q#.Q&......Q...Q Q.#Q.....Q.Q.~.Q Q..Q.....Q.Q...Q Q.#Q@QQQQQ.Q.bQQ Q#.Q.......Q...Q Q..Q.....Q.Q...Q Q#.Q.....Q.Q..QQ Q.#Q*QQQQQ.Qb#.Q Q..Q.......Q#..Q Q.#Q.Q...Q.Q...Q Q..Q.QTQTQ.Q...Q Q..Q.QQQQQ.Q.b.Q Q##Q.......Q.Q.Q Q..Q@QQQQQ@Q.b.Q Q..Q..TQT..Q#..Q Q..Q.QQQQQ.Q.#.Q Q&.Q.......Q.#TQ QQQQQQQQQQQQQQQQ [additional] 12 2.2.@.1 14.2.*.1 6.4.@.3 11.4.*.3 0.9.}.0.0.1.0.0.0 15.11.}.2.0.1.0.0.0 4.13.&.10.0 4.16.@.1 4.20.*.3 4.26.@.1 10.26.@.3 1.29.&.10.1 [end] [offset] 888C [level] 41 [colour] 84c489 [size] 16.31 [author] Robosoft [data] o}oooooooooooo}o o............%#o o.oooo..b..bo..o o%}#.b...#.T#..o o.o....ooo.bo..o o..............o o.....b.b.b....o o....ooooooooo.o o....D#...+..o.o o..##o..oooo.o.o o..##o@....o.o.o o..}.o.o.#.o.o.o oT...o.o...o.o.o oooo.o.ooo.oDo.o o&Ro.o@+To.o.o.o oooo.o.ooo.o!o.o o.T##o.o...ooo.o o..##o.o....%o.o o....o@o.ooooo.o oo...o.......o.o oT...oooooooDo.o o#.#.oHHHHHHHo.o o.#&.oHHHHHHHo.o o....o.......o.o o..ooo...b...o.o o..b.o.bHHHb.o.o oo...o.......o.o oT.oooT###...o.o o..b.o#TT#.#.bTo o...To}##.....#} oo}ooooooooooooo [additional] 12 1.0.}.1.0.1.0.0.0 14.0.}.1.0.1.0.0.0 2.3.}.0.0.1.0.0.0 6.10.@.3 3.11.}.3.0.1.0.0.0 1.14.&.10.0 6.14.@.3 6.18.@.3 3.22.&.10.1 6.29.}.3.0.0.1.0.0 15.29.}.2.0.1.0.0.0 2.30.}.3.0.1.0.0.0 [end] [offset] 8A8C [level] 42 [colour] b54fba [size] 16.31 [author] Robosoft [data] ssssssssssssssss s.............Rs s...#.b..b.#...s s..ssssssssss..s s..sT......Ts..s s..s!.????..s..s s..s#VVVVVV#s..s s.*s##VVVV##s..s s..s###VV###s..s s..s########s..s s..............s s.ssss.........s s..#...s..s+#s.s sssss..s+.ss...s sT.#...ss.sT#.ss s.sss..sT.ss...s s..#........#..s s..s..b..b..s..s s..s..s..s..s..s s..s..s..s..s.#s s..s..^.....s..s s.T}........}T.s s..............s s..............s s..sssTsssTsss.s s..............s s.ssss..sssssT.s s..~...........s s.bs#ssssss#sb.s s......T.......s ssssssssssssssss [additional] 4 2.7.*.3 6.20.^.2.0.0 3.21.}.0.0.2.0.0.0 12.21.}.2.0.2.0.0.0 [end] [offset] 8C8C [level] 43 [colour] 93b06b [size] 16.31 [author] Robosoft [data] OOOOOOOOOOOOOOOO OT..%D.........O OOO.OO.O.OOOOO@O O..&...O.O.....O O.O.O..O.O.O...O O.O+O....T.....O O.OOO..OOOOO...O O......O..O.T..O O......T....O..O O.OOOOOOTO..O..O O........O..O..O O..OO.O..O..O..O O..!..O+.O..O..O O..OOOOOOO.....O O...........O..O OOOOOOOOOOOOOO.O O...^.......TO.O O.....T.^..#.O^O O......^...b.O.O O.###.^..#&#.O.O O.#T#^.......OTO OOOOOOOOOOOOOOOO OT.D.....O.#...O OOOO.O&O....O..O O.}....&....O.%O O...OT*O...^OOOO O...OO........OO O......OOO..OOOO O.....}O'O..OT%O OR.....O.D..D..O OOOOOOOOOOOOOOOO [additional] 15 14.2.@.3 3.3.&.10.0 4.16.^.2.1.1 8.17.^.3.0.0 14.17.^.3.0.0 7.18.^.1.0.0 6.19.^.3.0.0 10.19.&.1.0 5.20.^.1.0.0 6.23.&.1.1 2.24.}.1.0.0.0.0.0 7.24.&.10.1 6.25.*.3 11.25.^.3.0.0 6.28.}.2.0.0.0.0.0 [end] [offset] 8E8C [level] 44 [colour] 8b6aae [size] 16.31 [author] Robosoft [data] OOOOOOOOOOOOOOOO OT#.TO%...O#..TO O...#O#.#.O..}.O O###.O.#..O.O..O O..#.O#.#.O.ODOO &.##.O.###O##.#O O####O.........} }..............O OOOOOOOOO.OOOOOO OR.............O OOOOOO.OOOOOO.OO O........OOO+.+O O.}OOO.O.OTOO.OO O....O}O...OO.OO OOOO&OOO.O.OO}OO O......O....OOOO O......O.......O O@%+T..O..^....O O......O..^.OOOO O@....@O....D.!O OOOO&OOOOOOOOOOO O....#.........& O.......O..#...O O.O...O.OOO....O O.OOOOO.O.#....O O.OT..O....OO..O O*O.O.O..O.#...O O.O.O.O.OO.bO..O O.O.O.O.~......O O..............O OOOOOOOOOOOOOOOO [additional] 16 13.2.}.0.0.0.0.1.1 0.5.&.1.0 15.6.}.2.0.1.0.0.0 0.7.}.0.0.1.0.0.0 2.12.}.0.0.0.0.1.1 6.13.}.3.0.1.0.0.0 4.14.&.10.0 13.14.}.3.0.1.0.0.0 1.17.@.3 10.17.^.2.0.0 10.18.^.3.0.0 1.19.@.3 6.19.@.1 4.20.&.1.1 15.21.&.10.1 1.26.*.3 [end] [offset] 908C [level] 45 [colour] 8dbec6 [size] 16.31 [author] Robosoft [data] PPPPPPPPPPPPPPPP P....#....P+.%%P PDP..##...D..*.P P+P.PPPP.PPPPPPP PTP...P.......PP PTP.P.*.#.....PP PPP.PP...P.b.b.P PP...b.P#PP.*..P PP..@PPT..PPPPPP P....P}.......#P PP.PPPPTP#PPPP#P P?.D%!PP..P+...P P'@PPPPP.#P..#.P P#........P.#T.P PTPDPPPP..P##PPP PPP....PPTP+.P%P P}P*PP..PPPT.D.P P.P..PP*PTPPPP.P P....*P........P P.PPP.PPPPPPPP.P P..............P PTPPPPPPPPPPPPPP P...........P.PP P..PPPPPPP.....P M#+#T#P.....P..P P.####P.....P..P P..PPPP.PPP.Pb.P P.........P.P..P PPDPPPPPP...PPPP P...%T..D.....RP PPPPPPPPPPPPPPPP [additional] 11 13.2.*.3 6.5.*.3 12.7.*.1 4.8.@.3 6.9.}.0.0.0.0.0.0 2.12.@.1 1.16.}.1.0.0.0.0.0 3.16.*.3 7.17.*.1 5.18.*.3 0.24.M.0 [end] [offset] 928C [level] 46 [colour] b5686f [size] 16.31 [author] Robosoft [data] QQQQQQQQQQQQQQQQ Q..^.....QbbbbbQ QQQQQ.Q&.QbTbbbQ Q!..D.Q..Qb.QQbQ QQQQQ.QQQQbVQQ.Q QTbbbbbbbb..QQbQ Q.QQQ...QQ.QQQ.Q Q.Q...Q....QVVbQ Q.Q.Q.+QQQQQTVVQ Q.b...bbbbQQQQQQ QbQbQ..bTbQbbbbQ QbQbQb.b.bQb..bQ QbQbQQ.b..Qb..bQ QbQbbbQQQbQb..bQ QbQQQbQ&QbQbb.bQ Qb.+QbQRQbQQ..bQ Qb.#QbQ&Qbb..bQQ Qb...bQQQ.Q..bQQ Qb...bbbbbQb..bQ Qb...VVbQQQQ..bQ Qb.....b.+Q..bbQ Qb.+..bQQQQ.b..Q Qb....b.b.bb.b.Q Q.bT...b.bQbb..Q QQQQQQQQQQQQQQQQ Q.........^....Q Q###.QQQQQQQQQ.Q Q'.##Q..QT.....Q Q.#..Q.&QQ.QQQQQ Q#.#.Q....^....Q QQQQQQQQQQQQQQQQ [additional] 7 3.1.^.2.0.0 7.2.&.1.0 7.14.&.10.0 7.16.&.1.1 10.25.^.0.0.0 7.28.&.10.1 10.29.^.2.0.0 [end] [offset] 948C [level] 47 [colour] 758785 [size] 16.31 [author] Robosoft [data] OOOOOOOOOOOOOOOO OVTVO..........O OVbVO..O.....b.O OVbVOb.OOb..OO.O OVbVO..bO..OO..O OHHHO.OOO......O O.......OOOb...O OOOO....O....O.O O+.D....O....O.O OOOO......b.OO.O O.TO..#.OOOOO..O O..O..+...OTO..O O..O..#.??O%O..O M.........ODO..O OR..#..........M M............OOO O............O}O O.OOOO.OOOO....} O.OT.O}O.%O..O.O O.OVVOOOVVO..O.O O.OVVVVVVVO..O.O O.O...V...O..O.O O.OHOOOOOHO....O O..............M O..#.....#.....O O...OO.O..OO.O.O O....#.O#...#..O O....OOO..OO.O.O O....O!O...#.O.O O....OTD.......M OOO}OOOOO}OOOOOO [additional] 10 0.13.M.0 15.14.M.2 0.15.M.0 14.16.}.1.0.1.0.0.0 15.17.}.2.0.1.0.0.0 6.18.}.3.0.1.0.0.0 15.23.M.2 15.29.M.2 3.30.}.3.0.1.0.0.0 9.30.}.3.0.1.0.0.0 [end] [offset] 968C [level] 48 [colour] 95bc84 [size] 16.31 [author] Robosoft [data] OOOOOOOOOOOOOOOO OT.&...R.T.....M O....OOOOOOOTOOO O.O.!.OT.....OTO O@O...O..OO..O+O O.OTOOO..O...ODO O.O......O.....O O....OOO.T.O.O.O O.OO.b...OOO.O.O O.O..OOO.....T.O O.O.OOTO.OOOOO.O O.O.'OTO.....O.O O.O.OOTO.OOO@O.O O.O.TODO.TOT.O.O O.O..........O.O OTO==========OTO ODO+OOOOOOOO+ODO O+O..........ODO O.OOOO.OOOO.OO.O O.===.==....=.=O O..===.==...=..O O=....==......=O OOOOO..OOOOO.OOO OTTTD..D%T%D.D%O OOOOOOOODOOOOOOO O+T+TO%O#%T%.#TO OHHHHOTO..#%##.O OHHHHOTO.###...O O....ODO#.#.#.#O O.}....&.#.....O OOOOOOOOOOOOOOOO [additional] 6 3.1.&.10.0 15.1.M.2 1.4.@.1 12.12.@.3 2.29.}.3.0.0.1.0.0 7.29.&.10.1 [end] [offset] 988C [level] 49 [colour] 9bbb8b [size] 16.31 [author] Robosoft [data] oooooooooooooooo o............}Ro o@oooooo...b...o o.o....&@.o....o o.o@T..ob.o...#o o.o..o.o.ooo...o o.o@oo.o.......o o.o.o..o.o.o..#o o.o@.T.o.o.b...o o.o....o.o...#.o o.o@.ooo.oooo.oo o@oooo.........o o......ooooo...o o.oooooo...o#.@o o........}.o...o ooooooooo..o#.@o o+bT+Tb+o.oo...o oHHHHHHHoDooo#.o oHHHHHHHo'.To..o oHHTT%HHooooo#.o o..#....#......o o.......oooooooo o.b###b.o}o..T.o o.b#}#b.o.o....o o..oooooo.o.o..o o.b........To..o ooooooooo......o o.......o.ooo.oo oT!}....D.....}o o.......oT....To oooooooooooooooo [additional] 16 13.1.}.1.0.0.0.0.0 1.2.@.1 7.3.&.10.0 8.3.@.3 3.4.@.3 3.6.@.3 3.8.@.3 3.10.@.3 1.11.@.1 14.13.@.0 9.14.}.0.0.0.0.1.1 14.15.@.0 9.22.}.1.0.0.0.0.0 4.23.}.3.0.0.1.0.0 3.28.}.0.0.0.0.0.0 14.28.}.2.0.0.0.0.0 [end] [offset] 9A8C [level] 50 [colour] ac7d92 [size] 16.31 [author] Robosoft [data] ssssssssssssssss s.........R#T#!s sss.ss&.?bb####s s..&.Ts....#T#Ts s.s.sTs%..#####s s.s.sssss......s s.s.s^..ssssssss s.s.s&....^...Ts s.s.sssssssss#Ds s.s........&.T+& s.sssssssss.ssss s..............s ssssssssssssss.s s'.+s........s.s sTs.ss&sssss.s.s sss.ss.s...s.s.s s..&T....s.s.s.s s.s.ss.sss.s.s.s s.s.sT&T...s.s.s s.s.s.s.ssss.s.s s.s.s.s.T&.s.s.s s.s.s.s.ss.s.s.s s.sTTTs..s.s.s.s s.ssssss.s.s.s.s s.ssT..#.s.s.s.s s..s..#.ss.s.s.s ss.ssss.Ts.s.s.s s.....ssss.s.s.s s*sss......s.s.s s.....sssTss..Ts ssssssssssssssss [additional] 12 6.2.&.8.0 3.3.&.10.0 5.6.^.3.0.0 5.7.&.1.0 10.7.^.2.0.0 11.9.&.1.1 15.9.&.8.1 6.14.&.3.0 3.16.&.2.0 6.18.&.4.0 9.20.&.5.0 1.28.*.3 [end] [offset] 9C8C [level] 51 [colour] 88a053 [size] 16.31 [author] Robosoft [data] ssssssssssssssss s...........sR.s s.s@s@s@s@s@ss.s s.Ts.s@s@sT.s..s s...........s.ss ssssss.ssssss..s s!..?s.s.?.....s s....s...s.s.}.s s&.&.s.s.s.s...s s....s.s.s.sssss ssssss.s.s.#..Ts M..........Dssss ss+s.sss@s@....s ssss..ssss..ss.s s..............s ssssss..sss.#T.s sV.TTs.Tb...ss.s sVssss.ssss....s sVsT...s.Tssss.s sVs.ssss#....s.s sbs.sT.D...#.s^s s.s.sssss#.b.s.s s+s.sVVbs.ssss.s s+s.sss..&...s.s s.s...s.s.s..s.s s.sss.s.s.s%Ts.s s&.#s.s.sDssss.s s.sss.s.s..%Ts.s s.....s.ssssss.s sssssss.....'sTs ssssssssssssssss [additional] 16 3.2.@.3 5.2.@.3 7.2.@.3 9.2.@.3 11.2.@.3 6.3.@.1 8.3.@.1 13.7.}.0.0.0.0.1.1 1.8.&.1.0 3.8.&.10.0 0.11.M.0 8.12.@.3 10.12.@.3 14.20.^.3.0.0 9.23.&.10.1 1.26.&.1.1 [end] [offset] 9E8C [level] 52 [colour] b35d69 [size] 16.31 [author] Robosoft [data] OOOOOOOOOOOOOOOO O&}OT.TOVOT..#&O O..O...O.OT....O OO.O.OOO.OOO...O O+.O..&...&..b.O OO.O.OOO.OOO##.O OO.O..TO.O+T...O OO.OOOOO.OOOOODO OT.O.........OTO OO.OOOOOOOOOOOOO OO.............O OO.OOOO..OOOO..O M..............M O..?.O.OOO..b..O O..?.O%..OO...OO O..?.OOO.O....OO O......ORO....OO OOOOOO.OTO..O.OO OT++TO.OOO..O.OO O....O.b....O.OO O....M....O.O..O O.&&.O.OOOO...OO M....O.O.......O O....O.O@OO.O.OO M####M.O....O.TO O####O.O.O..O.OO O####O.O.O..O.%O M##......++.b.OO O#...O.OOO....'O OT#O...D!D.}T}TO OOOOOOOOOOOOOOOO [additional] 17 1.1.&.10.0 2.1.}.1.0.1.0.0.0 14.1.&.1.0 6.4.&.2.0 10.4.&.2.1 0.12.M.0 15.12.M.2 5.20.M.2 2.21.&.10.1 3.21.&.1.1 0.22.M.0 8.23.@.1 0.24.M.0 5.24.M.2 0.27.M.0 11.29.}.3.0.1.0.0.0 13.29.}.3.0.1.0.0.0 [end] [offset] A08C [level] 53 [colour] 87d072 [size] 16.31 [author] Robosoft [data] ssssssssssssssss sR....T..^..^.!s s#ssssssssssssss s....s.......#.s s.ss.s@ssss@.Tss s.'s......s.ssss s#ss.ssss.s.D'ss s.M.....s.s.ssss s..............s s.Tssss.sssss..s ssss%...s......s sTTD#.#.s.s.b..s ssss.#..s.@s...s s.#.#.##s...s..s s..#.#..sTT..s@s s+..#...sT!+...s sssssssDssssssss s.^..+s~sHHHH#Ts sssss.s.sHHHHH#s s%....b...bHHHHs s.ss..b.s.bHHHHs s.Tsssb.sbssssHs ss....b.sbs...#s sssssssbb...s..s s.........*sss*s s##sssTsss..s..s s##s..........%s s..s.sssbbbbbbbs s..s...^..bVVVVs M..+....bbbVVVVs ssssssssssssssss [additional] 12 9.1.^.2.0.0 12.1.^.0.0.0 6.4.@.1 11.4.@.3 2.7.M.0 10.12.@.1 14.14.@.3 2.17.^.2.0.0 10.24.*.3 14.24.*.1 7.28.^.2.0.0 0.29.M.0 [end] [offset] A28C [level] 54 [colour] 8cb7a7 [size] 16.31 [author] Robosoft [data] QQQQQQQQQQQQQQQQ Q..^..^....QT#&M Q.#QQ.......Q#.Q Q.......Q.QQ...Q Q.Q.QQQ.Qb.....Q Q.Q.......Q@QQ.Q Q.QQQQ.QQ.Q..Q.Q Q..Q....Q.Q....Q Q......*Q...QQ.Q QQ...Q..Q......Q Q..Q.Q....QQQ..Q Q.@Q......Q....Q Q..QQ.Q.Q.....QQ Q.?.Q...Q......Q Q...Q.......QQQQ Q??.Q.QQQQQb.Q}Q Q.....Q...Q..Q.Q Q.?.Q........Q.Q Q...Q..QQQQQQQ.Q QQ.QQQQQ.....T.Q Q#.T?Q...QQQ...Q Q###!Q*QQQ.QQ*.Q Q++QQQ.........Q QQQ&.....QbQ.T.Q Q.QQQQQQQQ.QQQ.Q Q..............M Q.QQQQQQQQQQQQTQ Q.#'##..#.#.RDTQ Q#..#..##..#.QTQ Q%..#.#..##.#QTQ QQQQQQQQQQQQQQQQ [additional] 12 3.1.^.0.0.0 6.1.^.2.0.0 14.1.&.10.0 15.1.M.2 11.5.@.1 7.8.*.3 2.11.@.1 14.15.}.1.0.1.0.0.0 6.21.*.3 13.21.*.1 3.23.&.10.1 15.25.M.2 [end] [offset] A48C [level] 55 [colour] ad8d63 [size] 16.31 [author] Robosoft [data] pppppppppppppppp pR...T.........M pppppp.ppppppp*p p...Tp.p#.^.Tp.p p.p.pp.p&..##p.p p.b..#.D.....p.p p.p..p.ppppppp.p p....p.........p p!'TTppppppppp.p ppppppp%.......p M.......pppppppp p.ppp.ppp......p p.........#.p&.p ppppppppp......p p&....TTpppppppp p..^...........p ppppppppp.pppppp pT..........^..p ppp.pppppppppppp pT...@...bbbbbbp pp@ppppp@pppppbp pp...@...p.bbbbp pppppppppp.ppppp p.....b.p...p+Tp pbp.......}....p pbppppppp...pppp pbp#...#ppDpp%Tp pbpT.....#.....p pbpppppppppppppp pbbbbbbbbbbb#*Tp pppppppppppppppp [additional] 15 15.1.M.2 14.2.*.3 10.3.^.0.0.0 8.4.&.1.0 0.10.M.0 13.12.&.10.0 1.14.&.10.1 3.15.^.2.0.0 12.17.^.0.0.0 5.19.@.2 2.20.@.1 8.20.@.3 5.21.@.0 10.24.}.0.0.0.0.1.1 13.29.*.1 [end] [offset] A68C [level] 56 [colour] a0a757 [size] 16.31 [author] Robosoft [data] pppppppppppppppp p.p...........!p p.p.Tppppppppppp p.pTTp@.......@p p.pT@...p...#..p p.pp....p..p.p.p p.%p....p..p^p@p p..#.T..p..p.p.p pppp.p..p.#p.p.p p....p.pp..p.p@p p@pppp.pR..p+p.p p.p........p+p.p p...pp..pp.ppp@p p@p..pppp......p p.p........ppp.p p.pp.#.#pp.Tp+.p p..............p ppppppppppppppTp p'.............p pTpppppppppppppp p..............p ppppppppppppppTp p.TT#T#T#T#T#..p M..............p p.ppppppppppp..p p.ppT.TD^#.....p p.Tppppp#....b.p p.pp...........p p.p============p p..T#T#T#T#T#T#p p}pppppppppppppp [additional] 12 6.3.@.3 14.3.@.1 4.4.@.3 12.6.^.3.0.0 14.6.@.1 14.9.@.1 1.10.@.3 14.12.@.1 1.13.@.3 0.23.M.0 8.25.^.2.1.1 1.30.}.3.0.1.0.0.0 [end] [offset] 508C [level] 57 [colour] 84a768 [size] 16.31 [author] _ROBBO II by ANTICsoft [data] pppppppppppppppp p%.....^......&p pppppppppppppppp p&............Rp pppp^ppppppppp.p pp}..pT^.....p.p pp...pppppppDp'p pp...p^.....%p'p pM...pDppppppp.p pM...p%^.....p.p pM...pppppppDp.p pM...p^.....%p.p pM...pDppppppp.p pM...p%^.....p.p pM...pppppppDp.p pp...p^.....%p.p pp...pDppppppp.p p!...p......&pDp ppppppppppppppTp p...........@pTp p............pTp ppDppppppppDppTp p..p%Tp%TTp..pTp p..DTTpTTTp..pTp p..ppppDppp..pTp p..D%TpTpTp..DTp p..pppp%D%p..p%p p..D%TpDppp..p%p p..ppppTTTD..p%p p..D%&pTT%p..p%p ppppppppppppppMM [additional] 23 7.1.^.0.0.0 14.1.&.1.0 1.3.&.1.1 4.4.^.1.0.0 2.5.}.1.0.1.0.0.0 7.5.^.0.1.1 6.7.^.0.1.1 1.8.M.0 1.9.M.0 7.9.^.0.1.1 1.10.M.0 1.11.M.0 6.11.^.0.1.1 1.12.M.0 1.13.M.0 7.13.^.0.1.1 1.14.M.0 6.15.^.0.1.1 12.17.&.4.0 12.19.@.0 5.29.&.4.1 14.30.M.0 15.30.M.2 [end] [offset] 528C [level] 58 [colour] 9a6391 [size] 16.31 [author] _ROBBO II by ANTICsoft [data] OOOOOOOOOOOOOOOO O&T^OT.#.OTTTRTO O...O.#.#O%T''TO O...O#.#.O%%TTTO OOOTO.#.#O%%%TTO O&O&O&...O%???TO O.OOOOOOOOOOOODO O^.....D.}.D%ODO O^.....O...O.ODO OOOOOODO...ODODO O%^....OM..OTTTO ODOOOOOOM..OTTTO O^....%OM..OTTTO OOOOOODOM..O...O O%^....OM..O...O ODOOOOOOM..O...O O^..HT&O...O...O OOOOOOOOT..O*..O O.TT..&OOODOOOOO O.T....O.}...}.O O......O...O...O O...T..OM..O..MO O^.....OM..O..MO O.^....OM..O..MO O..^...OM..O..MO O...^..OM..O..MO O....^.OM..O..MO O.....^O%..O..TO OOOO&OOOOOOOOOOO O}.....TTTTTT.!O OOOOOOOOOOOOOOMM [additional] 45 1.1.&.2.0 3.1.^.1.0.0 1.5.&.2.1 3.5.&.3.0 5.5.&.3.1 1.7.^.0.0.0 9.7.}.1.0.1.0.0.0 1.8.^.0.1.1 2.10.^.0.1.1 8.10.M.0 8.11.M.0 1.12.^.0.1.1 8.12.M.0 8.13.M.0 2.14.^.0.1.1 8.14.M.0 8.15.M.0 1.16.^.0.1.1 6.16.&.4.0 12.17.*.0 6.18.&.4.1 9.19.}.1.0.1.0.0.0 13.19.}.1.0.1.0.0.0 8.21.M.0 14.21.M.2 1.22.^.2.0.0 8.22.M.0 14.22.M.2 2.23.^.0.0.0 8.23.M.0 14.23.M.2 3.24.^.2.0.0 8.24.M.0 14.24.M.2 4.25.^.0.0.0 8.25.M.0 14.25.M.2 5.26.^.2.0.0 8.26.M.0 14.26.M.2 6.27.^.0.0.0 4.28.&.1.0 1.29.}.0.0.2.0.0.0 14.30.M.0 15.30.M.2 [end] [offset] 548C [level] 59 [colour] b572b0 [size] 16.31 [author] _ROBBO II by ANTICsoft [data] pppppppppppppppp p!HHHHHHHMHHHHHp pHHHHHHHHDHHbHHp pHHHHbHHbHHHHHHp pHTHTHTHTH'HHDHp pTHHHHHHHHTHHMHp pHHHH@#HbHHMM#Hp pTHDHDHbH#H#HV%p pHHHHb@MH@HHHHHp pTH#@HHbHH#H%DMp pHHHHH#HHHVHHHHp pTH'HMHTHHH??H%p pMHHH@HHHV#??Hbp pHHTHHHTMHH??HHp pHHHHTHHTHTHH#%p pHTHHHHHHHHHTHVp pHHHTHDHTHDHHHHp pHHHHHHHHHHHHHHp pTHHHD#THTHDMHHp pHHDHHHHHHHHHDHp pTHHHDHTHTHDHHHp pHHTHHHHHHHHHTHp pTHHHDHTHTHDHHHp pHHDHHHHHHH#HDHp pTHH#HHTHTHHHHHp pHHHHHH%HHHTH%Hp pHHHTHHHHHHHTTHp pDpppppppppppppp p..............p pp%.......''''Rp ppppppppppppppMM [additional] 17 9.1.M.2 13.5.M.2 5.6.@.2 11.6.M.0 12.6.M.2 6.8.@.2 7.8.M.0 9.8.@.2 4.9.@.2 14.9.M.2 5.11.M.0 1.12.M.0 5.12.@.2 8.13.M.0 12.18.M.0 14.30.M.0 15.30.M.2 [end] [offset] 568C [level] 60 [colour] 9ba9c2 [size] 16.31 [author] _ROBBO II by ANTICsoft [data] PPPPPPPPPPPPPPPP PRPPPPPPPPPPPPPP P.PPPPPPPPPPPPPP P.PPP....P%%.D.P P%PPP%PPDPPPPP.P P.PPP.PP%D.%...P P..D..PPDPPPDPPP PPPPPPPP.PPP.PTP PPPPPPPP.PPP.PTP PPPPPPPP.P'%.PTP PPPP..TP.PPPPPTP PPPP.P%P.D.D...P PPPP.PPP.PPP.PPP PPPP...D.PPP.PTP PPPPPPPP.D.D@P%P PPP%...D.PPP.PTP PPP.PPPP.PTP.PTP PPP.PPPPPPDP.PDP PPP.P.....@D.D.P P.P.P.PPPPPPPP.P P.P%P....D...P.P P%PDPPPPPPPPDPDP P%D%D.....^P.P.P P%PDPPPPPP%P*PDP P%P.PPPPPP%P.D.P PPP..%TPPPPP.PDP P!PPPPPP.....P.P P.P%%%%D.PPP.P.P P.PPPPPPPP%PPP.P P.D........^D%.P PPPPPPPPPPPPPPMM [additional] 7 12.14.@.1 10.18.@.2 10.22.^.0.1.1 12.23.*.3 11.29.^.2.0.0 14.30.M.0 15.30.M.2 [end] [offset] 588C [level] 61 [colour] a5bf49 [size] 16.31 [author] _ROBBO II by ANTICsoft [data] ssssssssssssssss ssTssTssTssTssTs s..s..s..s..s..s sDssDssDssDssDss s%.s%.s%.s%.s%.s ssDssDssDssDssDs s%.s%.s%.s%.s%.s sDssDssDssDssDss s..............s s..........!..Rs s~ssss.sssssssss s..~.s.s.^.....s s.~.~s.s.......s s.T~.s.sTTTTTTTs s~~T~s.s.......s ssssss.s...@...s s&s''D.s...&...s s.ssss.s.......s s&s.Ts.s.......s s.s&.s%ssss....s s&s.Ts&s&.~...@s ssssssssssssssss s&.............s s~.~.~.~.~.~.~.s s.~T~.~.~.~.~T~s s~.~.~T~.~.~.~.s s.~%~%~.~%~T~.~s s~T~.~.~T~.~.~.s s.~.~T~.~.~.~T~s s~.~.~%~.~%~.~.s ssssssssssssssMM [additional] 13 9.11.^.0.1.1 11.15.@.2 1.16.&.3.0 11.16.&.3.1 1.18.&.2.0 3.19.&.2.1 1.20.&.1.0 6.20.&.4.0 8.20.&.4.1 14.20.@.2 1.22.&.1.1 14.30.M.0 15.30.M.2 [end] [offset] 5A8C [level] 62 [colour] 80a4b4 [size] 16.31 [author] _ROBBO II by ANTICsoft [data] pppppppppppppppp pTHHTHTHTpT%p''p pHHTHTHTHpV}pV}p pTHHHHTHHpV.pV.p pHTHTHHHTpV}pV}p pHHHHHHHHpDppDpp p..............p pHppppp........p pHpTHTpHpppppppp pHpHpHpHp%....Rp pHpHpHpHp.b.!..p pHpHpTpbp....b.p pHpTpHp*pM~~~.'p pHpppHpHppp~pppp pHHH'HpHHHp~~..p ppppppppHb.....p p.....ppppppppHp p.ppp.p.'....pHp p.pTp.p...b..pbp p.pHp.p.......Hp p.pHp.p......pHp p.pHp.p...~~}p}p p.pHp.ppppp~pppp p.p%p*.........p p.pHppppppp.pp.p p.D.......pppp.p p.pHHHH......p.p p.pTHTH@....Tp.p p.pppppppppppp.p p..............p ppppppppppppppMM [additional] 12 11.2.}.2.0.0.0.0.0 14.2.}.2.0.0.0.0.0 11.4.}.2.0.0.0.0.0 14.4.}.2.0.0.0.0.0 7.12.*.0 9.12.M.0 12.21.}.2.0.1.0.0.0 14.21.}.3.0.1.0.0.0 5.23.*.0 7.27.@.2 14.30.M.0 15.30.M.2 [end] [offset] 5C8C [level] 63 [colour] 94a693 [size] 16.31 [author] _ROBBO II by ANTICsoft [data] ssssssssssssssss s.#.'s..s%s&...s s#.#.ssss^s.b..s s%#.#D.T..sTb..s s#'#.ssssssss#.s s.#.&s#.#.#.s.#s ssssss##.#.%s#.s s***s&.#.#.#s.#s s*%*sssssssss#.s s***^^^^^^^^^..s ssssssssssssssss s&MsV.'...^^...s s..s.%%........s s&MsV.....^^..&s ssssssssssssssss s&.s???????????s s.!s???#######?s ssssss?#~~~~~#?s ss&#Ts?#~..b~#?s ss#s#s?#~b.b~#?s ss.&.s?#~..b~#?s ssDsDs?#~b.b~#?s ss.&.s?#~.@b~#?s ssDsDs?#~b.b~#?s ss.&.s?#~..b~#?s ssDsDs?#~b.b~#?s ss^&^..Dbbbb~#?s ss...s'#~~~~~#?s ss...s'#######?s ss...s''R??????s ssssssssssssssMM [additional] 41 11.1.&.2.0 9.2.^.1.0.0 4.5.&.1.0 1.7.*.0 2.7.*.0 3.7.*.0 5.7.&.3.0 1.8.*.0 3.8.*.0 1.9.*.0 2.9.*.0 3.9.*.0 4.9.^.1.0.0 5.9.^.1.0.0 6.9.^.1.0.0 7.9.^.1.0.0 8.9.^.1.0.0 9.9.^.1.0.0 10.9.^.1.0.0 11.9.^.1.0.0 12.9.^.1.0.0 1.11.&.4.0 2.11.M.2 10.11.^.0.0.0 11.11.^.2.0.0 1.13.&.6.0 2.13.M.2 10.13.^.0.1.1 11.13.^.2.1.1 14.13.&.6.1 1.15.&.5.0 2.18.&.5.1 3.20.&.4.1 3.22.&.3.1 10.22.@.1 3.24.&.2.1 2.26.^.1.0.0 3.26.&.1.1 4.26.^.1.0.0 14.30.M.0 15.30.M.2 [end] [offset] 5E8C [level] 64 [colour] 7a7b98 [size] 16.31 [author] _ROBBO II by ANTICsoft [data] ssssssssssssssss s..............s s...bbbbbbbb*..s s..bb&......b*.s s.bbbbbbbbb..b.s s.b}.....%b..b.s s.bb'.......bb.s s...bbb.Rbbb*..s s.....bbbb*....s s..............s sssssssssDssssss sssssssss'ssssss s&ssssssssssssss s.}}}..^Vs.@.^!s s......^Ts....^s s..##..ssssss..s s.....&s&.DDD..s ssssssssssssssss s%.%.%s.......#s s.....s......#&s s###..s..sssDsss s&.~.*s..s.....s sssssss..s.....s s&.......s}...}s s........s.....s s.#.###..s.....s s#.#b..##M.....M s.##.##..}.....s s#.%#..#.s.....} s.###'#.#sTTTTTs ssssssssssssssMM [additional] 29 12.2.*.0 5.3.&.1.0 13.3.*.0 3.5.}.0.0.0.0.0.0 12.7.*.2 10.8.*.2 1.12.&.1.1 2.13.}.1.0.0.0.0.0 3.13.}.1.0.1.0.0.0 4.13.}.1.0.2.0.0.0 7.13.^.1.0.0 11.13.@.0 13.13.^.2.0.0 7.14.^.1.0.0 14.14.^.1.0.0 6.16.&.2.0 8.16.&.3.0 14.19.&.3.1 1.21.&.3.2 5.21.*.0 1.23.&.2.1 10.23.}.1.0.0.0.0.0 14.23.}.1.0.0.0.0.0 9.26.M.0 15.26.M.2 9.27.}.0.0.1.0.0.0 15.28.}.2.0.1.0.0.0 14.30.M.0 15.30.M.2 [end] [offset] 608C [level] 65 [colour] a1987f [size] 16.31 [author] _ROBBO II by ANTICsoft [data] PPPPPPPPPPPPPPPP P!PR...#.#.#.PTP P.P....#T#.#.P.P P&P....#..T#.P&P PPPPPPTPPPPPPPPP P............T}P PPPPPTPPPPTPPPPP P}.............P PPPPTPPPPPTPPPPP P.............}P PPPPTPPTPPPTPPPP P}.............P PPPPPTPPPPPTPPPP P.............}P PPPP%PPP%PP'PPPP P..............P PPPPDPPPPPDPPPPP PT%P.PTTHP.PHH&P P.%P.PHHHP.PHHHP P.%P.PHHHP.PHHHP P..D.PHHHD.DHHHP PPPPPPPPPPPPPPPP P&&&&&&&&&&&&&&P P&...........'&P P&....###.....&P P&....#&#..@b.&P P&....###.....&P P&............&P P&#######?????&P P&&&&&&&&&&&&&&P PPPPPPPPPPPPPPMM [additional] 52 1.3.&.3.0 14.3.&.2.0 14.5.}.2.0.2.0.0.0 1.7.}.0.0.2.0.0.0 14.9.}.2.0.2.0.0.0 1.11.}.0.0.2.0.0.0 14.13.}.2.0.2.0.0.0 14.17.&.6.0 1.22.&.6.1 2.22.&.6.2 3.22.&.6.3 4.22.&.6.4 5.22.&.6.5 6.22.&.6.6 7.22.&.6.7 8.22.&.6.8 9.22.&.6.9 10.22.&.6.10 11.22.&.6.11 12.22.&.6.12 13.22.&.6.13 14.22.&.6.14 1.23.&.6.15 14.23.&.6.16 1.24.&.6.17 14.24.&.6.18 1.25.&.6.19 7.25.&.6.20 11.25.@.1 14.25.&.3.1 1.26.&.6.21 14.26.&.6.22 1.27.&.6.23 14.27.&.6.24 1.28.&.6.25 14.28.&.6.26 1.29.&.6.27 2.29.&.6.28 3.29.&.6.29 4.29.&.6.30 5.29.&.2.1 6.29.&.6.31 7.29.&.6.32 8.29.&.6.33 9.29.&.6.34 10.29.&.6.35 11.29.&.6.36 12.29.&.6.37 13.29.&.6.38 14.29.&.6.39 14.30.M.0 15.30.M.2 [end] [offset] 628C [level] 66 [colour] 6ed365 [size] 16.31 [author] _ROBBO II by ANTICsoft [data] ssssssssssssssss sR!ss..b..&s...s s.Tssb.b...s.&.s s&'ssbb.bb.s.@.s sssssb.b&..s...s s&s.s.b..b.s...s s.s.s..bb..s...s s.s.ssssssss...s s.s........s&..s s.sDsDs....sssss s.sTsTs...&ss&%s s.sTs%sssssss.^s s.sTsTs.T^...^.s s.sssss.ssssssss s.s.&..&.......s s.s.sss.ssssssDs s.s.@%s...#.#sDs s.s..%s.b..#'s%s s.s..Ts...#T#sTs sDssssssssssssss sTTTTTTTTTTTTTTs s..............s s.bbbbbbbbbbbb.s s.bbbbbbbbbbbb.s s.bbVVVVVVVVbb.s s.bbVVV&MVVVbb.s s.bbVVVVVVVVbb.s s.bbbbbbbbbbbb.s s.bbbbbbbbbbbb.s s..............s ssssssssssssssMM [additional] 19 10.1.&.3.0 13.2.&.2.0 1.3.&.1.0 13.3.@.0 8.4.&.1.1 1.5.&.4.0 12.8.&.3.1 10.10.&.5.0 13.10.&.4.1 14.11.^.1.0.0 9.12.^.0.1.1 13.12.^.1.0.0 4.14.&.6.0 7.14.&.2.1 4.16.@.0 7.25.&.5.1 8.25.M.2 14.30.M.0 15.30.M.2 [end] [offset] 648C [level] 67 [colour] ad8c60 [size] 16.31 [author] _ROBBO II by ANTICsoft [data] OOOOOOOOOOOOOOOO ORO!.O.....O@..O O.O..O.OOO.O.T.O O'OODO.O'O.O@..O O%%'D.^O'O.D..@O OOOOOOOODO.OOOOO OODDDODDDO.DHHHO O.DODDDODO.OHHHO O.OOOOOOOO^OHHHO O^........^OHT%O O.OOOOOOOO.OOOOO O.O&TTTTTO.....O O.OTT%%%TOOOOO.O O.OOOOOOD...%O.O O......OOOODOO.O OOOOOO...@.....O O.#&OOOOOOO....O O..#O..}..OOOOOO O.b.O.O%TTO...&O O#..O.O..&O.O..O O#OOO#OOOOO.O..O O........b..O..O OOOOOOOOOOOOO..O O%D%D%D%D%DDD..O ODOOOOOOOOOOOOOO O%D%D%D%D%D%D%DO OOOOOOOOOOOOOO%O O%%%%%%%%%%.&ODO O%OOOOOOOOOOOOTO O%############%O OOOOOOOOOOOOOOMM [additional] 16 12.1.@.0 12.3.@.3 6.4.^.1.0.0 14.4.@.2 10.8.^.1.0.0 1.9.^.0.1.1 10.9.^.2.1.1 3.11.&.1.0 9.15.@.2 3.16.&.2.0 7.17.}.0.0.0.0.1.1 14.18.&.1.1 9.19.&.2.1 12.27.&.6.0 14.30.M.0 15.30.M.2 [end] [offset] 668C [level] 68 [colour] a87c51 [size] 16.31 [author] _ROBBO II by ANTICsoft [data] oooooooooooooooo o&..&o&..&o&R.&o o.TT.o.TT.o.TT.o o.%T.o.%T.o.%T.o o&..&o&..&o&..&o oooooooooooooooo o&..&o&..&o&..&o o.TT.o.TT.o.TT.o o.%T.o.%T.o.%T.o o&..&o&..&o&..&o oooooooooooooooo o&..&o&..&o&..&o o.TT.o.TT.o.TT.o o.%T.o.%T.o.%T.o o&..&o&..&o&..&o oooooooooooooooo o&..&o&..&o&..&o o.TT.o.TT.o.TT.o o.%T.o.%T.o.%T.o o&..&o&..&o&..&o oooooooooooooooo o&..&o&..&o&..&o o.TT.o.TT.o.TT.o o.%T.o.%T.o.%T.o o&..&o&..&o&..&o oooooooooooooooo o&..&o&oDDDoDTTo o.TT.o.oDoDoDoTo o.TT.o.oDoDoDoTo o&..&o.DDoDDDo!o ooooooooooooooMM [additional] 67 1.1.&.1.0 4.1.&.2.0 6.1.&.1.1 9.1.&.2.1 11.1.&.1.2 14.1.&.2.2 1.4.&.3.0 4.4.&.4.0 6.4.&.3.1 9.4.&.4.1 11.4.&.3.2 14.4.&.4.2 1.6.&.1.3 4.6.&.2.3 6.6.&.1.4 9.6.&.2.4 11.6.&.1.5 14.6.&.2.5 1.9.&.3.3 4.9.&.4.3 6.9.&.3.4 9.9.&.4.4 11.9.&.3.5 14.9.&.4.5 1.11.&.1.6 4.11.&.2.6 6.11.&.1.7 9.11.&.2.7 11.11.&.1.8 14.11.&.2.8 1.14.&.3.6 4.14.&.4.6 6.14.&.3.7 9.14.&.5.0 11.14.&.3.8 14.14.&.4.7 1.16.&.1.9 4.16.&.2.9 6.16.&.1.10 9.16.&.2.10 11.16.&.1.11 14.16.&.2.11 1.19.&.3.9 4.19.&.4.8 6.19.&.3.10 9.19.&.4.9 11.19.&.3.11 14.19.&.4.10 1.21.&.1.12 4.21.&.2.12 6.21.&.1.13 9.21.&.2.13 11.21.&.1.14 14.21.&.2.14 1.24.&.3.12 4.24.&.4.11 6.24.&.3.13 9.24.&.4.12 11.24.&.3.14 14.24.&.4.13 1.26.&.1.15 4.26.&.2.15 6.26.&.5.1 1.29.&.3.15 4.29.&.4.14 14.30.M.0 15.30.M.2 [end] [offset] 688C [level] 69 [colour] 668e9e [size] 16.31 [author] _ROBBO II by ANTICsoft [data] QQQQQQQQQQQQQQQQ QR.............Q Q.QQQQQ..QQQQQ.Q Q.QT..Q..Q..TQ.Q Q.Q.Q.Q..Q%Q.Q.Q Q.Q}Q.Q..Q%Q}Q.Q Q.QQQ.Q.bQ.QQQ'Q QDD@..Q..Q..@DDQ QQQQQQQ..QQQQQQQ Q.............!Q QQQQQQQQbQQQQQQQ Q##############Q Q##############Q QQQQQQQQTQQQQQQQ Q.............}Q QQQQQQTQQQQQQQQQ Q}.............Q QQQQQQQQQ'QQQQQQ Q..............Q Q...bbbbbbbb...Q Q..bVVbVVbVVb..Q Q.bVVbVbbVbVVb.Q QbbbbbbbbbbbbbbQ QbVVVVVVVVVVVVbQ QbVbbbbbbbbbbVbQ QbbbVVVVVVVVbbbQ QbbbbbbbbbbbbbbQ QbbbbbbbbbbbbbbQ QDDDDDDDDDDDDDDQ QTTTTTTTTTTTT%%Q QQQQQQQQQQQQQQMM [additional] 8 3.5.}.3.0.1.0.0.0 12.5.}.3.0.1.0.0.0 3.7.@.2 12.7.@.2 14.14.}.2.0.1.0.0.0 1.16.}.0.0.1.0.0.0 14.30.M.0 15.30.M.2 [end] [offset] 6A8C [level] 70 [colour] b86d7a [size] 16.31 [author] _ROBBO II by ANTICsoft [data] ---------------- -oooooooooooooo- -oVVVV%VVVVVVVo- -oVVVVVVVVVVVVo- -oVVVVVVVVVVVVo- -oVVVVVVVVVVVVo- -oVVVVVVbVVVVVo- -oVVVVbbbbbVVVo- -o#####obo####o- -ooooooo.oooooo- -oTT'''o.oTTDTo- -ooTo''o.oTToTo- -o&To''o.oTToTo- -ooTo''o.oTToTo- -o&To''o.oTToTo- -ooTo''o.oTToTo- -o&To'Ro.o!ToTo- -ooToooo.ooooTo- -oTT.........To- -oTTTTTTTTTTTTo- -o............o- -o............o- -oooooooooooooo- -oTTToTTTToTTTo- -oTTToTTTToTTTo- -oTTToTTTToTTTo- -oTTToTTTToTTTo- -oTTToTTTToTTTo- -o&.ToT&.ToT.&o- -oooooooooooooo- --------------MM [additional] 8 2.12.&.3.0 2.14.&.2.0 2.16.&.1.0 2.28.&.1.1 7.28.&.2.1 13.28.&.3.1 14.30.M.0 15.30.M.2 [end] [offset] 6C8C [level] 71 [colour] 7887ca [size] 16.31 [author] _ROBBO II by ANTICsoft [data] PPPPPPPPPPPPPPPP PbbbbbbbbbbbbbbP PHP...........bP P.PDPPPPPPPPP.bP PHPDPbbbbbbbP.bP P.PDPb.....bP.bP PHPDPb.PPPDbPDbP P.PDPb.Pbb.bP.bP PHPDPbDPb&.bP.bP P.PDPb.PbT.bP.bP PHPDPb.PbbbbP.bP P.PDPb.PPPPPP.bP PHPDPb........bP P.PDPbbbbbbbbbbP PHPDPPPPPPPPPPPP P.P''..........P PHP'..'P.P.P.P.P P.PR.''P&P&P&P&P PHPPPPPPPPPPPPPP P.PTT%PT.PT.PT.P PHPT.&P%&P%&P%&P P.PPPPPPPPPPPPPP PHPT.&PT.PT.PT.P P.PTT%P%&P%&P%&P PHPPPPPPPPPPPPPP P.PT.&PT.PT.PT.P PHPTT%P%&P%&P%&P P.PPPPPPPPPPPPPP PHPT.&PT.PT.P..P P}PTT%P%&P%&P!&P PPPPPPPPPPPPPPMM [additional] 24 9.8.&.5.0 8.17.&.4.0 10.17.&.3.0 12.17.&.2.0 14.17.&.1.0 5.20.&.4.1 8.20.&.3.1 11.20.&.2.1 14.20.&.1.1 5.22.&.4.2 8.23.&.3.2 11.23.&.2.2 14.23.&.1.2 5.25.&.4.3 8.26.&.3.3 11.26.&.2.3 14.26.&.1.3 5.28.&.4.4 1.29.}.3.0.1.0.0.0 8.29.&.3.4 11.29.&.2.4 14.29.&.5.1 14.30.M.0 15.30.M.2 [end] [offset] 6E8C [level] 72 [colour] a675a7 [size] 16.31 [author] _ROBBO II by ANTICsoft [data] oooooooooooooooo obbooV.~'..?o&To obbbooV.~'.Ro..o obobbooV.~'.o..o oboobbooV.~'o..o obboobboo..~o..o o.bboobbbbbbb..o o..bbooooooooooo oT..bo&bobbbo&bo oT..bo.bobVbo.bo oT..boTbobVboTbo oT..boobobVboobo o&..bbbbbbVbbbbo oooooooooooooooo obbbbbbbbbbb..&o oboooooooooooooo obo............o oboooooooooooooo obbbbbbb.%.bbbbo oooooooooooooobo obbbbb@@@@@@@@@o o.oooooooooooooo o.o!ToToToToToTo oDooHo%o.o.o.o%o o..oHoDoDoDoDoDo o....?.?.?.?.?.o o..............o o.b..b..b.b..b.o o##o##o##o##o##o oVToVToV%o%Vo%Vo ooooooooooooooMM [additional] 16 13.1.&.1.0 6.8.&.1.1 13.8.&.1.2 1.12.&.2.0 14.14.&.2.1 6.20.@.2 7.20.@.2 8.20.@.2 9.20.@.2 10.20.@.2 11.20.@.2 12.20.@.2 13.20.@.2 14.20.@.2 14.30.M.0 15.30.M.2 [end] [offset] 708C [level] 73 [colour] 7fccac [size] 16.31 [author] _ROBBO II by ANTICsoft [data] ssssssssssssssss sRs%.Ms.''#####s s.....D...~.bb#s s.....s.''#..b#s s....%s.''#####s sDssssssssssssss s...^.^.^.^.^..s ssss.s.s.s.s.s.s s&.s.s.s.s.s.}.s sTTs.s.s.s.s.s.s sTTs.s.s.s.s.}.s sTTs.s.s.s.s.s.s sTTs.s.s.s.s.sHs ssssssssssssssHs sHHHHHHHHHHHHHHs sHssssssssssssss sHsTTTTTTTTTT.&s sHssssssssssssss sHHHHHHHHHHHHHHs ssssssssssssssHs s&.TTTTTTTTTTsHs ssssssssssssssHs sHHHHHHHHHHHHHHs sHssssssssssssss sHs&.&.V.&TTT.&s sHssssssssssssss s..............s ss}s}s}s}s}s}s.s s&s!s&s&s&s&ss.s s.TTs..........s ssssssssssssssMM [additional] 28 5.1.M.2 4.6.^.1.0.0 6.6.^.1.0.0 8.6.^.1.0.0 10.6.^.1.0.0 12.6.^.1.0.0 1.8.&.1.0 13.8.}.0.0.0.0.0.0 13.10.}.0.0.0.0.0.0 14.16.&.2.0 1.20.&.3.0 3.24.&.6.0 5.24.&.5.0 9.24.&.5.1 14.24.&.4.0 2.27.}.3.0.1.0.0.0 4.27.}.3.0.1.0.0.0 6.27.}.3.0.1.0.0.0 8.27.}.3.0.1.0.0.0 10.27.}.3.0.1.0.0.0 12.27.}.3.0.1.0.0.0 1.28.&.6.1 5.28.&.4.1 7.28.&.3.1 9.28.&.2.1 11.28.&.1.1 14.30.M.0 15.30.M.2 [end] [offset] 728C [level] 74 [colour] 809da0 [size] 16.31 [author] _ROBBO II by ANTICsoft [data] ssssssssssssssss sR..........s!.s s.....b.b...s.&s s.'########.ssss sM'M....M..M..Ms sM'M....M..M..Ms sM'M####M..M..Ms sM'M####M..M..Ms sM'M##&#M..M..Ms ssssssssssssssss sTTTTTTTTTTTTT&s s.ssssssssssssss s..#?#?#?#?#?#?s s..?#?#?#?#?#?#s s..#?#?#?#?#?#?s s..?#?#?#?#?#?#s s.........'''.&s ssssssssssssssss s&.#.#.T.T.T...s s..#.#..T.T.T..s s..#.#.T.T.T..&s ssssssssssssssss s&.TTTTHHHTHTH.s ssssssssssssss.s sbbbbbbbbbbbbbbs sb&&&&&&&&&&&&bs sbbbbbbbbbbbbbbs s&&&&&&&&&&&&&&s sbbbbbbbbbbbbbbs s&&&&&&&&&&&&&&s sssssss&ssssssMM [additional] 75 14.2.&.4.0 1.4.M.0 3.4.M.2 8.4.M.0 11.4.M.2 14.4.M.2 1.5.M.0 3.5.M.2 8.5.M.0 11.5.M.2 14.5.M.2 1.6.M.0 3.6.M.2 8.6.M.0 11.6.M.2 14.6.M.2 1.7.M.0 3.7.M.2 8.7.M.0 11.7.M.2 14.7.M.2 1.8.M.0 3.8.M.2 6.8.&.1.0 8.8.M.0 11.8.M.2 14.8.M.2 14.10.&.4.1 14.16.&.3.0 1.18.&.3.1 14.20.&.2.0 1.22.&.1.1 2.25.&.1.2 3.25.&.1.3 4.25.&.1.4 5.25.&.1.5 6.25.&.1.6 7.25.&.1.7 8.25.&.1.8 9.25.&.1.9 10.25.&.1.10 11.25.&.1.11 12.25.&.1.12 13.25.&.1.13 1.27.&.1.14 2.27.&.1.15 3.27.&.1.16 4.27.&.1.17 5.27.&.1.18 6.27.&.1.19 7.27.&.1.20 8.27.&.1.21 9.27.&.1.22 10.27.&.1.23 11.27.&.1.24 12.27.&.1.25 13.27.&.1.26 14.27.&.1.27 1.29.&.1.28 2.29.&.1.29 3.29.&.1.30 4.29.&.1.31 5.29.&.1.32 6.29.&.1.33 7.29.&.1.34 8.29.&.1.35 9.29.&.1.36 10.29.&.1.37 11.29.&.1.38 12.29.&.1.39 13.29.&.1.40 14.29.&.1.41 7.30.&.2.1 14.30.M.0 15.30.M.2 [end] [offset] 748C [level] 75 [colour] 66a4bd [size] 16.31 [author] _ROBBO II by ANTICsoft [data] PPPPPPPPPPPPPPPP PVP'T''%...T.PVP PPP....T.....PPP P.....TbT......P P}...HbRbH....}P P.....TbT......P P.*....T.....@.P P.P..*....@.@P.P P....P...@P@.@.P P.........@....P P..............P PPPPPPPPPPPPPP&P P.}............P PM.............P P'.'''.........P PPPPHHHHHHHHHH.P P!.P#H#H#H#H#H.P P.&PHHHHHHHHHH.P PM.............P P.............MP PM.............P P.............MP PM.............P P&.............P PPPPPPPPPPPPPPPP P.............&P P#..#..#T.#..#.P PT#..#T.#..#..#P P.T#T.#T.#T.#TTP P#T.#.T#TT#.T#&P PPPPPPPPPPPPPPMM [additional] 25 1.4.}.0.0.1.0.0.0 14.4.}.2.0.1.0.0.0 2.6.*.0 13.6.@.2 5.7.*.0 10.7.@.2 12.7.@.1 9.8.@.1 11.8.@.3 13.8.@.0 10.9.@.0 14.11.&.1.0 2.12.}.1.0.1.0.0.0 1.13.M.0 2.17.&.3.0 1.18.M.0 14.19.M.2 1.20.M.0 14.21.M.2 1.22.M.0 1.23.&.2.0 14.25.&.2.1 14.29.&.3.1 14.30.M.0 15.30.M.2 [end] [offset] 768C [level] 76 [colour] 8373a6 [size] 16.31 [author] _ROBBO II by ANTICsoft [data] oooooooooooooooo o........oToTo'o o.@ooooT.o%o%o%o o.ooVVoo.o%oDoDo o.oooooo.oDoDoHo o.oo&.oo.oDoHHHo o.ooHDoo.oHHHHHo o........oHHHHHo o.oooooo.oHHHHHo o..TooT..oHHHHHo o...oo...o....To o...oo*..o...T.o o...oo...o}#..To o........o...T.o o.oooooo.ooooo.o o.oo..oo.o%.T.%o o.oooooo.oTooooo o.ooTooT.o%.T.%o o.oo..oo.oooooTo o...*@...o..T.%o o.oooooo.o.ooooo o..TooT..o...R!o o...oo...oDooooo o..TooT..o.D.D&o o.oooooo.ooooooo o..............o o..@oo.oo.oo@..o o..Too.oo.ooT..o o..ooT.oo.Too..o o..............o ooooooooooooooMM [additional] 11 2.2.@.2 4.5.&.1.0 6.11.*.1 10.12.}.3.0.0.1.0.0 4.19.*.0 5.19.@.2 14.23.&.1.1 3.26.@.2 12.26.@.2 14.30.M.0 15.30.M.2 [end] [offset] 788C [level] 77 [colour] b5a746 [size] 16.31 [author] _ROBBO II by ANTICsoft [data] ssssssssssssssss s..T.........R!s s.ssssssssssssss s.s............s s.s.ssssssssss.s s.s.D.H%TTTT}sss sTs.ssssssssss.s s.s............s s.s.ssssssssss.s s...s.....%TTs.s sssssDsssDssss.s s.......sHs....s s.sssss.sTs.ssss s.sT.?sssss.D.?s s.s?T.D...s.s??s s.sssss.s.s.ssss s..T....s.s....s sssss...s.ssss.s s...sssss.s%Ts.s s.s.ss...Ts..s.s s.s.ss.sssssDs.s s.s.ss.s.......s s.sT...s.sssssss s.ssssHs.D%%T'?s s....sTs.sssssss ssDs.sss.D%%T'Ms s..s.....sssssss s%Ts.sss.D%%T'Ms ssss.D.s.sssssss s%...sTs.DTTT'Ms ssssssssssssssMM [additional] 6 12.5.}.2.0.2.0.0.0 14.25.M.2 14.27.M.2 14.29.M.2 14.30.M.0 15.30.M.2 [end] [offset] 7A8C [level] 78 [colour] 765d8b [size] 16.31 [author] _ROBBO II by ANTICsoft [data] oooooooooooooooo o!o.%%To.o%...Ro o.oDoooo.oo.oooo o.o%......oDo.%o o.ooooooo.D%D..o o....ToToooDo.To ooDoooo.o%o.oooo o.......o...T..o ooooooDoooooooDo o?????.??????''o o..............o o...bb.bb.bb...o o...bb.bb.bb...o o...bb.bb.bb...o o...bb.bb.bb...o o..bb..bb..bb..o o.bb...bb...bb.o obb....bb....bbo o..............o o##############o o##############o oT#############o ooooo##########o oTTTo##########o oT.To##########o oTT%o##########o o.ooo##########o o&o############o oooooooooooooo#o o&T.&..&T.&o&T.o ooooooooooooooMM [additional] 8 1.27.&.3.0 1.29.&.3.1 4.29.&.2.0 7.29.&.2.1 10.29.&.1.0 12.29.&.1.1 14.30.M.0 15.30.M.2 [end] [offset] 7C8C [level] 79 [colour] 9c7e64 [size] 16.31 [author] _ROBBO II by ANTICsoft [data] oooooooooooooooo oM.%oR.o...'..To o..............o ooo.o.oooooooooo o!o.o..MoM..'T%o oTo.....oT.....o o.ooo.oooM....Mo o...o.o........o o..Mo.oT......Mo oDooo.ooo..ooooo o.oT..T.o..o...o o.o...o.o..o.oHo o.....o.o...ToHo oT....o.oo.oooHo oooooHo..o.o&oHo oT..TH...o.o.oHo o....H...o.o&oHo o........o.oToHo oo.oooooDo.o.oHo oT...oT%.o.o&oHo o....oTT.o.oVoHo ooo.oooooo.o&oHo o.......To.oToHo o........o.o.oHo ooooo.oooo.o&oHo o}#b.....o.oVoHo o.......&o.o&oHo oooooooooo.oToHo o&.#.#.#.#.o.oTo o&.........o&oTo ooooooooooooooMM [additional] 20 1.1.M.0 7.4.M.2 9.4.M.0 9.6.M.0 14.6.M.2 3.8.M.2 14.8.M.2 12.14.&.5.0 12.16.&.5.1 12.19.&.4.0 12.21.&.4.1 12.24.&.3.0 1.25.}.3.0.0.1.0.0 8.26.&.1.0 12.26.&.3.1 1.28.&.2.0 1.29.&.1.1 12.29.&.2.1 14.30.M.0 15.30.M.2 [end] [offset] 7E8C [level] 80 [colour] 84ae78 [size] 16.31 [author] _ROBBO II by ANTICsoft [data] QQQQQQQQQQQQQQQQ Q..T.T.T.T.T...Q QTQQQQQQQQQQQQTQ Q.QT.TQ..T.T.Q.Q QTQ.Q.QTQ.QQ.QTQ Q.QTQ.QQQ.Q..Q.Q QTQ.QT.T.TQTTQTQ Q.Q.Q.QQQQQQQQ.Q QT.TQ.QTQT.QT.TQ QQQQQTQ.Q..QQQQQ QT..T..TQ.T.T.TQ Q.QQQTQQQ.QQQQ.Q QTQ.T..T.TQ.TQTQ Q.QTQQQQQQQTQQ.Q Q.QQQT..T.T.TQTQ Q.QTQQQTQQQQQQ.Q QTQ...T.T.T.TQTQ Q.QQQQQQQQ.QQQ.Q Q.QT.T.T..T.T.TQ QTQQQQQ.QQQQQQQQ Q....TQ.QT.....Q Q..QQQQ.QQQQQQTQ QQTQ.T..T.T.TQ.Q QT.Q.Q.TQQQQQQ.Q QQ.QTQTQQ.T.T.TQ QTTQQQ.TQTQQQQ.Q QQ..TQQ.QQQ.TQ.Q QTTQ.TQT.T.T..TQ QQ.QQQQ.QQQQQQQQ QTT.TT.T.T.T.R!Q QQQQQQQQQQQQQQMM [additional] 2 14.30.M.0 15.30.M.2 [end] [offset] 808C [level] 81 [colour] 815b7a [size] 16.31 [author] _ROBBO II by ANTICsoft [data] PPPPPPPPPPPPPPPP PbbbbbbbbbbbbbbP PbPPPPPPPPPPPPbP PbPbbbbbbbbbbPHP PbPbPPPPPPPPbPbP PbPbPbbbbbbPbPHP PbPbPbPPPPbPbPHP PbPbPb&P&PbPbPHP PbPbPb...PbPbPbP PbPbPPPPPPbPbPHP PbPbbbbbbbbPbPbP PbPPPPPPPPPPbPHP PbbbbbbbbbbbbP}P PPPPPPPPPPPPPPPP P&TTTTTTTTTTTTTP P.PPPPPPPPPPPPTP PTPT........!PTP PTP.PPPPPPPPPPTP PTP.PTTTTTTTTTTP PTP.PTPPPPPPPPPP PTP.PTPT......&P PTP&PTP.PPPPPPPP PTPPPTP&PTTTTTTP PTTTPTPPPTPPPPTP PTPPPTTTTTPTTPTP PTTTTTPPPTPTTPTP PTPPPTP.PTPTTPTP PTTTPTP.PTPTTTTP PPPPPTPPPTPPPPPP PTTTTTTTTTTTTTRP PPPPPPPPPPPPPPMM [additional] 9 6.7.&.1.0 8.7.&.2.0 14.12.}.3.0.1.0.0.0 1.14.&.1.1 14.20.&.2.1 3.21.&.3.0 7.22.&.3.1 14.30.M.0 15.30.M.2 [end] [offset] 828C [level] 82 [colour] a9a9ae [size] 16.31 [author] _ROBBO II by ANTICsoft [data] pppppppppppppppp p!.....T%.....Rp p..............p p''..........''p ppppppp..ppppppp ------pDDp------ ppppppp..ppppppp p??????..??????p p??????..??????p ppppppp..ppppppp ------pDDp------ ppppppp..ppppppp p??????..??????p p??????..??????p p??????..??????p p??????..??????p p??????..??????p p??????..??????p p??????..??????p pppppppDDppppppp ------p..p------ ------p..p------ pppppppDDppppppp p??????..??????p p??????..??????p p??????..??????p p??????..??????p p??????..??????p p??????..??????p p??????..??????p ppppppppppppppMM [additional] 2 14.30.M.0 15.30.M.2 [end] [offset] 848C [level] 83 [colour] 6f9cce [size] 16.31 [author] _ROBBO II by ANTICsoft [data] QQQQQQQQQQQQQQQQ Q.R....Q.@?Q.'!Q Q......Q.QQQ.QQQ Q&.....Q.&'..Q'Q Q#.....Q.QQQ&Q'Q Q......Q.......Q Q......QQQQQQQQQ Q............TTQ QQQQQQQQQQQQQQQQ QQTQTQTQTQTQTQTQ QQDQDQDQDQDQDQDQ Q..............Q Q.T@..T*..T@...Q Q..............Q Q.QQQQQQQQQQQQQQ QT..T.%T..T^..TQ QQQQQQQQQQQQQQ%Q QQ..T^.T%.T.T.TQ QQTQQQQQQQQQQQQQ QT.QT.%T..T*..TQ Q.QQ.QQQQQQQQQ.Q Q..^TQ.%T@..T..Q QQQQQQTQQQQQQQQQ QT..T..Q%TT..TTQ Q.QQQQQQ.QQQQQ.Q Q.QT^...TQT^..TQ QTQ.QQQQQQ.QQQ.Q Q..TQT...%TQ?QTQ QQQQQ.QQQQQQ.QQQ QT^^^^^^.T....&Q QQQQQQQQQQQQQQMM [additional] 23 9.1.@.2 1.3.&.1.0 9.3.&.1.1 12.4.&.2.0 3.12.@.3 7.12.*.1 11.12.@.3 11.15.^.2.0.0 5.17.^.2.0.0 11.19.*.0 3.21.^.2.0.0 9.21.@.2 4.25.^.0.1.1 11.25.^.0.0.0 2.29.^.1.0.0 3.29.^.0.0.0 4.29.^.1.0.0 5.29.^.0.0.0 6.29.^.1.0.0 7.29.^.1.0.0 14.29.&.1.2 14.30.M.0 15.30.M.2 [end] [offset] 868C [level] 84 [colour] 6788ae [size] 16.31 [author] _ROBBO II by ANTICsoft [data] ---------------- ---------------- PPPPP--##--PPPPP P&.TP-####-PT.&P P.TPP##TT##PPT.P PTPP##TTTT##PP!P PPP##TTTTTT##PPP PP##TTTTTTTT##PP -##TTTTTTTTTT##- -#&.TTTTTTTT.&#- -##TTTTTTTTTT##- PP##TTTTTTTT##PP PPP##TTTTTT##PPP PTPP##TTTT##PPTP P.TPP##TT##PPT.P P&.TP-####-PT.&P PPPPP--##--PPPPP ---------------- PPPPPPPPPPPPPPPP P&.#.%.#.%.#.%.P P#.T.#.T.#.T.#RP PPPPPPPPPPPPPPPP P&P.T...P%D.D.TP PDP.PPP.P%P.PTTP P....PPDPPP.PT%P PPDPPP...&P.PPPP PP...P....P..P&P PPPP.PPPDPPP.P.P PP%P.PTP.P...P.P P%D%.P.D.D.PPP&P PPPPPPPPPPPPPPMM [additional] 13 1.3.&.4.0 14.3.&.4.1 2.9.&.3.0 13.9.&.2.0 1.15.&.4.2 14.15.&.4.3 1.19.&.1.0 1.22.&.2.1 9.25.&.1.1 14.26.&.4.4 14.29.&.3.1 14.30.M.0 15.30.M.2 [end] [offset] 888C [level] 85 [colour] 937251 [size] 16.31 [author] _ROBBO II by ANTICsoft [data] OOOOOOOOOOOOOOOO O.....^..^.....O O.OOOO....OOOO.O O.O%.D....D%%O.O O.OOOO....OOOO.O O.....^..^.....O OOO...OOOO...OOO O&OO&OO.!OO&OORO O..OOO....OOO..O O..............O OOOOOOOODOOOOOOO O&.&OTO'.OTO&.&O OOOOODO%%ODOOOOO O...D.OOOO.D...O O...O.O..O.O...O O%%TO.O..O.OT%'O OOOOO.OOOO.OOOOO O.....O..O.O.D.O ODOO.....O.O.O%O O.TO..O..D.OOOTO OOOO.OOO.O.D.O%O O....O...O.O...O ODOO.OOOOOOOOOOO O.TO..O...O....O O%TO..O.O.O.OODO OOOO..O.O.O.O%.O OT%D....OTDTO.&O OOOOHOOOOOOOOOOO O..OHOOOOOOOO..O O&&OHHHHHHH%O&&O OOOOOOOOOOOOOOMM [additional] 18 6.1.^.2.0.0 9.1.^.0.0.0 6.5.^.1.0.0 9.5.^.1.0.0 1.7.&.1.0 4.7.&.4.0 11.7.&.3.0 1.11.&.1.1 3.11.&.2.0 12.11.&.3.1 14.11.&.2.1 14.26.&.6.0 1.29.&.5.0 2.29.&.6.1 13.29.&.5.1 14.29.&.4.1 14.30.M.0 15.30.M.2 [end] [offset] 8A8C [level] 86 [colour] 65719f [size] 16.31 [author] _ROBBO II by ANTICsoft [data] oooooooooooooooo oT..ToT..ToT..To o####o####o####o obbbbobbbbobbbbo o..............o o..............o o..............o oooooooo.ooooooo oooRoooo....oooo ooo'oooo....oooo ooo.ooooooo.oooo ooo.ooooooo.oooo oooHoooooooHoooo o..............o o..............o oooooooHoooooooo ooooooo.oooooooo ooooooo.o..HHHTo ooo.....o.oooooo ooo.....o......o ooo.ooooo......o oooHoooooooooo.o ooo....ooooooo.o ooo....ooooooo.o oooooo.oooooo..o oooooo.oooooo..o ooooooHoooooo.oo o...H.........!o o.o}o.........oo o...oooooooooooo ooooooooooooooMM [additional] 3 3.28.}.3.0.0.1.0.0 14.30.M.0 15.30.M.2 [end] [offset] 8C8C [level] 87 [colour] 78717d [size] 16.31 [author] _ROBBO II by ANTICsoft [data] OOOOOOOOOOOOOOOO O&.....&O......O O...'...O....R.O O.......O..O}.}O O'bbbbbbOO.O}T}O O........O.O}.}O O.bbbbbb.O.O}T}O O........O.O}.}O OOOOODOOOO.O}!}O O&VMO.O....OOOOO OTVMO.O....O&..O O..OO.O..O.O...O O##O..O..O.O...O Ob.O.....O.OTTTO O..OO....O.OTTTO O...OOOOOO.OOOOO O....#.#.......O O..............O O.......OOOOOOOO O.......O%.....O O..OOOOOOOOOO.OO O..O}OM..^.....O O..OTOM...^....O O..O.OM....^...O O..O.OM.....^..O O..O&OM......^.O O..OOOM.....^..O O....OOOOOOOOO.O O..b.O&........O O}.O.O.........O OOOOOOOOOOOOOOMM [additional] 36 1.1.&.3.0 7.1.&.1.0 12.3.}.0.0.2.0.0.0 14.3.}.2.0.2.0.0.0 12.4.}.0.0.1.0.0.0 14.4.}.2.0.1.0.0.0 12.5.}.0.0.2.0.0.0 14.5.}.2.0.2.0.0.0 12.6.}.0.0.1.0.0.0 14.6.}.2.0.1.0.0.0 12.7.}.0.0.2.0.0.0 14.7.}.2.0.2.0.0.0 12.8.}.0.0.1.0.0.0 14.8.}.2.0.1.0.0.0 1.9.&.2.0 3.9.M.2 3.10.M.2 12.10.&.3.1 4.21.}.1.0.2.0.0.0 6.21.M.0 9.21.^.0.0.0 6.22.M.0 10.22.^.0.0.0 6.23.M.0 11.23.^.0.0.0 6.24.M.0 12.24.^.0.0.0 4.25.&.1.1 6.25.M.0 13.25.^.0.0.0 6.26.M.0 12.26.^.0.0.0 6.28.&.2.1 1.29.}.3.0.0.1.0.0 14.30.M.0 15.30.M.2 [end] [offset] 8E8C [level] 88 [colour] 66d286 [size] 16.31 [author] _ROBBO II by ANTICsoft [data] QQQQQQQQQQQQQQQQ Q^.............Q Q.............^Q Q^..QQ.QQ.QQ..^Q Q^^.QQ.QQ.QQ.^^Q Q.^^QQ.QQ.QQ^^.Q Q..^QQ.QQ.QQ^..Q QTTQQ..QQ..QQTTQ QTQQ...QQ...QQ!Q QQQ....QQ....QQQ Q.............&Q QQQQQQQQQQQQQQQQ QT.QT.........&Q QQ.QQQQ.QQQQQQQQ Q..............Q Q..QQQQQQQ.QQQ.Q Q..Q....TQ.Q'Q.Q Q..Q.QQQ.Q.Q.Q.Q QTTQT..Q.Q...Q.Q QQQQQQ.Q.QQQQQ.Q Q....'.Q.......Q Q.QQQQQQQQQQQQQQ Q.HHHHHHHHHbHH}Q Q.HHHHHHHHbHHH}Q Q.HHHHHHHbHHHH}Q Q.HHHHHHbHHHHH}Q Q.HHHHHbHHHHHH}Q Q.HHHHbHHHHHHH}Q Q.HHHbHHHHHHHH}Q Q.............RQ QQQQQQQQQQQQQQMM [additional] 25 1.1.^.0.0.0 14.2.^.2.0.0 1.3.^.1.0.0 14.3.^.1.0.0 1.4.^.2.0.0 2.4.^.1.0.0 13.4.^.1.0.0 14.4.^.0.0.0 2.5.^.2.0.0 3.5.^.1.0.0 12.5.^.1.0.0 13.5.^.0.0.0 3.6.^.2.0.0 12.6.^.0.0.0 14.10.&.1.0 14.12.&.1.1 14.22.}.2.0.2.0.0.0 14.23.}.2.0.2.0.0.0 14.24.}.2.0.2.0.0.0 14.25.}.2.0.2.0.0.0 14.26.}.2.0.2.0.0.0 14.27.}.2.0.2.0.0.0 14.28.}.2.0.2.0.0.0 14.30.M.0 15.30.M.2 [end] gnurobbo-0.66+dfsg/data/levels/rob653924.dat0000644000175000017500000007167211324353351017430 0ustar stevesteve 17th level removed. new 17th level was edited in order to make it possible to finish it. Level 4 - changed gun from blaster to solid laser, removed one wall, so the solid laser has more space, removed 1 redundant key, to still make it possible to finish, but a bit harder level 8 - changed magnets location, before that it was next to impossible to finish this level [name] R653924 [last_level] 31 [offset] 508C [level] 1 [colour] 78c67f [size] 16.31 [author] _Robbo 653924 [data] ###s.s%%s.s.s.s. #.%s.s%%s.s.s.s. #R's.s%%s.s.s.s. #Dss.s%%s.s.s.s. -.-HHHHHHHHHHHHH -.-HHHHHHHHHHHHH -b-HH^.....^.... -?-HH.......^... -.~.......^....M ----HHHHHHHHHHHH ...s.s.....---.. ...s.s.....-.-.. ...s.ssssss-.-.. ...s.ssDDDD..sss ...s.ssDsss.#.#s ...s.ssDs......s ...sbHDDsM..M..M ...s@ssss......s ...sss.........s ..}......??????s }........??????s ..}......??????s ..ssssssssssssss ..sTTT..~....^.M ..s...~........M ..s...~###!....M ..H......#.....M ..HTTT.........M ..H.......~....M ..H...~........M ..H....~...^...M [additional] 22 5.6.^.0.0.0 11.6.^.3.0.0 12.7.^.3.0.0 10.8.^.3.0.0 15.8.M.2 9.16.M.0 12.16.M.0 15.16.M.0 4.17.@.2 2.19.}.0.0.1.0.0.0 0.20.}.0.0.1.0.0.0 2.21.}.0.0.1.0.0.0 13.23.^.1.0.0 15.23.M.2 15.24.M.2 15.25.M.2 15.26.M.2 15.27.M.2 15.28.M.2 15.29.M.2 11.30.^.1.0.0 15.30.M.2 [end] [offset] 528C [level] 2 [colour] 7176a9 [size] 16.31 [author] _Robbo 653924 [data] DDDDDDDDDDDDDDDD DM'....R%....'MD DDDDDDDDDDDDDDDD PPPPHPPPP'PPPPPP HHHHHHHHP%P.T#.M #T#P....PPP.#..M #T#P..bb.##..#.M .D.P.......#...M .@.P.....T#....M ...}...........M ...}............ ...P............ PPPP%........... ................ ...............T ...............T ...............T ...............T ...............T DDDDDDDDDDDDDDDD ................ ................ .TTT.TTT.TT.TT.. ..T..T.T.T.T.T.. ..T..T.T.T...T.. ..T..TTT.T...T.. ................ ................ ................ M.............DD M.............D! [additional] 13 1.1.M.0 14.1.M.2 15.4.M.2 15.5.M.2 15.6.M.2 15.7.M.2 1.8.@.0 15.8.M.2 3.9.}.0.0.0.0.1.1 15.9.M.2 3.10.}.0.0.0.0.1.1 0.29.M.0 0.30.M.0 [end] [offset] 548C [level] 3 [colour] a98058 [size] 16.31 [author] _Robbo 653924 [data] %..............R ................ ................ M............... DD.............. TD.............. ----}----------' O...O.O.......O. ODO.O.OOOOOOOOO. ObO%O........... O.OOO..O.O.OOOO. .......ODODO..O. OOOOOOOO.O.O..OO TOTO.....O.....} TTTO.....O....}. TOTO....MO...... TObO....MO...... TO.O....MO...... TO~O....MO...... TOTO....MO...... TOTO....MO...... TOTO....MOM..... TOTO....MO...... TOTO....MO...... TOTO....MO.#.... TOTO....MO...... TOTO....MO..#... TOTO....MO...... TOTO....MO...... TOTO....MOTTTT.. TTTTT}..MO!TTT.% [additional] 22 0.3.M.0 4.6.}.3.0.1.0.0.0 15.13.}.1.0.1.0.0.0 14.14.}.1.0.1.0.0.0 8.15.M.2 8.16.M.2 8.17.M.2 8.18.M.2 8.19.M.2 8.20.M.2 8.21.M.2 10.21.M.0 8.22.M.2 8.23.M.2 8.24.M.2 8.25.M.2 8.26.M.2 8.27.M.2 8.28.M.2 8.29.M.2 5.30.}.3.0.1.0.0.0 8.30.M.2 [end] [offset] 568C [level] 4 [size] 16.31 [author] _Robbo 653924 [level_notes] Level edited with GNU Robbo Designer [data] oooooooooooooooo oR.#..#.#.#.##.o o.#..#..#...#.#o o.#.#..#.#..#..o o..#..#..#...#.o oooooooooooooo.o o..............o o...b...b...o'oo o.....%.....oT.o oDoDo.#.oDoDoT.} oToTo.#.oToToT.o o%oTo.#.oToTo%oo oooooo.ooooooooo o.^..#...^...o}o ooo.oooooooooo.o oTo............M oDooooooo.oooo.o o...........}o.o o.oooooooooooo.o o#.D.DTTo%D....o o..o.oooo.o.oo.o ooDo.D%D.D..}o.o o%.o.obooooooo#o oDoo.DTD.D..o..o o..oDooooooDob.o o.bo..o..?oDo..o o..ob.o.!.oDob.o o.bo..o...o...bo o..D.ooo.ooDoooo o..o.oTD....%TTo oooooooooooooooo [additional] 7 15.9.}.2.0.1.0.0.0 2.13.^.2.0.0 9.13.^.2.0.0 14.13.}.1.0.1.0.0.1 15.15.M.2 12.17.}.2.0.0.0.0.0 12.21.}.2.0.1.0.0.0 [end] [offset] 588C [level] 5 [colour] b2b05f [size] 16.31 [author] _Robbo 653924 [data] R''''''''''''''% TTTTTTTTTTTTTTTT ..*...*...*...*. .OHHHHHHHHHHHHO* .OM^........^MO. .O.....O.O....O. *OOOOOOO.OOOOOO. .O............O* .OOOHO.OOOOO.OO. .OHHHO}.%D...'O. *OHHHOb}.O...'O. .OHHHO}b}O''''O* .OHbHD.}bO''''O. .OHHHO}b}O''''O. *OHHHOb}}O''''O. .OOOOOOOOOODDOO* .O............O. .OTTTTTTTTTTTTO. *O............O. .Ob.b.b.b.b..bO* .OHb........bHO. .OHHb......bHHO. *OHHHbbbbbbHHHO. .OHHHHb%%bHHHHO* .OHHHHHbbHHHHHO. .O????????????O. *OHHHHHHHHHHHHO. .OHHHHHHHHHHHHO* .O!bHbHbHbH%H}O. .OOOOOOOOOOOOOO. *...*...*...*... [additional] 35 2.2.*.0 6.2.*.0 10.2.*.0 14.2.*.0 15.3.*.3 2.4.M.0 3.4.^.0.0.0 12.4.^.0.0.0 13.4.M.2 0.6.*.3 15.7.*.3 6.9.}.3.0.1.0.0.0 0.10.*.3 7.10.}.3.0.1.0.0.0 6.11.}.3.0.1.0.0.0 8.11.}.3.0.1.0.0.0 15.11.*.3 7.12.}.3.0.1.0.0.0 6.13.}.3.0.1.0.0.0 8.13.}.3.0.1.0.0.0 0.14.*.3 7.14.}.3.0.1.0.0.0 8.14.}.3.0.1.0.0.0 15.15.*.3 0.18.*.3 15.19.*.3 0.22.*.3 15.23.*.3 0.26.*.3 15.27.*.3 13.28.}.3.0.0.1.0.0 0.30.*.0 4.30.*.0 8.30.*.0 12.30.*.0 [end] [offset] 5A8C [level] 6 [colour] 77a4ac [size] 16.31 [author] _Robbo 653924 [data] ---------------- -R.............. -.-.-.-.-.-.-.-. -.-.-~-.-.-.-.-. -.-.-.-.-.-.-.-. -'-.-.-.-.-.-'-. -.-.-.-.-D-%-s-% -.-%-.-%-T-~-.-~ -s-s-.-s-s-.-.-. -.-.-.-.-.-.-.-. -.-.-.-.-.-...-. -............... ---------------D ......b......... -----HHH-------- .sss.s.s........ .s??.s.s.ssssss. .sss.s.s.s....s. .TTs.s.s.s.ss.s. .sss.s.s.s.ss.s. .s??.s.s.s.ss.s. .sss.s.s.s.ss.s. .TTs.s.s.s.ss.s. .sss.s.s.s.ss.s. .s??.s.s.s.ss.s. .sss.s.s.sTss.s. .TTs.s.s.s!ss.s. .sss.s.s.ssss.s. .s??.s.s......s. .sss.s.ssssssss. .....D.D........ [additional] 0 [end] [offset] 5C8C [level] 7 [colour] 819663 [size] 16.31 [author] _Robbo 653924 [data] R~...b'.....T... ppppppppppppppp~ '......H###%##p. .......HHHHHHHp. M............... ................ ................ ..}............. pppppp.ppppppppp &..............} ppp}pppppppppppp M..........DHH.& M.....#..~.pHHHH M..........ppppp ....###.######## ....bbbbbbbbbbbb ....############ ...#............ --...----------- ...b.TT.%-'....% .-D-----.----D-- ...............M ------------D--- .............b.. TppTpppTpppTpppD ppppppppppppppp. .......D........ .ppppppppppppppp .%D%D%D%D%D%D%.. ppppppppppppppp. !D.............. [additional] 10 0.4.M.0 2.7.}.3.0.1.0.0.0 0.9.&.1.0 15.9.}.2.0.1.0.0.0 3.10.}.1.0.1.0.0.0 0.11.M.0 15.11.&.1.1 0.12.M.0 0.13.M.0 15.21.M.2 [end] [offset] 5E8C [level] 8 [size] 16.31 [author] _Robbo 653924 [level_notes] Level edited with GNU Robbo Designer [data] RT&.&.&.&.&.&.&. &&&&&&&&&&&&&&&& .V&.&.&.&.&.&.&. &&&&&&&&&&&&&&&& V.&.&.&.&.&.&.&. &&&&&&&&&&&&&&&& ..*..........@.. ..ooo......ooo.. ..oo...~....oo.. M.....b.b......M -------b-------- TTTTTT...TTTTTTT D---b------D--D- TTH....HTTTDHDDD TTH....HTTTTHTDD %%M...%H%%%TH'D' HHbHHHHbHHHHbHHH bbbbbbbbbbbb...' #b############## ?b?????????????? bb.............. bbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbb bbbbbVVbVbVbbbbb bbbbbVVbVbVbbbbb bbbbVVVbVbVVbbbb bbbVbVVbVbVbVbbb bbVbbbbbbbbbbVbb bVbbbbbbbbbbbbVV VbbbbbbbbbbbbbV! [additional] 74 2.0.&.1.0 4.0.&.1.1 6.0.&.1.2 8.0.&.1.3 10.0.&.1.4 12.0.&.1.5 14.0.&.1.6 0.1.&.1.7 1.1.&.1.8 2.1.&.1.9 3.1.&.1.10 4.1.&.1.11 5.1.&.1.12 6.1.&.1.13 7.1.&.1.14 8.1.&.1.15 9.1.&.1.16 10.1.&.1.17 11.1.&.1.18 12.1.&.1.19 13.1.&.1.20 14.1.&.1.21 15.1.&.1.22 2.2.&.1.23 4.2.&.1.24 6.2.&.1.25 8.2.&.1.26 10.2.&.1.27 12.2.&.1.28 14.2.&.1.29 0.3.&.1.30 1.3.&.1.31 2.3.&.1.32 3.3.&.1.33 4.3.&.1.34 5.3.&.1.35 6.3.&.1.36 7.3.&.1.37 8.3.&.1.38 9.3.&.1.39 10.3.&.1.40 11.3.&.1.41 12.3.&.1.42 13.3.&.1.43 14.3.&.1.44 15.3.&.1.45 2.4.&.1.46 4.4.&.1.47 6.4.&.1.48 8.4.&.1.49 10.4.&.1.50 12.4.&.1.51 14.4.&.1.52 0.5.&.6.53 1.5.&.6.54 2.5.&.6.55 3.5.&.6.56 4.5.&.6.57 5.5.&.6.58 6.5.&.6.59 7.5.&.6.60 8.5.&.6.61 9.5.&.6.62 10.5.&.6.63 11.5.&.6.64 12.5.&.6.65 13.5.&.6.66 14.5.&.6.67 15.5.&.6.68 2.6.*.0 13.6.@.2 0.9.M.0 15.9.M.2 2.15.M.0 [end] [offset] 608C [level] 9 [colour] 6d61b1 [size] 16.31 [author] _Robbo 653924 [data] RO.....OOOOOOOOO %O.OOO~~.b.....O %ODOTO.~b..b.b#O %O...O.~b..bbbTO DO...Ob~b..b..TO DO...O.~bbb..b%O DO...OOOOOOOOOOO %O.............O %O.............O DO.............O DO.............O %OOOOOOOOOO....O DO!????.??O....O %O????'.?'O....O DO????????O...bO %O?.?.?.??O..... DO????.?.?O...b} %O?.?.????O....O %O??.?.???O....O %OOODOOOOOO....O %OH.........---O DOHHHHHM-------O DOHHHHHM-------- DOHHHHHM-b------ DOHHHHHM--b----- TOHHHHVV---b---- %OHHHHHM----b--- DOHHHHHM-----b-- TOHHHHHM------b- TO'HHHHMOOOOOOOO T#.......M..&..M [additional] 12 15.16.}.3.0.0.1.0.0 7.21.M.2 7.22.M.2 7.23.M.2 7.24.M.2 7.26.M.2 7.27.M.2 7.28.M.2 7.29.M.2 9.30.M.2 12.30.&.1.0 15.30.M.2 [end] [offset] 628C [level] 10 [colour] a28352 [size] 16.31 [author] _Robbo 653924 [data] R'...HHHHHHHHb.. QQQQDQQQQDQQQDQQ ................ .QQQQQQQQQQQQQQ& .Q............QQ .QVVVVVQ.Q.Q..T! .QVVVVVQ.Q.Q..TT .QVVVVVQ.Q.Q..TT .QVV&VVQQQQQ.%TT .QQQQQQQTTTTTTTT .Q?QQ??QTTTTTTTT .Q????QQQQQQQ... .Q??Q????Q??Q... .Q?Q??Q?????Q... .Q?Q????Q?Q?Q... .QQ???Q?????Q... .QQQQQQQQQHHQ... .Q'%%%%'''QDQ... .Q'''%%%%'QHQ... .M........MHQ.QQ .QMMMMM.M.M'Q.Q' .Q'''MM.M.M'Q.Q# .Q'''MM....'Q... .Q'''MM.M.M'Q.Q# .Q.MMMM.M.M'Q.Q? .Q........M'Q.Q' .QQQQQQQQ.QQQ.QQ .Q......Q......T ...Q.Q..Q.QQQQQQ .QQQ.Q.QQ.Q@@@@@ .QTT.Q..T.Q**}** [additional] 38 15.3.&.1.0 4.8.&.1.1 1.19.M.0 10.19.M.2 2.20.M.0 3.20.M.0 4.20.M.0 5.20.M.0 6.20.M.2 8.20.M.0 10.20.M.2 5.21.M.0 6.21.M.2 8.21.M.0 10.21.M.2 5.22.M.0 6.22.M.2 5.23.M.0 6.23.M.2 8.23.M.0 10.23.M.2 3.24.M.2 4.24.M.2 5.24.M.2 6.24.M.2 8.24.M.0 10.24.M.2 10.25.M.0 11.29.@.2 12.29.@.2 13.29.@.2 14.29.@.2 15.29.@.2 11.30.*.0 12.30.*.0 13.30.}.0.0.0.0.1.1 14.30.*.0 15.30.*.0 [end] [offset] 648C [level] 11 [colour] 7accb0 [size] 16.31 [author] _Robbo 653924 [data] R.s..sbbbbbbbbbb ..s..sbssssssssb ..~.bsbsbbbbbbsb sss.bsbsbssssbsb TT..bsbsbbbbsbsb T..bbsbsbsTbsbsb T.bbssbsbsTbsbsb T.bssbbsbsTbsbsb T.bsbbbsbsTbsbsb T.bsbbbsbsTbsbsb T.bsbbbsbsTbsbsb T.bsbsssbsTbsbsb T.bsbsbbbsTbsbsb T.bsbsbbssTbsbsb T.bsbsbbssTbsbsb T.bsbsbbsbTbsbsb T.bsbsbbsbTbsbsb T.bsbsbbbbTbsbsb T.bsbsbbbbTbsbbb T.bsbsbbbbTbsbbb T.bsbsTbTbTbsbbb T.bsbsTbTbTbsbbb T.bsbsTbTbTbsbbb T.bsbsTbTbTbsbbb T.bsbsTbTbTbsbbb T.bsbsTbTbTbsbbb T.bsbsTbTbTbsbbb T.bsbsTbTbTbsbbb T.bbbsTTTTT.sbbb T.ssss......sbbb ...........!sbbb [additional] 0 [end] [offset] 668C [level] 12 [colour] a5b8a0 [size] 16.31 [author] _Robbo 653924 [data] R-T..T-T.......T %-.--.-.-------- D-.--.-..T-.-... T.T-......-.-.-. .-.-.----.-..... %-T.T....T-.--.- D------.-....T.. %.....-.-----.-. --.-..-...-...-. ...-..-.-.-T.... .----.-...---.-. ....-.-.....-T.- ---.-.-----.--.. ....-T....-.-.-. -.-.-.-.---.-T.. -.-.-.-.-.-.-.-- ........-.-.-... ---.-----.-.--.. ....-.....-.-.-. .----.-----.-.-T ..........-.--.. -----------.-T.. ............-.-. .------------..- ............-.-. -----------.-T.- ............--.T -------------.-. .-..-...!-.T-... -.-...-.--.-.--. ....-.....T....T [additional] 0 [end] [offset] 688C [level] 13 [colour] b3b06d [size] 16.31 [author] _Robbo 653924 [data] R............... .HHHb.b.b.bHHHH. .......^........ PPPPPPP'PPPPPPPP ################ ################ ####H########### ####H########### ####H########### MHHHHHH'HHHHHHHM ####H~#~#~###### ###HH~#~#~###### ###H#~#~#~###### ###HHHHH##~##### P.PPPPP.PPPPPPPP ............*..M M.PPP.P.P.PPPP.. ......PPP....... ................ PPPPPPP.PPPPPPPP ................ ............PPPP .PPPPPPPPPPPPH!H .TTTTTTTTTTTPHHH .PPPPPPPPPPPPPHP .TTT...TTT...TTT .PPPPPPPPPPPPPPP ..TTT..TTT..TTTP .PPPPPPPPPPPPP.P .............P}P ...............P [additional] 7 7.2.^.0.0.0 0.9.M.0 15.9.M.2 12.15.*.0 15.15.M.2 0.16.M.0 14.29.}.3.0.0.1.0.0 [end] [offset] 6A8C [level] 14 [colour] a75c6c [size] 16.31 [author] _Robbo 653924 [data] %..............% M..............M }HHHHHHHHHHHHHH} O..............O O..............O O.#..........#.O OO............OO OOOOOOOO#&#OOOOO .......'#.#-TTTT .########.#-HHH. .#........~..... .D.########-HHHH .#.#--------#H## %#.#-HHHHHH#HH#H %#.#-HHHHHH#H##H bb%bbHHHHHH#HH#H bb.bbHHHHHH##H.H --D---------b.bb -HHHHOOOOOOO#.b. -H...D.....O.##. -H.HHO..H..O#b.# -H.H-O.HTH.O.##. -H.HHOH#.MHO~#.# -H.b.O.H#H.O%%#. -HHH.O..H..O#### OOOOOOOODOOOOOOO DDDDD##O.O....%R DD~~...O.O.....% DD....~D.D...... ...~~..O.O.....' !~~~~%%O.O...... [additional] 6 0.1.M.0 15.1.M.2 0.2.}.0.0.0.0.0.0 15.2.}.2.0.0.0.0.0 9.7.&.1.0 9.22.M.2 [end] [offset] 6C8C [level] 15 [colour] b9944e [size] 16.31 [author] _Robbo 653924 [data] .....DV''--D-... .---.-----....-. .---.....-.---O. ...-----.-....O. --....D-.----.O. D-----.-.-....O. .....-.-.-.-DDO. .---.-.-.-.-'VO. ...-...-...-''O. OO.OOOOOOOOOOOO. %D.OOOO......%OD %D.O%...OOOOOOO' OO.OO.O.......OO --.DO.O.OOOOO.O. -O.DO.O.......O. O%DO%.OOOO.OOOO. .DO%.%O%......O. DO..OOOOOOOOODO. .O.#O%O}O'O%ODO. .O..O%O.O?O%O.O. .O%%O%O.O%OTO.O. .ODDO%O%O%O%ODO. .ODDODO.OTOTO.O~ .ODDODO.OTODO.O. .ODDODODODODODO. ....M.........O. OOOOOOO.OOOOOOO. %D%D%D%D%D%D%'O. DOOOOOOOOOOOO}O. %D%D%D%RH!....bb OOOOOOOOOOOOOOOO [additional] 3 7.18.}.1.0.2.0.0.0 4.25.M.2 13.28.}.3.0.0.1.0.0 [end] [offset] 6E8C [level] 16 [colour] 8faac7 [size] 16.31 [author] _Robbo 653924 [data] PTTT.~..H......! P.PPPPPP.......P P.P............. P.P...........#. P.PM............ P.P............. P.PPPPPPPPP..... P.........P..... PPPPPPPPP.P..b.. ........P.P..... PPPPPPPPPDPPPPPP ...............R ~~.............. ~~.............. %D...........#.. ~~......#.###.## ~~.....#.#.#.##. %....M..#.#.#.T# M..b...#.#.#..#. PPPHPPPPPPDPPPPP ---.-?--?-'-TTTT ---.------.-.### HHH........-.### H-----------...M H-bbbb.......... D-bTTb.......... H-bTTb.......... ...TTb.......... --bbbb.......... ................ ...............% [additional] 4 3.4.M.0 5.17.M.2 0.18.M.0 15.23.M.2 [end] [offset] 728C [level] 17 [size] 16.31 [author] _Robbo 653924 [level_notes] [data] oooooooooooooooo oRo...@..o..@..o o.o.oooo.o.ooo.o o.~......o.....o o.oooooooo.ooooo o.............Mo o.oooo..oo.ooooo o.~.bM..oo...D.o o.o..o..oT...oDo o.o''o..oo...o.o o.o%%o..oT...o.o o.o%%o..oo...oDo o.ooooTToT..To.o o.oVo#.#oo..oo.o o.o.o...o..Too.o o.o.o.?.o...o.Do o&o.....o.}..&.o oooooooooooooooo o&o%o&oo.......o o.o...%o.......o o.o.o.oo.......o o...o.To.......o oooooooooooooooo o!H..%##...%.o&o oHHTT.##.T...o.o o..............o M......&.......M o...........oooo o...........o'.o o&..........o.&o oooooooooooooooo [additional] 15 6.1.@.1 12.1.@.1 14.5.M.2 5.7.M.2 1.16.&.2.0 10.16.}.3.0.1.0.0.1 13.16.&.1.1 1.18.&.2.2 5.18.&.3.3 14.23.&.3.4 0.26.M.0 7.26.&.1.5 15.26.M.2 1.29.&.4.6 14.29.&.4.7 [end] [offset] 748C [level] 18 [colour] a08750 [size] 16.31 [author] _Robbo 653924 [data] R.........%..... M&MM..MM..MM.M.M M..............M M.M............M M............... M.M..M.M...MDM.M M.MT'M.o.%%MD..% M.MTDo.D.%.M%%.% M.MDDD.M.......M M....M.M.......M M..............M ..M..........M.. .....'M......... .....bM.MM.MTMM. .....bM.M.MTTMM. ...bbbM.MMTTMM.. MM#bM.M.MMTo.... ..#b....MMTM.MM. &Vbb...MM%TM.M.. bbbbM.D.TTMMTMM. b..b..%.oTMMTMM. bb!b..D.oTMM.MM. bbbb..D.o.MM.MM. ooooooooo.MM.... M.........MM.M.. ..M..M%....M.... .-...-T-.M.M.M.. .-.-...-%.M....M .-.M...MTM.M.M.M ..%......-.....M M...%..M...M..%M [additional] 117 0.1.M.0 1.1.&.1.0 2.1.M.2 3.1.M.0 6.1.M.2 7.1.M.0 10.1.M.2 11.1.M.0 13.1.M.2 15.1.M.0 0.2.M.2 15.2.M.0 0.3.M.2 2.3.M.0 15.3.M.2 0.4.M.2 0.5.M.0 2.5.M.0 5.5.M.2 7.5.M.0 11.5.M.2 13.5.M.0 15.5.M.2 0.6.M.0 2.6.M.2 5.6.M.2 11.6.M.2 0.7.M.0 2.7.M.2 11.7.M.0 0.8.M.0 2.8.M.0 7.8.M.0 15.8.M.2 0.9.M.0 5.9.M.2 7.9.M.0 15.9.M.2 0.10.M.2 15.10.M.0 2.11.M.0 13.11.M.2 6.12.M.2 6.13.M.2 8.13.M.2 9.13.M.0 11.13.M.2 13.13.M.0 14.13.M.2 6.14.M.2 8.14.M.2 10.14.M.2 13.14.M.0 14.14.M.2 6.15.M.2 8.15.M.2 9.15.M.2 12.15.M.0 13.15.M.2 0.16.M.0 1.16.M.2 4.16.M.0 6.16.M.2 8.16.M.2 9.16.M.2 8.17.M.2 9.17.M.2 11.17.M.0 13.17.M.0 14.17.M.2 0.18.&.1.1 7.18.M.2 8.18.M.0 11.18.M.0 13.18.M.2 4.19.M.2 10.19.M.0 11.19.M.2 13.19.M.0 14.19.M.2 10.20.M.0 11.20.M.2 13.20.M.0 14.20.M.2 10.21.M.0 11.21.M.2 13.21.M.0 14.21.M.2 10.22.M.0 11.22.M.2 13.22.M.0 14.22.M.2 10.23.M.0 11.23.M.2 0.24.M.2 10.24.M.0 11.24.M.2 13.24.M.0 2.25.M.0 5.25.M.2 11.25.M.2 9.26.M.0 11.26.M.2 13.26.M.0 10.27.M.2 15.27.M.0 3.28.M.0 7.28.M.2 9.28.M.0 11.28.M.0 13.28.M.2 15.28.M.0 15.29.M.0 0.30.M.0 7.30.M.2 11.30.M.0 15.30.M.2 [end] [offset] 768C [level] 19 [colour] 75ae7f [size] 16.31 [author] _Robbo 653924 [data] oooooooooooooooo o......o.o.....o o@oo...D.D*o...o o.TT...o.o.T...o o......o.o.....o o......oDo.....o o@oo...o.o*o...o o.TT...o.o.T...o o......o.o.....o o......o.o.....o o@oo...o.o*o...o o.TT...o.o.T...o o......o.o.....o o......o.o.....o o......o.o.....o &T....ToToT...T& ooooooooTooooooo o....TTTRTTTT..o ooDoooooTooooDoo o...oTTo.o&oDDDo o...o..o.D.o...o o...oTTo.oooTTTo o%T%o..o.o.o%%%o oooooTTo.D.ooooo o!.&o..o.o.''''o ooooo..o.ooooooo o&.&o..o.o&.&oTo ooooo..o.ooooo.o o......o.o.....o o&....&o%oT...&o oooooooooooooooo [additional] 17 1.2.@.1 10.2.*.3 1.6.@.1 10.6.*.3 1.10.@.1 10.10.*.3 0.15.&.3.0 15.15.&.2.0 10.19.&.1.0 3.24.&.6.0 1.26.&.4.0 3.26.&.5.0 10.26.&.5.1 12.26.&.6.1 1.29.&.2.1 6.29.&.4.1 14.29.&.3.1 [end] [offset] 788C [level] 20 [colour] 8a8d56 [size] 16.31 [author] _Robbo 653924 [data] &#.........bHH'R ##.ODOOOOO-H-OOO -D-O...MO?-H-%H. -%%O...%O?-.-#H# OOOO-..TO?-.-.#. &.T.-...O--.OO.. OOOD-M..HD...... ....---------OOO ...~.....M....#% ~.~..~...#M...#T ~~.....~...M..## ~.........M..... ..~.b....M...... .....~.......... .........-T..... OOOOOOOOOOOOOOOD M..-..........OH M.....#.......~. M..-......#...O- M.............O? M..-......#...O? M.............O? M..-..#.......O? M.............O? M..-..........O? M.#....HHOOOOOOO M..-...H!O...... OOOOOOOOOO.##D## ...........##D## ...........D#... &..........###.& [additional] 22 0.0.&.2.0 7.2.M.2 0.5.&.1.0 5.6.M.0 9.8.M.2 10.9.M.2 11.10.M.2 10.11.M.2 9.12.M.2 0.16.M.0 0.17.M.0 0.18.M.0 0.19.M.0 0.20.M.0 0.21.M.0 0.22.M.0 0.23.M.0 0.24.M.0 0.25.M.0 0.26.M.0 0.30.&.2.1 15.30.&.1.1 [end] [offset] 7A8C [level] 21 [colour] 6b7566 [size] 16.31 [author] _Robbo 653924 [data] ..%....M%.O.-!%% R.........D.-... OOOHOHOOOOO.--D- ...#O....O#.#.#. ...#D....D.#.#.# ....O....O#.#%#. M..TO...&O.###.' OOOOOOOOOOOOOOOO #..##.TO.....O.& #..##..O...M.O%. #..##..O.....ODO #..##..OM.MM.... #..##..O....M..M #..##..O.M...M.. #..##..O..M...M. #..##..O...M..M. #..##..O........ #..##..O.MM..MM. #..#...O.M...M.. #..##..O.MM..MM. #..##..O..M...M. #..##..O.MM.MMM. #.###}.O........ ODOOOOOOOOOOOOOO .....&OTD....O.. ......O####ODO.. }.....O.#OOO.OOH ...OOOO..O..b.OH --.OM...TO&...DH -T.....?.O....OH ---OM..T.OOOOOOT [additional] 39 7.0.M.2 0.6.M.0 8.6.&.2.0 15.8.&.3.0 11.9.M.0 8.11.M.2 10.11.M.0 11.11.M.2 12.12.M.0 15.12.M.2 9.13.M.0 13.13.M.0 10.14.M.0 14.14.M.2 11.15.M.0 14.15.M.2 9.17.M.2 10.17.M.2 13.17.M.2 14.17.M.2 9.18.M.2 13.18.M.2 9.19.M.2 10.19.M.2 13.19.M.2 14.19.M.2 10.20.M.2 14.20.M.2 9.21.M.2 10.21.M.2 12.21.M.2 13.21.M.2 14.21.M.2 5.22.}.3.0.1.0.0.0 5.24.&.3.1 0.26.}.0.0.0.0.0.0 4.28.M.0 10.28.&.2.1 4.30.M.0 [end] [offset] 7C8C [level] 22 [colour] 8698ab [size] 16.31 [author] _Robbo 653924 [data] MRM............M M.MM...........! M.MM.M.........M M.MM.M.........M M.MM.M.M......MM M.MM.M.M.M..M%MM M.MM.M.M.M..M.MM M.MM.......MMTMM M.M......M.M...M M......MMT.....M M....M.M.....M.M M....M.M.....M.M ....MM.M.M.....M .MM.MM.M.M.M...M .MM.MM.M.M.M...M .MM....M.M...... .M............M. .TMM....M.....M. .M%M.MM.M..M.... .M%M.MM.M..M.M.M .....MM.M..M.... M.....M.M.....M. ....M.M.MM...... .MM.M.M.MM.M...M .MM..MM.MM.M...M .M.M.MM.MM.M...M .M.M....MM...... .M............M. .M............M. .M...M.....M..M. .......M.M...... [additional] 162 0.0.M.2 2.0.M.0 15.0.M.2 0.1.M.2 2.1.M.0 3.1.M.2 0.2.M.2 2.2.M.0 3.2.M.2 5.2.M.0 15.2.M.2 0.3.M.2 2.3.M.0 3.3.M.2 5.3.M.0 15.3.M.2 0.4.M.2 2.4.M.0 3.4.M.2 5.4.M.0 7.4.M.2 14.4.M.0 15.4.M.2 0.5.M.2 2.5.M.0 3.5.M.2 5.5.M.0 7.5.M.2 9.5.M.0 12.5.M.2 14.5.M.0 15.5.M.2 0.6.M.2 2.6.M.0 3.6.M.2 5.6.M.0 7.6.M.2 9.6.M.0 12.6.M.2 14.6.M.0 15.6.M.2 0.7.M.2 2.7.M.0 3.7.M.2 11.7.M.0 12.7.M.2 14.7.M.0 15.7.M.2 0.8.M.2 2.8.M.0 9.8.M.2 11.8.M.0 15.8.M.2 0.9.M.2 7.9.M.0 8.9.M.2 15.9.M.0 0.10.M.0 5.10.M.2 7.10.M.0 13.10.M.2 15.10.M.0 0.11.M.0 5.11.M.2 7.11.M.0 13.11.M.2 15.11.M.0 4.12.M.0 5.12.M.2 7.12.M.0 9.12.M.2 15.12.M.0 1.13.M.0 2.13.M.2 4.13.M.0 5.13.M.2 7.13.M.0 9.13.M.2 11.13.M.0 15.13.M.2 1.14.M.0 2.14.M.2 4.14.M.0 5.14.M.2 7.14.M.0 9.14.M.2 11.14.M.0 15.14.M.2 1.15.M.0 2.15.M.2 7.15.M.0 9.15.M.2 1.16.M.0 14.16.M.2 2.17.M.0 3.17.M.2 8.17.M.0 14.17.M.2 1.18.M.0 3.18.M.2 5.18.M.0 6.18.M.2 8.18.M.0 11.18.M.2 1.19.M.0 3.19.M.2 5.19.M.0 6.19.M.2 8.19.M.0 11.19.M.2 13.19.M.0 15.19.M.2 5.20.M.0 6.20.M.2 8.20.M.0 11.20.M.2 0.21.M.0 6.21.M.2 8.21.M.0 14.21.M.2 4.22.M.0 6.22.M.2 8.22.M.0 9.22.M.2 1.23.M.0 2.23.M.2 4.23.M.0 6.23.M.2 8.23.M.0 9.23.M.2 11.23.M.0 15.23.M.2 1.24.M.0 2.24.M.2 5.24.M.0 6.24.M.2 8.24.M.0 9.24.M.2 11.24.M.0 15.24.M.2 1.25.M.0 3.25.M.2 5.25.M.0 6.25.M.2 8.25.M.0 9.25.M.2 11.25.M.0 15.25.M.2 1.26.M.0 3.26.M.2 8.26.M.0 9.26.M.2 1.27.M.0 14.27.M.2 1.28.M.0 14.28.M.2 1.29.M.0 5.29.M.2 11.29.M.0 14.29.M.2 7.30.M.0 9.30.M.2 [end] [offset] 7E8C [level] 23 [colour] 9f826a [size] 16.31 [author] _Robbo 653924 [data] T#H!.%##..'..#.R .bH....D#.#.~D.% ..D...##...#.### PPPPDPPPPPPPPPPP ...PHP....M...#% .b.PHP....M...#T ...HHP....M...#% ..........M...## ................ ................ D-------D---D--- T-....%PT-P..#.. --....TP-.D.b#.. P..PPPPPH.P..### P.PP..TP.PPPPPPP P.P...PP.......P P.P.P.TPPPPPPP.P P.P.P.PP#.#.#.#P P.P.P.TP.#.#.#.P P.P.P.PP#.#.#.#P P.P.P.TP.#.#.#.P P.P.P.PP#.#.#.#P P.P.P.TP.#.#.#.P P.P.P.PP#.#.#.#P P.P.P.TP.#.#.#.P P.P.P.PP#.#.#.#P P.P.P..P.#.#.#.P P.P.P...#.#.#.#P P.P.PP.P.#.#.#.P P...PT.P#.#.#... PPPPPPPPPPPPPPPT [additional] 4 10.4.M.2 10.5.M.2 10.6.M.2 10.7.M.2 [end] [offset] 808C [level] 24 [colour] 7cd092 [size] 16.31 [author] _Robbo 653924 [data] PPPPPPPPPPPPPPPP PbVVV..%TPbbbT.P P.PPPPPPPPb.b..P PT.PPbbbbbb.b%.P Pb.PbbP.PP..PPPP P..Pb.P.#PP.P.TP P.PPb......~..PP PT.PP.P.P.P.P..P Pb.P...T......PP P..PPPP.P.PPP..P PHPPPP..P.PPPP.P PHP.....P.P.#..P PHP...P.P.P#..#P PHP..#P}P.P.###P PHP.PPPPP.P#..TP P#...P....P..#.P P.P....P.^P.#..P P.P.PP.P...###.P P.P..R....P.#.#P P.P.PP.P..P....P P}P......PPPP.TP PPP.PPPP.*..PPPP P......PPPP....P PTPPPP....PPPP.P P.TP.PPPP..PT..P P..P!.'.P......P P..P.P#%PP#PDPPP P}#P.&PDP......} PPPPPP#?P'PDPPPP PV??????PTP&PVVP PPPPPPPPPPPPPPPP [additional] 8 7.13.}.3.0.1.0.0.0 9.16.^.3.0.0 1.20.}.3.0.1.0.0.0 9.21.*.0 1.27.}.3.0.1.0.0.0 5.27.&.1.0 15.27.}.2.0.1.0.0.0 11.29.&.1.1 [end] [offset] 828C [level] 25 [colour] 6cd99b [size] 16.31 [author] _Robbo 653924 [data] R.......M.M..... M.....M.M.M.M.M. M.......M.M.M.M. M.M.......M.M..! M.......M.M.M..M M.....M.M.M.M..M M.......M.M....M M.M..........M.M M...M...MT.....M M.M.M.......M..# M.M.......M.M..# M.......M.M.M..# M.........M.M... M.M...........M. M.....M.M.....#. M...M.M.M.M.M.#. M.....M.M.M.M.#. M.M.....M.M.M.#. M.........M.M.#. M........M....#. M..........M..M. M.M...........M. M....M.M....M.M. M..M.M.M.MM.MM.. M....M.M.MM.MM.M M.M....M.MM.MM.M M........MM.MM.M M.........M.MM.M M...........MM.M M.M..........M.M M..............M [additional] 138 8.0.M.0 10.0.M.2 0.1.M.0 6.1.M.2 8.1.M.0 10.1.M.2 12.1.M.0 14.1.M.2 0.2.M.2 8.2.M.0 10.2.M.2 12.2.M.0 14.2.M.2 0.3.M.2 2.3.M.0 10.3.M.2 12.3.M.0 0.4.M.2 8.4.M.0 10.4.M.2 12.4.M.0 15.4.M.2 0.5.M.0 6.5.M.2 8.5.M.0 10.5.M.2 12.5.M.0 15.5.M.2 0.6.M.2 8.6.M.0 10.6.M.2 15.6.M.0 0.7.M.2 2.7.M.0 13.7.M.2 15.7.M.0 0.8.M.2 4.8.M.0 8.8.M.2 15.8.M.0 0.9.M.0 2.9.M.2 4.9.M.0 12.9.M.2 0.10.M.0 2.10.M.2 10.10.M.0 12.10.M.2 0.11.M.0 8.11.M.2 10.11.M.0 12.11.M.2 0.12.M.2 10.12.M.0 12.12.M.2 0.13.M.2 2.13.M.0 14.13.M.2 0.14.M.2 6.14.M.0 8.14.M.2 0.15.M.0 4.15.M.2 6.15.M.0 8.15.M.2 10.15.M.0 12.15.M.2 0.16.M.2 6.16.M.0 8.16.M.2 10.16.M.0 12.16.M.2 0.17.M.2 2.17.M.0 8.17.M.2 10.17.M.0 12.17.M.2 0.18.M.2 10.18.M.0 12.18.M.2 0.19.M.0 9.19.M.2 0.20.M.2 11.20.M.0 14.20.M.2 0.21.M.2 2.21.M.0 14.21.M.2 0.22.M.2 5.22.M.0 7.22.M.2 12.22.M.0 14.22.M.2 0.23.M.0 3.23.M.2 5.23.M.0 7.23.M.2 9.23.M.0 10.23.M.2 12.23.M.0 13.23.M.2 0.24.M.2 5.24.M.0 7.24.M.2 9.24.M.0 10.24.M.2 12.24.M.0 13.24.M.2 15.24.M.0 0.25.M.2 2.25.M.0 7.25.M.2 9.25.M.0 10.25.M.2 12.25.M.0 13.25.M.2 15.25.M.0 0.26.M.2 9.26.M.0 10.26.M.2 12.26.M.0 13.26.M.2 15.26.M.0 0.27.M.0 10.27.M.2 12.27.M.0 13.27.M.2 15.27.M.0 0.28.M.2 12.28.M.0 13.28.M.2 15.28.M.0 0.29.M.2 2.29.M.0 13.29.M.2 15.29.M.0 0.30.M.2 15.30.M.0 [end] [offset] 848C [level] 26 [colour] ad414f [size] 16.31 [author] _Robbo 653924 [data] QQQQQQQQQQQQQQQQ Q&T&T&T&T&THHT&Q QTTTTTTTTTTTTTTQ Q.QQQQQQQQQQQQQQ Q.~............Q Q............QHQ QR~...........bQ QQQQQQQQQQQQQQ.Q Q.D.HH.DH.H.HD.Q Q.QQQQQQQQQQQQ'Q Q.HHHHHH.HHHTQQQ QQQQQQQQ.QQQQQQQ &.}}.}.}.}.}.}.Q Q}............}Q Q.T.T.T.T.T.T..Q Q}............}Q Q.T.T.T.T.T.T..Q Q}............}Q Q.T.T.T.T.T.T..Q Q}............}Q Q.T.T.T.T.T.T..Q Q}............}Q Q.T.T.T.T.T.T..Q Q}.....!......}Q Q..}.}.}.}.}.}.Q QQQQQQQQQQQQQQQQ Q%%QD'QT%Q%.Q%%Q QDDQDDQ..QHHQDDQ Q.TQ.DQ..Q..QHHQ Q&.Q&.Q&.Q&.Q&.Q QQQQQQQQQQQQQQQQ [additional] 37 1.1.&.1.0 3.1.&.2.0 5.1.&.3.0 7.1.&.4.0 9.1.&.5.0 14.1.&.6.0 0.12.&.6.1 2.12.}.2.0.2.0.0.0 3.12.}.1.0.1.0.0.0 5.12.}.1.0.1.0.0.0 7.12.}.1.0.2.0.0.0 9.12.}.1.0.1.0.0.0 11.12.}.1.0.1.0.0.0 13.12.}.1.0.1.0.0.0 1.13.}.0.0.1.0.0.0 14.13.}.2.0.1.0.0.0 1.15.}.0.0.1.0.0.0 14.15.}.2.0.1.0.0.0 1.17.}.0.0.1.0.0.0 14.17.}.2.0.1.0.0.0 1.19.}.0.0.1.0.0.0 14.19.}.2.0.1.0.0.0 1.21.}.0.0.1.0.0.0 14.21.}.2.0.1.0.0.0 1.23.}.0.0.2.0.0.0 14.23.}.2.0.2.0.0.0 3.24.}.3.0.1.0.0.0 5.24.}.3.0.1.0.0.0 7.24.}.3.0.2.0.0.0 9.24.}.3.0.1.0.0.0 11.24.}.3.0.1.0.0.0 13.24.}.3.0.1.0.0.0 1.29.&.1.1 4.29.&.2.1 7.29.&.3.1 10.29.&.4.1 13.29.&.5.1 [end] [offset] 868C [level] 27 [colour] 7892c9 [size] 16.31 [author] _Robbo 653924 [data] sss}sssss&ssssss sR~...bbbbbbbbbs }Hs.s.sDs.sDs.bs }Hs.s.D&D.D&D.bs }'s.s.sDs.sDs.bs s'..s.........b& sssss.sDs.sDs.bs s&....D&D.D&D.bs s.bb..sDs.sDs.bs s&.bbbbbbbbbbbbs sssssssss&ssssss ---------------- ---------------- ssssssssssssssss s.....@s.....s.s s.@....s.sss.s.s ssss...s.s..&.@s s...&.ss.s.s.s.s sDss...s.s.....s sDs....s.s.sssss sDssssss.s.sTD%s sDsT.T.T.s.sD.Ds s.s!T.T.Ts@s...s s.ssssssssss.DDs s............DTs ssssssssssssssss sM.......%%%%%%s sss#ssssssssssDs s%s###b.b.b.b..s s.s###........&s s&ssssssssssssss [additional] 22 3.0.}.1.0.1.0.0.0 9.0.&.1.0 0.2.}.0.0.2.0.0.0 0.3.}.0.0.2.0.0.0 7.3.&.1.1 11.3.&.2.0 0.4.}.0.0.2.0.0.0 15.5.&.1.2 1.7.&.6.0 7.7.&.3.0 11.7.&.1.3 1.9.&.5.0 9.10.&.1.4 6.14.@.0 2.15.@.2 12.16.&.3.1 14.16.@.1 4.17.&.2.1 10.22.@.2 1.26.M.0 14.29.&.6.1 1.30.&.5.1 [end] [offset] 888C [level] 28 [colour] a674b3 [size] 16.31 [author] _Robbo 653924 [data] pppppppppppppppp p&.pTTpTT.&pT.&p p..pTTp##p.p##.p p&.pTTp&TTTp&TTp p.............Mp pppppppppppppppp pTHHH'HTHHTp.@&p pTHHHHHHHHHp...p pTHHHHHHHHHppppp pTHHHHHHTHHH'... pppppppppppppp.& -------------ppp ----pppppp------ ----p&.&.ppppppp ppppp...&p'.%... R........pM..&.M ppppp...&pT.T..T ----p&.&.ppppppp ----pppppp------ ---------------- pppppppppppppppp p&......}.....!p pppppp##.##ppppp p'...M.....b..pp pM.M.M......M.pp pM.M..M..M....pp pM..M.M..M.M..Mp p...M......M...p p...M........b.p p&.............p pppppppppppppppp [additional] 40 1.1.&.1.0 10.1.&.5.0 14.1.&.6.0 1.3.&.6.1 7.3.&.3.0 12.3.&.3.1 14.4.M.2 13.6.@.0 14.6.&.6.2 15.10.&.2.0 5.13.&.1.1 7.13.&.5.1 8.14.&.6.3 10.15.M.0 13.15.&.2.1 15.15.M.2 8.16.&.3.2 5.17.&.4.0 7.17.&.2.2 1.21.&.1.2 8.21.}.1.0.1.0.0.0 5.23.M.0 1.24.M.0 3.24.M.2 5.24.M.0 12.24.M.2 1.25.M.0 3.25.M.2 6.25.M.0 9.25.M.2 1.26.M.0 4.26.M.2 6.26.M.0 9.26.M.2 11.26.M.0 14.26.M.2 4.27.M.0 11.27.M.0 4.28.M.2 1.29.&.4.1 [end] [offset] 8A8C [level] 29 [colour] b5a7a2 [size] 16.31 [author] _Robbo 653924 [data] R.##..O.....O..! ......D..~.HO... ..OOO.O....OOO#. ..#.O.O...#D.... ....O.O....OOO.. HH..O.OOO....O.. %TH....%H....O.. OO..ODOOO....O.. ....H.....%.MO.. OOOOO..OOOOOOO.. ....&OO.....&O.. ....%O...OO.OO.. .OOOOOO...b.O... OO...O..OOO.O... TO...D#...O..... .O.OOO..O.OOO... .O.O.~.OO......M ...O...O........ OOOOOODOOOOOOOOO HHHTO....O'TTTT# HOOOO....OOO#T#T HOOM......MO.#T# HOOOO}...OOO#.'T HO..OOO.OO.#.#T# HO....O.O.###.## HO....O.O...O.O. HO....O.O...O.O. HOOOOOO.O...O.O. HHHHHHH.O...O.O. OOOOOOO.OOOOO.O. .....OO.......O. [additional] 7 12.8.M.2 4.10.&.1.0 12.10.&.1.1 15.16.M.2 3.21.M.0 10.21.M.2 5.22.}.3.0.2.0.0.0 [end] [offset] 8C8C [level] 30 [colour] b58887 [size] 16.31 [author] _Robbo 653924 [data] ..@--ooooooooooo ...&-o&o...o...o ...--o.o.&.o.&.o -----o.o.o.o.o.o oooo-o.o.o.o.o.o ?..o-o.&.o.&.o.o ?.&o-o...o...o&o ?..o-ooooooooooo oooo------------ ---------------- oooooooooooooooo &.o&..........D! .%oooooooDoooooo ooo}.}.}o......' R..'.'.'..ooooo. ooo}.}.}o....... oVooooooo.oooo.o ooooooooo......o ............oo.o o..ooooooo.ooo.o ................ .o.ooooo.oo.oooo .o.ooooo.oo..... ............ooo. ..oooooo.oo..... .........oo.oo.o ...ooooo.......o .........ooooo.o oo.ooooo.......o &D............b. oo.....ooooo.... [additional] 18 2.0.@.0 3.1.&.1.0 6.1.&.3.0 9.2.&.5.0 13.2.&.1.1 7.5.&.4.0 11.5.&.6.0 2.6.&.6.1 14.6.&.2.0 0.11.&.2.1 3.11.&.3.1 3.13.}.1.0.1.0.0.0 5.13.}.1.0.1.0.0.0 7.13.}.1.0.1.0.0.0 3.15.}.3.0.1.0.0.0 5.15.}.3.0.1.0.0.0 7.15.}.3.0.1.0.0.0 0.29.&.1.2 [end] [offset] 8E8C [level] 31 [colour] 7fca8c [size] 16.31 [author] _Robbo 653924 [data] ....p...pR...... .~......pppp!p~. ...pppp....ppp.. pppp%TH....pp... ...pppp.pp.pp... ..b.p...pp..p.p. ............p.p. .#..p.......#... ..pppp.pHp....Hp DppHHppp.pppppTp &p.....D.....pTp pp.pp.#p.....ppp ...'p..p........ .ppppp.p.pppppp. .HpTTp%p...ppT.. .HpHHppp..p..p.. .ppHHHHp.p....p. .ppppHHp........ ...pM..D.pppppp. .p.ppp.p....p?p. .......p....ppp. Dppppp}pppp.###. ..........p##.#. ..p....pb.p.#.#p ..pppp.p..p#%#.p ..p....p..pppppp .~....b........& ..pppp.p.ppp.p.. ..p.p..p.HT~.p#. ..ppp..p.ppp.p.. &............p.& [additional] 6 0.10.&.1.0 4.18.M.0 6.21.}.3.0.1.0.0.0 15.26.&.2.0 0.30.&.2.1 15.30.&.1.1 [end] [end] [end] [end] [end] [end] [end] [end] [end] [end] [end] [end] [end] [end] [end] [end] [end] gnurobbo-0.66+dfsg/data/levels/robbo3cs.dat0000644000175000017500000013102411324353351017651 0ustar stevestevethis levelset is from Robbo 3 CS made by Cejkasoft in 1991 [name] Robbo3CS [last_level] 56 [offset] 388C [level] 1 [colour] [size] 16.31 [author] Cejkasoft [data] QQQQQQQQQQQQQQQQ Q&M....T%T....MQ Q.M...........MQ Q'M...........MQ QQQQQQQHHHQQQQQQ QT....QHHHHHHHHQ Q....&QHHHHHHHHQ QQQQQQQQQQQQQHHQ QHHHHHHHHHHHHHHQ QHHHHHHHHHHHHHHQ QHHHQQQQQQQQQQQQ Q...b%b'b%b...RQ Q..#.#.#.#.#...Q Q..............Q Q..............Q Q..............Q Q}............}Q QH............HQ QHQQQQQ..QQQQQHQ QHQ...Q..Q...QHQ QHQ.T.Q..Q.T.QHQ QHQ...D..D...QHQ QHQQQQQDDQQQQQHQ QHQ...D..D...QHQ Q'Q.T.Q..Q.?.QHQ Q&Q...Q..Q...Q'Q QQQQQQQ..QQQQQQQ Q@..D.....bD..*Q Q.~.Q.bTTb.Q.&.Q Q..@Q!.....Q*..Q QQQQQQQQQQQQQQQQ [additional] 16 1.1.&.1.0 2.1.M.0 14.1.M.2 2.2.M.0 14.2.M.2 2.3.M.0 14.3.M.2 5.6.&.2.0 1.16.}.0.0.0.0.0.0 14.16.}.2.0.0.0.0.0 1.25.&.1.1 1.27.@.0 14.27.*.2 13.28.&.2.1 3.29.@.2 12.29.*.0 [end] [offset] 3A8C [level] 2 [colour] [size] 16.31 [author] Cejkasoft [data] OOOOOOOOOOOOOOOO O.&O...O&..O..!O O..O.T.O.T.O.T.O O.&O...O...O...O OOOOO&OOOOOOOHOO O..O...O...O&..O OT.O.T.O.T.O.T&O O.&O...O&.&O&%.O OOOOO&OOOOOOOHOO O.&O...O...O...O OT.O.T.O.T.O.T.O O.&O...O...D...O OOOOOOOODOOODOOO O.&O...O...O@..O OT.O.T.O.T.O.T.O O..O...D...O..%O OOOOOOOOHOOOOOOO O..O...O...O...O OT%O.T%O.T%O.T.O OHHHHHHHHHHHHHHO O*............@O O.....O.O.O....O O.....O.O.O....O O....?OTOTO?...O O.~...O.O.O..#.O O...}O..O..O...O O...O...O...O..O O@............*O OOODOOOOOOOOOOOO O&R....b.HTTTTTO OOOOOOOOOOOOOOOO [additional] 21 2.1.&.6.0 8.1.&.5.0 2.3.&.1.0 5.4.&.2.0 12.5.&.1.1 14.6.&.2.1 2.7.&.3.0 8.7.&.4.0 10.7.&.5.1 12.7.&.3.1 5.8.&.5.2 2.9.&.4.1 2.11.&.3.2 2.13.&.1.2 12.13.@.0 1.20.*.2 14.20.@.0 4.25.}.3.0.0.1.0.0 1.27.@.2 14.27.*.0 1.29.&.6.1 [end] [offset] 3C8C [level] 3 [colour] [size] 16.31 [author] Cejkasoft [data] PPPPPPPPPPPPPPPP P..&HHHHHHHH...P P..PPPPPPPPPP..P P.^^^.......P..P P..PPPPPPPPPP..P P..P..^^^.^^^..P P..PPPPPPPPPP.#P P........^^^P..P P..PPPPPPPPPP..P P..P^^.^^.^^...P P..PPPPPPPPPP.#P P.......^^^.P#.P P..PPPPPPPPPP..P P..P..^^^.^^.^.P P..PPPPPPPPPP.#P P......^^^..P#.P P..PPPPPPPPPP..P P..P.^^.^^.^^..P P..PPPPPPPPPP.#P P.....^^^...P#.P P..PPPPPPPPPP..P P..P.^.^^.^^.^.P P..PPPPPPPPPP#.P P....^^^....P..P P..PPPPPPPPPP#.P P..#^.^^.^^.^..P P..TTPPPPPPPP.#P P....^^^....P#'P PHHPPPPPPPPPP.#P PTTPR!.........P PPPPPPPPPPPPPPPP [additional] 58 3.1.&.1.0 2.3.^.2.0.0 3.3.^.2.0.0 4.3.^.2.0.0 6.5.^.0.0.0 7.5.^.0.0.0 8.5.^.0.0.0 10.5.^.0.0.0 11.5.^.0.0.0 12.5.^.0.0.0 9.7.^.2.0.0 10.7.^.2.0.0 11.7.^.2.0.0 4.9.^.0.0.0 5.9.^.0.0.0 7.9.^.0.0.0 8.9.^.0.0.0 10.9.^.0.0.0 11.9.^.0.0.0 8.11.^.2.0.0 9.11.^.2.0.0 10.11.^.2.0.0 6.13.^.0.0.0 7.13.^.0.0.0 8.13.^.0.0.0 10.13.^.0.0.0 11.13.^.0.0.0 13.13.^.0.0.0 7.15.^.2.0.0 8.15.^.2.0.0 9.15.^.2.0.0 5.17.^.0.0.0 6.17.^.0.0.0 8.17.^.0.0.0 9.17.^.0.0.0 11.17.^.0.0.0 12.17.^.0.0.0 6.19.^.2.0.0 7.19.^.2.0.0 8.19.^.2.0.0 5.21.^.0.0.0 7.21.^.0.0.0 8.21.^.0.0.0 10.21.^.0.0.0 11.21.^.0.0.0 13.21.^.0.0.0 5.23.^.2.0.0 6.23.^.2.0.0 7.23.^.2.0.0 4.25.^.0.0.0 6.25.^.0.0.0 7.25.^.0.0.0 9.25.^.0.0.0 10.25.^.0.0.0 12.25.^.0.0.0 5.27.^.2.0.0 6.27.^.2.0.0 7.27.^.2.0.0 [end] [offset] 3E8C [level] 4 [colour] [size] 16.31 [author] Cejkasoft [data] ''''''''!''''''' bbbbbbbb.bbbbbbb b......b.b.....b b......bbb.....b bbb....&.....bbb ................ ................ .##############. ###...V.'....### ###.......V..### .##############. ...............^ .######..######. ################ #..V...##...V..# ################ ^............... .######..######. ################ #..V...##...V..# ################ ...............^ .##############. ###..V.......### ###.......V..### .##############. ^............... #######.....#### #########.###### #TTTTT.####.TTTT ########R&###### [additional] 6 7.4.&.1.0 15.11.^.2.0.0 0.16.^.0.0.0 15.21.^.2.0.0 0.26.^.0.0.0 9.30.&.1.1 [end] [offset] 408C [level] 5 [colour] [size] 16.31 [author] Cejkasoft [data] oooooooooooooooo oT.##..}......Ro o..##.........}o o##b#.........}o o###..........}o o............^.M o..............o o...HHHHHHHH.#.o o..HHHHHHHHHH..o o..H.TH.THT.H..o o..HHHHH.H.HH..o o..HT.HT.H.TH..o o..HH.H.HHHHH..o o..H.TH.THT%H..o o..HHHHHHHHH.#.o o.........#....o o~~~.bbbbbbb.~~o o..............o o..oDoooooooo#.o o..o.....ToTo..o o..o..b.To.To..o o..o.T~To...o..o o..oDoooo...o..o o..o...%DDo*o..o o..ooooooo.oo..o o..b.b.b.b.b.b.o o.b.b.b.b.b.b..o oDDD.......####o oDDD.......####o oTDD.......##!#o oooooooooooooooo [additional] 7 7.1.}.1.0.1.0.0.0 14.2.}.2.0.0.0.0.0 14.3.}.2.0.0.0.0.0 14.4.}.2.0.0.0.0.0 13.5.^.2.1.1 15.5.M.2 11.23.*.0 [end] [offset] 428C [level] 6 [colour] [size] 16.31 [author] Cejkasoft [data] QQQQQQQQQQQQQQQQ QT...........R!Q QM.......QQQQQQQ Q...~....D....}Q Q........QQT..&Q Q..}..b..TQQ...Q Q..QQ.....TQT%*Q Q..QQQTTQQDTQQQQ Q.....QQ..Q.%Q.Q Q.......b.Q.TQ.Q Q.QQQ.....QQQQ.Q Q.Q&.Q.........Q Q.Q&..Q.QQQQ...Q Q.Q%TTQQQT.QQ..Q Q.Q*.......TQQ.Q Q.QT.QQQQQQD...Q Q.QQQT..~*bQ...Q Q.Q........Q...Q Q.Q...TQQ.TQ...Q Q..DQQQQQTQQ...Q Q..Q&....QQ....Q Q..Q......D..Q.Q Q..QQTQQQQQ..Q.Q Q..TQQQ..QQ..Q.Q Q...D*..TQ...Q.Q Q...Q...QQ....&Q Q...Q...QQQTQ..Q Q..QQ.....QQQQTQ Q..QT.QQQ&...QQQ Q..TQ*........TQ QQQQQQQQQQQQQQQQ [additional] 14 1.2.M.0 14.3.}.2.0.0.0.0.0 14.4.&.1.0 3.5.}.3.0.1.0.0.0 14.6.*.0 3.11.&.2.0 3.12.&.1.1 3.14.*.0 9.16.*.2 4.20.&.2.1 5.24.*.2 14.25.&.2.2 9.28.&.1.2 5.29.*.0 [end] [offset] 448C [level] 7 [colour] [size] 16.31 [author] Cejkasoft [data] oooooooooooooooo o'Ro^^^^^o^^^}}o oH#o.....o.....M oHHo..o..o..o..o oHHo..o..o..o..o o'Ho..o..o..o..o oHHo..o..o..o..o oHHo..o..o..o..o oHHo..o..o..o..o oHHo..o..o..o..o oHHo..o..o..o..o oHHo..o..o..o..o oHHo..o..o..o..o o'Ho..o..o..o..o oHHo..o..o..o..o oHHo..o..o..o..o oHHo..o..o..o..o o'Ho..o..o..o..o oHHo..o..o..o..o oHHo..o..o..o..o oHHo..o..o..o..o oHHo..o..o..o..o oHHo..o..o..o..o oHHo..o..o..o..o oHHo..o..o..o..o oHHo..o..o..o..o oHHo..o..o..o..o oH'o..o..o..o..o oHH...o.....o..o oHH^^^o^^^^^o!To oooooooooooooooo [additional] 19 4.1.^.1.0.0 5.1.^.1.0.0 6.1.^.1.0.0 7.1.^.1.0.0 8.1.^.1.0.0 10.1.^.1.0.0 11.1.^.1.0.0 12.1.^.1.0.0 13.1.}.1.0.2.0.0.0 14.1.}.1.0.2.0.0.0 15.2.M.2 3.29.^.3.0.0 4.29.^.3.0.0 5.29.^.3.0.0 7.29.^.3.0.0 8.29.^.3.0.0 9.29.^.3.0.0 10.29.^.3.0.0 11.29.^.3.0.0 [end] [offset] 468C [level] 8 [colour] [size] 16.31 [author] Cejkasoft [data] QQQQQQQQQQQQQQQQ Q%}}}}}}}}}}RD'Q Q............##Q Q..............Q QQQQQQQQQQQQQQHQ Q.}}}}}}}}}}}}.Q Q..............Q Q..............Q QHQQQQQQQQQQQQQQ Q..............Q Q..}.}.}.}.}.}.Q Q..............Q QQQQQQQQQQQQQQHQ Q.}}}}}}}}}}}}.Q Q..............Q Q..............Q QHQQQQQQQQQQQQQQ Q..^^..........M Q....^^........Q Q......^^......Q Q........^^....Q Q..........^^..Q Q............^^Q Q..............Q QQQQQQQQQQQQQQbQ QbbbbbbbbbbQb..Q Qb#b#b#b#T#b...Q Qb........~...bQ Qb##b#b#T####b#Q Qbbbbbbbbbbbb!bQ QQQQQQQQQQQQQQQQ [additional] 53 2.1.}.1.0.1.0.0.0 3.1.}.1.0.1.0.0.0 4.1.}.1.0.1.0.0.0 5.1.}.1.0.1.0.0.0 6.1.}.1.0.1.0.0.0 7.1.}.1.0.1.0.0.0 8.1.}.1.0.1.0.0.0 9.1.}.1.0.1.0.0.0 10.1.}.1.0.1.0.0.0 11.1.}.1.0.1.0.0.0 2.5.}.1.0.1.0.0.0 3.5.}.1.0.1.0.0.0 4.5.}.1.0.1.0.0.0 5.5.}.1.0.1.0.0.0 6.5.}.1.0.1.0.0.0 7.5.}.1.0.1.0.0.0 8.5.}.1.0.1.0.0.0 9.5.}.1.0.1.0.0.0 10.5.}.1.0.1.0.0.0 11.5.}.1.0.1.0.0.0 12.5.}.1.0.1.0.0.0 13.5.}.1.0.1.0.0.0 3.10.}.0.0.0.0.1.1 5.10.}.0.0.0.0.1.1 7.10.}.0.0.0.0.1.1 9.10.}.0.0.0.0.1.1 11.10.}.0.0.0.0.1.1 13.10.}.0.0.0.0.1.1 2.13.}.1.0.1.0.0.0 3.13.}.1.0.1.0.0.0 4.13.}.1.0.1.0.0.0 5.13.}.1.0.1.0.0.0 6.13.}.1.0.1.0.0.0 7.13.}.1.0.1.0.0.0 8.13.}.1.0.1.0.0.0 9.13.}.1.0.1.0.0.0 10.13.}.1.0.1.0.0.0 11.13.}.1.0.1.0.0.0 12.13.}.1.0.1.0.0.0 13.13.}.1.0.1.0.0.0 3.17.^.3.0.0 4.17.^.3.0.0 15.17.M.2 5.18.^.3.0.0 6.18.^.3.0.0 7.19.^.3.0.0 8.19.^.3.0.0 9.20.^.3.0.0 10.20.^.3.0.0 11.21.^.3.0.0 12.21.^.3.0.0 13.22.^.3.0.0 14.22.^.3.0.0 [end] [offset] 488C [level] 9 [colour] [size] 16.31 [author] Cejkasoft [data] ssssssssssssssss sR......'......s s.%^...........M s..............H sssssssssssssssH s..............H M...........^b.s H.......'......s Dsssssssssssssss H..............s s.%^..........^M s..............H sssssssssssssssH s..............H s..T........T..s s..T*..%@...T*.s s.*T...@%..*T..s s..T........T..s s.............&s ssssssssssssssss .s.............. .~.............. .~.....b.b...!.. &ss.ss.sss.sssbs .....b...b...b.b sssb.sss.ss.ss.b b.b....b..b..b.b sss.bsssssssDsss sss..sTT.TTsDsss TD#.bsssDsssD#DT sss..D.....D.sss [additional] 15 3.2.^.0.0.0 15.2.M.2 0.6.M.0 12.6.^.2.0.0 3.10.^.0.0.0 14.10.^.2.0.0 15.10.M.2 4.15.*.1 8.15.@.2 13.15.*.1 2.16.*.3 7.16.@.0 11.16.*.3 14.18.&.1.0 0.23.&.1.1 [end] [offset] 4A8C [level] 10 [colour] [size] 16.31 [author] Cejkasoft [data] T%%%%T.oo.TTTTTT oooooo@oo*oooooo .......oo....... @oooooooooooooo* .......oo....... oooooo.oo.oooooo .......oo....... DooooooooooooooD .......oo....... .oooooooooooooo. .o.....oo.....o. .o.oooDooDooo.o. .o.o...oo...o.o. .o.o.oooooo.o.o. .D.o.DH%%HD.o.D. oooooo'R.?oooooo .D.o.DH%%HD.o.D. .o.o.oooooo.o.o. .o.o...oo...o.o. .o.oooDooDooo.o. .o.....oo.....o. .oooooooooooooo. .......oo....... DooooooooooooooD .o...oT!#To...o. .o*o.o%oo%o@o.o. .o...o%oo%o...o. .o.o.o%oo%o.o.o. .o.o.o%oo%o.o.o. .o.o.oTooTo.o.o. ...o...oo...o... [additional] 6 6.1.@.1 9.1.*.3 0.3.@.1 15.3.*.3 2.25.*.3 11.25.@.1 [end] [offset] 4C8C [level] 11 [colour] [size] 16.31 [author] Cejkasoft [data] PPPPPPPPPPPPPPPP P.............%P P.bbbbbbbbbbbbbP P.bHbHbbHHHHH}bP P.bHb###bHHHH}bP P.bbb#T#bb!HH}bP P.bHb###bHHHH}bP P.bHbHbbHHHHH}bP P.bbbbbbbbbbbbbP P.............RP PPPPPPPPPPPPPPDP PH..#...#.#.#.#P PH.#..%#.#...#.P P..PPPPPPPPPPPPP P..PM...T%T...MP P..PM..........P P#.P}..........P P.#PPPPPPPPPPDPP P...#...#...#..P P.....H...H....P PPPPPPPPPPPPPPDP P..............P PTTTTTTTTTTTTT.P P}...........T.P P..T.T.T.T.T.T.P P}...........T.P P..T.T.T.T.T.T.P P}...........T.P P..T.T.T.T.T.T.P P.}.}.}.}.}.}T.P PPPPPPPPPPPPPPPP [additional] 18 13.3.}.2.0.1.0.0.0 13.4.}.2.0.1.0.0.0 13.5.}.2.0.1.0.0.0 13.6.}.2.0.1.0.0.0 13.7.}.2.0.1.0.0.0 4.14.M.0 14.14.M.2 4.15.M.0 4.16.}.0.0.2.0.0.0 1.23.}.0.0.1.0.0.0 1.25.}.0.0.1.0.0.0 1.27.}.0.0.1.0.0.0 2.29.}.3.0.1.0.0.0 4.29.}.3.0.2.0.0.0 6.29.}.3.0.2.0.0.0 8.29.}.3.0.2.0.0.0 10.29.}.3.0.2.0.0.0 12.29.}.3.0.1.0.0.0 [end] [offset] 4E8C [level] 12 [colour] [size] 16.31 [author] Cejkasoft [data] .....!..#..%...R O%O%O%O%O%O%O%O% ODO%O%O%D%O%O%OD ODO%O%O%O%O%O%OD ODO.O.O.O.O.O.OD ODOVOVOVOVOVOVOD ODOVOVOVOVOVOVOD ODO%OVOVOVOVO%OD ODO%O.O.O.O.O%OD ODD%O%O%O%O%O%DD ODOD%D%D%D%D%DOD ODODOTOTOTOTODOD OTO.OOOOOOOOO.OT O.D%O%O%O%O%O%D. ODOOODODODODODOD ................ DODODODODODODODO 'O'O'O'O'O'O'O'O .O.O.O.O.O.O.O.O .O.O.O.O.O.O.O.O .O.O.O.O.O.O.O.O .O.O.O.O.O.O.O.O .O.O.O.O.O.O.O.O .O.O.O.O.O.O.O.O .O.O.O.O.O.O.O.O .O.O.O.O.O.O.O.O .O..%D%D%D%D%..O OOODOOOOOOOOOOOO %D%D%D%D%D%D%D%O OOOOOOOOOOOOOODO TDTDDD.D%D%D%D%O [additional] 0 [end] [offset] 508C [level] 13 [colour] [size] 16.31 [author] Cejkasoft [data] ...........''''R ................ ................ ................ ................ ................ ................ ................ ................ ................ ......@@@@...... ......@TT@...... ......@TT@...... ......@TT@...... ......@TT@...... ......@TT@...... ......@TT@...... ......@@@@...... ................ ......@@@@...... ......@TT@...... ......@@@@...... ................ ................ ................ ................ ................ ................ ................ ................ !............... [additional] 30 6.10.@.2 7.10.@.2 8.10.@.2 9.10.@.2 6.11.@.2 9.11.@.2 6.12.@.2 9.12.@.2 6.13.@.2 9.13.@.2 6.14.@.2 9.14.@.2 6.15.@.2 9.15.@.2 6.16.@.2 9.16.@.2 6.17.@.0 7.17.@.0 8.17.@.0 9.17.@.0 6.19.@.2 7.19.@.2 8.19.@.2 9.19.@.2 6.20.@.2 9.20.@.2 6.21.@.0 7.21.@.0 8.21.@.0 9.21.@.0 [end] [offset] 528C [level] 14 [colour] [size] 16.31 [author] Cejkasoft [data] ............^... HHHHHHH.HHHHHHHH T.T..TH.QT..T..T HHHHHHH.QQQQQQQQ ................ M..............M }..............} }..............} ........?....... ................ .......*#....... ........#....... ......*#b#*..... ....@##b!b##@... ......*#b#*..... ........#*...... ................ QDQQQQQQQQQQQQQD Q%Q%....Q....%Q' Q#QTQTQ.D.QTQTQ# Q.QQQQQDQDQQQQQ. Q.bTQTQ.D.QTQTb. Q.Q%....Q....%Q. Q.QDQQQQQQQQQQQ. Q.......b....... Q..............R Q..@TT.TT.TT*..Q Q...TT.TT.TT...Q Q~............~Q Q..............Q QQQQQQQQQQQQQQQQ [additional] 17 12.0.^.0.1.1 0.5.M.0 15.5.M.2 0.6.}.0.0.2.0.0.0 15.6.}.2.0.2.0.0.0 0.7.}.0.0.2.0.0.0 15.7.}.2.0.2.0.0.0 7.10.*.3 6.12.*.0 10.12.*.0 4.13.@.1 12.13.@.3 6.14.*.2 10.14.*.2 9.15.*.2 3.26.@.1 12.26.*.1 [end] [offset] 548C [level] 15 [colour] [size] 16.31 [author] Cejkasoft [data] OOOOOOOOOOOOOOOO O.............RO O.~b..b.b.b.b..O O..b.b.b.b..b..O OOOO.OOOOOO.OOOO O###D......D###O O.##O..%~..O##.O OT.#O......O#.TO OOOOOOOOOODOOOOO OT..O......O...O O..b..b~~~.D.~%O OT..O.....#O...O OOOOOOOOOODOOOOO O@%.OT...##O@%.O O.T.D.bbb.bO.T.O O...O%b.b#~D...O OODOOOOODOOOODOO O^...b..'..bHHHO O.bOOOOOOOOOOOOO O....H###H.....O OOOOOOOOOOOODDOO O..........#~~bO O......@...#.bbO O.....OO...#bbbO O.....@....####O O..........####O O^............^O O^............^O O..............O O!^^.........^^O OOOOOOOOOOOOOOOO [additional] 13 1.13.@.0 12.13.@.0 1.17.^.1.0.0 7.22.@.2 6.24.@.0 1.26.^.0.0.0 14.26.^.2.0.0 1.27.^.0.0.0 14.27.^.2.0.0 2.29.^.3.0.0 3.29.^.3.0.0 13.29.^.3.0.0 14.29.^.3.0.0 [end] [offset] 568C [level] 16 [colour] [size] 16.31 [author] Cejkasoft [data] pppppppppppppppp p.&.%.&^..&.%.Rp pppppppppppppppp p..%.&..^&.%.&.p pppppppppppppppp p.&.%.&^..&.%..p pppppppppppppppp p..%.&..^&.%.&.p pDpppppppppppppp p.............}p pppppppppppDpppp p}.............p pppDpppppppppppp p}.............p pppppppppppppDpp p}.............p pppDpppppppppppp p}.............p pppppppppppppDpp p%.*T.T.T.T.pDpp p..T.T.T.T..D.Dp p%..T.T.T.T..p.p ppppppppppppDp.p p#.#^#.#^#.#.p.p p#.#.#.#.#.#.p.p p#.#.#.#.#.#.p.p p#.#.#.#.#.#.p.p p#.#.#.#.#.#.p.p p..#.#.#.#.#.p.p p!^#.#^#.#^#.p'p pppppppppppppppp [additional] 27 2.1.&.2.0 6.1.&.2.1 7.1.^.0.0.0 10.1.&.2.2 5.3.&.2.3 8.3.^.2.0.0 9.3.&.2.4 13.3.&.2.5 2.5.&.2.6 6.5.&.2.7 7.5.^.0.0.0 10.5.&.2.8 5.7.&.2.9 8.7.^.2.0.0 9.7.&.2.10 13.7.&.2.11 14.9.}.2.0.0.0.0.0 1.11.}.0.0.1.0.0.0 1.13.}.0.0.1.0.0.0 1.15.}.0.0.1.0.0.0 1.17.}.0.0.1.0.0.0 3.19.*.0 4.23.^.1.0.0 8.23.^.1.0.0 2.29.^.3.0.0 6.29.^.3.0.0 10.29.^.3.0.0 [end] [offset] 588C [level] 17 [colour] [size] 16.31 [author] Cejkasoft [data] s!TTTTTTTTTTTTTs ss##ssssssss##ss s##%###&.###b##s s###s######s###s s####ss##ss####s s##############s s..............s s...bbbbbbbb...s s..............s s..............s s......R&......s s.....'##'.....s s....##TT##....s #..##TT##TT##..# ###TTssTTssTT### #TT##TTssTT##TT# ###TTssTTssTT### #..##TT##TT##..# s....##TT##....s s@.....##.....*s sssssssssDssssss sT^^...Ts.Hs}.^s sT.....Ts.~s.s.s sT.....Ts.Hs...s sT.....Ts.Hs.s.s sT.....Ts.Hs.s.s sT.....TsHHH.s.s sT...^^TsHHH%s.s sss.ssssssssss.s s.....^#D..T...s ssssssssssssssss [additional] 11 7.2.&.1.0 8.10.&.1.1 1.19.@.2 14.19.*.0 2.21.^.1.0.0 3.21.^.1.0.0 12.21.}.1.0.2.0.0.0 14.21.^.1.0.0 5.27.^.3.0.0 6.27.^.3.0.0 6.29.^.2.0.0 [end] [offset] 5A8C [level] 18 [colour] [size] 16.31 [author] Cejkasoft [data] oooooooooooooooo o......D.D.....o ooDoDoooDo.ooo.o o......o^o...o.o o.%~.%.o.o.~.o.o o......o.oDooo.o ooooDooo.o...o.o o......o.o.~...o o.b..#.o.ooooo.o o......o.o.....o ooooDooo.o.....o o......o.o.....o o.b..#.o.o..b..o o......o.o.....o ooooDooo.oTT...o o......oToTT?}}o o.bb.b.oTooooTTo o......oTo..oTTo ooooDoooooR~oooo o.~.~.~o.......o o..~.b.o..~~~..o o.~.~.~o.!.....o o..~...o..~~~..o ooDooooo.......o M.%TT%.Moo~~~ooo o.TTTT.oM......M o.TTTT.oo......o M......MM......M o..............o o..............o oooooooooooooooo [additional] 11 8.3.^.1.0.0 13.15.}.3.0.1.0.0.0 14.15.}.3.0.1.0.0.0 0.24.M.0 7.24.M.2 8.25.M.0 15.25.M.2 0.27.M.0 7.27.M.2 8.27.M.0 15.27.M.2 [end] [offset] 5C8C [level] 19 [colour] [size] 16.31 [author] Cejkasoft [data] QQQQQQQQQQQQQQQQ Q%%%%Q%%%%Q@H%!Q QTTTTQTTTTQH*H@Q Q????Q????Q*H@HQ Q....Q....QH@H*Q QHHHHQHH'HQ@H*HQ QHHHHQH'HHQH*H@Q Q....Q....Q*H@HQ Q....Q....QH@H*Q QQQDQQQQDQQQQDQQ QHHHbQ%H.HQHHHHQ QHbHHQH.H.QHVHHQ QHHHbQ.H.HQHQHHQ QbHHHQH.H.QHHHHQ QHHbHQ.H.HQHHHHQ Q.VV.QH.H.QHHVHQ QHHHHQ.H.HQHHQHQ Q....QH.H.Q....Q QQDQQQQDQQQQDQQQ QHHHbQH.H%Q..HHQ QHbHHQ.H.HQ..HHQ QHHHbQH.H.QHH..Q QbHHHQ.H.HQHH..Q QHHbHQH.H.Q..HHQ QHHHHQ.H.HQ..HHQ Q..}.Q..}.Q..}.Q Q....Q....Q....Q QQQDQQQQDQQQQDQQ QR%%%Q....Q...%Q QDQQDQDQQDQDQQDQ QTTQTDTTQTDTTQTQ [additional] 18 11.1.@.2 12.2.*.0 14.2.@.2 11.3.*.0 13.3.@.2 12.4.@.2 14.4.*.0 11.5.@.2 13.5.*.0 12.6.*.0 14.6.@.2 11.7.*.0 13.7.@.2 12.8.@.2 14.8.*.0 3.25.}.3.0.0.1.0.0 8.25.}.3.0.0.1.0.0 13.25.}.3.0.0.1.0.0 [end] [offset] 5E8C [level] 20 [colour] [size] 16.31 [author] Cejkasoft [data] s.....TTTTT....s s}.....TTT....}s s...b..TTT..~..s s###........###s sssDssssDsssDsss s..***.s.s%...%s s......s.s.....s s..TT.*s.s..R..s s*.TT..s.s..!..s s......s.s.....s s.***..D.D%...Ts ssssssss.sssssss s..............s s..............s s..##########..s s..............s sssssssDDDssssss s..............s s.....TssT.....s s.....sVVs.....s s.....TssT.....s s......TT......s s..s.TssssT....s s...ss.@.@ss...s s....s@.@.ss...s s....ssssssT...s s....T.*..T*...s s...ss*..*ss...s s...TT....TT*..s s.........*....s ssssssssssssssss [additional] 20 1.1.}.0.0.2.0.0.0 14.1.}.2.0.2.0.0.0 3.5.*.2 4.5.*.2 5.5.*.2 6.7.*.3 1.8.*.1 2.10.*.0 3.10.*.0 4.10.*.0 7.23.@.0 9.23.@.0 6.24.@.2 8.24.@.2 7.26.*.2 11.26.*.0 6.27.*.1 9.27.*.3 12.28.*.1 10.29.*.0 [end] [offset] 608C [level] 21 [colour] [size] 16.31 [author] Cejkasoft [data] OOOOOOOOOOOOOOOO OT.T...%%...T.TO M......^^......M O....O....O....O O...OVO..OVO...O O....O....O....O O..............O O..............O OODOOOOOOOOOODOO O#....#bObb...bO O.b..##ObR.b.%bO Ob...~#bOb..b.bO O.b...#Ob.b.b.bO OOODOOObObObObOO OOODOObObObObObO O&%.~##########O OOOOOTTTTTTTTTTO O*..OOOOOOOOOODO O.!.O..........O O..*O..........O OODOO.@O@O@O@O.O O###O.OTO%OTO%.O O##bO..........O O#b#O..........O Ob##ODOOOOOOOOOO O#b.b.~.b.b.b.bO Ob.b.b.b.b.b.b#O O#b.b.b.b.b.b.bO ODOOOOOOOOOOOOOO O........TTTTT&O OOOOOOOOOOOOOOOO [additional] 12 0.2.M.0 7.2.^.2.1.1 8.2.^.0.1.1 15.2.M.2 1.15.&.1.0 1.17.*.2 3.19.*.0 6.20.@.2 8.20.@.2 10.20.@.2 12.20.@.2 14.29.&.1.1 [end] [offset] 628C [level] 22 [colour] [size] 16.31 [author] Cejkasoft [data] &.R.&.ssss.&...& ssssssssssssssss sTTTTTTTTTTTTTTs s##############s sHHHHHHHHHHHHHHs sHHHbHHHbbbHHHHs sHHHbHHHbHbHHHHs sHHHbHHHbbbHHHHs sHHHbHHHHHbHHHHs sHHHbHbHbbbHbHHs sHHHHHHHHHHHHHHs s##############s sHHHHHHHHHHHHHHs sHHbHbbbHbbbHbHs sHHbHbHbHbHbHbHs sHHbHbbbHbbbHbHs sHHbHHHbHHHbHbHs sHHbHbbbHbbbHbHs sHHHHHHHHHHHHHHs s##############s ssssssssDsssssss s......@b#b#b##s s.#######b#b#b#s s.sssssssssssb#s s.s.b.b..b.'&#bs s.s&.....b..&#bs s.sssss..ssssb#s s.########b#b##s s........b#b###s ssssssssssssssss &...&.ssss.&.!.& [additional] 12 0.0.&.1.0 4.0.&.1.1 11.0.&.1.2 15.0.&.1.3 7.21.@.2 12.24.&.1.4 3.25.&.1.5 12.25.&.1.6 0.30.&.1.7 4.30.&.1.8 11.30.&.1.9 15.30.&.1.10 [end] [offset] 648C [level] 23 [colour] [size] 16.31 [author] Cejkasoft [data] pppppppppppppppp p*..p..pp..p*..p p.T.D......D.T.p p..*p......p..*p ppppp......Mpppp p...D......D...p p...p......p...p p.T.p..%R..p.T.p p*%*ppppppDp*T*p p.T.p......p.T.p p...p..''..p...p p...p......p...p ppppDH....Hppppp ...TD#ppppHp!HHT ..HHpHHHHHHpHH.H pDpppH%..%HpppDp p...pppppppp...p p...p%TTTT%p...p p...pT*..*Tp...p p...pT....Tp...p p...pT....Tp...p p...pT*..*Tp...p p...p%TTTT%p...p p...pppppDpp...p p..............p p....^^^^^^....p p..............p p...b.b..b.b...p p..............p p..............p pppppppppppppppp [additional] 19 1.1.*.2 12.1.*.2 3.3.*.0 14.3.*.0 11.4.M.2 1.8.*.3 3.8.*.3 12.8.*.3 14.8.*.3 6.18.*.2 9.18.*.2 6.21.*.0 9.21.*.0 5.25.^.2.0.0 6.25.^.2.0.0 7.25.^.2.0.0 8.25.^.0.0.0 9.25.^.0.0.0 10.25.^.0.0.0 [end] [offset] 668C [level] 24 [colour] [size] 16.31 [author] Cejkasoft [data] OOOOOOOOOOOOOO&. O!D.....'....OD% OOO...........OO O..............O O......@.@.....O O.....TTTTT....O O....@TTTTT@...O O.....TT%TT....O O....@TTTTT@...O O.....TTTTT....O O.....@.@.@....O O..............O O..............O O.............O. O&...........OD& &OOOOOOOOOOOOO.. %Ob#b......T?T.. #bOb#......TTT.. O#bOb#.......... Ob#bOb#......... O#b#bOb#........ O#..#bOb#....... T#..b#bOb#..R~.. O#.bb.#bOb#..... T#b....#bOb#.... O#.....b#bOb#... T#....b..#bOb#.. O#...b....#bOb#. T#..b......#bOb. O#.b........#bO. T#b............& [additional] 14 14.0.&.1.0 7.4.@.2 9.4.@.2 5.6.@.1 11.6.@.3 5.8.@.1 11.8.@.3 6.10.@.0 8.10.@.0 10.10.@.0 1.14.&.2.0 15.14.&.1.1 0.15.&.2.1 15.30.&.1.2 [end] [offset] 688C [level] 25 [colour] [size] 16.31 [author] Cejkasoft [data] &.....TOOT.....& ...OOOOOOOOOO... ..O..........O.. .O.....OO.....O. .O..T@.OO..T..O. .O...T@...T@..O. .O....T@.T@...O. .O.OO..TT@.OO.O. .O.OO..TT..OO.O. .O....T.@T....O. .O...T...@T...O. .O..T..OO.@T..O. .O.T...OO...T.O. .M............M. TO..#......#..OT O&..#.R..!.#..&O 'O..#......#..O' .M............M. .O.T...OO...T.O. .O..T@.OO..T..O. .O...T@...T@..O. .O....T@.T@...O. .O.OO..TT@.OO.O. .O.OO..TT..OO.O. .O....T.@T....O. .O...T...@T...O. .O..T..OO.@T..O. .O.....OO.....O. ..O..........O.. ...OOOOOOOOOO... &.....TOOT.....& [additional] 28 0.0.&.2.0 15.0.&.1.0 5.4.@.2 6.5.@.2 11.5.@.0 7.6.@.2 10.6.@.0 9.7.@.0 8.9.@.0 9.10.@.0 10.11.@.0 1.13.M.0 14.13.M.2 1.15.&.1.1 14.15.&.2.1 1.17.M.0 14.17.M.2 5.19.@.2 6.20.@.2 11.20.@.0 7.21.@.2 10.21.@.0 9.22.@.0 8.24.@.0 9.25.@.0 10.26.@.0 0.30.&.1.2 15.30.&.2.2 [end] [offset] 6A8C [level] 26 [colour] [size] 16.31 [author] Cejkasoft [data] PPPPPPPPPPPPPP.. P......T......P. P.PPPPPPPPPP...P P.P....T....P..P P.P.PPPPPP...P.P P.P.PTTT%%P..P.P P.P.PT..!%%P.P.P P.P.PT.??.%P.P.P P.P.PT.??.%P.P.P P.P.P.....#P.P.P P.P.PR.....D.P.P P.P.PPPPPPPPP..P P.P....T....D..P P.PPPPPPPPPPPPP. P......T......D. PPPPPPPPPPPPPPD' P.....@T@.....D. P.PPPPPPPPPPPPP. P.P...@T@...D.@P P.P.PPPPPPPPP..P P.P.P..T..D..P.P P.P.P..T...P.P.P P.P.P..T...P.P.P P.P.P..T...P.P.P P.P.P..T...P.P.P P.P.P@@T..P..P.P P.P.PPPPPP...P.P P.P...@T@...P..P P.PPPPPPPPPP...P P.....@T@.....P. PPPPPPPPPPPPPP.. [additional] 11 6.16.@.2 8.16.@.2 6.18.@.2 8.18.@.2 14.18.@.0 5.25.@.2 6.25.@.2 6.27.@.2 8.27.@.2 6.29.@.2 8.29.@.2 [end] [offset] 6C8C [level] 27 [colour] [size] 16.31 [author] Cejkasoft [data] ......*T*....... .QQQQQQQQQQQQ... .Q....*T*....Q.. .Q.QQQQQQQQ...Q. .Q.Q..*T*..Q..Q. .Q.Q.QQQQ...Q.Q. .Q.Q.Q*T.Q..Q.Q. .Q.Q.Q*T..Q.Q.Q. .Q.Q.Q.T..Q.Q.Q. .Q.Q.Q.T.Q..Q.Q. .Q.Q.Q.TD..Q..Q. TQ.Q.QQQQQQ...Q. .Q.Q..*T*....Q.. .Q.QQQQQQQQQQ... *Q....*T*....D*D QQQQQQQQQQQQQDTQ *Q....*T*....D*D .Q.QQQQQQQQQQ... .Q.Q..*T*....Q.. TQ.Q.QQQQQQ...Q. .Q.Q.Q%%D..Q..Q. .Q.Q.Q%%'QH.Q.Q. .Q.Q.Q.HHHQ.Q.Q. .Q.Q.Q'HH!Q.Q.Q. .Q.Q.Q'R.Q..Q.Q. .Q.Q.QQQQ...Q.Q. .Q.Q..*T*..Q..Q. .Q.QQQQQQQQ...Q. .Q....*T*....Q.. .QQQQQQQQQQQQ... ......*T*....... [additional] 26 6.0.*.0 8.0.*.0 6.2.*.0 8.2.*.0 6.4.*.0 8.4.*.0 6.6.*.0 6.7.*.2 6.12.*.0 8.12.*.0 0.14.*.0 6.14.*.0 8.14.*.0 14.14.*.0 0.16.*.2 6.16.*.0 8.16.*.0 14.16.*.2 6.18.*.0 8.18.*.0 6.26.*.0 8.26.*.0 6.28.*.0 8.28.*.0 6.30.*.0 8.30.*.0 [end] [offset] 6E8C [level] 28 [colour] [size] 16.31 [author] Cejkasoft [data] pppppppppppppppp pT..%%%T&T....Tp p.pppppppppppp.p p.pT....p...Tp.p p.p.pppDpDpp.p.p p.p.pT..p.Tp.p.p p.p.p.pppp.p.p.p p.p.p.pR!p.p.p.p p.p.p.p%%p.p.p.p p.p.p.p##p.p.p.p p.p.p.p..p.p.p.p p.p.p.p.#p.p.p.p p.p.p.p..p.p.p.p p.p.p.p.#p.p.p.p p.p.p.p..p.p.p.p p.p.p.p#.p.p.p.p p.p.p.p..p.p.p.p p.p.p.p..p.p.p.p p.p.p.p##p.p.p.p p.p.p.p..p.p.p.p p.p.p.p#.D.p.p.p p.p.p.p..p.p.p.p p.p.p.p..p.p.p.p p.p.p.p.%p.p.p.p p.p.p.pDpp.p.p.p p.p.pT..p.*p.p.p p.p.pppppppp.p.p p.pT....p...Tp.p p.pppppDpDpppp.p pT.....TpT....Tp pppppppppppppppp [additional] 2 8.1.&.1.0 10.25.*.0 [end] [offset] 708C [level] 29 [colour] [size] 16.31 [author] Cejkasoft [data] OOOOOOOOOOOOOOOO O.......O......O O...*...O...*..O O..TT..OO..TT..O O..*...O...*...O O......O.......O ODOOOOOODOOOOO}O ...O........O}.} .%.O...@.@..O... .%.O..TTTT@.O... .b.O..TTTT..O... .b.O........O... .b.O........O... .b.OOOOOOOOOO... .~.O........D..% .R.D.%TTT!%.D... .~.O........D..% .~.OOOOOOOOOO... .~.O........O... .~.O...@.@..O... .~.O..TTTT@.O... .~.O..T'T'..O... .%.O........O... ...O........O}.} ODOOOOODOOOOOO}O O.......O......O O...*...O...*..O O..TT..OO..TT..O O..*...O...*...O O......O.......O OOOOOOOOOOOOOOOO [additional] 20 4.2.*.0 12.2.*.0 3.4.*.2 11.4.*.2 14.6.}.1.0.2.0.0.0 13.7.}.1.0.2.0.0.0 15.7.}.1.0.2.0.0.0 7.8.@.2 9.8.@.2 10.9.@.3 7.19.@.2 9.19.@.2 10.20.@.3 13.23.}.3.0.2.0.0.0 15.23.}.3.0.2.0.0.0 14.24.}.3.0.2.0.0.0 4.26.*.0 12.26.*.0 3.28.*.2 11.28.*.2 [end] [offset] 728C [level] 30 [colour] [size] 16.31 [author] Cejkasoft [data] T......@@......T ...QQQQQQQQQQ... ..Q....@@....Q.. .Q..TQQQQQQT..Q. .Q.TQ..@@..QT.Q. ...Q...QQ...Q.Q. QQQQ..Q..Q..Q.Q. T....Q.TT.Q@Q.Q. T....Q}...Q@Q.Q. T}....Q..Q..Q.Q. T......QD...Q.Q' QQQQQQQQ...Q..Q. %@@.......D...Q. QQQQQQQQQQ...Q.. %@@.........Q... QQQQQQQQQQQQ!..R %@@.........Q... QQQQQQQQQQ...Q.. %@@.......D...Q. QQQQQQQQ...Q..Q' T......QD...Q.Q. T}....Q..Q..Q.Q. T....Q.TT.Q@Q.Q. T....Q}...Q@Q.Q. QQQQ..Q..Q..Q.Q. ...Q...QQ...Q.Q. .Q.TQ..@@..QT.Q. .Q..TQQQQQQT..Q. ..Q....@@....Q.. ...QQQQQQQQQQ... T......@@......T [additional] 28 7.0.@.2 8.0.@.2 7.2.@.2 8.2.@.2 7.4.@.2 8.4.@.2 11.7.@.2 6.8.}.3.0.0.1.0.0 11.8.@.0 1.9.}.0.0.0.0.1.1 1.12.@.2 2.12.@.2 1.14.@.2 2.14.@.2 1.16.@.2 2.16.@.2 1.18.@.2 2.18.@.2 1.21.}.0.0.0.0.1.1 11.22.@.2 6.23.}.3.0.0.1.0.0 11.23.@.0 7.26.@.2 8.26.@.2 7.28.@.2 8.28.@.2 7.30.@.2 8.30.@.2 [end] [offset] 748C [level] 31 [colour] [size] 16.31 [author] Cejkasoft [data] OOOOOOOOOOOOOOOO O*.*.*.*.*.....O O..............O O*.TTTTTTTTTT..O O..............O O*.............O OOOOOOODOOOOOOOO ................ M..............M ................ M..............M ................ OO.OOO.O.OO.OO.O ................ O.OO.OOO.OOO.OO. ................ .OOO.OOOO.OOO.OO ................ OO.OO.O.OO.OO.OO ................ OOO.OOO.OOO.OO.O ................ O.OO.OOO.OO.OOO. ................ OO.O.O.OO.OOO.OO ................ OOO.OO.OOOO.OOOO ..#.#..#..#~#.#. ...#.......b.... ................ !..............R [additional] 11 1.1.*.2 3.1.*.2 5.1.*.2 7.1.*.2 9.1.*.2 1.3.*.1 1.5.*.0 0.8.M.0 15.8.M.2 0.10.M.0 15.10.M.2 [end] [offset] 768C [level] 32 [colour] [size] 16.31 [author] Cejkasoft [data] ssssssssssssssss sT............Ts s.....?????....s s.....?@..?....s s.....?.'.?....s s.....?.'.?....s s.....?..@?....s s.....?????....s sT............Ts ssssDsssssssssDs s.T.T........sTs s............sTs s.T.T........sTs s............sTs s@T.T........sTs sssssssssssDssDs s.........T.TsTs s............sTs s.........T.TsTs s............sTs s@........T.TsTs sssDssssssssssDs s..........~.sDs s....~sssssb...s s...~.s%..s.b..s s....~s.R.sb...s s.....s.!.D.b..s s....~sssssb...s s..............s s@.............s ssssssssssssssss [additional] 5 7.3.@.0 9.6.@.2 1.14.@.2 1.20.@.2 1.29.@.2 [end] [offset] 788C [level] 33 [colour] [size] 16.31 [author] Cejkasoft [data] oooooooooooooooo oR}............o o.}..'...'...'.o o.}............o o...???????????o o}}????????????o o????V??V??V?*?o o??????????????o o???@??????????o o??????????@???o o??????????????o o???????@??????o o??*???????????o o??????????????o o?????@????*???o o??????????????o o??????????????o o??????????????o o??????????????o o??@???V???@???o o??????????????o o??????????????o o??????????????o o.^..^..^..^...o o.#..##.##.###.o o#.##..#..#.#.#o o##.}}}}}#}#.##o o#.#}....#}.##.o o###}.}}}.}###.o o#.#}!....}#..#o oooooooooooooooo [additional] 33 2.1.}.1.0.1.0.0.0 2.2.}.1.0.1.0.0.0 2.3.}.1.0.1.0.0.0 1.5.}.1.0.1.0.0.0 2.5.}.1.0.1.0.0.0 13.6.*.1 4.8.@.3 11.9.@.3 8.11.@.3 3.12.*.1 6.14.@.3 11.14.*.1 3.19.@.3 11.19.@.3 2.23.^.2.1.1 5.23.^.2.1.1 8.23.^.2.1.1 11.23.^.2.1.1 4.26.}.1.0.1.0.0.0 5.26.}.1.0.1.0.0.0 6.26.}.1.0.1.0.0.0 7.26.}.1.0.1.0.0.0 8.26.}.1.0.1.0.0.0 10.26.}.1.0.1.0.0.0 4.27.}.1.0.1.0.0.0 10.27.}.1.0.1.0.0.0 4.28.}.1.0.1.0.0.0 6.28.}.1.0.1.0.0.0 7.28.}.1.0.1.0.0.0 8.28.}.1.0.1.0.0.0 10.28.}.1.0.1.0.0.0 4.29.}.1.0.1.0.0.0 10.29.}.1.0.1.0.0.0 [end] [offset] 7A8C [level] 34 [colour] [size] 16.31 [author] Cejkasoft [data] QQQQQQQQQQQQQQQQ Q!bbbbbbQTTT...Q QbbbbbbbQ@Q*QQ*Q Qb..b.bbQ......Q Qb..R.bbQHHHHHHQ Qb#...bbQHHHHHHQ Q..bbbbbQHHHHHHQ QHbbbbbQQHHHHHHQ QHQQQQQQT......Q QH&.QQQQQ.....^Q QHQ.+QQ}D.#....Q Q.Q..QQQQ.QQ##.Q Q}Q..Q.....QQQ.Q QT........QbQQ.Q QQQQ..Q.QQQ?TQ.Q QT.Q.......~.#.Q Q.bQ...........Q Q..b...QQQQQQQ.Q Q....QQQ....TQ.Q QT.....Q.....Q.Q Q..QQQ...QQ..Q.Q Q.....b.....QQ.Q Q...QQQQ..Q..Q.Q Q.Q.......Q..Q.Q Q.Q@QQ%QQ.Q..Q~Q Q.Q.......Q....Q Q.Q.QQQQb.Q..Q.Q Q.b..QTQ..QbQQ.Q Q.Q#.QDQ..Q..&.Q Q............Q.Q QQQQQQQQQQQQQQQQ [additional] 9 9.2.@.1 11.2.*.3 14.2.*.1 2.9.&.10.0 14.9.^.3.0.0 7.10.}.3.0.0.1.0.0 1.12.}.3.0.1.0.0.0 3.24.@.1 13.28.&.10.1 [end] [offset] 7C8C [level] 35 [colour] [size] 16.31 [author] Cejkasoft [data] ssssssssssssssss s%%%.DDD^sTs...s s.R..DDD.s%s@s.s sDDDDDDD.sDs.s.s sDDDDDDD.......s sDDDDDDD.sssss#s s..^.....s..#..s ssss.sss.s##.#.s sT.s..s..s##.#.s s.@s.#s..s###..s s..s.....s+##..s s........s..##.s ssssssss.s.#.#.s s!TTD..s.s#.#..s sssss..s.s}...#s s%s.ss.s.s}....s sTs#..#s.sT####s sDs.##.s.s.##..s s...#.Ts.s%....s s&ssssss.sssss&s s..............s sss..ss..sss.sss sT..^.........Ts ssss.sss..sss.ss s..............s ss..ss.ss.sss.ss s.........^....s s..sss.sss.sssss s.....^........M s.......T....TTs ssssss}sssssssss [additional] 13 8.1.^.3.0.0 12.2.@.1 3.6.^.2.0.0 2.9.@.1 10.14.}.0.0.0.0.0.0 10.15.}.0.0.0.0.0.0 1.19.&.10.0 14.19.&.10.1 4.22.^.2.0.0 10.26.^.3.0.0 6.28.^.1.0.0 15.28.M.2 6.30.}.3.0.1.0.0.0 [end] [offset] 7E8C [level] 36 [colour] [size] 16.31 [author] Cejkasoft [data] pppppppppppppppp p..^...###.....p p.....##.#HHHHHp p.....##.#HHHHHp p..p...p.p.....p p......p.p.....p p.ppp..p.p.....p p......p.p=====p p..ppp.p.p.....p p......p.p.ppppp p#pppppp.p.....p p......p.ppppp.p ppppppDp.p.....p p......p.p.ppppp pT.....p.p.^...p pppppppp.pp.pppp p........p.....p p..#.#.#.p.#.b.p pbbbbbbb.p.....p p...bbbb.p.....p p...b!bb.p=====p pTTbbbbb.p.%..Tp pbbbbbbb.ppppppp p+p............p p..............p p^p.pppDppp....p p.p.p...}.p....p p.p.p.....p????p p...ppp&ppp..R.p p%p............p pppppppppppppppp [additional] 5 3.1.^.2.1.1 11.14.^.2.1.1 1.25.^.3.0.0 8.26.}.3.0.0.1.0.0 7.28.&.10.0 [end] [offset] 808C [level] 37 [colour] [size] 16.31 [author] Cejkasoft [data] QQQQQQQQQQQQQQQQ Q'TQ..#.#.#...TQ Q.%Q.#.#...#.Q.Q QDQQ&QTQQQ###Q.Q Q....QQQTT#..Q.Q Q.Q.#QTQQ..#.Q.Q Q.Q..Q.+Q.#.TQ.Q Q@Q..D.+Q..T#Q.Q Q.QQ.QQQQQ.QQ..Q Q.Q..Q#..#.Q.b.Q Q........#Q....} QQ....Q#TQ..Q..Q QTQ...Q#Q.b.Q..Q Q..Q..QQ..Q.Q..Q Q.#.Q.Q........Q Q#.#.&#..Q.Q.Q.Q Q.#.#..#.Q.Q.Q.Q Q.......#....#.Q Q.QQQQ.QQ#..Q..Q Q@M....TQ.#.Q..Q Q.QQQQ.QQ..#...Q Q........R..#Q.Q Q..............Q Q...^........#.Q Q...QQ####QQ.#*Q Q...QVVVVVVQ.#.Q Q%..QVVVVVVQ.'.Q QQQDQVV!%VVQ.'.Q Q+..QVVVVVVQ.'.Q QT..QTVVVVTQ...Q QQQQQQQQQQQQQQQQ [additional] 8 4.3.&.10.0 1.7.@.1 15.10.}.2.0.2.0.0.0 5.15.&.10.1 1.19.@.1 2.19.M.0 4.23.^.2.0.0 14.24.*.1 [end] [offset] 828C [level] 38 [colour] [size] 16.31 [author] Cejkasoft [data] ssssssssssssssss s.&.#.&..&.#.&.s s###.######.###s sR............+s ssssssssssssssss sTHH^.^........s s#HH......~....s ssss....&..##..s s....+.s.s###HHs s&..'sTs.s...bHs ssssssss.sssssss s}............}s ssssss.sssss.sss s}........}....M s.~...sssss...+s s..........?ssss sssssb.sDs#%sT!s sTT.D..sTs%Ts..s sssssssssssss..s s..##....#s^...s s.&.##.#..s..s.s s..#....#Ts..&.s sssssssssssss.ss s.b.......D....s s...T....Ts.ss*s sTbbsss#.#s.sT.s s}........s....s sssssssssDssssss s..............s s&.^..........Ts ssssssssssssssss [additional] 20 2.1.&.3.0 6.1.&.2.0 9.1.&.1.0 13.1.&.10.0 4.5.^.3.0.0 6.5.^.2.0.0 8.7.&.1.1 1.9.&.10.1 1.11.}.0.0.0.0.0.0 14.11.}.2.0.0.0.0.0 1.13.}.0.0.0.0.0.0 10.13.}.2.0.0.0.0.0 15.13.M.2 11.19.^.0.0.0 2.20.&.2.1 13.21.&.4.0 14.24.*.1 1.26.}.0.0.1.0.0.0 1.29.&.3.1 3.29.^.2.0.0 [end] [offset] 848C [level] 39 [colour] [size] 16.31 [author] Cejkasoft [data] OOOOOOOOOOOOOOOO OHD..........}TO OHO..........#.M OHOOOOOb#b....#M O.....O....b..#M O@O+O.Ob#b..H.#M O.OOO.O....bH.#M O..O..Ob#b..H.#M O.HTO@O....bH.#M O.OOO.Ob#b..H.#M O.TOT.O....bH.#M O.OOO.Ob#b..HH#M O@OTH.O....bH%#M O..O..Ob#b..HT#M O.OOO.}.....OObM O.O.O@OO}OHHO..M O.....OTTOHH...M OOODOOOT##..O.#O OO..O^..##.....O OO.OO.OO##.OOO.O O.^.....##...^.O O.b..O.OVVO.O..O O!..TO.OVVO.O'TO OOOOOODOOOODOOOO O..*...........O O....#.........O O.OOOOOOOOOO...O O...R........OOO O.~......~..bb+O O.............+O OOOOOOOOOOOOOOOO [additional] 26 13.1.}.2.0.1.0.0.0 15.2.M.2 15.3.M.2 15.4.M.2 1.5.@.1 15.5.M.2 15.6.M.2 15.7.M.2 5.8.@.3 15.8.M.2 15.9.M.2 15.10.M.2 15.11.M.2 1.12.@.1 15.12.M.2 15.13.M.2 6.14.}.0.0.1.0.0.0 15.14.M.2 5.15.@.3 8.15.}.3.0.1.0.0.0 15.15.M.2 15.16.M.2 5.18.^.2.0.0 2.20.^.2.0.0 13.20.^.0.0.0 3.24.*.1 [end] [offset] 868C [level] 40 [colour] [size] 16.31 [author] Cejkasoft [data] pppppppppppppppp p..............p p.@ppp.pDp.p.p*p p..p+..p%p.pTp.p p..ppp@pp..*p..p p...Tp.pTp..p..p p..ppp.pDp..p.!p p.............%p pRpppppppppppppp }..............p pppppppppppppp.p p.......#DDD...} p.#ppppppppp...p p#.p&......p...p p.#p.....p.p.~.p p..p.....p.p...p p.#p@ppppp.p.bpp p#.p.......p...p p..p.....p.p...p p#.p.....p.p..pp p.#p*ppppp.pb#.p p..p.......p#..p p.#p.p...p.p...p p..p.pTpTp.p...p p..p.ppppp.p.b.p p##p.......p.p.p p..p@ppppp@p.b.p p..p..TpT..p#..p p..p.ppppp.p.#.p p&.p.......p.#Tp pppppppppppppppp [additional] 12 2.2.@.1 14.2.*.1 6.4.@.3 11.4.*.3 0.9.}.0.0.1.0.0.0 15.11.}.2.0.1.0.0.0 4.13.&.10.0 4.16.@.1 4.20.*.3 4.26.@.1 10.26.@.3 1.29.&.10.1 [end] [offset] 888C [level] 41 [colour] [size] 16.31 [author] Cejkasoft [data] O}OOOOOOOOOOOO}O O............%#O O.OOOO..b..bO..O O%}#.b...#.T#..O O.O....OOO.bO..O O..............O O.....b.b.b....O O....OOOOOOOOO.O O....D#...+..O.O O..##O..OOOO.O.O O..##O@....O.O.O O..}.O.O.#.O.O.O OT...O.O...O.O.O OOOO.O.OOO.ODO.O O&RO.O@+TO.O.O.O OOOO.O.OOO.O!O.O O.T##O.O...OOO.O O..##O.O....%O.O O....O@O.OOOOO.O OO...O.......O.O OT...OOOOOOODO.O O#.#.OHHHHHHHO.O O.#&.OHHHHHHHO.O O....O.......O.O O..OOO...b...O.O O..b.O.bHHHb.O.O OO...O.......O.O OT.OOOT###...O.O O..b.O#TT#.#.bTO O...TO}##.....#} OO}OOOOOOOOOOOOO [additional] 12 1.0.}.1.0.1.0.0.0 14.0.}.1.0.1.0.0.0 2.3.}.0.0.1.0.0.0 6.10.@.3 3.11.}.3.0.1.0.0.0 1.14.&.10.0 6.14.@.3 6.18.@.3 3.22.&.10.1 6.29.}.3.0.0.1.0.0 15.29.}.2.0.1.0.0.0 2.30.}.3.0.1.0.0.0 [end] [offset] 8A8C [level] 42 [colour] [size] 16.31 [author] Cejkasoft [data] ssssssssssssssss s.............Rs s...#.b..b.#...s s..ssssssssss..s s..sT......Ts..s s..s!.????..s..s s..s#VVVVVV#s..s s.*s##VVVV##s..s s..s###VV###s..s s..s########s..s s..............s s.ssss.........s s..#...s..s+#s.s sssss..s+.ss...s sT.#...ss.sT#.ss s.sss..sT.ss...s s..#........#..s s..s..b..b..s..s s..s..s..s..s..s s..s..s..s..s.#s s..s..^.....s..s s.T}........}T.s s..............s s..............s s..sssTsssTsss.s s..............s s.ssss..sssssT.s s..~...........s s.bs#ssssss#sb.s s......T.......s ssssssssssssssss [additional] 4 2.7.*.3 6.20.^.2.0.0 3.21.}.0.0.2.0.0.0 12.21.}.2.0.2.0.0.0 [end] [offset] 8C8C [level] 43 [colour] [size] 16.31 [author] Cejkasoft [data] PPPPPPPPPPPPPPPP PT..%D.........P PPP.PP.P.PPPPP@P P..&...P.P.....P P.P.P..P.P.P...P P.P+P....T.....P P.PPP..PPPPP...P P......P..P.T..P P......T....P..P P.PPPPPPTP..P..P P........P..P..P P..PP.P..P..P..P P..!..P+.P..P..P P..PPPPPPP.....P P...........P..P PPPPPPPPPPPPPP.P P...^.......TP.P P.....T.^..#.P^P P......^...b.P.P P.###.^..#&#.P.P P.#T#^.......PTP PPPPPPPPPPPPPPPP PT.D.....P.#...P PPPP.P&P....P..P P.}....&....P.%P P...PT*P...^PPPP P...PP........PP P......PPP..PPPP P.....}P'P..PT%P PR.....P.D..D..P PPPPPPPPPPPPPPPP [additional] 15 14.2.@.3 3.3.&.10.0 4.16.^.2.1.1 8.17.^.3.0.0 14.17.^.3.0.0 7.18.^.1.0.0 6.19.^.3.0.0 10.19.&.1.0 5.20.^.1.0.0 6.23.&.1.1 2.24.}.1.0.0.0.0.0 7.24.&.10.1 6.25.*.3 11.25.^.3.0.0 6.28.}.2.0.0.0.0.0 [end] [offset] 8E8C [level] 44 [colour] [size] 16.31 [author] Cejkasoft [data] oooooooooooooooo oT#.To%...o#..To o...#o#.#.o..}.o o###.o.#..o.o..o o..#.o#.#.o.oDoo &.##.o.###o##.#o o####o.........} }..............o ooooooooo.oooooo oR.............o oooooo.oooooo.oo o........ooo+.+o o.}ooo.o.oToo.oo o....o}o...oo.oo oooo&ooo.o.oo}oo o......o....oooo o......o.......o o@%+T..o..^....o o......o..^.oooo o@....@o....D.!o oooo&ooooooooooo o....#.........& o.......o..#...o o.o...o.ooo....o o.ooooo.o.#....o o.oT..o....oo..o o*o.o.o..o.#...o o.o.o.o.oo.bo..o o.o.o.o.~......o o..............o oooooooooooooooo [additional] 16 13.2.}.0.0.0.0.1.1 0.5.&.1.0 15.6.}.2.0.1.0.0.0 0.7.}.0.0.1.0.0.0 2.12.}.0.0.0.0.1.1 6.13.}.3.0.1.0.0.0 4.14.&.10.0 13.14.}.3.0.1.0.0.0 1.17.@.3 10.17.^.2.0.0 10.18.^.3.0.0 1.19.@.3 6.19.@.1 4.20.&.1.1 15.21.&.10.1 1.26.*.3 [end] [offset] 908C [level] 45 [colour] [size] 16.31 [author] Cejkasoft [data] pppppppppppppppp p....#....p+.%%p pDp..##...D..*.p p+p.pppp.ppppppp pTp...p.......pp pTp.p.*.#.....pp ppp.pp...p.b.b.p pp...b.p#pp.*..p pp..@ppT..pppppp p....p}.......#p pp.ppppTp#pppp#p p?.D%!pp..p+...p p'@ppppp.#p..#.p p#........p.#T.p pTpDpppp..p##ppp ppp....ppTp+.p%p p}p*pp..pppT.D.p p.p..pp*pTpppp.p p....*p........p p.ppp.pppppppp.p p..............p pTpppppppppppppp p...........p.pp p..ppppppp.....p M#+#T#p.....p..p p.####p.....p..p p..pppp.ppp.pb.p p.........p.p..p ppDpppppp...pppp p...%T..D.....Rp pppppppppppppppp [additional] 11 13.2.*.3 6.5.*.3 12.7.*.1 4.8.@.3 6.9.}.0.0.0.0.0.0 2.12.@.1 1.16.}.1.0.0.0.0.0 3.16.*.3 7.17.*.1 5.18.*.3 0.24.M.0 [end] [offset] 928C [level] 46 [colour] [size] 16.31 [author] Cejkasoft [data] PPPPPPPPPPPPPPPP P..^.....PbbbbbP PPPPP.P&.PbTbbbP P!..D.P..Pb.PPbP PPPPP.PPPPbVPP.P PTbbbbbbbb..PPbP P.PPP...PP.PPP.P P.P...P....PVVbP P.P.PP+PPPPPTVVP P.b...bbbbPPPPPP PbPbP..bTbPbbbbP PbPbPb.b.bPb..bP PbPbPP.b..Pb..bP PbPbbbPPPbPb..bP PbPPPbP&PbPbb.bP Pb.+PbPRPbPP..bP Pb.#PbP&Pbb..bPP Pb...bPPP.P..bPP Pb...bbbbbPb..bP Pb...VVbPPPP..bP Pb.....b.+P..bbP Pb.+..bPPPP.b..P Pb....b.b.bb.b.P P.bT...b.bPbb..P PPPPPPPPPPPPPPPP P.........^....P P###.PPPPPPPPP.P P'.##P..PT.....P P.#..P.&PP.PPPPP P#.#.P....^....P PPPPPPPPPPPPPPPP [additional] 7 3.1.^.2.0.0 7.2.&.1.0 7.14.&.10.0 7.16.&.1.1 10.25.^.0.0.0 7.28.&.10.1 10.29.^.2.0.0 [end] [offset] 948C [level] 47 [colour] [size] 16.31 [author] Cejkasoft [data] PPPPPPPPPPPPPPPP PVTVP..........P PVbVP..P.....b.P PVbVPb.PPb..PP.P PVbVP..bP..PP..P PHHHP.PPP......P P.......PPPb...P PPPP....P....P.P P+.D....P....P.P PPPP......b.PP.P P.TP..#.PPPPP..P P..P..+...PTP..P P..P..#.??P%P..P M.........PDP..P PR..#..........M M............PPP P............P}P P.PPPP.PPPP....} P.PT.P}P.%P..P.P P.PVVPPPVVP..P.P P.PVVVVVVVP..P.P P.P...V...P..P.P P.PHPPPPPHP....P P..............M P..#.....#.....P P...PP.P..PP.P.P P....#.P#...#..P P....PPP..PP.P.P P....P!P...#.P.P P....PTD.......M PPP}PPPPP}PPPPPP [additional] 10 0.13.M.0 15.14.M.2 0.15.M.0 14.16.}.1.0.1.0.0.0 15.17.}.2.0.1.0.0.0 6.18.}.3.0.1.0.0.0 15.23.M.2 15.29.M.2 3.30.}.3.0.1.0.0.0 9.30.}.3.0.1.0.0.0 [end] [offset] 968C [level] 48 [colour] [size] 16.31 [author] Cejkasoft [data] PPPPPPPPPPPPPPPP PT.&...R.T.....M P....PPPPPPPTPPP P.P.!.PT.....PTP P@P...P..PP..P+P P.PTPPP..P...PDP P.P......P.....P P....PPP.T.P.P.P P.PP.b...PPP.P.P P.P..PPP.....T.P P.P.PPTP.PPPPP.P P.P.'PTP.....P.P P.P.PPTP.PPP@P.P P.P.TPDP.TPT.P.P P.P..........P.P PTP==========PTP PDP+PPPPPPPP+PDP P+P..........PDP P.PPPP.PPPP.PP.P P.===.==....=.=P P..===.==...=..P P=....==......=P PPPPP..PPPPP.PPP PTTTD..D%T%D.D%P PPPPPPPPDPPPPPPP P+T+TP%P#%T%.#TP PHHHHPTP..#%##.P PHHHHPTP.###...P P....PDP#.#.#.#P P.}....&.#.....P PPPPPPPPPPPPPPPP [additional] 6 3.1.&.10.0 15.1.M.2 1.4.@.1 12.12.@.3 2.29.}.3.0.0.1.0.0 7.29.&.10.1 [end] [offset] 988C [level] 49 [colour] [size] 16.31 [author] Cejkasoft [data] pppppppppppppppp p............}Rp p@pppppp...b...p p.p....&@.p....p p.p@T..pb.p...#p p.p..p.p.ppp...p p.p@pp.p.......p p.p.p..p.p.p..#p p.p@.T.p.p.b...p p.p....p.p...#.p p.p@.ppp.pppp.pp p@pppp.........p p......ppppp...p p.pppppp...p#.@p p........}.p...p ppppppppp..p#.@p p+bT+Tb+p.pp...p pHHHHHHHpDppp#.p pHHHHHHHp'.Tp..p pHHTT%HHppppp#.p p..#....#......p p.......pppppppp p.b###b.p}p..T.p p.b#}#b.p.p....p p..pppppp.p.p..p p.b........Tp..p ppppppppp......p p.......p.ppp.pp pT!}....D.....}p p.......pT....Tp pppppppppppppppp [additional] 16 13.1.}.1.0.0.0.0.0 1.2.@.1 7.3.&.10.0 8.3.@.3 3.4.@.3 3.6.@.3 3.8.@.3 3.10.@.3 1.11.@.1 14.13.@.0 9.14.}.0.0.0.0.1.1 14.15.@.0 9.22.}.1.0.0.0.0.0 4.23.}.3.0.0.1.0.0 3.28.}.0.0.0.0.0.0 14.28.}.2.0.0.0.0.0 [end] [offset] 9A8C [level] 50 [colour] [size] 16.31 [author] Cejkasoft [data] QQQQQQQQQQQQQQQQ Q.........R#T#!Q QQQ.QQ&.?bb####Q Q..&.TQ....#T#TQ Q.Q.QTQ%..#####Q Q.Q.QQQQQ......Q Q.Q.Q^..QQQQQQQQ Q.Q.Q&....^...TQ Q.Q.QQQQQQQQQ#DQ Q.Q........&.T+& Q.QQQQQQQQQ.QQQQ Q..............Q QQQQQQQQQQQQQQ.Q Q'.+Q........Q.Q QTQ.QQ&QQQQQ.Q.Q QQQ.QQ.Q...Q.Q.Q Q..&T....Q.Q.Q.Q Q.Q.QQ.QQQ.Q.Q.Q Q.Q.QT&T...Q.Q.Q Q.Q.Q.Q.QQQQ.Q.Q Q.Q.Q.Q.T&.Q.Q.Q Q.Q.Q.Q.QQ.Q.Q.Q Q.QTTTQ..Q.Q.Q.Q Q.QQQQQQ.Q.Q.Q.Q Q.QQT..#.Q.Q.Q.Q Q..Q..#.QQ.Q.Q.Q QQ.QQQQ.TQ.Q.Q.Q Q.....QQQQ.Q.Q.Q Q*QQQ......Q.Q.Q Q.....QQQTQQ..TQ QQQQQQQQQQQQQQQQ [additional] 12 6.2.&.8.0 3.3.&.10.0 5.6.^.3.0.0 5.7.&.1.0 10.7.^.2.0.0 11.9.&.1.1 15.9.&.8.1 6.14.&.3.0 3.16.&.2.0 6.18.&.4.0 9.20.&.5.0 1.28.*.3 [end] [offset] 9C8C [level] 51 [colour] [size] 16.31 [author] Cejkasoft [data] pppppppppppppppp p...........pR.p p.p@p@p@p@p@pp.p p.Tp.p@p@pT.p..p p...........p.pp pppppp.pppppp..p p!..?p.p.?.....p p....p...p.p.}.p p&.&.p.p.p.p...p p....p.p.p.ppppp pppppp.p.p.#..Tp M..........Dpppp pp+p.ppp@p@....p pppp..pppp..pp.p p..............p pppppp..ppp.#T.p pV.TTp.Tb...pp.p pVpppp.pppp....p pVpT...p.Tpppp.p pVp.pppp#....p.p pbp.pT.D...#.p^p p.p.ppppp#.b.p.p p+p.pVVbp.pppp.p p+p.ppp..&...p.p p.p...p.p.p..p.p p.ppp.p.p.p%Tp.p p&.#p.p.pDpppp.p p.ppp.p.p..%Tp.p p.....p.pppppp.p ppppppp.....'pTp pppppppppppppppp [additional] 16 3.2.@.3 5.2.@.3 7.2.@.3 9.2.@.3 11.2.@.3 6.3.@.1 8.3.@.1 13.7.}.0.0.0.0.1.1 1.8.&.1.0 3.8.&.10.0 0.11.M.0 8.12.@.3 10.12.@.3 14.20.^.3.0.0 9.23.&.10.1 1.26.&.1.1 [end] [offset] 9E8C [level] 52 [colour] [size] 16.31 [author] Cejkasoft [data] ssssssssssssssss s&}sT.TsVsT..#&s s..s...s.sT....s ss.s.sss.sss...s s+.s..&...&..b.s ss.s.sss.sss##.s ss.s..Ts.s+T...s ss.sssss.sssssDs sT.s.........sTs ss.sssssssssssss ss.............s ss.ssss..ssss..s M..............M s..?.s.sss..b..s s..?.s%..ss...ss s..?.sss.s....ss s......sRs....ss ssssss.sTs..s.ss sT++Ts.sss..s.ss s....s.b....s.ss s....M....s.s..s s.&&.s.ssss...ss M....s.s.......s s....s.s@ss.s.ss M####M.s....s.Ts s####s.s.s..s.ss s####s.s.s..s.%s M##......++.b.ss s#...s.sss....'s sT#s...D!D.}T}Ts ssssssssssssssss [additional] 17 1.1.&.10.0 2.1.}.1.0.1.0.0.0 14.1.&.1.0 6.4.&.2.0 10.4.&.2.1 0.12.M.0 15.12.M.2 5.20.M.2 2.21.&.10.1 3.21.&.1.1 0.22.M.0 8.23.@.1 0.24.M.0 5.24.M.2 0.27.M.0 11.29.}.3.0.1.0.0.0 13.29.}.3.0.1.0.0.0 [end] [offset] A08C [level] 53 [colour] [size] 16.31 [author] Cejkasoft [data] oooooooooooooooo oR....T..^..^.!o o#oooooooooooooo o....o.......#.o o.oo.o@oooo@.Too o.'o......o.oooo o#oo.oooo.o.D'oo o.M.....o.o.oooo o..............o o.Toooo.ooooo..o oooo%...o......o oTTD#.#.o.o.b..o oooo.#..o.@o...o o.#.#.##o...o..o o..#.#..oTT..o@o o+..#...oT!+...o oooooooDoooooooo o.^..+o~oHHHH#To ooooo.o.oHHHHH#o o%....b...bHHHHo o.oo..b.o.bHHHHo o.Tooob.obooooHo oo....b.obo...#o ooooooobb...o..o o.........*ooo*o o##oooTooo..o..o o##o..........%o o..o.ooobbbbbbbo o..o...^..bVVVVo M..+....bbbVVVVo oooooooooooooooo [additional] 12 9.1.^.2.0.0 12.1.^.0.0.0 6.4.@.1 11.4.@.3 2.7.M.0 10.12.@.1 14.14.@.3 2.17.^.2.0.0 10.24.*.3 14.24.*.1 7.28.^.2.0.0 0.29.M.0 [end] [offset] A28C [level] 54 [colour] [size] 16.31 [author] Cejkasoft [data] ssssssssssssssss s..^..^....sT#&M s.#ss.......s#.s s.......s.ss...s s.s.sss.sb.....s s.s.......s@ss.s s.ssss.ss.s..s.s s..s....s.s....s s......*s...ss.s ss...s..s......s s..s.s....sss..s s.@s......s....s s..ss.s.s.....ss s.?.s...s......s s...s.......ssss s??.s.sssssb.s}s s.....s...s..s.s s.?.s........s.s s...s..sssssss.s ss.sssss.....T.s s#.T?s...sss...s s###!s*sss.ss*.s s++sss.........s sss&.....sbs.T.s s.ssssssss.sss.s s..............M s.ssssssssssssTs s.#'##..#.#.RDTs s#..#..##..#.sTs s%..#.#..##.#sTs ssssssssssssssss [additional] 12 3.1.^.0.0.0 6.1.^.2.0.0 14.1.&.10.0 15.1.M.2 11.5.@.1 7.8.*.3 2.11.@.1 14.15.}.1.0.1.0.0.0 6.21.*.3 13.21.*.1 3.23.&.10.1 15.25.M.2 [end] [offset] A48C [level] 55 [colour] [size] 16.31 [author] Cejkasoft [data] PPPPPPPPPPPPPPPP PR...T.........M PPPPPP.PPPPPPP*P P...TP.P#.^.TP.P P.P.PP.P&..##P.P P.b..#.D.....P.P P.P..P.PPPPPPP.P P....P.........P P!'TTPPPPPPPPP.P PPPPPPP%.......P M.......PPPPPPPP P.PPP.PPP......P P.........#.P&.P PPPPPPPPP......P P&....TTPPPPPPPP P..^...........P PPPPPPPPP.PPPPPP PT..........^..P PPP.PPPPPPPPPPPP PT...@...bbbbbbP PP@PPPPP@PPPPPbP PP...@...P.bbbbP PPPPPPPPPP.PPPPP P.....b.P...P+TP PbP.......}....P PbPPPPPPP...PPPP PbP#...#PPDPP%TP PbPT.....#.....P PbPPPPPPPPPPPPPP Pbbbbbbbbbbb#*TP PPPPPPPPPPPPPPPP [additional] 15 15.1.M.2 14.2.*.3 10.3.^.0.0.0 8.4.&.1.0 0.10.M.0 13.12.&.10.0 1.14.&.10.1 3.15.^.2.0.0 12.17.^.0.0.0 5.19.@.2 2.20.@.1 8.20.@.3 5.21.@.0 10.24.}.0.0.0.0.1.1 13.29.*.1 [end] [offset] A68C [level] 56 [colour] [size] 16.31 [author] Cejkasoft [data] PPPPPPPPPPPPPPPP P.P...........!P P.P.TPPPPPPPPPPP P.PTTP@.......@P P.PT@...P...#..P P.PP....P..P.P.P P.%P....P..P^P@P P..#.T..P..P.P.P PPPP.P..P.#P.P.P P....P.PP..P.P@P P@PPPP.PR..P+P.P P.P........P+P.P P...PP..PP.PPP@P P@P..PPPP......P P.P........PPP.P P.PP.#.#PP.TP+.P P..............P PPPPPPPPPPPPPPTP P'.............P PTPPPPPPPPPPPPPP P..............P PPPPPPPPPPPPPPTP P.TT#T#T#T#T#..P M..............P P.PPPPPPPPPPP..P P.PPT.TD^#.....P P.TPPPPP#....b.P P.PP...........P P.P============P P..T#T#T#T#T#T#P P}PPPPPPPPPPPPPP [additional] 12 6.3.@.3 14.3.@.1 4.4.@.3 12.6.^.3.0.0 14.6.@.1 14.9.@.1 1.10.@.3 14.12.@.1 1.13.@.3 0.23.M.0 8.25.^.2.1.1 1.30.}.3.0.1.0.0.0 [end] gnurobbo-0.66+dfsg/data/levels/robbo01.dat0000644000175000017500000012443011352455441017410 0ustar stevesteve[name] RobboI [last_level] 56 [default_level_colour] 608050 [offset] 3897 [level] 1 [colour] 108030 [size] 16.31 [author] Janusz Pelc [level_notes] [data] ssssssssssssssss s...s...sT.s...s s.R.s.&.ss.s.&.s s.o.s....s.s...s s.#.ss.#...s.s.s s....s.sssss.s.s s'...s..s..H.s.s ssss.sT#s..H.s.s sb...ss.s..H.s.s s....s..s.ssss.s s...TsT.s...s}.s s..ssssssss.s..s s....s....D.s..s s.b..s.#..sss..s s....ss.sss'...s s....s....sss.ss s#.b#s...#.s#.#s s#.##..##..s...s s###....##ss...s s%#.##.#T.s....s sssssssssss#ss.s s...s.....s.%sDs }.....T...s.ss.s s...s...#......s s.?.s#sssss.s.ss s.....sT...#...s sssss.sssss.s.ss s...s.s...s.ssss s.!.....T.s....s s...s.s...s...Ts ssssssssssssssss [additional] 4 6.2.&.1.0 13.2.&.1.1 13.10.}.1.0.1.0.0.0 0.22.}.0.0.1.0.0.0 [end] [offset] 3A97 [level] 2 [colour] [size] 16.31 [author] Janusz Pelc [data] OOOOOOOOOOOOOOOO O...O..O..#....O O.?.O..O...#.R.O O.%.H#.H.#.....} O...O.#O...#..#O OOOOOOOOOOOOODOO O...#.#........O O.#..T.#..#..T.O O..#.....#.....O OHHH#...OOOOOOOO O.#..####...#..O O..T.......#.#.O OOOOOOOOOOOOO..O OT.....O...O...O O..OOO@..O...OOO O.OO.OOOOOOO...O O..O...O...OOO.O O#...O...O.O...O OOOO.OOOOO...OOO O....O...O.O...O O#.O!O.T.O.O..#O O.#OOO....#.#.TO O.OO....#.OO...O O.....O...OT.#.O OO.OOOOOOOO#...O O........}O....O OO.OOOOOOOOOHHOO O#.O...#O'O....O O#.O.T..O.O.TT.O O.....#...O....O OOOOOOOOOOOOOOOO [additional] 3 15.3.}.2.0.0.0.0.0 6.14.@.3 9.25.}.2.0.0.0.0.0 [end] [offset] 3C97 [level] 3 [colour] [size] 16.31 [author] Janusz Pelc [data] PPPPPPPPPPPPPPPP P....P...#P....P P.R..D....P..T.P P....P.T..##...P P....P....P##..P P....PPPPPPPPPPP P..b.P...#P....P P....P....P..T.P P....#..&.P....P P#...P....P...#P PPPPPPPPPPPPDPPP ----------P...#P -PPPPPPPP-P.&..P -P?....#P-P....P -P...T..P-P....P -P......P-PPP.PP -P.&..%.P-P.##.P -P......P-P.T..P -PPPPPPPP-P#.#.P ----------P..#%P PPPPPPPPPPP.PPPP PT.^......P....P PPP.P.P.....PP@P P....!....P.#..P P.P.P.P...P.PP.P P.P...^...P..#.P P.P.PPPPPPP.PP.P P.P.P.....P....P P.P.P.P.'.PPPP.P P.....P...P&...P PPPPPPPPPPPPPPPP [additional] 7 8.8.&.1.0 12.12.&.1.1 3.16.&.2.0 3.21.^.3.0.0 14.22.@.3 6.25.^.2.0.0 11.29.&.2.1 [end] [offset] 3E97 [level] 4 [colour] 2060f0 [size] 16.31 [author] Janusz Pelc [data] oooooooooooooooo o..#..^.....#..o o&............To ooo..........ooo o...--.--.--...o o...--.--.--...o o...--.--.--...o o.T.--.--.--.T.o o..---.--.---..o o.---..--..---.o o---...--@..---o o..............o ooo}........&ooo o..............o o.oooooooooooooo o......+o.}...&o ooooooooo......o o.......o......o o.ooooo.o.....}o o.}...o.D......o o...R.oooooooooo o.....o........o o..oooo...ooo..o oT.%o&o...To@..o oo.oo.o........o o..To.o........o ooooo#o........o o.....o....To*.o o.!.o.o....ooo.o o.......?......o oooooooooooooooo [additional] 12 6.1.^.2.0.0 1.2.&.1.0 9.10.@.3 3.12.}.0.0.1.0.0.0 12.12.&.2.0 10.15.}.1.0.1.0.0.0 14.15.&.1.1 14.18.}.2.0.1.0.0.0 2.19.}.1.0.1.0.0.0 5.23.&.2.1 12.23.@.3 13.27.*.1 [end] [offset] 4097 [level] 5 [colour] [size] 16.31 [author] Janusz Pelc [data] pppppppppppppppp p.............Rp p....TppppT....p p..pppp@.pppp..p p..p...........p p..p...........p p..pp...T......p p...........p..p p...........p..p p..ppppT.pppp..p p....TppppT*...p p..............p pppppppp.ppppppp pT.ppT.....ppT!p p..pp......pp..p p..##..pp.#pp#.p p..##..pp..pp..p p..pp..........p p}Tpp}....#...}p ppppppp..pp..ppp ppppppp..pp..ppp p.b....#.pp....p p........pp....p ppppppppppppp#.p ppppppppppppp..p pT.p}p}p}p}p...p p..............p p....p.T.....#.p p....p.p.p...T.p p..............p pppppppppppppppp [additional] 9 7.3.@.3 11.10.*.1 1.18.}.3.0.1.0.0.0 5.18.}.3.0.1.0.0.0 14.18.}.3.0.1.0.0.0 4.25.}.1.0.0.0.0.0 6.25.}.1.0.1.0.0.0 8.25.}.1.0.1.0.0.0 10.25.}.1.0.0.0.0.0 [end] [offset] 4297 [level] 6 [colour] [size] 16.31 [author] Janusz Pelc [data] QQQQQQ&QQQ&QQ--- Q#..Q...Q...Q--- Q.R.&.#.Q.?.&--- Q...Q...Q...Q--- QQ&QQQ&QQQ&QQQQQ ---Q...Q...Q...Q ---&.%.&.H.&.%.& ---Q...Q...Q...Q ---QQQQ&QQQ&Q&QQ -----Q...Q...Q-- QQQQQQ.b.&.Q.&-- Q&...Q...Q...Q-- Q....QQQQQQQQQQQ Q..?.Q...D.....Q Q....D..}Q.QQQ.Q QQQQQQQQQQ.QQQ.Q Q........#.....Q Q.!...^...#....Q Q........#.....Q QQQQQQQQQQQQQQQQ ---------------- ---------------- ---------------- ---------------- ---------------- ---------------- ---------------- ---------------- QQQQQQQQQQQQQQQQ Q&............TQ QQQQHHQQQQ#QQQQQ [additional] 20 6.0.&.8.0 10.0.&.7.0 4.2.&.1.0 12.2.&.2.0 2.4.&.2.1 6.4.&.4.0 10.4.&.6.0 3.6.&.6.1 7.6.&.1.1 11.6.&.2.2 15.6.&.5.0 7.8.&.5.1 11.8.&.4.1 13.8.&.7.1 9.10.&.3.0 13.10.&.1.2 1.11.&.8.1 8.14.}.2.0.1.0.0.0 6.17.^.2.0.0 1.29.&.3.1 [end] [offset] 4497 [level] 7 [colour] [size] 16.31 [author] Janusz Pelc [data] ssssssssssssssss sssss&..ssss...s sssssss....D.T.s s...sss.ssss...s s.T.D...ssssssss s...sss.ssss...s sssssss....D.T.s sssssssss.ss...s ssssss....ssssss ssssss..ssssssss ssssss..ssssssss sssss....sssssss ssss..ss..ssssss sss..ssss..sssss ss..ssssss*.ssss s%............ss sssssssssssss..s sTs...........ss s.}s...^.....s.s s...s.......s.%s s...}s.....s#..s s.....ss#sss.##s s#....s...s.#..s s#....#.R.#..#.s s#....s...s.#.#s s.....ss#ss..##s s....s#....s..#s s..}s##b....sb.s s..sHbbHHHH#...} sTs!#H#b%.#..bbs ssssssssssssssss [additional] 7 5.1.&.10.0 10.14.*.1 2.18.}.1.0.1.0.0.0 7.18.^.0.0.0 4.20.}.1.0.1.0.0.0 3.27.}.3.0.1.0.0.0 15.28.}.2.0.0.0.0.0 [end] [offset] 4697 [level] 8 [colour] [size] 16.31 [author] Janusz Pelc [data] ssssss---------- s#.R.s---------- s%...D...--T---- s##..s--.--.---- ssssss-.....---- -----}-.s.------ -----.-...------ ---.....-------- ---.---------T-- ---.---------.-- ---&----'...D.-- ----------.----- ----------...--- ------------.--- -T---&.......--- -*--------.----- -#--------}----- -b-&------.----- -b-..........&-- -b----.--------- -bbb--.--------- -b-^b-.......--- -b--b-------...- -bbbbbbbbbb..-.- --------------.- -...!------&--.- -.-.----&--.--.. -&-T-&--.--.---. -----.--.--..&-. --}.......%.---. -------------+.T [additional] 14 5.5.}.1.0.0.0.0.0 3.10.&.1.0 5.14.&.2.0 1.15.*.1 10.16.}.0.0.0.0.1.1 3.17.&.1.1 13.18.&.3.0 3.21.^.2.1.1 11.25.&.4.0 8.26.&.2.1 1.27.&.3.1 5.27.&.4.1 13.28.&.3.2 2.29.}.0.0.1.0.0.0 [end] [offset] 4897 [level] 9 [colour] [size] 16.31 [author] Janusz Pelc [data] oooooooooooooooo o...^..........o o.Ro.^.....o.'.o o..o..^....o.!.o o..o...^...o...o o..o....^..ooooo o..o.....^.o...o o..o......^..T.o o..........o...o oHoooooooooooooo o....^........To o..............o o..............o o......^^......o o..............o o..............o o.............^o o.............To oHoooooooooooooo o.o..To......oVo o.o.ooo.....oo.o o.....oo..o..o.o ooo....o.TooDo.o o%..oo.oooo..o.o ooo..o......oo.o o....oo.....oT.o o.o.....oo..oo.o o.oooo.........o o.......ooo.oo.o o.oTo...o}.....o oooooooooooooooo [additional] 12 4.1.^.3.0.0 5.2.^.3.0.0 6.3.^.3.0.0 7.4.^.3.0.0 8.5.^.3.0.0 9.6.^.3.0.0 10.7.^.3.0.0 5.10.^.3.0.0 7.13.^.1.0.0 8.13.^.2.0.0 14.16.^.3.0.0 9.29.}.0.0.1.0.0.0 [end] [offset] 4A97 [level] 10 [colour] [size] 16.31 [author] Janusz Pelc [data] oooooooooooooooo oRoTo.......o..o o.....oo...oo..o oooo.ooT.#....Mo o.o.#.ooooo....o o........Mo.o..o oTooTo.o....o..o o.o..#.o%ooooo.o o.....MoooM....o ooo...........oo oTooo.ooooooo..o o.oTo......Moo.o o.o...oo.ooo...o o.oo.........M.o o.D..oTo.oo.oo.o oooo?o.o#oT..#.o oT.ooo.o.ooooo.o o......o.......o o.oo.ooooo.ooo.o o..M...#...o...o oo.o......#o.o.o M............T.o oo.o.o.oooo.oo.o o..o#....oT....o o.oo.ooo.ooooo.o o......M.#..o..o oo.ooo.oo.oooo.o oT.#.......oT..o o....M....Mooo.o oT..........!..o oooooooooooooooo [additional] 11 14.3.M.2 9.5.M.2 6.8.M.2 10.8.M.0 11.11.M.2 13.13.M.2 3.19.M.0 0.21.M.0 7.25.M.2 5.28.M.2 10.28.M.2 [end] [offset] 4C97 [level] 11 [colour] [size] 16.31 [author] Janusz Pelc [data] oooooooooooooooo o...#ooo.......o o..R.ooo....oo#o o%.......}..o..o o#...o.o#..#o..o ooo.oo.oo.ooo.oo ooo....ToDoT..oo oooooo.oo.oooooo oo...oooo.o....o }...........T?.o oo..#oooo.o....o -o#..o--o.oooooo -o..#o--o.o----- -o.#.oooo#ooooo- -o..###..##..#o- -o..##........M- -o#....###..#.o- -oooo.#.oooo.oo- ----o..To--o.o-- ----ooooo--o.o-- -----------o.o-- oooooooooooo.ooo o.o.To...oTo.T.o o...oooo...o.o.o o.o.D..o.ooo...o o.oooo........oo o.!..ooo.oooo..o ooo#.o....o....o o...oo.oooo.oooo oTo.o%.oT.....*o oooooooooooooooo [additional] 4 9.3.}.0.0.0.0.1.1 0.9.}.0.0.1.0.0.0 14.15.M.2 14.29.*.1 [end] [offset] 4E97 [level] 12 [colour] [size] 16.31 [author] Janusz Pelc [data] QQQQQQQQQQQQQQQQ QR#.....#...#..Q Q#...###..#..#.Q Q.#...#..#.#...Q QQQ.QQQQQQQ.QQQQ Q..#.##.#...#.'Q Q#..T..##.#..#.Q QQQQQQ#QQQQQQQQQ Q.#.#...#..#..%Q Q..###...#...#.Q QT#..T.........M Q.H..#..#.#..#.Q Q..#..##...#..TQ QQQQQQQQHQQQQQQQ Q.#.b........##Q Q...#.###..###.Q QQQQQQQQQQQQQQDQ }HHbHHHHHHHbHHHQ }HHHHHHbHHHHHHHQ QQQQQQQDQQQQQQQQ Q&............&Q QQQQQQQQQQQQQQQQ Q&.....Q......&Q QQQQQQ.Q.QQQQQQQ Q...#..#.#.....Q QT#...##.#..b.#Q QQQQQQQQQQQQQQ.Q QV..#bb##bb#+H.Q Q.!.b?b&b??bbb.Q Q...#bbbb#@*##.Q QQQQQQQQQQQQQQQQ [additional] 10 15.10.M.2 0.17.}.0.0.1.0.0.0 0.18.}.0.0.1.0.0.0 1.20.&.2.0 14.20.&.1.0 1.22.&.1.1 14.22.&.2.1 7.28.&.1.2 10.29.@.3 11.29.*.1 [end] [offset] 5097 [level] 13 [colour] [size] 16.31 [author] Janusz Pelc [data] QQQQQQQQQQQQQQQQ Q......Q...Q.Q#Q Q.HTHH.Q.Q..#..Q Q..#...&..#..Q.Q Q#.H.HHQ.QQ##..Q Q.HH...M.Q#..#QQ Q....HHQ.Q.#.T#Q Q#.#...Q.Q#QQ#&Q QHHTH..Q.....#.Q Q.#.#.HQQQQQQQQQ Q!.#.##H...H.HTQ Q.#T#....H.....Q Q#.#.#Q&QQQQQQQQ Q.#.#.Q.Q%.+..&Q QQQQQQQ.QQQQQQQQ Q#......Q......Q Q....#?.Q.##@Q.Q Q.Q}....Q.##.Q.Q Q.Q^.........Q.Q Q...QQQQQQQQQQ.Q Q.Q.QTHHH.HQ.Q.Q Q...Q#H#H#.Q^Q.Q Q.Q.Q#HH#THQ.Q.Q Q...QH.HHHHQ.Q.Q QQQ.Q#H#HH#Q.Q.Q QT..QHHH.HHH...Q Q.Q.QQQQQQQQQQQQ Q......Q..#Q...Q QQQ..#...R.D.'.Q QT.....Q#..Q...Q QQQQQQQQQQQQQQQQ [additional] 9 7.3.&.2.0 7.5.M.2 14.7.&.1.0 7.12.&.4.0 14.13.&.1.1 12.16.@.3 3.17.}.0.0.0.0.0.0 3.18.^.3.0.0 12.21.^.1.0.0 [end] [offset] 5297 [level] 14 [colour] [size] 16.31 [author] Janusz Pelc [data] ssssssssssssssss s.............%s s........sss...s }....!...#Rs@..s s........sss...s s..............s s......^.......s ssss.ssssss.ssss ---s.s----s.s--- ---s.s----sDs--- ---s.s-ssss.ssss ---s.s-s..T.T..s ---sDs-s.sssss@s ---s.s-s......@s ---s.s-s.sssss@s ---s.s-s..T.T..s ---s.s-sssssssss ---s.s---------- ssss.sssssssssss s........s...*.s s.ssssss.s.ss..s s.s..T....#....s s...s.ssss.sss.s sss.s.s...#.s..s s..#s.ss.ss.sT.s s.s....s#.?...#s sHsss....s.sssss s...ssssss.s%..s s.&.s'..Ts.s.&.s s...s......s...s ssssssssssssssss [additional] 9 0.3.}.0.0.1.0.0.0 12.3.@.3 7.6.^.2.0.0 14.12.@.3 14.13.@.3 14.14.@.3 13.19.*.1 2.28.&.1.0 13.28.&.1.1 [end] [offset] 5497 [level] 15 [colour] [size] 16.31 [author] Janusz Pelc [data] ssssssssssssssss sR.T.H.........s s#HH.H.HHHHHH@Hs s.H..H...HT.H..s s.HH...H.HH.HH.s s..H#HHH..H.HH.s s.THHH...HH....s s.HH.H.H....HH.s s#.....H..H.HHTs ss#sssssssssssss s#..s%.'s?..s.ss sT.Ts...D...D..s s.#.s&..s..&s.ss ss#ssssssssss.ss s..............s s#........#.s.ss sT.##.s.b......s s.#.##s..b..s.ss s.##..s........s sss.sssssssss'ss --s...D....Tssss sss.sssssss...#s s..&.+....s.}..s s.sssssss.ss.s.s s.s....Ts.Ts..Ts s.s.....ssss.sss s.s*.......s..?s s.ss.......s.sss s.}sssssss.s...s s.......!s&..sTs ssss}s}sssssssss [additional] 10 13.2.@.3 5.12.&.1.0 11.12.&.1.1 3.22.&.2.0 12.22.}.0.0.0.0.1.1 3.26.*.1 2.28.}.2.0.0.0.0.0 10.29.&.3.0 4.30.}.3.0.1.0.0.0 6.30.}.3.0.1.0.0.0 [end] [offset] 5697 [level] 16 [colour] [size] 16.31 [author] Janusz Pelc [data] oooooooooooooooo oo..ToooT.V.bR.o oo...ooo...b...o oo&..ooo.o.....o oooooooo....o..o oooooooo..bo..bo oT..bb........To o.o...b.b.ooo.oo o...b...b.oo...o o.b.###.T.oo.o.o ob..#!#bo.oo.o.o o..b###........o ob.......boooooo o....boTb.o..o&o o'.bb..bT.o..o.o ooooooooo.o..o.o o....oooo.o..o.o o....&..o.o..o.o o....oo.o&oV.o.o o....oo.oooooo.o o...Voo........o o....ooooooooooo o&ooooT...#.#..o o.o&o#.+#T.To.#o o.o.o.##T#To%.^o o.o...T.#.#.oo.o o.oDo.##.#T#T..o o.o.oooTooo.oo.o o.o......o.....o o.............}o oooooooooooooooo [additional] 8 2.3.&.10.0 14.13.&.1.0 5.17.&.2.0 9.18.&.1.1 1.22.&.2.1 3.23.&.10.1 14.24.^.3.0.0 14.29.}.2.0.1.0.0.0 [end] [offset] 5897 [level] 17 [colour] [size] 16.31 [author] Janusz Pelc [data] OOOOOOOOOOOOOOOO O.#..O#.#.O.#'.O O...#O...#O..#.O O.##..T##..#...O OT#.#O###.O...#O O#...O.T..O.#.TO OO.OOOOOO.OO.OOO O#.#.O#..#O.#..O O.##TO.b..O#.#.O O##.#O#.R.O....O OT.O.O...#.#.##O O..T.O!##.O....O OO#OOOO.OOOO.OOO O...#O.#..O...#O O.#..O..##O##..O Ob#.#..##TO...#O O##%#OT...O..#.O O.T#.O.#.###..#O OOOOOOOOOO#OOOOO ObbT&O..#.....#O Obb..O.#....##TO Obb..O.##.O...#O O##bbO.#.#Ob#..O OT#bbO#...OT...O OOOOOOOO.OOOODOO O...&O....O&...O O.OOOO.##.O##H#O O.D..O#...O.#H.O OOOO.O#.#.##..#O O&...OT...O.T#.O OOOOOOOOOOOOOOOO [additional] 4 4.19.&.2.0 4.25.&.1.0 11.25.&.1.1 1.29.&.2.1 [end] [offset] 5A97 [level] 18 [colour] [size] 16.31 [author] Janusz Pelc [data] QQQQQQQQQQQQQQQQ Q.}..Q.T.}Q.}.TQ Q....Q....Q....Q Q}............}Q Q....Q....Q....Q Q...TQ....Q....Q QQDQQQQQQ.QQ.QQQ QbbbbQ....Q....Q QbbbbQ.T..Q....Q QbbHHQ....Q..T.Q QbbQTQ}........Q QbbH!QR...Q....Q QQ#QQQQ.QQQQ.QQQ Q%..TQ...TQ....Q Q....Q....Q....Q Q........}Q..T.Q Q....Q....Q....Q Q.}.%Q.}....}..Q QQQQQQQQQQ.QQQQQ Q....Q..}......Q Q.&..Q........}Q Q....Q.T..Q....Q Q..T.Q....Q.T..Q Q....Q....Q....Q QQQQQQQQ.QQQQ.QQ Q...&Q....Q&...Q Q.QQQQ.T..Q....Q Q.D..Q....Q...TQ QQQQ.Q}........Q Q&..TQ....Q..}.Q QQQQQQQQQQQQQQQQ [additional] 18 2.1.}.1.0.1.0.0.0 9.1.}.1.0.1.0.0.0 12.1.}.1.0.1.0.0.0 1.3.}.0.0.1.0.0.0 14.3.}.2.0.1.0.0.0 6.10.}.0.0.1.0.0.0 9.15.}.2.0.1.0.0.0 2.17.}.3.0.1.0.0.0 7.17.}.3.0.1.0.0.0 12.17.}.3.0.1.0.0.0 8.19.}.1.0.1.0.0.0 2.20.&.1.0 14.20.}.2.0.1.0.0.0 4.25.&.1.1 11.25.&.2.0 6.28.}.0.0.1.0.0.0 1.29.&.2.1 13.29.}.3.0.1.0.0.0 [end] [offset] 5C97 [level] 19 [colour] [size] 16.31 [author] Janusz Pelc [data] ssssssssssssssss s....sT...s....s s....s....s....s s.T.......^.T..s s....s....s....s s....s....s....s ss^ssssss.ss.sss s....s....s....s s..T.s....s....s s....s.T..s..T.s s....s.........s s...Rs....s....s ss.ssss^ssss^sss s....s....s....s s....s....s....s s.T.......s.T..s s....s..T.s....s s....s.........s ssssssssss.sssss s...!s....^....s s.&..s.T.......s s....s....s..T.s s..T.s....s....s s....s....s....s ssssssss^ssss.ss s...&s....s&...s s.ssss....s....s s.T..s.T..s....s ssss.s.......T.s s&...s....s....s ssssssssssssssss [additional] 10 10.3.^.2.0.0 2.6.^.3.0.0 7.12.^.1.0.0 12.12.^.3.0.0 10.19.^.0.0.0 2.20.&.1.0 8.24.^.3.0.0 4.25.&.1.1 11.25.&.2.0 1.29.&.2.1 [end] [offset] 5E97 [level] 20 [colour] [size] 16.31 [author] Janusz Pelc [data] ssssssssssssssss s....sbbbbsbbbbs s.+..sb..bsb..bs s...bbb..bbb..bs s...bsb...s...bs s.bbbsbbbbs.bbbs ssbssssssbssbsss s.bbbsbbbbs.bbbs s...bsb...s...bs sbbbbsb...sb..bs sb...sb....b..bs sbb..s.b..sbbbbs ssbssssbssssbsss sbb..s..bbs.bbbs sb...s...bs...bs sb.bbbb..Ts...bs sb.b.sb###s...bs sbbb.sb#!#..bbbs ssssssssss.sssss s...#s.....##..s s.&..s#bb###.b.s s....s.bb.s.bb.s s..R.s.bb.s.bb#s s#..'s##..s##..s ssssssss.ssss.ss s...&s#...s&..#s s.ssss.bb#sbbbbs s...bs.bb.sbbbbs ssss.s.bb.#bbbbs s&...s....sbbbbs ssssssssssssssss [additional] 4 2.20.&.1.0 4.25.&.1.1 11.25.&.2.0 1.29.&.2.1 [end] [offset] 6097 [level] 21 [colour] 608050 [size] 16.31 [author] Janusz Pelc [level_notes] [data] PPPPPPPPPPPPPPPP PR.........D...P P...TT.....P.&.P P'.PPPP@...P...P P........?.PPPPP PPPPPP........%P P....PT...}....P P.!..PPP....}..P P.....&P......TP PPPPPPPPPPPPPPPP HHHHHHHHHHHHHHHH HHHHHHHHHHHHHHHH HHHHHH????HHHHHH HHHHH??HH??HHHHH HHHHHHHHH??HHHHH HHHHHHHH??HHHHHH HHHHHHH??HHHHHHH HHHHHHHHHHH}HHHH HHHHHHH??HHHHHHH HHHHHHHHHHHHHHHH HHHHHHHHHHHHHHHH PPPPPPPPPPPPPPPP P....&P.......TP P.&.PPP.....}..P P...PT....}....P PPPPP.........%P P........?.PPPPP P'.PPPP*...P...P P...TT.....P.&.P &..........D...P PPPPPPPPPPPPPPPP [additional] 13 13.2.&.1.0 7.3.@.3 10.6.}.2.0.0.0.1.1 12.7.}.0.0.0.0.1.1 6.8.&.2.1 11.17.}.1.0.0.1.1.1 5.22.&.3.2 2.23.&.2.3 12.23.}.3.0.0.0.1.1 10.24.}.0.0.0.0.1.1 7.27.*.1 13.28.&.3.4 0.29.&.1.5 [end] [offset] 6297 [level] 22 [colour] 606090 [size] 16.31 [author] Janusz Pelc [level_notes] [data] OOOOOOOOOOOOOOOO OOO}.O#........O OOO..O..pTpppp@O OR...O.........O OOO..O........#O OOO..OOOO.pppp.O O}#..HHHHHHHHHTO O}#..HHHHHHHHpTO O}#..HHHHHHHHHTO OOO..OOOO.pppp.O OOO..O..#.....#O O....O.p.ppp.p.O O....O.#.....##O O}...O.pp.p#.p.O O....O#.p.pp...O O....O.pp....p#O O....O.........O O....OOOOM...MOO O}.....O......TO O......O.......O O..T...O.......O O.ppp..O...^...O O......OT.....#O O......OOOO.OOOO O.#.#...#.O...%O OH.b.#.#..OOOOOO O..##...#HO.XbXO O##..H#...OXbX.O O}......#.DbXX.O O.H.##.HH.OXbX!O OOOOOOOOOOOOOOOO [additional] 11 3.1.}.1.0.1.0.0.0 14.2.@.3 1.6.}.0.0.2.0.0.0 1.7.}.0.0.2.0.0.0 1.8.}.0.0.2.0.0.0 1.13.}.0.0.1.0.0.0 9.17.M.0 13.17.M.2 1.18.}.0.0.1.0.0.0 11.21.^.2.0.0 1.28.}.0.0.0.0.0.0 [end] [offset] 6497 [level] 23 [colour] 505050 [size] 16.31 [author] Janusz Pelc [level_notes] [data] ssssssssssssssss s...?..}......!s s.ssss#.#sssssss s..&s..........s sssss.P.PPPP.P.s s..............s s.P.PPP.PP.P.sss s..............s ssss.PP.PP.PPP.s s..............s s.PP.PP.PPP.P?ss s..............s sss.PPP.PPP.PP.s s..............s s.P.M......M.P.s s..............s sss.PPP.PPP.ssss s..............s s..PPP....PPP..s s..P?P....P?P..s s....P....P....s ss..........R.ss s...&..........s s..............s s.....PHP......s s.PPPPPHPPPPPP.s s.....PHP......s s...b..........s s.b............s s.........b....s ssssssssssssssss [additional] 5 7.1.}.1.0.1.0.0.0 3.3.&.1.0 4.14.M.0 11.14.M.2 4.22.&.1.1 [end] [offset] 6697 [level] 24 [colour] [size] 16.31 [author] Janusz Pelc [data] ssssssssssssssss sRs.sT.s.s.....s s.s.ss.s...sss.s s..#.....s.s.s*s ssss.ss.ssss...s s..s..s....sss.s ss...ss.ss...s.s sT.s@...s..s.s.s ssss.ss.s.ssss.s s...........sT.s s.ssTs.ssss.ssss s..sss.Ts.s*...s ss...s.ss.ssss.s s..s.s..s..Ts..s ssss.ss.s.sss.ss s.......s......s s.s.ssssssssss.s s.s.....s..s...s s.sss.!.ss...sTs s.......s..sssss sssssss.ss.s.s's s....s...T...s.s s.ss...s.sss.s.s s..sssss..s..s.s ss..+s...sss.s.s s..sss.s.Ts..s.s s.ssTs.ssss.ss.s s..s........s..s s.ssss@sss.sss.s s..............s ssssssssssssssss [additional] 4 14.3.*.1 4.7.@.3 11.11.*.1 6.28.@.3 [end] [offset] 6897 [level] 25 [colour] 509090 [size] 16.31 [author] Janusz Pelc [level_notes] [data] --qqqqq&qqqqqq-- --qq#......#qq-- --q&....R...&q-- --qq.##.....qq-- --qqqqqqqqqqqq-- ---------------- --ooooo--ooooooo ----ooo--ooo--oo oo--ooo--ooooooo ooooooo--ooo---- ---------------- oooooooooooooooo o...o......o...o o.&.o...?..o.&.o o...o....T.o...o o#..o......o...o ooDoooo.oooo...o o%...To.o'.D...o ooooooo.oooo...o o..T.......^..To ooooooooooo.oooo o.........o.o.!o o..T....}.o.o..o o..}....T.o.oo.o o....o....o.o..o o..ooo#oooo.o.oo o..oM...%...o..o o..oooooooooooHo o..o...o...o...o o&...o...o...oTo oooooooooooooooo [additional] 10 7.0.&.2.0 3.2.&.1.1 12.2.&.3.2 2.13.&.1.3 13.13.&.2.4 11.19.^.2.0.0 8.22.}.2.0.2.0.0.0 3.23.}.0.0.2.0.0.0 4.26.M.0 1.29.&.3.5 [end] [offset] 6A97 [level] 26 [colour] 5000a0 [size] 16.31 [author] Janusz Pelc [data] QQQQQQQQQQQQQQQQ QTTTT..Q....Q..Q Q....Q.........Q Q....QQ..Q#Q@.QQ Q....Q..QQ.QQ..Q Q....Q.QQ?.?QQ.Q Q....Q.#..!..#.Q Q....Q.QQ?.?QQ.Q Q....Q..QQ.QQ..Q Q....QQ..Q#Q@.QQ Q....Q.........Q Q^^^^Q..Q....Q.Q Q^^^^...Q....Q.Q Q....QQQQQQQ.QQQ Q....Q'..Q...Q^Q Q....Q.......Q.Q Q....Q..Q.Q..Q.Q Q....QQQQ.QQQQ.Q Q......&Q.Q&..&Q Q....QQQQ.QQQQ.Q Q....Q.......Q.Q Q....Q.bbbbb.Q.Q Q....Q.......Q^Q Q....QQQQ.QQQQQQ Q....QQQQ.QQQQTQ Q....Q...&...Q.Q Q....Q.QQQQQ.Q.Q Q....Q.QQQQQ...Q Q....Q.QQQQQ...Q Q......QQQQQ.R.Q QQQQQQQQQQQQQQQQ [additional] 16 12.3.@.3 12.9.@.3 1.11.^.1.0.0 2.11.^.1.0.0 3.11.^.1.0.0 4.11.^.1.0.0 1.12.^.3.0.0 2.12.^.3.0.0 3.12.^.3.0.0 4.12.^.3.0.0 14.14.^.2.0.0 7.18.&.1.0 11.18.&.1.1 14.18.&.2.0 14.22.^.2.0.0 9.25.&.4.0 [end] [offset] 6C97 [level] 27 [colour] 008080 [size] 16.31 [author] Janusz Pelc [level_notes] [data] pppppppppppppppp p&.T&ppp.p.D.D.p ppppppT.&..ppp.p pp..Tppp.pTp...p pp&p....%p.p.&.p pp.ppppp.p&p...p pTDp&p.D.p.ppp.p pp.p...ppp.....p pp&pppppM......p pppppppppppppp}p ---------------- ---------------- OOOO-OOOOOOOOOO- O!.OOO..%O%...OO OO......OOOOO.#O -OOOM...O-O#.#.O ---O..#.O-O.#.OO -OOOO...O-O.R#O- OO%.OO&OO-OO&OO- O....OOO---OOO-- O.}...O------OOO O..?..OOO-OOOO&O OO.....}OOO.bO.O -O}..........#.O -OO....#.....b#O --O}.........#.O --OO......#OOO.O ---O##...?OO-O.O ---O.b.#..O--OTO ---OO...&OO--O&O ----OOOOOO---OOO [additional] 20 1.1.&.1.0 4.1.&.10.1 8.2.&.4.2 2.4.&.2.3 13.4.&.5.4 10.5.&.2.5 4.6.&.5.6 2.8.&.10.7 8.8.M.0 14.9.}.3.0.1.0.0.0 4.15.M.0 6.18.&.8.8 12.18.&.9.9 2.20.}.1.0.0.0.1.1 14.21.&.8.10 7.22.}.2.0.0.0.0.0 2.23.}.0.0.0.0.0.0 3.25.}.0.0.0.0.0.0 8.29.&.9.11 14.29.&.1.12 [end] [offset] 6E97 [level] 28 [colour] 608090 [size] 16.31 [author] Janusz Pelc [level_notes] [data] HHHHHHppppHHHHHH Hpppppp..ppppppH Hp............pH Hp.&........&.pH Hp............pH Hpppppp..ppppppH HHHHHHp..pHHHHHH HHHOOOp..pOOOHHH OOOO--p..p--OOOO O-----p^^p-----O O-----p..p-----O O-ppppp..ppppp-O O-p..........p-O OOp.T......%.pOO HHp..........pHH OOppppppppppppOO O&...&..#..&.R.O OOOOOOOOOOOOOOOO ---------------- -OOOOO---------- -O...O---OOOOOOO -O.&.O---O.....O -O...O---O.OOO.O -OOO.O---O.OOO.O ---O.OO}OO.OOO.O OOOO.O...O...O.O }....O...O.O&..O }....O...O.O.OOO OOOO.O...O^O.!.O ---O.....D.O...O ---OOOOOOOOOOOOO [additional] 13 3.3.&.2.0 12.3.&.1.1 7.9.^.3.0.0 8.9.^.3.0.0 1.16.&.3.2 5.16.&.2.3 11.16.&.1.4 3.21.&.3.5 7.24.}.1.0.2.0.0.0 0.26.}.0.0.2.0.0.0 12.26.&.4.6 0.27.}.0.0.2.0.0.0 10.28.^.3.0.0 [end] [offset] 7097 [level] 29 [colour] 706070 [size] 16.31 [author] Janusz Pelc [data] OOOOOOOOOOOOOOOO O##....O#.#O...O O^.........~.R.O O#...#.O.#.O..#O OOO.OOOOOOOO.OOO }......O%...&..O OOOO.OOO.#.O.O.O OT.....O...O.O.O OOO.OO.O#T..&..O }....O.OOOOOOOOO OOOO.O.O...O...O O+...O...O...O.O OOOOOOOOOOOO.O.O O.....OO.....O.O O.....OO.....O.O O..TO@...OT..O.O O..OO.HH.OO*.O.O O.....HH.....O.O OOO.HHHHHH.OOO.O OOO.HHHHHH.OOODO O.....HH.....O.O O..OO.HH.OO*.O.O O..TO@...OT..O.O O.....OO.....O.O OT....OO....TO.O OOOOOOOOOOOOOO.O O...bbbbbbbbbb.O O.!.bbbb.....~.O O.T.bbbb.TT..#.O O...bbbbbbbbbb.O OOOOOOOOOOOOOOOO [additional] 9 1.2.^.3.0.0 0.5.}.0.0.0.0.0.0 12.5.&.1.0 12.8.&.2.0 0.9.}.0.0.0.0.0.0 5.15.@.3 11.16.*.1 11.21.*.1 5.22.@.3 [end] [offset] 7297 [level] 30 [colour] [size] 16.31 [author] Janusz Pelc [data] ssssssssssssssss s...#..~.......s s.R..#.s...T.s.s s...###s.~#..s.s s......s...#.s.s sT.....~.......s ssssssss..~..s.s s..#b..#.....s.s s..#b......~.s.s s..#b........s.s s..#bT....#.Ts.s s..sssssssssss.s s..s.........s.s s..s.ss*s.'T.s.s s..s.ss.ssssss.s s.......s}s}s..s s...sssss.s.s..s s...s...s.s.s..s s#~#s.%.s.s.ss.s s...s..........s ss.sssssssssssss s...s.}}}..s...s s...s......s.T.s s...s.....!s.T.s s...s.ssssss.T.s s...s......s...s ss.ss...bs.ssDss s....~.........s s.sss..T.s.sss@s s....~.........s ssssssssssssssss [additional] 7 7.13.*.1 9.15.}.1.0.2.0.0.0 11.15.}.1.0.2.0.0.0 6.21.}.1.0.1.0.0.0 7.21.}.1.0.1.0.0.0 8.21.}.1.0.1.0.0.0 14.28.@.3 [end] [offset] 7497 [level] 31 [colour] 00f000 [size] 16.31 [author] Janusz Pelc [data] ooooooooooooo--- o...o...o%..o--- o.R.o.&.o...o--- o...o...o^..o--- o#..o..To...o--- o#.#oT'#o...o--- o.#.o##.o...o--- oT..o...o...o--- o#.#o#.#D...o--- o.#.o#..o...o--- o#..o.##ooo.o--- o#..o.#.o-oTo--- o.T#oT.#o-oTo--- o.#.o.#.o-oTo--- o#.#o#.To-oDo--- o.#.o.#.o-o.oooo o%.#o#.#o-o....o o##.o#T.o-oo.~.o o.#.o.#.o--o...o o#......o--o...o ooooooooo--oo.oo ------------o.o- ------------o.o- ooooooooooooo.oo o...H.#..#.....o o.!.H.b##...#..o o...H..#T.##.#To oHHHH.#.#..HH#Ho o..#.#...#.H...o oT#..T##..TH.&.o oooooooooooooooo [additional] 3 6.2.&.1.0 9.3.^.3.0.0 13.29.&.1.1 [end] [offset] 7697 [level] 32 [colour] 204040 [size] 16.31 [author] Janusz Pelc [data] pppppppppppppppp pT...pppppp....p p.pp#..T....pp.p p....pppppp.ppTp pppp.pppppp.pp.p p...&.T#.pp.pp.p p.pppppp.pp.pp.p p.pppppp.R.&pp.p p....ppp.pp.pp.p pppp.ppp.pp.pp.p pppp&....pp....p ppppTpp.pppp.ppp p....pp.pppp.ppp p.ppppp&.+.T&ppp p.ppppp.pppp.ppp p.ppppp.pppp.ppp p..............p p.pp.pp.pp.ppp.p p.pp.pp.pp.ppp.p p.ppT.....T..#.p p.pppppppp.ppp.p p.pppppppp.ppp.p pTpp.......p...p p.pp.ppppppp.ppp p.ppTppppppp.p.p p.............&p ppppp.pp@ppppp.p p...p....p.....p p.!.pppppp.T.T.p p..............p pppppppppppppppp [additional] 7 4.5.&.1.0 11.7.&.2.0 4.10.&.5.0 7.13.&.4.0 12.13.&.3.0 14.25.&.7.0 8.26.@.3 [end] [offset] 7897 [level] 33 [colour] 705000 [size] 16.31 [author] Janusz Pelc [data] OOOOOOOOOOOOOOOO O&.....&....R.&O OOOOOOOOOOOOOOOO O^.............O O........HHH...O OHHH.....HTH...O OHTH.HHH.HHH...O OHHH.HTH.......O O....HHH...HHH.O O.&......b.HTH.O O..........HHH.O O#OOOOOOOOOOOOOO O#....O%.O...~.O O..!..O..O.O.O.O O.M#M....O.~.~.O O.....O......O.O OOOOOOO..O.~~..O ------O&...O.O.O OOO---OOOOOOOOOO O&O------------- O.O--OOOOOOOOOO- O.O--OT.D.DT.%O- O.O--OOOO.OOOOO- O.O-----O.O----- O.O-OOOOO.OOOOO- O.O-O}........O- O.O-O.........O- O.O-O}........O- O.O-OOOOOO.OOOO- O&O------O&O---- OOO------OOO---- [additional] 13 1.1.&.1.0 7.1.&.4.0 14.1.&.2.0 1.3.^.2.1.1 2.9.&.4.1 2.14.M.2 4.14.M.0 7.17.&.1.1 1.19.&.2.1 5.25.}.0.0.1.0.0.0 5.27.}.0.0.1.0.0.0 1.29.&.3.0 10.29.&.3.1 [end] [offset] 7A97 [level] 34 [colour] 505070 [size] 16.31 [author] Janusz Pelc [data] OOOOOOOOOOOOOOOO O^....##.......O O..............O O...........R..O O.........#....O O............#.O O.......#......O O.T...}........O O.....OHHHHHHHHO O.....O...OO...O O.....O.T.OO.T.O O...T.O...OO...O O.....OOOOOOOOOO O..............O O.....OOOOO#OO.O O.....O...O....O O.....&.b.D.OO.O O.T...O...O....O O.....OOOOO#OO.O O..............O O.....OOOOO.OOOO O..T..O........O O.....O......T.O O.....O..^^....O O.....O...^^...O OT....O....^^..O O...T.O.....^^.O O.....O......^^O O.....O.%......O O....TO.......!O OO}OOOOOOOOOOOOO [additional] 14 1.1.^.2.1.1 6.7.}.3.0.1.0.0.0 6.16.&.1.0 9.23.^.2.0.0 10.23.^.2.0.0 10.24.^.2.0.0 11.24.^.2.0.0 11.25.^.2.0.0 12.25.^.2.0.0 12.26.^.2.0.0 13.26.^.2.0.0 13.27.^.2.0.0 14.27.^.2.0.0 2.30.}.3.0.1.0.0.0 [end] [offset] 7C97 [level] 35 [colour] [size] 16.31 [author] Janusz Pelc [data] pppppppppppppppp p!.....p...^...p pppppp.p..p.p..p p....p.p..p.p..p pR....^...p.p..p ppppppppppppp..p p^.............p p..............p p....###.......p p.....b........p pDDDDppppppppppp p.....#bbb#.pV.p p......TTb#.p..p p...#..TTb#.p..p pbbbbbbbbb#.p..p ppppppppppp&pppp p.....p........p p.p.p.p.T.....@p p..&..&@......Tp p.p.p.p........p p.....p@.T.....p pppppppppppppppp p....p.T.......p p.pT*p...ppppp.p p.pp.pp.pp.}.p.p p......&.....p.p pppHppp.pp...pDp -p...p...p...p.p -p.T.p.T.p.%.p.p -p...p...p...p'p -ppppppppppppppp [additional] 12 11.1.^.3.0.0 6.4.^.3.0.0 1.6.^.2.1.1 11.15.&.1.0 14.17.@.1 3.18.&.2.0 6.18.&.3.0 7.18.@.3 7.20.@.3 4.23.*.1 11.24.}.1.0.0.0.0.0 7.25.&.2.1 [end] [offset] 7E97 [level] 36 [colour] [size] 16.31 [author] Janusz Pelc [data] ---------------& -...---...---... -.-.....-.---.-- -@---T---@....-- -.-.....-.---.-- -...---...---.-- --.----------.-- --.----------.-- --.----------.-- pp.pppppppppp.pp p..p........p..p p..............p p......R......!p pp............pp p}HHHHbHHHbHHHMp pppp.ppppppppppp ----.----------- ----.----------- -.........^....- ------.--------- ------.--------- pppppp.ppppppppp p......#T..p...p p.ppppp..p...p.p p.p...p.pppppp.p p.p.p.pTp......p p.p.p.ppp.pppppp p...p.....p...&p ppppppppppp.pppp }HHHHHHHHHHHH+Tp pppppppppppppppp [additional] 8 15.0.&.2.0 1.3.@.1 9.3.@.3 1.14.}.0.0.1.0.0.0 14.14.M.2 10.18.^.2.0.0 14.27.&.2.1 0.29.}.0.0.1.0.0.0 [end] [offset] 8097 [level] 37 [colour] [size] 16.31 [author] Janusz Pelc [data] pppppppppppppppp p...p.....Tp...p p.R.pp.ppppp.&.p p....p..pp.D...p p.pp.pp....p.%.p p.Tp.ppppp.p...p p.pp..TpT..ppppp p..pp.pppp....Tp pp.........ppppp pp.pp.p!pT...pVp p..pp.pppp.p.pVp pp......p..p.pVp pT.pppp.p.pp.pVp pp...Tp......pVp p..pp.p.pppp.pVp pp.Tp.....pp.p.p p......pp....p.p ppp.pp.pT.pp...p p......pp.ppp.Tp p.pppp......p.pp p.pTpp.pppp.p.pp p........p..p..p ppp.pp.p.p.ppp.p pTp.pT.........p p...pppppppppppp ppp......D.....p p...ppppppp..&.p p%p.p.....p....p ppppp.&.'.pppppp ppppp.....pppppp pppppppppppppppp [additional] 3 13.2.&.1.0 13.26.&.1.1 6.28.&.1.2 [end] [offset] 8297 [level] 38 [colour] [size] 16.31 [author] Janusz Pelc [data] PPPPPPPPPPPPPPPP P!.............P P#HHHHHHHHHHHH#P P.HHHHHHHHHHHH.} P.HHHHHTHHHHHH.P }.HHHHHHHHHHHH.P P.HHHTHHHHHTHH.P P.HHHHHHHHHHHH.} P.HHHHHHTHHHHH.P }.HHHHHHHHHHHH.P P.HHHTH#HHHHHH.P P.HHH...HHHHHH.P P.HHHHHHHH#HHH.P P.#THTHHHHHHH#.} P.HHHHHHHHHHb#.} P.#HTHHHHHHbH#.} P.HHHHTHHHHHH#.P P.HTHHHHHHHHH#.P P.HHHTHH...HH#.P P.HHHHHHHH.HH#.P P.HT#HHHHH.HHH.P P.HHHHHHHH.HHH.P P.H'HHHH.....H.P P.HHHHHHHH.##..} P.HH#HHHHH...H.P P.HHHHHHHHHHHH.P P.HHHHHHHHHHHH.P P.HHHHHHHHH#HH.P P..............P P.R....#.......P PPPPPPP}PPPPPPPP [additional] 9 15.3.}.2.0.2.0.0.0 0.5.}.0.0.2.0.0.0 15.7.}.2.0.2.0.0.0 0.9.}.0.0.2.0.0.0 15.13.}.2.0.2.0.0.0 15.14.}.2.0.2.0.0.0 15.15.}.2.0.2.0.0.0 15.23.}.2.0.2.0.0.0 7.30.}.3.0.2.0.0.0 [end] [offset] 8497 [level] 39 [colour] [size] 16.31 [author] Janusz Pelc [data] pppppppppppppppp p..............p p.R#...~.....T.p p..........~...p p~...........#.p p...T...~......p p..............p p.~...........?p pppppHppppHppppp p......pp......p p.pppppppppppp.p p......pp.#....p p......pp!..p}.p p......pppp....p M^........p.p..p M....^....p.pT.p p......pppp.p..p p......p...#...p ppppp..p.pp.p}.p p...p..p.pT....p p.&.H..p.ppppppp p...p..p.......p ppppp..p.ppppp@p pT.....p.ppppp.p p......p.....@.p p..pppppppppp..p p.Tp....#T.#p.pp p..p.&.#T#T.p..p p..p...##T.#pp.p p..p.?.#...#p'.p p}}ppppppppppppp [additional] 12 13.12.}.1.0.0.0.0.0 0.14.M.0 1.14.^.2.0.0 0.15.M.0 5.15.^.2.0.0 13.18.}.3.0.1.0.0.0 2.20.&.1.0 14.22.@.3 13.24.@.0 5.27.&.1.1 1.30.}.3.0.1.0.0.0 2.30.}.3.0.1.0.0.0 [end] [offset] 8697 [level] 40 [colour] [size] 16.31 [author] Janusz Pelc [data] ooooooo..ooooooo o.....o..o.....o o.-T-.oooo.-*-.o o..-@...D..T-+.o o.-T-.oooo.-*-.o o.....o..o.....o ooo.ooo..ooooooo ..o.o........... ooo.ooo......... o.....o......... o.-.-.o.ooooooo. o..-T*o.o.....o. o.-.-.ooo.-T#.o. o..........M@.o. ooooooooo.#T-.o. ........o.....o. ooooooo.ooo.ooo. o.....o...o.o... o.-%-.o.ooo.ooo. o.*-T.o.o.....o. o.-.-.o.o.-.-.o. o.....o.o.@-@.o. ooo.ooo.o.-.-.o. ..o.o...o.....o. ..o.o...oo.oooo. ..o.o....o.o.... ooo.oo}ooo.ooooo o....o.o.......o o.!..o.o.o...R.o o........o.....o oooooooooooooooo [additional] 10 12.2.*.1 4.3.@.3 12.4.*.3 5.11.*.1 11.13.M.2 12.13.@.3 2.19.*.1 10.21.@.1 12.21.@.3 6.26.}.1.0.0.0.0.0 [end] [offset] 8897 [level] 41 [colour] [size] 16.31 [author] Janusz Pelc [data] pppppppppppppppp p..............p p&............&p ppppp.....%ppppp M......^.......M p..............p p.#..#...#..#..p p.}..}...}..}..p p..............p p..............p p.........T....p p..T...........p p............T.p p.#....T...#...p p..........?...p p.....#.T......p p............#.p p........T.....p p..............p p...T......T...p p.............Tp p....ppppp.....p pT...p...p...##p p....D.b.D..T#!p pppppp...ppppppp -----p...p------ -----p.&.ppppp-- -----p...p...p-- -ppppppppp.R.p-- -p&..........p-- -ppppppppppppp-- [additional] 11 1.2.&.1.0 14.2.&.2.0 0.4.M.0 7.4.^.2.1.1 15.4.M.2 2.7.}.1.0.0.0.0.0 5.7.}.1.0.0.0.0.0 9.7.}.1.0.0.0.0.0 12.7.}.1.0.0.0.0.0 7.26.&.2.1 2.29.&.1.1 [end] [offset] 8A97 [level] 42 [colour] [size] 16.31 [author] Janusz Pelc [data] PPPPPPPPPPPPPPPP PR~............P PPPPPPPPTPPPP.PP P..............} PPPTPPPPPPTPPPPP }..............P PPPPPPTPPPPPPPPP P..............} PPPPTPPPPTPPTPPP }..............P PPPPPPPPPPTPPPPP }.............TP PP.PPPPPPPPPPPPP P..#.^.......P.P PPPPPP.PPPPP...P }..........P.P.P PPPPP.PPPPPP.P.P }.........TP.P.P PPPPPPPP.PPP.P.P --P........}.P&P --P.P.PPPPPP.PPP --P.P.P----P.P-- --PTP.P----P.P-- PPPPP.PPPP-P.P-- P}......}P-P.P-- PPPPP.PPPP-P.P-- ----P.P----P.P-- ----P.P----P.P-- ----P.P----P.P-- ----P&P----P!P-- ----PPP----PPP-- [additional] 13 15.3.}.2.0.0.0.0.0 0.5.}.0.0.0.0.0.0 15.7.}.2.0.1.0.0.0 0.9.}.0.0.0.0.0.0 0.11.}.0.0.1.0.0.0 5.13.^.2.0.0 0.15.}.0.0.1.0.0.0 0.17.}.0.0.1.0.0.0 11.19.}.2.0.1.0.0.0 14.19.&.1.0 1.24.}.0.0.1.0.0.0 8.24.}.2.0.1.0.0.0 5.29.&.1.1 [end] [offset] 8C97 [level] 43 [colour] [size] 16.31 [author] Janusz Pelc [data] pppppppppppppppp p#...#T#..#}#T#p p}#...#...##...p p#..#.#..#...#.p p.##....#......p p....pppppp.##.p p.#..p^...p.#.#p p#..#p....p#T..p p.#..p....p..#.p p....p.!..p.#T#p p....p.#..p#.#.p p####p.T..p.#T#p p####p...T#....p p....p....p.##.p p...#p..T.p...#p p.#..p....p#...p p..#.pT...p..#Tp p#...ppppppHHHHp p#.............p p...R...&..bbb.p p..............p p##..ppppppHHHHp p....p----p....p p..#.p----p.%%.p p....p----p....p p.#..p----p####p pDDDDp----p....p pT...p----p.T..p p....p----p..&.p p.}}.p----p....p pppppp----pppppp [additional] 7 11.1.}.1.0.0.0.0.0 1.2.}.0.0.0.0.0.0 6.6.^.2.1.1 8.19.&.1.0 13.28.&.1.1 2.29.}.3.0.1.0.0.0 3.29.}.3.0.1.0.0.0 [end] [offset] 8E97 [level] 44 [colour] [size] 16.31 [author] Janusz Pelc [data] PPPPPPPPPPPPPPPP PRP?P.PTP.P.PPPP P.P^P^P.P^P^PPPP P.P.P.P^P.P.H..P P.P.P.P.P.H.PP.P P.P.P.H.P.P.PP.P P.P.P.P.H.P.PP.P P'..H.P.P.P?PP.P PPPPPPPPPPPPP..P PPPPPPPPPPPPP.PP P..............P P..P@P@P@P@P@P.P P.P.P.P@P@P@P..P P..............P PPP.PPP.PPP.PPPP -P...P...P...P-- -P.}.P.&.P.P.P-- -P...P...P...P-- -P...PPPPPP.PPPP PP.....P.......P P....T.P.b...T.P P.#T...P...}...P P.PPPPPPPPPPPDPP P.&....P...P...P P.P..T.P.!.P.+.P P.P....P.......P P.PPPPPPPPPPPPPP P.P....P...P...P P.P..%.P.'.D.&.P P.&....P...P...P PPPPPPPPPPPPPPPP [additional] 19 3.2.^.3.0.0 5.2.^.3.0.0 9.2.^.3.0.0 11.2.^.3.0.0 7.3.^.3.0.0 4.11.@.3 6.11.@.3 8.11.@.3 10.11.@.3 12.11.@.3 7.12.@.1 9.12.@.1 11.12.@.1 3.16.}.1.0.0.0.0.0 7.16.&.2.0 11.21.}.3.0.1.0.0.0 2.23.&.1.0 13.28.&.2.1 2.29.&.1.1 [end] [offset] 9097 [level] 45 [colour] 808040 [size] 16.31 [author] Janusz Pelc [data] PPPPPPPPPPPPPPPP P..............P P.T....T....T..P P....T....T....P P..............P P}HHHHHHH.....}P PPPP.PPPPP.....P PHHHHHHHHP%...%P PHHHHHHHHPPPDPPP PHHHHHHHHP.....P P........P.?.!.P P.#......PP....P P.......#}PPPPPP P..%%..P.PP....P P......D....PP.P P......P..P...#P PP....PP.#P#PP.P PM....?P#..#...P PM....?P.P.PRP.P PPPPP.PPPPPPPPPP P..P...P...P...P PT.D.&.D.T.D.%.P P..P...P...P...P PDPPPDPPPDPPPDPP P..P...P...P...P P%...T.D.&...&.P P..P...P...P...P PDPPP.PPPDPPPDPP P..P...P...P...P PT.D.&.D.T...%.P PPPPPPPPPPPPPPPP [additional] 9 1.5.}.3.0.0.1.0.0 14.5.}.2.0.0.0.0.0 9.12.}.3.0.0.1.0.0 1.17.M.0 1.18.M.0 5.21.&.1.0 9.25.&.2.0 13.25.&.1.1 5.29.&.2.1 [end] [offset] 9297 [level] 46 [colour] 70a070 [size] 16.31 [author] Janusz Pelc [data] pppppppppppppppp p..&p&....#p...p p...p..%...p.&.p p...p......p...p p.R#p......p...p ppDpppppp}pppHpp p...p......p...p p.'.p&....!p..&p p###p######p###p pppppppppppppppp ---------------- ---------------- ---------------- ---------------- ---------------- pppppppppppppppp p^##...........p p#.............p p..............p pHHHHHHHHHHHp..p pHHHHHH#HHHHp..p pTpTpTpTpTpTp..p ppppppppppppp..p p..............p p.b.ppppppppp..p p..............p ppppp.p@p.p.p..p p...p.p.p@p.p..p p.&...p.p.p@p..p p...p..........p pppppppppppppppp [additional] 11 3.1.&.1.0 5.1.&.2.0 13.2.&.3.0 9.5.}.3.0.0.1.0.0 5.7.&.1.1 14.7.&.2.1 1.16.^.2.1.1 7.26.@.3 9.27.@.3 2.28.&.3.1 11.28.@.3 [end] [offset] 9497 [level] 47 [colour] 707070 [size] 16.31 [author] Janusz Pelc [data] QQQQQQQQQQQQQQQQ Q..............Q Q..bbbbbbbbbb..Q Q..b########b..Q Q..b#..^...#b..Q Q..b#^TTTT^#b..Q Q..b#...^..#b..Q Q..b########b..Q Q..bbbbbbbbbb..Q Q..............Q Q..............Q Q..............Q Q..............Q Q..............Q Q..QQQ.QQQ.QQ..Q Q....Q..Q...Q..Q Q.b.........Q..Q QQQ.Q..QQQ.....Q Q.Q.Q....Q@..Q.Q Q.Q.QQ......QQ.Q Q......QQ....Q.Q QQQQ.%.QQ.QQ...Q Q..Q.......QQ..Q Q....QQQ*......Q Q.Q...Q..QQ.QQQQ Q.QQQ.....Q..Q.Q Q.........Q....Q QQQQQQQQQ......Q Q....D..D....&&Q Q.!'.Q..Q....&RQ QQQQQQ}.QQQQQQQQ [additional] 10 7.4.^.2.0.0 5.5.^.3.0.0 10.5.^.1.0.0 8.6.^.0.0.0 10.18.@.3 8.23.*.1 13.28.&.2.0 14.28.&.1.0 13.29.&.3.0 6.30.}.3.0.0.1.0.0 [end] [offset] 9697 [level] 48 [colour] 905050 [size] 16.31 [author] Janusz Pelc [data] pppppppppppppppp p...p??????p...p p.&.pHHHHHHp.+.p p###p......p###p pbbbp......pbbbp p..............p p..............p p..............p p.ppp.ppp.ppp..p p...pbpb...p...p p.......pp...ppp p.p.ppp..pp.bp.p p.p..p.R.....p.p p.pp.b..pppp...p p........b...p.p ppppp.ppp..ppp.p p.....p........p ppppp...ppp.pp.p p.....p...p..p.p p..pp.ppp..b.p.p p.pp......p....p p....pp.ppp.pppp p.p..pp.......pp p.pp.b..ppp.p..p p..p......p.pp.p p............p.p ppppppp.}.pp...p p.....p...p....p p.&.!.p...p..?.p p.....p........p pppppppppppppppp [additional] 3 2.2.&.1.0 8.26.}.3.0.0.1.0.0 2.28.&.1.1 [end] [offset] 9897 [level] 49 [colour] 703030 [size] 16.31 [author] Janusz Pelc [level_notes] [data] SSSSSSSSSSSSSSSS S....S'........S S.&..S.......R.S S....S.b..SSSSSS S....S....S...TS S....S....S....S S==============S S....S....S....S S....ST...ST..!S S....SSSSSSSSSSS S..............S S}.............S S.............}S S.%.......S....S SSSSSSSSSSSb...S S.%.S....TS....S S.S...SS&SS####S S.SSSSS...S####S S.......STS....S SSSSSSSSSSS....S S...S..........S ST@.D..........S S...S..........S SSSSS.........}S S...S..........S ST*.D...#...#..S S...S..S.S.S.S.S SSSSSSSS.SSS^SSS S...S..........S STS...S.^.T...TS SSSSSSSSSSSSSSSS [additional] 23 2.2.&.1.0 1.6.=.0 2.6.=.0 3.6.=.0 4.6.=.0 5.6.=.0 6.6.=.0 7.6.=.0 8.6.=.0 9.6.=.0 10.6.=.0 11.6.=.0 12.6.=.0 13.6.=.0 14.6.=.0 1.11.}.0.0.2.0.0.0 14.12.}.2.0.2.0.0.0 8.16.&.1.1 2.21.@.3 14.23.}.2.0.0.0.0.0 2.25.*.1 12.27.^.3.0.0 8.29.^.3.0.0 [end] [offset] 9A97 [level] 50 [colour] 409040 [size] 16.31 [author] Janusz Pelc [data] OOOOOOOOOOOOOOOO O...#O...O.....O O.R..O.!......}O O....O...O.....O O....OOOOO...&.O O}.........}...O OOO.OOOOOOOOOOOO ---.------------ -}.............- -------------.-- -------------T-- ------OOO------- OOOOOOO&OOOOOOOO O..............O O....b......#..O O==......===..=O OO==.....==...=O OOO=.....==..==O O..........b...O O..............O OOOOOOO&OOOOOOOO ------OOO------- ---------------- ---------------- OOOOOOOOOOOOOOOO O..............O O.&...T.....T..O O........T.....O OOOO...........O OT.....}....}.TO OOOOOOOOOOOOOOOO [additional] 10 14.2.}.2.0.0.0.0.0 13.4.&.1.0 1.5.}.0.0.1.0.0.0 11.5.}.3.0.1.0.0.0 1.8.}.0.0.1.0.0.0 7.12.&.2.0 7.20.&.1.1 2.26.&.2.1 7.29.}.3.0.0.1.0.0 12.29.}.3.0.0.1.0.0 [end] [offset] 9C97 [level] 51 [colour] 609090 [size] 16.31 [author] Janusz Pelc [data] pppppppppppppppp p@........p....p p@T.T.T.T.p..R.p p@........p....p pHHHHHHHHHp....p p..............p p.............}p p..............p p.............@p ppppppppppp....p p*........p....p p*!.....?.p....p p*........p....p pHHHHHHHHHp....p p..............p p..T..........}p p.........T...@p p..............p ppppppppppp....p p..............p p^..#..........p p..............p p........T....@p p..............p p==============p p..............p ppDpp==========p p...p..........p p.}.D.%.T..T.%.p p...p..........p pppppppppppppppp [additional] 13 1.1.@.3 1.2.@.3 1.3.@.3 14.6.}.2.0.0.0.0.0 14.8.@.1 1.10.*.1 1.11.*.1 1.12.*.1 14.15.}.2.0.0.0.0.0 14.16.@.1 1.20.^.2.1.1 14.22.@.1 2.28.}.3.0.0.1.0.0 [end] [offset] 9E97 [level] 52 [colour] 505050 [size] 16.31 [author] Janusz Pelc [data] --QQQQQQQQQQQQ-- --Q.....Q....Q-. --Q.R...D.'..Q-. --Q.....Q....&-. --Q#....Q....Q-. --Q.#.#.QQQQQQ-. --Q.#.#.Q....Q-^ -..#.#.#Q..&.Q-. -.Q.#.#.Q#.#.Q-. -.Q##.T.Q.#.#Q-. -.Q..#.#Q#...&-. -.Q.###.Q.##.Q-. -.Q..#T#Q....Q-. -.Q==========Q-. -.Q.....Q....Q-. -...Q.Q.Q.T..Q-. -.Q.Q&Q.Q....Q-- -.Q.QQQ*Q}...QQQ -.Q.QTQ.Q.....}Q -.Q.....Q....QQQ -.QQQQQQQ..T.Q-- -.Q.....Q....Q-- -.Q.+.T.Q.QQ.Q-- -.Q.....Q.QQ@Q-- -.QQHHHQQ.QQ...- -.Q.....Q....Q.- -....T..QQQQQQ.- --Q.....Q....Q.- --Q}..%.Q.!..D.- --Q.....Q....Q-- --QQQQQQQQQQQQ-- [additional] 10 13.3.&.9.0 15.6.^.3.0.0 11.7.&.1.0 13.10.&.9.1 5.16.&.1.1 7.17.*.1 9.17.}.0.0.1.0.0.0 14.18.}.2.0.1.0.0.0 12.23.@.3 3.28.}.0.0.2.0.0.0 [end] [offset] A097 [level] 53 [colour] 505070 [size] 16.31 [author] Janusz Pelc [data] OOOOOOOOOOOOOOOO OT............TO O...########...O O..###V##V###..O O..#R.####..#..O O..##......##..O O...########...O O&...@.@.@.@..TO OOOOOOOOOOOOOOOO ---------------- ---------------- OOOOOOOOOOOOOOOO OT.^HH.........O OOOOOO.........O OT.^HH.........O OOOOOO.....#...O OT.^HH.........O OOOOOO......?..O OT.^HH.........O OOOOOO.........O O..............O O.OOOOOOOOOOOOOO O...##.#.##.#..O O....#.##..#.'.O O.&...##.#.#..#O O...#..#..#.#..O OOOOOOOOOOOOOOOO O...O..!...O...O O.&}........}&.O O.....O..O.....O OOOOOOOOOOOOOOOO [additional] 14 1.7.&.1.0 5.7.@.0 7.7.@.0 9.7.@.0 11.7.@.0 3.12.^.2.0.0 3.14.^.2.0.0 3.16.^.2.0.0 3.18.^.2.0.0 2.24.&.2.0 2.28.&.1.1 3.28.}.0.0.1.0.0.0 12.28.}.2.0.1.0.0.0 13.28.&.2.1 [end] [offset] A297 [level] 54 [colour] [size] 16.31 [author] Janusz Pelc [data] oooooooooooooooo oooo.......o...o oooo.&.ooobo.T.o oooo...ooo.o.T.o oooooooooo.o.T.o o'}'ooooooDo.T.o o..........o...o o..........o.&.o o..........o...o o........#.ooooo o...o.#........o oM#Mo......#.&.o o..&o.R.#......o o...o.....#.#..o o...o..#.......o oM..o..........o o...o==========o o..Mo..........o o...o..........o o&#.o..oooooo.oo oooooo.o----o.o- ----o..o---oo.oo ----o.oo---o...o ooooo..ooo-o.&.o o........o-o...o o...o....o-ooooo o........o------ o..Mo....o------ o...o..!.o------ o?.%o....o------ oooooooooo------ [additional] 12 5.2.&.10.0 2.5.}.1.0.1.0.0.0 13.7.&.2.0 1.11.M.0 3.11.M.2 13.11.&.10.1 3.12.&.1.0 1.15.M.0 3.17.M.2 1.19.&.2.1 13.23.&.1.1 3.27.M.2 [end] [offset] A497 [level] 55 [colour] [size] 16.31 [author] Janusz Pelc [data] ssssssssssssssss s...s@.....s...s s.R.s......s.&.s s...s....'.s...s s...&@.....&...s ssssssssssssssss s...#..#.HTHT##s s.&...#.#T#T#T#s s..#.#.#T#T#T#Ts s##.#.#.#T#T#T#s s============sss s...s...s......s s.T.D.T.s.?..&.s s...s...s......s ssssssssssssssss s..........s...s s.s.^......s.!.s s.s........s.}.s s.s..s..s..s...s s.s.....b..s...s s.s........ssDss s.s............s s.ssssssssss...s s.s.}}}}}}.s...s s.s}......}s...s s.s}......}s...s s.s}......}ss.ss s.s}......}s...s s.s}......}s.&.s s&s.}}}}}}.s...s ssssssssssssssss [additional] 33 5.1.@.3 13.2.&.3.0 4.4.&.1.0 5.4.@.3 11.4.&.2.0 2.7.&.4.0 13.12.&.10.0 4.16.^.2.1.1 13.17.}.1.0.1.0.0.0 4.23.}.1.0.1.0.0.0 5.23.}.1.0.1.0.0.0 6.23.}.1.0.1.0.0.0 7.23.}.1.0.1.0.0.0 8.23.}.1.0.1.0.0.0 9.23.}.1.0.1.0.0.0 3.24.}.0.0.1.0.0.0 10.24.}.2.0.1.0.0.0 3.25.}.0.0.1.0.0.0 10.25.}.2.0.1.0.0.0 3.26.}.0.0.1.0.0.0 10.26.}.2.0.1.0.0.0 3.27.}.0.0.1.0.0.0 10.27.}.2.0.1.0.0.0 3.28.}.0.0.1.0.0.0 10.28.}.2.0.1.0.0.0 13.28.&.4.1 1.29.&.3.1 4.29.}.3.0.1.0.0.0 5.29.}.3.0.1.0.0.0 6.29.}.3.0.1.0.0.0 7.29.}.3.0.1.0.0.0 8.29.}.3.0.1.0.0.0 9.29.}.3.0.1.0.0.0 [end] [offset] A697 [level] 56 [colour] [size] 16.31 [author] Janusz Pelc [data] ssssssssssssssss sT............&s ss.^..sss......s s.....sTs@.....s ss...ss.sssM...s sT....s.s......s ss....s^s..T...s s%............+s ssssssM.Msssssss s...s......s#HTs s.&.s.}.}..sT#.s s...s......s#H#s ss#ss....b.sbHHs s........#.s#HHs s.....T....sssHs s}#........HHHbs ssssssssssssssss ---------------- ---------------- ---------------- ssssssssssssssss s&........^^..!s sssssssssMbMssss s...ss...#.#...s s.&.ss&ssM.Mss&s s...sssss...ssss s.R......#b#...M s...sssss...ssss s.&.ss'ssM.Mss&s s...D..........s ssssssssssssssss [additional] 26 14.1.&.2.0 3.2.^.3.0.0 9.3.@.3 11.4.M.0 7.6.^.2.0.0 6.8.M.0 8.8.M.2 2.10.&.3.0 6.10.}.1.0.0.0.0.0 8.10.}.1.0.0.0.0.0 1.15.}.0.0.2.0.0.0 1.21.&.1.0 10.21.^.2.0.0 11.21.^.0.0.0 9.22.M.0 11.22.M.2 2.24.&.2.1 6.24.&.1.1 9.24.M.0 11.24.M.2 14.24.&.4.0 15.26.M.2 2.28.&.3.1 9.28.M.0 11.28.M.2 14.28.&.4.1 [end] gnurobbo-0.66+dfsg/data/levels/robbo07.dat0000644000175000017500000004164011324353351017413 0ustar stevesteve[name] RobboVII [last_level] 16 [default_level_colour] 608050 [notes] Level 1: The gun at 5.8 is a blaster. It had to be made solid because in GNU Robbo the blaster obliterates bombs and doesn't blow them up. Blowing the bomb is key to advancing. Level 2: Teleporting down to the left-right bird is very annoying; most times Robbo dies. I have replaced it with two up-down birds left and right. They still represent a challenge, just not a ridiculous one. Level 7: The capsule has been moved up one else Robbo teleports next to the birds and dies. Level 10: A question mark at 9.28 that could prevent advancement has been removed. Level 11: Robbo has to initially get a key and open a door. Behind the door is a bird and most times Robbo dies. The room has been extended leftwards. Level 12: Moved the ? from 13.29 to 11.29 to allow one space between Robbo's teleport destination and the nearest ? Level 14: The bird at the top is almost impossible to pass. The area below it has been deepened. *THIS SET IS COMPLETE NOW* [offset] 50A3 [level] 1 [colour] 1F6384 [size] 16.31 [author] 1990 Avalon [data] qqqqqqqqqqqqqqqq q..&q....H^..#.q q.'.q....H.....q q...q....H.H...q q...M....H..Hb.q q...M....H..H..q q...H..?....H.Rq q...H.?.HHHHH..q q}%%q}......HHHq qqqqqqqqqqqqqqqq ----&TTT...bbb-- ---bbbbbbb.V&b-- ---b&...!b..&b-- ---b&..bbb..&b-- ---b&&&&&&&&&b-- ---bbbbbbb..bb-- ----..........-- ----bbb---...--- ----^@*--.-.-.-- ----bbb---...--- ----...----.---- ----...--------- ---&DDD&&&&&---- ---&..TbTT.&---- ---&...#...&---- ---&..}..}.&---- ---&&&&&&&&&---- ---------------- ---------------- ---------------- ---------------- [additional] 47 3.1.&.1.0 10.1.^.0.1.1 4.4.M.0 4.5.M.0 1.8.}.3.0.0.1.0.0 5.8.}.3.0.1.0.0.0 4.10.&.3.0 12.11.&.3.1 4.12.&.3.2 12.12.&.3.3 4.13.&.3.4 12.13.&.3.5 4.14.&.3.6 5.14.&.3.7 6.14.&.3.8 7.14.&.3.9 8.14.&.3.10 9.14.&.3.11 10.14.&.3.12 11.14.&.3.13 12.14.&.3.14 4.18.^.0.0.0 5.18.@.2 6.18.*.0 3.22.&.1.1 7.22.&.1.2 8.22.&.1.3 9.22.&.1.4 10.22.&.1.5 11.22.&.1.6 3.23.&.1.7 11.23.&.1.8 3.24.&.1.9 11.24.&.1.10 3.25.&.1.11 6.25.}.3.0.1.0.0.0 9.25.}.3.0.1.0.0.0 11.25.&.1.12 3.26.&.1.13 4.26.&.1.14 5.26.&.1.15 6.26.&.1.16 7.26.&.1.17 8.26.&.1.18 9.26.&.1.19 10.26.&.1.20 11.26.&.1.21 [end] [offset] 52A3 [level] 2 [colour] 81970F [size] 16.31 [author] 1990 Avalon [data] ---------------- ----------&&&&&& --&&&&&&&&&%..R& --&}......&%&..& --&}......&&&~D& --&}TTT......~D& --&&&&&&.......& -------&.&.....& -------&....&..& -------&&&&&&&&& ---------------- ---------------- ---------------- HHHHHHHHHHHHHHHH H.^...........^H H...DDDDTT&DT..H H...TDDDTDDDD..H H...DDDDDDDDT..H H...DTDDD&DDD..H H.....TTD....T.H H..............H H...HHHHHHHHHHHH HHHHH----------- ---------------- -----------????- -----------????- -----&&&&&-????- -----&...&.????- -----&'.!&------ -----&&&&&------ ---------------- [additional] 70 10.1.&.1.0 11.1.&.1.1 12.1.&.1.2 13.1.&.1.3 14.1.&.1.4 15.1.&.1.5 2.2.&.1.6 3.2.&.1.7 4.2.&.1.8 5.2.&.1.9 6.2.&.1.10 7.2.&.1.11 8.2.&.1.12 9.2.&.1.13 10.2.&.1.14 15.2.&.1.15 2.3.&.1.16 3.3.}.0.0.0.0.1.1 10.3.&.1.17 12.3.&.2.0 15.3.&.1.18 2.4.&.1.19 3.4.}.0.0.0.0.1.1 10.4.&.1.20 11.4.&.1.21 12.4.&.1.22 15.4.&.1.23 2.5.&.1.24 3.5.}.0.0.0.0.1.1 15.5.&.1.25 2.6.&.1.26 3.6.&.1.27 4.6.&.1.28 5.6.&.1.29 6.6.&.1.30 7.6.&.1.31 15.6.&.1.32 7.7.&.1.33 9.7.&.2.1 15.7.&.1.34 7.8.&.1.35 12.8.&.3.0 15.8.&.1.36 7.9.&.1.37 8.9.&.1.38 9.9.&.1.39 10.9.&.1.40 11.9.&.1.41 12.9.&.1.42 13.9.&.1.43 14.9.&.1.44 15.9.&.1.45 2.14.^.1.0.0 14.14.^.1.0.0 10.15.&.3.1 9.18.&.4.0 5.26.&.4.1 6.26.&.4.2 7.26.&.4.3 8.26.&.4.4 9.26.&.4.5 5.27.&.4.6 9.27.&.3.2 5.28.&.4.7 9.28.&.4.8 5.29.&.4.9 6.29.&.4.10 7.29.&.4.11 8.29.&.4.12 9.29.&.4.13 [end] [offset] 54A3 [level] 3 [colour] 996600 [size] 16.31 [author] 1990 Avalon [data] M}}}}}}}}}}}}}}M M...........D%TM M........~..D.RM M...~....b.~DDDM M............%.M M......b.~.bT.%M M...b........T.M M......~...~...M M...~..........M M}DD}}}}}}DD}}}M ------....------ ---------.------ ---------.------ ---------.------ ---------.------ ---------.------ ---------.------ ---------.------ -..........----- -..DDD......---- -.DD'DTTDDD..--- -..TD'DD'''D..-- -.DDD'D'''&DD.-- -.D.DDTDDDDT..-- -...''.DDTDDD.-- ---.......'''.-- ---------.....-- ---------------- -!..------------ -..&------------ ---------------- [additional] 46 0.0.M.2 1.0.}.0.0.0.0.1.1 2.0.}.0.0.0.0.1.1 3.0.}.0.0.0.0.1.1 4.0.}.0.0.0.0.1.1 5.0.}.0.0.0.0.1.1 6.0.}.0.0.0.0.1.1 7.0.}.0.0.0.0.1.1 8.0.}.0.0.0.0.1.1 9.0.}.0.0.0.0.1.1 10.0.}.0.0.0.0.1.1 11.0.}.0.0.0.0.1.1 12.0.}.0.0.0.0.1.1 13.0.}.0.0.0.0.1.1 14.0.}.0.0.0.0.1.1 15.0.M.0 0.1.M.2 15.1.M.0 0.2.M.2 15.2.M.0 0.3.M.2 15.3.M.0 0.4.M.2 15.4.M.0 0.5.M.2 15.5.M.0 0.6.M.2 15.6.M.0 0.7.M.2 15.7.M.0 0.8.M.2 15.8.M.0 0.9.M.2 1.9.}.0.0.0.0.1.1 4.9.}.0.0.0.0.1.1 5.9.}.0.0.0.0.1.1 6.9.}.0.0.0.0.1.1 7.9.}.0.0.0.0.1.1 8.9.}.0.0.0.0.1.1 9.9.}.0.0.0.0.1.1 12.9.}.0.0.0.0.1.1 13.9.}.0.0.0.0.1.1 14.9.}.0.0.0.0.1.1 15.9.M.0 10.22.&.3.0 3.29.&.3.1 [end] [offset] 56A3 [level] 4 [colour] 961B2B [size] 16.31 [author] 1990 Avalon [data] .TTRqbbbbbq..T.. T...Hb@@@bD..T.! ..T'qbb@bbq.T??? qHHHqqqbbbqMMMMq -H.H---bbb------ -H.H---bbb------ -H.H---bbb------ -H.H---bbb------ -H.H--bbbbb.@--- -H.H--bb-------- -H.H--bb-------- -H.H--bb-------- -H.H--bb-------- -H.H--bb-------- &&.&&&bb&&&&&&&& &..............& &.........*....& &....HHTHHT....& &...HHHTTHHH...& &..TTHHTHHHTT..& &..HHHHHHHHHHH.& &..HHHHHHHHHT..& &...HTTHHHHHHH.& &...H..HHHTTH..& &...........H..& &..............& &..............& &&&&&&&&&&&&&&&& ---------------- ---------------- ---------------- [additional] 63 6.1.@.2 7.1.@.2 8.1.@.2 7.2.@.2 11.3.M.0 12.3.M.2 13.3.M.0 14.3.M.2 12.8.@.2 0.14.&.1.0 1.14.&.1.1 3.14.&.1.2 4.14.&.1.3 5.14.&.1.4 8.14.&.1.5 9.14.&.1.6 10.14.&.1.7 11.14.&.1.8 12.14.&.1.9 13.14.&.1.10 14.14.&.1.11 15.14.&.1.12 0.15.&.1.13 15.15.&.1.14 0.16.&.1.15 10.16.*.0 15.16.&.1.16 0.17.&.1.17 15.17.&.1.18 0.18.&.1.19 15.18.&.1.20 0.19.&.1.21 15.19.&.1.22 0.20.&.1.23 15.20.&.1.24 0.21.&.1.25 15.21.&.1.26 0.22.&.1.27 15.22.&.1.28 0.23.&.1.29 15.23.&.1.30 0.24.&.1.31 15.24.&.1.32 0.25.&.1.33 15.25.&.1.34 0.26.&.1.35 15.26.&.1.36 0.27.&.1.37 1.27.&.1.38 2.27.&.1.39 3.27.&.1.40 4.27.&.1.41 5.27.&.1.42 6.27.&.1.43 7.27.&.1.44 8.27.&.1.45 9.27.&.1.46 10.27.&.1.47 11.27.&.1.48 12.27.&.1.49 13.27.&.1.50 14.27.&.1.51 15.27.&.1.52 [end] [offset] 58A3 [level] 5 [colour] 005050 #004444 [size] 16.31 [author] 1990 Avalon [data] ~~~~~~~~~~~~~~~~ ~.........H....~ ~.........H..R'~ ~.........H....~ ~...@.....D.%%.~ ~~~~~~....HHHHH~ bbbbb~.........~ bbbb.D.........~ bbbbb~.........~ bbbbb~~~~~~~~~~~ bbbbbbbbbbbbbbb. bbbbbDbbbbbbb..b bbbbbDbbDDDDb.*b DDDDDDbbD!.Db.*b D...TDbbD.TDbV.b D.T..DbbD..DbVVb D....DbbD..Db.Vb DT.T.DDDDT.Db..b D.T.T......Db.Vb D.T..TTT...DbV.b D.T.TTT..T.Db..b D.....TT.T.Db.@b D...DDDDDDDDb@Vb D.TTDbbbbbbbb..b D.TTDb..V.V..@Vb D.T.Dbbbbbbbbbbb D...DDDDDDDDDDbb DTT..........Dbb D.T..T.TTTT..Dbb D..TTT..TT.T.Dbb DDDDDDDDDDDDDDbb [additional] 6 4.4.@.2 14.12.*.0 14.13.*.2 14.21.@.2 13.22.@.1 13.24.@.2 [end] [offset] 5AA3 [level] 6 [colour] 7C5D1D [size] 16.31 [author] 1990 Avalon [data] .R.qqqqqqqqqqqqq ...q...........q .%%D...??}}??..q qqqq.....??....q q.....*........q q....HHHHHH....q q...........qqqq q...........q..~ q...........D..~ qqqqqqqqqqqqq..~ ------------~..~ ------------~..~ ------------~..~ ------~~~~~~~..~ ------~........~ ------~.-TT--T.~ ------~.-&T---.- ------~.TT---T.- ------~.---T--.- ------~........- ------~~~~~~~~~- ---------------- ---------------- ---------------- --&&&&&&&&&&---- --&..'.&..!&---- --&..b.....&???- --&..#......???- --&...}....&???- ---&&&&&&&&-???- ------------???- [additional] 31 9.2.}.0.0.0.0.1.1 10.2.}.0.0.0.0.1.1 6.4.*.0 9.16.&.2.0 2.24.&.3.0 3.24.&.3.1 4.24.&.3.2 5.24.&.3.3 6.24.&.3.4 7.24.&.3.5 8.24.&.3.6 9.24.&.3.7 10.24.&.3.8 11.24.&.3.9 2.25.&.3.10 7.25.&.2.1 11.25.&.3.11 2.26.&.3.12 11.26.&.3.13 2.27.&.3.14 2.28.&.3.15 6.28.}.3.0.0.1.0.0 11.28.&.3.16 3.29.&.3.17 4.29.&.3.18 5.29.&.3.19 6.29.&.3.20 7.29.&.3.21 8.29.&.3.22 9.29.&.3.23 10.29.&.3.24 [end] [offset] 5CA3 [level] 7 [colour] AB2300 [size] 16.31 [author] 1990 Avalon [data] qqqqqqqqqqqqqqqq q........@.@...q q..............q q..HHHHHHHHHH..q q..H'..''R.'H*.q q..H.b.bb.b.H..q q..HHHHHHHHHH*.q q..............q q..............q qqqqqqHqDqHqqqqq -------&.&------ ---bbbb&.&bbbb-- ---b&&&&.&&&&b-- ---b&.......&b-- ---b&.......&..& ---b&......*&b-- -bbb&.......&bbb -b&&&.......&&&b -b&...........&b -b&&&&&&&&&&&&&b -bbbbbbbbbbbbbbb ---------------- ????.?TTTT?.???? ????.??????.???? ----........---- ----b^^^^^^b---- ----b......b---- ---b^....!.^b--- ---b^.'.&..^b--- ---b^......^b--- ---b^^^^^^^^b--- [additional] 68 9.1.@.0 11.1.@.0 13.4.*.1 13.6.*.1 7.10.&.1.0 9.10.&.1.1 7.11.&.1.2 9.11.&.1.3 4.12.&.1.4 5.12.&.1.5 6.12.&.1.6 7.12.&.1.7 9.12.&.1.8 10.12.&.1.9 11.12.&.1.10 12.12.&.1.11 4.13.&.1.12 12.13.&.1.13 4.14.&.1.14 12.14.&.1.15 15.14.&.3.0 4.15.&.1.16 11.15.*.3 12.15.&.1.17 4.16.&.1.18 12.16.&.1.19 2.17.&.1.20 3.17.&.1.21 4.17.&.1.22 12.17.&.1.23 13.17.&.1.24 14.17.&.1.25 2.18.&.1.26 14.18.&.1.27 2.19.&.1.28 3.19.&.1.29 4.19.&.1.30 5.19.&.1.31 6.19.&.1.32 7.19.&.1.33 8.19.&.1.34 9.19.&.1.35 10.19.&.1.36 11.19.&.1.37 12.19.&.1.38 13.19.&.1.39 14.19.&.1.40 5.25.^.0.0.0 6.25.^.0.0.0 7.25.^.0.0.0 8.25.^.0.0.0 9.25.^.0.0.0 10.25.^.0.0.0 4.27.^.1.0.0 11.27.^.1.0.0 4.28.^.1.0.0 8.28.&.3.1 11.28.^.1.0.0 4.29.^.1.0.0 11.29.^.1.0.0 4.30.^.1.0.0 5.30.^.0.0.0 6.30.^.0.0.0 7.30.^.0.0.0 8.30.^.0.0.0 9.30.^.0.0.0 10.30.^.0.0.0 11.30.^.1.0.0 [end] [offset] 5EA3 [level] 8 [colour] 7C3C77 [size] 16.31 [author] 1990 Avalon [data] T.....^........T T..........#...T qqqqM.#.....Mqqq ................ ..--..----..--#. ..--..----@.--.. .---..----..---. .---..----..---. .---..----..---. ----..----..---- ---...----...--- ---...----...--- --....----....-- &..............& ...............} }............... HHHHHHHHHHHHHHHH H...}...H....... H..?....H......& H.?.?...H......} H..?.?..H....... H...?.?.H....... H....?..HHHHHDHH H'.....R........ HHHH.HHHHHHHHHHH ---D.D---------- ---D.D----&&&&&- --DD.DD---&!T.&- --DT.%D---&...&- --DDDDD---&...&- ----------&&&&&- [additional] 27 6.0.^.0.0.0 4.2.M.0 12.2.M.2 10.5.@.3 0.13.&.2.0 15.13.&.1.0 15.14.}.2.0.2.0.0.0 0.15.}.0.0.1.0.0.0 4.17.}.1.0.1.0.0.0 15.18.&.1.1 15.19.}.2.0.2.0.0.0 10.26.&.2.1 11.26.&.2.2 12.26.&.2.3 13.26.&.2.4 14.26.&.2.5 10.27.&.2.6 14.27.&.2.7 10.28.&.2.8 14.28.&.2.9 10.29.&.2.10 14.29.&.2.11 10.30.&.2.12 11.30.&.2.13 12.30.&.2.14 13.30.&.2.15 14.30.&.2.16 [end] [offset] 60A3 [level] 9 [colour] 914E4E [size] 16.31 [author] 1990 Avalon [data] .%%....Rq..----- .....#..q..-!..- }.......H?.-.?.- ........q..-&.T- qqqqqqqqqDD----- &......#.....#^& &...~..b.....##& &&&&&..........& &....#.HHHHHHHH& &......HHHHHH^H& &..#...HHHHHHHH& &......HHHH^HHH& &......HHHHHH''& &}}}}..HH^HHHHH& &&&&&&&&&&&&&&.& -------------?.? -------------?.? -------------?.? -------------?.? -------------?.? ??????????????.? ?..............? ?.HHTHTHTHHHH..? ?.HHHHTHHHHT...? ?.THTHHHHTHHH..? ?.............&? ???????????????? ---------------- ---------------- ---------------- ---------------- [additional] 48 0.2.}.0.0.1.0.0.0 12.3.&.4.0 0.5.&.2.0 14.5.^.0.1.1 15.5.&.2.1 0.6.&.2.2 15.6.&.2.3 0.7.&.2.4 1.7.&.2.5 2.7.&.2.6 3.7.&.2.7 4.7.&.2.8 15.7.&.2.9 0.8.&.2.10 15.8.&.2.11 0.9.&.2.12 13.9.^.1.0.0 15.9.&.2.13 0.10.&.2.14 15.10.&.2.15 0.11.&.2.16 11.11.^.1.0.0 15.11.&.2.17 0.12.&.2.18 15.12.&.2.19 0.13.&.2.20 1.13.}.3.0.1.0.0.0 2.13.}.3.0.1.0.0.0 3.13.}.3.0.2.0.0.0 4.13.}.0.0.0.0.1.1 9.13.^.1.0.0 15.13.&.2.21 0.14.&.2.22 1.14.&.2.23 2.14.&.2.24 3.14.&.2.25 4.14.&.2.26 5.14.&.2.27 6.14.&.2.28 7.14.&.2.29 8.14.&.2.30 9.14.&.2.31 10.14.&.2.32 11.14.&.2.33 12.14.&.2.34 13.14.&.2.35 15.14.&.2.36 14.25.&.4.1 [end] [offset] 62A3 [level] 10 [colour] 996600 [size] 16.31 [author] 1990 Avalon [data] ################ #.R.........##^# #............### #..............# #HHHHHHTHHH....# #VVHTVHHTVH....# #MMMHTH'HTH....# #..D%HT'THH....# #&.HHHHTHVH....# ###########....# ~..............~ ~..............~ ~.}...}...}....~ ~..T.T.T.T.T...~ ~..............~ ~..............~ ~..b.b.b.b...#.~ ~..............~ ~..........#.}.~ ~~~~~~~~~~~~~~~~ ---------------- ---------------- ---------------- ---------------- ---------?-?---- ---&&&&&-.?'?--- ---&...&-?'''?-- ---&...&--?????- ---&&&&&..????-- ----------???..- -----------?--T! [additional] 23 14.1.^.0.1.1 1.6.M.0 2.6.M.2 3.6.M.2 1.8.&.4.0 2.12.}.1.0.1.0.0.0 6.12.}.1.0.1.0.0.0 10.12.}.1.0.1.0.0.0 13.18.}.3.0.0.1.0.0 3.25.&.4.1 4.25.&.4.2 5.25.&.4.3 6.25.&.4.4 7.25.&.4.5 3.26.&.4.6 7.26.&.4.7 3.27.&.4.8 7.27.&.4.9 3.28.&.4.10 4.28.&.4.11 5.28.&.4.12 6.28.&.4.13 7.28.&.4.14 [end] [offset] 64A3 [level] 11 [colour] 2870D0 #2581DD [size] 16.31 [author] 1990 Avalon [data] qqqqqqqqqqqqqqqq q.........q...'q q.......R.q....q q.........D...^q q..?????..qqqqqq q..?????.......q q...???........q q....?.........q q......bbb....&q qqqqqqq}}}qqqqqq &&&&......-&...% &!.&..HHHH-&.... &&&&..HHHH-&&&&& -.....HHHH------ -.bbbbbbbbV.T... -.b.......V..T.. -.b.......V...T. -.b.......V..T.. -.b.......V.T... -.b.......VT.... -.b.......V..... -.b.......VT.... -.b.......V.T... -.b.......V..T.. -.b.......V...T. -.b.......V..T.. -.b.......V.T... -.b.......VT.... -.b.......V.T..& -.b.......V..T.. -.b.......V...T. [additional] 23 14.3.^.0.1.1 14.8.&.1.0 7.9.}.0.0.0.0.0.0 8.9.}.2.0.1.0.0.0 9.9.}.2.0.2.0.0.0 0.10.&.2.0 1.10.&.2.1 2.10.&.2.2 3.10.&.2.3 11.10.&.1.1 0.11.&.2.4 3.11.&.2.5 11.11.&.1.2 0.12.&.2.6 1.12.&.2.7 2.12.&.2.8 3.12.&.2.9 11.12.&.1.3 12.12.&.1.4 13.12.&.1.5 14.12.&.1.6 15.12.&.1.7 15.28.&.2.10 [end] [offset] 66A3 [level] 12 [colour] 417C25 [size] 16.31 [author] 1990 Avalon [data] qqqqqqqqqqqqqqqq qR..q......q..?q #...D.????.D..'# q.%.q.....bq..&q qqqqq......qqqqq q......@..#....q q....&&&&......q q..............q q...........}..q -qqqqqqqqqqqqqq- bbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbb bbbb--------bbbb bbbb-&&&&&&-bbbb bbbb-&.....bbbbb bbbb-&..'!&-bbbb bbbb-&&&&&&-bbbb bbbb--------bbbb bbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbb HHHHHHHHHHHHHHHH TTTTTTTTTTTTTTTT TTTTTTTTTTTTTTTT ################ &....^.....??..& #######bH####### [additional] 25 14.3.&.1.0 7.5.@.2 5.6.&.4.0 6.6.&.4.1 7.6.&.4.2 8.6.&.4.3 12.8.}.3.0.0.1.0.0 5.18.&.2.0 6.18.&.2.1 7.18.&.2.2 8.18.&.2.3 9.18.&.2.4 10.18.&.2.5 5.19.&.2.6 5.20.&.2.7 10.20.&.2.8 5.21.&.2.9 6.21.&.2.10 7.21.&.2.11 8.21.&.2.12 9.21.&.2.13 10.21.&.2.14 0.29.&.2.15 5.29.^.0.1.1 15.29.&.1.1 [end] [offset] 68A3 [level] 13 [colour] 961B2B [size] 16.31 [author] 1990 Avalon [data] qqqqqqqqqqqqqqqq q...~~.........q qR...~.........q q~~~~~...%.^.%.q q~~~~..........q q..............q q..TTTTTTTTT...q q..............q q..}....}......q qqqDDDqqqqqqqqqq VV-'&.-bbbbbbbbb bV-----bb.b.b.b. bVVVVVbbHHHHHHHb bbbbbbbbHTTTTTH. VVVVVVbbHTTTTTHb &&&&&&bbHTTTTTH. &.....bbHHHTTTHb &....&.bbbHTTTH. &..!.&.bbbHTTTHb &T...&...bHHTTHb b&&&&&HHHbbHHHHb bHTTTTTT.Hbbbbbb bHTTTTTT..Hbbbbb bHTTTTTTT.Hbbbbb bHHHHHTTT.HHbbbb bbbbbHTTT.HHbbbb bbbbbHHHHHHHbbbb bHHHHHHHHHHHHHbb bHHTTTTTTTTT.Hbb bbHTTTTTTTTT.Hbb bbHHTTTTTTTTHHbb [additional] 22 11.3.^.0.1.1 3.8.}.3.0.0.1.0.0 8.8.}.3.0.0.1.0.0 4.10.&.4.0 0.15.&.4.1 1.15.&.4.2 2.15.&.4.3 3.15.&.4.4 4.15.&.4.5 5.15.&.4.6 0.16.&.4.7 0.17.&.4.8 5.17.&.4.9 0.18.&.4.10 5.18.&.4.11 0.19.&.4.12 5.19.&.4.13 1.20.&.4.14 2.20.&.4.15 3.20.&.4.16 4.20.&.4.17 5.20.&.4.18 [end] [offset] 6AA3 [level] 14 [colour] AB2300 [size] 16.31 [author] 1990 Avalon [data] qqqqqqqqqqqqqqqq q%R............. q..........'.... qqqqqq^..qqqqqq. -----q...q----q. -----qqqqq----qD --------------q. qqqqqqqqqqqqqqq. q''HHHH.....~... qHHHHHH...~..... qHHHHHH.....~..^ q....%....%..... q.......}....... qqqqqqqqqqqDqqqD -H............q. -H..Tbbb.bbb..q. -q..Tb&bTbbb..q@ -q.TTb&&bbbT..q@ -q.bb&&&bbbb..q. -q.Tbb&bbbTT..qV -q.bbbbbbbbb..q. -q.TTbTbbbT..&qV -q............q. -qqqqqqqqqqqqqq^ ---------------- ---------------- ???????????????? ???????????????? ?..............? ?......}....!.&? ???????????????? [additional] 16 6.3.^.1.0.0 15.10.^.1.0.0 8.12.}.3.0.0.1.0.0 6.16.&.4.0 15.16.@.2 6.17.&.4.1 7.17.&.4.2 15.17.@.0 5.18.&.4.3 6.18.&.4.4 7.18.&.4.5 6.19.&.4.6 13.21.&.4.7 15.23.^.1.0.0 7.29.}.3.0.0.1.0.0 14.29.&.4.8 [end] [offset] 6CA3 [level] 15 [colour] 417C25 [size] 16.31 [author] 1990 Avalon [data] qqqqqqqqqqqqqqqq qbbbbbbbbbbHHqbq HbbbbbbbbbbH!qbq qbbbbbbbqqqqqqbq qbbbbbbbqbbbbbbq qbbbbbbbqbbbbbbq qbbbbbbbqbbbbqbq qbbbbbbbbbbbbqbq qbqqqqqqqqqqqqbq qbqbbbbbbbbbbbbq qbqb.........bbq qbqb.bbbbbbbbbbq qbqb.bqqqqqqqbbq qbqb.bqTTTTTqbbq qbqb.bqTTTTTqbbq qbqb.bqTTTTTqbbq qbqb.bqHHqqqqbbq qbqb.bqbbqbbbbbq qbqb.bq.bqb...bq qbqbbbq.bqb...bq q.qqqqq.bqb...bq H..bbbbb.qb...bq q.&......qb...bq qqqqqqqqqqb...bq qTTTTTTTTHb...bq qqqqqqqTTHb...bq q.....qTTHb...bq q...R.qTTHb...bq q.....qTTHb...bq q.&.'.qTTHbbbbbq qqqqqqqqqqqqqqqq [additional] 2 2.22.&.4.0 2.29.&.4.1 [end] [level] 16 [colour] 1f6384 [size] 16.12 [author] _The End - Koniec - Das Ende - El Final - La Fin [level_notes] Created by Thunor: not converted from Robbo [data] #V.....#......^# bbbbbbbbbbbbbbbb bHHHHHHbHHHbHHHb bHHHHHHPbPHHHHHb bHHRH'HPb!}THHHb bHHH-bHPbPHHHHHb bHHHHbHPbPHT}HHb bHHHbbHPbPHHHHHb bHHHbHHbHbHbHHHb #bbHbHbHHHbHbHb# #bbbbbbbbbbbbbb# #......@#*.....# [additional] 5 14.0.^.2.0.0 7.11.@.2 9.11.*.0 10.4.}.1.0.0.0.0.0 12.6.}.3.0.0.0.0.0 [end] gnurobbo-0.66+dfsg/data/levels/robbo97.dat0000644000175000017500000027516511320736313017436 0ustar stevesteve[name] Robbo97 [last_level] 89 [offset] 388C [level] 1 [colour] 78c67f [size] 16.31 [author] Svetla n Saz [data] QQQ}QQQQQQQQQQQQ QR..Q&.........Q Q..%Q.......QQ#Q Q...D.%....M%Q#Q Q...Q......QDQ#Q Q##bQ........Q#Q Q####bQD}}}QQQ#Q Q.####Q....^...Q Q#..##Q...^....Q Q%#...Q.......^Q Q#.#.#Q.^......Q Q##T.#Q........Q QQQQQQQ........Q Q&.%TTQ++++++++Q QQQQQQQQQQQQ&QQQ Q%TTTDD##.....%Q QQQQQQQ##~.b..'Q QV.....b..@#.QQQ Q..b..#..b..##TQ QHHHHHHHHHHHHHHQ QTHHHHHHHHHHHHTQ Q.*.........b..Q Q........#}.#.&Q QQQQQQQQQQQQQQQQ ---------------- ---------------- QQQQQQQQQQQQQQQQ Q&...........'%Q Q....#..QQQQQQQQ Q.......DDDDDT!Q QQQ}Q}}QQQQQQQQQ [additional] 20 3.0.}.1.0.1.0.0.0 5.1.&.10.0 11.3.M.2 8.6.}.3.0.1.0.0.0 9.6.}.1.0.0.0.0.0 10.6.}.3.0.1.0.0.0 11.7.^.2.0.0 10.8.^.2.0.0 14.9.^.3.0.0 8.10.^.2.1.1 1.13.&.10.1 12.14.&.1.0 10.17.@.3 2.21.*.1 10.22.}.3.0.0.1.0.0 14.22.&.2.0 1.27.&.2.1 3.30.}.3.0.2.0.0.0 5.30.}.3.0.1.0.0.0 6.30.}.0.0.0.0.1.1 [end] [offset] 3A8C [level] 2 [colour] 7176a9 [size] 16.31 [author] Svetla n Saz [data] ssssssssss.sssss &.DDs%.#T..}%s&s sDD's#~#.#.}%s.s sssss.##T#.}Ds's s....b#####}...s s.b.##.###.}.^.s }....D..b..}..^s s}}}}}}D}}}}...s }V.............s s########bbbbbbs s~##b####bbbbbbs s....#.........s sT.b..#......sbs s.bbbb.#b.b..s#s M.b.b.b.bb...sbs M.bbbb.bbbbbbs#s M.bbb.b+b...bsbs s...b........s#s s}}}}}}}}}}}}sbs s%HH#.bbb...&s#s s#HH#.bT#..b.sbs sH#H#.bb.!...s#s sHHH#.#.^.~..sbs sT#H#..#.....sbs sHHHH...#T.#@s*s sHHH#..#.#.##sTs s.....#...#..sTs s.......~...+MTs s&&+.........M%s sR.&'}.T.%#..M%s sssssssssss}ssss [additional] 49 0.1.&.10.0 11.1.}.1.0.1.0.0.0 14.1.&.1.0 11.2.}.1.0.1.0.0.0 11.3.}.1.0.1.0.0.0 11.4.}.1.0.1.0.0.0 11.5.}.1.0.1.0.0.0 13.5.^.2.0.0 0.6.}.0.0.1.0.0.0 11.6.}.1.0.1.0.0.0 14.6.^.2.0.0 1.7.}.1.0.1.0.0.0 2.7.}.1.0.1.0.0.0 3.7.}.1.0.1.0.0.0 4.7.}.1.0.1.0.0.0 5.7.}.0.0.0.0.1.1 6.7.}.1.0.1.0.0.0 8.7.}.1.0.1.0.0.0 9.7.}.1.0.1.0.0.0 10.7.}.1.0.1.0.0.0 11.7.}.1.0.1.0.0.0 0.8.}.0.0.1.0.0.0 0.14.M.0 0.15.M.0 0.16.M.0 1.18.}.1.0.1.0.0.0 2.18.}.1.0.1.0.0.0 3.18.}.1.0.1.0.0.0 4.18.}.1.0.1.0.0.0 5.18.}.1.0.1.0.0.0 6.18.}.1.0.1.0.0.0 7.18.}.1.0.1.0.0.0 8.18.}.1.0.1.0.0.0 9.18.}.1.0.1.0.0.0 10.18.}.1.0.1.0.0.0 11.18.}.1.0.1.0.0.0 12.18.}.1.0.1.0.0.0 12.19.&.2.0 8.22.^.2.0.0 12.24.@.3 14.24.*.1 13.27.M.2 1.28.&.1.1 2.28.&.2.1 13.28.M.2 3.29.&.10.1 5.29.}.3.0.0.1.0.0 13.29.M.2 11.30.}.3.0.1.0.0.0 [end] [offset] 3C8C [level] 3 [colour] a98058 [size] 16.31 [author] Svetla n Saz [data] OOOOOOOOOO}OOOOO O.#.##.}....&'TO O+..#.#}.b...ODO O%.##..#.......O OOOOOOOM+......} OTTDTDTD.......O OOO}OOOO.b..b..O O&R....!..}....O O...~..OO..b#..O O.O.........##&O O+O&#.#..#.#.}DO OVO}}}}}....O}TO OV..O^.~.##..}%O OV..O.}}OOOT#}}O O^.VO...#..#..#O OTVTO.#......#VO O}}}}}.#.b}}.##O O&.TT}....TT.#V} O}}}}}#OOOOOOOOO O&...#.#THH#%'&O OT^...'.HbHHb.TO O&..b.#.HHHH#.&O O==============O O==============O O.........VV...O O&..#.V..V...T&O O..b..?..?#...#O O#...?#?...#~bbO O..~#....#.bTTbO O%..bT....#bbb*O OOOOOOOOOOOOOOOO [additional] 48 10.0.}.0.0.0.0.1.1 7.1.}.1.0.1.0.0.0 12.1.&.10.0 7.2.}.1.0.1.0.0.0 7.4.M.0 15.4.}.2.0.1.0.0.0 3.6.}.1.0.0.0.0.0 1.7.&.10.1 10.7.}.1.0.1.0.0.0 14.9.&.3.0 3.10.&.1.0 13.10.}.1.0.1.0.0.0 3.11.}.1.0.1.0.0.0 4.11.}.1.0.1.0.0.0 5.11.}.1.0.1.0.0.0 6.11.}.1.0.1.0.0.0 7.11.}.1.0.1.0.0.0 13.11.}.1.0.1.0.0.0 5.12.^.2.0.0 13.12.}.1.0.1.0.0.0 6.13.}.1.0.1.0.0.0 7.13.}.1.0.1.0.0.0 13.13.}.1.0.1.0.0.0 14.13.}.1.0.1.0.0.0 1.14.^.3.0.0 1.16.}.1.0.1.0.0.0 2.16.}.1.0.1.0.0.0 3.16.}.1.0.1.0.0.0 4.16.}.1.0.1.0.0.0 5.16.}.1.0.1.0.0.0 10.16.}.1.0.1.0.0.0 11.16.}.1.0.1.0.0.0 1.17.&.3.1 5.17.}.1.0.1.0.0.0 15.17.}.2.0.2.0.0.0 1.18.}.1.0.1.0.0.0 2.18.}.1.0.1.0.0.0 3.18.}.1.0.1.0.0.0 4.18.}.1.0.1.0.0.0 5.18.}.1.0.1.0.0.0 1.19.&.6.0 14.19.&.1.1 2.20.^.3.0.0 1.21.&.4.0 14.21.&.2.0 1.25.&.5.0 14.25.&.5.1 14.29.*.1 [end] [offset] 3E8C [level] 4 [colour] 719d8d [size] 16.31 [author] Svetla n Saz [data] ---PPPPPP&PPPPPP PPPP...}....TPTP &.~..R.......PTP P.PP~...P}}T}PTP PT......P&H}.P.P P}}P.b..P+..TP.P PT.P&..~P}}}}P.P P.#b}P...&.P.D.P P.bb}.?..P.D.}.P PD}}}P&}}}}}}%}P P.TP.........b.P P.}P.....}#..}.P P...~..PPPP#P..P P.......}~#!T..P P.~##.~#.#P#P#.P P.~~~.##.}.~.}.P P~~#...........P P##..T###~~~.~~P P#....#~~~~#.~#P P#~~....~##.#~bP P~~#.b......##.P P###...%PTP....P P#......}}}}@~#P P..###..PTTP.~~P P#.#~~.........P P#..##.~.~##.#~P P#.b....b#~~b#~P P.....bb...T...P P..b......##b.~P P?..~.#####~..#P PPPPPPPPPPPPPPPP [additional] 41 9.0.&.5.0 7.1.}.1.0.1.0.0.0 0.2.&.5.1 9.3.}.1.0.1.0.0.0 10.3.}.1.0.1.0.0.0 12.3.}.1.0.1.0.0.0 9.4.&.10.0 11.4.}.1.0.1.0.0.0 1.5.}.1.0.1.0.0.0 2.5.}.1.0.1.0.0.0 4.6.&.10.1 9.6.}.1.0.1.0.0.0 10.6.}.1.0.1.0.0.0 11.6.}.1.0.1.0.0.0 12.6.}.1.0.1.0.0.0 4.7.}.1.0.1.0.0.0 9.7.&.6.0 4.8.}.1.0.1.0.0.0 13.8.}.1.0.1.0.0.0 2.9.}.1.0.1.0.0.0 3.9.}.1.0.1.0.0.0 4.9.}.1.0.1.0.0.0 6.9.&.7.0 7.9.}.1.0.1.0.0.0 8.9.}.1.0.1.0.0.0 9.9.}.1.0.1.0.0.0 10.9.}.1.0.1.0.0.0 11.9.}.1.0.1.0.0.0 12.9.}.1.0.1.0.0.0 14.9.}.1.0.1.0.0.0 2.11.}.1.0.1.0.0.0 9.11.}.1.0.1.0.0.0 13.11.}.1.0.1.0.0.0 8.13.}.1.0.1.0.0.0 9.15.}.1.0.1.0.0.0 13.15.}.1.0.1.0.0.0 8.22.}.1.0.1.0.0.0 9.22.}.1.0.1.0.0.0 10.22.}.1.0.1.0.0.0 11.22.}.1.0.1.0.0.0 12.22.@.3 [end] [offset] 408C [level] 5 [colour] b2b05f [size] 16.31 [author] Svetla n Saz [data] oooooooooooooooo obV.D......D...o ob}b}..o'o.}...o o}}D}.ooo%.}.#'o o%}%}.@ooo.}#.#o oTD.}.ooo..}...o o}DD}.@ooo.M...M o..%}.ooo@.o===o oD}D}.@ooo.}...o o%D%}.ooo@.M...M oT}D}.@ooo.o===o o%D.}.ooo@.}...o o}.%}.@ooo.M...M o%D.}.ooo@.o===o oT}D}.@ooo.}...o oD%.}.ooo@.M...M o}%.}.@ooo.o===o oTD.}.ooo@.}...o oD}D}.@ooo.M...M oT%.}.ooo@.o===o o}DD}.@ooo.}...o o..%}.ooo@.M...M oD}T}.@ooo.o===o o%.D}.ooo@.}...o o}..}.@ooo.M...M o...}.ooo@.o===o oD~D}.@ooo.}...o o..~}.ooo@.M...M o...}......o===o oR%%HHHHHHHH...! oooooooooooo}o}o [additional] 93 2.2.}.1.0.1.0.0.0 4.2.}.1.0.1.0.0.0 11.2.}.1.0.1.0.0.0 1.3.}.1.0.1.0.0.0 2.3.}.1.0.1.0.0.0 4.3.}.1.0.1.0.0.0 11.3.}.1.0.1.0.0.0 2.4.}.1.0.1.0.0.0 4.4.}.1.0.1.0.0.0 6.4.@.3 11.4.}.1.0.1.0.0.0 4.5.}.1.0.1.0.0.0 11.5.}.1.0.1.0.0.0 1.6.}.1.0.1.0.0.0 4.6.}.1.0.1.0.0.0 6.6.@.3 11.6.M.0 15.6.M.2 4.7.}.1.0.1.0.0.0 9.7.@.3 2.8.}.1.0.1.0.0.0 4.8.}.1.0.1.0.0.0 6.8.@.3 11.8.}.1.0.1.0.0.0 4.9.}.1.0.1.0.0.0 9.9.@.3 11.9.M.0 15.9.M.2 2.10.}.1.0.1.0.0.0 4.10.}.1.0.1.0.0.0 6.10.@.3 4.11.}.1.0.1.0.0.0 9.11.@.3 11.11.}.1.0.1.0.0.0 1.12.}.1.0.1.0.0.0 4.12.}.1.0.1.0.0.0 6.12.@.3 11.12.M.0 15.12.M.2 4.13.}.1.0.1.0.0.0 9.13.@.3 2.14.}.1.0.1.0.0.0 4.14.}.1.0.1.0.0.0 6.14.@.3 11.14.}.1.0.1.0.0.0 4.15.}.1.0.1.0.0.0 9.15.@.3 11.15.M.0 15.15.M.2 1.16.}.1.0.1.0.0.0 4.16.}.1.0.1.0.0.0 6.16.@.3 4.17.}.1.0.1.0.0.0 9.17.@.3 11.17.}.1.0.1.0.0.0 2.18.}.1.0.1.0.0.0 4.18.}.1.0.1.0.0.0 6.18.@.3 11.18.M.0 15.18.M.2 4.19.}.1.0.1.0.0.0 9.19.@.3 1.20.}.1.0.1.0.0.0 4.20.}.1.0.1.0.0.0 6.20.@.3 11.20.}.1.0.1.0.0.0 4.21.}.1.0.1.0.0.0 9.21.@.3 11.21.M.0 15.21.M.2 2.22.}.1.0.1.0.0.0 4.22.}.1.0.1.0.0.0 6.22.@.3 4.23.}.1.0.1.0.0.0 9.23.@.3 11.23.}.1.0.1.0.0.0 1.24.}.1.0.1.0.0.0 4.24.}.1.0.1.0.0.0 6.24.@.3 11.24.M.0 15.24.M.2 4.25.}.1.0.1.0.0.0 9.25.@.3 4.26.}.1.0.1.0.0.0 6.26.@.3 11.26.}.1.0.1.0.0.0 4.27.}.1.0.1.0.0.0 9.27.@.3 11.27.M.0 15.27.M.2 4.28.}.1.0.1.0.0.0 12.30.}.3.0.2.0.0.0 14.30.}.3.0.2.0.0.0 [end] [offset] 428C [level] 6 [colour] 77a4ac [size] 16.31 [author] Svetla n Saz [data] ssssssssssssssss s!ss'D'D'D'Rs++s s.&sDTD%D%%s'TTs ssssTD%D%%s'TTTs sTDTD%D%ss'TTTTs sDTD%Dss'TTTTTTs s%D%sss########s sDsssbVbVbVbVb's s's^bVbVbVbVb''s s's^ssssssssssbs s's^sbbbbbbbbs's s's^sbssssssbs^s s's^sbsVbbbsbs's s's^sbsbVsbsbs^s s's'sbsVbsbsbs^s sbs^sbsbVsbsbs^s sVs^sbsVbsbsbs^s sbs^sbsbVsbsbs^s sVs^sbsVbsbsbs^s sbs'sbsbVsbsbs's sVs^sbsVbsbsbs^s sbs^sbsbbsbsbs^s sVs^sbsDMsbsbs^s sbs^sbs&&sbsbs^s sVs^sbssssbsbs^s sbs'sbbbbbbsbs^s sVs^ssssssssVs^s sbs^VVVVVVVVVs^s sVssssssssssss^s s^VbVbVbVbVbVb's ssssssssssssssss [additional] 38 2.2.&.2.0 3.8.^.3.0.0 3.9.^.3.0.0 3.10.^.3.0.0 3.11.^.3.0.0 14.11.^.3.0.0 3.12.^.3.0.0 3.13.^.3.0.0 14.13.^.3.0.0 14.14.^.3.0.0 3.15.^.3.0.0 14.15.^.3.0.0 3.16.^.3.0.0 14.16.^.3.0.0 3.17.^.3.0.0 14.17.^.3.0.0 3.18.^.3.0.0 14.18.^.3.0.0 3.20.^.3.0.0 14.20.^.3.0.0 3.21.^.3.0.0 14.21.^.3.0.0 3.22.^.3.0.0 8.22.M.0 14.22.^.3.0.0 3.23.^.3.0.0 7.23.&.2.1 8.23.&.2.2 14.23.^.3.0.0 3.24.^.3.0.0 14.24.^.3.0.0 14.25.^.3.0.0 3.26.^.3.0.0 14.26.^.3.0.0 3.27.^.3.0.0 14.27.^.3.0.0 14.28.^.3.0.0 1.29.^.2.1.1 [end] [offset] 448C [level] 7 [colour] 819663 [size] 16.31 [author] Svetla n Saz [level_notes] Thunor: I've added a capsule because it was missing from the original level. I imagine the author was expecting one to materialise from a question mark which won't happen in GNU Robbo. [data] oooooooooooooooo oHHHHHHHHHHHHHHo oH?H?H??H?HH???o oH?H?H?HH?HH?!?o oH?H?H?HH?HH???o oH???H??H?HH?HHo oH?H?H?HH?HH?HHo oH?H?H?HH?HH?HHo oH?H?H??H??H?HHo oHHHHHHHHHHHHHHo oH?HHH?HHH???HHo oH??H??HHH?HHHHo oH?H?H?HHH??HHHo oH?HHH?ooH?HHHHo oH?HHHobVo???HHo oHHHHHobVoHHHHHo o}HHHHooboHHHH}o oHHHHHHoobHHHHHo oHobHHbooHHbboHo oHHobHbboHbHobHo oHHbobHobbHobHHo oHHHboooooobHHHo oHHHHbboo%%bHHHo obbbbbbbH%%Hbbbo oooooooDDooooooo o'''o++++++o'''o o'''o+oooo+o'''o o'''D+oVVo+D'''o o'''o+oooo+o'''o o'''o++++++o'''o ooooooooRooooooo [additional] 2 1.16.}.1.0.1.0.0.0 14.16.}.1.0.1.0.0.0 [end] [offset] 468C [level] 8 [colour] 9551b9 [size] 16.31 [author] Svetla n Saz [data] PPPPPPPPPPPPPPPP P.--.......-..'P P....-...---.-.P P.-.------...-.P PR-........-.-%P PPPPPPPDPPPPPPPP P...%.P.P.%....P P.-.--P.P--.---P P.-.-..........P P.-.-.P.P-.---.P PT-...P.P....-TP PPPPPPPDPPPPPPPP P.-........H...P P.-H-H---H--H-.P P'H.-...-..b.-?P P.-..b..-.--.--P P---..-...H...-P P.-.-...----b.-P P.-.H...-T.-...P P.-.-.-H-...---P P.H.-.-H---.H..P P.-.-b-...b.---P P.-.H.H...-.-..P P?-.H.H...-.H..P PPPPPPPPDPPPPPPP P.......^......P P..............P P..............P P}............}P P.......!......P PPPPPPPPPPPPPPPP [additional] 3 8.25.^.2.0.0 1.28.}.0.0.1.0.0.0 14.28.}.2.0.1.0.0.0 [end] [offset] 488C [level] 9 [colour] 6d61b1 [size] 16.31 [author] Svetla n Saz [data] ppppp------ppppp pbbbp--ppppp..%p pbRbppppTpTp^..p pb'b..H&.&.&...p pbbbpppppppp...p ppppp------p.ppp -----------p.p-- ppppp------p.p-- p&.Tp-pppppp.p-- ppppp-p...Tp.p-- -----pp.pDpp.ppp ----pp.!.......p ----pM.........p ----pp.........p -----ppppppppp.p --------p...%p.p ppppp---p^.....p p&.Vp---p.pppp.p ppppp---p.p--p.p --------p.p--p.p ppppp---p.p-pp.p p&.Vp---p^p-pT.p ppppp---p.p-pppp --------p.p----- pppppp--p.p----- p....ppppHpppp-- p.&p.p.......p-- p.&p.D......?p-- p.&ppp...&...p-- pppp-ppppppppp-- ---------------- [additional] 14 12.2.^.2.0.0 7.3.&.10.0 9.3.&.1.0 11.3.&.10.1 1.8.&.3.0 5.12.M.0 9.16.^.2.0.0 1.17.&.4.0 1.21.&.2.0 9.21.^.3.0.0 2.26.&.2.1 2.27.&.4.1 2.28.&.3.1 9.28.&.1.1 [end] [offset] 4A8C [level] 10 [colour] a28352 [size] 16.31 [author] Svetla n Saz [data] QQQQQQQQQQQQQQQQ Q.#%....^MQVT&.Q Q'Q..?....Q*VQTQ Q.Q==========QTQ Q.QR.#HH~bQ##QbQ Q.&#.#..~.QVVQVQ QbQ..#..~.QVVQTQ Q#Q...#...QVVQTQ Q#...b....MVVQVQ Q+.b.bbbb}bVVVVQ Q}}}}}}}}}}}}}}Q QTTQ.QbbbQ..Q..Q Q..Q.QbbQQ.Q.Q.Q Q.bQ.QbbbQ...Q.Q Q..Q.QbbbQ..Q..Q Q.TQ.QbbbQ.QQQ.Q Q..Q.Q.b....#..Q Q.@Q.Q.b.......Q QT.Q.Q.bbbbbb..Q Q..Q.Q......bbVQ Q..Q.Q.....@.bVQ Q.TQ.QVbbb...bVQ Q..Q.QVb.bbbb##Q QT.Q.QVb....#.TQ Q..Q.QVb.}&}#.TQ Q.TQ.Q.b.}..}}}Q QQD..Q.b.}..QT+Q Q&Q..Q.b.}..Q.!Q QHHQ.Db..}.QQ..Q QHHHHQ...}..@..Q QQQQQQQQQQQQQQQQ [additional] 36 8.1.^.2.1.1 9.1.M.2 13.1.&.1.0 11.2.*.1 2.5.&.1.1 10.8.M.2 9.9.}.3.0.1.0.0.0 1.10.}.1.0.1.0.0.0 2.10.}.1.0.1.0.0.0 3.10.}.1.0.1.0.0.0 4.10.}.3.0.1.0.0.0 5.10.}.1.0.1.0.0.0 6.10.}.1.0.1.0.0.0 7.10.}.1.0.1.0.0.0 8.10.}.1.0.1.0.0.0 9.10.}.1.0.1.0.0.0 10.10.}.1.0.1.0.0.0 11.10.}.1.0.1.0.0.0 12.10.}.1.0.1.0.0.0 13.10.}.1.0.1.0.0.0 14.10.}.1.0.1.0.0.0 2.17.@.3 11.20.@.3 9.24.}.1.0.1.0.0.0 10.24.&.5.0 11.24.}.1.0.1.0.0.0 9.25.}.1.0.1.0.0.0 12.25.}.1.0.1.0.0.0 13.25.}.1.0.1.0.0.0 14.25.}.1.0.1.0.0.0 9.26.}.1.0.1.0.0.0 1.27.&.5.1 9.27.}.1.0.1.0.0.0 9.28.}.1.0.1.0.0.0 9.29.}.1.0.1.0.0.0 12.29.@.3 [end] [offset] 4C8C [level] 11 [colour] 7accb0 [size] 16.31 [author] Svetla n Saz [data] oooooooooooooooo o...TTTT~~~&..^o o...TTTTTTT&...o o.bbbbb'TTT&...o o&&&&&&&&&&&R..o o.....#...#....o o.......#...#..o o....ooooooooooo o...o....?.....o o...o..........o o...o..........o o...oM...M##~##o o...o....o#....o o...o..o.Tb....o o...ooooob#....o o..oobbbT.oVV}Vo o..oobbbT.oVVVTo o...obbbT#oVVTTo o...oTooooo####o o...o..........o o....+........}o o....+.........o o}..T+T~~^@@@@@o o==============o ooooooooo##V.TTo oT..*....bb#VTTo oTT........b#TTo o########~~~ooDo oT....^TT^..o..o o%T.......TTo*!o oooooooooooooooo [additional] 30 11.1.&.4.0 14.1.^.3.0.0 11.2.&.4.1 11.3.&.4.2 1.4.&.8.0 2.4.&.4.3 3.4.&.4.4 4.4.&.4.5 5.4.&.4.6 6.4.&.4.7 7.4.&.4.8 8.4.&.4.9 9.4.&.4.10 10.4.&.4.11 11.4.&.4.12 5.11.M.0 9.11.M.2 13.15.}.3.0.0.1.0.0 14.20.}.2.0.0.0.0.0 1.22.}.3.0.2.0.0.0 9.22.^.2.1.1 10.22.@.3 11.22.@.3 12.22.@.3 13.22.@.3 14.22.@.3 4.25.*.1 6.28.^.2.1.1 9.28.^.2.0.0 13.29.*.1 [end] [offset] 4E8C [level] 12 [colour] a5b8a0 [size] 16.31 [author] Svetla n Saz [data] QQQQQQQQQQQQQQQQ QR...'####....'Q }HHHbHHHHHHHHHHM MHHHHHHHHHbHHHH} Q%.}HHQQQQHH}.%Q QDQQQM***%QQQQQQ Q...Q.....Q....Q Q..............Q Q.*.*.*.*.*.*..Q QQQQQQQQQQQQQQ&Q Q.TTTTTTTTTTTT.Q QDQQQQQQQQQQQQQQ Q..............Q Q.^.......^....Q Q..^.....^.....Q Q...^...^......Q Q....^.^.......Q Q.....^........Q Q===..==Q.^^^..Q Q===..=QQ..^^^.Q Q......}}...^^^Q Q......--}.....Q Q......--.}....Q Q......--..}...Q Q......--...}..Q Q~QTTTT--TT.&Q.Q Q.&QD}}}}}}}Q..Q Q==QHTHTHT!Q===Q Q===QTQTQTQ====Q Q==============Q QQQQQQQQQQQQQQQQ [additional] 50 0.2.}.0.0.1.0.0.0 15.2.M.2 0.3.M.0 15.3.}.2.0.1.0.0.0 3.4.}.0.0.1.0.0.0 12.4.}.2.0.1.0.0.0 5.5.M.0 6.5.*.1 7.5.*.1 8.5.*.1 2.8.*.1 4.8.*.1 6.8.*.1 8.8.*.1 10.8.*.1 12.8.*.1 14.9.&.7.0 2.13.^.2.0.0 10.13.^.2.0.0 3.14.^.2.0.0 9.14.^.2.0.0 4.15.^.2.0.0 8.15.^.2.0.0 5.16.^.2.0.0 7.16.^.2.0.0 6.17.^.2.0.0 10.18.^.2.0.0 11.18.^.2.0.0 12.18.^.2.0.0 11.19.^.2.0.0 12.19.^.2.0.0 13.19.^.2.0.0 7.20.}.1.0.1.0.0.0 8.20.}.1.0.1.0.0.0 12.20.^.2.0.0 13.20.^.2.0.0 14.20.^.2.0.0 9.21.}.1.0.1.0.0.0 10.22.}.1.0.1.0.0.0 11.23.}.1.0.1.0.0.0 12.24.}.1.0.1.0.0.0 12.25.&.8.0 2.26.&.8.1 5.26.}.1.0.1.0.0.0 6.26.}.1.0.1.0.0.0 7.26.}.1.0.1.0.0.0 8.26.}.1.0.1.0.0.0 9.26.}.1.0.1.0.0.0 10.26.}.1.0.1.0.0.0 11.26.}.1.0.1.0.0.0 [end] [offset] 508C [level] 13 [colour] b3b06d [size] 16.31 [author] Svetla n Saz [data] ssssssssssssssss sHHHHHHHHHHHHHH} &.sTTTTTTTTTTsHs ss!ssssssssss?Hs }HHHHHHHHHHHHHHs ssssssssssssssss &*...*...*...*.s ssssssssssssss.s s.V..@...@...s.s s.s'sTssssss.s*s s.V..V.....s@s.s ssssssssss.s.s.s s........s.s.s.s s@sssss&&s.s.s*s s.s...&..&.s@s.s s.s.sssR'sss.s.s s.s*s.&..&@..s.s s@s.s.s&&sssss*s s.s.s.s........s s.s.sVssssssssss s.s*s..V..V..V.s s@s.ssssssTs's.s s.s...*...*....s s.ssssssssssssss s.@...@...@VVV@& ssssssssssssssss sHHHsHHHsHHHsHH& sHsTTTsTTTsTTTss sHssss%sss%sss%s sD^...D^...D'H.& ssssssssssssssss [additional] 40 15.1.}.0.0.0.0.1.1 0.2.&.10.0 0.4.}.0.0.0.0.1.1 0.6.&.1.0 1.6.*.1 5.6.*.1 9.6.*.1 13.6.*.1 5.8.@.3 9.8.@.3 14.9.*.1 12.10.@.3 1.13.@.3 7.13.&.8.0 8.13.&.8.1 14.13.*.1 6.14.&.6.0 9.14.&.5.0 12.14.@.3 3.16.*.1 6.16.&.6.1 9.16.&.5.1 10.16.@.3 1.17.@.3 7.17.&.7.0 8.17.&.7.1 14.17.*.1 3.20.*.1 1.21.@.3 6.22.*.1 10.22.*.1 2.24.@.3 6.24.@.3 10.24.@.3 14.24.@.3 15.24.&.3.0 15.26.&.10.1 2.29.^.2.0.0 7.29.^.2.0.0 15.29.&.1.1 [end] [offset] 528C [level] 14 [colour] a75c6c [size] 16.31 [author] Svetla n Saz [data] p.*..*..*%H'''.R p.pppppppppppppp p.*..*..*..*..pT pppppp.ppppppHpT p......pHHHHHH}T p.pppM?p.pppppDT p====pp}HHHHHHHp pppp%p'MppppppD' p====p@..@...HpT p%ppp&ppDppppHpT p........}D'pHpb pppppppppp.ppHbp p....}..pT.pTHpb p.pp...pT.pT+pbV p.b.p.p..pT+pbVp ppp.p.p.pT+pbVVp ....p.p.p+pbbpVp Hpp^p..^pTbppbVp ...p}.pTTp+Tpbpp .p.p...pTTM+pbbp .p.p.p.ppp+Tppbp .p~p.p^...Tp@bVp .p.p.ppppppT.pVp .p.p.+p@..pT.pVp #pbp%p'.p.pp.pVp Vb.pp..p.bp.@pVp Vp.p@.p.bpb.&pVp Vp.b.p.bpTpb.pVp Vp.pbpbpTTTpbpVp Tp.pbpHpHpHpHpVp pbbbbpTTTpTTTpV! [additional] 26 2.0.*.1 5.0.*.1 8.0.*.1 2.2.*.1 5.2.*.1 8.2.*.1 11.2.*.1 14.4.}.0.0.0.0.1.1 5.5.M.0 7.6.}.0.0.0.0.1.1 7.7.M.2 6.8.@.3 9.8.@.3 5.9.&.8.0 9.10.}.0.0.0.0.1.1 5.12.}.0.0.0.0.1.1 3.17.^.2.0.0 7.17.^.3.0.0 4.18.}.0.0.0.0.1.1 10.19.M.2 6.21.^.2.0.0 12.21.@.3 7.23.@.3 12.25.@.3 4.26.@.3 12.26.&.8.1 [end] [offset] 548C [level] 15 [colour] b9944e [size] 16.31 [author] Svetla n Saz [data] sssss}ssssssssss sTs%&..#......Rs sTs}}.#.#.#..~.s s.s...#..#..~..M sDs.#.#.#.#....s s..bsssD}}}}ssss s.#.sb#.#b.b..%} s%}&sbb..bbb.b.s s}}.s.b........s sb%b.b.b..^....s sbb.b...~..^.}}s sb#b#........}Ts sssssssDssssssss sT}}!}}&}}}&}.&s s#}H...+....}T.s sb}HH...^...}}}s s}}VH.........T} s&}HH.....^....s s...#.b....^..&s s~.###...sssssss s.....#..s&.^#Ts s^#..#..#..^#.^s s..#.#.....#...s s&........#....s s}}}}s}}}}}.}.ss sT#&...%T}'...'s ..#.....+s=====s s##.&&&&&s=====s ssss....+sDDDDDs &.T}...........s ssssssssssssssss [additional] 70 5.0.}.0.0.0.0.1.1 4.1.&.10.0 3.2.}.0.0.0.0.1.1 4.2.}.1.0.1.0.0.0 15.3.M.2 8.5.}.1.0.1.0.0.0 9.5.}.1.0.1.0.0.0 10.5.}.1.0.1.0.0.0 11.5.}.3.0.1.0.0.0 15.6.}.2.0.1.0.0.0 2.7.}.1.0.1.0.0.0 3.7.&.1.0 1.8.}.1.0.1.0.0.0 2.8.}.1.0.1.0.0.0 10.9.^.2.0.0 11.10.^.2.1.1 13.10.}.1.0.1.0.0.0 14.10.}.3.0.1.0.0.0 13.11.}.1.0.1.0.0.0 2.13.}.1.0.1.0.0.0 3.13.}.1.0.1.0.0.0 5.13.}.1.0.1.0.0.0 6.13.}.1.0.1.0.0.0 7.13.&.7.0 8.13.}.1.0.1.0.0.0 9.13.}.1.0.1.0.0.0 10.13.}.1.0.1.0.0.0 11.13.&.8.0 12.13.}.1.0.1.0.0.0 14.13.&.8.1 2.14.}.1.0.1.0.0.0 12.14.}.1.0.1.0.0.0 2.15.}.1.0.1.0.0.0 8.15.^.2.0.0 12.15.}.1.0.1.0.0.0 13.15.}.1.0.1.0.0.0 14.15.}.1.0.1.0.0.0 1.16.}.0.0.0.0.1.1 2.16.}.1.0.1.0.0.0 15.16.}.2.0.2.0.0.0 1.17.&.6.0 2.17.}.1.0.1.0.0.0 10.17.^.2.0.0 11.18.^.2.0.0 14.18.&.5.0 10.20.&.3.0 12.20.^.3.0.0 1.21.^.3.0.0 11.21.^.3.0.0 14.21.^.3.0.0 1.23.&.4.0 1.24.}.1.0.1.0.0.0 2.24.}.1.0.1.0.0.0 3.24.}.1.0.1.0.0.0 4.24.}.3.0.2.0.0.0 6.24.}.3.0.1.0.0.0 7.24.}.3.0.1.0.0.0 8.24.}.1.0.1.0.0.0 9.24.}.1.0.1.0.0.0 10.24.}.1.0.1.0.0.0 12.24.}.3.0.0.1.0.0 3.25.&.2.0 9.25.}.1.0.1.0.0.0 4.27.&.5.1 5.27.&.4.1 6.27.&.3.1 7.27.&.2.1 8.27.&.1.1 0.29.&.6.1 3.29.}.0.0.0.0.0.0 [end] [offset] 568C [level] 16 [colour] 8faac7 [size] 16.31 [author] Svetla n Saz [data] pppppppppppppppp pV-..T-T..-.%&-p p-...-.T.-..#-.p p!..-.H.-..#.%.p p..-.H.-.T#-..}p p&-.H.-..#....-p p-.H.-..#-.T.M.p p&T.-.@#....}..p p..-.%#-...M...p pR-.T#....}...Tp p-...-...M....-p p...-...}....-&p p..-...M...^-..p p.-...}.%.#-...p p-.T.-...#.T..-p p...-..*T-...-&p p..-.TT.-...-..p p&-b...-...M...p p-.bbb-...}.*.-p p&.bb-...-...-.p p..b-.T.-..T-DTp p..-...-.#.-..Dp p&-#.#-.#.-&..-p p-&..-.#.-...-&p p...-.#.-&..-..p pD.-.#.-&..-.DTp pT-.#.-&..-...-p p-.#.-...-&..-&p p&..-.^.-T..-..p p'.-'..-'.&-TD-p pppppppppppppppp [additional] 34 13.1.&.2.0 14.4.}.3.0.0.1.0.0 1.5.&.8.0 13.6.M.2 1.7.&.10.0 6.7.@.3 12.7.}.3.0.1.0.0.0 11.8.M.2 10.9.}.3.0.1.0.0.0 9.10.M.2 8.11.}.3.0.1.0.0.0 14.11.&.7.0 7.12.M.2 11.12.^.3.0.0 6.13.}.3.0.1.0.0.0 7.15.*.1 14.15.&.3.0 1.17.&.1.0 11.17.M.2 10.18.}.3.0.1.0.0.0 12.18.*.1 1.19.&.1.1 1.22.&.10.1 11.22.&.3.1 2.23.&.8.1 14.23.&.6.0 9.24.&.4.0 8.25.&.5.0 7.26.&.4.1 10.27.&.5.1 14.27.&.6.1 1.28.&.2.1 6.28.^.2.0.0 10.29.&.7.1 [end] [offset] 588C [level] 17 [colour] 6da77a [size] 16.31 [author] Svetla n Saz [level_notes] Thunor: Fixed the impossible start location by shielding Robbo with a wall. Also changed many of the upper guns to rotating and removed the soon to be blown bullets that are unnecessary as there's an ammo clip lower down. [data] PPPPPPPPPPPPPPPP PT.}^.....}..T%P P..}.^....D....P PD}}}}^...}}}}}P PDDDDD^...}...%P PP}}}}....}DP.TP PR..........P}.P PPP===.===.=PPPP P%P=.==.=.==..=P P.P...^........P PDP&PPPPPPPPPPDP P...b.bbb!%..P.P Pb.bbb.b.b.bbPTP P'.bb.b.b.bb.P%P Pbb.b.T.b.%b.PPP P...bbbb.b.b.%.P Pb.b.b.b.b.b.b.P Pb%b.b.b.bb.bb.P Pbbb.b.bbbb.bbbP P....#.#.......P P...#.%#.......P P#..#..##..#...P P.#.#..##.##~~.P P..#.##~.#..~..P ...~#..#.%.##~.P P.##..#.#.#.~.#P P..~.######~##.P P.~.#%#%#~.#.T#P P..#.##...##.##P }...#..~##.###.P PPPPPPPPPPPPPPPP [additional] 40 3.1.}.1.0.1.0.0.0 4.1.^.3.0.0 10.1.}.2.0.1.0.1.1 3.2.}.1.0.1.0.0.0 5.2.^.3.0.0 2.3.}.2.0.1.0.1.1 3.3.}.1.0.1.0.1.1 4.3.}.0.0.1.0.1.1 5.3.}.1.0.1.0.1.1 6.3.^.2.0.0 10.3.}.1.0.1.0.0.0 11.3.}.2.0.1.0.1.1 12.3.}.0.0.1.0.1.1 13.3.}.2.0.1.0.1.1 14.3.}.3.0.1.0.1.1 6.4.^.0.1.0 10.4.}.1.0.1.0.0.0 2.5.}.3.0.1.0.1.1 3.5.}.0.0.1.0.1.1 4.5.}.3.0.1.0.1.1 5.5.}.1.0.1.0.1.1 10.5.}.1.0.1.0.0.0 13.6.}.3.0.0.1.0.0 3.7.=.0 4.7.=.0 5.7.=.0 7.7.=.0 8.7.=.0 9.7.=.0 11.7.=.0 3.8.=.0 5.8.=.0 6.8.=.0 8.8.=.0 10.8.=.0 11.8.=.0 14.8.=.0 6.9.^.2.0.0 3.10.&.10.0 0.29.}.3.0.0.0.1.1 [end] [offset] 5A8C [level] 18 [colour] a08750 [size] 16.31 [author] Svetla n Saz [data] QQQQQQQQQQQQQQQQ Q}....TTTT....}Q QM...TbTT~T...MQ QV#............Q QQDQQQQDDQQQQQQQ Q.***.Q..Q..%..Q Q.....Q..Q..'..Q Q..%..Q..Q.'.'.Q Q.%!%.Q#.Q.'&'.Q Q..%..Q.#Q@'''.Q QQ....D..D.....Q Q***..Q.#Q..%..Q QDQQQQQ#.QQQQQQQ Q..............Q Q..............Q QQQQQQQDDQQQQQQQ QQQ----..----QQQ QQ}^^^^^^^^^^}QQ Q-^..........^-Q Q-^.}--T.--}.^-Q Q-^.--}T.}--.^-Q Q-^.-}&T}&}-.^-Q Q-^...}TTTTT.^-Q Q-^.TTTTT}...^-Q Q-^.-}R}T&}-.^-Q Q-^.--}.T}--.^-Q Q-^.}--.T--}.^-Q Q-^..........^-Q QQ}^^^^^^^^^^}QQ QQQ----------QQQ QQQQQQQQQQQQQQQQ [additional] 75 1.1.}.0.0.2.0.0.0 14.1.}.2.0.2.0.0.0 1.2.M.0 14.2.M.2 2.5.*.1 3.5.*.1 4.5.*.1 12.8.&.8.0 10.9.@.3 1.11.*.1 2.11.*.1 3.11.*.1 2.17.}.1.0.1.0.0.0 3.17.^.2.0.0 4.17.^.2.0.0 5.17.^.2.0.0 6.17.^.2.0.0 7.17.^.2.0.0 8.17.^.2.0.0 9.17.^.2.0.0 10.17.^.2.0.0 11.17.^.2.0.0 12.17.^.2.0.0 13.17.}.1.0.1.0.0.0 2.18.^.3.0.0 13.18.^.3.0.0 2.19.^.3.0.0 4.19.}.1.0.1.0.0.0 11.19.}.1.0.1.0.0.0 13.19.^.3.0.0 2.20.^.3.0.0 6.20.}.1.0.1.0.0.0 9.20.}.1.0.1.0.0.0 13.20.^.3.0.0 2.21.^.3.0.0 5.21.}.1.0.1.0.0.0 6.21.&.8.1 8.21.}.3.0.1.0.0.0 9.21.&.8.2 10.21.}.1.0.1.0.0.0 13.21.^.3.0.0 2.22.^.3.0.0 6.22.}.2.0.1.0.0.0 13.22.^.3.0.0 2.23.^.3.0.0 9.23.}.0.0.1.0.0.0 13.23.^.3.0.0 2.24.^.3.0.0 5.24.}.1.0.1.0.0.0 7.24.}.1.0.1.0.0.0 9.24.&.8.3 10.24.}.1.0.1.0.0.0 13.24.^.3.0.0 2.25.^.3.0.0 6.25.}.1.0.1.0.0.0 9.25.}.1.0.1.0.0.0 13.25.^.3.0.0 2.26.^.3.0.0 4.26.}.1.0.1.0.0.0 11.26.}.1.0.1.0.0.0 13.26.^.3.0.0 2.27.^.3.0.0 13.27.^.3.0.0 2.28.}.1.0.1.0.0.0 3.28.^.2.0.0 4.28.^.2.0.0 5.28.^.2.0.0 6.28.^.2.0.0 7.28.^.2.0.0 8.28.^.2.0.0 9.28.^.2.0.0 10.28.^.2.0.0 11.28.^.2.0.0 12.28.^.2.0.0 13.28.}.1.0.1.0.0.0 [end] [offset] 5C8C [level] 19 [colour] 75ae7f [size] 16.31 [author] Svetla n Saz [data] QQQQQQQQQQQQQQQQ QQ&Q%HHH'R%Q&Q&Q QQDQDQQHQQDQDQDQ Q....*QHQ@.....Q Q....*Q?Q@.....Q Q..QQQQHQQQQ.?.Q Q'QHHHbbbHHHQ.'Q QQHHQQQ.QQQHHQ&Q QHHQbbQ.QbbQHHQQ QHQb&bQ.Qb&bQHHQ QHQ&&bQ.Qb&&bQHQ QHQbbQ'.'QbbbQHQ QH?DQ?Q.Q?QDQ?HQ QHHHHHQDQHHHHHHQ Q...HHQDQHH....Q Q..HQH^^^HQH...Q Q.HTTQ***QTTH..Q Q.HQTTQQQTTQH..Q Q.HHQTTTTTQHH..Q Q.HHHQQQQQHHH..Q Q...HHHHHHH....Q Q....HHHHH.....Q Q.---.---......Q Q..-..-&-......Q Q..-..-&-......Q Q..-..---.-D---Q Q..b..b*b.-.-VVQ Q.........-.--&Q Q.......-.-.-VVQ Q.......b-b!---Q QQQQQQQQQQQQQQQQ [additional] 24 2.1.&.2.0 12.1.&.2.1 14.1.&.2.2 5.3.*.1 9.3.@.3 5.4.*.1 9.4.@.3 14.7.&.2.3 4.9.&.2.4 10.9.&.2.5 3.10.&.2.6 4.10.&.2.7 10.10.&.2.8 11.10.&.2.9 6.15.^.2.0.0 7.15.^.2.0.0 8.15.^.2.0.0 6.16.*.1 7.16.*.1 8.16.*.1 7.23.&.2.10 7.24.&.2.11 7.26.*.1 14.27.&.2.12 [end] [offset] 5E8C [level] 20 [colour] 8a8d56 [size] 16.31 [author] Svetla n Saz [data] ooo@@ooooooooooo o!o@@o?TTTDDDDDo o.ooooTT+oo.o..o oV+D.oT%o%..o..o o..o.ooo'..o%..o ooo..To...}oT..o o}...o}HHHoo%..o o....oHHHo'%T..o o.b.oHHHHM....Mo o.ToHHHoo......o oHo..Tob.......o oHo..TM^^.^^^.Mo oHo.~o.........o oHo..o.b.......o oHo..o.........o oHo..o=========o oHo..o.........o oH+o.oM^.''.^.Mo oHo..o.........o oHo..o.........o oHo..o.........o oHo..o#.#.#.#.#o oHo..oV#.#+#.#Vo oHo..o#V#.#.#V#o oHo..oV#.#.#.#Vo oHo..o#.#.#.#.#o oHo..o.........o oHo..o.}.....}.o oHTT.o.........o oHTT}obbbbbbbbbo ooooooo@@oRo@@oo [additional] 27 3.0.@.3 4.0.@.3 3.1.@.3 4.1.@.3 10.5.}.2.0.0.0.0.0 1.6.}.1.0.1.0.0.0 6.6.}.0.0.1.0.0.0 9.8.M.0 14.8.M.2 6.11.M.0 7.11.^.2.0.0 8.11.^.2.0.0 10.11.^.2.0.0 11.11.^.2.0.0 12.11.^.2.0.0 14.11.M.2 6.17.M.0 7.17.^.2.1.1 12.17.^.2.1.1 14.17.M.2 7.27.}.0.0.0.0.1.1 13.27.}.0.0.0.0.1.1 4.29.}.3.0.2.0.0.0 7.30.@.3 8.30.@.3 12.30.@.3 13.30.@.3 [end] [offset] 608C [level] 21 [colour] 6b7566 [size] 16.31 [author] Svetla n Saz [data] OOOOOOOOOOOOOOOO OOTT...TOT..&.OO O.OO.&OOO...O..O O.&OO...O..OO..O O...OO..&.OO^..O M.....}.}}HHHHHO O*T*.}HHHOHHHHHO O.T..HHHHOHHbHHO O....O..}O#####O O#}}}H&}}TTTTTTO O#}TTHHHHTTTTTTO O#}TODHHHHHHDOHO O#OOH%OOOOOOH%OO O...HH......HH.O O*.---..***....O O...-.....-----O O.-'-.T.T..-.&.O O..---------D--O OTT-T'T'T'T-DDDO O..-------TDDD!O O.-???????--~--O O&-D-D-D-D--.--O O..............O O......}T}.....O O......}T}..b..O O}##D##}#}#D}}}O O..&R&.}.&..&.}O O?}}%}.}&}&}%?%O O%%}T}T}.}.}}%%O OT%T}}}}}}}}T?TO O==============O [additional] 65 12.1.&.7.0 5.2.&.7.1 2.3.&.7.2 8.4.&.7.3 12.4.^.2.1.1 0.5.M.0 6.5.}.1.0.1.0.0.0 8.5.}.1.0.1.0.0.0 9.5.}.1.0.1.0.0.0 1.6.*.1 3.6.*.1 5.6.}.1.0.1.0.0.0 8.8.}.3.0.0.1.0.0 2.9.}.1.0.1.0.0.0 3.9.}.1.0.1.0.0.0 4.9.}.1.0.1.0.0.0 6.9.&.8.0 7.9.}.1.0.1.0.0.0 8.9.}.1.0.1.0.0.0 2.10.}.1.0.1.0.0.0 2.11.}.1.0.1.0.0.0 1.14.*.1 8.14.*.1 9.14.*.1 10.14.*.1 13.16.&.8.1 1.21.&.7.4 7.23.}.1.0.1.0.0.0 9.23.}.1.0.1.0.0.0 7.24.}.1.0.1.0.0.0 9.24.}.1.0.1.0.0.0 1.25.}.1.0.1.0.0.0 7.25.}.1.0.1.0.0.0 9.25.}.1.0.1.0.0.0 12.25.}.1.0.1.0.0.0 13.25.}.1.0.1.0.0.0 14.25.}.1.0.1.0.0.0 3.26.&.8.2 5.26.&.8.3 7.26.}.1.0.1.0.0.0 9.26.&.8.4 12.26.&.8.5 14.26.}.1.0.1.0.0.0 2.27.}.1.0.1.0.0.0 3.27.}.1.0.1.0.0.0 5.27.}.1.0.1.0.0.0 7.27.}.1.0.1.0.0.0 8.27.&.8.6 9.27.}.1.0.1.0.0.0 10.27.&.8.7 11.27.}.1.0.1.0.0.0 3.28.}.1.0.1.0.0.0 5.28.}.1.0.1.0.0.0 7.28.}.1.0.1.0.0.0 9.28.}.1.0.1.0.0.0 11.28.}.1.0.1.0.0.0 12.28.}.1.0.1.0.0.0 4.29.}.1.0.1.0.0.0 5.29.}.1.0.1.0.0.0 6.29.}.1.0.1.0.0.0 7.29.}.1.0.1.0.0.0 8.29.}.1.0.1.0.0.0 9.29.}.1.0.1.0.0.0 10.29.}.1.0.1.0.0.0 11.29.}.1.0.1.0.0.0 [end] [offset] 628C [level] 22 [colour] 8698ab [size] 16.31 [author] Svetla n Saz [level_notes] Thunor: I've added the capsules because they were missing from the dump. [data] -ooo--------ooo- -o!o-oooooooo!o- -o.o-o......o.o- ooDooo&oooo&oDoo oR.....o--o....o o......oooo....o o.......b.....}o ooooooooooo.oooo ----------o.o--- ---------oo.oooo oooooooooo.&..&o o!.D........oooo oooo..~.#....o-- ---o~......#.o-- ---o...##....o-- ---o.#.#..~~.o-- ---o.........o-- ---o.....@...o-- oooooHoooooo&o-- oM....o----o.o-- ooooo.o----o.o-- ----oboooooo.o-- ooooo........o-- o!.D..oooooooo-- oooo..o--------- ---o..ooooo-oooo ---o....D.o-o&.o -ooo....o.o-o.'o -o.D....o!o-oooo -o!oooooooo----- -ooo------------ [additional] 9 6.3.&.10.0 11.3.&.1.0 14.6.}.3.0.0.1.0.0 11.10.&.2.0 14.10.&.4.0 9.17.@.3 12.18.&.3.0 1.19.M.0 13.26.&.4.1 [end] [offset] 648C [level] 23 [colour] 9f826a [size] 16.31 [author] Svetla n Saz [data] QQQQQQQQQQQQQQQQ QRRRRRRRRRRRRRRQ Q.QQ...QQ...QQ.Q Q..............Q Q..QQQ.....QQQ.Q Q....QQQ.QQQT..Q QQQ....Q.Q.....Q Q.Q............Q Q.Q.QQQ...QQQ..Q Q.......Q......Q Q.......Q..QQQQQ QQQQQ...Q..Q...Q QT..Q......Q...Q Q...Q........Q.Q Q...QQQQQ....Q.Q QQQ........Q.Q.Q QTQ.....Q..Q..TQ Q.QQQQQ.QQ.QQQQQ Q.....Q....Q...Q Q.....QQQ..Q...Q Q.Q........Q.Q.Q Q.Q......QQQ.Q.Q Q.Q..Q.......Q.Q Q.Q..Q.......Q.Q Q.Q..QQQQQQQQQ.Q Q.Q...Q........Q Q.....Q.Q.Q..Q.Q QQQQQ.Q.....!Q.Q Q.....Q...QQQQ.Q Q.............TQ QQQQQQQQQQQQQQQQ [additional] 0 [end] [offset] 668C [level] 24 [colour] 7cd092 [size] 16.31 [author] Svetla n Saz [level_notes] Thunor: I've added a capsule because it was missing from the dump. [data] OOOOOOOOOOOOOOOO O}.HbbbbbbbbbbbO O...R..'......bO O}.Hbbbbbbbbb.bO OOOOOOOOOOOOb+bO -----------Ob.bO ------OOOOOOb.bO ------Obbbbbb.bO ------Ob...%..bO ------Ob.bbbbbbO ------Ob.bOOOOOO ------Ob.bO----- ------Ob.bO----- ------Ob.bO----- ------Ob.bO----- OOOOOOOb.bOOOOOO ObbbbbbbDbbbbbbO Ob............bO ObbbbbbbbbbbbbbO Ob.bOOOOOOOOb.bO Ob.bO------Ob.bO Ob.bO------Ob.bO Ob.bO------Ob.bO Ob.bOOOOOOOOb.bO Ob.bbbbbbbbbb.bO Ob..H.b..b.H..bO Ob.bbbb..bbbb.bO OOOOOOb..bOOOOOO Obbbbbb..bbb.D.O O....%.......O!O OOOOOOOOOOOOOOOO [additional] 2 1.1.}.0.0.1.0.0.0 1.3.}.0.0.1.0.0.0 [end] [offset] 688C [level] 25 [colour] 6cd99b [size] 16.31 [author] Svetla n Saz [level_notes] Thunor: I've added a capsule because it was missing from the dump. [data] QQQQQQQQQQQQQQQQ Q....*@........Q Q..............Q Q..............Q Q..............Q Q..............Q Q..............Q Q.QQQQQHQQQQQQ.Q Q.QbbbbbbbbbbQ.Q Q.Qb@@@*****bQ.Q Q.Qb@bbbbbb*bQ.Q Q.Qb@bR'R?b*bQ.Q Q.Qb@bRRR?b*bQ.Q Q.Qb@bRRR?b*bQ.Q Q.Hb@bRRR?b*bH.Q Q.Qb@bRRR?b*bQ.Q Q.Qb@bRRR'b*bQ.Q Q.Qb@b????b*bQ.Q Q.Qb@bbbbbb*bQ.Q Q.Qb@@@@@@@*bQ.Q Q.Qbbbb.bbbbbQ.Q Q.QQQQQ.QQQQQQ.Q Q..............Q Q..............Q Q..............Q Q..............Q Q..............Q Q..............Q Q..............Q Q.......!......Q QQQQQQQQQQQQQQQQ [additional] 36 5.1.*.1 6.1.@.3 4.9.@.3 5.9.@.3 6.9.@.3 7.9.*.1 8.9.*.1 9.9.*.1 10.9.*.1 11.9.*.1 4.10.@.3 11.10.*.1 4.11.@.3 11.11.*.1 4.12.@.3 11.12.*.1 4.13.@.3 11.13.*.1 4.14.@.3 11.14.*.1 4.15.@.3 11.15.*.1 4.16.@.3 11.16.*.1 4.17.@.3 11.17.*.1 4.18.@.3 11.18.*.1 4.19.@.3 5.19.@.3 6.19.@.3 7.19.@.3 8.19.@.3 9.19.@.3 10.19.@.3 11.19.*.1 [end] [offset] 6A8C [level] 26 [colour] ad414f [size] 16.31 [author] Svetla n Saz [data] ssssssssssssssss s.............&s s....sss&sss???s s....s+T!T+sVVVs s.R..sTT.TTsVVTs s.bb.sT#.VVsV}Ts s.bb.sMVVbbsVVMs s'HHHHsVVVVsMVVs sHVHVHsVVVVsVVMs sHVHVHsVVVVsMVV& sHVHVHsVVVVsVVMs sHVHVHs====sMVVs sVVHVHs====sTVMs sHHHDHs====sTVTs s.....s====sTVTs s.#...s====sTVTs sHHHHHs====sT.Ts sHHHHHs====sT.Ts sHHHHHs====s..Ts sHHHHHs====s..Ts sHHHHHsTTTTs..Ts sDHHHHs....s..Ts s#s..s}~T..s.~}s sTs..s.....s...s sTs..s?....s.T.s sTs..s.....s.T.s sTs..s.....s.T.s sHs..s.....s...s s.s........s...s s&s.}......s..%s ssssssssssss&sss [additional] 17 14.1.&.10.0 8.2.&.1.0 13.5.}.1.0.1.0.0.0 6.6.M.0 14.6.M.2 12.7.M.0 14.8.M.2 12.9.M.0 15.9.&.10.1 14.10.M.2 12.11.M.0 14.12.M.2 6.22.}.3.0.0.1.0.0 14.22.}.1.0.1.0.0.0 1.29.&.10.2 4.29.}.0.0.0.0.1.1 12.30.&.1.1 [end] [offset] 6C8C [level] 27 [colour] 7892c9 [size] 16.31 [author] Svetla n Saz [data] Q&QQQQQQQQQQQQ&Q Q.~~TTTTTTH~~R.Q Q~~~~HHHHHH~~~~Q Q~HHHHHHHHHHHHHQ Q.............}Q Q~~~~~~~~~~~~~~Q QTTTTTTTTTTTTTHQ Q.............}Q Q~~~~~~~~~~~~~~Q Q.TTTTTTTTTTTT%Q Q.~.........@..Q &.~...........@Q Q.~............Q Q.~.~.~.~.~@~.~Q Q&&~&~&~&~&~&~&Q Q..-----------&Q Q..?VVTVVVVTV.}Q Q!.D?VVVVVVVV.}Q &...D?V%TTTVV.}Q Q..D?VVVVVVVV.}Q Q..?VVTVVVVTV.}Q Q-------------&Q Q.........^....& Q.&&&.&&....&&.Q Q...&..&....&&.Q Q...&...&...&..Q Q...&....&.&...Q Q...&....&.&...Q Q.&.&....&'&...Q Q..&.^....&....Q QQQQQQQQQQQQQQQQ [additional] 53 1.0.&.10.0 14.0.&.10.1 14.4.}.3.0.0.1.0.0 14.7.}.3.0.0.1.0.0 12.10.@.3 0.11.&.3.0 14.11.@.3 11.13.@.3 1.14.&.2.0 2.14.&.2.1 4.14.&.2.2 6.14.&.2.3 8.14.&.2.4 10.14.&.2.5 12.14.&.2.6 14.14.&.2.7 14.15.&.2.8 14.16.}.2.0.0.0.0.0 14.17.}.2.0.0.0.0.0 0.18.&.10.2 14.18.}.2.0.0.0.0.0 14.19.}.2.0.0.0.0.0 14.20.}.2.0.0.0.0.0 14.21.&.2.9 10.22.^.3.0.0 15.22.&.8.0 2.23.&.8.1 3.23.&.8.2 4.23.&.8.3 6.23.&.8.4 7.23.&.8.5 12.23.&.8.6 13.23.&.8.7 4.24.&.8.8 7.24.&.8.9 12.24.&.8.10 13.24.&.3.1 4.25.&.8.11 8.25.&.8.12 12.25.&.8.13 4.26.&.8.14 9.26.&.8.15 11.26.&.8.16 4.27.&.8.17 9.27.&.4.0 11.27.&.8.18 2.28.&.8.19 4.28.&.8.20 9.28.&.8.21 11.28.&.8.22 3.29.&.8.23 5.29.^.3.0.0 10.29.&.8.24 [end] [offset] 6E8C [level] 28 [colour] a674b3 [size] 16.31 [author] Svetla n Saz [data] pp&pppppppppp&pp p##TTTT}@#@#.+.M pb####.pb##b...p pb##bbpppb+#.R.p pb#b.}bbb}+b...p p.b.bpp.ppb#...p p^..}bb}bb}b+++& p--}-------}---p pVVVVVVVVVVVVVVp p-}---------}--p p.}T}}}T}}}T}}.p p.VVVV.V...V...p p.V.TVTVT.TVT.Tp p}VT.V.V...V.T.p p.V.TVTVTTTV.V.p pTV.TVTVTTTVTV}p p.VVVVVVVVVVVV.p p}VT.T.T.T.TTVTp p.VVVVVVVVVVVV.p p..T.T.}.T.}.T.& pppppppppppppppp pTT^...p!.....^p pT..^..p^......p p....^.ppp.^...p p.....^M.'.....M p......M.......p p......p.......p p......p.......p p......p......~p &......p}......& pppppppppppppppp [additional] 45 2.0.&.1.0 13.0.&.10.0 7.1.}.1.0.1.0.0.0 8.1.@.3 10.1.@.3 15.1.M.2 5.4.}.1.0.1.0.0.0 9.4.}.1.0.1.0.0.0 1.6.^.2.0.0 4.6.}.1.0.1.0.0.0 7.6.}.1.0.1.0.0.0 10.6.}.1.0.1.0.0.0 15.6.&.1.1 3.7.}.1.0.1.0.0.0 11.7.}.1.0.1.0.0.0 2.9.}.1.0.1.0.0.0 12.9.}.1.0.1.0.0.0 2.10.}.1.0.0.0.0.0 4.10.}.1.0.0.0.0.0 5.10.}.1.0.1.0.0.0 6.10.}.1.0.0.0.0.0 8.10.}.1.0.0.0.0.0 9.10.}.1.0.1.0.0.0 10.10.}.1.0.0.0.0.0 12.10.}.1.0.0.0.0.0 13.10.}.1.0.1.0.0.0 1.13.}.0.0.1.0.0.0 14.15.}.2.0.1.0.0.0 1.17.}.0.0.1.0.0.0 7.19.}.3.0.1.0.0.0 11.19.}.3.0.1.0.0.0 15.19.&.10.1 3.21.^.3.0.0 14.21.^.3.0.0 4.22.^.3.0.0 8.22.^.2.0.0 5.23.^.3.0.0 11.23.^.2.1.1 6.24.^.3.0.0 7.24.M.0 15.24.M.2 7.25.M.2 0.29.&.10.2 8.29.}.3.0.1.0.0.0 15.29.&.1.2 [end] [offset] 708C [level] 29 [colour] b5a7a2 [size] 16.31 [author] Svetla n Saz [data] }QQQQ}QQQQ}QQQQ} Q^.............Q Q#V#V#V#V#V#V#VQ QV#V#V#V#V#V#V#Q Q#V#V#V#V#.#V#VQ }V#V#V#V#.#.#V#} Q#V#V#V#.&.#.#.Q QV#V#V#^}.}.#.DQ Q#V#V#^M...MDDTQ QV#?#@}.....}DTQ }#.#.}T.....T}'} Q...}T.......T}Q Q...}T.......T}Q Q....}T.....T}TQ Q.....}.....}TTQ }.~TTTT}...}TTT} Q.bbbbbT}T}TTbTQ Q.....^b.}TTTbTQ Q.....#.bb#%b.TQ Q^.....~b~bb..TQ }.....#####TT.T} Q+++++#bbb#++++Q Q+++++#b!b#++++Q Q++.++#bbb#+.++Q Q++...##b##..++Q }++....#b#...++} Q.......#....}.Q Q..R...#.#.....Q Q..b..##.##..b.Q Q...~##~T~##~..Q }QQQQ}QQQQ}QQQQ} [additional] 47 0.0.}.1.0.1.0.0.0 5.0.}.1.0.1.0.0.0 10.0.}.1.0.1.0.0.0 15.0.}.1.0.1.0.0.0 1.1.^.2.1.1 0.5.}.1.0.1.0.0.0 15.5.}.1.0.1.0.0.0 9.6.&.10.0 7.7.^.2.1.1 8.7.}.1.0.1.0.0.0 10.7.}.1.0.1.0.0.0 6.8.^.2.0.0 7.8.M.0 11.8.M.2 5.9.@.3 6.9.}.1.0.1.0.0.0 12.9.}.1.0.1.0.0.0 0.10.}.1.0.1.0.0.0 5.10.}.1.0.1.0.0.0 13.10.}.1.0.1.0.0.0 15.10.}.1.0.1.0.0.0 4.11.}.1.0.1.0.0.0 14.11.}.1.0.1.0.0.0 4.12.}.1.0.1.0.0.0 14.12.}.1.0.1.0.0.0 5.13.}.1.0.1.0.0.0 13.13.}.1.0.1.0.0.0 6.14.}.1.0.1.0.0.0 12.14.}.1.0.1.0.0.0 0.15.}.1.0.1.0.0.0 7.15.}.3.0.1.0.0.0 11.15.}.3.0.1.0.0.0 15.15.}.1.0.1.0.0.0 8.16.}.3.0.1.0.0.0 10.16.}.3.0.1.0.0.0 6.17.^.2.0.0 9.17.}.1.0.1.0.0.0 1.19.^.2.0.0 0.20.}.1.0.1.0.0.0 15.20.}.1.0.1.0.0.0 0.25.}.1.0.1.0.0.0 15.25.}.1.0.1.0.0.0 13.26.}.3.0.0.1.0.0 0.30.}.1.0.1.0.0.0 5.30.}.1.0.1.0.0.0 10.30.}.1.0.1.0.0.0 15.30.}.1.0.1.0.0.0 [end] [offset] 728C [level] 30 [colour] b58887 [size] 16.31 [author] Svetla n Saz [data] pppppppppppppppp p.^.^.p....^p'Rp p^.^.^p^^^^^pHbp pHHpHHpH#p#HpHHp p.~p..p#'p.#pbHp p~.p..M..p..MHHp p.Hp..p**p.bpHbp pHHp..p..pTTpHHp pTTp..p..p#Tpb^p pTTp..p**DTTp%^p pDbp..p..pHHpDDp p.Dp*.p..pHHp~~p }..p..p**pHHp..p p..p.....MHHVH%p p.}p*..*.}HHHHHM p..ppppppppppppp }..pVVDVVpH#D#Hp p..p=====p.HDH.p p.#p..p'HpH.p.Hp p#.p..}~HpD~p}Dp p.#p..p.HpH.p++p p#.}..p.TpT.p..p p..p..p.%p%.p..p p..p..}.TpT.p..} p~~p~~p.Hp~~p~~p p.bpb.p.bpb.p..p pb.p.bp..b..p.^p p.bp.Tp.bpHHp^.p p=====pbHbHbp..p p%.D.'pTTTTTpT!p pppppppppppppppp [additional] 37 2.1.^.3.0.0 4.1.^.3.0.0 11.1.^.2.1.1 1.2.^.3.0.0 3.2.^.3.0.0 5.2.^.3.0.0 7.2.^.2.0.0 8.2.^.2.0.0 9.2.^.2.0.0 10.2.^.2.0.0 11.2.^.2.0.0 6.5.M.0 12.5.M.2 7.6.*.1 8.6.*.1 14.8.^.3.0.0 7.9.*.1 8.9.*.1 14.9.^.3.0.0 4.11.*.1 0.12.}.0.0.0.0.1.1 7.12.*.1 8.12.*.1 9.13.M.0 2.14.}.0.0.0.0.1.1 4.14.*.1 7.14.*.1 9.14.}.0.0.1.0.0.0 15.14.M.2 0.16.}.0.0.0.0.1.1 6.19.}.2.0.1.0.0.0 13.19.}.0.0.1.0.0.0 3.21.}.0.0.1.0.0.0 6.23.}.2.0.1.0.0.0 15.23.}.2.0.1.0.0.0 14.26.^.2.0.0 13.27.^.2.0.0 [end] [offset] 748C [level] 31 [colour] 7fca8c [size] 16.31 [author] Svetla n Saz [data] ss}sssssssssssss &.TT.&....s&.'.& sss}ss.TT@&sssss s.~.^ssssssT**.s &.%~.&&.R&&.%..& s.~.^ssssssT...s sssss&.DTDsss}ss s'D.&sHTD.&.TT.& ssssssssssss}sss s.....}+!}.....s s%..?.}HH}.?..Ts M...}}}HH}}}...M s...#HHVVHH#...s s...#HHVVHH#...s s#..}}}HH}}}..#s s...~.D..D.~...s s.....}HH}.....s M...}}}HH}}}...M s..}}......}}..s M.'}TTDDDDTT}T.M sssssssDDsssssss s%...*sDDs@...'s s*..?bsDDsb?..@s sHHHHHbHHbHHHHHs sVVVVVVVVVVVVVVs sVVVVVVVVVVVVVVs sHHHHHHHHHHHHHHs s==============s s==============s &..............s ssssssssssssssss [additional] 65 2.0.}.0.0.0.0.1.1 0.1.&.6.0 5.1.&.5.0 11.1.&.8.0 15.1.&.6.1 3.2.}.0.0.0.0.1.1 9.2.@.3 10.2.&.4.0 4.3.^.3.0.0 12.3.*.1 13.3.*.1 0.4.&.4.1 5.4.&.1.0 6.4.&.8.1 9.4.&.7.0 10.4.&.1.1 15.4.&.2.0 4.5.^.3.0.0 5.6.&.2.1 13.6.}.1.0.0.0.0.0 4.7.&.7.1 10.7.&.3.0 15.7.&.10.0 12.8.}.3.0.1.0.0.0 6.9.}.1.0.1.0.0.0 9.9.}.1.0.1.0.0.0 6.10.}.1.0.1.0.0.0 9.10.}.1.0.1.0.0.0 0.11.M.0 4.11.}.1.0.1.0.0.0 5.11.}.1.0.1.0.0.0 6.11.}.1.0.1.0.0.0 9.11.}.1.0.1.0.0.0 10.11.}.1.0.1.0.0.0 11.11.}.1.0.1.0.0.0 15.11.M.2 4.14.}.1.0.1.0.0.0 5.14.}.1.0.1.0.0.0 6.14.}.1.0.1.0.0.0 9.14.}.1.0.1.0.0.0 10.14.}.1.0.1.0.0.0 11.14.}.1.0.1.0.0.0 6.16.}.1.0.1.0.0.0 9.16.}.1.0.1.0.0.0 0.17.M.0 4.17.}.1.0.1.0.0.0 5.17.}.1.0.1.0.0.0 6.17.}.1.0.1.0.0.0 9.17.}.1.0.1.0.0.0 10.17.}.1.0.1.0.0.0 11.17.}.1.0.1.0.0.0 15.17.M.2 3.18.}.1.0.1.0.0.0 4.18.}.1.0.1.0.0.0 11.18.}.1.0.1.0.0.0 12.18.}.1.0.1.0.0.0 0.19.M.0 3.19.}.1.0.1.0.0.0 12.19.}.1.0.1.0.0.0 15.19.M.2 5.21.*.1 10.21.@.3 1.22.*.1 14.22.@.3 0.29.&.10.1 [end] [offset] 768C [level] 32 [colour] 72bbc8 [size] 16.31 [author] Svetla n Saz [data] -..~........~..- -..bbbb&&bbbb..- -.-----bb-----.- -^...Db}-bD^^..- -#^^}-.-}.-...'- ------.}-.------ -......-}......- -..~H}}-%}}H~..- -.-.HHT-THHH.-.- -D-.---!----.-D- -.....M+TM.....- -.....MT+M.....- -.....M..M.....- -......&-......- -......-&......- -HT}THH-HHHT}TH- -To&o======o&oT- -o###o====o###o- -.....}TT}.....- -......}}......- -...bbb-...bbb%- -###HHH-###DDDH- -HHHHbH-THHHHHH- -%-------.------ -.}TTTTT-.^....- -.}}}}}+-..^...- -......D-...^..- ------.-------.- -}.....-%}.....- -#..?..-'}.~.~.- -R~..?.-'D..~.R- [additional] 44 7.1.&.1.0 8.1.&.10.0 1.3.^.3.0.0 7.3.}.1.0.1.0.0.0 11.3.^.3.0.0 12.3.^.3.0.0 2.4.^.3.0.0 3.4.^.3.0.0 4.4.}.0.0.0.0.1.1 8.4.}.1.0.1.0.0.0 7.5.}.0.0.0.0.1.1 8.6.}.0.0.0.0.1.1 5.7.}.1.0.1.0.0.0 6.7.}.1.0.1.0.0.0 9.7.}.1.0.1.0.0.0 10.7.}.1.0.1.0.0.0 6.10.M.2 9.10.M.0 6.11.M.2 9.11.M.0 6.12.M.2 9.12.M.0 7.13.&.8.0 8.14.&.8.1 3.15.}.3.0.1.0.0.0 12.15.}.3.0.1.0.0.0 3.16.&.1.1 12.16.&.10.1 6.18.}.2.0.2.0.0.0 9.18.}.0.0.2.0.0.0 7.19.}.2.0.2.0.0.0 8.19.}.0.0.2.0.0.0 2.24.}.1.0.1.0.0.0 10.24.^.3.0.0 2.25.}.1.0.1.0.0.0 3.25.}.1.0.1.0.0.0 4.25.}.1.0.1.0.0.0 5.25.}.1.0.1.0.0.0 6.25.}.1.0.1.0.0.0 11.25.^.3.0.0 12.26.^.3.0.0 1.28.}.0.0.0.0.1.1 9.28.}.1.0.1.0.0.0 9.29.}.1.0.1.0.0.0 [end] [offset] 788C [level] 33 [colour] 8e5f6a [size] 16.31 [author] Svetla n Saz [data] oooooooooooooooo oR}............o o.}..'...'...'.o o.}............o o...???????????o o}}????????????o o????V??V??V?*?o o??????????????o o???@??????????o o??????????@???o o??????????????o o???????@??????o o??*???????????o o??????????????o o?????@????*???o o??????????????o o??????????????o o??????????????o o??????????????o o??@???V???@???o o??????????????o o??????????????o o??????????????o o.^..^..^..^...o o.#..##.##.###.o o#.##..#..#.#.#o o##.}}}}}#}#.##o o#.#}....#}.##.o o###}.}}}.}###.o o#.#}!....}#..#o oooooooooooooooo [additional] 33 2.1.}.1.0.1.0.0.0 2.2.}.1.0.1.0.0.0 2.3.}.1.0.1.0.0.0 1.5.}.1.0.1.0.0.0 2.5.}.1.0.1.0.0.0 13.6.*.1 4.8.@.3 11.9.@.3 8.11.@.3 3.12.*.1 6.14.@.3 11.14.*.1 3.19.@.3 11.19.@.3 2.23.^.2.1.1 5.23.^.2.1.1 8.23.^.2.1.1 11.23.^.2.1.1 4.26.}.1.0.1.0.0.0 5.26.}.1.0.1.0.0.0 6.26.}.1.0.1.0.0.0 7.26.}.1.0.1.0.0.0 8.26.}.1.0.1.0.0.0 10.26.}.1.0.1.0.0.0 4.27.}.1.0.1.0.0.0 10.27.}.1.0.1.0.0.0 4.28.}.1.0.1.0.0.0 6.28.}.1.0.1.0.0.0 7.28.}.1.0.1.0.0.0 8.28.}.1.0.1.0.0.0 10.28.}.1.0.1.0.0.0 4.29.}.1.0.1.0.0.0 10.29.}.1.0.1.0.0.0 [end] [offset] 388C [level] 34 [colour] 688c99 [size] 16.31 [author] Svetla n Saz [data] ssssssssssssssss s...s......T...s s.&.D.ssssssss.s s..%sss...''''.s sssss...ssssssss s.....sssT....%s s.sssss....}..}s s.............Ts -ssssssDsssssss- --s..........s-- ---s........s--- ---s........s--- ---s========s--- ---s========s--- ---s========s--- --sT........Ts-- -sT..........Ts- sT......+.....Ts sHHHHHHHHHHHHHHs sHHHHHHHHHHHHHHs s.......!......s ssssssssssssssss sHHHb&HHHHHHHH}s sHHHbHHHHHHHHH}s s##########sDsss s.....^...~....s s....^....~....s s...^.....~....s s..^......~....s s%^.......~...Rs ssssssssssssssss [additional] 11 2.2.&.10.0 11.6.}.3.0.0.1.0.0 14.6.}.2.0.0.0.0.0 5.22.&.10.1 14.22.}.2.0.1.0.0.0 14.23.}.2.0.1.0.0.0 6.25.^.2.0.0 5.26.^.2.0.0 4.27.^.2.0.0 3.28.^.2.0.0 2.29.^.2.0.0 [end] [offset] 3A8C [level] 35 [colour] 6daf97 [size] 16.31 [author] Svetla n Saz [data] PPPPPPPPPPPPPPPP P&TTTTTTTTPT}.}P PTTTTTTTTTP.}.}P PTTTTTTTTTP.}.}P PTTTTTTTTTP.}.}P PTTTTTTTTTP.}.}P PTTTTTTTTTPT}.}P PPPPPDPPPPP.}.}P P????.????P.}.}P P.........P.}.}P P...#}#...P...TP P.........PPP.PP PPPPPPPP.PP....P PT.T.TP}.......P P.T.T.P.P......P PT.T.TP.P......P P.T.T.P.P.....^P PT.T.TP.P....^.P PRT.T.P.P...^..P PT.T.TP.P..^...P P.T.T.P.P.^....P PT.T.TP.P^.....P P.T.T...P......P PT.T.TP.P......P P.T.T.P........P PT.T.TP...b....P PbT.T.P.P.....bP PPPPPPP#PPPPPPPP P.T.PT.T...P.&.P P&.&PT.T..%P..!P PPPPPPPPPPPPPPPP [additional] 30 1.1.&.10.0 12.1.}.0.0.2.0.0.0 14.1.}.2.0.2.0.0.0 12.2.}.0.0.2.0.0.0 14.2.}.2.0.2.0.0.0 12.3.}.0.0.2.0.0.0 14.3.}.2.0.2.0.0.0 12.4.}.0.0.2.0.0.0 14.4.}.2.0.2.0.0.0 12.5.}.0.0.2.0.0.0 14.5.}.2.0.2.0.0.0 12.6.}.0.0.2.0.0.0 14.6.}.2.0.2.0.0.0 12.7.}.0.0.2.0.0.0 14.7.}.2.0.2.0.0.0 12.8.}.0.0.2.0.0.0 14.8.}.2.0.2.0.0.0 12.9.}.0.0.2.0.0.0 14.9.}.2.0.2.0.0.0 5.10.}.3.0.0.1.0.0 7.13.}.1.0.0.0.0.0 14.16.^.2.0.0 13.17.^.2.0.0 12.18.^.2.0.0 11.19.^.2.0.0 10.20.^.2.0.0 9.21.^.2.0.0 13.28.&.1.0 1.29.&.10.1 3.29.&.1.1 [end] [offset] 3C8C [level] 36 [colour] 9988ae [size] 16.31 [author] Svetla n Saz [data] pppppppppppppppp pR.............p ppppppp.pppp.p.p p.&pppp.pppp.p.p p.ppT..b..Tp.p.p p.pppppppppp.p.p p.pTH........p.p p.pppppppppppp.p p..............p p.pppppppppppppp p.p..p....p....p p.p&'p&...H...!p p.p..p....p....p p.pppppppppppppp p..............p ppppppppp.pppp.p pVVVVp.&p.p&pp.p pVVVVp..p.pTpp.p pVVVVpT.p.p.pp.p pVVVVp&.p.p.pp.p ppppVpppp.p.pp.p pTppb.....p.pp.p p.pbppppppp.pp.p p.p#...........p p.p.pppppppppppp p...p....^.....p ppppp.........&p p.......^.^....p p&.............p p......^...^...p pppppppppppppppp [additional] 13 2.3.&.10.0 3.11.&.10.1 6.11.&.3.0 7.16.&.2.0 11.16.&.1.0 6.19.&.3.1 9.25.^.3.0.0 14.26.&.2.1 8.27.^.3.0.0 10.27.^.3.0.0 1.28.&.1.1 7.29.^.3.0.0 11.29.^.3.0.0 [end] [offset] 3E8C [level] 37 [colour] b98cb0 [size] 16.31 [author] Svetla n Saz [data] QQQQQQQQQQQQQQQQ Q...QT*}}}}@QbbQ Q.&.QQ*....@QH&Q Q...!Q*....@QHHQ QQQQQQ*....@QHHQ Q?..........QHHQ Q..........%DHHQ Q*..........QHHQ Q*..........QH?Q Q*..........QHHQ Q*.........@QHHQ Q*.........@QHHQ Q*.........@QHHQ Q*.........@QHHQ Q*.........@QHHQ Q...........QHHQ QbbbbbbbbbbbQHHQ Q?b*b?b%?bb^QHHQ Qb@bH+bbb~^bQHHQ QV'bT+Db#bbVQHHQ QbbbbbbbbbbbQHHQ QT....'.....QHHQ Q.QQ.QQQQQQ.QHHQ Q..Q.Q....Q.QHHQ Q..Q.Q.QQ.Q.QHHQ Q..Q.Q.QQ.Q.QHHQ Q..Q.Q..Q.Q.QHHQ Q..Q.QbTQ.Q.QHHQ Q..Q.QQQQ.Q.QHHQ Q}.Q......QRQ}}Q QQQQQQQQQQQQQQQQ [additional] 34 6.1.*.1 7.1.}.1.0.1.0.0.0 8.1.}.1.0.1.0.0.0 9.1.}.1.0.1.0.0.0 10.1.}.1.0.1.0.0.0 11.1.@.3 2.2.&.10.0 6.2.*.1 11.2.@.3 14.2.&.10.1 6.3.*.1 11.3.@.3 6.4.*.1 11.4.@.3 1.7.*.1 1.8.*.1 1.9.*.1 1.10.*.1 11.10.@.3 1.11.*.1 11.11.@.3 1.12.*.1 11.12.@.3 1.13.*.1 11.13.@.3 1.14.*.1 11.14.@.3 3.17.*.1 11.17.^.3.0.0 2.18.@.3 10.18.^.3.0.0 1.29.}.3.0.1.0.0.0 13.29.}.3.0.1.0.0.0 14.29.}.3.0.1.0.0.0 [end] [offset] 408C [level] 38 [colour] a486bf [size] 16.31 [author] Svetla n Saz [data] ssssssssssssssss s.......@..s}}}s s.ssssssss.sVVVs s....TsT...sVVVs s.....s....sVVVs s.....s....sVVVs s....&sT...sVVVs s.ssssssss.sVVVs s..........sVVVs s.ssssssssssbbbs sHHHHHHHHHH}..%s sHbHHHHbHHHHH}Rs sHHHHHHHHHHHH}.s ssssssssssssssss s...s.......T..s s.&.s...T......s s......''''''''s sssss==========s s==============s s==============s s==============s s==============s s..............s s..............s sDDDDDDDDDDDDDDs s.....*.s......s s.....sssss....s s.......s......s s.......s......s s.T.....H....!.s ssssssssssssssss [additional] 10 8.1.@.3 12.1.}.1.0.0.0.0.0 13.1.}.1.0.0.0.0.0 14.1.}.1.0.0.0.0.0 5.6.&.10.0 11.10.}.2.0.0.0.0.0 13.11.}.2.0.0.0.0.0 13.12.}.2.0.0.0.0.0 2.15.&.10.1 6.25.*.1 [end] [offset] 428C [level] 39 [colour] 77c281 [size] 16.31 [author] Svetla n Saz [data] PPPPPPPPPPPPPPPP P..'.HHHHHHHHDTP P..R.PPPPPPP.PPP P%...P^.^.^...^P PPPPPP.........P P^.............P P..............P P^.............P P..............P P^.............P PPP&&PPPPPPPPPPP ---------------- ---------------- ---------------- PPPPPPPPPPPPPPPP PP.....H.......P PP.PPPPPPPPPPP.P P...P..T...b...P P.&.P.PPPPPPPPPP P...P...b.....!P PPPPPPPPPPPPPPPP ---------------- ---------------- ---------------- PPPPPPPPPPPPPPPP P...P.........%P P.&.P...P..bbb.P P..P...PTP....'P P.P....PVPb....P P.....DVVVP....P PPPPPPPPPPPPPPPP [additional] 11 6.3.^.3.0.0 8.3.^.3.0.0 10.3.^.3.0.0 14.3.^.3.0.0 1.5.^.2.0.0 1.7.^.2.0.0 1.9.^.2.0.0 3.10.&.1.0 4.10.&.10.0 2.18.&.10.1 2.26.&.1.1 [end] [offset] 448C [level] 40 [colour] 65da88 [size] 16.31 [author] Svetla n Saz [data] PPPPPPPPPPPPPPPP P!D.D.D.D.D.D.DP PPPPPPPPPPPPPPDP PR.......'.....P PPPPPPP..PPPPPPP PbHHHHD..DHHHHbP P%HHHHD..DHHHH%P P%HHHHD..DHHHH%P P%HHHHD..DHHHH%P PbHHHHD..DHHHHbP PPPPPPP&&PPPPPPP P*.......#}}}}#P P........#}####P P........#}####P PPPPPPP..#}}}}#P P%+bbbb..#}##}#P PPPPPPP..#}##}#P P........#}}}}#P P........######P P..............P PPPPPPP&&PPPPPPP P..............P P..............P P.............^P P............^.P P...........^..P P..........^...P P..^......^....P P..............P P..%....%T...%.P PPPPPPPPPPPPPPPP [additional] 29 7.10.&.10.0 8.10.&.1.0 1.11.*.1 10.11.}.1.0.1.0.0.0 11.11.}.1.0.1.0.0.0 12.11.}.1.0.1.0.0.0 13.11.}.1.0.1.0.0.0 10.12.}.1.0.1.0.0.0 10.13.}.1.0.1.0.0.0 10.14.}.1.0.1.0.0.0 11.14.}.1.0.1.0.0.0 12.14.}.1.0.1.0.0.0 13.14.}.1.0.1.0.0.0 10.15.}.1.0.1.0.0.0 13.15.}.1.0.1.0.0.0 10.16.}.1.0.1.0.0.0 13.16.}.1.0.1.0.0.0 10.17.}.1.0.1.0.0.0 11.17.}.1.0.1.0.0.0 12.17.}.1.0.1.0.0.0 13.17.}.1.0.1.0.0.0 7.20.&.2.0 8.20.&.3.0 14.23.^.2.0.0 13.24.^.2.0.0 12.25.^.2.0.0 11.26.^.2.0.0 3.27.^.2.1.1 10.27.^.2.1.1 [end] [offset] 468C [level] 41 [colour] 84c489 [size] 16.31 [author] Svetla n Saz [data] pppppppppppppppp pp.......TTTTT.p p..............p }..............M p..............p }..............M p..............p }..............M p..............p }..............M p..............p }..............M p..............p }..............M p..............p }..............M p..............p p....%.........M p...%-%........p p..%-%-%.......M p..-HHH-.......p p..~~~~~.......M p..H&H&H.......p p..HHHHH.......M p..~&~&~.......p p}}~~~~~.......p pH~~&~&~~}~}~}~p p++++++++++++++p pH~~~~~~~~DD~~Hp p!D~D~D~''DD''Rp pppppppppppppppp [additional] 29 0.3.}.0.0.0.0.0.0 15.3.M.2 0.5.}.0.0.0.0.0.0 15.5.M.2 0.7.}.0.0.0.0.0.0 15.7.M.2 0.9.}.0.0.0.0.0.0 15.9.M.2 0.11.}.0.0.0.0.0.0 15.11.M.2 0.13.}.0.0.0.0.0.0 15.13.M.2 0.15.}.0.0.0.0.0.0 15.15.M.2 15.17.M.2 15.19.M.2 15.21.M.2 4.22.&.10.0 6.22.&.10.1 15.23.M.2 4.24.&.10.2 6.24.&.10.3 1.25.}.3.0.1.0.0.0 2.25.}.3.0.1.0.0.0 4.26.&.10.4 6.26.&.10.5 9.26.}.3.0.1.0.0.0 11.26.}.3.0.1.0.0.0 13.26.}.3.0.1.0.0.0 [end] [offset] 488C [level] 42 [colour] b54fba [size] 16.31 [author] Svetla n Saz [data] oooooooooooooooo o##............o o##T.T.T..T.T.To o##o.o.o..o?o.oo o##Rooooo.oooo^o o##.''o....o^.+o o##.''o.&.&o.}+o o##...o&.&.o.}+o o=====o'&.&o!}+o o#####o&.&.o.}+o o##..*o'&.&o.}^o o##...o&.&'o.}+o o=====o.&.&o.}+o o#####o&.&?o.}+o o##..@o.&.&o.}+o o##''.o&.&.o.}+o o=====o?&.&o.}^o o#####o&.&Vo.}+o o##...o.&.&o.}+o o##.?*o&.&.o.}+o o=====o.&.&o.}+o o#####o&.&.o.}+o o##''.o.&.&o.}^o o##..@o&.&.o.}+o o=====oV&.&o.}+o o#####o&.&.o^}+o o##'..o.&.&o^}+o o##'..o&.&.o^}^o o##'..o.&.&o^}+o o##?...&.&.~..+o oooooooooooooo}o [additional] 86 14.4.^.2.1.1 12.5.^.2.1.1 8.6.&.1.0 10.6.&.1.1 13.6.}.1.0.1.0.0.0 7.7.&.1.2 9.7.&.1.3 13.7.}.1.0.1.0.0.0 8.8.&.1.4 10.8.&.1.5 13.8.}.1.0.1.0.0.0 7.9.&.1.6 9.9.&.1.7 13.9.}.1.0.1.0.0.0 5.10.*.1 8.10.&.1.8 10.10.&.1.9 13.10.}.1.0.1.0.0.0 14.10.^.2.1.1 7.11.&.1.10 9.11.&.1.11 13.11.}.1.0.1.0.0.0 8.12.&.1.12 10.12.&.1.13 13.12.}.1.0.1.0.0.0 7.13.&.1.14 9.13.&.1.15 13.13.}.1.0.1.0.0.0 5.14.@.3 8.14.&.1.16 10.14.&.1.17 13.14.}.1.0.1.0.0.0 7.15.&.1.18 9.15.&.1.19 13.15.}.1.0.1.0.0.0 8.16.&.1.20 10.16.&.1.21 13.16.}.1.0.1.0.0.0 14.16.^.2.1.1 7.17.&.1.22 9.17.&.1.23 13.17.}.1.0.1.0.0.0 8.18.&.1.24 10.18.&.1.25 13.18.}.1.0.1.0.0.0 5.19.*.1 7.19.&.1.26 9.19.&.1.27 13.19.}.1.0.1.0.0.0 8.20.&.1.28 10.20.&.1.29 13.20.}.1.0.1.0.0.0 7.21.&.1.30 9.21.&.1.31 13.21.}.1.0.1.0.0.0 8.22.&.1.32 10.22.&.1.33 13.22.}.1.0.1.0.0.0 14.22.^.2.1.1 5.23.@.3 7.23.&.1.34 9.23.&.1.35 13.23.}.1.0.1.0.0.0 8.24.&.1.36 10.24.&.1.37 13.24.}.1.0.1.0.0.0 7.25.&.1.38 9.25.&.1.39 12.25.^.3.0.0 13.25.}.1.0.1.0.0.0 8.26.&.1.40 10.26.&.1.41 12.26.^.3.0.0 13.26.}.1.0.1.0.0.0 7.27.&.1.42 9.27.&.1.43 12.27.^.3.0.0 13.27.}.1.0.1.0.0.0 14.27.^.2.1.1 8.28.&.1.44 10.28.&.1.45 12.28.^.3.0.0 13.28.}.1.0.1.0.0.0 7.29.&.1.46 9.29.&.1.47 14.30.}.3.0.2.0.0.0 [end] [offset] 4A8C [level] 43 [colour] 93b06b [size] 16.31 [author] Svetla n Saz [data] QQQQQQQQQQQQQQQQ Q'%RQ}.}.}.}.-QQ Q''Q........-Q!Q QDQ........*QTTQ Q...T-Q...-QTTQQ Q..T-QT..-QTTQ^Q Q..-QT..-QTTQ^^Q Q}-QT..-QTTQ^^^Q Q-QT..@QTTQ^^^VQ QQT..@QTTQ^^^^^Q Q}T.@QTTQ^^^^^^Q Q}.@Q^TQ^V^^V^^Q Q}.QT.QV^^^^^^^Q Q}.QT.}Q^^V^^^^Q Q}.-Q..}Q^^^^^VQ Q}.T-Q.T}Q^^^^^Q QQ}TT-QTT}Q^^^^Q Q@Q}TT-QTT}Q^V^Q Q@Q}TT.%QTT}Q^^Q QQ}TTT.%}QTT}Q^Q Q}^.T-Q%H}QTT}QQ Q}..-QVQHH}QT.^Q Q}.-QVVVQHH}Q..Q Q}^QVVVVVQHH}Q.Q Q}^-QVVVQ.HHHQ.Q Q}^.-QV...H-Q^.Q QQ}..-Q...-Q^..Q Q*Q}..-Q--Q^..QQ Q..Q}..-QQ...Q*Q Q.VVQ}..DD..QVVQ QQQQQQQQQQQQQQQQ [additional] 113 5.1.}.1.0.1.0.0.0 7.1.}.1.0.1.0.0.0 9.1.}.1.0.1.0.0.0 11.1.}.1.0.1.0.0.0 11.3.*.1 14.5.^.2.0.0 13.6.^.2.0.0 14.6.^.2.0.0 1.7.}.0.0.0.0.1.1 12.7.^.2.0.0 13.7.^.2.0.0 14.7.^.2.0.0 6.8.@.3 11.8.^.2.0.0 12.8.^.2.0.0 13.8.^.2.0.0 5.9.@.3 10.9.^.2.0.0 11.9.^.2.0.0 12.9.^.2.0.0 13.9.^.2.0.0 14.9.^.2.0.0 1.10.}.1.0.1.0.0.0 4.10.@.3 9.10.^.2.0.0 10.10.^.2.0.0 11.10.^.2.0.0 12.10.^.2.0.0 13.10.^.2.0.0 14.10.^.2.0.0 1.11.}.1.0.1.0.0.0 3.11.@.3 5.11.^.3.0.0 8.11.^.2.0.0 10.11.^.2.0.0 11.11.^.2.0.0 13.11.^.2.0.0 14.11.^.2.0.0 1.12.}.1.0.1.0.0.0 8.12.^.2.0.0 9.12.^.2.0.0 10.12.^.2.0.0 11.12.^.2.0.0 12.12.^.2.0.0 13.12.^.2.0.0 14.12.^.2.0.0 1.13.}.1.0.1.0.0.0 6.13.}.1.0.1.0.0.0 8.13.^.2.0.0 9.13.^.2.0.0 11.13.^.2.0.0 12.13.^.2.0.0 13.13.^.2.0.0 14.13.^.2.0.0 1.14.}.1.0.1.0.0.0 7.14.}.1.0.1.0.0.0 9.14.^.2.0.0 10.14.^.2.0.0 11.14.^.2.0.0 12.14.^.2.0.0 13.14.^.2.0.0 1.15.}.1.0.1.0.0.0 8.15.}.1.0.1.0.0.0 10.15.^.2.0.0 11.15.^.2.0.0 12.15.^.2.0.0 13.15.^.2.0.0 14.15.^.2.0.0 2.16.}.1.0.1.0.0.0 9.16.}.1.0.1.0.0.0 11.16.^.2.0.0 12.16.^.2.0.0 13.16.^.2.0.0 14.16.^.2.0.0 1.17.@.3 3.17.}.1.0.1.0.0.0 10.17.}.1.0.1.0.0.0 12.17.^.2.0.0 14.17.^.2.0.0 1.18.@.3 3.18.}.1.0.1.0.0.0 11.18.}.1.0.1.0.0.0 13.18.^.2.0.0 14.18.^.2.0.0 2.19.}.1.0.1.0.0.0 8.19.}.1.0.1.0.0.0 12.19.}.1.0.1.0.0.0 14.19.^.2.0.0 1.20.}.1.0.1.0.0.0 2.20.^.3.0.0 9.20.}.1.0.1.0.0.0 13.20.}.1.0.1.0.0.0 1.21.}.1.0.1.0.0.0 10.21.}.1.0.1.0.0.0 14.21.^.3.0.0 1.22.}.1.0.1.0.0.0 11.22.}.1.0.1.0.0.0 1.23.}.1.0.1.0.0.0 2.23.^.3.0.0 12.23.}.1.0.1.0.0.0 1.24.}.1.0.1.0.0.0 2.24.^.3.0.0 1.25.}.1.0.1.0.0.0 2.25.^.3.0.0 13.25.^.3.0.0 2.26.}.1.0.1.0.0.0 12.26.^.3.0.0 1.27.*.1 3.27.}.1.0.1.0.0.0 11.27.^.3.0.0 4.28.}.1.0.1.0.0.0 14.28.*.1 5.29.}.1.0.1.0.0.0 [end] [offset] 4C8C [level] 44 [colour] 8b6aae [size] 16.31 [author] Svetla n Saz [data] PPPPPPPPPPPPPPPP P''bbbbTTbbbb*^P P'----bTTb----^P PT----bTTb----TP PT----bTTb----TP PT----bTTb----TP PT----bTTb----TP PTTR&.bTTb.&TTTP P----.b..b.----P P!+--&-}}-&--++P P-T.P======PT%-P P--.---TT---.--P P+-.---..---.--P PT-.@@D..D*..-+P PT-----..-----TP PT..@@D..D*...TP P------..------P PT..@@D.*D**..TP PT-.---.*---.-TP PT-..@D.*D*..-TP P%-.---DD---.-+P P--..........--P P-%.-bbbbbb-.%-P P--.P======P.--P PPP.P======P.PPP P--.--bbbb--.--P P-%.--TTTT--.%-P P--.---..---.--P P..D+--&T--+D..P P*-T--------T-@P PPPPPPPPPPPPPPPP [additional] 27 13.1.*.1 14.1.^.2.0.0 14.2.^.3.0.0 4.7.&.8.0 11.7.&.8.1 5.9.&.7.0 7.9.}.3.0.2.0.0.0 8.9.}.3.0.2.0.0.0 10.9.&.7.1 4.13.@.3 5.13.@.3 10.13.*.1 4.15.@.3 5.15.@.3 10.15.*.1 4.17.@.3 5.17.@.3 8.17.*.1 10.17.*.1 11.17.*.1 8.18.*.1 5.19.@.3 8.19.*.1 10.19.*.1 7.28.&.7.2 1.29.*.1 14.29.@.3 [end] [offset] 4E8C [level] 45 [colour] 8dbec6 [size] 16.31 [author] Svetla n Saz [data] OOOOOOOOOOOOOOOO OO...........R&O OO.O.O.O.O.O.OOO OO.O.O.O.O.O...O OO%O.O.O.O^OOODO OO%O.O.O.O}^...O OO%O.O.O^OOOOODO OO%O.O.O}^.....O OO%O.O^OOOOOOODO OO'O.O}^.......O OO%O^OOOOOOOOODO OO!O}^.........O OOOOOOOOOOOOOODO O}############.O OD.............O ObOOOOOOOOOOOOOO ObOOOOOOOOOOOOOO Ob}}}}}}}}}}}}&O Ob#############O ObbbbbbbbbbbbbbO OOOOOOOOOOOOOO#O OOOOOOOOOOOOOOHO O..HHHHHHHHHHHHO OH}H}H}H}H}H}HbO OHHHHHHHHHHHHHHO OHOOOOOOOOOOOOOO OHH#TTTTTTTTTTTO Ob}}}}}}}}}}}}}O Ob############bO ObbbbbbbbbbbbbbO OOOOOOOOOOOOOOOO [additional] 46 14.1.&.10.0 10.4.^.3.0.0 10.5.}.3.0.1.0.0.0 11.5.^.2.0.0 8.6.^.3.0.0 8.7.}.0.0.1.0.0.0 9.7.^.2.0.0 6.8.^.3.0.0 6.9.}.3.0.1.0.0.0 7.9.^.2.0.0 4.10.^.3.0.0 4.11.}.0.0.1.0.0.0 5.11.^.2.0.0 1.13.}.1.0.1.0.0.0 2.17.}.1.0.1.0.0.0 3.17.}.0.0.0.0.1.1 4.17.}.1.0.1.0.0.0 5.17.}.0.0.0.0.1.1 6.17.}.1.0.1.0.0.0 7.17.}.0.0.0.0.1.1 8.17.}.1.0.1.0.0.0 9.17.}.0.0.0.0.1.1 10.17.}.1.0.1.0.0.0 11.17.}.0.0.0.0.1.1 12.17.}.1.0.1.0.0.0 13.17.}.0.0.0.0.1.1 14.17.&.10.1 2.23.}.0.0.0.0.1.1 4.23.}.0.0.0.0.1.1 6.23.}.0.0.0.0.1.1 8.23.}.0.0.0.0.1.1 10.23.}.0.0.0.0.1.1 12.23.}.0.0.0.0.1.1 2.27.}.1.0.1.0.0.0 3.27.}.0.0.0.0.1.1 4.27.}.1.0.1.0.0.0 5.27.}.0.0.0.0.1.1 6.27.}.1.0.1.0.0.0 7.27.}.0.0.0.0.1.1 8.27.}.1.0.1.0.0.0 9.27.}.0.0.0.0.1.1 10.27.}.1.0.1.0.0.0 11.27.}.0.0.0.0.1.1 12.27.}.1.0.1.0.0.0 13.27.}.0.0.0.0.1.1 14.27.}.1.0.1.0.0.0 [end] [offset] 508C [level] 46 [colour] b5686f [size] 16.31 [author] Svetla n Saz [data] }}}}}}}}}}}}}}}} }o}V}#}}}}.}@}@} -}V-.&b}-#.!-@}- --}V}#^#b..}+}-- ---}V}.#.#}+}--- ----}..##.%}---- -----}.#..}----- -----}#...}----- ----}b##..#}---- ---}..#.#b#.}--- --}.@.}--}#@.}-- -}V}..-}}-..}V}- --}.@#b@@}.@.}-- ---}.#^###..}--- ----}}.#.#b}---- -----}....}----- -----}#...}----- ----}b##..#}---- ---}.^#}}b#.}--- --}.-.}VV}#-.}-- -}V}..*}}**.&V}- --}.-.}VV}.-.}-- ---}##b#}#..}--- ----}#.#.#b}---- -----}...#}----- -----}.%#b}----- ----}M.M###}---- ---}TDD%D}DT}--- --}TTT}R%&TTT}-- -}}}}}}}}}}}}}}- ---------------- [additional] 139 0.0.}.1.0.1.0.0.0 1.0.}.1.0.1.0.0.0 2.0.}.1.0.1.0.0.0 3.0.}.1.0.1.0.0.0 4.0.}.1.0.1.0.0.0 5.0.}.1.0.1.0.0.0 6.0.}.1.0.1.0.0.0 7.0.}.1.0.1.0.0.0 8.0.}.1.0.1.0.0.0 9.0.}.1.0.1.0.0.0 10.0.}.1.0.1.0.0.0 11.0.}.1.0.1.0.0.0 12.0.}.1.0.1.0.0.0 13.0.}.1.0.1.0.0.0 14.0.}.1.0.1.0.0.0 15.0.}.1.0.1.0.0.0 0.1.}.1.0.1.0.0.0 2.1.}.1.0.1.0.0.0 4.1.}.1.0.1.0.0.0 6.1.}.1.0.1.0.0.0 7.1.}.1.0.1.0.0.0 8.1.}.1.0.1.0.0.0 9.1.}.1.0.0.0.0.0 11.1.}.1.0.1.0.0.0 12.1.@.3 13.1.}.1.0.1.0.0.0 14.1.@.3 15.1.}.1.0.1.0.0.0 1.2.}.1.0.1.0.0.0 5.2.&.8.0 7.2.}.1.0.1.0.0.0 13.2.@.3 14.2.}.1.0.1.0.0.0 2.3.}.1.0.1.0.0.0 4.3.}.0.0.1.0.0.0 6.3.^.2.1.1 11.3.}.1.0.1.0.0.0 13.3.}.1.0.1.0.0.0 3.4.}.1.0.1.0.0.0 5.4.}.1.0.1.0.0.0 10.4.}.1.0.1.0.0.0 12.4.}.1.0.1.0.0.0 4.5.}.1.0.1.0.0.0 11.5.}.1.0.1.0.0.0 5.6.}.1.0.1.0.0.0 10.6.}.1.0.1.0.0.0 5.7.}.1.0.1.0.0.0 10.7.}.1.0.0.0.0.0 4.8.}.1.0.1.0.0.0 11.8.}.1.0.1.0.0.0 3.9.}.1.0.1.0.0.0 12.9.}.1.0.1.0.0.0 2.10.}.1.0.1.0.0.0 4.10.@.3 6.10.}.3.0.1.0.0.0 9.10.}.1.0.1.0.0.0 11.10.@.3 13.10.}.1.0.1.0.0.0 1.11.}.1.0.1.0.0.0 3.11.}.1.0.1.0.0.0 7.11.}.1.0.1.0.0.0 8.11.}.1.0.1.0.0.0 12.11.}.1.0.1.0.0.0 14.11.}.1.0.1.0.0.0 2.12.}.1.0.1.0.0.0 4.12.@.3 7.12.@.3 8.12.@.3 9.12.}.1.0.0.0.0.0 11.12.@.3 13.12.}.1.0.1.0.0.0 3.13.}.1.0.1.0.0.0 6.13.^.2.1.1 12.13.}.1.0.1.0.0.0 4.14.}.1.0.1.0.0.0 5.14.}.3.0.1.0.0.0 11.14.}.1.0.1.0.0.0 5.15.}.1.0.1.0.0.0 10.15.}.1.0.1.0.0.0 5.16.}.1.0.1.0.0.0 10.16.}.1.0.0.0.0.0 4.17.}.1.0.1.0.0.0 11.17.}.1.0.1.0.0.0 3.18.}.1.0.1.0.0.0 5.18.^.2.1.1 7.18.}.1.0.1.0.0.0 8.18.}.1.0.1.0.0.0 12.18.}.1.0.1.0.0.0 2.19.}.1.0.1.0.0.0 6.19.}.3.0.1.0.0.0 9.19.}.1.0.1.0.0.0 13.19.}.1.0.1.0.0.0 1.20.}.1.0.1.0.0.0 3.20.}.1.0.1.0.0.0 6.20.*.1 7.20.}.1.0.1.0.0.0 8.20.}.1.0.1.0.0.0 9.20.*.1 10.20.*.1 12.20.&.7.0 14.20.}.1.0.1.0.0.0 2.21.}.1.0.1.0.0.0 6.21.}.1.0.1.0.0.0 9.21.}.1.0.0.0.0.0 13.21.}.1.0.1.0.0.0 3.22.}.1.0.1.0.0.0 8.22.}.2.0.0.0.0.0 12.22.}.1.0.1.0.0.0 4.23.}.1.0.1.0.0.0 11.23.}.1.0.1.0.0.0 5.24.}.3.0.1.0.0.0 10.24.}.1.0.1.0.0.0 5.25.}.1.0.1.0.0.0 10.25.}.1.0.1.0.0.0 4.26.}.1.0.1.0.0.0 5.26.M.0 7.26.M.2 11.26.}.1.0.1.0.0.0 3.27.}.1.0.1.0.0.0 9.27.}.1.0.1.0.0.0 12.27.}.1.0.1.0.0.0 2.28.}.1.0.1.0.0.0 6.28.}.3.0.1.0.0.0 9.28.&.8.1 13.28.}.1.0.1.0.0.0 1.29.}.1.0.1.0.0.0 2.29.}.1.0.1.0.0.0 3.29.}.1.0.1.0.0.0 4.29.}.1.0.1.0.0.0 5.29.}.1.0.1.0.0.0 6.29.}.1.0.1.0.0.0 7.29.}.1.0.1.0.0.0 8.29.}.1.0.1.0.0.0 9.29.}.1.0.1.0.0.0 10.29.}.1.0.1.0.0.0 11.29.}.1.0.1.0.0.0 12.29.}.1.0.1.0.0.0 13.29.}.1.0.1.0.0.0 14.29.}.1.0.1.0.0.0 [end] [offset] 528C [level] 47 [colour] 758785 [size] 16.31 [author] Svetla n Saz [data] QQQQQQQQQQQQQQQQ Q.#.Q}....}Q!.bQ Q.QbQ.....HQQ.bQ Q.Q.Q..QQ.HQQQbQ Q.Q.QDQTHHH}QbbQ Q.Q.QT%QQ*HQ}bbQ Q.Q.QDQTHHH}..#Q Q.Q.QT%QQ*HQ..QQ Q.Q.QDQTHHH}.QQQ Q.Q.QT%QQ*HQ.}QQ Q.Q.QDQTHHH}#..Q Q.Q*QT%QQ*HQ.##Q Q.Q~QDQTHHH}Q?.Q Q.Q.QT%QQ*HQQQ.Q Q.Q.QDQTHHH}Q}.Q Q.Q.QT%QQ*HQ}.bQ Q.Q.QDQTHHH}...Q Q.Q.QT%QQ*HQ..QQ Q.Q.QDQTHHH}###Q Q.Q.QT%QQ*HQ###Q Q.Q^QDQTHHH}?b?Q Q.Q.QD%QQHHD'..Q Q^QbQ.QH?HbQQQQQ Q.Q.#.QHHbQVbVbQ QbQQQQQQQQbDQbQQ Q.........bQb.bQ QQQQQQQQQQQbDQQQ Q%b....V....DR'Q Q.QQQQQQQQQQ??QQ Qb....V....b.QQQ QQQQQQQQQQQQQQQQ [additional] 26 5.1.}.1.0.1.0.0.0 10.1.}.1.0.1.0.0.0 11.4.}.2.0.0.0.0.0 9.5.*.1 12.5.}.1.0.0.0.0.0 11.6.}.2.0.0.0.0.0 9.7.*.1 11.8.}.2.0.0.0.0.0 9.9.*.1 13.9.}.1.0.0.0.0.0 11.10.}.2.0.0.0.0.0 3.11.*.1 9.11.*.1 11.12.}.2.0.0.0.0.0 9.13.*.1 11.14.}.2.0.0.0.0.0 13.14.}.1.0.0.0.0.0 9.15.*.1 12.15.}.1.0.0.0.0.0 11.16.}.2.0.0.0.0.0 9.17.*.1 11.18.}.2.0.0.0.0.0 9.19.*.1 3.20.^.3.0.0 11.20.}.2.0.0.0.0.0 1.22.^.3.0.0 [end] [offset] 548C [level] 48 [colour] 95bc84 [size] 16.31 [author] Svetla n Saz [level_notes] Thunor: I've added a capsule because it was missing from the original level. I imagine the author was expecting one to materialise from a question mark which won't happen in GNU Robbo. [data] oooooooooooooooo o!?????????????o o??????????????o o??????????????o o?????....?????o o?????.R'.?????o o?????....?????o o??????????????o o??????????????o o??????????????o o??????????????o oooooooooooooooo ---------------- ---------------- ---------------- ---------------- ---------------- ---------------- ---------------- ---------------- ---------------- ---------------- ---------------- ---------------- ---------------- ---------------- ---------------- ---------------- ---------------- ---------------- ---------------- [additional] 0 [end] [offset] 568C [level] 49 [colour] 9bbb8b [size] 16.31 [author] Svetla n Saz [data] ssssssssssssssss sR...D+D+Dbbbbbs s....sssssssssbs s'...s?%s----sbs s%...D.'s----sbs s%...ssss----sbs s%...s?%s----sbs sT...D.Ts----sbs ssDssssss----sbs s..s---------sbs s..sss--}}}}-sbs s..D?s--}.&}-sbs s..sss--}HH}-sbs s&.s----}HH}-sbs s..sss--}HH}-sbs s..D?s--}.T}-sbs s..sss--}}}}-sbs s..s---------sbs s.^ssssss----sbs s....}.%s----sbs s.......s----sbs s}......s----sbs s.......s----sbs s%.}...&s----sbs ssssss.ss----sbs sT..s###ssssssbs s....#bbbbbbbbbs s...s###ssssssss s...sssss&....Ts s..!s---s.....'s sssss---ssssssss [additional] 26 8.10.}.1.0.1.0.0.0 9.10.}.1.0.1.0.0.0 10.10.}.1.0.1.0.0.0 11.10.}.1.0.1.0.0.0 8.11.}.1.0.1.0.0.0 10.11.&.10.0 11.11.}.1.0.1.0.0.0 8.12.}.1.0.1.0.0.0 11.12.}.1.0.1.0.0.0 1.13.&.10.1 8.13.}.1.0.1.0.0.0 11.13.}.1.0.1.0.0.0 8.14.}.1.0.1.0.0.0 11.14.}.1.0.1.0.0.0 8.15.}.1.0.1.0.0.0 11.15.}.1.0.1.0.0.0 8.16.}.1.0.1.0.0.0 9.16.}.1.0.1.0.0.0 10.16.}.1.0.1.0.0.0 11.16.}.1.0.1.0.0.0 2.18.^.2.0.0 5.19.}.1.0.1.0.0.0 1.21.}.0.0.1.0.0.0 3.23.}.3.0.1.0.0.0 7.23.&.1.0 9.28.&.1.1 [end] [offset] 588C [level] 50 [colour] ac7d92 [size] 16.31 [author] Svetla n Saz [data] ssssssssssssssss sR.........D^D?s s...ssssssss.sss s..%s.....'s.D?s ssDss.sss..s.sss s......*..'s.D?s ss.sssssssss.sss s.........%s.D?s s.b......b.s.sss ssss====ssss.D?s s.b......b.s.sss s.........%s.D?s ssssssHsssss.sss s%}....}..%s.D?s s.........}s.sss s..........s.D?s s}........}s.sss s%........%s.D?s sssHssssssss.sss s%#.#..#..%s.D?s s..#.#..#.#s.sss s.#.####.#.s.D?s s.##.#.##.#s.sss s%..#...#.%s.D?s ssssssHsssss.sss -----s.....s.D?s -----s.....s.sss ssss-s.....s.D?s s.&s-s.....s.sss s!.s-s&...Ts.D?s ssss-sssssssssss [additional] 9 12.1.^.3.0.0 7.5.*.1 2.13.}.1.0.2.0.0.0 7.13.}.1.0.2.0.0.0 10.14.}.2.0.0.0.0.0 1.16.}.0.0.0.0.0.0 10.16.}.2.0.2.0.0.0 2.28.&.10.0 6.29.&.10.1 [end] [offset] 5A8C [level] 51 [colour] 88a053 [size] 16.31 [author] Svetla n Saz [data] ssssssssssssssss sR..'..T..'.T..s s..............s sssssssHssssHsss s............}.s s.}............s sHssssssssHsssss s.........'....s s&.'..T.?.....&s sssDssssssssssss sT...s&..s?....s s....s...s?s..?s s.bbTs.?.s?s.T.s s.T..s...s?s...s s..b.sT..sTs...s s..T.s...sTs..Ts s...}s..^s?s?..s s....s...s?s...s sT..%s?...?s...s sssDsssDssssDsss s...%s'.?.s+..%s s.T..s...&s..T.s s...?s.T..s&...s s.T..D...Ts.%&.s ssssssssssssssss s...?......s...s s.T.....?..s.s.s s..........s.s.s s...T.?..&.s&s.s s..........s.s!s ssssssssssssssss [additional] 12 13.4.}.3.0.0.1.0.0 2.5.}.3.0.0.1.0.0 1.8.&.2.0 14.8.&.10.0 6.10.&.2.1 4.16.}.3.0.0.1.0.0 8.16.^.3.0.0 9.21.&.4.0 11.22.&.1.0 13.23.&.10.1 9.28.&.4.1 12.28.&.1.1 [end] [offset] 5C8C [level] 52 [colour] b35d69 [size] 16.31 [author] Svetla n Saz [data] ssssssssssssssss sR..'''''''....s sssssssssssss?.s s!.s........s.?s s.@s*.sssss.s?.s s..s..s@.ss.s.?s s.s..Ts..^.^s?.s s...^...sss.s.?s s@s.s@s.s...s?.s s.s.s.s*sss^s.?s s.s.s.s..^..s?.s s.s*s.Tssss.s.?s s...^....@s.s?.s s.*.....s.s.s.?s s.sssss...sTs?.s s.....T.s.s.s.?s s@s.s...@.sTs?.s s.s.ssss..s.s.?s s.s.s.....s.s?.s s.s...*s..sTs.?s s...ssss....D..s s.s@.....sTTs?.s sssssssssssss.?s s*.*.*.*.*..s?.s s..........*s.?s s*.........*s?.s s..........*s.?s s*..........s?.s s.............?s s..*...*....s?.s ssssssssssssssss [additional] 31 2.4.@.3 4.4.*.1 7.5.@.3 9.6.^.2.0.0 11.6.^.3.0.0 4.7.^.2.0.0 1.8.@.3 5.8.@.3 7.9.*.1 11.9.^.3.0.0 9.10.^.2.1.1 3.11.*.1 4.12.^.2.0.0 9.12.@.3 2.13.*.1 1.16.@.3 8.16.@.3 6.19.*.1 3.21.@.3 1.23.*.1 3.23.*.1 5.23.*.1 7.23.*.1 9.23.*.1 11.24.*.1 1.25.*.1 11.25.*.1 11.26.*.1 1.27.*.1 3.29.*.1 7.29.*.1 [end] [offset] 5E8C [level] 53 [colour] 87d072 [size] 16.31 [author] Svetla n Saz [data] PPPPPPPPPPPPPPPP P%T}.........}.P P..}.bbbb....}TP PDP&.b.^b....}}P P....b^.b.#....P P&#..bbbb..b...P P......!b....bbP PR..P.bbb.b..bTP P&bT}........-.} P#~#P======P.+&P P}}}P======P}}}P P&.'P======Pb^^P PPPPP}}....bb^^T PT}T.&}..T.b*^^P PD}PPPPPP..bbbbP PD}T^~%}.......& PD}^.~.}}#.}}}}P PD}..~.}T..PT%.P PD}~~..}}}DP..#} P=====P....P...P P====P%.......#P P===P%.^.~...#TP P.......#.....#P P......b###.#..P P^..~.#.#?.###.P P..#..#.##b#.#bP P...#..#P======P P..#..#.P======P P.^....#P======P P..^..~.PT%..TTP P}PPPPPPPPPPPPPP [additional] 58 3.1.}.1.0.1.0.0.0 13.1.}.1.0.1.0.0.0 3.2.}.1.0.1.0.0.0 13.2.}.0.0.0.0.1.1 3.3.&.10.0 7.3.^.2.0.0 13.3.}.1.0.1.0.0.0 14.3.}.1.0.1.0.0.0 6.4.^.3.0.0 1.5.&.7.0 1.8.&.1.0 4.8.}.2.0.1.0.0.0 15.8.}.2.0.1.0.0.0 14.9.&.10.1 1.10.}.1.0.1.0.0.0 2.10.}.1.0.1.0.0.0 3.10.}.1.0.1.0.0.0 12.10.}.1.0.1.0.0.0 13.10.}.1.0.1.0.0.0 14.10.}.1.0.1.0.0.0 1.11.&.1.1 13.11.^.3.0.0 14.11.^.2.0.0 5.12.}.1.0.0.0.0.0 6.12.}.1.0.1.0.0.0 13.12.^.2.0.0 14.12.^.2.0.0 2.13.}.1.0.1.0.0.0 5.13.&.8.0 6.13.}.1.0.1.0.0.0 12.13.*.1 13.13.^.3.0.0 14.13.^.2.0.0 2.14.}.1.0.1.0.0.0 2.15.}.1.0.1.0.0.0 4.15.^.3.0.0 7.15.}.1.0.1.0.0.0 15.15.&.7.1 2.16.}.1.0.1.0.0.0 3.16.^.2.0.0 7.16.}.1.0.1.0.0.0 8.16.}.3.0.0.1.0.0 11.16.}.1.0.1.0.0.0 12.16.}.1.0.1.0.0.0 13.16.}.1.0.1.0.0.0 14.16.}.1.0.1.0.0.0 2.17.}.1.0.1.0.0.0 7.17.}.1.0.1.0.0.0 2.18.}.1.0.1.0.0.0 7.18.}.1.0.1.0.0.0 8.18.}.1.0.1.0.0.0 9.18.}.1.0.1.0.0.0 15.18.}.2.0.2.0.0.0 7.21.^.2.1.1 1.24.^.2.0.0 2.28.^.2.0.0 3.29.^.2.0.0 1.30.}.3.0.2.0.0.0 [end] [offset] 608C [level] 54 [colour] 8cb7a7 [size] 16.31 [author] Svetla n Saz [data] ooooooo&ooooooTo o!T..D..}T.D.o%o o}}}}}}R}}}}.o%o o............oDo o.....^........o o....^.........o o...^...o===o^.o oT.^....o===o..o ooooooo}ooV}}}}o oT}......+}+...o o%}D}.b........o o%}T}..........o oDooo.~~.......o o..............} o...^.#~...o}}^o oD}o..~#.#.oT}.o oDTo....~#.o.D.o oD}o.~#....o}}}o o.....~.~.^.#}.o o.^.~...}.##...o o..#....%o...#@o o}}}}}~ooT}#.##o o%..##.##..o...o o.##b#.#.#..}..o M.~.~.b.~....oTo o.#....~..^...}o o..#.T....#.#.#} M##.##.#~###...M o.~#~.......#..M }...^..~..#.%..M oooooooooooooooo [additional] 61 7.0.&.10.0 8.1.}.1.0.1.0.0.0 1.2.}.1.0.1.0.0.0 2.2.}.1.0.1.0.0.0 3.2.}.1.0.1.0.0.0 4.2.}.1.0.1.0.0.0 5.2.}.1.0.1.0.0.0 6.2.}.1.0.1.0.0.0 8.2.}.1.0.1.0.0.0 9.2.}.1.0.1.0.0.0 10.2.}.1.0.1.0.0.0 11.2.}.1.0.1.0.0.0 6.4.^.3.0.0 5.5.^.3.0.0 4.6.^.3.0.0 13.6.^.3.0.0 3.7.^.3.0.0 7.8.}.3.0.1.0.0.0 11.8.}.1.0.1.0.0.0 12.8.}.1.0.1.0.0.0 13.8.}.1.0.1.0.0.0 14.8.}.1.0.1.0.0.0 2.9.}.1.0.1.0.0.0 10.9.}.3.0.0.1.0.0 2.10.}.1.0.1.0.0.0 4.10.}.1.0.1.0.0.0 2.11.}.1.0.1.0.0.0 4.11.}.1.0.1.0.0.0 15.13.}.0.0.0.0.1.1 4.14.^.2.0.0 12.14.}.1.0.1.0.0.0 13.14.}.1.0.1.0.0.0 14.14.^.3.0.0 2.15.}.1.0.1.0.0.0 13.15.}.1.0.1.0.0.0 2.17.}.1.0.1.0.0.0 12.17.}.1.0.1.0.0.0 13.17.}.1.0.1.0.0.0 14.17.}.1.0.1.0.0.0 10.18.^.3.0.0 13.18.}.1.0.1.0.0.0 2.19.^.2.0.0 8.19.}.1.0.1.0.0.0 14.20.@.3 1.21.}.1.0.1.0.0.0 2.21.}.1.0.1.0.0.0 3.21.}.1.0.1.0.0.0 4.21.}.1.0.1.0.0.0 5.21.}.1.0.1.0.0.0 10.21.}.1.0.1.0.0.0 12.23.}.1.0.1.0.0.0 0.24.M.0 10.25.^.2.0.0 14.25.}.1.0.1.0.0.0 15.26.}.2.0.1.0.0.0 0.27.M.0 15.27.M.2 15.28.M.2 0.29.}.0.0.2.0.0.0 4.29.^.2.0.0 15.29.M.2 [end] [offset] 628C [level] 55 [colour] ad8d63 [size] 16.31 [author] Svetla n Saz [data] OOOOOOOOOOOOOOOO O!.T..D.D....T.O O}}}}}}.}}}}}}}T O%.O.^..O.%O.... OO........}O.O@O O%.^....^.%O...O OO........}O}}DO O....^.....OT..O O..........O...O OT...+..O.TO}D}O O}}}}&}}}}}}...O OT.....T}T^.^.^& O...bb..O.....#O O.#bbb..O&....RO O....^.b.}}}}}}O O.#bTb..#.&OT..O O.b.b#bb...O.}.O O.#...b.~..O*..O O..b#b.T.~#OOODO OT......^......O OOOOOOOOOOOOOOOO ---------------- ---------------- ---------------- ---------------- ---------------- OOOOOO.OOOOOOOOO &...###.T.#^...O O..#.T#.##.#^..O O...##.##.?.#^.O OOOOOOOOOOOOOOOO [additional] 56 1.2.}.1.0.1.0.0.0 2.2.}.1.0.1.0.0.0 3.2.}.1.0.1.0.0.0 4.2.}.1.0.1.0.0.0 5.2.}.1.0.1.0.0.0 6.2.}.1.0.1.0.0.0 8.2.}.1.0.1.0.0.0 9.2.}.1.0.1.0.0.0 10.2.}.1.0.1.0.0.0 11.2.}.1.0.1.0.0.0 12.2.}.1.0.1.0.0.0 13.2.}.1.0.1.0.0.0 14.2.}.1.0.1.0.0.0 5.3.^.2.0.0 10.4.}.1.0.1.0.0.0 14.4.@.3 3.5.^.3.0.0 8.5.^.3.0.0 10.6.}.1.0.1.0.0.0 12.6.}.1.0.1.0.0.0 13.6.}.1.0.1.0.0.0 5.7.^.2.0.0 12.9.}.1.0.1.0.0.0 14.9.}.1.0.1.0.0.0 1.10.}.1.0.1.0.0.0 2.10.}.1.0.1.0.0.0 3.10.}.1.0.1.0.0.0 4.10.}.1.0.1.0.0.0 5.10.&.1.0 6.10.}.1.0.1.0.0.0 7.10.}.1.0.1.0.0.0 8.10.}.1.0.1.0.0.0 9.10.}.1.0.1.0.0.0 10.10.}.3.0.1.0.0.0 11.10.}.1.0.1.0.0.0 8.11.}.0.0.0.0.1.1 10.11.^.2.1.1 12.11.^.2.1.1 14.11.^.2.1.1 15.11.&.5.0 9.13.&.10.0 5.14.^.2.0.0 9.14.}.1.0.1.0.0.0 10.14.}.1.0.1.0.0.0 11.14.}.1.0.1.0.0.0 12.14.}.1.0.1.0.0.0 13.14.}.1.0.1.0.0.0 14.14.}.1.0.1.0.0.0 10.15.&.10.1 13.16.}.1.0.1.0.0.0 12.17.*.1 8.19.^.3.0.0 0.27.&.5.1 11.27.^.2.0.0 12.28.^.2.0.0 13.29.^.2.0.0 [end] [offset] 648C [level] 56 [colour] a0a757 [size] 16.31 [author] Svetla n Saz [data] OOOOOOOOOOOOOOOO ObbbbO%.%}R....O ObHH@O.b.}DOO}.O ObH%^O...}..T}.O ObHHVO.~.}OOO}.O ObbbbO.........O O....O.........O O...}O...}DO}..O O^..}O...}..}*.O O..}}O#..}TT}..O O^.DTO...}OO}..O O.}}}O##.......O O.D%TO#...#..#.O O.}}}O.#.#..#..O O}D%TO...##..#.O OD}}}}#.#..#...O O...#....#.###.O O#.#..#..##..#.O OOOOOOOOOD}}}}}O }T%%.^.........O O.}}}}}}&OO}.}}O O.Obbbbb..%}+OTO OOOb^}...b..OODO &.Ob.^}........} OTObb.^}.bb..b.O O}}....TOb.bb.bO O.^}...Ob.b..b.O O..^}.Ob.b.b..bO O...^O..b.b.bb.O T.bbbbbbbbb!.bbO OOOOOOOOOOOOOOOO [additional] 68 9.1.}.1.0.1.0.0.0 4.2.@.3 9.2.}.1.0.1.0.0.0 13.2.}.1.0.1.0.0.0 4.3.^.2.0.0 9.3.}.1.0.1.0.0.0 13.3.}.1.0.1.0.0.0 9.4.}.1.0.1.0.0.0 13.4.}.1.0.1.0.0.0 4.7.}.1.0.1.0.0.0 9.7.}.1.0.1.0.0.0 12.7.}.1.0.1.0.0.0 1.8.^.2.0.0 4.8.}.0.0.0.0.1.1 9.8.}.1.0.1.0.0.0 12.8.}.1.0.1.0.0.0 13.8.*.1 3.9.}.1.0.1.0.0.0 4.9.}.1.0.1.0.0.0 9.9.}.1.0.1.0.0.0 12.9.}.1.0.1.0.0.0 1.10.^.3.0.0 9.10.}.1.0.1.0.0.0 12.10.}.1.0.1.0.0.0 2.11.}.1.0.1.0.0.0 3.11.}.1.0.1.0.0.0 4.11.}.1.0.1.0.0.0 2.13.}.1.0.1.0.0.0 3.13.}.1.0.1.0.0.0 4.13.}.1.0.1.0.0.0 1.14.}.3.0.0.1.0.0 2.15.}.1.0.1.0.0.0 3.15.}.1.0.1.0.0.0 4.15.}.1.0.1.0.0.0 5.15.}.1.0.1.0.0.0 10.18.}.1.0.1.0.0.0 11.18.}.1.0.1.0.0.0 12.18.}.1.0.1.0.0.0 13.18.}.1.0.1.0.0.0 14.18.}.1.0.1.0.0.0 0.19.}.0.0.2.0.0.0 5.19.^.2.0.0 2.20.}.1.0.1.0.0.0 3.20.}.1.0.1.0.0.0 4.20.}.1.0.1.0.0.0 5.20.}.1.0.1.0.0.0 6.20.}.1.0.1.0.0.0 7.20.}.1.0.1.0.0.0 8.20.&.10.0 11.20.}.1.0.1.0.0.0 13.20.}.1.0.1.0.0.0 14.20.}.1.0.1.0.0.0 11.21.}.1.0.1.0.0.0 4.22.^.2.0.0 5.22.}.1.0.1.0.0.0 0.23.&.10.1 5.23.^.2.0.0 6.23.}.1.0.1.0.0.0 15.23.}.2.0.1.0.0.0 6.24.^.2.0.0 7.24.}.1.0.1.0.0.0 1.25.}.1.0.1.0.0.0 2.25.}.1.0.1.0.0.0 2.26.^.3.0.0 3.26.}.1.0.1.0.0.0 3.27.^.3.0.0 4.27.}.1.0.1.0.0.0 4.28.^.3.0.0 [end] [offset] 668C [level] 57 [colour] 84a768 [size] 16.31 [author] Svetla n Saz [data] pppppp%TTTTp}ppp p#.#.#.#.#.#.#.! p.#.#.#.~.#.#.#p p#.#.#.#.#H#.#.p %.#.}.~.#.~.#.#p p#.#.#.#.#.'.#.p p.#.~H#.~.#.#.#T p#.#.#.#.#.#.#.T p.#.#.#.#.#.#.#T }#.#.#.#.#.#.DDp p.#.H.#.~.#.#DDT p#.#.#.~.}.#.DDp }.#.#.~.#.#H#.#p p#.#.~.#.#H#.#.p p.#.~.~.#H#.#.bT p#.~.~.#H#.#.b.p p.~.~.#H#.#.b.bp T#.~.#.#.#.b.b.p p.~.#.#.#.b.b.#p T#.#.#.#.b.b.#.p p.#.H.#.b.b.#.#T T#.#.#.#.b.#.#.p p.#.#.#.b.#.#.#p p#.#.#.#.#.#.#.p p.#.}.#.#.#.#.#T p#.#.#.#.}.'.#.p p.#.#.}.#.#.#.#p p#.#.#.#.#.#.#.p p.#.'.#.#.#.#.#T pR.#.#.#.#.#.#.p pppppppppTTTTTpp [additional] 8 12.0.}.1.0.2.0.0.0 4.4.}.0.0.0.0.1.1 0.9.}.0.0.2.0.0.0 9.11.}.0.0.0.0.1.1 0.12.}.0.0.2.0.0.0 4.24.}.0.0.0.0.1.1 9.25.}.0.0.0.0.1.1 6.26.}.0.0.0.0.1.1 [end] [offset] 688C [level] 58 [colour] 9a6391 [size] 16.31 [author] Svetla n Saz [data] OOOOOOOOOOOOOOOO OTT..........TTO OT.....%%.....TO ORT..........T!O OOOOOOOOOO&OOOOO M......}.......O O......}.....}DO O..}..^}....^}%O O.^}T%.}...^.}TO O..}TT'}..^..}TO O.~}OOO}.....}OO O..DDDDD..bb...O OOOOOOOO..bb...O OT....^......b.O O..bbb.bb..#...} O.bbbb.bbb.....O Obbbbb..bbb.~..O Obbbbbb.bbb%b..O Obbbbbb.bbbbb..O Obbb....bbbbb..O Ob#.#.#}...#b..O O#.#.#.}O.^#...O O.#.#.#}T}.....O O#.#.#.}.#O====O O.#.#.#}#'O====O O#.O.#.}O......O O.#O#.#%O*----@O &..O..%%O......D O}}}}}}}}}D}}}}O OTTT.........TTO OOOOO}O}OOO}OOOO [additional] 51 10.4.&.10.0 0.5.M.0 7.5.}.1.0.1.0.0.0 7.6.}.1.0.1.0.0.0 13.6.}.1.0.1.0.0.0 3.7.}.1.0.1.0.0.0 6.7.^.3.0.0 7.7.}.1.0.1.0.0.0 12.7.^.2.0.0 13.7.}.1.0.1.0.0.0 2.8.^.2.0.0 3.8.}.1.0.1.0.0.0 7.8.}.1.0.1.0.0.0 11.8.^.2.0.0 13.8.}.1.0.1.0.0.0 3.9.}.1.0.1.0.0.0 7.9.}.1.0.1.0.0.0 10.9.^.2.0.0 13.9.}.1.0.1.0.0.0 3.10.}.1.0.1.0.0.0 7.10.}.1.0.1.0.0.0 13.10.}.1.0.1.0.0.0 6.13.^.2.0.0 15.14.}.2.0.1.0.0.0 7.20.}.1.0.1.0.0.0 7.21.}.1.0.1.0.0.0 10.21.^.2.1.1 7.22.}.1.0.1.0.0.0 9.22.}.1.0.1.0.0.0 7.23.}.1.0.1.0.0.0 7.24.}.1.0.1.0.0.0 7.25.}.1.0.1.0.0.0 9.26.*.1 14.26.@.3 0.27.&.10.1 1.28.}.1.0.1.0.0.0 2.28.}.1.0.1.0.0.0 3.28.}.1.0.1.0.0.0 4.28.}.1.0.1.0.0.0 5.28.}.1.0.1.0.0.0 6.28.}.1.0.1.0.0.0 7.28.}.1.0.1.0.0.0 8.28.}.1.0.1.0.0.0 9.28.}.1.0.1.0.0.0 11.28.}.1.0.1.0.0.0 12.28.}.1.0.1.0.0.0 13.28.}.1.0.1.0.0.0 14.28.}.1.0.1.0.0.0 5.30.}.3.0.1.0.0.0 7.30.}.3.0.1.0.0.0 11.30.}.3.0.1.0.0.0 [end] [offset] 6A8C [level] 59 [colour] b572b0 [size] 16.31 [author] Svetla n Saz [data] QQQ}QQQQQQQQQQQQ T.Q....#.###TT%Q Q.Q.#&...}}}}}#} +.&...###.b..D.# Q}}.&..&.#.T.Q.Q QR#..b#...T.#Q#Q Q...#...###..D.Q Q.&...&..}.~.}&Q Q%#..#..#}.....Q Q}}}}}}}QQQQQ}}Q QT.......T}T...Q Q...^.###.}T...} }..^......}T...Q QQQQQ&}}}}}}}}}Q Q##.#+TTQbbbbb!Q Q..#....Q.}}}}}Q Q..#....D.DDTTTQ Q#.QQQQQQQQQQQQQ Q.#.#.#T#..#...Q Q#..##..##b.#..Q Q#.#T#.#..##...Q Q##.##%..#..#..Q Q.b...#b#..b.}}Q Q%#.##.+.#...}.Q Q#.#T.###..#.}}Q Q#.##....#.b...Q Q.#..#.##.~.#..Q &.^##.#..b%#...D Q.#..#.~.##.#..Q Q#.T#.#.#.#..T.Q QQQQQQQQQQQ&QQQQ [additional] 58 3.0.}.1.0.1.0.0.0 5.2.&.1.0 9.2.}.1.0.1.0.0.0 10.2.}.1.0.1.0.0.0 11.2.}.1.0.1.0.0.0 12.2.}.1.0.1.0.0.0 13.2.}.1.0.1.0.0.0 15.2.}.0.0.0.0.1.1 2.3.&.10.0 1.4.}.1.0.1.0.0.0 2.4.}.1.0.1.0.0.0 4.4.&.2.0 7.4.&.10.1 2.7.&.1.1 6.7.&.2.1 9.7.}.1.0.1.0.0.0 13.7.}.1.0.1.0.0.0 14.7.&.4.0 9.8.}.1.0.1.0.0.0 1.9.}.1.0.1.0.0.0 2.9.}.1.0.1.0.0.0 3.9.}.1.0.1.0.0.0 4.9.}.1.0.1.0.0.0 5.9.}.1.0.1.0.0.0 6.9.}.1.0.1.0.0.0 7.9.}.3.0.0.1.0.0 13.9.}.3.0.0.1.0.0 14.9.}.1.0.1.0.0.0 10.10.}.1.0.1.0.0.0 4.11.^.3.0.0 10.11.}.1.0.1.0.0.0 15.11.}.2.0.1.0.0.0 0.12.}.0.0.0.0.0.0 3.12.^.3.0.0 10.12.}.2.0.0.0.0.0 5.13.&.3.0 6.13.}.1.0.1.0.0.0 7.13.}.1.0.1.0.0.0 8.13.}.1.0.1.0.0.0 9.13.}.1.0.1.0.0.0 10.13.}.1.0.1.0.0.0 11.13.}.1.0.1.0.0.0 12.13.}.1.0.1.0.0.0 13.13.}.1.0.1.0.0.0 14.13.}.1.0.1.0.0.0 10.15.}.1.0.1.0.0.0 11.15.}.1.0.1.0.0.0 12.15.}.1.0.1.0.0.0 13.15.}.1.0.1.0.0.0 14.15.}.1.0.1.0.0.0 13.22.}.1.0.1.0.0.0 14.22.}.3.0.0.1.0.0 13.23.}.1.0.1.0.0.0 13.24.}.1.0.1.0.0.0 14.24.}.1.0.1.0.0.0 0.27.&.5.0 2.27.^.2.0.0 11.30.&.3.1 [end] [offset] 6C8C [level] 60 [colour] 9ba9c2 [size] 16.31 [author] Svetla n Saz [data] -&.!------------ --------------QQ -------------&^Q ------------&^.Q -----------&^..Q ----------&^.T.} ---------&^....Q --------&^..'.^Q -------&^......} ------&^....T.^Q -----&^..@.....} ----&^T.......^Q ---&^...@*...T.} --&^.....T.b...} -&^....*.......Q Q^...%.......V^Q QT...*.'.b@@..^Q Q...@........T.Q Q....@.b.......Q }V.......T*...^Q }..#..@...*....Q Q....*..%......Q Q@@.........QDDQ }..~..~....^Q..Q Q...........Q..Q Q.QQQQ.~...^Q..Q Q.D.'Q'.....Q..Q Q.Q%TQR'....QT'Q QQQQQQQQQQDQQQQQ QTTT'.........TQ QQQQQQQQQQQQQQQQ [additional] 59 1.0.&.7.0 13.2.&.2.0 14.2.^.3.0.0 12.3.&.3.0 13.3.^.3.0.0 11.4.&.3.1 12.4.^.3.0.0 10.5.&.7.1 11.5.^.3.0.0 15.5.}.0.0.0.0.1.1 9.6.&.2.1 10.6.^.3.0.0 8.7.&.1.0 9.7.^.3.0.0 14.7.^.2.0.0 7.8.&.10.0 8.8.^.3.0.0 15.8.}.0.0.0.0.1.1 6.9.&.4.0 7.9.^.3.0.0 14.9.^.2.0.0 5.10.&.6.0 6.10.^.3.0.0 9.10.@.3 15.10.}.0.0.0.0.1.1 4.11.&.5.0 5.11.^.3.0.0 14.11.^.2.0.0 3.12.&.7.2 4.12.^.3.0.0 8.12.@.3 9.12.*.1 15.12.}.0.0.0.0.1.1 2.13.&.8.0 3.13.^.3.0.0 15.13.}.0.0.0.0.1.1 1.14.&.4.1 2.14.^.3.0.0 7.14.*.1 1.15.^.3.0.0 14.15.^.2.0.0 5.16.*.1 10.16.@.3 11.16.@.3 14.16.^.2.0.0 4.17.@.3 5.18.@.3 0.19.}.0.0.0.0.1.1 10.19.*.1 14.19.^.2.0.0 0.20.}.0.0.0.0.1.1 6.20.@.3 10.20.*.1 5.21.*.1 1.22.@.3 2.22.@.3 0.23.}.0.0.0.0.1.1 11.23.^.2.0.0 11.25.^.2.1.1 [end] [offset] 6E8C [level] 61 [colour] a5bf49 [size] 16.31 [author] Svetla n Saz [data] QQTTQQQQQQQQQQQQ Q%Q....#.#.....Q Q.Q.Q@.#.#...Q@Q QTQ....#.#.....Q Q.QQQQQQQQQQQQDQ Q.Q!.T%%T.QTDD.Q Q.Q.......QQQQ&Q Q.Q.QQQQQ.Q....Q Q.Q......*&.QQQQ Q.Q&QQQQQQQ.#..Q QTQ...~~.~.....Q Q.Q.^~....#~...Q Q.Q^.#.bb..~...Q Q.Q....~b.#bbb.Q Q.M..b..b^.....M Q.Q...b.b#.b...Q Q.Q.b..bVbb.#..M QTQ.~..%bb.....Q Q.M..#.b.^.#~..M Q.Q.....b......Q Q.Q.b.b~~.~....Q Q%Q......^..b..Q Q.Q.^.b..#.....Q Q.Q..........QQQ QTQQQ.....QQ...Q Q.Q...QRQ...QQ&Q Q.QDQQQTQQQDQ'.Q Q.Q...TQT...QT.Q QVQ}QQQQQQQ}QQDQ QV...T..%..T...Q Q}QQQQQQQQQQQQQQ [additional] 21 5.2.@.3 14.2.@.3 14.6.&.10.0 9.8.*.1 10.8.&.4.0 3.9.&.3.0 4.11.^.2.0.0 3.12.^.2.0.0 2.14.M.0 9.14.^.3.0.0 15.14.M.2 15.16.M.2 2.18.M.0 9.18.^.2.0.0 15.18.M.2 9.21.^.3.0.0 4.22.^.2.0.0 14.25.&.1.0 3.28.}.3.0.1.0.0.0 11.28.}.3.0.1.0.0.0 1.30.}.3.0.1.0.0.0 [end] [offset] 708C [level] 62 [colour] 80a4b4 [size] 16.31 [author] Svetla n Saz [data] oooooooooooooooo o^.^.^.^.^.^..To o.b.^^^^^^^...To o.T.oooooooooooo o##.o........%To o.b.o.oooo.ooo}o o.T.o.o..o.oT..o o.b.o.o..o@o...o o.#.o.oR%o.}^^^o o.T.o.oTTo.&...o o.b.o.oo&o.o}o.o T...b..T.o..To.o oooooo.o&o..?o.o o.......+...?o.o o.....#.....?o.o o..~....#.T.?o.o o...#.T##...?o.o o~.##.#.b#...M.o M.#T##.%#.#.To.o o####.#..#.#.M.o o.##.T#T#.#..o.o o...~.~#.....o.o o.....#......o.o o.......^....o.o o.ooooooooooo..} o.oHbHboHb.Hoo.o o.oHHo#o.o#bo..} oDob#oboboV#oo.o oDobbo*obobboT.o o'o!bob.#obTDTTo oooooooooooooo&o [additional] 31 1.1.^.2.1.1 3.1.^.2.1.1 5.1.^.2.1.1 7.1.^.2.1.1 9.1.^.2.1.1 11.1.^.2.1.1 4.2.^.2.0.0 5.2.^.2.0.0 6.2.^.2.0.0 7.2.^.2.0.0 8.2.^.2.0.0 9.2.^.2.0.0 10.2.^.2.0.0 14.5.}.1.0.0.0.0.0 10.7.@.3 11.8.}.0.0.0.0.1.1 12.8.^.3.0.0 13.8.^.3.0.0 14.8.^.3.0.0 11.9.&.7.0 8.10.&.3.0 12.10.}.1.0.1.0.0.0 8.12.&.4.0 13.17.M.2 0.18.M.0 13.19.M.2 8.23.^.2.0.0 15.24.}.0.0.0.0.1.1 15.26.}.0.0.0.0.1.1 6.28.*.1 14.30.&.8.0 [end] [offset] 728C [level] 63 [colour] 94a693 [size] 16.31 [author] Svetla n Saz [data] }..P...P...P---- .#.P.b.P.b.P---- ...P}P.P}P.P---- .b.P.P.P.P.P---- .P.P.P.P.P.P---- .P.P.P.P.P.P---- .P.P.P.P.P.P---- .P.P.P.P.P.P---- .P.P.P.P.P.PPPPP .P.P.P.P.P.bbbbP .P}P.P}P.P}PPPbP .P.b.P.b.P.PbbbP .RP..P...P.PbP.P PDPPPPPPPPPPbPPP Pb.....P..bbbH@P PHb....P..bHHH.P PHHb...P..bH@.@P P.HHb..P..bH...P P..Hb..P..bH..@P P..Hb..P..bH@..P P..Hb..P..bH..@P P..Hb..P..bH...P P..Hb..P..bH@.@P P..Hb..P..bH...P P'.Hb..P..bH..@P P'.Hb..bP.bH@..P P..HbbbPbbbH..@P P..HHHHPHHHH@..P P......PTTTTTT@P PTTTTTTP@.@.@..! PPPPPPPPPPPPPPPP [additional] 22 0.0.}.1.0.1.0.0.0 4.2.}.0.0.0.0.1.1 8.2.}.0.0.0.0.1.1 2.10.}.0.0.0.0.1.1 6.10.}.0.0.0.0.1.1 10.10.}.0.0.0.0.1.1 14.14.@.3 12.16.@.3 14.16.@.3 14.18.@.3 12.19.@.3 14.20.@.3 12.22.@.3 14.22.@.3 14.24.@.3 12.25.@.3 14.26.@.3 12.27.@.3 14.28.@.3 8.29.@.3 10.29.@.3 12.29.@.3 [end] [offset] 748C [level] 64 [colour] 7a7b98 [size] 16.31 [author] Svetla n Saz [data] oooooooooooooo}! o}HHHHHHHHHHb.#o o............bHo o..R..........Ho o.............Ho o.............Ho o.............Ho o.............Ho o.............Ho o.............Ho o.............Ho o.............Ho o.............Ho o.#.#.#.#.#.#.Ho o.............Ho o.#.#.#.#.#.#.Ho o.............bo o............b.o oHHHHHHHHHHHHH#} o..............o o..........b...o o.VVVVVVVVVVVV.o o.VVVVVVVVVVVV.o o.VVVVVVVVVVVV.o o.VVVVVVVVVVVV.o o.VVVVVVVVVVVV.o o.VVVVVVVVVVVV.o o..............o o..............o oTTTTTTTTTTTTTTo oooooooooooooooo [additional] 3 14.0.}.1.0.2.0.0.0 1.1.}.0.0.1.0.0.0 15.18.}.2.0.1.0.0.0 [end] [offset] 768C [level] 65 [colour] a1987f [size] 16.31 [author] Svetla n Saz [data] M.....T........p p.p.....~.~.~..H p.ppppppppppDpDp p.......p%%p...p p....R..D.+p...p p.......p&%p...p p.......pppp...p p..............p p....?.........p p....b.........p .}.............p %p.p}}}}ppp....p p..p.....&p....p p..p......p....p p..p......p....p p..p......p....p p..p......p....p p..p......p....p p..p......p....p p..p......p....p p..p......p....p p..p!.....p....p p..pppppppp....p p..............p ppppppp........p pT....p........p pT....ppppp....p pT....D........M pT....ppppp....p pT*...p........p pppppppppppppppp [additional] 10 0.0.M.0 9.5.&.8.0 1.10.}.3.0.1.0.0.0 4.11.}.1.0.2.0.0.0 5.11.}.1.0.2.0.0.0 6.11.}.1.0.2.0.0.0 7.11.}.1.0.2.0.0.0 9.12.&.8.1 15.27.M.2 2.29.*.1 [end] [offset] 788C [level] 66 [colour] 6ed365 [size] 16.31 [author] Svetla n Saz [data] ppp}p}ppp------- pR.....Tp------- p......T&------- ppp...ppp------- --p...p--------- --p...p--------- --p...p--------- --p...p--------- --p...p--------- --p...p--------- --p...p--------- ppp...ppp-pppppp pT^^^^^Tp-p!%..& pT^^^^^Tp-pppppp pppp}pppp------- -------ppppppppp -------p......^p -------p.......p -------pTTp&pTTp -------p..p-p..p -------p..p-p..p -------p..p-p..p -------p..ppp..p -------p^......p -------p.......p -------p..p.p..p -------p..p&p..p -------p..p-p..p -------p..p-p..p -------pTTp-pTTp -------pppp-pppp [additional] 19 3.0.}.1.0.1.0.0.0 5.0.}.1.0.1.0.0.0 8.2.&.2.0 2.12.^.2.0.0 3.12.^.2.0.0 4.12.^.2.0.0 5.12.^.2.0.0 6.12.^.2.0.0 15.12.&.1.0 2.13.^.2.0.0 3.13.^.2.0.0 4.13.^.2.0.0 5.13.^.2.0.0 6.13.^.2.0.0 4.14.}.3.0.1.0.0.0 14.16.^.2.0.0 11.18.&.1.1 8.23.^.2.0.0 11.26.&.2.1 [end] [offset] 7A8C [level] 67 [colour] ad8c60 [size] 16.31 [author] Svetla n Saz [data] OOOOOOOOOOO----- OR'......@&----- OOOOOOOOOOO----- ---------------- -----OOOOOOOOOOO -----&...*.....& -----OOOOOOOOOOO ---------------- OOOOOOOOOOO----- &........@&----- OOOOOOOOOOO----- ---------------- -----OOOOOOOOOOO -----&...*.....& -----OOOOOOOOOOO ---------------- OOOOOOOOOOO----- &...V.....&----- OOOOOOOOOOO----- ---------------- O&O-O!O-O&O-O&O- O.O-O.O-O.O-O.O- O^O-O*O-O@O-O^O- O.O-O.O-O.O-O.O- O.O-O.O-O.O-O.O- O.O-O.O-O.O-O.O- O.O-O.O-O.O-O.O- O.O-O.O-O.O-O.O- O.O-O.O-O.O-O.O- O.O-O.O-O.O-O.O- O&O-O&O-O&O-O&O- [additional] 24 9.1.@.3 10.1.&.1.0 5.5.&.1.1 9.5.*.1 15.5.&.2.0 0.9.&.3.0 9.9.@.3 10.9.&.2.1 5.13.&.3.1 9.13.*.1 15.13.&.4.0 0.17.&.4.1 10.17.&.5.0 1.20.&.7.0 9.20.&.7.1 13.20.&.5.1 1.22.^.3.0.0 5.22.*.1 9.22.@.3 13.22.^.3.0.0 1.30.&.6.0 5.30.&.8.0 9.30.&.8.1 13.30.&.6.1 [end] [offset] 7C8C [level] 68 [colour] a87c51 [size] 16.31 [author] Svetla n Saz [data] OOOOOOOOOOOOOOOO O%%%.DDD^OTO...O O.R..DDD.O%O@O.O ODDDDDDD.ODO.O.O ODDDDDDD.......O ODDDDDDD.OOOOO#O O..^.....O..#..O OOOO.OOO.O##.#.O OT.O..O..O##.#.O O.@O.#O..O###..O O..O.....O+##..O O........O..##.O OOOOOOOO.O.#.#.O O!TTD..O.O#.#..O OOOOO..O.O}...#O O%O.OO.O.O}....O OTO#..#O.OT####O ODO.##.O.O.##..O O...#.TO.O%....O O&OOOOOO.OOOOO&O O..............O OOO..OO..OOO.OOO OT..^.........TO OOOO.OOO..OOO.OO O..............O OO..OO.OO.OOO.OO O.........^....O O..OOO.OOO.OOOOO O.....^........M O.......T....TTO OOOOOO}OOOOOOOOO [additional] 13 8.1.^.3.0.0 12.2.@.1 3.6.^.2.0.0 2.9.@.1 10.14.}.0.0.0.0.0.0 10.15.}.0.0.0.0.0.0 1.19.&.10.0 14.19.&.10.1 4.22.^.2.0.0 10.26.^.3.0.0 6.28.^.1.0.0 15.28.M.2 6.30.}.3.0.1.0.0.0 [end] [offset] 7E8C [level] 69 [colour] 668e9e [size] 16.31 [author] Svetla n Saz [data] oooooooooooooooo o..^...###.....o o.....##.#HHHHHo o.....##.#HHHHHo o..o...o.o.....o o......o.o.....o o.ooo..o.o.....o o......o.o=====o o..ooo.o.o.....o o......o.o.ooooo o#oooooo.o.....o o......o.ooooo.o ooooooDo.o.....o o......o.o.ooooo oT.....o.o.^...o oooooooo.oo.oooo o........o.....o o..#.#.#.o.#.b.o obbbbbbb.o.....o o...bbbb.o.....o o...b!bb.o=====o oTTbbbbb.o.%..To obbbbbbb.ooooooo o+o............o o..............o o^o.oooDooo....o o.o.o...}.o....o o.o.o.....o????o o...ooo&ooo..R.o o%o............o oooooooooooooooo [additional] 5 3.1.^.2.1.1 11.14.^.2.1.1 1.25.^.3.0.0 8.26.}.3.0.0.1.0.0 7.28.&.10.0 [end] [offset] 808C [level] 70 [colour] b86d7a [size] 16.31 [author] Svetla n Saz [data] oooooooooooooooo o'To..#.#.#...To o.%o.#.#...#.o.o oDoo&oTooo###o.o o....oooTT#..o.o o.o.#oToo..#.o.o o.o..o.+o.#.To.o o@o..D.+o..T#o.o o.oo.ooooo.oo..o o.o..o#..#.o.b.o o........#o....} oo....o#To..o..o oTo...o#o.b.o..o o..o..oo..o.o..o o.#.o.o........o o#.#.&#..o.o.o.o o.#.#..#.o.o.o.o o.......#....#.o o.oooo.oo#..o..o o@M....To.#.o..o o.oooo.oo..#...o o........R..#o.o o..............o o...^........#.o o...oo####oo.#*o o...oVVVVVVo.#.o o%..oVVVVVVo.'.o oooDoVV!%VVo.'.o o+..oVVVVVVo.'.o oT..oTVVVVTo...o oooooooooooooooo [additional] 8 4.3.&.10.0 1.7.@.1 15.10.}.2.0.2.0.0.0 5.15.&.10.1 1.19.@.1 2.19.M.0 4.23.^.2.0.0 14.24.*.1 [end] [offset] 828C [level] 71 [colour] 7887ca [size] 16.31 [author] Svetla n Saz [data] OOOOOOOOOOOOOOOO O.&.#.&..&.#.&.O O###.######.###O OR............+O OOOOOOOOOOOOOOOO OTHH^.^........O O#HH......~....O OOOO....&..##..O O....+.O.O###HHO O&..'OTO.O...bHO OOOOOOOO.OOOOOOO O}............}O OOOOOO.OOOOO.OOO O}........}....M O.~...OOOOO...+O O..........?OOOO OOOOOb.ODO#%OT!O OTT.D..OTO%TO..O OOOOOOOOOOOOO..O O..##....#O^...O O.&.##.#..O..O.O O..#....#TO..&.O OOOOOOOOOOOOO.OO O.b.......D....O O...T....TO.OO*O OTbbOOO#.#O.OT.O O}........O....O OOOOOOOOODOOOOOO O..............O O&.^..........TO OOOOOOOOOOOOOOOO [additional] 20 2.1.&.3.0 6.1.&.2.0 9.1.&.1.0 13.1.&.10.0 4.5.^.3.0.0 6.5.^.2.0.0 8.7.&.1.1 1.9.&.10.1 1.11.}.0.0.0.0.0.0 14.11.}.2.0.0.0.0.0 1.13.}.0.0.0.0.0.0 10.13.}.2.0.0.0.0.0 15.13.M.2 11.19.^.0.0.0 2.20.&.2.1 13.21.&.4.0 14.24.*.1 1.26.}.0.0.1.0.0.0 1.29.&.3.1 3.29.^.2.0.0 [end] [offset] 848C [level] 72 [colour] a675a7 [size] 16.31 [author] Svetla n Saz [data] QQQQQQQQQQQQQQQQ QHD..........}TQ QHQ..........#.M QHQQQQQb#b....#M Q.....Q....b..#M Q@Q+Q.Qb#b..H.#M Q.QQQ.Q....bH.#M Q..Q..Qb#b..H.#M Q.HTQ@Q....bH.#M Q.QQQ.Qb#b..H.#M Q.TQT.Q....bH.#M Q.QQQ.Qb#b..HH#M Q@QTH.Q....bH%#M Q..Q..Qb#b..HT#M Q.QQQ.}.....QQbM Q.Q.Q@QQ}QHHQ..M Q.....QTTQHH...M QQQDQQQT##..Q.#Q QQ..Q^..##.....Q QQ.QQ.QQ##.QQQ.Q Q.^.....##...^.Q Q.b..Q.QVVQ.Q..Q Q!..TQ.QVVQ.Q'TQ QQQQQQDQQQQDQQQQ Q..*...........Q Q....#.........Q Q.QQQQQQQQQQ...Q Q...R........QQQ Q.~......~..bb+Q Q.............+Q QQQQQQQQQQQQQQQQ [additional] 26 13.1.}.2.0.1.0.0.0 15.2.M.2 15.3.M.2 15.4.M.2 1.5.@.1 15.5.M.2 15.6.M.2 15.7.M.2 5.8.@.3 15.8.M.2 15.9.M.2 15.10.M.2 15.11.M.2 1.12.@.1 15.12.M.2 15.13.M.2 6.14.}.0.0.1.0.0.0 15.14.M.2 5.15.@.3 8.15.}.3.0.1.0.0.0 15.15.M.2 15.16.M.2 5.18.^.2.0.0 2.20.^.2.0.0 13.20.^.0.0.0 3.24.*.1 [end] [offset] 868C [level] 73 [colour] 7fccac [size] 16.31 [author] Svetla n Saz [data] oooooooooooooooo o..............o o.@ooo.oDo.o.o*o o..o+..o%o.oTo.o o..ooo@oo..*o..o o...To.oTo..o..o o..ooo.oDo..o.!o o.............%o oRoooooooooooooo }..............o oooooooooooooo.o o.......#DDD...} o.#ooooooooo...o o#.o&......o...o o.#o.....o.o.~.o o..o.....o.o...o o.#o@ooooo.o.boo o#.o.......o...o o..o.....o.o...o o#.o.....o.o..oo o.#o*ooooo.ob#.o o..o.......o#..o o.#o.o...o.o...o o..o.oToTo.o...o o..o.ooooo.o.b.o o##o.......o.o.o o..o@ooooo@o.b.o o..o..ToT..o#..o o..o.ooooo.o.#.o o&.o.......o.#To oooooooooooooooo [additional] 12 2.2.@.1 14.2.*.1 6.4.@.3 11.4.*.3 0.9.}.0.0.1.0.0.0 15.11.}.2.0.1.0.0.0 4.13.&.10.0 4.16.@.1 4.20.*.3 4.26.@.1 10.26.@.3 1.29.&.10.1 [end] [offset] 888C [level] 74 [colour] 809da0 [size] 16.31 [author] Svetla n Saz [data] o}oooooooooooo}o o............%#o o.oooo..b..bo..o o%}#.b...#.T#..o o.o....ooo.bo..o o..............o o.....b.b.b....o o....ooooooooo.o o....D#...+..o.o o..##o..oooo.o.o o..##o@....o.o.o o..}.o.o.#.o.o.o oT...o.o...o.o.o oooo.o.ooo.oDo.o o&Ro.o@+To.o.o.o oooo.o.ooo.o!o.o o.T##o.o...ooo.o o..##o.o....%o.o o....o@o.ooooo.o oo...o.......o.o oT...oooooooDo.o o#.#.oHHHHHHHo.o o.#&.oHHHHHHHo.o o....o.......o.o o..ooo...b...o.o o..b.o.bHHHb.o.o oo...o.......o.o oT.oooT###...o.o o..b.o#TT#.#.bTo o...To}##.....#} oo}ooooooooooooo [additional] 12 1.0.}.1.0.1.0.0.0 14.0.}.1.0.1.0.0.0 2.3.}.0.0.1.0.0.0 6.10.@.3 3.11.}.3.0.1.0.0.0 1.14.&.10.0 6.14.@.3 6.18.@.3 3.22.&.10.1 6.29.}.3.0.0.1.0.0 15.29.}.2.0.1.0.0.0 2.30.}.3.0.1.0.0.0 [end] [offset] 8A8C [level] 75 [colour] 66a4bd [size] 16.31 [author] Svetla n Saz [data] PPPPPPPPPPPPPPPP P.............RP P...#.b..b.#...P P..PPPPPPPPPP..P P..PT......TP..P P..P!.????..P..P P..P#VVVVVV#P..P P.*P##VVVV##P..P P..P###VV###P..P P..P########P..P P..............P P.PPPP.........P P..#...P..P+#P.P PPPPP..P+.PP...P PT.#...PP.PT#.PP P.PPP..PT.PP...P P..#........#..P P..P..b..b..P..P P..P..P..P..P..P P..P..P..P..P.#P P..P..^.....P..P P.T}........}T.P P..............P P..............P P..PPPTPPPTPPP.P P..............P P.PPPP..PPPPPT.P P..~...........P P.bP#PPPPPP#Pb.P P......T.......P PPPPPPPPPPPPPPPP [additional] 4 2.7.*.3 6.20.^.2.0.0 3.21.}.0.0.2.0.0.0 12.21.}.2.0.2.0.0.0 [end] [offset] 8C8C [level] 76 [colour] 8373a6 [size] 16.31 [author] Svetla n Saz [data] PPPPPPPPPPPPPPPP PT..%D.........P PPP.PP.P.PPPPP@P P..&...P.P.....P P.P.P..P.P.P...P P.P+P....T.....P P.PPP..PPPPP...P P......P..P.T..P P......T....P..P P.PPPPPPTP..P..P P........P..P..P P..PP.P..P..P..P P..!..P+.P..P..P P..PPPPPPP.....P P...........P..P PPPPPPPPPPPPPP.P P...^.......TP.P P.....T.^..#.P^P P......^...b.P.P P.###.^..#&#.P.P P.#T#^.......PTP PPPPPPPPPPPPPPPP PT.D.....P.#...P PPPP.P&P....P..P P.}....&....P.%P P...PT*P...^PPPP P...PP........PP P......PPP..PPPP P.....}P'P..PT%P PR.....P.D..D..P PPPPPPPPPPPPPPPP [additional] 15 14.2.@.3 3.3.&.10.0 4.16.^.2.1.1 8.17.^.3.0.0 14.17.^.3.0.0 7.18.^.1.0.0 6.19.^.3.0.0 10.19.&.1.0 5.20.^.1.0.0 6.23.&.1.1 2.24.}.1.0.0.0.0.0 7.24.&.10.1 6.25.*.3 11.25.^.3.0.0 6.28.}.2.0.0.0.0.0 [end] [offset] 8E8C [level] 77 [colour] b5a746 [size] 16.31 [author] Svetla n Saz [data] oooooooooooooooo oT#.To%...o#..To o...#o#.#.o..}.o o###.o.#..o.o..o o..#.o#.#.o.oDoo &.##.o.###o##.#o o####o.........} }..............o ooooooooo.oooooo oR.............o oooooo.oooooo.oo o........ooo+.+o o.}ooo.o.oToo.oo o....o}o...oo.oo oooo&ooo.o.oo}oo o......o....oooo o......o.......o o@%+T..o..^....o o......o..^.oooo o@....@o....D.!o oooo&ooooooooooo o....#.........& o.......o..#...o o.o...o.ooo....o o.ooooo.o.#....o o.oT..o....oo..o o*o.o.o..o.#...o o.o.o.o.oo.bo..o o.o.o.o.~......o o..............o oooooooooooooooo [additional] 16 13.2.}.0.0.0.0.1.1 0.5.&.1.0 15.6.}.2.0.1.0.0.0 0.7.}.0.0.1.0.0.0 2.12.}.0.0.0.0.1.1 6.13.}.3.0.1.0.0.0 4.14.&.10.0 13.14.}.3.0.1.0.0.0 1.17.@.3 10.17.^.2.0.0 10.18.^.3.0.0 1.19.@.3 6.19.@.1 4.20.&.1.1 15.21.&.10.1 1.26.*.3 [end] [offset] 908C [level] 78 [colour] 765d8b [size] 16.31 [author] Svetla n Saz [data] QQQQQQQQQQQQQQQQ Q....#....Q+.%%Q QDQ..##...D..*.Q Q+Q.QQQQ.QQQQQQQ QTQ...Q.......QQ QTQ.Q.*.#.....QQ QQQ.QQ...Q.b.b.Q QQ...b.Q#QQ.*..Q QQ..@QQT..QQQQQQ Q....Q}.......#Q QQ.QQQQTQ#QQQQ#Q Q?.D%!QQ..Q+...Q Q'@QQQQQ.#Q..#.Q Q#........Q.#T.Q QTQDQQQQ..Q##QQQ QQQ....QQTQ+.Q%Q Q}Q*QQ..QQQT.D.Q Q.Q..QQ*QTQQQQ.Q Q....*Q........Q Q.QQQ.QQQQQQQQ.Q Q..............Q QTQQQQQQQQQQQQQQ Q...........Q.QQ Q..QQQQQQQ.....Q M#+#T#Q.....Q..Q Q.####Q.....Q..Q Q..QQQQ.QQQ.Qb.Q Q.........Q.Q..Q QQDQQQQQQ...QQQQ Q...%T..D.....RQ QQQQQQQQQQQQQQQQ [additional] 11 13.2.*.3 6.5.*.3 12.7.*.1 4.8.@.3 6.9.}.0.0.0.0.0.0 2.12.@.1 1.16.}.1.0.0.0.0.0 3.16.*.3 7.17.*.1 5.18.*.3 0.24.M.0 [end] [offset] 928C [level] 79 [colour] 9c7e64 [size] 16.31 [author] Svetla n Saz [data] PPPPPPPPPPPPPPPP P..^.....PbbbbbP PPPPP.P&.PbTbbbP P!..D.P..Pb.PPbP PPPPP.PPPPbVPP.P PTbbbbbbbb..PPbP P.PPP...PP.PPP.P P.P...P....PVVbP P.P.PP+PPPPPTVVP P.b...bbbbPPPPPP PbPbP..bTbPbbbbP PbPbPb.b.bPb..bP PbPbPP.b..Pb..bP PbPbbbPPPbPb..bP PbPPPbP&PbPbb.bP Pb.+PbPRPbPP..bP Pb.#PbP&Pbb..bPP Pb...bPPP.P..bPP Pb...bbbbbPb..bP Pb...VVbPPPP..bP Pb.....b.+P..bbP Pb.+..bPPPP.b..P Pb....b.b.bb.b.P P.bT...b.bPbb..P PPPPPPPPPPPPPPPP P.........^....P P###.PPPPPPPPP.P P'.##P..PT.....P P.#..P.&PP.PPPPP P#.#.P....^....P PPPPPPPPPPPPPPPP [additional] 7 3.1.^.2.0.0 7.2.&.1.0 7.14.&.10.0 7.16.&.1.1 10.25.^.0.0.0 7.28.&.10.1 10.29.^.2.0.0 [end] [offset] 948C [level] 80 [colour] 84ae78 [size] 16.31 [author] Svetla n Saz [data] QQQQQQQQQQQQQQQQ QVTVQ..........Q QVbVQ..Q.....b.Q QVbVQb.QQb..QQ.Q QVbVQ..bQ..QQ..Q QHHHQ.QQQ......Q Q.......QQQb...Q QQQQ....Q....Q.Q Q+.D....Q....Q.Q QQQQ......b.QQ.Q Q.TQ..#.QQQQQ..Q Q..Q..+...QTQ..Q Q..Q..#.??Q%Q..Q M.........QDQ..Q QR..#..........M M............QQQ Q............Q}Q Q.QQQQ.QQQQ....} Q.QT.Q}Q.%Q..Q.Q Q.QVVQQQVVQ..Q.Q Q.QVVVVVVVQ..Q.Q Q.Q...V...Q..Q.Q Q.QHQQQQQHQ....Q Q..............M Q..#.....#.....Q Q...QQ.Q..QQ.Q.Q Q....#.Q#...#..Q Q....QQQ..QQ.Q.Q Q....Q!Q...#.Q.Q Q....QTD.......M QQQ}QQQQQ}QQQQQQ [additional] 10 0.13.M.0 15.14.M.2 0.15.M.0 14.16.}.1.0.1.0.0.0 15.17.}.2.0.1.0.0.0 6.18.}.3.0.1.0.0.0 15.23.M.2 15.29.M.2 3.30.}.3.0.1.0.0.0 9.30.}.3.0.1.0.0.0 [end] [offset] 968C [level] 81 [colour] 815b7a [size] 16.31 [author] Svetla n Saz [data] oooooooooooooooo oT.&...R.T.....M o....oooooooTooo o.o.!.oT.....oTo o@o...o..oo..o+o o.oTooo..o...oDo o.o......o.....o o....ooo.T.o.o.o o.oo.b...ooo.o.o o.o..ooo.....T.o o.o.ooTo.ooooo.o o.o.'oTo.....o.o o.o.ooTo.ooo@o.o o.o.ToDo.ToT.o.o o.o..........o.o oTo==========oTo oDo+oooooooo+oDo o+o..........oDo o.oooo.oooo.oo.o o.===.==....=.=o o..===.==...=..o o=....==......=o ooooo..ooooo.ooo oTTTD..D%T%D.D%o ooooooooDooooooo o+T+To%o#%T%.#To oHHHHoTo..#%##.o oHHHHoTo.###...o o....oDo#.#.#.#o o.}....&.#.....o oooooooooooooooo [additional] 6 3.1.&.10.0 15.1.M.2 1.4.@.1 12.12.@.3 2.29.}.3.0.0.1.0.0 7.29.&.10.1 [end] [offset] 988C [level] 82 [colour] a9a9ae [size] 16.31 [author] Svetla n Saz [data] OOOOOOOOOOOOOOOO O............}RO O@OOOOOO...b...O O.O....&@.O....O O.O@T..Ob.O...#O O.O..O.O.OOO...O O.O@OO.O.......O O.O.O..O.O.O..#O O.O@.T.O.O.b...O O.O....O.O...#.O O.O@.OOO.OOOO.OO O@OOOO.........O O......OOOOO...O O.OOOOOO...O#.@O O........}.O...O OOOOOOOOO..O#.@O O+bT+Tb+O.OO...O OHHHHHHHODOOO#.O OHHHHHHHO'.TO..O OHHTT%HHOOOOO#.O O..#....#......O O.......OOOOOOOO O.b###b.O}O..T.O O.b#}#b.O.O....O O..OOOOOO.O.O..O O.b........TO..O OOOOOOOOO......O O.......O.OOO.OO OT!}....D.....}O O.......OT....TO OOOOOOOOOOOOOOOO [additional] 16 13.1.}.1.0.0.0.0.0 1.2.@.1 7.3.&.10.0 8.3.@.3 3.4.@.3 3.6.@.3 3.8.@.3 3.10.@.3 1.11.@.1 14.13.@.0 9.14.}.0.0.0.0.1.1 14.15.@.0 9.22.}.1.0.0.0.0.0 4.23.}.3.0.0.1.0.0 3.28.}.0.0.0.0.0.0 14.28.}.2.0.0.0.0.0 [end] [offset] 9A8C [level] 83 [colour] 6f9cce [size] 16.31 [author] Svetla n Saz [data] ssssssssssssssss s.........R#T#!s sss.ss&.?bb####s s..&.Ts....#T#Ts s.s.sTs%..#####s s.s.sssss......s s.s.s^..ssssssss s.s.s&....^...Ts s.s.sssssssss#Ds s.s........&.T+& s.sssssssss.ssss s..............s ssssssssssssss.s s'.+s........s.s sTs.ss&sssss.s.s sss.ss.s...s.s.s s..&T....s.s.s.s s.s.ss.sss.s.s.s s.s.sT&T...s.s.s s.s.s.s.ssss.s.s s.s.s.s.T&.s.s.s s.s.s.s.ss.s.s.s s.sTTTs..s.s.s.s s.ssssss.s.s.s.s s.ssT..#.s.s.s.s s..s..#.ss.s.s.s ss.ssss.Ts.s.s.s s.....ssss.s.s.s s*sss......s.s.s s.....sssTss..Ts ssssssssssssssss [additional] 12 6.2.&.8.0 3.3.&.10.0 5.6.^.3.0.0 5.7.&.1.0 10.7.^.2.0.0 11.9.&.1.1 15.9.&.8.1 6.14.&.3.0 3.16.&.2.0 6.18.&.4.0 9.20.&.5.0 1.28.*.3 [end] [offset] 9C8C [level] 84 [colour] 6788ae [size] 16.31 [author] Svetla n Saz [data] QQQQQQQQQQQQQQQQ Q...........QR.Q Q.Q@Q@Q@Q@Q@QQ.Q Q.TQ.Q@Q@QT.Q..Q Q...........Q.QQ QQQQQQ.QQQQQQ..Q Q!..?Q.Q.?.....Q Q....Q...Q.Q.}.Q Q&.&.Q.Q.Q.Q...Q Q....Q.Q.Q.QQQQQ QQQQQQ.Q.Q.#..TQ M..........DQQQQ QQ+Q.QQQ@Q@....Q QQQQ..QQQQ..QQ.Q Q..............Q QQQQQQ..QQQ.#T.Q QV.TTQ.Tb...QQ.Q QVQQQQ.QQQQ....Q QVQT...Q.TQQQQ.Q QVQ.QQQQ#....Q.Q QbQ.QT.D...#.Q^Q Q.Q.QQQQQ#.b.Q.Q Q+Q.QVVbQ.QQQQ.Q Q+Q.QQQ..&...Q.Q Q.Q...Q.Q.Q..Q.Q Q.QQQ.Q.Q.Q%TQ.Q Q&.#Q.Q.QDQQQQ.Q Q.QQQ.Q.Q..%TQ.Q Q.....Q.QQQQQQ.Q QQQQQQQ.....'QTQ QQQQQQQQQQQQQQQQ [additional] 16 3.2.@.3 5.2.@.3 7.2.@.3 9.2.@.3 11.2.@.3 6.3.@.1 8.3.@.1 13.7.}.0.0.0.0.1.1 1.8.&.1.0 3.8.&.10.0 0.11.M.0 8.12.@.3 10.12.@.3 14.20.^.3.0.0 9.23.&.10.1 1.26.&.1.1 [end] [offset] 9E8C [level] 85 [colour] 937251 [size] 16.31 [author] Svetla n Saz [data] pppppppppppppppp p&}pT.TpVpT..#&p p..p...p.pT....p pp.p.ppp.ppp...p p+.p..&...&..b.p pp.p.ppp.ppp##.p pp.p..Tp.p+T...p pp.ppppp.pppppDp pT.p.........pTp pp.ppppppppppppp pp.............p pp.pppp..pppp..p M..............M p..?.p.ppp..b..p p..?.p%..pp...pp p..?.ppp.p....pp p......pRp....pp pppppp.pTp..p.pp pT++Tp.ppp..p.pp p....p.b....p.pp p....M....p.p..p p.&&.p.pppp...pp M....p.p.......p p....p.p@pp.p.pp M####M.p....p.Tp p####p.p.p..p.pp p####p.p.p..p.%p M##......++.b.pp p#...p.ppp....'p pT#p...D!D.}T}Tp pppppppppppppppp [additional] 17 1.1.&.10.0 2.1.}.1.0.1.0.0.0 14.1.&.1.0 6.4.&.2.0 10.4.&.2.1 0.12.M.0 15.12.M.2 5.20.M.2 2.21.&.10.1 3.21.&.1.1 0.22.M.0 8.23.@.1 0.24.M.0 5.24.M.2 0.27.M.0 11.29.}.3.0.1.0.0.0 13.29.}.3.0.1.0.0.0 [end] [offset] A08C [level] 86 [colour] 65719f [size] 16.31 [author] Svetla n Saz [data] QQQQQQQQQQQQQQQQ QR....T..^..^.!Q Q#QQQQQQQQQQQQQQ Q....Q.......#.Q Q.QQ.Q@QQQQ@.TQQ Q.'Q......Q.QQQQ Q#QQ.QQQQ.Q.D'QQ Q.M.....Q.Q.QQQQ Q..............Q Q.TQQQQ.QQQQQ..Q QQQQ%...Q......Q QTTD#.#.Q.Q.b..Q QQQQ.#..Q.@Q...Q Q.#.#.##Q...Q..Q Q..#.#..QTT..Q@Q Q+..#...QT!+...Q QQQQQQQDQQQQQQQQ Q.^..+Q~QHHHH#TQ QQQQQ.Q.QHHHHH#Q Q%....b...bHHHHQ Q.QQ..b.Q.bHHHHQ Q.TQQQb.QbQQQQHQ QQ....b.QbQ...#Q QQQQQQQbb...Q..Q Q.........*QQQ*Q Q##QQQTQQQ..Q..Q Q##Q..........%Q Q..Q.QQQbbbbbbbQ Q..Q...^..bVVVVQ M..+....bbbVVVVQ QQQQQQQQQQQQQQQQ [additional] 12 9.1.^.2.0.0 12.1.^.0.0.0 6.4.@.1 11.4.@.3 2.7.M.0 10.12.@.1 14.14.@.3 2.17.^.2.0.0 10.24.*.3 14.24.*.1 7.28.^.2.0.0 0.29.M.0 [end] [offset] A28C [level] 87 [colour] 78717d [size] 16.31 [author] Svetla n Saz [data] oooooooooooooooo o..^..^....oT#&M o.#oo.......o#.o o.......o.oo...o o.o.ooo.ob.....o o.o.......o@oo.o o.oooo.oo.o..o.o o..o....o.o....o o......*o...oo.o oo...o..o......o o..o.o....ooo..o o.@o......o....o o..oo.o.o.....oo o.?.o...o......o o...o.......oooo o??.o.ooooob.o}o o.....o...o..o.o o.?.o........o.o o...o..ooooooo.o oo.ooooo.....T.o o#.T?o...ooo...o o###!o*ooo.oo*.o o++ooo.........o ooo&.....obo.T.o o.oooooooo.ooo.o o..............M o.ooooooooooooTo o.#'##..#.#.RDTo o#..#..##..#.oTo o%..#.#..##.#oTo oooooooooooooooo [additional] 12 3.1.^.0.0.0 6.1.^.2.0.0 14.1.&.10.0 15.1.M.2 11.5.@.1 7.8.*.3 2.11.@.1 14.15.}.1.0.1.0.0.0 6.21.*.3 13.21.*.1 3.23.&.10.1 15.25.M.2 [end] [offset] A48C [level] 88 [colour] 66d286 [size] 16.31 [author] Svetla n Saz [data] ssssssssssssssss sR...T.........M ssssss.sssssss*s s...Ts.s#.^.Ts.s s.s.ss.s&..##s.s s.b..#.D.....s.s s.s..s.sssssss.s s....s.........s s!'TTsssssssss.s sssssss%.......s M.......ssssssss s.sss.sss......s s.........#.s&.s sssssssss......s s&....TTssssssss s..^...........s sssssssss.ssssss sT..........^..s sss.ssssssssssss sT...@...bbbbbbs ss@sssss@sssssbs ss...@...s.bbbbs ssssssssss.sssss s.....b.s...s+Ts sbs.......}....s sbsssssss...ssss sbs#...#ssDss%Ts sbsT.....#.....s sbssssssssssssss sbbbbbbbbbbb#*Ts ssssssssssssssss [additional] 15 15.1.M.2 14.2.*.3 10.3.^.0.0.0 8.4.&.1.0 0.10.M.0 13.12.&.10.0 1.14.&.10.1 3.15.^.2.0.0 12.17.^.0.0.0 5.19.@.2 2.20.@.1 8.20.@.3 5.21.@.0 10.24.}.0.0.0.0.1.1 13.29.*.1 [end] [offset] A68C [level] 89 [colour] 9d66ac [size] 16.31 [author] Svetla n Saz [data] PPPPPPPPPPPPPPPP P.P...........!P P.P.TPPPPPPPPPPP P.PTTP@.......@P P.PT@...P...#..P P.PP....P..P.P.P P.%P....P..P^P@P P..#.T..P..P.P.P PPPP.P..P.#P.P.P P....P.PP..P.P@P P@PPPP.PR..P+P.P P.P........P+P.P P...PP..PP.PPP@P P@P..PPPP......P P.P........PPP.P P.PP.#.#PP.TP+.P P..............P PPPPPPPPPPPPPPTP P'.............P PTPPPPPPPPPPPPPP P..............P PPPPPPPPPPPPPPTP P.TT#T#T#T#T#..P M..............P P.PPPPPPPPPPP..P P.PPT.TD^#.....P P.TPPPPP#....b.P P.PP...........P P.P============P P..T#T#T#T#T#T#P P}PPPPPPPPPPPPPP [additional] 12 6.3.@.3 14.3.@.1 4.4.@.3 12.6.^.3.0.0 14.6.@.1 14.9.@.1 1.10.@.3 14.12.@.1 1.13.@.3 0.23.M.0 8.25.^.2.1.1 1.30.}.3.0.1.0.0.0 [end] gnurobbo-0.66+dfsg/data/levels/robbo08.dat0000644000175000017500000000710211306516562017414 0ustar stevesteve[name] RobboVIII [last_level] 4 [offset] 388C [level] 1 [colour] 78c67f [size] 16.31 [author] Confusion & Charon [data] PPPPPPPPPPPPPPPP PRbbbbbbb..&bbbP P'%bbbbb&.bbb&bP PbTTbbbbbbbbb..P PbbTTbbb.&T^bb.P Pbbb&bbbbbb.bb&P Pbbbbb&bbbb.bbbP Pbbbbb.Tbbb.bbbP PbbbbbbTTTT.bbbP P&b&T^bbbbb.bbbP P.bbb.bbbbb^bbbP PTTbb^.......^bP PbT%bbbbbbbbb..P P&bbbbbbbbbbbbTP P.T&b&.bbbbbbbbP PbbbbbTbbbbbbbbP PbbbbbT.*.@..bbP PbbbbbbbbbbbTTbP PbbbbbbbbbbbbTbP PbbTTTTbT%bbTTbP PbTTbbTTTbb&TbbP PbTbbbbTbbbbbbbP PbT.bbbbb.&bbbbP Pbb&bbbbbTbbbTbP Pbbbb&bbbTbbb%bP Pbb%b+bbbTbbb%bP PbbTbTbbbTbbD%bP PbbTTTbbbTDDDb!P PbbbbTTbb&bbDbHP Pbbbbb.&bbbbDDHP PPPPPPPPPPPPPPPP [additional] 25 11.1.&.1.0 8.2.&.8.0 13.2.&.1.1 9.4.&.8.1 11.4.^.3.0.0 4.5.&.3.0 14.5.&.10.0 6.6.&.3.1 1.9.&.7.0 3.9.&.7.1 5.9.^.3.0.0 11.10.^.3.0.0 5.11.^.2.0.0 13.11.^.2.0.0 1.13.&.10.1 3.14.&.6.0 5.14.&.6.1 8.16.*.1 10.16.@.3 11.20.&.4.0 10.22.&.4.1 3.23.&.5.0 5.24.&.5.1 9.28.&.2.0 7.29.&.2.1 [end] [offset] 3A8C [level] 2 [colour] 7176a9 [size] 16.31 [author] Confusion & Charon [data] OOOOOOOOOOOOOOOO O&HHO}.OTO.}OT&O OHHHO..O^O..OTTO O%HHH.......HHHO OTHHH..b.b..HH%O OOOOOM.....MOOOO O'%.M.....M.'%%O O%%.D.....D..bbO OOOOOOO...OOOHOO O..^...^....^..O O..OHHHHHHHHO..O O..HOHHbbHHOH..O O..H%OHT%HODH..O O..HbDO&.ODDH..O O..HO%TOOTDbH..O O..HbD&OOTbOH..O O..HH%O#TODDH..O O..H#O####ODH..O O..HO######OH..O O..O########O..O O..^...^.^..^..O OOOO.HOOOO.....O OTDO.O!.&O.....O ODDOOOOOOO.....O ODDDb.'..D.....O OOOOMbbb.O.OOO.O OTTOMbbb.O.O'O.O OTTOMbbb.O.O.OOO OODOOOO..O.O..^O O&.O&....OR...&O OOOOOOOOOOOOOOOO [additional] 26 1.1.&.10.0 5.1.}.1.0.0.0.0.0 11.1.}.1.0.0.0.0.0 14.1.&.8.0 8.2.^.2.0.0 5.5.M.0 11.5.M.2 4.6.M.0 10.6.M.2 3.9.^.2.0.0 7.9.^.2.0.0 12.9.^.2.0.0 7.13.&.10.1 6.15.&.10.2 3.20.^.2.0.0 7.20.^.2.0.0 9.20.^.2.0.0 12.20.^.2.0.0 8.22.&.8.1 4.25.M.0 4.26.M.0 4.27.M.0 14.28.^.2.0.0 1.29.&.10.3 4.29.&.10.4 14.29.&.8.2 [end] [offset] 3C8C [level] 3 [colour] a98058 [size] 16.31 [author] Confusion & Charon [data] pppppppppppppppp pR.pp.}^p%.D..}p p.p@.pHHp&.p..%p p.p'HHHHpppp...p p.pT*pHHpTHp..}p p..ppHHHpHDp..%p p....M.H.MH....p p.............}p p..pp....pp....p p.p.&p..bH%p...p p.pT.p..p.p....p p.pppp..pp....}p p.p..p..p.p....p p.............%p p..............p p..pp...#.Hp..}p p.pHHp..ppH#..%p p.pHbDH.pp%p...p p.DHHp..p.pp..}p p..pp...p..#...p p..............p p..............p p.pHpppHpppHpppp p.pHp.pHp.pHpT!p p.pTpppTpppHp#Dp p.pH..pH..#.HH#p p.pHpppHpbp.pppp p.........DDDD'p ppppppM...Mppppp p'D.........D%%p pppppppppppppppp [additional] 16 6.1.}.1.0.0.0.0.0 7.1.^.2.0.0 14.1.}.2.0.0.0.0.0 3.2.@.3 9.2.&.1.0 4.4.*.1 14.4.}.2.0.0.0.0.0 5.6.M.0 9.6.M.2 14.7.}.2.0.0.0.0.0 4.9.&.1.1 14.11.}.2.0.0.0.0.0 14.15.}.2.0.0.0.0.0 14.18.}.2.0.0.0.0.0 6.28.M.0 10.28.M.2 [end] [offset] 3E8C [level] 4 [colour] 719d8d [size] 16.31 [author] Confusion & Charon [data] pppppppppppppppp p}p}p'}Tppp..#.p p.pHp...ppp#&&.p p.pHp.Tpppp.&&#p p.pHp...ppp%#H.p p.pHppT.pppppppp p.pHp...ppppp..p p.pHp.TppppppD.p p.pHp...p^.^p&Dp pTpHppp.p.^....p p.pHp...pT%ppppp pTpHp.&.ppppp.&p p.pHp....Tb.pHTp pTpHppp.p...pHpp p.pHp...pppppHpp pTpHp%..p..ppbpp p.pHp...p..D...p pTpHp...pTppp..p p.pHp...p##%#.pp pTpHp...ppppp.pp p.pHp..........p pTpHp......%...p p.pHp......R...p p.pHpppDpM.D.Mpp p.pHp.~.pppDpppp p&pHp~%#pppDpppp p.pHp%~.ppp&pppp p%pHp~.TpppDpppp pppbppppppp&p.&p p}###HHHHHHbp+!p pppppppppppppppp [additional] 20 1.1.}.1.0.0.0.0.0 3.1.}.1.0.0.0.0.0 6.1.}.1.0.0.0.0.0 12.2.&.3.0 13.2.&.4.0 12.3.&.2.0 13.3.&.5.0 9.8.^.3.0.0 11.8.^.3.0.0 13.8.&.4.1 10.9.^.3.0.0 6.11.&.6.0 14.11.&.5.1 9.23.M.0 13.23.M.2 1.25.&.6.1 11.26.&.2.1 11.28.&.10.0 14.28.&.10.1 1.29.}.0.0.0.0.0.0 [end] gnurobbo-0.66+dfsg/data/levels/robbo03.dat0000644000175000017500000013112411324353351017404 0ustar stevesteve[name] RobboIII [last_level] 42 [default_level_colour] 608050 [notes] Level 1: The bird at 8.16 is too hard. The screw has been moved rightwards. Level 2: The gun 0.16.}.0.0.1.0.0.0 has been removed as 3 guns were almost impossible to pass. Now Robbo can breath in the middle. Level 3: The two birds at the bottom; the room has been widened rightwards by 1, and the bomb moved 1 place left. The bear at 7.9 now starts east not west so that it goes around the block similar to the one at 7.22. Level 4: The 2 guns at 14.8/9 have been made rotateable and staggered as they were almost impossible to pass. Now they present an interesting challenge. Level 5: Ahh, this one, the one I've played 100+ times and died. There are originally 3 bears and 4 black bears at the bottom of the map. I have removed all black bears and now there exists just 4 bears in the corners. This stops them getting mixed up and going round and around in circles, and also it's not so ridiculously impossible. Level 8: Too many changes to list. Basically too many objects make it crawl. Then half of them get killed before you even see them: silly. Level 10: This is the impossible level... well I did it in the end :) It's very nasty! Level 13: Silly start position: moved it. Level 26: There's a block of almost impassable guns at 10:11. I've made them all rotateable and staggered their directions. Level 28: Removed the bear 8.24.@.0 so that opening the door is less fatal. *THIS SET IS COMPLETE NOW* * note by neurocyp Well this set has new 9 levels, which are at the end of the set. And after all it seems this is Robbo III not VIII Thunor: It has been established now that this is indeed RobboVIII by XE-TEAM/JANUSOFT but we'll leave fixing this to another release. I'll mark it temp temp so I'll find it again later. [offset] 50A3 [level] 1 [colour] 78c67f [size] 16.31 [author] J&P Wardzynscy [data] QQQQQQQQQQQQQQQQ Q.....T........Q Q............R.Q Q...QQ..Q..Q.Q.Q QT.Q..Q.Q.Q%DQ.Q Q..Q..Q@QQQ'TQ.Q Q..Q.bQ.Q..Q.M.Q Q...QQ..Q..Q?Q.Q Q...........M..Q Q..............Q Q.....?.?.?....Q Q......?.?.....Q Q.....?.?.?....Q Q..............Q Q..............Q Q.------------.Q Q..HT.-.^.T....Q Q.------------.Q Q......^T-T.%..Q Q.-------!----.Q Q.^.T..-TH.....Q Q.------------.Q Q......D..T-T..Q Q.------------.Q Q....}}}.......Q Q....HHH..Q....Q Q....bHH...Q@..Q Q....HHH....Q..Q Q....TTT.......Q Q..............Q QQQQQQQQQQQQQQQQ [additional] 10 7.5.@.1 13.6.M.2 12.8.M.0 8.16.^.0.0.0 7.18.^.0.1.1 2.20.^.0.1.1 5.24.}.1.0.0.0.0.0 6.24.}.1.0.0.0.0.0 7.24.}.1.0.0.0.0.0 12.26.@.2 [end] [offset] 52A3 [level] 2 [colour] 7176a9 [size] 16.31 [author] J&P Wardzynscy [data] pppppppppp&ppppp pRp%p%TT%p%pTTTp p%D.pTTTTp'pTTTp ppp.ppDpppDppDpp p..............p ppDppppppppppDpp p...^....^..p..p p}pppp&pppppp^^p p@T&..!p.......p p@Tpp&p..p.p@p.p p@T@@p..pTpTp'.p p...@p?........p p...Dp?........p p..D.&...p@pTp.p p...Dp?.pTpTp..p }@..@p}........p p@..@ppp%.....}p }@..@@@pp%....}p p@.....Tpppppppp pDpppppp....^..M p...........%.^M p...........^..M p...........^..M ppppppppp.pppppM }HHHHHHbHHHHHH.p }HHHHHHbHbHHHH?p }HHHbHHHHHHHHH?p }HHHHHHHHHHHHH?p pDDppppppppppppp pH%HTH%HTTHH%'.& pppppppppppppppp [additional] 46 10.0.&.3.0 4.6.^.0.0.0 9.6.^.0.0.0 1.7.}.1.0.0.0.0.0 6.7.&.1.0 13.7.^.0.0.0 14.7.^.0.0.0 1.8.@.2 3.8.&.2.0 1.9.@.2 5.9.&.1.1 12.9.@.2 1.10.@.0 3.10.@.0 4.10.@.2 4.11.@.2 5.13.&.4.0 10.13.@.2 0.15.}.0.0.2.0.0.0 1.15.@.2 4.15.@.2 6.15.}.3.0.2.0.0.0 1.16.@.2 4.16.@.2 14.16.}.2.0.1.0.0.0 0.17.}.0.0.2.0.0.0 1.17.@.2 4.17.@.0 5.17.@.0 6.17.@.0 14.17.}.2.0.1.0.0.0 1.18.@.2 12.19.^.0.0.0 15.19.M.2 14.20.^.0.0.0 15.20.M.2 12.21.^.0.0.0 15.21.M.2 12.22.^.0.0.0 15.22.M.2 15.23.M.2 0.24.}.0.0.1.0.0.0 0.25.}.0.0.2.0.0.0 0.26.}.0.0.1.0.0.0 0.27.}.0.0.1.0.0.0 15.29.&.3.1 [end] [offset] 54A3 [level] 3 [colour] a98058 [size] 16.31 [author] J&P Wardzynscy [data] pppppppppppppppp p............'Rp p.........DD.''p p.----...-.T-..p p.-&&-...-&-...p p.-T.-.%@--....p p.-T.-...-&-...p p.-T&-...-TT-..p p.----.-.-...-.p p..*...@..DDD..p p......^.......p p.............^p ppppppppDppppppp p^............^p p..............p p.----...----..p p.-..-...-&T.-.p p.-..-...-.T&-.p p.-TT-@..----@.p p.-..-...-T%.-.p p.-&.-...-&.T-.p p.----.-.----..p p......@.......p p.......^....@.p pTTTTbTTTTTTTTTp ppppp^...ppppppp pHHHp^...pHHHHHp pHpHppppp'H-H-Hp pHpHD...DH--.-'p p!ppD...DH-T%-.& ppppp-pppppppppp [additional] 24 3.4.&.3.0 4.4.&.2.0 10.4.&.4.0 8.5.@.1 10.6.&.2.1 4.7.&.6.0 3.9.*.2 7.9.@.0 7.10.^.1.0.0 14.11.^.0.1.1 1.13.^.0.0.0 14.13.^.0.0.0 10.16.&.4.1 12.17.&.6.1 6.18.@.3 13.18.@.2 3.20.&.6.2 10.20.&.4.2 7.22.@.0 8.23.^.1.0.0 13.23.@.2 5.25.^.0.1.1 5.26.^.0.1.1 15.29.&.3.1 [end] [offset] 56A3 [level] 4 [colour] 719d8d [size] 16.31 [author] J&P Wardzynscy [data] PPPPPPPPPPPPPPPP PR-------------P P.#...^^^^^....P P-------.------P PbbbbbbbbbbbbbbP PPPPPPPPPPPPPPbP P..............P P...b...b...P'PP P.....%.....PT}P PDPPP...PDPDPT}P PTPPPP..PTPTPTPP PTP%%P..PTPTP%PP PPP..PDDPPPPPPPP P....#......^P}P P.P.PPPPPPPPPPHP P.............HM PPPPPPPPP.PPPP.P P...........}P.P P.PPPPPPPPPPPPPP P..D.DTTP%P....P P..P.PPPP.P.PP.P PPDP.D%D.D..'P.P P%.P.PbPPPPPPP^P PDPP.D%D.D..P..P P..PDPPPPPPDPb^P P.bP..P..%PPP..P P..PbPP.!.PDPb^P P.bP.P^...P...bP P..D.PPP.PPDPPPP P..P.PTD....%TTP PPPPPPPPPPPPPPPP [additional] 15 6.2.^.0.1.1 7.2.^.0.1.1 8.2.^.0.1.1 9.2.^.0.1.1 10.2.^.0.1.1 14.8.}.0.0.0.0.1.0 14.9.}.2.0.0.0.1.0 12.13.^.0.0.0 14.13.}.1.0.1.0.0.0 15.15.M.2 12.17.}.2.0.0.0.0.0 14.22.^.1.0.0 14.24.^.1.0.0 14.26.^.1.0.0 6.27.^.1.0.0 [end] [offset] 58A3 [level] 5 [colour] b2b05f [size] 16.31 [author] J&P Wardzynscy [data] OOOOOOOOOOOOOOOO OT}}..O..}...}.O O.....O....R...O O........#..#..O O.....O........O O.....OOM.TOO.OO O.....OT..OO...O O.....O.#.OM...O OT....O#..OM...O OM###MO.#.OO...O Obb...O...bO...O Ob....O...OO...O Obb...O'..O...MO OOObOOOOO.O...TO OO..b..TO.O.OHOO O....b#.O.O.OHOO O..#..b.O.O.OHOO OO..#.bbO.O.OHOO OT..b.b.O.O.OHOO OObbb..%O.T.ObOO OOOOODOOOOOOObOO O@.........@ObOO O.OO..?..OO.ObOO O.OOO...OOO.ObOO O..OOODOOO..ObOO O?..OT!TO..?OHOO O..OOODOOO..OHOO O.OOO...OOO.OHOO O.OO..b..OO.OHOO O@.........@OHOO OOOOOOOOOOOOOOOO [additional] 14 2.1.}.1.0.0.0.0.0 3.1.}.1.0.1.0.0.0 9.1.}.1.0.1.0.0.0 13.1.}.1.0.1.0.0.0 8.5.M.0 11.7.M.0 11.8.M.0 1.9.M.0 5.9.M.2 14.12.M.2 1.21.@.0 11.21.@.0 1.29.@.2 11.29.@.2 [end] [offset] 5AA3 [level] 6 [colour] 77a4ac [size] 16.31 [author] J&P Wardzynscy [data] ssssssssssssssss ssss.......s...s ssss.&.sssbs.T.s ssss...sss.s.T.s ssssssssss.s.T.s s'}'ssssssDs...s s..........s.&.s s..........s...s s..........s...s s..........sssss sM#Ms#.#.#.#.R.s s..&s.#.#.#..&.s sM..s#.#.#.#...s s...s.#.#.#.#.#s s...s#.#.#.#.#.s s...s.#.#.#.#.#s s..Ms#.#.#.#.#.s s..%s..........s s.TTs....%.....s s&#Ts..ssssss.ss ssssss.s...&s.s. s&..s..s...ss.ss s..&s.ss...s...s sssss..sss.s.&.s s........s.s...s s...s....sDsssss s........s....*s s..Ms.!..s.TTT.s s...s....s.TTT.s s?.%s....s....&s ssssssssssssssss [additional] 17 5.2.&.1.0 2.5.}.1.0.1.0.0.0 13.6.&.2.0 1.10.M.0 3.10.M.2 3.11.&.6.0 13.11.&.6.1 1.12.M.0 3.16.M.2 1.19.&.4.0 11.20.&.1.1 1.21.&.4.1 3.22.&.3.0 13.23.&.2.1 14.26.*.2 3.27.M.2 14.29.&.3.1 [end] [offset] 5CA3 [level] 7 [colour] 819663 [size] 16.31 [author] J&P Wardzynscy [data] pppppppppppppppp p#............&p pp....ppp......p p&....pTp......p pp...pp.ppM....p p#....p^p......p pp....p.p@..T..p pT^...........&p ppppppM.Mppppppp p...p......p#HHp p.&.p.}.}..pT#Hp p...p......p#H#p pp#pp....b.pbHHp p........#.p#HHp p.....T....pppHp p}#........HHHbp pppppppppppppppp p&...^^...HHTTTp pppppppppMbMpppM p...pp...#.#...p p.&.pp&ppM.Mpp&p p.R.ppppp.....pp p........#b#pppp p.&.pppppM.Mp&pp p...D''.......pp pppppppppppppp&p p...bbbbbbbbbb.p p.!.bbbb.....~.p p.T.bbbb.TT..#.p p...bbbbbbbHH..p pppppppppppppppp [additional] 29 14.1.&.4.0 1.3.&.6.0 10.4.M.0 7.5.^.1.0.0 9.6.@.3 2.7.^.1.0.0 14.7.&.3.0 6.8.M.0 8.8.M.2 2.10.&.4.1 6.10.}.1.0.1.0.0.0 8.10.}.1.0.1.0.0.0 1.15.}.0.0.1.0.0.0 1.17.&.1.0 5.17.^.0.0.0 6.17.^.0.0.0 9.18.M.0 11.18.M.2 15.18.M.2 2.20.&.4.2 6.20.&.3.1 9.20.M.0 11.20.M.2 14.20.&.1.1 2.23.&.5.0 9.23.M.0 11.23.M.2 13.23.&.5.1 14.25.&.6.1 [end] [offset] 5EA3 [level] 8 [colour] 9551b9 [size] 16.31 [author] J&P Wardzynscy [data] pppppppppppppppp p..........D.%.& ppDpppppppDpppDp p@.p!TTTp'#'p..p p..p...^p...p..p p.ppHHHHp..^p..p p%p.HHHpp..^M..p ppp'''ppp.ppHT.} p..D..pD%.pbHT.} p...pp..ppHbHT.} p'''p^..pHHbHT.p p.'.&...ppp%%T.p pp.pp.....ppp%Tp p...p.......pppp p...p.^.....^..p p....p}........} p^^^..}........} pTTTTTpTTTTTTTTp pppppppppppppppp p&.HHHHHHHHH##.p pbbHHHHHHHHH##.p pHHHHHHHHHHHHH.p pHHHHHHHHHHHHH.p pHHHHHHHHHHbHH.p pHbHHHbHHHHHHH.p pHHHHHHHHHHHHH'p pHHHHHHHbHHHHH'p pHHHHHHHHHHHHH'p p.............Rp p.}...}.}.}.}?.p pppppppppppppppp [additional] 26 15.1.&.1.0 1.3.@.0 7.4.^.0.1.1 11.5.^.0.0.0 11.6.^.0.0.0 12.6.M.2 15.7.}.0.0.0.0.1.0 15.8.}.1.0.0.0.1.0 15.9.}.2.0.0.0.1.0 5.10.^.1.0.0 4.11.&.4.0 6.14.^.1.0.0 12.14.^.0.0.0 6.15.}.0.0.0.0.0.0 15.15.}.2.0.0.0.0.0 1.16.^.1.0.0 2.16.^.1.0.0 3.16.^.1.0.0 6.16.}.0.0.0.0.0.0 15.16.}.2.0.0.0.0.0 1.19.&.1.1 2.29.}.3.0.0.1.0.0 6.29.}.3.0.0.1.0.0 8.29.}.3.0.0.1.0.0 10.29.}.3.0.0.1.0.0 12.29.}.3.0.0.1.0.0 [end] [offset] 60A3 [level] 9 [colour] 6d61b1 [size] 16.31 [author] J&P Wardzynscy [data] QQQQQQQQQQQQQQQQ Q%RD.....^.....Q QQQQQQQQ.QQQQQQQ Q........QbbbbbQ Q.QQQQQQQQHHHHHQ Qb.b.b.bbbHH#HHQ Q.b.b.b...HHHHHQ Qb.b.b.bbbHHHHHQ QQQQQQQQQQ.}.}.Q Q........QQQ.QQQ Q..............Q M........^.....M M#............#M M#.....bHb....#M QQQQQQQQbQQ}}}QQ Q.^...QDDDQ....Q QHHHHHQQ'Q}.b..Q QHHHTH.D%D..b..Q QHHHHHHQ.Q.bb..Q QHHHHHHQ.Qb..b.Q QHHHHHHQ.Q.bb..Q &HHHHHHQ.Q.bb..Q QHHHHHHQ.Q..b..& QQQQQQQQQQQQQQQQ &.....Q.VVVVVV.Q Q....!Q..@.....Q Q.....}.@.@..**Q Q.....}********Q Q.....}QQQQQQ**Q Q.......T.^.M**& QQQQQQQQQQQQQQQQ [additional] 41 9.1.^.0.0.0 11.8.}.3.0.0.1.0.0 13.8.}.3.0.0.1.0.0 0.11.M.0 9.11.^.0.1.1 15.11.M.2 0.12.M.0 15.12.M.2 0.13.M.0 15.13.M.2 11.14.}.1.0.0.0.0.0 12.14.}.1.0.0.0.0.0 13.14.}.1.0.0.0.0.0 2.15.^.0.1.1 10.16.}.1.0.0.0.0.0 0.21.&.2.0 15.22.&.1.0 0.24.&.2.1 9.25.@.0 6.26.}.2.0.1.0.0.0 8.26.@.2 10.26.@.2 13.26.*.0 14.26.*.0 6.27.}.2.0.1.0.0.0 7.27.*.0 8.27.*.0 9.27.*.0 10.27.*.0 11.27.*.0 12.27.*.0 13.27.*.0 14.27.*.0 6.28.}.2.0.1.0.0.0 13.28.*.0 14.28.*.0 10.29.^.0.0.0 12.29.M.2 13.29.*.0 14.29.*.0 15.29.&.1.1 [end] [offset] 62A3 [level] 10 [colour] a28352 [size] 16.31 [author] J&P Wardzynscy [data] ssssssssssssssss sTTTTTTTTTTTTT!s s..............s M..............M sssssssDssssssss s.......s}.....s s........H.....s sssDsssssH.....s s.....TssH.....s s.....TsM......s s....TTsM......s s......sM......s ssssDssss.s.-.-s s%%..TTss.sT-T%s s....TTss.sT---s s....TTss.sTTTTs s......ss.s---Ts sssDssssssssssss s......s%TTTTTTs s......sHHHHHHHs s......sHHHHHHHs s...ssssHHHbHHHs sss.D.%sbHHHHHHs sTs.sT%sHHHHHHHs s'D.sTTsHHbHHbHs sss.ssssHHHHHHHs s......sHHHHHHHs s......b..}.}..s s..............s s.............Rs ssssssssssssssss [additional] 8 0.3.M.0 15.3.M.2 9.5.}.1.0.1.0.0.0 8.9.M.0 8.10.M.0 8.11.M.0 10.27.}.3.0.0.1.0.0 12.27.}.3.0.0.1.0.0 [end] [offset] 64A3 [level] 11 [colour] 7accb0 [size] 16.31 [author] J&P Wardzynscy [data] qqqqqqqqqqqqqqqq q....^.....^...q qqqqbbqqqqqqDqqq qbbbbbbbbq.'...q qbbbbDbbbq..%.Rq qbbbbbbbbqqqqqqq qqqqqDqqqqTTTTTq q......H#HHHHHH} q......HHHHHbHH} q......HHHbHHH?} qqqqq.qqqqqqqqqq q?............^M q?............^M q&qqq.qqqqqqqqqq q...T.TT.......} q...T.TT.......} q.TTT.TT.......} q...T.TT.......} qqqqq.qqqqqqqqqq q.~........~.HHq q...H.HHHHHH..&q qHHHH.HHHHHHH.Hq qHHH...HHHHHH.Hq qHHH~.........Hq qHH....HHHHHHHHq qqqqq..qqqqqqqqq M.............-M bbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbb bbbbbbbbbbbb!bbb bbbbbbbbbbbbbbbb [additional] 17 5.1.^.0.1.1 11.1.^.0.1.1 15.7.}.2.0.1.0.0.0 15.8.}.2.0.1.0.0.0 15.9.}.2.0.1.0.0.0 14.11.^.0.0.0 15.11.M.2 14.12.^.0.0.0 15.12.M.2 1.13.&.1.0 15.14.}.2.0.1.0.0.0 15.15.}.2.0.1.0.0.0 15.16.}.2.0.1.0.0.0 15.17.}.2.0.1.0.0.0 14.20.&.1.1 0.26.M.0 15.26.M.2 [end] [offset] 66A3 [level] 12 [colour] a5b8a0 [size] 16.31 [author] J&P Wardzynscy [data] OOOOOOOOOOOOOOOO O...#.^^^......O OOODOOOOOO.OOOOO O...RO}^^^^^^^^O O..%.O}^^^^^^^^O OOOOOOOOTT.TTTTO O..............O OT^..........^TO OT^......bbb.^TO OOOOOOOOOObOOOOO OTTTTTTTTObO'TTO ODDOOOOTOObDTTTO OObbbbOOObbO?TTO OOObObbbbbbOODDO OTObOObOOObbbbbO OTObbObbbOOOOOOO O.DbbOOObHHHHH.O OOOOOObObOOOOHOO O...ObbbbO%%OHHO O.O.ObObbO%TOODO O...DbOOOOOTTTTO O.%OObbD.'OOOOOO ODO.OOOOOOOO...O O.....O...O..O.O OOOOO...O...O..O O}.}OOOOOOOOO.OO O}^^^^^^^^^^^^^O O}^^^^^^^^^^^^^O O..............O O..!TTTTTTTTT%.O OOOOOOOOOOOOOOOO [additional] 55 6.1.^.0.1.1 7.1.^.0.1.1 8.1.^.0.1.1 6.3.}.0.0.2.0.0.0 7.3.^.0.1.1 8.3.^.0.1.1 9.3.^.0.1.1 10.3.^.0.1.1 11.3.^.0.1.1 12.3.^.0.1.1 13.3.^.0.1.1 14.3.^.0.1.1 6.4.}.0.0.1.0.0.0 7.4.^.0.1.1 8.4.^.0.1.1 9.4.^.0.1.1 10.4.^.0.1.1 11.4.^.0.1.1 12.4.^.0.1.1 13.4.^.0.1.1 14.4.^.0.1.1 2.7.^.0.0.0 13.7.^.0.0.0 2.8.^.0.0.0 13.8.^.0.0.0 1.25.}.0.0.1.0.0.0 3.25.}.1.0.1.0.0.0 1.26.}.0.0.2.0.0.0 2.26.^.0.0.0 3.26.^.0.0.0 4.26.^.0.0.0 5.26.^.0.0.0 6.26.^.0.0.0 7.26.^.0.0.0 8.26.^.0.0.0 9.26.^.0.0.0 10.26.^.0.0.0 11.26.^.0.0.0 12.26.^.0.0.0 13.26.^.0.0.0 14.26.^.0.0.0 1.27.}.0.0.0.0.0.0 2.27.^.0.0.0 3.27.^.0.0.0 4.27.^.0.0.0 5.27.^.0.0.0 6.27.^.0.0.0 7.27.^.0.0.0 8.27.^.0.0.0 9.27.^.0.0.0 10.27.^.0.0.0 11.27.^.0.0.0 12.27.^.0.0.0 13.27.^.0.0.0 14.27.^.0.0.0 [end] [offset] 68A3 [level] 13 [colour] b3b06d [size] 16.31 [author] J&P Wardzynscy [data] PPPPP#.#.#.#.#.M P.*...#.#.#.#.#H P.P.P..#.#.#.#.! P.P.P.#.#.#.#.#H P...PPPPPPPPPPPP PPPDD....%PP%%%% P.D.PPPPP'PP%%%% P%P..DTTP.PM...M P%P.PP%TP.PM...M PPP.P%%TP.PM...M PTD..PPPP.PPPP.P PTP..DTTP@.TTT.P PTP..PTTP@.@@@.P PPPP.PPPPPPPPPPP }.......T.....^P P......T.T.....P }.....T...T...^P P....T.....T.... }...T.....T...^P PPPPPPPPP.PPPPPP P..............& PPPPPPPPPPPPPPPP P..............P P.PPPPPPDPPPPP.P P.PTTTTDbDTT%P.P P.P&TTTDbDTT.P.P P.PPPPPPDPPPPP.P P.PbbbbbbbbbbP.P P.PPPHPPHPPP.P.P P.......}.}...RP PPPPPPPPPPPPPPPP [additional] 23 15.0.M.2 2.1.*.0 11.7.M.0 15.7.M.2 11.8.M.0 15.8.M.2 11.9.M.0 15.9.M.2 9.11.@.2 9.12.@.2 11.12.@.2 12.12.@.2 13.12.@.2 0.14.}.0.0.1.0.0.0 14.14.^.0.0.0 0.16.}.0.0.1.0.0.0 14.16.^.0.0.0 0.18.}.0.0.1.0.0.0 14.18.^.0.0.0 15.20.&.1.0 3.25.&.1.1 8.29.}.3.0.0.1.0.0 10.29.}.3.0.0.1.0.0 [end] [offset] 6AA3 [level] 14 [colour] a75c6c [size] 16.31 [author] J&P Wardzynscy [data] S&SSSSSSSSSSSSSS SR....TTTT%%'%.& SDSSSSSSSSSSSSSS STTTT%%%SbbbbbbS SSDSSSSSSb&&&&&S S..TTTTTSb&bbbbS SSSSSSSDSb&b&&&S STTTTS..#b&b&..& STTTTS..#b&b&&&S STTTTS..#b&bbbbS STTTTS..#b&&&&&S SSSS.S..SbbbbbbS S.b.....SSSSSSSS Sb.b^.......'''S Sb..b^......''.& S#bb#b^.....'''S S#####bb.......S STTTT#b@@@....&S ---------------- DDDDDDDDD-DT!--- D-------D-D---%- DD-%%%%-DDD-T-%- -D-%--%-----%-%- -D-%--%%%%%%%%%- DD-%--%%%%%%%%.& D--%%%%--------- D--------------- DDDDDDDDDDDDDD.& SSSSSSSSSSSSSSSS STT%TT%TT%TTTT.& SSSSSSSSSSSSSSSS [additional] 36 1.0.&.4.0 15.1.&.6.0 10.4.&.3.0 11.4.&.3.1 12.4.&.3.2 13.4.&.3.3 14.4.&.3.4 10.5.&.3.5 10.6.&.3.6 12.6.&.5.0 13.6.&.5.1 14.6.&.5.2 10.7.&.3.7 12.7.&.5.3 15.7.&.1.0 10.8.&.3.8 12.8.&.5.4 13.8.&.5.5 14.8.&.5.6 10.9.&.3.9 10.10.&.3.10 11.10.&.3.11 12.10.&.3.12 13.10.&.3.13 14.10.&.3.14 4.13.^.1.0.0 5.14.^.1.0.0 15.14.&.4.1 6.15.^.1.0.0 7.17.@.2 8.17.@.2 9.17.@.2 14.17.&.2.0 15.24.&.1.1 15.27.&.6.1 15.29.&.2.1 [end] [offset] 6CA3 [level] 15 [colour] b9944e [size] 16.31 [author] J&P Wardzynscy [data] qqqqqqqqqqqqqqqq q!TTTTTTTTTTTq.q qqqqqqqqqqqTTT.q q........^qqqq.q qHHHHHHHHHqDqq.q qHHHHHHHHH.D...q qHHHHHHHHHqqqq^q qHHHHHHHHHDDDq.q qHHHHHHHHHqqDq.q qTTTTT%qqqqqDq.q qqqqqqqqDDDDDq.q qqqqqDDDDqqqqqqq qHHHHHHbHHHHHHHq qHHbbbHHHHbbHbbq qHHbHHbH^HbHbHbq qHHbHHbHHHbHHHbq qHHbbbHHbHbHHHbq HHHHHHHHHHHHHHHq H.HHHH.HHH.H.HHq qHHHHHHHHHHH.HHq qHHbbHHHHbHHbHHH qHHbHbHHHbHbHbHH qHHbHHbHHbHbHbHq qHHbHHHbHbHbHbHq qHHbHHHHbbHbHbHq qHHHHHHHHHHHbHHq qHbbbHHHHH..bbbq q}}}}......}}}}q qTTTTTTTTTTTTTTq qTTT%%%%%%%%%%Rq qqqqqqqqqqqqqqqq [additional] 11 9.3.^.0.1.1 14.6.^.1.0.0 8.14.^.0.1.1 1.27.}.3.0.0.1.0.0 2.27.}.3.0.0.1.0.0 3.27.}.3.0.0.1.0.0 4.27.}.3.0.0.1.0.0 11.27.}.3.0.0.1.0.0 12.27.}.3.0.0.1.0.0 13.27.}.3.0.0.1.0.0 14.27.}.3.0.0.1.0.0 [end] [offset] 6EA3 [level] 16 [colour] 8faac7 [size] 16.31 [author] J&P Wardzynscy [data] ssssssssssssssss sTTTTTTTTTTT'TR# sTssssssssssssss sT&sTTD''s?####s sTssTTs'''#####s sTTTTTssss####!s sssssssVVV####.s sb..&&ssss#####s sbsss&sVVV#####s sbbbssssssDsDsDs s.sbbbbbs......s s.sssssbs......s ..sbbbbbssss..bs .ssbsssssbbs...s ..sbbbbbbbbs...s s.ssssssssbsb..s &TTTTbbbbbbs...s ssssbbssssss...s s.&ssss........s s..s....ss.ss}ss ss...ssssT.s^^^s ssssss.T..ss???s s....T.sssssssss s.ssssss%}}}}}}s s....'''.......s ssssssssDsssssss s.^...^..^...^.s sssssss'ssssssss }'''''s's''''''} }''''''''''''''} ssssssssssssssss [additional] 24 2.3.&.1.0 4.7.&.1.1 5.7.&.1.2 5.8.&.1.3 0.16.&.2.0 2.18.&.2.1 13.19.}.3.0.1.0.0.0 12.20.^.0.1.1 13.20.^.0.1.1 14.20.^.0.1.1 9.23.}.1.0.0.0.0.0 10.23.}.1.0.0.0.0.0 11.23.}.1.0.0.0.0.0 12.23.}.1.0.0.0.0.0 13.23.}.1.0.0.0.0.0 14.23.}.1.0.0.0.0.0 2.26.^.0.1.1 6.26.^.0.1.1 9.26.^.0.1.1 13.26.^.0.1.1 0.28.}.0.0.1.0.0.0 15.28.}.2.0.1.0.0.0 0.29.}.0.0.1.0.0.0 15.29.}.2.0.1.0.0.0 [end] [offset] 70A3 [level] 17 [colour] 6da77a [size] 16.31 [author] J&P Wardzynscy [data] qqqqqqqqqqqqqqqq q...'.........Rq &.############'M M'######T#####'M M'######H#####'M M'#####HH#####.# &..........HHHH& qqqqqqqqqqqqqqqq qbHHH&q........& qHHHHqqqqq..qqqq qHHbHqM^......^M qHHHHqM^......^M qbHHHqM^......^M qHHbHqq........q qHHHHqqqqq..qqqq &}.}.&}.......TT qqqqqqqqqqqqqqqq q-------qqq----q q------qqqqq---q q-----qqqqqqq--q q----qqq.!.&qq-q q-----qqqqqqq--q q-------qqqq---q q--------qqq---q q-----q--qq----q q----qqqqqq----q q------q-qq----q q-------qqq----q qqqqqqqqqqqqqqqq &.............Tq qqqqqqqqqqqqqqqq [additional] 30 0.2.&.4.0 15.2.M.2 0.3.M.0 15.3.M.2 0.4.M.0 15.4.M.2 0.5.M.0 0.6.&.4.1 15.6.&.3.0 5.8.&.1.0 15.8.&.1.1 6.10.M.0 7.10.^.2.0.0 14.10.^.0.0.0 15.10.M.2 6.11.M.0 7.11.^.2.0.0 14.11.^.0.0.0 15.11.M.2 6.12.M.0 7.12.^.2.0.0 14.12.^.0.0.0 15.12.M.2 0.15.&.2.0 1.15.}.3.0.0.1.0.0 3.15.}.3.0.0.1.0.0 5.15.&.3.1 6.15.}.0.0.0.0.0.0 11.20.&.2.1 0.29.&.2.2 [end] [offset] 72A3 [level] 18 [colour] a08750 [size] 16.31 [author] J&P Wardzynscy [data] s}ssss}s}s}s}s}s s..............& s..............s M..............s M...s..........s s.T.s..........} s.s.s..........} s.s.s^%^T^T^T^Ts s.s.ssssssssssss s.s............s s.sss..........s s.'Ts.''......Rs ---------------- -....^.D.&--b--- -.--.--.---b-b-- !...^...--b---b- ---------b------ --------b------- ------bbbbb----- -----bbbbbbb---- ----bbbbbbbbb--- ---bbbbbbbbbbb-- ---bbbbbbbbbbb.& ---bbbbbbbbbbb-- ----bbbbbbbbb--- -----bbbbbbb---- ------bbbbb.D%.& ---------------H -sssssssssssssss sT............&s ssssssssssssssss [additional] 22 1.0.}.1.0.1.0.0.0 6.0.}.1.0.1.0.0.0 8.0.}.1.0.1.0.0.0 10.0.}.1.0.1.0.0.0 12.0.}.1.0.1.0.0.0 14.0.}.1.0.1.0.0.0 15.1.&.2.0 0.3.M.0 0.4.M.0 15.5.}.2.0.2.0.0.0 15.6.}.2.0.2.0.0.0 5.7.^.0.1.1 7.7.^.0.1.1 9.7.^.0.1.1 11.7.^.0.1.1 13.7.^.0.1.1 5.13.^.0.0.0 9.13.&.1.0 4.15.^.0.1.1 15.22.&.1.1 15.26.&.2.1 14.29.&.1.2 [end] [offset] 74A3 [level] 19 [colour] 75ae7f [size] 16.31 [author] J&P Wardzynscy [data] qqqqqqqqqqq&&&&q qR'''%%........& qqqqqqqqqqqq&qqq &.TTq........qTq qqqqqqDqDqDqDqTq qqqVVq.q.q.q.qTq &.qVVq.q.q.q.q.& q^qVVq.q.q.q.qqq qqqVVD.q.q.q.q^q qqqqqq.q.q.q.q.& qT%%%q.q.q.q.q^q qTTTTq.q.q.qDqqq qTTTTq.q.q.q.TTq qTTTTD.qbq.q...q qqqqqqqqbq.qTT.q qbbbbbbbbq.q}T.q qbbbbbqqqqDqqqDq qbbbbbq...%%TT.} qbbbbbqDqqqqqqqq qbbbbbq..TTTTTTq qbbbbbq.......&q qbbbbbqqqqqqqqqq q@@@^@^@@@*@@@@q q**@^@^@@**@@@@q q*@^**^@*@*@@**q q*@^**^@*@@****q q*@^*********^*q q@@^^^^^^^^^.^*q qqqqqqqqqqqqqqqq q!HHHHTTHHHHHH.& qqqqqqqqqqqqqqqq [additional] 100 11.0.&.4.0 12.0.&.6.0 13.0.&.3.0 14.0.&.2.0 15.1.&.1.0 12.2.&.6.1 0.3.&.2.1 0.6.&.3.1 15.6.&.4.1 1.7.^.0.1.1 14.8.^.0.1.1 15.9.&.1.1 14.10.^.0.1.1 12.15.}.3.0.1.0.0.0 15.17.}.2.0.1.0.0.0 14.20.&.5.0 1.22.@.2 2.22.@.2 3.22.@.2 4.22.^.0.0.0 5.22.@.2 6.22.^.0.0.0 7.22.@.2 8.22.@.2 9.22.@.2 10.22.*.0 11.22.@.2 12.22.@.2 13.22.@.2 14.22.@.2 1.23.*.0 2.23.*.0 3.23.@.2 4.23.^.0.0.0 5.23.@.2 6.23.^.0.0.0 7.23.@.2 8.23.@.2 9.23.*.0 10.23.*.0 11.23.@.2 12.23.@.2 13.23.@.2 14.23.@.2 1.24.*.0 2.24.@.2 3.24.^.1.0.0 4.24.*.0 5.24.*.0 6.24.^.0.0.0 7.24.@.2 8.24.*.0 9.24.@.2 10.24.*.0 11.24.@.2 12.24.@.2 13.24.*.0 14.24.*.0 1.25.*.0 2.25.@.2 3.25.^.1.0.0 4.25.*.0 5.25.*.0 6.25.^.0.0.0 7.25.@.2 8.25.*.0 9.25.@.2 10.25.@.2 11.25.*.0 12.25.*.0 13.25.*.0 14.25.*.0 1.26.*.0 2.26.@.2 3.26.^.1.0.0 4.26.*.0 5.26.*.0 6.26.*.0 7.26.*.0 8.26.*.0 9.26.*.0 10.26.*.0 11.26.*.0 12.26.*.2 13.26.^.1.0.0 14.26.*.0 1.27.@.2 2.27.@.2 3.27.^.1.0.0 4.27.^.1.0.0 5.27.^.1.0.0 6.27.^.1.0.0 7.27.^.1.0.0 8.27.^.1.0.0 9.27.^.1.0.0 10.27.^.1.0.0 11.27.^.1.0.0 13.27.^.1.0.0 14.27.*.0 15.29.&.5.1 [end] [offset] 76A3 [level] 20 [colour] 8a8d56 [size] 16.31 [author] J&P Wardzynscy [data] QQQQQQQQQQQQQQQR Q..^^^^.....TT'' QQQ.QQQQQQQQQQQQ Q.Db}........HTQ Q%Q.Q........Q.Q Q.Q.D....^.^.^.M QQQ.QQQQ.......M Q'''QTQ}.....^^M Q'QQQ.Q}.....^^M Q'''''Q}.....^.M QQQQQ'QQQQTTTQ^Q QTTTQ'QVVQTTTQ}Q QTTTQ'QVVQQQQQQQ QTTTQ'QbbbbbbbbQ QTTTQ'Qbbbb!bbbQ QQDQQ'QbbVbVbbbQ Q.....QbbbbbbbbQ Q....^QbbVbbbVbQ Q.^^^^QbbbbbbbbQ Q....^QQQbbbbbbQ Q.....^^QbbVbbbQ Q.....^^QbbbbbbQ Q.....^^QbbbbbbQ Q.....^^QbbbbbbQ Q.....^^QQQQQQDQ &.....^^^^^^^^bQ QQQQQQQQQQQQQQQQ &.?^^^^^^^^^^^^Q Q^^^^^^^^^^^^^^Q Q^^^^^^^^^^^^^^Q QQQQQQQQQQQQQQQQ [additional] 89 3.1.^.0.0.0 4.1.^.0.0.0 5.1.^.0.0.0 6.1.^.0.0.0 4.3.}.0.0.1.0.0.0 9.5.^.0.1.1 11.5.^.0.1.1 13.5.^.0.1.1 15.5.M.2 15.6.M.2 7.7.}.0.0.0.0.0.0 13.7.^.0.1.1 14.7.^.1.0.0 15.7.M.2 7.8.}.0.0.0.0.0.0 13.8.^.0.1.1 14.8.^.1.0.0 15.8.M.2 7.9.}.0.0.0.0.0.0 13.9.^.0.1.1 15.9.M.2 14.10.^.1.0.0 14.11.}.3.0.1.0.0.0 5.17.^.0.0.0 2.18.^.0.0.0 3.18.^.0.0.0 4.18.^.0.0.0 5.18.^.0.0.0 5.19.^.0.0.0 6.20.^.0.0.0 7.20.^.0.0.0 6.21.^.0.0.0 7.21.^.0.0.0 6.22.^.0.0.0 7.22.^.0.0.0 6.23.^.0.0.0 7.23.^.0.0.0 6.24.^.0.0.0 7.24.^.0.0.0 0.25.&.1.0 6.25.^.0.0.0 7.25.^.0.0.0 8.25.^.0.0.0 9.25.^.0.0.0 10.25.^.0.0.0 11.25.^.0.0.0 12.25.^.0.0.0 13.25.^.0.0.0 0.27.&.1.1 3.27.^.0.0.0 4.27.^.0.0.0 5.27.^.0.0.0 6.27.^.0.0.0 7.27.^.0.0.0 8.27.^.0.0.0 9.27.^.0.0.0 10.27.^.0.0.0 11.27.^.0.0.0 12.27.^.0.0.0 13.27.^.0.0.0 14.27.^.0.0.0 1.28.^.0.0.0 2.28.^.0.0.0 3.28.^.0.0.0 4.28.^.0.0.0 5.28.^.0.0.0 6.28.^.0.0.0 7.28.^.0.0.0 8.28.^.0.0.0 9.28.^.0.0.0 10.28.^.0.0.0 11.28.^.0.0.0 12.28.^.0.0.0 13.28.^.0.0.0 14.28.^.0.0.0 1.29.^.0.0.0 2.29.^.0.0.0 3.29.^.0.0.0 4.29.^.0.0.0 5.29.^.0.0.0 6.29.^.0.0.0 7.29.^.0.0.0 8.29.^.0.0.0 9.29.^.0.0.0 10.29.^.0.0.0 11.29.^.0.0.0 12.29.^.0.0.0 13.29.^.0.0.0 14.29.^.0.0.0 [end] [offset] 78A3 [level] 21 [colour] 6b7566 [size] 16.31 [author] J&P Wardzynscy [data] OOOOOOOOOOOOOOOO O&..TTTTTTTTTT!O OOOOOOOOOOOOOOOO VVVVVVVVVVVVVVVV VVVVVVVVVVVVVVVV VVVVVVVVVVVVVVVV VVVVVVVVVVVVVVVV VVVVVVVVVVVVVVVV VVVVVVVVVVVVVVVV VVVVVVVVVVVVVVVV ......OOOOO..... ......O...O..... ......O...O..... ......OOOOO..... ......OO........ ......O.O....... ......O..O...... ......O...O..... ................ ................ ................ OOOOOOOOOOOOOOOO O#.TTTTOTTTOTTTO O^.....^.^..~.RO O#.TT..O.TTO..%O OODOOOOOOOOOOOOO O@@@@@@~....bb&O }@@@@@@O.......O }.*****O...b...O O******~...b&..O OOOOOOOOOOOOOOOO [additional] 31 1.1.&.2.0 1.23.^.1.0.0 7.23.^.0.0.0 9.23.^.0.0.0 1.26.@.2 2.26.@.2 3.26.@.2 4.26.@.2 5.26.@.2 6.26.@.2 14.26.&.2.1 0.27.}.0.0.0.0.0.0 1.27.@.0 2.27.@.2 3.27.@.2 4.27.@.2 5.27.@.2 6.27.@.2 0.28.}.0.0.0.0.0.0 2.28.*.0 3.28.*.0 4.28.*.0 5.28.*.0 6.28.*.0 1.29.*.0 2.29.*.0 3.29.*.0 4.29.*.0 5.29.*.0 6.29.*.0 12.29.&.1.0 [end] [offset] 7AA3 [level] 22 [colour] 8698ab [size] 16.31 [author] J&P Wardzynscy [data] PPPPPPPPPPPPPPPP P##....P#.#P...P P^...^.^.^.~..RP P#...#.P.#.P..#P PPP.PPPPPPPP.PPP }......P%...&..P PPPP.PPP.#.P.P.P PT.....P...P.P.P PPP.PP.P#T..&..P }....P.PPPPPPPPP PPPP.PTPT.TPT..P PT...P...P...P.P PPPPPPPPPPPPPP.P PTTTTTTTTTT.&P.P PTTTTTTTTTTTTP.P PTTTTTTTTTTT.PDP PPPPPPPPPPPPPP.P P...bbbbbbbbbb.P P.T.bbbb.....~.P P.T.bbbbTTT..#.P P&..bbbbbbbbbb.P PPPPPPPPPPPPPPPP &....TTTTTTTTPPP P............P.P P....T........&P P....TTTT.*..P.P PPPPPPPPPPPPPPTP PTTTTTTTTTTTTTTP PT!TTTTTTTTTTTTP PTTTTTTTTTT&TTTP PPPPPPPPPPPPPPPP [additional] 14 1.2.^.1.0.0 5.2.^.1.0.0 7.2.^.0.0.0 9.2.^.0.0.0 0.5.}.0.0.1.0.0.0 12.5.&.1.0 12.8.&.2.0 0.9.}.0.0.1.0.0.0 12.13.&.5.0 1.20.&.4.0 0.22.&.4.1 14.24.&.6.0 10.25.*.0 11.29.&.5.1 [end] [offset] 7CA3 [level] 23 [colour] 9f826a [size] 16.31 [author] J&P Wardzynscy [data] qqqqqqqqqqqqq!qq qDDDDDDDDDDDD.&q q.qqqqqqqqqqqqqq q.TTTTTTTTTTTTTq qqqqqqqqqqqqqq.q q&TTTTTTTT.....q qqqqqq}qq}qq}qqq q.............&q q.qqqqqqqqqqqqqq }..............q qHqHqqqqqqqqqq.q q&bT...........} qqqqqqq}qq}qqqqq q&.TTTTTTTTTTTTq qTTTTTTTTTTTTTTq qqqqqqqqqqqqqqqq q............@@& q...-.....^....q q.......TT.....q q'''...........q q&.'....T******q qqqqqqqqqqqqqqqq qHHHHHHHHHHHHH&q qHHHHHHHHHHHHHHq qHHHHHHHHHHHHHHq qHHHHHHHHHHHHHHH qHHHHHHHHHHHHHHq qHHHHHHHHHHHHHHq q?}TT}TT}TT}TT}q q'%%%%%%%%%%%%Rq qqqqqqqqqqqqqqqq [additional] 29 14.1.&.3.0 1.5.&.2.0 6.6.}.0.0.0.0.1.1 9.6.}.0.0.0.0.1.1 12.6.}.0.0.0.0.1.1 14.7.&.4.0 0.9.}.0.0.1.0.0.0 1.11.&.5.0 15.11.}.2.0.1.0.0.0 7.12.}.3.0.0.1.0.0 10.12.}.0.0.0.0.1.1 1.13.&.5.1 13.16.@.0 14.16.@.0 15.16.&.4.1 10.17.^.0.1.1 1.20.&.2.1 9.20.*.0 10.20.*.0 11.20.*.0 12.20.*.0 13.20.*.0 14.20.*.0 14.22.&.3.1 2.28.}.3.0.0.1.0.0 5.28.}.3.0.0.1.0.0 8.28.}.3.0.0.1.0.0 11.28.}.3.0.0.1.0.0 14.28.}.3.0.0.1.0.0 [end] [offset] 7EA3 [level] 24 [colour] 7cd092 [size] 16.31 [author] J&P Wardzynscy [data] qqqqqqqqqqqqqqqq qRDD'@@@@.@@@..q q%q.'..TTTT.'..q q'q.'..T......*q &.q.'*.T...^...q qqq''..T.......q q....T.T...T...q q..'...'.......q q*..@@@@.*.@@@@} qqqqqqqqqqqqqqqq q....^.........q q!..q.^........q q......^.....q'q qqqqq...^....q.q q...q....^...q.q q...q.....^..q.q q...q......^.q.q q.T.........^q&q qqqqqqqqqqqqqqqq qTTTTTTTTT..q..& qqqqqqqqqqq.q.qq M.......^......q M.......^......q M.......^......q M.......^......q qqqqqqqqq.qqqqqq qTTTTTTT...TTTTq qqqqqqqqqqqqqqqq q..^.^......^H.q %..^.^......^q.& qqqqqqqqqqqqqqqq [additional] 47 5.1.@.0 6.1.@.0 7.1.@.2 8.1.@.2 10.1.@.2 11.1.@.0 12.1.@.2 14.3.*.3 0.4.&.1.0 5.4.*.1 11.4.^.0.1.1 1.8.*.0 4.8.@.2 5.8.@.2 6.8.@.2 7.8.@.2 9.8.*.0 11.8.@.2 12.8.@.2 13.8.@.2 14.8.@.2 15.8.}.0.0.0.0.1.1 5.10.^.1.0.0 6.11.^.1.0.0 7.12.^.1.0.0 8.13.^.1.0.0 9.14.^.1.0.0 10.15.^.1.0.0 11.16.^.1.0.0 12.17.^.1.0.0 14.17.&.1.1 15.19.&.1.2 0.21.M.0 8.21.^.0.0.0 0.22.M.0 8.22.^.0.0.0 0.23.M.0 8.23.^.0.0.0 0.24.M.0 8.24.^.0.0.0 3.28.^.0.0.0 5.28.^.0.0.0 12.28.^.0.0.0 3.29.^.0.0.0 5.29.^.0.0.0 12.29.^.0.0.0 15.29.&.1.3 [end] [offset] 80A3 [level] 25 [colour] 6cd99b #2581DD [size] 16.31 [author] J&P Wardzynscy [data] --------------&- -..D.D.D.D.D.DR& -.D.D.D.D.D.D.D- -..D.D.D.D.D.D.- -.-------------- -..~.........bb- -.-..........b&- -..~.....bb....- -.-------b&.---- ---------------- ---------------- ---------------- ---------------- ---------------- ---------------- ---------------- --------%%%%%%.& ---------------- ---------------- ---------------- --------------^^ --------------.& ---------------- ---------------- ---------------- ---------------- ---------------- ---------------- ---------------- -!..TTTTTTTTTT.& ---------------- [additional] 9 14.0.&.6.0 15.1.&.4.0 14.6.&.2.0 10.8.&.1.0 15.16.&.6.1 14.20.^.2.1.1 15.20.^.2.1.1 15.21.&.4.1 15.29.&.1.1 [end] [offset] 82A3 [level] 26 [colour] ad414f [size] 16.31 [author] J&P Wardzynscy [data] ---------------- -.R..D.-''''''.& -..---.--------- -%%---.--------' ------.-------.! ------.-------.. ------.-------.. -----&....@.---& -----------D---- -----------.---- -----------.---- @@@**-----}^}--- @---V-----}^}--- @---V-----}^}--- b---&------.-&-- b----------.-.-- bbb----?---...-- b-bb--???------- b--b---?-------- bb-b-------'---- -bbbbbbbbb..&--- ---------------- -----T.&-------- ---------------- ---------&-&---- ------&.-.-.---- -T-----.-.-.---- -.--}.........-- -&-----------.&- ----T.&--------- ---------------- [additional] 31 15.1.&.1.0 5.7.&.1.1 10.7.@.2 15.7.&.4.0 0.11.@.2 1.11.@.2 2.11.@.2 3.11.*.0 4.11.*.0 10.11.}.0.0.1.0.1.0 11.11.^.2.0.0 12.11.}.1.0.0.0.1.0 0.12.@.2 10.12.}.1.0.1.0.1.0 11.12.^.2.0.0 12.12.}.2.0.0.0.1.0 0.13.@.2 10.13.}.2.0.1.0.1.0 11.13.^.2.0.0 12.13.}.3.0.0.0.1.0 4.14.&.3.0 13.14.&.2.0 12.20.&.2.1 7.22.&.6.0 9.24.&.6.1 11.24.&.5.0 6.25.&.4.1 4.27.}.0.0.2.0.0.0 1.28.&.5.1 14.28.&.3.1 6.29.&.6.2 [end] [offset] 84A3 [level] 27 [colour] 7892c9 [size] 16.31 [author] J&P Wardzynscy [data] PP}PPPPPPPPPPP}P P..TTTTTPTTT!T.P M.......P......M M.......P......M M.......P......M M.......P......M M.......P......M P.......P......P P.......&......P P.PPPPPPPPPPPPPP ?...........^..M ?..............? ^..............} ^..............} ??????????????D? ??????????????D? ?TTTTTTTTTTTTTT? ?T............T? ?T....?????...T? ?T...???????..T? ?T..???...??..T? ?T.???..%..?..T? ?T.??...%.?...T? ?T.???@@@??...T? ?T..???????....& ?TTTTTTTTTTTTTT? ???&???????????? ?.........^^^^^M ?............??? ?..............R ???????????????? [additional] 30 2.0.}.1.0.1.0.0.0 14.0.}.1.0.1.0.0.0 0.2.M.0 15.2.M.2 0.3.M.0 15.3.M.2 0.4.M.0 15.4.M.2 0.5.M.0 15.5.M.2 0.6.M.0 15.6.M.2 8.8.&.2.0 12.10.^.2.0.0 15.10.M.2 0.12.^.1.0.0 15.12.}.2.0.1.0.0.0 0.13.^.1.0.0 15.13.}.2.0.1.0.0.0 6.23.@.2 7.23.@.2 8.23.@.2 15.24.&.1.0 3.26.&.1.1 10.27.^.0.0.0 11.27.^.0.0.0 12.27.^.0.0.0 13.27.^.0.0.0 14.27.^.0.0.0 15.27.M.2 [end] [offset] 86A3 [level] 28 [colour] a674b3 #004444 [size] 16.31 [author] J&P Wardzynscy [data] pppppppppppppppp &TTTTTTTTTTTTTTR pppppppppppppppp &.%D.......%...p ppppDppppppppDpp p....@.p....@..p p.pTpp.p.pp%pp.p p.pppp.p.TpppT.p p.Tp...p.p.ppp.p p.pTpp.p.p.pTp.p p......p.......p ppppDppppppDpppp p........*.....p p.ppTppDpppp%p.p p.ppppp.pp%TTp.p p.TTpTp.pppppp.p p.pppTpTTTppTT.p p.pppTpppppppp.p p..............& pppppppppppppppp p...........D%.& p.ppTpTpTpp.pppp p.ppppppppp....p p.ppT@@@@ppp%p.p p.pppppp.ppp'p@p p.pTTTTp.pTppp.p p.ppppTpDpTppp@p p..............& pppppppppppppppp !........^.....& pppppppppppppppp [additional] 16 0.1.&.1.0 0.3.&.1.1 5.5.@.2 12.5.@.2 9.12.*.0 15.18.&.3.0 15.20.&.1.2 5.23.@.2 6.23.@.2 7.23.@.2 8.23.@.2 14.24.@.1 14.26.@.1 15.27.&.2.0 9.29.^.2.0.0 15.29.&.2.1 [end] [offset] 88A3 [level] 29 [colour] b5a7a2 [size] 16.31 [author] J&P Wardzynscy [data] PPPPPP}PPPPPPP}P P............R.P P.P.PP.PPPPPP..P P.P.PP.MT......M P.P.PP.MT......M P.P.P&.MT......M P.P.PP.MT......M P.P.PP.MT......M P.P.PP.MT......M P.P.PP.MT.....^M P.P....MT......M P.PPPP.MT......M P......MT......M P......MT......M PPDPPP.PT......M P....P.PPTPTP..M P.@@.P.PPTPTP..P PPPPDP.PPTPTPP.P PTTT^P.PPTPTTP.P PPDPPP.PPTPPTP.P P..TTP.PPTPPTP.P P.TTTP.PPTPPTP.P P.TT.P.PPTPPTP.P PPPPDP.PPTPPTP^P P.TT.P.PTTPTTP.P P..TTP.PTTPT'P.P PDPPPP.PTTPT%P.P P.D^.P.PTTPT%P.P PTPTTP.PTPPT%P.P PTPT!P.PTP%%%PTP P&P&PPPPPPPPPP&P [additional] 36 6.0.}.1.0.1.0.0.0 14.0.}.1.0.1.0.0.0 7.3.M.2 15.3.M.2 7.4.M.2 15.4.M.2 5.5.&.4.0 7.5.M.2 15.5.M.2 7.6.M.2 15.6.M.2 7.7.M.2 15.7.M.2 7.8.M.2 15.8.M.2 7.9.M.2 14.9.^.1.0.0 15.9.M.2 7.10.M.2 15.10.M.2 7.11.M.2 15.11.M.2 7.12.M.2 15.12.M.2 7.13.M.2 15.13.M.2 15.14.M.2 15.15.M.2 2.16.@.2 3.16.@.2 4.18.^.2.0.0 14.23.^.1.0.0 3.27.^.2.1.1 1.30.&.4.1 3.30.&.6.0 14.30.&.6.1 [end] [offset] 8AA3 [level] 30 [colour] b58887 [size] 16.31 [author] J&P Wardzynscy [data] ################ #.............R# #############.## ####.########.## #....#......#### #...####.####.## ###...#.#####.## #######.#..#..## #############.## ########.##.#### ##.#####.##.##b# ##.#####.##.##.# #T.TTTT#.##.##.# ##.#TTT#.##....# ###########....# #........#..#..# ############.### #####.##.##.#### #TTT#.T#.##.#### ....#.T#.##.#### #TTT#.T#.##.#### #####.##.##.#### ########.##.#### ########.##.#..# #......#.##.#..# ########.##.#..# ##.########.#.^# #T.########.#.^# #T.#..TT!##.^.^# ##.#......#.#^^# ################ [additional] 6 14.26.^.2.0.0 14.27.^.2.0.0 12.28.^.1.0.0 14.28.^.2.0.0 13.29.^.1.0.0 14.29.^.1.0.0 [end] [offset] 8CA3 [level] 31 [colour] 7fca8c [size] 16.31 [author] J&P Wardzynscy [data] PPPPPPPPPPPPP&PP P%%%%%%%%%%R%%%P P%PDPPPDPP%PDP%P P%PDPPPDP%%PDP%P P%PDDPPDPP%PDP%P %%PPDPPDPP%PDP%P PPPPDPPDP%%PDP%P PDDDDPPDP#PPDPPP P.PPPPPDPPPPDPPP PDPPPPPDPPPPDPPP PDPPPPPDPPPPDPPP PDP....#....#..P PDPPPPP.PPPP.PPP PDDDDDPPPPPP.PPP PPPPPDDDDDDP.PPP PPPPPPPPPPDP.PPP P........#.P...P PP#PPPPPPPPPPP.P PT.TPPPPP....#.P PT.TTP...#.PPP&P PP.PDPP#PP#PPPPP PPPPDPP.PPPPPPPP TTTPDDP.PPPPPPPP TT%.P.P.P%%%%PPP PHH.~.P.P%%%%%%P PPD.P.P.^%%%%%%P P!b.~.P.P%%%%%%& PPDPPPPPPPPPPPPP PPbPPPPPPPPPPTPP PPDDDTTTTTTTTTTP PPPPPPPPPPPPPPTP [additional] 4 13.0.&.4.0 14.19.&.5.0 8.25.^.1.0.0 15.26.&.5.1 [end] [offset] 8EA3 [level] 32 [colour] 72bbc8 [size] 16.31 [author] J&P Wardzynscy [data] QQQQQQQQQQQQQQ&Q &'''......*.*..Q QR''*.........*Q Q'''..........*Q Q'''*..........Q Q!''...........Q Q..............Q Q*.............& &....*......*.*Q QQQQQQQQQQQQQQQQ QTTTTTTTTTTTTT&Q QTTTTTTTTTTTTT.Q QQQQQQQQQQQQQQQQ QQQQQQQQQQQQQQ}Q Q......^.TT.TT.Q QQ^Q^Q^Q.TQTQT.Q QQTQTQTQ.TQQQT.Q QTTQTQTQ.TQQQT.Q QQQQQQQQDQQQQQ.Q Q.........&....M Q..............M Q..............M Mb.............& Mb.TTTTTTTT%...Q QQQQQQQQQQQQQQQQ QT.....^^^...'.& QQQQQQQQQQQQQQQQ Q^^^^^^^^^^^^^.& QQQQQQQQQQQQQQQQ QTTTTTTTTTTTTT.& QQQQQQQQQQQQQQQQ [additional] 46 14.0.&.3.0 0.1.&.5.0 10.1.*.2 12.1.*.2 4.2.*.0 14.2.*.0 14.3.*.2 4.4.*.2 1.7.*.2 15.7.&.2.0 0.8.&.4.0 5.8.*.0 12.8.*.0 14.8.*.0 14.10.&.5.1 14.13.}.1.0.1.0.0.0 7.14.^.2.0.0 2.15.^.1.0.0 4.15.^.1.0.0 6.15.^.1.0.0 10.19.&.6.0 15.19.M.2 15.20.M.2 15.21.M.2 0.22.M.0 15.22.&.5.2 0.23.M.0 7.25.^.2.0.0 8.25.^.2.0.0 9.25.^.2.0.0 15.25.&.4.1 1.27.^.1.0.0 2.27.^.1.0.0 3.27.^.1.0.0 4.27.^.1.0.0 5.27.^.1.0.0 6.27.^.1.0.0 7.27.^.1.0.0 8.27.^.1.0.0 9.27.^.1.0.0 10.27.^.1.0.0 11.27.^.1.0.0 12.27.^.1.0.0 13.27.^.1.0.0 15.27.&.3.1 15.29.&.2.1 [end] [level] 33 [colour] 8e5f6a [size] 16.12 [author] Thunor [level_notes] Created by Thunor: not converted from Robbo [data] .......R........ #bbbbb###bbbbbb# HHHHHbbbbbHHHHbb !HHHbbHHHHHHHHHb }HH-HpbHHT#HH}Hb HHHTTpbHHTHHHHHb }HH-HpHHHH-HH}Hb HHHHbHHHHHb-HHb^ HHHHbHHH}HbHHHb. bHbbHHHHHHbbbbb. HbHHHHHHHbbbbbb. HHbbbbbbb*.....# [additional] 7 0.4.}.0.0.0.0.0.0 0.6.}.0.0.0.0.0.0 13.4.}.2.0.0.0.0.0 13.6.}.2.0.0.0.0.0 8.8.}.2.0.0.0.0.0 15.7.^.1.0.0 9.11.*.0 [end] [offset] 508C [level] 34 [colour] 688c99 [size] 16.31 [author] Bartek Walos [data] ---PPPPPPPPP-PPP ---P^..T..^P-P'P ---P.......P-P.P ---P}.%.T.}P-P&P ---P...b...P-PPP ---PR.PPDDDP---- ---P..P-P.V.P--- ---P..P--P..&P-- ---P.&P---PTTP-- ---PPPP----PPP-- ---------------- ---------------- ---------------- ---PPPPPPPPPPP-- ---P}......T.P-- ---P.....%...P-- ---PDD~...~..P-- ---P&DPPPPP..P-- ---PDDP&..D.#P-- ---P..PPPPP..P-- ---P}@P---P@.P-- ---PPPP---PPPP-- ---------------- ---PPPPPPPPPPP-- ---P..!.T..T.P-- ---P........}P-- ---P....^...MP-- ---P.bPPPPPPPP-- ---P..P--------- ---P&.P--------- ---PPPP--------- [additional] 17 4.1.^.0.1.1 10.1.^.2.1.1 4.3.}.0.0.2.0.0.0 10.3.}.0.0.2.0.0.0 14.3.&.1.0 12.7.&.2.0 5.8.&.1.1 4.14.}.0.0.0.0.0.0 4.17.&.3.0 7.18.&.2.1 4.20.}.0.0.0.0.1.1 5.20.@.2 11.20.@.2 12.25.}.0.0.0.0.1.1 8.26.^.0.0.0 12.26.M.2 4.29.&.3.1 [end] [offset] 528C [level] 35 [colour] 6daf97 [size] 16.31 [author] Bartek Walos [data] &&&&&&&--------- &VVVVV&-----HH'R &&&&&&&&&&&&&&&& &}H.}&....&....& &}T.}&.D}.&H%H.& &}.H}&T...&.H.H& &&&&&&&&&&&&&&&& &....&.}..&...}& &.b..&..#.D..'.& &..T.&....&.}..& &&&&&&&&&&&&&&&& &}..}&....&Mb..& &..T.&..T.&...?& &....&..H.&....& &&&&&&&&&&&&&&D& &....&....&....& &H.T.&.b.H&b.~.& &....&....&....& &&&&&&&&&&&&&&&& &....&.b..&....& &..T.&..~.&.~'.& &....&....&....& &&&&&&&&&&&&&&&& &....&....&.%..& &.bT.&.}..&..}.& &....&..%.&.?..& &&&&&&&&&&&&&&&& &.VH.&TTTT&?..?& &---.&TTT.&..}M& &!.D.&T...&.?..& &&&&&&&&&&&&&&&& [additional] 236 0.0.&.5.0 1.0.&.5.1 2.0.&.5.2 3.0.&.5.3 4.0.&.5.4 5.0.&.5.5 6.0.&.5.6 0.1.&.5.7 6.1.&.5.8 0.2.&.3.0 1.2.&.3.1 2.2.&.3.2 3.2.&.3.3 4.2.&.2.0 5.2.&.2.1 6.2.&.2.2 7.2.&.2.3 8.2.&.2.4 9.2.&.2.5 10.2.&.2.6 11.2.&.2.7 12.2.&.1.0 13.2.&.1.1 14.2.&.2.8 15.2.&.2.9 0.3.&.5.9 1.3.}.0.0.0.0.1.1 4.3.}.0.0.0.0.1.1 5.3.&.2.10 10.3.&.2.11 15.3.&.1.2 0.4.&.5.10 1.4.}.0.0.0.0.1.1 4.4.}.0.0.0.0.1.1 5.4.&.2.12 8.4.}.0.0.0.0.1.1 10.4.&.2.13 15.4.&.1.3 0.5.&.5.11 1.5.}.0.0.0.0.1.1 4.5.}.0.0.0.0.1.1 5.5.&.3.4 10.5.&.2.14 15.5.&.1.4 0.6.&.5.12 1.6.&.3.5 2.6.&.3.6 3.6.&.3.7 4.6.&.3.8 5.6.&.4.0 6.6.&.3.9 7.6.&.2.15 8.6.&.2.16 9.6.&.2.17 10.6.&.2.18 11.6.&.2.19 12.6.&.2.20 13.6.&.2.21 14.6.&.2.22 15.6.&.1.5 0.7.&.5.13 5.7.&.3.10 7.7.}.0.0.0.0.1.1 10.7.&.1.6 14.7.}.0.0.0.0.1.1 15.7.&.1.7 0.8.&.5.14 5.8.&.3.11 15.8.&.1.8 0.9.&.5.15 5.9.&.3.12 10.9.&.1.9 12.9.}.0.0.0.0.1.1 15.9.&.1.10 0.10.&.4.1 1.10.&.6.0 2.10.&.6.1 3.10.&.6.2 4.10.&.6.3 5.10.&.6.4 6.10.&.6.5 7.10.&.6.6 8.10.&.6.7 9.10.&.6.8 10.10.&.6.9 11.10.&.6.10 12.10.&.2.23 13.10.&.6.11 14.10.&.6.12 15.10.&.1.11 0.11.&.4.2 1.11.}.1.0.1.0.0.0 4.11.}.1.0.1.0.0.0 5.11.&.2.24 10.11.&.3.13 11.11.M.0 15.11.&.1.12 0.12.&.4.3 5.12.&.2.25 10.12.&.3.14 15.12.&.1.13 0.13.&.4.4 5.13.&.2.26 10.13.&.3.15 15.13.&.1.14 0.14.&.4.5 1.14.&.5.16 2.14.&.5.17 3.14.&.5.18 4.14.&.5.19 5.14.&.5.20 6.14.&.5.21 7.14.&.5.22 8.14.&.5.23 9.14.&.5.24 10.14.&.5.25 11.14.&.5.26 12.14.&.5.27 13.14.&.5.28 15.14.&.5.29 0.15.&.4.6 5.15.&.1.15 10.15.&.4.7 15.15.&.2.27 0.16.&.4.8 5.16.&.1.16 10.16.&.4.9 15.16.&.2.28 0.17.&.4.10 5.17.&.1.17 10.17.&.4.11 15.17.&.2.29 0.18.&.4.12 1.18.&.4.13 2.18.&.4.14 3.18.&.4.15 4.18.&.4.16 5.18.&.4.17 6.18.&.4.18 7.18.&.4.19 8.18.&.4.20 9.18.&.4.21 10.18.&.4.22 11.18.&.4.23 12.18.&.4.24 13.18.&.4.25 14.18.&.4.26 15.18.&.2.30 0.19.&.4.27 5.19.&.6.13 10.19.&.5.30 15.19.&.2.31 0.20.&.6.14 5.20.&.6.15 10.20.&.5.31 15.20.&.2.32 0.21.&.6.16 5.21.&.6.17 10.21.&.5.32 15.21.&.2.33 0.22.&.6.18 1.22.&.3.16 2.22.&.3.17 3.22.&.3.18 4.22.&.3.19 5.22.&.3.20 6.22.&.3.21 7.22.&.3.22 8.22.&.3.23 9.22.&.3.24 10.22.&.3.25 11.22.&.3.26 12.22.&.3.27 13.22.&.3.28 14.22.&.3.29 15.22.&.2.34 0.23.&.6.19 5.23.&.4.28 10.23.&.6.20 15.23.&.3.30 0.24.&.6.21 5.24.&.4.29 7.24.}.0.0.0.0.1.1 10.24.&.6.22 13.24.}.0.0.0.0.1.1 15.24.&.3.31 0.25.&.6.23 5.25.&.4.30 10.25.&.6.24 15.25.&.3.32 0.26.&.6.25 1.26.&.2.35 2.26.&.2.36 3.26.&.2.37 4.26.&.2.38 5.26.&.2.39 6.26.&.2.40 7.26.&.2.41 8.26.&.2.42 9.26.&.2.43 10.26.&.2.44 11.26.&.2.45 12.26.&.2.46 13.26.&.2.47 14.26.&.2.48 15.26.&.3.33 0.27.&.6.26 5.27.&.5.33 10.27.&.4.31 15.27.&.3.34 0.28.&.6.27 5.28.&.5.34 10.28.&.4.32 13.28.}.0.0.0.0.1.1 14.28.M.2 15.28.&.3.35 0.29.&.6.28 5.29.&.5.35 10.29.&.4.33 15.29.&.3.36 0.30.&.1.18 1.30.&.1.19 2.30.&.1.20 3.30.&.1.21 4.30.&.1.22 5.30.&.1.23 6.30.&.1.24 7.30.&.1.25 8.30.&.1.26 9.30.&.1.27 10.30.&.1.28 11.30.&.1.29 12.30.&.1.30 13.30.&.1.31 14.30.&.1.32 15.30.&.3.37 [end] [offset] 548C [level] 36 [colour] 9988ae [size] 16.31 [author] Bartek Walos [data] ppppppp-------pp p.V.ppp-^DT'&-pp pV&Vppp-.-----pp pp.pppp-.-pppppp pp.pppp-.-pppppp pp&pppp-.-pppppp ppppppp-.-pppppp ppp---p-.-pppppp --p-T-p-.-p---pp ^-p-^-p-.-p-T-pp .-p-.-p-.-p-^-pp .-p-.-p-.-p-.-pp .-p-.-p-.-p-.-pp .-p-.-p-.-p-.-pp .-p-.-p-.-p-.-pp .-p-.-p-.-p-.-pp %-p-.-p-.-p-.-p- .--D.---D---.--T T..#..^^.^^....% -M.#...........- -..#...........- p-.D.........%-p pp----.....---pp ppppp-.....-pppp ppppp-.....-pppp ppppp-.....-pp&p p...p-.....-pp.p p.!.p-.....-p... p..&p-###..-p.&. ppppp-R%...-p%.. ppppp-###..-pppp [additional] 15 8.1.^.1.0.0 12.1.&.6.0 2.2.&.5.0 2.5.&.6.1 0.9.^.1.0.0 4.9.^.1.0.0 12.10.^.1.0.0 6.18.^.1.0.0 7.18.^.1.0.0 9.18.^.1.0.0 10.18.^.1.0.0 1.19.M.0 14.25.&.5.1 3.28.&.4.0 14.28.&.4.1 [end] [offset] 568C [level] 37 [colour] b98cb0 [size] 16.31 [author] Bartek Walos [data] sssssssssssssRss }............T.. s.ssssssssssssss s.s.s...s...s... ......s...s..@s. s.s.sssssssssss. s}............s. s.s.sssssssssss. s.s.s....T..'.s. sss.s.ssss.ssss. ....s........^.. sssss.sssssssss. }.T.sT.......^.. ....s.sssssssss. ....s........^.. .ssss.sssssssss. .s............s. ...Tsss.sss...ss sssssTssTTsss.%s }...........D.ss .ssssssssssss.s^ ...s...s...s..s. .sT..s...s....s. .ssssssssssss.s. }T........%.s..T ss.ssssssssss.s. s}T........%..s. sssssssssssssss. ...T............ .sssssssssssssss .D.&..&..&...%D! [additional] 14 0.1.}.0.0.1.0.0.0 13.4.@.2 1.6.}.0.0.2.0.0.0 13.10.^.2.0.0 0.12.}.0.0.2.0.0.0 13.12.^.2.0.0 13.14.^.2.0.0 0.19.}.0.0.2.0.0.0 15.20.^.1.0.0 0.24.}.0.0.2.0.0.0 1.26.}.0.0.2.0.0.0 3.30.&.1.0 6.30.&.1.1 9.30.&.1.2 [end] [offset] 588C [level] 38 [colour] a486bf [size] 16.31 [author] Bartek Walos [data] ..............%R ...ppppppppppp.. ...p...TT....D.. ...pT........p.. ...pT........p.. ...p.........p.. ...p@@@@@@...p.. ..&ppppppppppp&. ................ M..............M &M......&.....M% .%M..........M%% .......HHHHHHHH} ppppDpppDppDpppp TTTp^pV#..p^p... ...p.p.#..p.p... ...p.p.#..p.p... TTTp.pM...p.p... ...p.p....p.p... ...D.p....p.D... ...p.pT..Tp.p... TTTp.p..%.p.p... ...p.p....p.p... .'.p.p...#p.p... ...p.p..#.p.pT.. *..p.p.#..p.p... HHHp.##...p.p... V-!p.p....p.pT.. ---p.p....p.p... ---p}p}TT}p}p... ---ppp}}}}ppp.T@ [additional] 30 4.6.@.2 5.6.@.2 6.6.@.2 7.6.@.2 8.6.@.2 9.6.@.2 2.7.&.2.0 14.7.&.1.0 0.9.M.0 15.9.M.2 0.10.&.2.1 1.10.M.0 8.10.&.1.1 14.10.M.2 2.11.M.0 13.11.M.2 15.12.}.2.0.1.0.0.0 4.14.^.1.0.0 11.14.^.1.0.0 6.17.M.0 0.25.*.0 4.29.}.2.0.1.0.0.0 6.29.}.3.0.0.1.0.0 9.29.}.3.0.0.1.0.0 11.29.}.2.0.1.0.0.0 6.30.}.0.0.0.0.1.1 7.30.}.0.0.0.0.1.1 8.30.}.0.0.0.0.1.1 9.30.}.0.0.0.0.1.1 15.30.@.2 [end] [offset] 5A8C [level] 39 [size] 16.31 [author] Bartek Walos [level_notes] [data] PPPPPPPPPPPPPPPP ---------------- ----.-.----.---- -.......*..*.**- --@---.-.--.--.- .-....--.--.--.- .-.--.@@@@..--.- .--.-.-.-.--...- ......--..--.-.- --.---.-.......- .........-.---.- ---------------- PPPPPPPPPPPPPPPP ---------------- ---............. ---.~~.~}~~~%.P. R...~V~~}~V~T%P. ---}~VV~}~~~}TP. PPPPPPPPPPPPPPP. .TTTTTTTTTTTTTT. .}}}}}}}}}}}}}}} DPPPPPPPPPPPPPPP ...............' PPPPPPPPPPPP.... T.^...^...^..... PPPPPPPPPPPP.... T.^...^...^..... PPPPPPPPPPPP.... !...T..T..T..... PPPPPPPPPPPP.... ---------------- [additional] 35 8.3.*.0 11.3.*.1 13.3.*.1 14.3.*.1 2.4.@.0 6.6.@.3 7.6.@.3 8.6.@.3 9.6.@.3 8.15.}.0.0.0.0.1.1 8.16.}.2.0.0.0.1.1 3.17.}.1.0.0.0.1.1 8.17.}.0.0.0.0.1.1 12.17.}.2.0.0.0.1.1 1.20.}.1.0.0.0.1.1 2.20.}.2.0.0.0.1.1 3.20.}.1.0.0.0.1.1 4.20.}.0.0.0.0.1.1 5.20.}.3.0.0.0.1.1 6.20.}.3.0.0.0.1.1 7.20.}.3.0.0.0.1.1 8.20.}.2.0.0.0.1.1 9.20.}.2.0.0.0.1.1 10.20.}.2.0.0.0.1.1 11.20.}.1.0.0.0.1.1 12.20.}.3.0.0.0.1.1 13.20.}.1.0.0.0.1.1 14.20.}.2.0.0.0.1.1 15.20.}.3.0.0.0.1.1 2.24.^.0.1.1 6.24.^.0.1.1 10.24.^.0.1.1 2.26.^.0.1.1 6.26.^.0.1.1 10.26.^.0.1.1 [end] [offset] 5C8C [level] 40 [colour] 65da88 [size] 16.31 [author] Bartek Walos [data] -}--}----}-----} -bbbb----b-----b -b--b----b-----b -b--b----b-----b -bbbbb---b--b--b -b---b---b-b-b-b -bbbbb-b-bb---bb ---------------- ---------------- OR..T...T...T..% OOOOOOOOOOOOOOO. O...O....O.'..O. O...O....O....O. O..&O..&.O.&..O. O...O....O....O. OODOOOODOOOODOO. ................ ^H.H^H.H.H^H.H.H .H.H.H.H.H.H.H.H ..............~~ .OOOOOOOOO....~. .O.TTT...O...~~b .O.TTT...D%.~~.. .O.TTT...O..~..' .O.TTT.@.O..~%H. OOOOOOOOOOOOOOOO OVVVVOTTTTOVVVVO OV..VOT.!TOV..VO OV&.VOT.&TOV.&VO OVVVVOTTTTOVVVVO OOOOOOOOOOOOOOOO [additional] 14 1.0.}.0.0.0.0.1.1 4.0.}.0.0.0.0.1.1 9.0.}.0.0.0.0.1.1 15.0.}.0.0.0.0.1.1 3.13.&.1.0 7.13.&.2.0 11.13.&.3.0 0.17.^.1.0.0 4.17.^.1.0.0 10.17.^.1.0.0 7.24.@.2 2.28.&.3.1 8.28.&.2.1 13.28.&.1.1 [end] [offset] 5E8C [level] 41 [colour] 84c489 [size] 16.31 [author] Bartek Walos [data] TTTTTTTTTTTTTTTT VVVVVVVVVVVVVVVV bbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbb b!o%%%%...DDDDDb b.o%%%%.R.D}}}Db b.D%%%%...DDDDDb bbbbbbbbbbbbbbbb oT.bVVVVVVVVb.To oT.b@@@@@@@@b.To oT.b********b.To oT.b@@@@@@@@b.To oT.b^^^^^^^^b.To oT.bVVVVVVVVb.To oT.bVVVVVVVVb.To oT.bVVVVVVVVb.To oT.bVVVVVVVVb.To oT.bVVVVVVVVb.To oT.bVVVVVVVVb.To oT.bVVVVVVVVb.To oT.b&&&&&&&&b.To oT.b&&&&&&&&b.To oT.b^^^^^^^^b.To oT.b&&&&&&&&b.To oT.bbbbbbbbbb.To oT............To oTTTTTTTTTTTTTTo oooooooooooooooo [additional] 67 11.8.}.0.0.0.0.1.1 12.8.}.0.0.0.0.1.1 13.8.}.0.0.0.0.1.1 4.12.@.2 5.12.@.2 6.12.@.2 7.12.@.2 8.12.@.2 9.12.@.2 10.12.@.2 11.12.@.2 4.13.*.0 5.13.*.0 6.13.*.0 7.13.*.0 8.13.*.0 9.13.*.0 10.13.*.0 11.13.*.0 4.14.@.2 5.14.@.2 6.14.@.2 7.14.@.2 8.14.@.2 9.14.@.2 10.14.@.2 11.14.@.2 4.15.^.1.0.0 5.15.^.1.0.0 6.15.^.1.0.0 7.15.^.1.0.0 8.15.^.1.0.0 9.15.^.1.0.0 10.15.^.1.0.0 11.15.^.1.0.0 4.23.&.4.0 5.23.&.4.1 6.23.&.4.2 7.23.&.4.3 8.23.&.4.4 9.23.&.4.5 10.23.&.4.6 11.23.&.4.7 4.24.&.4.8 5.24.&.4.9 6.24.&.4.10 7.24.&.4.11 8.24.&.4.12 9.24.&.4.13 10.24.&.4.14 11.24.&.4.15 4.25.^.2.1.1 5.25.^.2.1.1 6.25.^.2.1.1 7.25.^.2.1.1 8.25.^.2.1.1 9.25.^.2.1.1 10.25.^.2.1.1 11.25.^.2.1.1 4.26.&.4.16 5.26.&.4.17 6.26.&.4.18 7.26.&.4.19 8.26.&.4.20 9.26.&.4.21 10.26.&.4.22 11.26.&.4.23 [end] [offset] 608C [level] 42 [colour] 78c67f [size] 16.31 [author] _The End - Koniec - Das Ende - El Final - La Fin [level_notes] [data] -ooo-o-o-ooo-o-- --o--ooo-o---o-- --o--o-o-ooo-o-- --o--o-o-o------ --o--o-o-ooo-o-- ---------------- --ooo-o--o-oo--- --o---oo-o-o-o-- --oo--o-oo-o-o-- --o---o--o-o-o-- --ooo-o--o-oo--- oooooooooooooooo bbbooooooooooooo booooooooooooooo bo}o}bbo}bbo}boo bobobobobobobobo bbbobbbobbbobboo oooooooooooooooo ooo~~~o~o~o~~~oo ooo~.~o~o~o~oooo ooo~~~~o~oo~~ooo ooo~..~o~oo~oooo ooo~~~~o~oo~~~oo oooooooooooooooo oRT'o&&o&&~~~&&o oTT.oooo&&~V~&&o oTb.....b&&~&&&o oTT.ooo..~~~~~&o oTTbo&o&~&~&~&~o oTT.o&o&&&~!~&&o oooooooooooooooo [additional] 31 2.14.}.3.0.1.0.1.1 4.14.}.1.0.1.0.1.1 8.14.}.0.0.1.0.1.1 12.14.}.0.0.1.0.1.1 5.24.&.5.0 6.24.&.5.1 8.24.&.5.2 9.24.&.5.3 13.24.&.5.4 14.24.&.5.5 8.25.&.5.6 9.25.&.5.7 13.25.&.5.8 14.25.&.5.9 9.26.&.5.10 10.26.&.5.11 12.26.&.5.12 13.26.&.5.13 14.26.&.5.14 14.27.&.5.15 5.28.&.5.16 7.28.&.5.17 9.28.&.5.18 11.28.&.5.19 13.28.&.5.20 5.29.&.5.21 7.29.&.5.22 8.29.&.5.23 9.29.&.5.24 13.29.&.5.25 14.29.&.5.26 [end] gnurobbo-0.66+dfsg/data/levels/original.dat0000644000175000017500000014156711440216355017757 0ustar stevesteve It's the file format for new levels :- Symbol | Data | Additional Data ---------------------------------------------------------------------- . Empty Field | O Wall | It's the white wall. o Green Wall | - Black Wall | Q Red Wall | q Fat Wall | It's the fat bricked red wall. p Round Wall | It's the circular orange wall. P Boulder Wall | It's the boulder like blue wall. s Square Wall | It's the square yellow wall. S Lattice Wall | It's the lattice purple wall. H Ground | R Robbo | ' Bullet | It's actually a clip of 9 bullets. T Screw | ! Capsule | A level can have more than one capsule. % Key | D Door | # Box | ~ Push Box | b Bomb | ? Questionmark | Once destroyed will randomnly spawn an empty field, push box, screw, bullet, key, bomb, ground, butterfly, gun or another questionmark. & Teleport | teleportgroup.teleportid (teleportgroup is 1 based and teleportid is 0 based) V Butterfly | Heads straight for Robbo. @ Bear | Bears will follow the left-hand maze traversal rule and initial direction is important. * Black Bear | Black bears will follow the right-hand maze traversal rule and initial direction is important. ^ Bird | direction.direction2.shooting } Gun | direction.direction2.shottype.moveable.rotateable.randomrotateable (if shottype is 2 then it's a blaster) L Horizontal Laser | direction (only 0=east & 2=west) l Vertical Laser | direction (only 1=south & 3=north) M Magnet | direction (all 4 directions) = Force Field | direction (only 0=east and 2=west) + Extra Life | Exists in some converted level packs but GNU Robbo does not support this object anymore. X Stop | Millenium object. k Radioactive Field | Millenium object. B Bomb2 | Alex object: explodes and then shoots in all directions. Level File Format ================= All comments up until the [name] and [last_level] tags are ignored. Level Pack Tags =============== The [name] tag: A name for the pack e.g. MyLevels-01 (up to 11 letters and no spaces). The [last_level] tag: The number of levels in the pack. The [default_level_colour] tag: A default level colour that can be used throughout the entire pack if any or all individual level [colour] tags are undefined; OPTIONAL. The [notes] tag: Notes about the entire level pack; OPTIONAL. Level Tags ========== The [level] tag: Level number. The [colour] tag: Hexadecimal RGB background colour. If this is missing then the colour will come from the [default_level_colour] if defined; OPTIONAL. The [size] tag: Map width, map height. The [author] tag: The author of the level; OPTIONAL. The [level_notes] tag: Notes about the level; OPTIONAL. The [data] tag: Object identifiers for the complete map (see the list above for the legends). The [additional] tag: This is where additional data is placed that describes the behaviour of certain objects if applicable. The first number is the object (lines) count. Following this is a line for each object. All the objects start with an x position, a y position and a symbol from the above list followed by any number of additional parameters depending on which object it is describing. Teleport example: 13.2.&.1.0 would give you a teleport at 13x 2y with 7.2.&.1.1 giving you it's first group partner at 7x 2y (there could be other teleports that are part of this group and they would be 1.2, 1.3 etc. If you want another group somewhere else then the first teleport would be 2.0, its first partner 2.1 and so on. Gun example: 13.10.}.1.1.1.0.0.0 (looks scary but it isn't :) ) would give you a gun at 13x 10y which has direction (is facing) south (0=east|1=south|2=west|3=north). The next value (1) describes the direction in which the gun is moving if moveable. The next value (1) states that this is a solid laser (0=burst|1=solid|2=blaster). The next value (0) describes this gun as unmoveable (0=unmoveable|1=moveable) with the last two zeros stating non-rotateable and non-random-rotateable. The bear follows the left-hand maze traversal rule and will go left if possible else it'll go forward. You can think of this as when it's going clockwise it's pushing outwards and when going anti-clockwise it's pulling inwards. The black bear follows the right-hand maze traversal rule and will go right if possible else it'll go forward. You can think of this as when it's going clockwise it's pulling inwards and when going anti-clockwise it's pushing outwards. The initial positioning and/or direction of both bears is important. If neither of them have entries in this section then their default direction will be 0 (east) and this may suffice depending on where they are placed. The bird has a movement direction, a shot direction and 0 or 1 describing if it is shooting or not. The magnets have a direction of 0=east, 1=south, 2=west and 3=north. The force fields have a direction of 0=east and 2=west only and they are contained by either a wall or the edges of the level. Everything else they will consume. The [end] tag: Defines the end of the level data. [name] Original [last_level] 58 [default_level_colour] 608050 [notes] Added 4 levels missing from RobboVI. Level 35: Added additional data for 2 BEAR_B and 1 BEAR so that they start in their intended directions. Level 57: I had to modify the gun at 1.15 as it was a blaster in the original Atari Robbo. In GNU Robbo the blaster consumes things and didn't explode the bomb leaving Robbo 1 bullet short. Level 57: Both birds in the final tunnel cannot be killed with just one remaining bullet so I added a bomb at 15.15. *THIS SET IS COMPLETE NOW* [level] 1 [colour] 996600 [size] 16.31 [author] Janusz Pelc [level_notes] level_notes relating to this level can go here. [data] QQQQQQQQQQQQQQQQ Q....Q...QTQ...Q Q.R.'Q.&.Q.Q.&.Q Q....Q...Q.Q...Q QQTQQQ.#...Q.Q.Q Q....Q.QQQQQ.Q.Q Q...#Q..Q..H.Q.Q Q#QQQQT#Q..H.Q.Q Q...#QQ.Q..H.Q.Q Q....Q..Q..QQQ.Q QQQQ.QT.Q...Q}.Q Q....QQQQQQ.Q..Q Q.b..Q....D.Q..Q Q....Q.#..QQQ..Q Q....QQ.QQQ'...Q Q....Q....QQQ.QQ Q#.b#Q...#.Q#.#Q Q#.##..##..Q...Q Q###....##QQ...Q Q%#.##.#T.Q....Q QQQQQQQQQQQ#QQ.Q Q...Q.....Q.%QDQ }.....T...Q.QQ.Q Q...Q...#......Q Q.?.Q#QQQQQ.Q.QQ Q.....QT...#...Q QQQQQ.QQQQQ.Q.QQ Q...Q.Q...Q.QQQQ Q.!.....T.Q....Q Q...Q.Q...Q...TQ QQQQQQQQQQQQQQQQ [additional] 4 13.2.&.1.0 7.2.&.1.1 13.10.}.1.1.1.0.0.0 0.22.}.0.0.1.0.0.0 [end] [level] 2 [colour] 961B2B [size] 16.31 [author] Janusz Pelc [data] OOOOOOOOOOOOOOOO O%..#...O.TO...O O..#..R.O..O.?.O }.....#.HH#H...O O.#.....OO.O...O OOOOOOOOOOOOODOO O...#.#........O O.#..T.#..#..T.O O..#.....#.....O OHHH#...OOOOOOOO O.#..####...#..O O..T.......#.#.O OOOOOOOOOOOOO..O OT.@...O...O...O O..OOO...O...OOO O.OO.OOOOOOO...O O..O...O...OOO.O O#...O...O.O...O OOOO.OOOOO...OOO O..O.O...O.O...O O#.O^O.T.O.O..#O O.#OOO....#.#.TO O.OO....#.OO...O O.....O...OT.#.O OO.OOOOOOOO#...O O.......}.OOOO.O OO.O.O.OO......O O#.O.O.#OOO.!..O O#.OTO..O.OOOHOO O....O#..'OT...O OOOOOOOOOOOOOOOO [additional] 4 0.3.}.0.0.0.0.0.0 8.25.}.2.2.1.0.0.0 3.13.@.2 5.20.^.0.0.0 [end] [level] 3 [colour] 1F6384 [size] 16.31 [author] Janusz Pelc [data] OOOOOOOOOOOOOOOO O....O....O....O O.R..D....O#.T.O O....O.T..##...O O....O....O#...O OOO.OOOOOOOOOOOO O....O....O....O O.b..O....O..?.O O....#..&.O....O O#...O....O....O OOOOOOOOOOOO.OOO O....O----O...#O O..T.O----O.&..O O....O----O....O O&..%O----O....O OOOOOO----OOO.OO ----------O.##.O ----------O.T..O ----------O#.#.O ----------O..#.O OOOOOOOOOOO.OOOO OT........O.@..O OOO.OOO.....OO.O O.......!.O.O..O O.O.O.....O.OO.O O.O...^...O..O.O O.O^OOOOOOO.OO.O O.O.......O....O O.O.OOO.'.OOOO.O O.........O&...O OOOOOOOOOOOOOOOO [additional] 7 8.8.&.1.0 12.12.&.1.1 3.26.^.1.0.0 6.25.^.0.0.0 12.21.@.2 11.29.&.2.0 1.14.&.2.1 [end] [level] 4 [colour] 996600 [size] 16.31 [author] Janusz Pelc [level_notes] Removed a life from 1.13 [data] OOOOOOOOOOOOOOOO O..#^.......#..O O&............TO OOO..........OOO O...--.--.--...O O...--.--.--...O O...--.--@--...O O.T.--.--.--.T.O O..---.--.---..O O.---..--..---.O O---...--...---O O..............O OOO}........&OOO O..............O OOOOOOOOOOOOOOOO O.......O.....&O O.OOOOO.O......O O.O...O.O......O O.O.R.O.O.....}O O.}...O.O......O O.....O.OOOOOODO O....TO........O O..OOOOOOOOOOOOO O..TO&O....*...O OO.OO.O.OO.OOO.O O..%O.O..O.TO..O OOOOO.O..OOOO.OO O...O.O..&OT...O O.!.O.O.OOOOOO.O O&..O..........O OOOOOOOOOOOOOOOO [additional] 9 5.23.&.1.0 12.12.&.1.1 1.2.&.2.0 14.15.&.2.1 9.27.&.3.0 1.29.&.3.1 3.12.}.0.0.1.0.0 2.19.}.1.1.1.0.0 14.18.}.2.2.1.0.0 [end] [level] 5 [colour] 7C3C77 [size] 16.31 [author] Janusz Pelc [data] OOOOOOOOOOOOOOOO O.............RO O....TOOOOT....O O..OOOO..OOOO..O O..O.....@.....O O..O...........O O..OO...T......O O...........O..O O........*..O..O O..OOOOT.OOOO..O O....TOOOOT....O O..............O OOOOOOOO.OOOOOOO OT.OOT.....OOT!O O..OO......OO..O O..##..OO.#OO#.O O..##..OO..OO..O O..OO..........O O}TOO}....#...}O OOOOOOO..OO..OOO OOOOOOO..OO..OOO O.b....#.OO....O O........OO....O OOOOOOOOOOOOO#.O OOOOOOOOOOOOO..O OT.O}O}O}O}O...O O..............O O....O.T.....#.O O....O.O.O...T.O O..............O OOOOOOOOOOOOOOOO [additional] 7 1.18.}.3.3.1.0.0 5.18.}.3.3.1.0.0 14.18.}.3.3.1.0.0 4.25.}.1.1.0.0.0 6.25.}.1.1.1.0.0 8.25.}.1.1.1.0.0 10.25.}.1.1.0.0.0 [end] [level] 6 [colour] 1F6384 [size] 16.31 [author] Janusz Pelc [data] QQQQQQ&QQQ&QQ--- Q...Q...Q...Q--- Q.R.&.#.Q.?.&--- Q...Q...Q...Q--- QQ&QQQ&QQQ&QQQQQ ---Q...Q...Q...Q ---&.%.&.H.&.%.& ---Q...Q...Q...Q ---QQQQ&QQQ&Q&QQ -----Q...Q...Q-- QQQQQQ.b.&.H.&-- Q&...Q...Q...Q-- Q....QQQQQQQQQQQ Q..?.Q...D.....Q Q....D..}Q.QQQ.Q QQQQQQQQQQ.QQQ.Q Q........#.....Q Q..!...^..#....Q Q........#.....Q QQQQQQQQQQQQQQQQ ---------------- ---------------- ---------------- ---------------- ---------------- ---------------- ---------------- ---------------- QQQQQQQQQQQQQQQQ Q&............TQ QQQQHHQQQQ#QQQQQ [additional] 20 2.4.&.1.0 11.6.&.1.1 12.2.&.1.2 10.0.&.2.0 13.8.&.2.1 13.10.&.8.2 4.2.&.3.0 7.6.&.3.1 10.13.&.3.2 6.4.&.4.0 11.8.&.4.1 9.10.&.5.0 1.29.&.5.1 15.6.&.6.0 7.8.&.6.1 6.0.&.7.0 1.11.&.7.1 10.4.&.8.0 3.6.&.8.1 8.14.}.2.2.1.0.0 [end] [level] 7 [colour] 996600 [size] 16.31 [author] Janusz Pelc [data] QQQQQQQQQQQQQQQQ QQQQQ&..QQQQ...Q QQQQQQQ....D.T.Q Q...QQQ.QQQQ...Q Q.T.D...QQQQQQQQ Q...QQQ.QQQQ...Q QQQQQQQ....D.T.Q QQQQQQQQQ.QQ...Q QQQQQQ....QQQQQQ QQQQQQ..QQQQQQQQ QQQQQQ..QQQQQQQQ QQQQQ.*..QQQQQQQ QQQQ..QQ..QQQQQQ QQQ..QQQQ..QQQQQ QQ..QQQQQQ..QQQQ Q%............QQ QQQQQQQQQQQQQ..Q QTQ...........QQ Q.}Q...^.....Q.Q Q...Q.......Q.%Q Q...}Q.....Q#..Q Q.....QQ#QQQ.##Q Q#....Q...Q.#..Q Q#....#.R.#..#.Q Q#....Q...Q.#.#Q Q.....QQ#QQ..##Q Q....Q#....Q..#Q Q..}Q##b....Qb.Q Q..QHbbHHHH#...} QTQ!#H#b%.#..bbQ QQQQQQQQQQQQQQQQ [additional] 5 2.18.}.1.1.1.0.0.0 4.20.}.1.1.1.0.0.0 3.27.}.3.3.1.0.0.0 15.28.}.2.2.0.0.0.0 5.1.&.1.0 [end] [level] 8 [colour] 961B2B [size] 16.31 [author] Janusz Pelc [level_notes] Removed a life from 13.30 [data] QQQQQQ---------- Q#.R.Q---------- Q%...D...--T---- Q##..Q--.--.---- QQQQQQ-.....---- -----}-.Q.------ -----.-...------ ---.....-------- ---.---------T-- ---.---------.-- ---&----'...D.-- ----------.----- ----------...--- ------------.--- -T---&.......--- -*--------.----- -#--------}----- -b-&------.----- -b-..........&-- -b----.--------- -bbb--.--------- -b-^b-.......--- -b--b-------...- -bbbbbbbbbb..-.- --------------.- -...!------&--.- -.-.----&--.--.. -&-T-&--.--.---. -----.--.--..&-. --}.......%.---. -------------..T [additional] 12 3.10.&.1.0 3.17.&.1.1 13.18.&.2.0 1.27.&.2.1 13.28.&.2.2 11.25.&.3.0 5.27.&.3.1 8.26.&.4.0 5.14.&.4.1 2.29.}.0.0.1.0.0.0 10.16.}.0.0.0.0.1.1 5.5.}.1.1.0.0.0.0 [end] [level] 9 [colour] 1F6384 [size] 16.31 [author] Janusz Pelc [data] oooooooooooooooo o..............o o.Ro......^o.'.o o..o.....^.o.!.o o..o....^..o...o o..o...^...ooooo o..o..^....o...o o..o.^.......T.o o...^......o...o oHoooooooooooooo o.............To o..............o o..............o o.......^.....^o o....^.........o o..............o o......^.......o o.............To oHoooooooooooooo o.o..To......oVo o.o.ooo.....oo.o o.....oo..o..o.o ooo....o.TooDo.o o%..oo.oooo..o.o ooo..o......oo.o o....oo.....oT.o o.o.....oo..oo.o o.oooo.........o o.......ooo.oo.o o.oTo...o}.....o oooooooooooooooo [additional] 12 4.8.^.1.1.0 5.7.^.1.1.0 6.6.^.1.1.0 7.5.^.1.1.0 8.4.^.1.1.0 9.3.^.1.1.0 10.2.^.1.1.0 5.14.^.3.3.0 7.16.^.3.3.0 7.13.^.2.2.0 14.13.^.1.1.0 9.29.}.0.0.1.0.0.0 [end] [level] 10 [colour] 996600 [size] 16.31 [author] Janusz Pelc [data] oooooooooooooooo oRoTo.......o..o o.....oo...oo..o oooo.ooT.#....Mo o.o.#.ooooo....o o........Mo.o..o oTooTo.o....o..o o.o..#.o%ooooo.o o.....MoooM....o ooo...........oo oTooo.ooooooo..o o.oTo......Moo.o o.o...oo.ooo...o o.oo.........M.o o.D..oTo.oo.oo.o oooo?o.o#oT..#.o oT.ooo.o.ooooo.o o......o.......o o.oo.ooooo.ooo.o o..M...#...o...o oo.o......#o.o.o M............T.o oo.o.o.oooo.oo.o o..o#....oT....o o.oo.ooo.ooooo.o o......M.#..o..o oo.ooo.oo.oooo.o oT.#.......oT..o o....M....Mooo.o oT..........!..o oooooooooooooooo [additional] 11 14.3.M.2 9.5.M.2 6.8.M.2 10.8.M.0 11.11.M.2 13.13.M.2 3.19.M.0 0.21.M.0 7.25.M.2 5.28.M.2 10.28.M.2 [end] [level] 11 [colour] 7C3C77 [size] 16.31 [author] Janusz Pelc [data] QQQQQQQQQQQQQQQQ Q...#QQQ.......Q Q..R.QQQ....QQ#Q Q%.......}..Q..Q Q#...Q.Q#..#Q..Q QQQ.QQ.QQ.QQQ.QQ QQQ....TQDQT..QQ QQQQQQ.QQ.QQQQQQ QQ...QQQQ.Q....Q }...........T?.Q QQ..#QQQQ.Q....Q -Q#..Q--Q.QQQQQQ -Q..#Q--Q.Q----- -Q.#.QQQQ#QQQQQ- -Q..###..##..#Q- -Q..##........M- -Q#....###..#.Q- -QQQQ.#.QQQQ.QQ- ----Q..TQ--Q.Q-- ----QQQQQ--Q.Q-- -----------Q.Q-- QQQQQQQQQQQQ.QQQ Q.Q.TQ...QTQ.T.Q Q...QQQQ...Q.Q.Q Q.Q.D..Q.QQQ...Q Q.QQQQ*.......QQ Q.!..QQQ.QQQQ..Q QQQ#.Q....Q....Q Q...QQ.QQQQ.QQQQ QTQ.Q%.QT......Q QQQQQQQQQQQQQQQQ [additional] 3 9.3.}.0.0.0.0.1.1 0.9.}.0.0.1.0.0.0 14.15.M.2 [end] [level] 12 [colour] 1F6384 [size] 16.31 [author] Janusz Pelc [level_notes] Removed a life from 12.27 [data] OOOOOOOOOOOOOOOO OR#.....#...#..O O#...###..#..#.O O.#...#..#.#...O OOO.OOOOOOO.OOOO O..#.##.#...#.'O O#..T..##.#..#.O OOOOOO#OOOOOOOOO O.#.#...#..#..%O O..###...#...#.O OT#..T.........M O.H..#..#.#..#.O O..#..##...#..TO OOOOOOOOHOOOOOOO O.#.b........##O O...#.###..###.O OOOOOOOOOOOOOODO }HHbHHHHHHHHbHHO }HHHHHHHbHHHHHHO OOOOOOO.OOOOOOOO O&............&O OOOOOOOOOOOOOOOO O&.....O......&O OOOOOO.O.OOOOOOO O...#..#.#.....O OT#...##.#..b.#O OOOOOOOOOOOOOO.O OV..#bb##bb##H.O O.!.b?b&b??bbb.O O...#bbbb#@*##.O OOOOOOOOOOOOOOOO [additional] 7 0.17.}.0.0.1.0.0.0 0.18.}.0.0.1.0.0.0 1.20.&.1.0 14.20.&.2.0 1.22.&.2.1 14.22.&.1.1 15.10.M.2 [end] [level] 13 [colour] 996600 [size] 16.31 [author] Janusz Pelc? [level_notes] Removed a life from 11.13 [data] QQQQQQQQQQQQQQQQ Q......Q...Q.Q#Q Q.HTHH.Q.Q..#..Q Q..#...&..#..Q.Q Q#.H.HHQ.QQ##..Q Q.HH...M.Q#..#QQ Q....HHQ.Q.#.T#Q Q#.#...Q.Q#QQ#&Q QHHTH..Q.....#.Q Q.#.#.HQQQQQQQQQ Q!.#.##H...H.HTQ Q.#T#....H.....Q Q#.#.#Q&QQQQQQQQ Q.#.#.Q.Q%....&Q QQQQQQQ.QQQQQQQQ Q#......Q......Q Q....#?.Q.##.Q.Q Q.Q}....Q.##.Q.Q Q.Q.......@..Q.Q Q...QQQQQQQQQQ.Q Q.Q.QTHHH.HQ.Q.Q Q...Q#H#H#.Q.Q.Q Q.Q.Q#HH#THQ^Q.Q Q...QH.HHHHQ.Q.Q QQQ.Q#H#HH#Q.Q.Q QT..QHHH.HHH...Q Q.Q.QQQQQQQQQQQQ Q......Q..#Q...Q QQQ..#...R.D.'.Q QT.^...Q#..Q...Q QQQQQQQQQQQQQQQQ [additional] 8 3.29.^.1.1.0 12.22.^.1.1.0 3.17.}.0.0.0.0.0.0 7.12.&.1.0 14.13.&.2.0 7.3.&.3.0 14.7.&.2.1 7.5.M.2 [end] [level] 14 [colour] 961B2B [size] 16.31 [author] Janusz Pelc? [data] QQQQQQQQQQQQQQQQ Q.............%Q Q........QQQ...Q }...!....#RQ...Q Q........QQQ...Q Q........@.....Q Q^.............Q QQQQ.QQQQQQ.QQQQ ---Q.Q----Q.Q--- ---Q.Q----QDQ--- ---Q.Q-QQQQ.QQQQ ---QDQ-Q..T.T..Q ---Q.Q-Q.QQQQQ.Q ---Q.Q-Q.@.@.@.Q ---Q.Q-Q.QQQQQ.Q ---Q.Q-Q..T.T..Q ---Q.Q-QQQQQQQQQ ---Q.Q---------- QQQQ.QQQQQQQQQQQ Q........Q.....Q Q.QQQQQQ.Q.QQ..Q Q.Q..T....#..*.Q Q...Q.QQQQ.QQQ.Q QQQ.Q.Q...#.Q..Q Q..#Q.QQ.QQ.QT.Q Q.Q....Q#.?...#Q QHQQQ....Q.QQQQQ Q...QQQQQQ.Q%..Q Q.&.Q'..TQ.Q.&.Q Q...Q......Q...Q QQQQQQQQQQQQQQQQ [additional] 4 0.3.}.0.0.1.0.0.0 1.6.^.0.0.0 2.28.&.1.0 13.28.&.1.1 [end] [level] 15 [colour] 1F6384 [size] 16.31 [author] Janusz Pelc? [level_notes] Removed a life from 5.22 [data] QQQQQQQQQQQQQQQQ QR.T.H.........Q Q#HH.H.HHHHHH.HQ Q.H..H...HT@H..Q Q.HH...H.HH.HH.Q Q..H#HHH..H.HH.Q Q.THHH...HH....Q Q.HH.H.H....HH.Q Q#.....H..H.HHTQ QQ#QQQQQQQQQQQQQ Q#..Q%.'Q?..Q.QQ QT.TQ...D...D..Q Q.#.Q&..Q..&Q.QQ QQ#QQQQQQQQQQ.QQ Q..............Q Q#........#.Q.QQ QT.##.Q.b......Q Q.#.##Q..b..Q.QQ Q.##..Q........Q QQQ.QQQQQQQQQ}QQ --Q...D....TQQQQ QQQ.QQQQQQQ...#Q Q..&......Q.}..Q Q.QQQQQQQ.QQ.Q.Q Q.Q....TQ.TQ..TQ Q.Q.....QQQQ.QQQ Q.Q........Q..?Q Q.QQ.*.....Q.QQQ Q.}QQQQQQQ.Q...Q Q.......!Q&..QTQ QQQQ}Q}QQQQQQQQQ [additional] 9 3.22.&.1.0 10.29.&.2.0 4.30.}.3.3.0.0.0.0 6.30.}.3.3.0.0.0.0 2.28.}.2.2.0.0.0.0 12.22.}.0.0.0.0.1.1 5.12.&.3.0 11.12.&.3.1 13.19.}.3.3.1.0.0.0 [end] [level] 16 [colour] 996600 [size] 16.31 [author] Janusz Pelc? [level_notes] Removed a life from 7.23 [data] QQQQQQQQQQQQQQQQ QQ..TQQQTV..bR.Q QQ...QQQ...b...Q QQ&..QQQ.Q.....Q QQQQQQQQ....Q..Q QQQQQQQQ..bQ..bQ QT..bb........TQ Q.Q...b.b.QQQ.QQ Q...b...b.QQ...Q Q.b.###.T.QQ.Q.Q Qb..#!#bQ.QQ.Q.Q Q..b###........Q Qb.......bQQQQQQ Q....bQTb.Q..Q&Q Q'.bb..bT.Q..Q.Q QQQQQQQQQ.Q.VQ.Q Q.V..QQQQ.Q..Q.Q Q....&..Q.Q..Q.Q Q....QQ.Q&Q..Q.Q Q....QQ.QQQQQQ.Q Q....QQ........Q Q....QQQQQQQQQQQ Q&QQQQT...#.#..Q Q.Q&Q#..#T.TQ.#Q Q.Q.Q.##T#TQ%..Q Q.Q...T.#.#.QQ.Q Q.QDQ.##.#T#T..Q Q.Q.QQQTQQQ.QQ.Q Q.Q......Q....^Q Q.............}Q QQQQQQQQQQQQQQQQ [additional] 8 9.18.&.1.0 14.13.&.1.1 5.17.&.2.0 1.22.&.2.1 3.23.&.3.0 2.3.&.3.1 14.28.^.3.3.0 14.29.}.2.2.1.0.0.0 [end] [level] 17 [colour] 7C3C77 [size] 16.31 [author] Janusz Pelc [data] OOOOOOOOOOOOOOOO O.#..O#.#.O.#'.O O...#O...#O..#.O O.##..T##..#...O OT#.#O###.O...#O O#...O.T..O.#.TO OO.OOOOOO.OO.OOO O#.#.O#..#O.#..O O.##TO.b..O#.#.O O##.#O#.R.O....O OT.O.O...#.#.##O O..T.O!##.O....O OO#OOOO.OOOO.OOO O...#O.#..O...#O O.#..O..##O##..O Ob#.#..##TO...#O O##%#OT...O..#.O O.T#.O.#.###..#O OOOOOOOOOO#OOOOO ObbT&O..#.....#O Obb..O.#....##TO Obb..O.##.O...#O O##bbO.#.#Ob#..O OT#bbO#...OT...O OOOOOOOO.OOOODOO O...&O....O&...O O.OOOO.##.O##H#O O.D..O#...O.#H.O OOOO.O#.#.##..#O O&...OT...O.T#.O OOOOOOOOOOOOOOOO [additional] 4 4.25.&.1.0 11.25.&.1.1 1.29.&.2.0 4.19.&.2.1 [end] [level] 18 [colour] 1F6384 [size] 16.31 [author] Janusz Pelc [data] OOOOOOOOOOOOOOOO O.}..O.T.}O.}.TO O....O....O....O O}............}O O....O....O....O O...TO....O....O OODOOOOOO.OO.OOO ObbbbO....O....O ObbbbO.T..O....O ObbHHO....O..T.O ObbOTO}........O ObbH!OR...O....O OO#OOOO.OOOO.OOO O%..TO...TO....O O....O....O....O O........}O..T.O O....O....O....O O.}.%O.}....}..O OOOOOOOOOO.OOOOO O....O..}......O O.&..O........}O O....O.T..O....O O..T.O....O.T..O O....O....O....O OOOOOOOO.OOOO.OO O...&O....O&...O O.OOOO.T..O....O O.D..O....O...TO OOOO.O}........O O&..TO....O..}.O OOOOOOOOOOOOOOOO [additional] 18 2.1.}.1.1.1.0.0.0 9.1.}.1.1.1.0.0.0 12.1.}.1.1.1.0.0.0 14.3.}.2.2.1.0.0.0 1.3.}.0.0.1.0.0.0 6.10.}.0.0.1.0.0.0 9.15.}.2.2.1.0.0.0 2.17.}.3.3.1.0.0.0 7.17.}.3.3.1.0.0.0 12.17.}.3.3.1.0.0.0 8.19.}.1.1.1.0.0.0 14.20.}.2.2.1.0.0.0 6.28.}.0.0.1.0.0.0 13.29.}.3.3.1.0.0.0 11.25.&.1.0 1.29.&.1.1 4.25.&.2.0 2.20.&.2.1 [end] [level] 19 [colour] 996600 [size] 16.31 [author] Janusz Pelc [data] QQQQQQQQQQQQQQQQ Q....QT...Q....Q Q....Q....Q....Q Q.T.......^.T..Q Q....Q....Q....Q Q....Q....Q....Q QQ^QQQQQQ.QQ.QQQ Q....Q....Q....Q Q..T.Q....Q....Q Q....Q.T..Q..T.Q Q...RQ.........Q Q....Q....Q....Q QQ.QQQQ^QQQQ^QQQ Q....Q....Q....Q Q....Q....Q....Q Q.T.......Q.T..Q Q....Q..T.Q....Q Q....Q.........Q QQQQQQQQQQ.QQQQQ Q...!Q....^....Q Q.&..Q.T.......Q Q....Q....Q..T.Q Q..T.Q....Q....Q Q....Q....Q....Q QQQQQQQQ^QQQQ.QQ Q...&Q....Q&...Q Q.QQQQ....Q....Q Q.T..Q.T..Q....Q QQQQ.Q....Q..T.Q Q&...Q....Q....Q QQQQQQQQQQQQQQQQ [additional] 10 8.24.^.1.1.0 11.25.&.1.0 4.25.&.2.0 1.29.&.1.1 10.19.^.0.0.0 2.20.&.2.1 7.12.^.1.1.0 12.12.^.1.1.0 2.6.^.1.1.0 10.3.^.0.0.0 [end] [level] 20 [colour] 961B2B [size] 16.31 [author] Janusz Pelc [level_notes] Removed a life from 2.2 [data] QQQQQQQQQQQQQQQQ Q....QbbbbQbbbbQ Q....Qb..bQb..bQ Q...bbb..bbb..bQ Q...bQb...Q...bQ Q.bbbQbbbbQ..b.Q QQbQQQQQQbQQbQQQ QbbbbQbbbbQbbbbQ QbbbbQb...Qb..bQ Qb...Qb...Qb..bQ Qb...Qb....b..bQ Qbb..Q.b..QbbbbQ QQbQQQQbQQQQbQQQ Qbb..Q..bbQ.bbbQ Qb...Q...bQ...bQ Qb.bbbb..TQ...bQ Qb.b.Qb###Q...bQ Qbbb.Qb#!#..bbbQ QQQQQQQQQQ.QQQQQ Q...RQ.....##..Q Q.&..Q#bb###.b.Q Q....Q.bb.Q.bb.Q Q..'.Q.bb.Q.bb#Q Q....Q##..Q##..Q QQQQQQQQ.QQQQ.QQ Q...&Q#...Q&...Q Q.QQQQ.bb#QbbbbQ Q....Q.bb.QbbbbQ QQQQ.Q.bb.#bbbbQ Q&...Q....QbbbbQ QQQQQQQQQQQQQQQQ [additional] 4 1.29.&.2.0 4.25.&.1.1 2.20.&.1.0 11.25.&.2.1 [end] [level] 21 [colour] 1F6384 [size] 16.31 [author] Janusz Pelc [data] QQQQQQQQQQQQQQQQ QR.........D...Q Q...TT.....Q.&.Q Q'.QQQQ@...Q...Q Q........?.QQQQQ QQQQQQ........%Q Q....QT...}....Q Q.!..QQQ....}..Q Q.....&Q......TQ QQQQQQQQQQQQQQQQ ---------------- ---------------- ------????------ -----??--??----- ---------??----- --------??------ -------??------- ---------------- -------??------- ---------------- ---------------- QQQQQQQQQQQQQQQQ Q....&Q.......TQ Q.&.QQQ.....}..Q Q...QT....}....Q QQQQQ.........%Q Q........?.QQQQQ Q'.QQQQ*...Q...Q Q...TT.....Q.&.Q &..........D...Q QQQQQQQQQQQQQQQQ [additional] 10 13.2.&.1.0 6.8.&.3.1 0.29.&.1.1 12.7.}.0.0.0.0.1.1 10.6.}.0.0.0.0.1.1 12.23.}.0.0.0.0.1.1 10.24.}.0.0.0.0.1.1 13.28.&.2.0 5.22.&.2.1 2.23.&.3.0 [end] [level] 22 [colour] 996600 [size] 16.31 [data] QQQQQQQQQQQQQQQQ QQQ}.Q#........Q QQQ..Q..QTQQQQ.Q QR...Q.....@...Q QQQ..Q........#Q QQQ..QQQQ.QQQQ.Q Q}#..HHHHHHHHHTQ Q}#..HHHHHHHHQTQ Q}#..HHHHHHHHHTQ QQQ..QQQQ.QQQQ.Q QQQ..Q..#.....#Q Q....Q.Q.QQQ.Q.Q Q....Q.#.....##Q Q}...Q.QQ.Q#.Q.Q Q....Q#.Q.QQ...Q Q....Q.QQ....Q#Q Q....Q.........Q Q....QQQQM...MQQ Q}.....Q......TQ Q......Q.......Q Q..T...Q.......Q Q.QQQ..Q^......Q Q......QT.....#Q Q......QQQQ.QQQQ Q.#.#...#.Q...%Q QH.b.#.#..QQQQQQ Q..##...#HQHHHHQ Q##..H#...QHH!HQ Q}......#.DHHHHQ Q.H.##.HH.QHHHHQ QQQQQQQQQQQQQQQQ [additional] 10 3.1.}.1.1.1.0.0.0 1.6.}.0.0.2.0.0.0 1.7.}.0.0.2.0.0.0 1.8.}.0.0.2.0.0.0 1.13.}.0.0.1.0.0.0 1.18.}.0.0.1.0.0.0 9.17.M.0 13.17.M.2 8.21.^.0.0.0 1.28.}.0.0.0.0.0.0 [end] [level] 23 [colour] 7C3C77 [size] 16.31 [author] Janusz Pelc [data] QQQQQQQQQQQQQQQQ Q......}......!Q Q.QQQQ#.#QQQQQQQ Q..............Q QQQQQ.Q.QQQQ.Q.Q Q..............Q Q.Q.QQQ.QQ.Q.QQQ Q..............Q QQQQ.QQ.QQ.QQQ.Q Q..............Q Q.QQ.QQ.QQQ.Q.QQ Q..............Q QQQ.Q#Q.QQQ.QQ.Q Q..............Q Q.Q.M......M.Q.Q Q..............Q QQQ.QQQ.QQQ.QQQQ Q..............Q Q..QQQ....QQQ..Q Q..............Q Q..............Q Q...?.......?..Q Q..............Q Q.?........?...Q Q.....Q.Q......Q QQQQQQQ.QQQQQQQQ Q.....Q.Q......Q Q..............Q Q.b..........R.Q Q..............Q QQQQQQQQQQQQQQQQ [additional] 3 7.1.}.1.1.1.0.0.0 4.14.M.0 11.14.M.2 [end] [level] 24 [colour] 1F6384 [size] 16.31 [author] Janusz Pelc [level_notes] Removed a life from 4.24 [data] QQQQQQQQQQQQQQQQ QRQ.QT.Q.Q.....Q Q.Q.QQ.Q...QQQ.Q Q..#.....Q.Q.Q*Q QQQQ.QQ.QQQQ...Q Q..Q..Q....QQQ.Q QQ...QQ.QQ...Q.Q QT.Q@...Q..Q.Q.Q QQQQQ.QQQ.QQQQ.Q Q...........QT.Q Q.QQ.Q.QQQQ.QQQQ Q..QQQ.TQ.Q....Q QQ...Q.QQ.QQQQ.Q Q..Q.Q..Q..TQ..Q QQQQ.QQ.Q.QQQ.QQ Q.......Q......Q Q.QQQQQQQQQQQQ.Q Q.Q.Q...Q..Q...Q Q..@..!.QQ...QTQ Q.QTQ...Q..QQQQQ QQQQQQQ.QQ.Q.Q'Q Q....Q...T...Q.Q Q.QQ...Q.QQQ.Q.Q Q..QQQQQ..Q..Q.Q QQ...Q...QQQ.Q.Q Q..QQQ.Q.TQ..Q.Q Q.QQTQ.QQQQ.QQ.Q Q..Q........Q..Q Q.QQQQ.QQQ.QQQ.Q Q...........*..Q QQQQQQQQQQQQQQQQ [additional] 0 [end] [level] 25 [colour] 996600 [size] 16.31 [author] Janusz Pelc [level_notes] Removed a life from 1.19 [data] --OOOOO&OOOOO--- --OO.......OO--- --O&....R..&O--- --OO.......OO--- --OOOOOOOOOOO--- ---------------- --QQQQQ--QQQQQQQ ----QQQ--QQQ--QQ QQ--QQQ--QQQQQQQ QQQQQQQ--QQQ---- ---------------- OOOOOOOOOOOOOOOO O...O......O...O O.&.O...?..O.&.O O...O....T.O...O O...O......O...O OODOOOO.OOOO...O O%...TO.O'.D...O OOOOOOO.OOOO...O O..T^.........TO OOOOOOOOOOO.OOOO O.........O.O.!O O..T....}.O.O..O O..}....T.O.OO.O O....O....O.O..O O..OOO#OOOO.O.OO O..OM...%...O..O O..OOOOOOOOOOOHO O..O...O...O...O O&...O...O...OTO OOOOOOOOOOOOOOOO [additional] 10 7.0.&.1.0 3.2.&.2.0 11.2.&.3.0 2.13.&.2.1 13.13.&.3.1 4.19.^.0.0.0 8.22.}.2.2.2.0.0.0 3.23.}.0.0.2.0.0.0 4.26.M.0 1.29.&.1.1 [end] [level] 26 [colour] 961B2B [size] 16.31 [author] Janusz Pelc [data] OOOOOOOOOOOOOOOO OTTTT..O....O.&O O....O.........O O....OO..o#o..OO O....O..oo.oo..O O....O.oo...oo.O O....O.#..!..#@O O....O.oo...oo.O O....O..oo.oo..O O....OO..o#o..OO O....O....@....O O....O..O....O.O O.......O....O.O O....OOOOOOO.OOO O....O'..O&..O^O O....O.......O.O O....O..O.O..O.O O....OOOO.OOOO.O O......&O.O&..&O O^^^^OOOO.OOOO.O O^^^^O.......O.O O....O.bbbbb.O.O O....O.......O^O O....OOOO.OOOOOO O....O..O.O...TO O....O...&.....O O....O.OOOOOOOOO O....O.........O O....OOOOOOOOO.O O.........R....O OOOOOOOOOOOOOOOO [additional] 16 14.1.&.1.0 10.14.&.1.1 7.18.&.2.0 11.18.&.2.1 14.18.&.3.0 9.25.&.4.0 14.22.^.0.0.0 14.14.^.0.0.0 1.19.^.3.3.0 2.19.^.3.3.0 3.19.^.3.3.0 4.19.^.3.3.0 1.20.^.1.1.0 2.20.^.1.1.0 3.20.^.1.1.0 4.20.^.1.1.0 [end] [level] 27 [colour] 1F6384 [size] 16.31 [author] Janusz Pelc [data] oooooo---------- o'...oo--------- o.....oooooo---- oo......^..ooooo -oo.T...^......o --o.....^..T...o -oo.....^.....oo oo......ooooooo- o.....ooo------- oDDDDDo--------- o.....oooooo---- oo.........ooo-- -oo..........ooo --ooo..ooo.....o ----o#.o-oo..R.o ---oo.#o--o....o ---o...oo-o..ooo -ooo##..o-o.oo-- oo.....oo-oTo--- o.....oo--ooo--- o.....o--------- o.....ooo-oooo-- oo.}....ooo..ooo -o...}.......#.o -oo....}.....#.o --o}..!....ooo&o --oo.}..}..o-o.o ---o...}..oo-o.o ---o......o--o.o ---oo&...oo--o%o ----oooooo---ooo [additional] 13 8.3.^.1.1.0 8.4.^.3.3.0 8.5.^.1.1.0 8.6.^.3.3.0 5.29.&.1.0 14.25.&.1.1 5.26.}.0.0.0.0.1.1 8.26.}.0.0.0.0.1.1 7.27.}.0.0.0.0.1.1 3.25.}.0.0.0.0.1.1 7.24.}.0.0.0.0.1.1 5.23.}.0.0.0.0.1.1 3.22.}.0.0.0.0.1.1 [end] [level] 28 [colour] 996600 [size] 16.31 [author] Janusz Pelc [level_notes] Removed a life from 14.26 [data] ------QQQQ------ -QQQQQQ^^QQQQQQ- -Q............Q- -Q.&........&.Q- -Q............Q- -QQQQQQ..QQQQQQ- ------Q..Q------ ---oooQ..Qooo--- oooo--Q..Q--oooo o-----Q..Q-----o o-----Q..Q-----o o-QQQQQ..QQQQQ-o o-Q..........Q-o ooQ.T......%.Qoo --Q..........Q-- QQQQQQQQQQQQQQQQ Q&...&..#..&.R.Q QQQQQQQQQQQQQQQQ ---------------- -QQQQQ---------- -Q...Q---------- -Q.&.Q---QQQQQQQ -Q...Q---Q.....Q -QQQ.Q---Q^QQQ.Q ---Q.QQ}QQ.QQQ.Q QQQQ.Q...Q...Q.Q }....Q...Q.Q&..Q }....Q...Q.Q.QQQ QQQQ.Q...Q.Q.!.Q ---Q.....D.Q...Q ---QQQQQQQQQQQQQ [additional] 13 0.27.}.0.0.2.0.0.0 0.26.}.0.0.2.0.0.0 7.24.}.1.1.2.0.0.0 3.21.&.1.0 1.16.&.1.1 5.16.&.2.1 3.3.&.2.0 12.3.&.3.0 11.16.&.3.1 12.26.&.4.0 10.23.^.1.1.0 7.1.^.1.1.0 8.1.^.1.1.0 [end] [level] 29 [colour] 7C3C77 [size] 16.31 [author] Janusz Pelc [level_notes] Removed a life from 1.11 [data] QQQQQQQQQQQQQQQQ Q#.....Q#.#Q...Q Q^.........~.R.Q Q#.....Q.#.Q...Q QQQ.QQQQQQQQ.QQQ }......Q%...&..Q QQQQ.QQQ.#.Q.Q.Q QT.....Q...Q.Q.Q QQQ.QQ.Q#T..&..Q }....Q.QQQQQQQQQ QQQQ.Q.Q...Q...Q Q....Q...Q...Q.Q QQQQQQQQQQQQ.Q.Q Q.....QQ.....Q.Q Q.....QQ.*...Q.Q Q..TQ....QT..Q.Q Q..QQ.HH.QQ..Q.Q Q..@..HH.....Q.Q QQQ.HHHHHH.QQQ.Q QQQ.HHHHHH.QQQDQ Q.....HH.*...Q.Q Q..QQ.HH.QQ..Q.Q Q..TQ....QT..Q.Q Q..@..QQ.....Q.Q QT....QQ....TQ.Q QQQQQQQQQQQQQQ.Q Q...bbbbbbbbbb.Q Q.!.bbbb.....~.Q Q.T.bbbb.TT..#.Q Q...bbbbbbbbbb.Q QQQQQQQQQQQQQQQQ [additional] 5 12.5.&.1.0 12.8.&.2.0 0.5.}.0.0.0.0.0.0 0.9.}.0.0.0.0.0.0 1.2.^.1.1.0 [end] [level] 30 [colour] 1F6384 [size] 16.31 [author] Janusz Pelc [data] QQQQQQQQQQQQQQQQ Q...#..~.......Q Q.R..#.Q...T.Q.Q Q...###Q.~#..Q.Q Q......Q...#.Q.Q QT.....~.......Q QQQQQQQQ..~..Q.Q Q..#b..#.....Q.Q Q..#b......~.Q.Q Q..#b........Q.Q Q..#bT....#.TQ.Q Q..QQQQQQQQQQQ.Q Q..Q.*.......Q.Q Q..Q.QQ.Q.'T.Q.Q Q..Q.QQ.QQQQQQ.Q Q.......Q}Q}Q..Q Q...QQQQQ.Q.Q..Q Q...Q...Q.Q.Q..Q Q#~#Q.%.Q.Q.Q..Q Q...Q..........Q QQ.QQQQQQQQQQQQQ Q...Q.}}}..Q...Q Q...Q......Q.T.Q Q...Q.....!Q.T.Q Q...Q.QQQQQQ.T.Q Q...Q......Q...Q QQ.QQ...bQ.QQDQQ Q....~.........Q Q.QQQ..T.Q.QQQ.Q Q....~.....@...Q QQQQQQQQQQQQQQQQ [additional] 5 9.15.}.1.1.2.0.0.0 11.15.}.1.1.2.0.0.0 6.21.}.1.1.1.0.0.0 7.21.}.1.1.1.0.0.0 8.21.}.1.1.1.0.0.0 [end] [level] 31 [colour] 996600 [size] 16.31 [author] Janusz Pelc [data] QQQQQQQQQQQQQ--- Q...Q...Q%..Q--- Q.R.Q.&.Q...Q--- Q...Q...Q...Q--- Q#..Q..TQ^..Q--- Q#.#Q..TQ...Q--- Q#.#QT'#Q...Q--- Q.#.Q##.Q...Q--- QT..Q...Q...Q--- Q#.#Q#.#D...Q--- Q.#.Q#..Q...Q--- Q#..Q.##QQQ.Q--- Q#..Q.#.Q-QTQ--- Q.T#QT.#Q-QTQ--- Q.#.Q.#.Q-QTQ--- Q#.#Q#.TQ-QDQ--- Q.#.Q.#.Q-Q.QQQQ Q%.#Q#.#Q-Q....Q Q##.Q#T.Q-QQ.~.Q Q.#.Q.#.Q--Q.#.Q Q#......Q--Q...Q QQQQQQQQQ--QQ.QQ ------------Q.Q- QQQQQQQQQQQQQ.QQ Q...H.#..#.....Q Q.!.H.b##...#..Q Q...H..#T.##.#TQ QHHHH.#.#..HH#HQ Q..#.#...#.H...Q QT#..T##..TH.&.Q QQQQQQQQQQQQQQQQ [additional] 3 6.2.&.1.0 13.29.&.1.1 9.4.^.1.1.0 [end] [level] 32 [colour] 961B2B [size] 16.31 [author] Janusz Pelc [level_notes] Removed a life from 9.13 [data] QQQQQQQQQQQQQQQQ QT...QQQQQQ....Q Q.QQ#..T....QQ.Q Q....QQQQQQ.QQTQ QQQQ.QQQQQQ.QQ.Q Q...&..#.QQ.QQ.Q Q.QQQQQQ.QQ.QQ.Q Q.QQQQQQ.R.&QQ.Q Q....QQQ.QQ.QQ.Q QQQQ.QQQ.QQ.QQ.Q QQQQ&....QQ....Q QQQQTQQ.QQQQ.QQQ Q....QQ.QQQQ.QQQ Q.QQQQQ&...T&QQQ Q.QQQQQ.QQQQ.QQQ Q.QQQQQ.QQQQ.QQQ Q..............Q Q.QQ.QQ.QQ.QQQ.Q Q.QQ.QQ.QQ.QQQ.Q Q.QQT.....T..#.Q Q.QQQQQQQQ.QQQ.Q Q.QQQQQQQQ.QQQ.Q QTQQ.......Q...Q Q.QQ.QQQQQQQ.QQQ Q.QQTQQQQQQQ.QQQ Q&....*......QQQ QQTQQ.QQ.QQQQQQQ QT&.Q....Q.....Q Q.Q.QQQQQQ.T.!.Q Q..............Q QQQQQQQQQQQQQQQQ [additional] 7 11.7.&.1.0 12.13.&.2.0 7.13.&.3.0 2.27.&.4.0 1.25.&.5.0 4.10.&.6.0 4.5.&.7.0 [end] [level] 33 [colour] 1F6384 [size] 16.31 [author] Janusz Pelc [data] QQQQQQQQQQQQQQQQ Q&.....#....R.&Q QQQQ.QQQQQ.QQQQQ Q^.............Q Q........HHH...Q QHHH.....HTH...Q QHTH.HHH.HHH...Q QHHH.HTH.......Q Q....HHH.H.HHH.Q Q........b.HTH.Q Q..........HHH.Q Q#QQQQQQQQQQQQQQ Q#....Q%.Q...~.Q Q..!..Q..Q.Q.Q.Q Q.M#M....Q.~.~.Q Q.....Q......Q.Q QQQQQQQ..Q.~~..Q ------Q&...Q.Q.Q QQQ---QQQQQQQQQQ Q&Q------------- Q.Q--QQQQQQQQQQ- Q.Q--QT.D.DT.%Q- Q.Q--QQQQ.QQQQQ- Q.Q-----Q.Q----- Q.Q-QQQQQ.QQQQQ- Q.Q-Q}........Q- Q.Q-Q.........Q- Q.Q-Q}........Q- Q.Q-QQQQQQ.QQQQ- Q&Q------Q&Q---- QQQ------QQQ---- [additional] 11 1.1.&.1.0 14.1.&.2.0 1.19.&.2.1 7.17.&.1.1 1.29.&.3.0 10.29.&.3.1 5.27.&.0.0.1.0.0.0 5.25.&.0.0.1.0.0.0 2.14.M.2 4.14.M.0 1.3.^.0.1.1 [end] [level] 34 [colour] 996600 [size] 16.31 [author] Janusz Pelc [data] QQQQQQQQQQQQQQQQ Q^....##.......Q Q............R.Q Q..............Q Q.........#....Q Q............#.Q Q........#.....Q Q.T...}........Q Q.....QHHHHHHHHQ Q.....Q...QQ...Q Q.....Q.T.QQ.T.Q Q...T.Q...QQ...Q Q.....QQQQQQQQQQ Q..............Q Q.....QQQQQ#QQ.Q Q.....Q...Q....Q Q.....&.b.D.QQ.Q Q..T..Q...Q....Q Q.....QQQQQ#QQ.Q Q..............Q Q.....QQQQQ.QQQQ Q..T..Q........Q Q.....Q......T.Q Q.#...Q.^^.....Q Q.....Q..^^....Q QT....Q...^^...Q Q...T.Q....^^..Q Q.....Q.....^^.Q Q.#...Q.%......Q Q....TQ.......!Q QQ}QQQQQQQQQQQQQ [additional] 14 6.16.&.1.0 1.1.^.0.1.1 6.7.}.3.3.0.0.0.0 2.30.}.3.3.0.0.0.0 8.23.^.2.0.0 9.24.^.2.0.0 10.25.^.2.0.0 11.26.^.2.0.0 12.27.^.2.0.0 9.23.^.0.0.0 10.24.^.0.0.0 11.25.^.0.0.0 12.26.^.0.0.0 13.27.^.0.0.0 [end] [level] 35 [colour] 7C3C77 [size] 16.31 [author] Janusz Pelc [data] QQQQQQQQQQQQQQQQ Q....Q^Q.......Q Q....Q.Q..Q.Q..Q Q.R..Q.Q..Q.Q..Q Q.........Q^Q..Q QQQQQQQQQQQQQ..Q Q^.............Q Q..............Q Q....###.......Q Q.....b.......!Q QDDDDQQQQQQQQQQQ Q.....#bbb#.Q.VQ Q......TTb#.Q..Q Q...#..TTb#.Q..Q Qbbbbbbbbb#.Q..Q QQQQQQQQQQQ&QQQQ Q.............@Q Q..............Q Q..............Q Q...Q.Q.Q.Q*...Q Q....Q...Q.....Q Q......@.......Q Q......Q.......Q Q.....Q....Q*..Q Q...TQ....Q....Q Q...Q....Q.....Q Q.......QT.....Q QQ@...........TQ QTQ..T.........Q Q..............Q QQQQQQQQQQQQQQQQ [additional] 7 11.15.&.1.1.0 6.1.^.1.1.0 11.4.^.3.3.0 1.6.^.0.1.1 11.19.*.1 12.23.*.1 7.21.@.3 [end] [level] 36 [colour] 1F6384 [size] 16.31 [author] Janusz Pelc [level_notes] Removed a life from 13.29 [data] ---------------& -...---...---... -.-.....-.---.-- -@---T---@....-- -.-.....-.---.-- -...---...---.-- --.----------.-- --.----------.-- --.----------.-- oo.oooooooooo.oo o..............o o.R............o o..............o o.............!o o}HHHHbHHHHbHHMo oooo.ooooooooooo ----.----------- ----.----------- -^.............- ------.--------- ------.--------- oooooo.ooooooooo o......#T..o...o o.ooooo..o...o.o o.o...o.oooooo.o o.o.o.oTo......o o.o.o.ooo.oooooo o...o.....o...&o ooooooooooo.oooo }HHHHHHHHHHHHHTo oooooooooooooooo [additional] 8 15.0.&.1.0 14.27.&.1.1 1.14.}.0.0.1.0.0.0 0.29.}.0.0.1.0.0.0 1.18.^.0.0.0 1.3.@.1 9.3.@.3 14.14.M.2 [end] [level] 37 [colour] 996600 [size] 16.31 [author] Janusz Pelc [data] OOOOOOOOOOOOOOOO O...O.....TO...O O.R.OO.OOOOO.&.O O....O..OO.D...O O.OO.OO....O.%.O O.TO.OOOOO.O...O O.OO..TOT..OOOOO O..OO.OOOO....TO OO.........OOOOO OO.OO.O!OT...OVO O..OO.OOOO.O.OVO OO......O..O.OVO OT.OOOO.O.OO.OVO OO...TO......OVO O..OO.O.OOOO.OVO OO.TO.....OO.OVO O......OO....O.O OOO.OO.OT.OO...O O......OO.OOO.TO O.OOOO......O.OO O.OTOO.OOOO.O.OO O........O..O..O OOO.OOOO.O.OOO.O OTO.O.%O.......O O...O.OO.OOOOOOO OOO......D.....O O...ooooooo..&.O OTO.o.....o....O OOOOo.&.'.oOOOOO OOOOo.....oOOOOO OOOOoooooooOOOOO [additional] 3 13.26.&.1.0 6.28.&.1.1 13.2.&.1.2 [end] [level] 38 [colour] 961B2B [size] 16.31 [author] Janusz Pelc [data] OOOOOOOOOOOOOOOO O!.............O O#HHHHHHHHHHHH#O O.HHHHHHHHHHHH.} O.HHHHHTHHHHHH.O }.HHHHHHHHHHHH.O O.HHHTHHHHHTHH.O O.HHHHHHHHHHHH.} O.HHHHHHTHHHHH.O }.HHHHHHHHHHHH.O O.HHHTH#HHHHHH.O O.HHH...HHHHHH.O O.HHHHHHHH#HHH.O O.#THTHHHHHHH#.} O.HHHHHHHHHHb#.} O.#HTHHHHHHbH#.} O.HHHHTHHHHHH#.O O.HTHHHHHHHHH#.O O.HHHTHH...HH#.O O.HHHHHHHH.HH#.O O.HT#HHHHH.HHH.O O.HHHHHHHH.HHH.O O.H'HHHH.....H.O O.HHHHHHHH.##H.} O.HH#HHHHH...H.O O.HHHHHHHHHHHH.O O.HHHHHHHHHHHH.O O.HHHHHHHHH#HH.O O..............O O.R....#.......O OOOOOOO}OOOOOOOO [additional] 9 0.5.}.0.0.2.0.0.0 0.9.}.0.0.2.0.0.0 15.3.}.2.2.2.0.0.0 15.7.}.2.2.2.0.0.0 15.13.}.2.2.2.0.0.0 15.14.}.2.2.2.0.0.0 15.15.}.2.2.2.0.0.0 15.23.}.2.2.2.0.0.0 7.30.}.3.3.2.0.0.0 [end] [level] 39 [colour] 1F6384 [size] 16.31 [author] Janusz Pelc [data] OOOOOOOOOOOOOOOO O..............O O.R....~.....T.O O..............O O............#.O O...T...~......O O..............O O.~...........?O OOOOO^OOOO^OOOOO O......OO......O O.OOOOOOOOOOOO.O O......OO.#....O O......OO!..O}.O O......OOOO....O M....^....O.O..O M.^.......O.OT.O O......OOOO.O..O O......O...#...O OOOOO..O.OO.O}.O O...O..O.OT....O O.&.H..O.OOOOOOO O...O..O.......O OOOOO..O.OOOOO.O OT.....O.OOOOO.O O......O.@..@..O O..OOOOOOOOOO..O O.TO....#T.#O.OO O..O.&.#T#T.O..O O..O...##T.#OO.O O..O.?.#...#O'.O O}}OOOOOOOOOOOOO [additional] 13 5.8.^.0.0.0 10.8.^.0.0.0 13.12.&.1.0 0.14.M.0 0.15.M.0 5.14.^.0.0.0 2.15.^.0.0.0 2.20.&.1.0 13.12.}.1.1.0.0.0.0 13.18.}.3.3.0.0.0.0 1.30.}.3.3.1.0.0.0 2.30.}.3.3.1.0.0.0 5.27.&.1.1 [end] [level] 40 [colour] 996600 [size] 16.31 [author] Janusz Pelc [level_notes] Removed a life from 13.3 [data] OOOOOOO--OOOOOOO O.....O--O.....O O.oTo.OOOO.o*o.O O..o@...D..To..O O.oTo.OOOO.o*o.O O.....O--O.....O OOO.OOO--OOOOOOO --O.O----------- OOO.OOO--------- O.....O--------- O.o.o.O-OOOOOOO- O.%oT.O-O.....O- O.o*o.OOO.oT#.O- O..........M@.O- OOOOOOOOO.#To.O- --------O.....O- OOOOOOO-OOO.OOO- O.....O---O.O--- O.oTo.O-OOO.OOO- O..oT.O-O.....O- O.o@o.O-O.o.o.O- O.....O-O.@o@.O- OOO.OOO-O.o.o.O- --O.O---O.....O- --O.O---OO.OOOO- --O.O----O.O---- OOO.OO}OOO.OOOOO O....O.O.......O O.!..O.O.O...R.O O........@.....O OOOOOOOOOOOOOOOO [additional] 3 11.13.M.2 10.21.@.2 6.26.}.1.1.0.0.0.0 [end] [level] 41 [colour] 7C3C77 [size] 16.31 [author] Janusz Pelc [data] oooooooooooooooo o...o......o...o o.&.o...%..o.&.o o.#..........#.o M^.............M o..............o o.#..#...#..#..o o.}..}...}..}..o o..............o o.........T....o o..T...........o o............T.o o.#....T...#...o o..........?...o o.....#.T......o o............#.o o........T.....o o..............o o...T......T...o o.............To o....ooooo.....o o....ooooo.....o oT...o...o...##o o....D.b.D..T#!o oooooo...ooooooo -----o...o------ -ooooo.&.ooooo-- -o...o...o...o-- -o.&.ooooo.R.o-- -o...........o-- -ooooooooooooo-- [additional] 11 2.2.&.1.0 3.28.&.1.1 0.4.M.0 15.4.M.2 1.4.^.0.1.1 2.7.}.1.1.0.0.0.0 5.7.}.1.1.0.0.0.0 9.7.}.1.1.0.0.0.0 12.7.}.1.1.0.0.0.0 7.26.&.2.0 13.2.&.2.1 [end] [level] 42 [colour] 1F6384 [size] 16.31 [author] Janusz Pelc [data] OOOOOOOOOOOOOOOO OR~............O OOOOOOOOTOOOOOOO O..............} OOOTOOOOOOTOOOOO }..............O OOOOOOTOOOOOOOOO O..............} OOOOTOOOOTOOTOOO }..............O OOOOOOOOOOTOOOOO }.............TO OO.OOOOOOOOOOOOO O..#^........O.O OOOOOO.OOOOO...O }..........O.O.O OOOOO.OOOOOO.O.O }.........TO.O.O OOOOOOOO.OOO.O.O --O........}.O&O --O.O.OOOOOO.OOO --O.O.O----O.O-- --OTO.O----O.O-- OOOOO.OOOO-O.O-- O}......}O-O.O-- OOOOO.OOOO-O.O-- ----O.O----O.O-- ----O.O-OOOO.OOO ----O.O-O}....}O ----O.O-OOOO.OOO ----O&O----O!O-- [additional] 15 15.3.}.2.2.0.0.0.0 0.5.}.0.0.0.0.0.0 15.7.}.2.2.0.0.0.0 0.9.}.0.0.0.0.0.0 0.11.}.0.0.1.0.0.0 4.13.^.0.0.0 0.15.}.0.0.1.0.0.0 0.17.}.0.0.1.0.0.0 11.19.}.2.2.1.0.0.0 14.19.&.1.0 1.24.}.0.0.1.0.0.0 8.24.}.2.2.1.0.0.0 5.30.&.1.1 9.28.}.0.0.1.0.0.0 14.28.}.2.2.1.0.0.0 [end] [level] 43 [colour] 7C5D1D [size] 16.31 [author] Janusz Pelc [data] oooooooooooooooo o#...#T#..#}#T#o o}#...#...##...o o#..#.#..#...#.o o.##....#......o o....oooooo.##.o o.#..o^...o.#.#o o#..#o....o#T..o o.#..o....o..#.o o....o.!..o.#T#o o....o.#..o#.o.o o####o.T..o.#T#o o####o...T#....o o....o....o.##.o o...#o..T.o...#o o.#..o....o#...o o..#.oT...o..#To o....ooooooHHHHo o..............o o.R.....&..bbb.o o..............o o##..ooooooHHHHo o....o----o....o o..#.o----o.%%.o o....o----o....o o.#..o----o####o oDDDDo----o....o oT...o----o.T..o o....o----o..&.o o.}}.o----o....o oooooo----oooooo [additional] 7 1.2.}.0.0.0.0.0.0 11.1.}.1.1.0.0.0.0 6.6.^.0.1.1 2.29.}.3.3.0.0.0.0 3.29.}.3.3.0.0.0.0 8.19.&.1.0 13.28.&.1.1 [end] [level] 44 [colour] 2E3D9B [size] 16.31 [author] Janusz Pelc [level_notes] Removed a life from 13.24 [data] OOOOOOOOOOOOOOO- ORO.O.OTO.O.O.O- O.O.O.O.O.O.O.O- O.O^O.O^O.O^H.O- O.O.O^O.H^O.O.O- O.O.O.H.O.O.O.O- O.O.O.O.O.H.O.O- O...O.O.O.O.O.O- O'O.H.O.O.O.O.O- OOOOOOOOOOOOO.OO O..............O O..O@O@O@O@O@O.O O.O.O.O@O@O@O..O O..............O OOO.OOO.OOO.OOOO -O...O...O...O-- -O.}.O.&.O.O.O-- -O...O...O...O-- -O...OOOOOO.OOOO OO.....O.......O O....T.O.b...T.O O.#T...O...}...O O.OOOOOOOOOOODOO O.&....O...O...O O.O..T.O.!.O...O O.O....O.......O O.OOOOOOOOOOOOOO O.O....O...O...O O.O..%.O.'.D.&.O O.&....O...O...O OOOOOOOOOOOOOOOO [additional] 19 3.3.^.1.1.0 5.4.^.1.1.0 7.3.^.1.1.0 9.4.^.1.1.0 11.3.^.1.1.0 4.11.@.2 6.11.@.2 8.11.@.2 10.11.@.2 12.11.@.2 7.12.@.0 9.12.@.0 11.12.@.0 3.16.}.1.1.1.0.0.0 7.16.&.1.0 13.28.&.1.1 2.29.&.2.0 2.23.&.2.1 11.21.}.3.3.1.0.0.0 [end] [level] 45 [colour] 417C25 [size] 16.30 [author] Janusz Pelc [data] QQQQQQQQQQQQQQQQ Q..............Q Q.T....T....T..Q Q....T....T....Q Q}............}Q QQQQ.QQQQQ.....Q QHHHHHHHHQ.....Q QHHHHHHHHQQQDQQQ QHHHHHHHHQ.....Q Q........Q.?.!.Q Q.#......QQ....Q Q.......#}QQQQQQ Q..%%..Q.QQ....Q Q..%%..D....QQ.Q Q......Q..Q...#Q QQ....QQ.#Q#QQ.Q QM....?Q#..#.R.Q QM....?Q.Q.Q.Q.Q QQQQQ.QQQQQQQQQQ Q..Q...Q...Q...Q QT.D.&.D.T.D.%.Q Q..Q...Q...Q...Q QDQQQDQQQDQQQDQQ Q..Q...Q...Q...Q Q%...T.D.&...&.Q Q..Q...Q...Q...Q QDQQQ.QQQDQQQDQQ Q..Q...Q...Q...Q QT.D.&.D.T...%.Q QQQQQQQQQQQQQQQQ [additional] 9 1.4.}.3.0.0.1.0.0 14.4.}.2.2.0.0.0.0 9.11.}.3.0.0.1.0.0 1.16.M.0 1.17.M.0 5.20.&.1.0 5.28.&.2.0 13.24.&.1.1 9.24.&.2.1 [end] [level] 46 [colour] 914E4E [size] 16.31 [author] Janusz Pelc [data] OOOOOOOOOOOOOOOO O...O......O...O O.R.O.&..%.O.&.O O.&.O......O...O O...O......O...O OODOOOOO}OOOOHOO O...O......O...O O.'.O.&..!.O.&.O O###OO#####O###O OOOOOOOOOOOOOOOO ---------------- ---------------- ---------------- ---------------- ---------------- OOOOOOOOOOOOOOOO O^##...........O O#.............O O..............O OHHHHHHHHHHHO..O OHHHHHH#HHHHO..O OTOTOTOTOTOTO..O OOOOOOOOOOOOO..O O..............O O.b.OOOOOOOOO..O O..............O OOOOO.O.O.O.O..O O...O.O.O.O.O..O O.&...O.O.O.O..O O...O.@.@.@....O OOOOOOOOOOOOOOOO [additional] 8 2.3.&.1.0 6.7.&.1.1 13.7.&.2.1 6.2.&.2.0 13.2.&.3.0 2.28.&.3.1 1.16.^.0.1.1 8.5.}.3.0.0.1.0.0 [end] [level] 47 [colour] 996600 [size] 16.31 [author] Janusz Pelc [data] QQQQQQQQQQQQQQQQ Q..............Q Q..bbbbbbbbbb..Q Q..b########b..Q Q..b#...^..#b..Q Q..b#^TTTT^#b..Q Q..b#.^....#b..Q Q..b########b..Q Q..bbbbbbbbbb..Q Q..............Q Q..............Q Q..............Q Q..............Q Q..............Q Q..QQQ.QQQ.QQ..Q Q....Q..Q...Q..Q Q.b.........Q..Q QQQ.Q..QQQ.....Q Q.Q.Q...@Q...Q.Q Q.Q.QQ......QQ.Q Q......QQ....Q.Q QQQQ.%.QQ.QQ...Q Q..Q..*....QQ..Q Q....QQQ.......Q Q.Q...Q..QQ.QQQQ Q.QQQ.....Q..Q.Q Q.........Q....Q QQQQQQQQQ......Q Q....D..D....&&Q Q.!'.Q..Q....&RQ QQQQQQ}.QQQQQQQQ [additional] 8 8.4.^.0.0.0 5.5.^.1.1.0 6.6.^.0.0.0 10.5.^.3.3.0 6.30.}.3.0.0.1.0.0 13.29.&.1.0 13.28.&.2.0 14.28.&.3.0 [end] [level] 48 [colour] 1F6384 [size] 16.31 [author] Janusz Pelc [level_notes] Removed a life from 9.2 [data] OOOOOOOOOOOOOOOO O###O......O###O O.&.O.&....O.&.O O###O......O###O ObbbOOOOOOOObbbO O..............O O..............O O..............O O.OOO.OOO.OOO..O O...ObOb...O...O O.......OO...OOO O.O.OOO..OO.bO.O O.O..O.R.....O.O O.OO.b..OOOO...O O........b...O.O OOOOO.OOO..OOO.O O.....O........O OOOOO...OOO.OO.O O.....O...O..O.O O..OO.OOO..b.O.O O.OO......O....O O....OO.OOO.OOOO O.O..OO.......OO O.OO.b..OOO.O..O O..O......O.OO.O O............O.O OOOOOOO}..OO...O O.....O...O....O O.&.!.O...O..?.O O.....O........O OOOOOOOOOOOOOOOO [additional] 5 2.2.&.1.0 2.28.&.1.1 6.2.&.2.0 13.2.&.2.1 7.26.}.3.0.0.1.0.0 [end] [level] 49 [colour] AB2300 [size] 16.31 [author] Janusz Pelc [data] OOOOOOOOOOOOOOOO O....O'........O O.&..O.......R.O O....O.b.......O O....O.........O O....O.........O O==============O O....O....O....O O....OT..TOT..!O O....OOOOOOOOOOO O..............O O}.............O O.............}O O.%.......O....O OOOOOOOOOOOb...O O.%.O....TO....O O.O...OO&OO####O O.OOOOO...O####O O.......OTO....O OOOOOOOOOOO....O O..@O..........O OT..D..........O O...O..........O OOOOO.........}O O..*O..........O OT..D...#...#..O O...O..O.O.O.O.O OOOOOOOO^OOO.OOO O...O.......^..O OTO...O...T...TO OOOOOOOOOOOOOOOO [additional] 21 2.2.&.1.0 8.16.&.1.1 1.11.}.0.0.2.0.0.0 14.12.}.2.2.2.0.0.0 14.23.}.2.2.0.0.0.0 12.28.^.1.1.0 8.27.^.1.1.0 1.6.=.2 2.6.=.2 3.6.=.2 4.6.=.2 5.6.=.2 6.6.=.2 7.6.=.2 8.6.=.2 9.6.=.2 10.6.=.2 11.6.=.2 12.6.=.2 13.6.=.2 14.6.=.2 [end] [level] 50 [colour] 004848 #003333 [size] 16.31 [author] Janusz Pelc [data] oooooooooooooooo o....o...o.....o o.R..o.!......}o o....o...o.....o o....ooooo...&.o o}.........}...o ooo.oooooooooooo ---.------------ -}.............- -------------.-- -------------T-- ------ooo------- ooooooo&oooooooo o..............o o....b......#..o o===..======...o oo===..=====...o ooo==..=====...o o..........b...o o..............o ooooooo&oooooooo ------ooo------- ---------------- ---------------- oooooooooooooooo o..............o o.&...T.....T..o o........T.....o oooo...........o oT}....}......To oooooooooooooooo [additional] 34 1.5.}.0.0.1.0.0.0 11.5.}.3.3.0.0.0.0 14.2.}.2.2.0.0.0.0 1.8.}.0.0.1.0.0.0 13.4.&.1.0 7.20.&.1.1 7.12.&.2.0 2.26.&.2.1 2.29.}.3.0.0.1.0.0 7.29.}.3.0.0.1.0.0 1.15.=.2 2.15.=.2 3.15.=.2 6.15.=.2 7.15.=.2 8.15.=.2 9.15.=.2 10.15.=.2 11.15.=.2 2.16.=.2 3.16.=.2 4.16.=.2 7.16.=.2 8.16.=.2 9.16.=.2 10.16.=.2 11.16.=.2 3.17.=.2 4.17.=.2 7.17.=.2 8.17.=.2 9.17.=.2 10.17.=.2 11.17.=.2 [end] [level] 51 [colour] 996600 [size] 16.31 [author] Janusz Pelc [data] QQQQQQQQQQQQQQQQ Q....@.@.@Q....Q Q.T.T.T.T.Q..R.Q Q.........Q....Q Q=========Q....Q Q..............Q Q.............}Q Q..............Q Q..............Q QQQQQQQQQQQ....Q Q........*Q....Q Q..!...?..Q....Q Q.*..*....Q....Q Q=========Q....Q Q.............@Q Q@............}Q Q.............@Q Q..............Q QQQQQQQQQQQ...@Q Q..@...........Q Q.^.#.........@Q Q..............Q Q@............@Q Q..@...........Q Q==============Q Q..............Q QQDQQ==========Q Q...Q..........Q Q}..D.%......%.Q Q...Q..........Q QQQQQQQQQQQQQQQQ [additional] 46 1.4.=.2 2.4.=.2 3.4.=.2 4.4.=.2 5.4.=.2 6.4.=.2 7.4.=.2 8.4.=.2 9.4.=.2 1.13.=.2 2.13.=.2 3.13.=.2 4.13.=.2 5.13.=.2 6.13.=.2 7.13.=.2 8.13.=.2 9.13.=.2 1.24.=.2 2.24.=.2 3.24.=.2 4.24.=.2 5.24.=.2 6.24.=.2 7.24.=.2 8.24.=.2 9.24.=.2 10.24.=.2 11.24.=.2 12.24.=.2 13.24.=.2 14.24.=.2 5.26.=.2 6.26.=.2 7.26.=.2 8.26.=.2 9.26.=.2 10.26.=.2 11.26.=.2 12.26.=.2 13.26.=.2 14.26.=.2 1.28.}.3.0.0.1.0.0 2.20.^.0.1.1 14.15.}.2.2.0.0.0.0 14.6.}.2.2.0.0.0.0 [end] [level] 52 [colour] 004078 #003366 [size] 16.31 [author] Janusz Pelc [level_notes] Removed a life from 4.22 [data] --oooooooooooo-- --o.....o....o-- --o...R.D.'..o-- --o.....o....... --o#....o....o-. --o.#.#.oooooo-. --o.#.#.o%...o-. ...#.#.#o..&.o-. .-o.#.#.o#.#.o-. .-o##.T.o.#.#o-. .-o..#.#o#...... .-o.###.o.##.o-- .-o..#T#o....o-- .-o==========o-- .-o.....o....o-- ....o*o.o.T..o-- .-o.o&o.o....o-- .-o.ooo.o}...o-- .-o.oTo.o...}o-- .-o.....o....o-- .-ooooooo..T.o-- .-o.....o....o-- .-o...T.o.oo.o-- .-o.....o.oo@o-- .-oHHHHHo.oo.... .-o.....o....o-. ........oooooo-. --o.....o....o-. --o}..T.o.!..D.. --o.....o....o-- --oooooooooooo-- [additional] 16 11.7.&.1.0 5.16.&.1.1 3.28.}.0.0.2.0.0.0 12.18.}.2.2.1.0.0.0 9.17.}.0.0.1.0.0.0 3.13.=.2 4.13.=.2 5.13.=.2 6.13.=.2 7.13.=.2 8.13.=.2 9.13.=.2 10.13.=.2 11.13.=.2 12.13.=.2 13.13.=.2 [end] [level] 53 [colour] 996600 [size] 16.26 [author] Jan Vesely [level_notes] Created by Jan Vesely: not converted from Robbo [data] OROOOOOOOOOOOOOO O'O........HHH.! O.O........HHH.O O.O........HHHHO O.O........HHHHO O.O............O O.O.^.........MO O.O............O O.O..^........MO O.O............O O.O...^.......MO O.O...........}O O.O....^......MO O.O............O O.O............O O.O............O O.O............O O.O............O O.O............O OHO............O OHO............O OHO.b.b.b......O OHO............O OHO............O O..............O OOOOOOOOOOOOOOOO [additional] 5 14.6.M.2 14.8.M.2 14.10.M.2 14.12.M.2 14.11.}.2.2.1.0.0.0 [end] [level] 54 [colour] 7C3C77 [size] 16.31 [author] Janusz Pelc [level_notes] A0A3 [data] QQQQQQQQQQQQQQQQ QT............TQ Q...########...Q Q..###V##V###..Q Q..#R.####..#..Q Q..##......##..Q Q...########...Q Q&...@.@.@.@..TQ QQQQQQQQQQQQQQQQ ---------------- ---------------- QQQQQQQQQQQQQQQQ QT.^HH.........Q QQQQQQ.........Q QT.^HH.........Q QQQQQQ.....#...Q QT.^HH.........Q QQQQQQ......?..Q QT.^HH.........Q QQQQQQ.........Q Q..............Q Q.QQQQQQQQQQQQQQ Q...##.#.##.#..Q Q....#.##..#.'.Q Q.&...##.#.#..#Q Q...#..#..#.#..Q QQQQQQQQQQQQQQQQ Q...Q..!...Q...Q Q.&}........}&.Q Q.....Q..Q.....Q QQQQQQQQQQQQQQQQ [additional] 14 1.7.&.1.0 5.7.@.0 7.7.@.0 9.7.@.0 11.7.@.0 3.12.^.0.0.0 3.14.^.0.0.0 3.16.^.0.0.0 3.18.^.0.0.0 2.24.&.2.0 2.28.&.1.1 3.28.}.0.0.1.0.0.0 12.28.}.2.0.1.0.0.0 13.28.&.2.1 [end] [level] 55 [colour] 1F6384 [size] 16.31 [author] Janusz Pelc [level_notes] [data] QQQQQQQQQQQQQQQQ Q..........Q...Q Q.R.QQQQQQbQ.T.Q Q.....QQQQ.Q.T.Q QQQQQ.QQQQ.Q.T.Q Q'}'Q.QQQQDQ.T.Q Q..........Q...Q Q..........Q.&.Q Q..........Q...Q Q........#.QQQQQ Q...Q.#........Q QM#MQ......#.#.Q Q..&Q...#......Q Q...Q.....#.#..Q Q...Q..#.......Q QM..Q..........Q Q...Q==========Q Q..MQ..........Q Q...Q..........Q Q&#.Q..QQQQQQ.QQ QQQQQQ.Q----Q.Q- ----Q..Q---QQ.QQ ----Q.QQ---Q...Q QQQQQ..QQQ-Q.&.Q Q........Q-Q...Q Q...Q....Q-QQQQQ Q........Q------ Q..MQ....Q--QQQ- Q...Q..!.Q--QQQ- Q?.%Q....Q--QQQ- QQQQQQQQQQ------ [additional] 10 2.5.}.1.0.1.0.0.0 13.7.&.2.0 1.11.M.0 3.11.M.2 3.12.&.1.0 1.15.M.0 3.17.M.2 1.19.&.2.1 13.23.&.1.1 3.27.M.2 [end] [level] 56 [colour] 996600 [size] 16.31 [author] Janusz Pelc [level_notes] [data] QQQQQQQQQQQQQQQQ Q...Q@.....Q...Q Q.R.Q......Q.&.Q Q...Q....'.Q...Q Q...&@.....&...Q QQQQQQQQQQQQQQQQ Q...#..#.#T#T##Q Q.&...#.#THTHT#Q Q..#.#.#T#T#T#TQ Q##.#.#.#T#T#T#Q Q==============Q Q...Q...Q......Q Q.T.Q.T.Q.?..%.Q Q...Q...Q......Q QQQQQQQQQQQQQQQQ Q..........Q...Q Q.Q.^......Q.!.Q Q.Q........Q.}.Q Q.Q..Q..Q..Q...Q Q.Q........Q...Q Q.Q........Q...Q Q.Q........QQDQQ Q.Q............Q Q.QQQQQQQQQQ...Q Q.Q........Q.b.Q Q........}.Q...Q QQQQQ.}....QQ.QQ Q...Q......Q...Q Q.&.QQQQQQ.Q.&.Q Q..........Q...Q QQQQQQQQQQQQQQQQ [additional] 12 5.1.@.3 13.2.&.3.0 4.4.&.1.0 5.4.@.3 11.4.&.2.0 2.7.&.4.0 4.16.^.0.1.1 13.17.}.1.0.1.0.0.0 9.25.}.0.0.0.0.1.1 6.26.}.0.0.0.0.1.1 2.28.&.3.1 13.28.&.4.1 [end] [level] 57 [colour] 417C25 [size] 16.31 [author] Janusz Pelc [level_notes] Removed a life from 14.7. [data] QQQQQQQQQQQQQQQQ QT.............Q QQ.^.QQQQQ...&.Q Q....Q...Q@....Q QQ...Q.T.Q....MQ QT...Q...Q.T...Q QQ...QQ^QQ.....Q Q%.............Q QQQQQQM.MQQQQQQQ Q...Q......Q#HTQ Q.&.Q.QQQb.QT#.Q Q.....}Q}..Q#H#Q QQQ#Q..Q...QbHHQ Q...Q....#.Q#HHQ Q.T.Q......QQQbQ Q}#........HHHbQ QQQQQQQQQQQQQQQQ ---------------- !..............& ---------------- QQQQQQQQQQQQQQQQ Q&........^^..&Q QQQQQQQQQMbMQQQQ Q......Q&#.#...Q Q.&..&.QQM.MQQ.Q Q......Q.....Q.Q Q.......#bb.MQ.Q QQQQ...Q.....Q.Q Q..D.R.QQM.MQQ.Q Q'.Q...........Q QQQQQQQQQQQQQQQQ [additional] 26 3.2.^.1.0.0 13.2.&.2.0 10.3.@.3 14.4.M.2 7.6.^.0.0.0 6.8.M.0 8.8.M.2 2.10.&.3.0 6.11.}.1.0.1.0.0.0 8.11.}.1.0.1.0.0.0 1.15.}.0.0.1.0.0.0 15.18.&.4.0 1.21.&.1.0 10.21.^.0.0.0 11.21.^.0.0.0 14.21.&.4.1 9.22.M.0 11.22.M.2 8.23.&.1.1 2.24.&.2.1 5.24.&.3.1 9.24.M.0 11.24.M.2 12.26.M.2 9.28.M.0 11.28.M.2 [end] [level] 58 [colour] 996600 [size] 16.12 [author] _The End - Koniec - Das Ende - El Final - La Fin [level_notes] Created by Thunor: not converted from Robbo [data] ...............^ bbbbbbbbbbbbbbbb HHHHHHHbHHHHHHHb HHHHHHHbHHHH--bb }HHHH#QH'HHHHbQb HHHHHHRHTHH!HbQb }HHHH#HHQHHHHHQb HHHHHHHbHHHHHHHb HHHHHHHbHHHHHHHb bHbHHHbHbHHHbHbH .b.b}b.b.b}b.b.b V...b..V..b....V [additional] 5 4.10.}.3.0.0.0.0.0 10.10.}.3.0.0.0.0.0 0.4.}.0.0.0.0.0.0 0.6.}.0.0.0.0.0.0 15.0.^.0.0.0 [end] gnurobbo-0.66+dfsg/data/levels/robbo05.dat0000644000175000017500000022211511306562617017416 0ustar stevesteve[name] RobboV [last_level] 86 [notes] this is Robbo V, which is merged two versions of Robbo V, first made by Svetla n. Saz and the other one by Janusoft [offset] 388C [level] 1 [colour] 78c67f [size] 16.31 [author] Svetla n Saz [data] oooooooooooooooo o......&.......o M.^^^.To.......o o......o.......o M.^^^.To.......o o......o.......o M.^^^.To=======o o......oVVVVVVVo M.^^^.To=======o o......o.......o M.^^^.To.......o o......o.......o M.^^^.oo.......o o......o.......o M.^^^.To.......o o......o.......o M.^^^.To.ooooooo o......o.......o M.^^^.To.}..%..} o......o.......o M.^^^.To....R..o o......o.......o M.^^^.To.......o !......&.......o oooooooo.......o o..............o o..............o ooo............o o}D............o o.o............o oooooooooooooooo [additional] 49 7.1.&.10.0 0.2.M.0 2.2.^.3.0.0 3.2.^.3.0.0 4.2.^.3.0.0 0.4.M.0 2.4.^.3.0.0 3.4.^.3.0.0 4.4.^.3.0.0 0.6.M.0 2.6.^.3.0.0 3.6.^.3.0.0 4.6.^.3.0.0 0.8.M.0 2.8.^.3.0.0 3.8.^.3.0.0 4.8.^.3.0.0 0.10.M.0 2.10.^.3.0.0 3.10.^.3.0.0 4.10.^.3.0.0 0.12.M.0 2.12.^.3.0.0 3.12.^.3.0.0 4.12.^.3.0.0 0.14.M.0 2.14.^.3.0.0 3.14.^.3.0.0 4.14.^.3.0.0 0.16.M.0 2.16.^.3.0.0 3.16.^.3.0.0 4.16.^.3.0.0 0.18.M.0 2.18.^.3.0.0 3.18.^.3.0.0 4.18.^.3.0.0 9.18.}.0.0.2.0.0.0 15.18.}.2.0.2.0.0.0 0.20.M.0 2.20.^.3.0.0 3.20.^.3.0.0 4.20.^.3.0.0 0.22.M.0 2.22.^.3.0.0 3.22.^.3.0.0 4.22.^.3.0.0 7.23.&.10.1 1.28.}.3.0.0.1.0.0 [end] [offset] 3A8C [level] 2 [colour] 7176a9 [size] 16.31 [author] Svetla n Saz [data] ssssssssssssssss s%..#...s.Ts...s s..#..R.sVVs???s }.....#.HH#H...s s.#.....ss.s...s sssssssssssssDss s...#.#........s s.#..T.#..#..T.s s..#.....#.....s sHHH#...ssssssss s.#..####...#..s s..T.......#.#.s sssssssssssss..s sT.....s...s...s s..sss@..s...sss s.ss.sssssss...s s..s@..s...sss.s s#...s...s.s...s ssss.sssss...sss s#.s.s...s.s...s s..s^s.T.s.s..#s s.ssss....#.#.Ts s.#.#...#.ss...s s.....s...sT.#.s ss.ssssssss#...s s.......}.ssss.s ss.s.s.ss......s s#.s.s.#s..!...s s#.sTs..sssssHss s....s#..'sT...s ssssssssssssssss [additional] 5 0.3.}.0.0.2.0.0.0 6.14.@.3 4.16.@.3 4.20.^.2.0.0 8.25.}.2.0.1.0.0.0 [end] [offset] 3C8C [level] 3 [colour] a98058 [size] 16.31 [author] Svetla n Saz [data] pppppppppppppppp p....p....p....p p.R..D....p#.T.p p....p.T..##...p p..'.p.V..p#.V.p pppHpppppppppppp p....p....p....p p....p....p..?.p p.b..#..&.p....p p..V.p....p.V..p ppppppppppppHppp p....p----p....p p..T.p----p....p p....p----p....& p&..%p----p....p pppppp----pppHpp ----------p.##.p ----------p.T..p ----------p#.#.p ----------p..#.p ppppppppppp.pppp pT.^......p....p ppp.ppp.....pp@p p.......!.p.p..p p.p.p.....p.pp.p p.p.V.^...p..p.p p.p.ppppppp.pp.p p.p.......p....p p.p.ppp.'.pppp.p p.........p&...p pppppppppppppppp [additional] 7 8.8.&.1.0 15.13.&.1.1 1.14.&.2.0 3.21.^.3.0.0 14.22.@.3 6.25.^.2.0.0 11.29.&.2.1 [end] [offset] 3E8C [level] 4 [colour] 719d8d [size] 16.31 [author] Svetla n Saz [data] PPPPPPPPPPPPPPPP P..#..^.....#..P P&............TP PPP..........PPP P...--.--.--...P P...--.--.--...P P...--.--.--...P P.T.--.--.--.T.P P..---.--.---..P P.---..--..---.P P---...--@..---P P..............P PPP}........&PPP P+.............P PPPPPPPPPPPPPPPP P.......P.....&P P.PPPPP.P......P P.P...P.P.....}P P.P.R.P.P......P P.}...P.P......P P.....P.PPPPPPDP P....TP........P P..PPPPPPPPPPPPP P..TP&P........P PP.PP.P.PP.PPP.P P%..P.P..P.TP*.P PPPPP.PP.PPPP.PP P..!P.P..&PT...P P...P.P.PPPPPP.P P&..P..........P PPPPPPPPPPPPPPPP [additional] 12 6.1.^.2.0.0 1.2.&.1.0 9.10.@.3 3.12.}.0.0.1.0.0.0 12.12.&.2.0 14.15.&.1.1 14.17.}.2.0.1.0.0.0 2.19.}.1.0.1.0.0.0 5.23.&.2.1 13.25.*.1 9.27.&.5.0 1.29.&.5.1 [end] [offset] 408C [level] 5 [colour] b2b05f [size] 16.31 [author] Svetla n Saz [data] ssssssssssssssss s..........@..Rs s....Ts..sT....s s..ssss@.ssss..s s..s...........s s..s...........s s..ss...T......s s...........s..s s...........s..s s..ssssT.ssss..s s...*Ts..sT*...s s..............s ssssssss.sssssss sT.ssT.....ssT!s s..ss......ss..s s..##..ss.#ss#.s s..##..ss..ss..s s..ss..........s s}Tss}....#...}s sssssss..ss..sss sssssss..ss..sss s.b....#.ss....s s........ss....s sssssssssssss#.s sssssssssssss..s s.}}}}}T}}}s...s s..............s M......T.....#.s M............T.s s..............s ssssssssssssssss [additional] 17 11.1.@.3 7.3.@.3 4.10.*.1 11.10.*.1 1.18.}.3.0.1.0.0.0 5.18.}.3.0.1.0.0.0 14.18.}.3.0.1.0.0.0 2.25.}.1.0.1.0.0.0 3.25.}.1.0.1.0.0.0 4.25.}.1.0.1.0.0.0 5.25.}.1.0.1.0.0.0 6.25.}.1.0.1.0.0.0 8.25.}.1.0.1.0.0.0 9.25.}.1.0.1.0.0.0 10.25.}.1.0.1.0.0.0 0.27.M.0 0.28.M.0 [end] [offset] 428C [level] 6 [colour] 77a4ac [size] 16.31 [author] Svetla n Saz [data] OOOOOO&OOO&OO--- O...O...O...O--- &.R.&.#.O.?.&--- O...O...O...O--- OO&OOO&OOO&OOOOO ---O...O...O...O OOO&.%.&.H.&.%.& O&+O...O...O...O O.+OOOO&OOO&O&OO O+VO-O...O...O-- OOOOOO.b.&.O.&-- O&...O...O...O-- OOOODOOOOOOOOOOO O.....^..D.....O O........O.....O OOOOOOOOOO.....O O........#.....O O.!^^^....#....} O........#.....O OOOOOOOOOOOOOOOO ---------------- ---------------- -----VVVV------- ---------------- ---------------- ---------------- ---------------- ---------------- OOOOOOOOOOOOOOOO O&............TO OOOOOOOOOOOOOOOO [additional] 25 6.0.&.8.0 10.0.&.7.0 0.2.&.10.0 4.2.&.1.0 12.2.&.2.0 2.4.&.2.1 6.4.&.4.0 10.4.&.6.0 3.6.&.6.1 7.6.&.1.1 11.6.&.2.2 15.6.&.5.0 1.7.&.10.1 7.8.&.5.1 11.8.&.4.1 13.8.&.7.1 9.10.&.3.0 13.10.&.1.2 1.11.&.8.1 6.13.^.2.0.0 3.17.^.0.1.1 4.17.^.0.1.1 5.17.^.0.1.1 15.17.}.2.0.0.0.0.0 1.29.&.3.1 [end] [offset] 448C [level] 7 [colour] 819663 [size] 16.31 [author] Svetla n Saz [data] oooooooooooooooo ooooo&..oooo...o ooooooo....D.T.o o...ooo.oooo...o o.T.D...oooooooo o...ooo.oooo...o ooooooo....D.T.o ooooooooo.oo...o oooooo....oooooo oooooo..oooooooo oooooo..oooooooo ooooo....ooooooo oooo..oo..oooooo ooo..oooo..ooooo oo..oooooo*.oooo o%............oo ooooooooooooo..o oTo...........oo o.}o...^.....o.o o...o.......o.%o o...}o.....o#..o o.....oo#ooo.##o o#....o...o.#..o o#....#.R.#..#.o o#....o...o.#.#o o.....oo#oo..##o o....o#....o..#o o..}o##b....ob.o o..oHbbHHHH#...} oTo!#H#b%.#..bbo oooooooooooooooo [additional] 7 5.1.&.10.0 10.14.*.1 2.18.}.1.0.1.0.0.0 7.18.^.0.0.0 4.20.}.1.0.1.0.0.0 3.27.}.3.0.1.0.0.0 15.28.}.2.0.0.0.0.0 [end] [offset] 468C [level] 8 [colour] 9551b9 [size] 16.31 [author] Svetla n Saz [data] ooooo&.&+++V...& o..R.o-----D---- o%...D@...-}-T-- o....o---.---.-- oooooo---....@-- -----}---.------ -----.---.---&.& -----.....------ -----.-------T-- -...-.-------.-- -..&-.--'...D.-- -...-^----.----- -&..-&----...--- ------------.--- -T---&.......--- -*--------.----- -#----T---}----- -b-&------.----- -b-..........&-- -b----.--------- -bbb--.--------- -b-@--.......--- -b----------...- -bbbbb--bbb..-.- -----bbbb-----.- -.T!----------.- -.---&--&--&--.. -&-%..--.--.---. -----.--.--..&-. --}.....T...---. -------------+.. [additional] 25 5.0.&.7.0 7.0.&.8.0 15.0.&.8.1 6.2.@.3 11.2.}.3.0.0.1.0.0 13.4.@.3 5.5.}.1.0.0.0.0.0 13.6.&.7.1 15.6.&.9.0 3.10.&.1.0 5.11.^.2.1.1 1.12.&.9.1 5.12.&.1.1 5.14.&.2.0 1.15.*.1 10.16.}.0.0.0.0.1.1 3.17.&.1.2 13.18.&.3.0 3.21.@.3 5.26.&.4.0 8.26.&.2.1 11.26.&.4.1 1.27.&.3.1 13.28.&.3.2 2.29.}.0.0.1.0.0.0 [end] [offset] 488C [level] 9 [colour] 6d61b1 [size] 16.31 [author] Svetla n Saz [data] OOOOOOOOOOOOOOOO O...^..........O O.R..^.....O...O O.....^....O.!.O O......^...O...O O.......^..OOOOO O........^.....O O.........^..T.O O..............O O.OOOOOOOOOOOOOO }HHHHHHHHHHHHHbM O.OOOOOOOOOOOOOO }HHHHHHHHHHHHHbM O.OOOOOOOOOOOOOO O.#.....^......O O.#.....^......O O.............TO O.............TO O.OOOOOOOOOOOOOO O.O..TO......OVO O.O.OO...O..OOVO O.....O...O..OVO OOO....O.TOODO.O O%..OO..OOO..O.O OOO..O....O.OO.O O....OO...O.OT.O O.O.....O...OO.O O.OOOO..OO.....O O.....O.OOO.O..O O.OTO...O}.....O OOOOOOOOOOOOOOOO [additional] 14 4.1.^.3.0.0 5.2.^.3.0.0 6.3.^.3.0.0 7.4.^.3.0.0 8.5.^.3.0.0 9.6.^.3.0.0 10.7.^.3.0.0 0.10.}.0.0.1.0.0.0 15.10.M.2 0.12.}.0.0.1.0.0.0 15.12.M.2 8.14.^.2.1.1 8.15.^.2.1.1 9.29.}.0.0.2.0.0.0 [end] [offset] 4A8C [level] 10 [colour] a28352 [size] 16.31 [author] Svetla n Saz [data] ssssssssssssssss sRsTs.....s....s s.s...sss...ss.s s.ss'ss...s..M.s s.#...sTsss.s..s s........M....ss sTssTs.s...ss.ss s.M..#.s%s..s..s s......sssM..#.s sss............s sTsss.sssssss.ss s.sTs......Ms.ss s.s...ss.sss...s s.ss.........M.s s.D..sTs.ss.ss.s ssss.s.s#sT..#.s sT.sssVs.sssss.s s......s.......s s.ss.sssss.sss.s s..M.V.#...s...s ss.s..V...#s.s.s M............T.s ss.s.s.ssss.ss.s s..s#....sT....s s.ss.sss.sssss.s s......M.#..s..s ss.sss.ss.ssss.s sT.#.......sT..s s.V..MV...Msss.s sT..........!..s ssssssssssssssss [additional] 11 13.3.M.2 9.5.M.2 2.7.M.0 10.8.M.0 11.11.M.2 13.13.M.2 3.19.M.0 0.21.M.0 7.25.M.2 5.28.M.2 10.28.M.2 [end] [offset] 4C8C [level] 11 [colour] 7accb0 [size] 16.31 [author] Svetla n Saz [data] PPPPPPPPPPPPPPPP PPPPPPPPPPPPPPPP PP.R.PPP...PPPPP PP%......}....TP PP...PPP#..PPPPP PPPPPPPPP.PPPPPP PPPPPPPPPDPPPPPP PPPPPPPPP.PPPPPP PPT..PPPP.P...PP }...........T.PP PP..#PPPP.P...PP PP#..PPPP.PPPPPP PP..#PPPP.PPPPPP PP.#.PPPP#PPPPPP PP..###..##..#PP PP..##........MP PP#....###..#.PP PPPPP.#.PPPP.PPP PPPPP..TPPPP.PPP PPPPPPPPPPPP.PPP PPPPPPPPPPPP.PPP PPPPPPPPPPPP.PPP P.P.TP...PTP.T.P P...PPPP...P.P.P P.P.D..P.PPP...P P.PPPP........PP P.!..PPP.PPPP..P PPP#.P....P....P P...PP.PPPP.PPPP PTP.P%.PT.....*P PPPPPPPPPPPPPPPP [additional] 4 9.3.}.0.0.0.0.1.1 0.9.}.0.0.1.0.0.0 14.15.M.2 14.29.*.1 [end] [offset] 4E8C [level] 12 [colour] a5b8a0 [size] 16.31 [author] Svetla n Saz [data] pppppppppppppppp pR#.....#...#..p p#...###..#..#.p p.#...#..#.#...p ppp.ppppppp.pppp p..#.##.#...#.'p p#..T..##.#..#.p pppppp#ppppppppp p.#.#...#..#..%p p..###...#...#.p pT#..T.........M p.H..#..#.#..#.p p..#..##...#..Tp ppppppppHppppppp p.#.b........##p p...#.###..###.p ppppppppppppppDp }HHbHHHHHHHbHHHp }HHHHHHbHHHHHHHp pppppppDpppppppp p&............&p pppppppppppppppp p&.....p......&p pppppp.p.ppppppp p...#..#.#.....p pT#...##.#..b.#p pppppppppppppp.p pV..#bbbbbbbbb.p pV!.b?b?b?b?bb.p pVV.#bbbbbbbb#.p pppppppppppppppp [additional] 7 15.10.M.2 0.17.}.0.0.1.0.0.0 0.18.}.0.0.1.0.0.0 1.20.&.2.0 14.20.&.1.0 1.22.&.1.1 14.22.&.2.1 [end] [offset] 508C [level] 13 [colour] b3b06d [size] 16.31 [author] Svetla n Saz [data] oooooooooooooooo o......o...o.o#o o.HTHH.o.o..#..o o..#...&..#..o.o o#.H.HHo.oo##..o o.HH...M.o#..#oo o....HHo.o.#.T#o o#.#...o.o#oo#&o oHHTH..o.....#.o o.#.#.Hooooooooo o!.#.##H...H.HTo o.#T#....H.....o o#.#.#o&oooooooo o.#.#.o.o%....&o ooooooo.oooooooo o#......o......o o....#?.o.##@o.o o.o}....o.##.o.o o.o^.........o.o o...oooooooooo.o o.o.oTHHH.Ho.o.o o...o#H#H#.o^o.o o.o.o#HH#THo.o.o o...oH.HHHHo.o.o ooo.o#H#HH#o.o.o oT..oHHH.HHH...o o.#.oooooooooooo o......o...o...o ooo....&.R.D.'.o oT.....o...o...o oooooooooooooooo [additional] 10 7.3.&.2.0 7.5.M.2 14.7.&.1.0 7.12.&.4.0 14.13.&.1.1 12.16.@.3 3.17.}.0.0.0.0.0.0 3.18.^.3.0.0 12.21.^.1.0.0 7.28.&.10.0 [end] [offset] 528C [level] 14 [colour] a75c6c [size] 16.31 [author] Svetla n Saz [data] oooooooooooooooo o.............%o o........ooo...o }....!...#Ro@..o o........ooo...o o..............o o..^...^.......o oooo.oooooo.oooo ---o.o----o.o--- ---o.o----oDo--- ---o.o-oooo.oooo ---o.o-o..T.T..o ---oDo-o.ooooo@o ---o.o-o......@o ---o.o-o.ooooo@o ---o.o-o..T.T..o ---o.o-ooooooooo ---o.o---------- oooo.ooooooooooo o........o...*.o o.oooooo.o.oo..o o.o..T....#....o o...o.oooo.ooo.o ooo.o.o...#.o..o o..#o.oo.oo.oT.o o.o....o#.?...#o oHooo....o.ooooo o...oooooo.o%..o o.&.o'..To.o.&.o o...o......o...o oooooooooooooooo [additional] 10 0.3.}.0.0.1.0.0.0 12.3.@.3 3.6.^.2.0.0 7.6.^.2.0.0 14.12.@.1 14.13.@.1 14.14.@.1 13.19.*.1 2.28.&.1.0 13.28.&.1.1 [end] [offset] 548C [level] 15 [colour] b9944e [size] 16.31 [author] Svetla n Saz [data] pppppppppppppppp pRHT.H.........p p#HH.H.HHHHHH@Hp p....H...HT.H..p p.HH@..H.HH.HH.p p..H.HHH..H.HH.p p.THHH...HH....p p.HH.H.H....HH.p p......H..H.HHTp pp#ppppppppppppp p#..p%.'p?..p.pp pT.Tp...D...D..p p.#.p&..p..&p.pp pp#pppppppppp.pp p..............p p#........#.p.pp pT.##.p.b......p p.#.##p..b..p.pp p.##..p........p ppp.ppppppppp}pp --p...D....Tpppp ppp.ppppppp...#p p..&.+....p.}..p p.ppppppp.pp.p.p p.p....Tp.Tp..Tp p.p.....pppp.ppp p.p*.......p..?p p.pp.......p.ppp p.}ppppppp.p...p p.......!p&..pTp pppp}p}ppppppppp [additional] 12 13.2.@.3 4.4.@.3 5.12.&.1.0 11.12.&.1.1 13.19.}.3.0.1.0.0.0 3.22.&.2.0 12.22.}.0.0.0.0.1.1 3.26.*.1 2.28.}.2.0.0.0.0.0 10.29.&.3.0 4.30.}.3.0.1.0.0.0 6.30.}.3.0.1.0.0.0 [end] [offset] 568C [level] 16 [colour] 8faac7 [size] 16.31 [author] Svetla n Saz [data] -------ppppppppp -&...--pTVVVbR.p ----.--p...b...p --T..--p.p..b..p -------p....p..p pppppppp..bp..bp pT..bb........Tp p.p...b.b.pppppp p...b...b.p----- p.b.###.T.p----- pb..#!#bp.p----- p..b###...p----- pb.......bp----- p....bpTb.p----- p'.bb..bT.p--ppp ppppppppp&p--p&p --------ppp--p.p -------------p.p pppppp-------p.p p....ppppppppp.p p...V&.........p p....ppppppppppp p&ppppT...#.#..p p.p&p#.+#T.Tp.#p p.p.p.##T#Tp%.^p p.p...T.#.#.pp.p p.pDp.##.#T#T..p p.p.pppTppp.pp.p p.p......p.....p p.............}p pppppppppppppppp [additional] 8 1.1.&.10.0 9.15.&.1.0 14.15.&.1.1 5.20.&.2.0 1.22.&.2.1 3.23.&.10.1 14.24.^.3.0.0 14.29.}.2.0.1.0.0.0 [end] [offset] 588C [level] 17 [colour] 6da77a [size] 16.31 [author] Svetla n Saz [data] oooooooooooooooo o.#..o#.#.o.#'.o o...#o...#o..#.o o.##..T##..#...o oT#.#o###.o...#o o#...o.T..o.#.To oo.oooooo.oo.ooo o#.#.o#..#o.#..o o.##To.b..o#.#.o o##.#o#.R.o....o oT.o.o...#.#.##o o..T.o!##.o....o oo#oooo.oooo.ooo o...#o.#..o...#o o.#..o..##o##..o ob#.#..##To...#o o##%#oT...o..#.o o.T#.o.#.###..#o oooooooooo#ooooo obbT&o..#.....#o obb..o.#....##To obb..o.##.o...#o o##bbo.#.#ob#..o oT#bbo#...oT...o oooooooo.ooooDoo o...&o....o&...o o.oooo.##.o##H#o o.D..o#...o.#H.o oooo.o#.#.##..#o o&...oT...o.T#.o oooooooooooooooo [additional] 4 4.19.&.2.0 4.25.&.1.0 11.25.&.1.1 1.29.&.2.1 [end] [offset] 5A8C [level] 18 [colour] a08750 [size] 16.31 [author] Svetla n Saz [data] pppppppppppppppp p.}..p.T.}p.}.Tp p....p....p....p p}............}p p....p....p....p p...Tp....p....p ppDpppppp.pp.ppp pbbbbp....p....p pbbbbp.T..p....p pbbHHp....p..T.p pbbpTp}........M pbbH!pR...p....p pp#pppp.pppp.ppp p%..Tp...Tp....p p....p....p....p p........}p..T.p p....p....p....p p.}.%p.}....}..p pppppppppp.ppppp p....p..}......p p.&..p........}p p....p.T..p....p p..T.p....p.T..p p....p....p....p pppppppp.pppp.pp p...&p....p&...p p.pppp.T..p....p p.D..p....p...Tp pppp.p}........p p&..Tp....p..}.p pppppppppppppppp [additional] 19 2.1.}.1.0.1.0.0.0 9.1.}.1.0.1.0.0.0 12.1.}.1.0.1.0.0.0 1.3.}.0.0.1.0.0.0 14.3.}.2.0.1.0.0.0 6.10.}.0.0.1.0.0.0 15.10.M.2 9.15.}.2.0.1.0.0.0 2.17.}.3.0.1.0.0.0 7.17.}.3.0.1.0.0.0 12.17.}.3.0.1.0.0.0 8.19.}.1.0.1.0.0.0 2.20.&.1.0 14.20.}.2.0.1.0.0.0 4.25.&.1.1 11.25.&.2.0 6.28.}.0.0.1.0.0.0 1.29.&.2.1 13.29.}.3.0.1.0.0.0 [end] [offset] 5C8C [level] 19 [colour] 75ae7f [size] 16.31 [author] Svetla n Saz [data] pppppppppppppppp p....pT...p....p p....p....p....p p.T.......^.T..p p....p....p....p p....p....p....p pp^pppppp.pp.ppp p....p....p....p p..T.p....p....p p....p.T..p..T.p p....p.........p p...Rp....p....p pp.pppp^pppp^ppp p....p....p....p p....p....p....p p.T.......p.T..p p....p..T.p....p p....p.........p pppppppppp.ppppp p...!p....^....p p.&..p.T.......p p....p....p..T.p p..T.p....p....p p....p....p....p pppppppp^pppp.pp p...&p....p&...p p.pppp....p....p p.T..p.T..p....p pppp.p.......T.p p&...p....p....p pppppppppppppppp [additional] 10 10.3.^.2.0.0 2.6.^.3.0.0 7.12.^.1.0.0 12.12.^.3.0.0 10.19.^.0.0.0 2.20.&.1.0 8.24.^.3.0.0 4.25.&.1.1 11.25.&.2.0 1.29.&.2.1 [end] [offset] 5E8C [level] 20 [colour] 8a8d56 [size] 16.31 [author] Svetla n Saz [data] PPPPPPPPPPPPPPPP P....PbbbbPbbbbP P.+..Pb..bPb..bP P...bbb..bbb..bP P...bPb...P...bP P.bbbPbbbbP.bbbP PPbPPPPPPbPPbPPP P.bbbPbbbbP.bbbP P...bPb...P...bP PbbbbPb...Pb..bP Pb...Pb....b..bP Pbb..P.b..PbbbbP PPbPPPPbPPPPbPPP Pbb..P..bbP.bbbP Pb...P...bP...bP Pb.bbbb..TP...bP Pb.b.Pb###P...bP Pbbb.Pb#!#..bbbP PPPPPPPPPP.PPPPP P...RP.....##..P P.&..P#bb###.b.P P....P.bb.P.bb.P P..'.P.bb.P.bb#P P....P##..P##..P PPPPPPPP.PPPP.PP P...&P#...P&...P P.PPPP.bb#PbbbbP P....P.bb.PbbbbP PPPP.P.bb.#bbbbP P&...P....PbbbbP PPPPPPPPPPPPPPPP [additional] 4 2.20.&.1.0 4.25.&.1.1 11.25.&.2.0 1.29.&.2.1 [end] [offset] 608C [level] 21 [colour] 6b7566 [size] 16.31 [author] Svetla n Saz [data] OOOOOOOOOOOOOOOO OR.........D...O O...TT.....O.&.O O'.OOOO@...O...O O........?.OOOOO OOOOOO........%O O....OT...}....O O.!..OOO....}..O O.....&O......TO OOOOOOOOOOOOOOOO ................ ................ ......????...... .....??..??..... OOOVVVVVV??VVVV. &.&.....??...... OOO....??....... ................ .......??....... ................ ................ OOOOOOOOOOOOOOOO O....&O.......TO O.&.OOO.....}..O O...OT....}....O OOOOO.........%O O........?.OOOOO O'.OOOO*...O...O O...TT.....O.&.O &..........D...O OOOOOOOOOOOOOOOO [additional] 14 13.2.&.1.0 7.3.@.3 10.6.}.0.0.0.0.1.1 12.7.}.0.0.0.0.1.1 6.8.&.2.0 0.15.&.2.1 2.15.&.10.0 5.22.&.3.0 2.23.&.10.1 12.23.}.0.0.0.0.1.1 10.24.}.0.0.0.0.1.1 7.27.*.1 13.28.&.3.1 0.29.&.1.1 [end] [offset] 628C [level] 22 [colour] 8698ab [size] 16.31 [author] Svetla n Saz [data] oooooooooooooooo ooo}.o#........o ooo..o@.oToooo@o oR...o.........o ooo..o........#o ooo..oooo.oooo.o o}#..HHHHHHHHHTo o}#..HHHHHHHHoTo o}#..HHHHHHHHHTo ooo..oooo.oooo.o ooo..o..#.....#o o....o.o.ooo.o.o o....o.#.....##o o}...o.oo.o#.o.o o....o#.o.oo...o o....o.oo....o#o o....o.........o o....ooooM...Moo o}.....o......To o......o.......o o..T...o...^...o o.ooo..o.......o o......oT.....#o o......oooo.oooo o.#.#...#.o...%o oH.b.#.#..oooooo o..##...#HoHHHHo o##..H#...oHH!Ho o}......#.DHHHHo o.H.##.HH.oHHHHo oooooooooooooooo [additional] 12 3.1.}.1.0.1.0.0.0 6.2.@.3 14.2.@.3 1.6.}.0.0.2.0.0.0 1.7.}.0.0.2.0.0.0 1.8.}.0.0.2.0.0.0 1.13.}.0.0.1.0.0.0 9.17.M.0 13.17.M.2 1.18.}.0.0.1.0.0.0 11.20.^.2.0.0 1.28.}.0.0.0.0.0.0 [end] [offset] 648C [level] 23 [colour] 9f826a [size] 16.31 [author] Svetla n Saz [data] ssssssssssssssss s......}......!s s.ssss#.#sssssss s..............s sssss.s.ssss.s.s s..............s s.s.sss.ss.s.sss s..............s ssss.ss.ss.sss.s s..............s s.ss.ss.sss.s.ss s..............s sss.s#s.sss.ss.s s..............s s.s.M......M.s.s s..............s sss.sss.sss.ssss s..............s s..sss....sss..s s..............s s..............s s...?.......?..s s..............s s.?........?...s s.....s.s......s sssssss.ssssssss s.....s.s......s s..............s s.b..........R.s s..............s ssssssssssssssss [additional] 3 7.1.}.1.0.1.0.0.0 4.14.M.0 11.14.M.2 [end] [offset] 668C [level] 24 [colour] 7cd092 [size] 16.31 [author] Svetla n Saz [data] oooooooooooooooo oRo.oT.o.o.....o o.o.oo@o...ooo.o o..#.....o.o.o*o oooo.oo.oooo...o o..o..o....ooo.o oo...oo.oo...o.o oT.o@...o..o.o.o ooooo.ooo.oooo.o o...........oT.o o.oo.o.oooo.oooo o..ooo.To.o*...o oo...o.oo.oooo.o o..o.o..o..To..o oooo.oo.o.ooo.oo o.......o......o o.oooooooooooo.o o.o.o...o..o...o o.....!.oo...oTo o.oTo...o..ooooo ooooooo.oo.o.o'o o....o...T...o.o o.oo...o.ooo.o.o o..ooooo..o..o.o oo..+o...ooo.o.o o..ooo.o.To..o.o o.ooTo.oooo.oo.o o..o........o..o o.oooo@ooo.ooo.o o..............o oooooooooooooooo [additional] 5 6.2.@.3 14.3.*.1 4.7.@.3 11.11.*.1 6.28.@.3 [end] [offset] 688C [level] 25 [colour] 6cd99b [size] 16.31 [author] Svetla n Saz [data] ..QQQQQ&QQQQQQ.. ..QQ...^....QQ.. ..QQ........QQ.. ..Q&...R....&Q.. ..QQQQQQQQQQQQ.. ................ ..QQQQQ..QQ.QQQ. ....QQQ..QQQQ... QQ..QQQ..QQQQQQQ QQQQQQQ..QQ...QQ ................ QQQQQQQQQQQQQQQQ Q...Q......Q...Q Q.&.Q...?..Q.&.Q Q...Q....T.Q...Q Q...Q......Q...Q QQDQQQQ.QQQQ...Q Q%...TQ.Q'.D...Q QQQQQQQ.QQQQ...Q Q+.T.......^..TQ QQQQQQQQQQQ.QQQQ Q.........Q.Q.!Q Q..T....}.Q.Q..Q Q..}....T.Q.QQ.Q Q....Q....Q.Q..Q Q..QQQ#QQQQ.Q.QQ Q..QM...%...Q..Q Q..QQQQQQQQQQQHQ Q..Q...Q...Q...Q Q&...Q...Q...QTQ QQQQQQQQQQQQQQQQ [additional] 11 7.0.&.2.0 7.1.^.2.0.0 3.3.&.1.0 12.3.&.3.0 2.13.&.1.1 13.13.&.2.1 11.19.^.2.0.0 8.22.}.2.0.2.0.0.0 3.23.}.0.0.2.0.0.0 4.26.M.0 1.29.&.3.1 [end] [offset] 6A8C [level] 26 [colour] ad414f [size] 16.31 [author] Svetla n Saz [data] ssssssssssssssss sTTTT..s....s.&s s....s.........s s....ss..s#s@.ss s....s..ss.ss..s s....s.ss...ss.s s....s.#..!..#.s s....s.ss...ss.s s....s..ss.ss..s s....ss..s#s@.ss s....s.........s s^^^^s..s....s.s s^^^^...s....s.s s....sssssss.sss s....s'..s&..s^s s....s.......s.s s....s..s.s..s.s s....ssss.ssss.s s......&s.s&..&s s....ssss.ssss.s s....s.......s.s s....s.bbbbb.s.s s....s.......s^s s....ssss.ssssss s....s..s.s...Ts s....s...&.....s s....s.sssssssss s....s.........s s....sssssssss.s s.............Rs ssssssssssssssss [additional] 18 14.1.&.3.0 12.3.@.3 12.9.@.3 1.11.^.1.0.0 2.11.^.1.0.0 3.11.^.1.0.0 4.11.^.1.0.0 1.12.^.3.0.0 2.12.^.3.0.0 3.12.^.3.0.0 4.12.^.3.0.0 10.14.&.3.1 14.14.^.2.0.0 7.18.&.1.0 11.18.&.1.1 14.18.&.2.0 14.22.^.2.0.0 9.25.&.4.0 [end] [offset] 6C8C [level] 27 [colour] 7892c9 [size] 16.31 [author] Svetla n Saz [data] sssss........... s'..ss.......... s....sssssss.... ss......^V.ssss. .ss.T...^V....s. ..s.....^V.T..s. .ss.....^V...ss. ss......ssssss.. s.....sss....... sDDDDDs......... s.....ssssss.... ss.........sss.. .ss..........sss ..sss..sss.....s ....s#.s.ss..R.s ...ss.#s..s....s ...s...ss.s..sss .sss##..s.s.ss.. ss.....ss.sTs... s.....ss..sss... s.....s......... s.....sss.ssss.. ss.}....sss..sss .s...}.......#.s .ss....}.....#.s ..s}..!....sss&s ..ss.}..}..s.s.s ...s...}..ss.s.s ...s......s..s.s ...ss&...ss..s%s ....ssssss...sss [additional] 13 8.3.^.3.0.0 8.4.^.3.0.0 8.5.^.3.0.0 8.6.^.3.0.0 3.22.}.0.0.0.0.1.1 5.23.}.0.0.0.0.1.1 7.24.}.0.0.0.0.1.1 3.25.}.0.0.0.0.1.1 14.25.&.1.0 5.26.}.0.0.0.0.1.1 8.26.}.0.0.0.0.1.1 7.27.}.0.0.0.0.1.1 5.29.&.1.1 [end] [offset] 6E8C [level] 28 [colour] a674b3 [size] 16.31 [author] Svetla n Saz [data] ......ssss...... .ssssss..ssssss. .s............s. .s.&........&.s. .s............s. .ssssss..ssssss. ......s..s...... ...ssss..ssss... ssss..s..s..ssss s.....s^^s.....s s.....s..s.....s s.sssss..sssss.s s.s..........s.s sssT........%sss ..s..........s.. ssssssssssssssss s&...&..#..&.R.s ssssssssssssssss ................ .sssss.......... .s...s...sssssss .s.&.s...s.....s .s...s...s.sss.s .sss.s...s.sss.s ...s.ss}ss.sss.s ssss.s...s...s.s }....s...s.s&.+s }....s...s.s.sss ssss.s...s^s.!.s ...s.....D.s...s ...sssssssssssss [additional] 13 3.3.&.2.0 12.3.&.1.0 7.9.^.3.0.0 8.9.^.3.0.0 1.16.&.3.0 5.16.&.2.1 11.16.&.1.1 3.21.&.3.1 7.24.}.1.0.2.0.0.0 0.26.}.0.0.2.0.0.0 12.26.&.4.0 0.27.}.0.0.2.0.0.0 10.28.^.3.0.0 [end] [offset] 708C [level] 29 [colour] b5a7a2 [size] 16.31 [author] Svetla n Saz [data] QQQQQQQQQQQQQQQQ Q#.....Q#.#Q...Q Q^.........~.R.Q Q#.....Q.#.Q...Q QQQ.QQQQQQQQ.QQQ }......Q%...&..Q QQQQ.QQQ.#.Q.Q.Q QT.....Q...Q.Q.Q QQQ.QQ.Q#T..&..Q }....Q.QQQQQQQQQ QQQQ.Q.Q...Q...Q Q+...Q...Q...Q.Q QQQQQQQQQQQQ.Q.Q Q.....QQ.....Q.Q Q.....QQ.....Q.Q Q..TQ@...QT..Q.Q Q..QQ.HH.QQ*.Q.Q Q.....HH.....Q.Q QQQ.HHHHHH.QQQ.Q QQQ.HHHHHH.QQQDQ Q.....HH.....Q.Q Q..QQ.HH.QQ*.Q.Q Q..TQ@...QT..Q.Q Q.....QQ.....Q.Q QT....QQ....TQ.Q QQQQQQQQQQQQQQ.Q Q...bbbbbbbbbb.Q Q.!.bbbbbb...~.Q Q.T.bbbb.TT..#.Q Q...bbbbbbbbbb.Q QQQQQQQQQQQQQQQQ [additional] 9 1.2.^.3.0.0 0.5.}.0.0.0.0.0.0 12.5.&.1.0 12.8.&.2.0 0.9.}.0.0.0.0.0.0 5.15.@.3 11.16.*.1 11.21.*.1 5.22.@.3 [end] [offset] 728C [level] 30 [colour] b58887 [size] 16.31 [author] Svetla n Saz [data] pppppppppppppppp p...#..~.......p p.R..#.p...T.p.p p...###p.~#..p.p p......p...#.p.p pT.....~.......p pppppppp..~..p.p p..b#b.#.....p.p p..b#b.....~.p.p p..b#b.......p.p p..b#bT...#.Tp.p p..ppppppppppp.p p..p.........p.p p..p.pp*p.'T.p.p p..p.pp.pppppp.p p.......p}p}p..p p...ppppp.p.p..p p...p...p.p.p..p p#~#p.%.p.p.pp.p p...p..........p pp.ppppppppppppp p...p.}}}..p...p p...p......p.T.p p...p.....!p.T.p p...p.pppppp.T.p p...p......p...p pp.pp...bp.ppDpp p....~.........p p.ppp..T.p.ppp@p p....~.........p pppppppppppppppp [additional] 7 7.13.*.1 9.15.}.1.0.2.0.0.0 11.15.}.1.0.2.0.0.0 6.21.}.1.0.1.0.0.0 7.21.}.1.0.1.0.0.0 8.21.}.1.0.1.0.0.0 14.28.@.3 [end] [offset] 748C [level] 31 [colour] 7fca8c [size] 16.31 [author] Svetla n Saz [data] sssssssssssss--- s...s...s%..s--- s.R.s.&.s...s--- s...s...s^..s--- s#..s..Ts...s--- s#.#sT'#s...s--- s.#.s##.s...s--- sT..s...s...s--- s#.#s#.#D...s--- s.#.s#..s...s--- s#..s.##sss.s--- s#..s.#.s-sTs--- s.T#sT.#s-sTs--- s.#.s.#.s-sTs--- s#.#s#.Ts-sDs--- s.#.s.#.s-s.ssss s%.#s#.#s-s....s s##.s#T.s-ss.~.s s.#.s.#.s--s.#.s s#......s--s...s sssssssss--ss.ss ------------s.s- ------------s.s- sssssssssssss.ss s...H.#..#.....s s.!.H.b##...#..s s...H..#T.##.#Ts sHHHH.#.#..HH#Hs s..#.#...#.H...s sT#..T##..TH.&.s ssssssssssssssss [additional] 3 6.2.&.1.0 9.3.^.3.0.0 13.29.&.1.1 [end] [offset] 768C [level] 32 [colour] 72bbc8 [size] 16.31 [author] Svetla n Saz [data] PPPPPP&.&PPPPPPP PT...PPPPPP....P P.PP#..T....PP.P P....PPPPPP.PPTP PPPP.PPPPPP.PP.P P...&..#.PP.PP.P P.PPPPPP.PP.PP.P P.PPPPPP.R.&PP.P P....PPP.PP.PP.P PPPP.PPP.PP.PP.P PPPP&....PP....P PPPPTPP.PPPP.PPP P....PP.PPPP.PPP P.PPPPP&.+.T&PPP P.PPPPP.PPPP.PPP P.PPPPP.PPPP.PPP P..............P P.PP.PP.PP.PPP.P P.PP.PP.PP.PPP.P P.PPT.....T..#.P P.PPPPPPPP.PPP.P P.PPPPPPPP.PPP.P PTPP.......P...P P.PP.PPPPPPP.PPP P.PPTPPPPPPP.PPP P&...........PPP PPTPP.PP@PPPPPPP PT&.P....P.....P P.P.PPPPPP.T.!.& P..............P PPPPPPPPPPPPPPPP [additional] 11 6.0.&.10.0 8.0.&.10.1 4.5.&.1.0 11.7.&.2.0 4.10.&.5.0 7.13.&.4.0 12.13.&.3.0 1.25.&.6.0 8.26.@.3 2.27.&.7.0 15.28.&.10.2 [end] [offset] 788C [level] 33 [colour] 8e5f6a [size] 16.31 [author] Svetla n Saz [data] OOOOOOOOOOOOOOOO O&.....#....R.&O OOOO.OOOOO.OOOOO O^............^O O........HHH...O OHHH.....HTH...O OHTH.HHH.HHH...O OHHH.HTH.......O O....HHH.H.HHH.O O........b.HTH.O O..........HHH.O O#OOOOOOOOOOOOOO O#....O%.O...~.O O..!..O..O.O.O.O O.M#M....O.~.~.O O.....O......O.O OOOOOOO..O.~~..O ------O&...O.O.O OOO---OOOOOOOOOO O&O------------- O.O--OOOOOOOOOO- O.O--OT.D.DT.%O- O.O--OOOO.OOOOO- O.O-----O.O----- O.O-OOOOO.OOOOO- O.O-O}........O- O.O-O.........O- O.O-O}........O- O.O-OOOOOO.OOOO- O&O------O&O---- OOO------OOO---- [additional] 12 1.1.&.1.0 14.1.&.2.0 1.3.^.2.1.1 14.3.^.2.1.1 2.14.M.2 4.14.M.0 7.17.&.1.1 1.19.&.2.1 5.25.}.0.0.1.0.0.0 5.27.}.0.0.1.0.0.0 1.29.&.3.0 10.29.&.3.1 [end] [offset] 7A8C [level] 34 [colour] 688c99 [size] 16.31 [author] Svetla n Saz [data] oooooooooooooooo o^....##.......o o..............o o...........R..o o.........#....o o............#.o o.......#......o o.T...}........o o.....oHHHHHHHHo o.....o...oo...o o.....o.T.oo.T.o o...T.o...oo...o o.....oooooooooo o..............o o.....ooooo#oo.o o.....o...o....o o.....&.b.D.oo.o o..T..o...o....o o.....ooooo#oo.o o..............o o.....ooooo.oooo o..T..o........o o.....o......T.o o.#...o..^^....o o.....o...^^...o oT....o....^^..o o...T.o.....^^.o o.....o......^^o o.#...o.%......o o....To.......!o oo}ooooooooooooo [additional] 14 1.1.^.2.1.1 6.7.}.3.0.1.0.0.0 6.16.&.1.0 9.23.^.2.0.0 10.23.^.2.0.0 10.24.^.2.0.0 11.24.^.2.0.0 11.25.^.2.0.0 12.25.^.2.0.0 12.26.^.2.0.0 13.26.^.2.0.0 13.27.^.2.0.0 14.27.^.2.0.0 2.30.}.3.0.1.0.0.0 [end] [offset] 7C8C [level] 35 [colour] 6daf97 [size] 16.31 [author] Svetla n Saz [data] PPPPPPPPPPPPPPPP P..P^P.P...^...P P.RP.P.P..P.P..P P..P.P.P..PPP@.P P.....^...P.P..P PPPPPPPPPPPPP..P P^.............P P..............P P....###.......P P.....b.......!P PDDDDPPPPPPPPPPP P.....#bbb#.PV.P P......TTb#.P..P P...#..TTb#.P..P Pbbbbbbbbb#.P..P PPPPPPPPPPP&PPPP P..............P P..............P P..............P P...PTP.PTP*...P P....P...P.....P P..............P P@.....P@......P P.....P....P*..P P...TP....P...@P P...P....P.....P P.......PT.....P PP............TP PTP..T.........P P..............P PPPPPPPPPPPPPPPP [additional] 11 4.1.^.3.0.0 11.1.^.3.0.0 13.3.@.3 6.4.^.3.0.0 1.6.^.2.1.1 11.15.&.1.0 11.19.*.1 1.22.@.3 8.22.@.3 12.23.*.1 14.24.@.1 [end] [offset] 7E8C [level] 36 [colour] 9988ae [size] 16.31 [author] Svetla n Saz [data] ---------------& -...---...---... -.-.....-.---.-- -@---T---@....-- -.-.....-.---.-- -...---...---.-- --.----------.-- --.----------.-- --.----------.-- oo.oooooooooo.oo o..............o o.R............o o..............o o.............!o o}HHHHbHbHbHHbMo oooo.ooooooooooo ----.----------- ----.----------- -.........^....- ------.--------- ------.--------- oooooo.ooooooooo o......#T..o...o o.ooooo..o...o.o o.o...o.oooooo.o o.o.o.oTo......o o.o.o.ooo.oooooo o...o.....o...&o ooooooooooo.oooo }HHHHHHHHHHHH+To oooooooooooooooo [additional] 8 15.0.&.2.0 1.3.@.1 9.3.@.3 1.14.}.0.0.1.0.0.0 14.14.M.2 10.18.^.2.0.0 14.27.&.2.1 0.29.}.0.0.1.0.0.0 [end] [offset] 808C [level] 37 [colour] b98cb0 [size] 16.31 [author] Svetla n Saz [data] oooooooooooooooo o...oV....To...o o.R.oo.ooooo.&.o o....o..oo.D...o o.oo.oo....o.%.o o.To.ooooo.o...o o.oo..ToT..ooooo o..oo.oooo....To oo.........ooooo oo.oo.o!oT...oVo o..oo.oooo.o.oVo oo......o..o.oVo oT.oooo.o.oo.oVo oo...To......oVo o..oo.o.oooo.oVo oo.To.....oo.oVo o......oo....o.o ooo.oo.oT.oo...o o......oo.ooo.To o.oooo......o.oo o.oToo.oooo.o.oo o........o..o..o ooo.oooo.o.ooo.o oTo.o.%o.......o o...o.oo.ooooooo ooo......D.....o o...ooooooo..&.o oTo.o.....o....o ooooo.&.'.oooooo ooooo.....oooooo oooooooooooooooo [additional] 3 13.2.&.1.0 13.26.&.1.1 6.28.&.1.2 [end] [offset] 828C [level] 38 [colour] a486bf [size] 16.31 [author] Svetla n Saz [data] pppppppppppppppp p!.............} p#HHHHHHHHHHHH#p p.HHHHHHHHHHHH.} p.HHHHHTHHHHHH.p }.HHHHHHHHHHHH.p p.HHHTHHHHHTHH.p p.HHHHHHHHHHHH.} p.HHHHHHTHHHHH.p }.HHHHHHHHHHHH.p p.HHHTH#HHHHHH.p p.HHH...HHHHHH.p p.HHHHHHHH#HHH.p p.#THTHHHHHHH#.} p.HHHHHHHHHHb#.} p.#HTHHHHHHbH#.} p.HHHHTHHHHHH#.p p.HTHHHHHHHHH#.p p.HHHTHH...HH#.p p.HHHHHHHH.HH#.p p.HT#HHHHH.HHH.p p.HHHHHHHH.HHH.p p.H'HHHH.....H.p p.HHHHHHHH.##..} p.HH#HHHHH...H.p p.HHHHHHHHHHHH.p p.HHHHHHHHHHHH.p p.HHHHHHHHH#HH.p p............V.p p.R....#.......p ppppppp}pppppppp [additional] 10 15.1.}.2.0.1.0.0.0 15.3.}.2.0.2.0.0.0 0.5.}.0.0.2.0.0.0 15.7.}.2.0.2.0.0.0 0.9.}.0.0.2.0.0.0 15.13.}.2.0.2.0.0.0 15.14.}.2.0.2.0.0.0 15.15.}.2.0.2.0.0.0 15.23.}.2.0.2.0.0.0 7.30.}.3.0.2.0.0.0 [end] [offset] 848C [level] 39 [colour] 77c281 [size] 16.31 [author] Svetla n Saz [data] QQQQQQQQQQQQQQQQ Q..............Q Q.R....~.....T.Q Q..............Q Q............#.Q Q...T...~......Q Q..............Q Q.~...........?Q QQQQQ^QQQQ^QQQQQ Q......QQ......Q Q.QQQQQQQQQQQQ.Q Q......QQ.#....Q Q......QQ!..Q}.Q Q......QQQQ....Q M^........Q.Q..Q M^........Q.QT.Q Q......QQQQ.Q..Q Q......Q...#...Q QQQQQ..Q.QQ.Q}.Q Q...Q..Q.QT....Q Q.&.H..Q.QQQQQQQ Q...Q..Q.......Q QQQQQ..Q.QQQQQ@Q QT.....Q.QQQQQ.Q Q......Q.....@.Q Q..QQQQQQQQQQ..Q Q.TQ....#T.#Q.QQ Q..Q.&.#T#T.Q..Q Q..Q...##T.#QQ.Q Q..Q.?.#...#Q'.Q Q}}QQQQQQQQQQQQQ [additional] 14 5.8.^.0.0.0 10.8.^.2.0.0 13.12.}.1.0.0.0.0.0 0.14.M.0 1.14.^.0.0.0 0.15.M.0 1.15.^.2.1.1 13.18.}.3.0.1.0.0.0 2.20.&.1.0 14.22.@.3 13.24.@.0 5.27.&.1.1 1.30.}.3.0.1.0.0.0 2.30.}.3.0.1.0.0.0 [end] [offset] 868C [level] 40 [colour] 65da88 [size] 16.31 [author] Svetla n Saz [data] ooooooo..ooooooo o.....o..o.....o o.oTo.oooo.o*o.o o..o@...D..To+.o o.oTo.oooo.o*o.o o.....o..o.....o ooo.ooo..ooooooo ..o.o........... ooo.ooo......... o.....o......... o.o.o.o.ooooooo. o.%oT*o.o.....o. o.o.o.ooo.-T#.o. o..........M@.o. ooooooooo.#T-.o. ........o.....o. ooooooo.ooo.ooo. o.....o...o.o... o.-T-.o.ooo.ooo. o.*-T.o.o.....o. o.-.-.o.o.-.-.o. o.....o.o.@-@.o. ooo.ooo.o.-.-.o. ..o.o...o.....o. ..o.o...oo.oooo. ..o.o....o.o.... ooo.oo}ooo.ooooo o....o.o.......o o.!@.o.o.o@..R.o o..............o oooooooooooooooo [additional] 12 12.2.*.1 4.3.@.3 12.4.*.3 5.11.*.1 11.13.M.2 12.13.@.3 2.19.*.1 10.21.@.1 12.21.@.3 6.26.}.1.0.0.0.0.0 3.28.@.3 10.28.@.3 [end] [offset] 888C [level] 41 [colour] 84c489 [size] 16.31 [author] Svetla n Saz [data] ssssssssssssssss s...s......s...s s.&.s...%..s.&.s s.#..........#.s M......^.......M s..............s s.#..#...#..#..s s.}..}...}..}..s s..............s s..............s s.........T....s s..T...........s s............T.s s.#....T...#...s s..........?...s s.....#.T......s s............#.s s........T.....s s..............s s...T......T...s s.............Ts s....sssss.....s sT...s...s...##s s....D.b.D..T#!s ssssss...sssssss -----s...s------ -ssssss&ssssss-- -s+&&&.......s-- -s.&R&.....#.s-- -s+&&&.......s-- -sssssssssssss-- [additional] 18 2.2.&.1.0 13.2.&.2.0 0.4.M.0 7.4.^.2.1.1 15.4.M.2 2.7.}.1.0.0.0.0.0 5.7.}.1.0.0.0.0.0 9.7.}.1.0.0.0.0.0 12.7.}.1.0.0.0.0.0 7.26.&.2.1 3.27.&.10.0 4.27.&.1.1 5.27.&.10.1 3.28.&.10.2 5.28.&.10.3 3.29.&.10.4 4.29.&.1.2 5.29.&.10.5 [end] [offset] 8A8C [level] 42 [colour] b54fba [size] 16.31 [author] Svetla n Saz [data] ssssssssssssssss sR~.bbbbbbbbbbbs ssssssssbsssssss sbbbbbbbbbbbbb#} sssbssssssbsssss }#bbbbbbbbbbbbbs ssssssbsssssssss sbbbbbbbbbbbbb#} ssssbssssbssbsss }#bbbbbbbbbbbbbs ssssssssssbsssss }#bbbbbbbbbbb.Ts ssbsssssssssssss sbbbbb#.^....s.s ssssss.sssss...s }..........s.s.s sssss.ssssss.s.s }.........Ts.s.s ssssssss.sss.s.s --s........}.s&s --s.s.ssssss.sss --s.s.s----s.s-- --sTs.s----s.s-- sssss.ssss-s.s-- s}......}s-s.s-- sssss.ssss-s.s-- ----s.s----s.s-- ----s.s-ssss.sss ----s.s-s}....}s ----s.s-ssss.sss ----s&s----s!s-- [additional] 15 15.3.}.2.0.0.0.0.0 0.5.}.0.0.0.0.0.0 15.7.}.2.0.0.0.0.0 0.9.}.0.0.0.0.0.0 0.11.}.0.0.1.0.0.0 8.13.^.2.1.1 0.15.}.0.0.1.0.0.0 0.17.}.0.0.1.0.0.0 11.19.}.2.0.1.0.0.0 14.19.&.1.0 1.24.}.0.0.1.0.0.0 8.24.}.2.0.1.0.0.0 9.28.}.0.0.1.0.0.0 14.28.}.2.0.1.0.0.0 5.30.&.1.1 [end] [offset] 8C8C [level] 43 [colour] 93b06b [size] 16.31 [author] Svetla n Saz [data] oooooooooooooooo o#...#T#..#}#T#o o}#...#...##...o o#..#.#..#...#.o o.##....#......o o....oooooo.##.o o.#..o^...o.#.#o o#..#o....o#T..o o.#..o....o..#.o o....o.!..o.#T#o o....o.#..o#.#.o o####o.T..o.#T#o o####o...T#....o o....o....o.##.o o...#o..T.o...#o o.#..o....o#...o o..#.oT...o..#To o....ooooooHHHHo o..............o o.R.....&..bbb.o o..............o o##..ooooooHHHHo o....o----o....o o..#.o----o.%%.o o....o----o....o o.#..o----o####o oDDDDo----o....o oT...o----o.T..o o....o----o..&.o o.}}.o----o....o oooooo----oooooo [additional] 7 11.1.}.1.0.0.0.0.0 1.2.}.0.0.0.0.0.0 6.6.^.2.1.1 8.19.&.1.0 13.28.&.1.1 2.29.}.3.0.1.0.0.0 3.29.}.3.0.1.0.0.0 [end] [offset] 8E8C [level] 44 [colour] 8b6aae [size] 16.31 [author] Svetla n Saz [data] QQQQQQQQQQQQQQQ- QRQ^Q.QTQ.Q^Q.Q- Q.Q.Q^Q.Q^Q.Q.Q- Q.Q.Q.Q^Q.Q.H.Q- Q.Q.Q.Q.H.Q.Q.Q- Q.Q.Q.H.Q.Q.Q.Q- Q.Q.Q.Q.Q.H.Q.Q- Q...Q.Q.Q.Q.Q.Q- Q'Q.H.Q.Q.Q.Q.Q- QQQQQQQQQQQQQ.QQ Q..............Q Q..Q@Q@Q@Q@Q@Q.Q Q.Q.Q.Q@Q@Q@Q..Q Q..............Q QQQ.QQQ.QQQ.QQQQ -Q...Q...Q...Q-- -Q}..Q.&.Q.Q.Q-- -Q...Q...Q...Q-- -Q...QQQQQQ.QQQQ QQ.....Q.......Q Q....T.Q.b...T.Q Q.T#...Q...}...Q Q.QQQQQQQQQQQDQQ Q.&....Q...Q...Q Q.Q..T.Q.!.Q.+.Q Q.Q....Q.......Q Q.QQQQQQQQQQQQQQ Q.Q....Q...Q...Q Q.Q..%.Q.'.D.&.Q Q.&....Q...Q...Q QQQQQQQQQQQQQQQQ [additional] 19 3.1.^.3.0.0 11.1.^.3.0.0 5.2.^.3.0.0 9.2.^.3.0.0 7.3.^.3.0.0 4.11.@.3 6.11.@.3 8.11.@.3 10.11.@.3 12.11.@.3 7.12.@.1 9.12.@.1 11.12.@.1 2.16.}.0.0.0.0.1.1 7.16.&.2.0 11.21.}.0.0.0.0.1.1 2.23.&.1.0 13.28.&.2.1 2.29.&.1.1 [end] [offset] 908C [level] 45 [colour] 8dbec6 [size] 16.31 [author] Svetla n Saz [data] oooooooooooooooo o..............o o.T....T....T..o o....T....T....o o..............o o}HHHHHHH.....}o oooo.ooooo.....o oHHHHHHHHo.....o oHHHHHHHHoooDooo oHHHHHHHHo.....o o........o.?.!.o o.#......oo....o o.......#}oooooo o..%%..o.oo....o o..%%..D....oo.o o......o..o...#o oo....oo.#o#oo.o oM....?o#..#...o oM....?o.o.oRo.o ooooo.oooooooooo o..o...o...o...o oT.D.&.D.T.D.%.o o..o...o...o...o oDoooDoooDoooDoo o..o...o...o...o o%...T.D.&...&.o o..o...o...o...o oDooo.oooDoooDoo o..o...o...o...o oT.D.&.D.T...%.o oooooooooooooooo [additional] 9 1.5.}.3.0.0.1.0.0 14.5.}.2.0.0.0.0.0 9.12.}.3.0.0.1.0.0 1.17.M.0 1.18.M.0 5.21.&.1.0 9.25.&.2.0 13.25.&.1.1 5.29.&.2.1 [end] [offset] 928C [level] 46 [colour] b5686f [size] 16.31 [author] Svetla n Saz [data] pppppppppppppppp p...p......p...p p.R.p.&..%.p.&.p p.&.pVVVVVVp...p p...pVVVVVVp...p ppDppppp}ppppHpp p...p......p...p p.'.p.&..!.p.&.p p...pp.....p...p pppppppppppppppp ---------------- ---------------- ---------------- ---------------- ---------------- pppppppppppppppp p^##...........p p#.............p p..............p pHHHHHHHHHHHp..p pHHHHHH#HHHHp..p pTpTpTpTpTpTp..p ppppppppppppp..p p..............p p.b.ppppppppp..p p..............p ppppp.p@p@p@p@.p p...p.p.p.p.p..p p.&...p.p.p.p..p p...p..........p pppppppppppppppp [additional] 12 6.2.&.2.0 13.2.&.3.0 2.3.&.1.0 8.5.}.3.0.0.1.0.0 6.7.&.1.1 13.7.&.2.1 1.16.^.2.1.1 7.26.@.3 9.26.@.3 11.26.@.3 13.26.@.3 2.28.&.3.1 [end] [offset] 948C [level] 47 [colour] 758785 [size] 16.31 [author] Svetla n Saz [data] PPPPPPPPPPPPPPPP P..............P P..bbbbbbbbbb..P P..b########b..P P..b#VV^VVV#b..P P..b#^TTTT^#b..P P..b#VVV^VV#b..P P..b########b..P P..bbbbbbbbbb..P P..............P }..............} }..............} }..............} P..............P P..PPP.PPP.PP..P P....P..P...P..P P.b.........P..P PPP.P..PPP.....P P.P.P....P@..P.P P.P.PP......PP.P P......PP....P.P PPPP.%.PP.PP...P P..P.......PP..P P....PPP*......P P.P...P..PP.PPPP P.PPP.....P..P.P P.........P....P PPPPPPPPP......P P....D..D....&&P P.!'.P..P....&RP PPPPPP}.PPPPPPPP [additional] 16 7.4.^.2.0.0 5.5.^.3.0.0 10.5.^.1.0.0 8.6.^.0.0.0 0.10.}.0.0.2.0.0.0 15.10.}.2.0.2.0.0.0 0.11.}.0.0.2.0.0.0 15.11.}.2.0.2.0.0.0 0.12.}.0.0.2.0.0.0 15.12.}.2.0.2.0.0.0 10.18.@.3 8.23.*.1 13.28.&.2.0 14.28.&.1.0 13.29.&.3.0 6.30.}.3.0.0.1.0.0 [end] [offset] 968C [level] 48 [colour] 95bc84 [size] 16.31 [author] Svetla n Saz [data] ssssssssssssssss s###s......s###s s.&.s.&..T.s.&.s s###s......s###s sbbbssssssssbbbs s..............s s..............s s..............s s.sss.sss.sss..s s...sbsb...s...s s.......ss...sss s.s.sss..ss.bs.s s.s..s.R.....s.s s.ss.b..ssss...s s........b...s.s sssss.sss..sss.s s.....s........s sssss...sss.ss.s s.....s...s..s.s s..ss.sss..b.s.s s.ss......s....s s....ss.sss.ssss s.s..ss.......ss s.ss.b..sss.s..s s..s......s.ss.s s............s.s sssssss.}.ss...s s.....s...s....s s.&.!.s...s..?.s s.....s........s ssssssssssssssss [additional] 5 2.2.&.1.0 6.2.&.2.0 13.2.&.2.1 8.26.}.3.0.0.1.0.0 2.28.&.1.1 [end] [offset] 988C [level] 49 [colour] 9bbb8b [size] 16.31 [author] Svetla n Saz [data] PPPPPPPPPPPPPPPP P....P'........P P.&..P.......R.P P....P.b.......P P....P===......P P....P.........P P==============P P....P....P....P P....PT..TPT..!P P....PPPPPPPPPPP P..............P P}.............P P.............}P P.%.......P....P PPPPPPPPPPPb...P P.%.P....TP....P P.P...PP&PP####P P.PPPPP...P####P P.......PTP....P PPPPPPPPPPP....P P...P..........P PT@.D..........P P...P..........P PPPPP.........}P P...P..........P PT*.D...#...#..P P...P..P.P.P.P.P PPPPPPPP.PPP^PPP P...P..........P PTP...P.^.T...TP PPPPPPPPPPPPPPPP [additional] 9 2.2.&.1.0 1.11.}.0.0.2.0.0.0 14.12.}.2.0.2.0.0.0 8.16.&.1.1 2.21.@.3 14.23.}.2.0.0.0.0.0 2.25.*.1 12.27.^.3.0.0 8.29.^.3.0.0 [end] [offset] 9A8C [level] 50 [colour] ac7d92 [size] 16.31 [author] Svetla n Saz [data] pppppppppppppppp p....p...p.....p p.R..p.!......}p p....p...p.....p p....ppppp...&.p p}.........}...p ppp.pppppppppppp ---.------------ -}.............- -------------.-- -------------T-- ------ppp------- ppppppp&pppppppp p..............p p===.=.=.......p p..=.=.=.......p p..=.==........p p=.=.=.=.......p p===.=.=.......p p..............p ppppppp&pppppppp pppppppppppppppp pppppppppppppppp pppppppppppppppp pppppppppppppppp p..............p p.&...T.....T..p p........T.....p pppp...........p pT.....}....}.Tp pppppppppppppppp [additional] 10 14.2.}.2.0.0.0.0.0 13.4.&.1.0 1.5.}.0.0.1.0.0.0 11.5.}.3.0.1.0.0.0 1.8.}.0.0.1.0.0.0 7.12.&.2.0 7.20.&.1.1 2.26.&.2.1 7.29.}.3.0.0.1.0.0 12.29.}.3.0.0.1.0.0 [end] [offset] 9C8C [level] 51 [colour] 88a053 [size] 16.31 [author] Svetla n Saz [data] QQQQQQQQQQQQQQQQ QT............TQ Q...########...Q Q..###V##V###..Q Q..#R.####..#..Q Q..##......##..Q Q...########...Q Q&...@.@.@.@..TQ QQQQQQQQQQQQQQQQ ---------------- ---------------- QQQQQQQQQQQQQQQQ QT.^HH.........Q QQQQQQ.........Q QT.^HH.........Q QQQQQQ.....#...Q QT.^HH.........Q QQQQQQ......?..Q QT.^HH.........Q QQQQQQ.........Q Q..............Q Q.QQQQQQQQQQQQQQ Q...##.#.##.#..Q Q....#.##..#.'.Q Q.&...##.#.#..#Q Q...#..#..#.#..Q QQQQQQQQQQQQQQQQ Q...Q..!...Q...Q Q.&}........}&.Q Q.....Q..Q.....Q QQQQQQQQQQQQQQQQ [additional] 14 1.7.&.1.0 5.7.@.0 7.7.@.0 9.7.@.0 11.7.@.0 3.12.^.2.0.0 3.14.^.2.0.0 3.16.^.2.0.0 3.18.^.2.0.0 2.24.&.2.0 2.28.&.1.1 3.28.}.0.0.1.0.0.0 12.28.}.2.0.1.0.0.0 13.28.&.2.1 [end] [offset] 9E8C [level] 52 [colour] b35d69 [size] 16.31 [author] Svetla n Saz [data] PPPPPPPPPPPPPPPP P..........P...P P.R.PPPPPPbP.T.P P.....PPPP.P.T.P PPPPP.PPPP.P.T.P P'}'P.PPPPDP.T.P P..........P...P P..........P.&.P P..........P...P P........#.PPPPP P...P.#........P PM#MP......#.#.P P..&P...#......P P...P.....#.#..P P...P..#.......P PM..P..........P P...P==========P P..MP..........P P...P..........P P&#.P..PPPPPP.PP PPPPPP.P----P.P- ----P..P---PP.PP ----P.PP---P...P PPPPP..PPP-P.&.P P........P-P...P P...P....P-PPPPP P........P------ P..MP....P--PPP- P...P..!.P--PPP- P?.%P....P--PPP- PPPPPPPPPP------ [additional] 10 2.5.}.1.0.1.0.0.0 13.7.&.2.0 1.11.M.0 3.11.M.2 3.12.&.1.0 1.15.M.0 3.17.M.2 1.19.&.2.1 13.23.&.1.1 3.27.M.2 [end] [offset] A08C [level] 53 [colour] 87d072 [size] 16.31 [author] Svetla n Saz [data] OOOOOOOOOOOOOOOO O...O@.....O...O O.R.O......O.&.O O...O....'.O...O O...&@.....&...O OOOOOOOOOOOOOOOO O...#..#.#T#T##O O.&...#.#THTHT#O O..#.#.#T#T#T#TO O##.#.#.#T#T#T#O O==============O O...O...O......O O.T.O.T.O.?..%.O O...O...O......O OOOOOOOOOOOOOOOO O..........O...O O.O.^......O.!.O O.O........O.}.O O.O..O..O..O...O O.O........O...O O.O........O...O O.O........OODOO O.O............O O.OOOOOOOOOO...O O.O........O.b.O O........}.O...O OOOOO.}....OO.OO O...O......O...O O.&.OOOOOO.O.&.O O..........O...O OOOOOOOOOOOOOOOO [additional] 12 5.1.@.3 13.2.&.3.0 4.4.&.1.0 5.4.@.3 11.4.&.2.0 2.7.&.4.0 4.16.^.2.1.1 13.17.}.1.0.1.0.0.0 9.25.}.0.0.0.0.1.1 6.26.}.0.0.0.0.1.1 2.28.&.3.1 13.28.&.4.1 [end] [offset] A28C [level] 54 [colour] 8cb7a7 [size] 16.31 [author] Svetla n Saz [data] pppppppppppppppp pT.............p pp.^.ppppp...&.p p....p...p@....p pp...p.T.p....Mp pT...p...p.T...p pp...pp^pp.....p p%...........'+p ppppppM.Mppppppp p...p......p#HTp p.&.p.pppb.pT#.p p.....}p}..p#H#p ppp#p..p...pbHHp p...p....#.p#HHp p.T.p......pppHp p}#........HHHbp pppppppppppppppp ---------------- !..............& ---------------- pppppppppppppppp p&..^^.H..^^..&p ppMbMMbMpMbMpppp p......p&#.#...p p.&..&.ppMHMpp.p p......p.....p.p p.......#bb.Mp.p pppp...p.....p.p p..D.R.ppMHMpp.p p'.p...........p pppppppppppppppp [additional] 32 3.2.^.3.0.0 13.2.&.2.0 10.3.@.3 14.4.M.2 7.6.^.2.0.0 6.8.M.0 8.8.M.2 2.10.&.3.0 6.11.}.1.0.1.0.0.0 8.11.}.1.0.1.0.0.0 1.15.}.0.0.2.0.0.0 15.18.&.4.0 1.21.&.1.0 4.21.^.2.0.0 5.21.^.0.0.0 10.21.^.2.0.0 11.21.^.0.0.0 14.21.&.4.1 2.22.M.0 4.22.M.2 5.22.M.0 7.22.M.2 9.22.M.0 11.22.M.2 8.23.&.1.1 2.24.&.2.1 5.24.&.3.1 9.24.M.0 11.24.M.2 12.26.M.2 9.28.M.0 11.28.M.2 [end] [offset] 508C [level] 55 [colour] ad8d63 [size] 16.31 [author] Janusoft [data] oooooooooooooooo oHH...TTTT''''Ro o!H&&&&&&&&&&&&o oooooooooooooo.o o......ooooooo.o o.oDoo.D%%.&oo.o o.oToo.oooooHo.o o@oToo.@..oT...o o.ooooooo@oT...M o@oooTT%D.oT...M o.ooooooo.oT...M o.........oT...M oooooooooooT...M o.........oT...M o.TTTTTTT.oT...o o.TTTTTTT.oo}ooo o.TTTTTTT.oooooo o.TTTTTTT.D%?o&o o@TTTTTTT.o.?o.o o.@.@.@.@.o....o oooooooooooooooo oT^^^^^^^^^..D%o oT^^^^^^^^^..o'o oT^^^^^^^^^..o.& oooooooooooooooo o'''''''''''''.& o''''''''''''''o oooooooooooooooo ??????????????.& ???????????????? ???????????????? [additional] 60 3.2.&.6.0 4.2.&.6.1 5.2.&.5.0 6.2.&.5.1 7.2.&.4.0 8.2.&.4.1 9.2.&.3.0 10.2.&.3.1 11.2.&.2.0 12.2.&.2.1 13.2.&.1.0 14.2.&.1.1 11.5.&.2.2 1.7.@.1 7.7.@.2 9.8.@.1 15.8.M.2 1.9.@.1 15.9.M.2 15.10.M.2 15.11.M.2 15.12.M.2 15.13.M.2 12.15.}.3.0.1.0.0.0 14.17.&.3.2 1.18.@.1 2.19.@.2 4.19.@.2 6.19.@.2 8.19.@.2 2.21.^.1.0.0 3.21.^.1.0.0 4.21.^.1.0.0 5.21.^.1.0.0 6.21.^.1.0.0 7.21.^.1.0.0 8.21.^.1.0.0 9.21.^.1.0.0 10.21.^.1.0.0 2.22.^.1.0.0 3.22.^.1.0.0 4.22.^.1.0.0 5.22.^.1.0.0 6.22.^.1.0.0 7.22.^.1.0.0 8.22.^.1.0.0 9.22.^.1.0.0 10.22.^.1.0.0 2.23.^.1.0.0 3.23.^.1.0.0 4.23.^.1.0.0 5.23.^.1.0.0 6.23.^.1.0.0 7.23.^.1.0.0 8.23.^.1.0.0 9.23.^.1.0.0 10.23.^.1.0.0 15.23.&.4.2 15.25.&.5.2 15.28.&.6.2 [end] [offset] 528C [level] 56 [colour] a0a757 [size] 16.31 [author] Janusoft [data] OOOOOOOOOOOOOOOO O....@.@.@.@.@.O O.OOOOOOOOOOOO@O O.O!TTTTTTTTTO.O O.OTTTTTTTTTTO@O O.OTTTTTTTTTTO.O O.OTTTTTTTTTTO@O O.OTTTTTTTTTTO.O O.OTTTTTTTT.&O.O O.OOOOOOOOOOOO.O &..............D OOOOOOOOOOOOOOO% O............OR' O..HHH%HHHH.'OOO &D...@.@.@..'.&O OOOOOOOOOOOOOOOO O.......%......O O^^^^^^^^^^^^^^O O..........OOOOO &D.........D'%.& OOOOOOOOOOOOOOOO OHbVHbVHbVHb..'O OVOOOOOOOOOOOO'O ObH.bHVbHVbHVO'O OOOOOOOOOOOOTO.O &..HbVHb*Hb*bO&O OOOOOOOOOOOOOOOO O............O&O O...........OO.O &.......****D.%O OOOOOOOOOOOOOOOO [additional] 41 5.1.@.2 7.1.@.2 9.1.@.2 11.1.@.2 13.1.@.2 14.2.@.1 14.4.@.1 14.6.@.1 12.8.&.1.0 0.10.&.2.0 0.14.&.3.0 5.14.@.2 7.14.@.2 9.14.@.2 14.14.&.2.1 1.17.^.2.0.0 2.17.^.2.0.0 3.17.^.2.0.0 4.17.^.2.0.0 5.17.^.2.0.0 6.17.^.2.0.0 7.17.^.2.0.0 8.17.^.2.0.0 9.17.^.2.0.0 10.17.^.2.0.0 11.17.^.2.0.0 12.17.^.2.0.0 13.17.^.2.0.0 14.17.^.2.0.0 0.19.&.4.0 15.19.&.3.1 0.25.&.5.0 8.25.*.0 11.25.*.0 14.25.&.4.1 14.27.&.5.1 0.29.&.1.1 8.29.*.0 9.29.*.0 10.29.*.0 11.29.*.0 [end] [offset] 548C [level] 57 [colour] 84a768 [size] 16.31 [author] Janusoft [data] pppppppppppppppp pTTTTTTTTTTTTT!p M}.............M pDpppppp.pppppDp p..........%%%Rp p..............p pppppppDpppppppp p.......'D''D''p p.......pppppppp p.p.ppppp...@..p p.p@......pppp.p p.p.pppp..@ppp.p p..............p ppppppppp..ppppp p.}T......T}pb}p p.pT......Tppb}p p.}T......T}pb}p pVpT......Tppb}p pV}T......T}pb}p pVpT......Tppb}p pV}T......T}pb}p pppppp.ppppppppp p#.#.#.#.#.#.#.p p.#.#.#.#.#.#.#p p#.#.#.#.#.#.#.p p.#.#.....#.#.#p p#.#.#T.'#.#.#.p p.#.#.....#.#.#? p#.#.#.#.#.#.#.p p.#.#.#.#.#.#.#p pppppppppppppppp [additional] 21 0.2.M.0 1.2.}.3.0.2.0.0.0 15.2.M.2 12.9.@.2 3.10.@.3 10.11.@.0 2.14.}.0.0.0.0.0.0 11.14.}.2.0.0.0.0.0 14.14.}.2.0.1.0.0.0 14.15.}.2.0.1.0.0.0 2.16.}.0.0.0.0.0.0 11.16.}.2.0.0.0.0.0 14.16.}.2.0.1.0.0.0 14.17.}.2.0.1.0.0.0 2.18.}.0.0.0.0.0.0 11.18.}.2.0.0.0.0.0 14.18.}.2.0.1.0.0.0 14.19.}.2.0.1.0.0.0 2.20.}.0.0.0.0.0.0 11.20.}.2.0.0.0.0.0 14.20.}.2.0.1.0.0.0 [end] [offset] 568C [level] 58 [colour] 9a6391 [size] 16.31 [author] Janusoft [data] ssssssssssssssss s.#.#.#.#.#.#.Rs s#.#.#.#.#.#.#%s s.#.#.#.#.#.#..s sssss.......ssss ssssM.......Ms!s sTTTM.......MTTT sTTTM#..T..#MTTT sDDDM^..T..^MHHH s}b}M^.TTT.^M}b} s}b}M^.'T'.^M}b} s}b}M^.'T'.^M}b} s}b}M^.'T'.^M}b} s}b}M^.TTT.^M}b} s}b}M^..T..^M}b} s}b}M^..T..^M}b} s}b}M^.TTT.^M}b} s}b}M^..T..^M}b} s}b}M^.'T'.^M}b} s}b}M^..T..^M}b} ssDssss&T&ssssDs s..sssssssssss.s s.......D......s s.@.H...s......s s.HHTHH*s......s sHTTTTTHs....T.s s.HHTHH@s.^.^T.s s..HTH..s....T.s s..HTH..s.^.^^.s s&..H...sTTTT^&s ssssssssssssssss [additional] 111 4.5.M.0 12.5.M.2 4.6.M.0 12.6.M.2 4.7.M.0 12.7.M.2 4.8.M.0 5.8.^.3.0.0 11.8.^.3.0.0 12.8.M.2 1.9.}.0.0.2.0.0.0 3.9.}.0.0.2.0.0.0 4.9.M.0 5.9.^.3.0.0 11.9.^.3.0.0 12.9.M.2 13.9.}.2.0.1.0.0.0 15.9.}.2.0.2.0.0.0 1.10.}.0.0.2.0.0.0 3.10.}.0.0.2.0.0.0 4.10.M.0 5.10.^.3.0.0 11.10.^.3.0.0 12.10.M.2 13.10.}.2.0.1.0.0.0 15.10.}.2.0.2.0.0.0 1.11.}.0.0.2.0.0.0 3.11.}.0.0.2.0.0.0 4.11.M.0 5.11.^.3.0.0 11.11.^.3.0.0 12.11.M.2 13.11.}.2.0.1.0.0.0 15.11.}.2.0.2.0.0.0 1.12.}.0.0.2.0.0.0 3.12.}.0.0.2.0.0.0 4.12.M.0 5.12.^.3.0.0 11.12.^.3.0.0 12.12.M.2 13.12.}.2.0.1.0.0.0 15.12.}.2.0.2.0.0.0 1.13.}.0.0.2.0.0.0 3.13.}.0.0.2.0.0.0 4.13.M.0 5.13.^.3.0.0 11.13.^.3.0.0 12.13.M.2 13.13.}.2.0.1.0.0.0 15.13.}.2.0.2.0.0.0 1.14.}.0.0.2.0.0.0 3.14.}.0.0.2.0.0.0 4.14.M.0 5.14.^.3.0.0 11.14.^.3.0.0 12.14.M.2 13.14.}.2.0.1.0.0.0 15.14.}.2.0.2.0.0.0 1.15.}.0.0.2.0.0.0 3.15.}.0.0.2.0.0.0 4.15.M.0 5.15.^.3.0.0 11.15.^.3.0.0 12.15.M.2 13.15.}.2.0.1.0.0.0 15.15.}.2.0.2.0.0.0 1.16.}.0.0.2.0.0.0 3.16.}.0.0.2.0.0.0 4.16.M.0 5.16.^.3.0.0 11.16.^.3.0.0 12.16.M.2 13.16.}.2.0.1.0.0.0 15.16.}.2.0.2.0.0.0 1.17.}.0.0.2.0.0.0 3.17.}.0.0.2.0.0.0 4.17.M.0 5.17.^.3.0.0 11.17.^.3.0.0 12.17.M.2 13.17.}.2.0.1.0.0.0 15.17.}.2.0.2.0.0.0 1.18.}.0.0.2.0.0.0 3.18.}.0.0.2.0.0.0 4.18.M.0 5.18.^.3.0.0 11.18.^.3.0.0 12.18.M.2 13.18.}.2.0.1.0.0.0 15.18.}.2.0.2.0.0.0 1.19.}.0.0.2.0.0.0 3.19.}.0.0.2.0.0.0 4.19.M.0 5.19.^.3.0.0 11.19.^.3.0.0 12.19.M.2 13.19.}.2.0.1.0.0.0 15.19.}.2.0.2.0.0.0 7.20.&.5.0 9.20.&.6.0 2.23.@.2 7.24.*.0 7.26.@.0 10.26.^.0.0.0 12.26.^.0.0.0 10.28.^.0.0.0 12.28.^.0.0.0 13.28.^.3.0.0 1.29.&.6.1 13.29.^.3.0.0 14.29.&.5.1 [end] [offset] 588C [level] 59 [colour] b572b0 [size] 16.31 [author] Janusoft [data] PPPPPPPPPPPPPPPP &.#.T.#.T.#.T.RP P.T.#.T.#.T.#..P PPPPPPPPPPPPPP!P PP&PPPPPPPPPPPPP P'.'...........P P'.'.@....@....P P''.@------@...P P..@-######-@..P P.@-.-####-.-@.P P.-@-V-..-V-.-.P P.-..H..&.H..-.P P.-.#...%..#.-.P P.-.PM....MP.-.P P.-..PTTTTP..-.P P..-..PPPP..-..P P...-......-...P P....------....P P..............P PbPPPbPPPbbbbbbP PbbPbbP&PbbbbbbP P##P##P.P######P PbbPbbPPPbbbbbbP P.b.b..bbb...bbP Pb.bb.PbbPPPPbbP Pbbb..PbbP..PbbP Pb..PTPbbPPPPbbP Pbb.PPPbbPTTPbbP P.bbbb.bbPDDPbbP &..............P &&&&&&&&&&&&&&&P [additional] 31 0.1.&.2.0 2.4.&.2.1 5.6.@.2 10.6.@.2 4.7.@.2 11.7.@.2 3.8.@.2 12.8.@.2 2.9.@.2 13.9.@.2 3.10.@.0 8.11.&.4.0 5.13.M.0 10.13.M.2 7.20.&.3.0 0.29.&.1.0 0.30.&.1.1 1.30.&.1.2 2.30.&.1.3 3.30.&.3.1 4.30.&.3.2 5.30.&.3.3 6.30.&.6.0 7.30.&.6.1 8.30.&.6.2 9.30.&.6.3 10.30.&.6.4 11.30.&.5.0 12.30.&.5.1 13.30.&.5.2 14.30.&.4.1 [end] [offset] 5A8C [level] 60 [colour] 9ba9c2 [size] 16.31 [author] Janusoft [data] PPPPPPPPPPPPPPPP PTT'TTTTTTTTTTRP PP.PPPPPPPPPPPPP P...........^..M P...........^..M P...........^..M PPPPPPP&PPPPPPPP PTTTPT....}PTTTP P.TPTT.....}PTTP P&PTT.......}P.& PPTT.........&PP PTPTT.......}PTP PTTPTT.....}PTTP PT.&PT....}PTT.& PPPPPPPPPPPPPPPP &..'''''......&P PPPPPPPPPPPPPPPP PT....^MP??????P PT....^MP??????P PT....^MP??%...P PTTTTTT.PPPPPP&P PTTTTTT..DTTTTPP PTTTTTT.PPTTTTTP PTTTTTTTPTTTTP.P PPPPPPPPPPPPPP&P P......@@@@@@.PP P.PPPPPPPPPPP..P P.P........!.P.P P.PPPPPPbPPPPP.P P..............& PPPPPPPPPPPPPPPP [additional] 35 12.3.^.2.0.0 15.3.M.2 12.4.^.2.0.0 15.4.M.2 12.5.^.2.0.0 15.5.M.2 7.6.&.1.0 10.7.}.2.0.1.0.0.0 11.8.}.2.0.1.0.0.0 1.9.&.2.0 12.9.}.2.0.1.0.0.0 15.9.&.2.1 13.10.&.2.2 12.11.}.2.0.1.0.0.0 11.12.}.2.0.1.0.0.0 3.13.&.2.3 10.13.}.2.0.1.0.0.0 15.13.&.2.4 0.15.&.3.0 14.15.&.2.5 6.17.^.2.0.0 7.17.M.2 6.18.^.2.0.0 7.18.M.2 6.19.^.2.0.0 7.19.M.2 14.20.&.3.1 14.24.&.3.2 7.25.@.2 8.25.@.2 9.25.@.2 10.25.@.2 11.25.@.2 12.25.@.2 15.29.&.3.3 [end] [offset] 5C8C [level] 61 [colour] a5bf49 [size] 16.31 [author] Janusoft [data] QQQQQQQQQQQQQQQQ QR.............Q Q..........QQQ.Q Q...QQQQTTTQQQ.Q Q..QQQQQTTTQQQ.Q Q..QQQQQQQQQQQ.Q Q..QQQQQQQQQQQ.Q Q...TQQQQQQQQQ.Q Q..QQQQQQTTDT..Q Q..QQQQQQQQQT..Q Q..QQQQQQQQQT..Q Q..QQQQQQQQQQ..Q Q..QQQQQQQQQQ..Q Q..T%TTTTQQQQ@.Q Q.......@......Q Q..............Q QQQQQQQ.QQQQQQQQ Q........TTTT%}Q QQQ.QQQQQQQQQQQQ Q......TT....%}Q QQQQQQQQ.QQQQQQQ Q#.#.#.#.#.#.#.Q Q.#.#.#.#.#.#.#Q Q#.#.#.#.#.#.#.Q Q.#.#.#.#.#.#.#Q Q#.#.#.#.#.#.#.Q Q..............Q QQQQQQQDDDQQQQQQ M..............M Q....!%TT'TTTTTQ QQQQQQQQQQQQQQQQ [additional] 6 13.13.@.3 8.14.@.0 14.17.}.2.0.1.0.0.0 14.19.}.2.0.1.0.0.0 0.28.M.0 15.28.M.2 [end] [offset] 5E8C [level] 62 [colour] 80a4b4 [size] 16.31 [author] Janusoft [data] oooooooooooooooo o..............o o.oDooooooTTTo.o o.o%oooooo'''o*o o.oRooooooTTTo*o o.o&oooooooooo*o o.ooooooooTTTD*o o.oooooooooooo*o o.oooooooooooo*o o.ooooooooTooo*o o.ooooooTT%ooo*o o.oo&oooTooooo*o o.ooTooo.ooooo*o o.ooTooo&o%%%D*o o..oTooooo%ooo*o o..D.oTTTo%ooo*o o.ooooTTDooooo.o o.oooooo.ooooo.o o.D%%&oo&oTTTD.o o.oooooooooooo.o o.ooo&.DDTTT%o.o o.oooooooooooo.o o.oTTTTTTTTTTo.o o.oTTTTTTTTTTo.o o.oTTTTT!TTTTo.o o.oTTTTTTTTTTo.o o.oTTTTTTTTTTo.o o.oTTTTTTTTTTo.o o.oooooooDoooo.o o..............o oooooooooooooooo [additional] 19 14.3.*.0 14.4.*.0 3.5.&.1.0 14.5.*.0 14.6.*.0 14.7.*.0 14.8.*.2 14.9.*.0 14.10.*.0 4.11.&.2.0 14.11.*.0 14.12.*.0 8.13.&.1.1 14.13.*.0 14.14.*.0 14.15.*.0 5.18.&.3.0 8.18.&.2.1 5.20.&.3.1 [end] [offset] 608C [level] 63 [colour] 94a693 [size] 16.31 [author] Janusoft [data] OOOOOOOOOOOOOO&O O'''''''''''%%RO O%%%%%%%%%%%%%%O O.............^O O.?HH?H?HT?H?H?} O.TTH?HHHHH?HHH} O.%H?HH??HHH?HH} O.T?H?H??HH?H?H} O.%T?HH??HHH?HH} O.%HH?HH.HH?HHH} O.%THH?HH?HHHHH} O.THHHH??HHHHHH} ODD------------- O-D-----DDDDD--O O-DDDDDDD---D--O O-----D-----D--O O-----D-----D--O O-----D-----D--O O%%%%%%%D--DD--O O----------D---O O-------DDDD---O O-------D------O O..............O O..............O O..OOOO..OTOT.@O O..TOTO..OOOO..O O...*....*....@O O..............O OOOOOOOOOOOOOOOO O!TTTDD%%T%%T.&O OOOOOOOOOOOOOOOO [additional] 15 14.0.&.2.0 14.3.^.2.0.0 15.4.}.2.0.2.0.0.0 15.5.}.2.0.2.0.0.0 15.6.}.2.0.2.0.0.0 15.7.}.2.0.2.0.0.0 15.8.}.2.0.2.0.0.0 15.9.}.2.0.2.0.0.0 15.10.}.2.0.2.0.0.0 15.11.}.2.0.2.0.0.0 14.24.@.1 4.26.*.2 9.26.*.2 14.26.@.1 14.29.&.2.1 [end] [offset] 628C [level] 64 [colour] 7a7b98 [size] 16.31 [author] Janusoft [data] oooooooooooooooo o!.......'..''Ro o..............o o.....bbbb.....o o.oTo......oTo.o o..o@..b....o@.o o..............o o..............o oooooooo&ooooooo o..............o o.oT@oT...o@...o o.To.To..TToTo.o o.o%.oT..oTTo..o o.%ooTo...oo...o o..............o oooooooo&ooooooo o..............o o.ToTo@...oT@o.o o.oToT.D..TooT.o o......D.......o ooooooo&oooooooo o..............o o.oToT...oooo..o o..oTo@.ooTTo@.o o..............o ooooooooooo&&ooo o#.............o o#oooooooooooooo o..............} oooooooooooo.ooo ooooooTTTTTTTTTo [additional] 14 4.5.@.0 13.5.@.0 8.8.&.1.0 4.10.@.1 11.10.@.2 8.15.&.2.0 6.17.@.3 12.17.@.2 7.20.&.3.0 6.23.@.3 13.23.@.3 11.25.&.4.0 12.25.&.6.0 15.28.}.2.0.1.0.0.0 [end] [offset] 648C [level] 65 [colour] a1987f [size] 16.31 [author] Janusoft [data] ssssssssssssss.& sTVbV.bVVbTTTTTs ssssssssssssssss b..............s sbbbbbbbbbbbbbbs sHHHHHHHHHHHHHbs sTTTTTTTTTTTTTbs sTTTTTTTTTTTTTbs sTTTTTTTTTTTTTbs sTTTTTTTTTTT''bs s.........R...&s ssssssssssssssss sTTTTTTTTTTTT.&s sTssssssssssss.s sTsTTTTTTTTTTTTs sTssssssssssssss sTbbbbbbbbbbbbbs sT....H.H.....bs sHHHHHTHTHHHTbbs ssssssssssssTbss s%%%%%%%%%%%Tbbs sTHHHHHHHHHHHHbs s.HTHTHTHTHTHHbs s.HHHHHHHHHHHHbs s.......TT....bs s.............bs s.............&s ssssssssssssssss s.DDDDDDDDDDD.&s sTssssssssssss.s sssssssssssss!.& [additional] 6 15.0.&.4.0 14.10.&.2.0 14.12.&.2.1 14.26.&.1.0 14.28.&.1.1 15.30.&.4.1 [end] [offset] 668C [level] 66 [colour] 6ed365 [size] 16.31 [author] Janusoft [data] OOOOOOOOOOOOOOOO O...TTT''''''.RO O.OOOOOOOOOOOOOO O.......bb..TTTO OOOOOOOOObOOOOOO Obb..TT......bbO OObOOOOOOOOOOObO OOb..TTTTTO....O O....TTTTTObb..O OOOOOOOOOOOObOOO O...bbb..TT...TO OOOObOOOOOOOOOOO O........bbb..TO OOOOOOOOOOObOOOO O...TT.........O O...TT.....bbb.O OOOOOOOOOOOObbOO O.bbb..bbb.....O O.bbb..bbb.TTTTO OObOOOOObOOOOOOO O.....O@@@OTTTTO O...bbO@@@OTTTTO OOOOObO@T@ODDDDO O.....OOOOOOOObO O.bb..bb...bb.bO OOOOOOOOOOOObOOO O...bb...bb....O OOOOObOOObOObOOO OOOOObOOObOObOOO O!TT...TO******O OOOOOOOOOOOOOOOO [additional] 14 7.20.@.2 8.20.@.2 9.20.@.2 7.21.@.2 8.21.@.2 9.21.@.2 7.22.@.2 9.22.@.2 9.29.*.0 10.29.*.0 11.29.*.0 12.29.*.0 13.29.*.0 14.29.*.0 [end] [offset] 688C [level] 67 [colour] ad8c60 [size] 16.31 [author] Janusoft [data] OOOOOOOOOOOOOOOO O.....T%%%T...RO O.....TTTTT....O M^............^M M^............^M M^............^M OOOOOOOO.OOOOOOO OOOOT'TO.OOTOOOO O..O.OTO.TOTO..O M^............^M O..............O OOOO.OOOOOOOOOOO OTTO..DTTTTTTTTO OTbD..OOOOOOOOOO OTTO...O&TTTTTTO OTTD...OTTTTTTTO OOOO..DOOOOOOO%O OOOOOO....OTTO%O O%%TTO....DT%O%O OTTTTO....OOOODO OOOODO..^^OT%D.O O...^D.OOOOTTO.O O....O.D.^OOOO%O OOOOOOOOODOOTODO O^.D....O..^^^%O O..O^...OOOOOOOO O..O.OO.O..O..OO O^OOOO..^..^..^O O...!ODOOOOOOOOO O^...O....^.'.&O OOOOOOOOOOOOOOOO [additional] 33 0.3.M.0 1.3.^.2.0.0 14.3.^.0.0.0 15.3.M.2 0.4.M.0 1.4.^.2.0.0 14.4.^.0.0.0 15.4.M.2 0.5.M.0 1.5.^.2.0.0 14.5.^.0.0.0 15.5.M.2 0.9.M.0 1.9.^.2.0.0 14.9.^.0.0.0 15.9.M.2 8.14.&.2.0 8.20.^.3.0.0 9.20.^.3.0.0 4.21.^.0.0.0 9.22.^.0.0.0 1.24.^.2.0.0 11.24.^.3.0.0 12.24.^.0.0.0 13.24.^.3.0.0 4.25.^.2.0.0 1.27.^.2.0.0 8.27.^.2.0.0 11.27.^.2.0.0 14.27.^.2.0.0 1.29.^.2.0.0 10.29.^.2.0.0 14.29.&.2.1 [end] [offset] 6A8C [level] 68 [colour] a87c51 [size] 16.31 [author] Janusoft [data] OOOOOOOOOOOOOO&O O.............RO O..............O O....^........^O OTTH?HH?H}TH?H?} OTTHH?HHH}THH?H} OTTHHHH?H}THHH?} OTT?H?HHH}TH?HH} OTTH?H?H?}THHH?} O&OOOOOOOOTOOOOO OOO............O O...........OT.O O..........OOO.O O...OOT....OOO.O O..TOOOT...OOO.O O..OOOOOOOOOOO.O O..O&.OO&.TT!O.O O..OOTOOOOOOOO.O O..TOOOOOOOOOO.O O..OOOOTO@@@@@.O O..TOOT........O O..............O O..............O O..............O O..............O O..............O O..............O O&&&&&&&&&&&&&&O OOOOOOOOOOOOOOOO OT''''''''''''.& OOOOOOOOOOOOOOOO [additional] 36 14.0.&.6.0 5.3.^.0.1.1 14.3.^.0.1.1 9.4.}.2.0.1.0.0.0 15.4.}.2.0.1.0.0.0 9.5.}.2.0.1.0.0.0 15.5.}.2.0.1.0.0.0 9.6.}.2.0.1.0.0.0 15.6.}.2.0.1.0.0.0 9.7.}.2.0.1.0.0.0 15.7.}.2.0.1.0.0.0 9.8.}.2.0.1.0.0.0 15.8.}.2.0.1.0.0.0 1.9.&.2.0 4.16.&.1.0 8.16.&.6.1 9.19.@.0 10.19.@.0 11.19.@.0 12.19.@.0 13.19.@.0 1.27.&.5.0 2.27.&.5.1 3.27.&.5.2 4.27.&.3.0 5.27.&.3.1 6.27.&.3.2 7.27.&.4.0 8.27.&.4.1 9.27.&.5.3 10.27.&.4.2 11.27.&.1.1 12.27.&.4.3 13.27.&.5.4 14.27.&.1.2 15.29.&.2.1 [end] [offset] 6C8C [level] 69 [colour] 668e9e [size] 16.31 [author] Janusoft [data] ooooooo&o&o&o&oo o'''''''''''''Ro o'''''.....%%TTo ooooooooDooooooo oTTTTTTo.oTTTTTo oTTTTTTD.DTTTT%o ooooooooDooooooo o......D%D..???o o.?????ooo.????o o.?????ooo.????o o.?????ooo.????o o.?????ooo.????o o.?????ooo.????o o.?????ooo.????o o.....}ooo?...}o oooooDoooooooooo o.....o.%.o....o o.ooooo.o.oo.o.o o.......o....o.o oooooooooooooo.o }%.............o o.oooooooooooo}o }..............o oooooo&o&o&o&o&o o!TTTooooooooooo o.......^......o oooooooooooooo.o o.......^......o o.oooooooooooooo o.......^...H..& oooooooooooooooo [additional] 18 7.0.&.6.0 9.0.&.4.0 11.0.&.1.0 13.0.&.3.0 6.14.}.3.0.0.1.0.0 14.14.}.3.0.0.1.0.0 0.20.}.0.0.1.0.0.0 14.21.}.3.0.1.0.0.0 0.22.}.0.0.1.0.0.0 6.23.&.3.1 8.23.&.2.0 10.23.&.6.1 12.23.&.1.1 14.23.&.4.1 8.25.^.0.1.1 8.27.^.0.1.1 8.29.^.0.1.1 15.29.&.2.1 [end] [offset] 6E8C [level] 70 [colour] b86d7a [size] 16.31 [author] Janusoft [data] OOOOOOOOOOOOOOOO O........%%'''RO O..............O O..............O O..^..^...^...^O OOOOOOOODOOOOOOO O}O....O.......O T.O.b..O??????.O O.O.OO.OOOOOO?.O &.O.OO......O?.O O.O.OOOOOOO.O?.O &.O.OOOOOOO.O?.O O.O.ObbbbOO.O?.O O.O}bbOObOO....O O.OOOOOObOOOOOOO O..HH@@@HOOOOOOO OO.OOOOOOO.....O OO.........OOO.O OOOOOOOOOOOO}O.O O............O.O O.OOOOOOOOOO...O O.......&OOOOOOO OOOOOOOOOOOO..&O O.........O####O O..............O O..TTTT.TT.OO.OO O..T.@T@@T.OO.OO O.TT..TTTT.OO.OO O...........!.OO OOOOOOOOOOOOO.OO OOOOOOOOOOOOOOOO [additional] 17 3.4.^.0.1.1 6.4.^.0.1.1 10.4.^.0.1.1 14.4.^.0.1.1 1.6.}.1.0.1.0.0.0 0.9.&.5.0 0.11.&.5.1 3.13.}.3.0.1.0.0.0 5.15.@.2 6.15.@.2 7.15.@.2 12.18.}.1.0.1.0.0.0 8.21.&.2.0 14.22.&.2.1 5.26.@.0 7.26.@.2 8.26.@.2 [end] [offset] 708C [level] 71 [colour] 7887ca [size] 16.31 [author] Janusoft [data] oooooooooooooooo o...........'%Ro o...........oooo ?^............^? M^............^M M^............^M M^............^M M^............^M ooooooooDooooooo ooooooobbboooooo o..@..obbbbbbbbo o.ooo.obbb?bbbbo o@oT#.ooooooooDo o.ooo.D......b.o o.....o.....b..& oooooooooooo.ooo o..^..^..^H'...& o......ooooooooo o......T..T..VV} o.......T%...VV} o.......TT...VV} o......T..T..VV} ooooDooooooooooo ob.b.b.b.#.#.##o o.b.b.b.b.#.#.bo ob.b.b.T.b.#.b.o o.b.b.b.b.b.b.bo obbb.b.b.T.b.b.o o.b.b.T.b.b.b..o obbb.b.b.b.M..!o oooooooooooooooo [additional] 30 1.3.^.0.0.0 14.3.^.2.0.0 0.4.M.0 1.4.^.0.0.0 14.4.^.2.0.0 15.4.M.2 0.5.M.0 1.5.^.0.0.0 14.5.^.2.0.0 15.5.M.2 0.6.M.0 1.6.^.0.0.0 14.6.^.2.0.0 15.6.M.2 0.7.M.0 1.7.^.0.0.0 14.7.^.2.0.0 15.7.M.2 3.10.@.2 1.12.@.1 15.14.&.1.0 3.16.^.2.0.0 6.16.^.2.0.0 9.16.^.2.0.0 15.16.&.1.1 15.18.}.2.0.0.0.0.0 15.19.}.2.0.1.0.0.0 15.20.}.2.0.0.0.0.0 15.21.}.2.0.1.0.0.0 11.29.M.0 [end] [offset] 728C [level] 72 [colour] a675a7 [size] 16.31 [author] Janusoft [data] PPPPPPPPPPPPPPPP PP.........^'RPP PTP........^'PTP P.TP......^'PT.P P..TP....^'PT..P P...TP...^PT...P P.....PHPP.....P P.....PTTP.....P P.....HTTH.....P P....}PPHP}....P P...^PT...P^...P P..^PT....^P^..P P.^PT......^P^.P P^PT........^P^P PP&..........^PP PPPPPPPPPPPPPPPP P&.'...........P PPTT.PPPP..P.@@P P.P.P.P...P.PP&P P..P...P.P...T.P P....P..P..PPPPP P&PPP.P..@P....P P......PPP..PP.P PPPPPP.....P}P.P P....PPPPPPP.P.P P.PP.........P.P P..PPPPPPPPP...P P...........PPPP PPPPPPPPPPPTTTTP P!TTTTTTTTTTTTTP PPPPPPPPPPPPPPPP [additional] 27 11.1.^.2.0.0 11.2.^.2.0.0 10.3.^.2.0.0 9.4.^.2.0.0 9.5.^.2.0.0 5.9.}.1.0.1.0.0.0 10.9.}.1.0.1.0.0.0 4.10.^.3.0.0 11.10.^.3.0.0 3.11.^.3.0.0 10.11.^.2.0.0 12.11.^.3.0.0 2.12.^.3.0.0 11.12.^.2.0.0 13.12.^.3.0.0 1.13.^.3.0.0 12.13.^.2.0.0 14.13.^.3.0.0 2.14.&.4.0 13.14.^.2.0.0 1.16.&.4.1 13.17.@.2 14.17.@.2 14.18.&.5.0 1.21.&.6.0 9.21.@.2 12.23.}.1.0.1.0.0.0 [end] [offset] 748C [level] 73 [colour] 7fccac [size] 16.31 [author] Janusoft [data] PPPPPPPPPPPPPPPP PTTTTTTTTTTTTTRP PT'''''''''''''P PTTTTTTTTT.....P PT.............P PTHH?HHH?HHH?H?} PTHH?H?HHH?HHHH} PTHHHHHH#HHHH#H# PTHHH??HH??HHHH} PTHHH?HHHHHHHH?} PTHHH?H?HH?HHHH} PTHHHHHHHHHHHHH} PTH?H?HH?HH?HH?# PTH#HHHHHHHHHHH} PTHH?HH?H?HHH?H} PTHHH?HHHHH?HHH} PTHHHHH?HH?HH?H} PP.PPPPPPPPPPPPP P..............} PPPPPPPPPPPPPP.P }..............P P.PPPPPPPPPPPPPP P..............} PPPPPPPPPPPPPP.P }..............P P.PPPPPPPPPPPPPP P.P.T.P.T.P.T.PP P.P.P.P.P.P.P.PP P.P.P.P.P.P.P.PP P.T.P.T.P.T.P.!P PPPPPPPPPPPPPPPP [additional] 14 15.5.}.2.0.2.0.0.0 15.6.}.2.0.2.0.0.0 15.8.}.2.0.2.0.0.0 15.9.}.2.0.2.0.0.0 15.10.}.2.0.2.0.0.0 15.11.}.2.0.2.0.0.0 15.13.}.2.0.2.0.0.0 15.14.}.2.0.2.0.0.0 15.15.}.2.0.2.0.0.0 15.16.}.2.0.2.0.0.0 15.18.}.2.0.1.0.0.0 0.20.}.0.0.1.0.0.0 15.22.}.2.0.1.0.0.0 0.24.}.0.0.1.0.0.0 [end] [offset] 768C [level] 74 [colour] 809da0 [size] 16.31 [author] Janusoft [data] oooooooooooooooo oTTTTT%%%%%'''Ro oTTTTTTTTTTTTTTo oo.ooooooooooooo o.............^M o.............^M o.............^M o.............^M o.............^M oo&ooooooooooooo o..ooooo.......o oDDD...........o o.......ooDoo..o o...DDoooo%oo..o o...DT&ooo%%o..o o...oooo&oooo..o o@..oooo.o%TD..o o@.D%ooo'oooo..o o@..oooo'oooo..o o@.DTooo'oooo..o o@.DToooooo&TD.o o@..ooooooooTD.o o..DTooo&oooo..o o...D%%o.T!oo..o o...DT&oooooTD.o o...DDDTToooDD.o o..............o o..............o oooooooooooooooo &.TTTTTTTTTTTTTo oooooooooooooooo [additional] 23 14.4.^.0.0.0 15.4.M.2 14.5.^.0.0.0 15.5.M.2 14.6.^.0.0.0 15.6.M.2 14.7.^.0.0.0 15.7.M.2 14.8.^.0.0.0 15.8.M.2 2.9.&.2.0 6.14.&.3.0 8.15.&.3.1 1.16.@.2 1.17.@.2 1.18.@.2 1.19.@.2 1.20.@.2 11.20.&.1.0 1.21.@.0 8.22.&.6.0 6.24.&.6.1 0.29.&.1.1 [end] [offset] 788C [level] 75 [colour] 66a4bd [size] 16.31 [author] Janusoft [data] oooooooooooooooo o..............o o.oDooooooDoDo.o o.oToo%R&oToTo*o o.ooooooooooTo*o o.'o%%o&.'oooo*o o.ooo%ooo.oo&D.o o.o%oDooo.oooo.o o..............o oooooooooooooooo o...o..oo..o..oo oo.oo.o.o.o.o.oo oo.oo..oo.o.o.oo oo.oo.o.o.ooo.oo o...o..oo.ooo.oo oooooooooooooooo ooo...ooo.o.oooo ooo.&.ooo..ooooo ooo..!o.o.o.o.oo oooooooooooooooo o..........&...& o..........ooooo M^............^M M^............^M M^............^M M^............^M M^............^M M^............^M M?.............o oTTTTTTTTTTTTTT& oooooooooooooooo [additional] 35 8.3.&.3.0 14.3.*.0 14.4.*.3 7.5.&.3.1 14.5.*.2 12.6.&.1.0 4.17.&.4.0 11.20.&.2.0 15.20.&.1.1 0.22.M.0 1.22.^.2.0.0 14.22.^.0.0.0 15.22.M.2 0.23.M.0 1.23.^.2.0.0 14.23.^.0.0.0 15.23.M.2 0.24.M.0 1.24.^.2.0.0 14.24.^.0.0.0 15.24.M.2 0.25.M.0 1.25.^.2.0.0 14.25.^.0.0.0 15.25.M.2 0.26.M.0 1.26.^.2.0.0 14.26.^.0.0.0 15.26.M.2 0.27.M.0 1.27.^.2.0.0 14.27.^.0.0.0 15.27.M.2 0.28.M.0 15.29.&.4.1 [end] [offset] 7A8C [level] 76 [colour] 8373a6 [size] 16.31 [author] Janusoft [data] pppppppppppppppp p&......p....'Rp p.'pppp.p....''p p'.p..p.p......p p..pppp.p%%%.@@& p..pTTp.pppppppp p.......p...'..& p..ppp..p......} p..Tp@..p......} p...p@..pTTTTTT& p...p...pppppppp p.......pTTTTT.& p..pppp.p......p p..pVVp.p.....^M p..pppp.pTTT...p p..pT@p.pTTT...& p.......pppppppp p..ppp..p??????p p..p.Tp.p&.....& p..p&p..pppppppp p..pp...p&T}}}Tp p..p*p..pTT...Tp p..p*Tp.pTT.%.%p p.......pTT....& p..ppp..pppppppp p..Tp*..pT&pTDTp p..Tp*..pDppTpTp p...p...pTTpTpTp p..ppp..ppDpTpTp p......!pT.TTp.& pppppppppppppppp [additional] 29 1.1.&.6.0 13.4.@.2 14.4.@.2 15.4.&.3.0 15.6.&.2.0 15.7.}.2.0.1.0.0.0 5.8.@.2 15.8.}.2.0.1.0.0.0 5.9.@.0 15.9.&.1.0 15.11.&.5.0 14.13.^.2.1.1 15.13.M.2 5.15.@.0 15.15.&.4.0 9.18.&.6.1 15.18.&.4.1 4.19.&.1.1 9.20.&.5.1 11.20.}.1.0.0.0.0.0 12.20.}.1.0.0.0.0.0 13.20.}.1.0.0.0.0.0 4.21.*.0 4.22.*.2 15.23.&.1.2 5.25.*.0 10.25.&.2.1 5.26.*.2 15.29.&.3.1 [end] [offset] 7C8C [level] 77 [colour] b5a746 [size] 16.31 [author] Janusoft [data] -------------&-- ------T--T-..TTR -H?HH-T--T-.---- -HHHH-.--.-.--T- -HHHH-..^.-^^^^- -HHHH-.--^----.- -}}}}-^--.^....- ------&--------- ---------------- -&...---.......& ----.-!-.------- ----.-H-.--^..-- ----.-H-.--.-.-- -&--.-H-....-^-- T....-H------^-- ----}-.-....}..& ------...------- ---------------& --TT...^......-. --T----------.-. ----...^....^.-. ----.----.-----. ----....-^-..^.. -------.-.-.---' -------.-.^.-V-V --TT@-'.-----VV- --@@@--.-bb--V-V --@@@--bbb------ --bbb--b------V- ----bbbb-------- --------.''''.&- [additional] 38 13.0.&.4.0 8.4.^.2.0.0 11.4.^.3.0.0 12.4.^.0.0.0 13.4.^.0.0.0 14.4.^.3.0.0 9.5.^.1.0.0 1.6.}.3.0.0.1.0.0 2.6.}.3.0.0.1.0.0 3.6.}.3.0.0.1.0.0 4.6.}.3.0.0.1.0.0 6.6.^.3.0.0 10.6.^.0.0.0 6.7.&.1.0 1.9.&.1.1 15.9.&.2.0 11.11.^.0.1.1 1.13.&.2.1 13.13.^.0.0.0 13.14.^.0.0.0 4.15.}.3.0.1.0.0.0 12.15.}.3.0.0.1.0.0 15.15.&.3.0 15.17.&.3.1 7.18.^.0.0.0 7.20.^.0.0.0 12.20.^.0.0.0 9.22.^.0.0.0 13.22.^.0.0.0 10.24.^.0.0.0 4.25.@.2 2.26.@.2 3.26.@.2 4.26.@.2 2.27.@.2 3.27.@.2 4.27.@.2 14.30.&.4.1 [end] [offset] 7E8C [level] 78 [colour] 765d8b [size] 16.31 [author] Janusoft [data] ssssssssssssssss sTTTTTTTTTTTTTRs s..............s s..............s }..............} s..............s M^............^M M^............^M M^............^M }^............^} sssss.ss.ss.ssss sTTs...s..sTTTTs sTTs^^^s^^ssssTs sTTs^^^s^^sTTTTs sTT.sssssssTssss s.s........T...s s.ssssssssssss.s s.T%%..}sHHHHHHs s.T??..}sHTTTTHs s.T??..}sHTTTTHs s.T?H..}sHHHHHHs s.T??..}sHHHHHHs &.T%?..}&....}.s ssssssssssssssss s.TTTTT.sDDDDD.& s.ss.ss.s.~~~~Ds sTTT}TTTsTTT.TTs s.ss.ss.sbbbbbbs sD}sTs}.sbbbbbbs &.DTTT.'sbbbbb!s ssssssssssssssss [additional] 42 0.4.}.0.0.0.0.0.0 15.4.}.2.0.0.0.0.0 0.6.M.0 1.6.^.0.0.0 14.6.^.2.0.0 15.6.M.2 0.7.M.0 1.7.^.0.0.0 14.7.^.2.0.0 15.7.M.2 0.8.M.0 1.8.^.0.0.0 14.8.^.2.0.0 15.8.M.2 0.9.}.0.0.0.0.0.0 1.9.^.0.0.0 14.9.^.2.0.0 15.9.}.2.0.0.0.0.0 4.12.^.2.0.0 5.12.^.2.0.0 6.12.^.2.0.0 8.12.^.2.0.0 9.12.^.2.0.0 4.13.^.2.0.0 5.13.^.2.0.0 6.13.^.2.0.0 8.13.^.2.0.0 9.13.^.2.0.0 7.17.}.2.0.1.0.0.0 7.18.}.2.0.1.0.0.0 7.19.}.2.0.1.0.0.0 7.20.}.2.0.1.0.0.0 7.21.}.2.0.1.0.0.0 0.22.&.2.0 7.22.}.2.0.1.0.0.0 8.22.&.1.0 13.22.}.3.0.0.1.0.0 15.24.&.1.1 4.26.}.0.0.0.0.1.1 2.28.}.0.0.0.0.1.1 6.28.}.0.0.0.0.1.1 0.29.&.2.1 [end] [offset] 808C [level] 79 [colour] 9c7e64 [size] 16.31 [author] Janusoft [data] ssssssssssssssss s............TRs s.sssss.sHsHsTTs s.sTsTs.sVsVs..s s.sTsTs.s.s.s..s s.sTs%s.s.s.s..s s.sTsTs-sHsHs..s s.sTsTs..b..'..s s.sDsDs.s.s.s..s s..............s s..............& ssssssssssssssss s...s...s...@'.& s.s...s.@sssssDs s.ssssss@@@@@..s s......sssssssss ssssss.TTTTTTT%s s...HsssssssssDs s...#..........s s..........H.~.s s..............s s..............s s..............s sssssbssssssssss sbbbbbbbbbbbbbbs ssssssssssssssDs }HHHHHHH#?.....s sH........bbbb@} }HHHHHHHHbb!..@} s.......bbbb@@@} ssssssssssssssss [additional] 19 15.10.&.1.0 12.12.@.2 15.12.&.1.1 8.13.@.2 8.14.@.2 9.14.@.2 10.14.@.2 11.14.@.2 12.14.@.2 0.26.}.0.0.1.0.0.0 14.27.@.2 15.27.}.2.0.0.0.0.0 0.28.}.0.0.0.0.0.0 14.28.@.2 15.28.}.2.0.0.0.0.0 12.29.@.2 13.29.@.2 14.29.@.2 15.29.}.2.0.0.0.0.0 [end] [offset] 828C [level] 80 [colour] 84ae78 [size] 16.31 [author] Janusoft [data] ssssssssssssssss s...........R..s ssssssssssssss.s M.....^........s M....^.........s M...^..........s M..^...........s M.^............s M^.............s sssss&ssssssssss s.#.#.#.#.#.#.#s s#.#.#.#.#.#.#.s s.#.#.#.#.#.#.#s s#.#.#.#.#.#.#.s s..............s ssssss&sss&sssss &.^^^..^s......& s%%.....TTTTTT.s ssssssss.sssssss sTsTsTs...ssTsTs s.......}......s ssTsTss...sssTss ssssssss.sssssss s...TTTT.^^^^^^s ssssssssssssssss s!TTTTTTTTTTTTTs }HHT?T???T?THHH} }HHT?T???T?THHH} }HHT?T???T?THHH} s.......'''''..s ssssssssssssss&s [additional] 35 0.3.M.0 6.3.^.0.0.0 0.4.M.0 5.4.^.0.0.0 0.5.M.0 4.5.^.0.0.0 0.6.M.0 3.6.^.0.0.0 0.7.M.0 2.7.^.0.0.0 0.8.M.0 1.8.^.0.0.0 5.9.&.2.0 6.15.&.3.0 10.15.&.1.0 0.16.&.1.1 2.16.^.0.1.1 3.16.^.0.1.1 4.16.^.0.1.1 7.16.^.0.1.1 15.16.&.3.1 8.20.}.0.0.0.0.1.1 9.23.^.2.0.0 10.23.^.2.0.0 11.23.^.2.0.0 12.23.^.2.0.0 13.23.^.2.0.0 14.23.^.2.0.0 0.26.}.0.0.0.0.0.0 15.26.}.2.0.0.0.0.0 0.27.}.0.0.0.0.0.0 15.27.}.2.0.0.0.0.0 0.28.}.0.0.0.0.0.0 15.28.}.2.0.0.0.0.0 14.30.&.2.1 [end] [offset] 848C [level] 81 [colour] 815b7a [size] 16.31 [author] Janusoft [data] PPPPPPPPPPPPPPPP P..@.@.@P..^...P P.!TTTT.D..T...P P.......P..*...P PPPPPPPPPPPPPPDP }.TTTTTTTT'''%%P P.PPPPPP}PPPPPPP P......TTTTTT.}P PPPPPPPPPPPPP..P PHHHHHHHHHHHP..M PHHHHHbHHHHHP..M PHHHHHHHHHHHP..M PHHHHHHHHHHDP..M PHHHHHHHHHHHD.HP PPPPDPPPPPPPPPPP }...T...'''.%..P PPPPPPPPPPPPPP&P P............P.P P..............P }.T......T.PPPPP }..T....T..P.?.P }...T..T...&.?.P }....TT....P.?.P PPPPPPPPPPPPPP.P P..............P P..P^.....TTP..P PT.^P^...TTP^.TP P....P^..TP^..TP P.....P^.P^...TP P...'.RPP^....TP PPPPPPPPPPPPPPPP [additional] 28 3.1.@.2 5.1.@.2 7.1.@.0 11.1.^.0.0.0 11.3.*.0 0.5.}.0.0.1.0.0.0 8.6.}.1.0.1.0.0.0 14.7.}.1.0.1.0.0.0 15.9.M.2 15.10.M.2 15.11.M.2 15.12.M.2 0.15.}.0.0.0.0.0.0 14.16.&.1.0 0.19.}.0.0.1.0.0.0 0.20.}.0.0.1.0.0.0 0.21.}.0.0.1.0.0.0 11.21.&.2.0 0.22.}.0.0.1.0.0.0 4.25.^.0.0.0 3.26.^.0.0.0 5.26.^.0.0.0 12.26.^.0.0.0 6.27.^.0.0.0 11.27.^.0.0.0 7.28.^.0.0.0 10.28.^.0.0.0 9.29.^.0.0.0 [end] [offset] 868C [level] 82 [colour] a9a9ae [size] 16.31 [author] Janusoft [data] ssssssssssssss!s sTTTTTTTTTTTTTTs sTsssssssss&ssTs sT}..........}Ts sT}..........}Ts sTsTTTTT%TTR.sTs sT}..........}Ts sT}..........}Ts sT}..........}Ts sTsssssssss&ssTs sTTTTTTTTTTTTT.& ssssssssssssssss s............'.& s..............s ^^.............& M^.............& M^.............& M^.............& M^.............& M^.............& sssss&sssssss&ss s.....ssssssssss s..*..s........s s.TT..s.'sss...} s.TTT.s.ssTs..^s s.....sDsTTs...} s&sss...sTTs..^s s.'.sssssTTs...} s...^^^^s..s...s s...^^^.&s.....s ssssssssssssssss [additional] 49 11.2.&.3.0 2.3.}.0.0.0.0.0.0 13.3.}.2.0.0.0.0.0 2.4.}.0.0.0.0.0.0 13.4.}.2.0.0.0.0.0 2.6.}.0.0.0.0.0.0 13.6.}.2.0.0.0.0.0 2.7.}.0.0.0.0.0.0 13.7.}.2.0.0.0.0.0 2.8.}.0.0.0.0.0.0 13.8.}.2.0.0.0.0.0 11.9.&.2.0 15.10.&.1.0 15.12.&.3.1 0.14.^.3.0.0 1.14.^.2.0.0 15.14.&.4.0 0.15.M.0 1.15.^.2.0.0 15.15.&.4.1 0.16.M.0 1.16.^.2.0.0 15.16.&.4.2 0.17.M.0 1.17.^.2.0.0 15.17.&.4.3 0.18.M.0 1.18.^.2.0.0 15.18.&.4.4 0.19.M.0 1.19.^.2.0.0 15.19.&.4.5 5.20.&.5.0 13.20.&.4.6 3.22.*.0 15.23.}.2.0.1.0.0.0 14.24.^.2.0.0 15.25.}.2.0.1.0.0.0 1.26.&.6.0 14.26.^.2.0.0 15.27.}.2.0.1.0.0.0 4.28.^.1.0.0 5.28.^.1.0.0 6.28.^.1.0.0 7.28.^.1.0.0 4.29.^.1.0.0 5.29.^.1.0.0 6.29.^.1.0.0 8.29.&.1.1 [end] [offset] 888C [level] 83 [colour] 6f9cce [size] 16.31 [author] Janusoft [data] pppppppppppppppp pTTTTTTTTTTTTTRp p%%%%%TTTTTT'..p p%%%%%%%TT....^p pHHHHHHHHHHHHH.p pHHHHHHHHHHHHHHp pHHHHHHHHHHHHHHp pHHHHHHHHHHHHHHp pHHHHHHHHHHHHHHp ppppppppppppppHp pppppppppppppHHp ppp...........bp p...bbbTTTTTTTbp p.bbbTbbbbbbbbbp p.bTTTTT.......p p.bbbbb........p p.......ppppppDp ppppppppppppppDp pDDDDDDDDDDDDDDp p.pppppppppppppp p&p...@@@@..T.&p pppTTTTTTTTTT'%p p!pTTTTTTTTTTT&p &.pDDDDDDDDDDDDp p.pTTTTTTTTTTTT& p.pDDDDDDDDDDDDp p.p..^^^^^..T.&p p.p&TTTTTTTTT'Dp pDpppppppppppppp pTTTTTTTTTTTTT.& pppppppppppppp&p [additional] 19 14.3.^.0.1.1 1.20.&.2.0 6.20.@.2 7.20.@.2 8.20.@.2 9.20.@.2 14.20.&.2.1 14.22.&.3.0 0.23.&.6.0 15.24.&.6.1 5.26.^.2.1.1 6.26.^.2.1.1 7.26.^.2.1.1 8.26.^.2.1.1 9.26.^.0.1.1 14.26.&.3.1 3.27.&.4.0 15.29.&.4.1 14.30.&.5.0 [end] [offset] 8A8C [level] 84 [colour] 6788ae [size] 16.31 [author] Janusoft [data] oooooooooooooooo o......TD!oooTTo M........Mo}o..o ooooDDDoooo.ooHo o............oHo oo.o%..oooo..oHo oo%oooooTTo.ooHo o%%TDTTTToo.obbo ooooooooooo.obbo o..............o o..............o oooooooo.ooooooo o..............o o..............o o.^^..^...^..^.o oHHHHHHHHHHHHHHo oHHHHHHHHHHHHHHo oHbHHHHHHHHHHHHo oHHHHHHHHHHHHHHo obHHHbHHHbbHHHHo oHHHHHHHHHHHHHHo oHHHHHHHHHHHHHHo oHHHHHHHHHHHHHHo oHHHHHHHHHbHHHHo oHHHHHHHHHHHHHHo o.......#..#...o o.......b..b...o o..............o oooooooooDoooooo o..R''%TTTT%TTTo oooooooooooooooo [additional] 8 0.2.M.0 9.2.M.2 11.2.}.1.0.1.0.0.0 2.14.^.2.1.1 3.14.^.2.1.1 6.14.^.2.1.1 10.14.^.2.1.1 13.14.^.2.1.1 [end] [offset] 8C8C [level] 85 [colour] 937251 [size] 16.31 [author] Janusoft [data] oooooooooooooooo o%'D..........*o oR'oTTT.......*o ooooTTT.......*o o^.oooTTT.....*o M^..ToooTTT...*o o^..TTToooTTT.*o o^....TTToooTTTo o^......TTToooTo o^........TTTo&o &^...........'.o &ooooooooooooooo &.'^^^^........o oooooooooooooo.o o.....@}}}}}}}.o o.....@HHH?HH#.o o.....@HHHHHHH.o o....'@HHHHHHH.o o....'@HHH?HHH.o ooo..oo}}}}}}}.o o.....oooooooooo }..............} }..............} ooooooooo&oooooo o..............o o..........!...o o..............o o............'.M oTTTTTTTTTTTTTTo o########??####o oTTTTTTTTTTTTTTo [additional] 47 14.1.*.0 14.2.*.0 14.3.*.0 1.4.^.0.0.0 14.4.*.0 0.5.M.0 1.5.^.0.0.0 14.5.*.0 1.6.^.0.0.0 14.6.*.0 1.7.^.0.0.0 1.8.^.0.0.0 1.9.^.0.0.0 14.9.&.1.0 0.10.&.2.0 1.10.^.0.0.0 0.11.&.2.1 0.12.&.2.2 3.12.^.3.0.0 4.12.^.0.0.0 5.12.^.0.0.0 6.12.^.3.0.0 6.14.@.2 7.14.}.1.0.1.0.0.0 8.14.}.1.0.1.0.0.0 9.14.}.1.0.1.0.0.0 10.14.}.1.0.1.0.0.0 11.14.}.1.0.1.0.0.0 12.14.}.1.0.1.0.0.0 13.14.}.1.0.1.0.0.0 6.15.@.2 6.16.@.2 6.17.@.2 6.18.@.2 7.19.}.3.0.1.0.0.0 8.19.}.3.0.1.0.0.0 9.19.}.3.0.1.0.0.0 10.19.}.3.0.1.0.0.0 11.19.}.3.0.1.0.0.0 12.19.}.3.0.1.0.0.0 13.19.}.3.0.1.0.0.0 0.21.}.0.0.0.0.0.0 15.21.}.2.0.0.0.0.0 0.22.}.0.0.0.0.0.0 15.22.}.2.0.0.0.0.0 9.23.&.3.0 15.27.M.2 [end] [offset] 8E8C [level] 86 [colour] 65719f [size] 16.31 [author] Janusoft [data] PPPPPPPPPPPPPPPP P............R.P P..............P PPTPTP.P.PDPPPDP PPPPPP.P.P%PTTTP PTTTTTTP.PTPTPPP PDPPPPPP.PPPTPTP PTTT.%P...PTTTTP PPPPPPPD}.PPPPPP P...T...}.TTT%%P PDPPPPPPPPPPPPPP P.TTTT..#..##.%P P.TTTT.....##~.P P..TT..........P P..TT..........P P...T..........P P..T..##.......P P..TT.##.......P P........bbb##.& PPPPPPPPPPDPPPPP P...........###P P.b.b..b....#!#P P.########..###P P.########.....P P.############.P P.############'P P.############.P P.PPPPPPPPPPPP.P P..............M P....^^^^^^TTTTP PPPPPPPPPPPPPPPP [additional] 10 8.8.}.0.0.0.0.1.1 8.9.}.2.0.0.0.0.0 15.18.&.1.0 15.28.M.2 5.29.^.0.0.0 6.29.^.0.0.0 7.29.^.0.0.0 8.29.^.0.0.0 9.29.^.0.0.0 10.29.^.0.0.0 [end] gnurobbo-0.66+dfsg/data/levels/demo.dat0000644000175000017500000000604511324353351017065 0ustar stevestevethese levels are taken form the demo version. [name] Demo [last_level] 4 [offset] 388C [level] 1 [colour] [size] 16.31 [author] Demo [level_notes] Level edited with GNU Robbo Designer [data] ssssssssssssssss s.....#s...#.#.s s..R.....#.#...s s#.....s..#..#.s sssss.ssssssss.s s...s...s...Ts.s s.T.D.T.D.ssss.s s...s...s.s%%..s sssssssss.ssssss ........s.s..... ........s.s..... ........s.ssssss sssssssss....sTs s.......s.ss#..s s.q^q.q.sTs..#ss s.q.q.q.sss.s..s s.q.q^q.....#..s s.q.q.q.sss#s.#s s.......s.s....s s.sssssss.s.#s.s s.s.......s....s s.ssssssssssssss s..s...s.......s ss.s.b...%..}..s .s.s...s....s..s .s.ssssss#sss..s .s....s...sT...s sssss.sT..s....s s...s.sssssss}.s s.!.D..........s ssssssssssssssss [additional] 4 3.14.^.3.0.0 5.16.^.3.0.0 12.23.}.2.0.0.0.0.0 13.28.}.3.0.1.0.0.0 [end] [offset] 3A8C [level] 2 [colour] [size] 16.31 [author] Demo [data] PPPPPPPPPPPPPPPP Pb..#....#..#.TP Pb}.....#Hb##..P Pb.......##.#.%P PPPPPPP.PPPPPPPP PP....P.P.....PP PP'PP.P.P.PPPTPP PPPP..P.P..PPPPP PPP..PP#PP..PPPP PP...P###P...PPP P....PP#PP.....P P.&...P.P....&.P P....?P.P.P....P PPPPPPP.P.P...PP P#..#.P.P.P..PPP P#b.b.P.P....PPP P....PP.PP.}..PP P.#b.P...P.P...P P....b...PHP.R.P P#.........P...P PPP.PPPPP.PPPPPP P#..PTP}P.....&P P.}...P.PPPPPPPP P..PP.P........P PT....P.bbbbbb.P PPPPPPP.b####b.P P...D...b#^!#b.P P.PPPPP.b####b.P P.PPPPP.bbbbbb.P P....&P........P PPPPPPPPPPPPPPPP [additional] 9 2.2.}.0.0.0.0.0.0 2.11.&.1.0 13.11.&.1.1 11.16.}.3.0.1.0.0.0 7.21.}.1.0.0.0.0.0 14.21.&.2.0 2.22.}.0.0.0.0.1.1 10.26.^.2.0.0 5.29.&.2.1 [end] [offset] 3C8C [level] 3 [colour] [size] 16.31 [author] Demo [data] pppppppppppppppp p..............p p...p..pppp....p p...p....Tp..R.p p..Tp*..ppp....p p.pppp..pT@....p p.......pppppp.p p.pT...........p p.ppppppppppp..p p....#........#p p.pppppp.ppppp&p p.p......p.....p p.p.pppp.p.....p pDp.p....p.....p p.p.pp.ppp.TTT.p p.p..p...p.ppp*p p.pp.ppp.p.....p p.p...Tp@ppppppp p.p.pppp.p...p.p p.p......pTp.p.p p.pppppp.p.p...p p....^^p...pTp.p p.pppppp.p.p.pTp p.p}....T.....bp p.ppppppppppppDp p.p....p..^p...p p.p.!%.p.^.p...p p.p....p^..p.?.p p.pppp.p...p...p p...&p.........p pppppppppppppppp [additional] 12 5.4.*.1 10.5.@.3 14.10.&.1.0 14.15.*.1 8.17.@.3 5.21.^.2.0.0 6.21.^.0.0.0 3.23.}.0.0.0.0.0.0 10.25.^.3.0.0 9.26.^.3.0.0 8.27.^.3.0.0 4.29.&.1.1 [end] [offset] 3E8C [level] 4 [colour] [size] 16.31 [author] Demo [data] OOOOOOOOOOOOOOOO O.......O......O O...#T..O....R.O O.'....MO#.....O O.......O...OOOO OOOM........b.#O O.......O.....#O O.OOOOO.O.....#O OT.^...TO.....#O OOOOOOOOOOOOOO#O O............O.O O.OOOOOO.O.&.O.O O.....MO*O...O.O O.OOOOOO.OOOOO.O O*OM.....O.....O O.OOOOOO.O.#...O O........O...#.O O.OOOOOOOO...OOO O.O....OM.....MO O.O..&.OOOOO.OOO O.O....O.}.O...O O.O.T..O...O...O O..........O.&.O OOO&OOOO...O...O O......O...OOOOO O.T....O...O...O O@.....OODOO.&.O O......O...O...O O....T.O.!.O.T.O O.%....O...O...O OOOOOOOOOOOOOOOO [additional] 16 7.3.M.2 3.5.M.0 3.8.^.2.0.0 11.11.&.1.0 6.12.M.2 8.12.*.1 1.14.*.3 3.14.M.0 8.18.M.0 14.18.M.2 5.19.&.3.0 9.20.}.1.0.0.0.0.0 13.22.&.3.1 3.23.&.2.0 1.26.@.3 13.26.&.1.1 [end] gnurobbo-0.66+dfsg/data/levels/warsaw.dat0000644000175000017500000011510611316101440017433 0ustar stevesteve[name] Warsaw [last_level] 48 [notes] This is Warsaw Robbo I & II level file. I haven't tested it yet. [offset] 509B [level] 1 [colour] 78c67f [size] 16.31 [author] _Warsaw Robbo I [level_notes] Begin of Warsaw Robbo I [data] qqqqqqqqqqqqqqqq qR....q..TqTTH%q qqq...q#.Tq..H.q q&......qqqqTH&q q.........qqqqqq q.......#.....'q qq.q}q..q.....'q qq.qqq..q.....'q q..q....q..qqqqq q'#q.#..q.....}q qqqq....q..qqqqq qTTq.#..q......q q..q....q....#Tq q..q.#.....q}#Tq qHHq....qqqqqqqq q.............'q q..qqq..q.....'q q....q..qHqHqDqq q..##q..q...q..q qq#.qq..b#T#q&Tq q...Tq..qqqqqqqq q...Tq...qTTTTTq qqHqqq.....qqqqq q.#......q.....q q...#.b..q.....q q}.....q}q..#.#q qqHqqqqqqq.#.#.q q}....q..q#.#.#q qq....D..q.....q q!....qT&q##..Tq qqqqqqqqqqqqqqqq [additional] 10 1.3.&.1.0 14.3.&.1.1 4.6.}.3.0.1.0.0.0 14.9.}.2.0.1.0.0.0 12.13.}.3.0.1.0.0.0 13.19.&.4.0 1.25.}.3.0.1.0.0.0 8.25.}.3.0.1.0.0.0 1.27.}.0.0.1.0.0.0 8.29.&.4.1 [end] [offset] 529B [level] 2 [colour] 7176a9 [size] 16.31 [author] _Warsaw Robbo I [data] qqqqqqqqqqqqqqqq qM...q.....q..Mq qM.q.q.#.#.q..Tq qT...q.......qqq qqqqDq........&q q....q.#.q}q...q q&.......}}}...q qqqqq..#.q.q...q q'''q......q?q.q q'''q......qqq.q q}..q.........Rq q}..q....#..qqqq qq.qq..#....H.!q q.#.q....#..qqqq q#..q..........q q.##..........&q q........qqqqqqq q.b............q q...q........b.q qqqqq..q.q.....q q......q.q.....q qT.q...q.q}}}''q qqqqq..q.qqqqqqq qM..q...#..#.qTq qT..q....##....q q%..qqqqqqqqq..q q'..q}qTq.##qM.q qq.qq.q..#..qqqq q...q.q.#.#....q q}.......#.#..&q qqqqqqqqqqqqqqqq [additional] 20 1.1.M.0 14.1.M.2 1.2.M.0 14.4.&.4.0 10.5.}.3.0.1.0.0.0 1.6.&.1.0 9.6.}.2.0.1.0.0.0 10.6.}.1.0.1.0.0.0 11.6.}.0.0.1.0.0.0 1.10.}.0.0.2.0.0.0 1.11.}.0.0.2.0.0.0 14.15.&.1.1 10.21.}.3.0.2.0.0.0 11.21.}.3.0.2.0.0.0 12.21.}.3.0.2.0.0.0 1.23.M.0 5.26.}.1.0.1.0.0.0 13.26.M.0 1.29.}.3.0.1.0.0.0 14.29.&.4.1 [end] [offset] 549B [level] 3 [colour] a98058 [size] 16.31 [author] _Warsaw Robbo I [data] qqqqqqqqqqqqqqqq qTTT}}}q......Mq q......q......%q q......q...qqqqq q......q.......q q..#....#..#.#.q q..............q q..#.......#.#.q q..............q qqqqqqqq..qqqqqq qTq%%q}q..q^^q^q q.q..q.q..q....q q.H....D.......q q.q....q.......q qqqqqqqq..q%%%%q q'..#..q..qqqqqq q%.#.#.D.....}Tq q'#.#..q.......q qqqqqqqq..#....q qM.....q.......q qT.....D.....qHq qM.....q..#..qHq qqqqqqqq.......q q...^..q.......q qT.....D..#....q q......q}q...}Tq qqqqqqqq.....qqq qTqqq..q......!q qTDDD..D..#..qqq qTqqq..q......Rq qqqqqqqqqqqqqqqq [additional] 14 4.1.}.1.0.0.0.0.0 5.1.}.1.0.0.0.0.0 6.1.}.1.0.0.0.0.0 14.1.M.2 6.10.}.1.0.1.0.0.0 11.10.^.1.0.0 12.10.^.1.0.0 14.10.^.1.0.0 13.16.}.1.0.1.0.0.0 1.19.M.0 1.21.M.0 4.23.^.1.0.0 8.25.}.1.0.2.0.0.0 13.25.}.3.0.1.0.0.0 [end] [offset] 569B [level] 4 [colour] 719d8d [size] 16.31 [author] _Warsaw Robbo I [data] qqqqqqqqqqqqqqqq qq....q...q....q q!........qR...q qq........qqq..q qq....q...q'q..q qq...}q...q.q..q qqqqqqq...q.q}.q q.....q...qDqq.q q..............q q.#............q q.#........qqqqq q%.^^.q....H'''q qqqqqqq....qq..q q..........qM..q q..#.#.#...qM..q q...#.#.#..qq..q q'}........HTTTq qqqDqqqqq..qqqqq qq%.TTqqq......q q}......q......q qq..#...q......q q}......q..q...q qq......q..q}}%q q}......q..qqqqq qqqqTTq.q...q.Mq qqqqqqqDq###q.Tq qT.Tq^..qqHqq.qq qqHqq...q.....#q q...q...q....#.q q&.&q&..q&..#.Tq qqqqqqqqqqqqqqqq [additional] 18 5.5.}.3.0.0.1.0.0 13.6.}.3.0.1.0.0.0 3.11.^.1.0.0 4.11.^.1.0.0 12.13.M.0 12.14.M.0 2.16.}.3.0.1.0.0.0 1.19.}.0.0.1.0.0.0 1.21.}.0.0.1.0.0.0 12.22.}.3.0.2.0.0.0 13.22.}.3.0.2.0.0.0 1.23.}.0.0.1.0.0.0 14.24.M.2 5.26.^.0.0.0 1.29.&.4.0 3.29.&.5.0 5.29.&.4.1 9.29.&.5.1 [end] [offset] 589B [level] 5 [colour] b2b05f [size] 16.31 [author] _Warsaw Robbo I [data] qqqqqqqqqqqqqqqq qRqqq^^^^}}}qqqq q.qqq.......qM.q q..#........q'.q q...#.......qqDq q..#...........q q...#..........q q....%%........q qqqqqqqqqqqqqqHq q....q...q...q.q q!.&.qTqTqTqTqTq qqqq.qTqTqTqTqTq qqqqDqTqTqTqTqTq qqqqDqTqTqTqTqTq q^q&.qTqTqTqTqTq q.q..qTqTqTqTqTq q.q..qTqTqTqTqTq qTT..qTqTqTqTqTq qqq.qqTqTqTqTqTq q^...qTqTqTqTqTq q....qTqTqTqTqTq q...}qTqTqTqTqTq qqq.qqTqTqTqTqTq q''..qTqTqTqTqTq q....qTqTqTqTqTq q...}qTqTqTqTqTq qqHqqqTqTqTqTqTq q....qTqTqTqTqTq q....qTqTqTqTqTq q......q...q...q qqqqqqqqqqqqqqqq [additional] 14 5.1.^.1.0.0 6.1.^.1.0.0 7.1.^.1.0.0 8.1.^.1.0.0 9.1.}.1.0.1.0.0.0 10.1.}.1.0.1.0.0.0 11.1.}.1.0.1.0.0.0 13.2.M.0 3.10.&.4.0 1.14.^.1.0.0 3.14.&.4.1 1.19.^.1.0.0 4.21.}.2.0.1.0.0.0 4.25.}.2.0.1.0.0.0 [end] [offset] 5A9B [level] 6 [colour] 77a4ac [size] 16.31 [author] _Warsaw Robbo I [data] qqqqqqqqqqqqqqqq q!..q..R.q&qT.&q q&..q..#.q.q&..q qqqqq.qqqqDqqqqq q......q}......q q......qqqqqq..q q.q}}qqq#..#...q q.q...Mq.##..#.q q.....'q#.#...#q q....#'q.qqqqqqq q...^.'q.......q q.qqqqqq.....qHq q..#..#q.qqq}q'q q##.#..q.qqqqq'q q#.#.#.q.....q'q qqqqqq.q.}}}.H'q q......qqqqq.qqq q......q}......q q.#..q.qqqqqqq.q q....q.q.......q q%#.}q.q.#.....q qqqqqq.q.......q q}.....qqHq^^^qq qqqq.qqqq.qqqqqq q^.....q......}q qqqq.qqq......}q q'.M...qDqqqqqqq q'.M...q....##qq q'.M.b.q....#.%q q......H....##qq qqqqqqqqqqqqqqqq [additional] 25 10.1.&.2.0 14.1.&.2.1 1.2.&.1.0 12.2.&.1.1 8.4.}.0.0.2.0.0.0 3.6.}.3.0.1.0.0.0 4.6.}.3.0.1.0.0.0 6.7.M.2 4.10.^.1.0.0 12.12.}.3.0.1.0.0.0 9.15.}.3.0.1.0.0.0 10.15.}.3.0.1.0.0.0 11.15.}.3.0.1.0.0.0 8.17.}.0.0.1.0.0.0 4.20.}.3.0.0.1.0.0 1.22.}.0.0.1.0.0.0 11.22.^.1.0.0 12.22.^.1.0.0 13.22.^.1.0.0 1.24.^.0.0.0 14.24.}.2.0.2.0.0.0 14.25.}.2.0.2.0.0.0 3.26.M.2 3.27.M.2 3.28.M.2 [end] [offset] 5C9B [level] 7 [colour] 819663 [size] 16.31 [author] _Warsaw Robbo I [data] qqqqqqqqqqqqqqqq qR.......qTTTTTq q........qTTqTTq q.#.#.#..qTTqTTq q........qTTqTTq q....}...qTTqTTq qqqqq....qTTqTTq q..qq....qTTqTTq q&.DH....qTTqTTq q..qq....qTTqTTq qqqqqqqq.qTTqTTq q#..###q.q..q..q q..#.#.q.q&.q&.q q.#.#.'H.qqqqqqq q.qqqqqq.q!..&.q q.....^q.qqqqqqq q.....^q.......q q.qqqqqq.......q q..............q qM.q...q.......q q'.q..}q.q.}.q.q qqqqqqqqqqqqqq.q q..q...q.......q q%#q...q.......q q..q...q.......q q.#q...q.......q q..q...q.....}.q q.#.........qqqq q...........qqqq q..q^^^qq}}}qqqq qqqqqqqqqqqqqqqq [additional] 17 5.5.}.0.0.0.0.1.1 1.8.&.1.0 10.12.&.1.1 13.12.&.2.0 13.14.&.2.1 6.15.^.2.0.0 6.16.^.2.0.0 1.19.M.0 6.20.}.3.0.0.1.0.0 11.20.}.3.0.0.1.0.0 13.26.}.3.0.1.0.0.0 4.29.^.1.0.0 5.29.^.1.0.0 6.29.^.1.0.0 9.29.}.3.0.2.0.0.0 10.29.}.3.0.2.0.0.0 11.29.}.3.0.2.0.0.0 [end] [offset] 5E9B [level] 8 [colour] 9551b9 [size] 16.31 [author] _Warsaw Robbo I [data] qqqqqqqqqqqqqqqq q}.............q qq.......#.#.#.q q...q..}q....qRq q...qqqqqqqqqqqq q...}q........!q q...}q........}q q...qq........qq q...}q........}q q...qq........}q q...}qqqq..qqqqq q...}qqqq..qqqqq q...qq.........q q...}q.........q q...}q...^.....q q.qqqqqqq.qqqqqq q....qqqq.qqqqqq q.q..q........}q q.qM'q.q......Mq q.qqqq.qqqqqqqqq q.q.^q.........q q....q.......#.q q.q.^q.........q q.q''q}..q.}q..q q.qqqqqqqqqqq..q q...^q#..#.#.#.q q...^q..#.#.#..q q.qqqq.#.#.#...q q.qqqq.qqqqqqqqq q.............}q qqqqqqqqqqqqqqqq [additional] 23 1.1.}.0.0.1.0.0.0 7.3.}.3.0.0.1.0.0 4.5.}.2.0.2.0.0.0 4.6.}.2.0.2.0.0.0 14.6.}.2.0.2.0.0.0 4.8.}.2.0.0.0.0.0 14.8.}.2.0.1.0.0.0 14.9.}.2.0.1.0.0.0 4.10.}.2.0.1.0.0.0 4.11.}.2.0.0.0.0.0 4.13.}.2.0.1.0.0.0 4.14.}.2.0.1.0.0.0 9.14.^.2.0.0 14.17.}.2.0.1.0.0.0 3.18.M.0 14.18.M.2 4.20.^.2.0.0 4.22.^.2.0.0 6.23.}.3.0.0.1.0.0 11.23.}.3.0.0.1.0.0 4.25.^.2.0.0 4.26.^.2.0.0 14.29.}.2.0.1.0.0.0 [end] [offset] 609B [level] 9 [colour] 6d61b1 [size] 16.31 [author] _Warsaw Robbo I [data] qqqqqqqqqqqqqqqq q...q}q.....Mq.q q...q.q.....Mq.q qR.!q.q.....'q%q qq.qq.q.....qq.q qT....T....#b.Tq qq.....}....qqqq q}.....q......}q qq..........qqqq qT............Tq qq..T.........qq q...q}........qq q...q.........qq qq..q.........qq q}..q..}....}..q qT..qT.qqqqqq.Tq q}..q.....T....q qq..q.....q...qq qq..q.....q...qq qT..T....TqT..qq qq..}.....q...}q q...q.....q...qq q...q.....T...qq q..Tq}........qq q.}qqqqqqqqq..qq q..TTqqqqqTT..qq q.............qq q.............qq q.............qq qTT}q}TTTT}q}TTq qqqqqqqqqqqqqqqq [additional] 19 5.1.}.1.0.1.0.0.0 12.1.M.2 12.2.M.2 7.6.}.3.0.1.0.0.0 1.7.}.0.0.0.0.0.0 14.7.}.2.0.1.0.0.0 5.11.}.0.0.2.0.0.0 1.14.}.0.0.1.0.0.0 7.14.}.3.0.1.0.0.0 12.14.}.3.0.1.0.0.0 1.16.}.0.0.1.0.0.0 4.20.}.0.0.2.0.0.0 14.20.}.2.0.1.0.0.0 5.23.}.3.0.1.0.0.0 2.24.}.3.0.2.0.0.0 3.29.}.3.0.1.0.0.0 5.29.}.3.0.1.0.0.0 10.29.}.3.0.1.0.0.0 12.29.}.3.0.1.0.0.0 [end] [offset] 629B [level] 10 [colour] a28352 [size] 16.31 [author] _Warsaw Robbo I [data] qqqqqqqqqqqqqqqq q.HH#.#..qq%qq}q q.##.#...q.....q q.qqqqq..H.....q q....}q..H.^...q q.qqqqqqqqqqqq.q q.qM.Tq........q q.....H..#..#..q q.....H........q q.qM.Tqq.q.qqqqq q.qqqqq.......}q q....^q.......qq q.....q.......}q q.qqqqqq.q.qqqqq q.....q........q q.....q........q q.....q........q q..^..q........q qqqq..qTq}...qHq q....qqqqqqqqqHq q.qqqq.........q q.}..q.........q q...}qR...&....q q...qqqqqqqqqqDq q...q''''q!....q q...q....qqqqqqq q...q...^q}}q..q q...q....q..q..q q...}........&.q q}.............q qqqqqqqqqqqqqqqq [additional] 19 14.1.}.1.0.1.0.0.0 5.4.}.2.0.2.0.0.0 11.4.^.1.0.0 3.6.M.0 3.9.M.0 14.10.}.2.0.1.0.0.0 5.11.^.2.1.1 14.12.}.2.0.1.0.0.0 3.17.^.1.0.0 9.18.}.3.0.0.1.0.0 2.21.}.1.0.1.0.0.0 4.22.}.2.0.1.0.0.0 10.22.&.1.0 8.26.^.2.0.0 10.26.}.1.0.1.0.0.0 11.26.}.1.0.1.0.0.0 4.28.}.2.0.1.0.0.0 13.28.&.1.1 1.29.}.3.0.1.0.0.0 [end] [offset] 649B [level] 11 [colour] 7accb0 [size] 16.31 [author] _Warsaw Robbo I [data] qqqqqqqqqqqqqqqq qTTTTTTTTTTTTTTq q..............q q...q..q......qq q^.............q q..............q qT.....q......Tq qT........q...Tq qTq.......q...Tq q..............q q^.............q q..............q q.#.#.#.#..#...q q..............q q.#.#.#.#..#...q q...........T..q q..........TqT.q q...........T..q q^.............q qq..~.~~.......q qq.............q q^.............q q..........#.#.q q..............q q........#..^..q q.......Tq.qqq.q q^......Tq.....q q.......Tq.qq.qq q.......Tq.q...q q^.^.^..Tq.q!.Rq qqqqqqqqqqqqqqqq [additional] 9 1.4.^.0.0.0 1.10.^.0.0.0 1.18.^.0.0.0 1.21.^.0.0.0 12.24.^.1.0.0 1.26.^.0.0.0 1.29.^.1.0.0 3.29.^.1.0.0 5.29.^.1.0.0 [end] [offset] 669B [level] 12 [colour] a5b8a0 [size] 16.31 [author] _Warsaw Robbo I [data] qqqqqqqqqqqqqqqq q...q.......V..q q.b.H.b.qqqq.V.q qHH.qb.bqV.q.b.q q~HqqV.bq.VqV.Vq qTTTq..bqqqq...q qTTTq..bqbbb^..q qTbTqb.bqb.@.b.q qTTTq..bqbV..VVq qTTTq.VbbbV.V..q qTbTq...V....b.q qTTTq?.q.b.q...q qTTTq..q...q..@q qTbTq.bqVq.q...q qTTTq..q.qVq^.Vq qTTTq.@q.q.q...q qTbTq..q.q.q.V.q qTTTq..qqqqq...q qTTTqb...bV^.V.q qTTTq.V..@.....q qTTTq..b...@...q qTTTq....b...V.q qTTTq.V.Vb@.b..q qTTTq....b.....q qTTTqTTTTTTTTTTq qTTTqqqqqqqqqqqq qTTTTTT.q..q..'q qTTTTTT....q...q qTTTTTT.q......q qTTTTTT.qR.q..!q qqqqqqqqqqqqqqqq [additional] 9 12.6.^.0.0.0 11.7.@.0 14.12.@.1 12.14.^.0.1.1 6.15.@.1 11.18.^.0.1.1 9.19.@.0 11.20.@.3 10.22.@.3 [end] [offset] 689B [level] 13 [colour] b3b06d [size] 16.31 [author] _Warsaw Robbo I [data] qqqqqqqqqqqqqqqq q&q..........q!q q.q.q..qqqqq.q.q q...q......q...q q...q......q...q q...q......q...q q...q......q...q q...q..qqqqq...q q...q......q...q q...q......q...q q...q......q...q q...q......q...q q...q..qqqqq...q q..............q q..............q qqqqqqqqqqqqqqqq q&.TTTTTTTTTTTTq qqqqqqqqqqqqqqTq qTTTTTTTTTTTTTTq qTqqqqqqqqqqqqqq qTTTTTTTTTTTTTTq qqqqqqqqqqqqqqTq qTTTTTTTTTTTTTTq qTqqqqqqqqqqqqqq qTTTTTTTTTTTTTTq qqqqqqqqqqqqqqTq qTTTTTTTTTTTTTTq qTqqqqqqqqqqqqqq qTTTTTTTTTTT..Rq q..............q qqqqqqqqqqqqqqqq [additional] 2 1.1.&.1.0 1.16.&.1.1 [end] [offset] 6A9B [level] 14 [colour] a75c6c [size] 16.31 [author] _Warsaw Robbo I [data] qqqqqqqqqqqqqqqq qTqR.....q&.!qTq qTqqqqq..qqqqqTq qTq..........qTq qTq..........qTq qTq##.#####.#qTq qTq..#..#..#.qTq qTq#..#..#.#.qTq qTq##...#.#.#qTq qTq...#.#.#..qTq qTq#.#..##.#.qTq qTq.#..#..#..qTq qTq..##..#.#.qTq qTq....#..#.#qTq qTq###...#...qTq qTq...#.###.#qTq qTq#.#.#.....qTq qTq.#....#.##qTq qTq..#.#..#..qTq qTq.#.#.#..#.qTq qTq#..#..#..#qTq qTq..#..#.##.qTq qTq.#.#.#....qTq qTq#.#.#.#.#.qTq qTq.#.#.#.#..qTq qTq..#.##..##qTq qTq#.....#...qTq qTqqqqq..qqqqqTq qTqqqqq..q&qqqTq qT............Tq qqqqqqqqqqqqqqqq [additional] 2 10.1.&.1.0 10.28.&.1.1 [end] [offset] 6C9B [level] 15 [colour] b9944e [size] 16.31 [author] _Warsaw Robbo I [data] qqqqqqqqqqqqqqqq q?.q.......q..!q q..........q&..q q..qqq.....qqqqq q..qRq.....D...q q..q.......qqq.q qq.qqq..}..q&q.q q..........D.q.q q..........q&q.q q....#.#...qqq.q q..........q&'%q q..qqqHqqqqqqqqq q..}qqHqqqqqqqqq q..qqq........}q q..}qqq..qq.T..q q..'qq........}q q..Mqq#..qq.T..q qqqqqq........}q q&..qq.qqqqqqqqq q...qq.q......qq qq.qqq........%q q}.}qq........'q q.#.qq}qq^^^^^qq q...qqqqqqqqqqqq q.#.qqqqqqqqqqqq qq.qq.......q..q q...q......^H#.q q?.........^H..q qM..q......^q..q q'..q.......q&Tq qqqqqqqqqqqqqqqq [additional] 25 12.2.&.4.0 8.6.}.0.0.0.0.1.1 12.6.&.2.0 12.8.&.4.1 12.10.&.5.0 3.12.}.2.0.1.0.0.0 14.13.}.2.0.1.0.0.0 3.14.}.2.0.1.0.0.0 14.15.}.2.0.1.0.0.0 3.16.M.2 14.17.}.2.0.1.0.0.0 1.18.&.2.1 1.21.}.1.0.2.0.0.0 3.21.}.1.0.2.0.0.0 6.22.}.3.0.1.0.0.0 9.22.^.1.0.0 10.22.^.1.0.0 11.22.^.1.0.0 12.22.^.1.0.0 13.22.^.1.0.0 11.26.^.2.0.0 11.27.^.2.0.0 1.28.M.0 11.28.^.2.0.0 13.29.&.5.1 [end] [offset] 6E9B [level] 16 [colour] 8faac7 [size] 16.31 [author] _Warsaw Robbo I [data] qqqqqqqqqqqqqqqq q'''HHHH.HHH''Rq qqqqqqqq.qqqqqqq q^..^.^....^..^q q..............q q^.............q q.............^q q..............q q.............^q q..............q q^.............q q..............q q.............^q q..............q q.............^q q^.............q q.............^q q..............q q.............^q qqqqqqqq.qqqqqqq q.............^q q..............q q.qqqqqqqqqqqqqq q..#....##....?q q.#.#q..H.....?q q.qqqqqqqqqqqqqq q.#...bb.^b.@*.q q..#.qbbbbb....q q..##.bbbbb..bbq q.##.qbb.^bbbb!q qqqqqqqqqqqqqqqq [additional] 19 1.3.^.1.0.0 4.3.^.1.0.0 6.3.^.1.0.0 11.3.^.1.0.0 14.3.^.2.0.0 1.5.^.0.0.0 14.6.^.2.0.0 14.8.^.2.0.0 1.10.^.0.0.0 14.12.^.2.0.0 14.14.^.2.0.0 1.15.^.0.0.0 14.16.^.2.0.0 14.18.^.2.0.0 14.20.^.2.1.1 9.26.^.2.0.0 12.26.@.0 13.26.*.2 9.29.^.2.1.1 [end] [offset] 709B [level] 17 [colour] 6da77a [size] 16.31 [author] _Warsaw Robbo I [data] qqqqqqqqqqqqqqqq q&..##.....#..'q q....#.#..#.#.Tq q.##..#.##...#Tq qqqqqqqqqqqqqqqq q}............}q qq#.#.#.......qq q..............q q......TT......q q......qq@.....q q.....qq.q.....q q....q..H.q....q q...q&.q..&q...q qq..qqqqqqqq..qq q}............^q q..............q q.q...........^q q..............q q...RqqqT..qqqqq q...qqqqq.....^q q...Tqqq'...^q.q q..........q.q.q q..........q.q.q q..........q.q.q q..........q.q.q q&.?q}}q...q.q.q qqqqqqqq...q.q.q q......D...q.q.q q......q...q.q.q q!.....q...q.%.q qqqqqqqqqqqqqqqq [additional] 14 1.1.&.4.0 1.5.}.0.0.0.0.0.0 14.5.}.2.0.1.0.0.0 9.9.@.2 5.12.&.4.1 10.12.&.5.0 1.14.}.1.0.1.0.0.0 14.14.^.2.0.0 14.16.^.2.0.0 14.19.^.1.0.0 12.20.^.1.0.0 1.25.&.5.1 5.25.}.3.0.2.0.0.0 6.25.}.3.0.2.0.0.0 [end] [offset] 729B [level] 18 [colour] a08750 [size] 16.31 [author] _Warsaw Robbo I [data] qqqqqqqq-------? q&.&.&.q-------- q......q-qqqqq-- q..##.#q-q&.Rq-- q.#..##q-qM..q-- q&###..q-qqqqq-- qqqq.q%q-------- q&.qqqqq-------- q..q------------ q.bq-qqqqqqqqqq- qD.q-q........q- q.qq-q..TT.@T.q- q.Tq-q.*qq....q- qqqq-q........q- q'.q-q........q- q..q-q.....@T.q- qDqq-q&.......q- q..q-qqqqqqqqqq- q..q------------ q&.qqqqqqqqqqqqq qqqq'TTTT'q...&q q}........q....q q}........q.!..q q.........qqqqqq q&.q}.....D...Tq qqqqqqqqqqqqqqqq q.......q.....^q q.......q......q q..^^^^^q......q q&.qqqq%q&.qqqTq qqqqqqqqqqqqqqqq [additional] 25 1.1.&.3.0 3.1.&.2.0 5.1.&.4.0 10.3.&.2.1 10.4.M.0 1.5.&.1.0 1.7.&.1.1 11.11.@.1 7.12.*.3 11.15.@.1 6.16.&.3.1 1.19.&.1.2 14.20.&.4.1 1.21.}.0.0.0.0.0.0 1.22.}.0.0.0.0.0.0 1.24.&.1.3 4.24.}.0.0.1.0.0.0 14.26.^.2.1.1 3.28.^.1.0.0 4.28.^.1.0.0 5.28.^.1.0.0 6.28.^.1.0.0 7.28.^.1.0.0 1.29.&.1.4 9.29.&.1.5 [end] [offset] 749B [level] 19 [colour] 75ae7f [size] 16.31 [author] _Warsaw Robbo I [data] qqqqqqqqqqqqqqqq qR............Tq q.............Tq q...........qqqq q&..........q&.q qq..........q..q q&..........q..q q&.qq}qq}qq}q!.q qqqqqqqqqqqqqqqq ---------------- qqqqqqqqqqqqqqqq q&.........qTTTq q&...b.#.b.q...q q..........q...q q..........q...q q........##q##.q q...qqqqqq###q.q q'..HHHHHHHHHHHq qqqqqqqqqqqqqqqq ---------------- qqqqqq----qqqqqq q&...qqqqqqTTTTq q&.............q q..............q q..............q q...........HHHq q...........HHHq q..#........HH%q q..#........HHHq q..#.^.^..^.HHHq qqqqqqqqqqqqqqqq [additional] 14 1.4.&.4.0 13.4.&.4.1 1.6.&.2.0 1.7.&.1.0 5.7.}.3.0.1.0.0.0 8.7.}.3.0.1.0.0.0 11.7.}.3.0.1.0.0.0 1.11.&.1.1 1.12.&.3.0 1.21.&.2.1 1.22.&.3.1 5.29.^.1.0.0 7.29.^.1.0.0 10.29.^.1.0.0 [end] [offset] 769B [level] 20 [colour] 8a8d56 [size] 16.31 [author] _Warsaw Robbo I [data] qqqqqqqqqqqqqqqq q.}..}q.......Tq q.....q.......Tq q.............}q q}.........qqqqq q............}.q q.....b........q q.....q........q q.#...q........q qqDq..}..#.....q qbbq......qqq..q qbbq......qR...q q..q......qqq..q q.Tq...}.......q qqqq...........q qT............}q qT...#....#....q qT.............q qT.............q qT.....qqqqq...q qT.....qTTTq...q qT.....qTTTq...q qqqq..#qq.qq...q q}.............q q..............q q.....q...}....q q.........qqqqqq q.........q...!q q.....qqqqq....q q}...THHHHH....q qqqqqqqqqqqqqqqq [additional] 11 2.1.}.1.0.1.0.0.0 5.1.}.1.0.0.0.0.0 14.3.}.2.0.0.0.0.0 1.4.}.0.0.1.0.0.0 13.5.}.1.0.1.0.0.0 6.9.}.1.0.1.0.0.0 7.13.}.0.0.0.0.1.1 14.15.}.2.0.1.0.0.0 1.23.}.0.0.1.0.0.0 10.25.}.3.0.0.1.0.0 1.29.}.0.0.2.0.0.0 [end] [offset] 789B [level] 21 [colour] 6b7566 [size] 16.31 [author] _Warsaw Robbo I [data] qqqqqqqqqqqqqqqq q..............q qq'}q}q...#.R..q qqqqqqq...qqqqqq q.............^q q...^..........q q.............qq q.............qq q.............^q q.............^q q.............qq q.............qq q...^..........q q...^..........q q.............qq q.............qq q.............^q q..^...........q q.............qq q.............qq q.............^q q.............^q q.............qq q.............qq q...^..........q q.............^q q.............qq q.............}q qqqqqq...qqqqqqq ---q.......!q--- ?--qqqqqqqqqq--? [additional] 15 3.2.}.3.0.1.0.0.0 5.2.}.3.0.1.0.0.0 14.4.^.2.0.0 4.5.^.0.0.0 14.8.^.2.0.0 14.9.^.2.0.0 4.12.^.0.0.0 4.13.^.0.0.0 14.16.^.2.0.0 3.17.^.0.0.0 14.20.^.2.0.0 14.21.^.2.0.0 4.24.^.0.0.0 14.25.^.2.0.0 14.27.}.2.0.1.0.0.0 [end] [offset] 7A9B [level] 22 [colour] 8698ab [size] 16.31 [author] _Warsaw Robbo I [data] qqqqqqqq-qqqqqqq q&.....q-q&...Rq q......q-q.....q q......q-q.....q qqqqqq.qqqqqqqqq q..............q q..............q q...''....''...q q..qqqq*.qqqq*.q q..............q q..............q q...TT....TT...q q..qqqq*.qqqq*.q q..............q q..............q q...TT....TT...q q..qqqq*.qqqq*.q q..............q q&q............q qqqqqqqqqqqqqqqq ---------------- qqqqqqqqqqqqqqqq q&q............q q.....@...@....q q...TTTTTTTTT..q q...qqqqqqqqq..q q.....@...@....q q..............q qqq..qqqqqqqqqqq q?............!q qqqqqqqqqqqqqqqq [additional] 14 1.1.&.1.0 10.1.&.1.1 7.8.*.1 13.8.*.1 7.12.*.1 13.12.*.1 7.16.*.1 13.16.*.1 1.18.&.2.0 1.22.&.2.1 6.23.@.2 10.23.@.2 6.26.@.0 10.26.@.0 [end] [offset] 7C9B [level] 23 [colour] 9f826a [size] 16.31 [author] _Warsaw Robbo I [data] qqqqqqqqqqqqqqqq q..............q q..............q qTT..........TTq qqq#.#.#.#.#.qqq q..............q q..............q q.TTT...TTTT...q q.qqq...qqqq...q q..............q q.............}q qDqqqqq}qqqq}qqq q.qqqqqqqqqqqqqq q..............q q..............q q.TTT..........q q.qqq..........q q..............q q..........TTTTq qT.........qqqqq qq.............q q....TTT...T...q q....qqq...q...q q.............%q q.......TT....qq q?....?.qq....'q qqqq}qq........q qqqqqqq.....TT.q qR..........qq.q q!.............q qqqqqqqqqqqqqqqq [additional] 4 14.10.}.2.0.1.0.0.0 7.11.}.3.0.1.0.0.0 12.11.}.3.0.1.0.0.0 4.26.}.3.0.1.0.0.0 [end] [offset] 7E9B [level] 24 [colour] 7cd092 [size] 16.31 [author] _Warsaw Robbo I [data] qqqqqqqqqqqqqqqq qR...qM....''''q q....q.....qqqqq qqqq.q.....q}''q q..........q...q qqqqqq.....q...q q''#.......q...q q#.##......D...q q.#.....qq.qqqqq q##.....q......q q#...}..q......q q.......q.@%%@.q q.......q......q q.......q......q qqqDqqqqqqqqqqqq --q.q----------- qqqHqqqqqqqqqqqq q.....qV....qVVq q..q..qqqq..q..q q..q........q..q qV.q...V....q..q q...........q..q q......bqqqqq..q qqqqqq..q...q..q qVq.....qV..q..q q.q.........q..q q.......q..qq..q q.......q......q qqqqqqqqq......q q!............}q qqqqqqqqqqqqqqqq [additional] 6 6.1.M.0 12.3.}.1.0.0.0.0.0 5.10.}.0.0.0.0.1.1 10.11.@.1 13.11.@.3 14.29.}.2.0.1.0.0.0 [end] [offset] 809B [level] 25 [colour] 6cd99b [size] 16.31 [author] _Warsaw Robbo I [data] qqqqqqqqqqqqqqqq q'...Rq...q....q q.....q...q.b..q q.}.}.....q..b.q qqqqqqq...q.b..q q............b.q q..............q qqq...q...qqqqqq q.....q........q q.b.b.q....q.TTq q.....q....q.TTq q.b.b.q....q.TTq q.....q....q.TTq q.b.b.q....q.TTq q.....q....q}TTq qqqqqqq...qqqqqq ------q...q----- ------q...q----- ------q...q----- ------q...q----- ------q...q----- ------q...q----- ------q...q----- ------q...q----- ------q...q----- qqqqqqq...qqqqqq q??.b#....##bbbq q??.b#....##bbbq q??.b#..###.bb.q q??.b#..###Vbb!q qqqqqqqqqqqqqqqq [additional] 3 2.3.}.3.0.1.0.0.0 4.3.}.3.0.1.0.0.0 12.14.}.3.0.1.0.0.0 [end] [offset] 829B [level] 26 [colour] ad414f [size] 16.31 [author] _Warsaw Robbo I [data] qqqqqqqqqqqqqqqq q?q.......q????q q?q???????q????q q?q?.....?q????q q?q?..b..?q????q q?.?....@?.????q q?.???????.??b?q q?.........b??bq qqqqqqqqqqqqqDqq q}............}q q.....R........q q..............q q..............q q..............q q....qqq.......q q....%q.%......q q....@q........q q....qqq.......q q..............q q..............q q..............q q..............q q..............q qTT'...^.T^...Tq qqqqqqqqqqqqqDqq qM......b'#..#.q q!......#'b.#..q qM......b'.#...q q.......#'b.#..q qM......b'#..#.q qqqqqqqqqqqqqqqq [additional] 9 8.5.@.2 1.9.}.1.0.0.0.0.0 14.9.}.1.0.0.0.0.0 5.16.@.2 7.23.^.1.0.0 10.23.^.1.0.0 1.25.M.0 1.27.M.0 1.29.M.0 [end] [offset] 849B [level] 27 [colour] 7892c9 [size] 16.31 [author] _Warsaw Robbo I [data] qqqqqqqqqqqqqqqq q..............q q..............q q..............q q..............q q..............q q.q..........q.q qRq}.}}.}}}.}q&q qqqqqqqqqqqqqqqq ---------------- -----V-VV-V----- -----V-VV-V----- -----V-VV-V----- -----V-VV-V----- ---VVV-VV-VVV--- ---VV--VV--VV--- ---V---VV---V--- ---------------- qqqqqqqqqqqqqqqq q...........q.&q q...........q..q q^....q....^q..q q.....q....qq..q q.....q....^...q q..............q q..............q q^.............q qqqqq..........q q..............q q!...^.........q qqqqqqqqqqqqqqqq [additional] 14 3.7.}.3.0.2.0.0.0 5.7.}.3.0.1.0.0.0 6.7.}.3.0.1.0.0.0 8.7.}.3.0.0.1.0.0 9.7.}.3.0.1.0.0.0 10.7.}.3.0.1.0.0.0 12.7.}.3.0.2.0.0.0 14.7.&.4.0 14.19.&.4.1 1.21.^.0.0.0 11.21.^.2.1.1 11.23.^.1.0.0 1.26.^.0.0.0 5.29.^.1.0.0 [end] [offset] 869B [level] 28 [colour] a674b3 [size] 16.31 [author] _Warsaw Robbo I [data] qqqqqqqqqqqqqqqq q.R.TTTTTTTT.&.q qqqqqqqqqqqqqqqq .^....@......... ........^..^...^ .@^..........@.. .......@........ .........^...... .@...........@.. .....^...@...... ................ VVVVVVVVVVVVVVVV HHHHHH.HH...HH.. HHHHHH.HH...HH.. HH..HH.HH@..HH.. HH..HH@HH...HH.. HH.@HH.HH...HH.. HHHHHH.HH.H.HH.. HHHHHH.HH.H.HH.. HH.....HHHHHHH.. HH.@.H.HHH.HHH.H VVVVVVVVVVVVVVVV ................ ................ ................ VVVVVVVVVVVVVVVV qqqqqqqqqqqqqqqq q...qTTTTTTq...q q.!..TTTTTT..&.q q...qTTTTTTq...q qqqqqqqqqqqqqqqq [additional] 20 13.1.&.4.0 1.3.^.0.1.1 6.3.@.0 8.4.^.0.1.1 11.4.^.0.1.1 15.4.^.0.1.1 1.5.@.1 2.5.^.0.1.1 13.5.@.3 7.6.@.3 9.7.^.0.1.1 1.8.@.3 13.8.@.3 5.9.^.0.1.1 9.9.@.3 9.14.@.3 6.15.@.1 3.16.@.2 3.20.@.2 13.28.&.4.1 [end] [offset] 889B [level] 29 [colour] b5a7a2 [size] 16.31 [author] _Warsaw Robbo I [data] qqqqqqqqqqqqqqqq qR.q...........q q..q...........q q..............q qqq............q q...}.....}....q q..............q q..............q q......}.......q q..............q q..............q q...}.....}....q q..............q q..............q q..............q q......}.......q q..............q q..............q q...}.....}....q q.............}q q............qqq q......}.......q q...........q..q q...........q..q qqqqqqqqqqqqqq&q q^.^.^.^.q.q...q q..............q q..............q q........q....^q q!........^...'q qqqqqqqqqqqqqqqq [additional] 17 4.5.}.0.0.0.0.1.1 10.5.}.0.0.0.0.1.1 7.8.}.0.0.0.0.1.1 4.11.}.0.0.0.0.1.1 10.11.}.0.0.0.0.1.1 7.15.}.0.0.0.0.1.1 4.18.}.0.0.0.0.1.1 10.18.}.0.0.0.0.1.1 14.19.}.0.0.0.0.1.1 7.21.}.0.0.0.0.1.1 14.24.&.4.0 1.25.^.0.1.1 3.25.^.0.1.1 5.25.^.0.1.1 7.25.^.0.1.1 14.28.^.2.0.0 10.29.^.1.0.0 [end] [offset] 8A9B [level] 30 [colour] b58887 [size] 16.31 [author] _Warsaw Robbo I [data] qqqqqqqqqqqqqqqq q!.q...........q q..............q qq.......@@....q q.....TTTTT....q q....qqqqqqq...q q......@@......q q..............q q&qqqqqqqqqqqq&q q.............^q q.............^q q.............^q q..............q q..............q q..............q q..............q q..............q q.......@......q q..............q q.......@......q q..............q q....qqqqqq....q q....q''.Rq....q q....q''''q....q q....qqHHqq....q q....@q..q@....q q.....q..q.....q q..@........@..q q..............q q@............@q qqqqqqqqqqqqqqqq [additional] 17 9.3.@.2 10.3.@.2 7.6.@.0 8.6.@.0 1.8.&.4.0 14.8.&.5.0 14.9.^.2.0.0 14.10.^.2.0.0 14.11.^.2.0.0 8.17.@.3 8.19.@.3 5.25.@.0 10.25.@.0 3.27.@.3 12.27.@.3 1.29.@.2 14.29.@.2 [end] [offset] 8C9B [level] 31 [colour] 7fca8c [size] 16.31 [author] _Warsaw Robbo I [data] qqqqqqqqqqqqqqqq q......qT.....Rq q......&.......q q.@T...qT......q q......qT......q q......qT......q q.@TT@.qT......q q......qT......q q......qT......q q.@TT@.qT......q q......qT......q q......qT......q q.@TT@.qT......q q......qT......q q......qT}}}}}.q q&qqqqqqqqqqqq&q q..q''q.&......q q..q..q.qM..#..q q..q..q!q..##..q q..q..q.qM.....q q..D..D.q..#...q q..qqqqqq...#..q q..q}..^qM.....q q..q....q......q q..q....qM.....q q..D....q......q q..qT..Tq......q q..q'..'qM....}q q..qqqqqq.....qq q.......&...%%%q qqqqqqqqqqqqqqqq [additional] 25 7.2.&.4.0 2.3.@.1 2.6.@.1 5.6.@.3 2.9.@.1 5.9.@.3 2.12.@.1 5.12.@.3 9.14.}.3.0.1.0.0.0 10.14.}.3.0.1.0.0.0 11.14.}.3.0.1.0.0.0 12.14.}.3.0.1.0.0.0 13.14.}.3.0.1.0.0.0 1.15.&.3.0 14.15.&.2.0 8.16.&.6.0 9.17.M.0 9.19.M.0 4.22.}.1.0.0.0.0.0 7.22.^.2.1.1 9.22.M.0 9.24.M.0 9.27.M.0 14.27.}.3.0.1.0.0.0 8.29.&.1.0 [end] [offset] 8E9B [level] 32 [colour] 72bbc8 [size] 16.31 [author] _Warsaw Robbo I [level_notes] End od Warsaw Robbo I [data] ................ ..####.####..#.. .....#....#..#.. .....#....#..#.. ...###.####..#.. .....#.#.....#.. .....#.#..!..... ..####.####..#.. ................ .............@.. ......@......... ..@.........@... ................ HHHHHHHHHHHHHHHH qqqqqq.......... q............... q............... q....q.......... q....q.......qqq q'...q.........q q'}}}q.......q&q qqqqqqqqqqqqqqqq ---------------- --------------?- ---------------- ---------------- qqqqq------qqqqq q...qqqqqqqq...q q.&..........R.q q...qqqqqqqq...q qqqqq------qqqqq [additional] 9 13.9.@.3 6.10.@.3 2.11.@.3 12.11.@.3 2.20.}.3.0.1.0.0.0 3.20.}.3.0.1.0.0.0 4.20.}.3.0.2.0.0.0 14.20.&.4.0 2.28.&.4.1 [end] [offset] 5095 [level] 33 [colour] 8e5f6a [size] 16.31 [author] _Warsaw Robbo II [level_notes] Begin of Warsaw Robbo II [data] OOOOOOOOOOOOOOOO O....O....O....O O.%%.O....O.TT.O O....O!..RO....O OOHOOOO..OOOODOO O....O....O....O O..............O O..............O O..............O OOOO#OOOOOO....O O..#^O....O....O O..O.O....O....O O..O.O....O....O O&.O.O&..'O....O OOOOOOOOOOO....O O..............O O.....OOOOOOOOOO O.....O..#...OTO O.....D.#..#.OTO O.....O..#...OTO O.....O....#.OTO O.....O.#....DTO O.....O...#..OTO O.....OOOOOOOOOO O.....O....##.%O O.....O....##..O O.....O....##..O O.....H.b..####O O.....H........O OTO}OOO........O OOOOOOOOOOOOOOOO [additional] 4 4.10.^.1.0.0 1.13.&.1.0 6.13.&.1.1 3.29.}.3.0.1.0.0.0 [end] [offset] 5295 [level] 34 [colour] 688c99 [size] 16.31 [author] _Warsaw Robbo II [data] PPPPPPPPPPPPPPPP P..............P P....P.R.P.....P P..............P P.&PPPPPPPPPP&.P PPPP--------PPPP P.&PPPPPPPPPP&.P P....P&..&P....P P..%.P....P.%..P PPP.PPP..PPP.PPP P.#..PTTTTP..#.P P..#.PTPTTP.#..P P.#..PTTPTP..#.P PPPPDPTPTTPDPPPP P}...PTTPTP...}P P....PTPTTP....P P.PPPPTTPTPPPP.P P.P%MPTPTTPM%P.P P....PTTPTP....P PPPP.PTPTTP.PPPP P..H.PP..PP.H..P P..P.P&...P.P..P P??P.P....P.P??P PPPP.P....P.PPPP P....PPPPPP....P P..P.P#.#.P.P..P P..P.P..#.P.P..P P..P.P.#..P.P..P P..P.P..#.P.P..P P'}P&P!P.&P&P}'P PPPPPPPPPPPPPPPP [additional] 16 2.4.&.2.0 13.4.&.1.0 2.6.&.2.1 13.6.&.1.1 6.7.&.5.0 9.7.&.4.0 1.14.}.0.0.1.0.0.0 14.14.}.2.0.1.0.0.0 4.17.M.2 11.17.M.0 6.21.&.6.0 2.29.}.3.0.1.0.0.0 4.29.&.5.1 9.29.&.6.1 11.29.&.4.1 13.29.}.3.0.1.0.0.0 [end] [offset] 5495 [level] 35 [colour] 6daf97 [size] 16.31 [author] _Warsaw Robbo II [data] PPPPPPPPPPPPPPPP P&...~........!P P....~.........P PPPPPPPPPPPPPPPP ---------------- -------???------ ------?---?----- ----------?----- ---------?------ --------?------- --PPP---?-P---P- --P-P-----P-P-P- --PPP---?-PP-PP- --P-------P---P- VVV-VV-VVV-VVV-V V-V-V--V-V-V-V-V VVV-V--VVV-VV--V V-V-V--V-V-V-V-V PPPPPPPPPPPPPPPP PT.........P..RP P}.........P...P PPP............P P....PPPPPP..PPP P....P...*P...%P P....P.@..P....P P....P*.@.P....P P....P.@.@P....P P....P....P....P P....PPPPPP....P PT}&.DDTTDD..}%P PPPPPPPPPPPPPPPP [additional] 11 1.1.&.6.0 1.20.}.0.0.2.0.0.0 9.23.*.2 7.24.@.3 6.25.*.1 8.25.@.3 7.26.@.3 9.26.@.1 2.29.}.3.0.1.0.0.0 3.29.&.6.1 13.29.}.3.0.1.0.0.0 [end] [offset] 5695 [level] 36 [colour] 9988ae [size] 16.31 [author] _Warsaw Robbo II [data] PPPPPPPPPPPPPPPP PM............MP P!............RP PPPPPP....PPPPPP P}............PP PP.............P P}............PP PP.............P P}............PP PP.............P P}............PP PP.............P P}............PP PPPPPP....PPPPPP P..............P P....#.#.#.....P P^.............P P..............P P^.............P P..............P P^.............P P..............P P^.............P P..............P PPPPPPPPPPPPPP.P PT.............P PT......@......P PT...PPPPPPP...P PT.............P PT.............P PPPPPPPPPPPPPPPP [additional] 12 1.1.M.0 14.1.M.2 1.4.}.0.0.1.0.0.0 1.6.}.0.0.1.0.0.0 1.8.}.0.0.1.0.0.0 1.10.}.0.0.1.0.0.0 1.12.}.0.0.1.0.0.0 1.16.^.0.0.0 1.18.^.0.0.0 1.20.^.0.0.0 1.22.^.0.0.0 8.26.@.2 [end] [offset] 5895 [level] 37 [colour] b98cb0 [size] 16.31 [author] _Warsaw Robbo II [data] ssssssssssssssss s.............'s s.............%s s.............^s s..............s s..............s s.............^s s.............^s s..sssssssssssss s...........s}Ts sDsssssssss.s..s s.........s.s..s s.........D.s..s s.........s.s..s s.........s....s s.........D.ssss s.........s....s s.T.T.T.T.s....s s}T}T}T}T}s....s sssssssssssss..s ss.............s s}..........s..s sR..........s..s sssssssssssss..s s.b.Vb??????H..s s.b..bsssssss..s s.bbbbbbbbbbH..s sss..bb.@.@bs..s s!^..bb.*@*bs..s s....bb.@.*bs..s ssssssssssssssss [additional] 18 14.3.^.0.0.0 14.6.^.0.0.0 14.7.^.0.0.0 13.9.}.1.0.2.0.0.0 1.18.}.3.0.1.0.0.0 3.18.}.3.0.1.0.0.0 5.18.}.3.0.1.0.0.0 7.18.}.3.0.1.0.0.0 9.18.}.3.0.1.0.0.0 1.21.}.0.0.1.0.0.0 8.27.@.2 10.27.@.2 2.28.^.1.0.0 8.28.*.0 9.28.@.1 10.28.*.0 8.29.@.2 10.29.*.0 [end] [offset] 5A95 [level] 38 [colour] a486bf [size] 16.31 [author] _Warsaw Robbo II [data] OOOOOOOOOOOOOOOO O#....#...#...!O O...#.#.#..#...O O..#..#...#.#..O O#.....#.#.#...O O.#.#..#..#.#.&O OOO.OOOOOOOOOOOO O.}.O----------- O...O-OOOOOOOOO- O...O-OR......O- O...O-O.......O- O...O-OOOOO#OOO- O...O-O..#...#O- O...O-O&.##.#.O- O...O-OOOOOOOOO- O...O----------- O.OOOOOOOOOOOOOO O..............O O..............O O.........*....O O...TTTTTTT....O O..OOOOOOOOO...O O...TTTTTTT....O O..............O O..............O O.OOOOOOOOOOOO.O O..^...TT...^..O O......TT......O O......TT......O O......TT......O OOOOOOOOOOOOOOOO [additional] 6 14.5.&.4.0 2.7.}.1.0.1.0.0.0 7.13.&.4.1 10.19.*.0 3.26.^.1.0.0 12.26.^.1.0.0 [end] [offset] 5C95 [level] 39 [colour] 77c281 [size] 16.31 [author] _Warsaw Robbo II [data] pppppppppppppppp p.....pTTp.....p p.R.!.pTTp.b.b.p p.....p.#p.....p ppppp.p#.pDppppp p.....p##p.....p p..............p p.........pppp.p pppppp....pTTT.p p...Tp....pppp.p p...}p.........p p...pp.....ppppp p...#......p..&p p...ppp....p...p p....}p....ppDpp p....}p....p...p p....Tp....ppHpp ppppppp....p.#.p ppppppp....p..#p pHH........p#..p pHppppp....pTTTp p#...#p....pTTTp p..#..p....pTTTp p....#p....pTTTp p.b#..ppp.pppppp p.....p........p p##pppp.pppppp.p p##p.....p.....p p..p.....p.....p p&.p'}..?p%p%}.p pppppppppppppppp [additional] 7 4.10.}.2.0.1.0.0.0 14.12.&.4.0 5.14.}.2.0.1.0.0.0 5.15.}.2.0.1.0.0.0 1.29.&.4.1 5.29.}.3.0.1.0.0.0 13.29.}.3.0.1.0.0.0 [end] [offset] 5E95 [level] 40 [colour] 65da88 [size] 16.31 [author] _Warsaw Robbo II [data] QQQQQQQQQQQQQQQQ Q.RQ........Q.&Q Q..Q........Q..Q Q..Q........Q..Q Q..............Q Q....TTTT...TTTQ Q....QQQQ...QQQQ Q..............Q QTTTT...TTTT...Q QQQQQ...QQQQ...Q Q..............Q QT.TT.T.T...TT.Q QQ.QQ.Q.Q...QQ.Q Q..............Q Q..............Q Q.TTTTTT..TT.TTQ Q.QQQQQQ..QQ.QQQ Q..............Q Q..T..TTTTTTTT.Q Q..Q..QQQQQQQQ.Q Q..............Q QQQQQQQQQQQQQQQQ @@...@...@@@...@ ---.--.---.---.- -.-*-.*-.-.-.-.- ---.-*.---@--.@- -.-*-..-.-@-.-.- QQQQQQQQQQQQQQQQ Q!.TTTTTTTTTT.&Q Q}............}Q QQQQQQQQQQQQQQQQ [additional] 18 14.1.&.1.0 0.22.@.2 1.22.@.2 5.22.@.2 9.22.@.2 10.22.@.0 11.22.@.2 15.22.@.2 3.24.*.3 6.24.*.3 5.25.*.1 10.25.@.2 14.25.@.1 3.26.*.0 10.26.@.2 14.28.&.1.1 1.29.}.0.0.1.0.0.0 14.29.}.2.0.1.0.0.0 [end] [offset] 6095 [level] 41 [colour] 84c489 [size] 16.31 [author] _Warsaw Robbo II [data] pppppppppppppppp pR..pTTpTTpTp.!p p...pTTpTTp....p ppp.pTTpTTp.pppp pTT....p....TTTp pppppp.p.ppppppp p......p......'p p.............'p p.........^^^^'p ppHpp..ppppppppp p...p..p-------- p.p.p..p-pppppp- p..pp..p-p&...p- pp..p..p-p...pp- p.p%p..p-p...}p- ppppp..p-p...Tp- pTTTp..p-p..TTp- pTTTp..p-p''ppp- pTTTp..p-pppp--- pTTTp..p-------- p...D..ppppppppp ppppp......#..Tp p.........##..Tp p......p.ppppppp p......p.......p pppppp.p.......p p....p.p.......p p.&p.p.p......^p p..p...p.......p p..p...pTTTTTTTp pppppppppppppppp [additional] 8 10.8.^.3.0.0 11.8.^.3.0.0 12.8.^.3.0.0 13.8.^.3.0.0 10.12.&.1.0 13.14.}.2.0.1.0.0.0 2.27.&.1.1 14.27.^.2.0.0 [end] [offset] 6295 [level] 42 [colour] b54fba [size] 16.31 [author] _Warsaw Robbo II [data] OOOOOOOOOOOOOOOO O&.&.&O&.TO&..&O O.....O..TO....O O.TTT.O..TO....O O.TTT.O..TO%..%O O.....O&.TOOOOOO OOOOOOOOOOO&..#O O&..'O&..TO##.#O O....O....O#.#.O OOOOOO....O.##.O O&..OOOOOOOOOOOO O...O&..O&..O&.O O...O...O...O..O O..?OTTTOTTTO..O OOOOOOOOOOOOOHHO O&..TO&.TTO&...O O...TO..TTO....O OOOOOO#OOOOOOOOO OTTTO###...OTTTO OO.OO......DTTTO O...O......OOOOO O.O.O......O...O O...O.......b..O OODOO..........O O...........b..O O..............O OOOO........OOOO O!...........R.O O..O.OOOOOOOO..O O..O.......'O..O OOOOOOOOOOOOOOOO [additional] 17 1.1.&.1.0 3.1.&.3.0 5.1.&.5.0 7.1.&.2.0 11.1.&.3.1 14.1.&.4.0 7.5.&.4.1 11.6.&.4.2 1.7.&.1.1 6.7.&.1.2 1.10.&.5.1 5.11.&.1.3 9.11.&.2.1 13.11.&.3.2 1.15.&.4.3 6.15.&.5.2 11.15.&.2.2 [end] [offset] 6495 [level] 43 [colour] 93b06b [size] 16.31 [author] _Warsaw Robbo II [data] oooooooooooooooo oT}o...TT...o}To o..o...oo...o..o o..o...}}...o..o o..o.oooooo.o..o o..............o oooo........oooo o..............o o..o..oDoo..o..o o..o..o.To..o..o o..o..oTTo..o..o o..o..oT.o..o..o o..o..ooDo..o..o o..o........o..o oT}o........o}To ooooooooo...oooo o.......o...oR.o o.......o...o..o o.......o......o o.......o...oooo o.......H......o o.......o...o..o o%#}#}##o...o!.o ooooooooo.oooooo oTTTTTTT..o}'oTo oTooooooo.o....o oTTTTTTTo.o....o oooooooTo.o....o oTTTTTTTo......o oTTTTTTT..o....o oooooooooooooooo [additional] 9 2.1.}.1.0.1.0.0.0 13.1.}.1.0.1.0.0.0 7.3.}.2.0.1.0.0.0 8.3.}.0.0.1.0.0.0 2.14.}.3.0.1.0.0.0 13.14.}.3.0.1.0.0.0 3.22.}.3.0.1.0.0.0 5.22.}.3.0.1.0.0.0 11.24.}.1.0.2.0.0.0 [end] [offset] 6695 [level] 44 [colour] 8b6aae [size] 16.31 [author] _Warsaw Robbo II [data] QQQQQQQQQQQQQQQQ Q.....QTTQ.....Q Q..............Q Q..............Q Q..............Q Q..............Q Q.....QTTQ.....Q Q.}Q}^QTTQ^}Q}.Q QDQQQQQQQQQQQQDQ Q..............Q QQQQQQQ..QQQQQQQ Q.....Q..Q'...bQ Q.T.T.Q.....^^bQ Q.T&T.Q..QQQQQQQ Q.T.T.Q..Q------ Q.....Q..QQQQQQQ QQQQQQQ..Q%....Q Q%.Q.....QQ....Q Q..Q.....QT...&Q Q..Q.....QQQQQQQ Q...........D.&Q QQQQQ.......QQQQ Q?.............Q Q?.............Q Q?..........QQ.Q QQQQQ.......Q'.Q QTTTQ.......QQ.Q QTTTQ.......QR.Q Q..QQQQQQQ..QQ.Q Q&.HHHHHHH..Q!.Q QQQQQQQQQQQQQQQQ [additional] 12 2.7.}.3.0.1.0.0.0 4.7.}.3.0.1.0.0.0 5.7.^.3.0.0 10.7.^.3.0.0 11.7.}.3.0.1.0.0.0 13.7.}.3.0.1.0.0.0 12.12.^.3.0.0 13.12.^.3.0.0 3.13.&.5.0 14.18.&.4.0 14.20.&.5.1 1.29.&.4.1 [end] [offset] 6895 [level] 45 [colour] 8dbec6 [size] 16.31 [author] _Warsaw Robbo II [data] QQQQQQQQQQQQQQQQ Q%}.Q..bVbb.b.TQ Q...Q.QbVbb.b.TQ Q...Q.Qb.bb.b.TQ Q...Q.QbVbb*b.TQ Q...Q.QbVbb*b.TQ Q...Q.QbVbb.b.TQ Q...Q.Qb.bb.b.TQ Q...Q.Qb....b.TQ QQQHQ.QQQQQQQQQQ Q.......Q....b.Q Q.......Q...b.bQ Q.......Q....b.Q Q.TQ.QT.Q...QQQQ Q.QQ.QQ.Q...Q..Q Q...R..........Q Q.QQ.QQ.Q...Q.'Q Q.TQ.QT.Q...QQQQ Q.......Q^.^Q..Q Q.......QQQQQ..Q Q..............Q Q..............Q QDQQQQQQQQQQQ#QQ Q..QbbbQbbbb###Q Q..QbQbQbQbbbbbQ QQ.QbQbQbQbbbbbQ QbbQbQbQbQQQbQQQ QbbQbQbQbQ.....Q QbbQbQbQbQ..!..Q QbbbbQbbbQ.....Q QQQQQQQQQQQQQQQQ [additional] 5 2.1.}.1.0.0.0.0.0 11.4.*.0 11.5.*.2 9.18.^.3.0.0 11.18.^.3.0.0 [end] [offset] 6A95 [level] 46 [colour] b5686f [size] 16.31 [author] _Warsaw Robbo II [data] OOOOOOOOOOOOOOOO O&TOTTTOTTTOTTTO O.TOTOTOTOTOTOTO O.TOTOTOTOTOTOTO O.TOTOTOTOTOTOTO O.TOTOTOTOTOTOTO O.TOTOTOTOTOTO.O O.TTTOTTTOTTTO!O OOOOOOOOOOOOOOOO ------OTTO------ -----O....O----- ----O&.??.&O---- -----O....O----- ------OTTO------ -------OO------- ------OTTO------ -----O....O----- ----O&....?O---- -----O....O----- ------OTTO------ -------OO------- OOOOOOOOOOOOOOOO O^ORO^O^O.....'O O.............'O O..........OOOOO O..........O...O O..........O...O O..........D...O O..........O...O O.O%O.O.O..O..&O OOOOOOOOOOOOOOOO [additional] 8 1.1.&.4.0 5.11.&.4.1 10.11.&.5.0 5.17.&.5.1 1.22.^.3.0.0 5.22.^.3.0.0 7.22.^.3.0.0 14.29.&.4.2 [end] [offset] 6C95 [level] 47 [colour] 758785 [size] 16.31 [author] _Warsaw Robbo II [data] ssssssssssssssss s...s........s%s s..!s........s.s s.sss........s.s s...s........s.s s..Rs........s.s s.sss........s.s s............s.s ss.....s^...^..s s}.....sssssssss ss.............s s..............s ssssssss.......s -------sTsssss.s -------sTs.....s -------sTs.sssss -------sTs.s...s -------sTs.s.s.s -------sTs...s.s ssssssssssssssDs s#..##.##...#..s s#.#..#...#...#s s.......#......s s.s.s.s..s.s.s.s s..............s s^.............s s..............s ss.s.s.ss.s.s.ss sT.T.T.TT.T.T.Ts sT.T.T.TT.T.T.Ts ssssssssssssssss [additional] 4 8.8.^.1.0.0 12.8.^.1.0.0 1.9.}.0.0.1.0.0.0 1.25.^.0.0.0 [end] [offset] 6E95 [level] 48 [colour] 95bc84 [size] 16.31 [author] _Warsaw Robbo II [data] pppppppppppppppp pR.p..........%p p..p..........%p p.............?p pppp..........'p p@.bbb........pp p.@b..........pp p@.bbb...pp}p}pp ppppppp..ppppppp ------ppDp------ ------p..p------ ------p..p---??? ------p..p---?-? ------p..p---??? ------p..p---?-? ------p..p------ ------p..p------ ------p..p------ ------p..p------ ------pDpp------ --ppppp..ppppp-- --pT........Tp-- --pT........Tp-- --pT........Tp-- --pT........Tp-- --pT}}p..p}}Tp-- --ppppp..ppppp-- ------p..p------ ppppppp..ppppppp p!............}p pppppppppppppppp [additional] 10 1.5.@.0 2.6.@.1 1.7.@.2 11.7.}.3.0.1.0.0.0 13.7.}.3.0.1.0.0.0 4.25.}.3.0.1.0.0.0 5.25.}.3.0.1.0.0.0 10.25.}.3.0.1.0.0.0 11.25.}.3.0.1.0.0.0 14.29.}.2.0.1.0.0.0 [end] gnurobbo-0.66+dfsg/data/levels/robbo_b.dat0000644000175000017500000004613411313675524017557 0ustar stevesteve[name] Robbo-B [last_level] 23 [offset] 508C [level] 1 [colour] 78c67f [size] 16.31 [author] Robbo B [data] OOOOOOOOOOOOOOOO O%HOOOOOM%MO.HHO OHHO.......O.O.O OHHO.OOOOO.O.O%O OH'R.OT^..HO.OHO OOOOOO..O?.O.OHO O.......O?.O.OHO O.OOOOO.OO.O.OHO O.O......O.O.OHO O.O.OOO..O.O.OHO O.O.O......O.O}O O.O*O.OTO..O.OOO O.O...O.O..O..}O O...OOO.O..OTOOO O..OOOO.O...HH.O O.OOOOO.O...HHTO O.......OOOOOOOO O.?????........O O..........~...O OOOOOOOOOOOOOO.O O.......^......O OOOOOO.OO.OOOOOO OVH....OO....HVO OHH...OOOO...HHO OVH..OO..OO..HVO OH..OO...!OO..HO OHHOO......OOHHO OODO........ODOO OODO........ODOO OO.b...MM...b.OO OOOOOOOOOOOOOOOO [additional] 9 8.1.M.0 10.1.M.2 7.4.^.0.0.0 14.10.}.3.0.0.1.0.0 3.11.*.3 14.12.}.2.0.0.0.0.0 8.20.^.0.1.1 7.29.M.2 8.29.M.0 [end] [offset] 528C [level] 2 [colour] 7176a9 [size] 16.31 [author] Robbo B [data] oooooooooooooooo oV....}o#.#.#.#o oooooo.o##.#.#.o oooooo.o..#.#..o o..H%'Ro##.#..#o oDooooo..o#..#.o o..~....o...#.#o o.#~...oHHoooooo o..~...oHbHHHHHo o..~....oHooHHHo o..~....&oHHbHHo o#.~.o...oTHHooo o....o...ooHoooo o...oo..HHo%Mo&o o..o.Vo.HHHoo..o o...o.o..bH#.#.o o...To..HHHT.#.o oooooooooooooooo ---------------- ---------------- ---------------- ---------------- ---------------- ---------------- oooooooooooooooo o&o.H.o...o...To o.o.o.o.o.o.o.oo o.o'o.o.o.o.o.?o o.o.o.&.o.o.o.oo o.'.o.@.o..*o.!o oooooooooooooooo [additional] 8 6.1.}.1.0.0.0.0.0 8.10.&.2.0 12.13.M.2 14.13.&.1.0 1.25.&.1.1 6.28.&.2.1 6.29.@.2 11.29.*.0 [end] [offset] 548C [level] 3 [colour] a98058 [size] 16.31 [author] Robbo B [data] pppppppppppppppp pHp..R...ppppb}p p..~pppp.pp.pp.p p.p.p''p.ppHpp.p p'pHp''p.......p pHHHppppppppTp.p ppppppppp%pppp.p ppp...HHH.pppp.p ppp.p.HTH.ppp..p p&p.p.HTH.pp..pp p...p.HHH.p..ppp ppppp.......pp!p pppppppppppHHHHp pppppppppppppppp pp............pp pp.p.ppppp##p.pp pp.p...%'T.Mp.pp pp.pppppppppp.pp pp......@.....pp pppppppH.pp.pppp ppppppHHHHp.pppp ppppppHppHp.pppp pT.'ppHppHp.pppp p.#.ppHHHTp.pppp p#.#pppppppbpppp p.#.p........Hpp p#..p.pppppppHpp pDppp.pppppppHpp pDppp.p&.HHHHHTp p.....pppppppppp pppppppppppppppp [additional] 5 14.1.}.1.0.1.0.0.0 1.9.&.1.0 11.16.M.2 8.18.@.0 7.28.&.1.1 [end] [offset] 568C [level] 4 [colour] 719d8d [size] 16.31 [author] Robbo B [data] QQQQQQQQQQQQQQQQ &...H-H-H...^.^& QQQTHHHHHQ.TQTTT QTTQ-H-QQ.QQ.QQQ Q..TQQQ.T.bbb}bQ Q.........bbbbbQ Q......Q&QbbbbbQ Q.....QT..Q....Q Q....Q.....Q...Q Q...Q!..T..^Q..Q Q....Q.....Q.TTQ Q.....QT..Q..TTQ Q......Q&Q.....Q Q.......Q......Q Q....^..T.....}Q QQQQQQQQQQQQQQQQ Q...T...T...T..& Q..............Q Q....QQTQQQ@...Q Q.....TQT......Q Q..............Q Q..............Q Q.^....QQQQQQQQQ Q.....Q#T#..#T.R Q.....Q.#...##TQ Q.....Q.T#T.#..Q Q.....Q#.b#~.##Q Q.....'Q...Q.#.Q }...T...Q..Q...Q Q.......##.....Q QQQQQQQQQQQQQQQQ [additional] 14 0.1.&.1.0 12.1.^.1.0.0 14.1.^.0.1.1 15.1.&.2.0 13.4.}.2.0.1.0.0.0 8.6.&.3.0 11.9.^.2.0.0 8.12.&.2.1 5.14.^.0.1.1 14.14.}.2.0.1.0.0.0 15.16.&.1.1 11.18.@.3 2.22.^.0.0.0 0.28.}.0.0.0.0.0.0 [end] [offset] 588C [level] 5 [colour] b2b05f [size] 16.31 [author] Robbo B [data] pppppppppppppppp pppppppppppppppp pp............pp pp..p.ppppHp..pp pp..p.p!Tp.p..pp pp..pHppDpHp..pp pp.*pHHHHHHp..pp pp..pppppppp..pp pp............pp pp...........#Rp pppppp...}pppppp ppM.........#.&p pp..#p.....p..pp ppM.........#.pp pp...........}pp pppppppppppppppp pp}.......#HHHpp pp.........HHHpp pp.-------.HH%pp pp.-ppppp-.HH'pp pp.-p&.Vp-.HHHpp pp.-ppppp-.ppppp pp.-------.pVpVp pp^......b.pp}pp pp.........pp.bp pp^......b.ppHpp pp.........ppHpp pp#~~##~~b.ppHpp pp&..'........pp ppppppppppppp&pp pppppppppppppppp [additional] 13 3.6.*.3 9.10.}.2.0.1.0.0.0 2.11.M.0 14.11.&.1.0 2.13.M.0 13.14.}.3.0.0.1.0.0 2.16.}.0.0.1.0.0.0 5.20.&.3.0 2.23.^.0.1.1 13.23.}.1.0.2.0.0.0 2.25.^.0.1.1 2.28.&.3.1 13.29.&.1.1 [end] [offset] 5A8C [level] 6 [colour] 77a4ac [size] 16.31 [author] Robbo B [data] OOOOOOOOOOOOOOOO O..............O O.OOOOROOOOOOO.O O.O.%O#O.'.#.O.O O.O..O##%..##O.O O.O^..&OOOO?.O.O O.OOOOOO..OODO.O O..............O OO.O...O.O...O.O O...O.O...O.O..O O...O.O...O.O..O O.......}......O O.............}O O.#.#.#.#.#.#.#O O#.#.#.#.#.#.#.O O.#.#.#.###.#.#O O#?#.#.#.#.#.#?O O.#.#.#.#.#.#.#O O#.#.#.#.#.#.#.O O########.#####O O?#######.##?##O OOOOOOOOO~OOOOOO O%....T.O.O...!O O...~.~.ObO.#..O O##.####O^O.#..O O#######O.O.*.bO O#.#.#.#O#OOOODO O.#.#.#....HOOHO O#.#.#.#...HOOD& OV?V#.#..b.HHHHO OOOOOOOOOOOOOOOO [additional] 7 3.5.^.1.0.0 6.5.&.1.0 8.11.}.0.0.0.0.1.1 14.12.}.3.0.0.1.0.0 9.24.^.1.0.0 12.25.*.0 15.28.&.1.1 [end] [offset] 5C8C [level] 7 [colour] 819663 [size] 16.31 [author] Robbo B [data] ssssssssssssssss s}.............& s.ssssssssssss.s s.s......T#..#.s s.s.sssss%ss.s.s s.s.sT.....s#s.s s.s.s.ss&s.s.s.s s.s.s.s&.s.s.s.s s.s.s.s.!s&s.s.s sTs..#..Vs.s.s.s s.s.s.ssss.s.s.s s.s.s....%.s.s.s sTs..ssssss..s.s s.s....#.....s.s s.ssssssssssss.s s..............s s..}........}..s s...........R..s --------------.- ---............- ---.#.#..M------ --M..........^.- --------------.- --.~~HH........- --.HHHHHH------- --D-------T.%.&- --DDHHHHT-.~.#.- --DD-HHHT-#.#.#- --H--HHHH-.b.~.- --HHHHHH?-'.#.#- ---------------- [additional] 11 1.1.}.1.0.1.0.0.0 15.1.&.3.0 8.6.&.2.0 7.7.&.3.1 10.8.&.1.0 3.16.}.0.0.0.0.1.1 12.16.}.0.0.0.0.1.1 9.20.M.2 2.21.M.0 13.21.^.2.1.1 14.25.&.1.1 [end] [offset] 5E8C [level] 8 [colour] 9551b9 [size] 16.31 [author] Robbo B [data] oooooooooooooooo oV.V.V.V.V'.D..o oooooooooo&oo#.o o..............o o.oo..oo...oo..o o.oo..oo...T...o o.oo..oo...oo..o o.oooooo@.*oo..o o.oooToo...oo..o o.oo..oo...oo..o o.oo..oo...oo..o o..............o o.............#o o'.oooooo..####o oH.o.HH%o.##.#Ro oH.o..HHo.#.#.#o o..o&..Ho.####.o o..oooooo.#.###o o..............o o..............o o}....o}}o....}o oHHHHHH........o oHHHHHo..o...HHo oHHHHHo..o...HHo oHHHHHo..oo.ooHo oDooooo#...#.&Ho oToM....T...MoDo o.o...b.oooooo.o o.o.####o'&??..o o!o#T#?#o'.....o oooooooooooooooo [additional] 12 10.2.&.6.0 8.7.@.3 10.7.*.3 4.16.&.2.0 1.20.}.3.0.0.1.0.0 7.20.}.3.0.2.0.0.0 8.20.}.1.0.1.0.0.0 14.20.}.3.0.0.1.0.0 13.25.&.2.1 3.26.M.0 12.26.M.2 10.28.&.1.0 [end] [offset] 608C [level] 9 [colour] 6d61b1 [size] 16.31 [author] Robbo B [data] ---------------- -pppppppppppppp- -ppppppp.D.#.Tp- -pppppp..p..#.p- -p...DD.ppppppp- -p.~bpp.ppVpVpp- -p...pp.ppppppp- -p~#.pp.p.#..?p- -p##.~p..#...Tp- -p~T~#p.ppppp&pp -pppppp.pppppppp -p............Rp pp..p@p@p.p..ppp p..ppppppppp.p-- p...p.pTp.p..p-- p............p-- pp.p.p.p.p.p.p-- pM..#.#.#.#..ppp pp..p.p.p....}pp pM.#......p..}pp pp.p.p.p.#...}pp -p.....}.}.}..pp -pppM.........pp -pppM.........pp ppp'%T^.^.^.^.pp p.&pM.....H#HHpp p%.pM.....HHHHpp ppppp.....HHTHpp p!.%D.....HHH%pp pppppppppppppppp pppppppppppppppp [additional] 20 13.9.&.1.0 5.12.@.2 7.12.@.2 1.17.M.0 13.18.}.2.0.2.0.0.0 1.19.M.0 13.19.}.2.0.2.0.0.0 13.20.}.2.0.2.0.0.0 7.21.}.1.0.1.0.0.0 9.21.}.1.0.1.0.0.0 11.21.}.1.0.1.0.0.0 4.22.M.0 4.23.M.0 6.24.^.2.1.1 8.24.^.2.1.1 10.24.^.2.1.1 12.24.^.2.1.1 2.25.&.1.1 4.25.M.0 4.26.M.0 [end] [offset] 628C [level] 10 [colour] a28352 [size] 16.31 [author] Robbo B [data] ---------------- -..............& -.HHHHHHHHHHHH*- -.HHHHHHHHHHHH.- -.HH.....T..HH.- -.HH.HHHHHH.HH.- -.HHb..~.&H.TH*- -.HH.HHHHHH.HH.- -.HH..?..?.?HH.- -.HHHHHHHHHHHH.- -.HHHHHHHHHHHH*- -..............- --------------.- ooooooooooooo-.- ooooooooooooo-&- ooooo..ooo..oooo ooM....T%....Moo o.o..........o&o o..o}......}oo.o o...o...#.}ooo.o o....}....o....o o.....o..o.....o o.....oo.o.H.HHo o^^^^.o..o.H.H.o o.....o.oo.H.HVo o.....o..o.H.H.o oDooo.oo.o.H.H.o o...o......H.H.o o.!.o...~..H.H.o o...o.....RHT..o oooooooooooooooo [additional] 17 15.1.&.1.0 14.2.*.3 9.6.&.1.1 14.6.*.3 14.10.*.3 14.14.&.2.0 2.16.M.0 13.16.M.2 14.17.&.2.1 4.18.}.3.0.1.0.0.0 11.18.}.3.0.1.0.0.0 10.19.}.3.0.1.0.0.0 5.20.}.3.0.1.0.0.0 1.23.^.1.0.0 2.23.^.1.0.0 3.23.^.3.0.0 4.23.^.3.0.0 [end] [offset] 648C [level] 11 [colour] 7accb0 [size] 16.31 [author] Robbo B [data] ssssssssssssssss s.?s..D.......}s s..s&.s..#....}s s?.ssss.......}s s}............}s sM.....#....}..s sssss......#..#s sHHHR.........'s sHssssssssssss.s sHHH%sV........s ssssssssssssssss M....s....M.%..s &.?..&....&..#.& s....s....s....s sss&ssssssssssss s...~s....s.#..s &.~..&.~?.s..%.& s....s....&.#..s ssssssssssssssss s%s........}}}}s s.s.s.s.s......s s......}...HHHHs s.s.s......HHHHs s.sssssssssHVH.s s.s.Vs...?sH.H.s s.sss.....sH.H.s s^s..b....HH.HVs s^s#..###sHHHHHs s^s##.##.s%HHH#s s^s#T##!#sV.H..& ssssssssssssssss [additional] 29 14.1.}.2.0.0.0.0.0 4.2.&.4.0 14.2.}.2.0.2.0.0.0 14.3.}.2.0.1.0.0.0 1.4.}.0.0.1.0.0.0 14.4.}.2.0.0.0.0.0 1.5.M.0 12.5.}.0.0.0.0.1.1 0.11.M.0 10.11.M.2 0.12.&.1.0 5.12.&.3.0 10.12.&.2.0 15.12.&.6.0 3.14.&.6.1 0.16.&.2.1 5.16.&.3.1 15.16.&.1.1 10.17.&.4.1 11.19.}.1.0.1.0.0.0 12.19.}.1.0.1.0.0.0 13.19.}.1.0.1.0.0.0 14.19.}.1.0.1.0.0.0 7.21.}.0.0.0.0.1.1 1.26.^.3.0.0 1.27.^.3.0.0 1.28.^.1.0.0 1.29.^.1.0.0 15.29.&.4.2 [end] [offset] 668C [level] 12 [colour] a5b8a0 [size] 16.31 [author] Robbo B [data] -OOOOOOOO------- -OM..'.&O-OOOOOO OO.b#OOOO-O...RO O..#.O----O#OOOO OV..HO-OOOO.O--- O.OHHO-O.}}.OOOO OVOOOO-OM...HD&O OOO-..-O....OOOO ----OO-OM....H&O -OOOOO-O.....H.O -O#T#O-OM.....&O O&.#.O-OO..OOOOO O.~.bO--OOOO---- O...!OO--------- OOOOOOO---OOOOOO ----------O&OT}O OOOOOOOOOOO.O..O O&O.....^....T}O O.O.OOOOOOObO..O O.O.O..^..^..T.O O.O^OOOOOOOOOOOO O.O.OO---------- O.O.OO-OOOOOOOO- O.O.OO-O&.~.b.O- O..^OO-OOO....O- OOOOOO---O..b.O- ---------O'.#.O- -OOOOOOOOO....O- -O&M.'.....OOOO- -O...%.~..*O---- -OOOOOOOOOOO---- [additional] 24 2.1.M.0 7.1.&.4.0 9.5.}.1.0.1.0.0.0 10.5.}.1.0.1.0.0.0 8.6.M.0 14.6.&.1.0 8.8.M.0 14.8.&.2.0 8.10.M.0 14.10.&.3.0 1.11.&.1.1 11.15.&.4.1 14.15.}.0.0.0.0.1.1 1.17.&.2.1 8.17.^.2.1.1 14.17.}.3.0.2.0.0.0 7.19.^.2.1.1 10.19.^.2.1.1 3.20.^.1.0.0 8.23.&.3.1 3.24.^.2.1.1 2.28.&.4.2 3.28.M.0 10.29.*.0 [end] [offset] 688C [level] 13 [colour] b3b06d [size] 16.31 [author] Robbo B [data] oooooooooooooooo o.........HHHH&o o.....o.o..HHHHo o.T.#.o..o..HHHo o..#..o@..o..HHo o.....o@..bo..Ho o.#..#o.#...o..o o.....o#'#..%o.o o.ooo.oooooooo.o o..............o o..#...........o o.ooooooooooo..o o.o.#T##..o.o..o o.o#.#.#b.D.o..o o.ooooooooo.o..o o.......o@o.&o.o o....o..ooo.oo.o o....o'?..ooo..o o..&.oooo..o...o o..........o...o o.}}}}}}}}.o.o}o o.?.?.?.?......o ooooooooooo..}}o VVVVVVV~TVo..HHo ooooooooo.o.H?Ho o.o^..o&o.o.HH?o o.o.o.o.obo.H?Ho o^o^o^oTo.o.HH?o o.^.o.o.o~o..HHo o!..o^..o.o&..Ro ooooooooo&oooooo [additional] 26 14.1.&.2.0 7.4.@.2 7.5.@.0 9.15.@.2 12.15.&.4.0 3.18.&.4.1 2.20.}.3.0.0.1.0.0 3.20.}.3.0.0.1.0.0 4.20.}.3.0.0.1.0.0 5.20.}.3.0.0.1.0.0 6.20.}.3.0.0.1.0.0 7.20.}.3.0.0.1.0.0 8.20.}.3.0.0.1.0.0 9.20.}.3.0.0.1.0.0 14.20.}.3.0.1.0.0.0 13.22.}.1.0.2.0.0.0 14.22.}.1.0.2.0.0.0 3.25.^.0.1.1 7.25.&.2.1 1.27.^.3.0.0 3.27.^.3.0.0 5.27.^.3.0.0 2.28.^.0.1.1 5.29.^.0.1.1 11.29.&.1.0 9.30.&.1.1 [end] [offset] 6A8C [level] 14 [colour] a75c6c [size] 16.31 [author] Robbo B [data] PPPPPPPPPPPPPPPP P~..V.V.V.P...RP P.PPPPPPPPP#.#.P P...P.......#.#P PM..P.b...P..##P P..MP.#.PPP#...P P...P..#P..#.#.P P.......P.&.#&.P P.......P.#...#P P##~#...PPPPPPPP P~T##.......}..P PPPPP...PPPPPPPP P..............P P.P....PPP...P.P P..PPP...PPP.P.P P#M........#.P.P P~P.#PP.P.b.P.#P P..P.P..~.....~P P#..#.#~PP.#PP.P P.P.P.P#..PP...P P..P.....#..%..P P....#.#...#..#P }.???P...P.PP~.P M.....P........} }......P.P...... M..%....PPPPP..P PPPPPPP........P PHHHHHPPHHPPPPPP PHHHHH&PHHP&.DTP PTHHHH.PT.P'.P!P PPPPPPPPPPPPPPPP [additional] 13 1.4.M.0 3.5.M.2 10.7.&.1.0 13.7.&.2.0 12.10.}.3.0.0.1.0.0 2.15.M.0 0.22.}.0.0.2.0.0.0 0.23.M.0 15.23.}.2.0.0.0.0.0 0.24.}.0.0.1.0.0.0 0.25.M.0 6.28.&.2.1 11.28.&.1.1 [end] [offset] 6C8C [level] 15 [colour] b9944e [size] 16.31 [author] Robbo B [data] pppppppppppppppp p&....p&&pHHH.&p p.HHHHp'.pHHHH.p p.HHHHp''pHHTHHp pHHTHHp%%pHH###p p#H#HHp..p..##.p p.HHHHp..p..bV#p p...#.p#.p..bb.p p.....p.#pT.bb.p p.#.#.p#.p..bb.p p.%...p..p%....p p.....p#.pT....p p....}p.#p..}}.p pppppDp'.pDppppp p.....p..p.....p p'ppppp#.ppppp'p p.....p.#p.....p pDppppp#.pppppDp p.....p..p.....p p.p.p.p#.pT.bb.p p.pbp.p.#p.b..?p p.....p'.p.....p p##b..p..p#####p p#####p#.p#####p p.....p.#p#####p p.T#T.p#.p~~~~~p pT#T#Tp.'p.....p p#T#T#p#.p.T.b.p pT#T#Tp.#p?..##p p#T#T#pR.pM..#!p pppppppppppppppp [additional] 8 1.1.&.1.0 7.1.&.1.1 8.1.&.2.0 14.1.&.1.2 5.12.}.3.0.0.1.0.0 12.12.}.3.0.2.0.0.0 13.12.}.3.0.2.0.0.0 10.29.M.0 [end] [offset] 6E8C [level] 16 [colour] 8faac7 [size] 16.31 [author] Robbo B [data] pppppppppppppppp pbbp%#.#.p~..R.p pbbp..#..p..~.#p pb'H#....H#....} p..p.#.#.p...?.p pDppppppppppppDp p.............#p p}.............p p....b.........p p}.............p p.....^.^.^.^..p p.........pppppp p......pppp..H!p p...pppp.~..bHHp p...D....ppppppp p...pppppp&....p p......pppp#.#%p p...#.....pppppp p.~...#........p p...HHHHH.#...pp p...HHHHH....p.p p.?.HTTHH...p..p p.#.HHHHH...p&.p ppppppppppp..p.p p.............#p p.p......#..#..p p.p.p..........p p^p^p.p....#...p pTpTp^p^p^.....M pTpTp~pTp.p.}.}p pppppppppppppppp [additional] 17 15.3.}.2.0.1.0.0.0 1.7.}.0.0.2.0.0.0 1.9.}.0.0.0.0.0.0 6.10.^.1.0.0 8.10.^.1.0.0 10.10.^.1.0.0 12.10.^.1.0.0 10.15.&.1.0 13.22.&.1.1 1.27.^.3.0.0 3.27.^.3.0.0 5.28.^.3.0.0 7.28.^.3.0.0 9.28.^.3.0.0 15.28.M.2 12.29.}.3.0.1.0.0.0 14.29.}.3.0.1.0.0.0 [end] [offset] 708C [level] 17 [colour] 6da77a [size] 16.31 [author] Robbo B [data] PPPPPPPPPPPPPPPP P.~.b...^..P..&P P.....PPP..P...P P....PT..P.P.%.P P.~.....%P.P...P P.......P..M...M P..b...P...P...P P.^....P...P.#'P P..PP......P#.#P P..P...P}..P.#.P P..PPP...~.P#.#P P.^.TP.~...P.#.& P..PPP.....PPPPP P..P%....~.....P P..PPP.~..PPPP.P P...TP....PT^..P PPPPPPPP.PPPPPPP P......P.P.....P P....&.P.P.&...P P......P.P.....P PPPPPPPP.PPPPPPP P.#..#.........P P..#.#..#...b..P P.#...#...PPPPPP PDPPPPP...&PP&.. PDPPPPP...PPPPP. PHHHHPP....#.... PHHHHPP......PPP PHHHHPP##.##...P P!HHHPP#T#T#..RP PPPPPPPPPPPPPPPP [additional] 13 8.1.^.2.1.1 14.1.&.1.0 11.5.M.0 15.5.M.2 2.7.^.3.0.0 8.9.}.1.0.2.0.0.0 2.11.^.3.0.0 15.11.&.2.0 12.15.^.0.1.1 5.18.&.1.1 11.18.&.2.1 10.24.&.1.2 13.24.&.2.2 [end] [offset] 728C [level] 18 [colour] a08750 [size] 16.31 [author] Robbo B [data] ssssssssssssssss s...#...sss..D!s s.~...#..#s.sDDs s..sT.......s..s ssssssss.ss....s s...RHH..s..#%.M }..#.HH..H....'s s....HHs.s.#%..M ssssssss.sssssss s....^.....?ssss s.&s....s..?ssss ssss...sss..s..s s.....ssss..sb.s s....ssTss..s..s s...ss..ss..sDss ...ss...ss.....s ..ss....ss..HHHs ............HTHs s&&&&&&&&&&&&&&s ssssssssssssssss s}............Ts ss*s#ssTss~.}.ss s%.........VV.Vs sssssT..#.VVVsss s..^.s.#..VVVs.s s....s..~.VVVs.s s..^.s&sssssss.s s....sss.......s M.&.....b.^~.&.s s...^.........^s ssssssssssssssss [additional] 31 15.5.M.2 0.6.}.0.0.1.0.0.0 15.7.M.2 5.9.^.0.1.1 2.10.&.1.0 1.18.&.3.0 2.18.&.3.1 3.18.&.3.2 4.18.&.3.3 5.18.&.3.4 6.18.&.3.5 7.18.&.3.6 8.18.&.1.1 9.18.&.1.2 10.18.&.3.7 11.18.&.3.8 12.18.&.3.9 13.18.&.3.10 14.18.&.3.11 1.20.}.0.0.2.0.0.0 2.21.*.3 12.21.}.0.0.0.0.1.1 3.24.^.0.0.0 3.26.^.0.0.0 6.26.&.1.3 0.28.M.0 2.28.&.3.12 10.28.^.1.0.0 13.28.&.3.13 4.29.^.0.0.0 14.29.^.2.1.1 [end] [offset] 748C [level] 19 [colour] 75ae7f [size] 16.31 [author] Robbo B [data] OOOOOOOOOOOOOOOO M.}}...MOO%.&ORO O...^....#.OOO.O O..^.OOOO.OOVO.O O.^..OOOO.OOVO.O O^T.TOOOO.OOVO.O OOOOOO~...OOVO.O O#%#....~.OOOO.O O.#...OOO....... O.~..OOOO.OOOOO# O...bH.'O....OO. OOOOOOOO..OO.OO. M..%.....O...O.. .#.'..}OO..OO... #%#...OO..OO..OO OOOOOOO..OO..OOO O.......O#..OO'O O.OOOOOOO..OODD% O.OT..}O..OODDDO O.O..#...OODDDDO O.?OOO.O.......O OTO??O....OOOOOO O.O??OOO.~OOVVOO OOOOO??O..OOVVOO OO...O?O~.OOVVOO OODO..OO..OOOOOO OHHOO....OOOOO&O OHHHO..O.......O OHHHOOOOOOOOOO.O OHHHH!OVV.bVb%@O OOOOOOOOOOOOOOOO [additional] 14 0.1.M.0 2.1.}.1.0.2.0.0.0 3.1.}.1.0.2.0.0.0 7.1.M.2 12.1.&.1.0 4.2.^.2.0.0 3.3.^.2.0.0 2.4.^.2.0.0 1.5.^.1.0.0 0.12.M.0 6.13.}.3.0.0.1.0.0 6.18.}.2.0.1.0.0.0 14.26.&.1.1 14.29.@.2 [end] [offset] 768C [level] 20 [colour] 8a8d56 [size] 16.31 [author] Robbo B [data] OOOOOOOOOOOOOOOO O&..b.....D...#O O#.........O###O O..OOOOOOO..O#.O O..O------O..OTO O^.O-OOOOOOO..OO O}.O-O&.#.#OO..O O..O-O.#.#RO-O@O O..O-O#.#.#!-O.O O..O-O&#.#.O-O@O O..O-OOOOOOO-O.O O..O---------O@O O..OOOOOOOOOOO.O O....}.}.}.}...O ..........^....O .#..ObObObObO..O ..b..........T.O OHH...T.T..T...O O'H............O OOO.......}....O --OOOOOOOOOOOOOO ---------------- ---------------- ---------------- ---------------- ---------OO&OOOO ---------O...#.O OOOOOOOOOO.....O &......^^......O OOOOOOOOOO%.~.#O ---------OOOOOOO [additional] 18 1.1.&.3.0 1.5.^.1.0.0 1.6.}.1.0.1.0.0.0 6.6.&.2.0 14.7.@.1 6.9.&.1.0 14.9.@.1 14.11.@.1 5.13.}.1.0.1.0.0.0 7.13.}.1.0.1.0.0.0 9.13.}.1.0.1.0.0.0 11.13.}.1.0.2.0.0.0 10.14.^.0.1.1 10.19.}.3.0.0.1.0.0 11.25.&.2.1 0.28.&.3.1 7.28.^.2.1.1 8.28.^.2.1.1 [end] [offset] 788C [level] 21 [colour] 6b7566 [size] 16.31 [author] Robbo B [data] ---------------- -T%H'b.~..^..V.- --------------.- -.......^.VVV..- -'-------------- -....V...^.....- --------------.- -....V...^.V...- -?-------------- -.#....#.....#.- -##----#-...-.#- -......b.-.--#.- --b.---..---..-- -.-.....#....-.- -..----...----.- -.......--.....- -.............}- -}..#.HH...#...- -......#'H#...}- -}...HH...#....- -}............}- -...HHH.H.....}- -..............- -..PPPPPPPPPP..- -..P!..^....D..- -..P..#.V..#P..- -^.P.T...?..P@.- -..PPPPPPPPPP..- -.....b........- -'.............- --------------.R [additional] 14 10.1.^.2.1.1 8.3.^.0.1.1 9.5.^.2.1.1 9.7.^.0.1.1 14.16.}.2.0.2.0.0.0 1.17.}.0.0.1.0.0.0 14.18.}.2.0.2.0.0.0 1.19.}.0.0.1.0.0.0 1.20.}.0.0.1.0.0.0 14.20.}.2.0.2.0.0.0 14.21.}.2.0.2.0.0.0 7.24.^.2.0.0 1.26.^.1.0.0 13.26.@.3 [end] [offset] 7A8C [level] 22 [colour] 8698ab [size] 16.31 [author] Robbo B [data] V*VVV..ppppppppp Vppppp.p%#.#.#Rp VpH'Tp@p#.#.~..p .pHHHp.p?~.~.#~p ^pHHHp.p#.#..#.p @pHHHp@p#~.##~.p .pHHHp.p.#~#..#p *pHHHp*p..#~#..p *pHHHp*p......#p VpHHHpVp?.p.p.?p .pHHHp.pppp.pppp @pHHHp.p}HHHHH}p .pH.&p^pppp.pppp .ppppp.pTHp.pHTp .......pp.....pp .p.pp.Vp.......p *p'%p.Vp&.&.&.&p *pHHp..ppDpppDpp .p..p@.....VV..@ @p..ppppppppppV. Vp.....~p.TbTp.. Vp...#..p..T'p.. Vp}.....pDpppp.. *p.....}....}p^. Vp}.........~p^. @p..#...#.#..p@. @p!....%....&p.. Vppppppppppppp.V V*..^^^^^..^...* V.^^VV...^^VVV.* ^.@.^^.@..^...@. [additional] 54 1.0.*.0 6.2.@.1 0.4.^.1.0.0 0.5.@.0 6.5.@.1 0.7.*.0 6.7.*.0 0.8.*.0 6.8.*.0 0.11.@.1 8.11.}.0.0.1.0.0.0 14.11.}.2.0.1.0.0.0 4.12.&.1.0 6.12.^.1.0.0 0.16.*.0 8.16.&.1.1 10.16.&.3.0 12.16.&.2.0 14.16.&.1.2 0.17.*.2 5.18.@.2 15.18.@.0 0.19.@.2 2.22.}.0.0.0.0.0.0 0.23.*.0 7.23.}.0.0.0.0.1.1 12.23.}.2.0.0.0.0.0 14.23.^.1.0.0 2.24.}.0.0.0.0.0.0 14.24.^.1.0.0 0.25.@.2 14.25.@.0 0.26.@.2 12.26.&.2.1 1.28.*.2 4.28.^.0.0.0 5.28.^.0.0.0 6.28.^.0.0.0 7.28.^.0.0.0 8.28.^.0.0.0 11.28.^.0.0.0 15.28.*.0 2.29.^.0.0.0 3.29.^.0.0.0 9.29.^.0.0.0 10.29.^.0.0.0 15.29.*.2 0.30.^.0.0.0 2.30.@.2 4.30.^.0.0.0 5.30.^.0.0.0 7.30.@.2 10.30.^.0.0.0 14.30.@.2 [end] [offset] 7C8C [level] 23 [colour] 9f826a [size] 16.31 [author] Robbo B [data] T.............&P ..PPPPPPPPPPPPP. .PPM.#...''..&PV .PR....#PPH#MP.. .PPM..H&P&HH%PP% ..PPPPPPPPPPPPP% P........@...@.P .PPPPPPPPPPPPPP. .P............P. .P.P&.?.?.PTP.P. .P.PPPPPPPPPP.P. .P.P...^...PP.P. .P.P.PPPPP.PP.P. .P.P.P.^.P.TP.P. .P.P.P.P.P.PP.P. .P.P.P.P.P.PP.P. .P.P.P.P.P.PP.P. .P.P.P^P.P.PP.P. .P.P.P.P...TP.P. .P.P.P.PPPPPP.P. .P.P.P.P....P.P. .P.P.P.D.#.!P.P. .P.P.P.PPPPPP.P. .P.P.P.Vb#.TP.P. .P.P.PPPPPPPP.P. .P.P..........P. .P.PPPPPPPPPP.P. .P.PPPPPPPPPP.P. .P............P. .PPPPPPPPPPPPPP. ................ [additional] 13 14.0.&.2.0 3.2.M.0 13.2.&.2.1 12.3.M.2 3.4.M.0 7.4.&.6.0 9.4.&.1.0 9.6.@.2 13.6.@.2 4.9.&.1.1 7.11.^.2.0.0 7.13.^.0.1.1 6.17.^.1.0.0 [end] gnurobbo-0.66+dfsg/data/levels/boss.dat0000644000175000017500000005545311352455441017122 0ustar stevesteve[name] RobboBoss [last_level] 30 [notes] This is Robbo Boss [offset] 508C [level] 1 [colour] 2050f0 [size] 16.31 [author] Dominik Zochowski [data] ssssssssssssssss sT#.#.#..s....Rs s.#..#.#.s.....s s..#%..s.......s s...T.#s...sT.!s s.#.#..s...sssss s}...#.s.......s ssssssss.......s s..............s s.T...........}s sssss.#.ssssssss s.b.H..........s s...H..........s s...H.......s.bs s...H.......s..s s..Ts..}s...s..s s%.sssssss..s..s s...sssss...s..s s..@sssss...sb.s sHHsssssss..s..s s...s..Ts.#.s..s s}.........ss..s s..........sT..s sssssssss..ss}.s s.D...b.....ssss s%s.D.......D..s sTs.s.......s..s sss.s.....}.s.?s s...s..ssssss..s s.T.s}.....'sT.s ssssssssssssssss [additional] 8 1.6.}.3.0.2.0.0.0 14.9.}.3.0.1.0.0.0 7.15.}.3.0.1.0.0.0 3.18.@.2 1.21.}.0.0.1.0.0.0 13.23.}.3.0.1.0.0.0 10.27.}.3.0.1.0.0.0 5.29.}.3.0.1.0.0.0 [end] [offset] 528C [level] 2 [colour] [size] 16.31 [author] Dominik Zochowski [data] QQQQQQQQQQQQQQQQ Qb......'....QTQ Qb......QQ..QQ.Q Qb.bbb..&Q}.Q..Q Qbb...b..Q....RQ QQQQQQQbQQQQQQQQ Q}.............Q Q.......b.?..b.Q QM.......bbbb..Q QTTTTTT....bb%.Q QQQQQQQQ..b.bbbQ Q...#.&Q..bb?b.Q Q.##...Q...bb..Q Q#...#.QQQQQQQQQ QM.....H.H.H.!.Q QQQQQQQQQQQQQQQQ ................ ................ ................ ................ ................ ................ ................ ................ ................ ................ ................ ................ ................ ................ ................ [additional] 6 8.3.&.1.0 10.3.}.0.0.0.0.0.0 1.6.}.0.0.1.0.0.0 1.8.M.0 6.11.&.1.1 1.14.M.0 [end] [offset] 548C [level] 3 [colour] 708000 [size] 16.31 [author] Dominik Zochowski [data] --R------.&----- --.------.------ --.------.---..& --.------.....-- --T...T.-----.-- -----.&------.-- -----.------T.-- -----.---....--- -----&---&--.--- ------------.--- ------------.--- -----------..-&- -&---------.--.- -.-----&....-T.- '.-----.-----.-- -------.-----.-- -------.-----..& -------.-------- -'.----.-------- -&.----.------!- ---.---.------.- -------.&-----&- ---HH.....HH---- ---H-------H---- ---.-.....-.---- ---.-.---.-.---- ---.-.-.-.-.---- ---.-.---.-.---- ---.-&...&-.---- ---H-------H---- ---T......HH---- [additional] 14 10.0.&.2.0 15.2.&.3.0 6.5.&.6.0 5.8.&.1.0 9.8.&.2.1 14.11.&.2.2 1.12.&.4.0 7.13.&.4.1 15.16.&.3.1 1.19.&.1.1 8.21.&.6.1 14.21.&.5.0 5.28.&.2.3 9.28.&.5.1 [end] [offset] 568C [level] 4 [colour] 505050 [size] 16.31 [author] Dominik Zochowski [data] PPPPPPPPPPPPPPPP P!............}P P.......P......P P......}P......P P.......P......P PDPPPPPPP......P P.......P......P P.......P..R...P PM.....MP......P P.......P......P P.......P......P P.......P......P P.......PPP....P P.......PTP....P PM..%..MPTPPP..P P.......P..TP..P P.......P...P..P P.....'.P.PPP..P P}......P......P P.......P......P P.......P......P P.......P...'..P P.......P......P P.......P......P P.......P...V..P P.....}.P......P P#######P......P P.......P..T..TP P.......P......P P}.............P PPPPPPPPPPPPPPPP [additional] 9 14.1.}.2.0.1.0.0.0 7.3.}.2.0.2.0.0.0 1.8.M.0 7.8.M.2 1.14.M.0 7.14.M.2 1.18.}.0.0.1.0.0.0 6.25.}.3.0.0.1.0.0 1.29.}.0.0.2.0.0.0 [end] [offset] 588C [level] 5 [colour] 902020 [size] 16.31 [author] Dominik Zochowski [data] oooooooooooooooo o}......T?.o..%o o........o.o.b.o o&.......o.o...o o}......T?.o...o oooooooooo.o...o o.To%%o....o...o o..o%%o....o...o o.TooDo}.R.o...o o..oHVo....o}..o o..oHHo...##...o o..oHHoT..#..#.o o.....oooooooo.o o.....@........o o}........~.?'.o oooooooooooooooo ---------------- ---------------- ---------------- ---------------- ---------------- ---------------- ---------------- oooooooooooooooo oM........To.D.o oM........}o.o.o o.T.#.....oo.oDo o.........o..o.o ooooo#oooDo..o.o o&........D..o!o oooooooooooooooo [additional] 11 1.1.}.0.0.0.0.0.0 1.3.&.1.0 1.4.}.0.0.0.0.0.0 7.8.}.0.0.0.0.0.0 12.9.}.3.0.1.0.0.0 6.13.@.0 1.14.}.3.0.1.0.0.0 1.24.M.0 1.25.M.0 10.25.}.2.0.2.0.0.0 1.29.&.1.1 [end] [offset] 5A8C [level] 6 [colour] 5020f0 [size] 16.31 [author] Dominik Zochowski [level_notes] [data] QQQQQQQQQQQQQQQQ Q&.}....&Q.....Q Q........Q.....Q Q........Q..b..Q Q........Q.....Q Q.....@..Q.....Q QT.......D.....Q QHQHQQQQQQQQQ..Q Q.Q........'Q..Q Q.QQQQQQQQQ.}}.Q Q........}Q.Q..Q Q}....QQQQQ.Q..Q Q.....Q.}...Q..Q Q}....Q...QQQ..Q Q.....Q...QTTTTQ Q}...%Q...QTTTTQ QQQQQQQ..}QQQQQQ }..............} QQQQQQQQHQQQQQQQ TTTTTTTTTTTTTTTT QQQQQQQQQQQQQQQH HTTTTTTTTTTTTTTH HQQQQQQQQQQQQQQQ HTTTTTTHHTTTTTTH QQQQQQQQQQQQQQQH HTTTTTTTTT'TTTTH HQQQQQQQQQQQQQQQ HTTTTTTHHTTTTTTH QQQQQQQQQQQQQQQH !'TTTTTTTTTTTTTR QQQQQQQQQQQQQQQQ [additional] 14 1.1.&.1.0 3.1.}.1.0.1.0.0.1 8.1.&.1.1 6.5.@.3 12.9.}.2.0.0.0.0.0 13.9.}.0.0.1.0.0.0 9.10.}.2.0.0.0.0.0 1.11.}.0.0.1.0.0.0 8.12.}.1.0.2.0.0.0 1.13.}.0.0.1.0.0.0 1.15.}.0.0.1.0.0.0 9.16.}.2.0.0.0.0.0 0.17.}.0.0.1.0.0.0 15.17.}.2.0.1.0.0.0 [end] [offset] 5C8C [level] 7 [colour] b0a050 [size] 16.31 [author] Dominik Zochowski [data] oooooooooooooooo oR.#..#.#.#.##.o o.#..#..#...#.#o o.#.#..#.#..#..o o..#..#..#...#.o oooooooooooooo.o o..............o o...b...b...o'oo o.....%.....oT}o oDoDo.#.oDoDoT}o o%oTo.#.oToToT}o o%oTo.#.oToTo%oo oooooo.ooooooooo o^...~....^..o}o ooo.oooooooooo.o oTo......~.....o oDooooooo%oooo.o o...........}o.o o.oooooooooooooo o#.D.DTTo%D....o o..o.oooo.o.oo.o ooDo.D%D.D..}o.o o%.o.obooooooo.o oDoo..TD.D..o..o o..oDooooooDob.o o.bo..o..%oDo..o o..ob.o.!.oDob.o o.bo..o...o...bo o..D.ooo.ooDoooo o..o.oT.....%TTo oooooooooooooooo [additional] 8 14.8.}.2.0.0.0.0.0 14.9.}.2.0.0.0.0.0 14.10.}.2.0.0.0.0.0 1.13.^.0.1.1 10.13.^.2.0.0 14.13.}.1.0.2.0.0.0 12.17.}.2.0.0.0.0.0 12.21.}.2.0.2.0.0.0 [end] [offset] 5E8C [level] 8 [colour] 9090f0 [size] 16.31 [author] Dominik Zochowski [data] QQQQQQQQQQQQQQQQ QR.#.#Q#TQ..#!.Q Q.##.#Q..Q.#.#.Q Q#....Q.#Q#.#.#Q Q..#Q#.#.##Q...Q QQQQQ..QQ..QQQQQ Q..............Q Q..............Q QQQQHH.......HHQ QT.##H.......H'Q QT.#bH}......HDQ QQQQHH.........Q Q..............Q Q..............Q Q...}..........Q Q..............Q Q..............Q Q.QTQ.Q@Q.Q@Q.QQ Q..............Q Q..............Q Q..............Q Q..............Q Q........b.....M QHHH...........Q QH%H...........Q QHHH...........M Q..............Q Q..QQQQQQQQQ..?Q Q.'.....^......M Q............}.Q QQQQQQQQQQQQQQQQ [additional] 9 6.10.}.2.0.2.0.0.0 4.14.}.0.0.0.0.1.1 7.17.@.1 11.17.@.1 15.22.M.2 15.25.M.2 8.28.^.1.0.0 15.28.M.2 13.29.}.3.0.1.0.0.0 [end] [offset] 608C [level] 9 [colour] [size] 16.31 [author] Dominik Zochowski [data] oooooooooooooooo o&......!.....&o oT......&.....To oT......&.....To o&......R.....&o oooooooooooooooo ---------------- ---------------- ooooooo--ooooooo o?.?.?o--o&...'o o..T..o--o...#.o o.....o--oM....o o.....o--o.....o oD...&o--oT...To ooooooo--ooooooo ---------------- oooooooooooo-ooo o..H%H..T..o-o&o o..HHH.....o-o.o o^.........o-o.o o.T........o-o.o o.........&o-oTo oooooooooooo-ooo ---------------- ooooooo--ooooooo o..@.'o--oT.}.To oV....oooo}....o o..@.Vb#bo.....o o*....oooo....}o o&.V*.o--oT.&.To ooooooo--ooooooo [additional] 21 1.1.&.1.0 14.1.&.2.0 8.2.&.5.0 8.3.&.6.0 1.4.&.3.0 14.4.&.4.0 10.9.&.1.1 10.11.M.0 5.13.&.2.1 14.17.&.4.1 1.19.^.0.1.1 10.21.&.3.1 3.25.@.0 12.25.}.1.0.2.0.0.0 10.26.}.0.0.0.0.0.0 3.27.@.3 1.28.*.0 14.28.}.2.0.0.0.0.0 1.29.&.6.1 4.29.*.0 12.29.&.5.1 [end] [offset] 628C [level] 10 [colour] [size] 16.31 [author] Dominik Zochowski [data] ssssssssssssssss sR##......T#..#s s....#..#..#.#.s s.##..#..#..T.#s s....b..##.##..s s#.#.#.#....#.#s s#..##T..##b...s s.#..#.##...#.#s sT.#.bb.T#..#..s s.#..#.###.#.#Ts s.#...#....#..#s s..#.#.#.#..#..s s.#T#.#T#..#..#s s#..#..#T.#..#.s s.##.b#..##....s s...##..#...T#'s s.#....#...#.##s s..#.T#..##....s sT#..##..#.#T.#s s...#.b#.#..#..s s.#....##.....&s s..###.T...#..#s ssssssssssssssss ---------------- ---------------- ssssssssssssssss s&...H.........s s....H.@......?s s....H.........s s....H.......!.s ssssssssssssssss [additional] 3 14.20.&.1.0 1.26.&.1.1 7.27.@.3 [end] [offset] 648C [level] 11 [colour] 007000 [size] 16.31 [author] Dominik Zochowski [data] --------ssssssss --------sT..sT&s --------sssDs'ss --------s......s --------s...ss.s --------sss.s..s --------s^s.s..s --------s....^Ts --------s.ssssss --------s..s...s --------s.Ts.sTs --------s.ss.sss -ssssss-s.s...'s -s&T.Ts-s.....ss -s.?.Ms-s..ss..s -s....s-ssss...s -s%..?s-s......} -ssssss-sss..sss --------sTs..sTs --------s......s --------s..ss..s --------s.b...ss --------ss....ss --------sss.s.Ms --------ss.....s --------s.bs...s --------s..s.s.s --------s..T.sRs --------s..s#sss --------sT..#H!s --------ssssssss [additional] 7 14.1.&.1.0 9.6.^.1.0.0 13.7.^.2.1.1 2.13.&.1.1 5.14.M.2 15.16.}.2.0.1.0.0.0 14.23.M.2 [end] [offset] 668C [level] 12 [colour] 707070 [size] 16.31 [author] Dominik Zochowski [data] oooooooooooooooo o..D.b^.^.bboR.o o..obb.^.^.To.#o o}.oooooooo.o#.M o..o...'....o..o o}.o...%...}o..o o..o#oooooo.o..o o}.o....#..#o..o o.&o#.#TTT..#T.o oooooooooooooooo ---------------- ----..-..-..---- ----..-..-..---- ----..-..-..---- ----..-..-..---- ---...-..-...--- --...--..--...-- -...---..---...- ---------------- ---------------- ---------------- oooooooooooooooo o..@....oToM..!o o.......oTo....o o.......oDo...Mo o.o##o...b.....o o.o..o.........o o?o.#o.....}oooo ooo#.oooooooo.&o o.*......*..~..o oooooooooooooooo [additional] 17 6.1.^.1.0.0 8.1.^.1.0.0 7.2.^.1.0.0 9.2.^.1.0.0 1.3.}.0.0.0.0.0.0 15.3.M.2 1.5.}.0.0.0.0.0.0 11.5.}.2.0.2.0.0.0 1.7.}.0.0.0.0.0.0 2.8.&.1.0 3.22.@.0 11.22.M.0 14.24.M.2 11.27.}.2.0.1.0.0.0 14.28.&.1.1 2.29.*.0 9.29.*.0 [end] [offset] 688C [level] 13 [colour] [size] 16.31 [author] Dominik Zochowski [data] PPP}P}P}P}P}P}PP P.T.T.T.T.T.T..P P..............P P..............P P..............P P.T.^.^.^.^.^.^P P..............P P..............P P..............P P........T.....P P.P.P.P.P.P.P.PP P..............P P.............?P P..............P P.P.P.P.P.P.P.PP P.........T....P P.......}......P P....T....T....P P.P.P.P.P.P.P.PP P..............P P.......}......P P..............P P.P.P.P.P.P.P.PP P.T.T..........P P.......}......P P.........T.T..P P.P.P.P.P.P.P.PP P.............'P P..............P P.}.}.}.}.}.}R!P PPPPPPPPPPPPPPPP [additional] 21 3.0.}.1.0.1.0.0.0 5.0.}.1.0.1.0.0.0 7.0.}.1.0.1.0.0.0 9.0.}.1.0.1.0.0.0 11.0.}.1.0.1.0.0.0 13.0.}.1.0.1.0.0.0 4.5.^.1.0.0 6.5.^.1.0.0 8.5.^.1.0.0 10.5.^.1.0.0 12.5.^.1.0.0 14.5.^.1.0.0 8.16.}.0.0.0.0.1.1 8.20.}.0.0.0.0.1.1 8.24.}.0.0.0.0.1.1 2.29.}.3.0.2.0.0.0 4.29.}.3.0.2.0.0.0 6.29.}.3.0.2.0.0.0 8.29.}.3.0.2.0.0.0 10.29.}.3.0.2.0.0.0 12.29.}.3.0.2.0.0.0 [end] [offset] 6A8C [level] 14 [colour] [size] 16.31 [author] Dominik Zochowski [data] OOOOOOOOOOOOOOOO OR.............O O.....b........O ODODO.........%O OTO%O.OOOOOOOOOO OTO%O.D......TTO ODODODOOOOOOOOOO O.O............O OOOOOOOOOOOOOODO O.....T?.?.....O O......?..?....O O.OOOOOOOOOOOOOO }..............O O..........O%%%O O....}.....OOOOO O..............O OOOO...OOOOOOOOO O.TO...OT......O O'OO...OOO.....O O.......}O.....O O.O......O.OOO.O O.O...O....O...O OTO...O.?..O.@.O OOO...O........O O.....OOOOOOO..O OM.............O O.............}O OOOOO.TOO.OOOOOO O.........Hb#bbO O}....T...Hb#b!O OOOOOOOOOOOOOOOO [additional] 7 0.12.}.0.0.2.0.0.0 5.14.}.0.0.0.0.1.1 8.19.}.2.0.0.0.0.0 13.22.@.3 1.25.M.0 14.26.}.2.0.1.0.0.0 1.29.}.0.0.0.0.0.0 [end] [offset] 6C8C [level] 15 [colour] 303080 [size] 16.31 [author] Dominik Zochowski [data] pppppppppppppppp pR.H.......@...p p..HH...HHHH...p p....TH........p pHHHH.HTH..H.HHp p.....HHH...TH.p p.H.........HH.p pHH#...#....#.'p p...#.#......#.p pppH.b...#b...#p p..HHHHb...#b..p pT.HHHHT..#...#p pppHHHHHHHHHHHHp pTp....ppppppppp pTpb..........}p p.ppp#.........p p........pp....p p........pM...Mp p..p.....pp...Tp p..p......p....p p..p......p...'p p..p......pppppp p..p...........p p..p...}.......p p..p...........p p..p.........#.p p..p........###p p..D.......##%#p p..p........###p p}Tp.........#!p pppppppppppppppp [additional] 6 11.1.@.2 14.14.}.2.0.2.0.0.0 10.17.M.0 14.17.M.2 7.23.}.0.0.0.0.1.1 1.29.}.3.0.2.0.0.0 [end] [offset] 6E8C [level] 16 [colour] [size] 16.31 [author] Dominik Zochowski [data] ---------------- ---------------- -pppppppppppppp- -pR.....&.H...p- -p........H..%p- -p........H...p- -p!.~.....H.*.p- -pppppppppppppp- ---------------- ---------------- QQQQQQQQQQQQQQQQ Q&............TQ QQQQQQQQQQQQQQQQ ---------------- ---------------- ---------------- ---------------- -pppppppppppppp- -pT?T?T?T?T?T?p- -p............p- -pM......'....p- -p}...........p- -p&..........&p- -pppppppppppppp- ---------------- ---------------- ---------------- pppppppppppppppp p.&p.&p.&p.Tp.&p p&.p&.p&.p&.p&.p pppppppppppppppp [additional] 16 8.3.&.1.0 12.6.*.0 1.11.&.6.0 2.20.M.0 2.21.}.0.0.0.0.0.0 2.22.&.2.0 13.22.&.1.1 2.28.&.2.1 5.28.&.6.1 8.28.&.4.0 14.28.&.5.0 1.29.&.3.0 4.29.&.4.1 7.29.&.2.2 10.29.&.5.1 13.29.&.3.1 [end] [offset] 708C [level] 17 [colour] [size] 16.31 [author] Dominik Zochowski [data] ---------------- ---------------- --ssssssssssss-- --s..##R.#..^s-- --s..#.##.#^.s-- --s.....##...s-- --s..#.#.....s-- --s..........s-- --s.......M..s-- --s......'%..s-- --s..ssssss..s-- --s..s...s...s-- --s..s.@.s...s-- --s..sTs.s@..s-- --s*.sss.s...s-- --s..........s-- --s..........s-- --s}........}s-- --s...ssss~..s-- --s....ss....s-- --s..~ssss...s-- --s..........s-- --sHHHHHHHHHHs-- --s........sss-- --s.^......D!s-- --s.......Tsss-- --s.^.....T.}s-- --s^.T..TTT..s-- --ssssssssssss-- ---------------- ---------------- [additional] 12 12.3.^.1.0.0 11.4.^.1.0.0 10.8.M.2 7.12.@.2 10.13.@.3 3.14.*.1 3.17.}.0.0.1.0.0.0 12.17.}.2.0.1.0.0.0 4.24.^.0.1.1 4.26.^.1.0.0 12.26.}.2.0.2.0.0.0 3.27.^.1.0.0 [end] [offset] 728C [level] 18 [colour] 995500 [size] 16.31 [author] Dominik Zochowski [data] OOOOOOOOOOOOOOOO Ob.b.........T.O O%b..QQQQ...T&TO Ob.b.Q..QR...T.O O.b..QQQQQ.....O Ob.b.Q...Q.....O O.b..QQQQQ.....O Ob.b...}.......O O.b..QQQQQ.....O Ob.b.Q...QT...MO O.b..Q...Q.....O Ob.b.Q...Q.....O O.b..QQQQQ.....O }..............O O....QQQQQ.....O O....Q!..D.....O O....QQQQQ.....O O........Q.....O O....QQQQQ.....O }..............O O....QQQQQ.....O O....Q....T....O O...TQQQQQT....O O...T...'QT....O O&...QQQQQ.....O O..............O O^............^O O..............O O..............O O...........TTTO OOOOOOOOOOOOOOOO [additional] 8 13.2.&.1.0 7.7.}.3.0.0.1.0.0 14.9.M.2 0.13.}.0.0.2.0.0.0 0.19.}.0.0.1.0.0.0 1.24.&.1.1 1.26.^.0.1.1 14.26.^.0.1.1 [end] [offset] 748C [level] 19 [colour] [size] 16.31 [author] Dominik Zochowski [data] pppppppppppppppp pT.}..p..}...}.p p.....p....R...p p........#..#..p p.....p........p p....MppM.Tpp.pp p.....pT..pp...p pM..T.p.#.pM...p p..#..p#..pM...p pM###Mp.#.pp...p pbb...p...Mp...p pb....p...pp...p pbb...p'..p...Mp pppbppppp.p....p pp..b..Tp.p.p.pp p....b#.p.p.p.pp p..#..b.p.p.p.pp pp..#.bbp.p.p.pp pT..b.b.p.p.p.pp ppbbb..%p.T.p.pp pppppDppppppp.pp p...........p.pp p.pp..?..pp.p.pp p.ppp...ppp.p.pp p..pppDppp..p.pp p?.TpT!Tp%.?p.pp p..pppDppp..p.pp p.ppp...ppp.p.pp p.pp.....pp.p.pp p...........p.pp pppppppppppppppp [additional] 12 3.1.}.1.0.1.0.0.0 9.1.}.1.0.1.0.0.0 13.1.}.1.0.1.0.0.0 5.5.M.2 8.5.M.0 1.7.M.0 11.7.M.0 11.8.M.0 1.9.M.0 5.9.M.2 10.10.M.2 14.12.M.2 [end] [offset] 768C [level] 20 [colour] [size] 16.31 [author] Dominik Zochowski [data] ---PPPPPPPPPPPPP -.-PT.DTP..P..TP -..D..PPP..P.PPP -.-P.......PT..P -.-P.......PPP#P -.-PTP...P...bRP -.-P.P.?.......P -.-P.PPP.......P -.-P...........P -.-}.........~.P -.-P...........P -.-P......PPP.PP -.-P......PT..TP -.-P......P....P -.-P......P....M -.-P......P....P -.-P......PT.bTP -.-P......PPP.PP -.-P...........P -.-P#..........} -.-P.........b.P -.-P.........b.P -.-P}........bTP -.-PPPPPPPPPPPPP -.-------------- -.---}-.....b.#~ -.......'.....M! -----.-.~.....b. ---------------- ---------------- ---------------- [additional] 6 3.9.}.0.0.0.0.0.0 15.14.M.2 15.19.}.2.0.1.0.0.0 4.22.}.3.0.2.0.0.0 5.25.}.1.0.2.0.0.0 14.26.M.2 [end] [offset] 788C [level] 21 [colour] [size] 16.31 [author] Dominik Zochowski [data] OOOOOOOOOOOOOOOO OOTOTOTO....#.RO O............#.O O.......&&&.b.#O O.......&T&....O O.......&&&....O O..............O O..............O O...OOOOOOOOOOOO O...D......~...O O...OOOOOOOOO..O O..........!O..O O.....#.....O@.O O...OOO.....O.TO O...OTO}....OOOO O...O.OO.OO...TO O.}.O..O.O..OOOO O..TO.%.......MO OOOOOOOOOOOOOOOO ................ ................ ................ ................ ................ ................ ................ ................ ................ ................ ................ ................ [additional] 12 8.3.&.1.0 9.3.&.1.1 10.3.&.1.2 8.4.&.1.3 10.4.&.1.4 8.5.&.1.5 9.5.&.1.6 10.5.&.1.7 13.12.@.3 7.14.}.3.0.1.0.0.0 2.16.}.3.0.0.1.0.0 14.17.M.2 [end] [offset] 7A8C [level] 22 [colour] [size] 16.31 [author] Dominik Zochowski [data] OOOOOOOOOOOOOOOO O&...T........&O OM............'O OOOOOOOOOOOOOOOO ................ OOOOOOOOOOOOOOOO O&..........H&TO O...........H.%O OOOOOOOOOOOOOOOO ---------------- OOOOOOOOOOOOOOOO OTTTO?O.......&O OTTTD.Db.....T}O OOOOOOOOOOOOOOOO ---------------- OOOOOOOOOOOOOOOO O&T...T...T..T.O O!......&......O OOOOOOOOOOOOOOOO ---------------- OOOOOOOOOOOOOOOO O.......#....*.O O&.........@..&O OOOOOOOOOOOOOOOO ---------------- OOOOOOOOOOOOOOOO O&..........'..O O}............RO OOOOOOOOOOOOOOOO ---------------- ---------------- [additional] 15 1.1.&.3.0 14.1.&.2.0 1.2.M.0 1.6.&.4.0 13.6.&.5.0 14.11.&.5.1 14.12.}.2.0.0.0.0.0 1.16.&.4.1 8.17.&.3.1 13.21.*.2 1.22.&.1.0 11.22.@.2 14.22.&.2.1 1.26.&.1.1 1.27.}.0.0.2.0.0.0 [end] [offset] 7C8C [level] 23 [colour] [size] 16.31 [author] Dominik Zochowski [data] oooooooooooooooo o&..TT..&o?o&T#o oooooooooo.o.#.o o........o.o...o o&...@..&o.o...o ooooooooDoDooDoo oT.o%..'.b.....o o..o%..o....o..o o..oooDoooooo..o o.......o......o o}......o......o oooooo.oo......o oR...........b.o o............ooo o.......#....o}o o............o.o o............o.o oDoo.#....#..o.o o..o...#.#.....o o..o.....#.....o o..o...........o o..o..#........o oTTo.......#...o oooo...........o o..............o oM...........?.o oT.............o ooooooo.#ooooooo oT....o#.o.....o oTT...........!o oooooooooooooooo [additional] 9 1.1.&.1.0 8.1.&.1.1 12.1.&.2.0 1.4.&.2.1 5.4.@.2 8.4.&.1.2 1.10.}.0.0.2.0.0.0 14.14.}.1.0.0.0.0.0 1.25.M.0 [end] [offset] 7E8C [level] 24 [colour] [size] 16.31 [author] Dominik Zochowski [data] -----pppppp----- -----p&..!p----- -----p....p----- -----p....p----- pppppp....pppppp p}.%..b##b....Tp p.....#bb#....?p p.....#bb#....Mp p}.T..b##b.}..'p pppppp....pppppp -----p....p----- -----p....p----- -----p....p----- -----p..@.p----- -----p....p----- -----p....p----- -----p....p----- -----ppDDpp----- -----pTTTTp----- -----pppppp----- ---------------- ---------------- ---------------- ---------------- ---------------- ---------------- ---------------- ------------pppp ------------p&Tp ------------p'Rp ------------pppp [additional] 7 6.1.&.1.0 1.5.}.0.0.1.0.0.0 14.7.M.2 1.8.}.0.0.1.0.0.0 11.8.}.3.0.1.0.0.0 8.13.@.3 13.28.&.1.1 [end] [offset] 808C [level] 25 [colour] [size] 16.31 [author] Dominik Zochowski [data] PPPPPPPPPPPPPPPP P&............MP P.PPPP.PPPP....P P.PR...P..P....P P.PPP..P..P....P P.P'...P..P..@.P P.P....PPPP....P P......'......MP P.PPPP.PPPP....P P.PHTP.P..P....P P.P.HP.PPPP....P P.P&.P.P%P.....P P.PPPP@P..P....P P.............}P P.PP.PP.PPPP...P P.PTPTP.P..P...P P.P...P.P..P...P P.P...P.PPPP...P P.P.@.P.P..P...P P..............P P.PPP.P........P P.PTP.P....@...P P.P.P.P..#.#.?#P P.P.PTP#.......P P.P.PPP.#.#.##.P P}............&P PPPPPPPPPPPPPPPP PTPTP.........&P P..!D.....*....P P&PTP.........&P PPPPPPPPPPPPPPPP [additional] 15 1.1.&.1.0 14.1.M.2 13.5.@.3 14.7.M.2 3.11.&.2.0 6.12.@.1 14.13.}.2.0.1.0.0.0 4.18.@.3 11.21.@.2 1.25.}.3.0.1.0.0.0 14.25.&.2.1 14.27.&.4.0 10.28.*.1 1.29.&.4.1 14.29.&.1.1 [end] [offset] 828C [level] 26 [colour] [size] 16.31 [author] Dominik Zochowski [data] ssssssssssssssss sM.....T%...###s sM..........#R#s s...........###s s............b.s s}.............s s..............s sssssss!.......s s&T.T.D......}.s ssssssssssssssss ---------------- ---------------- ---------------- ---------------- ssssssssssssssss sT.............s sT.....@.......s sT...........'&s ssssssssssssssss ---------------- ---------------- ---------------- ---------------- ---------------- ---------------- ---------------- ---------------- ---------------- ---------------- ---------------- ---------------- [additional] 7 1.1.M.0 1.2.M.0 1.5.}.0.0.0.0.0.0 1.8.&.1.0 13.8.}.3.0.1.0.0.0 7.16.@.3 14.17.&.1.1 [end] [offset] 848C [level] 27 [colour] [size] 16.31 [author] Dominik Zochowski [data] oooooooooooooooo oRo%...........} oTo.o......b...o oTo.o..........o oTo.o}ooo..ooo}o oTo.o..........o oTo.o...b......o oTo.o..........o oTo.o..........o oTo.o..........o oTo#oDooooooooDo o'obo.o........o oTo.o.o....~...o oTo.o.o........o oTo.o.o........o oTo.o.ooo...@..o oTo.o..'o......o oTo.o..To......o oTo.o..oo......o oTo.o..o}......o oTo.o..oo......o oTo.o..Too.....o oTo.o...To.....o oTo.oooooo#.#.#o oTo.o.D...##.#.o oTo.o.o....##.#o oTo.o.o....#.#.o oTH.o.o........o oTH.o.o........o o*H.o!o...?...Mo oooooooooooooooo [additional] 7 15.1.}.2.0.1.0.0.0 5.4.}.1.0.2.0.0.0 14.4.}.1.0.2.0.0.0 12.15.@.3 8.19.}.0.0.1.0.0.0 1.29.*.0 14.29.M.2 [end] [offset] 868C [level] 28 [colour] [size] 16.31 [author] Dominik Zochowski [data] pppppppppppppppp p.............Tp pR.....#.....T.p pppp.ppp.ppp.ppp p..............p p#............#p p.#..........#.p p..............p p...}...^...}..p pppppppp.ppppppp p..............p p.ppppp.pppppp.p p.p..........p.p p.p..........p.p p.pTT...@....p.p p.pM......'..p.p p.pTT........p'p p.pppppppppppp.p p..............p p..........^...p p..............p ppp........ppppp pTp..p.....p%@.p pTp..ppppp.p...p p.p..........p.p p.p............p p.p.p..pppppp..p p.p.p}.p!...p..p pDp.pp.p.......p p.............}p pppppppppppppppp [additional] 9 4.8.}.3.0.2.0.0.0 8.8.^.1.0.0 12.8.}.3.0.2.0.0.0 8.14.@.3 3.15.M.0 11.19.^.0.1.1 13.22.@.0 5.27.}.3.0.0.1.0.0 14.29.}.2.0.1.0.0.0 [end] [offset] 888C [level] 29 [colour] [size] 16.31 [author] Dominik Zochowski [data] ---------------- ---------------- ---------------- ---------------- ---------------- ---------------- ---------------- ---------------- ---------------- oooooooooooooooo oR.............o o.............Mo oT.............o o'............Mo oT.......b..}..o ooooooo..ooooooo ------o.bo------ ooooo-o..o-ooooo o...o-o.#o-o...o ooooo-o..o-ooooo ------o..o------ ooooooo..ooooooo o!bo.........o%o ob.o......#..oHo o..o.#...#....To o..o.....#.#...o o##o...........o o##o#.....#....o o..D.........?.o o..o...}.......o oooooooooooooooo [additional] 4 14.11.M.2 14.13.M.2 12.14.}.3.0.1.0.0.0 7.29.}.3.0.1.0.0.0 [end] [offset] 8A8C [level] 30 [colour] [size] 16.31 [author] Dominik Zochowski [data] PPPPPPPPPPPPPPPP PR.b..........}P PPPP}PPP%PPP}PDP P.&PPP&PPP&PPP.P P..............P P..............P P..............P P.............}P P&........T.T.TP PPPPPPPPPPPPPPPP P!.P.P%PM.....&P P..D.D%D......&P PPPPPPPPPPPPPPPP ---------------- ---------------- PPPPPPPPPPPPPPPP P..........b#T#P P..........b##TP P..~...@.......P P..............P PM...........'&P PPPPPPPPPPPPPPPP ---------------- ---------------- ---------------- PPPPPPPPPPPPPPPP PT....}.....HTTP P..........HH.?P P.........bHH.?P P&..........HTTP PPPPPPPPPPPPPPPP [additional] 16 14.1.}.2.0.1.0.0.0 4.2.}.3.0.2.0.0.0 12.2.}.3.0.2.0.0.0 2.3.&.3.0 6.3.&.2.0 10.3.&.1.0 14.7.}.2.0.1.0.0.0 1.8.&.4.0 8.10.M.0 14.10.&.2.1 14.11.&.1.1 7.18.@.3 1.20.M.0 14.20.&.3.1 6.26.}.1.0.1.0.0.0 1.29.&.4.1 [end] [end] gnurobbo-0.66+dfsg/data/levels/forever.dat0000644000175000017500000013353011324353351017611 0ustar stevesteve This is robbo forever levelset. it seems as a fairly dificult levelset. [name] Forever [last_level] 59 [offset] 509A [level] 1 [colour] 006caf [size] 16.31 [author] MWK [level_notes] Level edited with GNU Robbo Designer [data] qqqqqqqqqq-qqqqq q#######.q-q..Tq q#R.#.T#.qqq.b#q q#..#..#....#..q q###.###.qqq.qqq q#..#..#.q-q.q-- q#T.#.T#.qqq.qqq q#######.......q qqqqqqqq.qqq.q.q qT.......~.q.T.q q..............q q.......qqqqqqqq qM......q------- qq.....qq------- -qq...qq--qqqqqq --qHHHq---q!.#.q --qH%Hq---q..#.q --qHHHq---q##.&q -qq...qq--qqqqqq qq.....qq------- q......Mq------- q.......qqqqqqqq qT......##.....q qqqqqqqqqq##.#.q ---------q.#T#.q qqqqqq---q####.q qT..}q---q..%##q q....q---q#....q q....D...D.###.q qM..&q---q.#.Tqq qqqqqq---qqqqqq- [additional] 6 1.12.M.0 14.17.&.1.0 7.20.M.2 4.26.}.2.0.1.0.0.0 1.29.M.0 4.29.&.1.1 [end] [offset] 509A [level] 2 [colour] 0040ff [size] 16.31 [author] MWK [level_notes] Level edited with GNU Robbo Designer [data] qqqqqqqqqqqqqqqq qR~.Hq.....q...q q~#.#q.#...q.!.q q.T#.~...'.D...q qH#..q.....qqqqq qq}qqq....qq%..q qT.........H.... q..b..q.qqqqqqDq q....qq.qqqqqq.q qqDqqq......}q#q q...qqqHq.qqqq.q qM..qq..#......q q...qq.H.qqq.q.q q..Mqq..#....##q q...qq.Hq.q#.q.q qM..qq#Tq.qq.T.q q...&q.qq....q#q qqqqqqT........q qT#..qqqqM...Mqq q...~..}---H---q q..#...q-..H..-q q#..#b.q-.HbH.-q q.#...#q-..H.T-q qq.qqqqqqqqqqqqq q.....qT.qT..~.q q.....q..q.q.q.q q.#M.....q.~.~.q q.....q......q.q qqqHqqq..q.~~..q q%...Tq&...q.q.q qqqqqqqqqqqqqqqq [additional] 11 2.5.}.1.0.1.0.0.0 12.9.}.2.0.1.0.0.0 1.11.M.0 3.13.M.2 1.15.M.0 4.16.&.1.0 9.18.M.0 13.18.M.2 7.19.}.2.0.1.0.0.0 3.26.M.0 7.29.&.1.1 [end] [offset] 509A [level] 3 [colour] a98058 [size] 16.31 [author] MWK [level_notes] Level edited with GNU Robbo Designer [data] pppppppppppp-H.. p..........p--H. p.!......#.p---H p.....R....ppppp p...~...b.....@p p..........T...p M..............p p..............p pppHpppppppHOppp p......}p......p pT..ppppp...pp.p pp..p...p..#.p.p p...pbT.}....p.p p...D..%p....p.p p..Hppppp.b....p p.......p......} p......^p......p p....b..pppppDpp p......#...p%..p p.........}p..Tp M.....pppppppDpp p.#.#Tp........p p###.#p.p.p*H..p pT.##Tp.Tp.pT..p p.##.#p........p p##...p........p pppp.pppp.HT..}p p..b..~.p#pppppp M......Tp##...Tp ppp..ppppppppppp --pppp---------- [additional] 11 14.4.@.2 0.6.M.0 7.9.}.2.0.1.0.0.0 8.12.}.0.0.0.0.1.1 15.15.}.2.0.1.0.0.0 7.16.^.2.0.0 10.19.}.2.0.1.0.0.0 0.20.M.0 11.22.*.2 14.26.}.2.0.1.0.0.0 0.28.M.0 [end] [offset] 509A [level] 4 [colour] 719d8d [size] 16.31 [author] MWK [data] oooooooo!ooooooo o^...%o###o.#R%o o.....o...o.#~#o o.b...D...H#.T.o oM...ToT..o.##.o oo#ooooo.ooooooo oHHHo....o.#.#To o...o....D.....o o...D....o%...Mo oM.ToT...oT...Mo ooooooo.oooooooo oT...}o...o}..%o o.....#...#....o o%...}oT..oT...o ooDooooooooooDoo o..o.#.#.#.o...o o..o....#.To...o o..o#.#.#.oo...o o..o.#.#.#o}...o o..o#.##.#oo...o o..o.T.#..To...o o..o..oHoooo...o o..o#~ob#%#b...o o..o..ob###b...o o..o.&obbbbb...o o..ooooooooooDoo oTTo..o....o...o o....~oTb..o.#.o o..oT^..#}.}.#.o o}.o&.o....o...o oooooooooooooooo [additional] 15 1.1.^.0.0.0 1.4.M.0 14.8.M.2 1.9.M.0 14.9.M.2 5.11.}.2.0.1.0.0.0 11.11.}.0.0.1.0.0.0 5.13.}.2.0.1.0.0.0 11.18.}.0.0.1.0.0.0 5.24.&.1.0 5.28.^.1.0.0 9.28.}.3.0.0.1.0.0 11.28.}.0.0.0.0.1.1 1.29.}.3.0.1.0.0.0 4.29.&.1.1 [end] [offset] 509A [level] 5 [colour] b2b05f [size] 16.31 [author] MWK [data] ooooooooooooooo- o........ooT.'oo oT#.b..~.oM...Mo o..#o.ooDoo...oo o...o.D.......%o ooDoooooooo.Tooo o......#b.oooo.o o.....o.o......o o.....o.M.....Mo o.....oTo...bb.o o.....D.o......o o.....ooo......o ooo.ooo........o o.###.o##..#...o o.#..#oT#..#.R.o o#.##.o##..~...o ob#..#o........o o..##.oooo....Mo o.b.ooo--o....Mo oT.oo----o....Mo oooo--.@-oo.oooo ------H----.---- -.bHHHHHH.....-- -D----.---..H.-- -.-....---.H-.-- -.b...%---~-..-- -.-.T-----...-}- -.-.------#---.- -.-.----.......- -.-.----.-.---.- -.....#........! [additional] 9 10.2.M.0 14.2.M.2 8.8.M.2 14.8.M.2 14.17.M.2 14.18.M.2 14.19.M.2 7.20.@.2 14.26.}.1.0.1.0.0.0 [end] [offset] 509A [level] 6 [colour] 77a4ac [size] 16.31 [author] MWK [data] pppppppppppppppp pTT#..p!.D....Tp p###..pppp.~.~.p pbb#.bH..p..b..p pb#.b.p..p.#.#.p pb#.bppHppp....p pbbbbpb...H...Rp ppHpppb..ppppppp ppHpppp..p}...Tp p..............p ppHpppppppppp.pp p..~...Tp..H..#p p#.....pT.#H.#.p p......MpHHH#.#p p...p..p..#....p p......Mp.H..#.p ppHppppp.#-#.#.p p....p.##.#.##.p p..#.pT#.##..T#p p...#p..#.#T.#Tp pT.#%p#...##-HHp ppppppT#..#..#.p p..#.T-.##..#..p p.#..#...##.#..p p..-#..#...#.#Tp p.T#.#...ppppppp pH-#..#.#p...HTp p..##.H...#.#.#p p.#..#-..p.~.H}p p#...#..Tp..#..p pppppppppppppppp [additional] 4 10.8.}.0.0.1.0.0.0 7.13.M.2 7.15.M.2 14.28.}.3.0.0.1.0.0 [end] [offset] 509A [level] 7 [colour] 819663 [size] 16.31 [author] MWK [data] OOOOOOOOOOOOOOOO OR..#...#..%...O O..##.#.b.OO.~.O O..#...#T.#....O OOOOO#DOOOOOOOOO O.......M^.....O O.......O.%~##.O M.......O......O OOHOO}OOO......} O..............O O..............O O.b............O OOOOOOOO.TOOHOOO O....OTOOOO.#..O }..............O OO.OOOOOOOOOOOOO O..............O O...HHHHHHHHHH.O O.HHH..*H*.HH..O O.H...HHHH.....O O.............TO OOOOOOODOOOOOOOO O..............O O.'.......^.%..M O..............O OT.............O OOOOODOOOOOOOOOO }.....##...HHHHO }...T.##..TOOOVO OOOOOOOOOOOO-O!O -------------OOO [additional] 12 8.5.M.2 9.5.^.0.1.1 0.7.M.0 5.8.}.3.0.1.0.0.0 15.8.}.2.0.1.0.0.0 0.14.}.0.0.1.0.0.0 7.18.*.2 9.18.*.2 10.23.^.1.0.0 15.23.M.2 0.27.}.0.0.1.0.0.0 0.28.}.0.0.1.0.0.0 [end] [offset] 509A [level] 8 [colour] 9551b9 [size] 16.31 [author] MWK [data] QQQQQQQQQQQQQQQQ Q..............Q Q......!....~R.Q Q...~..........Q Q.^.^.....QQQQQQ Q.........Q%VV%Q Q....b....QVVVVQ Q.........QVVVVQ Q.........Q....Q Q.........Q....Q Q.........b....Q Q.........Q....Q Q.....#...Q....Q Q.........Q....Q Q.........QQQQQQ Q..............Q Q.........Q}...Q QQHQQQ....QQQQ.Q -Q.............Q -Q*Q.QQQQQQQQQQQ -Q.Q.QVTQ'QTQVTQ -Q...QVQ....QVVQ QQDQQQVQ.Q..QVQQ Q...TQbQ.Q.QTbQ- Q.Q......QT@..QQ Q.QQ....TQQQQ.TQ Q.TQ.QQ.QQT.Q.QQ Q....QT..Q....Q- QQQQ..Q....QQDQQ QTHD....QT.QTHTQ QQQQQQQQQQQQQQQQ [additional] 5 2.4.^.1.0.0 4.4.^.1.0.0 11.16.}.3.0.0.1.0.0 2.19.*.2 11.24.@.2 [end] [offset] 509A [level] 9 [colour] 6d61b1 [size] 16.31 [author] Gedzior [data] -oooooo---ooo--- -o....oooooToooo -o........oHo..o ooo..~ooo......o oTH...oTH......o ooo...ooo..#...o -o.............o -o.R..........oo -ooo.......oHoo- ---ooHoooDoo.o-- ----o.o-o!oT.o-- ----o.ooooo..o-- ---oo..To....oo- ---oM...o....Mo- ---oooo.oo.oooo- ------o.oT.o+o-- ooooooo.oo.o.oo- o.......To...To- o.oooooooo.o.oo- oT}o--oT...M.o-- o.#ooooo.o.o.ooo o.#bHHH...#...}o o.##o^oo&o.o.ooo o..oooo..o.o..?o o.ToT..#~o.o.ooo o..oo.#..o.oTo&o o..Mo#.~#o}o.o.o oT.oo....ooo...o oo.o%..#To-ooooo -o.ooooooo------ -ooo------------ [additional] 10 4.13.M.0 13.13.M.2 2.19.}.1.0.1.0.0.0 11.19.M.2 14.21.}.2.0.1.0.0.0 5.22.^.2.0.0 8.22.&.1.0 14.25.&.1.1 3.26.M.2 10.26.}.3.0.1.0.0.0 [end] [offset] 509A [level] 10 [colour] a28352 [size] 16.31 [author] Gedzior [data] PPPPPPPPPPPPPPPP P...M...!..MPT.P PTP.PTP.P.PPP#HP P..............P PPP.P.P.PTP.P#HP PM......T.P.PT.P PPPPPPPPPP...PPP P}............MP PPPPP.PPPPPPPPPP P..............P P+...^.....PPP.P PPPPPPPPPPPP.P.P PM..M.TP.PT....P P.....MP.PPP.PPP P.M...%P.P.##%.P P..M#.MP.P#T##.P P........D.##..P PPPP.PPP.P##..#P PT....TP.P..#.PP P......P}PPP.PP- P..^...PPP.P.TPP P........P....MP PPT.TPPP&P...TPP -PPPPP&PPbPDPPP- PPTHT#R..'b..#PP PM....##.....##} PP%H..T##..b..#P -PPPPP&PPPPPPPP- PP%P^PPP&PT..TPP P.............}P PPPPPPPPPPPPPPPP [additional] 23 4.1.M.0 11.1.M.2 1.5.M.0 1.7.}.0.0.0.0.0.0 14.7.M.2 5.10.^.0.0.0 1.12.M.0 4.12.M.2 6.13.M.0 2.14.M.0 3.15.M.0 6.15.M.2 8.19.}.3.0.1.0.0.0 3.20.^.0.0.0 14.21.M.2 8.22.&.1.0 6.23.&.2.0 1.25.M.0 15.25.}.2.0.0.0.0.0 6.27.&.1.1 4.28.^.0.0.0 8.28.&.2.1 14.29.}.2.0.1.0.0.0 [end] [offset] 509A [level] 11 [colour] 7accb0 [size] 16.31 [author] MWK [data] ------------pppp ppppppppppppp..& pHT%THpT....pT.p pHHHHHpM....p~pp p.....pM.......& pppHpp&p}ppppppp pHHHp....b.....p p.....p........p pp.pp.p.p.Tppp.p p.......T......p p..p.p.....p...p pppp.pp.Mp.pppTp &.Tb..p.p......p pbbbp#p.p.pppp.p p..............p p.p.p.ppp.....}p p......Tp.pppppp ppppDpppp&p.%..p pT......p.p....} p...p...p#p....p p..ppp....p....} p.p*p*p...p....p p...p...b.M....} p...&.....p....p p.........p....} ppp............p }..............p ppppppppp...R..p p.D^^^.........p p!p...^^^.#....} pppppppppppppppp [additional] 26 15.1.&.3.0 7.3.M.0 7.4.M.0 15.4.&.2.0 6.5.&.3.1 8.5.}.3.0.1.0.0.0 8.11.M.2 0.12.&.2.1 14.15.}.3.0.0.1.0.0 9.17.&.1.0 15.18.}.2.0.1.0.0.0 15.20.}.2.0.1.0.0.0 3.21.*.2 5.21.*.2 10.22.M.2 15.22.}.2.0.1.0.0.0 4.23.&.2.2 15.24.}.2.0.1.0.0.0 0.26.}.0.0.1.0.0.0 3.28.^.1.0.0 4.28.^.1.0.0 5.28.^.1.0.0 6.29.^.3.0.0 7.29.^.3.0.0 8.29.^.3.0.0 15.29.}.2.0.2.0.0.0 [end] [offset] 509A [level] 12 [colour] a5b8a0 [size] 16.31 [author] MWK [data] oooooooooooooooo o..........D.... o.&.....oooo.bb. o....T..oHHo.... o.--H--.oT}oHH#o o..^^^..o..oooTo o.......#..#.ooo o.......o..#.&o- o.......oooooooo o.......oT.....o o.............Mo o.............}o o......ooooooooo o......o.#..#..o o......o.#....#o o......&.#.#.#.o o......o...#b..o o......o#..#.#To o......ooo.ooooo o......oT..#..#o o......o..~R.#.o o......o..~.#..o o......o##.#.##o o......o%##..#.o o......oooooooDo oT.............o o......-!-T-&.Mo o.~...........Mo o.-....-T-b-..Mo o.............To oooooooooooooooo [additional] 13 2.2.&.2.0 10.4.}.1.0.1.0.0.0 3.5.^.1.0.0 4.5.^.1.0.0 5.5.^.1.0.0 13.7.&.1.0 14.10.M.2 14.11.}.2.0.1.0.0.0 7.15.&.1.1 12.26.&.2.1 14.26.M.2 14.27.M.2 14.28.M.2 [end] [offset] 509A [level] 13 [colour] b3b06d [size] 16.31 [author] MWK [data] pppppppppppppppp p........pbbbbbp p.ppp....pT..!bp p*b.b....~....bp p.p%p....pT...bp p........pb...bp p.......Rpbbbbbp ppppppppDppppppp pT............}p p..............p p..............p p..............p p......}.......p p.....MpM......p p......}.......p p..............p p..............p p..............p p..............p ppp}pppppppp}ppp p......p.Tp....p p^.....p..p..b.p p......p##p....p p......p.......p p......ppppp...p p.........Mp...p p.........Mp...p pDpDpDpDpppp...p p*pTpTp@p..~...p p%p%pTp%p.....Tp pppppppppppppppp [additional] 13 1.3.*.2 14.8.}.2.0.1.0.0.0 7.12.}.3.0.1.0.0.0 6.13.M.2 8.13.M.0 7.14.}.1.0.1.0.0.0 3.19.}.3.0.1.0.0.0 12.19.}.3.0.1.0.0.0 1.21.^.0.0.0 10.25.M.2 10.26.M.2 1.28.*.2 7.28.@.2 [end] [offset] 509A [level] 14 [colour] 005c00 [size] 16.31 [author] Gedzior [level_notes] Level edited with GNU Robbo Designer [data] sssss#~--------- #&.D.T#--------- ~#sssss--------- ---------------- ---------------- ---------------- ---------------- ---------------- -----------sssss -----------s...s ---sssssssss.%.s ---s.......s...s ---s.s.sss.sss.s ssss.~..b....s.s sMMs.s.s.s.s.s.s s##s.s.s.s.s.s.s sTTs.~.....~.s.s s..s.s.s.sssss.s s..s.....s---s.s s.#sssTs.ss--s.s s####sss..s--s.s s.....###.s--s.s ss.sbs#R.sssss#s s....s###....b#s s.s.ss.sssssss#s s...sH...H..Ts.s s.sss#.H....Hs.s s&s-s#.Hb~Hsss.s sss-sH....#s-s!s ----ss.sssss-sss -----sss-------- [additional] 4 1.1.&.1.0 1.14.M.0 2.14.M.2 1.27.&.1.1 [end] [offset] 509A [level] 15 [colour] b9944e [size] 16.31 [author] yosh [level_notes] Level edited with GNU Robbo Designer [data] -QQQ-QQQQQQQQ-H. QT.MQ........Q-H Q.R........~..Q- Q.........~....Q Q.!..*H'.......Q Q..............Q M..........Q}.QQ QbQQQQQQQQQQ...Q QbH...Q--Q.....Q QbHQ.#Q-Q......Q QbH%Q..Q......Q- QbQTQ.......TQ-H QbQQ...b......Q- QbQ....*.......Q QbQ............Q QbM.........b..M QbQHHHQ.HHQ....Q QbQHQTQ.HHHQ.Q.Q QVQTQTQDQTHQ.Q.Q QVQHQTHQH..T.T.Q QVQHHQHHHQ.^.M&Q QVQH..QTQQ.^...Q QVQ...QHHQbQ...Q QVD..}QH....T.bQ QVQ.QQ.b....b..Q QDQ......QQQQQ.M Q....Q..QbTQ...Q Q.#QQQ.bQ..&.%.Q Q.#..Q..QQQQ.QQQ Q.T#T}.........M -QQQQQQQQQQQQQQQ [additional] 16 3.1.M.2 5.4.*.2 0.6.M.0 12.6.}.1.0.1.0.0.0 7.13.*.1 2.15.M.0 15.15.M.2 11.20.^.3.0.0 13.20.M.2 14.20.&.1.0 11.21.^.3.0.0 5.23.}.0.0.0.0.1.1 15.25.M.2 11.27.&.1.1 5.29.}.0.0.0.0.0.0 15.29.M.2 [end] [offset] 509A [level] 16 [colour] 8faac7 [size] 16.31 [author] MWK [data] ppppppppppppppp- p........pp%.'pp pT#.b..~.pM...Mp p..#p.ppDpp...pp p...p.D.......%p ppDppppppppRTppp p.....#b..pppp%p p.....p.p......p p.....p.Mp....Mp p.....p~p...bb.p p.....D.p......p p.....ppp......p ppp.ppp........p p.###.p##..#...p p.#..#pT#..#...p p#.##.p##..~...p pb#..#p........p p..##.pppp....Mp p.b.ppp--p....Mp pT.pp----p....Mp pppp--.@-pp.pppp ------.----.---- -.bHHHHHH.....-- -D----H---.H-.-- -.-....---~-..-- -.b...T---...--- -.-.------.---}- -.-.------#---.- -.-.----.......- -.-.----.-.---.- -.....#........! [additional] 9 10.2.M.0 14.2.M.2 8.8.M.2 14.8.M.2 14.17.M.2 14.18.M.2 14.19.M.2 7.20.@.2 14.26.}.1.0.1.0.0.0 [end] [offset] 509A [level] 17 [colour] 6da77a [size] 16.31 [author] MWK [data] OOOOOOOHO&OOOOOO OT..&O!H%RO.#..O OO#OTOHH~.O&.~.O O....O....OT...O O^...O.TT.O.~..O OOO..#....O.b..O OT.#HOODOOOOO.OO O....}O.OHHHH.HO O.H..OO.O}....HO O....MO.OHHHHbHO O...TOO.O..~.#HO O....}O.O.#T#.HO O....OO.O.....HO O....}O.O.THHHHO O....OO.O......} O....}O.O.bHHHHO O....OO.O......O O&.TOO#~OOOOODOO OOOOO%#.#..O.b.O O%%%O##.###O..#O O...OT.H#..O#..O OO&OO..b..#O.#.O O&O}O..#...O..#O O...OOOOODOOODOO O...T..&O.OH...O O##...b.O.O.H..O OT#.O.OOO.O.#H.O OOO.O.O...O...HO O...T.O.OOO..##O OT#.O}O.O}...#TO OO&OOOO&OOOOOOOO [additional] 20 9.0.&.3.0 4.1.&.1.0 11.2.&.2.0 1.4.^.0.0.0 5.7.}.2.0.1.0.0.0 9.8.}.0.0.1.0.0.0 5.9.M.2 5.11.}.2.0.1.0.0.0 5.13.}.2.0.1.0.0.0 15.14.}.2.0.1.0.0.0 5.15.}.2.0.1.0.0.0 1.17.&.4.0 2.21.&.1.1 1.22.&.4.1 3.22.}.1.0.1.0.0.0 7.24.&.2.1 5.29.}.3.0.1.0.0.0 9.29.}.0.0.1.0.0.0 2.30.&.3.1 7.30.&.1.2 [end] [offset] 509A [level] 18 [colour] a08750 [size] 16.31 [author] MWK [data] OOOOOOOOOOOOOOOO O...TT...O!....O M.......MOOOOObO O..............O O.O.OHO...OOOOOO OT......OOOb#TTO OO.OO.O.....#TTO O......OOO~OOOOO O#.#.O........TO O.#.#O.OOO~OO.OO O#.#..........O- OOOOO.O.O.OOO.OO O.........T####O O.O.OO.O.OObbbbO O........#bbbbbO OOHOOOT..#####bO O...OOOOOOO....O O.T.O.......TOOO OOO.O.OOOOOT.T.O O.T.OHHHHTO....O O...O...HOOO.OOO O.OOOOO.TO.....O O..........OOO.O O.OOO.O.OO..TO.O OT...........O.O OOOOHO.OO.OO...O O............O.O O..O}OO}OO}OOO.O O..............O OT............RO OOOOOOOOOOOOOOOO [additional] 5 0.2.M.0 8.2.M.2 4.27.}.3.0.0.1.0.0 7.27.}.3.0.0.1.0.0 10.27.}.3.0.0.1.0.0 [end] [offset] 509A [level] 19 [colour] 75ae7f [size] 16.31 [author] MWK [data] pppppppppppppppp p#..#...#...#.!p p.#.#.##..~.#.*p p..#..#..#..#.%p ppDppppppppppppp p.......^......p p.............Tp p......pHHH...pp p.p.....HTH....p p...HHH.HHH....p p...HTH....p...p p...HHH....HHH.p p..........HTH.p p.....p....HHH.p p......HHH.....p p.HHH..HTH.....p p.HTH..HHH.pDppp p.HHH......p..Tp p..........ppppp p...p..........p p...&..........p p..............p p............T.p ppppppppppp....p pR.p}p....p....p p......ppbp....p p.....ppp.pp...p p..#~#.....H.#.T p....T..ppppTDpp p&......DT%pb#Tp pppppppppppppppp [additional] 5 14.2.*.2 8.5.^.0.1.1 4.20.&.1.0 4.24.}.1.0.1.0.0.0 1.29.&.1.1 [end] [offset] 508C [level] 20 [colour] 8a8d56 [size] 16.31 [author] Gedzior [data] --ppppppppppp--- --p%.TpT...Tpp-- ppppp.pp##ppTp-- pM.........p.p-- pppTp.#bp&.#.p-- --ppp.b.Rp.#.p-- --p.#.p'.b.ppp-- --p.#.&pb#.pTppp --p.p.........Mp --pTpp##pp.ppppp --ppT...TpT.!p-- ---ppppppppppp-- ---------------- -----ppppp------ pppppp..&p------ p..#.p.p.pppppp- p##.#H...p.TpTpp p#.#.pHpppHppH.p p...#p..p..#p..p p##.ppT.p.T.p..p p..#p...p#.pp.^p p#.#ppHpp.#p+..p p#..p...p..pp..p p.##p.T.p#.Tp..p p#..pDppppHpp..p pp.Tp.Tp...H...p -ppppppp.p.p...p -------p&..ppppp -------ppppp---- ---------------- ---------------- [additional] 7 1.3.M.0 9.4.&.1.0 6.7.&.2.0 14.8.M.2 8.14.&.1.1 14.20.^.3.0.0 8.27.&.2.1 [end] [offset] 508C [level] 21 [colour] 6b7566 [size] 16.31 [author] piotr_wompel [data] oooooooooooooooo oR~....b.T.b...o o..T~.b~b...~.bo obb~b....bTb~.To oooooobb.bbooooo ..V..ooo&ooo.... ............V... .V..Vooo&ooo..V. oooooo.....ooooo o......~~.....^o o.~oM..........o o....T.~oM..T..o o.~.........oM.o o..~oM......T..o ob.....~.....bbo obbb.....oM...To oooooo....'ooooo .V...ooo&ooo.... ....V........V.. ..V..ooo&ooo...V oooooo.....ooooo o..............o o.........^...Mo o..........^..Mo oooooo.....ooooo V....ooo&ooo...V ...V............ ....Vooo&ooo.V.. oooooo.....ooooo o!H*.H.....H.*To oooooooooooooooo [additional] 18 8.5.&.1.0 8.7.&.1.1 14.9.^.2.0.0 4.10.M.0 9.11.M.0 13.12.M.0 5.13.M.0 10.15.M.0 8.17.&.2.0 8.19.&.2.1 10.22.^.2.0.0 14.22.M.2 11.23.^.2.0.0 14.23.M.2 8.25.&.3.0 8.27.&.3.1 3.29.*.2 13.29.*.2 [end] [offset] 508C [level] 22 [colour] 8698ab [size] 16.31 [author] Gedzior [data] OOOOOOOOOOOOOOOO O&......T.....&O OO.OOOOOOOOO.OOO O...^%O..TO...^O O...^TO.&.O....O O.....O.T.O...^O O.R.&.OM^MO....O O.............TO OOOOOOOO#OOOOOOO O......ObO..D..O O..OO.......OO.O O+TOM.......MO!O OOOOOOM...MOOOOO O.....D...D...}O O.&.#.O.b.O....O O.....OO#OO...TO OOOOOOOObOOOOOOO -------O#O------ OOOOOOOO#OOOOOOO OT............TO OO............OO OM...^........MO OO....TO.OT...OO OM...%OObOOT..MO OO....O.#.O...OO -O....O.&.O...O- -O....O...O...O- -O....OOOOO...O- OO..#......#..OO O&...OOOOOOO%.&O OOOOOO-----OOOOO [additional] 25 1.1.&.1.0 14.1.&.2.0 4.3.^.2.0.0 14.3.^.2.0.0 4.4.^.2.0.0 8.4.&.4.0 14.5.^.2.0.0 4.6.&.4.1 7.6.M.0 8.6.^.0.1.1 9.6.M.2 4.11.M.0 12.11.M.2 6.12.M.0 10.12.M.2 14.13.}.3.0.0.1.0.0 2.14.&.1.1 1.21.M.0 5.21.^.2.0.0 14.21.M.2 1.23.M.0 14.23.M.2 8.25.&.3.0 1.29.&.3.1 14.29.&.2.1 [end] [offset] 508C [level] 23 [colour] 9f826a [size] 16.31 [author] odislaw [data] R.........~....b &..............b ..bbb..........M ..bPb..........b ..bHb..........b ..bPP...~....T.b ..bH...........b ..bP...........b ..bH...........M ..bP........~..b ..bH...........b ..bP...........b ..bH.....T.....b ..bP...........b ..bH...........M ..bP.........bPP ..bH.........bP! ..bP.........bP. ..bH.........bP. ..bP..........P. ..bH..........P. ..bP..~.......P. ..bH..........P. ..bP..........P. ..bH..........P. ..bP..........P. ..bH..........P. PPbP..........P. TPbP&.........H. .PbPPPP.......P. .HbbbbbbbbbPPPPP [additional] 5 0.1.&.1.0 15.2.M.2 15.8.M.2 15.14.M.2 4.28.&.1.1 [end] [offset] 508C [level] 24 [colour] 7cd092 [size] 16.31 [author] Gedzior [data] pppppppppppppppp pT........Mp.}%p ppp.ppp...MpM..p p.....p...MpM..p p..+..p...MpM..p p..!..p...MpM..p p.....p...Mp...p p.....p........p pppppppp.ppppppp -p.............p -p.pppp#.#pppp.p -p.p##pp.pp##p.p -p.p#.......#p.p pp.pp.Mp#pM.pp.p p...p.pp.pp.p..p p####.#.R.#.###p p...p.pp.pp.p..p pp.pp.Mp#pM.pp.p -p.p#.......#p.p -p.p##pp#pp##p.p -p.pppp#.#pppp.p -p.............p ppppppppDppppppp p....T......T..p p.~....T.......p p..............p pT........T...Tp p.....T........p p....T......bT.p p.T......T.....p pppppppppppppppp [additional] 15 10.1.M.2 13.1.}.1.0.1.0.0.0 10.2.M.2 12.2.M.0 10.3.M.2 12.3.M.0 10.4.M.2 12.4.M.0 10.5.M.2 12.5.M.0 10.6.M.2 6.13.M.0 10.13.M.0 6.17.M.2 10.17.M.2 [end] [offset] 508C [level] 25 [colour] 6cd99b [size] 16.31 [author] Golem XIV [data] PPP%TPPPPPPPPPPP P......P}PT.%.T. P.PPPP.P.PP.P.P. ..#.&P*P.PHHHHHH P.PPPP.P.PHHHHHH P......P.Pbbbbbb PPPPPPPP.PbV.V.b PTTTTTT..Pb.VV.b PPPPP.P..#bb...b P.....P..P..bbbb P.P.P.P....PPPPP P.*P%.P...PTTTTT P.P.P.P.P......} P.....P}P......} PPP.PPPPPPPPPPPP &D............D+ PPPPPPPPPP.PPPPP M..............} M..............} PPPPPPPPPP.PPPPP ^.........&&...P PPPDPPPPPPPP.P.P ##.#.P.........P ..#.#P.#PPPP#PPP &..#....P.....*. PPPPPPPPP....@.. P^.#.#.&P..PTP.. P.#..b.TP..PRP.. P......TP..P!P.. PP=====PP....... PPPTTTPPP....... [additional] 20 8.1.}.1.0.1.0.0.0 4.3.&.1.0 6.3.*.2 2.11.*.0 15.12.}.3.0.0.1.0.0 7.13.}.3.0.2.0.0.0 15.13.}.2.0.1.0.0.0 0.15.&.3.0 0.17.M.0 15.17.}.2.0.2.0.0.0 0.18.M.0 15.18.}.2.0.2.0.0.0 0.20.^.0.1.1 10.20.&.2.0 11.20.&.3.1 0.24.&.1.1 14.24.*.2 13.25.@.2 1.26.^.0.1.1 7.26.&.2.1 [end] [offset] 508C [level] 26 [colour] ad414f [size] 16.31 [author] gedzor [data] OOOOOOOOOOOOOOOO OTO............O O...O-.-%-.Ob!RO O.O....OOO.....O O.O.-O.-T-.-OOOO O.O.T-.O.O..DT+O O...OO.O.O..OOOO OTOTO-......&.TO OOOOOO.OO-O.O.-O O-O--O..O-O&O.OO O.............TO O.OOOO-O.OO.O.OO O.....O...O...-O O.OO-.-.&.-OOOOO O.O&O.O.......-O O.-OO.OOO-OO#OOO O........O#..#TO O.--OOOOTO.#.-.O O.....TO--.#.#.O O..^..'OTO.#.#.O O.....T-.OT....O OH--OOOO.OOOOO.O O...TOT.&.T-'D.O OHOO-OO-.-OOO-bO O#H...H-.OH..#.O O..#.##O.O#.b#.O O#.#..HOTOH####O O.#.###O-O#.#T.O O.#.b..-TO.##b.O OHH..#.H.H##.##O OOOOOOOOOOOOOOOO [additional] 6 12.7.&.1.0 11.9.&.1.1 8.13.&.2.0 3.14.&.1.2 3.19.^.0.0.0 8.22.&.2.1 [end] [offset] 508C [level] 27 [colour] 7892c9 [size] 16.31 [author] Gedzior [data] OOOOOO--O}OOOOOO O....OOOO.OO..TO O.#......&....#O O...OOOOObOOO.#O O...D.......O.OO OOO.OO#.M.M.O.O- OOR.!OO.....O.OO OM...MO.M.M.O.#O OOT.TOO...b.O.TO -OO.OO#.M.M.O.OO OO...OO.....O.O- OM...MOT....M.O- OO.%.OO.M.M.O.OO -O...OM....TO.#O -O..#OO.....O.TO -OO~OOOOOHOOO.#O --O............O --OT.OOO...OOOOO --OOOO-OOHOO---- --------O.O----- OOOOO--OO.OOOOOO O...OOOO...O...O O.#......T...b.O O...OOOO...O...O OO.OO--OOHOOOHOO -O.O----OHO-OHO- OO.OO--OOHOOOHOO O...OOOO...O...O O.b......T.H.+TO O...OOOO...O...O OOOOO--OOOOOOOOO [additional] 16 9.0.}.1.0.1.0.0.0 9.2.&.1.0 8.5.M.0 10.5.M.2 1.7.M.0 5.7.M.2 8.7.M.0 10.7.M.2 8.9.M.0 10.9.M.2 1.11.M.0 5.11.M.2 12.11.M.2 8.12.M.2 10.12.M.0 6.13.M.0 [end] [offset] 508C [level] 28 [colour] a674b3 [size] 16.31 [author] MWK [data] oooooooooooooooo ooooooo+oooooooo o.oo.oo+oo...ooo o.o.o.o+o.ooo.oo o.o.o.o.o.ooo.oo oo.oo.o.o.....oo ooooooo.oooooooo o.....o.o.....oo ooooo.o.ooo..ooo o.....o.oo..oooo ooooooo.o.....oo o.....o.oooooooo ooo..oo.o.....oo oo..ooo.ooooo.oo o.....o.o.....oo ooooooo.oooooooo o.....o.o.....oo o.ooo.o.o.ooo.oo o.....o.o.....oo ooooooo.oooooooo oo.o.oo.oo.o..oo o.o.o.o.o.o.oooo o.o.o.o.o.o.oooo o.....o.o.....oo oooooooDoooooooo o.#.#.#...#!...o o#..#.#..#.oo..o o.##.#.##...o#.o o~#.#.~..#b.#..o oR~..#....#...#o oooooooooooooooo [additional] 0 [end] [offset] 508C [level] 29 [colour] b5a7a2 [size] 16.31 [author] kaczor [data] pppppppppppppppp p........p....*p p'p%pTpR.D.p%p.p pppppppppp.....p p}p^.....ppDpppp p.p.p.p.pp}.p.}p p.p......pp.p..p p.pDpppp.Tp.p..p p.p....p..p.pT.p p.p.pp.p.!p.pp.p p.p.pp@pppp....p p..H.....&p.pp.p p.ppppppppp.Tp.p p.p.....&p.....p p.p+p.p..pHp.p.p p.ppp...ppHp.p.p p..p..ppp.Hp~p.p p.pp...p&Tpp.p.p p.pVVppppH.p.p.p p.pVppTHHH.p.'.p p.pVVpTbHppp.ppp p.ppppppH..#..Mp p.p&.p..Tpp.pppp p.p..~.TT......p p.pHpp...ppppp.p p.pHHpHpH~.bbp^p p.pTTpDp##..bp.p p.pTTpTp.#.%bp.p p.pppppppppppp.p p...T...T...T..p pppppppppppppppp [additional] 12 14.1.*.2 1.4.}.1.0.1.0.0.0 3.4.^.0.1.1 10.5.}.0.0.0.0.1.1 14.5.}.1.0.1.0.0.0 6.10.@.2 9.11.&.1.0 8.13.&.2.0 8.17.&.2.1 14.21.M.2 3.22.&.1.1 14.25.^.1.0.0 [end] [offset] 508C [level] 30 [colour] b58887 [size] 16.31 [author] marok [data] '......D........ ..PPPP.PP.PPPP.. ....@..PP....@.. PPP....PP.....PP P-P...PPPPDPPPPP P-P...P%.......P P-P...P........P P-PM..P.......MP P-PPM.P@PPP....M P-PM..P.P-P...MP P-PPM.P.PPP....M P-PM..P.......MP P-PPM.P........M P--P..........PP P--PP..PPP....PP P--PP.P..*P...PP P---P.........PP P---P.........PP PPPPP.PPPPP.}..P PP..PDP#.TP..b.P PPTb..@...P....P PP...PP..PP....P P!P.....~##....P PHPPPPPP.P..@..P PHHP---P...PPP.P PH.PPPPP...P...P P..@..........PP P.PPPP...PPP.P.P P.......D.PD.D.D P...%..}PTPTPTP' PRPPPPPPP.P%P.P. [additional] 21 4.2.@.1 13.2.@.1 3.7.M.0 14.7.M.2 4.8.M.0 7.8.@.2 15.8.M.2 3.9.M.0 14.9.M.2 4.10.M.0 15.10.M.2 3.11.M.0 14.11.M.2 4.12.M.0 15.12.M.2 9.15.*.2 12.18.}.3.0.1.0.0.0 6.20.@.1 12.23.@.2 3.26.@.2 7.29.}.0.0.0.0.1.1 [end] [offset] 508C [level] 31 [colour] 7fca8c [size] 16.31 [author] marok [data] T.oooooooooooooo o..#..'o..T....} o.#.#oooTT.....} o...DDDD%......} o..ooooo........ ob.o.%...R...... oHbo............ .V..ob.......... oooo............ T.............~. .#~.oooooooooooo .#..o......T^... !##.o.&......... ##.*o....%.@...M #..boooooo.ooo.. #..H.&.T.o...... oooooooooo.ooooo o..............o o.......~......o o.###.....###..o o.#T##....#T##.o o.###.....###..o o.#T##.b..#.#..o o.###.....#..#.o o......b.b.#...o oT..oooooooo..To o...o@....#o...o o...o..TT##o...o o...o....##....o o}}}o#.#..##}..o oooooooooooooo}o [additional] 15 15.1.}.2.0.0.0.0.0 15.2.}.2.0.0.0.0.0 15.3.}.2.0.1.0.0.0 12.11.^.0.0.0 6.12.&.1.0 3.13.*.2 11.13.@.2 15.13.M.2 5.15.&.1.1 5.26.@.1 1.29.}.3.0.1.0.0.0 2.29.}.3.0.2.0.0.0 3.29.}.3.0.2.0.0.0 12.29.}.3.0.2.0.0.0 14.30.}.3.0.1.0.0.0 [end] [offset] 508C [level] 32 [colour] 72bbc8 [size] 16.31 [author] kaz [data] HppppppppppppppH p~T~.~.~T~.~.~Rp p.~.~.~.~.~.~T~p p~.~.#.#.#.~.~.p p.~.~.~.~.~.~.~p p~.~.#T#.#.~.~.p p.~.~.~.~.~.~.~p p~.~.#.#.#.~.~.p p.~.#&~.~.#.~.~p p~##.~.#.~.##~.p HppppppppppppppH p&.TT..^pT.p#.#p Hpppppppp.....'p pp========pp.}pH p'...T.....pT.Mp pV......b.Mp...p pVVV......MpM..p HpppHHHHpppHM.Tp pTV......VTp...p p%V.#...bVTp...p HppDpDpppppH#.Mp p*....p...#pT..p pTp...p..#.p..Mp pp.pH~.b#.#p...p p.....H..#.pM.Tp pM....p#...pM.Tp p.}.T.p##pDp...p Hppppppppp#pD}pH p^....&p!H.p.%.p p&T....p#HTp&T&p HppppppppppppppH [additional] 22 5.8.&.1.0 1.11.&.3.0 7.11.^.2.0.0 13.13.}.1.0.1.0.0.0 14.14.M.2 10.15.M.2 10.16.M.2 12.16.M.0 12.17.M.0 14.20.M.2 1.21.*.2 14.22.M.2 12.24.M.0 1.25.M.0 12.25.M.0 2.26.}.3.0.1.0.0.0 13.27.}.3.0.1.0.0.0 1.28.^.0.0.0 6.28.&.2.0 1.29.&.3.1 12.29.&.2.1 14.29.&.1.1 [end] [offset] 508C [level] 33 [colour] 8e5f6a [size] 16.31 [author] Gedzior [data] -OOOOOOOOOOOOOO- OOTOTO........O- O......O..HHO#OO O.HO#O.H.OOM..TO O.OM...O..OO.O.O O....O....OT.#.O O.HHOO#H##OH.O.O O.HTOM.........O O..RH...O.OO.O.O OHHOO.OHH......O O......MH.OH.H.O O.O.O..%O.OM..TO O...OOHHO.HHO.OO O.H..#.HM.....TO OTO..O.OOO&OO.OO OOOOHH.H.HOH..O- OM............OO OO.OHHOO.OHHO..O -O........HM..TO OO.OHHO.#.OO.OHO OT......#.&H...O OOOOHHO.OOHHOO.O ---O.......O...O -OOO.OH.HO.O#O.O -OM..........H.O -OOOO.O.HHOO.O.O ---OT........D.O ---OO.OOHHOO.OOO ----O........O-- ----OOOOO!OOOO-- --------OOO----- [additional] 11 11.3.M.0 3.4.M.0 5.7.M.0 7.10.M.2 11.11.M.0 8.13.M.0 10.14.&.1.0 1.16.M.0 11.18.M.0 10.20.&.1.1 2.24.M.0 [end] [offset] 508C [level] 34 [colour] 688c99 [size] 16.31 [author] MWK [data] QQQQ}QQQQQQQQQQQ Q..............Q Q.R......QQQ...Q Q........QTD...Q Q...Q..~*QQQ...Q Q...Q.#........Q Q...Q#.##QDQ#.#Q Q...Q.#..Q.QT#.Q Q...Q#.#.Q.QQQQQ Q...Q.##.Q....*Q Q...Q#...Q.....Q Q...Q####Q..!..Q Q...Q.#..Q.....Q Q...QT.#.Q*....Q Q...QQDQQQQQQQQQ Q............Q&Q Q............Q.Q Q..........Q...Q QHHHHHHHHHHQ.QQQ Q..V.V.....Q...Q Q.........TQ...Q QHHHHHHHHHHQ...Q Q..V.V.....Q...Q Q..........D...Q Q..........Q.'.Q Q.....%....Q...Q Q.......b..QQQQQ Q......%.......Q Q............&.Q QM.TQ..........Q QQQQQQQQQQQQQQQQ [additional] 7 4.0.}.1.0.1.0.0.0 8.4.*.2 14.9.*.2 10.13.*.2 14.15.&.1.0 13.28.&.1.1 1.29.M.0 [end] [offset] 508C [level] 35 [colour] 6daf97 [size] 16.31 [author] Gedzior [data] oooooooooooooooo obbbbbbbbbboTo&o ob###.####bo.o.o ob#bbbbbb#bo.o.o ob#boooob#bo.oTo oT#b#.&ob#bo.ooo o+#boooob#bo.o~~ o'#b#.##bbbo.o~- oooboooooooo.ooo -~o.o~----~o..&o -~o.o~----~o.ooo ooo.oooooooo.o~- oT...........o~~ ooo.oooooooooooo ~~o............o -~o.ooooooooo#.o ~~o.o.......oo.o ooo.....@...Mo.o o...o.ooooo.oo.o o.o.........Mo&o o!oRHH......Tooo o.o.........Mo&o o...o.ooooo.oo.o ooo.....*...Mo.o ~o..o.....##o..o -o#.ooooooooo..M -o..........~..o ~o..oooooo.....o ooo.o~~~~o&ooo&o o&..o----ooo~ooo ooooo----------- [additional] 15 14.1.&.2.0 6.5.&.3.0 14.9.&.4.0 8.17.@.2 12.17.M.2 12.19.M.2 14.19.&.1.0 12.21.M.2 14.21.&.2.1 8.23.*.2 12.23.M.2 15.25.M.2 10.28.&.3.1 14.28.&.4.1 1.29.&.1.1 [end] [offset] 508C [level] 36 [colour] 9988ae [size] 16.31 [author] Robin [data] PPPPPPPPPPPPPPPP PR..TPT#...D'.&P P##.#P##.PPP...P PT...Pb..P&PDDDP P.#..P..#P.PHHHP P..#.P.#.PHPTH&P P%#.#P#..PTPPPPP P#T#....TPHTHT%P PPPPPPPPPPPPPPPP P.HTTTTTTTTTT.&P PVPPPPPPPPPPPPPP P.HTTT.#Pb+b+b+P PPPPPP..P+b+b+bP PPPPPP.bPb+b+b+P PPPPP...P+b+b+bP P}....#.Db+b+b+P P}....#.D+b+b++P PPPPPTT#Pb+b++&P PPPPPPPPPPPPPPPP P&.......%P*...P PPPPPPPPP.P.PP.P PT......P...PP.P P.PPPPP.PPPPPP.P P.PT....'T'T'D.P P.P.PPPPPPPPPP.P P.P.H...VV..+P.P PbPPPPPPPPPPPP.P PVVVVVVVVVP.TP.P PVVVVVVVVVP.PP.P P!VVVVVVVTP....P PPPPPPPPPPPPPPPP [additional] 9 14.1.&.1.0 10.3.&.1.1 14.5.&.2.0 14.9.&.2.1 1.15.}.0.0.0.0.0.0 1.16.}.0.0.0.0.0.0 14.17.&.3.0 1.19.&.3.1 11.19.*.2 [end] [offset] 508C [level] 37 [colour] b98cb0 [size] 16.31 [author] MWK [data] QQQQQQQQQQQQQQQQ QRQ&.Q....Q%&Q%Q Q.Q..D....Q%.Q.Q Q.QQQQ....QQQQ.Q Q..............Q Q..............Q QQDQQ.QQQQ.QQDQQ QT..Q.Q&%Q.Q..TQ Q..TQ.Q.DQ.QT..Q QQQQQ.QQQQ.Q#QQQ Q..............Q Q..............Q Q.QQQQ....QQQQ.Q Q.Q&&Q....D.&Q.Q Q.Q.DQ....Q..Q.Q Q.QQQQ....QQQQ.Q Q..............Q Q..............Q Q..............Q QQQQQ.QQQQ.QQQQQ Q&%%Q.Q&TQ.Q.&.Q Q.D.Q.Q.DQ.Q...Q QQQQQ.QQQQ.QQDQQ Q.~............Q Q..............Q QQQQQQQQQQQQ#QQQ Q.........Q...&Q Q...~.....Q..b.Q Q......!....b..Q Q.........Q....Q QQQQQQQQQQQQQQQQ [additional] 10 3.1.&.1.0 12.1.&.4.0 7.7.&.2.0 3.13.&.2.1 4.13.&.3.0 12.13.&.2.2 1.20.&.1.1 7.20.&.2.3 13.20.&.4.1 14.26.&.3.1 [end] [offset] 508C [level] 38 [colour] a486bf [size] 16.31 [author] kaczor [data] PPPPPPPPPPPPPPPP P&P#.#.TP..^..&P P.P.#.#.PPP.PPPP P.P#.###PTPDP.&P P}b...~.P..^...P PPPHPPP.PPP.PPPP P*....P.PTPDP.&P P.HHH.P....^...P P.....PPPPP.PPPP PPHPPPPTP?PDP''P P.@@@..'P.....TP P.PPPP.PP.PPPPPP P......P!.P&..%P PT%PPPPPP.P...~P PPPP.PTDD.P#H#.P P%TPTPPPP.P.##.P PT.P..P}P.P#.#.P PP.P~...P.P.#..P PHHP......P#...P PHPP.Pb.P}P....P PHHP.P..PPPPPP.P PP.P.Db.P}.....P P..P%P..PPPP#P.P P&.P.P..PM.....P PPPPTPP.PPPPP.PP P...^.P.P}.....P PPPPPPP.PPPP#P.P PT#.P}..PM.....P P..~...PPPPPP.PP PR.#.P.TPT%'+.TP PPPPPPPPPPPPPPPP [additional] 22 1.1.&.3.0 11.1.^.0.1.1 14.1.&.1.0 14.3.&.2.0 1.4.}.3.0.1.0.0.0 11.4.^.2.0.0 1.6.*.0 14.6.&.3.1 11.7.^.2.0.0 2.10.@.3 3.10.@.3 4.10.@.3 11.12.&.1.1 7.16.}.1.0.1.0.0.0 9.19.}.3.0.1.0.0.0 9.21.}.0.0.1.0.0.0 1.23.&.2.1 9.23.M.0 4.25.^.2.0.0 9.25.}.0.0.1.0.0.0 5.27.}.0.0.0.0.1.1 9.27.M.0 [end] [offset] 508C [level] 39 [colour] 77c281 [size] 16.31 [author] Gedzior [data] -ooooooooooo-ooo -o.%.....T.o-o}o -o###o#.###o-o.o -o...oDo...o-o.o ooo.oo.oo..ooo.o o&....&........o ooo.oo.oo.oooo.o -o...oTo...o-o.o -o###ooo###o-o.o -o.T.....T.o-o.o -ooooooooooo-o.o -------------o.o -------ooo---o.o ------oo&oo--o.o ---oooo.#.o--o.o ---oR....oo--o.o -oooooo.#o---o.o -oT.&.o.oooooo.o -oooo.o.&.&ooT.o ---o#.oooooooo.o --oo....!o---o.o --o.#.oooo---o.o --oo&oo------o.o ---ooo-------o.o -------------o.o -------------o.o ---ooooooooooo.o --oo+.#.####...o --o&#..##.#.#..o --oo.#..#..#...o ---ooooooooooooo [additional] 9 14.1.}.1.0.0.0.0.0 1.5.&.2.0 6.5.&.3.0 8.13.&.2.1 4.17.&.1.0 8.18.&.1.1 10.18.&.1.2 4.22.&.2.2 3.28.&.2.3 [end] [offset] 508C [level] 40 [colour] 65da88 [size] 16.31 [author] larek [data] PPPPPPPPPPPPPPPP PT.#T...D!PP'PTP P#..#.#.PP...P.P P.#T.#T.D+PP.P.P P.##....PP...P.P PT#.b.##D%PP.P.P P...###.PPP.^P.P P#.#T...DTPP.P.P P.....##PP...P.P PT##.##T..PP.P.P PPPPPPPPP..P.P.P P......H..#P.P.P P.%...PPPPPP.P&P P.@...&...+P&V&P P.....P...+P&P.P P.....&..V+P.P.P P.PP.PPPPPPP.P.P PT........TP.P.P PPP......PPP.P.P PM........^P.P.P P....PHHHPPP.P.P P.#..PT..P}P.P.P P....PHHHP.P.P.P P..#.P..TPHP.P.P P....PHHHP.P.P.P P....P.........P PPDPPPPPPP.PPPPP PH.HHHHTTHHHH.HP P..............P PM..%%.MM.'...RP PPPPPPPPPPPPPPPP [additional] 14 12.6.^.1.0.0 14.12.&.1.0 2.13.@.1 6.13.&.3.0 12.13.&.2.0 14.13.&.2.1 12.14.&.1.1 6.15.&.4.0 1.19.M.0 10.19.^.2.0.0 10.21.}.1.0.0.0.0.0 1.29.M.0 7.29.M.2 8.29.M.0 [end] [offset] 508C [level] 41 [colour] 84c489 [size] 16.31 [author] marok [data] ssssssssssssssss &............&.s s.ssssssssss.s~s s.sT!T.s...s.s.s s.s....s.s...s.s s.s.ss..Vs.s.s.s s.s.ssssss.s.s.s s.s..s.....s.s.s s.ss.s.ssss&.s.s s....s.s..Vsss.s ssss.s.s.sss&..s s....s...s..ss.s s.s.ssssss'....s s.s.......ssss.s &.s.sssss.T&TV.s s.s.....V.sT.s#s s.sssssssssss..s s.s.......V..sss s.ssss.sssss...s s...........sT.s ssss.ssssss..s.s s....s.....s...s s.ss.s.s.sVsssss s.s..sVs.sssss&s s.s.sTVs.s...s.s s.sH...s...s.s.s s.s.ssssssss.s.s s.s..........s.s s.ss.sssssssss.s s..............s ssssssssssssssRs [additional] 7 0.1.&.2.0 13.1.&.4.0 11.8.&.1.0 12.10.&.1.1 0.14.&.3.0 11.14.&.2.1 14.23.&.3.1 [end] [offset] 508C [level] 42 [colour] b54fba [size] 16.31 [author] Golem XIV [data] PP}P}P}PPP}P}P}P PP.P.P.PPP.P.P.P ##.P.P.###.P.P.# Rb.............# PPPPPPPPPPPPPPP# }............... PPP&PPPPPPPPPPPP P&PPP..M..M....P P.T..@..TT..@..P P..............P P..@.........*.P P..*.....*.....P P...........T..P P.T.......T....P P.........T..@.P P..T....*......P P.@...*...@..TPP P.............&P PPPPPPPPPPPPPPPP PTTTTTTTTTTT..&P P}............!P PPP=..===....=PP P+P.=.===...==PP P.P=.===.....=PP PDPPPP....PPPPPP PT....#..P....TP P..MM...M....#PP P...PP.P......TP P.#........P..MP PTP}....T..P..%P PPPPPPPPPPPPPPPP [additional] 30 2.0.}.1.0.1.0.0.0 4.0.}.1.0.1.0.0.0 6.0.}.1.0.1.0.0.0 10.0.}.1.0.1.0.0.0 12.0.}.1.0.1.0.0.0 14.0.}.1.0.1.0.0.0 0.5.}.0.0.1.0.0.0 3.6.&.1.0 1.7.&.2.0 7.7.M.0 10.7.M.2 5.8.@.1 12.8.@.0 3.10.@.1 13.10.*.3 3.11.*.3 9.11.*.0 13.14.@.1 8.15.*.1 2.16.@.3 6.16.*.0 10.16.@.3 14.17.&.1.1 14.19.&.2.1 1.20.}.0.0.1.0.0.0 3.26.M.2 4.26.M.0 8.26.M.0 14.28.M.2 3.29.}.0.0.2.0.0.0 [end] [offset] 508C [level] 43 [colour] 93b06b [size] 16.31 [author] Gedzior [data] ---------------- ---------------- -sss#s----sss##- -##..s##sss...#- -#.T........~.s- -s...s#ss#s...s- -s#.ss----s#s#s- --s.#----------- --s.s----------- --#.ss-#ss##sss# --s..s#s...s...# --sT.....#.s.T.s --s.##s##..#...s --#.#--sss##s.ss --#.s-------s.#- --s.s------##.ss -#s.##-s##s#...s -#...sss...s.#.# -s.T.....#.....# -s...s##...ss#ss -ss.ss-ss.#s---- --#.s---s.s----- --s.#--ss.s##sss --s.#--#...s...# --s.s--#.T.H.T.s -ssHs--s...s...s -#..s--ssRs##sss -#..s---#!s----- -s.T#---#ss----- -ss##----------- ---------------- [additional] 0 [end] [offset] 508C [level] 44 [colour] 8b6aae [size] 16.31 [author] Gedzior [level_notes] Level edited with GNU Robbo Designer [data] ------------OOO- -------OOO--O&O- --OOO--O&O-OOTOO --O&O--O.O-O.T.O -OO.OO-O.O-O.T.M -O...O-O.O-O.T.O -O.b.O-O.O-O.T.M -OHHHO-O.OOO...O OO###OOO..&O...O OT........OO.O}O OT....OOO.OT}OOO OOO.OOO......O-- O..~..O.O.OO.OOO O~.~b.O.......MO O.~.~~O.O.OO.OOO O~.b~.O....M..TO O.....O.O.OO.OOO O.....OT......MO O.OROOOOOOOO.OOO O%O.O&......D..O pppHpppppppM.Mpp OT..........&..} OOOOOOOOOOOO.OOO OOOOOOOOOOOO.OOO -----------O.O-- -----------O.O-- OOOOO-----OO.OO- O...OOOOOOO...O- O!.....#....'.O- O...OOO&OOO...O- OOOOO-OOO-OOOOO- [additional] 17 13.1.&.4.0 8.2.&.4.1 3.3.&.2.2 15.4.M.2 15.6.M.2 10.8.&.3.3 14.9.}.3.0.2.0.0.0 12.10.}.1.0.2.0.0.0 14.13.M.2 11.15.M.2 14.17.M.2 5.19.&.3.4 11.20.M.0 13.20.M.2 12.21.&.1.5 15.21.}.2.0.2.0.0.0 7.29.&.2.6 [end] [offset] 508C [level] 45 [colour] 8dbec6 [size] 16.31 [author] nick [data] p}..HbHHHHHHHH&p &p&.###*THTT*@p} HVpppppppppppp&. HVp.........!p.. HVp.}......}.pHH HVp..pppppp..pHH H#p..p...@p..pHH b#p..H.VV.p.?p#H H#p..p.VV.p..p#b HHp..p.VV.p..p#H HTp?.p.VV.H..pHH HTp..p@...p..pHH HTp..pppppp..pTH HTp.}......}.pHH HHp&.........pHH H@ppppppppppppHH H@pTTTp..'''&pHH H@p^^.p..pppppHH H#p...p......pHH b#p..^p...*..pTH H#p...p......pTH HHp..@.......pTH HHp..........pHH HHp......p...pHH HHp..@...p^^.p#H HHp......p...p#b .'p......p^..p#H ..pR...}}pTTTpHH .&ppppppppppppHH }pVHTTVVHTH'.&p& p&HHHHHHHHH...}p [additional] 37 1.0.}.0.0.2.0.0.0 14.0.&.3.0 0.1.&.2.0 2.1.&.2.1 7.1.*.3 12.1.*.3 13.1.@.3 15.1.}.1.0.2.0.0.0 14.2.&.3.1 4.4.}.0.0.0.0.1.1 11.4.}.0.0.0.0.1.1 9.6.@.3 6.11.@.1 4.13.}.0.0.0.0.0.0 11.13.}.0.0.0.0.1.1 3.14.&.5.0 1.15.@.3 1.16.@.3 12.16.&.1.0 1.17.@.3 3.17.^.0.0.0 4.17.^.0.0.0 5.19.^.2.0.0 10.19.*.3 5.21.@.3 5.24.@.3 10.24.^.2.0.0 11.24.^.2.0.0 10.26.^.0.0.0 7.27.}.3.0.2.0.0.0 8.27.}.3.0.2.0.0.0 1.28.&.1.1 0.29.}.3.0.2.0.0.0 13.29.&.4.0 15.29.&.4.1 1.30.&.5.1 14.30.}.2.0.2.0.0.0 [end] [offset] 508C [level] 46 [colour] b5686f [size] 16.31 [author] Robin [data] bbbbbbbbbbbbbbbb .ssssssssssssssb .sT..TssT....&sb .s.ss.ss.ssssssb .s.ssT..Ts&..Tsb .s.ssssssssss.sb ~..s..@....@..sb .sss.ssssssss.sb .s&...@....@..sb .ssssssssssssssb .sT......&sss}sb .s.ssssssss...sb .s..........s.sb ..Tss}ssss.ss.sb .ssTs....s.sT.sb .Ts.s.ss.s.ss.sb s.s.}.sT.s.Ts.sb T.}.s.ss.s.ss.sb .ss.s.Ts.s}sT.sb .Ts.}.ss.ssss.sb s.}.s.sT......sb T.s.s.ss}ssssssb .ss&}.........sb T.sssssTssTssTsb sTs..!ssssss&.sb sss.sssssssssssb T...sT..TsR..&sb .ssss.ss.ssssssb .....TssT....&sb Tssssssssssssssb sbbbbbbbbbbbbbbb [additional] 21 13.2.&.2.0 10.4.&.1.0 6.6.@.3 11.6.@.3 2.8.&.3.0 6.8.@.1 11.8.@.1 9.10.&.4.0 13.10.}.1.0.1.0.0.0 5.13.}.1.0.1.0.0.0 4.16.}.2.0.0.0.0.0 2.17.}.0.0.0.0.0.0 10.18.}.3.0.1.0.0.0 4.19.}.2.0.0.0.0.0 2.20.}.0.0.0.0.0.0 8.21.}.3.0.1.0.0.0 3.22.&.4.1 4.22.}.0.0.1.0.0.0 12.24.&.3.1 13.26.&.1.1 13.28.&.2.1 [end] [offset] 508C [level] 47 [colour] 758785 [size] 16.31 [author] marok [data] !...........@... .@..s@...@ssss@. .s@.......@..@.. @s....@.@....... .s@..@ssss@.HHHH .@.....@.@..H... ...@.@......HR.. .@ssss@....HH... ..@.@......H.... ........H...#... ..HHHHHH.HHHH... .H.............. ..HHHHHHHHHHH... ............H~HH s............V.. }s.............. ..s...HHHHHH.... ..s...H....HHH.. ..s...H......H.. }.s...H......H.. ..s...HHH....H.. ..s.....H....H.. ..s..........H.. ..s..........H.. }...s}...s...H.. }...s}...s...H.. }...s}...s..HH.. }...s}...s..H... }...s}...s..H... }...s}...s..H... }...s}...s..HH.. [additional] 39 12.0.@.2 1.1.@.2 5.1.@.0 9.1.@.2 14.1.@.0 2.2.@.0 10.2.@.1 13.2.@.1 0.3.@.2 6.3.@.2 8.3.@.2 2.4.@.0 5.4.@.2 10.4.@.0 1.5.@.1 7.5.@.1 9.5.@.1 3.6.@.2 5.6.@.2 1.7.@.2 6.7.@.0 2.8.@.1 4.8.@.1 0.15.}.1.0.2.0.0.0 0.19.}.1.0.2.0.0.0 0.24.}.0.0.0.0.0.0 5.24.}.0.0.0.0.0.0 0.25.}.0.0.0.0.0.0 5.25.}.0.0.0.0.0.0 0.26.}.0.0.0.0.0.0 5.26.}.0.0.0.0.0.0 0.27.}.0.0.0.0.0.0 5.27.}.0.0.0.0.0.0 0.28.}.0.0.2.0.0.0 5.28.}.0.0.2.0.0.0 0.29.}.0.0.2.0.0.0 5.29.}.0.0.2.0.0.0 0.30.}.0.0.2.0.0.0 5.30.}.0.0.2.0.0.0 [end] [offset] 508C [level] 48 [colour] 95bc84 [size] 16.31 [author] Robin [data] QQQQQQQQQQQQQQQQ Q^b....Q...Q.HRQ Q.bQQQ...Q...HHQ Q^bQ?QQQQQQQQQQQ Q.bQ.....T.....Q Q^bQ..Q}}Q...^MQ Q.bQQ*Q..Q...^MQ Q^b.Q.Q..Q.QQQQQ Q.Q.Q.Q........Q QTQ...QTQTQTQ.&Q QDQQQQQQQQQQQQQQ Q...}....T-.#..Q QH#H-T-}.T-#.#.Q Q#H#-T-+.T-#.##Q QHHH-+-+.T-###.Q Q###-'M+.+M..#.Q Q#b#-+-T.+-#..#Q Q#.#-T-T.+-####Q Q.~.-T-T.}-...#Q Q.....-T....#..Q QQQQQQQQQQQQQQQQ Q...Q...Q...Q.TQ &.TT&TT.&TT.&.QQ Q...Q...Q...Q..Q QQQQQQ&QQQ&QQQ.Q Q...Q...Q...Q..Q &.TT&.TT&.TTQ.QQ Q...Q...Q...Q..Q QQQQQQQQQQQQQQ.Q Q!..*.......*..Q QQQQQQQQQQQQQQQQ [additional] 28 1.1.^.3.0.0 1.3.^.3.0.0 1.5.^.3.0.0 7.5.}.1.0.1.0.0.0 8.5.}.1.0.1.0.0.0 13.5.^.2.0.0 14.5.M.2 5.6.*.2 13.6.^.2.0.0 14.6.M.2 1.7.^.3.0.0 14.9.&.1.0 4.11.}.2.0.0.0.0.0 7.12.}.1.0.2.0.0.0 6.15.M.0 10.15.M.2 9.18.}.3.0.2.0.0.0 0.22.&.1.1 4.22.&.2.0 8.22.&.3.0 12.22.&.5.0 6.24.&.1.2 10.24.&.6.0 0.26.&.3.1 4.26.&.4.0 8.26.&.2.1 4.29.*.2 12.29.*.2 [end] [offset] 508C [level] 49 [colour] 9bbb8b [size] 16.31 [author] Gedzior [data] PPPPPPPPPPPPPPPP P..............P P.-&----------.P P.-V..PP...PT-.P P.-.P..P.P.PV-.P P.-PPP.#...P.-.P P.-+VP.PPP.P.-.P P.-P.P.P..VP.-.P P.-T.P.P.PPP.-.P P.-P.P.P.P...-.P P.-....P.V.P!-.P P.-.PPPPPPPPP-.P P.-.........}-.P P.------------.P P......R.......P PPPPPPP&PPPPPPPP P..P.T#.#.#P...P P..&.#.##..&...P P..P####.##P...P P..P#.#...#P...P P..&.#.#.#.&...P P..P.#..T##P...P P..PPPP.PPPP...P P....%PDPT.....P P.PPPPP.PPPPPP.P P.P..P...P...P.P P.PM.......PTP.P P.PTP.......MP.P P.P...P...P..P.P PTP...TTTTT..PTP PPPPPPPPPPPPPPPP [additional] 9 3.2.&.2.0 12.12.}.2.0.1.0.0.0 7.15.&.1.0 3.17.&.3.0 11.17.&.4.0 3.20.&.5.0 11.20.&.6.0 3.26.M.0 12.27.M.2 [end] [offset] 508C [level] 50 [colour] ac7d92 [size] 16.31 [author] Gedzior [data] ssssssssssssssss s'.bbbbbbb#b#T.s s%.bb....b.b#T.s ssssssssss.sssss sT............Ts sssDssssss.sssss --s.s-s.......Ts --s.s-s.ssssssss sss.sss..Ts}s--- s.....s.sss#ssss s.H.HHs.s##b###s sHH.H.s.sM....Ms s.T..Ts.sssDssss sH.HH.s.......Ts sR....#.......Ts s.H..Hssss...sss sTHHT.s###...##s sHH.HHsM......Ms s}....s###...##s sss.ssssss...sss --s.s----s...s-- --s.s---ss...s-- --s.s---sM...s-- sss.sss-ss...s-- sH...Hs--s...ss- sH.!.Hs--s...Ms- sH.%.Hs-ss...ss- sHHHHHs-sM...s-- sssssss-ss...sss ---------s....Ts ---------sssssss [additional] 9 11.8.}.1.0.1.0.0.0 9.11.M.0 14.11.M.2 7.17.M.0 14.17.M.2 1.18.}.3.0.0.1.0.0 9.22.M.0 13.25.M.2 9.27.M.0 [end] [offset] 508C [level] 51 [colour] 88a053 [size] 16.31 [author] Gedzior [data] pppppppppppppppp pT........D..@.p ppp...ppppp.pp.p p}.....}p%p.+p.p p}.....}p.p.pp.p p}.....}p.p.p!.p p}.....}p.p.pp.p pT........p....p pppp&ppppppppppp p..ppp..pTHHTp'p p.#...#.pHHHHp.p p..ppp..pHHbHp.p p.pp}pp.pbHHHp.p p.p#.#p.pHHHTp.p p.p#.#p.pTHHHp.p p.pT.Tp.pHHHTp.p p.ppDpp.pp.ppp.p p.p%.%p.pT.....p p.pp.pp.pp.ppppp p..p.p........Mp p.##.##.pppp.ppp p.#p.p#.pT....Tp pppp.ppppp.ppppp p........#..##.p pDp...##.....#.p p.pp.pp.b.#.b.Tp p.Tp.p...##.#..p p.Tp.p.##....##p ppppRppppppppppp p}.###HHHHHH..&p pppppppppppppppp [additional] 14 13.1.@.2 1.3.}.0.0.1.0.0.0 7.3.}.2.0.1.0.0.0 1.4.}.2.0.1.0.0.0 7.4.}.0.0.1.0.0.0 1.5.}.2.0.1.0.0.0 7.5.}.2.0.1.0.0.0 1.6.}.0.0.1.0.0.0 7.6.}.2.0.1.0.0.0 4.8.&.1.0 4.12.}.1.0.1.0.0.0 14.19.M.2 1.29.}.0.0.2.0.0.0 14.29.&.1.1 [end] [offset] 508C [level] 52 [colour] b35d69 [size] 16.31 [author] larek [data] oooooooooooooooo obbbbbboobbbbbbo oboooobooboooobo oHoT.ob..bo.ToHo oHoH.D...%oH.oHo oHoH.oooooo..oHo oHoH.HH..H..HoHo oHo....'....HoHo oHoH....HHH.ToHo oHo.HTH..TH..oHo oHoT.H.H.H.H.oVo oHo.H.TH.HT..oHo oHo...H.H..HHoHo oHoH....HT..ToHo oHo..HH.HTHH.oHo oHo..TH.H.H..oHo oHo.H.H....H.oVo oHoTH.'H.H.T.oHo oHooooooH..H.oHo oHoo...oHH...oHo oHoo.!.D.T..HoHo oHoo...o.H..HoHo oHoooooo...H.oHo oHo.TH.H.TH..oVo oHo.H....H.'.oHo oHo...TH.TH.HoHo oHo.HHH....H.oHo oHooH....HHH.oHo o.Moooo..ooooo.o o......R.oVVVV}o oooooooooooooooo [additional] 2 2.28.M.2 14.29.}.0.0.0.0.1.1 [end] [offset] 508C [level] 53 [colour] 87d072 [size] 16.31 [author] Robin [level_notes] Level edited with GNU Robbo Designer [data] pppppppppppppppp pRpbbbbbbbbb.LTp p.pbpppppppppppp p.pbbbbbbbbbbbbp p.ppppppppppppbp p..Tbbbbbpbbbpbp ppp.ppppbpbpbpbp p!p.pbbbbbbpbbbp p.p.pbpppppppppp p.p.pbbbbbbbbbTp p.p.pppppppppp.p p.p............p pDpppppppppppp.p p....Tpp....Tp.p p.p.ppTp.ppppp.p p.p....p.......p p.p.p.pp.ppTpppp p.p}p.p...ppp.Tp p.ppp...}.....pp p.p}p.p...pp.ppp p.p.p.pp.pp..pTp p.p....p.p...p.p p.p.p.b..p##.p.p p.p..p..pp.#.p.p p}p.....Tp.....p ppppppp.pp.p.ppp pT.#.#p.pT....}p p%#.##b.p.pp.ppp pT.T##p.p.....Mp ppppppp}pT....Mp pppppppppppppppp [additional] 9 13.1.L.2 3.17.}.3.0.1.0.0.0 8.18.}.1.0.0.0.1.1 3.19.}.1.0.1.0.0.0 1.24.}.3.0.1.0.0.0 14.26.}.2.0.1.0.0.0 14.28.M.2 7.29.}.3.0.1.0.0.0 14.29.M.2 [end] [offset] 508C [level] 54 [colour] 8cb7a7 [size] 16.31 [author] Golem XIV [data] -----PRP-------- PPPPPPbPPPPPPPPP }..............M PPPPPP.PPPPPPPPP }..............M PPPPPP#PPPPPPPPP ---P&...'%TP---- PPPPPPPPPPPPPPPP P&^............P PPPPPPPPP.PPPPPP ------P&P&P----- PPPPPPP.PPPPPPPP P}............&P PPPPPPPPPPPPPPPP P&..bHPH~......P PT..bHPHP*....*P PbbbbHPHP.TTTT.P PbbbbHPHP.....*P PHHHHHHHP.....&P PPPPPPPPPPPPPPPP PV.....+PP...P&P P..VP.P......P.P P.PP..P...P.PPDP P............P.P P.PP.P..P..PP..P P...P..P.......P PP.........PP..P P.P.P..PP.P.P..P P....PP....P...P P!.............P PPPPPPPPPPPPPPPP [additional] 17 0.2.}.0.0.0.0.0.0 15.2.M.2 0.4.}.0.0.0.0.0.0 15.4.M.2 4.6.&.1.0 1.8.&.1.1 2.8.^.0.0.0 7.10.&.2.0 9.10.&.2.1 1.12.}.0.0.1.0.0.0 14.12.&.3.0 1.14.&.3.1 9.15.*.1 14.15.*.2 14.17.*.2 14.18.&.4.0 14.20.&.4.1 [end] [offset] 508C [level] 55 [colour] ad8d63 [size] 16.31 [author] cosi [data] ......OOO....... .....Ob.bO...... .....O.b.O...... ..O...ObO...O... ...OROb.bO'O.... ....Ob..bbO..... ...Ob...bbbO.... ...Ob...bbbO.... ..Ob....bbbbO... ..Ob......%bO... ..Ob....bbbbO... ..Ob....bbbbO... ...Ob...bbbO.... ...Ob....bbO.... ..O.Obbb..O.O... .O...OObOO...O^. ................ ################ .######.######.. .#..#.OOO.#...V. .#H#.#O.O#.#H... OOODOOO.OOOOOOOO ....O........... .O##OTVO.O...OO. .O..OOOO.OOOOO.. .O.....O.....O.. .OOOOO.OOOOOVO.. .O!HHHHO}.}OTO.. .OOOOOOO.}.OOO.. ................ ################ [additional] 4 14.15.^.3.0.0 8.27.}.1.0.0.0.0.0 10.27.}.1.0.0.0.0.0 9.28.}.3.0.1.0.0.0 [end] [offset] 508C [level] 56 [colour] a0a757 [size] 16.31 [author] sikor [data] oooooooooooooooo oR.H.....~..~T.o o.&H.###...M~..o oHHH.#.....~~~.o o!...#T##..~...o o#######...~.~~o o..............o o.@~...........o o.T~~..........o o.~~T.......HHHo o..~....^.....?o o.....oDoHHHH.Ho o.....o.o......o o^...To.o....@.o ooooooo.o.HHHHHo oT......o......o o.......o......o oT......oHHHHH.o ooooooo.o......o o....To.o......o o.....o}o.HHHHHo o.....ooo......o o.......^......o oM.........~...o o..............o o..............o o....^.........o oooooDo........o o.....o...HHHHHo oT%...o...H&.'%o oooooooooooooooo [additional] 11 2.2.&.1.0 11.2.M.2 2.7.@.3 8.10.^.3.0.0 1.13.^.0.0.0 13.13.@.2 7.20.}.3.0.1.0.0.0 8.22.^.2.0.0 1.23.M.0 5.26.^.0.0.0 11.29.&.1.1 [end] [offset] 508C [level] 57 [colour] 84a768 [size] 16.31 [author] YMorfeusz [data] ...............R '''''''''''''''' '''''''''''''''' '''''''''''''''' '''''''''''''''' '''''''''''''''' ???????????????? ???????????????? ???????????????? ???????????????? ???????????????? ???????????????? ???????????????? ???????????????? ???????????????? ???????????????? sssssssDssssssss sssssssDssssssss sssssssDssssssss sssssssDssssssss sssssssDssssssss sssssssDssssssss sssssssDssssssss sssssssDssssssss sssssssDssssssss ................ ................ ................ ................ ................ ...............! [additional] 0 [end] [offset] 508C [level] 58 [colour] 9a6391 [size] 16.31 [author] Gedzior [data] --OOOOOOOOOOOOO- --O.....&.....O- --O.}.OO.OO.}.O- --O.T.OT.TO.T.O- --O.T.O...O.T.O- --O.}.OO.OO.}.O- --O...O^..O...O- --OOO.O...O.OOO- ----O.#.!.#.O--- ----OOO.+.OOO--- ------O..^O----- -O#~--OOOOO----- -#V#------------ -~#O------------ ------OOOOOOOO-- ------O......O-- ------O.O~~O.O-- ------O......O-- OOOOOOO.OOOOOO-- O..####.#####OOO O.#OOO#.#OOO##.O O.#HOH#R#HOH##TO O.#bHb#.#bHb##.O O..O###.###O#OOO OO.O..O.O..O.O-- -O.O.OO.OO.O.O-- -O.~.O&.&O.~.O-- -ObObOO.OObObO-- OO.~.O...O.~.OO- O&...O.&.O...&O- OOOOOOOOOOOOOOO- [additional] 12 8.1.&.3.0 4.2.}.0.0.0.0.1.1 12.2.}.0.0.0.0.1.1 4.5.}.0.0.0.0.1.1 12.5.}.0.0.0.0.1.1 7.6.^.1.0.0 9.10.^.3.0.0 6.26.&.2.0 8.26.&.1.0 1.29.&.1.1 7.29.&.3.1 13.29.&.2.1 [end] [offset] 508C [level] 59 [colour] b572b0 [size] 16.31 [author] nick [data] #b#..........''R bob..........ooo #b#.....@....... .o.....##....o.. .......##...o!.. ......####...o.. .....######..... ....########.... ................ ................ ..oooooooooooo.. ..o..........o.. ..o.oooo&ooo.o.. ..o.oTTTTTTo.o.. Doo.oTTTTTTo.o.. ..&@&TTTTT.&.o.. ooo.oTTTTTTo.o.. b#o.oTTTTTTo.o.. ##o.ooo&oooo.o.. ..o..........o.. ..oooooooooooo.. ................ oo.o.o.o.o.o.o.. %o.o.o.o.o.o.o.. ^o.o.o#o.obo.o.. #ooo.o#o.o#o.o.. bo.o.o.o~oboHo.. .o.o.o.o.o*ooo.. .o.o.o.o.o#o.o.. .o.ooo...o.o.o.. .............o}} [additional] 11 8.2.@.3 8.12.&.1.0 2.15.&.2.0 3.15.@.2 4.15.&.1.1 11.15.&.1.2 7.18.&.1.3 0.24.^.3.0.0 10.27.*.3 14.30.}.3.0.1.0.0.0 15.30.}.3.0.1.0.0.0 [end] gnurobbo-0.66+dfsg/data/levels/robbo12.dat0000644000175000017500000006310711324353351017411 0ustar stevestevethis is levelset that originally was made 31.03.1993 [last_level] 32 [default_level_colour] 608050 [last_level] 32 [name] RobboXII [offset] 508C [level] 1 [colour] [size] 16.31 [author] ROBOsoft [data] QQQQQQQQQQQQQQQQ Q'.~........bVTQ QR.~........bVTQ Q..~.....b..bVTQ QQQQQQQ&QQQDQQQQ Q.T.T..!Q......Q Q.T.T...QT.....Q Q.T.T...QT.....Q Q.T.T..&QT.....Q QQQQQQQQQQQQQQDQ --------------T- -@----*---*---T- ---------------- ---@----*---@--- ----????&???---- ----?@&..&@?---- ----????????---- -------@@------- ---------------- ---------------- VVVVVVVVVVVVVVVV ---------------- }??????????????} ---------------- QQQQQQQQQQQQQQQQ Q?.?.?.?.?.?..&Q Q.?.?.?.?.?.??'Q Q..............Q Q.............}Q Q}....TTT.....}Q QQQQQQQTQQQQQQQQ [additional] 21 7.4.&.2.0 7.8.&.3.0 1.11.@.2 6.11.*.0 10.11.*.0 3.13.@.2 8.13.*.0 12.13.@.2 8.14.&.3.1 5.15.@.2 6.15.&.2.1 9.15.&.1.0 10.15.@.2 7.17.@.2 8.17.@.2 0.22.}.0.0.1.0.0.0 15.22.}.2.0.1.0.0.0 14.25.&.1.1 14.28.}.2.0.1.0.0.0 1.29.}.0.0.2.0.0.0 14.29.}.2.0.0.0.0.0 [end] [offset] 528C [level] 2 [colour] [size] 16.31 [author] ROBOsoft [data] ssssssssssssssss sR~.....b....'&s ssssssssHsssssss ......^sHs.....^ '''''''sHs'''''' ssssssssHsssssss s.............&s ss############ss ..#.#.#.#.#.#.#. ................ ssssssssDsssssss s..T.T........&s sssss......sssss ....M......M.... ................ ssssssHHHHssssss s.............&s ssssssssssssssss VVVVVVVVVVVVVVVV VVVVVVVVVVVVVVVV ssssssssssssssss s&.T...}T^..s&.s s..T...}T...ssTs s..T...}T...ssTs ssssssssT...ssTs s&.....sT...&sTs s......sssssssTs s.T..T.s.%..ssTs s......s....sTTs ssss&sss&.}!s?ss ssssssssssssssss [additional] 19 14.1.&.1.0 6.3.^.2.1.1 15.3.^.2.1.1 14.6.&.2.0 14.11.&.3.0 4.13.M.0 11.13.M.2 14.16.&.4.0 1.21.&.5.0 7.21.}.2.0.1.0.0.0 9.21.^.1.0.0 13.21.&.1.1 7.22.}.2.0.1.0.0.0 7.23.}.2.0.1.0.0.0 1.25.&.5.1 12.25.&.3.1 4.29.&.4.1 8.29.&.2.1 10.29.}.3.0.1.0.0.0 [end] [offset] 548C [level] 3 [colour] [size] 16.31 [author] ROBOsoft [data] OOOOOOOOOOOOOOOO O%.....D....^.'O O%...OOO.......O O&TTTOR........O OOOOOO.........O O..^^....b.....O O.......b......O O......b...OOOOO O..........O%.&O ODOOOOOOOOOOOOOO ....O----------O ....O----------O .b..O----------O ..b.O----------O ..#bO-TTTTHHHH.& .#..O-TTTTHHHH.& ....O----------O ....O----------O OOODOOOOOOOOOOOO O.......O....^!O M.......O~M....O M.......O&.....O O.......OOOOOOOO O&......D...T..O OOOOOOOOO...T..O O.......O...T..O O...T@..D...T.%O O...T...OOOOOODO O...T...OHHHHHHO O&......OTTTTT.& OOOOOOOOOOOOOOOO [additional] 16 12.1.^.1.0.0 1.3.&.1.0 3.5.^.1.0.0 4.5.^.1.0.0 14.8.&.2.0 15.14.&.1.1 15.15.&.5.0 13.19.^.2.1.1 0.20.M.0 10.20.M.2 0.21.M.0 9.21.&.6.0 1.23.&.6.1 5.26.@.3 1.29.&.4.0 15.29.&.4.1 [end] [offset] 568C [level] 4 [colour] [size] 16.31 [author] ROBOsoft [data] QQQQQQQQQQQQQQQQ Q.......Q%..T.&Q Q.......#...T.&Q Q#...~..QQQTQQQQ Q.......QT....TQ QQbDDDQQQQQQDQQQ QbbDbDbbbbb...bQ Qbbbbbbbbbbb..bQ QbbbbbbbQbQb..bQ QR.....&QDQ.bbbQ QQQQQQQQQDQQQQQQ Q...V...QDQ....Q Q.......QDQ..V.Q Q.V..QQQQDQQQ.%Q Q....QVVQTQ@Q..Q Q..%.QQQQTQQQ..Q Q....Q...T.%Q.VQ Q%...Q...T.%Q..Q Q....Q...T.%Q..Q Q..V.Q!..T.%Q%.Q Q..V.QQQQQQQQV.Q QQQQQQQQQQQQQQQQ Q....#...TQVVVVQ Q....#.#.TQV%%VQ Q....#...TQVVVVQ QDQQQQQQQQQQDQQQ Q.b..Q....Q...%Q Q....Hb..~D...%Q Q%...Q....Q....Q Q}..%Q....Q...&Q QQQQQQQQQQQQQQQQ [additional] 6 14.1.&.1.0 14.2.&.2.0 7.9.&.2.1 11.14.@.2 1.29.}.3.0.1.0.0.0 14.29.&.1.1 [end] [offset] 588C [level] 5 [colour] [size] 16.31 [author] ROBOsoft [data] ----QQQQQQQ----- ----Q...T.Q----- ----Q&...!Q----- ----QQQQQQQ----- ---------------- ---------------- ---------------- ###############- #&.TTTTTTT...}#- ###############- ---------------- QQQQQQQQQQQQQQQQ Q.^...........^Q Q..**.@...V..*.Q Q.V.QQQQQQQQQQQQ Q@..Q.........QQ Q.*.Q.QQQQQQ..QQ Q.V.Q.....&Q..QQ Q..^Q......Q.QQQ Q.@.Q......Q..?Q Q...Q&....&Q.?RQ QQQQQQQQQQQQQQQQ Q&..QTQTTTTTTTTQ Q...Q.Q........Q Q...Q.QQQQDQQQQQ Q...Q........^QQ QQQ&QQQQQQQQQ.QQ QQQ..^...^%TQ.QQ QQQ........TD.QQ QQQ.......%TQ.QQ QQQQQQQQQQQQQQQQ [additional] 21 5.2.&.4.0 1.8.&.6.0 13.8.}.2.0.0.0.0.0 2.12.^.2.0.0 14.12.^.0.1.1 3.13.*.3 4.13.*.0 6.13.@.2 13.13.*.0 1.15.@.3 2.16.*.0 10.17.&.6.1 3.18.^.3.0.0 2.19.@.3 5.20.&.4.1 10.20.&.5.0 1.22.&.5.1 13.25.^.2.0.0 3.26.&.1.0 5.27.^.1.0.0 9.27.^.1.0.0 [end] [offset] 5A8C [level] 6 [colour] [size] 16.31 [author] ROBOsoft [data] OOOOOOOOOOOOOOOO O............%RO O............%%O O...O..*...O...O O...OOOO'OOO...O OO.....OO.....OO OT............TO OOOOOOO.OOOOOOOO O.V.@.ODO......O O.....OTO.....@O O.^^..O.O......O O....^O.O..!...O O@.V..O.O......T OOOOOOO#OOOOOOOT OTTTTTT.TTTTTTOT OTTTT.........TT OOOOODOOOOOOOOOO O...b...DbVbOO@O O.......D.b.O@OO O...O.O.OOOOOOOO O.b.O^..OV.TOVTO O...O...O..VO.VO OOOOOOODOODOODOO O?O.......b..b.O OVO............O O?O...O.OO#O...O OVOT....MM.....O O?O...O.OO.O...O OVO............O O?O.T...T....T.O OOOOOOOOOOOOOOOO [additional] 12 7.3.*.0 4.8.@.0 14.9.@.1 2.10.^.3.0.0 3.10.^.3.0.0 5.11.^.2.1.1 1.12.@.2 14.17.@.2 13.18.@.2 5.20.^.3.0.0 8.26.M.2 9.26.M.0 [end] [offset] 5C8C [level] 7 [colour] [size] 16.31 [author] ROBOsoft [data] pppppppppppppppp p}............%p p..............p p.......ppp....p p.......#Rp....p p.......ppp@...p p..............p p^.............p p..............p pppDppppppppDppp pHHHHHHHp......p pHTHHHTHp*.TT..p pHHH%HHHp*pppp.p pHHH%HHHp......p pHTHHHTHp..TT.*p pHHHHHHHp.pppp*p p...}...p......p p}.....}p......p pppppppppDppppDp p......%p.p.T..p p.......p.p....p p.......p.p.T..p p......^pTp....p p.......p.p.T..p pT..T..Tp.p....p p.......p.p.T.^p p.......p.p...!p pppp&pppp.pppppp pT............Tp pT............Tp pppppppppppppppp [additional] 13 1.1.}.0.0.1.0.0.0 11.5.@.3 1.7.^.1.0.0 9.11.*.0 9.12.*.2 14.14.*.0 14.15.*.2 4.16.}.3.0.0.1.0.0 1.17.}.3.0.1.0.0.0 7.17.}.3.0.1.0.0.0 7.22.^.2.1.1 14.25.^.3.0.0 4.27.&.5.0 [end] [offset] 5E8C [level] 8 [colour] [size] 16.31 [author] ROBOsoft [data] oooooooooooooooo o!..^...oR...^.o o.......o......o o..#....o......o o....#..o..%...o o.......o......o o......'oT....To oooo.oooooooo.oo oT.o.o......o.o- o.To.o.b....D.o- oT.o.o...%..o.o- o.To.o......o.o- oT.D.o.....bo.o- o.To.o....b.o.o- oT.o.o...b.To.o- o.To.o.oooooo.o- o}.o.oDo...oo.o- oooo.......oo.o- o..........oo.o- o........T.oo.o- o.T......T.oo.o- o..........oo.o- o.....}....oo.o- ooooooooooooo.o- o#....^.....o.oo o.#....^......To o.T#....^.....To o.T.#....^...bTo o....#....^...To o....#.....^..To oooooooooooooooo [additional] 10 4.1.^.3.0.0 13.1.^.3.0.0 1.16.}.3.0.1.0.0.0 6.22.}.3.0.1.0.0.0 6.24.^.1.0.0 7.25.^.1.0.0 8.26.^.1.0.0 9.27.^.1.0.0 10.28.^.1.0.0 11.29.^.1.0.0 [end] [offset] 608C [level] 9 [colour] [size] 16.31 [author] ROBOsoft [data] PPPPPPPPPPPPPPPP P.......'......P P......P.P..^..P P......P.P.....P P..^...P.P.....P PPPPPPPP.PPPPP.P PPPPPPPP.PPPPP.P PPPPPPPP.PPPPPRP PPPPPPPP^PPPPPPP PPPPPPPP.PPPPPPP PPPPPPPP.PPPPPPP PPPPPPPP.PPPPPPP PPPPPPPP.PPPPPPP PPTPTPTP.PTPTPTP P..............P P....b.........P P..............P PM.............P P..............P P........#.....P P..............P PPPPPPPPP.PPP}PP PT..P!#...P....P P.T.P##...P....P P..TP.....P...TP P...P.....P....P }.............TP P..TP.....P....P P.T.P.~...P...TP PT..P.....P....P PPPPPPP}PPPPPPPP [additional] 7 12.2.^.1.0.0 3.4.^.1.0.0 8.8.^.1.0.0 1.17.M.0 13.21.}.1.0.1.0.0.0 0.26.}.0.0.1.0.0.0 7.30.}.3.0.1.0.0.0 [end] [offset] 628C [level] 10 [colour] [size] 16.31 [author] ROBOsoft [data] oooooooooooooooo o!............Ro ooTooooTooooTooo Vo.oVVo.oVVo...o Vo.oVo..oVVo.T.o .o.oo.ToV.Vo...o .o.oVo..o...o..o .o.oV.o..o...o.o Vo..oV.o..o..o.o VVo..oVVo.oV.o.o V.Vo..o.o.o.Vo.o .V.Vo..oo.o.Vo.o V.VVVo.oo.o..oTo ....Vo.oo.oo.o.o ...VVo.oo..ooo.o oooooo.oo...To.. o......oo.T..oo. o...T..oo.....o. o......oooo..oo. oooo...oV.o..o.. .V.o...ooooo.o.o .V.o.T.....o.o.o oooo......To.oTo o..ooooooooo.o.o o............o.o oT...........o.o o....T.....ooo.o o}.........o...o o..........o...o o...T..}...o.T.o oooooooooooooooo [additional] 2 1.27.}.0.0.1.0.0.0 7.29.}.3.0.1.0.0.0 [end] [offset] 648C [level] 11 [colour] [size] 16.31 [author] ROBOsoft [data] oooooooooooooooo oR'...........%o o.............}o o........?.....o o....T.@....}.To o.T.ooo...oooooo o....T....o...bo o........To....o o..b......D...&o oooooooooooooooo ---------------- ---------------- ---------------- ----ooooooooo--- ----oT..&&..o--- ----o...&T..o--- ----ooooooooo--- ----o..&o..To--- ----o&.To..&o--- ----ooooooooo--- ---------------- oooooooooooooooo o..%%.....o!DDDo o.....b...oDDDDo o.........oDTTDo o...TT....ooooDo o..oooo*.....b.o o...TT.........o o..............o &.............}o oooooooooooooooo [additional] 13 14.2.}.2.0.0.0.0.0 7.4.@.3 12.4.}.3.0.1.0.0.0 14.8.&.1.0 8.14.&.2.0 9.14.&.3.0 8.15.&.3.1 7.17.&.1.1 5.18.&.2.1 11.18.&.1.2 7.26.*.1 0.29.&.3.2 14.29.}.3.0.1.0.0.0 [end] [offset] 668C [level] 12 [colour] [size] 16.31 [author] ROBOsoft [data] oooooooooooooooo oT.o.......&oT}o oT......#..o...o oooo...o##o#...o o}.....Too##...o o}.....TooR#...o oooo...o##o#...o oT......#..H'..o oT.o........o}To oooooooooooooooo o....T..&..T...o o...T...o...T..o o.....^........o oooooooo.ooooooo o..........^...o o.......o......o o...&...o..TT..o o.......o......o oooooooooooooooo o..........&...o o}.........oooTo o.....oooooooo.o o.....o}.......o o.T...o}.......o o.....ooooooooTo o...........}o.o o...........}oTo o.......Mooooo.o o..!..oooo...oTo o}....o..#.....o ooooo}oo&ooooooo [additional] 19 11.1.&.5.0 14.1.}.1.0.1.0.0.0 1.4.}.0.0.2.0.0.0 1.5.}.0.0.2.0.0.0 13.8.}.3.0.1.0.0.0 8.10.&.5.1 6.12.^.2.0.0 11.14.^.0.0.0 4.16.&.4.0 11.19.&.6.0 1.20.}.0.0.2.0.0.0 7.22.}.0.0.1.0.0.0 7.23.}.0.0.1.0.0.0 12.25.}.2.0.1.0.0.0 12.26.}.2.0.1.0.0.0 8.27.M.2 1.29.}.0.0.1.0.0.0 5.30.}.3.0.1.0.0.0 8.30.&.4.1 [end] [offset] 688C [level] 13 [colour] [size] 16.31 [author] ROBOsoft [data] PPPPPPPPPPPPPPPP P.............&P P..............P PM...........PPP P.....PPPPPPPP&P P.....PTTTTTTT.P P.....PT.......P P.....PT.......P P.....PT...}...P P.....PT.......P P.....PT.......P P.....PPPPPPPP.P P.....TTT...TP.P P......T..}..P.P P......T.....P.P P.....TTT...TP.P P.....PPPPPPPP.P P.....PT.....T.P P.....P........P P.....P...}P...P P.....P........P P.....P........P P.....PT....T..P P....bPPPPPPP..P P...........P..P P..........}P..P P...........P..P PTT.....PPPPP..P PT......PR.....P PT.}..!.P..bP.^P PPPPPPPPPPPPPPPP [additional] 9 14.1.&.4.0 1.3.M.0 14.4.&.4.1 11.8.}.3.0.0.1.0.0 10.13.}.0.0.0.0.1.1 10.19.}.0.0.0.0.1.1 11.25.}.2.0.2.0.0.0 3.29.}.3.0.1.0.0.0 14.29.^.3.0.0 [end] [offset] 6A8C [level] 14 [colour] [size] 16.31 [author] ROBOsoft [data] OOOOOOOOOOOOOOOO OR............&O OOOOOOO.OOOOOOOO O&O...O.O%....&O O.....O.O......O O....TO.O.TTTT.O O....TO.O.TTTT.O OOO...O^O......O OTO^..O.O%....&O ODOOOOO.OOOOOOOO O....O...O..}..O O..b.O...O.....O O....O...O.%...O O....O...O.....O O....O...O.....O O....D...D.....O O....O...O.b...O O}...O...O.....O OOODOO...O.T...O O....O...O.....O O....O...O....TO O.T..O...O...T.O O....O...OOODOOO O.T..O...O.....O O....O...O.....O O.T..O...O.T.T.O O....O###O..T..O O.T..O...O.T.T.O O....O...O.....O O....O.!.O.....O OOOOOOOOOOOOOOOO [additional] 8 14.1.&.5.0 1.3.&.6.0 14.3.&.6.1 7.7.^.3.0.0 3.8.^.3.0.0 14.8.&.5.1 12.10.}.1.0.1.0.0.0 1.17.}.3.0.1.0.0.0 [end] [offset] 6C8C [level] 15 [colour] [size] 16.31 [author] ROBOsoft [data] ssssssssssssssss sR......T.....!s s.......T......s s.......%......s s.......T......s s....^..T.^....s s..ssssssssss..s s}.............s s..............s s..............s sssssssssss.T..s s....H....s..T.s s....T....s....s s..T.H.T..s....s s.T..H..T.s....s s..T.H.T..s....s s..b.b.b..s....s s.b.TTT.b.s.T..s s..b.b.b..s..T.s s.........s....s s........s.....s s.......s......s s}.....D.......s s.....s..T.T...s s....s..T.T....s s...s.......}..s s...sssssssss..s s..........TsMMs s.T.......TTs.Vs s..T...^...Ts..s ssssssssssssssss [additional] 8 5.5.^.3.0.0 10.5.^.3.0.0 1.7.}.0.0.1.0.0.0 1.22.}.0.0.1.0.0.0 12.25.}.3.0.1.0.0.0 13.27.M.2 14.27.M.0 7.29.^.3.0.0 [end] [offset] 6E8C [level] 16 [colour] [size] 16.31 [author] ROBOsoft [data] Q&QQQQQQQQQQQQQQ Q.............RQ Q..........Q...Q Q.......T..Q*..Q Q.QQQQ.....QQQ.Q Q...*Q..T......Q Q....Q.........Q Q....Q..T.T.T..Q Q..............Q QQQQQQQQQQQQQQQQ &.............}Q Q.T..QQ........Q Q....QM.....Q..Q Q...........QT.Q Q}....T.....Q..Q QQQQQQQQQQ..QT.Q QT.......QT.Q..Q Q}.......Q..QT.Q Q.....TQ....Q..Q Q.T...Q........Q Q!T........}..TQ QQQQQQQQQQQQQQQQ Q..........T...Q Q.....Q.....T..Q Q.T...Q......T.Q Q..T..&....@...Q Q...T.Q@..QQQ..Q Q.....Q........Q Q........T.....Q Q.........T....Q Q&QQQQQQQQQQQQQQ [additional] 13 1.0.&.1.0 12.3.*.0 4.5.*.2 0.10.&.2.0 14.10.}.1.0.1.0.0.0 6.12.M.0 1.14.}.0.0.1.0.0.0 1.17.}.0.0.1.0.0.0 11.20.}.3.0.1.0.0.0 6.25.&.2.1 11.25.@.2 7.26.@.3 1.30.&.1.1 [end] [offset] 708C [level] 17 [colour] [size] 16.31 [author] ROBOsoft [data] PPPPPPPPPPPPPPPP P&.....HTH....&P PPPPPPPPPPPPPPPP P'TV.^^V.^VH..&P PPPPPPPPPPPPPPPP P&%'^..T^...T.&P PPPPPPPPPPPPPPPP P&.....@...*.HTP PPPPPPPPPPPPPPPP PTVVVVVVVVVVbbbP PVVVVVVVVVVV###P PVVVVVV}VVVV#.&P PPPPPPPPPPPPPPPP P&.~.b.@.b.b.*TP P.....b.b...b.*P P?.?T..b..~T.b.P PPDPPPPPPPPPPPPP P.#~.bV..T.....P P....bb..VT????P P&...bV....T...P PPPPPPPPPPPPPPPP P..?..^TD##.##&P P..T^...Pb.#.#.P PVVVVVVVP##.#.#P P......}P#.#.#.P P?^?.T.?P.#.#..P PPPPPPPPPPPPPPPP P&T@...T...*..&P PTT....'.....##P P!T....T.....#RP PPPPPPPPPPPPPPPP [additional] 29 1.1.&.3.0 14.1.&.2.0 5.3.^.2.0.0 6.3.^.2.0.0 9.3.^.2.0.0 14.3.&.5.0 1.5.&.4.0 4.5.^.2.0.0 8.5.^.2.0.0 14.5.&.3.1 1.7.&.4.1 7.7.@.2 11.7.*.0 7.11.}.3.0.0.1.0.0 14.11.&.4.2 1.13.&.2.1 7.13.@.0 13.13.*.2 14.14.*.3 1.19.&.1.0 6.21.^.1.0.0 14.21.&.1.1 4.22.^.0.0.0 7.24.}.3.0.0.1.0.0 2.25.^.1.0.0 1.27.&.3.2 3.27.@.0 11.27.*.2 14.27.&.5.1 [end] [offset] 728C [level] 18 [colour] [size] 16.31 [author] ROBOsoft [data] ssssssssssssssss s!s...........Rs s.s.....T..'...s s.s....*.......s sVs..ssssss..T.s s.s.....*......s s.s............s s.sss.s........s s.....sT......Ts sssssss&ssssssss sbbbbbb.bbbbbbbs sssssss&ssssssss s.........@..@.s s..............s s....TTTTTT...@s s....TTTTTT....s s..............s s.............@s s&ssssssssssssss s.T.T.T.T.sTTTTs &.T.......sTTT.& sss}s}s}s}ssssss s&...b...#sH..&s s...bsb.#T#sH..s s..bsbsb.#.bsH.s s.bsb.bsbbVVbsbs s.sb...bs.bbsbbs s.bs.V..bsbsbbbs s..bs.V.bbsbbbbs s..............s ssssssssssssssss [additional] 17 7.3.*.0 8.5.*.2 7.9.&.3.0 7.11.&.4.0 10.12.@.0 13.12.@.0 14.14.@.1 14.17.@.2 1.18.&.6.0 0.20.&.2.0 15.20.&.1.0 3.21.}.3.0.1.0.0.0 5.21.}.3.0.1.0.0.0 7.21.}.3.0.1.0.0.0 9.21.}.3.0.1.0.0.0 1.22.&.1.1 14.22.&.2.1 [end] [offset] 748C [level] 19 [colour] [size] 16.31 [author] ROBOsoft [data] PPPPPPPPPPPPPPPP P.}.R..........P P.............}P P......P.......P P......P.......P P......P.PPPPPPP P......P....P'%P P......P}...P..P P......P...bPDPP P..........T...P P..}...........P P.PPPPPPPPP....P P.....M......T.P P..............P P.........P....P P..T.....MP....P P.........P....P P..P*.....P.}..P P...P..........P P...*P...?.....P P.........?....P P?.............P P.?.......P....P P........}P....P P...PPPPPPP....P P...b..........P P}........}....P P..PPP.........P P....PPPP......P PT.}...!PPP...}P PPPPPPPPPPPPPPPP [additional] 14 2.1.}.1.0.1.0.0.0 14.2.}.2.0.1.0.0.0 8.7.}.0.0.1.0.0.0 3.10.}.3.0.1.0.0.0 6.12.M.0 9.15.M.2 4.17.*.0 12.17.}.3.0.0.1.0.0 4.19.*.2 9.23.}.2.0.2.0.0.0 1.26.}.3.0.2.0.0.0 10.26.}.0.0.0.0.1.1 3.29.}.3.0.1.0.0.0 14.29.}.3.0.1.0.0.0 [end] [offset] 768C [level] 20 [colour] [size] 16.31 [author] ROBOsoft [data] OOOOOOOOOOOOOOOO &..}....O...}.RO O.T..T..}......O O.......O..T.T.O O}......H......O OOOHOOHOOOHOHOOO O.......O......O O...T...H.....}O OT....}.O.}.T..O OOOOOOOOOOOOOOOO O.......T.T..^.O O.OOO..OOOOOOOOO O.O&O..O&......O O......OOOOOO!.O O...........OOOO O.......O.....}O O......O@......O O..............O OOO}.OOOOOOOOO.O O...........}O.O O.....OOOOOOOO.O O....}O}.......O O...OOOOODOOO..O O...O.......&..O O...ODO...OOO..O O....^O...O....O O....OO..OOO...O OTTOOO..O..OOOOO OOOO...O......MO O&...O...T....}O OOOOOOOOOTOTOOOO [additional] 22 0.1.&.4.0 3.1.}.1.0.1.0.0.0 12.1.}.1.0.1.0.0.0 8.2.}.0.0.0.0.1.1 1.4.}.0.0.1.0.0.0 14.7.}.2.0.1.0.0.0 6.8.}.3.0.1.0.0.0 10.8.}.3.0.1.0.0.0 13.10.^.0.0.0 3.12.&.5.0 8.12.&.5.1 14.15.}.1.0.1.0.0.0 8.16.@.0 3.18.}.3.0.1.0.0.0 12.19.}.2.0.1.0.0.0 5.21.}.2.0.2.0.0.0 7.21.}.0.0.2.0.0.0 12.23.&.2.0 5.25.^.0.0.0 14.28.M.2 1.29.&.4.1 14.29.}.2.0.2.0.0.0 [end] [offset] 788C [level] 21 [colour] [size] 16.31 [author] ROBOsoft [data] oooooooooooooooo o.}....}&....}.o }..............o o..T.T..o..T...o o..............} oo.o.oo.Ro.oo.oo o.....T.o......o o.T............} o...}...o.}.T..o oooooooooooooooo o.............&o o..........TT..o o..}...........o o......oooooo..o o....ooo...To..o o....o.....%oT.o o....o.T.oooo..o o..ooo...o}...To o..&....}o}...To o..oooooooooo..o oT...........T.o ooooooooooooooDo o..........o}..o o..........o...o o...^......o}..o o....^.....o...o o.....^....o}..o o......^...oo..o o.......^...o..o o!.......^..T..o oooooooooooooooo [additional] 24 2.1.}.1.0.1.0.0.0 7.1.}.1.0.1.0.0.0 8.1.&.6.0 13.1.}.1.0.1.0.0.0 0.2.}.0.0.1.0.0.0 15.4.}.2.0.1.0.0.0 15.7.}.2.0.1.0.0.0 4.8.}.3.0.1.0.0.0 10.8.}.3.0.1.0.0.0 14.10.&.6.1 3.12.}.0.0.0.0.1.1 10.17.}.0.0.2.0.0.0 3.18.&.4.0 8.18.}.3.0.1.0.0.0 10.18.}.0.0.2.0.0.0 12.22.}.0.0.2.0.0.0 4.24.^.1.0.0 12.24.}.0.0.2.0.0.0 5.25.^.1.0.0 6.26.^.1.0.0 12.26.}.0.0.2.0.0.0 7.27.^.1.0.0 8.28.^.1.0.0 9.29.^.1.0.0 [end] [offset] 7A8C [level] 22 [colour] [size] 16.31 [author] ROBOsoft [data] QQQQQQQQQQQQQQQQ Q}.......Q...'%Q Q.....Q..Q.....Q Q%....Q.......}Q QQQQQQQ..QQQQQQQ Q..............Q Q.#...#..R..#..Q Q..#...#..!..#.Q Q..............Q QQDQQQDQQQQQ.DQQ QT.TTQ..T.TQ...Q Q....Q...T.Q...Q Q..@.Q..T.TQ...Q Q....Q.....Q...Q Q#QQQQQQQQQQ...Q Q..Q....T....T.Q Q..Q.....T..T..Q Q..Q}.....TT...Q Q..Q}.....TT...Q Q..Q.....T..T..Q Q}.Q....T....T.Q QQDQQQQQQ......Q Q....T.TQ...b..Q Q.....T.Q..b...Q Q}.....TQ......Q Q.......Q......Q Q......^Q..MM..Q QT......Q..TT..Q Q.T.....Q.TTTT.Q QT.T....QTTTTTTQ QQQQQQQQQQQQQQQQ [additional] 10 1.1.}.0.0.1.0.0.0 14.3.}.2.0.1.0.0.0 3.12.@.3 4.17.}.0.0.2.0.0.0 4.18.}.0.0.2.0.0.0 1.20.}.3.0.1.0.0.0 1.24.}.0.0.1.0.0.0 7.26.^.0.0.0 11.26.M.2 12.26.M.0 [end] [offset] 7C8C [level] 23 [colour] [size] 16.31 [author] ROBOsoft [data] ssssssssssssssss s&....sss.TTbb.s s.....DDD.TbH.}s sssssssss......s s.V.s..........s s####...#R.....s s.....~..#.....s s...s..........s s...s.........'s s...ssssssssssss s^*.s......sTTTs sHHHs......sHHHs sT%HH......sHHHs sssss..........s s...!s.........s s....DDD...s...s s..}.#Ds...s...s s.......s..s...s ssssssssssssHHss sHHTHHHsHHH....s sHHHHHHsHHH....s sHTHTHHDHHH....s ssssssssHHH....s s%.}...s..b.b..s s'.....s...b...s s}.....D.......s s......s.......s sssDsssssDssssss sbbbb###bbsT..&s sbbbb#%#bbs....s ssssssssssssssss [additional] 8 1.1.&.5.0 14.2.}.2.0.2.0.0.0 1.10.^.3.0.0 2.10.*.0 3.16.}.3.0.0.1.0.0 3.23.}.1.0.1.0.0.0 1.25.}.0.0.1.0.0.0 14.28.&.5.1 [end] [offset] 7E8C [level] 24 [colour] [size] 16.31 [author] ROBOsoft [data] OOOOOOO--------- O....^O--------- O.....OOOOOOOOOO O^..O.O.TO}....O O..bORO..O%..O.O O....O...OOOOO.O O..........O...O O.OOOOO........O O..'OT..OOOOOODO OOOOOOOOO......O O}..T...O......O O}...T..O......O OOOOOOODO......O O..........*...O O........OOO...O O...*..........O O...OOO........O O..............O OOOOOOOO.....OOO O%...T..O...O!.O O}..........TO*O O}..........O..O OT...T..O...TO.O OOOOOOOO....O..O OT%.^D....b..ODO OOOOOO.........O OTO............O OVO.O@..O@..O@.O O.O............O O.D............O OOOOOOOOOOOOOOOO [additional] 14 5.1.^.0.0.0 1.3.^.1.0.0 10.3.}.0.0.0.0.0.0 1.10.}.0.0.2.0.0.0 1.11.}.0.0.2.0.0.0 11.13.*.0 4.15.*.0 1.20.}.0.0.2.0.0.0 14.20.*.3 1.21.}.0.0.2.0.0.0 4.24.^.0.0.0 5.27.@.3 9.27.@.3 13.27.@.3 [end] [offset] 808C [level] 25 [colour] [size] 16.31 [author] ROBOsoft [data] oooooooooooooooo oT...?oHHHH.TTTo o.ToDooHHHHooooo oooo.b.....oT..o o}....b....oo*.o o......b.....D.o oDooooooo....ooo o.@.....D......o o@..T...o......o ooooooooooo.oooo o.b.##To....#.To ob.bb##o....#..o obbbbbbo....#..o obbobooo....#.%o obo&...o.ooooooo obb....o.o@.@..o obD...}o.o.....o o#oooooo.o@.R..o o........o..%..o o....}...o..%..o o........o.....o oooooooDooo&oooo oT.T......ooo?!o o.T.......o.o..o oT........o.o..o o...o*....o.o..o o..ooo....o.o..o o..*o.....o.o..o o......oooo^oo.o o......D.......o oooooooooooooooo [additional] 14 1.4.}.1.0.1.0.0.0 13.4.*.0 2.7.@.0 1.8.@.2 3.14.&.1.0 10.15.@.0 12.15.@.0 6.16.}.2.0.2.0.0.0 10.17.@.3 5.19.}.3.0.0.1.0.0 11.21.&.1.1 5.25.*.0 3.27.*.2 11.28.^.3.0.0 [end] [offset] 828C [level] 26 [colour] [size] 16.31 [author] ROBOsoft [data] ---------------- OOOOOOOOOOOOOOOO O}......T..%..RO O}....T.OOOO'..O O}......%..'..!O OOOODOOOOOOOOOOO O............bbO O.............MO O............bbO O....T....T....O O..............O }H#HHHH^HHHHH#H} O#............#O O....T*.@.*....O O...@......@...O O....*.*..*.@..O O##############O O..............O O.M............O O..........M...O O.....M........O O...........M..O O..............O OOOOOOOODOOOOOOO O^.............O O.T.....V.....^O O^..T......T...O OT....T...T....O O...^...^...^.^O O.T........T..bO OOOOOOOOOOOOOOOO [additional] 27 1.2.}.0.0.2.0.0.0 1.3.}.0.0.2.0.0.0 1.4.}.0.0.2.0.0.0 14.7.M.2 0.11.}.0.0.2.0.0.0 7.11.^.2.0.0 15.11.}.2.0.2.0.0.0 6.13.*.1 8.13.@.3 10.13.*.1 4.14.@.3 11.14.@.3 5.15.*.0 7.15.*.0 10.15.*.0 12.15.@.2 2.18.M.0 11.19.M.2 6.20.M.2 12.21.M.0 1.24.^.0.0.0 14.25.^.0.0.0 1.26.^.0.0.0 4.28.^.3.0.0 8.28.^.3.0.0 12.28.^.3.0.0 14.28.^.0.0.0 [end] [offset] 848C [level] 27 [colour] [size] 16.31 [author] ROBOsoft [data] OOOOOOOOOOOOOOOO O.............%O O.----.........O O.-T...........O O.--.......R...O O.-T......b...^O O.----@........O O.............'O OOODOOOOOOOOOOOO OTHHH.........TO OHHH..-...-...TO O.....-.T.-...TO O.....-..@-....T O.....-T-T-....O O.....--.--....O O.............}O OOOOOOOOHOOOOOOO OT..O..........O O.T.O.....----.O O.VTO.....-%}-.O O...O.....-T.-.O OODOO.....--D-@O O.........-..-.O O..............O O}....T....T...O O..-----.......O O..-.!.-....THHO O..-...-....HTHO O..---H-....HHTO O...........HHTO OOOOOOOOOOOOOOOO [additional] 7 14.5.^.3.0.0 6.6.@.3 9.12.@.2 14.15.}.3.0.2.0.0.0 12.19.}.1.0.0.0.0.0 14.21.@.1 1.24.}.0.0.2.0.0.0 [end] [offset] 868C [level] 28 [colour] [size] 16.31 [author] ROBOsoft [data] ---------------- ---------------- ---------------- ----ssssss------ ----s...}sssss-- ----s.%..D...s-- ----sR.?.sss.s-- ----ssssss}sDs-- sssss.T.Ts.sbs-- s}.........bbs-- s..sssssssssss-- s%...........s-- sssss}s}s}ss.s-- -----------sDs-- ssssssssssss.sss s..............s s.............^s s..............s s.!...sssss....s s....%.}s}.%...s s.......s......s s.......s......s s..............s ssssDsssssssDsss s......}s......s s...T...s..T...s s.Ts....s*.s...s s....^T.s.*.*.*s s...Ts..ssssDsss s}......D.T.T.%s ssssssssssssssss [additional] 16 8.4.}.1.0.0.0.0.0 10.7.}.1.0.2.0.0.0 1.9.}.0.0.1.0.0.0 5.12.}.3.0.1.0.0.0 7.12.}.3.0.1.0.0.0 9.12.}.3.0.1.0.0.0 14.16.^.0.1.1 7.19.}.1.0.2.0.0.0 9.19.}.1.0.2.0.0.0 7.24.}.1.0.2.0.0.0 9.26.*.1 5.27.^.0.0.0 10.27.*.0 12.27.*.0 14.27.*.0 1.29.}.0.0.1.0.0.0 [end] [offset] 888C [level] 29 [colour] [size] 16.31 [author] ROBOsoft [data] ssssssssssssssss s..}....}bbb#!Vs s...ssss.bssssss s...s..........s sM.&s..........s ssssssss.sss.sss s......?.......s s..............s ssssssss.sss.sss s..............s s..............s ssss.sss.sssssss s.?..........?.s s..............s s..sss....sss..s s...&s....s&...s s..sss....sss..s s.?.........?..s s......sHs.....s ssssssssHsssssss s......sHs.....s s....b..b...b..s s.R............s s.....b...b....s s..............s ssssssssssssssss s..............s s..............s s..............s s}.HHHHHTHHHH-&s sssssssssTssssss [additional] 8 3.1.}.1.0.2.0.0.0 8.1.}.1.0.1.0.0.0 1.4.M.0 3.4.&.4.0 4.15.&.5.0 11.15.&.4.1 1.29.}.0.0.2.0.0.0 14.29.&.5.1 [end] [offset] 8A8C [level] 30 [colour] [size] 16.31 [author] ROBOsoft [data] PPPPPPPPPPPPPPPP P&.#.....'.P..bP P..#.....%.~..bP P..#...^.'.P..bP PPPPPPPPPPPPbbbP P.V.V.@.V.@.b..P P@.V.bbbbbbb...P PVV.VbbbbbbbbbbP PV.V.V.V..@.V..P PPPPPPPP.PPPPPPP P......PVP.....P P.T..T.P.P..T.*P P...^..DDD.T.T.P P.^....P.P..T.*P P......P.P..*..P PPPPPPPP.PPPPPPP P&T..P.....P...P PT......?....b.P P...?P.....P...P PPPPPPPPPPPPPPPP PHHHHHHHHHHHHHHP PHHTHHHH?HHHHHHP PHHHTHHH!HHHTHHP PHHHHTHHHHHTHHHP PHHHHHHHHHHHHHHP P..............P P....PPPPPPP...P P....P&....P.}.P P....P..R..P...P P....P&....H...P PPPPPPPPPPPPPPPP [additional] 15 1.1.&.1.0 7.3.^.1.0.0 6.5.@.2 10.5.@.2 1.6.@.2 10.8.@.2 14.11.*.3 4.12.^.2.1.1 2.13.^.1.0.0 14.13.*.3 12.14.*.0 1.16.&.5.0 6.27.&.1.1 13.27.}.3.0.0.1.0.0 6.29.&.5.1 [end] [offset] 8C8C [level] 31 [colour] [size] 16.31 [author] ROBOsoft [data] PPPPPPPPPPPPPPPP P!.............P P..........^...P PHHHMHHHHHHHMHHP PHHHHHHHHHHHHHHP PHHTHHPPPPPHHTHP PHHHHH.?'?.HHHHP P?HHHH.....HHH?P PPPPPPPP&PPPPPPP P...}.......}..P P..............P PT............TP P.....#####....P P....T#...#.T..P P.....#.&.#....P P...T.#...#T...P P.....#####....P PT............TP P..............P P....}.....}...P PPPPPPPPPPPPPPPP P#.#.#.#.#.#.#.P P.#.#.#.#.#.#.#P P#T#.#.#.#.#.#.P P.#.#.#.#.#.#.#P P#.#.#.#&#.#.#.P P.#.#.#.#.#.#.#P P#.#.#.#.#.#.#.P P.#.#.#.#.#.#.#P P#T#.#.#.#.#.#RP PPPPPPPPPPPPPPPP [additional] 10 11.2.^.2.1.1 4.3.M.0 12.3.M.2 8.8.&.6.0 4.9.}.1.0.1.0.0.0 12.9.}.1.0.1.0.0.0 8.14.&.5.0 5.19.}.3.0.1.0.0.0 11.19.}.3.0.1.0.0.0 8.25.&.5.1 [end] [offset] 8E8C [level] 32 [colour] [size] 16.31 [author] ROBOsoft [data] QQQQQQQQQQQQQQQQ QQT.....%.....}Q Q}Q?.....%...TQQ Q.@QT.......?Q}Q QH.@Q?....?TQ@HQ Q...}QT...?Q}@HQ QH..H.Q?.TQ@H.HQ Q..@H..QHQ..H.HQ QH..H......@H.@Q Q@..H.......H.H' QH..HQQQQQQQQQQQ Q...????????H??Q Q...Q'bbbbbbHQQQ QHHH##QQQQQQH.}Q QH..H.b....RH}.Q QH....b.....H..Q QH..#HHHHHH}HHHQ QHH#.HbHHHHHHHbQ QH..#.b...HVHb.Q QH..#.b...HVH~.Q QH....b@..HVH..Q QH#...b@..HVH..Q QH#...b@bbHVH..Q QH........HTH.~Q QH...@@...HTH.*Q QH...@....HTH..Q Q###.M....HTH?.Q Q..#..M...HTH*.Q Q..#...MTTHTH.?Q Q!..#....MHTH.*Q QQQQQQQQQQQQQQQQ [additional] 30 14.1.}.2.0.1.0.0.0 1.2.}.1.0.0.0.0.0 2.3.@.0 14.3.}.1.0.0.0.0.0 3.4.@.0 13.4.@.2 4.5.}.1.0.0.0.0.0 12.5.}.1.0.0.0.0.0 13.5.@.0 11.6.@.0 3.7.@.1 11.8.@.1 14.8.@.2 1.9.@.2 14.13.}.0.0.0.0.1.1 13.14.}.0.0.0.0.1.1 11.16.}.2.0.2.0.0.0 7.20.@.2 7.21.@.2 7.22.@.0 5.24.@.2 6.24.@.3 14.24.*.2 5.25.@.2 5.26.M.2 6.27.M.2 13.27.*.2 7.28.M.2 9.29.M.2 14.29.*.0 [end] gnurobbo-0.66+dfsg/data/levels/robbo04.dat0000644000175000017500000013774011324353351017417 0ustar stevesteve[name] RobboIV [last_level] 56 [default_level_colour] 608050 [offset] 388C [level] 1 [colour] [size] 16.31 [author] R. Victorik [data] pppppppppppppppp pTp?.......}T}Tp p.p..pppp......p pDp..pT......HHp p....p.......HHp p^...p.@.p...HHp p....ppppp..}HTp p............HHp p....pppp....HHp p....pT?......}p p.b..p.........p pb.b.p.@.p..M?Mp pTb..ppppp.....p pb.b.......###.p p.b..ppppp..#..p p.....Tp@..###.p }......p.......p p^.....p..?....p M.....'p.......p p.T##......!...p p...#.....!.!.Rp ppppppppppp.pppp p........&p.pppp p.pppppppp..pppp p.p.&.}.....Mppp p.p.......pppppp p.#.#.....^p&.Tp p#.#....b..p..Tp p.#.#......p..Tp p#.#.......p^.Tp pppppppppppppppp [additional] 20 11.1.}.1.0.1.0.0.0 13.1.}.1.0.1.0.0.0 1.5.^.3.0.0 7.5.@.3 12.6.}.0.0.0.0.1.1 14.9.}.0.0.0.0.1.1 7.11.@.3 12.11.M.0 14.11.M.2 8.15.@.3 0.16.}.0.0.1.0.0.0 1.17.^.2.0.0 0.18.M.0 9.22.&.1.0 4.24.&.10.0 6.24.}.1.0.1.0.0.0 12.24.M.2 10.26.^.3.0.0 12.26.&.1.1 12.29.^.2.0.0 [end] [offset] 3A8C [level] 2 [colour] [size] 16.31 [author] R. Victorik [data] ssssssssssssssss s.&.H.......}^Ts s?HHH..........s s?HHH..........s s.&.H..R.......s ssssss........Ms s#..&s........Ms sT#..s.........s s#.##s...#.....s s.##.s..#T#sDsss s#..#s...#.s..'s s.##.s.....s+.Ts s..........sssss s.............^s s..............s s..............s s.s.s.s&s.s.s..s s..s@s.s@s.s.s.s s.........b....s s........b.b...s ssssss....b.b..s s#..%s.........s s#.!.D........}s sT#..s.........s ssssssssssssssss s'T...&s^..#..&s s......s..#.#..s s..&...s.......s s.b..sDM^......s s....sTs&.....Ts ssssssssssssssss [additional] 19 2.1.&.3.0 12.1.}.1.0.1.0.0.0 13.1.^.3.0.0 2.4.&.3.1 14.5.M.2 4.6.&.2.0 14.6.M.2 14.13.^.2.0.0 7.16.&.1.0 4.17.@.3 8.17.@.3 14.22.}.2.0.1.0.0.0 6.25.&.10.0 8.25.^.3.0.0 14.25.&.2.1 3.27.&.1.1 7.28.M.0 8.28.^.2.0.0 8.29.&.1.2 [end] [offset] 3C8C [level] 3 [colour] [size] 16.31 [author] R. Victorik [data] pppppppppppppppp p&b!p#.R.#p...&p pbb.p.#.#.p....p p..&.#^#.#.....p p.....#.#......p p......#.#.....p p}.}...#T#.....p p......###.....p p#T#...........p p..#....pppppppp p.##....^^^^^T'p ppppb..........p pTpbp..........p p..+D..........p p?..p..........p pppppppppppppppp p......DDD....@p p^.....ppp.....p p......p^b.....p p^.....p.b....Mp p......p.b.....p p......p.b....Mp pHHHHHHp.b.....p pHHHHHHp.b....Mp pHHHHHHp.......p p......p....?..p p.....Tp.......p p..&...p.?..&..p p.....Tp.......p p&.@...p@.....&p pppppppppppppppp [additional] 24 1.1.&.4.0 14.1.&.2.0 3.3.&.1.0 6.3.^.2.0.0 1.6.}.0.0.1.0.0.0 3.6.}.1.0.1.0.0.0 8.10.^.3.0.0 9.10.^.3.0.0 10.10.^.3.0.0 11.10.^.3.0.0 12.10.^.3.0.0 14.16.@.3 1.17.^.2.0.0 8.18.^.3.0.0 1.19.^.2.0.0 14.19.M.2 14.21.M.2 14.23.M.2 3.27.&.10.0 12.27.&.1.1 1.29.&.4.1 3.29.@.3 8.29.@.3 14.29.&.2.1 [end] [offset] 3E8C [level] 4 [colour] [size] 16.31 [author] R. Victorik [data] PPPPPPPPPPPPPPPP PRP}TP!.P.^^..TP P.P..P..P.....?P P.P..P##P......P P%P..P..P.....MP P.P..PPDP......P P.P............P P.P............P P.P...##.......P P.P...##.......P P.P............P P.P...........&P PDP............P P......MT.....MP P.P............P P.PPPPPPPb.....P P.P....'P......P P.&#....P......P P.P.....H......P P.P.@..TP......P P.PPPPPPP......P P.P&..........^P P.P^..........^P P.P###PPPP.....P P.P.'.P^^P.....P P.P###P..P.....P P.P.#.P..P.....P P.P...PPPPHHH..P P.P.......HHH..P P......}.T....}P PPPPPPPPPPPPPPPP [additional] 17 3.1.}.1.0.1.0.0.0 10.1.^.3.0.0 11.1.^.3.0.0 14.4.M.2 14.11.&.1.0 7.13.M.2 14.13.M.2 2.17.&.10.0 4.19.@.3 3.21.&.1.1 14.21.^.2.0.0 3.22.^.2.0.0 14.22.^.2.0.0 7.24.^.3.0.0 8.24.^.3.0.0 7.29.}.2.0.0.0.0.0 14.29.}.2.0.1.0.0.0 [end] [offset] 408C [level] 5 [colour] [size] 16.31 [author] R. Victorik [data] ssssssssssssssss s.Ts.@......}..s s..s...........s s##s.sTs..##...s sHHs..s@..'#...s s....s.s.......s s..............s s.............Ms s..............s s....sTs...?...s s^.s.%s@...^...s s....s.s.......s s............sDs s.....sssss..s.s s&...@DDTTs..s!s ssssssssssss.sss s.......T.....Ms s..sssssss&s...s s......T......Ms s..sssssssss...s s.....T.......Ms s..sssssssss...s s..s..&..&.s.sss s..sR......D.D&s s..s..&..&.s.sss s@.sssssssss...s s...&..........s s.......b....sss s^.....bb....D+s s}...........sss ssssssssssssssss [additional] 22 5.1.@.3 12.1.}.1.0.1.0.0.0 7.4.@.3 14.7.M.2 1.10.^.2.0.0 7.10.@.3 11.10.^.3.0.0 1.14.&.3.0 5.14.@.3 14.16.M.2 10.17.&.3.1 14.18.M.2 14.20.M.2 6.22.&.1.0 9.22.&.2.0 14.23.&.1.1 6.24.&.10.0 9.24.&.1.2 1.25.@.3 4.26.&.2.1 1.28.^.3.0.0 1.29.}.0.0.1.0.0.0 [end] [offset] 428C [level] 6 [colour] [size] 16.31 [author] R. Victorik [data] ssssssssssssssss s......R..&....s s.sT.........s.s s.@s.......&s..s s..&s&@.&.@s&..s s....ssssss....s s....ssssss&...s s..@s&.T@&.s@..s s.&s@......@s&.s s.s&....&...&s.s s.....T........s ssssssssssssssss ---------------- ---------------- ssssssssssssssss s&.#...&.^s&}..s s.###..H..sD.b.s s##.#..........s s.T##.TM^.....&s ssssssssssss.sss -----------sss-- ---------------- ---------------- ---------------- ---------------- ssssssssssssssss s&.....^...#.#Ts s...b.......#.#s sM.b.b..ssss.sss s.......s!.D..}s ssssssssssssssss [additional] 34 10.1.&.9.0 2.3.@.3 11.3.&.5.0 3.4.&.2.0 5.4.&.1.0 6.4.@.3 8.4.&.3.0 10.4.@.3 12.4.&.2.1 11.6.&.3.1 3.7.@.3 5.7.&.1.1 8.7.@.3 9.7.&.6.0 12.7.@.3 2.8.&.5.1 4.8.@.3 11.8.@.3 13.8.&.4.0 3.9.&.1.2 8.9.&.9.1 12.9.&.4.1 1.15.&.6.1 7.15.&.7.0 9.15.^.3.0.0 11.15.&.8.0 12.15.}.1.0.1.0.0.0 7.18.M.0 8.18.^.3.0.0 14.18.&.7.1 1.26.&.8.1 7.26.^.3.0.0 1.28.M.0 14.29.}.2.0.1.0.0.0 [end] [offset] 448C [level] 7 [colour] [size] 16.31 [author] R. Victorik [data] oooooooooooooooo o}............&o o@#####....##.Ho o..#&.#....#.#.o o..#..#.......}o o.Tooooooo.....o o}}oTVVVV#.....o o..oTVVVV#.....o o..oTVVVV#.....o o..ooooooo.....o o..............o o...o.o@o@o.o..o o..o@o@o@o@o...o o..............o o.....b...b....o o&......&.....&o oooooooooooooooo o&o..b.b.b.b..&o o.oDoooooooooooo o.o.......Mo&.+o obo.......'o..To o.o..oDooooooooo o.o..o........}o o.&..o.......^Mo o.o..o##oDoooooo o.ob.o..o...#.%o o.o.bo.Ho}...#.o o.ob.o.#o..oDooo o.oHHo%.o..o...o oRoT%oT&o&^o..!o oooooooooooooooo [additional] 28 1.1.}.0.0.1.0.0.0 14.1.&.1.0 1.2.@.3 4.3.&.5.0 14.4.}.2.0.1.0.0.0 1.6.}.1.0.1.0.0.0 2.6.}.1.0.1.0.0.0 7.11.@.3 9.11.@.3 4.12.@.3 6.12.@.3 8.12.@.3 10.12.@.3 1.15.&.4.0 8.15.&.5.1 14.15.&.4.1 1.17.&.2.0 14.17.&.1.1 10.19.M.2 12.19.&.2.1 14.22.}.2.0.1.0.0.0 2.23.&.10.0 13.23.^.2.0.0 14.23.M.2 9.26.}.1.0.1.0.0.0 7.29.&.3.0 9.29.&.3.1 10.29.^.3.0.0 [end] [offset] 468C [level] 8 [colour] [size] 16.31 [author] R. Victorik [data] pppppppppppppppp pT^^.Rp........p p....pp..@.p.}+p p....pp.pp.p..Mp pT....p....p..Tp p....pp..@.p..Mp p....p..pp.p..Tp p....pp....p..Mp pT....p..@.p..'p p....pp.pp.p.}pp p....p.....p...p p....pp..@.p...p pT....p.pp.pb.bp p....pp....p...p p....p..@..pb.bp p.^^.pp.pp.p.#.p pT....p....pb.bp p....pp..@.pHHHp p....p..pp.pH#Hp p....pp....pTHHp pT....p..@.pHHHp p....pp.pp.pHHHp p....p.....pHHHp p....pp..@.pHHHp pT...'p.pp.pH#Hp p....pp....pH#Tp p....p...@.pHHTp p.^^.pp.pp.pHHHp p.....p....pbpbp p...p.....}pb!bp pppppppppppppppp [additional] 21 2.1.^.3.0.0 3.1.^.3.0.0 9.2.@.3 13.2.}.1.0.1.0.0.0 14.3.M.2 9.5.@.3 14.5.M.2 14.7.M.2 9.8.@.3 13.9.}.1.0.1.0.0.0 9.11.@.3 8.14.@.3 2.15.^.3.0.0 3.15.^.3.0.0 9.17.@.3 9.20.@.3 9.23.@.3 9.26.@.3 2.27.^.3.0.0 3.27.^.3.0.0 10.29.}.2.0.1.0.0.0 [end] [offset] 488C [level] 9 [colour] [size] 16.31 [author] R. Victorik [data] QQQQQQQQQQQQQQQQ QTH.H##b##!Q&.'Q Q.##.##.###Q...Q Q#H####..##Q..&Q Q.#H#.#....QDQQQ Q#H#.##........Q Q.....#......&&Q QQQQQQ..Q...&}.Q Q&..^Q..@Q.....Q Q....Q..QbQ....Q Q&..TQ..@QT...TQ QQQQQQ..QbQ....Q Q^......@Q.....Q Q.b.b...Q...QQQQ Q..R..Q.....D.&Q Q...QQQQQQQ.QQQQ Q.....QT.......Q Q...Q@...@.....Q Q....QQQQQQ...MQ Q..............Q Q......####.}}.Q Q}.....#.T#....Q Q}.....####....Q Q..............Q Q...Q^.QQQQ..}.Q Q...Q..Q^%Q....Q Q...Q.TQ..Q..QQQ Q...QQQQ..Q...TQ Q............#}Q Q&.......^....TQ QQQQQQQQQQQQQQQQ [additional] 27 12.1.&.2.0 14.3.&.1.0 13.6.&.3.0 14.6.&.3.1 12.7.&.3.2 13.7.}.1.0.1.0.0.0 1.8.&.1.1 4.8.^.3.0.0 8.8.@.3 1.10.&.2.1 8.10.@.3 1.12.^.3.0.0 8.12.@.3 14.14.&.10.0 5.17.@.3 9.17.@.3 14.18.M.2 12.20.}.1.0.1.0.0.0 13.20.}.1.0.1.0.0.0 1.21.}.0.0.1.0.0.0 1.22.}.0.0.1.0.0.0 5.24.^.2.0.0 13.24.}.0.0.0.0.1.1 8.25.^.3.0.0 14.28.}.2.0.1.0.0.0 1.29.&.2.2 9.29.^.3.0.0 [end] [offset] 4A8C [level] 10 [colour] [size] 16.31 [author] R. Victorik [data] oooooooooooooooo o^.^..T........o o.o.o.o.o.o.o.oo o.....T.....T.To o.o.o.o.o.o.o.oo o.T............o o.o.o.o.o.o.o.oo o....^....T...'o o.o.o.o.o.o.o.oo o.....T......^.o o.o.o.o.o.o.o.oo o...........T..o o.o.o.o.o.o.o.oo o.T....^.......o o.o.o.o.o.o.o.oo o..............o o.o.o.o.o.o.o.oo o...T.........To o.o.o.o.o.o.o.oo o........^.....o o.o.o.o.o.o.o.oo o.......T......o o.o.o.o.o.o.o.oo o...T..........o o.o.o.o.o.o^o.oo o..............o o.o.o.o.o.o.o.oo o.............To ooo.o.o.o.o.oooo oR............!o oooooooooooooooo [additional] 7 1.1.^.3.0.0 3.1.^.3.0.0 5.7.^.3.0.0 13.9.^.3.0.0 7.13.^.3.0.0 9.19.^.3.0.0 11.24.^.3.0.0 [end] [offset] 4C8C [level] 11 [colour] [size] 16.31 [author] R. Victorik [data] pppppppppppppppp pR.............p p......ppp.....p p.....p........p p......p.......p p.......pp.....p p..............p p.....ppp......p p......p.p.....p p......p.p.....p p.....ppp......p p..............p p.....pppp.....p p.....p..p.....p p.....p..p.....p p..............p p.....ppp......p p......p.p.....p p......p.p.....p p.....ppp......p p..............p p.....pppp.....p p.......p......p p......p.......p p.....pppp.....p p..............p p........p.....p p.....pppp.....p p........p.....p pT............!p pppppppppppppppp [additional] 0 [end] [offset] 4E8C [level] 12 [colour] [size] 16.31 [author] R. Victorik [data] OOOOOOOOOOOOOOOO O......T.^}....O O.............MO O.OOOOOOO..OOOOO O.O...OTO..O..TO O.&.O...O..D...O O.OOOOOOO..O@.%O O.O.....O..OOOOO O.&.OOO.O..O..TO O.OOOTO.O..D...O O.O...O.O..O.@%O O.O.O.O.O..OOOOO O.O.O.O.O..O..TO O.&.O.O.O..D...O O.OOO.O.O..O@.%O O.O...OTO^.OOOOO O.&@OOOOO..O..TO O.OOO......D@..O O..........O..%O O..........OOOOO OOODOO}OO..O..TO O......MO..D...O O.b.b..OO..O.@%O O......O...OOOOO O.b.b.OOO..O..TO O......MO..D..@O O.b..OOOO..O..%O OODOOO#.b..OOOOO OT.b.O.#...D..!O O+..'OR.#HHOOOOO OOOOOOOOOOOOOOOO [additional] 18 9.1.^.3.0.0 10.1.}.1.0.1.0.0.0 14.2.M.2 2.5.&.1.0 12.6.@.3 2.8.&.2.0 13.10.@.3 2.13.&.2.1 12.14.@.3 9.15.^.3.0.0 2.16.&.1.1 3.16.@.3 12.17.@.3 6.20.}.1.0.1.0.0.0 7.21.M.2 13.22.@.3 7.25.M.2 14.25.@.3 [end] [offset] 508C [level] 13 [colour] [size] 16.31 [author] R. Victorik [data] QQQQQQQQQQQQQQQQ QR............TQ Q..............Q Q..QQ@QQ@Q@Q@..Q Q..QQQQQQQQQQ..Q Q..@Q}.##.TQ@..Q Q..QQ..#.#.QQ..Q Q..QQ..##.#Q...Q Q..@Q..#H#%Q@..Q Q..QQ...#.#QQ..Q Q..QQ..#.#.QQ..Q Q..QQ......Q@..Q Q..QQ..?.?.QQ..Q Q..@Q......QQ..Q Q..QQ...QQ.QQ..Q Q..QQ.QQQ..#@..Q Q..QQ..'QQ.QQ..Q Q..QQ......QQ..Q Q..@Q....QQQ@..Q Q..QQ#...Q!QQ..Q Q..QQ.#..Q.QQ..Q Q...Q#.Q.QDQQ..Q Q..@QH#Q...QQ..Q Q..QQH.Q..#Q@..Q Q..QQH#Q...MQ..Q Q..QQ''QT.TQQ..Q Q..QQQQQQQQQ@..Q Q...QQQ@QQ@Q...Q Q..............Q QT............TQ QQQQQQQQQQQQQQQQ [additional] 20 5.3.@.3 8.3.@.3 10.3.@.3 12.3.@.3 3.5.@.3 5.5.}.1.0.1.0.0.0 12.5.@.3 3.8.@.3 12.8.@.3 12.11.@.3 3.13.@.3 12.15.@.3 3.18.@.3 12.18.@.3 3.22.@.3 12.23.@.3 11.24.M.2 12.26.@.3 7.27.@.3 10.27.@.3 [end] [offset] 528C [level] 14 [colour] [size] 16.31 [author] R. Victorik [data] ssssss----ssssss s&..Ts----s^..Rs s%.#.s----s..#.s sM..Ms----s....s s!.T.s----s&..^s ssssss----ssssss ---------------- ---------------- ssssss----ssssss s&..?s----s&..}s s....s----s....s s.sDss----s....M sTs&ss----s%...s ssssss----ss.sss -----------s.s-- -----------sDs-- ssssss-----s.s-- s.#.&s----ss.ss- s#.#.s----sT..s- s.##Hs----s...s- s&.#.s----s.}!s- ssssss----sssss- ---------------- ---------------- ---------------- ssssss----ssssss s....s----s.'.@s s.&&.s----s...Ts s.&&.s----s....s s....s----s&..&s ssssss----ssssss [additional] 21 1.1.&.4.0 11.1.^.3.0.0 1.3.M.0 4.3.M.2 11.4.&.1.0 14.4.^.2.0.0 1.9.&.5.0 11.9.&.6.0 14.9.}.1.0.1.0.0.0 15.11.M.2 3.12.&.6.1 4.17.&.10.0 1.20.&.3.0 12.20.}.3.0.1.0.0.0 14.26.@.3 2.27.&.1.1 3.27.&.2.0 2.28.&.3.1 3.28.&.4.1 11.29.&.5.1 14.29.&.2.1 [end] [offset] 548C [level] 15 [colour] [size] 16.31 [author] R. Victorik [data] ssssssssssssssss sRs&...^....!s&s s.ss....^...Ms.s s.s......^..Ts.s s.s.........Ms.s s.s.........Ts.s s.s.........Ms.s s.s.........Ts.s s.s.........Ms.s s.s.........Ms.s s.s..&ssssssss.s s.s..ssVVVVVTs.s s.s..%sVVVVVVs.s s.s...sVVVVVVs.s s.s..#sVVVVVTs.s s.s.#.sDssssss.s s.s..#sb#b#b#s.s s.s.#.s.b#b#.s.s s.s..#ssssss#s.s s.s.#.s......s.s s.s..#s......s.s s.s.#.s..b...s.s s.s.....b.b..s.s s.s......b...s.s s.s.....b.b..s.s s.ss.}.......s.s s.ss.........s.s s.ss.sss.sDs.s.s s.s.sb..ss.s.s.s s&sT..s....s}s&s ssssssssssssssss [additional] 15 3.1.&.2.0 7.1.^.3.0.0 14.1.&.1.0 8.2.^.3.0.0 12.2.M.2 9.3.^.3.0.0 12.4.M.2 12.6.M.2 12.8.M.2 12.9.M.2 5.10.&.10.0 5.25.}.0.0.1.0.0.0 1.29.&.1.1 12.29.}.3.0.1.0.0.0 14.29.&.2.1 [end] [offset] 568C [level] 16 [colour] [size] 16.31 [author] R. Victorik [data] PPPPPPPPPPPPPPPP PPPP.R!..PPPPTTP P&.........MPVVP PPP......PPPPVVP P...........PVVP PPP#.#.#.#..PVVP P...........PVVP P&P&P*P&P&P&PVVP PPPPPPPPPPPPPVVP P&....^....TPVVP PP..........PVVP P..........^PVVP P^..........PVVP PPP#PPPP#PPPPVVP P......#.#..PVVP P^..P.P.#...PVVP P...P'P....&PVVP PPPPPPPPPPPPPVVP P.......}..&PVVP PM.........PPVVP P...b.......PVVP P..b.b.#....PVVP P.b.b.....##PVVP P..#.#.PPPP#PVVP P......P...##VVP PPPPPP.P..PPPPPP P}...P&P..P*..?P P}...PPP..P....P P}........P....P P}........PT..&P PPPPPPPPPPPPPPPP [additional] 24 1.2.&.1.0 11.2.M.2 1.7.&.10.0 3.7.&.1.1 5.7.*.1 7.7.&.3.0 9.7.&.4.0 11.7.&.3.1 1.9.&.4.1 6.9.^.3.0.0 11.11.^.2.0.0 1.12.^.2.0.0 1.15.^.2.0.0 11.16.&.5.0 8.18.}.1.0.1.0.0.0 11.18.&.5.1 1.19.M.0 1.26.}.0.0.1.0.0.0 6.26.&.2.0 11.26.*.1 1.27.}.0.0.1.0.0.0 1.28.}.0.0.1.0.0.0 1.29.}.0.0.1.0.0.0 14.29.&.2.1 [end] [offset] 588C [level] 17 [colour] [size] 16.31 [author] R. Victorik [data] ssssssssssssssss s.....R.&......s s...........ssss s.............Ms ssss........ssss sT.D........D.Ts ssss........ssss s..............s s..............s s...%..!..%....s ssssssssssssss.s s}s##...s}s....s sHs#bss.sHs#bs.s sHs#sbs.sHs#sbss sHs.sHs.sHs.sHss sHs.sHs.sHs.sHss sHs.sHs.sHs.sHss sHs.sHs.sHs.sHss sHs.sHs.sHs.sHss sHs.sHs.sHs.sHss sHs.sHs.sHs.sHss sHs.sHs.sHs.sHss sHs.sHs.sHs.sHss sHs.sHs.sHs.sHss sHs.sHs.sHs.sHss sHs.sHs.sHs.sHss sbs.sHs.sHs.sHss ssb.sHs#sbs.sHss ss#ssHs#bss.sHss ss*ss}s.....s}ss ssssssssssssssss [additional] 7 8.1.&.10.0 14.3.M.2 1.11.}.0.0.0.0.1.1 9.11.}.0.0.0.0.1.1 2.29.*.1 5.29.}.0.0.0.0.1.1 13.29.}.0.0.0.0.1.1 [end] [offset] 5A8C [level] 18 [colour] [size] 16.31 [author] R. Victorik [data] oooooooooooooooo o&H.#oV&o..o..To o#.#.oVVo..o..#o o##.#oVVo..ob#&o o#.#.o##o...oooo o..............o oHHHHHHHHHHHHHHo oHHHHHHHHHHHHHHo o^............*o oHHHHHHHHHHHHHHo oHHHHHHHHHHHHHHo o##############o o..............o o..............o o.bbb....b.b.b.o o..............o oooooooDoooooooo o^.^..o.o.^..^.o o.....o.o......o o..............o o..............o o..o..o.o......o o..b..o}o......o o.....o.o......o o..............o o==============o o==============o o==============o o..............o oT.....R......!o oooooooooooooooo [additional] 10 1.1.&.10.0 7.1.&.1.0 14.3.&.1.1 1.8.^.2.0.0 14.8.*.1 1.17.^.2.1.1 3.17.^.2.1.1 10.17.^.2.1.1 13.17.^.2.1.1 7.22.}.3.0.0.1.0.0 [end] [offset] 5C8C [level] 19 [colour] [size] 16.31 [author] R. Victorik [data] pppppppppppppppp p&T&+p.#T#.....p pHHHHp.###.....p pbbbbp.bb...bb.p pHHHHp.bb...bb.p p####p.........p p....ppppp.ppppp p.b............p p..b...........p p...b..........p p....b.........p p..p.p.p.p.p.p.p p..............p p.p.p.p.p.p.p.pp p.............'p ppp.pppppp.pp.pp p^............Mp ppp.ppp.ppppp..p p..............p p...p@p@p@p..ppp p..p@p@p@p@p.ppp p..............p p.p....#.#.#..pp pp............#p pp.pp.pp.pp.pp.p pHHHHHHH.......p pHHHpppppppp.p.p pHHHp........HHp p.....p}p....HHp pR..........HH!p pppppppppppppppp [additional] 12 1.1.&.1.0 3.1.&.1.1 1.16.^.2.0.0 14.16.M.2 5.19.@.3 7.19.@.3 9.19.@.3 4.20.@.3 6.20.@.3 8.20.@.3 10.20.@.3 7.28.}.3.0.0.1.0.0 [end] [offset] 5E8C [level] 20 [colour] [size] 16.31 [author] R. Victorik [data] OOOOOOOOOOOOOOOO O!...O&..O....TO O....O...O.....O O....OOOOO.....O OVVVVVVVVVVVVVVO OVVVVVVVVVVVVVVO OVVVVVVVVVVVVVVO OVVVVVV^VVVVVVVO OV^VVVVVVVVVVVVO OVVVVVVVVVV^VVVO OVVVV^VVVVVVVVVO OVVVVVVV^VVVVVVO OV^VVVVVVVVVVVVO OVVVVVVVVV^VVVVO OVVVVVVVVVVVV^VO OVVVVV^VVVVVVVVO OVVV^VVVVVVVVVVO O^VVVVVVVVVVVVVO OOOOOOOOOOOOOO.O OO.............O O..OOOOOOOOOOOOO O.OO^O''''''O.&O O....O''''''O..O OOOO.O''''''O..O O^...O''''''...O O.OOOO'.b.b.b..O O.OOOOO..#.#.#.O O..............O O.OOOOO...#}#..O O.O...........RO OOOOOOOOOOOOOOOO [additional] 16 6.1.&.1.0 7.7.^.2.0.0 2.8.^.2.0.0 11.9.^.2.0.0 5.10.^.2.0.0 8.11.^.2.0.0 2.12.^.2.0.0 10.13.^.2.0.0 13.14.^.2.0.0 6.15.^.2.0.0 4.16.^.2.0.0 1.17.^.2.0.0 4.21.^.3.0.0 14.21.&.1.1 1.24.^.3.0.0 11.28.}.3.0.0.1.0.0 [end] [offset] 608C [level] 21 [colour] [size] 16.31 [author] R. Victorik [data] oooooooooooooooo oR.!........^^^o o..............o o..............o o.o...ooo......o o.^..o..To@....o o...o@...@o....o oH..o.....o....o oH...H....o....o oH....HT..o....o oH.....Hoo@....o oH.....o@......o oH...oo........o oH..o@.H.......o oH..o...H.'..^.o oH..oT...Ho....o oH..o%....o....o oH..oo@.To@....o oH.o.Tooo@.....o oH.oDo.........o oH.o......HHH..o oH.....o@.HTH..o oH.....o..HHH..o o..............o o..............o o^.....o^......o oHHHHHHoHHHHHHHo oHHHHHHoHHHHHHHo oHbHHbHoHbHbHbHo o######o#######o o}o}o}oooToT}o}o [additional] 22 12.1.^.3.0.0 13.1.^.3.0.0 14.1.^.3.0.0 2.5.^.3.0.0 10.5.@.3 5.6.@.3 9.6.@.3 10.10.@.3 8.11.@.3 5.13.@.3 13.14.^.3.0.0 6.17.@.3 10.17.@.3 9.18.@.3 8.21.@.3 1.25.^.2.1.1 8.25.^.2.1.1 1.30.}.3.0.2.0.0.0 3.30.}.3.0.2.0.0.0 5.30.}.3.0.2.0.0.0 12.30.}.3.0.2.0.0.0 14.30.}.3.0.2.0.0.0 [end] [offset] 628C [level] 22 [colour] [size] 16.31 [author] R. Victorik [data] QQQQQQQQQQQQQQQQ QR........^...!Q Q...Q...Q...Q..Q QQ.QQQ.QQQ.QQQ.Q Q...Q...Q...Q..Q Q.T...T........Q Q...Q.^.Q...Q..Q QQ.QQQ.QQQ.QQQ.Q Q.^.........Q..Q Q...Q...Q.T....Q QQQQQQ.QQQ.QQQQQ Q.^.Q...Q...Q..Q Q.....T......^.Q Q...Q...Q...Q..Q QQ.QQQ.QQQ.QQ.QQ Q...Q...Q...Q..Q Q.....^...T..T.Q Q...Q...Q...Q..Q QQ.QQQQQQQ.QQ.QQ Q...Q...Q...Q..Q Q.T^......T....Q Q...Q.T.Q.^.Q..Q QQ.QQQ.QQQ.QQQQQ Q...Q...Q...Q'.Q Q.^...^......T.Q Q...Q...Q...Q..Q QQ.QQQ.QQQ.QQ.QQ Q...Q...Q...Q^.Q Q.T...T.Q......Q Q...Q...Q...Q..Q QQQQQQQQQQQQQQQQ [additional] 11 10.1.^.3.0.0 6.6.^.3.0.0 2.8.^.2.0.0 2.11.^.3.0.0 13.12.^.2.0.0 6.16.^.2.0.0 3.20.^.2.0.0 10.21.^.3.0.0 2.24.^.3.0.0 6.24.^.3.0.0 13.27.^.3.0.0 [end] [offset] 648C [level] 23 [colour] [size] 16.31 [author] R. Victorik [data] pppppppppppppppp pR...^.........p p.....^....#.#.p pM.....^......Tp pM......^......p pM.......^....Tp pM............pp p..T..........&p pppppppppppppppp ---------------- ---------------- ---------------- ---------------- pppppppppppppppp p.}..}.p&.#....p pM....Mp#.#.##.p pT....Tp.#.#.#.p pM....Mp#.#H#.#p pT....Tp####H##p pM....Mp#.#..#.p pT....Tp#.#...Tp pM....Mppppppppp pT....Tp*.....Tp pM....Mp.......p pT....Tp.......p pM....Mp..&&...p p......p..&&...p p......p.......p p...&p&p.......p p!p&ppppT.....*p pppppppppppppppp [additional] 34 5.1.^.3.0.0 6.2.^.3.0.0 1.3.M.0 7.3.^.3.0.0 1.4.M.0 8.4.^.3.0.0 1.5.M.0 9.5.^.3.0.0 1.6.M.0 14.7.&.1.0 2.14.}.1.0.1.0.0.0 5.14.}.1.0.1.0.0.0 8.14.&.3.0 1.15.M.0 6.15.M.2 1.17.M.0 6.17.M.2 1.19.M.0 6.19.M.2 1.21.M.0 6.21.M.2 8.22.*.1 1.23.M.0 6.23.M.2 1.25.M.0 6.25.M.2 10.25.&.5.0 11.25.&.2.0 10.26.&.10.0 11.26.&.5.1 4.28.&.3.1 6.28.&.1.1 3.29.&.2.1 14.29.*.1 [end] [offset] 668C [level] 24 [colour] [size] 16.31 [author] R. Victorik [data] QQQQQQQQQQQQQQQQ Q**..T***Q^QT.'Q Q*######*Q.Q.#.Q Q.#....#*Q.Q.#.Q Q.#....#.QQ.#.#Q Q&#.R..#.#....HQ Q.#..!.#.Q..HHHQ Q*#....#*Q..HHHQ Q.######*Q.HHHHQ Q.*.T.*.*QHHHH&Q QQQQQQQQQQQQQQQQ Q.....QVVVVVVVTQ Q.&.&.QVVVVVVVVQ Q..&..QVVVVVVVVQ Q.&.&.QVVVVVVVVQ Q..&..QQVVVVVVVQ Q.&.&.Q.QQQQQQVQ Q..&..Q.......HQ QQQQQQQ#QQQQQQQQ Q.....QDQT.%..TQ Q.&.&.QDQHHHHHHQ Q..&..Q=Q^.....Q Q.&.&.Q=QHHHHHHQ Q..&..QDQHHHHHHQ Q.&.&.Q.Q######Q Q....%Q.Q######Q QQQQQQQ....b...Q Q%.?Q.#.#.b@bT.Q Q...Q....b.b...Q Q&.TQ&.}...b...Q QQQQQQQQQQQQQQQQ [additional] 39 1.1.*.1 2.1.*.1 6.1.*.1 7.1.*.1 8.1.*.1 10.1.^.3.0.0 1.2.*.1 8.2.*.1 8.3.*.1 1.5.&.10.0 1.7.*.1 8.7.*.1 8.8.*.1 2.9.*.1 6.9.*.1 8.9.*.1 14.9.&.2.0 2.12.&.4.0 4.12.&.2.1 3.13.&.3.0 2.14.&.6.0 4.14.&.5.0 3.15.&.7.0 2.16.&.9.0 4.16.&.8.0 3.17.&.1.0 2.20.&.4.1 4.20.&.7.1 3.21.&.8.1 9.21.^.2.1.1 2.22.&.5.1 4.22.&.1.1 3.23.&.9.1 2.24.&.3.1 4.24.&.6.1 11.27.@.3 1.29.&.1.2 5.29.&.6.2 7.29.}.3.0.1.0.0.0 [end] [offset] 688C [level] 25 [colour] [size] 16.31 [author] R. Victorik [data] oooooooooooooooo oR..ooooToooT.!o o...o.^..^.o...o o..&o..^^..o&..o ooooo^....^ooooo o@.&o......##.&o o...o......#...o o...o......####o o...o......HHHHo o..&ooTooooHHHHo oooooooooooHHHHo o........DD....o o..bbbbb.oo....o o........ooooooo o.#.#.#.#o^^^^^o o#.#.#.#.o.....o o..............o oM......Moo===oo o...oDo..oo===oo oT..o.o.Too===oo ooooooooooo===oo o..............o o..............o oo====oooooooooo oHHHHHHHHH....'o oHHHHHHHHH.....o oooooooooo..H..o oT.H#......o}o.o o#####.#.b..H..o oT..H.#.......&o oooooooooooooooo [additional] 21 6.2.^.3.0.0 9.2.^.3.0.0 3.3.&.10.0 7.3.^.3.0.0 8.3.^.3.0.0 12.3.&.2.0 5.4.^.3.0.0 10.4.^.3.0.0 1.5.@.3 3.5.&.2.1 14.5.&.1.0 3.9.&.1.1 10.14.^.2.1.1 11.14.^.2.1.1 12.14.^.2.1.1 13.14.^.2.1.1 14.14.^.2.1.1 1.17.M.0 8.17.M.2 12.27.}.3.0.0.1.0.0 14.29.&.10.1 [end] [offset] 6A8C [level] 26 [colour] [size] 16.31 [author] R. Victorik [data] PPPPPPPPPPPPPPPP PR............!P P#.PPPPP#PP..PPP M..........MT..M PPPPPPPPP.P}PP.P PM.....TP....M.P P.......#.....#P PPP..PPPP.PPP..P PT.PPT..^...TP.P P.#H.M#.....MP.P P..##M..#...MP.P -P.#....P.#.P..P --PM.....#^#P#.P P--PPPPP..#.M..P PP--P'.b.......P PTP--P...PPPPPPP P^}P--P.......&P P..}P--P...P@..P P...}P--P...P@.P P....^P--P...P.P P.....}P--P....P P..T...}P--P...P P..^....}P--P..P PT...T....P--PTP P^........}P--PP P..........}P--P P...........}P-- P......T...T.TP- P......^.......P P.............&P PPPPPPPPPPPPPPPP [additional] 32 0.3.M.0 11.3.M.2 15.3.M.2 11.4.}.1.0.1.0.0.0 1.5.M.0 13.5.M.2 8.8.^.2.0.0 5.9.M.0 12.9.M.2 5.10.M.0 12.10.M.2 3.12.M.0 10.12.^.2.0.0 12.13.M.0 1.16.^.3.0.0 2.16.}.1.0.1.0.0.0 14.16.&.1.0 3.17.}.1.0.1.0.0.0 12.17.@.3 4.18.}.1.0.1.0.0.0 13.18.@.3 5.19.^.3.0.0 6.20.}.1.0.1.0.0.0 7.21.}.1.0.1.0.0.0 3.22.^.3.0.0 8.22.}.1.0.1.0.0.0 1.24.^.3.0.0 10.24.}.1.0.1.0.0.0 11.25.}.1.0.1.0.0.0 12.26.}.1.0.1.0.0.0 7.28.^.3.0.0 14.29.&.1.1 [end] [offset] 6C8C [level] 27 [colour] [size] 16.31 [author] R. Victorik [data] PPPPPPPPPPPPPPPP P#.#.##........P P.#.#.P......b.P P#.###P..}..#..P P.#..#P....~.#.P PPP.PPP.....#..P P'...TP....~.#.P PPPPPPP.....#..P P.b..###...~.#.P P..b.###....b..P P.b..###.......P P....###....PPPP PPPP.PP.....P}}P P&....PM.......P P..#..PM.......P P.....P...PPP##P P.~...PPPPP^PHHP P.....P.....PVVP P.....P.PPP.PVVP P.#...P.PTP.PVVP P..~..P.P.P.PVVP P.....P.P.P.PVVP P#.#..P.P.P.PVVP P.....P.P.P.PVVP P.........P.PVVP P}........P.PVVP PPPPPP.}.P..PTTP P&...PPPP...PPPP P....P.#..#.D.!P P...%PR.b.#.PPPP PPPPPPPPPPPPPPPP [additional] 10 9.3.}.1.0.1.0.0.0 13.12.}.1.0.1.0.0.0 14.12.}.1.0.1.0.0.0 1.13.&.1.0 7.13.M.0 7.14.M.0 11.16.^.3.0.0 1.25.}.0.0.1.0.0.0 7.26.}.3.0.1.0.0.0 1.27.&.1.1 [end] [offset] 6E8C [level] 28 [colour] [size] 16.31 [author] R. Victorik [data] oooooooooooooooo o}#.^.^.^^.^^.To o}#..^.^..^..^To o##.^.^.^^.^^.To o...oooooooooooo o...o.@......@.o o.b.o.ooTooToo.o o...o.oooooooo.o o...o.oooo.T.T.o o.....ToooDooo.o o...o.oooo'ToT.o o.o.o.ToTooooo@o o.b.o.ooToToTo.o o...o..........o o...oooooooooooo o.........^.T.^o o..^..o....^.^.o o.....o.....^..o oT...%o...#####o ooooooo...#####o o.........#####o o..b.b....####To o.b.b.....oooooo o..b.b.......D%o o......~..oDoooo o.~..~....o.#.%o o..~...~..o..#.o o..#.#....o.oDoo o...#.#...o^o..o oR........o.o.!o oooooooooooooooo [additional] 28 1.1.}.0.0.2.0.0.0 4.1.^.3.0.0 6.1.^.3.0.0 8.1.^.3.0.0 9.1.^.3.0.0 11.1.^.3.0.0 12.1.^.3.0.0 1.2.}.0.0.2.0.0.0 5.2.^.3.0.0 7.2.^.3.0.0 10.2.^.3.0.0 13.2.^.3.0.0 4.3.^.3.0.0 6.3.^.3.0.0 8.3.^.3.0.0 9.3.^.3.0.0 11.3.^.3.0.0 12.3.^.3.0.0 6.5.@.3 13.5.@.3 14.11.@.3 10.15.^.3.0.0 14.15.^.3.0.0 3.16.^.2.1.1 11.16.^.3.0.0 13.16.^.3.0.0 12.17.^.3.0.0 11.28.^.3.0.0 [end] [offset] 708C [level] 29 [colour] [size] 16.31 [author] R. Victorik [data] OOOOOOOOOOOOOOOO O.^..^.O^TO..ORO O..O...O..O..O.O O..O...O..O..O.O OT.O...O..O..O.O O..O...O..O..O.O O..O...O..O^TO.O O......O..O..O.O O..O...O..O.TO.O O..O...O..O..O.O OT.O..OO..O..O.O O..O.O.......O.O O..O.OOO..O..O.O O....OTO..O..O.O O.^O.O.O..O..O.O O..O.ODO..O..O.O O..O.ODO.TO..O.O OT.O.b.O..O..O.O O..O..bO..O..O.O O..O.~.O..O....O O.....bO..O..O.O O..O.~.O..O..O.O O..O..~O..O..O.O O..O.#.O..O..O.O OT^O..#O..O..O.O O..O.#.O.TO..O.O O..O..bO..O..O.O O....#.O..O..O.O O..O...O..O..O.O O..O......O.TO!O OOOOOOOOOOOOOOOO [additional] 6 2.1.^.3.0.0 5.1.^.3.0.0 8.1.^.3.0.0 11.6.^.3.0.0 2.14.^.3.0.0 2.24.^.3.0.0 [end] [offset] 728C [level] 30 [colour] [size] 16.31 [author] R. Victorik [data] pppppppppppppppp p&..........^p}p p.ppppppppppppHp p.p..........pHp pbp.p.b....b.pHp p.pbp...#....pHp pbp.p..#^#...pHp p.pTpHHH#HHHHpHp pbpbpHHHHHHHHpHp p.p.pHHHHHHHHpHp p.p.pHHHHHHHHpHp p.D.pHHH&HHHpbbp ppppppppppppbppp p..........###^p p..........ppppp pHHHHHHHHHHp.&.p pHHHHHHHHHHp...p pHHHHHHHHHHppDpp pHHHHH.HHHHp.T@p p&HHHH&.HH&p...p pppppppppppp@..p pT^^^^^^^^Tp...p pT^^^^^^^^Tp...p pp========pp.}.p pp========pp@}@p pp========pp...p p..........p...p ppppppp....p'.Tp p..D.%p..p}p...p p!.&.Rp.&..p.&.p pppppppppppppppp [additional] 36 1.1.&.3.0 12.1.^.2.0.0 14.1.}.0.0.0.0.1.1 8.6.^.2.1.1 8.11.&.4.0 14.13.^.2.1.1 13.15.&.2.0 14.18.@.3 1.19.&.2.1 6.19.&.1.0 10.19.&.10.0 12.20.@.3 2.21.^.3.0.0 3.21.^.3.0.0 4.21.^.3.0.0 5.21.^.3.0.0 6.21.^.3.0.0 7.21.^.3.0.0 8.21.^.3.0.0 9.21.^.3.0.0 2.22.^.3.0.0 3.22.^.3.0.0 4.22.^.3.0.0 5.22.^.3.0.0 6.22.^.3.0.0 7.22.^.3.0.0 8.22.^.3.0.0 9.22.^.3.0.0 13.23.}.3.0.1.0.0.0 12.24.@.3 13.24.}.1.0.1.0.0.0 14.24.@.3 10.28.}.3.0.0.1.0.0 3.29.&.1.1 8.29.&.4.1 13.29.&.3.1 [end] [offset] 748C [level] 31 [colour] [size] 16.31 [author] R. Victorik [data] OOOOOOOOOOOOOOOO O@.OO.....OO@.TO O..O...~...O...O O'.D.#..~..D...O O..O...~...O...O O.@O..b....O.@TO OOOO...b...OOOOO O@.O.#..b..O@.TO O..D...b...D...O O.TO..b....O...O OOOO...b...OOOOO O@.O.#..b..O@.TO O..D...b...D...O O.TO..b....O...O OOOO...b...OOOOO O@.O.#..b..O@.TO O..D...b...D...O O.TO..b....O...O OOOO...b...OOOOO O@.O.#..~..O@.TO O..D...~...D...O O.TO..~....O...O OOOO...~...OOOOO O@.O.#..~..O@.TO O..D...~...D...O O.TO..~....O..TO OOOO...~...OOOOO O@.O.#..~..O@.TO O..D...~...D...O O.TOR.~...!O..TO OOOOOOOOOOOOOOOO [additional] 16 1.1.@.3 12.1.@.3 2.5.@.3 13.5.@.3 1.7.@.3 12.7.@.3 1.11.@.3 12.11.@.3 1.15.@.3 12.15.@.3 1.19.@.3 12.19.@.3 1.23.@.3 12.23.@.3 1.27.@.3 12.27.@.3 [end] [offset] 768C [level] 32 [colour] [size] 16.31 [author] R. Victorik [data] PPPPPPPPPPPPPPPP PR..}}.PPR..}}.P P......PP......P P.....MPP.....MP P.....MPP.....MP P.....TPP.....TP P..PPPPPP..PPPPP P.....TPP.....TP P......PP......P P}.....PP}.....P PPPPPP.PPPPPPP.P P.T^...PP.T^...P P......PP......P P......PP......P P......PP......P P.PPPPPPP.PPPPPP P......PP......P P...}..PP...}..P P......PP......P P......PP......P PPPPPP.PPPPPPP.P P.T....PP.T....P P...P@.PP...P..P P..P...PP..P@..P P......PP......P P.PPPPPPP.PPPPPP P.D...}PP.D...}P P.P....PP.P....P P.P....PP.P....P P%PT..!PP%PT..!P PPPPPPPPPPPPPPPP [additional] 18 4.1.}.1.0.1.0.0.0 5.1.}.1.0.1.0.0.0 12.1.}.1.0.1.0.0.0 13.1.}.1.0.1.0.0.0 6.3.M.2 14.3.M.2 6.4.M.2 14.4.M.2 1.9.}.0.0.1.0.0.0 9.9.}.0.0.1.0.0.0 3.11.^.3.0.0 11.11.^.3.0.0 4.17.}.0.0.0.0.1.1 12.17.}.0.0.0.0.1.1 5.22.@.3 12.23.@.3 6.26.}.2.0.1.0.0.0 14.26.}.2.0.1.0.0.0 [end] [offset] 788C [level] 33 [colour] [size] 16.31 [author] R. Victorik [data] ssssssssssssssss s&R..^.^.^.^...s sss............s s'D...........%s sss............s s..............s ss^...^...^..^ss sT............Ts s..............s ss============ss ss============ss ss============ss s..*.*.*.*.*.*.s s.....ssss.....s s.....s.&s.....s s.....ssss.....s s..@.@.@.@.@.@.s ss============ss ss============ss ss============ss s..............s s.b..ssssss....s s..b.s....s....s s.......}......s s..b.s.}..s.#..s s....sT..Ts..#.s s....ssssss.#..s s............#.s s..............s sT.....MM.....!s ssssssssssssssss [additional] 26 1.1.&.1.0 5.1.^.3.0.0 7.1.^.3.0.0 9.1.^.3.0.0 11.1.^.3.0.0 2.6.^.2.1.1 6.6.^.2.1.1 10.6.^.2.1.1 13.6.^.2.1.1 3.12.*.1 5.12.*.1 7.12.*.1 9.12.*.1 11.12.*.1 13.12.*.1 8.14.&.1.1 3.16.@.3 5.16.@.3 7.16.@.3 9.16.@.3 11.16.@.3 13.16.@.3 8.23.}.0.0.0.0.1.1 7.24.}.0.0.0.0.1.1 7.29.M.2 8.29.M.0 [end] [offset] 7A8C [level] 34 [colour] [size] 16.31 [author] R. Victorik [data] oooooooooooooooo oVVVo....b.'oVTo oVVVV#.}#...oVVo ooVVoooo..oooVoo ooVVVVVo&&oVVVoo oRoVVVVooooVVo&o o..oVVVVVVVVo%.o oo..oVVVVVVo...o o^...oVVVVoo.b.o o.....oVVoTooo.o o..&..oVVo.o}o.o o.&.&.oVVo.o.o.o o..&..oVVoDo.o.o o..&.#oVVo.....o o.&.&.oDDo.o.o.o o..&.&oVVo&o.o.o o.&.&.obVo.o}o#o o..&.#oVbooooo#o o.&...obVo.....o o..&&.oVbo.b...o o.&...obVo..b..o o.....oVbo..b@.o o....oVbVVo..b.o oo..oVbVbbVo...o o..oVbVVbVbVo..o o!oVbVVbVVVbVo%o ooVbVVbVVVbVbboo oobVVbVbVbVVbVoo oVbVbVVVbVVbVV+o oVVbVVVbVbbVVoTo oooooooooooooooo [additional] 25 7.2.}.2.0.1.0.0.0 8.4.&.10.0 9.4.&.1.0 14.5.&.1.1 1.8.^.3.0.0 3.10.&.5.0 12.10.}.1.0.0.0.0.0 2.11.&.8.0 4.11.&.7.0 3.12.&.6.0 3.13.&.9.0 2.14.&.5.1 4.14.&.3.0 3.15.&.8.1 5.15.&.2.0 10.15.&.2.1 2.16.&.7.1 4.16.&.4.0 12.16.}.3.0.1.0.0.0 3.17.&.6.1 2.18.&.3.1 3.19.&.9.1 4.19.&.4.1 2.20.&.9.2 13.21.@.3 [end] [offset] 7C8C [level] 35 [colour] [size] 16.31 [author] R. Victorik [data] ssssssssssssssss sTs..T.Ts....sTs s.s.s.s.s.s..s.s s.s...s.s.s.#sDs s^..s..^.......s s.s.s.s.s.s....s s.s.s.s.s.s.#..s s..^#.s..^s....s s.s.s...s......s s.s.s.s.s.s.#..s s.s...s.s.s....s %...s^.........s s.s.s.s.s.s.#..s s.s.s.s.s.s....s s..T..s..Ts....s ssssssssssssss.s sT......s......s s..s@.s.s.ssss.s s.ss..s.s.s..s.s s.....s.s.s..s@s sssss.s...s..s.s s.....s.s.s....s s.s.s.s.s.s..s.s s.s@s.s.s.s..s.s s.s.s.s.s.s..s.s s.s.s.s@s.#..s.s s.s.s.s.s.sssT.s s...s...s......s sss.ssssssssssss sR............!s ssssssssssssssss [additional] 9 1.4.^.3.0.0 7.4.^.3.0.0 3.7.^.3.0.0 9.7.^.3.0.0 5.11.^.3.0.0 4.17.@.3 14.19.@.3 3.23.@.3 7.25.@.3 [end] [offset] 7E8C [level] 36 [colour] [size] 16.31 [author] R. Victorik [data] pppppppppppppppp p..'...&p&pT..&p pDppppppp.p+...p pDp....b..pppppp pDp...b.b.pT..&p pDp..b.b..p@.@+p p.........pppppp p..............p p.p..^...^....Mp p.p............p p.}.}.}.}.}.}.}p p..............p p......#.......p p..............p p..............p p..............p p......T.#.....p p....#........Tp p..T.^.....T..^p p..^...........p p..............p p...........T..p p..............p p.T.........^..p p.......T......p p..............p p.......^......p p..............p p}.............p pR............!p pppppppppppppppp [additional] 22 7.1.&.2.0 9.1.&.1.0 14.1.&.2.1 14.4.&.1.1 11.5.@.3 13.5.@.3 5.8.^.2.1.1 9.8.^.2.1.1 14.8.M.2 2.10.}.1.0.0.0.0.0 4.10.}.1.0.0.0.0.0 6.10.}.1.0.0.0.0.0 8.10.}.1.0.0.0.0.0 10.10.}.1.0.0.0.0.0 12.10.}.1.0.0.0.0.0 14.10.}.1.0.0.0.0.0 5.18.^.3.0.0 14.18.^.3.0.0 3.19.^.3.0.0 12.23.^.3.0.0 8.26.^.3.0.0 1.28.}.3.0.1.0.0.0 [end] [offset] 808C [level] 37 [colour] [size] 16.31 [author] R. Victorik [data] pppppppppppppppp pR!ppppp...ppppp p..D..Tp...D..Tp p..p..@p...p..@p p..p..%p...p..%p p..ppppp...ppppp p..D..Tp...D..Tp p..p..@p...p..@p p..p..%p...p..%p p..ppppp...ppppp p..D..Tp...D..Tp p'.p..@#...p..@p p&%p..%p...p..pp pppppppppppppppp pT@..pT.^.p@..Tp p....p....p....p p....p..^.p....p p....p....p....p pppDppppDpppDppp p.............'p p.b....b....b..p p..............p p...b.....b..b.p p..............p p&.............p pppDppDppppppDpp pVVVVp....p....p pVVVVp^...p....p pVVVVp..p}p...@p pTVVVp^...p...Tp pppppppppppppppp [additional] 16 6.3.@.3 14.3.@.3 6.7.@.3 14.7.@.3 6.11.@.3 14.11.@.3 1.12.&.1.0 2.14.@.3 8.14.^.3.0.0 11.14.@.3 8.16.^.3.0.0 1.24.&.1.1 6.27.^.3.0.0 9.28.}.3.0.0.1.0.0 14.28.@.3 6.29.^.3.0.0 [end] [offset] 828C [level] 38 [colour] [size] 16.31 [author] R. Victorik [data] QQQQQQQQQQQQQQQQ Q...^...^...TQ^Q Q############Q.Q QbbbbbbbbbbbbQ.Q Q##QQQQQQQQ##Q.Q Q^......TQ...Q.Q Q^......Q^...&.Q Q^....TQ}....Q.Q Q^....Q......Q.Q Q^...Q.b..^..&.Q Q^..Q%.......Q.Q Q..QQQQQQQQ..Q.Q QH.@......@..Q.Q Q..QQQQQQQQ..Q.Q Q............Q'Q Q....}.}..Q.QQQQ Q..M.....MQ.Q&.Q Q..Q.....TQ.Q..Q Q..M.....MQ.Q##Q Q..Q.....TQ.Q..Q Q..QQQQQQQQ.Q.TQ Q...........QQQQ Q..QQ.....Q.HHHQ Q..QTQ....Q.D..Q Q..Q@.Q...Q@H.&Q Q..Q...Q..Q.HHHQ Q..Q....QTQ.D@.Q Q..Q.....QQ.HT.Q Q...........H..Q QR.........!H..Q QQQQQQQQQQQQQQQQ [additional] 27 4.1.^.2.1.1 8.1.^.2.1.1 14.1.^.3.0.0 1.5.^.2.0.0 1.6.^.2.0.0 9.6.^.3.0.0 13.6.&.2.0 1.7.^.2.0.0 8.7.}.1.0.1.0.0.0 1.8.^.2.0.0 1.9.^.2.0.0 10.9.^.3.0.0 13.9.&.1.0 1.10.^.2.0.0 3.12.@.3 10.12.@.3 5.15.}.1.0.1.0.0.0 7.15.}.1.0.1.0.0.0 3.16.M.0 9.16.M.2 13.16.&.2.1 3.18.M.0 9.18.M.2 4.24.@.3 11.24.@.3 14.24.&.10.0 13.26.@.3 [end] [offset] 848C [level] 39 [colour] [size] 16.31 [author] R. Victorik [data] oooooooooooooooo oR............!o oooooooo&ooooooo o&............&o oooooooo.ooooooo o&.@.@.o.oT...&o oooooooo.ooooooo o&............&o oooooooo.ooooooo o&.@.@.o.oT...&o oooooooo.ooooooo o&............&o oooooooo.ooooooo o&.@.@.o.oT...&o oooooooo.ooooooo o&............&o oooooooo.ooooooo o&.@.@.o.oT...&o oooooooo#.oooooo oTTo...........o o..ooooo.ooooo.o o.....^oo}oo.o.o o...........#o.o oT.#..#....o.o@o o...T.....Mo.o.o o#...#.....o.o@o o.T#......Mo.o.o o...b......o.o.o o.b#.T....Mo.o.o oT.#..#....o...o oooooooooooooooo [additional] 32 8.2.&.1.0 1.3.&.2.0 14.3.&.3.0 1.5.&.3.1 3.5.@.3 5.5.@.3 14.5.&.2.1 1.7.&.4.0 14.7.&.5.0 1.9.&.5.1 3.9.@.3 5.9.@.3 14.9.&.4.1 1.11.&.6.0 14.11.&.7.0 1.13.&.7.1 3.13.@.3 5.13.@.3 14.13.&.6.1 1.15.&.8.0 14.15.&.9.0 1.17.&.8.1 3.17.@.3 5.17.@.3 14.17.&.9.1 6.21.^.2.1.1 9.21.}.1.0.1.0.0.0 14.23.@.3 10.24.M.2 14.25.@.3 10.26.M.2 10.28.M.2 [end] [offset] 868C [level] 40 [colour] [size] 16.31 [author] R. Victorik [data] oooooooooooooooo o&..}bbbbb}...&o o......#.......o oM....M.M......o o..............o o.............Mo o..............o oM.............o o..............o o&............Mo o..............o oM.............o oT.............o o.............Mo o.....#}#......o oM............To oooooooooo.ooooo oT^^^^^..ooo..&o o..............o o........bbb...o o.......b###b##o o.^.^.^.b#^#b#^o o..^.^...###b##o oo=====oooooob#o oo=====oo^..%ooo oo=====oo.....'o oo=====oo..ooo.o oo=====oo..DbD.o oo=====oo..ooo.o oR...........%!o oooooooooooooooo [additional] 29 1.1.&.1.0 4.1.}.1.0.1.0.0.0 10.1.}.1.0.1.0.0.0 14.1.&.2.0 1.3.M.0 6.3.M.2 8.3.M.0 14.5.M.2 1.7.M.0 1.9.&.2.1 14.9.M.2 1.11.M.0 14.13.M.2 7.14.}.3.0.0.1.0.0 1.15.M.0 2.17.^.3.0.0 3.17.^.3.0.0 4.17.^.3.0.0 5.17.^.3.0.0 6.17.^.3.0.0 14.17.&.1.1 2.21.^.3.0.0 4.21.^.3.0.0 6.21.^.3.0.0 10.21.^.2.1.1 14.21.^.2.1.1 3.22.^.3.0.0 5.22.^.3.0.0 9.24.^.3.0.0 [end] [offset] 888C [level] 41 [colour] [size] 16.31 [author] R. Victorik [data] OOOOOOOOOOOOOOOO O^..O^....^....O O..............O O....++++T++++TO O.OOOOOOOOOOOOOO O.D............O O.O...O@O@O@O..O O.O..OTOTOTO@..O O.O............O O.O'..........'O O.OOOOOOOOOOOOOO O^........#VVV%O O.O..#.b..#VVVVO O.O.#OOO..#VVVVO O.O..O}...#VVVVO O.O..O}...#VVVTO O.OOOOOOOOOOOOOO O........^....^O O.O...O.O..OTO.O O.O....OT..TOT.O O^O...O.O..O.O.O O.OO...........M O.O.OOOOOOOOOOOO O..............O O.O..O@O...O@O.O O.O...O....TOT.O O.O..OTO@..O.O@O O.O............O O.OOOOOOOOOOOOOO O^.........R..!O OOOOOOOOOOOOOOOO [additional] 19 1.1.^.3.0.0 5.1.^.2.1.1 10.1.^.2.1.1 7.6.@.3 9.6.@.3 11.6.@.3 12.7.@.3 1.11.^.3.0.0 6.14.}.0.0.1.0.0.0 6.15.}.0.0.1.0.0.0 9.17.^.3.0.0 14.17.^.3.0.0 1.20.^.3.0.0 15.21.M.2 6.24.@.3 12.24.@.3 8.26.@.3 14.26.@.3 1.29.^.3.0.0 [end] [offset] 8A8C [level] 42 [colour] [size] 16.31 [author] R. Victorik [data] OOOOOOOOOOOOOOOO O.............RO O...O.........!O O....OOOOOOOOOOO O...........T... O....OOOOOOOOOOO O...O..........O O.............&O OOOOOOOOOOOOOOOO OOOOOOOOOOOOOOOO OOOOOOOOOOOOOOOO OOOOOOO&.&OOOOOO OOOOOOO&.&OOOOOO OOOOOOO&.&OOOOOO OOOOOOO&.&OOOOOO OOOOOOO&.&OOOOOO OOOOOOOOOOOOOOOO OOOOOOOOOOOOOOOO OOOOOOOOOOOOOOOO O&......D'.&O&.O O..#.#..OOOOO..O O.......OVVVO.&O O.#.#.#.OVVVOOOO O..#.#..OVVVVVTO O...%...OVVVVVVO O.b..#^#OVVVVVVO O..#..#.OVVVVVVO O......^OVVVVVVO O.......OVVVVVVO O.......#VVVVVVO OOOOOOOOOOOOOOOO [additional] 17 14.7.&.1.0 7.11.&.2.0 9.11.&.6.0 7.12.&.5.0 9.12.&.5.1 7.13.&.6.1 9.13.&.4.0 7.14.&.4.1 9.14.&.7.0 7.15.&.7.1 9.15.&.3.0 1.19.&.3.1 11.19.&.10.0 13.19.&.2.1 14.21.&.1.1 6.25.^.2.1.1 7.27.^.2.1.1 [end] [offset] 8C8C [level] 43 [colour] [size] 16.31 [author] R. Victorik [data] -----s---------- ----sTs----sssss ---s}Dss---s&.&s --sM..s%s--sssss -s&...s.&s------ ssss.ssssss----- --s&s----------- --s^s--ssssss--- --s.s--s&..&s--- --s.s--s....s--- --s.s--s....s--- --s.s--sR..!s--- --s.s--ssssss--- --s.s----------- --s&s----------- --sss----------- --------sss----- -------sVT's---- ------s#####s--- ------s&..b.s--- ------s&....s--- -s-----s...s--s- -ss-----s}s--ss- -s&sss----sssTs- -s...ssssss...s- -s...........}s- -s...........}s- -s...ssssss...s- -s&sss----sssTs- -ss----------ss- -s------------s- [additional] 18 4.2.}.1.0.1.0.0.0 12.2.&.3.0 14.2.&.1.0 3.3.M.0 2.4.&.5.0 8.4.&.6.0 3.6.&.5.1 3.7.^.3.0.0 8.8.&.1.1 11.8.&.2.0 3.14.&.2.1 7.19.&.4.0 7.20.&.6.1 9.22.}.3.0.1.0.0.0 2.23.&.3.1 13.25.}.2.0.1.0.0.0 13.26.}.2.0.1.0.0.0 2.28.&.4.1 [end] [offset] 8E8C [level] 44 [colour] [size] 16.31 [author] R. Victorik [data] OOOOOOOOOOOOOOOO O+}#........##+O O##.........##}O O..............O O...OOOOOO.....O O...O^...O.....O O...O....O.....O O...O....OOO...O O........#'O...O O...O....##O...O O...O....##O...O O...O....#.O...O O...O....#.O...O O........#.O...O O}#....###.O...O OOOOOOO}OO.O...O OT+O^O.O.O.O...O O..O...O.O.O...O O..O.O.O.O.O...O O##O.O.O.O.O...O O....O^O.O.O...O O..O.O.O.O.O...O Ob.O.O...O.O...O O.bO.O.O.O.O...O OT.O.O.O^..O...O OOOOOOOOOOOO...O O..............O O.b.b.b.b.b....O O.b.b.b.b.b.#..O OR.!........}..O OOOOOOOOOOOOOOOO [additional] 9 2.1.}.1.0.1.0.0.0 14.2.}.2.0.1.0.0.0 5.5.^.3.0.0 1.14.}.0.0.1.0.0.0 7.15.}.3.0.1.0.0.0 4.16.^.3.0.0 6.20.^.3.0.0 8.24.^.3.0.0 12.29.}.3.0.1.0.0.0 [end] [offset] 908C [level] 45 [colour] [size] 16.31 [author] R. Victorik [data] oooooooooooooooo oR.^^^^.T.^^^.!o o..............o o..............o o..............o o..............o o.......%......o ooooooooooooo..o o&.D...........o oooo..&&&......o o.....ooo..#...o oT............^o oooooooooooooooo ................ oooooooooooooooo o&............}o ooo.oooooToooooo ..ooo...ooo..... ................ oooooooooooooooo o&............^o oooooooooToooooo ........ooo..... ................ oooooooooooooooo o+...........b'o oT.@...@....b##o oooooooooooooobo o..............o o&.....}..#....o oooooToooooooooo [additional] 20 3.1.^.3.0.0 4.1.^.3.0.0 5.1.^.3.0.0 6.1.^.3.0.0 10.1.^.3.0.0 11.1.^.3.0.0 12.1.^.3.0.0 1.8.&.10.0 6.9.&.1.0 7.9.&.2.0 8.9.&.3.0 14.11.^.2.0.0 1.15.&.1.1 14.15.}.2.0.1.0.0.0 1.20.&.2.1 14.20.^.2.0.0 3.26.@.3 7.26.@.3 1.29.&.3.1 7.29.}.3.0.0.1.0.0 [end] [offset] 928C [level] 46 [colour] [size] 16.31 [author] R. Victorik [data] PPPPPPPPPPPPPPPP P&.............P P..P@...b....P.P P...T.......T@.P P....P@....P...P P.....T...T@...P P&.....P@P..PPPP PPPP....T@..}.TP P..bP..........P PT..D#.........P PPPPPPPPPPPPPPPP P'+P..T..T.}.PTP P..P........MP.P PPDP........MP.P P.....@......P.P P....PPPPP@..P^P P^...PR.!P...P.P P....P...P...P.P P....P&&&P...P.P P.^..PPPPP@..P.P P............P.P P............P&P P....#@#.....PPP P&.............P PPPPPPPPPPPPPP.P P}.............P PPP.PPPPPPPPPPPP PT............}P PPPPPPPPPPPP.PPP P.@.......%...TP PPPPPPPPPPPPPPPP [additional] 27 1.1.&.10.0 4.2.@.3 13.3.@.3 6.4.@.3 11.5.@.3 1.6.&.1.0 8.6.@.3 9.7.@.3 12.7.}.1.0.1.0.0.0 11.11.}.1.0.1.0.0.0 12.12.M.2 12.13.M.2 6.14.@.3 10.15.@.3 14.15.^.3.0.0 1.16.^.3.0.0 6.18.&.1.1 7.18.&.2.0 8.18.&.3.0 2.19.^.3.0.0 10.19.@.3 14.21.&.3.1 6.22.@.3 1.23.&.2.1 1.25.}.0.0.1.0.0.0 14.27.}.2.0.1.0.0.0 2.29.@.3 [end] [offset] 948C [level] 47 [colour] [size] 16.31 [author] R. Victorik [data] oooooooooooooooo o.}..bbbbbb..}.o o.##.b....b.##.o o..bbb....bbb..o o...ooo.oooo...o o....^.b..^....o o...ooo.oooo...o oM...^.b.^....Mo o...ooo.oooo...o oM..^..b.^....Mo o...ooo.oooo...o oM...^.b^.....Mo oT..ooo.oooo..To oM..^..b...^..Mo oT..ooo.oooo..To oM...^.b..^...Mo oT..ooo.oooo..To oM.^...b^.....Mo oT..ooo.oooo..To oM...^.b..^...Mo oT..ooo.oooo..To oM.^...b..^...Mo o...ooo.oooo...o oM....^b.^....Mo o...ooo.oooo...o oM..^..b...^..Mo oo.oooo.ooooo.oo o.^....b...^...o oo.oooo.ooooo.oo o!.R......''.''o oooooooooooooooo [additional] 46 2.1.}.1.0.1.0.0.0 13.1.}.1.0.1.0.0.0 5.5.^.2.0.0 10.5.^.2.0.0 1.7.M.0 5.7.^.2.0.0 9.7.^.2.0.0 14.7.M.2 1.9.M.0 4.9.^.2.0.0 9.9.^.2.0.0 14.9.M.2 1.11.M.0 5.11.^.2.0.0 8.11.^.2.0.0 14.11.M.2 1.13.M.0 4.13.^.2.0.0 11.13.^.2.0.0 14.13.M.2 1.15.M.0 5.15.^.2.0.0 10.15.^.2.0.0 14.15.M.2 1.17.M.0 3.17.^.2.0.0 8.17.^.2.0.0 14.17.M.2 1.19.M.0 5.19.^.2.0.0 10.19.^.2.0.0 14.19.M.2 1.21.M.0 3.21.^.2.0.0 10.21.^.2.0.0 14.21.M.2 1.23.M.0 6.23.^.2.0.0 9.23.^.2.0.0 14.23.M.2 1.25.M.0 4.25.^.2.0.0 11.25.^.2.0.0 14.25.M.2 2.27.^.2.0.0 11.27.^.2.0.0 [end] [offset] 968C [level] 48 [colour] [size] 16.31 [author] R. Victorik [data] ssssssssssssssss s....s..^^^^^.&s s.s..s.s.......s s.s....s.......s s.s}}..s.......s s.ssssss......Ts s.}.}}Tsssssssss s......s&.....'s s......s.......s s......s.......s sss.sssss=====ss s.@.@..s.......s s.ssss@s.sssssss s......s..&..&.s ssss.sss.&.&&..s s}.....s.&&.&&.s s}.....s..&.&..s s}.....sssssssss ssssss.s&......s s..^^..s....T..s s......s.......s s......s.T..^..s s......s.......s s.ssssss.^.....s s......s.......s s..}.}.s.......s s......s.T...^.s ssssss.s.......s s!.....s.^..T..s sR.....s.......s ssssssssssssssss [additional] 38 8.1.^.3.0.0 9.1.^.3.0.0 10.1.^.3.0.0 11.1.^.3.0.0 12.1.^.3.0.0 14.1.&.1.0 3.4.}.3.0.1.0.0.0 4.4.}.3.0.1.0.0.0 2.6.}.1.0.1.0.0.0 4.6.}.1.0.1.0.0.0 5.6.}.1.0.1.0.0.0 8.7.&.1.1 2.11.@.3 4.11.@.3 6.12.@.3 10.13.&.4.0 13.13.&.3.0 9.14.&.1.2 11.14.&.5.0 12.14.&.2.0 1.15.}.0.0.2.0.0.0 9.15.&.4.1 10.15.&.3.1 12.15.&.6.0 13.15.&.1.3 1.16.}.0.0.2.0.0.0 10.16.&.2.1 12.16.&.5.1 1.17.}.0.0.2.0.0.0 8.18.&.6.1 3.19.^.3.0.0 4.19.^.3.0.0 12.21.^.3.0.0 9.23.^.3.0.0 3.25.}.0.0.0.0.1.1 5.25.}.0.0.0.0.1.1 13.26.^.2.0.0 9.28.^.2.0.0 [end] [offset] 988C [level] 49 [colour] [size] 16.31 [author] R. Victorik [data] QQQQQQQQQQQQQQQQ Q....@....@..@.Q Q.QTQQQ@QQQTQQ.Q Q..QQ.QQQTQQQ%.Q Q..............Q Q....@..@..@.@.Q Q.Q@QQQTQQQTQQ.Q Q..QQTQQQ.QQQ..Q Q..............Q Q.@.@..#.#.QQQQQ Q.QTQ.#....D.''Q Q........QQQQQQQ QQQQQQ.QQQ.}.}.Q QT.....Q......MQ Q......Q.QM...MQ Q^.....Q.QT...TQ Q.^.T..Q.QM...MQ Q..^...Q.QT...TQ Q...^..Q.QM...MQ Q..^...Q.QT...TQ Q...^..Q.QM....Q Q.T..^.Q.Q....MQ Q^...T.Q.QT...TQ Q....^.Q.QM....Q Q..^...Q.Q.....Q Q.^....Q.QQQ.QQQ Q........QT...TQ QQQQQQQQQQQQQ.QQ Q!.......D....}Q QR......%QQQQQQQ QQQQQQQQQQQQQQQQ [additional] 35 5.1.@.3 10.1.@.3 13.1.@.3 7.2.@.3 5.5.@.3 8.5.@.3 11.5.@.3 13.5.@.3 3.6.@.3 2.9.@.3 4.9.@.3 11.12.}.1.0.1.0.0.0 13.12.}.1.0.1.0.0.0 14.13.M.2 10.14.M.0 14.14.M.2 1.15.^.2.1.1 2.16.^.2.1.1 10.16.M.0 14.16.M.2 3.17.^.2.1.1 4.18.^.2.1.1 10.18.M.0 14.18.M.2 3.19.^.2.1.1 4.20.^.2.1.1 10.20.M.0 5.21.^.2.1.1 14.21.M.2 1.22.^.2.1.1 5.23.^.2.1.1 10.23.M.0 3.24.^.2.1.1 2.25.^.2.1.1 14.28.}.2.0.1.0.0.0 [end] [offset] 9A8C [level] 50 [colour] [size] 16.31 [author] R. Victorik [data] ssssssssssssssss s?^...R...!..^?s ss............ss s?...b.b.b.b..?s ss............ss s?.....b.b....?s ss............ss s?...b.b.b.b..?s ss............ss s?.....b.b....?s ss............ss s?...b.b.b.b..?s ss............ss s?.....b.b....?s ss............ss s?...b.b.b.b..?s ss............ss s?.....b.b....?s ss............ss s?...b.b.b.b..?s ss............ss s?.....b.b....?s ss............ss s?...b.b.b.b..?s ss............ss s?.....b.b....?s ss............ss s?...b.b.b.b..?s ss............ss s?...s?s's?s..?s ssssssssssssssss [additional] 2 2.1.^.3.0.0 13.1.^.3.0.0 [end] [offset] 9C8C [level] 51 [colour] [size] 16.31 [author] R. Victorik [data] pppppppppppppppp pbbbpbbbbbbbbbbp pb.bpb...pppppbp pb.bbb...pbbbbbp pb..p####pb....p pbb..#@@*pb.pppp ppbpp@@@@pb.D'Tp pbb.p**@*pbppppp pb..pppp#pbbbbbp pb.##p.p.p....bp pb.#Tpbbbp....bp pb..ppbpbp....bp pb....bpbp....bp pbbb..bpbbbbbbbp pppbppbp.ppppppp pbbb.pbbbbbbbbbp pb...p....p...bp pb...p....p...bp pb......b.p...bp pb...p.b.......p pbbbbp....p.b##p ppppbpp.ppp.#H#p pbbbb.......#%Tp pbpppppppppppppp pbp^#..........p pbp#....b......p pbp..........#}p pbp..ppppp.....p pbp..p&..p.....p pbbb.p...p.R..!p pppppppppppppppp [additional] 14 6.5.@.3 7.5.@.3 8.5.*.1 5.6.@.3 6.6.@.3 7.6.@.3 8.6.@.3 5.7.*.1 6.7.*.1 7.7.@.3 8.7.*.1 3.24.^.2.1.1 14.26.}.2.0.1.0.0.0 6.28.&.1.0 [end] [offset] 9E8C [level] 52 [colour] [size] 16.31 [author] R. Victorik [data] QQQQQQQQQQQQQQQQ Q...Q@.....Q...Q Q.R.Q......Q.&.Q Q...Q....'.Q...Q Q...&@.....&...Q QQQQQQQQQQQQQQQQ Q...#..#.HTHT##Q Q.&...#.#T#T#T#Q Q..#.#.#T#T#T#TQ Q##.#.#.#T#T#T#Q Q============QQQ Q...Q...Q......Q Q.T.D.T.Q.?..&.Q Q...Q...Q......Q QQQQQQQQQQQQQQQQ Q..........Q...Q Q.Q.^......Q.!.Q Q.Q........Q.}.Q Q.Q..Q..Q..Q...Q Q.Q.....b..Q...Q Q.Q........QQDQQ Q.Q............Q Q.QQQQQQQQQQ...Q Q.Q.}}}}}}.Q...Q Q.Q}......}Q...Q Q.Q}......}Q...Q Q.Q}......}QQ.QQ Q.Q}......}Q...Q Q.Q}......}Q.&.Q Q&Q.}}}}}}.Q...Q QQQQQQQQQQQQQQQQ [additional] 33 5.1.@.3 13.2.&.3.0 4.4.&.1.0 5.4.@.3 11.4.&.2.0 2.7.&.4.0 13.12.&.10.0 4.16.^.2.1.1 13.17.}.1.0.1.0.0.0 4.23.}.1.0.1.0.0.0 5.23.}.1.0.1.0.0.0 6.23.}.1.0.1.0.0.0 7.23.}.1.0.1.0.0.0 8.23.}.1.0.1.0.0.0 9.23.}.1.0.1.0.0.0 3.24.}.0.0.1.0.0.0 10.24.}.2.0.1.0.0.0 3.25.}.0.0.1.0.0.0 10.25.}.2.0.1.0.0.0 3.26.}.0.0.1.0.0.0 10.26.}.2.0.1.0.0.0 3.27.}.0.0.1.0.0.0 10.27.}.2.0.1.0.0.0 3.28.}.0.0.1.0.0.0 10.28.}.2.0.1.0.0.0 13.28.&.4.1 1.29.&.3.1 4.29.}.3.0.1.0.0.0 5.29.}.3.0.1.0.0.0 6.29.}.3.0.1.0.0.0 7.29.}.3.0.1.0.0.0 8.29.}.3.0.1.0.0.0 9.29.}.3.0.1.0.0.0 [end] [offset] A08C [level] 53 [colour] [size] 16.31 [author] R. Victorik [data] PPPPPPPPPPPPPPPP PT............&P PP.^..PPP......P P.....PTP@.....P PP...PP.PPPM...P PT....P.P......P PP....P^P..T...P P%............+P PPPPPPM.MPPPPPPP P...P......P#HTP P.&.P.}.}..PT#.P P...P......P#H#P PP#PP....b.PbHHP P........#.P#HHP P.....T....PPPHP P}#........HHHbP PPPPPPPPPPPPPPPP ---------------- ---------------- ---------------- PPPPPPPPPPPPPPPP P&........^^..!P PPPPPPPPPMbMPPPP P...PP...#.#...P P.&.PP&PPM.MPP&P P...PPPPP...PPPP P.R......#b#...M P...PPPPP...PPPP P.&.PP'PPM.MPP&P P...D..........P PPPPPPPPPPPPPPPP [additional] 26 14.1.&.2.0 3.2.^.3.0.0 9.3.@.3 11.4.M.0 7.6.^.2.0.0 6.8.M.0 8.8.M.2 2.10.&.3.0 6.10.}.1.0.0.0.0.0 8.10.}.1.0.0.0.0.0 1.15.}.0.0.2.0.0.0 1.21.&.1.0 10.21.^.2.0.0 11.21.^.0.0.0 9.22.M.0 11.22.M.2 2.24.&.2.1 6.24.&.1.1 9.24.M.0 11.24.M.2 14.24.&.4.0 15.26.M.2 2.28.&.3.1 9.28.M.0 11.28.M.2 14.28.&.4.1 [end] [offset] A28C [level] 54 [colour] [size] 16.31 [author] R. Victorik [data] QQQQQQQQQQQQQQQQ Q..^..^....QT#&M Q.#QQ.......Q#.Q Q.......Q.QQ...Q Q.Q.QQQ.Qb.....Q Q.Q.......Q@QQ.Q Q.QQQQ.QQ.Q..Q.Q Q..Q....Q.Q....Q Q......*Q...QQ.Q QQ...Q..Q......Q Q..Q.Q....QQQ..Q Q.@Q......Q....Q Q..QQ.Q.Q.....QQ Q.?.Q...Q......Q Q...Q.......QQQQ Q??.Q.QQQQQb.Q}Q Q.....Q...Q..Q.Q Q.?.Q........Q.Q Q...Q..QQQQQQQ.Q QQ.QQQQQ.....T.Q Q#.T?Q...QQQ...Q Q###!Q*QQQ.QQ*.Q Q++QQQ.........Q QQQ&.....QbQ.T.Q Q.QQQQQQQQ.QQQ.Q Q..............M Q.QQQQQQQQQQQQTQ Q.#'##..#.#.RDTQ Q#..#..##..#.QTQ Q%..#.#..##.#QTQ QQQQQQQQQQQQQQQQ [additional] 12 3.1.^.0.0.0 6.1.^.2.0.0 14.1.&.10.0 15.1.M.2 11.5.@.1 7.8.*.3 2.11.@.1 14.15.}.1.0.1.0.0.0 6.21.*.3 13.21.*.1 3.23.&.10.1 15.25.M.2 [end] [offset] A48C [level] 55 [colour] [size] 16.31 [author] R. Victorik [data] '''ppppppppppppp pR...T.........M pppppp.ppppppp*p p...Tp.p#.^.Tp.p p.p.pp.p&..##p.p p.b..#.D.....p.p p.p..p.ppppppp.p p....p.........p p!'TTppppppppp.p ppppppp%.......p M.......pppppppp p.ppp.ppp......p p.........#.p&.p ppppppppp......p p&....TTpppppppp p..^...........p ppppppppp.pppppp pT..........^..p ppp.pppppppppppp pT...@...bbbbbbp pp@ppppp@pppppbp pp...@...p.bbbbp pppppppppp.ppppp p.....b.p...p+Tp pbp.......}....p pbppppppp...pppp pbp#...#ppDpp%Tp pbpT.....#.....p pbpppppppppppppp pbbbbbbbbbbb#*Tp pppppppppppppppp [additional] 15 15.1.M.2 14.2.*.3 10.3.^.0.0.0 8.4.&.1.0 0.10.M.0 13.12.&.10.0 1.14.&.10.1 3.15.^.2.0.0 12.17.^.0.0.0 5.19.@.2 2.20.@.1 8.20.@.3 5.21.@.0 10.24.}.0.0.0.0.1.1 13.29.*.1 [end] [offset] A68C [level] 56 [colour] [size] 16.31 [author] R. Victorik [data] oooooooooooooooo o.o...........!o o.o.Tooooooooooo o.oTTo@.......@o o.oT@...o...#..o o.oo....o..o.o.o o.%o....o..o^o@o o..#.T..o..o.o.o oooo.o..o.#o.o.o o....o.oo..o.o@o o@oooo.oR..o+o.o o.o........o+o.o o...oo..oo.ooo@o o@o..oooo......o o.o........ooo.o o.oo.#.#oo.To+.o o..............o ooooooooooooooTo o'.............o oToooooooooooooo o..............o ooooooooooooooTo o.TT#T#T#T#T#..o M..............o o.ooooooooooo..o o.ooT.TD^#.....o o.Tooooo#....b.o o.oo...........o o.o============o o..T#T#T#T#T#T#o o}oooooooooooooo [additional] 12 6.3.@.3 14.3.@.1 4.4.@.3 12.6.^.3.0.0 14.6.@.1 14.9.@.1 1.10.@.3 14.12.@.1 1.13.@.3 0.23.M.0 8.25.^.2.1.1 1.30.}.3.0.1.0.0.0 [end] gnurobbo-0.66+dfsg/data/levels/robbo09.dat0000644000175000017500000007042511316101440017407 0ustar stevesteve[name] RobboIX [last_level] 33 [default_level_colour] 608050 [notes] Conversion started 2007-10-11 by Thunor Level 3: Shifted the bottom bombs leftward and the 3 screws rightward to slow it down slightly for awkward controls. Level 25: Moved the gun from 2.6 to 2.5 because it was incredibly annoying and placed a couple of black wall sprites above it. Level 29: Added two screws at 6.1 and 11.1 to speed up the bird shooting the bomb; could make a cup of tea waiting for it otherwise. *THIS SET IS COMPLETE NOW* [offset] 50B5 [level] 1 [colour] 853025 [size] 16.31 [author] XE-TEAM/JANUSOFT [data] qqqqqqqqqqqqqqqq q..Tq.T.q'''qqqq q.qTq.q.q.q.q.qq q.qTq.q.q.q.q.qq q.q.q.q.q.q.M.qq q.q...q...q....% q.qqqqqqqqqqqqM. q.HHHHHHHHHHHHH. qqHHHHHHHHHHHHHq &.............}q qqqqqqqqqqqqqqqq &Rq.#V##.######q q.q.#####...#..q q.q.#.##.######. q.q.#...#.###..q q.q.####.##.##.q q.q.#.###.##.#.q q.q..#.##.#.##.q q...#.###..#.#.q qqqqqqqqqqqqqq.q q..............q q.qqqDqDqqDqqqDq q.qVqVq^qq.qVqTT q.qVqVq^qq.qVqTT q.qVqVq^qq.qVqTT q.qVqVq^qq.qVqTT q.qVqVq^qq.qVqTT q.qVqVq^qq.qVqTT q%qVqVq^qq^qVqTT q%qVqVqTq!.qVq'T qqqqqqqqqqqqqqqq [additional] 13 12.4.M.0 14.6.M.0 0.9.&.1.0 14.9.}.3.0.0.1.0.0 0.11.&.1.1 7.22.^.1.0.0 7.23.^.1.0.0 7.24.^.1.0.0 7.25.^.1.0.0 7.26.^.1.0.0 7.27.^.1.0.0 7.28.^.1.0.0 10.28.^.1.0.0 [end] [offset] 52B5 [level] 2 [colour] 005050 #004444 [size] 16.31 [author] XE-TEAM/JANUSOFT [data] PPPPPPPPPPPPPPPP P.......^...^..P PT.HHHHHHHHHHHHP PHHHTHHHTHHTHHHP PHHHHHHHHHHHHH%P PTHHHHHHHHPPPPPP PHHHHHHbHHPTTTPP PHHHHHHHHHPP.PPP &.........RP.PVP PPPPPPPPPPPP.PPP PP.&M.....^...#M PP'PPHHHHHHHHH.P PHHP.HHHHHHHHH.P P'PP..P%PPPHHH.P P.PT.P.P...PHH.P P.PPTTP.@P..P..P P..PPP.@P.DP...P P......P.......P .PPPPPPPDPPPPPPP M..#...........P M.^............P M.^............P M.^............P M.^............P M.^............P M#.............P M......#.......& PPPPPPPPPPPPPPPP P^...........^.P !^...........'.& PPPPPPPPPPPPPPPP [additional] 27 8.1.^.0.1.1 12.1.^.0.1.1 0.8.&.6.0 3.10.&.6.1 4.10.M.0 10.10.^.2.1.1 15.10.M.2 8.15.@.2 7.16.@.2 0.19.M.0 0.20.M.0 2.20.^.2.0.0 0.21.M.0 2.21.^.2.0.0 0.22.M.0 2.22.^.2.0.0 0.23.M.0 2.23.^.2.0.0 0.24.M.0 2.24.^.2.0.0 0.25.M.0 0.26.M.0 15.26.&.1.0 1.28.^.1.0.0 13.28.^.0.1.1 1.29.^.1.0.0 15.29.&.1.1 [end] [offset] 54B5 [level] 3 [colour] 961B2B [size] 16.31 [author] XE-TEAM/JANUSOFT [data] SSSSSSSSSSSSSSSS S..bbbbbbbbbb.'R SSSbSSSSSSSS.SSS SbbbS.b.S....S.S SbbSS.b.S.SSSS.S SbbbbbbbS......S SSSSSSSbSSSSSS.S bbbbbbbbS......S SbSSSSSSS..SSSSS SbbbbbbbbS.....S SbbbbbbbbSSSSS.S SSSSSbbbbS.....S SbbbbbSSSSSS.SSS SbSSSSSbbbbS...S SbbbbbbbbbbS.S.S SbbbbSSSSbbS.S.S SSSSSbbbbbbS.S.S SbbbbbbSSSSS...S SbSSSSSbbbbSSS.S SbbbbbbbbbbS...S SbbbSSSSSbbS...S SSSSSbbbbbbS.SSS SbbbbbSSSSSS.HHS Sbb..bHHHHHH.HHS SbbbbbHHHHHH.HHS SbHHHHHHbbbH.HHS SbHHHHbbTTT..HHS SbbHHbbbbbbH!HHS SHHbbbHHHHHHHHHS STHHHHHHHHHHHHTS SSSSSSSSSSSSSSSS [additional] 0 [end] [offset] 56B5 [level] 4 [colour] 7248D4 [size] 16.31 [author] XE-TEAM/JANUSOFT [data] PPPPPPPPPPPPPPPP PR#..#..#..#...P P#.#.#..##.####P P.#######.##..#P P..##'..#...#.#P P#..##.#.#.#.### PPPPPPP.&PPPPPPP PTTTTTHP......%P PTH%HTHPPPDPPDPP PTHTTT.TP.D%P..P PTH.HTHPT.P.P%.P PTHTTT.PTPP.PPDP PH%THHHPbPTT...P P......PDPDPPPPP P..}...#.......P PPPPPPPP.PPP-PPP P}H''^''.....H.P P.H.^........H}P P-.--.-.-.-.-.TP PT.--D-.-.-D-.TP PT.--*-.-.-*-.TP PT.--.-.-.-.-.TP PT.--.-.-.-.-.TP PT.--.-.-.-.-.TP PD.--.-.}.-.-}TP P.....-.-.-....P P------.-.-----P P......D.D.@...P P..----------..P P..........!...P PPPPPPPPPPPPPPPP [additional] 11 8.6.&.2.0 3.14.}.3.0.0.1.0.0 1.16.}.0.0.1.0.0.0 5.16.^.0.0.0 4.17.^.0.0.0 14.17.}.2.0.1.0.0.0 5.20.*.3 11.20.*.3 8.24.}.0.0.0.0.1.1 13.24.}.3.0.1.0.0.0 11.27.@.2 [end] [offset] 58B5 [level] 5 [colour] 258370 [size] 16.31 [author] XE-TEAM/JANUSOFT [data] PPPPPPPPPPPPPPPP P.....?TTTTTT.RP PPPPPPPP.PPPPPPP }.......HPTTTT&P }.......HMM...MM }....T.%'M^....? PPPPPP.PPM^....? P........P.....P P...^..^.D.....P PPPPPPPPPPPPPPPP P..........'.%.& PPDPPPPPPPPDPPPP P..PTTTT&P..@..P P.PPTTTTTP.PPP.P P..PTT%TTP.PPP.P PP@PDPPPPP.....P P..P....^.%PPPPP P.PP.PPPPPPPPP!P P.TP.........P.P PP.}.........D%P PPPPPPPPPPPPPPHP PPPPPPPPPPPPPPHP PbbbbbbbbbbbbbbP PDDPPPPPPPPPPPPP P...'..^..^..%%P PPPPPDPPPDPPPPPP PHHHHHH}?HHHHHHP P.THHHH}?HHHHTHP HHHHHHH}HHHHHHHP P......}.......P PPPPPPPPPPPPPPPP [additional] 26 0.3.}.0.0.0.0.0.0 14.3.&.1.0 0.4.}.0.0.0.0.0.0 9.4.M.0 10.4.M.2 14.4.M.0 15.4.M.2 0.5.}.0.0.0.0.0.0 9.5.M.0 10.5.^.0.0.0 9.6.M.0 10.6.^.0.0.0 4.8.^.0.0.0 7.8.^.0.0.0 15.10.&.1.1 8.12.&.3.0 12.12.@.2 2.15.@.1 8.16.^.0.0.0 3.19.}.0.0.1.0.0.0 7.24.^.0.0.0 10.24.^.0.0.0 7.26.}.0.0.0.0.1.1 7.27.}.0.0.0.0.1.1 7.28.}.0.0.0.0.1.1 7.29.}.0.0.0.0.1.1 [end] [offset] 5AB5 [level] 6 [colour] 853025 [size] 16.31 [author] XE-TEAM/JANUSOFT [data] SSSSSSSSSSSSSSSS S&.VVVHHSDDDDD!S S..VVVHH.DDDDDDS SSSSSSSS}SSSSSSS S..............S S..............S SS.SSSS..SSSSSSS S..........%...S S.SS.SS..SSSSSSS S..............S SSSS.SSH.SSSSS.S S..............S S.SSHSSS.SSS.SSS S..........%...S SSSS.SSS.SSSHSSS S..............S S..............S S....SSS.SSSSS.S S....S.....%.S.S S....S.......S.S S....S.......S.S S....SSS.SSSSS.S S..............S S..............S S..............S S......SH.S....S SSS.SSSSH.SSSS.S S......SH.S....S S..b.bR..b..'..S S........%%%..&S SSSSSSSSSSSSSSSS [additional] 3 1.1.&.2.0 8.3.}.1.0.1.0.0.0 14.29.&.2.1 [end] [offset] 5CB5 [level] 7 [colour] 2870D0 #2581DD [size] 16.31 [author] XE-TEAM/JANUSOFT [data] QQQQQQQQQQQQQQQQ Q'...^..^..^.'%R QDQQQQQQQQQQQQQQ Q.T..@.%...^..^M Q.TTTTTT...^..^M QDQQQQQQQQQQQQQQ Q..........%.?.} Q..........HHH.} Q..........HHH.} QQQQQQQQQDQQQQQQ Q..............Q Q.....*.....*..Q Q.QTQTQ.H.QTQT.M Q..Q.QTQTQ&.%Q.Q Q..............Q Q..............Q QQQQQQQQQQQQQQDQ M....Q.........Q QQQQQQ.QQQQQQQQQ Q'.......^....'Q QHHHHHHHHHHHHHHQ QHHHHTHHHHHTHHHQ QHTHHHHHHHHHHTHQ QHHHHHHTHHHHHHHQ QHHTHHHHHTHHHHHQ QHHHHHHHHHHHHHHQ Q}......}......& QQQQQQQQQ}QQQ}QQ Q..^...........Q &............^.! QQQQQQQQQQQQQQQQ [additional] 27 5.1.^.2.0.0 8.1.^.2.0.0 11.1.^.2.0.0 5.3.@.2 11.3.^.2.0.0 14.3.^.2.0.0 15.3.M.2 11.4.^.2.0.0 14.4.^.2.0.0 15.4.M.2 15.6.}.2.0.1.0.0.0 15.7.}.2.0.1.0.0.0 15.8.}.2.0.1.0.0.0 6.11.*.0 12.11.*.0 15.12.M.0 10.13.&.1.0 0.17.M.0 9.19.^.2.0.0 1.26.}.3.0.0.1.0.0 8.26.}.3.0.0.1.0.0 15.26.&.3.0 9.27.}.3.0.0.1.0.0 13.27.}.3.0.0.1.0.0 3.28.^.2.0.0 0.29.&.3.1 13.29.^.2.0.0 [end] [offset] 5EB5 [level] 8 [colour] 417C25 [size] 16.31 [author] XE-TEAM/JANUSOFT [data] pppppppppppppppp p&.......%%%%.R# ppppppppDppppppp p.#....pDpT....p p.-...}pDpT..}.p p&-%..}pDpT..}&p ppppppppDppppppp p....^..'p&.%D.p p.pppppppppppp.p p...p&bbV}p%.D.p ppp%pppppppppp.p &.*.p..%....HHH} &.p.p.......HHH} &...p.......HHH} pppppDpppppppppp pTTTp.p%...p%%%p pTTTp.p....p...p ppDpp'p....D...p p....%p...#p...p pDppppp}}}}p...p p.....pVVVVp^^^p ppppp.pppppppDpp p...D..........p pDpppppppppppppp p....^.......^.p ?.HHHHHHHHHHH.?H ?bHHHHHHHHHHHb?H ?bHHHHHTTTHHHb?H ?bHHHHHT!THHHb?H ?bbbbHHTTTHHbb?H ???????????????H [additional] 27 1.1.&.1.0 6.4.}.2.0.0.0.0.0 13.4.}.2.0.0.0.0.0 1.5.&.1.1 6.5.}.2.0.0.0.0.0 13.5.}.2.0.0.0.0.0 14.5.&.2.0 5.7.^.2.0.0 10.7.&.3.0 5.9.&.4.0 9.9.}.0.0.0.0.1.1 0.11.&.3.1 2.11.*.0 15.11.}.2.0.1.0.0.0 0.12.&.2.1 15.12.}.2.0.1.0.0.0 0.13.&.4.1 15.13.}.2.0.1.0.0.0 7.19.}.0.0.0.0.1.1 8.19.}.0.0.0.0.1.1 9.19.}.0.0.0.0.1.1 10.19.}.0.0.0.0.1.1 12.20.^.1.0.0 13.20.^.1.0.0 14.20.^.1.0.0 5.24.^.2.1.1 13.24.^.2.1.1 [end] [offset] 60B5 [level] 9 [colour] 932F4B [size] 16.31 [author] XE-TEAM/JANUSOFT [data] QQQQQQQQQQQQQQQQ QR.DD.'........& Q%%Q..'........& QQQQ'''........& Q..............& Q..............& Q..............Q Q..............Q Q&**...********Q QQQQQQQQQQQQQQQQ Q....^...^.....Q Q..............Q Q.HHHHHHbHHHHHHQ Q.HHHHHHHHHHHHHQ Q.HHHTHHHHTHHTHQ QHQHHHHHTHHHHHHQ Q.'QHHHHHHHHHHHQ Q&'QHTHHbHHTHHHQ QQQQQQQQQQQQQQQQ Q.QTT..Q.TTT.Q%' Q.QQQ..Q.TTT.QVQ Q..@...Q.TTT.Q.Q Q.QQQ..QQQQQDQ.Q Q............Q.Q Q.QQ.........Q.Q Q..Q....QQQQ.Q.Q Q&.Q....Q}.....Q QQQQQQQQQQQQQQQQ Q...^.....^....Q Q!..^.....^....& QQQQQQQQQQQQQQQQ [additional] 27 15.1.&.3.0 15.2.&.2.0 15.3.&.3.1 15.4.&.2.1 15.5.&.3.2 1.8.&.1.0 2.8.*.0 3.8.*.0 7.8.*.0 8.8.*.0 9.8.*.0 10.8.*.0 11.8.*.0 12.8.*.0 13.8.*.0 14.8.*.0 5.10.^.0.1.1 9.10.^.0.1.1 1.17.&.1.1 3.21.@.2 1.26.&.1.2 9.26.}.0.0.0.0.0.0 4.28.^.0.0.0 10.28.^.2.0.0 4.29.^.0.0.0 10.29.^.2.0.0 15.29.&.1.3 [end] [offset] 62B5 [level] 10 [colour] 996600 [size] 16.31 [author] XE-TEAM/JANUSOFT [data] ssssssssssssssss s.........~.D%Rs s.........~.ssss s.........~~...s s..............s s..............s s......~~~~....s s..............s s@@@.........**s sssss&&&&&&sssss s....#.##.#....s s.....#....~.HHs s............H%s sHHHHHHHHHHHHHHs sHHTHHHHTbHT'HHs sHHTHHTHTHHHHHHs sHH'HHH'HHHT'HHs ssss.sssssssssss s.......sTTTTTTs sssssss.sTssssss s.......sTs..s.s sTTTTTTTT's@&s.s ssssssssssssss@s s..@s@@.s..@.s.s s...s..&s...&s&s ssssssssssssssss s}HbHbHbHHbHHH!s s}HHHbHHHHHHHHHs s}HbHHHbHbHHHHHs s.............&s ssssssssssssssss [additional] 25 1.8.@.2 2.8.@.2 3.8.@.2 13.8.*.0 14.8.*.0 5.9.&.5.0 6.9.&.2.0 7.9.&.4.0 8.9.&.3.0 9.9.&.1.0 10.9.&.6.0 11.21.@.2 12.21.&.5.1 14.22.@.1 3.23.@.0 5.23.@.0 6.23.@.0 11.23.@.0 7.24.&.6.1 12.24.&.3.1 14.24.&.1.1 1.26.}.0.0.1.0.0.0 1.27.}.0.0.1.0.0.0 1.28.}.0.0.1.0.0.0 14.29.&.4.1 [end] [offset] 64B5 [level] 11 [colour] 004078 #003366 [size] 16.31 [author] XE-TEAM/JANUSOFT [data] PPPPPPPP!PPPPPPP PP.P.P.PTP...P.P PP.P.P.PTP.P.P.P PPVPVPVPTPVPVPVP PPVVVPVPTP.PVPVP PP.P.P.PTP.PVPVP PP.P.P.PTP.P.P.P PP.P.P.PTP.P.P.P PP.P.P.PTP.P.P.P PPHPHPHPHPHPHPHP PP.P.P.P.P.....P PP.....P.P....PP PTPT.TPT.PTT.TPP P.TP.P.....P.PTP P..........@@@.P PPPPPPPPDPPPPPPP PTHHHHHHbHHHHHHP PHHHHbHHHHHHHbHP PHHHHHHbHHHHHHHP PHHbHHHHHHHbHHHP PHHHHHbHHHHHHbHP PHHHHHHHHHHHHHHP P..............P P}..T...}..T..}P PPPPPPPP.PPPPPPP P#.#.#.#.#.#.#?P P.#.#.#.#.#.#.#P P#.#.#.#.#.#.#'P P.#.#.#.#.#.#.'P P#.#.#.#.#?#..RP PPPPPPPPPPPPPPPP [additional] 6 11.14.@.2 12.14.@.2 13.14.@.2 1.23.}.3.0.0.1.0.0 8.23.}.3.0.0.1.0.0 14.23.}.3.0.0.1.0.0 [end] [offset] 66B5 [level] 12 [colour] 7C3C77 [size] 16.31 [author] XE-TEAM/JANUSOFT [data] TTTTTTTT!TTTTTTT q..............q M^............^M M..............M q.........@....q q.qqqqqqqqqqqq.q q..............q q..............q q..............q }#............#} q..............q qqqqqqqqDqqqqqqq qTT..........TTq qTT.....q....TTq q......q&q.....q q.....q?.?q....q q....qT...Tq@..q q...q'.....%q..q q..qqqqq.qqqqq.q q..............q qqqqqqqqqqqqqqqq %qqqqqqqqqqqq.&q %qDDDDDDDDDDDqDq %qDqqqqqqqqqDDDq %qDDDDqqqqqqqqqq %qqqqDD%%%%%%%%% %qDDDDqqqq%%%%%% %qDqqqqqqqqqqqqq %qDDDDDDDDDD.D'' %qqqqqqqqqqq.D%% %%%%%%%%%%%%Rqqq [additional] 12 0.2.M.0 1.2.^.2.0.0 14.2.^.0.0.0 15.2.M.2 0.3.M.0 15.3.M.2 10.4.@.2 0.9.}.0.0.1.0.0.0 15.9.}.2.0.1.0.0.0 8.14.&.1.0 12.16.@.2 14.21.&.1.1 [end] [offset] 68B5 [level] 13 [colour] AB2300 [size] 16.31 [author] XE-TEAM/JANUSOFT [data] QQQQQQQQQQQQQQQQ !..#.#.#.#.#.#.Q Q.#.#.#.#.#.#.#Q Q#.#.#.#.#.#.#.Q Q.#.#.#.#.#.#.#Q Q#.#.#.#.#.#.#.Q QQQQQQQQQQDQQQQQ Q..............Q Q.TQQTQTQ@Q@Q@.Q Q.Q..Q.Q.Q.Q%Q.Q Q.TQTTTTT....Q.Q Q.QTTTTTTQ.?Q%.Q Q.TQ....Q'Q??Q.Q Q.Q.DQQQ'.'QQ..Q Q..............Q QQQQQQQQQQQQQQDQ QHHHHHHHHHHHHH.Q QbHHTHHbHHHTH%.Q QHHHHHHHHHHHHH.Q QHHHHTHHHHbHHH.Q QHHHHHHHHHHHHb.Q HTHHTHHTHHHHHH.Q HHHHHHHHHHbHHH.Q QHHHHHHHHHHHHH.Q QHHHHHHHHHHbHH.Q Q?????????????.Q Q?????????????.Q Q..............Q Q..............Q .}TT}TT}TT}TT}?Q R..............Q [additional] 8 9.8.@.2 11.8.@.2 13.8.@.2 1.29.}.3.0.1.0.0.0 4.29.}.3.0.0.1.0.0 7.29.}.3.0.1.0.0.0 10.29.}.3.0.0.1.0.0 13.29.}.3.0.1.0.0.0 [end] [offset] 6AB5 [level] 14 [colour] 7C5D1D [size] 16.31 [author] XE-TEAM/JANUSOFT [data] qqqqqqqqqqqqqqqq q''.......R%%%.q q-.-.-.-.-.-.-.q q-b-b-b-b-b-b-bq q-b-b-b-b-b-b-bq q-b-b-b-b-b-b-bq q-b-b-b-b-b-b-bq q-b-b-b-b-b-b-bq q-b-b-b-b-b-b-bq q-b-b-b-b-b-b-bq qTTTTT.....TTTTq qTTTTTTT.TTTTTTq q--D----D---D--? q...@@q....q.??? qT.T.Tq..^%q.... qqqqqqqqqqqqqqqD qTTTTTTTTTTTTTT. qT*.........^%Tq qT*}...}...}.@Tq qT^..........@Tq qTTTTTTTTTTTTT'q qqqqqqqqDqqqqqqq qHHHHHHHHHHHHHHq qHHHHHHHHHHHHHHq qHHHHHHHHHHHHHHq qHHHHHHHHHHHHHHq qHHHHHHHHHHHHHHq qHHHHHHHHHHHHHHq qHHHHHHHHHHHHHHq qHHHHHHHHHHHHH!q qqqqqqqqqqqqqqqq [additional] 12 4.13.@.0 5.13.@.2 9.14.^.2.0.0 2.17.*.0 12.17.^.2.0.0 2.18.*.0 3.18.}.0.0.0.0.1.1 7.18.}.0.0.0.0.1.1 11.18.}.0.0.0.0.1.1 13.18.@.2 2.19.^.0.1.1 13.19.@.2 [end] [offset] 6CB5 [level] 15 [colour] 1F5384 [size] 16.31 [author] XE-TEAM/JANUSOFT [data] PPPPPPPPPPPPPPPP P........%%%%R%P PPPPPPPP.PPPPPPP P.D.D.D.D.D.D.DP PD.D.D.D.D.D.D.P P.D.D.D.D.D.D.DP PD.D.D.D.D.D.D.P P.D.D.D.D.D.D.DP PD.D.D.D.D.D.D.P P.D.D.D.D.D.D.DP PD.D.D.D.D.D.D.P P.D.D.D.D.D.D.DP PD.D.D.D'D.D.D.P PPPPPPPP.PPPPPPP P..............P P...PP....PP.@.P P..PTTP..P%TP%@P PDPTT~....~TTPDP PTTTP......PTTTP PTTPM......MPTTP PTPM##....##MPTP PP...H....H...PP PPPPPPPP.PPPPPPP P.#.#.#.#.#.#.#P P#.#.#.#.#.#.#.P P.#.#.#.#.#.#.#P P#.#.#.#.#.#.#.P P.#.#.#.#.#.#..P P#.#.#.#.#.#...P P.#.#.#.#.#...!P PPPPPPPPPPPPPPPP [additional] 6 13.15.@.2 14.16.@.2 4.19.M.0 11.19.M.2 3.20.M.0 12.20.M.2 [end] [offset] 6EB5 [level] 16 [colour] AB2300 [size] 16.31 [author] XE-TEAM/JANUSOFT [data] pppppppppppppppp pT.p@@@p!p.p@@@p pT.p@ppp.p.pp*.p pT.p@pT..p.Tp*.p pp.p@pT.pp.pp*pp ppDpHppDppDppHpp p..............p TTT....-@-.-*.-p p.-...-T-T-T...p -....-T.-.T-...p p..............p ppp}.ppHppppp.}p p..---.b....---p p......#......@p p.............@p p....T...TT@@..p pppppppHpppppppp p....T.b.T.....p p......#.......p p............**p pppppppHpppppppp pHHbbbbbHHHHHHHp pHHbHbHHHbbbbHHp pbHbHHH?HbbbbHHp pHHHHHHHHHHHHHHp bbbbbbbbbbbbbbbp pHHHHHHHHHHHHHHp p...}..}...}..}p p.......pppppppp p.......D%T%%%Rp pppppppppppppppp [additional] 26 4.1.@.2 5.1.@.2 6.1.@.2 12.1.@.2 13.1.@.2 14.1.@.0 4.2.@.2 13.2.*.0 4.3.@.2 13.3.*.0 4.4.@.2 13.4.*.0 8.7.@.2 12.7.*.1 3.11.}.0.0.0.0.1.1 14.11.}.0.0.0.0.1.1 14.13.@.2 14.14.@.0 11.15.@.2 12.15.@.2 13.19.*.0 14.19.*.0 4.27.}.3.0.0.1.0.0 7.27.}.3.0.0.1.0.0 11.27.}.3.0.0.1.0.0 14.27.}.3.0.0.1.0.0 [end] [offset] 70B5 [level] 17 [colour] 2E3D9B [size] 16.31 [author] XE-TEAM/JANUSOFT [data] PPPPPPPPPPPPPPPP P!TTT.T.TTTTTTTP P..D..D........P HHHHH.H.HHHHHDHP P###########..TP P###########..TP P###########..TP P###########..TP P.#.#.#.#.#...TP P#.#.#.#.#.#..TP P.#.#.#.#.#...TP P..#.#.#.#.#..TP P...#.#.#.#...TP PDPPPPPPPPPPPPPP PHHHHHHHHHHHHHHP PHHHHHHHHHHHHHHP PHHHHH^..^HHHHHP PHHHHHHHHHHHHHHH PHHHHHHHH^HHHH^P PHHHHHHHHHHHHHHP P..............P PPPPPP}PPPPPPPPP P.TTTTTTTTTTTTTP P.PTTTTTTTTTTTTP P.PTTTTTTTTTTTTP P.PTTTTTTTTTTTTP P.PTTTTTTTTTTTTP P.PPPPPPPPPPPPPP P..........%%%%P P.............RP PPPPPPPPPPPPPPPP [additional] 5 6.16.^.2.0.0 9.16.^.2.0.0 9.18.^.2.0.0 14.18.^.2.0.0 6.21.}.3.0.0.1.0.0 [end] [offset] 72B5 [level] 18 [colour] 1F6384 [size] 16.31 [author] XE-TEAM/JANUSOFT [data] PPPPPPPP!PPPPPPP PTTTTTTTTTTTTTTP P......TTTT..... M^............^M M..............M M..............M P.PPP.PPPP.PPP.P P.PVP.PVVP.PVP.P P.PVP.PVVP.PVP.P P.PPP.PPPP.PPP.P P.P.D.P..P.P.D.P P.P.P.P..P.P.P.P P.P#P.P#.P.P#P.P P..............P P..............P P..............P P..............P }#............#} }..............} PPPPPPPPPPDPPPPP P%D........D..%P PPP........P.%%P P..........PPPPP P^............^P P..............P P.?????PPPPPPPPP P.?????P.....%%P P.?????P.....'RP P.PPPPPP......'P P.D%DVVb.....@@P PPPPPPPPPPPPPPPP [additional] 16 0.3.M.0 1.3.^.2.0.0 14.3.^.0.0.0 15.3.M.2 0.4.M.0 15.4.M.2 0.5.M.0 15.5.M.2 0.17.}.0.0.1.0.0.0 15.17.}.2.0.1.0.0.0 0.18.}.0.0.1.0.0.0 15.18.}.2.0.1.0.0.0 1.23.^.2.0.0 14.23.^.0.0.0 13.29.@.2 14.29.@.2 [end] [offset] 74B5 [level] 19 [colour] A14C41 [size] 16.31 [author] XE-TEAM/JANUSOFT [data] QQQQQQQQQQQQQQQQ QRTTTT-TD.%%%%%Q Q...TT-T-------Q Q...T%-.DTTTTTTQ QD-----D-TT%---Q Q......%-----..Q }#............#. }..............} Q..............Q M..............M Q-............-Q Q............%%Q QQQQDQQQQ.QQQQ%Q Q'%D%bVbQ.QTTQDQ Q'QQDQQVQ.QTTQbQ Q'Q%.TQTQ.QTTQDQ QQQDQQQ-Q.QTTQbQ QTT.D..%Q..DQQDQ QQQQ@QQQQ..QT..Q QT...Q.....QTTTQ QQQQQQQDQQQQQQQQ Q..............Q }..............} M^............^M M^............^M QQQQQQQDQQQQQQQQ Q...T.........-Q Q.T...QDQQQQQQQQ QQQQQQQT!~#b'MMQ QHV-%@*}}}}&?^^Q QQQQQQQQQQQQQQQQ [additional] 27 0.6.}.0.0.1.0.0.0 0.7.}.0.0.1.0.0.0 15.7.}.2.0.1.0.0.0 0.9.M.0 15.9.M.2 4.18.@.0 0.22.}.0.0.1.0.0.0 15.22.}.2.0.1.0.0.0 0.23.M.0 1.23.^.2.0.0 14.23.^.0.0.0 15.23.M.2 0.24.M.0 1.24.^.2.0.0 14.24.^.0.0.0 15.24.M.2 13.28.M.0 14.28.M.2 5.29.@.2 6.29.*.0 7.29.}.2.0.2.0.0.0 8.29.}.2.0.1.0.0.0 9.29.}.2.0.0.0.0.0 10.29.}.3.0.0.1.0.0 11.29.&.1.0 13.29.^.2.0.0 14.29.^.0.1.1 [end] [offset] 76B5 [level] 20 [colour] 7248D4 [size] 16.31 [author] XE-TEAM/JANUSOFT [data] ---------------- -TTHH%%HHHHH''R- -qqqqqqqqqqqqq.- -bbbbbbbbbbbbbb- -bqqqqqqqqqqqqq- -bbbbbbbbbbbbbb- bqqqqqqqqqqqqqb- -bbb#qqqqHHHHHH- -####HHHHHqqqqq- -Dqqqqqqqqqqqqq- -HHTTHHHHHHHHHH- -HHHHDDDDDHHHT'- -HHHHDbbbDDHHTT- -bbbbDbHbbDDHHH- -bHbHDbHHHbDHHH- -bbbbDbHHHbDHHH- -HHHHDbHbbDDHHH- -HHHHDbbbHDHHHH- -HHHHDbDDHDHT.H- -HHbHDbDDHDHT.H- -}.}.}b}.}.}.}.- -qqqqqDqqqqqqqq- -..........^^^^- -HHHHHHHHHHHHHH- -HHHHHHHHHHHHHH- -HHHHHHHHHHHHHH- -HHHHHHHHHHHHHH- -HHHHHHHHHHHHHH- -HHHHHHHHHHHHHH! -HHHHHHHHHHHHHH- ---------------- [additional] 11 1.20.}.3.0.1.0.0.0 3.20.}.3.0.1.0.0.0 5.20.}.3.0.1.0.0.0 7.20.}.3.0.1.0.0.0 9.20.}.3.0.1.0.0.0 11.20.}.3.0.1.0.0.0 13.20.}.3.0.1.0.0.0 11.22.^.2.1.1 12.22.^.2.1.1 13.22.^.0.1.1 14.22.^.0.1.1 [end] [offset] 78B5 [level] 21 [colour] 932F4B [size] 16.31 [author] XE-TEAM/JANUSOFT [data] SSSSSSSSSSSSSSSS S^.~...TTTTTT.RS S~.~~~~~~~~~~~~S S~.------------S S......TTTTTTT.S S..............S S..............S M&.....MM.....&M M#............#M S--------------S STTT%TTT%TTTTT%S S-------.------S STTTT..-.-..TTTS SD-D--D-D-D----S ST-%-..D.D%%TT%S ST-%-T--D-----%S S----T-TTTTTT-%S STTTTT-D....D-.S STTTTTM&.MM.&M&S S------#SSSS#--S S%S&TTT%STTD%..S STSSSSDSSSSS.SDS STTTTD%TTTTDTS.S STSSSSDSSSSSTS.S S%S&TTT%S&TDTS&S SSSSSSSSSSSSSSSS S^^^^^S...!S^^^S S^^^^^}....S...S S^^^^^}....S...S S&....M&...M..&S SSSSSSSSSSSSSSSS [additional] 45 1.1.^.1.0.0 0.7.M.0 1.7.&.5.0 7.7.M.2 8.7.M.0 14.7.&.4.0 15.7.M.2 0.8.M.2 15.8.M.0 6.18.M.0 7.18.&.6.0 9.18.M.2 10.18.M.0 12.18.&.1.0 13.18.M.2 14.18.&.4.1 3.20.&.3.0 3.24.&.2.0 9.24.&.1.1 14.24.&.6.1 1.26.^.0.1.1 2.26.^.0.1.1 3.26.^.0.1.1 4.26.^.0.1.1 5.26.^.0.1.1 12.26.^.0.1.1 13.26.^.0.1.1 14.26.^.0.1.1 1.27.^.0.1.1 2.27.^.0.1.1 3.27.^.0.1.1 4.27.^.0.1.1 5.27.^.0.1.1 6.27.}.0.0.1.0.0.0 1.28.^.0.1.1 2.28.^.0.1.1 3.28.^.0.1.1 4.28.^.0.1.1 5.28.^.0.1.1 6.28.}.0.0.1.0.0.0 1.29.&.3.1 6.29.M.2 7.29.&.2.1 11.29.M.0 14.29.&.1.2 [end] [offset] 7AB5 [level] 22 [colour] 81970F [size] 16.31 [author] XE-TEAM/JANUSOFT [data] ssssssssssssssss sR'''----------s sTTTTTT%D..bbb-s s--------.---b-s sbbbbbbbbb-@-b-s sb-b-b-----@-b-s sb-b-b-----@-b-s sb-b-b-@@@@@-bbs sb-b-b-*------bs sb-bbb-*-bbbb-bs -b-----*-b--b-bs sbb-bb**-bb-b-bs s-b-~----bb-bbbs s-b-bbbbbb---b-- s-b--------b-b-s s-b-TTDbbbbb-bbs s-b----D--bb--bs s-b-TTT.-bb-b-bs s-b-TTTT-bbbbbbs s-*-----------bs s-***-bbbbbbb-bs s****-b-----b-bs s****-b-bbbbb-bs s-----b-b-----bs s-bbbbb-bbbbbbbs s-b-------b---bs sbb-TT-TT-bbb-bs sb-DTT--T---b-bs sbbD-T!-.-bbb-bs s-------..D---bs ssssssssssssssss [additional] 25 11.4.@.2 11.5.@.2 11.6.@.2 7.7.@.2 8.7.@.2 9.7.@.2 10.7.@.2 11.7.@.2 7.8.*.0 7.9.*.0 7.10.*.0 6.11.*.0 7.11.*.0 2.19.*.0 2.20.*.0 3.20.*.0 4.20.*.0 1.21.*.0 2.21.*.0 3.21.*.0 4.21.*.0 1.22.*.0 2.22.*.0 3.22.*.0 4.22.*.0 [end] [offset] 7CB5 [level] 23 [colour] 005050 #004444 [size] 16.31 [author] XE-TEAM/JANUSOFT [data] qqqqqqqqqqqqqqqq q.'TTTTTTTTT%TRq q.qqqqqqqqqqqqqq q.HHHHHHHHHHHHH} T-HHHH?HHH?HHHH} T&HqHHHHHHHHbHH} T&H-bHHHHH?HHHH} .&H-HHHHHHHHHHH} .&HqHH?HHbHH?HH} T&HHbHHHHHHHHHH} qq&qqqqqqqqqqqqq q...bbbbbbbbbbbq qqqqqqqqqqqqqqbq TTTqbbbbbbqbbbbq Tq.qbqqqqbqbqqqq TqDqbbbbqbbbbbbq qqbqqqqbqqqqqqbq qbbbbbbbqT-..&qq qqqqqqqqqT...'-q q}}}}-TTTT-.-#.q qH##H..----b-..q qHHHH..-TT-b--Tq qHHHH---TT-bb-Tq qHHHH-TTDD--b-Tq qTTTH-TT-bbbb-Tq qTTTH----------q qTTTH-^^^^^^..&q qqqqqqqqqqqqqqqq q!TTTTTq^^^^^^^q q.D....q.......q q&qqqqqqqqqq&qDq [additional] 34 15.3.}.2.0.0.0.0.0 15.4.}.2.0.0.0.0.0 1.5.&.6.0 15.5.}.2.0.0.0.0.0 1.6.&.3.0 15.6.}.2.0.0.0.0.0 1.7.&.4.0 15.7.}.2.0.0.0.0.0 1.8.&.1.0 15.8.}.2.0.0.0.0.0 1.9.&.5.0 15.9.}.2.0.0.0.0.0 2.10.&.2.0 13.17.&.6.1 1.19.}.1.0.1.0.0.0 2.19.}.1.0.1.0.0.0 3.19.}.1.0.1.0.0.0 4.19.}.1.0.1.0.0.0 6.26.^.2.0.0 7.26.^.2.0.0 8.26.^.2.0.0 9.26.^.2.0.0 10.26.^.2.0.0 11.26.^.2.0.0 14.26.&.3.1 8.28.^.0.1.1 9.28.^.0.1.1 10.28.^.0.1.1 11.28.^.0.1.1 12.28.^.0.1.1 13.28.^.0.1.1 14.28.^.0.1.1 1.30.&.1.1 12.30.&.5.1 [end] [offset] 7EB5 [level] 24 [colour] 417C25 [size] 16.31 [author] XE-TEAM/JANUSOFT [data] qqqqqqqqqqqqqqqq qR&qb-^^^^^^^^^q q..bb-@@@@@@@@@q q%&qb-@@@@@@@@@q q%&qb-*********q qqqqb-^^^^^^^^^q q%&-bM.........} q%.-bM........&q q'.-b----------q q-b-bbbbbbbbbbbq q-b-----------bq q-bbbbbbbbbbb-bq q-----------b-bq qbbbbbbbbbb-b-bq qb--------b-b-bq qbbbbbbbb-bbb-bq q-------b-----bq qT'Dbbbbbbbbb-bq q--b-------b--bq q&-bbbbbbb-b--bq q.-------D-bb-bq q'.bbbbb-T--D-bq q------b-T&-T-bq qTTTTTDb-T-TT-bq -----------TT-bq qHHHHHHHHH----Dq qH-------DH-**@q qHHHH-TT--H-*V*q q---D-D--..-*V*q q!.D.TTT-.&-***q qqqqqqqqqqqqqq@q [additional] 67 2.1.&.4.0 6.1.^.2.1.1 7.1.^.2.1.1 8.1.^.2.1.1 9.1.^.2.1.1 10.1.^.2.1.1 11.1.^.2.1.1 12.1.^.2.1.1 13.1.^.2.1.1 14.1.^.2.1.1 6.2.@.2 7.2.@.2 8.2.@.2 9.2.@.2 10.2.@.2 11.2.@.2 12.2.@.2 13.2.@.2 14.2.@.2 2.3.&.6.0 6.3.@.2 7.3.@.2 8.3.@.2 9.3.@.2 10.3.@.2 11.3.@.2 12.3.@.2 13.3.@.2 14.3.@.2 2.4.&.5.0 6.4.*.0 7.4.*.0 8.4.*.0 9.4.*.0 10.4.*.0 11.4.*.0 12.4.*.0 13.4.*.0 14.4.*.0 6.5.^.2.0.0 7.5.^.2.0.0 8.5.^.2.0.0 9.5.^.2.0.0 10.5.^.2.0.0 11.5.^.2.0.0 12.5.^.2.0.0 13.5.^.2.0.0 14.5.^.2.0.0 2.6.&.6.1 5.6.M.0 15.6.}.2.0.0.0.0.0 5.7.M.0 14.7.&.5.1 1.19.&.4.1 10.22.&.2.0 12.26.*.0 13.26.*.0 14.26.@.2 12.27.*.0 14.27.*.0 12.28.*.0 14.28.*.0 10.29.&.2.1 12.29.*.0 13.29.*.0 14.29.*.0 14.30.@.2 [end] [offset] 80B5 [level] 25 [colour] 2E3D9B [size] 16.31 [author] XE-TEAM/JANUSOFT [data] QQQQQQQQQQQQQQQQ Q------------TTQ Q-R.TT------TT-Q Q-....D....TT--Q Q---.%------.--Q Q-}------}--.--Q Q-.----...%..-%Q Q-.TT&-.------TQ Q-.----.------TQ Q-.TT--D----.TTQ Q---.--......--Q Q---.--.----.--Q Q-......----.--Q Q-.---------.--Q Q-.T-bbbbbb-D--Q Q-.}-b----bTTTTQ Q-.--bbbb--T'%TQ Q-.-----b--TTTTQ Q-..T-bbb----b-Q Q---.-b-----bHbQ Q---.-b-----b-bQ Q-...-bbbbb-b-bQ Q-D-D-----b-b-bQ Q-T-....^-b-b-bQ Q-.-----H-b-b-bQ Q-.^---.H-b-b-^Q Q--H-T-.--b-b-^Q Q%-H-T-^.-b-b-^Q Q..^-T--H-b-b-^Q QT---TTTH-bbb-.Q Q!QQQQQQQQQQQ-&Q [additional] 13 9.5.}.1.0.0.0.0.0 2.5.}.1.0.1.0.0.0 5.7.&.1.0 3.15.}.2.0.0.0.0.0 8.23.^.2.0.0 3.25.^.2.1.1 14.25.^.1.0.0 14.26.^.1.0.0 7.27.^.2.1.1 14.27.^.1.0.0 3.28.^.2.1.1 14.28.^.1.0.0 14.30.&.1.1 [end] [offset] 82B5 [level] 26 [colour] BF4F00 [size] 16.31 [author] XE-TEAM/JANUSOFT [data] QQQQQQQQQQQQQQQQ QR.........D.'TQ Q.Q..QQDQQ.QQQQQ Q.Q..Q!.QQ.Q.'TQ QTQ..QQQQQ.QDQQQ QQQ..QT..Q.Q.QTQ QTQ..QQDQQ.Q%%.Q Q.Q..Q...Q.QQQ.Q Q.Q..QQ.QQ.....Q Q.Q........Q.Q.Q Q.........QVQVQQ QQ.Q.Q.Q...QVQVQ QVQVQVQTQ...Q.QQ QQ.Q.QT.TQ...QTQ Q..............Q QQQQQQQQQQQQ...Q Q^......T'.Q...Q Q^......TQ.Q.QQQ Q^......TQ&Q.QVQ QQQQQQQQQQQQ.QVQ Q............QVQ Q.Q..QQQQQQQ.QVQ Q%Q..Q%Q%Q%Q.QVQ Q&Q..QDQDQDQ.Q.Q Q%Q..........Q.Q Q..............Q QQQQQQQQQQQQQQQQ Q.....}.}......Q Q......&.......Q Q.....}.}......Q QQQQQQQQQQQQQQQQ [additional] 10 1.16.^.0.0.0 1.17.^.0.0.0 1.18.^.0.0.0 10.18.&.1.0 1.23.&.1.1 6.27.}.2.0.1.0.0.0 8.27.}.0.0.1.0.0.0 7.28.&.1.2 6.29.}.2.0.1.0.0.0 8.29.}.0.0.1.0.0.0 [end] [offset] 84B5 [level] 27 [colour] 7C5D1D [size] 16.31 [author] XE-TEAM/JANUSOFT [data] QQQQQQQQQQQQQQQQ QH..#.#.#.#.#.RQ QH-..~...#.#..TQ QH..~.#.#.#.#.TQ QH...#...#.#..TQ QH..#.#.#.#.#.TQ QHH..#...#.#..TQ QHHH#.#.#.#.#.TQ &.!QQQQTQQQQQQQQ QQQQQQ%T.QQQQQQQ -.............}Q }.............}Q QQQ.........'QQQ QQ............QQ Q^............^Q QHHHHHHHbHHHHHHQ QHHHHHHHHHHHbHHQ QHHbHHHbHHHHHHHQ QQQQQQQDQQQQQQQQ Q..............Q Q#.^...b.......Q Q..............Q QDDQDQDQQQQQDQDQ Q..Q.QTTTTTQTQTQ QTTQTQQQQ&TQTQTQ QTTQQQTTQQQQTQTQ QTTQTTTTTTTTTQQQ QTTQQQQQQQQQQQ&Q QTTTTTTTTTQT%D.Q QTTTTTTTT&QT%TDQ QQQQQQQQQQQQQQQQ [additional] 10 0.8.&.6.0 14.10.}.2.0.1.0.0.0 0.11.}.0.0.1.0.0.0 14.11.}.2.0.1.0.0.0 1.14.^.0.1.1 14.14.^.2.1.1 3.20.^.2.1.1 9.24.&.4.0 14.27.&.4.1 9.29.&.6.1 [end] [offset] 86B5 [level] 28 [colour] 996600 [size] 16.31 [author] XE-TEAM/JANUSOFT [data] PPPP&PPPPP&PPPPP P!&PRPT..P...''P PT.P.PTT&P.....P P--bb-----.-.-.P Pbbb------b-b-bP Pb---.bbbbb-b-bP Pb--bb------b-bP Pb--b-.bbbb-b-bP Pb--b-b---b-b-bP Pbb-b-b--bb-b-bP P-b-b-b--b--b-bP P-b-b-b--b--b-bP P.D-b-b--.b-b-bP P..-b-b-bb--b-bP PT%-b-b-b---b-bP P&--b-b-bbbbb-bP P-bbb-b-----b-bP P-b.--b-bbb.--bP P-b--bb-b--b--bP P-b--b--b-b.--bP P-b--b--b--b--bP P.b--bb-.b-.b-bP Pb-.T-b-b--b--bP PbD.--b-b-b.--bP Pbb--bb-b--bb-bP P-b--b--D--b.-bP P-b--D--..--b-bP P-D--..-TTT-bbbP P...-TT-TTT---bP PTTT-TT-TT&---bP PPPPPPPPPPPPPPPP [additional] 6 4.0.&.6.0 10.0.&.6.1 2.1.&.2.0 8.2.&.4.0 1.15.&.4.1 10.29.&.2.1 [end] [offset] 88B5 [level] 29 [colour] 81970F [size] 16.31 [author] XE-TEAM/JANUSOFT [data] oooooooooooooooo o.....T..^.T...o oToooooHHHHooooo oRo%HHHHDbD'.HHo ooo%HHHHDDD..HHo ooooooooo.oooooo o..........^...M o..........^...M o..........^...M &..........^...M oooooooooooooooo ob..V.V.V.VbH..& oHoooooooooooooo o%HHD..........o oDDo...........o oVVo...........o oooo?}?}%}%}?}.o M.^..........^.M ooooooooo&oooooo oTDTD%%oH&.%DD.o oDDDDDDoHHoooo.o o......oooo%%'.o oDDoDoD...oooo.o ob%o%o..o.@....o oDoooooooooooooo o..............o o}#.......TT...o o}......TT.!TT.o o}......TT..TT.o o}........TT...o oooooooooooooooo [additional] 27 9.1.^.0.1.1 11.6.^.0.0.0 15.6.M.2 11.7.^.0.0.0 15.7.M.2 11.8.^.0.0.0 15.8.M.2 0.9.&.1.0 11.9.^.0.0.0 15.9.M.2 15.11.&.1.1 5.16.}.3.0.1.0.0.0 7.16.}.3.0.1.0.0.0 9.16.}.3.0.1.0.0.0 11.16.}.3.0.1.0.0.0 13.16.}.3.0.1.0.0.0 0.17.M.0 2.17.^.0.0.0 13.17.^.2.0.0 15.17.M.2 9.18.&.2.0 9.19.&.2.1 10.23.@.2 1.26.}.0.0.1.0.0.0 1.27.}.0.0.1.0.0.0 1.28.}.0.0.1.0.0.0 1.29.}.0.0.1.0.0.0 [end] [offset] 8AB5 [level] 30 [colour] 004848 #003333 [size] 16.31 [author] XE-TEAM/JANUSOFT [data] QQQQQQQQQQQQQQQQ QR%%%....D.Q%'%Q QQQQQQQQ.QbQDDDQ QQQQQQQQ.......Q QQQQDDQQQQDQQQQQ Q..%.%.........Q QQQQDQQQQQHHQQQQ Q%...QQ..QH%Q%%Q QQQ...D..QQDQDDQ QTQ..QQ........Q QTQQQQTQQQ...QQQ QDD...D...Q.Q%%Q QQQQQQQQQDQ.Q%%Q ?.......~......? M.......~......M QQQQQQQQQQQ.QQQQ Q..............Q Q.QQQQQQQQQQQQQQ }........TT.'..Q QQQQQQQQQQQQQQTQ Q...^....VVVb..Q Q.QQQQQQQQQQQQQQ Q....^^^^^.....& QQQQQQQQQQQQQQQQ Q..............& Q.HHHHHHHHHHHHHQ Q..........^...M Q..........^...M Q..........^...M Q..........^...M QQQQQQQQQQ!QQQQQ [additional] 19 0.14.M.0 15.14.M.2 0.18.}.0.0.0.0.0.0 4.20.^.0.0.0 5.22.^.0.0.0 6.22.^.0.0.0 7.22.^.0.0.0 8.22.^.0.0.0 9.22.^.0.0.0 15.22.&.1.0 15.24.&.1.1 11.26.^.0.0.0 15.26.M.2 11.27.^.0.0.0 15.27.M.2 11.28.^.0.0.0 15.28.M.2 11.29.^.0.0.0 15.29.M.2 [end] [offset] 8CB5 [level] 31 [colour] 004078 #003366 [size] 16.31 [author] XE-TEAM/JANUSOFT [data] PPPPPPPPPPPPPPPP P!RTTTTTT%%%%''P PPPPPPPPPPPPPP.P P..............P PDPPPPPDPDPPDPPP PTTT&PHHPTTPTTTP PPPPPPHPPPTPPPTP bbbbbbbPTPTPTPTP P.PPPPbPTTTPTTTP P.##bbbPPPPPPPPP P.PPPPPP.......P P........#####HP P########...H~HP P....HHH..~~H~HP P~.~~~.~~~.~HTHP P..~T~.~TH.~~~~P P.~~.~.~.~.....P P....~.~.~~~~.MP P~~~.~HH.~--~.%P M..~.~~~~~--~~.P M..~...~&~.T.D.P P...T..~.~~#~~~P P~~~~~~~.------P --------.......P P..............P M..^........^..M M.....^..^.....M PTTTTTTTTTTTTTTP PT..TT.....TT*TP PTT....TTT....TP PPPPPPPPPPPPPPPP [additional] 14 4.5.&.1.0 14.17.M.0 0.19.M.0 0.20.M.0 8.20.&.1.1 0.25.M.0 3.25.^.2.0.0 12.25.^.0.0.0 15.25.M.2 0.26.M.0 6.26.^.2.0.0 9.26.^.0.0.0 15.26.M.2 13.28.*.2 [end] [offset] 8EB5 [level] 32 [colour] 417C25 [size] 16.31 [author] XE-TEAM/JANUSOFT [data] PPPPPPPPPPPPPPPP P!.R%''TTTT....P PPPPPPPPPPP....P PTTTTD.........P PTTTPPDPDPDPDPDP PPPPTTTP.PbPbPbP TTTTTPPPHPbPbPbP TTTTTPHHVPbPbPbP PPPPPPHHVPVPVPbP PTTTTHHHVP.PTPbP PTPPPPPPPP.PTPbP PTPT.....T.P'PbP PTPT.TTTTT.PTPbP PTPT.TPPPPPPTPbP PTP@.TPT..^.TPbP PTPT.TPTTTTTTPbP PTPT.TPTTPPPPPbP P%PTTTPTTP&%%..P PPPPPPPPPPPPPPPP PTT...^^M&P%...P PTT...^^M.P....P PTT...^^M%P}}}.P PDPPPPPPP%PPPPDP P.......''.....P P.^.....^....^.P PHHHHHHHHHHHHHHP PHHTHHbH?'''THHH H?HHH?HHHH?HbHHP PHHHHHHHTHHHbHHP PH%HTHHHHHHHTHHP PPPPPPPPPPPPPPPP [additional] 19 3.14.@.2 10.14.^.0.0.0 10.17.&.1.0 6.19.^.0.0.0 7.19.^.0.0.0 8.19.M.2 9.19.&.1.1 6.20.^.0.0.0 7.20.^.0.0.0 8.20.M.2 6.21.^.0.0.0 7.21.^.0.0.0 8.21.M.2 11.21.}.3.0.1.0.0.0 12.21.}.3.0.1.0.0.0 13.21.}.3.0.1.0.0.0 2.24.^.0.1.1 8.24.^.0.1.1 13.24.^.0.1.1 [end] [level] 33 [colour] 7248D4 [size] 16.12 [author] _The End - Koniec - Das Ende - El Final - La Fin [level_notes] Created by Thunor: not converted from Robbo [data] HHbHbHbHbHbHbHbH HbHbHbHbHbHbHbHb bHHbHHbHHHHbHHHb HssbH!HHHHHHH--b HHbMHHH#..#HHHb- HHHbHHHHHHHHHHb- HHbMHHHHHHMHHHb- H--bHHHHHbMHTssb bHHbHHHHHbH}HHHH HbHbHb}bHbHbHbbH ##b#b#b#b#b#b#b# R.......'......^ [additional] 7 6.9.}.3.0.0.0.0.0 11.8.}.3.0.0.0.0.0 3.4.M.0 3.6.M.0 10.6.M.0 10.7.M.2 15.11.^.2.0.0 [end] gnurobbo-0.66+dfsg/data/levels/alex01.dat0000644000175000017500000002331611434556345017245 0ustar stevesteve[name] Alex [last_level] 12 [notes] this is robbo alex demo, it is a demo, because not all objects are now available in GNU Robbo [offset] 58C [level] 1 [colour] 507030 [size] 16.31 [author] Boguslaw Kornafel & Radoslaw Poplawski [level_notes] [data] SSSSSSSSSSSSSSSS S..............S S.#.^.O....S.S&S S.OO.OOOO.SS}SSS S..........SSSTS S.O.OOOO...S...S S}..DDTT#.....MS SSSSSSSSSS.SSSSS S%'..S!S......%S SSS}...S.#.#.#.S S.SSSSDS#SSSSS#S S.......*......S S.OOOOOOOOOOOO.S S..............S S#SSSSSSSSSSSSSS S...R..........S SSSSSSSSSSSSSS#S S..............S S.OOOOOOOOOOOO.S S.OT.%O}T###...S S.#.O.OT####.O.S SSX&ObO##T##...S S.B*O.O#####TO.S S*.*O.O##.##OO.S S.O.O.O......O.S S..*O.O..O...O.S Sb..O.O..O.OOO.S S...O.O..O.....S S.O...B..O..Sb.S S.....S.....S..S SSSSSSSSSSSSSSSS [additional] 13 4.2.^.1.0.0 14.2.&.1.0 12.3.}.3.0.1.0.0.0 1.6.}.0.0.1.0.0.0 14.6.M.2 3.9.}.0.0.1.0.0.0 8.11.*.0 7.19.}.0.0.0.0.1.1 3.21.&.1.1 3.22.*.1 1.23.*.1 3.23.*.2 3.25.*.3 [end] [offset] 58C [level] 2 [colour] [size] 16.31 [author] aaa [data] PPPPPPPPPPPPPPPP PT.P..P..TP.'PTP Pb.Pb.P.#PP.!P.P PH.P..P..PT.PP.P PHPP.#PP.PP.TP.P PHP.......P.PP.P PHP.P...P.P..P.P PHP.P.P...P}.P.P PHP.P#P.P.PP.P.P PHP.P.?.P..b.P.P PHP.P...#....P@P P#b.P.bPPPPP.P@P P.P...#T.....P.P P.PP.P##....TP.P P.P.....PPPPPP.P P.P..PPPP.^.PPDP P.P.^..........P P.P.PPPPPP&PPPPP P}P........^..TP PPPPPPPPPP.PPPPP P.#...PT.P..#..P P.###.P.....PT.P PR..##P.PPP.PP.P P###..P......P@P P#.#.#PP.PP..P.P P#....P......P.P P.###.PT...P.P.P P##.#.PPPP...P.P P##.#.PP..##.P.P PT#.......#..P%P PPPPPPPPPPPPPPPP [additional] 9 11.7.}.3.0.1.0.0.0 14.10.@.2 14.11.@.0 10.15.^.1.0.0 4.16.^.0.0.0 10.17.&.1.0 1.18.}.3.0.1.0.0.0 11.18.^.2.0.0 14.23.@.1 [end] [offset] 58C [level] 3 [colour] [size] 16.31 [author] Boguslaw Kornafel & Radoslaw Poplawski [level_notes] [data] oooooooooooooooo o&###&####&##&Ro o..............o o.!.o*o*o*o*o.oo o.%oooooooooo.oo o.T.o*o*o*o*o.oo o.............'o oooooooooooooooo oT.D....oTooT..o oooo..b.o#.o.o.o o..o.oooo#...o.o o.Bo...oo..oBo^o o...^...o#.o.o.o o.oooo.oo#.o.o.o o.......o#.o..To o.o^..*.o#.....o o.oo.o..o##oo..o o..o.oo.o..T#..o o.#o....o...o..o o.......o.B.o..o oo.o.oooooo....o o....o....oo...o o..####o#.o^...o o&.#&o....o..#oo oooooo.oooo..#oo o#.#...#..o...oo o...^...#&o..#To o..oo#ooooo.##To o..Mo.......###o o..To&.......#.o oooooooooooooooo [additional] 23 1.1.&.4.0 5.1.&.3.1 10.1.&.2.2 13.1.&.1.3 5.3.*.3 7.3.*.3 9.3.*.3 11.3.*.3 5.5.*.3 7.5.*.3 9.5.*.3 11.5.*.3 14.11.^.1.0.0 4.12.^.0.0.0 3.15.^.3.0.0 6.15.*.0 11.22.^.1.0.0 1.23.&.2.4 4.23.&.1.5 4.26.^.0.0.0 9.26.&.3.6 3.28.M.2 5.29.&.4.7 [end] [offset] 58C [level] 4 [colour] [size] 16.31 [author] Boguslaw Kornafel & Radoslaw Poplawski [data] OOOOOOOOOOOOOOOO O........D....TO O..TO.T..O+OOOOO O...O.OO.O+OT.%O OTVVO....OOOOO.O OOOOO..O...O}O.O O%.....O.O.O.O.O O.O.#O.O.O...O.O O.O.OO.O.O.O.O.O O..}...O...O.O.O O.O.OO.O.O.O.O.O O....O.OTO.O.O.O O......O.O.O.O.O O......O...O.O.O O}...O.O.O.O.O.O OOOOOO.O.O.O.O.O O......O...O.O.O O......O.O.O.O.O OO.OOO.b.O.O.O.O O.#..OO....OTO.O OODO.O...OOO.O.O OT.O.O.......O.O OO!O.O.OOOOO.O.O OT.O.O.*..OT...O OODO.OT.O.OT..}O O....#T...OTOOOO OO.OOOOOO.O....O O.......^......O O.OOOOOOOOOOOO.O OR...........'.M OOOOOOOOOOOOOOOO [additional] 7 12.5.}.1.0.1.0.0.0 3.9.}.0.0.0.0.1.1 1.14.}.3.0.1.0.0.0 7.23.*.3 14.24.}.3.0.1.0.0.0 8.27.^.0.0.0 15.29.M.2 [end] [offset] 58C [level] 5 [colour] [size] 16.31 [author] Boguslaw Kornafel & Radoslaw Poplawski [level_notes] [data] QQQQQQQQQQQQQQQQ QR!TTTTTTTTTTQ%Q Q......}}......Q QQQQ.QQQQQQ.QQQQ QTTT.TTTTTT.TTTQ QTQQ.QQTTQQ.QQTQ QTTQ}Q@...Q}QTTQ QTTQQQ.QQ.QQQTTQ QTTQTT.QQ.TTQTTQ QTTTTT...@TTTTTQ Q.QQQQQQQQQQQQ.Q M..............Q Q.Q..QQQQQQQDQ.Q Q.Q..Q%.HbHQQQ.Q Q.QQ.QQQQQHHHQ.Q Q}Q}#HHHHHHHHQ}Q QQQQ.QQQQQ...Q&Q Q.b.#..b.QQ....Q Q......Q......#Q Q..QQQQQ.QQQQ..Q Q..Q..^QQQ....#Q Q..Q...Q.......Q Q.bQ...Q..QQ.QQQ Q..........Q##.Q QDQQQ.QQQ.QQ.##Q Q.TTQ.....Q.#.#Q QQQQQQQQQQQ.#..Q Q.#.#.....#..#.Q Q&..###...##.##Q Q..#..##T##.##.Q QQQQQQQQQQQQQQQQ [additional] 13 7.2.}.2.0.0.0.0.0 8.2.}.0.0.0.0.0.0 4.6.}.3.0.1.0.0.0 6.6.@.2 11.6.}.3.0.1.0.0.0 9.9.@.0 0.11.M.0 1.15.}.3.0.1.0.0.0 3.15.}.0.0.0.0.0.0 14.15.}.3.0.1.0.0.0 14.16.&.1.0 6.20.^.2.1.1 1.28.&.1.1 [end] [offset] 58C [level] 6 [colour] [size] 16.31 [author] Boguslaw Kornafel & Radoslaw Poplawski [level_notes] [data] PPPPPPPPPPPPPPPP P^.............P P.PPPPPDPPPPPP.P P.PT.TP.P...P..P P.M..PPPP.P*P.PP P.P.......P.P.PP P.P...PP....P.PP P.P}..........PP P.PPPPPPP.PPP.PP P.P.#.....PTP.PP P.P.P.P...P.P..P P.P..b..PPPTP}.P P.P.....P...PPPP P.PPPPPPP.P....P P.PPTP#....}.P.P P.....#.##P..?TP PT#...P.PPP.PPPP PPPPPPPD..P.P.RP PTPPTTPPP%P.P.PP P...#.#%PPP.P..P P.#.##......P.!P P.PTPP.PPPPPP..P P..P.........}.P P.#P.PPPPP.PP..P P..P.P....#TP.#P P..P.P..#T..P.#P P#PP.P..PPPPP.#P P@...P#.P...P.#P P.P.bP.#P.P.P..P P...bPP......#.P PPPPPPPPPPPPPPPP [additional] 8 1.1.^.0.0.0 2.4.M.0 11.4.*.1 3.7.}.0.0.0.0.0.0 13.11.}.3.0.1.0.0.0 11.14.}.1.0.0.0.1.1 13.22.}.3.0.0.0.1.1 1.27.@.2 [end] [offset] 58C [level] 7 [colour] [size] 16.31 [author] Boguslaw Kornafel & Radoslaw Poplawski [level_notes] [data] P}PPPPPPPPPPPPPP P..............P PTPPPPPPPPPPPP.P P.P..........P.P P.P@PPPP.PPP.P.P P.P.P....PTP.P.P P.P.P!.P@..P.P.P P.P.PPPPPPPP.P.P P.P.....@....P.P P.PPDPPPPPPPPP.P P..............P PPPP.PPPPPP.PPPP P^..#..D...&...P P.b..P#PPPP.PP.P P.TbRPT#.%P.P..P P.b.PP..T.P.PP.P PP.P....PPP..}.P P..PTPP#P...PP.P P..PTP..P.P.P..P P..PPP.PP.P.P#PP Pb.....TP.PTP..P PPPPPPPPPTP.P..P PTP..@..PPP}P..P P.P.P.P...PPP.PP P.P.P.PPP@@....P P.P.P...PPP.PTPP P...}PP...P.PPPP P.P.#.PPP.P@...P P.P.##..P.PPPT.P P..#.#.TP.....@P PPPPPPPPPPPPPPPP [additional] 14 1.0.}.1.0.1.0.0.0 3.4.@.1 8.6.@.1 8.8.@.0 1.12.^.2.0.0 11.12.&.10.0 13.16.}.2.0.1.0.0.0 5.22.@.2 11.22.}.3.0.1.0.0.0 9.24.@.2 10.24.@.0 4.26.}.2.0.2.0.0.0 11.27.@.3 14.29.@.0 [end] [offset] 58C [level] 8 [colour] [size] 16.31 [author] Boguslaw Kornafel & Radoslaw Poplawski [data] OOOOOOOOOOOOOOOO OT}..%.TO}T...}O O.......O.OO...O OO.OOO}.O....?.O OT......O.O....M O}......O.O..?.O OT.OOOO.O.O+...O OO......O.OOO.TO O}............}O OOOOOOOROOOOOOOO O.T.T.O.O......O O.OOO.ODO......O M.......O..#..^O O.OOO.OTO..B...O O.@...O.O......O O.O.!.O.O......O O*O&O...O&OOOOOO O.O.O.O.O#....TO O.O.O.O.O.OOO..O O.....O.O.#TO^.O O#OOOOO}O.OOO..O O.....OOO......O O.OOO.O&OTOO...O O.....O.O#O.B..O O.OOOOObO......O O..OTTODO##OO.TO O}..#...O&OOOOOO O.OOOb.#.##...&O OT...........b.O O+##.....##....O OOOOOOOOOOOOOOOO [additional] 20 2.1.}.1.0.1.0.0.0 9.1.}.1.0.1.0.0.0 14.1.}.2.0.1.0.0.0 6.3.}.3.0.1.0.0.0 15.4.M.2 1.5.}.0.0.0.0.0.0 1.8.}.0.0.1.0.0.0 14.8.}.2.0.1.0.0.0 0.12.M.0 14.12.^.0.1.1 2.14.@.0 1.16.*.3 3.16.&.1.0 9.16.&.1.1 13.19.^.1.0.0 7.20.}.3.0.1.0.0.0 7.22.&.2.0 1.26.}.0.0.0.0.1.1 9.26.&.1.2 14.27.&.2.1 [end] [offset] 58C [level] 9 [colour] [size] 16.31 [author] Boguslaw Kornafel & Radoslaw Poplawski [data] ssssssssssssssss sR..........D.'s sss.s}s}s}s.ssss s............B.s s.s#sss.s.s.ss.s s.s....#.......s s.s.s.sss.sss#.s s..#........s?.s s.sss.s.#...s#.s s.....#.###....s s.sssss#sss.#.#s s..#bbB##B#...#s s..###.##.##...s ss.s.s.ss.ssss.s ss#s......s....s ss.s.ss.s.s.ss.s ss.s.?..s....sbs s..sssssssss.s.s s#.#...........s ss.ss.sssss....s s#.ss.s.#.sss..s ss.ss#s........s s..ss.ss.s.ss..s s......s...#s.ss ss.ss#ss.s.....s ssssb......sss.s s.%ss.sss....s#s s...#...s.ssss.s s..####.s#s#.#.s s.......#......s ssssssssssssssss [additional] 3 5.2.}.3.0.1.0.0.0 7.2.}.3.0.1.0.0.0 9.2.}.3.0.1.0.0.0 [end] [offset] 58C [level] 10 [colour] [size] 16.31 [author] Boguslaw Kornafel & Radoslaw Poplawski [data] OOOOOOOOOOOOOOOO O!HTHHHTHO+TD'.O OH^HHTHHHOOOO..O OHTHHHHTHO}.#..O OHHTHTHHHO}.#b.O OTHHTHHTHO}.#..O OHHTHHTHTO%.O..O OTHHTHHH^OOOOO.O OHHHHHTTHO...O.O O.......OO.O.O.O OOOOOR.......O.O O..#.O.OOO.OOO.O O...#..........O O..O.O.O.O.....O O..O..?....OO.TO O..O.OO.O.OO...O O....O%.....#O}O O...OOO..O.O.OOO O....#...O.O.b.O O.O..OOOOObO.O.O O.OO..O....O.O.O O....bO..#.O.O.O O..O..OO.OOO.O.O O....b.O.......O O...bO.O.OOO.O.O O.O..O.....OOO.O O.O.OOOOOO..b..O O.O.O.b..#.OOOOO O.O........D..TO O.@.Ob.b.O.O.@.O OOOOOOOOOOOOOOOO [additional] 8 2.2.^.1.0.0 10.3.}.0.0.2.0.0.0 10.4.}.0.0.2.0.0.0 10.5.}.0.0.2.0.0.0 8.7.^.3.0.0 14.16.}.3.0.1.0.0.0 2.29.@.0 13.29.@.1 [end] [offset] 58C [level] 11 [colour] [size] 16.31 [author] Boguslaw Kornafel & Radoslaw Poplawski [level_notes] [data] ssssssssssssssss s#.....^.......s s.#bbbb.T..bbb.s s..bbb.....b!b.s sbbbbT~s.s~Tbb.s s.bbbb.s.s.bbb.s s.#sss.s.s.s%..s s..s.s.s.s.s...s s.bs.s.....sssss s..s.s.s}s.s.sss M.............ss s...^.ssssss#.ss ssDss%s......}ss ss#ssss.ssssss.s s..##.....b....s s..............M s..sssss...##sss s..D...sM..sssTs ssssssss...sTTTs sbbbbbs..sssb..s sb...bs..####b.s s.T.TbD........} s...TTs....b..ss sDsssssss..sssss s.T###bTs..##.ss sT#b.#b.D.....}s s.T###b#s..sssss sssssssss...#T#s sT#...#.b...###s sR...#.#..s.##.s ssssssssssssssss [additional] 9 7.1.^.2.0.0 8.9.}.3.0.1.0.0.0 0.10.M.0 4.11.^.3.0.0 13.12.}.2.0.1.0.0.0 15.15.M.2 8.17.M.0 15.21.}.2.0.0.0.0.0 14.25.}.2.0.0.0.0.0 [end] [offset] 58C [level] 12 [colour] [size] 16.31 [author] Boguslaw Kornafel & Radoslaw Poplawski [data] pppppppppppppppp p......#...'p&.p p.p.ppp...pppp.p p....&ppppp..@.p ppp#ppp..#..pp.p p.D..}pT.#..@..p pRpppppppppppp#p p%p&.T@.@..@@@@p pppppppppppppppp p..????????p'..p p##........ppp^p pT#........#!p.p p##........#+p.p p........ppppp.p p.ppB.Bpppbp...p p..........ppp.p pppp.pppp....p.p M.......ppHp.p.p pp.pppp.p.H..p.p p.......p.p..p.p p.pp.pp...pppp.p p.....ppp..p...p pHppp.....}p.&.p pHHHp......p...p ppp.pppppppppppp p}.............p pppppppppppppp.p M@.............p p.pp&.pppppppppp p.............&p pppppppppppppppp [additional] 21 13.1.&.2.0 5.3.&.1.0 13.3.@.2 5.5.}.2.0.1.0.0.0 12.5.@.0 3.7.&.1.1 6.7.@.1 8.7.@.0 11.7.@.1 12.7.@.2 13.7.@.1 14.7.@.2 14.10.^.1.0.0 0.17.M.0 10.22.}.3.0.0.1.0.0 13.22.&.3.0 1.25.}.0.0.1.0.0.0 0.27.M.0 1.27.@.2 4.28.&.3.1 14.29.&.2.1 [end] gnurobbo-0.66+dfsg/data/levels/designer.dat0000644000175000017500000002326211342537723017750 0ustar stevesteve This is a level set, is a kind of a demo of what can be done with Gnu Robbo [name] Designer [last_level] 9 [default_level_colour] [level] 1 [colour] 00f0f0 [size] 32.31 [author] _This is GNU Robbo planet [level_notes] Level is made by Cyprian 'neurotIc' Zawadzki this is line 2 of comments this is line 3 of comments [data] qqqqqqMqqqqqqqqqqqqqqqqqqqqqqqqq q?.....TTqR.........#bb#^.....&q q..Q...TTq...!.....##b##.^.....M M....qqqqqQQQQ#QQQQQ#b##..^....q q.Q..#TL......b%b...#b##...^...q q.Q..~...~....b'#b.##b##....^..q q....#...#.....bQ...#bb#.......q qqqq.qqqMqqqqqqqqqqqqqqqqqqqqqqq ----.--------------------------- --QQ.Q--Q-Q-QOO------O---O------ -Q--.QQ-Q-Q-QO-O--O--O---O----O- -Q--.QQQQ-Q-QOO--OVO-OO--OO--OVO -Q-Q.Q-QQ-Q-QO-O-O.O-O-O-O-O-O.O --QQ.Q--Q--QQO-O--O---O---O---O- ----.--------------------------- OOOO.OOOOMOOO}}OOOOOOOOOOOOOOOOO O&.O.O%O.......O..}.......TO&..O O#'O.OHH.......O...........O#.#O O##O.O?O.......O#..#.#.#...O.#.O O#OO.OOOOOOOO&OOHH#b#b#b#..O..#O O.............kDH#HHHHHH#..O.#.O O.............kO##HTTTTH#..O#.#O O..O.O.........O.#HHHHHH#..O.#.O O*.OMO...OMO...O..#.#.#.#..O#.#O OOOOOOOOOOOOOOOO...#.#.#...O...O OT..HHHbHHH..VVO..}.......TOT.@O OT..HHHHHHH....OOOOOOOOOOOOOOOOO OT..HbH}HbH..........#.#..#.#H&O OT..HHHHHHH.......X.#.#..#.#.H.O OT..HHHbHHH..........#.#..#.#H.O OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO [additional] 25 6.0.M.1 24.1.^.1.1.0 30.1.&.1.0 25.2.^.1.1.0 31.2.M.2 0.3.M.0 26.3.^.1.1.0 7.4.L.0 27.4.^.1.1.0 28.5.^.1.1.0 8.7.M.3 9.15.M.1 13.15.}.1.2.1.0.0.1 14.15.}.1.0.1.0.0.1 1.16.&.2.1 18.16.}.1.2.0.1.0.1 28.16.&.2.2 13.19.&.2.3 1.23.*.1 4.23.M.3 10.23.M.3 18.25.}.3.2.2.1.0.1 30.25.@.1 7.27.}.3.0.2.0.1.1 30.27.&.1.4 [end] [level] 2 [colour] [size] 32.31 [author] _mirrors & stuff [level_notes] [data] qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq qb###b&.R..q..&q.......&q.....&q qb#!#b&....q...q........q......q qb###b&....q*.*q...@....q======q qbbbbb&..#.q...q..X'....qTTTTTTq q.....&.#.#q..'qM......Mqqqqqqqq q.....&#.#.q.'%q........q...#.&q qqqqqqqqqqqqqqqqqqqqqqqqq......q qbbHHHHHHHHHHHH........}qT.??.#q q''qqqqqqqqqqqq....#....q..??..q qVVqTHHHHbH..&q...#&#...q......q qVVqTHHbbb.#..q....#....q.*.T..q q..qT}#HHHH}.bq.........qqqqqqqq qVVqTHHbbbH#.bq=====....q.....&q qVVqTHHHHbHbb.q..M...M..q.qqqqqq q''qqqqqqqqqqqqqqqqqqqqqq.q....q qbbHHHHHHHHHHHHHH.............}q qqqqqqqqqqqqqqqqqqqq.qqqqqqqqqqq q..^^...q?.....?q.#.#.q##..#..Tq q}......}........#.#.#b##..#..}q qM.....Mq.......q.#.#.q##..#..Tq qT......q?.....?q#.#.#qqqqqqqqqq qqqqqqqqqqqqqqqqqqqqqqq.......&q q%...M..M..M...q%.....q.qqqqqqqq q..............qT.....D........q qM......b.....Mq.@....q.q......q q...........#..qqqqqqqq.qqqqqq.q q..#...................}.......q q###......#.#...qqqqqqqqqqqqqq.q q#}#.....#.#.#.................q qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq [additional] 52 6.1.&.1.0 14.1.&.11.1 23.1.&.3.2 30.1.&.2.3 6.2.&.2.4 6.3.&.3.5 12.3.*.1 14.3.*.3 19.3.@.2 25.3.=.0 26.3.=.0 27.3.=.0 28.3.=.0 29.3.=.0 30.3.=.0 6.4.&.4.6 6.5.&.5.7 16.5.M.0 23.5.M.2 6.6.&.6.8 30.6.&.4.9 23.8.}.2.2.1.0.0.1 13.10.&.1.10 19.10.&.6.11 26.11.*.2 5.12.}.0.1.2.1.0.1 11.12.}.2.1.2.1.0.1 15.13.=.0 16.13.=.0 17.13.=.0 18.13.=.0 19.13.=.0 30.13.&.5.12 17.14.M.3 21.14.M.3 30.16.}.2.2.1.0.0.1 3.18.^.0.1.1 4.18.^.2.1.1 1.19.}.0.0.1.0.0.1 8.19.}.2.1.0.1.0.1 30.19.}.1.0.0.0.1.1 1.20.M.0 7.20.M.2 30.22.&.5.13 5.23.M.1 8.23.M.1 11.23.M.1 1.25.M.0 14.25.M.2 17.25.@.1 23.27.}.3.0.0.0.1.1 2.29.}.3.0.1.0.0.1 [end] [level] 3 [size] 32.31 [author] _Something easy [level_notes] [data] pppppppppppppppp---------------- p..MMMM#.#.#.#.p---&..----.D'!-- p}......#.#.#.Rp-----.----.----- p&.....#.#.#.#.p-----......----- p&......#.#.#..p--------.------- p}.....#.#.#.#.p--------.------- p..MMMM.#.#.#..p-----&.....%---- pppppppppppppppp--------.------- ------------------------}------- -------------------------------- --=.=.=.=.=.=.----------V------- ------------------------b------- --pppppppppppppp--------V------- --p&.#.T....T..p--------b------- --p.#.........@p--------H------- --p#...........p---VbVbH}HbVbV-- --p............p--------H------- --p....T@.@.T..p--------b------- --pppppppppppppp--------V------- ------------------------b------- ------------------------V------- OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO O&........O.TTO..............^TO OOOOOOOOO.O...O................O OT.^....O.O..^O......#########.O O...^...~.~.^.O..#...HHHHHHHHH.O O....^..O.O.TTO.#.#..HHHHHHHHH.O OOOOOOOOO.OOOOO#.#.#.HHHHTTHHH.O O.............#.#.#.#HHHHHHHHH.O O..............#.#.#.HHHHHHHHH.O OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO [additional] 33 3.1.M.1 4.1.M.1 5.1.M.1 6.1.M.1 19.1.&.3.0 1.2.}.0.0.1.0.0.1 1.3.&.2.1 1.4.&.3.2 1.5.}.0.0.1.0.0.1 3.6.M.3 4.6.M.3 5.6.M.3 6.6.M.3 21.6.&.4.3 24.8.}.3.1.1.0.0.1 2.10.=.0 4.10.=.0 6.10.=.0 8.10.=.0 10.10.=.0 12.10.=.0 3.13.&.2.4 14.14.@.1 24.15.}.3.0.2.0.1.1 8.17.@.2 10.17.@.2 1.22.&.4.5 29.22.^.2.1.1 3.24.^.1.1.1 13.24.^.3.1.0 4.25.^.1.1.1 12.25.^.3.1.0 5.26.^.1.1.1 [end] [level] 4 [size] 16.31 [author] _Normal size [level_notes] [data] PPPPPPPPPPPPPPPP PT.Hb....#.#..!P P.*H......#.#.RP PPPP.PPPPPPPPPPP P^..#.....P%.#.P PPPP..X...P.#.#P P.......H#P#.#.P P.......H&P.#.&P PPPP}PPPPPPPPPPP ---------------- H--H------H--H-- H-H---H-H--H-H-- H-HkH--H--H--H-- H--H--H-H--H-H-- ----------H----- OOOOOOOOOOOOOOOO O......OX#XO..&O O.#'#..O.T.O.##O O.@#...O###O.#.O O......O...O#.#O ODOOOOOODOOO.#.O O...M..O...O#.#O O......}.......O OM.....O.OOOOOOO O......O....MO%O OM.....O.....O.O O............O.O OM...........O.O O==============O OTTTTTTTTTTTTTTO OOOOOOOOOOOOOOOO [additional] 27 2.2.*.0 1.4.^.0.1.1 9.7.&.1.0 14.7.&.1.1 4.8.}.3.0.1.0.0.1 14.16.&.1.2 2.18.@.3 4.21.M.1 7.22.}.2.0.1.0.1.1 1.23.M.0 12.24.M.1 1.25.M.0 1.27.M.0 1.28.=.0 2.28.=.0 3.28.=.0 4.28.=.0 5.28.=.0 6.28.=.0 7.28.=.0 8.28.=.0 9.28.=.0 10.28.=.0 11.28.=.0 12.28.=.0 13.28.=.0 14.28.=.0 [end] [level] 5 [colour] [size] 16.31 [author] GNU Robbo Designer [level_notes] [data] OOOOOOOOOOOOOOOO OR.HbbHH%O....&O OOHbHHbHHO.OOOOO &ObHHHHbHO.....O .ObH#}#HbOOOOODO .OHbHHHbHO.....O .OHHbHbHHO.OOOOO .OTHHbHH&O....&O .OOOOOOOOOOOOOOO .--------------- .--------------- ......-----}---- -----.-T-%-.---- -...-.-.....M-.. -.T.-.-.....M-.. -..@-.---D-.---- -D---.....-.---- ..........T....M ..........-..'.. ..........-..... ..........D..... -.-------------- ................ OOOOOOOOOOOOOOO. O&............O. OOOOOOOOOOOOO.O. O&....}.......O. O.#.#.#.#.#.#.O. O#%#T#T#T#T#T#O. ObbbbbbbbbbbbbO. OOOOOOOOOOOOOOO! [additional] 13 14.1.&.2.0 0.3.&.3.1 5.4.}.2.1.2.1.1.1 8.7.&.1.2 14.7.&.1.3 11.11.}.1.2.1.0.0.1 12.13.M.2 12.14.M.2 3.15.@.1 15.17.M.2 1.24.&.2.4 1.26.&.3.5 6.26.}.1.0.0.1.0.1 [end] [level] 6 [colour] [size] 16.31 [author] GNU Robbo Designer [level_notes] Level edited with GNU Robbo Designer [data] OOOOOOOOOOOOOOOO O...T......T...O O..............O O..............O O*............@O O......R.......O O*.....~......@O OTBHHHH}......TO O*............@O O..............O O..............O O..T.......T...O OOOOOOOOOOOOOO!O O..............O O..............O O...b..........O O..b#b.........O O..b##b........O O..b#b#b.......O O..b#bb#b......O O..b#b#b#b.....O O..b#b##b#b....O O..b#b###b#b...O O..b#b#T##b#...O O.OOOOOOOOOOOO.O O.X}........}X.O OO............OO M..............M OO............OO OTX.}......}.X'O OOOOOOOOOOOOOOOO [additional] 13 1.4.*.2 14.4.@.0 1.6.*.2 14.6.@.0 7.7.}.2.0.2.0.0.1 1.8.*.2 14.8.@.0 3.25.}.1.0.1.0.0.1 12.25.}.1.0.1.0.0.1 0.27.M.0 15.27.M.2 4.29.}.3.0.1.0.0.1 11.29.}.3.0.1.0.0.1 [end] [level] 7 [colour] [size] 16.31 [author] GNU Robbo Designer [level_notes] Level edited with GNU Robbo Designer [data] -..............- -ROOOOOOOOOOOO.- -.O...}..O&....- -.O......OOOOOO- -.O......OT.#.O- -.O......O..#.O- -.OM....&O##.&O- -.O..!.OOOOOOOO- -.OOOODO-------- -......O-------- OOOOOOOOOOOOOOOO OHHHHHHHH%O....O OH########O....O OHHHHHHHHH..O..O O...^......O'..O OOOOOOO.OOOOOOOO O@........O....O OO..OO....O..@OO -O...O...OO...O- -OO..O.......OO- --O..Ob......O-- --O....OOOOOOO-- --OOOO......&O-- --O.......OOOO-- --O..........O-- --OOOOO&OOOOOO-- -O}...........O- OO..OO}#OO?O..OO O..OT.O.O...O..O OT.O...#....O.TO OOOOOOOOOOOOOOOO [additional] 12 6.2.}.1.0.1.0.0.1 10.2.&.3.0 3.6.M.0 8.6.&.1.1 13.6.&.1.2 4.14.^.0.1.0 1.16.@.1 13.17.@.1 12.22.&.3.3 7.25.&.4.4 2.26.}.0.1.1.0.0.1 6.27.}.3.2.1.1.0.1 [end] [level] 8 [colour] 608050 [size] 16.31 [author] Thunor [level_notes] Created by Thunor using the GNU Robbo Designer. [data] R....O....O.*... .#~~.D.T%.D.##~. .T~#.O....O.~T#. .Tb%.P====P.bTb. .....O....O..... ODOOOO..H.OOOODO ...Q..@TT@..M.b. .~.Q.HHT&H..D.%. .T.Q..HHHHH.Q.b. ..%M..@HH@..Q}.. oboOOO.H..OOOODO .....O....Ob.... .b~#.P====P.---. .%~#.O....O~-&-. .T##.Db%T.D.-.-. .....O....O.-.-' -------------%-- -------------T-- -------------.-- !------------&-- T-.------------- T-.-.----------- T-.-.-.--------- T-.-.-.-.------- T-.-.-.-.------- T-.-.-.-.------- T-.-.-.-.------- T-.-.-.-.------- T-.-.-.-.------- T-V-V-V-V------- TD%D%D%D.&------ [additional] 20 12.0.*.0 6.3.=.2 7.3.=.2 8.3.=.2 9.3.=.2 6.6.@.2 9.6.@.3 12.6.M.2 8.7.&.1.0 3.9.M.2 6.9.@.1 9.9.@.0 13.9.}.3.0.1.0.0.1 6.12.=.0 7.12.=.0 8.12.=.0 9.12.=.0 13.13.&.1.1 13.19.&.2.2 9.30.&.2.3 [end] [level] 9 [colour] 608050 [size] 16.31 [author] _Surprise [level_notes] Surprise level [data] oooooooooooooooo oR............To ooooooooo......o o.M....X#......o o.....##.......o o.....#........} o....###.......o o~ookooooMMMMMMo o.TB.BT.oooooooo o.....??.....??o oB....B.......Bo oT........????.o oH...?.B...BT..o obHB......?.?..o oVBH..B....BT?.o o'VBH.T...?T??Bo o#o#oooooooooooo o.o.....o..o.M.o o....oo.o.~o..!o o.oo.o..o..o...o o..o.o~.o..o...o oo......o.B.B..o o..ooo..oB...HHo o.oB....B}#..HTo o.......oB?..HHo o.BB.ooooooo~ooo o.BB..BTo}.....o o.....##o......o oo......oo...ooo M.............Mo oooooooooooooooo [additional] 13 2.3.M.1 15.5.}.2.0.1.0.0.1 9.7.M.3 10.7.M.3 11.7.M.3 12.7.M.3 13.7.M.3 14.7.M.3 13.17.M.1 9.23.}.0.1.1.1.0.1 9.26.}.0.1.1.1.0.1 0.29.M.0 14.29.M.2 [end] gnurobbo-0.66+dfsg/data/levels/robbo10.dat0000644000175000017500000010412211306552213017376 0ustar stevesteveIt is said that levels 1-32 waer made by Ela (9 years old) and Dawid (7 years old) Borowiec from Polkowice, and helped them grand father Roland. [name] RobboX [last_level] 32 [offset] 508C [level] 1 [colour] 78c67f [size] 16.31 [author] Ela & Dawid [data] QQQQQQQQQQQQQQQQ QR..%'Q????Q..?Q Q'#Q..D...%Q...Q Q.TQ..QQQQQQ...Q QQQQ..QTTTTQ.HHQ Q.T...DTTTTQ.H%Q QQQQ..QQQQQQ.HHQ Q}.Q...........Q Q.VQ..}....V...Q Q.TQQQQQQQQQQQbQ Q.%.Q..........Q QDQQQ#.#.#...#.Q Q%.............Q Q............M.Q Q^..M..........Q Q.......QQQQQ..Q Q.......Q'..Q.MQ Q.M.....Q.&.Q..Q Q.......Q..!Q.MQ QM......D...Q..Q QQQQQQQQQQDQQQQQ Q}...#...b.....Q Q^^^^#.........Q Q#######H#####HQ QbbbbbbbbbbbbbbQ Q##############Q Q@VVVV*VVVVVV@?Q QVVV*VVVV*V@VVVQ QVV@VVVVVVVVV@VQ Q*TVVVVT*T&*TV?Q QQQQQQQQQQQQQQQQ [additional] 27 1.7.}.1.0.2.0.0.0 6.8.}.0.0.0.0.0.0 13.13.M.2 1.14.^.1.0.0 4.14.M.0 14.16.M.2 2.17.M.0 10.17.&.3.0 14.18.M.2 1.19.M.0 1.21.}.0.0.2.0.0.0 1.22.^.0.1.1 2.22.^.0.1.1 3.22.^.0.1.1 4.22.^.0.0.0 1.26.@.2 6.26.*.2 13.26.@.2 4.27.*.0 9.27.*.0 11.27.@.2 3.28.@.2 13.28.@.2 1.29.*.0 8.29.*.0 10.29.&.3.1 11.29.*.0 [end] [offset] 528C [level] 2 [colour] 7176a9 [size] 16.31 [author] Ela & Dawid [data] QQQQQQQQQQQQQQQQ QR''!QH??'HTTTTQ Q...'QQQQHQTTTTQ Q&...DD...Q....Q Q....Q....QbbbbQ Q.bb.Q.T#MQ..b.Q Q....Q....Q....Q QQQQQQ....Q....Q QTTTTD@...Q..'.Q Q^^^^Q....Q....Q Q....Q....Q...~Q Q....Q....Q....Q Q....Q....Q}.bbQ Q....Q....QQQ~QQ Q....QQQbQQTT.TQ Q....Q.bb.QTT?TQ Q....QVVVVQTT.TQ Q....Q*VT@QTT.TQ Q....Q*VT@Q.#.%Q Q....Q*VT@Q...%Q Q....Q*VT@Q..^.Q Q....QVVTVQQQDQQ Q....QT.T%QbbbbQ Q....Q%***Q@VV*Q Q....QQQQQQ@''*Q Q....Q&..?Q@TT*Q Q....QQQTQQ@TT*Q QTTTTD....Q@TT*Q QQQQQQ....Q@VV*Q QT%VHD....Q....Q QQQQQQQQQQQQQQQQ [additional] 33 1.3.&.1.0 9.5.M.2 6.8.@.3 1.9.^.1.0.0 2.9.^.1.0.0 3.9.^.1.0.0 4.9.^.1.0.0 11.12.}.3.0.2.0.0.0 6.17.*.0 9.17.@.2 6.18.*.0 9.18.@.2 6.19.*.0 9.19.@.2 6.20.*.0 9.20.@.2 13.20.^.3.0.0 7.23.*.0 8.23.*.0 9.23.*.0 11.23.@.2 14.23.*.0 11.24.@.2 14.24.*.0 6.25.&.1.1 11.25.@.2 14.25.*.0 11.26.@.2 14.26.*.0 11.27.@.2 14.27.*.0 11.28.@.0 14.28.*.2 [end] [offset] 548C [level] 3 [colour] a98058 [size] 16.31 [author] Ela & Dawid [data] PPPPPPPPPPPPPPPP PR....HTTTTHH}#P P..#PHH...}HH.#P P.T'P'.....HH.bP PPPPP..##...}.bP P%......##....bP P.............bP P.............bP P^?..}...}....bP PPPPPPPPPPPPDPbP PT............b. PM............b. PT.........?..b. PM............b. PT.......?....b. PM............b. PT.....?......b. PM.............b PT.............b PT.P.P.P.P.P.P.b PT.............b P..}}}}}}}}}}}}b P...#TTTTTTTVV#b P...#VVVVVVVVV#b P...#TTTTTTTTV#b P...#VVVVVVVVV#b P&T.#VVVVVVVVV#b PPPPPPPPPPPPPPPP PT.............. P&............T! PPPPPPPPPPPPPPPP [additional] 24 13.1.}.1.0.2.0.0.0 10.2.}.1.0.2.0.0.0 12.4.}.1.0.2.0.0.0 1.8.^.3.0.0 5.8.}.0.0.1.0.0.0 9.8.}.0.0.2.0.0.0 1.11.M.0 1.13.M.0 1.15.M.0 1.17.M.0 3.21.}.3.0.1.0.0.0 4.21.}.3.0.1.0.0.0 5.21.}.3.0.1.0.0.0 6.21.}.3.0.1.0.0.0 7.21.}.3.0.1.0.0.0 8.21.}.3.0.1.0.0.0 9.21.}.3.0.1.0.0.0 10.21.}.3.0.1.0.0.0 11.21.}.3.0.1.0.0.0 12.21.}.3.0.1.0.0.0 13.21.}.3.0.1.0.0.0 14.21.}.3.0.1.0.0.0 1.26.&.4.0 1.29.&.4.1 [end] [offset] 568C [level] 4 [colour] 719d8d [size] 16.31 [author] Ela & Dawid [data] ssssssssssssssss sT'..~.........s s....#.~..b.V..s s..R.#.~.....MHs s....#......HH%s s....#......H%'s sssssssssss.ssss s???TTTTTs...#.s s....}...s.#.^.s s.....V..s.....s s.}V}...}sM....s s.......Vs.....s s}VVV....sM....s s}....@..s.....s s...@....s.....s s........s#^...s s.T.TT...s.....s s.T.T.T..s..^..s s...T..T.D.....s s}.......s}...'s sssssssssssssDss s}.HHHHHHHHHHHHs sHHbbbbbbbbbbbbb s##############D s}VVVVVVVVVVVVV* sVVVV*V*VVV@@*** sVVVV*V**VV@b@@* sVV**VVVVVV@@@*s s**VV*VVVVVVVVVs sVVVV**T**TT*T!s ssssssssssssssss [additional] 47 13.3.M.2 5.8.}.1.0.0.0.0.0 13.8.^.3.0.0 2.10.}.1.0.2.0.0.0 4.10.}.1.0.2.0.0.0 8.10.}.1.0.2.0.0.0 10.10.M.0 1.12.}.0.0.2.0.0.0 10.12.M.0 1.13.}.0.0.2.0.0.0 6.13.@.3 4.14.@.3 11.15.^.0.0.0 12.17.^.0.0.0 1.19.}.0.0.0.0.0.0 10.19.}.3.0.1.0.0.0 1.21.}.0.0.2.0.0.0 1.24.}.0.0.0.0.0.0 15.24.*.0 5.25.*.0 7.25.*.0 11.25.@.2 12.25.@.2 13.25.*.0 14.25.*.0 15.25.*.0 5.26.*.0 7.26.*.0 8.26.*.0 11.26.@.2 13.26.@.2 14.26.@.2 15.26.*.0 3.27.*.0 4.27.*.0 11.27.@.2 12.27.@.2 13.27.@.2 14.27.*.0 1.28.*.0 2.28.*.0 5.28.*.0 5.29.*.0 6.29.*.0 8.29.*.0 9.29.*.0 12.29.*.0 [end] [offset] 588C [level] 5 [colour] b2b05f [size] 16.31 [author] Ela & Dawid [data] oooooooooooooooo oRb......b.....o o.b......b.....o obb......bbbbbbo ob..bbbbb...b..o ob..b.b.....b..o obbbb.b.....bb.o o....bbb.....b.o o....b..b.....bo o....b..b...b.bo o....b..b...b..o o...b...b..bbbbo obbbbbbbbbbb.b.o o.........Vb.b.o obbbb.....Vb...o obVVbVVVVVVbbb'o obbbbbbbbbVbb.!o oooooooobooooooo obbbbbbb.......o obVVVV.........o obbbbbbbbbbbbbbo obVVVb.b.......o obV..b.b..bbbb.o obV.*b.b..b..bbo obVVVb.b..b.b.bo obbbbb.b..bb..bo ob.....b..b...bo ob..bbbb.b..*.bo ob.*b....b...**o ob..bbbb..bbb*To oooooooooooooooo [additional] 6 4.23.*.0 12.27.*.1 3.28.*.3 13.28.*.0 14.28.*.0 13.29.*.0 [end] [offset] 5A8C [level] 6 [colour] 77a4ac [size] 16.31 [author] Ela & Dawid [data] oooooooooooooooo o'HH%!o}..?...?o o'HHH.o........o oD##Hbo..~....bo o..#..o......HHo oT.#.~D......HHo o%R#..o}....}H'o ooooooooooDooooo o}}..}T.o?.????o o^^.^..^o......o o.......o......o o.V.VVV.ob.....o o.VVVVV}o}b....o o..VVVV.o..bbb.o o......}o}....bo o......VoT.bbbbo o}VVVVVVo...b..o oVVVVVV.o...b..o o@.....Tobbbbb.o o@.....Tobbbbbbo o@.....Tobbbbbbo o@...V.Tobbbbbbo o@.}...Tobbbbbbo ooooobooobbbbbbo o.......o......o o.......o......o o......*oTTTTTTo o}.**.^*oTHHHTTo o......*oTH.HTTo o&%.T...oTH&HTTo oooooooooooooooo [additional] 30 7.1.}.1.0.2.0.0.0 7.6.}.0.0.1.0.0.0 12.6.}.3.0.0.1.0.0 1.8.}.1.0.2.0.0.0 2.8.}.1.0.2.0.0.0 5.8.}.1.0.2.0.0.0 1.9.^.0.0.0 2.9.^.1.0.0 4.9.^.0.1.1 7.9.^.2.0.0 7.12.}.2.0.2.0.0.0 9.12.}.0.0.0.0.0.0 7.14.}.2.0.0.0.0.0 9.14.}.0.0.0.0.0.0 1.16.}.0.0.0.0.0.0 1.18.@.2 1.19.@.2 1.20.@.2 1.21.@.2 1.22.@.2 3.22.}.3.0.1.0.0.0 7.26.*.0 1.27.}.0.0.2.0.0.0 3.27.*.3 4.27.*.1 6.27.^.3.0.0 7.27.*.0 7.28.*.2 1.29.&.4.0 11.29.&.4.1 [end] [offset] 5C8C [level] 7 [colour] 819663 [size] 16.31 [author] Ela & Dawid [data] oooooooooooooooo o'R~@.......^??o oTTo..........*o oooo....#.V....o o..^..M........o o.......o......o o.......o......o o&..^^..o^^****o ooooooooooo....o obbbb..'o&o....o obb&b..@o.o....o obb.Vb..oToVVVVo obbbbb..oTo%...o ob..@.b.oToooDoo ob.b.b...&o....o ob..b..b..o....o ob.@.@.@.@o@...o obbbbbbbbbo@...o obVVVVVVbbo@...o ob......bbo@...o obbbbbbbbbo....o obooooooooo....o obbbbbbbbbo.TD%o oVVVVVVVbbo.oToo oVM@MVVVbbo.oToo oVVVVVVV.?o.oToo o.VVVVVV.?o.To&o o@..@@.@?To...To o......@.?oboooo o}}}}}}@@&o**T!o oooooooooooooooo [additional] 47 4.1.@.0 12.1.^.2.1.1 14.2.*.2 3.4.^.1.0.0 6.4.M.0 1.7.&.1.0 4.7.^.2.0.0 5.7.^.0.0.0 9.7.^.3.0.0 10.7.^.3.0.0 11.7.*.3 12.7.*.3 13.7.*.3 14.7.*.3 9.9.&.1.1 3.10.&.5.0 7.10.@.0 4.13.@.0 9.14.&.2.0 3.16.@.2 5.16.@.2 7.16.@.2 9.16.@.2 11.16.@.2 11.17.@.2 11.18.@.2 11.19.@.0 2.24.M.0 3.24.@.2 4.24.M.2 14.26.&.2.1 1.27.@.3 4.27.@.0 5.27.@.0 7.27.@.2 7.28.@.2 1.29.}.3.0.1.0.0.0 2.29.}.3.0.1.0.0.0 3.29.}.3.0.2.0.0.0 4.29.}.3.0.2.0.0.0 5.29.}.3.0.2.0.0.0 6.29.}.3.0.2.0.0.0 7.29.@.2 8.29.@.2 9.29.&.2.2 11.29.*.0 12.29.*.0 [end] [offset] 5E8C [level] 8 [colour] 9551b9 [size] 16.31 [author] Ela & Dawid [data] ssssssssssssssss s&..?s..}..T.!.s ssssss.#.#ssssss s.s..M.........s sVs......ss.ss.s s@s....?.......s s*sss.ss.ss.ssss sVs.......M....s s@s.......ssss.s s.s.sss........s s.s......ssss..s s.s....M.......s sHs....M.......s s......M.....?.s s.s....M.......s s......M.......s s..&......s.ss.s s.s............s s...........s..s s..sssss.......s ssssssss.sssssss s..............s s.........M....s s........ssssR.s sss.ssssHsssssss s.......Hb.....s sss.....H......s s......bH......s s...sssssssss..s s..............s ssssssssssssssss [additional] 14 1.1.&.4.0 8.1.}.1.0.1.0.0.0 5.3.M.0 1.5.@.2 1.6.*.0 10.7.M.2 1.8.@.0 7.11.M.0 7.12.M.0 7.13.M.0 7.14.M.0 7.15.M.0 3.16.&.4.1 10.22.M.2 [end] [offset] 608C [level] 9 [colour] 6d61b1 [size] 16.31 [author] Ela & Dawid [data] PPPPPPPPPPPPPPPP PR.T~.....H''THP P'''~.....HTTTHP P~~~~.....HHHHHP P!~~TT.....b.b.P P~~~TT.........P PPPPPPPPPbPPPPPP Pbbbbbbbb@.VV.TP P}......P.*.V*@P P}......P@*TT*@P P}.....PP@*VV*@P P}.....}PTTTTTTP PPPPPPPPPPPPPP.P P?????.?%@@???.P P?????.???????bP P?????.TTTTT???P P}.............P PPPPPPbPPPPPPPDP P^........T.T.TP P.........TT.T.P PHHHHHHHHHHHHH#P PHH@@@HH@@@HHHHP PHHHHHHHHHHHHHHP P@@@@@@@HH@HHHHP PTTTTTTTTTTTT.bP PPPPPPPPPPPPPPHP PTTTTTTTTP}V@V*P PHHHHHHHHP@VVVVP PbbbbbbbbbbV**VP P@@@@@@@@HV@*@VP PPPPPPPPPPPPPPPP [additional] 52 9.7.@.0 1.8.}.0.0.2.0.0.0 10.8.*.0 13.8.*.0 14.8.@.2 1.9.}.0.0.0.0.0.0 9.9.@.2 10.9.*.0 13.9.*.0 14.9.@.2 1.10.}.0.0.1.0.0.0 9.10.@.2 10.10.*.0 13.10.*.0 14.10.@.2 1.11.}.0.0.2.0.0.0 7.11.}.0.0.0.0.1.1 9.13.@.2 10.13.@.2 1.16.}.0.0.1.0.0.0 1.18.^.0.1.1 3.21.@.2 4.21.@.2 5.21.@.2 8.21.@.2 9.21.@.2 10.21.@.2 1.23.@.2 2.23.@.2 3.23.@.2 4.23.@.2 5.23.@.2 6.23.@.2 7.23.@.2 10.23.@.2 10.26.}.0.0.0.0.1.1 12.26.@.2 14.26.*.0 10.27.@.2 12.28.*.0 13.28.*.0 1.29.@.2 2.29.@.2 3.29.@.2 4.29.@.2 5.29.@.2 6.29.@.2 7.29.@.2 8.29.@.2 11.29.@.2 12.29.*.0 13.29.@.2 [end] [offset] 628C [level] 10 [colour] a28352 [size] 16.31 [author] Ela & Dawid [data] ssssssssssssssss s}....'H%sT~^..s s.R}HHHHDD~...bs sHHHHHHH%s--~--s sTHTTHHH.sbbbbbs sTHTHVMH.sbbbbbs sTHHVVMH@sbbbbbs sHHHHHHH.sbbbbbs s.M...#..sbbbbbs s.M..#..#sbbbbbs s.M...#..sbbbbbs s.M..#.?.sbbbbbs s.M.#??..sbb}bbs sb....%.}sbbbbbs sssssDsssssbssss s..?..?.&s.HVT's s.??.?...s.TTT.s s.?.?T@?.s'....s sb...?...sDDbDbs s...}....s.....s s.ssssssss.}...s s.bb.....s.b%b.s s..b.bb..s.bbb.s s......b.s..b..s sssbbbbbssssssss s}s...V.^.@b...s sTs..VVV*V.s...s sTs..V...V.s^^^s sTs...V.V..s...s sT}}}..M..&s!&bs ssssssssssssssss [additional] 30 1.1.}.0.0.0.0.1.1 12.1.^.0.0.0 3.2.}.3.0.1.0.0.0 6.5.M.2 6.6.M.2 8.6.@.1 2.8.M.0 2.9.M.0 2.10.M.0 2.11.M.0 2.12.M.0 12.12.}.3.0.0.1.0.0 8.13.}.0.0.0.0.1.1 8.15.&.4.0 6.17.@.1 4.19.}.0.0.2.0.0.0 11.20.}.0.0.2.0.0.0 1.25.}.0.0.0.0.1.1 8.25.^.2.1.1 10.25.@.0 8.26.*.2 12.27.^.1.0.0 13.27.^.1.0.0 14.27.^.1.0.0 2.29.}.0.0.0.0.0.0 3.29.}.0.0.0.0.0.0 4.29.}.0.0.2.0.0.0 7.29.M.2 10.29.&.6.0 13.29.&.6.1 [end] [offset] 648C [level] 11 [colour] 7accb0 [size] 16.31 [author] Ela & Dawid [data] pppppppppppppppp pR'.........DD!p p........#..DDDp ppppppp.....DDDp p.....p.....'''p p??TTTp.....@..p p.?T??p.....-..p p&.'T?p........p ppppppppbppp}}pp pTVVV.bp....*..p pTVV..bb..#....p p@*%%**p.......p pT@@T*p...#....p ppppppppp......p p......bp^.....p p..@T*.bp......p p..@T*.bp......p p..TTT.bb......p p..@T*.bpHHHHHHp p..@T*..pHHHHHHp p&.....&p%THTTTp pppppppppppppppp p&.....TTT..DT.p p...........DT&p p...........DTTp p...........DDDp pbbbb..........p pVVVb.......%.Mp p...b..........p pT..b..^^^....&p pppppppppppppppp [additional] 30 12.5.@.2 1.7.&.1.0 12.8.}.1.0.2.0.0.0 13.8.}.1.0.2.0.0.0 12.9.*.0 1.11.@.2 2.11.*.0 5.11.*.0 6.11.*.0 2.12.@.2 3.12.@.2 5.12.*.0 9.14.^.0.1.1 3.15.@.2 5.15.*.0 3.16.@.2 5.16.*.0 3.18.@.2 5.18.*.0 3.19.@.0 5.19.*.2 1.20.&.3.0 7.20.&.1.1 1.22.&.3.1 14.23.&.2.0 14.27.M.2 7.29.^.3.0.0 8.29.^.3.0.0 9.29.^.3.0.0 14.29.&.2.1 [end] [offset] 668C [level] 12 [colour] a5b8a0 [size] 16.31 [author] Ela & Dawid [data] ssssssssssssssss s'.&~....^....?s sTR.b....###b..s sbbbb....#M#b..s sT.....}.###b.&s s%%......bbbbsss sssDDssssssss^.s s......^.......s s...T.^.......?s sssssssssssDssss sT.?.........?'s s....H...H.#...s s....H...H.....s s..@...*.H.@...s sM.s...s...s.#.s s..............s sT...@@@@.%...Ts sssssssssssDHHss sT.bbs....%sb.Ts s..Ms.......sM.s s..bbs.....sbb.s s...^...^......s s..}.........}Ts ssssssssssssssss sT...}...}V}.?bs s}.V...??.}...bs s.V.T..V....V.bs s}.T-T...V^.VVbs s}.-&-.V^..Vbbbs sTHT.TH..^..b!bs ssssssssssssssss [additional] 33 3.1.&.1.0 9.1.^.0.1.1 10.3.M.2 7.4.}.1.0.2.0.0.0 14.4.&.6.0 13.6.^.0.0.0 7.7.^.0.0.0 6.8.^.0.0.0 3.13.@.2 7.13.*.0 11.13.@.2 1.14.M.0 5.16.@.2 6.16.@.2 7.16.@.2 8.16.@.2 3.19.M.0 13.19.M.2 4.21.^.0.0.0 8.21.^.0.0.0 3.22.}.3.0.2.0.0.0 13.22.}.3.0.2.0.0.0 5.24.}.0.0.0.0.1.1 9.24.}.1.0.1.0.0.0 11.24.}.1.0.1.0.0.0 1.25.}.3.0.1.0.0.0 10.25.}.1.0.1.0.0.0 1.27.}.0.0.2.0.0.0 10.27.^.0.1.1 1.28.}.1.0.0.0.0.0 4.28.&.1.1 8.28.^.0.1.1 9.29.^.1.0.0 [end] [offset] 688C [level] 13 [colour] b3b06d [size] 16.31 [author] Ela & Dawid [data] oooooooooooooooo oR..~@......bb!o o''~~.......bbbo ooo.........b..o o%o.....@.bbb..o oVo.......b...To oVo...@...b....o oVo........bbbbo oVH............o ooooooooooDooooo o'.bbbbbb..~...o oT.bbbbbo......o oooooobbo......o oTTT'obbo...oooo o^^^^obbo...o'%o o....oooo...o@*o o......o....o*@o o^^^^..H....H..o ooooooooooDooooo oTTTTT.....b...o o^^^^^.....o*T@o o..........o*T@o o..........o*T@' o.........}o*T@o o..........o*T@o o^^^^^.....o...o oTTTTT.....o..&o oooooooooobooooo oT.T.Vb....}}}}o oT.T.Vo....****o oooooooooooooooo [additional] 45 5.1.@.0 8.4.@.3 6.6.@.3 1.14.^.1.0.0 2.14.^.1.0.0 3.14.^.1.0.0 4.14.^.1.0.0 13.15.@.2 14.15.*.0 13.16.*.2 14.16.@.0 1.17.^.3.0.0 2.17.^.3.0.0 3.17.^.3.0.0 4.17.^.3.0.0 1.20.^.1.0.0 2.20.^.1.0.0 3.20.^.1.0.0 4.20.^.1.0.0 5.20.^.1.0.0 12.20.*.0 14.20.@.2 12.21.*.0 14.21.@.2 12.22.*.0 14.22.@.2 10.23.}.2.0.2.0.0.0 12.23.*.0 14.23.@.2 12.24.*.2 14.24.@.0 1.25.^.3.0.0 2.25.^.3.0.0 3.25.^.3.0.0 4.25.^.3.0.0 5.25.^.3.0.0 14.26.&.4.0 11.28.}.1.0.2.0.0.0 12.28.}.1.0.2.0.0.0 13.28.}.1.0.2.0.0.0 14.28.}.1.0.2.0.0.0 11.29.*.0 12.29.*.0 13.29.*.0 14.29.*.0 [end] [offset] 6A8C [level] 14 [colour] a75c6c [size] 16.31 [author] Ela & Dawid [data] oooooooooooooooo oTTT~^^^^^o'&%?o oR.?ob....H...-o o...ob....o..DTo o...ob....o.#.-o oT''ob^^^^oM.T%o oooooooooooooDoo obbbbbVVbbb...'o oV.bbbbbbbb....o oVVbVVV@@boHHHHo o..bVVV@@bo@@@@o o.VbVVV@@bo.bbbo o..bbbbbbbo@@@@o oooooDoooooooooo oT..V.V..ToT..To o.T.VTVVT.o.#.Mo o.~..~..~.b.#.Mo o..TV.T.VVo....o o.V.V.V.V.o....o o.V.V.....o.#.Mo o}}T}}T}}To}T}.o oooooooooooooooo oT}VVV}TT}o^^^^o o...***...o....o o}.VV..V..o....o o.@..@....o....o oV@**..HHHo....o oVVV.@VH.%D....o oVVV@.VH.To....o oTTVT.VH.&o!T.}o oooooooooooooooo [additional] 56 5.1.^.2.1.1 6.1.^.1.0.0 7.1.^.1.0.0 8.1.^.1.0.0 9.1.^.1.0.0 12.1.&.4.0 6.5.^.3.0.0 7.5.^.3.0.0 8.5.^.3.0.0 9.5.^.3.0.0 11.5.M.0 7.9.@.2 8.9.@.2 7.10.@.2 8.10.@.2 11.10.@.0 12.10.@.2 13.10.@.2 14.10.@.2 7.11.@.2 8.11.@.2 11.12.@.2 12.12.@.2 13.12.@.2 14.12.@.2 14.15.M.2 14.16.M.2 14.19.M.2 1.20.}.3.0.1.0.0.0 2.20.}.3.0.1.0.0.0 4.20.}.3.0.1.0.0.0 5.20.}.3.0.1.0.0.0 7.20.}.3.0.1.0.0.0 8.20.}.3.0.1.0.0.0 11.20.}.3.0.1.0.0.0 13.20.}.3.0.1.0.0.0 2.22.}.1.0.2.0.0.0 6.22.}.1.0.2.0.0.0 9.22.}.1.0.0.0.0.0 11.22.^.1.0.0 12.22.^.1.0.0 13.22.^.1.0.0 14.22.^.1.0.0 4.23.*.0 5.23.*.2 6.23.*.2 1.24.}.0.0.0.0.1.1 2.25.@.2 5.25.@.3 2.26.@.2 3.26.*.0 4.26.*.1 5.27.@.1 4.28.@.2 9.29.&.4.1 14.29.}.3.0.0.1.0.0 [end] [offset] 6C8C [level] 15 [colour] b9944e [size] 16.31 [author] Ela & Dawid [data] PPPPPPPPPPPPPPPP PT..''!P......?P P....''P.....#.P P.R...DD.......P P&.....P.HH....P P....b.P.@.@...P P.#....P.......P P......P.......P PPPPPPPPPPPPPPHP PT.bbbb.P......P PT...b...%.....P PPPPPPPPPPPbPPPP PTTTTTTP.bbbbb.P PTVT...PH*bbb..P PTV.V..P.H*@@@.P P.TVT..PPHVVV@.P P.VVV...D..VV%%P PPPPPPPPPPPPPPPP PTTTTTTTPTTTTTTP P.......PPPPPPTP P.......P&..?PTP P^^^^^^^PPP.PPHP PPPPPPDDH.....'P PT%VVVVHD..b...P PPPPPPPPPPPPPDPP P......@P.T...%P P..*....P......P P..T..*.D.%@...P P.....T.P......P P.......P.....@P PPPPPPPPPPPPPPPP [additional] 22 1.4.&.4.0 9.5.@.0 11.5.@.3 9.13.*.0 10.14.*.0 11.14.@.2 12.14.@.2 13.14.@.2 13.15.@.2 9.20.&.4.1 1.21.^.3.0.0 2.21.^.3.0.0 3.21.^.3.0.0 4.21.^.3.0.0 5.21.^.3.0.0 6.21.^.3.0.0 7.21.^.3.0.0 7.25.@.0 3.26.*.0 6.27.*.0 11.27.@.3 14.29.@.2 [end] [offset] 6E8C [level] 16 [colour] 8faac7 [size] 16.31 [author] Ela & Dawid [data] PPPPPPPPPPPPPPPP P&T.~...b.....?P P..R~.....b....P PT.%~..b....V.&P PPPPPPPPPPPDPPPP P?T..........T'P P.T..@..*......P P.T..T..T..TT..P P.T............P PT............TP PPPPPPPPPPPHPPPP PT..V.V.V.@.@.'P PT.V.bV...V@...P PT.}.@...T...@TP PPPPPPPPPPPHPPPP P*T...........TP P..........V...P P.-..-..-.T.-..P P.*..*..@......P P..............P PTT.......@...TP PPPPPPPPPPPPPPPP P@^@@*@*@V}@}@TP P@@@*@@**V@}@**P P@@*@@@@@VV@@**P PT*@V@VVVVV@@@@P P*@**VV@*@@@@@@P P@V@VVV@**@@@@@P PT**V@HHHH@T*@@P P@@**}H&.H}@@T!P PPPPPPPPPPPPPPPP [additional] 97 1.1.&.5.0 14.3.&.3.0 5.6.@.2 8.6.*.0 10.11.@.2 12.11.@.0 11.12.@.3 3.13.}.3.0.1.0.0.0 5.13.@.2 13.13.@.2 1.15.*.2 2.18.*.2 5.18.*.2 8.18.@.0 10.20.@.2 1.22.@.2 2.22.^.2.1.1 3.22.@.2 4.22.@.2 5.22.*.2 6.22.@.2 7.22.*.0 8.22.@.2 10.22.}.1.0.0.0.0.0 11.22.@.2 12.22.}.1.0.0.0.0.0 13.22.@.2 1.23.@.2 2.23.@.2 3.23.@.2 4.23.*.0 5.23.@.2 6.23.@.2 7.23.*.0 8.23.*.0 10.23.@.2 11.23.}.1.0.0.0.0.0 12.23.@.2 13.23.*.0 14.23.*.0 1.24.@.2 2.24.@.2 3.24.*.3 4.24.@.2 5.24.@.2 6.24.@.2 7.24.@.2 8.24.@.2 11.24.@.2 12.24.@.2 13.24.*.0 14.24.*.2 2.25.*.0 3.25.@.2 5.25.@.2 11.25.@.2 12.25.@.2 13.25.@.2 14.25.@.2 1.26.*.2 2.26.@.2 3.26.*.3 4.26.*.0 7.26.@.2 8.26.*.0 9.26.@.2 10.26.@.2 11.26.@.2 12.26.@.2 13.26.@.2 14.26.@.2 1.27.@.2 3.27.@.2 7.27.@.2 8.27.*.0 9.27.*.0 10.27.@.2 11.27.@.2 12.27.@.2 13.27.@.2 14.27.@.2 2.28.*.0 3.28.*.0 5.28.@.2 10.28.@.2 12.28.*.0 13.28.@.2 14.28.@.2 1.29.@.2 2.29.@.2 3.29.*.0 4.29.*.0 5.29.}.3.0.2.0.0.0 7.29.&.3.1 10.29.}.3.0.0.1.0.0 11.29.@.2 12.29.@.2 [end] [offset] 708C [level] 17 [colour] 6da77a [size] 16.31 [author] Ela & Dawid [data] QQQQQQQQQQQQQQQQ QR...''Q......?Q Q......Q....@.@Q Q.....DDD....QQQ Q......Q.....QTQ Q....bbQ..@..Q'Q Q^.....Q.....QVQ Q......Q.....QVQ QTTTTTTQ.....HVQ QQQQQQQQQQQbQQQQ Q.......Q......Q Q.@TT...Q......Q Q.@TT...H......Q Q.TQQT..Q^.....Q Q.TQQT..QbbbbbbQ Q.@TT...Q~~~~~~Q Q.@TT...Q.@...@Q Q......&QTTTTTTQ QQQQQQQQQQQQQQQQ Q&..........???Q Q...........???Q Q...........??&Q QQQQQQQQQQQQQQQQ QTTTT.Q..*....&Q Q^^^^.Q.T.Q....Q Q.....Q...Q....Q Q.....QQQQQ.bbbQ Q...........bbbQ Q^^^^.......bbbQ QTTT'.......bb!Q QQQQQQQQQQQQQQQQ [additional] 24 12.2.@.3 14.2.@.2 10.5.@.3 1.6.^.0.1.1 2.11.@.2 2.12.@.2 9.13.^.0.1.1 2.15.@.2 2.16.@.0 10.16.@.2 14.16.@.2 7.17.&.1.0 1.19.&.1.1 14.21.&.2.0 9.23.*.2 14.23.&.2.1 1.24.^.1.0.0 2.24.^.1.0.0 3.24.^.1.0.0 4.24.^.1.0.0 1.28.^.3.0.0 2.28.^.3.0.0 3.28.^.3.0.0 4.28.^.3.0.0 [end] [offset] 728C [level] 18 [colour] a08750 [size] 16.31 [author] Ela & Dawid [data] oooooooooooooooo oR...H}HHHHHHH!o oT...HHH....o..o oT........?o'o.o oo?........o.oDo o}o'.....?o..o.o o.To?...%o...o.o oH@*o}.?o...o..o oHT*.oToH..o...o oH@T*.oH}Ho....o o.@.T*oHHHHo...o o....To@@@@oHHHo o.@*..o....o...o o..*..o....o...o o.@*..o....o...o o@.*..o....o...o o@.*.@o....oHHHo o....@o....o...o oH....o....o...o oH...@o*...o...o oH...@o....o.b.o o@...@o*..*o.b.o o@....o*...o.b.o oH...@o...*o.b.o oH...}o....o...o o@....o....o...o o.@@.*o....o...o o*.@.*o....oT..o o*.@..o....o.T.o oTTT.@D@@@@D..To oooooooooooooooo [additional] 52 6.1.}.0.0.0.0.1.1 1.5.}.0.0.0.0.1.1 2.7.@.2 3.7.*.0 5.7.}.0.0.0.0.1.1 3.8.*.0 2.9.@.2 4.9.*.0 8.9.}.0.0.0.0.1.1 2.10.@.0 5.10.*.0 7.11.@.0 8.11.@.0 9.11.@.0 10.11.@.0 2.12.@.1 3.12.*.0 3.13.*.0 2.14.@.1 3.14.*.0 1.15.@.2 3.15.*.0 1.16.@.0 3.16.*.2 5.16.@.2 5.17.@.0 5.19.@.2 7.19.*.0 5.20.@.2 1.21.@.2 5.21.@.0 7.21.*.0 10.21.*.0 1.22.@.2 7.22.*.2 5.23.@.2 10.23.*.2 5.24.}.0.0.0.0.1.1 1.25.@.0 2.26.@.1 3.26.@.2 5.26.*.0 1.27.*.0 3.27.@.2 5.27.*.2 1.28.*.0 3.28.@.2 5.29.@.2 7.29.@.2 8.29.@.2 9.29.@.2 10.29.@.2 [end] [offset] 748C [level] 19 [colour] 75ae7f [size] 16.31 [author] Ela & Dawid [data] OOOOOOOOOOOOOOOO O'R.b.....bb..&O O'..b..@.b.b..TO O'..b...b..b..!O O...b..b...b...O Obbbb.@.b..bbb.O O........b.b.bbO O.b.b.....b....O O...........OOOO OOOOHOOOOOOOO^.O OT..H....^.....O OT..H..........O OT.TH.T^.......O OOOOOOOOODDDOOOO O?...........'%O OT.H.......HH..O O*.........H...O O*...@-.T.-@.@.O O*.............O O*.H.H....@....O OT......}.*..^TO OOOOOOOOOOOOOOOO OVVV*VVV**V*V}@O O*VV@V*VV@V}V@VO OVV}@VVV^VVVVVVO O**^*@V*VV^*}VVO OVVV}VVVVVV*@V}O O^VVVHHHH*VV***O OVVV^H..H^@^@^@O OT}VVH&TH^@@VVTO OOOOOOOOOOOOOOOO [additional] 62 14.1.&.3.0 7.2.@.3 6.5.@.3 13.9.^.0.0.0 9.10.^.0.0.0 7.12.^.0.0.0 1.16.*.0 1.17.*.0 5.17.@.1 11.17.@.0 13.17.@.3 1.18.*.0 1.19.*.0 10.19.@.2 8.20.}.3.0.0.1.0.0 10.20.*.0 13.20.^.1.0.0 4.22.*.0 8.22.*.0 9.22.*.0 11.22.*.0 13.22.}.0.0.0.0.1.1 14.22.@.2 1.23.*.0 4.23.@.2 6.23.*.0 9.23.@.2 11.23.}.0.0.0.0.1.1 13.23.@.2 3.24.}.0.0.0.0.1.1 4.24.@.2 8.24.^.1.0.0 1.25.*.0 2.25.*.0 3.25.^.0.0.0 4.25.*.0 5.25.@.2 7.25.*.0 10.25.^.0.0.0 11.25.*.0 12.25.}.0.0.0.0.1.1 4.26.}.0.0.0.0.1.1 11.26.*.0 12.26.@.2 14.26.}.0.0.0.0.1.1 1.27.^.1.0.0 9.27.*.0 12.27.*.0 13.27.*.0 14.27.*.0 4.28.^.3.0.0 9.28.^.1.0.0 10.28.@.2 11.28.^.1.0.0 12.28.@.2 13.28.^.3.0.0 14.28.@.2 2.29.}.3.0.1.0.0.0 6.29.&.3.1 9.29.^.1.0.0 10.29.@.2 11.29.@.2 [end] [offset] 768C [level] 20 [colour] 8a8d56 [size] 16.31 [author] Ela & Dawid [data] OOOOOOOOOOOOOOOO ORO???.T.?.T.??O O.OT...?..??.?.O O.OO...........O O.'O&.#.#.#.#..O O.'O...#.#.##..O O.OO........#..O O.O}...........O O.OOOOO}.......O O.TT.@.O.....^^O O..@.O.O...*...O O..OOO@O....***O O.@OT..O.......O O.OO..%O.T.....O O.....O.TT.....O O....O%...T....O O....O.T.......O O....OT.T......O OOOOHOOOOOOOOOOO O.@..T.T.@TT..}O O@.V.b..b...@..O O@.Vb##########O Ob.....T......}O O.}VOOOOOOOOOOOO O..V....&....??O OHHHH..?.!#....O OM...........@.O O.......#..@...O O........#.#.#.O O@.}..@.TTTT..MO OOOOOOOOOOOOOOOO [additional] 29 4.4.&.4.0 3.7.}.0.0.0.0.1.1 7.8.}.0.0.0.0.1.1 5.9.@.2 13.9.^.2.1.1 14.9.^.2.1.1 3.10.@.2 11.10.*.1 6.11.@.1 12.11.*.3 13.11.*.3 14.11.*.3 2.12.@.2 2.19.@.0 9.19.@.0 14.19.}.0.0.0.0.1.1 1.20.@.2 12.20.@.2 1.21.@.2 14.22.}.0.0.0.0.1.1 2.23.}.1.0.2.0.0.0 8.24.&.4.1 1.26.M.0 13.26.@.3 11.27.@.2 1.29.@.2 3.29.}.3.0.1.0.0.0 6.29.@.2 14.29.M.2 [end] [offset] 788C [level] 21 [colour] 6b7566 [size] 16.31 [author] Ela & Dawid [data] oooooooooooooooo o~R'~......^oT&o o~..~...@VVboTTo o~~~~.*.VV.DD..o o.........*.o.?o o....}..b.@@oooo o.ooooooooooooVo o...ooTTTo&.bHVo o..b.o?HHo?.bo'o o..b.oo%oo...ooo o..b.o?HHo@T.ooo o..b.oHHHo...D.o o....ooo.ooooo.o o..............o o.ooooooooooo..o o.o&.....bbbo..o o.o....bbb..o..o o.o..bbb....oooo o.obbbV....%oooo o.oooooooooooooo o....o.oTTTTTT.o o....o.oooooooDo o....D.........o o....o..@T..T*.o o....o.........o o....oTTTTTTTTTo o....ooooooooooo o........?o'..&o o^^^^....}o....o oTTTT....?o!..^o oooooooooooooooo [additional] 20 11.1.^.2.1.1 14.1.&.1.0 8.2.@.2 6.3.*.1 10.4.*.0 5.5.}.0.0.0.0.1.1 10.5.@.2 11.5.@.2 10.7.&.2.0 10.10.@.1 3.15.&.2.1 8.23.@.1 13.23.*.1 14.27.&.1.1 1.28.^.3.0.0 2.28.^.3.0.0 3.28.^.3.0.0 4.28.^.3.0.0 9.28.}.2.0.2.0.0.0 14.29.^.3.0.0 [end] [offset] 7A8C [level] 22 [colour] 8698ab [size] 16.31 [author] Ela & Dawid [data] QQQQQQQQQQQQQQQQ Q.........D...&Q Qbbbbb..@.DD...Q Q.TR'b....b...TQ Q.....b...D...!Q Qbbbbb..@.D....Q Q.........D....Q Q...b.?...DDDD.Q Q.?.....M.....DQ Q.....?........Q QM.......MQQQQQQ QQQQQDQQQQ****^Q Q@..bbbHH@*^***Q Q@.HHH^***@^^*^Q Q@@*@@@T*^@@.^@Q QQQQQQQQQDDDQQQQ Q?T@V@**@@bHV'%Q Q@@V#@***VbVVVVQ Q@**@VV@**Vb*VVQ Q@*@@V@VV*V@*@@Q QT&M@T}TV***VVTQ QQQQQQHQQQQQQQQQ Q*V*@@V@VVV***^Q Q&V@V@@VVVVVV@*Q QQQQQTTTTQQQQQQQ QT@@}QQQQ}V*VT*Q Q@**HVV@VH@V***Q QVV*@V@VV@VVVVTQ QV@#*@@@@VV*HHHQ QMVVV@VVVVVTH.&Q QQQQQQQQQQQQQQQQ [additional] 120 14.1.&.3.0 8.2.@.3 8.5.@.3 8.8.M.2 1.10.M.0 9.10.M.2 10.11.*.0 11.11.*.0 12.11.*.0 13.11.*.0 14.11.^.2.1.1 1.12.@.2 9.12.@.2 10.12.*.0 11.12.^.0.0.0 12.12.*.0 13.12.*.0 14.12.*.0 1.13.@.2 6.13.^.2.0.0 7.13.*.0 8.13.*.2 9.13.*.0 10.13.@.2 11.13.^.1.0.0 12.13.^.2.0.0 13.13.*.0 14.13.^.2.0.0 1.14.@.2 2.14.@.2 3.14.*.0 4.14.@.2 5.14.@.2 6.14.@.2 8.14.*.0 9.14.^.0.0.0 10.14.@.2 11.14.@.2 13.14.^.1.0.0 14.14.@.2 3.16.@.2 5.16.@.2 6.16.*.0 7.16.*.0 8.16.@.2 9.16.@.2 1.17.@.2 2.17.@.2 5.17.@.2 6.17.*.0 7.17.*.3 8.17.*.0 1.18.@.2 2.18.*.0 3.18.*.2 4.18.@.2 7.18.@.2 8.18.*.2 9.18.*.0 12.18.*.0 1.19.@.2 2.19.*.0 3.19.@.2 4.19.@.2 6.19.@.2 9.19.*.0 11.19.@.2 12.19.*.2 13.19.@.2 14.19.@.2 2.20.&.1.0 3.20.M.0 4.20.@.2 6.20.}.0.0.0.0.1.1 9.20.*.0 10.20.*.0 11.20.*.0 1.22.*.0 3.22.*.0 4.22.@.2 5.22.@.2 7.22.@.2 11.22.*.0 12.22.*.0 13.22.*.0 14.22.^.0.1.1 1.23.&.1.1 3.23.@.2 5.23.@.2 6.23.@.2 13.23.@.2 14.23.*.0 2.25.@.2 3.25.@.2 4.25.}.1.0.1.0.0.0 9.25.}.1.0.1.0.0.0 11.25.*.0 14.25.*.0 1.26.@.2 2.26.*.0 3.26.*.3 7.26.@.2 10.26.@.2 12.26.*.0 13.26.*.0 14.26.*.0 3.27.*.0 4.27.@.2 6.27.@.2 9.27.@.2 2.28.@.2 4.28.*.2 5.28.@.2 6.28.@.2 7.28.@.2 8.28.@.2 11.28.*.0 1.29.M.0 5.29.@.2 14.29.&.3.1 [end] [offset] 7C8C [level] 23 [colour] 9f826a [size] 16.31 [author] Ela & Dawid [data] ssssssssssssssss sR..TTs.....bb!s s....}s....sbbbs s.....~....sssss s.....s......s%s s.....s......sTs s&%.TTs@.....HVs ssssssssssssbsss s.TTT.TTsbbbbbbs s.@T..TTsV*%*.Vs s.......D.T.@.*s s...TTT.s@TV}@Ts sTT.T*..ssssssss sTT.....sbbbbbbs ssssDssssb....bs sTs....Tsb....bs s^s..s'%sb..T.bs s.s..ssssb.@T*bs s.s.....bb....bs s^s.....sb....bs sTH.....sbbbbbbs sssssbssssssssss sbbbbbbbsTTTTTTs sb@...*bsVVVVVVs sb..V..bs}VVVVVs sb..T.*bsVVVVVVs sb..@.VbsTTTTT&s sb*.T..bssssssss sbV...@bs...b..s sbbbbbbbs&'&s'Ts ssssssssssssssss [additional] 26 5.2.}.2.0.2.0.0.0 1.6.&.1.0 7.6.@.2 2.9.@.0 10.9.*.0 12.9.*.0 12.10.@.2 14.10.*.0 9.11.@.2 12.11.}.2.0.0.0.0.0 13.11.@.2 5.12.*.2 1.16.^.1.0.0 11.17.@.1 13.17.*.3 1.19.^.3.0.0 2.23.@.0 6.23.*.2 9.24.}.0.0.2.0.0.0 6.25.*.0 4.26.@.2 14.26.&.2.0 2.27.*.0 6.28.@.2 9.29.&.1.1 11.29.&.2.1 [end] [offset] 7E8C [level] 24 [colour] 7cd092 [size] 16.31 [author] Ela & Dawid [data] QQQQQQQQQQQQQQQQ Q&.T~...b....?!Q Q...~.....V....Q Q.R.~...b......Q Q..%~.........&Q QQQQQQQQQQQDQQQQ QT?....@.....''Q Q@..T..T..T....Q Q...T*....T@...Q Q......T@......Q QT...........%?Q QQQQQQQQQQDQQQQQ Q&T.@....VV.VV.Q QTT...V@.@V*TTTQ Q.*...V..*.*TT.Q Q...@...*@...T.Q QT..}.}T..}...TQ QQQQQQQQQQQQQQQQ QTT@@@VVVV*@^^^Q QTV@VVVV@V@@V@*Q Q&VVVVVV@@@V@**Q QQQTTTQQTTTTQQQQ QMMQQQTTQQQQ*T'Q QTV}*******}*V*Q QVVV*}******VVVQ QV@@@@@@@@@@*VVQ Qbbb@@@@@@*@@V}Q QVVbVVVVVVVV@VVQ QVVbVVHHHHVVVVVQ QTVbVVH&.HVVVVTQ QQQQQQQQQQQQQQQQ [additional] 87 1.1.&.3.0 14.4.&.1.0 7.6.@.2 1.7.@.0 5.8.*.2 11.8.@.3 8.9.@.3 1.12.&.2.0 4.12.@.0 7.13.@.3 9.13.@.2 11.13.*.0 2.14.*.2 9.14.*.0 11.14.*.2 4.15.@.2 8.15.*.3 9.15.@.0 4.16.}.3.0.1.0.0.0 6.16.}.0.0.1.0.0.0 10.16.}.3.0.1.0.0.0 3.18.@.2 4.18.@.2 5.18.@.2 10.18.*.0 11.18.@.2 12.18.^.2.1.1 13.18.^.2.1.1 14.18.^.0.1.1 3.19.@.2 8.19.@.2 10.19.@.2 11.19.@.2 13.19.@.2 14.19.*.0 1.20.&.2.1 8.20.@.2 9.20.@.2 10.20.@.2 12.20.@.2 13.20.*.0 14.20.*.0 1.22.M.0 2.22.M.2 12.22.*.0 3.23.}.1.0.1.0.0.0 4.23.*.0 5.23.*.0 6.23.*.0 7.23.*.0 8.23.*.0 9.23.*.0 10.23.*.0 11.23.}.1.0.1.0.0.0 12.23.*.0 14.23.*.0 4.24.*.0 5.24.}.1.0.1.0.0.0 6.24.*.0 7.24.*.0 8.24.*.0 9.24.*.0 10.24.*.0 11.24.*.0 2.25.@.2 3.25.@.2 4.25.@.2 5.25.@.2 6.25.@.2 7.25.@.2 8.25.@.2 9.25.@.2 10.25.@.2 11.25.@.2 12.25.*.0 4.26.@.2 5.26.@.2 6.26.@.2 7.26.@.2 8.26.@.2 9.26.@.2 10.26.*.0 11.26.@.2 12.26.@.2 14.26.}.0.0.0.0.1.1 12.27.@.2 7.29.&.1.1 [end] [offset] 808C [level] 25 [colour] 6cd99b [size] 16.31 [author] Ela & Dawid [data] pppppppppppppppp pR...bbbbb@bbbbp p''.....bbbbbbbp p''....bbb@bbb%p p......bbbbbbppp pbbb...bbbbbbpTp pbbb...bbbbbbpVp p..b...bbbbb.pVp p'.b...bbbbb.HVp pppppppppbpppppp p......&p.....&p p.#.....p....ppp pHppppppp..@.pTp p......}p....p*p p...T@.p.....p*p pb....p..@...p.p p.T..p.......p@p p...p........H@p p#pppppppppppppp p.......@bbbbbbp p..*.V*..b...Vbp p...T?.V.b.T..bp p*V.?T@.Vb.TV.bp p.@.V*.@.bV...bp p*.V*....bbbbbbp pppppppppppDpppp p&.~.b^^p^...V.p p.......p...V.Vp p.......pHHHHHHp p!....TTp&}.TTTp pppppppppppppppp [additional] 28 10.1.@.2 10.3.@.2 7.10.&.1.0 14.10.&.1.1 11.12.@.3 7.13.}.2.0.2.0.0.0 14.13.*.0 5.14.@.3 14.14.*.2 9.15.@.3 14.16.@.2 14.17.@.2 8.19.@.0 3.20.*.1 6.20.*.1 1.22.*.3 6.22.@.3 2.23.@.0 5.23.*.2 7.23.@.3 1.24.*.0 4.24.*.0 1.26.&.2.0 6.26.^.1.0.0 7.26.^.1.0.0 9.26.^.0.1.1 9.29.&.2.1 10.29.}.0.0.0.0.1.1 [end] [offset] 828C [level] 26 [colour] ad414f [size] 16.31 [author] Ela & Dawid [data] OOOOOOOOOOOOOOOO OTTTTTTTHbbbbbbO O.......Obbbb'bO O.......ObbbbbbO O.......OOOObOOO O.......O&....TO O.......O......O O.......O...T..O O.......O...*..O O.......O.....^O O.......OOOOOOOO O.......OT.....O O.......OVVVVV}O O.......OVTV..VO O.......OVV@*bVO O.......OVVVVbVO O^^^^^^^OOOOODOO O.........&O.V%O O.........'O'.VO O.........'OV..O O.......OOOOObOO O.......O&.....O O^^^^^^^O......O O.......O......O O.......OOOOOObO O.......O!bb~bbO O.......OOOOOOOO O.......O.....&O O.......O......O O...........R..O OOOOOOOOOOOOOOOO [additional] 23 9.5.&.2.0 12.8.*.2 14.9.^.3.0.0 14.12.}.2.0.2.0.0.0 11.14.@.2 12.14.*.0 1.16.^.1.0.0 2.16.^.1.0.0 3.16.^.1.0.0 4.16.^.1.0.0 5.16.^.1.0.0 6.16.^.1.0.0 7.16.^.1.0.0 10.17.&.1.0 9.21.&.1.1 1.22.^.3.0.0 2.22.^.3.0.0 3.22.^.3.0.0 4.22.^.3.0.0 5.22.^.3.0.0 6.22.^.3.0.0 7.22.^.3.0.0 14.27.&.2.1 [end] [offset] 848C [level] 27 [colour] 7892c9 [size] 16.31 [author] Ela & Dawid [data] PPPPPPPPPPPPPPPP PP..R'TP~!~PVVVP PP.....'~~~P???P PP....bP...P???P PP..T..P...P???P PP.....PTT.D...P PP.....PTTTPT.TP PP.....P...PT.TP PP..T.TPTT.PT.TP PP.PP.PPPPPPP.PP PP.PbbbP...PbbbP PP.Pb**P...Pb.bP PP.PbbVbV@*Pb.bP PP.Pbb*PVVVPb@.P PP.P*@@PVTTPb@'P PP.PPbPPPPPPb@'P PPTPbbbP..TPb@'P PPTPbbbP.#}Pb*TP PPTPbVbP..}Pb*TP PPTPVVVP.#}Pb*}P PPTPVV}P..}Pb*bP PP%PVV}P.#}Pb*}P PP'PVVVP...Pb*bP PP'P&VVP&.&PbbbP PPPPPPPPPPPPPPPP P.....H..~..^..P P..*P.HHHHHHHHHP P.....HHHHHHHHHP P.....HHHHHHHHHP P&....HHHHTTTTTP PPPPPPPPPPPPPPPP [additional] 33 5.11.*.0 6.11.*.2 9.12.@.2 10.12.*.0 6.13.*.0 13.13.@.2 4.14.*.0 5.14.@.2 6.14.@.2 13.14.@.2 13.15.@.2 13.16.@.2 10.17.}.2.0.2.0.0.0 13.17.*.0 10.18.}.2.0.2.0.0.0 13.18.*.0 10.19.}.2.0.2.0.0.0 13.19.*.0 14.19.}.0.0.0.0.1.1 6.20.}.0.0.0.0.1.1 10.20.}.2.0.2.0.0.0 13.20.*.0 6.21.}.0.0.0.0.1.1 10.21.}.2.0.2.0.0.0 13.21.*.0 14.21.}.0.0.0.0.1.1 13.22.*.0 4.23.&.3.0 8.23.&.4.0 10.23.&.3.1 12.25.^.0.1.1 3.26.*.3 1.29.&.4.1 [end] [offset] 868C [level] 28 [colour] a674b3 [size] 16.31 [author] Ela & Dawid [data] oooooooooooooooo o&'T#.....?bVVVo o.''#.......bbbo oT%R#...@..bbbbo o####.....bbbb!o o.....@..bbbbbbo o.......bbbb@@bo o...bbbbbbb@@@bo o.@...@bbbb@TVbo ooooooooooooooDo oT'..........b'o o........#....bo o.M........@...o o....H...#.H...o o....@..T....V.o o..............o o..........@T.Mo o...H...oooooooo oT...@.oo^....Vo oDoooooo%.VVV..o oV.VVV..^.VVV..o oV.VTV....^...Vo oobooooooooooooo o@@@@@VV@@VVVV^o ooooT@VV@@@ooTTo oTTToTTTV@oDTooo o@#@%oooTTDDoo%o o@@@@@@@oooo***o o@@@@@@@VHHHV#}o oT@M}@@@V}.&M.Ho oooooooooooooooo [additional] 62 1.1.&.1.0 8.3.@.3 6.5.@.3 12.6.@.2 13.6.@.2 11.7.@.2 12.7.@.2 13.7.@.2 2.8.@.2 6.8.@.2 11.8.@.2 2.12.M.0 11.12.@.2 5.14.@.0 11.16.@.2 14.16.M.2 5.18.@.2 9.18.^.0.1.1 8.20.^.0.0.0 10.21.^.0.0.0 1.23.@.2 2.23.@.2 3.23.@.2 4.23.@.2 5.23.@.2 8.23.@.2 9.23.@.2 14.23.^.0.1.1 5.24.@.2 8.24.@.2 9.24.@.2 10.24.@.2 9.25.@.2 1.26.@.2 3.26.@.2 1.27.@.2 2.27.@.2 3.27.@.2 4.27.@.2 5.27.@.2 6.27.@.2 7.27.@.2 12.27.*.0 13.27.*.0 14.27.*.0 1.28.@.2 2.28.@.2 3.28.@.2 4.28.@.2 5.28.@.2 6.28.@.2 7.28.@.2 14.28.}.3.0.1.0.0.0 2.29.@.2 3.29.M.2 4.29.}.0.0.1.0.0.0 5.29.@.2 6.29.@.2 7.29.@.2 9.29.}.2.0.1.0.0.0 11.29.&.1.1 12.29.M.0 [end] [offset] 888C [level] 29 [colour] b5a7a2 [size] 16.31 [author] Ela & Dawid [data] ssssssssssssssss sR'..bbbs&'..bbs s...bbbbs....bbs s...bbbbs..bbbbs s..bb..bsbbbbbbs s..bbb..sbbbb..s s..bbb.&sbbbb.&s ssssssssssssssss s.............&s s..............s sbbbbbbbbbbbbbbs s..............s s..............s s..............s s}............}s ss............ss s}............}s ss............ss s}............}s ss............ss s}............}s ss............ss s}............}s ss............ss s}............}s ss............ss s}............}s ss............ss s}............}s ss...........!ss ssssssssssssssss [additional] 20 9.1.&.1.0 7.6.&.1.1 14.6.&.2.0 14.8.&.2.1 1.14.}.0.0.2.0.0.0 14.14.}.2.0.2.0.0.0 1.16.}.0.0.2.0.0.0 14.16.}.2.0.2.0.0.0 1.18.}.0.0.1.0.0.0 14.18.}.2.0.1.0.0.0 1.20.}.0.0.2.0.0.0 14.20.}.2.0.2.0.0.0 1.22.}.0.0.0.0.0.0 14.22.}.2.0.0.0.0.0 1.24.}.0.0.0.0.0.0 14.24.}.2.0.0.0.0.0 1.26.}.0.0.1.0.0.0 14.26.}.2.0.1.0.0.0 1.28.}.0.0.1.0.0.0 14.28.}.2.0.1.0.0.0 [end] [offset] 8A8C [level] 30 [colour] b58887 [size] 16.31 [author] Ela & Dawid [data] oooooooooooooooo o%%o?..bbbbbb%oo o%HRoT.......o^o o.H.'oT..#.#obbo o.HH.'o...#oV@bo o...H.'oT.oT.Vbo o....HH!o..o@*bo o.....%o....obbo o....To....obb.o o....oo...ob...o oT&..DD#..bb.MTo ooooooooDooooooo o........o@@@@@o o.bbb}bb.o@...@o o........o@..b@o o}......}o@.&b@o o........D@.bb.o o........o?...?o o}...@@.}oTTTTTo o........oTTTTTo o........ooooooo o}......}ooooooo o........oTVVVTo o........o*VVVVo o}......}o*VTVVo o........#*VVVMo o........o*VTV@o o@@@@@@@.o*VVV@o oHHHHHHHHo**@@@o oTTTTTTTToT@@}To oooooooooooooooo [additional] 53 14.2.^.0.1.1 13.4.@.2 12.6.@.2 13.6.*.0 2.10.&.4.0 13.10.M.2 10.12.@.2 11.12.@.0 12.12.@.0 13.12.@.0 14.12.@.2 5.13.}.1.0.2.0.0.0 10.13.@.2 14.13.@.2 10.14.@.2 14.14.@.2 1.15.}.0.0.0.0.0.0 8.15.}.2.0.1.0.0.0 10.15.@.2 12.15.&.4.1 14.15.@.0 10.16.@.2 1.18.}.0.0.0.0.0.0 5.18.@.1 6.18.@.3 8.18.}.2.0.1.0.0.0 1.21.}.0.0.0.0.0.0 8.21.}.2.0.1.0.0.0 10.23.*.0 1.24.}.0.0.0.0.0.0 8.24.}.2.0.1.0.0.0 10.24.*.0 10.25.*.0 14.25.M.2 10.26.*.0 14.26.@.2 1.27.@.2 2.27.@.2 3.27.@.2 4.27.@.2 5.27.@.2 6.27.@.2 7.27.@.2 10.27.*.0 14.27.@.2 10.28.*.0 11.28.*.0 12.28.@.2 13.28.@.2 14.28.@.2 11.29.@.2 12.29.@.2 13.29.}.3.0.0.1.0.0 [end] [offset] 8C8C [level] 31 [colour] 7fca8c [size] 16.31 [author] Ela & Dawid [data] PPPPPPPPPPPPPPPP P&....P........P P.....P........P P...R.'........P PHHHHHP.*TTTTT.P PHHHHHP........P PTTTTTP....b...P PPPPPPPPPPP}PPPP PPPPPPPP......'P PPTT}*PP....PPPP PP*@*@PP....P'TP PPV*TTPP....P..P PPT@&TPP....P..P PP.}.VPP....P..P PPTT.Vbb....PP.P PPPPPPPP.....H^P PPPPPPPP?PPPPPPP P.TT@.P...~~~P?P P%@...b...~.!P?P PT@...P...~..P?P PPPPPPP...~~~P?P P}.@VVP......P?P PVVTVVD......P?P PVV..VP.......?P PPPPPPPPPP.PPPPP P&..P.........&P P...P..T*.?.^..P PTTTP.....@....P PTTTP?.........P PTTTP......??#}P PPPPPPPPPPPPPPPP [additional] 25 1.1.&.1.0 8.4.*.3 11.7.}.1.0.1.0.0.0 4.9.}.1.0.2.0.0.0 5.9.*.0 2.10.*.0 3.10.@.2 4.10.*.0 5.10.@.2 3.11.*.0 3.12.@.2 4.12.&.1.1 3.13.}.3.0.2.0.0.0 14.15.^.3.0.0 4.17.@.0 2.18.@.2 2.19.@.2 1.21.}.1.0.0.0.0.0 3.21.@.2 1.25.&.6.0 14.25.&.6.1 8.26.*.1 12.26.^.0.0.0 10.27.@.0 14.29.}.0.0.0.0.1.1 [end] [offset] 8E8C [level] 32 [colour] 72bbc8 [size] 16.31 [author] Ela & Dawid [data] pppppppppppppppp pTTTTp@@@@VbT.&p pp.^.ppppppppppp pT...%........&p pT...p........Tp pT...p..ppp...pp pp...p..ppppp%pp pT...p..pTpp..&p pp...p..p.p..ppp p%...TpTp.p.pppp pp...p.pp.p.pppp p%....p.p^p@pTTp pp....p.....DTTp p%....%.....pTTp ppppppppM.Mppppp p...p..........p p...ppppp.pppppp p..&p.......pHTp pp##p...b..ppHHp p..........p...p p}...#.....Hbbbp pppppppppppppppp p&.....^...^..!p ppppppppppMbMppp p.....&p&p...p&p p......p.p...pTp p.R....p.p...pTp p..TppTp&pMbMpTp p..pp'pppp...pTp p&.DD.........Tp pppppppppppppppp [additional] 26 6.1.@.2 7.1.@.2 8.1.@.2 9.1.@.2 14.1.&.2.0 3.2.^.1.0.0 14.3.&.4.0 14.7.&.2.1 9.11.^.0.0.0 11.11.@.1 8.14.M.0 10.14.M.2 3.17.&.3.0 1.20.}.0.0.2.0.0.0 1.22.&.2.2 7.22.^.2.0.0 11.22.^.0.0.0 10.23.M.0 12.23.M.2 6.24.&.4.1 8.24.&.1.0 14.24.&.1.1 8.27.&.2.3 10.27.M.0 12.27.M.2 1.29.&.3.1 [end] gnurobbo-0.66+dfsg/data/levels/k-robbo.dat0000644000175000017500000024540511306516562017506 0ustar stevesteve[name] K-Robbo [last_level] 95 [notes] This levelset is a result of four level sets merge. The levelsets are k-robbo 1,2,3,4. I don't know yet if they are possible to finish [offset] 5096 [level] 1 [colour] 78c67f [size] 16.31 [author] St.Kenig Krasnik [data] s}ssssssssssssss s..b..T.^.T..R's s.ssssssssssssss s..TH@.VT.^.T..& ssssssssssssssss &..^.T.V.@b.~..& ssssssssssssssss sTTT...........& ssssss..^..sssss s.....sTTTs....s s.TTT.ss'ss....s s.T#T..?.?..bT.s s.TTTT.T.T.TTT.s s*.*...s.s..*.*s ssssssssTsssssss ssVsVsVs.sVsVsVs ssbsbsbs.sbsbsbs ss.s.s.s.s.s.s.s ssTsTsTs.sTsTsTs s.T.T.T...T.T.Ts ss.............s ss.............s ss.............s ss}.}.}.}.}.}.}s ssssssss?sssssss s?............?s s..ssssssssss..s s.s!..@TTTTTT..s s..ssssssssss..s s?............?s ssssssssssssssss [additional] 23 1.0.}.1.0.1.0.0.0 8.1.^.0.1.1 5.3.@.2 10.3.^.2.0.0 15.3.&.1.0 0.5.&.2.0 3.5.^.0.1.1 9.5.@.2 15.5.&.1.1 15.7.&.2.1 8.8.^.2.0.0 1.13.*.0 3.13.*.0 12.13.*.0 14.13.*.0 2.23.}.3.0.1.0.0.0 4.23.}.3.0.1.0.0.0 6.23.}.3.0.1.0.0.0 8.23.}.3.0.1.0.0.0 10.23.}.3.0.1.0.0.0 12.23.}.3.0.1.0.0.0 14.23.}.3.0.1.0.0.0 6.27.@.2 [end] [offset] 5296 [level] 2 [colour] 7176a9 [size] 16.31 [author] St.Kenig Krasnik [data] oooooooooooooooo oT.....T.o....%o o.......?&.T*..o o..@b....o.T...o o...T....o....Ro o..@b....ooooooo o.............?o oT.............o o...T.T..T.T...o o..oooooooooo..o o....@....@....o o..............o oT...^....T....o ooooooooooooTooo oT............}o oooToooooooooooo oT............}o oooooooDoooooooo o..?.........?.o o..............o oT.^.T...^....Mo o.............%o o'.^.T...^....Mo o.............To oT.^.T...^....Mo o.....TT.......o oooooo&#oooooooo oT.............o o.@b.....!'??@.o oT.............o oooooooooooooooo [additional] 21 9.2.&.1.0 12.2.*.1 3.3.@.1 3.5.@.1 5.10.@.0 10.10.@.0 5.12.^.2.0.0 14.14.}.2.0.1.0.0.0 14.16.}.2.0.1.0.0.0 3.20.^.0.0.0 9.20.^.0.0.0 14.20.M.2 3.22.^.0.0.0 9.22.^.0.0.0 14.22.M.2 3.24.^.0.1.1 9.24.^.0.0.0 14.24.M.2 6.26.&.1.1 2.28.@.1 13.28.@.3 [end] [offset] 5496 [level] 3 [colour] a98058 [size] 16.31 [author] St.Kenig Krasnik [data] OOOOOOOOOOOOOOOO O......R.......O O..OO.....OO...O O.OTTO.#.OTTO..O O.T..?.^.?..T..O O.T^^T.#.T^^T..O O.T..?.^.?..T..O O.OTTO.#.OTTO..O O.@OO.....OO@..O O..............O O..............O O?.....^......?O O..............O O.....###......O OT.@##%'T##...TO O....@###......O O..............O O..............O O..OOOOOOOOOO..O O.T.^.T^.T.^.T.O O..............O O.^..^...^...^.O OOOOOOODOOOOOOOO OT...*.*.*.*...O O..............O O..OOOOOOOOOOO.O O..OTT'O!O'TTO.O O..O.^.......O.O O..OOOOOTOOOOO.O OT.............O OOOOOOOOOOOOOOOO [additional] 23 7.4.^.0.0.0 3.5.^.3.0.0 4.5.^.3.0.0 10.5.^.3.0.0 11.5.^.3.0.0 7.6.^.0.0.0 2.8.@.0 12.8.@.0 7.11.^.0.0.0 3.14.@.1 5.15.@.0 4.19.^.0.0.0 7.19.^.0.0.0 11.19.^.0.0.0 2.21.^.0.1.1 5.21.^.0.1.1 9.21.^.0.1.1 13.21.^.0.1.1 5.23.*.2 7.23.*.2 9.23.*.2 11.23.*.2 5.27.^.0.1.1 [end] [offset] 5696 [level] 4 [colour] 719d8d [size] 16.31 [author] St.Kenig Krasnik [data] PPPPPPPPPPPPPPPP P}}}P^.........P P...P..PPPPPPP.P P...P.PT.T...P.P PTTTP.&..'...H.P PTTTP.PT.T..*P.P PTTTP..PPPPPPP.P PTTTPT.........P PTTTP..TTTTTT..P PTPPPPPPPPPPPPTP P.T..........T.P P..............P P.....###......P P....#T.T#.....P PT..#?.R?&#...TP P....#T.T#.....P P....@###@.....P P..............P P.T*...T....*..P PTPPPPPPPPPPPPTP P..^...^.......P P..............P P.PPPPPPPPPPP..P P.PTT.....TTP..P P.P!...VVV..H..P P.PTT.....TTP..P P.PPPPPPPPPPP..P P..............P P.TTT...^......M P..T?T?T?T?T~..P PPPPPPPPPPPPPPPP [additional] 15 1.1.}.1.0.1.0.0.0 2.1.}.1.0.1.0.0.0 3.1.}.1.0.1.0.0.0 5.1.^.0.1.1 6.4.&.1.0 12.5.*.0 9.14.&.1.1 5.16.@.0 9.16.@.0 3.18.*.0 12.18.*.0 3.20.^.0.0.0 7.20.^.0.0.0 8.28.^.0.0.0 15.28.M.2 [end] [offset] 5896 [level] 5 [colour] b2b05f [size] 16.31 [author] St.Kenig Krasnik [data] PPPPPPPPPPPPPPPP PTPTPTPTPTPTP'RP P.P.P.P.P.P.P..P P...........HHHP P.P.P.P.P.P.P..P P.P.P.P.P.P.P..P P.P.P.P.P.P.P@.P P.P.P.P.P.P.P..P P.P.P.P.P.P.P.TP P}P}P}P}P}P}P&PP PPPPPPPPPPPPP.PP P..............P P..............P P.T*.T@.*T..@T.P P..............P PPP&PPPPPPPPPPPP P..............} P.....PHP......P P.TT.P...P.TTT.P PPPPP.....PPPPPP P..............P PVVVVVVVVVVVVV.P P..V.##H##.V...P P..V.#@.@#.V...P P.?V.#.!.#.V.?.P P.?V.#####.V.?.P P.?V.......V.?.P P.?VVVVVVVVV.?.P P.?..........?.P P......~.......P PPPPPPPPPPPPPPPP [additional] 16 13.6.@.3 1.9.}.3.0.1.0.0.0 3.9.}.3.0.1.0.0.0 5.9.}.3.0.1.0.0.0 7.9.}.3.0.1.0.0.0 9.9.}.3.0.1.0.0.0 11.9.}.3.0.1.0.0.0 13.9.&.1.0 3.13.*.1 6.13.@.3 8.13.*.3 12.13.@.1 3.15.&.2.0 15.16.}.2.0.2.0.0.0 6.23.@.0 8.23.@.0 [end] [offset] 5A96 [level] 6 [colour] 77a4ac [size] 16.31 [author] St.Kenig Krasnik [data] OOOOOOOOOOOOOOOO O%.....T'T...R%O O.......T......O O...#*.....#@..O O...*......@...O O.?..........?.O OOOODOOOOOODOOOO O.?...?OO?...?.O O......OO......O OT.^...MM..^..TO O......OO......O O.^....MM...^..O O.T%TT.OO.TT%T.O ODOOOOOOOOOOOODO O..............O O..T.T.T.T.T@..O O...'TbTbTbTT..O O..T@T.T@T..T..O O..............O O}OOOOOOOOOOOO}O O..............O O.....O}O......O O....O...O@....O O^.?.?T!T?.?.^.O O....O.?.O.....O O....@OTO......O O..............O M..............M O..............O O.TTTTTTTTTTTT.O OOOOOOOOOOOOOOOO [additional] 24 5.3.*.1 12.3.@.3 4.4.*.2 11.4.@.0 3.9.^.0.0.0 7.9.M.2 8.9.M.0 11.9.^.0.0.0 2.11.^.0.1.1 7.11.M.2 8.11.M.0 12.11.^.0.1.1 12.15.@.2 4.17.@.0 8.17.@.0 1.19.}.3.0.1.0.0.0 14.19.}.3.0.1.0.0.0 7.21.}.1.0.1.0.0.0 10.22.@.3 1.23.^.0.0.0 13.23.^.0.0.0 5.25.@.0 0.27.M.0 15.27.M.2 [end] [offset] 5C96 [level] 7 [colour] 819663 [size] 16.31 [author] St.Kenig Krasnik [data] QQQQQQQQQQQQQQQQ Q....&'.&.^...RQ Q.TT.QQQQ..QQQ}Q Q.TT.TTTT...TTTQ Q@...Q..Q.T.Q*.Q QQQQQQ^^QQQQQ^^Q Q..........^...M Q.b*b..........Q Q.....TTTTbTTT'Q QQQQQQQQ&QQQQQHQ QV?VVVV#.#VVVVVQ QVVVVVV#.#VVVVVQ QVVVVVVH.HVVVVVQ QV?VVVV#.#VVVVVQ QQQ&QQQQQQQQQQQQ Q?............?Q Q...TTTTTTTT'..Q Q...TTTTTTTT'..Q Q?....@.@.@.@.?Q QQQQQQQ&QQQQQQQQ Q..............Q Q.Q.Q.Q.Q.Q.QQ.Q Q..QTQTQ%QTQTQ.Q Q..Q*Q.Q*Q.Q*Q.Q Q..Q.Q.Q.Q.Q.Q.Q Q..............Q Q..?..........?Q QDQQQQQQQQQQQQQQ Q..........^..!Q Q.......^......Q QQQQQQQQQQQQQQQQ [additional] 25 5.1.&.2.0 8.1.&.1.0 10.1.^.1.0.0 14.2.}.1.0.1.0.0.0 1.4.@.2 13.4.*.0 6.5.^.0.0.0 7.5.^.0.0.0 13.5.^.0.0.0 14.5.^.0.0.0 11.6.^.0.0.0 15.6.M.2 3.7.*.3 8.9.&.3.0 3.14.&.4.0 6.18.@.2 8.18.@.2 10.18.@.2 12.18.@.2 7.19.&.5.0 4.23.*.2 8.23.*.2 12.23.*.2 11.28.^.2.0.0 8.29.^.2.0.0 [end] [offset] 5E96 [level] 8 [colour] 9551b9 [size] 16.31 [author] St.Kenig Krasnik [data] oooooooooooooooo oVVVVVVVooooo'Ro oV.T?.V.H.^..''o oVVVVVb.oooooooo oDoooooo@T@T@T.o o.T.T.T........o o.............@o oooooooooooooo&o o}.............o o....^...o.....o o....^...o.#*..o o?T?%~T??o.....o ooooooooooooDooo oT......^.....To o.ooooo##ooooo.o o.o.T.o..o.T.o.o o.o...o.~o...o.o o.o.T.o..o.T.o.o o.o...o~.o...o.o o.o.T.o.^o.T.o.o o.o...o^.o...o.o o.o.T.o..o.T.o.o o.o...o.~o...o.o o^o.T.o..o.T.o^o o.o...o.^o...o.o o.o.T.o~.o.T.o.o o.o...o%.o...o.o o.o.}.o?%o.}.o.o o.oDooooooooDo.o oT..^.'!..^...To oooooooooooooooo [additional] 20 10.2.^.0.0.0 8.4.@.0 10.4.@.0 12.4.@.0 14.6.@.2 14.7.&.1.0 1.8.}.0.0.1.0.0.0 5.9.^.0.0.0 5.10.^.0.0.0 12.10.*.1 8.13.^.2.0.0 8.19.^.3.0.0 7.20.^.3.0.0 1.23.^.1.0.0 14.23.^.1.0.0 8.24.^.3.0.0 4.27.}.3.0.1.0.0.0 11.27.}.3.0.1.0.0.0 4.29.^.2.0.0 10.29.^.2.0.0 [end] [offset] 6096 [level] 9 [colour] 6d61b1 [size] 16.31 [author] St.Kenig Krasnik [data] OOOOOOOOOOOOOOOO OT..TO..R..OT.TO O^...OT.'.TO^..O O....OOO&OOO...O O}............}O O..T.T.T.T.T.T.O OOOOOOOO.OOOOOOO O......O.O.....O O.TTTT.O&O.TTT.O O*T@.T.O.O.T@T*O O.T..T.O^O.T.T.O O*T..T.&.&.T.T*O O.TTTT.O.O.TTT.O O......O.O.....O OOOOOOOT.TOOOOOO O......OTO.....O O.TTTT.O&O.TTT.O O@T@.T.O.O@T@T.O O.T..T.O~O.T.T.O O.TTTT.O.O.TTT.O O......O^O.....O OOOOHOOO.OOOOHOO O'.....ObO.T...O OT....TO.O...T.O O..T...O.O..T..O O....T.O.O...T.O O...T..O^O.T..TO O.T....ObO.....O O......D.D.....O O..}.}.O!O..}..O OOOOOOOOOOOOOOOO [additional] 25 1.2.^.0.0.0 12.2.^.0.0.0 8.3.&.1.0 1.4.}.0.0.2.0.0.0 14.4.}.2.0.2.0.0.0 8.8.&.2.0 1.9.*.3 3.9.@.0 12.9.@.0 14.9.*.3 8.10.^.1.0.0 1.11.*.3 7.11.&.3.0 9.11.&.4.0 14.11.*.3 8.16.&.6.0 1.17.@.1 3.17.@.0 10.17.@.1 12.17.@.0 8.20.^.1.0.0 8.26.^.1.0.0 3.29.}.3.0.0.1.0.0 5.29.}.3.0.0.1.0.0 12.29.}.3.0.0.1.0.0 [end] [offset] 6296 [level] 10 [colour] a28352 [size] 16.31 [author] St.Kenig Krasnik [data] .~.............. .--------------. %-............-. .-.----------.-. .-.-..@..@..-... .-T-.------.-.-. .-.-.-....-.-.-. .-.-@-.T..-.-.-. .-.-.-.?.@-.-.-. .-.-.-.T..-.-.-. .-.-@-.T..-.-.-. .-.-.-.'.@-.-.-. .-.-.-.!..-.-.-. .-.-@-.T..-.-.-. .-.-.-.T.@-.-.-. .-.-.-.?..-.-.-. .-.-@-.T..-.-.-. .-.-.-.?.@D.-.-. .-.-.-.T..-.-.-. .-.-@-.?..-.-.-. .-.-.-.T.@-.-.-. R-.-.-.?..-.-.-. .-.-@-.T..-.-.-. .-.-.-.T.@-.-.-. .-.-T-....-.-.-. .-.-.------.-.-. .-.-..........-. .-.----------.-. T-.............. .--------------. ........T....... [additional] 14 6.4.@.2 9.4.@.2 4.7.@.1 9.8.@.1 4.10.@.1 9.11.@.1 4.13.@.1 9.14.@.1 4.16.@.1 9.17.@.1 4.19.@.1 9.20.@.1 4.22.@.1 9.23.@.1 [end] [offset] 6496 [level] 11 [colour] 7accb0 [size] 16.31 [author] St.Kenig Krasnik [data] ssssssssssssssss s......ss......s s.TTTT.ss.TTTT.s s.s&.T.ss.s&.T.s s.TTTT.ss.TTTT.s s..*...ss...@..s ssssssssssssssss s?..*...*...*.?s s..............s s.#TTTT&TTTTT#.s s..............s s?............?s sssssssTTsssssss s'.....^......Ms s'.....^......Ms ssssTssTTssTssss s?............?s s.^^^^.TT.^^^^.s s..............s s.ssssssssssss.s s.?....??....?.s s...@s...@s....s s...TsT..TsT...s s...TsT..TsT...s s....@....@....s s.?..........?.s sssssss?ssssssss s.^.........^..s s..............s s.^.TTT!'TT...Rs sssssss&ssssssss [additional] 28 3.3.&.1.0 11.3.&.1.1 3.5.*.0 12.5.@.2 4.7.*.2 8.7.*.2 12.7.*.2 7.9.&.1.2 7.13.^.0.0.0 14.13.M.2 7.14.^.0.0.0 14.14.M.2 2.17.^.0.0.0 3.17.^.0.0.0 4.17.^.0.0.0 5.17.^.0.0.0 10.17.^.0.0.0 11.17.^.0.0.0 12.17.^.0.0.0 13.17.^.0.0.0 4.21.@.2 9.21.@.2 5.24.@.0 10.24.@.0 2.27.^.0.0.0 12.27.^.0.0.0 2.29.^.0.0.0 7.30.&.1.3 [end] [offset] 6696 [level] 12 [colour] a5b8a0 [size] 16.31 [author] St.Kenig Krasnik [data] TTTTTTT....TTTTT TTbbbbbb.bbbbbTT Tb######.#####b. .b#..........#b. .b#..........#b. .b#...OO#OO..#b. .b#..O@....O.#b. ^b#...O...O..#b^ .b#..O....@O.#bT Tb#...O...O..#b. .b#..O@....O.#b. .b#*..O...O..#b. ^b#..O....@O.#b^ .b#...O.'.O..#b. .b#..O@.!..O.#b. .b#...O.T.O..#bT Tb#*.O.....O.#bT Tb#...O...O..#b. .b#..O..R..O.#b. .b#...O...O..#b. ^b#..O....@O.#b^ .b#...O...O..#b. .b#*.O.....O.#b. .b#...O...O..#b. .b#..O.....O.#bT Tb#...OOOOO..#b. .b#..........#b. .b#.....'....#b. ^b############b. .TbbbbbbbbbbbbT. T.^...T...T^..TT [additional] 18 6.6.@.2 0.7.^.1.0.0 15.7.^.1.0.0 10.8.@.2 6.10.@.2 3.11.*.1 0.12.^.1.0.0 10.12.@.2 15.12.^.1.0.0 6.14.@.2 3.16.*.1 0.20.^.1.0.0 10.20.@.2 15.20.^.1.0.0 3.22.*.1 0.28.^.1.0.0 2.30.^.2.0.0 11.30.^.2.0.0 [end] [offset] 6896 [level] 13 [colour] b3b06d [size] 16.31 [author] St.Kenig Krasnik [data] ^^^^^^^^^^^^^^^^ ^?............?^ ^..T...R....T..^ ^..o...TT...o..^ ^.ToT..TT..ToT.^ ^..o...TT...o..^ ^.@o...TT...o..^ ^..o...TT...o..^ ^..o...TT*..o..^ ^.ToT..TT..ToT.^ ^..o...TT...o..^ ^.@o...TT..*o..^ ^..o...TT*..o..^ ^.ToT..TT..ToT.^ ^..o...TT...o..^ ^.@o...TT..*o..^ ^..o...TT*..o..^ ^.ToT..TT..ToT.^ ^..o...TT...o..^ ^.@o...TT..*o..^ ^..o...TT...o..^ ^.ToT..TT..ToT.^ ^..o...TT...o..^ ^..o...TT...o..^ ^..o...TT..*o..^ ^..o...TT...o..^ ^.ToT......ToT.^ ^..o..???...o..^ ^....?'.!?.....^ ^?...?...?....?^ ^^^^^^^^^^^^^^^^ [additional] 101 0.0.^.1.0.0 1.0.^.2.0.0 2.0.^.2.0.0 3.0.^.2.0.0 4.0.^.2.0.0 5.0.^.2.0.0 6.0.^.2.0.0 7.0.^.2.0.0 8.0.^.2.0.0 9.0.^.2.0.0 10.0.^.2.0.0 11.0.^.2.0.0 12.0.^.2.0.0 13.0.^.2.0.0 14.0.^.2.0.0 15.0.^.2.0.0 0.1.^.1.0.0 15.1.^.1.0.0 0.2.^.1.0.0 15.2.^.1.0.0 0.3.^.1.0.0 15.3.^.1.0.0 0.4.^.1.0.0 15.4.^.1.0.0 0.5.^.1.0.0 15.5.^.1.0.0 0.6.^.1.0.0 2.6.@.1 15.6.^.1.0.0 0.7.^.1.0.0 15.7.^.1.0.0 0.8.^.1.0.0 9.8.*.1 15.8.^.1.0.0 0.9.^.1.0.0 15.9.^.1.0.0 0.10.^.1.0.0 15.10.^.1.0.0 0.11.^.1.0.0 2.11.@.1 11.11.*.3 15.11.^.1.0.0 0.12.^.1.0.0 9.12.*.1 15.12.^.1.0.0 0.13.^.1.0.0 15.13.^.1.0.0 0.14.^.1.0.0 15.14.^.1.0.0 0.15.^.1.0.0 2.15.@.1 11.15.*.3 15.15.^.1.0.0 0.16.^.1.0.0 9.16.*.1 15.16.^.1.0.0 0.17.^.1.0.0 15.17.^.1.0.0 0.18.^.1.0.0 15.18.^.3.0.0 0.19.^.1.0.0 2.19.@.1 11.19.*.3 15.19.^.1.0.0 0.20.^.1.0.0 15.20.^.1.0.0 0.21.^.1.0.0 15.21.^.1.0.0 0.22.^.1.0.0 15.22.^.1.0.0 0.23.^.1.0.0 15.23.^.1.0.0 0.24.^.1.0.0 11.24.*.3 15.24.^.1.0.0 0.25.^.1.0.0 15.25.^.1.0.0 0.26.^.1.0.0 15.26.^.1.0.0 0.27.^.1.0.0 15.27.^.1.0.0 0.28.^.1.0.0 15.28.^.1.0.0 0.29.^.1.0.0 15.29.^.1.0.0 0.30.^.1.0.0 1.30.^.0.1.1 2.30.^.0.1.1 3.30.^.0.1.1 4.30.^.0.1.1 5.30.^.0.1.1 6.30.^.0.1.1 7.30.^.0.1.1 8.30.^.0.1.1 9.30.^.0.1.1 10.30.^.0.1.1 11.30.^.0.1.1 12.30.^.0.1.1 13.30.^.0.1.1 14.30.^.0.1.1 15.30.^.1.0.0 [end] [offset] 6A96 [level] 14 [colour] a75c6c [size] 16.31 [author] St.Kenig Krasnik [data] oooooooooooooooo o....^TRT^.....o ooooooo&oooooooo o'T..T...T..T..o }..............} oobooooooooooooo o....^...HVVVTTo ooooooooooooo.oo }..............o oo..oooooooooooo o?.............o o..ooooooooooo.o o..oT.^...^.To.o o..oT#..o.#.'o.o o..ooo.oooo.oo.o o..............o o.b.^.....^..b.o ooooooo&oooooooo o.T.T.T..T.T.T.o o..............o M..............M o..b.T.T.T.b...o ooooooo&oooooooo o?............?o o..o..o..o..o..o o..@..@..@..@..o o..............o o..*..*..*..*..o o..ooo...oooo..o o?.....!......?o oooooooooooooooo [additional] 23 5.1.^.0.0.0 9.1.^.0.0.0 7.2.&.1.0 0.4.}.0.0.1.0.0.0 15.4.}.2.0.1.0.0.0 5.6.^.2.0.0 0.8.}.0.0.1.0.0.0 6.12.^.0.0.0 10.12.^.0.0.0 4.16.^.0.0.0 10.16.^.0.0.0 7.17.&.2.0 0.20.M.0 15.20.M.2 7.22.&.3.0 3.25.@.0 6.25.@.0 9.25.@.0 12.25.@.0 3.27.*.0 6.27.*.0 9.27.*.0 12.27.*.0 [end] [offset] 6C96 [level] 15 [colour] b9944e [size] 16.31 [author] St.Kenig Krasnik [data] QQQQQQQQQQQQQQQQ Q'...TQ..QT...TQ Q..T..QR#Q..T..Q Q.@T..Q..Q.@T..Q Q..&..Q#.Q..&..Q Q.@T..Q.#Q.@T..Q Q..T..Q..Q..T..Q QT...TQ#.QT...TQ QQQ&QQQ..QQQ&QQQ Q.............?Q }..T.T.T.T.T.T.Q Q.............?Q QTQQQQQQQQQQQQQQ Q.............TQ Q..#####b####..Q Q..?#@??T??@?..Q Q.............TQ Q}QQQQQQQQQQQQQQ Q..............Q QQQQQQQQQQQQHQ.Q Q.....^.....TQ.Q Q.TQQQQQQQQT.Q.Q Q.QT......'Q.Q.Q Q.Q.TQQQQQHQ.Q.Q Q.Q.Q'.@.VVQ.Q.Q Q.Q.Q!.*.VVQ.Q.Q Q.Q.TQQQQQQT.Q.Q Q.QT....^...TQ.Q Q.TQQQQQQQQQQQ.Q Q..............Q QQQQQQQQQQQQQQQQ [additional] 16 2.3.@.1 11.3.@.1 3.4.&.1.0 12.4.&.1.1 2.5.@.1 11.5.@.1 3.8.&.1.2 12.8.&.1.3 0.10.}.0.0.2.0.0.0 5.15.@.0 11.15.@.0 1.17.}.3.0.1.0.0.0 6.20.^.0.0.0 7.24.@.2 7.25.*.0 8.27.^.0.0.0 [end] [offset] 6E96 [level] 16 [colour] 8faac7 [size] 16.31 [author] St.Kenig Krasnik [data] .....'.R.'...... .TTTTTTTTTTTTTT. .T............T. .T.bbbbbbbbbb.T. .T.b..'.....b.T. .T.b.######.b.T. .T*b.#...T#.b.T. .T.b.#.##.#*b@T. .T.b.#?#..#.b.T. @T.b.##.#T#.b.T. .T.b.#.#.##*b.T. .T*b.#T.#.#.b.T. .T.b@#.#.?#.b.T. @T.b.#.##.#.b@T. .T.b.###..#.b.T. .T.b.#...##.b.T. .T*b.#.####.b.T. @T.b.#?#.##.b.T. .T.b.##.#.#.b.T. .T.b@#..#.#.b@T. .T.b.#.#.?#.b.T. .T*b.######.b.T* @T.b.##?#?#.b.T. .T.b.#....#.b.T. .T.b.#.!.?#.b.T. .T.b.######.b@T. .T*b........b.T* .T.bbbbbbbbbb.T. .T............T. .TTTTTTTTTTTTTT. ......*....*.... [additional] 21 2.6.*.3 11.7.*.3 13.7.@.1 0.9.@.1 11.10.*.3 2.11.*.3 4.12.@.1 0.13.@.1 13.13.@.1 2.16.*.3 0.17.@.1 4.19.@.1 13.19.@.1 2.21.*.3 15.21.*.3 0.22.@.1 13.25.@.1 2.26.*.3 15.26.*.3 6.30.*.0 11.30.*.0 [end] [offset] 7096 [level] 17 [colour] 6da77a [size] 16.31 [author] St.Kenig Krasnik [data] ssssssssssssssss s..T..T..T..T..s s..b..b..'..T.Rs s..T..T..T..T..s s..............s sDs}ss}ss}ss}sss sDssssssssssssss s..............s s.T...........}s s.'TTTTTTTTTT..s ssssssssHsssssss sTT..........TTs s.TV.V..TV.VT..s s..............s s...V.TV.VTT.V.s s..............s sTTTTTTTTTTTTTTs s...*....*...*.s s..............s s*.............s sTTTTTTTTTTTTTTs s..............s s.*####..#T.#..s s..#.....#.@#..s s..#.T...#.#@..s s.*####..##!...s s....*#..#.#@..s s..T..#..#..#..s s..####..#T.#..s s..............s ssssssssssssssss [additional] 15 3.5.}.3.0.1.0.0.0 6.5.}.3.0.1.0.0.0 9.5.}.3.0.1.0.0.0 12.5.}.3.0.1.0.0.0 14.8.}.2.0.1.0.0.0 4.17.*.2 9.17.*.2 13.17.*.2 1.19.*.0 2.22.*.3 11.23.@.2 12.24.@.0 2.25.*.3 5.26.*.2 12.26.@.2 [end] [offset] 7296 [level] 18 [colour] a08750 [size] 16.31 [author] St.Kenig Krasnik [data] OOOOOOOOOOOOOOOO O.%.T.T.T..T.T.O O..............O O..}..}..}....RO OODOOOOOOOOOOOOO O....?....T@..@O O..............O OT............TO O.............@O O...@T.@..T@...O OOOOOOOOOOOOOOTO O.*............O O...TTTTTTTT...O O..T?b'bTb?TT..O O*..TTTTTTTT...O O.?..*..*...*..O OOOOOOOOOOOOO#TO OT....?......T.O O..............O O.TOT...TOT....O O.O@O...O@O....O O..O*...*O.....O O..............O O.?......?...}.O OOOOOOODOOOOOOOO OT......^.....?O O..............O O.TT!.........MO O..............O OT......^.....?O OOOOOOOOOOOOOOOO [additional] 22 3.3.}.3.0.0.1.0.0 6.3.}.3.0.0.1.0.0 9.3.}.3.0.0.1.0.0 11.5.@.0 14.5.@.0 14.8.@.0 4.9.@.2 7.9.@.2 11.9.@.2 2.11.*.2 1.14.*.1 5.15.*.0 8.15.*.0 12.15.*.0 3.20.@.2 9.20.@.2 4.21.*.2 8.21.*.2 13.23.}.3.0.1.0.0.0 8.25.^.0.0.0 14.27.M.2 8.29.^.0.0.0 [end] [offset] 7496 [level] 19 [colour] 75ae7f [size] 16.31 [author] St.Kenig Krasnik [data] oooooooooooooooo o..~.^...^....^o oR.............o oTTTo.obo.oboT.o o..~.T..~TT..~To o*...T*...T*...o o....T....T....o ooooooooooooo&oo o............?.o M......@.@.....o o.TTTTTTTTTTT..o o..............o ooo&oooooooooooo o..?...@.@.....o o.T.....^....T.o o.TTTTTTTTTTTT.o o..............o oooToooooooooooo o.............}o ooooooooooo'oooo o..............o o.oooooooooTo..o o.oT......o.o..o o.o.ooooo.o.o..o o.o^oT....o^o..o o.o.oTVV..o.o.^o o.o.ooooooo.o..o o.oT..^....To..o o.ooooooooooo..o o...........!..o oooooooooooooooo [additional] 19 5.1.^.1.0.0 9.1.^.1.0.0 14.1.^.1.0.0 1.5.*.1 6.5.*.1 11.5.*.1 13.7.&.1.0 0.9.M.0 7.9.@.2 9.9.@.2 3.12.&.2.0 7.13.@.0 9.13.@.0 8.14.^.2.0.0 14.18.}.2.0.1.0.0.0 3.24.^.3.0.0 11.24.^.3.0.0 14.25.^.3.0.0 6.27.^.2.0.0 [end] [offset] 7696 [level] 20 [colour] 8a8d56 [size] 16.31 [author] St.Kenig Krasnik [data] oooooooooooooooo oT.....^...^..To o..TTTTTTTTTTT.o R..o.o.T.o.o.o.o o..o.o.o.o.o.T.o o..o.T.o.o.T.o.o o.^o.o.o.T.o.o.o o..o.o.o.o.o.T.o o..o.o.T.o.T.o.o o..o.o.o.o.o.o.o o..o.T.o.T.o.T.o o..o.o.o.o.T.o.o o..o.o.T.o.o.o.o o..o.o.o.o.o.o.o o..o.T.o.T.o.T.o o..o.o.o.o.T.o.o o..o.o.T.o.o.o.o o..o.o.o.o.o.o.o o..o.T.o.T.o.T.o o..o.o.o.o.T.o.o o..o.o.T.o.o.o.o o..o.o.o.o.o.o.o o..o.T.o.T.o.T.o o..o.o.o.o.T.o.o o..o.o.T.o.o.o.o o..o.o.o.o.o.o.o o..o}o}o}o}o}o}o o..ooooooooooooo o.To.?@.@T.T@T?o o.'!...........o oooooooooooooooo [additional] 12 7.1.^.0.0.0 11.1.^.0.0.0 2.6.^.3.0.0 4.26.}.3.0.1.0.0.0 6.26.}.3.0.1.0.0.0 8.26.}.3.0.1.0.0.0 10.26.}.3.0.1.0.0.0 12.26.}.3.0.1.0.0.0 14.26.}.3.0.1.0.0.0 6.28.@.0 8.28.@.0 12.28.@.0 [end] [offset] 7896 [level] 21 [colour] 6b7566 [size] 16.31 [author] St.Kenig Krasnik [data] PPPPPPPPPPPPPPPP Pb.~.V.VH'.b.~RP P.PPPPPPPPPPPPPP P...~.b...V.V..P PPPPPPPPPPPPPPTP P..............P P.?P........P?.P P.PTPT.^..TPTP.P P.P@TPPTPPPT@P.P P.P^P..^...P^P.P P.P.P.?..?.P.P.P P...P.b..b.P...P PPPPPPPP&PPPPPPP P..............P P.......^......P P.^..T........MP P..............P P..............P P}............}P PTTTTTTTTTTTTTTP P....PPP&PPP...P P....PT...TP...P P*...P@.'..P..*P P.^.TP.T!T.PT^.P P*...P@.'..P..*P P.^.TPT...TPT^.P P*...PPPPPPP..*P P..............P P..............P P.~.????????.~.P PPPPPPPPPPPPPPPP [additional] 25 7.7.^.0.1.1 3.8.@.2 12.8.@.2 3.9.^.1.0.0 7.9.^.2.0.0 12.9.^.1.0.0 8.12.&.1.0 8.14.^.2.0.0 2.15.^.2.0.0 14.15.M.2 1.18.}.0.0.2.0.0.0 14.18.}.2.0.2.0.0.0 8.20.&.2.0 1.22.*.1 6.22.@.0 14.22.*.3 2.23.^.0.0.0 13.23.^.0.0.0 1.24.*.1 6.24.@.2 14.24.*.3 2.25.^.0.0.0 13.25.^.0.0.0 1.26.*.1 14.26.*.3 [end] [offset] 5096 [level] 22 [colour] 8698ab [size] 16.31 [author] St.Kenig Krasnik [data] PPPPPPPPPPPPPPPP P.....RP?P?P?P?P }....TP........P P..^..P...!....P }....TP..T@T...P P.....P........P }....TP?......?P P.....P........P PPPTPPP......TTP P.....P...TTTT.P P..T..PT.T..T..P P..T.*P.T......P P..T..P........P P*.T..P........P P.*..*P}.}..}..P PPP&PPPPPPP&PPPP PT..PP.P...V...P P.PPP..PT.V...TP P^PT.@.P.T...T.P P.P..b.PPPP&PPPP P.PPPP~P.@..@..P P.?.?..P..Tbb.@P P..T.T.bP..TT..P P..T.T.bbP@..T.P P..T.T.bbbP...@P P..H.H.bbbbPPDPP P~.H.H.bV...%.VP P^.H.H.b..V.V@.P P..H.H.b.V.V@.VP P'.....D@.@.V.VP PPP}P}PPPPPPPPPP [additional] 29 0.2.}.0.0.0.0.0.0 3.3.^.0.0.0 0.4.}.0.0.0.0.0.0 10.4.@.0 0.6.}.0.0.0.0.0.0 5.11.*.3 1.13.*.1 2.14.*.0 5.14.*.0 7.14.}.3.0.0.1.0.0 9.14.}.3.0.0.1.0.0 12.14.}.3.0.0.1.0.0 3.15.&.1.0 11.15.&.3.0 1.18.^.1.0.0 5.18.@.2 11.19.&.2.0 9.20.@.0 12.20.@.2 14.21.@.1 10.23.@.2 14.24.@.2 1.27.^.3.0.0 13.27.@.3 12.28.@.2 8.29.@.2 10.29.@.2 3.30.}.3.0.1.0.0.0 5.30.}.3.0.1.0.0.0 [end] [offset] 5296 [level] 23 [colour] 9f826a [size] 16.31 [author] St.Kenig Krasnik [data] PPPPPPPPPPPPPPPP PTTTTTT..PR...TP PT.......PP...TP PT.......T...^.M PT.......PP...TP PT@.@.@..P....TP P########PPPPPPP P..............P P..............P P.T...b.....T..P PPPPPPPPPPPPPPbP }T.............P P...TbTT'TbT...P P.b.*.*........P PPPPPPP&PPPPPPPP P?............?P P..#.#....#.#..P P.@T#T....T#T@.P P..#.#....#.#..P P?............?P PPPPPPPTDTPPPPPP P.*.*.*HDH@.@.@P PV.V.V.V.V.V.V.P PTTTTTTTTTTTTTTP PPTPPPPPPPPPPPPP P.T...T...T.^.?P P..............P P.^.T.^...^...'P P..............P P...T...T...T.!P PPPPPPPPPPPPPPPP [additional] 21 13.3.^.2.0.0 15.3.M.2 2.5.@.2 4.5.@.2 6.5.@.2 0.11.}.0.0.0.0.0.0 4.13.*.0 6.13.*.0 7.14.&.1.0 2.17.@.1 13.17.@.3 2.21.*.0 4.21.*.0 6.21.*.0 10.21.@.0 12.21.@.0 14.21.@.0 12.25.^.1.0.0 2.27.^.1.0.0 6.27.^.1.0.0 10.27.^.1.0.0 [end] [offset] 5496 [level] 24 [colour] 7cd092 [size] 16.31 [author] St.Kenig Krasnik [data] QQQQQQQQQQQQQQQQ QT.......^....TQ Q.QQQQ.Q...QQQTQ Q.QT.^.Q.^.Q.QTQ Q.Q%...Q...Q.QTQ Q.QQQ?.Q..?QQQ^Q Q.QT.^.QT^.Q.Q.Q Q.Q....QRT.Q.Q'Q Q.QQQQ.QQQ.Q.QTQ Q..............Q }..T...^....T..} Q..............Q QQQQQQQQDQQQQQQQ Q....Q@.@.Q....Q Q.T..Q....Q..T.Q Q.T*.&@?b.&.*'.Q Q....Q.?T.Q....Q Q....Q@...Q....Q QQQQQQQQDQQQQQQQ QT............TQ Q.......^......M Q..........^...M QT.....%......TQ QQQQQQQQQQQQQQDQ Q*.*.*.*.*.....Q Q..............Q Q*..?.T.T.TT...Q Q..???.!.?.'...Q Q*..?.T.T.TT...Q Q?............?Q QQQQQQQQQQQQQQQQ [additional] 28 9.1.^.0.0.0 5.3.^.0.0.0 9.3.^.0.0.0 14.5.^.1.0.0 5.6.^.0.0.0 9.6.^.1.0.0 0.10.}.0.0.2.0.0.0 7.10.^.0.0.0 15.10.}.2.0.2.0.0.0 6.13.@.0 8.13.@.0 3.15.*.1 5.15.&.2.0 6.15.@.1 10.15.&.1.0 12.15.*.3 6.17.@.2 8.20.^.2.0.0 15.20.M.2 11.21.^.0.1.1 15.21.M.2 1.24.*.0 3.24.*.2 5.24.*.2 7.24.*.2 9.24.*.2 1.26.*.0 1.28.*.0 [end] [offset] 5696 [level] 25 [colour] 6cd99b [size] 16.31 [author] St.Kenig Krasnik [data] oooooooooooooooo o......o.......o &.T..^To&TTTTTTo o......oT.}.}..o oooooooooooooooo o.###VTo.......o &...HVToT.^..'.& o.###VTo.......o oooooooooooooooo o........TTT...o M........^..T..& o........^..T..o o...?....TTT...o oooo&ooooooooooo oTTT.TTTTTTT'TTo o..T.T......T..o o?.T.T.@T...T.?o o.VTTT.T!T..TV.o o?.TTT..T@..TV?o o.VTTT......T..o o?.TTT......T.?o o..TTT......T..o o?.T.T..o...T.?o oooo}oooRooooooo o......~.......o o..o@o....o.o@.o o.o&o&o..o&o&o.o o.oToTo..oToTo.o o..............o o..............o oooooooo&ooooooo [additional] 23 0.2.&.1.0 5.2.^.0.0.0 8.2.&.2.0 10.3.}.3.0.0.1.0.0 12.3.}.3.0.0.1.0.0 0.6.&.3.0 10.6.^.2.1.1 15.6.&.4.0 0.10.M.0 9.10.^.0.0.0 15.10.&.6.0 9.11.^.0.0.0 4.13.&.6.1 7.16.@.2 9.18.@.0 4.23.}.3.0.1.0.0.0 4.25.@.2 13.25.@.2 3.26.&.1.1 5.26.&.2.1 10.26.&.3.1 12.26.&.4.1 8.30.&.6.2 [end] [offset] 5896 [level] 26 [colour] ad414f [size] 16.31 [author] St.Kenig Krasnik [data] oooooooooooooooo o.o'T.T.T.T.TT.} oToHo....o...ooo oToVoooooo...o}o oToHVH.^.o.R.o.o o.Tooooo.ooooo.o }..............o o.Tooooooo.ooo.o o.T.@@..To.o.TTo o.oooooooo.o.o.o o.TT.T.T.T.}!o.o o.ooooooooooo'.o o......^.....ooo o.oooooooooo.o%o o.oTT..*.*..HoTo o.ooooooooooVoTo o.T..^....Too..o o..............} ooooooooooooo&oo oT............To o.ooooo.oooooo.o o.oT........To.o o.o..*.T'.*..o.o o.o....TT....o.o o@o....TT....o.o o.o..*.TT.*..o.o o.o..........o.o o.oT........To.o o.oooooooooooo@o o?.....@......?o oooooooooooooooo [additional] 20 15.1.}.2.0.1.0.0.0 14.3.}.1.0.1.0.0.0 7.4.^.2.0.0 0.6.}.0.0.1.0.0.0 4.8.@.2 5.8.@.2 11.10.}.2.0.1.0.0.0 7.12.^.2.0.0 7.14.*.0 9.14.*.0 5.16.^.2.0.0 15.17.}.2.0.1.0.0.0 13.18.&.1.0 5.22.*.1 10.22.*.1 1.24.@.1 5.25.*.1 10.25.*.1 14.28.@.2 7.29.@.2 [end] [offset] 5A96 [level] 27 [colour] 7892c9 [size] 16.31 [author] St.Kenig Krasnik [data] QQQQQQQQQQQQQQQQ Q'}QTQTQTQTQ'QTQ Q'.Q*Q*Q*Q*Q*QTQ Q..QVQVQVQVQVQTQ Q..TVQVQVQVQVQTQ Q^.QHQHQHQHQHQ.Q Q.............RQ Q..QHQHQHQHQHQ.Q Q..T.Q.Q.Q.Q.QTQ Q..QVbVQVQVbVQTQ Q..Q@H@Q@Q@H@QTQ Q'}QTQTQTQTQ'QTQ QQ&QQQQQQQQQQQQQ Q%.............} QQQQQQQQQQQQ#..Q M..............Q Q'.T.T.T.T.T.T.Q QQQQQQQQDQQQQQQQ Q.TT.VVH.HVVTT.& QQQQQQQQQQQQQQQQ &...'HHV..VV...& QQQQQQQQQQQQQQQQ QT%...*.*......& QDQQQQQQQQQQQQQQ Q.?...........?Q Q......!.......Q Q...T.T.T.T.T..Q QT.T.T...T.T..TQ Q.T..........T.Q Q?....}.}.}...?Q QQQQQQQQQQQQQQQQ [additional] 25 2.1.}.1.0.1.0.0.0 4.2.*.0 6.2.*.0 8.2.*.0 10.2.*.0 12.2.*.0 1.5.^.1.0.0 4.10.@.2 6.10.@.2 8.10.@.2 10.10.@.2 12.10.@.2 2.11.}.3.0.1.0.0.0 2.12.&.1.0 15.13.}.2.0.1.0.0.0 0.15.M.0 15.18.&.2.0 0.20.&.2.1 15.20.&.3.0 6.22.*.0 8.22.*.0 15.22.&.3.1 6.29.}.3.0.0.1.0.0 8.29.}.3.0.0.1.0.0 10.29.}.3.0.0.1.0.0 [end] [offset] 5C96 [level] 28 [colour] a674b3 [size] 16.31 [author] St.Kenig Krasnik [data] PPPPPPPPPPPPPPPP PPT.TPPR.PTPPPTP P....@P..P*....P PP...PP..PP...PP P..T.@P..P*.T..P PP.T.PP..PP.T.PP P..T.@P..P*.T..P PP.T.PP..PP.T.PP P..T.@P..P*.T..P PP.T.PP..PP.T.PP P..T.@P..P*.T..P PP.T.PP..PP.T.PP P..T.@P..P*.T..P PP.T.PP..PP.T.PP P..T.TT..TT.T..P PP.T.PPHHPP.T.PP P..T.@Pb.P*.T..P PP.T.PPHHPP.T.PP P..T.@P.bP*.T..P PP.T.PPHHPP.T.PP P..T.@Pb.P*.T..P PP.T.PPHHPP.T.PP P..T.@P.bP*.T..P PP.T.PPHHPP.T.PP P..T.@Pb.P*.T..P PP.T.PPHHPP.T.PP P..T.@P}}P*.T..P PP...PP'.PP.T.PP P....@P!.P*.T..P PPT...T..T#...TP PPPPPPPPPPPPPPPP [additional] 28 5.2.@.2 10.2.*.0 5.4.@.2 10.4.*.0 5.6.@.2 10.6.*.0 5.8.@.2 10.8.*.0 5.10.@.2 10.10.*.0 5.12.@.2 10.12.*.0 5.16.@.2 10.16.*.0 5.18.@.2 10.18.*.0 5.20.@.2 10.20.*.0 5.22.@.2 10.22.*.0 5.24.@.2 10.24.*.0 5.26.@.2 7.26.}.3.0.1.0.0.0 8.26.}.3.0.1.0.0.0 10.26.*.0 5.28.@.0 10.28.*.0 [end] [offset] 5E96 [level] 29 [colour] b5a7a2 [size] 16.31 [author] St.Kenig Krasnik [data] PPPPPPPPPPPPPPPP P..............P P.PT.@P..PPPPP.P P.PP.PP@.P...P.P P.P'PRP..PPPPP.P P.P...P@.PT.TP.P P.PTTTP..P*.*P.P P..............P P..............P P....TPPPPP@...P P....@P...P....P P....TP...P....P P.....PPPPT....P P....TPT'P@....P P^.T..P..TP.T.^P P..............P P..............P P..PPPP.P.P..P.P P.@P!&T.P.PP@P.P P..PVVT.P@PPTP.P P..PHHT.P.PTPP.P P.@P..T.P.P.PP.P P..PPPP.P.P.@P.P P....@.........P PPPPPPPPPPPPPPPP P?............?P P..P.P.P.P.P...P P.PT'TPTTTP@...& P..P@P.P@P.P...P P?............?P PPPPPPPPPPPPPPPP [additional] 21 5.2.@.2 7.3.@.3 7.5.@.3 10.6.*.2 12.6.*.2 11.9.@.3 5.10.@.2 10.13.@.2 1.14.^.0.0.0 14.14.^.0.0.0 2.18.@.1 5.18.&.1.0 12.18.@.2 9.19.@.1 2.21.@.1 12.22.@.0 5.23.@.2 11.27.@.2 15.27.&.1.1 4.28.@.0 8.28.@.0 [end] [offset] 6096 [level] 30 [colour] b58887 [size] 16.31 [author] St.Kenig Krasnik [data] oooooToToToToooo o.o^oTo@o@o@o.'o o^o.oToHoHoHo.To o.............To o.o.oToHoHoHo.To o.o.oTo@o@o@o.'o o?oooToToToToooo o.oooooooooooooo o.............}o ooooo.?ooooooooo oT......^.....To o.T.T.T.T.b.T.}& oT.....R......To oooooooooooooooo o.............?o o.T...^.....T..o o..TTTTbTTTT...& o.T....^....T..o o.............?o ooooooo&oooooooo o.............?o o.TTTTTTTTTTT..o o.TTTTT'TTTTT..o o...@.@.@.....?o oooooooooooooooo oT.oT.oT.o?....o oTVoT.oT.o....To &!.HV.HV.H*..T.& oT.oT.oT.o....To oT.oT.oT.o?....o oooooooooooooooo [additional] 22 3.1.^.1.0.0 7.1.@.2 9.1.@.2 11.1.@.2 1.2.^.3.0.0 7.5.@.2 9.5.@.2 11.5.@.2 14.8.}.2.0.2.0.0.0 8.10.^.2.0.0 14.11.}.2.0.1.0.0.0 15.11.&.1.0 6.15.^.2.0.0 15.16.&.2.0 7.17.^.2.0.0 7.19.&.3.0 4.23.@.2 6.23.@.2 8.23.@.2 0.27.&.2.1 10.27.*.1 15.27.&.1.1 [end] [offset] 6296 [level] 31 [colour] 7fca8c [size] 16.31 [author] St.Kenig Krasnik [data] PPPPPPPPPPPPPPPP P%...^...TP'T.RP P?........P.b..P M.^..^....TTPPDP PPPPPPPPPPPP...P P....P....P....P P..T.P..T.P.&..P P....P....P....P P&..*P&..@P*..TP PPPPPPPPPPPPPDPP PT............TP P..TPP...TPP...P P..PVVP..PVVP..P P..@PPT..@PPT..P P..............P PT#....^.^...#TP PPPPPPP.PPPPPPPP PV.V.VP.PVVVVV.P P.....P.P.VT.T.P PVTVTVP.P.VTVT.P P.TVTV&.&.VTVT.P P.T.T.P.PVVTVT.P PV...VP.P......P PT}T}TP.P?T}T}TP PPPPPPP.PPPPPPPP PTTTTTTTTTTTTTTP P??............M P!?...........TP P??............M PTTTTTTTTTTTTTTP PPPPPPPPPPPPPPPP [additional] 22 5.1.^.0.0.0 0.3.M.0 2.3.^.0.1.1 5.3.^.0.1.1 12.6.&.1.0 1.8.&.1.1 4.8.*.0 6.8.&.1.2 9.8.@.2 11.8.*.0 3.13.@.0 9.13.@.0 7.15.^.0.0.0 9.15.^.0.0.0 6.20.&.6.0 8.20.&.5.0 2.23.}.3.0.1.0.0.0 4.23.}.3.0.1.0.0.0 11.23.}.3.0.1.0.0.0 13.23.}.3.0.1.0.0.0 15.26.M.2 15.28.M.2 [end] [offset] 6496 [level] 32 [colour] 72bbc8 [size] 16.31 [author] St.Kenig Krasnik [data] ssssssssssssssss sss%s&s&s&s&s..s s...V......?.TR& sss'sTsTsTsTssss sT.~.~.~.~.~...s s...s.s.s.s.s.?s s?..s.s.s.s.s..& s...s.s.s.s.s..s s?..s.s.s.s.s..? s..............s sbbTbTbbbbbbbbbs sVVVVVVVVVVVVVVs sVVVVV@VV@VV@V.s s@VVVVVVVVVVVV@s sssssssssDssssss sT............Ts s..*..????.@...s s..#..?....b...s s.....????.....& s........?.....s s.....????.....s sT...........T.} ssssssssssss...s s}.............s sssssssTTsssssss sT...Ts..sT...Ts s.....s^.s.....s s@.&..D..s*.&..s s....@sT^s.....s sT...Ts'!sT...Ts ssssssssssssssss [additional] 23 5.1.&.4.0 7.1.&.1.0 9.1.&.5.0 11.1.&.6.0 15.2.&.1.1 15.6.&.1.2 6.12.@.2 9.12.@.2 12.12.@.2 1.13.@.2 14.13.@.2 3.16.*.0 11.16.@.2 15.18.&.1.3 15.21.}.2.0.0.0.0.0 1.23.}.0.0.0.0.0.0 7.26.^.1.0.0 1.27.@.3 3.27.&.1.4 10.27.*.1 12.27.&.1.5 5.28.@.2 8.28.^.1.0.0 [end] [offset] 6696 [level] 33 [colour] 8e5f6a [size] 16.31 [author] St.Kenig Krasnik [data] pppppppppppppppp pT......^.....Tp p..............p p....ppppp.pp..p p^..@p&.T...p.^p p....ppppp.pp..p p......@.......p pT.......^....Tp pppppppppppppppp pppppppppppppppp pppppppppppppppp pppppppppppppppp p?............?p p.*#T#T#T#T#*..p p.~.@.@...'R~..& p.*#T#T#T#T#*..p p?............?p pppppppppppppppp pppppppppppppppp pppppppppppppppp ppppppp&pppppppp p?.?.?.......~.p p..............p p...@T...T..@..p p.pppppppppppp.p p.p.T........p.p p.p&'!.......H.p p.p.T*...*..*p.p p.pppppppppppp.p p..............p pppppppppppppppp [additional] 21 8.1.^.2.0.0 1.4.^.1.0.0 4.4.@.1 6.4.&.2.0 14.4.^.1.0.0 7.6.@.0 9.7.^.2.0.0 2.13.*.0 12.13.*.0 4.14.@.2 6.14.@.2 15.14.&.1.0 2.15.*.2 12.15.*.2 7.20.&.1.1 4.23.@.2 12.23.@.2 3.26.&.2.1 5.27.*.0 9.27.*.0 12.27.*.0 [end] [offset] 6896 [level] 34 [colour] 688c99 [size] 16.31 [author] St.Kenig Krasnik [data] PPPPPPPPPPPPPPPP P.T.R.T.P?..!.?P P.......P......P PT.....TP.....TP PM.....TPT....MP P.......P.....'P PM.....^P^....MP PT......P.....TP PM......P.....MP P.......P......P PM......P.....MP PT......P.....TP PM.....TPT....MP P.......P......P PM.....^P^....MP PT......P.....TP PM......P.....MP P.......P......P PM......P.....MP PT......P.....TP PM.....TPT....MP P.......P......P PM.....^P^....MP PT......P.....TP PM......P.....MP P.......P......P PM......P.....MP PT......P.....TP P......TPT.....P P..............P PPP}P}PPPP}P}PPP [additional] 34 1.4.M.0 14.4.M.2 1.6.M.0 7.6.^.3.0.0 9.6.^.3.0.0 14.6.M.2 1.8.M.0 14.8.M.2 1.10.M.0 14.10.M.2 1.12.M.0 14.12.M.2 1.14.M.0 7.14.^.3.0.0 9.14.^.3.0.0 14.14.M.2 1.16.M.0 14.16.M.2 1.18.M.0 14.18.M.2 1.20.M.0 14.20.M.2 1.22.M.0 7.22.^.3.0.0 9.22.^.3.0.0 14.22.M.2 1.24.M.0 14.24.M.2 1.26.M.0 14.26.M.2 3.30.}.3.0.1.0.0.0 5.30.}.3.0.1.0.0.0 10.30.}.3.0.1.0.0.0 12.30.}.3.0.1.0.0.0 [end] [offset] 6A96 [level] 35 [colour] 6daf97 [size] 16.31 [author] St.Kenig Krasnik [data] oooooooooooooooo obbbbbbbbbbbbbbo ob............bo ob.TbbbbbbbbT.bo ob..b?'...Rb..bo ob..b.T?b..b*.bo ob..b.T.bTTb..bo ob..b..bb..b..bo ob.Tb..bb..bT.bo ob..b..bb@.b..bo ob..b.T.?..b..bo ob.*b..bb..b..bo ob..b.@bb..b..bo ob..b..bb..b..bo ob.Tb..?...bT.bo ob..b.TbbT.b..bo ob..b..bb..b..bo ob.*b...b..b*.bo ob..b@..?@.b..bo ob..b..bb..b..bo ob.Tb.TbbT.bT.bo ob..b..bb..b..bo ob..b...b..b..bo ob.*b...?..b*.bo ob..b.Tb.T.b..bo ob..b..bb..b..bo ob.Tb......bT.bo ob..bbbbbbbb..bo ob......*.....bo obbbbbbb!bbbbbbo oooooooooooooooo [additional] 11 12.5.*.1 9.9.@.3 3.11.*.3 6.12.@.1 3.17.*.3 12.17.*.1 5.18.@.3 9.18.@.3 3.23.*.3 12.23.*.1 8.28.*.0 [end] [offset] 6C96 [level] 36 [colour] 9988ae [size] 16.31 [author] St.Kenig Krasnik [data] OOOOOOOOOOOOOOOO OT............RO O.............MO O..O....?..@O..O O.TO@...T..TO..O O..O....?...OT.O O..OT...T..@O..O OT.............M OO&OOOOO}OOOOOOO O..............O O.T'T.T.T.T@T@.O OT.T.T.T.T.#.T.O O............T.O O.b.}..}..}..b.O OOOOOOOODOOOOOOO OT.@..T.......}O OOOOOOOTHOOOOOOO OT..^..T..#....O O.........?...^O O^...@..@......O O...TTTTT...???O OT.............O OOOOOOOOHOOOOOOO OT.VVVVVVVVV..TO O.V............O O.V.VVVVVVVVVV.O O^V.....!....V^O O.V.VVVVVVVVVV.O O.V..........V.O OT..T...^..T..TO OOOOOOOOOOOOOOOO [additional] 22 14.2.M.2 11.3.@.2 4.4.@.3 11.6.@.1 15.7.M.2 2.8.&.1.0 8.8.}.3.0.1.0.0.0 11.10.@.2 13.10.@.2 4.13.}.3.0.0.1.0.0 7.13.}.3.0.0.1.0.0 10.13.}.3.0.0.1.0.0 3.15.@.2 14.15.}.2.0.2.0.0.0 4.17.^.0.0.0 14.18.^.1.0.0 1.19.^.1.0.0 5.19.@.2 8.19.@.2 1.26.^.3.0.0 14.26.^.3.0.0 8.29.^.2.0.0 [end] [offset] 6E96 [level] 37 [colour] b98cb0 [size] 16.31 [author] St.Kenig Krasnik [data] OOOOOOOOOOOOOOOO O'..R.TT...^^T'& OT..OOOOOOOOOOOO OTTTOT...^....TO O...O..........O O}}}O..........O OOOTT^.TT!TT..^O O.......*......O O&T.M..........O O%TTOT...^....TO O&OOOOOOOOOOOOOO O.............}O OOOOOOOOOOOO?OOO O?.............& O.....@..@.....O O..O..O..O..O..O O..@........@..O O....TTHTT.....O O?..TVVVVVT...?O OOOOOOOOOOOOOOOO O..............O OM...^TTTTTT.?.O O%..........T..& OM...^TTTTTT.?.O O..............O OOOOOOODOOOOOOOO OTTTTTTTTTTTTTTO OT..*.*.*.*...TO OT............TO OTTTTTTTTTTTTTTO OOOOOOOOOOOOOOOO [additional] 29 11.1.^.0.1.1 12.1.^.0.1.1 15.1.&.1.0 9.3.^.2.0.0 1.5.}.3.0.1.0.0.0 2.5.}.3.0.1.0.0.0 3.5.}.3.0.1.0.0.0 5.6.^.1.0.0 14.6.^.1.0.0 8.7.*.2 1.8.&.1.1 4.8.M.2 9.9.^.0.0.0 1.10.&.2.0 14.11.}.2.0.1.0.0.0 15.13.&.2.1 6.14.@.2 9.14.@.2 3.16.@.0 12.16.@.0 1.21.M.0 5.21.^.0.0.0 15.22.&.2.2 1.23.M.0 5.23.^.0.0.0 4.27.*.2 6.27.*.2 8.27.*.2 10.27.*.2 [end] [offset] 7096 [level] 38 [colour] a486bf [size] 16.31 [author] St.Kenig Krasnik [data] QQQQQQQQQQQQQQQQ Q..............Q Q..T....#...T..Q Q.T}T?.T}T?T}T.Q Q..T....T...T..Q Q..?....?...?..Q Q..............Q QQQQQ&QQ&QQQQQQQ Q......@.@QT.^.Q Q.TTT.'...T....Q Q........@QQ..RQ QQQQQQQQQ&QQQQQQ Q..*..*.....'^T} Q.QQQQQQQ......Q Q.Q&@T@T@QQQQ..Q Q.QVVVVVVVVVH..Q Q.Q.VVVVVVVVQ..Q Q.QTT*T*T*T*Q..Q Q.QQQQQQQQQQQ..Q Q..............Q QQQQQQQQQQQQQQQQ QTQ.Q.Q.Q.Q.QT.& Q*............?Q QTQ.Q*Q.Q.Q.QT.Q QQQ&QQQQQQQQQQQQ QT...?...?....TQ Q.........@....Q M..^..!..QQQQ.?Q Q...........@..Q QT...?...?....TQ QQQQQQQQQQQQQQQQ [additional] 30 3.3.}.0.0.0.0.1.1 8.3.}.0.0.0.0.1.1 12.3.}.0.0.0.0.1.1 5.7.&.1.0 8.7.&.2.0 7.8.@.0 9.8.@.0 13.8.^.0.0.0 9.10.@.2 9.11.&.1.1 3.12.*.0 6.12.*.0 13.12.^.2.0.0 15.12.}.2.0.1.0.0.0 3.14.&.3.0 4.14.@.2 6.14.@.2 8.14.@.2 5.17.*.0 7.17.*.0 9.17.*.0 11.17.*.0 15.21.&.3.1 1.22.*.0 5.23.*.0 3.24.&.4.0 10.26.@.2 0.27.M.0 3.27.^.2.0.0 12.28.@.0 [end] [offset] 7296 [level] 39 [colour] 77c281 [size] 16.31 [author] St.Kenig Krasnik [data] PPPPPPPPPPPPPPPP PRPT...!'...TP.P P.P..@.@..@..P.P P.P....T@....#.P P.PT.@....@..P.P P..PPPPPPPPPP..P P.............TP P...##T#.#...T.& P.#?.@..?...#.TP PT.#...T.......P P...###........P PTT.T..T.T.T.T.} P..............P PP....PPPP....PP PTP....T*....PTP PT*P........P@TP PT*VP.PPPP.PV@TP PT*VH.#..#.HV@TP PT@VH.#T'#.HV*TP PT@VP.PPPP.PV*TP PT@P........P*TP PTP....T.....PTP PP....PPPP....PP P......@.......P }..............P PT..#?T?#...#.TP P..#.*...#.....P P..?..###...T..P PT..#?....T....P P.T...........TP P&PPPPPPPPPPPPPP [additional] 26 5.2.@.3 7.2.@.2 10.2.@.3 8.3.@.3 5.4.@.2 10.4.@.2 15.7.&.1.0 5.8.@.0 15.11.}.2.0.0.0.0.0 8.14.*.2 2.15.*.0 13.15.@.2 2.16.*.0 13.16.@.2 2.17.*.0 13.17.@.2 2.18.@.2 13.18.*.0 2.19.@.2 13.19.*.0 2.20.@.2 13.20.*.0 7.23.@.0 0.24.}.0.0.0.0.0.0 5.26.*.2 1.30.&.1.1 [end] [offset] 7496 [level] 40 [colour] 65da88 [size] 16.31 [author] St.Kenig Krasnik [data] QQQQQQQQQQQQQQQQ Q%^.'#..?.?.?RTQ Q..............Q Q..............Q Q.QT@TQ..QT@TQ.Q Q..QQQ....QQQ..Q QT............TQ QQQQQQQDQQQQQQQQ Q.............?Q Q.Q*Q*QTQ.Q.Q..Q Q.*QTQT&TQTQ...Q Q.Q....^....Q..& Q.*QTQ.'.QTQ...Q Q.Q*Q*Q*Q*Q*Q..Q Q.............?Q QQQQQQQQQQQQQQQQ QT.T.T....T.T.TQ Q......QQ......Q Q.QQQ..@...QQQ.Q Q.*T........T*.Q Q..............Q QT..?.?Q&Q?.?.TQ QQQQQQQQQQQQQQQQ QT............TQ Q..............Q Q..QQQQQQQQQQ..& Q..Q'@.@.@.@H..Q Q..Q!.......Q..Q Q..QQQQQQQQQQ..Q QT............TQ QQQQQQQQQQQQQQQQ [additional] 24 2.1.^.0.0.0 4.4.@.2 11.4.@.2 3.9.*.0 5.9.*.0 2.10.*.0 7.10.&.1.0 7.11.^.0.0.0 15.11.&.2.0 2.12.*.0 3.13.*.2 5.13.*.2 7.13.*.2 9.13.*.2 11.13.*.2 7.18.@.0 2.19.*.2 13.19.*.2 8.21.&.1.1 15.25.&.2.1 5.26.@.0 7.26.@.0 9.26.@.0 11.26.@.0 [end] [offset] 7696 [level] 41 [colour] 84c489 [size] 16.31 [author] St.Kenig Krasnik [data] ssssssssssssssss sT.T.T.T.T.T.TRs s............T.s sT*.*..*..*.'T.s s.T.T.T.T.T.TT.s ss&sssssssssssss s..............s s..............s s..TTTTTTTTTT..s s..............s s*..*..*..*..*.s ssssssssssss&sss sT.T..T..T....Ts s..............s s..............& s..............s sT..T...T..T..Ts sss}ss}ss}ss}sss s.....s..s.....s s..T..s..s..T..s s.T?T.&..&.T?T.s s.@T..s..s..T@.s s.....s..s.....s sssssss..sssssss sT.*.Ts..sT...Ts s...~.T..T.~@..s sssssss..sssssss sT....s..s....Ts s*....?..?....*s sT....s..s....!s ssssssss&sssssss [additional] 25 2.3.*.0 4.3.*.0 7.3.*.0 10.3.*.0 2.5.&.1.0 1.10.*.0 4.10.*.0 7.10.*.0 10.10.*.0 13.10.*.0 12.11.&.2.0 15.14.&.3.0 3.17.}.3.0.1.0.0.0 6.17.}.3.0.1.0.0.0 9.17.}.3.0.1.0.0.0 12.17.}.3.0.1.0.0.0 6.20.&.4.0 9.20.&.5.0 2.21.@.0 13.21.@.0 3.24.*.2 12.25.@.2 1.28.*.0 14.28.*.0 8.30.&.3.1 [end] [offset] 7896 [level] 42 [colour] b54fba [size] 16.31 [author] St.Kenig Krasnik [data] QQQQQQQQQQQQQQQQ Q.Q?..........!Q Q.Q.T.QQQQQQQQQQ Q.QTTQT........Q Q.QT..@.Q...#..Q Q.QQ@...Q..Q.Q@Q Q.%Q....Q..Q.Q.Q Q..#....Q.RQ^Q.Q QQQQ.Q..Q.#Q.Q@Q Q....Q.QQ..Q.Q.Q Q.QQQQ.Q...QTQ.Q Q.Q........Q?Q@Q Q...QQ..QQ..Q..Q Q.Q.QQQQQQ.....Q Q.Q........QQQ@Q Q.QQ.#.#QQ.TQ?.Q Q@..@..........Q QQQQQQQQQQQQQQTQ Q'.............Q QTQQQQQQQQQQQQQQ Q..............Q QTQQQQQQQQQQQ..Q Q.?.#T#T#T#T#..Q M..............Q Q.QQQQQQQQQQQ..Q Q.QQT.TD^#.....Q Q.TQQQQQ#....b.Q Q.QQ...........Q Q.T....^.......Q Q..T#T#T#T#T#T#Q Q}QQQQQQQQQQQQQQ [additional] 13 6.4.@.0 4.5.@.3 14.5.@.1 12.7.^.1.0.0 14.8.@.1 14.11.@.1 14.14.@.1 1.16.@.2 4.16.@.2 0.23.M.0 8.25.^.2.0.0 7.28.^.0.0.0 1.30.}.3.0.1.0.0.0 [end] [offset] 5096 [level] 43 [colour] 93b06b [size] 16.31 [author] St.Kenig Krasnik [data] pppppppppppppppp p........?.....p p.!@.p..^...#..p p....ppppppppp#p pppppp..p'...^.p pT.Tp..^p.T..p.p p.@.pT..p....}.p p.&.p?..pp.ppp.p p.p.pT.......p.p p.p.p...^....p.p p.p.pppppppp.p.p p.p..T.T.T.T..Tp p..............p pppppppppppppp}p p?...........?.p p..p.T..@T.p...p p..pppp&pppp...p p..p@T...T.p...p p..............p p?...........?.p pppppppppppppp.p p}.............p ppppppppT.pp..Tp pT............}p pT...ppp.ppp..Tp p}...p....p...Tp pppp.p.T@.p.pppp p.Tp.p....p.p.Tp p.?..pppppp.p.Rp p'.p^^^.......Tp pppppppppppppppp [additional] 19 3.2.@.3 8.2.^.0.0.0 13.4.^.0.0.0 7.5.^.3.0.0 2.6.@.2 13.6.}.2.0.1.0.0.0 2.7.&.1.0 8.9.^.2.0.0 14.13.}.3.0.1.0.0.0 8.15.@.2 7.16.&.1.1 4.17.@.0 1.21.}.0.0.1.0.0.0 14.23.}.2.0.1.0.0.0 1.25.}.0.0.1.0.0.0 8.26.@.3 4.29.^.2.0.0 5.29.^.2.0.0 6.29.^.2.0.0 [end] [offset] 5296 [level] 44 [colour] 8b6aae [size] 16.31 [author] St.Kenig Krasnik [data] PPPPPPPPPPPPPPPP PT.^.TP^.PT.^.TP P.T...P..P...T.P P.....P..P.....P PPDPPPPTTPPPPDPP P.T.^.T..T.^.T.P P..............P P.....b..b.....P P.#...?.R?...#.P P......??......P P.}..........}.P P.PPPPPPPPPPPPPP P..............} P.PPPP!PPPP'PPPP P.....PTVVTPT.TP P..^...PHHP..^.P P......b.......P P..............P PPPPDPPPPPPPPPPP PT.............} PP.PPPPPPPPPPPPP }..............P PPPPPPPP&PPPPPPP PT.............P P..PPP.P...PPP.P P..P.P.P...P.P.P P.@PPP.P..@PPP.P P..PTP.P...PTP.P P..P.P.PPP.P.P.P PT.............P PPPPPPPPPPPPPPPP [additional] 15 3.1.^.2.0.0 7.1.^.3.0.0 12.1.^.2.0.0 4.5.^.0.0.0 11.5.^.0.0.0 2.10.}.3.0.1.0.0.0 13.10.}.3.0.1.0.0.0 15.12.}.2.0.1.0.0.0 3.15.^.2.0.0 13.15.^.2.0.0 15.19.}.2.0.1.0.0.0 0.21.}.0.0.1.0.0.0 8.22.&.1.0 2.26.@.1 10.26.@.1 [end] [offset] 5496 [level] 45 [colour] 8dbec6 [size] 16.31 [author] St.Kenig Krasnik [data] OOOOOOOOOOOOOOOO &.*..V.V.H..'.RO O^..TT...O.....O OOOOOOOOOOO.OOOO O....O.....O'.&O O.TT.O..T......O O.TT.O..T..O.^.O O*TT.T.@T..O...O O.TT.O..T..O...O O*TT.O.@T..O...O O....O.....O.T.O OOOOOOOOOOOOO&OO O..@...O.......O O.OOOO.T.TTTTT.O O.O!.O.O.TTTTT.O OT&.VH.O...@...O OOOOOOOOOOOOOOOO O..............O O.?..........?.O O..............O O.....*..*.....O O...OOOOOOOO...O O..T&...HV.&...O O..*OOOOOOOO...O O..............O O.?..........?.O O..OOOOOOOOOO..O O..OTTTVH.^.'T^O O.?OOOOOOOOOO?.O O..............O OOOOOOOOOOOOOOOO [additional] 20 0.1.&.1.0 2.1.*.2 1.2.^.0.0.0 14.4.&.1.1 13.6.^.1.0.0 1.7.*.3 7.7.@.1 1.9.*.3 7.9.@.1 13.11.&.2.0 3.12.@.2 2.15.&.3.0 11.15.@.2 6.20.*.0 9.20.*.0 4.22.&.3.1 11.22.&.5.0 3.23.*.2 10.27.^.0.0.0 14.27.^.0.0.0 [end] [offset] 5696 [level] 46 [colour] b5686f [size] 16.31 [author] St.Kenig Krasnik [data] oooooooooooooooo o}'}oT..^....''o o...o.oooo.ooToo o...o.oTToRo}.}o oT.To.o.#ooo...o oT.To.o..T..T.%o oT.To.o........o oT.To.o^.T..T.To o.ooooo........o o.^...o..T..T.To o.....oT.......o oT...TT...}....o ooooooooooooooDo oT@HTVT........o oT@HTVT.*b*b...o oT@HTVT.~.T.~..o oT@HTVT.*b.b...o oT@HTVH........o o&oooooooooooooo o..............o o...@...@...@..o o..####?#?####.o o..#.....*...#.o o.@#.ooo'ooo.#.o o..?.oT.!.To.?.o o..#*o.VVV.o*#.o o.@#.oTTHTTo.#.o o..#....*....#.o o..####???####.o o..............o oooooooooooooooo [additional] 26 1.1.}.1.0.0.0.0.0 3.1.}.1.0.0.0.0.0 8.1.^.2.0.0 12.3.}.1.0.1.0.0.0 14.3.}.1.0.1.0.0.0 7.7.^.3.0.0 2.9.^.2.1.1 10.11.}.3.0.0.1.0.0 2.13.@.2 2.14.@.2 8.14.*.0 10.14.*.0 2.15.@.2 2.16.@.2 8.16.*.2 2.17.@.2 1.18.&.6.0 4.20.@.2 8.20.@.2 12.20.@.2 9.22.*.0 2.23.@.1 4.25.*.3 12.25.*.3 2.26.@.1 8.27.*.0 [end] [offset] 5896 [level] 47 [colour] 758785 [size] 16.31 [author] St.Kenig Krasnik [data] OOOOOOOOOOOOOOOO O!#@....T.T.O&RO O.#.........O.TO O&...OT....TOOOO O@.'&.'....O...O O...TO*...O....O O........O.....O O.......O...O..O O@..b..O...@O..O O.....O..@TOT..O O@...O..OOO....O O...O..........O O..O.TT.T.TTTT.O O..O...T.T.....O O...O.........#O O....O.........O O.O...O..}..}..O O..O...O.......O O...O...O.T....O O....O...O..T.TO O..T..O...T....O O.T^...O^..O.T.O O..T..O.....O..O O.T..O...TT..OOO O...O..@?@..O.?O O??O...?...OT.*O OOO..TT@..O....O O........O?.T.*O OTTOOOOOO......O O......*..*.*.*O OOOOOOOOOOOOOOOO [additional] 23 3.1.@.0 13.1.&.1.0 1.3.&.2.0 1.4.@.0 4.4.&.1.1 6.5.*.2 1.8.@.3 11.8.@.2 9.9.@.2 1.10.@.3 9.16.}.3.0.0.1.0.0 12.16.}.3.0.0.1.0.0 3.21.^.0.0.0 8.21.^.0.0.0 7.24.@.2 9.24.@.0 14.25.*.2 7.26.@.0 14.27.*.3 7.29.*.0 10.29.*.0 12.29.*.0 14.29.*.0 [end] [offset] 5A96 [level] 48 [colour] 95bc84 [size] 16.31 [author] St.Kenig Krasnik [data] PPPPPPPPPPPPPPPP P}}}}PTT.....^.P P....P....P?..!P PT...P^...PP..RP P'...PT...P}PPPP PTTTTPPPP#P.}}}P P..^.}T...PT...P PTTTTP..#.P....P P..^.P.~..PT...P PTTTTP....P.TTTP P..^.PHHHHPT.^.P PTTTTP*TT@P.TTTP P..^TP*TT@PT.^.P PTTT.P*TT@P.TTTP P.^..P.TT.P..^.P PPPP#PHHHHP#PPPP P....P..'.P^^^^P P....P....P....P P....P.?..P....P P....P~...P....P P....P.?..P....P P....P....P....P P....D.?..D....P P....P....P....P P....Pb##bP....P P....PV##.P....P P....PVV#VP....P P....PVV#VP....P P^^^^PTT#VP....P PTTTTP%?#%PTTTTP PPPPPPPPPPPPPPPP [additional] 33 1.1.}.1.0.1.0.0.0 2.1.}.1.0.1.0.0.0 3.1.}.1.0.1.0.0.0 4.1.}.1.0.1.0.0.0 13.1.^.0.0.0 6.3.^.1.0.0 11.4.}.1.0.1.0.0.0 12.5.}.1.0.1.0.0.0 13.5.}.1.0.1.0.0.0 14.5.}.1.0.1.0.0.0 3.6.^.2.0.0 5.6.}.0.0.1.0.0.0 3.8.^.2.0.0 3.10.^.2.0.0 13.10.^.2.0.0 6.11.*.0 9.11.@.2 3.12.^.2.0.0 6.12.*.0 9.12.@.2 13.12.^.2.0.0 6.13.*.2 9.13.@.0 2.14.^.0.0.0 13.14.^.0.0.0 11.16.^.1.0.0 12.16.^.1.0.0 13.16.^.1.0.0 14.16.^.1.0.0 1.28.^.3.0.0 2.28.^.3.0.0 3.28.^.3.0.0 4.28.^.3.0.0 [end] [offset] 5C96 [level] 49 [colour] 9bbb8b [size] 16.31 [author] St.Kenig Krasnik [data] PPPPPPPPPPPPPPPP P'...TP.T....%.P P.....P....#...P P.@P..P.PPPPPP.P P.....P.*.*.*..P PT...TP.......TP PPP.PPP.PPPPPPPP PT...TPR..#.T..} P.....P........P P..P@.P.TTbbbT.P P.....P........P PT...TP........P PPP.PPPPPPPDPPPP PT...TP.......?P P..@..P..##~...P P..P..P@.#.....P P.....P..#~#b..P PT...TP@...#...P PPP.PPP..###...P PT...TP@......?P P.....PPPP&PPPPP P.@P..P?...^...P P.....P........P PT...TP......b.P PPP.PPP.PPPDPPPP PT...TP.P......P P.....P.PV@VV@VP P..b..P.PVVVVVVP P..@..P.P*V*VV*P PT...TD.P...!..P PPPPPPPPPPPPPPPP [additional] 19 2.3.@.1 8.4.*.2 10.4.*.2 12.4.*.2 15.7.}.2.0.1.0.0.0 4.9.@.3 3.14.@.2 7.15.@.3 7.17.@.3 7.19.@.2 10.20.&.1.0 2.21.@.1 11.21.^.2.0.0 10.26.@.2 13.26.@.2 3.28.@.0 9.28.*.2 11.28.*.2 14.28.*.2 [end] [offset] 5E96 [level] 50 [colour] ac7d92 [size] 16.31 [author] St.Kenig Krasnik [data] ssssssssssssssss s....sTsTsTs.'.s s.TT.s.s.s.sT.Ts s....s^s^s^s...s s....s.s.s.s...s s.TT.T.s.s.TT.Ts s....s.s.s.s...s s....sTsTsTs...s s.}}.s.s.s.s}.}s ssssss&s&s&sssss s?............?s s..............s s.....@.'.@....s s.....s.s.s....s s.......s......s s..^..T.R.T.^..s s.....s...s....s sT....}.!.}...Ts s.....sssss....s s..^........^..s s.ssssssssssss.s s....?..^.?....s s..ssssssssss..s sT.s...ssT*Ts.Ts s..s...ss...s..s s..&...ss...&..s s^.s...ss...s.^s s..sT*Tss...s..s s..ssssssssss..s sT..^..TT..^..Ts ssssssssssssssss [additional] 27 6.3.^.3.0.0 8.3.^.1.0.0 10.3.^.1.0.0 2.8.}.3.0.1.0.0.0 3.8.}.3.0.1.0.0.0 12.8.}.3.0.1.0.0.0 14.8.}.3.0.1.0.0.0 6.9.&.1.0 8.9.&.2.0 10.9.&.3.0 6.12.@.2 10.12.@.2 3.15.^.0.0.0 12.15.^.0.0.0 6.17.}.2.0.2.0.0.0 10.17.}.0.0.2.0.0.0 3.19.^.2.1.1 12.19.^.0.1.1 8.21.^.2.0.0 10.23.*.2 3.25.&.4.0 12.25.&.5.0 1.26.^.1.0.0 14.26.^.1.0.0 5.27.*.0 4.29.^.0.0.0 11.29.^.0.0.0 [end] [offset] 6096 [level] 51 [colour] 88a053 [size] 16.31 [author] St.Kenig Krasnik [data] QQQQQQQQQQQQQQQQ Q.R...'TT..^.TTQ QbQQQQQQQQQQQQQQ Q..............Q QH..Q...b..Q@..Q QH.QQQ....QQQ..Q QH.TQT..?.TQT..Q QH..Q@.....Q...Q Q..QTQ..?.QTQ..Q Q}.............Q QQQQDQQQQQQDQQQQ QT.Q.Q..TQT.Q.TQ Q..&....^QT.&..Q QT.Q.T.bTQT.Q.%Q QQQQ}QQQQQQ}QQQQ QT.T....^.....TQ Q..............Q Q.Q.....b......Q Q^Q^QQQQQQQQQ.^Q Q.Q.Q'......Q..Q Q.Q.Q.QQQDQ.Q..Q Q.Q.Q.QVVbQ.Q..Q Q.Q.Q*QV!VQ.Q..Q Q.Q.Q.QVVVQ.Q..Q Q.Q.Q*QQQQQ.Q..Q Q.Q.Q.......Q..Q Q.Q.QQQQTQQQQ..Q Q.QT.....^.....Q Q.QQQQQQQQQQQQDQ Q~......%......Q QQQQQQQQQQQQQQQQ [additional] 16 11.1.^.0.0.0 12.4.@.2 5.7.@.2 1.9.}.3.0.1.0.0.0 3.12.&.3.0 8.12.^.3.0.0 12.12.&.6.0 4.14.}.3.0.1.0.0.0 11.14.}.3.0.1.0.0.0 8.15.^.0.0.0 1.18.^.3.0.0 3.18.^.3.0.0 14.18.^.3.0.0 5.22.*.3 5.24.*.3 9.27.^.0.0.0 [end] [offset] 6296 [level] 52 [colour] b35d69 [size] 16.31 [author] St.Kenig Krasnik [data] PPPPPPPPPPPPPPPP P.............RP P...T.b..b.T...P P..PPPPPPPPPP..P P..PTVVVVVVTP..P P.@P!V????V.P..P P..P'..VVV.#P..P P..P##....##P..P P..P###..###P..P P..P########P..P P..............P P.PPPP.........P P..#...P..P?#P.P PPPPP..P?.PP...P PT.#...PP.PT#..P P.PPP..PT.PP...P P..#........#..P P..P..b..b..P..P P..P..P..P..P..P P..P..P..P..P.#P P..P....^...P..P P.T}........}T.P P..............P P..............P P..PPPTPPPTPPP.P P..............P P.PPPP..PPPPPT.P P..~...........P P.bP#PPPPPP#Pb.P P......T.......P PPPPPPPPPPPPPPPP [additional] 4 2.5.@.1 8.20.^.0.0.0 3.21.}.0.0.2.0.0.0 12.21.}.2.0.2.0.0.0 [end] [offset] 6496 [level] 53 [colour] 87d072 [size] 16.31 [author] St.Kenig Krasnik [data] OOOOOOOOOOOOOOOO O.T.?...~..?.T.O O..............O O..O..@O....O..O O.*O..O&O@..O*.O O..O..O.O...O..O O.....OTO......O O.T.?.....~?.T.O OOOOOOOOOOOOOOOO O.......^......O O###.OOOOOOOOO.O O!.##OT.&T.....O O.#..OT.OO.OOOOO O#&#.O....^....O OOOOOOOOOOOOOOOO O.....O.T@.@.T.O O@.T..O........O O..&..O..TTTT..O O@.%..O@.T.&T..O O..T..&........O O.....O........O OOOOOOOOOOOOOOOO OT.D......O...TO OOOO.OOO....O..O O.}..*&O....O.%O O...O..O...^OOOO O...OO........OO O......OOO..OOOO O.....}O'O..OT%O OR.....O.D..D..O OOOOOOOOOOOOOOOO [additional] 22 6.3.@.2 2.4.*.3 7.4.&.3.0 9.4.@.3 13.4.*.1 8.9.^.0.0.0 8.11.&.4.0 2.13.&.3.1 10.13.^.0.0.0 9.15.@.0 11.15.@.0 1.16.@.3 3.17.&.4.1 1.18.@.3 7.18.@.3 11.18.&.1.0 6.19.&.2.0 2.24.}.1.0.0.0.0.0 5.24.*.2 6.24.&.1.1 11.25.^.3.0.0 6.28.}.2.0.0.0.0.0 [end] [offset] 6696 [level] 54 [colour] 8cb7a7 [size] 16.31 [author] St.Kenig Krasnik [data] PPPPPPPPPPPPPPPP P'T.....^....%%P PPPPPPPDPPPPPPPP P??..........R.P PPPPPPPPPPPPP..P P..*..PT.@T.P!.P P.TTT.P@....P..P P.T.T.&..%..&..P P.TTT.PT....P..P P.....PP...PP..P PPPPPPPPPPP.T..P P...?...?......P PM............TP P....T...T.....P PPPPPPPDPPPPP}PP P*...*...*...*.P PT...........?.P PPPPPPPDPPPPPPPP }..T..........^P PT....^.......TP PTT.......^...TP PPPPPPPPTPPPPPPP PT............TP P..PPPPPPPPPP..P P.P.TTTTTTT'.P.P P.P.VVVVVVVV.P.P P.PPPPPHPPPPPP.P P.P..TTTTT...P.P PT.....}.}....TP PT............TP PPPPPPPPPPPPPPPP [additional] 18 8.1.^.0.1.1 3.5.*.0 9.5.@.0 7.6.@.0 6.7.&.2.0 12.7.&.1.0 1.12.M.0 13.14.}.3.0.1.0.0.0 1.15.*.0 5.15.*.2 9.15.*.2 13.15.*.2 0.18.}.0.0.2.0.0.0 14.18.^.0.0.0 6.19.^.0.0.0 10.20.^.0.0.0 7.28.}.3.0.0.1.0.0 9.28.}.3.0.0.1.0.0 [end] [offset] 6896 [level] 55 [colour] ad8d63 [size] 16.31 [author] St.Kenig Krasnik [data] ssssssssssssssss s'sTsTsTsTsTsR.s s.s.s.s.s.s.ss.s s..^...........s s.s.s.s.s.s.ssDs s%sTsTsTsTsTs..s sssssssssssss..s s............T.s s..@..@..@...T}s s&ssssssssssssss s..............s s..s*s*s*s*s*s.s s?..sVsVsVsV&*.s s..sTsTsTsTsTs.s s?.............s ssssssssssssssss sT....s.&s....Ts s..@..s..s...@.s sssss~s..s~sssss s^^^^^s..s^^^^^s s.....s..s.....s s.....&HH&.....s s.....sHHs.....s s.....sVVs.....s s.....sVVs.....s s.....sHHs.....s s.....sTbs.....s s.....s.Hs.....s s.....s.bs.....s sTTT'Ts}!sT'TTTs ssssssssssssssss [additional] 29 3.3.^.0.1.1 3.8.@.2 6.8.@.2 9.8.@.2 14.8.}.3.0.1.0.0.0 1.9.&.1.0 4.11.*.0 6.11.*.0 8.11.*.0 10.11.*.0 12.11.*.0 12.12.&.2.0 13.12.*.0 8.16.&.2.1 3.17.@.2 13.17.@.2 1.19.^.3.0.0 2.19.^.3.0.0 3.19.^.3.0.0 4.19.^.3.0.0 5.19.^.3.0.0 10.19.^.3.0.0 11.19.^.3.0.0 12.19.^.3.0.0 13.19.^.3.0.0 14.19.^.3.0.0 6.21.&.5.0 9.21.&.6.0 7.29.}.3.0.2.0.0.0 [end] [offset] 6A96 [level] 56 [colour] a0a757 [size] 16.31 [author] St.Kenig Krasnik [data] PPPPPPPPPPPPPPPP P!...P....T.}%.P P..?.PTTTT.TP.VP P.?b.P..^.^.PH.P P.*..D......PTbP PPPPPP......PP.P P......?.......P PT.............M P.........^....P PT.............M P..............P P..........^...M P...?...^...PPPP P...........P.'P P...........D.&P P......?....P.%P P...........PPPP P............#.P P....?.........P P..........^...P P..#...........P P.......^......P P............#.P P..#...........P P....?....^....P P..............P }....PPPPPPP...} }....P@P.R.P...} P....P.P.T.P...P PTTTT&.T...PTTTP PPPPPPPPPPPPPPPP [additional] 20 12.1.}.2.0.1.0.0.0 8.3.^.3.0.0 10.3.^.3.0.0 2.4.*.0 15.7.M.2 10.8.^.1.0.0 15.9.M.2 11.11.^.1.0.0 15.11.M.2 8.12.^.1.0.0 14.14.&.1.0 11.19.^.1.0.0 8.21.^.1.0.0 10.24.^.1.0.0 0.26.}.0.0.2.0.0.0 15.26.}.2.0.2.0.0.0 0.27.}.0.0.2.0.0.0 6.27.@.0 15.27.}.2.0.2.0.0.0 5.29.&.1.1 [end] [offset] 6C96 [level] 57 [colour] 84a768 [size] 16.31 [author] St.Kenig Krasnik [data] PPPPPPPPPPPPPPPP P...^..'..R..TTP P.PPPPPPPPPPPPbP P..............M P..PPPPPPPPP~..P P.P..........P.P P.P.TTT'TTTT.H.P P.P*.*..*..*.P.P P..PPPPPPPPPP..P P..?.?.?.?.#...P P..............M P.PPPPPPPPPPPPHP P.P..........P.P P.P.TTTTTTTT.H.P P.P.TTTTTTTT.P.P P.P.@.@.@.@..P.P P.PPPPPPPPPPP..P P..............P PTPPPPPPPPP?#..P P.P..........PHP P.P@PPPPPPP..P.P P^P.P.....T.TP.P P.P.P..!..P..P.P P.P@PT....P..PbP PTP.P.@.T.P..P.P P.P.PPPPPPP..P.P P^P@...@.....P.P P.PPPPPPPPPPPPHP P..............P PTT..^....^TTT}P PPPPPPPPPPPPPPPP [additional] 21 4.1.^.2.1.1 15.3.M.2 3.7.*.0 5.7.*.0 8.7.*.0 11.7.*.0 15.10.M.2 4.15.@.2 6.15.@.2 8.15.@.2 10.15.@.2 3.20.@.1 1.21.^.3.0.0 3.23.@.1 6.24.@.2 1.26.^.3.0.0 3.26.@.2 7.26.@.2 5.29.^.2.0.0 10.29.^.2.0.0 14.29.}.3.0.1.0.0.0 [end] [offset] 6E96 [level] 58 [colour] 9a6391 [size] 16.31 [author] St.Kenig Krasnik [data] QQQQQQQQQQQQQQQQ Q.T..........T.Q Q....@...@.....Q Q...VVVVVVVV...Q Q...?..?..?..?.Q Q...VVVVVVVVV..Q Q....*.*.......Q Q.T..........T.Q QQQQHQQQQQQQQQQQ Q..............Q Q.#.#.........MQ QQQQQQQQ...QQQ'Q }...........TTTQ QQQQQQQQQ!QQQQQQ }............TTQ QQQQQQQQQQQQ&QQQ Q?.^TQT.^......Q Q....Q...Q.....Q Q?...Q...Q.....Q Q..T.R..TQT.^.TQ QQQQQQQQQQ.....Q Q..^...........Q Q..............Q Q....###.......Q Q.....b........Q QQQDDQQQQQQQQQQQ QTT..TTTQ@.@.@.Q Q....Tb.Q.T....Q Qb....b.&......Q Qbbbbbb.Q......Q QQQQQQQQQQQQQQQQ [additional] 16 5.2.@.2 9.2.@.2 5.6.*.2 7.6.*.2 14.10.M.2 0.12.}.0.0.1.0.0.0 0.14.}.0.0.0.0.0.0 12.15.&.3.0 3.16.^.1.0.0 8.16.^.1.0.0 12.19.^.2.0.0 3.21.^.0.1.1 9.26.@.0 11.26.@.0 13.26.@.0 8.28.&.2.0 [end] [offset] 7096 [level] 59 [colour] b572b0 [size] 16.31 [author] St.Kenig Krasnik [data] OOOOOOOOOOOOOOOO OT......R.....!O M..'OOOOOOOOOOOO O...O.?..T~.?..O OO.~O..#.....T.O O..^O.....TT...O O...O...T......O O...O.T.....T..O O...O..........O OT..O.........TO OT.OO..........O O..TOT..}..}...O O...OOOOOOTOOOOO O^..O@VTVTVTVT@O OO.OO.VVVVVVVV.O O...O...TVVT...O O..^O@........@O O...OOODOOOOOOOO O...O........b.O OT..}..T%......O O...OOOOOOOOODOO O..TO..........O OO.TO.TTTbTT#T.O OT..O..........O O..^O.@.@.@.@.@O O...OOOOOOOOTOOO O...O..........O O...O.TTTTTTTT.O O...O..........O O.}.#...*.*.*.*O OOOOOOOOOOOOOOOO [additional] 22 0.2.M.0 3.5.^.3.0.0 8.11.}.3.0.0.1.0.0 11.11.}.3.0.0.1.0.0 1.13.^.3.0.0 5.13.@.0 14.13.@.0 3.16.^.3.0.0 5.16.@.2 14.16.@.2 4.19.}.0.0.1.0.0.0 3.24.^.3.0.0 6.24.@.2 8.24.@.2 10.24.@.2 12.24.@.2 14.24.@.2 2.29.}.3.0.1.0.0.0 8.29.*.0 10.29.*.0 12.29.*.0 14.29.*.0 [end] [offset] 7296 [level] 60 [colour] 9ba9c2 [size] 16.31 [author] St.Kenig Krasnik [data] PPPPPPPPPPPPPPPP PR..T...T...T..P P..............P P.@P..@P..@P..TP P..............P PPPPPPPPPPPPPP.P P%.....^.....#.P P............P.P PT..T....T..TP}P PPPPPPPDPPPPPPPP P..............P P..............P P..TTT....TTT..P P.T...T..T...T.P P.T.}.T..T.}.T.P P.T...T..T...T.P P.@TTT@..@TTT@.P P......Tb......P P..............P PPPPPPPTPPPPPPPP P..............P P.?PPPP.PPPPP?.P P.PT...D....TP.P P.P...V.V.V..P.P P.P....V.V...P.P P.P?.T...T~.?P.P P..PPPPPPPPPP..P P..TTTTT'TTTT..P P.......!......P P....}.....}...P PPPPPPPPPPPPPPPP [additional] 13 2.3.@.1 6.3.@.1 10.3.@.1 7.6.^.2.1.1 14.8.}.3.0.1.0.0.0 4.14.}.0.0.0.0.1.1 11.14.}.0.0.0.0.1.1 2.16.@.0 6.16.@.0 9.16.@.0 13.16.@.0 5.29.}.3.0.0.1.0.0 11.29.}.3.0.0.1.0.0 [end] [offset] 7496 [level] 61 [colour] a5bf49 [size] 16.31 [author] St.Kenig Krasnik [data] PPPPPPPPPPPPPPPP PR....T...T....P P..............P PT.PTPPPPPPPP..P P..P........P..P P.@P..TTTTT.P..P P..P..T...T.P..P PT.P..T...T.P.TP P..P..T...T.P..P P.@P..T...T.P@.P P..P..T...T.P..P PT.P..T.!.T.P.TP P..P..T...T.P..P P.@P..T...T.P@.P P..P..T...T.P..P PT.P..~...T.P.TP P..P..T...T.P..P P.@P..T...T.P@.P P..P..T...T.P..P PT.P..T..@T.P.TP P..P..T...T.P..P P.@P..T...T.P@.P P..P..T...T.P..P PT.P..T...T.P.TP P..P..TTTTT.P..P P.@P........P@.P P..P........P..P PT.PPPPPPPPPP.TP P...@....@.....P P..............P PPPPPPPPPPPPPPPP [additional] 14 2.5.@.1 2.9.@.1 13.9.@.3 2.13.@.1 13.13.@.3 2.17.@.1 13.17.@.3 9.19.@.1 2.21.@.1 13.21.@.3 2.25.@.1 13.25.@.3 4.28.@.0 9.28.@.0 [end] [offset] 7696 [level] 62 [colour] 80a4b4 [size] 16.31 [author] St.Kenig Krasnik [data] PPPPPPPPPPPPPPPP P......R.......P P.PPPPP..PPPPP.P P.}.TT.^..TT.}.P P.PPPPP..PPPPP.P P...?......?...P P...*......*...P P..###....###..P P..%.T....T.T..P P..............P M..............M P.?..........?.P PPPPPPPPDPPPPPPP P}}.??.P..P...TP P......T..T....P PTT....PT.P..T.P PT'....P.TP.T.TP P^.PPTPPT.PT...P P..P...P^.P....P P..P.@.P..P..'.P P.^P.T.P.^P....P PTTP.T.PT.PT..TP P..P.T.P^TP....P PTTP.T.P..P.T..P P^.P.T.P.^P....P P..P.T.PT.P..T.P P..P.@.P.TP....P P.^P...PT.P....P P..P.!.P..P.}.}P PTTP...P}}P.T.TP PPPPPPPPPPPPPPPP [additional] 23 2.3.}.0.0.1.0.0.0 7.3.^.2.0.0 13.3.}.2.0.1.0.0.0 4.6.*.0 11.6.*.0 0.10.M.0 15.10.M.2 1.13.}.1.0.1.0.0.0 2.13.}.1.0.1.0.0.0 1.17.^.3.0.0 8.18.^.3.0.0 5.19.@.2 2.20.^.3.0.0 9.20.^.3.0.0 8.22.^.3.0.0 1.24.^.3.0.0 9.24.^.3.0.0 5.26.@.0 2.27.^.3.0.0 12.28.}.3.0.0.1.0.0 14.28.}.3.0.0.1.0.0 8.29.}.3.0.1.0.0.0 9.29.}.3.0.1.0.0.0 [end] [offset] 7896 [level] 63 [colour] 94a693 [size] 16.31 [author] St.Kenig Krasnik [data] oooooooooooooooo o....o.R.o.....o o.TT.oT.To.TTT.o o@TT.oo&oo*TTT.o o.TT.&.T.&.TTT.o o....o...o.....o oooooo...ooooooo o.?..........?.o o..............o oT............}o o.........^....o oT............}o o........^.....o oT............}o o..........^...o oT............}o o..............o o..............o ooooooooTooooooo o..............o o.@...oHHo...@.o o....o.VV.o....o o...o.TTTT.o...o oTTTooooooooTTTo }...o...@..o...} o...o..oo..o...o o...o'.....o...o }...T&ooooTT...} o...o......o...o oTTTo.~^..!oTTTo oooooooooooooooo [additional] 21 1.3.@.1 7.3.&.1.0 10.3.*.3 5.4.&.3.0 9.4.&.4.0 14.9.}.2.0.0.0.0.0 10.10.^.2.0.0 14.11.}.2.0.0.0.0.0 9.12.^.2.0.0 14.13.}.2.0.0.0.0.0 11.14.^.2.0.0 14.15.}.2.0.0.0.0.0 2.20.@.3 13.20.@.3 0.24.}.0.0.0.0.0.0 8.24.@.2 15.24.}.2.0.0.0.0.0 0.27.}.0.0.0.0.0.0 5.27.&.1.1 15.27.}.2.0.0.0.0.0 7.29.^.0.0.0 [end] [offset] 5096 [level] 64 [colour] 7a7b98 [size] 16.31 [author] St.Kenig Krasnik [data] ssssssssssssssss s.T..sT.Ts..T..s s.T..s.R.s..T..s sTbT.b'.'b.TbT.s s.T..bbbbb..T..s s..............s s##s#s#s#s#s#s#s s##s#s#s#s#s#s#s sTHsHsHsHsHsHsHs sHTsHsHsHsHsHsHs sTHsHsHsHsHsHsHs sHTsHsHsHsHsHsHs sTHsHsHsHsHsHsHs sHTsHsHsHsHsHsHs s''sVsVsVsVs's's sHHsHsH'HsHsHsHs sHTsTsT&TsTsTsTs sssssss&ssssssss sT...^........Ts sH............Hs sH..b..b..b...Hs sHTssssssssssTHs sH..?..?..?...Hs s}.ssssssssss.}s s..............s s..s.sTTTs.s.s.s s.sVsVs!sVsVss.s s.*s.s*s.s*s.s.s s..............s s.?..........?.s ssssssssssssssss [additional] 8 7.16.&.1.0 7.17.&.1.1 5.18.^.0.0.0 1.23.}.3.0.1.0.0.0 14.23.}.3.0.1.0.0.0 2.27.*.2 6.27.*.2 10.27.*.2 [end] [offset] 5296 [level] 65 [colour] a1987f [size] 16.31 [author] St.Kenig Krasnik [data] PPPPPPPPPPPPPPPP P}.T.^..T..^.TRP }.T..^..T..^.T'P P.PPPPPPPPPPPPPP P........T.^.T.} PPPT...^.TPPP&PP PTTP..^..P'P...P P..}PPPPPT^P.*.P P..........P.T.P M....^.....T.?.P P..........P.?.P PT...^....TP.T.P PT^.......TP...P PPPPPP&PPPPPPPPP P..............P P.PPP..PP..PPP.P P.?PT..'P..TP?.P P.PPP..P...PPP.P P.TP@..TP..*PT.P P.PPP..P...PPP.P P.?PT..TP..TP?.P P.PPP..PT..PPP.P P.TP@..TP..*PT.P P.PPP..PT..PPP.P P.?PT..TP..TP?.P P.PPP..PT..PPP.P P.TP@..TP..*PT.P P.PPP..PT..PPP.P P..PT..TP..TP..P P?......!.....?P PPPPPPPPPPPPPPPP [additional] 25 1.1.}.0.0.1.0.0.0 5.1.^.0.0.0 11.1.^.0.0.0 0.2.}.0.0.1.0.0.0 5.2.^.0.1.1 11.2.^.0.1.1 11.4.^.2.0.0 15.4.}.2.0.1.0.0.0 7.5.^.2.0.0 13.5.&.1.0 6.6.^.2.0.0 3.7.}.2.0.1.0.0.0 10.7.^.2.0.0 13.7.*.0 0.9.M.0 5.9.^.2.0.0 5.11.^.2.0.0 2.12.^.2.0.0 6.13.&.2.0 4.18.@.2 11.18.*.0 4.22.@.2 11.22.*.0 4.26.@.2 11.26.*.0 [end] [offset] 5496 [level] 66 [colour] 6ed365 [size] 16.31 [author] St.Kenig Krasnik [data] oooooooooooooooo o?......R.....?o o..............o o.T.T.%.T.T.T.To oT.T.T.T.T.T.T.o o..............o o..}..}...}....o o..............o oooooooDoooooooo oT'?'?........}o o......TTTTTTT.o oToooooooooooooo o.............?o o..TTTTTTTTT...o o..............o o?.@.@.@.@.@..?o ooooooooooooo&oo o..............o o..o.oToTo.o...o o.oTo@o.o@oTo..o o..............o o..............o o..............o o....ooooo.....o o#..*o!VVH*...#o o....ooooo.....o o..............o o.oooooooooooo.o o.TTTTTTTTTTTT.o o..}...}....}..o oooooooooooooooo [additional] 17 3.6.}.3.0.0.1.0.0 6.6.}.3.0.0.1.0.0 10.6.}.3.0.0.1.0.0 14.9.}.2.0.1.0.0.0 3.15.@.2 5.15.@.2 7.15.@.2 9.15.@.2 11.15.@.2 13.16.&.1.0 5.19.@.0 9.19.@.0 4.24.*.3 10.24.*.1 3.29.}.3.0.0.1.0.0 7.29.}.3.0.0.1.0.0 12.29.}.3.0.0.1.0.0 [end] [offset] 5696 [level] 67 [colour] ad8c60 [size] 16.31 [author] St.Kenig Krasnik [data] oooooooooooooooo oTT.^......^..Ro oooo....oT..oooo o}}o.@T.oT..o}}o o..o%...~T.To..o o..ooooo&oooo..o o..............o o.T.....'....T.o oTT....T#T...TTo oTT.....b....TTo oTT...*T#T...TTo o.......#......o o.......*......o oT.^..T...T..^To ooooooooDooooooo o..............o oo.TTTT@......Mo o..............o oooooooo&ooooooo o.?..........?.o o.@TTTTTTTTT@..o o..TTTTTTTTT...o o..@TTTTTTT@...o o.?..........?.o ooooooTTTToooooo o?............?o oM............Mo o....^....^....o o..............o o.TTTT.!.TTTTT.o oooooooooooooooo [additional] 23 4.1.^.1.0.0 11.1.^.1.0.0 1.3.}.1.0.1.0.0.0 2.3.}.1.0.1.0.0.0 5.3.@.1 13.3.}.1.0.1.0.0.0 14.3.}.1.0.1.0.0.0 8.5.&.1.0 6.10.*.3 8.12.*.2 3.13.^.0.1.1 13.13.^.0.1.1 7.16.@.3 14.16.M.2 8.18.&.2.0 2.20.@.0 12.20.@.3 3.22.@.0 11.22.@.0 1.26.M.0 14.26.M.2 5.27.^.0.1.1 10.27.^.0.1.1 [end] [offset] 5896 [level] 68 [colour] a87c51 [size] 16.31 [author] St.Kenig Krasnik [data] ---------------- -%..^...T-'..T.& -........-..@..- M...^....'.#?..- -TTTTTTTT-....T- -..}.}...------- ----D----?.....- -T..@.T-...b*-.- -......T.*T---.- -T....T-.......- -----------D---- -T.@.@..@.....T- -T............T- -.T..........TT- -}.%.@...@..T.}- -TT..........TT- -T...*....*.*.T- -------~-------- -.?..........?.- -...@.....@....- -.TTTTT@TTTTTT.- -.bbbbbbbbbbbb.- -.TTTTTTTTTTTT.- -.?TTTTTTTTTT?.- -..............- -------D-------- -?...........R?- -...*..*..*....- -T..TTT!TTTT...- -&T...........?- ---------------- [additional] 27 4.1.^.0.0.0 15.1.&.1.0 12.2.@.2 0.3.M.0 4.3.^.0.0.0 3.5.}.3.0.0.1.0.0 5.5.}.3.0.0.1.0.0 4.7.@.0 12.7.*.0 9.8.*.3 3.11.@.0 5.11.@.0 8.11.@.0 1.14.}.0.0.0.0.0.0 5.14.@.3 9.14.@.3 14.14.}.2.0.0.0.0.0 5.16.*.0 10.16.*.0 12.16.*.0 4.19.@.2 10.19.@.2 7.20.@.2 4.27.*.0 7.27.*.0 10.27.*.0 1.29.&.1.1 [end] [offset] 5A96 [level] 69 [colour] 668e9e [size] 16.31 [author] St.Kenig Krasnik [data] ---------------- ------V--V------ -}-VVV#bb#VVV%-} -.--%--%---V---. T.T---....----%. T.T-.........-'. -.--.-.....-.--. -.--..-.R.-..--. -D-...-----...-D .....-V-.-V-.... .....-VV.VV-.... ......-----..... ...----&.T----.. ..--.--...-..--. .....-...^-..... ----.-....-.---- **.-.-TTTT-.-@@. ..*-.-TTTT-.-..@ **.-.------.-@@. ---..--TT--..--- ....---..---.... .^..---^^---..^. ................ ................ D-.?.?.?.?.?..~. D--------------- T-TTT-TTT-TTT-.! T-T-T-T-T-T-T-.& T-T-T-T-T-T-T-.' T-T-T-T-T-T-T-.T TTT-TTT-TTT-TT^T [additional] 20 1.2.}.1.0.1.0.0.0 15.2.}.1.0.1.0.0.0 7.12.&.1.0 9.14.^.2.0.0 0.16.*.2 1.16.*.2 13.16.@.0 14.16.@.0 2.17.*.3 15.17.@.1 0.18.*.0 1.18.*.0 13.18.@.2 14.18.@.2 1.21.^.0.0.0 7.21.^.0.0.0 8.21.^.0.0.0 14.21.^.0.0.0 15.27.&.1.1 14.30.^.3.0.0 [end] [offset] 5C96 [level] 70 [colour] b86d7a [size] 16.31 [author] St.Kenig Krasnik [data] OOOOOOOOOOOOOOOO M.....^........O OOTTTOOOOOOOO'.O OTTT.T.T.T.TOORO O...........TO!O O......b..b..OOO O.....TOOOO....O O......b.@b....O O..............O O}}}.....?.?.?.O OOOOODOOOOOOOOOO O...O.O........O O@T.T.T.T#TT#T.O O.T.T.T...TT.*.O O...O.O........O OOOOO.OOOOOOOOOO O...O.O........O O.T.O.O.T.T.T..O O.T*T.T..T.T.T.O O...O.O...}.}..O OOOOOTOOOOOOOOOO OT.TO.O?......?O O.@.O.O.^.^.^..O OVV.O.O........O O.V.O.O........O O...D.D.#.b.'..O OVV.D%D........O O..VO%O........O O.@.O.O.^.^.^..O OT.TO}O?......?O OOOOOOOOOOOOOOOO [additional] 20 0.1.M.0 6.1.^.0.0.0 9.7.@.0 1.9.}.3.0.1.0.0.0 2.9.}.3.0.1.0.0.0 3.9.}.3.0.1.0.0.0 1.12.@.1 13.13.*.2 3.18.*.3 10.19.}.3.0.0.1.0.0 12.19.}.3.0.0.1.0.0 2.22.@.2 8.22.^.1.0.0 10.22.^.1.0.0 12.22.^.1.0.0 2.28.@.3 8.28.^.1.0.0 10.28.^.1.0.0 12.28.^.1.0.0 5.29.}.3.0.1.0.0.0 [end] [offset] 5E96 [level] 71 [colour] 7887ca [size] 16.31 [author] St.Kenig Krasnik [data] ssssssssssssssss sTTTTTTTTTTTTTTs s..*.*.*.......s s.###b#bb#b###.s s.#..........#.s s%#......R...#.s sssssssDssssssss sT............Ts s..............s s..ssT...Tss@..s s.Tss@....ss'..s s..............s sT............Ts sssssssDssssssss sT.........^..Ts s..............s M..............M s..............s sT....^.......Ts sssssssDssssssss s?............?s s..............s s.Tsss....sssT.s s...*T....T*...s s?.....^......?s sssssssDssssssss s?............?s s...T..!...'...s s..@........@..s sT....T}T.....Ts ssssssssssssssss [additional] 15 3.2.*.0 5.2.*.0 7.2.*.0 12.9.@.2 5.10.@.0 11.14.^.0.0.0 0.16.M.0 15.16.M.2 6.18.^.0.0.0 4.23.*.2 11.23.*.2 7.24.^.0.0.0 3.28.@.3 12.28.@.3 7.29.}.3.0.1.0.0.0 [end] [offset] 6096 [level] 72 [colour] a675a7 [size] 16.31 [author] St.Kenig Krasnik [data] QQQQQQQQQQQQQQQQ QTTTTTTTTTTTTTTQ QT############TQ QT#bbbbbbbbbb#TQ QT#bQQQ'QQQQb#TQ QT#bQ....@.Qb#TQ QT#bQ@.T?..Qb#TQ QT#bQ..T?.@Qb#TQ QT#bQ@.T?..Qb#TQ QT#bQ..T?..Qb#TQ QT#bQ@.T?..Qb#TQ QT#bQ..T?..Qb#TQ QT#bQ......Qb#TQ QT#bQQQTQQQQb#TQ QT#bQ.*.*.*Qb#TQ QT#bQ......Qb#TQ QT#bQ..T..*Qb#TQ QT#bQ..T...Qb#TQ QT#bQ..T...Qb#TQ QT#bQ......Qb#TQ Q!#bQQQTQQQQb#TQ QT#bQ...@..Qb#TQ QT#bQ.....@Qb#TQ QT#bQ..R'..Qb#TQ QT#bQ......Qb#TQ QT#bQ.....@Qb#TQ QT#bQQQQQQQQb#TQ QT#bbbbbbbbbb#TQ QT############TQ QTTTTTTTTTTTTTTQ QQQQQQQQQQQQQQQQ [additional] 12 9.5.@.0 5.6.@.3 10.7.@.1 5.8.@.3 5.10.@.3 6.14.*.2 8.14.*.2 10.14.*.0 10.16.*.3 8.21.@.0 10.22.@.1 10.25.@.2 [end] [offset] 6296 [level] 73 [colour] 7fccac [size] 16.31 [author] St.Kenig Krasnik [data] OOOOOOOOOOOOOOOO OTTVV~TTT....?.O OTTVVHH..b..'.RO OTTVV~TTT....?.O OO&OOOOOOOOOOOOO O.............}O OOOTOOOTOO'OTOOO OOOOOOOHOOOOOOOO OT........V...TO O..V.V.V.V.V...O O..V..V.V.V....O OT..?.?.?..?..TO OO&OOOOOOOOOOOOO O..T.T.?.T.?.T.O O............O.O O...@..@.....O.O O..bbbbbb'@..O.O O............O@O O..bbbbbbb..O..O O..........O...O O.TTTTTT..O.V..O O.T...T..O....@O O.T..T..O....V.O O.T*T..O...V...O O.T'..O........O O.T..O.V.V.V..@O O...O....V..V..O OOOO...V..~....O OT..TV.......!.O OTV.H....V..?..O OOOOOOOOOOOOOOOO [additional] 10 2.4.&.1.0 14.5.}.2.0.1.0.0.0 2.12.&.2.0 4.15.@.2 7.15.@.2 10.16.@.3 14.17.@.1 14.21.@.1 3.23.*.0 14.25.@.1 [end] [offset] 6496 [level] 74 [colour] 809da0 [size] 16.31 [author] St.Kenig Krasnik [data] QQQQQQQQQQQQQQQQ Q..^...'....^..Q Qb.^..T..T..^b.Q QDQQQQQR.QQQQQDQ Q..T.T.HH.T.T..Q Q........*..*..Q Q.?T?T?b?T?T?T.Q Q..............Q QQQQQQQ&QQQQQQQQ QT........^...TQ Q..............Q QM............MQ Q.............%Q QM............MQ Q...^TTTTTT.^..Q QQQQQQQDQQQQQQQQ QTTTTTQ.QTTTTTTQ QT....D.D.....TQ QT....QbQ.....TQ QT....Q.Q.....TQ QT....Q.Q.....TQ QT....Q.Q.....TQ QT....Q.Q.....TQ QT....Q.Q.....TQ QT....Q.Q.....TQ QT....QHQ.....TQ QT....Q.Q.....TQ QT....Q'Q.....TQ QT^^^^Q'Q^^^^^TQ QTTTTTQ!QTTTTTTQ QQQQQQQQQQQQQQQQ [additional] 23 3.1.^.0.0.0 12.1.^.0.0.0 3.2.^.0.0.0 12.2.^.0.0.0 9.5.*.0 12.5.*.0 7.8.&.1.0 10.9.^.0.0.0 1.11.M.0 14.11.M.2 1.13.M.0 14.13.M.2 4.14.^.2.0.0 12.14.^.2.0.0 2.28.^.1.0.0 3.28.^.1.0.0 4.28.^.1.0.0 5.28.^.1.0.0 9.28.^.1.0.0 10.28.^.1.0.0 11.28.^.1.0.0 12.28.^.1.0.0 13.28.^.1.0.0 [end] [offset] 6696 [level] 75 [colour] 66a4bd [size] 16.31 [author] St.Kenig Krasnik [data] oooooooooooooooo ooRoT......^...o oT.ToT.....^...o o....oT....^...o o.^..ToT...^..To oo.ooo.........o o.bo'T.....^..To o...oooooDoooooo o............~.o o.?.....^......o o..............o o..............o ooo&oooo&oooo&oo o....o.....o*..o o*TT.o..b..o.T.o o.TT.o.TbT.o.T.o o.TT.o..b*.o.T.o o....o.....o...o oooooooo&ooooooo o..~........?.?o oT.............M oT.............o oT.............M o.?.?......~...o oooooooo&ooooooo o?...*~...*...?o o*.............o o...T~TT!TT~T..o o..............o o?....?...?...?o oooooooooooooooo [additional] 20 11.1.^.0.0.0 11.2.^.0.0.0 11.3.^.0.0.0 2.4.^.0.0.0 11.4.^.0.0.0 11.6.^.0.0.0 8.9.^.0.0.0 3.12.&.1.0 8.12.&.2.0 13.12.&.3.0 12.13.*.2 1.14.*.3 9.16.*.2 8.18.&.4.0 15.20.M.2 15.22.M.2 8.24.&.5.0 5.25.*.2 10.25.*.2 1.26.*.2 [end] [offset] 6896 [level] 76 [colour] 8373a6 [size] 16.31 [author] St.Kenig Krasnik [data] OOOOOOOOOOOOO}OO O%OTOTOTOTO'O..O O.T.T.T.T.T.T..O O.O.O.O.O.O.O.RO O...}.}....T...O OOOOOOOOOOOOOODO O.?..........?.O O..............O O.....@T.......O O.....TbT......O O......T@......O O.?..........?.O OOOOOOTTTTOOOOOO OM.............M O...^.....^....O OOOOOOOODOOOOOOO O..............O O..............O O^.T.T.T.T.T..^O O..............O O..............O O^.T.T.T.T.T..^O O..............O O..............O O^.T.T.T.T.T..^O O..............O O..............O O^.T.T.T.T.T..^O O..............O O..}.}.}!}.}...O OOOOOOOOOOOOOOOO [additional] 22 13.0.}.1.0.1.0.0.0 4.4.}.3.0.0.1.0.0 6.4.}.3.0.0.1.0.0 6.8.@.2 8.10.@.0 1.13.M.0 15.13.M.2 4.14.^.0.0.0 10.14.^.0.0.0 1.18.^.0.0.0 14.18.^.0.0.0 1.21.^.0.0.0 14.21.^.0.0.0 1.24.^.0.0.0 14.24.^.0.0.0 1.27.^.0.0.0 14.27.^.0.0.0 3.29.}.3.0.1.0.0.0 5.29.}.3.0.1.0.0.0 7.29.}.3.0.1.0.0.0 9.29.}.3.0.1.0.0.0 11.29.}.3.0.1.0.0.0 [end] [offset] 6A96 [level] 77 [colour] b5a746 [size] 16.31 [author] St.Kenig Krasnik [data] PPPPPPPPPPPPPPPP P.TT%-?R?-.TTT.P P....-...-.....P P.^..--'--^....P P^..^..^...^.^.P P..............P P~PPPPPPPPPPPP~P P.P..........P.P P.P.TbbT'TbT.P.P P^P..*.*.....P^P P.PPPPPDPPPPPP.P P....P....P....P P.?....^.....?.P PPPPPPPDPPPPPPPP PT...T...T....TP PT.....^......MP PT.........^..TP PPPPPPP&PPPPPPPP P....^.........P PP...#TTT#...PPP PTPTPT.P..PTP..P PTPPPT.P..PPP..P P......P.......P P......P..TTT..P P..TT..P..TTT..P P..TT..P..TTT..P P..TT..P..TTT..P P..}}..P...}}..P P.....###......P P.....#!#......P PPPPPPPPPPPPPPPP [additional] 21 2.3.^.0.0.0 10.3.^.0.0.0 1.4.^.0.0.0 4.4.^.0.0.0 7.4.^.0.0.0 11.4.^.0.0.0 13.4.^.0.0.0 1.9.^.0.1.1 5.9.*.0 7.9.*.0 14.9.^.0.1.1 7.12.^.0.0.0 7.15.^.0.0.0 14.15.M.2 11.16.^.0.0.0 7.17.&.1.0 5.18.^.0.0.0 3.27.}.3.0.0.1.0.0 4.27.}.3.0.0.1.0.0 11.27.}.3.0.0.1.0.0 12.27.}.3.0.0.1.0.0 [end] [offset] 6C96 [level] 78 [colour] 765d8b [size] 16.31 [author] St.Kenig Krasnik [data] PPPPPPPPPPPPPPPP P~~~~~~~~~~~~R~P P}.T.........'~P PHH.HHHHHHHHHH~P PH.......^....MP P~HHHHHHH.HHHH~P P~TTTTTTT.TTTT~P P~......TTT...~P P~...b........~P P~.?.*..*..*?.~P P~~~~~~~~~~~~~~P P~TTTTTTTTTT..}P P~HHHHHHHHHHHH~P P~?..........?~P P~..VVVVVV....~P P~...VVVV.....~P P~....VV......~P P~.?.V..V...?.~P P~............~P P~.HHHHHHHHHH.~P P~.H'TT.**..H.~P P~.HHHHHHHHHH.~P P~............~P P~^.T######T^.~P P~..#..@.@.#..~P P~..#.TTTT.#..~P P~..#.T!.T.#..~P P~..#.TTTT.#..~P P~TT#......#TT~P P~~~~~~~~~~~~~~P PPPPPPPPPPPPPPPP [additional] 13 1.2.}.0.0.1.0.0.0 9.4.^.0.0.0 14.4.M.2 5.9.*.0 8.9.*.0 11.9.*.0 14.11.}.2.0.1.0.0.0 8.20.*.0 9.20.*.0 2.23.^.0.1.1 12.23.^.0.1.1 7.24.@.2 9.24.@.2 [end] [offset] 6E96 [level] 79 [colour] 9c7e64 [size] 16.31 [author] St.Kenig Krasnik [data] ---------------- -..T.T.T.T.-..R- -..........-^..- -%?...^....&...- -..........-T.T- ------D--------- -.?..........?.- -..*TTTTTTTT*..- -.?..........?.- ----------&----- -.V....-.......- -%...V.H'..^...- -------------D-- -TTTTTT........} --T------------- -.T............- -....-.T%T.-.-.- -...-*-----*-..- -..............- --------D------- -.......^......- -.----....----.- -..--T.....--T.- -.T--@....T--@.- -.----....----.- -..............- --------T------- -.............?- -.!@.@TTTTTT'..- -.............?- ---------------- [additional] 15 12.2.^.1.0.0 6.3.^.0.0.0 11.3.&.1.0 3.7.*.3 12.7.*.1 10.9.&.2.0 11.11.^.0.1.1 15.13.}.2.0.1.0.0.0 5.17.*.2 11.17.*.2 8.20.^.3.0.0 5.23.@.2 13.23.@.2 3.28.@.3 5.28.@.1 [end] [offset] 7096 [level] 80 [colour] 84ae78 [size] 16.31 [author] St.Kenig Krasnik [data] ---------------- -%.%-.T#R#T.-}}- -.T.-.T#.#T.-..- -.}.-.TTTTT....- -D---...^...-..- -.....?.b.?.-TT- -..~........-'T- -.@-------..---- -..............- --D----------D-- -......--......- -.TTTT.--.TTTT.- -@T..T.--@T..T.- -.T*.T.--.T*.T.- -.TTTT.--.TTTT.- -......--......- -----#----#----- -?............?- -..............- -^.----TT----.^- -..-?.......-..- -..-..T.T..?-..- -..-..~.~..?-..- -..-..T!T..?-..- -..-..~*~..?-..- -..-..T.T..?-..- -..-?.......-..- -..----------..- -......--......- -T..^.........T- ---------------- [additional] 13 13.1.}.1.0.1.0.0.0 14.1.}.1.0.1.0.0.0 2.3.}.3.0.0.1.0.0 8.4.^.2.0.0 2.7.@.1 1.12.@.1 9.12.@.1 3.13.*.0 11.13.*.0 1.19.^.3.0.0 14.19.^.3.0.0 7.24.*.2 4.29.^.2.0.0 [end] [offset] 7296 [level] 81 [colour] 815b7a [size] 16.31 [author] St.Kenig Krasnik [data] oooooooooooooooo oToToToToTo'ToRo o..^....H....#.o o.......o.^....o oToHooHooToooooo ooTV.oV.TTH.VTTo ooooooooooo&oooo oT.............} oooToooooooooooo o.T.T..H.@...?.o o.T~T..HV.V.V..o o......H.@...?.o ooooo&oooooooooo o}.............o ooooooooooooTooo o?.@.@.@......?o o..TT~TTT~TT...o o..TTTT'TTTT...o o?............?o oooooooooooo&ooo o..............o o.TTbTT..TTbTT.o o.*TTT....TTT*.o o..............o ooooooo&oooooooo o..............o o.o.o@o.o@o.o@.o o.@o.o.!.o.o.o.o o.o.o@o.o@o.o@.o o..............o oooooooooooooooo [additional] 22 3.2.^.0.0.0 10.3.^.0.0.0 11.6.&.1.0 15.7.}.2.0.1.0.0.0 9.9.@.0 9.11.@.2 5.12.&.2.0 1.13.}.0.0.1.0.0.0 3.15.@.2 5.15.@.2 7.15.@.2 12.19.&.3.0 2.22.*.2 13.22.*.2 7.24.&.4.0 5.26.@.2 9.26.@.2 13.26.@.2 2.27.@.2 5.28.@.0 9.28.@.0 13.28.@.0 [end] [offset] 7496 [level] 82 [colour] a9a9ae [size] 16.31 [author] St.Kenig Krasnik [data] QQQQQQQQQQQQQQQQ }............HRQ QQTQTQTQTQTQTQQQ QTTTQTQTQTQTQTTQ Q..b..@.@.@....Q Q..............Q Q?.....~......?Q QQQQQQQQQQQQDQQQ Q?...........?.Q Q..T~TbTT~TT...Q Q..............Q Q..*........*?.Q QQDQQQQQQQQQQQQQ Q...?.......T..Q QT.............M QT.............M Q.TTTTbTTTT.@#.Q QT.............M Q..?.......?...Q QQQQQQQQQ&QQQQQQ Q..............Q Q.~TTTTbTTTT.~.} Q..TT@T'T@TT...Q Q..............Q QQQ&QQQQQQQQQQQQ Q?.........@..?Q Q...VV.V.V..V..Q Q*...V.V.VV...*Q Q.....V.V......Q Q?@.........?.!Q QQQQQQQQQQQQQQQQ [additional] 19 0.1.}.0.0.1.0.0.0 6.4.@.0 8.4.@.0 10.4.@.0 3.11.*.0 12.11.*.0 15.14.M.2 15.15.M.2 12.16.@.1 15.17.M.2 9.19.&.1.0 15.21.}.2.0.1.0.0.0 5.22.@.0 9.22.@.0 3.24.&.2.0 11.25.@.0 1.27.*.1 14.27.*.3 2.29.@.2 [end] [offset] 7696 [level] 83 [colour] 6f9cce [size] 16.31 [author] St.Kenig Krasnik [data] OOOOOOOOOOOOOOOO O...V..^..HT.R.O OTOOOOOOOOOOOO.O O.OTTT.^.....O.O OTOOOOOOOOOO^O.O O.........T..O.O O.OOOOOOOOOOOO.O O.O%'VVV.H...%.O ODOOOOOOOOOOOO.O O............O.O O..T'TTTTTT..O.O O......@..@..O.O O............O.O ODOOOOOOOOOOOO.O O.OTTTVV.H...%.O O.OOOOOOOOOOOO.O O...*.......TO.O O.*#TTTTTTT..O.O O...........TO.O ODOOOOOOOOOOOO.O O.OTTVVV.HTT.%.O O.OOOOOOOOOOOO.O O...........TO.O O.@~TTTTTT@..O.O O...........TO.O ODOOOOOOOOOOOO.O O.OTTV@VH.*.T'.O O.OOOOOOOOOOOO.O OT...^....^.?O.O OT.T.T.T.T..!O}O OOOOOOOOOOOOOOOO [additional] 14 7.1.^.2.0.0 7.3.^.0.0.0 12.4.^.1.0.0 7.11.@.0 10.11.@.0 4.16.*.0 2.17.*.3 2.23.@.1 10.23.@.3 6.26.@.2 10.26.*.0 5.28.^.0.1.1 10.28.^.2.0.0 14.29.}.3.0.1.0.0.0 [end] [offset] 7896 [level] 84 [colour] 6788ae [size] 16.31 [author] St.Kenig Krasnik [data] ---------------- -.............R- -..T..T..T@.%..- -..----@@----..- -...T@....?....- -..............- -----&---------- -...~..~.......- -..-.-.-.-.-.-.- -.-.-.-.^.-.-..- -..-.-.-'-.-.-.- -....@....@....- ---&--------&--- -......--......- -*TTb~.--*~bTT.- -*TTTT.--*TTTT.- -......--......- ---&--------&--- -....?........%- -T........^....M -T........^....M -..............- -------D-------- -.?..........?.- -...@..@..@....- -..TTT~T~TTTT..- -..T.*.!..*.T..- -..TTT~T~TTTT..- -..............- -.?..........?.- ---------------- [additional] 25 10.2.@.2 7.3.@.1 8.3.@.1 5.4.@.0 5.6.&.1.0 8.9.^.1.0.0 5.11.@.2 10.11.@.2 3.12.&.2.0 12.12.&.3.0 1.14.*.0 9.14.*.0 1.15.*.2 9.15.*.2 3.17.&.5.0 12.17.&.4.0 10.19.^.0.0.0 15.19.M.2 10.20.^.0.0.0 15.20.M.2 4.24.@.2 7.24.@.2 10.24.@.2 5.26.*.0 10.26.*.0 [end] [offset] 7A96 [level] 85 [colour] 937251 [size] 16.31 [author] St.Kenig Krasnik [data] OOOOOOOOOOOOOOOO O.'T.OO@.@.O...O O....OO.TT.OT..O O^^.OR~..T.&T^.O O....OO....OT..O O....OOOOOOO...O O..............O OT?.....^^....MO O..............O O..............O OOOOOOTTOOOOOOOO O..............O OM.....^......TO O..............O OOOOOOOOOOOOOO&O O............TTO O.TTTT#TTT...OOO O..@.@.@.@...O&O O.OT.TTT.TO.OO.O OOOOOOTOOOOO'..O O.TTTTTTTTT.OOTO O............O.O OT...@.@....TO^O OT..OOOOO...TO.O O...........TOTO O.OOOOOOOO...O.O O..........MOO.O O...T...T..O!T.O O..*T..*T..?OO^O O?...........&.O OOOOOOOOOOOOOOOO [additional] 25 7.1.@.0 9.1.@.2 1.3.^.2.0.0 2.3.^.2.0.0 11.3.&.1.0 13.3.^.2.0.0 8.7.^.2.0.0 9.7.^.2.0.0 14.7.M.2 1.12.M.0 7.12.^.0.0.0 14.14.&.3.0 3.17.@.2 5.17.@.2 7.17.@.2 9.17.@.2 14.17.&.1.1 5.22.@.2 7.22.@.2 14.22.^.3.0.0 11.26.M.2 3.28.*.3 7.28.*.3 14.28.^.1.0.0 13.29.&.2.0 [end] [offset] 7C96 [level] 86 [colour] 65719f [size] 16.31 [author] St.Kenig Krasnik [data] ssssssssssssssRs }..............s s..sTsTsTsTsTsTs sTssssssssssssss s.sTsTsTsTsTsTss s.............ss s.s.s.s.s.s.s.ss s.s.s.s.s.s.s.ss &.s.s.s.s.s.s.'s s.s.s.s.s.s.s.ss s.s.s.s.s.s.s.ss s}T}T}T}T}T}T}Ts s...^..^..^..^.s ssTsssssssssssss s...@..V.V.H..&s ssTsssssssssssss s..............s s..TTTTTTTTTT..s s..?TTTTTTTT?..s s...*.*.*.*....s sssssssssssss&ss s?............?s s..sss....sss..s s...s......s...s s...s......s...s s.^.sT..^.Ts.^.s s...s......s...s s..sss....sss..s s.......!......s s'............?s ssssssssssssssss [additional] 23 0.1.}.0.0.1.0.0.0 0.8.&.1.0 1.11.}.3.0.1.0.0.0 3.11.}.3.0.1.0.0.0 5.11.}.3.0.1.0.0.0 7.11.}.3.0.1.0.0.0 9.11.}.3.0.1.0.0.0 11.11.}.3.0.1.0.0.0 13.11.}.3.0.1.0.0.0 4.12.^.0.0.0 7.12.^.0.0.0 10.12.^.0.0.0 13.12.^.0.0.0 4.14.@.2 14.14.&.1.1 4.19.*.0 6.19.*.0 8.19.*.0 10.19.*.0 13.20.&.3.0 2.25.^.2.0.0 8.25.^.2.0.0 13.25.^.2.0.0 [end] [offset] 7E96 [level] 87 [colour] 78717d [size] 16.31 [author] St.Kenig Krasnik [data] ssssssssssssssss sTTsTT.^.TTsT%Ts s..s.......s...s s..ss.....ss...s s....s...s.....s s.@s..sRs..@s..s s......&.......s s..............s s..s.s.s.s.s...s s.TsssssssssT..s s.s.s.s@s.s@s..s s..............s s..............s sssssss&ssssssss s..............} s..sss....sss..s s.s...s..s...s.s s.s.%.s..s.'.s.s ss.*#.D..D.b*.ss s.s.%.s..s.T.s.s s.s...s..s...s.s s..sss....sss..s s..............s sssssssDDsssssss s.?...#...?.~..s s..V...V.......s s..............s s...V.....V.ssss s.?....V.?..s!.s s...........D..s ssssssssssssssss [additional] 10 7.1.^.0.0.0 2.5.@.1 11.5.@.1 7.6.&.1.0 7.10.@.0 11.10.@.0 7.13.&.2.0 15.14.}.2.0.1.0.0.0 3.18.*.3 12.18.*.3 [end] [offset] 8096 [level] 88 [colour] 66d286 [size] 16.31 [author] St.Kenig Krasnik [data] oooooooooooooooo o?.....R......?o o..T..ooo...T..o o.ooT..^..Tooo.o o..#........#..o o....T.%.T.....o o....ooooo.....o o..............o o?...}.....}..?o oDDDDDDDDDDDDDDo ooToooooooToooTo o...o..o..^...^o o.}......b..~..o oo.ooooooooooooo o...T.T.T.T....o oT.............M o.............'o oT.............M o...T.T.T.T....o ooo}oooooooo&ooo o.H............o oVoooooToooooo.o oVo..*...*...o.o oVo.oooooooo.o.o o.o*o@.@.@.o.o.o oTo.o.TTTT.o.o^o oTo.o.TTTT.'.o.o oTo*o......o.o.o oTo.oooooooo.o.o oTo..........o!o oooooooooooooooo [additional] 18 7.3.^.2.1.1 5.8.}.3.0.0.1.0.0 11.8.}.3.0.0.1.0.0 10.11.^.3.0.0 14.11.^.3.0.0 2.12.}.3.0.2.0.0.0 15.15.M.2 15.17.M.2 3.19.}.3.0.1.0.0.0 12.19.&.1.0 5.22.*.0 9.22.*.0 3.24.*.3 5.24.@.0 7.24.@.2 9.24.@.2 14.25.^.1.0.0 3.27.*.3 [end] [offset] 8296 [level] 89 [colour] 9d66ac [size] 16.31 [author] St.Kenig Krasnik [data] QQQQQQQQQQQQQQQQ Q....Q.b.Q...Q.Q Q?...Q.Q.Q.QTQRQ QT.^.Q.Q.Q.Q.Q.Q Q?...QVQ.Q@Q^Q'Q Q....Q.Q.QTQ.Q.Q QQ.^.Q.Q.Q.Q.Q.Q Q....Q.QTQ.Q^Q^Q QT...Q.Q.Q@Q.QTQ Q....QTQ.Q.QTQ.Q QQ.^.Q.Q.Q.Q.Q^Q Q...@Q.Q.QTQ&Q.Q QT...Q.Q^Q.Q.Q.Q Q....Q^Q.Q.Q.QTQ QQ.^.Q.Q.Q*Q.Q^Q Q....Q^QTQ.QVQ.Q QT..@Q.Q.Q'Q.Q.Q Q....Q.Q.Q.Q.Q.Q QQ...Q^Q^Q.Q.QTQ Q....Q.Q.Q.Q&Q.Q QT...QTQ^Q*QTQ^Q Q....Q.Q.Q.Q.Q.Q QQ.^.QTQ.Q.Q^Q^Q Q....Q&Q'Q.Q.Q.Q QT...Q.QTQTQ^QTQ Q....Q.Q.Q.QTQ.Q Q.QQQQ.Q@Q.Q'Q^Q Q.@..QVQ.Q.Q@Q.Q Q...TQ.Q.Q.Q.Q.Q Q..!.&.Q@..Q^..Q QQQQQQQQQQQQQQQQ [additional] 36 3.3.^.0.0.0 10.4.@.2 12.4.^.3.0.0 3.6.^.0.0.0 12.7.^.2.0.0 14.7.^.1.0.0 10.8.@.1 3.10.^.0.0.0 14.10.^.1.0.0 4.11.@.1 12.11.&.1.0 8.12.^.3.0.0 6.13.^.3.0.0 3.14.^.0.0.0 10.14.*.3 14.14.^.1.0.0 6.15.^.3.0.0 4.16.@.1 6.18.^.3.0.0 8.18.^.3.0.0 12.19.&.1.1 8.20.^.3.0.0 10.20.*.3 14.20.^.1.0.0 3.22.^.0.0.0 12.22.^.1.0.0 14.22.^.1.0.0 6.23.&.2.0 12.24.^.1.0.0 8.26.@.1 14.26.^.1.0.0 2.27.@.0 12.27.@.0 5.29.&.2.1 8.29.@.2 12.29.^.0.0.0 [end] [offset] 8496 [level] 90 [colour] 7a60b5 [size] 16.31 [author] St.Kenig Krasnik [data] ssssssssssssssss sT......R.....Ts s..sss....sss..s s.s*..s..s..*s.s s.s...s..s...s.s s.s.T.&..&.T.s.s s.s...s..s...s.s s..s.s@...s.s*.s s...s......s...s s.?....~.~...?.s ssssssss&sssssss sT.............} ssTsssssssssssss s...s....^.....s s...sTssssssssTs s.~.s.s.....?s.s s...s.s...T..s.s s.b.s.s..?...s.s s..@s.s.T..T.s.s s...s.s......s.s sT.Ts.s......s.s s@..H.s?.....s.s ssDss^s...T.Ts^s s...s.sT.....s.s s.V.s.s..T...s.s sVVVs.s......s.s s.V.s.s......s.s s...s.s..}.}.s.s s.T.sTssssHsssTs sT.'s...^..!...s ss}sssssssssssss [additional] 17 3.3.*.2 12.3.*.2 6.5.&.1.0 9.5.&.2.0 6.7.@.0 13.7.*.2 8.10.&.3.0 15.11.}.2.0.1.0.0.0 9.13.^.0.0.0 3.18.@.1 1.21.@.2 5.22.^.1.0.0 14.22.^.1.0.0 9.27.}.3.0.0.1.0.0 11.27.}.3.0.0.1.0.0 8.29.^.2.0.0 2.30.}.3.0.1.0.0.0 [end] [offset] 8696 [level] 91 [colour] 67d9a7 [size] 16.31 [author] St.Kenig Krasnik [data] PPPPPPPPPPPPPPPP PT.........P...P P.....^....P.R.P P..^.......T...P PTTTTTT'TTTPPPPP P..............P P..............P P..P.PTP.PTP.P.P P.PPPPPPPPPPPP.P P.P.P@P.P@P.P@.P P..............P PPTPTPTPTPTPTPTP PPPPPPPP&PPPPPPP P..............P P.T@.TT...TT@T.P P...~..........P P..............P P..T.@?.@T..T@.P P...~..........P P..............P P.@b..T@...@b..P P.........~....P PPPPPPP&PPPPPPPP PT.............P PT.............M PT......@..@...P PPPPPPP&PPPPPPPP P..T.........T.P P......!.......P PT.}..}...}.}.TP PPPPPPPPPPPPPPPP [additional] 23 6.2.^.2.0.0 3.3.^.2.0.0 5.9.@.0 9.9.@.0 13.9.@.0 8.12.&.1.0 3.14.@.3 12.14.@.1 5.17.@.1 8.17.@.1 13.17.@.3 2.20.@.1 7.20.@.3 11.20.@.1 7.22.&.2.0 15.24.M.2 8.25.@.2 11.25.@.2 7.26.&.3.0 3.29.}.3.0.0.1.0.0 6.29.}.3.0.0.1.0.0 10.29.}.3.0.0.1.0.0 12.29.}.3.0.0.1.0.0 [end] [offset] 8896 [level] 92 [colour] 718d61 [size] 16.31 [author] St.Kenig Krasnik [data] oooooooooooooooo o....oT..ToT.^To o.'?.&.R..&....o o.*..o.?.?o.?.To ooHooooo?ooooHoo o..............o M....T..T..T...M o...^......^...o M....T..T..T...M o..............o oooooooo&ooooooo oT............To o..T@T....T@T..o o..ooo..'.ooo..o o...b......b...o oT............To ooooooooDooooooo o....^.........o oTooooooToooooTo o.o..........o.o o.o.TTTTTTTT.o.o o.o.T......T.o.o o^o.T.TTTT.T.o^o o.o.T.T.!T.T.o.o o.o.T.TTTT.T.o.o o^o@T..}.}.T.o^o o.o.TTTTTTTT.o.o o.o.....@....o.o o.oooooooooooo.o oT..^..TT..^..To oooooooooooooooo [additional] 24 13.1.^.0.0.0 5.2.&.1.0 10.2.&.2.0 2.3.*.0 0.6.M.0 15.6.M.2 4.7.^.0.1.1 11.7.^.0.1.1 0.8.M.0 15.8.M.2 8.10.&.3.0 4.12.@.2 11.12.@.2 5.17.^.0.0.0 1.22.^.3.0.0 14.22.^.3.0.0 1.25.^.3.0.0 3.25.@.1 7.25.}.3.0.0.1.0.0 9.25.}.3.0.0.1.0.0 14.25.^.3.0.0 8.27.@.2 4.29.^.0.1.1 11.29.^.0.1.1 [end] [offset] 8A96 [level] 93 [colour] 7085d3 [size] 16.31 [author] St.Kenig Krasnik [data] QQQQQQQQQQQQQQQQ QTVTVTVTT..Q?.?Q QT......H..Q...Q QTTTbTTT..QQ...Q QT....#....H.R.Q Q.........QQ...Q QT...TT...T&...Q Q...*TT....Q.#.Q QT...''...T&...Q Q...*TT....Q...Q QT...TT...T&...Q Q..........Q.~.Q QT....#...T&...Q Q..........Q...Q QT.T.T.T.T.Q?.?Q Q}QQQQQQQQQQQQ}Q QT..*.*.*....T.& QT......'.....TQ QTQQQQQQ&QQQQQTQ QT...@.@.@....TQ QT............TQ QT..b..b..b...TQ QT............TQ QTTTTTTTTTTTTTTQ QQQQQQQQ}.....}Q QT.T.T.T.DQDQ..Q Q.@......Q.^.Q.Q QQQQQQQQQ..^..QQ Q!H.H.H.H..^...& Q?V?V?V?VT.T.T.Q QQQQQQQQQQQQQQQQ [additional] 23 11.6.&.2.0 4.7.*.3 11.8.&.3.0 4.9.*.3 11.10.&.1.0 11.12.&.4.0 1.15.}.1.0.0.0.0.0 14.15.}.1.0.0.0.0.0 4.16.*.2 6.16.*.2 8.16.*.0 15.16.&.4.1 8.18.&.1.1 5.19.@.0 7.19.@.0 9.19.@.0 8.24.}.0.0.2.0.0.0 14.24.}.2.0.2.0.0.0 2.26.@.2 11.26.^.0.0.0 11.27.^.0.0.0 11.28.^.0.0.0 15.28.&.5.0 [end] [offset] 8C96 [level] 94 [colour] 99626d [size] 16.31 [author] St.Kenig Krasnik [data] P}PPPPPPPPPPPP}P P.%.%.%.%.%..%.P P..............P P..PPPPPPPPPP..P PT.P..T.!.T.P.TP P..P@.......P..P P..PPPPPDPPPP..P P..P?T^...T?P..P P..P........P..P P..PPPPPDPPPP*.P P..P.T....T.P..P P..P..*.....P..P P..PPPPPDPPPP..P P..P.?....?.P..P P.~P@.......P*.P P..PPPPPDPPPP..P P..P.T.....TP..P P..P*..T.T..P..P P..PPPPPDPPPP*.P P..P..T..T..P..P P..P?V....V?P..P P..PPPPPDPPPP*.P P..PT.T..T.'P..P P..P?}..}.}?P..P P..PPPPPDPPPP..P P..P........P..P P..P@.?...?.P..P P..PPPPPTPPPP..P P..............P P%......R.....TP PPPPPPPPPPPPPPPP [additional] 15 1.0.}.1.0.1.0.0.0 14.0.}.1.0.1.0.0.0 4.5.@.2 6.7.^.2.0.0 13.9.*.1 6.11.*.0 4.14.@.2 13.14.*.1 4.17.*.0 13.18.*.1 13.21.*.1 5.23.}.3.0.0.1.0.0 8.23.}.3.0.0.1.0.0 10.23.}.3.0.0.1.0.0 4.26.@.2 [end] [offset] 8E96 [level] 95 [colour] 90a05a [size] 16.31 [author] St.Kenig Krasnik [data] ssssssssssssssss s.TTTTTTTTTTTT.s s.^.^.^.^.^.^.^s s..............s sT.^.Ts.sT..^.Ts sHsssss&ssssssss sT.....s..T...Ts s...@.s!s...@..s s...b.s^s...b..s sT........T...Ts s.ssssssssssss.s s.s*.........s.s sTs..........s.s s.s.....'....s^s sTs*..ss&ss..s.s s.s...'.R.'..s.s sTs...sssss..s.s s.s...@.@....s^s s.s..........s.s s}ssssssssssssTs s..............s sT...s.s.s.ss.Ts s...s.s.s.s....s sT..?......s..Ts s...s.TTTT.s...s sT..?.TTTT.s..Ts s...s*......s..s sT..?s.s*s.ss.Ts s..#s.s.s.s.#..s s..............s s}ssssssssssss}s [additional] 25 2.2.^.2.0.0 4.2.^.2.0.0 6.2.^.2.0.0 8.2.^.2.0.0 10.2.^.2.0.0 12.2.^.2.0.0 14.2.^.2.0.0 3.4.^.2.0.0 12.4.^.2.0.0 7.5.&.1.0 4.7.@.2 12.7.@.2 7.8.^.2.0.0 3.11.*.2 14.13.^.1.0.0 3.14.*.1 8.14.&.1.1 6.17.@.0 8.17.@.0 14.17.^.1.0.0 1.19.}.3.0.1.0.0.0 5.26.*.0 8.27.*.0 1.30.}.3.0.2.0.0.0 14.30.}.3.0.2.0.0.0 [end] gnurobbo-0.66+dfsg/ChangeLog0000644000175000017500000006554711467300751015036 0ustar stevestevePlease see NEWS for a user readable summary of changes suitable for announcements. 2010-11-12 Thunor * Updated NEWS. * Conventionalised the build system a little more. 2010-11-11 Thunor * Fixed a bug I introduced recently whereby getenv was returning NULL on the GP2X and causing a segfault when used with string functions. The return value for getenv is now checked for. 2010-10-27 Thunor * Applied patch 3096404: Maemo 5 Fremantle update (Paul Houghton). 2010-09-03 Thunor * Added support for LANG environment variable if no rcfile is found and LANG isn't empty. 2010-09-01 Thunor * Updated the Swedish object names used within the designer. * Removed the "Gun" part from "Fixed|Moveable|Moveable Rotating Gun" as it now also applied to magnets. * Moved the door icon in Help as it can limit the translated text. 2010-08-30 Thunor * Reduced the memory usage significantly (25MB PC, 11MB GP2X). 2010-08-27 Thunor * Added a new "Bomb2" graphic to the Tronic skin. * Added localisation to the konstruktor. * Added controls text for Open2x's "GP2X_JOYSTICK". * Changed object BARBED_WIRE to RADIOACTIVE_FIELD. 2010-08-25 Thunor * Applied patch 3052629: German text update (anonymous). * Updated fremantle/debian/Makefile for the new sounds. * Updated LICENSE-sound to include the new free sounds. 2010-08-24 Thunor * Applied patch 3051878: Maemo 5 Fremantle Support (Paul Houghton). 2010-08-23 Thunor * Applied patch 3006727: More portable Makefile (Dmitry Marakasov). * Applied patch 2938808: Original level 36 incorrect magnet (Pff). * Seperated "/" from directory macros so that it's now clear if they are included or not. 2010-04-02 Thunor * Since music support now seems to be enabled by default I've gone through the documentation and removed "preliminary/experimental" support. I've also done the same for the designer documentation. * Added 3 missing chars to the pixmap fonts for the Czech alphabet. 2010-03-28 Thunor * Added Makefile.open2x. * Tidied-up all the makefiles (finally removed the //), added a dedicated CFLAGS/LDFLAGS set for debugging/profiling and added the Czech locale to make install. 2010-02-22 Radek Pavle * Czech translation added 2010-02-05 Bombel * Fixed PSP problem with case sensitive file names on FAT filesystem (r332) 2010-01-18 Thunor * Made Options page selected item self configuring as before it was being manually set-up which unless maintained causes the wrong item to be selected when options are moved about. * Updated the Zaurus package build script for more automation. 2010-01-17 Thunor * Fixed ACTION_PRIMARY_CLICK device on GP2X F100 not being UNDEFINED. * Increased MAX_LEVEL_PACKS to 84. Found an unlikely situation whereby installing the game in three locations caused the rcfile to overflow with historical level pack entries (it was 55) which caused read_resource_file() to break once it read the max amount. Now it prints a message to the console recommending the user deletes some entries, stops recording any more entries and continues reading the rest of the rcfile. 2010-01-16 Thunor * Made a 0.65.6 maintenance release (r328) since there were many important fixes in SVN but hardly any new features or content. 2010-01-16 Thunor * In designer.h, a struct was defined called game_area, but there already exists a struct defined and declared as game_area in screen.h which really confuses things -- especially since the real game_area was being used within konstruktor.c too -- so as it was only being used once to declare k_view I renamed it and changed it so that it defines and declares a k_view struct in konstruktor.h. Therefore k_view is no longer game_area, game_area is game_area. * Fixed timed-out message boxes not redrawing the designer area. * Removed lots of old code marked as redundant. * Updated the ROB engine to mirror work I've been doing on ENG. The main change is that the renderer now falls back to the normal property if press or over are undefined. This meant that there was some redundant property setting that I had to remove. 2010-01-15 Thunor * Updated the website and made it a lot more self maintaining and made the colours more web safe. Also added an external URL image. * Fixed the designer adding ffffffff invalid colours to levels. * Removed ffffffff from a couple of level packs. * Stopped the designer from writing empty lines for non-existent optional tag data such as author and level_notes. Also stopped empty level_notes from expanding on consecutive writes. * Rewrote level_notes code since it was allocating 1024 chars but limiting by up to 4 rows of up to 160 chars. It now reads > 1024 chars regardless of newlines and is always terminated by a newline. 2010-01-06 Thunor * Fixed a bug in the designer that was referencing invalid K_icons array elements using an index of -1. * Reinstated ACTION_SCROLL_UP and ACTION_SCROLL_DOWN for use within the designer. Set them both initially to scroll in units of 4 and attached them by default (on the PC) to SDL_BUTTON_WHEELUP/DOWN. * Fixed designer bugs that made the scoreline counts go out of sync. * Released a Sharp Zaurus port. 2010-01-05 Thunor * Tidied-up the text used within the designer and added missing text. * Designer object text is now displayed when adding objects to the map. * Updated the level file format info in original.dat although I think now it should really be moved to the README. * Fixed the unplayable 017-Robbo97 level. * Finished tweaking my 008-Designer level; time to design another :) 2010-01-04 Thunor * Updated get_user_action() in controls.c and modified the code that simulates digital buttons from axes. Also took the opportunity to restore some formatting generally to all the functions in there. * Tweaked my 008-Designer level which I'll probably tweak some more. * Reordered Options and brought the sound and skin options forward. * Changed all 2009 to 2010 in AUTHORS and (C) headers. 2010-01-02 Thunor * Placed the various designer colours into the skinrc files to enable skinning. * Added my first proper level to designer.dat level 8 :) 2010-01-01 Thunor * Happy New Year! :D Added a designer icon to the pointer toolbar. * Finished the Tronic skinning of the k_icons*.png. * Fixed a bug in 001-RobboVII with the additional count being 1 short. It showed up in the designer as a numberless teleport as that was the last item. I checked the other RobboVII levels and they are correct. * find_all_dat_files() now looks in LOCAL_DATA_DIR LEVELS_DIR if required for the target platform, which means that the designer will now be able to write to level packs on platforms where there are restrictions on what the user has write access to (Linux at least). 2009-12-30 Thunor * Forced all read unimplemented controls from the rcfile to UNDEFINED. * Updated and checked through the control defaults. * Added Pointer Controls Pad Type < Viewport/Screen > to Options. * Updated Tronic k_icons*.png. * Added temporary code within konstruktor.c to allow skinning of colours used within designer (awaiting skinning by neurocyp). 2009-12-29 Thunor * Updated Makefile.zaurus with information about this particular port. * Fixed an issue in the designer with SDL_MapRGB not being used which results in 16 bit displays not displaying the expected colour. * Went through the controls and visually disabled the ones that are either not valid for the platform or are currently unimplemented rather than leaving gaps or visible controls that have no function. * Dealt with all of the parts that I'd marked with "temp temp" that required future attention which has now been applied. * Added a platform dependent function to create a default user level pack mylevels.dat "MyLevels" and the necessary directory structure. 2009-12-28 Thunor * Changed some more "Gnu"s. * Reinstated my level notes in robbo07.dat level 16. * Uncommented read_skin_level_colour_override() in levels.c:75. * Now level_packs[].filename includes the full path. 2009-12-26 Thunor * Added PLATFORM_ZAURUS specific code to enable me to build a Sharp Zaurus port without requiring libSDL_image/libpng/libjpeg/libz which are going to be almost impossible now to find for the many different Zaurii (plus the devel packages). See Makefile.zaurus for more info. 2009-12-24 Auriza Akbar * Added Indonesian translation 2009-12-23 Thunor * 0.65 released (r264) 2009-12-21 Thunor * Some final modifications: changed "Gnu" in places to "GNU". * Changed "Experimental" name of designer.dat to "Designer" as it's too long and leaves ">" on the Intro Screen. * Edited slightly the level designer section in the README and replaced tabs with 4 spaces. * Changed "robbo3CS" name to "Robbo3CS". * Renamed robbo03cs.dat to robbo3cs.dat * Changed "RobboB" name to "Robbo-B" as it looks like Robbo8. * Adjusted demos and tronic/skinrc to deal with modified names. 2009-12-20 Thunor * Went through the project and tidied-up the platform specific #if #elif... #endif blocks to include all currently supported platforms and to combine in most cases PLATFORM_WIN32 and PLATFORM_PC. * Tidied-up the Options code and added the HAVE_DESIGNER directive to enable/disable the designer specific code. * Updated the docs for the new level designer. * Set F9 as the PC default for ACTION_TOGGLE_DESIGNER as requested. 2009-12-19 Thunor * Fixed bugs with k_icons not being initialised to NULL, being ignored if not found and not being freed on exit. * Fixed bgrnd not being freed on exit. * Created themed wm_icon.bmp for window managers and created a function that loads and sets it before calling SDL_SetVideoMode as recommended by the SDL docs. * Fixed a bug whereby game_timer_id wasn't being initialised to NULL and wasn't being checked for not NULL before being removed at the end. This manifested itself as a segfault when quitting early due to a file not being found - unlikely to happen but it's more thorough. * Replaced tabs with 4 spaces in README and COMPILING and generally adjusted little things in docs here and there. 2009-12-18 Thunor * Fixed a bug in the barrier code that was rerefencing invalid array elements and not checking first that the index was valid. * Added missing capsules to several levels in Robbo97. 2009-12-17 Thunor * Tweaked some new demos I added yesterday. * I updated all the Makefiles and removed the "=yes" from directives as it is enough to define a directive to use #ifdef and #ifndef. * Robbo97 has 89 levels not 91 so I fixed [last_level]. 2009-12-16 Thunor * To keep things fresh I remade all the demos using the new packs. * Dropped the version number down to the line underneath the banner for field_size=32. Also, reduced the line to accommodate the version text length for both field_sizes. 2009-12-15 Thunor * Updated pixmap fonts to include Russian alphabet. The following issues I talked to neurocyp about several days ago and I need them fixing now because I want to create a Zaurus port, so I've decided to fix them since it will be easier anyway as I know how the program is structured :- * I've moved the sound and sfx_vol variable initialisation code to the top of main(). Also I placed the initialisation code for the temp equivalents into the correct place within show_optionsscreen(). * Tidied-up the reading and setting of sound variables from the rcfile as it wasn't being done correctly. Also '[sfx-vol]' wasn't being read as the code was checking for 8 chars when it's 9 chars long, and it wouldn't have been found anyway as it was actually being saved to the rcfile as '[sfx-volume]' so I've fixed that too. * Locales: I've changed txt_Sound '[sound]' to txt_Sound '[txt_Sound]' (since these names are supposed to be representative of the English text that they describe) and txt_Snd_Vol '[sfx-volume]' to txt_Sfx_Volume '[txt_Sfx_Volume]'. * If HAVE_MUSIC isn't defined, the Options page is open showing Sfx Volume and the user presses +/- to adjust the volume then temp_sfx_vol is updated and the options screen is refreshed to show the new value. * Fixed Original:6 and RobboVII:2 demos because they went out of sync with the recent teleport changes. 2009-12-13 Thunor * Updated Tronic icons16 and 32 for new Millenium objects. 2009-12-12 Thunor * Updated Tronic background images. * Set gnurobbo_op_env.systempointer to TRUE for PC and WIN32 only. * Removed a "but but" from the README. * Updated licences of robbo/lvldump.c and robbo/lvdump_millenium.c to "(C) The GNU Robbo Team". 2009-12-11 Thunor * Added background*.png for the Tronic skin. 2009-12-07 Thunor * 0.64 released * Updated the (C) messages at the top of each source file to point the reader to the AUTHORS file, as there are now many more authors. * Changed the [txt_intro_credits] in texts to "The GNU Robbo Team". * Fixed a bug I've recently seen in clear_screen whereby the right- hand side of the screen wasn't being cleared properly when using wide-screen resolutions. 2009-12-06 Thunor * Added a licence for the project sound effects - LICENSE-sound 2009-11-29 neurocyp * Since we allow guns to rotate and shoot solid laser, we needed to fix the fact, that gun could rotate during solid laser (or blaster) shot * Blaster no longer blasts teleport, when it is near the gun * Barrier was broken, now fixed * Movable guns can shoot solidlaser and blasters, and it should be handled properly 2009-11-21 neurocyp * GNU Robbo can support music now - disabled by default * Few bugfixes blaster no longer destroys doors nor keys * As in the original Robbo, blaster now blows bombs * Levels rearranged 2009-11-19 Neurocyp * GNU Robbo supports sound effects SDL_mixer needed * Changed icon files to png format, this way we have real alpha channel * Added some new levelmaps * Added "oily" skin to demonstrate new abilities such as sound skin * Added "background tile" - located in the icon file under coordinates (1,8) - depends on the tile size * Added 4 new objects to support Robbo Millenium maps, the objects are: vertical magnets, stop sign, radioactive field (modified all skins, accordingly) * Modified lvdump utility, so if supports original atari levels even better * Added modified lvdump, that supports Robbo Millenium data files * Added 1 level from Robbo Millenium, so it could show the new options 2009-10-18 Bombel * GNU Robbo ported to Sony PlayStation Portable (PSP) * Part of load_selected_skin() moved to load_TTF_font() (PSP suspend mode) * Updated all translations for PSP 2009-10-16 Thunor * Fixed a bug in the main menu looping from the top to the bottom. 2009-09-03 * 0.63 * Exclusive Nokia N8x0 (OS2008) package release by Willem-Jan de Hoog 2009-08-06 Alexander Voikov * Russian translation added 2009-04-30 Thunor * Added pointer controls pad fit to screen boundary type if required * Added pointer_controls.pad_type to rcfile but not to Options (yet) * Disabled Primary Click on the GP2X as it's not currently required 2009-04-25 Thunor * Created pointer controls toolbar icons * Pointer controls can now be considered fully functional * Temporarily hidden designer options and menu item * Changed default Zaurus ACTION_SELECT to space from OK * Changed default Zaurus ACTION_MODIFIER1 to space from OK 2009-04-20 Thunor * Updated the READMEs for the new pointing device support 2009-04-16 Thunor * Added an in-game pointer controls direction and shoot pad * Removed Pointer Controls from Options: clicking in-game shows controls * Added an in-game pointer controls toolbar for common tasks 2009-04-08 Thunor * Added alpha_press and bgcolour_press properties to ROB_Object * Added img_press_surface property to ROB_Object * Added drag_granularity property to ROB_Object 2009-04-07 Thunor * All screens are now [re]drawn using bits similar to show_scoreline() * Re-engineered show_message_box() * Added working pointer hotspots to the Intro Screen 2009-04-06 Thunor * Modified animation in Help to handle constant redraw_everything * Added working pointer hotspots to Help 2009-04-05 Thunor * Fixed the colour cycling too fast when holding controls bug * Added working pointer hospots to Options 2009-04-03 Thunor * Displaying of options in screen.c has been re-engineered 2009-04-02 Thunor * Options code now executable-ready via hittable rectangles (hotspots) 2009-04-01 Thunor * Pulled most of the options code out of main loop; just a little left * Made the option page navigation items selectable 2009-03-30 Thunor * Saved VERSION to the rcfile to assist with changes in the future * Simplified the management of the 7 pages of options, thankfully :) 2009-03-29 Thunor * Added diagonal actions for the simulated pointer plus two modifiers * Reorganised the actions taking care to preserve reading older rcfiles * Added System Pointer < { Disabled | Enabled } > to Options 2009-03-28 Thunor * Fixed the end of demo RobboIX:4 because of modified bomb explosion * Added ACTION_TOGGLE_DESIGNER 2009-03-27 Thunor * Stopped options pages from clearing lines if the screen was cleared * Optimised clear_screen() 2009-03-25 Thunor * Moved one LICENCE-ttf into the root (->DOCDIR) and deleted the other * Added data/rob/robsprites.bmp * Updated Makefile and _buildipk/tgz to deal with the above changes 2009-03-24 Thunor * Modified _buildipk to create the control file * Added ROB_engine.c/h -- The GNU Robbo Rectangular Object Engine :) * Updated Makefiles to VERSION=$(shell cat VERSION) * Updated Makefiles to TARGET=$(shell cat TARGET) * Updated all Makefiles to set and use $(SDL_CONFIG) * Slightly adjusted some of the line lengths in the READMEs 2009-03-23 Thunor * Added 13 new text items to locales 2009-03-20 Thunor * Added DEVICE_MOUSE as an allowable input device * Added ACTION_SCROLL_UP, ACTION_SCROLL_DOWN and ACTION_PRIMARY_CLICK * Added Pointer Control Pad < { Disabled | Enabled | Reposition } > to Options * Changed "Save rcfile" to "Save Frequency" because it wasn't correct * Added video.xshift and video.yshift so the game area can be shifted 2009-03-18 Thunor * 0.62 released * Added Save rcfile < {on exit | on change} > to Options * Updated the default Zaurus keys * Adjusted the position of the umlaut over the 'a' 1px left * Wrapped the last line of the Polish text on Options page 1 * Unforced GP2X to 320x240 -ts 16 2009-03-17 Thunor * Updated the README with clearer Atari Robbo background * EMPTY_FIELDs are now blowable, therefore the bomb blows them up * Tweaked RobboIX:003 to cope with the EMPTY_FIELDs blowing-up 2009-03-16 Thunor * Updated the Zaurus Makefile and ipk build script * Modified get_user_action() to break when an action is triggered * Updated default Zaurus controls in all locales * Disabled target platform key repeat as get_user_action() does this 2009-03-14 Thunor * Stopped PC Makefile from installing *ttf if FONT_USE_PIXMAP * Stopped PC Makefile from installing into the current folder 2009-03-13 Thunor * Replaced font8x12.bmp with font12x16.bmp * Replaced font16x24.bmp with font24x32.bmp * All extra characters for supported languages have been drawn * Updated PC Makefile for font selection and tested both * Updated GP2X Makefile for font selection and tested both * Updated Zaurus Makefile and it now builds and works :) 2009-03-11 Thunor * Selecting pixmap fonts now works but needs extra characters drawn 2009-03-11 Thunor * Renamed LICENSE-font to LICENSE-ttf to avoid confusion with pixmaps * Added font8x12.bmp and font16x24.bmp to the skins folders * Updated Makefile and build scripts for new Swedish translation 2009-03-10 Niklas 'Nille' Åkerström * Swedish translation added 2009-03-08 Thunor * Removed buildsrc and backup as they are not for general release * Added LICENSE-font to original skin folder * GP2X rcfile saves and syncs on new level start and options save * Added USE_PIXMAP_FONT Makefile directive, font.c and font.h 2009-03-07 Viliam Búr * Slovak translation added 2009-03-03 Chris Zeiler * German translation added 2009-03-02 Thunor * 0.61 released * Added the Tronic sprite BEAR_B * Added the Tronic sprite BIRD * Added the Tronic sprite BUTTERFLY * Set the Tronic skin level colour overrides * Resampled the demos across all level packs 2009-02-26 Alus * 0.60 test release 2009-02-26 Thunor * 640x480 and 320x240 now supported * Fullscreen support via ALT+ENTER and command line * Tidied up the code, removed all gcc errors * Conventionalised the controls * Added support for multiple level packs * F5/F6 cycles through the levels of a pack * F7/F8 cycles through the packs * Added 15 levels from RobboVII * Added additional wall graphics * Added 32 levels from RobboVIII * Added some help screens * Added animated banners * Removed score and lives as the goal is level advancement * 'R' restarts instead of suicide * Created an LCD font to display the pack name * Abstracted SDL events into actions which fixed some control bugs * Added joystick support * Added some options screens * Made the controls reconfigurable * Added a game fade * Added 32 levels from RobboIX * Added unique pack end screens * Added skin support * Created a new original skin: Tronic * Implemented a reconfigurable SDL_Timer to control the game speed * Fixed the known bugs and newly discovered bugs/issues * Fixed some game mechanics to be more similar to the original Robbo * Placed the project colours in the skinrc for easy modification * Placed some game mechanics in the rcfile for easy modification * Added centering of game within any resolution and viewport maximising * Massive reorganisation of the project into seperate files * Added support for different locales * Added a Polish translation 2002-11-15 Alus * Changed level colour format * Added new object - barrier 2002-11-14 Alus * Added 7 new levels 2002-11-13 Alus * Fixed remaining objects after boom * Window title and icon 2002-11-12 Alus * File .gnurobborc implementing * End screen 2002-11-08 Lenny * Changed .spec file 2002-11-04 Alus * 0.56 released * Changed some colors 2002-10-23 Alus * Video displaying is now double buffered * Added different level colors * Code cleaning 2002-10-21 Alus * Better key pressing detecting * Background removed * Better random number choosing 2002-10-19 Alus * Little changed graphics * Added level choosing (system of codes) * Startscreen menu * Some bugfixes 2002-10-18 Alus * 0.55 version released * Bigger graphics (some people asked me of this) * Better time parameters * Cosmetics changes in start screen 2002-10-17 Alus * New levels * Extra life after taken won't appear on the same level * Loading from file only for new levels * Questionmark's objects don't uncover if blowed 2002-10-16 Alus * Bear delay if turning back * Many new levels * New object - pushing box * Bugfix in data loading * Blasters don't clear screws and capsule now 2002-10-15 Alus * Blink screen if capsule is ready * First version of scrolling 2002-10-14 Alus * Added new levels 2002-10-12 Alus * Removed trick keybindings * Testing and added new levels * Version 0.52 released 2002-10-12 Alus * Removed some structures * Background is better displayed * Wall, bricks, grass etc. is now treaten like wall * Five new levels 2002-10-11 Alus * Screws and bullets are counted during level loading * Changed teleport behaviour and description in levelfile 2002-10-10 Alus * Preparing automatically build and install 2002-10-09 Alus * Moving guns * Rotated guns * Questionmark objects are randomly choosed * Fixed butterfly moving (chances for random move) 2002-10-08 Alus * Butterflies' behaviour * Magnets' behaviour * Blaster implementation * Shooting birds * Fixed solid laser algorithm 2002-10-03 Alus * Begining screen with using SDL_ttf 2002-10-02 Alus * Solid laser is working !!! * SDL_Surface pointers for each object not needed anymore * Better delay variables fitting - game does not use 100% of processor :) 2002-10-02 Cyba * Move alghoritm for bears 2002-10-01 Alus * Merging all little icons into big one 2002-09-31 Alus * Changing bugfix with wrong teleportation * Courtine effect 2002-09-30 Alus * Created next 2 levels and implemented shooting * Simple level changing * Questionmarks implementation * Teleportation is working now * Minor bugfixes 2002-09-29 Alus * First level with simple functionality is working! * Reading levels from file * Board scrolling 2002-09-27 Alus * beginning of this project gnurobbo-0.66+dfsg/Makefile.gp2x0000644000175000017500000000267011467300751015567 0ustar stevesteve# You won't need to alter these TARGET=$(shell cat TARGET) SOURCES=$(wildcard *.c) OBJECTS=$(patsubst %.c, %.o, $(SOURCES)) VERSION=$(shell cat VERSION) export PACKAGE_DATA_DIR=./data export TOOLCHAIN=gp2x # Comment out the line below if you want to disable music support #MUSIC=-DHAVE_MUSIC # Comment out the line below if you want to disable the designer #DESIGNER=-DHAVE_DESIGNER # Choose ONE of these and comment the other export FONT_USE_PIXMAP=-DUSE_PIXMAP_FONT #export FONT_USE_SDL_TTF=-lSDL_ttf # This uses the GPH GP2XSDK with a different installation directory (the GPH default is # /gp2xsdk/Tools and mine is /opt/gp2xsdk) so you will need to modify at least DEVPREFIX below DEVPREFIX=/opt/gp2xsdk SDL_CONFIG=$(DEVPREFIX)/arm-gp2x-linux/bin/arm-linux-sdl-config CC=$(DEVPREFIX)/bin/arm-gp2x-linux-gcc CFLAGS=-O3 -pipe -Wall -fomit-frame-pointer \ -I$(DEVPREFIX)/arm-gp2x-linux/include `$(SDL_CONFIG) --prefix=$(DEVPREFIX) --cflags` \ -DPLATFORM_GP2X -DVERSION=\"$(VERSION)\" -DPACKAGE_DATA_DIR=\"$(PACKAGE_DATA_DIR)\" \ $(FONT_USE_PIXMAP) $(MUSIC) $(DESIGNER) LINK=$(CC) LDFLAGS=-L$(DEVPREFIX)/arm-gp2x-linux/lib LIBS=`$(SDL_CONFIG) --prefix=$(DEVPREFIX) --libs` $(FONT_USE_SDL_TTF) -lSDL_image -lSDL_mixer # You won't need to alter anything below all: $(SOURCES) $(TARGET) $(TARGET): $(OBJECTS) $(LINK) $(LDFLAGS) $(OBJECTS) $(LIBS) -o $@ gp2x/build-$(TARGET) %.o: %.c $(CC) $(CFLAGS) -c $< -o $@ .PHONY: all clean clean: rm -f *.o