diff --git a/CHANGELOG.txt b/CHANGELOG.txt new file mode 100644 index 0000000..5261c7e --- /dev/null +++ b/CHANGELOG.txt @@ -0,0 +1,35 @@ +Changelog for Photon +$Id: CHANGELOG.txt,v 1.1 2005/07/17 22:41:03 cozman Exp $ + + +0.1.0 (Massachusetts) - Initial Release + * Kernel/Task design that allows easy creation of graphical + games/applications without sacrificing control + * Extensive Log system that allows full control over logging including + various log levels and three built in forms of output, with the ability + to add custom output formats. + * A wide variety of helper utilities for tasks such as filesystem + navigation, FileBuffer capable of reading from archives, random number + generation, versioning, and timing + * Resource Management system including the ability to load resources from + specified directories or archives. + * Variety of math classes including Circle, Rectangle, and Vector classes + convinient for game use + * ConfigFile class for reading/writing INI-style files for game settings + * OpenGL management including ability to set video mode, and easy management + of multiple viewports + * Resource-managed Texture class allowing for loading of textures for use in + OpenGL + * Image class that extends Texture class, allowing for hardware accellerated + drawing, rotation, scaling, and blending of images for use in 2D + environments + * Resource-managed Font class allowing for the rendering of text using + TrueType fonts + * Primitive-drawing ‘Pen’ class allowing for drawing of various geometric + shapes, lines, and vectors. + * OpenAL based sound system* + * Entire library is built in a highly-modular fashion with extensibility in + mind. Use of modern programming techniques like templates and exceptions + contributes to ease of use and ease of development. + * 13 demo programs showing features and ease of use + diff --git a/CREDITS.txt b/CREDITS.txt new file mode 100644 index 0000000..881c482 --- /dev/null +++ b/CREDITS.txt @@ -0,0 +1,17 @@ +The following people have contributed code to photon: + James Turk + ..yeah this list is too short right now, so help out ;) + +In addition, I'd like to thank: + * Sean and Gamer Tazar from the old CoZ team, where ZEngine was born + * Everyone who contributed to, used, or downloaded ZEngine + * Sam Lantinga and the rest of the SDL crew (without SDL, no ZEngine, + without ZEngine, no photon) + * The GameDev.net community for answering my (often complex) questions + * Richard 'Superpig' Fine for his Enginuity articles, which influenced my + Kernel/Task design. + * Jesse Maurais and DevMaster.net for the OpenAL tutorials + * Everyone responsible for FreeMind (http://freemind.sf.net) + * The Ubuntu Team (http://ubuntulinux.com) + +$Id: CREDITS.txt,v 1.1 2005/07/17 22:41:03 cozman Exp $ diff --git a/IFAQ.txt b/IFAQ.txt new file mode 100644 index 0000000..1ddc960 --- /dev/null +++ b/IFAQ.txt @@ -0,0 +1,130 @@ +IfAQ (Infrequently Asked Questions) +$Id: IFAQ.txt,v 1.1 2005/07/17 22:41:03 cozman Exp $ + +--basic questions-- + +Q. What is Photon? +A. Photon is an API which is designed primarily to ease creation of hardware + accelerated 2D games with OpenGL and other open source & cross platform + libraries. Photon aims to simplify portable game development, enabling + developers to focus on the gameplay. Photon uses OpenGL for hardware + accelerated rotation, alpha blending, resizing, and drawing. Photon is built + entirely on free software, using libraries like GLFW, PhysFS, OpenAL, and + boost. Using Photon does not require knowledge of any of these libraries as + their needed functionality is wrapped entirely within Photon’s rich class + library so that anyone with a decent grasp of C++ can use Photon. + Photon is a cross platform API, designed to run on as many operating systems + as possible, and OS support is only limited by libraries which Photon + depends on, at the moment Photon should run on Windows, Linux, OSX, and + other Operating Systems which have OpenGL support. + +Q. Where do I get Photon? +A. http://photon.sourceforge.net is the home page. + http://sourceforge.net/projects/photon/ is the project page. + +Q. How do I build Photon? +A. At the moment building photon relies upon SCons. See INSTALL.txt for more + information. Visual C++ project files are a priority as well. + +--usage questions-- + +Q. How do I compile a Photon application? +A. That depends upon your compiler, this isn't a sufficient answer is it? + To Be Completed + +Q. Are there any tutorials? +A. No. Well not yet, I do have intent to write basic tutorials on using + Photon, as well as porting some existing tutorials on various subjects to + Photon. + +Q. I am using Photon, can I tell the world? +A. Sure, if you're using it and you feel comfortable admitting that, I admire + your honesty. In all seriousness, this is greatly appreciated, and greatly + beneficial to the Photon community, the more people using it the more people + to help find bugs, suggest features, and maybe some of them will think of + something cool to add for the rest of us. + +--licensing questions-- + +Q. How is Photon licensed? +A. Photon is licensed under a zlib-style license, see LICENSE.txt. + +Q. Why is Photon licensed like that, why not use LGPL or something? +A. First of all, I prefer zlib licensed libraries, as you can see, Photon + depends primarily on zlib licensed libraries. I also don't feel that I + should try to restrict what people do with Photon, as the people who will + try to steal work aren't going to care what license it was under in the + first place. + +Q. I don't get it. What can I do with Photon? +A. You are allowed to do almost anything you want with Photon including use it + in commercial applications. + +Q. So what can't I do with Photon? +A. You cannot claim you wrote it, distribute altered versions that are not + clearly marked as such, or remove or alter the license of the Photon + source. You also cannot sue me for damages if Photon hurts you, your + pet, or your feelings. + +Q. Does Photon use proprietary libraries like DirectX? +A. Photon only uses free open source libraries, so that by using Photon you are + not subjected to any proprietary licensing terms. + +Q. What if I have something to add? +A. Feel free to contribute to Photon, bugfixes are greatly appreciated. Not + all submitted features can be accepted, but I'll usually at least add a + link to your submission if it cannot be included in the standard + distribution for some reason. (Extensions to Photon which uses non-free + or non-portable libraries fall into this category, I appreciate them + but usually won't make them part of the standard distribution.) + +--history questions-- + +Q. Photon seems familiar.. where have I seen a similar API before? + or + You ripped off that ZEngine guy! +A. Photon used to be ZEngine, but when I decided to do a major rewrite the name + changed. I am the author of both ZEngine and Photon, but thank you for your + concern. + +Q. Why shouldn't I use ZEngine? +A. Photon does practically everything ZEngine did, but is being actively + developed. Photon also uses a fairly different design than ZEngine, which I + hope most will enjoy. + +Q. Why should I use ZEngine? +A. In case you want to port to a platform with no OpenGL, or maybe you like + the letter 'Z' before every class name. If you hate the new style, and + would prefer to kick it old school, ZEngine is a fine choice. + +Q. Wasn't there some GUI lib for ZEngine? +A. Yes, Gewi was the GUI for ZEngine, and was separate from the core of + ZEngine. In Photon Gewi will become photon::gui, but is not yet completed. + Because of the modular core method and resource management, the inside has + been rewritten, and a number of bugs have been fixed. photon::gui will be + a major improvement over Gewi. + +--other questions-- + +Q. You are a king, can I give you money? +A. Sure.. I guess, I'd prefer you donate it to a better project than Photon + but if you have to donate money to me because you're using Photon in some + amazing application and you feel guilty making millions off of my "hard" + work.. email me, I'll try to talk you out of it, or suggest a better use + of funds. + +Q. How can I be as great as you? +A. Help me out on Photon.. write some documentation, anything, if you're not + sure how to help, email me, I'll let you know what needs to be done. + +Q. What else do you work on, besides Photon? +A. That's a secret right now. + +Q. Want to work on something with me? +A. Depending on how much time I have, and how interested I am in the project, + maybe. If you want me to work on something I'd love to hear from you, + even if I don't have time at the moment. If the project in question + uses Photon you get bonus points, but is not a requirement for me to work + with you. + + -James Turk diff --git a/INSTALL.txt b/INSTALL.txt new file mode 100644 index 0000000..5cda6dd --- /dev/null +++ b/INSTALL.txt @@ -0,0 +1,12 @@ +Building Photon requires the SCons (http://www.scons.org) build tool. + + 1) Enter the photon directory. + 2) Type 'scons' - building should begin assuming all dependencies are found. + this will result in the photon library being built in the lib/ folder. + 3) Optional: Type 'scons test' to build test programs, test programs will be + built in the test/ folder. + 4) Optional: Type 'scons docs' to build documentation in the docs/ folder. + [requires NaturalDocs (http://naturaldocs.org)] + + +$Id: INSTALL.txt,v 1.1 2005/07/17 22:41:03 cozman Exp $ diff --git a/license.txt b/LICENSE.txt similarity index 86% rename from license.txt rename to LICENSE.txt index 6489f8b..5876bc2 100644 --- a/license.txt +++ b/LICENSE.txt @@ -1,3 +1,6 @@ +Photon is licensed under a zlib license, the full license is below. +------------ + Copyright (c) 2005 James Turk This software is provided 'as-is', without any express or implied warranty. In @@ -17,3 +20,5 @@ the following restrictions: be misrepresented as being the original software. 3. This notice may not be removed or altered from any source distribution. + +$Id: LICENSE.txt,v 1.1 2005/07/17 22:41:03 cozman Exp $ diff --git a/README.txt b/README.txt new file mode 100644 index 0000000..806200a --- /dev/null +++ b/README.txt @@ -0,0 +1,30 @@ +Thank you for downloading photon, + photon is an API which is designed primarily to ease creation of hardware +accelerated 2D games with OpenGL and other open source & cross platform +libraries. Photon aims to simplify portable game development, enabling +developers to focus on the gameplay. Photon uses OpenGL for hardware accelerated +rotation, alpha blending, resizing, and drawing. Photon is built entirely on +free software, using libraries like GLFW, PhysFS, OpenAL, and boost. Using +Photon does not require knowledge of any of these libraries as their needed +functionality is wrapped entirely within Photon’s rich class library so that +anyone with a decent grasp of C++ can use Photon. + photon is a cross platform API, designed primarily for game development. +photon is designed to run on as many operating systems as possible, and OS +support is only limited by libraries which Photon depends on, at the moment +photon should run on Windows, Linux, OSX, and other Operating Systems +which have OpenGL support. + +------- + +If this is a source distribution you'll need to build photon before you can use +it in your own applications, for details on how to build and install photon +check out INSTALL.txt. + +If this is a binary distribution you can start using photon right away by +linking the photon library (found in the lib/ subfolder) and it's dependencies +with your applications. + +If you need any help or have any questions check out IFAQ.txt or visit photon's +homepage at http://photon.sourceforge.net/. + +$Id: README.txt,v 1.1 2005/07/17 22:41:03 cozman Exp $ diff --git a/photon.mm b/photon.mm index 6e7da2c..0e0ac4f 100644 --- a/photon.mm +++ b/photon.mm @@ -3,59 +3,31 @@ - - - - - - - - - - - - - - + + + + + + - - - + + + + - - - - - - - - - - - - - - - - - - - - - - - + + - - - - + + + + - + @@ -70,18 +42,7 @@ - - - - - - - - - - - - +