Displaying 8 results from an estimated 8 matches for "swfdec_action_goto_frame2".
Did you mean:
swfdec_action_goto_frame
2007 Feb 01
0
Branch 'interpreter' - libswfdec/swfdec_script.c
...SWFDEC_ERROR ("FIXME: handle targets");
+ }
+ frame = swfdec_sprite_get_frame (SWFDEC_SPRITE_MOVIE (movie)->sprite, name);
+ } else {
+ /* FIXME: how do we treat undefined etc? */
+ frame = swfdec_action_to_number (cx, val);
+ }
+ return frame;
+}
+
static JSBool
swfdec_action_goto_frame2 (JSContext *cx, guint action, const guint8 *data, guint len)
{
@@ -274,7 +295,6 @@ swfdec_action_goto_frame2 (JSContext *cx
guint bias;
gboolean play;
jsval val;
- int frame;
SwfdecMovie *movie;
swfdec_bits_init_data (&bits, data, len);
@@ -288,24 +308,13 @@ swfdec_action_got...
2007 Nov 07
0
14 commits - libswfdec/swfdec_as_context.c libswfdec/swfdec_as_interpret.c libswfdec/swfdec_as_interpret.h libswfdec/swfdec_net_stream.c libswfdec/swfdec_script.c libswfdec/swfdec_sprite_movie.c libswfdec/swfdec_tag.c libswfdec/swfdec_text_field_movie.c
...quot;If", swfdec_action_print_if, 1, 0, swfdec_action_if, 4 },
- [SWFDEC_AS_ACTION_CALL] = { "Call", NULL },
+ [SWFDEC_AS_ACTION_CALL] = { "Call", NULL, -1, -1, NULL, 4 },
[SWFDEC_AS_ACTION_GOTO_FRAME2] = { "GotoFrame2", swfdec_action_print_goto_frame2, 1, 0, swfdec_action_goto_frame2, 4 }
};
diff --git a/libswfdec/swfdec_script.c b/libswfdec/swfdec_script.c
index 6e1edf4..b34aba7 100644
--- a/libswfdec/swfdec_script.c
+++ b/libswfdec/swfdec_script.c
@@ -230,12 +230,10 @@ swfdec_script_new_from_bits (SwfdecBits *bits, const char *name, guint version)
* DefineFunction and...
2007 Jan 31
0
Branch 'interpreter' - 20 commits - autogen.sh configure.ac libswfdec/js libswfdec/swfdec_debug.h libswfdec/swfdec_js.c libswfdec/swfdec_js_color.c libswfdec/swfdec_js_movie.c libswfdec/swfdec_movie.c libswfdec/swfdec_movie.h libswfdec/swfdec_script.c
...e_get_frame (SWFDEC_SPRITE_MOVIE (movie)->sprite, (const char *) data);
+ if (frame == -1)
+ return JS_TRUE;
+ swfdec_movie_goto (movie, frame);
+ movie->stopped = TRUE;
+ } else {
+ SWFDEC_ERROR ("no movie to goto on");
+ }
+ return JS_TRUE;
+}
+
+static JSBool
+swfdec_action_goto_frame2 (JSContext *cx, guint action, const guint8 *data, guint len)
+{
+ SwfdecBits bits;
+ guint bias;
+ gboolean play;
+ jsval val;
+ int frame;
+ SwfdecMovie *movie;
+
+ swfdec_bits_init_data (&bits, data, len);
+ if (swfdec_bits_getbits (&bits, 6)) {
+ SWFDEC_WARNING ("reserved...
2007 Apr 04
0
Branch 'as' - 4 commits - libswfdec/Makefile.am libswfdec/swfdec_as_context.c libswfdec/swfdec_as_frame.c libswfdec/swfdec_as_interpret.c libswfdec/swfdec_as_interpret.h libswfdec/swfdec_as_object.c libswfdec/swfdec_as_types.c libswfdec/swfdec_as_types.h
...else
+ frame--;
+ } else if (JSVAL_IS_INT (val)) {
+ return JSVAL_TO_INT (val) - 1;
+ } else if (JSVAL_IS_DOUBLE (val)) {
+ return (int) *JSVAL_TO_DOUBLE (val) - 1;
+ } else {
+ /* FIXME: how do we treat undefined etc? */
+ frame = -1;
+ }
+ return frame;
+}
+
+static void
+swfdec_action_goto_frame2 (SwfdecAsContext *cx, guint action, const guint8 *data, guint len)
+{
+ SwfdecBits bits;
+ guint bias;
+ gboolean play;
+ jsval val;
+ SwfdecMovie *movie;
+
+ swfdec_bits_init_data (&bits, data, len);
+ if (swfdec_bits_getbits (&bits, 6)) {
+ SWFDEC_WARNING ("reserved bits in...
2007 Jun 27
0
Branch 'as' - 6 commits - libswfdec/swfdec_as_interpret.c libswfdec/swfdec_movie_asprops.c libswfdec/swfdec_movie.c libswfdec/swfdec_movie.h libswfdec/swfdec_sprite.c libswfdec/swfdec_sprite.h libswfdec/swfdec_sprite_movie_as.c
...wfdec_as_value_to_integer (cx, val);
} else {
SWFDEC_WARNING ("cannot convert value to frame number");
/* FIXME: how do we treat undefined etc? */
- frame = -1;
+ frame = 0;
}
- return frame;
+ return frame <= 0 ? 0 : frame;
}
static void
@@ -197,7 +199,7 @@ swfdec_action_goto_frame2 (SwfdecAsConte
guint bias;
gboolean play;
SwfdecAsValue *val;
- SwfdecMovie *movie;
+ SwfdecSpriteMovie *movie;
swfdec_bits_init_data (&bits, data, len);
if (swfdec_bits_getbits (&bits, 6)) {
@@ -212,12 +214,12 @@ swfdec_action_goto_frame2 (SwfdecAsConte
movie = swfdec...
2007 Mar 29
0
Branch 'as' - 9 commits - libswfdec-gtk/swfdec_playback_alsa.c libswfdec/js libswfdec/Makefile.am libswfdec/swfdec_as_context.c libswfdec/swfdec_as_context.h libswfdec/swfdec_as_frame.c libswfdec/swfdec_as_frame.h libswfdec/swfdec_as_function.c
...decActionSpec actions[256] = {
[0x9d] = { "If", swfdec_action_print_if, 1, 0, { NULL, swfdec_action_if, swfdec_action_if, swfdec_action_if, swfdec_action_if } },
[0x9e] = { "Call", NULL },
[0x9f] = { "GotoFrame2", swfdec_action_print_goto_frame2, 1, 0, { NULL, swfdec_action_goto_frame2, swfdec_action_goto_frame2, swfdec_action_goto_frame2, swfdec_action_goto_frame2 } }
+#endif
};
char *
@@ -2735,7 +2700,6 @@ swfdec_script_new (SwfdecBits *bits, con
return NULL;
}
- swfdec_bits_syncbits (bits);
start = bits->ptr;
script = g_new0 (SwfdecScript, 1);
script...
2007 Jun 27
0
Branch 'as' - 16 commits - configure.ac libswfdec/Makefile.am libswfdec/swfdec_as_context.c libswfdec/swfdec_as_frame.c libswfdec/swfdec_as_frame.h libswfdec/swfdec_as_function.c libswfdec/swfdec_as_interpret.c libswfdec/swfdec_as_script_function.c
...IE (movie)) {
+ if (SWFDEC_IS_SPRITE_MOVIE (cx->frame->target)) {
+ SwfdecMovie *movie = SWFDEC_MOVIE (cx->frame->target);
int frame = swfdec_sprite_get_frame (SWFDEC_SPRITE_MOVIE (movie)->sprite, (const char *) data);
if (frame == -1)
return;
@@ -197,7 +175,6 @@ swfdec_action_goto_frame2 (SwfdecAsConte
guint bias;
gboolean play;
SwfdecAsValue *val;
- SwfdecMovie *movie;
swfdec_bits_init_data (&bits, data, len);
if (swfdec_bits_getbits (&bits, 6)) {
@@ -209,9 +186,9 @@ swfdec_action_goto_frame2 (SwfdecAsConte
bias = swfdec_bits_get_u16 (&bits);...
2007 Feb 06
0
109 commits - configure.ac libswfdec/js libswfdec/Makefile.am libswfdec/swfdec_bits.c libswfdec/swfdec_bits.h libswfdec/swfdec_buffer.c libswfdec/swfdec_button_movie.c libswfdec/swfdec_codec_screen.c libswfdec/swfdec_color.c libswfdec/swfdec_color.h
...SWFDEC_ERROR ("FIXME: handle targets");
+ }
+ frame = swfdec_sprite_get_frame (SWFDEC_SPRITE_MOVIE (movie)->sprite, name);
+ } else {
+ /* FIXME: how do we treat undefined etc? */
+ frame = swfdec_action_to_number (cx, val);
+ }
+ return frame;
+}
+
static JSBool
swfdec_action_goto_frame2 (JSContext *cx, guint action, const guint8 *data, guint len)
{
@@ -274,7 +295,6 @@ swfdec_action_goto_frame2 (JSContext *cx
guint bias;
gboolean play;
jsval val;
- int frame;
SwfdecMovie *movie;
swfdec_bits_init_data (&bits, data, len);
@@ -288,24 +308,13 @@ swfdec_action_got...