From 691136ea46b7ac59108402970cd61e157e3f292c Mon Sep 17 00:00:00 2001 From: Stijn Buys Date: Sat, 5 Mar 2016 23:26:08 +0100 Subject: Homogenized documentation files throughout the different projects. --- AUTHORS | 8 +- CC | 369 ------------------------------------- COPYING | 42 ----- GPL | 340 ---------------------------------- LICENSE | 340 ++++++++++++++++++++++++++++++++++ Makefile.cvs | 8 - Makefile.git | 8 + README | 19 +- developer/GAMEPLAY | 209 --------------------- developer/PROTOCOL | 20 -- developer/ROADMAP | 219 ---------------------- developer/STORYLINE | 512 ---------------------------------------------------- developer/TASKS | 97 ---------- developer/TODO | 109 ----------- doc/GAMEPLAY | 209 +++++++++++++++++++++ doc/PROTOCOL | 20 ++ doc/ROADMAP | 219 ++++++++++++++++++++++ doc/STORYLINE | 512 ++++++++++++++++++++++++++++++++++++++++++++++++++++ doc/TASKS | 97 ++++++++++ doc/TODO | 109 +++++++++++ 20 files changed, 1528 insertions(+), 1938 deletions(-) delete mode 100644 CC delete mode 100644 COPYING delete mode 100644 GPL create mode 100644 LICENSE delete mode 100644 Makefile.cvs create mode 100644 Makefile.git delete mode 100644 developer/GAMEPLAY delete mode 100644 developer/PROTOCOL delete mode 100644 developer/ROADMAP delete mode 100644 developer/STORYLINE delete mode 100644 developer/TASKS delete mode 100644 developer/TODO create mode 100644 doc/GAMEPLAY create mode 100644 doc/PROTOCOL create mode 100644 doc/ROADMAP create mode 100644 doc/STORYLINE create mode 100644 doc/TASKS create mode 100644 doc/TODO diff --git a/AUTHORS b/AUTHORS index 56babf3..fceb870 100644 --- a/AUTHORS +++ b/AUTHORS @@ -1,11 +1,5 @@ - ------------------------------------------------------------------ - - Project::OSiRiON - AUTHORS - - ------------------------------------------------------------------ - - http://osirion.org + Project::OSiRiON - AUTHORS Stijn 'Ingar' Buys Michael 'Thorn' Rodenhurst diff --git a/CC b/CC deleted file mode 100644 index 54a453e..0000000 --- a/CC +++ /dev/null @@ -1,369 +0,0 @@ - -Creative Commons Legal Code - -Attribution-ShareAlike 3.0 - - CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE - LEGAL SERVICES. DISTRIBUTION OF THIS LICENSE DOES NOT CREATE AN - ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS - INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO - WARRANTIES REGARDING THE INFORMATION PROVIDED, AND DISCLAIMS - LIABILITY FOR DAMAGES RESULTING FROM ITS USE. - -License - - THE WORK (AS DEFINED BELOW) IS PROVIDED UNDER THE TERMS OF THIS - CREATIVE COMMONS PUBLIC LICENSE ("CCPL" OR "LICENSE"). THE WORK IS - PROTECTED BY COPYRIGHT AND/OR OTHER APPLICABLE LAW. ANY USE OF THE WORK - OTHER THAN AS AUTHORIZED UNDER THIS LICENSE OR COPYRIGHT LAW IS - PROHIBITED. - - BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU ACCEPT AND - AGREE TO BE BOUND BY THE TERMS OF THIS LICENSE. TO THE EXTENT THIS - LICENSE MAY BE CONSIDERED TO BE A CONTRACT, THE LICENSOR GRANTS YOU THE - RIGHTS CONTAINED HERE IN CONSIDERATION OF YOUR ACCEPTANCE OF SUCH TERMS - AND CONDITIONS. - - 1. Definitions - a. "Adaptation" means a work based upon the Work, or upon the Work and - other pre-existing works, such as a translation, adaptation, - derivative work, arrangement of music or other alterations of a - literary or artistic work, or phonogram or performance and includes - cinematographic adaptations or any other form in which the Work may - be recast, transformed, or adapted including in any form - recognizably derived from the original, except that a work that - constitutes a Collection will not be considered an Adaptation for - the purpose of this License. For the avoidance of doubt, where the - Work is a musical work, performance or phonogram, the - synchronization of the Work in timed-relation with a moving image - ("synching") will be considered an Adaptation for the purpose of - this License. - b. "Collection" means a collection of literary or artistic works, such - as encyclopedias and anthologies, or performances, phonograms or - broadcasts, or other works or subject matter other than works - listed in Section 1(f) below, which, by reason of the selection and - arrangement of their contents, constitute intellectual creations, - in which the Work is included in its entirety in unmodified form - along with one or more other contributions, each constituting - separate and independent works in themselves, which together are - assembled into a collective whole. A work that constitutes a - Collection will not be considered an Adaptation (as defined below) - for the purposes of this License. - c. "Creative Commons Compatible License" means a license that is - listed at http://creativecommons.org/compatiblelicenses that has - been approved by Creative Commons as being essentially equivalent - to this License, including, at a minimum, because that license: (i) - contains terms that have the same purpose, meaning and effect as - the License Elements of this License; and, (ii) explicitly permits - the relicensing of adaptations of works made available under that - license under this License or a Creative Commons jurisdiction - license with the same License Elements as this License. - d. "Distribute" means to make available to the public the original and - copies of the Work or Adaptation, as appropriate, through sale or - other transfer of ownership. - e. "License Elements" means the following high-level license - attributes as selected by Licensor and indicated in the title of - this License: Attribution, ShareAlike. - f. "Licensor" means the individual, individuals, entity or entities - that offer(s) the Work under the terms of this License. - g. "Original Author" means, in the case of a literary or artistic - work, the individual, individuals, entity or entities who created - the Work or if no individual or entity can be identified, the - publisher; and in addition (i) in the case of a performance the - actors, singers, musicians, dancers, and other persons who act, - sing, deliver, declaim, play in, interpret or otherwise perform - literary or artistic works or expressions of folklore; (ii) in the - case of a phonogram the producer being the person or legal entity - who first fixes the sounds of a performance or other sounds; and, - (iii) in the case of broadcasts, the organization that transmits - the broadcast. - h. "Work" means the literary and/or artistic work offered under the - terms of this License including without limitation any production - in the literary, scientific and artistic domain, whatever may be - the mode or form of its expression including digital form, such as - a book, pamphlet and other writing; a lecture, address, sermon or - other work of the same nature; a dramatic or dramatico-musical - work; a choreographic work or entertainment in dumb show; a musical - composition with or without words; a cinematographic work to which - are assimilated works expressed by a process analogous to - cinematography; a work of drawing, painting, architecture, - sculpture, engraving or lithography; a photographic work to which - are assimilated works expressed by a process analogous to - photography; a work of applied art; an illustration, map, plan, - sketch or three-dimensional work relative to geography, topography, - architecture or science; a performance; a broadcast; a phonogram; a - compilation of data to the extent it is protected as a - copyrightable work; or a work performed by a variety or circus - performer to the extent it is not otherwise considered a literary - or artistic work. - i. "You" means an individual or entity exercising rights under this - License who has not previously violated the terms of this License - with respect to the Work, or who has received express permission - from the Licensor to exercise rights under this License despite a - previous violation. - j. "Publicly Perform" means to perform public recitations of the Work - and to communicate to the public those public recitations, by any - means or process, including by wire or wireless means or public - digital performances; to make available to the public Works in such - a way that members of the public may access these Works from a - place and at a place individually chosen by them; to perform the - Work to the public by any means or process and the communication to - the public of the performances of the Work, including by public - digital performance; to broadcast and rebroadcast the Work by any - means including signs, sounds or images. - k. "Reproduce" means to make copies of the Work by any means including - without limitation by sound or visual recordings and the right of - fixation and reproducing fixations of the Work, including storage - of a protected performance or phonogram in digital form or other - electronic medium. - - 2. Fair Dealing Rights. Nothing in this License is intended to reduce, - limit, or restrict any uses free from copyright or rights arising from - limitations or exceptions that are provided for in connection with the - copyright protection under copyright law or other applicable laws. - - 3. License Grant. Subject to the terms and conditions of this License, - Licensor hereby grants You a worldwide, royalty-free, non-exclusive, - perpetual (for the duration of the applicable copyright) license to - exercise the rights in the Work as stated below: - a. to Reproduce the Work, to incorporate the Work into one or more - Collections, and to Reproduce the Work as incorporated in the - Collections; - b. to create and Reproduce Adaptations provided that any such - Adaptation, including any translation in any medium, takes - reasonable steps to clearly label, demarcate or otherwise identify - that changes were made to the original Work. For example, a - translation could be marked "The original work was translated from - English to Spanish," or a modification could indicate "The original - work has been modified."; - c. to Distribute and Publicly Perform the Work including as - incorporated in Collections; and, - d. to Distribute and Publicly Perform Adaptations. - e. For the avoidance of doubt: - i. Non-waivable Compulsory License Schemes. In those - jurisdictions in which the right to collect royalties through - any statutory or compulsory licensing scheme cannot be waived, - the Licensor reserves the exclusive right to collect such - royalties for any exercise by You of the rights granted under - this License; - ii. Waivable Compulsory License Schemes. In those jurisdictions in - which the right to collect royalties through any statutory or - compulsory licensing scheme can be waived, the Licensor waives - the exclusive right to collect such royalties for any exercise - by You of the rights granted under this License; and, - iii. Voluntary License Schemes. The Licensor waives the right to - collect royalties, whether individually or, in the event that - the Licensor is a member of a collecting society that - administers voluntary licensing schemes, via that society, - from any exercise by You of the rights granted under this - License. - - The above rights may be exercised in all media and formats whether now - known or hereafter devised. The above rights include the right to make - such modifications as are technically necessary to exercise the rights - in other media and formats. Subject to Section 8(f), all rights not - expressly granted by Licensor are hereby reserved. - - 4. Restrictions. The license granted in Section 3 above is expressly - made subject to and limited by the following restrictions: - a. You may Distribute or Publicly Perform the Work only under the - terms of this License. You must include a copy of, or the Uniform - Resource Identifier (URI) for, this License with every copy of the - Work You Distribute or Publicly Perform. You may not offer or - impose any terms on the Work that restrict the terms of this - License or the ability of the recipient of the Work to exercise the - rights granted to that recipient under the terms of the License. - You may not sublicense the Work. You must keep intact all notices - that refer to this License and to the disclaimer of warranties with - every copy of the Work You Distribute or Publicly Perform. When You - Distribute or Publicly Perform the Work, You may not impose any - effective technological measures on the Work that restrict the - ability of a recipient of the Work from You to exercise the rights - granted to that recipient under the terms of the License. This - Section 4(a) applies to the Work as incorporated in a Collection, - but this does not require the Collection apart from the Work itself - to be made subject to the terms of this License. If You create a - Collection, upon notice from any Licensor You must, to the extent - practicable, remove from the Collection any credit as required by - Section 4(c), as requested. If You create an Adaptation, upon - notice from any Licensor You must, to the extent practicable, - remove from the Adaptation any credit as required by Section 4(c), - as requested. - b. You may Distribute or Publicly Perform an Adaptation only under the - terms of: (i) this License; (ii) a later version of this License - with the same License Elements as this License; (iii) a Creative - Commons jurisdiction license (either this or a later license - version) that contains the same License Elements as this License - (e.g., Attribution-ShareAlike 3.0 US)); (iv) a Creative Commons - Compatible License. If you license the Adaptation under one of the - licenses mentioned in (iv), you must comply with the terms of that - license. If you license the Adaptation under the terms of any of - the licenses mentioned in (i), (ii) or (iii) (the "Applicable - License"), you must comply with the terms of the Applicable License - generally and the following provisions: (I) You must include a copy - of, or the URI for, the Applicable License with every copy of each - Adaptation You Distribute or Publicly Perform; (II) You may not - offer or impose any terms on the Adaptation that restrict the terms - of the Applicable License or the ability of the recipient of the - Adaptation to exercise the rights granted to that recipient under - the terms of the Applicable License; (III) You must keep intact all - notices that refer to the Applicable License and to the disclaimer - of warranties with every copy of the Work as included in the - Adaptation You Distribute or Publicly Perform; (IV) when You - Distribute or Publicly Perform the Adaptation, You may not impose - any effective technological measures on the Adaptation that - restrict the ability of a recipient of the Adaptation from You to - exercise the rights granted to that recipient under the terms of - the Applicable License. This Section 4(b) applies to the Adaptation - as incorporated in a Collection, but this does not require the - Collection apart from the Adaptation itself to be made subject to - the terms of the Applicable License. - c. If You Distribute, or Publicly Perform the Work or any Adaptations - or Collections, You must, unless a request has been made pursuant - to Section 4(a), keep intact all copyright notices for the Work and - provide, reasonable to the medium or means You are utilizing: (i) - the name of the Original Author (or pseudonym, if applicable) if - supplied, and/or if the Original Author and/or Licensor designate - another party or parties (e.g., a sponsor institute, publishing - entity, journal) for attribution ("Attribution Parties") in - Licensor's copyright notice, terms of service or by other - reasonable means, the name of such party or parties; (ii) the title - of the Work if supplied; (iii) to the extent reasonably - practicable, the URI, if any, that Licensor specifies to be - associated with the Work, unless such URI does not refer to the - copyright notice or licensing information for the Work; and (iv) , - consistent with Ssection 3(b), in the case of an Adaptation, a - credit identifying the use of the Work in the Adaptation (e.g., - "French translation of the Work by Original Author," or "Screenplay - based on original Work by Original Author"). The credit required by - this Section 4(c) may be implemented in any reasonable manner; - provided, however, that in the case of a Adaptation or Collection, - at a minimum such credit will appear, if a credit for all - contributing authors of the Adaptation or Collection appears, then - as part of these credits and in a manner at least as prominent as - the credits for the other contributing authors. For the avoidance - of doubt, You may only use the credit required by this Section for - the purpose of attribution in the manner set out above and, by - exercising Your rights under this License, You may not implicitly - or explicitly assert or imply any connection with, sponsorship or - endorsement by the Original Author, Licensor and/or Attribution - Parties, as appropriate, of You or Your use of the Work, without - the separate, express prior written permission of the Original - Author, Licensor and/or Attribution Parties. - d. Except as otherwise agreed in writing by the Licensor or as may be - otherwise permitted by applicable law, if You Reproduce, Distribute - or Publicly Perform the Work either by itself or as part of any - Adaptations or Collections, You must not distort, mutilate, modify - or take other derogatory action in relation to the Work which would - be prejudicial to the Original Author's honor or reputation. - Licensor agrees that in those jurisdictions (e.g. Japan), in which - any exercise of the right granted in Section 3(b) of this License - (the right to make Adaptations) would be deemed to be a distortion, - mutilation, modification or other derogatory action prejudicial to - the Original Author's honor and reputation, the Licensor will waive - or not assert, as appropriate, this Section, to the fullest extent - permitted by the applicable national law, to enable You to - reasonably exercise Your right under Section 3(b) of this License - (right to make Adaptations) but not otherwise. - - 5. Representations, Warranties and Disclaimer - - UNLESS OTHERWISE MUTUALLY AGREED TO BY THE PARTIES IN WRITING, LICENSOR - OFFERS THE WORK AS-IS AND MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY - KIND CONCERNING THE WORK, EXPRESS, IMPLIED, STATUTORY OR OTHERWISE, - INCLUDING, WITHOUT LIMITATION, WARRANTIES OF TITLE, MERCHANTIBILITY, - FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT, OR THE ABSENCE OF - LATENT OR OTHER DEFECTS, ACCURACY, OR THE PRESENCE OF ABSENCE OF - ERRORS, WHETHER OR NOT DISCOVERABLE. SOME JURISDICTIONS DO NOT ALLOW - THE EXCLUSION OF IMPLIED WARRANTIES, SO SUCH EXCLUSION MAY NOT APPLY TO - YOU. - - 6. Limitation on Liability. EXCEPT TO THE EXTENT REQUIRED BY APPLICABLE - LAW, IN NO EVENT WILL LICENSOR BE LIABLE TO YOU ON ANY LEGAL THEORY FOR - ANY SPECIAL, INCIDENTAL, CONSEQUENTIAL, PUNITIVE OR EXEMPLARY DAMAGES - ARISING OUT OF THIS LICENSE OR THE USE OF THE WORK, EVEN IF LICENSOR - HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. - - 7. Termination - a. This License and the rights granted hereunder will terminate - automatically upon any breach by You of the terms of this License. - Individuals or entities who have received Adaptations or - Collections from You under this License, however, will not have - their licenses terminated provided such individuals or entities - remain in full compliance with those licenses. Sections 1, 2, 5, 6, - 7, and 8 will survive any termination of this License. - b. Subject to the above terms and conditions, the license granted here - is perpetual (for the duration of the applicable copyright in the - Work). Notwithstanding the above, Licensor reserves the right to - release the Work under different license terms or to stop - distributing the Work at any time; provided, however that any such - election will not serve to withdraw this License (or any other - license that has been, or is required to be, granted under the - terms of this License), and this License will continue in full - force and effect unless terminated as stated above. - - 8. Miscellaneous - a. Each time You Distribute or Publicly Perform the Work or a - Collection, the Licensor offers to the recipient a license to the - Work on the same terms and conditions as the license granted to You - under this License. - b. Each time You Distribute or Publicly Perform an Adaptation, - Licensor offers to the recipient a license to the original Work on - the same terms and conditions as the license granted to You under - this License. - c. If any provision of this License is invalid or unenforceable under - applicable law, it shall not affect the validity or enforceability - of the remainder of the terms of this License, and without further - action by the parties to this agreement, such provision shall be - reformed to the minimum extent necessary to make such provision - valid and enforceable. - d. No term or provision of this License shall be deemed waived and no - breach consented to unless such waiver or consent shall be in - writing and signed by the party to be charged with such waiver or - consent. - e. This License constitutes the entire agreement between the parties - with respect to the Work licensed here. There are no - understandings, agreements or representations with respect to the - Work not specified here. Licensor shall not be bound by any - additional provisions that may appear in any communication from - You. This License may not be modified without the mutual written - agreement of the Licensor and You. - f. The rights granted under, and the subject matter referenced, in - this License were drafted utilizing the terminology of the Berne - Convention for the Protection of Literary and Artistic Works (as - amended on September 28, 1979), the Rome Convention of 1961, the - WIPO Copyright Treaty of 1996, the WIPO Performances and Phonograms - Treaty of 1996 and the Universal Copyright Convention (as revised - on July 24, 1971). These rights and subject matter take effect in - the relevant jurisdiction in which the License terms are sought to - be enforced according to the corresponding provisions of the - implementation of those treaty provisions in the applicable - national law. If the standard suite of rights granted under - applicable copyright law includes additional rights not granted - under this License, such additional rights are deemed to be - included in the License; this License is not intended to restrict - the license of any rights under applicable law. - -Creative Commons Notice - - Creative Commons is not a party to this License, and makes no - warranty whatsoever in connection with the Work. Creative Commons - will not be liable to You or any party on any legal theory for any - damages whatsoever, including without limitation any general, - special, incidental or consequential damages arising in connection - to this license. Notwithstanding the foregoing two (2) sentences, if - Creative Commons has expressly identified itself as the Licensor - hereunder, it shall have all rights and obligations of Licensor. - - Except for the limited purpose of indicating to the public that the - Work is licensed under the CCPL, Creative Commons does not authorize - the use by either party of the trademark "Creative Commons" or any - related trademark or logo of Creative Commons without the prior - written consent of Creative Commons. Any permitted use will be in - compliance with Creative Commons' then-current trademark usage - guidelines, as may be published on its website or otherwise made - available upon request from time to time. For the avoidance of - doubt, this trademark restriction does not form part of the License. - - Creative Commons may be contacted at http://creativecommons.org/. - diff --git a/COPYING b/COPYING deleted file mode 100644 index 9e06f5a..0000000 --- a/COPYING +++ /dev/null @@ -1,42 +0,0 @@ - - ------------------------------------------------------------------ - - Project::OSiRiON - COPYING - - ------------------------------------------------------------------ - - Project::OSiRiON consists of two major parts: the source - code and the game data. Each part is licenced differently. - -Source Code - - The source code is licenced under the GENERAL PUBLIC LICENSE, version 2. - The full text of this licence can be found in the file named GPL. - - Please refer to - http://www.gnu.org/licenses/old-licenses/gpl-2.0.html - for more information about this license. - -Game Data - - The game data is licenced under the - CREATIVE COMMONS ATTRIBUTION-SHARE ALIKE 3.0 LICENSE. - The full text of this license can be found in the file named CC. - Please be aware of a few exceptions, listed below. - - Please refer to - http://creativecommons.org/licenses/by-sa/3.0/ - for more information about this license. - -Exceptions - - The following game data files are not licensed under CC-SA 3.0, - but are distributed under a different license: - - These files are distributed under the terms and conditions of the - CREATIVE COMMONS SAMPLING PLUS 1.0 LICENSE: - - base/sounds/engines/loop00.wav - base/sounds/engines/loop01.wav - base/sounds/engines/loop02.wav - diff --git a/GPL b/GPL deleted file mode 100644 index 5b6e7c6..0000000 --- a/GPL +++ /dev/null @@ -1,340 +0,0 @@ - GNU GENERAL PUBLIC LICENSE - Version 2, June 1991 - - Copyright (C) 1989, 1991 Free Software Foundation, Inc. - 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -License is intended to guarantee your freedom to share and change free -software--to make sure the software is free for all its users. This -General Public License applies to most of the Free Software -Foundation's software and to any other program whose authors commit to -using it. (Some other Free Software Foundation software is covered by -the GNU Library General Public License instead.) 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 -this service 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 make restrictions that forbid -anyone to deny you these rights or to ask you to surrender the rights. -These restrictions translate to certain responsibilities for you if you -distribute copies of the software, or if you modify it. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must give the recipients all the rights that -you have. 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. - - We protect your rights with two steps: (1) copyright the software, and -(2) offer you this license which gives you legal permission to copy, -distribute and/or modify the software. - - Also, for each author's protection and ours, we want to make certain -that everyone understands that there is no warranty for this free -software. If the software is modified by someone else and passed on, we -want its recipients to know that what they have is not the original, so -that any problems introduced by others will not reflect on the original -authors' reputations. - - Finally, any free program is threatened constantly by software -patents. We wish to avoid the danger that redistributors of a free -program will individually obtain patent licenses, in effect making the -program proprietary. To prevent this, we have made it clear that any -patent must be licensed for everyone's free use or not licensed at all. - - The precise terms and conditions for copying, distribution and -modification follow. - - GNU GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License applies to any program or other work which contains -a notice placed by the copyright holder saying it may be distributed -under the terms of this General Public License. The "Program", below, -refers to any such program or work, and a "work based on the Program" -means either the Program or any derivative work under copyright law: -that is to say, a work containing the Program or a portion of it, -either verbatim or with modifications and/or translated into another -language. (Hereinafter, translation is included without limitation in -the term "modification".) Each licensee is addressed as "you". - -Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running the Program is not restricted, and the output from the Program -is covered only if its contents constitute a work based on the -Program (independent of having been made by running the Program). -Whether that is true depends on what the Program does. - - 1. You may copy and distribute 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 and disclaimer of warranty; keep intact all the -notices that refer to this License and to the absence of any warranty; -and give any other recipients of the Program a copy of this License -along with the Program. - -You may charge a fee for the physical act of transferring a copy, and -you may at your option offer warranty protection in exchange for a fee. - - 2. You may modify your copy or copies of the Program or any portion -of it, thus forming a work based on the Program, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - - a) You must cause the modified files to carry prominent notices - stating that you changed the files and the date of any change. - - b) You must cause any work that you distribute or publish, that in - whole or in part contains or is derived from the Program or any - part thereof, to be licensed as a whole at no charge to all third - parties under the terms of this License. - - c) If the modified program normally reads commands interactively - when run, you must cause it, when started running for such - interactive use in the most ordinary way, to print or display an - announcement including an appropriate copyright notice and a - notice that there is no warranty (or else, saying that you provide - a warranty) and that users may redistribute the program under - these conditions, and telling the user how to view a copy of this - License. (Exception: if the Program itself is interactive but - does not normally print such an announcement, your work based on - the Program is not required to print an announcement.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Program, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Program, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Program. - -In addition, mere aggregation of another work not based on the Program -with the Program (or with a work based on the Program) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may copy and distribute the Program (or a work based on it, -under Section 2) in object code or executable form under the terms of -Sections 1 and 2 above provided that you also do one of the following: - - a) Accompany it with the complete corresponding machine-readable - source code, which must be distributed under the terms of Sections - 1 and 2 above on a medium customarily used for software interchange; or, - - b) Accompany it with a written offer, valid for at least three - years, to give any third party, for a charge no more than your - cost of physically performing source distribution, a complete - machine-readable copy of the corresponding source code, to be - distributed under the terms of Sections 1 and 2 above on a medium - customarily used for software interchange; or, - - c) Accompany it with the information you received as to the offer - to distribute corresponding source code. (This alternative is - allowed only for noncommercial distribution and only if you - received the program in object code or executable form with such - an offer, in accord with Subsection b above.) - -The source code for a work means the preferred form of the work for -making modifications to it. For an executable work, complete source -code means all the source code for all modules it contains, plus any -associated interface definition files, plus the scripts used to -control compilation and installation of the executable. However, as a -special exception, the source code distributed need not include -anything that is normally distributed (in either source or binary -form) with the major components (compiler, kernel, and so on) of the -operating system on which the executable runs, unless that component -itself accompanies the executable. - -If distribution of executable or object code is made by offering -access to copy from a designated place, then offering equivalent -access to copy the source code from the same place counts as -distribution of the source code, even though third parties are not -compelled to copy the source along with the object code. - - 4. You may not copy, modify, sublicense, or distribute the Program -except as expressly provided under this License. Any attempt -otherwise to copy, modify, sublicense or distribute the Program is -void, and will automatically terminate your rights under this License. -However, parties who have received copies, or rights, from you under -this License will not have their licenses terminated so long as such -parties remain in full compliance. - - 5. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Program or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Program (or any work based on the -Program), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Program or works based on it. - - 6. Each time you redistribute the Program (or any work based on the -Program), the recipient automatically receives a license from the -original licensor to copy, distribute or modify the Program subject to -these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties to -this License. - - 7. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -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 -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Program at all. For example, if a patent -license would not permit royalty-free redistribution of the Program by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Program. - -If any portion of this section is held invalid or unenforceable under -any particular circumstance, the balance of the section is intended to -apply and the section as a whole is intended to apply in other -circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system, which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - - 8. If the distribution and/or use of the Program is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Program under this License -may add an explicit geographical distribution limitation excluding -those countries, so that distribution is permitted only in or among -countries not thus excluded. In such case, this License incorporates -the limitation as if written in the body of this License. - - 9. The Free Software Foundation may publish revised and/or new versions -of the 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 a version number of this License which applies to it and "any -later version", you have the option of following the terms and conditions -either of that version or of any later version published by the Free -Software Foundation. If the Program does not specify a version number of -this License, you may choose any version ever published by the Free Software -Foundation. - - 10. If you wish to incorporate parts of the Program into other free -programs whose distribution conditions are different, write to the author -to ask for permission. For software which is copyrighted by the Free -Software Foundation, write to the Free Software Foundation; we sometimes -make exceptions for this. Our decision will be guided by the two goals -of preserving the free status of all derivatives of our free software and -of promoting the sharing and reuse of software generally. - - NO WARRANTY - - 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, 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. - - 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR -REDISTRIBUTE 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. - - 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 -convey the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - - Copyright (C) - - 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 2 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, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - -Also add information on how to contact you by electronic and paper mail. - -If the program is interactive, make it output a short notice like this -when it starts in an interactive mode: - - Gnomovision version 69, Copyright (C) year name of author - Gnomovision 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, the commands you use may -be called something other than `show w' and `show c'; they could even be -mouse-clicks or menu items--whatever suits your program. - -You should also get your employer (if you work as a programmer) or your -school, if any, to sign a "copyright disclaimer" for the program, if -necessary. Here is a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the program - `Gnomovision' (which makes passes at compilers) written by James Hacker. - - , 1 April 1989 - Ty Coon, President of Vice - -This 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 Library General -Public License instead of this License. diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..5b6e7c6 --- /dev/null +++ b/LICENSE @@ -0,0 +1,340 @@ + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc. + 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Library General Public License instead.) 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 +this service 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 make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. 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. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute 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 and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +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 +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the 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 a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, 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. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE 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. + + 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 +convey the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + 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 2 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, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) year name of author + Gnomovision 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, the commands you use may +be called something other than `show w' and `show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + `Gnomovision' (which makes passes at compilers) written by James Hacker. + + , 1 April 1989 + Ty Coon, President of Vice + +This 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 Library General +Public License instead of this License. diff --git a/Makefile.cvs b/Makefile.cvs deleted file mode 100644 index d160702..0000000 --- a/Makefile.cvs +++ /dev/null @@ -1,8 +0,0 @@ -default: all - -all: - aclocal - autoheader - automake - autoconf - diff --git a/Makefile.git b/Makefile.git new file mode 100644 index 0000000..d160702 --- /dev/null +++ b/Makefile.git @@ -0,0 +1,8 @@ +default: all + +all: + aclocal + autoheader + automake + autoconf + diff --git a/README b/README index 4969195..664c76a 100644 --- a/README +++ b/README @@ -1,12 +1,19 @@ - ------------------------------------------------------------------ +Project::OSiRiON - README - Project::OSiRiON - README + http://osirion.org - ------------------------------------------------------------------ + Project::OSiRiON is a free space trading and combat simulation under development. + Its goal is to create an immersive universe with open gameplay inspired by + classic titles such as Elite, Privateer and Freelancer. - The documentation can be found in the doc/ subdirectory. - Open doc/index.html with your favourite web browser. +License - Copyright information can be found in the file named COPYING. + The engine and game source code is distributed under the terms and conditions of the + GENERAL PUBLIC LICENSE, version 2. + Please refer to + http://www.gnu.org/licenses/old-licenses/gpl-2.0.html + for more information about this license. + + The full text of the license can be found in the file LICENSE. \ No newline at end of file diff --git a/developer/GAMEPLAY b/developer/GAMEPLAY deleted file mode 100644 index dc8f6ee..0000000 --- a/developer/GAMEPLAY +++ /dev/null @@ -1,209 +0,0 @@ - - ------------------------------------------------------------------ - - The Osirion Project - GAMEPLAY - - ------------------------------------------------------------------ - - This document describes what the gameplay of Project::OSiRiON should - eventually become. This document is a work in progress and is subject - to change. Many features haven't been implemented yet. - -Overview - - Project::OSiRiON is a multiplayer space game with persistent player - statistics. By trading goods, obtained through lawful purchase or - otherwise, a player can earn the necessary credits to buy bigger - guns and faster ships, and explore the universe in the search - for better deals. - - A single player mode with a compelling story is a secondary objective - but the storyline serves as background for the multiplayer universe. - - The player can not change the game world itself: he can not purchase - planets or starbases, nor destroy existing ones. - -Guidelines - - Project::OSiRiON is a 'serious' game. Names of objects, people and - places should be considered generic for the universe and should not - be rightout silly or offensive. Names should feel 'natural' in their - context. - - Models for ships, space stations and other objects should be designed - with the same philosphy in mind. It is acceptable to make references - to exisiting objects (real or fiction), as long as they are subtle - or inconspicuous. - - Names of planets, systems and areas are usually references to exisiting - places on earth. Astronomical objects or mythological personae are - also great sources of good names. - -Universe - - A basic description of the universe, how it is organised and who lives there. - - The universe is a collection of stand-alone star systems. Each star system - is a small world on its own. The only direct interaction between systems - is a player traveling between them. The background story should provide - (most of the) star systems and their relations. - - The Project::OSiRiON universe is an open universe. This means players are - free to travel around and visit the places they want, but this does not - mean the player will be welcomed anywhere he goes. - - Destructable objects are probably part of a mission, will respawn later or - have some other special meaning. - - Non-player characters (NPCs) populate the universe to act as trading - partners or target practice. - -The Player - - Who is the player in the universe. - - Friends - - Enemies - - Background - - How the player interacts with the universe. - - The player enters the universe as a typical out-of-luck person - who decided to start a new life. With a small ship he tries to become - the Richest Man in the Known Universe. The player earns money by shipping - cargo that can be bought at discount prices at one place and sold - at a premium on a second location. *mining *fighting *wrecks/looting. - - The goal is to become filthy rich and show it. Besides, with a particle - cannon and a target lock, nobody cares where your money comes from. - - True roleplaying is outside the scope of the game itself. The universe - (might/will) provide factions, friendly and hostile NPCS an strategic area's - but the game engine itself will not force true roleplaying. For example, - players will not be limited to certain ships and weapons depending on - their allegiances. - - Players can be hostile or friendly towards each other regardless - of their allegiances. - - Flying missions, mercenary, military or mercantile in nature. - -Ships - - The player starts the game with single small spacecraft and starts the - game docked at a planet or space station. When he has earned sufficient - money he can spend it on ship upgrades like weapons, armor, shields - and various other components. - - *gameplay idea - various 'useless' fancy upgrades that increase player status - -Traveling - - How the traveling happens in the universe, how the player will travel. - - Every ship is equipped with thrusters. The maximum thruster speed depends - on the ship type, small merchant vessels will have lower maximim trhuster - speed then a scout ship. - - Ships can also be equiped with a sublight kinetic impulse drive. This drive will - enable the ship to accelerate to a high speed without crossing the threshold - at which relativistic effects would affect structural cohesion. Kinetic impulse - drive speed is the same for most types of ships. Due to the enormous power - requirements a ship will not be a able to fire weapons while the impulse drive - is enabled. - - Neither of these engines will allow the player the leave the star system. - Interstellar travel is only possible using a hyperdrive. A hyperdrive is an - expensive piece of equipment with a massive power requirement. Only very - large ships will be capable of carrying a hyperspace jump drive. - - Interstellar travel for the common men is possible through the use - of commercial or government owned hyperspace gates. These gates create - on-demand hyperspace connections between star systems and provide a safe - and easy way to travel. - - Hyperspace travel is almost instantanious, hyperspace jump would be a more - accurate term to describe it. - - Current hyperspace technology works by making use of weak points in hyperspace, - known as hyperspace intersection faults. It takes only takes a reasonable amount - of energy to fold local space into such an intersection fault, to create a conduit - between both sides of the hyperspace intersection. All a ship has to do is enter - the event horizon of the hyperspace conduit (or 'jump hole', as it is commonly called) - to travel almost instantaniously to to other side, usualy several lightyears away. - - Jump gates are built in the vicinity of stable intersection faults and thus have a fixed - destination. - - Ships equiped with a hyperdrive work on the same principle. They seek out a sensitive - spot in the hyperspace field and fold local space to punch a hole through the other side. - This has several major consequences: a pilot has to determine has destination by finding - a good departure point in local space. Also, only a small number of connections between - systems will be possible. - - Hyperspace intersection faults are large (planetary orbit scale) and while they are attracted - to gravity wells like a star, they do not like to share their space. - - Note that is theoreticly possible to fold normal space deep enough into hyperspace to - create jumps holes on intergalactic scales. It would probably take a generator the size of a - large moon to achieve it. - -Capital Ships - - As the player earns money, he will eventually be able to buy very large capital ships. - Apart from beeing large and powerful, capship can be docked by other players and - used like any other dockable planet or station. - - A ship docked at the capship is able to use it as a carrier, and launch - when the carrier has reached its destination, or circumstances require it. - - A capship can be setup as a trading vessel, allowing smaller ships to dock - and buy and sell items at prices set by the owner. The capship would become - a moveable trading outpost. - -Planet and Stations - - Star systems are inhabited with planets and stations. - ... - Dockable planets or stations are bases - ... - Some bases provide storage facilities where players - can put items like weapons or spare parts in storage. - -Objects in space - -Weapons - - What kind of weapons are there. how do they work. - - Lasgun technology - - Pulse rifle technology - -Fighting - - How does fighting work? Aim weapon at enemy. Pull trigger. - - Fleeing from battle. - -Economy - - Money makes the Universe tick. - - Buying - - Selling - - Trading - -Cargo - - Transporting / Beaming - - Mining - - (Spare) parts - - Fuel - - Economy - -Missions - - - Search and Destroy - - Transport / Delivery - - Courier missions - -Fleets & Wingmen (secondary goal) - - About owning multiple ships and adding strategy elements. - diff --git a/developer/PROTOCOL b/developer/PROTOCOL deleted file mode 100644 index 92a345b..0000000 --- a/developer/PROTOCOL +++ /dev/null @@ -1,20 +0,0 @@ - -The Osirion Project - Network Protocol Overview - -Connection sequence - - - -Client State Server State - - Connecting - -"connect [protoversion]" --------> Pending - - <------- "msg info [sv_hostname" - - <------- ... world data ... - - <------- "connect" - -"pif[.. player info ...]" -------> Connected diff --git a/developer/ROADMAP b/developer/ROADMAP deleted file mode 100644 index eb25778..0000000 --- a/developer/ROADMAP +++ /dev/null @@ -1,219 +0,0 @@ - - ------------------------------------------------------------------ - - The Osirion Project - ROADMAP - - This document is superseded by http://osirion.org/tracker - - ------------------------------------------------------------------ - - General: - - This document describes the gameplay objectives for each - milestone of the project. Currently, milestone 0.1 has been - reached and the game universe is ready to be refined and - expanded. - - Features of the engine itself, like support for new file - formats, rendering options and game server commands - are implemented along the way and, unless required, - happen independent of the gamplay roadmap. - - This roadmap is not to be used as a roadplanner but as a - gentle guide to reach a playable game. - - ------------------------------------------------------------------ - - version 0.1.0 - The Universe (done) - - Description: - - The game world is divided into zones, the zones can be populated - with entities. Players can use their impulse drive or jump to - different zones. - - Multiple players can connect to the dedicated server. They can - fly around and see each other. They can use chat to communicate, - they can use private chat or global chat. - - Players can dock at a space station or planets. Docking - a jumpgate enables hyperspace travel. - - Requires: - - client console (ok) - entities (ok) - ship instances (ok) - network subsystem (ok) - entities (ok) - camera handling (ok) - keyboard bindings (ok) - zones (ok) - basic travelling: impulse drive, jump engine (ok) - basic docking (ok) - - ------------------------------------------------------------------ - - version 0.2.0 - Items and Trading - - Description: - - Ships and stations have inventories, players can buy and sell - cargo at a space station. Each item can have a text description - and a model. - - Requires: - - player credits (ok) - item info + lazy server-client exchange (ok) - trading (ok) - inventories (ok) - map entity descriptions (ok) - eject cargo/tractor beam (ok) - - Related: - - beam particles - player-to-player trading - equipment trading - - Optional: - - fuel system - economy - per-item adjustabe depletion rate (won't do) - - Implementation: - - inventory + ship statistics window (ok) - handle inventory transfer on ship aquisition (ok) - eject/destroy cargo (ok) - base inventory depletion (ok) - - docking player ships should require owner permission - player-to-player trading - player shops - player must be capable of setting the kind and price of items to sell - item 'tradeable' flag - shop allows multiple buyers, p2p trading just one - player factory ships + base factories, per-item adjustabe conversion rate and ratio - e.g. 2 units of niobum to 1 superconductor per 30 seconds - - - Features: - - collision physics (ok) - collision meshes (ok) - dockable player ships (ok) - zone chat (ok) - player saving (ok) - - improved network authentication - - - ------------------------------------------------------------------ - - version 0.3.0 - Weapons and Equipment - - Description: - - Players can buy and sell weapons. - Players can buy and sell ship upgrades like armor and scanners, - - Requires: - - cannons and turrets - cannon and turret models - model weapon slots and positioning - targetting - explosions, weapons fire and related sounds - equipment - weapon dealers and equipment traders - - improved particle systems - - Features: - - ------------------------------------------------------------------ - - version 0.4.0 - User Interface - - Description: - - The game has a consistent and usable user interface and the game - can be played without having to use the console. - - Requires: - - player saving - improved menus, options menu, controls menu - - Features: - - soundtracks - - Related: - - native keyboard layout support. - - ------------------------------------------------------------------ - - version 0.5.0 - Public alpha - - version 0.5.1 - Bugfix release - - Description: - - All the general large features of the engine are implemented. - Create a somewhat polished release with a playable universe - to create a platform for bug-fixes and improvements. - - The main goal if the alpha is to create interest for the project - and to attract an initial playerbase. At this point, a dedicated - 'Official' server is necessary. - - Requires: - - playable, consistent universe - general polishing - master server - player guid - player saving - - ------------------------------------------------------------------ - - version 0.6.0 - NPC's - - Requires: - - factions - allegiance - computer-controlled opponents - - ------------------------------------------------------------------ - - version 0.7.0 - Missions - - - ------------------------------------------------------------------ - - version 0.9.0 - public beta - - Description: - - Requires: - stable network protocol - background story - zip archive support - http downloads - - ------------------------------------------------------------------ - - version 1.0.0 - public release - - Requires: - - - ------------------------------------------------------------------ - - version 2.0.0 - rewrite of the engine, singleplayer diff --git a/developer/STORYLINE b/developer/STORYLINE deleted file mode 100644 index 7aff528..0000000 --- a/developer/STORYLINE +++ /dev/null @@ -1,512 +0,0 @@ - - ------------------------------------------------------------------ - - The Osirion Project - STORYLINE - - ------------------------------------------------------------------ - - This file contains ideas for the universe background, the factions and - the storyline. - - SPOILER ALERT! - - - ------------------------------------------------------------------ - PLACES AND FACTIONS - - - HOUSE LINDBLADE (protected by the Lindblade military) - - - Lindblade system - planet Lindblade - - - Burton system - planet Burton - Trent outpost - Lindblade shipyards - - - Dover system - - HOUSE PRAETORIA (protected by the Praetorian Guard) - - - Praetoria system - planet Praetoria - planet Lovanium - - HOUSE DAGON - - - Dagon system - - Ashir-Dan system - - Zensunni system - - COUNCIL CAPITAL (protected by the Ordinators) - - The seat of the Council and the capital of the central planets. - Location of the Allied Intelligence Network headquarters. - - - Council Capital - planet Corona /find a better name/ - - INDEPENDENT COLONIES (protected by the Colonial Militia) - - An alliance of systems independent from the central planets. - - - Ghant system - planet Ghant - Alexandria outpost - Battleship custodian - - planet Seymour - Regula station - - - Brogha system - planet Brogha - Cantor observatory - - - Antwerp system - planet Antwerp - starbase Helianthos (guards the border) - Buccaneer's Den pirate base - - - Kronenbaden - planet Baden - planet Krone - - - Khorsand system - - - Warsaw system - - NEUTRAL SYSTEMS - - - Finnmark (Joint Miners Association headquarters) - planet Finnmark - mining operations - - - East End - Trident core - - ORGANIZATIONS AND CORPORATIONS - - - Micron Corporation - - AMTEL Tech Conglomerate - - Joint Miners Association - - BORDERWORLDS (not claimed by any lawfull faction) - - Worlds destroyed during the war. - - - Kor Glaven - - - Kor Telos - planet Andros - planet Corthio - battlefield remains - - - Anarian system - Anarian nebula - Galileo research station - battlefield remains - - - Karelian system - no Planets - Karelian nebula - border station - - TSU-KHAN EMPIRE - - - Kiana system - Kiana Prime - - - Alpha Kosiya - - - Beta Kosiya (dissapeared and/or destroyed) - - - Gamma Kosiya - - - DERELICTS - - The Kadriant - - - Note on names: - - Before the war, the systems controlled by the Great Houses were - referred to as the 'Colonies'. The term 'borderworlds' was used - to refer to independent systems. - - Since the war, the term 'Borderworlds' is used to indicate - systems destroyed during the war, while the term 'colonies' - is generally used as abreviation for the 'Independent Colonies'. - The Protectorate and the systems controled by The Great Houses - are usually referred to as 'the central planets'. - - ------------------------------------------------------------------ - TIMELINE - - Exodus 0 AE (After Exodus) - The Year of War 480 AE - The Karelian Incident 510 AE - Today 545 AE - - - ------------------------------------------------------------------ - HISTORY OF THE YEAR OF WAR - from the House Lindblade historical records - - -Reaching for the Stars - - History of mankind is a tale mostly written in blood and fire. Although - there are few written accounts of the events before the Exodus, it wouldn't - be hard to imagine why the Homeworld would have been abandoned in the first - place: wars for power, territory and resources would be commonplace - for almost five centuries to come. - -The Year of War - - For the Tsu-Khan, this war was no different. About a century ago, - The Empire had depleted most of its natural resources and had launched - an ambitious project to find a suitable new homeworld. - - At the time, most of the human population was ignorant about the presence - of alien lifeforms in their galaxy. The scant pieces of evidence that did - exist were kept secret by the political leaders. The Colonies were controlled - by several Major Houses, each with their own agenda's and changing alliances. - None of the House Lords had the motivation to order a thorough investigation - into a mad man's testimony of outer world creatures. - - The war came without warning. Near Kor Telos, on the edge of known space - and outside the jurisidiction of the great houses, two new colonies - had been founded. The settlers were finishing the construction of their - hyperspace jump gate, to connect the system to allied borderworld systems. - Unfortunatly, the Tsu-Khan Empire had located a suitable planet just - a few parsec away. - - The Andros colony was the first to fall. It didn't take the Tsu-Khan - battle group very long to destroy the defenceless setlement. - By the time they arrived at the Corthio colony, the colony had scrambled - any battleship it could find to fend the invasion. The Colonial fleet was - no match for the superior Tsu-Khan ships. In a few hours, the battle was over, - and the Corthio colony had been reduced to ashes. - - The story repeated itself across the Borderworlds. These independent worlds were - usually inhabited by pacifist who had escaped the turmoil of the central planets - or had a mutual understanding with one or more of the great houses. The Tsu-khan - did not care, and the majority of the Bordesworlds was utterly obliterated. What - remained was a few primitive settlements scattered across the smoldering remains - of the Borderworld planets. - - The relations between the Borderworlds and the Major Houses were strained with - conflicts of interest. The central planets usually didn't care unless some economical - or strategical advantage was involved. Slowly the Houses got drawn into the the war, - and after almost a year of hostilities most of the House Lords found their armies - involved in a full-scale war. A war, they realised, they couldn't win. - - With the Borderworlds out of the way, and the Tsu-Khan fleet at the border of every - Major House, there wasn't much they could do to oppose the Empire. In this darkest - of hours a secret meeting took place that turned the fate of history. On a small, - neutral planet, near the centre of the Colonies, a number of small ships met in secret, - each ship carrying one of the remaining House Lords. - -The Alliance - - This small planet used to be the stage for the House Council, by then a long forgotten - tradition, where the Lords of the Major Houses used to work out their differences - with dialog, or discuss current events. In the years before the Great War, this - tradition had been neglected and oposing views were usually solved with a friendly - border skirmish followed by a royal monetary compensation. - - These times were over. This war wasn't about money, power or territory. - It was about survival and it was clear by now that none of the Major Houses possessed - sufficient strength to fight the Empire on its own. A new alliance was formed and it - was decided that it should not only include the Major Houses, but also any independent - system that was still capable of fighting. The Lord of House Lindblade, who's - territory had been on the front line since the beginning of the war, and considered - as moderate amongst the House Lords, proposed to assemble a fleet in the Lindblade - system to prevent the Empire from gaining a foothold in the Central Systems. - - Within days, the largest fleet in human history had united under one banner. Out of fear, - out of hope, but most of all, out of desperation. A news reporter from the era described - it as ".. an overwhelming sight of the End of Times, but unlike the descriptions of - Armegeddon in the Ancient Scripture, a sight with a sense of honour and dignity ..." - and ended his report with the question if they really had any chance against such - a formidable enemy. Battleship after battleship graciously drifted in formation, - and everyone on board, from crewman to captain, knew this had to be the final stand. - - When the Empire's vast intelligence informed the Tsu-Khan Emperor of this unexpected - turn of events, humanity's fate seemed sealed. The orders where quick and decisive: - regroup the fleet and prepare to engage the humans. Once dispatched it would - take care of the alliance fleet and end human opposition once and for all. The war - would be over soon and the Alliance's systems would under the Empire's control. - - It is said that even the smallest person can change the course of the future, and in - this case, it was a lonely scientists in the Anara system. His work involved - the meaning of life, the universe and related subjects, and ignoring the dangers - of the war was his way of dealing with the situation. His latest experiment required - him to pilot a tiny and almost unpowered vessel into the Anarian nebula, where - he could conduct measurements of the small variations in the local hyperspace field. - - He was performing another scan of the sector when suddenly his instruments went off - the scale. To his amazement he suddenly found himself on the edge on area where the - alien fleet had decided to regroup and refuel before they sneaked into Alliance Territory. - The small vessel, barely powered and only slightly larger than an emergency life - support pod, used the high levels of radiation in the nebula to elude the Tsu-Khan - sensors and send a warning message the Alliance Fleet. - - With the help of the detailed scientific information about the nebula, the Alliance - managed to jump right on top of the unsuspecting Tsu-Khan fleet. Within minutes, - the Imperial Flagship, primary target of the assault, had taken massive damage and was - burning in the flames of explosive decompression. It was at the heart of the fleet - when it exploded, and most of the heavy fighters and cruisers were hit by the shockwave - and the massive rain of high-speed metallic debris behind it. Some managed to retreat - to Tsu-Khan space, most fell victim to the united firepower of the Alliance fleet. - - News of the victory spread through the Colonies like fire, and the battle became legendary - before the Alliance fleet had even returned home. - - - ------------------------------------------------------------------ - PROJECT::OSIRION - Allied Intelligence Network classified documents - - -Project Osirion - - During the war, many great houses conducted experiments in search for - advanced technologies to aid in defeating the enemy. One of these - experiments was called 'Project Osirion', an experiment involving - a new type of hyperjumpdrive, which could work independent of hyperspace - jumps holes and cross enormous distances in the blink of an eye. - - The requirments on ship design for this experimental drive unit were - outrageous to say the least. But facing imminent defeat, no effort - was spared to gain even the slightest advantage. In less than 6 months - a new ship was constructed and equiped with the experimental drive unit. - - The ship was an impressive sight: several hundred meters of neutronium-enforced - carbosteel, thousands of metric tonnes of superconductors and optronics, - a monument to human ingenuity and an instrument to survival. - - This ship was christened 'Osirion'. - - The ship's first test flight was a major event. Most secret projects did not - generate a lot of attentention, but this flight was a higly anticipated by - the top brass from all parties involved: military, political and corporate alike. - - The ship had left the construction yard as planned and had almost arrived at - departure point on the edge of the star system when suddenly all communication - was lost. Extensive investigations after the incident have never revealed the - source of the malfunction, and everything that happened after this point is the - result of long-range sensor telemetry. - - Sensors hat detected the ship arriving at the departure point and the flight continued as planned. - A few moments later a massive energy discharge was registered, indicating - the experimental jump drive was activated. Unfortunatly, the order - to return to the point of departure after the initial jump, seems to be a part of - the plan that never got executed. The ship had literally vanished into thin air. - - The top brass was very upset. - - -The Karelian Incident - - -The Tsu-Khan Empire - - - ------------------------------------------------------------------ - PROJECT::OSIRION - Protectorate Top-Secret documents - -What really happed to the Osirion - -What really happed after the death of the Tsu-Khan Emperor - -Tsu-Khan Empress and the War Generals - -The Empress' niece - - ------------------------------------------------------------------ - PROJECT::OSIRION - STORY - -I. Business - - Alexandria outpost, jewel of the south, or queen of the wasteland, - as some higher placed officials like to call it off-the-record. - They were probably right too. The wasteland probably referred to - planet Ghant, a lifeless chunk of rock holding the outpost in - a stationary orbit. Unless you had some pressing matters to handle, - this was a part of space you would rather avoid. The only kind of - people you could find here were people doing business and people - who needed to dissapear from public appearance. Or both. - - The local custom was to mind your own business, and that was exactly - what I was looking for: minding my own business. My life on the central - planets had become far more complicated than I had planned for and it - was time for a change: I managed to get a loan from the local - planetary bank and spend it on the aquisition of a small transport - vessel. - - The first day of my new life as a spaceship captain. Not the glorious - life I had gotten used to, but at least a decent one with its small pleasures - once in a while. The small room I rented above the local bar almost felt like - home. After I left the central planets, I ended up on Alexandria outpost where - the local bartender was kind enough to offer me a job in his modest establishment. - He probably did it more out of sympathy then anything else, but as it turned - out, I'm great at doing the dishes and I always enjoyed our conversations. - That is, until last week, when I ran into Mister Brent. - - Ages ago, we used to work in the same building and he must have recognized me. - I was sitting at the bar when he suddenly tapped on my shoulder. My memories - of him were vague, but as he sat down, I ordered him a drink. We had some chit-chat, - shared a few memories of distant times, but it didn't take hime very long to come - to the point. - - Mister Brent was the business type. "The rising star of the Regula mining operations, - overseeing all shipments of niobium in the Ghant system", to quote his words. - His phrases like "A smart man could make a fortune" sounded rather hollow to me, - but he did have a point. 500 runs to Regula to pay the loan for the ship. - Another 1500 more to get myself a ship big enough to hold a small cabin with all the - luxuries a simple life would need. - - Repetetive? Boring? Perfect! Add an autopilot and this life could be more relaxing - then a luxury vacation on an exotic planet. With this simple business but rock-solid plan - laid out in front of me I managed to convince the manager of the local planetary - bank to provide me with the necessary funds for my operation, which I quickly - exchanged for Micron Corporation's latest Vector model. It's a small ship: - the cockpit, a living compartment with a sleeping corner and a cargo hold - just big enough to hold a few metric tons of whatever the owner had in mind. - All it missed was a pair of blasters to shoot the mosquitos from the windshield. - - That would have added another 50 runs to the price. - - The first two runs went smooth. Nothing unexpected. Pick up supplies at Alexandria, - fly all the way to the Regula mining operation station, exchange the supplies - for a shipment of karpax ore and head back. I had just hit the impulse drive with - the third load in my cargo hold when I noticed something out of place. - - A blip. And a big one too. No civilian vessel had an EM radar signature that powerful. - I peered through the windows and as planet Ghant grew bigger on me I could clearly - distinguish a second bright spot next to the familiar one Alexandria had become to me. - I quickly requested the computer for an identification and it didn't take it very long - to come up with an answer. Battleship Custodian. Colonial Militia registration number - CM-2542. It must have jumped in when I was docked at Regula. - - Curious. While the Ghant system was officialy under the jurisdiction of the - colonies, nobody had any real business here. Niobium was without doubt a valuable - commodity, but since there was no real shortage of the oremy guess was that the - military's interests would lie elsewhere. For now, I decided to ignore the matter. - I wasn't about to meddle into military affairs and let unfortunate circumstances ruin - my life again. - - Nevertheless it was hard to ignore the massive battleship looming over the outpost, - but I docked and went straight to the bar. The bartender looked at me as I walked in - and pointed me to my regular place at the bar. "I'll be right back", he said, - and disappeared into the kitchen compartment. As on most quiet evenings, the - regular customers were kind enough to leave my seat unocupied and it didn't - take the familar surroundings long to ease my exited mind into a more relaxes state. - "Here you are, one cup of steaming hot chocolate milk. I'm not sure how or where - you got it, but I am sure it is the real deal. No one would get it into his mind - to synthesize anything without having an actual market for it." - - As usual, my bartender was right, and that was exactly why I liked this stuff, even if it - costed a small fortune. "But then again", he continued and turned has eyes towards the large - space window at the other end of the bar, "life can be full of surprises." - -II. Surprises - - It was hard for him to hide his unsettledness. "I just had a talk with the station supervisor - and the commander of that battleship floating out there". "The Custodian", I replied. "I had - the ship computer run an ID on it". "You'd better take care of that fancy new ship of yours", - he said. "They were here to inform me that the Colonial Militia has decided to assign a detachment - to the Ghant system, effective immediately. All fleet operations in the system will be under the - command of the battleship Custodian. They also dropped some kind of communication sattelite - in the center of the system. God knows what these guys are up to." - - The military is always involved in business the common man would rather not know about, but I had - to admit, it just didn't sound right. A battleship in the Ghant system was curious, but a - more permanent presence didn't make any sense at all. I picked up the small metal spoon lying - next to my cup and stirred my hot milk. "I wouldn't worry too much. They've probably discovered - some interesting radiation in the neighbourhood and now they want to turn it into a weapon. You - know these kind of people, if it goes kabooom, they immediately like it." "Besides", I continued, - "the system has been quiet for months. I haven't seen a pirate in ages". - - The tone in my voice couldn't hide my longing for more dangerous and exiting times, - but those days were over. I had chosen a new path, and I was not about to ruin my plans - because of a few curious events. I emptied my cup and wished the bartender good night. - - I couldn't sleep that evening. I didn't know what troubled me more: the prospect - of my new life, the memories of the old one, or the strange events of today. When a man - is troubled, he has to start walking and with the silence of the night as a blanket, - I got out of bed and went out on a stroll. - - 2 am standard colonial time. Nights in space are something to get used to: without - the sun to rise and set, dusk and dawn become rather hollow definitions and - only the clock dictates when it is time to go to sleep. Nevertheless, the atmosphere - of the night still permiated the station: most of the establishments were closed and - the sound of busy peoples voices was replaced by the quiet hum of the electrical - installations. - - I wandered aimless through the empty corridors until I reached one of the large - space windows on the upper level. It was almost like the vast, empty space - behind it was reaching out, trying to stir something in the back of my mind. - I wasn't sure why but I could not shed the feeling that some event was about - to unfold. I turned around to head back to bed when suddenly felt a faint - tremor going through the station. It was hardly noticable and most people - would probably ignore it, but I knew exactly what it was. - - When a ship drops from hyperspace into normal space, it will send a small shockwave - into the surrounding area. This is not a shockwave of something traveling through space, - but rather a disturbance of the fabric of space itself, with a distinct rythmn - an experienced pilot can easily recognize. I could have ignored it too and - go back to sleep, but the intoxicating effect of the mystery dragged me back to the window. - - A ship had arrived, and it had to be close. Hyperspace-tremors do not travel very far - and it would take one hell of a pilot to make a jump this close to a gravitational well. - The slightest miscalulation would have spread out his atoms over the face of planet Ghant. - The bright moving spot between the stars had proven he was either very good, or very lucky. - - The design of the ship was unfamiliar. It looked like some kind of a patrol craft, - armed to the teeth and ready to defend itself if it were necessary. Fortunatly, - it looked like the pilot had a more quiet evening in mind. In a gracious arc, - he approached the station and soaring like a an eagle he started the final approached - to the docking bay. A pleasant sight for anyone who could appreciate the finer arts of - space flight. - - By now it was almost 3 am and I was almost certain I was going to regret this nightwandering - episode when my alarm clock would obnoxiously announce the next morning. Almost, because - by now I had also learned that having no regrets and a strong focus on the task at hand - was usually the wiser course of action. Right now, the task was finding some sleep. - - I turned around, walked to the elevator at the end of the corridor and pressed the button. - After a few seconds the doors opened with a joyfull chime and I stepped inside. "Level 3". - The elevator seemed to consider my request when the doors finaly closed and it started - moving down. I leaned casually against the back wall while my right hand was trying to catch - the yawn escaping my mouth while the elevator control panel continued to count down the current - level in large friendly letters. "5"... "4"... almost there... "3"... "2"... - - It took a moment for reality to trickle through the veil of sleepyness, but it was quite obvious - the elevator had passed my level and continued its journey downwards. There was only one thing down - there: the docking bay, and I couldn't shed the awkward feeling it was a place I'd rather avoid - at this particular moment. I pressed the emergency stop button on the control panel, to no avail. - - "1"... "0" ..."-1, Docking Bay". The low, humming noise of the elevator ended abruptly and the doors - opened again. - -III. The Docking Bay - - The warm arid air of the docking bay filled the elevator. Contemporary generator technology - tends to ionize the atmosphere and the distinct smell of a recently landed ship was - noticably present //..more//. - -Temporary notes: - - III about getting stunned in the cargo bay - - IV about waking up on Starbase Helianthos - - V about Linblade and 'they've hidden it' - - VI about the Kadriant diff --git a/developer/TASKS b/developer/TASKS deleted file mode 100644 index e655689..0000000 --- a/developer/TASKS +++ /dev/null @@ -1,97 +0,0 @@ - - ------------------------------------------------------------------ - - Project::OSiRiON - TASKS - - ------------------------------------------------------------------ - - This file contains a list of reasonable easy tasks than can - be done by anyone who is interested in contributing to - the project. No programming skills are required to - do any of these. - -Create skyboxes - - The program Spacescape is a freely available tool to - create skyboxes with stars and nebulas. - - http://alexcpeterson.com/spacescape - - Note that this tool only works on windows, attempts to run - it in linux with wine have been unsuccessful. - - I wrote a small shell script to rename its output to osirion - conventions: - - http://ingar.satgnu.net/osirion/files/util/rename-sky.sh - -Ship definitions - - A lot of ship definitions in base/ini/ships.ini are incomplete: - price, cargo hold size, jump drive, dockable and engine - specifications have to be added and tweaked where necessary. - -Cargo definitions - - Add cargo definitions to ini/cargo.ini. - -Cargo models - - Each cargo definition needs a model to represent the type of cargo in-game. - - Required models: - - Crystals - - Diamonds - - Iron (ore) - - Niobium (ore) - - Liquor (bottles?) - - Carbosteel (plating / blocks?) - - Superconductors (fancy magnet thing?) - - Optronics (optical chips) - -Trade definitions - - Add trade definitions to the world ini files. - - The easiest way to do this is by thinking in trade routes: - - - A base resource is sold at the source location, with unlimited supply - amount = -1 - price = low - e.g. iron is mined and sold at an iron mining installation - - - The resource can be sold at a good price at a target location that probably needs the resource - amount = 0 - price = high - e.g. a carbosteel forge will buy the iron at a good price - - - On the route from source to destination, the resource can be sold along the way. The price - increases with distance from the source location. - amount = 0 - price = medium - e.g. the iron ore can be traded on a supply station along the route - - After finishing a route, traders like to take back other profitable goods, - therefor it is generally a good idea to provide a trade route in the opposite - direction to the same area. - -Models - - Required objects - - - Iron mining facility (Finnmark system) - - Carbosteel forge - - AMTEL optronics production plant - - Border Guard station (Karelian system) - -Documentation - - The list of attributions needs updating - - Most of the documentation needs updating: - doc/attribution.html List of attributions - doc/guide.html Player guide - doc/manual.html Engine user manual - doc/world.html Editing the world - - Hints from this document can probably be added to the main documentation. diff --git a/developer/TODO b/developer/TODO deleted file mode 100644 index bd20551..0000000 --- a/developer/TODO +++ /dev/null @@ -1,109 +0,0 @@ - - ------------------------------------------------------------------ - - Project::OSiRiON - TODO - - ------------------------------------------------------------------ - -general: - documentation cleanup -> wiki - finish player guide -> wiki - update user manual-> wiki - - server-client event system, hit-once lightweight entities - explosion events - sound events - world sounds - weapons - ship improvements (radars, shield, armor) - -filesystem: - write a filesystem based on streams - write handlers for zip - write handlers for gz - fs_homedir, to define the writeable directory - fs_datadir, readonly package datadir - fs_base, fs_mod, fs_game, to be used by modules - -model: - .md3 support - -core: - add EntityControlable::control_flags() to group on/off controls (Impulse, AutoPilot?) - - afterburner is a -1/0/1 control and can't be added - - replace the impulse command with a control flag - - think about AutoLevel - - find an elegant solution for /say and /shout on the dedicated server console, verify private chat - fix game.ini load/save sequence - fx events: jump events, tracktor beams, weapons fire - pause game loop when there are no players - support for entities like nebulas and asteroid fields - -network: - protocol description (incomplete) - group chat (requires player groups) - rcon authentication, rcon command, servers must be able to disable rcon - rconpassword: send md5sum instead of plaintext - player authentication (player guid), admin rights - detect and disconnect clients behaving badly - let server track Entity::State changes - - add server-side distance check before sending entity updates - client prediction, replace SUP network frames with PHYS frames - fix lag/client interpolation - - EXT messages, update extended property "ext id prop value prop value etc", type checking/seperator etc.. - EXT zone/color/shield/armor/health - - reliable network messages (e.g. entity create/die) - -client: - beam and eject cargo (commands implemented, needs UI and general FX) - add map window target model - tracking camera absolute speed/position + SLERP - correct hud target/target hoover inconsistencies - reset info text scroll when showing buy/trade menu - enable chat window player list selection, add global chat buttons - create hud concept artwork - - fix camera frustum clip (size issue, postponed) - -render: - fix skybox envmapping -> cube map - star light strenght - general globe texture stretching, coordinates seem to be off - multitexture materials - -ui: - unify event handlers, expand Event class and make derived event classes - -sound: - entity/event positional sounds - jump drive sound events - client-side control of impulse initiate / impulse loop sound sequence - -game: - add Ship::ship_dock, making docking independent of player->view() -> relates to player-to-player trading - have the goto command check the target's Docked state -> ties into ship dock awereness - move Ship::dock() functionality into core::EntityControlable - - ship health/shield/armor - add fleet support - -singleplayer: - think about a single player format and potential required core features - -documentation: - update starsystem roadmap - add starsystem roadmap to the user documentation - add a yaw/pitch/roll image to the modelling documentation - -data: - rename skies (lindblade1, lindblade2, ...) - -automake: - perform a library link test after each header test - replace OpenGL header test with SDL_opengl.h - link test with GL_HOST_LIBS (and other host libs) - make install and installation of data/ diff --git a/doc/GAMEPLAY b/doc/GAMEPLAY new file mode 100644 index 0000000..dc8f6ee --- /dev/null +++ b/doc/GAMEPLAY @@ -0,0 +1,209 @@ + + ------------------------------------------------------------------ + + The Osirion Project - GAMEPLAY + + ------------------------------------------------------------------ + + This document describes what the gameplay of Project::OSiRiON should + eventually become. This document is a work in progress and is subject + to change. Many features haven't been implemented yet. + +Overview + + Project::OSiRiON is a multiplayer space game with persistent player + statistics. By trading goods, obtained through lawful purchase or + otherwise, a player can earn the necessary credits to buy bigger + guns and faster ships, and explore the universe in the search + for better deals. + + A single player mode with a compelling story is a secondary objective + but the storyline serves as background for the multiplayer universe. + + The player can not change the game world itself: he can not purchase + planets or starbases, nor destroy existing ones. + +Guidelines + + Project::OSiRiON is a 'serious' game. Names of objects, people and + places should be considered generic for the universe and should not + be rightout silly or offensive. Names should feel 'natural' in their + context. + + Models for ships, space stations and other objects should be designed + with the same philosphy in mind. It is acceptable to make references + to exisiting objects (real or fiction), as long as they are subtle + or inconspicuous. + + Names of planets, systems and areas are usually references to exisiting + places on earth. Astronomical objects or mythological personae are + also great sources of good names. + +Universe + + A basic description of the universe, how it is organised and who lives there. + + The universe is a collection of stand-alone star systems. Each star system + is a small world on its own. The only direct interaction between systems + is a player traveling between them. The background story should provide + (most of the) star systems and their relations. + + The Project::OSiRiON universe is an open universe. This means players are + free to travel around and visit the places they want, but this does not + mean the player will be welcomed anywhere he goes. + + Destructable objects are probably part of a mission, will respawn later or + have some other special meaning. + + Non-player characters (NPCs) populate the universe to act as trading + partners or target practice. + +The Player + + Who is the player in the universe. + - Friends + - Enemies + - Background + - How the player interacts with the universe. + + The player enters the universe as a typical out-of-luck person + who decided to start a new life. With a small ship he tries to become + the Richest Man in the Known Universe. The player earns money by shipping + cargo that can be bought at discount prices at one place and sold + at a premium on a second location. *mining *fighting *wrecks/looting. + + The goal is to become filthy rich and show it. Besides, with a particle + cannon and a target lock, nobody cares where your money comes from. + + True roleplaying is outside the scope of the game itself. The universe + (might/will) provide factions, friendly and hostile NPCS an strategic area's + but the game engine itself will not force true roleplaying. For example, + players will not be limited to certain ships and weapons depending on + their allegiances. + + Players can be hostile or friendly towards each other regardless + of their allegiances. + + Flying missions, mercenary, military or mercantile in nature. + +Ships + + The player starts the game with single small spacecraft and starts the + game docked at a planet or space station. When he has earned sufficient + money he can spend it on ship upgrades like weapons, armor, shields + and various other components. + + *gameplay idea + various 'useless' fancy upgrades that increase player status + +Traveling + + How the traveling happens in the universe, how the player will travel. + + Every ship is equipped with thrusters. The maximum thruster speed depends + on the ship type, small merchant vessels will have lower maximim trhuster + speed then a scout ship. + + Ships can also be equiped with a sublight kinetic impulse drive. This drive will + enable the ship to accelerate to a high speed without crossing the threshold + at which relativistic effects would affect structural cohesion. Kinetic impulse + drive speed is the same for most types of ships. Due to the enormous power + requirements a ship will not be a able to fire weapons while the impulse drive + is enabled. + + Neither of these engines will allow the player the leave the star system. + Interstellar travel is only possible using a hyperdrive. A hyperdrive is an + expensive piece of equipment with a massive power requirement. Only very + large ships will be capable of carrying a hyperspace jump drive. + + Interstellar travel for the common men is possible through the use + of commercial or government owned hyperspace gates. These gates create + on-demand hyperspace connections between star systems and provide a safe + and easy way to travel. + + Hyperspace travel is almost instantanious, hyperspace jump would be a more + accurate term to describe it. + + Current hyperspace technology works by making use of weak points in hyperspace, + known as hyperspace intersection faults. It takes only takes a reasonable amount + of energy to fold local space into such an intersection fault, to create a conduit + between both sides of the hyperspace intersection. All a ship has to do is enter + the event horizon of the hyperspace conduit (or 'jump hole', as it is commonly called) + to travel almost instantaniously to to other side, usualy several lightyears away. + + Jump gates are built in the vicinity of stable intersection faults and thus have a fixed + destination. + + Ships equiped with a hyperdrive work on the same principle. They seek out a sensitive + spot in the hyperspace field and fold local space to punch a hole through the other side. + This has several major consequences: a pilot has to determine has destination by finding + a good departure point in local space. Also, only a small number of connections between + systems will be possible. + + Hyperspace intersection faults are large (planetary orbit scale) and while they are attracted + to gravity wells like a star, they do not like to share their space. + + Note that is theoreticly possible to fold normal space deep enough into hyperspace to + create jumps holes on intergalactic scales. It would probably take a generator the size of a + large moon to achieve it. + +Capital Ships + + As the player earns money, he will eventually be able to buy very large capital ships. + Apart from beeing large and powerful, capship can be docked by other players and + used like any other dockable planet or station. + + A ship docked at the capship is able to use it as a carrier, and launch + when the carrier has reached its destination, or circumstances require it. + + A capship can be setup as a trading vessel, allowing smaller ships to dock + and buy and sell items at prices set by the owner. The capship would become + a moveable trading outpost. + +Planet and Stations + + Star systems are inhabited with planets and stations. + ... + Dockable planets or stations are bases + ... + Some bases provide storage facilities where players + can put items like weapons or spare parts in storage. + +Objects in space + +Weapons + + What kind of weapons are there. how do they work. + - Lasgun technology + - Pulse rifle technology + +Fighting + + How does fighting work? Aim weapon at enemy. Pull trigger. + + Fleeing from battle. + +Economy + + Money makes the Universe tick. + - Buying + - Selling + - Trading + +Cargo + - Transporting / Beaming + - Mining + - (Spare) parts + - Fuel + - Economy + +Missions + + - Search and Destroy + - Transport / Delivery + - Courier missions + +Fleets & Wingmen (secondary goal) + + About owning multiple ships and adding strategy elements. + diff --git a/doc/PROTOCOL b/doc/PROTOCOL new file mode 100644 index 0000000..92a345b --- /dev/null +++ b/doc/PROTOCOL @@ -0,0 +1,20 @@ + +The Osirion Project - Network Protocol Overview + +Connection sequence + + + +Client State Server State + + Connecting + +"connect [protoversion]" --------> Pending + + <------- "msg info [sv_hostname" + + <------- ... world data ... + + <------- "connect" + +"pif[.. player info ...]" -------> Connected diff --git a/doc/ROADMAP b/doc/ROADMAP new file mode 100644 index 0000000..eb25778 --- /dev/null +++ b/doc/ROADMAP @@ -0,0 +1,219 @@ + + ------------------------------------------------------------------ + + The Osirion Project - ROADMAP + + This document is superseded by http://osirion.org/tracker + + ------------------------------------------------------------------ + + General: + + This document describes the gameplay objectives for each + milestone of the project. Currently, milestone 0.1 has been + reached and the game universe is ready to be refined and + expanded. + + Features of the engine itself, like support for new file + formats, rendering options and game server commands + are implemented along the way and, unless required, + happen independent of the gamplay roadmap. + + This roadmap is not to be used as a roadplanner but as a + gentle guide to reach a playable game. + + ------------------------------------------------------------------ + + version 0.1.0 - The Universe (done) + + Description: + + The game world is divided into zones, the zones can be populated + with entities. Players can use their impulse drive or jump to + different zones. + + Multiple players can connect to the dedicated server. They can + fly around and see each other. They can use chat to communicate, + they can use private chat or global chat. + + Players can dock at a space station or planets. Docking + a jumpgate enables hyperspace travel. + + Requires: + + client console (ok) + entities (ok) + ship instances (ok) + network subsystem (ok) + entities (ok) + camera handling (ok) + keyboard bindings (ok) + zones (ok) + basic travelling: impulse drive, jump engine (ok) + basic docking (ok) + + ------------------------------------------------------------------ + + version 0.2.0 - Items and Trading + + Description: + + Ships and stations have inventories, players can buy and sell + cargo at a space station. Each item can have a text description + and a model. + + Requires: + + player credits (ok) + item info + lazy server-client exchange (ok) + trading (ok) + inventories (ok) + map entity descriptions (ok) + eject cargo/tractor beam (ok) + + Related: + + beam particles + player-to-player trading + equipment trading + + Optional: + + fuel system + economy + per-item adjustabe depletion rate (won't do) + + Implementation: + + inventory + ship statistics window (ok) + handle inventory transfer on ship aquisition (ok) + eject/destroy cargo (ok) + base inventory depletion (ok) + + docking player ships should require owner permission + player-to-player trading + player shops + player must be capable of setting the kind and price of items to sell + item 'tradeable' flag + shop allows multiple buyers, p2p trading just one + player factory ships + base factories, per-item adjustabe conversion rate and ratio + e.g. 2 units of niobum to 1 superconductor per 30 seconds + + + Features: + + collision physics (ok) + collision meshes (ok) + dockable player ships (ok) + zone chat (ok) + player saving (ok) + + improved network authentication + + + ------------------------------------------------------------------ + + version 0.3.0 - Weapons and Equipment + + Description: + + Players can buy and sell weapons. + Players can buy and sell ship upgrades like armor and scanners, + + Requires: + + cannons and turrets + cannon and turret models + model weapon slots and positioning + targetting + explosions, weapons fire and related sounds + equipment + weapon dealers and equipment traders + + improved particle systems + + Features: + + ------------------------------------------------------------------ + + version 0.4.0 - User Interface + + Description: + + The game has a consistent and usable user interface and the game + can be played without having to use the console. + + Requires: + + player saving + improved menus, options menu, controls menu + + Features: + + soundtracks + + Related: + + native keyboard layout support. + + ------------------------------------------------------------------ + + version 0.5.0 - Public alpha + + version 0.5.1 - Bugfix release + + Description: + + All the general large features of the engine are implemented. + Create a somewhat polished release with a playable universe + to create a platform for bug-fixes and improvements. + + The main goal if the alpha is to create interest for the project + and to attract an initial playerbase. At this point, a dedicated + 'Official' server is necessary. + + Requires: + + playable, consistent universe + general polishing + master server + player guid + player saving + + ------------------------------------------------------------------ + + version 0.6.0 - NPC's + + Requires: + + factions + allegiance + computer-controlled opponents + + ------------------------------------------------------------------ + + version 0.7.0 - Missions + + + ------------------------------------------------------------------ + + version 0.9.0 - public beta + + Description: + + Requires: + stable network protocol + background story + zip archive support + http downloads + + ------------------------------------------------------------------ + + version 1.0.0 - public release + + Requires: + + + ------------------------------------------------------------------ + + version 2.0.0 - rewrite of the engine, singleplayer diff --git a/doc/STORYLINE b/doc/STORYLINE new file mode 100644 index 0000000..7aff528 --- /dev/null +++ b/doc/STORYLINE @@ -0,0 +1,512 @@ + + ------------------------------------------------------------------ + + The Osirion Project - STORYLINE + + ------------------------------------------------------------------ + + This file contains ideas for the universe background, the factions and + the storyline. + + SPOILER ALERT! + + + ------------------------------------------------------------------ + PLACES AND FACTIONS + + + HOUSE LINDBLADE (protected by the Lindblade military) + + - Lindblade system + planet Lindblade + + - Burton system + planet Burton + Trent outpost + Lindblade shipyards + + - Dover system + + HOUSE PRAETORIA (protected by the Praetorian Guard) + + - Praetoria system + planet Praetoria + planet Lovanium + + HOUSE DAGON + + - Dagon system + - Ashir-Dan system + - Zensunni system + + COUNCIL CAPITAL (protected by the Ordinators) + + The seat of the Council and the capital of the central planets. + Location of the Allied Intelligence Network headquarters. + + - Council Capital + planet Corona /find a better name/ + + INDEPENDENT COLONIES (protected by the Colonial Militia) + + An alliance of systems independent from the central planets. + + - Ghant system + planet Ghant + Alexandria outpost + Battleship custodian + + planet Seymour + Regula station + + - Brogha system + planet Brogha + Cantor observatory + + - Antwerp system + planet Antwerp + starbase Helianthos (guards the border) + Buccaneer's Den pirate base + + - Kronenbaden + planet Baden + planet Krone + + - Khorsand system + + - Warsaw system + + NEUTRAL SYSTEMS + + - Finnmark (Joint Miners Association headquarters) + planet Finnmark + mining operations + + - East End + Trident core + + ORGANIZATIONS AND CORPORATIONS + + - Micron Corporation + - AMTEL Tech Conglomerate + - Joint Miners Association + + BORDERWORLDS (not claimed by any lawfull faction) + + Worlds destroyed during the war. + + - Kor Glaven + + - Kor Telos + planet Andros + planet Corthio + battlefield remains + + - Anarian system + Anarian nebula + Galileo research station + battlefield remains + + - Karelian system + no Planets + Karelian nebula + border station + + TSU-KHAN EMPIRE + + - Kiana system + Kiana Prime + + - Alpha Kosiya + + - Beta Kosiya (dissapeared and/or destroyed) + + - Gamma Kosiya + + + DERELICTS + + The Kadriant + + + Note on names: + + Before the war, the systems controlled by the Great Houses were + referred to as the 'Colonies'. The term 'borderworlds' was used + to refer to independent systems. + + Since the war, the term 'Borderworlds' is used to indicate + systems destroyed during the war, while the term 'colonies' + is generally used as abreviation for the 'Independent Colonies'. + The Protectorate and the systems controled by The Great Houses + are usually referred to as 'the central planets'. + + ------------------------------------------------------------------ + TIMELINE + + Exodus 0 AE (After Exodus) + The Year of War 480 AE + The Karelian Incident 510 AE + Today 545 AE + + + ------------------------------------------------------------------ + HISTORY OF THE YEAR OF WAR + from the House Lindblade historical records + + +Reaching for the Stars + + History of mankind is a tale mostly written in blood and fire. Although + there are few written accounts of the events before the Exodus, it wouldn't + be hard to imagine why the Homeworld would have been abandoned in the first + place: wars for power, territory and resources would be commonplace + for almost five centuries to come. + +The Year of War + + For the Tsu-Khan, this war was no different. About a century ago, + The Empire had depleted most of its natural resources and had launched + an ambitious project to find a suitable new homeworld. + + At the time, most of the human population was ignorant about the presence + of alien lifeforms in their galaxy. The scant pieces of evidence that did + exist were kept secret by the political leaders. The Colonies were controlled + by several Major Houses, each with their own agenda's and changing alliances. + None of the House Lords had the motivation to order a thorough investigation + into a mad man's testimony of outer world creatures. + + The war came without warning. Near Kor Telos, on the edge of known space + and outside the jurisidiction of the great houses, two new colonies + had been founded. The settlers were finishing the construction of their + hyperspace jump gate, to connect the system to allied borderworld systems. + Unfortunatly, the Tsu-Khan Empire had located a suitable planet just + a few parsec away. + + The Andros colony was the first to fall. It didn't take the Tsu-Khan + battle group very long to destroy the defenceless setlement. + By the time they arrived at the Corthio colony, the colony had scrambled + any battleship it could find to fend the invasion. The Colonial fleet was + no match for the superior Tsu-Khan ships. In a few hours, the battle was over, + and the Corthio colony had been reduced to ashes. + + The story repeated itself across the Borderworlds. These independent worlds were + usually inhabited by pacifist who had escaped the turmoil of the central planets + or had a mutual understanding with one or more of the great houses. The Tsu-khan + did not care, and the majority of the Bordesworlds was utterly obliterated. What + remained was a few primitive settlements scattered across the smoldering remains + of the Borderworld planets. + + The relations between the Borderworlds and the Major Houses were strained with + conflicts of interest. The central planets usually didn't care unless some economical + or strategical advantage was involved. Slowly the Houses got drawn into the the war, + and after almost a year of hostilities most of the House Lords found their armies + involved in a full-scale war. A war, they realised, they couldn't win. + + With the Borderworlds out of the way, and the Tsu-Khan fleet at the border of every + Major House, there wasn't much they could do to oppose the Empire. In this darkest + of hours a secret meeting took place that turned the fate of history. On a small, + neutral planet, near the centre of the Colonies, a number of small ships met in secret, + each ship carrying one of the remaining House Lords. + +The Alliance + + This small planet used to be the stage for the House Council, by then a long forgotten + tradition, where the Lords of the Major Houses used to work out their differences + with dialog, or discuss current events. In the years before the Great War, this + tradition had been neglected and oposing views were usually solved with a friendly + border skirmish followed by a royal monetary compensation. + + These times were over. This war wasn't about money, power or territory. + It was about survival and it was clear by now that none of the Major Houses possessed + sufficient strength to fight the Empire on its own. A new alliance was formed and it + was decided that it should not only include the Major Houses, but also any independent + system that was still capable of fighting. The Lord of House Lindblade, who's + territory had been on the front line since the beginning of the war, and considered + as moderate amongst the House Lords, proposed to assemble a fleet in the Lindblade + system to prevent the Empire from gaining a foothold in the Central Systems. + + Within days, the largest fleet in human history had united under one banner. Out of fear, + out of hope, but most of all, out of desperation. A news reporter from the era described + it as ".. an overwhelming sight of the End of Times, but unlike the descriptions of + Armegeddon in the Ancient Scripture, a sight with a sense of honour and dignity ..." + and ended his report with the question if they really had any chance against such + a formidable enemy. Battleship after battleship graciously drifted in formation, + and everyone on board, from crewman to captain, knew this had to be the final stand. + + When the Empire's vast intelligence informed the Tsu-Khan Emperor of this unexpected + turn of events, humanity's fate seemed sealed. The orders where quick and decisive: + regroup the fleet and prepare to engage the humans. Once dispatched it would + take care of the alliance fleet and end human opposition once and for all. The war + would be over soon and the Alliance's systems would under the Empire's control. + + It is said that even the smallest person can change the course of the future, and in + this case, it was a lonely scientists in the Anara system. His work involved + the meaning of life, the universe and related subjects, and ignoring the dangers + of the war was his way of dealing with the situation. His latest experiment required + him to pilot a tiny and almost unpowered vessel into the Anarian nebula, where + he could conduct measurements of the small variations in the local hyperspace field. + + He was performing another scan of the sector when suddenly his instruments went off + the scale. To his amazement he suddenly found himself on the edge on area where the + alien fleet had decided to regroup and refuel before they sneaked into Alliance Territory. + The small vessel, barely powered and only slightly larger than an emergency life + support pod, used the high levels of radiation in the nebula to elude the Tsu-Khan + sensors and send a warning message the Alliance Fleet. + + With the help of the detailed scientific information about the nebula, the Alliance + managed to jump right on top of the unsuspecting Tsu-Khan fleet. Within minutes, + the Imperial Flagship, primary target of the assault, had taken massive damage and was + burning in the flames of explosive decompression. It was at the heart of the fleet + when it exploded, and most of the heavy fighters and cruisers were hit by the shockwave + and the massive rain of high-speed metallic debris behind it. Some managed to retreat + to Tsu-Khan space, most fell victim to the united firepower of the Alliance fleet. + + News of the victory spread through the Colonies like fire, and the battle became legendary + before the Alliance fleet had even returned home. + + + ------------------------------------------------------------------ + PROJECT::OSIRION + Allied Intelligence Network classified documents + + +Project Osirion + + During the war, many great houses conducted experiments in search for + advanced technologies to aid in defeating the enemy. One of these + experiments was called 'Project Osirion', an experiment involving + a new type of hyperjumpdrive, which could work independent of hyperspace + jumps holes and cross enormous distances in the blink of an eye. + + The requirments on ship design for this experimental drive unit were + outrageous to say the least. But facing imminent defeat, no effort + was spared to gain even the slightest advantage. In less than 6 months + a new ship was constructed and equiped with the experimental drive unit. + + The ship was an impressive sight: several hundred meters of neutronium-enforced + carbosteel, thousands of metric tonnes of superconductors and optronics, + a monument to human ingenuity and an instrument to survival. + + This ship was christened 'Osirion'. + + The ship's first test flight was a major event. Most secret projects did not + generate a lot of attentention, but this flight was a higly anticipated by + the top brass from all parties involved: military, political and corporate alike. + + The ship had left the construction yard as planned and had almost arrived at + departure point on the edge of the star system when suddenly all communication + was lost. Extensive investigations after the incident have never revealed the + source of the malfunction, and everything that happened after this point is the + result of long-range sensor telemetry. + + Sensors hat detected the ship arriving at the departure point and the flight continued as planned. + A few moments later a massive energy discharge was registered, indicating + the experimental jump drive was activated. Unfortunatly, the order + to return to the point of departure after the initial jump, seems to be a part of + the plan that never got executed. The ship had literally vanished into thin air. + + The top brass was very upset. + + +The Karelian Incident + + +The Tsu-Khan Empire + + + ------------------------------------------------------------------ + PROJECT::OSIRION + Protectorate Top-Secret documents + +What really happed to the Osirion + +What really happed after the death of the Tsu-Khan Emperor + +Tsu-Khan Empress and the War Generals + +The Empress' niece + + ------------------------------------------------------------------ + PROJECT::OSIRION + STORY + +I. Business + + Alexandria outpost, jewel of the south, or queen of the wasteland, + as some higher placed officials like to call it off-the-record. + They were probably right too. The wasteland probably referred to + planet Ghant, a lifeless chunk of rock holding the outpost in + a stationary orbit. Unless you had some pressing matters to handle, + this was a part of space you would rather avoid. The only kind of + people you could find here were people doing business and people + who needed to dissapear from public appearance. Or both. + + The local custom was to mind your own business, and that was exactly + what I was looking for: minding my own business. My life on the central + planets had become far more complicated than I had planned for and it + was time for a change: I managed to get a loan from the local + planetary bank and spend it on the aquisition of a small transport + vessel. + + The first day of my new life as a spaceship captain. Not the glorious + life I had gotten used to, but at least a decent one with its small pleasures + once in a while. The small room I rented above the local bar almost felt like + home. After I left the central planets, I ended up on Alexandria outpost where + the local bartender was kind enough to offer me a job in his modest establishment. + He probably did it more out of sympathy then anything else, but as it turned + out, I'm great at doing the dishes and I always enjoyed our conversations. + That is, until last week, when I ran into Mister Brent. + + Ages ago, we used to work in the same building and he must have recognized me. + I was sitting at the bar when he suddenly tapped on my shoulder. My memories + of him were vague, but as he sat down, I ordered him a drink. We had some chit-chat, + shared a few memories of distant times, but it didn't take hime very long to come + to the point. + + Mister Brent was the business type. "The rising star of the Regula mining operations, + overseeing all shipments of niobium in the Ghant system", to quote his words. + His phrases like "A smart man could make a fortune" sounded rather hollow to me, + but he did have a point. 500 runs to Regula to pay the loan for the ship. + Another 1500 more to get myself a ship big enough to hold a small cabin with all the + luxuries a simple life would need. + + Repetetive? Boring? Perfect! Add an autopilot and this life could be more relaxing + then a luxury vacation on an exotic planet. With this simple business but rock-solid plan + laid out in front of me I managed to convince the manager of the local planetary + bank to provide me with the necessary funds for my operation, which I quickly + exchanged for Micron Corporation's latest Vector model. It's a small ship: + the cockpit, a living compartment with a sleeping corner and a cargo hold + just big enough to hold a few metric tons of whatever the owner had in mind. + All it missed was a pair of blasters to shoot the mosquitos from the windshield. + + That would have added another 50 runs to the price. + + The first two runs went smooth. Nothing unexpected. Pick up supplies at Alexandria, + fly all the way to the Regula mining operation station, exchange the supplies + for a shipment of karpax ore and head back. I had just hit the impulse drive with + the third load in my cargo hold when I noticed something out of place. + + A blip. And a big one too. No civilian vessel had an EM radar signature that powerful. + I peered through the windows and as planet Ghant grew bigger on me I could clearly + distinguish a second bright spot next to the familiar one Alexandria had become to me. + I quickly requested the computer for an identification and it didn't take it very long + to come up with an answer. Battleship Custodian. Colonial Militia registration number + CM-2542. It must have jumped in when I was docked at Regula. + + Curious. While the Ghant system was officialy under the jurisdiction of the + colonies, nobody had any real business here. Niobium was without doubt a valuable + commodity, but since there was no real shortage of the oremy guess was that the + military's interests would lie elsewhere. For now, I decided to ignore the matter. + I wasn't about to meddle into military affairs and let unfortunate circumstances ruin + my life again. + + Nevertheless it was hard to ignore the massive battleship looming over the outpost, + but I docked and went straight to the bar. The bartender looked at me as I walked in + and pointed me to my regular place at the bar. "I'll be right back", he said, + and disappeared into the kitchen compartment. As on most quiet evenings, the + regular customers were kind enough to leave my seat unocupied and it didn't + take the familar surroundings long to ease my exited mind into a more relaxes state. + "Here you are, one cup of steaming hot chocolate milk. I'm not sure how or where + you got it, but I am sure it is the real deal. No one would get it into his mind + to synthesize anything without having an actual market for it." + + As usual, my bartender was right, and that was exactly why I liked this stuff, even if it + costed a small fortune. "But then again", he continued and turned has eyes towards the large + space window at the other end of the bar, "life can be full of surprises." + +II. Surprises + + It was hard for him to hide his unsettledness. "I just had a talk with the station supervisor + and the commander of that battleship floating out there". "The Custodian", I replied. "I had + the ship computer run an ID on it". "You'd better take care of that fancy new ship of yours", + he said. "They were here to inform me that the Colonial Militia has decided to assign a detachment + to the Ghant system, effective immediately. All fleet operations in the system will be under the + command of the battleship Custodian. They also dropped some kind of communication sattelite + in the center of the system. God knows what these guys are up to." + + The military is always involved in business the common man would rather not know about, but I had + to admit, it just didn't sound right. A battleship in the Ghant system was curious, but a + more permanent presence didn't make any sense at all. I picked up the small metal spoon lying + next to my cup and stirred my hot milk. "I wouldn't worry too much. They've probably discovered + some interesting radiation in the neighbourhood and now they want to turn it into a weapon. You + know these kind of people, if it goes kabooom, they immediately like it." "Besides", I continued, + "the system has been quiet for months. I haven't seen a pirate in ages". + + The tone in my voice couldn't hide my longing for more dangerous and exiting times, + but those days were over. I had chosen a new path, and I was not about to ruin my plans + because of a few curious events. I emptied my cup and wished the bartender good night. + + I couldn't sleep that evening. I didn't know what troubled me more: the prospect + of my new life, the memories of the old one, or the strange events of today. When a man + is troubled, he has to start walking and with the silence of the night as a blanket, + I got out of bed and went out on a stroll. + + 2 am standard colonial time. Nights in space are something to get used to: without + the sun to rise and set, dusk and dawn become rather hollow definitions and + only the clock dictates when it is time to go to sleep. Nevertheless, the atmosphere + of the night still permiated the station: most of the establishments were closed and + the sound of busy peoples voices was replaced by the quiet hum of the electrical + installations. + + I wandered aimless through the empty corridors until I reached one of the large + space windows on the upper level. It was almost like the vast, empty space + behind it was reaching out, trying to stir something in the back of my mind. + I wasn't sure why but I could not shed the feeling that some event was about + to unfold. I turned around to head back to bed when suddenly felt a faint + tremor going through the station. It was hardly noticable and most people + would probably ignore it, but I knew exactly what it was. + + When a ship drops from hyperspace into normal space, it will send a small shockwave + into the surrounding area. This is not a shockwave of something traveling through space, + but rather a disturbance of the fabric of space itself, with a distinct rythmn + an experienced pilot can easily recognize. I could have ignored it too and + go back to sleep, but the intoxicating effect of the mystery dragged me back to the window. + + A ship had arrived, and it had to be close. Hyperspace-tremors do not travel very far + and it would take one hell of a pilot to make a jump this close to a gravitational well. + The slightest miscalulation would have spread out his atoms over the face of planet Ghant. + The bright moving spot between the stars had proven he was either very good, or very lucky. + + The design of the ship was unfamiliar. It looked like some kind of a patrol craft, + armed to the teeth and ready to defend itself if it were necessary. Fortunatly, + it looked like the pilot had a more quiet evening in mind. In a gracious arc, + he approached the station and soaring like a an eagle he started the final approached + to the docking bay. A pleasant sight for anyone who could appreciate the finer arts of + space flight. + + By now it was almost 3 am and I was almost certain I was going to regret this nightwandering + episode when my alarm clock would obnoxiously announce the next morning. Almost, because + by now I had also learned that having no regrets and a strong focus on the task at hand + was usually the wiser course of action. Right now, the task was finding some sleep. + + I turned around, walked to the elevator at the end of the corridor and pressed the button. + After a few seconds the doors opened with a joyfull chime and I stepped inside. "Level 3". + The elevator seemed to consider my request when the doors finaly closed and it started + moving down. I leaned casually against the back wall while my right hand was trying to catch + the yawn escaping my mouth while the elevator control panel continued to count down the current + level in large friendly letters. "5"... "4"... almost there... "3"... "2"... + + It took a moment for reality to trickle through the veil of sleepyness, but it was quite obvious + the elevator had passed my level and continued its journey downwards. There was only one thing down + there: the docking bay, and I couldn't shed the awkward feeling it was a place I'd rather avoid + at this particular moment. I pressed the emergency stop button on the control panel, to no avail. + + "1"... "0" ..."-1, Docking Bay". The low, humming noise of the elevator ended abruptly and the doors + opened again. + +III. The Docking Bay + + The warm arid air of the docking bay filled the elevator. Contemporary generator technology + tends to ionize the atmosphere and the distinct smell of a recently landed ship was + noticably present //..more//. + +Temporary notes: + + III about getting stunned in the cargo bay + + IV about waking up on Starbase Helianthos + + V about Linblade and 'they've hidden it' + + VI about the Kadriant diff --git a/doc/TASKS b/doc/TASKS new file mode 100644 index 0000000..e655689 --- /dev/null +++ b/doc/TASKS @@ -0,0 +1,97 @@ + + ------------------------------------------------------------------ + + Project::OSiRiON - TASKS + + ------------------------------------------------------------------ + + This file contains a list of reasonable easy tasks than can + be done by anyone who is interested in contributing to + the project. No programming skills are required to + do any of these. + +Create skyboxes + + The program Spacescape is a freely available tool to + create skyboxes with stars and nebulas. + + http://alexcpeterson.com/spacescape + + Note that this tool only works on windows, attempts to run + it in linux with wine have been unsuccessful. + + I wrote a small shell script to rename its output to osirion + conventions: + + http://ingar.satgnu.net/osirion/files/util/rename-sky.sh + +Ship definitions + + A lot of ship definitions in base/ini/ships.ini are incomplete: + price, cargo hold size, jump drive, dockable and engine + specifications have to be added and tweaked where necessary. + +Cargo definitions + + Add cargo definitions to ini/cargo.ini. + +Cargo models + + Each cargo definition needs a model to represent the type of cargo in-game. + + Required models: + - Crystals + - Diamonds + - Iron (ore) + - Niobium (ore) + - Liquor (bottles?) + - Carbosteel (plating / blocks?) + - Superconductors (fancy magnet thing?) + - Optronics (optical chips) + +Trade definitions + + Add trade definitions to the world ini files. + + The easiest way to do this is by thinking in trade routes: + + - A base resource is sold at the source location, with unlimited supply + amount = -1 + price = low + e.g. iron is mined and sold at an iron mining installation + + - The resource can be sold at a good price at a target location that probably needs the resource + amount = 0 + price = high + e.g. a carbosteel forge will buy the iron at a good price + + - On the route from source to destination, the resource can be sold along the way. The price + increases with distance from the source location. + amount = 0 + price = medium + e.g. the iron ore can be traded on a supply station along the route + + After finishing a route, traders like to take back other profitable goods, + therefor it is generally a good idea to provide a trade route in the opposite + direction to the same area. + +Models + + Required objects + + - Iron mining facility (Finnmark system) + - Carbosteel forge + - AMTEL optronics production plant + - Border Guard station (Karelian system) + +Documentation + + The list of attributions needs updating + + Most of the documentation needs updating: + doc/attribution.html List of attributions + doc/guide.html Player guide + doc/manual.html Engine user manual + doc/world.html Editing the world + + Hints from this document can probably be added to the main documentation. diff --git a/doc/TODO b/doc/TODO new file mode 100644 index 0000000..bd20551 --- /dev/null +++ b/doc/TODO @@ -0,0 +1,109 @@ + + ------------------------------------------------------------------ + + Project::OSiRiON - TODO + + ------------------------------------------------------------------ + +general: + documentation cleanup -> wiki + finish player guide -> wiki + update user manual-> wiki + + server-client event system, hit-once lightweight entities + explosion events + sound events + world sounds + weapons + ship improvements (radars, shield, armor) + +filesystem: + write a filesystem based on streams + write handlers for zip + write handlers for gz + fs_homedir, to define the writeable directory + fs_datadir, readonly package datadir + fs_base, fs_mod, fs_game, to be used by modules + +model: + .md3 support + +core: + add EntityControlable::control_flags() to group on/off controls (Impulse, AutoPilot?) + - afterburner is a -1/0/1 control and can't be added + - replace the impulse command with a control flag + - think about AutoLevel + + find an elegant solution for /say and /shout on the dedicated server console, verify private chat + fix game.ini load/save sequence + fx events: jump events, tracktor beams, weapons fire + pause game loop when there are no players + support for entities like nebulas and asteroid fields + +network: + protocol description (incomplete) + group chat (requires player groups) + rcon authentication, rcon command, servers must be able to disable rcon + rconpassword: send md5sum instead of plaintext + player authentication (player guid), admin rights + detect and disconnect clients behaving badly + let server track Entity::State changes + + add server-side distance check before sending entity updates + client prediction, replace SUP network frames with PHYS frames + fix lag/client interpolation + + EXT messages, update extended property "ext id prop value prop value etc", type checking/seperator etc.. + EXT zone/color/shield/armor/health + + reliable network messages (e.g. entity create/die) + +client: + beam and eject cargo (commands implemented, needs UI and general FX) + add map window target model + tracking camera absolute speed/position + SLERP + correct hud target/target hoover inconsistencies + reset info text scroll when showing buy/trade menu + enable chat window player list selection, add global chat buttons + create hud concept artwork + + fix camera frustum clip (size issue, postponed) + +render: + fix skybox envmapping -> cube map + star light strenght + general globe texture stretching, coordinates seem to be off + multitexture materials + +ui: + unify event handlers, expand Event class and make derived event classes + +sound: + entity/event positional sounds + jump drive sound events + client-side control of impulse initiate / impulse loop sound sequence + +game: + add Ship::ship_dock, making docking independent of player->view() -> relates to player-to-player trading + have the goto command check the target's Docked state -> ties into ship dock awereness + move Ship::dock() functionality into core::EntityControlable + + ship health/shield/armor + add fleet support + +singleplayer: + think about a single player format and potential required core features + +documentation: + update starsystem roadmap + add starsystem roadmap to the user documentation + add a yaw/pitch/roll image to the modelling documentation + +data: + rename skies (lindblade1, lindblade2, ...) + +automake: + perform a library link test after each header test + replace OpenGL header test with SDL_opengl.h + link test with GL_HOST_LIBS (and other host libs) + make install and installation of data/ -- cgit v1.2.3