

    NOTE:	The amakefile works under Linux, IRIX and
		Mac OS/X (you need amake to use it).

		The dosamakefile works under MinGW 3.3 and should
		work under newer versions too (in an MS-DOS window).

		Since version 1.6.2 there is a configure script
		which will generate Makefile's as required, in
		case you'd rather use make. The configure script
		is most certainly not perfect, but I'm enhancing
		it as it goes.

		With the configure script it should compile under
		BSD, SunOS, Solaris, HP-UX, AIX, etc. Let me
		know if you have any success on these systems
		and whether you had to change anything in the
		code (patches?) to make it work. Thanks!

		I hope you will enjoy the new structure of the
		project.

		Comments welcome!




This README.txt file is part of the sswf package. The following
are the files which are currently part of this package:

 . Informational Files

	README.txt			information about this package

	doc/INSTALL.txt			read this for some info on how
					to compile and install the
					SSWF package

	doc/INSTALL-<sys>.txt		if you have a system or can
					use a package named <sys> you
					certainly want to read that
					file to have some more info
					specific to your system.

	doc/LICENSE.txt			the license information for
					this project. PLEASE READ!

	doc/AUTHORS.txt			the list of authors who have
					helped on the project

	doc/TODO.txt			the things which still need to
					be done in this project

	doc/ASC-TODO.txt		what's left to do in the javascript
					compiler and Flash assembler

	doc/CHANGES.txt			the changes made to the library,
					tools, etc.

	doc/NOTES.txt			a quick description of the SSWF
					package

	doc/LINKS.txt			links to other SWF resources as
					others and I have gathered on
					the internet



 . Documentation files

	doc/html/index.html		index to the following HTML files

	doc/html/asc.html		a brief description of the sswf
					actionscript compiler, how to use
					it and what is supported/not
					supported and about my special
					extensions

	doc/html/ActionScript.html	the document I wrote before I
					started on the compiler to know
					where I needed to go... I will
					most certainly not finish it

	doc/html/ecma262-?.pdf		different revisions of the
					ECMA 262 language (what most people
					call Java Script now)

	doc/html/SWFalexref.html	a reference to the SWF format
					rewritten from the OpenSWF
					files and many dump of many
					Flash movies!

	doc/html/ScriptSWF.html		a reference to the 'sswf' tool

	doc/html/SWF-library.html	a complete document about the
					SSWF library with all the objects
					and their functions described

					[not finished yet]

	doc/html/sswf.html		sswf manual transformed in an
					HTML document

	doc/html/ft2sswf.html		ft2sswf manual transformed in
					an HTML document

	doc/html/swf_dump.html		swf_dump manual transformed in
					an HTML document

	doc/html/jpg2swf.html		jpg2swf manual transformed in
					an HTML document

	doc/html/images/*		images used in the different
					documentations

	doc/html/tutorial/index.html	a tutorial about where to start
	doc/html/tutorial/*		with the SSWF compiler

	doc/man/man1/*			manual pages of the different
					tools



 . Build files

	amakefile			used with amake to create the
					libraries and tools

	dosamakefile			used with amake under MS-Windows
					to create the libraries and tools;
					you will need to have MinGW installed
					and the MinGW bin directory in your
					PATH variable since it uses Unix
					like commands to work

	dosamakefile.cl			used with amake under MS-Windows
					to test the compilation with cl
					(the Microsoft C++ compiler)

	configure.ac			configuration file for automake
	dev/configure.ac		the configure.ac in the dev
					sub-directory has <VERSION>
					instead of the actual version
					number; this is automatically
					changed by the dotar script
					and the result is saved in
					the main folder

	Makefile.am			automake Makefile description
					you will find one of these per
					directory as required

					to use those, type:

					  autoreconf -i -f -v
					  ./configure --with-freetype
					  make
					  make install

					depending on your system the
					flags/options may change

	aclocal.m4			all of these files are created
	config.guess			by the autoreconf tool from
	config.sub			the configure.ac and
	ltmain.sh			Makefile.am; you don't need
	configure			to re-generate them, just
	install-sh			run the configure script
	missing				and type make and make install:
	Makefile.in
	depcomp				  ./configure --with-freetype
	compile				  make
					  make install


	dotar				I use the dotar script to generate
	dev/arch.txt			all the packages; note that
	dev/configure.ac		the process is complicated
	dev/exclude-all.txt		since I support five quite
	dev/exclude.txt			different computers and I
	dev/get-tutorial.sh		wanted to know exactly what
	dev/install-darwin.sh		would be distributed; use
	dev/man/*			with caution; you probably
	dev/mingw-build.atelnet		won't be able to use the dotar
	dev/_rpmmacros			script without first
	dev/sswf-fink.info		editing it...
	dev/sswf-irix.spec		
        dev/sswf-rpm.spec		


	sendall				this is yet another of my
	dev/sendweb			scripts used to copy the
					files around on my server
					and on SourceForge; you
					really don't need those, but
					it could give you ideas to
					look at them...


	VC/rename_all.bat		for Visual Studio users;
	VC/sswf_grammar.h		I put a few files you would
	VC/sswf_grammar.c		otherwise possibly have a
					lot of trouble generating
					(i.e. MS-Windows doesn't
					offer bison); also there
					is still the rename_all.bat
					script to rename the .c++
					into .cpp

					I don't otherwise maintain
					compatibility with VisualStudio;
					you can use MinGW instead which
					has got a really friendly
					license.


 . Library files

	include/sswf/libsswf.h		the sswf library header file;
					it defines all the publicly
					available objects to create
					a Flash movie

	include/sswf/libsswf_as.h	the Javascript assembler header file;
					this can be re-used by other tools
					than SSWF, libsswf_as does not
					depend on anything from libsswf

	include/sswf/libsswf_asas.h	the Actionscript assembler header file;
					this describes the objects used to
					transform the tree generated by
					libsswf_as into compiled code that
					Flash understands

	include/sswf/libsswf-config.h	some system specific configuration
					information; for instance, the
					handling of wchar_t on RedHat 6.2
					and RedHat 7.1 is dissimilar causing
					warnings when "%lc" is used

	include/sswf/libsswf-version.h	the current version of the project
					(which as you can see is kept in
					a single place for ease of use)

	src/lib/libsswf_file.c++	implementation of a file object
					for the sswf library

	src/lib/libsswf_memory.c++	implementation of the memory
					manager - mainly used to not
					have to free each allocated
					buffer by hand, it's automated
					in this way (like a memory pool)

	src/lib/libsswf_tags.c++	implementation of all the SWF
					format tags up to Flash 7.0

	src/lib/libsswf_util.c++	some low level utility functions

	src/lib/libsswf_vectors.c++	implementation of an array object
					to have lists or sequences of
					tags



 . Scripting SWF tool

	src/sswf/sswf.h			the SWF scripting tool only include
					file; we may want to have some
					config.h at some point

	src/sswf/sswf.c++		the SWF scripting tool; it will
					be used to parse a script and
					assemble a Flash file from it

	src/sswf/sswf_grammar.y		the grammar in YACC syntax for the
					SWF scripting language. Note that
					it is very clean since there are
					no uncontrolled conflicts

	src/sswf/sswf_lexical.c++	the lexical in C++ syntax for the
					SWF scripting language; this is
					a faster & Unicode version

	src/sswf/sswf_memory.c		the memory allocator/desallocator
					for the sswf.c++ tool (because it
					uses some standard C programming
					it couldn't use the C++ version...)

	src/sswf/sswf_node.c		the grammar generates a tree of
					nodes which are managed by this
					file; it includes the code to
					execute the resulting tree and
					generate data ready for the
					output file

	src/sswf/sswf_save.c++		transform the sswf_node.c data
					in a set of tags from
					libsswf_tag.c++ then save the
					result in a file



 . Some default scripts

	NOTE:	these scripts are in /usr/share/sswf/scripts once installed
		using the configure script; whereas, when using amake, you
		do get them in /usr/include/sswf

	include/sswf/scripts/color.sswf
					the color library coming with
					the sswf tool

	include/sswf/scripts/flags.sswf
					a set of international and
					state flags; additions welcome

	include/sswf/scripts/origin.sswf
					draw a vertical and horizontal
					set of lines at the origin in
					a sprite (ie. shows the rotation
					center); this has bee superseeded
					by the SHOWORIGIN flag available
					in the SHAPE object

	include/sswf/scripts/fonts/font-fotinos.sswf
					this is a yet incomplete font
					one can use to draw (very) small
					prints; using a larger true type
					font will usually fail as it
					blurs the characters too much
					(note that in V1.7.0 you will
					be able to use the SmallFont
					flag of the text)

	include/sswf/scripts/fonts/font-blue_highway-condensed.sswf
					an attempt of the ft2sswf tool;
					this is a complete Blue Highway
					font (in Unicode format with 202
					characters available)

	include/sswf/scripts/fonts/larabie-font_read_me.txt
					the license for the Blue Highway
					font (and maybe other fonts when
					I finally add them!)



 . The dump tool

	src/tools/swf_dump.c		a standalone dumping tool for
					the SWF format; it doesn't
					require the sswf library so
					results can actually be compared
					in order to validate the library

 . The ft2sswf tool

	src/tools/ft2sswf.c		a standalone tool which takes
					a font file (such as a TrueType
					or a Postscript font) and
					transforms it in a text file
					(an sswf) which can later be
					compiled in a Flash movie with
					sswf

 . The samples

	NOTE:	the amakefile doesn't install these samples; the configure
		script generates rules to install these samples in the
		directory: /usr/share/sswf/samples

	samples/README.txt		describes how to use the samples

	samples/check_version/*		a small sample to print out the
					SSWF library version

	samples/dyn-button/*		files related to the dynamic button
					sample; it enables you to create a
					button of different sizes with a
					text you can change in your HTML
					file instead of the movie itself
					(also you can change the background
					color & HREF)

	samples/logo/*			this is the SSWF "logo" without
					anything moving; it can be useful
					to get a static grab of the SSWF
					image

	samples/morph/*			the circle morphing to a square
					sample at a linear and non-linear
					speed

	samples/new-anim/*		files related to the NEW animation
					as seen on the SSWF web page; it
					includes a set of "complex" action
					scripts

	samples/news-samples/*		I wrote an article for a magazine
					named "Software 2.0 Extra!"; the
					samples are all working samples
					which you will find in this folder;
					these are all C++ samples using
					the library

	samples/scroller/*		the scroller animation is used to
					print out a long message which
					will be scrolled; you can select
					a speed and how long the scroll
					will take

	samples/showfont/*		tool used to create a table of 256
					characters (ASCII) in order to show
					an entire font in a Flash movie;
					this sample uses XML tags and auto-
					generates the necessary HTML page
					for test purposes

	samples/sun-flower/*		a sample showing how you can
					draw an image in Flash; this
					one even shows how you can
					apply a mask (transparency) to
					your images

	samples/web-site-anim/*		the moving SSWF "logo" (nothing
					official yet!) as seen on the SSWF
					web page; it was a V3.x Flash
					movie before I added a sound effect
					which bumped the version of a
					V5.x Flash movie



 . Miscellaneous files

	misc/sswf.vim			the syntax file for GVIM

	misc/xswf.vim			the syntax file for GVIM, this
					is used for tests which include
					some XML like tags

	misc/package_creation_date.txt	information about when, how and
					by whom the package was created

	src/misc/notes-to-html.c	a small tool which converts the text
					notes in a 95% proper HTML file
					(yes! there's still a few quirks)
					you don't need this to compile and/or
					use the SSWF tools and library



The requirements are as follow:

(a better list will be available on the web site)

  NOTE: only one of gnumake or amake is required

	gnumake				the standard make on many Unix
					machines these days; v3.79.1
					works well with the Makefile's
					generated by the configure
					script

	amake				the Alexis Make in order to use
					the default amakefile; you can
					recreate the Makefile's with
					configure otherwise; AMake
					v2.10.9 or better on IRIX, MinGW
					and Linux and v2.10.19 on Mac OS/X;
					this is available on sourceforge

					  http://amake.sourceforge.net

					(I didn't put v2.10.19 yet, if
					you need it right now, email me!)


	libz.so				any version (works with v1.1.3)

	gcc/g++				works with version v2.91.66 and
					better; this varies depending
					on the system on which you are
					compiling

	libjpeg.so			any version (works with version v6.2)

	bison				works with version v1.28; it may
					work with a regular yacc without
					changing anything; there has been
					problems reported with v1.29 on
					Mac OS/X

	freetype.so			works with version v2.1.2; you
					need to install it if you don't
					have it yet; it is available on
					source forge as well; see here:

					  http://freetype.sourceforge.net/

					note that this is only required
					by the ft2sswf tool; you can
					still use sswf without having
					the freetype library

	iconv				works with version libc v2.3.2
					under Linux; works with v1.8 under
					MinGW; works with Darwin iconv
					version 2.2.0; works with IRIX 6.5
					which also has iconv in libc

