added source code for PreLoaderTemplate
[swftools.git] / swfs / PreLoaderTemplate.c
1 /* simple_viewer.c
2
3    Creates the swf file PreLoaderTemplate.swf. 
4    
5    Part of the swftools package.
6
7    Copyright (c) 2001 Matthias Kramm <kramm@quiss.org>
8  
9    This file is distributed under the GPL, see file COPYING for details 
10 */
11
12 #include <stdio.h>
13 #include <fcntl.h>
14 #include <math.h>
15 #include "rfxswf.h"
16
17 TAG* tag;
18
19 int main (int argc,char ** argv)
20 { SWF swf;
21   RGBA rgb;
22   SRECT r;
23   LPSHAPE s;
24   MATRIX m;
25   ActionTAG*a1,*a2,*a3;
26   S32 width = 826, height = 1169;
27   
28   int f,i,ls1,fs1;
29   int count;
30   int t;
31
32   memset(&swf,0x00,sizeof(SWF));        // set global movie parameters
33
34   swf.fileVersion    = 4;               // make flash 4 compatible swf
35   swf.frameRate      = 0x1900;          // about 0x19 frames per second
36   
37   swf.movieSize.xmax = 20*width;        // flash units: 1 pixel = 20 units
38   swf.movieSize.ymax = 20*height;
39
40   swf.firstTag = swf_InsertTag(NULL,ST_SETBACKGROUNDCOLOR);
41   tag = swf.firstTag;
42   rgb.r = 0xff;
43   rgb.g = 0xff;
44   rgb.b = 0xff;
45   swf_SetRGB(tag,&rgb);
46
47   tag = swf_InsertTag(tag,ST_DEFINESPRITE);
48   swf_SetU16(tag, 1); //id
49   swf_SetU16(tag, 0); //frames
50   tag = swf_InsertTag(tag,ST_END);
51   tag = swf_InsertTag(tag,ST_PLACEOBJECT2);
52   swf_ObjectPlace(tag, 1, 1, 0, 0, "loader");
53   
54   tag = swf_InsertTag(tag,ST_SHOWFRAME);
55
56   a1 = swf_ActionStart(tag);
57     action_PushFloat(12.0);
58     action_PushString("");
59     action_GetProperty();
60     action_PushFloat(2.0);
61     action_Less();
62     action_If(2);
63     action_GotoFrame(1);
64     action_End();
65   swf_ActionEnd();
66
67   a2 = swf_ActionStart(tag);
68     action_Stop();
69     action_End();
70   swf_ActionEnd();
71
72   tag = swf_InsertTag(tag,ST_DOACTION);
73   swf_ActionSet(tag, a1);
74   
75   tag = swf_InsertTag(tag,ST_SHOWFRAME);
76   
77   tag = swf_InsertTag(tag,ST_DOACTION);
78   swf_ActionSet(tag, a2);
79   
80   tag = swf_InsertTag(tag,ST_REMOVEOBJECT2);
81   swf_SetU16(tag, 1);
82
83   tag = swf_InsertTag(tag,ST_DEFINESPRITE);
84   swf_SetU16(tag, 2); //id
85   swf_SetU16(tag, 0); //frames
86   tag = swf_InsertTag(tag,ST_END);
87   tag = swf_InsertTag(tag,ST_PLACEOBJECT2);
88   swf_ObjectPlace(tag, 2, 2, 0, 0, "movie");
89   
90   tag = swf_InsertTag(tag,ST_SHOWFRAME);
91   
92   tag = swf_InsertTag(tag,ST_END);
93
94   f = open("PreLoaderTemplate.swf",O_WRONLY|O_CREAT|O_TRUNC, 0644);
95   if FAILED(swf_WriteSWF(f,&swf)) fprintf(stderr,"WriteSWF() failed.\n");
96   close(f);
97
98   swf_FreeTags(&swf);                       // cleanup
99   return 0;
100 }
101
102