1This file is part of the sswf library.
2
3This file includes the changes I think of
4writing down. Some bugs fixes may not appear if
5(1) they are not that relevent or (2) I work too
6fast and don't have the time to write down the
7changes here. It will get fix anyway!
8
9
10 o Feb 08, 2009 (1.8.4)
11
12Added support for internal ASC files. Now the compiler can be
13used with the libsswf_asc library that includes all the scripts
14defined under include/sswf/scripts. This way, you do not have to
15provide these text files to your users.
16
17In order to compile the sswf tool to use this new feature, use
18the --enable-internal-scripts flag on the configure script. By
19default, all the pre-compiled sswf files that I offer will not
20have that flag turned on.
21
22Fixed a bug in the complex package. One of the operation was
23wrong.
24
25
26 o Jan 03, 2008 (1.8.3)
27
28Fixed the compiler so enumeration names are taken as types.
29
30Fixed the xml.asc so it compiles. Also updated the XMLNode to the
31full Flash 8 definition.
32
33Fixed the assembler that would not properly set the value in
34an array. There were two swaps missing.
35(i.e. "a[expr] = b;" now works)
36
37Fixed the src/misc/Makefile.am so the libsswf_c is linked with
38../lib (where the libsswf is found.) Somehow, it works fine
39under Linux but not exaclty well in cross-compiling with mingw32
40
41Fixed small mistakes in different documentations.
42
43
44
45
46 o Jul 11, 2007 (1.8.2)
47
48Fixed a really bad bug with the TEXT node in sswf. This one would
49not save the string properly unless it was the very first but it
50cannot since you need to specify the text setup. So... you could
51not really use it anymore!
52
53Added some static_cast<> to make double's int's before changing them
54to enumerations to please g++ 3.3.5. (Problem reported by Robert)
55
56Added support for the CSM Text Settings tag in SSWF.
57Updated the corresponding documentation.
58
59Fixed a bug in the button because if no actions are defined we would
60not save the ActionEnd.
61
62Fixed the saving of the TagShape when saving a morph shape. The
63shape4 flag was not properly initialized.
64
65Fixed several things in HTML documents (particularly, switched from
66using IDs to CLASSes for much better correctness.) Fixed a few
67gramatical errors.
68
69Included a new sample: the clock by bi.
70
71Moved the SSWF website to Made to Order Software Corporate website.
72
73Fixed a bug with 64bit CPU running in big endian. The PUSH DATA
74and IMAGE FORMAT were using an enum (32 bits) that was saved as
75a long (64 bit) by the node code. This would make the enum value
76look like zero instead of the correct value in the save code.
77
78Fixed a bug with 64bit CPU running in big endian. The PUSH DATA
79library implementation would save double's swapped as if always
80in little endian. Now the endianness is taken in account.
81
82Added support to assemble fscommand() as a geturl(). And made
83the geturl() an internal function (though, it sounds like this
84may not be a good idea.)
85
86Updated the library VC project so it includes all the new files.
87(Reported by Lise)
88
89Got an SSWF RPM package for the Z-Series computers (for an s390x
90processor, a big endian 64bit CPU!) The computer was running
91Suse 10 SLES.
92
93
94
95
96 o May 14, 2007 (1.8.1)
97
98Added the TagProductInfo in the library and the sswf tool which
99now saves its version information (this forces a version 3 movie...)
100
101Added the TagBinaryData in the library. Not tested!
102
103Added support in the swf_dump tool for the TagProductInfo.
104
105Added the TagDefineShape4 and Enhanced Line style (LINE2) with the
106Focal Gradient in sswf & swf_dump.
107
108Added support for the DefineFont3 tag.
109
110Added support for the AlignFontZones tag.
111
112Added support for the CSMTextSettings tag.
113
114Added much more documentation.
115
116Added much more and better error handling in the library.
117
118Added the Scene Frame Data tag.
119
120Fixed cpp-to-c++ to support [u]int64_t which is required for V8+.
121
122Fixed some of the import features so it does not crash for sound.
123I still have to work on the font...
124
125Fixed the export feature in regard to fonts so it exports the
126entire font (by default) or the specified glyphs.
127
128
129
130 o Oct 12, 2006 (1.8.0)
131
132Fixed the different tags which require a long tag definition
133(i.e. Lossless, JPEG and StreamBlock.) Small images & sound
134blocks would otherwise not work (go figure!)
135
136Fixed the documentation about the DefineScalingGrid since
137there are many restrictions. I successfully tested with a
138button. You can find the example in samples/grid-button/*.
139
140Fixed the C library version so it has its own and does not
141share the version from the C++ library. The C library will
142be very much more stable than the C++ library. A change in
143the C++ library will require a recompiling of the C library,
144but the C library interface will certainly not change as
145much (thought both changed in this version already!)
146
147Fixed the C sample so it actually uses gcc and not g++.
148This shown a bug with the amakefile which linked using
149$(LD) instead of $(CXX)... and gcc does not like it.
150
151Fixed all the sample HTML files so there is no align="left"
152or align="center" parameter for the flash animation. That
153causes problems on some browsers (notably, Mozilla under
154Debian with Flash player 7, Firefox has been reported to
155have that problem too.) I had fixed the website but it
156looks like the samples had not been fixed yet.
157
158Fixed the cpp-to-c tool to avoid emitting the many useless
159casts it generated before. This makes the code much easier
160to compile on newer versions of g++ (especially version 4.1)
161
162Fixed the State class so it includes a set of well defined
163flags and not just an unsigned char and good luck!
164
165Fixed the loading of 32 bits targas according to what the
166Gimp saves. That is the format is expected to be BGRA and
167not ABGR (I'm not totally sure this is correct; if you have
168an image which doesn't work anymore, let me know! it could
169be that the flag 3 of the header indicates where the alpha
170is found...)
171
172Fixed the extraction of lossless images saved in XRGB. The
173extraction to targa images works properly now (i.e. takes
174the X component in account.) Also, the extraction of ARGB
175was fixed too. It saves the components at the right place.
176
177Fixed the extraction of lossless images with a colormap
178and no alpha channel in swf_dump. The width was improperly
179handled.
180
181Fixed the TagProtect. Not like anyone was using it much,
182but it seemed normal to fix it anyway... Two important bugs:
183(1) it would let you save the protect tag of your choice, now
184it uses the one you are supposed to use depending on the
185version you're using and (2) I really save the password
186supposed to be saved and not the wrong string (I suppose
187the old version could have crashed.)
188
189Fixed the TagBaseID::NoIdentification(). Now the f_id variable
190member is set to SSWF_ID_NONE so it is not possible to find
191that tag instead of another! Also, the SaveID() will fail
192whenever the identification was released.
193
194Added the TagScalingGrid object to save scaling grids in
195version 8 movies. You cannot directly access this tag. Instead
196you must create a TagButton or TagSprite and define the grid
197on these objects. SSWF does the rest for you.
198
199Added a fix to the FSCommand2 in the doc/html/SWFalexref.html
200as described by Ammar Mardawi. He tested and could describe
201how to use that action.
202
203Ameliorated the Implements action documentation to include
204an example of what you need to do to make it work. You can
205always look inside the src/libasas/assembler.c++ for more
206info about the other object actions.
207
208Added the generation of manual pages (man3) for the SSWF
209library. Many things are not so good, but it's a start.
210
211More fixes to the Fink info file to try to enter fink.
212
213Added the C samples to the amakefile sample test.
214
215Fixed the dotar so the fink info file has a version.
216
217Fixed the ActionTry by adding the GetMaxRegister() function.
218It needed to check all the sub-actions for the largest
219register number.
220
221Fixed a bug in the ft2sswf tool where a string named mbs
222could be used before being defined.
223
224"Fixed" the code so it compiles at once with Visual Studio
225version 8 (Express Version).
226
227Added the projects and solution working with VC8. These
228are under VC\sswf\* -- older versions of VC may not work
229as is with this code. At this time, you can download VC8
230for free, including the IDE, from here:
231
232http://msdn.microsoft.com/vstudio/express/visualc/default.aspx
233
234You still need to have MinGW for the JPEG, PNG, Z and IConv
235libraries.
236
237Changed a variable called mbs in ft2sswf.c to allocate the
238buffer instead of using a buffer on the stack with MS-Windows.
239The problem is that the size is defined in a variable in
240Windows (instead of a simple #define number.) The Unix version
241is unchanged.
242
243Moved the blend_mode_t from the TagPlace to a separate class
244named BlendMode so it can be reused by the State as well as
245the TagPlace classes. There is a new file (libsswf_blendmode.c++)
246
247Added support for a blend mode in a State.
248
249Fixed a bug in the TagEnd which would increase the number of
250frames by one even when that tag was preceeded by a TagShowFrame.
251In this special case, the TagEnd does not count as an extra
252frame!
253
254Added the ErrorManager to generate errors from anywhere in
255the library. Added error support to the different save functions.
256Expect only a few changes to your code if you were using these
257in your code. Mainly one class to catch the errors and check the
258result of the Save() function against the different errors to
259know what to do next.
260
261Tweaked the configuration and libraries in an attempt to get DLLs
262under MS-Windows (for the SSWF, ActionScript and Assembler libs.)
263
264Fixed dotar so it does not delete the entire package directories
265when building a new set of packages. This means it keeps the
266repository directory (i.e. .svn in my case.)
267
268Fixed 4 Makefile.am so the $(top_dir)/include does not end with
269a slash. That was making the make fail under MSYS.
270
271Added the missing .pc files for the libraries.
272
273Changed the dotar to take additional changes in account. The
274source package is now created after the destination receives
275all the additions I want in that package (i.e. grammar C source
276and header, authors, change log, etc.)
277
278Removed the linking with gcc 3.4 from dotar. The Debian and
279Slackware packages now include the gcc 4.1 binaries.
280
281Enhanced the swap() function so it swaps using 64 bits values
282on 64 bits processors. Also, fixed the different casts.
28364 bits enhancements by Fabio A. Correa <facorread at gmail>
284
285Fixed several static const variable members names from f_...
286to g_... (important for my editor with colors.)
287
288Fixed the TagButton so the set of condition flags which are
289valid for a button are being checked. If flags for a TagPlace
290are specified, the PreSave() function generates an error.
291
292Fixed the AddEvent() functions of the TagButton and TagPlace to
293check that none of the flags of the other is set. Thus you get
294an error at that time and the offensive events are not added to
295the object. (That is, you can modify the event after adding it
296so this is not a 100% safe test!)
297
298Fixed ColorTransform::IsSolidCompatible() so it first transforms
299the color to an 8.8 fixed point value. Also, fixed the
300ColorTransform::IsNull() function so it transform to an 8.8 fixed
301point instead of a 16.16 fixed point value. That may help a very
302little in optimizing some movies.
303
304Fixed the Matrix::IsNull() and comparison operators to test the
305matrix using 16.16 fixed points instead of testing the doubles
306directly. This means many more matrices will appear as being
307null, equal or inequal and thus more optimizations will happen.
308
309Added a doxygen documentation of the library.
310
311
312
313
314
315
316
317 o May 29, 2006 (1.7.5)
318
319The license was transfered from Made to Order Software, Ltd
320to Made to Order Software Corp.
321
322Straighten the version controls from the SSWF main sequence.
323Before you had a maximum_version variable you could use to
324force a very specific version. Now you can define a range
325within which you want your movie to be saved with the
326minimum_version and maximum_version variables. And you can
327also use the version variable to force a specific version
328(what the maximum_version was doing before!)
329
330Fixed the file names in many of the libsswf_tag_<name>.c++
331files.
332
333Added the tool src/misc/cpp-to-c.c++ used to generate a
334C library to access the SSWF library directly from C.
335This generates the include/sswf/libsswf-c.h header and
336the lib/libsswf_c* libraries (one static and one shared.)
337I'm glad I didn't type that by hand. It's a total of 3975
338lines at time of writing and some lines are really long!
339(175650 bytes in size.) It will certainly change by the
340time I publish since I need to make everything compile
341on all systems now! (It processes 54 classes, 436 functions,
3424 structures, 18 enumerations)
343
344I copied the simple news sample (samples/news-samples/simple*)
345to a C directory (smaples/c-samples) and made it compile with
346the new C library. This shown me that 5 functions declared
347in the libsswf.h file were not implemented (and actually totally
348unused and not necessary!) So I removed those and for C
349programmers you have a working sample!
350
351I added an option on the configure command line to enable
352the building of the cpp-to-c tool (i.e. --enable-cpp-to-c)
353By default this is off since the tarball comes with
354pre-generated files which should be sufficient.
355
356I made the notes-to-html (and cpp-to-c as I was at it)
357non-installed tools since these are really only for the
358package and not for general install.
359
360Added the samples and misc directories to share/sswf
361under MinGW (binary package).
362
363Added proper support for the libraries to have a
364system version. We'll be at 1:0:0 for version 1.7.5.
365
366I moved a few more files around in the fink package.
367You shouldn't have to worry about that on your end.
368What has dramatically changed is the versioned name
369of the dynamic library. Yet, if you just link with
370"-lsswf" it will be totally transparent to you.
371
372Fixed the .dmg file for Mac users by:
373
3741. moved the documentation in
375
376   /usr/share/doc/sswf-<version>/...
377
3782. added the version/release to the libraries
379(test with: otool -L <lib>)
380
3813. added links for the libraries (that will be used
382by other packages too!) so you can have different
383versions installed
384
385Updated the SWFalexref.html reference to include
386version 8 and fix many things which had not been
387reviewed in a while.
388
389Updated the TagHeader to automatically save the
390required TagFileAttributes (i.e. whenever you
391save a movie version 8 or more that is.) Note that
392you cannot directly create such a tag, the TagHeader
393creates it automatically if you save a version 8 or
394better movie.
395
396Updated the TagHeader to catch unicity errors for
397the JPEGTables and Metadata tags.
398
399Fixed the TagImport so it properly saves a TagImport2
400in a movie version 8. This is important according to
401Macromedia. You cannot choose which tag to save. If
402your movie version is 7 or less, TagImport is used.
403When the version is 8 or more, TagImport2 is used.
404
405Added support in sswf to turn ON or OFF the use of
406the network in locally played movies. This is done
407either on the command line (-n, --use-network or
408--no-network) or in the main sequence
409(use_network = true | false).
410
411Since the addition of that use_network flag, I added
412that flag in all the samples which all want to have
413the flag set to true (none of my samples currently
414include a version 8 movie and thus you'd otherwise get
415a warning when compiling them.)
416
417
418
419 o Nov 3, 2005 (1.7.4)
420
421Added the __FILE__ and __LINE__ special keywords.
422These are transformed in the Lexer and thus are
423directly viewed as a String and an Integer for
424the rest of the compiler and assembler functions.
425
426Fixed the CheckFunctionWithParams() function which
427would force you to have a parameter for the rest
428(...) of a function.
429
430Fixed the documentation saying "pragma ..." in
431"use pragma ..." instead.
432
433Added the fink .info file to the list of packages
434so people can directly download it from SourceForge
435and thus they won't have to try to find it in fink
436(which can be a problem until the fink people put
437it up).
438
439Also, fixed the .info very much so it includes all
440the necessary documentations in all packages, created
441a -bin package, added the missing javascript libraries
442in the -shlib, moved the actual HTML and image files
443of the documentation in the right package.
444
445Added the missing EVENT_CONSTRUCT in the PlaceObject2
446event (V7 flag). Adjusted the code to test for that flag
447and mark the event as a V7 flag.
448
449Fixed an error in the error handling which wouldn't
450increase the error counter.
451
452Removed the "auto-import" feature for packages defined
453in the same program as some other code.
454
455Added a compile of the javascript packages which are
456imported.
457
458Fixed a Set() of the type of a function parameter so
459it doesn't happen twice (and in debug make sure the
460type doesn't change between calls.)
461
462Fixed the global .asc files so operators don't reference
463the same parameter name twice.
464
465Updated the SEQUENCE and Grammar in the ScriptSWF.html
466documentation.
467
468Added the FSCOMMAND2 action in SSWF. (no action script
469yet). It is described as a Flash Lite 1.1 action so
470it certainly won't work with version 7, but it should
471be included in version 8 of Flash. If you know anything
472about the parameters, let me know. Thank you.
473
474Fixed a bug in the PreSave() function of the PlaceObject
475which would use the wrong version as the minimum (it
476often would be equal to the largest version already).
477
478Added some support for the PLACEOBJECT3 tag. It supports
479blending mode and bitmap caching flag. Still missing are
480filters and parenting.
481
482Added extern "C" {} around the #include grammar.h which
483is supposed to be C only and not C++. cl didn't like it.
484
485Added the missing action script StrictMode in the library.
486
487Added some code to better support the Javascript compiler
488under Windows (i.e. it will use the path of the tool in
489order to compute the path to the different header files)
490
491Fixed the errors under Win32 since whether we compile
492with VC or MinGW, the snprintf() functions do not work
493like under Linux! (is this BSD behavior or just Win32?)
494
495Fixed the NSIS installer so:
496
497  . the source code and samples go at the right place;
498  . the new tools are included (jpg2swf, asc);
499  . the installation includes the version and thus you
500    will be able to install multiple versions (1.7.4+)
501    and uninstall the one you want;
502  . install in a sub-directory named after the version
503    so the installation directory between multiple
504    versions doesn't affect the result.
505
506Fixed the RPM so the HTML documentation goes in
507/usr/share/doc/sswf-<version>/html instead of
508/usr/share/sswf/doc/html (release 3)
509
510The Linux On Power system I use to compile SSWF has
511changed to 64 bits. I made small tweaks to the environment
512to be able to compile. Namely, I added an LDFLAGS
513environment variable as follow:
514
515	export LDFLAGS=-L/usr/lib64
516
517otherwise it couldn't link with the stdc++ and JPEG
518libraries (libtool would generate the wrong command line.)
519
520I also added a flag to the configure --enable-rpm-docs
521to avoid installing the documentations in share/sswf/html
522but instead I put them in share/doc/sswf-<VERSION>/html
523and that's done with the %doc rather than the Makefile.
524
525Fixed the RPM by adding the misc directory to the RPM and
526the missing 'script/*/*.asc' files.
527
528Fixed the IRIX tardist which did not include the scripts.
529Also, I added the missing .so libraries.
530
531
532
533
534
535 o May 11, 2005 (1.7.3)
536
537Updated the NOTES.txt to reflect the new tools,
538new distributions, etc.
539
540Added the action script library (libas) and the
541asc tool to test the parser, compiler and
542optimizer. And of course, documented the whole lot.
543
544Added a library which takes a tree parsed & compiled
545with the libas library and transform it to a list of
546actions as understood by the sswf library.
547
548Made the actionscript keyword in sswf work. Note that
549at this time, it can't be used along action objects.
550(i.e. you either write your script with action objects
551or an action script). For instance, you can do this:
552
553	Do Action {
554		Action Script "MyTest" {
555			var a = "Hello World!";
556			my_sprite.text = a;
557		};
558	};
559
560Added a tool to create slideshows from JPEGs and
561Targa images with a simple command line. You can
562specify the background color, the rate of animation
563whether to play just once or loop forever and a
564few other things. This is mainly presented as a
565sample on how to use the library from your C++
566application. Includes a manual page.
567
568Fixed several entries in the documentation about
569Flash version 7 (Especially the DeclareFunction2
570action).
571
572Fixed the configuration files so the project
573can really be created in a seperate directory
574from where you extracted the tarballs.
575
576Fixed the test of the identifier so we are sure
577they only include uppercase letters or
578underscores.
579
580Fixed the TagEditText which wouldn't properly
581transform your UTF-8 input string in Unicode.
582This meant it would try to use your UTF-8
583string as an ISO-8859-1. This fixes the use of
584accentuated letters in the default (initial)
585value in the TagEditText entry.
586
587Updated the amakefile to support the two new libraries.
588Note that for Mac OS/X, the dynamic versions are bound
589to version 10.3+. The static libraries can be used with
590version 10.1.
591
592Similarly, the 'usedstring' and 'usedglyphs' entries
593as defined in the 'edit text' construct in the SSWF
594language can include Unicode characters.
595
596Fixed a signed char bug in the ft2sswf tool. This
597would transform characters 0x80 to 0xFF in a signed
598value between 0xFF80 and 0xFFFF.
599
600Fixed the dosamakefile.cl so I can really use it to
601test whether the code compiles with cl (the Microsoft
602C/C++ compiler). It will NOT build executables, only
603object files. It is up to you to make the link work.
604All I offer is a seemingly working compile.
605
606As I was at it, I fixed a few problems with some code
607in sswf which wasn't compatible with cl.
608
609Fixed the \<value> in the ft2sswf tool which would
610improperly accept the digits 8 and 9.
611
612Fixed the <EMBED> tags: removed the ALIGN="LEFT"
613attribute which causes problems in the FireFox
614browser.
615
616(Finally) Added links to the sourceforge.net download
617area along the FTP links in the list of source and
618binary files on the website.
619
620Updated the configure script and different Makefile.am
621to include the new ActionScript library and compiler.
622
623Fixed the swf_dump tool so if there is garbage after
624the END action, it is presented and it continues on
625properly.
626
627Fixed some error messages in the compiler.
628
629Fixed the AddRegister() function of the PushData action
630so we can add registers of any number (0 to 255) as
631supported in version 7.
632
633Fixed the swf_dump tool so it doesn't say that a
634register number is invalid if larger than 4 and we
635are within a function 2 body.
636
637Added support for direct frame numbers in the ActionGoto
638using the ACTION_GOTO_FRAME type. Use SetFrameName() with
639a string of digits only (0-9) representing the frame number
640you want to jump back to (anything else will make it fail
641to find a frame number and it will be taken as a tag name
642instead, as it was before.)
643
644Fixed SUBTRACT in the swf_dump tool (was SUBSTRACT.)
645
646Fixed the swf_dump tool so it can dump DefineButton2 tags
647which have absolutly no conditions. Updated the documentation
648in link with that special case.
649
650Fixed the swf_dump tool so actions starting at an offset
651other than zero in a tag reflect that specific offset.
652
653Added support to keep around the dicrectory strings so
654later references to the directory can be accompagnied by
655the actual string being referenced. This helps a lot in
656a dump session.
657
658Added a statistics so I know how long the dotar script
659takes to regenerate the packages. It takes quite some
660time! (8 minutes for all the Linux modules)
661
662Fixed a bug saving a second END actions at the end
663if the user already put his own END action.
664
665Fixed the wctomb() function in the sswf library. It
666would take one too many bytes from the input for
667characters using 3 or more bytes.
668
669Removed the samples/trail directory since it only
670contained a copy of the samples/new-anim code. The
671day I actually program this movie, I will put it
672back in the tree.
673
674And all these other things I forgot to write down...
675
676
677
678
679 o Jan 12, 2005 (1.7.2)
680
681Fixed an endian bug which prevented our Mac OS/X
682users from including wave files in their Flash
683animations.
684
685Added a few command lines in the dotar script to
686create a Slackware package. Note that the very first
687version was created by: William McCormick
688(http://www.pimpinlinux.com), if you have any problem
689with that package, please, contact him directly.
690See the INSTALL-SLACKWARE.txt file for more info.
691
692Removed the build dependency to flex in the Mac OS/X
693info file. We are not using flex anymore.
694
695Fixed the sprite so it can now include a sound info
696(in sswf, the library was already working fine.) Thus
697you can now start a sound effect from a sprite.
698
699Added some support to load and incorporate an MP3 file
700in your Flash animations. Note that the input MP3 file
701needs to be valid for a Flash animation. This means you
702need the correct mode and bitrate. MPEG 1.0 and 2.0
703Layer 3 are supported. Mono or stereo with or without
704CRC checks. Special thanks to Steve Crook who once
705again help in this project.
706
707Fixed several bugs with the loading of a Wave file.
708Especially, the input file wasn't being closed if the
709loading was successful.
710
711Fixed several problems with 64bits systens. The use
712of long can be a problem in some cases. Special thanks
713to Adam Polkosnik for finding these problems and fixing
714them.
715
716Fixed the Makefile.am in src/lib and src/sswf so you
717can run the configure script in a different directory
718than the directory were you extracted the software.
719This is useful so you can try multiple configuration
720flags in different directories (but watch out in case
721you want to install them all... you will need varying
722prefixes)
723
724Added a line of code to prevent creating a text without
725a color. This seems to be a problem in some circonstances.
726
727Added command line options to show where input files are
728being searched. So one can now use --show-input-filenames
729to know what files are loaded as input and --show-input-search
730to see the different directories where the files are being
731searched. You can still use the -I option to add search
732paths to sswf. Updated the sswf manual pages accordingly.
733
734Made some small changes to the dotar script so it is more
735usable (At least for me 8-). The options can now be specified
736in any order. The use of the words "packages" and "modules"
737has been straighten out.
738
739Split the huge libsswf_tags.c++ in a set of files such as
740libsswf_tag_base.c++. This doesn't make much difference in
741the library, just in the development, it will be a bit easier
742to find things. Also, once I program the Load() function, it
743will grow separate files instead of growing the libsswf_tags.c++
744file alone.
745
746Fixed the 'run' scripts for Unices so they (should) run from
747where they are being installed. At first they were created to
748run from withing the development environment using amake. Now,
749these should work on your system (RedHat, Debian, Slackware...)
750If you find out that it doesn't search in the right order or
751missed a directory from your system, please, let me know!
752
753Created a package for Linux on Power ppc64.
754
755Fixed a bug in the font for big endian machines. This would
756generate fonts which would crash the Macromedia player.
757
758
759
760
761 o Oct 05, 2004 (1.7.1)
762
763Fixed the Win32 link so it links with the static version
764of iconv as intended.
765
766Added a Win32 installer (a .exe file to run on your
767Windows box to install SSWF on your computer)
768
769Fixed the dotar so it can regenerate the Mac OS/X version
770properly (note also that you can't have SSWF already
771installed to re-gereneate the Mac OS/X modules).
772
773
774 o Oct 05, 2004 (1.7.0)
775
776Finally merged my work (since 2002!) so SSWF is fully
777Unicode compliant. Internally, the strings are managed
778as UTF-8. However, you now have the possibility to save
779a movie prior version 6 in any specified encoding and
780also the input files (the .sswf scripts) can be in
781pretty much any text format.
782
783Fixed the makefiles for the news-samples and the showfont
784so they run the commands using ./ in front of them instead
785of being as is.
786
787I enhanced the INSTALL*.txt documentation files.
788
789I fixed the rename_all script so it actually works (yeah...
790well... you know...) It uses \ instead of / and doesn't
791repeat the path in the 2nd part (it is a rename, not a
792move). And the result actually works. Note that I tried to
793compile the library with cl and it works also.
794
795The search for scripts is slightly different in that only
796ENOENT are accepted as an error to open a script. If any
797other error occurs, the search stops and an error is
798reported (thus files on an NFS network or read protected
799generate an error instead of being ignored).
800
801Changed the lexical to a C++ file (instead of flex) in order
802to handle any source format (UTF-8, UCS-2, UCS-4, etc.)
803Note that now an encoding must be specified in each .sswf
804file as in:
805
806	// encoding="utf-8"
807
808or
809
810	// encoding="iso_8859-9"
811
812Internally, all the characters are kept in UTF-8 until
813used by a font or some other such object and need to be
814converted to UCS-4.
815
816Changed the library to support UTF-8 when a V6.x movie is
817created.
818
819Added an output encoding (defaults to ISO_8859-1) which is
820used to convert strings when saving movies in V5.x or
821earlier. Note that if a string convertion fails, an error
822is reported.
823
824Enhanced the font support to include UCS-4 as the type for
825glyphs. The 16 higher bits are ignored when the final
826Flash movie is generated. At this time you should only us
827the first 65535 characters (0 is not allowed). Note that
828the use of 32 bits for characters ensures that the final
829file(s) can use any character as long as the player doesn't
830try to use an external font.
831
832I updated the README.txt file according to the many changes
833which occured in SSWF.
834
835Fixed the font character names which can now be normally
836specified with a single backslash as in "\x1ee" instead
837of the "\\x1ee". The old syntax is still supported.
838
839Fixed the font kerning information so two characters will
840properly be used (we use UCS-4 chars now).
841
842The TagFont accepts font names which starts with an
843underscore (_) as a direct font name and thus requests
844the final movie to be saved as a V6.x movie. Names
845such as _sans and _serif are direct names. You have
846several Western and Japanese names at this time.
847
848Fixed some error messages so these handle UCS-4
849characters on any system (at this time, we write ASCII
850or only the U+XXXX form).
851
852Added support for "\U+XXXX" in input strings. Note
853that to be conform it should only accept uppercase
854characters yet we do accept any case.
855
856Fixed the "\0???" which would add the character instead
857of the digit (forgot a <<... - '0'>>).
858
859For those who already downloaded a V1.7.0, this newer
860version includes a fix to the lexical. Commands such
861as: DO ACTION had to be written with a space with
862the first version. With this fix, like with the lex
863version, it can be written DOACTION as well. Note that
864there is one thing still unsupported: a keyword composed
865of more than 2 words need to either be written without
866any spaces or with all the necessary spaces. This means
867the following is acceptable: SET BACKGROUND COLOR
868and SETBACKGROUNDCOLOR; but the following won't work
869SETBACKGROUND COLOR and SET BACKGROUNDCOLOR.
870
871Made some fixes to the configure script (the JPEG
872library variable was improperly named when initialized.)
873Also added the required library iconv with the different
874"flavors" (i.e. whether it is iconv_open, libiconv_open
875and in -liconv or -lc).
876
877Fixed the Makefile.am in the src/lib directory which
878referenced the package version as is instead of as
879the macro: $(PACKAGE_VERSION).
880
881Added a Makefile.am in the doc directory so the HTML and
882Manual pages are automatically installed. Added a
883reference to the samples in the main Makefile.am so they
884too are automatically installed.
885
886Added the default include path to support Mac OS/X and
887the configure script under Linux too. Now the SSWF scripts
888will (by default) reside in /usr/local/share/sswf/script
889(NOTE: this is only if you use the configure script,
890the amakefile still installs in /usr/include/sswf/script)
891For Mac OS/X, it's in /sw/local/share/sswf/script.
892
893Renamed to darwin any reference to macosx and to ppc as
894powerpc. This is better since the Mac OS/X system is
895really called darwin and not macosx.
896
897Patched the libsswf.h to avoid declaring wint_t
898under Mac OS/X. I need to do something in the configure
899script instead...
900
901Made AMake work under Mac OS/X so as to allow a version
902not using fink (statically link SSWF).
903
904Added the auto-generation of a package on Mac OS/X
905within the dotar script.
906
907Added a distribution for IRIX (a .tardist file). This
908includes everything you need to run the software on a
909Silicon Graphics (binaries, man pages, documention
910and the source tarball).
911
912Added a doc/INSTALL-IRIX.txt file to explain quickly
913how to install the new tardist file for IRIX.
914
915Heavy changes to the dotar script to include all the
916changes, new packages, additional automation... The
917script is longer and has a command line now to avoid
918re-doing everything everytime (especially useful when
919debugging that script!).
920
921The MinGW modules automated generation (using the dotar
922script) now requires the pscp tool from putty:
923
924  http://www.chiark.greenend.org.uk/~sgtatham/putty/
925
926and of course you need to properly setup your keys.
927
928Added the generation of the RPM binary package back in
929the dotar script. Note that since I was at it, I create
930a source RPM too. However, this doesn't include
931everything you can find in the -dev package. The binary
932package also includes all the documentation, samples and
933scripts. Since it is automatically created, I include
934the debuginfo package.
935
936Added a file doc/INSTALL-RPM.txt to explain quickly how
937to install an RPM package.
938
939Added a version & last modification date in the
940manual pages (sswf.1, swf_dump.1, ft2sswf.1).
941For this reason, it moved from doc/man/man1/* to
942dev/man/*. However, the dotar script will make a
943copy in doc/man/man1/* as appropriate with the
944current version of the package and the last
945modification date of the source file.
946
947Added HTML links in the HTML manual pages.
948
949Fixed the showfont sample so the Blue Highway can be
950diplayed and also the size of the fotinos is used
951as is (instead of 40 times to small.)
952
953Fixed a bug in the TagImport constructor found by
954Tom M. (the filename pointer wasn't initialized.)
955
956Fixed the sound effect resampling function (it however
957still isn't perfect at this time.) Fixed the signed
958and unsigned flag (i.e. WAVE files have unsigned
959bytes but signed shorts!) Fixed the documentation
960since we need to always save signed values in SWF
961files (opposed to what I wrote in the doc.!).
962
963Removed references to flex from the amakefile and
964the Makefile.am accordingly. The dosamakefile
965also doesn't use flex anymore and doesn't try to
966pack the sswf_lexical.c file either.
967
968Added the 'gray' colors (instead of just having 'grey')
969to the colors.sswf script coming with SSWF.
970
971Added the simple actions "THROW", "CAST OBJECT",
972"IMPLEMENTS" and "EXTENDS".
973
974Added the ScriptLimits and SetTabIndex tags.
975
976Added the TAB_INDEX label for the PLACE OBJECT tag
977so one can setup the tab index at the same time an
978object is inserted (instead of two steps). That's
979in SSWF only, not in the library and two tags will
980be generated anyway.
981
982Added the complex actions "TRY", "CATCH" and
983"FINALLY". Also implemented the new "FUNCTION2".
984In SSWF scripts, the FUNCTION accepts parameters with
985a new syntax to tell what to ignore, pre-define and
986whether to use registers or not.
987
988Added documentation about all of the new tags and
989actions (TagScriptLimits, TagSetTabIndex, THROW,
990CAST OBJECT, IMPLEMENTS, EXTENDS, TRY, CATCH,
991FINALLY and FUNCTION2).
992
993Added support for the automatic maximum_version
994check within the SSWF compiler. The main sequence
995can include a variable named "maximum[_]version"
996which you set to the maximum version the output
997movie should be. If some tag(s) force the movie to
998be of a higher version, then the creation of the
999movie fails.
1000
1001Added support for the minimum and maximum operators
1002as in g++ (<? and >? respectively).
1003
1004Updated the sswf.vim file so all the new tags and
1005variables are recognized properly.
1006
1007Fixed and enhanced different documents.
1008
1009Fixed a memory leak in the ActionFunction::AddParameter()
1010which wouldn't record the parameters in the memory
1011manager.
1012
1013Fixed a memory leak in the ActionDictionary::AddString()
1014function which wouldn't record the string_t in the
1015memory manager.
1016
1017Fixed the ActionGoto::Duplicate() which wouldn't copy
1018the play flag.
1019
1020Fixed the [dos]amakefile so the lexical and grammar are recompiled
1021whenever the header files they include change.
1022
1023
1024
1025 o Oct 15, 2004 (1.6.3)
1026
1027Ooops... This didn't make it in the package, but that's
1028on the website and part of the release notes.
1029
1030The version 1.6.3 got the different fixes made to 1.7.0
1031in order to support many more sound effects. That means
1032if your sound effect is in 8 or 16 bits and in 8Khz or
1033some other sampling speed, SSWF will properly resample
1034without asserting.
1035
1036
1037 o Jul 16, 2004 (1.6.2)
1038
1039Added a tutorial written by Ray Gardener. You can view
1040the tutorial at the time the SSWF package was created
1041in the doc/html/tutorial directory. You can also see
1042it online either on the SSWF website or at:
1043
1044http://www.daylongraphics.com/other/sswf/
1045
1046Added an index.html in the doc/html directory. This
1047allows you to browse all the documents from a common
1048place.
1049
1050Fixed the dotar so the .pdf files are included in the
1051MinGW documentation packages.
1052
1053Added control over the SKEW of the matrices. Skewing can
1054help in getting interesting effects such as italic text
1055from a regular font. Use with caution. I suggest you avoid
1056using the rotation at the same time. Note that a very small
1057amount is enough to get a strong effect (i.e. italic will
1058be already good using a skew: -0.3, 0.0;.)
1059
1060Worked on the MorphShape. Fixed swf_dump so it prints out
1061a DefineMorphShape tag properly. Worked on sswf and the
1062library so it accepts a shape definition with a shape0
1063and a shape1 (i.e. morph mode 0, 1 or 2.) It works with
1064solid fills and lines. At this time, I didn't check
1065the gradients and bitmaps. It's likely that it will
1066work too.
1067
1068Added the fill modes HARD-EDGE TILLED and HARD-EDGE CLIPPED
1069so you can draw images with a sharp edge (Flash V7).
1070This can be useful for well finished images.
1071
1072Added the new info in the different documents.
1073
1074Fixed a bug in swf_dump which would give the offset of
1075tags at -8 bytes.
1076
1077Moved the generation of the HTML versions of the different
1078manuals in the dotar script since it is included in the
1079documentation and the web page is supposed to be sent
1080AFTER the dotar script runs.
1081
1082Moved the generation of packages on the other systems
1083before the creation of the Linux packages because some
1084of the files are used in the dev/src tar balls (and
1085who knows where later!)
1086
1087Created the USA flag in include/sswf/scripts/flags.sswf
1088
1089Added the sun-flower sample. Added the sample to the
1090amakefile.
1091
1092Many fixes to the dotar script.
1093
1094Fix in the ActionBranch::Duplicate() function which
1095would not duplicate the type of action and thus you'd
1096always end up with a "branch always".
1097
1098Changed the SWFalexref.html so the explainations about
1099how to transform the coordinates in SWF is explained
1100in Appendix A instead of a full chapter.
1101
1102Fix in the sendweb so the <OBJECT> tag is now closed
1103(otherwise it doesn't work well in Internet Explorer.)
1104
1105Fixed the table of file to download from the FTP site
1106so it creates one real row per file. This way it works
1107properly under Internet Explorer and also it will still
1108work if the user shrinks his browsers to insanely small
1109widths (like 640x440...).
1110
1111Fixed the action script keyword substract into the
1112proper term: subtract.
1113
1114Added the action script keyword "constant pool" as
1115an equivalent to "dictionary".
1116
1117Fixed the node_link_parent() function so it accepts
1118a null pointer as a child (this would otherwise
1119prevent you from having a conditional without
1120an else { ... } part; so now if(condition) { ... }
1121by itself works). This was a problem only in the
1122debug version.
1123
1124
1125Thanks to Jacek Naglak for the following:
1126
1127Fixed the order of compiling SSWF, the grammar & lexical
1128are now generated first.
1129
1130Added two command line options (--enable-[yy]debug) to
1131the configure script so one can turn the debug flags off.
1132
1133Fixed the sswf source files so it can be compiled without
1134the debug flags turned on.
1135
1136
1137
1138 o Jul 09, 2004 (1.6.1)
1139
1140Added the configure.ac and Makefile.am files (by Jacek Naglak).
1141
1142Made many fixes to the amakefile script. Also fixed
1143the dosamakefile to re-compile under MS-Windows.
1144
1145Added the dotar script and fixed it so it works
1146with the new setup (tree architecture & three
1147architectures auto-recompile!). It generates a
1148total of 36 modules, not including the 4
1149intermediate.
1150
1151Added the sendall script.
1152
1153Fixed many documents to reflect most of the changes. I'm
1154sure I'm still behind on many of them.
1155
1156
1157
1158 o Feb 03, 2004 (1.6.0)
1159
1160Restructured the package so it uses sub-directories
1161to sort all the sources, includes, docs, etc. better.
1162
1163Fixed a few things in regard to empty glyphs in
1164the ft2sswf tool.
1165
1166Fixed the layout in the ft2sswf tool. I didn't know
1167that the box had to be resized to 1024 (TrueType fonts
1168would be slightly too small and TrueFonts would be
1169misplaced).
1170
1171Fixed the amakefile so it works with the new directory
1172structure. As you will see, there is just one makefile
1173script for AMake.
1174
1175Fixed the -ll flag to -lfl so it works as is on Debian
1176distributions. It is the default rule to use Flex on
1177a Linux system.
1178
1179Added the necessary code for SSWF to accept JPEG as
1180input files. So now SSWF supports Targa and JPEG.
1181
1182
1183
1184 o Nov 10, 2003 (1.5.1)
1185
1186I fixed two error messages in sswf_node.c so when
1187you use the wrong label for an object or the wrong
1188type for a label, you know what label & object.
1189
1190I fixed a bug in saving an image. When using the
1191Best Lossless option, the 16 bits would be choosen
1192each time if the very first pixel was acceptable
1193in 16 bits. Now all the pixels are really tested.
1194
1195I added an error in case a sound file can't be
1196loaded. I still need to add a good message so
1197we know why it failed (can't read file, unknown
1198format, etc.)
1199
1200Fixed several crashing bugs (in link with the memory
1201leaks fixes).
1202
1203Added a sound effect (my voice!) to the SSWF
1204animation sample. This shows a working example
1205of the sound support by SSWF.
1206
1207Fixed several casting in the ft2sswf.c file. I
1208think I had casted the characters to (char) for
1209a good reason, but now these are casted to (wchar_t).
1210If you encounter problems with these, let me know
1211and I will try to understand what the problem was.
1212(it could be that some fonts I tried with were
1213broken too!)
1214
1215In ft2sswf.c I also changed the %lc into a %s with
1216a wctomb() call before to transform the wchar_t
1217in a multibyte sequence. This should compile on
1218more systems.
1219
1220Fixed the GNUmakefile so the sswf tool is linked
1221using g++ instead of gcc. This works better since
1222the sswf source is in C++ and also the library
1223is full of C++ objects.
1224
1225Added the showfont sample (in 1.5.0 it wasn't
1226functional at all). This only works with the
1227fotinos font at this time. But it helped me
1228make the fotinos font ANSI (all chars from
1229the space to delete are now available, and
1230nearly all letters in the 2nd part of the
1231ISO-8859-1).
1232
1233Fixed a few things for the MacOS/X version
1234which is included in this version. Note that
1235the ft2sswf tool will be available in the
1236Fink version. I didn't get the binary to
1237put here (at least not yet). However, if you
1238know how to compile, you should be able to
1239regenerate it without too much trouble.
1240
1241I think that's about it in this version...
1242
1243I hope MP3 will make it in the year 2004 as
1244will the internationalization.
1245
1246
1247
1248
1249 o Oct 16, 2003 (1.5.0)
1250
1251Long time since I worked on the sswf project!
1252
1253I have fixed a lot of problems with the allocation
1254of nodes so they will properly get released once
1255the application quits (well, in memory debug mode
1256that is, otherwise I don't waste any time). It
1257will even release the all_objects and the
1258include_paths nodes.
1259
1260The result nodes in sswf.c++ are also properly
1261cleaned up. This will release the largest block
1262of memory allocated.
1263
1264The data objects where allocated at different places
1265in the sswf_node.c++ file. I now have a single
1266function which will properly initialize the label
1267and node fields which wasn't done each time before.
1268
1269SSWF supports two new tags: DefineSound and StartSound.
1270These are defined as the named block "sound" and the
1271block "sound info" referencing a "sound" block.
1272The only sound file format supported at this time is
1273uncompressed WAVE (usually a .wav extension). It can
1274be in 8 or 16 bits, stereo or mono. I don't support
1275any compression in this version, however, I support
1276the DefineSound v2.x and v4.x (specified endian).
1277
1278The MinGW version will automatically generate the
1279scroller sample.
1280
1281The MinGW/MS-Windows has what I'd rather call a hack
1282it will use LITTLE_ENDIAN whatever the system you're
1283using. This will eventually change later, in any
1284event, if you have a MS-Windows running under a
1285big endian processor, edit the libsswf-config.h
1286and change the endianess there.
1287
1288The MinGW is properly tested and thus the cbrt()
1289was removed only on that system (yes! so far it
1290was mistakingly removed from all systems).
1291The fix may have some other (positive?) effects
1292on the entire software.
1293
1294
1295
1296
1297 o Dec 4, 2002 (1.4.4)
1298
1299Fixed the Export tag so Fonts are saved as if used
1300by a "text edit". This is important since we can't
1301know how the font will be used before all the other
1302movies are created.
1303
1304The Export tag now checks the validity of the identifier
1305and that the referenced objects are definitions (fonts,
1306shapes, texts, buttons, sprites, etc.)
1307
1308The "import" object in sswf properly exposes the names
1309declared within. This means you can now have references
1310to imported objects. In order to strengthen the use of
1311imported objects, the type of the objects can be specified.
1312At this time, the only limit is a reference from a "text"
1313object to an imported "font". It won't work because the
1314"text" object needs to know the width of each character
1315in order to generate a correct text layout. I will do
1316that later. Note that the "edit text" is certainly likely
1317bugus. I will check that later to make sure it also works
1318properly.
1319
1320The + and & operators where enhanced in order to accept
1321a string + integer entry in which case the integer is
1322transformed in a string before to be concatenated.
1323This is similar to: strf("%s%d", string, integer).
1324If you need to convert an integer in a string you can
1325use: "" + <integer>.
1326
1327Error messages were enhanced in some places. The number
1328of error was also increased.
1329
1330Dynamically named objects defined as the last part of
1331a field ('c' in a.b.c) can now be specified as part
1332of a field. The following shows an example:
1333
1334	...
1335	list "test" {
1336		label { "my_sprite" + number };
1337		sprite {
1338			...
1339		};
1340	};
1341	...
1342	list "use_test" { number = 3; test };
1343	...
1344	place object {
1345		id: test.my_sprite3;
1346		depth: 1;
1347	};
1348	...
1349
1350In earlier versions, the sprite was seen as an unamed
1351object. Note that only the very last level can be
1352dynamic in this way. Others will currently fail. This
1353will hopefully change in the future.
1354
1355Each object now has to have a TypeFlags() which gives
1356a set of flags typing the tag. You can then test these
1357flags as required (DEFINE, CONTROL, UNIQUE, START,
1358SPRITE, SCRIPT, HEADER, HAS_ID).
1359
1360The TagRemove has a PreSave() so it properly sets a
1361minimum version of 3 when it is used without an
1362object identifier (only a depth).
1363
1364The TagHeader has a DefineMinimumVersion() function.
1365This can be used before to call the Save() function
1366in order to (1) determine the minimum version and
1367(2) ensures everything can be saved as defined.
1368
1369swf_dump now knows how to dump a compressed v6.x
1370movie.
1371
1372swf_dump can dump all the sound tags (DefineSound,
1373StartSound, StreamSoundHead[2], StreamBlock,
1374DefineButtonSound).
1375
1376swf_dump had a new bug and couldn't properly dump
1377a DefineFont2. This was fixed.
1378
1379The SWF Alex's Reference documentation includes the
1380different sound tags (DefineSound, StartSound,
1381StreamSoundHead[2] and StreamSoundBlock.)
1382
1383The documentations include the DefineButton2
1384definitions.
1385
1386The documentations include the DefineButtonSound
1387definitions.
1388
1389The "remove" command wouldn't accept "edit text"
1390objects.
1391
1392
1393
1394
1395
1396
1397 o Nov 24, 2002 (1.4.3)
1398
1399The sswf manual page was updated to include the
1400-c/--[un]compress and --[un]protect flags.
1401
1402Ensured that the MinimumVersion() function was
1403never called but in PreSave() and PreSave2ndPass().
1404Thus we know what version we save as when we
1405reach the Save() function. This is very important
1406for v6.x movies which save all the strings in
1407Unicode UTF-8 (not fully done yet).
1408
1409Added a PreSave2ndPass() in order to compute
1410the fonts (which can change the version in the
14112nd pass).
1412
1413If the version changes from before v6.x to
1414v6.x or more, all the PreSave() functions
1415are called again. At this time it can't happen.
1416
1417Fixed the fonts very much so it will properly
1418save a DefineFont + DefineFontInfo[2] instead
1419of a DefineFont2 whenever possible.
1420
1421The new algorithm to save a font was very much
1422simplified:
1423
14241. if the font is used by a DefineEditText
1425   or is too large to fit in a DefineFont
1426   (i.e. when 32bits offsets are required)
1427   then save a complete DefineFont2
1428
14292. if the font is not used by a DefineEditText
1430   and can use 16bits offsets
1431
1432 2a. if the font doesn't include a name, only
1433     save a DefineFont
1434
1435 2b. if the font includes a name
1436
1437   2b1. if the font includes a language forces
1438	a v6.x movie
1439
1440   2b2. if we are saving a v6.x movie, save
1441	a DefineFontInfo2, otherwise use a
1442	DefineFontInfo
1443
1444
1445You can specify the language for the font as
1446defined in v6.x (locale, latin, japanese,
1447korean and simplified or traditional chinese)
1448
1449Ensures that the font glyphs are ordered.
1450(they have to be in maps!)
1451
1452Added an rnd() function which returns a
1453random value from 0 to 1.0 included.
1454
1455The TagFont had a Name() function which was
1456renamed FontName() so the TagBase::Name()
1457function wouldn't be hidden.
1458
1459Added the v6.x compression in the library.
1460You simply set the compression flag with a
1461call to your TagHeader::SetCompress() function.
1462With SSWF you can either use the -c or --compress
1463option or define a 'compress = true' flag like
1464you would set the frame_rate value.
1465I put an example in the new-anim. Change the
1466'false' to 'true' if you wish to get a compressed
1467version of that animation (I will keep it
1468uncompressed so only Flash V5 is required to
1469look at the SSWF web page at this time...).
1470
1471VERSION variable properly set in GNUmakefile.
1472
1473Made many fixes and additions to the SWFalexref.html
1474file to reflect all the additions.
1475
1476The ScriptSWF.html was heavilly modified to include
1477all the newest insertions so it looks closer to
1478what the tool really offers.
1479
1480The grammar.c and lexical.c were overwritten in
1481the VC/sswf sub-directory with the Linux versions
1482(which thus made them uncompilable under
1483Visual C/C++). I now keep the MinGW versions which
1484will compile properly.
1485
1486swf_dump understands the DefineFontInfo2 and the
1487language field in the DefineFont2. Also, something
1488which was in one of my versions, but didn't make
1489it in v1.4.2, it can dump the PlaceObjet2 and
1490DefineButton2 tags.
1491
1492
1493
1494 o Oct 30, 2002 (1.4.2)
1495
1496The .zip versions are now properly handled - i.e.
1497the files which are excluded from the .tar files
1498are also excluded from the .zip and the MinGW
1499versions won't have the extra sswf-<version>
1500in the path.
1501
1502The IRIX version is greatly debugged. This version
1503won't crash as easilly as the previous once. I
1504fixed one endian problem as I was at it. There may
1505be a few more. The New, Dynamic Button and SSWF
1506animations (as seen on the web page) can all be
1507created with this version under IRIX.
1508
1509All the data is now 8 bytes aligned (sizeof(double)
1510to be precise). It may be slightly faster, even on
1511Intel processors, since all the data will now be
1512properly aligned. This was a major change and it may
1513cause some other problems. Let me know if you have
1514new problems arising in this version which you
1515didn't have in the previous ones.
1516
1517
1518
1519
1520 o Oct 30, 2002 (1.4.1)
1521
1522The sswf.vim had its minlines synchronization set
1523to 150 so most comments should appear blue (or
1524whatever color you selected).
1525
1526Fixed the code in the sswf_save.c++ search for
1527action name as this one would eventually not
1528find the given action(s) (especially: "substring").
1529This is because a binary search was used but
1530because of the "." within names, the order is
1531not really 100% correct for all entries.
1532
1533Added the String object definitions in the
1534Alexis' SWF reference of which each method
1535was tested so as to be able to give a full
1536description of each of them.
1537
1538Changed the "can't execute expression" error so
1539that way it prints that as an ERROR instead of
1540an INTERNAL ERROR and prints the line # and
1541filename.
1542
1543The button.sswf sample was ameliorated so the
1544background color of the button can be changed
1545to any color from within the HTML files (the
1546button and its source are already available on
1547SSWF web site: http://sswf.sourceforge.net).
1548
1549Fixed the SHOWFRAME count label so it doesn't
1550need to be specified (that's back to normal
1551actually! sorry about that...)
1552
1553Added SHELL:=/bin/sh in the amakefile.
1554
1555Fixed the font horizontal offset so each character
1556advance value is properly taken in account.
1557
1558A version of the source will be available for
1559people running IRIX 6.5. You will need bison
1560v1.25, gcc/g++ v3.0.4, freetype v2.1.x and
1561amake v2.10.11 or v2.10.12. Note that the
1562freetype library v2.1.x isn't currently
1563available as a distribution from SGI. You
1564will have to compile and install it properly
1565yourself! Now, that's a great library
1566everyone should have.
1567
1568A Label() function was added to the TagBase object
1569so now you can get the name of the object (as
1570defined in sswf) from anywhere. Watch out, the
1571Name() function returns the actual type of the
1572object (name of the tag such as "edit" or
1573"button").
1574
1575Fixed a (really bad) bug to do with arrays of
1576objects. Under Linux, You need to use the
1577delete [] ... on C++ objects which are derived
1578from multiple classes. It caused a lot of problems
1579with my memory manager. I fixed the handling of the
1580font_info_t and edge_t which both are now plain
1581structures. The font_info_t is allocated with
1582MemAlloc(). The edge_t arrays are defined in
1583a structure allowing the MemBuffer (derived in
1584the ItemBase) to be allocated once instead of
158564! (even just for my well being, that's a
1586great improvement, think about it! 256 less
1587bytes per duplication of arrays and each Edges
1588object).
1589
1590I discovered another bug in AMake. You will need
1591the v2.10.13 to test the samples/check_version.
1592Well, that's if you want to use amake to test
1593that sample... (or if you wish to create the
1594samples with 'make samples').
1595
1596Added a 'samples' rule in the amakefile so samples
1597can be created with a simple: 'make samples'. This
1598is only for Unix systems and is primarily used to
1599ensure everything works before I ship it to
1600SourceForge.
1601
1602
1603
1604
1605
1606
1607 o Oct 30, 2002 (1.4.0)
1608
1609Added the necessary directory tree and project
1610files to create the SSWF tools and library with
1611VC++ v6.x.
1612
1613Added support for the PushData #9 - access to
1614directory entries larger than 255.
1615
1616Added support for the PushData #4 - read register.
1617
1618Added support for the DoInitAction tag for V6.x
1619compatible movies. You simply have to define a
1620sprite identifier in a regular "do action { ... }"
1621declaration.
1622
1623Added support for the InstanceOf action.
1624
1625Added support for the Import and Export tags.
1626However, at this time, the import doesn't work
1627(I still need to transform the names in the list
1628of imported entries in "real objects" which can
1629be re-used in later.)
1630
1631Added the ProtectDebug[2] in swf_dump (called
1632EnableDebugger[2] by Macromedia) and the library
1633but not in the sswf tool (rather useless anyway!)
1634
1635Added support for the frame label so you can create
1636anchors (V6.x).
1637
1638Added support for the HTML and AUTOSIZE flags
1639in the EditText tag.
1640
1641Fixed a bug where the backward branches in an
1642action script wouldn't work unless they were
1643at least -256 bytes.
1644
1645Fixed a memory bug which could have deleted the
1646same objects multiple times.
1647
1648Fixed the Duplicate() function for the PushData
1649action script.
1650
1651Fixed the PushData ROOT into UNDEFINED.
1652
1653Fixed the makefile so the -config/version.h
1654changes are taken in consideration. Also the
1655sswf.h includes the libsswf.h
1656
1657Added a makefile.install in each of the lib,
1658bin and doc packages so you don't need to get
1659the source to install them.
1660
1661Noticed that the sswf.vim file (to use with
1662gvim) wasn't included. It will now be part of
1663the binary and source tar balls (and the RPM).
1664
1665Added .rpm packages for the library, binaries
1666and documentation for RedHat (and other
1667flavors) lovers. NOTE: this is my first
1668attempt. Just be careful! 8-)
1669
1670Now buttons also accept an Edit Text object
1671(which is right!). Fixed the documents
1672accordingly.
1673
1674Fixed the Alexis' SWF Reference to make sure
1675that I mentioned the fact that the button hit
1676areas must be shapes and nothing else.
1677
1678The Edit Text document wrongly spelled out
1679OUTLINES (plurial) whereas the software
1680accepted only the singular. Now the software
1681accepts both and the document says: OUTLINE[S].
1682
1683Added the Dynamic Button sample (also used on
1684the web page as the "Download Now" button).
1685
1686
1687
1688 o Oct 24, 2002 (1.3.5)
1689
1690Added an install target in the amakefile so the
1691targets, docs and manuals can automatically
1692installed on your system with '[a]make install'.
1693The root path can be changed in the makefiles.
1694
1695The GNUmakefile was fixed a bit. The install target
1696was added and my management targets removed. You can
1697find these in the amakefile. If you wish to use them
1698you'll probably need to get amake or ensure they
1699work in the GNUmakefile. It just is too difficult
1700to maintain these in two places especially since I
1701should be the only one using them for a while.
1702
1703Added a set of default include paths and also the
1704-I option on the command line. The scripts will
1705be installed in /usr/include/sswf/scripts by
1706default which is one of the include paths
1707automatically searched. The sswf manual page was
1708updated accordingly.
1709
1710Fixed a char into unsigned char in two places to
1711handle strings of text properly.
1712
1713Parsing errors (called YACC ERROR) now display
1714the filename where the error is found.
1715
1716Added scripts drawing flags. (Belgium, England,
1717Italic, France...)
1718
1719The ft2sswf tool now skips empty characters
1720altogether by default (use -n1 to revert to
1721getting all glyphs including empty ones).
1722Added the info in the corresponding man page.
1723
1724The memory management of the SSWF library was
1725fixed in several places. Note that tags can't
1726be attached to anything or an error will
1727result. These objects are automatically managed
1728by their parent and thus don't require to be
1729attached to any memory manager.
1730
1731The font is now automatically reduced to declare
1732as few glyphs as possible. This is particuliarly
1733useful if you use only of very few characters of
1734a very large font. Note that if you use an
1735EditText (also called a DefineFontField by
1736Macromedia) with the Outline flag set to true,
1737then the default is to include the entire font.
1738Use the Used_String: or Used_Glyphs: entries
1739to reduce the set to whatever characters you will
1740use. One of my movies went from about 24Kb to less
1741than 3Kb with this new feature!
1742
1743
1744
1745
1746 o Oct 23, 2002 (1.3.4)
1747
1748Forgot to mention (I'm not sure since which version)
1749there is also a Blue Highway Condensed font available
1750by default in the archives. This is a complete font
1751with a very high and good definition you can use
1752to draw anything you'd like (it's defined as a Unicode
1753font and generates a 38Kb .swf file if you keep all
1754the glyphs - you may want to copy it and delete all
1755the glyphs you will never use!).
1756
1757The lists get merged properly. Thus, you can link
1758multiple fonts in the same movie:
1759
1760    sswf.fnt.fotinos.insert;
1761    sswf.fnt.blue.insert;
1762
1763Releases prior v1.3.4 would get confused because
1764the lists would link the 2nd instance at sswf.<...>
1765instead of sswf.fnt.<...>. Obviously this works
1766with any number of lists named the same way.
1767
1768Changed the modules so there are two binaries, one
1769including the tools and one the libraries.
1770
1771When two different objects use the same name, then
1772their full names are now printed in the error
1773message.
1774
1775The swf_dump and ft2sswf have manual pages too.
1776The sswf manual page was fixed a little.
1777
1778
1779 o Oct 22, 2002 (1.3.3)
1780
1781Changed the code so it compiles under RedHat v7.1
1782and MinGW.
1783
1784Changed the modularisation of the packages so one
1785can only download a binary or the docs instead of
1786the whole thing at once.
1787
1788
1789 o Oct 18, 2002 (1.3.2)
1790
1791Reverted some code so it compiles properly the
1792sswf_node.c file.
1793
1794
1795 o Oct 18, 2002 (1.3.1)
1796
1797Ameliorated the errors somewhat. It still has to
1798be enhance much though.
1799
1800A GNUmakefile was created so people who don't
1801want amake can still work with SSWF.
1802
1803The amakefile was changed slightly so the compile
1804would work first time instead of after two calls
1805to amake. Also the .MAIN were removed so the other
1806targets such as clobber, clean, rmtargets can
1807be used properly.
1808
1809The ft2sswf missed the License info in v1.3.0
1810This was fixed.
1811
1812The sswf was missing the full License and had only
1813a small Copyright. This was fixed.
1814
1815The README.txt was made a bit more up to date so
1816all the files are included.
1817
1818The script/test.sswf was removed as this isn't
1819anything useful at this time.
1820
1821
1822
1823
1824
1825 o Oct 9, 2002 (1.3.0)
1826
1827The default output changed from result.swf
1828to a.swf to be in accordance with the C
1829compiler (which generates a.out by default).
1830
1831Created the ft_to_sswf tool which transform
1832fonts (.ttf, .pfa, .pfb and many more) in a
1833.sswf script file that you can directly reuse
1834with the sswf tool.
1835
1836Added the missing code so the font TYPE label
1837in SSWF is taken in account.
1838
1839Changed the code so fonts V3.x save an array
1840of offsets including a size.
1841
1842Added \X?? support (only \x was accepted before).
1843
1844Added unicode entries in fonts (with the use
1845of \\[xX]<value> in the strings.)
1846
1847Started a set of man pages for the shell tools.
1848You can already type
1849
1850   man -M doc/man sswf
1851
1852to see the sswf manual pages.
1853
1854
1855
1856 o Oct 9, 2002 (1.2.1)
1857
1858Fixed a problem with labels (if more than one
1859SetLabel() was done on an object, the memory of
1860the previous strings would be lost until the
1861object was deleted).
1862
1863Cleaned up the sswf_node.c from the out of memory
1864errors since these are all checked in the
1865sswf_memory.c file.
1866
1867Added support for the GET URL2 action. This uses
1868the Action "URL" without any parameter or only
1869one: GET, POST or NOVAR[IABLE].
1870
1871Fixed a bug with the f_min_version which could
1872be set to a negative value (thus a movie version
1873could be saved with as -4 instead of 4). This
1874was in link with actions.
1875
1876Added support for the (useless?) STORE REGISTER
1877action (is this for debug purposes only?). This
1878was the last V5.x action not yet available.
1879
1880Fixed a bug with the dumping of functions (the size
1881given to the end user was improperly computed).
1882
1883
1884
1885
1886 o Oct 8, 2002 (1.2.0)
1887
1888Added support for the DECLARE DICTIONARY action
1889(Action "dictionary" { strings... };).
1890
1891Added support for the CALL FRAME action. Note
1892that it is a special tag as it is necessary to
1893have a size though there isn't any data.
1894
1895Added support for all the actions in the swf_dump
1896tool.
1897
1898Added support for the DEFINE INFO tag (assumed
1899format from other .swf files...) in both the
1900swf_dump and sswf tools. Later removed from the
1901sswf tool since it otherwise makes it fail to
1902run the movie (I probably need more info about
1903this tag...).
1904
1905Added some tests to ensure proper memory allocations
1906(i.e. some new calls weren't checked for possibly
1907returning zero).
1908
1909Added a version within the files using a specific
1910version include: libsswf-version.h. This include
1911file is also used by other tools such as the
1912swf_dump tool. This enabled me to add a --version
1913on the sswf and swf_dump command lines. Also the
1914library has now an sswf_version() function call
1915which returns the version string also (useful to
1916use .so library though I still have many inlines
1917which should most probably disappear to have a
1918correct .so library!).
1919
1920
1921
1922 o Oct 4, 2002 (1.1.1)
1923
1924Added support so one can define variables on the
1925command line with -D<varname>=<value>
1926
1927
1928
1929 o Oct 3, 2002 (1.1.0)
1930
1931Completed the integration of the "edit text" tag
1932(DefineTextField).
1933
1934Added the function fabs().
1935
1936NOTE: at this time the library always forces the
1937      'outline' flag to zero since setting it to
1938      1 makes the macromedia plugins crash.
1939
1940
1941
1942 o Sept. 30, 2002
1943
1944Publication of the lirarby & tools on the internet.
1945
1946