|----------------------------------------------------------------------- | JSpriteMaker 68k Version 0.5.1 build 19 | by John David Ratliff [jdratlif@cs.indiana.edu] | http://www.technoplaza.net/software/index.cgi?p=jspritemaker/index |----------------------------------------------------------------------- |----------------------------------------------------------------------- | Table of Contents |----------------------------------------------------------------------- Section 1 - Introduction to JSpriteMaker 1.1 - General Information Section 2 - Installation and Setup 2.1 - Program Requirements 2.2 - Windows Installation 2.3 - Linux Installation 2.4 - Solaris Instatllation Section 3 - Running the Program 3.1 - JRE Overview 3.2 - Win32 launcher for Windows 3.3 - Linux/Solaris Instructions Section 4 - Program Features 4.1 - General Program Features 4.2 - The Menu System 4.3 - The Sprite Toolkit 4.4 - The Color Chooser 4.5 - The Zoom Control 4.6 - The Code View Section 5 - Support and Troubleshooting Information 5.1 - Known Bugs 5.2 - Bug Reporting System 5.3 - Contact Information 5.4 - Troubleshooting Section 6 - JSpriteMaker Timeline 6.1 - Revision History 6.2 - Future Planned Additions 6.3 - How to Suggest a Feature Section 7 - License and Copyright Information 7.1 - Copyright Information 7.2 - Simple GPL Information 7.3 - Complete GNU General Public License |----------------------------------------------------------------------- | Section 1 - Introduction to JSpriteMaker 68k |----------------------------------------------------------------------- ---------------------------- - 1.1 General Information - ---------------------------- JSpriteMaker is an attempt to create a fully graphical platform independent (up to a point) program for creating, editing, and transforming sprites for use in programming TI-89 and TI-92+ assembly and C programs. Our target goal is to complete a sprite editor that works effectively and efficiently in several platforms, primarily in Windows and Linux, but any other operating systems are always a plus. The current code is written in Java, so it works on Windows, Linux, and Solaris (Sun Microsystems version of UNIX) by default, as Sun develops their JVM for these platforms simultaneously. Other companies are working to develop JVMs for other platforms, and sometimes better versions on the platforms Sun already supports. I try to stick with Sun since it is the source for all new Java technology. IBM and Microsoft implementations of Java Virtual Machines may or may not support this product. Any full support of this program must include support for Sun Microsystems Java Swing User Interface, compatable with the 1.3 release of the Sun Java 2 platform. I do not know how many other JVM's support this. If you can help with this, please let me know (see the contact section). This program is under development, and is currently in the beta test release stage. This means the program may not work as it is intended. Please understand that this software should not harm your system in any way, but there are no attached warranties. See the GNU General Public License for more information. If you want to check the development status, or get the latest version, come to our website at http://www.technoplaza.net/software/index.cgi?p=jspritemaker/index The latest downloads of both source code and binary format will always be available there first. |----------------------------------------------------------------------- | Section 2 - Installation and Setup |----------------------------------------------------------------------- ---------------------------- - 2.1 Program Requirements - ---------------------------- To run JSpriteMaker, you must have a Java Virtual Machine installed with a Java Runtime Environment with Sun Java 2 JRE 1.3 support. If you run Windows, Linux x86, or Solaris, I would recommend running the Sun JRE 1.3 (or higher). You can download the Sun JRE from http://java.sun.com/j2se/1.3/ for the Sun JRE 1.3.1 or http://java.sun.com/j2se/1.4/ for the Sun JRE 1.4 Both work, and 1.4 is nicer, but 1.4 is also 12 MB download, where 1.3 is only 5 MB. If you have a slow connection, get 1.3. It will work fine for this program. But if you have the time, get version 1.4, because it adds many new features. I have not tested other JVM's, so I do not know if they work or not. I use Sun JRE, because I know it will always be comptable. Here is a list of some that *should* work. Blackdown (Linux x86 and PowerPC Mac) - http://www.blackdown.org MRJ (MacOS 8,9,X) - http://developer.apple.com/java/ IBM JVM (Windows, Linux, AIX, OS/2, OS/390) - http://www-106.ibm.com/developerworks/java/jdk/index.html?loc=j I have never used any of these JVM's, so please don't contact me with questions about them. If you don't, or can't use Sun's JVM, you are on your own. ---------------------------- - 2.2 Windows Installation - ---------------------------- To install on Windows, you will need Winzip, PkZip, WinRAR, or some other kind of Unzipping program. I suggest using WinRAR from RARsoft (http://www.rarsoft.com). Click the download link and select the most recent non-beta version. I have had problems with crashing on their beta versions, so I don't recommend the latest release. Use your unzip program to extract the zip file to a directory. Any directory will do. Installation is now complete. If you want to move the directory, feel free to. Just don't move anything inside the directory. WinZip and WinRAR integrate into the shell, so you can right click and select extract if you use one of these programs. -------------------------- - 2.3 Linux Installation - -------------------------- To install on Linux, simply unzip the program into a directory of your choice. You can probably use the unzip command, which is preinstalled in most linux distributions. If it's not, you can download WinRAR (there is a linux version, despite the name) from http://www.rarsoft.com. Use unzip to extract the archive into a directory of your choice. So long as the Java JRE is in your path, you can run the program from anywhere, but you will need to be in X Windows. ---------------------------- - 2.4 Solaris Installation - ---------------------------- To install on Solaris, unzip the program to a directory of your choice. You may need to find an unzip program for Solaris. unzip which is common on Linux is available for Sparc Solaris, which you can download from http://www.sunfreeware.com. Unzip the program into any directory. It will run so long as the JRE is in your path. It is very unlikely that it would not be, so long as you are using a recent version of Solaris (i.e. Solaris 7 or 8). |----------------------------------------------------------------------- | Section 3 - Running the Program |----------------------------------------------------------------------- -------------------- - 3.1 JRE Overview - -------------------- JSpriteMaker 68k is a Java-based program, as such, it needs a Java Virtual Machine and Java Runtime Environment to run. If you do not have one, you can download the Sun JRE 1.3 or later from http://java.sun.com for Solaris, Windows, and Linux. Other JRE's may or may not work. I have not tested any non Sun JRE's with JSpriteMaker. --------------------------------- - 3.2 Win32 Laucher for Windows - --------------------------------- In Windows, I have written a simple launcher for Windows. It will most likely work so long as the Sun JRE is installed on your system. If not, you will need to run the program some other way. To run the program in windows, simply double click the launcher-win32.exe program. The program should start up in a few seconds. If it takes more than 3 minutes, and you have a relatively fast machine (Pentium II 266 or better), then the launcher probably did not work. You will need to run the program manually. To manually run the program, if the launcher fails, start the command window (Start - Run) Put cmd if you are running Windows NT 4, XP, or 2000, or command if you are running Windows 98 or Millenium. When the command shell starts, switch to the directory you unzipped the program into, then type javaw -jar sprite.jar If this does not work, you probably have not installed the Sun JRE. Other JRE's may have different ways of running. I cannot help you with this. ---------------------------------- - 3.3 Linux/Solaris Instructions - ---------------------------------- To run under Linux or Solaris, start an xterm, switch to the directory you unzipped the program into, and type java -jar sprite.jar This should work so long as the JRE is installed. Caldera and RedHat come with Sun JRE installed by default, other distributions may need JRE's. You can download one from http://java.sun.com Solaris will have a Java JRE installed, unless you have a very old version of Solaris. |----------------------------------------------------------------------- | Section 4 - Program Features |----------------------------------------------------------------------- -------------------------------- - 4.1 General Program Features - -------------------------------- JSpriteMaker is a Swing-based Java IDE for creating and manipulating sprites for use in TI-89 and TI-92+ assembly and C programs. It currently has the following features: - pixel-by-pixel editing - undo/redo support for undoing/redoing changes - color selection for editing 4-level grayscale sprites - automatic light plane, dark plane, and mask code creation - resize sprites on-the-fly - create C variables for sprites and name them as you will This is a work in progress. We are still adding features, and will have more in the next release. Check out the Future Planned Additions section (6.2) for more details. ----------------------- - 4.2 The Menu System - ----------------------- JSpriteMaker can be broken down into several areas. The application frame, the sprite frame, the sprite frame components, and the menu. The menu is the first interaction you will have with the program. We will try to explain what all the menu operations do here. JSpriteMaker Menus: - File Menu (4.2.1) - Edit Menu (4.2.2) - Sprite Menu (4.2.3) - View Menu (4.2.4) - Help Menu (4.2.5) ----------------------- - 4.2.1 The File Menu - ----------------------- The File menu is the first menu on the menu bar at the top of the application frame. You can click the menu with your mouse, or press Alt-f to open this menu. File Menu Items - New (Ctrl-n) The New option creates a new sprite based on your specifications, which you can enter in the New Sprite Dialog. Each New Sprite Dialog lets you create a new sprite frame, with a different sprite. For each sprite, you can choose the size, calculator type (TI-89 or TI-92+), and custom names for your code variables. There are aleady default values entered, which, if left alone, will create a 16x16 sprite with the names light, dark, and mask for the light plane, dark plane, and mask variables, respectively. To change the variable names, you must first deselect the 'Use Default Names' checkbox, then change the names in the boxes. You can tab to each selection in the dialog. When you are satisfied with the sprite properties, click the OK button, or press ENTER. If you decide you do not want to create a new sprite, click the CANCEL button, or press ESC. - Open (Ctrl-o) This option is not yet implemented. - Save (Ctrl-s) This option is not yet implemented. - Save As This option is not yet implemented. - Exit (Ctrl-q) The exit option is used to quit the program. When you exit the program, if you have unsaved work, a dialog will pop up asking if you really want to quit the program without saving your work. If you do, just select OK. Otherwise, select either NO or CANCEL and the program will not exit. To save your work before exiting, choose the Save option for each sprite you have open. NOTE: Since Save is not yet implemented. The program will always ask you to confirm your exit. This will be fixed in a later release. ----------------------- - 4.2.2 The Edit Menu - ----------------------- The Edit menu is the second menu on the menu bar at the top of the application frame. You can click the menu with your mouse, or press Alt-e to open this menu. Edit Menu Items - Undo (Ctrl-z) Undo is a fairly common feature in programs that edit. If you make any change to the sprite, undo will undo the last change you made. In this implementation of undo, undo events are from pen down (mouse press) to pen up (mouse release). So if you draw a line with the point tool (see 4.3 for more on tools) and then select undo, it will erase the entire line. - Redo (Ctrl-y) Redo is the sister of undo. Anything that is undone can be redone by selecting this command. Did you make a mistake with undo? Want to get your changes back? Redo them. Redo events are only valid if they are done right after the undo. If you make any changes to the sprite after doing an undo, the changes that you made and undid cannot be redone. So, make sure you really mean undo before you start editing again. - Copy (Ctrl-c) Copy copies the contents of the Code View selection (see 4.6 Code View for more information) to the system clipboard. Since this is a Java program, this depends upon the system having a working clipboard. This should work on modern versions of Windows, Linux (with KDE or Gnome, other are untested), and Solaris. Other operating systems or window managers may or may not work. - Select All (Ctrl-a) Select all selects all the text in the Code View. So if you are done editing the sprite, you can do Select All, Copy to copy all the sprite code from the Code View to the system clipboard, where you can paste it into your C editor of choice. ------------------------- - 4.2.3 The Sprite Menu - ------------------------- The Sprite menu is the third menu on the menu bar at the top of the application frame. You can click the menu with your mouse, or press Alt-s to open this menu. Sprite Menu Items - Zoom - 1x (Actual Size) This option sets the sprite to be viewed at 1x, which is the actual size. This is how the sprite will appear on the calculator (adjusting for slight color variation) - 2x (200%) - 4x (400%) - 8x (800%) - 12x (1200%) - 16x (1600%) - 24x (2400%) - 40x (4000%) All of these options are variations on the sprite zoom. You can view the sprite at any size from 100% - 5000%, which makes the sprite many times larger than it actually would appear. This makes it easier to edit. The default zoom level is 2. The menu options make it easy to select common zoom levels. NOTE: High zoom levels make the program go slower! - Other This option will let you set the zoom to any level from 1-50. This is similar to the zoom control (see 4.5 The Zoom Control for more information), but you can see exactly what number you select. The sprite will be scaled to this level of zoom and will appear x times larger than the actual sprite. A value of 1 is the actual sprite size. 2 is twice the size, 3 is triple the size, and so forth. - Resize The resize option lets you change the size of the sprite you are working on. You can set a size smaller or larger than the sprite you have right now. If you choose a larger size, there will be extra white space on the edges. If you choose a smaller size, you will lose some of the edge. NOTE: Sprite resize cannot currently be undone! - Sprite Options This menu item lets you change all sprite properties, including the size, calculator type, and variable names. ----------------------- - 4.2.4 The View Menu - ----------------------- The View menu is the fourth menu on the menu bar at the top of the application frame. You can click the menu with your mouse, or press Alt-v to open this menu. View Menu Items - Sprite Toolkit (Shift-F1) This option toggles the sprite toolkit view which allows you to select which tool you want to use to edit the sprite. See 4.3 The Sprite Toolkit for more information NOTE: The Sprite Toolkit is only partially implemented! Only the point tool can be used at this time. Selecting any other tool will make you unable to edit the sprite. Just select the point tool to be able to make changes again. ----------------------- - 4.2.5 The Help Menu - ----------------------- The Help menu is the last menu on the menu bar at the top of the application frame. You can click the menu with your mouse, or press Alt-h to open this menu. Help Menu Items - About JSpriteMaker... This brings up the about dialog with the copyright, author, and version information for JSpriteMaker. -------------------------- - 4.3 The Sprite Toolkit - -------------------------- The Sprite Toolkit is the main way of editing the sprite in JSpriteMaker. The basic premise is this; each kind of drawing is done with a different tool. You can draw freely with one tool, make perfect lines, square and other polygons with another, select and cut pixels with another tool, etc. To display the Sprite Toolkit, choose Sprite Toolkit from the View menu. This will bring up the tool selection. To select a tool, click the tools icon. Hover the mouse over the tool icon to see the tool name (i.e. Point Tool, Line Tool, Fill Tool, Marquee Tool, etc). Sprite Tools and their Use - Point Tool The point tool is the icon that resembles a crayon or pencil. The point tool is used for free drawing. Wherever you click on the sprite with the point tool, that point will be colored in. You can drag the mouse with the left button down to draw many pixels, just like a pencil, pen, or crayon. - Line Tool The line tool is the icon that resembles a line. The line tool is not yet implemented, and cannot be used. - Rectangle Tool The rectangle tool is the icon that resembles an empty square. The rectangle tool is not yet implemented, and cannot be used. - Filled Rectangle Tool The filled rectangle tool is the icon that resembles a darkened square. The filled rectangle tool is not yet implemented, and cannot be used. - Oval Tool The line tool is the icon that resembles an empty circle. The oval tool is not yet implemented, and cannot be used. - Filled Oval Tool The filled oval tool is the icon that resembles a darkened circle. The filled oval tool is not yet implemented, and cannot be used. - Text Tool The text tool is the icon that resembles a letter A. The text tool is not yet implemented, and cannot be used. - Fill Tool The fill tool is the icon that resembles a spilled paint bucket. The fill tool is not yet implemented, and cannot be used. - Marquee Tool The marquee tool is the icon that resembles a dotted square. The marquee tool is not yet implemented, and cannot be used. ------------------------- - 4.4 The Color Chooser - ------------------------- The color chooser is a box on the sprite frame with 4 squares, a white square, a black square, and 2 shades of gray squares. This panel is used to change the current drawing color for the sprite. To change the color, simply click on the square of the color you want to use. You will see the highlighted selection change to indicate that it is now the current color. ------------------------ - 4.5 The Zoom Control - ------------------------ The zoom control is the slider directly under the sprite edit box. You can use the zoom control to change the view of the sprite. Drag the slider forward (right) to increase the zoom of the sprite. Drag the slider backward (left) to decrease the size. The view will not change until you stop moving the slider. --------------------- - 4.6 The Code View - --------------------- The code view is one of the most important components. It is this box that displays the C code for displaying this sprite. You can copy the code from this box into your editor of choice to use the sprite in a TIGCC program. The code view updates only when you have released the mouse. |----------------------------------------------------------------------- | Section 5 - Support and Troubleshooting Information |----------------------------------------------------------------------- ------------------ - 5.1 Known Bugs - ------------------ The only known bug at this time is with the launcher program. Do not use the launcher if you have moved the sprite.jar file. The launcher must be in the same directory as the sprite.jar file, or it will crash. ---------------------------- - 5.2 Bug Reporting System - ---------------------------- To report a bug, please send mail to bugreport@technoplaza.net. Please include the Operating System you use (Windows, Linux, Solaris) and the version. Windows 98, ME, XP, NT, 2000, RedHat 6.2, Mandrake 8.0, Solaris 7, Solaris 8, etc. Also include a detailed description of the problem, and if you can recreate it, the steps needed to cause the bug. Also include the JRE type and version you are using, Sun JRE 1.3, Sun JRE 1.4, or whatever. If you have any comments or insights, also include them. --------------------------- - 5.3 Contact Information - --------------------------- Author: John David Ratliff [jdratlif@cs.indiana.edu] Web Feedback: http://www.technoplaza.net/index.cgi?p=feedback Bug Reports: bugreport@technoplaza.net Website: http://www.technoplaza.net/software/index.cgi?p=jspritemaker/index ----------------------- - 5.4 Troubleshooting - ----------------------- Windows Troubleshooting - Problem: The Program does not stat. Solution: Check to make sure the launcher-win32.exe program and the sprite.jar are in the same folder. Problem: Launcher and sprite.jar are in same folder, but the program still does not run. Solution: Check the JRE path, or install a JRE. To check the JRE path, start a command window. In Windows 98 and ME, click Start, Run, then enter command. In Windows NT 4, 2000, and XP, click Start, Run, and enter cmd. Press OK. Enter "java -version" without the quotes on the command line. If a program does tell you what version of the JRE is installed, you probably do not have the JRE installed. Download and install the Sun JRE 1.3 or higher from http://java.sun.com/j2se/1.3/ or http://java.sun.com/j2se/1.4/ Problem: Program doesn't run when I use "XYZ" JVM. Solution: Install the Sun JRE. Sun always works. I do not support alternative JVM's under Windows, Linux, or Solaris. If you want to use a different JVM, you must figure out how to make it work. Problem: Program starts, but doesn't seem to work as it is supposed to. No mouse response, keyboard response, or other program problem. Solution: If you are not using the Sun JRE 1.3 or higher, install Sun JRE 1.3 for Windows. Sun JRE's below 1.3 or non Sun JRE's may not work. If you are using the Sun JRE 1.3, file a bug report by emailing bugreport@technoplaza.net Problem: When I select New from the File menu, I can't change the sprite dimensions. Solution: As of JSpriteMaker 0.5.1 build 19, this should be fixed, but if not, simply resize the dialog. Drag the bottom left corner of the dialog with the left mouse button to make it bigger. The text boxes should now let you enter text. Submit a bug report if you still can't get it. Linux Troubleshooting: Problem: Program does not start Solution: Make sure the Sun JRE is in your path. To check your path, start an xterm and type "which java" at the command prompt. If it does not find it, you need to make sure the JRE is installed. Some common paths are /usr/local/java/bin, /usr/java/bin, /usr/bin/, /usr/local/bin, /opt/java/bin. Check if the java program is in one of those directories. If so, add that directory to your path. To add a path in Bash, export PATH=$PATH:/new/path/to/add To add a path in tcsh, setenv PATH "${PATH}:/new/path/to/add" Problem: Program starts, but does not run correctly. Solution: If you are not using the Sun JRE, install the Sun JRE for Linux. You must use version 1.3 or higher. You can check your java version by typing "java -version" at an xterm console. Problem: When I select New from the File menu, I can't change the sprite dimensions. Solution: As of JSpriteMaker 0.5.1 build 19, this should be fixed, but if not, simply resize the dialog. Drag the bottom left corner of the dialog with the left mouse button to make it bigger. The text boxes should now let you enter text. Submit a bug report if you still can't get it. Solaris Troubleshooting: Problem: Program does not run correctly. Solution: You may have an old version of the JRE in your path. To check the version, start and xterm and enter "java -version" without the quotes. If it does not say JRE 1.3 or higher, you need to install a newer version of the Sun JRE. Solaris JRE's are available at http://java.sun.com Problem: When I select New from the File menu, I can't change the sprite dimensions. Solution: As of JSpriteMaker 0.5.1 build 19, this should be fixed, but if not, simply resize the dialog. Drag the bottom left corner of the dialog with the left mouse button to make it bigger. The text boxes should now let you enter text. Submit a bug report if you still can't get it. Other OS Troubleshooting: Problem: When I select New from the File menu, I can't change the sprite dimensions. Solution: As of JSpriteMaker 0.5.1 build 19, this should be fixed, but if not, simply resize the dialog. Drag the bottom left corner of the dialog with the left mouse button to make it bigger. The text boxes should now let you enter text. Submit a bug report if you still can't get it. |----------------------------------------------------------------------- | Section 6 - JSpriteMaker Timeline (Past, Present, and Future) |----------------------------------------------------------------------- ------------------------ - 6.1 Revision History - ------------------------ Version 0.5.1 build 19 - Forgot to add 0.5.0b314 changes to build. So Linux was broke again. Sorry for everyone who downloaded it and it wouldn't work, again. - Changed the dialog so you can resize it if something isn't displaying correctly. This should solve any window manager size incompatibility problems. - Changed Toolkit icons. They still don't do anything yet, but at least I'm no longer stealing someone elses icons, except for a few from Gimp, but they're GNU, so it's okay. - Changed toolkit icons to PNG files so there are no LZW compression issues or patent infringement issues. I don't want to get involved with the Unisys legal department. - added section in the troubleshooting on how to fix the bug where it doesn't let you change the sprite size on the dialog. Version 0.5.1 build 16 - changed arbitrary zoom to display the current zoom so you know what you're adjusting from - fixed bug in arbitrary zoom where cancel would bring up the non-integer input dialog - fixed bug in arbitrary zoom where bad input would cause dialog to go away, but it should let you try again - updated code to follow Code File Layout pattern - fixed mask sprite support with real transparent color support. Thanks to Scott Noveck for his help. Version 0.5.0 build 314 - fixed bug in Linux Gnone where there was not enough space to display the sprite dialogs Version 0.5.0 build 313 - redesigned readme file - reworked MVC design pattern - redesigned main frame window for more intuitive interface - redesigned main menu; added edit and file commands - programs asks to close now, even if you exit via window close - redesigned new sprite dialog. allows for naming of sprite variables upon inital creation - added support for multiple sprites - changed assumed resolution to 800x600 or higher - added zoom control - changed zoom min-max to 1-50 instead of 1-100 - restructured code for efficiency - added scrollable view for sprites that go off the screen - changed view so the controls are positioned better - changed CodeView so it only updates after you're done drawing (makes the program run much faster) - fixed undo/redo support - added menu item to change all sprite properties (i.e. rename or resize the sprite after it's created) Version 0.4.0 build 109 - added sprite variable names (custom var names) - added color chooser on the panel (easy access) - fixed bug where window didn't resize when you create a new sprite - fixed graphic glitches when grid wasn't drawn - added code view window for viewing directly in TIGCC format - fixed JRE 1.3 compatability - added undo/redo support (somewhat buggy) - added nice view support for sprite definitions Version 0.2.0 build 152 - initial release -------------------------------- - 6.2 Future Planned Additions - -------------------------------- - Sprite Toolkit for creating lines, polygons, arcs, text, and other objects on the sprite - User selectable transparency color (for sprite masks with a color other than white as transparent) - manage a set of sprites as a single sprite - sprite animation - import from code or image file into sprite editor - export to image format or raw data - a closer match for TI-89/9x pseudo-grayscale colors - edit sprites in black and white only with a single plane - edit sprites with more than two planes (for grayscale levels of 7 or higher even) -------------------------------- - 6.3 How to Suggest a Feature - -------------------------------- To suggest a feature, please contact me using any of the methods listed in the contact section 5.3. |----------------------------------------------------------------------- | Section 7 - License and Copyright Information |----------------------------------------------------------------------- ----------------------------- - 7.1 Copyright Information - ----------------------------- JSpriteMaker 68k Copyright (C) 2002 John David Ratliff Licensed under the GNU General Public License ------------------------------ - 7.2 Simple GPL Information - ------------------------------ For those of you not familiar with the GNU General Public License, I will explain the basics of the agreement for people who don't want to read and interpret the license in legal format. You are still bound by the complete terms of the GNU GPL as listed below. For an HTML version, visit Techno-Plaza at http://www.technoplaza.net/index.cgi?p=license The GNU GPL is a license for free software. It's not free software in price, but in terms of freedom. Anyone can copy this program for basically any purpose. They can get the full source code if they want it. They can change the source code and release those changes to the public, but they must provide the source code to their changes, if someone would want them. You can charge money for the program, or you can give it away free. My version will always be free in both freedom and price for anyone and everyone to use. If you want to learn more about the GNU General Publice License, visit the Free Software Foundation at http://www.fsf.org or the GNU Project at http://www.gnu.org. I have included a text copy of the license below, but their websites can explain the terms more completely and help you understand why free software in this fashion is desirable. The best programs in the world are free software. The Linux kernel, the gcc compiler for C, C++, Java, Fortran, and many other languages, the Eclipse IDE for Java programs, and many more. Support free software by making all your software free as well. Visit the Free Software Foundation today! ------------------------------------------- - 7.3 Complete GNU General Public License - ------------------------------------------- To read the complete GNU General Public License, take a look at the license.txt file.