Another attempt to somewhat clean up documentation files.

Goals: 
* have two separate 'docs' directories (source code + game data) whose contents can be safely combined for distribution (no duplicate file names, meningful file names)
* somewhat standard file names
* minimum redundant data
* user-friendly README-file to display in installer

How things were moved around etc.:
Delete          docs/copyright.txt (previous version)
Move and rename data/glest_game/docs/LICENSE to docs/copyright.txt
Move and rename data/glest_game/docs/README to docs/README.txt
Move and rename data/glest_game/docs/CHANGELOG to docs/CHANGELOG.txt
Rename          data/glest_game/docs/{AUTHORS,AUTHORS.data.txt}
Rename          data/glest_game/docs/{data_license_readme.txt,README.data-license.txt}
Rename          data/glest_game/docs/{data_license.txt,cc-by-sa-3.0-unported.txt}
Symlink         data/glest_game/docs/CHANGELOG.txt to docs/CHANGELOG.txt
Symlink         data/glest_game/docs/README.txt to docs/README.txt
Rename          docs/{copyright.txt,COPYRIGHT.source_code.txt}
Rename          docs/{code_license.txt,gnu_gpl_3.0.txt}
Rename          docs/{readme_windows.txt,README.compiling-windows.txt}
Rename          docs/{readme_linux.txt,README.compiling-linux.txt}
Create          docs/AUTHORS.source_code.txt
Create          data/glest_game/docs/COPYRIGHT.data.txt

build-mg-win32.sh: Use all CPU available cores when building.
This commit is contained in:
mnaumann 2011-05-03 10:28:54 +00:00
parent eb339956ee
commit 6d5cd99450
10 changed files with 1703 additions and 320 deletions

View File

@ -1,13 +1,13 @@
#!/bin/sh
mkdir build-win32
NUMCORES=`cat /proc/cpuinfo | grep -cE '^processor'`
mkdir -p build-win32
cd build-win32
cmake -DCMAKE_TOOLCHAIN_FILE=../mk/cmake/Modules/Toolchain-mingw32.cmake -DXERCESC_INCLUDE_DIR=${PROJECT_SOURCE_DIR}/source/win32_deps/xerces-c-src_2_8_0/include -DXERCESC_LIBRARY=${PROJECT_SOURCE_DIR}/source/win32_deps/xerces-c-src_2_8_0/lib -DXERCESC_LIBRARY=${PROJECT_SOURCE_DIR}/source/win32_deps/xerces-c-src_2_8_0/lib/libxerces-c2_8_0.dll -DOPENAL_INCLUDE_DIR=${PROJECT_SOURCE_DIR}/source/win32_deps/openal-soft-1.12.854 -DOPENAL_LIBRARY=${PROJECT_SOURCE_DIR}/source/win32_deps/libs/OpenAL32.dll -DOGG_INCLUDE_DIR=${PROJECT_SOURCE_DIR}/source/win32_deps/libogg-1.2.1/include -DOGG_LIBRARY=${PROJECT_SOURCE_DIR}/source/win32_deps/libs/libogg.dll -DVORBIS_LIBRARY=${PROJECT_SOURCE_DIR}/source/win32_deps/libs/libvorbis.dll -DVORBIS_FILE_LIBRARY=${PROJECT_SOURCE_DIR}/source/win32_deps/libs/libvorbisfile.dll -DLUA_INCLUDE_DIR=${PROJECT_SOURCE_DIR}/source/win32_deps/lua-5.1/src -DLUA_LIBRARIES=${PROJECT_SOURCE_DIR}/source/win32_deps/libs/lua5.1.dll -DJPEG_INCLUDE_DIR=${PROJECT_SOURCE_DIR}/source/win32_deps/jpeg-8b -DJPEG_LIBRARY=${PROJECT_SOURCE_DIR}/source/win32_deps/libs/libjpeg.dll -DZLIB_INCLUDE_DIR=${PROJECT_SOURCE_DIR}/source/win32_deps/zlib-1.2.5 -DZLIB_LIBRARY=${PROJECT_SOURCE_DIR}/source/win32_deps/libs/libz.a -DPNG_PNG_INCLUDE_DIR=${PROJECT_SOURCE_DIR}/source/win32_deps/lpng141 -DPNG_LIBRARY=${PROJECT_SOURCE_DIR}/source/win32_deps/libs/libpng.dll -DCURL_INCLUDE_DIR=${PROJECT_SOURCE_DIR}/source/win32_deps/curl-7.21.3/include -DCURL_LIBRARY=${PROJECT_SOURCE_DIR}/source/win32_deps/libs/libcurl.dll -DSDL_INCLUDE_DIR=${PROJECT_SOURCE_DIR}/source/win32_deps/SDL-1.2.x/include ..
make
make -j$NUMCORES
#echo 'You may now launch mega-glest from this folder like this:'
#echo '../mk/linux/glest.bin --ini-path=../mk/linux/ --data-path=../mk/linux/'

View File

@ -0,0 +1,63 @@
MegaGlest Source Code Authors
Titus Tscharntke (info@titusgames.de)
Mark Vejvoda (www.soft-haus.com - mark_vejvoda@hotmail.com)
* The MegaGlest Team *
Programmers: Titus Tscharntke (titi)
Mark Vejvoda (SoftCoder)
Website: http://megaglest.org/
E-mail: contact@megaglest.org
MegaGlest is a fork of Glest. Without the inspiring work by the original Glest
developers and contributors, MegaGlest would not have been possible.
* The Glest Team *
Programmer: Martiño Figueroa
Sound artist: Jose Luis González
2D and 3D artist: Tucho Fernández
2D artist and web: José Zanni
SDL port: Matze Braun
Animation: Félix Menéndez
3D artist: Marcos Caruncho
Website: http://glest.org
E-mail: contact_game@glest.org
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ACKs
This product includes the following 3rd party software:
- Software developed by the
Apache Software Foundation (http://www.apache.org/).
- Xiph.org's Vorbis software CODEC implementation.
- modified version of Feathery FTP by Andreas Martin
(https://sourceforge.net/projects/feathery/)
- libcurl (http://curl.haxx.se/libcurl/)
- libpng (http://www.libpng.org/pub/png/libpng.html)
- libjpeg (http://www.ijg.org/)
- wxwidgets (http://www.wxwidgets.org/)
- lua (http://www.lua.org/download.html)
- openal (http://connect.creativelabs.com/openal/default.aspx)
- zlib (http://www.zlib.net/)
We would like to thank the developers of these softwares and libraries, their
prior work makes developing MegaGlest fun.

596
docs/CHANGELOG.txt Normal file
View File

@ -0,0 +1,596 @@
===================
MEGAGLEST CHANGELOG
===================
3.5.0
- Menu changes to better group similar items
- Added Blender related tools in blender sub folder
- Modified binary and script names for Linux builds to avoid conflicts with original glest
- Added preview info in mod menu, scenario menu and tutorials
- End game stats have more info now
- Added more validations for modders for techtrees and scenarios (commandline options)
- Bugfix for OpenAL (now works in v 1.13)
- Updates to Romans faction
- Network messages generated by the game are now displayed in the local users selected language
- Support for custom credits (add the file data/core/menu/credits.txt)
- More AI player improvements
- Default screenshot format is now jpg (configurable in options menu)
- Fixed some performance problems with 'stuck' units
- improved resource selection
- performance improvements, now make it possible to play with more units and slower hardware than before.
- new maps with cliffs and higher terrain
- support for sending 7z tilesets and techtrees over network
- new game mod management console to download new game content or remove existing mod content
- multi-threaded pathfinding for better performance when many units are moving
- CPU AI player improvements (units get unstuck more often and stationary air units attack more efficiently)
- new tileset and resource particle support.
- added jpg screenshot support
- optional compressed GPU texture support
- improved harvesting and resource selection
- better support for multiple platform compiling
- Modifiable keyboard hotkeys
- bugfixes for map editor and g3d viewer to work more stable on multiple platforms
- LSB conform ".megaglest" usage
3.4.0
- new attack alarms use visual and audio cues to indicate when and where you or your team are under attack
- new auto router configuration for Internet hosted games will auto port forward (for UPNP enabled routers)
- new network file transfer system current allows servers to send missing maps and tilesets to clients
- new IRC client built into the Internet lobby (uses freenode's megaglest-lobby channel)
- improved sound handling for better stability and smoother game play
- CPU AI players now can have their resource multiplier manually changed
- new fog of war setting allows showing resources on the map at game start (thanks GAE team)
- many new commandline options (try --help to see)
- texture compression for video cards that support it
- improved AI players are much harder to defeat
- new Romans_beta faction in megapack
- new language translations
- new tilesets, maps and a tutorials
- G3D Viewer enhancements including PNG screenshots with alpha transparency option
- performance improvements for both rendering and network play
- FreeBSD support has been added in this release
- no more selection problems!
- bugfixes discovered in 3.3.7.2
3.3.7.2
- This is primarily a bugfix release to correct noticable issues from 3.3.7
3.3.7.1
- This version included a bug and was withdrawn within minutes after release.
3.3.7
- Again more performance updates to rendering and game updating
- screenshots work again in windows ( bugfix )
- some new maps especially meant for coop multiplayer
- map preview in the game setup menus ( can be switched off in options for performance reasons )
- new features for unit particles ( for example see genies new green glow )
- observers ( implemented as special faction to choose )
- multibuild
- teamates are shown with yellow cycle now ( instead of red )
- bugfix for AI not losing HP when food is out
- added more LUA functions
- player number based map filter in cutom game menu
- toggle of music in custom menu while waiting for players
- advanced features switch to simplify the game setup
- faction preview ( a small version of the loading screen is displayed )
- working transparency textures for units! ( basically like trees in tilesets now )
- smooth shadow on/off while playing when needed for performance reasons.
- new unit property max-unit-count to limit the amount of living units of this type
- harvesting units of size bigger one work better now
- free BSD support ( thanks to M0llemeister! )
- first MacOS support ( alpha, thanks to GeoVah! )
- several other minor changes/bug fixes
3.3.6
- More performance updates to rendering and game updating
- Improved network play for slower clients (new game options for lagging players)
- Added the ability to toggle Pause or Disconnect for lagged clients per game
- Better error detection of network state
- Updated client and server lobby screens to show more game information
- Added more per game changable settings for network games
- Updated support for GAE pathfinder (but should ONLY be used in single player
mode as network use is experimental)
- Added new commandline parameter for modders to validate their techtrees, usage:
./glest --validate-techtrees
- Added new commandline parameter to display openGL driver information, usage:
./glest --opengl-info
- Added support for Open Suse
- Fixed bugs where invalid IP addresses were used for NIC's that are not active
- Added the ability to turn OFF sounds via the options menu
- Some bug fixes and changes were made to the AI
- Fixed issue where command queues and multi-unit selecting was broken
- Fixed map editor for windows users where tooltips didn't show properly and memory corruption.
3.3.5.1
- Fixed slow rendering by reverting back to vanilla glest rendering
- Added much more error checking and network finesse
- Increased HTTP connection timeout from 5 to 10 seconds and made it configurable
- Added LAN IP Addresses on Custom Game Menu
- Disabled "Zoom out' on game end for Network Games (Created instability)
- Added more relaible TCP connection status checking
- Fixed mouse disappearing issues
- Made error messagebox persist between menus / screens
- Added ability to continue loading / playing if sound system cannot initialize
3.3.5
- major milestone:
http://freegamer.blogspot.com/2010/06/megaglest-335-pre-release-special.html
- Thank you to: titi, tomreyn, silnarm, rcl, ultifd, wciow, claymore,
coldfusionstorm, FG_Julius (and crew), softcoder
- Added loads of Network features (See below)
- Added multi-platform network play support
- network performance improvements
- Added master server support to help the community find online Internet games
- Added Internet lobby to display Internet Game Hosts
- Added client lobby where clients may chat and configure their player
settings before the game begins
- Added Network LAG checking for network games
- Added Server / Local based AI control for Network games
- Added customizable hotkey support
- Introduced native Linux 64 bit binaries and installer
- added queued commands (hold shift while continue clicking future unit commands)
- added new maps, tilesets and improved particle effects
- fixed many bugs found during the release cycle
- added particle viewing support in the G3d Viewer
3.3.4
- Fixed multiplayer related crashes from 3.3.3
- 'M'-key to redisplay faded messages
- Some fontwork again
- Windows is using OpenAL as default
- Waterbug fixed. Walking in water volume is now releated to the camera position.
3.3.3
- Font size adjustment can be set in the ingame options.
- Font colors can be toggled while playing using the 'C'-key.
- Bugfix for windows, ingame options can change resolutions now.
- Font Helvetica is used for linux and font Verdana is used for windows
- Fontsizes can be set very detailed in glest.ini
- Fixed glest.ini
3.3.2
- Changed windows version to use SDL and also added support for OpenAL sound
(DirectSound is still the default)
- Sound issues for windows users are related to a bad dsound.dll in the
mega-glest folder. Delete this file as it is not required since DirectX should
already be installed on your Windows installation.
- Textures may now be in any of the following formats (tga, bmp, jpg and png)
- Scenarios, Techs and Factions all allow for a custom 'loading' page when
starting a game. Mega-Glest will look for a file called: loading_screen.*
where .* is any supported graphic file type (tga, bmp, jpg and png). The
priority is first in the scenario folder (if loading a scenario) if not found
it looks in the faction root folder and if not found it will look in the tech
folder.
- Screen Resolutions can be changed in the ingame options menu now
- Added a LAN game auto-discovery feature. Clients may click the 'Find LAN Games'
button to search on your local network for another Computer hosting a
Mega-Glest game (a server).
- Mega-Glest now actually uses the ServerPort setting in the glest.ini
(the default port for glest is 61357)
- Added a read-only display ofthe configured Server Port # when joining a network
game.
- Added the ability to configure Fog of War per game session.
- Fully working Photo Mode where you may take good photos of your mega-glest
game / mao scenario by setting the value in glest.ini:
PhotoMode=true
- Added the ability to use a playername instead of the hostname when playing
in a network game. Goto the options area (Options button on main screen)
and type your custom playername into the Network Player Name edit box.
- Added the ability to rotate units when creating a unit (before placing it)
by pressing the R key (for rotate)
- Added camera zoom in/ out (like in GAE) by using the scroll wheel on your
scroll mouse
- Added MANY new configurable items in glest.ini (some are optional and may not
be in the ini file. Most options are described when you run the configurator
application.
- Added the ability to run Glest full screen on multiple monitors
(currently linux only) via the two settings in glest.ini:
AutoMaxFullScreen=true
Windowed=false
- Users may now save all user created context in their own customer folder using
the glest.ini setting:
UserData_Root=mydata/
where mydata is a folder under the current glest folder. You may use ANY path
in this setting.
- Glest allows users to specify a special folder to read / write the ini and log
files. To do this set an environment variable with the name:
GLESTHOME=/mycustomerpathtoawritablefolder/
- When experiencing problems, users may enable debugging to a logfile using the
following glest.ini settings:
DebugLogFile=debug.log
DebugMode=true
DebugNetwork=true
This will log all debug information to a file in the glest folder called
debug.log
- fixed a bug with not calling <unitDied> in lua scenario, when died due
to running out of consumable ressources like food
- fixed the bug which lets you loose the active command if one of your unit dies.
This was the problem that made it very hard to build buildings when you are in
a battle for example.
- When a AI is disable for a faction in a scenario this faction doesn't consume
consumable ressources like food any more.
3.3.1
- fixed a bug with network consistency checks ( it wasn't completly active any more in 3.3.0 )
- network consistency checks are reported more user friendly (on server and client )
- all network related errors should be handled with a dialog and doesn't crash glest any more.
3.3.0
- New multiplayer version of megaglest! It should be much more stable now
and less choppy than original glest !
- New disconnect messages and chat in connect menu .....
- Now with several particles for every skill!
- black particles!
- Fire with smoke for every "burnable" unit ( even walking/flying ones )
- 8 player support
- Individual particle systems for damage indication
- More particles everywhere in the data
- New snow
- Ingame option to switch off all the new particles ( for slow machines )
- Morphing ground units to flying units
- Damage-all switch in splash definition works now
- Linux editor/g3dviewer/configurator are working and part of the linux
distribution too now
- New maps
- New tileset scrubland
- Editor with lots of comfort functions and 8 player (*.mgm) support.
The editor includes things like undo/redo, brush copy , mouseover display now
3.2.3
- MegaGlest forks off vanilla Glest
- Only needed factions are loaded ( thanks silnarm ).
- a weeker CPU player was added for real beginners
- two new CPU players were added ( CPU-Mega and CPU-Easy )
- much much more data compared to glest ( factions/maps/tilesets ... )
======================================================
All versions before 3.2.2 refer to vanilla Glest
======================================================
3.2.2
- Two networking bugfixes
3.2.1
- Auto tester
- Bug fixes
3.2.0
- LUA scriting
- New tileset: Dark Forest
- Tutorials
- Improved text rendering
- Added sound effect for chat messages
- Changed loading screen
- Removed IP from new game screen
- Removed Api Info screen
3.1.2
- Fixed slow building placement in ATI cards with catalyst 7.10 or newer
- Fixed fog of war smoothing
- Improved position picking when giving orders
- Fixed some glitches in shadows
- Added red colored building cursor when trying to build in an invalid location
- Fix for empty chat messages
- Reduced Drake Rider morphing time from 120 to 80 and reduced splash radius attack of a few units
- Improved battlemachine death animation
- The game now checks that all players are using the same binaries
3.1.1
- Improved shadows
- Added command line options
- Improved 'Valley Of Death' map
3.1.0
- In-game chat
- Main menu background model changed
- Server IPs are now stored in a file, and can be used later
- Network status key
- Map changes: Added 'Swamp of Sorrow' and 'Valley of Death', removed 'One on One' and 'The Ruins'
- Balance changes
3.0.0
- Network play over LAN/Internet
- New key shortcuts for giving orders and selecting special units
- Renamed some units
- Reworked tech faction upgrades
- Balance changes
- Clicking on the minimap now always moves the camera, even if the area is not explored
- Removed some dangerous glest.ini options
2.0.1
- Scenarios
- Added more info to the results screen
2.0.0
- New Magic units:
- Tower of Souls: Air defense building, attacks air only
- Golem: Defensive unit, needs EP to walk, can't attack air
- Daemon giant: Heavy melee unit
- Drake rider: Light ranged unit
- New Tech units:
- Aerodrome: Building for producing air units
- Air ballista: Air defense building, attacks air only
- Rider: Fast medium unit
- Ornithopter: Light air unit
- Airship: Heavy air unit, can't attack air
- New Magic upgrades
- New Tech upgrades
- New animations for existing units
- Shared vision between allies
- New particle blending
- Felix and Matze added to the credits
- Players now start on the location indicated in the game settings menu
- Score system
- HTML documentation
- Increased projectile accuracy
- Optimized particle rendering
- Loads of balance changes
1.2.2
- Fixed timing problem that was causing some units to regenerate too fast on some computers
- Html tech tree documentation
1.2.1
- Fixed random crash during load
1.2.0
- New tileset objects
- AI now expands its base
- 2 new maps: "in the forest" and "island siege"
- Improved existing maps
- Pathfinding optimizations
- Fixed issues in windowed mode
- Balance changes
- Enemy projectiles are visible when being attacked outside the sight range
- Fixed crash when trying to build a unit without be_built skill
1.1.1
- Archmage energy regeneration rate back to normal
- New windowed mode with window borders
- New error message for when maps have dimensions that are not power of 2
- New contact email
1.1.0
- Glest now compiles on MinGW
- New tileset objects
- New particle systems for all units
- Shared library merged with Duelfield
- Fixed OpenGL version detection bug (now the game detects OpenGL 2 correctly)
- Auto config option added to in-game config menu
- Added configuration option to bypass OpenGL version check
- Added object variations in tilesets
- All files renamed to lowercase to ease portability
- New map: One On One
- New 3D model format (G3D v4)
- Dead skills now have a fade parameter
- Strings in XML files restricted to lowercase (game formats names)
- ShadowMapLike shadows renamed to Projected shadows
- Shadow mapping support, producing everything over everything shadows
- 8 bit TGA support
- Changed some particle systems
- Now if video mode change fails the game tries the same mode with the default refresh rate
- Changes on about and loading screens
- Changes on language strings
- Fixed a bug affecting the orientation of the light at night
1.0.10
- Small bug fixes
1.0.5
- Balance changes
- Computer controlled units that can't attack air won't run under dragons
- New configuration tool
- Fixed a bug with building construction emplacement
- Fixed a bug related with shadows in free camera mode
- New translation strings for main menu
- Win/Lose window
- Other bug Fixes
1.0.0
- Remaining 3D models done
- Remaining 2D art done
- New magic faction music
- New main menu art and programming
- Fonts change it's size depending on screen resolution
- Bug fixes
0.8.1
- New Sumoner Guild model
- Startup crash on some systems fixed
0.8.0
- Two factions with new units and 3D models
- Cellmaps for units, now units can enter and exit buildings
- New sounds for everything
- New 2D art for icons and buttons
- New water rendering method
- Improvements on projetile damage synchonization
- New main menu system, now a 3d model is used for background
- Particle systems redesigned to allow 3D models
- Sounds synchronized to projectiles and splashes
- New menu music
- Meeting points
- Selection improvements
- HP regeneration
- Camera can be moved with the arrow keys
- About section changed
- Bug fixes
0.7.6
- Bug fixes
0.7.3
- Selection improvements
- Air units support
- AI improvements
- Bug fixes
0.7.2
- Fixed a bug related with unit resource info
0.7.1
- New stone texture
- 3D textures disabling option added to config menu
- ShadowVolumes removed from shadow options (can be enabled via glest.ini).
- DepthBits now defaults to 32 (up from 24), and StencilBits to 0 (down from 8)
- Fixed some bugs
- Battlemage sounds are now at 22Khz
- Performance optimizations
- OGG files can also be used as static sounds
0.7.0
- New 3D models for units
- New 3D models and textures for tilesets
- 3D model format changed to add support for player colors
- New maps
- Improvements on building command
- Experience levels
- New sounds
- New command available: morph
- 3D textures (for animated water)
- Water Effects
- Focus arrows
- New XML field: anim-speed
- MPs (Magic Points) are now called EPs (Energy Points)
- New cell sytem: maps 2x bigger, river borders more accurate
- Minimap is now filtered
- Surface detail removed (always draw on max detail)
- Animated trees on intro screen
- Pressing 'T' saves a TGA image on the screen folder
- Improved AI
- Units react instantly when given a command
- Ranged units now attack walking units
- Camera angle changed
- Sounds are synchronized to the action (new XML tag for this)
- Command and Skill format changed, now type is the first tag
- New options for particle systems
- Unit speed changed on XMLs
- Fog of war changes smoothly
- Optimizations on pathfinding
- Optimizations on particle systems
- Crash info is now saved in crash.txt
0.6.3
- New and very fast shadow mode: Shadow Mapping Like
- Some new sounds
- Camera movement stops slowly
- Fire particles changed
- Height fog removed, depth fog added
- WGL extensions added to the api info menu
- Anisotropic filtering (option added to glest.ini)
- Map format changed from text to binary
- Buildings are randomly rotated
0.6.2
- Texture tiling changed to texture splatting
0.6.1
- Units now turn arround when changing direction
- Free camera mode optimized
0.6.0
- New building models
- Music and sounds
- New particle systems: fire ball and ice nova
- Damage and armor types
- Now it is possible to attack your own units
- Now it possible to give "follow" and "attack unit" orders (using move and attack targeting a unit)
0.5.2
- Fixed a bug in pathfinding algorithm
0.5.1
- Fixed a bug loading GL_EXT_fogcoordf
0.5.0
- Added win/lose screen
- DX8 sound
- 3d realtime menu
- Ogg sound support
- Streaming sound support
- Game speeds and pause
- Groups and add/remove to/from selection
- New 3d models for units
0.4.3
- Fixed a bug when double clicking two towers, one under construction and the other one built, caused the first one to finish its construction.
- Fixed a bug that made that fire never stopped when repairing buildings
- Performance counters added for world update timing
0.4.2
- Fixed a bug that made the game crash when right clicking outside the map and a building was selected
0.4.1
- Fixed a bug that made the game crash when canceling unit production
0.4.0
- Shadows (infinite shadow volumes)
- New graphic engine, faster model and particle rendering
- New model format, that allows to export files from 3dsmax
- Memory leaks have been removed (using _CrtDumpMemoryLeaks())
- Air units support
- TGA texture support
- Height fog (using GL_EXT_fog_coord)
- ISO Latin 1 character set support for lang files
- Screen resolution can be changed by editing glest.ini.
- More configuration options
- Now terrain borders are alpha-blended, and look better
- Double click selects nearby units of the same type
- Model viewer and map editor have been moved to the editor pack
- New lang file format
- New glest.ini file format
0.3.1
- Opengl 1.2 and GL_ARB_multitexture support check
- G3d model viewer improvements
0.3.0
- Keyframe animation (linear interpolation)
- Particle systems (rain, snow, fire and magic projectile)
- New pathfinding algorithm (A* with g=0)
- New tile generation system (no more problems with triple intersections)
- Teams
- Map editor
- 3d model viewer
- More sounds
- Improved fog of war using multitexture (no more problems with water colors)
- Auto orders when clicking right mouse button
- New 3d models and animations
- New sun orbit (better lighting)
- New languaje strings added
- Selection circles reflect HP and MP status
- Progress bars
- Bug fixes
0.2.0
- Models (such as trees) have RGBA textures.
- Better lighting model now, less ambient and more difusse and specular
- Units have new skills and magics.
- Sound support (direct sound).
- Corpses now remain in the battlefield
- Unit format has totally changed, unit and buildings are the same now.
- Speed optimizations.
- glest.ini has more options.
- Units now try to mantain it's formation when receiving move commands.
- Some models have been remade (Archmage, Town Hall..)
- Buildings adapt to the terrain
- Lots of bug fixes.
0.1.6
- Unit models have been redesigned, now they have more polygons and detailed animations.
- Minor bug fixes.
The following earlier versions have been released, but no changelog is available:
0.1.5
0.1.4
0.1.3
0.1.2
0.1.1
0.1.0
0.0.3
0.0.2
0.0.1

View File

@ -0,0 +1,57 @@
MegaGlest Source Code License
You can redistribute this code and/or modify it under the terms of the GNU
General Public License as published by the Free Software Foundation; either
version 3 of the License, or (at your option) any later version.
The complete License is contained in this distribution in the file
'gnu_gpl_3.0.txt' and also available online at
http://www.gnu.org/licenses/gpl.html
Except where otherwise noted, all of the documentation, multimedia and software
included in the MegaGlest setup package is copyrighted by The MegaGlest Team.
Copyright (C) 2001-2011 The MegaGlest Team. All rights reserved.
This software is provided without any express or implied warranty. In no event
shall the author be held liable for any damages arising from the use of this
software.
This software may be redistributed freely, but all redistributions must retain
all occurences of the above copyright notice and web site addresses that are
currently in place and must provide full source code with ALL modifications.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
MegaGlest is a fork of Glest, so Glests' license terms also apply to MegaGlest.
The following text is an unmodified reproduction of the vanilla Glest license.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
==============================
Glest 3.2.1 Game License
==============================
Except where otherwise noted, all of the documentation, multimedia and software
included in the Glest Game setup package is copyrighted by the Glest Team.
Copyright (C) 2001-2009 The Glest Team. All rights reserved.
This software is provided without any express or implied warranty. In no event shall the author be held liable for any damages arising from the use of this software.
This software may be redistributed freely, but all redistributions must retain all occurences of the above copyright notice and web site addresses that are currently in place.
email: contact_game@glest.org
web: http://glest.org/
The Glest Team:
Programmer: Martiño Figueroa
Sound artist: Jose Luis González
2D and 3D artist: Tucho Fernández
2D artist and web: José Zanni
SDL port: Matze Braun
Animation: Félix Menéndez
3D artist: Marcos Caruncho

View File

@ -4,42 +4,16 @@
by Titus Tscharntke and Mark Vejvoda
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
README file for Linux
Build instructions for Linux
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1. System requirements
1. Architecture
Developed on Linux with glibc, little endian CPU. While MacIntel builds exist
(for some versions of the game), MegaGlest does not currently work on big
endian CPUs like PPC (though some unfinished patches for vanilla Glest float
around on the Glest boards, e.g. http://glest.org/glest_board/?topic=1426).
Hardware requirements:
* 5th generation x86 CPU with 1.5 GHz or better
(modern CPU series with at least two cores of at least 1.5 Ghz recommended)
* 1.0 GB RAM
(2.0 GB recommended)
* Graphics chip supporting OpenGL 1.3 with GL_ARB_env_crossbar and shader
extensions (=OpenGL 1.4 or glUseProgramObjectARB etc.) or higher
(dedicated video card with hardware 3D acceleration recommended)
* Audio chip supporting OpenAL
Software requirements:
* A supported (by its producer) operating system version
* Graphics drivers which work well with this operating system version and
support the OpenGL requirements discussed above
* Audio drivers supporting OpenAL
* A file archiving utility which provides a command line interface and can
decompress 7-zip archives
Current dedicated Nvidia and ATI hardware with vendor-supplied proprietary
drivers installed will provide the best experience. However, MegaGlest also
runs on most integrated Intel GMA, Nvidia and ATI GPUs, but you will feel an
urge to reduce effects.
Issues with proprietary drivers for 'legacy' ATI hardware have been and are
continuously reported. On Linux, open source 3D drivers are now (Linux 2.6.38,
Gallium 0.4 via DRI) starting to become usable for both many current and
legacy GPUs, and may help with this.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@ -48,9 +22,9 @@ legacy GPUs, and may help with this.
2.1 Prerequesites
The game depends on some tools and libraries to be present, before you can
start compiling it. Here's a list of them:
start compiling it:
* normal GNU compiler and additional tools (g++ version 3.2 or later is
* Standard GNU compiler and additional tools (g++ version 3.2 or later is
required at the moment)
* Kitware CMake 2.8 or later (used as build tool)
@ -125,6 +99,7 @@ Windows installers install to %ProgramFiles%, so to the systems' global scope.
There are also community maintained packages available for several Linux and
BSD distributions. Please see the website, forums and wiki for details.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3. Troubleshooting
@ -147,7 +122,7 @@ Sound/Audio errors when starting:
* If this doesn't solve your sound problems try to get an updated OpenAL from
http://openal.org or a newer repository provided by your distribution.
The game complains about OpenGL1.3 not available, is missing OpenGL extensions
The game complains about OpenGL 1.3 not available, is missing OpenGL extensions
or works very slowly:
* Look at glxinfo and make sure the system is using the drivers you want to
use. Often the proprietary ATI or NVIDIA drivers work better, but for Intel,
@ -160,6 +135,7 @@ The game crashes:
not yet described on the forums, preferably with a gdb backtrace from a
debugging enabled build (cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
4. More information
@ -173,6 +149,7 @@ The game crashes:
* Forums
http://forums.megaglest.org/
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
5. Contact + Credits
@ -184,6 +161,9 @@ MegaGlest is developed by:
General contact:
contact@megaglest.org
Website:
http://megaglest.org
MegaGlest is a fork of Glest:
http://glest.org/
@ -191,4 +171,4 @@ Linux port by:
Matthias Braun <matze@braunis.de> with help from Karl Robillard
<krobbillard@san.rr.com>
Please also refer the copyright file.
Please also refer to the copyright file.

View File

@ -4,44 +4,15 @@
by Titus Tscharntke and Mark Vejvoda
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
README file for Windows
Build instructions for Windows
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1. System requirements
1. Architecture
Developed on Windows with Microsoft Visual C++ 2008 Express (free version),
little endian CPU. Compiling using the mingw32 toolset is now possible, which
also allows for cross compiling.
Hardware requirements:
* 5th generation x86 CPU with 1.5 GHz or better
(modern CPU series with at least two cores of at least 1.5 Ghz recommended)
* 1.0 GB RAM
(2.0 GB recommended)
* Graphics chip supporting OpenGL 1.3 with GL_ARB_env_crossbar and shader
extensions (=OpenGL 1.4 or glUseProgramObjectARB etc.) or higher
(dedicated video card with hardware 3D acceleration recommended)
* Audio chip supporting OpenAL
Software requirements:
* A supported (by its producer) operating system version
* Graphics drivers which work well with this operating system version and
support the OpenGL requirements discussed above
* Audio drivers supporting OpenAL
* A file archiving utility which provides a command line interface and can
decompress 7-zip archives
The Windows version runs on 32 and 64 bit variants of Windows and has been
reported to run on Windows versions up to and including Windows 7.
Current dedicated Nvidia and ATI hardware with vendor-supplied proprietary
drivers installed will provide the best experience. However, MegaGlest also
runs on most integrated Intel GMA, Nvidia and ATI GPUs, but you will feel an
urge to reduce effects.
Issues with proprietary drivers for 'legacy' ATI hardware have been and are
continuously reported. On Windows, 'patched (current) drivers' can sometimes
help there (and other times they make things worse).
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@ -67,6 +38,8 @@ These include:
http://xerces.apache.org/xerces-c/
* wxWidgets
http://wxwidgets.org/
* For a more verbose list, please inspect the archive contents and refer to the
Linux build instructions.
2.2 Building
@ -96,8 +69,40 @@ system-wide installation below Program Files and setup Desktop icons for
simplified access. User specific configuration will be stored within the
directory tree the %AppData% environment variable points to.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3. Troubleshooting
Some hints for troubleshooting.
In General:
* Make sure both hard- and software of your system match the requirements
* Sound is played through OpenAL - you might need to take a look at your
configuration: http://supertux.lethargik.org/wiki/OpenAL_Configuration
Compiling:
* If configure fails make sure you have read the Building section above
Sound/Audio errors when starting:
* If the game doesn't start because of audio/sound errors:
Make sure no other application is using your soundcard.
* If this doesn't solve your sound problems try to get an updated OpenAL from
http://openal.org
The game complains about OpenGL 1.3 not available, is missing OpenGL extensions
or works very slowly:
* Try to get updated graphics drivers.
The game crashes:
* Check the forums at http://forums.megaglest.org/
* It would be nice if you could report any other crashes and freezes that are
not yet described on the forums, preferably with a backtrace from a
debugging enabled build
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
4. More information
* Website
@ -109,6 +114,7 @@ directory tree the %AppData% environment variable points to.
* Forums
http://forums.megaglest.org/
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
5. Contact + Credits
@ -120,6 +126,9 @@ MegaGlest is developed by:
General contact:
contact@megaglest.org
Website:
http://megaglest.org
MegaGlest is a fork of Glest:
http://glest.org/
@ -127,4 +136,4 @@ Linux port by:
Matthias Braun <matze@braunis.de> with help from Karl Robillard
<krobbillard@san.rr.com>
Please also refer the copyright file.
Please also refer to the copyright file.

256
docs/README.txt Normal file
View File

@ -0,0 +1,256 @@
MEGAGLEST
by Titus Tscharntke and Mark Vejvoda
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
MegaGlest README
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Contents:
1. System requirements
2. Installation
3. Configuration
4. Controls
5. Network play
6. Command line options
7. Support and further information
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1. System requirements
Hardware requirements:
* 6th generation x86 CPU with 1.5 GHz or better
(modern CPU series with at least two cores of at least 1.5 Ghz recommended)
* 1.0 GB RAM
(2.0 GB recommended)
* Graphics chip supporting OpenGL 1.3 with GL_ARB_env_crossbar and shader
extensions (=OpenGL 1.4 or glUseProgramObjectARB etc.) or higher
(dedicated video card with hardware 3D acceleration recommended)
* Audio chip supporting OpenAL
Software requirements:
* A supported (by its producer) operating system version
* Graphics drivers which work well with this operating system version and
support the OpenGL requirements discussed above
* Audio drivers supporting OpenAL
* A file archiving utility which provides a command line interface and can
decompress 7-zip archives
The MegaGlest Team currently provides builds and Installers for Linux and
Windows. The Linux version is available in 32 and 64 bit variants which have
been reported to run on Ubuntu 8.04 to 11.04, various versions of Debian,
OpenSuSE 11.1 to 11.3, and many other distributions. The Windows version runs
on 32 and 64 bit variants of Windows and has been reported to run on Windows
versions up to and including Windows 7.
There are also distribution maintained or community provided distribution
specific packages available for several Linux and BSD distributions and OS X.
Please see the website, forums and wiki for details.
Graphics hardware and drivers:
Current dedicated Nvidia and ATI hardware with vendor-supplied proprietary
drivers installed will provide the best experience. MegaGlest also runs fine on
most integrated Intel GMA, Nvidia and ATI GPUs, but you will feel an urge to
reduce effects.
Issues with proprietary drivers for 'legacy' ATI hardware have been and are
continuously reported. On Linux, open source 3D drivers are now (Linux 2.6.38,
Gallium 0.4 via DRI) starting to become usable for both many current and
legacy GPUs, and may help with the proprietary drivers' shortcomings.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2. Installation
Linux:
Note that due to the various Linux window manager variants we can only provide
generic installation instructions here. Please check the FAQ and read up on the
forums for more verbose instructions.
After downloading the installer package, you need to make it executable. Use
your file manager/browser to browse to the directory containing the downloaded
file. Right-click the file, select the option to inspect and change this files'
properties/permissions, and make the file executable by its owner. Now double-
click the file to execute it.
The graphical installer will show up and display the MegaGlest license. Install
the game into your home directory (default location) or a location of your
choice (within the boundaries of where your Linux user may write to, so
probably anywhere below your home directory only). Once the installer
completes, a MegaGlest starter/shortcut will show up on your window managers'
application menu.
Windows:
All you should need to do on Windows is to double-click the downloaded file.
You may get to see a warning saying that this file you downloaded from the
Internet may be unsafe. However, if you downloaded this file from a trusted
source, such as http://megaglest.org/, it is safe to proceed.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3. Configuration
MegaGlest can be configured in three ways:
- in-game config menu: basic parameters
- using the separate configuration utility
- manual editing of glestuser.ini (options) and glestuserkeys.ini (hotkeys)
DO NOT directly edit glest.ini and glestkeys.ini but rather edit glestuser.ini
and glestuserkeys.ini and create your user over-ride values in these files.
On Linux, these files are located in ~/.megaglest/. On Windows, these files are
stored at %AppData%\megaglest (Windows XP) or %AppData%\roaming\megaglest (any
later version). '%AppData%' is an environment variable which may point to a
different location depending on your login name and Windows version.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
4. Controls
Most (if not all) keyboard controls are defined in glestkeys.ini and should be
changed ONLY in the user defined file called glestuserkeys.ini (which overrides
the default keyboard values).
* Camera keyboard controls *
f => toggle free camera mode
w => move camera up (free camera mode only)
s => move camera down (free camera mode only)
a => rotate camera left (free camera mode only)
d => rotate camera right (free camera mode only)
g => center camera on selection
space => reset camera to default position
up arrow or mouse on top => move camera forward
down arrow or mouse on bottom => move camera backward
left arrow or mouse on left => move camera left
right arrow or mouse on right => move camera right
* Orders and Unit selection keyboard controls *
left mouse button => select or deselect units
shift + left mouse button => add unit to selection
control + left mouse button => remove unit from selection
left mouse double click => select nearby units of this type
right mouse button => auto order
menu click => activate order
left mouse when order activated => give order
right mouse when order activated => cancel state
number => recall group
control + number => assign group
* Network keyboard controls*
enter => start typing/send chat message
h => toggle between 'All' and 'Team' chat modes
n => show network status
* Hotkeys (game camera mode only) *
a => activate attack command for selection
s => issue stop command to selection
i => select next idle harvester
b => select next building
d => select next damaged unit
t => select next storage unit
r => rotate building before placement
* Other Keys *
- + => adjust game speed (disabled in multiplayer)
p => pause game (disabled in multiplayer)
e => save screen shot to file
c => toggle ingame font color (and font shadow)
m => show faded mesages again
? => when DebugMode=true, display debug info
/ => toggle mouse pointer rendering mode (OS/MG)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
5. Network play
To start a network game, one of the players has to create a new game, open some
network slots and the other players have to join.
The best ways to find people to play a multi-player game are:
a) using the Internet Game menu
b) scheduling a game on the Glest forums
c) finding other players on the #glest IRC channel on irc.freenode.net.
For LAN play, clients may click the 'Find LAN games' menu item to find servers
with an open network slot on the local network (this uses UDP broadcasting).
For Internet play there is an Internet Game menu item which allows clients to
find published servers. Players who wish to host Internet games (servers) may
'publish' their game to the masterserver via the 'Publish on Masterserver
option in the Custom Game menu.
If you want to host games, you should know that MegaGlest uses TCP ports
61357-61366 by default. If you are behind a router you will have to forward
these ports to the LAN IP address of your computer. These ports may be changed
via glestuser.ini.
All players have to be using the same binaries of the game and have exactly
the same map, tileset and tech tree. This means that if you have mods installed
in the tech tree that is being used for the game, every player has to have the
same mods.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
6. Command line options
megaglest => start game normally
megaglest --version => display the version string
megaglest --server => start in the custom game screen
with all slots open
megaglest --client ServerIp => start game connecting to a server
On Windows, replace 'megaglest' by 'glest_game' for now.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
7. Support and further information
Further information:
- The MegaGlest website:
http://megaglest.org
- The MegaGlest wiki:
http://wiki.megaglest.org
- Contact us (see below)
Support:
Please keep in mind that this is a completely volunteer run project. We do this
in our spare time and look forward to meet people who try to fix problems on
their own by reading up on available documentation before getting in touch.
- The MegaGlest FAQ:
http://faq.megaglest.org
- Post to the forums:
If you are reporting a bug, please be sure to read the bug reporting guide.
http://forums.megaglest.org
- Contact us on IRC:
Network: irc.freenode.net
Channel: #glest
Or use the webchat at http://chat.megaglest.org/

View File

@ -1,223 +0,0 @@
GNU GENERAL PUBLIC LICENSE
Version 3, 29 June 2007
Copyright © 2007 Free Software Foundation, Inc. <http://fsf.org/>
Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.
Preamble
The GNU General Public License is a free, copyleft license for software and other kinds of works.
The licenses for most software and other practical works are designed to take away your freedom to share and change the works. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change all versions of a program--to make sure it remains free software for all its users. We, the Free Software Foundation, use the GNU General Public License for most of our software; it applies also to any other work released this way by its authors. You can apply it to your programs, too.
When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for them if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs, and that you know you can do these things.
To protect your rights, we need to prevent others from denying you these rights or asking you to surrender the rights. Therefore, you have certain responsibilities if you distribute copies of the software, or if you modify it: responsibilities to respect the freedom of others.
For example, if you distribute copies of such a program, whether gratis or for a fee, you must pass on to the recipients the same freedoms that you received. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights.
Developers that use the GNU GPL protect your rights with two steps: (1) assert copyright on the software, and (2) offer you this License giving you legal permission to copy, distribute and/or modify it.
For the developers' and authors' protection, the GPL clearly explains that there is no warranty for this free software. For both users' and authors' sake, the GPL requires that modified versions be marked as changed, so that their problems will not be attributed erroneously to authors of previous versions.
Some devices are designed to deny users access to install or run modified versions of the software inside them, although the manufacturer can do so. This is fundamentally incompatible with the aim of protecting users' freedom to change the software. The systematic pattern of such abuse occurs in the area of products for individuals to use, which is precisely where it is most unacceptable. Therefore, we have designed this version of the GPL to prohibit the practice for those products. If such problems arise substantially in other domains, we stand ready to extend this provision to those domains in future versions of the GPL, as needed to protect the freedom of users.
Finally, every program is threatened constantly by software patents. States should not allow patents to restrict development and use of software on general-purpose computers, but in those that do, we wish to avoid the special danger that patents applied to a free program could make it effectively proprietary. To prevent this, the GPL assures that patents cannot be used to render the program non-free.
The precise terms and conditions for copying, distribution and modification follow.
TERMS AND CONDITIONS
0. Definitions.
“This License” refers to version 3 of the GNU General Public License.
“Copyright” also means copyright-like laws that apply to other kinds of works, such as semiconductor masks.
“The Program” refers to any copyrightable work licensed under this License. Each licensee is addressed as “you”. “Licensees” and “recipients” may be individuals or organizations.
To “modify” a work means to copy from or adapt all or part of the work in a fashion requiring copyright permission, other than the making of an exact copy. The resulting work is called a “modified version” of the earlier work or a work “based on” the earlier work.
A “covered work” means either the unmodified Program or a work based on the Program.
To “propagate” a work means to do anything with it that, without permission, would make you directly or secondarily liable for infringement under applicable copyright law, except executing it on a computer or modifying a private copy. Propagation includes copying, distribution (with or without modification), making available to the public, and in some countries other activities as well.
To “convey” a work means any kind of propagation that enables other parties to make or receive copies. Mere interaction with a user through a computer network, with no transfer of a copy, is not conveying.
An interactive user interface displays “Appropriate Legal Notices” to the extent that it includes a convenient and prominently visible feature that (1) displays an appropriate copyright notice, and (2) tells the user that there is no warranty for the work (except to the extent that warranties are provided), that licensees may convey the work under this License, and how to view a copy of this License. If the interface presents a list of user commands or options, such as a menu, a prominent item in the list meets this criterion.
1. Source Code.
The “source code” for a work means the preferred form of the work for making modifications to it. “Object code” means any non-source form of a work.
A “Standard Interface” means an interface that either is an official standard defined by a recognized standards body, or, in the case of interfaces specified for a particular programming language, one that is widely used among developers working in that language.
The “System Libraries” of an executable work include anything, other than the work as a whole, that (a) is included in the normal form of packaging a Major Component, but which is not part of that Major Component, and (b) serves only to enable use of the work with that Major Component, or to implement a Standard Interface for which an implementation is available to the public in source code form. A “Major Component”, in this context, means a major essential component (kernel, window system, and so on) of the specific operating system (if any) on which the executable work runs, or a compiler used to produce the work, or an object code interpreter used to run it.
The “Corresponding Source” for a work in object code form means all the source code needed to generate, install, and (for an executable work) run the object code and to modify the work, including scripts to control those activities. However, it does not include the work's System Libraries, or general-purpose tools or generally available free programs which are used unmodified in performing those activities but which are not part of the work. For example, Corresponding Source includes interface definition files associated with source files for the work, and the source code for shared libraries and dynamically linked subprograms that the work is specifically designed to require, such as by intimate data communication or control flow between those subprograms and other parts of the work.
The Corresponding Source need not include anything that users can regenerate automatically from other parts of the Corresponding Source.
The Corresponding Source for a work in source code form is that same work.
2. Basic Permissions.
All rights granted under this License are granted for the term of copyright on the Program, and are irrevocable provided the stated conditions are met. This License explicitly affirms your unlimited permission to run the unmodified Program. The output from running a covered work is covered by this License only if the output, given its content, constitutes a covered work. This License acknowledges your rights of fair use or other equivalent, as provided by copyright law.
You may make, run and propagate covered works that you do not convey, without conditions so long as your license otherwise remains in force. You may convey covered works to others for the sole purpose of having them make modifications exclusively for you, or provide you with facilities for running those works, provided that you comply with the terms of this License in conveying all material for which you do not control copyright. Those thus making or running the covered works for you must do so exclusively on your behalf, under your direction and control, on terms that prohibit them from making any copies of your copyrighted material outside their relationship with you.
Conveying under any other circumstances is permitted solely under the conditions stated below. Sublicensing is not allowed; section 10 makes it unnecessary.
3. Protecting Users' Legal Rights From Anti-Circumvention Law.
No covered work shall be deemed part of an effective technological measure under any applicable law fulfilling obligations under article 11 of the WIPO copyright treaty adopted on 20 December 1996, or similar laws prohibiting or restricting circumvention of such measures.
When you convey a covered work, you waive any legal power to forbid circumvention of technological measures to the extent such circumvention is effected by exercising rights under this License with respect to the covered work, and you disclaim any intention to limit operation or modification of the work as a means of enforcing, against the work's users, your or third parties' legal rights to forbid circumvention of technological measures.
4. Conveying Verbatim Copies.
You may convey verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice; keep intact all notices stating that this License and any non-permissive terms added in accord with section 7 apply to the code; keep intact all notices of the absence of any warranty; and give all recipients a copy of this License along with the Program.
You may charge any price or no price for each copy that you convey, and you may offer support or warranty protection for a fee.
5. Conveying Modified Source Versions.
You may convey a work based on the Program, or the modifications to produce it from the Program, in the form of source code under the terms of section 4, provided that you also meet all of these conditions:
a) The work must carry prominent notices stating that you modified it, and giving a relevant date.
b) The work must carry prominent notices stating that it is released under this License and any conditions added under section 7. This requirement modifies the requirement in section 4 to “keep intact all notices”.
c) You must license the entire work, as a whole, under this License to anyone who comes into possession of a copy. This License will therefore apply, along with any applicable section 7 additional terms, to the whole of the work, and all its parts, regardless of how they are packaged. This License gives no permission to license the work in any other way, but it does not invalidate such permission if you have separately received it.
d) If the work has interactive user interfaces, each must display Appropriate Legal Notices; however, if the Program has interactive interfaces that do not display Appropriate Legal Notices, your work need not make them do so.
A compilation of a covered work with other separate and independent works, which are not by their nature extensions of the covered work, and which are not combined with it such as to form a larger program, in or on a volume of a storage or distribution medium, is called an “aggregate” if the compilation and its resulting copyright are not used to limit the access or legal rights of the compilation's users beyond what the individual works permit. Inclusion of a covered work in an aggregate does not cause this License to apply to the other parts of the aggregate.
6. Conveying Non-Source Forms.
You may convey a covered work in object code form under the terms of sections 4 and 5, provided that you also convey the machine-readable Corresponding Source under the terms of this License, in one of these ways:
a) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by the Corresponding Source fixed on a durable physical medium customarily used for software interchange.
b) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by a written offer, valid for at least three years and valid for as long as you offer spare parts or customer support for that product model, to give anyone who possesses the object code either (1) a copy of the Corresponding Source for all the software in the product that is covered by this License, on a durable physical medium customarily used for software interchange, for a price no more than your reasonable cost of physically performing this conveying of source, or (2) access to copy the Corresponding Source from a network server at no charge.
c) Convey individual copies of the object code with a copy of the written offer to provide the Corresponding Source. This alternative is allowed only occasionally and noncommercially, and only if you received the object code with such an offer, in accord with subsection 6b.
d) Convey the object code by offering access from a designated place (gratis or for a charge), and offer equivalent access to the Corresponding Source in the same way through the same place at no further charge. You need not require recipients to copy the Corresponding Source along with the object code. If the place to copy the object code is a network server, the Corresponding Source may be on a different server (operated by you or a third party) that supports equivalent copying facilities, provided you maintain clear directions next to the object code saying where to find the Corresponding Source. Regardless of what server hosts the Corresponding Source, you remain obligated to ensure that it is available for as long as needed to satisfy these requirements.
e) Convey the object code using peer-to-peer transmission, provided you inform other peers where the object code and Corresponding Source of the work are being offered to the general public at no charge under subsection 6d.
A separable portion of the object code, whose source code is excluded from the Corresponding Source as a System Library, need not be included in conveying the object code work.
A “User Product” is either (1) a “consumer product”, which means any tangible personal property which is normally used for personal, family, or household purposes, or (2) anything designed or sold for incorporation into a dwelling. In determining whether a product is a consumer product, doubtful cases shall be resolved in favor of coverage. For a particular product received by a particular user, “normally used” refers to a typical or common use of that class of product, regardless of the status of the particular user or of the way in which the particular user actually uses, or expects or is expected to use, the product. A product is a consumer product regardless of whether the product has substantial commercial, industrial or non-consumer uses, unless such uses represent the only significant mode of use of the product.
“Installation Information” for a User Product means any methods, procedures, authorization keys, or other information required to install and execute modified versions of a covered work in that User Product from a modified version of its Corresponding Source. The information must suffice to ensure that the continued functioning of the modified object code is in no case prevented or interfered with solely because modification has been made.
If you convey an object code work under this section in, or with, or specifically for use in, a User Product, and the conveying occurs as part of a transaction in which the right of possession and use of the User Product is transferred to the recipient in perpetuity or for a fixed term (regardless of how the transaction is characterized), the Corresponding Source conveyed under this section must be accompanied by the Installation Information. But this requirement does not apply if neither you nor any third party retains the ability to install modified object code on the User Product (for example, the work has been installed in ROM).
The requirement to provide Installation Information does not include a requirement to continue to provide support service, warranty, or updates for a work that has been modified or installed by the recipient, or for the User Product in which it has been modified or installed. Access to a network may be denied when the modification itself materially and adversely affects the operation of the network or violates the rules and protocols for communication across the network.
Corresponding Source conveyed, and Installation Information provided, in accord with this section must be in a format that is publicly documented (and with an implementation available to the public in source code form), and must require no special password or key for unpacking, reading or copying.
7. Additional Terms.
“Additional permissions” are terms that supplement the terms of this License by making exceptions from one or more of its conditions. Additional permissions that are applicable to the entire Program shall be treated as though they were included in this License, to the extent that they are valid under applicable law. If additional permissions apply only to part of the Program, that part may be used separately under those permissions, but the entire Program remains governed by this License without regard to the additional permissions.
When you convey a copy of a covered work, you may at your option remove any additional permissions from that copy, or from any part of it. (Additional permissions may be written to require their own removal in certain cases when you modify the work.) You may place additional permissions on material, added by you to a covered work, for which you have or can give appropriate copyright permission.
Notwithstanding any other provision of this License, for material you add to a covered work, you may (if authorized by the copyright holders of that material) supplement the terms of this License with terms:
a) Disclaiming warranty or limiting liability differently from the terms of sections 15 and 16 of this License; or
b) Requiring preservation of specified reasonable legal notices or author attributions in that material or in the Appropriate Legal Notices displayed by works containing it; or
c) Prohibiting misrepresentation of the origin of that material, or requiring that modified versions of such material be marked in reasonable ways as different from the original version; or
d) Limiting the use for publicity purposes of names of licensors or authors of the material; or
e) Declining to grant rights under trademark law for use of some trade names, trademarks, or service marks; or
f) Requiring indemnification of licensors and authors of that material by anyone who conveys the material (or modified versions of it) with contractual assumptions of liability to the recipient, for any liability that these contractual assumptions directly impose on those licensors and authors.
All other non-permissive additional terms are considered “further restrictions” within the meaning of section 10. If the Program as you received it, or any part of it, contains a notice stating that it is governed by this License along with a term that is a further restriction, you may remove that term. If a license document contains a further restriction but permits relicensing or conveying under this License, you may add to a covered work material governed by the terms of that license document, provided that the further restriction does not survive such relicensing or conveying.
If you add terms to a covered work in accord with this section, you must place, in the relevant source files, a statement of the additional terms that apply to those files, or a notice indicating where to find the applicable terms.
Additional terms, permissive or non-permissive, may be stated in the form of a separately written license, or stated as exceptions; the above requirements apply either way.
8. Termination.
You may not propagate or modify a covered work except as expressly provided under this License. Any attempt otherwise to propagate or modify it is void, and will automatically terminate your rights under this License (including any patent licenses granted under the third paragraph of section 11).
However, if you cease all violation of this License, then your license from a particular copyright holder is reinstated (a) provisionally, unless and until the copyright holder explicitly and finally terminates your license, and (b) permanently, if the copyright holder fails to notify you of the violation by some reasonable means prior to 60 days after the cessation.
Moreover, your license from a particular copyright holder is reinstated permanently if the copyright holder notifies you of the violation by some reasonable means, this is the first time you have received notice of violation of this License (for any work) from that copyright holder, and you cure the violation prior to 30 days after your receipt of the notice.
Termination of your rights under this section does not terminate the licenses of parties who have received copies or rights from you under this License. If your rights have been terminated and not permanently reinstated, you do not qualify to receive new licenses for the same material under section 10.
9. Acceptance Not Required for Having Copies.
You are not required to accept this License in order to receive or run a copy of the Program. Ancillary propagation of a covered work occurring solely as a consequence of using peer-to-peer transmission to receive a copy likewise does not require acceptance. However, nothing other than this License grants you permission to propagate or modify any covered work. These actions infringe copyright if you do not accept this License. Therefore, by modifying or propagating a covered work, you indicate your acceptance of this License to do so.
10. Automatic Licensing of Downstream Recipients.
Each time you convey a covered work, the recipient automatically receives a license from the original licensors, to run, modify and propagate that work, subject to this License. You are not responsible for enforcing compliance by third parties with this License.
An “entity transaction” is a transaction transferring control of an organization, or substantially all assets of one, or subdividing an organization, or merging organizations. If propagation of a covered work results from an entity transaction, each party to that transaction who receives a copy of the work also receives whatever licenses to the work the party's predecessor in interest had or could give under the previous paragraph, plus a right to possession of the Corresponding Source of the work from the predecessor in interest, if the predecessor has it or can get it with reasonable efforts.
You may not impose any further restrictions on the exercise of the rights granted or affirmed under this License. For example, you may not impose a license fee, royalty, or other charge for exercise of rights granted under this License, and you may not initiate litigation (including a cross-claim or counterclaim in a lawsuit) alleging that any patent claim is infringed by making, using, selling, offering for sale, or importing the Program or any portion of it.
11. Patents.
A “contributor” is a copyright holder who authorizes use under this License of the Program or a work on which the Program is based. The work thus licensed is called the contributor's “contributor version”.
A contributor's “essential patent claims” are all patent claims owned or controlled by the contributor, whether already acquired or hereafter acquired, that would be infringed by some manner, permitted by this License, of making, using, or selling its contributor version, but do not include claims that would be infringed only as a consequence of further modification of the contributor version. For purposes of this definition, “control” includes the right to grant patent sublicenses in a manner consistent with the requirements of this License.
Each contributor grants you a non-exclusive, worldwide, royalty-free patent license under the contributor's essential patent claims, to make, use, sell, offer for sale, import and otherwise run, modify and propagate the contents of its contributor version.
In the following three paragraphs, a “patent license” is any express agreement or commitment, however denominated, not to enforce a patent (such as an express permission to practice a patent or covenant not to sue for patent infringement). To “grant” such a patent license to a party means to make such an agreement or commitment not to enforce a patent against the party.
If you convey a covered work, knowingly relying on a patent license, and the Corresponding Source of the work is not available for anyone to copy, free of charge and under the terms of this License, through a publicly available network server or other readily accessible means, then you must either (1) cause the Corresponding Source to be so available, or (2) arrange to deprive yourself of the benefit of the patent license for this particular work, or (3) arrange, in a manner consistent with the requirements of this License, to extend the patent license to downstream recipients. “Knowingly relying” means you have actual knowledge that, but for the patent license, your conveying the covered work in a country, or your recipient's use of the covered work in a country, would infringe one or more identifiable patents in that country that you have reason to believe are valid.
If, pursuant to or in connection with a single transaction or arrangement, you convey, or propagate by procuring conveyance of, a covered work, and grant a patent license to some of the parties receiving the covered work authorizing them to use, propagate, modify or convey a specific copy of the covered work, then the patent license you grant is automatically extended to all recipients of the covered work and works based on it.
A patent license is “discriminatory” if it does not include within the scope of its coverage, prohibits the exercise of, or is conditioned on the non-exercise of one or more of the rights that are specifically granted under this License. You may not convey a covered work if you are a party to an arrangement with a third party that is in the business of distributing software, under which you make payment to the third party based on the extent of your activity of conveying the work, and under which the third party grants, to any of the parties who would receive the covered work from you, a discriminatory patent license (a) in connection with copies of the covered work conveyed by you (or copies made from those copies), or (b) primarily for and in connection with specific products or compilations that contain the covered work, unless you entered into that arrangement, or that patent license was granted, prior to 28 March 2007.
Nothing in this License shall be construed as excluding or limiting any implied license or other defenses to infringement that may otherwise be available to you under applicable patent law.
12. No Surrender of Others' Freedom.
If conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot convey a covered work so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not convey it at all. For example, if you agree to terms that obligate you to collect a royalty for further conveying from those to whom you convey the Program, the only way you could satisfy both those terms and this License would be to refrain entirely from conveying the Program.
13. Use with the GNU Affero General Public License.
Notwithstanding any other provision of this License, you have permission to link or combine any covered work with a work licensed under version 3 of the GNU Affero General Public License into a single combined work, and to convey the resulting work. The terms of this License will continue to apply to the part which is the covered work, but the special requirements of the GNU Affero General Public License, section 13, concerning interaction through a network will apply to the combination as such.
14. Revised Versions of this License.
The Free Software Foundation may publish revised and/or new versions of the GNU General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns.
Each version is given a distinguishing version number. If the Program specifies that a certain numbered version of the GNU General Public License “or any later version” applies to it, you have the option of following the terms and conditions either of that numbered version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of the GNU General Public License, you may choose any version ever published by the Free Software Foundation.
If the Program specifies that a proxy can decide which future versions of the GNU General Public License can be used, that proxy's public statement of acceptance of a version permanently authorizes you to choose that version for the Program.
Later license versions may give you additional or different permissions. However, no additional obligations are imposed on any author or copyright holder as a result of your choosing to follow a later version.
15. Disclaimer of Warranty.
THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM “AS IS” WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
16. Limitation of Liability.
IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
17. Interpretation of Sections 15 and 16.
If the disclaimer of warranty and limitation of liability provided above cannot be given local legal effect according to their terms, reviewing courts shall apply local law that most closely approximates an absolute waiver of all civil liability in connection with the Program, unless a warranty or assumption of liability accompanies a copy of the Program in return for a fee.
END OF TERMS AND CONDITIONS
How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms.
To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively state the exclusion of warranty; and each file should have at least the “copyright” line and a pointer to where the full notice is found.
<one line to give the program's name and a brief idea of what it does.>
Copyright (C) <year> <name of author>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
Also add information on how to contact you by electronic and paper mail.
If the program does terminal interaction, make it output a short notice like this when it starts in an interactive mode:
<program> Copyright (C) <year> <name of author>
This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show c' for details.
The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, your program's commands might be different; for a GUI interface, you would use an “about box”.
You should also get your employer (if you work as a programmer) or school, if any, to sign a “copyright disclaimer” for the program, if necessary. For more information on this, and how to apply and follow the GNU GPL, see <http://www.gnu.org/licenses/>.
The GNU General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Lesser General Public License instead of this License. But first, please read <http://www.gnu.org/philosophy/why-not-lgpl.html>.

View File

@ -1,29 +0,0 @@
MegaGlest source code v3.2.x and higher -
Copyright (C) 2009-2011 Titus Tscharntke (info@titusgames.de) and Mark Vejvoda
(mark_vejvoda@hotmail.com).
Glest source code v3.2.x -
Copyright (C) 2002-2009 Martiño Figueroa (http://glest.org -
contact_game@glest.org).
You can redistribute this code and/or modify it under the terms of the GNU
General Public License as published by the Free Software Foundation; either
version 3 of the License, or (at your option) any later version.
(http://www.gnu.org/licenses/gpl.html)
Except where otherwise noted, all of the documentation, multimedia and software
included in the MegaGlest Game setup package is copyrighted by The MegaGlest
Team.
Copyright (C) 2001-2011 The MegaGlest Team. All rights reserved.
This software is provided without any express or implied warranty. In no event
shall the author be held liable for any damages arising from the use of this
software.
This software may be redistributed freely, but all redistributions must retain
all occurences of the above copyright notice and web site addresses that are
currently in place and provide full source code with ALL modifications.
For compilation instructions or any other info please visit the development
documentation at http://megaglest.org/.

674
docs/gnu_gpl_3.0.txt Normal file
View File

@ -0,0 +1,674 @@
GNU GENERAL PUBLIC LICENSE
Version 3, 29 June 2007
Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
Preamble
The GNU General Public License is a free, copyleft license for
software and other kinds of works.
The licenses for most software and other practical works are designed
to take away your freedom to share and change the works. By contrast,
the GNU General Public License is intended to guarantee your freedom to
share and change all versions of a program--to make sure it remains free
software for all its users. We, the Free Software Foundation, use the
GNU General Public License for most of our software; it applies also to
any other work released this way by its authors. You can apply it to
your programs, too.
When we speak of free software, we are referring to freedom, not
price. Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
them if you wish), that you receive source code or can get it if you
want it, that you can change the software or use pieces of it in new
free programs, and that you know you can do these things.
To protect your rights, we need to prevent others from denying you
these rights or asking you to surrender the rights. Therefore, you have
certain responsibilities if you distribute copies of the software, or if
you modify it: responsibilities to respect the freedom of others.
For example, if you distribute copies of such a program, whether
gratis or for a fee, you must pass on to the recipients the same
freedoms that you received. You must make sure that they, too, receive
or can get the source code. And you must show them these terms so they
know their rights.
Developers that use the GNU GPL protect your rights with two steps:
(1) assert copyright on the software, and (2) offer you this License
giving you legal permission to copy, distribute and/or modify it.
For the developers' and authors' protection, the GPL clearly explains
that there is no warranty for this free software. For both users' and
authors' sake, the GPL requires that modified versions be marked as
changed, so that their problems will not be attributed erroneously to
authors of previous versions.
Some devices are designed to deny users access to install or run
modified versions of the software inside them, although the manufacturer
can do so. This is fundamentally incompatible with the aim of
protecting users' freedom to change the software. The systematic
pattern of such abuse occurs in the area of products for individuals to
use, which is precisely where it is most unacceptable. Therefore, we
have designed this version of the GPL to prohibit the practice for those
products. If such problems arise substantially in other domains, we
stand ready to extend this provision to those domains in future versions
of the GPL, as needed to protect the freedom of users.
Finally, every program is threatened constantly by software patents.
States should not allow patents to restrict development and use of
software on general-purpose computers, but in those that do, we wish to
avoid the special danger that patents applied to a free program could
make it effectively proprietary. To prevent this, the GPL assures that
patents cannot be used to render the program non-free.
The precise terms and conditions for copying, distribution and
modification follow.
TERMS AND CONDITIONS
0. Definitions.
"This License" refers to version 3 of the GNU General Public License.
"Copyright" also means copyright-like laws that apply to other kinds of
works, such as semiconductor masks.
"The Program" refers to any copyrightable work licensed under this
License. Each licensee is addressed as "you". "Licensees" and
"recipients" may be individuals or organizations.
To "modify" a work means to copy from or adapt all or part of the work
in a fashion requiring copyright permission, other than the making of an
exact copy. The resulting work is called a "modified version" of the
earlier work or a work "based on" the earlier work.
A "covered work" means either the unmodified Program or a work based
on the Program.
To "propagate" a work means to do anything with it that, without
permission, would make you directly or secondarily liable for
infringement under applicable copyright law, except executing it on a
computer or modifying a private copy. Propagation includes copying,
distribution (with or without modification), making available to the
public, and in some countries other activities as well.
To "convey" a work means any kind of propagation that enables other
parties to make or receive copies. Mere interaction with a user through
a computer network, with no transfer of a copy, is not conveying.
An interactive user interface displays "Appropriate Legal Notices"
to the extent that it includes a convenient and prominently visible
feature that (1) displays an appropriate copyright notice, and (2)
tells the user that there is no warranty for the work (except to the
extent that warranties are provided), that licensees may convey the
work under this License, and how to view a copy of this License. If
the interface presents a list of user commands or options, such as a
menu, a prominent item in the list meets this criterion.
1. Source Code.
The "source code" for a work means the preferred form of the work
for making modifications to it. "Object code" means any non-source
form of a work.
A "Standard Interface" means an interface that either is an official
standard defined by a recognized standards body, or, in the case of
interfaces specified for a particular programming language, one that
is widely used among developers working in that language.
The "System Libraries" of an executable work include anything, other
than the work as a whole, that (a) is included in the normal form of
packaging a Major Component, but which is not part of that Major
Component, and (b) serves only to enable use of the work with that
Major Component, or to implement a Standard Interface for which an
implementation is available to the public in source code form. A
"Major Component", in this context, means a major essential component
(kernel, window system, and so on) of the specific operating system
(if any) on which the executable work runs, or a compiler used to
produce the work, or an object code interpreter used to run it.
The "Corresponding Source" for a work in object code form means all
the source code needed to generate, install, and (for an executable
work) run the object code and to modify the work, including scripts to
control those activities. However, it does not include the work's
System Libraries, or general-purpose tools or generally available free
programs which are used unmodified in performing those activities but
which are not part of the work. For example, Corresponding Source
includes interface definition files associated with source files for
the work, and the source code for shared libraries and dynamically
linked subprograms that the work is specifically designed to require,
such as by intimate data communication or control flow between those
subprograms and other parts of the work.
The Corresponding Source need not include anything that users
can regenerate automatically from other parts of the Corresponding
Source.
The Corresponding Source for a work in source code form is that
same work.
2. Basic Permissions.
All rights granted under this License are granted for the term of
copyright on the Program, and are irrevocable provided the stated
conditions are met. This License explicitly affirms your unlimited
permission to run the unmodified Program. The output from running a
covered work is covered by this License only if the output, given its
content, constitutes a covered work. This License acknowledges your
rights of fair use or other equivalent, as provided by copyright law.
You may make, run and propagate covered works that you do not
convey, without conditions so long as your license otherwise remains
in force. You may convey covered works to others for the sole purpose
of having them make modifications exclusively for you, or provide you
with facilities for running those works, provided that you comply with
the terms of this License in conveying all material for which you do
not control copyright. Those thus making or running the covered works
for you must do so exclusively on your behalf, under your direction
and control, on terms that prohibit them from making any copies of
your copyrighted material outside their relationship with you.
Conveying under any other circumstances is permitted solely under
the conditions stated below. Sublicensing is not allowed; section 10
makes it unnecessary.
3. Protecting Users' Legal Rights From Anti-Circumvention Law.
No covered work shall be deemed part of an effective technological
measure under any applicable law fulfilling obligations under article
11 of the WIPO copyright treaty adopted on 20 December 1996, or
similar laws prohibiting or restricting circumvention of such
measures.
When you convey a covered work, you waive any legal power to forbid
circumvention of technological measures to the extent such circumvention
is effected by exercising rights under this License with respect to
the covered work, and you disclaim any intention to limit operation or
modification of the work as a means of enforcing, against the work's
users, your or third parties' legal rights to forbid circumvention of
technological measures.
4. Conveying Verbatim Copies.
You may convey verbatim copies of the Program's source code as you
receive it, in any medium, provided that you conspicuously and
appropriately publish on each copy an appropriate copyright notice;
keep intact all notices stating that this License and any
non-permissive terms added in accord with section 7 apply to the code;
keep intact all notices of the absence of any warranty; and give all
recipients a copy of this License along with the Program.
You may charge any price or no price for each copy that you convey,
and you may offer support or warranty protection for a fee.
5. Conveying Modified Source Versions.
You may convey a work based on the Program, or the modifications to
produce it from the Program, in the form of source code under the
terms of section 4, provided that you also meet all of these conditions:
a) The work must carry prominent notices stating that you modified
it, and giving a relevant date.
b) The work must carry prominent notices stating that it is
released under this License and any conditions added under section
7. This requirement modifies the requirement in section 4 to
"keep intact all notices".
c) You must license the entire work, as a whole, under this
License to anyone who comes into possession of a copy. This
License will therefore apply, along with any applicable section 7
additional terms, to the whole of the work, and all its parts,
regardless of how they are packaged. This License gives no
permission to license the work in any other way, but it does not
invalidate such permission if you have separately received it.
d) If the work has interactive user interfaces, each must display
Appropriate Legal Notices; however, if the Program has interactive
interfaces that do not display Appropriate Legal Notices, your
work need not make them do so.
A compilation of a covered work with other separate and independent
works, which are not by their nature extensions of the covered work,
and which are not combined with it such as to form a larger program,
in or on a volume of a storage or distribution medium, is called an
"aggregate" if the compilation and its resulting copyright are not
used to limit the access or legal rights of the compilation's users
beyond what the individual works permit. Inclusion of a covered work
in an aggregate does not cause this License to apply to the other
parts of the aggregate.
6. Conveying Non-Source Forms.
You may convey a covered work in object code form under the terms
of sections 4 and 5, provided that you also convey the
machine-readable Corresponding Source under the terms of this License,
in one of these ways:
a) Convey the object code in, or embodied in, a physical product
(including a physical distribution medium), accompanied by the
Corresponding Source fixed on a durable physical medium
customarily used for software interchange.
b) Convey the object code in, or embodied in, a physical product
(including a physical distribution medium), accompanied by a
written offer, valid for at least three years and valid for as
long as you offer spare parts or customer support for that product
model, to give anyone who possesses the object code either (1) a
copy of the Corresponding Source for all the software in the
product that is covered by this License, on a durable physical
medium customarily used for software interchange, for a price no
more than your reasonable cost of physically performing this
conveying of source, or (2) access to copy the
Corresponding Source from a network server at no charge.
c) Convey individual copies of the object code with a copy of the
written offer to provide the Corresponding Source. This
alternative is allowed only occasionally and noncommercially, and
only if you received the object code with such an offer, in accord
with subsection 6b.
d) Convey the object code by offering access from a designated
place (gratis or for a charge), and offer equivalent access to the
Corresponding Source in the same way through the same place at no
further charge. You need not require recipients to copy the
Corresponding Source along with the object code. If the place to
copy the object code is a network server, the Corresponding Source
may be on a different server (operated by you or a third party)
that supports equivalent copying facilities, provided you maintain
clear directions next to the object code saying where to find the
Corresponding Source. Regardless of what server hosts the
Corresponding Source, you remain obligated to ensure that it is
available for as long as needed to satisfy these requirements.
e) Convey the object code using peer-to-peer transmission, provided
you inform other peers where the object code and Corresponding
Source of the work are being offered to the general public at no
charge under subsection 6d.
A separable portion of the object code, whose source code is excluded
from the Corresponding Source as a System Library, need not be
included in conveying the object code work.
A "User Product" is either (1) a "consumer product", which means any
tangible personal property which is normally used for personal, family,
or household purposes, or (2) anything designed or sold for incorporation
into a dwelling. In determining whether a product is a consumer product,
doubtful cases shall be resolved in favor of coverage. For a particular
product received by a particular user, "normally used" refers to a
typical or common use of that class of product, regardless of the status
of the particular user or of the way in which the particular user
actually uses, or expects or is expected to use, the product. A product
is a consumer product regardless of whether the product has substantial
commercial, industrial or non-consumer uses, unless such uses represent
the only significant mode of use of the product.
"Installation Information" for a User Product means any methods,
procedures, authorization keys, or other information required to install
and execute modified versions of a covered work in that User Product from
a modified version of its Corresponding Source. The information must
suffice to ensure that the continued functioning of the modified object
code is in no case prevented or interfered with solely because
modification has been made.
If you convey an object code work under this section in, or with, or
specifically for use in, a User Product, and the conveying occurs as
part of a transaction in which the right of possession and use of the
User Product is transferred to the recipient in perpetuity or for a
fixed term (regardless of how the transaction is characterized), the
Corresponding Source conveyed under this section must be accompanied
by the Installation Information. But this requirement does not apply
if neither you nor any third party retains the ability to install
modified object code on the User Product (for example, the work has
been installed in ROM).
The requirement to provide Installation Information does not include a
requirement to continue to provide support service, warranty, or updates
for a work that has been modified or installed by the recipient, or for
the User Product in which it has been modified or installed. Access to a
network may be denied when the modification itself materially and
adversely affects the operation of the network or violates the rules and
protocols for communication across the network.
Corresponding Source conveyed, and Installation Information provided,
in accord with this section must be in a format that is publicly
documented (and with an implementation available to the public in
source code form), and must require no special password or key for
unpacking, reading or copying.
7. Additional Terms.
"Additional permissions" are terms that supplement the terms of this
License by making exceptions from one or more of its conditions.
Additional permissions that are applicable to the entire Program shall
be treated as though they were included in this License, to the extent
that they are valid under applicable law. If additional permissions
apply only to part of the Program, that part may be used separately
under those permissions, but the entire Program remains governed by
this License without regard to the additional permissions.
When you convey a copy of a covered work, you may at your option
remove any additional permissions from that copy, or from any part of
it. (Additional permissions may be written to require their own
removal in certain cases when you modify the work.) You may place
additional permissions on material, added by you to a covered work,
for which you have or can give appropriate copyright permission.
Notwithstanding any other provision of this License, for material you
add to a covered work, you may (if authorized by the copyright holders of
that material) supplement the terms of this License with terms:
a) Disclaiming warranty or limiting liability differently from the
terms of sections 15 and 16 of this License; or
b) Requiring preservation of specified reasonable legal notices or
author attributions in that material or in the Appropriate Legal
Notices displayed by works containing it; or
c) Prohibiting misrepresentation of the origin of that material, or
requiring that modified versions of such material be marked in
reasonable ways as different from the original version; or
d) Limiting the use for publicity purposes of names of licensors or
authors of the material; or
e) Declining to grant rights under trademark law for use of some
trade names, trademarks, or service marks; or
f) Requiring indemnification of licensors and authors of that
material by anyone who conveys the material (or modified versions of
it) with contractual assumptions of liability to the recipient, for
any liability that these contractual assumptions directly impose on
those licensors and authors.
All other non-permissive additional terms are considered "further
restrictions" within the meaning of section 10. If the Program as you
received it, or any part of it, contains a notice stating that it is
governed by this License along with a term that is a further
restriction, you may remove that term. If a license document contains
a further restriction but permits relicensing or conveying under this
License, you may add to a covered work material governed by the terms
of that license document, provided that the further restriction does
not survive such relicensing or conveying.
If you add terms to a covered work in accord with this section, you
must place, in the relevant source files, a statement of the
additional terms that apply to those files, or a notice indicating
where to find the applicable terms.
Additional terms, permissive or non-permissive, may be stated in the
form of a separately written license, or stated as exceptions;
the above requirements apply either way.
8. Termination.
You may not propagate or modify a covered work except as expressly
provided under this License. Any attempt otherwise to propagate or
modify it is void, and will automatically terminate your rights under
this License (including any patent licenses granted under the third
paragraph of section 11).
However, if you cease all violation of this License, then your
license from a particular copyright holder is reinstated (a)
provisionally, unless and until the copyright holder explicitly and
finally terminates your license, and (b) permanently, if the copyright
holder fails to notify you of the violation by some reasonable means
prior to 60 days after the cessation.
Moreover, your license from a particular copyright holder is
reinstated permanently if the copyright holder notifies you of the
violation by some reasonable means, this is the first time you have
received notice of violation of this License (for any work) from that
copyright holder, and you cure the violation prior to 30 days after
your receipt of the notice.
Termination of your rights under this section does not terminate the
licenses of parties who have received copies or rights from you under
this License. If your rights have been terminated and not permanently
reinstated, you do not qualify to receive new licenses for the same
material under section 10.
9. Acceptance Not Required for Having Copies.
You are not required to accept this License in order to receive or
run a copy of the Program. Ancillary propagation of a covered work
occurring solely as a consequence of using peer-to-peer transmission
to receive a copy likewise does not require acceptance. However,
nothing other than this License grants you permission to propagate or
modify any covered work. These actions infringe copyright if you do
not accept this License. Therefore, by modifying or propagating a
covered work, you indicate your acceptance of this License to do so.
10. Automatic Licensing of Downstream Recipients.
Each time you convey a covered work, the recipient automatically
receives a license from the original licensors, to run, modify and
propagate that work, subject to this License. You are not responsible
for enforcing compliance by third parties with this License.
An "entity transaction" is a transaction transferring control of an
organization, or substantially all assets of one, or subdividing an
organization, or merging organizations. If propagation of a covered
work results from an entity transaction, each party to that
transaction who receives a copy of the work also receives whatever
licenses to the work the party's predecessor in interest had or could
give under the previous paragraph, plus a right to possession of the
Corresponding Source of the work from the predecessor in interest, if
the predecessor has it or can get it with reasonable efforts.
You may not impose any further restrictions on the exercise of the
rights granted or affirmed under this License. For example, you may
not impose a license fee, royalty, or other charge for exercise of
rights granted under this License, and you may not initiate litigation
(including a cross-claim or counterclaim in a lawsuit) alleging that
any patent claim is infringed by making, using, selling, offering for
sale, or importing the Program or any portion of it.
11. Patents.
A "contributor" is a copyright holder who authorizes use under this
License of the Program or a work on which the Program is based. The
work thus licensed is called the contributor's "contributor version".
A contributor's "essential patent claims" are all patent claims
owned or controlled by the contributor, whether already acquired or
hereafter acquired, that would be infringed by some manner, permitted
by this License, of making, using, or selling its contributor version,
but do not include claims that would be infringed only as a
consequence of further modification of the contributor version. For
purposes of this definition, "control" includes the right to grant
patent sublicenses in a manner consistent with the requirements of
this License.
Each contributor grants you a non-exclusive, worldwide, royalty-free
patent license under the contributor's essential patent claims, to
make, use, sell, offer for sale, import and otherwise run, modify and
propagate the contents of its contributor version.
In the following three paragraphs, a "patent license" is any express
agreement or commitment, however denominated, not to enforce a patent
(such as an express permission to practice a patent or covenant not to
sue for patent infringement). To "grant" such a patent license to a
party means to make such an agreement or commitment not to enforce a
patent against the party.
If you convey a covered work, knowingly relying on a patent license,
and the Corresponding Source of the work is not available for anyone
to copy, free of charge and under the terms of this License, through a
publicly available network server or other readily accessible means,
then you must either (1) cause the Corresponding Source to be so
available, or (2) arrange to deprive yourself of the benefit of the
patent license for this particular work, or (3) arrange, in a manner
consistent with the requirements of this License, to extend the patent
license to downstream recipients. "Knowingly relying" means you have
actual knowledge that, but for the patent license, your conveying the
covered work in a country, or your recipient's use of the covered work
in a country, would infringe one or more identifiable patents in that
country that you have reason to believe are valid.
If, pursuant to or in connection with a single transaction or
arrangement, you convey, or propagate by procuring conveyance of, a
covered work, and grant a patent license to some of the parties
receiving the covered work authorizing them to use, propagate, modify
or convey a specific copy of the covered work, then the patent license
you grant is automatically extended to all recipients of the covered
work and works based on it.
A patent license is "discriminatory" if it does not include within
the scope of its coverage, prohibits the exercise of, or is
conditioned on the non-exercise of one or more of the rights that are
specifically granted under this License. You may not convey a covered
work if you are a party to an arrangement with a third party that is
in the business of distributing software, under which you make payment
to the third party based on the extent of your activity of conveying
the work, and under which the third party grants, to any of the
parties who would receive the covered work from you, a discriminatory
patent license (a) in connection with copies of the covered work
conveyed by you (or copies made from those copies), or (b) primarily
for and in connection with specific products or compilations that
contain the covered work, unless you entered into that arrangement,
or that patent license was granted, prior to 28 March 2007.
Nothing in this License shall be construed as excluding or limiting
any implied license or other defenses to infringement that may
otherwise be available to you under applicable patent law.
12. No Surrender of Others' Freedom.
If conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot convey a
covered work so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you may
not convey it at all. For example, if you agree to terms that obligate you
to collect a royalty for further conveying from those to whom you convey
the Program, the only way you could satisfy both those terms and this
License would be to refrain entirely from conveying the Program.
13. Use with the GNU Affero General Public License.
Notwithstanding any other provision of this License, you have
permission to link or combine any covered work with a work licensed
under version 3 of the GNU Affero General Public License into a single
combined work, and to convey the resulting work. The terms of this
License will continue to apply to the part which is the covered work,
but the special requirements of the GNU Affero General Public License,
section 13, concerning interaction through a network will apply to the
combination as such.
14. Revised Versions of this License.
The Free Software Foundation may publish revised and/or new versions of
the GNU General Public License from time to time. Such new versions will
be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.
Each version is given a distinguishing version number. If the
Program specifies that a certain numbered version of the GNU General
Public License "or any later version" applies to it, you have the
option of following the terms and conditions either of that numbered
version or of any later version published by the Free Software
Foundation. If the Program does not specify a version number of the
GNU General Public License, you may choose any version ever published
by the Free Software Foundation.
If the Program specifies that a proxy can decide which future
versions of the GNU General Public License can be used, that proxy's
public statement of acceptance of a version permanently authorizes you
to choose that version for the Program.
Later license versions may give you additional or different
permissions. However, no additional obligations are imposed on any
author or copyright holder as a result of your choosing to follow a
later version.
15. Disclaimer of Warranty.
THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
16. Limitation of Liability.
IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
SUCH DAMAGES.
17. Interpretation of Sections 15 and 16.
If the disclaimer of warranty and limitation of liability provided
above cannot be given local legal effect according to their terms,
reviewing courts shall apply local law that most closely approximates
an absolute waiver of all civil liability in connection with the
Program, unless a warranty or assumption of liability accompanies a
copy of the Program in return for a fee.
END OF TERMS AND CONDITIONS
How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it
free software which everyone can redistribute and change under these terms.
To do so, attach the following notices to the program. It is safest
to attach them to the start of each source file to most effectively
state the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.
<one line to give the program's name and a brief idea of what it does.>
Copyright (C) <year> <name of author>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
Also add information on how to contact you by electronic and paper mail.
If the program does terminal interaction, make it output a short
notice like this when it starts in an interactive mode:
<program> Copyright (C) <year> <name of author>
This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show c' for details.
The hypothetical commands `show w' and `show c' should show the appropriate
parts of the General Public License. Of course, your program's commands
might be different; for a GUI interface, you would use an "about box".
You should also get your employer (if you work as a programmer) or school,
if any, to sign a "copyright disclaimer" for the program, if necessary.
For more information on this, and how to apply and follow the GNU GPL, see
<http://www.gnu.org/licenses/>.
The GNU General Public License does not permit incorporating your program
into proprietary programs. If your program is a subroutine library, you
may consider it more useful to permit linking proprietary applications with
the library. If this is what you want to do, use the GNU Lesser General
Public License instead of this License. But first, please read
<http://www.gnu.org/philosophy/why-not-lgpl.html>.