1 2 3 NOTE: The amakefile works under Linux, IRIX and 4 Mac OS/X (you need amake to use it). 5 6 The dosamakefile works under MinGW 3.3 and should 7 work under newer versions too (in an MS-DOS window). 8 9 Since version 1.6.2 there is a configure script 10 which will generate Makefile's as required, in 11 case you'd rather use make. The configure script 12 is most certainly not perfect, but I'm enhancing 13 it as it goes. 14 15 With the configure script it should compile under 16 BSD, SunOS, Solaris, HP-UX, AIX, etc. Let me 17 know if you have any success on these systems 18 and whether you had to change anything in the 19 code (patches?) to make it work. Thanks! 20 21 I hope you will enjoy the new structure of the 22 project. 23 24 Comments welcome! 25 26 27 28 29This README.txt file is part of the sswf package. The following 30are the files which are currently part of this package: 31 32 . Informational Files 33 34 README.txt information about this package 35 36 doc/INSTALL.txt read this for some info on how 37 to compile and install the 38 SSWF package 39 40 doc/INSTALL-<sys>.txt if you have a system or can 41 use a package named <sys> you 42 certainly want to read that 43 file to have some more info 44 specific to your system. 45 46 doc/LICENSE.txt the license information for 47 this project. PLEASE READ! 48 49 doc/AUTHORS.txt the list of authors who have 50 helped on the project 51 52 doc/TODO.txt the things which still need to 53 be done in this project 54 55 doc/ASC-TODO.txt what's left to do in the javascript 56 compiler and Flash assembler 57 58 doc/CHANGES.txt the changes made to the library, 59 tools, etc. 60 61 doc/NOTES.txt a quick description of the SSWF 62 package 63 64 doc/LINKS.txt links to other SWF resources as 65 others and I have gathered on 66 the internet 67 68 69 70 . Documentation files 71 72 doc/html/index.html index to the following HTML files 73 74 doc/html/asc.html a brief description of the sswf 75 actionscript compiler, how to use 76 it and what is supported/not 77 supported and about my special 78 extensions 79 80 doc/html/ActionScript.html the document I wrote before I 81 started on the compiler to know 82 where I needed to go... I will 83 most certainly not finish it 84 85 doc/html/ecma262-?.pdf different revisions of the 86 ECMA 262 language (what most people 87 call Java Script now) 88 89 doc/html/SWFalexref.html a reference to the SWF format 90 rewritten from the OpenSWF 91 files and many dump of many 92 Flash movies! 93 94 doc/html/ScriptSWF.html a reference to the 'sswf' tool 95 96 doc/html/SWF-library.html a complete document about the 97 SSWF library with all the objects 98 and their functions described 99 100 [not finished yet] 101 102 doc/html/sswf.html sswf manual transformed in an 103 HTML document 104 105 doc/html/ft2sswf.html ft2sswf manual transformed in 106 an HTML document 107 108 doc/html/swf_dump.html swf_dump manual transformed in 109 an HTML document 110 111 doc/html/jpg2swf.html jpg2swf manual transformed in 112 an HTML document 113 114 doc/html/images/* images used in the different 115 documentations 116 117 doc/html/tutorial/index.html a tutorial about where to start 118 doc/html/tutorial/* with the SSWF compiler 119 120 doc/man/man1/* manual pages of the different 121 tools 122 123 124 125 . Build files 126 127 amakefile used with amake to create the 128 libraries and tools 129 130 dosamakefile used with amake under MS-Windows 131 to create the libraries and tools; 132 you will need to have MinGW installed 133 and the MinGW bin directory in your 134 PATH variable since it uses Unix 135 like commands to work 136 137 dosamakefile.cl used with amake under MS-Windows 138 to test the compilation with cl 139 (the Microsoft C++ compiler) 140 141 configure.ac configuration file for automake 142 dev/configure.ac the configure.ac in the dev 143 sub-directory has <VERSION> 144 instead of the actual version 145 number; this is automatically 146 changed by the dotar script 147 and the result is saved in 148 the main folder 149 150 Makefile.am automake Makefile description 151 you will find one of these per 152 directory as required 153 154 to use those, type: 155 156 autoreconf -i -f -v 157 ./configure --with-freetype 158 make 159 make install 160 161 depending on your system the 162 flags/options may change 163 164 aclocal.m4 all of these files are created 165 config.guess by the autoreconf tool from 166 config.sub the configure.ac and 167 ltmain.sh Makefile.am; you don't need 168 configure to re-generate them, just 169 install-sh run the configure script 170 missing and type make and make install: 171 Makefile.in 172 depcomp ./configure --with-freetype 173 compile make 174 make install 175 176 177 dotar I use the dotar script to generate 178 dev/arch.txt all the packages; note that 179 dev/configure.ac the process is complicated 180 dev/exclude-all.txt since I support five quite 181 dev/exclude.txt different computers and I 182 dev/get-tutorial.sh wanted to know exactly what 183 dev/install-darwin.sh would be distributed; use 184 dev/man/* with caution; you probably 185 dev/mingw-build.atelnet won't be able to use the dotar 186 dev/_rpmmacros script without first 187 dev/sswf-fink.info editing it... 188 dev/sswf-irix.spec 189 dev/sswf-rpm.spec 190 191 192 sendall this is yet another of my 193 dev/sendweb scripts used to copy the 194 files around on my server 195 and on SourceForge; you 196 really don't need those, but 197 it could give you ideas to 198 look at them... 199 200 201 VC/rename_all.bat for Visual Studio users; 202 VC/sswf_grammar.h I put a few files you would 203 VC/sswf_grammar.c otherwise possibly have a 204 lot of trouble generating 205 (i.e. MS-Windows doesn't 206 offer bison); also there 207 is still the rename_all.bat 208 script to rename the .c++ 209 into .cpp 210 211 I don't otherwise maintain 212 compatibility with VisualStudio; 213 you can use MinGW instead which 214 has got a really friendly 215 license. 216 217 218 . Library files 219 220 include/sswf/libsswf.h the sswf library header file; 221 it defines all the publicly 222 available objects to create 223 a Flash movie 224 225 include/sswf/libsswf_as.h the Javascript assembler header file; 226 this can be re-used by other tools 227 than SSWF, libsswf_as does not 228 depend on anything from libsswf 229 230 include/sswf/libsswf_asas.h the Actionscript assembler header file; 231 this describes the objects used to 232 transform the tree generated by 233 libsswf_as into compiled code that 234 Flash understands 235 236 include/sswf/libsswf-config.h some system specific configuration 237 information; for instance, the 238 handling of wchar_t on RedHat 6.2 239 and RedHat 7.1 is dissimilar causing 240 warnings when "%lc" is used 241 242 include/sswf/libsswf-version.h the current version of the project 243 (which as you can see is kept in 244 a single place for ease of use) 245 246 src/lib/libsswf_file.c++ implementation of a file object 247 for the sswf library 248 249 src/lib/libsswf_memory.c++ implementation of the memory 250 manager - mainly used to not 251 have to free each allocated 252 buffer by hand, it's automated 253 in this way (like a memory pool) 254 255 src/lib/libsswf_tags.c++ implementation of all the SWF 256 format tags up to Flash 7.0 257 258 src/lib/libsswf_util.c++ some low level utility functions 259 260 src/lib/libsswf_vectors.c++ implementation of an array object 261 to have lists or sequences of 262 tags 263 264 265 266 . Scripting SWF tool 267 268 src/sswf/sswf.h the SWF scripting tool only include 269 file; we may want to have some 270 config.h at some point 271 272 src/sswf/sswf.c++ the SWF scripting tool; it will 273 be used to parse a script and 274 assemble a Flash file from it 275 276 src/sswf/sswf_grammar.y the grammar in YACC syntax for the 277 SWF scripting language. Note that 278 it is very clean since there are 279 no uncontrolled conflicts 280 281 src/sswf/sswf_lexical.c++ the lexical in C++ syntax for the 282 SWF scripting language; this is 283 a faster & Unicode version 284 285 src/sswf/sswf_memory.c the memory allocator/desallocator 286 for the sswf.c++ tool (because it 287 uses some standard C programming 288 it couldn't use the C++ version...) 289 290 src/sswf/sswf_node.c the grammar generates a tree of 291 nodes which are managed by this 292 file; it includes the code to 293 execute the resulting tree and 294 generate data ready for the 295 output file 296 297 src/sswf/sswf_save.c++ transform the sswf_node.c data 298 in a set of tags from 299 libsswf_tag.c++ then save the 300 result in a file 301 302 303 304 . Some default scripts 305 306 NOTE: these scripts are in /usr/share/sswf/scripts once installed 307 using the configure script; whereas, when using amake, you 308 do get them in /usr/include/sswf 309 310 include/sswf/scripts/color.sswf 311 the color library coming with 312 the sswf tool 313 314 include/sswf/scripts/flags.sswf 315 a set of international and 316 state flags; additions welcome 317 318 include/sswf/scripts/origin.sswf 319 draw a vertical and horizontal 320 set of lines at the origin in 321 a sprite (ie. shows the rotation 322 center); this has bee superseeded 323 by the SHOWORIGIN flag available 324 in the SHAPE object 325 326 include/sswf/scripts/fonts/font-fotinos.sswf 327 this is a yet incomplete font 328 one can use to draw (very) small 329 prints; using a larger true type 330 font will usually fail as it 331 blurs the characters too much 332 (note that in V1.7.0 you will 333 be able to use the SmallFont 334 flag of the text) 335 336 include/sswf/scripts/fonts/font-blue_highway-condensed.sswf 337 an attempt of the ft2sswf tool; 338 this is a complete Blue Highway 339 font (in Unicode format with 202 340 characters available) 341 342 include/sswf/scripts/fonts/larabie-font_read_me.txt 343 the license for the Blue Highway 344 font (and maybe other fonts when 345 I finally add them!) 346 347 348 349 . The dump tool 350 351 src/tools/swf_dump.c a standalone dumping tool for 352 the SWF format; it doesn't 353 require the sswf library so 354 results can actually be compared 355 in order to validate the library 356 357 . The ft2sswf tool 358 359 src/tools/ft2sswf.c a standalone tool which takes 360 a font file (such as a TrueType 361 or a Postscript font) and 362 transforms it in a text file 363 (an sswf) which can later be 364 compiled in a Flash movie with 365 sswf 366 367 . The samples 368 369 NOTE: the amakefile doesn't install these samples; the configure 370 script generates rules to install these samples in the 371 directory: /usr/share/sswf/samples 372 373 samples/README.txt describes how to use the samples 374 375 samples/check_version/* a small sample to print out the 376 SSWF library version 377 378 samples/dyn-button/* files related to the dynamic button 379 sample; it enables you to create a 380 button of different sizes with a 381 text you can change in your HTML 382 file instead of the movie itself 383 (also you can change the background 384 color & HREF) 385 386 samples/logo/* this is the SSWF "logo" without 387 anything moving; it can be useful 388 to get a static grab of the SSWF 389 image 390 391 samples/morph/* the circle morphing to a square 392 sample at a linear and non-linear 393 speed 394 395 samples/new-anim/* files related to the NEW animation 396 as seen on the SSWF web page; it 397 includes a set of "complex" action 398 scripts 399 400 samples/news-samples/* I wrote an article for a magazine 401 named "Software 2.0 Extra!"; the 402 samples are all working samples 403 which you will find in this folder; 404 these are all C++ samples using 405 the library 406 407 samples/scroller/* the scroller animation is used to 408 print out a long message which 409 will be scrolled; you can select 410 a speed and how long the scroll 411 will take 412 413 samples/showfont/* tool used to create a table of 256 414 characters (ASCII) in order to show 415 an entire font in a Flash movie; 416 this sample uses XML tags and auto- 417 generates the necessary HTML page 418 for test purposes 419 420 samples/sun-flower/* a sample showing how you can 421 draw an image in Flash; this 422 one even shows how you can 423 apply a mask (transparency) to 424 your images 425 426 samples/web-site-anim/* the moving SSWF "logo" (nothing 427 official yet!) as seen on the SSWF 428 web page; it was a V3.x Flash 429 movie before I added a sound effect 430 which bumped the version of a 431 V5.x Flash movie 432 433 434 435 . Miscellaneous files 436 437 misc/sswf.vim the syntax file for GVIM 438 439 misc/xswf.vim the syntax file for GVIM, this 440 is used for tests which include 441 some XML like tags 442 443 misc/package_creation_date.txt information about when, how and 444 by whom the package was created 445 446 src/misc/notes-to-html.c a small tool which converts the text 447 notes in a 95% proper HTML file 448 (yes! there's still a few quirks) 449 you don't need this to compile and/or 450 use the SSWF tools and library 451 452 453 454The requirements are as follow: 455 456(a better list will be available on the web site) 457 458 NOTE: only one of gnumake or amake is required 459 460 gnumake the standard make on many Unix 461 machines these days; v3.79.1 462 works well with the Makefile's 463 generated by the configure 464 script 465 466 amake the Alexis Make in order to use 467 the default amakefile; you can 468 recreate the Makefile's with 469 configure otherwise; AMake 470 v2.10.9 or better on IRIX, MinGW 471 and Linux and v2.10.19 on Mac OS/X; 472 this is available on sourceforge 473 474 http://amake.sourceforge.net 475 476 (I didn't put v2.10.19 yet, if 477 you need it right now, email me!) 478 479 480 libz.so any version (works with v1.1.3) 481 482 gcc/g++ works with version v2.91.66 and 483 better; this varies depending 484 on the system on which you are 485 compiling 486 487 libjpeg.so any version (works with version v6.2) 488 489 bison works with version v1.28; it may 490 work with a regular yacc without 491 changing anything; there has been 492 problems reported with v1.29 on 493 Mac OS/X 494 495 freetype.so works with version v2.1.2; you 496 need to install it if you don't 497 have it yet; it is available on 498 source forge as well; see here: 499 500 http://freetype.sourceforge.net/ 501 502 note that this is only required 503 by the ft2sswf tool; you can 504 still use sswf without having 505 the freetype library 506 507 iconv works with version libc v2.3.2 508 under Linux; works with v1.8 under 509 MinGW; works with Darwin iconv 510 version 2.2.0; works with IRIX 6.5 511 which also has iconv in libc 512 513