[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Stratagus-CVS] stratagus/doc/ccl magic.html ui.html
From: |
address@hidden |
Subject: |
[Stratagus-CVS] stratagus/doc/ccl magic.html ui.html |
Date: |
14 Dec 2003 03:12:39 +1100 |
CVSROOT: /home/strat
Module name: stratagus
Changes by: <address@hidden> 03/12/14 03:12:39
Modified files:
doc/ccl : magic.html ui.html
Log message:
Added doc for transparent missiles and menus
Patches:
Index: stratagus/doc/ccl/magic.html
diff -u stratagus/doc/ccl/magic.html:1.9 stratagus/doc/ccl/magic.html:1.10
--- stratagus/doc/ccl/magic.html:1.9 Thu Dec 11 17:37:55 2003
+++ stratagus/doc/ccl/magic.html Sun Dec 14 03:12:38 2003
@@ -25,32 +25,32 @@
</head>
<body>
<h1>Stratagus Configuration Language Description: Magic</h1>
-<hr><pre width=80>
- _________ __ __
- / _____// |_____________ _/ |______ ____ __ __ ______
- \_____ \\ __\_ __ \__ \\ __\__ \ / ___\| | \/ ___/
- / \| | | | \// __ \| | / __ \_/ /_/ > | /\___ \
- /_______ /|__| |__| (____ /__| (____ /\___ /|____//____ >
+<hr><pre width=80> _________ __
+ __ / _____//
+ |_____________ _/ |______ ____ __ __ ______ \_____ \\
+ __\_ __ \__ \\ __\__ \ / ___\| | \/ ___/ / \|
+ | | | \// __ \| | / __ \_/ /_/ > | /\___ \ /_______
+ /|__| |__| (____ /__| (____ /\___ /|____//____ >
\/ \/ \//_____/ \/
______________________ ______________________
T H E W A R B E G I N S
Stratagus - A free fantasy real time strategy game engine
</pre>
<p><b>(C) Copyright 1998-2003 by The Stratagus Project. Distributed under the
-<a href="../gpl.html">"GNU General Public License"</a></b>
+<A href="../gpl.html">"GNU General Public License"</a></b>
<hr>
-<a href="../stratagus.html">Stratagus</a>
-<a href="../readme.html">Readme</a>
-<a href="../faq.html">FAQ</a>
-<a href="ccl.html">CCL</a>
-<a href="icon.html">PREV</a>
-<a href="pud.html">NEXT</a>
-<a href="ccl-index.html">Index</a>
+<A href="../stratagus.html">Stratagus</a>
+<A href="../readme.html">Readme</a>
+<A href="../faq.html">FAQ</a>
+<A href="ccl.html">CCL</a>
+<A href="icon.html">PREV</a>
+<A href="pud.html">NEXT</a>
+<A href="ccl-index.html">Index</a>
<hr>
-<a href="#define-missile-type">define-missile-type</a>
-<a href="#define-spell">define-spell</a>
-<a href="pud.html#define-missiletype-wc-names">define-missiletype-wc-names</a>
-<a href="#missile">missile</a>
+<A href="#define-missile-type">define-missile-type</a>
+<A href="#define-spell">define-spell</a>
+<A href="pud.html#define-missiletype-wc-names">define-missiletype-wc-names</a>
+<A href="#missile">missile</a>
<hr>
<h2>Intro - Introduction to spells and missiles.</h2>
This containts everything around spells and missiles. Though it might not be
@@ -64,137 +64,153 @@
This is the function to define a missile type.
<dl>
-<dt>missile-name</dt>
+<dt>missile-name
+
<dd>This is the unique identifier of the missile.
</dd>
</dl>
Possible tags:
<dl>
-<dt>file</dt>
-<dd>This is followed by the path of the file with the missile graphics.
-</dd>
-<dt>size</dt>
-<dd>This if followed by a list of X and Y sizes of the missile sprite.
-F.E. 'size '(32 32)
-</dd>
+<dt>file
+
+<dd>This is followed by the path of the file with the
+ missile graphics.
+
+<dt>size
+
+<dd>This if followed by a list of X and Y sizes of the
+ missile sprite. F.E. 'size '(32 32)
<a name="frames-define-missile-type"></a>
-<dt>frames</dt>
-<dd>This is the number of frames in the file. Missiles lack complicated
-animation scripts and just have a bunch of frames with equal duration.
-</dd>
-<dt>num-directions</dt>
-<dd>The number of directions in the file for the missile. Should be 8.
-</dd>
-<dt>draw-level</dt>
-<dd>The draw level of the missile. Missiles and units are sorted by this
-value to determine the draw order.
-</dd>
-<dt>fired-sound</dt>
-<dd>Name of the sound played when the missile is fired.
-</dd>
-<dt>impact-sound</dt>
-<dd>Name of the sound played when the missile hits it's target.
-</dd>
-<dt>class</dt>
+<dt>frames
+
+<dd>This is the number of frames in the file. Missiles
+ lack complicated animation scripts and just have a bunch of frames with
equal
+ duration.
+
+<dt>num-directions
+
+<dd>The number of directions in the file for the missile.
+ Should be 8.
+
+<dt>draw-level
+
+<dd>The draw level of the missile. Missiles and units are
+ sorted by this value to determine the draw order.
+
+<dt>fired-sound
+
+<dd>Name of the sound played when the missile is fired.
+
+<dt>impact-sound
+
+<dd>Name of the sound played when the missile hits it's
+ target.
+
+<dt>class
+
<dd>Various missiles can have wierd behaviours. This tag is followed by an
identifier that specifies some of that behaviour. Here is a list of currently
supported missile classes:<p>
<dl>
- <dt>missile-class-none</dt>
- <dd>Missile does nothing. Shouldn't really be used.
- </dd>
- <dt>missile-class-point-to-point </dt>
- <dd>Missile flies straight to destination animating on the way
- </dd>
- <dt>missile-class-point-to-point-with-hit </dt>
- <dd>Missile flies straight to destination keeping the first frame and
- the finishes the animation when hitting
- </dd>
- <dt>missile-class-point-to-point-cycle-once </dt>
- <dd>Missile flies straight to destination and animates ONCE from first
- to last and back again. To be used for catapult and the like to make a
- projectile bigger mid-way to the target
- </dd>
- <dt>missile-class-point-to-point-bounce</dt>
+ <dt>missile-class-none
+ <dd>Missile does nothing. Shouldn't really be used.
+ <dt>missile-class-point-to-point
+ <dd>Missile flies straight to destination animating on
+ the way
+ <dt>missile-class-point-to-point-with-hit
+ <dd>Missile flies straight to destination keeping the
+ first frame and the finishes the animation when hitting
+ <dt>missile-class-point-to-point-cycle-once
+ <dd>Missile flies straight to destination and animates
+ ONCE from first to last and back again. To be used for catapult and the
like
+ to make a projectile bigger mid-way to the target
+ <dt>missile-class-point-to-point-bounce
<dl>Missile flies straight to destination, and the "bounces" by hitting
every other tile on the path onward. This will also add one aditional
flag:
- <dt>num-bounces</dt>
+ <dt>num-bounces
+
<dd>This if folowed by an integer, representing the number of
bounces(hits)</dd>
</dl>
- <dt>missile-class-stay</dt>
- <dd>Missile will just go through it's animation once and vanish. booooring.
- </dd>
- <dt>missile-class-cycle-once </dt>
- <dd>Missile will just go through it's animation from start to and and back
- again, then vanish.
- </dd>
- <dt>missile-class-fire </dt>
- <dd>Missile is used for fire. More documentation?
- </dd>
- <dt>missile-class-parabolic</dt>
- <dd>Missile flies to destination with a parabolic path. It used the same
- animation as cycle-once
- </dd>
- <dt>missile-class-land-mine</dt>
+ <dt>missile-class-stay
+ <dd>Missile will just go through it's animation once
+ and vanish. booooring.
+ <dt>missile-class-cycle-once
+ <dd>Missile will just go through it's animation from
+ start to and and back again, then vanish.
+ <dt>missile-class-fire
+ <dd>Missile is used for fire. More documentation?
+ <dt>missile-class-parabolic
+ <dd>Missile flies to destination with a parabolic path.
+ It used the same animation as cycle-once
+ <dt>missile-class-land-mine
<dd>Missile is a landmine, it will sit quietly and wait for someone to step
on it. You can use time-to-live as a timeout.<b>FIXME more configurable</b>
- </dd>
- <dt>missile-class-whirlwind </dt>
+ <dt>missile-class-whirlwind
<dd>Missile for the whirlwind effect <b>FIXME more configurable</b>
- </dd>
- <dt>missile-class-flame-shield </dt>
+ <dt>missile-class-flame-shield
<dd>Missile rotates around target unit and damages everything it touches
<b>FIXME more configurable</b>
- </dd>
- <dt>missile-class-death-coil</dt>
+ <dt>missile-class-death-coil
<dd>Missile is death coil, will drain health from target or enemy units
in the area and feed it to the caster.<b>FIXME more configurable</b>
</dd>
</dl>
-</dd>
<a name="delay-define-missile-type"></a>
-<dt>delay</dt>
-<dd>Delay in game cycles after the missile generation, until the missile
-animation and effects starts. Delay denotes the number of display cycles to
-skip before drawing the first sprite frame and only happens once at start.
-</dd>
-<dt>sleep</dt>
-<dd>This are the number of game cycles to wait for the next animation or the
-sleeping between the animation steps. All animations steps use the same delay.
-0 is the fastest and 255 the slowest animation. Perhaps we should later we
-will use animation scripts for more complex animations.
-</dd>
-<dt>speed</dt>
-<dd>The speed how fast the missile moves. 0 the missile didn't move, 1 is the
-slowest speed and 32 s the fastest supported speed. This is how many pixels
-the missiles moves with each animation step. The real use of this member
-depends on the missile class. This is currently only used by the point-to-point
-missiles.
-</dd>
-<dt>range</dt>
-<dd>Determines the range in which a projectile will deal its damage. A range of
-0 will mean that the damage will be limited to the targetted unit only. So if
-you shot a missile at a unit, it would only damage that unit. A value of 1
only
-affects the field where the missile hits. A value of 2 would mean that the
-damage for that particular missile would be dealt for a range of 1 around the
-impact spot. All fields that aren't the center get only 1/SpashFactor of the
damage.
-Fields 2 away get 1/(SplashFactor*2), and following...
-</dd>
-<dt>splash-factor</dt>
-<dd>The Splash divisor for damage done with range
-</dd>
-<dt>impact-missile</dt>
-<dd>You can use this to spawn another missile on impact. F.E. 'impact-missile
'missile-explosion
-</dd>
-<dt>smoke-missile</dt>
-<dd>The name of the next (other) missile to generate a trailing smoke. So it
-can be used to generate a chain of missiles.
-</dd>
-<dt>can-hit-owner</dt>
-<dd>Determines if the missile will affect
-the caster or not.
-</dd>
-<dt>firendly-fire</dt>
+<dt>delay
+
+<dd>Delay in game cycles after the missile generation,
+ until the missile animation and effects starts. Delay denotes the number of
+ display cycles to skip before drawing the first sprite frame and only
happens
+ once at start.
+
+<dt>sleep
+
+<dd>This are the number of game cycles to wait for the
+ next animation or the sleeping between the animation steps. All animations
+ steps use the same delay. 0 is the fastest and 255 the slowest animation.
+ Perhaps we should later we will use animation scripts for more complex
+ animations.
+
+<dt>speed
+
+<dd>The speed how fast the missile moves. 0 the missile
+ didn't move, 1 is the slowest speed and 32 s the fastest supported speed.
This
+ is how many pixels the missiles moves with each animation step. The real use
+ of this member depends on the missile class. This is currently only used by
+ the point-to-point missiles.
+
+<dt>range
+
+<dd>Determines the range in which a projectile will deal
+ its damage. A range of 0 will mean that the damage will be limited to the
+ targetted unit only. So if you shot a missile at a unit, it would only
damage
+ that unit. A value of 1 only affects the field where the missile hits. A
value
+ of 2 would mean that the damage for that particular missile would be dealt
for
+ a range of 1 around the impact spot. All fields that aren't the center get
+ only 1/SpashFactor of the damage. Fields 2 away get 1/(SplashFactor*2), and
+ following...
+
+<dt>splash-factor
+
+<dd>The Splash divisor for damage done with range
+
+<dt>impact-missile
+
+<dd>You can use this to spawn another missile on impact.
+ F.E. 'impact-missile 'missile-explosion
+
+<dt>smoke-missile
+
+<dd>The name of the next (other) missile to generate a
+ trailing smoke. So it can be used to generate a chain of missiles.
+
+<dt>can-hit-owner
+
+<dd>Determines if the missile will affect the caster or
+ not.
+
+<dt>firendly-fire
+
<dd>Determines if the missile will damage
units belonging to the same player of the caster or to an ally.
</dd>
@@ -211,7 +227,7 @@
'can-hit-owner)
</pre>
<h4>Used</h4>
-<a href="../../data/ccl/missiles.ccl"> $LIBARYPATH/ccl/missiles.ccl </a>
+<A href="../../data/ccl/missiles.ccl"> $LIBARYPATH/ccl/missiles.ccl </a>
<a name="define-spell"></a>
<h3>(define-spell spell-ident tag value ... )</h3>
@@ -219,33 +235,42 @@
conditions. Be very carefull, defining random flags will probably make the
game crash.
<dl>
-<dt>showname</dt>
-<dd>A neatly formatted string to be shown by the engine on the screen.
-</dd>
-<dt>manacost</dt>
-<dd>The mana cost of the spell. Maybe this should be set on a per-caster basis?
-</dd>
-<dt>repeat-cast</dt>
-<dd>If specified, the caster will cast it again. To be used with spells like
-area-bombardment to cast it again (area-bombardment is stackable)
-</dd>
-<dt>range</dt>
-<dd>The casting range of the spell, do not confuse this with area effect range.
-It's normally an integer value, but you can specify a special value 'infinite
to
-let the spell be casted on the entire map.
-</dd>
-<dt>target</dt>
+<dt>showname
+
+<dd>A neatly formatted string to be shown by the engine
+ on the screen.
+
+<dt>manacost
+
+<dd>The mana cost of the spell. Maybe this should be set
+ on a per-caster basis?
+
+<dt>repeat-cast
+
+<dd>If specified, the caster will cast it again. To be
+ used with spells like area-bombardment to cast it again (area-bombardment is
+ stackable)
+
+<dt>range
+
+<dd>The casting range of the spell, do not confuse this
+ with area effect range. It's normally an integer value, but you can specify
a
+ special value 'infinite to let the spell be casted on the entire map.
+
+<dt>target
+
<dd>Target type information. The following values are acceptable:
<ul>
<li>self: The spell will only affect the caster or the area around him, no
targetting at all.
<li>position: The unit will target a position.
- <li>unit: The unit will target an unit. The spell will be aborted if the
target dies.
-</ul>
-You can still use position spells on units, it will target the unit's position.
-If the unit dies however the caster will stop. (Some spells get casted until
-there is no more mana left).
-</dd>
-<dt>conditions</dt>
+ <li>unit: The unit will target an unit. The spell will
+ be aborted if the target dies.</li>
+</ul>You can still use position spells on
+ units, it will target the unit's position. If the unit dies however the
caster
+ will stop. (Some spells get casted until there is no more mana left).
+
+<dt>conditions
+
<dd>This is the condition for being able to cast the spell. Think of it as a
function that takes an unit as a parameter and return either yes or no
depending
on the unit properties. Here is how a condition looks like:
@@ -254,72 +279,68 @@
max-slow-ticks 10)</pre>
Here are the supported parameters:<p>
<dl>
- <dt>building</dt>
+ <dt>building
<dd>This is one of the bool parameters (can't think of a better name). It
is
followed by true, false or only. Imagine this as a question, is the target
a
building? The answer is yes/no. A "true" parameter makes it always pass(and
it's the default.), "false" parameter passes when the answer is NO, and
"only"
passes only when the answer is yes.<br>
- It doesn't really makes sense to ever say true, since you might just as
well
- ommit it. "building false" means the spell won't work on buildings.
"building
- only" will make a spell that works only on buildings (can't think of any
though).
- This syntax is used for more that "building"
- </dd>
- <dt>coward</dt>
- <dd>This is a bool parameter too, just like building. I specifies the
behaviour
- for cowards, unit's that don't attack by themselves. For example you
should not
- cast an offensive buff (like bloodlust) on non-combat units.
- </dd>
- <dt>alliance</dt>
- <dd>This is a bool parameter too, just like building. I specifies the
behaviour
- for allied units. Your own units are considered allied too. For instance
you
- should only cast healing on your own units.
- </dd>
- <dt>self</dt>
+ It doesn't really makes sense to ever say true, since
+ you might just as well ommit it. "building false" means the spell won't
work
+ on buildings. "building only" will make a spell that works only on
buildings
+ (can't think of any though). This syntax is used for more that "building"
+ <dt>coward
+ <dd>This is a bool parameter too, just like building. I
+ specifies the behaviour for cowards, unit's that don't attack by
themselves.
+ For example you should not cast an offensive buff (like bloodlust) on
+ non-combat units.
+ <dt>alliance
+ <dd>This is a bool parameter too, just like building. I
+ specifies the behaviour for allied units. Your own units are considered
+ allied too. For instance you should only cast healing on your own units.
+ <dt>self
<dd>This is a bool parameter too, just like building. I it a bit more
special,
- since it specifies the behaviour for casting on yourself. <b>A LOT</b> of
- spells specify "self false", to disallow casting on yourself.
- </dd>
- <dt>bool-flags</dt>
+ since it specifies the behaviour for casting on yourself. <b>A LOT</b> of
spells specify "self false",
+ to disallow casting on yourself.
+ <dt>bool-flags
<dd>There is no parameter called bool-flags. You can however use flags
defined
- by <a href="unittype.html#define-bool-flags">define-bool-flags</a> just
like a
- bool parameter. For instance "organic only" will make a spell work only on
- units marked with the organic flag.
- </dd>
- <dt>min-hp-percent</dt>
- <dd>Minimum hp percent of the target. If not specified the minimum is
around -10
- You can use this to avoid casting damage spells on enemies that are dying
anyway.
- </dd>
- <dt>max-hp-percent</dt>
- <dd>Maximum hp percent of the target. If not specified the maximum is
around 1000.
- For instance you can use this to avoid healing units that are not injured.
- </dd>
- <dt>min-mana-percent</dt>
- <dd>Minimum mana percent of the target. If not specified the minimum is
around -10
- You can use this to avoid spells like mana drain on units that are empty.
- </dd>
- <dt>max-mana-percent</dt>
- <dd>Maximum mana percent of the target. If not specified the maximum is
around 1000
- For instance you can use this to avoid restoring mana to units that are
full.
- </dd>
- <dt>max-slow-ticks</dt>
- <dd>Followed by a number, to avoid casting slow on an unit that is already
slowed down.
- </dd>
- <dt>max-haste-ticks</dt>
- <dd>Followed by a number, to avoid casting haste on an unit that is
already hasted.
- </dd>
- <dt>max-bloodlust-ticks</dt>
- <dd>Followed by a number, to avoid casting bloodlust on an unit that
already has it.
- </dd>
- <dt>max-invisibility-ticks</dt>
- <dd>Followed by a number, to avoid casting invisibility on an unit that
already has it.
- </dd>
- <dt>max-invincibility-ticks</dt>
+ by <A href="unittype.html#define-bool-flags">define-bool-flags</a> just
+ like a bool parameter. For instance "organic only" will make a spell work
+ only on units marked with the organic flag.
+ <dt>min-hp-percent
+ <dd>Minimum hp percent of the target. If not specified
+ the minimum is around -10 You can use this to avoid casting damage spells
on
+ enemies that are dying anyway.
+ <dt>max-hp-percent
+ <dd>Maximum hp percent of the target. If not specified
+ the maximum is around 1000. For instance you can use this to avoid healing
+ units that are not injured.
+ <dt>min-mana-percent
+ <dd>Minimum mana percent of the target. If not
+ specified the minimum is around -10 You can use this to avoid spells like
+ mana drain on units that are empty.
+ <dt>max-mana-percent
+ <dd>Maximum mana percent of the target. If not
+ specified the maximum is around 1000 For instance you can use this to
avoid
+ restoring mana to units that are full.
+ <dt>max-slow-ticks
+ <dd>Followed by a number, to avoid casting slow on an
+ unit that is already slowed down.
+ <dt>max-haste-ticks
+ <dd>Followed by a number, to avoid casting haste on an
+ unit that is already hasted.
+ <dt>max-bloodlust-ticks
+ <dd>Followed by a number, to avoid casting bloodlust on
+ an unit that already has it.
+ <dt>max-invisibility-ticks
+ <dd>Followed by a number, to avoid casting invisibility
+ on an unit that already has it.
+ <dt>max-invincibility-ticks
<dd>Followed by a number, to avoid casting invincibility on an unit that
already has it.
</dd>
-</dl>
-</dd><p>
-<dt>autocast</dt>
+</dl><p></p>
+<dt>autocast
+
<dd>Autocast works very closely with conditions. Here is the syntax:
<pre>'autocast (range x condition(whatever) )</pre>
It functions by selecting every unit in range and trying to check of they fit
the
@@ -329,30 +350,30 @@
buffs on cowards). Autocasting position target spells is not supported, sorry.
Here is a formal list of parameters:
<dl>
- <dt>range</dt>
- <dd>The range in which autocast runs. I think it's square?
- </dd>
- <dt>combat</dt>
- <dd>This is a bool parameter, like in condition. It's autocast-specific
and NOT
- part of conditions due to technical considerations. Combat is not
unit-specific,
- it only depends on caster location. combat mode is when there are
non-coward
- enemy units in range. most offensive spells obviousely only should be used
in
- combat. (can you say offensive buffs?)
- </dd>
- <dt>condition</dt>
+ <dt>range
+ <dd>The range in which autocast runs. I think it's
+ square?
+ <dt>combat
+ <dd>This is a bool parameter, like in condition. It's
+ autocast-specific and NOT part of conditions due to technical
+ considerations. Combat is not unit-specific, it only depends on caster
+ location. combat mode is when there are non-coward enemy units in range.
+ most offensive spells obviousely only should be used in combat. (can you
say
+ offensive buffs?)
+ <dt>condition
<dd>This is followed by a list exactly like in 'condition. As it was said
before, this is evaluated for each and every unit in range, and if a unit
passes, the spell gets casted.
</dd>
</dl>
-</dd>
-<dt>ai-cast</dt>
-<dd>This is identical to autocast in syntax. It's used by the AI (computer
controller
-player) rather then by a human players units. In general this should be a
little better
-than autocast (and make human players think some more). There no reason to
repeat the
-syntax of autocast here.
-</dd><p>
-<dt>action</dt>
+<dt>ai-cast
+
+<dd>This is identical to autocast in syntax. It's used by
+ the AI (computer controller player) rather then by a human players units. In
+ general this should be a little better than autocast (and make human players
+ think some more). There no reason to repeat the syntax of autocast
here.<p></p>
+<dt>action
+
<dd>The effect of the spells. You can add multiple actions, here is the syntax:
<pre>'action '((operation-name-1 parameters ... )
(operation-name-2 parameters ... )
@@ -361,64 +382,76 @@
</pre>
Here are the supported operations, their paramenters, and what they do.<p>
<dl>
- <dt>area-bombardment</dt>
+ <dt>area-bombardment
<dl>This will a number of missiles to be thrown in a square area. Here are
the available tags:
- <dt>fields</dt>
- <dd>The size of the affected square. This will get centered on the
target
- It should really be an odd number, or it will look wierd (not centered.)
- </dd>
- <dt>shards</dt>
- <dd>The amount of missiles to throw at random in the square.
- </dd>
- <dt>damage</dt>
- <dd>The damage of each individual missile.
- </dd>
- </dt>start-offset-x<dt>
- </dt>start-offset-y<dt>
+ <dt>fields
+
+ <dd>The size of the affected square. This will get
+ centered on the target It should really be an odd number, or it will
look
+ wierd (not centered.)
+
+ <dt>shards
+
+ <dd>The amount of missiles to throw at random in the
+ square.
+
+ <dt>damage
+
+ <dd>The damage of each individual missile.
+ start-offset-x<dt>start-offset-y<dt>
<dd>A missile hitting x,y will start at x+start-offset-x,
y+start-offset-y.
This value is in pixels, for better precision.
</dd>
</dl>
- <dt>adjust-buffs</dt>
+ <dt>adjust-buffs
<dl>This spell with set the time left for every buff. Buffs are temporary
bonuses or penalties for units, like better damage or reduced speed(on
enemies)
when setting buff-1-ticks 567 the unit will have 567 ticks of buff-1
left. 0 is
also a value, in fact acting like some sort of dispel magic.
Unfortunately
this is quite limited at the moment, here are the buffs provided and
what they do.
- <dt>haste-ticks</dt>
- <dd>The number of haste ticks. Haste gives the unit almost double speed
- for any activity.
- </dd>
- <dt>haste-ticks</dt>
- <dd>The number of slow ticks. Slow gives the unit double speed for all
- activities.
- </dd>
- <dt>bloodlust-ticks</dt>
- <dd>The number of bloodlust ticks. Bloodlust gives the unit double
damage
- (both piercing and basic)
- </dd>
- <dt>invisibility-ticks</dt>
- <dd>The number of Invisibility ticks. Invisibility makes the unit
completely
- dissapear for other players. It can still be affected by area effect
spells
- though. The unit will appear when the time is gone or when it will try
to do
- anything except move. This has nothing to do with cloaking.
- </dd>
- <dt>invincibility-ticks</dt>
+ <dt>haste-ticks
+
+ <dd>The number of haste ticks. Haste gives the unit
+ almost double speed for any activity.
+
+ <dt>haste-ticks
+
+ <dd>The number of slow ticks. Slow gives the unit
+ double speed for all activities.
+
+ <dt>bloodlust-ticks
+
+ <dd>The number of bloodlust ticks. Bloodlust gives
+ the unit double damage (both piercing and basic)
+
+ <dt>invisibility-ticks
+
+ <dd>The number of Invisibility ticks. Invisibility
+ makes the unit completely dissapear for other players. It can still be
+ affected by area effect spells though. The unit will appear when the
time
+ is gone or when it will try to do anything except move. This has nothing
+ to do with cloaking.
+
+ <dt>invincibility-ticks
+
<dd>The number of invincibility ticks. This makes the unit completely
imune
to all forms of damage. Try using very low values for this :).
</dd>
</dl>
- <dt>adjust-vitals</dt>
+ <dt>adjust-vitals
<dl>This will adjust vitals of the unit. Vitals are health, mana, and on a
sunny
day maybe even shield. Possible tags:
- <dt>hit-points</dt>
- <dd>Unit hit-point gain, or loss if negative.
- </dd>
- <dt>mana</dt>
- <dd>Unit mana gain, or loss if negative.
- </dd>
- <dt>max-multi-cast</dt>
+ <dt>hit-points
+
+ <dd>Unit hit-point gain, or loss if negative.
+
+ <dt>mana
+
+ <dd>Unit mana gain, or loss if negative.
+
+ <dt>max-multi-cast
+
<dd>This spell usually has some very small limits (like heal 2
hit-points
for 1 caster mana), and will get casted multiple times at once, until
the
hp/mana limit for the unit is reached. You can set this to a reasonable
@@ -426,87 +459,106 @@
2 hit-points for 1 caster mana up to 20 hit-points/10 mana per cast
</dd>
</dl>
- <dt>demolish</dt>
+ <dt>demolish
<dl>This will remove any trees/rocks/walls in and inflict a fixed damage
to a fixed area. Possible tags:
- <dt>damage</dt>
- <dd>Each and every unit in range will receive that damage. FIXME: no
- support for dampening damage.
- </dd>
- <dt>range</dt>
+ <dt>damage
+
+ <dd>Each and every unit in range will receive that
+ damage. FIXME: no support for dampening damage.
+
+ <dt>range
+
<dd>The range of the terrain and unit damage.
</dd>
</dl>
- <dt>summon</dt>
+ <dt>summon
<dl>This will summon a new unit. Possible tags:
- <dt>unit-type</dt>
- <dd>Type of the unit to summon. Must be already defined.
- </dd>
- <dt>ttl</dt>
- <dd>Time to live. The unit will only survive for that time, afterward it
- will receive 1 damage every game cycle, ending it's life. If this is 0
- or ommited then the summoned unit is permanent
- </dd>
- <dt>require-corpse</dt>
- <dd>This flag does not take a value. When specified, the caster will
- summon an unit from a corpse, and consume the corpse in the process.
- You should make sure the summoned unit dies without a corpse.
- </dd>
+ <dt>unit-type
+
+ <dd>Type of the unit to summon. Must be already
+ defined.
+
+ <dt>ttl
+
+ <dd>Time to live. The unit will only survive for that
+ time, afterward it will receive 1 damage every game cycle, ending it's
+ life. If this is 0 or ommited then the summoned unit is permanent
+
+ <dt>require-corpse
+
+ <dd>This flag does not take a value. When specified,
+ the caster will summon an unit from a corpse, and consume the corpse in
+ the process. You should make sure the summoned unit dies without a
corpse.
+
How to do a reveal-map spell: define a special unit, give it the
'revealer flag, and set the spell's range to 'infinite. Please see
- <a href="unittype.html#define-unit-type">(define-unit-type)</a>
- </dd>
- </dl>
- <dt>polymorph</dt>
+ <A href="unittype.html#define-unit-type">(define-unit-type)</a>
+
+
+ </dd></dl>
+ <dt>polymorph
<dl>This will tranform the unit, giving it a new unit type. Before you
ask, temporary polymorphing is not supported, but it would be a nice
feature to add in the future. There is only one tag:
- <dt>unit-type</dt>
+ <dt>unit-type
+
<dd>Type of the unit to transform to. Must be already defined. This
spell
can be used as an instant-kill spell by polymorphing into a harmless
unit,
like a chicken.
</dd>
</dl>
- <dt>spawn-missile</dt>
+ <dt>spawn-missile
<dl>This will spawn a missile in the game. It's one of the most versatile
spell variants. Here are the paramenters:
- <dt>ttl</dt>
- <dd>Time to live for the missile. Usually means that the missile is
- gone after this time, but for some missile classes it means something
else.
- </dd>
- <dt>damage</dt>
- <dd>This is the damage for this missile, overriding the standard damage
- defined for the missile.
- </dd>
- <dt>delay</dt>
- <dd>This is the delay for the missile. it means the missile will only
- appear after this many ticks.
- </dd>
- <dt>start-point/end-point</dt>
+ <dt>ttl
+
+ <dd>Time to live for the missile. Usually means that
+ the missile is gone after this time, but for some missile classes it
means
+ something else.
+
+ <dt>damage
+
+ <dd>This is the damage for this missile, overriding
+ the standard damage defined for the missile.
+
+ <dt>delay
+
+ <dd>This is the delay for the missile. it means the
+ missile will only appear after this many ticks.
+
+ <dt>start-point/end-point
+
<dl>Point to point-ish missiles need a start and an end point for the
trajectory. it is defined like this:
<pre>start-point (base caster/target add-x add-y add-rand-x
add-rand-y)</pre>
The individual tags should be self-explanatory, but here goes:
- <dt>base</dt>
- <dd>The base for the location calculation. Can be either caster or
target.
- </dd>
- <dt>add-x</dt>
- <dd>How much to add to the x coordinate, in pixels
- </dd>
- <dt>add-y</dt>
- <dd>How much to add to the y coordinate, in pixels
- </dd>
- <dt>add-rand-x</dt>
- <dd>Add a random from 0 to value-1 to the x coordinate, in pixels
- </dd>
- <dt>add-rand-y</dt>
+ <dt>base
+
+ <dd>The base for the location calculation. Can be
+ either caster or target.
+
+ <dt>add-x
+
+ <dd>How much to add to the x coordinate, in pixels
+
+ <dt>add-y
+
+ <dd>How much to add to the y coordinate, in pixels
+
+ <dt>add-rand-x
+
+ <dd>Add a random from 0 to value-1 to the x
+ coordinate, in pixels
+
+ <dt>add-rand-y
+
<dd>Add a random from 0 to value-1 to the y coordinate, in pixels
</dd>
- </dl>
+ </dl></dt>
+ </dl></dt></dl>
+ </dd>
</dl>
-</dl>
-</dd>
-</dl>
<h4>Example</h4>
<pre>
@@ -521,91 +573,105 @@
)
</pre>
<h4>Used</h4>
-<a href="../../data/ccl/spells.ccl"> $LIBARYPATH/ccl/spells.ccl </a>
+<A href="../../data/ccl/spells.ccl"> $LIBARYPATH/ccl/spells.ccl </a>
<a name="missile"></a>
<h3>(missile tag 'value ... )</h3>
This function will define a mid-game missile, and it is mostly used in
savegames.
<dl>
-<dt>type</dt>
+<dt>type
+
<dd>The type of the missile. Declared with
-<a href=#define-missile-type>(define-missile-type)</a>
-</dd>
-<dt>pos</dt>
-<dd>The current position of the missile. It's list of and y values.
Coordinates are
-in pixels, not tiles. F.E 'pos (4500 3450)
-</dd>
-<dt>origin-pos</dt>
-<dd>The starting position of the missile. It's list of and y values.
Coordinates are
-in pixels, not tiles. F.E 'pos (4505 3455)
-</dd>
-<dt>goal</dt>
-<dd>The position of the missile's destination. It's list of and y values.
Coordinates are
-in pixels, not tiles. F.E 'gold (4510 3460)
-</dd>
-<dt>local</dt>
-<dd>This unit is marked as local, and it's visible only to the player. This
-is used for instance for cursor marks on the map. Either local or global must
be specified.
-</dd>
-<dt>global</dt>
-<dd>This unit is marked as global, and it's visible to all players. Either
-local or global must be specified.
-</dd>
-<dt>frame</dt>
+<A href="#define-missile-type" >(define-missile-type)</a>
+<dt>pos
+
+<dd>The current position of the missile. It's list of and
+ y values. Coordinates are in pixels, not tiles. F.E 'pos (4500 3450)
+
+<dt>origin-pos
+
+<dd>The starting position of the missile. It's list of
+ and y values. Coordinates are in pixels, not tiles. F.E 'pos (4505 3455)
+
+<dt>goal
+
+<dd>The position of the missile's destination. It's list
+ of and y values. Coordinates are in pixels, not tiles. F.E 'gold (4510 3460)
+
+<dt>local
+
+<dd>This unit is marked as local, and it's visible only
+ to the player. This is used for instance for cursor marks on the map. Either
+ local or global must be specified.
+
+<dt>global
+
+<dd>This unit is marked as global, and it's visible to
+ all players. Either local or global must be specified.
+
+<dt>frame
+
<dd>Current sprite frame of the missile. The range is from 0 to the
-<a href="#FRAMES-Define-missile-type">type:frames</a>-1
-The topmost bit (128) is used as flag to mirror the sprites in the X direction.
-</dd>
-<dt>state</dt>
-<dd>Current state of the missile. Used for a simple state machine, dependand
on
-the missile class.
-</dd>
-<dt>wait</dt>
-<dd>Wait this number of game cycles until the next state or animation of this
-missile is handled. This counts down from type:sleep to 0.
-</dd>
-<dt>delay</dt>
+<A href="#FRAMES-Define-missile-type">type:frames</a>-1 The topmost bit
+ (128) is used as flag to mirror the sprites in the X direction.
+
+<dt>state
+
+<dd>Current state of the missile. Used for a simple state
+ machine, dependand on the missile class.
+
+<dt>wait
+
+<dd>Wait this number of game cycles until the next state
+ or animation of this missile is handled. This counts down from type:sleep to
+ 0.
+
+<dt>delay
+
<dd>Number of game cycles left until the missile is first shown on the map.
-Please see <a href="#delay-define-missile-type">delay in
(define-missile-type)</a>
-</dd>
+Please see <A href="#delay-define-missile-type">delay in
(define-missile-type)</a>
<dt>source<dt>
-<dd>Number of the owner of the missile. Normally the one who fired the missile.
-Used to check units, to prevent hitting the owner. Also used for kill and
-experience points, and for giving the owning player score.
-</dd>
+<dd>Number of the owner of the missile. Normally the one
+ who fired the missile. Used to check units, to prevent hitting the owner.
Also
+ used for kill and experience points, and for giving the owning player score.
+
<dt>target<dt>
-<dd>Number of the missile's target. Normally the unit which should be
-hit by the missile.
-</dd>
+<dd>Number of the missile's target. Normally the unit
+ which should be hit by the missile.
+
<dt>damage<dt>
-<dd>Damage done by missile. Units next to it can receive some reduced splash
-damage, this is the full damage.
-</dd>
-<dt>ttl</dt>
-<dd>Time to live in game cycles of the missile, if it reaches zero
-the missile is automatically removed from the map. If -1 the
-missile lives for ever and the lifetime is handled by other means.
-</dd>
-<dt>hidden</dt>
-<dd>This marks the unit as hidden, until the unit is shown again in the
-controlling function. No parameters.
-</dd>
+<dd>Damage done by missile. Units next to it can receive
+ some reduced splash damage, this is the full damage.
+
+<dt>ttl
+
+<dd>Time to live in game cycles of the missile, if it
+ reaches zero the missile is automatically removed from the map. If -1 the
+ missile lives for ever and the lifetime is handled by other means.
+
+<dt>hidden
+
+<dd>This marks the unit as hidden, until the unit is
+ shown again in the controlling function. No parameters.
+ <DT>transparency
+ <DD>Draws the missile with a XX% transparency. Current supported value is 50
+ only.</DD>
</dl>
<h4>Example</h4>
-<pre>
- (missile 'type-fireball 'pos '(10 10) 'goal '(10 50)
- 'global 'state 0 'wait 5 'damage 5000 'source 45 'ttl -1)
+<pre> (missile 'type-fireball
+ 'pos '(10 10) 'goal '(10 50) 'global 'state
+ 0 'wait 5 'damage 5000 'source 45 'ttl -1 'transparency 50)
</pre>
<h4>Used</h4>
-<a href="../../data/ccl/wc2.ccl"> $LIBARYPATH/ccl/wc2.ccl </a>
+<A href="../../data/ccl/wc2.ccl"> $LIBARYPATH/ccl/wc2.ccl </a>
<hr>
-Last changed: $Id: magic.html,v 1.9 2003/12/11 06:37:55 wizzard Exp $<br>
+Last changed: $Id: magic.html,v 1.10 2003/12/13 16:12:38 mohydine Exp $<br>
All trademarks and copyrights on this page are owned by their respective
owners.
<address>(c) 2002-2003 by <a href="http://stratagus.org">
The Stratagus Project</a></address></body></html>
Index: stratagus/doc/ccl/ui.html
diff -u stratagus/doc/ccl/ui.html:1.19 stratagus/doc/ccl/ui.html:1.20
--- stratagus/doc/ccl/ui.html:1.19 Wed Oct 8 00:34:32 2003
+++ stratagus/doc/ccl/ui.html Sun Dec 14 03:12:38 2003
@@ -25,40 +25,40 @@
</head>
<body>
<h1>Stratagus Configuration Language Description: User Interface (UI)</h1>
-<hr><pre width=80>
- _________ __ __
- / _____// |_____________ _/ |______ ____ __ __ ______
- \_____ \\ __\_ __ \__ \\ __\__ \ / ___\| | \/ ___/
- / \| | | | \// __ \| | / __ \_/ /_/ > | /\___ \
- /_______ /|__| |__| (____ /__| (____ /\___ /|____//____ >
+<hr><pre width=80> _________ __
+ __ / _____//
+ |_____________ _/ |______ ____ __ __ ______ \_____ \\
+ __\_ __ \__ \\ __\__ \ / ___\| | \/ ___/ / \|
+ | | | \// __ \| | / __ \_/ /_/ > | /\___ \ /_______
+ /|__| |__| (____ /__| (____ /\___ /|____//____ >
\/ \/ \//_____/ \/
______________________ ______________________
T H E W A R B E G I N S
Stratagus - A free fantasy real time strategy game engine
</pre>
<p><b>(C) Copyright 2002-2003 by The Stratagus Project. Distributed under the
-<a href="../gpl.html">"GNU General Public License"</a></b>
+<A href="../gpl.html">"GNU General Public License"</a></b>
<hr>
-<a href="../stratagus.html">Stratagus</a>
-<a href="../readme.html">Readme</a>
-<a href="../faq.html">FAQ</a>
-<a href="ccl.html">CCL</a>
-<a href="triggers.html">PREV</a>
-<a href="unittype.html">NEXT</a>
-<a href="ccl-index.html">Index</a>
+<A href="../stratagus.html">Stratagus</a>
+<A href="../readme.html">Readme</a>
+<A href="../faq.html">FAQ</a>
+<A href="ccl.html">CCL</a>
+<A href="triggers.html">PREV</a>
+<A href="unittype.html">NEXT</a>
+<A href="ccl-index.html">Index</a>
<hr>
-<a href="#define-button">define-button</a>
-<a href="#define-cursor">define-cursor</a>
-<a href="#define-font">define-font</a>
-<a href="#define-font-colors">define-font-colors</a>
-<a href="#define-menu">define-menu</a>
-<a href="#define-menu-graphics">define-menu-graphics</a>
-<a href="#define-menu-item">define-menu-item</a>
-<a href="#define-ui">define-ui</a>
-<a href="#define-viewports">define-viewports</a>
-<a href="#display-picture">display-picture</a>
-<a href="#process-menu">process-menu</a>
-<a href="#set-game-cursor!">set-game-cursor!</a>
+<A href="#define-button">define-button</a>
+<A href="#define-cursor">define-cursor</a>
+<A href="#define-font">define-font</a>
+<A href="#define-font-colors">define-font-colors</a>
+<A href="#define-menu">define-menu</a>
+<A href="#define-menu-graphics">define-menu-graphics</a>
+<A href="#define-menu-item">define-menu-item</a>
+<A href="#define-ui">define-ui</a>
+<A href="#define-viewports">define-viewports</a>
+<A href="#display-picture">display-picture</a>
+<A href="#process-menu">process-menu</a>
+<A href="#set-game-cursor!">set-game-cursor!</a>
<hr>
<h2>Intro - Introduction to UI functions and variables</h2>
@@ -70,45 +70,57 @@
Define a button in the button panel show during the game. Possible tags:
<dl>
-<dt>forunit</dt>
-<dd>List of units the button applies to, or '(*) for all units.
-</dd>
-<dt>pos</dt>
+<dt>forunit
+
+<dd>List of units the button applies to, or '(*) for all
+ units.
+
+<dt>pos
+
<dd>Position number.
<pre>
0 1 2
3 4 5
6 7 8
</pre>
-</dd>
-<dt>level</dt>
-<dd>Visible when in this button level (0 default, 9 cancel-only)
-</dd>
-<dt>icon</dt>
-<dd>Name of the icon to display.
-</dd>
-<dt>action</dt>
-<dd>Action to perform when the button is clicked. Can be any of the following:
-move, stop, attack, repair, harvest, button, build, train-unit, patrol,
-stand-ground, attack-ground, return-goods, demolish, cast-spell, research,
-upgrade-to, unload, cancel, cancel-upgrade, cancel-train-unit, cancel-build.
-</dd>
-<dt>value</dt>
-<dd>Optional value associated with the action.
-</dd>
-<dt>allowed</dt>
-<dd>Optional check to see if a button is allowed. Can be any of the following:
-check-true, check-false, check-upgrade, check-units-or, check-units-and,
-check-network, check-no-work, check-no-research, check-attack,
-check-upgrade-to, check-research, check-single-research.
-</dd>
-<dt>allowarg</dt>
-<dd>Optional argument used by the allowed function.
-</dd>
-<dt>key</dt>
-<dd>Shortcut key for the button.
-</dd>
-<dt>hint</dt>
+<dt>level
+
+<dd>Visible when in this button level (0 default, 9
+ cancel-only)
+
+<dt>icon
+
+<dd>Name of the icon to display.
+
+<dt>action
+
+<dd>Action to perform when the button is clicked. Can be
+ any of the following: move, stop, attack, repair, harvest, button, build,
+ train-unit, patrol, stand-ground, attack-ground, return-goods, demolish,
+ cast-spell, research, upgrade-to, unload, cancel, cancel-upgrade,
+ cancel-train-unit, cancel-build.
+
+<dt>value
+
+<dd>Optional value associated with the action.
+
+<dt>allowed
+
+<dd>Optional check to see if a button is allowed. Can be
+ any of the following: check-true, check-false, check-upgrade,
check-units-or,
+ check-units-and, check-network, check-no-work, check-no-research,
+ check-attack, check-upgrade-to, check-research, check-single-research.
+
+<dt>allowarg
+
+<dd>Optional argument used by the allowed function.
+
+<dt>key
+
+<dd>Shortcut key for the button.
+
+<dt>hint
+
<dd>Hint to be displayed for the button.
</dd>
</dl>
@@ -128,28 +140,35 @@
Define a cursor.
<dl>
-<dt>ident</dt>
-<dd>Unique identifier of the cursor, used to reference it in config files and
-during startup.
-</dd>
-<dt>race</dt>
+<dt>ident
+
+<dd>Unique identifier of the cursor, used to reference it
+ in config files and during startup.
+
+<dt>race
+
<dd>Race to use this cursor with or "any" to use with any race.
</dd>
</dl>
Possible tags:
<dl>
-<dt>image</dt>
-<dd>Path to the image graphic.
-</dd>
-<dt>hot-spot</dt>
-<dd>Hot spot of the cursor in pixels, in the form '(x y). Relative to the
sprite origin (0,0). The
-hot spot of a cursor is the point to which Stratagus refers in tracking the
-cursor's position.
-</dd>
-<dt>size</dt>
-<dd>Size of the cursor in pixels, in the form '(width height).
-</dd>
-<dt>rate</dt>
+<dt>image
+
+<dd>Path to the image graphic.
+
+<dt>hot-spot
+
+<dd>Hot spot of the cursor in pixels, in the form '(x y).
+ Relative to the sprite origin (0,0). The hot spot of a cursor is the point
to
+ which Stratagus refers in tracking the cursor's position.
+
+<dt>size
+
+<dd>Size of the cursor in pixels, in the form '(width
+ height).
+
+<dt>rate
+
<dd>Rate of changing the frames if using an animated cursor. The "rate" tells
the engine how many milliseconds to hold each frame of the animation.
</dd>
@@ -169,14 +188,18 @@
Define a font.
<dl>
-<dt>type</dt>
-<dd>Type of font. Supported types are: 'game, 'small, 'large, 'small-title,
-and 'large-title.
-</dd>
-<dt>file</dt>
-<dd>File name for font file. Currently only multicolor bitmap fonts supported.
-</dd>
-<dt>size</dt>
+<dt>type
+
+<dd>Type of font. Supported types are: 'game, 'small,
+ 'large, 'small-title, and 'large-title.
+
+<dt>file
+
+<dd>File name for font file. Currently only multicolor
+ bitmap fonts supported.
+
+<dt>size
+
<dd>Font size width and height.
</dd>
</dl>
@@ -195,10 +218,12 @@
What's the relation with the palette?
<dl>
-<dt>color</dt>
-<dd>Name of the color.
-</dd>
-<dt>array</dt>
+<dt>color
+
+<dd>Name of the color.
+
+<dt>array
+
<dd>Name of the color.
Array of 7 rgb colors #( r1 g1 b1 r2 g2 b2 ...)<br>
The colors are:
@@ -212,8 +237,8 @@
<tr><td>#6 </td><td>is the light shadow color</td></tr>
<tr><td>#255 </td><td>is transparent</td></tr>
</table>
+ <UL></UL>
</dd>
-</ul>
</dl>
<h4>Example</h4>
@@ -236,19 +261,25 @@
Possible tags:
<dl>
-<dt>geometry</dt>
-<dd>'(x y width height)
-</dd>
-<dt>name</dt>
-<dd>Name of this menu.
-</dd>
-<dt>panel</dt>
-<dd>Panel name (FIXME: how is it used?), or 'none.
-</dd>
-<dt>default</dt>
-<dd>An integer. FIXME: what for? Default button, or what?
-</dd>
-<dt>netaction</dt>
+<dt>geometry
+
+<dd>'(x y width height)
+
+<dt>name
+
+<dd>Name of this menu.
+
+<dt>panel
+
+<dd>Panel name (FIXME: how is it used?), or 'none.
+
+<dt>default
+
+<dd>An integer. FIXME: what for? Default button, or what?
+
+
+<dt>netaction
+
<dd>Eg. 'terminate-net-connect.
</dd>
</dl>
@@ -265,10 +296,12 @@
Define the menu graphics for each of the races.
<dl>
-<dt>filename</dt>
-<dd>Path to the file containing the menu graphics.
-</dd>
-<dt>w, h</dt>
+<dt>filename
+
+<dd>Path to the file containing the menu graphics.
+
+<dt>w, h
+
<dd>Width and height of an image in the menu graphic.
</dd>
</dl>
@@ -290,7 +323,7 @@
<pre>
(define-menu-item 'pos (list 16 (- 288 40)) 'font 'large
'button '(size (224 27)
- caption "Return to Game (~<Esc~>)"
+ caption "Return to Game (~<ESC~>)"
hotkey "esc"
func game-menu-return
style gm-full)
@@ -300,53 +333,64 @@
Possible tags:
<dl>
-<dt>pos</dt>
-<dd>Position, in the form '(x y).
-</dd>
-<dt>menu</dt>
-<dd>Menu this item belogs to.
-</dd>
-<dt>flags</dt>
-<dd>Most likely '(disabled).
-Other possibilities: '(active), '(clicked), '(selected).
-FIXME: are the paranthesis really needed?
-</dd>
-<dt>font</dt>
-<dd>Font name (see <a href="#define-font">define-font</a>).
-</dd>
-<dt>init</dt>
-<dd>Init function (there are a couple of
-hardcoded C funtions allowed, like 'save-replay-init or
-'scen-select-init).
-</dd>
-<dt>exit</dt>
-<dd>Exit funtion (again some C functions like 'speed-options-exit or
-'load-game-exit).
-</dd>
-<dt>text</dt>
+ <DT>transparent
+ <DD>Draw the item with a 50% transparency.
+ <DT>pos </DT>
+<dd>Position, in the form '(x y).
+
+<dt>menu
+
+<dd>Menu this item belogs to.
+
+<dt>flags
+
+<dd>Most likely '(disabled). Other possibilities:
+ '(active), '(clicked), '(selected). FIXME: are the paranthesis really
needed?
+
+<dt>font
+
+<dd>Font name (see <A href="#define-font">define-font</a>).
+
+<dt>init
+
+<dd>Init function (there are a couple of hardcoded C
+ funtions allowed, like 'save-replay-init or 'scen-select-init).
+
+<dt>exit
+
+<dd>Exit funtion (again some C functions like
+ 'speed-options-exit or 'load-game-exit).
+
+<dt>text
+
<dd>The item is a text label. The value is a list of tags, for example:
<pre>
'text '(caption "Connecting to server" align center)
</pre>Allowed tags:
<dl>
- <dt>align</dt>
- <dd>Left, right or center.
- </dd>
- <dt>caption</dt>
- <dd>The text.
- </dd>
- <dt>func</dt>
- <dd>C handler. FIXME: when called?
- </dd>
- <dt>color-normal</dt>
- <dd>FIXME.
- </dd>
- <dt>color-reverse</dt>
+ <dt>align
+
+ <dd>Left, right or center.
+
+ <dt>caption
+
+ <dd>The text.
+
+ <dt>func
+
+ <dd>C handler. FIXME: when called?
+
+ <dt>color-normal
+
+ <dd>FIXME.
+
+ <dt>color-reverse
+
<dd>FIXME.
</dd>
</dl>
-</dd>
-<dt>button</dt>
+<dt>button
+
<dd>The item is a button. The value is a list of tags like
<pre>
'button '(size (224 27)
@@ -358,16 +402,20 @@
Allowed tags: align, caption, color-normal, color-reverse (see above)
and:
<dl>
- <dt>size</dt>
- <dd>Dimensions (width height).
- </dd>
- <dt>func</dt>
- <dd>C handler. FIXME: when called?
- </dd>
- <dt>hotkey</dt>
- <dd>A string like "f8".
- </dd>
- <dt>style</dt>
+ <dt>size
+
+ <dd>Dimensions (width height).
+
+ <dt>func
+
+ <dd>C handler. FIXME: when called?
+
+ <dt>hotkey
+
+ <dd>A string like "f8".
+
+ <dt>style
+
<dd>Complete list of possible styles (not all for buttons):<br>
main, network, gm-half, 132, gm-full, gem-round, gem-square,
up-arrow, down-arrow, left-arrow, right-arrow, s-knob, s-vcont,
@@ -379,8 +427,8 @@
FIXME: describe them
</dd>
</dl>
-</dd>
-<dt>gem</dt>
+<dt>gem
+
<dd>The item is a gem.
Example:
<pre>
@@ -393,12 +441,13 @@
Allowed tags: size func style text color-normal color-reverse (see
above) and:
<dl>
- <dt>state</dt>
+ <dt>state
+
<dd>One of unchecked, passive, invisible or checked.
</dd>
</dl>
-</dd>
-<dt>pulldown</dt>
+<dt>pulldown
+
<dd>The item is a pulldown menu.
Example:
<pre>
@@ -411,24 +460,30 @@
</pre>
Allowed tags: size state default current (see above) and:
<dl>
- <dt>options</dt>
- <dd>A list of strings to select from.
- </dd>
- <dt>func</dt>
- <dd>C handler. FIXME: when called?
- </dd>
- <dt>state</dt>
- <dd>The only possible value: passive
- </dd>
- <dt>default</dt>
- <dd>An integer for the default selection id, starting with 0.
- </dd>
- <dt>current</dt>
+ <dt>options
+
+ <dd>A list of strings to select from.
+
+ <dt>func
+
+ <dd>C handler. FIXME: when called?
+
+ <dt>state
+
+ <dd>The only possible value: passive
+
+ <dt>default
+
+ <dd>An integer for the default selection id, starting
+ with 0.
+
+ <dt>current
+
<dd>An integer for the current selection id, starting with 0.
</dd>
</dl>
-</dd>
-<dt>listbox</dt>
+<dt>listbox
+
<dd>The item is a list box.
Example:
<pre>
@@ -442,24 +497,31 @@
Allowed tags: size style default current color-normal color-reverse
(see above) and:
<dl>
- <dt>func</dt>
- <dd>C handler. FIXME: when called?
- </dd>
- <dt>handler</dt>
- <dd>C handler. FIXME: when is it called?
- </dd>
- <dt>retopt</dt>
- <dd>C handler to retrieve the list of options, I guess.
- </dd>
- <dt>startline</dt>
- <dd>For scrolling, I guess. Probably only used in savegames.
- </dd>
- <dt>nlines</dt>
+ <dt>func
+
+ <dd>C handler. FIXME: when called?
+
+ <dt>handler
+
+ <dd>C handler. FIXME: when is it called?
+
+ <dt>retopt
+
+ <dd>C handler to retrieve the list of options, I guess.
+
+
+ <dt>startline
+
+ <dd>For scrolling, I guess. Probably only used in
+ savegames.
+
+ <dt>nlines
+
<dd>Number of lines.
</dd>
</dl>
-</dd>
-<dt>vslider</dt>
+<dt>vslider
+
<dd>The item is a vertical slider.
Example:
<pre>
@@ -469,24 +531,31 @@
</pre>
Allowed tags: size default current style (see above) and:
<dl>
- <dt>func</dt>
- <dd>C handler. FIXME: when is it called?
- </dd>
- <dt>handler</dt>
- <dd>C handler. FIXME: when is it called?
- </dd>
- <dt>flags</dt>
- <dd>FIXME: never seen this used. Possible values: up, down, left, right,
knob, cont
- </dd>
- <dt>startline</dt>
- <dd>For scrolling, I guess. Probably only used in savegames.
- </dd>
- <dt>nlines</dt>
+ <dt>func
+
+ <dd>C handler. FIXME: when is it called?
+
+ <dt>handler
+
+ <dd>C handler. FIXME: when is it called?
+
+ <dt>flags
+
+ <dd>FIXME: never seen this used. Possible values: up,
+ down, left, right, knob, cont
+
+ <dt>startline
+
+ <dd>For scrolling, I guess. Probably only used in
+ savegames.
+
+ <dt>nlines
+
<dd>Number of lines.
</dd>
</dl>
-</dd>
-<dt>hslider</dt>
+<dt>hslider
+
<dd>The item is a horizontal slider. See vslider above.
Example:
<pre>
@@ -494,8 +563,8 @@
func master-volume-hs-action
handler scen-select-ok)
</pre>
-</dd>
-<dt>drawfunc</dt>
+<dt>drawfunc
+
<dd>The item is drawn from a C function. The value is the name of the
function.
Example:
@@ -504,8 +573,8 @@
'drawfunc 'game-draw-func
'menu 'menu-custom-game)
</pre>
-</dd>
-<dt>input</dt>
+<dt>input
+
<dd>The item is a text input field.
Example:
<pre>
@@ -516,10 +585,13 @@
Allowed tags: size func style color-normal color-reverse (see above)
and:
<dl>
- <dt>maxch</dt>
- <dd>Maximal number of characters. FIXME: never seen this used.
- </dd>
- <dt>func</dt>
+ <dt>maxch
+
+ <dd>Maximal number of characters. FIXME: never seen
+ this used.
+
+ <dt>func
+
<dd>C handler, seems to be called when a key is pressed and
just checks whether it is RETURN.
</dd>
@@ -577,39 +649,40 @@
All of those tags should be given:
<dl>
-<dt>normal-font-color</dt>
+<dt>normal-font-color
+
<dd>
<pre>
'normal-font-color (if (= race 'alliance) 'white 'yellow)
</pre>
-</dd>
-<dt>reverse-font-color</dt>
+<dt>reverse-font-color
+
<dd>
<pre>
'reverse-font-color (if (= race 'alliance) 'yellow 'white)
</pre>
-</dd>
-<dt>filler</dt>
+<dt>filler
+
<dd>
<pre>
- 'filler (list
- 'file (string-append "graphics/ui/" race "/"
- (number->string screen_width) "x" (number->string screen_height)
+
+ 'filler (list 'file (string-append "graphics/ui/"
+ race"/" (number->string screen_width) "x"(number->string
screen_height)
"/filler1.png")
'pos (list fillerx fillery))
</pre>
-</dd>
-<dt>resource-line</dt>
+<dt>resource-line
+
<dd>
<pre>
- 'resource-line (list
- (string-append "graphics/ui/" race "/"
- (number->string screen_width) "x" (number->string screen_height)
+
+ 'resource-line (list (string-append "graphics/ui/"
+ race"/" (number->string screen_width) "x"(number->string
screen_height)
"/resource.png")
0 0)
</pre>
-</dd>
-<dt>resources</dt>
+<dt>resources
+
<dd>
<pre>
'resources (list
@@ -620,16 +693,16 @@
'score (list 'file "graphics/ui/score.png" 'row 0
'pos (list (- screen_width 16 68) 0) 'size '(14 14) 'text-pos (list (+
(- screen_width 16 68) 18) 1)))
</pre>
-</dd>
-<dt>info-panel</dt>
+<dt>info-panel
+
<dd>
<pre>
'info-panel (list
(string-append "graphics/ui/" race "/infopanel.png")
infox infoy 176 176)
</pre>
-</dd>
-<dt>completed-bar</dt>
+<dt>completed-bar
+
<dd>
<pre>
'completed-bar (list
@@ -640,32 +713,32 @@
'font 'game
'text-pos (list (+ infox 14 38) (+ infoy 151)))
</pre>
-</dd>
-<dt>button-panel</dt>
+<dt>button-panel
+
<dd>
<pre>
'button-panel (list
(string-append "graphics/ui/" race "/buttonpanel.png")
buttonx buttony)
</pre>
-</dd>
-<dt>map-area</dt>
+<dt>map-area
+
<dd>
<pre>
'map-area (list
'pos '(0 16)
'size (list mapw maph))
</pre>
-</dd>
-<dt>menu-panel</dt>
+<dt>menu-panel
+
<dd>
<pre>
'menu-panel (list
(string-append "graphics/ui/" race "/menubutton.png")
minimapx (+ minimapy 148))
</pre>
-</dd>
-<dt>minimap</dt>
+<dt>minimap
+
<dd>
There is a minimap panel an the minimap on it. The panel graphic has
certain palette restrictions (FIXME: exactly? probably the same as the
@@ -680,20 +753,20 @@
'size '(128 128)
'transparent)
</pre>
-</dd>
-<dt>status-line</dt>
+<dt>status-line
+
<dd>
<pre>
- 'status-line (list
- 'file (string-append "graphics/ui/" race "/"
- (number->string screen_width) "x" (number->string screen_height)
+
+ 'status-line (list 'file (string-append "graphics/ui/"
+ race"/" (number->string screen_width) "x"(number->string
screen_height)
"/statusline.png")
'pos (list statusx statusy)
'text-pos (list (+ statusx 6) (+ statusy 2))
'font 'game)
</pre>
-</dd>
-<dt>menu-button</dt>
+<dt>menu-button
+
<dd>
<pre>
'menu-button (list
@@ -702,8 +775,8 @@
'caption "Menu (~<F10~>)"
'style 'main)
</pre>
-</dd>
-<dt>network-menu-button</dt>
+<dt>network-menu-button
+
<dd>
<pre>
'network-menu-button '(
@@ -712,8 +785,8 @@
caption "Menu"
style network)
</pre>
-</dd>
-<dt>network-diplomacy-button</dt>
+<dt>network-diplomacy-button
+
<dd>
<pre>
'network-diplomacy-button '(
@@ -722,8 +795,8 @@
caption "Diplomacy"
style network)
</pre>
-</dd>
-<dt>info-buttons</dt>
+<dt>info-buttons
+
<dd>Position of the unit icons on the info panel. Example:
<pre>
'info-buttons (list
@@ -737,18 +810,20 @@
(list 'pos (list (+ infox 65) (+ infoy 116)) 'size '(46 38))
(list 'pos (list (+ infox 121) (+ infoy 116)) 'size '(46 38)))
</pre>
-</dd>
-<dt>training-buttons</dt>
-<dd>Position of the unit icons in the training queue. Should be the
-same positions as info-buttons above but without the last
-three. (FIXME: is this a requirement?)
-</dd>
-<dt>button-buttons</dt>
-<dd>Position of the action buttons (attack, move, etc.). Currently
-there must be nine of them, and they must be on the button panel. Same
-syntax as above.
-</dd>
-<dt>cursors</dt>
+<dt>training-buttons
+
+<dd>Position of the unit icons in the training queue.
+ Should be the same positions as info-buttons above but without the last
three.
+ (FIXME: is this a requirement?)
+
+<dt>button-buttons
+
+<dd>Position of the action buttons (attack, move, etc.).
+ Currently there must be nine of them, and they must be on the button panel.
+ Same syntax as above.
+
+<dt>cursors
+
<dd>
<pre>
'cursors '(
@@ -768,8 +843,8 @@
arrow-s cursor-arrow-s
arrow-se cursor-arrow-se)
</pre>
-</dd>
-<dt>menu-panels</dt>
+<dt>menu-panels
+
<dd>FIXME: this really needs docu or change, if you dig out the
requirement of the pictures, write them down here. Example:
<pre>
@@ -780,14 +855,14 @@
'panel4 (string-append "graphics/ui/" race "/panel_4.png")
'panel5 (string-append "graphics/ui/" race "/panel_5.png"))
</pre>
-</dd>
-<dt>victory-background</dt>
+<dt>victory-background
+
<dd>Background image for the victory screen. The image will be scaled. Example:
<pre>
'victory-background (string-append "graphics/ui/" race "/victory.png")
</pre>
-</dd>
-<dt>defeat-background</dt>
+<dt>defeat-background
+
<dd>Background image for the victory screen. The image will be scaled. Example:
<pre>
'defeat-background (string-append "graphics/ui/" race "/defeat.png")
@@ -802,13 +877,17 @@
scenarios.
<dl>
-<dt>mode</dt>
-<dd>Number corresponding to the viewport mode. See the ViewportMode enum.
-</dd>
-<dt>mapx</dt>
-<dd>X coordinate of the map tile.
-</dd>
-<dt>mapy</dt>
+<dt>mode
+
+<dd>Number corresponding to the viewport mode. See the
+ ViewportMode enum.
+
+<dt>mapx
+
+<dd>X coordinate of the map tile.
+
+<dt>mapy
+
<dd>Y coordinate of the map tile.
</dd>
</dl>
@@ -832,7 +911,8 @@
<dl>
-<dt>file</dt>
+<dt>file
+
<dd>Path to the image graphic.
</dd>
</dl>
@@ -853,7 +933,8 @@
<dl>
-<dt>id</dt>
+<dt>id
+
<dd>ID of the menu.
</dd>
</dl>
@@ -874,7 +955,8 @@
<dl>
-<dt>ident</dt>
+<dt>ident
+
<dd>Unique identifier of the cursor.
</dd>
</dl>
@@ -889,7 +971,7 @@
<h4>Not Used</h4>
<hr>
-Last changed: $Id: ui.html,v 1.19 2003/10/07 14:34:32 martinxyz Exp $<br>
+Last changed: $Id: ui.html,v 1.20 2003/12/13 16:12:38 mohydine Exp $<br>
All trademarks and copyrights on this page are owned by their respective
owners.
<address>(c) 2002-2003 by <a href="http://stratagus.org">
The Stratagus Project</a></address></body></html>
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Stratagus-CVS] stratagus/doc/ccl magic.html ui.html,
address@hidden <=