added documentation text files

This commit is contained in:
James Turk 2005-07-17 22:41:03 +00:00
parent 42faa7adae
commit 925a96ca0c
7 changed files with 247 additions and 57 deletions

35
CHANGELOG.txt Normal file
View File

@ -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

17
CREDITS.txt Normal file
View File

@ -0,0 +1,17 @@
The following people have contributed code to photon:
James Turk <cozman@users.sf.net>
..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 $

130
IFAQ.txt Normal file
View File

@ -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 Photons 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 <cozman@users.sf.net>

12
INSTALL.txt Normal file
View File

@ -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 $

View File

@ -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 $

30
README.txt Normal file
View File

@ -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 Photons 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 $

View File

@ -3,59 +3,31 @@
<node ID="Freemind_Link_1676542623" TEXT="Photon">
<cloud/>
<font BOLD="true" NAME="SansSerif" SIZE="12"/>
<node ID="_" POSITION="right" TEXT="0.1 Release">
<font NAME="SansSerif" SIZE="12"/>
<node ID="Freemind_Link_1613164220" TEXT="better SConstruct file">
<icon BUILTIN="button_ok"/>
</node>
<node ID="Freemind_Link_614612335" TEXT="all stable ZEngine/Nova features ">
<font NAME="SansSerif" SIZE="12"/>
<icon BUILTIN="button_ok"/>
<node ID="Freemind_Link_642651361" TEXT="Colored fonts">
<icon BUILTIN="button_ok"/>
</node>
<node ID="Freemind_Link_985678305" TEXT="callbacks for better input handling"/>
<node ID="Freemind_Link_485484686" TEXT="Music">
<icon BUILTIN="help"/>
<node ID="Freemind_Link_682620075" POSITION="right" TEXT="0.1 Release">
<font BOLD="true" NAME="SansSerif" SIZE="12"/>
<node ID="Freemind_Link_1479941799" TEXT="Clean up source">
<node ID="Freemind_Link_1716705807" TEXT="clean up naturaldocs"/>
<node ID="Freemind_Link_1080393911" TEXT="audio:: could using some cleaning">
<node ID="Freemind_Link_632977685" TEXT="make compilation succeed without OpenAL"/>
</node>
</node>
<node ID="Freemind_Link_1104675603" TEXT="Tests">
<node ID="Freemind_Link_288973656" TEXT="Texture">
<icon BUILTIN="button_ok"/>
<node ID="Freemind_Link_1153941464" TEXT="test compilation on fresh systems">
<node ID="Freemind_Link_1403005191" TEXT="test compilation on clean linux system"/>
<node ID="Freemind_Link_617919930" TEXT="test compilation on windows system"/>
<node ID="Freemind_Link_510637" TEXT="OSX tester?"/>
</node>
<node ID="Freemind_Link_1283736172" TEXT="Math Test">
<icon BUILTIN="button_ok"/>
</node>
<node ID="Freemind_Link_279976301" TEXT="Pen">
<icon BUILTIN="button_ok"/>
</node>
<node ID="Freemind_Link_609153459" TEXT="Image">
<icon BUILTIN="button_ok"/>
</node>
<node ID="Freemind_Link_1961072093" TEXT="Font">
<icon BUILTIN="button_ok"/>
</node>
<node COLOR="#000000" ID="Freemind_Link_964892891" TEXT="Input">
<icon BUILTIN="button_ok"/>
</node>
<node ID="Freemind_Link_25725154" TEXT="Audio">
<icon BUILTIN="button_ok"/>
</node>
<node ID="Freemind_Link_1348104879" TEXT="Kernel/AppCore">
<node ID="Freemind_Link_1664207862" TEXT="how to test?"/>
</node>
</node>
<node ID="Freemind_Link_22783417" TEXT="Example Game">
<node ID="Freemind_Link_1010220321" TEXT="test all tests"/>
<node ID="Freemind_Link_1870184326" TEXT="example game">
<node ID="Freemind_Link_714736465" TEXT="Let&apos;s Draw"/>
<node COLOR="#000000" ID="Freemind_Link_597173063" TEXT="Asteroids"/>
</node>
<node ID="Freemind_Link_743325646" TEXT="distribution documentation">
<node ID="Freemind_Link_730720170" TEXT="credits"/>
<node ID="Freemind_Link_564233418" TEXT="FAQ"/>
<node ID="Freemind_Link_363257674" TEXT="contact info"/>
<node ID="Freemind_Link_1746871436" TEXT="possible features">
<node ID="Freemind_Link_40954797" TEXT="Decide on callbacks (push to 0.1.x possibly)"/>
<node ID="Freemind_Link_547285954" TEXT="Decide on Kernel/Appcore Test"/>
<node ID="Freemind_Link_1825420810" TEXT="Music"/>
</node>
</node>
<node ID="Freemind_Link_486829238" POSITION="right" TEXT="0.2 Release">
<node FOLDED="true" ID="Freemind_Link_486829238" POSITION="right" TEXT="0.2 Release">
<node ID="Freemind_Link_1298931281" TEXT="XML resource files"/>
<node ID="Freemind_Link_216021234" TEXT="Sprite System">
<font NAME="SansSerif" SIZE="12"/>
@ -70,18 +42,7 @@
<icon BUILTIN="help"/>
</node>
</node>
<node ID="Freemind_Link_351891371" POSITION="left" TEXT="General Mateinance">
<font BOLD="true" NAME="SansSerif" SIZE="12"/>
<node ID="Freemind_Link_1642641448" TEXT="Ensure compilation succeeds on Win/Linux simultaneously"/>
<node ID="Freemind_Link_330674889" TEXT="Find an OSX user to test"/>
<node ID="Freemind_Link_1190200631" TEXT="Clean up source"/>
</node>
<node ID="Freemind_Link_682620075" POSITION="left" TEXT="Current Problems">
<font BOLD="true" NAME="SansSerif" SIZE="12"/>
<node ID="Freemind_Link_1080393911" TEXT="audio:: could using some cleaning"/>
<node ID="Freemind_Link_632977685" TEXT="make compilation succeed without OpenAL"/>
</node>
<node COLOR="#147f1e" ID="Freemind_Link_438641521" POSITION="left" TEXT="Version: $Id: photon.mm,v 1.18 2005/07/17 07:14:09 cozman Exp $">
<node COLOR="#147f1e" ID="Freemind_Link_438641521" POSITION="left" TEXT="Version: $Id: photon.mm,v 1.19 2005/07/17 22:41:03 cozman Exp $">
<font ITALIC="true" NAME="SansSerif" SIZE="12"/>
</node>
</node>