[Top][All Lists]
[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
- [Gnash-commit] gnash ChangeLog server/sprite_instance.cpp serv...,
Zou Lunkai <=