From f005ade2b2b5e39a5031e226c1483a69d255c6d0 Mon Sep 17 00:00:00 2001
From: mr-russ <>
Date: Sun, 6 Jun 2004 05:22:25 +0000
Subject: [PATCH] Updated main documentation further to be current. Accidently
 committed half updated config.html

---
 doc/development.html    | 82 +++++++++++++++++++++++++++++++----------
 doc/faq.html            | 35 +++---------------
 doc/scripts/config.html | 45 ++++++++++++++++++++++
 doc/todo.html           | 54 ++-------------------------
 4 files changed, 118 insertions(+), 98 deletions(-)

diff --git a/doc/development.html b/doc/development.html
index f962beac2..1bf010e2d 100644
--- a/doc/development.html
+++ b/doc/development.html
@@ -174,33 +174,33 @@ Please read the doxygen/doc++ documentation.
 //     /_______  /|__|  |__|  (____  /__| (____  /\___  /|____//____  >
 //             \/                  \/          \//_____/            \/ 
 //  ______________________                           ______________________
-//			  T H E   W A R   B E G I N S
-//	   Stratagus - A free fantasy real time strategy game engine
+//                        T H E   W A R   B E G I N S
+//  Stratagus - A free fantasy real time strategy game engine
 //
 /**@name {filename}.c	-	{One line description of this file} */
 //
-//      (c) Copyright 2004 by {insert your name here}
+//  (c) Copyright 2004 by {insert your name here}
 //
-//      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; only version 2 of the License.
+//  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; only version 2 of the License.
 //
-//      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.
+//  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.
+//  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.
 //
-//      $Id$
+//  $Id$
 
 //@{
 
 /*----------------------------------------------------------------------------
---	Includes
+--  Includes
 ----------------------------------------------------------------------------*/
 
 #include &lt;stdio.h&gt;
@@ -210,13 +210,13 @@ Please read the doxygen/doc++ documentation.
 // More game includes.
 
 /*----------------------------------------------------------------------------
---	Variables
+--  Variables
 ----------------------------------------------------------------------------*/
 
 // Global and local variables of this module.
 
 /*----------------------------------------------------------------------------
---	Functions
+--  Functions
 ----------------------------------------------------------------------------*/
 
 // Local and global functions of this module.
@@ -234,12 +234,56 @@ If you fix in other modules, please imitate the coding style of the original cod
 found online <a href="http://lwn.net/2001/1115/a/CodingStyle.php3">here</a>).
 <ul>
     <li>Write ANSI C.
-    <li>Use 4 spaces tabulators.
+    <li>All Tabs (Developers use 4 columns for a tab).
     <li>No line should be longer than 78 characters.
 	<li>All comments should be on their own line.
     <li>Use { } even for one statement blocks.
 </ul>
 
+<b>Coding Examples:</b>
+<pre>
+    // Example for statement with i incremented
+    for (i = 0; i < sample->Length &gt;&gt; 1; ++i) {
+        ...
+    }
+
+    // if statement with brackets and functions.
+    if ((i = CLread(f, &amp;chunk, sizeof(chunk))) != sizeof(chunk)) {
+        ...
+    }
+
+    // function with variables defined.
+    int function(int a, int b)
+	{
+        int x;
+        int y;
+
+        x = a;
+        y = b;
+
+        return 0;
+    }
+	
+    // Example of a function
+    static int CclLoadPud(lua_State* l)
+    {
+        const char* name;
+
+        if (SaveGameLoading) {
+            return 0;
+        }
+
+        if (lua_gettop(l) != 1) {
+            LuaError(l, "incorrect argument");
+        }
+        name = LuaToString(l, 1);
+        LoadPud(name, &amp;TheMap);
+
+        // FIXME: LoadPud should return an error
+        return 0;
+    }
+</pre>
+
 NOTE: If you make big changes please always extend the copyright with your name, 
 and always update the copyright year if required.<p>
 
diff --git a/doc/faq.html b/doc/faq.html
index 25f9ed238..2c7a5108a 100644
--- a/doc/faq.html
+++ b/doc/faq.html
@@ -44,35 +44,6 @@ For any questions not mentioned here, please visit
     A: Yes, if you compiled SDL with alsa support and you compiled stratagus
     using SDL video mode.<p>
 
-    <b>Q: Does Stratagus work with the W*rcr*ft 2 BNE version?</b><br>
-    A: No. The file format of this version is currently not supported.<p>
-
-
-    <b>Q: What W*rcr*ft 2 CD's do work with Stratagus?</b><br>
-    A: If you have any trouble with extracting, please contact us. 
-    Also if you have a CD not listed here, please send us the test results.
-
-	<ul>
-	    <li>US Expansion (both MAC/DOS)
-	    <li>US Original (both MAC/DOS)
-	    <li>UK/Australian Original
-	    <li>UK/Australian Expansion
-	    <li>German Original
-	    <li>German Expansion
-	    <li>Spanish Original
-	</ul><p>
-
-    <b>Q: Can I use Stratagus to join in a W*rcr*ft 2 network game?</b><br>
-    A: Sorry, Stratagus use its own network protocol. 
-    The protocol needs the exact same code executed on all machines, 
-    and it is not possible to have this with the original WC2, 
-    therefore you can only connect to a Stratagus server.<p>
-
-    <b>Q: What about other RTS games?</b><br>
-    A: St*rcr*ft and W*rcr*ft 1 support is in development. T*ber*an Sun 
-    may be added in the distant future. For the old C&amp;C games, you can 
-    use freecnc.<p>
-
     <b>Q: What ports does the Stratagus network protocol use?</b><br>
     A: 6660 by default, you may start stratagus with '-Pxxxx' flag to 
     use port xxxx instead.<p>
@@ -85,6 +56,12 @@ For any questions not mentioned here, please visit
     A: Install Stratagus to the C: drive. This has solved the problem for
     everybody who has had this bug.<p>
 
+	<b>Q: Stratagus runs really slow in large resolutions, what can I do?</b><br>
+	A: Versions of Stratagus from 2.1 update the screen every frame, and are
+	designed to be used with OpenGL support.  Using Software/SDL to update
+	large screens is too slow and will cause the game to be slow. Use
+	OpenGL if possible, or play in 640x480.<p>
+	
     <b>Q: I have installed the windows version, when I start Stratagus I get
     only the splash screen and the game stops, but consumes 100% CPU. What
     have I done wrong?</b><br>
diff --git a/doc/scripts/config.html b/doc/scripts/config.html
index 426058632..e551ad48f 100644
--- a/doc/scripts/config.html
+++ b/doc/scripts/config.html
@@ -49,6 +49,13 @@
 <hr>
 <a href="#AStar">AStar</a>
 <a href="#DecorationOnTop">DecorationOnTop</a>
+<a href="#+DefineDefaultIncomes">DefineDefaultIncomes</a>
+<a href="#+DefineDefaultResourceAmounts">DefineDefaultResourceAmounts</a>
+<a href="#+DefineDefaultResourceNames">DefineDefaultResourceNames</a>
+<a href="#+DefineDefaultResources">DefineDefaultResources</a>
+<a href="#+DefineDefaultResourcesHigh">DefineDefaultResourcesHigh</a>
+<a href="#+DefineDefaultResourcesLow">DefineDefaultResourcesLow</a>
+<a href="#+DefineDefaultResourcesMedium">DefineDefaultResourcesMedium</a>
 <a href="#HealthSprite">HealthSprite</a>
 <a href="#ManaSprite">ManaSprite</a>
 <a href="#RevealMap">RevealMap</a>
@@ -170,6 +177,44 @@ AStar("fixed-unit-cost", 1000, "moving-unit-cost", 20, "know-unseen-terrain", "u
 
 Show bars and dots always on top.
 
+<a name="DefineDefaultIncomes"></a>
+<h3>DefineDefaultIncomes([number, number, ...])</h3>
+
+Defines the amount of resource to pickup by default when harvesting/collecting.
+When collecting gold for example you get 100 gold for a single pickup.
+
+<dl>
+<dt>number</dt>
+<dd>The amount of resource to collect by default per pickup.
+<dt><i>RETURNS</i></dt>
+<dd>Nothing</dd>
+</dl>
+
+<h4>Example</h4>
+
+<pre>
+    -- Define 7 default incomes
+	-- Resources "time", "gold", "wood", "oil", "ore", "stone", "coal"
+    DefineDefaultIncomes(0, 100, 100, 100, 100, 100, 100)
+</pre>
+
+<a name="DefineDefaultResourceAmounts"></a>
+<h3>DefineDefaultResourceAmounts()</h3>
+
+
+<a name="DefineDefaultResourceNames"></a>
+<h3>DefineDefaultResourceNames()</h3>
+<a name="DefineDefaultResources"></a>
+<h3>DefineDefaultResources()</h3>
+<a name="DefineDefaultResourcesHigh"></a>
+<h3>DefineDefaultResourcesHigh()</h3>
+<a name="DefineDefaultResourcesLow"></a>
+<h3>DefineDefaultResourcesLow()</h3>
+<a name="DefineDefaultResourcesMedium"></a>
+<h3>DefineDefaultResourcesMedium()</h3>
+
+
+
 <a name="HealthSprite"></a>
 <h3>HealthSprite(file, hotx, hoty, width, height)</h3>
 
diff --git a/doc/todo.html b/doc/todo.html
index 6c29fffef..e39814086 100644
--- a/doc/todo.html
+++ b/doc/todo.html
@@ -38,38 +38,17 @@
 <a href="gpl.html">"GNU General Public License"</a></b>
 <hr>
 
-<h2>Note:</h2>
-
-<a href="http://savannah.nongnu.org/pm/?group=stratagus">
-You can find a more up to date list of the planned tasks here:
-http://savannah.nongnu.org/pm/?group=stratagus</a>
-<p>
-<a href="http://savannah.nongnu.org/bugs/?group=stratagus">Look at already submitted feature requests here:
-http://savannah.nongnu.org/bugs/?group=stratagus
-</a>
-<p>
-<a href="http://savannah.nongnu.org/bugs/?group=stratagus">You can submit your own ideas and feature requests here:
-http://savannah.nongnu.org/bugs/?group=stratagus
-</a>
-
-<h2> This should be done for the next release (1.19):</h2>
+<h2> This should be done for the next release (2.3):</h2>
 <!-- ---- ====== -- ---- --- --- ---- ------- ------- -->
 <ul>
 <li>Worker with gold/wood could go to depot under construction!
 <li>Ai can't find any way, tries this to often.
-<li>Decoration on top not supported.
-<li>Regenerating forest looks weird.
-<li>Touch of darkness has wrong time for damage.
-<li>SVGALIB version does not support 3 mouse button.
-<li>Sometime it seems that the command buttons aren't changed.
 <li>Let target of attack command blink, if selected (like right click)
 <li>Should rewrite the create player code.
 <li>Should show planed buildings, if I build with alt+shift more than one.
 <li>Canceled buildings stills shows gray rectangle, if new building is build.
 <li>New show actions produces new errors, buttons aren't correctly updated.
 <li>The color cycling isn't 100% correct. See FIXME: in ColorCycle()
-<li>Scroll with the keyboard: use state and not the repeat rate. Than make
-    the scroll speed configurable. Use the repeat flag for faster scrolling.
 <li>Ships do not go up and down, if attacking.
 <li>I cannot change unit 'pending' or however you call it (command applied to
     new trained units) when there is a unit in train queue, I think I could.
@@ -78,18 +57,10 @@ http://savannah.nongnu.org/bugs/?group=stratagus
 <li>The thing is, if whatever is blocking the path to the wood moves, the
     worker moves to some wired position (-1,-1), if no hall is available.
 <li>First sound of attack i never hear, only second,..
-<li>4map of orc campaign - I can't get option for creation of transport
-    (can't upgrade townhall)
 <li>Let single player maps played as multiplayer.
-<li>More suggestions?
-<li>Building-cursor and cursor over units shouldn't change to looking glass.
-<li>Flying and ships could only be on even fields.
 <li>The heading of attacking units isn't 100% correct. 
 <li>The heading of missiles isn't 100% correct.
 <li>Units trained says nothing?
-<li>Fix all known core dumpers.
-<li>Ships should first attack units with distance weapon.
-<li>Units attacked, which can't re-attack should go out of range.
 </ul>
 
 <h2> Next to implement: </h2>
@@ -98,28 +69,18 @@ http://savannah.nongnu.org/bugs/?group=stratagus
 <li>Document all functions with doc++ or doxygen comments.
 <li>Show the units in a transporter on map. (Partly done)
 <li>New spell "show units in enemy transporters"
-<li>Make a spy unit.
-<li>Costs Spells
-<li>Corpse have a sight-range which will slowly reduced.
-<li>Reduce memory use. (16 MB)
 <li>Unit moves away from magni.., glass must disappear. (duplicate)
-<li>The price and name of something to be built/upgraded doesn't disappear,
-    and will remain on the screen until another price comes up.
-<li>The brown background is never updated, and it will build a mass of
-    strange bits of pictures.
-<li>Water buildings couldn't be always be reached with new ship code.
-<li>Selecting with rectangle and scrolling with keyboard: some solutions??
-<li>Transporter and party didn't meet automatic (fixed, but not perfect)!
+<li>Selecting with rectangle and scrolling with keyboard, scrolls selection area: some solutions??
 <li>Another big thing I noticed - When loading data/puds/multi/jimland.pud,
     before the player stats appear, MANY lines saying "REGM:  contains unknown
     action 0x4100" are shown.  I didn't even look to see where this message is
     generated, but this serves as a heads-up.
-<li>Status line isn't correct cleared.
 <li>Make color-cycling speed configurable.
 <li>ActionNone is used, where?
 <li>Support different AI for levels.
 <li>Let the campaigns play like the original.
 <li>Setting the units limit for each player separate.
+<li>Decoration on top not supported.
 </ul>
 
 <h2>In the near future:</h2>
@@ -130,7 +91,6 @@ http://savannah.nongnu.org/bugs/?group=stratagus
 <li>Fog of war (correct)
 <li>Exploration (correct)
 <li>Never chop the same wood twice.
-<li>DGA X11 supported.
 <li>individual speeds for players.
 <li>Training queues without resources.
 <li>Hear range, and sound handling of only bearable sounds.
@@ -140,7 +100,6 @@ http://savannah.nongnu.org/bugs/?group=stratagus
 <!-- == === === ======= -->
 <ul>
 <li>Documentation
-<li>Support for debian / rpm packets (Yes: on www.debian.org or www.suse.de)
 </ul>
 
 <h2>Future plans:</h2>
@@ -150,7 +109,7 @@ http://savannah.nongnu.org/bugs/?group=stratagus
 <li>Editing Build multiple units (training queue)
 <li>Editing Build list for buildings (building queue)
 <li>Z coordinates
-<li>Ground effects (roads faster,...)
+<li>Ground effects (roads faster,...) (Map Support Needed, A* Works)
 <li>Animated cursors
 <li>Automatic repairs
 <li>Show how time of bloodlust... (blink if short before end)
@@ -165,8 +124,6 @@ http://savannah.nongnu.org/bugs/?group=stratagus
 <ul>
 <li>Animated resource icons.
 <li>All icons animated.
-<li>Paladins: Autohealing + Autoexorcism
-<li>Ogres: Autobloodlust
 <li>Upgradeable magic: One level of upgrade == -(10-15)% required mana to cast,
     but +(15-20)% of cost. Up to level 9.
 <li>Upgradeable weapon accuracy: In the same manner as upgradeable magic,
@@ -174,13 +131,10 @@ http://savannah.nongnu.org/bugs/?group=stratagus
     increases in step of 5. accuracy improvements enabled after full strength
     upgrades.
 <li>Units can patrol between other units.
-<li>Mage Tower/Temple of Death accumulates energy. Then it can be transferred
-    to nearby units in x8 value.
 <li>What about if peon attack is modified in this way that if attacks
     building it returns 1/2 of the resources for it. something like demolishing,
     not needed buildings or enemy ones.
 <li>Support for W*rC*rft. (without II)
-<li>Support for W*rC*rft Alpha. (Some nice ideas was dropped)
 <li>Allow multiple tilesets / map or pud.
 <li>1) Randomly generate unit structure. Random health, mana, accuracy.
 <li>2) Allow bridges over rivers, that can be destroyed.