gnash-commit
[Top][All Lists]
Advanced

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

[Gnash-commit] gnash ChangeLog server/sprite_instance.cpp serv...


From: Zou Lunkai
Subject: [Gnash-commit] gnash ChangeLog server/sprite_instance.cpp serv...
Date: Mon, 02 Apr 2007 06:18:41 +0000

CVSROOT:        /sources/gnash
Module name:    gnash
Changes by:     Zou Lunkai <zoulunkai>  07/04/02 06:18:41

Modified files:
        .              : ChangeLog 
        server         : sprite_instance.cpp sprite_instance.h 
        server/swf     : tag_loaders.cpp 

Log message:
        improvement of reverse execution

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/gnash/ChangeLog?cvsroot=gnash&r1=1.2740&r2=1.2741
http://cvs.savannah.gnu.org/viewcvs/gnash/server/sprite_instance.cpp?cvsroot=gnash&r1=1.213&r2=1.214
http://cvs.savannah.gnu.org/viewcvs/gnash/server/sprite_instance.h?cvsroot=gnash&r1=1.83&r2=1.84
http://cvs.savannah.gnu.org/viewcvs/gnash/server/swf/tag_loaders.cpp?cvsroot=gnash&r1=1.83&r2=1.84

Patches:
Index: ChangeLog
===================================================================
RCS file: /sources/gnash/gnash/ChangeLog,v
retrieving revision 1.2740
retrieving revision 1.2741
diff -u -b -r1.2740 -r1.2741
--- ChangeLog   1 Apr 2007 10:23:46 -0000       1.2740
+++ ChangeLog   2 Apr 2007 06:18:41 -0000       1.2741
@@ -1,3 +1,13 @@
+2007-04-02 Zou Lunkai <address@hidden>
+
+       * server/sprite_instance.cpp, sprite_instance.h
+       add is_reverse_execution() to check if is reverse executing frame tags;
+       * server/tag_loaders.cpp
+       set "replace_if_depth_is_occupied" to true when reverse executing 
PlaceObject2.
+       fixed error messages with playing bombgame.swf, improved implementation 
of 
+       reverse execution.
+
+         
 2007-04-01 Sandro Santilli <address@hidden>
 
        * server/swf/tag_loaders.cpp (define_bits_jpeg_loader,

Index: server/sprite_instance.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/sprite_instance.cpp,v
retrieving revision 1.213
retrieving revision 1.214
diff -u -b -r1.213 -r1.214
--- server/sprite_instance.cpp  30 Mar 2007 15:01:47 -0000      1.213
+++ server/sprite_instance.cpp  2 Apr 2007 06:18:41 -0000       1.214
@@ -2805,6 +2805,8 @@
 
        assert(frame < m_def->get_frame_count());
 
+       m_is_reverse_execution = false;
+
        if ( frame == 0 && has_looped() )
        {
                // Resort frame0 DisplayList as depth of
@@ -2900,6 +2902,8 @@
 
        assert(frame < m_def->get_frame_count());
 
+       m_is_reverse_execution = true;
+
        const PlayList& playlist = m_def->get_playlist(frame);
 
        for (unsigned int i=0, n=playlist.size(); i<n; ++i)

Index: server/sprite_instance.h
===================================================================
RCS file: /sources/gnash/gnash/server/sprite_instance.h,v
retrieving revision 1.83
retrieving revision 1.84
diff -u -b -r1.83 -r1.84
--- server/sprite_instance.h    30 Mar 2007 07:23:19 -0000      1.83
+++ server/sprite_instance.h    2 Apr 2007 06:18:41 -0000       1.84
@@ -17,7 +17,7 @@
 // 
 //
 
-/* $Id: sprite_instance.h,v 1.83 2007/03/30 07:23:19 strk Exp $ */
+/* $Id: sprite_instance.h,v 1.84 2007/04/02 06:18:41 zoulunkai Exp $ */
 
 // Stateful live Sprite instance
 
@@ -250,6 +250,11 @@
        /// frame is 0-based
        void execute_frame_tags_reverse(size_t frame);
 
+       // return true is sprite is revserse executing frame tags
+       bool is_reverse_execution() const
+       {
+               return  m_is_reverse_execution;
+       }
                
        execute_tag* find_previous_replace_or_add_tag(int frame,
                int depth, int id);
@@ -767,6 +772,8 @@
        // true if this sprite reached the last frame and restarted
        bool            m_has_looped;
 
+       // true if reverse executing frame tags
+       bool            m_is_reverse_execution;
 
        // a bit-array class would be ideal for this
        std::vector<bool>       m_init_actions_executed;

Index: server/swf/tag_loaders.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/swf/tag_loaders.cpp,v
retrieving revision 1.83
retrieving revision 1.84
diff -u -b -r1.83 -r1.84
--- server/swf/tag_loaders.cpp  1 Apr 2007 10:23:47 -0000       1.83
+++ server/swf/tag_loaders.cpp  2 Apr 2007 06:18:41 -0000       1.84
@@ -14,7 +14,7 @@
 // along with this program; if not, write to the Free Software
 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 
-/* $Id: tag_loaders.cpp,v 1.83 2007/04/01 10:23:47 strk Exp $ */
+/* $Id: tag_loaders.cpp,v 1.84 2007/04/02 06:18:41 zoulunkai Exp $ */
 
 #ifdef HAVE_CONFIG_H
 #include "config.h"
@@ -1111,7 +1111,7 @@
                      m_name,
                      m_event_handlers,
                      m_depth,
-                     false, // m_tag_type != SWF::PLACEOBJECT, // original 
place_object doesn't do replacement
+                     m->is_reverse_execution(),        // place_object doesn't 
do replacement when not in reverse execution
                      m_color_transform,
                      m_matrix,
                      m_ratio,
@@ -1191,7 +1191,7 @@
                uint32 depthid = 0;
                if (m_place_type == PLACE || m_place_type == REPLACE)
                {
-                       int id = 0;
+                       int id = -1;
                        if (m_tag_type == SWF::PLACEOBJECT)
                        {
                            // Old-style PlaceObject; the corresponding Remove




reply via email to

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