rnd-20050523-1-src
authorHolger Schemel <info@artsoft.org>
Mon, 23 May 2005 19:30:58 +0000 (21:30 +0200)
committerHolger Schemel <info@artsoft.org>
Sat, 30 Aug 2014 08:48:57 +0000 (10:48 +0200)
* added setup option "skip levels" and possibility to skip levels
* fixed displaying "imported from/by" on preview with empty string
* fixed ignoring draw offset for fonts used for level preview texts

ChangeLog
src/conftime.h
src/editor.c
src/files.c
src/screens.c
src/tools.c

index b373cd3d2f654486bd0a98a0cad2256d73b2758c..da554aa6460c478e4de90b129bbcfce44e2d8953 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2005-05-15
+       * added setup option "skip levels" and possibility to skip levels
+
+2005-04-28
+       * fixed displaying "imported from/by" on preview with empty string
+       * fixed ignoring draw offset for fonts used for level preview texts
+
 2005-04-24
        * fixed a delay problem with SDL and too many mouse motion events
        * added setup option "skip levels" and level skipping functionality
index d56a2b3cd8ab8965bbddac8cdf3e8fb939d02f48..42000960810dda5a559dd80502033d45cb73f67b 100644 (file)
@@ -1 +1 @@
-#define COMPILE_DATE_STRING "[2005-04-23 23:41]"
+#define COMPILE_DATE_STRING "[2005-05-23 21:29]"
index f6c63d1dd7d028d9e78d43501f8c7c8a669f81a4..988c1cdccc22da4b438a1b2093b4af669e9a07e2 100644 (file)
@@ -8713,7 +8713,7 @@ static void HandleCounterButtons(struct GadgetInfo *gi)
     if ((level_changed && pressed) || (!level_changed && released))
       return;
 
-    if (level_changed && !Request("Level has changed! Discard changes ?",
+    if (level_changed && !Request("Level has changed ! Discard changes ?",
                                  REQ_ASK))
     {
       if (gadget_id == counterbutton_info[counter_id].gadget_id_text)
@@ -9729,7 +9729,7 @@ void RequestExitLevelEditor(boolean ask_if_level_has_changed)
 {
   if (!ask_if_level_has_changed ||
       !LevelChanged() ||
-      Request("Level has changed! Exit without saving ?",
+      Request("Level has changed ! Exit without saving ?",
              REQ_ASK | REQ_STAY_OPEN))
   {
 #if 1
index b1754033ec4d371828e6067a56e79ac23d753cc9..473a73926cbcaa9f24502582db6844c9746b786a 100644 (file)
@@ -4005,7 +4005,7 @@ void SaveTape(int nr)
   tape.changed = FALSE;
 
   if (new_tape)
-    Request("tape saved !", REQ_CONFIRM);
+    Request("Tape saved !", REQ_CONFIRM);
 }
 
 void DumpTape(struct TapeInfo *tape)
index 10a7cd5791c52521b60d7b29c19a6a26673b590b..8d4fa2826875c6f1a0b6c967d56636b344f6fbe6 100644 (file)
@@ -379,6 +379,7 @@ static void gotoTopLevelDir()
 
 void HandleMainMenu(int mx, int my, int dx, int dy, int button)
 {
+  static unsigned long level_delay = 0;
   static int choice = 5;
   int x = 0;
   int y = choice;
@@ -404,9 +405,8 @@ void HandleMainMenu(int mx, int my, int dx, int dy, int button)
 
   if (y == 1 && ((x == 10 && level_nr > leveldir_current->first_level) ||
                 (x == 14 && level_nr < leveldir_current->last_level)) &&
-      button)
+      button && DelayReached(&level_delay, GADGET_FRAME_DELAY))
   {
-    static unsigned long level_delay = 0;
     int step = (button == 1 ? 1 : button == 2 ? 5 : 10);
     int old_level_nr = level_nr;
     int new_level_nr;
@@ -418,13 +418,10 @@ void HandleMainMenu(int mx, int my, int dx, int dy, int button)
       new_level_nr = leveldir_current->last_level;
 
 #if 1
-    if (setup.handicap && new_level_nr > leveldir_current->handicap_level + 1)
-      new_level_nr = leveldir_current->handicap_level;
-
-    if (setup.handicap && new_level_nr > leveldir_current->handicap_level &&
-       leveldir_current->handicap_level < leveldir_current->last_level)
+    if (setup.handicap && new_level_nr > leveldir_current->handicap_level)
     {
-      if (setup.skip_levels &&
+      /* skipping levels is only allowed when trying to skip single level */
+      if (setup.skip_levels && step == 1 &&
          Request("Level still unsolved ! Skip despite handicap ?", REQ_ASK))
       {
        leveldir_current->handicap_level++;
@@ -438,8 +435,7 @@ void HandleMainMenu(int mx, int my, int dx, int dy, int button)
       new_level_nr = leveldir_current->handicap_level;
 #endif
 
-    if (new_level_nr != old_level_nr &&
-       DelayReached(&level_delay, GADGET_FRAME_DELAY))
+    if (new_level_nr != old_level_nr)
     {
       level_nr = new_level_nr;
 
index 794de36ea7f860ad80e9e5c06cd3f3767ec9f79b..13ba83016fafe96ae2223c1d6363f80dc0116966 100644 (file)
@@ -1552,6 +1552,7 @@ static void DrawMicroLevelLabelExt(int mode)
   char label_text[MAX_OUTPUT_LINESIZE + 1];
   int max_len_label_text;
   int font_nr = FONT_TEXT_2;
+  int i;
 
   if (mode == MICROLABEL_LEVEL_AUTHOR_HEAD ||
       mode == MICROLABEL_IMPORTED_FROM_HEAD ||
@@ -1560,8 +1561,26 @@ static void DrawMicroLevelLabelExt(int mode)
 
   max_len_label_text = SXSIZE / getFontWidth(font_nr);
 
+#if 1
+
+  for (i = 0; i < max_len_label_text; i++)
+    label_text[i] = ' ';
+  label_text[max_len_label_text] = '\0';
+
+  if (strlen(label_text) > 0)
+  {
+    int lxpos = SX + (SXSIZE - getTextWidth(label_text, font_nr)) / 2;
+    int lypos = MICROLABEL2_YPOS;
+
+    DrawText(lxpos, lypos, label_text, font_nr);
+  }
+
+#else
+
   DrawBackground(SX, MICROLABEL2_YPOS, SXSIZE, getFontHeight(font_nr));
 
+#endif
+
   strncpy(label_text,
          (mode == MICROLABEL_LEVEL_NAME ? level.name :
           mode == MICROLABEL_LEVEL_AUTHOR_HEAD ? "created by" :
@@ -1680,9 +1699,11 @@ void DrawMicroLevel(int xpos, int ypos, boolean restart)
   {
     int max_label_counter = 23;
 
-    if (leveldir_current->imported_from != NULL)
+    if (leveldir_current->imported_from != NULL &&
+       strlen(leveldir_current->imported_from) > 0)
       max_label_counter += 14;
-    if (leveldir_current->imported_by != NULL)
+    if (leveldir_current->imported_by != NULL &&
+       strlen(leveldir_current->imported_by) > 0)
       max_label_counter += 14;
 
     label_counter = (label_counter + 1) % max_label_counter;