pingus-cvs
[Top][All Lists]
Advanced

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

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


From: grumbel at BerliOS
Subject: [Pingus-CVS] r3194 - in trunk/pingus: . data/data data/images/core/buttons data/images/core/editor src src/editor
Date: Thu, 20 Sep 2007 23:04:36 +0200

Author: grumbel
Date: 2007-09-20 23:04:35 +0200 (Thu, 20 Sep 2007)
New Revision: 3194

Added:
   trunk/pingus/data/images/core/editor/solidcolorbackground_thumb.png
   trunk/pingus/data/images/core/editor/starfield_thumb.png
Modified:
   trunk/pingus/INSTALL.unix
   trunk/pingus/TODO
   trunk/pingus/data/data/core.res
   trunk/pingus/data/data/editor.res
   trunk/pingus/data/data/game.res
   trunk/pingus/data/images/core/buttons/armageddon_anim.png
   trunk/pingus/data/images/core/buttons/fast_forward.png
   trunk/pingus/data/images/core/buttons/pause.png
   trunk/pingus/src/editor/object_selector.cpp
   trunk/pingus/src/pathname.cpp
   trunk/pingus/src/resource.cpp
   trunk/pingus/src/sprite.cpp
   trunk/pingus/src/sprite_description.hpp
Log:
- SolidColor and Starfield in the ObjectSelector (incomplete)
- little graphic cleanup
- some messing around in the resource system (needs a rewrite)

Modified: trunk/pingus/INSTALL.unix
===================================================================
--- trunk/pingus/INSTALL.unix   2007-09-20 14:24:06 UTC (rev 3193)
+++ trunk/pingus/INSTALL.unix   2007-09-20 21:04:35 UTC (rev 3194)
@@ -20,14 +20,29 @@
 
 Compilation:
 ------------
-Once all libraries are in place, compile Pingus with:
+Once all libraries are in place, you can compile Pingus with just:
 
  % scons
 
-The current SConscript doesn't do any extra checking for available
-libraries, so make sure you have installed them all.
+If you need to change the compiler or other build variables you can do
+so with:
 
+ % scons configure CXX="ccache g++" CPPPATH=/your/custom/path with_wiimote=True
+ % scons
 
+A full list of variables is available via:
+
+ % scons -h
+
+If the configuration step fails for any reason and you want to simply
+skip it, use: 
+
+ % scons configure ignore_errors=True
+ % scons
+
+So build might however fail if you do that.
+
+
 Running:
 --------
 Once the compilation is successful you can run Pingus directly from

Modified: trunk/pingus/TODO
===================================================================
--- trunk/pingus/TODO   2007-09-20 14:24:06 UTC (rev 3193)
+++ trunk/pingus/TODO   2007-09-20 21:04:35 UTC (rev 3194)
@@ -90,6 +90,8 @@
 Important:
 ==========
 
+- disable cwiid per default if it doesn't work properly
+
 - rewrite Config file support, make game automatically write a default
   config file, use s-expr
 
@@ -101,8 +103,6 @@
 
 - update ChangeLog
 
-- add some SConscript checks (for compiler missing)
-
 - level converter has a bug that causes some object types to be
   ignored (startpos and likely the other more excotic worldobj things)
 
@@ -112,6 +112,8 @@
 
 - "core/misc/404sprite" isn't returned for missing graphics
 
+- disable fade-over when fast-mode is active
+
 ### Loading font file: system://data/images/fonts/courier_small-iso-8859-9.font
 Font: datadir://images/fonts/courier_small-iso-8859-9.png
   Error: glyphs found: 188, expected 189
@@ -184,8 +186,7 @@
 
 - ObjectSelector need to support more object types, missing types:
 
-   Starbackground, SolidColorBackground, *Liquid*, all kinds of traps,
-   weather, special objects
+   all kinds of traps, weather, special objects
 
 - add real object remove
 

Modified: trunk/pingus/data/data/core.res
===================================================================
--- trunk/pingus/data/data/core.res     2007-09-20 14:24:06 UTC (rev 3193)
+++ trunk/pingus/data/data/core.res     2007-09-20 21:04:35 UTC (rev 3194)
@@ -45,8 +45,15 @@
                    )
 
           (section (name "editor")
+                   (sprite
+                    (name "solidcolorbackground_thumb")
+                    (image-file 
"../images/core/editor/solidcolorbackground_thumb.png"))
 
                    (sprite
+                    (name "starfield_thumb")
+                    (image-file "../images/core/editor/starfield_thumb.png"))
+
+                   (sprite
                     (name "combobox")
                     (image-file "../images/core/editor/combobox.png"))
 
@@ -477,7 +484,7 @@
 
                    (sprite
                     (name "404")
-                    (images "../images/core/misc/404.png"))
+                    (image-file "../images/core/misc/404.png"))
 
                    (sprite
                     (name "404sprite")

Modified: trunk/pingus/data/data/editor.res
===================================================================
--- trunk/pingus/data/data/editor.res   2007-09-20 14:24:06 UTC (rev 3193)
+++ trunk/pingus/data/data/editor.res   2007-09-20 21:04:35 UTC (rev 3194)
@@ -13,8 +13,15 @@
       (sprite
         (name "weather_snow")
         (images "../images/core/editor/weather_snow.png"))
-     )
 
+      (sprite
+        (name "solidcolorbackground_thumb")
+        (images "../images/core/editor/solidcolorbackground_thumb.png"))
+
+      (sprite
+        (name "starfield_thumb")
+        (images "../images/core/editor/starfield_thumb.png"))
+
     (section (name "Icons")
       (sprite
         (name "copy")

Modified: trunk/pingus/data/data/game.res
===================================================================
--- trunk/pingus/data/data/game.res     2007-09-20 14:24:06 UTC (rev 3193)
+++ trunk/pingus/data/data/game.res     2007-09-20 21:04:35 UTC (rev 3194)
@@ -11,7 +11,7 @@
 
     (sprite
       (name "404")
-      (images "../images/core/misc/404.png"))
+      (image-file "../images/core/misc/404.png"))
 
     (sprite
       (name "dot_green")

Modified: trunk/pingus/data/images/core/buttons/armageddon_anim.png
===================================================================
--- trunk/pingus/data/images/core/buttons/armageddon_anim.png   2007-09-20 
14:24:06 UTC (rev 3193)
+++ trunk/pingus/data/images/core/buttons/armageddon_anim.png   2007-09-20 
21:04:35 UTC (rev 3194)
@@ -1,122 +1,148 @@
 �PNG
 
-
-I�RVQ����y�ޞ��Sڣ�ꕥ��?{�=��s�=�~Kw���=n]^�Dx�!�I���ގ��
/֗���J%wU�C}����vX�2G���S�hG�B����g=��?ޞ��Ɂ "��f�����^x7��Gwi3í' 
>��~KR��h��o������^n�d=�?<
-��-q�ַ���QҶ��ѦՒʡ>
-��S 
address@hidden<�^?�]��'W��zz}�Xߦ���D^��AWN/���t=�#�=$u�(�m�B�s�������OxS��&&���)o=�X���T�F"4w
r�{;�G��׮]��KKu��|��\��5�6
�M�v��ް3}��G��!
<wQ�I��'��=ez�J�h�ZW�I��Fc2-��ۯ������y���;Z��-��%xoi���������piM��9U�MiR+��k�6�O�҉d��ٯ���"���7H��q�����-��x�WR�_dJ�rz��w��eI�y����=F����C�iC
 �������؇(g�9o2j�����PGZ�T�\ڳ?R?������[؄
�O�Ȓ��l���HC�.���#E���g�5����J/�~��M��t�x+��"�A�O����߭�W|�T�*ҕ�(nK�߷gj��0��x��r�%"�c"�>W��3z���h�լ"h�~Ҭ�%��F3}��tx�wI�^�O�VK�ϭ^��6
�2u[�֛�;��~-*�ܗ�}���ޤx��u����[o�ɐ��ҜX)�}ac���u�3Tc�"t�9TW�4����׉�Xc��6�h�̫��Jd��T�$R���sr<}}}M��a
    !7��g���� �<���]�hO�ƎP��8�sw1�+���j���ս]��׫�24ґ���<��#[�       
���Z�s�L���)�m�=
-���;-c3s�٘��y�i����w���        
Gd����Ғ<�����hM����ɀ�8�O���GȆbe#��YO��)\�j��2im�L"�|���73O�p��[�Ľ�ܽ
-���/,�vlut������:�#��se%��E��4�C[.�g_        Kyo1�] 
address@hidden@,dr\OK�w<L/��Y/X���p��y{�
����m��GӇ^K/6K�+�U� LH^�p+��"%,)�㕥�Dq^��
-3>V��K%2�&Ks�ϓr3�D^{f�F�aa��]=���7��a��r���ʸBh���,�j�������Éz�~���k�9EG���������C�[׮�S��0x���&r�Q��=rH��E��������Ͷ��5]1kA��fm6X3f=y��~�Lk���^����Z�>���Bm
 
z?h-��?l��l��C��{?�{�ddd�[�/]���'���?��>+�m;1�������;)x';;ۙ������~;v��TTTxn�B:�eܑ�c�T��]I���a�T���C5����'L���,�u�7Ʊ����'"�L_�`�����`�_;��:n�ꅣ�rC�>_`m��G!
- �u"��q(O�:��5�5\��q
-6&�{�Ȓu/��-2��D�,֋H�`%,D�y��;U#���b�O_�
�dzz/u��(]�����)��9D<xF����[d6�u��\�)�0
-�Rnu6�Z��i���]D��?�h:¬�g����p���Ǚ���
-��kba�����O��5�z�����s���n���)�&�[H?4��;X�rX��
--���
-X�~f   ~:Q<ep<=�g�ؙ�W�q�J]���Y7�T��Vt.�X�rM�+�\]=��,�Zu��%1���Y
-���I+W�H��uu��%���R��$��w%)�o����P]c��u�h|�t4�1J�������7I���+c�����/���t����9�A�
        
�K?]!}u�O�^�1�jݕ{��eI5(�FڻE���Ru�����!༞��q͌��}�m=X���[W��������/��Nd��y�I}�K��^����֬��]l-z�r�������+ׅ~��b�z�s6�6�8Z������Rصk��^խe�<��|+�{֬Ys/"x����B�-[�xzzz��m�m����>ʝ��|qx��Li���+F�Z6ؕ.�fK{�oJ����gr�f

�w�H��rn��F��"�����}mMB�Y����v!��q�<-`��Q���ڥu�f[2mb[�]ގ�WɎf���p+��
 �?,]��NJ�j������Ü�iS�|G��ҏ#5~ _vl��w
e�����;e�fv2�l��l(address@hidden"���f�%f�x|8��,A'�Ң8u�$jUn8��'x�#� 
���.�9��ci��x�)�b�aL��Ȃ%����A>���y6��ajA֏܏��%+���m��7o|��DE���m��k���H[�m�Ea����(��Q���:g�DXfU��'K���[鎾��W�)address@hidden>�O:4P�I/�{�}���T
      ����z)z�Qzl����H~qd�����/.L
����f��e��&�d)2�P8a��v��3;�-vZ��d�C�cbf���33a�
��%R���R�!�-J0� b�����ɠ�M����Y�� ��      >3����)((��"s˺��;rc���s}��
n}����½Z�W�����O�7z%��ܓ���t1�#��Zip�H�K�D��l!
 ��j��u
-ifœ������u��g��z�;��h�d��d�w��!���p�87       [,�J��
-d_nv�VaWOE��H�8�o�E����O��%�kD�q���D���h)c<���C��J6�I$�Z�=�'aLQ�
        ٤������MQ��]����dc�Y���d��.���{\*��^��F�3������
�^[�i�ӣmEv����lk���� �e��g�/h�d֮��j]i.        
�P���h?e�ޟ,�mG���iK�H4�ZX���$���Z�Ы,>�^�R����D�����o��3�ɾiҬfҺ�&�>å��B�S�ɲ��ۯ�:zh���i�y頥���7���WϷю")�:���}�y�>��E�U���T;�RC�:[��w[���5�>u^���I��hº���ijf�_�^>W1Iqq�?q:]�7�V����o����R��{o�g/m��?L��90�7J��-�?�q������OJJrn�;2s��|�VLJf{�k����$wDDqaK�V�"Yd��5R_��?d�l�zw����������n���4x����bn�f�,z_
 =�PZ�LOK��̥����q6F�iG��[�mdM�
U!�f��e'R��ܰ
-�������]�Z��*H�#�a�¬ 
2�UP�R�����=-��'address@hidden,��~&�<�`��;Bc���p����"3�&�� 
ۋ�js�>y���^lvl"X�F���
-��Ѫ)�E���,�Z��2�����צ�K����ׯW(�B�9ƍ�w�6�P"�R�
-������A$(i�}�d!')���q�=����]��b��:������;C�E�uR։�6z�)6���W�.\k�N�
��V�0�����J!8���E$,V�2i��C4����dJ�I�ѫ�s\Q[(D@,$A���~:خ��jE�A����
-�*��e�����R�a!�l������A�c&=wL��;a7���R��h�y�p9X2��*�
-�iO�.,͗��-�ڏXVr|�e6���|p'ŷQ^' 
�S�H.ŕ|�vۿ6�/������X��K���V��E��&F��K[���t��D\�D��j$��_��Pk`#T��Ёz}�k��rh�m���C�g4޻V}��ZV���۠�
���c8ct
-"#�,_�K����і�r�΋�xWsT���91�9�����~*O}�9�~�_�׷w�����nD;>�U�X�dGd��̧�ԇMȥTn�|��Ωs,Df����O��g!۬��΋io��NL~%Ի0N�.[W�+V.D
    
)��S�i��xD��&address@hidden(�Mn��S�ߢ�����B��;c���<�p����9�8����&�'f�VDw٦�aL���:<��ZO�޿�чH_Hѕ�E���i�p��h�*j�wQ��M�5�$K�/�Vf��2��E�ɭ'����Wp���OC���_L����J�k�{_���6�zg��߃��;�_<������o�������F�>I�����"���]�u�
   �B��L��h:address@hidden<Z�~��;���j�9"address@hidden    �
�{��
-��WH_o�#�Z/w>=��˥
*i����cex�>�*I]���Y�
-��h�*}�|U�,U���~ݘJvc        m[
-E��?�G��+}R�&!�A��j��с��/���I;�nt\�V#e��Ν!Υ�1\�6����?����Ƭ*�vEjt�W��
d�H����b!�B�ü�m*3i��T4��w���<��Ưf��
-� ���F�u�>�8<g{�X�&-�{����R�S�>5�R
address@hidden
k;6C�(3����DI)�*z�
�ˊK�������rq*F���_6T��+�v���m���Uޠ���˰��/n^�'�b��������r4a��xA?lҋi�&���z�b5�K���2���5(�
      �0ӧ!������?�[�������%�8�ѷ�}z�$�W_��,��|t��U<����N�s������� 
�6KQ���]R�A�Ha&=
-Z�����j�Lo���ɂM96^+�c`ӄATA�����Rh�̲���$&X�g�##���(7�$�-E�{�u�j�K�
address@hidden�%8u�Z��+��V�O�F�3��钵�2�������J}��v��W|=��W���*H�� 
��܋\�(7�w�s�X�We�9vf��%1����ymb�M�l?���r�X�I�؁sC�&R�%IV��nKҲ�]+�阝�4N.�ܳTQ1�Y�
�߻A𠈹>=�>Na�k�Hm��7{�address@hidden('�Hv��"����}��� �J�7]<��{vlH��D
\NU���Zh�}�~x����d!A�        �1"�j�7��
-�r���������8���i-X���}�LB�X�8�\�Iw|�I՗(�o�]�v��w��֤/-S���R�
-|��\c�5�1���  
x�`�a�2�Tz��ɥ��f�,���Z_Y�u��ٖx]*��y�:��y����լ�)'��Y�ƞ����Rc'*�dW����E�����9���:ڻ5��:Ř�6s�s��
-IP�~��8)��R���t���NP�K
yɎָ'b�2 
T+��F�d#��̺���Ic-
{���0Tg���{r�����~���e'e�$�}{F��,[f�����r�gK�'�pw�Z��1�8
-�ह}�����v�fY�[9�]�N7J�-�>�ϫ�1������X7S��C��اd�*DJ�U�]����$��2(��ܫ)address@hidden
 
�ݢ�n���͔�m�b[��Y�*.���b/��)ۡ)�kΚ��5h�&�I3E.�z``�/���:�/e[��Z���z�����y��c���d���7�����0��̼����9���h�c
-������D�+��
�#��sg����7}�!�۽��.J���/F�g.K�&����&
��=���ٿ=R�^)��>N���.MQ��G��b�eUͮ/����x�CҳHl��K4�L�w�q������C���m�5�xc�]m���\��{Ͳɵ��L-R�qxx�b�
-�,m�b����g����7����+�-���"ۮ(��*�B�n�������7��90���]�vH�uI�5J���C�
-j�eYA<}/›�\���]����6���`�:J�V�R>�>#h�ˤg�H�K���la��/Ta�z����F>�t…
�*��Ӎk*��
address@hidden,H��O�t��H�޻>4-:,�&L߱d���Y8.#p�FO�y�j���q̩$ð�y�������K
-I�NQ��"�2�fA�����7kq�WG�5n�+�\�%�.Lv�
-�n�eI'���-uzh�^����<ho.C�]  �h:�UC�/�H�_��
���*������M�bk$�J�2��\���)�$���^��^�
-�&8��G���}<ë�R���1:address@hidden/]/�I�K'�/s?�����I;f��#�)�Q`�eN9��oX-ro�t���M����/oI�|�1�n��#�Y�ﴣÿ/w}�14���C���p�{5�Y̅xh�Pp�)k�R�������pwW�Q�;e�Tn�m�k�Fu���j���>$'��
-^:i�v,�>x���Ks����
address@hidden/U ������'����)-\�9���v_&�Kp� *�Nr�U���(]]X���Jᰞ����Q������ 
�si��o�F��ʶ�d^��+�ǨÒ���ES��+�[馯�`��N�r�+�C�f�ׇl:address@hidden)��w���kˢ�i�`�V�<�5�*+
       օt��|address@hidden,,Ĉ�MwS����t��"u��>����
-�i�>,address@hidden
-�2���}�ܵN[i�o�E�Ի�=�Ov��X     Hz"��<��!\�SU�6m��#�^�5F���L
Y�;n~,J9����=z!Iz�v�����D.>�)��:address@hidden
lF�!�S��m�.]��q݆�~2�����ذ����Ƿ��a��L9u��w�����C��4!x���
address@hidden>~k}UU�P]�A�>n1j�}ƭG7៬Uߠ��p�c�F=I�]�����
���m�q 
x��u�)c�������<�'��~��G,XtCRN���슷��\��4�f��R�T.�O�s�#gH��-�u��I��w|address@hidden;+�Z�%����V8
-�J�����;�kơ�ȕ���ǭ[��'�Y�����u^(����%au�p=���N����E�Mպ�^�+�#��l�2.V 
+�Ie5��j��;o�$��
-��-\g���8�Nit���j�V�k����G�R���۹�pv��k��� 
��,J?����H�z���i|�����@"zBPXG`
-���IN�jͬ�?n6�"��3�ž�b��D���J4u�;��  Վ
�:V+r�|6�k�<u�$�*-*�c�11�-L   z�f����:=O�����ou3^32H
��o����^'��Y%%5����o
        2{���#E:g�D�~x�u�v��T��E��=m���q�����
-W�2����X��t�]�1h?C}���iё��Ha4���s����b~j�)�)���̯�Yh�,U�?��y����/�i��C�.����G��K���Z�9��N
-�˻�Y�E�+''�������k$���RL���!i�_�
-(c<�v��pg�^��Ygpٟ�AŎ
lw�B��D�{���eѥ8�S��H��&!�(� 
Հ�һ��>c��$�}I�n��>nu4߆7ɶFk�0R߫IT�h�nX��M{*�\�J}�:\�K� �`y�
�PB��~ϕ�d���>E=�K�ڏ�h��e�W��~�ǫEP�`#d��Ez�����|�fl:�H��>y��r~������`6��I 
�M5#�499ׇ�2����m���<)9g��|��|��%�j���|ǘ+�����}��PU��lw�gl(o��g^N�f��C����CQ�,}n����I~�J���w�9����U��P�/��3��Nt#��AM�`iyg]ɚ�2�o�z����98�l߃3�K�"�a����t͋��N~^f
>� address@hidden>z�
-��&���q.����i��hi|�|x�ʕvE��VȄڳ��� 
��ru�͡(��H�u�<address@hidden:W׌K���E�k�:��7�������
-.WdcU��d݌��R�~��$�y�X�����
�s1QD�^�����`d�����x���.Q?ʋ��[w�ؕ�Eu�\�v��|�����.�B4�"�?w�;c�J�r�=ꝉex"_�5C;��]�w�!�E;
-���t��m۶����;o/address@hidden<+��r��,���qI���&m<!�]��V�`�p.���GaKϠ��t�Z`�B�N��'4�o{�B֍��
 address@hidden/�V!������zN
-5��0kUb
Pfc�H�.�:@>�P�|j�]ɟb�Y�21���~h�b�>����dj�GO-���L���}g�WO_]��^������"�������\=3Q�����#�k탞=�����3�}c�a��q3��J��]����*�o�'���k0���yi��9rOp.�\����B��;����
  :U�����ޠ,�q�#ߞ=���]�wфLָ'm���Y 
��ɑ��v�����۞�/�g����k�����s_��6�ޥ�I{�N0v�:�/��h���y���������|i�Wz�~�B4ȃb�j�t��+<address@hidden(��l�f.��

Kz��<w�Cc0�8浧=��+B�e����H��!ǝz�v��ݨ��hO&��ݑ�l=�o�u���SH�d�W����3/]i�����/address@hidden)����t~Z:f
)address@hidden|���6;�p�.f�l$�-R���.���Y�^xC˱�ª���NN���T��>(address@hidden
+^�����=�+��| R�H��O��>'��`��^)UңT�}|/
-"!��{|�B��'address@hidden|Z���/address@hidden@�� 
udJEE�yyo�6T���1Dj�0�Y���1�\����a��r�Z{�R@
-�f���o��_�h'���B���<ꃰm�hoa#}�jW�hvH�?���a�ۗc|��L�F�Er�"���G��I܋�=�'address@hidden&�6K��4�
 �u�Ϸiqo�&/t4}n���)_WŌ�#�bck4S��        �烤�J*
-���5������;ތ�#�:�iTU�f�'=כ�PV�=�S[[���5{��\��O�zd���i��4Y�4T!���K��/&ʃc��WR���;��8�"�����#��l0#�e���۵���9��~H�G�}p��Y�AW��_�VC,��cہ(�t�&VIMy�V�&�R��r�Sf]��ReQ�_Γ�c�ˠ
&��������]��B��f���f�eR��&%��~��CY�0wy5z.y�C귾����?��m�n��ҳr=_��Q�u��^���H+�����k��֓,C8v�+�P�mȴAz��z�ٽ޻���|address@hidden&3ȩw��6����)km�ʑ+c���M_�p�n�����KO\��cH��D�
���!:��8�����|�D��r�5����lNN�4{"�}K��!��4�*�K%��;����7�2����ү�6�E�g��g���x�4���i����O����FJ;�+����K�Ow$i�;W7������;S���z>
   ��r��>��e�r�≎��߰��9��5jn�B/n
�wäxq�B8��c��>xD��"�z�?Gcg�ܕM�Y���2��|�^d���R�y(U���[.�1�����/UM�h��ԯ,D���ڗ��ꖷB���dC��
 �EH�֤�� mZ����k�������Y�k�li�MZ��#��
I�A�\�����̴b�_��P�p3���Wo.w��/4�7����U�BB� ����(��_��
-��G��!}:_�/��!�o�!���\�t�E�����
M�ϣx���^���AD�("��+m�D�����]k�6�<�W������Y      ��      
��y�p_�]�!��Yvw�Ӯ�-
�,�����>��nJ_�w�'7K�g�"�a'�,M�;�`?��Ϙ�Z)F�s�2[�~6�
��ai��W�P'n&&��l6NN&�w��%2�dR'���>�'m��͞xYG��5
-x�F��.A�VG�tc���IW5>"4��~��L�eD�����l���ǣG|��?������t=�z_�&��wA����}��;��5����4Y��c�r�����S��Ϗ�[�Xψ�mDnZ���T��ԅ,l+��t���
   ���Ii�2��p��#�K4�n�E��O�{e���N� W^� 
��R��Lt��}f���Fj�=Q?ۗ�a_-��A��5���k�٣��c�����9���}l-�o�V���_IzB�|�K+��1m���|g}��Jb���(]l���\�l�;address@hidden@'z�j��q�i������
ˆ�:�a_��N��aG�������
��Fjo�������K��u+�n��h�T��7C�T����a��#�������wPU�����{�\��00
"address@hidden)��C]�R�)!���.�!�c���u��Xװ����Xc\K��t�5��8� 
�}�����p�L��0���;�w�;p�|Ϲx��{��}�7V0�H�z�����ueԂ�m�G/p�2��'�O��i0gz��.K�+��ο������1����8r�+$��-�5��������a�`���h����F�Ί~qP����$�1q!���n|��Q
       ]�D�$၇x�#�58�+�`�+����7F   ����8#�F���!qE�P�����ɵ]$�8��6�
-�0̙���p슋���Ί����%�ɵ�r
v���    �c^�喥 O���3D��%�M�N�>���F�rv  ��8��d*l_       ���C��\�+��
-�L���� ���d�]t�ޢ3���X���Ѽ
-��I$����Y׏��y�6��V|��͑�$��CL\��})���T����
-���?u�!|+����%c[>?<S��ie�/address@hidden|��a��THpP�[�/-��r��y�ϐ�G���c���S�9`�D��8x���_^ƨmM
        ���N����2;�-[�)Kg�
Z7l�heb��W�������3���>Z������\�E;address@hidden'��tf�'��աS|x��2|
-x�{<�c�SVL���)���=�3[Z��H+��*ye��/�C���b��51�~'�8�*0��IL;���\���n     
�=<���E<��_��B�N�~����p�R�?�����s�����f�k�Wĕ�G�ß�¹��J/���Z,i�a���1.���;�s��T��WaA��
-���O\��O��Mp6������������j���Xɯ���5*,}Z���'�Y�-<���������5q]��f'��4�ͧDBX��q�Gᛗ���$&l%S�#vp˔���Ն��}��d[&�|6�+��d��Y�,���D��A�V�2��f��
`g��     
Ka��_1���C��/��U�֨����%�w�z|�
-��rŴ��F��*8�:�!S�O
-�]l��r�K1쪀o�T|S>�n�\�jT����r*ܥNě�bʖ���g���9�U���*�6�|�rRfb7�ۥl�'bK<address@hidden|�
-�#O�E���R;ۆ�Q3��_�gX:sD�X`�|b������^^�5k����$��
���x�݀�.nNy�Z���)�իW���<��f&޳_,9�~���\�@ 
���r7_X�D�욡�=R|�L�۝��A����JG������Siʀ�̺2�RY��ʋT��D�Ґf��$=/�lw�2\�Y��
?̂�r�x�X���cɒd
-q��Wh��h��)w�0D�X/v��b�#nIc"\��X:����.2�.���O��p��Y.ىy���a�       
�jN�Nqd�8�ĩټ؛�ю
���T+����pK�l�`�k�T��&������[�t����8�!��ԁJ����Vk��v�o*�&p��bA|`mFFf,,n��Ր�y�P�6��u�,�L��\Y���`�j���b��s�WD��)��|�X(�Q০�̽C��J���T�����d����E�
.:�y�ܖ�
-�m��\�gf�E�H
-]�޺&x�ǯ�      
��-�������l*Ӭ�e����X7����b�v�#͌Ĝِ��ɯ_�冝��V��f�Z���ym^�������'��R�c��9N�����$��m�\��Ӓ.���r���=w���������������������Q�O�S��\˒Y���${�G.�&�>��eP��^
  퐽
-�f�s��=� ��J��z}\�
-�UJ�w�y����9{
-᫹.�-�&yzI�,^��)ڒ�?�v�d��mND��.���u6�q�e6Cr�        "5�����
-]�( ��ƷV�^���
��3�����x�;}ݞ={ܫW��E�Ź����뺷o�����}���~��ɂ����hV/�&ש��0���әl�����g�X��|�r��x����-޻vm�������e;��$�20+��5ꄰ�xE�h��)1
 
�-�pcBY�H®��L"�_�k}��oZ�8��9y��*ذnlV<����K��|P�[0"��9C�;�,�f�x����ؑ�8���
-���yd�7
-�,
-޻$.�p[���:nٸ��c/jvÍ���g�W�L�No+> ɡ�bno3g�"�Vq�VݯC�
-���A��><�p;�.���
->�:@nO�7��oL�p�����u���3���?�Xɚ�2>S��9����+"��T���1�GO�Rq��o�f~bǙ�&�:7��F�
-A�u���Sm���c����r��'������{�L��/��9[�1q>�wƏFm����⪭W\����7�F\�_?�|��ծ|׿�Έ9R��BEJ�V��?�RU��af�#�����%��v��N1;�
7q��(address@hidden,����W�SS�:��K+����^     =ؖ|&���$�H�Ma�L
->J<��s���
-���Mg�!��St�[��WwR(��U��Ε=<~�p镳�������)    �\��ќu  
�WL�Ѵh�ծ�F��6��pq}K��<��^�sM�����i�(����ز0ۚnv<address@hidden;�ۖ��ן��`"7��i��&��q#;:�S����g݀���AG�1yw�h���_2��b��&ނ�Yt�������u��9���_J��u�j��X6�׷���ŵh�e�a,]��5��z��ll5v&[r�Ħz�[��;Ys�X��I�+�oX$��"���s�����O��\S���ְ��DA�v�|Ǵ9��"%�yk*�l$�l��Ɩc}��dp-ӡH��],�K��%�л^y^�G��u�ԩ{?'΋�b��]�vy"��^�GQ<0��U±r�����V��M�$x\�C���H�
+��__���ә�\��.X�X#�     ��c#cV��e����\�F��A�=��        
���r��tW���5�r����EB���'$��MܺT����ߜ��7���߽�^e=h��f���}��/��N�N���t�3a��Z��ܜ���P'W�6�ݒIUi
���= �3%R��܀�H�+ h{3L��f�a�^�Ĵ��U���ծ��=�{�����숮���C        
qݣ>&��M����y%;�_<f3����b���+\�v%a��ͦd��.��fo���o#;�sUUU��H�n���D����-
-�����A��R)�]+ёe�#�J�D��(%=X�  
ˑ�E�Z�];M�������sM����:��w�ů��%��A�xY����i�Y0ˉ�V4�zQ��X$9"�V|9f�C�O�ǫ<ɁϕCf8[����+�PZ
  �Y�ݰ�0��ܴ
-��&��.`^��d��0�
��T��}Q���Y��J�~l'�U8�M�0�����6�~d=E��X�,�s1SGv�t9����{V�u۟ev���
-�yE�h  <QK�A� ����bg��¤�"O(�vn��y�$�9
-ˠt     <]���Em5��u��|�d��)��C�?"������E���lG��ιA�b��   
�+:Og��%N����$ɷ��7y��ܭP�`�
address@hidden/%x^�GZ��ҝ/o�pke��e��      
"/@�8�O�3i�8�E7�]b��*�ތ9����pʌ������=c_�N�ܼ5�V=~.�.�lw~�fcb�Y����l����m��E���j�N�O�l-AM�����s�����U�֟Z)�����$7Z<�S����a�h
-��v�.�������.��       
�Y�tR9���>ߎ�Τ5˖�-p�P9����o��ڌ�����oz��,Hs�����Y�_��B�o�w��~)�7;4$��͂ܽ��OU��V�����·¾}�ߞ��]��j��*�F>���\�(�
-������X����`���Щ!�,����$�%
-oB�X/�^{�,�Z�T����T><�6�����w��k��W��6��'+c�j0/�1Dr���9I�|�ِD�i��
x�^?(��������ۭ�O
-p�ʑ$򜛴�~�Z��,
address@hidden  ̶�������$xt9�J:�{���s#/2�    
>�s���,��X���B_6�����8�m��YIK2!Yx߭�HÚ>���  
K��냏I��D��MIL��w���0s��g��.V�?���(q�G��/��/�$�pah�v�m�m��q���?M��aN/D4�{m6��B^,��/����K*O�g��.q���T�|1����
   5~i�Ζ0�%���(address@hidden<q7�`D���B��X��*1�I
-Z��x���$-2���ܝ�^q�gv*]^˓���W��{6�߷C�Q����9"�   
���u��C`'Z�X�)HqR�kS�Y2v�m��rxAl�"���=�a�<��?�'address@hidden
����1�#����d�7G������2h���HMm�xY<]��g`Z���c�zz���;|$u�𵱵��R��i6���*�F3t6������ȄY�g��]#s�Z��9�e��Ͷo9��qQ�z^x$������ݥL�Y�>{��Q�D?�����^���w�pD��-���+2�^ugY��"��:�������.Z��~95��5q�D�x,>)���g��3��"
-[ ��
-������}毆��0�7��;R9�_Ϳ�f$Tq���w?`U�w��߀WDD%�B)!�RB)����Z�Kǡe\�aXJ-��RB)�J�qYk]k���L��Fס�1�R�B�ֲ�%��C)!D
     A�^�w?>\��q�D��ڎ��y=�sn΍?���9��;�����S`I���Zɒ���W���0qb��#9���KM������
�{����X��������خd�wg���ŜE�m��bH��K���avi�&��"�ʢf�αL&F16���� 
��1\gu�O����������a\�
-e�٣8w��g+B�n|�.�'�
-w�����a��������&��7�ם���_npE���p���wo      
�J�dKA|+~��,Vh,��xl=����Jx��셟��Ǡ�~�Cm��
-=o����!9�gV{�p�����=�g̗ɱ\c+p���7�̲e��1�K:d���������P���Z�T����j�e^>/���E��
     �"Z���R?FϤ`V#Cb��Z䈴H�������(���,����1�[E4��C��/����.�
;C`!$���.���[��%�ӟQ�F���
-u���YD�6�+^o+�5��^��� ��h�����Y��Ny���"X�t�?X
-yk!~�{�~����Y��a��vN��u�MT,x�tE��:��F-����4�֗�{��      _3+�,�.���C:&< 
|�����X������;v>�p�o�
-����_ݻ)��A�pO�Ջ�tl\߯��v����Aw�1���� F��0��k�2��Y�œYL��]^�)�v��
address@hidden"|8
-B��C��p���?�e�p+��z����y���F����fgСR��ga'��:�����E��&�#�t\^ 
�wP�ߩ���q8�
-��~f�b�]���-2*�����S��r�P���~�9���%�k   w�^�� �d:P����Y�4�_�m�       
P��H�4Ȫ�����\�Ó5�|�2�0�zC��'��w|�
~ۓĔ5��.��E�K�l����6J6M��j?J������{�s���Fvn���c�7��|address@hidden|�Cζ����:+�|�g���l�Y�3���9~�B�{�<O��)��vC��Ϭ��f���8V0�qM�CM��n����#���3�h5f�
-!�>�
address@hidden  fòM"���J
����^����+��;���fN���ef��<';�ev���S.�e1���lH���(r�Cx /���$fx�\    
�x��|��!��SI����y����sX�J\p(>�w�»���'�}��ރ�7;��I�������S�C%U�Ͻ���iM 
�����`�ڙu%JE�ĥ�\�� 
��y���C��#�==�A�Þ��sՐ�77��׷��o�y��릸�.�`���ש+k�]�IY|^�-3g�a�@
->��삌m���|3�R��
-Y�Y�b��sٙ�h{�l�g�d^���>��K�+R}���5�m 
�=}�-��V�[+�UvI�G��I�J��S�����Z����\�W,��V�s�
-��w&>��9��|address@hidden:=
m�F���������������:܋��:X�Y��(<���Sx�J<W凥ON{�6i��ڟ�1c�1�NmW`g�`���H(S}�P���uT��Z

�b��`�!SvB���Qϰ�9=kD�����.m�E�hW}ibD�m߷z��X�^�y�~����Fy�&xVA~�:Q��<�~�'��`/pZ����%��ޡpwD�߾�b��ˠ
 �q~h�LZk�Y�r��ڻ��gYb4�
-˫��h_</�I��
-�u�g�T�V�mo؄Y�|Rx��Y��嘜�Q�!��]� 
�I��y(��F�1n���:~�2���$����aa�T·Å�0��]��Z��R/k%S�e���ni�^9��+�Z��BqL���F�_t�K�,�F�
     ��*q[�ZO���a9��>#g�]�<��A�$��:����q["N����^׽
-x�*����!�Z����z�Z.�z&�Hm     .+d��I��K����
address@hidden)k�������J�e8����E��p�#���fUqR��ҥ)�W�*ۻ$셑���Gh���);�4eGR����]���tU�綡
-�u��F��u׻����|��ձ]�։�A��)]��O\V{�]���|�����7�f���`��ö�Z��k;�p�S='y�/�$]R�T��E��.)�LI�e��i$��0�F�I���W7��dd\�k!`;�U��
-O�^����}f����Z�A�7+����:���j�*��W\)�3&��ğk,����~��������Q��0�X$�R�dz��m�:�4z�q���V�[R8Yw����
     ��v���$���O/��qYnۂBTzdB&}̆�>nk�
�k��7��8����        )���8.�
-�և�����S�WV��yg�͹.�7 
address@hidden|6OWߥ\�.١��֥�:�<e��]f˦�V��S[,�<���)s�s�`�ek�ׇ0��&F�2>��B��3~��H,υ�W�Ue�82�ts"�lM`��8~�9��Ch�ɾC���X
 ��p�ß�;|y�ݏ��A<���]�:���p�EZ�x� �Gw:�Y��Û��>8�mg���P�ç^��qI���������
�'�UFge0�Th;�g7�ӽ1�gkC�LW�?�T��̆pmG�Y��7Dӵ9���)�؝�/c9�3��<S��:���h�,��8PȬ:�y��u����;2w��5w�v�\��_��[���y>����z�tό�wt�W?�z�U���"��]���>�ikL�v%?k�ûG+�>Sij}��:�Bۋ�>˳Qt�]�Ѿ�<޶J���s
-R�h^�
n��1��>|>���J�H�{�����Q?��gO��3��9+C�7
-���"���xcG6-���4/K��|?ޜ͡����s�x�.�7�������E��<y�2�ހ�Y9ߴ4�>B#
8�O�(�ń�i���}r\�Y̘��B�n�
w(+�e}��#[�n
o���a��o-}z�ށr\�M�f<����        
�����w����S�'��m�|;O���e;G�u��D��&address@hidden
-qIpo2��A�NHN�>p�G��   ����؊e$Ts��
{�<���H�@<u�!_�_�����|(ߏ��K|�P��{g�ru�"���^A\y        �^��V
-�����g�Z1������2��*j��oX���l��|��{
-��
-�l9�L�A7��$R޷r�⠁�G���[W˷ꆗ��W��c��2O�<���#�޼���&ni"��`���L�[��|K�v���!s�[��֙��l)��7��
\ No newline at end of file
+
+��|'��
+<���}T���'��{Km�,Z�
+�j�S�
���^IzH�JRiв��<ig͒lpw�,���$�]�R�煠b&HX��RRe���6��gq������#�Υ
�)��]�.��h��e� ���:���0]�U�    E       ���հס+ӧI5��]4�J�
yR&L'�p��5x�#�}�Y��\.����I`��I�a����,�p�o����EpE���������$MO�F
��nc����TU�PC?a�����-�,,?,�m��Nd�
����^u��0>z�0��9*G�(Y
+�y>��.��[Pȼ!
+QM
+�K�k:address@hidden
+���
+ �������Y�Ĝ�}{���
+�jg%�b�����)�!�����w
^$��;�Ό�챏��
+O�u�5�\����}����,�\�7�֬���ߪ��'>ϳ�w��A�     =�Z 
address@hidden><����P�':���ah
+~o�Ok2
+�0�z�ȉ�����Y��ja��i�HG�fP�qU���;@We�ue>w���SeM;v���<��&"address@hidden@�
address@hidden4������8�)>���5
E�*
+�t�$駑띶���]��y��}(�~�ԃ6\�  +��,�~�$���w+8��w#�&!����4j.mg���I
-�>l���J��l������&"����,T=���������e�Z>u[�w����4��e�3��M�^�7�a�6KT���0���G���9_���e�
+�{���`6k�aL*�P��ڡ)�U͓��L�&T����'����/�Ш����h���u���;����D�r�E�������1�K��2M�~Ҕ�Z���x����N�����
+3+�d2*�����.xB-�z�6�g��y��^*8g0=�׭0M=���Fie�I�XdľF�
���L&ߺ�/,���9-�ϓ�f�{�$p����B������c>���o�sLX�
+�\INS
+e��F��'m���V��l����~�ٛ�A�$��Ȧ�< 
�:u���L-�������`6��+[ٺ����Jټ�R6��?��?��G��y{[�t"e"��O��O�/��Nv>������`l��ps_��P��X#�<��>v:'4UM�z���lV?]�b�u+l��Xx\����
    �
+hdo���H��V�!�b��Zw
+�ꟸ�3�|�<Gy$�{"s��?��2�Yf���k�RE���8��!5_V[ɒ|s�12�
+G�m;address@hidden(�;address@hidden
+       �[Po���/����e�;��1A��>�G�ã?�Q w�E�&��f��n=�s5*~�Ƿ���Ke~�Cs'CT�&�
��Fo8��kS�c9.�m-e7l  
qq؅s���j���G�L%�߰��CQ�n..�PE1�ͫ���me�5l�L[u�����3��wC�3����渒
address@hidden(�
+��
+~k���2����/o ����Z=��֭�.
���d��n�Ӧի��z        address@hidden  g 
+��{��M/�������V�s
 ����،W����(address@hidden,��p�      )C�������,k�
+�����&��|iri�(�wߎ�V�h?\���^�:�:���bd<address@hidden>��T3�颗ꀇ�i�!.u-%yOF��'address@hidden||Sk*M��Ǒ�;�S����pX���E�_���
h�
+�<?�qfs���
+���yԾWZ�q�ҥ4'address@hidden&�B
+`����^=��P7T��
+�wJ��I�����*b�s
$8b�db������A�I�(�vQ� address@hidden&aQ[�HB�<43��9�Q��G�>/��@
+k������D�� x5h<address@hidden z�^p�4�6,�Zw���s�;7�^�arJG!'CR(��
�G�&��Db����ͥR�ZP  
+RM'l��n
address@hidden@?���~zH Sbq[�9�;��a��Z!�OO�'��u�/
+�m+^D���!3�;LXv���gY���MH���y&�1t��[��B
�/��&Vh�&X
+�ٺ���bg
+^&q�;~
+m��U^��I��fm߄ҏ�����-{Y���L�z��2�����[5��_l��^QK't2@
u�ȡ���3q(�aӸ��?oT�U51'���
�5�b��9�fIo[? R�j;a�6���J
|!�1����5ȕ�r�$Jʁ2�|^�;address@hidden;b�����/��n�!T�$RfJ�p����GG�����!7��b�i
�"����,��n��?~���]�Ӣ�� 
m�P;§�ـS'���4�ψ���NhM��'반P�Fx�ٞ���^r6��Xa��,@~����.�TP=P��Q��ʯNW�i��Efơ./����
+{���`�6[��v
+�C��a9t����h�G��&�%�Z&����U�/[d�8Zp�� ��B�#(
+�2���0����>��o>�M����4HKfybD��WJ��
+����RvK;UlAr^!�
+��MXdL�,address@hidden
+ ���LI΍���ն�ȸ�͉e�i�NB.9Q�~%s��U�낞��)address@hidden
+�רh�Ł
+3)��sL��"��"�t��vV
+I��_K��Y�`��w�ꕤ"address@hidden,e4M3��&�y��m1��������Q���T��T�q]t��  
��B�;address@hidden:PP6"��x�b�(m;cw��`�G�,)Jz�F��ȝȤ���w96�3��
+v"�6�o���W��XRu� �(��*� 19�:�A�xO_g�{T��G��n/T��tI���`��
��dyy��1n�}�7�Zh�ʆ�]�'�Hd��w�`g&��iObIW
+��J�W�h���Z�W4jR8�cC���U}M}&�֜�z�����uAx#$�Ӽ�r��J
�O::address@hidden      ذn�Ac  �~��›�y��I%j��զ���b�UL�����!�w�Y
��g'��mP|ղ:�.�*lⲥo�lPms�oB�B�tag�E!V�    �Yo���F�;��D��HA��'.g���   
 ����rktlI�k�k��1;address@hidden;�L|;��]�."j�89��t
address@hidden>��p
2�.�����VK��M����_�!�����p~�k���ut�5s�Ǐ�����0�4Ԃ�#[�'2���fu1�n�
���B���h��ʽ
+DJ],f�O���SL������<�?�]�_H�KH̠opa�W�gG.����5^=Z�i��ƇD�e��"���"���1
+�
+�~�   �
+E)����37��̷�n�1h�,F��(T#i��|)5jv]�F���СC���t4G�PE��&%�8�[�X��Bi��.�c��s��(Y��x���i�}mT�9�h|�_Щ���y�
+��o%���_I�҄؜�H�ܟ\���qZ�W���QZlt\-��>�o�2��3���U
+��C��h�
+k��k��� ��>f�"���Dtb?���ms�� 2(����*�D���
+�%P�=
;�����o���c^J�u��`9�A�Ɛ���������'0�&ҭ�       �[|��J�B!      
=C%(�"address@hidden"a���`ٴfƖKՅ�)address@hidden �h��V����;
+�c�j�9S�2inͲ���i'�v�$ãO�h�b.�\�O�Ln�qLN���O����,qE�^ֱ�
+�IQb����т��OR5�����)Wl��lؒ��?���2�X�,��GzF�Y����(���L
+?�
[E_(t�{b����J�S�$����{zz���t:address@hidden"address@hidden@�Y�"�7��]�??)��ݰ����-��/BMF0RT,�ܤ�
      
+����,.yB�H,�C��q�=��"�r{}��0z�A�#3��FyM&�ŋ�9PTU��%<��R���؝'��c�G8_' 
��4�x.�ii��}�G���
+���g�%ϸg��E/�d��o-C�f�ue%b��Ho�yǓvJ���b���A��q2��p3�o=�
����u�|��o��X{�GZf���aY�qpk�����     �\�6�^?n7{(ȵE��
+����CO��@"킡a�<$4tT4FP_l:�y��SX����c\�pM5��a�n��
+?���8�f�a?m��126m<     �`�������B/�
+}�x�}_��Q�W�VgxA}E�̻$� j!���Ht%�  ��O��'&��$�L��|E�h:��k*y� 
?����q�����~�?�q�sZ�'� 
���5i���455�~"]e��'��Z�v���oV��������,O�4M#�|address@hidden:�Y� 
address@hidden&j�,address@hiddenT�(H���fأ��}Q�nf�N�
+YT��L�b�ϔA$ap���p�h����",�eZ_���9��ԼQ[Sc�*�+a*�G��AOj���        
��&4qes=��꺎$�������B�t��x�&ᐓ�'��˼mS]S�����kM��
+oK��0?����y�|>���ÿ<address@hidden(\Tv�%a���ӂ����*��5Ψ;��H}�QV
y���Lѡ�n�'L&��c�|:F���}����O�[�����,�c�{5c�5���>��|V]��1X�Qh<L]0�c[�
+c�U��������r,��UI��7/6;�����Ĩ�y������9���3k����%<褑�~��q��8�˿�=�L�t��^hpй�"�p����!3
 χH!p
+���OD�#�+"%m6�7�q�
+Q��'�������齄`��
+vh#�V`e�Q6��0�-���������d�k�2�'���HҤ�֥W2�Fl04
o=~�kZҘ*{�J��}��p��Cf�V��8�2*h�\�
+�P�evX�B�V�����ǕG&��)}�h��f�i�������d/��T��A�U�Y�aOއ�F�Y����
+�
address@hidden
+
+
+��B��K=P���*��!�fhz)�5���*T4����P �ވ�
+�dz7��ֳ�H�T
+v��V����St��,IҤ��^A<address@hidden
a���+�?����A[�ꐅYS�J2��j&address@hidden&`,A�:
+��"�?'�;�K����zG,�j�ʽ=�i���0�=��1��m�MהV�ֱLՐ7�\��TQY��u���d�����oRb~)�1�����q8��,��R�dD�
  `D���J�Y5���
+i���#�����}-kp\�Lqe9�>ַ���$��F���C���>�hO��p���?}�C)�?�������������k���s�N�f���^�d,�"ښ�k�-0�c����(����u����#\U�d!��G��|2�A�b��,�Wu]��YzYΞ��.���y����;O��y�w>7>��|��
+x�a�Z���V������ԍ���T� �L     �ͱ�E�U�"��O�<a�$8;a�
+"
+��j<���H��2!���T=nAw��*�LҀ�B+��DW�~c�
&�/R����v���m
+�D6�r;d�=�㒤k������<`C���`D��X2Hy�?���2��}�H֛Ҙ�a��
address@hidden  
&����aLO�٪�z�$e�%)address@hidden>��{KR'J�]%�s��E�E���-�%��;�f��:/l��*]"��a8����$�x�iz3[Ak�Y5ly
  ����o�d-����Ea����yԛ��a�F�^   
�B~醭��I��y:SGH"��<�=*�遇{�������������?.?�
+x���
+�:��&B�\!��}yv��!p�(�Z
�,V�N'$�`��i�|F(���P5'0���Vl�ڬ�_��nF�o\ox
+�[ET��M���r�iwb�Pr���޴N����R
++Q��
+�<WF�cK��f
+�\�!�v)'���05��W�K�.�+�^��݇���������x
address@hidden@1W�i�lK=�
�bkY��������
+���9&�r�w�1l�J��O3�x-��H��|�bAo�\��W�u�8�S�mF/�d�����=�:�z��
��s�=���������� �������N��&jy��Z�;?��~)z�>�5N�b�4 mgk%
O�D������e�����%'���{��U�)� ���       ��R#F+��1����2�_�}T|s�ְ����sB����
+0�Bз
"`�
�&�K)���Gt��������   �k\���]}譝���ܞ��LJ��Ϣ��-   
f��E<���`����e�i�q�Z{z������d������P�7�hhP�����F?І;��X�d'address@hidden'^�
+L�)R9O��n^�`
+��߈1�Eg��dv��(�$0<address@hidden'
�^5'�Ǝ��"�H�"�<��}�xt/3�SV�>`������>���l
+&�;���&j,�/wrm��lE(������B��
���A��(Ω�IFlE<address@hidden,I��OGꃃ<���YH�q~�w��^[��
~JWǩ%   ,Yb8h��DI\Rp�SU�T6��Q��ŕ���o���:address@hidden;�����i�#]P�      
address@hidden@gp*��
�:��Ѕ���L��WS��!���'�pN°�Tibdċhɜ⠟_�O<�f 
=��1�{^!S`g�Lb�sN�`J��2�:�����K�T�������y��/
+��ܹ�Ç��;address@hidden>�W��`Q�J��US���0z���M8L
+(� address@hidden|���94m;T�'�����_�_���#u��!>�fA.�P������o2
+��y�7*��6�+g!����<TEi�0�A.�1D1�ND��(�~x���D��u􋞩��-aT�=Ϣ�ߎŠ��][1�USI��OL�R��eօ�uC˜���jAZWJ����'��(�G��E.7fl2s���-��
+�
+��&��"���PGN���Cž3���_�Ӧ:���!���,address@hidden"�K���f�OQo��5U�_���Z�h����V��A���j
     �G
�χ�z����mͰ}$2�z#(l��d�y���#�mۦ?�{��y/dJ`L�~T��n7��!z�f�T�I��~�uFim^���XL�X�P*
�Ct$��]����$R,address@hidden�(address@hidden>�C�2�� 
��1#��׻>F�������on�����&>��<�0L�/.���G��](��9��b���̇���Q�ɹ
+� MO0� Z��p��e5�O|�e�(�2�����
+vv�_u4����u�9��H��/�K���(t ں�g��e���E�6
+�TGE":Q!�L���|J<�N��g6\]�C�K��%wAA����  M:�������N%��d�|����
�k���l�
+f�X
+�)H��cvQK�Ō�׵�^�6����V��´ꯁ�}\���h%�D��Jc#���%ȥ�X��,?D�-϶�V��$��~�g*jl�H4J��mc_��u�ʰ�+�S�D#��HpF��c�SO@"���
 
���#-�r�k�~F�y�xl1'y��Z2���������.�h0�%SHu��5Ѽ"M��Ld�ǃ�P�$ņ����_W]��.��ix��C�7�SF�,�W
+�Q�d�
+ӵUe��� _
1��3�>�2��(o�`��u��[�z�����0��q'��^x���j�#�g��QhG�
address@hidden;�)�Ľx��U���]i�
+,��
address@hidden(�g�s*�{ߤb1��]����?u9�N�;6���
+�[A���l�qI���jp4�T^܈P�)2��v����J8b�Kj�{3
�IL����p2��+KPl��r�o���PYk8~���bz/�`      
/Q/��X,��v_�G+�������<���t�a������ 
��v�e�I�x�A��F����!=��Ł�q����Y~���؆6��Xd(��ʑ(�%��P�I���m
�87��=���o<�d�?��?����O�fh���YR��H�=���3y��-�   Tu���"��;�W������?�۲����
+V�����μq�Y��?[ IR\ץ������8��T���.��q    H_$���P���pu   ���Űh��֥��''y$q
+'����5���ƨ     h����X�
+��c���$+���^�5�O���&h�)�@
Lšc:���,
+��d$�xۡ>*�B�
+d�A�:/4n6(�uF��[&D˓͠��`��<$��U
+�0z0�d �io�G�r�L���6"�,q�N�
+��S���&�>;x�Vj��3�3
+5����4��       �l$
����!c:<Ŋ��h�<�yi$����h\T�
�`�9���X��� �۠� ��K��|Kc��o�P����7V�=�<�����;�G�G�,�]��ƢP�
�
+e�4R7�y�����Ь2��$     �`�&
1LL����?��+?P�xGb��/V��dwa�W��H�D�خS㤢aӚAj��E]
��^�z���`Pv��[�3�6���.�AU�&��3
+�&����n��/���_<S/���sR�{?F�6Dt�l��b�)��r;��^��K(�_D]]&��zX��e�W 
��l�rZO��0�bhe�vh}v��R�Q{"���3���9�?�<K�^����(address@hidden@address@hidden(��0�<
       Ip�ы��&&H�4����%��3��:*�`T������˸���o��+�P�p��g�J��Z0
�����԰���}ׯ�����+㽂��?u6�j3HB�^^�%�4�U�ǜy\K%V
+��l��p8�o�
+>Z
+-I�����<��'�JE���l��9e0Ťi�����1��t�gN��(�V,,e���d�^�|�đ`E��,&奶\xj\�u�L>���s��
+`Vg����.
+�|za�)������l�����DY_���_�r���?>����{g�~���g_���n�V]wƳ��CI_��W�@ 
0�~Y�L��V,��5���L%��HAj���nFA���d�2��+��R�3z�if�T�(    
�(v��+%���-/�Q݄�|address@hidden)�j�4�zs����x�j�m��&D�Ee
46�Y^��~Q!�5���A�[�����|�\�����6���>address@hidden>�:(��c�tՉ]u�^��E%L�
 
-"�t���7y";=$�����ʑ��*�Z�O��2>N>�⠐J/��n���)���p~r�k��O�Ma�)�c؛�Gqx���}z''֯'��k���6���c��5��&7�y�,�_�%�$�p�CT�D�l��e�����ۑ*�xoH�&B�2qQ���;�=:��||���p�4�g��h�Vng.ep*���$x����5�M�ϲ�����xTZ�"|�
 )Is����3!�ͨ2���
address@hidden,S�����X=I�� [�����ep��tu�K&�?�>�K�?��W,��V/F2���&  
4!�T&Eȇ6:hv@&�/N�|1�����������h��dN�X,�Yﯱ�����^����r�-���,y���_�b�#���������?��>�9~��_�9z�M�
address@hidden
+YXӠ�Aj�IH;���b6�
t4�)A�y0�`�JȒ�ޯ=p�����Oq�5#o�a�� 
��A�N(�C������n�\�A��UH|`#p����,�J;�$�<��(��:��
+��i�/�I����yl�}�?�����p���Z"i��(Y�eY�q��h��ȁ�M�4A�1P���A�E4�?A�4$h
+ڔ�b�%��ec�D4ir��#|�O/�-�����۷�s}d=&o��;a�E���K�����B�Z��/��N��76\ٴA�k�KE�p���=��
        @�"EA�.���!��9���(�w�
��ɤr��k��Nش�  A�ۣ�ۙ �����M�ۙ����*Hwµ�pWlꇡ�!R
�c0�&9�=�� xw�D-��
+�>xQ�����     Dj�H�qZ��N�L?d�r�
+�1��TTTO�ڧ�a�ۖqo�ඏ���v0�Š�*
+�#�� Ǻ1��
+�����vСF~��"֬�z����V�X���Ү���4X�0AZ`[ 
address@hidden@�jY(�]�T�ɣ���D�hY��t�i�:�0#��CM\4S!�;,!
+���������4j�����h
+�E�����05 ����M�䢙Dp�E�Rx�y;�Ȁ��2AU3��AP
+�90� �*J
+&ːES��G��Q��%�{Q����#��ښ���T�c���m��U���H'�̄       
)address@hidden<L�Aa>0C�d��k\4)�io.i}�z���"(�D'�$��d�'��d�6�4�
��Щ8ڻ��B|.��{|���ۍ
�(/�jSe�
��o�i���x{�"�����F("�
+�CSBQ���{���
3E2����WQ��t� :�)���{i�h��O���V 
-7H'�&F��Ry�␫��B��8�̃��k"�9�v�,�����l�B~bx�
+�s/�q_�)�:6�v`p��d��Y��t�Xy�
+ v��e���"n����a؎��X�Ϭ�腳�8
XĨsO�pr�r�0h�ɏ�;Ǹ�/Rl����g���-[��-_�����RG2�����$�˭���r�
L�9�R���j�I�M��        �V"�L! .�[�l���S�����(9O3��9�w� 
��y����ԩ�P���l����Tg~���V�t
+�Y�K��C�D� B�&��mV�^�lN1�� <�+�D-(����9F+pz�J.ț� 
�c��}��2���g.~^t���|address@hidden)"��(��w��address@hidden      
��H���:���|#8-B��2��4��QŠ�����N�/��/��I��Γ9'y����5S����HHҕ�MډЊ�����D����s�(��K�I(=?�飁Gp��d8��a��3��MP[�����M��}9���_h�h�}�F��mZ,�6
��$/�pU��o?Vd
��������>+����~J��֨�
}pƄ3�SP���u>��M�
�|�3%��Y�)p�ǡ�?��axM����������s�행P����JI�L�����{j^Q�:�I���*LC�����22���x�z��:Pd�H^�u�C�FZ���ʄI�<�HP
�ug/w�<�`�ax�;���U��=�ԟ|躣���ʲ����pB�B��[��l
߻g+$��1�B6�D�4Fl�X(b8D�$V��4��2��O�4>'�TPL���R�Q���q(�(TG��p�p�M�Ѕ,��~6��Q>���
     �.E{P�Ta潃�\J܋��Z
+")��7�9-�`���Y8|���.��a�|�hU_������p�M
+�`��קS�g��QU�/V#�w�>�<�ƪ�ʻ�/�\G��U}V�2�<������ʪ��J���1|h��"
\ No newline at end of file

Modified: trunk/pingus/data/images/core/buttons/fast_forward.png
===================================================================
--- trunk/pingus/data/images/core/buttons/fast_forward.png      2007-09-20 
14:24:06 UTC (rev 3193)
+++ trunk/pingus/data/images/core/buttons/fast_forward.png      2007-09-20 
21:04:35 UTC (rev 3194)
@@ -1,22 +1,25 @@
 �PNG
 
-
-�:
-؈�nG%�LE���|FOS�C�7�pf���5�v�R_��bA5�mg��)�ڈB���*�L��g
-�g
-8�
-���ɵU���PYY��o��������6z�T1~Й��UlQ���\��傢>�r\NkybY�]c��ɲ�껍A�|� 
address@hidden)Y���q���t�w����}��{��(Ez�VKUP���买*y-��|6,�}���<        
貲��G\���3���v���s�ܔ� ��oR�[u`<�Y^\��@&�(�
-�71�_�H��Pdl��3���Lf����'�7aͪ�Ϥ���MU!�.   %Iš�w�?'}�#�ÆN[3;�nNJ
�Α�[`[�QF��W;<��]�.a�rr���M�2p'nF����ׯ�KlhxuIȩ�d�4<q�^� 
?���"p|#O,���*��h����_���JQ��c�a���I��s��u�����&
xޔ�y�w.��]��,�ܺ��
address@hidden>!+�*6�7 pT�j|'��y7
-\�����b���iTuh
-��Ro�Z����<zz��Sh��#�-^K?��݄G\q��q��9�;<�n��b�k�������ˊ��,��gH��RC;jyאJw
�oz5J�ͽ7�V��QW֧��'/96       �����.��              8\��SF
lu4��®�U����S�_R�:��][Z�`����z�-�I�
-{�{
-=�t:y����v8X��c���V'Q��R3|&address@hidden
-�}�cgA��[��/address@hidden<�ywJ��Ԭ�և��RJ���P/�4zwi�lW���؞���ާ�z���g�����ݕ�,]GD��Aڮ~,�W�ڋZ쯓��Ǟ�Qmeqv�c�b�ęs���3�������-5���>R��lժ�6�nW��=�
address@hidden
-�}���2G�r�5��N��7V�Y$�ܭ�RO��%zFJ���Ɋ�{��Lk�2�'�V��S�^���V����{Tg��:(�57]OeN�{�_��㽦
/��
address@hidden
V��0Q�̐:Ӥ����j�٭z�t���znV��R��ECr�|��=,/
�,�(=Y��?��}��BAL�Z7u�_��     
P&�s��\`�����uU��P��T������z���J�|��\&��� 귡
���
-�p��wt��*0�q���K�
-a���H�B�,S�:�cecd�R��jt�� ;UF]t�p�7F�:��n`y�W��������'pq��Q
�ԐW�[���8��}��|��֚{.��k���q��Oa����a�G1@��
-kfכ2n~
-
-� �Q�fq�kz��%��=\�pՉZ�P�H��yv�k���x��ln`ĕ�wvUJ���j< ��
�N[�q�����ӣ#�'�N���T���$��2�'���}*�i�M[i�jb;�.�$�ь�y�Hg��^���Ps��{��
address@hidden(Rc"��
\ No newline at end of file
+
+8�
+��G`��o������i��Ϧ��
+EbLA�O)�Y=!1K� 
��`2h�����txB���g�\����G7�7�`<!��$�dd���s]�ui]{�����Z��w��,5
���'G����C�����댇;address@hidden 
��)A��)��i%6K�I�H���.߰za�=��R!�ץ*�l�����<'�*&n
+Y�b\X��BzA�1�H˜�s�M���N����W"�+8A�r=N�+H3d�2�O~�K��"��+0�?����������8O���b��
      �H�qF3Oɥ+�I��$y�B)�8�gBԈ�,���-�Ț
+�&;7�����|No�*����%ZaD�׃�"��)�����Ͻ�
+�D���\W����}~/�ɿ�#������f��Қcg����+��W��|.߼��q%��!����{���o!�瘫O q  
P*f88�?����ݘ������l��W��~���ƻ&����O�����I��y��v��K�9�`�F�N��9���R����+4����������_9�����s��7Y�ژ��Gx����y�f�1�S��9�%V\�F�*.m�Q��k���9�*���62n[��P���m�z����&�|���Q���G�}��
�)���77J`Lv��_��#D��%���D��.PX��H1P�м��ٯ�6���߼B�        
�E��A�>!�oPϏ�lxbh˒���Q�����|!��Rߖ
�+�iG�l�$ύ��i��拌�\)�R�c8�Ѫ挐�eI^�Tec�h��*�_�| 
/�J�������������[��4��D�2�(�?���1_��)ʢ��f8�/��O�{��9���
�@,�vΠ�:�h��OY�&�!�0��l�;;?��C���O'��YPSL���z^Ud~���f�][^ST�뉒���j^Ⱥ�4f���\�ZS��y���IQ�r�������\O�9�������7/�)��\ڤ��pvQdT�C45zeI��g����\i��ջ�(sW
+1�Δ��+�y������N�I����UU̮]����B�V���,%�-�����B�aD��V�Y��&1GT^B;q       
��S�'���l��h�Ft�ZQ�sW��+����*;SV����S�*��1Q��"jt�� ,���L;��       
�qB�^�}ϋ�4w�֭�/������ԂjIȖ�u}mRnݾG�vN���i5�tHY���-�MT�씝���J���<O���'���bw�un��
+�����G�Ea��׍g��������F��!Q�8�Ͻi�>;���^�37����TBbl ���I�9
+�hXo��9����3vp��R+���%       E]L�`�9���m6��$�[�n���I��e��[v�
+�����ɺ���+D�G'�`�����S;̪P��;hϵQ���j��{5��AuH9�vH����u�Q���C������,7�SA��3fH�kQ
+��xJ'Qȿ�s_`���<���=+��C����;����r:��͠�xa�0�q�HV�Ҧu]k�qF 
\'�t�0iG#�-���K�17-|ϧ��4Hd
address@hidden(C�:��)�P�+JOC/��-O�r�R����2�L��.�h�C���M}�SF�+��2��$qH=k8�g��]V�mF��,>�ɡ*�|��C�G�˜�s����`�[�_��[�4�2��[
+׮m0*��>ƙ��%���U�8�Dm �F��cM��NI��­��!���hj>��   
�l��F��zWe�J�hp�u:���"T�ʉ�uH:���dA��Bl��h��.PV�%��U2�:��    ;�#d�P�
+�ܷ�?����Mɣ�R0��ܒ����PU���̌$T(� ���32H����,�x�0      
��}��kV.lrg?�*�J1�
S��4��a<I�;�����ٺt����]�O=��|^bS&��4���(��t�SF1��C�ނ`x��]��E˭����,q���J$cuJ����tA����!
�v9�3���l��$��A���>�p��K�6K�bD,
y�����(�������o��ס��"address@hidden:����}        
/?b��2��LG�,uz�̰~���^gyikk�{�m�q9#hw     LAIBSs�
�#p�����Қ��D�U��(@c������A�eQYj�SC+ P�̊.E�������cd�����b����ϟ�6�����
Eհ)y�(��KJ+P��
+�l�1L�n����3ALf��:�< �Y���G��aM�&��X�O/
address@hidden)@+��9�y����t�^�f�r�Ti�TD,�����"��LsC(�g��p8YX\O��S���4^;address@hidden
+�{��ѺM +ϖ���n�Y�l��w<bi�K�i�<��8N�kN�#X+       q����{
+��EV3-��R
+�������
+b�(f��{do�x��n������oàp��ܼq�cѡ0����"G�v��[5
P�1���_|��N������9Zޜ�M�K�:����������{���T^�ۿ�<y|��>���<��0�e45l����
�˫�qc����~��!����!q�
+�%�Nx���ZQ�:��;k8Z1���b��K�O��-�ျ,��s���':s��3�y��9~����6j���E��ō��|�
+i��N�byy�-�
+���6��17w�
address@hidden
\ No newline at end of file

Modified: trunk/pingus/data/images/core/buttons/pause.png
===================================================================
--- trunk/pingus/data/images/core/buttons/pause.png     2007-09-20 14:24:06 UTC 
(rev 3193)
+++ trunk/pingus/data/images/core/buttons/pause.png     2007-09-20 21:04:35 UTC 
(rev 3194)
@@ -1,10 +1,14 @@
 �PNG
 
-
-����
-����t�m�0(
-d�ٸ���eY$    �z�-if��~�iɶm&� �u۶���T�Uj���`�6�^�0�f���=�m��*
-�z�7�|S���+�3�<#� ��ns�����PE
-!p˲h�Z��J"���}��<�����Q���5��<�T�Z���.����~����.a�og�X��‘#G�e�08z�(�D�Z�K�t:K��do8�ˑ��I&�T*����V�,,,����KWuI�f�0
Q�D"A:�&C��:>� �Ʉ��=�(b0�J��T*t�]����$ MӐe]�Y^^���c�6����dPU�0
��r�_�W�8qB��������t:q���iR��mp�����
-��t��dBE�����q��0d<cY;;;�q�d���=}��������6?���ϟ��<���Ġ��\.�]w�EE�m��ŋlnn�!�ш(�p�v����\�)�ى����x<�w|h����h4��G&��T*���X\\��ѣ����i��l6�q����|,�������3g�]�Bp��񸝜9sFA��[(pEQ�}�z���8�;�i6�1�����5"8u��t������8��C��!�d�(��e9��f��a=T��Ba6C�'NH����шN��t:E�u�
 @�uJ��$���������}���x��/۴t��ß|򉈢(�Q�o`.���_�u]��)�~�-
-lgg�D"�,˱4�f�h��t:��jaYֿ?�=y򤴳����
�C$I�\.S��B�y�5��fR��|Y���j$�I<ϋet�T��M��;&�������        
�0.k;�,��}��g"�����矿f�.��,x�M`7P���;����tňI�t���
\ No newline at end of file
+
+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

Added: trunk/pingus/data/images/core/editor/solidcolorbackground_thumb.png
===================================================================
(Binary files differ)


Property changes on: 
trunk/pingus/data/images/core/editor/solidcolorbackground_thumb.png
___________________________________________________________________
Name: svn:mime-type
   + image/png

Added: trunk/pingus/data/images/core/editor/starfield_thumb.png
===================================================================
(Binary files differ)


Property changes on: trunk/pingus/data/images/core/editor/starfield_thumb.png
___________________________________________________________________
Name: svn:mime-type
   + image/png

Modified: trunk/pingus/src/editor/object_selector.cpp
===================================================================
--- trunk/pingus/src/editor/object_selector.cpp 2007-09-20 14:24:06 UTC (rev 
3193)
+++ trunk/pingus/src/editor/object_selector.cpp 2007-09-20 21:04:35 UTC (rev 
3194)
@@ -140,6 +140,47 @@
   }
 };
 
+struct SolidColorBackground : public ObjectSelectorList::Object
+{
+  SolidColorBackground() 
+    : Object(Resource::load_sprite("core/editor/solidcolorbackground_thumb"),
+             
Resource::load_thumb_sprite("core/editor/solidcolorbackground_thumb"))
+  {}
+  
+  LevelObj* create(const Vector2i& pos, LevelImpl* impl) {
+    return 0;
+  }
+};
+
+struct StarfieldBackground : public ObjectSelectorList::Object
+{
+  StarfieldBackground() 
+    : Object(Resource::load_sprite("core/editor/starfield_thumb"),
+             Resource::load_thumb_sprite("core/editor/starfield_thumb"))
+  {}
+  
+  LevelObj* create(const Vector2i& pos, LevelImpl* impl) {
+    return 0;
+  }
+};
+
+#if 0
+struct Liquid : public ObjectSelectorList::Object
+{
+  ResDescriptor desc;
+
+  Liquid(const std::string& name) 
+    : Object(Resource::load_sprite("core/editor/starfield_thumb"),
+             Resource::load_thumb_sprite("core/editor/starfield_thumb")),
+      desc(name)
+  {}
+  
+  LevelObj* create(const Vector2i& pos, LevelImpl* impl) {
+    return 0;
+  }
+};
+#endif
+
 class ObjectSelectorButton : public GUI::RectComponent
 {
 private:
@@ -386,6 +427,10 @@
 ObjectSelector::create_background()
 {
   ObjectSelectorSet* set = new ObjectSelectorSet(object_list, 48, 48);
+  
+  set->add(new SolidColorBackground());
+  set->add(new StarfieldBackground());
+
   std::vector<std::string> lst = Resource::resmgr.get_section("textures");
   for(std::vector<std::string>::const_iterator i = lst.begin(); i != 
lst.end(); ++i)
     set->add(new SurfaceBackground(*i));

Modified: trunk/pingus/src/pathname.cpp
===================================================================
--- trunk/pingus/src/pathname.cpp       2007-09-20 14:24:06 UTC (rev 3193)
+++ trunk/pingus/src/pathname.cpp       2007-09-20 21:04:35 UTC (rev 3194)
@@ -52,10 +52,13 @@
       case DATA_PATH:
         return path_manager.complete(pathname);
 
+      case INVALID:
+        return "";
+
       default:
         assert(!"Never reached");
     }
-  return std::string();
+  return "";
 }
 
 std::string

Modified: trunk/pingus/src/resource.cpp
===================================================================
--- trunk/pingus/src/resource.cpp       2007-09-20 14:24:06 UTC (rev 3193)
+++ trunk/pingus/src/resource.cpp       2007-09-20 21:04:35 UTC (rev 3194)
@@ -105,9 +105,14 @@
 {
  SpriteDescription* desc = resmgr.get_sprite_description(res.res_name);
   if (desc)
-    return Sprite(*desc, res.modifier);
+    {
+      return Sprite(*desc, res.modifier);
+    }
   else
-    return Sprite();
+    {
+      std::cout << "Resource: Couldn't load sprite: '" << res.res_name << "'" 
<< std::endl;
+      return Sprite(Pathname("images/core/misc/404.png", Pathname::DATA_PATH));
+    }
 }
 
 Sprite
@@ -115,9 +120,14 @@
 {
   SpriteDescription* desc = resmgr.get_sprite_description(res_name);
   if (desc)
-    return Sprite(*desc);
+    {
+      return Sprite(*desc);
+    }
   else
-    return Sprite();
+    {
+      std::cout << "Error: Resource: Couldn't load sprite: '" << res_name << 
"'" << std::endl;
+      return Sprite(Pathname("images/core/misc/404.png", Pathname::DATA_PATH));
+    }
 }
 
 CollisionMask

Modified: trunk/pingus/src/sprite.cpp
===================================================================
--- trunk/pingus/src/sprite.cpp 2007-09-20 14:24:06 UTC (rev 3193)
+++ trunk/pingus/src/sprite.cpp 2007-09-20 21:04:35 UTC (rev 3194)
@@ -71,7 +71,7 @@
 
     if (!surface)
       {
-        std::cout << "Error: Surface: couldn't load '" << desc.filename << "'" 
<< std::endl;
+        std::cout << "Error: Sprite: couldn't load '" << desc.filename << "'" 
<< std::endl;
         surface = Surface(Pathname("images/core/misc/404.png", 
Pathname::DATA_PATH));
         if (!surface) assert(!"Surface Couldn't find 404");
       }
@@ -320,103 +320,121 @@
 void
 Sprite::scale(int w, int h)
 {
-  // FIXME: This doesn't work for animated graphics, in which case it will 
only handle the first frame
-  if (impl->frame_size.width != w || impl->frame_size.height != h)
+  if (impl.get())
     {
-      boost::shared_ptr<SpriteImpl> new_impl(new SpriteImpl());
+      // FIXME: This doesn't work for animated graphics, in which case it will 
only handle the first frame
+      if (impl->frame_size.width != w || impl->frame_size.height != h)
+        {
+          boost::shared_ptr<SpriteImpl> new_impl(new SpriteImpl());
 
       
-      if ((impl->frame_size.width  * impl->array.width)  == 
impl->surface.get_width() && 
-          (impl->frame_size.height * impl->array.height) == 
impl->surface.get_height())
-        { // single frame Sprite
-          new_impl->surface = impl->surface.scale(w, h);
-        }
-      else
-        { // multi frame sprite
-          new_impl->surface = impl->surface.subsection(Rect(impl->frame_pos, 
impl->frame_size)).scale(w, h);
-        }
+          if ((impl->frame_size.width  * impl->array.width)  == 
impl->surface.get_width() && 
+              (impl->frame_size.height * impl->array.height) == 
impl->surface.get_height())
+            { // single frame Sprite
+              new_impl->surface = impl->surface.scale(w, h);
+            }
+          else
+            { // multi frame sprite
+              new_impl->surface = 
impl->surface.subsection(Rect(impl->frame_pos, impl->frame_size)).scale(w, h);
+            }
 
-      float scale_x = float(w) / float(impl->frame_size.width);
-      float scale_y = float(h) / float(impl->frame_size.height);
+          float scale_x = float(w) / float(impl->frame_size.width);
+          float scale_y = float(h) / float(impl->frame_size.height);
       
-      new_impl->offset          = Vector2i(int(impl->offset.x * scale_x),
-                                           int(impl->offset.y * scale_y)); 
-      new_impl->frame_pos       = Vector2i(0, 0);
-      new_impl->frame_size      = Size(w, h);
-      new_impl->frame_delay     = impl->frame_delay;
-      new_impl->array           = impl->array;
-      new_impl->loop            = impl->loop;
-      new_impl->loop_last_cycle = impl->loop_last_cycle;
-      new_impl->finished        = impl->finished;
-      new_impl->frame           = impl->frame;
-      new_impl->tick_count      = impl->tick_count;
+          new_impl->offset          = Vector2i(int(impl->offset.x * scale_x),
+                                               int(impl->offset.y * scale_y)); 
+          new_impl->frame_pos       = Vector2i(0, 0);
+          new_impl->frame_size      = Size(w, h);
+          new_impl->frame_delay     = impl->frame_delay;
+          new_impl->array           = impl->array;
+          new_impl->loop            = impl->loop;
+          new_impl->loop_last_cycle = impl->loop_last_cycle;
+          new_impl->finished        = impl->finished;
+          new_impl->frame           = impl->frame;
+          new_impl->tick_count      = impl->tick_count;
 
-      impl = new_impl;
+          impl = new_impl;
+        }
     }
 }
 
 void
 Sprite::fill(const Color& color)
 {
-  if (color.a != 0) 
+  if (impl.get())
     {
-      make_single_user();
-      impl->surface.fill(color);
+      if (color.a != 0) 
+        {
+          make_single_user();
+          impl->surface.fill(color);
+        }
     }
 }
 
 void
 Sprite::make_single_user()
 {
-  boost::shared_ptr<SpriteImpl> new_impl(new SpriteImpl());
+  if (impl.get())
+    {
+      boost::shared_ptr<SpriteImpl> new_impl(new SpriteImpl());
   
-  new_impl->surface         = impl->surface.clone();
-  new_impl->offset          = impl->offset;
-  new_impl->frame_pos       = impl->frame_pos;
-  new_impl->frame_size      = impl->frame_size;
-  new_impl->frame_delay     = impl->frame_delay;
-  new_impl->array           = impl->array;
-  new_impl->loop            = impl->loop;
-  new_impl->loop_last_cycle = impl->loop_last_cycle;
-  new_impl->finished        = impl->finished;
-  new_impl->frame           = impl->frame;
-  new_impl->tick_count      = impl->tick_count;
+      new_impl->surface         = impl->surface.clone();
+      new_impl->offset          = impl->offset;
+      new_impl->frame_pos       = impl->frame_pos;
+      new_impl->frame_size      = impl->frame_size;
+      new_impl->frame_delay     = impl->frame_delay;
+      new_impl->array           = impl->array;
+      new_impl->loop            = impl->loop;
+      new_impl->loop_last_cycle = impl->loop_last_cycle;
+      new_impl->finished        = impl->finished;
+      new_impl->frame           = impl->frame;
+      new_impl->tick_count      = impl->tick_count;
 
-  impl = new_impl;  
+      impl = new_impl;  
+    }
 }
 
 Vector2i
 Sprite::get_offset() const
 {
-  return impl->offset;
+  if (impl.get())
+    return impl->offset;
+  else
+    return Vector2i();
 }
 
 void
 Sprite::set_hotspot(Origin origin, int x, int y)
 {
-  // FIXME: offset and other stuff should be member of the Sprite, not the 
SpriteImpl
-  impl->offset = calc_origin(origin, impl->frame_size) - Vector2i(x, y);
+  if (impl.get())
+    {
+      // FIXME: offset and other stuff should be member of the Sprite, not the 
SpriteImpl
+      impl->offset = calc_origin(origin, impl->frame_size) - Vector2i(x, y);
+    }
 }
 
 void
 Sprite::apply_mod(ResourceModifierNS::ResourceModifier mod)
 {
-  // FIXME: This isn't all that useful, since Sprites are optimized
-  // per default and thus not modifiable, since the Modifier can only
-  // handle indexed images.
-  if (impl->frame_pos  == Vector2i(0, 0) &&
-      impl->frame_size == Size(impl->surface.get_width(), 
impl->surface.get_height()) &&
-      impl->array      == Size(1, 1))
+  if (impl.get())
     {
-      make_single_user();
-      impl->surface = impl->surface.mod(mod);
-      impl->frame_size.width  = impl->surface.get_width();
-      impl->frame_size.height = impl->surface.get_height();
+      // FIXME: This isn't all that useful, since Sprites are optimized
+      // per default and thus not modifiable, since the Modifier can only
+      // handle indexed images.
+      if (impl->frame_pos  == Vector2i(0, 0) &&
+          impl->frame_size == Size(impl->surface.get_width(), 
impl->surface.get_height()) &&
+          impl->array      == Size(1, 1))
+        {
+          make_single_user();
+          impl->surface = impl->surface.mod(mod);
+          impl->frame_size.width  = impl->surface.get_width();
+          impl->frame_size.height = impl->surface.get_height();
+        }
+      else
+        {
+          std::cout << "Error: Sprite: apply_mod() only works with single 
frame Sprites" << std::endl;
+        }
     }
-  else
-    {
-      std::cout << "Error: Sprite: apply_mod() only works with single frame 
Sprites" << std::endl;
-    }
 }
 
 /* EOF */

Modified: trunk/pingus/src/sprite_description.hpp
===================================================================
--- trunk/pingus/src/sprite_description.hpp     2007-09-20 14:24:06 UTC (rev 
3193)
+++ trunk/pingus/src/sprite_description.hpp     2007-09-20 21:04:35 UTC (rev 
3194)
@@ -20,6 +20,7 @@
 #ifndef HEADER_SPRITE_DESCRIPTION_HPP
 #define HEADER_SPRITE_DESCRIPTION_HPP
 
+#include <iostream>
 #include "math/vector2i.hpp"
 #include "math/size.hpp"
 #include "math/origin.hpp"
@@ -61,7 +62,11 @@
 
     reader.read_enum("origin", origin, string2origin);
     
-    reader.read_path("image-file",  filename);
+    if (!reader.read_path("image-file",  filename))
+      {
+        std::cout << "Error: SpriteDescription: " << reader.get_name() << " 
'image-file' missing" << std::endl;
+      }    
+
     filename = Pathname("data/" + filename.get_raw_path(), 
filename.get_type()); // FIXME: Hack
     reader.read_size("image-array", array);
     reader.read_vector2i("image-pos",   frame_pos);





reply via email to

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