pingus-cvs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Pingus-CVS] r3199 - in trunk/pingus: . data/data data/images/core/butto


From: grumbel at BerliOS
Subject: [Pingus-CVS] r3199 - in trunk/pingus: . data/data data/images/core/buttons src src/editor
Date: Fri, 21 Sep 2007 16:21:17 +0200

Author: grumbel
Date: 2007-09-21 16:21:16 +0200 (Fri, 21 Sep 2007)
New Revision: 3199

Modified:
   trunk/pingus/NEWS
   trunk/pingus/SConstruct
   trunk/pingus/TODO
   trunk/pingus/data/data/core.res
   trunk/pingus/data/images/core/buttons/pause.png
   trunk/pingus/src/editor/editor_screen.cpp
   trunk/pingus/src/editor/editor_screen.hpp
   trunk/pingus/src/editor/editor_viewport.cpp
   trunk/pingus/src/editor/editor_viewport.hpp
   trunk/pingus/src/editor/level_objs.cpp
   trunk/pingus/src/editor/level_objs.hpp
   trunk/pingus/src/editor/panel.cpp
   trunk/pingus/src/pingus_main.cpp
   trunk/pingus/src/pingus_main.hpp
   trunk/pingus/src/pingus_menu.cpp
Log:
- added object duplication
- added a 'see AUTHORS for complete list of contributors

Modified: trunk/pingus/NEWS
===================================================================
--- trunk/pingus/NEWS   2007-09-21 13:43:46 UTC (rev 3198)
+++ trunk/pingus/NEWS   2007-09-21 14:21:16 UTC (rev 3199)
@@ -1,10 +1,11 @@
 0.7.1 (??/Sep/2007)
 ===================
-* faster sprite drawing
-* level editor working
+* faster sprite drawing, so more overall fps
+* level editor rewritten
 * level loading from command line fixed
-* input subsystem rewritten from scratch (supports now gamepads,
-  usbmice, wiimote)
+* input subsystem rewritten from scratch, supports now gamepads,
+  usbmice, wiimote (some of those might be buggy and not work
+  properly)
 
 0.7.0 (25/Aug/2007)
 ===================

Modified: trunk/pingus/SConstruct
===================================================================
--- trunk/pingus/SConstruct     2007-09-21 13:43:46 UTC (rev 3198)
+++ trunk/pingus/SConstruct     2007-09-21 14:21:16 UTC (rev 3199)
@@ -405,7 +405,7 @@
            print "\nError are being ignored, the build continues"
 
     config_h = open('config.h', 'w')
-    config_h.write('#define VERSION "0.7.0"\n')
+    config_h.write('#define VERSION "0.7.1"\n')
     config_h.write('#define ICONV_CONST\n') # FIXME: make a check for this
     for (v,k) in config_h_defines:
         config_h.write('#define %s %s\n' % (v, k))

Modified: trunk/pingus/TODO
===================================================================
--- trunk/pingus/TODO   2007-09-21 13:43:46 UTC (rev 3198)
+++ trunk/pingus/TODO   2007-09-21 14:21:16 UTC (rev 3199)
@@ -180,8 +180,6 @@
 Important:
 ==========
 
-- add object duplication
-
 - keyboard shortcuts need to be implemented (use input framework, but
   how without support for keymaps?)
 

Modified: trunk/pingus/data/data/core.res
===================================================================
--- trunk/pingus/data/data/core.res     2007-09-21 13:43:46 UTC (rev 3198)
+++ trunk/pingus/data/data/core.res     2007-09-21 14:21:16 UTC (rev 3199)
@@ -219,7 +219,7 @@
 
                    (sprite
                     (name "copy")
-                    (image-file "../images/core/editor/tb_copy.png"))
+                    (image-file "../images/core/editor/edit-copy.png"))
 
                    (sprite
                     (name "new")

Modified: trunk/pingus/data/images/core/buttons/pause.png
===================================================================
--- trunk/pingus/data/images/core/buttons/pause.png     2007-09-21 13:43:46 UTC 
(rev 3198)
+++ trunk/pingus/data/images/core/buttons/pause.png     2007-09-21 14:21:16 UTC 
(rev 3199)
@@ -1,14 +1,11 @@
 �PNG
 
-
-Jx�ЀTUX(A�j"����
-ji�"PՖ
-T�HX�"EP7BuSA!q�Z.�������yϝ�}��{֚�줵���#�{vG�|����]xg�3��������'0�� �)     
@�Ќ�$0�
-
-����t��]��X$�Y��     2�
b�e�Jt���<������3Y
-����iVY��K5�����e�[�1U����ǿ�t�̉��Fu`�ދQ|�$Qc)���wm��I:address@hidden
-Z�A�~�D�E<x��`�˄a��:�W���ѻ���<�O�8Ud)�/~x�/.������4��tD�d�uO�������Gǵ#B7���A���)Z[+

�mT=���8����*�>address@hidden,�~����U`K<M�Qv����ȱ��,��`���1z�ʶ>�:h�N�{x���KW�R��ȽG
      ����kM뾎���,vp]�bR��R�'"�6C
-�߶6;0��y`^�ev8��YϪ��w!�X�^F���!�2}k
-��n
-v�y�E�F���C��j��?c~�$$��Q����ޔ�        ����ΠK}uYQ   |�J�乗; 
�Zu���j�{������h���g�������1�A�D:�g���-j�pU�Uk�q;���X�#+*��`�B"address@hidden
-h�A�T7W٪���&��]�c;YIc���?�Z_DV2�m
�e��3d'�"�"lk��SkO���֫�6��4��dnIV��FI��V-��[�K
\ No newline at end of file
+
+ō���cu,9����h���̙��yg8+�d7Vz�^��8�����y<X֏�������t�k �Ŗ� ���t
+���c�xX륗^��$}{�z�><A��"��R(���BQZ��F��H�ӈ�D�������ǀY���,�R*arx�c&��}I��v���ΒJ��iA�e��*A�8�r�x<�ѣGe��(q1�Rr/���?���s���_m�;m!�Z��#���X�BO|��}MӆA`����������q��>�j5&&&(����;/^��/@���_����T*���vww�e�w
+��Tj������>9`wll�Ç311���3334�M���*�Y.��b��á9�9����Ч�q��j,//�h4��R���y��q�
  L��4�a�
+���LJ�haaEQH$�C2������:�mp��2��l�0���`rr�B�@"address@hidden 
��������L&YYY��X,r��)�;�����O��&�� I�����m,�BUUdYF�4�;�m۔�e��.
+kkkx�G����}LӤR�����yޠ�q�{I�m���k�����O�!ar��ŷ�z�������i�0�0
���y衇H�R�����H������AѼ����A]�+G��~S�v(�9s��b�����%|����G}���bqȤa���i�ض��8���i���K"��^������l6�~����i��?���=�ESG]���O?�tU�.O��B훦9La�i�ea��#�2�x�X,���6�::P����6D��D�-���%̻
����ŵ�������z=� 
@Q4M�u]4Mc||I�(�JC�[.�5�˲n��7��fa��ꋁIW|����k�����u:|ߧT*1��m���E�u]��6�r���-
��Ν;�    ,�Cv��z
address@hidden�i333:t�F�A\�r�g���́�����Ϩ�r�gkkk�z=666�W�V���>��`jS�     
address@hidden
+��o��Λo�y^���]���t��*Y>}��O*�
+kkk�r9VWWY\\���Dz�����-)2�͈N{B���aO8|�n��c��SESc����̊v��5�:h`��>J�u��G���1����X�-]ȃ�`=X�^�\e{V�
\ No newline at end of file

Modified: trunk/pingus/src/editor/editor_screen.cpp
===================================================================
--- trunk/pingus/src/editor/editor_screen.cpp   2007-09-21 13:43:46 UTC (rev 
3198)
+++ trunk/pingus/src/editor/editor_screen.cpp   2007-09-21 14:21:16 UTC (rev 
3199)
@@ -280,6 +280,12 @@
   ScreenManager::instance()->push_screen(new PingusGameSession(level, false), 
true);
 }
 
+void
+EditorScreen::objects_duplicate()
+{
+  viewport->duplicate_selected_objects();
+}
+
 void 
 EditorScreen::objects_delete()
 {

Modified: trunk/pingus/src/editor/editor_screen.hpp
===================================================================
--- trunk/pingus/src/editor/editor_screen.hpp   2007-09-21 13:43:46 UTC (rev 
3198)
+++ trunk/pingus/src/editor/editor_screen.hpp   2007-09-21 14:21:16 UTC (rev 
3199)
@@ -111,6 +111,7 @@
   void level_save_as();
   void level_play();
 
+  void objects_duplicate();
   void objects_delete();
 
   void objects_raise_to_top();

Modified: trunk/pingus/src/editor/editor_viewport.cpp
===================================================================
--- trunk/pingus/src/editor/editor_viewport.cpp 2007-09-21 13:43:46 UTC (rev 
3198)
+++ trunk/pingus/src/editor/editor_viewport.cpp 2007-09-21 14:21:16 UTC (rev 
3199)
@@ -99,12 +99,8 @@
           // If the currently selected object isn't selected, select it and 
deselect the rest
           if (!obj->is_selected())
             {
-              for (unsigned i = 0; i < selected_objs.size(); i++)
-                selected_objs[i]->unselect();
-                
-              selected_objs.clear();
+              clear_selection();
               obj->select();
-
               selected_objs.push_back(obj);
 
               selection_changed(selected_objs);
@@ -123,7 +119,8 @@
           highlighted_area.left = highlighted_area.right  = mouse_world_pos.x;
           highlighted_area.top  = highlighted_area.bottom = mouse_world_pos.y;
 
-          selected_objs.clear();
+          clear_selection();
+
           selection_changed(selected_objs);
         }
     }
@@ -306,6 +303,26 @@
 }
 
 void
+EditorViewport::duplicate_selected_objects()
+{
+  std::vector<LevelObj*> new_objs;
+  for(std::vector<LevelObj*>::iterator i = selected_objs.begin(); i != 
selected_objs.end(); ++i)
+    {
+      LevelObj* clone = (*i)->duplicate(Vector2i(32, 32));
+      if (clone)
+        {
+          new_objs.push_back(clone);
+          objs.push_back(clone);
+          clone->select();
+        }
+    }
+  
+  clear_selection();
+  selected_objs = new_objs;
+  selection_changed(selected_objs);  
+}
+
+void
 EditorViewport::delete_selected_objects()
 {
   for(std::vector<LevelObj*>::iterator i = selected_objs.begin(); i != 
selected_objs.end(); ++i)
@@ -459,6 +476,15 @@
 }
 
 void
+EditorViewport::clear_selection()
+{
+  for (unsigned i = 0; i < selected_objs.size(); i++)
+    selected_objs[i]->unselect();
+                
+  selected_objs.clear(); 
+}
+
+void
 EditorViewport::clear()
 {
   selected_objs.clear();

Modified: trunk/pingus/src/editor/editor_viewport.hpp
===================================================================
--- trunk/pingus/src/editor/editor_viewport.hpp 2007-09-21 13:43:46 UTC (rev 
3198)
+++ trunk/pingus/src/editor/editor_viewport.hpp 2007-09-21 14:21:16 UTC (rev 
3199)
@@ -126,6 +126,8 @@
   void on_key_pressed(const unsigned short c);
 
   void delete_selected_objects();
+  void duplicate_selected_objects();
+
   void vflip_selected_objects();
   void hflip_selected_objects();
 
@@ -150,6 +152,7 @@
 
   std::vector<LevelObj*>* get_objects() { return &objs; }
 
+  void clear_selection();
   void clear();
 
   boost::signal<void (const std::vector<LevelObj*>&)> selection_changed;

Modified: trunk/pingus/src/editor/level_objs.cpp
===================================================================
--- trunk/pingus/src/editor/level_objs.cpp      2007-09-21 13:43:46 UTC (rev 
3198)
+++ trunk/pingus/src/editor/level_objs.cpp      2007-09-21 14:21:16 UTC (rev 
3199)
@@ -315,6 +315,15 @@
                   Size(sprite.get_width(), sprite.get_height()));
     }
 }
+
+LevelObj*
+LevelObj::duplicate(const Vector2i& offset) const
+{
+  LevelObj* obj = new LevelObj(*this);
+  obj->pos.x += offset.x;
+  obj->pos.y += offset.y;
+  return obj;
+}
 
 } // namespace Editor 
 

Modified: trunk/pingus/src/editor/level_objs.hpp
===================================================================
--- trunk/pingus/src/editor/level_objs.hpp      2007-09-21 13:43:46 UTC (rev 
3198)
+++ trunk/pingus/src/editor/level_objs.hpp      2007-09-21 14:21:16 UTC (rev 
3199)
@@ -330,9 +330,7 @@
   void set_middle_stars(int n) {  middle_stars = n; }
   void set_large_stars(int n)  {   large_stars = n; }
 
-private:
-  LevelObj (const LevelObj&);
-  LevelObj& operator= (const LevelObj&);
+  LevelObj* duplicate(const Vector2i& offset) const;
 };
 
 } // namespace Editor 

Modified: trunk/pingus/src/editor/panel.cpp
===================================================================
--- trunk/pingus/src/editor/panel.cpp   2007-09-21 13:43:46 UTC (rev 3198)
+++ trunk/pingus/src/editor/panel.cpp   2007-09-21 14:21:16 UTC (rev 3199)
@@ -170,6 +170,8 @@
   add_button("core/editor/objects", "Show object insertion window", 
              &EditorScreen::toggle_object_selector);
   add_separator();
+  add_button("core/editor/copy", "Duplicate the selected objects", 
+             &EditorScreen::objects_duplicate);
   add_button("core/editor/delete", "Delete the selected objects", 
              &EditorScreen::objects_delete);
   add_separator();
@@ -191,13 +193,13 @@
              &EditorScreen::objects_rotate_left);
   add_button("core/editor/object-rotate-right", "Rotate object -90 degree", 
              &EditorScreen::objects_rotate_right);
-  add_separator();
+  // add_separator();
   //add_button("core/editor/snap-grid", "Snap objects to grid", 
   //             &EditorScreen::toggle_grid_snap);
+  // add_separator();
+  // add_button("core/editor/help", "Display help", 
+  //             &EditorScreen::toggle_help);
   add_separator();
-  add_button("core/editor/help", "Display help", 
-             &EditorScreen::toggle_help);
-  add_separator();
   add_button("core/editor/exit", "Exit", 
              &EditorScreen::exit);
 }

Modified: trunk/pingus/src/pingus_main.cpp
===================================================================
--- trunk/pingus/src/pingus_main.cpp    2007-09-21 13:43:46 UTC (rev 3198)
+++ trunk/pingus/src/pingus_main.cpp    2007-09-21 14:21:16 UTC (rev 3199)
@@ -142,17 +142,6 @@
 {
 }
 
-char*
-PingusMain::get_title()
-{
-#ifdef OFFICIAL_PINGUS_BUILD
-  static char title[] = "Pingus "VERSION" - http://pingus.seul.org";;
-#else
-  static char title[] = "Pingus "VERSION" (unofficial build) - 
http://pingus.seul.org";;
-#endif
-  return title;
-}
-
 void
 PingusMain::read_rc_file (void)
 {
@@ -363,14 +352,15 @@
           break;
 
         case 'V':
-          std::cout << "Pingus Version " << VERSION
+          std::cout << "Pingus " << VERSION
 #ifndef OFFICIAL_PINGUS_BUILD
                     << " (unofficial build)"
 #endif
                     << std::endl;
             
           std::cout << "\n"
-            "Copyright (C) 2003 Ingo Ruhnke <address@hidden>, see AUTHORS for 
a complete list\n"
+            "Copyright (C) 1998-2007 Ingo Ruhnke <address@hidden>\n"
+            "See the file AUTHORS for a complete list of contributors.\n\n"
             "There is NO warranty.  You may redistribute this software\n"
             "under the terms of the GNU General Public License.\n"
             "For more information about these matters, see the files named 
COPYING." << std::endl;
@@ -854,7 +844,9 @@
   }
   atexit(SDL_Quit); 
   Display::set_video_mode(screen_width, screen_height);
+
   SDL_WM_SetCaption("Pingus " VERSION " - SDL Edition", 0 /* icon */);
+
   SDL_EnableUNICODE(1);
 }
 

Modified: trunk/pingus/src/pingus_main.hpp
===================================================================
--- trunk/pingus/src/pingus_main.hpp    2007-09-21 13:43:46 UTC (rev 3198)
+++ trunk/pingus/src/pingus_main.hpp    2007-09-21 14:21:16 UTC (rev 3199)
@@ -53,7 +53,6 @@
   virtual ~PingusMain();
 
   virtual int main(int argc, char** argv);
-  virtual char* get_title();
 
   void on_exit_press();
 private:

Modified: trunk/pingus/src/pingus_menu.cpp
===================================================================
--- trunk/pingus/src/pingus_menu.cpp    2007-09-21 13:43:46 UTC (rev 3198)
+++ trunk/pingus/src/pingus_menu.cpp    2007-09-21 14:21:16 UTC (rev 3199)
@@ -234,17 +234,11 @@
                        Display::get_height()/10));
     }
 
-#ifdef OFFICIAL_PINGUS_BUILD
   gc.print_left(Fonts::pingus_small, 25, 
-                Display::get_height()-114,
-                "Pingus version "VERSION", Copyright (C) 2003 Ingo Ruhnke 
<address@hidden>\n");
-#else
+                Display::get_height()-130,
+                "Pingus "VERSION", Copyright (C) 1998-2007 Ingo Ruhnke 
<address@hidden>\n"
+                "See the file AUTHORS for a complete list of contributors.\n");
   gc.print_left(Fonts::pingus_small, 25, 
-                Display::get_height()-114,
-                "Pingus version "VERSION" (unofficial build), Copyright (C) 
2003 Ingo Ruhnke <address@hidden>\n");
-#endif
-
-  gc.print_left(Fonts::pingus_small, 25, 
                 Display::get_height()-80,
                 "Pingus comes with ABSOLUTELY NO WARRANTY. This is free 
software, and you are\n"
                 "welcome to redistribute it under certain conditions; see the 
file COPYING for details.\n");





reply via email to

[Prev in Thread] Current Thread [Next in Thread]