[Top][All Lists]
[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");
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Pingus-CVS] r3199 - in trunk/pingus: . data/data data/images/core/buttons src src/editor,
grumbel at BerliOS <=